ZGlmZiAtLWdpdCBhL0luYy9MZWdhY3kvc3RtMzJfaGFsX2xlZ2FjeS5oIGIvSW5jL0xlZ2FjeS9zdG0zMl9oYWxfbGVnYWN5LmgKaW5kZXggYWU4MzM3OC4uMWNmZDE5YiAxMDA2NDQKLS0tIGEvSW5jL0xlZ2FjeS9zdG0zMl9oYWxfbGVnYWN5LmgKKysrIGIvSW5jL0xlZ2FjeS9zdG0zMl9oYWxfbGVnYWN5LmgKQEAgLTcsMTMgKzcsMTIgQEAKICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICogQGF0dGVudGlvbgogICAqCi0gICogPGgyPjxjZW50ZXI+JmNvcHk7IENvcHlyaWdodCAoYykgMjAxOSBTVE1pY3JvZWxlY3Ryb25pY3MuCi0gICogQWxsIHJpZ2h0cyByZXNlcnZlZC48L2NlbnRlcj48L2gyPgorICAqIENvcHlyaWdodCAoYykgMjAyMSBTVE1pY3JvZWxlY3Ryb25pY3MuCisgICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgKgotICAqIFRoaXMgc29mdHdhcmUgY29tcG9uZW50IGlzIGxpY2Vuc2VkIGJ5IFNUIHVuZGVyIEJTRCAzLUNsYXVzZSBsaWNlbnNlLAotICAqIHRoZSAiTGljZW5zZSI7IFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUKLSAgKiBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQ6Ci0gICogICAgICAgICAgICAgICAgICAgICAgICBvcGVuc291cmNlLm9yZy9saWNlbnNlcy9CU0QtMy1DbGF1c2UKKyAgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIHVuZGVyIHRlcm1zIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUKKyAgKiBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb2Z0d2FyZSBjb21wb25lbnQuCisgICogSWYgbm8gTElDRU5TRSBmaWxlIGNvbWVzIHdpdGggdGhpcyBzb2Z0d2FyZSwgaXQgaXMgcHJvdmlkZWQgQVMtSVMuCiAgICoKICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICovCkBAIC0xMDUsNiArMTA0LDEyIEBACiAjaWYgZGVmaW5lZChTVE0zMkg3KQogI2RlZmluZSBBRENfQ0hBTk5FTF9WQkFUX0RJVjQgICAgICAgICAgIEFEQ19DSEFOTkVMX1ZCQVQKICNlbmRpZiAvKiBTVE0zMkg3ICovCisKKyNpZiBkZWZpbmVkKFNUTTMyVTUpCisjZGVmaW5lIEFEQ19TQU1QTEVUSU1FXzVDWUNMRSAgICAgICAgICAgQURDX1NBTVBMRVRJTUVfNUNZQ0xFUworI2RlZmluZSBBRENfU0FNUExFVElNRV8zOTFDWUNMRVNfNSAgICAgIEFEQ19TQU1QTEVUSU1FXzM5MUNZQ0xFUworI2RlZmluZSBBREM0X1NBTVBMRVRJTUVfMTYwQ1lDTEVTXzUgICAgIEFEQzRfU0FNUExFVElNRV84MTRDWUNMRVNfNQorI2VuZGlmIC8qIFNUTTMyVTUgKi8KIC8qKgogICAqIEB9CiAgICovCkBAIC0yMTQsMTAgKzIxOSwyMCBAQAogICAqIEB7CiAgICovCiAjZGVmaW5lIF9fSEFMX0NPUlRFWF9TWVNUSUNLQ0xLX0NPTkZJRyBIQUxfU1lTVElDS19DTEtTb3VyY2VDb25maWcKKyNpZiBkZWZpbmVkKFNUTTMyVTUpCisjZGVmaW5lICBNUFVfREVWSUNFX25HblJuRSAgICAgICAgICBNUFVfREVWSUNFX05HTlJORQorI2RlZmluZSAgTVBVX0RFVklDRV9uR25SRSAgICAgICAgICAgTVBVX0RFVklDRV9OR05SRQorI2RlZmluZSAgTVBVX0RFVklDRV9uR1JFICAgICAgICAgICAgTVBVX0RFVklDRV9OR1JFCisjZW5kaWYgLyogU1RNMzJVNSAqLwogLyoqCiAgICogQH0KICAgKi8KIAorLyoqIEBkZWZncm91cCBDUkNfQWxpYXNlcyBDUkMgQVBJIGFsaWFzZXMKKyAgKiBAeworICAqLworI2RlZmluZSBIQUxfQ1JDX0lucHV0X0RhdGFfUmV2ZXJzZSAgIEhBTF9DUkNFeF9JbnB1dF9EYXRhX1JldmVyc2UgICAgLyohPCBBbGlhc2VkIHRvIEhBTF9DUkNFeF9JbnB1dF9EYXRhX1JldmVyc2UgZm9yIGludGVyIFNUTTMyIHNlcmllcyBjb21wYXRpYmlsaXR5ICAqLworI2RlZmluZSBIQUxfQ1JDX091dHB1dF9EYXRhX1JldmVyc2UgIEhBTF9DUkNFeF9PdXRwdXRfRGF0YV9SZXZlcnNlICAgLyohPCBBbGlhc2VkIHRvIEhBTF9DUkNFeF9PdXRwdXRfRGF0YV9SZXZlcnNlIGZvciBpbnRlciBTVE0zMiBzZXJpZXMgY29tcGF0aWJpbGl0eSAqLwogLyoqCiAgICogQH0KICAgKi8KQEAgLTI1Miw2ICsyNjcsMTMgQEAKICNkZWZpbmUgREFDX0NISVBDT05ORUNUX0VOQUJMRSAgICAgICAgREFDX0NISVBDT05ORUNUX0lOVEVSTkFMCiAjZW5kaWYKIAorI2lmIGRlZmluZWQoU1RNMzJVNSkKKyNkZWZpbmUgREFDX1RSSUdHRVJfU1RPUF9MUFRJTTFfT1VUICBEQUNfVFJJR0dFUl9TVE9QX0xQVElNMV9DSDEKKyNkZWZpbmUgREFDX1RSSUdHRVJfU1RPUF9MUFRJTTNfT1VUICBEQUNfVFJJR0dFUl9TVE9QX0xQVElNM19DSDEKKyNkZWZpbmUgREFDX1RSSUdHRVJfTFBUSU0xX09VVCAgICAgICBEQUNfVFJJR0dFUl9MUFRJTTFfQ0gxCisjZGVmaW5lIERBQ19UUklHR0VSX0xQVElNM19PVVQgICAgICAgREFDX1RSSUdHRVJfTFBUSU0zX0NIMQorI2VuZGlmCisKICNpZiBkZWZpbmVkKFNUTTMyTDEpIHx8IGRlZmluZWQoU1RNMzJMNCkgfHwgZGVmaW5lZChTVE0zMkcwKSB8fCBkZWZpbmVkKFNUTTMyTDUpIHx8IGRlZmluZWQoU1RNMzJINykgfHwgZGVmaW5lZChTVE0zMkY0KSB8fCBkZWZpbmVkKFNUTTMyRzQpCiAjZGVmaW5lIEhBTF9EQUNfTVNQX0lOSVRfQ0JfSUQgICAgICAgSEFMX0RBQ19NU1BJTklUX0NCX0lECiAjZGVmaW5lIEhBTF9EQUNfTVNQX0RFSU5JVF9DQl9JRCAgICAgSEFMX0RBQ19NU1BERUlOSVRfQ0JfSUQKQEAgLTM5NCw2ICs0MTYsMTAgQEAKICNkZWZpbmUgREFDX1RSSUdHRVJfTFAyX09VVCAgICAgICAgICAgICAgICAgICAgICAgIERBQ19UUklHR0VSX0xQVElNMl9PVVQKIAogI2VuZGlmIC8qIFNUTTMySDcgKi8KKworI2lmIGRlZmluZWQoU1RNMzJVNSkKKyNkZWZpbmUgR1BETUExX1JFUVVFU1RfRENNSSAgICAgICAgICAgICAgICAgICAgICAgIEdQRE1BMV9SRVFVRVNUX0RDTUlfUFNTSQorI2VuZGlmIC8qIFNUTTMyVTUgKi8KIC8qKgogICAqIEB9CiAgICovCkBAIC01NDIsNiArNTY4LDcgQEAKICNkZWZpbmUgSEFMX1NZU0NGR19EaXNhYmxlSU9BbmFsb2dTd2l0Y2hWREQgICAgICAgSEFMX1NZU0NGR19EaXNhYmxlSU9Td2l0Y2hWREQKICNlbmRpZiAvKiBTVE0zMkc0ICovCiAKKwogLyoqCiAgICogQH0KICAgKi8KQEAgLTYzNyw2ICs2NjQsMjAgQEAKICNlbmRpZiAvKiBTVE0zMkYwIHx8IFNUTTMyRjMgfHwgU1RNMzJGMSAqLwogCiAjZGVmaW5lIEdQSU9fQUY2X0RGU0RNICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fQUY2X0RGU0RNMQorCisjaWYgZGVmaW5lZChTVE0zMlU1KQorI2RlZmluZSBHUElPX0FGMF9SVENfNTBIeiAgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0FGMF9SVENfNTBIWgorI2VuZGlmIC8qIFNUTTMyVTUgKi8KKy8qKgorICAqIEB9CisgICovCisKKy8qKiBAZGVmZ3JvdXAgSEFMX0dUWkNfQWxpYXNlZF9EZWZpbmVzIEhBTCBHVFpDIEFsaWFzZWQgRGVmaW5lcyBtYWludGFpbmVkIGZvciBsZWdhY3kgcHVycG9zZQorICAqIEB7CisgICovCisjaWYgZGVmaW5lZChTVE0zMlU1KQorI2RlZmluZSBHVFpDX1BFUklQSF9EQ01JICAgICAgICAgICAgICAgICAgICAgIEdUWkNfUEVSSVBIX0RDTUlfUFNTSQorI2VuZGlmIC8qIFNUTTMyVTUgKi8KIC8qKgogICAqIEB9CiAgICovCkBAIC04NzQsOSArOTE1LDE5IEBACiAjZGVmaW5lIExQVElNX1RSSUdTQU1QTEVUSU1FXzRUUkFOU0lUSU9OICAgICAgICBMUFRJTV9UUklHU0FNUExFVElNRV80VFJBTlNJVElPTlMKICNkZWZpbmUgTFBUSU1fVFJJR1NBTVBMRVRJTUVfOFRSQU5TSVRJT04gICAgICAgIExQVElNX1RSSUdTQU1QTEVUSU1FXzhUUkFOU0lUSU9OUwogCisKKy8qKiBAZGVmZ3JvdXAgSEFMX0xQVElNX0FsaWFzZWRfRGVmaW5lcyBIQUwgTFBUSU0gQWxpYXNlZCBEZWZpbmVzIG1haW50YWluZWQgZm9yIGxlZ2FjeSBwdXJwb3NlCisgICogQHsKKyAgKi8KKyNkZWZpbmUgSEFMX0xQVElNX1JlYWRDb21wYXJlICAgICAgSEFMX0xQVElNX1JlYWRDYXB0dXJlZFZhbHVlCisvKioKKyAgKiBAfQorICAqLworCiAjaWYgZGVmaW5lZChTVE0zMlU1KQogI2RlZmluZSBMUFRJTV9JU1JfQ0MxICAgICAgICBMUFRJTV9JU1JfQ0MxSUYKICNkZWZpbmUgTFBUSU1fSVNSX0NDMiAgICAgICAgTFBUSU1fSVNSX0NDMklGCisjZGVmaW5lIExQVElNX0NIQU5ORUxfQUxMICAgIDB4MDAwMDAwMDBVCiAjZW5kaWYgLyogU1RNMzJVNSAqLwogLyoqCiAgICogQH0KQEAgLTEyMTYsNiArMTI2NywxMCBAQAogI2RlZmluZSBUSU1fVElNM19USTFfQ09NUDFDT01QMl9PVVQgICBUSU1fVElNM19USTFfQ09NUDFfQ09NUDIKICNlbmRpZgogCisjaWYgZGVmaW5lZChTVE0zMlU1KSB8fCBkZWZpbmVkKFNUTTMyTVAyKQorI2RlZmluZSBPQ1JFRl9DTEVBUl9TRUxFQ1RfUG9zICAgICAgIE9DUkVGX0NMRUFSX1NFTEVDVF9QT1MKKyNkZWZpbmUgT0NSRUZfQ0xFQVJfU0VMRUNUX01zayAgICAgICBPQ1JFRl9DTEVBUl9TRUxFQ1RfTVNLCisjZW5kaWYKIC8qKgogICAqIEB9CiAgICovCkBAIC0xNjQ2LDYgKzE3MDEsNzkgQEAKIAogI2RlZmluZSBQV1JfTU9ERV9FVlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUFdSX1BWRF9NT0RFX05PUk1BTAogCisjaWYgZGVmaW5lZCAoU1RNMzJVNSkKKyNkZWZpbmUgUFdSX1NSQU0xX1BBR0UxX1NUT1BfUkVURU5USU9OICAgICAgICAgICAgICAgIFBXUl9TUkFNMV9QQUdFMV9TVE9QCisjZGVmaW5lIFBXUl9TUkFNMV9QQUdFMl9TVE9QX1JFVEVOVElPTiAgICAgICAgICAgICAgICBQV1JfU1JBTTFfUEFHRTJfU1RPUAorI2RlZmluZSBQV1JfU1JBTTFfUEFHRTNfU1RPUF9SRVRFTlRJT04gICAgICAgICAgICAgICAgUFdSX1NSQU0xX1BBR0UzX1NUT1AKKyNkZWZpbmUgUFdSX1NSQU0xX1BBR0U0X1NUT1BfUkVURU5USU9OICAgICAgICAgICAgICAgIFBXUl9TUkFNMV9QQUdFNF9TVE9QCisjZGVmaW5lIFBXUl9TUkFNMV9QQUdFNV9TVE9QX1JFVEVOVElPTiAgICAgICAgICAgICAgICBQV1JfU1JBTTFfUEFHRTVfU1RPUAorI2RlZmluZSBQV1JfU1JBTTFfUEFHRTZfU1RPUF9SRVRFTlRJT04gICAgICAgICAgICAgICAgUFdSX1NSQU0xX1BBR0U2X1NUT1AKKyNkZWZpbmUgUFdSX1NSQU0xX1BBR0U3X1NUT1BfUkVURU5USU9OICAgICAgICAgICAgICAgIFBXUl9TUkFNMV9QQUdFN19TVE9QCisjZGVmaW5lIFBXUl9TUkFNMV9QQUdFOF9TVE9QX1JFVEVOVElPTiAgICAgICAgICAgICAgICBQV1JfU1JBTTFfUEFHRThfU1RPUAorI2RlZmluZSBQV1JfU1JBTTFfUEFHRTlfU1RPUF9SRVRFTlRJT04gICAgICAgICAgICAgICAgUFdSX1NSQU0xX1BBR0U5X1NUT1AKKyNkZWZpbmUgUFdSX1NSQU0xX1BBR0UxMF9TVE9QX1JFVEVOVElPTiAgICAgICAgICAgICAgIFBXUl9TUkFNMV9QQUdFMTBfU1RPUAorI2RlZmluZSBQV1JfU1JBTTFfUEFHRTExX1NUT1BfUkVURU5USU9OICAgICAgICAgICAgICAgUFdSX1NSQU0xX1BBR0UxMV9TVE9QCisjZGVmaW5lIFBXUl9TUkFNMV9QQUdFMTJfU1RPUF9SRVRFTlRJT04gICAgICAgICAgICAgICBQV1JfU1JBTTFfUEFHRTEyX1NUT1AKKyNkZWZpbmUgUFdSX1NSQU0xX0ZVTExfU1RPUF9SRVRFTlRJT04gICAgICAgICAgICAgICAgIFBXUl9TUkFNMV9GVUxMX1NUT1AKKworI2RlZmluZSBQV1JfU1JBTTJfUEFHRTFfU1RPUF9SRVRFTlRJT04gICAgICAgICAgICAgICAgUFdSX1NSQU0yX1BBR0UxX1NUT1AKKyNkZWZpbmUgUFdSX1NSQU0yX1BBR0UyX1NUT1BfUkVURU5USU9OICAgICAgICAgICAgICAgIFBXUl9TUkFNMl9QQUdFMl9TVE9QCisjZGVmaW5lIFBXUl9TUkFNMl9GVUxMX1NUT1BfUkVURU5USU9OICAgICAgICAgICAgICAgICBQV1JfU1JBTTJfRlVMTF9TVE9QCisKKyNkZWZpbmUgUFdSX1NSQU0zX1BBR0UxX1NUT1BfUkVURU5USU9OICAgICAgICAgICAgICAgIFBXUl9TUkFNM19QQUdFMV9TVE9QCisjZGVmaW5lIFBXUl9TUkFNM19QQUdFMl9TVE9QX1JFVEVOVElPTiAgICAgICAgICAgICAgICBQV1JfU1JBTTNfUEFHRTJfU1RPUAorI2RlZmluZSBQV1JfU1JBTTNfUEFHRTNfU1RPUF9SRVRFTlRJT04gICAgICAgICAgICAgICAgUFdSX1NSQU0zX1BBR0UzX1NUT1AKKyNkZWZpbmUgUFdSX1NSQU0zX1BBR0U0X1NUT1BfUkVURU5USU9OICAgICAgICAgICAgICAgIFBXUl9TUkFNM19QQUdFNF9TVE9QCisjZGVmaW5lIFBXUl9TUkFNM19QQUdFNV9TVE9QX1JFVEVOVElPTiAgICAgICAgICAgICAgICBQV1JfU1JBTTNfUEFHRTVfU1RPUAorI2RlZmluZSBQV1JfU1JBTTNfUEFHRTZfU1RPUF9SRVRFTlRJT04gICAgICAgICAgICAgICAgUFdSX1NSQU0zX1BBR0U2X1NUT1AKKyNkZWZpbmUgUFdSX1NSQU0zX1BBR0U3X1NUT1BfUkVURU5USU9OICAgICAgICAgICAgICAgIFBXUl9TUkFNM19QQUdFN19TVE9QCisjZGVmaW5lIFBXUl9TUkFNM19QQUdFOF9TVE9QX1JFVEVOVElPTiAgICAgICAgICAgICAgICBQV1JfU1JBTTNfUEFHRThfU1RPUAorI2RlZmluZSBQV1JfU1JBTTNfUEFHRTlfU1RPUF9SRVRFTlRJT04gICAgICAgICAgICAgICAgUFdSX1NSQU0zX1BBR0U5X1NUT1AKKyNkZWZpbmUgUFdSX1NSQU0zX1BBR0UxMF9TVE9QX1JFVEVOVElPTiAgICAgICAgICAgICAgIFBXUl9TUkFNM19QQUdFMTBfU1RPUAorI2RlZmluZSBQV1JfU1JBTTNfUEFHRTExX1NUT1BfUkVURU5USU9OICAgICAgICAgICAgICAgUFdSX1NSQU0zX1BBR0UxMV9TVE9QCisjZGVmaW5lIFBXUl9TUkFNM19QQUdFMTJfU1RPUF9SRVRFTlRJT04gICAgICAgICAgICAgICBQV1JfU1JBTTNfUEFHRTEyX1NUT1AKKyNkZWZpbmUgUFdSX1NSQU0zX1BBR0UxM19TVE9QX1JFVEVOVElPTiAgICAgICAgICAgICAgIFBXUl9TUkFNM19QQUdFMTNfU1RPUAorI2RlZmluZSBQV1JfU1JBTTNfRlVMTF9TVE9QX1JFVEVOVElPTiAgICAgICAgICAgICAgICAgUFdSX1NSQU0zX0ZVTExfU1RPUAorCisjZGVmaW5lIFBXUl9TUkFNNF9GVUxMX1NUT1BfUkVURU5USU9OICAgICAgICAgICAgICAgICBQV1JfU1JBTTRfRlVMTF9TVE9QCisKKyNkZWZpbmUgUFdSX1NSQU01X1BBR0UxX1NUT1BfUkVURU5USU9OICAgICAgICAgICAgICAgIFBXUl9TUkFNNV9QQUdFMV9TVE9QCisjZGVmaW5lIFBXUl9TUkFNNV9QQUdFMl9TVE9QX1JFVEVOVElPTiAgICAgICAgICAgICAgICBQV1JfU1JBTTVfUEFHRTJfU1RPUAorI2RlZmluZSBQV1JfU1JBTTVfUEFHRTNfU1RPUF9SRVRFTlRJT04gICAgICAgICAgICAgICAgUFdSX1NSQU01X1BBR0UzX1NUT1AKKyNkZWZpbmUgUFdSX1NSQU01X1BBR0U0X1NUT1BfUkVURU5USU9OICAgICAgICAgICAgICAgIFBXUl9TUkFNNV9QQUdFNF9TVE9QCisjZGVmaW5lIFBXUl9TUkFNNV9QQUdFNV9TVE9QX1JFVEVOVElPTiAgICAgICAgICAgICAgICBQV1JfU1JBTTVfUEFHRTVfU1RPUAorI2RlZmluZSBQV1JfU1JBTTVfUEFHRTZfU1RPUF9SRVRFTlRJT04gICAgICAgICAgICAgICAgUFdSX1NSQU01X1BBR0U2X1NUT1AKKyNkZWZpbmUgUFdSX1NSQU01X1BBR0U3X1NUT1BfUkVURU5USU9OICAgICAgICAgICAgICAgIFBXUl9TUkFNNV9QQUdFN19TVE9QCisjZGVmaW5lIFBXUl9TUkFNNV9QQUdFOF9TVE9QX1JFVEVOVElPTiAgICAgICAgICAgICAgICBQV1JfU1JBTTVfUEFHRThfU1RPUAorI2RlZmluZSBQV1JfU1JBTTVfUEFHRTlfU1RPUF9SRVRFTlRJT04gICAgICAgICAgICAgICAgUFdSX1NSQU01X1BBR0U5X1NUT1AKKyNkZWZpbmUgUFdSX1NSQU01X1BBR0UxMF9TVE9QX1JFVEVOVElPTiAgICAgICAgICAgICAgIFBXUl9TUkFNNV9QQUdFMTBfU1RPUAorI2RlZmluZSBQV1JfU1JBTTVfUEFHRTExX1NUT1BfUkVURU5USU9OICAgICAgICAgICAgICAgUFdSX1NSQU01X1BBR0UxMV9TVE9QCisjZGVmaW5lIFBXUl9TUkFNNV9QQUdFMTJfU1RPUF9SRVRFTlRJT04gICAgICAgICAgICAgICBQV1JfU1JBTTVfUEFHRTEyX1NUT1AKKyNkZWZpbmUgUFdSX1NSQU01X1BBR0UxM19TVE9QX1JFVEVOVElPTiAgICAgICAgICAgICAgIFBXUl9TUkFNNV9QQUdFMTNfU1RPUAorI2RlZmluZSBQV1JfU1JBTTVfRlVMTF9TVE9QX1JFVEVOVElPTiAgICAgICAgICAgICAgICAgUFdSX1NSQU01X0ZVTExfU1RPUAorCisjZGVmaW5lIFBXUl9JQ0FDSEVfRlVMTF9TVE9QX1JFVEVOVElPTiAgICAgICAgICAgICAgICBQV1JfSUNBQ0hFX0ZVTExfU1RPUAorI2RlZmluZSBQV1JfRENBQ0hFMV9GVUxMX1NUT1BfUkVURU5USU9OICAgICAgICAgICAgICAgUFdSX0RDQUNIRTFfRlVMTF9TVE9QCisjZGVmaW5lIFBXUl9EQ0FDSEUyX0ZVTExfU1RPUF9SRVRFTlRJT04gICAgICAgICAgICAgICBQV1JfRENBQ0hFMl9GVUxMX1NUT1AKKyNkZWZpbmUgUFdSX0RNQTJEUkFNX0ZVTExfU1RPUF9SRVRFTlRJT04gICAgICAgICAgICAgIFBXUl9ETUEyRFJBTV9GVUxMX1NUT1AKKyNkZWZpbmUgUFdSX1BFUklQSFJBTV9GVUxMX1NUT1BfUkVURU5USU9OICAgICAgICAgICAgIFBXUl9QRVJJUEhSQU1fRlVMTF9TVE9QCisjZGVmaW5lIFBXUl9QS0EzMlJBTV9GVUxMX1NUT1BfUkVURU5USU9OICAgICAgICAgICAgICBQV1JfUEtBMzJSQU1fRlVMTF9TVE9QCisjZGVmaW5lIFBXUl9HUkFQSElDUFJBTV9GVUxMX1NUT1BfUkVURU5USU9OICAgICAgICAgICBQV1JfR1JBUEhJQ1BSQU1fRlVMTF9TVE9QCisjZGVmaW5lIFBXUl9EU0lSQU1fRlVMTF9TVE9QX1JFVEVOVElPTiAgICAgICAgICAgICAgICBQV1JfRFNJUkFNX0ZVTExfU1RPUAorCisjZGVmaW5lIFBXUl9TUkFNMl9QQUdFMV9TVEFOREJZX1JFVEVOVElPTiAgICAgICAgICAgICBQV1JfU1JBTTJfUEFHRTFfU1RBTkRCWQorI2RlZmluZSBQV1JfU1JBTTJfUEFHRTJfU1RBTkRCWV9SRVRFTlRJT04gICAgICAgICAgICAgUFdSX1NSQU0yX1BBR0UyX1NUQU5EQlkKKyNkZWZpbmUgUFdSX1NSQU0yX0ZVTExfU1RBTkRCWV9SRVRFTlRJT04gICAgICAgICAgICAgIFBXUl9TUkFNMl9GVUxMX1NUQU5EQlkKKworI2RlZmluZSBQV1JfU1JBTTFfRlVMTF9SVU5fUkVURU5USU9OICAgICAgICAgICAgICAgICAgUFdSX1NSQU0xX0ZVTExfUlVOCisjZGVmaW5lIFBXUl9TUkFNMl9GVUxMX1JVTl9SRVRFTlRJT04gICAgICAgICAgICAgICAgICBQV1JfU1JBTTJfRlVMTF9SVU4KKyNkZWZpbmUgUFdSX1NSQU0zX0ZVTExfUlVOX1JFVEVOVElPTiAgICAgICAgICAgICAgICAgIFBXUl9TUkFNM19GVUxMX1JVTgorI2RlZmluZSBQV1JfU1JBTTRfRlVMTF9SVU5fUkVURU5USU9OICAgICAgICAgICAgICAgICAgUFdSX1NSQU00X0ZVTExfUlVOCisjZGVmaW5lIFBXUl9TUkFNNV9GVUxMX1JVTl9SRVRFTlRJT04gICAgICAgICAgICAgICAgICBQV1JfU1JBTTVfRlVMTF9SVU4KKworI2RlZmluZSBQV1JfQUxMX1JBTV9SVU5fUkVURU5USU9OX01BU0sgICAgICAgICAgICAgICAgUFdSX0FMTF9SQU1fUlVOX01BU0sKKyNlbmRpZgorCiAvKioKICAgKiBAfQogICovCkBAIC0zNDA0LDcgKzM1MzIsMjEgQEAKICNkZWZpbmUgX19IQUxfUkNDX0FQQjJfQ0xLX0Rpc2FibGVfQ2xlYXIgICAgICBfX0hBTF9SQ0NfQVBCMl9DTEtfRU5BQkxFCiAjZGVmaW5lIF9fSEFMX1JDQ19BUEIzX0NMS19EaXNhYmxlX0NsZWFyICAgICAgX19IQUxfUkNDX0FQQjNfQ0xLX0VOQUJMRQogI2RlZmluZSBJU19SQ0NfTVNJUExMTW9kZVNlbGVjdGlvbiAgICAgICAgICAgIElTX1JDQ19NU0lQTExNT0RFX1NFTEVDVAorI2RlZmluZSBSQ0NfUEVSSVBIQ0xLX0NMSzQ4ICAgICAgICAgICAgICAgICAgIFJDQ19QRVJJUEhDTEtfSUNMSworI2RlZmluZSBSQ0NfQ0xLNDhDTEtTT1VSQ0VfSFNJNDggICAgICAgICAgICAgIFJDQ19JQ0xLX0NMS1NPVVJDRV9IU0k0OAorI2RlZmluZSBSQ0NfQ0xLNDhDTEtTT1VSQ0VfUExMMiAgICAgICAgICAgICAgIFJDQ19JQ0xLX0NMS1NPVVJDRV9QTEwyCisjZGVmaW5lIFJDQ19DTEs0OENMS1NPVVJDRV9QTEwxICAgICAgICAgICAgICAgUkNDX0lDTEtfQ0xLU09VUkNFX1BMTDEKKyNkZWZpbmUgUkNDX0NMSzQ4Q0xLU09VUkNFX01TSUsgICAgICAgICAgICAgICBSQ0NfSUNMS19DTEtTT1VSQ0VfTVNJSworI2RlZmluZSBfX0hBTF9SQ0NfQURDMV9DTEtfRU5BQkxFICAgICAgICAgICAgX19IQUxfUkNDX0FEQzEyX0NMS19FTkFCTEUKKyNkZWZpbmUgX19IQUxfUkNDX0FEQzFfQ0xLX0RJU0FCTEUgICAgICAgICAgX19IQUxfUkNDX0FEQzEyX0NMS19ESVNBQkxFCisjZGVmaW5lIF9fSEFMX1JDQ19BREMxX0lTX0NMS19FTkFCTEVEICAgICAgIF9fSEFMX1JDQ19BREMxMl9JU19DTEtfRU5BQkxFRAorI2RlZmluZSBfX0hBTF9SQ0NfQURDMV9JU19DTEtfRElTQUJMRUQgICAgICBfX0hBTF9SQ0NfQURDMTJfSVNfQ0xLX0RJU0FCTEVECisjZGVmaW5lIF9fSEFMX1JDQ19BREMxX0ZPUkNFX1JFU0VUICAgICAgICAgIF9fSEFMX1JDQ19BREMxMl9GT1JDRV9SRVNFVAorI2RlZmluZSBfX0hBTF9SQ0NfQURDMV9SRUxFQVNFX1JFU0VUICAgICAgICBfX0hBTF9SQ0NfQURDMTJfUkVMRUFTRV9SRVNFVAorI2RlZmluZSBfX0hBTF9SQ0NfQURDMV9DTEtfU0xFRVBfRU5BQkxFICAgICBfX0hBTF9SQ0NfQURDMTJfQ0xLX1NMRUVQX0VOQUJMRQorI2RlZmluZSBfX0hBTF9SQ0NfQURDMV9DTEtfU0xFRVBfRElTQUJMRSAgICBfX0hBTF9SQ0NfQURDMTJfQ0xLX1NMRUVQX0RJU0FCTEUKICNlbmRpZgorCiAvKioKICAgKiBAfQogICAqLwpAQCAtMzQ3NCw2ICszNjE2LDcgQEAKICNkZWZpbmUgX19SVENfV1JJVEVQUk9URUNUSU9OX0VOQUJMRSAgX19IQUxfUlRDX1dSSVRFUFJPVEVDVElPTl9FTkFCTEUKICNkZWZpbmUgX19SVENfV1JJVEVQUk9URUNUSU9OX0RJU0FCTEUgIF9fSEFMX1JUQ19XUklURVBST1RFQ1RJT05fRElTQUJMRQogCisKIC8qKgogICAqIEB9CiAgICovCkBAIC0zODM2LDUgKzM5NzksNCBAQAogCiAjZW5kaWYgLyogU1RNMzJfSEFMX0xFR0FDWSAqLwogCi0vKioqKioqKioqKioqKioqKioqKioqKioqIChDKSBDT1BZUklHSFQgU1RNaWNyb2VsZWN0cm9uaWNzICoqKioqRU5EIE9GIEZJTEUqKioqLwogCmRpZmYgLS1naXQgYS9JbmMvTGVnYWN5L3N0bTMyZjR4eF9oYWxfY2FuX2xlZ2FjeS5oIGIvSW5jL0xlZ2FjeS9zdG0zMmY0eHhfaGFsX2Nhbl9sZWdhY3kuaAppbmRleCBhYWNmMGYwLi5lNGQ3NzRiIDEwMDY0NAotLS0gYS9JbmMvTGVnYWN5L3N0bTMyZjR4eF9oYWxfY2FuX2xlZ2FjeS5oCisrKyBiL0luYy9MZWdhY3kvc3RtMzJmNHh4X2hhbF9jYW5fbGVnYWN5LmgKQEAgLTYsMjkgKzYsMTIgQEAKICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICogQGF0dGVudGlvbgogICAqCi0gICogPGgyPjxjZW50ZXI+JmNvcHk7IENPUFlSSUdIVChjKSAyMDE3IFNUTWljcm9lbGVjdHJvbmljczwvY2VudGVyPjwvaDI+CisgICogQ29weXJpZ2h0IChjKSAyMDE2IFNUTWljcm9lbGVjdHJvbmljcy4KKyAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAqCi0gICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwKLSAgKiBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6Ci0gICogICAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsCi0gICogICAgICB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICAqICAgMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLAotICAqICAgICAgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbgotICAqICAgICAgYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gICogICAzLiBOZWl0aGVyIHRoZSBuYW1lIG9mIFNUTWljcm9lbGVjdHJvbmljcyBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMKLSAgKiAgICAgIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZQotICAqICAgICAgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCi0gICoKLSAgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIKLSAgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCi0gICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBIT0xERVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQotICAqIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMCi0gICogREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IKLSAgKiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUgotICAqIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCi0gICogT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICAqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgdW5kZXIgdGVybXMgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZQorICAqIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvZnR3YXJlIGNvbXBvbmVudC4KKyAgKiBJZiBubyBMSUNFTlNFIGZpbGUgY29tZXMgd2l0aCB0aGlzIHNvZnR3YXJlLCBpdCBpcyBwcm92aWRlZCBBUy1JUy4KICAgKgogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKi8KQEAgLTc4MCw2ICs3NjMsMyBAQAogI2VuZGlmCiAKICNlbmRpZiAvKiBfX1NUTTMyRjR4eF9IQUxfQ0FOX0xFR0FDWV9IICovCi0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKiAoQykgQ09QWVJJR0hUIFNUTWljcm9lbGVjdHJvbmljcyAqKioqKkVORCBPRiBGSUxFKioqKi8KZGlmZiAtLWdpdCBhL0luYy9MZWdhY3kvc3RtMzJmNHh4X2hhbF9ldGhfbGVnYWN5LmggYi9JbmMvTGVnYWN5L3N0bTMyZjR4eF9oYWxfZXRoX2xlZ2FjeS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFiODRhNDYKLS0tIC9kZXYvbnVsbAorKysgYi9JbmMvTGVnYWN5L3N0bTMyZjR4eF9oYWxfZXRoX2xlZ2FjeS5oCkBAIC0wLDAgKzEsMjIwOSBAQAorLyoqCisgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICAqIEBmaWxlICAgIHN0bTMyZjR4eF9oYWxfZXRoX2xlZ2FjeS5oCisgICogQGF1dGhvciAgTUNEIEFwcGxpY2F0aW9uIFRlYW0KKyAgKiBAYnJpZWYgICBIZWFkZXIgZmlsZSBvZiBFVEggSEFMIG1vZHVsZS4KKyAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgICogQGF0dGVudGlvbgorICAqCisgICogQ29weXJpZ2h0IChjKSAyMDE3IFNUTWljcm9lbGVjdHJvbmljcy4KKyAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICAqCisgICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciB0ZXJtcyB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlCisgICogaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc29mdHdhcmUgY29tcG9uZW50LgorICAqIElmIG5vIExJQ0VOU0UgZmlsZSBjb21lcyB3aXRoIHRoaXMgc29mdHdhcmUsIGl0IGlzIHByb3ZpZGVkIEFTLUlTLgorICAqCisgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICAqLworCisvKiBEZWZpbmUgdG8gcHJldmVudCByZWN1cnNpdmUgaW5jbHVzaW9uIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworI2lmbmRlZiBfX1NUTTMyRjR4eF9IQUxfRVRIX0xFR0FDWV9ICisjZGVmaW5lIF9fU1RNMzJGNHh4X0hBTF9FVEhfTEVHQUNZX0gKKworI2lmZGVmIF9fY3BsdXNwbHVzCisgZXh0ZXJuICJDIiB7CisjZW5kaWYKKworI2lmIGRlZmluZWQoU1RNMzJGNDA3eHgpIHx8IGRlZmluZWQoU1RNMzJGNDE3eHgpIHx8IGRlZmluZWQoU1RNMzJGNDI3eHgpIHx8IGRlZmluZWQoU1RNMzJGNDM3eHgpIHx8XAorICAgIGRlZmluZWQoU1RNMzJGNDI5eHgpIHx8IGRlZmluZWQoU1RNMzJGNDM5eHgpIHx8IGRlZmluZWQoU1RNMzJGNDY5eHgpIHx8IGRlZmluZWQoU1RNMzJGNDc5eHgpCisvKiBJbmNsdWRlcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworI2luY2x1ZGUgInN0bTMyZjR4eF9oYWxfZGVmLmgiCisKKy8qKiBAYWRkdG9ncm91cCBTVE0zMkY0eHhfSEFMX0RyaXZlcgorICAqIEB7CisgICovCisKKy8qKiBAYWRkdG9ncm91cCBFVEgKKyAgKiBAeworICAqLworCisvKiogQGFkZHRvZ3JvdXAgRVRIX1ByaXZhdGVfTWFjcm9zCisgICogQHsKKyAgKi8KKyNkZWZpbmUgSVNfRVRIX1BIWV9BRERSRVNTKEFERFJFU1MpICgoQUREUkVTUykgPD0gMHgyMFUpCisjZGVmaW5lIElTX0VUSF9BVVRPTkVHT1RJQVRJT04oQ01EKSAoKChDTUQpID09IEVUSF9BVVRPTkVHT1RJQVRJT05fRU5BQkxFKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChDTUQpID09IEVUSF9BVVRPTkVHT1RJQVRJT05fRElTQUJMRSkpCisjZGVmaW5lIElTX0VUSF9TUEVFRChTUEVFRCkgKCgoU1BFRUQpID09IEVUSF9TUEVFRF8xME0pIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChTUEVFRCkgPT0gRVRIX1NQRUVEXzEwME0pKQorI2RlZmluZSBJU19FVEhfRFVQTEVYX01PREUoTU9ERSkgICgoKE1PREUpID09IEVUSF9NT0RFX0ZVTExEVVBMRVgpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKE1PREUpID09IEVUSF9NT0RFX0hBTEZEVVBMRVgpKQorI2RlZmluZSBJU19FVEhfUlhfTU9ERShNT0RFKSAgICAoKChNT0RFKSA9PSBFVEhfUlhQT0xMSU5HX01PREUpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoTU9ERSkgPT0gRVRIX1JYSU5URVJSVVBUX01PREUpKQorI2RlZmluZSBJU19FVEhfQ0hFQ0tTVU1fTU9ERShNT0RFKSAgICAoKChNT0RFKSA9PSBFVEhfQ0hFQ0tTVU1fQllfSEFSRFdBUkUpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChNT0RFKSA9PSBFVEhfQ0hFQ0tTVU1fQllfU09GVFdBUkUpKQorI2RlZmluZSBJU19FVEhfTUVESUFfSU5URVJGQUNFKE1PREUpICAgICAgICAgKCgoTU9ERSkgPT0gRVRIX01FRElBX0lOVEVSRkFDRV9NSUkpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKE1PREUpID09IEVUSF9NRURJQV9JTlRFUkZBQ0VfUk1JSSkpCisjZGVmaW5lIElTX0VUSF9XQVRDSERPRyhDTUQpICgoKENNRCkgPT0gRVRIX1dBVENIRE9HX0VOQUJMRSkgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChDTUQpID09IEVUSF9XQVRDSERPR19ESVNBQkxFKSkKKyNkZWZpbmUgSVNfRVRIX0pBQkJFUihDTUQpICgoKENNRCkgPT0gRVRIX0pBQkJFUl9FTkFCTEUpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKENNRCkgPT0gRVRIX0pBQkJFUl9ESVNBQkxFKSkKKyNkZWZpbmUgSVNfRVRIX0lOVEVSX0ZSQU1FX0dBUChHQVApICgoKEdBUCkgPT0gRVRIX0lOVEVSRlJBTUVHQVBfOTZCSVQpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEdBUCkgPT0gRVRIX0lOVEVSRlJBTUVHQVBfODhCSVQpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEdBUCkgPT0gRVRIX0lOVEVSRlJBTUVHQVBfODBCSVQpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEdBUCkgPT0gRVRIX0lOVEVSRlJBTUVHQVBfNzJCSVQpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEdBUCkgPT0gRVRIX0lOVEVSRlJBTUVHQVBfNjRCSVQpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEdBUCkgPT0gRVRIX0lOVEVSRlJBTUVHQVBfNTZCSVQpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEdBUCkgPT0gRVRIX0lOVEVSRlJBTUVHQVBfNDhCSVQpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEdBUCkgPT0gRVRIX0lOVEVSRlJBTUVHQVBfNDBCSVQpKQorI2RlZmluZSBJU19FVEhfQ0FSUklFUl9TRU5TRShDTUQpICgoKENNRCkgPT0gRVRIX0NBUlJJRVJTRU5DRV9FTkFCTEUpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChDTUQpID09IEVUSF9DQVJSSUVSU0VOQ0VfRElTQUJMRSkpCisjZGVmaW5lIElTX0VUSF9SRUNFSVZFX09XTihDTUQpICgoKENNRCkgPT0gRVRIX1JFQ0VJVkVPV05fRU5BQkxFKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKENNRCkgPT0gRVRIX1JFQ0VJVkVPV05fRElTQUJMRSkpCisjZGVmaW5lIElTX0VUSF9MT09QQkFDS19NT0RFKENNRCkgKCgoQ01EKSA9PSBFVEhfTE9PUEJBQ0tNT0RFX0VOQUJMRSkgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKENNRCkgPT0gRVRIX0xPT1BCQUNLTU9ERV9ESVNBQkxFKSkKKyNkZWZpbmUgSVNfRVRIX0NIRUNLU1VNX09GRkxPQUQoQ01EKSAoKChDTUQpID09IEVUSF9DSEVDS1NVTU9GRkxBT0RfRU5BQkxFKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQ01EKSA9PSBFVEhfQ0hFQ0tTVU1PRkZMQU9EX0RJU0FCTEUpKQorI2RlZmluZSBJU19FVEhfUkVUUllfVFJBTlNNSVNTSU9OKENNRCkgKCgoQ01EKSA9PSBFVEhfUkVUUllUUkFOU01JU1NJT05fRU5BQkxFKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChDTUQpID09IEVUSF9SRVRSWVRSQU5TTUlTU0lPTl9ESVNBQkxFKSkKKyNkZWZpbmUgSVNfRVRIX0FVVE9NQVRJQ19QQURDUkNfU1RSSVAoQ01EKSAoKChDTUQpID09IEVUSF9BVVRPTUFUSUNQQURDUkNTVFJJUF9FTkFCTEUpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChDTUQpID09IEVUSF9BVVRPTUFUSUNQQURDUkNTVFJJUF9ESVNBQkxFKSkKKyNkZWZpbmUgSVNfRVRIX0JBQ0tPRkZfTElNSVQoTElNSVQpICgoKExJTUlUKSA9PSBFVEhfQkFDS09GRkxJTUlUXzEwKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChMSU1JVCkgPT0gRVRIX0JBQ0tPRkZMSU1JVF84KSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChMSU1JVCkgPT0gRVRIX0JBQ0tPRkZMSU1JVF80KSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChMSU1JVCkgPT0gRVRIX0JBQ0tPRkZMSU1JVF8xKSkKKyNkZWZpbmUgSVNfRVRIX0RFRkVSUkFMX0NIRUNLKENNRCkgKCgoQ01EKSA9PSBFVEhfREVGRkVSUkFMQ0hFQ0tfRU5BQkxFKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKENNRCkgPT0gRVRIX0RFRkZFUlJBTENIRUNLX0RJU0FCTEUpKQorI2RlZmluZSBJU19FVEhfUkVDRUlWRV9BTEwoQ01EKSAoKChDTUQpID09IEVUSF9SRUNFSVZFQUxMX0VOQUJMRSkgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChDTUQpID09IEVUSF9SRUNFSVZFQWxsX0RJU0FCTEUpKQorI2RlZmluZSBJU19FVEhfU09VUkNFX0FERFJfRklMVEVSKENNRCkgKCgoQ01EKSA9PSBFVEhfU09VUkNFQUREUkZJTFRFUl9OT1JNQUxfRU5BQkxFKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChDTUQpID09IEVUSF9TT1VSQ0VBRERSRklMVEVSX0lOVkVSU0VfRU5BQkxFKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChDTUQpID09IEVUSF9TT1VSQ0VBRERSRklMVEVSX0RJU0FCTEUpKQorI2RlZmluZSBJU19FVEhfQ09OVFJPTF9GUkFNRVMoUEFTUykgKCgoUEFTUykgPT0gRVRIX1BBU1NDT05UUk9MRlJBTUVTX0JMT0NLQUxMKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChQQVNTKSA9PSBFVEhfUEFTU0NPTlRST0xGUkFNRVNfRk9SV0FSREFMTCkgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoUEFTUykgPT0gRVRIX1BBU1NDT05UUk9MRlJBTUVTX0ZPUldBUkRQQVNTRURBRERSRklMVEVSKSkKKyNkZWZpbmUgSVNfRVRIX0JST0FEQ0FTVF9GUkFNRVNfUkVDRVBUSU9OKENNRCkgKCgoQ01EKSA9PSBFVEhfQlJPQURDQVNURlJBTUVTUkVDRVBUSU9OX0VOQUJMRSkgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChDTUQpID09IEVUSF9CUk9BRENBU1RGUkFNRVNSRUNFUFRJT05fRElTQUJMRSkpCisjZGVmaW5lIElTX0VUSF9ERVNUSU5BVElPTl9BRERSX0ZJTFRFUihGSUxURVIpICgoKEZJTFRFUikgPT0gRVRIX0RFU1RJTkFUSU9OQUREUkZJTFRFUl9OT1JNQUwpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoRklMVEVSKSA9PSBFVEhfREVTVElOQVRJT05BRERSRklMVEVSX0lOVkVSU0UpKQorI2RlZmluZSBJU19FVEhfUFJPTUlTQ1VPVVNfTU9ERShDTUQpICgoKENNRCkgPT0gRVRIX1BST01JU0NVT1VTX01PREVfRU5BQkxFKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQ01EKSA9PSBFVEhfUFJPTUlTQ1VPVVNfTU9ERV9ESVNBQkxFKSkKKyNkZWZpbmUgSVNfRVRIX01VTFRJQ0FTVF9GUkFNRVNfRklMVEVSKEZJTFRFUikgKCgoRklMVEVSKSA9PSBFVEhfTVVMVElDQVNURlJBTUVTRklMVEVSX1BFUkZFQ1RIQVNIVEFCTEUpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoRklMVEVSKSA9PSBFVEhfTVVMVElDQVNURlJBTUVTRklMVEVSX0hBU0hUQUJMRSkgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChGSUxURVIpID09IEVUSF9NVUxUSUNBU1RGUkFNRVNGSUxURVJfUEVSRkVDVCkgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChGSUxURVIpID09IEVUSF9NVUxUSUNBU1RGUkFNRVNGSUxURVJfTk9ORSkpCisjZGVmaW5lIElTX0VUSF9VTklDQVNUX0ZSQU1FU19GSUxURVIoRklMVEVSKSAoKChGSUxURVIpID09IEVUSF9VTklDQVNURlJBTUVTRklMVEVSX1BFUkZFQ1RIQVNIVEFCTEUpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEZJTFRFUikgPT0gRVRIX1VOSUNBU1RGUkFNRVNGSUxURVJfSEFTSFRBQkxFKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChGSUxURVIpID09IEVUSF9VTklDQVNURlJBTUVTRklMVEVSX1BFUkZFQ1QpKQorI2RlZmluZSBJU19FVEhfUEFVU0VfVElNRShUSU1FKSAoKFRJTUUpIDw9IDB4RkZGRlUpCisjZGVmaW5lIElTX0VUSF9aRVJPUVVBTlRBX1BBVVNFKENNRCkgICAoKChDTUQpID09IEVUSF9aRVJPUVVBTlRBUEFVU0VfRU5BQkxFKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChDTUQpID09IEVUSF9aRVJPUVVBTlRBUEFVU0VfRElTQUJMRSkpCisjZGVmaW5lIElTX0VUSF9QQVVTRV9MT1dfVEhSRVNIT0xEKFRIUkVTSE9MRCkgKCgoVEhSRVNIT0xEKSA9PSBFVEhfUEFVU0VMT1dUSFJFU0hPTERfTUlOVVM0KSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoVEhSRVNIT0xEKSA9PSBFVEhfUEFVU0VMT1dUSFJFU0hPTERfTUlOVVMyOCkgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKFRIUkVTSE9MRCkgPT0gRVRIX1BBVVNFTE9XVEhSRVNIT0xEX01JTlVTMTQ0KSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoVEhSRVNIT0xEKSA9PSBFVEhfUEFVU0VMT1dUSFJFU0hPTERfTUlOVVMyNTYpKQorI2RlZmluZSBJU19FVEhfVU5JQ0FTVF9QQVVTRV9GUkFNRV9ERVRFQ1QoQ01EKSAoKChDTUQpID09IEVUSF9VTklDQVNUUEFVU0VGUkFNRURFVEVDVF9FTkFCTEUpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQ01EKSA9PSBFVEhfVU5JQ0FTVFBBVVNFRlJBTUVERVRFQ1RfRElTQUJMRSkpCisjZGVmaW5lIElTX0VUSF9SRUNFSVZFX0ZMT1dDT05UUk9MKENNRCkgKCgoQ01EKSA9PSBFVEhfUkVDRUlWRUZMT1dDT05UUk9MX0VOQUJMRSkgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKENNRCkgPT0gRVRIX1JFQ0VJVkVGTE9XQ09OVFJPTF9ESVNBQkxFKSkKKyNkZWZpbmUgSVNfRVRIX1RSQU5TTUlUX0ZMT1dDT05UUk9MKENNRCkgKCgoQ01EKSA9PSBFVEhfVFJBTlNNSVRGTE9XQ09OVFJPTF9FTkFCTEUpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQ01EKSA9PSBFVEhfVFJBTlNNSVRGTE9XQ09OVFJPTF9ESVNBQkxFKSkKKyNkZWZpbmUgSVNfRVRIX1ZMQU5fVEFHX0NPTVBBUklTT04oQ09NUEFSSVNPTikgKCgoQ09NUEFSSVNPTikgPT0gRVRIX1ZMQU5UQUdDT01QQVJJU09OXzEyQklUKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKENPTVBBUklTT04pID09IEVUSF9WTEFOVEFHQ09NUEFSSVNPTl8xNkJJVCkpCisjZGVmaW5lIElTX0VUSF9WTEFOX1RBR19JREVOVElGSUVSKElERU5USUZJRVIpICgoSURFTlRJRklFUikgPD0gMHhGRkZGVSkKKyNkZWZpbmUgSVNfRVRIX01BQ19BRERSRVNTMDEyMyhBRERSRVNTKSAoKChBRERSRVNTKSA9PSBFVEhfTUFDX0FERFJFU1MwKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQUREUkVTUykgPT0gRVRIX01BQ19BRERSRVNTMSkgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFERFJFU1MpID09IEVUSF9NQUNfQUREUkVTUzIpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBRERSRVNTKSA9PSBFVEhfTUFDX0FERFJFU1MzKSkKKyNkZWZpbmUgSVNfRVRIX01BQ19BRERSRVNTMTIzKEFERFJFU1MpICgoKEFERFJFU1MpID09IEVUSF9NQUNfQUREUkVTUzEpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFERFJFU1MpID09IEVUSF9NQUNfQUREUkVTUzIpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFERFJFU1MpID09IEVUSF9NQUNfQUREUkVTUzMpKQorI2RlZmluZSBJU19FVEhfTUFDX0FERFJFU1NfRklMVEVSKEZJTFRFUikgKCgoRklMVEVSKSA9PSBFVEhfTUFDX0FERFJFU1NGSUxURVJfU0EpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEZJTFRFUikgPT0gRVRIX01BQ19BRERSRVNTRklMVEVSX0RBKSkKKyNkZWZpbmUgSVNfRVRIX01BQ19BRERSRVNTX01BU0soTUFTSykgKCgoTUFTSykgPT0gRVRIX01BQ19BRERSRVNTTUFTS19CWVRFNikgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChNQVNLKSA9PSBFVEhfTUFDX0FERFJFU1NNQVNLX0JZVEU1KSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKE1BU0spID09IEVUSF9NQUNfQUREUkVTU01BU0tfQllURTQpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoTUFTSykgPT0gRVRIX01BQ19BRERSRVNTTUFTS19CWVRFMykgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChNQVNLKSA9PSBFVEhfTUFDX0FERFJFU1NNQVNLX0JZVEUyKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKE1BU0spID09IEVUSF9NQUNfQUREUkVTU01BU0tfQllURTEpKQorI2RlZmluZSBJU19FVEhfRFJPUF9UQ1BJUF9DSEVDS1NVTV9GUkFNRShDTUQpICgoKENNRCkgPT0gRVRIX0RST1BUQ1BJUENIRUNLU1VNRVJST1JGUkFNRV9FTkFCTEUpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChDTUQpID09IEVUSF9EUk9QVENQSVBDSEVDS1NVTUVSUk9SRlJBTUVfRElTQUJMRSkpCisjZGVmaW5lIElTX0VUSF9SRUNFSVZFX1NUT1JFX0ZPUldBUkQoQ01EKSAoKChDTUQpID09IEVUSF9SRUNFSVZFU1RPUkVGT1JXQVJEX0VOQUJMRSkgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQ01EKSA9PSBFVEhfUkVDRUlWRVNUT1JFRk9SV0FSRF9ESVNBQkxFKSkKKyNkZWZpbmUgSVNfRVRIX0ZMVVNIX1JFQ0VJVkVfRlJBTUUoQ01EKSAoKChDTUQpID09IEVUSF9GTFVTSFJFQ0VJVkVERlJBTUVfRU5BQkxFKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQ01EKSA9PSBFVEhfRkxVU0hSRUNFSVZFREZSQU1FX0RJU0FCTEUpKQorI2RlZmluZSBJU19FVEhfVFJBTlNNSVRfU1RPUkVfRk9SV0FSRChDTUQpICgoKENNRCkgPT0gRVRIX1RSQU5TTUlUU1RPUkVGT1JXQVJEX0VOQUJMRSkgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKENNRCkgPT0gRVRIX1RSQU5TTUlUU1RPUkVGT1JXQVJEX0RJU0FCTEUpKQorI2RlZmluZSBJU19FVEhfVFJBTlNNSVRfVEhSRVNIT0xEX0NPTlRST0woVEhSRVNIT0xEKSAoKChUSFJFU0hPTEQpID09IEVUSF9UUkFOU01JVFRIUkVTSE9MRENPTlRST0xfNjRCWVRFUykgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChUSFJFU0hPTEQpID09IEVUSF9UUkFOU01JVFRIUkVTSE9MRENPTlRST0xfMTI4QllURVMpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoVEhSRVNIT0xEKSA9PSBFVEhfVFJBTlNNSVRUSFJFU0hPTERDT05UUk9MXzE5MkJZVEVTKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKFRIUkVTSE9MRCkgPT0gRVRIX1RSQU5TTUlUVEhSRVNIT0xEQ09OVFJPTF8yNTZCWVRFUykgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChUSFJFU0hPTEQpID09IEVUSF9UUkFOU01JVFRIUkVTSE9MRENPTlRST0xfNDBCWVRFUykgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChUSFJFU0hPTEQpID09IEVUSF9UUkFOU01JVFRIUkVTSE9MRENPTlRST0xfMzJCWVRFUykgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChUSFJFU0hPTEQpID09IEVUSF9UUkFOU01JVFRIUkVTSE9MRENPTlRST0xfMjRCWVRFUykgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChUSFJFU0hPTEQpID09IEVUSF9UUkFOU01JVFRIUkVTSE9MRENPTlRST0xfMTZCWVRFUykpCisjZGVmaW5lIElTX0VUSF9GT1JXQVJEX0VSUk9SX0ZSQU1FUyhDTUQpICgoKENNRCkgPT0gRVRIX0ZPUldBUkRFUlJPUkZSQU1FU19FTkFCTEUpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQ01EKSA9PSBFVEhfRk9SV0FSREVSUk9SRlJBTUVTX0RJU0FCTEUpKQorI2RlZmluZSBJU19FVEhfRk9SV0FSRF9VTkRFUlNJWkVEX0dPT0RfRlJBTUVTKENNRCkgKCgoQ01EKSA9PSBFVEhfRk9SV0FSRFVOREVSU0laRURHT09ERlJBTUVTX0VOQUJMRSkgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQ01EKSA9PSBFVEhfRk9SV0FSRFVOREVSU0laRURHT09ERlJBTUVTX0RJU0FCTEUpKQorI2RlZmluZSBJU19FVEhfUkVDRUlWRV9USFJFU0hPTERfQ09OVFJPTChUSFJFU0hPTEQpICgoKFRIUkVTSE9MRCkgPT0gRVRIX1JFQ0VJVkVEVEhSRVNIT0xEQ09OVFJPTF82NEJZVEVTKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoVEhSRVNIT0xEKSA9PSBFVEhfUkVDRUlWRURUSFJFU0hPTERDT05UUk9MXzMyQllURVMpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChUSFJFU0hPTEQpID09IEVUSF9SRUNFSVZFRFRIUkVTSE9MRENPTlRST0xfOTZCWVRFUykgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKFRIUkVTSE9MRCkgPT0gRVRIX1JFQ0VJVkVEVEhSRVNIT0xEQ09OVFJPTF8xMjhCWVRFUykpCisjZGVmaW5lIElTX0VUSF9TRUNPTkRfRlJBTUVfT1BFUkFURShDTUQpICgoKENNRCkgPT0gRVRIX1NFQ09OREZSQU1FT1BFUkFSVEVfRU5BQkxFKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKENNRCkgPT0gRVRIX1NFQ09OREZSQU1FT1BFUkFSVEVfRElTQUJMRSkpCisjZGVmaW5lIElTX0VUSF9BRERSRVNTX0FMSUdORURfQkVBVFMoQ01EKSAoKChDTUQpID09IEVUSF9BRERSRVNTQUxJR05FREJFQVRTX0VOQUJMRSkgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQ01EKSA9PSBFVEhfQUREUkVTU0FMSUdORURCRUFUU19ESVNBQkxFKSkKKyNkZWZpbmUgSVNfRVRIX0ZJWEVEX0JVUlNUKENNRCkgKCgoQ01EKSA9PSBFVEhfRklYRURCVVJTVF9FTkFCTEUpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQ01EKSA9PSBFVEhfRklYRURCVVJTVF9ESVNBQkxFKSkKKyNkZWZpbmUgSVNfRVRIX1JYRE1BX0JVUlNUX0xFTkdUSChMRU5HVEgpICgoKExFTkdUSCkgPT0gRVRIX1JYRE1BQlVSU1RMRU5HVEhfMUJFQVQpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKExFTkdUSCkgPT0gRVRIX1JYRE1BQlVSU1RMRU5HVEhfMkJFQVQpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKExFTkdUSCkgPT0gRVRIX1JYRE1BQlVSU1RMRU5HVEhfNEJFQVQpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKExFTkdUSCkgPT0gRVRIX1JYRE1BQlVSU1RMRU5HVEhfOEJFQVQpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKExFTkdUSCkgPT0gRVRIX1JYRE1BQlVSU1RMRU5HVEhfMTZCRUFUKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChMRU5HVEgpID09IEVUSF9SWERNQUJVUlNUTEVOR1RIXzMyQkVBVCkgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoTEVOR1RIKSA9PSBFVEhfUlhETUFCVVJTVExFTkdUSF80WFBCTF80QkVBVCkgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoTEVOR1RIKSA9PSBFVEhfUlhETUFCVVJTVExFTkdUSF80WFBCTF84QkVBVCkgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoTEVOR1RIKSA9PSBFVEhfUlhETUFCVVJTVExFTkdUSF80WFBCTF8xNkJFQVQpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKExFTkdUSCkgPT0gRVRIX1JYRE1BQlVSU1RMRU5HVEhfNFhQQkxfMzJCRUFUKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChMRU5HVEgpID09IEVUSF9SWERNQUJVUlNUTEVOR1RIXzRYUEJMXzY0QkVBVCkgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoTEVOR1RIKSA9PSBFVEhfUlhETUFCVVJTVExFTkdUSF80WFBCTF8xMjhCRUFUKSkKKyNkZWZpbmUgSVNfRVRIX1RYRE1BX0JVUlNUX0xFTkdUSChMRU5HVEgpICgoKExFTkdUSCkgPT0gRVRIX1RYRE1BQlVSU1RMRU5HVEhfMUJFQVQpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKExFTkdUSCkgPT0gRVRIX1RYRE1BQlVSU1RMRU5HVEhfMkJFQVQpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKExFTkdUSCkgPT0gRVRIX1RYRE1BQlVSU1RMRU5HVEhfNEJFQVQpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKExFTkdUSCkgPT0gRVRIX1RYRE1BQlVSU1RMRU5HVEhfOEJFQVQpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKExFTkdUSCkgPT0gRVRIX1RYRE1BQlVSU1RMRU5HVEhfMTZCRUFUKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChMRU5HVEgpID09IEVUSF9UWERNQUJVUlNUTEVOR1RIXzMyQkVBVCkgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoTEVOR1RIKSA9PSBFVEhfVFhETUFCVVJTVExFTkdUSF80WFBCTF80QkVBVCkgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoTEVOR1RIKSA9PSBFVEhfVFhETUFCVVJTVExFTkdUSF80WFBCTF84QkVBVCkgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoTEVOR1RIKSA9PSBFVEhfVFhETUFCVVJTVExFTkdUSF80WFBCTF8xNkJFQVQpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKExFTkdUSCkgPT0gRVRIX1RYRE1BQlVSU1RMRU5HVEhfNFhQQkxfMzJCRUFUKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChMRU5HVEgpID09IEVUSF9UWERNQUJVUlNUTEVOR1RIXzRYUEJMXzY0QkVBVCkgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoTEVOR1RIKSA9PSBFVEhfVFhETUFCVVJTVExFTkdUSF80WFBCTF8xMjhCRUFUKSkKKyNkZWZpbmUgSVNfRVRIX0RNQV9ERVNDX1NLSVBfTEVOR1RIKExFTkdUSCkgKChMRU5HVEgpIDw9IDB4MUZVKQorI2RlZmluZSBJU19FVEhfRE1BX0FSQklUUkFUSU9OX1JPVU5EUk9CSU5fUlhUWChSQVRJTykgKCgoUkFUSU8pID09IEVUSF9ETUFBUkJJVFJBVElPTl9ST1VORFJPQklOX1JYVFhfMV8xKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChSQVRJTykgPT0gRVRIX0RNQUFSQklUUkFUSU9OX1JPVU5EUk9CSU5fUlhUWF8yXzEpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKFJBVElPKSA9PSBFVEhfRE1BQVJCSVRSQVRJT05fUk9VTkRST0JJTl9SWFRYXzNfMSkgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoUkFUSU8pID09IEVUSF9ETUFBUkJJVFJBVElPTl9ST1VORFJPQklOX1JYVFhfNF8xKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChSQVRJTykgPT0gRVRIX0RNQUFSQklUUkFUSU9OX1JYUFJJT1JUWCkpCisjZGVmaW5lIElTX0VUSF9ETUFUWERFU0NfR0VUX0ZMQUcoRkxBRykgKCgoRkxBRykgPT0gRVRIX0RNQVRYREVTQ19PV04pIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChGTEFHKSA9PSBFVEhfRE1BVFhERVNDX0lDKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoRkxBRykgPT0gRVRIX0RNQVRYREVTQ19MUykgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEZMQUcpID09IEVUSF9ETUFUWERFU0NfRlMpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChGTEFHKSA9PSBFVEhfRE1BVFhERVNDX0RDKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoRkxBRykgPT0gRVRIX0RNQVRYREVTQ19EUCkgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEZMQUcpID09IEVUSF9ETUFUWERFU0NfVFRTRSkgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEZMQUcpID09IEVUSF9ETUFUWERFU0NfVEVSKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoRkxBRykgPT0gRVRIX0RNQVRYREVTQ19UQ0gpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChGTEFHKSA9PSBFVEhfRE1BVFhERVNDX1RUU1MpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChGTEFHKSA9PSBFVEhfRE1BVFhERVNDX0lIRSkgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEZMQUcpID09IEVUSF9ETUFUWERFU0NfRVMpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChGTEFHKSA9PSBFVEhfRE1BVFhERVNDX0pUKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoRkxBRykgPT0gRVRIX0RNQVRYREVTQ19GRikgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEZMQUcpID09IEVUSF9ETUFUWERFU0NfUENFKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoRkxBRykgPT0gRVRIX0RNQVRYREVTQ19MQ0EpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChGTEFHKSA9PSBFVEhfRE1BVFhERVNDX05DKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoRkxBRykgPT0gRVRIX0RNQVRYREVTQ19MQ08pIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChGTEFHKSA9PSBFVEhfRE1BVFhERVNDX0VDKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoRkxBRykgPT0gRVRIX0RNQVRYREVTQ19WRikgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEZMQUcpID09IEVUSF9ETUFUWERFU0NfQ0MpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChGTEFHKSA9PSBFVEhfRE1BVFhERVNDX0VEKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoRkxBRykgPT0gRVRIX0RNQVRYREVTQ19VRikgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEZMQUcpID09IEVUSF9ETUFUWERFU0NfREIpKQorI2RlZmluZSBJU19FVEhfRE1BX1RYREVTQ19TRUdNRU5UKFNFR01FTlQpICgoKFNFR01FTlQpID09IEVUSF9ETUFUWERFU0NfTEFTVFNFR01FTlRTKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoU0VHTUVOVCkgPT0gRVRIX0RNQVRYREVTQ19GSVJTVFNFR01FTlQpKQorI2RlZmluZSBJU19FVEhfRE1BX1RYREVTQ19DSEVDS1NVTShDSEVDS1NVTSkgKCgoQ0hFQ0tTVU0pID09IEVUSF9ETUFUWERFU0NfQ0hFQ0tTVU1CWVBBU1MpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKENIRUNLU1VNKSA9PSBFVEhfRE1BVFhERVNDX0NIRUNLU1VNSVBWNEhFQURFUikgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQ0hFQ0tTVU0pID09IEVUSF9ETUFUWERFU0NfQ0hFQ0tTVU1UQ1BVRFBJQ01QU0VHTUVOVCkgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQ0hFQ0tTVU0pID09IEVUSF9ETUFUWERFU0NfQ0hFQ0tTVU1UQ1BVRFBJQ01QRlVMTCkpCisjZGVmaW5lIElTX0VUSF9ETUFUWERFU0NfQlVGRkVSX1NJWkUoU0laRSkgKChTSVpFKSA8PSAweDFGRkZVKQorI2RlZmluZSBJU19FVEhfRE1BUlhERVNDX0dFVF9GTEFHKEZMQUcpICgoKEZMQUcpID09IEVUSF9ETUFSWERFU0NfT1dOKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoRkxBRykgPT0gRVRIX0RNQVJYREVTQ19BRk0pIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChGTEFHKSA9PSBFVEhfRE1BUlhERVNDX0VTKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoRkxBRykgPT0gRVRIX0RNQVJYREVTQ19ERSkgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEZMQUcpID09IEVUSF9ETUFSWERFU0NfU0FGKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoRkxBRykgPT0gRVRIX0RNQVJYREVTQ19MRSkgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEZMQUcpID09IEVUSF9ETUFSWERFU0NfT0UpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChGTEFHKSA9PSBFVEhfRE1BUlhERVNDX1ZMQU4pIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChGTEFHKSA9PSBFVEhfRE1BUlhERVNDX0ZTKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoRkxBRykgPT0gRVRIX0RNQVJYREVTQ19MUykgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEZMQUcpID09IEVUSF9ETUFSWERFU0NfSVBWNEhDRSkgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEZMQUcpID09IEVUSF9ETUFSWERFU0NfTEMpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChGTEFHKSA9PSBFVEhfRE1BUlhERVNDX0ZUKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoRkxBRykgPT0gRVRIX0RNQVJYREVTQ19SV1QpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChGTEFHKSA9PSBFVEhfRE1BUlhERVNDX1JFKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoRkxBRykgPT0gRVRIX0RNQVJYREVTQ19EQkUpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChGTEFHKSA9PSBFVEhfRE1BUlhERVNDX0NFKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoRkxBRykgPT0gRVRIX0RNQVJYREVTQ19NQU1QQ0UpKQorI2RlZmluZSBJU19FVEhfRE1BX1JYREVTQ19CVUZGRVIoQlVGRkVSKSAoKChCVUZGRVIpID09IEVUSF9ETUFSWERFU0NfQlVGRkVSMSkgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChCVUZGRVIpID09IEVUSF9ETUFSWERFU0NfQlVGRkVSMikpCisjZGVmaW5lIElTX0VUSF9QTVRfR0VUX0ZMQUcoRkxBRykgKCgoRkxBRykgPT0gRVRIX1BNVF9GTEFHX1dVRlIpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChGTEFHKSA9PSBFVEhfUE1UX0ZMQUdfTVBSKSkKKyNkZWZpbmUgSVNfRVRIX0RNQV9GTEFHKEZMQUcpICgoKChGTEFHKSAmIDB4QzdGRTE4MDBVKSA9PSAweDAwVSkgJiYgKChGTEFHKSAhPSAweDAwVSkpCisjZGVmaW5lIElTX0VUSF9ETUFfR0VUX0ZMQUcoRkxBRykgKCgoRkxBRykgPT0gRVRIX0RNQV9GTEFHX1RTVCkgfHwgKChGTEFHKSA9PSBFVEhfRE1BX0ZMQUdfUE1UKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoRkxBRykgPT0gRVRIX0RNQV9GTEFHX01NQykgfHwgKChGTEFHKSA9PSBFVEhfRE1BX0ZMQUdfREFUQVRSQU5TRkVSRVJST1IpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChGTEFHKSA9PSBFVEhfRE1BX0ZMQUdfUkVBRFdSSVRFRVJST1IpIHx8ICgoRkxBRykgPT0gRVRIX0RNQV9GTEFHX0FDQ0VTU0VSUk9SKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoRkxBRykgPT0gRVRIX0RNQV9GTEFHX05JUykgfHwgKChGTEFHKSA9PSBFVEhfRE1BX0ZMQUdfQUlTKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoRkxBRykgPT0gRVRIX0RNQV9GTEFHX0VSKSB8fCAoKEZMQUcpID09IEVUSF9ETUFfRkxBR19GQkUpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChGTEFHKSA9PSBFVEhfRE1BX0ZMQUdfRVQpIHx8ICgoRkxBRykgPT0gRVRIX0RNQV9GTEFHX1JXVCkgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEZMQUcpID09IEVUSF9ETUFfRkxBR19SUFMpIHx8ICgoRkxBRykgPT0gRVRIX0RNQV9GTEFHX1JCVSkgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEZMQUcpID09IEVUSF9ETUFfRkxBR19SKSB8fCAoKEZMQUcpID09IEVUSF9ETUFfRkxBR19UVSkgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEZMQUcpID09IEVUSF9ETUFfRkxBR19STykgfHwgKChGTEFHKSA9PSBFVEhfRE1BX0ZMQUdfVEpUKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoRkxBRykgPT0gRVRIX0RNQV9GTEFHX1RCVSkgfHwgKChGTEFHKSA9PSBFVEhfRE1BX0ZMQUdfVFBTKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoRkxBRykgPT0gRVRIX0RNQV9GTEFHX1QpKQorI2RlZmluZSBJU19FVEhfTUFDX0lUKElUKSAoKCgoSVQpICYgMHhGRkZGRkRGMVUpID09IDB4MDBVKSAmJiAoKElUKSAhPSAweDAwVSkpCisjZGVmaW5lIElTX0VUSF9NQUNfR0VUX0lUKElUKSAoKChJVCkgPT0gRVRIX01BQ19JVF9UU1QpIHx8ICgoSVQpID09IEVUSF9NQUNfSVRfTU1DVCkgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSVQpID09IEVUSF9NQUNfSVRfTU1DUikgfHwgKChJVCkgPT0gRVRIX01BQ19JVF9NTUMpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElUKSA9PSBFVEhfTUFDX0lUX1BNVCkpCisjZGVmaW5lIElTX0VUSF9NQUNfR0VUX0ZMQUcoRkxBRykgKCgoRkxBRykgPT0gRVRIX01BQ19GTEFHX1RTVCkgfHwgKChGTEFHKSA9PSBFVEhfTUFDX0ZMQUdfTU1DVCkgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEZMQUcpID09IEVUSF9NQUNfRkxBR19NTUNSKSB8fCAoKEZMQUcpID09IEVUSF9NQUNfRkxBR19NTUMpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChGTEFHKSA9PSBFVEhfTUFDX0ZMQUdfUE1UKSkKKyNkZWZpbmUgSVNfRVRIX0RNQV9JVChJVCkgKCgoKElUKSAmIDB4QzdGRTE4MDBVKSA9PSAweDAwVSkgJiYgKChJVCkgIT0gMHgwMFUpKQorI2RlZmluZSBJU19FVEhfRE1BX0dFVF9JVChJVCkgKCgoSVQpID09IEVUSF9ETUFfSVRfVFNUKSB8fCAoKElUKSA9PSBFVEhfRE1BX0lUX1BNVCkgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSVQpID09IEVUSF9ETUFfSVRfTU1DKSB8fCAoKElUKSA9PSBFVEhfRE1BX0lUX05JUykgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSVQpID09IEVUSF9ETUFfSVRfQUlTKSB8fCAoKElUKSA9PSBFVEhfRE1BX0lUX0VSKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJVCkgPT0gRVRIX0RNQV9JVF9GQkUpIHx8ICgoSVQpID09IEVUSF9ETUFfSVRfRVQpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElUKSA9PSBFVEhfRE1BX0lUX1JXVCkgfHwgKChJVCkgPT0gRVRIX0RNQV9JVF9SUFMpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElUKSA9PSBFVEhfRE1BX0lUX1JCVSkgfHwgKChJVCkgPT0gRVRIX0RNQV9JVF9SKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJVCkgPT0gRVRIX0RNQV9JVF9UVSkgfHwgKChJVCkgPT0gRVRIX0RNQV9JVF9STykgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSVQpID09IEVUSF9ETUFfSVRfVEpUKSB8fCAoKElUKSA9PSBFVEhfRE1BX0lUX1RCVSkgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSVQpID09IEVUSF9ETUFfSVRfVFBTKSB8fCAoKElUKSA9PSBFVEhfRE1BX0lUX1QpKQorI2RlZmluZSBJU19FVEhfRE1BX0dFVF9PVkVSRkxPVyhPVkVSRkxPVykgKCgoT1ZFUkZMT1cpID09IEVUSF9ETUFfT1ZFUkZMT1dfUlhGSUZPQ09VTlRFUikgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoT1ZFUkZMT1cpID09IEVUSF9ETUFfT1ZFUkZMT1dfTUlTU0VERlJBTUVDT1VOVEVSKSkKKyNkZWZpbmUgSVNfRVRIX01NQ19JVChJVCkgKCgoKChJVCkgJiAweEZGREYzRkZGVSkgPT0gMHgwMFUpIHx8ICgoKElUKSAmIDB4RUZGREZGOUZVKSA9PSAweDAwVSkpICYmIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSVQpICE9IDB4MDBVKSkKKyNkZWZpbmUgSVNfRVRIX01NQ19HRVRfSVQoSVQpICgoKElUKSA9PSBFVEhfTU1DX0lUX1RHRikgfHwgKChJVCkgPT0gRVRIX01NQ19JVF9UR0ZNU0MpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElUKSA9PSBFVEhfTU1DX0lUX1RHRlNDKSB8fCAoKElUKSA9PSBFVEhfTU1DX0lUX1JHVUYpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElUKSA9PSBFVEhfTU1DX0lUX1JGQUUpIHx8ICgoSVQpID09IEVUSF9NTUNfSVRfUkZDRSkpCisjZGVmaW5lIElTX0VUSF9FTkhBTkNFRF9ERVNDUklQVE9SX0ZPUk1BVChDTUQpICgoKENNRCkgPT0gRVRIX0RNQUVOSEFOQ0VEREVTQ1JJUFRPUl9FTkFCTEUpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQ01EKSA9PSBFVEhfRE1BRU5IQU5DRURERVNDUklQVE9SX0RJU0FCTEUpKQorCisvKioKKyAgKiBAfQorICAqLworCisvKiogQGFkZHRvZ3JvdXAgRVRIX1ByaXZhdGVfRGVmaW5lcworICAqIEB7CisgICovCisvKiBEZWxheSB0byB3YWl0IHdoZW4gd3JpdGluZyB0byBzb21lIEV0aGVybmV0IHJlZ2lzdGVycyAqLworI2RlZmluZSBFVEhfUkVHX1dSSVRFX0RFTEFZICAgICAweDAwMDAwMDAxVQorCisvKiBFVEhFUk5FVCBFcnJvcnMgKi8KKyNkZWZpbmUgIEVUSF9TVUNDRVNTICAgICAgICAgICAgMFUKKyNkZWZpbmUgIEVUSF9FUlJPUiAgICAgICAgICAgICAgMVUKKworLyogRVRIRVJORVQgRE1BIFR4IGRlc2NyaXB0b3JzIENvbGxpc2lvbiBDb3VudCBTaGlmdCAqLworI2RlZmluZSAgRVRIX0RNQVRYREVTQ19DT0xMSVNJT05fQ09VTlRTSElGVCAgICAgICAgM1UKKworLyogRVRIRVJORVQgRE1BIFR4IGRlc2NyaXB0b3JzIEJ1ZmZlcjIgU2l6ZSBTaGlmdCAqLworI2RlZmluZSAgRVRIX0RNQVRYREVTQ19CVUZGRVIyX1NJWkVTSElGVCAgICAgICAgICAgMTZVCisKKy8qIEVUSEVSTkVUIERNQSBSeCBkZXNjcmlwdG9ycyBGcmFtZSBMZW5ndGggU2hpZnQgKi8KKyNkZWZpbmUgIEVUSF9ETUFSWERFU0NfRlJBTUVfTEVOR1RIU0hJRlQgICAgICAgICAgIDE2VQorCisvKiBFVEhFUk5FVCBETUEgUnggZGVzY3JpcHRvcnMgQnVmZmVyMiBTaXplIFNoaWZ0ICovCisjZGVmaW5lICBFVEhfRE1BUlhERVNDX0JVRkZFUjJfU0laRVNISUZUICAgICAgICAgICAxNlUKKworLyogRVRIRVJORVQgRE1BIFJ4IGRlc2NyaXB0b3JzIEZyYW1lIGxlbmd0aCBTaGlmdCAqLworI2RlZmluZSAgRVRIX0RNQVJYREVTQ19GUkFNRUxFTkdUSFNISUZUICAgICAgICAgICAgMTZVCisKKy8qIEVUSEVSTkVUIE1BQyBhZGRyZXNzIG9mZnNldHMgKi8KKyNkZWZpbmUgRVRIX01BQ19BRERSX0hCQVNFICAgICh1aW50MzJfdCkoRVRIX01BQ19CQVNFICsgMHg0MFUpICAvKiBFVEhFUk5FVCBNQUMgYWRkcmVzcyBoaWdoIG9mZnNldCAqLworI2RlZmluZSBFVEhfTUFDX0FERFJfTEJBU0UgICAgKHVpbnQzMl90KShFVEhfTUFDX0JBU0UgKyAweDQ0VSkgIC8qIEVUSEVSTkVUIE1BQyBhZGRyZXNzIGxvdyBvZmZzZXQgKi8KKworLyogRVRIRVJORVQgTUFDTUlJQVIgcmVnaXN0ZXIgTWFzayAqLworI2RlZmluZSBFVEhfTUFDTUlJQVJfQ1JfTUFTSyAgICAweEZGRkZGRkUzVQorCisvKiBFVEhFUk5FVCBNQUNDUiByZWdpc3RlciBNYXNrICovCisjZGVmaW5lIEVUSF9NQUNDUl9DTEVBUl9NQVNLICAgIDB4RkYyMDgxMEZVCisKKy8qIEVUSEVSTkVUIE1BQ0ZDUiByZWdpc3RlciBNYXNrICovCisjZGVmaW5lIEVUSF9NQUNGQ1JfQ0xFQVJfTUFTSyAgIDB4MDAwMEZGNDFVCisKKy8qIEVUSEVSTkVUIERNQU9NUiByZWdpc3RlciBNYXNrICovCisjZGVmaW5lIEVUSF9ETUFPTVJfQ0xFQVJfTUFTSyAgIDB4RjhERTNGMjNVCisKKy8qIEVUSEVSTkVUIFJlbW90ZSBXYWtlLXVwIGZyYW1lIHJlZ2lzdGVyIGxlbmd0aCAqLworI2RlZmluZSBFVEhfV0FLRVVQX1JFR0lTVEVSX0xFTkdUSCAgICAgIDhVCisKKy8qIEVUSEVSTkVUIE1pc3NlZCBmcmFtZXMgY291bnRlciBTaGlmdCAqLworI2RlZmluZSAgRVRIX0RNQV9SWF9PVkVSRkxPV19NSVNTRURGUkFNRVNfQ09VTlRFUlNISUZUICAgICAxN1UKKyAvKioKKyAgKiBAfQorICAqLworCisvKiBFeHBvcnRlZCB0eXBlcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworLyoqIEBkZWZncm91cCBFVEhfRXhwb3J0ZWRfVHlwZXMgRVRIIEV4cG9ydGVkIFR5cGVzCisgICogQHsKKyAgKi8KKworLyoqCisgICogQGJyaWVmICBIQUwgU3RhdGUgc3RydWN0dXJlcyBkZWZpbml0aW9uCisgICovCit0eXBlZGVmIGVudW0KK3sKKyAgSEFMX0VUSF9TVEFURV9SRVNFVCAgICAgICAgICAgICA9IDB4MDBVLCAgICAvKiE8IFBlcmlwaGVyYWwgbm90IHlldCBJbml0aWFsaXplZCBvciBkaXNhYmxlZCAgICAgICAgICovCisgIEhBTF9FVEhfU1RBVEVfUkVBRFkgICAgICAgICAgICAgPSAweDAxVSwgICAgLyohPCBQZXJpcGhlcmFsIEluaXRpYWxpemVkIGFuZCByZWFkeSBmb3IgdXNlICAgICAgICAgICAqLworICBIQUxfRVRIX1NUQVRFX0JVU1kgICAgICAgICAgICAgID0gMHgwMlUsICAgIC8qITwgYW4gaW50ZXJuYWwgcHJvY2VzcyBpcyBvbmdvaW5nICAgICAgICAgICAgICAgICAgICAgKi8KKyAgSEFMX0VUSF9TVEFURV9CVVNZX1RYICAgICAgICAgICA9IDB4MTJVLCAgICAvKiE8IERhdGEgVHJhbnNtaXNzaW9uIHByb2Nlc3MgaXMgb25nb2luZyAgICAgICAgICAgICAgICovCisgIEhBTF9FVEhfU1RBVEVfQlVTWV9SWCAgICAgICAgICAgPSAweDIyVSwgICAgLyohPCBEYXRhIFJlY2VwdGlvbiBwcm9jZXNzIGlzIG9uZ29pbmcgICAgICAgICAgICAgICAgICAqLworICBIQUxfRVRIX1NUQVRFX0JVU1lfVFhfUlggICAgICAgID0gMHgzMlUsICAgIC8qITwgRGF0YSBUcmFuc21pc3Npb24gYW5kIFJlY2VwdGlvbiBwcm9jZXNzIGlzIG9uZ29pbmcgKi8KKyAgSEFMX0VUSF9TVEFURV9CVVNZX1dSICAgICAgICAgICA9IDB4NDJVLCAgICAvKiE8IFdyaXRlIHByb2Nlc3MgaXMgb25nb2luZyAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisgIEhBTF9FVEhfU1RBVEVfQlVTWV9SRCAgICAgICAgICAgPSAweDgyVSwgICAgLyohPCBSZWFkIHByb2Nlc3MgaXMgb25nb2luZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworICBIQUxfRVRIX1NUQVRFX1RJTUVPVVQgICAgICAgICAgID0gMHgwM1UsICAgIC8qITwgVGltZW91dCBzdGF0ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKyAgSEFMX0VUSF9TVEFURV9FUlJPUiAgICAgICAgICAgICA9IDB4MDRVICAgICAvKiE8IFJlY2VwdGlvbiBwcm9jZXNzIGlzIG9uZ29pbmcgICAgICAgICAgICAgICAgICAgICAgICovCit9SEFMX0VUSF9TdGF0ZVR5cGVEZWY7CisKKy8qKgorICAqIEBicmllZiAgRVRIIEluaXQgU3RydWN0dXJlIGRlZmluaXRpb24KKyAgKi8KKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgdWludDMyX3QgICAgICAgICAgICAgQXV0b05lZ290aWF0aW9uOyAgICAgICAgICAgLyohPCBTZWxlY3RzIG9yIG5vdCB0aGUgQXV0b05lZ290aWF0aW9uIG1vZGUgZm9yIHRoZSBleHRlcm5hbCBQSFkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhlIEF1dG9OZWdvdGlhdGlvbiBhbGxvd3MgYW4gYXV0b21hdGljIHNldHRpbmcgb2YgdGhlIFNwZWVkICgxMC8xMDBNYnBzKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgdGhlIG1vZGUgKGhhbGYvZnVsbC1kdXBsZXgpLgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYSB2YWx1ZSBvZiBAcmVmIEVUSF9BdXRvTmVnb3RpYXRpb24gKi8KKworICB1aW50MzJfdCAgICAgICAgICAgICBTcGVlZDsgICAgICAgICAgICAgICAgICAgICAvKiE8IFNldHMgdGhlIEV0aGVybmV0IHNwZWVkOiAxMC8xMDAgTWJwcy4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGEgdmFsdWUgb2YgQHJlZiBFVEhfU3BlZWQgKi8KKworICB1aW50MzJfdCAgICAgICAgICAgICBEdXBsZXhNb2RlOyAgICAgICAgICAgICAgICAvKiE8IFNlbGVjdHMgdGhlIE1BQyBkdXBsZXggbW9kZTogSGFsZi1EdXBsZXggb3IgRnVsbC1EdXBsZXggbW9kZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYSB2YWx1ZSBvZiBAcmVmIEVUSF9EdXBsZXhfTW9kZSAqLworCisgIHVpbnQxNl90ICAgICAgICAgICAgIFBoeUFkZHJlc3M7ICAgICAgICAgICAgICAgIC8qITwgRXRoZXJuZXQgUEhZIGFkZHJlc3MuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIG11c3QgYmUgYSBudW1iZXIgYmV0d2VlbiBNaW5fRGF0YSA9IDAgYW5kIE1heF9EYXRhID0gMzIgKi8KKworICB1aW50OF90ICAgICAgICAgICAgICpNQUNBZGRyOyAgICAgICAgICAgICAgICAgICAvKiE8IE1BQyBBZGRyZXNzIG9mIHVzZWQgSGFyZHdhcmU6IG11c3QgYmUgcG9pbnRlciBvbiBhbiBhcnJheSBvZiA2IGJ5dGVzICovCisKKyAgdWludDMyX3QgICAgICAgICAgICAgUnhNb2RlOyAgICAgICAgICAgICAgICAgICAgLyohPCBTZWxlY3RzIHRoZSBFdGhlcm5ldCBSeCBtb2RlOiBQb2xsaW5nIG1vZGUsIEludGVycnVwdCBtb2RlLgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYSB2YWx1ZSBvZiBAcmVmIEVUSF9SeF9Nb2RlICovCisKKyAgdWludDMyX3QgICAgICAgICAgICAgQ2hlY2tzdW1Nb2RlOyAgICAgICAgICAgICAgLyohPCBTZWxlY3RzIGlmIHRoZSBjaGVja3N1bSBpcyBjaGVjayBieSBoYXJkd2FyZSBvciBieSBzb2Z0d2FyZS4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIG9mIEByZWYgRVRIX0NoZWNrc3VtX01vZGUgKi8KKworICB1aW50MzJfdCAgICAgICAgICAgICBNZWRpYUludGVyZmFjZTsgICAgICAgICAgICAvKiE8IFNlbGVjdHMgdGhlIG1lZGlhLWluZGVwZW5kZW50IGludGVyZmFjZSBvciB0aGUgcmVkdWNlZCBtZWRpYS1pbmRlcGVuZGVudCBpbnRlcmZhY2UuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYSB2YWx1ZSBvZiBAcmVmIEVUSF9NZWRpYV9JbnRlcmZhY2UgKi8KKworfSBFVEhfSW5pdFR5cGVEZWY7CisKKworIC8qKgorICAqIEBicmllZiAgRVRIIE1BQyBDb25maWd1cmF0aW9uIFN0cnVjdHVyZSBkZWZpbml0aW9uCisgICovCisKK3R5cGVkZWYgc3RydWN0Cit7CisgIHVpbnQzMl90ICAgICAgICAgICAgIFdhdGNoZG9nOyAgICAgICAgICAgICAgICAgIC8qITwgU2VsZWN0cyBvciBub3QgdGhlIFdhdGNoZG9nIHRpbWVyCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdoZW4gZW5hYmxlZCwgdGhlIE1BQyBhbGxvd3Mgbm8gbW9yZSB0aGVuIDIwNDggYnl0ZXMgdG8gYmUgcmVjZWl2ZWQuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdoZW4gZGlzYWJsZWQsIHRoZSBNQUMgY2FuIHJlY2VpdmUgdXAgdG8gMTYzODQgYnl0ZXMuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIG9mIEByZWYgRVRIX1dhdGNoZG9nICovCisKKyAgdWludDMyX3QgICAgICAgICAgICAgSmFiYmVyOyAgICAgICAgICAgICAgICAgICAgLyohPCBTZWxlY3RzIG9yIG5vdCBKYWJiZXIgdGltZXIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV2hlbiBlbmFibGVkLCB0aGUgTUFDIGFsbG93cyBubyBtb3JlIHRoZW4gMjA0OCBieXRlcyB0byBiZSBzZW50LgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXaGVuIGRpc2FibGVkLCB0aGUgTUFDIGNhbiBzZW5kIHVwIHRvIDE2Mzg0IGJ5dGVzLgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYSB2YWx1ZSBvZiBAcmVmIEVUSF9KYWJiZXIgKi8KKworICB1aW50MzJfdCAgICAgICAgICAgICBJbnRlckZyYW1lR2FwOyAgICAgICAgICAgICAvKiE8IFNlbGVjdHMgdGhlIG1pbmltdW0gSUZHIGJldHdlZW4gZnJhbWVzIGR1cmluZyB0cmFuc21pc3Npb24uCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIG9mIEByZWYgRVRIX0ludGVyX0ZyYW1lX0dhcCAqLworCisgIHVpbnQzMl90ICAgICAgICAgICAgIENhcnJpZXJTZW5zZTsgICAgICAgICAgICAgIC8qITwgU2VsZWN0cyBvciBub3QgdGhlIENhcnJpZXIgU2Vuc2UuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIG9mIEByZWYgRVRIX0NhcnJpZXJfU2Vuc2UgKi8KKworICB1aW50MzJfdCAgICAgICAgICAgICBSZWNlaXZlT3duOyAgICAgICAgICAgICAgICAvKiE8IFNlbGVjdHMgb3Igbm90IHRoZSBSZWNlaXZlT3duLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWNlaXZlT3duIGFsbG93cyB0aGUgcmVjZXB0aW9uIG9mIGZyYW1lcyB3aGVuIHRoZSBUWF9FTiBzaWduYWwgaXMgYXNzZXJ0ZWQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gSGFsZi1EdXBsZXggbW9kZS4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGEgdmFsdWUgb2YgQHJlZiBFVEhfUmVjZWl2ZV9Pd24gKi8KKworICB1aW50MzJfdCAgICAgICAgICAgICBMb29wYmFja01vZGU7ICAgICAgICAgICAgICAvKiE8IFNlbGVjdHMgb3Igbm90IHRoZSBpbnRlcm5hbCBNQUMgTUlJIExvb3BiYWNrIG1vZGUuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIG9mIEByZWYgRVRIX0xvb3BfQmFja19Nb2RlICovCisKKyAgdWludDMyX3QgICAgICAgICAgICAgQ2hlY2tzdW1PZmZsb2FkOyAgICAgICAgICAgLyohPCBTZWxlY3RzIG9yIG5vdCB0aGUgSVB2NCBjaGVja3N1bSBjaGVja2luZyBmb3IgcmVjZWl2ZWQgZnJhbWUgcGF5bG9hZHMnIFRDUC9VRFAvSUNNUCBoZWFkZXJzLgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYSB2YWx1ZSBvZiBAcmVmIEVUSF9DaGVja3N1bV9PZmZsb2FkICovCisKKyAgdWludDMyX3QgICAgICAgICAgICAgUmV0cnlUcmFuc21pc3Npb247ICAgICAgICAgLyohPCBTZWxlY3RzIG9yIG5vdCB0aGUgTUFDIGF0dGVtcHQgcmV0cmllcyB0cmFuc21pc3Npb24sIGJhc2VkIG9uIHRoZSBzZXR0aW5ncyBvZiBCTCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2hlbiBhIGNvbGxpc2lvbiBvY2N1cnMgKEhhbGYtRHVwbGV4IG1vZGUpLgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYSB2YWx1ZSBvZiBAcmVmIEVUSF9SZXRyeV9UcmFuc21pc3Npb24gKi8KKworICB1aW50MzJfdCAgICAgICAgICAgICBBdXRvbWF0aWNQYWRDUkNTdHJpcDsgICAgICAvKiE8IFNlbGVjdHMgb3Igbm90IHRoZSBBdXRvbWF0aWMgTUFDIFBhZC9DUkMgU3RyaXBwaW5nLgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYSB2YWx1ZSBvZiBAcmVmIEVUSF9BdXRvbWF0aWNfUGFkX0NSQ19TdHJpcCAqLworCisgIHVpbnQzMl90ICAgICAgICAgICAgIEJhY2tPZmZMaW1pdDsgICAgICAgICAgICAgIC8qITwgU2VsZWN0cyB0aGUgQmFja09mZiBsaW1pdCB2YWx1ZS4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGEgdmFsdWUgb2YgQHJlZiBFVEhfQmFja19PZmZfTGltaXQgKi8KKworICB1aW50MzJfdCAgICAgICAgICAgICBEZWZlcnJhbENoZWNrOyAgICAgICAgICAgICAvKiE8IFNlbGVjdHMgb3Igbm90IHRoZSBkZWZlcnJhbCBjaGVjayBmdW5jdGlvbiAoSGFsZi1EdXBsZXggbW9kZSkuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIG9mIEByZWYgRVRIX0RlZmVycmFsX0NoZWNrICovCisKKyAgdWludDMyX3QgICAgICAgICAgICAgUmVjZWl2ZUFsbDsgICAgICAgICAgICAgICAgLyohPCBTZWxlY3RzIG9yIG5vdCBhbGwgZnJhbWVzIHJlY2VwdGlvbiBieSB0aGUgTUFDIChObyBmaWx0ZXJpbmcpLgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYSB2YWx1ZSBvZiBAcmVmIEVUSF9SZWNlaXZlX0FsbCAqLworCisgIHVpbnQzMl90ICAgICAgICAgICAgIFNvdXJjZUFkZHJGaWx0ZXI7ICAgICAgICAgIC8qITwgU2VsZWN0cyB0aGUgU291cmNlIEFkZHJlc3MgRmlsdGVyIG1vZGUuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIG9mIEByZWYgRVRIX1NvdXJjZV9BZGRyX0ZpbHRlciAqLworCisgIHVpbnQzMl90ICAgICAgICAgICAgIFBhc3NDb250cm9sRnJhbWVzOyAgICAgICAgIC8qITwgU2V0cyB0aGUgZm9yd2FyZGluZyBtb2RlIG9mIHRoZSBjb250cm9sIGZyYW1lcyAoaW5jbHVkaW5nIHVuaWNhc3QgYW5kIG11bHRpY2FzdCBQQVVTRSBmcmFtZXMpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIG9mIEByZWYgRVRIX1Bhc3NfQ29udHJvbF9GcmFtZXMgKi8KKworICB1aW50MzJfdCAgICAgICAgICAgICBCcm9hZGNhc3RGcmFtZXNSZWNlcHRpb247ICAvKiE8IFNlbGVjdHMgb3Igbm90IHRoZSByZWNlcHRpb24gb2YgQnJvYWRjYXN0IEZyYW1lcy4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGEgdmFsdWUgb2YgQHJlZiBFVEhfQnJvYWRjYXN0X0ZyYW1lc19SZWNlcHRpb24gKi8KKworICB1aW50MzJfdCAgICAgICAgICAgICBEZXN0aW5hdGlvbkFkZHJGaWx0ZXI7ICAgICAvKiE8IFNldHMgdGhlIGRlc3RpbmF0aW9uIGZpbHRlciBtb2RlIGZvciBib3RoIHVuaWNhc3QgYW5kIG11bHRpY2FzdCBmcmFtZXMuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIG9mIEByZWYgRVRIX0Rlc3RpbmF0aW9uX0FkZHJfRmlsdGVyICovCisKKyAgdWludDMyX3QgICAgICAgICAgICAgUHJvbWlzY3VvdXNNb2RlOyAgICAgICAgICAgLyohPCBTZWxlY3RzIG9yIG5vdCB0aGUgUHJvbWlzY3VvdXMgTW9kZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYSB2YWx1ZSBvZiBAcmVmIEVUSF9Qcm9taXNjdW91c19Nb2RlICovCisKKyAgdWludDMyX3QgICAgICAgICAgICAgTXVsdGljYXN0RnJhbWVzRmlsdGVyOyAgICAgLyohPCBTZWxlY3RzIHRoZSBNdWx0aWNhc3QgRnJhbWVzIGZpbHRlciBtb2RlOiBOb25lL0hhc2hUYWJsZUZpbHRlci9QZXJmZWN0RmlsdGVyL1BlcmZlY3RIYXNoVGFibGVGaWx0ZXIuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIG9mIEByZWYgRVRIX011bHRpY2FzdF9GcmFtZXNfRmlsdGVyICovCisKKyAgdWludDMyX3QgICAgICAgICAgICAgVW5pY2FzdEZyYW1lc0ZpbHRlcjsgICAgICAgLyohPCBTZWxlY3RzIHRoZSBVbmljYXN0IEZyYW1lcyBmaWx0ZXIgbW9kZTogSGFzaFRhYmxlRmlsdGVyL1BlcmZlY3RGaWx0ZXIvUGVyZmVjdEhhc2hUYWJsZUZpbHRlci4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGEgdmFsdWUgb2YgQHJlZiBFVEhfVW5pY2FzdF9GcmFtZXNfRmlsdGVyICovCisKKyAgdWludDMyX3QgICAgICAgICAgICAgSGFzaFRhYmxlSGlnaDsgICAgICAgICAgICAgLyohPCBUaGlzIGZpZWxkIGhvbGRzIHRoZSBoaWdoZXIgMzIgYml0cyBvZiBIYXNoIHRhYmxlLgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBtdXN0IGJlIGEgbnVtYmVyIGJldHdlZW4gTWluX0RhdGEgPSAweDAgYW5kIE1heF9EYXRhID0gMHhGRkZGRkZGRlUgKi8KKworICB1aW50MzJfdCAgICAgICAgICAgICBIYXNoVGFibGVMb3c7ICAgICAgICAgICAgICAvKiE8IFRoaXMgZmllbGQgaG9sZHMgdGhlIGxvd2VyIDMyIGJpdHMgb2YgSGFzaCB0YWJsZS4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgbXVzdCBiZSBhIG51bWJlciBiZXR3ZWVuIE1pbl9EYXRhID0gMHgwIGFuZCBNYXhfRGF0YSA9IDB4RkZGRkZGRkZVICAqLworCisgIHVpbnQzMl90ICAgICAgICAgICAgIFBhdXNlVGltZTsgICAgICAgICAgICAgICAgIC8qITwgVGhpcyBmaWVsZCBob2xkcyB0aGUgdmFsdWUgdG8gYmUgdXNlZCBpbiB0aGUgUGF1c2UgVGltZSBmaWVsZCBpbiB0aGUgdHJhbnNtaXQgY29udHJvbCBmcmFtZS4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgbXVzdCBiZSBhIG51bWJlciBiZXR3ZWVuIE1pbl9EYXRhID0gMHgwIGFuZCBNYXhfRGF0YSA9IDB4RkZGRlUgKi8KKworICB1aW50MzJfdCAgICAgICAgICAgICBaZXJvUXVhbnRhUGF1c2U7ICAgICAgICAgICAvKiE8IFNlbGVjdHMgb3Igbm90IHRoZSBhdXRvbWF0aWMgZ2VuZXJhdGlvbiBvZiBaZXJvLVF1YW50YSBQYXVzZSBDb250cm9sIGZyYW1lcy4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGEgdmFsdWUgb2YgQHJlZiBFVEhfWmVyb19RdWFudGFfUGF1c2UgKi8KKworICB1aW50MzJfdCAgICAgICAgICAgICBQYXVzZUxvd1RocmVzaG9sZDsgICAgICAgICAvKiE8IFRoaXMgZmllbGQgY29uZmlndXJlcyB0aGUgdGhyZXNob2xkIG9mIHRoZSBQQVVTRSB0byBiZSBjaGVja2VkIGZvcgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvbWF0aWMgcmV0cmFuc21pc3Npb24gb2YgUEFVU0UgRnJhbWUuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIG9mIEByZWYgRVRIX1BhdXNlX0xvd19UaHJlc2hvbGQgKi8KKworICB1aW50MzJfdCAgICAgICAgICAgICBVbmljYXN0UGF1c2VGcmFtZURldGVjdDsgICAvKiE8IFNlbGVjdHMgb3Igbm90IHRoZSBNQUMgZGV0ZWN0aW9uIG9mIHRoZSBQYXVzZSBmcmFtZXMgKHdpdGggTUFDIEFkZHJlc3MwCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuaWNhc3QgYWRkcmVzcyBhbmQgdW5pcXVlIG11bHRpY2FzdCBhZGRyZXNzKS4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGEgdmFsdWUgb2YgQHJlZiBFVEhfVW5pY2FzdF9QYXVzZV9GcmFtZV9EZXRlY3QgKi8KKworICB1aW50MzJfdCAgICAgICAgICAgICBSZWNlaXZlRmxvd0NvbnRyb2w7ICAgICAgICAvKiE8IEVuYWJsZXMgb3IgZGlzYWJsZXMgdGhlIE1BQyB0byBkZWNvZGUgdGhlIHJlY2VpdmVkIFBhdXNlIGZyYW1lIGFuZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlIGl0cyB0cmFuc21pdHRlciBmb3IgYSBzcGVjaWZpZWQgdGltZSAoUGF1c2UgVGltZSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGEgdmFsdWUgb2YgQHJlZiBFVEhfUmVjZWl2ZV9GbG93X0NvbnRyb2wgKi8KKworICB1aW50MzJfdCAgICAgICAgICAgICBUcmFuc21pdEZsb3dDb250cm9sOyAgICAgICAvKiE8IEVuYWJsZXMgb3IgZGlzYWJsZXMgdGhlIE1BQyB0byB0cmFuc21pdCBQYXVzZSBmcmFtZXMgKEZ1bGwtRHVwbGV4IG1vZGUpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9yIHRoZSBNQUMgYmFjay1wcmVzc3VyZSBvcGVyYXRpb24gKEhhbGYtRHVwbGV4IG1vZGUpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIG9mIEByZWYgRVRIX1RyYW5zbWl0X0Zsb3dfQ29udHJvbCAqLworCisgIHVpbnQzMl90ICAgICAgICAgICAgIFZMQU5UYWdDb21wYXJpc29uOyAgICAgICAgIC8qITwgU2VsZWN0cyB0aGUgMTItYml0IFZMQU4gaWRlbnRpZmllciBvciB0aGUgY29tcGxldGUgMTYtYml0IFZMQU4gdGFnIGZvcgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21wYXJpc29uIGFuZCBmaWx0ZXJpbmcuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIG9mIEByZWYgRVRIX1ZMQU5fVGFnX0NvbXBhcmlzb24gKi8KKworICB1aW50MzJfdCAgICAgICAgICAgICBWTEFOVGFnSWRlbnRpZmllcjsgICAgICAgICAvKiE8IEhvbGRzIHRoZSBWTEFOIHRhZyBpZGVudGlmaWVyIGZvciByZWNlaXZlIGZyYW1lcyAqLworCit9IEVUSF9NQUNJbml0VHlwZURlZjsKKworLyoqCisgICogQGJyaWVmICBFVEggRE1BIENvbmZpZ3VyYXRpb24gU3RydWN0dXJlIGRlZmluaXRpb24KKyAgKi8KKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyB1aW50MzJfdCAgICAgICAgICAgICAgRHJvcFRDUElQQ2hlY2tzdW1FcnJvckZyYW1lOyAvKiE8IFNlbGVjdHMgb3Igbm90IHRoZSBEcm9wcGluZyBvZiBUQ1AvSVAgQ2hlY2tzdW0gRXJyb3IgRnJhbWVzLgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIG9mIEByZWYgRVRIX0Ryb3BfVENQX0lQX0NoZWNrc3VtX0Vycm9yX0ZyYW1lICovCisKKyAgdWludDMyX3QgICAgICAgICAgICAgUmVjZWl2ZVN0b3JlRm9yd2FyZDsgICAgICAgICAvKiE8IEVuYWJsZXMgb3IgZGlzYWJsZXMgdGhlIFJlY2VpdmUgc3RvcmUgYW5kIGZvcndhcmQgbW9kZS4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYSB2YWx1ZSBvZiBAcmVmIEVUSF9SZWNlaXZlX1N0b3JlX0ZvcndhcmQgKi8KKworICB1aW50MzJfdCAgICAgICAgICAgICBGbHVzaFJlY2VpdmVkRnJhbWU7ICAgICAgICAgIC8qITwgRW5hYmxlcyBvciBkaXNhYmxlcyB0aGUgZmx1c2hpbmcgb2YgcmVjZWl2ZWQgZnJhbWVzLgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIG9mIEByZWYgRVRIX0ZsdXNoX1JlY2VpdmVkX0ZyYW1lICovCisKKyAgdWludDMyX3QgICAgICAgICAgICAgVHJhbnNtaXRTdG9yZUZvcndhcmQ7ICAgICAgICAvKiE8IEVuYWJsZXMgb3IgZGlzYWJsZXMgVHJhbnNtaXQgc3RvcmUgYW5kIGZvcndhcmQgbW9kZS4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYSB2YWx1ZSBvZiBAcmVmIEVUSF9UcmFuc21pdF9TdG9yZV9Gb3J3YXJkICovCisKKyAgdWludDMyX3QgICAgICAgICAgICAgVHJhbnNtaXRUaHJlc2hvbGRDb250cm9sOyAgICAvKiE8IFNlbGVjdHMgb3Igbm90IHRoZSBUcmFuc21pdCBUaHJlc2hvbGQgQ29udHJvbC4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYSB2YWx1ZSBvZiBAcmVmIEVUSF9UcmFuc21pdF9UaHJlc2hvbGRfQ29udHJvbCAqLworCisgIHVpbnQzMl90ICAgICAgICAgICAgIEZvcndhcmRFcnJvckZyYW1lczsgICAgICAgICAgLyohPCBTZWxlY3RzIG9yIG5vdCB0aGUgZm9yd2FyZCB0byB0aGUgRE1BIG9mIGVycm9uZW91cyBmcmFtZXMuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGEgdmFsdWUgb2YgQHJlZiBFVEhfRm9yd2FyZF9FcnJvcl9GcmFtZXMgKi8KKworICB1aW50MzJfdCAgICAgICAgICAgICBGb3J3YXJkVW5kZXJzaXplZEdvb2RGcmFtZXM7IC8qITwgRW5hYmxlcyBvciBkaXNhYmxlcyB0aGUgUnggRklGTyB0byBmb3J3YXJkIFVuZGVyc2l6ZWQgZnJhbWVzIChmcmFtZXMgd2l0aCBubyBFcnJvcgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCBsZW5ndGggbGVzcyB0aGFuIDY0IGJ5dGVzKSBpbmNsdWRpbmcgcGFkLWJ5dGVzIGFuZCBDUkMpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGEgdmFsdWUgb2YgQHJlZiBFVEhfRm9yd2FyZF9VbmRlcnNpemVkX0dvb2RfRnJhbWVzICovCisKKyAgdWludDMyX3QgICAgICAgICAgICAgUmVjZWl2ZVRocmVzaG9sZENvbnRyb2w7ICAgICAvKiE8IFNlbGVjdHMgdGhlIHRocmVzaG9sZCBsZXZlbCBvZiB0aGUgUmVjZWl2ZSBGSUZPLgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIG9mIEByZWYgRVRIX1JlY2VpdmVfVGhyZXNob2xkX0NvbnRyb2wgKi8KKworICB1aW50MzJfdCAgICAgICAgICAgICBTZWNvbmRGcmFtZU9wZXJhdGU7ICAgICAgICAgIC8qITwgU2VsZWN0cyBvciBub3QgdGhlIE9wZXJhdGUgb24gc2Vjb25kIGZyYW1lIG1vZGUsIHdoaWNoIGFsbG93cyB0aGUgRE1BIHRvIHByb2Nlc3MgYSBzZWNvbmQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmcmFtZSBvZiBUcmFuc21pdCBkYXRhIGV2ZW4gYmVmb3JlIG9idGFpbmluZyB0aGUgc3RhdHVzIGZvciB0aGUgZmlyc3QgZnJhbWUuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGEgdmFsdWUgb2YgQHJlZiBFVEhfU2Vjb25kX0ZyYW1lX09wZXJhdGUgKi8KKworICB1aW50MzJfdCAgICAgICAgICAgICBBZGRyZXNzQWxpZ25lZEJlYXRzOyAgICAgICAgIC8qITwgRW5hYmxlcyBvciBkaXNhYmxlcyB0aGUgQWRkcmVzcyBBbGlnbmVkIEJlYXRzLgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIG9mIEByZWYgRVRIX0FkZHJlc3NfQWxpZ25lZF9CZWF0cyAqLworCisgIHVpbnQzMl90ICAgICAgICAgICAgIEZpeGVkQnVyc3Q7ICAgICAgICAgICAgICAgICAgLyohPCBFbmFibGVzIG9yIGRpc2FibGVzIHRoZSBBSEIgTWFzdGVyIGludGVyZmFjZSBmaXhlZCBidXJzdCB0cmFuc2ZlcnMuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGEgdmFsdWUgb2YgQHJlZiBFVEhfRml4ZWRfQnVyc3QgKi8KKworICB1aW50MzJfdCAgICAgICAgICAgICBSeERNQUJ1cnN0TGVuZ3RoOyAgICAgICAgICAgIC8qITwgSW5kaWNhdGVzIHRoZSBtYXhpbXVtIG51bWJlciBvZiBiZWF0cyB0byBiZSB0cmFuc2ZlcnJlZCBpbiBvbmUgUnggRE1BIHRyYW5zYWN0aW9uLgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIG9mIEByZWYgRVRIX1J4X0RNQV9CdXJzdF9MZW5ndGggKi8KKworICB1aW50MzJfdCAgICAgICAgICAgICBUeERNQUJ1cnN0TGVuZ3RoOyAgICAgICAgICAgIC8qITwgSW5kaWNhdGVzIHRoZSBtYXhpbXVtIG51bWJlciBvZiBiZWF0cyB0byBiZSB0cmFuc2ZlcnJlZCBpbiBvbmUgVHggRE1BIHRyYW5zYWN0aW9uLgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIG9mIEByZWYgRVRIX1R4X0RNQV9CdXJzdF9MZW5ndGggKi8KKworICB1aW50MzJfdCAgICAgICAgICAgICBFbmhhbmNlZERlc2NyaXB0b3JGb3JtYXQ7ICAgIC8qITwgRW5hYmxlcyB0aGUgZW5oYW5jZWQgZGVzY3JpcHRvciBmb3JtYXQuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGEgdmFsdWUgb2YgQHJlZiBFVEhfRE1BX0VuaGFuY2VkX2Rlc2NyaXB0b3JfZm9ybWF0ICovCisKKyAgdWludDMyX3QgICAgICAgICAgICAgRGVzY3JpcHRvclNraXBMZW5ndGg7ICAgICAgICAvKiE8IFNwZWNpZmllcyB0aGUgbnVtYmVyIG9mIHdvcmQgdG8gc2tpcCBiZXR3ZWVuIHR3byB1bmNoYWluZWQgZGVzY3JpcHRvcnMgKFJpbmcgbW9kZSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBtdXN0IGJlIGEgbnVtYmVyIGJldHdlZW4gTWluX0RhdGEgPSAwIGFuZCBNYXhfRGF0YSA9IDMyICovCisKKyAgdWludDMyX3QgICAgICAgICAgICAgRE1BQXJiaXRyYXRpb247ICAgICAgICAgICAgICAvKiE8IFNlbGVjdHMgdGhlIERNQSBUeC9SeCBhcmJpdHJhdGlvbi4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYSB2YWx1ZSBvZiBAcmVmIEVUSF9ETUFfQXJiaXRyYXRpb24gKi8KK30gRVRIX0RNQUluaXRUeXBlRGVmOworCisKKy8qKgorICAqIEBicmllZiAgRVRIIERNQSBEZXNjcmlwdG9ycyBkYXRhIHN0cnVjdHVyZSBkZWZpbml0aW9uCisgICovCisKK3R5cGVkZWYgc3RydWN0Cit7CisgIF9fSU8gdWludDMyX3QgICBTdGF0dXM7ICAgICAgICAgICAvKiE8IFN0YXR1cyAqLworCisgIHVpbnQzMl90ICAgQ29udHJvbEJ1ZmZlclNpemU7ICAgICAvKiE8IENvbnRyb2wgYW5kIEJ1ZmZlcjEsIEJ1ZmZlcjIgbGVuZ3RocyAqLworCisgIHVpbnQzMl90ICAgQnVmZmVyMUFkZHI7ICAgICAgICAgICAvKiE8IEJ1ZmZlcjEgYWRkcmVzcyBwb2ludGVyICovCisKKyAgdWludDMyX3QgICBCdWZmZXIyTmV4dERlc2NBZGRyOyAgIC8qITwgQnVmZmVyMiBvciBuZXh0IGRlc2NyaXB0b3IgYWRkcmVzcyBwb2ludGVyICovCisKKyAgLyohPCBFbmhhbmNlZCBFVEhFUk5FVCBETUEgUFRQIERlc2NyaXB0b3JzICovCisgIHVpbnQzMl90ICAgRXh0ZW5kZWRTdGF0dXM7ICAgICAgICAvKiE8IEV4dGVuZGVkIHN0YXR1cyBmb3IgUFRQIHJlY2VpdmUgZGVzY3JpcHRvciAqLworCisgIHVpbnQzMl90ICAgUmVzZXJ2ZWQxOyAgICAgICAgICAgICAvKiE8IFJlc2VydmVkICovCisKKyAgdWludDMyX3QgICBUaW1lU3RhbXBMb3c7ICAgICAgICAgIC8qITwgVGltZSBTdGFtcCBMb3cgdmFsdWUgZm9yIHRyYW5zbWl0IGFuZCByZWNlaXZlICovCisKKyAgdWludDMyX3QgICBUaW1lU3RhbXBIaWdoOyAgICAgICAgIC8qITwgVGltZSBTdGFtcCBIaWdoIHZhbHVlIGZvciB0cmFuc21pdCBhbmQgcmVjZWl2ZSAqLworCit9IEVUSF9ETUFEZXNjVHlwZURlZjsKKworLyoqCisgICogQGJyaWVmICBSZWNlaXZlZCBGcmFtZSBJbmZvcm1hdGlvbnMgc3RydWN0dXJlIGRlZmluaXRpb24KKyAgKi8KK3R5cGVkZWYgc3RydWN0Cit7CisgIEVUSF9ETUFEZXNjVHlwZURlZiAqRlNSeERlc2M7ICAgICAgICAgIC8qITwgRmlyc3QgU2VnbWVudCBSeCBEZXNjICovCisKKyAgRVRIX0RNQURlc2NUeXBlRGVmICpMU1J4RGVzYzsgICAgICAgICAgLyohPCBMYXN0IFNlZ21lbnQgUnggRGVzYyAqLworCisgIHVpbnQzMl90ICBTZWdDb3VudDsgICAgICAgICAgICAgICAgICAgIC8qITwgU2VnbWVudCBjb3VudCAqLworCisgIHVpbnQzMl90IGxlbmd0aDsgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRnJhbWUgbGVuZ3RoICovCisKKyAgdWludDMyX3QgYnVmZmVyOyAgICAgICAgICAgICAgICAgICAgICAgLyohPCBGcmFtZSBidWZmZXIgKi8KKworfSBFVEhfRE1BUnhGcmFtZUluZm9zOworCisvKioKKyAgKiBAYnJpZWYgIEVUSCBIYW5kbGUgU3RydWN0dXJlIGRlZmluaXRpb24KKyAgKi8KKworI2lmIChVU0VfSEFMX0VUSF9SRUdJU1RFUl9DQUxMQkFDS1MgPT0gMSkKK3R5cGVkZWYgc3RydWN0IF9fRVRIX0hhbmRsZVR5cGVEZWYKKyNlbHNlCit0eXBlZGVmIHN0cnVjdAorI2VuZGlmIC8qIFVTRV9IQUxfRVRIX1JFR0lTVEVSX0NBTExCQUNLUyAqLworeworICBFVEhfVHlwZURlZiAgICAgICAgICAgICAgICAqSW5zdGFuY2U7ICAgICAvKiE8IFJlZ2lzdGVyIGJhc2UgYWRkcmVzcyAgICAgICAqLworCisgIEVUSF9Jbml0VHlwZURlZiAgICAgICAgICAgIEluaXQ7ICAgICAgICAgIC8qITwgRXRoZXJuZXQgSW5pdCBDb25maWd1cmF0aW9uICovCisKKyAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgTGlua1N0YXR1czsgICAgLyohPCBFdGhlcm5ldCBsaW5rIHN0YXR1cyAgICAgICAgKi8KKworICBFVEhfRE1BRGVzY1R5cGVEZWYgICAgICAgICAqUnhEZXNjOyAgICAgICAvKiE8IFJ4IGRlc2NyaXB0b3IgdG8gR2V0ICAgICAgICAqLworCisgIEVUSF9ETUFEZXNjVHlwZURlZiAgICAgICAgICpUeERlc2M7ICAgICAgIC8qITwgVHggZGVzY3JpcHRvciB0byBTZXQgICAgICAgICovCisKKyAgRVRIX0RNQVJ4RnJhbWVJbmZvcyAgICAgICAgUnhGcmFtZUluZm9zOyAgLyohPCBsYXN0IFJ4IGZyYW1lIGluZm9zICAgICAgICAgKi8KKworICBfX0lPIEhBTF9FVEhfU3RhdGVUeXBlRGVmICBTdGF0ZTsgICAgICAgICAvKiE8IEVUSCBjb21tdW5pY2F0aW9uIHN0YXRlICAgICAqLworCisgIEhBTF9Mb2NrVHlwZURlZiAgICAgICAgICAgIExvY2s7ICAgICAgICAgIC8qITwgRVRIIExvY2sgICAgICAgICAgICAgICAgICAgICovCisKKyNpZiAoVVNFX0hBTF9FVEhfUkVHSVNURVJfQ0FMTEJBQ0tTID09IDEpCisKKyAgdm9pZCAgICAoKiBUeENwbHRDYWxsYmFjaykgICAgICggc3RydWN0IF9fRVRIX0hhbmRsZVR5cGVEZWYgKiBoZXRoKTsgIC8qITwgRVRIIFR4IENvbXBsZXRlIENhbGxiYWNrICAgKi8KKyAgdm9pZCAgICAoKiBSeENwbHRDYWxsYmFjaykgICAgICggc3RydWN0IF9fRVRIX0hhbmRsZVR5cGVEZWYgKiBoZXRoKTsgIC8qITwgRVRIIFJ4ICBDb21wbGV0ZSBDYWxsYmFjayAgICovCisgIHZvaWQgICAgKCogRE1BRXJyb3JDYWxsYmFjaykgICAoIHN0cnVjdCBfX0VUSF9IYW5kbGVUeXBlRGVmICogaGV0aCk7ICAvKiE8IERNQSBFcnJvciBDYWxsYmFjayAgICAgICovCisgIHZvaWQgICAgKCogTXNwSW5pdENhbGxiYWNrKSAgICAoIHN0cnVjdCBfX0VUSF9IYW5kbGVUeXBlRGVmICogaGV0aCk7ICAvKiE8IEVUSCBNc3AgSW5pdCBjYWxsYmFjayAgICAgICAqLworICB2b2lkICAgICgqIE1zcERlSW5pdENhbGxiYWNrKSAgKCBzdHJ1Y3QgX19FVEhfSGFuZGxlVHlwZURlZiAqIGhldGgpOyAgLyohPCBFVEggTXNwIERlSW5pdCBjYWxsYmFjayAgICAgKi8KKworI2VuZGlmICAvKiBVU0VfSEFMX0VUSF9SRUdJU1RFUl9DQUxMQkFDS1MgKi8KKworfSBFVEhfSGFuZGxlVHlwZURlZjsKKworI2lmIChVU0VfSEFMX0VUSF9SRUdJU1RFUl9DQUxMQkFDS1MgPT0gMSkKKy8qKgorICAqIEBicmllZiAgSEFMIEVUSCBDYWxsYmFjayBJRCBlbnVtZXJhdGlvbiBkZWZpbml0aW9uCisgICovCit0eXBlZGVmIGVudW0KK3sKKyAgSEFMX0VUSF9NU1BJTklUX0NCX0lEICAgICAgICAgICAgPSAweDAwVSwgICAgLyohPCBFVEggTXNwSW5pdCBjYWxsYmFjayBJRCAgICAgICAgICAgICovCisgIEhBTF9FVEhfTVNQREVJTklUX0NCX0lEICAgICAgICAgID0gMHgwMVUsICAgIC8qITwgRVRIIE1zcERlSW5pdCBjYWxsYmFjayBJRCAgICAgICAgICAqLworICBIQUxfRVRIX1RYX0NPTVBMRVRFX0NCX0lEICAgICAgICA9IDB4MDJVLCAgICAvKiE8IEVUSCBUeCBDb21wbGV0ZSBDYWxsYmFjayBJRCAgICAgICAgKi8KKyAgSEFMX0VUSF9SWF9DT01QTEVURV9DQl9JRCAgICAgICAgPSAweDAzVSwgICAgLyohPCBFVEggUnggQ29tcGxldGUgQ2FsbGJhY2sgSUQgICAgICAgICovCisgIEhBTF9FVEhfRE1BX0VSUk9SX0NCX0lEICAgICAgICAgID0gMHgwNFUsICAgIC8qITwgRVRIIERNQSBFcnJvciBDYWxsYmFjayBJRCAgICAgICAgICAqLworCit9SEFMX0VUSF9DYWxsYmFja0lEVHlwZURlZjsKKworLyoqCisgICogQGJyaWVmICBIQUwgRVRIIENhbGxiYWNrIHBvaW50ZXIgZGVmaW5pdGlvbgorICAqLwordHlwZWRlZiAgdm9pZCAoKnBFVEhfQ2FsbGJhY2tUeXBlRGVmKShFVEhfSGFuZGxlVHlwZURlZiAqIGhldGgpOyAvKiE8IHBvaW50ZXIgdG8gYW4gRVRIIGNhbGxiYWNrIGZ1bmN0aW9uICovCisKKyNlbmRpZiAvKiBVU0VfSEFMX0VUSF9SRUdJU1RFUl9DQUxMQkFDS1MgKi8KKworIC8qKgorICAqIEB9CisgICovCisKKy8qIEV4cG9ydGVkIGNvbnN0YW50cyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisvKiogQGRlZmdyb3VwIEVUSF9FeHBvcnRlZF9Db25zdGFudHMgRVRIIEV4cG9ydGVkIENvbnN0YW50cworICAqIEB7CisgICovCisKKy8qKiBAZGVmZ3JvdXAgRVRIX0J1ZmZlcnNfc2V0dGluZyBFVEggQnVmZmVycyBzZXR0aW5nCisgICogQHsKKyAgKi8KKyNkZWZpbmUgRVRIX01BWF9QQUNLRVRfU0laRSAgICAgICAxNTI0VSAgICAvKiE8IEVUSF9IRUFERVIgKyBFVEhfRVhUUkEgKyBFVEhfVkxBTl9UQUcgKyBFVEhfTUFYX0VUSF9QQVlMT0FEICsgRVRIX0NSQyAqLworI2RlZmluZSBFVEhfSEVBREVSICAgICAgICAgICAgICAgIDE0VSAgICAgIC8qITwgNiBieXRlIERlc3QgYWRkciwgNiBieXRlIFNyYyBhZGRyLCAyIGJ5dGUgbGVuZ3RoL3R5cGUgKi8KKyNkZWZpbmUgRVRIX0NSQyAgICAgICAgICAgICAgICAgICA0VSAgICAgICAvKiE8IEV0aGVybmV0IENSQyAqLworI2RlZmluZSBFVEhfRVhUUkEgICAgICAgICAgICAgICAgIDJVICAgICAgIC8qITwgRXh0cmEgYnl0ZXMgaW4gc29tZSBjYXNlcyAqLworI2RlZmluZSBFVEhfVkxBTl9UQUcgICAgICAgICAgICAgIDRVICAgICAgIC8qITwgb3B0aW9uYWwgODAyLjFxIFZMQU4gVGFnICovCisjZGVmaW5lIEVUSF9NSU5fRVRIX1BBWUxPQUQgICAgICAgNDZVICAgICAgLyohPCBNaW5pbXVtIEV0aGVybmV0IHBheWxvYWQgc2l6ZSAqLworI2RlZmluZSBFVEhfTUFYX0VUSF9QQVlMT0FEICAgICAgIDE1MDBVICAgIC8qITwgTWF4aW11bSBFdGhlcm5ldCBwYXlsb2FkIHNpemUgKi8KKyNkZWZpbmUgRVRIX0pVTUJPX0ZSQU1FX1BBWUxPQUQgICA5MDAwVSAgICAvKiE8IEp1bWJvIGZyYW1lIHBheWxvYWQgc2l6ZSAqLworCisgLyogRXRoZXJuZXQgZHJpdmVyIHJlY2VpdmUgYnVmZmVycyBhcmUgb3JnYW5pemVkIGluIGEgY2hhaW5lZCBsaW5rZWQtbGlzdCwgd2hlbgorICAgIGFuIGV0aGVybmV0IHBhY2tldCBpcyByZWNlaXZlZCwgdGhlIFJ4LURNQSB3aWxsIHRyYW5zZmVyIHRoZSBwYWNrZXQgZnJvbSBSeEZJRk8KKyAgICB0byB0aGUgZHJpdmVyIHJlY2VpdmUgYnVmZmVycyBtZW1vcnkuCisKKyAgICBEZXBlbmRpbmcgb24gdGhlIHNpemUgb2YgdGhlIHJlY2VpdmVkIGV0aGVybmV0IHBhY2tldCBhbmQgdGhlIHNpemUgb2YKKyAgICBlYWNoIGV0aGVybmV0IGRyaXZlciByZWNlaXZlIGJ1ZmZlciwgdGhlIHJlY2VpdmVkIHBhY2tldCBjYW4gdGFrZSBvbmUgb3IgbW9yZQorICAgIGV0aGVybmV0IGRyaXZlciByZWNlaXZlIGJ1ZmZlci4KKworICAgIEluIGJlbG93IGFyZSBkZWZpbmVkIHRoZSBzaXplIG9mIG9uZSBldGhlcm5ldCBkcml2ZXIgcmVjZWl2ZSBidWZmZXIgRVRIX1JYX0JVRl9TSVpFCisgICAgYW5kIHRoZSB0b3RhbCBjb3VudCBvZiB0aGUgZHJpdmVyIHJlY2VpdmUgYnVmZmVycyBFVEhfUlhCVUZOQi4KKworICAgIFRoZSBjb25maWd1cmVkIHZhbHVlIGZvciBFVEhfUlhfQlVGX1NJWkUgYW5kIEVUSF9SWEJVRk5CIGFyZSBvbmx5IHByb3ZpZGVkIGFzCisgICAgZXhhbXBsZSwgdGhleSBjYW4gYmUgcmVjb25maWd1cmVkIGluIHRoZSBhcHBsaWNhdGlvbiBsYXllciB0byBmaXQgdGhlIGFwcGxpY2F0aW9uCisgICAgbmVlZHMgKi8KKworLyogSGVyZSB3ZSBjb25maWd1cmUgZWFjaCBFdGhlcm5ldCBkcml2ZXIgcmVjZWl2ZSBidWZmZXIgdG8gZml0IHRoZSBNYXggc2l6ZSBFdGhlcm5ldAorICAgcGFja2V0ICovCisjaWZuZGVmIEVUSF9SWF9CVUZfU0laRQorICNkZWZpbmUgRVRIX1JYX0JVRl9TSVpFICAgICAgICAgRVRIX01BWF9QQUNLRVRfU0laRQorI2VuZGlmCisKKy8qIDUgRXRoZXJuZXQgZHJpdmVyIHJlY2VpdmUgYnVmZmVycyBhcmUgdXNlZCAoaW4gYSBjaGFpbmVkIGxpbmtlZCBsaXN0KSovCisjaWZuZGVmIEVUSF9SWEJVRk5CCisgI2RlZmluZSBFVEhfUlhCVUZOQiAgICAgICAgICAgICA1VSAgICAgLyogIDUgUnggYnVmZmVycyBvZiBzaXplIEVUSF9SWF9CVUZfU0laRSAqLworI2VuZGlmCisKKworIC8qIEV0aGVybmV0IGRyaXZlciB0cmFuc21pdCBidWZmZXJzIGFyZSBvcmdhbml6ZWQgaW4gYSBjaGFpbmVkIGxpbmtlZC1saXN0LCB3aGVuCisgICAgYW4gZXRoZXJuZXQgcGFja2V0IGlzIHRyYW5zbWl0dGVkLCBUeC1ETUEgd2lsbCB0cmFuc2ZlciB0aGUgcGFja2V0IGZyb20gdGhlCisgICAgZHJpdmVyIHRyYW5zbWl0IGJ1ZmZlcnMgbWVtb3J5IHRvIHRoZSBUeEZJRk8uCisKKyAgICBEZXBlbmRpbmcgb24gdGhlIHNpemUgb2YgdGhlIEV0aGVybmV0IHBhY2tldCB0byBiZSB0cmFuc21pdHRlZCBhbmQgdGhlIHNpemUgb2YKKyAgICBlYWNoIGV0aGVybmV0IGRyaXZlciB0cmFuc21pdCBidWZmZXIsIHRoZSBwYWNrZXQgdG8gYmUgdHJhbnNtaXR0ZWQgY2FuIHRha2UKKyAgICBvbmUgb3IgbW9yZSBldGhlcm5ldCBkcml2ZXIgdHJhbnNtaXQgYnVmZmVyLgorCisgICAgSW4gYmVsb3cgYXJlIGRlZmluZWQgdGhlIHNpemUgb2Ygb25lIGV0aGVybmV0IGRyaXZlciB0cmFuc21pdCBidWZmZXIgRVRIX1RYX0JVRl9TSVpFCisgICAgYW5kIHRoZSB0b3RhbCBjb3VudCBvZiB0aGUgZHJpdmVyIHRyYW5zbWl0IGJ1ZmZlcnMgRVRIX1RYQlVGTkIuCisKKyAgICBUaGUgY29uZmlndXJlZCB2YWx1ZSBmb3IgRVRIX1RYX0JVRl9TSVpFIGFuZCBFVEhfVFhCVUZOQiBhcmUgb25seSBwcm92aWRlZCBhcworICAgIGV4YW1wbGUsIHRoZXkgY2FuIGJlIHJlY29uZmlndXJlZCBpbiB0aGUgYXBwbGljYXRpb24gbGF5ZXIgdG8gZml0IHRoZSBhcHBsaWNhdGlvbgorICAgIG5lZWRzICovCisKKy8qIEhlcmUgd2UgY29uZmlndXJlIGVhY2ggRXRoZXJuZXQgZHJpdmVyIHRyYW5zbWl0IGJ1ZmZlciB0byBmaXQgdGhlIE1heCBzaXplIEV0aGVybmV0CisgICBwYWNrZXQgKi8KKyNpZm5kZWYgRVRIX1RYX0JVRl9TSVpFCisgI2RlZmluZSBFVEhfVFhfQlVGX1NJWkUgICAgICAgICBFVEhfTUFYX1BBQ0tFVF9TSVpFCisjZW5kaWYKKworLyogNSBldGhlcm5ldCBkcml2ZXIgdHJhbnNtaXQgYnVmZmVycyBhcmUgdXNlZCAoaW4gYSBjaGFpbmVkIGxpbmtlZCBsaXN0KSovCisjaWZuZGVmIEVUSF9UWEJVRk5CCisgI2RlZmluZSBFVEhfVFhCVUZOQiAgICAgICAgICAgICA1VSAgICAgIC8qIDUgIFR4IGJ1ZmZlcnMgb2Ygc2l6ZSBFVEhfVFhfQlVGX1NJWkUgKi8KKyNlbmRpZgorCisgLyoqCisgICogQH0KKyAgKi8KKworLyoqIEBkZWZncm91cCBFVEhfRE1BX1RYX0Rlc2NyaXB0b3IgRVRIIERNQSBUWCBEZXNjcmlwdG9yCisgICogQHsKKyAgKi8KKworLyoKKyAgIERNQSBUeCBEZXNjcmlwdG9yCisgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgIFRERVMwIHwgT1dOKDMxKSB8IENUUkxbMzA6MjZdIHwgUmVzZXJ2ZWRbMjU6MjRdIHwgQ1RSTFsyMzoyMF0gfCBSZXNlcnZlZFsxOToxN10gfCBTdGF0dXNbMTY6MF0gfAorICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICBUREVTMSB8IFJlc2VydmVkWzMxOjI5XSB8IEJ1ZmZlcjIgQnl0ZUNvdW50WzI4OjE2XSB8IFJlc2VydmVkWzE1OjEzXSB8IEJ1ZmZlcjEgQnl0ZUNvdW50WzEyOjBdIHwKKyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgVERFUzIgfCAgICAgICAgICAgICAgICAgICAgICAgICBCdWZmZXIxIEFkZHJlc3MgWzMxOjBdICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CisgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgIFRERVMzIHwgICAgICAgICAgICAgICAgICAgQnVmZmVyMiBBZGRyZXNzIFszMTowXSAvIE5leHQgRGVzY3JpcHRvciBBZGRyZXNzIFszMTowXSAgICAgICAgICAgICAgfAorICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorKi8KKworLyoqCisgICogQGJyaWVmICBCaXQgZGVmaW5pdGlvbiBvZiBUREVTMCByZWdpc3RlcjogRE1BIFR4IGRlc2NyaXB0b3Igc3RhdHVzIHJlZ2lzdGVyCisgICovCisjZGVmaW5lIEVUSF9ETUFUWERFU0NfT1dOICAgICAgICAgICAgICAgICAgICAgMHg4MDAwMDAwMFUgIC8qITwgT1dOIGJpdDogZGVzY3JpcHRvciBpcyBvd25lZCBieSBETUEgZW5naW5lICovCisjZGVmaW5lIEVUSF9ETUFUWERFU0NfSUMgICAgICAgICAgICAgICAgICAgICAgMHg0MDAwMDAwMFUgIC8qITwgSW50ZXJydXB0IG9uIENvbXBsZXRpb24gKi8KKyNkZWZpbmUgRVRIX0RNQVRYREVTQ19MUyAgICAgICAgICAgICAgICAgICAgICAweDIwMDAwMDAwVSAgLyohPCBMYXN0IFNlZ21lbnQgKi8KKyNkZWZpbmUgRVRIX0RNQVRYREVTQ19GUyAgICAgICAgICAgICAgICAgICAgICAweDEwMDAwMDAwVSAgLyohPCBGaXJzdCBTZWdtZW50ICovCisjZGVmaW5lIEVUSF9ETUFUWERFU0NfREMgICAgICAgICAgICAgICAgICAgICAgMHgwODAwMDAwMFUgIC8qITwgRGlzYWJsZSBDUkMgKi8KKyNkZWZpbmUgRVRIX0RNQVRYREVTQ19EUCAgICAgICAgICAgICAgICAgICAgICAweDA0MDAwMDAwVSAgLyohPCBEaXNhYmxlIFBhZGRpbmcgKi8KKyNkZWZpbmUgRVRIX0RNQVRYREVTQ19UVFNFICAgICAgICAgICAgICAgICAgICAweDAyMDAwMDAwVSAgLyohPCBUcmFuc21pdCBUaW1lIFN0YW1wIEVuYWJsZSAqLworI2RlZmluZSBFVEhfRE1BVFhERVNDX0NJQyAgICAgICAgICAgICAgICAgICAgIDB4MDBDMDAwMDBVICAvKiE8IENoZWNrc3VtIEluc2VydGlvbiBDb250cm9sOiA0IGNhc2VzICovCisjZGVmaW5lIEVUSF9ETUFUWERFU0NfQ0lDX0JZUEFTUyAgICAgICAgICAgICAgMHgwMDAwMDAwMFUgIC8qITwgRG8gTm90aGluZzogQ2hlY2tzdW0gRW5naW5lIGlzIGJ5cGFzc2VkICovCisjZGVmaW5lIEVUSF9ETUFUWERFU0NfQ0lDX0lQVjRIRUFERVIgICAgICAgICAgMHgwMDQwMDAwMFUgIC8qITwgSVBWNCBoZWFkZXIgQ2hlY2tzdW0gSW5zZXJ0aW9uICovCisjZGVmaW5lIEVUSF9ETUFUWERFU0NfQ0lDX1RDUFVEUElDTVBfU0VHTUVOVCAgMHgwMDgwMDAwMFUgIC8qITwgVENQL1VEUC9JQ01QIENoZWNrc3VtIEluc2VydGlvbiBjYWxjdWxhdGVkIG92ZXIgc2VnbWVudCBvbmx5ICovCisjZGVmaW5lIEVUSF9ETUFUWERFU0NfQ0lDX1RDUFVEUElDTVBfRlVMTCAgICAgMHgwMEMwMDAwMFUgIC8qITwgVENQL1VEUC9JQ01QIENoZWNrc3VtIEluc2VydGlvbiBmdWxseSBjYWxjdWxhdGVkICovCisjZGVmaW5lIEVUSF9ETUFUWERFU0NfVEVSICAgICAgICAgICAgICAgICAgICAgMHgwMDIwMDAwMFUgIC8qITwgVHJhbnNtaXQgRW5kIG9mIFJpbmcgKi8KKyNkZWZpbmUgRVRIX0RNQVRYREVTQ19UQ0ggICAgICAgICAgICAgICAgICAgICAweDAwMTAwMDAwVSAgLyohPCBTZWNvbmQgQWRkcmVzcyBDaGFpbmVkICovCisjZGVmaW5lIEVUSF9ETUFUWERFU0NfVFRTUyAgICAgICAgICAgICAgICAgICAgMHgwMDAyMDAwMFUgIC8qITwgVHggVGltZSBTdGFtcCBTdGF0dXMgKi8KKyNkZWZpbmUgRVRIX0RNQVRYREVTQ19JSEUgICAgICAgICAgICAgICAgICAgICAweDAwMDEwMDAwVSAgLyohPCBJUCBIZWFkZXIgRXJyb3IgKi8KKyNkZWZpbmUgRVRIX0RNQVRYREVTQ19FUyAgICAgICAgICAgICAgICAgICAgICAweDAwMDA4MDAwVSAgLyohPCBFcnJvciBzdW1tYXJ5OiBPUiBvZiB0aGUgZm9sbG93aW5nIGJpdHM6IFVFIHx8IEVEIHx8IEVDIHx8IExDTyB8fCBOQyB8fCBMQ0EgfHwgRkYgfHwgSlQgKi8KKyNkZWZpbmUgRVRIX0RNQVRYREVTQ19KVCAgICAgICAgICAgICAgICAgICAgICAweDAwMDA0MDAwVSAgLyohPCBKYWJiZXIgVGltZW91dCAqLworI2RlZmluZSBFVEhfRE1BVFhERVNDX0ZGICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDIwMDBVICAvKiE8IEZyYW1lIEZsdXNoZWQ6IERNQS9NVEwgZmx1c2hlZCB0aGUgZnJhbWUgZHVlIHRvIFNXIGZsdXNoICovCisjZGVmaW5lIEVUSF9ETUFUWERFU0NfUENFICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMTAwMFUgIC8qITwgUGF5bG9hZCBDaGVja3N1bSBFcnJvciAqLworI2RlZmluZSBFVEhfRE1BVFhERVNDX0xDQSAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDA4MDBVICAvKiE8IExvc3Mgb2YgQ2FycmllcjogY2FycmllciBsb3N0IGR1cmluZyB0cmFuc21pc3Npb24gKi8KKyNkZWZpbmUgRVRIX0RNQVRYREVTQ19OQyAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwNDAwVSAgLyohPCBObyBDYXJyaWVyOiBubyBjYXJyaWVyIHNpZ25hbCBmcm9tIHRoZSB0cmFuc2NlaXZlciAqLworI2RlZmluZSBFVEhfRE1BVFhERVNDX0xDTyAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAyMDBVICAvKiE8IExhdGUgQ29sbGlzaW9uOiB0cmFuc21pc3Npb24gYWJvcnRlZCBkdWUgdG8gY29sbGlzaW9uICovCisjZGVmaW5lIEVUSF9ETUFUWERFU0NfRUMgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDEwMFUgIC8qITwgRXhjZXNzaXZlIENvbGxpc2lvbjogdHJhbnNtaXNzaW9uIGFib3J0ZWQgYWZ0ZXIgMTYgY29sbGlzaW9ucyAqLworI2RlZmluZSBFVEhfRE1BVFhERVNDX1ZGICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwODBVICAvKiE8IFZMQU4gRnJhbWUgKi8KKyNkZWZpbmUgRVRIX0RNQVRYREVTQ19DQyAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDc4VSAgLyohPCBDb2xsaXNpb24gQ291bnQgKi8KKyNkZWZpbmUgRVRIX0RNQVRYREVTQ19FRCAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDA0VSAgLyohPCBFeGNlc3NpdmUgRGVmZXJyYWwgKi8KKyNkZWZpbmUgRVRIX0RNQVRYREVTQ19VRiAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAyVSAgLyohPCBVbmRlcmZsb3cgRXJyb3I6IGxhdGUgZGF0YSBhcnJpdmFsIGZyb20gdGhlIG1lbW9yeSAqLworI2RlZmluZSBFVEhfRE1BVFhERVNDX0RCICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDFVICAvKiE8IERlZmVycmVkIEJpdCAqLworCisvKioKKyAgKiBAYnJpZWYgIEJpdCBkZWZpbml0aW9uIG9mIFRERVMxIHJlZ2lzdGVyCisgICovCisjZGVmaW5lIEVUSF9ETUFUWERFU0NfVEJTMiAgMHgxRkZGMDAwMFUgIC8qITwgVHJhbnNtaXQgQnVmZmVyMiBTaXplICovCisjZGVmaW5lIEVUSF9ETUFUWERFU0NfVEJTMSAgMHgwMDAwMUZGRlUgIC8qITwgVHJhbnNtaXQgQnVmZmVyMSBTaXplICovCisKKy8qKgorICAqIEBicmllZiAgQml0IGRlZmluaXRpb24gb2YgVERFUzIgcmVnaXN0ZXIKKyAgKi8KKyNkZWZpbmUgRVRIX0RNQVRYREVTQ19CMUFQICAweEZGRkZGRkZGVSAgLyohPCBCdWZmZXIxIEFkZHJlc3MgUG9pbnRlciAqLworCisvKioKKyAgKiBAYnJpZWYgIEJpdCBkZWZpbml0aW9uIG9mIFRERVMzIHJlZ2lzdGVyCisgICovCisjZGVmaW5lIEVUSF9ETUFUWERFU0NfQjJBUCAgMHhGRkZGRkZGRlUgIC8qITwgQnVmZmVyMiBBZGRyZXNzIFBvaW50ZXIgKi8KKworICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICBUREVTNiB8ICAgICAgICAgICAgICAgICAgICAgICAgIFRyYW5zbWl0IFRpbWUgU3RhbXAgTG93IFszMTowXSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgVERFUzcgfCAgICAgICAgICAgICAgICAgICAgICAgICBUcmFuc21pdCBUaW1lIFN0YW1wIEhpZ2ggWzMxOjBdICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CisgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisvKiBCaXQgZGVmaW5pdGlvbiBvZiBUREVTNiByZWdpc3RlciAqLworICNkZWZpbmUgRVRIX0RNQVBUUFRYREVTQ19UVFNMICAweEZGRkZGRkZGVSAgLyogVHJhbnNtaXQgVGltZSBTdGFtcCBMb3cgKi8KKworLyogQml0IGRlZmluaXRpb24gb2YgVERFUzcgcmVnaXN0ZXIgKi8KKyAjZGVmaW5lIEVUSF9ETUFQVFBUWERFU0NfVFRTSCAgMHhGRkZGRkZGRlUgIC8qIFRyYW5zbWl0IFRpbWUgU3RhbXAgSGlnaCAqLworCisvKioKKyAgKiBAfQorICAqLworLyoqIEBkZWZncm91cCBFVEhfRE1BX1JYX0Rlc2NyaXB0b3IgRVRIIERNQSBSWCBEZXNjcmlwdG9yCisgICogQHsKKyAgKi8KKworLyoKKyAgRE1BIFJ4IERlc2NyaXB0b3IKKyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgUkRFUzAgfCBPV04oMzEpIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdGF0dXMgWzMwOjBdICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgUkRFUzEgfCBDVFJMKDMxKSB8IFJlc2VydmVkWzMwOjI5XSB8IEJ1ZmZlcjIgQnl0ZUNvdW50WzI4OjE2XSB8IENUUkxbMTU6MTRdIHwgUmVzZXJ2ZWQoMTMpIHwgQnVmZmVyMSBCeXRlQ291bnRbMTI6MF0gfAorICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgUkRFUzIgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJ1ZmZlcjEgQWRkcmVzcyBbMzE6MF0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgUkRFUzMgfCAgICAgICAgICAgICAgICAgICAgICAgICAgQnVmZmVyMiBBZGRyZXNzIFszMTowXSAvIE5leHQgRGVzY3JpcHRvciBBZGRyZXNzIFszMTowXSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyovCisKKy8qKgorICAqIEBicmllZiAgQml0IGRlZmluaXRpb24gb2YgUkRFUzAgcmVnaXN0ZXI6IERNQSBSeCBkZXNjcmlwdG9yIHN0YXR1cyByZWdpc3RlcgorICAqLworI2RlZmluZSBFVEhfRE1BUlhERVNDX09XTiAgICAgICAgIDB4ODAwMDAwMDBVICAvKiE8IE9XTiBiaXQ6IGRlc2NyaXB0b3IgaXMgb3duZWQgYnkgRE1BIGVuZ2luZSAgKi8KKyNkZWZpbmUgRVRIX0RNQVJYREVTQ19BRk0gICAgICAgICAweDQwMDAwMDAwVSAgLyohPCBEQSBGaWx0ZXIgRmFpbCBmb3IgdGhlIHJ4IGZyYW1lICAqLworI2RlZmluZSBFVEhfRE1BUlhERVNDX0ZMICAgICAgICAgIDB4M0ZGRjAwMDBVICAvKiE8IFJlY2VpdmUgZGVzY3JpcHRvciBmcmFtZSBsZW5ndGggICovCisjZGVmaW5lIEVUSF9ETUFSWERFU0NfRVMgICAgICAgICAgMHgwMDAwODAwMFUgIC8qITwgRXJyb3Igc3VtbWFyeTogT1Igb2YgdGhlIGZvbGxvd2luZyBiaXRzOiBERSB8fCBPRSB8fCBJUEMgfHwgTEMgfHwgUldUIHx8IFJFIHx8IENFICovCisjZGVmaW5lIEVUSF9ETUFSWERFU0NfREUgICAgICAgICAgMHgwMDAwNDAwMFUgIC8qITwgRGVzY3JpcHRvciBlcnJvcjogbm8gbW9yZSBkZXNjcmlwdG9ycyBmb3IgcmVjZWl2ZSBmcmFtZSAgKi8KKyNkZWZpbmUgRVRIX0RNQVJYREVTQ19TQUYgICAgICAgICAweDAwMDAyMDAwVSAgLyohPCBTQSBGaWx0ZXIgRmFpbCBmb3IgdGhlIHJlY2VpdmVkIGZyYW1lICovCisjZGVmaW5lIEVUSF9ETUFSWERFU0NfTEUgICAgICAgICAgMHgwMDAwMTAwMFUgIC8qITwgRnJhbWUgc2l6ZSBub3QgbWF0Y2hpbmcgd2l0aCBsZW5ndGggZmllbGQgKi8KKyNkZWZpbmUgRVRIX0RNQVJYREVTQ19PRSAgICAgICAgICAweDAwMDAwODAwVSAgLyohPCBPdmVyZmxvdyBFcnJvcjogRnJhbWUgd2FzIGRhbWFnZWQgZHVlIHRvIGJ1ZmZlciBvdmVyZmxvdyAqLworI2RlZmluZSBFVEhfRE1BUlhERVNDX1ZMQU4gICAgICAgIDB4MDAwMDA0MDBVICAvKiE8IFZMQU4gVGFnOiByZWNlaXZlZCBmcmFtZSBpcyBhIFZMQU4gZnJhbWUgKi8KKyNkZWZpbmUgRVRIX0RNQVJYREVTQ19GUyAgICAgICAgICAweDAwMDAwMjAwVSAgLyohPCBGaXJzdCBkZXNjcmlwdG9yIG9mIHRoZSBmcmFtZSAgKi8KKyNkZWZpbmUgRVRIX0RNQVJYREVTQ19MUyAgICAgICAgICAweDAwMDAwMTAwVSAgLyohPCBMYXN0IGRlc2NyaXB0b3Igb2YgdGhlIGZyYW1lICAqLworI2RlZmluZSBFVEhfRE1BUlhERVNDX0lQVjRIQ0UgICAgIDB4MDAwMDAwODBVICAvKiE8IElQQyBDaGVja3N1bSBFcnJvcjogUnggSXB2NCBoZWFkZXIgY2hlY2tzdW0gZXJyb3IgICAqLworI2RlZmluZSBFVEhfRE1BUlhERVNDX0xDICAgICAgICAgIDB4MDAwMDAwNDBVICAvKiE8IExhdGUgY29sbGlzaW9uIG9jY3VycmVkIGR1cmluZyByZWNlcHRpb24gICAqLworI2RlZmluZSBFVEhfRE1BUlhERVNDX0ZUICAgICAgICAgIDB4MDAwMDAwMjBVICAvKiE8IEZyYW1lIHR5cGUgLSBFdGhlcm5ldCwgb3RoZXJ3aXNlIDgwMi4zICAgICovCisjZGVmaW5lIEVUSF9ETUFSWERFU0NfUldUICAgICAgICAgMHgwMDAwMDAxMFUgIC8qITwgUmVjZWl2ZSBXYXRjaGRvZyBUaW1lb3V0OiB3YXRjaGRvZyB0aW1lciBleHBpcmVkIGR1cmluZyByZWNlcHRpb24gICAgKi8KKyNkZWZpbmUgRVRIX0RNQVJYREVTQ19SRSAgICAgICAgICAweDAwMDAwMDA4VSAgLyohPCBSZWNlaXZlIGVycm9yOiBlcnJvciByZXBvcnRlZCBieSBNSUkgaW50ZXJmYWNlICAqLworI2RlZmluZSBFVEhfRE1BUlhERVNDX0RCRSAgICAgICAgIDB4MDAwMDAwMDRVICAvKiE8IERyaWJibGUgYml0IGVycm9yOiBmcmFtZSBjb250YWlucyBub24gaW50IG11bHRpcGxlIG9mIDggYml0cyAgKi8KKyNkZWZpbmUgRVRIX0RNQVJYREVTQ19DRSAgICAgICAgICAweDAwMDAwMDAyVSAgLyohPCBDUkMgZXJyb3IgKi8KKyNkZWZpbmUgRVRIX0RNQVJYREVTQ19NQU1QQ0UgICAgICAweDAwMDAwMDAxVSAgLyohPCBSeCBNQUMgQWRkcmVzcy9QYXlsb2FkIENoZWNrc3VtIEVycm9yOiBSeCBNQUMgYWRkcmVzcyBtYXRjaGVkLyBSeCBQYXlsb2FkIENoZWNrc3VtIEVycm9yICovCisKKy8qKgorICAqIEBicmllZiAgQml0IGRlZmluaXRpb24gb2YgUkRFUzEgcmVnaXN0ZXIKKyAgKi8KKyNkZWZpbmUgRVRIX0RNQVJYREVTQ19ESUMgICAweDgwMDAwMDAwVSAgLyohPCBEaXNhYmxlIEludGVycnVwdCBvbiBDb21wbGV0aW9uICovCisjZGVmaW5lIEVUSF9ETUFSWERFU0NfUkJTMiAgMHgxRkZGMDAwMFUgIC8qITwgUmVjZWl2ZSBCdWZmZXIyIFNpemUgKi8KKyNkZWZpbmUgRVRIX0RNQVJYREVTQ19SRVIgICAweDAwMDA4MDAwVSAgLyohPCBSZWNlaXZlIEVuZCBvZiBSaW5nICovCisjZGVmaW5lIEVUSF9ETUFSWERFU0NfUkNIICAgMHgwMDAwNDAwMFUgIC8qITwgU2Vjb25kIEFkZHJlc3MgQ2hhaW5lZCAqLworI2RlZmluZSBFVEhfRE1BUlhERVNDX1JCUzEgIDB4MDAwMDFGRkZVICAvKiE8IFJlY2VpdmUgQnVmZmVyMSBTaXplICovCisKKy8qKgorICAqIEBicmllZiAgQml0IGRlZmluaXRpb24gb2YgUkRFUzIgcmVnaXN0ZXIKKyAgKi8KKyNkZWZpbmUgRVRIX0RNQVJYREVTQ19CMUFQICAweEZGRkZGRkZGVSAgLyohPCBCdWZmZXIxIEFkZHJlc3MgUG9pbnRlciAqLworCisvKioKKyAgKiBAYnJpZWYgIEJpdCBkZWZpbml0aW9uIG9mIFJERVMzIHJlZ2lzdGVyCisgICovCisjZGVmaW5lIEVUSF9ETUFSWERFU0NfQjJBUCAgMHhGRkZGRkZGRlUgIC8qITwgQnVmZmVyMiBBZGRyZXNzIFBvaW50ZXIgKi8KKworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgUkRFUzQgfCAgICAgICAgICAgICAgICAgICBSZXNlcnZlZFszMToxNV0gICAgICAgICAgICAgIHwgICAgICAgICAgICAgRXh0ZW5kZWQgU3RhdHVzIFsxNDowXSAgICAgICAgICAgICAgICAgICAgICAgICAgfAorICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgUkRFUzUgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVzZXJ2ZWRbMzE6MF0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgUkRFUzYgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlY2VpdmUgVGltZSBTdGFtcCBMb3cgWzMxOjBdICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgUkRFUzcgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlY2VpdmUgVGltZSBTdGFtcCBIaWdoIFszMTowXSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKy8qIEJpdCBkZWZpbml0aW9uIG9mIFJERVM0IHJlZ2lzdGVyICovCisjZGVmaW5lIEVUSF9ETUFQVFBSWERFU0NfUFRQViAgICAgMHgwMDAwMjAwMFUgIC8qIFBUUCBWZXJzaW9uICovCisjZGVmaW5lIEVUSF9ETUFQVFBSWERFU0NfUFRQRlQgICAgMHgwMDAwMTAwMFUgIC8qIFBUUCBGcmFtZSBUeXBlICovCisjZGVmaW5lIEVUSF9ETUFQVFBSWERFU0NfUFRQTVQgICAgMHgwMDAwMEYwMFUgIC8qIFBUUCBNZXNzYWdlIFR5cGUgKi8KKyAgI2RlZmluZSBFVEhfRE1BUFRQUlhERVNDX1BUUE1UX1NZTkMgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDEwMFUgIC8qIFNZTkMgbWVzc2FnZSAoYWxsIGNsb2NrIHR5cGVzKSAqLworICAjZGVmaW5lIEVUSF9ETUFQVFBSWERFU0NfUFRQTVRfRk9MTE9XVVAgICAgICAgICAgICAgICAgICAweDAwMDAwMjAwVSAgLyogRm9sbG93VXAgbWVzc2FnZSAoYWxsIGNsb2NrIHR5cGVzKSAqLworICAjZGVmaW5lIEVUSF9ETUFQVFBSWERFU0NfUFRQTVRfREVMQVlSRVEgICAgICAgICAgICAgICAgICAweDAwMDAwMzAwVSAgLyogRGVsYXlSZXEgbWVzc2FnZSAoYWxsIGNsb2NrIHR5cGVzKSAqLworICAjZGVmaW5lIEVUSF9ETUFQVFBSWERFU0NfUFRQTVRfREVMQVlSRVNQICAgICAgICAgICAgICAgICAweDAwMDAwNDAwVSAgLyogRGVsYXlSZXNwIG1lc3NhZ2UgKGFsbCBjbG9jayB0eXBlcykgKi8KKyAgI2RlZmluZSBFVEhfRE1BUFRQUlhERVNDX1BUUE1UX1BERUxBWVJFUV9BTk5PVU5DRSAgICAgICAgMHgwMDAwMDUwMFUgIC8qIFBkZWxheVJlcSBtZXNzYWdlIChwZWVyLXRvLXBlZXIgdHJhbnNwYXJlbnQgY2xvY2spIG9yIEFubm91bmNlIG1lc3NhZ2UgKE9yZGluYXJ5IG9yIEJvdW5kYXJ5IGNsb2NrKSAqLworICAjZGVmaW5lIEVUSF9ETUFQVFBSWERFU0NfUFRQTVRfUERFTEFZUkVTUF9NQU5BRyAgICAgICAgICAweDAwMDAwNjAwVSAgLyogUGRlbGF5UmVzcCBtZXNzYWdlIChwZWVyLXRvLXBlZXIgdHJhbnNwYXJlbnQgY2xvY2spIG9yIE1hbmFnZW1lbnQgbWVzc2FnZSAoT3JkaW5hcnkgb3IgQm91bmRhcnkgY2xvY2spICAqLworICAjZGVmaW5lIEVUSF9ETUFQVFBSWERFU0NfUFRQTVRfUERFTEFZUkVTUEZPTExPV1VQX1NJR05BTCAweDAwMDAwNzAwVSAgLyogUGRlbGF5UmVzcEZvbGxvd1VwIG1lc3NhZ2UgKHBlZXItdG8tcGVlciB0cmFuc3BhcmVudCBjbG9jaykgb3IgU2lnbmFsaW5nIG1lc3NhZ2UgKE9yZGluYXJ5IG9yIEJvdW5kYXJ5IGNsb2NrKSAqLworI2RlZmluZSBFVEhfRE1BUFRQUlhERVNDX0lQVjZQUiAgIDB4MDAwMDAwODBVICAvKiBJUHY2IFBhY2tldCBSZWNlaXZlZCAqLworI2RlZmluZSBFVEhfRE1BUFRQUlhERVNDX0lQVjRQUiAgIDB4MDAwMDAwNDBVICAvKiBJUHY0IFBhY2tldCBSZWNlaXZlZCAqLworI2RlZmluZSBFVEhfRE1BUFRQUlhERVNDX0lQQ0IgICAgIDB4MDAwMDAwMjBVICAvKiBJUCBDaGVja3N1bSBCeXBhc3NlZCAqLworI2RlZmluZSBFVEhfRE1BUFRQUlhERVNDX0lQUEUgICAgIDB4MDAwMDAwMTBVICAvKiBJUCBQYXlsb2FkIEVycm9yICovCisjZGVmaW5lIEVUSF9ETUFQVFBSWERFU0NfSVBIRSAgICAgMHgwMDAwMDAwOFUgIC8qIElQIEhlYWRlciBFcnJvciAqLworI2RlZmluZSBFVEhfRE1BUFRQUlhERVNDX0lQUFQgICAgIDB4MDAwMDAwMDdVICAvKiBJUCBQYXlsb2FkIFR5cGUgKi8KKyAgI2RlZmluZSBFVEhfRE1BUFRQUlhERVNDX0lQUFRfVURQICAgICAgICAgICAgICAgICAweDAwMDAwMDAxVSAgLyogVURQIHBheWxvYWQgZW5jYXBzdWxhdGVkIGluIHRoZSBJUCBkYXRhZ3JhbSAqLworICAjZGVmaW5lIEVUSF9ETUFQVFBSWERFU0NfSVBQVF9UQ1AgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDJVICAvKiBUQ1AgcGF5bG9hZCBlbmNhcHN1bGF0ZWQgaW4gdGhlIElQIGRhdGFncmFtICovCisgICNkZWZpbmUgRVRIX0RNQVBUUFJYREVTQ19JUFBUX0lDTVAgICAgICAgICAgICAgICAgMHgwMDAwMDAwM1UgIC8qIElDTVAgcGF5bG9hZCBlbmNhcHN1bGF0ZWQgaW4gdGhlIElQIGRhdGFncmFtICovCisKKy8qIEJpdCBkZWZpbml0aW9uIG9mIFJERVM2IHJlZ2lzdGVyICovCisjZGVmaW5lIEVUSF9ETUFQVFBSWERFU0NfUlRTTCAgMHhGRkZGRkZGRlUgIC8qIFJlY2VpdmUgVGltZSBTdGFtcCBMb3cgKi8KKworLyogQml0IGRlZmluaXRpb24gb2YgUkRFUzcgcmVnaXN0ZXIgKi8KKyNkZWZpbmUgRVRIX0RNQVBUUFJYREVTQ19SVFNIICAweEZGRkZGRkZGVSAgLyogUmVjZWl2ZSBUaW1lIFN0YW1wIEhpZ2ggKi8KKy8qKgorICAqIEB9CisgICovCisgLyoqIEBkZWZncm91cCBFVEhfQXV0b05lZ290aWF0aW9uIEVUSCBBdXRvTmVnb3RpYXRpb24KKyAgKiBAeworICAqLworI2RlZmluZSBFVEhfQVVUT05FR09USUFUSU9OX0VOQUJMRSAgICAgMHgwMDAwMDAwMVUKKyNkZWZpbmUgRVRIX0FVVE9ORUdPVElBVElPTl9ESVNBQkxFICAgIDB4MDAwMDAwMDBVCisKKy8qKgorICAqIEB9CisgICovCisvKiogQGRlZmdyb3VwIEVUSF9TcGVlZCBFVEggU3BlZWQKKyAgKiBAeworICAqLworI2RlZmluZSBFVEhfU1BFRURfMTBNICAgICAgICAweDAwMDAwMDAwVQorI2RlZmluZSBFVEhfU1BFRURfMTAwTSAgICAgICAweDAwMDA0MDAwVQorCisvKioKKyAgKiBAfQorICAqLworLyoqIEBkZWZncm91cCBFVEhfRHVwbGV4X01vZGUgRVRIIER1cGxleCBNb2RlCisgICogQHsKKyAgKi8KKyNkZWZpbmUgRVRIX01PREVfRlVMTERVUExFWCAgICAgICAweDAwMDAwODAwVQorI2RlZmluZSBFVEhfTU9ERV9IQUxGRFVQTEVYICAgICAgIDB4MDAwMDAwMDBVCisvKioKKyAgKiBAfQorICAqLworLyoqIEBkZWZncm91cCBFVEhfUnhfTW9kZSBFVEggUnggTW9kZQorICAqIEB7CisgICovCisjZGVmaW5lIEVUSF9SWFBPTExJTkdfTU9ERSAgICAgIDB4MDAwMDAwMDBVCisjZGVmaW5lIEVUSF9SWElOVEVSUlVQVF9NT0RFICAgIDB4MDAwMDAwMDFVCisvKioKKyAgKiBAfQorICAqLworCisvKiogQGRlZmdyb3VwIEVUSF9DaGVja3N1bV9Nb2RlIEVUSCBDaGVja3N1bSBNb2RlCisgICogQHsKKyAgKi8KKyNkZWZpbmUgRVRIX0NIRUNLU1VNX0JZX0hBUkRXQVJFICAgICAgMHgwMDAwMDAwMFUKKyNkZWZpbmUgRVRIX0NIRUNLU1VNX0JZX1NPRlRXQVJFICAgICAgMHgwMDAwMDAwMVUKKy8qKgorICAqIEB9CisgICovCisKKy8qKiBAZGVmZ3JvdXAgRVRIX01lZGlhX0ludGVyZmFjZSBFVEggTWVkaWEgSW50ZXJmYWNlCisgICogQHsKKyAgKi8KKyNkZWZpbmUgRVRIX01FRElBX0lOVEVSRkFDRV9NSUkgICAgICAgMHgwMDAwMDAwMFUKKyNkZWZpbmUgRVRIX01FRElBX0lOVEVSRkFDRV9STUlJICAgICAgKCh1aW50MzJfdClTWVNDRkdfUE1DX01JSV9STUlJX1NFTCkKKy8qKgorICAqIEB9CisgICovCisKKy8qKiBAZGVmZ3JvdXAgRVRIX1dhdGNoZG9nIEVUSCBXYXRjaGRvZworICAqIEB7CisgICovCisjZGVmaW5lIEVUSF9XQVRDSERPR19FTkFCTEUgICAgICAgMHgwMDAwMDAwMFUKKyNkZWZpbmUgRVRIX1dBVENIRE9HX0RJU0FCTEUgICAgICAweDAwODAwMDAwVQorLyoqCisgICogQH0KKyAgKi8KKworLyoqIEBkZWZncm91cCBFVEhfSmFiYmVyIEVUSCBKYWJiZXIKKyAgKiBAeworICAqLworI2RlZmluZSBFVEhfSkFCQkVSX0VOQUJMRSAgICAweDAwMDAwMDAwVQorI2RlZmluZSBFVEhfSkFCQkVSX0RJU0FCTEUgICAweDAwNDAwMDAwVQorLyoqCisgICogQH0KKyAgKi8KKworLyoqIEBkZWZncm91cCBFVEhfSW50ZXJfRnJhbWVfR2FwIEVUSCBJbnRlciBGcmFtZSBHYXAKKyAgKiBAeworICAqLworI2RlZmluZSBFVEhfSU5URVJGUkFNRUdBUF85NkJJVCAgIDB4MDAwMDAwMDBVICAvKiE8IG1pbmltdW0gSUZHIGJldHdlZW4gZnJhbWVzIGR1cmluZyB0cmFuc21pc3Npb24gaXMgOTZCaXQgKi8KKyNkZWZpbmUgRVRIX0lOVEVSRlJBTUVHQVBfODhCSVQgICAweDAwMDIwMDAwVSAgLyohPCBtaW5pbXVtIElGRyBiZXR3ZWVuIGZyYW1lcyBkdXJpbmcgdHJhbnNtaXNzaW9uIGlzIDg4Qml0ICovCisjZGVmaW5lIEVUSF9JTlRFUkZSQU1FR0FQXzgwQklUICAgMHgwMDA0MDAwMFUgIC8qITwgbWluaW11bSBJRkcgYmV0d2VlbiBmcmFtZXMgZHVyaW5nIHRyYW5zbWlzc2lvbiBpcyA4MEJpdCAqLworI2RlZmluZSBFVEhfSU5URVJGUkFNRUdBUF83MkJJVCAgIDB4MDAwNjAwMDBVICAvKiE8IG1pbmltdW0gSUZHIGJldHdlZW4gZnJhbWVzIGR1cmluZyB0cmFuc21pc3Npb24gaXMgNzJCaXQgKi8KKyNkZWZpbmUgRVRIX0lOVEVSRlJBTUVHQVBfNjRCSVQgICAweDAwMDgwMDAwVSAgLyohPCBtaW5pbXVtIElGRyBiZXR3ZWVuIGZyYW1lcyBkdXJpbmcgdHJhbnNtaXNzaW9uIGlzIDY0Qml0ICovCisjZGVmaW5lIEVUSF9JTlRFUkZSQU1FR0FQXzU2QklUICAgMHgwMDBBMDAwMFUgIC8qITwgbWluaW11bSBJRkcgYmV0d2VlbiBmcmFtZXMgZHVyaW5nIHRyYW5zbWlzc2lvbiBpcyA1NkJpdCAqLworI2RlZmluZSBFVEhfSU5URVJGUkFNRUdBUF80OEJJVCAgIDB4MDAwQzAwMDBVICAvKiE8IG1pbmltdW0gSUZHIGJldHdlZW4gZnJhbWVzIGR1cmluZyB0cmFuc21pc3Npb24gaXMgNDhCaXQgKi8KKyNkZWZpbmUgRVRIX0lOVEVSRlJBTUVHQVBfNDBCSVQgICAweDAwMEUwMDAwVSAgLyohPCBtaW5pbXVtIElGRyBiZXR3ZWVuIGZyYW1lcyBkdXJpbmcgdHJhbnNtaXNzaW9uIGlzIDQwQml0ICovCisvKioKKyAgKiBAfQorICAqLworCisvKiogQGRlZmdyb3VwIEVUSF9DYXJyaWVyX1NlbnNlIEVUSCBDYXJyaWVyIFNlbnNlCisgICogQHsKKyAgKi8KKyNkZWZpbmUgRVRIX0NBUlJJRVJTRU5DRV9FTkFCTEUgICAweDAwMDAwMDAwVQorI2RlZmluZSBFVEhfQ0FSUklFUlNFTkNFX0RJU0FCTEUgIDB4MDAwMTAwMDBVCisvKioKKyAgKiBAfQorICAqLworCisvKiogQGRlZmdyb3VwIEVUSF9SZWNlaXZlX093biBFVEggUmVjZWl2ZSBPd24KKyAgKiBAeworICAqLworI2RlZmluZSBFVEhfUkVDRUlWRU9XTl9FTkFCTEUgICAgIDB4MDAwMDAwMDBVCisjZGVmaW5lIEVUSF9SRUNFSVZFT1dOX0RJU0FCTEUgICAgMHgwMDAwMjAwMFUKKy8qKgorICAqIEB9CisgICovCisKKy8qKiBAZGVmZ3JvdXAgRVRIX0xvb3BfQmFja19Nb2RlIEVUSCBMb29wIEJhY2sgTW9kZQorICAqIEB7CisgICovCisjZGVmaW5lIEVUSF9MT09QQkFDS01PREVfRU5BQkxFICAgICAgICAweDAwMDAxMDAwVQorI2RlZmluZSBFVEhfTE9PUEJBQ0tNT0RFX0RJU0FCTEUgICAgICAgMHgwMDAwMDAwMFUKKy8qKgorICAqIEB9CisgICovCisKKy8qKiBAZGVmZ3JvdXAgRVRIX0NoZWNrc3VtX09mZmxvYWQgRVRIIENoZWNrc3VtIE9mZmxvYWQKKyAgKiBAeworICAqLworI2RlZmluZSBFVEhfQ0hFQ0tTVU1PRkZMQU9EX0VOQUJMRSAgICAgMHgwMDAwMDQwMFUKKyNkZWZpbmUgRVRIX0NIRUNLU1VNT0ZGTEFPRF9ESVNBQkxFICAgIDB4MDAwMDAwMDBVCisvKioKKyAgKiBAfQorICAqLworCisvKiogQGRlZmdyb3VwIEVUSF9SZXRyeV9UcmFuc21pc3Npb24gRVRIIFJldHJ5IFRyYW5zbWlzc2lvbgorICAqIEB7CisgICovCisjZGVmaW5lIEVUSF9SRVRSWVRSQU5TTUlTU0lPTl9FTkFCTEUgICAweDAwMDAwMDAwVQorI2RlZmluZSBFVEhfUkVUUllUUkFOU01JU1NJT05fRElTQUJMRSAgMHgwMDAwMDIwMFUKKy8qKgorICAqIEB9CisgICovCisKKy8qKiBAZGVmZ3JvdXAgRVRIX0F1dG9tYXRpY19QYWRfQ1JDX1N0cmlwIEVUSCBBdXRvbWF0aWMgUGFkIENSQyBTdHJpcAorICAqIEB7CisgICovCisjZGVmaW5lIEVUSF9BVVRPTUFUSUNQQURDUkNTVFJJUF9FTkFCTEUgICAgIDB4MDAwMDAwODBVCisjZGVmaW5lIEVUSF9BVVRPTUFUSUNQQURDUkNTVFJJUF9ESVNBQkxFICAgIDB4MDAwMDAwMDBVCisvKioKKyAgKiBAfQorICAqLworCisvKiogQGRlZmdyb3VwIEVUSF9CYWNrX09mZl9MaW1pdCBFVEggQmFjayBPZmYgTGltaXQKKyAgKiBAeworICAqLworI2RlZmluZSBFVEhfQkFDS09GRkxJTUlUXzEwICAweDAwMDAwMDAwVQorI2RlZmluZSBFVEhfQkFDS09GRkxJTUlUXzggICAweDAwMDAwMDIwVQorI2RlZmluZSBFVEhfQkFDS09GRkxJTUlUXzQgICAweDAwMDAwMDQwVQorI2RlZmluZSBFVEhfQkFDS09GRkxJTUlUXzEgICAweDAwMDAwMDYwVQorLyoqCisgICogQH0KKyAgKi8KKworLyoqIEBkZWZncm91cCBFVEhfRGVmZXJyYWxfQ2hlY2sgRVRIIERlZmVycmFsIENoZWNrCisgICogQHsKKyAgKi8KKyNkZWZpbmUgRVRIX0RFRkZFUlJBTENIRUNLX0VOQUJMRSAgICAgICAweDAwMDAwMDEwVQorI2RlZmluZSBFVEhfREVGRkVSUkFMQ0hFQ0tfRElTQUJMRSAgICAgIDB4MDAwMDAwMDBVCisvKioKKyAgKiBAfQorICAqLworCisvKiogQGRlZmdyb3VwIEVUSF9SZWNlaXZlX0FsbCBFVEggUmVjZWl2ZSBBbGwKKyAgKiBAeworICAqLworI2RlZmluZSBFVEhfUkVDRUlWRUFMTF9FTkFCTEUgICAgIDB4ODAwMDAwMDBVCisjZGVmaW5lIEVUSF9SRUNFSVZFQWxsX0RJU0FCTEUgICAgMHgwMDAwMDAwMFUKKy8qKgorICAqIEB9CisgICovCisKKy8qKiBAZGVmZ3JvdXAgRVRIX1NvdXJjZV9BZGRyX0ZpbHRlciBFVEggU291cmNlIEFkZHIgRmlsdGVyCisgICogQHsKKyAgKi8KKyNkZWZpbmUgRVRIX1NPVVJDRUFERFJGSUxURVJfTk9STUFMX0VOQUJMRSAgICAgICAweDAwMDAwMjAwVQorI2RlZmluZSBFVEhfU09VUkNFQUREUkZJTFRFUl9JTlZFUlNFX0VOQUJMRSAgICAgIDB4MDAwMDAzMDBVCisjZGVmaW5lIEVUSF9TT1VSQ0VBRERSRklMVEVSX0RJU0FCTEUgICAgICAgICAgICAgMHgwMDAwMDAwMFUKKy8qKgorICAqIEB9CisgICovCisKKy8qKiBAZGVmZ3JvdXAgRVRIX1Bhc3NfQ29udHJvbF9GcmFtZXMgRVRIIFBhc3MgQ29udHJvbCBGcmFtZXMKKyAgKiBAeworICAqLworI2RlZmluZSBFVEhfUEFTU0NPTlRST0xGUkFNRVNfQkxPQ0tBTEwgICAgICAgICAgICAgICAgMHgwMDAwMDA0MFUgIC8qITwgTUFDIGZpbHRlcnMgYWxsIGNvbnRyb2wgZnJhbWVzIGZyb20gcmVhY2hpbmcgdGhlIGFwcGxpY2F0aW9uICovCisjZGVmaW5lIEVUSF9QQVNTQ09OVFJPTEZSQU1FU19GT1JXQVJEQUxMICAgICAgICAgICAgICAweDAwMDAwMDgwVSAgLyohPCBNQUMgZm9yd2FyZHMgYWxsIGNvbnRyb2wgZnJhbWVzIHRvIGFwcGxpY2F0aW9uIGV2ZW4gaWYgdGhleSBmYWlsIHRoZSBBZGRyZXNzIEZpbHRlciAqLworI2RlZmluZSBFVEhfUEFTU0NPTlRST0xGUkFNRVNfRk9SV0FSRFBBU1NFREFERFJGSUxURVIgMHgwMDAwMDBDMFUgIC8qITwgTUFDIGZvcndhcmRzIGNvbnRyb2wgZnJhbWVzIHRoYXQgcGFzcyB0aGUgQWRkcmVzcyBGaWx0ZXIuICovCisvKioKKyAgKiBAfQorICAqLworCisvKiogQGRlZmdyb3VwIEVUSF9Ccm9hZGNhc3RfRnJhbWVzX1JlY2VwdGlvbiBFVEggQnJvYWRjYXN0IEZyYW1lcyBSZWNlcHRpb24KKyAgKiBAeworICAqLworI2RlZmluZSBFVEhfQlJPQURDQVNURlJBTUVTUkVDRVBUSU9OX0VOQUJMRSAgICAgMHgwMDAwMDAwMFUKKyNkZWZpbmUgRVRIX0JST0FEQ0FTVEZSQU1FU1JFQ0VQVElPTl9ESVNBQkxFICAgIDB4MDAwMDAwMjBVCisvKioKKyAgKiBAfQorICAqLworCisvKiogQGRlZmdyb3VwIEVUSF9EZXN0aW5hdGlvbl9BZGRyX0ZpbHRlciBFVEggRGVzdGluYXRpb24gQWRkciBGaWx0ZXIKKyAgKiBAeworICAqLworI2RlZmluZSBFVEhfREVTVElOQVRJT05BRERSRklMVEVSX05PUk1BTCAgICAweDAwMDAwMDAwVQorI2RlZmluZSBFVEhfREVTVElOQVRJT05BRERSRklMVEVSX0lOVkVSU0UgICAweDAwMDAwMDA4VQorLyoqCisgICogQH0KKyAgKi8KKworLyoqIEBkZWZncm91cCBFVEhfUHJvbWlzY3VvdXNfTW9kZSBFVEggUHJvbWlzY3VvdXMgTW9kZQorICAqIEB7CisgICovCisjZGVmaW5lIEVUSF9QUk9NSVNDVU9VU19NT0RFX0VOQUJMRSAgICAgMHgwMDAwMDAwMVUKKyNkZWZpbmUgRVRIX1BST01JU0NVT1VTX01PREVfRElTQUJMRSAgICAweDAwMDAwMDAwVQorLyoqCisgICogQH0KKyAgKi8KKworLyoqIEBkZWZncm91cCBFVEhfTXVsdGljYXN0X0ZyYW1lc19GaWx0ZXIgRVRIIE11bHRpY2FzdCBGcmFtZXMgRmlsdGVyCisgICogQHsKKyAgKi8KKyNkZWZpbmUgRVRIX01VTFRJQ0FTVEZSQU1FU0ZJTFRFUl9QRVJGRUNUSEFTSFRBQkxFICAgIDB4MDAwMDA0MDRVCisjZGVmaW5lIEVUSF9NVUxUSUNBU1RGUkFNRVNGSUxURVJfSEFTSFRBQkxFICAgICAgICAgICAweDAwMDAwMDA0VQorI2RlZmluZSBFVEhfTVVMVElDQVNURlJBTUVTRklMVEVSX1BFUkZFQ1QgICAgICAgICAgICAgMHgwMDAwMDAwMFUKKyNkZWZpbmUgRVRIX01VTFRJQ0FTVEZSQU1FU0ZJTFRFUl9OT05FICAgICAgICAgICAgICAgIDB4MDAwMDAwMTBVCisvKioKKyAgKiBAfQorICAqLworCisvKiogQGRlZmdyb3VwIEVUSF9VbmljYXN0X0ZyYW1lc19GaWx0ZXIgRVRIIFVuaWNhc3QgRnJhbWVzIEZpbHRlcgorICAqIEB7CisgICovCisjZGVmaW5lIEVUSF9VTklDQVNURlJBTUVTRklMVEVSX1BFUkZFQ1RIQVNIVEFCTEUgMHgwMDAwMDQwMlUKKyNkZWZpbmUgRVRIX1VOSUNBU1RGUkFNRVNGSUxURVJfSEFTSFRBQkxFICAgICAgICAweDAwMDAwMDAyVQorI2RlZmluZSBFVEhfVU5JQ0FTVEZSQU1FU0ZJTFRFUl9QRVJGRUNUICAgICAgICAgIDB4MDAwMDAwMDBVCisvKioKKyAgKiBAfQorICAqLworCisvKiogQGRlZmdyb3VwIEVUSF9aZXJvX1F1YW50YV9QYXVzZSBFVEggWmVybyBRdWFudGEgUGF1c2UKKyAgKiBAeworICAqLworI2RlZmluZSBFVEhfWkVST1FVQU5UQVBBVVNFX0VOQUJMRSAgICAgMHgwMDAwMDAwMFUKKyNkZWZpbmUgRVRIX1pFUk9RVUFOVEFQQVVTRV9ESVNBQkxFICAgIDB4MDAwMDAwODBVCisvKioKKyAgKiBAfQorICAqLworCisvKiogQGRlZmdyb3VwIEVUSF9QYXVzZV9Mb3dfVGhyZXNob2xkIEVUSCBQYXVzZSBMb3cgVGhyZXNob2xkCisgICogQHsKKyAgKi8KKyNkZWZpbmUgRVRIX1BBVVNFTE9XVEhSRVNIT0xEX01JTlVTNCAgICAgICAgMHgwMDAwMDAwMFUgIC8qITwgUGF1c2UgdGltZSBtaW51cyA0IHNsb3QgdGltZXMgKi8KKyNkZWZpbmUgRVRIX1BBVVNFTE9XVEhSRVNIT0xEX01JTlVTMjggICAgICAgMHgwMDAwMDAxMFUgIC8qITwgUGF1c2UgdGltZSBtaW51cyAyOCBzbG90IHRpbWVzICovCisjZGVmaW5lIEVUSF9QQVVTRUxPV1RIUkVTSE9MRF9NSU5VUzE0NCAgICAgIDB4MDAwMDAwMjBVICAvKiE8IFBhdXNlIHRpbWUgbWludXMgMTQ0IHNsb3QgdGltZXMgKi8KKyNkZWZpbmUgRVRIX1BBVVNFTE9XVEhSRVNIT0xEX01JTlVTMjU2ICAgICAgMHgwMDAwMDAzMFUgIC8qITwgUGF1c2UgdGltZSBtaW51cyAyNTYgc2xvdCB0aW1lcyAqLworLyoqCisgICogQH0KKyAgKi8KKworLyoqIEBkZWZncm91cCBFVEhfVW5pY2FzdF9QYXVzZV9GcmFtZV9EZXRlY3QgRVRIIFVuaWNhc3QgUGF1c2UgRnJhbWUgRGV0ZWN0CisgICogQHsKKyAgKi8KKyNkZWZpbmUgRVRIX1VOSUNBU1RQQVVTRUZSQU1FREVURUNUX0VOQUJMRSAgMHgwMDAwMDAwOFUKKyNkZWZpbmUgRVRIX1VOSUNBU1RQQVVTRUZSQU1FREVURUNUX0RJU0FCTEUgMHgwMDAwMDAwMFUKKy8qKgorICAqIEB9CisgICovCisKKy8qKiBAZGVmZ3JvdXAgRVRIX1JlY2VpdmVfRmxvd19Db250cm9sIEVUSCBSZWNlaXZlIEZsb3cgQ29udHJvbAorICAqIEB7CisgICovCisjZGVmaW5lIEVUSF9SRUNFSVZFRkxPV0NPTlRST0xfRU5BQkxFICAgICAgIDB4MDAwMDAwMDRVCisjZGVmaW5lIEVUSF9SRUNFSVZFRkxPV0NPTlRST0xfRElTQUJMRSAgICAgIDB4MDAwMDAwMDBVCisvKioKKyAgKiBAfQorICAqLworCisvKiogQGRlZmdyb3VwIEVUSF9UcmFuc21pdF9GbG93X0NvbnRyb2wgRVRIIFRyYW5zbWl0IEZsb3cgQ29udHJvbAorICAqIEB7CisgICovCisjZGVmaW5lIEVUSF9UUkFOU01JVEZMT1dDT05UUk9MX0VOQUJMRSAgICAgIDB4MDAwMDAwMDJVCisjZGVmaW5lIEVUSF9UUkFOU01JVEZMT1dDT05UUk9MX0RJU0FCTEUgICAgIDB4MDAwMDAwMDBVCisvKioKKyAgKiBAfQorICAqLworCisvKiogQGRlZmdyb3VwIEVUSF9WTEFOX1RhZ19Db21wYXJpc29uIEVUSCBWTEFOIFRhZyBDb21wYXJpc29uCisgICogQHsKKyAgKi8KKyNkZWZpbmUgRVRIX1ZMQU5UQUdDT01QQVJJU09OXzEyQklUICAgIDB4MDAwMTAwMDBVCisjZGVmaW5lIEVUSF9WTEFOVEFHQ09NUEFSSVNPTl8xNkJJVCAgICAweDAwMDAwMDAwVQorLyoqCisgICogQH0KKyAgKi8KKworLyoqIEBkZWZncm91cCBFVEhfTUFDX2FkZHJlc3NlcyBFVEggTUFDIGFkZHJlc3NlcworICAqIEB7CisgICovCisjZGVmaW5lIEVUSF9NQUNfQUREUkVTUzAgICAgIDB4MDAwMDAwMDBVCisjZGVmaW5lIEVUSF9NQUNfQUREUkVTUzEgICAgIDB4MDAwMDAwMDhVCisjZGVmaW5lIEVUSF9NQUNfQUREUkVTUzIgICAgIDB4MDAwMDAwMTBVCisjZGVmaW5lIEVUSF9NQUNfQUREUkVTUzMgICAgIDB4MDAwMDAwMThVCisvKioKKyAgKiBAfQorICAqLworCisvKiogQGRlZmdyb3VwIEVUSF9NQUNfYWRkcmVzc2VzX2ZpbHRlcl9TQV9EQSBFVEggTUFDIGFkZHJlc3NlcyBmaWx0ZXIgU0EgREEKKyAgKiBAeworICAqLworI2RlZmluZSBFVEhfTUFDX0FERFJFU1NGSUxURVJfU0EgICAgICAgMHgwMDAwMDAwMFUKKyNkZWZpbmUgRVRIX01BQ19BRERSRVNTRklMVEVSX0RBICAgICAgIDB4MDAwMDAwMDhVCisvKioKKyAgKiBAfQorICAqLworCisvKiogQGRlZmdyb3VwIEVUSF9NQUNfYWRkcmVzc2VzX2ZpbHRlcl9NYXNrX2J5dGVzIEVUSCBNQUMgYWRkcmVzc2VzIGZpbHRlciBNYXNrIGJ5dGVzCisgICogQHsKKyAgKi8KKyNkZWZpbmUgRVRIX01BQ19BRERSRVNTTUFTS19CWVRFNiAgICAgIDB4MjAwMDAwMDBVICAvKiE8IE1hc2sgTUFDIEFkZHJlc3MgaGlnaCByZWcgYml0cyBbMTU6OF0gKi8KKyNkZWZpbmUgRVRIX01BQ19BRERSRVNTTUFTS19CWVRFNSAgICAgIDB4MTAwMDAwMDBVICAvKiE8IE1hc2sgTUFDIEFkZHJlc3MgaGlnaCByZWcgYml0cyBbNzowXSAqLworI2RlZmluZSBFVEhfTUFDX0FERFJFU1NNQVNLX0JZVEU0ICAgICAgMHgwODAwMDAwMFUgIC8qITwgTWFzayBNQUMgQWRkcmVzcyBsb3cgcmVnIGJpdHMgWzMxOjI0XSAqLworI2RlZmluZSBFVEhfTUFDX0FERFJFU1NNQVNLX0JZVEUzICAgICAgMHgwNDAwMDAwMFUgIC8qITwgTWFzayBNQUMgQWRkcmVzcyBsb3cgcmVnIGJpdHMgWzIzOjE2XSAqLworI2RlZmluZSBFVEhfTUFDX0FERFJFU1NNQVNLX0JZVEUyICAgICAgMHgwMjAwMDAwMFUgIC8qITwgTWFzayBNQUMgQWRkcmVzcyBsb3cgcmVnIGJpdHMgWzE1OjhdICovCisjZGVmaW5lIEVUSF9NQUNfQUREUkVTU01BU0tfQllURTEgICAgICAweDAxMDAwMDAwVSAgLyohPCBNYXNrIE1BQyBBZGRyZXNzIGxvdyByZWcgYml0cyBbNzBdICovCisvKioKKyAgKiBAfQorICAqLworCisvKiogQGRlZmdyb3VwIEVUSF9Ecm9wX1RDUF9JUF9DaGVja3N1bV9FcnJvcl9GcmFtZSBFVEggRHJvcCBUQ1AgSVAgQ2hlY2tzdW0gRXJyb3IgRnJhbWUKKyAgKiBAeworICAqLworI2RlZmluZSBFVEhfRFJPUFRDUElQQ0hFQ0tTVU1FUlJPUkZSQU1FX0VOQUJMRSAgIDB4MDAwMDAwMDBVCisjZGVmaW5lIEVUSF9EUk9QVENQSVBDSEVDS1NVTUVSUk9SRlJBTUVfRElTQUJMRSAgMHgwNDAwMDAwMFUKKy8qKgorICAqIEB9CisgICovCisKKy8qKiBAZGVmZ3JvdXAgRVRIX1JlY2VpdmVfU3RvcmVfRm9yd2FyZCBFVEggUmVjZWl2ZSBTdG9yZSBGb3J3YXJkCisgICogQHsKKyAgKi8KKyNkZWZpbmUgRVRIX1JFQ0VJVkVTVE9SRUZPUldBUkRfRU5BQkxFICAgICAgMHgwMjAwMDAwMFUKKyNkZWZpbmUgRVRIX1JFQ0VJVkVTVE9SRUZPUldBUkRfRElTQUJMRSAgICAgMHgwMDAwMDAwMFUKKy8qKgorICAqIEB9CisgICovCisKKy8qKiBAZGVmZ3JvdXAgRVRIX0ZsdXNoX1JlY2VpdmVkX0ZyYW1lIEVUSCBGbHVzaCBSZWNlaXZlZCBGcmFtZQorICAqIEB7CisgICovCisjZGVmaW5lIEVUSF9GTFVTSFJFQ0VJVkVERlJBTUVfRU5BQkxFICAgICAgIDB4MDAwMDAwMDBVCisjZGVmaW5lIEVUSF9GTFVTSFJFQ0VJVkVERlJBTUVfRElTQUJMRSAgICAgIDB4MDEwMDAwMDBVCisvKioKKyAgKiBAfQorICAqLworCisvKiogQGRlZmdyb3VwIEVUSF9UcmFuc21pdF9TdG9yZV9Gb3J3YXJkIEVUSCBUcmFuc21pdCBTdG9yZSBGb3J3YXJkCisgICogQHsKKyAgKi8KKyNkZWZpbmUgRVRIX1RSQU5TTUlUU1RPUkVGT1JXQVJEX0VOQUJMRSAgICAgMHgwMDIwMDAwMFUKKyNkZWZpbmUgRVRIX1RSQU5TTUlUU1RPUkVGT1JXQVJEX0RJU0FCTEUgICAgMHgwMDAwMDAwMFUKKy8qKgorICAqIEB9CisgICovCisKKy8qKiBAZGVmZ3JvdXAgRVRIX1RyYW5zbWl0X1RocmVzaG9sZF9Db250cm9sIEVUSCBUcmFuc21pdCBUaHJlc2hvbGQgQ29udHJvbAorICAqIEB7CisgICovCisjZGVmaW5lIEVUSF9UUkFOU01JVFRIUkVTSE9MRENPTlRST0xfNjRCWVRFUyAgICAgMHgwMDAwMDAwMFUgIC8qITwgdGhyZXNob2xkIGxldmVsIG9mIHRoZSBNVEwgVHJhbnNtaXQgRklGTyBpcyA2NCBCeXRlcyAqLworI2RlZmluZSBFVEhfVFJBTlNNSVRUSFJFU0hPTERDT05UUk9MXzEyOEJZVEVTICAgIDB4MDAwMDQwMDBVICAvKiE8IHRocmVzaG9sZCBsZXZlbCBvZiB0aGUgTVRMIFRyYW5zbWl0IEZJRk8gaXMgMTI4IEJ5dGVzICovCisjZGVmaW5lIEVUSF9UUkFOU01JVFRIUkVTSE9MRENPTlRST0xfMTkyQllURVMgICAgMHgwMDAwODAwMFUgIC8qITwgdGhyZXNob2xkIGxldmVsIG9mIHRoZSBNVEwgVHJhbnNtaXQgRklGTyBpcyAxOTIgQnl0ZXMgKi8KKyNkZWZpbmUgRVRIX1RSQU5TTUlUVEhSRVNIT0xEQ09OVFJPTF8yNTZCWVRFUyAgICAweDAwMDBDMDAwVSAgLyohPCB0aHJlc2hvbGQgbGV2ZWwgb2YgdGhlIE1UTCBUcmFuc21pdCBGSUZPIGlzIDI1NiBCeXRlcyAqLworI2RlZmluZSBFVEhfVFJBTlNNSVRUSFJFU0hPTERDT05UUk9MXzQwQllURVMgICAgIDB4MDAwMTAwMDBVICAvKiE8IHRocmVzaG9sZCBsZXZlbCBvZiB0aGUgTVRMIFRyYW5zbWl0IEZJRk8gaXMgNDAgQnl0ZXMgKi8KKyNkZWZpbmUgRVRIX1RSQU5TTUlUVEhSRVNIT0xEQ09OVFJPTF8zMkJZVEVTICAgICAweDAwMDE0MDAwVSAgLyohPCB0aHJlc2hvbGQgbGV2ZWwgb2YgdGhlIE1UTCBUcmFuc21pdCBGSUZPIGlzIDMyIEJ5dGVzICovCisjZGVmaW5lIEVUSF9UUkFOU01JVFRIUkVTSE9MRENPTlRST0xfMjRCWVRFUyAgICAgMHgwMDAxODAwMFUgIC8qITwgdGhyZXNob2xkIGxldmVsIG9mIHRoZSBNVEwgVHJhbnNtaXQgRklGTyBpcyAyNCBCeXRlcyAqLworI2RlZmluZSBFVEhfVFJBTlNNSVRUSFJFU0hPTERDT05UUk9MXzE2QllURVMgICAgIDB4MDAwMUMwMDBVICAvKiE8IHRocmVzaG9sZCBsZXZlbCBvZiB0aGUgTVRMIFRyYW5zbWl0IEZJRk8gaXMgMTYgQnl0ZXMgKi8KKy8qKgorICAqIEB9CisgICovCisKKy8qKiBAZGVmZ3JvdXAgRVRIX0ZvcndhcmRfRXJyb3JfRnJhbWVzIEVUSCBGb3J3YXJkIEVycm9yIEZyYW1lcworICAqIEB7CisgICovCisjZGVmaW5lIEVUSF9GT1JXQVJERVJST1JGUkFNRVNfRU5BQkxFICAgICAgIDB4MDAwMDAwODBVCisjZGVmaW5lIEVUSF9GT1JXQVJERVJST1JGUkFNRVNfRElTQUJMRSAgICAgIDB4MDAwMDAwMDBVCisvKioKKyAgKiBAfQorICAqLworCisvKiogQGRlZmdyb3VwIEVUSF9Gb3J3YXJkX1VuZGVyc2l6ZWRfR29vZF9GcmFtZXMgRVRIIEZvcndhcmQgVW5kZXJzaXplZCBHb29kIEZyYW1lcworICAqIEB7CisgICovCisjZGVmaW5lIEVUSF9GT1JXQVJEVU5ERVJTSVpFREdPT0RGUkFNRVNfRU5BQkxFICAgMHgwMDAwMDA0MFUKKyNkZWZpbmUgRVRIX0ZPUldBUkRVTkRFUlNJWkVER09PREZSQU1FU19ESVNBQkxFICAweDAwMDAwMDAwVQorLyoqCisgICogQH0KKyAgKi8KKworLyoqIEBkZWZncm91cCBFVEhfUmVjZWl2ZV9UaHJlc2hvbGRfQ29udHJvbCBFVEggUmVjZWl2ZSBUaHJlc2hvbGQgQ29udHJvbAorICAqIEB7CisgICovCisjZGVmaW5lIEVUSF9SRUNFSVZFRFRIUkVTSE9MRENPTlRST0xfNjRCWVRFUyAgICAgIDB4MDAwMDAwMDBVICAvKiE8IHRocmVzaG9sZCBsZXZlbCBvZiB0aGUgTVRMIFJlY2VpdmUgRklGTyBpcyA2NCBCeXRlcyAqLworI2RlZmluZSBFVEhfUkVDRUlWRURUSFJFU0hPTERDT05UUk9MXzMyQllURVMgICAgICAweDAwMDAwMDA4VSAgLyohPCB0aHJlc2hvbGQgbGV2ZWwgb2YgdGhlIE1UTCBSZWNlaXZlIEZJRk8gaXMgMzIgQnl0ZXMgKi8KKyNkZWZpbmUgRVRIX1JFQ0VJVkVEVEhSRVNIT0xEQ09OVFJPTF85NkJZVEVTICAgICAgMHgwMDAwMDAxMFUgIC8qITwgdGhyZXNob2xkIGxldmVsIG9mIHRoZSBNVEwgUmVjZWl2ZSBGSUZPIGlzIDk2IEJ5dGVzICovCisjZGVmaW5lIEVUSF9SRUNFSVZFRFRIUkVTSE9MRENPTlRST0xfMTI4QllURVMgICAgIDB4MDAwMDAwMThVICAvKiE8IHRocmVzaG9sZCBsZXZlbCBvZiB0aGUgTVRMIFJlY2VpdmUgRklGTyBpcyAxMjggQnl0ZXMgKi8KKy8qKgorICAqIEB9CisgICovCisKKy8qKiBAZGVmZ3JvdXAgRVRIX1NlY29uZF9GcmFtZV9PcGVyYXRlIEVUSCBTZWNvbmQgRnJhbWUgT3BlcmF0ZQorICAqIEB7CisgICovCisjZGVmaW5lIEVUSF9TRUNPTkRGUkFNRU9QRVJBUlRFX0VOQUJMRSAgICAgICAweDAwMDAwMDA0VQorI2RlZmluZSBFVEhfU0VDT05ERlJBTUVPUEVSQVJURV9ESVNBQkxFICAgICAgMHgwMDAwMDAwMFUKKy8qKgorICAqIEB9CisgICovCisKKy8qKiBAZGVmZ3JvdXAgRVRIX0FkZHJlc3NfQWxpZ25lZF9CZWF0cyBFVEggQWRkcmVzcyBBbGlnbmVkIEJlYXRzCisgICogQHsKKyAgKi8KKyNkZWZpbmUgRVRIX0FERFJFU1NBTElHTkVEQkVBVFNfRU5BQkxFICAgICAgMHgwMjAwMDAwMFUKKyNkZWZpbmUgRVRIX0FERFJFU1NBTElHTkVEQkVBVFNfRElTQUJMRSAgICAgMHgwMDAwMDAwMFUKKy8qKgorICAqIEB9CisgICovCisKKy8qKiBAZGVmZ3JvdXAgRVRIX0ZpeGVkX0J1cnN0IEVUSCBGaXhlZCBCdXJzdAorICAqIEB7CisgICovCisjZGVmaW5lIEVUSF9GSVhFREJVUlNUX0VOQUJMRSAgICAgMHgwMDAxMDAwMFUKKyNkZWZpbmUgRVRIX0ZJWEVEQlVSU1RfRElTQUJMRSAgICAweDAwMDAwMDAwVQorLyoqCisgICogQH0KKyAgKi8KKworLyoqIEBkZWZncm91cCBFVEhfUnhfRE1BX0J1cnN0X0xlbmd0aCBFVEggUnggRE1BIEJ1cnN0IExlbmd0aAorICAqIEB7CisgICovCisjZGVmaW5lIEVUSF9SWERNQUJVUlNUTEVOR1RIXzFCRUFUICAgICAgICAgIDB4MDAwMjAwMDBVICAvKiE8IG1heGltdW0gbnVtYmVyIG9mIGJlYXRzIHRvIGJlIHRyYW5zZmVycmVkIGluIG9uZSBSeERNQSB0cmFuc2FjdGlvbiBpcyAxICovCisjZGVmaW5lIEVUSF9SWERNQUJVUlNUTEVOR1RIXzJCRUFUICAgICAgICAgIDB4MDAwNDAwMDBVICAvKiE8IG1heGltdW0gbnVtYmVyIG9mIGJlYXRzIHRvIGJlIHRyYW5zZmVycmVkIGluIG9uZSBSeERNQSB0cmFuc2FjdGlvbiBpcyAyICovCisjZGVmaW5lIEVUSF9SWERNQUJVUlNUTEVOR1RIXzRCRUFUICAgICAgICAgIDB4MDAwODAwMDBVICAvKiE8IG1heGltdW0gbnVtYmVyIG9mIGJlYXRzIHRvIGJlIHRyYW5zZmVycmVkIGluIG9uZSBSeERNQSB0cmFuc2FjdGlvbiBpcyA0ICovCisjZGVmaW5lIEVUSF9SWERNQUJVUlNUTEVOR1RIXzhCRUFUICAgICAgICAgIDB4MDAxMDAwMDBVICAvKiE8IG1heGltdW0gbnVtYmVyIG9mIGJlYXRzIHRvIGJlIHRyYW5zZmVycmVkIGluIG9uZSBSeERNQSB0cmFuc2FjdGlvbiBpcyA4ICovCisjZGVmaW5lIEVUSF9SWERNQUJVUlNUTEVOR1RIXzE2QkVBVCAgICAgICAgIDB4MDAyMDAwMDBVICAvKiE8IG1heGltdW0gbnVtYmVyIG9mIGJlYXRzIHRvIGJlIHRyYW5zZmVycmVkIGluIG9uZSBSeERNQSB0cmFuc2FjdGlvbiBpcyAxNiAqLworI2RlZmluZSBFVEhfUlhETUFCVVJTVExFTkdUSF8zMkJFQVQgICAgICAgICAweDAwNDAwMDAwVSAgLyohPCBtYXhpbXVtIG51bWJlciBvZiBiZWF0cyB0byBiZSB0cmFuc2ZlcnJlZCBpbiBvbmUgUnhETUEgdHJhbnNhY3Rpb24gaXMgMzIgKi8KKyNkZWZpbmUgRVRIX1JYRE1BQlVSU1RMRU5HVEhfNFhQQkxfNEJFQVQgICAgMHgwMTAyMDAwMFUgIC8qITwgbWF4aW11bSBudW1iZXIgb2YgYmVhdHMgdG8gYmUgdHJhbnNmZXJyZWQgaW4gb25lIFJ4RE1BIHRyYW5zYWN0aW9uIGlzIDQgKi8KKyNkZWZpbmUgRVRIX1JYRE1BQlVSU1RMRU5HVEhfNFhQQkxfOEJFQVQgICAgMHgwMTA0MDAwMFUgIC8qITwgbWF4aW11bSBudW1iZXIgb2YgYmVhdHMgdG8gYmUgdHJhbnNmZXJyZWQgaW4gb25lIFJ4RE1BIHRyYW5zYWN0aW9uIGlzIDggKi8KKyNkZWZpbmUgRVRIX1JYRE1BQlVSU1RMRU5HVEhfNFhQQkxfMTZCRUFUICAgMHgwMTA4MDAwMFUgIC8qITwgbWF4aW11bSBudW1iZXIgb2YgYmVhdHMgdG8gYmUgdHJhbnNmZXJyZWQgaW4gb25lIFJ4RE1BIHRyYW5zYWN0aW9uIGlzIDE2ICovCisjZGVmaW5lIEVUSF9SWERNQUJVUlNUTEVOR1RIXzRYUEJMXzMyQkVBVCAgIDB4MDExMDAwMDBVICAvKiE8IG1heGltdW0gbnVtYmVyIG9mIGJlYXRzIHRvIGJlIHRyYW5zZmVycmVkIGluIG9uZSBSeERNQSB0cmFuc2FjdGlvbiBpcyAzMiAqLworI2RlZmluZSBFVEhfUlhETUFCVVJTVExFTkdUSF80WFBCTF82NEJFQVQgICAweDAxMjAwMDAwVSAgLyohPCBtYXhpbXVtIG51bWJlciBvZiBiZWF0cyB0byBiZSB0cmFuc2ZlcnJlZCBpbiBvbmUgUnhETUEgdHJhbnNhY3Rpb24gaXMgNjQgKi8KKyNkZWZpbmUgRVRIX1JYRE1BQlVSU1RMRU5HVEhfNFhQQkxfMTI4QkVBVCAgMHgwMTQwMDAwMFUgIC8qITwgbWF4aW11bSBudW1iZXIgb2YgYmVhdHMgdG8gYmUgdHJhbnNmZXJyZWQgaW4gb25lIFJ4RE1BIHRyYW5zYWN0aW9uIGlzIDEyOCAqLworLyoqCisgICogQH0KKyAgKi8KKworLyoqIEBkZWZncm91cCBFVEhfVHhfRE1BX0J1cnN0X0xlbmd0aCBFVEggVHggRE1BIEJ1cnN0IExlbmd0aAorICAqIEB7CisgICovCisjZGVmaW5lIEVUSF9UWERNQUJVUlNUTEVOR1RIXzFCRUFUICAgICAgICAgIDB4MDAwMDAxMDBVICAvKiE8IG1heGltdW0gbnVtYmVyIG9mIGJlYXRzIHRvIGJlIHRyYW5zZmVycmVkIGluIG9uZSBUeERNQSAob3IgYm90aCkgdHJhbnNhY3Rpb24gaXMgMSAqLworI2RlZmluZSBFVEhfVFhETUFCVVJTVExFTkdUSF8yQkVBVCAgICAgICAgICAweDAwMDAwMjAwVSAgLyohPCBtYXhpbXVtIG51bWJlciBvZiBiZWF0cyB0byBiZSB0cmFuc2ZlcnJlZCBpbiBvbmUgVHhETUEgKG9yIGJvdGgpIHRyYW5zYWN0aW9uIGlzIDIgKi8KKyNkZWZpbmUgRVRIX1RYRE1BQlVSU1RMRU5HVEhfNEJFQVQgICAgICAgICAgMHgwMDAwMDQwMFUgIC8qITwgbWF4aW11bSBudW1iZXIgb2YgYmVhdHMgdG8gYmUgdHJhbnNmZXJyZWQgaW4gb25lIFR4RE1BIChvciBib3RoKSB0cmFuc2FjdGlvbiBpcyA0ICovCisjZGVmaW5lIEVUSF9UWERNQUJVUlNUTEVOR1RIXzhCRUFUICAgICAgICAgIDB4MDAwMDA4MDBVICAvKiE8IG1heGltdW0gbnVtYmVyIG9mIGJlYXRzIHRvIGJlIHRyYW5zZmVycmVkIGluIG9uZSBUeERNQSAob3IgYm90aCkgdHJhbnNhY3Rpb24gaXMgOCAqLworI2RlZmluZSBFVEhfVFhETUFCVVJTVExFTkdUSF8xNkJFQVQgICAgICAgICAweDAwMDAxMDAwVSAgLyohPCBtYXhpbXVtIG51bWJlciBvZiBiZWF0cyB0byBiZSB0cmFuc2ZlcnJlZCBpbiBvbmUgVHhETUEgKG9yIGJvdGgpIHRyYW5zYWN0aW9uIGlzIDE2ICovCisjZGVmaW5lIEVUSF9UWERNQUJVUlNUTEVOR1RIXzMyQkVBVCAgICAgICAgIDB4MDAwMDIwMDBVICAvKiE8IG1heGltdW0gbnVtYmVyIG9mIGJlYXRzIHRvIGJlIHRyYW5zZmVycmVkIGluIG9uZSBUeERNQSAob3IgYm90aCkgdHJhbnNhY3Rpb24gaXMgMzIgKi8KKyNkZWZpbmUgRVRIX1RYRE1BQlVSU1RMRU5HVEhfNFhQQkxfNEJFQVQgICAgMHgwMTAwMDEwMFUgIC8qITwgbWF4aW11bSBudW1iZXIgb2YgYmVhdHMgdG8gYmUgdHJhbnNmZXJyZWQgaW4gb25lIFR4RE1BIChvciBib3RoKSB0cmFuc2FjdGlvbiBpcyA0ICovCisjZGVmaW5lIEVUSF9UWERNQUJVUlNUTEVOR1RIXzRYUEJMXzhCRUFUICAgIDB4MDEwMDAyMDBVICAvKiE8IG1heGltdW0gbnVtYmVyIG9mIGJlYXRzIHRvIGJlIHRyYW5zZmVycmVkIGluIG9uZSBUeERNQSAob3IgYm90aCkgdHJhbnNhY3Rpb24gaXMgOCAqLworI2RlZmluZSBFVEhfVFhETUFCVVJTVExFTkdUSF80WFBCTF8xNkJFQVQgICAweDAxMDAwNDAwVSAgLyohPCBtYXhpbXVtIG51bWJlciBvZiBiZWF0cyB0byBiZSB0cmFuc2ZlcnJlZCBpbiBvbmUgVHhETUEgKG9yIGJvdGgpIHRyYW5zYWN0aW9uIGlzIDE2ICovCisjZGVmaW5lIEVUSF9UWERNQUJVUlNUTEVOR1RIXzRYUEJMXzMyQkVBVCAgIDB4MDEwMDA4MDBVICAvKiE8IG1heGltdW0gbnVtYmVyIG9mIGJlYXRzIHRvIGJlIHRyYW5zZmVycmVkIGluIG9uZSBUeERNQSAob3IgYm90aCkgdHJhbnNhY3Rpb24gaXMgMzIgKi8KKyNkZWZpbmUgRVRIX1RYRE1BQlVSU1RMRU5HVEhfNFhQQkxfNjRCRUFUICAgMHgwMTAwMTAwMFUgIC8qITwgbWF4aW11bSBudW1iZXIgb2YgYmVhdHMgdG8gYmUgdHJhbnNmZXJyZWQgaW4gb25lIFR4RE1BIChvciBib3RoKSB0cmFuc2FjdGlvbiBpcyA2NCAqLworI2RlZmluZSBFVEhfVFhETUFCVVJTVExFTkdUSF80WFBCTF8xMjhCRUFUICAweDAxMDAyMDAwVSAgLyohPCBtYXhpbXVtIG51bWJlciBvZiBiZWF0cyB0byBiZSB0cmFuc2ZlcnJlZCBpbiBvbmUgVHhETUEgKG9yIGJvdGgpIHRyYW5zYWN0aW9uIGlzIDEyOCAqLworLyoqCisgICogQH0KKyAgKi8KKworLyoqIEBkZWZncm91cCBFVEhfRE1BX0VuaGFuY2VkX2Rlc2NyaXB0b3JfZm9ybWF0IEVUSCBETUEgRW5oYW5jZWQgZGVzY3JpcHRvciBmb3JtYXQKKyAgKiBAeworICAqLworI2RlZmluZSBFVEhfRE1BRU5IQU5DRURERVNDUklQVE9SX0VOQUJMRSAgICAgICAgICAgICAgMHgwMDAwMDA4MFUKKyNkZWZpbmUgRVRIX0RNQUVOSEFOQ0VEREVTQ1JJUFRPUl9ESVNBQkxFICAgICAgICAgICAgIDB4MDAwMDAwMDBVCisvKioKKyAgKiBAfQorICAqLworCisvKiogQGRlZmdyb3VwIEVUSF9ETUFfQXJiaXRyYXRpb24gRVRIIERNQSBBcmJpdHJhdGlvbgorICAqIEB7CisgICovCisjZGVmaW5lIEVUSF9ETUFBUkJJVFJBVElPTl9ST1VORFJPQklOX1JYVFhfMV8xICAgMHgwMDAwMDAwMFUKKyNkZWZpbmUgRVRIX0RNQUFSQklUUkFUSU9OX1JPVU5EUk9CSU5fUlhUWF8yXzEgICAweDAwMDA0MDAwVQorI2RlZmluZSBFVEhfRE1BQVJCSVRSQVRJT05fUk9VTkRST0JJTl9SWFRYXzNfMSAgIDB4MDAwMDgwMDBVCisjZGVmaW5lIEVUSF9ETUFBUkJJVFJBVElPTl9ST1VORFJPQklOX1JYVFhfNF8xICAgMHgwMDAwQzAwMFUKKyNkZWZpbmUgRVRIX0RNQUFSQklUUkFUSU9OX1JYUFJJT1JUWCAgICAgICAgICAgICAweDAwMDAwMDAyVQorLyoqCisgICogQH0KKyAgKi8KKworLyoqIEBkZWZncm91cCBFVEhfRE1BX1R4X2Rlc2NyaXB0b3Jfc2VnbWVudCBFVEggRE1BIFR4IGRlc2NyaXB0b3Igc2VnbWVudAorICAqIEB7CisgICovCisjZGVmaW5lIEVUSF9ETUFUWERFU0NfTEFTVFNFR01FTlRTICAgICAgMHg0MDAwMDAwMFUgIC8qITwgTGFzdCBTZWdtZW50ICovCisjZGVmaW5lIEVUSF9ETUFUWERFU0NfRklSU1RTRUdNRU5UICAgICAgMHgyMDAwMDAwMFUgIC8qITwgRmlyc3QgU2VnbWVudCAqLworLyoqCisgICogQH0KKyAgKi8KKworLyoqIEBkZWZncm91cCBFVEhfRE1BX1R4X2Rlc2NyaXB0b3JfQ2hlY2tzdW1fSW5zZXJ0aW9uX0NvbnRyb2wgRVRIIERNQSBUeCBkZXNjcmlwdG9yIENoZWNrc3VtIEluc2VydGlvbiBDb250cm9sCisgICogQHsKKyAgKi8KKyNkZWZpbmUgRVRIX0RNQVRYREVTQ19DSEVDS1NVTUJZUEFTUyAgICAgICAgICAgICAweDAwMDAwMDAwVSAgIC8qITwgQ2hlY2tzdW0gZW5naW5lIGJ5cGFzcyAqLworI2RlZmluZSBFVEhfRE1BVFhERVNDX0NIRUNLU1VNSVBWNEhFQURFUiAgICAgICAgIDB4MDA0MDAwMDBVICAgLyohPCBJUHY0IGhlYWRlciBjaGVja3N1bSBpbnNlcnRpb24gICovCisjZGVmaW5lIEVUSF9ETUFUWERFU0NfQ0hFQ0tTVU1UQ1BVRFBJQ01QU0VHTUVOVCAgMHgwMDgwMDAwMFUgICAvKiE8IFRDUC9VRFAvSUNNUCBjaGVja3N1bSBpbnNlcnRpb24uIFBzZXVkbyBoZWFkZXIgY2hlY2tzdW0gaXMgYXNzdW1lZCB0byBiZSBwcmVzZW50ICovCisjZGVmaW5lIEVUSF9ETUFUWERFU0NfQ0hFQ0tTVU1UQ1BVRFBJQ01QRlVMTCAgICAgMHgwMEMwMDAwMFUgICAvKiE8IFRDUC9VRFAvSUNNUCBjaGVja3N1bSBmdWxseSBpbiBoYXJkd2FyZSBpbmNsdWRpbmcgcHNldWRvIGhlYWRlciAqLworLyoqCisgICogQH0KKyAgKi8KKworLyoqIEBkZWZncm91cCBFVEhfRE1BX1J4X2Rlc2NyaXB0b3JfYnVmZmVycyBFVEggRE1BIFJ4IGRlc2NyaXB0b3IgYnVmZmVycworICAqIEB7CisgICovCisjZGVmaW5lIEVUSF9ETUFSWERFU0NfQlVGRkVSMSAgICAgMHgwMDAwMDAwMFUgIC8qITwgRE1BIFJ4IERlc2MgQnVmZmVyMSAqLworI2RlZmluZSBFVEhfRE1BUlhERVNDX0JVRkZFUjIgICAgIDB4MDAwMDAwMDFVICAvKiE8IERNQSBSeCBEZXNjIEJ1ZmZlcjIgKi8KKy8qKgorICAqIEB9CisgICovCisKKy8qKiBAZGVmZ3JvdXAgRVRIX1BNVF9GbGFncyBFVEggUE1UIEZsYWdzCisgICogQHsKKyAgKi8KKyNkZWZpbmUgRVRIX1BNVF9GTEFHX1dVRkZSUFIgICAgICAweDgwMDAwMDAwVSAgLyohPCBXYWtlLVVwIEZyYW1lIEZpbHRlciBSZWdpc3RlciBQb2ludGVyIFJlc2V0ICovCisjZGVmaW5lIEVUSF9QTVRfRkxBR19XVUZSICAgICAgICAgMHgwMDAwMDA0MFUgIC8qITwgV2FrZS1VcCBGcmFtZSBSZWNlaXZlZCAqLworI2RlZmluZSBFVEhfUE1UX0ZMQUdfTVBSICAgICAgICAgIDB4MDAwMDAwMjBVICAvKiE8IE1hZ2ljIFBhY2tldCBSZWNlaXZlZCAqLworLyoqCisgICogQH0KKyAgKi8KKworLyoqIEBkZWZncm91cCBFVEhfTU1DX1R4X0ludGVycnVwdHMgRVRIIE1NQyBUeCBJbnRlcnJ1cHRzCisgICogQHsKKyAgKi8KKyNkZWZpbmUgRVRIX01NQ19JVF9UR0YgICAgICAgMHgwMDIwMDAwMFUgIC8qITwgV2hlbiBUeCBnb29kIGZyYW1lIGNvdW50ZXIgcmVhY2hlcyBoYWxmIHRoZSBtYXhpbXVtIHZhbHVlICovCisjZGVmaW5lIEVUSF9NTUNfSVRfVEdGTVNDICAgIDB4MDAwMDgwMDBVICAvKiE8IFdoZW4gVHggZ29vZCBtdWx0aSBjb2wgY291bnRlciByZWFjaGVzIGhhbGYgdGhlIG1heGltdW0gdmFsdWUgKi8KKyNkZWZpbmUgRVRIX01NQ19JVF9UR0ZTQyAgICAgMHgwMDAwNDAwMFUgIC8qITwgV2hlbiBUeCBnb29kIHNpbmdsZSBjb2wgY291bnRlciByZWFjaGVzIGhhbGYgdGhlIG1heGltdW0gdmFsdWUgKi8KKy8qKgorICAqIEB9CisgICovCisKKy8qKiBAZGVmZ3JvdXAgRVRIX01NQ19SeF9JbnRlcnJ1cHRzIEVUSCBNTUMgUnggSW50ZXJydXB0cworICAqIEB7CisgICovCisjZGVmaW5lIEVUSF9NTUNfSVRfUkdVRiAgICAgIDB4MTAwMjAwMDBVICAvKiE8IFdoZW4gUnggZ29vZCB1bmljYXN0IGZyYW1lcyBjb3VudGVyIHJlYWNoZXMgaGFsZiB0aGUgbWF4aW11bSB2YWx1ZSAqLworI2RlZmluZSBFVEhfTU1DX0lUX1JGQUUgICAgICAweDEwMDAwMDQwVSAgLyohPCBXaGVuIFJ4IGFsaWdubWVudCBlcnJvciBjb3VudGVyIHJlYWNoZXMgaGFsZiB0aGUgbWF4aW11bSB2YWx1ZSAqLworI2RlZmluZSBFVEhfTU1DX0lUX1JGQ0UgICAgICAweDEwMDAwMDIwVSAgLyohPCBXaGVuIFJ4IGNyYyBlcnJvciBjb3VudGVyIHJlYWNoZXMgaGFsZiB0aGUgbWF4aW11bSB2YWx1ZSAqLworLyoqCisgICogQH0KKyAgKi8KKworLyoqIEBkZWZncm91cCBFVEhfTUFDX0ZsYWdzIEVUSCBNQUMgRmxhZ3MKKyAgKiBAeworICAqLworI2RlZmluZSBFVEhfTUFDX0ZMQUdfVFNUICAgICAweDAwMDAwMjAwVSAgLyohPCBUaW1lIHN0YW1wIHRyaWdnZXIgZmxhZyAob24gTUFDKSAqLworI2RlZmluZSBFVEhfTUFDX0ZMQUdfTU1DVCAgICAweDAwMDAwMDQwVSAgLyohPCBNTUMgdHJhbnNtaXQgZmxhZyAgKi8KKyNkZWZpbmUgRVRIX01BQ19GTEFHX01NQ1IgICAgMHgwMDAwMDAyMFUgIC8qITwgTU1DIHJlY2VpdmUgZmxhZyAqLworI2RlZmluZSBFVEhfTUFDX0ZMQUdfTU1DICAgICAweDAwMDAwMDEwVSAgLyohPCBNTUMgZmxhZyAob24gTUFDKSAqLworI2RlZmluZSBFVEhfTUFDX0ZMQUdfUE1UICAgICAweDAwMDAwMDA4VSAgLyohPCBQTVQgZmxhZyAob24gTUFDKSAqLworLyoqCisgICogQH0KKyAgKi8KKworLyoqIEBkZWZncm91cCBFVEhfRE1BX0ZsYWdzIEVUSCBETUEgRmxhZ3MKKyAgKiBAeworICAqLworI2RlZmluZSBFVEhfRE1BX0ZMQUdfVFNUICAgICAgICAgICAgICAgMHgyMDAwMDAwMFUgIC8qITwgVGltZS1zdGFtcCB0cmlnZ2VyIGludGVycnVwdCAob24gRE1BKSAqLworI2RlZmluZSBFVEhfRE1BX0ZMQUdfUE1UICAgICAgICAgICAgICAgMHgxMDAwMDAwMFUgIC8qITwgUE1UIGludGVycnVwdCAob24gRE1BKSAqLworI2RlZmluZSBFVEhfRE1BX0ZMQUdfTU1DICAgICAgICAgICAgICAgMHgwODAwMDAwMFUgIC8qITwgTU1DIGludGVycnVwdCAob24gRE1BKSAqLworI2RlZmluZSBFVEhfRE1BX0ZMQUdfREFUQVRSQU5TRkVSRVJST1IgMHgwMDgwMDAwMFUgIC8qITwgRXJyb3IgYml0cyAwLVJ4IERNQSwgMS1UeCBETUEgKi8KKyNkZWZpbmUgRVRIX0RNQV9GTEFHX1JFQURXUklURUVSUk9SICAgIDB4MDEwMDAwMDBVICAvKiE8IEVycm9yIGJpdHMgMC13cml0ZSB0cmFuc2ZlciwgMS1yZWFkIHRyYW5zZmVyICovCisjZGVmaW5lIEVUSF9ETUFfRkxBR19BQ0NFU1NFUlJPUiAgICAgICAweDAyMDAwMDAwVSAgLyohPCBFcnJvciBiaXRzIDAtZGF0YSBidWZmZXIsIDEtZGVzYy4gYWNjZXNzICovCisjZGVmaW5lIEVUSF9ETUFfRkxBR19OSVMgICAgICAgICAgICAgICAweDAwMDEwMDAwVSAgLyohPCBOb3JtYWwgaW50ZXJydXB0IHN1bW1hcnkgZmxhZyAqLworI2RlZmluZSBFVEhfRE1BX0ZMQUdfQUlTICAgICAgICAgICAgICAgMHgwMDAwODAwMFUgIC8qITwgQWJub3JtYWwgaW50ZXJydXB0IHN1bW1hcnkgZmxhZyAqLworI2RlZmluZSBFVEhfRE1BX0ZMQUdfRVIgICAgICAgICAgICAgICAgMHgwMDAwNDAwMFUgIC8qITwgRWFybHkgcmVjZWl2ZSBmbGFnICovCisjZGVmaW5lIEVUSF9ETUFfRkxBR19GQkUgICAgICAgICAgICAgICAweDAwMDAyMDAwVSAgLyohPCBGYXRhbCBidXMgZXJyb3IgZmxhZyAqLworI2RlZmluZSBFVEhfRE1BX0ZMQUdfRVQgICAgICAgICAgICAgICAgMHgwMDAwMDQwMFUgIC8qITwgRWFybHkgdHJhbnNtaXQgZmxhZyAqLworI2RlZmluZSBFVEhfRE1BX0ZMQUdfUldUICAgICAgICAgICAgICAgMHgwMDAwMDIwMFUgIC8qITwgUmVjZWl2ZSB3YXRjaGRvZyB0aW1lb3V0IGZsYWcgKi8KKyNkZWZpbmUgRVRIX0RNQV9GTEFHX1JQUyAgICAgICAgICAgICAgIDB4MDAwMDAxMDBVICAvKiE8IFJlY2VpdmUgcHJvY2VzcyBzdG9wcGVkIGZsYWcgKi8KKyNkZWZpbmUgRVRIX0RNQV9GTEFHX1JCVSAgICAgICAgICAgICAgIDB4MDAwMDAwODBVICAvKiE8IFJlY2VpdmUgYnVmZmVyIHVuYXZhaWxhYmxlIGZsYWcgKi8KKyNkZWZpbmUgRVRIX0RNQV9GTEFHX1IgICAgICAgICAgICAgICAgIDB4MDAwMDAwNDBVICAvKiE8IFJlY2VpdmUgZmxhZyAqLworI2RlZmluZSBFVEhfRE1BX0ZMQUdfVFUgICAgICAgICAgICAgICAgMHgwMDAwMDAyMFUgIC8qITwgVW5kZXJmbG93IGZsYWcgKi8KKyNkZWZpbmUgRVRIX0RNQV9GTEFHX1JPICAgICAgICAgICAgICAgIDB4MDAwMDAwMTBVICAvKiE8IE92ZXJmbG93IGZsYWcgKi8KKyNkZWZpbmUgRVRIX0RNQV9GTEFHX1RKVCAgICAgICAgICAgICAgIDB4MDAwMDAwMDhVICAvKiE8IFRyYW5zbWl0IGphYmJlciB0aW1lb3V0IGZsYWcgKi8KKyNkZWZpbmUgRVRIX0RNQV9GTEFHX1RCVSAgICAgICAgICAgICAgIDB4MDAwMDAwMDRVICAvKiE8IFRyYW5zbWl0IGJ1ZmZlciB1bmF2YWlsYWJsZSBmbGFnICovCisjZGVmaW5lIEVUSF9ETUFfRkxBR19UUFMgICAgICAgICAgICAgICAweDAwMDAwMDAyVSAgLyohPCBUcmFuc21pdCBwcm9jZXNzIHN0b3BwZWQgZmxhZyAqLworI2RlZmluZSBFVEhfRE1BX0ZMQUdfVCAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMVUgIC8qITwgVHJhbnNtaXQgZmxhZyAqLworLyoqCisgICogQH0KKyAgKi8KKworLyoqIEBkZWZncm91cCBFVEhfTUFDX0ludGVycnVwdHMgRVRIIE1BQyBJbnRlcnJ1cHRzCisgICogQHsKKyAgKi8KKyNkZWZpbmUgRVRIX01BQ19JVF9UU1QgICAgICAgMHgwMDAwMDIwMFUgIC8qITwgVGltZSBzdGFtcCB0cmlnZ2VyIGludGVycnVwdCAob24gTUFDKSAqLworI2RlZmluZSBFVEhfTUFDX0lUX01NQ1QgICAgICAweDAwMDAwMDQwVSAgLyohPCBNTUMgdHJhbnNtaXQgaW50ZXJydXB0ICovCisjZGVmaW5lIEVUSF9NQUNfSVRfTU1DUiAgICAgIDB4MDAwMDAwMjBVICAvKiE8IE1NQyByZWNlaXZlIGludGVycnVwdCAqLworI2RlZmluZSBFVEhfTUFDX0lUX01NQyAgICAgICAweDAwMDAwMDEwVSAgLyohPCBNTUMgaW50ZXJydXB0IChvbiBNQUMpICovCisjZGVmaW5lIEVUSF9NQUNfSVRfUE1UICAgICAgIDB4MDAwMDAwMDhVICAvKiE8IFBNVCBpbnRlcnJ1cHQgKG9uIE1BQykgKi8KKy8qKgorICAqIEB9CisgICovCisKKy8qKiBAZGVmZ3JvdXAgRVRIX0RNQV9JbnRlcnJ1cHRzIEVUSCBETUEgSW50ZXJydXB0cworICAqIEB7CisgICovCisjZGVmaW5lIEVUSF9ETUFfSVRfVFNUICAgICAgIDB4MjAwMDAwMDBVICAvKiE8IFRpbWUtc3RhbXAgdHJpZ2dlciBpbnRlcnJ1cHQgKG9uIERNQSkgKi8KKyNkZWZpbmUgRVRIX0RNQV9JVF9QTVQgICAgICAgMHgxMDAwMDAwMFUgIC8qITwgUE1UIGludGVycnVwdCAob24gRE1BKSAqLworI2RlZmluZSBFVEhfRE1BX0lUX01NQyAgICAgICAweDA4MDAwMDAwVSAgLyohPCBNTUMgaW50ZXJydXB0IChvbiBETUEpICovCisjZGVmaW5lIEVUSF9ETUFfSVRfTklTICAgICAgIDB4MDAwMTAwMDBVICAvKiE8IE5vcm1hbCBpbnRlcnJ1cHQgc3VtbWFyeSAqLworI2RlZmluZSBFVEhfRE1BX0lUX0FJUyAgICAgICAweDAwMDA4MDAwVSAgLyohPCBBYm5vcm1hbCBpbnRlcnJ1cHQgc3VtbWFyeSAqLworI2RlZmluZSBFVEhfRE1BX0lUX0VSICAgICAgICAweDAwMDA0MDAwVSAgLyohPCBFYXJseSByZWNlaXZlIGludGVycnVwdCAqLworI2RlZmluZSBFVEhfRE1BX0lUX0ZCRSAgICAgICAweDAwMDAyMDAwVSAgLyohPCBGYXRhbCBidXMgZXJyb3IgaW50ZXJydXB0ICovCisjZGVmaW5lIEVUSF9ETUFfSVRfRVQgICAgICAgIDB4MDAwMDA0MDBVICAvKiE8IEVhcmx5IHRyYW5zbWl0IGludGVycnVwdCAqLworI2RlZmluZSBFVEhfRE1BX0lUX1JXVCAgICAgICAweDAwMDAwMjAwVSAgLyohPCBSZWNlaXZlIHdhdGNoZG9nIHRpbWVvdXQgaW50ZXJydXB0ICovCisjZGVmaW5lIEVUSF9ETUFfSVRfUlBTICAgICAgIDB4MDAwMDAxMDBVICAvKiE8IFJlY2VpdmUgcHJvY2VzcyBzdG9wcGVkIGludGVycnVwdCAqLworI2RlZmluZSBFVEhfRE1BX0lUX1JCVSAgICAgICAweDAwMDAwMDgwVSAgLyohPCBSZWNlaXZlIGJ1ZmZlciB1bmF2YWlsYWJsZSBpbnRlcnJ1cHQgKi8KKyNkZWZpbmUgRVRIX0RNQV9JVF9SICAgICAgICAgMHgwMDAwMDA0MFUgIC8qITwgUmVjZWl2ZSBpbnRlcnJ1cHQgKi8KKyNkZWZpbmUgRVRIX0RNQV9JVF9UVSAgICAgICAgMHgwMDAwMDAyMFUgIC8qITwgVW5kZXJmbG93IGludGVycnVwdCAqLworI2RlZmluZSBFVEhfRE1BX0lUX1JPICAgICAgICAweDAwMDAwMDEwVSAgLyohPCBPdmVyZmxvdyBpbnRlcnJ1cHQgKi8KKyNkZWZpbmUgRVRIX0RNQV9JVF9USlQgICAgICAgMHgwMDAwMDAwOFUgIC8qITwgVHJhbnNtaXQgamFiYmVyIHRpbWVvdXQgaW50ZXJydXB0ICovCisjZGVmaW5lIEVUSF9ETUFfSVRfVEJVICAgICAgIDB4MDAwMDAwMDRVICAvKiE8IFRyYW5zbWl0IGJ1ZmZlciB1bmF2YWlsYWJsZSBpbnRlcnJ1cHQgKi8KKyNkZWZpbmUgRVRIX0RNQV9JVF9UUFMgICAgICAgMHgwMDAwMDAwMlUgIC8qITwgVHJhbnNtaXQgcHJvY2VzcyBzdG9wcGVkIGludGVycnVwdCAqLworI2RlZmluZSBFVEhfRE1BX0lUX1QgICAgICAgICAweDAwMDAwMDAxVSAgLyohPCBUcmFuc21pdCBpbnRlcnJ1cHQgKi8KKy8qKgorICAqIEB9CisgICovCisKKy8qKiBAZGVmZ3JvdXAgRVRIX0RNQV90cmFuc21pdF9wcm9jZXNzX3N0YXRlIEVUSCBETUEgdHJhbnNtaXQgcHJvY2VzcyBzdGF0ZQorICAqIEB7CisgICovCisjZGVmaW5lIEVUSF9ETUFfVFJBTlNNSVRQUk9DRVNTX1NUT1BQRUQgICAgIDB4MDAwMDAwMDBVICAvKiE8IFN0b3BwZWQgLSBSZXNldCBvciBTdG9wIFR4IENvbW1hbmQgaXNzdWVkICovCisjZGVmaW5lIEVUSF9ETUFfVFJBTlNNSVRQUk9DRVNTX0ZFVENISU5HICAgIDB4MDAxMDAwMDBVICAvKiE8IFJ1bm5pbmcgLSBmZXRjaGluZyB0aGUgVHggZGVzY3JpcHRvciAqLworI2RlZmluZSBFVEhfRE1BX1RSQU5TTUlUUFJPQ0VTU19XQUlUSU5HICAgICAweDAwMjAwMDAwVSAgLyohPCBSdW5uaW5nIC0gd2FpdGluZyBmb3Igc3RhdHVzICovCisjZGVmaW5lIEVUSF9ETUFfVFJBTlNNSVRQUk9DRVNTX1JFQURJTkcgICAgIDB4MDAzMDAwMDBVICAvKiE8IFJ1bm5pbmcgLSByZWFkaW5nIHRoZSBkYXRhIGZyb20gaG9zdCBtZW1vcnkgKi8KKyNkZWZpbmUgRVRIX0RNQV9UUkFOU01JVFBST0NFU1NfU1VTUEVOREVEICAgMHgwMDYwMDAwMFUgIC8qITwgU3VzcGVuZGVkIC0gVHggRGVzY3JpcHRvciB1bmF2YWlsYWJsZSAqLworI2RlZmluZSBFVEhfRE1BX1RSQU5TTUlUUFJPQ0VTU19DTE9TSU5HICAgICAweDAwNzAwMDAwVSAgLyohPCBSdW5uaW5nIC0gY2xvc2luZyBSeCBkZXNjcmlwdG9yICovCisKKy8qKgorICAqIEB9CisgICovCisKKworLyoqIEBkZWZncm91cCBFVEhfRE1BX3JlY2VpdmVfcHJvY2Vzc19zdGF0ZSBFVEggRE1BIHJlY2VpdmUgcHJvY2VzcyBzdGF0ZQorICAqIEB7CisgICovCisjZGVmaW5lIEVUSF9ETUFfUkVDRUlWRVBST0NFU1NfU1RPUFBFRCAgICAgIDB4MDAwMDAwMDBVICAvKiE8IFN0b3BwZWQgLSBSZXNldCBvciBTdG9wIFJ4IENvbW1hbmQgaXNzdWVkICovCisjZGVmaW5lIEVUSF9ETUFfUkVDRUlWRVBST0NFU1NfRkVUQ0hJTkcgICAgIDB4MDAwMjAwMDBVICAvKiE8IFJ1bm5pbmcgLSBmZXRjaGluZyB0aGUgUnggZGVzY3JpcHRvciAqLworI2RlZmluZSBFVEhfRE1BX1JFQ0VJVkVQUk9DRVNTX1dBSVRJTkcgICAgICAweDAwMDYwMDAwVSAgLyohPCBSdW5uaW5nIC0gd2FpdGluZyBmb3IgcGFja2V0ICovCisjZGVmaW5lIEVUSF9ETUFfUkVDRUlWRVBST0NFU1NfU1VTUEVOREVEICAgIDB4MDAwODAwMDBVICAvKiE8IFN1c3BlbmRlZCAtIFJ4IERlc2NyaXB0b3IgdW5hdmFpbGFibGUgKi8KKyNkZWZpbmUgRVRIX0RNQV9SRUNFSVZFUFJPQ0VTU19DTE9TSU5HICAgICAgMHgwMDBBMDAwMFUgIC8qITwgUnVubmluZyAtIGNsb3NpbmcgZGVzY3JpcHRvciAqLworI2RlZmluZSBFVEhfRE1BX1JFQ0VJVkVQUk9DRVNTX1FVRVVJTkcgICAgICAweDAwMEUwMDAwVSAgLyohPCBSdW5uaW5nIC0gcXVldWluZyB0aGUgcmVjZWl2ZSBmcmFtZSBpbnRvIGhvc3QgbWVtb3J5ICovCisKKy8qKgorICAqIEB9CisgICovCisKKy8qKiBAZGVmZ3JvdXAgRVRIX0RNQV9vdmVyZmxvdyBFVEggRE1BIG92ZXJmbG93CisgICogQHsKKyAgKi8KKyNkZWZpbmUgRVRIX0RNQV9PVkVSRkxPV19SWEZJRk9DT1VOVEVSICAgICAgMHgxMDAwMDAwMFUgIC8qITwgT3ZlcmZsb3cgYml0IGZvciBGSUZPIG92ZXJmbG93IGNvdW50ZXIgKi8KKyNkZWZpbmUgRVRIX0RNQV9PVkVSRkxPV19NSVNTRURGUkFNRUNPVU5URVIgMHgwMDAxMDAwMFUgIC8qITwgT3ZlcmZsb3cgYml0IGZvciBtaXNzZWQgZnJhbWUgY291bnRlciAqLworLyoqCisgICogQH0KKyAgKi8KKworLyoqIEBkZWZncm91cCBFVEhfRVhUSV9MSU5FX1dBS0VVUCBFVEggRVhUSSBMSU5FIFdBS0VVUAorICAqIEB7CisgICovCisjZGVmaW5lIEVUSF9FWFRJX0xJTkVfV0FLRVVQICAgICAgICAgICAgICAweDAwMDgwMDAwVSAgLyohPCBFeHRlcm5hbCBpbnRlcnJ1cHQgbGluZSAxOSBDb25uZWN0ZWQgdG8gdGhlIEVUSCBFWFRJIExpbmUgKi8KKworLyoqCisgICogQH0KKyAgKi8KKworLyoqCisgICogQH0KKyAgKi8KKworLyogRXhwb3J0ZWQgbWFjcm8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKy8qKiBAZGVmZ3JvdXAgRVRIX0V4cG9ydGVkX01hY3JvcyBFVEggRXhwb3J0ZWQgTWFjcm9zCisgKiAgQGJyaWVmIG1hY3JvcyB0byBoYW5kbGUgaW50ZXJydXB0cyBhbmQgc3BlY2lmaWMgY2xvY2sgY29uZmlndXJhdGlvbnMKKyAqIEB7CisgKi8KKworLyoqIEBicmllZiBSZXNldCBFVEggaGFuZGxlIHN0YXRlCisgICogQHBhcmFtICBfX0hBTkRMRV9fIHNwZWNpZmllcyB0aGUgRVRIIGhhbmRsZS4KKyAgKiBAcmV0dmFsIE5vbmUKKyAgKi8KKyNpZiAoVVNFX0hBTF9FVEhfUkVHSVNURVJfQ0FMTEJBQ0tTID09IDEpCisjZGVmaW5lIF9fSEFMX0VUSF9SRVNFVF9IQU5ETEVfU1RBVEUoX19IQU5ETEVfXykgIGRveyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKF9fSEFORExFX18pLT5TdGF0ZSA9IEhBTF9FVEhfU1RBVEVfUkVTRVQ7ICAgICBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKF9fSEFORExFX18pLT5Nc3BJbml0Q2FsbGJhY2sgPSBOVUxMOyAgICAgICAgICBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKF9fSEFORExFX18pLT5Nc3BEZUluaXRDYWxsYmFjayA9IE5VTEw7ICAgICAgICBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gd2hpbGUoMCkKKyNlbHNlCisjZGVmaW5lIF9fSEFMX0VUSF9SRVNFVF9IQU5ETEVfU1RBVEUoX19IQU5ETEVfXykgKChfX0hBTkRMRV9fKS0+U3RhdGUgPSBIQUxfRVRIX1NUQVRFX1JFU0VUKQorI2VuZGlmIC8qVVNFX0hBTF9FVEhfUkVHSVNURVJfQ0FMTEJBQ0tTICovCisKKy8qKgorICAqIEBicmllZiAgQ2hlY2tzIHdoZXRoZXIgdGhlIHNwZWNpZmllZCBFVEhFUk5FVCBETUEgVHggRGVzYyBmbGFnIGlzIHNldCBvciBub3QuCisgICogQHBhcmFtICBfX0hBTkRMRV9fIEVUSCBIYW5kbGUKKyAgKiBAcGFyYW0gIF9fRkxBR19fIHNwZWNpZmllcyB0aGUgZmxhZyBvZiBUREVTMCB0byBjaGVjay4KKyAgKiBAcmV0dmFsIHRoZSBFVEhfRE1BVHhEZXNjRmxhZyAoU0VUIG9yIFJFU0VUKS4KKyAgKi8KKyNkZWZpbmUgX19IQUxfRVRIX0RNQVRYREVTQ19HRVRfRkxBRyhfX0hBTkRMRV9fLCBfX0ZMQUdfXykgICAgICAgICAgICAgKChfX0hBTkRMRV9fKS0+VHhEZXNjLT5TdGF0dXMgJiAoX19GTEFHX18pID09IChfX0ZMQUdfXykpCisKKy8qKgorICAqIEBicmllZiAgQ2hlY2tzIHdoZXRoZXIgdGhlIHNwZWNpZmllZCBFVEhFUk5FVCBETUEgUnggRGVzYyBmbGFnIGlzIHNldCBvciBub3QuCisgICogQHBhcmFtICBfX0hBTkRMRV9fIEVUSCBIYW5kbGUKKyAgKiBAcGFyYW0gIF9fRkxBR19fIHNwZWNpZmllcyB0aGUgZmxhZyBvZiBSREVTMCB0byBjaGVjay4KKyAgKiBAcmV0dmFsIHRoZSBFVEhfRE1BVHhEZXNjRmxhZyAoU0VUIG9yIFJFU0VUKS4KKyAgKi8KKyNkZWZpbmUgX19IQUxfRVRIX0RNQVJYREVTQ19HRVRfRkxBRyhfX0hBTkRMRV9fLCBfX0ZMQUdfXykgICAgICAgICAgICAgKChfX0hBTkRMRV9fKS0+UnhEZXNjLT5TdGF0dXMgJiAoX19GTEFHX18pID09IChfX0ZMQUdfXykpCisKKy8qKgorICAqIEBicmllZiAgRW5hYmxlcyB0aGUgc3BlY2lmaWVkIERNQSBSeCBEZXNjIHJlY2VpdmUgaW50ZXJydXB0LgorICAqIEBwYXJhbSAgX19IQU5ETEVfXyBFVEggSGFuZGxlCisgICogQHJldHZhbCBOb25lCisgICovCisjZGVmaW5lIF9fSEFMX0VUSF9ETUFSWERFU0NfRU5BQkxFX0lUKF9fSEFORExFX18pICAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fSEFORExFX18pLT5SeERlc2MtPkNvbnRyb2xCdWZmZXJTaXplICY9KH4odWludDMyX3QpRVRIX0RNQVJYREVTQ19ESUMpKQorCisvKioKKyAgKiBAYnJpZWYgIERpc2FibGVzIHRoZSBzcGVjaWZpZWQgRE1BIFJ4IERlc2MgcmVjZWl2ZSBpbnRlcnJ1cHQuCisgICogQHBhcmFtICBfX0hBTkRMRV9fIEVUSCBIYW5kbGUKKyAgKiBAcmV0dmFsIE5vbmUKKyAgKi8KKyNkZWZpbmUgX19IQUxfRVRIX0RNQVJYREVTQ19ESVNBQkxFX0lUKF9fSEFORExFX18pICAgICAgICAgICAgICAgICAgICAgICAgICgoX19IQU5ETEVfXyktPlJ4RGVzYy0+Q29udHJvbEJ1ZmZlclNpemUgfD0gRVRIX0RNQVJYREVTQ19ESUMpCisKKy8qKgorICAqIEBicmllZiAgU2V0IHRoZSBzcGVjaWZpZWQgRE1BIFJ4IERlc2MgT3duIGJpdC4KKyAgKiBAcGFyYW0gIF9fSEFORExFX18gRVRIIEhhbmRsZQorICAqIEByZXR2YWwgTm9uZQorICAqLworI2RlZmluZSBfX0hBTF9FVEhfRE1BUlhERVNDX1NFVF9PV05fQklUKF9fSEFORExFX18pICAgICAgICAgICAgICAgICAgICAgICAgICAgKChfX0hBTkRMRV9fKS0+UnhEZXNjLT5TdGF0dXMgfD0gRVRIX0RNQVJYREVTQ19PV04pCisKKy8qKgorICAqIEBicmllZiAgUmV0dXJucyB0aGUgc3BlY2lmaWVkIEVUSEVSTkVUIERNQSBUeCBEZXNjIGNvbGxpc2lvbiBjb3VudC4KKyAgKiBAcGFyYW0gIF9fSEFORExFX18gRVRIIEhhbmRsZQorICAqIEByZXR2YWwgVGhlIFRyYW5zbWl0IGRlc2NyaXB0b3IgY29sbGlzaW9uIGNvdW50ZXIgdmFsdWUuCisgICovCisjZGVmaW5lIF9fSEFMX0VUSF9ETUFUWERFU0NfR0VUX0NPTExJU0lPTl9DT1VOVChfX0hBTkRMRV9fKSAgICAgICAgICAgICAgICAgICAoKChfX0hBTkRMRV9fKS0+VHhEZXNjLT5TdGF0dXMgJiBFVEhfRE1BVFhERVNDX0NDKSA+PiBFVEhfRE1BVFhERVNDX0NPTExJU0lPTl9DT1VOVFNISUZUKQorCisvKioKKyAgKiBAYnJpZWYgIFNldCB0aGUgc3BlY2lmaWVkIERNQSBUeCBEZXNjIE93biBiaXQuCisgICogQHBhcmFtICBfX0hBTkRMRV9fIEVUSCBIYW5kbGUKKyAgKiBAcmV0dmFsIE5vbmUKKyAgKi8KKyNkZWZpbmUgX19IQUxfRVRIX0RNQVRYREVTQ19TRVRfT1dOX0JJVChfX0hBTkRMRV9fKSAgICAgICAgICAgICAgICAgICAgICAgKChfX0hBTkRMRV9fKS0+VHhEZXNjLT5TdGF0dXMgfD0gRVRIX0RNQVRYREVTQ19PV04pCisKKy8qKgorICAqIEBicmllZiAgRW5hYmxlcyB0aGUgc3BlY2lmaWVkIERNQSBUeCBEZXNjIFRyYW5zbWl0IGludGVycnVwdC4KKyAgKiBAcGFyYW0gIF9fSEFORExFX18gRVRIIEhhbmRsZQorICAqIEByZXR2YWwgTm9uZQorICAqLworI2RlZmluZSBfX0hBTF9FVEhfRE1BVFhERVNDX0VOQUJMRV9JVChfX0hBTkRMRV9fKSAgICAgICAgICAgICAgICAgICAgICAgICAgKChfX0hBTkRMRV9fKS0+VHhEZXNjLT5TdGF0dXMgfD0gRVRIX0RNQVRYREVTQ19JQykKKworLyoqCisgICogQGJyaWVmICBEaXNhYmxlcyB0aGUgc3BlY2lmaWVkIERNQSBUeCBEZXNjIFRyYW5zbWl0IGludGVycnVwdC4KKyAgKiBAcGFyYW0gIF9fSEFORExFX18gRVRIIEhhbmRsZQorICAqIEByZXR2YWwgTm9uZQorICAqLworI2RlZmluZSBfX0hBTF9FVEhfRE1BVFhERVNDX0RJU0FCTEVfSVQoX19IQU5ETEVfXykgICAgICAgICAgICAgICAgICAgICAgICAgICgoX19IQU5ETEVfXyktPlR4RGVzYy0+U3RhdHVzICY9IH5FVEhfRE1BVFhERVNDX0lDKQorCisvKioKKyAgKiBAYnJpZWYgIFNlbGVjdHMgdGhlIHNwZWNpZmllZCBFVEhFUk5FVCBETUEgVHggRGVzYyBDaGVja3N1bSBJbnNlcnRpb24uCisgICogQHBhcmFtICBfX0hBTkRMRV9fIEVUSCBIYW5kbGUKKyAgKiBAcGFyYW0gIF9fQ0hFQ0tTVU1fXyBzcGVjaWZpZXMgaXMgdGhlIERNQSBUeCBkZXNjIGNoZWNrc3VtIGluc2VydGlvbi4KKyAgKiAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBvbmUgb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXM6CisgICogICAgIEBhcmcgRVRIX0RNQVRYREVTQ19DSEVDS1NVTUJZUEFTUyA6IENoZWNrc3VtIGJ5cGFzcworICAqICAgICBAYXJnIEVUSF9ETUFUWERFU0NfQ0hFQ0tTVU1JUFY0SEVBREVSIDogSVB2NCBoZWFkZXIgY2hlY2tzdW0KKyAgKiAgICAgQGFyZyBFVEhfRE1BVFhERVNDX0NIRUNLU1VNVENQVURQSUNNUFNFR01FTlQgOiBUQ1AvVURQL0lDTVAgY2hlY2tzdW0uIFBzZXVkbyBoZWFkZXIgY2hlY2tzdW0gaXMgYXNzdW1lZCB0byBiZSBwcmVzZW50CisgICogICAgIEBhcmcgRVRIX0RNQVRYREVTQ19DSEVDS1NVTVRDUFVEUElDTVBGVUxMIDogVENQL1VEUC9JQ01QIGNoZWNrc3VtIGZ1bGx5IGluIGhhcmR3YXJlIGluY2x1ZGluZyBwc2V1ZG8gaGVhZGVyCisgICogQHJldHZhbCBOb25lCisgICovCisjZGVmaW5lIF9fSEFMX0VUSF9ETUFUWERFU0NfQ0hFQ0tTVU1fSU5TRVJUSU9OKF9fSEFORExFX18sIF9fQ0hFQ0tTVU1fXykgICAgICgoX19IQU5ETEVfXyktPlR4RGVzYy0+U3RhdHVzIHw9IChfX0NIRUNLU1VNX18pKQorCisvKioKKyAgKiBAYnJpZWYgIEVuYWJsZXMgdGhlIERNQSBUeCBEZXNjIENSQy4KKyAgKiBAcGFyYW0gIF9fSEFORExFX18gRVRIIEhhbmRsZQorICAqIEByZXR2YWwgTm9uZQorICAqLworI2RlZmluZSBfX0hBTF9FVEhfRE1BVFhERVNDX0NSQ19FTkFCTEUoX19IQU5ETEVfXykgICAgICAgICAgICAgICAgICAgICAgICAgICgoX19IQU5ETEVfXyktPlR4RGVzYy0+U3RhdHVzICY9IH5FVEhfRE1BVFhERVNDX0RDKQorCisvKioKKyAgKiBAYnJpZWYgIERpc2FibGVzIHRoZSBETUEgVHggRGVzYyBDUkMuCisgICogQHBhcmFtICBfX0hBTkRMRV9fIEVUSCBIYW5kbGUKKyAgKiBAcmV0dmFsIE5vbmUKKyAgKi8KKyNkZWZpbmUgX19IQUxfRVRIX0RNQVRYREVTQ19DUkNfRElTQUJMRShfX0hBTkRMRV9fKSAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fSEFORExFX18pLT5UeERlc2MtPlN0YXR1cyB8PSBFVEhfRE1BVFhERVNDX0RDKQorCisvKioKKyAgKiBAYnJpZWYgIEVuYWJsZXMgdGhlIERNQSBUeCBEZXNjIHBhZGRpbmcgZm9yIGZyYW1lIHNob3J0ZXIgdGhhbiA2NCBieXRlcy4KKyAgKiBAcGFyYW0gIF9fSEFORExFX18gRVRIIEhhbmRsZQorICAqIEByZXR2YWwgTm9uZQorICAqLworI2RlZmluZSBfX0hBTF9FVEhfRE1BVFhERVNDX1NIT1JUX0ZSQU1FX1BBRERJTkdfRU5BQkxFKF9fSEFORExFX18pICAgICAgICAgICAgKChfX0hBTkRMRV9fKS0+VHhEZXNjLT5TdGF0dXMgJj0gfkVUSF9ETUFUWERFU0NfRFApCisKKy8qKgorICAqIEBicmllZiAgRGlzYWJsZXMgdGhlIERNQSBUeCBEZXNjIHBhZGRpbmcgZm9yIGZyYW1lIHNob3J0ZXIgdGhhbiA2NCBieXRlcy4KKyAgKiBAcGFyYW0gIF9fSEFORExFX18gRVRIIEhhbmRsZQorICAqIEByZXR2YWwgTm9uZQorICAqLworI2RlZmluZSBfX0hBTF9FVEhfRE1BVFhERVNDX1NIT1JUX0ZSQU1FX1BBRERJTkdfRElTQUJMRShfX0hBTkRMRV9fKSAgICAgICAgICAgKChfX0hBTkRMRV9fKS0+VHhEZXNjLT5TdGF0dXMgfD0gRVRIX0RNQVRYREVTQ19EUCkKKworLyoqCisgKiBAYnJpZWYgIEVuYWJsZXMgdGhlIHNwZWNpZmllZCBFVEhFUk5FVCBNQUMgaW50ZXJydXB0cy4KKyAgKiBAcGFyYW0gIF9fSEFORExFX18gICAgRVRIIEhhbmRsZQorICAqIEBwYXJhbSAgX19JTlRFUlJVUFRfXyBzcGVjaWZpZXMgdGhlIEVUSEVSTkVUIE1BQyBpbnRlcnJ1cHQgc291cmNlcyB0byBiZQorICAqICAgZW5hYmxlZCBvciBkaXNhYmxlZC4KKyAgKiAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhbnkgY29tYmluYXRpb24gb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXM6CisgICogICAgIEBhcmcgRVRIX01BQ19JVF9UU1QgOiBUaW1lIHN0YW1wIHRyaWdnZXIgaW50ZXJydXB0CisgICogICAgIEBhcmcgRVRIX01BQ19JVF9QTVQgOiBQTVQgaW50ZXJydXB0CisgICogQHJldHZhbCBOb25lCisgICovCisjZGVmaW5lIF9fSEFMX0VUSF9NQUNfRU5BQkxFX0lUKF9fSEFORExFX18sIF9fSU5URVJSVVBUX18pICAgICAgICAgICAgICAgICAoKF9fSEFORExFX18pLT5JbnN0YW5jZS0+TUFDSU1SIHw9IChfX0lOVEVSUlVQVF9fKSkKKworLyoqCisgICogQGJyaWVmICBEaXNhYmxlcyB0aGUgc3BlY2lmaWVkIEVUSEVSTkVUIE1BQyBpbnRlcnJ1cHRzLgorICAqIEBwYXJhbSAgX19IQU5ETEVfXyAgICBFVEggSGFuZGxlCisgICogQHBhcmFtICBfX0lOVEVSUlVQVF9fIHNwZWNpZmllcyB0aGUgRVRIRVJORVQgTUFDIGludGVycnVwdCBzb3VyY2VzIHRvIGJlCisgICogICBlbmFibGVkIG9yIGRpc2FibGVkLgorICAqICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGFueSBjb21iaW5hdGlvbiBvZiB0aGUgZm9sbG93aW5nIHZhbHVlczoKKyAgKiAgICAgQGFyZyBFVEhfTUFDX0lUX1RTVCA6IFRpbWUgc3RhbXAgdHJpZ2dlciBpbnRlcnJ1cHQKKyAgKiAgICAgQGFyZyBFVEhfTUFDX0lUX1BNVCA6IFBNVCBpbnRlcnJ1cHQKKyAgKiBAcmV0dmFsIE5vbmUKKyAgKi8KKyNkZWZpbmUgX19IQUxfRVRIX01BQ19ESVNBQkxFX0lUKF9fSEFORExFX18sIF9fSU5URVJSVVBUX18pICAgICAgICAgICAgICAgICgoX19IQU5ETEVfXyktPkluc3RhbmNlLT5NQUNJTVIgJj0gfihfX0lOVEVSUlVQVF9fKSkKKworLyoqCisgICogQGJyaWVmICBJbml0aWF0ZSBhIFBhdXNlIENvbnRyb2wgRnJhbWUgKEZ1bGwtZHVwbGV4IG9ubHkpLgorICAqIEBwYXJhbSAgX19IQU5ETEVfXyBFVEggSGFuZGxlCisgICogQHJldHZhbCBOb25lCisgICovCisjZGVmaW5lIF9fSEFMX0VUSF9JTklUSUFURV9QQVVTRV9DT05UUk9MX0ZSQU1FKF9fSEFORExFX18pICAgICAgICAgICAgICAoKF9fSEFORExFX18pLT5JbnN0YW5jZS0+TUFDRkNSIHw9IEVUSF9NQUNGQ1JfRkNCQlBBKQorCisvKioKKyAgKiBAYnJpZWYgIENoZWNrcyB3aGV0aGVyIHRoZSBFVEhFUk5FVCBmbG93IGNvbnRyb2wgYnVzeSBiaXQgaXMgc2V0IG9yIG5vdC4KKyAgKiBAcGFyYW0gIF9fSEFORExFX18gRVRIIEhhbmRsZQorICAqIEByZXR2YWwgVGhlIG5ldyBzdGF0ZSBvZiBmbG93IGNvbnRyb2wgYnVzeSBzdGF0dXMgYml0IChTRVQgb3IgUkVTRVQpLgorICAqLworI2RlZmluZSBfX0hBTF9FVEhfR0VUX0ZMT1dfQ09OVFJPTF9CVVNZX1NUQVRVUyhfX0hBTkRMRV9fKSAgICAgICAgICAgICAgICgoKF9fSEFORExFX18pLT5JbnN0YW5jZS0+TUFDRkNSICYgRVRIX01BQ0ZDUl9GQ0JCUEEpID09IEVUSF9NQUNGQ1JfRkNCQlBBKQorCisvKioKKyAgKiBAYnJpZWYgIEVuYWJsZXMgdGhlIE1BQyBCYWNrIFByZXNzdXJlIG9wZXJhdGlvbiBhY3RpdmF0aW9uIChIYWxmLWR1cGxleCBvbmx5KS4KKyAgKiBAcGFyYW0gIF9fSEFORExFX18gRVRIIEhhbmRsZQorICAqIEByZXR2YWwgTm9uZQorICAqLworI2RlZmluZSBfX0hBTF9FVEhfQkFDS19QUkVTU1VSRV9BQ1RJVkFUSU9OX0VOQUJMRShfX0hBTkRMRV9fKSAgICAgICAgICAoKF9fSEFORExFX18pLT5JbnN0YW5jZS0+TUFDRkNSIHw9IEVUSF9NQUNGQ1JfRkNCQlBBKQorCisvKioKKyAgKiBAYnJpZWYgIERpc2FibGVzIHRoZSBNQUMgQmFja1ByZXNzdXJlIG9wZXJhdGlvbiBhY3RpdmF0aW9uIChIYWxmLWR1cGxleCBvbmx5KS4KKyAgKiBAcGFyYW0gIF9fSEFORExFX18gRVRIIEhhbmRsZQorICAqIEByZXR2YWwgTm9uZQorICAqLworI2RlZmluZSBfX0hBTF9FVEhfQkFDS19QUkVTU1VSRV9BQ1RJVkFUSU9OX0RJU0FCTEUoX19IQU5ETEVfXykgICAgICAgICAoKF9fSEFORExFX18pLT5JbnN0YW5jZS0+TUFDRkNSICY9IH5FVEhfTUFDRkNSX0ZDQkJQQSkKKworLyoqCisgICogQGJyaWVmICBDaGVja3Mgd2hldGhlciB0aGUgc3BlY2lmaWVkIEVUSEVSTkVUIE1BQyBmbGFnIGlzIHNldCBvciBub3QuCisgICogQHBhcmFtICBfX0hBTkRMRV9fIEVUSCBIYW5kbGUKKyAgKiBAcGFyYW0gIF9fRkxBR19fIHNwZWNpZmllcyB0aGUgZmxhZyB0byBjaGVjay4KKyAgKiAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBvbmUgb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXM6CisgICogICAgIEBhcmcgRVRIX01BQ19GTEFHX1RTVCAgOiBUaW1lIHN0YW1wIHRyaWdnZXIgZmxhZworICAqICAgICBAYXJnIEVUSF9NQUNfRkxBR19NTUNUIDogTU1DIHRyYW5zbWl0IGZsYWcKKyAgKiAgICAgQGFyZyBFVEhfTUFDX0ZMQUdfTU1DUiA6IE1NQyByZWNlaXZlIGZsYWcKKyAgKiAgICAgQGFyZyBFVEhfTUFDX0ZMQUdfTU1DICA6IE1NQyBmbGFnCisgICogICAgIEBhcmcgRVRIX01BQ19GTEFHX1BNVCAgOiBQTVQgZmxhZworICAqIEByZXR2YWwgVGhlIHN0YXRlIG9mIEVUSEVSTkVUIE1BQyBmbGFnLgorICAqLworI2RlZmluZSBfX0hBTF9FVEhfTUFDX0dFVF9GTEFHKF9fSEFORExFX18sIF9fRkxBR19fKSAgICAgICAgICAgICAgICAgICAoKChfX0hBTkRMRV9fKS0+SW5zdGFuY2UtPk1BQ1NSICYoIF9fRkxBR19fKSkgPT0gKCBfX0ZMQUdfXykpCisKKy8qKgorICAqIEBicmllZiAgRW5hYmxlcyB0aGUgc3BlY2lmaWVkIEVUSEVSTkVUIERNQSBpbnRlcnJ1cHRzLgorICAqIEBwYXJhbSAgX19IQU5ETEVfXyAgICBFVEggSGFuZGxlCisgICogQHBhcmFtICBfX0lOVEVSUlVQVF9fIHNwZWNpZmllcyB0aGUgRVRIRVJORVQgRE1BIGludGVycnVwdCBzb3VyY2VzIHRvIGJlCisgICogICBlbmFibGVkIEByZWYgRVRIX0RNQV9JbnRlcnJ1cHRzCisgICogQHJldHZhbCBOb25lCisgICovCisjZGVmaW5lIF9fSEFMX0VUSF9ETUFfRU5BQkxFX0lUKF9fSEFORExFX18sIF9fSU5URVJSVVBUX18pICAgICAgICAgICAgICAgICAoKF9fSEFORExFX18pLT5JbnN0YW5jZS0+RE1BSUVSIHw9IChfX0lOVEVSUlVQVF9fKSkKKworLyoqCisgICogQGJyaWVmICBEaXNhYmxlcyB0aGUgc3BlY2lmaWVkIEVUSEVSTkVUIERNQSBpbnRlcnJ1cHRzLgorICAqIEBwYXJhbSAgX19IQU5ETEVfXyAgICBFVEggSGFuZGxlCisgICogQHBhcmFtICBfX0lOVEVSUlVQVF9fIHNwZWNpZmllcyB0aGUgRVRIRVJORVQgRE1BIGludGVycnVwdCBzb3VyY2VzIHRvIGJlCisgICogICBkaXNhYmxlZC4gQHJlZiBFVEhfRE1BX0ludGVycnVwdHMKKyAgKiBAcmV0dmFsIE5vbmUKKyAgKi8KKyNkZWZpbmUgX19IQUxfRVRIX0RNQV9ESVNBQkxFX0lUKF9fSEFORExFX18sIF9fSU5URVJSVVBUX18pICAgICAgICAgICAgICAgICgoX19IQU5ETEVfXyktPkluc3RhbmNlLT5ETUFJRVIgJj0gfihfX0lOVEVSUlVQVF9fKSkKKworLyoqCisgICogQGJyaWVmICBDbGVhcnMgdGhlIEVUSEVSTkVUIERNQSBJVCBwZW5kaW5nIGJpdC4KKyAgKiBAcGFyYW0gIF9fSEFORExFX18gICAgRVRIIEhhbmRsZQorICAqIEBwYXJhbSAgX19JTlRFUlJVUFRfXyBzcGVjaWZpZXMgdGhlIGludGVycnVwdCBwZW5kaW5nIGJpdCB0byBjbGVhci4gQHJlZiBFVEhfRE1BX0ludGVycnVwdHMKKyAgKiBAcmV0dmFsIE5vbmUKKyAgKi8KKyNkZWZpbmUgX19IQUxfRVRIX0RNQV9DTEVBUl9JVChfX0hBTkRMRV9fLCBfX0lOVEVSUlVQVF9fKSAgICAgICgoX19IQU5ETEVfXyktPkluc3RhbmNlLT5ETUFTUiA9KF9fSU5URVJSVVBUX18pKQorCisvKioKKyAgKiBAYnJpZWYgIENoZWNrcyB3aGV0aGVyIHRoZSBzcGVjaWZpZWQgRVRIRVJORVQgRE1BIGZsYWcgaXMgc2V0IG9yIG5vdC4KKyogQHBhcmFtICBfX0hBTkRMRV9fIEVUSCBIYW5kbGUKKyAgKiBAcGFyYW0gIF9fRkxBR19fIHNwZWNpZmllcyB0aGUgZmxhZyB0byBjaGVjay4gQHJlZiBFVEhfRE1BX0ZsYWdzCisgICogQHJldHZhbCBUaGUgbmV3IHN0YXRlIG9mIEVUSF9ETUFfRkxBRyAoU0VUIG9yIFJFU0VUKS4KKyAgKi8KKyNkZWZpbmUgX19IQUxfRVRIX0RNQV9HRVRfRkxBRyhfX0hBTkRMRV9fLCBfX0ZMQUdfXykgICAgICAgICAgICAgICAgICAgKCgoX19IQU5ETEVfXyktPkluc3RhbmNlLT5ETUFTUiAmKCBfX0ZMQUdfXykpID09ICggX19GTEFHX18pKQorCisvKioKKyAgKiBAYnJpZWYgIENoZWNrcyB3aGV0aGVyIHRoZSBzcGVjaWZpZWQgRVRIRVJORVQgRE1BIGZsYWcgaXMgc2V0IG9yIG5vdC4KKyAgKiBAcGFyYW0gIF9fSEFORExFX18gRVRIIEhhbmRsZQorICAqIEBwYXJhbSAgX19GTEFHX18gc3BlY2lmaWVzIHRoZSBmbGFnIHRvIGNsZWFyLiBAcmVmIEVUSF9ETUFfRmxhZ3MKKyAgKiBAcmV0dmFsIFRoZSBuZXcgc3RhdGUgb2YgRVRIX0RNQV9GTEFHIChTRVQgb3IgUkVTRVQpLgorICAqLworI2RlZmluZSBfX0hBTF9FVEhfRE1BX0NMRUFSX0ZMQUcoX19IQU5ETEVfXywgX19GTEFHX18pICAgICAgICAgICAgICAgICAoKF9fSEFORExFX18pLT5JbnN0YW5jZS0+RE1BU1IgPSAoX19GTEFHX18pKQorCisvKioKKyAgKiBAYnJpZWYgIENoZWNrcyB3aGV0aGVyIHRoZSBzcGVjaWZpZWQgRVRIRVJORVQgRE1BIG92ZXJmbG93IGZsYWcgaXMgc2V0IG9yIG5vdC4KKyAgKiBAcGFyYW0gIF9fSEFORExFX18gRVRIIEhhbmRsZQorICAqIEBwYXJhbSAgX19PVkVSRkxPV19fIHNwZWNpZmllcyB0aGUgRE1BIG92ZXJmbG93IGZsYWcgdG8gY2hlY2suCisgICogICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgb25lIG9mIHRoZSBmb2xsb3dpbmcgdmFsdWVzOgorICAqICAgICBAYXJnIEVUSF9ETUFfT1ZFUkZMT1dfUlhGSUZPQ09VTlRFUiA6IE92ZXJmbG93IGZvciBGSUZPIE92ZXJmbG93cyBDb3VudGVyCisgICogICAgIEBhcmcgRVRIX0RNQV9PVkVSRkxPV19NSVNTRURGUkFNRUNPVU5URVIgOiBPdmVyZmxvdyBmb3IgQnVmZmVyIFVuYXZhaWxhYmxlIE1pc3NlZCBGcmFtZSBDb3VudGVyCisgICogQHJldHZhbCBUaGUgc3RhdGUgb2YgRVRIRVJORVQgRE1BIG92ZXJmbG93IEZsYWcgKFNFVCBvciBSRVNFVCkuCisgICovCisjZGVmaW5lIF9fSEFMX0VUSF9HRVRfRE1BX09WRVJGTE9XX1NUQVRVUyhfX0hBTkRMRV9fLCBfX09WRVJGTE9XX18pICAgICAgICgoKF9fSEFORExFX18pLT5JbnN0YW5jZS0+RE1BTUZCT0NSICYgKF9fT1ZFUkZMT1dfXykpID09IChfX09WRVJGTE9XX18pKQorCisvKioKKyAgKiBAYnJpZWYgIFNldCB0aGUgRE1BIFJlY2VpdmUgc3RhdHVzIHdhdGNoZG9nIHRpbWVyIHJlZ2lzdGVyIHZhbHVlCisgICogQHBhcmFtICBfX0hBTkRMRV9fIEVUSCBIYW5kbGUKKyAgKiBAcGFyYW0gIF9fVkFMVUVfXyBETUEgUmVjZWl2ZSBzdGF0dXMgd2F0Y2hkb2cgdGltZXIgcmVnaXN0ZXIgdmFsdWUKKyAgKiBAcmV0dmFsIE5vbmUKKyAgKi8KKyNkZWZpbmUgX19IQUxfRVRIX1NFVF9SRUNFSVZFX1dBVENIRE9HX1RJTUVSKF9fSEFORExFX18sIF9fVkFMVUVfXykgICAgICAgKChfX0hBTkRMRV9fKS0+SW5zdGFuY2UtPkRNQVJTV1RSID0gKF9fVkFMVUVfXykpCisKKy8qKgorICAqIEBicmllZiAgRW5hYmxlcyBhbnkgdW5pY2FzdCBwYWNrZXQgZmlsdGVyZWQgYnkgdGhlIE1BQyBhZGRyZXNzCisgICogICByZWNvZ25pdGlvbiB0byBiZSBhIHdha2UtdXAgZnJhbWUuCisgICogQHBhcmFtICBfX0hBTkRMRV9fIEVUSCBIYW5kbGUuCisgICogQHJldHZhbCBOb25lCisgICovCisjZGVmaW5lIF9fSEFMX0VUSF9HTE9CQUxfVU5JQ0FTVF9XQUtFVVBfRU5BQkxFKF9fSEFORExFX18pICAgICAgICAgICAgICAgKChfX0hBTkRMRV9fKS0+SW5zdGFuY2UtPk1BQ1BNVENTUiB8PSBFVEhfTUFDUE1UQ1NSX0dVKQorCisvKioKKyAgKiBAYnJpZWYgIERpc2FibGVzIGFueSB1bmljYXN0IHBhY2tldCBmaWx0ZXJlZCBieSB0aGUgTUFDIGFkZHJlc3MKKyAgKiAgIHJlY29nbml0aW9uIHRvIGJlIGEgd2FrZS11cCBmcmFtZS4KKyAgKiBAcGFyYW0gIF9fSEFORExFX18gRVRIIEhhbmRsZS4KKyAgKiBAcmV0dmFsIE5vbmUKKyAgKi8KKyNkZWZpbmUgX19IQUxfRVRIX0dMT0JBTF9VTklDQVNUX1dBS0VVUF9ESVNBQkxFKF9fSEFORExFX18pICAgICAgICAgICAgICAoKF9fSEFORExFX18pLT5JbnN0YW5jZS0+TUFDUE1UQ1NSICY9IH5FVEhfTUFDUE1UQ1NSX0dVKQorCisvKioKKyAgKiBAYnJpZWYgIEVuYWJsZXMgdGhlIE1BQyBXYWtlLVVwIEZyYW1lIERldGVjdGlvbi4KKyAgKiBAcGFyYW0gIF9fSEFORExFX18gRVRIIEhhbmRsZS4KKyAgKiBAcmV0dmFsIE5vbmUKKyAgKi8KKyNkZWZpbmUgX19IQUxfRVRIX1dBS0VVUF9GUkFNRV9ERVRFQ1RJT05fRU5BQkxFKF9fSEFORExFX18pICAgICAgICAgICAgICAoKF9fSEFORExFX18pLT5JbnN0YW5jZS0+TUFDUE1UQ1NSIHw9IEVUSF9NQUNQTVRDU1JfV0ZFKQorCisvKioKKyAgKiBAYnJpZWYgIERpc2FibGVzIHRoZSBNQUMgV2FrZS1VcCBGcmFtZSBEZXRlY3Rpb24uCisgICogQHBhcmFtICBfX0hBTkRMRV9fIEVUSCBIYW5kbGUuCisgICogQHJldHZhbCBOb25lCisgICovCisjZGVmaW5lIF9fSEFMX0VUSF9XQUtFVVBfRlJBTUVfREVURUNUSU9OX0RJU0FCTEUoX19IQU5ETEVfXykgICAgICAgICAgICAgKChfX0hBTkRMRV9fKS0+SW5zdGFuY2UtPk1BQ1BNVENTUiAmPSB+RVRIX01BQ1BNVENTUl9XRkUpCisKKy8qKgorICAqIEBicmllZiAgRW5hYmxlcyB0aGUgTUFDIE1hZ2ljIFBhY2tldCBEZXRlY3Rpb24uCisgICogQHBhcmFtICBfX0hBTkRMRV9fIEVUSCBIYW5kbGUuCisgICogQHJldHZhbCBOb25lCisgICovCisjZGVmaW5lIF9fSEFMX0VUSF9NQUdJQ19QQUNLRVRfREVURUNUSU9OX0VOQUJMRShfX0hBTkRMRV9fKSAgICAgICAgICAgICAgKChfX0hBTkRMRV9fKS0+SW5zdGFuY2UtPk1BQ1BNVENTUiB8PSBFVEhfTUFDUE1UQ1NSX01QRSkKKworLyoqCisgICogQGJyaWVmICBEaXNhYmxlcyB0aGUgTUFDIE1hZ2ljIFBhY2tldCBEZXRlY3Rpb24uCisgICogQHBhcmFtICBfX0hBTkRMRV9fIEVUSCBIYW5kbGUuCisgICogQHJldHZhbCBOb25lCisgICovCisjZGVmaW5lIF9fSEFMX0VUSF9NQUdJQ19QQUNLRVRfREVURUNUSU9OX0RJU0FCTEUoX19IQU5ETEVfXykgICAgICAgICAgICAgKChfX0hBTkRMRV9fKS0+SW5zdGFuY2UtPk1BQ1BNVENTUiAmPSB+RVRIX01BQ1BNVENTUl9XRkUpCisKKy8qKgorICAqIEBicmllZiAgRW5hYmxlcyB0aGUgTUFDIFBvd2VyIERvd24uCisgICogQHBhcmFtICBfX0hBTkRMRV9fIEVUSCBIYW5kbGUKKyAgKiBAcmV0dmFsIE5vbmUKKyAgKi8KKyNkZWZpbmUgX19IQUxfRVRIX1BPV0VSX0RPV05fRU5BQkxFKF9fSEFORExFX18pICAgICAgICAgICAgICAgICAgICAgICAgICgoX19IQU5ETEVfXyktPkluc3RhbmNlLT5NQUNQTVRDU1IgfD0gRVRIX01BQ1BNVENTUl9QRCkKKworLyoqCisgICogQGJyaWVmICBEaXNhYmxlcyB0aGUgTUFDIFBvd2VyIERvd24uCisgICogQHBhcmFtICBfX0hBTkRMRV9fIEVUSCBIYW5kbGUKKyAgKiBAcmV0dmFsIE5vbmUKKyAgKi8KKyNkZWZpbmUgX19IQUxfRVRIX1BPV0VSX0RPV05fRElTQUJMRShfX0hBTkRMRV9fKSAgICAgICAgICAgICAgICAgICAgICAgICgoX19IQU5ETEVfXyktPkluc3RhbmNlLT5NQUNQTVRDU1IgJj0gfkVUSF9NQUNQTVRDU1JfUEQpCisKKy8qKgorICAqIEBicmllZiAgQ2hlY2tzIHdoZXRoZXIgdGhlIHNwZWNpZmllZCBFVEhFUk5FVCBQTVQgZmxhZyBpcyBzZXQgb3Igbm90LgorICAqIEBwYXJhbSAgX19IQU5ETEVfXyBFVEggSGFuZGxlLgorICAqIEBwYXJhbSAgX19GTEFHX18gc3BlY2lmaWVzIHRoZSBmbGFnIHRvIGNoZWNrLgorICAqICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIG9uZSBvZiB0aGUgZm9sbG93aW5nIHZhbHVlczoKKyAgKiAgICAgQGFyZyBFVEhfUE1UX0ZMQUdfV1VGRlJQUiA6IFdha2UtVXAgRnJhbWUgRmlsdGVyIFJlZ2lzdGVyIFBvaW50ZXIgUmVzZXQKKyAgKiAgICAgQGFyZyBFVEhfUE1UX0ZMQUdfV1VGUiAgICA6IFdha2UtVXAgRnJhbWUgUmVjZWl2ZWQKKyAgKiAgICAgQGFyZyBFVEhfUE1UX0ZMQUdfTVBSICAgICA6IE1hZ2ljIFBhY2tldCBSZWNlaXZlZAorICAqIEByZXR2YWwgVGhlIG5ldyBzdGF0ZSBvZiBFVEhFUk5FVCBQTVQgRmxhZyAoU0VUIG9yIFJFU0VUKS4KKyAgKi8KKyNkZWZpbmUgX19IQUxfRVRIX0dFVF9QTVRfRkxBR19TVEFUVVMoX19IQU5ETEVfXywgX19GTEFHX18pICAgICAgICAgICAgICAgKCgoX19IQU5ETEVfXyktPkluc3RhbmNlLT5NQUNQTVRDU1IgJiggX19GTEFHX18pKSA9PSAoIF9fRkxBR19fKSkKKworLyoqCisgICogQGJyaWVmICBQcmVzZXQgYW5kIEluaXRpYWxpemUgdGhlIE1NQyBjb3VudGVycyB0byBhbG1vc3QtZnVsbCB2YWx1ZTogMHhGRkZGX0ZGRjAgKGZ1bGwgLSAxNikKKyAgKiBAcGFyYW0gICBfX0hBTkRMRV9fIEVUSCBIYW5kbGUuCisgICogQHJldHZhbCBOb25lCisgICovCisjZGVmaW5lIF9fSEFMX0VUSF9NTUNfQ09VTlRFUl9GVUxMX1BSRVNFVChfX0hBTkRMRV9fKSAgICAgICAgICAgICAgICAgICAgICgoX19IQU5ETEVfXyktPkluc3RhbmNlLT5NTUNDUiB8PSAoRVRIX01NQ0NSX01DRkhQIHwgRVRIX01NQ0NSX01DUCkpCisKKy8qKgorICAqIEBicmllZiAgUHJlc2V0IGFuZCBJbml0aWFsaXplIHRoZSBNTUMgY291bnRlcnMgdG8gYWxtb3N0LWhhbGYgdmFsdWU6IDB4N0ZGRl9GRkYwIChoYWxmIC0gMTYpCisgICogQHBhcmFtICBfX0hBTkRMRV9fIEVUSCBIYW5kbGUuCisgICogQHJldHZhbCBOb25lCisgICovCisjZGVmaW5lIF9fSEFMX0VUSF9NTUNfQ09VTlRFUl9IQUxGX1BSRVNFVChfX0hBTkRMRV9fKSAgICAgICAgICAgICAgICAgICAgIGRveyhfX0hBTkRMRV9fKS0+SW5zdGFuY2UtPk1NQ0NSICY9IH5FVEhfTU1DQ1JfTUNGSFA7XAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoX19IQU5ETEVfXyktPkluc3RhbmNlLT5NTUNDUiB8PSBFVEhfTU1DQ1JfTUNQO30gd2hpbGUgKDApCisKKy8qKgorICAqIEBicmllZiAgRW5hYmxlcyB0aGUgTU1DIENvdW50ZXIgRnJlZXplLgorICAqIEBwYXJhbSAgX19IQU5ETEVfXyBFVEggSGFuZGxlLgorICAqIEByZXR2YWwgTm9uZQorICAqLworI2RlZmluZSBfX0hBTF9FVEhfTU1DX0NPVU5URVJfRlJFRVpFX0VOQUJMRShfX0hBTkRMRV9fKSAgICAgICAgICAgICAgICAgICgoX19IQU5ETEVfXyktPkluc3RhbmNlLT5NTUNDUiB8PSBFVEhfTU1DQ1JfTUNGKQorCisvKioKKyAgKiBAYnJpZWYgIERpc2FibGVzIHRoZSBNTUMgQ291bnRlciBGcmVlemUuCisgICogQHBhcmFtICBfX0hBTkRMRV9fIEVUSCBIYW5kbGUuCisgICogQHJldHZhbCBOb25lCisgICovCisjZGVmaW5lIF9fSEFMX0VUSF9NTUNfQ09VTlRFUl9GUkVFWkVfRElTQUJMRShfX0hBTkRMRV9fKSAgICAgICAgICAgICAgICAgKChfX0hBTkRMRV9fKS0+SW5zdGFuY2UtPk1NQ0NSICY9IH5FVEhfTU1DQ1JfTUNGKQorCisvKioKKyAgKiBAYnJpZWYgIEVuYWJsZXMgdGhlIE1NQyBSZXNldCBPbiBSZWFkLgorICAqIEBwYXJhbSAgX19IQU5ETEVfXyBFVEggSGFuZGxlLgorICAqIEByZXR2YWwgTm9uZQorICAqLworI2RlZmluZSBfX0hBTF9FVEhfRVRIX01NQ19SRVNFVF9PTlJFQURfRU5BQkxFKF9fSEFORExFX18pICAgICAgICAgICAgICAgICgoX19IQU5ETEVfXyktPkluc3RhbmNlLT5NTUNDUiB8PSBFVEhfTU1DQ1JfUk9SKQorCisvKioKKyAgKiBAYnJpZWYgIERpc2FibGVzIHRoZSBNTUMgUmVzZXQgT24gUmVhZC4KKyAgKiBAcGFyYW0gIF9fSEFORExFX18gRVRIIEhhbmRsZS4KKyAgKiBAcmV0dmFsIE5vbmUKKyAgKi8KKyNkZWZpbmUgX19IQUxfRVRIX0VUSF9NTUNfUkVTRVRfT05SRUFEX0RJU0FCTEUoX19IQU5ETEVfXykgICAgICAgICAgICAgICAoKF9fSEFORExFX18pLT5JbnN0YW5jZS0+TU1DQ1IgJj0gfkVUSF9NTUNDUl9ST1IpCisKKy8qKgorICAqIEBicmllZiAgRW5hYmxlcyB0aGUgTU1DIENvdW50ZXIgU3RvcCBSb2xsb3Zlci4KKyAgKiBAcGFyYW0gIF9fSEFORExFX18gRVRIIEhhbmRsZS4KKyAgKiBAcmV0dmFsIE5vbmUKKyAgKi8KKyNkZWZpbmUgX19IQUxfRVRIX0VUSF9NTUNfQ09VTlRFUl9ST0xMT1ZFUl9FTkFCTEUoX19IQU5ETEVfXykgICAgICAgICAgICAoKF9fSEFORExFX18pLT5JbnN0YW5jZS0+TU1DQ1IgJj0gfkVUSF9NTUNDUl9DU1IpCisKKy8qKgorICAqIEBicmllZiAgRGlzYWJsZXMgdGhlIE1NQyBDb3VudGVyIFN0b3AgUm9sbG92ZXIuCisgICogQHBhcmFtICBfX0hBTkRMRV9fIEVUSCBIYW5kbGUuCisgICogQHJldHZhbCBOb25lCisgICovCisjZGVmaW5lIF9fSEFMX0VUSF9FVEhfTU1DX0NPVU5URVJfUk9MTE9WRVJfRElTQUJMRShfX0hBTkRMRV9fKSAgICAgICAgICAgKChfX0hBTkRMRV9fKS0+SW5zdGFuY2UtPk1NQ0NSIHw9IEVUSF9NTUNDUl9DU1IpCisKKy8qKgorICAqIEBicmllZiAgUmVzZXRzIHRoZSBNTUMgQ291bnRlcnMuCisgICogQHBhcmFtICAgX19IQU5ETEVfXyBFVEggSGFuZGxlLgorICAqIEByZXR2YWwgTm9uZQorICAqLworI2RlZmluZSBfX0hBTF9FVEhfTU1DX0NPVU5URVJTX1JFU0VUKF9fSEFORExFX18pICAgICAgICAgICAgICAgICAgICAgICAgICgoX19IQU5ETEVfXyktPkluc3RhbmNlLT5NTUNDUiB8PSBFVEhfTU1DQ1JfQ1IpCisKKy8qKgorICAqIEBicmllZiAgRW5hYmxlcyB0aGUgc3BlY2lmaWVkIEVUSEVSTkVUIE1NQyBSeCBpbnRlcnJ1cHRzLgorICAqIEBwYXJhbSAgIF9fSEFORExFX18gRVRIIEhhbmRsZS4KKyAgKiBAcGFyYW0gIF9fSU5URVJSVVBUX18gc3BlY2lmaWVzIHRoZSBFVEhFUk5FVCBNTUMgaW50ZXJydXB0IHNvdXJjZXMgdG8gYmUgZW5hYmxlZCBvciBkaXNhYmxlZC4KKyAgKiAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBvbmUgb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXM6CisgICogICAgIEBhcmcgRVRIX01NQ19JVF9SR1VGICA6IFdoZW4gUnggZ29vZCB1bmljYXN0IGZyYW1lcyBjb3VudGVyIHJlYWNoZXMgaGFsZiB0aGUgbWF4aW11bSB2YWx1ZQorICAqICAgICBAYXJnIEVUSF9NTUNfSVRfUkZBRSAgOiBXaGVuIFJ4IGFsaWdubWVudCBlcnJvciBjb3VudGVyIHJlYWNoZXMgaGFsZiB0aGUgbWF4aW11bSB2YWx1ZQorICAqICAgICBAYXJnIEVUSF9NTUNfSVRfUkZDRSAgOiBXaGVuIFJ4IGNyYyBlcnJvciBjb3VudGVyIHJlYWNoZXMgaGFsZiB0aGUgbWF4aW11bSB2YWx1ZQorICAqIEByZXR2YWwgTm9uZQorICAqLworI2RlZmluZSBfX0hBTF9FVEhfTU1DX1JYX0lUX0VOQUJMRShfX0hBTkRMRV9fLCBfX0lOVEVSUlVQVF9fKSAgICAgICAgICAgICAgIChfX0hBTkRMRV9fKS0+SW5zdGFuY2UtPk1NQ1JJTVIgJj0gfigoX19JTlRFUlJVUFRfXykgJiAweEVGRkZGRkZGVSkKKy8qKgorICAqIEBicmllZiAgRGlzYWJsZXMgdGhlIHNwZWNpZmllZCBFVEhFUk5FVCBNTUMgUnggaW50ZXJydXB0cy4KKyAgKiBAcGFyYW0gICBfX0hBTkRMRV9fIEVUSCBIYW5kbGUuCisgICogQHBhcmFtICBfX0lOVEVSUlVQVF9fIHNwZWNpZmllcyB0aGUgRVRIRVJORVQgTU1DIGludGVycnVwdCBzb3VyY2VzIHRvIGJlIGVuYWJsZWQgb3IgZGlzYWJsZWQuCisgICogICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgb25lIG9mIHRoZSBmb2xsb3dpbmcgdmFsdWVzOgorICAqICAgICBAYXJnIEVUSF9NTUNfSVRfUkdVRiAgOiBXaGVuIFJ4IGdvb2QgdW5pY2FzdCBmcmFtZXMgY291bnRlciByZWFjaGVzIGhhbGYgdGhlIG1heGltdW0gdmFsdWUKKyAgKiAgICAgQGFyZyBFVEhfTU1DX0lUX1JGQUUgIDogV2hlbiBSeCBhbGlnbm1lbnQgZXJyb3IgY291bnRlciByZWFjaGVzIGhhbGYgdGhlIG1heGltdW0gdmFsdWUKKyAgKiAgICAgQGFyZyBFVEhfTU1DX0lUX1JGQ0UgIDogV2hlbiBSeCBjcmMgZXJyb3IgY291bnRlciByZWFjaGVzIGhhbGYgdGhlIG1heGltdW0gdmFsdWUKKyAgKiBAcmV0dmFsIE5vbmUKKyAgKi8KKyNkZWZpbmUgX19IQUxfRVRIX01NQ19SWF9JVF9ESVNBQkxFKF9fSEFORExFX18sIF9fSU5URVJSVVBUX18pICAgICAgICAgICAgICAoX19IQU5ETEVfXyktPkluc3RhbmNlLT5NTUNSSU1SIHw9ICgoX19JTlRFUlJVUFRfXykgJiAweEVGRkZGRkZGVSkKKy8qKgorICAqIEBicmllZiAgRW5hYmxlcyB0aGUgc3BlY2lmaWVkIEVUSEVSTkVUIE1NQyBUeCBpbnRlcnJ1cHRzLgorICAqIEBwYXJhbSAgIF9fSEFORExFX18gRVRIIEhhbmRsZS4KKyAgKiBAcGFyYW0gIF9fSU5URVJSVVBUX18gc3BlY2lmaWVzIHRoZSBFVEhFUk5FVCBNTUMgaW50ZXJydXB0IHNvdXJjZXMgdG8gYmUgZW5hYmxlZCBvciBkaXNhYmxlZC4KKyAgKiAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBvbmUgb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXM6CisgICogICAgIEBhcmcgRVRIX01NQ19JVF9UR0YgICA6IFdoZW4gVHggZ29vZCBmcmFtZSBjb3VudGVyIHJlYWNoZXMgaGFsZiB0aGUgbWF4aW11bSB2YWx1ZQorICAqICAgICBAYXJnIEVUSF9NTUNfSVRfVEdGTVNDOiBXaGVuIFR4IGdvb2QgbXVsdGkgY29sIGNvdW50ZXIgcmVhY2hlcyBoYWxmIHRoZSBtYXhpbXVtIHZhbHVlCisgICogICAgIEBhcmcgRVRIX01NQ19JVF9UR0ZTQyA6IFdoZW4gVHggZ29vZCBzaW5nbGUgY29sIGNvdW50ZXIgcmVhY2hlcyBoYWxmIHRoZSBtYXhpbXVtIHZhbHVlCisgICogQHJldHZhbCBOb25lCisgICovCisjZGVmaW5lIF9fSEFMX0VUSF9NTUNfVFhfSVRfRU5BQkxFKF9fSEFORExFX18sIF9fSU5URVJSVVBUX18pICAgICAgICAgICAgKChfX0hBTkRMRV9fKS0+SW5zdGFuY2UtPk1NQ1JJTVIgJj0gfiAoX19JTlRFUlJVUFRfXykpCisKKy8qKgorICAqIEBicmllZiAgRGlzYWJsZXMgdGhlIHNwZWNpZmllZCBFVEhFUk5FVCBNTUMgVHggaW50ZXJydXB0cy4KKyAgKiBAcGFyYW0gICBfX0hBTkRMRV9fIEVUSCBIYW5kbGUuCisgICogQHBhcmFtICBfX0lOVEVSUlVQVF9fIHNwZWNpZmllcyB0aGUgRVRIRVJORVQgTU1DIGludGVycnVwdCBzb3VyY2VzIHRvIGJlIGVuYWJsZWQgb3IgZGlzYWJsZWQuCisgICogICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgb25lIG9mIHRoZSBmb2xsb3dpbmcgdmFsdWVzOgorICAqICAgICBAYXJnIEVUSF9NTUNfSVRfVEdGICAgOiBXaGVuIFR4IGdvb2QgZnJhbWUgY291bnRlciByZWFjaGVzIGhhbGYgdGhlIG1heGltdW0gdmFsdWUKKyAgKiAgICAgQGFyZyBFVEhfTU1DX0lUX1RHRk1TQzogV2hlbiBUeCBnb29kIG11bHRpIGNvbCBjb3VudGVyIHJlYWNoZXMgaGFsZiB0aGUgbWF4aW11bSB2YWx1ZQorICAqICAgICBAYXJnIEVUSF9NTUNfSVRfVEdGU0MgOiBXaGVuIFR4IGdvb2Qgc2luZ2xlIGNvbCBjb3VudGVyIHJlYWNoZXMgaGFsZiB0aGUgbWF4aW11bSB2YWx1ZQorICAqIEByZXR2YWwgTm9uZQorICAqLworI2RlZmluZSBfX0hBTF9FVEhfTU1DX1RYX0lUX0RJU0FCTEUoX19IQU5ETEVfXywgX19JTlRFUlJVUFRfXykgICAgICAgICAgICgoX19IQU5ETEVfXyktPkluc3RhbmNlLT5NTUNSSU1SIHw9IChfX0lOVEVSUlVQVF9fKSkKKworLyoqCisgICogQGJyaWVmICBFbmFibGVzIHRoZSBFVEggRXh0ZXJuYWwgaW50ZXJydXB0IGxpbmUuCisgICogQHJldHZhbCBOb25lCisgICovCisjZGVmaW5lIF9fSEFMX0VUSF9XQUtFVVBfRVhUSV9FTkFCTEVfSVQoKSAgICBFWFRJLT5JTVIgfD0gKEVUSF9FWFRJX0xJTkVfV0FLRVVQKQorCisvKioKKyAgKiBAYnJpZWYgIERpc2FibGVzIHRoZSBFVEggRXh0ZXJuYWwgaW50ZXJydXB0IGxpbmUuCisgICogQHJldHZhbCBOb25lCisgICovCisjZGVmaW5lIF9fSEFMX0VUSF9XQUtFVVBfRVhUSV9ESVNBQkxFX0lUKCkgICBFWFRJLT5JTVIgJj0gfihFVEhfRVhUSV9MSU5FX1dBS0VVUCkKKworLyoqCisgICogQGJyaWVmIEVuYWJsZSBldmVudCBvbiBFVEggRXh0ZXJuYWwgZXZlbnQgbGluZS4KKyAgKiBAcmV0dmFsIE5vbmUuCisgICovCisjZGVmaW5lIF9fSEFMX0VUSF9XQUtFVVBfRVhUSV9FTkFCTEVfRVZFTlQoKSAgRVhUSS0+RU1SIHw9IChFVEhfRVhUSV9MSU5FX1dBS0VVUCkKKworLyoqCisgICogQGJyaWVmIERpc2FibGUgZXZlbnQgb24gRVRIIEV4dGVybmFsIGV2ZW50IGxpbmUKKyAgKiBAcmV0dmFsIE5vbmUuCisgICovCisjZGVmaW5lIF9fSEFMX0VUSF9XQUtFVVBfRVhUSV9ESVNBQkxFX0VWRU5UKCkgRVhUSS0+RU1SICY9IH4oRVRIX0VYVElfTElORV9XQUtFVVApCisKKy8qKgorICAqIEBicmllZiAgR2V0IGZsYWcgb2YgdGhlIEVUSCBFeHRlcm5hbCBpbnRlcnJ1cHQgbGluZS4KKyAgKiBAcmV0dmFsIE5vbmUKKyAgKi8KKyNkZWZpbmUgX19IQUxfRVRIX1dBS0VVUF9FWFRJX0dFVF9GTEFHKCkgICAgIEVYVEktPlBSICYgKEVUSF9FWFRJX0xJTkVfV0FLRVVQKQorCisvKioKKyAgKiBAYnJpZWYgIENsZWFyIGZsYWcgb2YgdGhlIEVUSCBFeHRlcm5hbCBpbnRlcnJ1cHQgbGluZS4KKyAgKiBAcmV0dmFsIE5vbmUKKyAgKi8KKyNkZWZpbmUgX19IQUxfRVRIX1dBS0VVUF9FWFRJX0NMRUFSX0ZMQUcoKSAgIEVYVEktPlBSID0gKEVUSF9FWFRJX0xJTkVfV0FLRVVQKQorCisvKioKKyAgKiBAYnJpZWYgIEVuYWJsZXMgcmlzaW5nIGVkZ2UgdHJpZ2dlciB0byB0aGUgRVRIIEV4dGVybmFsIGludGVycnVwdCBsaW5lLgorICAqIEByZXR2YWwgTm9uZQorICAqLworI2RlZmluZSBfX0hBTF9FVEhfV0FLRVVQX0VYVElfRU5BQkxFX1JJU0lOR19FREdFX1RSSUdHRVIoKSAgRVhUSS0+UlRTUiB8PSBFVEhfRVhUSV9MSU5FX1dBS0VVUAorCisvKioKKyAgKiBAYnJpZWYgIERpc2FibGVzIHRoZSByaXNpbmcgZWRnZSB0cmlnZ2VyIHRvIHRoZSBFVEggRXh0ZXJuYWwgaW50ZXJydXB0IGxpbmUuCisgICogQHJldHZhbCBOb25lCisgICovCisjZGVmaW5lIF9fSEFMX0VUSF9XQUtFVVBfRVhUSV9ESVNBQkxFX1JJU0lOR19FREdFX1RSSUdHRVIoKSAgRVhUSS0+UlRTUiAmPSB+KEVUSF9FWFRJX0xJTkVfV0FLRVVQKQorCisvKioKKyAgKiBAYnJpZWYgIEVuYWJsZXMgZmFsbGluZyBlZGdlIHRyaWdnZXIgdG8gdGhlIEVUSCBFeHRlcm5hbCBpbnRlcnJ1cHQgbGluZS4KKyAgKiBAcmV0dmFsIE5vbmUKKyAgKi8KKyNkZWZpbmUgX19IQUxfRVRIX1dBS0VVUF9FWFRJX0VOQUJMRV9GQUxMSU5HX0VER0VfVFJJR0dFUigpICBFWFRJLT5GVFNSIHw9IChFVEhfRVhUSV9MSU5FX1dBS0VVUCkKKworLyoqCisgICogQGJyaWVmICBEaXNhYmxlcyBmYWxsaW5nIGVkZ2UgdHJpZ2dlciB0byB0aGUgRVRIIEV4dGVybmFsIGludGVycnVwdCBsaW5lLgorICAqIEByZXR2YWwgTm9uZQorICAqLworI2RlZmluZSBfX0hBTF9FVEhfV0FLRVVQX0VYVElfRElTQUJMRV9GQUxMSU5HX0VER0VfVFJJR0dFUigpICBFWFRJLT5GVFNSICY9IH4oRVRIX0VYVElfTElORV9XQUtFVVApCisKKy8qKgorICAqIEBicmllZiAgRW5hYmxlcyByaXNpbmcvZmFsbGluZyBlZGdlIHRyaWdnZXIgdG8gdGhlIEVUSCBFeHRlcm5hbCBpbnRlcnJ1cHQgbGluZS4KKyAgKiBAcmV0dmFsIE5vbmUKKyAgKi8KKyNkZWZpbmUgX19IQUxfRVRIX1dBS0VVUF9FWFRJX0VOQUJMRV9GQUxMSU5HUklTSU5HX1RSSUdHRVIoKSAgZG97RVhUSS0+UlRTUiB8PSBFVEhfRVhUSV9MSU5FX1dBS0VVUDtcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVYVEktPkZUU1IgfD0gRVRIX0VYVElfTElORV9XQUtFVVA7XAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH13aGlsZSgwVSkKKworLyoqCisgICogQGJyaWVmICBEaXNhYmxlcyByaXNpbmcvZmFsbGluZyBlZGdlIHRyaWdnZXIgdG8gdGhlIEVUSCBFeHRlcm5hbCBpbnRlcnJ1cHQgbGluZS4KKyAgKiBAcmV0dmFsIE5vbmUKKyAgKi8KKyNkZWZpbmUgX19IQUxfRVRIX1dBS0VVUF9FWFRJX0RJU0FCTEVfRkFMTElOR1JJU0lOR19UUklHR0VSKCkgZG97RVhUSS0+UlRTUiAmPSB+KEVUSF9FWFRJX0xJTkVfV0FLRVVQKTtcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVYVEktPkZUU1IgJj0gfihFVEhfRVhUSV9MSU5FX1dBS0VVUCk7XAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH13aGlsZSgwVSkKKworLyoqCisgICogQGJyaWVmIEdlbmVyYXRlIGEgU29mdHdhcmUgaW50ZXJydXB0IG9uIHNlbGVjdGVkIEVYVEkgbGluZS4KKyAgKiBAcmV0dmFsIE5vbmUuCisgICovCisjZGVmaW5lIF9fSEFMX0VUSF9XQUtFVVBfRVhUSV9HRU5FUkFURV9TV0lUKCkgICAgICAgICAgICAgICAgICBFWFRJLT5TV0lFUnw9IEVUSF9FWFRJX0xJTkVfV0FLRVVQCisKKy8qKgorICAqIEB9CisgICovCisvKiBFeHBvcnRlZCBmdW5jdGlvbnMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisvKiogQGFkZHRvZ3JvdXAgRVRIX0V4cG9ydGVkX0Z1bmN0aW9ucworICAqIEB7CisgICovCisKKy8qIEluaXRpYWxpemF0aW9uIGFuZCBkZS1pbml0aWFsaXphdGlvbiBmdW5jdGlvbnMgICoqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qKiBAYWRkdG9ncm91cCBFVEhfRXhwb3J0ZWRfRnVuY3Rpb25zX0dyb3VwMQorICAqIEB7CisgICovCitIQUxfU3RhdHVzVHlwZURlZiBIQUxfRVRIX0luaXQoRVRIX0hhbmRsZVR5cGVEZWYgKmhldGgpOworSEFMX1N0YXR1c1R5cGVEZWYgSEFMX0VUSF9EZUluaXQoRVRIX0hhbmRsZVR5cGVEZWYgKmhldGgpOwordm9pZCBIQUxfRVRIX01zcEluaXQoRVRIX0hhbmRsZVR5cGVEZWYgKmhldGgpOwordm9pZCBIQUxfRVRIX01zcERlSW5pdChFVEhfSGFuZGxlVHlwZURlZiAqaGV0aCk7CitIQUxfU3RhdHVzVHlwZURlZiBIQUxfRVRIX0RNQVR4RGVzY0xpc3RJbml0KEVUSF9IYW5kbGVUeXBlRGVmICpoZXRoLCBFVEhfRE1BRGVzY1R5cGVEZWYgKkRNQVR4RGVzY1RhYiwgdWludDhfdCogVHhCdWZmLCB1aW50MzJfdCBUeEJ1ZmZDb3VudCk7CitIQUxfU3RhdHVzVHlwZURlZiBIQUxfRVRIX0RNQVJ4RGVzY0xpc3RJbml0KEVUSF9IYW5kbGVUeXBlRGVmICpoZXRoLCBFVEhfRE1BRGVzY1R5cGVEZWYgKkRNQVJ4RGVzY1RhYiwgdWludDhfdCAqUnhCdWZmLCB1aW50MzJfdCBSeEJ1ZmZDb3VudCk7CisvKiBDYWxsYmFja3MgUmVnaXN0ZXIvVW5SZWdpc3RlciBmdW5jdGlvbnMgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworI2lmIChVU0VfSEFMX0VUSF9SRUdJU1RFUl9DQUxMQkFDS1MgPT0gMSkKK0hBTF9TdGF0dXNUeXBlRGVmIEhBTF9FVEhfUmVnaXN0ZXJDYWxsYmFjayhFVEhfSGFuZGxlVHlwZURlZiAqaGV0aCwgSEFMX0VUSF9DYWxsYmFja0lEVHlwZURlZiBDYWxsYmFja0lELCBwRVRIX0NhbGxiYWNrVHlwZURlZiBwQ2FsbGJhY2spOworSEFMX1N0YXR1c1R5cGVEZWYgSEFMX0VUSF9VblJlZ2lzdGVyQ2FsbGJhY2soRVRIX0hhbmRsZVR5cGVEZWYgKmhldGgsIEhBTF9FVEhfQ2FsbGJhY2tJRFR5cGVEZWYgQ2FsbGJhY2tJRCk7CisjZW5kaWYgLyogVVNFX0hBTF9FVEhfUkVHSVNURVJfQ0FMTEJBQ0tTICovCisKKy8qKgorICAqIEB9CisgICovCisvKiBJTyBvcGVyYXRpb24gZnVuY3Rpb25zICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKiogQGFkZHRvZ3JvdXAgRVRIX0V4cG9ydGVkX0Z1bmN0aW9uc19Hcm91cDIKKyAgKiBAeworICAqLworSEFMX1N0YXR1c1R5cGVEZWYgSEFMX0VUSF9UcmFuc21pdEZyYW1lKEVUSF9IYW5kbGVUeXBlRGVmICpoZXRoLCB1aW50MzJfdCBGcmFtZUxlbmd0aCk7CitIQUxfU3RhdHVzVHlwZURlZiBIQUxfRVRIX0dldFJlY2VpdmVkRnJhbWUoRVRIX0hhbmRsZVR5cGVEZWYgKmhldGgpOworLyogQ29tbXVuaWNhdGlvbiB3aXRoIFBIWSBmdW5jdGlvbnMqLworSEFMX1N0YXR1c1R5cGVEZWYgSEFMX0VUSF9SZWFkUEhZUmVnaXN0ZXIoRVRIX0hhbmRsZVR5cGVEZWYgKmhldGgsIHVpbnQxNl90IFBIWVJlZywgdWludDMyX3QgKlJlZ1ZhbHVlKTsKK0hBTF9TdGF0dXNUeXBlRGVmIEhBTF9FVEhfV3JpdGVQSFlSZWdpc3RlcihFVEhfSGFuZGxlVHlwZURlZiAqaGV0aCwgdWludDE2X3QgUEhZUmVnLCB1aW50MzJfdCBSZWdWYWx1ZSk7CisvKiBOb24tQmxvY2tpbmcgbW9kZTogSW50ZXJydXB0ICovCitIQUxfU3RhdHVzVHlwZURlZiBIQUxfRVRIX0dldFJlY2VpdmVkRnJhbWVfSVQoRVRIX0hhbmRsZVR5cGVEZWYgKmhldGgpOwordm9pZCBIQUxfRVRIX0lSUUhhbmRsZXIoRVRIX0hhbmRsZVR5cGVEZWYgKmhldGgpOworLyogQ2FsbGJhY2sgaW4gbm9uIGJsb2NraW5nIG1vZGVzIChJbnRlcnJ1cHQpICovCit2b2lkIEhBTF9FVEhfVHhDcGx0Q2FsbGJhY2soRVRIX0hhbmRsZVR5cGVEZWYgKmhldGgpOwordm9pZCBIQUxfRVRIX1J4Q3BsdENhbGxiYWNrKEVUSF9IYW5kbGVUeXBlRGVmICpoZXRoKTsKK3ZvaWQgSEFMX0VUSF9FcnJvckNhbGxiYWNrKEVUSF9IYW5kbGVUeXBlRGVmICpoZXRoKTsKKy8qKgorICAqIEB9CisgICovCisKKy8qIFBlcmlwaGVyYWwgQ29udHJvbCBmdW5jdGlvbnMgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qKiBAYWRkdG9ncm91cCBFVEhfRXhwb3J0ZWRfRnVuY3Rpb25zX0dyb3VwMworICAqIEB7CisgICovCisKK0hBTF9TdGF0dXNUeXBlRGVmIEhBTF9FVEhfU3RhcnQoRVRIX0hhbmRsZVR5cGVEZWYgKmhldGgpOworSEFMX1N0YXR1c1R5cGVEZWYgSEFMX0VUSF9TdG9wKEVUSF9IYW5kbGVUeXBlRGVmICpoZXRoKTsKK0hBTF9TdGF0dXNUeXBlRGVmIEhBTF9FVEhfQ29uZmlnTUFDKEVUSF9IYW5kbGVUeXBlRGVmICpoZXRoLCBFVEhfTUFDSW5pdFR5cGVEZWYgKm1hY2NvbmYpOworSEFMX1N0YXR1c1R5cGVEZWYgSEFMX0VUSF9Db25maWdETUEoRVRIX0hhbmRsZVR5cGVEZWYgKmhldGgsIEVUSF9ETUFJbml0VHlwZURlZiAqZG1hY29uZik7CisvKioKKyAgKiBAfQorICAqLworCisvKiBQZXJpcGhlcmFsIFN0YXRlIGZ1bmN0aW9ucyAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKiogQGFkZHRvZ3JvdXAgRVRIX0V4cG9ydGVkX0Z1bmN0aW9uc19Hcm91cDQKKyAgKiBAeworICAqLworSEFMX0VUSF9TdGF0ZVR5cGVEZWYgSEFMX0VUSF9HZXRTdGF0ZShFVEhfSGFuZGxlVHlwZURlZiAqaGV0aCk7CisvKioKKyAgKiBAfQorICAqLworCisvKioKKyAgKiBAfQorICAqLworCisvKioKKyAgKiBAfQorICAqLworCisvKioKKyAgKiBAfQorICAqLworCisjZW5kaWYgLyogU1RNMzJGNDA1eHggfHwgU1RNMzJGNDE1eHggfHwgU1RNMzJGNDA3eHggfHwgU1RNMzJGNDE3eHggfHwgU1RNMzJGNDI3eHggfHxcCisgICAgICAgICAgU1RNMzJGNDM3eHggfHwgU1RNMzJGNDI5eHggfHwgU1RNMzJGNDM5eHggfHwgU1RNMzJGNDY5eHggfHwgU1RNMzJGNDc5eHggKi8KKworI2lmZGVmIF9fY3BsdXNwbHVzCit9CisjZW5kaWYKKworI2VuZGlmIC8qIF9fU1RNMzJGNHh4X0hBTF9FVEhfTEVHQUNZX0ggKi8KZGlmZiAtLWdpdCBhL0luYy9zdG0zMl9hc3NlcnRfdGVtcGxhdGUuaCBiL0luYy9zdG0zMl9hc3NlcnRfdGVtcGxhdGUuaAppbmRleCA0NzExYjY1Li4zYWU3M2YwIDEwMDY0NAotLS0gYS9JbmMvc3RtMzJfYXNzZXJ0X3RlbXBsYXRlLmgKKysrIGIvSW5jL3N0bTMyX2Fzc2VydF90ZW1wbGF0ZS5oCkBAIC04LDEzICs4LDEyIEBACiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqIEBhdHRlbnRpb24KICAgKgotICAqIDxoMj48Y2VudGVyPiZjb3B5OyBDb3B5cmlnaHQgKGMpIDIwMTcgU1RNaWNyb2VsZWN0cm9uaWNzLgotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9jZW50ZXI+PC9oMj4KKyAgKiBDb3B5cmlnaHQgKGMpIDIwMTcgU1RNaWNyb2VsZWN0cm9uaWNzLgorICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICoKLSAgKiBUaGlzIHNvZnR3YXJlIGNvbXBvbmVudCBpcyBsaWNlbnNlZCBieSBTVCB1bmRlciBCU0QgMy1DbGF1c2UgbGljZW5zZSwKLSAgKiB0aGUgIkxpY2Vuc2UiOyBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlCi0gICogTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0OgotICAqICAgICAgICAgICAgICAgICAgICAgICAgb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvQlNELTMtQ2xhdXNlCisgICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciB0ZXJtcyB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlCisgICogaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc29mdHdhcmUgY29tcG9uZW50LgorICAqIElmIG5vIExJQ0VOU0UgZmlsZSBjb21lcyB3aXRoIHRoaXMgc29mdHdhcmUsIGl0IGlzIHByb3ZpZGVkIEFTLUlTLgogICAqCiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqLwpAQCAtNTQsNCArNTMsNCBAQAogI2VuZGlmIC8qIF9fU1RNMzJfQVNTRVJUX0ggKi8KIAogCi0vKioqKioqKioqKioqKioqKioqKioqKioqIChDKSBDT1BZUklHSFQgU1RNaWNyb2VsZWN0cm9uaWNzICoqKioqRU5EIE9GIEZJTEUqKioqLworCmRpZmYgLS1naXQgYS9JbmMvc3RtMzJmNHh4X2hhbC5oIGIvSW5jL3N0bTMyZjR4eF9oYWwuaAppbmRleCAyMDk4NjRkLi5mN2ViODQ3IDEwMDY0NAotLS0gYS9JbmMvc3RtMzJmNHh4X2hhbC5oCisrKyBiL0luYy9zdG0zMmY0eHhfaGFsLmgKQEAgLTcsMTMgKzcsMTIgQEAKICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICogQGF0dGVudGlvbgogICAqCi0gICogPGgyPjxjZW50ZXI+JmNvcHk7IENvcHlyaWdodCAoYykgMjAxNyBTVE1pY3JvZWxlY3Ryb25pY3MuCi0gICogQWxsIHJpZ2h0cyByZXNlcnZlZC48L2NlbnRlcj48L2gyPgorICAqIENvcHlyaWdodCAoYykgMjAxNyBTVE1pY3JvZWxlY3Ryb25pY3MuCisgICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgKgotICAqIFRoaXMgc29mdHdhcmUgY29tcG9uZW50IGlzIGxpY2Vuc2VkIGJ5IFNUIHVuZGVyIEJTRCAzLUNsYXVzZSBsaWNlbnNlLAotICAqIHRoZSAiTGljZW5zZSI7IFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUKLSAgKiBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQ6Ci0gICogICAgICAgICAgICAgICAgICAgICAgICBvcGVuc291cmNlLm9yZy9saWNlbnNlcy9CU0QtMy1DbGF1c2UKKyAgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIHVuZGVyIHRlcm1zIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUKKyAgKiBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb2Z0d2FyZSBjb21wb25lbnQuCisgICogSWYgbm8gTElDRU5TRSBmaWxlIGNvbWVzIHdpdGggdGhpcyBzb2Z0d2FyZSwgaXQgaXMgcHJvdmlkZWQgQVMtSVMuCiAgICoKICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICovIApAQCAtMjk1LDQgKzI5NCw0IEBACiAKICNlbmRpZiAvKiBfX1NUTTMyRjR4eF9IQUxfSCAqLwogCi0vKioqKioqKioqKioqKioqKioqKioqKioqIChDKSBDT1BZUklHSFQgU1RNaWNyb2VsZWN0cm9uaWNzICoqKioqRU5EIE9GIEZJTEUqKioqLworCmRpZmYgLS1naXQgYS9JbmMvc3RtMzJmNHh4X2hhbF9hZGMuaCBiL0luYy9zdG0zMmY0eHhfaGFsX2FkYy5oCmluZGV4IGEwNDFlNzYuLmNlOTVmMDggMTAwNjQ0Ci0tLSBhL0luYy9zdG0zMmY0eHhfaGFsX2FkYy5oCisrKyBiL0luYy9zdG0zMmY0eHhfaGFsX2FkYy5oCkBAIC02LDEzICs2LDEyIEBACiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqIEBhdHRlbnRpb24KICAgKgotICAqIDxoMj48Y2VudGVyPiZjb3B5OyBDb3B5cmlnaHQgKGMpIDIwMTcgU1RNaWNyb2VsZWN0cm9uaWNzLgotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9jZW50ZXI+PC9oMj4KKyAgKiBDb3B5cmlnaHQgKGMpIDIwMTcgU1RNaWNyb2VsZWN0cm9uaWNzLgorICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICoKLSAgKiBUaGlzIHNvZnR3YXJlIGNvbXBvbmVudCBpcyBsaWNlbnNlZCBieSBTVCB1bmRlciBCU0QgMy1DbGF1c2UgbGljZW5zZSwKLSAgKiB0aGUgIkxpY2Vuc2UiOyBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlCi0gICogTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0OgotICAqICAgICAgICAgICAgICAgICAgICAgICAgb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvQlNELTMtQ2xhdXNlCisgICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciB0ZXJtcyB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlCisgICogaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc29mdHdhcmUgY29tcG9uZW50LgorICAqIElmIG5vIExJQ0VOU0UgZmlsZSBjb21lcyB3aXRoIHRoaXMgc29mdHdhcmUsIGl0IGlzIHByb3ZpZGVkIEFTLUlTLgogICAqCiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqLwpAQCAtODk3LDQgKzg5NiwzIEBACiAjZW5kaWYgLypfX1NUTTMyRjR4eF9BRENfSCAqLwogCiAKLS8qKioqKioqKioqKioqKioqKioqKioqKiogKEMpIENPUFlSSUdIVCBTVE1pY3JvZWxlY3Ryb25pY3MgKioqKipFTkQgT0YgRklMRSoqKiovCmRpZmYgLS1naXQgYS9JbmMvc3RtMzJmNHh4X2hhbF9hZGNfZXguaCBiL0luYy9zdG0zMmY0eHhfaGFsX2FkY19leC5oCmluZGV4IGIwY2RkMmEuLjUxNTQzNWYgMTAwNjQ0Ci0tLSBhL0luYy9zdG0zMmY0eHhfaGFsX2FkY19leC5oCisrKyBiL0luYy9zdG0zMmY0eHhfaGFsX2FkY19leC5oCkBAIC02LDEzICs2LDEyIEBACiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqIEBhdHRlbnRpb24KICAgKgotICAqIDxoMj48Y2VudGVyPiZjb3B5OyBDb3B5cmlnaHQgKGMpIDIwMTcgU1RNaWNyb2VsZWN0cm9uaWNzLgotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9jZW50ZXI+PC9oMj4KKyAgKiBDb3B5cmlnaHQgKGMpIDIwMTcgU1RNaWNyb2VsZWN0cm9uaWNzLgorICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICoKLSAgKiBUaGlzIHNvZnR3YXJlIGNvbXBvbmVudCBpcyBsaWNlbnNlZCBieSBTVCB1bmRlciBCU0QgMy1DbGF1c2UgbGljZW5zZSwKLSAgKiB0aGUgIkxpY2Vuc2UiOyBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlCi0gICogTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0OgotICAqICAgICAgICAgICAgICAgICAgICAgICAgb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvQlNELTMtQ2xhdXNlCisgICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciB0ZXJtcyB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlCisgICogaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc29mdHdhcmUgY29tcG9uZW50LgorICAqIElmIG5vIExJQ0VOU0UgZmlsZSBjb21lcyB3aXRoIHRoaXMgc29mdHdhcmUsIGl0IGlzIHByb3ZpZGVkIEFTLUlTLgogICAqCiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqLwpAQCAtNDA2LDQgKzQwNSwzIEBACiAjZW5kaWYgLypfX1NUTTMyRjR4eF9BRENfRVhfSCAqLwogCiAKLS8qKioqKioqKioqKioqKioqKioqKioqKiogKEMpIENPUFlSSUdIVCBTVE1pY3JvZWxlY3Ryb25pY3MgKioqKipFTkQgT0YgRklMRSoqKiovCmRpZmYgLS1naXQgYS9JbmMvc3RtMzJmNHh4X2hhbF9jYW4uaCBiL0luYy9zdG0zMmY0eHhfaGFsX2Nhbi5oCmluZGV4IDA2MmFiZDYuLmFhNGE0MGQgMTAwNjQ0Ci0tLSBhL0luYy9zdG0zMmY0eHhfaGFsX2Nhbi5oCisrKyBiL0luYy9zdG0zMmY0eHhfaGFsX2Nhbi5oCkBAIC02LDEzICs2LDEyIEBACiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqIEBhdHRlbnRpb24KICAgKgotICAqIDxoMj48Y2VudGVyPiZjb3B5OyBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9jZW50ZXI+PC9oMj4KKyAgKiBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgorICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICoKLSAgKiBUaGlzIHNvZnR3YXJlIGNvbXBvbmVudCBpcyBsaWNlbnNlZCBieSBTVCB1bmRlciBCU0QgMy1DbGF1c2UgbGljZW5zZSwKLSAgKiB0aGUgIkxpY2Vuc2UiOyBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlCi0gICogTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0OgotICAqICAgICAgICAgICAgICAgICAgICAgICAgb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvQlNELTMtQ2xhdXNlCisgICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciB0ZXJtcyB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlCisgICogaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc29mdHdhcmUgY29tcG9uZW50LgorICAqIElmIG5vIExJQ0VOU0UgZmlsZSBjb21lcyB3aXRoIHRoaXMgc29mdHdhcmUsIGl0IGlzIHByb3ZpZGVkIEFTLUlTLgogICAqCiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqLwpAQCAtODQzLDYgKzg0MiwzIEBACiAjZW5kaWYKIAogI2VuZGlmIC8qIFNUTTMyRjR4eF9IQUxfQ0FOX0ggKi8KLQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqIChDKSBDT1BZUklHSFQgU1RNaWNyb2VsZWN0cm9uaWNzICoqKioqRU5EIE9GIEZJTEUqKioqLwpkaWZmIC0tZ2l0IGEvSW5jL3N0bTMyZjR4eF9oYWxfY2VjLmggYi9JbmMvc3RtMzJmNHh4X2hhbF9jZWMuaAppbmRleCA5MDQxNTc3Li45ZDZjMjI2IDEwMDY0NAotLS0gYS9JbmMvc3RtMzJmNHh4X2hhbF9jZWMuaAorKysgYi9JbmMvc3RtMzJmNHh4X2hhbF9jZWMuaApAQCAtNiwxMyArNiwxMiBAQAogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKiBAYXR0ZW50aW9uCiAgICoKLSAgKiA8aDI+PGNlbnRlcj4mY29weTsgQ29weXJpZ2h0IChjKSAyMDE2IFNUTWljcm9lbGVjdHJvbmljcy4KLSAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvY2VudGVyPjwvaDI+CisgICogQ29weXJpZ2h0IChjKSAyMDE2IFNUTWljcm9lbGVjdHJvbmljcy4KKyAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAqCi0gICogVGhpcyBzb2Z0d2FyZSBjb21wb25lbnQgaXMgbGljZW5zZWQgYnkgU1QgdW5kZXIgQlNEIDMtQ2xhdXNlIGxpY2Vuc2UsCi0gICogdGhlICJMaWNlbnNlIjsgWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZQotICAqIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdDoKLSAgKiAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZQorICAqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgdW5kZXIgdGVybXMgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZQorICAqIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvZnR3YXJlIGNvbXBvbmVudC4KKyAgKiBJZiBubyBMSUNFTlNFIGZpbGUgY29tZXMgd2l0aCB0aGlzIHNvZnR3YXJlLCBpdCBpcyBwcm92aWRlZCBBUy1JUy4KICAgKgogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKi8KQEAgLTEwNSw3ICsxMDQsNyBAQAogICB1aW50MTZfdCAgT3duQWRkcmVzczsgICAgICAgICAgICAgICAgIC8qITwgT3duIGFkZHJlc3NlcyBjb25maWd1cmF0aW9uCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYSB2YWx1ZSBvZiBAcmVmIENFQ19PV05fQUREUkVTUyAqLwogCi0gIHVpbnQ4X3QgICpSeEJ1ZmZlcjsgICAgICAgICAgICAgICAgICAgIC8qITwgQ0VDIFJ4IGJ1ZmZlciBwb2ludGV1ciAqLworICB1aW50OF90ICAqUnhCdWZmZXI7ICAgICAgICAgICAgICAgICAgICAvKiE8IENFQyBSeCBidWZmZXIgcG9pbnRlciAqLwogCiAKIH0gQ0VDX0luaXRUeXBlRGVmOwpAQCAtNzkxLDQgKzc5MCwzIEBACiAKICNlbmRpZiAvKiBTVE0zMkY0eHhIQUxfQ0VDX0ggKi8KIAotLyoqKioqKioqKioqKioqKioqKioqKioqKiAoQykgQ09QWVJJR0hUIFNUTWljcm9lbGVjdHJvbmljcyAqKioqKkVORCBPRiBGSUxFKioqKi8KZGlmZiAtLWdpdCBhL0luYy9zdG0zMmY0eHhfaGFsX2NvbmZfdGVtcGxhdGUuaCBiL0luYy9zdG0zMmY0eHhfaGFsX2NvbmZfdGVtcGxhdGUuaAppbmRleCBhZmEyZjU2Li5kMzI1OTVmIDEwMDY0NAotLS0gYS9JbmMvc3RtMzJmNHh4X2hhbF9jb25mX3RlbXBsYXRlLmgKKysrIGIvSW5jL3N0bTMyZjR4eF9oYWxfY29uZl90ZW1wbGF0ZS5oCkBAIC04LDEzICs4LDEyIEBACiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqIEBhdHRlbnRpb24KICAgKgotICAqIDxoMj48Y2VudGVyPiZjb3B5OyBDb3B5cmlnaHQgKGMpIDIwMTcgU1RNaWNyb2VsZWN0cm9uaWNzLgotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9jZW50ZXI+PC9oMj4KKyAgKiBDb3B5cmlnaHQgKGMpIDIwMTcgU1RNaWNyb2VsZWN0cm9uaWNzLgorICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICoKLSAgKiBUaGlzIHNvZnR3YXJlIGNvbXBvbmVudCBpcyBsaWNlbnNlZCBieSBTVCB1bmRlciBCU0QgMy1DbGF1c2UgbGljZW5zZSwKLSAgKiB0aGUgIkxpY2Vuc2UiOyBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlCi0gICogTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0OgotICAqICAgICAgICAgICAgICAgICAgICAgICAgb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvQlNELTMtQ2xhdXNlCisgICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciB0ZXJtcyB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlCisgICogaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc29mdHdhcmUgY29tcG9uZW50LgorICAqIElmIG5vIExJQ0VOU0UgZmlsZSBjb21lcyB3aXRoIHRoaXMgc29mdHdhcmUsIGl0IGlzIHByb3ZpZGVkIEFTLUlTLgogICAqCiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqLyAKQEAgLTQ5OCw0ICs0OTcsNCBAQAogI2VuZGlmIC8qIF9fU1RNMzJGNHh4X0hBTF9DT05GX0ggKi8KICAKIAotLyoqKioqKioqKioqKioqKioqKioqKioqKiAoQykgQ09QWVJJR0hUIFNUTWljcm9lbGVjdHJvbmljcyAqKioqKkVORCBPRiBGSUxFKioqKi8KKwpkaWZmIC0tZ2l0IGEvSW5jL3N0bTMyZjR4eF9oYWxfY29ydGV4LmggYi9JbmMvc3RtMzJmNHh4X2hhbF9jb3J0ZXguaAppbmRleCA5NTIxOGNmLi5mZGM5NmI1IDEwMDY0NAotLS0gYS9JbmMvc3RtMzJmNHh4X2hhbF9jb3J0ZXguaAorKysgYi9JbmMvc3RtMzJmNHh4X2hhbF9jb3J0ZXguaApAQCAtNiwxNCArNiwxMiBAQAogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKiBAYXR0ZW50aW9uCiAgICoKLSAgKiA8aDI+PGNlbnRlcj4mY29weTsgQ29weXJpZ2h0IChjKSAyMDE3IFNUTWljcm9lbGVjdHJvbmljcy4KLSAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvY2VudGVyPjwvaDI+CisgICogQ29weXJpZ2h0IChjKSAyMDE3IFNUTWljcm9lbGVjdHJvbmljcy4KKyAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAqCi0gICogVGhpcyBzb2Z0d2FyZSBjb21wb25lbnQgaXMgbGljZW5zZWQgYnkgU1QgdW5kZXIgQlNEIDMtQ2xhdXNlIGxpY2Vuc2UsCi0gICogdGhlICJMaWNlbnNlIjsgWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZQotICAqIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdDoKLSAgKiAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZQotICAqCisgICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciB0ZXJtcyB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGluCisgICogdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc29mdHdhcmUgY29tcG9uZW50LgorICAqIElmIG5vIExJQ0VOU0UgZmlsZSBjb21lcyB3aXRoIHRoaXMgc29mdHdhcmUsIGl0IGlzIHByb3ZpZGVkIEFTLUlTLgogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKi8gCiAKQEAgLTQwNyw0ICs0MDUsMyBAQAogI2VuZGlmIC8qIF9fU1RNMzJGNHh4X0hBTF9DT1JURVhfSCAqLwogIAogCi0vKioqKioqKioqKioqKioqKioqKioqKioqIChDKSBDT1BZUklHSFQgU1RNaWNyb2VsZWN0cm9uaWNzICoqKioqRU5EIE9GIEZJTEUqKioqLwpkaWZmIC0tZ2l0IGEvSW5jL3N0bTMyZjR4eF9oYWxfY3JjLmggYi9JbmMvc3RtMzJmNHh4X2hhbF9jcmMuaAppbmRleCBiYmQ1OGE1Li40MWVkYmUzIDEwMDY0NAotLS0gYS9JbmMvc3RtMzJmNHh4X2hhbF9jcmMuaAorKysgYi9JbmMvc3RtMzJmNHh4X2hhbF9jcmMuaApAQCAtNiwxMyArNiwxMiBAQAogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKiBAYXR0ZW50aW9uCiAgICoKLSAgKiA8aDI+PGNlbnRlcj4mY29weTsgQ29weXJpZ2h0IChjKSAyMDE2IFNUTWljcm9lbGVjdHJvbmljcy4KLSAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvY2VudGVyPjwvaDI+CisgICogQ29weXJpZ2h0IChjKSAyMDE2IFNUTWljcm9lbGVjdHJvbmljcy4KKyAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAqCi0gICogVGhpcyBzb2Z0d2FyZSBjb21wb25lbnQgaXMgbGljZW5zZWQgYnkgU1QgdW5kZXIgQlNEIDMtQ2xhdXNlIGxpY2Vuc2UsCi0gICogdGhlICJMaWNlbnNlIjsgWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZQotICAqIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdDoKLSAgKiAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZQorICAqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgdW5kZXIgdGVybXMgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZQorICAqIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvZnR3YXJlIGNvbXBvbmVudC4KKyAgKiBJZiBubyBMSUNFTlNFIGZpbGUgY29tZXMgd2l0aCB0aGlzIHNvZnR3YXJlLCBpdCBpcyBwcm92aWRlZCBBUy1JUy4KICAgKgogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKi8KQEAgLTE4MCw1ICsxNzksMyBAQAogI2VuZGlmCiAKICNlbmRpZiAvKiBTVE0zMkY0eHhfSEFMX0NSQ19IICovCi0KLS8qKioqKioqKioqKioqKioqKioqKioqKiogKEMpIENPUFlSSUdIVCBTVE1pY3JvZWxlY3Ryb25pY3MgKioqKipFTkQgT0YgRklMRSoqKiovCmRpZmYgLS1naXQgYS9JbmMvc3RtMzJmNHh4X2hhbF9jcnlwLmggYi9JbmMvc3RtMzJmNHh4X2hhbF9jcnlwLmgKaW5kZXggODU5NmZlNy4uOTYwZTFjNyAxMDA2NDQKLS0tIGEvSW5jL3N0bTMyZjR4eF9oYWxfY3J5cC5oCisrKyBiL0luYy9zdG0zMmY0eHhfaGFsX2NyeXAuaApAQCAtNiwxMyArNiwxMiBAQAogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKiBAYXR0ZW50aW9uCiAgICoKLSAgKiA8aDI+PGNlbnRlcj4mY29weTsgQ29weXJpZ2h0IChjKSAyMDE2IFNUTWljcm9lbGVjdHJvbmljcy4KLSAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvY2VudGVyPjwvaDI+CisgICogQ29weXJpZ2h0IChjKSAyMDE2IFNUTWljcm9lbGVjdHJvbmljcy4KKyAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAqCi0gICogVGhpcyBzb2Z0d2FyZSBjb21wb25lbnQgaXMgbGljZW5zZWQgYnkgU1QgdW5kZXIgQlNEIDMtQ2xhdXNlIGxpY2Vuc2UsCi0gICogdGhlICJMaWNlbnNlIjsgWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZQotICAqIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdDoKLSAgKiAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZQorICAqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgdW5kZXIgdGVybXMgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZQorICAqIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvZnR3YXJlIGNvbXBvbmVudC4KKyAgKiBJZiBubyBMSUNFTlNFIGZpbGUgY29tZXMgd2l0aCB0aGlzIHNvZnR3YXJlLCBpdCBpcyBwcm92aWRlZCBBUy1JUy4KICAgKgogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKi8KQEAgLTY4Miw0ICs2ODEsMyBAQAogCiAjZW5kaWYgLyogX19TVE0zMkY0eHhfSEFMX0NSWVBfSCAqLwogCi0vKioqKioqKioqKioqKioqKioqKioqKioqIChDKSBDT1BZUklHSFQgU1RNaWNyb2VsZWN0cm9uaWNzICoqKioqRU5EIE9GIEZJTEUqKioqLwpkaWZmIC0tZ2l0IGEvSW5jL3N0bTMyZjR4eF9oYWxfY3J5cF9leC5oIGIvSW5jL3N0bTMyZjR4eF9oYWxfY3J5cF9leC5oCmluZGV4IDI1MWU5NGIuLmRkMTI3NDIgMTAwNjQ0Ci0tLSBhL0luYy9zdG0zMmY0eHhfaGFsX2NyeXBfZXguaAorKysgYi9JbmMvc3RtMzJmNHh4X2hhbF9jcnlwX2V4LmgKQEAgLTYsMTMgKzYsMTIgQEAKICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICogQGF0dGVudGlvbgogICAqCi0gICogPGgyPjxjZW50ZXI+JmNvcHk7IENvcHlyaWdodCAoYykgMjAxNiBTVE1pY3JvZWxlY3Ryb25pY3MuCi0gICogQWxsIHJpZ2h0cyByZXNlcnZlZC48L2NlbnRlcj48L2gyPgorICAqIENvcHlyaWdodCAoYykgMjAxNiBTVE1pY3JvZWxlY3Ryb25pY3MuCisgICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgKgotICAqIFRoaXMgc29mdHdhcmUgY29tcG9uZW50IGlzIGxpY2Vuc2VkIGJ5IFNUIHVuZGVyIEJTRCAzLUNsYXVzZSBsaWNlbnNlLAotICAqIHRoZSAiTGljZW5zZSI7IFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUKLSAgKiBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQ6Ci0gICogICAgICAgICAgICAgICAgICAgICAgICBvcGVuc291cmNlLm9yZy9saWNlbnNlcy9CU0QtMy1DbGF1c2UKKyAgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIHVuZGVyIHRlcm1zIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUKKyAgKiBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb2Z0d2FyZSBjb21wb25lbnQuCisgICogSWYgbm8gTElDRU5TRSBmaWxlIGNvbWVzIHdpdGggdGhpcyBzb2Z0d2FyZSwgaXQgaXMgcHJvdmlkZWQgQVMtSVMuCiAgICoKICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICovCkBAIC0xNDEsNCArMTQwLDMgQEAKIAogI2VuZGlmIC8qIF9fU1RNMzJGNHh4X0hBTF9DUllQX0VYX0ggKi8KIAotLyoqKioqKioqKioqKioqKioqKioqKioqKiAoQykgQ09QWVJJR0hUIFNUTWljcm9lbGVjdHJvbmljcyAqKioqKkVORCBPRiBGSUxFKioqKi8KZGlmZiAtLWdpdCBhL0luYy9zdG0zMmY0eHhfaGFsX2RhYy5oIGIvSW5jL3N0bTMyZjR4eF9oYWxfZGFjLmgKaW5kZXggYWJkODU0NC4uYTc5Y2E3MyAxMDA2NDQKLS0tIGEvSW5jL3N0bTMyZjR4eF9oYWxfZGFjLmgKKysrIGIvSW5jL3N0bTMyZjR4eF9oYWxfZGFjLmgKQEAgLTYsMTMgKzYsMTIgQEAKICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICogQGF0dGVudGlvbgogICAqCi0gICogPGgyPjxjZW50ZXI+JmNvcHk7IENvcHlyaWdodCAoYykgMjAxNiBTVE1pY3JvZWxlY3Ryb25pY3MuCi0gICogQWxsIHJpZ2h0cyByZXNlcnZlZC48L2NlbnRlcj48L2gyPgorICAqIENvcHlyaWdodCAoYykgMjAxNiBTVE1pY3JvZWxlY3Ryb25pY3MuCisgICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgKgotICAqIFRoaXMgc29mdHdhcmUgY29tcG9uZW50IGlzIGxpY2Vuc2VkIGJ5IFNUIHVuZGVyIEJTRCAzLUNsYXVzZSBsaWNlbnNlLAotICAqIHRoZSAiTGljZW5zZSI7IFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUKLSAgKiBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQ6Ci0gICogICAgICAgICAgICAgICAgICAgICAgICBvcGVuc291cmNlLm9yZy9saWNlbnNlcy9CU0QtMy1DbGF1c2UKKyAgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIHVuZGVyIHRlcm1zIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUKKyAgKiBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb2Z0d2FyZSBjb21wb25lbnQuCisgICogSWYgbm8gTElDRU5TRSBmaWxlIGNvbWVzIHdpdGggdGhpcyBzb2Z0d2FyZSwgaXQgaXMgcHJvdmlkZWQgQVMtSVMuCiAgICoKICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICovCkBAIC00NzksNCArNDc4LDMgQEAKIAogI2VuZGlmIC8qIFNUTTMyRjR4eF9IQUxfREFDX0ggKi8KIAotLyoqKioqKioqKioqKioqKioqKioqKioqKiAoQykgQ09QWVJJR0hUIFNUTWljcm9lbGVjdHJvbmljcyAqKioqKkVORCBPRiBGSUxFKioqKi8KZGlmZiAtLWdpdCBhL0luYy9zdG0zMmY0eHhfaGFsX2RhY19leC5oIGIvSW5jL3N0bTMyZjR4eF9oYWxfZGFjX2V4LmgKaW5kZXggMDMxNTlkNC4uZGIxMDk5MCAxMDA2NDQKLS0tIGEvSW5jL3N0bTMyZjR4eF9oYWxfZGFjX2V4LmgKKysrIGIvSW5jL3N0bTMyZjR4eF9oYWxfZGFjX2V4LmgKQEAgLTYsMTMgKzYsMTIgQEAKICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICogQGF0dGVudGlvbgogICAqCi0gICogPGgyPjxjZW50ZXI+JmNvcHk7IENvcHlyaWdodCAoYykgMjAxNiBTVE1pY3JvZWxlY3Ryb25pY3MuCi0gICogQWxsIHJpZ2h0cyByZXNlcnZlZC48L2NlbnRlcj48L2gyPgorICAqIENvcHlyaWdodCAoYykgMjAxNiBTVE1pY3JvZWxlY3Ryb25pY3MuCisgICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgKgotICAqIFRoaXMgc29mdHdhcmUgY29tcG9uZW50IGlzIGxpY2Vuc2VkIGJ5IFNUIHVuZGVyIEJTRCAzLUNsYXVzZSBsaWNlbnNlLAotICAqIHRoZSAiTGljZW5zZSI7IFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUKLSAgKiBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQ6Ci0gICogICAgICAgICAgICAgICAgICAgICAgICBvcGVuc291cmNlLm9yZy9saWNlbnNlcy9CU0QtMy1DbGF1c2UKKyAgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIHVuZGVyIHRlcm1zIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUKKyAgKiBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb2Z0d2FyZSBjb21wb25lbnQuCisgICogSWYgbm8gTElDRU5TRSBmaWxlIGNvbWVzIHdpdGggdGhpcyBzb2Z0d2FyZSwgaXQgaXMgcHJvdmlkZWQgQVMtSVMuCiAgICoKICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICovCkBAIC0yMDQsNCArMjAzLDMgQEAKIAogI2VuZGlmIC8qIFNUTTMyRjR4eF9IQUxfREFDX0VYX0ggKi8KIAotLyoqKioqKioqKioqKioqKioqKioqKioqKiAoQykgQ09QWVJJR0hUIFNUTWljcm9lbGVjdHJvbmljcyAqKioqKkVORCBPRiBGSUxFKioqKi8KZGlmZiAtLWdpdCBhL0luYy9zdG0zMmY0eHhfaGFsX2RjbWkuaCBiL0luYy9zdG0zMmY0eHhfaGFsX2RjbWkuaAppbmRleCAyYTllZGI2Li5iN2U4MmRjIDEwMDY0NAotLS0gYS9JbmMvc3RtMzJmNHh4X2hhbF9kY21pLmgKKysrIGIvSW5jL3N0bTMyZjR4eF9oYWxfZGNtaS5oCkBAIC02LDE0ICs2LDEyIEBACiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqIEBhdHRlbnRpb24KICAgKgotICAqIDxoMj48Y2VudGVyPiZjb3B5OyBDb3B5cmlnaHQgKGMpIDIwMTcgU1RNaWNyb2VsZWN0cm9uaWNzLgotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9jZW50ZXI+PC9oMj4KKyAgKiBDb3B5cmlnaHQgKGMpIDIwMTcgU1RNaWNyb2VsZWN0cm9uaWNzLgorICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICoKLSAgKiBUaGlzIHNvZnR3YXJlIGNvbXBvbmVudCBpcyBsaWNlbnNlZCBieSBTVCB1bmRlciBCU0QgMy1DbGF1c2UgbGljZW5zZSwKLSAgKiB0aGUgIkxpY2Vuc2UiOyBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlCi0gICogTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0OgotICAqICAgICAgICAgICAgICAgICAgICAgICAgb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvQlNELTMtQ2xhdXNlCi0gICoKKyAgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIHVuZGVyIHRlcm1zIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgaW4KKyAgKiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb2Z0d2FyZSBjb21wb25lbnQuCisgICogSWYgbm8gTElDRU5TRSBmaWxlIGNvbWVzIHdpdGggdGhpcyBzb2Z0d2FyZSwgaXQgaXMgcHJvdmlkZWQgQVMtSVMuCiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqLwogCkBAIC01NjMsNSArNTYxLDMgQEAKICNlbmRpZgogCiAjZW5kaWYgLyogX19TVE0zMkY0eHhfSEFMX0RDTUlfSCAqLwotCi0vKioqKioqKioqKioqKioqKioqKioqKioqIChDKSBDT1BZUklHSFQgU1RNaWNyb2VsZWN0cm9uaWNzICoqKioqRU5EIE9GIEZJTEUqKioqLwpkaWZmIC0tZ2l0IGEvSW5jL3N0bTMyZjR4eF9oYWxfZGNtaV9leC5oIGIvSW5jL3N0bTMyZjR4eF9oYWxfZGNtaV9leC5oCmluZGV4IDliYzk0MmQuLmI0ZjE4MWMgMTAwNjQ0Ci0tLSBhL0luYy9zdG0zMmY0eHhfaGFsX2RjbWlfZXguaAorKysgYi9JbmMvc3RtMzJmNHh4X2hhbF9kY21pX2V4LmgKQEAgLTYsMTQgKzYsMTIgQEAKICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICogQGF0dGVudGlvbgogICAqCi0gICogPGgyPjxjZW50ZXI+JmNvcHk7IENvcHlyaWdodCAoYykgMjAxNyBTVE1pY3JvZWxlY3Ryb25pY3MuCi0gICogQWxsIHJpZ2h0cyByZXNlcnZlZC48L2NlbnRlcj48L2gyPgorICAqIENvcHlyaWdodCAoYykgMjAxNyBTVE1pY3JvZWxlY3Ryb25pY3MuCisgICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgKgotICAqIFRoaXMgc29mdHdhcmUgY29tcG9uZW50IGlzIGxpY2Vuc2VkIGJ5IFNUIHVuZGVyIEJTRCAzLUNsYXVzZSBsaWNlbnNlLAotICAqIHRoZSAiTGljZW5zZSI7IFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUKLSAgKiBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQ6Ci0gICogICAgICAgICAgICAgICAgICAgICAgICBvcGVuc291cmNlLm9yZy9saWNlbnNlcy9CU0QtMy1DbGF1c2UKLSAgKgorICAqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgdW5kZXIgdGVybXMgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBpbgorICAqIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvZnR3YXJlIGNvbXBvbmVudC4KKyAgKiBJZiBubyBMSUNFTlNFIGZpbGUgY29tZXMgd2l0aCB0aGlzIHNvZnR3YXJlLCBpdCBpcyBwcm92aWRlZCBBUy1JUy4KICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICovIAogCkBAIC0yMDgsNSArMjA2LDMgQEAKICNlbmRpZgogCiAjZW5kaWYgLyogX19TVE0zMkY0eHhfSEFMX0RDTUlfSCAqLwotCi0vKioqKioqKioqKioqKioqKioqKioqKioqIChDKSBDT1BZUklHSFQgU1RNaWNyb2VsZWN0cm9uaWNzICoqKioqRU5EIE9GIEZJTEUqKioqLwpkaWZmIC0tZ2l0IGEvSW5jL3N0bTMyZjR4eF9oYWxfZGVmLmggYi9JbmMvc3RtMzJmNHh4X2hhbF9kZWYuaAppbmRleCA5NzVmNzBiLi5mOWJiZWMyIDEwMDY0NAotLS0gYS9JbmMvc3RtMzJmNHh4X2hhbF9kZWYuaAorKysgYi9JbmMvc3RtMzJmNHh4X2hhbF9kZWYuaApAQCAtNywxMyArNywxMiBAQAogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKiBAYXR0ZW50aW9uCiAgICoKLSAgKiA8aDI+PGNlbnRlcj4mY29weTsgQ29weXJpZ2h0IChjKSAyMDE3IFNUTWljcm9lbGVjdHJvbmljcy4KLSAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvY2VudGVyPjwvaDI+CisgICogQ29weXJpZ2h0IChjKSAyMDE3IFNUTWljcm9lbGVjdHJvbmljcy4KKyAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAqCi0gICogVGhpcyBzb2Z0d2FyZSBjb21wb25lbnQgaXMgbGljZW5zZWQgYnkgU1QgdW5kZXIgQlNEIDMtQ2xhdXNlIGxpY2Vuc2UsCi0gICogdGhlICJMaWNlbnNlIjsgWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZQotICAqIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdDoKLSAgKiAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZQorICAqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgdW5kZXIgdGVybXMgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZQorICAqIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvZnR3YXJlIGNvbXBvbmVudC4KKyAgKiBJZiBubyBMSUNFTlNFIGZpbGUgY29tZXMgd2l0aCB0aGlzIHNvZnR3YXJlLCBpdCBpcyBwcm92aWRlZCBBUy1JUy4KICAgKgogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKi8KQEAgLTIwOCw0ICsyMDcsNCBAQAogCiAjZW5kaWYgLyogX19fU1RNMzJGNHh4X0hBTF9ERUYgKi8KIAotLyoqKioqKioqKioqKioqKioqKioqKioqKiAoQykgQ09QWVJJR0hUIFNUTWljcm9lbGVjdHJvbmljcyAqKioqKkVORCBPRiBGSUxFKioqKi8KKwpkaWZmIC0tZ2l0IGEvSW5jL3N0bTMyZjR4eF9oYWxfZGZzZG0uaCBiL0luYy9zdG0zMmY0eHhfaGFsX2Rmc2RtLmgKaW5kZXggMDljNjU1MS4uMDE2ZmQzMCAxMDA2NDQKLS0tIGEvSW5jL3N0bTMyZjR4eF9oYWxfZGZzZG0uaAorKysgYi9JbmMvc3RtMzJmNHh4X2hhbF9kZnNkbS5oCkBAIC02LDEzICs2LDEyIEBACiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqIEBhdHRlbnRpb24KICAgKgotICAqIDxoMj48Y2VudGVyPiZjb3B5OyBDb3B5cmlnaHQgKGMpIDIwMTcgU1RNaWNyb2VsZWN0cm9uaWNzLgotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9jZW50ZXI+PC9oMj4KKyAgKiBDb3B5cmlnaHQgKGMpIDIwMTcgU1RNaWNyb2VsZWN0cm9uaWNzLgorICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICoKLSAgKiBUaGlzIHNvZnR3YXJlIGNvbXBvbmVudCBpcyBsaWNlbnNlZCBieSBTVCB1bmRlciBCU0QgMy1DbGF1c2UgbGljZW5zZSwKLSAgKiB0aGUgIkxpY2Vuc2UiOyBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlCi0gICogTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0OgotICAqICAgICAgICAgICAgICAgICAgICAgICAgb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvQlNELTMtQ2xhdXNlCisgICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciB0ZXJtcyB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlCisgICogaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc29mdHdhcmUgY29tcG9uZW50LgorICAqIElmIG5vIExJQ0VOU0UgZmlsZSBjb21lcyB3aXRoIHRoaXMgc29mdHdhcmUsIGl0IGlzIHByb3ZpZGVkIEFTLUlTLgogICAqCiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqLwpAQCAtNTksNyArNTgsNyBAQAogewogICBGdW5jdGlvbmFsU3RhdGUgQWN0aXZhdGlvbjsgLyohPCBPdXRwdXQgY2xvY2sgZW5hYmxlL2Rpc2FibGUgKi8KICAgdWludDMyX3QgICAgICAgIFNlbGVjdGlvbjsgIC8qITwgT3V0cHV0IGNsb2NrIGlzIHN5c3RlbSBjbG9jayBvciBhdWRpbyBjbG9jay4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGEgdmFsdWUgb2YgQHJlZiBERlNETV9DaGFubmVsX091cHV0Q2xvY2sgKi8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGEgdmFsdWUgb2YgQHJlZiBERlNETV9DaGFubmVsX091dHB1dENsb2NrICovCiAgIHVpbnQzMl90ICAgICAgICBEaXZpZGVyOyAgICAvKiE8IE91dHB1dCBjbG9jayBkaXZpZGVyLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBtdXN0IGJlIGEgbnVtYmVyIGJldHdlZW4gTWluX0RhdGEgPSAyIGFuZCBNYXhfRGF0YSA9IDI1NiAqLwogfURGU0RNX0NoYW5uZWxfT3V0cHV0Q2xvY2tUeXBlRGVmOwpAQCAtMzMzLDExICszMzIsMTEgQEAKICAgKiBAewogICAqLwogCi0vKiogQGRlZmdyb3VwIERGU0RNX0NoYW5uZWxfT3VwdXRDbG9jayBERlNETSBjaGFubmVsIG91dHB1dCBjbG9jayBzZWxlY3Rpb24KKy8qKiBAZGVmZ3JvdXAgREZTRE1fQ2hhbm5lbF9PdXRwdXRDbG9jayBERlNETSBjaGFubmVsIG91dHB1dCBjbG9jayBzZWxlY3Rpb24KICAgKiBAewogICAqLwotI2RlZmluZSBERlNETV9DSEFOTkVMX09VVFBVVF9DTE9DS19TWVNURU0gICAgMHgwMDAwMDAwMFUgICAgICAgICAgICAgLyohPCBTb3VyY2UgZm9yIG91cHV0IGNsb2NrIGlzIHN5c3RlbSBjbG9jayAqLwotI2RlZmluZSBERlNETV9DSEFOTkVMX09VVFBVVF9DTE9DS19BVURJTyAgICAgREZTRE1fQ0hDRkdSMV9DS09VVFNSQyAgLyohPCBTb3VyY2UgZm9yIG91cHV0IGNsb2NrIGlzIGF1ZGlvIGNsb2NrICovCisjZGVmaW5lIERGU0RNX0NIQU5ORUxfT1VUUFVUX0NMT0NLX1NZU1RFTSAgICAweDAwMDAwMDAwVSAgICAgICAgICAgICAvKiE8IFNvdXJjZSBmb3Igb3V0cHV0IGNsb2NrIGlzIHN5c3RlbSBjbG9jayAqLworI2RlZmluZSBERlNETV9DSEFOTkVMX09VVFBVVF9DTE9DS19BVURJTyAgICAgREZTRE1fQ0hDRkdSMV9DS09VVFNSQyAgLyohPCBTb3VyY2UgZm9yIG91dHB1dCBjbG9jayBpcyBhdWRpbyBjbG9jayAqLwogLyoqCiAgICogQH0KICAgKi8KQEAgLTExNDAsNSArMTEzOSwzIEBACiAjZW5kaWYKIAogI2VuZGlmIC8qIF9fU1RNMzJGNHh4X0hBTF9ERlNETV9IICovCi0KLS8qKioqKioqKioqKioqKioqKioqKioqKiogKEMpIENPUFlSSUdIVCBTVE1pY3JvZWxlY3Ryb25pY3MgKioqKipFTkQgT0YgRklMRSoqKiovCmRpZmYgLS1naXQgYS9JbmMvc3RtMzJmNHh4X2hhbF9kbWEuaCBiL0luYy9zdG0zMmY0eHhfaGFsX2RtYS5oCmluZGV4IDkwZGQyOTIuLjdmZjM4MzYgMTAwNjQ0Ci0tLSBhL0luYy9zdG0zMmY0eHhfaGFsX2RtYS5oCisrKyBiL0luYy9zdG0zMmY0eHhfaGFsX2RtYS5oCkBAIC02LDEzICs2LDEyIEBACiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqIEBhdHRlbnRpb24KICAgKgotICAqIDxoMj48Y2VudGVyPiZjb3B5OyBDb3B5cmlnaHQgKGMpIDIwMTcgU1RNaWNyb2VsZWN0cm9uaWNzLgotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9jZW50ZXI+PC9oMj4KKyAgKiBDb3B5cmlnaHQgKGMpIDIwMTcgU1RNaWNyb2VsZWN0cm9uaWNzLgorICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICoKLSAgKiBUaGlzIHNvZnR3YXJlIGNvbXBvbmVudCBpcyBsaWNlbnNlZCBieSBTVCB1bmRlciBCU0QgMy1DbGF1c2UgbGljZW5zZSwKLSAgKiB0aGUgIkxpY2Vuc2UiOyBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlCi0gICogTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0OgotICAqICAgICAgICAgICAgICAgICAgICAgICAgb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvQlNELTMtQ2xhdXNlCisgICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciB0ZXJtcyB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGluCisgICogdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc29mdHdhcmUgY29tcG9uZW50LgorICAqIElmIG5vIExJQ0VOU0UgZmlsZSBjb21lcyB3aXRoIHRoaXMgc29mdHdhcmUsIGl0IGlzIHByb3ZpZGVkIEFTLUlTLgogICAqCiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqLyAKQEAgLTgwMSw0ICs4MDAsMyBAQAogCiAjZW5kaWYgLyogX19TVE0zMkY0eHhfSEFMX0RNQV9IICovCiAKLS8qKioqKioqKioqKioqKioqKioqKioqKiogKEMpIENPUFlSSUdIVCBTVE1pY3JvZWxlY3Ryb25pY3MgKioqKipFTkQgT0YgRklMRSoqKiovCmRpZmYgLS1naXQgYS9JbmMvc3RtMzJmNHh4X2hhbF9kbWEyZC5oIGIvSW5jL3N0bTMyZjR4eF9oYWxfZG1hMmQuaAppbmRleCAxNThlZDY3Li44OTY3MTQxIDEwMDY0NAotLS0gYS9JbmMvc3RtMzJmNHh4X2hhbF9kbWEyZC5oCisrKyBiL0luYy9zdG0zMmY0eHhfaGFsX2RtYTJkLmgKQEAgLTYsMTMgKzYsMTIgQEAKICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICogQGF0dGVudGlvbgogICAqCi0gICogPGgyPjxjZW50ZXI+JmNvcHk7IENvcHlyaWdodCAoYykgMjAxNiBTVE1pY3JvZWxlY3Ryb25pY3MuCi0gICogQWxsIHJpZ2h0cyByZXNlcnZlZC48L2NlbnRlcj48L2gyPgorICAqIENvcHlyaWdodCAoYykgMjAxNiBTVE1pY3JvZWxlY3Ryb25pY3MuCisgICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgKgotICAqIFRoaXMgc29mdHdhcmUgY29tcG9uZW50IGlzIGxpY2Vuc2VkIGJ5IFNUIHVuZGVyIEJTRCAzLUNsYXVzZSBsaWNlbnNlLAotICAqIHRoZSAiTGljZW5zZSI7IFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUKLSAgKiBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQ6Ci0gICogICAgICAgICAgICAgICAgICAgICAgICBvcGVuc291cmNlLm9yZy9saWNlbnNlcy9CU0QtMy1DbGF1c2UKKyAgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIHVuZGVyIHRlcm1zIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUKKyAgKiBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb2Z0d2FyZSBjb21wb25lbnQuCisgICogSWYgbm8gTElDRU5TRSBmaWxlIGNvbWVzIHdpdGggdGhpcyBzb2Z0d2FyZSwgaXQgaXMgcHJvdmlkZWQgQVMtSVMuCiAgICoKICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICovCkBAIC0yNzksMTUgKzI3OCw2IEBACiAgICogQH0KICAgKi8KIAotLyoqIEBkZWZncm91cCBETUEyRF9BbGlhc2VzIERNQTJEIEFQSSBBbGlhc2VzCi0gICogQHsKLSAgKi8KLSNkZWZpbmUgSEFMX0RNQTJEX0Rpc2FibGVDTFVUICAgICAgIEhBTF9ETUEyRF9DTFVUTG9hZGluZ19BYm9ydCAgICAvKiE8IEFsaWFzZWQgdG8gSEFMX0RNQTJEX0NMVVRMb2FkaW5nX0Fib3J0IAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIGNvbXBhdGliaWxpdHkgd2l0aCBsZWdhY3kgY29kZSAqLwotLyoqCi0gICogQH0KLSAgKi8KLQogI2lmIChVU0VfSEFMX0RNQTJEX1JFR0lTVEVSX0NBTExCQUNLUyA9PSAxKQogLyoqCiAgICogQGJyaWVmICBIQUwgRE1BMkQgY29tbW9uIENhbGxiYWNrIElEIGVudW1lcmF0aW9uIGRlZmluaXRpb24KQEAgLTY0Niw2ICs2MzYsMyBAQAogI2VuZGlmCiAKICNlbmRpZiAvKiBTVE0zMkY0eHhfSEFMX0RNQTJEX0ggKi8KLQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqIChDKSBDT1BZUklHSFQgU1RNaWNyb2VsZWN0cm9uaWNzICoqKioqRU5EIE9GIEZJTEUqKioqLwpkaWZmIC0tZ2l0IGEvSW5jL3N0bTMyZjR4eF9oYWxfZG1hX2V4LmggYi9JbmMvc3RtMzJmNHh4X2hhbF9kbWFfZXguaAppbmRleCAyZTYwYWZmLi45ODU4Yzc0IDEwMDY0NAotLS0gYS9JbmMvc3RtMzJmNHh4X2hhbF9kbWFfZXguaAorKysgYi9JbmMvc3RtMzJmNHh4X2hhbF9kbWFfZXguaApAQCAtNiwxMyArNiwxMiBAQAogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKiBAYXR0ZW50aW9uCiAgICoKLSAgKiA8aDI+PGNlbnRlcj4mY29weTsgQ29weXJpZ2h0IChjKSAyMDE3IFNUTWljcm9lbGVjdHJvbmljcy4KLSAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvY2VudGVyPjwvaDI+CisgICogQ29weXJpZ2h0IChjKSAyMDE3IFNUTWljcm9lbGVjdHJvbmljcy4KKyAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAqCi0gICogVGhpcyBzb2Z0d2FyZSBjb21wb25lbnQgaXMgbGljZW5zZWQgYnkgU1QgdW5kZXIgQlNEIDMtQ2xhdXNlIGxpY2Vuc2UsCi0gICogdGhlICJMaWNlbnNlIjsgWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZQotICAqIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdDoKLSAgKiAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZQorICAqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgdW5kZXIgdGVybXMgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBpbgorICAqIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvZnR3YXJlIGNvbXBvbmVudC4KKyAgKiBJZiBubyBMSUNFTlNFIGZpbGUgY29tZXMgd2l0aCB0aGlzIHNvZnR3YXJlLCBpdCBpcyBwcm92aWRlZCBBUy1JUy4KICAgKgogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKi8KQEAgLTEwMSw0ICsxMDAsMyBAQAogCiAjZW5kaWYgLypfX1NUTTMyRjR4eF9IQUxfRE1BX0VYX0gqLwogCi0vKioqKioqKioqKioqKioqKioqKioqKioqIChDKSBDT1BZUklHSFQgU1RNaWNyb2VsZWN0cm9uaWNzICoqKioqRU5EIE9GIEZJTEUqKioqLwpkaWZmIC0tZ2l0IGEvSW5jL3N0bTMyZjR4eF9oYWxfZHNpLmggYi9JbmMvc3RtMzJmNHh4X2hhbF9kc2kuaAppbmRleCA3MTZkZWExLi42ZGE5NjY4IDEwMDY0NAotLS0gYS9JbmMvc3RtMzJmNHh4X2hhbF9kc2kuaAorKysgYi9JbmMvc3RtMzJmNHh4X2hhbF9kc2kuaApAQCAtNiwxMyArNiwxMiBAQAogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKiBAYXR0ZW50aW9uCiAgICoKLSAgKiA8aDI+PGNlbnRlcj4mY29weTsgQ29weXJpZ2h0IChjKSAyMDE2IFNUTWljcm9lbGVjdHJvbmljcy4KLSAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvY2VudGVyPjwvaDI+CisgICogQ29weXJpZ2h0IChjKSAyMDE2IFNUTWljcm9lbGVjdHJvbmljcy4KKyAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAqCi0gICogVGhpcyBzb2Z0d2FyZSBjb21wb25lbnQgaXMgbGljZW5zZWQgYnkgU1QgdW5kZXIgQlNEIDMtQ2xhdXNlIGxpY2Vuc2UsCi0gICogdGhlICJMaWNlbnNlIjsgWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZQotICAqIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdDoKLSAgKiAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZQorICAqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgdW5kZXIgdGVybXMgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZQorICAqIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvZnR3YXJlIGNvbXBvbmVudC4KKyAgKiBJZiBubyBMSUNFTlNFIGZpbGUgY29tZXMgd2l0aCB0aGlzIHNvZnR3YXJlLCBpdCBpcyBwcm92aWRlZCBBUy1JUy4KICAgKgogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKi8KQEAgLTQwLDYgKzM5LDkgQEAKICAgKi8KIAogLyogRXhwb3J0ZWQgdHlwZXMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKy8qKiBAZGVmZ3JvdXAgRFNJX0V4cG9ydGVkX1R5cGVzIERTSSBFeHBvcnRlZCBUeXBlcworICAqIEB7CisgICovCiAvKioKICAgKiBAYnJpZWYgIERTSSBJbml0IFN0cnVjdHVyZSBkZWZpbml0aW9uCiAgICovCkBAIC02MSwxNCArNjMsMTQgQEAKICAgKi8KIHR5cGVkZWYgc3RydWN0CiB7Ci0gIHVpbnQzMl90IFBMTE5ESVY7ICAgICAgICAgICAgICAgICAgICAgIC8qITwgUExMIExvb3AgRGl2aXNpb24gRmFjdG9yCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgbXVzdCBiZSBhIHZhbHVlIGJldHdlZW4gMTAgYW5kIDEyNSAgICovCisgIHVpbnQzMl90IFBMTE5ESVY7ICAgICAgICAgICAgICAgICAvKiE8IFBMTCBMb29wIERpdmlzaW9uIEZhY3RvcgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBtdXN0IGJlIGEgdmFsdWUgYmV0d2VlbiAxMCBhbmQgMTI1ICAgICAgICAgICAgICAgICAgICAqLwogCi0gIHVpbnQzMl90IFBMTElERjsgICAgICAgICAgICAgICAgICAgICAgIC8qITwgUExMIElucHV0IERpdmlzaW9uIEZhY3RvcgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhbnkgdmFsdWUgb2YgQHJlZiBEU0lfUExMX0lERiAqLworICB1aW50MzJfdCBQTExJREY7ICAgICAgICAgICAgICAgICAgLyohPCBQTEwgSW5wdXQgRGl2aXNpb24gRmFjdG9yCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhbnkgdmFsdWUgb2YgQHJlZiBEU0lfUExMX0lERiAgICAgICAgICAgICAgICAgICovCiAKLSAgdWludDMyX3QgUExMT0RGOyAgICAgICAgICAgICAgICAgICAgICAgLyohPCBQTEwgT3V0cHV0IERpdmlzaW9uIEZhY3RvcgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhbnkgdmFsdWUgb2YgQHJlZiBEU0lfUExMX09ERiAqLworICB1aW50MzJfdCBQTExPREY7ICAgICAgICAgICAgICAgICAgLyohPCBQTEwgT3V0cHV0IERpdmlzaW9uIEZhY3RvcgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYW55IHZhbHVlIG9mIEByZWYgRFNJX1BMTF9PREYgICAgICAgICAgICAgICAgICAqLwogCiB9IERTSV9QTExJbml0VHlwZURlZjsKIApAQCAtMzQ2LDYgKzM0OCw5IEBACiB0eXBlZGVmICB2b2lkICgqcERTSV9DYWxsYmFja1R5cGVEZWYpKERTSV9IYW5kbGVUeXBlRGVmICpoZHNpKTsgIC8qITwgcG9pbnRlciB0byBhbiBEU0kgY2FsbGJhY2sgZnVuY3Rpb24gKi8KIAogI2VuZGlmIC8qIFVTRV9IQUxfRFNJX1JFR0lTVEVSX0NBTExCQUNLUyAqLworLyoqCisgICogQH0KKyAgKi8KIAogLyogRXhwb3J0ZWQgY29uc3RhbnRzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KIC8qKiBAZGVmZ3JvdXAgRFNJX0V4cG9ydGVkX0NvbnN0YW50cyBEU0kgRXhwb3J0ZWQgQ29uc3RhbnRzCkBAIC03MDAsOCArNzA1LDggQEAKICNkZWZpbmUgRFNJX0ZMT1dfQ09OVFJPTF9CVEEgICAgICAgRFNJX1BDUl9CVEFFCiAjZGVmaW5lIERTSV9GTE9XX0NPTlRST0xfRU9UUF9SWCAgIERTSV9QQ1JfRVRSWEUKICNkZWZpbmUgRFNJX0ZMT1dfQ09OVFJPTF9FT1RQX1RYICAgRFNJX1BDUl9FVFRYRQotI2RlZmluZSBEU0lfRkxPV19DT05UUk9MX0FMTCAgICAgICAoRFNJX0ZMT1dfQ09OVFJPTF9DUkNfUlggfCBEU0lfRkxPV19DT05UUk9MX0VDQ19SWCB8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERTSV9GTE9XX0NPTlRST0xfQlRBIHwgRFNJX0ZMT1dfQ09OVFJPTF9FT1RQX1JYIHwgXAorI2RlZmluZSBEU0lfRkxPV19DT05UUk9MX0FMTCAgICAgICAoRFNJX0ZMT1dfQ09OVFJPTF9DUkNfUlggfCBEU0lfRkxPV19DT05UUk9MX0VDQ19SWCAgfCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEU0lfRkxPV19DT05UUk9MX0JUQSAgICB8IERTSV9GTE9XX0NPTlRST0xfRU9UUF9SWCB8IFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERTSV9GTE9XX0NPTlRST0xfRU9UUF9UWCkKIC8qKgogICAqIEB9CkBAIC04NDEsMTggKzg0NiwxOCBAQAogICAqIEB7CiAgICovCiAjZGVmaW5lIEhBTF9EU0lfRVJST1JfTk9ORSAgICAgICAgICAgICAgMFUKLSNkZWZpbmUgSEFMX0RTSV9FUlJPUl9BQ0sgICAgICAgICAgICAgICAweDAwMDAwMDAxVSAvKiE8IGFja25vd2xlZGdlIGVycm9ycyAgICAgICAgICAqLwotI2RlZmluZSBIQUxfRFNJX0VSUk9SX1BIWSAgICAgICAgICAgICAgIDB4MDAwMDAwMDJVIC8qITwgUEhZIHJlbGF0ZWQgZXJyb3JzICAgICAgICAgICovCi0jZGVmaW5lIEhBTF9EU0lfRVJST1JfVFggICAgICAgICAgICAgICAgMHgwMDAwMDAwNFUgLyohPCB0cmFuc21pc3Npb24gZXJyb3IgICAgICAgICAgKi8KLSNkZWZpbmUgSEFMX0RTSV9FUlJPUl9SWCAgICAgICAgICAgICAgICAweDAwMDAwMDA4VSAvKiE8IHJlY2VwdGlvbiBlcnJvciAgICAgICAgICAgICAqLwotI2RlZmluZSBIQUxfRFNJX0VSUk9SX0VDQyAgICAgICAgICAgICAgIDB4MDAwMDAwMTBVIC8qITwgRUNDIGVycm9ycyAgICAgICAgICAgICAgICAgICovCi0jZGVmaW5lIEhBTF9EU0lfRVJST1JfQ1JDICAgICAgICAgICAgICAgMHgwMDAwMDAyMFUgLyohPCBDUkMgZXJyb3IgICAgICAgICAgICAgICAgICAgKi8KLSNkZWZpbmUgSEFMX0RTSV9FUlJPUl9QU0UgICAgICAgICAgICAgICAweDAwMDAwMDQwVSAvKiE8IFBhY2tldCBTaXplIGVycm9yICAgICAgICAgICAqLwotI2RlZmluZSBIQUxfRFNJX0VSUk9SX0VPVCAgICAgICAgICAgICAgIDB4MDAwMDAwODBVIC8qITwgRW5kIE9mIFRyYW5zbWlzc2lvbiBlcnJvciAgICovCi0jZGVmaW5lIEhBTF9EU0lfRVJST1JfT1ZGICAgICAgICAgICAgICAgMHgwMDAwMDEwMFUgLyohPCBGSUZPIG92ZXJmbG93IGVycm9yICAgICAgICAgKi8KLSNkZWZpbmUgSEFMX0RTSV9FUlJPUl9HRU4gICAgICAgICAgICAgICAweDAwMDAwMjAwVSAvKiE8IEdlbmVyaWMgRklGTyByZWxhdGVkIGVycm9ycyAqLworI2RlZmluZSBIQUxfRFNJX0VSUk9SX0FDSyAgICAgICAgICAgICAgIDB4MDAwMDAwMDFVIC8qITwgQWNrbm93bGVkZ2UgZXJyb3JzICAgICAgICAgICAgICovCisjZGVmaW5lIEhBTF9EU0lfRVJST1JfUEhZICAgICAgICAgICAgICAgMHgwMDAwMDAwMlUgLyohPCBQSFkgcmVsYXRlZCBlcnJvcnMgICAgICAgICAgICAgKi8KKyNkZWZpbmUgSEFMX0RTSV9FUlJPUl9UWCAgICAgICAgICAgICAgICAweDAwMDAwMDA0VSAvKiE8IFRyYW5zbWlzc2lvbiBlcnJvciAgICAgICAgICAgICAqLworI2RlZmluZSBIQUxfRFNJX0VSUk9SX1JYICAgICAgICAgICAgICAgIDB4MDAwMDAwMDhVIC8qITwgUmVjZXB0aW9uIGVycm9yICAgICAgICAgICAgICAgICovCisjZGVmaW5lIEhBTF9EU0lfRVJST1JfRUNDICAgICAgICAgICAgICAgMHgwMDAwMDAxMFUgLyohPCBFQ0MgZXJyb3JzICAgICAgICAgICAgICAgICAgICAgKi8KKyNkZWZpbmUgSEFMX0RTSV9FUlJPUl9DUkMgICAgICAgICAgICAgICAweDAwMDAwMDIwVSAvKiE8IENSQyBlcnJvciAgICAgICAgICAgICAgICAgICAgICAqLworI2RlZmluZSBIQUxfRFNJX0VSUk9SX1BTRSAgICAgICAgICAgICAgIDB4MDAwMDAwNDBVIC8qITwgUGFja2V0IFNpemUgZXJyb3IgICAgICAgICAgICAgICovCisjZGVmaW5lIEhBTF9EU0lfRVJST1JfRU9UICAgICAgICAgICAgICAgMHgwMDAwMDA4MFUgLyohPCBFbmQgT2YgVHJhbnNtaXNzaW9uIGVycm9yICAgICAgKi8KKyNkZWZpbmUgSEFMX0RTSV9FUlJPUl9PVkYgICAgICAgICAgICAgICAweDAwMDAwMTAwVSAvKiE8IEZJRk8gb3ZlcmZsb3cgZXJyb3IgICAgICAgICAgICAqLworI2RlZmluZSBIQUxfRFNJX0VSUk9SX0dFTiAgICAgICAgICAgICAgIDB4MDAwMDAyMDBVIC8qITwgR2VuZXJpYyBGSUZPIHJlbGF0ZWQgZXJyb3JzICAgICovCiAjaWYgKFVTRV9IQUxfRFNJX1JFR0lTVEVSX0NBTExCQUNLUyA9PSAxKQotI2RlZmluZSBIQUxfRFNJX0VSUk9SX0lOVkFMSURfQ0FMTEJBQ0sgIDB4MDAwMDA0MDBVIC8qITwgRFNJIEludmFsaWQgQ2FsbGJhY2sgZXJyb3IgICovCisjZGVmaW5lIEhBTF9EU0lfRVJST1JfSU5WQUxJRF9DQUxMQkFDSyAgMHgwMDAwMDQwMFUgLyohPCBEU0kgSW52YWxpZCBDYWxsYmFjayBlcnJvciAgICAgICovCiAjZW5kaWYgLyogVVNFX0hBTF9EU0lfUkVHSVNURVJfQ0FMTEJBQ0tTICovCiAvKioKICAgKiBAfQpAQCAtOTEyLDYgKzkxNyw3IEBACiAgICogQH0KICAgKi8KIAorCiAvKioKICAgKiBAfQogICAqLwpAQCAtOTU1LDExICs5NjEsMTEgQEAKICAgKiBAcmV0dmFsIE5vbmUuCiAgICovCiAjZGVmaW5lIF9fSEFMX0RTSV9ESVNBQkxFKF9fSEFORExFX18pIGRvIHsgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19JTyB1aW50MzJfdCB0bXByZWcgPSAweDAwVTsgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ0xFQVJfQklUKChfX0hBTkRMRV9fKS0+SW5zdGFuY2UtPkNSLCBEU0lfQ1JfRU4pO1wKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIERlbGF5IGFmdGVyIGFuIERTSSBIb3N0IGRpc2FibGluZyAqLyBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0bXByZWcgPSBSRUFEX0JJVCgoX19IQU5ETEVfXyktPkluc3RhbmNlLT5DUiwgRFNJX0NSX0VOKTtcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVTlVTRUQodG1wcmVnKTsgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fSU8gdWludDMyX3QgdG1wcmVnID0gMHgwMFU7IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDTEVBUl9CSVQoKF9fSEFORExFX18pLT5JbnN0YW5jZS0+Q1IsIERTSV9DUl9FTik7XAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIERlbGF5IGFmdGVyIGFuIERTSSBIb3N0IGRpc2FibGluZyAqLyBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG1wcmVnID0gUkVBRF9CSVQoKF9fSEFORExFX18pLT5JbnN0YW5jZS0+Q1IsIERTSV9DUl9FTik7XAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVOVVNFRCh0bXByZWcpOyBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gd2hpbGUoMFUpCiAKIC8qKgpAQCAtOTY4LDExICs5NzQsMTEgQEAKICAgKiBAcmV0dmFsIE5vbmUuCiAgICovCiAjZGVmaW5lIF9fSEFMX0RTSV9XUkFQUEVSX0VOQUJMRShfX0hBTkRMRV9fKSBkbyB7IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX0lPIHVpbnQzMl90IHRtcHJlZyA9IDB4MDBVOyBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU0VUX0JJVCgoX19IQU5ETEVfXyktPkluc3RhbmNlLT5XQ1IsIERTSV9XQ1JfRFNJRU4pO1wKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBEZWxheSBhZnRlciBhbiBEU0kgd2FycHBlciBlbmFibGluZyAqLyBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG1wcmVnID0gUkVBRF9CSVQoKF9fSEFORExFX18pLT5JbnN0YW5jZS0+V0NSLCBEU0lfV0NSX0RTSUVOKTtcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVU5VU0VEKHRtcHJlZyk7IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19JTyB1aW50MzJfdCB0bXByZWcgPSAweDAwVTsgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTRVRfQklUKChfX0hBTkRMRV9fKS0+SW5zdGFuY2UtPldDUiwgRFNJX1dDUl9EU0lFTik7XAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBEZWxheSBhZnRlciBhbiBEU0kgd2FycHBlciBlbmFibGluZyAqLyBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRtcHJlZyA9IFJFQURfQklUKChfX0hBTkRMRV9fKS0+SW5zdGFuY2UtPldDUiwgRFNJX1dDUl9EU0lFTik7XAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVTlVTRUQodG1wcmVnKTsgXAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSB3aGlsZSgwVSkKIAogLyoqCkBAIC05ODEsMTEgKzk4NywxMSBAQAogICAqIEByZXR2YWwgTm9uZS4KICAgKi8KICNkZWZpbmUgX19IQUxfRFNJX1dSQVBQRVJfRElTQUJMRShfX0hBTkRMRV9fKSBkbyB7IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19JTyB1aW50MzJfdCB0bXByZWcgPSAweDAwVTsgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDTEVBUl9CSVQoKF9fSEFORExFX18pLT5JbnN0YW5jZS0+V0NSLCBEU0lfV0NSX0RTSUVOKTtcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIERlbGF5IGFmdGVyIGFuIERTSSB3YXJwcGVyIGRpc2FibGluZyovIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG1wcmVnID0gUkVBRF9CSVQoKF9fSEFORExFX18pLT5JbnN0YW5jZS0+V0NSLCBEU0lfV0NSX0RTSUVOKTtcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVOVVNFRCh0bXByZWcpOyBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX0lPIHVpbnQzMl90IHRtcHJlZyA9IDB4MDBVOyBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDTEVBUl9CSVQoKF9fSEFORExFX18pLT5JbnN0YW5jZS0+V0NSLCBEU0lfV0NSX0RTSUVOKTtcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBEZWxheSBhZnRlciBhbiBEU0kgd2FycHBlciBkaXNhYmxpbmcqLyBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0bXByZWcgPSBSRUFEX0JJVCgoX19IQU5ETEVfXyktPkluc3RhbmNlLT5XQ1IsIERTSV9XQ1JfRFNJRU4pO1wKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVOVVNFRCh0bXByZWcpOyBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSB3aGlsZSgwVSkKIAogLyoqCkBAIC05OTQsMTEgKzEwMDAsMTEgQEAKICAgKiBAcmV0dmFsIE5vbmUuCiAgICovCiAjZGVmaW5lIF9fSEFMX0RTSV9QTExfRU5BQkxFKF9fSEFORExFX18pIGRvIHsgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19JTyB1aW50MzJfdCB0bXByZWcgPSAweDAwVTsgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU0VUX0JJVCgoX19IQU5ETEVfXyktPkluc3RhbmNlLT5XUlBDUiwgRFNJX1dSUENSX1BMTEVOKTtcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBEZWxheSBhZnRlciBhbiBEU0kgUExMIGVuYWJsaW5nICovIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRtcHJlZyA9IFJFQURfQklUKChfX0hBTkRMRV9fKS0+SW5zdGFuY2UtPldSUENSLCBEU0lfV1JQQ1JfUExMRU4pO1wKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVOVVNFRCh0bXByZWcpOyBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19JTyB1aW50MzJfdCB0bXByZWcgPSAweDAwVTsgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNFVF9CSVQoKF9fSEFORExFX18pLT5JbnN0YW5jZS0+V1JQQ1IsIERTSV9XUlBDUl9QTExFTik7XAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIERlbGF5IGFmdGVyIGFuIERTSSBQTEwgZW5hYmxpbmcgKi8gXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRtcHJlZyA9IFJFQURfQklUKChfX0hBTkRMRV9fKS0+SW5zdGFuY2UtPldSUENSLCBEU0lfV1JQQ1JfUExMRU4pO1wKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVTlVTRUQodG1wcmVnKTsgXAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IHdoaWxlKDBVKQogCiAvKioKQEAgLTEwMDcsMTEgKzEwMTMsMTEgQEAKICAgKiBAcmV0dmFsIE5vbmUuCiAgICovCiAjZGVmaW5lIF9fSEFMX0RTSV9QTExfRElTQUJMRShfX0hBTkRMRV9fKSBkbyB7IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX0lPIHVpbnQzMl90IHRtcHJlZyA9IDB4MDBVOyBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ0xFQVJfQklUKChfX0hBTkRMRV9fKS0+SW5zdGFuY2UtPldSUENSLCBEU0lfV1JQQ1JfUExMRU4pO1wKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBEZWxheSBhZnRlciBhbiBEU0kgUExMIGRpc2FibGluZyAqLyBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG1wcmVnID0gUkVBRF9CSVQoKF9fSEFORExFX18pLT5JbnN0YW5jZS0+V1JQQ1IsIERTSV9XUlBDUl9QTExFTik7XAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVOVVNFRCh0bXByZWcpOyBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fSU8gdWludDMyX3QgdG1wcmVnID0gMHgwMFU7IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ0xFQVJfQklUKChfX0hBTkRMRV9fKS0+SW5zdGFuY2UtPldSUENSLCBEU0lfV1JQQ1JfUExMRU4pO1wKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogRGVsYXkgYWZ0ZXIgYW4gRFNJIFBMTCBkaXNhYmxpbmcgKi8gXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0bXByZWcgPSBSRUFEX0JJVCgoX19IQU5ETEVfXyktPkluc3RhbmNlLT5XUlBDUiwgRFNJX1dSUENSX1BMTEVOKTtcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVOVVNFRCh0bXByZWcpOyBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IHdoaWxlKDBVKQogCiAvKioKQEAgLTEwMzMsMTEgKzEwMzksMTEgQEAKICAgKiBAcmV0dmFsIE5vbmUuCiAgICovCiAjZGVmaW5lIF9fSEFMX0RTSV9SRUdfRElTQUJMRShfX0hBTkRMRV9fKSBkbyB7IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX0lPIHVpbnQzMl90IHRtcHJlZyA9IDB4MDBVOyBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ0xFQVJfQklUKChfX0hBTkRMRV9fKS0+SW5zdGFuY2UtPldSUENSLCBEU0lfV1JQQ1JfUkVHRU4pO1wKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBEZWxheSBhZnRlciBhbiBEU0kgcmVndWxhdG9yIGRpc2FibGluZyAqLyBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG1wcmVnID0gUkVBRF9CSVQoKF9fSEFORExFX18pLT5JbnN0YW5jZS0+V1JQQ1IsIERTSV9XUlBDUl9SRUdFTik7XAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVOVVNFRCh0bXByZWcpOyBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fSU8gdWludDMyX3QgdG1wcmVnID0gMHgwMFU7IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ0xFQVJfQklUKChfX0hBTkRMRV9fKS0+SW5zdGFuY2UtPldSUENSLCBEU0lfV1JQQ1JfUkVHRU4pO1wKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogRGVsYXkgYWZ0ZXIgYW4gRFNJIHJlZ3VsYXRvciBkaXNhYmxpbmcgKi8gXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0bXByZWcgPSBSRUFEX0JJVCgoX19IQU5ETEVfXyktPkluc3RhbmNlLT5XUlBDUiwgRFNJX1dSUENSX1JFR0VOKTtcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVOVVNFRCh0bXByZWcpOyBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IHdoaWxlKDBVKQogCiAvKioKQEAgLTExMjEsMjMgKzExMjcsNDEgQEAKIC8qKiBAZGVmZ3JvdXAgRFNJX0V4cG9ydGVkX0Z1bmN0aW9ucyBEU0kgRXhwb3J0ZWQgRnVuY3Rpb25zCiAgICogQHsKICAgKi8KKy8qKiBAZGVmZ3JvdXAgRFNJX0dyb3VwMSBJbml0aWFsaXphdGlvbiBhbmQgQ29uZmlndXJhdGlvbiBmdW5jdGlvbnMKKyAgKiAgQGJyaWVmICAgSW5pdGlhbGl6YXRpb24gYW5kIENvbmZpZ3VyYXRpb24gZnVuY3Rpb25zCisgICogQHsKKyAgKi8KIEhBTF9TdGF0dXNUeXBlRGVmIEhBTF9EU0lfSW5pdChEU0lfSGFuZGxlVHlwZURlZiAqaGRzaSwgRFNJX1BMTEluaXRUeXBlRGVmICpQTExJbml0KTsKIEhBTF9TdGF0dXNUeXBlRGVmIEhBTF9EU0lfRGVJbml0KERTSV9IYW5kbGVUeXBlRGVmICpoZHNpKTsKIHZvaWQgSEFMX0RTSV9Nc3BJbml0KERTSV9IYW5kbGVUeXBlRGVmICpoZHNpKTsKIHZvaWQgSEFMX0RTSV9Nc3BEZUluaXQoRFNJX0hhbmRsZVR5cGVEZWYgKmhkc2kpOwotCi12b2lkIEhBTF9EU0lfSVJRSGFuZGxlcihEU0lfSGFuZGxlVHlwZURlZiAqaGRzaSk7Ci12b2lkIEhBTF9EU0lfVGVhcmluZ0VmZmVjdENhbGxiYWNrKERTSV9IYW5kbGVUeXBlRGVmICpoZHNpKTsKLXZvaWQgSEFMX0RTSV9FbmRPZlJlZnJlc2hDYWxsYmFjayhEU0lfSGFuZGxlVHlwZURlZiAqaGRzaSk7Ci12b2lkIEhBTF9EU0lfRXJyb3JDYWxsYmFjayhEU0lfSGFuZGxlVHlwZURlZiAqaGRzaSk7Ci0KK0hBTF9TdGF0dXNUeXBlRGVmIEhBTF9EU0lfQ29uZmlnRXJyb3JNb25pdG9yKERTSV9IYW5kbGVUeXBlRGVmICpoZHNpLCB1aW50MzJfdCBBY3RpdmVFcnJvcnMpOwogLyogQ2FsbGJhY2tzIFJlZ2lzdGVyL1VuUmVnaXN0ZXIgZnVuY3Rpb25zICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KICNpZiAoVVNFX0hBTF9EU0lfUkVHSVNURVJfQ0FMTEJBQ0tTID09IDEpCiBIQUxfU3RhdHVzVHlwZURlZiBIQUxfRFNJX1JlZ2lzdGVyQ2FsbGJhY2soRFNJX0hhbmRsZVR5cGVEZWYgKmhkc2ksIEhBTF9EU0lfQ2FsbGJhY2tJRFR5cGVEZWYgQ2FsbGJhY2tJRCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwRFNJX0NhbGxiYWNrVHlwZURlZiBwQ2FsbGJhY2spOwogSEFMX1N0YXR1c1R5cGVEZWYgSEFMX0RTSV9VblJlZ2lzdGVyQ2FsbGJhY2soRFNJX0hhbmRsZVR5cGVEZWYgKmhkc2ksIEhBTF9EU0lfQ2FsbGJhY2tJRFR5cGVEZWYgQ2FsbGJhY2tJRCk7CiAjZW5kaWYgLyogVVNFX0hBTF9EU0lfUkVHSVNURVJfQ0FMTEJBQ0tTICovCisvKioKKyAgKiBAfQorICAqLwogCisvKiogQGRlZmdyb3VwIERTSV9Hcm91cDIgSU8gb3BlcmF0aW9uIGZ1bmN0aW9ucworICAqICBAYnJpZWYgICAgSU8gb3BlcmF0aW9uIGZ1bmN0aW9ucworICAqIEB7CisgICovCit2b2lkIEhBTF9EU0lfSVJRSGFuZGxlcihEU0lfSGFuZGxlVHlwZURlZiAqaGRzaSk7Cit2b2lkIEhBTF9EU0lfVGVhcmluZ0VmZmVjdENhbGxiYWNrKERTSV9IYW5kbGVUeXBlRGVmICpoZHNpKTsKK3ZvaWQgSEFMX0RTSV9FbmRPZlJlZnJlc2hDYWxsYmFjayhEU0lfSGFuZGxlVHlwZURlZiAqaGRzaSk7Cit2b2lkIEhBTF9EU0lfRXJyb3JDYWxsYmFjayhEU0lfSGFuZGxlVHlwZURlZiAqaGRzaSk7CisvKioKKyAgKiBAfQorICAqLworCisvKiogQGRlZmdyb3VwIERTSV9Hcm91cDMgUGVyaXBoZXJhbCBDb250cm9sIGZ1bmN0aW9ucworICAqICBAYnJpZWYgICAgUGVyaXBoZXJhbCBDb250cm9sIGZ1bmN0aW9ucworICAqIEB7CisgICovCiBIQUxfU3RhdHVzVHlwZURlZiBIQUxfRFNJX1NldEdlbmVyaWNWQ0lEKERTSV9IYW5kbGVUeXBlRGVmICpoZHNpLCB1aW50MzJfdCBWaXJ0dWFsQ2hhbm5lbElEKTsKIEhBTF9TdGF0dXNUeXBlRGVmIEhBTF9EU0lfQ29uZmlnVmlkZW9Nb2RlKERTSV9IYW5kbGVUeXBlRGVmICpoZHNpLCBEU0lfVmlkQ2ZnVHlwZURlZiAqVmlkQ2ZnKTsKIEhBTF9TdGF0dXNUeXBlRGVmIEhBTF9EU0lfQ29uZmlnQWRhcHRlZENvbW1hbmRNb2RlKERTSV9IYW5kbGVUeXBlRGVmICpoZHNpLCBEU0lfQ21kQ2ZnVHlwZURlZiAqQ21kQ2ZnKTsKQEAgLTExOTAsNDAgKzEyMTQsMjggQEAKIEhBTF9TdGF0dXNUeXBlRGVmIEhBTF9EU0lfU2V0UHVsbERvd24oRFNJX0hhbmRsZVR5cGVEZWYgKmhkc2ksIEZ1bmN0aW9uYWxTdGF0ZSBTdGF0ZSk7CiBIQUxfU3RhdHVzVHlwZURlZiBIQUxfRFNJX1NldENvbnRlbnRpb25EZXRlY3Rpb25PZmYoRFNJX0hhbmRsZVR5cGVEZWYgKmhkc2ksIEZ1bmN0aW9uYWxTdGF0ZSBTdGF0ZSk7CiAKKy8qKgorICAqIEB9CisgICovCisKKy8qKiBAZGVmZ3JvdXAgRFNJX0dyb3VwNCBQZXJpcGhlcmFsIFN0YXRlIGFuZCBFcnJvcnMgZnVuY3Rpb25zCisgICogIEBicmllZiAgICBQZXJpcGhlcmFsIFN0YXRlIGFuZCBFcnJvcnMgZnVuY3Rpb25zCisgICogQHsKKyAgKi8KIHVpbnQzMl90IEhBTF9EU0lfR2V0RXJyb3IoRFNJX0hhbmRsZVR5cGVEZWYgKmhkc2kpOwotSEFMX1N0YXR1c1R5cGVEZWYgSEFMX0RTSV9Db25maWdFcnJvck1vbml0b3IoRFNJX0hhbmRsZVR5cGVEZWYgKmhkc2ksIHVpbnQzMl90IEFjdGl2ZUVycm9ycyk7CiBIQUxfRFNJX1N0YXRlVHlwZURlZiBIQUxfRFNJX0dldFN0YXRlKERTSV9IYW5kbGVUeXBlRGVmICpoZHNpKTsKKworLyoqCisgICogQH0KKyAgKi8KKwogLyoqCiAgICogQH0KICAgKi8KIAogLyogUHJpdmF0ZSB0eXBlcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KLS8qKiBAZGVmZ3JvdXAgRFNJX1ByaXZhdGVfVHlwZXMgRFNJIFByaXZhdGUgVHlwZXMKLSAgKiBAewotICAqLwotCi0vKioKLSAgKiBAfQotICAqLwotCiAvKiBQcml2YXRlIGRlZmluZXMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwotLyoqIEBkZWZncm91cCBEU0lfUHJpdmF0ZV9EZWZpbmVzIERTSSBQcml2YXRlIERlZmluZXMKLSAgKiBAewotICAqLwotCi0vKioKLSAgKiBAfQotICAqLwotCiAvKiBQcml2YXRlIHZhcmlhYmxlcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwotLyoqIEBkZWZncm91cCBEU0lfUHJpdmF0ZV9WYXJpYWJsZXMgRFNJIFByaXZhdGUgVmFyaWFibGVzCi0gICogQHsKLSAgKi8KLQotLyoqCi0gICogQH0KLSAgKi8KLQogLyogUHJpdmF0ZSBjb25zdGFudHMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KIC8qKiBAZGVmZ3JvdXAgRFNJX1ByaXZhdGVfQ29uc3RhbnRzIERTSSBQcml2YXRlIENvbnN0YW50cwogICAqIEB7CkBAIC0xMjQ5LDQ1ICsxMjYxLDczIEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoT0RGKSA9PSBEU0lfUExMX09VVF9ESVYyKSB8fCBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoT0RGKSA9PSBEU0lfUExMX09VVF9ESVY0KSB8fCBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoT0RGKSA9PSBEU0lfUExMX09VVF9ESVY4KSkKLSNkZWZpbmUgSVNfRFNJX0FVVE9fQ0xLTEFORV9DT05UUk9MKEF1dG9DbGtMYW5lKSAgICAoKChBdXRvQ2xrTGFuZSkgPT0gRFNJX0FVVE9fQ0xLX0xBTkVfQ1RSTF9ESVNBQkxFKSB8fCAoKEF1dG9DbGtMYW5lKSA9PSBEU0lfQVVUT19DTEtfTEFORV9DVFJMX0VOQUJMRSkpCi0jZGVmaW5lIElTX0RTSV9OVU1CRVJfT0ZfTEFORVMoTnVtYmVyT2ZMYW5lcykgICAgICAgKCgoTnVtYmVyT2ZMYW5lcykgPT0gRFNJX09ORV9EQVRBX0xBTkUpIHx8ICgoTnVtYmVyT2ZMYW5lcykgPT0gRFNJX1RXT19EQVRBX0xBTkVTKSkKKyNkZWZpbmUgSVNfRFNJX0FVVE9fQ0xLTEFORV9DT05UUk9MKEF1dG9DbGtMYW5lKSAgICAoKChBdXRvQ2xrTGFuZSkgPT0gRFNJX0FVVE9fQ0xLX0xBTkVfQ1RSTF9ESVNBQkxFKVwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfHwgKChBdXRvQ2xrTGFuZSkgPT0gRFNJX0FVVE9fQ0xLX0xBTkVfQ1RSTF9FTkFCTEUpKQorI2RlZmluZSBJU19EU0lfTlVNQkVSX09GX0xBTkVTKE51bWJlck9mTGFuZXMpICAgICAgICgoKE51bWJlck9mTGFuZXMpID09IERTSV9PTkVfREFUQV9MQU5FKVwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfHwgKChOdW1iZXJPZkxhbmVzKSA9PSBEU0lfVFdPX0RBVEFfTEFORVMpKQogI2RlZmluZSBJU19EU0lfRkxPV19DT05UUk9MKEZsb3dDb250cm9sKSAgICAgICAgICAgICgoKEZsb3dDb250cm9sKSB8IERTSV9GTE9XX0NPTlRST0xfQUxMKSA9PSBEU0lfRkxPV19DT05UUk9MX0FMTCkKICNkZWZpbmUgSVNfRFNJX0NPTE9SX0NPRElORyhDb2xvckNvZGluZykgICAgICAgICAgICAoKENvbG9yQ29kaW5nKSA8PSA1VSkKLSNkZWZpbmUgSVNfRFNJX0xPT1NFTFlfUEFDS0VEKExvb3NlbHlQYWNrZWQpICAgICAgICAoKChMb29zZWx5UGFja2VkKSA9PSBEU0lfTE9PU0VMWV9QQUNLRURfRU5BQkxFKSB8fCAoKExvb3NlbHlQYWNrZWQpID09IERTSV9MT09TRUxZX1BBQ0tFRF9ESVNBQkxFKSkKLSNkZWZpbmUgSVNfRFNJX0RFX1BPTEFSSVRZKERhdGFFbmFibGUpICAgICAgICAgICAgICAoKChEYXRhRW5hYmxlKSA9PSBEU0lfREFUQV9FTkFCTEVfQUNUSVZFX0hJR0gpIHx8ICgoRGF0YUVuYWJsZSkgPT0gRFNJX0RBVEFfRU5BQkxFX0FDVElWRV9MT1cpKQotI2RlZmluZSBJU19EU0lfVlNZTkNfUE9MQVJJVFkoVlNZTkMpICAgICAgICAgICAgICAgICgoKFZTWU5DKSA9PSBEU0lfVlNZTkNfQUNUSVZFX0hJR0gpIHx8ICgoVlNZTkMpID09IERTSV9WU1lOQ19BQ1RJVkVfTE9XKSkKLSNkZWZpbmUgSVNfRFNJX0hTWU5DX1BPTEFSSVRZKEhTWU5DKSAgICAgICAgICAgICAgICAoKChIU1lOQykgPT0gRFNJX0hTWU5DX0FDVElWRV9ISUdIKSB8fCAoKEhTWU5DKSA9PSBEU0lfSFNZTkNfQUNUSVZFX0xPVykpCisjZGVmaW5lIElTX0RTSV9MT09TRUxZX1BBQ0tFRChMb29zZWx5UGFja2VkKSAgICAgICAgKCgoTG9vc2VseVBhY2tlZCkgPT0gRFNJX0xPT1NFTFlfUEFDS0VEX0VOQUJMRSlcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHx8ICgoTG9vc2VseVBhY2tlZCkgPT0gRFNJX0xPT1NFTFlfUEFDS0VEX0RJU0FCTEUpKQorI2RlZmluZSBJU19EU0lfREVfUE9MQVJJVFkoRGF0YUVuYWJsZSkgICAgICAgICAgICAgICgoKERhdGFFbmFibGUpID09IERTSV9EQVRBX0VOQUJMRV9BQ1RJVkVfSElHSClcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHx8ICgoRGF0YUVuYWJsZSkgPT0gRFNJX0RBVEFfRU5BQkxFX0FDVElWRV9MT1cpKQorI2RlZmluZSBJU19EU0lfVlNZTkNfUE9MQVJJVFkoVlNZTkMpICAgICAgICAgICAgICAgICgoKFZTWU5DKSA9PSBEU0lfVlNZTkNfQUNUSVZFX0hJR0gpXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8fCAoKFZTWU5DKSA9PSBEU0lfVlNZTkNfQUNUSVZFX0xPVykpCisjZGVmaW5lIElTX0RTSV9IU1lOQ19QT0xBUklUWShIU1lOQykgICAgICAgICAgICAgICAgKCgoSFNZTkMpID09IERTSV9IU1lOQ19BQ1RJVkVfSElHSClcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHx8ICgoSFNZTkMpID09IERTSV9IU1lOQ19BQ1RJVkVfTE9XKSkKICNkZWZpbmUgSVNfRFNJX1ZJREVPX01PREVfVFlQRShWaWRlb01vZGVUeXBlKSAgICAgICAoKChWaWRlb01vZGVUeXBlKSA9PSBEU0lfVklEX01PREVfTkJfUFVMU0VTKSB8fCBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoVmlkZW9Nb2RlVHlwZSkgPT0gRFNJX1ZJRF9NT0RFX05CX0VWRU5UUykgfHwgXAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKFZpZGVvTW9kZVR5cGUpID09IERTSV9WSURfTU9ERV9CVVJTVCkpCi0jZGVmaW5lIElTX0RTSV9DT0xPUl9NT0RFKENvbG9yTW9kZSkgICAgICAgICAgICAgICAgKCgoQ29sb3JNb2RlKSA9PSBEU0lfQ09MT1JfTU9ERV9GVUxMKSB8fCAoKENvbG9yTW9kZSkgPT0gRFNJX0NPTE9SX01PREVfRUlHSFQpKQorI2RlZmluZSBJU19EU0lfQ09MT1JfTU9ERShDb2xvck1vZGUpICAgICAgICAgICAgICAgICgoKENvbG9yTW9kZSkgPT0gRFNJX0NPTE9SX01PREVfRlVMTClcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHx8ICgoQ29sb3JNb2RlKSA9PSBEU0lfQ09MT1JfTU9ERV9FSUdIVCkpCiAjZGVmaW5lIElTX0RTSV9TSFVUX0RPV04oU2h1dERvd24pICAgICAgICAgICAgICAgICAgKCgoU2h1dERvd24pID09IERTSV9ESVNQTEFZX09OKSB8fCAoKFNodXREb3duKSA9PSBEU0lfRElTUExBWV9PRkYpKQotI2RlZmluZSBJU19EU0lfTFBfQ09NTUFORChMUENvbW1hbmQpICAgICAgICAgICAgICAgICgoKExQQ29tbWFuZCkgPT0gRFNJX0xQX0NPTU1BTkRfRElTQUJMRSkgfHwgKChMUENvbW1hbmQpID09IERTSV9MUF9DT01NQU5EX0VOQUJMRSkpCisjZGVmaW5lIElTX0RTSV9MUF9DT01NQU5EKExQQ29tbWFuZCkgICAgICAgICAgICAgICAgKCgoTFBDb21tYW5kKSA9PSBEU0lfTFBfQ09NTUFORF9ESVNBQkxFKVwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfHwgKChMUENvbW1hbmQpID09IERTSV9MUF9DT01NQU5EX0VOQUJMRSkpCiAjZGVmaW5lIElTX0RTSV9MUF9IRlAoTFBIRlApICAgICAgICAgICAgICAgICAgICAgICAgKCgoTFBIRlApID09IERTSV9MUF9IRlBfRElTQUJMRSkgfHwgKChMUEhGUCkgPT0gRFNJX0xQX0hGUF9FTkFCTEUpKQogI2RlZmluZSBJU19EU0lfTFBfSEJQKExQSEJQKSAgICAgICAgICAgICAgICAgICAgICAgICgoKExQSEJQKSA9PSBEU0lfTFBfSEJQX0RJU0FCTEUpIHx8ICgoTFBIQlApID09IERTSV9MUF9IQlBfRU5BQkxFKSkKLSNkZWZpbmUgSVNfRFNJX0xQX1ZBQ1RJVkUoTFBWQWN0aXZlKSAgICAgICAgICAgICAgICAoKChMUFZBY3RpdmUpID09IERTSV9MUF9WQUNUX0RJU0FCTEUpIHx8ICgoTFBWQWN0aXZlKSA9PSBEU0lfTFBfVkFDVF9FTkFCTEUpKQorI2RlZmluZSBJU19EU0lfTFBfVkFDVElWRShMUFZBY3RpdmUpICAgICAgICAgICAgICAgICgoKExQVkFjdGl2ZSkgPT0gRFNJX0xQX1ZBQ1RfRElTQUJMRSlcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHx8ICgoTFBWQWN0aXZlKSA9PSBEU0lfTFBfVkFDVF9FTkFCTEUpKQogI2RlZmluZSBJU19EU0lfTFBfVkZQKExQVkZQKSAgICAgICAgICAgICAgICAgICAgICAgICgoKExQVkZQKSA9PSBEU0lfTFBfVkZQX0RJU0FCTEUpIHx8ICgoTFBWRlApID09IERTSV9MUF9WRlBfRU5BQkxFKSkKICNkZWZpbmUgSVNfRFNJX0xQX1ZCUChMUFZCUCkgICAgICAgICAgICAgICAgICAgICAgICAoKChMUFZCUCkgPT0gRFNJX0xQX1ZCUF9ESVNBQkxFKSB8fCAoKExQVkJQKSA9PSBEU0lfTFBfVkJQX0VOQUJMRSkpCi0jZGVmaW5lIElTX0RTSV9MUF9WU1lOQyhMUFZTWU5DKSAgICAgICAgICAgICAgICAgICAgKCgoTFBWU1lOQykgPT0gRFNJX0xQX1ZTWU5DX0RJU0FCTEUpIHx8ICgoTFBWU1lOQykgPT0gRFNJX0xQX1ZTWU5DX0VOQUJMRSkpCi0jZGVmaW5lIElTX0RTSV9GQlRBQShGcmFtZUJUQUFja25vd2xlZGdlKSAgICAgICAgICAgKCgoRnJhbWVCVEFBY2tub3dsZWRnZSkgPT0gRFNJX0ZCVEFBX0RJU0FCTEUpIHx8ICgoRnJhbWVCVEFBY2tub3dsZWRnZSkgPT0gRFNJX0ZCVEFBX0VOQUJMRSkpCisjZGVmaW5lIElTX0RTSV9MUF9WU1lOQyhMUFZTWU5DKSAgICAgICAgICAgICAgICAgICAgKCgoTFBWU1lOQykgPT0gRFNJX0xQX1ZTWU5DX0RJU0FCTEUpXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8fCAoKExQVlNZTkMpID09IERTSV9MUF9WU1lOQ19FTkFCTEUpKQorI2RlZmluZSBJU19EU0lfRkJUQUEoRnJhbWVCVEFBY2tub3dsZWRnZSkgICAgICAgICAgICgoKEZyYW1lQlRBQWNrbm93bGVkZ2UpID09IERTSV9GQlRBQV9ESVNBQkxFKVwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfHwgKChGcmFtZUJUQUFja25vd2xlZGdlKSA9PSBEU0lfRkJUQUFfRU5BQkxFKSkKICNkZWZpbmUgSVNfRFNJX1RFX1NPVVJDRShURVNvdXJjZSkgICAgICAgICAgICAgICAgICAoKChURVNvdXJjZSkgPT0gRFNJX1RFX0RTSUxJTkspIHx8ICgoVEVTb3VyY2UpID09IERTSV9URV9FWFRFUk5BTCkpCi0jZGVmaW5lIElTX0RTSV9URV9QT0xBUklUWShURVBvbGFyaXR5KSAgICAgICAgICAgICAgKCgoVEVQb2xhcml0eSkgPT0gRFNJX1RFX1JJU0lOR19FREdFKSB8fCAoKFRFUG9sYXJpdHkpID09IERTSV9URV9GQUxMSU5HX0VER0UpKQotI2RlZmluZSBJU19EU0lfQVVUT01BVElDX1JFRlJFU0goQXV0b21hdGljUmVmcmVzaCkgICgoKEF1dG9tYXRpY1JlZnJlc2gpID09IERTSV9BUl9ESVNBQkxFKSB8fCAoKEF1dG9tYXRpY1JlZnJlc2gpID09IERTSV9BUl9FTkFCTEUpKQotI2RlZmluZSBJU19EU0lfVlNfUE9MQVJJVFkoVlNQb2xhcml0eSkgICAgICAgICAgICAgICgoKFZTUG9sYXJpdHkpID09IERTSV9WU1lOQ19GQUxMSU5HKSB8fCAoKFZTUG9sYXJpdHkpID09IERTSV9WU1lOQ19SSVNJTkcpKQotI2RlZmluZSBJU19EU0lfVEVfQUNLX1JFUVVFU1QoVEVBY2tub3dsZWRnZVJlcXVlc3QpICgoKFRFQWNrbm93bGVkZ2VSZXF1ZXN0KSA9PSBEU0lfVEVfQUNLTk9XTEVER0VfRElTQUJMRSkgfHwgKChURUFja25vd2xlZGdlUmVxdWVzdCkgPT0gRFNJX1RFX0FDS05PV0xFREdFX0VOQUJMRSkpCi0jZGVmaW5lIElTX0RTSV9BQ0tfUkVRVUVTVChBY2tub3dsZWRnZVJlcXVlc3QpICAgICAgKCgoQWNrbm93bGVkZ2VSZXF1ZXN0KSA9PSBEU0lfQUNLTk9XTEVER0VfRElTQUJMRSkgfHwgKChBY2tub3dsZWRnZVJlcXVlc3QpID09IERTSV9BQ0tOT1dMRURHRV9FTkFCTEUpKQotI2RlZmluZSBJU19EU0lfTFBfR1NXMFAoTFBfR1NXMFApICAgICAgICAgICAgICAgICAgICgoKExQX0dTVzBQKSA9PSBEU0lfTFBfR1NXMFBfRElTQUJMRSkgfHwgKChMUF9HU1cwUCkgPT0gRFNJX0xQX0dTVzBQX0VOQUJMRSkpCi0jZGVmaW5lIElTX0RTSV9MUF9HU1cxUChMUF9HU1cxUCkgICAgICAgICAgICAgICAgICAgKCgoTFBfR1NXMVApID09IERTSV9MUF9HU1cxUF9ESVNBQkxFKSB8fCAoKExQX0dTVzFQKSA9PSBEU0lfTFBfR1NXMVBfRU5BQkxFKSkKLSNkZWZpbmUgSVNfRFNJX0xQX0dTVzJQKExQX0dTVzJQKSAgICAgICAgICAgICAgICAgICAoKChMUF9HU1cyUCkgPT0gRFNJX0xQX0dTVzJQX0RJU0FCTEUpIHx8ICgoTFBfR1NXMlApID09IERTSV9MUF9HU1cyUF9FTkFCTEUpKQotI2RlZmluZSBJU19EU0lfTFBfR1NSMFAoTFBfR1NSMFApICAgICAgICAgICAgICAgICAgICgoKExQX0dTUjBQKSA9PSBEU0lfTFBfR1NSMFBfRElTQUJMRSkgfHwgKChMUF9HU1IwUCkgPT0gRFNJX0xQX0dTUjBQX0VOQUJMRSkpCi0jZGVmaW5lIElTX0RTSV9MUF9HU1IxUChMUF9HU1IxUCkgICAgICAgICAgICAgICAgICAgKCgoTFBfR1NSMVApID09IERTSV9MUF9HU1IxUF9ESVNBQkxFKSB8fCAoKExQX0dTUjFQKSA9PSBEU0lfTFBfR1NSMVBfRU5BQkxFKSkKLSNkZWZpbmUgSVNfRFNJX0xQX0dTUjJQKExQX0dTUjJQKSAgICAgICAgICAgICAgICAgICAoKChMUF9HU1IyUCkgPT0gRFNJX0xQX0dTUjJQX0RJU0FCTEUpIHx8ICgoTFBfR1NSMlApID09IERTSV9MUF9HU1IyUF9FTkFCTEUpKQotI2RlZmluZSBJU19EU0lfTFBfR0xXKExQX0dMVykgICAgICAgICAgICAgICAgICAgICAgICgoKExQX0dMVykgPT0gRFNJX0xQX0dMV19ESVNBQkxFKSB8fCAoKExQX0dMVykgPT0gRFNJX0xQX0dMV19FTkFCTEUpKQotI2RlZmluZSBJU19EU0lfTFBfRFNXMFAoTFBfRFNXMFApICAgICAgICAgICAgICAgICAgICgoKExQX0RTVzBQKSA9PSBEU0lfTFBfRFNXMFBfRElTQUJMRSkgfHwgKChMUF9EU1cwUCkgPT0gRFNJX0xQX0RTVzBQX0VOQUJMRSkpCi0jZGVmaW5lIElTX0RTSV9MUF9EU1cxUChMUF9EU1cxUCkgICAgICAgICAgICAgICAgICAgKCgoTFBfRFNXMVApID09IERTSV9MUF9EU1cxUF9ESVNBQkxFKSB8fCAoKExQX0RTVzFQKSA9PSBEU0lfTFBfRFNXMVBfRU5BQkxFKSkKLSNkZWZpbmUgSVNfRFNJX0xQX0RTUjBQKExQX0RTUjBQKSAgICAgICAgICAgICAgICAgICAoKChMUF9EU1IwUCkgPT0gRFNJX0xQX0RTUjBQX0RJU0FCTEUpIHx8ICgoTFBfRFNSMFApID09IERTSV9MUF9EU1IwUF9FTkFCTEUpKQotI2RlZmluZSBJU19EU0lfTFBfRExXKExQX0RMVykgICAgICAgICAgICAgICAgICAgICAgICgoKExQX0RMVykgPT0gRFNJX0xQX0RMV19ESVNBQkxFKSB8fCAoKExQX0RMVykgPT0gRFNJX0xQX0RMV19FTkFCTEUpKQotI2RlZmluZSBJU19EU0lfTFBfTVJEUChMUF9NUkRQKSAgICAgICAgICAgICAgICAgICAgICgoKExQX01SRFApID09IERTSV9MUF9NUkRQX0RJU0FCTEUpIHx8ICgoTFBfTVJEUCkgPT0gRFNJX0xQX01SRFBfRU5BQkxFKSkKKyNkZWZpbmUgSVNfRFNJX1RFX1BPTEFSSVRZKFRFUG9sYXJpdHkpICAgICAgICAgICAgICAoKChURVBvbGFyaXR5KSA9PSBEU0lfVEVfUklTSU5HX0VER0UpXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8fCAoKFRFUG9sYXJpdHkpID09IERTSV9URV9GQUxMSU5HX0VER0UpKQorI2RlZmluZSBJU19EU0lfQVVUT01BVElDX1JFRlJFU0goQXV0b21hdGljUmVmcmVzaCkgICgoKEF1dG9tYXRpY1JlZnJlc2gpID09IERTSV9BUl9ESVNBQkxFKVwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfHwgKChBdXRvbWF0aWNSZWZyZXNoKSA9PSBEU0lfQVJfRU5BQkxFKSkKKyNkZWZpbmUgSVNfRFNJX1ZTX1BPTEFSSVRZKFZTUG9sYXJpdHkpICAgICAgICAgICAgICAoKChWU1BvbGFyaXR5KSA9PSBEU0lfVlNZTkNfRkFMTElORylcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHx8ICgoVlNQb2xhcml0eSkgPT0gRFNJX1ZTWU5DX1JJU0lORykpCisjZGVmaW5lIElTX0RTSV9URV9BQ0tfUkVRVUVTVChURUFja25vd2xlZGdlUmVxdWVzdCkgKCgoVEVBY2tub3dsZWRnZVJlcXVlc3QpID09IERTSV9URV9BQ0tOT1dMRURHRV9ESVNBQkxFKVwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfHwgKChURUFja25vd2xlZGdlUmVxdWVzdCkgPT0gRFNJX1RFX0FDS05PV0xFREdFX0VOQUJMRSkpCisjZGVmaW5lIElTX0RTSV9BQ0tfUkVRVUVTVChBY2tub3dsZWRnZVJlcXVlc3QpICAgICAgKCgoQWNrbm93bGVkZ2VSZXF1ZXN0KSA9PSBEU0lfQUNLTk9XTEVER0VfRElTQUJMRSlcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHx8ICgoQWNrbm93bGVkZ2VSZXF1ZXN0KSA9PSBEU0lfQUNLTk9XTEVER0VfRU5BQkxFKSkKKyNkZWZpbmUgSVNfRFNJX0xQX0dTVzBQKExQX0dTVzBQKSAgICAgICAgICAgICAgICAgICAoKChMUF9HU1cwUCkgPT0gRFNJX0xQX0dTVzBQX0RJU0FCTEUpXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8fCAoKExQX0dTVzBQKSA9PSBEU0lfTFBfR1NXMFBfRU5BQkxFKSkKKyNkZWZpbmUgSVNfRFNJX0xQX0dTVzFQKExQX0dTVzFQKSAgICAgICAgICAgICAgICAgICAoKChMUF9HU1cxUCkgPT0gRFNJX0xQX0dTVzFQX0RJU0FCTEUpXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8fCAoKExQX0dTVzFQKSA9PSBEU0lfTFBfR1NXMVBfRU5BQkxFKSkKKyNkZWZpbmUgSVNfRFNJX0xQX0dTVzJQKExQX0dTVzJQKSAgICAgICAgICAgICAgICAgICAoKChMUF9HU1cyUCkgPT0gRFNJX0xQX0dTVzJQX0RJU0FCTEUpXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8fCAoKExQX0dTVzJQKSA9PSBEU0lfTFBfR1NXMlBfRU5BQkxFKSkKKyNkZWZpbmUgSVNfRFNJX0xQX0dTUjBQKExQX0dTUjBQKSAgICAgICAgICAgICAgICAgICAoKChMUF9HU1IwUCkgPT0gRFNJX0xQX0dTUjBQX0RJU0FCTEUpXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8fCAoKExQX0dTUjBQKSA9PSBEU0lfTFBfR1NSMFBfRU5BQkxFKSkKKyNkZWZpbmUgSVNfRFNJX0xQX0dTUjFQKExQX0dTUjFQKSAgICAgICAgICAgICAgICAgICAoKChMUF9HU1IxUCkgPT0gRFNJX0xQX0dTUjFQX0RJU0FCTEUpXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8fCAoKExQX0dTUjFQKSA9PSBEU0lfTFBfR1NSMVBfRU5BQkxFKSkKKyNkZWZpbmUgSVNfRFNJX0xQX0dTUjJQKExQX0dTUjJQKSAgICAgICAgICAgICAgICAgICAoKChMUF9HU1IyUCkgPT0gRFNJX0xQX0dTUjJQX0RJU0FCTEUpXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8fCAoKExQX0dTUjJQKSA9PSBEU0lfTFBfR1NSMlBfRU5BQkxFKSkKKyNkZWZpbmUgSVNfRFNJX0xQX0dMVyhMUF9HTFcpICAgICAgICAgICAgICAgICAgICAgICAoKChMUF9HTFcpID09IERTSV9MUF9HTFdfRElTQUJMRSlcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHx8ICgoTFBfR0xXKSA9PSBEU0lfTFBfR0xXX0VOQUJMRSkpCisjZGVmaW5lIElTX0RTSV9MUF9EU1cwUChMUF9EU1cwUCkgICAgICAgICAgICAgICAgICAgKCgoTFBfRFNXMFApID09IERTSV9MUF9EU1cwUF9ESVNBQkxFKVwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfHwgKChMUF9EU1cwUCkgPT0gRFNJX0xQX0RTVzBQX0VOQUJMRSkpCisjZGVmaW5lIElTX0RTSV9MUF9EU1cxUChMUF9EU1cxUCkgICAgICAgICAgICAgICAgICAgKCgoTFBfRFNXMVApID09IERTSV9MUF9EU1cxUF9ESVNBQkxFKVwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfHwgKChMUF9EU1cxUCkgPT0gRFNJX0xQX0RTVzFQX0VOQUJMRSkpCisjZGVmaW5lIElTX0RTSV9MUF9EU1IwUChMUF9EU1IwUCkgICAgICAgICAgICAgICAgICAgKCgoTFBfRFNSMFApID09IERTSV9MUF9EU1IwUF9ESVNBQkxFKVwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfHwgKChMUF9EU1IwUCkgPT0gRFNJX0xQX0RTUjBQX0VOQUJMRSkpCisjZGVmaW5lIElTX0RTSV9MUF9ETFcoTFBfRExXKSAgICAgICAgICAgICAgICAgICAgICAgKCgoTFBfRExXKSA9PSBEU0lfTFBfRExXX0RJU0FCTEUpXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8fCAoKExQX0RMVykgPT0gRFNJX0xQX0RMV19FTkFCTEUpKQorI2RlZmluZSBJU19EU0lfTFBfTVJEUChMUF9NUkRQKSAgICAgICAgICAgICAgICAgICAgICgoKExQX01SRFApID09IERTSV9MUF9NUkRQX0RJU0FCTEUpXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8fCAoKExQX01SRFApID09IERTSV9MUF9NUkRQX0VOQUJMRSkpCiAjZGVmaW5lIElTX0RTSV9TSE9SVF9XUklURV9QQUNLRVRfVFlQRShNT0RFKSAgICAgICAgKCgoTU9ERSkgPT0gRFNJX0RDU19TSE9SVF9QS1RfV1JJVEVfUDApIHx8IFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChNT0RFKSA9PSBEU0lfRENTX1NIT1JUX1BLVF9XUklURV9QMSkgfHwgXAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKE1PREUpID09IERTSV9HRU5fU0hPUlRfUEtUX1dSSVRFX1AwKSB8fCBcCkBAIC0xMjk5LDEwICsxMzM5LDE0IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoTU9ERSkgPT0gRFNJX0dFTl9TSE9SVF9QS1RfUkVBRF9QMCkgfHwgXAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKE1PREUpID09IERTSV9HRU5fU0hPUlRfUEtUX1JFQURfUDEpIHx8IFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChNT0RFKSA9PSBEU0lfR0VOX1NIT1JUX1BLVF9SRUFEX1AyKSkKLSNkZWZpbmUgSVNfRFNJX0NPTU1VTklDQVRJT05fREVMQVkoQ29tbURlbGF5KSAgICAgICAoKChDb21tRGVsYXkpID09IERTSV9TTEVXX1JBVEVfSFNUWCkgfHwgKChDb21tRGVsYXkpID09IERTSV9TTEVXX1JBVEVfTFBUWCkgfHwgKChDb21tRGVsYXkpID09IERTSV9IU19ERUxBWSkpCisjZGVmaW5lIElTX0RTSV9DT01NVU5JQ0FUSU9OX0RFTEFZKENvbW1EZWxheSkgICAgICAgKCgoQ29tbURlbGF5KSA9PSBEU0lfU0xFV19SQVRFX0hTVFgpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChDb21tRGVsYXkpID09IERTSV9TTEVXX1JBVEVfTFBUWCkgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKENvbW1EZWxheSkgPT0gRFNJX0hTX0RFTEFZKSkKICNkZWZpbmUgSVNfRFNJX0xBTkVfR1JPVVAoTGFuZSkgICAgICAgICAgICAgICAgICAgICAoKChMYW5lKSA9PSBEU0lfQ0xPQ0tfTEFORSkgfHwgKChMYW5lKSA9PSBEU0lfREFUQV9MQU5FUykpCi0jZGVmaW5lIElTX0RTSV9DVVNUT01fTEFORShDdXN0b21MYW5lKSAgICAgICAgICAgICAgKCgoQ3VzdG9tTGFuZSkgPT0gRFNJX1NXQVBfTEFORV9QSU5TKSB8fCAoKEN1c3RvbUxhbmUpID09IERTSV9JTlZFUlRfSFNfU0lHTkFMKSkKLSNkZWZpbmUgSVNfRFNJX0xBTkUoTGFuZSkgICAgICAgICAgICAgICAgICAgICAgICAgICAoKChMYW5lKSA9PSBEU0lfQ0xPQ0tfTEFORSkgfHwgKChMYW5lKSA9PSBEU0lfREFUQV9MQU5FMCkgfHwgKChMYW5lKSA9PSBEU0lfREFUQV9MQU5FMSkpCisjZGVmaW5lIElTX0RTSV9DVVNUT01fTEFORShDdXN0b21MYW5lKSAgICAgICAgICAgICAgKCgoQ3VzdG9tTGFuZSkgPT0gRFNJX1NXQVBfTEFORV9QSU5TKVwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfHwgKChDdXN0b21MYW5lKSA9PSBEU0lfSU5WRVJUX0hTX1NJR05BTCkpCisjZGVmaW5lIElTX0RTSV9MQU5FKExhbmUpICAgICAgICAgICAgICAgICAgICAgICAgICAgKCgoTGFuZSkgPT0gRFNJX0NMT0NLX0xBTkUpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChMYW5lKSA9PSBEU0lfREFUQV9MQU5FMCkgfHwgKChMYW5lKSA9PSBEU0lfREFUQV9MQU5FMSkpCiAjZGVmaW5lIElTX0RTSV9QSFlfVElNSU5HKFRpbWluZykgICAgICAgICAgICAgICAgICAgKCgoVGltaW5nKSA9PSBEU0lfVENMS19QT1NUICAgKSB8fCBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoVGltaW5nKSA9PSBEU0lfVExQWF9DTEsgICAgKSB8fCBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoVGltaW5nKSA9PSBEU0lfVEhTX0VYSVQgICAgKSB8fCBcCkBAIC0xMzE3LDI0ICsxMzYxLDYgQEAKICAgKiBAfQogICAqLwogCi0vKiBQcml2YXRlIGZ1bmN0aW9ucyBwcm90b3R5cGVzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwotLyoqIEBkZWZncm91cCBEU0lfUHJpdmF0ZV9GdW5jdGlvbnNfUHJvdG90eXBlcyBEU0kgUHJpdmF0ZSBGdW5jdGlvbnMgUHJvdG90eXBlcwotICAqIEB7Ci0gICovCi0KLS8qKgotICAqIEB9Ci0gICovCi0KLS8qIFByaXZhdGUgZnVuY3Rpb25zIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCi0vKiogQGRlZmdyb3VwIERTSV9Qcml2YXRlX0Z1bmN0aW9ucyBEU0kgUHJpdmF0ZSBGdW5jdGlvbnMKLSAgKiBAewotICAqLwotCi0vKioKLSAgKiBAfQotICAqLwotCiAvKioKICAgKiBAfQogICAqLwpAQCAtMTM0OSw1ICsxMzc1LDMgQEAKICNlbmRpZgogCiAjZW5kaWYgLyogU1RNMzJGNHh4X0hBTF9EU0lfSCAqLwotCi0vKioqKioqKioqKioqKioqKioqKioqKioqIChDKSBDT1BZUklHSFQgU1RNaWNyb2VsZWN0cm9uaWNzICoqKioqRU5EIE9GIEZJTEUqKioqLwpkaWZmIC0tZ2l0IGEvSW5jL3N0bTMyZjR4eF9oYWxfZXRoLmggYi9JbmMvc3RtMzJmNHh4X2hhbF9ldGguaAppbmRleCBhMGIwYWQzLi5hZjg0YmNiIDEwMDY0NAotLS0gYS9JbmMvc3RtMzJmNHh4X2hhbF9ldGguaAorKysgYi9JbmMvc3RtMzJmNHh4X2hhbF9ldGguaApAQCAtNiw2NDEgKzYsNTg5IEBACiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqIEBhdHRlbnRpb24KICAgKgotICAqIDxoMj48Y2VudGVyPiZjb3B5OyBDb3B5cmlnaHQgKGMpIDIwMTcgU1RNaWNyb2VsZWN0cm9uaWNzLgotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9jZW50ZXI+PC9oMj4KKyAgKiBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgorICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICoKLSAgKiBUaGlzIHNvZnR3YXJlIGNvbXBvbmVudCBpcyBsaWNlbnNlZCBieSBTVCB1bmRlciBCU0QgMy1DbGF1c2UgbGljZW5zZSwKLSAgKiB0aGUgIkxpY2Vuc2UiOyBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlCi0gICogTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0OgotICAqICAgICAgICAgICAgICAgICAgICAgICAgb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvQlNELTMtQ2xhdXNlCisgICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciB0ZXJtcyB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlCisgICogaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc29mdHdhcmUgY29tcG9uZW50LgorICAqIElmIG5vIExJQ0VOU0UgZmlsZSBjb21lcyB3aXRoIHRoaXMgc29mdHdhcmUsIGl0IGlzIHByb3ZpZGVkIEFTLUlTLgogICAqCiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqLwogCiAvKiBEZWZpbmUgdG8gcHJldmVudCByZWN1cnNpdmUgaW5jbHVzaW9uIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwotI2lmbmRlZiBfX1NUTTMyRjR4eF9IQUxfRVRIX0gKLSNkZWZpbmUgX19TVE0zMkY0eHhfSEFMX0VUSF9ICisjaWZuZGVmIFNUTTMyRjR4eF9IQUxfRVRIX0gKKyNkZWZpbmUgU1RNMzJGNHh4X0hBTF9FVEhfSAogCiAjaWZkZWYgX19jcGx1c3BsdXMKLSBleHRlcm4gIkMiIHsKK2V4dGVybiAiQyIgewogI2VuZGlmCiAKLSNpZiBkZWZpbmVkKFNUTTMyRjQwN3h4KSB8fCBkZWZpbmVkKFNUTTMyRjQxN3h4KSB8fCBkZWZpbmVkKFNUTTMyRjQyN3h4KSB8fCBkZWZpbmVkKFNUTTMyRjQzN3h4KSB8fFwKLSAgICBkZWZpbmVkKFNUTTMyRjQyOXh4KSB8fCBkZWZpbmVkKFNUTTMyRjQzOXh4KSB8fCBkZWZpbmVkKFNUTTMyRjQ2OXh4KSB8fCBkZWZpbmVkKFNUTTMyRjQ3OXh4KQorCiAvKiBJbmNsdWRlcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogI2luY2x1ZGUgInN0bTMyZjR4eF9oYWxfZGVmLmgiCiAKKyNpZiBkZWZpbmVkKEVUSCkKKwogLyoqIEBhZGR0b2dyb3VwIFNUTTMyRjR4eF9IQUxfRHJpdmVyCiAgICogQHsKICAgKi8KIAogLyoqIEBhZGR0b2dyb3VwIEVUSAogICAqIEB7Ci0gICovIAotICAKLS8qKiBAYWRkdG9ncm91cCBFVEhfUHJpdmF0ZV9NYWNyb3MKLSAgKiBAewotICAqLwotI2RlZmluZSBJU19FVEhfUEhZX0FERFJFU1MoQUREUkVTUykgKChBRERSRVNTKSA8PSAweDIwVSkKLSNkZWZpbmUgSVNfRVRIX0FVVE9ORUdPVElBVElPTihDTUQpICgoKENNRCkgPT0gRVRIX0FVVE9ORUdPVElBVElPTl9FTkFCTEUpIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKENNRCkgPT0gRVRIX0FVVE9ORUdPVElBVElPTl9ESVNBQkxFKSkKLSNkZWZpbmUgSVNfRVRIX1NQRUVEKFNQRUVEKSAoKChTUEVFRCkgPT0gRVRIX1NQRUVEXzEwTSkgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKFNQRUVEKSA9PSBFVEhfU1BFRURfMTAwTSkpCi0jZGVmaW5lIElTX0VUSF9EVVBMRVhfTU9ERShNT0RFKSAgKCgoTU9ERSkgPT0gRVRIX01PREVfRlVMTERVUExFWCkgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoTU9ERSkgPT0gRVRIX01PREVfSEFMRkRVUExFWCkpCi0jZGVmaW5lIElTX0VUSF9SWF9NT0RFKE1PREUpICAgICgoKE1PREUpID09IEVUSF9SWFBPTExJTkdfTU9ERSkgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChNT0RFKSA9PSBFVEhfUlhJTlRFUlJVUFRfTU9ERSkpIAotI2RlZmluZSBJU19FVEhfQ0hFQ0tTVU1fTU9ERShNT0RFKSAgICAoKChNT0RFKSA9PSBFVEhfQ0hFQ0tTVU1fQllfSEFSRFdBUkUpIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChNT0RFKSA9PSBFVEhfQ0hFQ0tTVU1fQllfU09GVFdBUkUpKQotI2RlZmluZSBJU19FVEhfTUVESUFfSU5URVJGQUNFKE1PREUpICAgICAgICAgKCgoTU9ERSkgPT0gRVRIX01FRElBX0lOVEVSRkFDRV9NSUkpIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKE1PREUpID09IEVUSF9NRURJQV9JTlRFUkZBQ0VfUk1JSSkpCi0jZGVmaW5lIElTX0VUSF9XQVRDSERPRyhDTUQpICgoKENNRCkgPT0gRVRIX1dBVENIRE9HX0VOQUJMRSkgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChDTUQpID09IEVUSF9XQVRDSERPR19ESVNBQkxFKSkKLSNkZWZpbmUgSVNfRVRIX0pBQkJFUihDTUQpICgoKENNRCkgPT0gRVRIX0pBQkJFUl9FTkFCTEUpIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKENNRCkgPT0gRVRIX0pBQkJFUl9ESVNBQkxFKSkKLSNkZWZpbmUgSVNfRVRIX0lOVEVSX0ZSQU1FX0dBUChHQVApICgoKEdBUCkgPT0gRVRIX0lOVEVSRlJBTUVHQVBfOTZCSVQpIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEdBUCkgPT0gRVRIX0lOVEVSRlJBTUVHQVBfODhCSVQpIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEdBUCkgPT0gRVRIX0lOVEVSRlJBTUVHQVBfODBCSVQpIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEdBUCkgPT0gRVRIX0lOVEVSRlJBTUVHQVBfNzJCSVQpIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEdBUCkgPT0gRVRIX0lOVEVSRlJBTUVHQVBfNjRCSVQpIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEdBUCkgPT0gRVRIX0lOVEVSRlJBTUVHQVBfNTZCSVQpIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEdBUCkgPT0gRVRIX0lOVEVSRlJBTUVHQVBfNDhCSVQpIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEdBUCkgPT0gRVRIX0lOVEVSRlJBTUVHQVBfNDBCSVQpKQotI2RlZmluZSBJU19FVEhfQ0FSUklFUl9TRU5TRShDTUQpICgoKENNRCkgPT0gRVRIX0NBUlJJRVJTRU5DRV9FTkFCTEUpIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChDTUQpID09IEVUSF9DQVJSSUVSU0VOQ0VfRElTQUJMRSkpCi0jZGVmaW5lIElTX0VUSF9SRUNFSVZFX09XTihDTUQpICgoKENNRCkgPT0gRVRIX1JFQ0VJVkVPV05fRU5BQkxFKSB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKENNRCkgPT0gRVRIX1JFQ0VJVkVPV05fRElTQUJMRSkpCi0jZGVmaW5lIElTX0VUSF9MT09QQkFDS19NT0RFKENNRCkgKCgoQ01EKSA9PSBFVEhfTE9PUEJBQ0tNT0RFX0VOQUJMRSkgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKENNRCkgPT0gRVRIX0xPT1BCQUNLTU9ERV9ESVNBQkxFKSkKLSNkZWZpbmUgSVNfRVRIX0NIRUNLU1VNX09GRkxPQUQoQ01EKSAoKChDTUQpID09IEVUSF9DSEVDS1NVTU9GRkxBT0RfRU5BQkxFKSB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQ01EKSA9PSBFVEhfQ0hFQ0tTVU1PRkZMQU9EX0RJU0FCTEUpKQotI2RlZmluZSBJU19FVEhfUkVUUllfVFJBTlNNSVNTSU9OKENNRCkgKCgoQ01EKSA9PSBFVEhfUkVUUllUUkFOU01JU1NJT05fRU5BQkxFKSB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChDTUQpID09IEVUSF9SRVRSWVRSQU5TTUlTU0lPTl9ESVNBQkxFKSkKLSNkZWZpbmUgSVNfRVRIX0FVVE9NQVRJQ19QQURDUkNfU1RSSVAoQ01EKSAoKChDTUQpID09IEVUSF9BVVRPTUFUSUNQQURDUkNTVFJJUF9FTkFCTEUpIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChDTUQpID09IEVUSF9BVVRPTUFUSUNQQURDUkNTVFJJUF9ESVNBQkxFKSkKLSNkZWZpbmUgSVNfRVRIX0JBQ0tPRkZfTElNSVQoTElNSVQpICgoKExJTUlUKSA9PSBFVEhfQkFDS09GRkxJTUlUXzEwKSB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChMSU1JVCkgPT0gRVRIX0JBQ0tPRkZMSU1JVF84KSB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChMSU1JVCkgPT0gRVRIX0JBQ0tPRkZMSU1JVF80KSB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChMSU1JVCkgPT0gRVRIX0JBQ0tPRkZMSU1JVF8xKSkKLSNkZWZpbmUgSVNfRVRIX0RFRkVSUkFMX0NIRUNLKENNRCkgKCgoQ01EKSA9PSBFVEhfREVGRkVSUkFMQ0hFQ0tfRU5BQkxFKSB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKENNRCkgPT0gRVRIX0RFRkZFUlJBTENIRUNLX0RJU0FCTEUpKQotI2RlZmluZSBJU19FVEhfUkVDRUlWRV9BTEwoQ01EKSAoKChDTUQpID09IEVUSF9SRUNFSVZFQUxMX0VOQUJMRSkgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChDTUQpID09IEVUSF9SRUNFSVZFQWxsX0RJU0FCTEUpKQotI2RlZmluZSBJU19FVEhfU09VUkNFX0FERFJfRklMVEVSKENNRCkgKCgoQ01EKSA9PSBFVEhfU09VUkNFQUREUkZJTFRFUl9OT1JNQUxfRU5BQkxFKSB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChDTUQpID09IEVUSF9TT1VSQ0VBRERSRklMVEVSX0lOVkVSU0VfRU5BQkxFKSB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChDTUQpID09IEVUSF9TT1VSQ0VBRERSRklMVEVSX0RJU0FCTEUpKQotI2RlZmluZSBJU19FVEhfQ09OVFJPTF9GUkFNRVMoUEFTUykgKCgoUEFTUykgPT0gRVRIX1BBU1NDT05UUk9MRlJBTUVTX0JMT0NLQUxMKSB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChQQVNTKSA9PSBFVEhfUEFTU0NPTlRST0xGUkFNRVNfRk9SV0FSREFMTCkgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoUEFTUykgPT0gRVRIX1BBU1NDT05UUk9MRlJBTUVTX0ZPUldBUkRQQVNTRURBRERSRklMVEVSKSkKLSNkZWZpbmUgSVNfRVRIX0JST0FEQ0FTVF9GUkFNRVNfUkVDRVBUSU9OKENNRCkgKCgoQ01EKSA9PSBFVEhfQlJPQURDQVNURlJBTUVTUkVDRVBUSU9OX0VOQUJMRSkgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChDTUQpID09IEVUSF9CUk9BRENBU1RGUkFNRVNSRUNFUFRJT05fRElTQUJMRSkpCi0jZGVmaW5lIElTX0VUSF9ERVNUSU5BVElPTl9BRERSX0ZJTFRFUihGSUxURVIpICgoKEZJTFRFUikgPT0gRVRIX0RFU1RJTkFUSU9OQUREUkZJTFRFUl9OT1JNQUwpIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoRklMVEVSKSA9PSBFVEhfREVTVElOQVRJT05BRERSRklMVEVSX0lOVkVSU0UpKQotI2RlZmluZSBJU19FVEhfUFJPTUlTQ1VPVVNfTU9ERShDTUQpICgoKENNRCkgPT0gRVRIX1BST01JU0NVT1VTX01PREVfRU5BQkxFKSB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQ01EKSA9PSBFVEhfUFJPTUlTQ1VPVVNfTU9ERV9ESVNBQkxFKSkKLSNkZWZpbmUgSVNfRVRIX01VTFRJQ0FTVF9GUkFNRVNfRklMVEVSKEZJTFRFUikgKCgoRklMVEVSKSA9PSBFVEhfTVVMVElDQVNURlJBTUVTRklMVEVSX1BFUkZFQ1RIQVNIVEFCTEUpIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoRklMVEVSKSA9PSBFVEhfTVVMVElDQVNURlJBTUVTRklMVEVSX0hBU0hUQUJMRSkgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChGSUxURVIpID09IEVUSF9NVUxUSUNBU1RGUkFNRVNGSUxURVJfUEVSRkVDVCkgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChGSUxURVIpID09IEVUSF9NVUxUSUNBU1RGUkFNRVNGSUxURVJfTk9ORSkpCi0jZGVmaW5lIElTX0VUSF9VTklDQVNUX0ZSQU1FU19GSUxURVIoRklMVEVSKSAoKChGSUxURVIpID09IEVUSF9VTklDQVNURlJBTUVTRklMVEVSX1BFUkZFQ1RIQVNIVEFCTEUpIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEZJTFRFUikgPT0gRVRIX1VOSUNBU1RGUkFNRVNGSUxURVJfSEFTSFRBQkxFKSB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChGSUxURVIpID09IEVUSF9VTklDQVNURlJBTUVTRklMVEVSX1BFUkZFQ1QpKQotI2RlZmluZSBJU19FVEhfUEFVU0VfVElNRShUSU1FKSAoKFRJTUUpIDw9IDB4RkZGRlUpCi0jZGVmaW5lIElTX0VUSF9aRVJPUVVBTlRBX1BBVVNFKENNRCkgICAoKChDTUQpID09IEVUSF9aRVJPUVVBTlRBUEFVU0VfRU5BQkxFKSB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChDTUQpID09IEVUSF9aRVJPUVVBTlRBUEFVU0VfRElTQUJMRSkpCi0jZGVmaW5lIElTX0VUSF9QQVVTRV9MT1dfVEhSRVNIT0xEKFRIUkVTSE9MRCkgKCgoVEhSRVNIT0xEKSA9PSBFVEhfUEFVU0VMT1dUSFJFU0hPTERfTUlOVVM0KSB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoVEhSRVNIT0xEKSA9PSBFVEhfUEFVU0VMT1dUSFJFU0hPTERfTUlOVVMyOCkgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKFRIUkVTSE9MRCkgPT0gRVRIX1BBVVNFTE9XVEhSRVNIT0xEX01JTlVTMTQ0KSB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoVEhSRVNIT0xEKSA9PSBFVEhfUEFVU0VMT1dUSFJFU0hPTERfTUlOVVMyNTYpKQotI2RlZmluZSBJU19FVEhfVU5JQ0FTVF9QQVVTRV9GUkFNRV9ERVRFQ1QoQ01EKSAoKChDTUQpID09IEVUSF9VTklDQVNUUEFVU0VGUkFNRURFVEVDVF9FTkFCTEUpIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQ01EKSA9PSBFVEhfVU5JQ0FTVFBBVVNFRlJBTUVERVRFQ1RfRElTQUJMRSkpCi0jZGVmaW5lIElTX0VUSF9SRUNFSVZFX0ZMT1dDT05UUk9MKENNRCkgKCgoQ01EKSA9PSBFVEhfUkVDRUlWRUZMT1dDT05UUk9MX0VOQUJMRSkgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKENNRCkgPT0gRVRIX1JFQ0VJVkVGTE9XQ09OVFJPTF9ESVNBQkxFKSkKLSNkZWZpbmUgSVNfRVRIX1RSQU5TTUlUX0ZMT1dDT05UUk9MKENNRCkgKCgoQ01EKSA9PSBFVEhfVFJBTlNNSVRGTE9XQ09OVFJPTF9FTkFCTEUpIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQ01EKSA9PSBFVEhfVFJBTlNNSVRGTE9XQ09OVFJPTF9ESVNBQkxFKSkKLSNkZWZpbmUgSVNfRVRIX1ZMQU5fVEFHX0NPTVBBUklTT04oQ09NUEFSSVNPTikgKCgoQ09NUEFSSVNPTikgPT0gRVRIX1ZMQU5UQUdDT01QQVJJU09OXzEyQklUKSB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKENPTVBBUklTT04pID09IEVUSF9WTEFOVEFHQ09NUEFSSVNPTl8xNkJJVCkpCi0jZGVmaW5lIElTX0VUSF9WTEFOX1RBR19JREVOVElGSUVSKElERU5USUZJRVIpICgoSURFTlRJRklFUikgPD0gMHhGRkZGVSkKLSNkZWZpbmUgSVNfRVRIX01BQ19BRERSRVNTMDEyMyhBRERSRVNTKSAoKChBRERSRVNTKSA9PSBFVEhfTUFDX0FERFJFU1MwKSB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQUREUkVTUykgPT0gRVRIX01BQ19BRERSRVNTMSkgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFERFJFU1MpID09IEVUSF9NQUNfQUREUkVTUzIpIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChBRERSRVNTKSA9PSBFVEhfTUFDX0FERFJFU1MzKSkKLSNkZWZpbmUgSVNfRVRIX01BQ19BRERSRVNTMTIzKEFERFJFU1MpICgoKEFERFJFU1MpID09IEVUSF9NQUNfQUREUkVTUzEpIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFERFJFU1MpID09IEVUSF9NQUNfQUREUkVTUzIpIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFERFJFU1MpID09IEVUSF9NQUNfQUREUkVTUzMpKQotI2RlZmluZSBJU19FVEhfTUFDX0FERFJFU1NfRklMVEVSKEZJTFRFUikgKCgoRklMVEVSKSA9PSBFVEhfTUFDX0FERFJFU1NGSUxURVJfU0EpIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEZJTFRFUikgPT0gRVRIX01BQ19BRERSRVNTRklMVEVSX0RBKSkKLSNkZWZpbmUgSVNfRVRIX01BQ19BRERSRVNTX01BU0soTUFTSykgKCgoTUFTSykgPT0gRVRIX01BQ19BRERSRVNTTUFTS19CWVRFNikgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChNQVNLKSA9PSBFVEhfTUFDX0FERFJFU1NNQVNLX0JZVEU1KSB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKE1BU0spID09IEVUSF9NQUNfQUREUkVTU01BU0tfQllURTQpIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoTUFTSykgPT0gRVRIX01BQ19BRERSRVNTTUFTS19CWVRFMykgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChNQVNLKSA9PSBFVEhfTUFDX0FERFJFU1NNQVNLX0JZVEUyKSB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKE1BU0spID09IEVUSF9NQUNfQUREUkVTU01BU0tfQllURTEpKQotI2RlZmluZSBJU19FVEhfRFJPUF9UQ1BJUF9DSEVDS1NVTV9GUkFNRShDTUQpICgoKENNRCkgPT0gRVRIX0RST1BUQ1BJUENIRUNLU1VNRVJST1JGUkFNRV9FTkFCTEUpIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChDTUQpID09IEVUSF9EUk9QVENQSVBDSEVDS1NVTUVSUk9SRlJBTUVfRElTQUJMRSkpCi0jZGVmaW5lIElTX0VUSF9SRUNFSVZFX1NUT1JFX0ZPUldBUkQoQ01EKSAoKChDTUQpID09IEVUSF9SRUNFSVZFU1RPUkVGT1JXQVJEX0VOQUJMRSkgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQ01EKSA9PSBFVEhfUkVDRUlWRVNUT1JFRk9SV0FSRF9ESVNBQkxFKSkKLSNkZWZpbmUgSVNfRVRIX0ZMVVNIX1JFQ0VJVkVfRlJBTUUoQ01EKSAoKChDTUQpID09IEVUSF9GTFVTSFJFQ0VJVkVERlJBTUVfRU5BQkxFKSB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQ01EKSA9PSBFVEhfRkxVU0hSRUNFSVZFREZSQU1FX0RJU0FCTEUpKQotI2RlZmluZSBJU19FVEhfVFJBTlNNSVRfU1RPUkVfRk9SV0FSRChDTUQpICgoKENNRCkgPT0gRVRIX1RSQU5TTUlUU1RPUkVGT1JXQVJEX0VOQUJMRSkgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKENNRCkgPT0gRVRIX1RSQU5TTUlUU1RPUkVGT1JXQVJEX0RJU0FCTEUpKQotI2RlZmluZSBJU19FVEhfVFJBTlNNSVRfVEhSRVNIT0xEX0NPTlRST0woVEhSRVNIT0xEKSAoKChUSFJFU0hPTEQpID09IEVUSF9UUkFOU01JVFRIUkVTSE9MRENPTlRST0xfNjRCWVRFUykgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChUSFJFU0hPTEQpID09IEVUSF9UUkFOU01JVFRIUkVTSE9MRENPTlRST0xfMTI4QllURVMpIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoVEhSRVNIT0xEKSA9PSBFVEhfVFJBTlNNSVRUSFJFU0hPTERDT05UUk9MXzE5MkJZVEVTKSB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKFRIUkVTSE9MRCkgPT0gRVRIX1RSQU5TTUlUVEhSRVNIT0xEQ09OVFJPTF8yNTZCWVRFUykgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChUSFJFU0hPTEQpID09IEVUSF9UUkFOU01JVFRIUkVTSE9MRENPTlRST0xfNDBCWVRFUykgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChUSFJFU0hPTEQpID09IEVUSF9UUkFOU01JVFRIUkVTSE9MRENPTlRST0xfMzJCWVRFUykgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChUSFJFU0hPTEQpID09IEVUSF9UUkFOU01JVFRIUkVTSE9MRENPTlRST0xfMjRCWVRFUykgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChUSFJFU0hPTEQpID09IEVUSF9UUkFOU01JVFRIUkVTSE9MRENPTlRST0xfMTZCWVRFUykpCi0jZGVmaW5lIElTX0VUSF9GT1JXQVJEX0VSUk9SX0ZSQU1FUyhDTUQpICgoKENNRCkgPT0gRVRIX0ZPUldBUkRFUlJPUkZSQU1FU19FTkFCTEUpIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQ01EKSA9PSBFVEhfRk9SV0FSREVSUk9SRlJBTUVTX0RJU0FCTEUpKQotI2RlZmluZSBJU19FVEhfRk9SV0FSRF9VTkRFUlNJWkVEX0dPT0RfRlJBTUVTKENNRCkgKCgoQ01EKSA9PSBFVEhfRk9SV0FSRFVOREVSU0laRURHT09ERlJBTUVTX0VOQUJMRSkgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQ01EKSA9PSBFVEhfRk9SV0FSRFVOREVSU0laRURHT09ERlJBTUVTX0RJU0FCTEUpKQotI2RlZmluZSBJU19FVEhfUkVDRUlWRV9USFJFU0hPTERfQ09OVFJPTChUSFJFU0hPTEQpICgoKFRIUkVTSE9MRCkgPT0gRVRIX1JFQ0VJVkVEVEhSRVNIT0xEQ09OVFJPTF82NEJZVEVTKSB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoVEhSRVNIT0xEKSA9PSBFVEhfUkVDRUlWRURUSFJFU0hPTERDT05UUk9MXzMyQllURVMpIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChUSFJFU0hPTEQpID09IEVUSF9SRUNFSVZFRFRIUkVTSE9MRENPTlRST0xfOTZCWVRFUykgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKFRIUkVTSE9MRCkgPT0gRVRIX1JFQ0VJVkVEVEhSRVNIT0xEQ09OVFJPTF8xMjhCWVRFUykpCi0jZGVmaW5lIElTX0VUSF9TRUNPTkRfRlJBTUVfT1BFUkFURShDTUQpICgoKENNRCkgPT0gRVRIX1NFQ09OREZSQU1FT1BFUkFSVEVfRU5BQkxFKSB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKENNRCkgPT0gRVRIX1NFQ09OREZSQU1FT1BFUkFSVEVfRElTQUJMRSkpCi0jZGVmaW5lIElTX0VUSF9BRERSRVNTX0FMSUdORURfQkVBVFMoQ01EKSAoKChDTUQpID09IEVUSF9BRERSRVNTQUxJR05FREJFQVRTX0VOQUJMRSkgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQ01EKSA9PSBFVEhfQUREUkVTU0FMSUdORURCRUFUU19ESVNBQkxFKSkKLSNkZWZpbmUgSVNfRVRIX0ZJWEVEX0JVUlNUKENNRCkgKCgoQ01EKSA9PSBFVEhfRklYRURCVVJTVF9FTkFCTEUpIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQ01EKSA9PSBFVEhfRklYRURCVVJTVF9ESVNBQkxFKSkKLSNkZWZpbmUgSVNfRVRIX1JYRE1BX0JVUlNUX0xFTkdUSChMRU5HVEgpICgoKExFTkdUSCkgPT0gRVRIX1JYRE1BQlVSU1RMRU5HVEhfMUJFQVQpIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKExFTkdUSCkgPT0gRVRIX1JYRE1BQlVSU1RMRU5HVEhfMkJFQVQpIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKExFTkdUSCkgPT0gRVRIX1JYRE1BQlVSU1RMRU5HVEhfNEJFQVQpIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKExFTkdUSCkgPT0gRVRIX1JYRE1BQlVSU1RMRU5HVEhfOEJFQVQpIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKExFTkdUSCkgPT0gRVRIX1JYRE1BQlVSU1RMRU5HVEhfMTZCRUFUKSB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChMRU5HVEgpID09IEVUSF9SWERNQUJVUlNUTEVOR1RIXzMyQkVBVCkgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoTEVOR1RIKSA9PSBFVEhfUlhETUFCVVJTVExFTkdUSF80WFBCTF80QkVBVCkgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoTEVOR1RIKSA9PSBFVEhfUlhETUFCVVJTVExFTkdUSF80WFBCTF84QkVBVCkgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoTEVOR1RIKSA9PSBFVEhfUlhETUFCVVJTVExFTkdUSF80WFBCTF8xNkJFQVQpIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKExFTkdUSCkgPT0gRVRIX1JYRE1BQlVSU1RMRU5HVEhfNFhQQkxfMzJCRUFUKSB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChMRU5HVEgpID09IEVUSF9SWERNQUJVUlNUTEVOR1RIXzRYUEJMXzY0QkVBVCkgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoTEVOR1RIKSA9PSBFVEhfUlhETUFCVVJTVExFTkdUSF80WFBCTF8xMjhCRUFUKSkKLSNkZWZpbmUgSVNfRVRIX1RYRE1BX0JVUlNUX0xFTkdUSChMRU5HVEgpICgoKExFTkdUSCkgPT0gRVRIX1RYRE1BQlVSU1RMRU5HVEhfMUJFQVQpIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKExFTkdUSCkgPT0gRVRIX1RYRE1BQlVSU1RMRU5HVEhfMkJFQVQpIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKExFTkdUSCkgPT0gRVRIX1RYRE1BQlVSU1RMRU5HVEhfNEJFQVQpIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKExFTkdUSCkgPT0gRVRIX1RYRE1BQlVSU1RMRU5HVEhfOEJFQVQpIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKExFTkdUSCkgPT0gRVRIX1RYRE1BQlVSU1RMRU5HVEhfMTZCRUFUKSB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChMRU5HVEgpID09IEVUSF9UWERNQUJVUlNUTEVOR1RIXzMyQkVBVCkgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoTEVOR1RIKSA9PSBFVEhfVFhETUFCVVJTVExFTkdUSF80WFBCTF80QkVBVCkgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoTEVOR1RIKSA9PSBFVEhfVFhETUFCVVJTVExFTkdUSF80WFBCTF84QkVBVCkgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoTEVOR1RIKSA9PSBFVEhfVFhETUFCVVJTVExFTkdUSF80WFBCTF8xNkJFQVQpIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKExFTkdUSCkgPT0gRVRIX1RYRE1BQlVSU1RMRU5HVEhfNFhQQkxfMzJCRUFUKSB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChMRU5HVEgpID09IEVUSF9UWERNQUJVUlNUTEVOR1RIXzRYUEJMXzY0QkVBVCkgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoTEVOR1RIKSA9PSBFVEhfVFhETUFCVVJTVExFTkdUSF80WFBCTF8xMjhCRUFUKSkKLSNkZWZpbmUgSVNfRVRIX0RNQV9ERVNDX1NLSVBfTEVOR1RIKExFTkdUSCkgKChMRU5HVEgpIDw9IDB4MUZVKQotI2RlZmluZSBJU19FVEhfRE1BX0FSQklUUkFUSU9OX1JPVU5EUk9CSU5fUlhUWChSQVRJTykgKCgoUkFUSU8pID09IEVUSF9ETUFBUkJJVFJBVElPTl9ST1VORFJPQklOX1JYVFhfMV8xKSB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChSQVRJTykgPT0gRVRIX0RNQUFSQklUUkFUSU9OX1JPVU5EUk9CSU5fUlhUWF8yXzEpIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKFJBVElPKSA9PSBFVEhfRE1BQVJCSVRSQVRJT05fUk9VTkRST0JJTl9SWFRYXzNfMSkgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoUkFUSU8pID09IEVUSF9ETUFBUkJJVFJBVElPTl9ST1VORFJPQklOX1JYVFhfNF8xKSB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChSQVRJTykgPT0gRVRIX0RNQUFSQklUUkFUSU9OX1JYUFJJT1JUWCkpCi0jZGVmaW5lIElTX0VUSF9ETUFUWERFU0NfR0VUX0ZMQUcoRkxBRykgKCgoRkxBRykgPT0gRVRIX0RNQVRYREVTQ19PV04pIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChGTEFHKSA9PSBFVEhfRE1BVFhERVNDX0lDKSB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoRkxBRykgPT0gRVRIX0RNQVRYREVTQ19MUykgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEZMQUcpID09IEVUSF9ETUFUWERFU0NfRlMpIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChGTEFHKSA9PSBFVEhfRE1BVFhERVNDX0RDKSB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoRkxBRykgPT0gRVRIX0RNQVRYREVTQ19EUCkgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEZMQUcpID09IEVUSF9ETUFUWERFU0NfVFRTRSkgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEZMQUcpID09IEVUSF9ETUFUWERFU0NfVEVSKSB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoRkxBRykgPT0gRVRIX0RNQVRYREVTQ19UQ0gpIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChGTEFHKSA9PSBFVEhfRE1BVFhERVNDX1RUU1MpIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChGTEFHKSA9PSBFVEhfRE1BVFhERVNDX0lIRSkgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEZMQUcpID09IEVUSF9ETUFUWERFU0NfRVMpIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChGTEFHKSA9PSBFVEhfRE1BVFhERVNDX0pUKSB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoRkxBRykgPT0gRVRIX0RNQVRYREVTQ19GRikgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEZMQUcpID09IEVUSF9ETUFUWERFU0NfUENFKSB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoRkxBRykgPT0gRVRIX0RNQVRYREVTQ19MQ0EpIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChGTEFHKSA9PSBFVEhfRE1BVFhERVNDX05DKSB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoRkxBRykgPT0gRVRIX0RNQVRYREVTQ19MQ08pIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChGTEFHKSA9PSBFVEhfRE1BVFhERVNDX0VDKSB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoRkxBRykgPT0gRVRIX0RNQVRYREVTQ19WRikgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEZMQUcpID09IEVUSF9ETUFUWERFU0NfQ0MpIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChGTEFHKSA9PSBFVEhfRE1BVFhERVNDX0VEKSB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoRkxBRykgPT0gRVRIX0RNQVRYREVTQ19VRikgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEZMQUcpID09IEVUSF9ETUFUWERFU0NfREIpKQotI2RlZmluZSBJU19FVEhfRE1BX1RYREVTQ19TRUdNRU5UKFNFR01FTlQpICgoKFNFR01FTlQpID09IEVUSF9ETUFUWERFU0NfTEFTVFNFR01FTlRTKSB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoU0VHTUVOVCkgPT0gRVRIX0RNQVRYREVTQ19GSVJTVFNFR01FTlQpKQotI2RlZmluZSBJU19FVEhfRE1BX1RYREVTQ19DSEVDS1NVTShDSEVDS1NVTSkgKCgoQ0hFQ0tTVU0pID09IEVUSF9ETUFUWERFU0NfQ0hFQ0tTVU1CWVBBU1MpIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKENIRUNLU1VNKSA9PSBFVEhfRE1BVFhERVNDX0NIRUNLU1VNSVBWNEhFQURFUikgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQ0hFQ0tTVU0pID09IEVUSF9ETUFUWERFU0NfQ0hFQ0tTVU1UQ1BVRFBJQ01QU0VHTUVOVCkgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQ0hFQ0tTVU0pID09IEVUSF9ETUFUWERFU0NfQ0hFQ0tTVU1UQ1BVRFBJQ01QRlVMTCkpCi0jZGVmaW5lIElTX0VUSF9ETUFUWERFU0NfQlVGRkVSX1NJWkUoU0laRSkgKChTSVpFKSA8PSAweDFGRkZVKQotI2RlZmluZSBJU19FVEhfRE1BUlhERVNDX0dFVF9GTEFHKEZMQUcpICgoKEZMQUcpID09IEVUSF9ETUFSWERFU0NfT1dOKSB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoRkxBRykgPT0gRVRIX0RNQVJYREVTQ19BRk0pIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChGTEFHKSA9PSBFVEhfRE1BUlhERVNDX0VTKSB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoRkxBRykgPT0gRVRIX0RNQVJYREVTQ19ERSkgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEZMQUcpID09IEVUSF9ETUFSWERFU0NfU0FGKSB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoRkxBRykgPT0gRVRIX0RNQVJYREVTQ19MRSkgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEZMQUcpID09IEVUSF9ETUFSWERFU0NfT0UpIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChGTEFHKSA9PSBFVEhfRE1BUlhERVNDX1ZMQU4pIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChGTEFHKSA9PSBFVEhfRE1BUlhERVNDX0ZTKSB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoRkxBRykgPT0gRVRIX0RNQVJYREVTQ19MUykgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEZMQUcpID09IEVUSF9ETUFSWERFU0NfSVBWNEhDRSkgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEZMQUcpID09IEVUSF9ETUFSWERFU0NfTEMpIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChGTEFHKSA9PSBFVEhfRE1BUlhERVNDX0ZUKSB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoRkxBRykgPT0gRVRIX0RNQVJYREVTQ19SV1QpIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChGTEFHKSA9PSBFVEhfRE1BUlhERVNDX1JFKSB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoRkxBRykgPT0gRVRIX0RNQVJYREVTQ19EQkUpIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChGTEFHKSA9PSBFVEhfRE1BUlhERVNDX0NFKSB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoRkxBRykgPT0gRVRIX0RNQVJYREVTQ19NQU1QQ0UpKQotI2RlZmluZSBJU19FVEhfRE1BX1JYREVTQ19CVUZGRVIoQlVGRkVSKSAoKChCVUZGRVIpID09IEVUSF9ETUFSWERFU0NfQlVGRkVSMSkgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChCVUZGRVIpID09IEVUSF9ETUFSWERFU0NfQlVGRkVSMikpCi0jZGVmaW5lIElTX0VUSF9QTVRfR0VUX0ZMQUcoRkxBRykgKCgoRkxBRykgPT0gRVRIX1BNVF9GTEFHX1dVRlIpIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChGTEFHKSA9PSBFVEhfUE1UX0ZMQUdfTVBSKSkKLSNkZWZpbmUgSVNfRVRIX0RNQV9GTEFHKEZMQUcpICgoKChGTEFHKSAmIDB4QzdGRTE4MDBVKSA9PSAweDAwVSkgJiYgKChGTEFHKSAhPSAweDAwVSkpIAotI2RlZmluZSBJU19FVEhfRE1BX0dFVF9GTEFHKEZMQUcpICgoKEZMQUcpID09IEVUSF9ETUFfRkxBR19UU1QpIHx8ICgoRkxBRykgPT0gRVRIX0RNQV9GTEFHX1BNVCkgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEZMQUcpID09IEVUSF9ETUFfRkxBR19NTUMpIHx8ICgoRkxBRykgPT0gRVRIX0RNQV9GTEFHX0RBVEFUUkFOU0ZFUkVSUk9SKSB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoRkxBRykgPT0gRVRIX0RNQV9GTEFHX1JFQURXUklURUVSUk9SKSB8fCAoKEZMQUcpID09IEVUSF9ETUFfRkxBR19BQ0NFU1NFUlJPUikgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEZMQUcpID09IEVUSF9ETUFfRkxBR19OSVMpIHx8ICgoRkxBRykgPT0gRVRIX0RNQV9GTEFHX0FJUykgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEZMQUcpID09IEVUSF9ETUFfRkxBR19FUikgfHwgKChGTEFHKSA9PSBFVEhfRE1BX0ZMQUdfRkJFKSB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoRkxBRykgPT0gRVRIX0RNQV9GTEFHX0VUKSB8fCAoKEZMQUcpID09IEVUSF9ETUFfRkxBR19SV1QpIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChGTEFHKSA9PSBFVEhfRE1BX0ZMQUdfUlBTKSB8fCAoKEZMQUcpID09IEVUSF9ETUFfRkxBR19SQlUpIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChGTEFHKSA9PSBFVEhfRE1BX0ZMQUdfUikgfHwgKChGTEFHKSA9PSBFVEhfRE1BX0ZMQUdfVFUpIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChGTEFHKSA9PSBFVEhfRE1BX0ZMQUdfUk8pIHx8ICgoRkxBRykgPT0gRVRIX0RNQV9GTEFHX1RKVCkgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEZMQUcpID09IEVUSF9ETUFfRkxBR19UQlUpIHx8ICgoRkxBRykgPT0gRVRIX0RNQV9GTEFHX1RQUykgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEZMQUcpID09IEVUSF9ETUFfRkxBR19UKSkKLSNkZWZpbmUgSVNfRVRIX01BQ19JVChJVCkgKCgoKElUKSAmIDB4RkZGRkZERjFVKSA9PSAweDAwVSkgJiYgKChJVCkgIT0gMHgwMFUpKQotI2RlZmluZSBJU19FVEhfTUFDX0dFVF9JVChJVCkgKCgoSVQpID09IEVUSF9NQUNfSVRfVFNUKSB8fCAoKElUKSA9PSBFVEhfTUFDX0lUX01NQ1QpIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElUKSA9PSBFVEhfTUFDX0lUX01NQ1IpIHx8ICgoSVQpID09IEVUSF9NQUNfSVRfTU1DKSB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJVCkgPT0gRVRIX01BQ19JVF9QTVQpKQotI2RlZmluZSBJU19FVEhfTUFDX0dFVF9GTEFHKEZMQUcpICgoKEZMQUcpID09IEVUSF9NQUNfRkxBR19UU1QpIHx8ICgoRkxBRykgPT0gRVRIX01BQ19GTEFHX01NQ1QpIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChGTEFHKSA9PSBFVEhfTUFDX0ZMQUdfTU1DUikgfHwgKChGTEFHKSA9PSBFVEhfTUFDX0ZMQUdfTU1DKSB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoRkxBRykgPT0gRVRIX01BQ19GTEFHX1BNVCkpCi0jZGVmaW5lIElTX0VUSF9ETUFfSVQoSVQpICgoKChJVCkgJiAweEM3RkUxODAwVSkgPT0gMHgwMFUpICYmICgoSVQpICE9IDB4MDBVKSkKLSNkZWZpbmUgSVNfRVRIX0RNQV9HRVRfSVQoSVQpICgoKElUKSA9PSBFVEhfRE1BX0lUX1RTVCkgfHwgKChJVCkgPT0gRVRIX0RNQV9JVF9QTVQpIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElUKSA9PSBFVEhfRE1BX0lUX01NQykgfHwgKChJVCkgPT0gRVRIX0RNQV9JVF9OSVMpIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElUKSA9PSBFVEhfRE1BX0lUX0FJUykgfHwgKChJVCkgPT0gRVRIX0RNQV9JVF9FUikgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSVQpID09IEVUSF9ETUFfSVRfRkJFKSB8fCAoKElUKSA9PSBFVEhfRE1BX0lUX0VUKSB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJVCkgPT0gRVRIX0RNQV9JVF9SV1QpIHx8ICgoSVQpID09IEVUSF9ETUFfSVRfUlBTKSB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJVCkgPT0gRVRIX0RNQV9JVF9SQlUpIHx8ICgoSVQpID09IEVUSF9ETUFfSVRfUikgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSVQpID09IEVUSF9ETUFfSVRfVFUpIHx8ICgoSVQpID09IEVUSF9ETUFfSVRfUk8pIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElUKSA9PSBFVEhfRE1BX0lUX1RKVCkgfHwgKChJVCkgPT0gRVRIX0RNQV9JVF9UQlUpIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElUKSA9PSBFVEhfRE1BX0lUX1RQUykgfHwgKChJVCkgPT0gRVRIX0RNQV9JVF9UKSkKLSNkZWZpbmUgSVNfRVRIX0RNQV9HRVRfT1ZFUkZMT1coT1ZFUkZMT1cpICgoKE9WRVJGTE9XKSA9PSBFVEhfRE1BX09WRVJGTE9XX1JYRklGT0NPVU5URVIpIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKE9WRVJGTE9XKSA9PSBFVEhfRE1BX09WRVJGTE9XX01JU1NFREZSQU1FQ09VTlRFUikpCi0jZGVmaW5lIElTX0VUSF9NTUNfSVQoSVQpICgoKCgoSVQpICYgMHhGRkRGM0ZGRlUpID09IDB4MDBVKSB8fCAoKChJVCkgJiAweEVGRkRGRjlGVSkgPT0gMHgwMFUpKSAmJiBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAoKElUKSAhPSAweDAwVSkpCi0jZGVmaW5lIElTX0VUSF9NTUNfR0VUX0lUKElUKSAoKChJVCkgPT0gRVRIX01NQ19JVF9UR0YpIHx8ICgoSVQpID09IEVUSF9NTUNfSVRfVEdGTVNDKSB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJVCkgPT0gRVRIX01NQ19JVF9UR0ZTQykgfHwgKChJVCkgPT0gRVRIX01NQ19JVF9SR1VGKSB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJVCkgPT0gRVRIX01NQ19JVF9SRkFFKSB8fCAoKElUKSA9PSBFVEhfTU1DX0lUX1JGQ0UpKQotI2RlZmluZSBJU19FVEhfRU5IQU5DRURfREVTQ1JJUFRPUl9GT1JNQVQoQ01EKSAoKChDTUQpID09IEVUSF9ETUFFTkhBTkNFRERFU0NSSVBUT1JfRU5BQkxFKSB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKENNRCkgPT0gRVRIX0RNQUVOSEFOQ0VEREVTQ1JJUFRPUl9ESVNBQkxFKSkKLQotLyoqCi0gICogQH0KICAgKi8KIAotLyoqIEBhZGR0b2dyb3VwIEVUSF9Qcml2YXRlX0RlZmluZXMKLSAgKiBAewotICAqLwotLyogRGVsYXkgdG8gd2FpdCB3aGVuIHdyaXRpbmcgdG8gc29tZSBFdGhlcm5ldCByZWdpc3RlcnMgKi8KLSNkZWZpbmUgRVRIX1JFR19XUklURV9ERUxBWSAgICAgMHgwMDAwMDAwMVUKKy8qIEV4cG9ydGVkIHR5cGVzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisjaWZuZGVmIEVUSF9UWF9ERVNDX0NOVAorI2RlZmluZSBFVEhfVFhfREVTQ19DTlQgICAgICAgICA0VQorI2VuZGlmIC8qIEVUSF9UWF9ERVNDX0NOVCAqLwogCi0vKiBFVEhFUk5FVCBFcnJvcnMgKi8KLSNkZWZpbmUgIEVUSF9TVUNDRVNTICAgICAgICAgICAgMFUKLSNkZWZpbmUgIEVUSF9FUlJPUiAgICAgICAgICAgICAgMVUKKyNpZm5kZWYgRVRIX1JYX0RFU0NfQ05UCisjZGVmaW5lIEVUSF9SWF9ERVNDX0NOVCAgICAgICAgIDRVCisjZW5kaWYgLyogRVRIX1JYX0RFU0NfQ05UICovCiAKLS8qIEVUSEVSTkVUIERNQSBUeCBkZXNjcmlwdG9ycyBDb2xsaXNpb24gQ291bnQgU2hpZnQgKi8KLSNkZWZpbmUgIEVUSF9ETUFUWERFU0NfQ09MTElTSU9OX0NPVU5UU0hJRlQgICAgICAgIDNVCiAKLS8qIEVUSEVSTkVUIERNQSBUeCBkZXNjcmlwdG9ycyBCdWZmZXIyIFNpemUgU2hpZnQgKi8KLSNkZWZpbmUgIEVUSF9ETUFUWERFU0NfQlVGRkVSMl9TSVpFU0hJRlQgICAgICAgICAgIDE2VQotCi0vKiBFVEhFUk5FVCBETUEgUnggZGVzY3JpcHRvcnMgRnJhbWUgTGVuZ3RoIFNoaWZ0ICovCi0jZGVmaW5lICBFVEhfRE1BUlhERVNDX0ZSQU1FX0xFTkdUSFNISUZUICAgICAgICAgICAxNlUKLQotLyogRVRIRVJORVQgRE1BIFJ4IGRlc2NyaXB0b3JzIEJ1ZmZlcjIgU2l6ZSBTaGlmdCAqLwotI2RlZmluZSAgRVRIX0RNQVJYREVTQ19CVUZGRVIyX1NJWkVTSElGVCAgICAgICAgICAgMTZVCi0KLS8qIEVUSEVSTkVUIERNQSBSeCBkZXNjcmlwdG9ycyBGcmFtZSBsZW5ndGggU2hpZnQgKi8KLSNkZWZpbmUgIEVUSF9ETUFSWERFU0NfRlJBTUVMRU5HVEhTSElGVCAgICAgICAgICAgIDE2VQotCi0vKiBFVEhFUk5FVCBNQUMgYWRkcmVzcyBvZmZzZXRzICovCi0jZGVmaW5lIEVUSF9NQUNfQUREUl9IQkFTRSAgICAodWludDMyX3QpKEVUSF9NQUNfQkFTRSArIDB4NDBVKSAgLyogRVRIRVJORVQgTUFDIGFkZHJlc3MgaGlnaCBvZmZzZXQgKi8KLSNkZWZpbmUgRVRIX01BQ19BRERSX0xCQVNFICAgICh1aW50MzJfdCkoRVRIX01BQ19CQVNFICsgMHg0NFUpICAvKiBFVEhFUk5FVCBNQUMgYWRkcmVzcyBsb3cgb2Zmc2V0ICovCi0KLS8qIEVUSEVSTkVUIE1BQ01JSUFSIHJlZ2lzdGVyIE1hc2sgKi8KLSNkZWZpbmUgRVRIX01BQ01JSUFSX0NSX01BU0sgICAgMHhGRkZGRkZFM1UKLQotLyogRVRIRVJORVQgTUFDQ1IgcmVnaXN0ZXIgTWFzayAqLwotI2RlZmluZSBFVEhfTUFDQ1JfQ0xFQVJfTUFTSyAgICAweEZGMjA4MTBGVQotCi0vKiBFVEhFUk5FVCBNQUNGQ1IgcmVnaXN0ZXIgTWFzayAqLwotI2RlZmluZSBFVEhfTUFDRkNSX0NMRUFSX01BU0sgICAweDAwMDBGRjQxVQotCi0vKiBFVEhFUk5FVCBETUFPTVIgcmVnaXN0ZXIgTWFzayAqLwotI2RlZmluZSBFVEhfRE1BT01SX0NMRUFSX01BU0sgICAweEY4REUzRjIzVQotCi0vKiBFVEhFUk5FVCBSZW1vdGUgV2FrZS11cCBmcmFtZSByZWdpc3RlciBsZW5ndGggKi8KLSNkZWZpbmUgRVRIX1dBS0VVUF9SRUdJU1RFUl9MRU5HVEggICAgICA4VQotCi0vKiBFVEhFUk5FVCBNaXNzZWQgZnJhbWVzIGNvdW50ZXIgU2hpZnQgKi8KLSNkZWZpbmUgIEVUSF9ETUFfUlhfT1ZFUkZMT1dfTUlTU0VERlJBTUVTX0NPVU5URVJTSElGVCAgICAgMTdVCi0gLyoqCi0gICogQH0KLSAgKi8KLQotLyogRXhwb3J0ZWQgdHlwZXMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8gCisvKioqKioqKioqKioqKioqKioqKioqKiogRGVzY3JpcHRvcnMgc3RydWN0IGRlZiBzZWN0aW9uICoqKioqKioqKioqKioqKioqKioqKioqKi8KIC8qKiBAZGVmZ3JvdXAgRVRIX0V4cG9ydGVkX1R5cGVzIEVUSCBFeHBvcnRlZCBUeXBlcwogICAqIEB7CiAgICovCiAKLS8qKiAKLSAgKiBAYnJpZWYgIEhBTCBTdGF0ZSBzdHJ1Y3R1cmVzIGRlZmluaXRpb24gIAotICAqLyAKLXR5cGVkZWYgZW51bQotewotICBIQUxfRVRIX1NUQVRFX1JFU0VUICAgICAgICAgICAgID0gMHgwMFUsICAgIC8qITwgUGVyaXBoZXJhbCBub3QgeWV0IEluaXRpYWxpemVkIG9yIGRpc2FibGVkICAgICAgICAgKi8KLSAgSEFMX0VUSF9TVEFURV9SRUFEWSAgICAgICAgICAgICA9IDB4MDFVLCAgICAvKiE8IFBlcmlwaGVyYWwgSW5pdGlhbGl6ZWQgYW5kIHJlYWR5IGZvciB1c2UgICAgICAgICAgICovCi0gIEhBTF9FVEhfU1RBVEVfQlVTWSAgICAgICAgICAgICAgPSAweDAyVSwgICAgLyohPCBhbiBpbnRlcm5hbCBwcm9jZXNzIGlzIG9uZ29pbmcgICAgICAgICAgICAgICAgICAgICAqLwotICBIQUxfRVRIX1NUQVRFX0JVU1lfVFggICAgICAgICAgID0gMHgxMlUsICAgIC8qITwgRGF0YSBUcmFuc21pc3Npb24gcHJvY2VzcyBpcyBvbmdvaW5nICAgICAgICAgICAgICAgKi8KLSAgSEFMX0VUSF9TVEFURV9CVVNZX1JYICAgICAgICAgICA9IDB4MjJVLCAgICAvKiE8IERhdGEgUmVjZXB0aW9uIHByb2Nlc3MgaXMgb25nb2luZyAgICAgICAgICAgICAgICAgICovCi0gIEhBTF9FVEhfU1RBVEVfQlVTWV9UWF9SWCAgICAgICAgPSAweDMyVSwgICAgLyohPCBEYXRhIFRyYW5zbWlzc2lvbiBhbmQgUmVjZXB0aW9uIHByb2Nlc3MgaXMgb25nb2luZyAqLwotICBIQUxfRVRIX1NUQVRFX0JVU1lfV1IgICAgICAgICAgID0gMHg0MlUsICAgIC8qITwgV3JpdGUgcHJvY2VzcyBpcyBvbmdvaW5nICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KLSAgSEFMX0VUSF9TVEFURV9CVVNZX1JEICAgICAgICAgICA9IDB4ODJVLCAgICAvKiE8IFJlYWQgcHJvY2VzcyBpcyBvbmdvaW5nICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCi0gIEhBTF9FVEhfU1RBVEVfVElNRU9VVCAgICAgICAgICAgPSAweDAzVSwgICAgLyohPCBUaW1lb3V0IHN0YXRlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLwotICBIQUxfRVRIX1NUQVRFX0VSUk9SICAgICAgICAgICAgID0gMHgwNFUgICAgIC8qITwgUmVjZXB0aW9uIHByb2Nlc3MgaXMgb25nb2luZyAgICAgICAgICAgICAgICAgICAgICAgKi8KLX1IQUxfRVRIX1N0YXRlVHlwZURlZjsKLQotLyoqIAotICAqIEBicmllZiAgRVRIIEluaXQgU3RydWN0dXJlIGRlZmluaXRpb24gIAorLyoqCisgICogQGJyaWVmICBFVEggRE1BIERlc2NyaXB0b3Igc3RydWN0dXJlIGRlZmluaXRpb24KICAgKi8KLQogdHlwZWRlZiBzdHJ1Y3QKIHsKLSAgdWludDMyX3QgICAgICAgICAgICAgQXV0b05lZ290aWF0aW9uOyAgICAgICAgICAgLyohPCBTZWxlY3RzIG9yIG5vdCB0aGUgQXV0b05lZ290aWF0aW9uIG1vZGUgZm9yIHRoZSBleHRlcm5hbCBQSFkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhlIEF1dG9OZWdvdGlhdGlvbiBhbGxvd3MgYW4gYXV0b21hdGljIHNldHRpbmcgb2YgdGhlIFNwZWVkICgxMC8xMDBNYnBzKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgdGhlIG1vZGUgKGhhbGYvZnVsbC1kdXBsZXgpLgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYSB2YWx1ZSBvZiBAcmVmIEVUSF9BdXRvTmVnb3RpYXRpb24gKi8KKyAgX19JTyB1aW50MzJfdCBERVNDMDsKKyAgX19JTyB1aW50MzJfdCBERVNDMTsKKyAgX19JTyB1aW50MzJfdCBERVNDMjsKKyAgX19JTyB1aW50MzJfdCBERVNDMzsKKyAgX19JTyB1aW50MzJfdCBERVNDNDsKKyAgX19JTyB1aW50MzJfdCBERVNDNTsKKyAgX19JTyB1aW50MzJfdCBERVNDNjsKKyAgX19JTyB1aW50MzJfdCBERVNDNzsKKyAgdWludDMyX3QgQmFja3VwQWRkcjA7IC8qIHVzZWQgdG8gc3RvcmUgcnggYnVmZmVyIDEgYWRkcmVzcyAqLworICB1aW50MzJfdCBCYWNrdXBBZGRyMTsgLyogdXNlZCB0byBzdG9yZSByeCBidWZmZXIgMiBhZGRyZXNzICovCit9IEVUSF9ETUFEZXNjVHlwZURlZjsKKy8qKgorICAqCisgICovCiAKLSAgdWludDMyX3QgICAgICAgICAgICAgU3BlZWQ7ICAgICAgICAgICAgICAgICAgICAgLyohPCBTZXRzIHRoZSBFdGhlcm5ldCBzcGVlZDogMTAvMTAwIE1icHMuCisvKioKKyAgKiBAYnJpZWYgIEVUSCBCdWZmZXJzIExpc3Qgc3RydWN0dXJlIGRlZmluaXRpb24KKyAgKi8KK3R5cGVkZWYgc3RydWN0IF9fRVRIX0J1ZmZlclR5cGVEZWYKK3sKKyAgdWludDhfdCAqYnVmZmVyOyAgICAgICAgICAgICAgICAvKjwhIGJ1ZmZlciBhZGRyZXNzICovCisKKyAgdWludDMyX3QgbGVuOyAgICAgICAgICAgICAgICAgICAvKjwhIGJ1ZmZlciBsZW5ndGggKi8KKworICBzdHJ1Y3QgX19FVEhfQnVmZmVyVHlwZURlZiAqbmV4dDsgLyo8ISBQb2ludGVyIHRvIHRoZSBuZXh0IGJ1ZmZlciBpbiB0aGUgbGlzdCAqLworfSBFVEhfQnVmZmVyVHlwZURlZjsKKy8qKgorICAqCisgICovCisKKy8qKgorICAqIEBicmllZiAgRE1BIFRyYW5zbWl0IERlc2NyaXB0b3JzIFdyYXBwZXIgc3RydWN0dXJlIGRlZmluaXRpb24KKyAgKi8KK3R5cGVkZWYgc3RydWN0Cit7CisgIHVpbnQzMl90ICBUeERlc2NbRVRIX1RYX0RFU0NfQ05UXTsgICAgICAgIC8qPCEgVHggRE1BIGRlc2NyaXB0b3JzIGFkZHJlc3NlcyAqLworCisgIHVpbnQzMl90ICBDdXJUeERlc2M7ICAgICAgICAgICAgICAgICAgICAgIC8qPCEgQ3VycmVudCBUeCBkZXNjcmlwdG9yIGluZGV4IGZvciBwYWNrZXQgdHJhbnNtaXNzaW9uICovCisKKyAgdWludDMyX3QgKlBhY2tldEFkZHJlc3NbRVRIX1RYX0RFU0NfQ05UXTsgIC8qPCEgRXRoZXJuZXQgcGFja2V0IGFkZHJlc3NlcyBhcnJheSAqLworCisgIHVpbnQzMl90ICpDdXJyZW50UGFja2V0QWRkcmVzczsgICAgICAgICAgIC8qPCEgQ3VycmVudCB0cmFuc21pdCBOWF9QQUNLRVQgYWRkcmVzc2VzICovCisKKyAgdWludDMyX3QgQnVmZmVyc0luVXNlOyAgICAgICAgICAgICAgICAgICAvKjwhIEJ1ZmZlcnMgaW4gVXNlICovCisKKyAgdWludDMyX3QgcmVsZWFzZUluZGV4OyAgICAgICAgICAgICAgICAgIC8qPCEgUmVsZWFzZSBpbmRleCAqLworfSBFVEhfVHhEZXNjTGlzdFR5cGVEZWY7CisvKioKKyAgKgorICAqLworCisvKioKKyAgKiBAYnJpZWYgIFRyYW5zbWl0IFBhY2tldCBDb25maWd1cmF0aW9uIHN0cnVjdHVyZSBkZWZpbml0aW9uCisgICovCit0eXBlZGVmIHN0cnVjdAoreworICB1aW50MzJfdCBBdHRyaWJ1dGVzOyAgICAgICAgICAgICAgLyohPCBUeCBwYWNrZXQgSFcgZmVhdHVyZXMgY2FwYWJpbGl0aWVzLgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYSBjb21iaW5hdGlvbiBvZiBAcmVmIEVUSF9UeF9QYWNrZXRfQXR0cmlidXRlcyovCisKKyAgdWludDMyX3QgTGVuZ3RoOyAgICAgICAgICAgICAgICAgIC8qITwgVG90YWwgcGFja2V0IGxlbmd0aCAgICovCisKKyAgRVRIX0J1ZmZlclR5cGVEZWYgKlR4QnVmZmVyOyAgICAgIC8qITwgVHggYnVmZmVycyBwb2ludGVycyAqLworCisgIHVpbnQzMl90IFNyY0FkZHJDdHJsOyAgICAgICAgICAgICAvKiE8IFNwZWNpZmllcyB0aGUgc291cmNlIGFkZHJlc3MgaW5zZXJ0aW9uIGNvbnRyb2wuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIG9mIEByZWYgRVRIX1R4X1BhY2tldF9Tb3VyY2VfQWRkcl9Db250cm9sICovCisKKyAgdWludDMyX3QgQ1JDUGFkQ3RybDsgICAgICAgICAgICAgLyohPCBTcGVjaWZpZXMgdGhlIENSQyBhbmQgUGFkIGluc2VydGlvbiBhbmQgcmVwbGFjZW1lbnQgY29udHJvbC4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYSB2YWx1ZSBvZiBAcmVmIEVUSF9UeF9QYWNrZXRfQ1JDX1BhZF9Db250cm9sICAqLworCisgIHVpbnQzMl90IENoZWNrc3VtQ3RybDsgICAgICAgICAgIC8qITwgU3BlY2lmaWVzIHRoZSBjaGVja3N1bSBpbnNlcnRpb24gY29udHJvbC4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYSB2YWx1ZSBvZiBAcmVmIEVUSF9UeF9QYWNrZXRfQ2hlY2tzdW1fQ29udHJvbCAgKi8KKworICB1aW50MzJfdCBNYXhTZWdtZW50U2l6ZTsgICAgICAgICAvKiE8IFNldHMgVENQIG1heGltdW0gc2VnbWVudCBzaXplIG9ubHkgd2hlbiBUQ1Agc2VnbWVudGF0aW9uIGlzIGVuYWJsZWQuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGEgdmFsdWUgZnJvbSAweDAgdG8gMHgzRkZGICovCisKKyAgdWludDMyX3QgUGF5bG9hZExlbjsgICAgICAgICAgICAgLyohPCBTZXRzIFRvdGFsIHBheWxvYWQgbGVuZ3RoIG9ubHkgd2hlbiBUQ1Agc2VnbWVudGF0aW9uIGlzIGVuYWJsZWQuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGEgdmFsdWUgZnJvbSAweDAgdG8gMHgzRkZGRiAqLworCisgIHVpbnQzMl90IFRDUEhlYWRlckxlbjsgICAgICAgICAgIC8qITwgU2V0cyBUQ1AgaGVhZGVyIGxlbmd0aCBvbmx5IHdoZW4gVENQIHNlZ21lbnRhdGlvbiBpcyBlbmFibGVkLgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIGZyb20gMHg1IHRvIDB4RiAqLworCisgIHVpbnQzMl90IFZsYW5UYWc7ICAgICAgICAgICAgICAgIC8qITwgU2V0cyBWTEFOIFRhZyBvbmx5IHdoZW4gVkxBTiBpcyBlbmFibGVkLgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIGZyb20gMHgwIHRvIDB4RkZGRiovCisKKyAgdWludDMyX3QgVmxhbkN0cmw7ICAgICAgICAgICAgICAgLyohPCBTcGVjaWZpZXMgVkxBTiBUYWcgaW5zZXJ0aW9uIGNvbnRyb2wgb25seSB3aGVuIFZMQU4gaXMgZW5hYmxlZC4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYSB2YWx1ZSBvZiBAcmVmIEVUSF9UeF9QYWNrZXRfVkxBTl9Db250cm9sICovCisKKyAgdWludDMyX3QgSW5uZXJWbGFuVGFnOyAgICAgICAgICAgLyohPCBTZXRzIElubmVyIFZMQU4gVGFnIG9ubHkgd2hlbiBJbm5lciBWTEFOIGlzIGVuYWJsZWQuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGEgdmFsdWUgZnJvbSAweDAgdG8gMHgzRkZGRiAqLworCisgIHVpbnQzMl90IElubmVyVmxhbkN0cmw7ICAgICAgICAgIC8qITwgU3BlY2lmaWVzIElubmVyIFZMQU4gVGFnIGluc2VydGlvbiBjb250cm9sIG9ubHkgd2hlbiBJbm5lciBWTEFOIGlzIGVuYWJsZWQuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGEgdmFsdWUgb2YgQHJlZiBFVEhfVHhfUGFja2V0X0lubmVyX1ZMQU5fQ29udHJvbCAgICovCisKKyAgdm9pZCAqcERhdGE7ICAgICAgICAgICAgICAgICAgICAgLyohPCBTcGVjaWZpZXMgQXBwbGljYXRpb24gcGFja2V0IHBvaW50ZXIgdG8gc2F2ZSAgICovCisKK30gRVRIX1R4UGFja2V0Q29uZmlnOworLyoqCisgICoKKyAgKi8KKworLyoqCisgICogQGJyaWVmICBFVEggVGltZXN0YW1wIHN0cnVjdHVyZSBkZWZpbml0aW9uCisgICovCit0eXBlZGVmIHN0cnVjdAoreworICB1aW50MzJfdCBUaW1lU3RhbXBMb3c7CisgIHVpbnQzMl90IFRpbWVTdGFtcEhpZ2g7CisKK30gRVRIX1RpbWVTdGFtcFR5cGVEZWY7CisvKioKKyAgKgorICAqLworCisvKioKKyAgKiBAYnJpZWYgIEVUSCBUaW1ldXBkYXRlIHN0cnVjdHVyZSBkZWZpbml0aW9uCisgICovCit0eXBlZGVmIHN0cnVjdAoreworICB1aW50MzJfdCBTZWNvbmRzOworICB1aW50MzJfdCBOYW5vU2Vjb25kczsKK30gRVRIX1RpbWVUeXBlRGVmOworLyoqCisgICoKKyAgKi8KKworLyoqCisgICogQGJyaWVmICBETUEgUmVjZWl2ZSBEZXNjcmlwdG9ycyBXcmFwcGVyIHN0cnVjdHVyZSBkZWZpbml0aW9uCisgICovCit0eXBlZGVmIHN0cnVjdAoreworICB1aW50MzJfdCBSeERlc2NbRVRIX1JYX0RFU0NfQ05UXTsgICAgIC8qPCEgUnggRE1BIGRlc2NyaXB0b3JzIGFkZHJlc3Nlcy4gKi8KKworICB1aW50MzJfdCBJdE1vZGU7ICAgICAgICAgICAgICAgICAgICAgIC8qPCEgSWYgMSwgRE1BIHdpbGwgZ2VuZXJhdGUgdGhlIFJ4IGNvbXBsZXRlIGludGVycnVwdC4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIDAsIERNQSB3aWxsIG5vdCBnZW5lcmF0ZSB0aGUgUnggY29tcGxldGUgaW50ZXJydXB0LiAqLworCisgIHVpbnQzMl90IFJ4RGVzY0lkeDsgICAgICAgICAgICAgICAgIC8qPCEgQ3VycmVudCBSeCBkZXNjcmlwdG9yLiAqLworCisgIHVpbnQzMl90IFJ4RGVzY0NudDsgICAgICAgICAgICAgICAgIC8qPCEgTnVtYmVyIG9mIGRlc2NyaXB0b3JzIC4gKi8KKworICB1aW50MzJfdCBSeERhdGFMZW5ndGg7ICAgICAgICAgICAgICAvKjwhIFJlY2VpdmVkIERhdGEgTGVuZ3RoLiAqLworCisgIHVpbnQzMl90IFJ4QnVpbGREZXNjSWR4OyAgICAgICAgICAgIC8qPCEgQ3VycmVudCBSeCBEZXNjcmlwdG9yIGZvciBidWlsZGluZyBkZXNjcmlwdG9ycy4gKi8KKworICB1aW50MzJfdCBSeEJ1aWxkRGVzY0NudDsgICAgICAgICAgICAvKjwhIE51bWJlciBvZiBSeCBEZXNjcmlwdG9ycyBhd2FpdGluZyBidWlsZGluZy4gKi8KKworICB1aW50MzJfdCBwUnhMYXN0UnhEZXNjOyAgICAgICAgICAgICAvKjwhIExhc3QgcmVjZWl2ZWQgZGVzY3JpcHRvci4gKi8KKworICBFVEhfVGltZVN0YW1wVHlwZURlZiBUaW1lU3RhbXA7ICAgICAvKjwhIFRpbWUgU3RhbXAgTG93IHZhbHVlIGZvciByZWNlaXZlLiAqLworCisgIHZvaWQgKnBSeFN0YXJ0OyAgICAgICAgICAgICAgICAgICAgIC8qPCEgUG9pbnRlciB0byB0aGUgZmlyc3QgYnVmZi4gKi8KKworICB2b2lkICpwUnhFbmQ7ICAgICAgICAgICAgICAgICAgICAgICAvKjwhIFBvaW50ZXIgdG8gdGhlIGxhc3QgYnVmZi4gKi8KKworfSBFVEhfUnhEZXNjTGlzdFR5cGVEZWY7CisvKioKKyAgKgorICAqLworCisvKioKKyAgKiBAYnJpZWYgIEVUSCBNQUMgQ29uZmlndXJhdGlvbiBTdHJ1Y3R1cmUgZGVmaW5pdGlvbgorICAqLwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgdWludDMyX3QKKyAgU291cmNlQWRkckNvbnRyb2w7ICAgICAgICAgICAvKiE8IFNlbGVjdHMgdGhlIFNvdXJjZSBBZGRyZXNzIEluc2VydGlvbiBvciBSZXBsYWNlbWVudCBDb250cm9sLgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYSB2YWx1ZSBvZiBAcmVmIEVUSF9Tb3VyY2VfQWRkcl9Db250cm9sICovCisKKyAgRnVuY3Rpb25hbFN0YXRlCisgIENoZWNrc3VtT2ZmbG9hZDsgICAgICAgICAgICAgLyohPCBFbmFibGVzIG9yIERpc2FibGUgdGhlIGNoZWNrc3VtIGNoZWNraW5nIGZvciByZWNlaXZlZCBwYWNrZXQgcGF5bG9hZHMgVENQLCBVRFAgb3IgSUNNUCBoZWFkZXJzICovCisKKyAgdWludDMyX3QgICAgICAgICBJbnRlclBhY2tldEdhcFZhbDsgICAgICAgICAgIC8qITwgU2V0cyB0aGUgbWluaW11bSBJUEcgYmV0d2VlbiBQYWNrZXQgZHVyaW5nIHRyYW5zbWlzc2lvbi4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGEgdmFsdWUgb2YgQHJlZiBFVEhfSW50ZXJfUGFja2V0X0dhcCAqLworCisgIEZ1bmN0aW9uYWxTdGF0ZSAgR2lhbnRQYWNrZXRTaXplTGltaXRDb250cm9sOyAvKiE8IEVuYWJsZXMgb3IgZGlzYWJsZXMgdGhlIEdpYW50IFBhY2tldCBTaXplIExpbWl0IENvbnRyb2wuICovCisKKyAgRnVuY3Rpb25hbFN0YXRlICBTdXBwb3J0MktQYWNrZXQ7ICAgICAgICAgICAgIC8qITwgRW5hYmxlcyBvciBkaXNhYmxlcyB0aGUgSUVFRSA4MDIuM2FzIFN1cHBvcnQgZm9yIDJLIGxlbmd0aCBQYWNrZXRzICovCisKKyAgRnVuY3Rpb25hbFN0YXRlICBDUkNTdHJpcFR5cGVQYWNrZXQ7ICAgICAgICAgIC8qITwgRW5hYmxlcyBvciBkaXNhYmxlcyB0aGUgQ1JDIHN0cmlwcGluZyBmb3IgVHlwZSBwYWNrZXRzLiovCisKKyAgRnVuY3Rpb25hbFN0YXRlICBBdXRvbWF0aWNQYWRDUkNTdHJpcDsgICAgICAgIC8qITwgRW5hYmxlcyBvciBkaXNhYmxlcyAgdGhlIEF1dG9tYXRpYyBNQUMgUGFkL0NSQyBTdHJpcHBpbmcuKi8KKworICBGdW5jdGlvbmFsU3RhdGUgIFdhdGNoZG9nOyAgICAgICAgICAgICAgICAgICAgLyohPCBFbmFibGVzIG9yIGRpc2FibGVzIHRoZSBXYXRjaGRvZyB0aW1lciBvbiBSeCBwYXRoLiovCisKKyAgRnVuY3Rpb25hbFN0YXRlICBKYWJiZXI7ICAgICAgICAgICAgICAgICAgICAgIC8qITwgRW5hYmxlcyBvciBkaXNhYmxlcyBKYWJiZXIgdGltZXIgb24gVHggcGF0aC4qLworCisgIEZ1bmN0aW9uYWxTdGF0ZSAgSnVtYm9QYWNrZXQ7ICAgICAgICAgICAgICAgICAvKiE8IEVuYWJsZXMgb3IgZGlzYWJsZXMgcmVjZWl2aW5nIEp1bWJvIFBhY2tldAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXaGVuIGVuYWJsZWQsIHRoZSBNQUMgYWxsb3dzIGp1bWJvIHBhY2tldHMgb2YgOSwwMTggYnl0ZXMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2l0aG91dCByZXBvcnRpbmcgYSBnaWFudCBwYWNrZXQgZXJyb3IgKi8KKworICB1aW50MzJfdCAgICAgICAgIFNwZWVkOyAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTZXRzIHRoZSBFdGhlcm5ldCBzcGVlZDogMTAvMTAwIE1icHMuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIG9mIEByZWYgRVRIX1NwZWVkICovCiAKLSAgdWludDMyX3QgICAgICAgICAgICAgRHVwbGV4TW9kZTsgICAgICAgICAgICAgICAgLyohPCBTZWxlY3RzIHRoZSBNQUMgZHVwbGV4IG1vZGU6IEhhbGYtRHVwbGV4IG9yIEZ1bGwtRHVwbGV4IG1vZGUKKyAgdWludDMyX3QgICAgICAgICBEdXBsZXhNb2RlOyAgICAgICAgICAgICAgICAgIC8qITwgU2VsZWN0cyB0aGUgTUFDIGR1cGxleCBtb2RlOiBIYWxmLUR1cGxleCBvciBGdWxsLUR1cGxleCBtb2RlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIG9mIEByZWYgRVRIX0R1cGxleF9Nb2RlICovCi0gIAotICB1aW50MTZfdCAgICAgICAgICAgICBQaHlBZGRyZXNzOyAgICAgICAgICAgICAgICAvKiE8IEV0aGVybmV0IFBIWSBhZGRyZXNzLgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBtdXN0IGJlIGEgbnVtYmVyIGJldHdlZW4gTWluX0RhdGEgPSAwIGFuZCBNYXhfRGF0YSA9IDMyICovCi0gIAotICB1aW50OF90ICAgICAgICAgICAgICpNQUNBZGRyOyAgICAgICAgICAgICAgICAgICAvKiE8IE1BQyBBZGRyZXNzIG9mIHVzZWQgSGFyZHdhcmU6IG11c3QgYmUgcG9pbnRlciBvbiBhbiBhcnJheSBvZiA2IGJ5dGVzICovCi0gIAotICB1aW50MzJfdCAgICAgICAgICAgICBSeE1vZGU7ICAgICAgICAgICAgICAgICAgICAvKiE8IFNlbGVjdHMgdGhlIEV0aGVybmV0IFJ4IG1vZGU6IFBvbGxpbmcgbW9kZSwgSW50ZXJydXB0IG1vZGUuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIG9mIEByZWYgRVRIX1J4X01vZGUgKi8KLSAgCi0gIHVpbnQzMl90ICAgICAgICAgICAgIENoZWNrc3VtTW9kZTsgICAgICAgICAgICAgIC8qITwgU2VsZWN0cyBpZiB0aGUgY2hlY2tzdW0gaXMgY2hlY2sgYnkgaGFyZHdhcmUgb3IgYnkgc29mdHdhcmUuIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGEgdmFsdWUgb2YgQHJlZiBFVEhfQ2hlY2tzdW1fTW9kZSAqLwotICAKLSAgdWludDMyX3QgICAgICAgICAgICAgTWVkaWFJbnRlcmZhY2U7ICAgICAgICAgICAgLyohPCBTZWxlY3RzIHRoZSBtZWRpYS1pbmRlcGVuZGVudCBpbnRlcmZhY2Ugb3IgdGhlIHJlZHVjZWQgbWVkaWEtaW5kZXBlbmRlbnQgaW50ZXJmYWNlLiAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIG9mIEByZWYgRVRIX01lZGlhX0ludGVyZmFjZSAqLwogCi19IEVUSF9Jbml0VHlwZURlZjsKKyAgRnVuY3Rpb25hbFN0YXRlICBMb29wYmFja01vZGU7ICAgICAgICAgICAgICAgIC8qITwgRW5hYmxlcyBvciBkaXNhYmxlcyB0aGUgbG9vcGJhY2sgbW9kZSAqLwogCisgIEZ1bmN0aW9uYWxTdGF0ZQorICBDYXJyaWVyU2Vuc2VCZWZvcmVUcmFuc21pdDsgIC8qITwgRW5hYmxlcyBvciBkaXNhYmxlcyB0aGUgQ2FycmllciBTZW5zZSBCZWZvcmUgVHJhbnNtaXNzaW9uIGluIEZ1bGwgRHVwbGV4IE1vZGUuICovCiAKLSAvKiogCi0gICogQGJyaWVmICBFVEggTUFDIENvbmZpZ3VyYXRpb24gU3RydWN0dXJlIGRlZmluaXRpb24gIAorICBGdW5jdGlvbmFsU3RhdGUgIFJlY2VpdmVPd247ICAgICAgICAgICAgICAgICAgLyohPCBFbmFibGVzIG9yIGRpc2FibGVzIHRoZSBSZWNlaXZlIE93biBpbiBIYWxmIER1cGxleCBtb2RlLiAqLworCisgIEZ1bmN0aW9uYWxTdGF0ZQorICBDYXJyaWVyU2Vuc2VEdXJpbmdUcmFuc21pdDsgIC8qITwgRW5hYmxlcyBvciBkaXNhYmxlcyB0aGUgQ2FycmllciBTZW5zZSBEdXJpbmcgVHJhbnNtaXNzaW9uIGluIHRoZSBIYWxmIER1cGxleCBtb2RlICovCisKKyAgRnVuY3Rpb25hbFN0YXRlCisgIFJldHJ5VHJhbnNtaXNzaW9uOyAgICAgICAgICAgLyohPCBFbmFibGVzIG9yIGRpc2FibGVzIHRoZSBNQUMgcmV0cnkgdHJhbnNtaXNzaW9uLCB3aGVuIGEgY29sbGlzaW9uIG9jY3VycyBpbiBIYWxmIER1cGxleCBtb2RlLiovCisKKyAgdWludDMyX3QgICAgICAgICBCYWNrT2ZmTGltaXQ7ICAgICAgICAgICAgICAgIC8qITwgU2VsZWN0cyB0aGUgQmFja09mZiBsaW1pdCB2YWx1ZS4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGEgdmFsdWUgb2YgQHJlZiBFVEhfQmFja19PZmZfTGltaXQgKi8KKworICBGdW5jdGlvbmFsU3RhdGUKKyAgRGVmZXJyYWxDaGVjazsgICAgICAgICAgICAgICAvKiE8IEVuYWJsZXMgb3IgZGlzYWJsZXMgdGhlIGRlZmVycmFsIGNoZWNrIGZ1bmN0aW9uIGluIEhhbGYgRHVwbGV4IG1vZGUuICovCisKKyAgdWludDMyX3QKKyAgUHJlYW1ibGVMZW5ndGg7ICAgICAgICAgICAgICAvKiE8IFNlbGVjdHMgb3Igbm90IHRoZSBQcmVhbWJsZSBMZW5ndGggZm9yIFRyYW5zbWl0IHBhY2tldHMgKEZ1bGwgRHVwbGV4IG1vZGUpLgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYSB2YWx1ZSBvZiBAcmVmIEVUSF9QcmVhbWJsZV9MZW5ndGggKi8KKworICBGdW5jdGlvbmFsU3RhdGUKKyAgVW5pY2FzdFNsb3dQcm90b2NvbFBhY2tldERldGVjdDsgICAvKiE8IEVuYWJsZSBvciBkaXNhYmxlcyB0aGUgRGV0ZWN0aW9uIG9mIFNsb3cgUHJvdG9jb2wgUGFja2V0cyB3aXRoIHVuaWNhc3QgYWRkcmVzcy4gKi8KKworICBGdW5jdGlvbmFsU3RhdGUgIFNsb3dQcm90b2NvbERldGVjdDsgICAgICAgICAgLyohPCBFbmFibGUgb3IgZGlzYWJsZXMgdGhlIFNsb3cgUHJvdG9jb2wgRGV0ZWN0aW9uLiAqLworCisgIEZ1bmN0aW9uYWxTdGF0ZSAgQ1JDQ2hlY2tpbmdSeFBhY2tldHM7ICAgICAgICAvKiE8IEVuYWJsZSBvciBkaXNhYmxlcyB0aGUgQ1JDIENoZWNraW5nIGZvciBSZWNlaXZlZCBQYWNrZXRzLiAqLworCisgIHVpbnQzMl90CisgIEdpYW50UGFja2V0U2l6ZUxpbWl0OyAgICAgICAgLyohPCBTcGVjaWZpZXMgdGhlIHBhY2tldCBzaXplIHRoYXQgdGhlIE1BQyB3aWxsIGRlY2xhcmUgaXQgYXMgR2lhbnQsIElmIGl0J3Mgc2l6ZSBpcworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyZWF0ZXIgdGhhbiB0aGUgdmFsdWUgcHJvZ3JhbW1lZCBpbiB0aGlzIGZpZWxkIGluIHVuaXRzIG9mIGJ5dGVzCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgbXVzdCBiZSBhIG51bWJlciBiZXR3ZWVuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTWluX0RhdGEgPSAweDYxOCAoMTUxOCBieXRlKSBhbmQgTWF4X0RhdGEgPSAweDNGRkYgKDMyIEtieXRlKS4gKi8KKworICBGdW5jdGlvbmFsU3RhdGUgIEV4dGVuZGVkSW50ZXJQYWNrZXRHYXA7ICAgICAgLyohPCBFbmFibGUgb3IgZGlzYWJsZXMgdGhlIGV4dGVuZGVkIGludGVyIHBhY2tldCBnYXAuICovCisKKyAgdWludDMyX3QgICAgICAgICBFeHRlbmRlZEludGVyUGFja2V0R2FwVmFsOyAgIC8qITwgU2V0cyB0aGUgRXh0ZW5kZWQgSVBHIGJldHdlZW4gUGFja2V0IGR1cmluZyB0cmFuc21pc3Npb24uCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIGZyb20gMHgwIHRvIDB4RkYgKi8KKworICBGdW5jdGlvbmFsU3RhdGUgIFByb2dyYW1tYWJsZVdhdGNoZG9nOyAgICAgICAgLyohPCBFbmFibGUgb3IgZGlzYWJsZXMgdGhlIFByb2dyYW1tYWJsZSBXYXRjaGRvZy4qLworCisgIHVpbnQzMl90ICAgICAgICAgV2F0Y2hkb2dUaW1lb3V0OyAgICAgICAgICAgICAvKiE8IFRoaXMgZmllbGQgaXMgdXNlZCBhcyB3YXRjaGRvZyB0aW1lb3V0IGZvciBhIHJlY2VpdmVkIHBhY2tldAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYSB2YWx1ZSBvZiBAcmVmIEVUSF9XYXRjaGRvZ19UaW1lb3V0ICovCisKKyAgdWludDMyX3QKKyAgUGF1c2VUaW1lOyAgICAgICAgICAgICAgICAgICAvKiE8IFRoaXMgZmllbGQgaG9sZHMgdGhlIHZhbHVlIHRvIGJlIHVzZWQgaW4gdGhlIFBhdXNlIFRpbWUgZmllbGQgaW4gdGhlIHRyYW5zbWl0IGNvbnRyb2wgcGFja2V0LgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgbXVzdCBiZSBhIG51bWJlciBiZXR3ZWVuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNaW5fRGF0YSA9IDB4MCBhbmQgTWF4X0RhdGEgPSAweEZGRkYuKi8KKworICBGdW5jdGlvbmFsU3RhdGUKKyAgWmVyb1F1YW50YVBhdXNlOyAgICAgICAgICAgICAvKiE8IEVuYWJsZSBvciBkaXNhYmxlcyB0aGUgYXV0b21hdGljIGdlbmVyYXRpb24gb2YgWmVybyBRdWFudGEgUGF1c2UgQ29udHJvbCBwYWNrZXRzLiovCisKKyAgdWludDMyX3QKKyAgUGF1c2VMb3dUaHJlc2hvbGQ7ICAgICAgICAgICAvKiE8IFRoaXMgZmllbGQgY29uZmlndXJlcyB0aGUgdGhyZXNob2xkIG9mIHRoZSBQQVVTRSB0byBiZSBjaGVja2VkIGZvciBhdXRvbWF0aWMgcmV0cmFuc21pc3Npb24gb2YgUEFVU0UgUGFja2V0LgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGEgdmFsdWUgb2YgQHJlZiBFVEhfUGF1c2VfTG93X1RocmVzaG9sZCAqLworCisgIEZ1bmN0aW9uYWxTdGF0ZQorICBUcmFuc21pdEZsb3dDb250cm9sOyAgICAgICAgIC8qITwgRW5hYmxlcyBvciBkaXNhYmxlcyB0aGUgTUFDIHRvIHRyYW5zbWl0IFBhdXNlIHBhY2tldHMgaW4gRnVsbCBEdXBsZXggbW9kZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3IgdGhlIE1BQyBiYWNrIHByZXNzdXJlIG9wZXJhdGlvbiBpbiBIYWxmIER1cGxleCBtb2RlICovCisKKyAgRnVuY3Rpb25hbFN0YXRlCisgIFVuaWNhc3RQYXVzZVBhY2tldERldGVjdDsgICAgLyohPCBFbmFibGVzIG9yIGRpc2FibGVzIHRoZSBNQUMgdG8gZGV0ZWN0IFBhdXNlIHBhY2tldHMgd2l0aCB1bmljYXN0IGFkZHJlc3Mgb2YgdGhlIHN0YXRpb24gKi8KKworICBGdW5jdGlvbmFsU3RhdGUgIFJlY2VpdmVGbG93Q29udHJvbDsgICAgICAgICAgLyohPCBFbmFibGVzIG9yIGRpc2FibGVzIHRoZSBNQUMgdG8gZGVjb2RlcyB0aGUgcmVjZWl2ZWQgUGF1c2UgcGFja2V0CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCBkaXNhYmxlcyBpdHMgdHJhbnNtaXR0ZXIgZm9yIGEgc3BlY2lmaWVkIChQYXVzZSkgdGltZSAqLworCisgIHVpbnQzMl90ICAgICAgICAgVHJhbnNtaXRRdWV1ZU1vZGU7ICAgICAgICAgICAvKiE8IFNwZWNpZmllcyB0aGUgVHJhbnNtaXQgUXVldWUgb3BlcmF0aW5nIG1vZGUuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYSB2YWx1ZSBvZiBAcmVmIEVUSF9UcmFuc21pdF9Nb2RlICovCisKKyAgdWludDMyX3QgICAgICAgICBSZWNlaXZlUXVldWVNb2RlOyAgICAgICAgICAgIC8qITwgU3BlY2lmaWVzIHRoZSBSZWNlaXZlIFF1ZXVlIG9wZXJhdGluZyBtb2RlLgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIG9mIEByZWYgRVRIX1JlY2VpdmVfTW9kZSAqLworCisgIEZ1bmN0aW9uYWxTdGF0ZSAgRHJvcFRDUElQQ2hlY2tzdW1FcnJvclBhY2tldDsgLyohPCBFbmFibGVzIG9yIGRpc2FibGVzIERyb3BwaW5nIG9mIFRDUElQIENoZWNrc3VtIEVycm9yIFBhY2tldHMuICovCisKKyAgRnVuY3Rpb25hbFN0YXRlICBGb3J3YXJkUnhFcnJvclBhY2tldDsgICAgICAgIC8qITwgRW5hYmxlcyBvciBkaXNhYmxlcyAgZm9yd2FyZGluZyBFcnJvciBQYWNrZXRzLiAqLworCisgIEZ1bmN0aW9uYWxTdGF0ZSAgRm9yd2FyZFJ4VW5kZXJzaXplZEdvb2RQYWNrZXQ7ICAvKiE8IEVuYWJsZXMgb3IgZGlzYWJsZXMgIGZvcndhcmRpbmcgVW5kZXJzaXplZCBHb29kIFBhY2tldHMuKi8KK30gRVRIX01BQ0NvbmZpZ1R5cGVEZWY7CisvKioKKyAgKgogICAqLwogCi10eXBlZGVmIHN0cnVjdAotewotICB1aW50MzJfdCAgICAgICAgICAgICBXYXRjaGRvZzsgICAgICAgICAgICAgICAgICAvKiE8IFNlbGVjdHMgb3Igbm90IHRoZSBXYXRjaGRvZyB0aW1lcgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXaGVuIGVuYWJsZWQsIHRoZSBNQUMgYWxsb3dzIG5vIG1vcmUgdGhlbiAyMDQ4IGJ5dGVzIHRvIGJlIHJlY2VpdmVkLgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXaGVuIGRpc2FibGVkLCB0aGUgTUFDIGNhbiByZWNlaXZlIHVwIHRvIDE2Mzg0IGJ5dGVzLgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYSB2YWx1ZSBvZiBAcmVmIEVUSF9XYXRjaGRvZyAqLyAgCi0KLSAgdWludDMyX3QgICAgICAgICAgICAgSmFiYmVyOyAgICAgICAgICAgICAgICAgICAgLyohPCBTZWxlY3RzIG9yIG5vdCBKYWJiZXIgdGltZXIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV2hlbiBlbmFibGVkLCB0aGUgTUFDIGFsbG93cyBubyBtb3JlIHRoZW4gMjA0OCBieXRlcyB0byBiZSBzZW50LgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXaGVuIGRpc2FibGVkLCB0aGUgTUFDIGNhbiBzZW5kIHVwIHRvIDE2Mzg0IGJ5dGVzLgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYSB2YWx1ZSBvZiBAcmVmIEVUSF9KYWJiZXIgKi8KLQotICB1aW50MzJfdCAgICAgICAgICAgICBJbnRlckZyYW1lR2FwOyAgICAgICAgICAgICAvKiE8IFNlbGVjdHMgdGhlIG1pbmltdW0gSUZHIGJldHdlZW4gZnJhbWVzIGR1cmluZyB0cmFuc21pc3Npb24uCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIG9mIEByZWYgRVRIX0ludGVyX0ZyYW1lX0dhcCAqLyAgIAotCi0gIHVpbnQzMl90ICAgICAgICAgICAgIENhcnJpZXJTZW5zZTsgICAgICAgICAgICAgIC8qITwgU2VsZWN0cyBvciBub3QgdGhlIENhcnJpZXIgU2Vuc2UuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIG9mIEByZWYgRVRIX0NhcnJpZXJfU2Vuc2UgKi8KLQotICB1aW50MzJfdCAgICAgICAgICAgICBSZWNlaXZlT3duOyAgICAgICAgICAgICAgICAvKiE8IFNlbGVjdHMgb3Igbm90IHRoZSBSZWNlaXZlT3duLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWNlaXZlT3duIGFsbG93cyB0aGUgcmVjZXB0aW9uIG9mIGZyYW1lcyB3aGVuIHRoZSBUWF9FTiBzaWduYWwgaXMgYXNzZXJ0ZWQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gSGFsZi1EdXBsZXggbW9kZS4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGEgdmFsdWUgb2YgQHJlZiBFVEhfUmVjZWl2ZV9Pd24gKi8gIAotCi0gIHVpbnQzMl90ICAgICAgICAgICAgIExvb3BiYWNrTW9kZTsgICAgICAgICAgICAgIC8qITwgU2VsZWN0cyBvciBub3QgdGhlIGludGVybmFsIE1BQyBNSUkgTG9vcGJhY2sgbW9kZS4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGEgdmFsdWUgb2YgQHJlZiBFVEhfTG9vcF9CYWNrX01vZGUgKi8gIAotCi0gIHVpbnQzMl90ICAgICAgICAgICAgIENoZWNrc3VtT2ZmbG9hZDsgICAgICAgICAgIC8qITwgU2VsZWN0cyBvciBub3QgdGhlIElQdjQgY2hlY2tzdW0gY2hlY2tpbmcgZm9yIHJlY2VpdmVkIGZyYW1lIHBheWxvYWRzJyBUQ1AvVURQL0lDTVAgaGVhZGVycy4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGEgdmFsdWUgb2YgQHJlZiBFVEhfQ2hlY2tzdW1fT2ZmbG9hZCAqLyAgICAKLQotICB1aW50MzJfdCAgICAgICAgICAgICBSZXRyeVRyYW5zbWlzc2lvbjsgICAgICAgICAvKiE8IFNlbGVjdHMgb3Igbm90IHRoZSBNQUMgYXR0ZW1wdCByZXRyaWVzIHRyYW5zbWlzc2lvbiwgYmFzZWQgb24gdGhlIHNldHRpbmdzIG9mIEJMLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aGVuIGEgY29sbGlzaW9uIG9jY3VycyAoSGFsZi1EdXBsZXggbW9kZSkuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIG9mIEByZWYgRVRIX1JldHJ5X1RyYW5zbWlzc2lvbiAqLwotCi0gIHVpbnQzMl90ICAgICAgICAgICAgIEF1dG9tYXRpY1BhZENSQ1N0cmlwOyAgICAgIC8qITwgU2VsZWN0cyBvciBub3QgdGhlIEF1dG9tYXRpYyBNQUMgUGFkL0NSQyBTdHJpcHBpbmcuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIG9mIEByZWYgRVRIX0F1dG9tYXRpY19QYWRfQ1JDX1N0cmlwICovIAotCi0gIHVpbnQzMl90ICAgICAgICAgICAgIEJhY2tPZmZMaW1pdDsgICAgICAgICAgICAgIC8qITwgU2VsZWN0cyB0aGUgQmFja09mZiBsaW1pdCB2YWx1ZS4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGEgdmFsdWUgb2YgQHJlZiBFVEhfQmFja19PZmZfTGltaXQgKi8KLQotICB1aW50MzJfdCAgICAgICAgICAgICBEZWZlcnJhbENoZWNrOyAgICAgICAgICAgICAvKiE8IFNlbGVjdHMgb3Igbm90IHRoZSBkZWZlcnJhbCBjaGVjayBmdW5jdGlvbiAoSGFsZi1EdXBsZXggbW9kZSkuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIG9mIEByZWYgRVRIX0RlZmVycmFsX0NoZWNrICovICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKLQotICB1aW50MzJfdCAgICAgICAgICAgICBSZWNlaXZlQWxsOyAgICAgICAgICAgICAgICAvKiE8IFNlbGVjdHMgb3Igbm90IGFsbCBmcmFtZXMgcmVjZXB0aW9uIGJ5IHRoZSBNQUMgKE5vIGZpbHRlcmluZykuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIG9mIEByZWYgRVRIX1JlY2VpdmVfQWxsICovICAgCi0KLSAgdWludDMyX3QgICAgICAgICAgICAgU291cmNlQWRkckZpbHRlcjsgICAgICAgICAgLyohPCBTZWxlY3RzIHRoZSBTb3VyY2UgQWRkcmVzcyBGaWx0ZXIgbW9kZS4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGEgdmFsdWUgb2YgQHJlZiBFVEhfU291cmNlX0FkZHJfRmlsdGVyICovCi0KLSAgdWludDMyX3QgICAgICAgICAgICAgUGFzc0NvbnRyb2xGcmFtZXM7ICAgICAgICAgLyohPCBTZXRzIHRoZSBmb3J3YXJkaW5nIG1vZGUgb2YgdGhlIGNvbnRyb2wgZnJhbWVzIChpbmNsdWRpbmcgdW5pY2FzdCBhbmQgbXVsdGljYXN0IFBBVVNFIGZyYW1lcykKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGEgdmFsdWUgb2YgQHJlZiBFVEhfUGFzc19Db250cm9sX0ZyYW1lcyAqLyAKLQotICB1aW50MzJfdCAgICAgICAgICAgICBCcm9hZGNhc3RGcmFtZXNSZWNlcHRpb247ICAvKiE8IFNlbGVjdHMgb3Igbm90IHRoZSByZWNlcHRpb24gb2YgQnJvYWRjYXN0IEZyYW1lcy4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGEgdmFsdWUgb2YgQHJlZiBFVEhfQnJvYWRjYXN0X0ZyYW1lc19SZWNlcHRpb24gKi8KLQotICB1aW50MzJfdCAgICAgICAgICAgICBEZXN0aW5hdGlvbkFkZHJGaWx0ZXI7ICAgICAvKiE8IFNldHMgdGhlIGRlc3RpbmF0aW9uIGZpbHRlciBtb2RlIGZvciBib3RoIHVuaWNhc3QgYW5kIG11bHRpY2FzdCBmcmFtZXMuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIG9mIEByZWYgRVRIX0Rlc3RpbmF0aW9uX0FkZHJfRmlsdGVyICovIAotCi0gIHVpbnQzMl90ICAgICAgICAgICAgIFByb21pc2N1b3VzTW9kZTsgICAgICAgICAgIC8qITwgU2VsZWN0cyBvciBub3QgdGhlIFByb21pc2N1b3VzIE1vZGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGEgdmFsdWUgb2YgQHJlZiBFVEhfUHJvbWlzY3VvdXNfTW9kZSAqLwotCi0gIHVpbnQzMl90ICAgICAgICAgICAgIE11bHRpY2FzdEZyYW1lc0ZpbHRlcjsgICAgIC8qITwgU2VsZWN0cyB0aGUgTXVsdGljYXN0IEZyYW1lcyBmaWx0ZXIgbW9kZTogTm9uZS9IYXNoVGFibGVGaWx0ZXIvUGVyZmVjdEZpbHRlci9QZXJmZWN0SGFzaFRhYmxlRmlsdGVyLgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYSB2YWx1ZSBvZiBAcmVmIEVUSF9NdWx0aWNhc3RfRnJhbWVzX0ZpbHRlciAqLyAKLQotICB1aW50MzJfdCAgICAgICAgICAgICBVbmljYXN0RnJhbWVzRmlsdGVyOyAgICAgICAvKiE8IFNlbGVjdHMgdGhlIFVuaWNhc3QgRnJhbWVzIGZpbHRlciBtb2RlOiBIYXNoVGFibGVGaWx0ZXIvUGVyZmVjdEZpbHRlci9QZXJmZWN0SGFzaFRhYmxlRmlsdGVyLgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYSB2YWx1ZSBvZiBAcmVmIEVUSF9VbmljYXN0X0ZyYW1lc19GaWx0ZXIgKi8gCi0KLSAgdWludDMyX3QgICAgICAgICAgICAgSGFzaFRhYmxlSGlnaDsgICAgICAgICAgICAgLyohPCBUaGlzIGZpZWxkIGhvbGRzIHRoZSBoaWdoZXIgMzIgYml0cyBvZiBIYXNoIHRhYmxlLgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBtdXN0IGJlIGEgbnVtYmVyIGJldHdlZW4gTWluX0RhdGEgPSAweDAgYW5kIE1heF9EYXRhID0gMHhGRkZGRkZGRlUgKi8KLQotICB1aW50MzJfdCAgICAgICAgICAgICBIYXNoVGFibGVMb3c7ICAgICAgICAgICAgICAvKiE8IFRoaXMgZmllbGQgaG9sZHMgdGhlIGxvd2VyIDMyIGJpdHMgb2YgSGFzaCB0YWJsZS4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgbXVzdCBiZSBhIG51bWJlciBiZXR3ZWVuIE1pbl9EYXRhID0gMHgwIGFuZCBNYXhfRGF0YSA9IDB4RkZGRkZGRkZVICAqLyAgICAKLQotICB1aW50MzJfdCAgICAgICAgICAgICBQYXVzZVRpbWU7ICAgICAgICAgICAgICAgICAvKiE8IFRoaXMgZmllbGQgaG9sZHMgdGhlIHZhbHVlIHRvIGJlIHVzZWQgaW4gdGhlIFBhdXNlIFRpbWUgZmllbGQgaW4gdGhlIHRyYW5zbWl0IGNvbnRyb2wgZnJhbWUuIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBtdXN0IGJlIGEgbnVtYmVyIGJldHdlZW4gTWluX0RhdGEgPSAweDAgYW5kIE1heF9EYXRhID0gMHhGRkZGVSAqLwotCi0gIHVpbnQzMl90ICAgICAgICAgICAgIFplcm9RdWFudGFQYXVzZTsgICAgICAgICAgIC8qITwgU2VsZWN0cyBvciBub3QgdGhlIGF1dG9tYXRpYyBnZW5lcmF0aW9uIG9mIFplcm8tUXVhbnRhIFBhdXNlIENvbnRyb2wgZnJhbWVzLgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYSB2YWx1ZSBvZiBAcmVmIEVUSF9aZXJvX1F1YW50YV9QYXVzZSAqLyAgCi0KLSAgdWludDMyX3QgICAgICAgICAgICAgUGF1c2VMb3dUaHJlc2hvbGQ7ICAgICAgICAgLyohPCBUaGlzIGZpZWxkIGNvbmZpZ3VyZXMgdGhlIHRocmVzaG9sZCBvZiB0aGUgUEFVU0UgdG8gYmUgY2hlY2tlZCBmb3IKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0b21hdGljIHJldHJhbnNtaXNzaW9uIG9mIFBBVVNFIEZyYW1lLgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYSB2YWx1ZSBvZiBAcmVmIEVUSF9QYXVzZV9Mb3dfVGhyZXNob2xkICovCi0KLSAgdWludDMyX3QgICAgICAgICAgICAgVW5pY2FzdFBhdXNlRnJhbWVEZXRlY3Q7ICAgLyohPCBTZWxlY3RzIG9yIG5vdCB0aGUgTUFDIGRldGVjdGlvbiBvZiB0aGUgUGF1c2UgZnJhbWVzICh3aXRoIE1BQyBBZGRyZXNzMAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bmljYXN0IGFkZHJlc3MgYW5kIHVuaXF1ZSBtdWx0aWNhc3QgYWRkcmVzcykuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIG9mIEByZWYgRVRIX1VuaWNhc3RfUGF1c2VfRnJhbWVfRGV0ZWN0ICovICAKLQotICB1aW50MzJfdCAgICAgICAgICAgICBSZWNlaXZlRmxvd0NvbnRyb2w7ICAgICAgICAvKiE8IEVuYWJsZXMgb3IgZGlzYWJsZXMgdGhlIE1BQyB0byBkZWNvZGUgdGhlIHJlY2VpdmVkIFBhdXNlIGZyYW1lIGFuZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlIGl0cyB0cmFuc21pdHRlciBmb3IgYSBzcGVjaWZpZWQgdGltZSAoUGF1c2UgVGltZSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGEgdmFsdWUgb2YgQHJlZiBFVEhfUmVjZWl2ZV9GbG93X0NvbnRyb2wgKi8KLQotICB1aW50MzJfdCAgICAgICAgICAgICBUcmFuc21pdEZsb3dDb250cm9sOyAgICAgICAvKiE8IEVuYWJsZXMgb3IgZGlzYWJsZXMgdGhlIE1BQyB0byB0cmFuc21pdCBQYXVzZSBmcmFtZXMgKEZ1bGwtRHVwbGV4IG1vZGUpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9yIHRoZSBNQUMgYmFjay1wcmVzc3VyZSBvcGVyYXRpb24gKEhhbGYtRHVwbGV4IG1vZGUpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIG9mIEByZWYgRVRIX1RyYW5zbWl0X0Zsb3dfQ29udHJvbCAqLyAgICAgCi0KLSAgdWludDMyX3QgICAgICAgICAgICAgVkxBTlRhZ0NvbXBhcmlzb247ICAgICAgICAgLyohPCBTZWxlY3RzIHRoZSAxMi1iaXQgVkxBTiBpZGVudGlmaWVyIG9yIHRoZSBjb21wbGV0ZSAxNi1iaXQgVkxBTiB0YWcgZm9yCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbXBhcmlzb24gYW5kIGZpbHRlcmluZy4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGEgdmFsdWUgb2YgQHJlZiBFVEhfVkxBTl9UYWdfQ29tcGFyaXNvbiAqLyAKLQotICB1aW50MzJfdCAgICAgICAgICAgICBWTEFOVGFnSWRlbnRpZmllcjsgICAgICAgICAvKiE8IEhvbGRzIHRoZSBWTEFOIHRhZyBpZGVudGlmaWVyIGZvciByZWNlaXZlIGZyYW1lcyAqLwotCi19IEVUSF9NQUNJbml0VHlwZURlZjsKLQotLyoqIAotICAqIEBicmllZiAgRVRIIERNQSBDb25maWd1cmF0aW9uIFN0cnVjdHVyZSBkZWZpbml0aW9uICAKKy8qKgorICAqIEBicmllZiAgRVRIIERNQSBDb25maWd1cmF0aW9uIFN0cnVjdHVyZSBkZWZpbml0aW9uCiAgICovCi0KIHR5cGVkZWYgc3RydWN0CiB7Ci0gdWludDMyX3QgICAgICAgICAgICAgIERyb3BUQ1BJUENoZWNrc3VtRXJyb3JGcmFtZTsgLyohPCBTZWxlY3RzIG9yIG5vdCB0aGUgRHJvcHBpbmcgb2YgVENQL0lQIENoZWNrc3VtIEVycm9yIEZyYW1lcy4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYSB2YWx1ZSBvZiBAcmVmIEVUSF9Ecm9wX1RDUF9JUF9DaGVja3N1bV9FcnJvcl9GcmFtZSAqLyAKKyAgdWludDMyX3QgICAgICAgIERNQUFyYml0cmF0aW9uOyAgICAgICAgICAvKiE8IFNldHMgdGhlIGFyYml0cmF0aW9uIHNjaGVtZSBiZXR3ZWVuIERNQSBUeCBhbmQgUngKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIG9mIEByZWYgRVRIX0RNQV9BcmJpdHJhdGlvbiAqLwogCi0gIHVpbnQzMl90ICAgICAgICAgICAgIFJlY2VpdmVTdG9yZUZvcndhcmQ7ICAgICAgICAgLyohPCBFbmFibGVzIG9yIGRpc2FibGVzIHRoZSBSZWNlaXZlIHN0b3JlIGFuZCBmb3J3YXJkIG1vZGUuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGEgdmFsdWUgb2YgQHJlZiBFVEhfUmVjZWl2ZV9TdG9yZV9Gb3J3YXJkICovIAorICBGdW5jdGlvbmFsU3RhdGUgQWRkcmVzc0FsaWduZWRCZWF0czsgICAgIC8qITwgRW5hYmxlcyBvciBkaXNhYmxlcyB0aGUgQUhCIE1hc3RlciBpbnRlcmZhY2UgYWRkcmVzcyBhbGlnbmVkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBidXJzdCB0cmFuc2ZlcnMgb24gUmVhZCBhbmQgV3JpdGUgY2hhbm5lbHMgICovCiAKLSAgdWludDMyX3QgICAgICAgICAgICAgRmx1c2hSZWNlaXZlZEZyYW1lOyAgICAgICAgICAvKiE8IEVuYWJsZXMgb3IgZGlzYWJsZXMgdGhlIGZsdXNoaW5nIG9mIHJlY2VpdmVkIGZyYW1lcy4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYSB2YWx1ZSBvZiBAcmVmIEVUSF9GbHVzaF9SZWNlaXZlZF9GcmFtZSAqLyAKKyAgdWludDMyX3QgICAgICAgIEJ1cnN0TW9kZTsgICAgICAgICAgICAgICAvKiE8IFNldHMgdGhlIEFIQiBNYXN0ZXIgaW50ZXJmYWNlIGJ1cnN0IHRyYW5zZmVycy4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGEgdmFsdWUgb2YgQHJlZiBFVEhfQnVyc3RfTW9kZSAqLwogCi0gIHVpbnQzMl90ICAgICAgICAgICAgIFRyYW5zbWl0U3RvcmVGb3J3YXJkOyAgICAgICAgLyohPCBFbmFibGVzIG9yIGRpc2FibGVzIFRyYW5zbWl0IHN0b3JlIGFuZCBmb3J3YXJkIG1vZGUuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGEgdmFsdWUgb2YgQHJlZiBFVEhfVHJhbnNtaXRfU3RvcmVfRm9yd2FyZCAqLyAKKyAgRnVuY3Rpb25hbFN0YXRlICAgICAgRHJvcFRDUElQQ2hlY2tzdW1FcnJvckZyYW1lOyAvKiE8IFNlbGVjdHMgb3Igbm90IHRoZSBEcm9wcGluZyBvZiBUQ1AvSVAgQ2hlY2tzdW0gRXJyb3IgRnJhbWVzICovCisKKyAgRnVuY3Rpb25hbFN0YXRlICAgICAgUmVjZWl2ZVN0b3JlRm9yd2FyZDsgICAgICAgICAvKiE8IEVuYWJsZXMgb3IgZGlzYWJsZXMgdGhlIFJlY2VpdmUgc3RvcmUgYW5kIGZvcndhcmQgbW9kZSAqLworCisgIEZ1bmN0aW9uYWxTdGF0ZSAgICAgIFRyYW5zbWl0U3RvcmVGb3J3YXJkOyAgICAgICAgLyohPCBFbmFibGVzIG9yIGRpc2FibGVzIFRyYW5zbWl0IHN0b3JlIGFuZCBmb3J3YXJkIG1vZGUgKi8KKworCisgIHVpbnQzMl90CisgIFR4RE1BQnVyc3RMZW5ndGg7ICAgICAgICAvKiE8IEluZGljYXRlcyB0aGUgbWF4aW11bSBudW1iZXIgb2YgYmVhdHMgdG8gYmUgdHJhbnNmZXJyZWQgaW4gb25lIFR4IERNQSB0cmFuc2FjdGlvbi4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGEgdmFsdWUgb2YgQHJlZiBFVEhfVHhfRE1BX0J1cnN0X0xlbmd0aCAqLwogCiAgIHVpbnQzMl90ICAgICAgICAgICAgIFRyYW5zbWl0VGhyZXNob2xkQ29udHJvbDsgICAgLyohPCBTZWxlY3RzIG9yIG5vdCB0aGUgVHJhbnNtaXQgVGhyZXNob2xkIENvbnRyb2wuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGEgdmFsdWUgb2YgQHJlZiBFVEhfVHJhbnNtaXRfVGhyZXNob2xkX0NvbnRyb2wgKi8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYSB2YWx1ZSBvZgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEByZWYgRVRIX1RyYW5zbWl0X1RocmVzaG9sZF9Db250cm9sICovCiAKLSAgdWludDMyX3QgICAgICAgICAgICAgRm9yd2FyZEVycm9yRnJhbWVzOyAgICAgICAgICAvKiE8IFNlbGVjdHMgb3Igbm90IHRoZSBmb3J3YXJkIHRvIHRoZSBETUEgb2YgZXJyb25lb3VzIGZyYW1lcy4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYSB2YWx1ZSBvZiBAcmVmIEVUSF9Gb3J3YXJkX0Vycm9yX0ZyYW1lcyAqLworICB1aW50MzJfdAorICBSeERNQUJ1cnN0TGVuZ3RoOyAgICAgICAgLyohPCBJbmRpY2F0ZXMgdGhlIG1heGltdW0gbnVtYmVyIG9mIGJlYXRzIHRvIGJlIHRyYW5zZmVycmVkIGluIG9uZSBSeCBETUEgdHJhbnNhY3Rpb24uCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGEgdmFsdWUgb2YgQHJlZiBFVEhfUnhfRE1BX0J1cnN0X0xlbmd0aCAqLwogCi0gIHVpbnQzMl90ICAgICAgICAgICAgIEZvcndhcmRVbmRlcnNpemVkR29vZEZyYW1lczsgLyohPCBFbmFibGVzIG9yIGRpc2FibGVzIHRoZSBSeCBGSUZPIHRvIGZvcndhcmQgVW5kZXJzaXplZCBmcmFtZXMgKGZyYW1lcyB3aXRoIG5vIEVycm9yCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIGxlbmd0aCBsZXNzIHRoYW4gNjQgYnl0ZXMpIGluY2x1ZGluZyBwYWQtYnl0ZXMgYW5kIENSQykKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYSB2YWx1ZSBvZiBAcmVmIEVUSF9Gb3J3YXJkX1VuZGVyc2l6ZWRfR29vZF9GcmFtZXMgKi8KKyAgRnVuY3Rpb25hbFN0YXRlICAgICAgRm9yd2FyZEVycm9yRnJhbWVzOyAgICAgICAgICAvKiE8IFNlbGVjdHMgb3Igbm90IHRoZSBmb3J3YXJkIHRvIHRoZSBETUEgb2YgZXJyb25lb3VzIGZyYW1lcyAqLworICBGdW5jdGlvbmFsU3RhdGUgRmx1c2hSeFBhY2tldDsgICAgICAgICAgIC8qITwgRW5hYmxlcyBvciBkaXNhYmxlcyB0aGUgUnggUGFja2V0IEZsdXNoICovCisKKyAgRnVuY3Rpb25hbFN0YXRlCisgIEZvcndhcmRVbmRlcnNpemVkR29vZEZyYW1lczsgLyohPCBFbmFibGVzIG9yIGRpc2FibGVzIHRoZSBSeCBGSUZPIHRvIGZvcndhcmQgVW5kZXJzaXplZCBmcmFtZXMgKGZyYW1lcyB3aXRoIG5vIEVycm9yCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIGxlbmd0aCBsZXNzIHRoYW4gNjQgYnl0ZXMpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5jbHVkaW5nIHBhZC1ieXRlcyBhbmQgQ1JDKSAqLwogCiAgIHVpbnQzMl90ICAgICAgICAgICAgIFJlY2VpdmVUaHJlc2hvbGRDb250cm9sOyAgICAgLyohPCBTZWxlY3RzIHRoZSB0aHJlc2hvbGQgbGV2ZWwgb2YgdGhlIFJlY2VpdmUgRklGTy4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYSB2YWx1ZSBvZiBAcmVmIEVUSF9SZWNlaXZlX1RocmVzaG9sZF9Db250cm9sICovCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGEgdmFsdWUgb2YKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAcmVmIEVUSF9SZWNlaXZlX1RocmVzaG9sZF9Db250cm9sICovCiAKLSAgdWludDMyX3QgICAgICAgICAgICAgU2Vjb25kRnJhbWVPcGVyYXRlOyAgICAgICAgICAvKiE8IFNlbGVjdHMgb3Igbm90IHRoZSBPcGVyYXRlIG9uIHNlY29uZCBmcmFtZSBtb2RlLCB3aGljaCBhbGxvd3MgdGhlIERNQSB0byBwcm9jZXNzIGEgc2Vjb25kCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJhbWUgb2YgVHJhbnNtaXQgZGF0YSBldmVuIGJlZm9yZSBvYnRhaW5pbmcgdGhlIHN0YXR1cyBmb3IgdGhlIGZpcnN0IGZyYW1lLgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIG9mIEByZWYgRVRIX1NlY29uZF9GcmFtZV9PcGVyYXRlICovCisgIEZ1bmN0aW9uYWxTdGF0ZQorICBTZWNvbmRGcmFtZU9wZXJhdGU7ICAgICAgICAgIC8qITwgU2VsZWN0cyBvciBub3QgdGhlIE9wZXJhdGUgb24gc2Vjb25kIGZyYW1lIG1vZGUsIHdoaWNoIGFsbG93cyB0aGUgRE1BIHRvIHByb2Nlc3MgYSBzZWNvbmQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmcmFtZSBvZiBUcmFuc21pdCBkYXRhIGV2ZW4gYmVmb3JlIG9idGFpbmluZworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBzdGF0dXMgZm9yIHRoZSBmaXJzdCBmcmFtZSAqLwogCi0gIHVpbnQzMl90ICAgICAgICAgICAgIEFkZHJlc3NBbGlnbmVkQmVhdHM7ICAgICAgICAgLyohPCBFbmFibGVzIG9yIGRpc2FibGVzIHRoZSBBZGRyZXNzIEFsaWduZWQgQmVhdHMuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGEgdmFsdWUgb2YgQHJlZiBFVEhfQWRkcmVzc19BbGlnbmVkX0JlYXRzICovCisgIEZ1bmN0aW9uYWxTdGF0ZSAgICAgIEVuaGFuY2VkRGVzY3JpcHRvckZvcm1hdDsgICAgLyohPCBFbmFibGVzIHRoZSBlbmhhbmNlZCBkZXNjcmlwdG9yIGZvcm1hdCAqLwogCi0gIHVpbnQzMl90ICAgICAgICAgICAgIEZpeGVkQnVyc3Q7ICAgICAgICAgICAgICAgICAgLyohPCBFbmFibGVzIG9yIGRpc2FibGVzIHRoZSBBSEIgTWFzdGVyIGludGVyZmFjZSBmaXhlZCBidXJzdCB0cmFuc2ZlcnMuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGEgdmFsdWUgb2YgQHJlZiBFVEhfRml4ZWRfQnVyc3QgKi8KLSAgICAgICAgICAgICAgICAgICAgICAgCi0gIHVpbnQzMl90ICAgICAgICAgICAgIFJ4RE1BQnVyc3RMZW5ndGg7ICAgICAgICAgICAgLyohPCBJbmRpY2F0ZXMgdGhlIG1heGltdW0gbnVtYmVyIG9mIGJlYXRzIHRvIGJlIHRyYW5zZmVycmVkIGluIG9uZSBSeCBETUEgdHJhbnNhY3Rpb24uCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGEgdmFsdWUgb2YgQHJlZiBFVEhfUnhfRE1BX0J1cnN0X0xlbmd0aCAqLyAKLQotICB1aW50MzJfdCAgICAgICAgICAgICBUeERNQUJ1cnN0TGVuZ3RoOyAgICAgICAgICAgIC8qITwgSW5kaWNhdGVzIHRoZSBtYXhpbXVtIG51bWJlciBvZiBiZWF0cyB0byBiZSB0cmFuc2ZlcnJlZCBpbiBvbmUgVHggRE1BIHRyYW5zYWN0aW9uLgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIG9mIEByZWYgRVRIX1R4X0RNQV9CdXJzdF9MZW5ndGggKi8KLSAgCi0gIHVpbnQzMl90ICAgICAgICAgICAgIEVuaGFuY2VkRGVzY3JpcHRvckZvcm1hdDsgICAgLyohPCBFbmFibGVzIHRoZSBlbmhhbmNlZCBkZXNjcmlwdG9yIGZvcm1hdC4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYSB2YWx1ZSBvZiBAcmVmIEVUSF9ETUFfRW5oYW5jZWRfZGVzY3JpcHRvcl9mb3JtYXQgKi8KLQotICB1aW50MzJfdCAgICAgICAgICAgICBEZXNjcmlwdG9yU2tpcExlbmd0aDsgICAgICAgIC8qITwgU3BlY2lmaWVzIHRoZSBudW1iZXIgb2Ygd29yZCB0byBza2lwIGJldHdlZW4gdHdvIHVuY2hhaW5lZCBkZXNjcmlwdG9ycyAoUmluZyBtb2RlKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIG11c3QgYmUgYSBudW1iZXIgYmV0d2VlbiBNaW5fRGF0YSA9IDAgYW5kIE1heF9EYXRhID0gMzIgKi8KLQotICB1aW50MzJfdCAgICAgICAgICAgICBETUFBcmJpdHJhdGlvbjsgICAgICAgICAgICAgIC8qITwgU2VsZWN0cyB0aGUgRE1BIFR4L1J4IGFyYml0cmF0aW9uLgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIG9mIEByZWYgRVRIX0RNQV9BcmJpdHJhdGlvbiAqLyAgCi19IEVUSF9ETUFJbml0VHlwZURlZjsKLQotCi0vKiogCi0gICogQGJyaWVmICBFVEggRE1BIERlc2NyaXB0b3JzIGRhdGEgc3RydWN0dXJlIGRlZmluaXRpb24KLSAgKi8gCi0KLXR5cGVkZWYgc3RydWN0ICAKLXsKLSAgX19JTyB1aW50MzJfdCAgIFN0YXR1czsgICAgICAgICAgIC8qITwgU3RhdHVzICovCi0gIAotICB1aW50MzJfdCAgIENvbnRyb2xCdWZmZXJTaXplOyAgICAgLyohPCBDb250cm9sIGFuZCBCdWZmZXIxLCBCdWZmZXIyIGxlbmd0aHMgKi8KLSAgCi0gIHVpbnQzMl90ICAgQnVmZmVyMUFkZHI7ICAgICAgICAgICAvKiE8IEJ1ZmZlcjEgYWRkcmVzcyBwb2ludGVyICovCi0gIAotICB1aW50MzJfdCAgIEJ1ZmZlcjJOZXh0RGVzY0FkZHI7ICAgLyohPCBCdWZmZXIyIG9yIG5leHQgZGVzY3JpcHRvciBhZGRyZXNzIHBvaW50ZXIgKi8KLSAgCi0gIC8qITwgRW5oYW5jZWQgRVRIRVJORVQgRE1BIFBUUCBEZXNjcmlwdG9ycyAqLwotICB1aW50MzJfdCAgIEV4dGVuZGVkU3RhdHVzOyAgICAgICAgLyohPCBFeHRlbmRlZCBzdGF0dXMgZm9yIFBUUCByZWNlaXZlIGRlc2NyaXB0b3IgKi8KLSAgCi0gIHVpbnQzMl90ICAgUmVzZXJ2ZWQxOyAgICAgICAgICAgICAvKiE8IFJlc2VydmVkICovCi0gIAotICB1aW50MzJfdCAgIFRpbWVTdGFtcExvdzsgICAgICAgICAgLyohPCBUaW1lIFN0YW1wIExvdyB2YWx1ZSBmb3IgdHJhbnNtaXQgYW5kIHJlY2VpdmUgKi8KLSAgCi0gIHVpbnQzMl90ICAgVGltZVN0YW1wSGlnaDsgICAgICAgICAvKiE8IFRpbWUgU3RhbXAgSGlnaCB2YWx1ZSBmb3IgdHJhbnNtaXQgYW5kIHJlY2VpdmUgKi8KLQotfSBFVEhfRE1BRGVzY1R5cGVEZWY7Ci0KLS8qKiAKLSAgKiBAYnJpZWYgIFJlY2VpdmVkIEZyYW1lIEluZm9ybWF0aW9ucyBzdHJ1Y3R1cmUgZGVmaW5pdGlvbgotICAqLyAKLXR5cGVkZWYgc3RydWN0ICAKLXsKLSAgRVRIX0RNQURlc2NUeXBlRGVmICpGU1J4RGVzYzsgICAgICAgICAgLyohPCBGaXJzdCBTZWdtZW50IFJ4IERlc2MgKi8KLSAgCi0gIEVUSF9ETUFEZXNjVHlwZURlZiAqTFNSeERlc2M7ICAgICAgICAgIC8qITwgTGFzdCBTZWdtZW50IFJ4IERlc2MgKi8KLSAgCi0gIHVpbnQzMl90ICBTZWdDb3VudDsgICAgICAgICAgICAgICAgICAgIC8qITwgU2VnbWVudCBjb3VudCAqLwotICAKLSAgdWludDMyX3QgbGVuZ3RoOyAgICAgICAgICAgICAgICAgICAgICAgLyohPCBGcmFtZSBsZW5ndGggKi8KLSAgCi0gIHVpbnQzMl90IGJ1ZmZlcjsgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRnJhbWUgYnVmZmVyICovCi0KLX0gRVRIX0RNQVJ4RnJhbWVJbmZvczsKLQotLyoqIAotICAqIEBicmllZiAgRVRIIEhhbmRsZSBTdHJ1Y3R1cmUgZGVmaW5pdGlvbiAgCisgIHVpbnQzMl90CisgIERlc2NyaXB0b3JTa2lwTGVuZ3RoOyAgICAgICAgLyohPCBTcGVjaWZpZXMgdGhlIG51bWJlciBvZiB3b3JkIHRvIHNraXAgYmV0d2VlbiB0d28gdW5jaGFpbmVkIGRlc2NyaXB0b3JzIChSaW5nIG1vZGUpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgbXVzdCBiZSBhIG51bWJlciBiZXR3ZWVuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTWluX0RhdGEgPSAwIGFuZCBNYXhfRGF0YSA9IDMyICovCit9IEVUSF9ETUFDb25maWdUeXBlRGVmOworLyoqCisgICoKICAgKi8KLSAgCisKKy8qKgorICAqIEBicmllZiAgSEFMIEVUSCBNZWRpYSBJbnRlcmZhY2VzIGVudW0gZGVmaW5pdGlvbgorICAqLwordHlwZWRlZiBlbnVtCit7CisgIEhBTF9FVEhfTUlJX01PREUgICAgICAgICAgICAgPSAweDAwVSwgICAvKiE8ICBNZWRpYSBJbmRlcGVuZGVudCBJbnRlcmZhY2UgICAgICAgICAgICAgICAqLworICBIQUxfRVRIX1JNSUlfTU9ERSAgICAgICAgICAgID0gKCh1aW50MzJfdClTWVNDRkdfUE1DX01JSV9STUlJX1NFTCkgICAgLyohPCAgIFJlZHVjZWQgTWVkaWEgSW5kZXBlbmRlbnQgSW50ZXJmYWNlICAgICAgICovCit9IEVUSF9NZWRpYUludGVyZmFjZVR5cGVEZWY7CisvKioKKyAgKgorICAqLworCisvKioKKyAgKiBAYnJpZWYgIEhBTCBFVEggUFRQIFVwZGF0ZSB0eXBlIGVudW0gZGVmaW5pdGlvbgorICAqLwordHlwZWRlZiBlbnVtCit7CisgIEhBTF9FVEhfUFRQX1BPU0lUSVZFX1VQREFURSAgID0gMHgwMDAwMDAwMFUsICAgLyohPCAgUFRQIHBvc2l0aXZlIHRpbWUgdXBkYXRlICAgICAgICovCisgIEhBTF9FVEhfUFRQX05FR0FUSVZFX1VQREFURSAgID0gMHgwMDAwMDAwMVUgICAvKiE8ICBQVFAgbmVnYXRpdmUgdGltZSB1cGRhdGUgICAgICAgKi8KK30gRVRIX1B0cFVwZGF0ZVR5cGVEZWY7CisvKioKKyAgKgorICAqLworCisvKioKKyAgKiBAYnJpZWYgIEVUSCBJbml0IFN0cnVjdHVyZSBkZWZpbml0aW9uCisgICovCit0eXBlZGVmIHN0cnVjdAoreworCisgIHVpbnQ4X3QKKyAgKk1BQ0FkZHI7ICAgICAgICAgICAgICAgICAgLyohPCBNQUMgQWRkcmVzcyBvZiB1c2VkIEhhcmR3YXJlOiBtdXN0IGJlIHBvaW50ZXIgb24gYW4gYXJyYXkgb2YgNiBieXRlcyAqLworCisgIEVUSF9NZWRpYUludGVyZmFjZVR5cGVEZWYgICBNZWRpYUludGVyZmFjZTsgICAgICAgICAgICAvKiE8IFNlbGVjdHMgdGhlIE1JSSBpbnRlcmZhY2Ugb3IgdGhlIFJNSUkgaW50ZXJmYWNlLiAqLworCisgIEVUSF9ETUFEZXNjVHlwZURlZgorICAqVHhEZXNjOyAgICAgICAgICAgICAgICAgICAvKiE8IFByb3ZpZGVzIHRoZSBhZGRyZXNzIG9mIHRoZSBmaXJzdCBETUEgVHggZGVzY3JpcHRvciBpbiB0aGUgbGlzdCAqLworCisgIEVUSF9ETUFEZXNjVHlwZURlZgorICAqUnhEZXNjOyAgICAgICAgICAgICAgICAgICAvKiE8IFByb3ZpZGVzIHRoZSBhZGRyZXNzIG9mIHRoZSBmaXJzdCBETUEgUnggZGVzY3JpcHRvciBpbiB0aGUgbGlzdCAqLworCisgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICBSeEJ1ZmZMZW47ICAgICAgICAgICAgICAgICAvKiE8IFByb3ZpZGVzIHRoZSBsZW5ndGggb2YgUnggYnVmZmVycyBzaXplICovCisKK30gRVRIX0luaXRUeXBlRGVmOworLyoqCisgICoKKyAgKi8KKworLyoqCisgICogQGJyaWVmICBFVEggUFRQIEluaXQgU3RydWN0dXJlIGRlZmluaXRpb24KKyAgKi8KK3R5cGVkZWYgc3RydWN0Cit7CisgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICBUaW1lc3RhbXA7ICAgICAgICAgICAgICAgICAgICAvKiE8IEVuYWJsZSBUaW1lc3RhbXAgKi8KKyAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgIFRpbWVzdGFtcFVwZGF0ZU1vZGU7ICAgICAgICAgIC8qITwgRmluZSBvciBDb2Fyc2UgVGltZXN0YW1wIFVwZGF0ZSAqLworICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgVGltZXN0YW1wSW5pdGlhbGl6ZTsgICAgICAgICAgLyohPCBJbml0aWFsaXplIFRpbWVzdGFtcCAqLworICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgVGltZXN0YW1wVXBkYXRlOyAgICAgICAgICAgICAgLyohPCBUaW1lc3RhbXAgVXBkYXRlICovCisgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICBUaW1lc3RhbXBBZGRlbmRVcGRhdGU7ICAgICAgICAvKiE8IFRpbWVzdGFtcCBBZGRlbmQgVXBkYXRlICovCisgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICBUaW1lc3RhbXBBbGw7ICAgICAgICAgICAgICAgICAvKiE8IEVuYWJsZSBUaW1lc3RhbXAgZm9yIEFsbCBQYWNrZXRzICovCisgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICBUaW1lc3RhbXBSb2xsb3Zlck1vZGU7ICAgICAgICAvKiE8IFRpbWVzdGFtcCBEaWdpdGFsIG9yIEJpbmFyeSBSb2xsb3ZlciBDb250cm9sICovCisgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICBUaW1lc3RhbXBWMjsgICAgICAgICAgICAgICAgICAvKiE8IEVuYWJsZSBQVFAgUGFja2V0IFByb2Nlc3NpbmcgZm9yIFZlcnNpb24gMiBGb3JtYXQgKi8KKyAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgIFRpbWVzdGFtcEV0aGVybmV0OyAgICAgICAgICAgIC8qITwgRW5hYmxlIFByb2Nlc3Npbmcgb2YgUFRQIG92ZXIgRXRoZXJuZXQgUGFja2V0cyAqLworICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgVGltZXN0YW1wSVB2NjsgICAgICAgICAgICAgICAgLyohPCBFbmFibGUgUHJvY2Vzc2luZyBvZiBQVFAgUGFja2V0cyBTZW50IG92ZXIgSVB2Ni1VRFAgKi8KKyAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgIFRpbWVzdGFtcElQdjQ7ICAgICAgICAgICAgICAgIC8qITwgRW5hYmxlIFByb2Nlc3Npbmcgb2YgUFRQIFBhY2tldHMgU2VudCBvdmVyIElQdjQtVURQICovCisgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICBUaW1lc3RhbXBFdmVudDsgICAgICAgICAgICAgICAvKiE8IEVuYWJsZSBUaW1lc3RhbXAgU25hcHNob3QgZm9yIEV2ZW50IE1lc3NhZ2VzICovCisgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICBUaW1lc3RhbXBNYXN0ZXI7ICAgICAgICAgICAgICAvKiE8IEVuYWJsZSBUaW1lc3RhbXAgU25hcHNob3QgZm9yIEV2ZW50IE1lc3NhZ2VzICovCisgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICBUaW1lc3RhbXBGaWx0ZXI7ICAgICAgICAgICAgICAvKiE8IEVuYWJsZSBNQUMgQWRkcmVzcyBmb3IgUFRQIFBhY2tldCBGaWx0ZXJpbmcgKi8KKyAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgIFRpbWVzdGFtcENsb2NrVHlwZTsgICAgICAgICAgIC8qITwgVGltZSBzdGFtcCBjbG9jayBub2RlIHR5cGUgKi8KKyAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgIFRpbWVzdGFtcEFkZGVuZDsgICAgICAgICAgICAgIC8qITwgVGltZXN0YW1wIGFkZGVuZCB2YWx1ZSAqLworICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgVGltZXN0YW1wU3Vic2Vjb25kSW5jOyAgICAgICAgLyohPCBTdWJzZWNvbmQgSW5jcmVtZW50ICovCisKK30gRVRIX1BUUF9Db25maWdUeXBlRGVmOworLyoqCisgICoKKyAgKi8KKworLyoqCisgICogQGJyaWVmICBIQUwgU3RhdGUgc3RydWN0dXJlcyBkZWZpbml0aW9uCisgICovCit0eXBlZGVmIHVpbnQzMl90IEhBTF9FVEhfU3RhdGVUeXBlRGVmOworLyoqCisgICoKKyAgKi8KKworLyoqCisgICogQGJyaWVmICBIQUwgRVRIIFJ4IEdldCBCdWZmZXIgRnVuY3Rpb24gZGVmaW5pdGlvbgorICAqLwordHlwZWRlZiAgdm9pZCAoKnBFVEhfcnhBbGxvY2F0ZUNhbGxiYWNrVHlwZURlZikodWludDhfdCAqKmJ1ZmZlcik7ICAvKiE8IHBvaW50ZXIgdG8gYW4gRVRIIFJ4IEdldCBCdWZmZXIgRnVuY3Rpb24gKi8KKy8qKgorICAqCisgICovCisKKy8qKgorICAqIEBicmllZiAgSEFMIEVUSCBSeCBTZXQgQXBwIERhdGEgRnVuY3Rpb24gZGVmaW5pdGlvbgorICAqLwordHlwZWRlZiAgdm9pZCAoKnBFVEhfcnhMaW5rQ2FsbGJhY2tUeXBlRGVmKSh2b2lkICoqcFN0YXJ0LCB2b2lkICoqcEVuZCwgdWludDhfdCAqYnVmZiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDE2X3QgTGVuZ3RoKTsgLyohPCBwb2ludGVyIHRvIGFuIEVUSCBSeCBTZXQgQXBwIERhdGEgRnVuY3Rpb24gKi8KKy8qKgorICAqCisgICovCisKKy8qKgorICAqIEBicmllZiAgSEFMIEVUSCBUeCBGcmVlIEZ1bmN0aW9uIGRlZmluaXRpb24KKyAgKi8KK3R5cGVkZWYgIHZvaWQgKCpwRVRIX3R4RnJlZUNhbGxiYWNrVHlwZURlZikodWludDMyX3QgKmJ1ZmZlcik7ICAvKiE8IHBvaW50ZXIgdG8gYW4gRVRIIFR4IEZyZWUgZnVuY3Rpb24gKi8KKy8qKgorICAqCisgICovCisKKy8qKgorICAqIEBicmllZiAgSEFMIEVUSCBUeCBGcmVlIEZ1bmN0aW9uIGRlZmluaXRpb24KKyAgKi8KK3R5cGVkZWYgIHZvaWQgKCpwRVRIX3R4UHRwQ2FsbGJhY2tUeXBlRGVmKSh1aW50MzJfdCAqYnVmZmVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVUSF9UaW1lU3RhbXBUeXBlRGVmICp0aW1lc3RhbXApOyAgLyohPCBwb2ludGVyIHRvIGFuIEVUSCBUeCBGcmVlIGZ1bmN0aW9uICovCisvKioKKyAgKgorICAqLworCisvKioKKyAgKiBAYnJpZWYgIEVUSCBIYW5kbGUgU3RydWN0dXJlIGRlZmluaXRpb24KKyAgKi8KICNpZiAoVVNFX0hBTF9FVEhfUkVHSVNURVJfQ0FMTEJBQ0tTID09IDEpCiB0eXBlZGVmIHN0cnVjdCBfX0VUSF9IYW5kbGVUeXBlRGVmCiAjZWxzZQogdHlwZWRlZiBzdHJ1Y3QKICNlbmRpZiAvKiBVU0VfSEFMX0VUSF9SRUdJU1RFUl9DQUxMQkFDS1MgKi8KIHsKLSAgRVRIX1R5cGVEZWYgICAgICAgICAgICAgICAgKkluc3RhbmNlOyAgICAgLyohPCBSZWdpc3RlciBiYXNlIGFkZHJlc3MgICAgICAgKi8KLSAgCi0gIEVUSF9Jbml0VHlwZURlZiAgICAgICAgICAgIEluaXQ7ICAgICAgICAgIC8qITwgRXRoZXJuZXQgSW5pdCBDb25maWd1cmF0aW9uICovCi0gIAotICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICBMaW5rU3RhdHVzOyAgICAvKiE8IEV0aGVybmV0IGxpbmsgc3RhdHVzICAgICAgICAqLwotICAKLSAgRVRIX0RNQURlc2NUeXBlRGVmICAgICAgICAgKlJ4RGVzYzsgICAgICAgLyohPCBSeCBkZXNjcmlwdG9yIHRvIEdldCAgICAgICAgKi8KLSAgCi0gIEVUSF9ETUFEZXNjVHlwZURlZiAgICAgICAgICpUeERlc2M7ICAgICAgIC8qITwgVHggZGVzY3JpcHRvciB0byBTZXQgICAgICAgICovCi0gIAotICBFVEhfRE1BUnhGcmFtZUluZm9zICAgICAgICBSeEZyYW1lSW5mb3M7ICAvKiE8IGxhc3QgUnggZnJhbWUgaW5mb3MgICAgICAgICAqLwotICAKLSAgX19JTyBIQUxfRVRIX1N0YXRlVHlwZURlZiAgU3RhdGU7ICAgICAgICAgLyohPCBFVEggY29tbXVuaWNhdGlvbiBzdGF0ZSAgICAgKi8KLSAgCi0gIEhBTF9Mb2NrVHlwZURlZiAgICAgICAgICAgIExvY2s7ICAgICAgICAgIC8qITwgRVRIIExvY2sgICAgICAgICAgICAgICAgICAgICovCisgIEVUSF9UeXBlRGVmICAgICAgICAgICAgICAgICpJbnN0YW5jZTsgICAgICAgICAgICAgICAgIC8qITwgUmVnaXN0ZXIgYmFzZSBhZGRyZXNzICAgICAgICovCisKKyAgRVRIX0luaXRUeXBlRGVmICAgICAgICAgICAgSW5pdDsgICAgICAgICAgICAgICAgICAgICAgLyohPCBFdGhlcm5ldCBJbml0IENvbmZpZ3VyYXRpb24gKi8KKworICBFVEhfVHhEZXNjTGlzdFR5cGVEZWYgICAgICBUeERlc2NMaXN0OyAgICAgICAgICAgICAgICAvKiE8IFR4IGRlc2NyaXB0b3Igd3JhcHBlcjogaG9sZHMgYWxsIFR4IGRlc2NyaXB0b3JzIGxpc3QKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkZHJlc3NlcyBhbmQgY3VycmVudCBkZXNjcmlwdG9yIGluZGV4ICAqLworCisgIEVUSF9SeERlc2NMaXN0VHlwZURlZiAgICAgIFJ4RGVzY0xpc3Q7ICAgICAgICAgICAgICAgIC8qITwgUnggZGVzY3JpcHRvciB3cmFwcGVyOiBob2xkcyBhbGwgUnggZGVzY3JpcHRvcnMgbGlzdAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWRkcmVzc2VzIGFuZCBjdXJyZW50IGRlc2NyaXB0b3IgaW5kZXggICovCisKKyNpZmRlZiBIQUxfRVRIX1VTRV9QVFAKKyAgRVRIX1RpbWVTdGFtcFR5cGVEZWYgICAgICAgVHhUaW1lc3RhbXA7ICAgICAgICAgICAgICAgLyohPCBUeCBUaW1lc3RhbXAgKi8KKyNlbmRpZiAvKiBIQUxfRVRIX1VTRV9QVFAgKi8KKworICBfX0lPIEhBTF9FVEhfU3RhdGVUeXBlRGVmICBnU3RhdGU7ICAgICAgICAgICAgICAgICAgIC8qITwgRVRIIHN0YXRlIGluZm9ybWF0aW9uIHJlbGF0ZWQgdG8gZ2xvYmFsIEhhbmRsZSBtYW5hZ2VtZW50CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCBhbHNvIHJlbGF0ZWQgdG8gVHggb3BlcmF0aW9ucy4gVGhpcyBwYXJhbWV0ZXIgY2FuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJlIGEgdmFsdWUgb2YgQHJlZiBIQUxfRVRIX1N0YXRlVHlwZURlZiAqLworCisgIF9fSU8gdWludDMyX3QgICAgICAgICAgICAgIEVycm9yQ29kZTsgICAgICAgICAgICAgICAgIC8qITwgSG9sZHMgdGhlIGdsb2JhbCBFcnJvciBjb2RlIG9mIHRoZSBFVEggSEFMIHN0YXR1cyBtYWNoaW5lCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGEgdmFsdWUgb2YgQHJlZiBFVEhfRXJyb3JfQ29kZS4qLworCisgIF9fSU8gdWludDMyX3QKKyAgRE1BRXJyb3JDb2RlOyAgICAgICAgICAgICAgLyohPCBIb2xkcyB0aGUgRE1BIFJ4IFR4IEVycm9yIGNvZGUgd2hlbiBhIERNQSBBSVMgaW50ZXJydXB0IG9jY3VycworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIGNvbWJpbmF0aW9uIG9mCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQHJlZiBFVEhfRE1BX1N0YXR1c19GbGFncyAqLworCisgIF9fSU8gdWludDMyX3QKKyAgTUFDRXJyb3JDb2RlOyAgICAgICAgICAgICAgLyohPCBIb2xkcyB0aGUgTUFDIFJ4IFR4IEVycm9yIGNvZGUgd2hlbiBhIE1BQyBSeCBvciBUeCBzdGF0dXMgaW50ZXJydXB0IG9jY3VycworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIGNvbWJpbmF0aW9uIG9mCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQHJlZiBFVEhfTUFDX1J4X1R4X1N0YXR1cyAqLworCisgIF9fSU8gdWludDMyX3QgICAgICAgICAgICAgIE1BQ1dha2VVcEV2ZW50OyAgICAgICAgICAgIC8qITwgSG9sZHMgdGhlIFdha2UgVXAgZXZlbnQgd2hlbiB0aGUgTUFDIGV4aXQgdGhlIHBvd2VyIGRvd24gbW9kZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIG9mCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQHJlZiBFVEhfTUFDX1dha2VfVXBfRXZlbnQgKi8KKworICBfX0lPIHVpbnQzMl90ICAgICAgICAgICAgICBNQUNMUElFdmVudDsgICAgICAgICAgICAgICAvKiE8IEhvbGRzIHRoZSBMUEkgZXZlbnQgd2hlbiB0aGUgYW4gTFBJIHN0YXR1cyBpbnRlcnJ1cHQgb2NjdXJzLgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIG9mIEByZWYgRVRIRXhfTFBJX0V2ZW50ICovCisKKyAgX19JTyB1aW50MzJfdCAgICAgICAgICAgICAgSXNQdHBDb25maWd1cmVkOyAgICAgICAgICAgLyohPCBIb2xkcyB0aGUgUFRQIGNvbmZpZ3VyYXRpb24gc3RhdHVzLgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIG9mCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQHJlZiBFVEhfUFRQX0NvbmZpZ19TdGF0dXMgKi8KIAogI2lmIChVU0VfSEFMX0VUSF9SRUdJU1RFUl9DQUxMQkFDS1MgPT0gMSkKIAotICB2b2lkICAgICgqIFR4Q3BsdENhbGxiYWNrKSAgICAgKCBzdHJ1Y3QgX19FVEhfSGFuZGxlVHlwZURlZiAqIGhldGgpOyAgLyohPCBFVEggVHggQ29tcGxldGUgQ2FsbGJhY2sgICAqLwotICB2b2lkICAgICgqIFJ4Q3BsdENhbGxiYWNrKSAgICAgKCBzdHJ1Y3QgX19FVEhfSGFuZGxlVHlwZURlZiAqIGhldGgpOyAgLyohPCBFVEggUnggIENvbXBsZXRlIENhbGxiYWNrICAgKi8KLSAgdm9pZCAgICAoKiBETUFFcnJvckNhbGxiYWNrKSAgICggc3RydWN0IF9fRVRIX0hhbmRsZVR5cGVEZWYgKiBoZXRoKTsgIC8qITwgRE1BIEVycm9yIENhbGxiYWNrICAgICAgKi8KLSAgdm9pZCAgICAoKiBNc3BJbml0Q2FsbGJhY2spICAgICggc3RydWN0IF9fRVRIX0hhbmRsZVR5cGVEZWYgKiBoZXRoKTsgIC8qITwgRVRIIE1zcCBJbml0IGNhbGxiYWNrICAgICAgICovCi0gIHZvaWQgICAgKCogTXNwRGVJbml0Q2FsbGJhY2spICAoIHN0cnVjdCBfX0VUSF9IYW5kbGVUeXBlRGVmICogaGV0aCk7ICAvKiE8IEVUSCBNc3AgRGVJbml0IGNhbGxiYWNrICAgICAqLworICB2b2lkICgqIFR4Q3BsdENhbGxiYWNrKShzdHJ1Y3QgX19FVEhfSGFuZGxlVHlwZURlZiAqaGV0aCk7ICAgICAgICAgICAgIC8qITwgRVRIIFR4IENvbXBsZXRlIENhbGxiYWNrICovCisgIHZvaWQgKCogUnhDcGx0Q2FsbGJhY2spKHN0cnVjdCBfX0VUSF9IYW5kbGVUeXBlRGVmICpoZXRoKTsgICAgICAgICAgICAvKiE8IEVUSCBSeCAgQ29tcGxldGUgQ2FsbGJhY2sgICAgICovCisgIHZvaWQgKCogRXJyb3JDYWxsYmFjaykoc3RydWN0IF9fRVRIX0hhbmRsZVR5cGVEZWYgKmhldGgpOyAgICAgICAgICAgICAvKiE8IEVUSCBFcnJvciBDYWxsYmFjayAgICovCisgIHZvaWQgKCogUE1UQ2FsbGJhY2spKHN0cnVjdCBfX0VUSF9IYW5kbGVUeXBlRGVmICpoZXRoKTsgICAgICAgICAgICAgICAvKiE8IEVUSCBQb3dlciBNYW5hZ2VtZW50IENhbGxiYWNrICAgICAgICAgICAgKi8KKyAgdm9pZCAoKiBXYWtlVXBDYWxsYmFjaykoc3RydWN0IF9fRVRIX0hhbmRsZVR5cGVEZWYgKmhldGgpOyAgICAgICAgICAgIC8qITwgRVRIIFdha2UgVVAgQ2FsbGJhY2sgICAqLworCisgIHZvaWQgKCogTXNwSW5pdENhbGxiYWNrKShzdHJ1Y3QgX19FVEhfSGFuZGxlVHlwZURlZiAqaGV0aCk7ICAgICAgICAgICAgIC8qITwgRVRIIE1zcCBJbml0IGNhbGxiYWNrICAgICAgICAgICAgICAqLworICB2b2lkICgqIE1zcERlSW5pdENhbGxiYWNrKShzdHJ1Y3QgX19FVEhfSGFuZGxlVHlwZURlZiAqaGV0aCk7ICAgICAgICAgICAvKiE8IEVUSCBNc3AgRGVJbml0IGNhbGxiYWNrICAgICAgICAgICAgKi8KIAogI2VuZGlmICAvKiBVU0VfSEFMX0VUSF9SRUdJU1RFUl9DQUxMQkFDS1MgKi8KIAorICBwRVRIX3J4QWxsb2NhdGVDYWxsYmFja1R5cGVEZWYgIHJ4QWxsb2NhdGVDYWxsYmFjazsgIC8qITwgRVRIIFJ4IEdldCBCdWZmZXIgRnVuY3Rpb24gICAqLworICBwRVRIX3J4TGlua0NhbGxiYWNrVHlwZURlZiAgICAgIHJ4TGlua0NhbGxiYWNrOyAvKiE8IEVUSCBSeCBTZXQgQXBwIERhdGEgRnVuY3Rpb24gKi8KKyAgcEVUSF90eEZyZWVDYWxsYmFja1R5cGVEZWYgICAgICB0eEZyZWVDYWxsYmFjazsgICAgICAgLyohPCBFVEggVHggRnJlZSBGdW5jdGlvbiAgICAgICAgICovCisgIHBFVEhfdHhQdHBDYWxsYmFja1R5cGVEZWYgICAgICAgdHhQdHBDYWxsYmFjazsgIC8qITwgRVRIIFR4IEhhbmRsZSBQdHAgRnVuY3Rpb24gKi8KKwogfSBFVEhfSGFuZGxlVHlwZURlZjsKKy8qKgorICAqCisgICovCiAKICNpZiAoVVNFX0hBTF9FVEhfUkVHSVNURVJfQ0FMTEJBQ0tTID09IDEpCiAvKioKQEAgLTY0OCwyMiArNTk2LDc2IEBACiAgICovCiB0eXBlZGVmIGVudW0KIHsKLSAgSEFMX0VUSF9NU1BJTklUX0NCX0lEICAgICAgICAgICAgPSAweDAwVSwgICAgLyohPCBFVEggTXNwSW5pdCBjYWxsYmFjayBJRCAgICAgICAgICAgICovCi0gIEhBTF9FVEhfTVNQREVJTklUX0NCX0lEICAgICAgICAgID0gMHgwMVUsICAgIC8qITwgRVRIIE1zcERlSW5pdCBjYWxsYmFjayBJRCAgICAgICAgICAqLwotICBIQUxfRVRIX1RYX0NPTVBMRVRFX0NCX0lEICAgICAgICA9IDB4MDJVLCAgICAvKiE8IEVUSCBUeCBDb21wbGV0ZSBDYWxsYmFjayBJRCAgICAgICAgKi8KLSAgSEFMX0VUSF9SWF9DT01QTEVURV9DQl9JRCAgICAgICAgPSAweDAzVSwgICAgLyohPCBFVEggUnggQ29tcGxldGUgQ2FsbGJhY2sgSUQgICAgICAgICovCi0gIEhBTF9FVEhfRE1BX0VSUk9SX0NCX0lEICAgICAgICAgID0gMHgwNFUsICAgIC8qITwgRVRIIERNQSBFcnJvciBDYWxsYmFjayBJRCAgICAgICAgICAqLworICBIQUxfRVRIX01TUElOSVRfQ0JfSUQgICAgICAgICAgICA9IDB4MDBVLCAgICAvKiE8IEVUSCBNc3BJbml0IGNhbGxiYWNrIElEICAgICAgICAgICAqLworICBIQUxfRVRIX01TUERFSU5JVF9DQl9JRCAgICAgICAgICA9IDB4MDFVLCAgICAvKiE8IEVUSCBNc3BEZUluaXQgY2FsbGJhY2sgSUQgICAgICAgICAqLwogCi19SEFMX0VUSF9DYWxsYmFja0lEVHlwZURlZjsKKyAgSEFMX0VUSF9UWF9DT01QTEVURV9DQl9JRCAgICAgICAgPSAweDAyVSwgICAgLyohPCBFVEggVHggQ29tcGxldGUgQ2FsbGJhY2sgSUQgICAgICAgKi8KKyAgSEFMX0VUSF9SWF9DT01QTEVURV9DQl9JRCAgICAgICAgPSAweDAzVSwgICAgLyohPCBFVEggUnggQ29tcGxldGUgQ2FsbGJhY2sgSUQgICAgICAgKi8KKyAgSEFMX0VUSF9FUlJPUl9DQl9JRCAgICAgICAgICAgICAgPSAweDA0VSwgICAgLyohPCBFVEggRXJyb3IgQ2FsbGJhY2sgSUQgICAgICAgICAgICAgKi8KKyAgSEFMX0VUSF9QTVRfQ0JfSUQgICAgICAgICAgICAgICAgPSAweDA2VSwgICAgLyohPCBFVEggUG93ZXIgTWFuYWdlbWVudCBDYWxsYmFjayBJRCAgKi8KKyAgSEFMX0VUSF9XQUtFVVBfQ0JfSUQgICAgICAgICAgICAgPSAweDA4VSAgICAgLyohPCBFVEggV2FrZSBVUCBDYWxsYmFjayBJRCAgICAgICAgICAgKi8KKworCit9IEhBTF9FVEhfQ2FsbGJhY2tJRFR5cGVEZWY7CiAKIC8qKgogICAqIEBicmllZiAgSEFMIEVUSCBDYWxsYmFjayBwb2ludGVyIGRlZmluaXRpb24KICAgKi8KLXR5cGVkZWYgIHZvaWQgKCpwRVRIX0NhbGxiYWNrVHlwZURlZikoRVRIX0hhbmRsZVR5cGVEZWYgKiBoZXRoKTsgLyohPCBwb2ludGVyIHRvIGFuIEVUSCBjYWxsYmFjayBmdW5jdGlvbiAqLwordHlwZWRlZiAgdm9pZCAoKnBFVEhfQ2FsbGJhY2tUeXBlRGVmKShFVEhfSGFuZGxlVHlwZURlZiAqaGV0aCk7ICAvKiE8IHBvaW50ZXIgdG8gYW4gRVRIIGNhbGxiYWNrIGZ1bmN0aW9uICovCiAKICNlbmRpZiAvKiBVU0VfSEFMX0VUSF9SRUdJU1RFUl9DQUxMQkFDS1MgKi8KIAotIC8qKgorLyoqCisgICogQGJyaWVmICBFVEggTUFDIGZpbHRlciBzdHJ1Y3R1cmUgZGVmaW5pdGlvbgorICAqLwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgRnVuY3Rpb25hbFN0YXRlIFByb21pc2N1b3VzTW9kZTsgICAgICAgICAgLyohPCBFbmFibGUgb3IgRGlzYWJsZSBQcm9taXNjdW91cyBNb2RlICovCisKKyAgRnVuY3Rpb25hbFN0YXRlIFJlY2VpdmVBbGxNb2RlOyAgICAgICAgICAgLyohPCBFbmFibGUgb3IgRGlzYWJsZSBSZWNlaXZlIEFsbCBNb2RlICovCisKKyAgRnVuY3Rpb25hbFN0YXRlIEhhY2hPclBlcmZlY3RGaWx0ZXI7ICAgICAgLyohPCBFbmFibGUgb3IgRGlzYWJsZSBQZXJmZWN0IGZpbHRlcmluZyBpbiBhZGRpdGlvbiB0byBIYXNoIGZpbHRlcmluZyAqLworCisgIEZ1bmN0aW9uYWxTdGF0ZSBIYXNoVW5pY2FzdDsgICAgICAgICAgICAgIC8qITwgRW5hYmxlIG9yIERpc2FibGUgSGFzaCBmaWx0ZXJpbmcgb24gdW5pY2FzdCBwYWNrZXRzICovCisKKyAgRnVuY3Rpb25hbFN0YXRlIEhhc2hNdWx0aWNhc3Q7ICAgICAgICAgICAgLyohPCBFbmFibGUgb3IgRGlzYWJsZSBIYXNoIGZpbHRlcmluZyBvbiBtdWx0aWNhc3QgcGFja2V0cyAqLworCisgIEZ1bmN0aW9uYWxTdGF0ZSBQYXNzQWxsTXVsdGljYXN0OyAgICAgICAgIC8qITwgRW5hYmxlIG9yIERpc2FibGUgcGFzc2luZyBhbGwgbXVsdGljYXN0IHBhY2tldHMgKi8KKworICBGdW5jdGlvbmFsU3RhdGUgU3JjQWRkckZpbHRlcmluZzsgICAgICAgICAvKiE8IEVuYWJsZSBvciBEaXNhYmxlIHNvdXJjZSBhZGRyZXNzIGZpbHRlcmluZyBtb2R1bGUgKi8KKworICBGdW5jdGlvbmFsU3RhdGUgU3JjQWRkckludmVyc2VGaWx0ZXJpbmc7ICAvKiE8IEVuYWJsZSBvciBEaXNhYmxlIHNvdXJjZSBhZGRyZXNzIGludmVyc2UgZmlsdGVyaW5nICovCisKKyAgRnVuY3Rpb25hbFN0YXRlIERlc3RBZGRySW52ZXJzZUZpbHRlcmluZzsgLyohPCBFbmFibGUgb3IgRGlzYWJsZSBkZXN0aW5hdGlvbiBhZGRyZXNzIGludmVyc2UgZmlsdGVyaW5nICovCisKKyAgRnVuY3Rpb25hbFN0YXRlIEJyb2FkY2FzdEZpbHRlcjsgICAgICAgICAgLyohPCBFbmFibGUgb3IgRGlzYWJsZSBicm9hZGNhc3QgZmlsdGVyICovCisKKyAgdWludDMyX3QgICAgICAgIENvbnRyb2xQYWNrZXRzRmlsdGVyOyAgICAgLyohPCBTZXQgdGhlIGNvbnRyb2wgcGFja2V0cyBmaWx0ZXIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYSB2YWx1ZSBvZiBAcmVmIEVUSF9Db250cm9sX1BhY2tldHNfRmlsdGVyICovCit9IEVUSF9NQUNGaWx0ZXJDb25maWdUeXBlRGVmOworLyoqCisgICoKKyAgKi8KKworLyoqCisgICogQGJyaWVmICBFVEggUG93ZXIgRG93biBzdHJ1Y3R1cmUgZGVmaW5pdGlvbgorICAqLwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgRnVuY3Rpb25hbFN0YXRlIFdha2VVcFBhY2tldDsgICAgLyohPCBFbmFibGUgb3IgRGlzYWJsZSBXYWtlIHVwIHBhY2tldCBkZXRlY3Rpb24gaW4gcG93ZXIgZG93biBtb2RlICovCisKKyAgRnVuY3Rpb25hbFN0YXRlIE1hZ2ljUGFja2V0OyAgICAgLyohPCBFbmFibGUgb3IgRGlzYWJsZSBNYWdpYyBwYWNrZXQgZGV0ZWN0aW9uIGluIHBvd2VyIGRvd24gbW9kZSAqLworCisgIEZ1bmN0aW9uYWxTdGF0ZSBHbG9iYWxVbmljYXN0OyAgICAvKiE8IEVuYWJsZSBvciBEaXNhYmxlIEdsb2JhbCB1bmljYXN0IHBhY2tldCBkZXRlY3Rpb24gaW4gcG93ZXIgZG93biBtb2RlICovCisKKyAgRnVuY3Rpb25hbFN0YXRlIFdha2VVcEZvcndhcmQ7ICAgIC8qITwgRW5hYmxlIG9yIERpc2FibGUgRm9yd2FyZGluZyBXYWtlIHVwIHBhY2tldHMgKi8KKworfSBFVEhfUG93ZXJEb3duQ29uZmlnVHlwZURlZjsKKy8qKgorICAqCisgICovCisKKy8qKgogICAqIEB9CiAgICovCiAKQEAgLTY3Miw4MSArNjc0LDEyIEBACiAgICogQHsKICAgKi8KIAotLyoqIEBkZWZncm91cCBFVEhfQnVmZmVyc19zZXR0aW5nIEVUSCBCdWZmZXJzIHNldHRpbmcKLSAgKiBAewotICAqLyAKLSNkZWZpbmUgRVRIX01BWF9QQUNLRVRfU0laRSAgICAgICAxNTI0VSAgICAvKiE8IEVUSF9IRUFERVIgKyBFVEhfRVhUUkEgKyBFVEhfVkxBTl9UQUcgKyBFVEhfTUFYX0VUSF9QQVlMT0FEICsgRVRIX0NSQyAqLwotI2RlZmluZSBFVEhfSEVBREVSICAgICAgICAgICAgICAgIDE0VSAgICAgIC8qITwgNiBieXRlIERlc3QgYWRkciwgNiBieXRlIFNyYyBhZGRyLCAyIGJ5dGUgbGVuZ3RoL3R5cGUgKi8KLSNkZWZpbmUgRVRIX0NSQyAgICAgICAgICAgICAgICAgICA0VSAgICAgICAvKiE8IEV0aGVybmV0IENSQyAqLwotI2RlZmluZSBFVEhfRVhUUkEgICAgICAgICAgICAgICAgIDJVICAgICAgIC8qITwgRXh0cmEgYnl0ZXMgaW4gc29tZSBjYXNlcyAqLyAgIAotI2RlZmluZSBFVEhfVkxBTl9UQUcgICAgICAgICAgICAgIDRVICAgICAgIC8qITwgb3B0aW9uYWwgODAyLjFxIFZMQU4gVGFnICovCi0jZGVmaW5lIEVUSF9NSU5fRVRIX1BBWUxPQUQgICAgICAgNDZVICAgICAgLyohPCBNaW5pbXVtIEV0aGVybmV0IHBheWxvYWQgc2l6ZSAqLwotI2RlZmluZSBFVEhfTUFYX0VUSF9QQVlMT0FEICAgICAgIDE1MDBVICAgIC8qITwgTWF4aW11bSBFdGhlcm5ldCBwYXlsb2FkIHNpemUgKi8KLSNkZWZpbmUgRVRIX0pVTUJPX0ZSQU1FX1BBWUxPQUQgICA5MDAwVSAgICAvKiE8IEp1bWJvIGZyYW1lIHBheWxvYWQgc2l6ZSAqLyAgICAgIAotCi0gLyogRXRoZXJuZXQgZHJpdmVyIHJlY2VpdmUgYnVmZmVycyBhcmUgb3JnYW5pemVkIGluIGEgY2hhaW5lZCBsaW5rZWQtbGlzdCwgd2hlbgotICAgIGFuIGV0aGVybmV0IHBhY2tldCBpcyByZWNlaXZlZCwgdGhlIFJ4LURNQSB3aWxsIHRyYW5zZmVyIHRoZSBwYWNrZXQgZnJvbSBSeEZJRk8KLSAgICB0byB0aGUgZHJpdmVyIHJlY2VpdmUgYnVmZmVycyBtZW1vcnkuCi0KLSAgICBEZXBlbmRpbmcgb24gdGhlIHNpemUgb2YgdGhlIHJlY2VpdmVkIGV0aGVybmV0IHBhY2tldCBhbmQgdGhlIHNpemUgb2YgCi0gICAgZWFjaCBldGhlcm5ldCBkcml2ZXIgcmVjZWl2ZSBidWZmZXIsIHRoZSByZWNlaXZlZCBwYWNrZXQgY2FuIHRha2Ugb25lIG9yIG1vcmUKLSAgICBldGhlcm5ldCBkcml2ZXIgcmVjZWl2ZSBidWZmZXIuIAotCi0gICAgSW4gYmVsb3cgYXJlIGRlZmluZWQgdGhlIHNpemUgb2Ygb25lIGV0aGVybmV0IGRyaXZlciByZWNlaXZlIGJ1ZmZlciBFVEhfUlhfQlVGX1NJWkUgCi0gICAgYW5kIHRoZSB0b3RhbCBjb3VudCBvZiB0aGUgZHJpdmVyIHJlY2VpdmUgYnVmZmVycyBFVEhfUlhCVUZOQi4KLQotICAgIFRoZSBjb25maWd1cmVkIHZhbHVlIGZvciBFVEhfUlhfQlVGX1NJWkUgYW5kIEVUSF9SWEJVRk5CIGFyZSBvbmx5IHByb3ZpZGVkIGFzIAotICAgIGV4YW1wbGUsIHRoZXkgY2FuIGJlIHJlY29uZmlndXJlZCBpbiB0aGUgYXBwbGljYXRpb24gbGF5ZXIgdG8gZml0IHRoZSBhcHBsaWNhdGlvbiAKLSAgICBuZWVkcyAqLyAKLQotLyogSGVyZSB3ZSBjb25maWd1cmUgZWFjaCBFdGhlcm5ldCBkcml2ZXIgcmVjZWl2ZSBidWZmZXIgdG8gZml0IHRoZSBNYXggc2l6ZSBFdGhlcm5ldAotICAgcGFja2V0ICovCi0jaWZuZGVmIEVUSF9SWF9CVUZfU0laRQotICNkZWZpbmUgRVRIX1JYX0JVRl9TSVpFICAgICAgICAgRVRIX01BWF9QQUNLRVRfU0laRSAKLSNlbmRpZgotCi0vKiA1IEV0aGVybmV0IGRyaXZlciByZWNlaXZlIGJ1ZmZlcnMgYXJlIHVzZWQgKGluIGEgY2hhaW5lZCBsaW5rZWQgbGlzdCkqLyAKLSNpZm5kZWYgRVRIX1JYQlVGTkIKLSAjZGVmaW5lIEVUSF9SWEJVRk5CICAgICAgICAgICAgIDVVICAgICAvKiAgNSBSeCBidWZmZXJzIG9mIHNpemUgRVRIX1JYX0JVRl9TSVpFICovCi0jZW5kaWYKLQotCi0gLyogRXRoZXJuZXQgZHJpdmVyIHRyYW5zbWl0IGJ1ZmZlcnMgYXJlIG9yZ2FuaXplZCBpbiBhIGNoYWluZWQgbGlua2VkLWxpc3QsIHdoZW4KLSAgICBhbiBldGhlcm5ldCBwYWNrZXQgaXMgdHJhbnNtaXR0ZWQsIFR4LURNQSB3aWxsIHRyYW5zZmVyIHRoZSBwYWNrZXQgZnJvbSB0aGUgCi0gICAgZHJpdmVyIHRyYW5zbWl0IGJ1ZmZlcnMgbWVtb3J5IHRvIHRoZSBUeEZJRk8uCi0KLSAgICBEZXBlbmRpbmcgb24gdGhlIHNpemUgb2YgdGhlIEV0aGVybmV0IHBhY2tldCB0byBiZSB0cmFuc21pdHRlZCBhbmQgdGhlIHNpemUgb2YgCi0gICAgZWFjaCBldGhlcm5ldCBkcml2ZXIgdHJhbnNtaXQgYnVmZmVyLCB0aGUgcGFja2V0IHRvIGJlIHRyYW5zbWl0dGVkIGNhbiB0YWtlIAotICAgIG9uZSBvciBtb3JlIGV0aGVybmV0IGRyaXZlciB0cmFuc21pdCBidWZmZXIuIAotCi0gICAgSW4gYmVsb3cgYXJlIGRlZmluZWQgdGhlIHNpemUgb2Ygb25lIGV0aGVybmV0IGRyaXZlciB0cmFuc21pdCBidWZmZXIgRVRIX1RYX0JVRl9TSVpFIAotICAgIGFuZCB0aGUgdG90YWwgY291bnQgb2YgdGhlIGRyaXZlciB0cmFuc21pdCBidWZmZXJzIEVUSF9UWEJVRk5CLgotCi0gICAgVGhlIGNvbmZpZ3VyZWQgdmFsdWUgZm9yIEVUSF9UWF9CVUZfU0laRSBhbmQgRVRIX1RYQlVGTkIgYXJlIG9ubHkgcHJvdmlkZWQgYXMgCi0gICAgZXhhbXBsZSwgdGhleSBjYW4gYmUgcmVjb25maWd1cmVkIGluIHRoZSBhcHBsaWNhdGlvbiBsYXllciB0byBmaXQgdGhlIGFwcGxpY2F0aW9uIAotICAgIG5lZWRzICovIAotCi0vKiBIZXJlIHdlIGNvbmZpZ3VyZSBlYWNoIEV0aGVybmV0IGRyaXZlciB0cmFuc21pdCBidWZmZXIgdG8gZml0IHRoZSBNYXggc2l6ZSBFdGhlcm5ldAotICAgcGFja2V0ICovCi0jaWZuZGVmIEVUSF9UWF9CVUZfU0laRSAKLSAjZGVmaW5lIEVUSF9UWF9CVUZfU0laRSAgICAgICAgIEVUSF9NQVhfUEFDS0VUX1NJWkUKLSNlbmRpZgotCi0vKiA1IGV0aGVybmV0IGRyaXZlciB0cmFuc21pdCBidWZmZXJzIGFyZSB1c2VkIChpbiBhIGNoYWluZWQgbGlua2VkIGxpc3QpKi8gCi0jaWZuZGVmIEVUSF9UWEJVRk5CCi0gI2RlZmluZSBFVEhfVFhCVUZOQiAgICAgICAgICAgICA1VSAgICAgIC8qIDUgIFR4IGJ1ZmZlcnMgb2Ygc2l6ZSBFVEhfVFhfQlVGX1NJWkUgKi8KLSNlbmRpZgotCi0gLyoqCi0gICogQH0KLSAgKi8KLQotLyoqIEBkZWZncm91cCBFVEhfRE1BX1RYX0Rlc2NyaXB0b3IgRVRIIERNQSBUWCBEZXNjcmlwdG9yCisvKiogQGRlZmdyb3VwIEVUSF9ETUFfVHhfRGVzY3JpcHRvcl9CaXRfRGVmaW5pdGlvbiBFVEggRE1BIFR4IERlc2NyaXB0b3IgQml0IERlZmluaXRpb24KICAgKiBAewogICAqLwogCiAvKgotICAgRE1BIFR4IERlc2NyaXB0b3IKKyAgIERNQSBUeCBOb3JtYWwgRGVzY3JpcHRvciBSZWFkIEZvcm1hdAogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBUREVTMCB8IE9XTigzMSkgfCBDVFJMWzMwOjI2XSB8IFJlc2VydmVkWzI1OjI0XSB8IENUUkxbMjM6MjBdIHwgUmVzZXJ2ZWRbMTk6MTddIHwgU3RhdHVzWzE2OjBdIHwKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KQEAgLTc1OCw3NiArNjkxLDc4IEBACiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAqLwogCi0vKiogCisvKioKICAgKiBAYnJpZWYgIEJpdCBkZWZpbml0aW9uIG9mIFRERVMwIHJlZ2lzdGVyOiBETUEgVHggZGVzY3JpcHRvciBzdGF0dXMgcmVnaXN0ZXIKLSAgKi8gCi0jZGVmaW5lIEVUSF9ETUFUWERFU0NfT1dOICAgICAgICAgICAgICAgICAgICAgMHg4MDAwMDAwMFUgIC8qITwgT1dOIGJpdDogZGVzY3JpcHRvciBpcyBvd25lZCBieSBETUEgZW5naW5lICovCi0jZGVmaW5lIEVUSF9ETUFUWERFU0NfSUMgICAgICAgICAgICAgICAgICAgICAgMHg0MDAwMDAwMFUgIC8qITwgSW50ZXJydXB0IG9uIENvbXBsZXRpb24gKi8KLSNkZWZpbmUgRVRIX0RNQVRYREVTQ19MUyAgICAgICAgICAgICAgICAgICAgICAweDIwMDAwMDAwVSAgLyohPCBMYXN0IFNlZ21lbnQgKi8KLSNkZWZpbmUgRVRIX0RNQVRYREVTQ19GUyAgICAgICAgICAgICAgICAgICAgICAweDEwMDAwMDAwVSAgLyohPCBGaXJzdCBTZWdtZW50ICovCi0jZGVmaW5lIEVUSF9ETUFUWERFU0NfREMgICAgICAgICAgICAgICAgICAgICAgMHgwODAwMDAwMFUgIC8qITwgRGlzYWJsZSBDUkMgKi8KLSNkZWZpbmUgRVRIX0RNQVRYREVTQ19EUCAgICAgICAgICAgICAgICAgICAgICAweDA0MDAwMDAwVSAgLyohPCBEaXNhYmxlIFBhZGRpbmcgKi8KLSNkZWZpbmUgRVRIX0RNQVRYREVTQ19UVFNFICAgICAgICAgICAgICAgICAgICAweDAyMDAwMDAwVSAgLyohPCBUcmFuc21pdCBUaW1lIFN0YW1wIEVuYWJsZSAqLwotI2RlZmluZSBFVEhfRE1BVFhERVNDX0NJQyAgICAgICAgICAgICAgICAgICAgIDB4MDBDMDAwMDBVICAvKiE8IENoZWNrc3VtIEluc2VydGlvbiBDb250cm9sOiA0IGNhc2VzICovCi0jZGVmaW5lIEVUSF9ETUFUWERFU0NfQ0lDX0JZUEFTUyAgICAgICAgICAgICAgMHgwMDAwMDAwMFUgIC8qITwgRG8gTm90aGluZzogQ2hlY2tzdW0gRW5naW5lIGlzIGJ5cGFzc2VkICovIAotI2RlZmluZSBFVEhfRE1BVFhERVNDX0NJQ19JUFY0SEVBREVSICAgICAgICAgIDB4MDA0MDAwMDBVICAvKiE8IElQVjQgaGVhZGVyIENoZWNrc3VtIEluc2VydGlvbiAqLyAKLSNkZWZpbmUgRVRIX0RNQVRYREVTQ19DSUNfVENQVURQSUNNUF9TRUdNRU5UICAweDAwODAwMDAwVSAgLyohPCBUQ1AvVURQL0lDTVAgQ2hlY2tzdW0gSW5zZXJ0aW9uIGNhbGN1bGF0ZWQgb3ZlciBzZWdtZW50IG9ubHkgKi8gCi0jZGVmaW5lIEVUSF9ETUFUWERFU0NfQ0lDX1RDUFVEUElDTVBfRlVMTCAgICAgMHgwMEMwMDAwMFUgIC8qITwgVENQL1VEUC9JQ01QIENoZWNrc3VtIEluc2VydGlvbiBmdWxseSBjYWxjdWxhdGVkICovIAotI2RlZmluZSBFVEhfRE1BVFhERVNDX1RFUiAgICAgICAgICAgICAgICAgICAgIDB4MDAyMDAwMDBVICAvKiE8IFRyYW5zbWl0IEVuZCBvZiBSaW5nICovCi0jZGVmaW5lIEVUSF9ETUFUWERFU0NfVENIICAgICAgICAgICAgICAgICAgICAgMHgwMDEwMDAwMFUgIC8qITwgU2Vjb25kIEFkZHJlc3MgQ2hhaW5lZCAqLwotI2RlZmluZSBFVEhfRE1BVFhERVNDX1RUU1MgICAgICAgICAgICAgICAgICAgIDB4MDAwMjAwMDBVICAvKiE8IFR4IFRpbWUgU3RhbXAgU3RhdHVzICovCi0jZGVmaW5lIEVUSF9ETUFUWERFU0NfSUhFICAgICAgICAgICAgICAgICAgICAgMHgwMDAxMDAwMFUgIC8qITwgSVAgSGVhZGVyIEVycm9yICovCi0jZGVmaW5lIEVUSF9ETUFUWERFU0NfRVMgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwODAwMFUgIC8qITwgRXJyb3Igc3VtbWFyeTogT1Igb2YgdGhlIGZvbGxvd2luZyBiaXRzOiBVRSB8fCBFRCB8fCBFQyB8fCBMQ08gfHwgTkMgfHwgTENBIHx8IEZGIHx8IEpUICovCi0jZGVmaW5lIEVUSF9ETUFUWERFU0NfSlQgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwNDAwMFUgIC8qITwgSmFiYmVyIFRpbWVvdXQgKi8KLSNkZWZpbmUgRVRIX0RNQVRYREVTQ19GRiAgICAgICAgICAgICAgICAgICAgICAweDAwMDAyMDAwVSAgLyohPCBGcmFtZSBGbHVzaGVkOiBETUEvTVRMIGZsdXNoZWQgdGhlIGZyYW1lIGR1ZSB0byBTVyBmbHVzaCAqLwotI2RlZmluZSBFVEhfRE1BVFhERVNDX1BDRSAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDEwMDBVICAvKiE8IFBheWxvYWQgQ2hlY2tzdW0gRXJyb3IgKi8KLSNkZWZpbmUgRVRIX0RNQVRYREVTQ19MQ0EgICAgICAgICAgICAgICAgICAgICAweDAwMDAwODAwVSAgLyohPCBMb3NzIG9mIENhcnJpZXI6IGNhcnJpZXIgbG9zdCBkdXJpbmcgdHJhbnNtaXNzaW9uICovCi0jZGVmaW5lIEVUSF9ETUFUWERFU0NfTkMgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDQwMFUgIC8qITwgTm8gQ2Fycmllcjogbm8gY2FycmllciBzaWduYWwgZnJvbSB0aGUgdHJhbnNjZWl2ZXIgKi8KLSNkZWZpbmUgRVRIX0RNQVRYREVTQ19MQ08gICAgICAgICAgICAgICAgICAgICAweDAwMDAwMjAwVSAgLyohPCBMYXRlIENvbGxpc2lvbjogdHJhbnNtaXNzaW9uIGFib3J0ZWQgZHVlIHRvIGNvbGxpc2lvbiAqLwotI2RlZmluZSBFVEhfRE1BVFhERVNDX0VDICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAxMDBVICAvKiE8IEV4Y2Vzc2l2ZSBDb2xsaXNpb246IHRyYW5zbWlzc2lvbiBhYm9ydGVkIGFmdGVyIDE2IGNvbGxpc2lvbnMgKi8KLSNkZWZpbmUgRVRIX0RNQVRYREVTQ19WRiAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDgwVSAgLyohPCBWTEFOIEZyYW1lICovCi0jZGVmaW5lIEVUSF9ETUFUWERFU0NfQ0MgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDA3OFUgIC8qITwgQ29sbGlzaW9uIENvdW50ICovCi0jZGVmaW5lIEVUSF9ETUFUWERFU0NfRUQgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwNFUgIC8qITwgRXhjZXNzaXZlIERlZmVycmFsICovCi0jZGVmaW5lIEVUSF9ETUFUWERFU0NfVUYgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMlUgIC8qITwgVW5kZXJmbG93IEVycm9yOiBsYXRlIGRhdGEgYXJyaXZhbCBmcm9tIHRoZSBtZW1vcnkgKi8KLSNkZWZpbmUgRVRIX0RNQVRYREVTQ19EQiAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAxVSAgLyohPCBEZWZlcnJlZCBCaXQgKi8KKyAgKi8KKyNkZWZpbmUgRVRIX0RNQVRYREVTQ19PV04gICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4ODAwMDAwMDBVKSAgLyohPCBPV04gYml0OiBkZXNjcmlwdG9yIGlzIG93bmVkIGJ5IERNQSBlbmdpbmUgKi8KKyNkZWZpbmUgRVRIX0RNQVRYREVTQ19JQyAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4NDAwMDAwMDBVKSAgLyohPCBJbnRlcnJ1cHQgb24gQ29tcGxldGlvbiAqLworI2RlZmluZSBFVEhfRE1BVFhERVNDX0xTICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgyMDAwMDAwMFUpICAvKiE8IExhc3QgU2VnbWVudCAqLworI2RlZmluZSBFVEhfRE1BVFhERVNDX0ZTICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgxMDAwMDAwMFUpICAvKiE8IEZpcnN0IFNlZ21lbnQgKi8KKyNkZWZpbmUgRVRIX0RNQVRYREVTQ19EQyAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDgwMDAwMDBVKSAgLyohPCBEaXNhYmxlIENSQyAqLworI2RlZmluZSBFVEhfRE1BVFhERVNDX0RQICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwNDAwMDAwMFUpICAvKiE8IERpc2FibGUgUGFkZGluZyAqLworI2RlZmluZSBFVEhfRE1BVFhERVNDX1RUU0UgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMjAwMDAwMFUpICAvKiE8IFRyYW5zbWl0IFRpbWUgU3RhbXAgRW5hYmxlICovCisjZGVmaW5lIEVUSF9ETUFUWERFU0NfQ0lDICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwQzAwMDAwVSkgIC8qITwgQ2hlY2tzdW0gSW5zZXJ0aW9uIENvbnRyb2w6IDQgY2FzZXMgKi8KKyNkZWZpbmUgRVRIX0RNQVRYREVTQ19DSUNfQllQQVNTICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDBVKSAgLyohPCBEbyBOb3RoaW5nOiBDaGVja3N1bSBFbmdpbmUgaXMgYnlwYXNzZWQgKi8KKyNkZWZpbmUgRVRIX0RNQVRYREVTQ19DSUNfSVBWNEhFQURFUiAgICAgICAgICAoKHVpbnQzMl90KTB4MDA0MDAwMDBVKSAgLyohPCBJUFY0IGhlYWRlciBDaGVja3N1bSBJbnNlcnRpb24gKi8KKyNkZWZpbmUgRVRIX0RNQVRYREVTQ19DSUNfVENQVURQSUNNUF9TRUdNRU5UICAoKHVpbnQzMl90KTB4MDA4MDAwMDBVKSAgLyohPCBUQ1AvVURQL0lDTVAgQ2hlY2tzdW0gSW5zZXJ0aW9uIGNhbGN1bGF0ZWQgb3ZlciBzZWdtZW50IG9ubHkgKi8KKyNkZWZpbmUgRVRIX0RNQVRYREVTQ19DSUNfVENQVURQSUNNUF9GVUxMICAgICAoKHVpbnQzMl90KTB4MDBDMDAwMDBVKSAgLyohPCBUQ1AvVURQL0lDTVAgQ2hlY2tzdW0gSW5zZXJ0aW9uIGZ1bGx5IGNhbGN1bGF0ZWQgKi8KKyNkZWZpbmUgRVRIX0RNQVRYREVTQ19URVIgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAyMDAwMDBVKSAgLyohPCBUcmFuc21pdCBFbmQgb2YgUmluZyAqLworI2RlZmluZSBFVEhfRE1BVFhERVNDX1RDSCAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDEwMDAwMFUpICAvKiE8IFNlY29uZCBBZGRyZXNzIENoYWluZWQgKi8KKyNkZWZpbmUgRVRIX0RNQVRYREVTQ19UVFNTICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMjAwMDBVKSAgLyohPCBUeCBUaW1lIFN0YW1wIFN0YXR1cyAqLworI2RlZmluZSBFVEhfRE1BVFhERVNDX0lIRSAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAxMDAwMFUpICAvKiE8IElQIEhlYWRlciBFcnJvciAqLworI2RlZmluZSBFVEhfRE1BVFhERVNDX0VTICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwODAwMFUpICAvKiE8IEVycm9yIHN1bW1hcnk6IE9SIG9mIHRoZSBmb2xsb3dpbmcgYml0czogVUUgfHwgRUQgfHwgRUMgfHwgTENPIHx8IE5DIHx8IExDQSB8fCBGRiB8fCBKVCAqLworI2RlZmluZSBFVEhfRE1BVFhERVNDX0pUICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwNDAwMFUpICAvKiE8IEphYmJlciBUaW1lb3V0ICovCisjZGVmaW5lIEVUSF9ETUFUWERFU0NfRkYgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAyMDAwVSkgIC8qITwgRnJhbWUgRmx1c2hlZDogRE1BL01UTCBmbHVzaGVkIHRoZSBmcmFtZSBkdWUgdG8gU1cgZmx1c2ggKi8KKyNkZWZpbmUgRVRIX0RNQVRYREVTQ19QQ0UgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDEwMDBVKSAgLyohPCBQYXlsb2FkIENoZWNrc3VtIEVycm9yICovCisjZGVmaW5lIEVUSF9ETUFUWERFU0NfTENBICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwODAwVSkgIC8qITwgTG9zcyBvZiBDYXJyaWVyOiBjYXJyaWVyIGxvc3QgZHVyaW5nIHRyYW5zbWlzc2lvbiAqLworI2RlZmluZSBFVEhfRE1BVFhERVNDX05DICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDQwMFUpICAvKiE8IE5vIENhcnJpZXI6IG5vIGNhcnJpZXIgc2lnbmFsIGZyb20gdGhlIHRyYW5zY2VpdmVyICovCisjZGVmaW5lIEVUSF9ETUFUWERFU0NfTENPICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMjAwVSkgIC8qITwgTGF0ZSBDb2xsaXNpb246IHRyYW5zbWlzc2lvbiBhYm9ydGVkIGR1ZSB0byBjb2xsaXNpb24gKi8KKyNkZWZpbmUgRVRIX0RNQVRYREVTQ19FQyAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAxMDBVKSAgLyohPCBFeGNlc3NpdmUgQ29sbGlzaW9uOiB0cmFuc21pc3Npb24gYWJvcnRlZCBhZnRlciAxNiBjb2xsaXNpb25zICovCisjZGVmaW5lIEVUSF9ETUFUWERFU0NfVkYgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDgwVSkgIC8qITwgVkxBTiBGcmFtZSAqLworI2RlZmluZSBFVEhfRE1BVFhERVNDX0NDICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDA3OFUpICAvKiE8IENvbGxpc2lvbiBDb3VudCAqLworI2RlZmluZSBFVEhfRE1BVFhERVNDX0VEICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwNFUpICAvKiE8IEV4Y2Vzc2l2ZSBEZWZlcnJhbCAqLworI2RlZmluZSBFVEhfRE1BVFhERVNDX1VGICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMlUpICAvKiE8IFVuZGVyZmxvdyBFcnJvcjogbGF0ZSBkYXRhIGFycml2YWwgZnJvbSB0aGUgbWVtb3J5ICovCisjZGVmaW5lIEVUSF9ETUFUWERFU0NfREIgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAxVSkgIC8qITwgRGVmZXJyZWQgQml0ICovCiAKLS8qKiAKKy8qKgogICAqIEBicmllZiAgQml0IGRlZmluaXRpb24gb2YgVERFUzEgcmVnaXN0ZXIKLSAgKi8gCi0jZGVmaW5lIEVUSF9ETUFUWERFU0NfVEJTMiAgMHgxRkZGMDAwMFUgIC8qITwgVHJhbnNtaXQgQnVmZmVyMiBTaXplICovCi0jZGVmaW5lIEVUSF9ETUFUWERFU0NfVEJTMSAgMHgwMDAwMUZGRlUgIC8qITwgVHJhbnNtaXQgQnVmZmVyMSBTaXplICovCisgICovCisjZGVmaW5lIEVUSF9ETUFUWERFU0NfVEJTMiAgKCh1aW50MzJfdCkweDFGRkYwMDAwVSkgIC8qITwgVHJhbnNtaXQgQnVmZmVyMiBTaXplICovCisjZGVmaW5lIEVUSF9ETUFUWERFU0NfVEJTMSAgKCh1aW50MzJfdCkweDAwMDAxRkZGVSkgIC8qITwgVHJhbnNtaXQgQnVmZmVyMSBTaXplICovCiAKLS8qKiAKKy8qKgogICAqIEBicmllZiAgQml0IGRlZmluaXRpb24gb2YgVERFUzIgcmVnaXN0ZXIKLSAgKi8gCi0jZGVmaW5lIEVUSF9ETUFUWERFU0NfQjFBUCAgMHhGRkZGRkZGRlUgIC8qITwgQnVmZmVyMSBBZGRyZXNzIFBvaW50ZXIgKi8KKyAgKi8KKyNkZWZpbmUgRVRIX0RNQVRYREVTQ19CMUFQICAoKHVpbnQzMl90KTB4RkZGRkZGRkZVKSAgLyohPCBCdWZmZXIxIEFkZHJlc3MgUG9pbnRlciAqLwogCi0vKiogCisvKioKICAgKiBAYnJpZWYgIEJpdCBkZWZpbml0aW9uIG9mIFRERVMzIHJlZ2lzdGVyCi0gICovIAotI2RlZmluZSBFVEhfRE1BVFhERVNDX0IyQVAgIDB4RkZGRkZGRkZVICAvKiE8IEJ1ZmZlcjIgQWRkcmVzcyBQb2ludGVyICovCisgICovCisjZGVmaW5lIEVUSF9ETUFUWERFU0NfQjJBUCAgKCh1aW50MzJfdCkweEZGRkZGRkZGVSkgIC8qITwgQnVmZmVyMiBBZGRyZXNzIFBvaW50ZXIgKi8KIAotICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotICBUREVTNiB8ICAgICAgICAgICAgICAgICAgICAgICAgIFRyYW5zbWl0IFRpbWUgU3RhbXAgTG93IFszMTowXSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKLSAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSAgVERFUzcgfCAgICAgICAgICAgICAgICAgICAgICAgICBUcmFuc21pdCBUaW1lIFN0YW1wIEhpZ2ggWzMxOjBdICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Ci0gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1RERVM2IHwgICAgICAgICAgICAgICAgICAgICAgICAgVHJhbnNtaXQgVGltZSBTdGFtcCBMb3cgWzMxOjBdICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1RERVM3IHwgICAgICAgICAgICAgICAgICAgICAgICAgVHJhbnNtaXQgVGltZSBTdGFtcCBIaWdoIFszMTowXSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAKIC8qIEJpdCBkZWZpbml0aW9uIG9mIFRERVM2IHJlZ2lzdGVyICovCi0gI2RlZmluZSBFVEhfRE1BUFRQVFhERVNDX1RUU0wgIDB4RkZGRkZGRkZVICAvKiBUcmFuc21pdCBUaW1lIFN0YW1wIExvdyAqLworI2RlZmluZSBFVEhfRE1BUFRQVFhERVNDX1RUU0wgICgodWludDMyX3QpMHhGRkZGRkZGRlUpICAvKiBUcmFuc21pdCBUaW1lIFN0YW1wIExvdyAqLwogCiAvKiBCaXQgZGVmaW5pdGlvbiBvZiBUREVTNyByZWdpc3RlciAqLwotICNkZWZpbmUgRVRIX0RNQVBUUFRYREVTQ19UVFNIICAweEZGRkZGRkZGVSAgLyogVHJhbnNtaXQgVGltZSBTdGFtcCBIaWdoICovCisjZGVmaW5lIEVUSF9ETUFQVFBUWERFU0NfVFRTSCAgKCh1aW50MzJfdCkweEZGRkZGRkZGVSkgIC8qIFRyYW5zbWl0IFRpbWUgU3RhbXAgSGlnaCAqLwogCiAvKioKICAgKiBAfQotICAqLyAKLS8qKiBAZGVmZ3JvdXAgRVRIX0RNQV9SWF9EZXNjcmlwdG9yIEVUSCBETUEgUlggRGVzY3JpcHRvcgorICAqLworCisKKy8qKiBAZGVmZ3JvdXAgRVRIX0RNQV9SeF9EZXNjcmlwdG9yX0JpdF9EZWZpbml0aW9uIEVUSCBETUEgUnggRGVzY3JpcHRvciBCaXQgRGVmaW5pdGlvbgogICAqIEB7CiAgICovCiAKIC8qCi0gIERNQSBSeCBEZXNjcmlwdG9yCisgIERNQSBSeCBOb3JtYWwgRGVzY3JpcHRvciByZWFkIGZvcm1hdAogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBSREVTMCB8IE9XTigzMSkgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0YXR1cyBbMzA6MF0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpAQCAtODM5LDQ3ICs3NzQsNDcgQEAKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAqLwogCi0vKiogCisvKioKICAgKiBAYnJpZWYgIEJpdCBkZWZpbml0aW9uIG9mIFJERVMwIHJlZ2lzdGVyOiBETUEgUnggZGVzY3JpcHRvciBzdGF0dXMgcmVnaXN0ZXIKLSAgKi8gCi0jZGVmaW5lIEVUSF9ETUFSWERFU0NfT1dOICAgICAgICAgMHg4MDAwMDAwMFUgIC8qITwgT1dOIGJpdDogZGVzY3JpcHRvciBpcyBvd25lZCBieSBETUEgZW5naW5lICAqLwotI2RlZmluZSBFVEhfRE1BUlhERVNDX0FGTSAgICAgICAgIDB4NDAwMDAwMDBVICAvKiE8IERBIEZpbHRlciBGYWlsIGZvciB0aGUgcnggZnJhbWUgICovCi0jZGVmaW5lIEVUSF9ETUFSWERFU0NfRkwgICAgICAgICAgMHgzRkZGMDAwMFUgIC8qITwgUmVjZWl2ZSBkZXNjcmlwdG9yIGZyYW1lIGxlbmd0aCAgKi8KLSNkZWZpbmUgRVRIX0RNQVJYREVTQ19FUyAgICAgICAgICAweDAwMDA4MDAwVSAgLyohPCBFcnJvciBzdW1tYXJ5OiBPUiBvZiB0aGUgZm9sbG93aW5nIGJpdHM6IERFIHx8IE9FIHx8IElQQyB8fCBMQyB8fCBSV1QgfHwgUkUgfHwgQ0UgKi8KLSNkZWZpbmUgRVRIX0RNQVJYREVTQ19ERSAgICAgICAgICAweDAwMDA0MDAwVSAgLyohPCBEZXNjcmlwdG9yIGVycm9yOiBubyBtb3JlIGRlc2NyaXB0b3JzIGZvciByZWNlaXZlIGZyYW1lICAqLwotI2RlZmluZSBFVEhfRE1BUlhERVNDX1NBRiAgICAgICAgIDB4MDAwMDIwMDBVICAvKiE8IFNBIEZpbHRlciBGYWlsIGZvciB0aGUgcmVjZWl2ZWQgZnJhbWUgKi8KLSNkZWZpbmUgRVRIX0RNQVJYREVTQ19MRSAgICAgICAgICAweDAwMDAxMDAwVSAgLyohPCBGcmFtZSBzaXplIG5vdCBtYXRjaGluZyB3aXRoIGxlbmd0aCBmaWVsZCAqLwotI2RlZmluZSBFVEhfRE1BUlhERVNDX09FICAgICAgICAgIDB4MDAwMDA4MDBVICAvKiE8IE92ZXJmbG93IEVycm9yOiBGcmFtZSB3YXMgZGFtYWdlZCBkdWUgdG8gYnVmZmVyIG92ZXJmbG93ICovCi0jZGVmaW5lIEVUSF9ETUFSWERFU0NfVkxBTiAgICAgICAgMHgwMDAwMDQwMFUgIC8qITwgVkxBTiBUYWc6IHJlY2VpdmVkIGZyYW1lIGlzIGEgVkxBTiBmcmFtZSAqLwotI2RlZmluZSBFVEhfRE1BUlhERVNDX0ZTICAgICAgICAgIDB4MDAwMDAyMDBVICAvKiE8IEZpcnN0IGRlc2NyaXB0b3Igb2YgdGhlIGZyYW1lICAqLwotI2RlZmluZSBFVEhfRE1BUlhERVNDX0xTICAgICAgICAgIDB4MDAwMDAxMDBVICAvKiE8IExhc3QgZGVzY3JpcHRvciBvZiB0aGUgZnJhbWUgICovIAotI2RlZmluZSBFVEhfRE1BUlhERVNDX0lQVjRIQ0UgICAgIDB4MDAwMDAwODBVICAvKiE8IElQQyBDaGVja3N1bSBFcnJvcjogUnggSXB2NCBoZWFkZXIgY2hlY2tzdW0gZXJyb3IgICAqLyAgICAKLSNkZWZpbmUgRVRIX0RNQVJYREVTQ19MQyAgICAgICAgICAweDAwMDAwMDQwVSAgLyohPCBMYXRlIGNvbGxpc2lvbiBvY2N1cnJlZCBkdXJpbmcgcmVjZXB0aW9uICAgKi8KLSNkZWZpbmUgRVRIX0RNQVJYREVTQ19GVCAgICAgICAgICAweDAwMDAwMDIwVSAgLyohPCBGcmFtZSB0eXBlIC0gRXRoZXJuZXQsIG90aGVyd2lzZSA4MDIuMyAgICAqLwotI2RlZmluZSBFVEhfRE1BUlhERVNDX1JXVCAgICAgICAgIDB4MDAwMDAwMTBVICAvKiE8IFJlY2VpdmUgV2F0Y2hkb2cgVGltZW91dDogd2F0Y2hkb2cgdGltZXIgZXhwaXJlZCBkdXJpbmcgcmVjZXB0aW9uICAgICovCi0jZGVmaW5lIEVUSF9ETUFSWERFU0NfUkUgICAgICAgICAgMHgwMDAwMDAwOFUgIC8qITwgUmVjZWl2ZSBlcnJvcjogZXJyb3IgcmVwb3J0ZWQgYnkgTUlJIGludGVyZmFjZSAgKi8KLSNkZWZpbmUgRVRIX0RNQVJYREVTQ19EQkUgICAgICAgICAweDAwMDAwMDA0VSAgLyohPCBEcmliYmxlIGJpdCBlcnJvcjogZnJhbWUgY29udGFpbnMgbm9uIGludCBtdWx0aXBsZSBvZiA4IGJpdHMgICovCi0jZGVmaW5lIEVUSF9ETUFSWERFU0NfQ0UgICAgICAgICAgMHgwMDAwMDAwMlUgIC8qITwgQ1JDIGVycm9yICovCi0jZGVmaW5lIEVUSF9ETUFSWERFU0NfTUFNUENFICAgICAgMHgwMDAwMDAwMVUgIC8qITwgUnggTUFDIEFkZHJlc3MvUGF5bG9hZCBDaGVja3N1bSBFcnJvcjogUnggTUFDIGFkZHJlc3MgbWF0Y2hlZC8gUnggUGF5bG9hZCBDaGVja3N1bSBFcnJvciAqLworICAqLworI2RlZmluZSBFVEhfRE1BUlhERVNDX09XTiAgICAgICAgICgodWludDMyX3QpMHg4MDAwMDAwMFUpICAvKiE8IE9XTiBiaXQ6IGRlc2NyaXB0b3IgaXMgb3duZWQgYnkgRE1BIGVuZ2luZSAgKi8KKyNkZWZpbmUgRVRIX0RNQVJYREVTQ19BRk0gICAgICAgICAoKHVpbnQzMl90KTB4NDAwMDAwMDBVKSAgLyohPCBEQSBGaWx0ZXIgRmFpbCBmb3IgdGhlIHJ4IGZyYW1lICAqLworI2RlZmluZSBFVEhfRE1BUlhERVNDX0ZMICAgICAgICAgICgodWludDMyX3QpMHgzRkZGMDAwMFUpICAvKiE8IFJlY2VpdmUgZGVzY3JpcHRvciBmcmFtZSBsZW5ndGggICovCisjZGVmaW5lIEVUSF9ETUFSWERFU0NfRVMgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDA4MDAwVSkgIC8qITwgRXJyb3Igc3VtbWFyeTogT1Igb2YgdGhlIGZvbGxvd2luZyBiaXRzOiBERSB8fCBPRSB8fCBJUEMgfHwgTEMgfHwgUldUIHx8IFJFIHx8IENFICovCisjZGVmaW5lIEVUSF9ETUFSWERFU0NfREUgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDA0MDAwVSkgIC8qITwgRGVzY3JpcHRvciBlcnJvcjogbm8gbW9yZSBkZXNjcmlwdG9ycyBmb3IgcmVjZWl2ZSBmcmFtZSAgKi8KKyNkZWZpbmUgRVRIX0RNQVJYREVTQ19TQUYgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDIwMDBVKSAgLyohPCBTQSBGaWx0ZXIgRmFpbCBmb3IgdGhlIHJlY2VpdmVkIGZyYW1lICovCisjZGVmaW5lIEVUSF9ETUFSWERFU0NfTEUgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAxMDAwVSkgIC8qITwgRnJhbWUgc2l6ZSBub3QgbWF0Y2hpbmcgd2l0aCBsZW5ndGggZmllbGQgKi8KKyNkZWZpbmUgRVRIX0RNQVJYREVTQ19PRSAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDA4MDBVKSAgLyohPCBPdmVyZmxvdyBFcnJvcjogRnJhbWUgd2FzIGRhbWFnZWQgZHVlIHRvIGJ1ZmZlciBvdmVyZmxvdyAqLworI2RlZmluZSBFVEhfRE1BUlhERVNDX1ZMQU4gICAgICAgICgodWludDMyX3QpMHgwMDAwMDQwMFUpICAvKiE8IFZMQU4gVGFnOiByZWNlaXZlZCBmcmFtZSBpcyBhIFZMQU4gZnJhbWUgKi8KKyNkZWZpbmUgRVRIX0RNQVJYREVTQ19GUyAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAyMDBVKSAgLyohPCBGaXJzdCBkZXNjcmlwdG9yIG9mIHRoZSBmcmFtZSAgKi8KKyNkZWZpbmUgRVRIX0RNQVJYREVTQ19MUyAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAxMDBVKSAgLyohPCBMYXN0IGRlc2NyaXB0b3Igb2YgdGhlIGZyYW1lICAqLworI2RlZmluZSBFVEhfRE1BUlhERVNDX0lQVjRIQ0UgICAgICgodWludDMyX3QpMHgwMDAwMDA4MFUpICAvKiE8IElQQyBDaGVja3N1bSBFcnJvcjogUnggSXB2NCBoZWFkZXIgY2hlY2tzdW0gZXJyb3IgICAqLworI2RlZmluZSBFVEhfRE1BUlhERVNDX0xDICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDA0MFUpICAvKiE8IExhdGUgY29sbGlzaW9uIG9jY3VycmVkIGR1cmluZyByZWNlcHRpb24gICAqLworI2RlZmluZSBFVEhfRE1BUlhERVNDX0ZUICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAyMFUpICAvKiE8IEZyYW1lIHR5cGUgLSBFdGhlcm5ldCwgb3RoZXJ3aXNlIDgwMi4zICAgICovCisjZGVmaW5lIEVUSF9ETUFSWERFU0NfUldUICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDEwVSkgIC8qITwgUmVjZWl2ZSBXYXRjaGRvZyBUaW1lb3V0OiB3YXRjaGRvZyB0aW1lciBleHBpcmVkIGR1cmluZyByZWNlcHRpb24gICAgKi8KKyNkZWZpbmUgRVRIX0RNQVJYREVTQ19SRSAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDhVKSAgLyohPCBSZWNlaXZlIGVycm9yOiBlcnJvciByZXBvcnRlZCBieSBNSUkgaW50ZXJmYWNlICAqLworI2RlZmluZSBFVEhfRE1BUlhERVNDX0RCRSAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwNFUpICAvKiE8IERyaWJibGUgYml0IGVycm9yOiBmcmFtZSBjb250YWlucyBub24gaW50IG11bHRpcGxlIG9mIDggYml0cyAgKi8KKyNkZWZpbmUgRVRIX0RNQVJYREVTQ19DRSAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDJVKSAgLyohPCBDUkMgZXJyb3IgKi8KKyNkZWZpbmUgRVRIX0RNQVJYREVTQ19NQU1QQ0UgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDFVKSAgLyohPCBSeCBNQUMgQWRkcmVzcy9QYXlsb2FkIENoZWNrc3VtIEVycm9yOiBSeCBNQUMgYWRkcmVzcyBtYXRjaGVkLyBSeCBQYXlsb2FkIENoZWNrc3VtIEVycm9yICovCiAKLS8qKiAKKy8qKgogICAqIEBicmllZiAgQml0IGRlZmluaXRpb24gb2YgUkRFUzEgcmVnaXN0ZXIKLSAgKi8gCi0jZGVmaW5lIEVUSF9ETUFSWERFU0NfRElDICAgMHg4MDAwMDAwMFUgIC8qITwgRGlzYWJsZSBJbnRlcnJ1cHQgb24gQ29tcGxldGlvbiAqLwotI2RlZmluZSBFVEhfRE1BUlhERVNDX1JCUzIgIDB4MUZGRjAwMDBVICAvKiE8IFJlY2VpdmUgQnVmZmVyMiBTaXplICovCi0jZGVmaW5lIEVUSF9ETUFSWERFU0NfUkVSICAgMHgwMDAwODAwMFUgIC8qITwgUmVjZWl2ZSBFbmQgb2YgUmluZyAqLwotI2RlZmluZSBFVEhfRE1BUlhERVNDX1JDSCAgIDB4MDAwMDQwMDBVICAvKiE8IFNlY29uZCBBZGRyZXNzIENoYWluZWQgKi8KLSNkZWZpbmUgRVRIX0RNQVJYREVTQ19SQlMxICAweDAwMDAxRkZGVSAgLyohPCBSZWNlaXZlIEJ1ZmZlcjEgU2l6ZSAqLworICAqLworI2RlZmluZSBFVEhfRE1BUlhERVNDX0RJQyAgICgodWludDMyX3QpMHg4MDAwMDAwMFUpICAvKiE8IERpc2FibGUgSW50ZXJydXB0IG9uIENvbXBsZXRpb24gKi8KKyNkZWZpbmUgRVRIX0RNQVJYREVTQ19SQlMyICAoKHVpbnQzMl90KTB4MUZGRjAwMDBVKSAgLyohPCBSZWNlaXZlIEJ1ZmZlcjIgU2l6ZSAqLworI2RlZmluZSBFVEhfRE1BUlhERVNDX1JFUiAgICgodWludDMyX3QpMHgwMDAwODAwMFUpICAvKiE8IFJlY2VpdmUgRW5kIG9mIFJpbmcgKi8KKyNkZWZpbmUgRVRIX0RNQVJYREVTQ19SQ0ggICAoKHVpbnQzMl90KTB4MDAwMDQwMDBVKSAgLyohPCBTZWNvbmQgQWRkcmVzcyBDaGFpbmVkICovCisjZGVmaW5lIEVUSF9ETUFSWERFU0NfUkJTMSAgKCh1aW50MzJfdCkweDAwMDAxRkZGVSkgIC8qITwgUmVjZWl2ZSBCdWZmZXIxIFNpemUgKi8KIAotLyoqIAotICAqIEBicmllZiAgQml0IGRlZmluaXRpb24gb2YgUkRFUzIgcmVnaXN0ZXIgIAotICAqLyAKLSNkZWZpbmUgRVRIX0RNQVJYREVTQ19CMUFQICAweEZGRkZGRkZGVSAgLyohPCBCdWZmZXIxIEFkZHJlc3MgUG9pbnRlciAqLworLyoqCisgICogQGJyaWVmICBCaXQgZGVmaW5pdGlvbiBvZiBSREVTMiByZWdpc3RlcgorICAqLworI2RlZmluZSBFVEhfRE1BUlhERVNDX0IxQVAgICgodWludDMyX3QpMHhGRkZGRkZGRlUpICAvKiE8IEJ1ZmZlcjEgQWRkcmVzcyBQb2ludGVyICovCiAKLS8qKiAKLSAgKiBAYnJpZWYgIEJpdCBkZWZpbml0aW9uIG9mIFJERVMzIHJlZ2lzdGVyICAKLSAgKi8gCi0jZGVmaW5lIEVUSF9ETUFSWERFU0NfQjJBUCAgMHhGRkZGRkZGRlUgIC8qITwgQnVmZmVyMiBBZGRyZXNzIFBvaW50ZXIgKi8KKy8qKgorICAqIEBicmllZiAgQml0IGRlZmluaXRpb24gb2YgUkRFUzMgcmVnaXN0ZXIKKyAgKi8KKyNkZWZpbmUgRVRIX0RNQVJYREVTQ19CMkFQICAoKHVpbnQzMl90KTB4RkZGRkZGRkZVKSAgLyohPCBCdWZmZXIyIEFkZHJlc3MgUG9pbnRlciAqLwogCiAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBSREVTNCB8ICAgICAgICAgICAgICAgICAgIFJlc2VydmVkWzMxOjE1XSAgICAgICAgICAgICAgfCAgICAgICAgICAgICBFeHRlbmRlZCBTdGF0dXMgWzE0OjBdICAgICAgICAgICAgICAgICAgICAgICAgICB8CkBAIC04OTIsNDg5ICs4MjcsMjEwIEBACiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KIAogLyogQml0IGRlZmluaXRpb24gb2YgUkRFUzQgcmVnaXN0ZXIgKi8KLSNkZWZpbmUgRVRIX0RNQVBUUFJYREVTQ19QVFBWICAgICAweDAwMDAyMDAwVSAgLyogUFRQIFZlcnNpb24gKi8KLSNkZWZpbmUgRVRIX0RNQVBUUFJYREVTQ19QVFBGVCAgICAweDAwMDAxMDAwVSAgLyogUFRQIEZyYW1lIFR5cGUgKi8KLSNkZWZpbmUgRVRIX0RNQVBUUFJYREVTQ19QVFBNVCAgICAweDAwMDAwRjAwVSAgLyogUFRQIE1lc3NhZ2UgVHlwZSAqLwotICAjZGVmaW5lIEVUSF9ETUFQVFBSWERFU0NfUFRQTVRfU1lOQyAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMTAwVSAgLyogU1lOQyBtZXNzYWdlIChhbGwgY2xvY2sgdHlwZXMpICovCi0gICNkZWZpbmUgRVRIX0RNQVBUUFJYREVTQ19QVFBNVF9GT0xMT1dVUCAgICAgICAgICAgICAgICAgIDB4MDAwMDAyMDBVICAvKiBGb2xsb3dVcCBtZXNzYWdlIChhbGwgY2xvY2sgdHlwZXMpICovIAotICAjZGVmaW5lIEVUSF9ETUFQVFBSWERFU0NfUFRQTVRfREVMQVlSRVEgICAgICAgICAgICAgICAgICAweDAwMDAwMzAwVSAgLyogRGVsYXlSZXEgbWVzc2FnZSAoYWxsIGNsb2NrIHR5cGVzKSAqLyAKLSAgI2RlZmluZSBFVEhfRE1BUFRQUlhERVNDX1BUUE1UX0RFTEFZUkVTUCAgICAgICAgICAgICAgICAgMHgwMDAwMDQwMFUgIC8qIERlbGF5UmVzcCBtZXNzYWdlIChhbGwgY2xvY2sgdHlwZXMpICovIAotICAjZGVmaW5lIEVUSF9ETUFQVFBSWERFU0NfUFRQTVRfUERFTEFZUkVRX0FOTk9VTkNFICAgICAgICAweDAwMDAwNTAwVSAgLyogUGRlbGF5UmVxIG1lc3NhZ2UgKHBlZXItdG8tcGVlciB0cmFuc3BhcmVudCBjbG9jaykgb3IgQW5ub3VuY2UgbWVzc2FnZSAoT3JkaW5hcnkgb3IgQm91bmRhcnkgY2xvY2spICovIAotICAjZGVmaW5lIEVUSF9ETUFQVFBSWERFU0NfUFRQTVRfUERFTEFZUkVTUF9NQU5BRyAgICAgICAgICAweDAwMDAwNjAwVSAgLyogUGRlbGF5UmVzcCBtZXNzYWdlIChwZWVyLXRvLXBlZXIgdHJhbnNwYXJlbnQgY2xvY2spIG9yIE1hbmFnZW1lbnQgbWVzc2FnZSAoT3JkaW5hcnkgb3IgQm91bmRhcnkgY2xvY2spICAqLyAKLSAgI2RlZmluZSBFVEhfRE1BUFRQUlhERVNDX1BUUE1UX1BERUxBWVJFU1BGT0xMT1dVUF9TSUdOQUwgMHgwMDAwMDcwMFUgIC8qIFBkZWxheVJlc3BGb2xsb3dVcCBtZXNzYWdlIChwZWVyLXRvLXBlZXIgdHJhbnNwYXJlbnQgY2xvY2spIG9yIFNpZ25hbGluZyBtZXNzYWdlIChPcmRpbmFyeSBvciBCb3VuZGFyeSBjbG9jaykgKi8gICAgICAgICAgIAotI2RlZmluZSBFVEhfRE1BUFRQUlhERVNDX0lQVjZQUiAgIDB4MDAwMDAwODBVICAvKiBJUHY2IFBhY2tldCBSZWNlaXZlZCAqLwotI2RlZmluZSBFVEhfRE1BUFRQUlhERVNDX0lQVjRQUiAgIDB4MDAwMDAwNDBVICAvKiBJUHY0IFBhY2tldCBSZWNlaXZlZCAqLwotI2RlZmluZSBFVEhfRE1BUFRQUlhERVNDX0lQQ0IgICAgIDB4MDAwMDAwMjBVICAvKiBJUCBDaGVja3N1bSBCeXBhc3NlZCAqLwotI2RlZmluZSBFVEhfRE1BUFRQUlhERVNDX0lQUEUgICAgIDB4MDAwMDAwMTBVICAvKiBJUCBQYXlsb2FkIEVycm9yICovCi0jZGVmaW5lIEVUSF9ETUFQVFBSWERFU0NfSVBIRSAgICAgMHgwMDAwMDAwOFUgIC8qIElQIEhlYWRlciBFcnJvciAqLwotI2RlZmluZSBFVEhfRE1BUFRQUlhERVNDX0lQUFQgICAgIDB4MDAwMDAwMDdVICAvKiBJUCBQYXlsb2FkIFR5cGUgKi8KLSAgI2RlZmluZSBFVEhfRE1BUFRQUlhERVNDX0lQUFRfVURQICAgICAgICAgICAgICAgICAweDAwMDAwMDAxVSAgLyogVURQIHBheWxvYWQgZW5jYXBzdWxhdGVkIGluIHRoZSBJUCBkYXRhZ3JhbSAqLwotICAjZGVmaW5lIEVUSF9ETUFQVFBSWERFU0NfSVBQVF9UQ1AgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDJVICAvKiBUQ1AgcGF5bG9hZCBlbmNhcHN1bGF0ZWQgaW4gdGhlIElQIGRhdGFncmFtICovIAotICAjZGVmaW5lIEVUSF9ETUFQVFBSWERFU0NfSVBQVF9JQ01QICAgICAgICAgICAgICAgIDB4MDAwMDAwMDNVICAvKiBJQ01QIHBheWxvYWQgZW5jYXBzdWxhdGVkIGluIHRoZSBJUCBkYXRhZ3JhbSAqLworI2RlZmluZSBFVEhfRE1BUFRQUlhERVNDX1BUUFYgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAyMDAwVSkgIC8qIFBUUCBWZXJzaW9uICovCisjZGVmaW5lIEVUSF9ETUFQVFBSWERFU0NfUFRQRlQgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDEwMDBVKSAgLyogUFRQIEZyYW1lIFR5cGUgKi8KKyNkZWZpbmUgRVRIX0RNQVBUUFJYREVTQ19QVFBNVCAgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMEYwMFUpICAvKiBQVFAgTWVzc2FnZSBUeXBlICovCisjZGVmaW5lIEVUSF9ETUFQVFBSWERFU0NfUFRQTVRfU1lOQyAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAxMDBVKSAgLyogU1lOQyBtZXNzYWdlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGFsbCBjbG9jayB0eXBlcykgKi8KKyNkZWZpbmUgRVRIX0RNQVBUUFJYREVTQ19QVFBNVF9GT0xMT1dVUCAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDIwMFUpICAvKiBGb2xsb3dVcCBtZXNzYWdlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGFsbCBjbG9jayB0eXBlcykgKi8KKyNkZWZpbmUgRVRIX0RNQVBUUFJYREVTQ19QVFBNVF9ERUxBWVJFUSAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDMwMFUpICAvKiBEZWxheVJlcSBtZXNzYWdlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGFsbCBjbG9jayB0eXBlcykgKi8KKyNkZWZpbmUgRVRIX0RNQVBUUFJYREVTQ19QVFBNVF9ERUxBWVJFU1AgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDQwMFUpICAvKiBEZWxheVJlc3AgbWVzc2FnZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChhbGwgY2xvY2sgdHlwZXMpICovCisjZGVmaW5lIEVUSF9ETUFQVFBSWERFU0NfUFRQTVRfUERFTEFZUkVRX0FOTk9VTkNFICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDA1MDBVKSAgLyogUGRlbGF5UmVxIG1lc3NhZ2UKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAocGVlci10by1wZWVyIHRyYW5zcGFyZW50IGNsb2NrKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvciBBbm5vdW5jZSBtZXNzYWdlIChPcmRpbmFyeQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvciBCb3VuZGFyeSBjbG9jaykgKi8KKyNkZWZpbmUgRVRIX0RNQVBUUFJYREVTQ19QVFBNVF9QREVMQVlSRVNQX01BTkFHICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDYwMFUpICAvKiBQZGVsYXlSZXNwIG1lc3NhZ2UKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAocGVlci10by1wZWVyIHRyYW5zcGFyZW50IGNsb2NrKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvciBNYW5hZ2VtZW50IG1lc3NhZ2UgKE9yZGluYXJ5CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9yIEJvdW5kYXJ5IGNsb2NrKSAgKi8KKyNkZWZpbmUgRVRIX0RNQVBUUFJYREVTQ19QVFBNVF9QREVMQVlSRVNQRk9MTE9XVVBfU0lHTkFMICgodWludDMyX3QpMHgwMDAwMDcwMFUpICAvKiBQZGVsYXlSZXNwRm9sbG93VXAgbWVzc2FnZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHBlZXItdG8tcGVlciB0cmFuc3BhcmVudCBjbG9jaykKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvciBTaWduYWxpbmcgbWVzc2FnZSAoT3JkaW5hcnkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvciBCb3VuZGFyeSBjbG9jaykgKi8KKyNkZWZpbmUgRVRIX0RNQVBUUFJYREVTQ19JUFY2UFIgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDA4MFUpICAvKiBJUHY2IFBhY2tldCBSZWNlaXZlZCAqLworI2RlZmluZSBFVEhfRE1BUFRQUlhERVNDX0lQVjRQUiAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDQwVSkgIC8qIElQdjQgUGFja2V0IFJlY2VpdmVkICovCisjZGVmaW5lIEVUSF9ETUFQVFBSWERFU0NfSVBDQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMjBVKSAgLyogSVAgQ2hlY2tzdW0gQnlwYXNzZWQgKi8KKyNkZWZpbmUgRVRIX0RNQVBUUFJYREVTQ19JUFBFICAgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAxMFUpICAvKiBJUCBQYXlsb2FkIEVycm9yICovCisjZGVmaW5lIEVUSF9ETUFQVFBSWERFU0NfSVBIRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDhVKSAgLyogSVAgSGVhZGVyIEVycm9yICovCisjZGVmaW5lIEVUSF9ETUFQVFBSWERFU0NfSVBQVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDdVKSAgLyogSVAgUGF5bG9hZCBUeXBlICovCisjZGVmaW5lIEVUSF9ETUFQVFBSWERFU0NfSVBQVF9VRFAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDFVKSAgLyogVURQIHBheWxvYWQgZW5jYXBzdWxhdGVkIGluCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIElQIGRhdGFncmFtICovCisjZGVmaW5lIEVUSF9ETUFQVFBSWERFU0NfSVBQVF9UQ1AgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDJVKSAgLyogVENQIHBheWxvYWQgZW5jYXBzdWxhdGVkIGluCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIElQIGRhdGFncmFtICovCisjZGVmaW5lIEVUSF9ETUFQVFBSWERFU0NfSVBQVF9JQ01QICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDNVKSAgLyogSUNNUCBwYXlsb2FkIGVuY2Fwc3VsYXRlZCBpbgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBJUCBkYXRhZ3JhbSAqLwogCiAvKiBCaXQgZGVmaW5pdGlvbiBvZiBSREVTNiByZWdpc3RlciAqLwotI2RlZmluZSBFVEhfRE1BUFRQUlhERVNDX1JUU0wgIDB4RkZGRkZGRkZVICAvKiBSZWNlaXZlIFRpbWUgU3RhbXAgTG93ICovCisjZGVmaW5lIEVUSF9ETUFQVFBSWERFU0NfUlRTTCAgKCh1aW50MzJfdCkweEZGRkZGRkZGVSkgIC8qIFJlY2VpdmUgVGltZSBTdGFtcCBMb3cgKi8KIAogLyogQml0IGRlZmluaXRpb24gb2YgUkRFUzcgcmVnaXN0ZXIgKi8KLSNkZWZpbmUgRVRIX0RNQVBUUFJYREVTQ19SVFNIICAweEZGRkZGRkZGVSAgLyogUmVjZWl2ZSBUaW1lIFN0YW1wIEhpZ2ggKi8KLS8qKgotICAqIEB9Ci0gICovCi0gLyoqIEBkZWZncm91cCBFVEhfQXV0b05lZ290aWF0aW9uIEVUSCBBdXRvTmVnb3RpYXRpb24gCi0gICogQHsKLSAgKi8gCi0jZGVmaW5lIEVUSF9BVVRPTkVHT1RJQVRJT05fRU5BQkxFICAgICAweDAwMDAwMDAxVQotI2RlZmluZSBFVEhfQVVUT05FR09USUFUSU9OX0RJU0FCTEUgICAgMHgwMDAwMDAwMFUKKyNkZWZpbmUgRVRIX0RNQVBUUFJYREVTQ19SVFNIICAoKHVpbnQzMl90KTB4RkZGRkZGRkZVKSAgLyogUmVjZWl2ZSBUaW1lIFN0YW1wIEhpZ2ggKi8KIAogLyoqCiAgICogQH0KICAgKi8KLS8qKiBAZGVmZ3JvdXAgRVRIX1NwZWVkIEVUSCBTcGVlZCAKLSAgKiBAewotICAqLyAKLSNkZWZpbmUgRVRIX1NQRUVEXzEwTSAgICAgICAgMHgwMDAwMDAwMFUKLSNkZWZpbmUgRVRIX1NQRUVEXzEwME0gICAgICAgMHgwMDAwNDAwMFUKIAotLyoqCi0gICogQH0KLSAgKi8KLS8qKiBAZGVmZ3JvdXAgRVRIX0R1cGxleF9Nb2RlIEVUSCBEdXBsZXggTW9kZQorLyoqIEBkZWZncm91cCBFVEhfRnJhbWVfc2V0dGluZ3MgRVRIIGZyYW1lIHNldHRpbmdzCiAgICogQHsKLSAgKi8gCi0jZGVmaW5lIEVUSF9NT0RFX0ZVTExEVVBMRVggICAgICAgMHgwMDAwMDgwMFUKLSNkZWZpbmUgRVRIX01PREVfSEFMRkRVUExFWCAgICAgICAweDAwMDAwMDAwVQotLyoqCi0gICogQH0KICAgKi8KLS8qKiBAZGVmZ3JvdXAgRVRIX1J4X01vZGUgRVRIIFJ4IE1vZGUKLSAgKiBAewotICAqLyAKLSNkZWZpbmUgRVRIX1JYUE9MTElOR19NT0RFICAgICAgMHgwMDAwMDAwMFUKLSNkZWZpbmUgRVRIX1JYSU5URVJSVVBUX01PREUgICAgMHgwMDAwMDAwMVUKKyNkZWZpbmUgRVRIX01BWF9QQUNLRVRfU0laRSAgICAgICgodWludDMyX3QpMTUyOFUpICAgIC8qITwgRVRIX0hFQURFUiArIDIqVkxBTl9UQUcgKyBNQVhfRVRIX1BBWUxPQUQgKyBFVEhfQ1JDICovCisjZGVmaW5lIEVUSF9IRUFERVIgICAgICAgICAgICAgICAoKHVpbnQzMl90KTE0VSkgICAgLyohPCA2IGJ5dGUgRGVzdCBhZGRyLCA2IGJ5dGUgU3JjIGFkZHIsIDIgYnl0ZSBsZW5ndGgvdHlwZSAqLworI2RlZmluZSBFVEhfQ1JDICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCk0VSkgICAgLyohPCBFdGhlcm5ldCBDUkMgKi8KKyNkZWZpbmUgRVRIX1ZMQU5fVEFHICAgICAgICAgICAgICgodWludDMyX3QpNFUpICAgIC8qITwgb3B0aW9uYWwgODAyLjFxIFZMQU4gVGFnICovCisjZGVmaW5lIEVUSF9NSU5fUEFZTE9BRCAgICAgICAgICAoKHVpbnQzMl90KTQ2VSkgICAgLyohPCBNaW5pbXVtIEV0aGVybmV0IHBheWxvYWQgc2l6ZSAqLworI2RlZmluZSBFVEhfTUFYX1BBWUxPQUQgICAgICAgICAgKCh1aW50MzJfdCkxNTAwVSkgICAgLyohPCBNYXhpbXVtIEV0aGVybmV0IHBheWxvYWQgc2l6ZSAqLworI2RlZmluZSBFVEhfSlVNQk9fRlJBTUVfUEFZTE9BRCAgKCh1aW50MzJfdCk5MDAwVSkgICAgLyohPCBKdW1ibyBmcmFtZSBwYXlsb2FkIHNpemUgKi8KIC8qKgogICAqIEB9CiAgICovCiAKLS8qKiBAZGVmZ3JvdXAgRVRIX0NoZWNrc3VtX01vZGUgRVRIIENoZWNrc3VtIE1vZGUKKy8qKiBAZGVmZ3JvdXAgRVRIX0Vycm9yX0NvZGUgRVRIIEVycm9yIENvZGUKICAgKiBAewotICAqLyAKLSNkZWZpbmUgRVRIX0NIRUNLU1VNX0JZX0hBUkRXQVJFICAgICAgMHgwMDAwMDAwMFUKLSNkZWZpbmUgRVRIX0NIRUNLU1VNX0JZX1NPRlRXQVJFICAgICAgMHgwMDAwMDAwMVUKKyAgKi8KKyNkZWZpbmUgSEFMX0VUSF9FUlJPUl9OT05FICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAwVSkgICAvKiE8IE5vIGVycm9yICAgICAgICAgICAgKi8KKyNkZWZpbmUgSEFMX0VUSF9FUlJPUl9QQVJBTSAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAxVSkgICAvKiE8IEJ1c3kgZXJyb3IgICAgICAgICAgKi8KKyNkZWZpbmUgSEFMX0VUSF9FUlJPUl9CVVNZICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAyVSkgICAvKiE8IFBhcmFtZXRlciBlcnJvciAgICAgKi8KKyNkZWZpbmUgSEFMX0VUSF9FUlJPUl9USU1FT1VUICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA0VSkgICAvKiE8IFRpbWVvdXQgZXJyb3IgICAgICAgKi8KKyNkZWZpbmUgSEFMX0VUSF9FUlJPUl9ETUEgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA4VSkgICAvKiE8IERNQSB0cmFuc2ZlciBlcnJvciAgKi8KKyNkZWZpbmUgSEFMX0VUSF9FUlJPUl9NQUMgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDEwVSkgICAvKiE8IE1BQyB0cmFuc2ZlciBlcnJvciAgKi8KKyNpZiAoVVNFX0hBTF9FVEhfUkVHSVNURVJfQ0FMTEJBQ0tTID09IDEpCisjZGVmaW5lIEhBTF9FVEhfRVJST1JfSU5WQUxJRF9DQUxMQkFDSyAoKHVpbnQzMl90KTB4MDAwMDAwMjBVKSAgICAvKiE8IEludmFsaWQgQ2FsbGJhY2sgZXJyb3IgICovCisjZW5kaWYgLyogVVNFX0hBTF9FVEhfUkVHSVNURVJfQ0FMTEJBQ0tTICovCiAvKioKICAgKiBAfQogICAqLwogCi0vKiogQGRlZmdyb3VwIEVUSF9NZWRpYV9JbnRlcmZhY2UgRVRIIE1lZGlhIEludGVyZmFjZQorLyoqIEBkZWZncm91cCBFVEhfVHhfUGFja2V0X0F0dHJpYnV0ZXMgRVRIIFR4IFBhY2tldCBBdHRyaWJ1dGVzCiAgICogQHsKLSAgKi8gCi0jZGVmaW5lIEVUSF9NRURJQV9JTlRFUkZBQ0VfTUlJICAgICAgIDB4MDAwMDAwMDBVCi0jZGVmaW5lIEVUSF9NRURJQV9JTlRFUkZBQ0VfUk1JSSAgICAgICgodWludDMyX3QpU1lTQ0ZHX1BNQ19NSUlfUk1JSV9TRUwpCisgICovCisjZGVmaW5lIEVUSF9UWF9QQUNLRVRTX0ZFQVRVUkVTX0NTVU0gICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAxVSkKKyNkZWZpbmUgRVRIX1RYX1BBQ0tFVFNfRkVBVFVSRVNfU0FJQyAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDJVKQorI2RlZmluZSBFVEhfVFhfUEFDS0VUU19GRUFUVVJFU19WTEFOVEFHICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwNFUpCisjZGVmaW5lIEVUSF9UWF9QQUNLRVRTX0ZFQVRVUkVTX0lOTkVSVkxBTlRBRyAgKCh1aW50MzJfdCkweDAwMDAwMDA4VSkKKyNkZWZpbmUgRVRIX1RYX1BBQ0tFVFNfRkVBVFVSRVNfVFNPICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMTBVKQorI2RlZmluZSBFVEhfVFhfUEFDS0VUU19GRUFUVVJFU19DUkNQQUQgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAyMFUpCiAvKioKICAgKiBAfQogICAqLwogCi0vKiogQGRlZmdyb3VwIEVUSF9XYXRjaGRvZyBFVEggV2F0Y2hkb2cgCisvKiogQGRlZmdyb3VwIEVUSF9UeF9QYWNrZXRfU291cmNlX0FkZHJfQ29udHJvbCBFVEggVHggUGFja2V0IFNvdXJjZSBBZGRyIENvbnRyb2wKICAgKiBAewotICAqLyAKLSNkZWZpbmUgRVRIX1dBVENIRE9HX0VOQUJMRSAgICAgICAweDAwMDAwMDAwVQotI2RlZmluZSBFVEhfV0FUQ0hET0dfRElTQUJMRSAgICAgIDB4MDA4MDAwMDBVCisgICovCisjZGVmaW5lIEVUSF9TUkNfQUREUl9DT05UUk9MX0RJU0FCTEUgICAgICAgICAgRVRIX0RNQVRYTkRFU0NSRl9TQUlDX0RJU0FCTEUKKyNkZWZpbmUgRVRIX1NSQ19BRERSX0lOU0VSVCAgICAgICAgICAgICAgICAgICBFVEhfRE1BVFhOREVTQ1JGX1NBSUNfSU5TRVJUCisjZGVmaW5lIEVUSF9TUkNfQUREUl9SRVBMQUNFICAgICAgICAgICAgICAgICAgRVRIX0RNQVRYTkRFU0NSRl9TQUlDX1JFUExBQ0UKIC8qKgogICAqIEB9CiAgICovCiAKLS8qKiBAZGVmZ3JvdXAgRVRIX0phYmJlciBFVEggSmFiYmVyCisvKiogQGRlZmdyb3VwIEVUSF9UeF9QYWNrZXRfQ1JDX1BhZF9Db250cm9sIEVUSCBUeCBQYWNrZXQgQ1JDIFBhZCBDb250cm9sCiAgICogQHsKLSAgKi8gCi0jZGVmaW5lIEVUSF9KQUJCRVJfRU5BQkxFICAgIDB4MDAwMDAwMDBVCi0jZGVmaW5lIEVUSF9KQUJCRVJfRElTQUJMRSAgIDB4MDA0MDAwMDBVCisgICovCisjZGVmaW5lIEVUSF9DUkNfUEFEX0RJU0FCTEUgICAgICAodWludDMyX3QpKEVUSF9ETUFUWERFU0NfRFAgfCBFVEhfRE1BVFhERVNDX0RDKQorI2RlZmluZSBFVEhfQ1JDX1BBRF9JTlNFUlQgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAwVSkKKyNkZWZpbmUgRVRIX0NSQ19JTlNFUlQgICAgICAgICAgIEVUSF9ETUFUWERFU0NfRFAKIC8qKgogICAqIEB9CiAgICovCiAKLS8qKiBAZGVmZ3JvdXAgRVRIX0ludGVyX0ZyYW1lX0dhcCBFVEggSW50ZXIgRnJhbWUgR2FwIAorLyoqIEBkZWZncm91cCBFVEhfVHhfUGFja2V0X0NoZWNrc3VtX0NvbnRyb2wgRVRIIFR4IFBhY2tldCBDaGVja3N1bSBDb250cm9sCiAgICogQHsKLSAgKi8gCi0jZGVmaW5lIEVUSF9JTlRFUkZSQU1FR0FQXzk2QklUICAgMHgwMDAwMDAwMFUgIC8qITwgbWluaW11bSBJRkcgYmV0d2VlbiBmcmFtZXMgZHVyaW5nIHRyYW5zbWlzc2lvbiBpcyA5NkJpdCAqLwotI2RlZmluZSBFVEhfSU5URVJGUkFNRUdBUF84OEJJVCAgIDB4MDAwMjAwMDBVICAvKiE8IG1pbmltdW0gSUZHIGJldHdlZW4gZnJhbWVzIGR1cmluZyB0cmFuc21pc3Npb24gaXMgODhCaXQgKi8KLSNkZWZpbmUgRVRIX0lOVEVSRlJBTUVHQVBfODBCSVQgICAweDAwMDQwMDAwVSAgLyohPCBtaW5pbXVtIElGRyBiZXR3ZWVuIGZyYW1lcyBkdXJpbmcgdHJhbnNtaXNzaW9uIGlzIDgwQml0ICovCi0jZGVmaW5lIEVUSF9JTlRFUkZSQU1FR0FQXzcyQklUICAgMHgwMDA2MDAwMFUgIC8qITwgbWluaW11bSBJRkcgYmV0d2VlbiBmcmFtZXMgZHVyaW5nIHRyYW5zbWlzc2lvbiBpcyA3MkJpdCAqLwotI2RlZmluZSBFVEhfSU5URVJGUkFNRUdBUF82NEJJVCAgIDB4MDAwODAwMDBVICAvKiE8IG1pbmltdW0gSUZHIGJldHdlZW4gZnJhbWVzIGR1cmluZyB0cmFuc21pc3Npb24gaXMgNjRCaXQgKi8KLSNkZWZpbmUgRVRIX0lOVEVSRlJBTUVHQVBfNTZCSVQgICAweDAwMEEwMDAwVSAgLyohPCBtaW5pbXVtIElGRyBiZXR3ZWVuIGZyYW1lcyBkdXJpbmcgdHJhbnNtaXNzaW9uIGlzIDU2Qml0ICovCi0jZGVmaW5lIEVUSF9JTlRFUkZSQU1FR0FQXzQ4QklUICAgMHgwMDBDMDAwMFUgIC8qITwgbWluaW11bSBJRkcgYmV0d2VlbiBmcmFtZXMgZHVyaW5nIHRyYW5zbWlzc2lvbiBpcyA0OEJpdCAqLwotI2RlZmluZSBFVEhfSU5URVJGUkFNRUdBUF80MEJJVCAgIDB4MDAwRTAwMDBVICAvKiE8IG1pbmltdW0gSUZHIGJldHdlZW4gZnJhbWVzIGR1cmluZyB0cmFuc21pc3Npb24gaXMgNDBCaXQgKi8KKyAgKi8KKyNkZWZpbmUgRVRIX0NIRUNLU1VNX0RJU0FCTEUgICAgICAgICAgICAgICAgICAgICAgICAgRVRIX0RNQVRYREVTQ19DSUNfQllQQVNTCisjZGVmaW5lIEVUSF9DSEVDS1NVTV9JUEhEUl9JTlNFUlQgICAgICAgICAgICAgICAgICAgIEVUSF9ETUFUWERFU0NfQ0lDX0lQVjRIRUFERVIKKyNkZWZpbmUgRVRIX0NIRUNLU1VNX0lQSERSX1BBWUxPQURfSU5TRVJUICAgICAgICAgICAgRVRIX0RNQVRYREVTQ19DSUNfVENQVURQSUNNUF9TRUdNRU5UCisjZGVmaW5lIEVUSF9DSEVDS1NVTV9JUEhEUl9QQVlMT0FEX0lOU0VSVF9QSERSX0NBTEMgIEVUSF9ETUFUWERFU0NfQ0lDX1RDUFVEUElDTVBfRlVMTAogLyoqCiAgICogQH0KICAgKi8KIAotLyoqIEBkZWZncm91cCBFVEhfQ2Fycmllcl9TZW5zZSBFVEggQ2FycmllciBTZW5zZQorLyoqIEBkZWZncm91cCBFVEhfVHhfUGFja2V0X1ZMQU5fQ29udHJvbCBFVEggVHggUGFja2V0IFZMQU4gQ29udHJvbAogICAqIEB7Ci0gICovIAotI2RlZmluZSBFVEhfQ0FSUklFUlNFTkNFX0VOQUJMRSAgIDB4MDAwMDAwMDBVCi0jZGVmaW5lIEVUSF9DQVJSSUVSU0VOQ0VfRElTQUJMRSAgMHgwMDAxMDAwMFUKKyAgKi8KKyNkZWZpbmUgRVRIX1ZMQU5fRElTQUJMRSAgRVRIX0RNQVRYTkRFU0NSRl9WVElSX0RJU0FCTEUKKyNkZWZpbmUgRVRIX1ZMQU5fUkVNT1ZFICAgRVRIX0RNQVRYTkRFU0NSRl9WVElSX1JFTU9WRQorI2RlZmluZSBFVEhfVkxBTl9JTlNFUlQgICBFVEhfRE1BVFhOREVTQ1JGX1ZUSVJfSU5TRVJUCisjZGVmaW5lIEVUSF9WTEFOX1JFUExBQ0UgIEVUSF9ETUFUWE5ERVNDUkZfVlRJUl9SRVBMQUNFCiAvKioKICAgKiBAfQogICAqLwogCi0vKiogQGRlZmdyb3VwIEVUSF9SZWNlaXZlX093biBFVEggUmVjZWl2ZSBPd24gCisvKiogQGRlZmdyb3VwIEVUSF9UeF9QYWNrZXRfSW5uZXJfVkxBTl9Db250cm9sIEVUSCBUeCBQYWNrZXQgSW5uZXIgVkxBTiBDb250cm9sCiAgICogQHsKLSAgKi8gCi0jZGVmaW5lIEVUSF9SRUNFSVZFT1dOX0VOQUJMRSAgICAgMHgwMDAwMDAwMFUKLSNkZWZpbmUgRVRIX1JFQ0VJVkVPV05fRElTQUJMRSAgICAweDAwMDAyMDAwVQorICAqLworI2RlZmluZSBFVEhfSU5ORVJfVkxBTl9ESVNBQkxFICBFVEhfRE1BVFhDREVTQ19JVlRJUl9ESVNBQkxFCisjZGVmaW5lIEVUSF9JTk5FUl9WTEFOX1JFTU9WRSAgIEVUSF9ETUFUWENERVNDX0lWVElSX1JFTU9WRQorI2RlZmluZSBFVEhfSU5ORVJfVkxBTl9JTlNFUlQgICBFVEhfRE1BVFhDREVTQ19JVlRJUl9JTlNFUlQKKyNkZWZpbmUgRVRIX0lOTkVSX1ZMQU5fUkVQTEFDRSAgRVRIX0RNQVRYQ0RFU0NfSVZUSVJfUkVQTEFDRQogLyoqCiAgICogQH0KICAgKi8KIAotLyoqIEBkZWZncm91cCBFVEhfTG9vcF9CYWNrX01vZGUgRVRIIExvb3AgQmFjayBNb2RlIAorCisvKiogQGRlZmdyb3VwIEVUSF9SeF9NQUNfRmlsdGVyX1N0YXR1cyBFVEggUnggTUFDIEZpbHRlciBTdGF0dXMKICAgKiBAewotICAqLyAKLSNkZWZpbmUgRVRIX0xPT1BCQUNLTU9ERV9FTkFCTEUgICAgICAgIDB4MDAwMDEwMDBVCi0jZGVmaW5lIEVUSF9MT09QQkFDS01PREVfRElTQUJMRSAgICAgICAweDAwMDAwMDAwVQorICAqLworI2RlZmluZSBFVEhfVkxBTl9GSUxURVJfUEFTUyAgICAgICAgRVRIX0RNQVJYREVTQ19WTEFOCisjZGVmaW5lIEVUSF9ERVNUX0FERFJFU1NfRkFJTCAgICAgICBFVEhfRE1BUlhERVNDX0FGTQorI2RlZmluZSBFVEhfU09VUkNFX0FERFJFU1NfRkFJTCAgICAgRVRIX0RNQVJYREVTQ19TQUYKIC8qKgogICAqIEB9CiAgICovCiAKLS8qKiBAZGVmZ3JvdXAgRVRIX0NoZWNrc3VtX09mZmxvYWQgRVRIIENoZWNrc3VtIE9mZmxvYWQKKy8qKiBAZGVmZ3JvdXAgRVRIX1J4X0Vycm9yX0NvZGUgRVRIIFJ4IEVycm9yIENvZGUKICAgKiBAewotICAqLyAKLSNkZWZpbmUgRVRIX0NIRUNLU1VNT0ZGTEFPRF9FTkFCTEUgICAgIDB4MDAwMDA0MDBVCi0jZGVmaW5lIEVUSF9DSEVDS1NVTU9GRkxBT0RfRElTQUJMRSAgICAweDAwMDAwMDAwVQorICAqLworI2RlZmluZSBFVEhfRFJJQkJMRV9CSVRfRVJST1IgICBFVEhfRE1BUlhERVNDX0RCRQorI2RlZmluZSBFVEhfUkVDRUlWRV9FUlJPUiAgICAgICBFVEhfRE1BUlhERVNDX1JFCisjZGVmaW5lIEVUSF9SRUNFSVZFX09WRVJGTE9XICAgIEVUSF9ETUFSWERFU0NfT0UKKyNkZWZpbmUgRVRIX1dBVENIRE9HX1RJTUVPVVQgICAgRVRIX0RNQVJYREVTQ19SV1QKKyNkZWZpbmUgRVRIX0dJQU5UX1BBQ0tFVCAgICAgICAgRVRIX0RNQVJYREVTQ19JUFY0SEMKKyNkZWZpbmUgRVRIX0NSQ19FUlJPUiAgICAgICAgICAgRVRIX0RNQVJYREVTQ19DRQogLyoqCiAgICogQH0KICAgKi8KIAotLyoqIEBkZWZncm91cCBFVEhfUmV0cnlfVHJhbnNtaXNzaW9uIEVUSCBSZXRyeSBUcmFuc21pc3Npb24KKy8qKiBAZGVmZ3JvdXAgRVRIX0RNQV9BcmJpdHJhdGlvbiBFVEggRE1BIEFyYml0cmF0aW9uCiAgICogQHsKLSAgKi8gCi0jZGVmaW5lIEVUSF9SRVRSWVRSQU5TTUlTU0lPTl9FTkFCTEUgICAweDAwMDAwMDAwVQotI2RlZmluZSBFVEhfUkVUUllUUkFOU01JU1NJT05fRElTQUJMRSAgMHgwMDAwMDIwMFUKKyAgKi8KKyNkZWZpbmUgRVRIX0RNQUFSQklUUkFUSU9OX1JYICAgICAgICBFVEhfRE1BTVJfREEKKyNkZWZpbmUgRVRIX0RNQUFSQklUUkFUSU9OX1JYMV9UWDEgICAoKHVpbnQzMl90KTB4MDAwMDAwMDBVKQorI2RlZmluZSBFVEhfRE1BQVJCSVRSQVRJT05fUlgyX1RYMSAgIEVUSF9ETUFNUl9QUl8yXzEKKyNkZWZpbmUgRVRIX0RNQUFSQklUUkFUSU9OX1JYM19UWDEgICBFVEhfRE1BTVJfUFJfM18xCisjZGVmaW5lIEVUSF9ETUFBUkJJVFJBVElPTl9SWDRfVFgxICAgRVRIX0RNQU1SX1BSXzRfMQorI2RlZmluZSBFVEhfRE1BQVJCSVRSQVRJT05fUlg1X1RYMSAgIEVUSF9ETUFNUl9QUl81XzEKKyNkZWZpbmUgRVRIX0RNQUFSQklUUkFUSU9OX1JYNl9UWDEgICBFVEhfRE1BTVJfUFJfNl8xCisjZGVmaW5lIEVUSF9ETUFBUkJJVFJBVElPTl9SWDdfVFgxICAgRVRIX0RNQU1SX1BSXzdfMQorI2RlZmluZSBFVEhfRE1BQVJCSVRSQVRJT05fUlg4X1RYMSAgIEVUSF9ETUFNUl9QUl84XzEKKyNkZWZpbmUgRVRIX0RNQUFSQklUUkFUSU9OX1RYICAgICAgICAoRVRIX0RNQU1SX1RYUFIgfCBFVEhfRE1BTVJfREEpCisjZGVmaW5lIEVUSF9ETUFBUkJJVFJBVElPTl9UWDFfUlgxICAgKCh1aW50MzJfdCkweDAwMDAwMDAwVSkKKyNkZWZpbmUgRVRIX0RNQUFSQklUUkFUSU9OX1RYMl9SWDEgICAoRVRIX0RNQU1SX1RYUFIgfCBFVEhfRE1BTVJfUFJfMl8xKQorI2RlZmluZSBFVEhfRE1BQVJCSVRSQVRJT05fVFgzX1JYMSAgIChFVEhfRE1BTVJfVFhQUiB8IEVUSF9ETUFNUl9QUl8zXzEpCisjZGVmaW5lIEVUSF9ETUFBUkJJVFJBVElPTl9UWDRfUlgxICAgKEVUSF9ETUFNUl9UWFBSIHwgRVRIX0RNQU1SX1BSXzRfMSkKKyNkZWZpbmUgRVRIX0RNQUFSQklUUkFUSU9OX1RYNV9SWDEgICAoRVRIX0RNQU1SX1RYUFIgfCBFVEhfRE1BTVJfUFJfNV8xKQorI2RlZmluZSBFVEhfRE1BQVJCSVRSQVRJT05fVFg2X1JYMSAgIChFVEhfRE1BTVJfVFhQUiB8IEVUSF9ETUFNUl9QUl82XzEpCisjZGVmaW5lIEVUSF9ETUFBUkJJVFJBVElPTl9UWDdfUlgxICAgKEVUSF9ETUFNUl9UWFBSIHwgRVRIX0RNQU1SX1BSXzdfMSkKKyNkZWZpbmUgRVRIX0RNQUFSQklUUkFUSU9OX1RYOF9SWDEgICAoRVRIX0RNQU1SX1RYUFIgfCBFVEhfRE1BTVJfUFJfOF8xKQogLyoqCiAgICogQH0KICAgKi8KIAotLyoqIEBkZWZncm91cCBFVEhfQXV0b21hdGljX1BhZF9DUkNfU3RyaXAgRVRIIEF1dG9tYXRpYyBQYWQgQ1JDIFN0cmlwCi0gICogQHsKLSAgKi8gCi0jZGVmaW5lIEVUSF9BVVRPTUFUSUNQQURDUkNTVFJJUF9FTkFCTEUgICAgIDB4MDAwMDAwODBVCi0jZGVmaW5lIEVUSF9BVVRPTUFUSUNQQURDUkNTVFJJUF9ESVNBQkxFICAgIDB4MDAwMDAwMDBVCi0vKioKLSAgKiBAfQotICAqLwotCi0vKiogQGRlZmdyb3VwIEVUSF9CYWNrX09mZl9MaW1pdCBFVEggQmFjayBPZmYgTGltaXQKLSAgKiBAewotICAqLyAKLSNkZWZpbmUgRVRIX0JBQ0tPRkZMSU1JVF8xMCAgMHgwMDAwMDAwMFUKLSNkZWZpbmUgRVRIX0JBQ0tPRkZMSU1JVF84ICAgMHgwMDAwMDAyMFUKLSNkZWZpbmUgRVRIX0JBQ0tPRkZMSU1JVF80ICAgMHgwMDAwMDA0MFUKLSNkZWZpbmUgRVRIX0JBQ0tPRkZMSU1JVF8xICAgMHgwMDAwMDA2MFUKLS8qKgotICAqIEB9Ci0gICovCi0KLS8qKiBAZGVmZ3JvdXAgRVRIX0RlZmVycmFsX0NoZWNrIEVUSCBEZWZlcnJhbCBDaGVjaworLyoqIEBkZWZncm91cCBFVEhfQnVyc3RfTW9kZSBFVEggQnVyc3QgTW9kZQogICAqIEB7CiAgICovCi0jZGVmaW5lIEVUSF9ERUZGRVJSQUxDSEVDS19FTkFCTEUgICAgICAgMHgwMDAwMDAxMFUKLSNkZWZpbmUgRVRIX0RFRkZFUlJBTENIRUNLX0RJU0FCTEUgICAgICAweDAwMDAwMDAwVQotLyoqCi0gICogQH0KLSAgKi8KLQotLyoqIEBkZWZncm91cCBFVEhfUmVjZWl2ZV9BbGwgRVRIIFJlY2VpdmUgQWxsCi0gICogQHsKLSAgKi8gCi0jZGVmaW5lIEVUSF9SRUNFSVZFQUxMX0VOQUJMRSAgICAgMHg4MDAwMDAwMFUKLSNkZWZpbmUgRVRIX1JFQ0VJVkVBbGxfRElTQUJMRSAgICAweDAwMDAwMDAwVQotLyoqCi0gICogQH0KLSAgKi8KLQotLyoqIEBkZWZncm91cCBFVEhfU291cmNlX0FkZHJfRmlsdGVyIEVUSCBTb3VyY2UgQWRkciBGaWx0ZXIKLSAgKiBAewotICAqLyAKLSNkZWZpbmUgRVRIX1NPVVJDRUFERFJGSUxURVJfTk9STUFMX0VOQUJMRSAgICAgICAweDAwMDAwMjAwVQotI2RlZmluZSBFVEhfU09VUkNFQUREUkZJTFRFUl9JTlZFUlNFX0VOQUJMRSAgICAgIDB4MDAwMDAzMDBVCi0jZGVmaW5lIEVUSF9TT1VSQ0VBRERSRklMVEVSX0RJU0FCTEUgICAgICAgICAgICAgMHgwMDAwMDAwMFUKLS8qKgotICAqIEB9Ci0gICovCi0KLS8qKiBAZGVmZ3JvdXAgRVRIX1Bhc3NfQ29udHJvbF9GcmFtZXMgRVRIIFBhc3MgQ29udHJvbCBGcmFtZXMKLSAgKiBAewotICAqLyAKLSNkZWZpbmUgRVRIX1BBU1NDT05UUk9MRlJBTUVTX0JMT0NLQUxMICAgICAgICAgICAgICAgIDB4MDAwMDAwNDBVICAvKiE8IE1BQyBmaWx0ZXJzIGFsbCBjb250cm9sIGZyYW1lcyBmcm9tIHJlYWNoaW5nIHRoZSBhcHBsaWNhdGlvbiAqLwotI2RlZmluZSBFVEhfUEFTU0NPTlRST0xGUkFNRVNfRk9SV0FSREFMTCAgICAgICAgICAgICAgMHgwMDAwMDA4MFUgIC8qITwgTUFDIGZvcndhcmRzIGFsbCBjb250cm9sIGZyYW1lcyB0byBhcHBsaWNhdGlvbiBldmVuIGlmIHRoZXkgZmFpbCB0aGUgQWRkcmVzcyBGaWx0ZXIgKi8KLSNkZWZpbmUgRVRIX1BBU1NDT05UUk9MRlJBTUVTX0ZPUldBUkRQQVNTRURBRERSRklMVEVSIDB4MDAwMDAwQzBVICAvKiE8IE1BQyBmb3J3YXJkcyBjb250cm9sIGZyYW1lcyB0aGF0IHBhc3MgdGhlIEFkZHJlc3MgRmlsdGVyLiAqLyAKLS8qKgotICAqIEB9Ci0gICovCi0KLS8qKiBAZGVmZ3JvdXAgRVRIX0Jyb2FkY2FzdF9GcmFtZXNfUmVjZXB0aW9uIEVUSCBCcm9hZGNhc3QgRnJhbWVzIFJlY2VwdGlvbgotICAqIEB7Ci0gICovIAotI2RlZmluZSBFVEhfQlJPQURDQVNURlJBTUVTUkVDRVBUSU9OX0VOQUJMRSAgICAgMHgwMDAwMDAwMFUKLSNkZWZpbmUgRVRIX0JST0FEQ0FTVEZSQU1FU1JFQ0VQVElPTl9ESVNBQkxFICAgIDB4MDAwMDAwMjBVCi0vKioKLSAgKiBAfQotICAqLwotCi0vKiogQGRlZmdyb3VwIEVUSF9EZXN0aW5hdGlvbl9BZGRyX0ZpbHRlciBFVEggRGVzdGluYXRpb24gQWRkciBGaWx0ZXIKLSAgKiBAewotICAqLyAKLSNkZWZpbmUgRVRIX0RFU1RJTkFUSU9OQUREUkZJTFRFUl9OT1JNQUwgICAgMHgwMDAwMDAwMFUKLSNkZWZpbmUgRVRIX0RFU1RJTkFUSU9OQUREUkZJTFRFUl9JTlZFUlNFICAgMHgwMDAwMDAwOFUKLS8qKgotICAqIEB9Ci0gICovCi0KLS8qKiBAZGVmZ3JvdXAgRVRIX1Byb21pc2N1b3VzX01vZGUgRVRIIFByb21pc2N1b3VzIE1vZGUKLSAgKiBAewotICAqLyAKLSNkZWZpbmUgRVRIX1BST01JU0NVT1VTX01PREVfRU5BQkxFICAgICAweDAwMDAwMDAxVQotI2RlZmluZSBFVEhfUFJPTUlTQ1VPVVNfTU9ERV9ESVNBQkxFICAgIDB4MDAwMDAwMDBVCi0vKioKLSAgKiBAfQotICAqLwotCi0vKiogQGRlZmdyb3VwIEVUSF9NdWx0aWNhc3RfRnJhbWVzX0ZpbHRlciBFVEggTXVsdGljYXN0IEZyYW1lcyBGaWx0ZXIKLSAgKiBAewotICAqLyAKLSNkZWZpbmUgRVRIX01VTFRJQ0FTVEZSQU1FU0ZJTFRFUl9QRVJGRUNUSEFTSFRBQkxFICAgIDB4MDAwMDA0MDRVCi0jZGVmaW5lIEVUSF9NVUxUSUNBU1RGUkFNRVNGSUxURVJfSEFTSFRBQkxFICAgICAgICAgICAweDAwMDAwMDA0VQotI2RlZmluZSBFVEhfTVVMVElDQVNURlJBTUVTRklMVEVSX1BFUkZFQ1QgICAgICAgICAgICAgMHgwMDAwMDAwMFUKLSNkZWZpbmUgRVRIX01VTFRJQ0FTVEZSQU1FU0ZJTFRFUl9OT05FICAgICAgICAgICAgICAgIDB4MDAwMDAwMTBVCi0vKioKLSAgKiBAfQotICAqLwotCi0vKiogQGRlZmdyb3VwIEVUSF9VbmljYXN0X0ZyYW1lc19GaWx0ZXIgRVRIIFVuaWNhc3QgRnJhbWVzIEZpbHRlcgotICAqIEB7Ci0gICovIAotI2RlZmluZSBFVEhfVU5JQ0FTVEZSQU1FU0ZJTFRFUl9QRVJGRUNUSEFTSFRBQkxFIDB4MDAwMDA0MDJVCi0jZGVmaW5lIEVUSF9VTklDQVNURlJBTUVTRklMVEVSX0hBU0hUQUJMRSAgICAgICAgMHgwMDAwMDAwMlUKLSNkZWZpbmUgRVRIX1VOSUNBU1RGUkFNRVNGSUxURVJfUEVSRkVDVCAgICAgICAgICAweDAwMDAwMDAwVQotLyoqCi0gICogQH0KLSAgKi8KLQotLyoqIEBkZWZncm91cCBFVEhfWmVyb19RdWFudGFfUGF1c2UgRVRIIFplcm8gUXVhbnRhIFBhdXNlIAotICAqIEB7Ci0gICovIAotI2RlZmluZSBFVEhfWkVST1FVQU5UQVBBVVNFX0VOQUJMRSAgICAgMHgwMDAwMDAwMFUKLSNkZWZpbmUgRVRIX1pFUk9RVUFOVEFQQVVTRV9ESVNBQkxFICAgIDB4MDAwMDAwODBVCi0vKioKLSAgKiBAfQotICAqLwotCi0vKiogQGRlZmdyb3VwIEVUSF9QYXVzZV9Mb3dfVGhyZXNob2xkIEVUSCBQYXVzZSBMb3cgVGhyZXNob2xkCi0gICogQHsKLSAgKi8gCi0jZGVmaW5lIEVUSF9QQVVTRUxPV1RIUkVTSE9MRF9NSU5VUzQgICAgICAgIDB4MDAwMDAwMDBVICAvKiE8IFBhdXNlIHRpbWUgbWludXMgNCBzbG90IHRpbWVzICovCi0jZGVmaW5lIEVUSF9QQVVTRUxPV1RIUkVTSE9MRF9NSU5VUzI4ICAgICAgIDB4MDAwMDAwMTBVICAvKiE8IFBhdXNlIHRpbWUgbWludXMgMjggc2xvdCB0aW1lcyAqLwotI2RlZmluZSBFVEhfUEFVU0VMT1dUSFJFU0hPTERfTUlOVVMxNDQgICAgICAweDAwMDAwMDIwVSAgLyohPCBQYXVzZSB0aW1lIG1pbnVzIDE0NCBzbG90IHRpbWVzICovCi0jZGVmaW5lIEVUSF9QQVVTRUxPV1RIUkVTSE9MRF9NSU5VUzI1NiAgICAgIDB4MDAwMDAwMzBVICAvKiE8IFBhdXNlIHRpbWUgbWludXMgMjU2IHNsb3QgdGltZXMgKi8KLS8qKgotICAqIEB9Ci0gICovCi0KLS8qKiBAZGVmZ3JvdXAgRVRIX1VuaWNhc3RfUGF1c2VfRnJhbWVfRGV0ZWN0IEVUSCBVbmljYXN0IFBhdXNlIEZyYW1lIERldGVjdAotICAqIEB7Ci0gICovIAotI2RlZmluZSBFVEhfVU5JQ0FTVFBBVVNFRlJBTUVERVRFQ1RfRU5BQkxFICAweDAwMDAwMDA4VQotI2RlZmluZSBFVEhfVU5JQ0FTVFBBVVNFRlJBTUVERVRFQ1RfRElTQUJMRSAweDAwMDAwMDAwVQotLyoqCi0gICogQH0KLSAgKi8KLQotLyoqIEBkZWZncm91cCBFVEhfUmVjZWl2ZV9GbG93X0NvbnRyb2wgRVRIIFJlY2VpdmUgRmxvdyBDb250cm9sCi0gICogQHsKLSAgKi8gCi0jZGVmaW5lIEVUSF9SRUNFSVZFRkxPV0NPTlRST0xfRU5BQkxFICAgICAgIDB4MDAwMDAwMDRVCi0jZGVmaW5lIEVUSF9SRUNFSVZFRkxPV0NPTlRST0xfRElTQUJMRSAgICAgIDB4MDAwMDAwMDBVCi0vKioKLSAgKiBAfQotICAqLwotCi0vKiogQGRlZmdyb3VwIEVUSF9UcmFuc21pdF9GbG93X0NvbnRyb2wgRVRIIFRyYW5zbWl0IEZsb3cgQ29udHJvbAotICAqIEB7Ci0gICovIAotI2RlZmluZSBFVEhfVFJBTlNNSVRGTE9XQ09OVFJPTF9FTkFCTEUgICAgICAweDAwMDAwMDAyVQotI2RlZmluZSBFVEhfVFJBTlNNSVRGTE9XQ09OVFJPTF9ESVNBQkxFICAgICAweDAwMDAwMDAwVQotLyoqCi0gICogQH0KLSAgKi8KLQotLyoqIEBkZWZncm91cCBFVEhfVkxBTl9UYWdfQ29tcGFyaXNvbiBFVEggVkxBTiBUYWcgQ29tcGFyaXNvbgotICAqIEB7Ci0gICovIAotI2RlZmluZSBFVEhfVkxBTlRBR0NPTVBBUklTT05fMTJCSVQgICAgMHgwMDAxMDAwMFUKLSNkZWZpbmUgRVRIX1ZMQU5UQUdDT01QQVJJU09OXzE2QklUICAgIDB4MDAwMDAwMDBVCi0vKioKLSAgKiBAfQotICAqLwotCi0vKiogQGRlZmdyb3VwIEVUSF9NQUNfYWRkcmVzc2VzIEVUSCBNQUMgYWRkcmVzc2VzCi0gICogQHsKLSAgKi8gCi0jZGVmaW5lIEVUSF9NQUNfQUREUkVTUzAgICAgIDB4MDAwMDAwMDBVCi0jZGVmaW5lIEVUSF9NQUNfQUREUkVTUzEgICAgIDB4MDAwMDAwMDhVCi0jZGVmaW5lIEVUSF9NQUNfQUREUkVTUzIgICAgIDB4MDAwMDAwMTBVCi0jZGVmaW5lIEVUSF9NQUNfQUREUkVTUzMgICAgIDB4MDAwMDAwMThVCi0vKioKLSAgKiBAfQotICAqLwotCi0vKiogQGRlZmdyb3VwIEVUSF9NQUNfYWRkcmVzc2VzX2ZpbHRlcl9TQV9EQSBFVEggTUFDIGFkZHJlc3NlcyBmaWx0ZXIgU0EgREEgCi0gICogQHsKLSAgKi8gCi0jZGVmaW5lIEVUSF9NQUNfQUREUkVTU0ZJTFRFUl9TQSAgICAgICAweDAwMDAwMDAwVQotI2RlZmluZSBFVEhfTUFDX0FERFJFU1NGSUxURVJfREEgICAgICAgMHgwMDAwMDAwOFUKLS8qKgotICAqIEB9Ci0gICovCi0KLS8qKiBAZGVmZ3JvdXAgRVRIX01BQ19hZGRyZXNzZXNfZmlsdGVyX01hc2tfYnl0ZXMgRVRIIE1BQyBhZGRyZXNzZXMgZmlsdGVyIE1hc2sgYnl0ZXMKLSAgKiBAewotICAqLyAKLSNkZWZpbmUgRVRIX01BQ19BRERSRVNTTUFTS19CWVRFNiAgICAgIDB4MjAwMDAwMDBVICAvKiE8IE1hc2sgTUFDIEFkZHJlc3MgaGlnaCByZWcgYml0cyBbMTU6OF0gKi8KLSNkZWZpbmUgRVRIX01BQ19BRERSRVNTTUFTS19CWVRFNSAgICAgIDB4MTAwMDAwMDBVICAvKiE8IE1hc2sgTUFDIEFkZHJlc3MgaGlnaCByZWcgYml0cyBbNzowXSAqLwotI2RlZmluZSBFVEhfTUFDX0FERFJFU1NNQVNLX0JZVEU0ICAgICAgMHgwODAwMDAwMFUgIC8qITwgTWFzayBNQUMgQWRkcmVzcyBsb3cgcmVnIGJpdHMgWzMxOjI0XSAqLwotI2RlZmluZSBFVEhfTUFDX0FERFJFU1NNQVNLX0JZVEUzICAgICAgMHgwNDAwMDAwMFUgIC8qITwgTWFzayBNQUMgQWRkcmVzcyBsb3cgcmVnIGJpdHMgWzIzOjE2XSAqLwotI2RlZmluZSBFVEhfTUFDX0FERFJFU1NNQVNLX0JZVEUyICAgICAgMHgwMjAwMDAwMFUgIC8qITwgTWFzayBNQUMgQWRkcmVzcyBsb3cgcmVnIGJpdHMgWzE1OjhdICovCi0jZGVmaW5lIEVUSF9NQUNfQUREUkVTU01BU0tfQllURTEgICAgICAweDAxMDAwMDAwVSAgLyohPCBNYXNrIE1BQyBBZGRyZXNzIGxvdyByZWcgYml0cyBbNzBdICovCi0vKioKLSAgKiBAfQotICAqLwotCi0vKiogQGRlZmdyb3VwIEVUSF9Ecm9wX1RDUF9JUF9DaGVja3N1bV9FcnJvcl9GcmFtZSBFVEggRHJvcCBUQ1AgSVAgQ2hlY2tzdW0gRXJyb3IgRnJhbWUKLSAgKiBAewotICAqLyAKLSNkZWZpbmUgRVRIX0RST1BUQ1BJUENIRUNLU1VNRVJST1JGUkFNRV9FTkFCTEUgICAweDAwMDAwMDAwVQotI2RlZmluZSBFVEhfRFJPUFRDUElQQ0hFQ0tTVU1FUlJPUkZSQU1FX0RJU0FCTEUgIDB4MDQwMDAwMDBVCi0vKioKLSAgKiBAfQotICAqLwotCi0vKiogQGRlZmdyb3VwIEVUSF9SZWNlaXZlX1N0b3JlX0ZvcndhcmQgRVRIIFJlY2VpdmUgU3RvcmUgRm9yd2FyZAotICAqIEB7Ci0gICovIAotI2RlZmluZSBFVEhfUkVDRUlWRVNUT1JFRk9SV0FSRF9FTkFCTEUgICAgICAweDAyMDAwMDAwVQotI2RlZmluZSBFVEhfUkVDRUlWRVNUT1JFRk9SV0FSRF9ESVNBQkxFICAgICAweDAwMDAwMDAwVQotLyoqCi0gICogQH0KLSAgKi8KLQotLyoqIEBkZWZncm91cCBFVEhfRmx1c2hfUmVjZWl2ZWRfRnJhbWUgRVRIIEZsdXNoIFJlY2VpdmVkIEZyYW1lCi0gICogQHsKLSAgKi8gCi0jZGVmaW5lIEVUSF9GTFVTSFJFQ0VJVkVERlJBTUVfRU5BQkxFICAgICAgIDB4MDAwMDAwMDBVCi0jZGVmaW5lIEVUSF9GTFVTSFJFQ0VJVkVERlJBTUVfRElTQUJMRSAgICAgIDB4MDEwMDAwMDBVCi0vKioKLSAgKiBAfQotICAqLwotCi0vKiogQGRlZmdyb3VwIEVUSF9UcmFuc21pdF9TdG9yZV9Gb3J3YXJkIEVUSCBUcmFuc21pdCBTdG9yZSBGb3J3YXJkCi0gICogQHsKLSAgKi8gCi0jZGVmaW5lIEVUSF9UUkFOU01JVFNUT1JFRk9SV0FSRF9FTkFCTEUgICAgIDB4MDAyMDAwMDBVCi0jZGVmaW5lIEVUSF9UUkFOU01JVFNUT1JFRk9SV0FSRF9ESVNBQkxFICAgIDB4MDAwMDAwMDBVCi0vKioKLSAgKiBAfQotICAqLwotCi0vKiogQGRlZmdyb3VwIEVUSF9UcmFuc21pdF9UaHJlc2hvbGRfQ29udHJvbCBFVEggVHJhbnNtaXQgVGhyZXNob2xkIENvbnRyb2wKLSAgKiBAewotICAqLyAKLSNkZWZpbmUgRVRIX1RSQU5TTUlUVEhSRVNIT0xEQ09OVFJPTF82NEJZVEVTICAgICAweDAwMDAwMDAwVSAgLyohPCB0aHJlc2hvbGQgbGV2ZWwgb2YgdGhlIE1UTCBUcmFuc21pdCBGSUZPIGlzIDY0IEJ5dGVzICovCi0jZGVmaW5lIEVUSF9UUkFOU01JVFRIUkVTSE9MRENPTlRST0xfMTI4QllURVMgICAgMHgwMDAwNDAwMFUgIC8qITwgdGhyZXNob2xkIGxldmVsIG9mIHRoZSBNVEwgVHJhbnNtaXQgRklGTyBpcyAxMjggQnl0ZXMgKi8KLSNkZWZpbmUgRVRIX1RSQU5TTUlUVEhSRVNIT0xEQ09OVFJPTF8xOTJCWVRFUyAgICAweDAwMDA4MDAwVSAgLyohPCB0aHJlc2hvbGQgbGV2ZWwgb2YgdGhlIE1UTCBUcmFuc21pdCBGSUZPIGlzIDE5MiBCeXRlcyAqLwotI2RlZmluZSBFVEhfVFJBTlNNSVRUSFJFU0hPTERDT05UUk9MXzI1NkJZVEVTICAgIDB4MDAwMEMwMDBVICAvKiE8IHRocmVzaG9sZCBsZXZlbCBvZiB0aGUgTVRMIFRyYW5zbWl0IEZJRk8gaXMgMjU2IEJ5dGVzICovCi0jZGVmaW5lIEVUSF9UUkFOU01JVFRIUkVTSE9MRENPTlRST0xfNDBCWVRFUyAgICAgMHgwMDAxMDAwMFUgIC8qITwgdGhyZXNob2xkIGxldmVsIG9mIHRoZSBNVEwgVHJhbnNtaXQgRklGTyBpcyA0MCBCeXRlcyAqLwotI2RlZmluZSBFVEhfVFJBTlNNSVRUSFJFU0hPTERDT05UUk9MXzMyQllURVMgICAgIDB4MDAwMTQwMDBVICAvKiE8IHRocmVzaG9sZCBsZXZlbCBvZiB0aGUgTVRMIFRyYW5zbWl0IEZJRk8gaXMgMzIgQnl0ZXMgKi8KLSNkZWZpbmUgRVRIX1RSQU5TTUlUVEhSRVNIT0xEQ09OVFJPTF8yNEJZVEVTICAgICAweDAwMDE4MDAwVSAgLyohPCB0aHJlc2hvbGQgbGV2ZWwgb2YgdGhlIE1UTCBUcmFuc21pdCBGSUZPIGlzIDI0IEJ5dGVzICovCi0jZGVmaW5lIEVUSF9UUkFOU01JVFRIUkVTSE9MRENPTlRST0xfMTZCWVRFUyAgICAgMHgwMDAxQzAwMFUgIC8qITwgdGhyZXNob2xkIGxldmVsIG9mIHRoZSBNVEwgVHJhbnNtaXQgRklGTyBpcyAxNiBCeXRlcyAqLwotLyoqCi0gICogQH0KLSAgKi8KLQotLyoqIEBkZWZncm91cCBFVEhfRm9yd2FyZF9FcnJvcl9GcmFtZXMgRVRIIEZvcndhcmQgRXJyb3IgRnJhbWVzCi0gICogQHsKLSAgKi8gCi0jZGVmaW5lIEVUSF9GT1JXQVJERVJST1JGUkFNRVNfRU5BQkxFICAgICAgIDB4MDAwMDAwODBVCi0jZGVmaW5lIEVUSF9GT1JXQVJERVJST1JGUkFNRVNfRElTQUJMRSAgICAgIDB4MDAwMDAwMDBVCi0vKioKLSAgKiBAfQotICAqLwotCi0vKiogQGRlZmdyb3VwIEVUSF9Gb3J3YXJkX1VuZGVyc2l6ZWRfR29vZF9GcmFtZXMgRVRIIEZvcndhcmQgVW5kZXJzaXplZCBHb29kIEZyYW1lcwotICAqIEB7Ci0gICovIAotI2RlZmluZSBFVEhfRk9SV0FSRFVOREVSU0laRURHT09ERlJBTUVTX0VOQUJMRSAgIDB4MDAwMDAwNDBVCi0jZGVmaW5lIEVUSF9GT1JXQVJEVU5ERVJTSVpFREdPT0RGUkFNRVNfRElTQUJMRSAgMHgwMDAwMDAwMFUKLS8qKgotICAqIEB9Ci0gICovCi0KLS8qKiBAZGVmZ3JvdXAgRVRIX1JlY2VpdmVfVGhyZXNob2xkX0NvbnRyb2wgRVRIIFJlY2VpdmUgVGhyZXNob2xkIENvbnRyb2wKLSAgKiBAewotICAqLyAKLSNkZWZpbmUgRVRIX1JFQ0VJVkVEVEhSRVNIT0xEQ09OVFJPTF82NEJZVEVTICAgICAgMHgwMDAwMDAwMFUgIC8qITwgdGhyZXNob2xkIGxldmVsIG9mIHRoZSBNVEwgUmVjZWl2ZSBGSUZPIGlzIDY0IEJ5dGVzICovCi0jZGVmaW5lIEVUSF9SRUNFSVZFRFRIUkVTSE9MRENPTlRST0xfMzJCWVRFUyAgICAgIDB4MDAwMDAwMDhVICAvKiE8IHRocmVzaG9sZCBsZXZlbCBvZiB0aGUgTVRMIFJlY2VpdmUgRklGTyBpcyAzMiBCeXRlcyAqLwotI2RlZmluZSBFVEhfUkVDRUlWRURUSFJFU0hPTERDT05UUk9MXzk2QllURVMgICAgICAweDAwMDAwMDEwVSAgLyohPCB0aHJlc2hvbGQgbGV2ZWwgb2YgdGhlIE1UTCBSZWNlaXZlIEZJRk8gaXMgOTYgQnl0ZXMgKi8KLSNkZWZpbmUgRVRIX1JFQ0VJVkVEVEhSRVNIT0xEQ09OVFJPTF8xMjhCWVRFUyAgICAgMHgwMDAwMDAxOFUgIC8qITwgdGhyZXNob2xkIGxldmVsIG9mIHRoZSBNVEwgUmVjZWl2ZSBGSUZPIGlzIDEyOCBCeXRlcyAqLwotLyoqCi0gICogQH0KLSAgKi8KLQotLyoqIEBkZWZncm91cCBFVEhfU2Vjb25kX0ZyYW1lX09wZXJhdGUgRVRIIFNlY29uZCBGcmFtZSBPcGVyYXRlCi0gICogQHsKLSAgKi8gCi0jZGVmaW5lIEVUSF9TRUNPTkRGUkFNRU9QRVJBUlRFX0VOQUJMRSAgICAgICAweDAwMDAwMDA0VQotI2RlZmluZSBFVEhfU0VDT05ERlJBTUVPUEVSQVJURV9ESVNBQkxFICAgICAgMHgwMDAwMDAwMFUKLS8qKgotICAqIEB9Ci0gICovCi0KLS8qKiBAZGVmZ3JvdXAgRVRIX0FkZHJlc3NfQWxpZ25lZF9CZWF0cyBFVEggQWRkcmVzcyBBbGlnbmVkIEJlYXRzIAotICAqIEB7Ci0gICovIAotI2RlZmluZSBFVEhfQUREUkVTU0FMSUdORURCRUFUU19FTkFCTEUgICAgICAweDAyMDAwMDAwVQotI2RlZmluZSBFVEhfQUREUkVTU0FMSUdORURCRUFUU19ESVNBQkxFICAgICAweDAwMDAwMDAwVQotLyoqCi0gICogQH0KLSAgKi8KLQotLyoqIEBkZWZncm91cCBFVEhfRml4ZWRfQnVyc3QgRVRIIEZpeGVkIEJ1cnN0Ci0gICogQHsKLSAgKi8gCi0jZGVmaW5lIEVUSF9GSVhFREJVUlNUX0VOQUJMRSAgICAgMHgwMDAxMDAwMFUKLSNkZWZpbmUgRVRIX0ZJWEVEQlVSU1RfRElTQUJMRSAgICAweDAwMDAwMDAwVQotLyoqCi0gICogQH0KLSAgKi8KLQotLyoqIEBkZWZncm91cCBFVEhfUnhfRE1BX0J1cnN0X0xlbmd0aCBFVEggUnggRE1BIEJ1cnN0IExlbmd0aAotICAqIEB7Ci0gICovIAotI2RlZmluZSBFVEhfUlhETUFCVVJTVExFTkdUSF8xQkVBVCAgICAgICAgICAweDAwMDIwMDAwVSAgLyohPCBtYXhpbXVtIG51bWJlciBvZiBiZWF0cyB0byBiZSB0cmFuc2ZlcnJlZCBpbiBvbmUgUnhETUEgdHJhbnNhY3Rpb24gaXMgMSAqLwotI2RlZmluZSBFVEhfUlhETUFCVVJTVExFTkdUSF8yQkVBVCAgICAgICAgICAweDAwMDQwMDAwVSAgLyohPCBtYXhpbXVtIG51bWJlciBvZiBiZWF0cyB0byBiZSB0cmFuc2ZlcnJlZCBpbiBvbmUgUnhETUEgdHJhbnNhY3Rpb24gaXMgMiAqLwotI2RlZmluZSBFVEhfUlhETUFCVVJTVExFTkdUSF80QkVBVCAgICAgICAgICAweDAwMDgwMDAwVSAgLyohPCBtYXhpbXVtIG51bWJlciBvZiBiZWF0cyB0byBiZSB0cmFuc2ZlcnJlZCBpbiBvbmUgUnhETUEgdHJhbnNhY3Rpb24gaXMgNCAqLwotI2RlZmluZSBFVEhfUlhETUFCVVJTVExFTkdUSF84QkVBVCAgICAgICAgICAweDAwMTAwMDAwVSAgLyohPCBtYXhpbXVtIG51bWJlciBvZiBiZWF0cyB0byBiZSB0cmFuc2ZlcnJlZCBpbiBvbmUgUnhETUEgdHJhbnNhY3Rpb24gaXMgOCAqLwotI2RlZmluZSBFVEhfUlhETUFCVVJTVExFTkdUSF8xNkJFQVQgICAgICAgICAweDAwMjAwMDAwVSAgLyohPCBtYXhpbXVtIG51bWJlciBvZiBiZWF0cyB0byBiZSB0cmFuc2ZlcnJlZCBpbiBvbmUgUnhETUEgdHJhbnNhY3Rpb24gaXMgMTYgKi8KLSNkZWZpbmUgRVRIX1JYRE1BQlVSU1RMRU5HVEhfMzJCRUFUICAgICAgICAgMHgwMDQwMDAwMFUgIC8qITwgbWF4aW11bSBudW1iZXIgb2YgYmVhdHMgdG8gYmUgdHJhbnNmZXJyZWQgaW4gb25lIFJ4RE1BIHRyYW5zYWN0aW9uIGlzIDMyICovCi0jZGVmaW5lIEVUSF9SWERNQUJVUlNUTEVOR1RIXzRYUEJMXzRCRUFUICAgIDB4MDEwMjAwMDBVICAvKiE8IG1heGltdW0gbnVtYmVyIG9mIGJlYXRzIHRvIGJlIHRyYW5zZmVycmVkIGluIG9uZSBSeERNQSB0cmFuc2FjdGlvbiBpcyA0ICovCi0jZGVmaW5lIEVUSF9SWERNQUJVUlNUTEVOR1RIXzRYUEJMXzhCRUFUICAgIDB4MDEwNDAwMDBVICAvKiE8IG1heGltdW0gbnVtYmVyIG9mIGJlYXRzIHRvIGJlIHRyYW5zZmVycmVkIGluIG9uZSBSeERNQSB0cmFuc2FjdGlvbiBpcyA4ICovCi0jZGVmaW5lIEVUSF9SWERNQUJVUlNUTEVOR1RIXzRYUEJMXzE2QkVBVCAgIDB4MDEwODAwMDBVICAvKiE8IG1heGltdW0gbnVtYmVyIG9mIGJlYXRzIHRvIGJlIHRyYW5zZmVycmVkIGluIG9uZSBSeERNQSB0cmFuc2FjdGlvbiBpcyAxNiAqLwotI2RlZmluZSBFVEhfUlhETUFCVVJTVExFTkdUSF80WFBCTF8zMkJFQVQgICAweDAxMTAwMDAwVSAgLyohPCBtYXhpbXVtIG51bWJlciBvZiBiZWF0cyB0byBiZSB0cmFuc2ZlcnJlZCBpbiBvbmUgUnhETUEgdHJhbnNhY3Rpb24gaXMgMzIgKi8KLSNkZWZpbmUgRVRIX1JYRE1BQlVSU1RMRU5HVEhfNFhQQkxfNjRCRUFUICAgMHgwMTIwMDAwMFUgIC8qITwgbWF4aW11bSBudW1iZXIgb2YgYmVhdHMgdG8gYmUgdHJhbnNmZXJyZWQgaW4gb25lIFJ4RE1BIHRyYW5zYWN0aW9uIGlzIDY0ICovCi0jZGVmaW5lIEVUSF9SWERNQUJVUlNUTEVOR1RIXzRYUEJMXzEyOEJFQVQgIDB4MDE0MDAwMDBVICAvKiE8IG1heGltdW0gbnVtYmVyIG9mIGJlYXRzIHRvIGJlIHRyYW5zZmVycmVkIGluIG9uZSBSeERNQSB0cmFuc2FjdGlvbiBpcyAxMjggKi8KKyNkZWZpbmUgRVRIX0JVUlNUTEVOR1RIX0ZJWEVEICAgICAgICAgICBFVEhfRE1BQk1SX0ZCCisjZGVmaW5lIEVUSF9CVVJTVExFTkdUSF9NSVhFRCAgICAgICAgICAgRVRIX0RNQUJNUl9NQgorI2RlZmluZSBFVEhfQlVSU1RMRU5HVEhfVU5TUEVDSUZJRUQgICAgICgodWludDMyX3QpMHgwMDAwMDAwMFUpCiAvKioKICAgKiBAfQogICAqLwogCiAvKiogQGRlZmdyb3VwIEVUSF9UeF9ETUFfQnVyc3RfTGVuZ3RoIEVUSCBUeCBETUEgQnVyc3QgTGVuZ3RoCiAgICogQHsKLSAgKi8gCisgICovCiAjZGVmaW5lIEVUSF9UWERNQUJVUlNUTEVOR1RIXzFCRUFUICAgICAgICAgIDB4MDAwMDAxMDBVICAvKiE8IG1heGltdW0gbnVtYmVyIG9mIGJlYXRzIHRvIGJlIHRyYW5zZmVycmVkIGluIG9uZSBUeERNQSAob3IgYm90aCkgdHJhbnNhY3Rpb24gaXMgMSAqLwogI2RlZmluZSBFVEhfVFhETUFCVVJTVExFTkdUSF8yQkVBVCAgICAgICAgICAweDAwMDAwMjAwVSAgLyohPCBtYXhpbXVtIG51bWJlciBvZiBiZWF0cyB0byBiZSB0cmFuc2ZlcnJlZCBpbiBvbmUgVHhETUEgKG9yIGJvdGgpIHRyYW5zYWN0aW9uIGlzIDIgKi8KICNkZWZpbmUgRVRIX1RYRE1BQlVSU1RMRU5HVEhfNEJFQVQgICAgICAgICAgMHgwMDAwMDQwMFUgIC8qITwgbWF4aW11bSBudW1iZXIgb2YgYmVhdHMgdG8gYmUgdHJhbnNmZXJyZWQgaW4gb25lIFR4RE1BIChvciBib3RoKSB0cmFuc2FjdGlvbiBpcyA0ICovCkBAIC0xMzkxLDE4ICsxMDQ3LDU3OSBAQAogICAqIEB9CiAgICovCiAKLS8qKiBAZGVmZ3JvdXAgRVRIX0RNQV9FbmhhbmNlZF9kZXNjcmlwdG9yX2Zvcm1hdCBFVEggRE1BIEVuaGFuY2VkIGRlc2NyaXB0b3IgZm9ybWF0CisvKiogQGRlZmdyb3VwIEVUSF9SeF9ETUFfQnVyc3RfTGVuZ3RoIEVUSCBSeCBETUEgQnVyc3QgTGVuZ3RoCiAgICogQHsKLSAgKi8gIAotI2RlZmluZSBFVEhfRE1BRU5IQU5DRURERVNDUklQVE9SX0VOQUJMRSAgICAgICAgICAgICAgMHgwMDAwMDA4MFUKLSNkZWZpbmUgRVRIX0RNQUVOSEFOQ0VEREVTQ1JJUFRPUl9ESVNBQkxFICAgICAgICAgICAgIDB4MDAwMDAwMDBVCisgICovCisjZGVmaW5lIEVUSF9SWERNQUJVUlNUTEVOR1RIXzFCRUFUICAgICAgICAgIDB4MDAwMjAwMDBVICAvKiE8IG1heGltdW0gbnVtYmVyIG9mIGJlYXRzIHRvIGJlIHRyYW5zZmVycmVkIGluIG9uZSBSeERNQSB0cmFuc2FjdGlvbiBpcyAxICovCisjZGVmaW5lIEVUSF9SWERNQUJVUlNUTEVOR1RIXzJCRUFUICAgICAgICAgIDB4MDAwNDAwMDBVICAvKiE8IG1heGltdW0gbnVtYmVyIG9mIGJlYXRzIHRvIGJlIHRyYW5zZmVycmVkIGluIG9uZSBSeERNQSB0cmFuc2FjdGlvbiBpcyAyICovCisjZGVmaW5lIEVUSF9SWERNQUJVUlNUTEVOR1RIXzRCRUFUICAgICAgICAgIDB4MDAwODAwMDBVICAvKiE8IG1heGltdW0gbnVtYmVyIG9mIGJlYXRzIHRvIGJlIHRyYW5zZmVycmVkIGluIG9uZSBSeERNQSB0cmFuc2FjdGlvbiBpcyA0ICovCisjZGVmaW5lIEVUSF9SWERNQUJVUlNUTEVOR1RIXzhCRUFUICAgICAgICAgIDB4MDAxMDAwMDBVICAvKiE8IG1heGltdW0gbnVtYmVyIG9mIGJlYXRzIHRvIGJlIHRyYW5zZmVycmVkIGluIG9uZSBSeERNQSB0cmFuc2FjdGlvbiBpcyA4ICovCisjZGVmaW5lIEVUSF9SWERNQUJVUlNUTEVOR1RIXzE2QkVBVCAgICAgICAgIDB4MDAyMDAwMDBVICAvKiE8IG1heGltdW0gbnVtYmVyIG9mIGJlYXRzIHRvIGJlIHRyYW5zZmVycmVkIGluIG9uZSBSeERNQSB0cmFuc2FjdGlvbiBpcyAxNiAqLworI2RlZmluZSBFVEhfUlhETUFCVVJTVExFTkdUSF8zMkJFQVQgICAgICAgICAweDAwNDAwMDAwVSAgLyohPCBtYXhpbXVtIG51bWJlciBvZiBiZWF0cyB0byBiZSB0cmFuc2ZlcnJlZCBpbiBvbmUgUnhETUEgdHJhbnNhY3Rpb24gaXMgMzIgKi8KKyNkZWZpbmUgRVRIX1JYRE1BQlVSU1RMRU5HVEhfNFhQQkxfNEJFQVQgICAgMHgwMTAyMDAwMFUgIC8qITwgbWF4aW11bSBudW1iZXIgb2YgYmVhdHMgdG8gYmUgdHJhbnNmZXJyZWQgaW4gb25lIFJ4RE1BIHRyYW5zYWN0aW9uIGlzIDQgKi8KKyNkZWZpbmUgRVRIX1JYRE1BQlVSU1RMRU5HVEhfNFhQQkxfOEJFQVQgICAgMHgwMTA0MDAwMFUgIC8qITwgbWF4aW11bSBudW1iZXIgb2YgYmVhdHMgdG8gYmUgdHJhbnNmZXJyZWQgaW4gb25lIFJ4RE1BIHRyYW5zYWN0aW9uIGlzIDggKi8KKyNkZWZpbmUgRVRIX1JYRE1BQlVSU1RMRU5HVEhfNFhQQkxfMTZCRUFUICAgMHgwMTA4MDAwMFUgIC8qITwgbWF4aW11bSBudW1iZXIgb2YgYmVhdHMgdG8gYmUgdHJhbnNmZXJyZWQgaW4gb25lIFJ4RE1BIHRyYW5zYWN0aW9uIGlzIDE2ICovCisjZGVmaW5lIEVUSF9SWERNQUJVUlNUTEVOR1RIXzRYUEJMXzMyQkVBVCAgIDB4MDExMDAwMDBVICAvKiE8IG1heGltdW0gbnVtYmVyIG9mIGJlYXRzIHRvIGJlIHRyYW5zZmVycmVkIGluIG9uZSBSeERNQSB0cmFuc2FjdGlvbiBpcyAzMiAqLworI2RlZmluZSBFVEhfUlhETUFCVVJTVExFTkdUSF80WFBCTF82NEJFQVQgICAweDAxMjAwMDAwVSAgLyohPCBtYXhpbXVtIG51bWJlciBvZiBiZWF0cyB0byBiZSB0cmFuc2ZlcnJlZCBpbiBvbmUgUnhETUEgdHJhbnNhY3Rpb24gaXMgNjQgKi8KKyNkZWZpbmUgRVRIX1JYRE1BQlVSU1RMRU5HVEhfNFhQQkxfMTI4QkVBVCAgMHgwMTQwMDAwMFUgIC8qITwgbWF4aW11bSBudW1iZXIgb2YgYmVhdHMgdG8gYmUgdHJhbnNmZXJyZWQgaW4gb25lIFJ4RE1BIHRyYW5zYWN0aW9uIGlzIDEyOCAqLworLyoqCisgICogQH0KKyAgKi8KKworLyoqIEBkZWZncm91cCBFVEhfRE1BX0ludGVycnVwdHMgRVRIIERNQSBJbnRlcnJ1cHRzCisgICogQHsKKyAgKi8KKyNkZWZpbmUgRVRIX0RNQV9OT1JNQUxfSVQgICAgICAgICAgICAgICAgIEVUSF9ETUFDSUVSX05JRQorI2RlZmluZSBFVEhfRE1BX0FCTk9STUFMX0lUICAgICAgICAgICAgICAgRVRIX0RNQUNJRVJfQUlFCisjZGVmaW5lIEVUSF9ETUFfQ09OVEVYVF9ERVNDX0VSUk9SX0lUICAgICBFVEhfRE1BQ0lFUl9DREVFCisjZGVmaW5lIEVUSF9ETUFfRkFUQUxfQlVTX0VSUk9SX0lUICAgICAgICBFVEhfRE1BQ0lFUl9GQkVFCisjZGVmaW5lIEVUSF9ETUFfRUFSTFlfUlhfSVQgICAgICAgICAgICAgICBFVEhfRE1BQ0lFUl9FUklFCisjZGVmaW5lIEVUSF9ETUFfRUFSTFlfVFhfSVQgICAgICAgICAgICAgICBFVEhfRE1BQ0lFUl9FVElFCisjZGVmaW5lIEVUSF9ETUFfUlhfV0FUQ0hET0dfVElNRU9VVF9JVCAgICBFVEhfRE1BQ0lFUl9SV1RFCisjZGVmaW5lIEVUSF9ETUFfUlhfUFJPQ0VTU19TVE9QUEVEX0lUICAgICBFVEhfRE1BQ0lFUl9SU0UKKyNkZWZpbmUgRVRIX0RNQV9SWF9CVUZGRVJfVU5BVkFJTEFCTEVfSVQgIEVUSF9ETUFDSUVSX1JCVUUKKyNkZWZpbmUgRVRIX0RNQV9SWF9JVCAgICAgICAgICAgICAgICAgICAgIEVUSF9ETUFDSUVSX1JJRQorI2RlZmluZSBFVEhfRE1BX1RYX0JVRkZFUl9VTkFWQUlMQUJMRV9JVCAgRVRIX0RNQUNJRVJfVEJVRQorI2RlZmluZSBFVEhfRE1BX1RYX1BST0NFU1NfU1RPUFBFRF9JVCAgICAgRVRIX0RNQUNJRVJfVFhTRQorI2RlZmluZSBFVEhfRE1BX1RYX0lUICAgICAgICAgICAgICAgICAgICAgRVRIX0RNQUNJRVJfVElFCisvKioKKyAgKiBAfQorICAqLworCisvKiogQGRlZmdyb3VwIEVUSF9ETUFfU3RhdHVzX0ZsYWdzIEVUSCBETUEgU3RhdHVzIEZsYWdzCisgICogQHsKKyAgKi8KKyNkZWZpbmUgRVRIX0RNQV9SWF9OT19FUlJPUl9GTEFHICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDBVKQorI2RlZmluZSBFVEhfRE1BX1JYX0RFU0NfUkVBRF9FUlJPUl9GTEFHICAgICAgICAgIChFVEhfRE1BQ1NSX1JFQl9CSVRfMiB8IEVUSF9ETUFDU1JfUkVCX0JJVF8xIHwgRVRIX0RNQUNTUl9SRUJfQklUXzApCisjZGVmaW5lIEVUSF9ETUFfUlhfREVTQ19XUklURV9FUlJPUl9GTEFHICAgICAgICAgKEVUSF9ETUFDU1JfUkVCX0JJVF8yIHwgRVRIX0RNQUNTUl9SRUJfQklUXzEpCisjZGVmaW5lIEVUSF9ETUFfUlhfQlVGRkVSX1JFQURfRVJST1JfRkxBRyAgICAgICAgKEVUSF9ETUFDU1JfUkVCX0JJVF8yIHwgRVRIX0RNQUNTUl9SRUJfQklUXzApCisjZGVmaW5lIEVUSF9ETUFfUlhfQlVGRkVSX1dSSVRFX0VSUk9SX0ZMQUcgICAgICAgIEVUSF9ETUFDU1JfUkVCX0JJVF8yCisjZGVmaW5lIEVUSF9ETUFfVFhfTk9fRVJST1JfRkxBRyAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAwVSkKKyNkZWZpbmUgRVRIX0RNQV9UWF9ERVNDX1JFQURfRVJST1JfRkxBRyAgICAgICAgICAoRVRIX0RNQUNTUl9URUJfQklUXzIgfCBFVEhfRE1BQ1NSX1RFQl9CSVRfMSB8IEVUSF9ETUFDU1JfVEVCX0JJVF8wKQorI2RlZmluZSBFVEhfRE1BX1RYX0RFU0NfV1JJVEVfRVJST1JfRkxBRyAgICAgICAgIChFVEhfRE1BQ1NSX1RFQl9CSVRfMiB8IEVUSF9ETUFDU1JfVEVCX0JJVF8xKQorI2RlZmluZSBFVEhfRE1BX1RYX0JVRkZFUl9SRUFEX0VSUk9SX0ZMQUcgICAgICAgIChFVEhfRE1BQ1NSX1RFQl9CSVRfMiB8IEVUSF9ETUFDU1JfVEVCX0JJVF8wKQorI2RlZmluZSBFVEhfRE1BX1RYX0JVRkZFUl9XUklURV9FUlJPUl9GTEFHICAgICAgICBFVEhfRE1BQ1NSX1RFQl9CSVRfMgorI2RlZmluZSBFVEhfRE1BX0NPTlRFWFRfREVTQ19FUlJPUl9GTEFHICAgICAgICAgICBFVEhfRE1BQ1NSX0NERQorI2RlZmluZSBFVEhfRE1BX0ZBVEFMX0JVU19FUlJPUl9GTEFHICAgICAgICAgICAgICBFVEhfRE1BQ1NSX0ZCRQorI2RlZmluZSBFVEhfRE1BX0VBUkxZX1RYX0lUX0ZMQUcgICAgICAgICAgICAgICAgICBFVEhfRE1BQ1NSX0VSSQorI2RlZmluZSBFVEhfRE1BX1JYX1dBVENIRE9HX1RJTUVPVVRfRkxBRyAgICAgICAgICBFVEhfRE1BQ1NSX1JXVAorI2RlZmluZSBFVEhfRE1BX1JYX1BST0NFU1NfU1RPUFBFRF9GTEFHICAgICAgICAgICBFVEhfRE1BQ1NSX1JQUworI2RlZmluZSBFVEhfRE1BX1JYX0JVRkZFUl9VTkFWQUlMQUJMRV9GTEFHICAgICAgICBFVEhfRE1BQ1NSX1JCVQorI2RlZmluZSBFVEhfRE1BX1RYX1BST0NFU1NfU1RPUFBFRF9GTEFHICAgICAgICAgICBFVEhfRE1BQ1NSX1RQUworLyoqCisgICogQH0KKyAgKi8KKworLyoqIEBkZWZncm91cCBFVEhfVHJhbnNtaXRfTW9kZSBFVEggVHJhbnNtaXQgTW9kZQorICAqIEB7CisgICovCisjZGVmaW5lIEVUSF9UUkFOU01JVFNUT1JFRk9SV0FSRCAgICAgICBFVEhfTVRMVFFPTVJfVFNGCisjZGVmaW5lIEVUSF9UUkFOU01JVFRIUkVTSE9MRF8zMiAgICAgICBFVEhfTVRMVFFPTVJfVFRDXzMyQklUUworI2RlZmluZSBFVEhfVFJBTlNNSVRUSFJFU0hPTERfNjQgICAgICAgRVRIX01UTFRRT01SX1RUQ182NEJJVFMKKyNkZWZpbmUgRVRIX1RSQU5TTUlUVEhSRVNIT0xEXzk2ICAgICAgIEVUSF9NVExUUU9NUl9UVENfOTZCSVRTCisjZGVmaW5lIEVUSF9UUkFOU01JVFRIUkVTSE9MRF8xMjggICAgICBFVEhfTVRMVFFPTVJfVFRDXzEyOEJJVFMKKyNkZWZpbmUgRVRIX1RSQU5TTUlUVEhSRVNIT0xEXzE5MiAgICAgIEVUSF9NVExUUU9NUl9UVENfMTkyQklUUworI2RlZmluZSBFVEhfVFJBTlNNSVRUSFJFU0hPTERfMjU2ICAgICAgRVRIX01UTFRRT01SX1RUQ18yNTZCSVRTCisjZGVmaW5lIEVUSF9UUkFOU01JVFRIUkVTSE9MRF8zODQgICAgICBFVEhfTVRMVFFPTVJfVFRDXzM4NEJJVFMKKyNkZWZpbmUgRVRIX1RSQU5TTUlUVEhSRVNIT0xEXzUxMiAgICAgIEVUSF9NVExUUU9NUl9UVENfNTEyQklUUworLyoqCisgICogQH0KKyAgKi8KKworLyoqIEBkZWZncm91cCBFVEhfUmVjZWl2ZV9Nb2RlIEVUSCBSZWNlaXZlIE1vZGUKKyAgKiBAeworICAqLworI2RlZmluZSBFVEhfUkVDRUlWRVNUT1JFRk9SV0FSRCAgICAgICAgRVRIX01UTFJRT01SX1JTRgorI2RlZmluZSBFVEhfUkVDRUlWRVRIUkVTSE9MRDhfNjQgICAgICAgRVRIX01UTFJRT01SX1JUQ182NEJJVFMKKyNkZWZpbmUgRVRIX1JFQ0VJVkVUSFJFU0hPTEQ4XzMyICAgICAgIEVUSF9NVExSUU9NUl9SVENfMzJCSVRTCisjZGVmaW5lIEVUSF9SRUNFSVZFVEhSRVNIT0xEOF85NiAgICAgICBFVEhfTVRMUlFPTVJfUlRDXzk2QklUUworI2RlZmluZSBFVEhfUkVDRUlWRVRIUkVTSE9MRDhfMTI4ICAgICAgRVRIX01UTFJRT01SX1JUQ18xMjhCSVRTCisvKioKKyAgKiBAfQorICAqLworCisvKiogQGRlZmdyb3VwIEVUSF9QYXVzZV9Mb3dfVGhyZXNob2xkICBFVEggUGF1c2UgTG93IFRocmVzaG9sZAorICAqIEB7CisgICovCisjZGVmaW5lIEVUSF9QQVVTRUxPV1RIUkVTSE9MRF9NSU5VU180ICAgICAgICBFVEhfTUFDVEZDUl9QTFRfTUlOVVM0CisjZGVmaW5lIEVUSF9QQVVTRUxPV1RIUkVTSE9MRF9NSU5VU18yOCAgICAgICBFVEhfTUFDVEZDUl9QTFRfTUlOVVMyOAorI2RlZmluZSBFVEhfUEFVU0VMT1dUSFJFU0hPTERfTUlOVVNfMzYgICAgICAgRVRIX01BQ1RGQ1JfUExUX01JTlVTMzYKKyNkZWZpbmUgRVRIX1BBVVNFTE9XVEhSRVNIT0xEX01JTlVTXzE0NCAgICAgIEVUSF9NQUNURkNSX1BMVF9NSU5VUzE0NAorI2RlZmluZSBFVEhfUEFVU0VMT1dUSFJFU0hPTERfTUlOVVNfMjU2ICAgICAgRVRIX01BQ1RGQ1JfUExUX01JTlVTMjU2CisjZGVmaW5lIEVUSF9QQVVTRUxPV1RIUkVTSE9MRF9NSU5VU181MTIgICAgICBFVEhfTUFDVEZDUl9QTFRfTUlOVVM1MTIKKy8qKgorICAqIEB9CisgICovCisKKy8qKiBAZGVmZ3JvdXAgRVRIX1dhdGNoZG9nX1RpbWVvdXQgRVRIIFdhdGNoZG9nIFRpbWVvdXQKKyAgKiBAeworICAqLworI2RlZmluZSBFVEhfV0FUQ0hET0dUSU1FT1VUXzJLQiAgICAgIEVUSF9NQUNXVFJfV1RPXzJLQgorI2RlZmluZSBFVEhfV0FUQ0hET0dUSU1FT1VUXzNLQiAgICAgIEVUSF9NQUNXVFJfV1RPXzNLQgorI2RlZmluZSBFVEhfV0FUQ0hET0dUSU1FT1VUXzRLQiAgICAgIEVUSF9NQUNXVFJfV1RPXzRLQgorI2RlZmluZSBFVEhfV0FUQ0hET0dUSU1FT1VUXzVLQiAgICAgIEVUSF9NQUNXVFJfV1RPXzVLQgorI2RlZmluZSBFVEhfV0FUQ0hET0dUSU1FT1VUXzZLQiAgICAgIEVUSF9NQUNXVFJfV1RPXzZLQgorI2RlZmluZSBFVEhfV0FUQ0hET0dUSU1FT1VUXzdLQiAgICAgIEVUSF9NQUNXVFJfV1RPXzdLQgorI2RlZmluZSBFVEhfV0FUQ0hET0dUSU1FT1VUXzhLQiAgICAgIEVUSF9NQUNXVFJfV1RPXzhLQgorI2RlZmluZSBFVEhfV0FUQ0hET0dUSU1FT1VUXzlLQiAgICAgIEVUSF9NQUNXVFJfV1RPXzlLQgorI2RlZmluZSBFVEhfV0FUQ0hET0dUSU1FT1VUXzEwS0IgICAgIEVUSF9NQUNXVFJfV1RPXzEwS0IKKyNkZWZpbmUgRVRIX1dBVENIRE9HVElNRU9VVF8xMUtCICAgICBFVEhfTUFDV1RSX1dUT18xMktCCisjZGVmaW5lIEVUSF9XQVRDSERPR1RJTUVPVVRfMTJLQiAgICAgRVRIX01BQ1dUUl9XVE9fMTJLQgorI2RlZmluZSBFVEhfV0FUQ0hET0dUSU1FT1VUXzEzS0IgICAgIEVUSF9NQUNXVFJfV1RPXzEzS0IKKyNkZWZpbmUgRVRIX1dBVENIRE9HVElNRU9VVF8xNEtCICAgICBFVEhfTUFDV1RSX1dUT18xNEtCCisjZGVmaW5lIEVUSF9XQVRDSERPR1RJTUVPVVRfMTVLQiAgICAgRVRIX01BQ1dUUl9XVE9fMTVLQgorI2RlZmluZSBFVEhfV0FUQ0hET0dUSU1FT1VUXzE2S0IgICAgIEVUSF9NQUNXVFJfV1RPXzE2S0IKKy8qKgorICAqIEB9CisgICovCisKKy8qKiBAZGVmZ3JvdXAgRVRIX0ludGVyX1BhY2tldF9HYXAgRVRIIEludGVyIFBhY2tldCBHYXAKKyAgKiBAeworICAqLworI2RlZmluZSBFVEhfSU5URVJQQUNLRVRHQVBfOTZCSVQgICBFVEhfTUFDQ1JfSVBHXzk2QklUCisjZGVmaW5lIEVUSF9JTlRFUlBBQ0tFVEdBUF84OEJJVCAgIEVUSF9NQUNDUl9JUEdfODhCSVQKKyNkZWZpbmUgRVRIX0lOVEVSUEFDS0VUR0FQXzgwQklUICAgRVRIX01BQ0NSX0lQR184MEJJVAorI2RlZmluZSBFVEhfSU5URVJQQUNLRVRHQVBfNzJCSVQgICBFVEhfTUFDQ1JfSVBHXzcyQklUCisjZGVmaW5lIEVUSF9JTlRFUlBBQ0tFVEdBUF82NEJJVCAgIEVUSF9NQUNDUl9JUEdfNjRCSVQKKyNkZWZpbmUgRVRIX0lOVEVSUEFDS0VUR0FQXzU2QklUICAgRVRIX01BQ0NSX0lQR181NkJJVAorI2RlZmluZSBFVEhfSU5URVJQQUNLRVRHQVBfNDhCSVQgICBFVEhfTUFDQ1JfSVBHXzQ4QklUCisjZGVmaW5lIEVUSF9JTlRFUlBBQ0tFVEdBUF80MEJJVCAgIEVUSF9NQUNDUl9JUEdfNDBCSVQKKy8qKgorICAqIEB9CisgICovCisKKy8qKiBAZGVmZ3JvdXAgRVRIX1NwZWVkICBFVEggU3BlZWQKKyAgKiBAeworICAqLworI2RlZmluZSBFVEhfU1BFRURfMTBNICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDBVKQorI2RlZmluZSBFVEhfU1BFRURfMTAwTSAgICAgICAweDAwMDA0MDAwVQorLyoqCisgICogQH0KKyAgKi8KKworLyoqIEBkZWZncm91cCBFVEhfRHVwbGV4X01vZGUgRVRIIER1cGxleCBNb2RlCisgICogQHsKKyAgKi8KKyNkZWZpbmUgRVRIX0ZVTExEVVBMRVhfTU9ERSAgICAgICBFVEhfTUFDQ1JfRE0KKyNkZWZpbmUgRVRIX0hBTEZEVVBMRVhfTU9ERSAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDBVKQorLyoqCisgICogQH0KKyAgKi8KKworLyoqIEBkZWZncm91cCBFVEhfQmFja19PZmZfTGltaXQgRVRIIEJhY2sgT2ZmIExpbWl0CisgICogQHsKKyAgKi8KKyNkZWZpbmUgRVRIX0JBQ0tPRkZMSU1JVF8xMCAgMHgwMDAwMDAwMFUKKyNkZWZpbmUgRVRIX0JBQ0tPRkZMSU1JVF84ICAgMHgwMDAwMDAyMFUKKyNkZWZpbmUgRVRIX0JBQ0tPRkZMSU1JVF80ICAgMHgwMDAwMDA0MFUKKyNkZWZpbmUgRVRIX0JBQ0tPRkZMSU1JVF8xICAgMHgwMDAwMDA2MFUKKy8qKgorICAqIEB9CisgICovCisKKy8qKiBAZGVmZ3JvdXAgRVRIX1ByZWFtYmxlX0xlbmd0aCBFVEggUHJlYW1ibGUgTGVuZ3RoCisgICogQHsKKyAgKi8KKyNkZWZpbmUgRVRIX1BSRUFNQkxFTEVOR1RIXzcgICAgICBFVEhfTUFDQ1JfUFJFTEVOXzcKKyNkZWZpbmUgRVRIX1BSRUFNQkxFTEVOR1RIXzUgICAgICBFVEhfTUFDQ1JfUFJFTEVOXzUKKyNkZWZpbmUgRVRIX1BSRUFNQkxFTEVOR1RIXzMgICAgICBFVEhfTUFDQ1JfUFJFTEVOXzMKKy8qKgorICAqIEB9CisgICovCisKKy8qKiBAZGVmZ3JvdXAgRVRIX1NvdXJjZV9BZGRyX0NvbnRyb2wgRVRIIFNvdXJjZSBBZGRyIENvbnRyb2wKKyAgKiBAeworICAqLworI2RlZmluZSBFVEhfU09VUkNFQUREUkVTU19ESVNBQkxFICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDBVKQorI2RlZmluZSBFVEhfU09VUkNFQUREUkVTU19JTlNFUlRfQUREUjAgICAgICBFVEhfTUFDQ1JfU0FSQ19JTlNBRERSMAorI2RlZmluZSBFVEhfU09VUkNFQUREUkVTU19JTlNFUlRfQUREUjEgICAgICBFVEhfTUFDQ1JfU0FSQ19JTlNBRERSMQorI2RlZmluZSBFVEhfU09VUkNFQUREUkVTU19SRVBMQUNFX0FERFIwICAgICBFVEhfTUFDQ1JfU0FSQ19SRVBBRERSMAorI2RlZmluZSBFVEhfU09VUkNFQUREUkVTU19SRVBMQUNFX0FERFIxICAgICBFVEhfTUFDQ1JfU0FSQ19SRVBBRERSMQorLyoqCisgICogQH0KKyAgKi8KKworLyoqIEBkZWZncm91cCBFVEhfQ29udHJvbF9QYWNrZXRzX0ZpbHRlciBFVEggQ29udHJvbCBQYWNrZXRzIEZpbHRlcgorICAqIEB7CisgICovCisjZGVmaW5lIEVUSF9DVFJMUEFDS0VUU19CTE9DS19BTEwgICAgICAgICAgICAgICAgICAgICAgRVRIX01BQ1BGUl9QQ0ZfQkxPQ0tBTEwKKyNkZWZpbmUgRVRIX0NUUkxQQUNLRVRTX0ZPUldBUkRfQUxMX0VYQ0VQVF9QQSAgICAgICAgICBFVEhfTUFDUEZSX1BDRl9GT1JXQVJEQUxMRVhDRVBUUEEKKyNkZWZpbmUgRVRIX0NUUkxQQUNLRVRTX0ZPUldBUkRfQUxMICAgICAgICAgICAgICAgICAgICBFVEhfTUFDUEZSX1BDRl9GT1JXQVJEQUxMCisjZGVmaW5lIEVUSF9DVFJMUEFDS0VUU19GT1JXQVJEX1BBU1NFRF9BRERSX0ZJTFRFUiAgICAgRVRIX01BQ1BGUl9QQ0ZfRk9SV0FSRFBBU1NFREFERFJGSUxURVIKKy8qKgorICAqIEB9CisgICovCisKKy8qKiBAZGVmZ3JvdXAgRVRIX1ZMQU5fVGFnX0NvbXBhcmlzb24gRVRIIFZMQU4gVGFnIENvbXBhcmlzb24KKyAgKiBAeworICAqLworI2RlZmluZSBFVEhfVkxBTlRBR0NPTVBBUklTT05fMTJCSVQgICAgMHgwMDAxMDAwMFUKKyNkZWZpbmUgRVRIX1ZMQU5UQUdDT01QQVJJU09OXzE2QklUICAgIDB4MDAwMDAwMDBVCisvKioKKyAgKiBAfQorICAqLworCisvKiogQGRlZmdyb3VwIEVUSF9NQUNfYWRkcmVzc2VzIEVUSCBNQUMgYWRkcmVzc2VzCisgICogQHsKKyAgKi8KKyNkZWZpbmUgRVRIX01BQ19BRERSRVNTMCAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAwVSkKKyNkZWZpbmUgRVRIX01BQ19BRERSRVNTMSAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA4VSkKKyNkZWZpbmUgRVRIX01BQ19BRERSRVNTMiAgICAgKCh1aW50MzJfdCkweDAwMDAwMDEwVSkKKyNkZWZpbmUgRVRIX01BQ19BRERSRVNTMyAgICAgKCh1aW50MzJfdCkweDAwMDAwMDE4VSkKKy8qKgorICAqIEB9CisgICovCisKKy8qKiBAZGVmZ3JvdXAgRVRIX01BQ19JbnRlcnJ1cHRzIEVUSCBNQUMgSW50ZXJydXB0cworICAqIEB7CisgICovCisjZGVmaW5lIEVUSF9NQUNfUE1UX0lUICAgICAgICAgICBFVEhfTUFDU1JfUE1UUworLyoqCisgICogQH0KKyAgKi8KKworLyoqIEBkZWZncm91cCBFVEhfTUFDX1dha2VfVXBfRXZlbnQgRVRIIE1BQyBXYWtlIFVwIEV2ZW50CisgICogQHsKKyAgKi8KKyNkZWZpbmUgRVRIX1dBS0VVUF9QQUNLRVRfUkVDSUVWRUQgICAgRVRIX01BQ1BDU1JfUldLUFJDVkQKKyNkZWZpbmUgRVRIX01BR0lDX1BBQ0tFVF9SRUNJRVZFRCAgICAgRVRIX01BQ1BDU1JfTUdLUFJDVkQKKy8qKgorICAqIEB9CisgICovCisKKy8qKiBAZGVmZ3JvdXAgRVRIX01BQ19SeF9UeF9TdGF0dXMgRVRIIE1BQyBSeCBUeCBTdGF0dXMKKyAgKiBAeworICAqLworI2RlZmluZSBFVEhfUkVDRUlWRV9XQVRDSERPR19USU1FT1VUICAgICAgICBFVEhfTUFDUlhUWFNSX1JXVAorI2RlZmluZSBFVEhfRVhFQ0VTU0lWRV9DT0xMSVNJT05TICAgICAgICAgICBFVEhfTUFDUlhUWFNSX0VYQ09MCisjZGVmaW5lIEVUSF9MQVRFX0NPTExJU0lPTlMgICAgICAgICAgICAgICAgIEVUSF9NQUNSWFRYU1JfTENPTAorI2RlZmluZSBFVEhfRVhFQ0VTU0lWRV9ERUZFUlJBTCAgICAgICAgICAgICBFVEhfTUFDUlhUWFNSX0VYREVGCisjZGVmaW5lIEVUSF9MT1NTX09GX0NBUlJJRVIgICAgICAgICAgICAgICAgIEVUSF9NQUNSWFRYU1JfTENBUlIKKyNkZWZpbmUgRVRIX05PX0NBUlJJRVIgICAgICAgICAgICAgICAgICAgICAgRVRIX01BQ1JYVFhTUl9OQ0FSUgorI2RlZmluZSBFVEhfVFJBTlNNSVRfSkFCQlJfVElNRU9VVCAgICAgICAgICBFVEhfTUFDUlhUWFNSX1RKVAorLyoqCisgICogQH0KKyAgKi8KKworLyoqIEBkZWZncm91cCBIQUxfRVRIX1N0YXRlVHlwZURlZiBFVEggU3RhdGVzCisgICogQHsKKyAgKi8KKyNkZWZpbmUgSEFMX0VUSF9TVEFURV9SRVNFVCAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDBVKSAgICAvKiE8IFBlcmlwaGVyYWwgbm90IHlldCBJbml0aWFsaXplZCBvciBkaXNhYmxlZCAqLworI2RlZmluZSBIQUxfRVRIX1NUQVRFX1JFQURZICAgICAgICgodWludDMyX3QpMHgwMDAwMDAxMFUpICAgIC8qITwgUGVyaXBoZXJhbCBDb21tdW5pY2F0aW9uIHN0YXJ0ZWQgICAgICAgICAgICovCisjZGVmaW5lIEhBTF9FVEhfU1RBVEVfQlVTWSAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDIzVSkgICAgLyohPCBhbiBpbnRlcm5hbCBwcm9jZXNzIGlzIG9uZ29pbmcgICAgICAgICAgICAgKi8KKyNkZWZpbmUgSEFMX0VUSF9TVEFURV9TVEFSVEVEICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMjNVKSAgICAvKiE8IGFuIGludGVybmFsIHByb2Nlc3MgaXMgc3RhcnRlZCAgICAgICAgICAgICAqLworI2RlZmluZSBIQUxfRVRIX1NUQVRFX0VSUk9SICAgICAgICgodWludDMyX3QpMHgwMDAwMDBFMFUpICAgIC8qITwgRXJyb3IgU3RhdGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisvKioKKyAgKiBAfQorICAqLworCisvKiogQGRlZmdyb3VwIEVUSF9BdXRvTmVnb3RpYXRpb24gRVRIIEF1dG9OZWdvdGlhdGlvbgorICAqIEB7CisgICovCisjZGVmaW5lIEVUSF9BVVRPTkVHT1RJQVRJT05fRU5BQkxFICAgICAweDAwMDAwMDAxVQorI2RlZmluZSBFVEhfQVVUT05FR09USUFUSU9OX0RJU0FCTEUgICAgMHgwMDAwMDAwMFUKKworLyoqCisgICogQH0KKyAgKi8KKy8qKiBAZGVmZ3JvdXAgRVRIX1J4X01vZGUgRVRIIFJ4IE1vZGUKKyAgKiBAeworICAqLworI2RlZmluZSBFVEhfUlhQT0xMSU5HX01PREUgICAgICAweDAwMDAwMDAwVQorI2RlZmluZSBFVEhfUlhJTlRFUlJVUFRfTU9ERSAgICAweDAwMDAwMDAxVQorLyoqCisgICogQH0KKyAgKi8KKworLyoqIEBkZWZncm91cCBFVEhfQ2hlY2tzdW1fTW9kZSBFVEggQ2hlY2tzdW0gTW9kZQorICAqIEB7CisgICovCisjZGVmaW5lIEVUSF9DSEVDS1NVTV9CWV9IQVJEV0FSRSAgICAgIDB4MDAwMDAwMDBVCisjZGVmaW5lIEVUSF9DSEVDS1NVTV9CWV9TT0ZUV0FSRSAgICAgIDB4MDAwMDAwMDFVCisvKioKKyAgKiBAfQorICAqLworCisvKiogQGRlZmdyb3VwIEVUSF9NZWRpYV9JbnRlcmZhY2UgRVRIIE1lZGlhIEludGVyZmFjZQorICAqIEB7CisgICovCisjZGVmaW5lIEVUSF9NRURJQV9JTlRFUkZBQ0VfTUlJICAgICAgIDB4MDAwMDAwMDBVCisjZGVmaW5lIEVUSF9NRURJQV9JTlRFUkZBQ0VfUk1JSSAgICAgICgodWludDMyX3QpU1lTQ0ZHX1BNQ19NSUlfUk1JSV9TRUwpCisvKioKKyAgKiBAfQorICAqLworCisvKiogQGRlZmdyb3VwIEVUSF9XYXRjaGRvZyBFVEggV2F0Y2hkb2cKKyAgKiBAeworICAqLworI2RlZmluZSBFVEhfV0FUQ0hET0dfRU5BQkxFICAgICAgIDB4MDAwMDAwMDBVCisjZGVmaW5lIEVUSF9XQVRDSERPR19ESVNBQkxFICAgICAgMHgwMDgwMDAwMFUKKy8qKgorICAqIEB9CisgICovCisKKy8qKiBAZGVmZ3JvdXAgRVRIX0phYmJlciBFVEggSmFiYmVyCisgICogQHsKKyAgKi8KKyNkZWZpbmUgRVRIX0pBQkJFUl9FTkFCTEUgICAgMHgwMDAwMDAwMFUKKyNkZWZpbmUgRVRIX0pBQkJFUl9ESVNBQkxFICAgMHgwMDQwMDAwMFUKKy8qKgorICAqIEB9CisgICovCisKKy8qKiBAZGVmZ3JvdXAgRVRIX0ludGVyX0ZyYW1lX0dhcCBFVEggSW50ZXIgRnJhbWUgR2FwCisgICogQHsKKyAgKi8KKyNkZWZpbmUgRVRIX0lOVEVSRlJBTUVHQVBfOTZCSVQgICAweDAwMDAwMDAwVSAgLyohPCBtaW5pbXVtIElGRyBiZXR3ZWVuIGZyYW1lcyBkdXJpbmcgdHJhbnNtaXNzaW9uIGlzIDk2Qml0ICovCisjZGVmaW5lIEVUSF9JTlRFUkZSQU1FR0FQXzg4QklUICAgMHgwMDAyMDAwMFUgIC8qITwgbWluaW11bSBJRkcgYmV0d2VlbiBmcmFtZXMgZHVyaW5nIHRyYW5zbWlzc2lvbiBpcyA4OEJpdCAqLworI2RlZmluZSBFVEhfSU5URVJGUkFNRUdBUF84MEJJVCAgIDB4MDAwNDAwMDBVICAvKiE8IG1pbmltdW0gSUZHIGJldHdlZW4gZnJhbWVzIGR1cmluZyB0cmFuc21pc3Npb24gaXMgODBCaXQgKi8KKyNkZWZpbmUgRVRIX0lOVEVSRlJBTUVHQVBfNzJCSVQgICAweDAwMDYwMDAwVSAgLyohPCBtaW5pbXVtIElGRyBiZXR3ZWVuIGZyYW1lcyBkdXJpbmcgdHJhbnNtaXNzaW9uIGlzIDcyQml0ICovCisjZGVmaW5lIEVUSF9JTlRFUkZSQU1FR0FQXzY0QklUICAgMHgwMDA4MDAwMFUgIC8qITwgbWluaW11bSBJRkcgYmV0d2VlbiBmcmFtZXMgZHVyaW5nIHRyYW5zbWlzc2lvbiBpcyA2NEJpdCAqLworI2RlZmluZSBFVEhfSU5URVJGUkFNRUdBUF81NkJJVCAgIDB4MDAwQTAwMDBVICAvKiE8IG1pbmltdW0gSUZHIGJldHdlZW4gZnJhbWVzIGR1cmluZyB0cmFuc21pc3Npb24gaXMgNTZCaXQgKi8KKyNkZWZpbmUgRVRIX0lOVEVSRlJBTUVHQVBfNDhCSVQgICAweDAwMEMwMDAwVSAgLyohPCBtaW5pbXVtIElGRyBiZXR3ZWVuIGZyYW1lcyBkdXJpbmcgdHJhbnNtaXNzaW9uIGlzIDQ4Qml0ICovCisjZGVmaW5lIEVUSF9JTlRFUkZSQU1FR0FQXzQwQklUICAgMHgwMDBFMDAwMFUgIC8qITwgbWluaW11bSBJRkcgYmV0d2VlbiBmcmFtZXMgZHVyaW5nIHRyYW5zbWlzc2lvbiBpcyA0MEJpdCAqLworLyoqCisgICogQH0KKyAgKi8KKworLyoqIEBkZWZncm91cCBFVEhfQ2Fycmllcl9TZW5zZSBFVEggQ2FycmllciBTZW5zZQorICAqIEB7CisgICovCisjZGVmaW5lIEVUSF9DQVJSSUVSU0VOQ0VfRU5BQkxFICAgMHgwMDAwMDAwMFUKKyNkZWZpbmUgRVRIX0NBUlJJRVJTRU5DRV9ESVNBQkxFICAweDAwMDEwMDAwVQorLyoqCisgICogQH0KKyAgKi8KKworLyoqIEBkZWZncm91cCBFVEhfUmVjZWl2ZV9Pd24gRVRIIFJlY2VpdmUgT3duCisgICogQHsKKyAgKi8KKyNkZWZpbmUgRVRIX1JFQ0VJVkVPV05fRU5BQkxFICAgICAweDAwMDAwMDAwVQorI2RlZmluZSBFVEhfUkVDRUlWRU9XTl9ESVNBQkxFICAgIDB4MDAwMDIwMDBVCisvKioKKyAgKiBAfQorICAqLworCisvKiogQGRlZmdyb3VwIEVUSF9Mb29wX0JhY2tfTW9kZSBFVEggTG9vcCBCYWNrIE1vZGUKKyAgKiBAeworICAqLworI2RlZmluZSBFVEhfTE9PUEJBQ0tNT0RFX0VOQUJMRSAgICAgICAgMHgwMDAwMTAwMFUKKyNkZWZpbmUgRVRIX0xPT1BCQUNLTU9ERV9ESVNBQkxFICAgICAgIDB4MDAwMDAwMDBVCisvKioKKyAgKiBAfQorICAqLworCisvKiogQGRlZmdyb3VwIEVUSF9DaGVja3N1bV9PZmZsb2FkIEVUSCBDaGVja3N1bSBPZmZsb2FkCisgICogQHsKKyAgKi8KKyNkZWZpbmUgRVRIX0NIRUNLU1VNT0ZGTEFPRF9FTkFCTEUgICAgIDB4MDAwMDA0MDBVCisjZGVmaW5lIEVUSF9DSEVDS1NVTU9GRkxBT0RfRElTQUJMRSAgICAweDAwMDAwMDAwVQorLyoqCisgICogQH0KKyAgKi8KKworLyoqIEBkZWZncm91cCBFVEhfUmV0cnlfVHJhbnNtaXNzaW9uIEVUSCBSZXRyeSBUcmFuc21pc3Npb24KKyAgKiBAeworICAqLworI2RlZmluZSBFVEhfUkVUUllUUkFOU01JU1NJT05fRU5BQkxFICAgMHgwMDAwMDAwMFUKKyNkZWZpbmUgRVRIX1JFVFJZVFJBTlNNSVNTSU9OX0RJU0FCTEUgIDB4MDAwMDAyMDBVCisvKioKKyAgKiBAfQorICAqLworCisvKiogQGRlZmdyb3VwIEVUSF9BdXRvbWF0aWNfUGFkX0NSQ19TdHJpcCBFVEggQXV0b21hdGljIFBhZCBDUkMgU3RyaXAKKyAgKiBAeworICAqLworI2RlZmluZSBFVEhfQVVUT01BVElDUEFEQ1JDU1RSSVBfRU5BQkxFICAgICAweDAwMDAwMDgwVQorI2RlZmluZSBFVEhfQVVUT01BVElDUEFEQ1JDU1RSSVBfRElTQUJMRSAgICAweDAwMDAwMDAwVQorLyoqCisgICogQH0KKyAgKi8KKworLyoqIEBkZWZncm91cCBFVEhfRGVmZXJyYWxfQ2hlY2sgRVRIIERlZmVycmFsIENoZWNrCisgICogQHsKKyAgKi8KKyNkZWZpbmUgRVRIX0RFRkZFUlJBTENIRUNLX0VOQUJMRSAgICAgICAweDAwMDAwMDEwVQorI2RlZmluZSBFVEhfREVGRkVSUkFMQ0hFQ0tfRElTQUJMRSAgICAgIDB4MDAwMDAwMDBVCisvKioKKyAgKiBAfQorICAqLworCisvKiogQGRlZmdyb3VwIEVUSF9SZWNlaXZlX0FsbCBFVEggUmVjZWl2ZSBBbGwKKyAgKiBAeworICAqLworI2RlZmluZSBFVEhfUkVDRUlWRUFMTF9FTkFCTEUgICAgIDB4ODAwMDAwMDBVCisjZGVmaW5lIEVUSF9SRUNFSVZFQUxMX0RJU0FCTEUgICAgMHgwMDAwMDAwMFUKKy8qKgorICAqIEB9CisgICovCisKKy8qKiBAZGVmZ3JvdXAgRVRIX1NvdXJjZV9BZGRyX0ZpbHRlciBFVEggU291cmNlIEFkZHIgRmlsdGVyCisgICogQHsKKyAgKi8KKyNkZWZpbmUgRVRIX1NPVVJDRUFERFJGSUxURVJfTk9STUFMX0VOQUJMRSAgICAgICAweDAwMDAwMjAwVQorI2RlZmluZSBFVEhfU09VUkNFQUREUkZJTFRFUl9JTlZFUlNFX0VOQUJMRSAgICAgIDB4MDAwMDAzMDBVCisjZGVmaW5lIEVUSF9TT1VSQ0VBRERSRklMVEVSX0RJU0FCTEUgICAgICAgICAgICAgMHgwMDAwMDAwMFUKKy8qKgorICAqIEB9CisgICovCisKKy8qKiBAZGVmZ3JvdXAgRVRIX1Bhc3NfQ29udHJvbF9GcmFtZXMgRVRIIFBhc3MgQ29udHJvbCBGcmFtZXMKKyAgKiBAeworICAqLworI2RlZmluZSBFVEhfUEFTU0NPTlRST0xGUkFNRVNfQkxPQ0tBTEwgICAgICAgICAgICAgICAgMHgwMDAwMDA0MFUgIC8qITwgTUFDIGZpbHRlcnMgYWxsIGNvbnRyb2wgZnJhbWVzIGZyb20gcmVhY2hpbmcgdGhlIGFwcGxpY2F0aW9uICovCisjZGVmaW5lIEVUSF9QQVNTQ09OVFJPTEZSQU1FU19GT1JXQVJEQUxMICAgICAgICAgICAgICAweDAwMDAwMDgwVSAgLyohPCBNQUMgZm9yd2FyZHMgYWxsIGNvbnRyb2wgZnJhbWVzIHRvIGFwcGxpY2F0aW9uIGV2ZW4gaWYgdGhleSBmYWlsIHRoZSBBZGRyZXNzIEZpbHRlciAqLworI2RlZmluZSBFVEhfUEFTU0NPTlRST0xGUkFNRVNfRk9SV0FSRFBBU1NFREFERFJGSUxURVIgMHgwMDAwMDBDMFUgIC8qITwgTUFDIGZvcndhcmRzIGNvbnRyb2wgZnJhbWVzIHRoYXQgcGFzcyB0aGUgQWRkcmVzcyBGaWx0ZXIuICovCisvKioKKyAgKiBAfQorICAqLworCisvKiogQGRlZmdyb3VwIEVUSF9Ccm9hZGNhc3RfRnJhbWVzX1JlY2VwdGlvbiBFVEggQnJvYWRjYXN0IEZyYW1lcyBSZWNlcHRpb24KKyAgKiBAeworICAqLworI2RlZmluZSBFVEhfQlJPQURDQVNURlJBTUVTUkVDRVBUSU9OX0VOQUJMRSAgICAgMHgwMDAwMDAwMFUKKyNkZWZpbmUgRVRIX0JST0FEQ0FTVEZSQU1FU1JFQ0VQVElPTl9ESVNBQkxFICAgIDB4MDAwMDAwMjBVCisvKioKKyAgKiBAfQorICAqLworCisvKiogQGRlZmdyb3VwIEVUSF9EZXN0aW5hdGlvbl9BZGRyX0ZpbHRlciBFVEggRGVzdGluYXRpb24gQWRkciBGaWx0ZXIKKyAgKiBAeworICAqLworI2RlZmluZSBFVEhfREVTVElOQVRJT05BRERSRklMVEVSX05PUk1BTCAgICAweDAwMDAwMDAwVQorI2RlZmluZSBFVEhfREVTVElOQVRJT05BRERSRklMVEVSX0lOVkVSU0UgICAweDAwMDAwMDA4VQorLyoqCisgICogQH0KKyAgKi8KKworLyoqIEBkZWZncm91cCBFVEhfUHJvbWlzY3VvdXNfTW9kZSBFVEggUHJvbWlzY3VvdXMgTW9kZQorICAqIEB7CisgICovCisjZGVmaW5lIEVUSF9QUk9NSVNDVU9VU19NT0RFX0VOQUJMRSAgICAgMHgwMDAwMDAwMVUKKyNkZWZpbmUgRVRIX1BST01JU0NVT1VTX01PREVfRElTQUJMRSAgICAweDAwMDAwMDAwVQorLyoqCisgICogQH0KKyAgKi8KKworLyoqIEBkZWZncm91cCBFVEhfTXVsdGljYXN0X0ZyYW1lc19GaWx0ZXIgRVRIIE11bHRpY2FzdCBGcmFtZXMgRmlsdGVyCisgICogQHsKKyAgKi8KKyNkZWZpbmUgRVRIX01VTFRJQ0FTVEZSQU1FU0ZJTFRFUl9QRVJGRUNUSEFTSFRBQkxFICAgIDB4MDAwMDA0MDRVCisjZGVmaW5lIEVUSF9NVUxUSUNBU1RGUkFNRVNGSUxURVJfSEFTSFRBQkxFICAgICAgICAgICAweDAwMDAwMDA0VQorI2RlZmluZSBFVEhfTVVMVElDQVNURlJBTUVTRklMVEVSX1BFUkZFQ1QgICAgICAgICAgICAgMHgwMDAwMDAwMFUKKyNkZWZpbmUgRVRIX01VTFRJQ0FTVEZSQU1FU0ZJTFRFUl9OT05FICAgICAgICAgICAgICAgIDB4MDAwMDAwMTBVCisvKioKKyAgKiBAfQorICAqLworCisvKiogQGRlZmdyb3VwIEVUSF9VbmljYXN0X0ZyYW1lc19GaWx0ZXIgRVRIIFVuaWNhc3QgRnJhbWVzIEZpbHRlcgorICAqIEB7CisgICovCisjZGVmaW5lIEVUSF9VTklDQVNURlJBTUVTRklMVEVSX1BFUkZFQ1RIQVNIVEFCTEUgMHgwMDAwMDQwMlUKKyNkZWZpbmUgRVRIX1VOSUNBU1RGUkFNRVNGSUxURVJfSEFTSFRBQkxFICAgICAgICAweDAwMDAwMDAyVQorI2RlZmluZSBFVEhfVU5JQ0FTVEZSQU1FU0ZJTFRFUl9QRVJGRUNUICAgICAgICAgIDB4MDAwMDAwMDBVCisvKioKKyAgKiBAfQorICAqLworCisvKiogQGRlZmdyb3VwIEVUSF9aZXJvX1F1YW50YV9QYXVzZSBFVEggWmVybyBRdWFudGEgUGF1c2UKKyAgKiBAeworICAqLworI2RlZmluZSBFVEhfWkVST1FVQU5UQVBBVVNFX0VOQUJMRSAgICAgMHgwMDAwMDAwMFUKKyNkZWZpbmUgRVRIX1pFUk9RVUFOVEFQQVVTRV9ESVNBQkxFICAgIDB4MDAwMDAwODBVCisvKioKKyAgKiBAfQorICAqLworCisvKiogQGRlZmdyb3VwIEVUSF9QYXVzZV9Mb3dfVGhyZXNob2xkIEVUSCBQYXVzZSBMb3cgVGhyZXNob2xkCisgICogQHsKKyAgKi8KKyNkZWZpbmUgRVRIX1BBVVNFTE9XVEhSRVNIT0xEX01JTlVTNCAgICAgICAgMHgwMDAwMDAwMFUgIC8qITwgUGF1c2UgdGltZSBtaW51cyA0IHNsb3QgdGltZXMgKi8KKyNkZWZpbmUgRVRIX1BBVVNFTE9XVEhSRVNIT0xEX01JTlVTMjggICAgICAgMHgwMDAwMDAxMFUgIC8qITwgUGF1c2UgdGltZSBtaW51cyAyOCBzbG90IHRpbWVzICovCisjZGVmaW5lIEVUSF9QQVVTRUxPV1RIUkVTSE9MRF9NSU5VUzE0NCAgICAgIDB4MDAwMDAwMjBVICAvKiE8IFBhdXNlIHRpbWUgbWludXMgMTQ0IHNsb3QgdGltZXMgKi8KKyNkZWZpbmUgRVRIX1BBVVNFTE9XVEhSRVNIT0xEX01JTlVTMjU2ICAgICAgMHgwMDAwMDAzMFUgIC8qITwgUGF1c2UgdGltZSBtaW51cyAyNTYgc2xvdCB0aW1lcyAqLworLyoqCisgICogQH0KKyAgKi8KKworLyoqIEBkZWZncm91cCBFVEhfVW5pY2FzdF9QYXVzZV9GcmFtZV9EZXRlY3QgRVRIIFVuaWNhc3QgUGF1c2UgRnJhbWUgRGV0ZWN0CisgICogQHsKKyAgKi8KKyNkZWZpbmUgRVRIX1VOSUNBU1RQQVVTRUZSQU1FREVURUNUX0VOQUJMRSAgMHgwMDAwMDAwOFUKKyNkZWZpbmUgRVRIX1VOSUNBU1RQQVVTRUZSQU1FREVURUNUX0RJU0FCTEUgMHgwMDAwMDAwMFUKKy8qKgorICAqIEB9CisgICovCisKKy8qKiBAZGVmZ3JvdXAgRVRIX1JlY2VpdmVfRmxvd19Db250cm9sIEVUSCBSZWNlaXZlIEZsb3cgQ29udHJvbAorICAqIEB7CisgICovCisjZGVmaW5lIEVUSF9SRUNFSVZFRkxPV0NPTlRST0xfRU5BQkxFICAgICAgIDB4MDAwMDAwMDRVCisjZGVmaW5lIEVUSF9SRUNFSVZFRkxPV0NPTlRST0xfRElTQUJMRSAgICAgIDB4MDAwMDAwMDBVCisvKioKKyAgKiBAfQorICAqLworCisvKiogQGRlZmdyb3VwIEVUSF9UcmFuc21pdF9GbG93X0NvbnRyb2wgRVRIIFRyYW5zbWl0IEZsb3cgQ29udHJvbAorICAqIEB7CisgICovCisjZGVmaW5lIEVUSF9UUkFOU01JVEZMT1dDT05UUk9MX0VOQUJMRSAgICAgIDB4MDAwMDAwMDJVCisjZGVmaW5lIEVUSF9UUkFOU01JVEZMT1dDT05UUk9MX0RJU0FCTEUgICAgIDB4MDAwMDAwMDBVCisvKioKKyAgKiBAfQorICAqLworCisvKiogQGRlZmdyb3VwIEVUSF9NQUNfYWRkcmVzc2VzX2ZpbHRlcl9TQV9EQSBFVEggTUFDIGFkZHJlc3NlcyBmaWx0ZXIgU0EgREEKKyAgKiBAeworICAqLworI2RlZmluZSBFVEhfTUFDX0FERFJFU1NGSUxURVJfU0EgICAgICAgMHgwMDAwMDAwMFUKKyNkZWZpbmUgRVRIX01BQ19BRERSRVNTRklMVEVSX0RBICAgICAgIDB4MDAwMDAwMDhVCisvKioKKyAgKiBAfQorICAqLworCisvKiogQGRlZmdyb3VwIEVUSF9NQUNfYWRkcmVzc2VzX2ZpbHRlcl9NYXNrX2J5dGVzIEVUSCBNQUMgYWRkcmVzc2VzIGZpbHRlciBNYXNrIGJ5dGVzCisgICogQHsKKyAgKi8KKyNkZWZpbmUgRVRIX01BQ19BRERSRVNTTUFTS19CWVRFNiAgICAgIDB4MjAwMDAwMDBVICAvKiE8IE1hc2sgTUFDIEFkZHJlc3MgaGlnaCByZWcgYml0cyBbMTU6OF0gKi8KKyNkZWZpbmUgRVRIX01BQ19BRERSRVNTTUFTS19CWVRFNSAgICAgIDB4MTAwMDAwMDBVICAvKiE8IE1hc2sgTUFDIEFkZHJlc3MgaGlnaCByZWcgYml0cyBbNzowXSAqLworI2RlZmluZSBFVEhfTUFDX0FERFJFU1NNQVNLX0JZVEU0ICAgICAgMHgwODAwMDAwMFUgIC8qITwgTWFzayBNQUMgQWRkcmVzcyBsb3cgcmVnIGJpdHMgWzMxOjI0XSAqLworI2RlZmluZSBFVEhfTUFDX0FERFJFU1NNQVNLX0JZVEUzICAgICAgMHgwNDAwMDAwMFUgIC8qITwgTWFzayBNQUMgQWRkcmVzcyBsb3cgcmVnIGJpdHMgWzIzOjE2XSAqLworI2RlZmluZSBFVEhfTUFDX0FERFJFU1NNQVNLX0JZVEUyICAgICAgMHgwMjAwMDAwMFUgIC8qITwgTWFzayBNQUMgQWRkcmVzcyBsb3cgcmVnIGJpdHMgWzE1OjhdICovCisjZGVmaW5lIEVUSF9NQUNfQUREUkVTU01BU0tfQllURTEgICAgICAweDAxMDAwMDAwVSAgLyohPCBNYXNrIE1BQyBBZGRyZXNzIGxvdyByZWcgYml0cyBbNzBdICovCisvKioKKyAgKiBAfQorICAqLworCisvKiogQGRlZmdyb3VwIEVUSF9UcmFuc21pdF9UaHJlc2hvbGRfQ29udHJvbCBFVEggVHJhbnNtaXQgVGhyZXNob2xkIENvbnRyb2wKKyAgKiBAeworICAqLworI2RlZmluZSBFVEhfVFJBTlNNSVRUSFJFU0hPTERDT05UUk9MXzY0QllURVMgICAgIDB4MDAwMDAwMDBVICAvKiE8IHRocmVzaG9sZCBsZXZlbCBvZiB0aGUgTVRMIFRyYW5zbWl0IEZJRk8gaXMgNjQgQnl0ZXMgKi8KKyNkZWZpbmUgRVRIX1RSQU5TTUlUVEhSRVNIT0xEQ09OVFJPTF8xMjhCWVRFUyAgICAweDAwMDA0MDAwVSAgLyohPCB0aHJlc2hvbGQgbGV2ZWwgb2YgdGhlIE1UTCBUcmFuc21pdCBGSUZPIGlzIDEyOCBCeXRlcyAqLworI2RlZmluZSBFVEhfVFJBTlNNSVRUSFJFU0hPTERDT05UUk9MXzE5MkJZVEVTICAgIDB4MDAwMDgwMDBVICAvKiE8IHRocmVzaG9sZCBsZXZlbCBvZiB0aGUgTVRMIFRyYW5zbWl0IEZJRk8gaXMgMTkyIEJ5dGVzICovCisjZGVmaW5lIEVUSF9UUkFOU01JVFRIUkVTSE9MRENPTlRST0xfMjU2QllURVMgICAgMHgwMDAwQzAwMFUgIC8qITwgdGhyZXNob2xkIGxldmVsIG9mIHRoZSBNVEwgVHJhbnNtaXQgRklGTyBpcyAyNTYgQnl0ZXMgKi8KKyNkZWZpbmUgRVRIX1RSQU5TTUlUVEhSRVNIT0xEQ09OVFJPTF80MEJZVEVTICAgICAweDAwMDEwMDAwVSAgLyohPCB0aHJlc2hvbGQgbGV2ZWwgb2YgdGhlIE1UTCBUcmFuc21pdCBGSUZPIGlzIDQwIEJ5dGVzICovCisjZGVmaW5lIEVUSF9UUkFOU01JVFRIUkVTSE9MRENPTlRST0xfMzJCWVRFUyAgICAgMHgwMDAxNDAwMFUgIC8qITwgdGhyZXNob2xkIGxldmVsIG9mIHRoZSBNVEwgVHJhbnNtaXQgRklGTyBpcyAzMiBCeXRlcyAqLworI2RlZmluZSBFVEhfVFJBTlNNSVRUSFJFU0hPTERDT05UUk9MXzI0QllURVMgICAgIDB4MDAwMTgwMDBVICAvKiE8IHRocmVzaG9sZCBsZXZlbCBvZiB0aGUgTVRMIFRyYW5zbWl0IEZJRk8gaXMgMjQgQnl0ZXMgKi8KKyNkZWZpbmUgRVRIX1RSQU5TTUlUVEhSRVNIT0xEQ09OVFJPTF8xNkJZVEVTICAgICAweDAwMDFDMDAwVSAgLyohPCB0aHJlc2hvbGQgbGV2ZWwgb2YgdGhlIE1UTCBUcmFuc21pdCBGSUZPIGlzIDE2IEJ5dGVzICovCisvKioKKyAgKiBAfQorICAqLworCisvKiogQGRlZmdyb3VwIEVUSF9SZWNlaXZlX1RocmVzaG9sZF9Db250cm9sIEVUSCBSZWNlaXZlIFRocmVzaG9sZCBDb250cm9sCisgICogQHsKKyAgKi8KKyNkZWZpbmUgRVRIX1JFQ0VJVkVEVEhSRVNIT0xEQ09OVFJPTF82NEJZVEVTICAgICAgMHgwMDAwMDAwMFUgIC8qITwgdGhyZXNob2xkIGxldmVsIG9mIHRoZSBNVEwgUmVjZWl2ZSBGSUZPIGlzIDY0IEJ5dGVzICovCisjZGVmaW5lIEVUSF9SRUNFSVZFRFRIUkVTSE9MRENPTlRST0xfMzJCWVRFUyAgICAgIDB4MDAwMDAwMDhVICAvKiE8IHRocmVzaG9sZCBsZXZlbCBvZiB0aGUgTVRMIFJlY2VpdmUgRklGTyBpcyAzMiBCeXRlcyAqLworI2RlZmluZSBFVEhfUkVDRUlWRURUSFJFU0hPTERDT05UUk9MXzk2QllURVMgICAgICAweDAwMDAwMDEwVSAgLyohPCB0aHJlc2hvbGQgbGV2ZWwgb2YgdGhlIE1UTCBSZWNlaXZlIEZJRk8gaXMgOTYgQnl0ZXMgKi8KKyNkZWZpbmUgRVRIX1JFQ0VJVkVEVEhSRVNIT0xEQ09OVFJPTF8xMjhCWVRFUyAgICAgMHgwMDAwMDAxOFUgIC8qITwgdGhyZXNob2xkIGxldmVsIG9mIHRoZSBNVEwgUmVjZWl2ZSBGSUZPIGlzIDEyOCBCeXRlcyAqLwogLyoqCiAgICogQH0KICAgKi8KIAogLyoqIEBkZWZncm91cCBFVEhfRE1BX0FyYml0cmF0aW9uIEVUSCBETUEgQXJiaXRyYXRpb24KICAgKiBAewotICAqLyAKKyAgKi8KICNkZWZpbmUgRVRIX0RNQUFSQklUUkFUSU9OX1JPVU5EUk9CSU5fUlhUWF8xXzEgICAweDAwMDAwMDAwVQogI2RlZmluZSBFVEhfRE1BQVJCSVRSQVRJT05fUk9VTkRST0JJTl9SWFRYXzJfMSAgIDB4MDAwMDQwMDBVCiAjZGVmaW5lIEVUSF9ETUFBUkJJVFJBVElPTl9ST1VORFJPQklOX1JYVFhfM18xICAgMHgwMDAwODAwMFUKQEAgLTE0MTQsNyArMTYzMSw3IEBACiAKIC8qKiBAZGVmZ3JvdXAgRVRIX0RNQV9UeF9kZXNjcmlwdG9yX3NlZ21lbnQgRVRIIERNQSBUeCBkZXNjcmlwdG9yIHNlZ21lbnQKICAgKiBAewotICAqLyAKKyAgKi8KICNkZWZpbmUgRVRIX0RNQVRYREVTQ19MQVNUU0VHTUVOVFMgICAgICAweDQwMDAwMDAwVSAgLyohPCBMYXN0IFNlZ21lbnQgKi8KICNkZWZpbmUgRVRIX0RNQVRYREVTQ19GSVJTVFNFR01FTlQgICAgICAweDIwMDAwMDAwVSAgLyohPCBGaXJzdCBTZWdtZW50ICovCiAvKioKQEAgLTE0MjMsNyArMTY0MCw3IEBACiAKIC8qKiBAZGVmZ3JvdXAgRVRIX0RNQV9UeF9kZXNjcmlwdG9yX0NoZWNrc3VtX0luc2VydGlvbl9Db250cm9sIEVUSCBETUEgVHggZGVzY3JpcHRvciBDaGVja3N1bSBJbnNlcnRpb24gQ29udHJvbAogICAqIEB7Ci0gICovIAorICAqLwogI2RlZmluZSBFVEhfRE1BVFhERVNDX0NIRUNLU1VNQllQQVNTICAgICAgICAgICAgIDB4MDAwMDAwMDBVICAgLyohPCBDaGVja3N1bSBlbmdpbmUgYnlwYXNzICovCiAjZGVmaW5lIEVUSF9ETUFUWERFU0NfQ0hFQ0tTVU1JUFY0SEVBREVSICAgICAgICAgMHgwMDQwMDAwMFUgICAvKiE8IElQdjQgaGVhZGVyIGNoZWNrc3VtIGluc2VydGlvbiAgKi8KICNkZWZpbmUgRVRIX0RNQVRYREVTQ19DSEVDS1NVTVRDUFVEUElDTVBTRUdNRU5UICAweDAwODAwMDAwVSAgIC8qITwgVENQL1VEUC9JQ01QIGNoZWNrc3VtIGluc2VydGlvbi4gUHNldWRvIGhlYWRlciBjaGVja3N1bSBpcyBhc3N1bWVkIHRvIGJlIHByZXNlbnQgKi8KQEAgLTE0MzIsOSArMTY0OSw5IEBACiAgICogQH0KICAgKi8KIAotLyoqIEBkZWZncm91cCBFVEhfRE1BX1J4X2Rlc2NyaXB0b3JfYnVmZmVycyBFVEggRE1BIFJ4IGRlc2NyaXB0b3IgYnVmZmVycyAKKy8qKiBAZGVmZ3JvdXAgRVRIX0RNQV9SeF9kZXNjcmlwdG9yX2J1ZmZlcnMgRVRIIERNQSBSeCBkZXNjcmlwdG9yIGJ1ZmZlcnMKICAgKiBAewotICAqLyAKKyAgKi8KICNkZWZpbmUgRVRIX0RNQVJYREVTQ19CVUZGRVIxICAgICAweDAwMDAwMDAwVSAgLyohPCBETUEgUnggRGVzYyBCdWZmZXIxICovCiAjZGVmaW5lIEVUSF9ETUFSWERFU0NfQlVGRkVSMiAgICAgMHgwMDAwMDAwMVUgIC8qITwgRE1BIFJ4IERlc2MgQnVmZmVyMiAqLwogLyoqCkBAIC0xNDQzLDcgKzE2NjAsNyBAQAogCiAvKiogQGRlZmdyb3VwIEVUSF9QTVRfRmxhZ3MgRVRIIFBNVCBGbGFncwogICAqIEB7Ci0gICovIAorICAqLwogI2RlZmluZSBFVEhfUE1UX0ZMQUdfV1VGRlJQUiAgICAgIDB4ODAwMDAwMDBVICAvKiE8IFdha2UtVXAgRnJhbWUgRmlsdGVyIFJlZ2lzdGVyIFBvaW50ZXIgUmVzZXQgKi8KICNkZWZpbmUgRVRIX1BNVF9GTEFHX1dVRlIgICAgICAgICAweDAwMDAwMDQwVSAgLyohPCBXYWtlLVVwIEZyYW1lIFJlY2VpdmVkICovCiAjZGVmaW5lIEVUSF9QTVRfRkxBR19NUFIgICAgICAgICAgMHgwMDAwMDAyMFUgIC8qITwgTWFnaWMgUGFja2V0IFJlY2VpdmVkICovCkBAIC0xNDUzLDcgKzE2NzAsNyBAQAogCiAvKiogQGRlZmdyb3VwIEVUSF9NTUNfVHhfSW50ZXJydXB0cyBFVEggTU1DIFR4IEludGVycnVwdHMKICAgKiBAewotICAqLyAKKyAgKi8KICNkZWZpbmUgRVRIX01NQ19JVF9UR0YgICAgICAgMHgwMDIwMDAwMFUgIC8qITwgV2hlbiBUeCBnb29kIGZyYW1lIGNvdW50ZXIgcmVhY2hlcyBoYWxmIHRoZSBtYXhpbXVtIHZhbHVlICovCiAjZGVmaW5lIEVUSF9NTUNfSVRfVEdGTVNDICAgIDB4MDAwMDgwMDBVICAvKiE8IFdoZW4gVHggZ29vZCBtdWx0aSBjb2wgY291bnRlciByZWFjaGVzIGhhbGYgdGhlIG1heGltdW0gdmFsdWUgKi8KICNkZWZpbmUgRVRIX01NQ19JVF9UR0ZTQyAgICAgMHgwMDAwNDAwMFUgIC8qITwgV2hlbiBUeCBnb29kIHNpbmdsZSBjb2wgY291bnRlciByZWFjaGVzIGhhbGYgdGhlIG1heGltdW0gdmFsdWUgKi8KQEAgLTE0NzMsNyArMTY5MCw3IEBACiAKIC8qKiBAZGVmZ3JvdXAgRVRIX01BQ19GbGFncyBFVEggTUFDIEZsYWdzCiAgICogQHsKLSAgKi8gCisgICovCiAjZGVmaW5lIEVUSF9NQUNfRkxBR19UU1QgICAgIDB4MDAwMDAyMDBVICAvKiE8IFRpbWUgc3RhbXAgdHJpZ2dlciBmbGFnIChvbiBNQUMpICovCiAjZGVmaW5lIEVUSF9NQUNfRkxBR19NTUNUICAgIDB4MDAwMDAwNDBVICAvKiE8IE1NQyB0cmFuc21pdCBmbGFnICAqLwogI2RlZmluZSBFVEhfTUFDX0ZMQUdfTU1DUiAgICAweDAwMDAwMDIwVSAgLyohPCBNTUMgcmVjZWl2ZSBmbGFnICovCkBAIC0xNDg1LDcgKzE3MDIsNyBAQAogCiAvKiogQGRlZmdyb3VwIEVUSF9ETUFfRmxhZ3MgRVRIIERNQSBGbGFncwogICAqIEB7Ci0gICovIAorICAqLwogI2RlZmluZSBFVEhfRE1BX0ZMQUdfVFNUICAgICAgICAgICAgICAgMHgyMDAwMDAwMFUgIC8qITwgVGltZS1zdGFtcCB0cmlnZ2VyIGludGVycnVwdCAob24gRE1BKSAqLwogI2RlZmluZSBFVEhfRE1BX0ZMQUdfUE1UICAgICAgICAgICAgICAgMHgxMDAwMDAwMFUgIC8qITwgUE1UIGludGVycnVwdCAob24gRE1BKSAqLwogI2RlZmluZSBFVEhfRE1BX0ZMQUdfTU1DICAgICAgICAgICAgICAgMHgwODAwMDAwMFUgIC8qITwgTU1DIGludGVycnVwdCAob24gRE1BKSAqLwpAQCAtMTUxMSw5ICsxNzI4LDkgQEAKICAgKiBAfQogICAqLwogCi0vKiogQGRlZmdyb3VwIEVUSF9NQUNfSW50ZXJydXB0cyBFVEggTUFDIEludGVycnVwdHMgCisvKiogQGRlZmdyb3VwIEVUSF9NQUNfSW50ZXJydXB0cyBFVEggTUFDIEludGVycnVwdHMKICAgKiBAewotICAqLyAKKyAgKi8KICNkZWZpbmUgRVRIX01BQ19JVF9UU1QgICAgICAgMHgwMDAwMDIwMFUgIC8qITwgVGltZSBzdGFtcCB0cmlnZ2VyIGludGVycnVwdCAob24gTUFDKSAqLwogI2RlZmluZSBFVEhfTUFDX0lUX01NQ1QgICAgICAweDAwMDAwMDQwVSAgLyohPCBNTUMgdHJhbnNtaXQgaW50ZXJydXB0ICovCiAjZGVmaW5lIEVUSF9NQUNfSVRfTU1DUiAgICAgIDB4MDAwMDAwMjBVICAvKiE8IE1NQyByZWNlaXZlIGludGVycnVwdCAqLwpAQCAtMTUyMyw5ICsxNzQwLDkgQEAKICAgKiBAfQogICAqLwogCi0vKiogQGRlZmdyb3VwIEVUSF9ETUFfSW50ZXJydXB0cyBFVEggRE1BIEludGVycnVwdHMgCisvKiogQGRlZmdyb3VwIEVUSF9ETUFfSW50ZXJydXB0cyBFVEggRE1BIEludGVycnVwdHMKICAgKiBAewotICAqLyAKKyAgKi8KICNkZWZpbmUgRVRIX0RNQV9JVF9UU1QgICAgICAgMHgyMDAwMDAwMFUgIC8qITwgVGltZS1zdGFtcCB0cmlnZ2VyIGludGVycnVwdCAob24gRE1BKSAqLwogI2RlZmluZSBFVEhfRE1BX0lUX1BNVCAgICAgICAweDEwMDAwMDAwVSAgLyohPCBQTVQgaW50ZXJydXB0IChvbiBETUEpICovCiAjZGVmaW5lIEVUSF9ETUFfSVRfTU1DICAgICAgIDB4MDgwMDAwMDBVICAvKiE8IE1NQyBpbnRlcnJ1cHQgKG9uIERNQSkgKi8KQEAgLTE1NDgsOSArMTc2NSw5IEBACiAgICogQH0KICAgKi8KIAotLyoqIEBkZWZncm91cCBFVEhfRE1BX3RyYW5zbWl0X3Byb2Nlc3Nfc3RhdGUgRVRIIERNQSB0cmFuc21pdCBwcm9jZXNzIHN0YXRlIAorLyoqIEBkZWZncm91cCBFVEhfRE1BX3RyYW5zbWl0X3Byb2Nlc3Nfc3RhdGUgRVRIIERNQSB0cmFuc21pdCBwcm9jZXNzIHN0YXRlCiAgICogQHsKLSAgKi8gCisgICovCiAjZGVmaW5lIEVUSF9ETUFfVFJBTlNNSVRQUk9DRVNTX1NUT1BQRUQgICAgIDB4MDAwMDAwMDBVICAvKiE8IFN0b3BwZWQgLSBSZXNldCBvciBTdG9wIFR4IENvbW1hbmQgaXNzdWVkICovCiAjZGVmaW5lIEVUSF9ETUFfVFJBTlNNSVRQUk9DRVNTX0ZFVENISU5HICAgIDB4MDAxMDAwMDBVICAvKiE8IFJ1bm5pbmcgLSBmZXRjaGluZyB0aGUgVHggZGVzY3JpcHRvciAqLwogI2RlZmluZSBFVEhfRE1BX1RSQU5TTUlUUFJPQ0VTU19XQUlUSU5HICAgICAweDAwMjAwMDAwVSAgLyohPCBSdW5uaW5nIC0gd2FpdGluZyBmb3Igc3RhdHVzICovCkBAIC0xNTYwLDEyICsxNzc3LDEyIEBACiAKIC8qKgogICAqIEB9Ci0gICovIAorICAqLwogCiAKLS8qKiBAZGVmZ3JvdXAgRVRIX0RNQV9yZWNlaXZlX3Byb2Nlc3Nfc3RhdGUgRVRIIERNQSByZWNlaXZlIHByb2Nlc3Mgc3RhdGUgCisvKiogQGRlZmdyb3VwIEVUSF9ETUFfcmVjZWl2ZV9wcm9jZXNzX3N0YXRlIEVUSCBETUEgcmVjZWl2ZSBwcm9jZXNzIHN0YXRlCiAgICogQHsKLSAgKi8gCisgICovCiAjZGVmaW5lIEVUSF9ETUFfUkVDRUlWRVBST0NFU1NfU1RPUFBFRCAgICAgIDB4MDAwMDAwMDBVICAvKiE8IFN0b3BwZWQgLSBSZXNldCBvciBTdG9wIFJ4IENvbW1hbmQgaXNzdWVkICovCiAjZGVmaW5lIEVUSF9ETUFfUkVDRUlWRVBST0NFU1NfRkVUQ0hJTkcgICAgIDB4MDAwMjAwMDBVICAvKiE8IFJ1bm5pbmcgLSBmZXRjaGluZyB0aGUgUnggZGVzY3JpcHRvciAqLwogI2RlZmluZSBFVEhfRE1BX1JFQ0VJVkVQUk9DRVNTX1dBSVRJTkcgICAgICAweDAwMDYwMDAwVSAgLyohPCBSdW5uaW5nIC0gd2FpdGluZyBmb3IgcGFja2V0ICovCkBAIC0xNTc5LDYxMSArMTc5NiwzMzAgQEAKIAogLyoqIEBkZWZncm91cCBFVEhfRE1BX292ZXJmbG93IEVUSCBETUEgb3ZlcmZsb3cKICAgKiBAewotICAqLyAKKyAgKi8KICNkZWZpbmUgRVRIX0RNQV9PVkVSRkxPV19SWEZJRk9DT1VOVEVSICAgICAgMHgxMDAwMDAwMFUgIC8qITwgT3ZlcmZsb3cgYml0IGZvciBGSUZPIG92ZXJmbG93IGNvdW50ZXIgKi8KICNkZWZpbmUgRVRIX0RNQV9PVkVSRkxPV19NSVNTRURGUkFNRUNPVU5URVIgMHgwMDAxMDAwMFUgIC8qITwgT3ZlcmZsb3cgYml0IGZvciBtaXNzZWQgZnJhbWUgY291bnRlciAqLwogLyoqCiAgICogQH0KLSAgKi8gCi0KLS8qKiBAZGVmZ3JvdXAgRVRIX0VYVElfTElORV9XQUtFVVAgRVRIIEVYVEkgTElORSBXQUtFVVAKKyAgKi8KKy8qKiBAZGVmZ3JvdXAgRVRIX1BUUF9Db25maWdfU3RhdHVzIEVUSCBQVFAgQ29uZmlnIFN0YXR1cwogICAqIEB7Ci0gICovIAotI2RlZmluZSBFVEhfRVhUSV9MSU5FX1dBS0VVUCAgICAgICAgICAgICAgMHgwMDA4MDAwMFUgIC8qITwgRXh0ZXJuYWwgaW50ZXJydXB0IGxpbmUgMTkgQ29ubmVjdGVkIHRvIHRoZSBFVEggRVhUSSBMaW5lICovCi0KKyAgKi8KKyNkZWZpbmUgSEFMX0VUSF9QVFBfTk9UX0NPTkZJR1VSQVRFRCAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDBVKSAgICAvKiE8IEVUSCBQVFAgQ29uZmlndXJhdGlvbiBub3QgZG9uZSAqLworI2RlZmluZSBIQUxfRVRIX1BUUF9DT05GSUdVUkFURUQgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMVUpICAgIC8qITwgRVRIIFBUUCBDb25maWd1cmF0aW9uIGRvbmUgICAgICovCiAvKioKICAgKiBAfQogICAqLwotCiAvKioKICAgKiBAfQogICAqLwogCiAvKiBFeHBvcnRlZCBtYWNybyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogLyoqIEBkZWZncm91cCBFVEhfRXhwb3J0ZWRfTWFjcm9zIEVUSCBFeHBvcnRlZCBNYWNyb3MKLSAqICBAYnJpZWYgbWFjcm9zIHRvIGhhbmRsZSBpbnRlcnJ1cHRzIGFuZCBzcGVjaWZpYyBjbG9jayBjb25maWd1cmF0aW9ucwotICogQHsKLSAqLwotIAorICAqIEB7CisgICovCisKIC8qKiBAYnJpZWYgUmVzZXQgRVRIIGhhbmRsZSBzdGF0ZQotICAqIEBwYXJhbSAgX19IQU5ETEVfXyBzcGVjaWZpZXMgdGhlIEVUSCBoYW5kbGUuCisgICogQHBhcmFtICBfX0hBTkRMRV9fOiBzcGVjaWZpZXMgdGhlIEVUSCBoYW5kbGUuCiAgICogQHJldHZhbCBOb25lCiAgICovCiAjaWYgKFVTRV9IQUxfRVRIX1JFR0lTVEVSX0NBTExCQUNLUyA9PSAxKQotI2RlZmluZSBfX0hBTF9FVEhfUkVTRVRfSEFORExFX1NUQVRFKF9fSEFORExFX18pICBkb3sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChfX0hBTkRMRV9fKS0+U3RhdGUgPSBIQUxfRVRIX1NUQVRFX1JFU0VUOyAgICAgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChfX0hBTkRMRV9fKS0+TXNwSW5pdENhbGxiYWNrID0gTlVMTDsgICAgICAgICAgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChfX0hBTkRMRV9fKS0+TXNwRGVJbml0Q2FsbGJhY2sgPSBOVUxMOyAgICAgICAgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IHdoaWxlKDApCisjZGVmaW5lIF9fSEFMX0VUSF9SRVNFVF9IQU5ETEVfU1RBVEUoX19IQU5ETEVfXykgIGRveyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChfX0hBTkRMRV9fKS0+Z1N0YXRlID0gSEFMX0VUSF9TVEFURV9SRVNFVDsgICAgICBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoX19IQU5ETEVfXyktPk1zcEluaXRDYWxsYmFjayA9IE5VTEw7ICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChfX0hBTkRMRV9fKS0+TXNwRGVJbml0Q2FsbGJhY2sgPSBOVUxMOyAgICAgICAgICAgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gd2hpbGUoMCkKICNlbHNlCi0jZGVmaW5lIF9fSEFMX0VUSF9SRVNFVF9IQU5ETEVfU1RBVEUoX19IQU5ETEVfXykgKChfX0hBTkRMRV9fKS0+U3RhdGUgPSBIQUxfRVRIX1NUQVRFX1JFU0VUKQorI2RlZmluZSBfX0hBTF9FVEhfUkVTRVRfSEFORExFX1NUQVRFKF9fSEFORExFX18pICBkb3sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoX19IQU5ETEVfXyktPmdTdGF0ZSA9IEhBTF9FVEhfU1RBVEVfUkVTRVQ7ICAgICAgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gd2hpbGUoMCkKICNlbmRpZiAvKlVTRV9IQUxfRVRIX1JFR0lTVEVSX0NBTExCQUNLUyAqLwogCi0vKiogCi0gICogQGJyaWVmICBDaGVja3Mgd2hldGhlciB0aGUgc3BlY2lmaWVkIEVUSEVSTkVUIERNQSBUeCBEZXNjIGZsYWcgaXMgc2V0IG9yIG5vdC4KLSAgKiBAcGFyYW0gIF9fSEFORExFX18gRVRIIEhhbmRsZQotICAqIEBwYXJhbSAgX19GTEFHX18gc3BlY2lmaWVzIHRoZSBmbGFnIG9mIFRERVMwIHRvIGNoZWNrLgotICAqIEByZXR2YWwgdGhlIEVUSF9ETUFUeERlc2NGbGFnIChTRVQgb3IgUkVTRVQpLgotICAqLwotI2RlZmluZSBfX0hBTF9FVEhfRE1BVFhERVNDX0dFVF9GTEFHKF9fSEFORExFX18sIF9fRkxBR19fKSAgICAgICAgICAgICAoKF9fSEFORExFX18pLT5UeERlc2MtPlN0YXR1cyAmIChfX0ZMQUdfXykgPT0gKF9fRkxBR19fKSkKLQogLyoqCi0gICogQGJyaWVmICBDaGVja3Mgd2hldGhlciB0aGUgc3BlY2lmaWVkIEVUSEVSTkVUIERNQSBSeCBEZXNjIGZsYWcgaXMgc2V0IG9yIG5vdC4KLSAgKiBAcGFyYW0gIF9fSEFORExFX18gRVRIIEhhbmRsZQotICAqIEBwYXJhbSAgX19GTEFHX18gc3BlY2lmaWVzIHRoZSBmbGFnIG9mIFJERVMwIHRvIGNoZWNrLgotICAqIEByZXR2YWwgdGhlIEVUSF9ETUFUeERlc2NGbGFnIChTRVQgb3IgUkVTRVQpLgotICAqLwotI2RlZmluZSBfX0hBTF9FVEhfRE1BUlhERVNDX0dFVF9GTEFHKF9fSEFORExFX18sIF9fRkxBR19fKSAgICAgICAgICAgICAoKF9fSEFORExFX18pLT5SeERlc2MtPlN0YXR1cyAmIChfX0ZMQUdfXykgPT0gKF9fRkxBR19fKSkKLQotLyoqCi0gICogQGJyaWVmICBFbmFibGVzIHRoZSBzcGVjaWZpZWQgRE1BIFJ4IERlc2MgcmVjZWl2ZSBpbnRlcnJ1cHQuCi0gICogQHBhcmFtICBfX0hBTkRMRV9fIEVUSCBIYW5kbGUKLSAgKiBAcmV0dmFsIE5vbmUKLSAgKi8KLSNkZWZpbmUgX19IQUxfRVRIX0RNQVJYREVTQ19FTkFCTEVfSVQoX19IQU5ETEVfXykgICAgICAgICAgICAgICAgICAgICAgICAgICgoX19IQU5ETEVfXyktPlJ4RGVzYy0+Q29udHJvbEJ1ZmZlclNpemUgJj0ofih1aW50MzJfdClFVEhfRE1BUlhERVNDX0RJQykpCi0KLS8qKgotICAqIEBicmllZiAgRGlzYWJsZXMgdGhlIHNwZWNpZmllZCBETUEgUnggRGVzYyByZWNlaXZlIGludGVycnVwdC4KLSAgKiBAcGFyYW0gIF9fSEFORExFX18gRVRIIEhhbmRsZQotICAqIEByZXR2YWwgTm9uZQotICAqLwotI2RlZmluZSBfX0hBTF9FVEhfRE1BUlhERVNDX0RJU0FCTEVfSVQoX19IQU5ETEVfXykgICAgICAgICAgICAgICAgICAgICAgICAgKChfX0hBTkRMRV9fKS0+UnhEZXNjLT5Db250cm9sQnVmZmVyU2l6ZSB8PSBFVEhfRE1BUlhERVNDX0RJQykKLQotLyoqCi0gICogQGJyaWVmICBTZXQgdGhlIHNwZWNpZmllZCBETUEgUnggRGVzYyBPd24gYml0LgotICAqIEBwYXJhbSAgX19IQU5ETEVfXyBFVEggSGFuZGxlCi0gICogQHJldHZhbCBOb25lCi0gICovCi0jZGVmaW5lIF9fSEFMX0VUSF9ETUFSWERFU0NfU0VUX09XTl9CSVQoX19IQU5ETEVfXykgICAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fSEFORExFX18pLT5SeERlc2MtPlN0YXR1cyB8PSBFVEhfRE1BUlhERVNDX09XTikKLQotLyoqCi0gICogQGJyaWVmICBSZXR1cm5zIHRoZSBzcGVjaWZpZWQgRVRIRVJORVQgRE1BIFR4IERlc2MgY29sbGlzaW9uIGNvdW50LgotICAqIEBwYXJhbSAgX19IQU5ETEVfXyBFVEggSGFuZGxlICAgICAgICAgICAgICAgICAgICAgCi0gICogQHJldHZhbCBUaGUgVHJhbnNtaXQgZGVzY3JpcHRvciBjb2xsaXNpb24gY291bnRlciB2YWx1ZS4KLSAgKi8KLSNkZWZpbmUgX19IQUxfRVRIX0RNQVRYREVTQ19HRVRfQ09MTElTSU9OX0NPVU5UKF9fSEFORExFX18pICAgICAgICAgICAgICAgICAgICgoKF9fSEFORExFX18pLT5UeERlc2MtPlN0YXR1cyAmIEVUSF9ETUFUWERFU0NfQ0MpID4+IEVUSF9ETUFUWERFU0NfQ09MTElTSU9OX0NPVU5UU0hJRlQpCi0KLS8qKgotICAqIEBicmllZiAgU2V0IHRoZSBzcGVjaWZpZWQgRE1BIFR4IERlc2MgT3duIGJpdC4KLSAgKiBAcGFyYW0gIF9fSEFORExFX18gRVRIIEhhbmRsZQotICAqIEByZXR2YWwgTm9uZQotICAqLwotI2RlZmluZSBfX0hBTF9FVEhfRE1BVFhERVNDX1NFVF9PV05fQklUKF9fSEFORExFX18pICAgICAgICAgICAgICAgICAgICAgICAoKF9fSEFORExFX18pLT5UeERlc2MtPlN0YXR1cyB8PSBFVEhfRE1BVFhERVNDX09XTikKLQotLyoqCi0gICogQGJyaWVmICBFbmFibGVzIHRoZSBzcGVjaWZpZWQgRE1BIFR4IERlc2MgVHJhbnNtaXQgaW50ZXJydXB0LgotICAqIEBwYXJhbSAgX19IQU5ETEVfXyBFVEggSGFuZGxlICAgICAgICAgICAgICAgICAgIAotICAqIEByZXR2YWwgTm9uZQotICAqLwotI2RlZmluZSBfX0hBTF9FVEhfRE1BVFhERVNDX0VOQUJMRV9JVChfX0hBTkRMRV9fKSAgICAgICAgICAgICAgICAgICAgICAgICAgKChfX0hBTkRMRV9fKS0+VHhEZXNjLT5TdGF0dXMgfD0gRVRIX0RNQVRYREVTQ19JQykKLQotLyoqCi0gICogQGJyaWVmICBEaXNhYmxlcyB0aGUgc3BlY2lmaWVkIERNQSBUeCBEZXNjIFRyYW5zbWl0IGludGVycnVwdC4KLSAgKiBAcGFyYW0gIF9fSEFORExFX18gRVRIIEhhbmRsZSAgICAgICAgICAgICAKLSAgKiBAcmV0dmFsIE5vbmUKLSAgKi8KLSNkZWZpbmUgX19IQUxfRVRIX0RNQVRYREVTQ19ESVNBQkxFX0lUKF9fSEFORExFX18pICAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fSEFORExFX18pLT5UeERlc2MtPlN0YXR1cyAmPSB+RVRIX0RNQVRYREVTQ19JQykKLQotLyoqCi0gICogQGJyaWVmICBTZWxlY3RzIHRoZSBzcGVjaWZpZWQgRVRIRVJORVQgRE1BIFR4IERlc2MgQ2hlY2tzdW0gSW5zZXJ0aW9uLgotICAqIEBwYXJhbSAgX19IQU5ETEVfXyBFVEggSGFuZGxlICAKLSAgKiBAcGFyYW0gIF9fQ0hFQ0tTVU1fXyBzcGVjaWZpZXMgaXMgdGhlIERNQSBUeCBkZXNjIGNoZWNrc3VtIGluc2VydGlvbi4KLSAgKiAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBvbmUgb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXM6Ci0gICogICAgIEBhcmcgRVRIX0RNQVRYREVTQ19DSEVDS1NVTUJZUEFTUyA6IENoZWNrc3VtIGJ5cGFzcwotICAqICAgICBAYXJnIEVUSF9ETUFUWERFU0NfQ0hFQ0tTVU1JUFY0SEVBREVSIDogSVB2NCBoZWFkZXIgY2hlY2tzdW0KLSAgKiAgICAgQGFyZyBFVEhfRE1BVFhERVNDX0NIRUNLU1VNVENQVURQSUNNUFNFR01FTlQgOiBUQ1AvVURQL0lDTVAgY2hlY2tzdW0uIFBzZXVkbyBoZWFkZXIgY2hlY2tzdW0gaXMgYXNzdW1lZCB0byBiZSBwcmVzZW50Ci0gICogICAgIEBhcmcgRVRIX0RNQVRYREVTQ19DSEVDS1NVTVRDUFVEUElDTVBGVUxMIDogVENQL1VEUC9JQ01QIGNoZWNrc3VtIGZ1bGx5IGluIGhhcmR3YXJlIGluY2x1ZGluZyBwc2V1ZG8gaGVhZGVyCi0gICogQHJldHZhbCBOb25lCi0gICovCi0jZGVmaW5lIF9fSEFMX0VUSF9ETUFUWERFU0NfQ0hFQ0tTVU1fSU5TRVJUSU9OKF9fSEFORExFX18sIF9fQ0hFQ0tTVU1fXykgICAgICgoX19IQU5ETEVfXyktPlR4RGVzYy0+U3RhdHVzIHw9IChfX0NIRUNLU1VNX18pKQotCi0vKioKLSAgKiBAYnJpZWYgIEVuYWJsZXMgdGhlIERNQSBUeCBEZXNjIENSQy4KLSAgKiBAcGFyYW0gIF9fSEFORExFX18gRVRIIEhhbmRsZSAKLSAgKiBAcmV0dmFsIE5vbmUKLSAgKi8KLSNkZWZpbmUgX19IQUxfRVRIX0RNQVRYREVTQ19DUkNfRU5BQkxFKF9fSEFORExFX18pICAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fSEFORExFX18pLT5UeERlc2MtPlN0YXR1cyAmPSB+RVRIX0RNQVRYREVTQ19EQykKLQotLyoqCi0gICogQGJyaWVmICBEaXNhYmxlcyB0aGUgRE1BIFR4IERlc2MgQ1JDLgotICAqIEBwYXJhbSAgX19IQU5ETEVfXyBFVEggSGFuZGxlIAotICAqIEByZXR2YWwgTm9uZQotICAqLwotI2RlZmluZSBfX0hBTF9FVEhfRE1BVFhERVNDX0NSQ19ESVNBQkxFKF9fSEFORExFX18pICAgICAgICAgICAgICAgICAgICAgICAgICgoX19IQU5ETEVfXyktPlR4RGVzYy0+U3RhdHVzIHw9IEVUSF9ETUFUWERFU0NfREMpCi0KLS8qKgotICAqIEBicmllZiAgRW5hYmxlcyB0aGUgRE1BIFR4IERlc2MgcGFkZGluZyBmb3IgZnJhbWUgc2hvcnRlciB0aGFuIDY0IGJ5dGVzLgotICAqIEBwYXJhbSAgX19IQU5ETEVfXyBFVEggSGFuZGxlIAotICAqIEByZXR2YWwgTm9uZQotICAqLwotI2RlZmluZSBfX0hBTF9FVEhfRE1BVFhERVNDX1NIT1JUX0ZSQU1FX1BBRERJTkdfRU5BQkxFKF9fSEFORExFX18pICAgICAgICAgICAgKChfX0hBTkRMRV9fKS0+VHhEZXNjLT5TdGF0dXMgJj0gfkVUSF9ETUFUWERFU0NfRFApCi0KLS8qKgotICAqIEBicmllZiAgRGlzYWJsZXMgdGhlIERNQSBUeCBEZXNjIHBhZGRpbmcgZm9yIGZyYW1lIHNob3J0ZXIgdGhhbiA2NCBieXRlcy4KLSAgKiBAcGFyYW0gIF9fSEFORExFX18gRVRIIEhhbmRsZSAKLSAgKiBAcmV0dmFsIE5vbmUKLSAgKi8KLSNkZWZpbmUgX19IQUxfRVRIX0RNQVRYREVTQ19TSE9SVF9GUkFNRV9QQURESU5HX0RJU0FCTEUoX19IQU5ETEVfXykgICAgICAgICAgICgoX19IQU5ETEVfXyktPlR4RGVzYy0+U3RhdHVzIHw9IEVUSF9ETUFUWERFU0NfRFApCi0KLS8qKiAKLSAqIEBicmllZiAgRW5hYmxlcyB0aGUgc3BlY2lmaWVkIEVUSEVSTkVUIE1BQyBpbnRlcnJ1cHRzLgotICAqIEBwYXJhbSAgX19IQU5ETEVfXyAgICBFVEggSGFuZGxlCi0gICogQHBhcmFtICBfX0lOVEVSUlVQVF9fIHNwZWNpZmllcyB0aGUgRVRIRVJORVQgTUFDIGludGVycnVwdCBzb3VyY2VzIHRvIGJlCi0gICogICBlbmFibGVkIG9yIGRpc2FibGVkLgotICAqICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGFueSBjb21iaW5hdGlvbiBvZiB0aGUgZm9sbG93aW5nIHZhbHVlczoKLSAgKiAgICAgQGFyZyBFVEhfTUFDX0lUX1RTVCA6IFRpbWUgc3RhbXAgdHJpZ2dlciBpbnRlcnJ1cHQgCi0gICogICAgIEBhcmcgRVRIX01BQ19JVF9QTVQgOiBQTVQgaW50ZXJydXB0IAotICAqIEByZXR2YWwgTm9uZQotICAqLwotI2RlZmluZSBfX0hBTF9FVEhfTUFDX0VOQUJMRV9JVChfX0hBTkRMRV9fLCBfX0lOVEVSUlVQVF9fKSAgICAgICAgICAgICAgICAgKChfX0hBTkRMRV9fKS0+SW5zdGFuY2UtPk1BQ0lNUiB8PSAoX19JTlRFUlJVUFRfXykpCi0KLS8qKgotICAqIEBicmllZiAgRGlzYWJsZXMgdGhlIHNwZWNpZmllZCBFVEhFUk5FVCBNQUMgaW50ZXJydXB0cy4KLSAgKiBAcGFyYW0gIF9fSEFORExFX18gICAgRVRIIEhhbmRsZQotICAqIEBwYXJhbSAgX19JTlRFUlJVUFRfXyBzcGVjaWZpZXMgdGhlIEVUSEVSTkVUIE1BQyBpbnRlcnJ1cHQgc291cmNlcyB0byBiZQotICAqICAgZW5hYmxlZCBvciBkaXNhYmxlZC4KLSAgKiAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhbnkgY29tYmluYXRpb24gb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXM6Ci0gICogICAgIEBhcmcgRVRIX01BQ19JVF9UU1QgOiBUaW1lIHN0YW1wIHRyaWdnZXIgaW50ZXJydXB0IAotICAqICAgICBAYXJnIEVUSF9NQUNfSVRfUE1UIDogUE1UIGludGVycnVwdAotICAqIEByZXR2YWwgTm9uZQotICAqLwotI2RlZmluZSBfX0hBTF9FVEhfTUFDX0RJU0FCTEVfSVQoX19IQU5ETEVfXywgX19JTlRFUlJVUFRfXykgICAgICAgICAgICAgICAgKChfX0hBTkRMRV9fKS0+SW5zdGFuY2UtPk1BQ0lNUiAmPSB+KF9fSU5URVJSVVBUX18pKQotCi0vKioKLSAgKiBAYnJpZWYgIEluaXRpYXRlIGEgUGF1c2UgQ29udHJvbCBGcmFtZSAoRnVsbC1kdXBsZXggb25seSkuCi0gICogQHBhcmFtICBfX0hBTkRMRV9fIEVUSCBIYW5kbGUKLSAgKiBAcmV0dmFsIE5vbmUKLSAgKi8KLSNkZWZpbmUgX19IQUxfRVRIX0lOSVRJQVRFX1BBVVNFX0NPTlRST0xfRlJBTUUoX19IQU5ETEVfXykgICAgICAgICAgICAgICgoX19IQU5ETEVfXyktPkluc3RhbmNlLT5NQUNGQ1IgfD0gRVRIX01BQ0ZDUl9GQ0JCUEEpCi0KLS8qKgotICAqIEBicmllZiAgQ2hlY2tzIHdoZXRoZXIgdGhlIEVUSEVSTkVUIGZsb3cgY29udHJvbCBidXN5IGJpdCBpcyBzZXQgb3Igbm90LgotICAqIEBwYXJhbSAgX19IQU5ETEVfXyBFVEggSGFuZGxlCi0gICogQHJldHZhbCBUaGUgbmV3IHN0YXRlIG9mIGZsb3cgY29udHJvbCBidXN5IHN0YXR1cyBiaXQgKFNFVCBvciBSRVNFVCkuCi0gICovCi0jZGVmaW5lIF9fSEFMX0VUSF9HRVRfRkxPV19DT05UUk9MX0JVU1lfU1RBVFVTKF9fSEFORExFX18pICAgICAgICAgICAgICAgKCgoX19IQU5ETEVfXyktPkluc3RhbmNlLT5NQUNGQ1IgJiBFVEhfTUFDRkNSX0ZDQkJQQSkgPT0gRVRIX01BQ0ZDUl9GQ0JCUEEpCi0KLS8qKgotICAqIEBicmllZiAgRW5hYmxlcyB0aGUgTUFDIEJhY2sgUHJlc3N1cmUgb3BlcmF0aW9uIGFjdGl2YXRpb24gKEhhbGYtZHVwbGV4IG9ubHkpLgotICAqIEBwYXJhbSAgX19IQU5ETEVfXyBFVEggSGFuZGxlCi0gICogQHJldHZhbCBOb25lCi0gICovCi0jZGVmaW5lIF9fSEFMX0VUSF9CQUNLX1BSRVNTVVJFX0FDVElWQVRJT05fRU5BQkxFKF9fSEFORExFX18pICAgICAgICAgICgoX19IQU5ETEVfXyktPkluc3RhbmNlLT5NQUNGQ1IgfD0gRVRIX01BQ0ZDUl9GQ0JCUEEpCi0KLS8qKgotICAqIEBicmllZiAgRGlzYWJsZXMgdGhlIE1BQyBCYWNrUHJlc3N1cmUgb3BlcmF0aW9uIGFjdGl2YXRpb24gKEhhbGYtZHVwbGV4IG9ubHkpLgotICAqIEBwYXJhbSAgX19IQU5ETEVfXyBFVEggSGFuZGxlCi0gICogQHJldHZhbCBOb25lCi0gICovCi0jZGVmaW5lIF9fSEFMX0VUSF9CQUNLX1BSRVNTVVJFX0FDVElWQVRJT05fRElTQUJMRShfX0hBTkRMRV9fKSAgICAgICAgICgoX19IQU5ETEVfXyktPkluc3RhbmNlLT5NQUNGQ1IgJj0gfkVUSF9NQUNGQ1JfRkNCQlBBKQotCi0vKioKLSAgKiBAYnJpZWYgIENoZWNrcyB3aGV0aGVyIHRoZSBzcGVjaWZpZWQgRVRIRVJORVQgTUFDIGZsYWcgaXMgc2V0IG9yIG5vdC4KLSAgKiBAcGFyYW0gIF9fSEFORExFX18gRVRIIEhhbmRsZQotICAqIEBwYXJhbSAgX19GTEFHX18gc3BlY2lmaWVzIHRoZSBmbGFnIHRvIGNoZWNrLgotICAqICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIG9uZSBvZiB0aGUgZm9sbG93aW5nIHZhbHVlczoKLSAgKiAgICAgQGFyZyBFVEhfTUFDX0ZMQUdfVFNUICA6IFRpbWUgc3RhbXAgdHJpZ2dlciBmbGFnICAgCi0gICogICAgIEBhcmcgRVRIX01BQ19GTEFHX01NQ1QgOiBNTUMgdHJhbnNtaXQgZmxhZyAgCi0gICogICAgIEBhcmcgRVRIX01BQ19GTEFHX01NQ1IgOiBNTUMgcmVjZWl2ZSBmbGFnICAgCi0gICogICAgIEBhcmcgRVRIX01BQ19GTEFHX01NQyAgOiBNTUMgZmxhZyAgCi0gICogICAgIEBhcmcgRVRIX01BQ19GTEFHX1BNVCAgOiBQTVQgZmxhZyAgCi0gICogQHJldHZhbCBUaGUgc3RhdGUgb2YgRVRIRVJORVQgTUFDIGZsYWcuCi0gICovCi0jZGVmaW5lIF9fSEFMX0VUSF9NQUNfR0VUX0ZMQUcoX19IQU5ETEVfXywgX19GTEFHX18pICAgICAgICAgICAgICAgICAgICgoKF9fSEFORExFX18pLT5JbnN0YW5jZS0+TUFDU1IgJiggX19GTEFHX18pKSA9PSAoIF9fRkxBR19fKSkKLQotLyoqIAogICAqIEBicmllZiAgRW5hYmxlcyB0aGUgc3BlY2lmaWVkIEVUSEVSTkVUIERNQSBpbnRlcnJ1cHRzLgotICAqIEBwYXJhbSAgX19IQU5ETEVfXyAgICBFVEggSGFuZGxlCi0gICogQHBhcmFtICBfX0lOVEVSUlVQVF9fIHNwZWNpZmllcyB0aGUgRVRIRVJORVQgRE1BIGludGVycnVwdCBzb3VyY2VzIHRvIGJlCisgICogQHBhcmFtICBfX0hBTkRMRV9fICAgOiBFVEggSGFuZGxlCisgICogQHBhcmFtICBfX0lOVEVSUlVQVF9fOiBzcGVjaWZpZXMgdGhlIEVUSEVSTkVUIERNQSBpbnRlcnJ1cHQgc291cmNlcyB0byBiZQogICAqICAgZW5hYmxlZCBAcmVmIEVUSF9ETUFfSW50ZXJydXB0cwogICAqIEByZXR2YWwgTm9uZQogICAqLwotI2RlZmluZSBfX0hBTF9FVEhfRE1BX0VOQUJMRV9JVChfX0hBTkRMRV9fLCBfX0lOVEVSUlVQVF9fKSAgICAgICAgICAgICAgICAgKChfX0hBTkRMRV9fKS0+SW5zdGFuY2UtPkRNQUlFUiB8PSAoX19JTlRFUlJVUFRfXykpCisjZGVmaW5lIF9fSEFMX0VUSF9ETUFfRU5BQkxFX0lUKF9fSEFORExFX18sIF9fSU5URVJSVVBUX18pICAgICAgICAgICAgICAgICAoKF9fSEFORExFX18pLT5JbnN0YW5jZS0+RE1BSUVSIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8PSAoX19JTlRFUlJVUFRfXykpCiAKIC8qKgogICAqIEBicmllZiAgRGlzYWJsZXMgdGhlIHNwZWNpZmllZCBFVEhFUk5FVCBETUEgaW50ZXJydXB0cy4KLSAgKiBAcGFyYW0gIF9fSEFORExFX18gICAgRVRIIEhhbmRsZQotICAqIEBwYXJhbSAgX19JTlRFUlJVUFRfXyBzcGVjaWZpZXMgdGhlIEVUSEVSTkVUIERNQSBpbnRlcnJ1cHQgc291cmNlcyB0byBiZQorICAqIEBwYXJhbSAgX19IQU5ETEVfXyAgIDogRVRIIEhhbmRsZQorICAqIEBwYXJhbSAgX19JTlRFUlJVUFRfXzogc3BlY2lmaWVzIHRoZSBFVEhFUk5FVCBETUEgaW50ZXJydXB0IHNvdXJjZXMgdG8gYmUKICAgKiAgIGRpc2FibGVkLiBAcmVmIEVUSF9ETUFfSW50ZXJydXB0cwogICAqIEByZXR2YWwgTm9uZQogICAqLwotI2RlZmluZSBfX0hBTF9FVEhfRE1BX0RJU0FCTEVfSVQoX19IQU5ETEVfXywgX19JTlRFUlJVUFRfXykgICAgICAgICAgICAgICAgKChfX0hBTkRMRV9fKS0+SW5zdGFuY2UtPkRNQUlFUiAmPSB+KF9fSU5URVJSVVBUX18pKQorI2RlZmluZSBfX0hBTF9FVEhfRE1BX0RJU0FCTEVfSVQoX19IQU5ETEVfXywgX19JTlRFUlJVUFRfXykgICAgICAgICAgICAgICAgKChfX0hBTkRMRV9fKS0+SW5zdGFuY2UtPkRNQUlFUiBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJj0gfihfX0lOVEVSUlVQVF9fKSkKKworLyoqCisgICogQGJyaWVmICBHZXRzIHRoZSBFVEhFUk5FVCBETUEgSVQgc291cmNlIGVuYWJsZWQgb3IgZGlzYWJsZWQuCisgICogQHBhcmFtICBfX0hBTkRMRV9fICAgOiBFVEggSGFuZGxlCisgICogQHBhcmFtICBfX0lOVEVSUlVQVF9fOiBzcGVjaWZpZXMgdGhlIGludGVycnVwdCBzb3VyY2UgdG8gZ2V0IC4gQHJlZiBFVEhfRE1BX0ludGVycnVwdHMKKyAgKiBAcmV0dmFsIFRoZSBFVEggRE1BIElUIFNvdXJjZSBlbmFibGVkIG9yIGRpc2FibGVkCisgICovCisjZGVmaW5lIF9fSEFMX0VUSF9ETUFfR0VUX0lUX1NPVVJDRShfX0hBTkRMRV9fLCBfX0lOVEVSUlVQVF9fKSAgICAgICgoKF9fSEFORExFX18pLT5JbnN0YW5jZS0+RE1BSUVSICZcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKF9fSU5URVJSVVBUX18pKSA9PSAoX19JTlRFUlJVUFRfXykpCisKKy8qKgorICAqIEBicmllZiAgR2V0cyB0aGUgRVRIRVJORVQgRE1BIElUIHBlbmRpbmcgYml0LgorICAqIEBwYXJhbSAgX19IQU5ETEVfXyAgIDogRVRIIEhhbmRsZQorICAqIEBwYXJhbSAgX19JTlRFUlJVUFRfXzogc3BlY2lmaWVzIHRoZSBpbnRlcnJ1cHQgc291cmNlIHRvIGdldCAuIEByZWYgRVRIX0RNQV9JbnRlcnJ1cHRzCisgICogQHJldHZhbCBUaGUgc3RhdGUgb2YgRVRIIERNQSBJVCAoU0VUIG9yIFJFU0VUKQorICAqLworI2RlZmluZSBfX0hBTF9FVEhfRE1BX0dFVF9JVChfX0hBTkRMRV9fLCBfX0lOVEVSUlVQVF9fKSAgICAgICgoKF9fSEFORExFX18pLT5JbnN0YW5jZS0+RE1BU1IgJlwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChfX0lOVEVSUlVQVF9fKSkgPT0gKF9fSU5URVJSVVBUX18pKQogCiAvKioKICAgKiBAYnJpZWYgIENsZWFycyB0aGUgRVRIRVJORVQgRE1BIElUIHBlbmRpbmcgYml0LgotICAqIEBwYXJhbSAgX19IQU5ETEVfXyAgICBFVEggSGFuZGxlCi0gICogQHBhcmFtICBfX0lOVEVSUlVQVF9fIHNwZWNpZmllcyB0aGUgaW50ZXJydXB0IHBlbmRpbmcgYml0IHRvIGNsZWFyLiBAcmVmIEVUSF9ETUFfSW50ZXJydXB0cworICAqIEBwYXJhbSAgX19IQU5ETEVfXyAgIDogRVRIIEhhbmRsZQorICAqIEBwYXJhbSAgX19JTlRFUlJVUFRfXzogc3BlY2lmaWVzIHRoZSBpbnRlcnJ1cHQgcGVuZGluZyBiaXQgdG8gY2xlYXIuIEByZWYgRVRIX0RNQV9JbnRlcnJ1cHRzCiAgICogQHJldHZhbCBOb25lCiAgICovCi0jZGVmaW5lIF9fSEFMX0VUSF9ETUFfQ0xFQVJfSVQoX19IQU5ETEVfXywgX19JTlRFUlJVUFRfXykgICAgICAoKF9fSEFORExFX18pLT5JbnN0YW5jZS0+RE1BU1IgPShfX0lOVEVSUlVQVF9fKSkKKyNkZWZpbmUgX19IQUxfRVRIX0RNQV9DTEVBUl9JVChfX0hBTkRMRV9fLCBfX0lOVEVSUlVQVF9fKSAgICAgICgoX19IQU5ETEVfXyktPkluc3RhbmNlLT5ETUFTUiA9IChfX0lOVEVSUlVQVF9fKSkKIAogLyoqCiAgICogQGJyaWVmICBDaGVja3Mgd2hldGhlciB0aGUgc3BlY2lmaWVkIEVUSEVSTkVUIERNQSBmbGFnIGlzIHNldCBvciBub3QuCi0qIEBwYXJhbSAgX19IQU5ETEVfXyBFVEggSGFuZGxlCi0gICogQHBhcmFtICBfX0ZMQUdfXyBzcGVjaWZpZXMgdGhlIGZsYWcgdG8gY2hlY2suIEByZWYgRVRIX0RNQV9GbGFncwotICAqIEByZXR2YWwgVGhlIG5ldyBzdGF0ZSBvZiBFVEhfRE1BX0ZMQUcgKFNFVCBvciBSRVNFVCkuCisgICogQHBhcmFtICBfX0hBTkRMRV9fOiBFVEggSGFuZGxlCisgICogQHBhcmFtICBfX0ZMQUdfXzogc3BlY2lmaWVzIHRoZSBmbGFnIHRvIGNoZWNrLiBAcmVmIEVUSF9ETUFfU3RhdHVzX0ZsYWdzCisgICogQHJldHZhbCBUaGUgc3RhdGUgb2YgRVRIIERNQSBGTEFHIChTRVQgb3IgUkVTRVQpLgogICAqLwotI2RlZmluZSBfX0hBTF9FVEhfRE1BX0dFVF9GTEFHKF9fSEFORExFX18sIF9fRkxBR19fKSAgICAgICAgICAgICAgICAgICAoKChfX0hBTkRMRV9fKS0+SW5zdGFuY2UtPkRNQVNSICYoIF9fRkxBR19fKSkgPT0gKCBfX0ZMQUdfXykpCisjZGVmaW5lIF9fSEFMX0VUSF9ETUFfR0VUX0ZMQUcoX19IQU5ETEVfXywgX19GTEFHX18pICAgICAgICAgICAgICAgICAgICgoKF9fSEFORExFX18pLT5JbnN0YW5jZS0+RE1BQ1NSICZcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCBfX0ZMQUdfXykpID09ICggX19GTEFHX18pKQogCiAvKioKLSAgKiBAYnJpZWYgIENoZWNrcyB3aGV0aGVyIHRoZSBzcGVjaWZpZWQgRVRIRVJORVQgRE1BIGZsYWcgaXMgc2V0IG9yIG5vdC4KLSAgKiBAcGFyYW0gIF9fSEFORExFX18gRVRIIEhhbmRsZQotICAqIEBwYXJhbSAgX19GTEFHX18gc3BlY2lmaWVzIHRoZSBmbGFnIHRvIGNsZWFyLiBAcmVmIEVUSF9ETUFfRmxhZ3MKLSAgKiBAcmV0dmFsIFRoZSBuZXcgc3RhdGUgb2YgRVRIX0RNQV9GTEFHIChTRVQgb3IgUkVTRVQpLgorICAqIEBicmllZiAgQ2xlYXJzIHRoZSBzcGVjaWZpZWQgRVRIRVJORVQgRE1BIGZsYWcuCisgICogQHBhcmFtICBfX0hBTkRMRV9fOiBFVEggSGFuZGxlCisgICogQHBhcmFtICBfX0ZMQUdfXzogc3BlY2lmaWVzIHRoZSBmbGFnIHRvIGNoZWNrLiBAcmVmIEVUSF9ETUFfU3RhdHVzX0ZsYWdzCisgICogQHJldHZhbCBUaGUgc3RhdGUgb2YgRVRIIERNQSBGTEFHIChTRVQgb3IgUkVTRVQpLgogICAqLwotI2RlZmluZSBfX0hBTF9FVEhfRE1BX0NMRUFSX0ZMQUcoX19IQU5ETEVfXywgX19GTEFHX18pICAgICAgICAgICAgICAgICAoKF9fSEFORExFX18pLT5JbnN0YW5jZS0+RE1BU1IgPSAoX19GTEFHX18pKQorI2RlZmluZSBfX0hBTF9FVEhfRE1BX0NMRUFSX0ZMQUcoX19IQU5ETEVfXywgX19GTEFHX18pICAgICAgICAgICAgICAgICAgICgoX19IQU5ETEVfXyktPkluc3RhbmNlLT5ETUFDU1IgPSAoIF9fRkxBR19fKSkKIAogLyoqCi0gICogQGJyaWVmICBDaGVja3Mgd2hldGhlciB0aGUgc3BlY2lmaWVkIEVUSEVSTkVUIERNQSBvdmVyZmxvdyBmbGFnIGlzIHNldCBvciBub3QuCi0gICogQHBhcmFtICBfX0hBTkRMRV9fIEVUSCBIYW5kbGUKLSAgKiBAcGFyYW0gIF9fT1ZFUkZMT1dfXyBzcGVjaWZpZXMgdGhlIERNQSBvdmVyZmxvdyBmbGFnIHRvIGNoZWNrLgotICAqICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIG9uZSBvZiB0aGUgZm9sbG93aW5nIHZhbHVlczoKLSAgKiAgICAgQGFyZyBFVEhfRE1BX09WRVJGTE9XX1JYRklGT0NPVU5URVIgOiBPdmVyZmxvdyBmb3IgRklGTyBPdmVyZmxvd3MgQ291bnRlcgotICAqICAgICBAYXJnIEVUSF9ETUFfT1ZFUkZMT1dfTUlTU0VERlJBTUVDT1VOVEVSIDogT3ZlcmZsb3cgZm9yIEJ1ZmZlciBVbmF2YWlsYWJsZSBNaXNzZWQgRnJhbWUgQ291bnRlcgotICAqIEByZXR2YWwgVGhlIHN0YXRlIG9mIEVUSEVSTkVUIERNQSBvdmVyZmxvdyBGbGFnIChTRVQgb3IgUkVTRVQpLgotICAqLwotI2RlZmluZSBfX0hBTF9FVEhfR0VUX0RNQV9PVkVSRkxPV19TVEFUVVMoX19IQU5ETEVfXywgX19PVkVSRkxPV19fKSAgICAgICAoKChfX0hBTkRMRV9fKS0+SW5zdGFuY2UtPkRNQU1GQk9DUiAmIChfX09WRVJGTE9XX18pKSA9PSAoX19PVkVSRkxPV19fKSkKLQotLyoqCi0gICogQGJyaWVmICBTZXQgdGhlIERNQSBSZWNlaXZlIHN0YXR1cyB3YXRjaGRvZyB0aW1lciByZWdpc3RlciB2YWx1ZQotICAqIEBwYXJhbSAgX19IQU5ETEVfXyBFVEggSGFuZGxlCi0gICogQHBhcmFtICBfX1ZBTFVFX18gRE1BIFJlY2VpdmUgc3RhdHVzIHdhdGNoZG9nIHRpbWVyIHJlZ2lzdGVyIHZhbHVlICAgCisgICogQGJyaWVmICBFbmFibGVzIHRoZSBzcGVjaWZpZWQgRVRIRVJORVQgTUFDIGludGVycnVwdHMuCisgICogQHBhcmFtICBfX0hBTkRMRV9fICAgOiBFVEggSGFuZGxlCisgICogQHBhcmFtICBfX0lOVEVSUlVQVF9fOiBzcGVjaWZpZXMgdGhlIEVUSEVSTkVUIE1BQyBpbnRlcnJ1cHQgc291cmNlcyB0byBiZQorICAqICAgZW5hYmxlZCBAcmVmIEVUSF9NQUNfSW50ZXJydXB0cwogICAqIEByZXR2YWwgTm9uZQogICAqLwotI2RlZmluZSBfX0hBTF9FVEhfU0VUX1JFQ0VJVkVfV0FUQ0hET0dfVElNRVIoX19IQU5ETEVfXywgX19WQUxVRV9fKSAgICAgICAoKF9fSEFORExFX18pLT5JbnN0YW5jZS0+RE1BUlNXVFIgPSAoX19WQUxVRV9fKSkKLQotLyoqIAotICAqIEBicmllZiAgRW5hYmxlcyBhbnkgdW5pY2FzdCBwYWNrZXQgZmlsdGVyZWQgYnkgdGhlIE1BQyBhZGRyZXNzCi0gICogICByZWNvZ25pdGlvbiB0byBiZSBhIHdha2UtdXAgZnJhbWUuCi0gICogQHBhcmFtICBfX0hBTkRMRV9fIEVUSCBIYW5kbGUuCi0gICogQHJldHZhbCBOb25lCi0gICovCi0jZGVmaW5lIF9fSEFMX0VUSF9HTE9CQUxfVU5JQ0FTVF9XQUtFVVBfRU5BQkxFKF9fSEFORExFX18pICAgICAgICAgICAgICAgKChfX0hBTkRMRV9fKS0+SW5zdGFuY2UtPk1BQ1BNVENTUiB8PSBFVEhfTUFDUE1UQ1NSX0dVKQorI2RlZmluZSBfX0hBTF9FVEhfTUFDX0VOQUJMRV9JVChfX0hBTkRMRV9fLCBfX0lOVEVSUlVQVF9fKSAgICAgICAgICAgICAgICAgKChfX0hBTkRMRV9fKS0+SW5zdGFuY2UtPk1BQ0lFUiBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfD0gKF9fSU5URVJSVVBUX18pKQogCiAvKioKLSAgKiBAYnJpZWYgIERpc2FibGVzIGFueSB1bmljYXN0IHBhY2tldCBmaWx0ZXJlZCBieSB0aGUgTUFDIGFkZHJlc3MKLSAgKiAgIHJlY29nbml0aW9uIHRvIGJlIGEgd2FrZS11cCBmcmFtZS4KLSAgKiBAcGFyYW0gIF9fSEFORExFX18gRVRIIEhhbmRsZS4KKyAgKiBAYnJpZWYgIERpc2FibGVzIHRoZSBzcGVjaWZpZWQgRVRIRVJORVQgTUFDIGludGVycnVwdHMuCisgICogQHBhcmFtICBfX0hBTkRMRV9fICAgOiBFVEggSGFuZGxlCisgICogQHBhcmFtICBfX0lOVEVSUlVQVF9fOiBzcGVjaWZpZXMgdGhlIEVUSEVSTkVUIE1BQyBpbnRlcnJ1cHQgc291cmNlcyB0byBiZQorICAqICAgZW5hYmxlZCBAcmVmIEVUSF9NQUNfSW50ZXJydXB0cwogICAqIEByZXR2YWwgTm9uZQogICAqLwotI2RlZmluZSBfX0hBTF9FVEhfR0xPQkFMX1VOSUNBU1RfV0FLRVVQX0RJU0FCTEUoX19IQU5ETEVfXykgICAgICAgICAgICAgICgoX19IQU5ETEVfXyktPkluc3RhbmNlLT5NQUNQTVRDU1IgJj0gfkVUSF9NQUNQTVRDU1JfR1UpCisjZGVmaW5lIF9fSEFMX0VUSF9NQUNfRElTQUJMRV9JVChfX0hBTkRMRV9fLCBfX0lOVEVSUlVQVF9fKSAgICAgICAgICAgICAgICAgKChfX0hBTkRMRV9fKS0+SW5zdGFuY2UtPk1BQ0lFUiBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY9IH4oX19JTlRFUlJVUFRfXykpCiAKIC8qKgotICAqIEBicmllZiAgRW5hYmxlcyB0aGUgTUFDIFdha2UtVXAgRnJhbWUgRGV0ZWN0aW9uLgotICAqIEBwYXJhbSAgX19IQU5ETEVfXyBFVEggSGFuZGxlLgotICAqIEByZXR2YWwgTm9uZQorICAqIEBicmllZiAgQ2hlY2tzIHdoZXRoZXIgdGhlIHNwZWNpZmllZCBFVEhFUk5FVCBNQUMgZmxhZyBpcyBzZXQgb3Igbm90LgorICAqIEBwYXJhbSAgX19IQU5ETEVfXzogRVRIIEhhbmRsZQorICAqIEBwYXJhbSAgX19JTlRFUlJVUFRfXzogc3BlY2lmaWVzIHRoZSBmbGFnIHRvIGNoZWNrLiBAcmVmIEVUSF9NQUNfSW50ZXJydXB0cworICAqIEByZXR2YWwgVGhlIHN0YXRlIG9mIEVUSCBNQUMgSVQgKFNFVCBvciBSRVNFVCkuCiAgICovCi0jZGVmaW5lIF9fSEFMX0VUSF9XQUtFVVBfRlJBTUVfREVURUNUSU9OX0VOQUJMRShfX0hBTkRMRV9fKSAgICAgICAgICAgICAgKChfX0hBTkRMRV9fKS0+SW5zdGFuY2UtPk1BQ1BNVENTUiB8PSBFVEhfTUFDUE1UQ1NSX1dGRSkKKyNkZWZpbmUgX19IQUxfRVRIX01BQ19HRVRfSVQoX19IQU5ETEVfXywgX19JTlRFUlJVUFRfXykgICAgICAgICAgICAgICAgICAgKCgoX19IQU5ETEVfXyktPkluc3RhbmNlLT5NQUNTUiAmXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICggX19JTlRFUlJVUFRfXykpID09ICggX19JTlRFUlJVUFRfXykpCisKKy8qITwgRXh0ZXJuYWwgaW50ZXJydXB0IGxpbmUgMTkgQ29ubmVjdGVkIHRvIHRoZSBFVEggd2FrZXVwIEVYVEkgTGluZSAqLworI2RlZmluZSBFVEhfV0FLRVVQX0VYVElfTElORSAgKCh1aW50MzJfdCkweDAwMDgwMDAwVSkKIAogLyoqCi0gICogQGJyaWVmICBEaXNhYmxlcyB0aGUgTUFDIFdha2UtVXAgRnJhbWUgRGV0ZWN0aW9uLgotICAqIEBwYXJhbSAgX19IQU5ETEVfXyBFVEggSGFuZGxlLgotICAqIEByZXR2YWwgTm9uZQotICAqLwotI2RlZmluZSBfX0hBTF9FVEhfV0FLRVVQX0ZSQU1FX0RFVEVDVElPTl9ESVNBQkxFKF9fSEFORExFX18pICAgICAgICAgICAgICgoX19IQU5ETEVfXyktPkluc3RhbmNlLT5NQUNQTVRDU1IgJj0gfkVUSF9NQUNQTVRDU1JfV0ZFKQotCi0vKioKLSAgKiBAYnJpZWYgIEVuYWJsZXMgdGhlIE1BQyBNYWdpYyBQYWNrZXQgRGV0ZWN0aW9uLgotICAqIEBwYXJhbSAgX19IQU5ETEVfXyBFVEggSGFuZGxlLgotICAqIEByZXR2YWwgTm9uZQotICAqLwotI2RlZmluZSBfX0hBTF9FVEhfTUFHSUNfUEFDS0VUX0RFVEVDVElPTl9FTkFCTEUoX19IQU5ETEVfXykgICAgICAgICAgICAgICgoX19IQU5ETEVfXyktPkluc3RhbmNlLT5NQUNQTVRDU1IgfD0gRVRIX01BQ1BNVENTUl9NUEUpCi0KLS8qKgotICAqIEBicmllZiAgRGlzYWJsZXMgdGhlIE1BQyBNYWdpYyBQYWNrZXQgRGV0ZWN0aW9uLgotICAqIEBwYXJhbSAgX19IQU5ETEVfXyBFVEggSGFuZGxlLgotICAqIEByZXR2YWwgTm9uZQotICAqLwotI2RlZmluZSBfX0hBTF9FVEhfTUFHSUNfUEFDS0VUX0RFVEVDVElPTl9ESVNBQkxFKF9fSEFORExFX18pICAgICAgICAgICAgICgoX19IQU5ETEVfXyktPkluc3RhbmNlLT5NQUNQTVRDU1IgJj0gfkVUSF9NQUNQTVRDU1JfV0ZFKQotCi0vKioKLSAgKiBAYnJpZWYgIEVuYWJsZXMgdGhlIE1BQyBQb3dlciBEb3duLgotICAqIEBwYXJhbSAgX19IQU5ETEVfXyBFVEggSGFuZGxlCi0gICogQHJldHZhbCBOb25lCi0gICovCi0jZGVmaW5lIF9fSEFMX0VUSF9QT1dFUl9ET1dOX0VOQUJMRShfX0hBTkRMRV9fKSAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fSEFORExFX18pLT5JbnN0YW5jZS0+TUFDUE1UQ1NSIHw9IEVUSF9NQUNQTVRDU1JfUEQpCi0KLS8qKgotICAqIEBicmllZiAgRGlzYWJsZXMgdGhlIE1BQyBQb3dlciBEb3duLgotICAqIEBwYXJhbSAgX19IQU5ETEVfXyBFVEggSGFuZGxlCi0gICogQHJldHZhbCBOb25lCi0gICovCi0jZGVmaW5lIF9fSEFMX0VUSF9QT1dFUl9ET1dOX0RJU0FCTEUoX19IQU5ETEVfXykgICAgICAgICAgICAgICAgICAgICAgICAoKF9fSEFORExFX18pLT5JbnN0YW5jZS0+TUFDUE1UQ1NSICY9IH5FVEhfTUFDUE1UQ1NSX1BEKQotCi0vKioKLSAgKiBAYnJpZWYgIENoZWNrcyB3aGV0aGVyIHRoZSBzcGVjaWZpZWQgRVRIRVJORVQgUE1UIGZsYWcgaXMgc2V0IG9yIG5vdC4KLSAgKiBAcGFyYW0gIF9fSEFORExFX18gRVRIIEhhbmRsZS4KLSAgKiBAcGFyYW0gIF9fRkxBR19fIHNwZWNpZmllcyB0aGUgZmxhZyB0byBjaGVjay4KLSAgKiAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBvbmUgb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXM6Ci0gICogICAgIEBhcmcgRVRIX1BNVF9GTEFHX1dVRkZSUFIgOiBXYWtlLVVwIEZyYW1lIEZpbHRlciBSZWdpc3RlciBQb2ludGVyIFJlc2V0IAotICAqICAgICBAYXJnIEVUSF9QTVRfRkxBR19XVUZSICAgIDogV2FrZS1VcCBGcmFtZSBSZWNlaXZlZCAKLSAgKiAgICAgQGFyZyBFVEhfUE1UX0ZMQUdfTVBSICAgICA6IE1hZ2ljIFBhY2tldCBSZWNlaXZlZAotICAqIEByZXR2YWwgVGhlIG5ldyBzdGF0ZSBvZiBFVEhFUk5FVCBQTVQgRmxhZyAoU0VUIG9yIFJFU0VUKS4KLSAgKi8KLSNkZWZpbmUgX19IQUxfRVRIX0dFVF9QTVRfRkxBR19TVEFUVVMoX19IQU5ETEVfXywgX19GTEFHX18pICAgICAgICAgICAgICAgKCgoX19IQU5ETEVfXyktPkluc3RhbmNlLT5NQUNQTVRDU1IgJiggX19GTEFHX18pKSA9PSAoIF9fRkxBR19fKSkKLQotLyoqIAotICAqIEBicmllZiAgUHJlc2V0IGFuZCBJbml0aWFsaXplIHRoZSBNTUMgY291bnRlcnMgdG8gYWxtb3N0LWZ1bGwgdmFsdWU6IDB4RkZGRl9GRkYwIChmdWxsIC0gMTYpCi0gICogQHBhcmFtICAgX19IQU5ETEVfXyBFVEggSGFuZGxlLgotICAqIEByZXR2YWwgTm9uZQotICAqLwotI2RlZmluZSBfX0hBTF9FVEhfTU1DX0NPVU5URVJfRlVMTF9QUkVTRVQoX19IQU5ETEVfXykgICAgICAgICAgICAgICAgICAgICAoKF9fSEFORExFX18pLT5JbnN0YW5jZS0+TU1DQ1IgfD0gKEVUSF9NTUNDUl9NQ0ZIUCB8IEVUSF9NTUNDUl9NQ1ApKQotCi0vKioKLSAgKiBAYnJpZWYgIFByZXNldCBhbmQgSW5pdGlhbGl6ZSB0aGUgTU1DIGNvdW50ZXJzIHRvIGFsbW9zdC1oYWxmIHZhbHVlOiAweDdGRkZfRkZGMCAoaGFsZiAtIDE2KQotICAqIEBwYXJhbSAgX19IQU5ETEVfXyBFVEggSGFuZGxlLgotICAqIEByZXR2YWwgTm9uZQotICAqLwotI2RlZmluZSBfX0hBTF9FVEhfTU1DX0NPVU5URVJfSEFMRl9QUkVTRVQoX19IQU5ETEVfXykgICAgICAgICAgICAgICAgICAgICBkb3soX19IQU5ETEVfXyktPkluc3RhbmNlLT5NTUNDUiAmPSB+RVRIX01NQ0NSX01DRkhQO1wKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKF9fSEFORExFX18pLT5JbnN0YW5jZS0+TU1DQ1IgfD0gRVRIX01NQ0NSX01DUDt9IHdoaWxlICgwKQotCi0vKioKLSAgKiBAYnJpZWYgIEVuYWJsZXMgdGhlIE1NQyBDb3VudGVyIEZyZWV6ZS4KLSAgKiBAcGFyYW0gIF9fSEFORExFX18gRVRIIEhhbmRsZS4KLSAgKiBAcmV0dmFsIE5vbmUKLSAgKi8KLSNkZWZpbmUgX19IQUxfRVRIX01NQ19DT1VOVEVSX0ZSRUVaRV9FTkFCTEUoX19IQU5ETEVfXykgICAgICAgICAgICAgICAgICAoKF9fSEFORExFX18pLT5JbnN0YW5jZS0+TU1DQ1IgfD0gRVRIX01NQ0NSX01DRikKLQotLyoqCi0gICogQGJyaWVmICBEaXNhYmxlcyB0aGUgTU1DIENvdW50ZXIgRnJlZXplLgotICAqIEBwYXJhbSAgX19IQU5ETEVfXyBFVEggSGFuZGxlLgotICAqIEByZXR2YWwgTm9uZQotICAqLwotI2RlZmluZSBfX0hBTF9FVEhfTU1DX0NPVU5URVJfRlJFRVpFX0RJU0FCTEUoX19IQU5ETEVfXykgICAgICAgICAgICAgICAgICgoX19IQU5ETEVfXyktPkluc3RhbmNlLT5NTUNDUiAmPSB+RVRIX01NQ0NSX01DRikKLQotLyoqCi0gICogQGJyaWVmICBFbmFibGVzIHRoZSBNTUMgUmVzZXQgT24gUmVhZC4KLSAgKiBAcGFyYW0gIF9fSEFORExFX18gRVRIIEhhbmRsZS4KLSAgKiBAcmV0dmFsIE5vbmUKLSAgKi8KLSNkZWZpbmUgX19IQUxfRVRIX0VUSF9NTUNfUkVTRVRfT05SRUFEX0VOQUJMRShfX0hBTkRMRV9fKSAgICAgICAgICAgICAgICAoKF9fSEFORExFX18pLT5JbnN0YW5jZS0+TU1DQ1IgfD0gRVRIX01NQ0NSX1JPUikKLQotLyoqCi0gICogQGJyaWVmICBEaXNhYmxlcyB0aGUgTU1DIFJlc2V0IE9uIFJlYWQuCi0gICogQHBhcmFtICBfX0hBTkRMRV9fIEVUSCBIYW5kbGUuCi0gICogQHJldHZhbCBOb25lCi0gICovCi0jZGVmaW5lIF9fSEFMX0VUSF9FVEhfTU1DX1JFU0VUX09OUkVBRF9ESVNBQkxFKF9fSEFORExFX18pICAgICAgICAgICAgICAgKChfX0hBTkRMRV9fKS0+SW5zdGFuY2UtPk1NQ0NSICY9IH5FVEhfTU1DQ1JfUk9SKQotCi0vKioKLSAgKiBAYnJpZWYgIEVuYWJsZXMgdGhlIE1NQyBDb3VudGVyIFN0b3AgUm9sbG92ZXIuCi0gICogQHBhcmFtICBfX0hBTkRMRV9fIEVUSCBIYW5kbGUuCi0gICogQHJldHZhbCBOb25lCi0gICovCi0jZGVmaW5lIF9fSEFMX0VUSF9FVEhfTU1DX0NPVU5URVJfUk9MTE9WRVJfRU5BQkxFKF9fSEFORExFX18pICAgICAgICAgICAgKChfX0hBTkRMRV9fKS0+SW5zdGFuY2UtPk1NQ0NSICY9IH5FVEhfTU1DQ1JfQ1NSKQotCi0vKioKLSAgKiBAYnJpZWYgIERpc2FibGVzIHRoZSBNTUMgQ291bnRlciBTdG9wIFJvbGxvdmVyLgotICAqIEBwYXJhbSAgX19IQU5ETEVfXyBFVEggSGFuZGxlLgotICAqIEByZXR2YWwgTm9uZQotICAqLwotI2RlZmluZSBfX0hBTF9FVEhfRVRIX01NQ19DT1VOVEVSX1JPTExPVkVSX0RJU0FCTEUoX19IQU5ETEVfXykgICAgICAgICAgICgoX19IQU5ETEVfXyktPkluc3RhbmNlLT5NTUNDUiB8PSBFVEhfTU1DQ1JfQ1NSKQotCi0vKioKLSAgKiBAYnJpZWYgIFJlc2V0cyB0aGUgTU1DIENvdW50ZXJzLgotICAqIEBwYXJhbSAgIF9fSEFORExFX18gRVRIIEhhbmRsZS4KLSAgKiBAcmV0dmFsIE5vbmUKLSAgKi8KLSNkZWZpbmUgX19IQUxfRVRIX01NQ19DT1VOVEVSU19SRVNFVChfX0hBTkRMRV9fKSAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fSEFORExFX18pLT5JbnN0YW5jZS0+TU1DQ1IgfD0gRVRIX01NQ0NSX0NSKQotCi0vKioKLSAgKiBAYnJpZWYgIEVuYWJsZXMgdGhlIHNwZWNpZmllZCBFVEhFUk5FVCBNTUMgUnggaW50ZXJydXB0cy4KLSAgKiBAcGFyYW0gICBfX0hBTkRMRV9fIEVUSCBIYW5kbGUuCi0gICogQHBhcmFtICBfX0lOVEVSUlVQVF9fIHNwZWNpZmllcyB0aGUgRVRIRVJORVQgTU1DIGludGVycnVwdCBzb3VyY2VzIHRvIGJlIGVuYWJsZWQgb3IgZGlzYWJsZWQuCi0gICogICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgb25lIG9mIHRoZSBmb2xsb3dpbmcgdmFsdWVzOiAgCi0gICogICAgIEBhcmcgRVRIX01NQ19JVF9SR1VGICA6IFdoZW4gUnggZ29vZCB1bmljYXN0IGZyYW1lcyBjb3VudGVyIHJlYWNoZXMgaGFsZiB0aGUgbWF4aW11bSB2YWx1ZSAKLSAgKiAgICAgQGFyZyBFVEhfTU1DX0lUX1JGQUUgIDogV2hlbiBSeCBhbGlnbm1lbnQgZXJyb3IgY291bnRlciByZWFjaGVzIGhhbGYgdGhlIG1heGltdW0gdmFsdWUgCi0gICogICAgIEBhcmcgRVRIX01NQ19JVF9SRkNFICA6IFdoZW4gUnggY3JjIGVycm9yIGNvdW50ZXIgcmVhY2hlcyBoYWxmIHRoZSBtYXhpbXVtIHZhbHVlCi0gICogQHJldHZhbCBOb25lCi0gICovCi0jZGVmaW5lIF9fSEFMX0VUSF9NTUNfUlhfSVRfRU5BQkxFKF9fSEFORExFX18sIF9fSU5URVJSVVBUX18pICAgICAgICAgICAgICAgKF9fSEFORExFX18pLT5JbnN0YW5jZS0+TU1DUklNUiAmPSB+KChfX0lOVEVSUlVQVF9fKSAmIDB4RUZGRkZGRkZVKQotLyoqCi0gICogQGJyaWVmICBEaXNhYmxlcyB0aGUgc3BlY2lmaWVkIEVUSEVSTkVUIE1NQyBSeCBpbnRlcnJ1cHRzLgotICAqIEBwYXJhbSAgIF9fSEFORExFX18gRVRIIEhhbmRsZS4KLSAgKiBAcGFyYW0gIF9fSU5URVJSVVBUX18gc3BlY2lmaWVzIHRoZSBFVEhFUk5FVCBNTUMgaW50ZXJydXB0IHNvdXJjZXMgdG8gYmUgZW5hYmxlZCBvciBkaXNhYmxlZC4KLSAgKiAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBvbmUgb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXM6IAotICAqICAgICBAYXJnIEVUSF9NTUNfSVRfUkdVRiAgOiBXaGVuIFJ4IGdvb2QgdW5pY2FzdCBmcmFtZXMgY291bnRlciByZWFjaGVzIGhhbGYgdGhlIG1heGltdW0gdmFsdWUgCi0gICogICAgIEBhcmcgRVRIX01NQ19JVF9SRkFFICA6IFdoZW4gUnggYWxpZ25tZW50IGVycm9yIGNvdW50ZXIgcmVhY2hlcyBoYWxmIHRoZSBtYXhpbXVtIHZhbHVlIAotICAqICAgICBAYXJnIEVUSF9NTUNfSVRfUkZDRSAgOiBXaGVuIFJ4IGNyYyBlcnJvciBjb3VudGVyIHJlYWNoZXMgaGFsZiB0aGUgbWF4aW11bSB2YWx1ZQotICAqIEByZXR2YWwgTm9uZQotICAqLwotI2RlZmluZSBfX0hBTF9FVEhfTU1DX1JYX0lUX0RJU0FCTEUoX19IQU5ETEVfXywgX19JTlRFUlJVUFRfXykgICAgICAgICAgICAgIChfX0hBTkRMRV9fKS0+SW5zdGFuY2UtPk1NQ1JJTVIgfD0gKChfX0lOVEVSUlVQVF9fKSAmIDB4RUZGRkZGRkZVKQotLyoqCi0gICogQGJyaWVmICBFbmFibGVzIHRoZSBzcGVjaWZpZWQgRVRIRVJORVQgTU1DIFR4IGludGVycnVwdHMuCi0gICogQHBhcmFtICAgX19IQU5ETEVfXyBFVEggSGFuZGxlLgotICAqIEBwYXJhbSAgX19JTlRFUlJVUFRfXyBzcGVjaWZpZXMgdGhlIEVUSEVSTkVUIE1NQyBpbnRlcnJ1cHQgc291cmNlcyB0byBiZSBlbmFibGVkIG9yIGRpc2FibGVkLgotICAqICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIG9uZSBvZiB0aGUgZm9sbG93aW5nIHZhbHVlczogIAotICAqICAgICBAYXJnIEVUSF9NTUNfSVRfVEdGICAgOiBXaGVuIFR4IGdvb2QgZnJhbWUgY291bnRlciByZWFjaGVzIGhhbGYgdGhlIG1heGltdW0gdmFsdWUgCi0gICogICAgIEBhcmcgRVRIX01NQ19JVF9UR0ZNU0M6IFdoZW4gVHggZ29vZCBtdWx0aSBjb2wgY291bnRlciByZWFjaGVzIGhhbGYgdGhlIG1heGltdW0gdmFsdWUgCi0gICogICAgIEBhcmcgRVRIX01NQ19JVF9UR0ZTQyA6IFdoZW4gVHggZ29vZCBzaW5nbGUgY29sIGNvdW50ZXIgcmVhY2hlcyBoYWxmIHRoZSBtYXhpbXVtIHZhbHVlIAotICAqIEByZXR2YWwgTm9uZQotICAqLwotI2RlZmluZSBfX0hBTF9FVEhfTU1DX1RYX0lUX0VOQUJMRShfX0hBTkRMRV9fLCBfX0lOVEVSUlVQVF9fKSAgICAgICAgICAgICgoX19IQU5ETEVfXyktPkluc3RhbmNlLT5NTUNSSU1SICY9IH4gKF9fSU5URVJSVVBUX18pKQotCi0vKioKLSAgKiBAYnJpZWYgIERpc2FibGVzIHRoZSBzcGVjaWZpZWQgRVRIRVJORVQgTU1DIFR4IGludGVycnVwdHMuCi0gICogQHBhcmFtICAgX19IQU5ETEVfXyBFVEggSGFuZGxlLgotICAqIEBwYXJhbSAgX19JTlRFUlJVUFRfXyBzcGVjaWZpZXMgdGhlIEVUSEVSTkVUIE1NQyBpbnRlcnJ1cHQgc291cmNlcyB0byBiZSBlbmFibGVkIG9yIGRpc2FibGVkLgotICAqICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIG9uZSBvZiB0aGUgZm9sbG93aW5nIHZhbHVlczogIAotICAqICAgICBAYXJnIEVUSF9NTUNfSVRfVEdGICAgOiBXaGVuIFR4IGdvb2QgZnJhbWUgY291bnRlciByZWFjaGVzIGhhbGYgdGhlIG1heGltdW0gdmFsdWUgCi0gICogICAgIEBhcmcgRVRIX01NQ19JVF9UR0ZNU0M6IFdoZW4gVHggZ29vZCBtdWx0aSBjb2wgY291bnRlciByZWFjaGVzIGhhbGYgdGhlIG1heGltdW0gdmFsdWUgCi0gICogICAgIEBhcmcgRVRIX01NQ19JVF9UR0ZTQyA6IFdoZW4gVHggZ29vZCBzaW5nbGUgY29sIGNvdW50ZXIgcmVhY2hlcyBoYWxmIHRoZSBtYXhpbXVtIHZhbHVlIAotICAqIEByZXR2YWwgTm9uZQotICAqLwotI2RlZmluZSBfX0hBTF9FVEhfTU1DX1RYX0lUX0RJU0FCTEUoX19IQU5ETEVfXywgX19JTlRFUlJVUFRfXykgICAgICAgICAgICgoX19IQU5ETEVfXyktPkluc3RhbmNlLT5NTUNSSU1SIHw9IChfX0lOVEVSUlVQVF9fKSkKLQotLyoqCi0gICogQGJyaWVmICBFbmFibGVzIHRoZSBFVEggRXh0ZXJuYWwgaW50ZXJydXB0IGxpbmUuCi0gICogQHJldHZhbCBOb25lCi0gICovCi0jZGVmaW5lIF9fSEFMX0VUSF9XQUtFVVBfRVhUSV9FTkFCTEVfSVQoKSAgICBFWFRJLT5JTVIgfD0gKEVUSF9FWFRJX0xJTkVfV0FLRVVQKQotCi0vKioKLSAgKiBAYnJpZWYgIERpc2FibGVzIHRoZSBFVEggRXh0ZXJuYWwgaW50ZXJydXB0IGxpbmUuCi0gICogQHJldHZhbCBOb25lCi0gICovCi0jZGVmaW5lIF9fSEFMX0VUSF9XQUtFVVBfRVhUSV9ESVNBQkxFX0lUKCkgICBFWFRJLT5JTVIgJj0gfihFVEhfRVhUSV9MSU5FX1dBS0VVUCkKLQotLyoqCi0gICogQGJyaWVmIEVuYWJsZSBldmVudCBvbiBFVEggRXh0ZXJuYWwgZXZlbnQgbGluZS4KKyAgKiBAYnJpZWYgRW5hYmxlIHRoZSBFVEggV0FLRVVQIEV4dGkgTGluZS4KKyAgKiBAcGFyYW0gIF9fRVhUSV9MSU5FX186IHNwZWNpZmllcyB0aGUgRVRIIFdBS0VVUCBFeHRpIHNvdXJjZXMgdG8gYmUgZW5hYmxlZC4KKyAgKiAgIEBhcmcgRVRIX1dBS0VVUF9FWFRJX0xJTkUKICAgKiBAcmV0dmFsIE5vbmUuCiAgICovCi0jZGVmaW5lIF9fSEFMX0VUSF9XQUtFVVBfRVhUSV9FTkFCTEVfRVZFTlQoKSAgRVhUSS0+RU1SIHw9IChFVEhfRVhUSV9MSU5FX1dBS0VVUCkKKyNkZWZpbmUgX19IQUxfRVRIX1dBS0VVUF9FWFRJX0VOQUJMRV9JVChfX0VYVElfTElORV9fKSAgIChFWFRJLT5JTVIgfD0gKF9fRVhUSV9MSU5FX18pKQogCiAvKioKLSAgKiBAYnJpZWYgRGlzYWJsZSBldmVudCBvbiBFVEggRXh0ZXJuYWwgZXZlbnQgbGluZQorICAqIEBicmllZiBjaGVja3Mgd2hldGhlciB0aGUgc3BlY2lmaWVkIEVUSCBXQUtFVVAgRXh0aSBpbnRlcnJ1cHQgZmxhZyBpcyBzZXQgb3Igbm90LgorICAqIEBwYXJhbSAgX19FWFRJX0xJTkVfXzogc3BlY2lmaWVzIHRoZSBFVEggV0FLRVVQIEV4dGkgc291cmNlcyB0byBiZSBjbGVhcmVkLgorICAqICAgQGFyZyBFVEhfV0FLRVVQX0VYVElfTElORQorICAqIEByZXR2YWwgRVhUSSBFVEggV0FLRVVQIExpbmUgU3RhdHVzLgorICAqLworI2RlZmluZSBfX0hBTF9FVEhfV0FLRVVQX0VYVElfR0VUX0ZMQUcoX19FWFRJX0xJTkVfXykgIChFWFRJLT5QUiAmIChfX0VYVElfTElORV9fKSkKKworLyoqCisgICogQGJyaWVmIENsZWFyIHRoZSBFVEggV0FLRVVQIEV4dGkgZmxhZy4KKyAgKiBAcGFyYW0gIF9fRVhUSV9MSU5FX186IHNwZWNpZmllcyB0aGUgRVRIIFdBS0VVUCBFeHRpIHNvdXJjZXMgdG8gYmUgY2xlYXJlZC4KKyAgKiAgIEBhcmcgRVRIX1dBS0VVUF9FWFRJX0xJTkUKICAgKiBAcmV0dmFsIE5vbmUuCiAgICovCi0jZGVmaW5lIF9fSEFMX0VUSF9XQUtFVVBfRVhUSV9ESVNBQkxFX0VWRU5UKCkgRVhUSS0+RU1SICY9IH4oRVRIX0VYVElfTElORV9XQUtFVVApCisjZGVmaW5lIF9fSEFMX0VUSF9XQUtFVVBfRVhUSV9DTEVBUl9GTEFHKF9fRVhUSV9MSU5FX18pIChFWFRJLT5QUiA9IChfX0VYVElfTElORV9fKSkKKwogCiAvKioKLSAgKiBAYnJpZWYgIEdldCBmbGFnIG9mIHRoZSBFVEggRXh0ZXJuYWwgaW50ZXJydXB0IGxpbmUuCisgICogQGJyaWVmICBlbmFibGUgcmlzaW5nIGVkZ2UgaW50ZXJydXB0IG9uIHNlbGVjdGVkIEVYVEkgbGluZS4KKyAgKiBAcGFyYW0gIF9fRVhUSV9MSU5FX186IHNwZWNpZmllcyB0aGUgRVRIIFdBS0VVUCBFWFRJIHNvdXJjZXMgdG8gYmUgZGlzYWJsZWQuCisgICogIEBhcmcgRVRIX1dBS0VVUF9FWFRJX0xJTkUKICAgKiBAcmV0dmFsIE5vbmUKICAgKi8KLSNkZWZpbmUgX19IQUxfRVRIX1dBS0VVUF9FWFRJX0dFVF9GTEFHKCkgICAgIEVYVEktPlBSICYgKEVUSF9FWFRJX0xJTkVfV0FLRVVQKQorI2RlZmluZSBfX0hBTF9FVEhfV0FLRVVQX0VYVElfRU5BQkxFX1JJU0lOR19FREdFKF9fRVhUSV9MSU5FX18pIChFWFRJLT5GVFNSICY9IH4oX19FWFRJX0xJTkVfXykpOyBcCisgIChFWFRJLT5SVFNSIHw9IChfX0VYVElfTElORV9fKSkKIAogLyoqCi0gICogQGJyaWVmICBDbGVhciBmbGFnIG9mIHRoZSBFVEggRXh0ZXJuYWwgaW50ZXJydXB0IGxpbmUuCisgICogQGJyaWVmICBlbmFibGUgZmFsbGluZyBlZGdlIGludGVycnVwdCBvbiBzZWxlY3RlZCBFWFRJIGxpbmUuCisgICogQHBhcmFtICBfX0VYVElfTElORV9fOiBzcGVjaWZpZXMgdGhlIEVUSCBXQUtFVVAgRVhUSSBzb3VyY2VzIHRvIGJlIGRpc2FibGVkLgorICAqICBAYXJnIEVUSF9XQUtFVVBfRVhUSV9MSU5FCiAgICogQHJldHZhbCBOb25lCiAgICovCi0jZGVmaW5lIF9fSEFMX0VUSF9XQUtFVVBfRVhUSV9DTEVBUl9GTEFHKCkgICBFWFRJLT5QUiA9IChFVEhfRVhUSV9MSU5FX1dBS0VVUCkKKyNkZWZpbmUgX19IQUxfRVRIX1dBS0VVUF9FWFRJX0VOQUJMRV9GQUxMSU5HX0VER0UoX19FWFRJX0xJTkVfXykgKEVYVEktPlJUU1IgJj0gfihfX0VYVElfTElORV9fKSk7XAorICAoRVhUSS0+RlRTUiB8PSAoX19FWFRJX0xJTkVfXykpCiAKIC8qKgotICAqIEBicmllZiAgRW5hYmxlcyByaXNpbmcgZWRnZSB0cmlnZ2VyIHRvIHRoZSBFVEggRXh0ZXJuYWwgaW50ZXJydXB0IGxpbmUuCisgICogQGJyaWVmICBlbmFibGUgZmFsbGluZyBlZGdlIGludGVycnVwdCBvbiBzZWxlY3RlZCBFWFRJIGxpbmUuCisgICogQHBhcmFtICBfX0VYVElfTElORV9fOiBzcGVjaWZpZXMgdGhlIEVUSCBXQUtFVVAgRVhUSSBzb3VyY2VzIHRvIGJlIGRpc2FibGVkLgorICAqICBAYXJnIEVUSF9XQUtFVVBfRVhUSV9MSU5FCiAgICogQHJldHZhbCBOb25lCiAgICovCi0jZGVmaW5lIF9fSEFMX0VUSF9XQUtFVVBfRVhUSV9FTkFCTEVfUklTSU5HX0VER0VfVFJJR0dFUigpICBFWFRJLT5SVFNSIHw9IEVUSF9FWFRJX0xJTkVfV0FLRVVQCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyNkZWZpbmUgX19IQUxfRVRIX1dBS0VVUF9FWFRJX0VOQUJMRV9SSVNJTkdfRkFMTElOR19FREdFKF9fRVhUSV9MSU5FX18pIChFWFRJLT5SVFNSIHw9IChfX0VYVElfTElORV9fKSk7XAorICAoRVhUSS0+RlRTUiB8PSAoX19FWFRJX0xJTkVfXykpCisKIC8qKgotICAqIEBicmllZiAgRGlzYWJsZXMgdGhlIHJpc2luZyBlZGdlIHRyaWdnZXIgdG8gdGhlIEVUSCBFeHRlcm5hbCBpbnRlcnJ1cHQgbGluZS4KKyAgKiBAYnJpZWYgIEdlbmVyYXRlcyBhIFNvZnR3YXJlIGludGVycnVwdCBvbiBzZWxlY3RlZCBFWFRJIGxpbmUuCisgICogQHBhcmFtICBfX0VYVElfTElORV9fOiBzcGVjaWZpZXMgdGhlIEVUSCBXQUtFVVAgRVhUSSBzb3VyY2VzIHRvIGJlIGRpc2FibGVkLgorICAqICBAYXJnIEVUSF9XQUtFVVBfRVhUSV9MSU5FCiAgICogQHJldHZhbCBOb25lCiAgICovCi0jZGVmaW5lIF9fSEFMX0VUSF9XQUtFVVBfRVhUSV9ESVNBQkxFX1JJU0lOR19FREdFX1RSSUdHRVIoKSAgRVhUSS0+UlRTUiAmPSB+KEVUSF9FWFRJX0xJTkVfV0FLRVVQKQorI2RlZmluZSBfX0hBTF9FVEhfV0FLRVVQX0VYVElfR0VORVJBVEVfU1dJVChfX0VYVElfTElORV9fKSAoRVhUSS0+U1dJRVIgfD0gKF9fRVhUSV9MSU5FX18pKQogCi0vKioKLSAgKiBAYnJpZWYgIEVuYWJsZXMgZmFsbGluZyBlZGdlIHRyaWdnZXIgdG8gdGhlIEVUSCBFeHRlcm5hbCBpbnRlcnJ1cHQgbGluZS4KLSAgKiBAcmV0dmFsIE5vbmUKLSAgKi8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKLSNkZWZpbmUgX19IQUxfRVRIX1dBS0VVUF9FWFRJX0VOQUJMRV9GQUxMSU5HX0VER0VfVFJJR0dFUigpICBFWFRJLT5GVFNSIHw9IChFVEhfRVhUSV9MSU5FX1dBS0VVUCkKKyNkZWZpbmUgX19IQUxfRVRIX0dFVF9QVFBfQ09OVFJPTChfX0hBTkRMRV9fLCBfX0ZMQUdfXykgKCgoKChfX0hBTkRMRV9fKS0+SW5zdGFuY2UtPlBUUFRTQ1IpICYgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoX19GTEFHX18pKSA9PSAoX19GTEFHX18pKSA/IFNFVCA6IFJFU0VUKQogCi0vKioKLSAgKiBAYnJpZWYgIERpc2FibGVzIGZhbGxpbmcgZWRnZSB0cmlnZ2VyIHRvIHRoZSBFVEggRXh0ZXJuYWwgaW50ZXJydXB0IGxpbmUuCi0gICogQHJldHZhbCBOb25lCi0gICovCi0jZGVmaW5lIF9fSEFMX0VUSF9XQUtFVVBfRVhUSV9ESVNBQkxFX0ZBTExJTkdfRURHRV9UUklHR0VSKCkgIEVYVEktPkZUU1IgJj0gfihFVEhfRVhUSV9MSU5FX1dBS0VVUCkKLQotLyoqCi0gICogQGJyaWVmICBFbmFibGVzIHJpc2luZy9mYWxsaW5nIGVkZ2UgdHJpZ2dlciB0byB0aGUgRVRIIEV4dGVybmFsIGludGVycnVwdCBsaW5lLgotICAqIEByZXR2YWwgTm9uZQotICAqLwotI2RlZmluZSBfX0hBTF9FVEhfV0FLRVVQX0VYVElfRU5BQkxFX0ZBTExJTkdSSVNJTkdfVFJJR0dFUigpICBkb3tFWFRJLT5SVFNSIHw9IEVUSF9FWFRJX0xJTkVfV0FLRVVQO1wKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRVhUSS0+RlRTUiB8PSBFVEhfRVhUSV9MSU5FX1dBS0VVUDtcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfXdoaWxlKDBVKQotCi0vKioKLSAgKiBAYnJpZWYgIERpc2FibGVzIHJpc2luZy9mYWxsaW5nIGVkZ2UgdHJpZ2dlciB0byB0aGUgRVRIIEV4dGVybmFsIGludGVycnVwdCBsaW5lLgotICAqIEByZXR2YWwgTm9uZQotICAqLwotI2RlZmluZSBfX0hBTF9FVEhfV0FLRVVQX0VYVElfRElTQUJMRV9GQUxMSU5HUklTSU5HX1RSSUdHRVIoKSBkb3tFWFRJLT5SVFNSICY9IH4oRVRIX0VYVElfTElORV9XQUtFVVApO1wKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRVhUSS0+RlRTUiAmPSB+KEVUSF9FWFRJX0xJTkVfV0FLRVVQKTtcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfXdoaWxlKDBVKQotCi0vKioKLSAgKiBAYnJpZWYgR2VuZXJhdGUgYSBTb2Z0d2FyZSBpbnRlcnJ1cHQgb24gc2VsZWN0ZWQgRVhUSSBsaW5lLgotICAqIEByZXR2YWwgTm9uZS4KLSAgKi8KLSNkZWZpbmUgX19IQUxfRVRIX1dBS0VVUF9FWFRJX0dFTkVSQVRFX1NXSVQoKSAgICAgICAgICAgICAgICAgIEVYVEktPlNXSUVSfD0gRVRIX0VYVElfTElORV9XQUtFVVAKLQorI2RlZmluZSBfX0hBTF9FVEhfU0VUX1BUUF9DT05UUk9MKF9fSEFORExFX18sIF9fRkxBR19fKSAgICgoX19IQU5ETEVfXyktPkluc3RhbmNlLT5QVFBUU0NSIHw9IChfX0ZMQUdfXykpCiAvKioKICAgKiBAfQogICAqLworCisKIC8qIEV4cG9ydGVkIGZ1bmN0aW9ucyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAKIC8qKiBAYWRkdG9ncm91cCBFVEhfRXhwb3J0ZWRfRnVuY3Rpb25zCiAgICogQHsKICAgKi8KIAotLyogSW5pdGlhbGl6YXRpb24gYW5kIGRlLWluaXRpYWxpemF0aW9uIGZ1bmN0aW9ucyAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KLQogLyoqIEBhZGR0b2dyb3VwIEVUSF9FeHBvcnRlZF9GdW5jdGlvbnNfR3JvdXAxCiAgICogQHsKICAgKi8KKy8qIEluaXRpYWxpemF0aW9uIGFuZCBkZSBpbml0aWFsaXphdGlvbiBmdW5jdGlvbnMgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiBIQUxfU3RhdHVzVHlwZURlZiBIQUxfRVRIX0luaXQoRVRIX0hhbmRsZVR5cGVEZWYgKmhldGgpOwogSEFMX1N0YXR1c1R5cGVEZWYgSEFMX0VUSF9EZUluaXQoRVRIX0hhbmRsZVR5cGVEZWYgKmhldGgpOwotdm9pZCBIQUxfRVRIX01zcEluaXQoRVRIX0hhbmRsZVR5cGVEZWYgKmhldGgpOwotdm9pZCBIQUxfRVRIX01zcERlSW5pdChFVEhfSGFuZGxlVHlwZURlZiAqaGV0aCk7Ci1IQUxfU3RhdHVzVHlwZURlZiBIQUxfRVRIX0RNQVR4RGVzY0xpc3RJbml0KEVUSF9IYW5kbGVUeXBlRGVmICpoZXRoLCBFVEhfRE1BRGVzY1R5cGVEZWYgKkRNQVR4RGVzY1RhYiwgdWludDhfdCogVHhCdWZmLCB1aW50MzJfdCBUeEJ1ZmZDb3VudCk7Ci1IQUxfU3RhdHVzVHlwZURlZiBIQUxfRVRIX0RNQVJ4RGVzY0xpc3RJbml0KEVUSF9IYW5kbGVUeXBlRGVmICpoZXRoLCBFVEhfRE1BRGVzY1R5cGVEZWYgKkRNQVJ4RGVzY1RhYiwgdWludDhfdCAqUnhCdWZmLCB1aW50MzJfdCBSeEJ1ZmZDb3VudCk7Cit2b2lkICAgICAgICAgICAgICBIQUxfRVRIX01zcEluaXQoRVRIX0hhbmRsZVR5cGVEZWYgKmhldGgpOwordm9pZCAgICAgICAgICAgICAgSEFMX0VUSF9Nc3BEZUluaXQoRVRIX0hhbmRsZVR5cGVEZWYgKmhldGgpOworCiAvKiBDYWxsYmFja3MgUmVnaXN0ZXIvVW5SZWdpc3RlciBmdW5jdGlvbnMgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwogI2lmIChVU0VfSEFMX0VUSF9SRUdJU1RFUl9DQUxMQkFDS1MgPT0gMSkKLUhBTF9TdGF0dXNUeXBlRGVmIEhBTF9FVEhfUmVnaXN0ZXJDYWxsYmFjayhFVEhfSGFuZGxlVHlwZURlZiAqaGV0aCwgSEFMX0VUSF9DYWxsYmFja0lEVHlwZURlZiBDYWxsYmFja0lELCBwRVRIX0NhbGxiYWNrVHlwZURlZiBwQ2FsbGJhY2spOworSEFMX1N0YXR1c1R5cGVEZWYgSEFMX0VUSF9SZWdpc3RlckNhbGxiYWNrKEVUSF9IYW5kbGVUeXBlRGVmICpoZXRoLCBIQUxfRVRIX0NhbGxiYWNrSURUeXBlRGVmIENhbGxiYWNrSUQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcEVUSF9DYWxsYmFja1R5cGVEZWYgcENhbGxiYWNrKTsKIEhBTF9TdGF0dXNUeXBlRGVmIEhBTF9FVEhfVW5SZWdpc3RlckNhbGxiYWNrKEVUSF9IYW5kbGVUeXBlRGVmICpoZXRoLCBIQUxfRVRIX0NhbGxiYWNrSURUeXBlRGVmIENhbGxiYWNrSUQpOwogI2VuZGlmIC8qIFVTRV9IQUxfRVRIX1JFR0lTVEVSX0NBTExCQUNLUyAqLwogCiAvKioKICAgKiBAfQogICAqLwotLyogSU8gb3BlcmF0aW9uIGZ1bmN0aW9ucyAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KIAogLyoqIEBhZGR0b2dyb3VwIEVUSF9FeHBvcnRlZF9GdW5jdGlvbnNfR3JvdXAyCiAgICogQHsKICAgKi8KLUhBTF9TdGF0dXNUeXBlRGVmIEhBTF9FVEhfVHJhbnNtaXRGcmFtZShFVEhfSGFuZGxlVHlwZURlZiAqaGV0aCwgdWludDMyX3QgRnJhbWVMZW5ndGgpOwotSEFMX1N0YXR1c1R5cGVEZWYgSEFMX0VUSF9HZXRSZWNlaXZlZEZyYW1lKEVUSF9IYW5kbGVUeXBlRGVmICpoZXRoKTsKLS8qIENvbW11bmljYXRpb24gd2l0aCBQSFkgZnVuY3Rpb25zKi8KLUhBTF9TdGF0dXNUeXBlRGVmIEhBTF9FVEhfUmVhZFBIWVJlZ2lzdGVyKEVUSF9IYW5kbGVUeXBlRGVmICpoZXRoLCB1aW50MTZfdCBQSFlSZWcsIHVpbnQzMl90ICpSZWdWYWx1ZSk7Ci1IQUxfU3RhdHVzVHlwZURlZiBIQUxfRVRIX1dyaXRlUEhZUmVnaXN0ZXIoRVRIX0hhbmRsZVR5cGVEZWYgKmhldGgsIHVpbnQxNl90IFBIWVJlZywgdWludDMyX3QgUmVnVmFsdWUpOwotLyogTm9uLUJsb2NraW5nIG1vZGU6IEludGVycnVwdCAqLwotSEFMX1N0YXR1c1R5cGVEZWYgSEFMX0VUSF9HZXRSZWNlaXZlZEZyYW1lX0lUKEVUSF9IYW5kbGVUeXBlRGVmICpoZXRoKTsKLXZvaWQgSEFMX0VUSF9JUlFIYW5kbGVyKEVUSF9IYW5kbGVUeXBlRGVmICpoZXRoKTsKLS8qIENhbGxiYWNrIGluIG5vbiBibG9ja2luZyBtb2RlcyAoSW50ZXJydXB0KSAqLwotdm9pZCBIQUxfRVRIX1R4Q3BsdENhbGxiYWNrKEVUSF9IYW5kbGVUeXBlRGVmICpoZXRoKTsKLXZvaWQgSEFMX0VUSF9SeENwbHRDYWxsYmFjayhFVEhfSGFuZGxlVHlwZURlZiAqaGV0aCk7Ci12b2lkIEhBTF9FVEhfRXJyb3JDYWxsYmFjayhFVEhfSGFuZGxlVHlwZURlZiAqaGV0aCk7CisvKiBJTyBvcGVyYXRpb24gZnVuY3Rpb25zICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitIQUxfU3RhdHVzVHlwZURlZiBIQUxfRVRIX1N0YXJ0KEVUSF9IYW5kbGVUeXBlRGVmICpoZXRoKTsKK0hBTF9TdGF0dXNUeXBlRGVmIEhBTF9FVEhfU3RhcnRfSVQoRVRIX0hhbmRsZVR5cGVEZWYgKmhldGgpOworSEFMX1N0YXR1c1R5cGVEZWYgSEFMX0VUSF9TdG9wKEVUSF9IYW5kbGVUeXBlRGVmICpoZXRoKTsKK0hBTF9TdGF0dXNUeXBlRGVmIEhBTF9FVEhfU3RvcF9JVChFVEhfSGFuZGxlVHlwZURlZiAqaGV0aCk7CisKK0hBTF9TdGF0dXNUeXBlRGVmIEhBTF9FVEhfUmVhZERhdGEoRVRIX0hhbmRsZVR5cGVEZWYgKmhldGgsIHZvaWQgKipwQXBwQnVmZik7CitIQUxfU3RhdHVzVHlwZURlZiBIQUxfRVRIX1JlZ2lzdGVyUnhBbGxvY2F0ZUNhbGxiYWNrKEVUSF9IYW5kbGVUeXBlRGVmICpoZXRoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwRVRIX3J4QWxsb2NhdGVDYWxsYmFja1R5cGVEZWYgcnhBbGxvY2F0ZUNhbGxiYWNrKTsKK0hBTF9TdGF0dXNUeXBlRGVmIEhBTF9FVEhfVW5SZWdpc3RlclJ4QWxsb2NhdGVDYWxsYmFjayhFVEhfSGFuZGxlVHlwZURlZiAqaGV0aCk7CitIQUxfU3RhdHVzVHlwZURlZiBIQUxfRVRIX1JlZ2lzdGVyUnhMaW5rQ2FsbGJhY2soRVRIX0hhbmRsZVR5cGVEZWYgKmhldGgsIHBFVEhfcnhMaW5rQ2FsbGJhY2tUeXBlRGVmIHJ4TGlua0NhbGxiYWNrKTsKK0hBTF9TdGF0dXNUeXBlRGVmIEhBTF9FVEhfVW5SZWdpc3RlclJ4TGlua0NhbGxiYWNrKEVUSF9IYW5kbGVUeXBlRGVmICpoZXRoKTsKK0hBTF9TdGF0dXNUeXBlRGVmIEhBTF9FVEhfR2V0UnhEYXRhRXJyb3JDb2RlKEVUSF9IYW5kbGVUeXBlRGVmICpoZXRoLCB1aW50MzJfdCAqcEVycm9yQ29kZSk7CitIQUxfU3RhdHVzVHlwZURlZiBIQUxfRVRIX1JlZ2lzdGVyVHhGcmVlQ2FsbGJhY2soRVRIX0hhbmRsZVR5cGVEZWYgKmhldGgsIHBFVEhfdHhGcmVlQ2FsbGJhY2tUeXBlRGVmIHR4RnJlZUNhbGxiYWNrKTsKK0hBTF9TdGF0dXNUeXBlRGVmIEhBTF9FVEhfVW5SZWdpc3RlclR4RnJlZUNhbGxiYWNrKEVUSF9IYW5kbGVUeXBlRGVmICpoZXRoKTsKK0hBTF9TdGF0dXNUeXBlRGVmIEhBTF9FVEhfUmVsZWFzZVR4UGFja2V0KEVUSF9IYW5kbGVUeXBlRGVmICpoZXRoKTsKKworI2lmZGVmIEhBTF9FVEhfVVNFX1BUUAorSEFMX1N0YXR1c1R5cGVEZWYgSEFMX0VUSF9QVFBfU2V0Q29uZmlnKEVUSF9IYW5kbGVUeXBlRGVmICpoZXRoLCBFVEhfUFRQX0NvbmZpZ1R5cGVEZWYgKnB0cGNvbmZpZyk7CitIQUxfU3RhdHVzVHlwZURlZiBIQUxfRVRIX1BUUF9HZXRDb25maWcoRVRIX0hhbmRsZVR5cGVEZWYgKmhldGgsIEVUSF9QVFBfQ29uZmlnVHlwZURlZiAqcHRwY29uZmlnKTsKK0hBTF9TdGF0dXNUeXBlRGVmIEhBTF9FVEhfUFRQX1NldFRpbWUoRVRIX0hhbmRsZVR5cGVEZWYgKmhldGgsIEVUSF9UaW1lVHlwZURlZiAqdGltZSk7CitIQUxfU3RhdHVzVHlwZURlZiBIQUxfRVRIX1BUUF9HZXRUaW1lKEVUSF9IYW5kbGVUeXBlRGVmICpoZXRoLCBFVEhfVGltZVR5cGVEZWYgKnRpbWUpOworSEFMX1N0YXR1c1R5cGVEZWYgSEFMX0VUSF9QVFBfQWRkVGltZU9mZnNldChFVEhfSGFuZGxlVHlwZURlZiAqaGV0aCwgRVRIX1B0cFVwZGF0ZVR5cGVEZWYgcHRwb2Zmc2V0dHlwZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRVRIX1RpbWVUeXBlRGVmICp0aW1lb2Zmc2V0KTsKK0hBTF9TdGF0dXNUeXBlRGVmIEhBTF9FVEhfUFRQX0luc2VydFR4VGltZXN0YW1wKEVUSF9IYW5kbGVUeXBlRGVmICpoZXRoKTsKK0hBTF9TdGF0dXNUeXBlRGVmIEhBTF9FVEhfUFRQX0dldFR4VGltZXN0YW1wKEVUSF9IYW5kbGVUeXBlRGVmICpoZXRoLCBFVEhfVGltZVN0YW1wVHlwZURlZiAqdGltZXN0YW1wKTsKK0hBTF9TdGF0dXNUeXBlRGVmIEhBTF9FVEhfUFRQX0dldFJ4VGltZXN0YW1wKEVUSF9IYW5kbGVUeXBlRGVmICpoZXRoLCBFVEhfVGltZVN0YW1wVHlwZURlZiAqdGltZXN0YW1wKTsKK0hBTF9TdGF0dXNUeXBlRGVmIEhBTF9FVEhfUmVnaXN0ZXJUeFB0cENhbGxiYWNrKEVUSF9IYW5kbGVUeXBlRGVmICpoZXRoLCBwRVRIX3R4UHRwQ2FsbGJhY2tUeXBlRGVmIHR4UHRwQ2FsbGJhY2spOworSEFMX1N0YXR1c1R5cGVEZWYgSEFMX0VUSF9VblJlZ2lzdGVyVHhQdHBDYWxsYmFjayhFVEhfSGFuZGxlVHlwZURlZiAqaGV0aCk7CisjZW5kaWYgLyogSEFMX0VUSF9VU0VfUFRQICovCisKK0hBTF9TdGF0dXNUeXBlRGVmIEhBTF9FVEhfVHJhbnNtaXQoRVRIX0hhbmRsZVR5cGVEZWYgKmhldGgsIEVUSF9UeFBhY2tldENvbmZpZyAqcFR4Q29uZmlnLCB1aW50MzJfdCBUaW1lb3V0KTsKK0hBTF9TdGF0dXNUeXBlRGVmIEhBTF9FVEhfVHJhbnNtaXRfSVQoRVRIX0hhbmRsZVR5cGVEZWYgKmhldGgsIEVUSF9UeFBhY2tldENvbmZpZyAqcFR4Q29uZmlnKTsKKworSEFMX1N0YXR1c1R5cGVEZWYgSEFMX0VUSF9Xcml0ZVBIWVJlZ2lzdGVyKEVUSF9IYW5kbGVUeXBlRGVmICpoZXRoLCB1aW50MzJfdCBQSFlBZGRyLCB1aW50MzJfdCBQSFlSZWcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgUmVnVmFsdWUpOworSEFMX1N0YXR1c1R5cGVEZWYgSEFMX0VUSF9SZWFkUEhZUmVnaXN0ZXIoRVRIX0hhbmRsZVR5cGVEZWYgKmhldGgsIHVpbnQzMl90IFBIWUFkZHIsIHVpbnQzMl90IFBIWVJlZywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90ICpwUmVnVmFsdWUpOworCit2b2lkICAgICAgICAgICAgICBIQUxfRVRIX0lSUUhhbmRsZXIoRVRIX0hhbmRsZVR5cGVEZWYgKmhldGgpOwordm9pZCAgICAgICAgICAgICAgSEFMX0VUSF9UeENwbHRDYWxsYmFjayhFVEhfSGFuZGxlVHlwZURlZiAqaGV0aCk7Cit2b2lkICAgICAgICAgICAgICBIQUxfRVRIX1J4Q3BsdENhbGxiYWNrKEVUSF9IYW5kbGVUeXBlRGVmICpoZXRoKTsKK3ZvaWQgICAgICAgICAgICAgIEhBTF9FVEhfRXJyb3JDYWxsYmFjayhFVEhfSGFuZGxlVHlwZURlZiAqaGV0aCk7Cit2b2lkICAgICAgICAgICAgICBIQUxfRVRIX1BNVENhbGxiYWNrKEVUSF9IYW5kbGVUeXBlRGVmICpoZXRoKTsKK3ZvaWQgICAgICAgICAgICAgIEhBTF9FVEhfV2FrZVVwQ2FsbGJhY2soRVRIX0hhbmRsZVR5cGVEZWYgKmhldGgpOwordm9pZCAgICAgICAgICAgICAgSEFMX0VUSF9SeEFsbG9jYXRlQ2FsbGJhY2sodWludDhfdCAqKmJ1ZmYpOwordm9pZCAgICAgICAgICAgICAgSEFMX0VUSF9SeExpbmtDYWxsYmFjayh2b2lkICoqcFN0YXJ0LCB2b2lkICoqcEVuZCwgdWludDhfdCAqYnVmZiwgdWludDE2X3QgTGVuZ3RoKTsKK3ZvaWQgICAgICAgICAgICAgIEhBTF9FVEhfVHhGcmVlQ2FsbGJhY2sodWludDMyX3QgKmJ1ZmYpOwordm9pZCAgICAgICAgICAgICAgSEFMX0VUSF9UeFB0cENhbGxiYWNrKHVpbnQzMl90ICpidWZmLCBFVEhfVGltZVN0YW1wVHlwZURlZiAqdGltZXN0YW1wKTsKIC8qKgogICAqIEB9CiAgICovCiAKLS8qIFBlcmlwaGVyYWwgQ29udHJvbCBmdW5jdGlvbnMgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi0KIC8qKiBAYWRkdG9ncm91cCBFVEhfRXhwb3J0ZWRfRnVuY3Rpb25zX0dyb3VwMwogICAqIEB7CiAgICovCisvKiBQZXJpcGhlcmFsIENvbnRyb2wgZnVuY3Rpb25zICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyogTUFDICYgRE1BIENvbmZpZ3VyYXRpb24gQVBJcyAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK0hBTF9TdGF0dXNUeXBlRGVmIEhBTF9FVEhfR2V0TUFDQ29uZmlnKEVUSF9IYW5kbGVUeXBlRGVmICpoZXRoLCBFVEhfTUFDQ29uZmlnVHlwZURlZiAqbWFjY29uZik7CitIQUxfU3RhdHVzVHlwZURlZiBIQUxfRVRIX0dldERNQUNvbmZpZyhFVEhfSGFuZGxlVHlwZURlZiAqaGV0aCwgRVRIX0RNQUNvbmZpZ1R5cGVEZWYgKmRtYWNvbmYpOworSEFMX1N0YXR1c1R5cGVEZWYgSEFMX0VUSF9TZXRNQUNDb25maWcoRVRIX0hhbmRsZVR5cGVEZWYgKmhldGgsIEVUSF9NQUNDb25maWdUeXBlRGVmICptYWNjb25mKTsKK0hBTF9TdGF0dXNUeXBlRGVmIEhBTF9FVEhfU2V0RE1BQ29uZmlnKEVUSF9IYW5kbGVUeXBlRGVmICpoZXRoLCBFVEhfRE1BQ29uZmlnVHlwZURlZiAqZG1hY29uZik7Cit2b2lkICAgICAgICAgICAgICBIQUxfRVRIX1NldE1ESU9DbG9ja1JhbmdlKEVUSF9IYW5kbGVUeXBlRGVmICpoZXRoKTsKIAotSEFMX1N0YXR1c1R5cGVEZWYgSEFMX0VUSF9TdGFydChFVEhfSGFuZGxlVHlwZURlZiAqaGV0aCk7Ci1IQUxfU3RhdHVzVHlwZURlZiBIQUxfRVRIX1N0b3AoRVRIX0hhbmRsZVR5cGVEZWYgKmhldGgpOwotSEFMX1N0YXR1c1R5cGVEZWYgSEFMX0VUSF9Db25maWdNQUMoRVRIX0hhbmRsZVR5cGVEZWYgKmhldGgsIEVUSF9NQUNJbml0VHlwZURlZiAqbWFjY29uZik7Ci1IQUxfU3RhdHVzVHlwZURlZiBIQUxfRVRIX0NvbmZpZ0RNQShFVEhfSGFuZGxlVHlwZURlZiAqaGV0aCwgRVRIX0RNQUluaXRUeXBlRGVmICpkbWFjb25mKTsKKy8qIE1BQyBWTEFOIFByb2Nlc3NpbmcgQVBJcyAgICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCit2b2lkICAgICAgICAgICAgICBIQUxfRVRIX1NldFJ4VkxBTklkZW50aWZpZXIoRVRIX0hhbmRsZVR5cGVEZWYgKmhldGgsIHVpbnQzMl90IENvbXBhcmlzb25CaXRzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IFZMQU5JZGVudGlmaWVyKTsKKworLyogTUFDIEwyIFBhY2tldCBGaWx0ZXJpbmcgQVBJcyAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK0hBTF9TdGF0dXNUeXBlRGVmIEhBTF9FVEhfR2V0TUFDRmlsdGVyQ29uZmlnKEVUSF9IYW5kbGVUeXBlRGVmICpoZXRoLCBFVEhfTUFDRmlsdGVyQ29uZmlnVHlwZURlZiAqcEZpbHRlckNvbmZpZyk7CitIQUxfU3RhdHVzVHlwZURlZiBIQUxfRVRIX1NldE1BQ0ZpbHRlckNvbmZpZyhFVEhfSGFuZGxlVHlwZURlZiAqaGV0aCwgRVRIX01BQ0ZpbHRlckNvbmZpZ1R5cGVEZWYgKnBGaWx0ZXJDb25maWcpOworSEFMX1N0YXR1c1R5cGVEZWYgSEFMX0VUSF9TZXRIYXNoVGFibGUoRVRIX0hhbmRsZVR5cGVEZWYgKmhldGgsIHVpbnQzMl90ICpwSGFzaFRhYmxlKTsKK0hBTF9TdGF0dXNUeXBlRGVmIEhBTF9FVEhfU2V0U291cmNlTUFDQWRkck1hdGNoKEVUSF9IYW5kbGVUeXBlRGVmICpoZXRoLCB1aW50MzJfdCBBZGRyTmJyLCB1aW50OF90ICpwTUFDQWRkcik7CisKKy8qIE1BQyBQb3dlciBEb3duIEFQSXMgICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCit2b2lkICAgICAgICAgICAgICBIQUxfRVRIX0VudGVyUG93ZXJEb3duTW9kZShFVEhfSGFuZGxlVHlwZURlZiAqaGV0aCwgRVRIX1Bvd2VyRG93bkNvbmZpZ1R5cGVEZWYgKnBQb3dlckRvd25Db25maWcpOwordm9pZCAgICAgICAgICAgICAgSEFMX0VUSF9FeGl0UG93ZXJEb3duTW9kZShFVEhfSGFuZGxlVHlwZURlZiAqaGV0aCk7CitIQUxfU3RhdHVzVHlwZURlZiBIQUxfRVRIX1NldFdha2VVcEZpbHRlcihFVEhfSGFuZGxlVHlwZURlZiAqaGV0aCwgdWludDMyX3QgKnBGaWx0ZXIsIHVpbnQzMl90IENvdW50KTsKKwogLyoqCiAgICogQH0KLSAgKi8gCi0KLS8qIFBlcmlwaGVyYWwgU3RhdGUgZnVuY3Rpb25zICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisgICovCiAKIC8qKiBAYWRkdG9ncm91cCBFVEhfRXhwb3J0ZWRfRnVuY3Rpb25zX0dyb3VwNAogICAqIEB7CiAgICovCisvKiBQZXJpcGhlcmFsIFN0YXRlIGZ1bmN0aW9ucyAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiBIQUxfRVRIX1N0YXRlVHlwZURlZiBIQUxfRVRIX0dldFN0YXRlKEVUSF9IYW5kbGVUeXBlRGVmICpoZXRoKTsKK3VpbnQzMl90ICAgICAgICAgICAgIEhBTF9FVEhfR2V0RXJyb3IoRVRIX0hhbmRsZVR5cGVEZWYgKmhldGgpOwordWludDMyX3QgICAgICAgICAgICAgSEFMX0VUSF9HZXRETUFFcnJvcihFVEhfSGFuZGxlVHlwZURlZiAqaGV0aCk7Cit1aW50MzJfdCAgICAgICAgICAgICBIQUxfRVRIX0dldE1BQ0Vycm9yKEVUSF9IYW5kbGVUeXBlRGVmICpoZXRoKTsKK3VpbnQzMl90ICAgICAgICAgICAgIEhBTF9FVEhfR2V0TUFDV2FrZVVwU291cmNlKEVUSF9IYW5kbGVUeXBlRGVmICpoZXRoKTsKIC8qKgogICAqIEB9CiAgICovCkBAIC0yMjAwLDE0ICsyMTM2LDEyIEBACiAgICogQH0KICAgKi8KIAotI2VuZGlmIC8qIFNUTTMyRjQwNXh4IHx8IFNUTTMyRjQxNXh4IHx8IFNUTTMyRjQwN3h4IHx8IFNUTTMyRjQxN3h4IHx8IFNUTTMyRjQyN3h4IHx8XAotICAgICAgICAgIFNUTTMyRjQzN3h4IHx8IFNUTTMyRjQyOXh4IHx8IFNUTTMyRjQzOXh4IHx8IFNUTTMyRjQ2OXh4IHx8IFNUTTMyRjQ3OXh4ICovCi0gIAorI2VuZGlmIC8qIEVUSCAqLworCiAjaWZkZWYgX19jcGx1c3BsdXMKIH0KICNlbmRpZgogCi0jZW5kaWYgLyogX19TVE0zMkY0eHhfSEFMX0VUSF9IICovCisjZW5kaWYgLyogU1RNMzJGNHh4X0hBTF9FVEhfSCAqLwogCiAKLS8qKioqKioqKioqKioqKioqKioqKioqKiogKEMpIENPUFlSSUdIVCBTVE1pY3JvZWxlY3Ryb25pY3MgKioqKipFTkQgT0YgRklMRSoqKiovCmRpZmYgLS1naXQgYS9JbmMvc3RtMzJmNHh4X2hhbF9leHRpLmggYi9JbmMvc3RtMzJmNHh4X2hhbF9leHRpLmgKaW5kZXggODU3MDExMi4uYjE4YTIyOCAxMDA2NDQKLS0tIGEvSW5jL3N0bTMyZjR4eF9oYWxfZXh0aS5oCisrKyBiL0luYy9zdG0zMmY0eHhfaGFsX2V4dGkuaApAQCAtNiwxMyArNiwxMiBAQAogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKiBAYXR0ZW50aW9uCiAgICoKLSAgKiA8aDI+PGNlbnRlcj4mY29weTsgQ29weXJpZ2h0IChjKSAyMDE4IFNUTWljcm9lbGVjdHJvbmljcy4KLSAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvY2VudGVyPjwvaDI+CisgICogQ29weXJpZ2h0IChjKSAyMDE4IFNUTWljcm9lbGVjdHJvbmljcy4KKyAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAqCi0gICogVGhpcyBzb2Z0d2FyZSBjb21wb25lbnQgaXMgbGljZW5zZWQgYnkgU1QgdW5kZXIgQlNEIDMtQ2xhdXNlIGxpY2Vuc2UsCi0gICogdGhlICJMaWNlbnNlIjsgWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZQotICAqIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdDoKLSAgKiAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZQorICAqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgdW5kZXIgdGVybXMgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZQorICAqIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvZnR3YXJlIGNvbXBvbmVudC4KKyAgKiBJZiBubyBMSUNFTlNFIGZpbGUgY29tZXMgd2l0aCB0aGlzIHNvZnR3YXJlLCBpdCBpcyBwcm92aWRlZCBBUy1JUy5DbGF1c2UKICAgKgogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKi8KQEAgLTM2NSw0ICszNjQsMyBAQAogCiAjZW5kaWYgLyogU1RNMzJmNHh4X0hBTF9FWFRJX0ggKi8KIAotLyoqKioqKioqKioqKioqKioqKioqKioqKiAoQykgQ09QWVJJR0hUIFNUTWljcm9lbGVjdHJvbmljcyAqKioqKkVORCBPRiBGSUxFKioqKi8KZGlmZiAtLWdpdCBhL0luYy9zdG0zMmY0eHhfaGFsX2ZsYXNoLmggYi9JbmMvc3RtMzJmNHh4X2hhbF9mbGFzaC5oCmluZGV4IGI4MTdmNjMuLjI2ZDc4OWUgMTAwNjQ0Ci0tLSBhL0luYy9zdG0zMmY0eHhfaGFsX2ZsYXNoLmgKKysrIGIvSW5jL3N0bTMyZjR4eF9oYWxfZmxhc2guaApAQCAtNiwxNCArNiwxMiBAQAogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKiBAYXR0ZW50aW9uCiAgICoKLSAgKiA8aDI+PGNlbnRlcj4mY29weTsgQ29weXJpZ2h0IChjKSAyMDE3IFNUTWljcm9lbGVjdHJvbmljcy4KLSAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvY2VudGVyPjwvaDI+CisgICogQ29weXJpZ2h0IChjKSAyMDE3IFNUTWljcm9lbGVjdHJvbmljcy4KKyAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAqCi0gICogVGhpcyBzb2Z0d2FyZSBjb21wb25lbnQgaXMgbGljZW5zZWQgYnkgU1QgdW5kZXIgQlNEIDMtQ2xhdXNlIGxpY2Vuc2UsCi0gICogdGhlICJMaWNlbnNlIjsgWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZQotICAqIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdDoKLSAgKiAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZQotICAqCisgICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciB0ZXJtcyB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGluCisgICogdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc29mdHdhcmUgY29tcG9uZW50LgorICAqIElmIG5vIExJQ0VOU0UgZmlsZSBjb21lcyB3aXRoIHRoaXMgc29mdHdhcmUsIGl0IGlzIHByb3ZpZGVkIEFTLUlTLgogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKi8gCiAKQEAgLTQyNSw0ICs0MjMsMyBAQAogCiAjZW5kaWYgLyogX19TVE0zMkY0eHhfSEFMX0ZMQVNIX0ggKi8KIAotLyoqKioqKioqKioqKioqKioqKioqKioqKiAoQykgQ09QWVJJR0hUIFNUTWljcm9lbGVjdHJvbmljcyAqKioqKkVORCBPRiBGSUxFKioqKi8KZGlmZiAtLWdpdCBhL0luYy9zdG0zMmY0eHhfaGFsX2ZsYXNoX2V4LmggYi9JbmMvc3RtMzJmNHh4X2hhbF9mbGFzaF9leC5oCmluZGV4IDRkYmFkNjcuLjFjZjhjNDUgMTAwNjQ0Ci0tLSBhL0luYy9zdG0zMmY0eHhfaGFsX2ZsYXNoX2V4LmgKKysrIGIvSW5jL3N0bTMyZjR4eF9oYWxfZmxhc2hfZXguaApAQCAtNiwxNCArNiwxMiBAQAogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKiBAYXR0ZW50aW9uCiAgICoKLSAgKiA8aDI+PGNlbnRlcj4mY29weTsgQ29weXJpZ2h0IChjKSAyMDE3IFNUTWljcm9lbGVjdHJvbmljcy4KLSAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvY2VudGVyPjwvaDI+CisgICogQ29weXJpZ2h0IChjKSAyMDE3IFNUTWljcm9lbGVjdHJvbmljcy4KKyAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAqCi0gICogVGhpcyBzb2Z0d2FyZSBjb21wb25lbnQgaXMgbGljZW5zZWQgYnkgU1QgdW5kZXIgQlNEIDMtQ2xhdXNlIGxpY2Vuc2UsCi0gICogdGhlICJMaWNlbnNlIjsgWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZQotICAqIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdDoKLSAgKiAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZQotICAqCisgICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciB0ZXJtcyB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGluCisgICogdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc29mdHdhcmUgY29tcG9uZW50LgorICAqIElmIG5vIExJQ0VOU0UgZmlsZSBjb21lcyB3aXRoIHRoaXMgc29mdHdhcmUsIGl0IGlzIHByb3ZpZGVkIEFTLUlTLgogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKi8gCiAKQEAgLTEwNjMsNCArMTA2MSwzIEBACiAKICNlbmRpZiAvKiBfX1NUTTMyRjR4eF9IQUxfRkxBU0hfRVhfSCAqLwogCi0vKioqKioqKioqKioqKioqKioqKioqKioqIChDKSBDT1BZUklHSFQgU1RNaWNyb2VsZWN0cm9uaWNzICoqKioqRU5EIE9GIEZJTEUqKioqLwpkaWZmIC0tZ2l0IGEvSW5jL3N0bTMyZjR4eF9oYWxfZmxhc2hfcmFtZnVuYy5oIGIvSW5jL3N0bTMyZjR4eF9oYWxfZmxhc2hfcmFtZnVuYy5oCmluZGV4IDlmYWIwYzkuLjA1OTE3ZWMgMTAwNjQ0Ci0tLSBhL0luYy9zdG0zMmY0eHhfaGFsX2ZsYXNoX3JhbWZ1bmMuaAorKysgYi9JbmMvc3RtMzJmNHh4X2hhbF9mbGFzaF9yYW1mdW5jLmgKQEAgLTYsMTQgKzYsMTIgQEAKICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICogQGF0dGVudGlvbgogICAqCi0gICogPGgyPjxjZW50ZXI+JmNvcHk7IENvcHlyaWdodCAoYykgMjAxNyBTVE1pY3JvZWxlY3Ryb25pY3MuCi0gICogQWxsIHJpZ2h0cyByZXNlcnZlZC48L2NlbnRlcj48L2gyPgorICAqIENvcHlyaWdodCAoYykgMjAxNyBTVE1pY3JvZWxlY3Ryb25pY3MuCisgICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgKgotICAqIFRoaXMgc29mdHdhcmUgY29tcG9uZW50IGlzIGxpY2Vuc2VkIGJ5IFNUIHVuZGVyIEJTRCAzLUNsYXVzZSBsaWNlbnNlLAotICAqIHRoZSAiTGljZW5zZSI7IFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUKLSAgKiBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQ6Ci0gICogICAgICAgICAgICAgICAgICAgICAgICBvcGVuc291cmNlLm9yZy9saWNlbnNlcy9CU0QtMy1DbGF1c2UKLSAgKgorICAqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgdW5kZXIgdGVybXMgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBpbgorICAqIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvZnR3YXJlIGNvbXBvbmVudC4KKyAgKiBJZiBubyBMSUNFTlNFIGZpbGUgY29tZXMgd2l0aCB0aGlzIHNvZnR3YXJlLCBpdCBpcyBwcm92aWRlZCBBUy1JUy4KICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICovIAogCkBAIC03Niw0ICs3NCwzIEBACiAKICNlbmRpZiAvKiBfX1NUTTMyRjR4eF9GTEFTSF9SQU1GVU5DX0ggKi8KIAotLyoqKioqKioqKioqKioqKioqKioqKioqKiAoQykgQ09QWVJJR0hUIFNUTWljcm9lbGVjdHJvbmljcyAqKioqKkVORCBPRiBGSUxFKioqKi8KZGlmZiAtLWdpdCBhL0luYy9zdG0zMmY0eHhfaGFsX2ZtcGkyYy5oIGIvSW5jL3N0bTMyZjR4eF9oYWxfZm1waTJjLmgKaW5kZXggYjdmMzcwYS4uNDAwYjkyMyAxMDA2NDQKLS0tIGEvSW5jL3N0bTMyZjR4eF9oYWxfZm1waTJjLmgKKysrIGIvSW5jL3N0bTMyZjR4eF9oYWxfZm1waTJjLmgKQEAgLTYsMTMgKzYsMTIgQEAKICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICogQGF0dGVudGlvbgogICAqCi0gICogPGgyPjxjZW50ZXI+JmNvcHk7IENvcHlyaWdodCAoYykgMjAxNiBTVE1pY3JvZWxlY3Ryb25pY3MuCi0gICogQWxsIHJpZ2h0cyByZXNlcnZlZC48L2NlbnRlcj48L2gyPgorICAqIENvcHlyaWdodCAoYykgMjAxNiBTVE1pY3JvZWxlY3Ryb25pY3MuCisgICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgKgotICAqIFRoaXMgc29mdHdhcmUgY29tcG9uZW50IGlzIGxpY2Vuc2VkIGJ5IFNUIHVuZGVyIEJTRCAzLUNsYXVzZSBsaWNlbnNlLAotICAqIHRoZSAiTGljZW5zZSI7IFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUKLSAgKiBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQ6Ci0gICogICAgICAgICAgICAgICAgICAgICAgICBvcGVuc291cmNlLm9yZy9saWNlbnNlcy9CU0QtMy1DbGF1c2UKKyAgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIHVuZGVyIHRlcm1zIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUKKyAgKiBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb2Z0d2FyZSBjb21wb25lbnQuCisgICogSWYgbm8gTElDRU5TRSBmaWxlIGNvbWVzIHdpdGggdGhpcyBzb2Z0d2FyZSwgaXQgaXMgcHJvdmlkZWQgQVMtSVMuCiAgICoKICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICovCkBAIC0yNzcsNyArMjc2LDcgQEAKIHR5cGVkZWYgIHZvaWQgKCpwRk1QSTJDX0NhbGxiYWNrVHlwZURlZikoRk1QSTJDX0hhbmRsZVR5cGVEZWYgKmhmbXBpMmMpOwogLyohPCBwb2ludGVyIHRvIGFuIEZNUEkyQyBjYWxsYmFjayBmdW5jdGlvbiAqLwogdHlwZWRlZiAgdm9pZCAoKnBGTVBJMkNfQWRkckNhbGxiYWNrVHlwZURlZikoRk1QSTJDX0hhbmRsZVR5cGVEZWYgKmhmbXBpMmMsIHVpbnQ4X3QgVHJhbnNmZXJEaXJlY3Rpb24sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MTZfdCBBZGRyTWF0Y2hDb2RlKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNl90IEFkZHJNYXRjaENvZGUpOwogLyohPCBwb2ludGVyIHRvIGFuIEZNUEkyQyBBZGRyZXNzIE1hdGNoIGNhbGxiYWNrIGZ1bmN0aW9uICovCiAKICNlbmRpZiAvKiBVU0VfSEFMX0ZNUEkyQ19SRUdJU1RFUl9DQUxMQkFDS1MgKi8KQEAgLTYyMSwxMyArNjIwLDEzIEBACiAvKiBJTyBvcGVyYXRpb24gZnVuY3Rpb25zICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwogLyoqKioqKiogQmxvY2tpbmcgbW9kZTogUG9sbGluZyAqLwogSEFMX1N0YXR1c1R5cGVEZWYgSEFMX0ZNUEkyQ19NYXN0ZXJfVHJhbnNtaXQoRk1QSTJDX0hhbmRsZVR5cGVEZWYgKmhmbXBpMmMsIHVpbnQxNl90IERldkFkZHJlc3MsIHVpbnQ4X3QgKnBEYXRhLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDE2X3QgU2l6ZSwgdWludDMyX3QgVGltZW91dCk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MTZfdCBTaXplLCB1aW50MzJfdCBUaW1lb3V0KTsKIEhBTF9TdGF0dXNUeXBlRGVmIEhBTF9GTVBJMkNfTWFzdGVyX1JlY2VpdmUoRk1QSTJDX0hhbmRsZVR5cGVEZWYgKmhmbXBpMmMsIHVpbnQxNl90IERldkFkZHJlc3MsIHVpbnQ4X3QgKnBEYXRhLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MTZfdCBTaXplLCB1aW50MzJfdCBUaW1lb3V0KTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDE2X3QgU2l6ZSwgdWludDMyX3QgVGltZW91dCk7CiBIQUxfU3RhdHVzVHlwZURlZiBIQUxfRk1QSTJDX1NsYXZlX1RyYW5zbWl0KEZNUEkyQ19IYW5kbGVUeXBlRGVmICpoZm1waTJjLCB1aW50OF90ICpwRGF0YSwgdWludDE2X3QgU2l6ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgVGltZW91dCk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IFRpbWVvdXQpOwogSEFMX1N0YXR1c1R5cGVEZWYgSEFMX0ZNUEkyQ19TbGF2ZV9SZWNlaXZlKEZNUEkyQ19IYW5kbGVUeXBlRGVmICpoZm1waTJjLCB1aW50OF90ICpwRGF0YSwgdWludDE2X3QgU2l6ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBUaW1lb3V0KTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBUaW1lb3V0KTsKIEhBTF9TdGF0dXNUeXBlRGVmIEhBTF9GTVBJMkNfTWVtX1dyaXRlKEZNUEkyQ19IYW5kbGVUeXBlRGVmICpoZm1waTJjLCB1aW50MTZfdCBEZXZBZGRyZXNzLCB1aW50MTZfdCBNZW1BZGRyZXNzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDE2X3QgTWVtQWRkU2l6ZSwgdWludDhfdCAqcERhdGEsIHVpbnQxNl90IFNpemUsIHVpbnQzMl90IFRpbWVvdXQpOwogSEFMX1N0YXR1c1R5cGVEZWYgSEFMX0ZNUEkyQ19NZW1fUmVhZChGTVBJMkNfSGFuZGxlVHlwZURlZiAqaGZtcGkyYywgdWludDE2X3QgRGV2QWRkcmVzcywgdWludDE2X3QgTWVtQWRkcmVzcywKQEAgLTc4Myw5ICs3ODIsOSBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGTVBJMkNfQ1IyX1JEX1dSTikpKQogCiAjZGVmaW5lIEZNUEkyQ19HRVRfQUREUl9NQVRDSChfX0hBTkRMRV9fKSAgICAgICAgICAgICgodWludDE2X3QpKCgoX19IQU5ETEVfXyktPkluc3RhbmNlLT5JU1IgJiBGTVBJMkNfSVNSX0FERENPREUpIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID4+IDE2VSkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID4+IDE2VSkpCiAjZGVmaW5lIEZNUEkyQ19HRVRfRElSKF9fSEFORExFX18pICAgICAgICAgICAgICAgICAgICgodWludDhfdCkoKChfX0hBTkRMRV9fKS0+SW5zdGFuY2UtPklTUiAmIEZNUEkyQ19JU1JfRElSKSBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PiAxNlUpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID4+IDE2VSkpCiAjZGVmaW5lIEZNUEkyQ19HRVRfU1RPUF9NT0RFKF9fSEFORExFX18pICAgICAgICAgICAgICgoX19IQU5ETEVfXyktPkluc3RhbmNlLT5DUjIgJiBGTVBJMkNfQ1IyX0FVVE9FTkQpCiAjZGVmaW5lIEZNUEkyQ19HRVRfT1dOX0FERFJFU1MxKF9fSEFORExFX18pICAgICAgICAgICgodWludDE2X3QpKChfX0hBTkRMRV9fKS0+SW5zdGFuY2UtPk9BUjEgJiBGTVBJMkNfT0FSMV9PQTEpKQogI2RlZmluZSBGTVBJMkNfR0VUX09XTl9BRERSRVNTMihfX0hBTkRMRV9fKSAgICAgICAgICAoKHVpbnQxNl90KSgoX19IQU5ETEVfXyktPkluc3RhbmNlLT5PQVIyICYgRk1QSTJDX09BUjJfT0EyKSkKQEAgLTgzNiw1ICs4MzUsMyBAQAogCiAKICNlbmRpZiAvKiBTVE0zMkY0eHhfSEFMX0ZNUEkyQ19IICovCi0KLS8qKioqKioqKioqKioqKioqKioqKioqKiogKEMpIENPUFlSSUdIVCBTVE1pY3JvZWxlY3Ryb25pY3MgKioqKipFTkQgT0YgRklMRSoqKiovCmRpZmYgLS1naXQgYS9JbmMvc3RtMzJmNHh4X2hhbF9mbXBpMmNfZXguaCBiL0luYy9zdG0zMmY0eHhfaGFsX2ZtcGkyY19leC5oCmluZGV4IDZhNWRmMGIuLjhiOTBmNDAgMTAwNjQ0Ci0tLSBhL0luYy9zdG0zMmY0eHhfaGFsX2ZtcGkyY19leC5oCisrKyBiL0luYy9zdG0zMmY0eHhfaGFsX2ZtcGkyY19leC5oCkBAIC02LDEzICs2LDEyIEBACiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqIEBhdHRlbnRpb24KICAgKgotICAqIDxoMj48Y2VudGVyPiZjb3B5OyBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9jZW50ZXI+PC9oMj4KKyAgKiBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgorICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICoKLSAgKiBUaGlzIHNvZnR3YXJlIGNvbXBvbmVudCBpcyBsaWNlbnNlZCBieSBTVCB1bmRlciBCU0QgMy1DbGF1c2UgbGljZW5zZSwKLSAgKiB0aGUgIkxpY2Vuc2UiOyBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlCi0gICogTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0OgotICAqICAgICAgICAgICAgICAgICAgICAgICAgb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvQlNELTMtQ2xhdXNlCisgICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciB0ZXJtcyB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlCisgICogaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc29mdHdhcmUgY29tcG9uZW50LgorICAqIElmIG5vIExJQ0VOU0UgZmlsZSBjb21lcyB3aXRoIHRoaXMgc29mdHdhcmUsIGl0IGlzIHByb3ZpZGVkIEFTLUlTLgogICAqCiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqLwpAQCAtMTQ5LDUgKzE0OCwzIEBACiAjZW5kaWYKIAogI2VuZGlmIC8qIFNUTTMyRjR4eF9IQUxfRk1QSTJDX0VYX0ggKi8KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKiAoQykgQ09QWVJJR0hUIFNUTWljcm9lbGVjdHJvbmljcyAqKioqKkVORCBPRiBGSUxFKioqKi8KZGlmZiAtLWdpdCBhL0luYy9zdG0zMmY0eHhfaGFsX2ZtcHNtYnVzLmggYi9JbmMvc3RtMzJmNHh4X2hhbF9mbXBzbWJ1cy5oCmluZGV4IDlkNWUwMzAuLjZkMWZmNGIgMTAwNjQ0Ci0tLSBhL0luYy9zdG0zMmY0eHhfaGFsX2ZtcHNtYnVzLmgKKysrIGIvSW5jL3N0bTMyZjR4eF9oYWxfZm1wc21idXMuaApAQCAtNiwxMyArNiwxMiBAQAogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKiBAYXR0ZW50aW9uCiAgICoKLSAgKiA8aDI+PGNlbnRlcj4mY29weTsgQ29weXJpZ2h0IChjKSAyMDE2IFNUTWljcm9lbGVjdHJvbmljcy4KLSAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvY2VudGVyPjwvaDI+CisgICogQ29weXJpZ2h0IChjKSAyMDE2IFNUTWljcm9lbGVjdHJvbmljcy4KKyAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAqCi0gICogVGhpcyBzb2Z0d2FyZSBjb21wb25lbnQgaXMgbGljZW5zZWQgYnkgU1QgdW5kZXIgQlNEIDMtQ2xhdXNlIGxpY2Vuc2UsCi0gICogdGhlICJMaWNlbnNlIjsgWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZQotICAqIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdDoKLSAgKiAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZQorICAqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgdW5kZXIgdGVybXMgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZQorICAqIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvZnR3YXJlIGNvbXBvbmVudC4KKyAgKiBJZiBubyBMSUNFTlNFIGZpbGUgY29tZXMgd2l0aCB0aGlzIHNvZnR3YXJlLCBpdCBpcyBwcm92aWRlZCBBUy1JUy4KICAgKgogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKi8KQEAgLTM3Myw5ICszNzIsOSBAQAogI2RlZmluZSBGTVBTTUJVU19JVF9SWEkgICAgICAgICAgICAgICAgICAgICAgICAgICAgRk1QSTJDX0NSMV9SWElFCiAjZGVmaW5lIEZNUFNNQlVTX0lUX1RYSSAgICAgICAgICAgICAgICAgICAgICAgICAgICBGTVBJMkNfQ1IxX1RYSUUKICNkZWZpbmUgRk1QU01CVVNfSVRfVFggICAgICAgICAgICAgICAgICAgICAgICAgICAgIChGTVBTTUJVU19JVF9FUlJJIHwgRk1QU01CVVNfSVRfVENJIHwgRk1QU01CVVNfSVRfU1RPUEkgfCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGTVBTTUJVU19JVF9OQUNLSSB8IEZNUFNNQlVTX0lUX1RYSSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGTVBTTUJVU19JVF9OQUNLSSB8IEZNUFNNQlVTX0lUX1RYSSkKICNkZWZpbmUgRk1QU01CVVNfSVRfUlggICAgICAgICAgICAgICAgICAgICAgICAgICAgIChGTVBTTUJVU19JVF9FUlJJIHwgRk1QU01CVVNfSVRfVENJIHwgRk1QU01CVVNfSVRfTkFDS0kgfCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGTVBTTUJVU19JVF9SWEkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRk1QU01CVVNfSVRfUlhJKQogI2RlZmluZSBGTVBTTUJVU19JVF9BTEVSVCAgICAgICAgICAgICAgICAgICAgICAgICAgKEZNUFNNQlVTX0lUX0VSUkkpCiAjZGVmaW5lIEZNUFNNQlVTX0lUX0FERFIgICAgICAgICAgICAgICAgICAgICAgICAgICAoRk1QU01CVVNfSVRfQUREUkkgfCBGTVBTTUJVU19JVF9TVE9QSSB8IEZNUFNNQlVTX0lUX05BQ0tJKQogLyoqCkBAIC02MjMsMTEgKzYyMiwxMSBAQAogCiAjZGVmaW5lIEZNUFNNQlVTX1JFU0VUX0NSMShfX0hBTkRMRV9fKSAgICAgICAgICAgICAgICAgICAgKChfX0hBTkRMRV9fKS0+SW5zdGFuY2UtPkNSMSAmPSBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh1aW50MzJfdCl+KCh1aW50MzJfdCkoRk1QSTJDX0NSMV9TTUJIRU4gfCBGTVBJMkNfQ1IxX1NNQkRFTiB8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRk1QSTJDX0NSMV9QRUNFTikpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZNUEkyQ19DUjFfUEVDRU4pKSkKICNkZWZpbmUgRk1QU01CVVNfUkVTRVRfQ1IyKF9fSEFORExFX18pICAgICAgICAgICAgICAgICAgICAoKF9fSEFORExFX18pLT5JbnN0YW5jZS0+Q1IyICY9IFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHVpbnQzMl90KX4oKHVpbnQzMl90KShGTVBJMkNfQ1IyX1NBREQgfCBGTVBJMkNfQ1IyX0hFQUQxMFIgfCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZNUEkyQ19DUjJfTkJZVEVTIHwgRk1QSTJDX0NSMl9SRUxPQUQgfCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZNUEkyQ19DUjJfUkRfV1JOKSkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRk1QSTJDX0NSMl9OQllURVMgfCBGTVBJMkNfQ1IyX1JFTE9BRCB8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGTVBJMkNfQ1IyX1JEX1dSTikpKQogCiAjZGVmaW5lIEZNUFNNQlVTX0dFTkVSQVRFX1NUQVJUKF9fQURETU9ERV9fLF9fQUREUkVTU19fKSAgICAgKCgoX19BRERNT0RFX18pID09IEZNUFNNQlVTX0FERFJFU1NJTkdNT0RFXzdCSVQpID8gXAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodWludDMyX3QpKCgoKHVpbnQzMl90KShfX0FERFJFU1NfXykgJiAoRk1QSTJDX0NSMl9TQUREKSkgfCBcCkBAIC02NzcsMTMgKzY3NiwxMyBAQAogLyogQ2FsbGJhY2tzIFJlZ2lzdGVyL1VuUmVnaXN0ZXIgZnVuY3Rpb25zICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KICNpZiAoVVNFX0hBTF9GTVBTTUJVU19SRUdJU1RFUl9DQUxMQkFDS1MgPT0gMSkKIEhBTF9TdGF0dXNUeXBlRGVmIEhBTF9GTVBTTUJVU19SZWdpc3RlckNhbGxiYWNrKEZNUFNNQlVTX0hhbmRsZVR5cGVEZWYgKmhmbXBzbWJ1cywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9GTVBTTUJVU19DYWxsYmFja0lEVHlwZURlZiBDYWxsYmFja0lELAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcEZNUFNNQlVTX0NhbGxiYWNrVHlwZURlZiBwQ2FsbGJhY2spOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX0ZNUFNNQlVTX0NhbGxiYWNrSURUeXBlRGVmIENhbGxiYWNrSUQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwRk1QU01CVVNfQ2FsbGJhY2tUeXBlRGVmIHBDYWxsYmFjayk7CiBIQUxfU3RhdHVzVHlwZURlZiBIQUxfRk1QU01CVVNfVW5SZWdpc3RlckNhbGxiYWNrKEZNUFNNQlVTX0hhbmRsZVR5cGVEZWYgKmhmbXBzbWJ1cywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX0ZNUFNNQlVTX0NhbGxiYWNrSURUeXBlRGVmIENhbGxiYWNrSUQpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUxfRk1QU01CVVNfQ2FsbGJhY2tJRFR5cGVEZWYgQ2FsbGJhY2tJRCk7CiAKIEhBTF9TdGF0dXNUeXBlRGVmIEhBTF9GTVBTTUJVU19SZWdpc3RlckFkZHJDYWxsYmFjayhGTVBTTUJVU19IYW5kbGVUeXBlRGVmICpoZm1wc21idXMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcEZNUFNNQlVTX0FkZHJDYWxsYmFja1R5cGVEZWYgcENhbGxiYWNrKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwRk1QU01CVVNfQWRkckNhbGxiYWNrVHlwZURlZiBwQ2FsbGJhY2spOwogSEFMX1N0YXR1c1R5cGVEZWYgSEFMX0ZNUFNNQlVTX1VuUmVnaXN0ZXJBZGRyQ2FsbGJhY2soRk1QU01CVVNfSGFuZGxlVHlwZURlZiAqaGZtcHNtYnVzKTsKICNlbmRpZiAvKiBVU0VfSEFMX0ZNUFNNQlVTX1JFR0lTVEVSX0NBTExCQUNLUyAqLwogLyoqCkBAIC03MTAsOSArNzA5LDkgQEAKICAgKi8KIC8qKioqKioqIE5vbi1CbG9ja2luZyBtb2RlOiBJbnRlcnJ1cHQgKi8KIEhBTF9TdGF0dXNUeXBlRGVmIEhBTF9GTVBTTUJVU19NYXN0ZXJfVHJhbnNtaXRfSVQoRk1QU01CVVNfSGFuZGxlVHlwZURlZiAqaGZtcHNtYnVzLCB1aW50MTZfdCBEZXZBZGRyZXNzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90ICpwRGF0YSwgdWludDE2X3QgU2l6ZSwgdWludDMyX3QgWGZlck9wdGlvbnMpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90ICpwRGF0YSwgdWludDE2X3QgU2l6ZSwgdWludDMyX3QgWGZlck9wdGlvbnMpOwogSEFMX1N0YXR1c1R5cGVEZWYgSEFMX0ZNUFNNQlVTX01hc3Rlcl9SZWNlaXZlX0lUKEZNUFNNQlVTX0hhbmRsZVR5cGVEZWYgKmhmbXBzbWJ1cywgdWludDE2X3QgRGV2QWRkcmVzcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90ICpwRGF0YSwgdWludDE2X3QgU2l6ZSwgdWludDMyX3QgWGZlck9wdGlvbnMpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QgKnBEYXRhLCB1aW50MTZfdCBTaXplLCB1aW50MzJfdCBYZmVyT3B0aW9ucyk7CiBIQUxfU3RhdHVzVHlwZURlZiBIQUxfRk1QU01CVVNfTWFzdGVyX0Fib3J0X0lUKEZNUFNNQlVTX0hhbmRsZVR5cGVEZWYgKmhmbXBzbWJ1cywgdWludDE2X3QgRGV2QWRkcmVzcyk7CiBIQUxfU3RhdHVzVHlwZURlZiBIQUxfRk1QU01CVVNfU2xhdmVfVHJhbnNtaXRfSVQoRk1QU01CVVNfSGFuZGxlVHlwZURlZiAqaGZtcHNtYnVzLCB1aW50OF90ICpwRGF0YSwgdWludDE2X3QgU2l6ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBYZmVyT3B0aW9ucyk7CkBAIC03ODksNSArNzg4LDMgQEAKIAogCiAjZW5kaWYgLyogU1RNMzJGNHh4X0hBTF9GTVBTTUJVU19IICovCi0KLS8qKioqKioqKioqKioqKioqKioqKioqKiogKEMpIENPUFlSSUdIVCBTVE1pY3JvZWxlY3Ryb25pY3MgKioqKipFTkQgT0YgRklMRSoqKiovCmRpZmYgLS1naXQgYS9JbmMvc3RtMzJmNHh4X2hhbF9mbXBzbWJ1c19leC5oIGIvSW5jL3N0bTMyZjR4eF9oYWxfZm1wc21idXNfZXguaAppbmRleCBkNTQzOWU3Li4wMDFkYzU0IDEwMDY0NAotLS0gYS9JbmMvc3RtMzJmNHh4X2hhbF9mbXBzbWJ1c19leC5oCisrKyBiL0luYy9zdG0zMmY0eHhfaGFsX2ZtcHNtYnVzX2V4LmgKQEAgLTYsMTMgKzYsMTIgQEAKICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICogQGF0dGVudGlvbgogICAqCi0gICogPGgyPjxjZW50ZXI+JmNvcHk7IENvcHlyaWdodCAoYykgMjAxNiBTVE1pY3JvZWxlY3Ryb25pY3MuCi0gICogQWxsIHJpZ2h0cyByZXNlcnZlZC48L2NlbnRlcj48L2gyPgorICAqIENvcHlyaWdodCAoYykgMjAxNiBTVE1pY3JvZWxlY3Ryb25pY3MuCisgICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgKgotICAqIFRoaXMgc29mdHdhcmUgY29tcG9uZW50IGlzIGxpY2Vuc2VkIGJ5IFNUIHVuZGVyIEJTRCAzLUNsYXVzZSBsaWNlbnNlLAotICAqIHRoZSAiTGljZW5zZSI7IFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUKLSAgKiBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQ6Ci0gICogICAgICAgICAgICAgICAgICAgICAgICBvcGVuc291cmNlLm9yZy9saWNlbnNlcy9CU0QtMy1DbGF1c2UKKyAgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIHVuZGVyIHRlcm1zIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUKKyAgKiBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb2Z0d2FyZSBjb21wb25lbnQuCisgICogSWYgbm8gTElDRU5TRSBmaWxlIGNvbWVzIHdpdGggdGhpcyBzb2Z0d2FyZSwgaXQgaXMgcHJvdmlkZWQgQVMtSVMuCiAgICoKICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICovCkBAIC0xMDUsOSArMTA0LDkgQEAKICAgKiBAewogICAqLwogI2RlZmluZSBJU19GTVBTTUJVU19GQVNUTU9ERVBMVVMoX19DT05GSUdfXykgKCgoKF9fQ09ORklHX18pICYgKEZNUFNNQlVTX0ZBU1RNT0RFUExVU19TQ0wpKSA9PSBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRk1QU01CVVNfRkFTVE1PREVQTFVTX1NDTCkgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGTVBTTUJVU19GQVNUTU9ERVBMVVNfU0NMKSB8fCBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCgoX19DT05GSUdfXykgJiAoRk1QU01CVVNfRkFTVE1PREVQTFVTX1NEQSkpID09IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGTVBTTUJVU19GQVNUTU9ERVBMVVNfU0RBKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRk1QU01CVVNfRkFTVE1PREVQTFVTX1NEQSkpCiAvKioKICAgKiBAfQogICAqLwpAQCAtMTM1LDUgKzEzNCwzIEBACiAjZW5kaWYKIAogI2VuZGlmIC8qIFNUTTMyRjR4eF9IQUxfRk1QU01CVVNfRVhfSCAqLwotCi0vKioqKioqKioqKioqKioqKioqKioqKioqIChDKSBDT1BZUklHSFQgU1RNaWNyb2VsZWN0cm9uaWNzICoqKioqRU5EIE9GIEZJTEUqKioqLwpkaWZmIC0tZ2l0IGEvSW5jL3N0bTMyZjR4eF9oYWxfZ3Bpby5oIGIvSW5jL3N0bTMyZjR4eF9oYWxfZ3Bpby5oCmluZGV4IGNhY2ZkZWUuLjVmM2Q3NDkgMTAwNjQ0Ci0tLSBhL0luYy9zdG0zMmY0eHhfaGFsX2dwaW8uaAorKysgYi9JbmMvc3RtMzJmNHh4X2hhbF9ncGlvLmgKQEAgLTYsMTMgKzYsMTIgQEAKICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICogQGF0dGVudGlvbgogICAqCi0gICogPGgyPjxjZW50ZXI+JmNvcHk7IENvcHlyaWdodCAoYykgMjAxNyBTVE1pY3JvZWxlY3Ryb25pY3MuCi0gICogQWxsIHJpZ2h0cyByZXNlcnZlZC48L2NlbnRlcj48L2gyPgorICAqIENvcHlyaWdodCAoYykgMjAxNyBTVE1pY3JvZWxlY3Ryb25pY3MuCisgICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgKgotICAqIFRoaXMgc29mdHdhcmUgY29tcG9uZW50IGlzIGxpY2Vuc2VkIGJ5IFNUIHVuZGVyIEJTRCAzLUNsYXVzZSBsaWNlbnNlLAotICAqIHRoZSAiTGljZW5zZSI7IFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUKLSAgKiBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQ6Ci0gICogICAgICAgICAgICAgICAgICAgICAgICBvcGVuc291cmNlLm9yZy9saWNlbnNlcy9CU0QtMy1DbGF1c2UKKyAgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIHVuZGVyIHRlcm1zIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUKKyAgKiBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb2Z0d2FyZSBjb21wb25lbnQuCisgICogSWYgbm8gTElDRU5TRSBmaWxlIGNvbWVzIHdpdGggdGhpcyBzb2Z0d2FyZSwgaXQgaXMgcHJvdmlkZWQgQVMtSVMuCiAgICoKICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICovIApAQCAtMzI0LDQgKzMyMywzIEBACiAKICNlbmRpZiAvKiBfX1NUTTMyRjR4eF9IQUxfR1BJT19IICovCiAKLS8qKioqKioqKioqKioqKioqKioqKioqKiogKEMpIENPUFlSSUdIVCBTVE1pY3JvZWxlY3Ryb25pY3MgKioqKipFTkQgT0YgRklMRSoqKiovCmRpZmYgLS1naXQgYS9JbmMvc3RtMzJmNHh4X2hhbF9ncGlvX2V4LmggYi9JbmMvc3RtMzJmNHh4X2hhbF9ncGlvX2V4LmgKaW5kZXggN2RiMzZjYy4uNWUwYjdjYyAxMDA2NDQKLS0tIGEvSW5jL3N0bTMyZjR4eF9oYWxfZ3Bpb19leC5oCisrKyBiL0luYy9zdG0zMmY0eHhfaGFsX2dwaW9fZXguaApAQCAtNiwxMyArNiwxMiBAQAogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKiBAYXR0ZW50aW9uCiAgICoKLSAgKiA8aDI+PGNlbnRlcj4mY29weTsgQ29weXJpZ2h0IChjKSAyMDE3IFNUTWljcm9lbGVjdHJvbmljcy4KLSAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvY2VudGVyPjwvaDI+CisgICogQ29weXJpZ2h0IChjKSAyMDE3IFNUTWljcm9lbGVjdHJvbmljcy4KKyAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAqCi0gICogVGhpcyBzb2Z0d2FyZSBjb21wb25lbnQgaXMgbGljZW5zZWQgYnkgU1QgdW5kZXIgQlNEIDMtQ2xhdXNlIGxpY2Vuc2UsCi0gICogdGhlICJMaWNlbnNlIjsgWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZQotICAqIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdDoKLSAgKiAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZQorICAqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgdW5kZXIgdGVybXMgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZQorICAqIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvZnR3YXJlIGNvbXBvbmVudC4KKyAgKiBJZiBubyBMSUNFTlNFIGZpbGUgY29tZXMgd2l0aCB0aGlzIHNvZnR3YXJlLCBpdCBpcyBwcm92aWRlZCBBUy1JUy4KICAgKgogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKi8gCkBAIC0xNTg5LDQgKzE1ODgsMyBAQAogCiAjZW5kaWYgLyogX19TVE0zMkY0eHhfSEFMX0dQSU9fRVhfSCAqLwogCi0vKioqKioqKioqKioqKioqKioqKioqKioqIChDKSBDT1BZUklHSFQgU1RNaWNyb2VsZWN0cm9uaWNzICoqKioqRU5EIE9GIEZJTEUqKioqLwpkaWZmIC0tZ2l0IGEvSW5jL3N0bTMyZjR4eF9oYWxfaGFzaC5oIGIvSW5jL3N0bTMyZjR4eF9oYWxfaGFzaC5oCmluZGV4IDNiNzMyODIuLjlhOTNmYmIgMTAwNjQ0Ci0tLSBhL0luYy9zdG0zMmY0eHhfaGFsX2hhc2guaAorKysgYi9JbmMvc3RtMzJmNHh4X2hhbF9oYXNoLmgKQEAgLTYsMTMgKzYsMTIgQEAKICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICogQGF0dGVudGlvbgogICAqCi0gICogPGgyPjxjZW50ZXI+JmNvcHk7IENvcHlyaWdodCAoYykgMjAxNiBTVE1pY3JvZWxlY3Ryb25pY3MuCi0gICogQWxsIHJpZ2h0cyByZXNlcnZlZC48L2NlbnRlcj48L2gyPgorICAqIENvcHlyaWdodCAoYykgMjAxNiBTVE1pY3JvZWxlY3Ryb25pY3MuCisgICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgKgotICAqIFRoaXMgc29mdHdhcmUgY29tcG9uZW50IGlzIGxpY2Vuc2VkIGJ5IFNUIHVuZGVyIEJTRCAzLUNsYXVzZSBsaWNlbnNlLAotICAqIHRoZSAiTGljZW5zZSI7IFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUKLSAgKiBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQ6Ci0gICogICAgICAgICAgICAgICAgICAgICAgICBvcGVuc291cmNlLm9yZy9saWNlbnNlcy9CU0QtMy1DbGF1c2UKKyAgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIHVuZGVyIHRlcm1zIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUKKyAgKiBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb2Z0d2FyZSBjb21wb25lbnQuCisgICogSWYgbm8gTElDRU5TRSBmaWxlIGNvbWVzIHdpdGggdGhpcyBzb2Z0d2FyZSwgaXQgaXMgcHJvdmlkZWQgQVMtSVMuCiAgICoKICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICovCkBAIC02MzMsNCArNjMyLDMgQEAKIAogI2VuZGlmIC8qIFNUTTMyRjR4eF9IQUxfSEFTSF9IICovCiAKLS8qKioqKioqKioqKioqKioqKioqKioqKiogKEMpIENPUFlSSUdIVCBTVE1pY3JvZWxlY3Ryb25pY3MgKioqKipFTkQgT0YgRklMRSoqKiovCmRpZmYgLS1naXQgYS9JbmMvc3RtMzJmNHh4X2hhbF9oYXNoX2V4LmggYi9JbmMvc3RtMzJmNHh4X2hhbF9oYXNoX2V4LmgKaW5kZXggMGE5ODQ0Yy4uOTFlNjVkYyAxMDA2NDQKLS0tIGEvSW5jL3N0bTMyZjR4eF9oYWxfaGFzaF9leC5oCisrKyBiL0luYy9zdG0zMmY0eHhfaGFsX2hhc2hfZXguaApAQCAtNiwxMyArNiwxMiBAQAogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKiBAYXR0ZW50aW9uCiAgICoKLSAgKiA8aDI+PGNlbnRlcj4mY29weTsgQ29weXJpZ2h0IChjKSAyMDE2IFNUTWljcm9lbGVjdHJvbmljcy4KLSAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvY2VudGVyPjwvaDI+CisgICogQ29weXJpZ2h0IChjKSAyMDE2IFNUTWljcm9lbGVjdHJvbmljcy4KKyAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAqCi0gICogVGhpcyBzb2Z0d2FyZSBjb21wb25lbnQgaXMgbGljZW5zZWQgYnkgU1QgdW5kZXIgQlNEIDMtQ2xhdXNlIGxpY2Vuc2UsCi0gICogdGhlICJMaWNlbnNlIjsgWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZQotICAqIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdDoKLSAgKiAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZQorICAqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgdW5kZXIgdGVybXMgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZQorICAqIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvZnR3YXJlIGNvbXBvbmVudC4KKyAgKiBJZiBubyBMSUNFTlNFIGZpbGUgY29tZXMgd2l0aCB0aGlzIHNvZnR3YXJlLCBpdCBpcyBwcm92aWRlZCBBUy1JUy4KICAgKgogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKi8KQEAgLTE3NCw0ICsxNzMsMyBAQAogCiAjZW5kaWYgLyogU1RNMzJGNHh4X0hBTF9IQVNIX0VYX0ggKi8KIAotLyoqKioqKioqKioqKioqKioqKioqKioqKiAoQykgQ09QWVJJR0hUIFNUTWljcm9lbGVjdHJvbmljcyAqKioqKkVORCBPRiBGSUxFKioqKi8KZGlmZiAtLWdpdCBhL0luYy9zdG0zMmY0eHhfaGFsX2hjZC5oIGIvSW5jL3N0bTMyZjR4eF9oYWxfaGNkLmgKaW5kZXggNjAyNWUwMy4uOWNkMTQ4NiAxMDA2NDQKLS0tIGEvSW5jL3N0bTMyZjR4eF9oYWxfaGNkLmgKKysrIGIvSW5jL3N0bTMyZjR4eF9oYWxfaGNkLmgKQEAgLTYsMTMgKzYsMTIgQEAKICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICogQGF0dGVudGlvbgogICAqCi0gICogPGgyPjxjZW50ZXI+JmNvcHk7IENvcHlyaWdodCAoYykgMjAxNiBTVE1pY3JvZWxlY3Ryb25pY3MuCi0gICogQWxsIHJpZ2h0cyByZXNlcnZlZC48L2NlbnRlcj48L2gyPgorICAqIENvcHlyaWdodCAoYykgMjAxNiBTVE1pY3JvZWxlY3Ryb25pY3MuCisgICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgKgotICAqIFRoaXMgc29mdHdhcmUgY29tcG9uZW50IGlzIGxpY2Vuc2VkIGJ5IFNUIHVuZGVyIEJTRCAzLUNsYXVzZSBsaWNlbnNlLAotICAqIHRoZSAiTGljZW5zZSI7IFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUKLSAgKiBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQ6Ci0gICogICAgICAgICAgICAgICAgICAgICAgICBvcGVuc291cmNlLm9yZy9saWNlbnNlcy9CU0QtMy1DbGF1c2UKKyAgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIHVuZGVyIHRlcm1zIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUKKyAgKiBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb2Z0d2FyZSBjb21wb25lbnQuCisgICogSWYgbm8gTElDRU5TRSBmaWxlIGNvbWVzIHdpdGggdGhpcyBzb2Z0d2FyZSwgaXQgaXMgcHJvdmlkZWQgQVMtSVMuCiAgICoKICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICovCkBAIC0zMTUsNSArMzE0LDMgQEAKICNlbmRpZgogCiAjZW5kaWYgLyogU1RNMzJGNHh4X0hBTF9IQ0RfSCAqLwotCi0vKioqKioqKioqKioqKioqKioqKioqKioqIChDKSBDT1BZUklHSFQgU1RNaWNyb2VsZWN0cm9uaWNzICoqKioqRU5EIE9GIEZJTEUqKioqLwpkaWZmIC0tZ2l0IGEvSW5jL3N0bTMyZjR4eF9oYWxfaTJjLmggYi9JbmMvc3RtMzJmNHh4X2hhbF9pMmMuaAppbmRleCA5YTYyMmI4Li45YTdhNjdlIDEwMDY0NAotLS0gYS9JbmMvc3RtMzJmNHh4X2hhbF9pMmMuaAorKysgYi9JbmMvc3RtMzJmNHh4X2hhbF9pMmMuaApAQCAtNiwxMyArNiwxMiBAQAogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKiBAYXR0ZW50aW9uCiAgICoKLSAgKiA8aDI+PGNlbnRlcj4mY29weTsgQ29weXJpZ2h0IChjKSAyMDE2IFNUTWljcm9lbGVjdHJvbmljcy4KLSAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvY2VudGVyPjwvaDI+CisgICogQ29weXJpZ2h0IChjKSAyMDE2IFNUTWljcm9lbGVjdHJvbmljcy4KKyAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAqCi0gICogVGhpcyBzb2Z0d2FyZSBjb21wb25lbnQgaXMgbGljZW5zZWQgYnkgU1QgdW5kZXIgQlNEIDMtQ2xhdXNlIGxpY2Vuc2UsCi0gICogdGhlICJMaWNlbnNlIjsgWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZQotICAqIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdDoKLSAgKiAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZQorICAqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgdW5kZXIgdGVybXMgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZQorICAqIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvZnR3YXJlIGNvbXBvbmVudC4KKyAgKiBJZiBubyBMSUNFTlNFIGZpbGUgY29tZXMgd2l0aCB0aGlzIHNvZnR3YXJlLCBpdCBpcyBwcm92aWRlZCBBUy1JUy4KICAgKgogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKi8KQEAgLTc0MCw0ICs3MzksMyBAQAogCiAjZW5kaWYgLyogX19TVE0zMkY0eHhfSEFMX0kyQ19IICovCiAKLS8qKioqKioqKioqKioqKioqKioqKioqKiogKEMpIENPUFlSSUdIVCBTVE1pY3JvZWxlY3Ryb25pY3MgKioqKipFTkQgT0YgRklMRSoqKiovCmRpZmYgLS1naXQgYS9JbmMvc3RtMzJmNHh4X2hhbF9pMmNfZXguaCBiL0luYy9zdG0zMmY0eHhfaGFsX2kyY19leC5oCmluZGV4IDY4NjRkODMuLjMxYWQ5OWMgMTAwNjQ0Ci0tLSBhL0luYy9zdG0zMmY0eHhfaGFsX2kyY19leC5oCisrKyBiL0luYy9zdG0zMmY0eHhfaGFsX2kyY19leC5oCkBAIC02LDEzICs2LDEyIEBACiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqIEBhdHRlbnRpb24KICAgKgotICAqIDxoMj48Y2VudGVyPiZjb3B5OyBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9jZW50ZXI+PC9oMj4KKyAgKiBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgorICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICoKLSAgKiBUaGlzIHNvZnR3YXJlIGNvbXBvbmVudCBpcyBsaWNlbnNlZCBieSBTVCB1bmRlciBCU0QgMy1DbGF1c2UgbGljZW5zZSwKLSAgKiB0aGUgIkxpY2Vuc2UiOyBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlCi0gICogTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0OgotICAqICAgICAgICAgICAgICAgICAgICAgICAgb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvQlNELTMtQ2xhdXNlCisgICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciB0ZXJtcyB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlCisgICogaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc29mdHdhcmUgY29tcG9uZW50LgorICAqIElmIG5vIExJQ0VOU0UgZmlsZSBjb21lcyB3aXRoIHRoaXMgc29mdHdhcmUsIGl0IGlzIHByb3ZpZGVkIEFTLUlTLgogICAqCiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqLwpAQCAtMTE0LDQgKzExMywzIEBACiAjZW5kaWYgLyogX19TVE0zMkY0eHhfSEFMX0kyQ19FWF9IICovCiAKIAotLyoqKioqKioqKioqKioqKioqKioqKioqKiAoQykgQ09QWVJJR0hUIFNUTWljcm9lbGVjdHJvbmljcyAqKioqKkVORCBPRiBGSUxFKioqKi8KZGlmZiAtLWdpdCBhL0luYy9zdG0zMmY0eHhfaGFsX2kycy5oIGIvSW5jL3N0bTMyZjR4eF9oYWxfaTJzLmgKaW5kZXggMWU5Njc2Zi4uNjZjZWUwMSAxMDA2NDQKLS0tIGEvSW5jL3N0bTMyZjR4eF9oYWxfaTJzLmgKKysrIGIvSW5jL3N0bTMyZjR4eF9oYWxfaTJzLmgKQEAgLTYsMTMgKzYsMTIgQEAKICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICogQGF0dGVudGlvbgogICAqCi0gICogPGgyPjxjZW50ZXI+JmNvcHk7IENvcHlyaWdodCAoYykgMjAxNiBTVE1pY3JvZWxlY3Ryb25pY3MuCi0gICogQWxsIHJpZ2h0cyByZXNlcnZlZC48L2NlbnRlcj48L2gyPgorICAqIENvcHlyaWdodCAoYykgMjAxNiBTVE1pY3JvZWxlY3Ryb25pY3MuCisgICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgKgotICAqIFRoaXMgc29mdHdhcmUgY29tcG9uZW50IGlzIGxpY2Vuc2VkIGJ5IFNUIHVuZGVyIEJTRCAzLUNsYXVzZSBsaWNlbnNlLAotICAqIHRoZSAiTGljZW5zZSI7IFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUKLSAgKiBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQ6Ci0gICogICAgICAgICAgICAgICAgICAgICAgICBvcGVuc291cmNlLm9yZy9saWNlbnNlcy9CU0QtMy1DbGF1c2UKKyAgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIHVuZGVyIHRlcm1zIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUKKyAgKiBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb2Z0d2FyZSBjb21wb25lbnQuCisgICogSWYgbm8gTElDRU5TRSBmaWxlIGNvbWVzIHdpdGggdGhpcyBzb2Z0d2FyZSwgaXQgaXMgcHJvdmlkZWQgQVMtSVMuCiAgICoKICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICovCkBAIC02MTcsNCArNjE2LDMgQEAKIAogI2VuZGlmIC8qIFNUTTMyRjR4eF9IQUxfSTJTX0ggKi8KIAotLyoqKioqKioqKioqKioqKioqKioqKioqKiAoQykgQ09QWVJJR0hUIFNUTWljcm9lbGVjdHJvbmljcyAqKioqKkVORCBPRiBGSUxFKioqKi8KZGlmZiAtLWdpdCBhL0luYy9zdG0zMmY0eHhfaGFsX2kyc19leC5oIGIvSW5jL3N0bTMyZjR4eF9oYWxfaTJzX2V4LmgKaW5kZXggMTAzMzVmNC4uM2FhYTQ1YiAxMDA2NDQKLS0tIGEvSW5jL3N0bTMyZjR4eF9oYWxfaTJzX2V4LmgKKysrIGIvSW5jL3N0bTMyZjR4eF9oYWxfaTJzX2V4LmgKQEAgLTYsMTMgKzYsMTIgQEAKICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICogQGF0dGVudGlvbgogICAqCi0gICogPGgyPjxjZW50ZXI+JmNvcHk7IENvcHlyaWdodCAoYykgMjAxNiBTVE1pY3JvZWxlY3Ryb25pY3MuCi0gICogQWxsIHJpZ2h0cyByZXNlcnZlZC48L2NlbnRlcj48L2gyPgorICAqIENvcHlyaWdodCAoYykgMjAxNiBTVE1pY3JvZWxlY3Ryb25pY3MuCisgICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgKgotICAqIFRoaXMgc29mdHdhcmUgY29tcG9uZW50IGlzIGxpY2Vuc2VkIGJ5IFNUIHVuZGVyIEJTRCAzLUNsYXVzZSBsaWNlbnNlLAotICAqIHRoZSAiTGljZW5zZSI7IFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUKLSAgKiBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQ6Ci0gICogICAgICAgICAgICAgICAgICAgICAgICBvcGVuc291cmNlLm9yZy9saWNlbnNlcy9CU0QtMy1DbGF1c2UKKyAgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIHVuZGVyIHRlcm1zIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUKKyAgKiBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb2Z0d2FyZSBjb21wb25lbnQuCisgICogSWYgbm8gTElDRU5TRSBmaWxlIGNvbWVzIHdpdGggdGhpcyBzb2Z0d2FyZSwgaXQgaXMgcHJvdmlkZWQgQVMtSVMuCiAgICoKICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICovCkBAIC0xODIsNCArMTgxLDMgQEAKIAogI2VuZGlmIC8qIFNUTTMyRjR4eF9IQUxfSTJTX0VYX0ggKi8KIAotLyoqKioqKioqKioqKioqKioqKioqKioqKiAoQykgQ09QWVJJR0hUIFNUTWljcm9lbGVjdHJvbmljcyAqKioqKkVORCBPRiBGSUxFKioqKi8KZGlmZiAtLWdpdCBhL0luYy9zdG0zMmY0eHhfaGFsX2lyZGEuaCBiL0luYy9zdG0zMmY0eHhfaGFsX2lyZGEuaAppbmRleCA0ZDgzYWJjLi4wZDFjNWYxIDEwMDY0NAotLS0gYS9JbmMvc3RtMzJmNHh4X2hhbF9pcmRhLmgKKysrIGIvSW5jL3N0bTMyZjR4eF9oYWxfaXJkYS5oCkBAIC02LDEzICs2LDEyIEBACiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqIEBhdHRlbnRpb24KICAgKgotICAqIDxoMj48Y2VudGVyPiZjb3B5OyBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9jZW50ZXI+PC9oMj4KKyAgKiBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgorICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICoKLSAgKiBUaGlzIHNvZnR3YXJlIGNvbXBvbmVudCBpcyBsaWNlbnNlZCBieSBTVCB1bmRlciBCU0QgMy1DbGF1c2UgbGljZW5zZSwKLSAgKiB0aGUgIkxpY2Vuc2UiOyBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlCi0gICogTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0OgotICAqICAgICAgICAgICAgICAgICAgICAgICAgb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvQlNELTMtQ2xhdXNlCisgICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciB0ZXJtcyB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlCisgICogaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc29mdHdhcmUgY29tcG9uZW50LgorICAqIElmIG5vIExJQ0VOU0UgZmlsZSBjb21lcyB3aXRoIHRoaXMgc29mdHdhcmUsIGl0IGlzIHByb3ZpZGVkIEFTLUlTLgogICAqCiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqLwpAQCAtMTQ1LDcgKzE0NCw3IEBACiAKICAgSVJEQV9Jbml0VHlwZURlZiAgICAgICAgICAgIEluaXQ7ICAgICAgICAgICAgIC8qITwgIElSREEgY29tbXVuaWNhdGlvbiBwYXJhbWV0ZXJzICAgICAgKi8KIAotICB1aW50OF90ICAgICAgICAgICAgICAgICAgICAgKnBUeEJ1ZmZQdHI7ICAgICAgLyohPCAgUG9pbnRlciB0byBJUkRBIFR4IHRyYW5zZmVyIEJ1ZmZlciAqLworICBjb25zdCB1aW50OF90ICAgICAgICAgICAgICAgKnBUeEJ1ZmZQdHI7ICAgICAgLyohPCAgUG9pbnRlciB0byBJUkRBIFR4IHRyYW5zZmVyIEJ1ZmZlciAqLwogCiAgIHVpbnQxNl90ICAgICAgICAgICAgICAgICAgICBUeFhmZXJTaXplOyAgICAgICAvKiE8ICBJUkRBIFR4IFRyYW5zZmVyIHNpemUgICAgICAgICAgICAgICovCiAKQEAgLTU2MCwxMSArNTU5LDExIEBACiAgICogQHsKICAgKi8KIC8qIElPIG9wZXJhdGlvbiBmdW5jdGlvbnMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KLUhBTF9TdGF0dXNUeXBlRGVmIEhBTF9JUkRBX1RyYW5zbWl0KElSREFfSGFuZGxlVHlwZURlZiAqaGlyZGEsIHVpbnQ4X3QgKnBEYXRhLCB1aW50MTZfdCBTaXplLCB1aW50MzJfdCBUaW1lb3V0KTsKK0hBTF9TdGF0dXNUeXBlRGVmIEhBTF9JUkRBX1RyYW5zbWl0KElSREFfSGFuZGxlVHlwZURlZiAqaGlyZGEsIGNvbnN0IHVpbnQ4X3QgKnBEYXRhLCB1aW50MTZfdCBTaXplLCB1aW50MzJfdCBUaW1lb3V0KTsKIEhBTF9TdGF0dXNUeXBlRGVmIEhBTF9JUkRBX1JlY2VpdmUoSVJEQV9IYW5kbGVUeXBlRGVmICpoaXJkYSwgdWludDhfdCAqcERhdGEsIHVpbnQxNl90IFNpemUsIHVpbnQzMl90IFRpbWVvdXQpOwotSEFMX1N0YXR1c1R5cGVEZWYgSEFMX0lSREFfVHJhbnNtaXRfSVQoSVJEQV9IYW5kbGVUeXBlRGVmICpoaXJkYSwgdWludDhfdCAqcERhdGEsIHVpbnQxNl90IFNpemUpOworSEFMX1N0YXR1c1R5cGVEZWYgSEFMX0lSREFfVHJhbnNtaXRfSVQoSVJEQV9IYW5kbGVUeXBlRGVmICpoaXJkYSwgY29uc3QgdWludDhfdCAqcERhdGEsIHVpbnQxNl90IFNpemUpOwogSEFMX1N0YXR1c1R5cGVEZWYgSEFMX0lSREFfUmVjZWl2ZV9JVChJUkRBX0hhbmRsZVR5cGVEZWYgKmhpcmRhLCB1aW50OF90ICpwRGF0YSwgdWludDE2X3QgU2l6ZSk7Ci1IQUxfU3RhdHVzVHlwZURlZiBIQUxfSVJEQV9UcmFuc21pdF9ETUEoSVJEQV9IYW5kbGVUeXBlRGVmICpoaXJkYSwgdWludDhfdCAqcERhdGEsIHVpbnQxNl90IFNpemUpOworSEFMX1N0YXR1c1R5cGVEZWYgSEFMX0lSREFfVHJhbnNtaXRfRE1BKElSREFfSGFuZGxlVHlwZURlZiAqaGlyZGEsIGNvbnN0IHVpbnQ4X3QgKnBEYXRhLCB1aW50MTZfdCBTaXplKTsKIEhBTF9TdGF0dXNUeXBlRGVmIEhBTF9JUkRBX1JlY2VpdmVfRE1BKElSREFfSGFuZGxlVHlwZURlZiAqaGlyZGEsIHVpbnQ4X3QgKnBEYXRhLCB1aW50MTZfdCBTaXplKTsKIEhBTF9TdGF0dXNUeXBlRGVmIEhBTF9JUkRBX0RNQVBhdXNlKElSREFfSGFuZGxlVHlwZURlZiAqaGlyZGEpOwogSEFMX1N0YXR1c1R5cGVEZWYgSEFMX0lSREFfRE1BUmVzdW1lKElSREFfSGFuZGxlVHlwZURlZiAqaGlyZGEpOwpAQCAtNjgxLDQgKzY4MCwzIEBACiAKICNlbmRpZiAvKiBfX1NUTTMyRjR4eF9IQUxfSVJEQV9IICovCiAKLS8qKioqKioqKioqKioqKioqKioqKioqKiogKEMpIENPUFlSSUdIVCBTVE1pY3JvZWxlY3Ryb25pY3MgKioqKipFTkQgT0YgRklMRSoqKiovCmRpZmYgLS1naXQgYS9JbmMvc3RtMzJmNHh4X2hhbF9pd2RnLmggYi9JbmMvc3RtMzJmNHh4X2hhbF9pd2RnLmgKaW5kZXggMzJmNWZmMC4uNTI3MzczMCAxMDA2NDQKLS0tIGEvSW5jL3N0bTMyZjR4eF9oYWxfaXdkZy5oCisrKyBiL0luYy9zdG0zMmY0eHhfaGFsX2l3ZGcuaApAQCAtNiwxMyArNiwxMiBAQAogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKiBAYXR0ZW50aW9uCiAgICoKLSAgKiA8aDI+PGNlbnRlcj4mY29weTsgQ29weXJpZ2h0IChjKSAyMDE2IFNUTWljcm9lbGVjdHJvbmljcy4KLSAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvY2VudGVyPjwvaDI+CisgICogQ29weXJpZ2h0IChjKSAyMDE2IFNUTWljcm9lbGVjdHJvbmljcy4KKyAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAqCi0gICogVGhpcyBzb2Z0d2FyZSBjb21wb25lbnQgaXMgbGljZW5zZWQgYnkgU1QgdW5kZXIgQlNEIDMtQ2xhdXNlIGxpY2Vuc2UsCi0gICogdGhlICJMaWNlbnNlIjsgWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZQotICAqIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdDoKLSAgKiAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZQorICAqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgdW5kZXIgdGVybXMgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZQorICAqIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvZnR3YXJlIGNvbXBvbmVudC4KKyAgKiBJZiBubyBMSUNFTlNFIGZpbGUgY29tZXMgd2l0aCB0aGlzIHNvZnR3YXJlLCBpdCBpcyBwcm92aWRlZCBBUy1JUy4KICAgKgogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKi8KQEAgLTIxOSw1ICsyMTgsMyBAQAogI2VuZGlmCiAKICNlbmRpZiAvKiBTVE0zMkY0eHhfSEFMX0lXREdfSCAqLwotCi0vKioqKioqKioqKioqKioqKioqKioqKioqIChDKSBDT1BZUklHSFQgU1RNaWNyb2VsZWN0cm9uaWNzICoqKioqRU5EIE9GIEZJTEUqKioqLwpkaWZmIC0tZ2l0IGEvSW5jL3N0bTMyZjR4eF9oYWxfbHB0aW0uaCBiL0luYy9zdG0zMmY0eHhfaGFsX2xwdGltLmgKaW5kZXggODBlYTIwMy4uN2E0MWVlOSAxMDA2NDQKLS0tIGEvSW5jL3N0bTMyZjR4eF9oYWxfbHB0aW0uaAorKysgYi9JbmMvc3RtMzJmNHh4X2hhbF9scHRpbS5oCkBAIC02LDEzICs2LDEyIEBACiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqIEBhdHRlbnRpb24KICAgKgotICAqIDxoMj48Y2VudGVyPiZjb3B5OyBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9jZW50ZXI+PC9oMj4KKyAgKiBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgorICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICoKLSAgKiBUaGlzIHNvZnR3YXJlIGNvbXBvbmVudCBpcyBsaWNlbnNlZCBieSBTVCB1bmRlciBCU0QgMy1DbGF1c2UgbGljZW5zZSwKLSAgKiB0aGUgIkxpY2Vuc2UiOyBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlCi0gICogTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0OgotICAqICAgICAgICAgICAgICAgICAgICAgICAgb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvQlNELTMtQ2xhdXNlCisgICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciB0ZXJtcyB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlCisgICogaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc29mdHdhcmUgY29tcG9uZW50LgorICAqIElmIG5vIExJQ0VOU0UgZmlsZSBjb21lcyB3aXRoIHRoaXMgc29mdHdhcmUsIGl0IGlzIHByb3ZpZGVkIEFTLUlTLgogICAqCiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqLwpAQCAtODE5LDExICs4MTgsMTMgQEAKICNkZWZpbmUgSVNfTFBUSU1fQ09VTlRFUl9TT1VSQ0UoX19TT1VSQ0VfXykgICAgICgoKF9fU09VUkNFX18pID09IExQVElNX0NPVU5URVJTT1VSQ0VfSU5URVJOQUwpIHx8IFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fU09VUkNFX18pID09IExQVElNX0NPVU5URVJTT1VSQ0VfRVhURVJOQUwpKQogCi0jZGVmaW5lIElTX0xQVElNX0FVVE9SRUxPQUQoX19BVVRPUkVMT0FEX18pICAgICAoKF9fQVVUT1JFTE9BRF9fKSA8PSAweDAwMDBGRkZGVUwpCisjZGVmaW5lIElTX0xQVElNX0FVVE9SRUxPQUQoX19BVVRPUkVMT0FEX18pICAgICAoKDB4MDAwMDAwMDFVTCA8PSAoX19BVVRPUkVMT0FEX18pKSAmJlwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fQVVUT1JFTE9BRF9fKSA8PSAweDAwMDBGRkZGVUwpKQogCiAjZGVmaW5lIElTX0xQVElNX0NPTVBBUkUoX19DT01QQVJFX18pICAgICAgICAgICAoKF9fQ09NUEFSRV9fKSA8PSAweDAwMDBGRkZGVUwpCiAKLSNkZWZpbmUgSVNfTFBUSU1fUEVSSU9EKF9fUEVSSU9EX18pICAgICAgICAgICAgICgoX19QRVJJT0RfXykgPD0gMHgwMDAwRkZGRlVMKQorI2RlZmluZSBJU19MUFRJTV9QRVJJT0QoX19QRVJJT0RfXykgICAgICAgICAgICAgKCgweDAwMDAwMDAxVUwgPD0gKF9fUEVSSU9EX18pKSAmJlwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fUEVSSU9EX18pIDw9IDB4MDAwMEZGRkZVTCkpCiAKICNkZWZpbmUgSVNfTFBUSU1fUFVMU0UoX19QVUxTRV9fKSAgICAgICAgICAgICAgICgoX19QVUxTRV9fKSA8PSAweDAwMDBGRkZGVUwpCiAKQEAgLTg1NCw1ICs4NTUsMyBAQAogI2VuZGlmCiAKICNlbmRpZiAvKiBTVE0zMkY0eHhfSEFMX0xQVElNX0ggKi8KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKiAoQykgQ09QWVJJR0hUIFNUTWljcm9lbGVjdHJvbmljcyAqKioqKkVORCBPRiBGSUxFKioqKi8KZGlmZiAtLWdpdCBhL0luYy9zdG0zMmY0eHhfaGFsX2x0ZGMuaCBiL0luYy9zdG0zMmY0eHhfaGFsX2x0ZGMuaAppbmRleCAwY2FiODQ0Li5hYjk1MWQzIDEwMDY0NAotLS0gYS9JbmMvc3RtMzJmNHh4X2hhbF9sdGRjLmgKKysrIGIvSW5jL3N0bTMyZjR4eF9oYWxfbHRkYy5oCkBAIC02LDEzICs2LDEyIEBACiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqIEBhdHRlbnRpb24KICAgKgotICAqIDxoMj48Y2VudGVyPiZjb3B5OyBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9jZW50ZXI+PC9oMj4KKyAgKiBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgorICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICoKLSAgKiBUaGlzIHNvZnR3YXJlIGNvbXBvbmVudCBpcyBsaWNlbnNlZCBieSBTVCB1bmRlciBCU0QgMy1DbGF1c2UgbGljZW5zZSwKLSAgKiB0aGUgIkxpY2Vuc2UiOyBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlCi0gICogTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0OgotICAqICAgICAgICAgICAgICAgICAgICAgICAgb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvQlNELTMtQ2xhdXNlCisgICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciB0ZXJtcyB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlCisgICogaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc29mdHdhcmUgY29tcG9uZW50LgorICAqIElmIG5vIExJQ0VOU0UgZmlsZSBjb21lcyB3aXRoIHRoaXMgc29mdHdhcmUsIGl0IGlzIHByb3ZpZGVkIEFTLUlTLgogICAqCiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqLwpAQCAtODAsMjggKzc5LDM2IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgb25lIG9mIHZhbHVlIG9mIEByZWYgTFREQ19QQ19QT0xBUklUWSAqLwogCiAgIHVpbnQzMl90ICAgICAgICAgICAgSG9yaXpvbnRhbFN5bmM7ICAgICAgICAgICAgLyohPCBjb25maWd1cmVzIHRoZSBudW1iZXIgb2YgSG9yaXpvbnRhbCBzeW5jaHJvbml6YXRpb24gd2lkdGguCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBtdXN0IGJlIGEgbnVtYmVyIGJldHdlZW4gTWluX0RhdGEgPSAweDAwMCBhbmQgTWF4X0RhdGEgPSAweEZGRi4gKi8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIG11c3QgYmUgYSBudW1iZXIgYmV0d2VlbgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTWluX0RhdGEgPSAweDAwMCBhbmQgTWF4X0RhdGEgPSAweEZGRi4gKi8KIAogICB1aW50MzJfdCAgICAgICAgICAgIFZlcnRpY2FsU3luYzsgICAgICAgICAgICAgIC8qITwgY29uZmlndXJlcyB0aGUgbnVtYmVyIG9mIFZlcnRpY2FsIHN5bmNocm9uaXphdGlvbiBoZWlnaHQuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBtdXN0IGJlIGEgbnVtYmVyIGJldHdlZW4gTWluX0RhdGEgPSAweDAwMCBhbmQgTWF4X0RhdGEgPSAweDdGRi4gKi8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIG11c3QgYmUgYSBudW1iZXIgYmV0d2VlbgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTWluX0RhdGEgPSAweDAwMCBhbmQgTWF4X0RhdGEgPSAweDdGRi4gKi8KIAogICB1aW50MzJfdCAgICAgICAgICAgIEFjY3VtdWxhdGVkSEJQOyAgICAgICAgICAgIC8qITwgY29uZmlndXJlcyB0aGUgYWNjdW11bGF0ZWQgaG9yaXpvbnRhbCBiYWNrIHBvcmNoIHdpZHRoLgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgbXVzdCBiZSBhIG51bWJlciBiZXR3ZWVuIE1pbl9EYXRhID0gTFREQ19Ib3Jpem9udGFsU3luYyBhbmQgTWF4X0RhdGEgPSAweEZGRi4gKi8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIG11c3QgYmUgYSBudW1iZXIgYmV0d2VlbgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTWluX0RhdGEgPSBMVERDX0hvcml6b250YWxTeW5jIGFuZCBNYXhfRGF0YSA9IDB4RkZGLiAqLwogCiAgIHVpbnQzMl90ICAgICAgICAgICAgQWNjdW11bGF0ZWRWQlA7ICAgICAgICAgICAgLyohPCBjb25maWd1cmVzIHRoZSBhY2N1bXVsYXRlZCB2ZXJ0aWNhbCBiYWNrIHBvcmNoIGhlaWdodC4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIG11c3QgYmUgYSBudW1iZXIgYmV0d2VlbiBNaW5fRGF0YSA9IExURENfVmVydGljYWxTeW5jIGFuZCBNYXhfRGF0YSA9IDB4N0ZGLiAqLworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgbXVzdCBiZSBhIG51bWJlciBiZXR3ZWVuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNaW5fRGF0YSA9IExURENfVmVydGljYWxTeW5jIGFuZCBNYXhfRGF0YSA9IDB4N0ZGLiAqLwogCiAgIHVpbnQzMl90ICAgICAgICAgICAgQWNjdW11bGF0ZWRBY3RpdmVXOyAgICAgICAgLyohPCBjb25maWd1cmVzIHRoZSBhY2N1bXVsYXRlZCBhY3RpdmUgd2lkdGguCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBtdXN0IGJlIGEgbnVtYmVyIGJldHdlZW4gTWluX0RhdGEgPSBMVERDX0FjY3VtdWxhdGVkSEJQIGFuZCBNYXhfRGF0YSA9IDB4RkZGLiAqLworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgbXVzdCBiZSBhIG51bWJlciBiZXR3ZWVuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNaW5fRGF0YSA9IExURENfQWNjdW11bGF0ZWRIQlAgYW5kIE1heF9EYXRhID0gMHhGRkYuICovCiAKICAgdWludDMyX3QgICAgICAgICAgICBBY2N1bXVsYXRlZEFjdGl2ZUg7ICAgICAgICAvKiE8IGNvbmZpZ3VyZXMgdGhlIGFjY3VtdWxhdGVkIGFjdGl2ZSBoZWlnaHQuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBtdXN0IGJlIGEgbnVtYmVyIGJldHdlZW4gTWluX0RhdGEgPSBMVERDX0FjY3VtdWxhdGVkVkJQIGFuZCBNYXhfRGF0YSA9IDB4N0ZGLiAqLworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgbXVzdCBiZSBhIG51bWJlciBiZXR3ZWVuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNaW5fRGF0YSA9IExURENfQWNjdW11bGF0ZWRWQlAgYW5kIE1heF9EYXRhID0gMHg3RkYuICovCiAKICAgdWludDMyX3QgICAgICAgICAgICBUb3RhbFdpZHRoOyAgICAgICAgICAgICAgICAvKiE8IGNvbmZpZ3VyZXMgdGhlIHRvdGFsIHdpZHRoLgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgbXVzdCBiZSBhIG51bWJlciBiZXR3ZWVuIE1pbl9EYXRhID0gTFREQ19BY2N1bXVsYXRlZEFjdGl2ZVcgYW5kIE1heF9EYXRhID0gMHhGRkYuICovCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBtdXN0IGJlIGEgbnVtYmVyIGJldHdlZW4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1pbl9EYXRhID0gTFREQ19BY2N1bXVsYXRlZEFjdGl2ZVcgYW5kIE1heF9EYXRhID0gMHhGRkYuICovCiAKICAgdWludDMyX3QgICAgICAgICAgICBUb3RhbEhlaWdoOyAgICAgICAgICAgICAgICAvKiE8IGNvbmZpZ3VyZXMgdGhlIHRvdGFsIGhlaWdodC4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIG11c3QgYmUgYSBudW1iZXIgYmV0d2VlbiBNaW5fRGF0YSA9IExURENfQWNjdW11bGF0ZWRBY3RpdmVIIGFuZCBNYXhfRGF0YSA9IDB4N0ZGLiAqLworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgbXVzdCBiZSBhIG51bWJlciBiZXR3ZWVuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNaW5fRGF0YSA9IExURENfQWNjdW11bGF0ZWRBY3RpdmVIIGFuZCBNYXhfRGF0YSA9IDB4N0ZGLiAqLwogCiAgIExURENfQ29sb3JUeXBlRGVmICAgQmFja2NvbG9yOyAgICAgICAgICAgICAgICAgLyohPCBDb25maWd1cmVzIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLiAqLwogfSBMVERDX0luaXRUeXBlRGVmOwpAQCAtMTEyLDI1ICsxMTksMzEgQEAKIHR5cGVkZWYgc3RydWN0CiB7CiAgIHVpbnQzMl90IFdpbmRvd1gwOyAgICAgICAgICAgICAgICAgICAvKiE8IENvbmZpZ3VyZXMgdGhlIFdpbmRvdyBIb3Jpem9udGFsIFN0YXJ0IFBvc2l0aW9uLgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBtdXN0IGJlIGEgbnVtYmVyIGJldHdlZW4gTWluX0RhdGEgPSAweDAwMCBhbmQgTWF4X0RhdGEgPSAweEZGRi4gKi8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgbXVzdCBiZSBhIG51bWJlciBiZXR3ZWVuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1pbl9EYXRhID0gMHgwMDAgYW5kIE1heF9EYXRhID0gMHhGRkYuICovCiAKICAgdWludDMyX3QgV2luZG93WDE7ICAgICAgICAgICAgICAgICAgIC8qITwgQ29uZmlndXJlcyB0aGUgV2luZG93IEhvcml6b250YWwgU3RvcCBQb3NpdGlvbi4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgbXVzdCBiZSBhIG51bWJlciBiZXR3ZWVuIE1pbl9EYXRhID0gMHgwMDAgYW5kIE1heF9EYXRhID0gMHhGRkYuICovCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIG11c3QgYmUgYSBudW1iZXIgYmV0d2VlbgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNaW5fRGF0YSA9IDB4MDAwIGFuZCBNYXhfRGF0YSA9IDB4RkZGLiAqLwogCiAgIHVpbnQzMl90IFdpbmRvd1kwOyAgICAgICAgICAgICAgICAgICAvKiE8IENvbmZpZ3VyZXMgdGhlIFdpbmRvdyB2ZXJ0aWNhbCBTdGFydCBQb3NpdGlvbi4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgbXVzdCBiZSBhIG51bWJlciBiZXR3ZWVuIE1pbl9EYXRhID0gMHgwMDAgYW5kIE1heF9EYXRhID0gMHg3RkYuICovCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIG11c3QgYmUgYSBudW1iZXIgYmV0d2VlbgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNaW5fRGF0YSA9IDB4MDAwIGFuZCBNYXhfRGF0YSA9IDB4N0ZGLiAqLwogCiAgIHVpbnQzMl90IFdpbmRvd1kxOyAgICAgICAgICAgICAgICAgICAvKiE8IENvbmZpZ3VyZXMgdGhlIFdpbmRvdyB2ZXJ0aWNhbCBTdG9wIFBvc2l0aW9uLgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBtdXN0IGJlIGEgbnVtYmVyIGJldHdlZW4gTWluX0RhdGEgPSAweDAwMDAgYW5kIE1heF9EYXRhID0gMHg3RkYuICovCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIG11c3QgYmUgYSBudW1iZXIgYmV0d2VlbgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNaW5fRGF0YSA9IDB4MDAwMCBhbmQgTWF4X0RhdGEgPSAweDdGRi4gKi8KIAogICB1aW50MzJfdCBQaXhlbEZvcm1hdDsgICAgICAgICAgICAgICAgLyohPCBTcGVjaWZpZXMgdGhlIHBpeGVsIGZvcm1hdC4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIG9uZSBvZiB2YWx1ZSBvZiBAcmVmIExURENfUGl4ZWxmb3JtYXQgKi8KIAogICB1aW50MzJfdCBBbHBoYTsgICAgICAgICAgICAgICAgICAgICAgLyohPCBTcGVjaWZpZXMgdGhlIGNvbnN0YW50IGFscGhhIHVzZWQgZm9yIGJsZW5kaW5nLgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBtdXN0IGJlIGEgbnVtYmVyIGJldHdlZW4gTWluX0RhdGEgPSAweDAwIGFuZCBNYXhfRGF0YSA9IDB4RkYuICovCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIG11c3QgYmUgYSBudW1iZXIgYmV0d2VlbgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNaW5fRGF0YSA9IDB4MDAgYW5kIE1heF9EYXRhID0gMHhGRi4gKi8KIAogICB1aW50MzJfdCBBbHBoYTA7ICAgICAgICAgICAgICAgICAgICAgLyohPCBDb25maWd1cmVzIHRoZSBkZWZhdWx0IGFscGhhIHZhbHVlLgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBtdXN0IGJlIGEgbnVtYmVyIGJldHdlZW4gTWluX0RhdGEgPSAweDAwIGFuZCBNYXhfRGF0YSA9IDB4RkYuICovCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIG11c3QgYmUgYSBudW1iZXIgYmV0d2VlbgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNaW5fRGF0YSA9IDB4MDAgYW5kIE1heF9EYXRhID0gMHhGRi4gKi8KIAogICB1aW50MzJfdCBCbGVuZGluZ0ZhY3RvcjE7ICAgICAgICAgICAgLyohPCBTZWxlY3QgdGhlIGJsZW5kaW5nIGZhY3RvciAxLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgb25lIG9mIHZhbHVlIG9mIEByZWYgTFREQ19CbGVuZGluZ0ZhY3RvcjEgKi8KQEAgLTE0MSwxMCArMTU0LDEyIEBACiAgIHVpbnQzMl90IEZCU3RhcnRBZHJlc3M7ICAgICAgICAgICAgICAvKiE8IENvbmZpZ3VyZXMgdGhlIGNvbG9yIGZyYW1lIGJ1ZmZlciBhZGRyZXNzICovCiAKICAgdWludDMyX3QgSW1hZ2VXaWR0aDsgICAgICAgICAgICAgICAgIC8qITwgQ29uZmlndXJlcyB0aGUgY29sb3IgZnJhbWUgYnVmZmVyIGxpbmUgbGVuZ3RoLgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBtdXN0IGJlIGEgbnVtYmVyIGJldHdlZW4gTWluX0RhdGEgPSAweDAwMDAgYW5kIE1heF9EYXRhID0gMHgxRkZGLiAqLworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBtdXN0IGJlIGEgbnVtYmVyIGJldHdlZW4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTWluX0RhdGEgPSAweDAwMDAgYW5kIE1heF9EYXRhID0gMHgxRkZGLiAqLwogCiAgIHVpbnQzMl90IEltYWdlSGVpZ2h0OyAgICAgICAgICAgICAgICAvKiE8IFNwZWNpZmllcyB0aGUgbnVtYmVyIG9mIGxpbmUgaW4gZnJhbWUgYnVmZmVyLgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBtdXN0IGJlIGEgbnVtYmVyIGJldHdlZW4gTWluX0RhdGEgPSAweDAwMCBhbmQgTWF4X0RhdGEgPSAweDdGRi4gKi8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgbXVzdCBiZSBhIG51bWJlciBiZXR3ZWVuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1pbl9EYXRhID0gMHgwMDAgYW5kIE1heF9EYXRhID0gMHg3RkYuICovCiAKICAgTFREQ19Db2xvclR5cGVEZWYgICBCYWNrY29sb3I7ICAgICAgIC8qITwgQ29uZmlndXJlcyB0aGUgbGF5ZXIgYmFja2dyb3VuZCBjb2xvci4gKi8KIH0gTFREQ19MYXllckNmZ1R5cGVEZWY7CkBAIC00MDAsNyArNDE1LDcgQEAKICAgKiBAcmV0dmFsIE5vbmUKICAgKi8KICNpZiAoVVNFX0hBTF9MVERDX1JFR0lTVEVSX0NBTExCQUNLUyA9PSAxKQotI2RlZmluZSBfX0hBTF9MVERDX1JFU0VUX0hBTkRMRV9TVEFURShfX0hBTkRMRV9fKSBkb3sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyNkZWZpbmUgX19IQUxfTFREQ19SRVNFVF9IQU5ETEVfU1RBVEUoX19IQU5ETEVfXykgZG97ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChfX0hBTkRMRV9fKS0+U3RhdGUgPSBIQUxfTFREQ19TVEFURV9SRVNFVDsgICAgIFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChfX0hBTkRMRV9fKS0+TXNwSW5pdENhbGxiYWNrID0gTlVMTDsgICAgICAgICAgIFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChfX0hBTkRMRV9fKS0+TXNwRGVJbml0Q2FsbGJhY2sgPSBOVUxMOyAgICAgICAgIFwKQEAgLTQzMCw3ICs0NDUsOCBAQAogICAqICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIExURENfTEFZRVJfMSAoMCkgb3IgTFREQ19MQVlFUl8yICgxKS4KICAgKiBAcmV0dmFsIE5vbmUuCiAgICovCi0jZGVmaW5lIF9fSEFMX0xURENfTEFZRVJfRU5BQkxFKF9fSEFORExFX18sIF9fTEFZRVJfXykgICgoTFREQ19MQVlFUigoX19IQU5ETEVfXyksIChfX0xBWUVSX18pKSktPkNSIHw9ICh1aW50MzJfdClMVERDX0x4Q1JfTEVOKQorI2RlZmluZSBfX0hBTF9MVERDX0xBWUVSX0VOQUJMRShfX0hBTkRMRV9fLCBfX0xBWUVSX18pICAoKExURENfTEFZRVIoKF9fSEFORExFX18pLCAoX19MQVlFUl9fKSkpLT5DUlwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHw9ICh1aW50MzJfdClMVERDX0x4Q1JfTEVOKQogCiAvKioKICAgKiBAYnJpZWYgIERpc2FibGUgdGhlIExUREMgTGF5ZXIuCkBAIC00MzksNyArNDU1LDggQEAKICAgKiAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBMVERDX0xBWUVSXzEgKDApIG9yIExURENfTEFZRVJfMiAoMSkuCiAgICogQHJldHZhbCBOb25lLgogICAqLwotI2RlZmluZSBfX0hBTF9MVERDX0xBWUVSX0RJU0FCTEUoX19IQU5ETEVfXywgX19MQVlFUl9fKSAoKExURENfTEFZRVIoKF9fSEFORExFX18pLCAoX19MQVlFUl9fKSkpLT5DUiAmPSB+KHVpbnQzMl90KUxURENfTHhDUl9MRU4pCisjZGVmaW5lIF9fSEFMX0xURENfTEFZRVJfRElTQUJMRShfX0hBTkRMRV9fLCBfX0xBWUVSX18pICgoTFREQ19MQVlFUigoX19IQU5ETEVfXyksIChfX0xBWUVSX18pKSktPkNSXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJj0gfih1aW50MzJfdClMVERDX0x4Q1JfTEVOKQogCiAvKioKICAgKiBAYnJpZWYgIFJlbG9hZCBpbW1lZGlhdGVseSBhbGwgTFREQyBMYXllcnMuCkBAIC01NDUsNyArNTYyLDggQEAKIAogLyogQ2FsbGJhY2tzIFJlZ2lzdGVyL1VuUmVnaXN0ZXIgZnVuY3Rpb25zICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KICNpZiAoVVNFX0hBTF9MVERDX1JFR0lTVEVSX0NBTExCQUNLUyA9PSAxKQotSEFMX1N0YXR1c1R5cGVEZWYgSEFMX0xURENfUmVnaXN0ZXJDYWxsYmFjayhMVERDX0hhbmRsZVR5cGVEZWYgKmhsdGRjLCBIQUxfTFREQ19DYWxsYmFja0lEVHlwZURlZiBDYWxsYmFja0lELCBwTFREQ19DYWxsYmFja1R5cGVEZWYgcENhbGxiYWNrKTsKK0hBTF9TdGF0dXNUeXBlRGVmIEhBTF9MVERDX1JlZ2lzdGVyQ2FsbGJhY2soTFREQ19IYW5kbGVUeXBlRGVmICpobHRkYywgSEFMX0xURENfQ2FsbGJhY2tJRFR5cGVEZWYgQ2FsbGJhY2tJRCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcExURENfQ2FsbGJhY2tUeXBlRGVmIHBDYWxsYmFjayk7CiBIQUxfU3RhdHVzVHlwZURlZiBIQUxfTFREQ19VblJlZ2lzdGVyQ2FsbGJhY2soTFREQ19IYW5kbGVUeXBlRGVmICpobHRkYywgSEFMX0xURENfQ2FsbGJhY2tJRFR5cGVEZWYgQ2FsbGJhY2tJRCk7CiAjZW5kaWYgLyogVVNFX0hBTF9MVERDX1JFR0lTVEVSX0NBTExCQUNLUyAqLwogCkBAIC01ODMsOSArNjAxLDEyIEBACiBIQUxfU3RhdHVzVHlwZURlZiBIQUxfTFREQ19FbmFibGVEaXRoZXIoTFREQ19IYW5kbGVUeXBlRGVmICpobHRkYyk7CiBIQUxfU3RhdHVzVHlwZURlZiBIQUxfTFREQ19EaXNhYmxlRGl0aGVyKExURENfSGFuZGxlVHlwZURlZiAqaGx0ZGMpOwogSEFMX1N0YXR1c1R5cGVEZWYgSEFMX0xURENfUmVsb2FkKExURENfSGFuZGxlVHlwZURlZiAqaGx0ZGMsIHVpbnQzMl90IFJlbG9hZFR5cGUpOwotSEFMX1N0YXR1c1R5cGVEZWYgSEFMX0xURENfQ29uZmlnTGF5ZXJfTm9SZWxvYWQoTFREQ19IYW5kbGVUeXBlRGVmICpobHRkYywgTFREQ19MYXllckNmZ1R5cGVEZWYgKnBMYXllckNmZywgdWludDMyX3QgTGF5ZXJJZHgpOwotSEFMX1N0YXR1c1R5cGVEZWYgSEFMX0xURENfU2V0V2luZG93U2l6ZV9Ob1JlbG9hZChMVERDX0hhbmRsZVR5cGVEZWYgKmhsdGRjLCB1aW50MzJfdCBYU2l6ZSwgdWludDMyX3QgWVNpemUsIHVpbnQzMl90IExheWVySWR4KTsKLUhBTF9TdGF0dXNUeXBlRGVmIEhBTF9MVERDX1NldFdpbmRvd1Bvc2l0aW9uX05vUmVsb2FkKExURENfSGFuZGxlVHlwZURlZiAqaGx0ZGMsIHVpbnQzMl90IFgwLCB1aW50MzJfdCBZMCwgdWludDMyX3QgTGF5ZXJJZHgpOworSEFMX1N0YXR1c1R5cGVEZWYgSEFMX0xURENfQ29uZmlnTGF5ZXJfTm9SZWxvYWQoTFREQ19IYW5kbGVUeXBlRGVmICpobHRkYywgTFREQ19MYXllckNmZ1R5cGVEZWYgKnBMYXllckNmZywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IExheWVySWR4KTsKK0hBTF9TdGF0dXNUeXBlRGVmIEhBTF9MVERDX1NldFdpbmRvd1NpemVfTm9SZWxvYWQoTFREQ19IYW5kbGVUeXBlRGVmICpobHRkYywgdWludDMyX3QgWFNpemUsIHVpbnQzMl90IFlTaXplLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBMYXllcklkeCk7CitIQUxfU3RhdHVzVHlwZURlZiBIQUxfTFREQ19TZXRXaW5kb3dQb3NpdGlvbl9Ob1JlbG9hZChMVERDX0hhbmRsZVR5cGVEZWYgKmhsdGRjLCB1aW50MzJfdCBYMCwgdWludDMyX3QgWTAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBMYXllcklkeCk7CiBIQUxfU3RhdHVzVHlwZURlZiBIQUxfTFREQ19TZXRQaXhlbEZvcm1hdF9Ob1JlbG9hZChMVERDX0hhbmRsZVR5cGVEZWYgKmhsdGRjLCB1aW50MzJfdCBQaXhlbGZvcm1hdCwgdWludDMyX3QgTGF5ZXJJZHgpOwogSEFMX1N0YXR1c1R5cGVEZWYgSEFMX0xURENfU2V0QWxwaGFfTm9SZWxvYWQoTFREQ19IYW5kbGVUeXBlRGVmICpobHRkYywgdWludDMyX3QgQWxwaGEsIHVpbnQzMl90IExheWVySWR4KTsKIEhBTF9TdGF0dXNUeXBlRGVmIEhBTF9MVERDX1NldEFkZHJlc3NfTm9SZWxvYWQoTFREQ19IYW5kbGVUeXBlRGVmICpobHRkYywgdWludDMyX3QgQWRkcmVzcywgdWludDMyX3QgTGF5ZXJJZHgpOwpAQCAtNjIxLDEyICs2NDIsMTggQEAKIC8qKiBAZGVmZ3JvdXAgTFREQ19Qcml2YXRlX01hY3JvcyBMVERDIFByaXZhdGUgTWFjcm9zCiAgICogQHsKICAgKi8KLSNkZWZpbmUgTFREQ19MQVlFUihfX0hBTkRMRV9fLCBfX0xBWUVSX18pICAgICAgICAgICAgICAoKExURENfTGF5ZXJfVHlwZURlZiAqKSgodWludDMyX3QpKCgodWludDMyX3QpKChfX0hBTkRMRV9fKS0+SW5zdGFuY2UpKSArIDB4ODRVICsgKDB4ODBVKihfX0xBWUVSX18pKSkpKQorI2RlZmluZSBMVERDX0xBWUVSKF9fSEFORExFX18sIF9fTEFZRVJfXykgICAgICAgICAgICAgICgoTFREQ19MYXllcl9UeXBlRGVmICopKCh1aW50MzJfdCkoXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpKChfX0hBTkRMRV9fKS0+SW5zdGFuY2UpKVwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICArIDB4ODRVICsgKDB4ODBVKihfX0xBWUVSX18pKSkpKQogI2RlZmluZSBJU19MVERDX0xBWUVSKF9fTEFZRVJfXykgICAgICAgICAgICAgICAgICAgICAgICgoX19MQVlFUl9fKSA8IE1BWF9MQVlFUikKLSNkZWZpbmUgSVNfTFREQ19IU1BPTChfX0hTUE9MX18pICAgICAgICAgICAgICAgICAgICAgICAoKChfX0hTUE9MX18pID09IExURENfSFNQT0xBUklUWV9BTCkgfHwgKChfX0hTUE9MX18pID09IExURENfSFNQT0xBUklUWV9BSCkpCi0jZGVmaW5lIElTX0xURENfVlNQT0woX19WU1BPTF9fKSAgICAgICAgICAgICAgICAgICAgICAgKCgoX19WU1BPTF9fKSA9PSBMVERDX1ZTUE9MQVJJVFlfQUwpIHx8ICgoX19WU1BPTF9fKSA9PSBMVERDX1ZTUE9MQVJJVFlfQUgpKQotI2RlZmluZSBJU19MVERDX0RFUE9MKF9fREVQT0xfXykgICAgICAgICAgICAgICAgICAgICAgICgoKF9fREVQT0xfXykgPT0gTFREQ19ERVBPTEFSSVRZX0FMKSB8fCAoKF9fREVQT0xfXykgPT0gIExURENfREVQT0xBUklUWV9BSCkpCi0jZGVmaW5lIElTX0xURENfUENQT0woX19QQ1BPTF9fKSAgICAgICAgICAgICAgICAgICAgICAgKCgoX19QQ1BPTF9fKSA9PSBMVERDX1BDUE9MQVJJVFlfSVBDKSB8fCAoKF9fUENQT0xfXykgPT0gIExURENfUENQT0xBUklUWV9JSVBDKSkKKyNkZWZpbmUgSVNfTFREQ19IU1BPTChfX0hTUE9MX18pICAgICAgICAgICAgICAgICAgICAgICAoKChfX0hTUE9MX18pID09IExURENfSFNQT0xBUklUWV9BTClcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHx8ICgoX19IU1BPTF9fKSA9PSBMVERDX0hTUE9MQVJJVFlfQUgpKQorI2RlZmluZSBJU19MVERDX1ZTUE9MKF9fVlNQT0xfXykgICAgICAgICAgICAgICAgICAgICAgICgoKF9fVlNQT0xfXykgPT0gTFREQ19WU1BPTEFSSVRZX0FMKVwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfHwgKChfX1ZTUE9MX18pID09IExURENfVlNQT0xBUklUWV9BSCkpCisjZGVmaW5lIElTX0xURENfREVQT0woX19ERVBPTF9fKSAgICAgICAgICAgICAgICAgICAgICAgKCgoX19ERVBPTF9fKSA9PSBMVERDX0RFUE9MQVJJVFlfQUwpXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8fCAoKF9fREVQT0xfXykgPT0gIExURENfREVQT0xBUklUWV9BSCkpCisjZGVmaW5lIElTX0xURENfUENQT0woX19QQ1BPTF9fKSAgICAgICAgICAgICAgICAgICAgICAgKCgoX19QQ1BPTF9fKSA9PSBMVERDX1BDUE9MQVJJVFlfSVBDKVwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfHwgKChfX1BDUE9MX18pID09ICBMVERDX1BDUE9MQVJJVFlfSUlQQykpCiAjZGVmaW5lIElTX0xURENfSFNZTkMoX19IU1lOQ19fKSAgICAgICAgICAgICAgICAgICAgICAgKChfX0hTWU5DX18pICA8PSBMVERDX0hPUklaT05UQUxTWU5DKQogI2RlZmluZSBJU19MVERDX1ZTWU5DKF9fVlNZTkNfXykgICAgICAgICAgICAgICAgICAgICAgICgoX19WU1lOQ19fKSAgPD0gTFREQ19WRVJUSUNBTFNZTkMpCiAjZGVmaW5lIElTX0xURENfQUhCUChfX0FIQlBfXykgICAgICAgICAgICAgICAgICAgICAgICAgKChfX0FIQlBfXykgICA8PSBMVERDX0hPUklaT05UQUxTWU5DKQpAQCAtNjQyLDEwICs2NjksMTQgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChfX0JMRU5ESU5HX0ZBQ1RPUjFfXykgPT0gTFREQ19CTEVORElOR19GQUNUT1IxX1BBeENBKSkKICNkZWZpbmUgSVNfTFREQ19CTEVORElOR19GQUNUT1IyKF9fQkxFTkRJTkdfRkFDVE9SMV9fKSAoKChfX0JMRU5ESU5HX0ZBQ1RPUjFfXykgPT0gTFREQ19CTEVORElOR19GQUNUT1IyX0NBKSB8fCBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoX19CTEVORElOR19GQUNUT1IxX18pID09IExURENfQkxFTkRJTkdfRkFDVE9SMl9QQXhDQSkpCi0jZGVmaW5lIElTX0xURENfUElYRUxfRk9STUFUKF9fUElYRUxfRk9STUFUX18pICAgICAgICAgKCgoX19QSVhFTF9GT1JNQVRfXykgPT0gTFREQ19QSVhFTF9GT1JNQVRfQVJHQjg4ODgpIHx8ICgoX19QSVhFTF9GT1JNQVRfXykgPT0gTFREQ19QSVhFTF9GT1JNQVRfUkdCODg4KSAgIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChfX1BJWEVMX0ZPUk1BVF9fKSA9PSBMVERDX1BJWEVMX0ZPUk1BVF9SR0I1NjUpICAgfHwgKChfX1BJWEVMX0ZPUk1BVF9fKSA9PSBMVERDX1BJWEVMX0ZPUk1BVF9BUkdCMTU1NSkgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fUElYRUxfRk9STUFUX18pID09IExURENfUElYRUxfRk9STUFUX0FSR0I0NDQ0KSB8fCAoKF9fUElYRUxfRk9STUFUX18pID09IExURENfUElYRUxfRk9STUFUX0w4KSAgICAgICB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoX19QSVhFTF9GT1JNQVRfXykgPT0gTFREQ19QSVhFTF9GT1JNQVRfQUw0NCkgICAgIHx8ICgoX19QSVhFTF9GT1JNQVRfXykgPT0gTFREQ19QSVhFTF9GT1JNQVRfQUw4OCkpCisjZGVmaW5lIElTX0xURENfUElYRUxfRk9STUFUKF9fUElYRUxfRk9STUFUX18pICAgICAgICAgKCgoX19QSVhFTF9GT1JNQVRfXykgPT0gTFREQ19QSVhFTF9GT1JNQVRfQVJHQjg4ODgpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChfX1BJWEVMX0ZPUk1BVF9fKSA9PSBMVERDX1BJWEVMX0ZPUk1BVF9SR0I4ODgpICAgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fUElYRUxfRk9STUFUX18pID09IExURENfUElYRUxfRk9STUFUX1JHQjU2NSkgICB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoX19QSVhFTF9GT1JNQVRfXykgPT0gTFREQ19QSVhFTF9GT1JNQVRfQVJHQjE1NTUpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChfX1BJWEVMX0ZPUk1BVF9fKSA9PSBMVERDX1BJWEVMX0ZPUk1BVF9BUkdCNDQ0NCkgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fUElYRUxfRk9STUFUX18pID09IExURENfUElYRUxfRk9STUFUX0w4KSAgICAgICB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoX19QSVhFTF9GT1JNQVRfXykgPT0gTFREQ19QSVhFTF9GT1JNQVRfQUw0NCkgICAgIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChfX1BJWEVMX0ZPUk1BVF9fKSA9PSBMVERDX1BJWEVMX0ZPUk1BVF9BTDg4KSkKICNkZWZpbmUgSVNfTFREQ19BTFBIQShfX0FMUEhBX18pICAgICAgICAgICAgICAgICAgICAgICAoKF9fQUxQSEFfXykgPD0gTFREQ19BTFBIQSkKICNkZWZpbmUgSVNfTFREQ19IQ09ORklHU1QoX19IQ09ORklHU1RfXykgICAgICAgICAgICAgICAoKF9fSENPTkZJR1NUX18pIDw9IExURENfU1RBUlRQT1NJVElPTikKICNkZWZpbmUgSVNfTFREQ19IQ09ORklHU1AoX19IQ09ORklHU1BfXykgICAgICAgICAgICAgICAoKF9fSENPTkZJR1NQX18pIDw9IExURENfU1RPUFBPU0lUSU9OKQpAQCAtNjU1LDcgKzY4Niw4IEBACiAjZGVmaW5lIElTX0xURENfQ0ZCTEwoX19DRkJMTF9fKSAgICAgICAgICAgICAgICAgICAgICAgKChfX0NGQkxMX18pIDw9IExURENfQ09MT1JfRlJBTUVfQlVGRkVSKQogI2RlZmluZSBJU19MVERDX0NGQkxOQlIoX19DRkJMTkJSX18pICAgICAgICAgICAgICAgICAgICgoX19DRkJMTkJSX18pIDw9IExURENfTElORV9OVU1CRVIpCiAjZGVmaW5lIElTX0xURENfTElQT1MoX19MSVBPU19fKSAgICAgICAgICAgICAgICAgICAgICAgKChfX0xJUE9TX18pIDw9IDB4N0ZGVSkKLSNkZWZpbmUgSVNfTFREQ19SRUxPQUQoX19SRUxPQURUWVBFX18pICAgICAgICAgICAgICAgICAoKChfX1JFTE9BRFRZUEVfXykgPT0gTFREQ19SRUxPQURfSU1NRURJQVRFKSB8fCAoKF9fUkVMT0FEVFlQRV9fKSA9PSBMVERDX1JFTE9BRF9WRVJUSUNBTF9CTEFOS0lORykpCisjZGVmaW5lIElTX0xURENfUkVMT0FEKF9fUkVMT0FEVFlQRV9fKSAgICAgICAgICAgICAgICAgKCgoX19SRUxPQURUWVBFX18pID09IExURENfUkVMT0FEX0lNTUVESUFURSkgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fUkVMT0FEVFlQRV9fKSA9PSBMVERDX1JFTE9BRF9WRVJUSUNBTF9CTEFOS0lORykpCiAvKioKICAgKiBAfQogICAqLwpAQCAtNjg1LDQgKzcxNywzIEBACiAKICNlbmRpZiAvKiBTVE0zMkY0eHhfSEFMX0xURENfSCAqLwogCi0vKioqKioqKioqKioqKioqKioqKioqKioqIChDKSBDT1BZUklHSFQgU1RNaWNyb2VsZWN0cm9uaWNzICoqKioqRU5EIE9GIEZJTEUqKioqLwpkaWZmIC0tZ2l0IGEvSW5jL3N0bTMyZjR4eF9oYWxfbHRkY19leC5oIGIvSW5jL3N0bTMyZjR4eF9oYWxfbHRkY19leC5oCmluZGV4IDM3YTVmZGYuLmI5YzM5ZTQgMTAwNjQ0Ci0tLSBhL0luYy9zdG0zMmY0eHhfaGFsX2x0ZGNfZXguaAorKysgYi9JbmMvc3RtMzJmNHh4X2hhbF9sdGRjX2V4LmgKQEAgLTYsMTMgKzYsMTIgQEAKICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICogQGF0dGVudGlvbgogICAqCi0gICogPGgyPjxjZW50ZXI+JmNvcHk7IENvcHlyaWdodCAoYykgMjAxNiBTVE1pY3JvZWxlY3Ryb25pY3MuCi0gICogQWxsIHJpZ2h0cyByZXNlcnZlZC48L2NlbnRlcj48L2gyPgorICAqIENvcHlyaWdodCAoYykgMjAxNiBTVE1pY3JvZWxlY3Ryb25pY3MuCisgICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgKgotICAqIFRoaXMgc29mdHdhcmUgY29tcG9uZW50IGlzIGxpY2Vuc2VkIGJ5IFNUIHVuZGVyIEJTRCAzLUNsYXVzZSBsaWNlbnNlLAotICAqIHRoZSAiTGljZW5zZSI7IFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUKLSAgKiBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQ6Ci0gICogICAgICAgICAgICAgICAgICAgICAgICBvcGVuc291cmNlLm9yZy9saWNlbnNlcy9CU0QtMy1DbGF1c2UKKyAgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIHVuZGVyIHRlcm1zIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUKKyAgKiBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb2Z0d2FyZSBjb21wb25lbnQuCisgICogSWYgbm8gTElDRU5TRSBmaWxlIGNvbWVzIHdpdGggdGhpcyBzb2Z0d2FyZSwgaXQgaXMgcHJvdmlkZWQgQVMtSVMuCiAgICoKICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICovCkBAIC04Miw1ICs4MSwzIEBACiAjZW5kaWYKIAogI2VuZGlmIC8qIFNUTTMyRjR4eF9IQUxfTFREQ19FWF9IICovCi0KLS8qKioqKioqKioqKioqKioqKioqKioqKiogKEMpIENPUFlSSUdIVCBTVE1pY3JvZWxlY3Ryb25pY3MgKioqKipFTkQgT0YgRklMRSoqKiovCmRpZmYgLS1naXQgYS9JbmMvc3RtMzJmNHh4X2hhbF9tbWMuaCBiL0luYy9zdG0zMmY0eHhfaGFsX21tYy5oCmluZGV4IGU2NTE3MmEuLjMwOTIxYWEgMTAwNjQ0Ci0tLSBhL0luYy9zdG0zMmY0eHhfaGFsX21tYy5oCisrKyBiL0luYy9zdG0zMmY0eHhfaGFsX21tYy5oCkBAIC02LDEzICs2LDEyIEBACiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqIEBhdHRlbnRpb24KICAgKgotICAqIDxoMj48Y2VudGVyPiZjb3B5OyBDb3B5cmlnaHQgKGMpIDIwMTcgU1RNaWNyb2VsZWN0cm9uaWNzLgotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9jZW50ZXI+PC9oMj4KKyAgKiBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgorICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICoKLSAgKiBUaGlzIHNvZnR3YXJlIGNvbXBvbmVudCBpcyBsaWNlbnNlZCBieSBTVCB1bmRlciBCU0QgMy1DbGF1c2UgbGljZW5zZSwKLSAgKiB0aGUgIkxpY2Vuc2UiOyBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlCi0gICogTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0OgotICAqICAgICAgICAgICAgICAgICAgICAgICBvcGVuc291cmNlLm9yZy9saWNlbnNlcy9CU0QtMy1DbGF1c2UKKyAgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIHVuZGVyIHRlcm1zIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUKKyAgKiBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb2Z0d2FyZSBjb21wb25lbnQuCisgICogSWYgbm8gTElDRU5TRSBmaWxlIGNvbWVzIHdpdGggdGhpcyBzb2Z0d2FyZSwgaXQgaXMgcHJvdmlkZWQgQVMtSVMuCiAgICoKICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICovIApAQCAtMTQ1LDYgKzE0NCw4IEBACiAgIAogICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIENJRFs0VV07ICAgICAgICAgIC8qITwgTU1DIGNhcmQgaWRlbnRpZmljYXRpb24gbnVtYmVyIHRhYmxlICovCiAgIAorICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIEV4dF9DU0RbMTI4XTsKKwogI2lmIGRlZmluZWQgKFVTRV9IQUxfTU1DX1JFR0lTVEVSX0NBTExCQUNLUykgJiYgKFVTRV9IQUxfTU1DX1JFR0lTVEVSX0NBTExCQUNLUyA9PSAxVSkKICAgdm9pZCAoKiBUeENwbHRDYWxsYmFjaykgICAgICAgICAgICAgICAgIChzdHJ1Y3QgX19NTUNfSGFuZGxlVHlwZURlZiAqaG1tYyk7CiAgIHZvaWQgKCogUnhDcGx0Q2FsbGJhY2spICAgICAgICAgICAgICAgICAoc3RydWN0IF9fTU1DX0hhbmRsZVR5cGVEZWYgKmhtbWMpOwpAQCAtMzM0LDEwICszMzUsMTIgQEAKIC8qKiAKICAgKiBAYnJpZWYgCiAgICovCi0jZGVmaW5lIE1NQ19ISUdIX1ZPTFRBR0VfUkFOR0UgICAgICAgICAweDgwRkY4MDAwVSAgLyohPCBWQUxVRSBPRiBBUkdVTUVOVCAgICAgICAgICAgICovCi0jZGVmaW5lIE1NQ19EVUFMX1ZPTFRBR0VfUkFOR0UgICAgICAgICAweDgwRkY4MDgwVSAgLyohPCBWQUxVRSBPRiBBUkdVTUVOVCAgICAgICAgICAgICovCi0jZGVmaW5lIGVNTUNfSElHSF9WT0xUQUdFX1JBTkdFICAgICAgICAweEMwRkY4MDAwVSAgLyohPCBmb3IgZU1NQyA+IDJHYiBzZWN0b3IgbW9kZSAgICovCi0jZGVmaW5lIGVNTUNfRFVBTF9WT0xUQUdFX1JBTkdFICAgICAgICAweEMwRkY4MDgwVSAgLyohPCBmb3IgZU1NQyA+IDJHYiBzZWN0b3IgbW9kZSAgICovCisjZGVmaW5lIE1NQ19ISUdIX1ZPTFRBR0VfUkFOR0UgICAgICAgICAweDgwRkY4MDAwVSAgLyohPCBIaWdoIHZvbHRhZ2UgaW4gYnl0ZSBtb2RlICAgICovCisjZGVmaW5lIE1NQ19EVUFMX1ZPTFRBR0VfUkFOR0UgICAgICAgICAweDgwRkY4MDgwVSAgLyohPCBEdWFsIHZvbHRhZ2UgaW4gYnl0ZSBtb2RlICAgICovCisjZGVmaW5lIE1NQ19MT1dfVk9MVEFHRV9SQU5HRSAgICAgICAgICAweDgwMDAwMDgwVSAgLyohPCBMb3cgdm9sdGFnZSBpbiBieXRlIG1vZGUgICAgICovCisjZGVmaW5lIEVNTUNfSElHSF9WT0xUQUdFX1JBTkdFICAgICAgICAweEMwRkY4MDAwVSAgLyohPCBIaWdoIHZvbHRhZ2UgaW4gc2VjdG9yIG1vZGUgICovCisjZGVmaW5lIEVNTUNfRFVBTF9WT0xUQUdFX1JBTkdFICAgICAgICAweEMwRkY4MDgwVSAgLyohPCBEdWFsIHZvbHRhZ2UgaW4gc2VjdG9yIG1vZGUgICovCisjZGVmaW5lIEVNTUNfTE9XX1ZPTFRBR0VfUkFOR0UgICAgICAgICAweEMwMDAwMDgwVSAgLyohPCBMb3cgdm9sdGFnZSBpbiBzZWN0b3IgbW9kZSAgICovCiAjZGVmaW5lIE1NQ19JTlZBTElEX1ZPTFRBR0VfUkFOR0UgICAgICAweDAwMDFGRjAxVSAKIC8qKgogICAqIEB9CkBAIC02MzYsNiArNjM5LDcgQEAKIEhBTF9TdGF0dXNUeXBlRGVmIEhBTF9NTUNfR2V0Q2FyZENJRChNTUNfSGFuZGxlVHlwZURlZiAqaG1tYywgSEFMX01NQ19DYXJkQ0lEVHlwZURlZiAqcENJRCk7CiBIQUxfU3RhdHVzVHlwZURlZiBIQUxfTU1DX0dldENhcmRDU0QoTU1DX0hhbmRsZVR5cGVEZWYgKmhtbWMsIEhBTF9NTUNfQ2FyZENTRFR5cGVEZWYgKnBDU0QpOwogSEFMX1N0YXR1c1R5cGVEZWYgSEFMX01NQ19HZXRDYXJkSW5mbyhNTUNfSGFuZGxlVHlwZURlZiAqaG1tYywgSEFMX01NQ19DYXJkSW5mb1R5cGVEZWYgKnBDYXJkSW5mbyk7CitIQUxfU3RhdHVzVHlwZURlZiBIQUxfTU1DX0dldENhcmRFeHRDU0QoTU1DX0hhbmRsZVR5cGVEZWYgKmhtbWMsIHVpbnQzMl90ICpwRXh0Q1NELCB1aW50MzJfdCBUaW1lb3V0KTsKIC8qKgogICAqIEB9CiAgICovCkBAIC02NDksNyArNjUzLDcgQEAKICAgKiBAfQogICAqLwogCi0vKiogQGRlZmdyb3VwIE1NQ19FeHBvcnRlZF9GdW5jdGlvbnNfR3JvdXA2IFBlcmlvaGVyYWwgQWJvcnQgbWFuYWdlbWVudAorLyoqIEBkZWZncm91cCBNTUNfRXhwb3J0ZWRfRnVuY3Rpb25zX0dyb3VwNiBQZXJpcGhlcmFsIEFib3J0IG1hbmFnZW1lbnQKICAgKiBAewogICAqLwogSEFMX1N0YXR1c1R5cGVEZWYgSEFMX01NQ19BYm9ydChNTUNfSGFuZGxlVHlwZURlZiAqaG1tYyk7CkBAIC03NDEsNSArNzQ1LDMgQEAKICNlbmRpZiAvKiBTRElPICovCiAKICNlbmRpZiAvKiBTVE0zMkY0eHhfSEFMX01NQ19IICovIAotCi0vKioqKioqKioqKioqKioqKioqKioqKioqIChDKSBDT1BZUklHSFQgU1RNaWNyb2VsZWN0cm9uaWNzICoqKioqRU5EIE9GIEZJTEUqKioqLwpkaWZmIC0tZ2l0IGEvSW5jL3N0bTMyZjR4eF9oYWxfbmFuZC5oIGIvSW5jL3N0bTMyZjR4eF9oYWxfbmFuZC5oCmluZGV4IGU2YWFhYmIuLjI2ZjY1MDIgMTAwNjQ0Ci0tLSBhL0luYy9zdG0zMmY0eHhfaGFsX25hbmQuaAorKysgYi9JbmMvc3RtMzJmNHh4X2hhbF9uYW5kLmgKQEAgLTYsMzUgKzYsMzIgQEAKICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICogQGF0dGVudGlvbgogICAqCi0gICogPGgyPjxjZW50ZXI+JmNvcHk7IENvcHlyaWdodCAoYykgMjAxNyBTVE1pY3JvZWxlY3Ryb25pY3MuCi0gICogQWxsIHJpZ2h0cyByZXNlcnZlZC48L2NlbnRlcj48L2gyPgorICAqIENvcHlyaWdodCAoYykgMjAxNiBTVE1pY3JvZWxlY3Ryb25pY3MuCisgICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgKgotICAqIFRoaXMgc29mdHdhcmUgY29tcG9uZW50IGlzIGxpY2Vuc2VkIGJ5IFNUIHVuZGVyIEJTRCAzLUNsYXVzZSBsaWNlbnNlLAotICAqIHRoZSAiTGljZW5zZSI7IFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUKLSAgKiBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQ6Ci0gICogICAgICAgICAgICAgICAgICAgICAgICBvcGVuc291cmNlLm9yZy9saWNlbnNlcy9CU0QtMy1DbGF1c2UKKyAgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIHVuZGVyIHRlcm1zIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUKKyAgKiBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb2Z0d2FyZSBjb21wb25lbnQuCisgICogSWYgbm8gTElDRU5TRSBmaWxlIGNvbWVzIHdpdGggdGhpcyBzb2Z0d2FyZSwgaXQgaXMgcHJvdmlkZWQgQVMtSVMuCiAgICoKICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICovCiAKIC8qIERlZmluZSB0byBwcmV2ZW50IHJlY3Vyc2l2ZSBpbmNsdXNpb24gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCi0jaWZuZGVmIF9fU1RNMzJGNHh4X0hBTF9OQU5EX0gKLSNkZWZpbmUgX19TVE0zMkY0eHhfSEFMX05BTkRfSAorI2lmbmRlZiBTVE0zMkY0eHhfSEFMX05BTkRfSAorI2RlZmluZSBTVE0zMkY0eHhfSEFMX05BTkRfSAogCiAjaWZkZWYgX19jcGx1c3BsdXMKLSBleHRlcm4gIkMiIHsKK2V4dGVybiAiQyIgewogI2VuZGlmCiAKLS8qIEluY2x1ZGVzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCi0jaWYgZGVmaW5lZChTVE0zMkY0MDV4eCkgfHwgZGVmaW5lZChTVE0zMkY0MTV4eCkgfHwgZGVmaW5lZChTVE0zMkY0MDd4eCkgfHwgZGVmaW5lZChTVE0zMkY0MTd4eCkKLSAgI2luY2x1ZGUgInN0bTMyZjR4eF9sbF9mc21jLmgiCi0jZW5kaWYgLyogU1RNMzJGNDA1eHggfHwgU1RNMzJGNDE1eHggfHwgU1RNMzJGNDA3eHggfHwgU1RNMzJGNDE3eHggKi8KKyNpZiBkZWZpbmVkKEZNQ19CYW5rMykgfHwgZGVmaW5lZChGTUNfQmFuazJfMykgfHwgZGVmaW5lZChGU01DX0JhbmsyXzMpCiAKLSNpZiBkZWZpbmVkKFNUTTMyRjQyN3h4KSB8fCBkZWZpbmVkKFNUTTMyRjQzN3h4KSB8fCBkZWZpbmVkKFNUTTMyRjQyOXh4KSB8fCBkZWZpbmVkKFNUTTMyRjQzOXh4KSB8fFwKLSAgICBkZWZpbmVkKFNUTTMyRjQ0Nnh4KSB8fCBkZWZpbmVkKFNUTTMyRjQ2OXh4KSB8fCBkZWZpbmVkKFNUTTMyRjQ3OXh4KQotICAjaW5jbHVkZSAic3RtMzJmNHh4X2xsX2ZtYy5oIgotI2VuZGlmIC8qIFNUTTMyRjQyN3h4IHx8IFNUTTMyRjQzN3h4IHx8IFNUTTMyRjQyOXh4IHx8IFNUTTMyRjQzOXh4IHx8IFNUTTMyRjQ0Nnh4IHx8IFNUTTMyRjQ2OXh4IHx8XAotICAgICAgICAgIFNUTTMyRjQ3OXh4ICovCisvKiBJbmNsdWRlcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworI2lmIGRlZmluZWQoRlNNQ19CYW5rMl8zKQorI2luY2x1ZGUgInN0bTMyZjR4eF9sbF9mc21jLmgiCisjZWxzZQorI2luY2x1ZGUgInN0bTMyZjR4eF9sbF9mbWMuaCIKKyNlbmRpZiAvKiBGU01DX0JhbmsyXzMgKi8KIAogLyoqIEBhZGR0b2dyb3VwIFNUTTMyRjR4eF9IQUxfRHJpdmVyCiAgICogQHsKQEAgLTQyLDExICszOSw3IEBACiAKIC8qKiBAYWRkdG9ncm91cCBOQU5ECiAgICogQHsKLSAgKi8gCi0KLSNpZiBkZWZpbmVkKFNUTTMyRjQwNXh4KSB8fCBkZWZpbmVkKFNUTTMyRjQxNXh4KSB8fCBkZWZpbmVkKFNUTTMyRjQwN3h4KSB8fCBkZWZpbmVkKFNUTTMyRjQxN3h4KSB8fCBcCi0gICAgZGVmaW5lZChTVE0zMkY0Mjd4eCkgfHwgZGVmaW5lZChTVE0zMkY0Mzd4eCkgfHwgZGVmaW5lZChTVE0zMkY0Mjl4eCkgfHwgZGVmaW5lZChTVE0zMkY0Mzl4eCkgfHwgXAotICAgIGRlZmluZWQoU1RNMzJGNDQ2eHgpIHx8IGRlZmluZWQoU1RNMzJGNDY5eHgpIHx8IGRlZmluZWQoU1RNMzJGNDc5eHgpCisgICovCiAKIC8qIEV4cG9ydGVkIHR5cGVkZWYgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAvKiBFeHBvcnRlZCB0eXBlcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwpAQCAtNTQsNyArNDcsNyBAQAogICAqIEB7CiAgICovCiAKLS8qKiAKKy8qKgogICAqIEBicmllZiAgSEFMIE5BTkQgU3RhdGUgc3RydWN0dXJlcyBkZWZpbml0aW9uCiAgICovCiB0eXBlZGVmIGVudW0KQEAgLTYzLDY1ICs1Niw2NSBAQAogICBIQUxfTkFORF9TVEFURV9SRUFEWSAgICAgPSAweDAxVSwgIC8qITwgTkFORCBpbml0aWFsaXplZCBhbmQgcmVhZHkgZm9yIHVzZSAgICovCiAgIEhBTF9OQU5EX1NUQVRFX0JVU1kgICAgICA9IDB4MDJVLCAgLyohPCBOQU5EIGludGVybmFsIHByb2Nlc3MgaXMgb25nb2luZyAgICAgKi8KICAgSEFMX05BTkRfU1RBVEVfRVJST1IgICAgID0gMHgwM1UgICAvKiE8IE5BTkQgZXJyb3Igc3RhdGUgICAgICAgICAgICAgICAgICAgICAqLwotfUhBTF9OQU5EX1N0YXRlVHlwZURlZjsKLSAgIAotLyoqIAorfSBIQUxfTkFORF9TdGF0ZVR5cGVEZWY7CisKKy8qKgogICAqIEBicmllZiAgTkFORCBNZW1vcnkgZWxlY3Ryb25pYyBzaWduYXR1cmUgU3RydWN0dXJlIGRlZmluaXRpb24KICAgKi8KIHR5cGVkZWYgc3RydWN0CiB7CiAgIC8qPCEgTkFORCBtZW1vcnkgZWxlY3Ryb25pYyBzaWduYXR1cmUgbWFrZXIgYW5kIGRldmljZSBJRHMgKi8KIAotICB1aW50OF90IE1ha2VyX0lkOyAKKyAgdWludDhfdCBNYWtlcl9JZDsKIAogICB1aW50OF90IERldmljZV9JZDsKIAogICB1aW50OF90IFRoaXJkX0lkOwogCiAgIHVpbnQ4X3QgRm91cnRoX0lkOwotfU5BTkRfSURUeXBlRGVmOworfSBOQU5EX0lEVHlwZURlZjsKIAotLyoqIAorLyoqCiAgICogQGJyaWVmICBOQU5EIE1lbW9yeSBhZGRyZXNzIFN0cnVjdHVyZSBkZWZpbml0aW9uCiAgICovCi10eXBlZGVmIHN0cnVjdCAKLXsKLSAgdWludDE2X3QgUGFnZTsgICAvKiE8IE5BTkQgbWVtb3J5IFBhZ2UgYWRkcmVzcyAgICAqLwotCi0gIHVpbnQxNl90IFBsYW5lOyAgIC8qITwgTkFORCBtZW1vcnkgUGxhbmUgYWRkcmVzcyAgKi8KLQotICB1aW50MTZfdCBCbG9jazsgIC8qITwgTkFORCBtZW1vcnkgQmxvY2sgYWRkcmVzcyAgICovCi0KLX1OQU5EX0FkZHJlc3NUeXBlRGVmOwotCi0vKiogCi0gICogQGJyaWVmICBOQU5EIE1lbW9yeSBpbmZvIFN0cnVjdHVyZSBkZWZpbml0aW9uCi0gICovIAogdHlwZWRlZiBzdHJ1Y3QKIHsKLSAgdWludDMyX3QgICAgICAgIFBhZ2VTaXplOyAgICAgICAgICAgICAgLyohPCBOQU5EIG1lbW9yeSBwYWdlICh3aXRob3V0IHNwYXJlIGFyZWEpIHNpemUgbWVhc3VyZWQgaW4gYnl0ZXMgCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIDggYml0cyBhZHJlc3Npbmcgb3Igd29yZHMgZm9yIDE2IGJpdHMgYWRkcmVzc2luZyAgICAgICAgICAgICAqLworICB1aW50MTZfdCBQYWdlOyAgIC8qITwgTkFORCBtZW1vcnkgUGFnZSBhZGRyZXNzICAqLwogCi0gIHVpbnQzMl90ICAgICAgICBTcGFyZUFyZWFTaXplOyAgICAgICAgIC8qITwgTkFORCBtZW1vcnkgc3BhcmUgYXJlYSBzaXplIG1lYXN1cmVkIGluIGJ5dGVzIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciA4IGJpdHMgYWRyZXNzaW5nIG9yIHdvcmRzIGZvciAxNiBiaXRzIGFkZHJlc3NpbmcgICAgICAgICAgICAgKi8KLSAgCisgIHVpbnQxNl90IFBsYW5lOyAgIC8qITwgTkFORCBtZW1vcnkgWm9uZSBhZGRyZXNzICAqLworCisgIHVpbnQxNl90IEJsb2NrOyAgLyohPCBOQU5EIG1lbW9yeSBCbG9jayBhZGRyZXNzICovCisKK30gTkFORF9BZGRyZXNzVHlwZURlZjsKKworLyoqCisgICogQGJyaWVmICBOQU5EIE1lbW9yeSBpbmZvIFN0cnVjdHVyZSBkZWZpbml0aW9uCisgICovCit0eXBlZGVmIHN0cnVjdAoreworICB1aW50MzJfdCAgICAgICAgUGFnZVNpemU7ICAgICAgICAgICAgICAvKiE8IE5BTkQgbWVtb3J5IHBhZ2UgKHdpdGhvdXQgc3BhcmUgYXJlYSkgc2l6ZSBtZWFzdXJlZCBpbiBieXRlcworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciA4IGJpdHMgYWRkcmVzc2luZyBvciB3b3JkcyBmb3IgMTYgYml0cyBhZGRyZXNzaW5nICAgICAgICAgICAgICovCisKKyAgdWludDMyX3QgICAgICAgIFNwYXJlQXJlYVNpemU7ICAgICAgICAgLyohPCBOQU5EIG1lbW9yeSBzcGFyZSBhcmVhIHNpemUgbWVhc3VyZWQgaW4gYnl0ZXMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgOCBiaXRzIGFkZHJlc3Npbmcgb3Igd29yZHMgZm9yIDE2IGJpdHMgYWRkcmVzc2luZyAgICAgICAgICAgICAqLworCiAgIHVpbnQzMl90ICAgICAgICBCbG9ja1NpemU7ICAgICAgICAgICAgIC8qITwgTkFORCBtZW1vcnkgYmxvY2sgc2l6ZSBtZWFzdXJlZCBpbiBudW1iZXIgb2YgcGFnZXMgICAgICAgICAgICAgICAqLwogCiAgIHVpbnQzMl90ICAgICAgICBCbG9ja05icjsgICAgICAgICAgICAgIC8qITwgTkFORCBtZW1vcnkgbnVtYmVyIG9mIHRvdGFsIGJsb2NrcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLwotICAgICAKKwogICB1aW50MzJfdCAgICAgICAgUGxhbmVOYnI7ICAgICAgICAgICAgICAvKiE8IE5BTkQgbWVtb3J5IG51bWJlciBvZiBwbGFuZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KIAotICB1aW50MzJfdCAgICAgICAgUGxhbmVTaXplOyAgICAgICAgICAgICAvKiE8IE5BTkQgbWVtb3J5IHBsYW5lIHNpemUgbWVhc3VyZWQgaW4gbnVtYmVyIG9mIGJsb2NrcyAgICAgICAgICAgICAgICovCisgIHVpbnQzMl90ICAgICAgICBQbGFuZVNpemU7ICAgICAgICAgICAgIC8qITwgTkFORCBtZW1vcnkgem9uZSBzaXplIG1lYXN1cmVkIGluIG51bWJlciBvZiBibG9ja3MgICAgICAgICAgICAgICAqLwogCi0gIEZ1bmN0aW9uYWxTdGF0ZSBFeHRyYUNvbW1hbmRFbmFibGU7ICAgIC8qITwgTkFORCBleHRyYSBjb21tYW5kIG5lZWRlZCBmb3IgUGFnZSByZWFkaW5nIG1vZGUuIFRoaXMgCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1ldGVyIGlzIG1hbmRhdG9yeSBmb3Igc29tZSBOQU5EIHBhcnRzIGFmdGVyIHRoZSByZWFkIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbW1hbmQgKE5BTkRfQ01EX0FSRUFfVFJVRTEpIGFuZCBiZWZvcmUgREFUQSByZWFkaW5nIHNlcXVlbmNlLiAKKyAgRnVuY3Rpb25hbFN0YXRlIEV4dHJhQ29tbWFuZEVuYWJsZTsgICAgLyohPCBOQU5EIGV4dHJhIGNvbW1hbmQgbmVlZGVkIGZvciBQYWdlIHJlYWRpbmcgbW9kZS4gVGhpcworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtZXRlciBpcyBtYW5kYXRvcnkgZm9yIHNvbWUgTkFORCBwYXJ0cyBhZnRlciB0aGUgcmVhZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbW1hbmQgKE5BTkRfQ01EX0FSRUFfVFJVRTEpIGFuZCBiZWZvcmUgREFUQSByZWFkaW5nIHNlcXVlbmNlLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEV4YW1wbGU6IFRvc2hpYmEgVEhUSDU4QllHM1MwSEJBSTYuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY291bGQgYmUgRU5BQkxFIG9yIERJU0FCTEUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQbGVhc2UgY2hlY2sgdGhlIFJlYWQgTW9kZSBzZXF1bmVjZSBpbiB0aGUgTkFORCBkZXZpY2UgZGF0YXNoZWV0ICovCi19TkFORF9EZXZpY2VDb25maWdUeXBlRGVmOyAKK30gTkFORF9EZXZpY2VDb25maWdUeXBlRGVmOwogCi0vKiogCisvKioKICAgKiBAYnJpZWYgIE5BTkQgaGFuZGxlIFN0cnVjdHVyZSBkZWZpbml0aW9uCiAgICovCiAjaWYgKFVTRV9IQUxfTkFORF9SRUdJU1RFUl9DQUxMQkFDS1MgPT0gMSkKQEAgLTEzMSw3ICsxMjQsNyBAQAogI2VuZGlmIC8qIFVTRV9IQUxfTkFORF9SRUdJU1RFUl9DQUxMQkFDS1MgICovCiB7CiAgIEZNQ19OQU5EX1R5cGVEZWYgICAgICAgICAgICAgICAqSW5zdGFuY2U7ICAvKiE8IFJlZ2lzdGVyIGJhc2UgYWRkcmVzcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCi0gIAorCiAgIEZNQ19OQU5EX0luaXRUeXBlRGVmICAgICAgICAgICBJbml0OyAgICAgICAvKiE8IE5BTkQgZGV2aWNlIGNvbnRyb2wgY29uZmlndXJhdGlvbiBwYXJhbWV0ZXJzICAgICAgICAgICovCiAKICAgSEFMX0xvY2tUeXBlRGVmICAgICAgICAgICAgICAgIExvY2s7ICAgICAgIC8qITwgTkFORCBsb2NraW5nIG9iamVjdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KQEAgLTE0MSwxMCArMTM0LDEwIEBACiAgIE5BTkRfRGV2aWNlQ29uZmlnVHlwZURlZiAgICAgICBDb25maWc7ICAgICAvKiE8IE5BTkQgcGh1c2ljYWwgY2hhcmFjdGVyaXN0aWMgaW5mb3JtYXRpb24gc3RydWN0dXJlICAgICovCiAKICNpZiAoVVNFX0hBTF9OQU5EX1JFR0lTVEVSX0NBTExCQUNLUyA9PSAxKQotICB2b2lkICAoKiBNc3BJbml0Q2FsbGJhY2spICAgICAgICAoIHN0cnVjdCBfX05BTkRfSGFuZGxlVHlwZURlZiAqIGhuYW5kKTsgICAgLyohPCBOQU5EIE1zcCBJbml0IGNhbGxiYWNrICAgICAgICAgICAgICAqLwotICB2b2lkICAoKiBNc3BEZUluaXRDYWxsYmFjaykgICAgICAoIHN0cnVjdCBfX05BTkRfSGFuZGxlVHlwZURlZiAqIGhuYW5kKTsgICAgLyohPCBOQU5EIE1zcCBEZUluaXQgY2FsbGJhY2sgICAgICAgICAgICAqLwotICB2b2lkICAoKiBJdENhbGxiYWNrKSAgICAgICAgICAgICAoIHN0cnVjdCBfX05BTkRfSGFuZGxlVHlwZURlZiAqIGhuYW5kKTsgICAgLyohPCBOQU5EIElUIGNhbGxiYWNrICAgICAgICAgICAgICAgICAgICAqLwotI2VuZGlmCisgIHZvaWQgKCogTXNwSW5pdENhbGxiYWNrKShzdHJ1Y3QgX19OQU5EX0hhbmRsZVR5cGVEZWYgKmhuYW5kKTsgICAgICAgICAgICAgICAvKiE8IE5BTkQgTXNwIEluaXQgY2FsbGJhY2sgICAgICAgICAgICAgICovCisgIHZvaWQgKCogTXNwRGVJbml0Q2FsbGJhY2spKHN0cnVjdCBfX05BTkRfSGFuZGxlVHlwZURlZiAqaG5hbmQpOyAgICAgICAgICAgICAvKiE8IE5BTkQgTXNwIERlSW5pdCBjYWxsYmFjayAgICAgICAgICAgICovCisgIHZvaWQgKCogSXRDYWxsYmFjaykoc3RydWN0IF9fTkFORF9IYW5kbGVUeXBlRGVmICpobmFuZCk7ICAgICAgICAgICAgICAgICAgICAvKiE8IE5BTkQgSVQgY2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICovCisjZW5kaWYgLyogVVNFX0hBTF9OQU5EX1JFR0lTVEVSX0NBTExCQUNLUyAqLwogfSBOQU5EX0hhbmRsZVR5cGVEZWY7CiAKICNpZiAoVVNFX0hBTF9OQU5EX1JFR0lTVEVSX0NBTExCQUNLUyA9PSAxKQpAQCAtMTU2LDIzICsxNDksMjMgQEAKICAgSEFMX05BTkRfTVNQX0lOSVRfQ0JfSUQgICAgICAgPSAweDAwVSwgIC8qITwgTkFORCBNc3BJbml0IENhbGxiYWNrIElEICAgICAgICAgICovCiAgIEhBTF9OQU5EX01TUF9ERUlOSVRfQ0JfSUQgICAgID0gMHgwMVUsICAvKiE8IE5BTkQgTXNwRGVJbml0IENhbGxiYWNrIElEICAgICAgICAqLwogICBIQUxfTkFORF9JVF9DQl9JRCAgICAgICAgICAgICA9IDB4MDJVICAgLyohPCBOQU5EIElUIENhbGxiYWNrIElEICAgICAgICAgICAgICAgKi8KLX1IQUxfTkFORF9DYWxsYmFja0lEVHlwZURlZjsKK30gSEFMX05BTkRfQ2FsbGJhY2tJRFR5cGVEZWY7CiAKIC8qKgogICAqIEBicmllZiAgSEFMIE5BTkQgQ2FsbGJhY2sgcG9pbnRlciBkZWZpbml0aW9uCiAgICovCiB0eXBlZGVmIHZvaWQgKCpwTkFORF9DYWxsYmFja1R5cGVEZWYpKE5BTkRfSGFuZGxlVHlwZURlZiAqaG5hbmQpOwotI2VuZGlmCisjZW5kaWYgLyogVVNFX0hBTF9OQU5EX1JFR0lTVEVSX0NBTExCQUNLUyAqLwogCiAvKioKICAgKiBAfQogICAqLwogCiAvKiBFeHBvcnRlZCBjb25zdGFudHMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwotLyogRXhwb3J0ZWQgbWFjcm9zIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisvKiBFeHBvcnRlZCBtYWNybyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogLyoqIEBkZWZncm91cCBOQU5EX0V4cG9ydGVkX01hY3JvcyBOQU5EIEV4cG9ydGVkIE1hY3JvcwotICogQHsKLSAqLyAKKyAgKiBAeworICAqLwogCiAvKiogQGJyaWVmIFJlc2V0IE5BTkQgaGFuZGxlIHN0YXRlCiAgICogQHBhcmFtICBfX0hBTkRMRV9fIHNwZWNpZmllcyB0aGUgTkFORCBoYW5kbGUuCkBAIC0xODYsNyArMTc5LDcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IHdoaWxlKDApCiAjZWxzZQogI2RlZmluZSBfX0hBTF9OQU5EX1JFU0VUX0hBTkRMRV9TVEFURShfX0hBTkRMRV9fKSAoKF9fSEFORExFX18pLT5TdGF0ZSA9IEhBTF9OQU5EX1NUQVRFX1JFU0VUKQotI2VuZGlmCisjZW5kaWYgLyogVVNFX0hBTF9OQU5EX1JFR0lTVEVSX0NBTExCQUNLUyAqLwogCiAvKioKICAgKiBAfQpAQCAtMTk2LDE0ICsxODksMTQgQEAKIC8qKiBAYWRkdG9ncm91cCBOQU5EX0V4cG9ydGVkX0Z1bmN0aW9ucyBOQU5EIEV4cG9ydGVkIEZ1bmN0aW9ucwogICAqIEB7CiAgICovCi0gICAgCi0vKiogQGFkZHRvZ3JvdXAgTkFORF9FeHBvcnRlZF9GdW5jdGlvbnNfR3JvdXAxIEluaXRpYWxpemF0aW9uIGFuZCBkZS1pbml0aWFsaXphdGlvbiBmdW5jdGlvbnMgCisKKy8qKiBAYWRkdG9ncm91cCBOQU5EX0V4cG9ydGVkX0Z1bmN0aW9uc19Hcm91cDEgSW5pdGlhbGl6YXRpb24gYW5kIGRlLWluaXRpYWxpemF0aW9uIGZ1bmN0aW9ucwogICAqIEB7CiAgICovCiAKIC8qIEluaXRpYWxpemF0aW9uL2RlLWluaXRpYWxpemF0aW9uIGZ1bmN0aW9ucyAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi0vKiBJbml0aWFsaXphdGlvbi9kZS1pbml0aWFsaXphdGlvbiBmdW5jdGlvbnMgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwotSEFMX1N0YXR1c1R5cGVEZWYgIEhBTF9OQU5EX0luaXQoTkFORF9IYW5kbGVUeXBlRGVmICpobmFuZCwgRk1DX05BTkRfUENDX1RpbWluZ1R5cGVEZWYgKkNvbVNwYWNlX1RpbWluZywgRk1DX05BTkRfUENDX1RpbWluZ1R5cGVEZWYgKkF0dFNwYWNlX1RpbWluZyk7CitIQUxfU3RhdHVzVHlwZURlZiAgSEFMX05BTkRfSW5pdChOQU5EX0hhbmRsZVR5cGVEZWYgKmhuYW5kLCBGTUNfTkFORF9QQ0NfVGltaW5nVHlwZURlZiAqQ29tU3BhY2VfVGltaW5nLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRk1DX05BTkRfUENDX1RpbWluZ1R5cGVEZWYgKkF0dFNwYWNlX1RpbWluZyk7CiBIQUxfU3RhdHVzVHlwZURlZiAgSEFMX05BTkRfRGVJbml0KE5BTkRfSGFuZGxlVHlwZURlZiAqaG5hbmQpOwogCiBIQUxfU3RhdHVzVHlwZURlZiAgSEFMX05BTkRfQ29uZmlnRGV2aWNlKE5BTkRfSGFuZGxlVHlwZURlZiAqaG5hbmQsIE5BTkRfRGV2aWNlQ29uZmlnVHlwZURlZiAqcERldmljZUNvbmZpZyk7CkBAIC0yMTgsNDAgKzIxMSw0OCBAQAogLyoqCiAgICogQH0KICAgKi8KLSAgCi0vKiogQGFkZHRvZ3JvdXAgTkFORF9FeHBvcnRlZF9GdW5jdGlvbnNfR3JvdXAyIElucHV0IGFuZCBPdXRwdXQgZnVuY3Rpb25zIAorCisvKiogQGFkZHRvZ3JvdXAgTkFORF9FeHBvcnRlZF9GdW5jdGlvbnNfR3JvdXAyIElucHV0IGFuZCBPdXRwdXQgZnVuY3Rpb25zCiAgICogQHsKICAgKi8KIAogLyogSU8gb3BlcmF0aW9uIGZ1bmN0aW9ucyAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KIEhBTF9TdGF0dXNUeXBlRGVmICBIQUxfTkFORF9SZXNldChOQU5EX0hhbmRsZVR5cGVEZWYgKmhuYW5kKTsKIAotSEFMX1N0YXR1c1R5cGVEZWYgIEhBTF9OQU5EX1JlYWRfUGFnZV84YihOQU5EX0hhbmRsZVR5cGVEZWYgKmhuYW5kLCBOQU5EX0FkZHJlc3NUeXBlRGVmICpwQWRkcmVzcywgdWludDhfdCAqcEJ1ZmZlciwgdWludDMyX3QgTnVtUGFnZVRvUmVhZCk7Ci1IQUxfU3RhdHVzVHlwZURlZiAgSEFMX05BTkRfV3JpdGVfUGFnZV84YihOQU5EX0hhbmRsZVR5cGVEZWYgKmhuYW5kLCBOQU5EX0FkZHJlc3NUeXBlRGVmICpwQWRkcmVzcywgdWludDhfdCAqcEJ1ZmZlciwgdWludDMyX3QgTnVtUGFnZVRvV3JpdGUpOwotSEFMX1N0YXR1c1R5cGVEZWYgIEhBTF9OQU5EX1JlYWRfU3BhcmVBcmVhXzhiKE5BTkRfSGFuZGxlVHlwZURlZiAqaG5hbmQsIE5BTkRfQWRkcmVzc1R5cGVEZWYgKnBBZGRyZXNzLCB1aW50OF90ICpwQnVmZmVyLCB1aW50MzJfdCBOdW1TcGFyZUFyZWFUb1JlYWQpOwotSEFMX1N0YXR1c1R5cGVEZWYgIEhBTF9OQU5EX1dyaXRlX1NwYXJlQXJlYV84YihOQU5EX0hhbmRsZVR5cGVEZWYgKmhuYW5kLCBOQU5EX0FkZHJlc3NUeXBlRGVmICpwQWRkcmVzcywgdWludDhfdCAqcEJ1ZmZlciwgdWludDMyX3QgTnVtU3BhcmVBcmVhVG93cml0ZSk7CitIQUxfU3RhdHVzVHlwZURlZiAgSEFMX05BTkRfUmVhZF9QYWdlXzhiKE5BTkRfSGFuZGxlVHlwZURlZiAqaG5hbmQsIE5BTkRfQWRkcmVzc1R5cGVEZWYgKnBBZGRyZXNzLCB1aW50OF90ICpwQnVmZmVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBOdW1QYWdlVG9SZWFkKTsKK0hBTF9TdGF0dXNUeXBlRGVmICBIQUxfTkFORF9Xcml0ZV9QYWdlXzhiKE5BTkRfSGFuZGxlVHlwZURlZiAqaG5hbmQsIE5BTkRfQWRkcmVzc1R5cGVEZWYgKnBBZGRyZXNzLCB1aW50OF90ICpwQnVmZmVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgTnVtUGFnZVRvV3JpdGUpOworSEFMX1N0YXR1c1R5cGVEZWYgIEhBTF9OQU5EX1JlYWRfU3BhcmVBcmVhXzhiKE5BTkRfSGFuZGxlVHlwZURlZiAqaG5hbmQsIE5BTkRfQWRkcmVzc1R5cGVEZWYgKnBBZGRyZXNzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QgKnBCdWZmZXIsIHVpbnQzMl90IE51bVNwYXJlQXJlYVRvUmVhZCk7CitIQUxfU3RhdHVzVHlwZURlZiAgSEFMX05BTkRfV3JpdGVfU3BhcmVBcmVhXzhiKE5BTkRfSGFuZGxlVHlwZURlZiAqaG5hbmQsIE5BTkRfQWRkcmVzc1R5cGVEZWYgKnBBZGRyZXNzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90ICpwQnVmZmVyLCB1aW50MzJfdCBOdW1TcGFyZUFyZWFUb3dyaXRlKTsKIAotSEFMX1N0YXR1c1R5cGVEZWYgIEhBTF9OQU5EX1JlYWRfUGFnZV8xNmIoTkFORF9IYW5kbGVUeXBlRGVmICpobmFuZCwgTkFORF9BZGRyZXNzVHlwZURlZiAqcEFkZHJlc3MsIHVpbnQxNl90ICpwQnVmZmVyLCB1aW50MzJfdCBOdW1QYWdlVG9SZWFkKTsKLUhBTF9TdGF0dXNUeXBlRGVmICBIQUxfTkFORF9Xcml0ZV9QYWdlXzE2YihOQU5EX0hhbmRsZVR5cGVEZWYgKmhuYW5kLCBOQU5EX0FkZHJlc3NUeXBlRGVmICpwQWRkcmVzcywgdWludDE2X3QgKnBCdWZmZXIsIHVpbnQzMl90IE51bVBhZ2VUb1dyaXRlKTsKLUhBTF9TdGF0dXNUeXBlRGVmICBIQUxfTkFORF9SZWFkX1NwYXJlQXJlYV8xNmIoTkFORF9IYW5kbGVUeXBlRGVmICpobmFuZCwgTkFORF9BZGRyZXNzVHlwZURlZiAqcEFkZHJlc3MsIHVpbnQxNl90ICpwQnVmZmVyLCB1aW50MzJfdCBOdW1TcGFyZUFyZWFUb1JlYWQpOwotSEFMX1N0YXR1c1R5cGVEZWYgIEhBTF9OQU5EX1dyaXRlX1NwYXJlQXJlYV8xNmIoTkFORF9IYW5kbGVUeXBlRGVmICpobmFuZCwgTkFORF9BZGRyZXNzVHlwZURlZiAqcEFkZHJlc3MsIHVpbnQxNl90ICpwQnVmZmVyLCB1aW50MzJfdCBOdW1TcGFyZUFyZWFUb3dyaXRlKTsKK0hBTF9TdGF0dXNUeXBlRGVmICBIQUxfTkFORF9SZWFkX1BhZ2VfMTZiKE5BTkRfSGFuZGxlVHlwZURlZiAqaG5hbmQsIE5BTkRfQWRkcmVzc1R5cGVEZWYgKnBBZGRyZXNzLCB1aW50MTZfdCAqcEJ1ZmZlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IE51bVBhZ2VUb1JlYWQpOworSEFMX1N0YXR1c1R5cGVEZWYgIEhBTF9OQU5EX1dyaXRlX1BhZ2VfMTZiKE5BTkRfSGFuZGxlVHlwZURlZiAqaG5hbmQsIE5BTkRfQWRkcmVzc1R5cGVEZWYgKnBBZGRyZXNzLCB1aW50MTZfdCAqcEJ1ZmZlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBOdW1QYWdlVG9Xcml0ZSk7CitIQUxfU3RhdHVzVHlwZURlZiAgSEFMX05BTkRfUmVhZF9TcGFyZUFyZWFfMTZiKE5BTkRfSGFuZGxlVHlwZURlZiAqaG5hbmQsIE5BTkRfQWRkcmVzc1R5cGVEZWYgKnBBZGRyZXNzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MTZfdCAqcEJ1ZmZlciwgdWludDMyX3QgTnVtU3BhcmVBcmVhVG9SZWFkKTsKK0hBTF9TdGF0dXNUeXBlRGVmICBIQUxfTkFORF9Xcml0ZV9TcGFyZUFyZWFfMTZiKE5BTkRfSGFuZGxlVHlwZURlZiAqaG5hbmQsIE5BTkRfQWRkcmVzc1R5cGVEZWYgKnBBZGRyZXNzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDE2X3QgKnBCdWZmZXIsIHVpbnQzMl90IE51bVNwYXJlQXJlYVRvd3JpdGUpOwogCiBIQUxfU3RhdHVzVHlwZURlZiAgSEFMX05BTkRfRXJhc2VfQmxvY2soTkFORF9IYW5kbGVUeXBlRGVmICpobmFuZCwgTkFORF9BZGRyZXNzVHlwZURlZiAqcEFkZHJlc3MpOwogCi11aW50MzJfdCAgICAgICAgICAgSEFMX05BTkRfUmVhZF9TdGF0dXMoTkFORF9IYW5kbGVUeXBlRGVmICpobmFuZCk7CiB1aW50MzJfdCAgICAgICAgICAgSEFMX05BTkRfQWRkcmVzc19JbmMoTkFORF9IYW5kbGVUeXBlRGVmICpobmFuZCwgTkFORF9BZGRyZXNzVHlwZURlZiAqcEFkZHJlc3MpOwogCiAjaWYgKFVTRV9IQUxfTkFORF9SRUdJU1RFUl9DQUxMQkFDS1MgPT0gMSkKIC8qIE5BTkQgY2FsbGJhY2sgcmVnaXN0ZXJpbmcvdW5yZWdpc3RlcmluZyAqLwotSEFMX1N0YXR1c1R5cGVEZWYgIEhBTF9OQU5EX1JlZ2lzdGVyQ2FsbGJhY2soTkFORF9IYW5kbGVUeXBlRGVmICpobmFuZCwgSEFMX05BTkRfQ2FsbGJhY2tJRFR5cGVEZWYgQ2FsbGJhY2tJZCwgcE5BTkRfQ2FsbGJhY2tUeXBlRGVmIHBDYWxsYmFjayk7CitIQUxfU3RhdHVzVHlwZURlZiAgSEFMX05BTkRfUmVnaXN0ZXJDYWxsYmFjayhOQU5EX0hhbmRsZVR5cGVEZWYgKmhuYW5kLCBIQUxfTkFORF9DYWxsYmFja0lEVHlwZURlZiBDYWxsYmFja0lkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcE5BTkRfQ2FsbGJhY2tUeXBlRGVmIHBDYWxsYmFjayk7CiBIQUxfU3RhdHVzVHlwZURlZiAgSEFMX05BTkRfVW5SZWdpc3RlckNhbGxiYWNrKE5BTkRfSGFuZGxlVHlwZURlZiAqaG5hbmQsIEhBTF9OQU5EX0NhbGxiYWNrSURUeXBlRGVmIENhbGxiYWNrSWQpOwotI2VuZGlmCisjZW5kaWYgLyogVVNFX0hBTF9OQU5EX1JFR0lTVEVSX0NBTExCQUNLUyAqLwogCiAvKioKICAgKiBAfQogICAqLwogCi0vKiogQGFkZHRvZ3JvdXAgTkFORF9FeHBvcnRlZF9GdW5jdGlvbnNfR3JvdXAzIFBlcmlwaGVyYWwgQ29udHJvbCBmdW5jdGlvbnMgCisvKiogQGFkZHRvZ3JvdXAgTkFORF9FeHBvcnRlZF9GdW5jdGlvbnNfR3JvdXAzIFBlcmlwaGVyYWwgQ29udHJvbCBmdW5jdGlvbnMKICAgKiBAewogICAqLwogCkBAIC0yNjMsMTIgKzI2NCwxMyBAQAogLyoqCiAgICogQH0KICAgKi8KLSAgICAKLS8qKiBAYWRkdG9ncm91cCBOQU5EX0V4cG9ydGVkX0Z1bmN0aW9uc19Hcm91cDQgUGVyaXBoZXJhbCBTdGF0ZSBmdW5jdGlvbnMgCisKKy8qKiBAYWRkdG9ncm91cCBOQU5EX0V4cG9ydGVkX0Z1bmN0aW9uc19Hcm91cDQgUGVyaXBoZXJhbCBTdGF0ZSBmdW5jdGlvbnMKICAgKiBAewogICAqLwogLyogTkFORCBTdGF0ZSBmdW5jdGlvbnMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KIEhBTF9OQU5EX1N0YXRlVHlwZURlZiBIQUxfTkFORF9HZXRTdGF0ZShOQU5EX0hhbmRsZVR5cGVEZWYgKmhuYW5kKTsKK3VpbnQzMl90ICAgICAgICAgICAgICBIQUxfTkFORF9SZWFkX1N0YXR1cyhOQU5EX0hhbmRsZVR5cGVEZWYgKmhuYW5kKTsKIC8qKgogICAqIEB9CiAgICovCkBAIC0yNzYsMTkgKzI3OCwyMyBAQAogLyoqCiAgICogQH0KICAgKi8KLSAgICAKKwogLyogUHJpdmF0ZSB0eXBlcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KIC8qIFByaXZhdGUgdmFyaWFibGVzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAvKiBQcml2YXRlIGNvbnN0YW50cyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogLyoqIEBkZWZncm91cCBOQU5EX1ByaXZhdGVfQ29uc3RhbnRzIE5BTkQgUHJpdmF0ZSBDb25zdGFudHMKICAgKiBAewogICAqLwotI2RlZmluZSBOQU5EX0RFVklDRTEgICAgICAgICAgICAgICAweDcwMDAwMDAwVSAKLSNkZWZpbmUgTkFORF9ERVZJQ0UyICAgICAgICAgICAgICAgMHg4MDAwMDAwMFUgCi0jZGVmaW5lIE5BTkRfV1JJVEVfVElNRU9VVCAgICAgICAgIDB4MDEwMDAwMDBVCisjaWYgZGVmaW5lZChGTUNfQmFuazJfMykKKyNkZWZpbmUgTkFORF9ERVZJQ0UxICAgICAgICAgICAgICAgMHg3MDAwMDAwMFVMCisjZGVmaW5lIE5BTkRfREVWSUNFMiAgICAgICAgICAgICAgIDB4ODAwMDAwMDBVTAorI2Vsc2UKKyNkZWZpbmUgTkFORF9ERVZJQ0UgICAgICAgICAgICAgICAgMHg4MDAwMDAwMFVMCisjZW5kaWYKKyNkZWZpbmUgTkFORF9XUklURV9USU1FT1VUICAgICAgICAgMHgwMTAwMDAwMFVMCiAKLSNkZWZpbmUgQ01EX0FSRUEgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkoMVU8PDE2VSkpICAvKiBBMTYgPSBDTEUgaGlnaCAqLwotI2RlZmluZSBBRERSX0FSRUEgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KSgxVTw8MTdVKSkgIC8qIEExNyA9IEFMRSBoaWdoICovCisjZGVmaW5lIENNRF9BUkVBICAgICAgICAgICAgICAgICAgICgxVUw8PDE2VSkgIC8qIEExNiA9IENMRSBoaWdoICovCisjZGVmaW5lIEFERFJfQVJFQSAgICAgICAgICAgICAgICAgICgxVUw8PDE3VSkgIC8qIEExNyA9IEFMRSBoaWdoICovCiAKICNkZWZpbmUgTkFORF9DTURfQVJFQV9BICAgICAgICAgICAgKCh1aW50OF90KTB4MDApCiAjZGVmaW5lIE5BTkRfQ01EX0FSRUFfQiAgICAgICAgICAgICgodWludDhfdCkweDAxKQpAQCAtMzA1LDEyICszMTEsMTIgQEAKICNkZWZpbmUgTkFORF9DTURfUkVTRVQgICAgICAgICAgICAgKCh1aW50OF90KTB4RkYpCiAKIC8qIE5BTkQgbWVtb3J5IHN0YXR1cyAqLwotI2RlZmluZSBOQU5EX1ZBTElEX0FERFJFU1MgICAgICAgICAweDAwMDAwMTAwVQotI2RlZmluZSBOQU5EX0lOVkFMSURfQUREUkVTUyAgICAgICAweDAwMDAwMjAwVQotI2RlZmluZSBOQU5EX1RJTUVPVVRfRVJST1IgICAgICAgICAweDAwMDAwNDAwVQotI2RlZmluZSBOQU5EX0JVU1kgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwVQotI2RlZmluZSBOQU5EX0VSUk9SICAgICAgICAgICAgICAgICAweDAwMDAwMDAxVQotI2RlZmluZSBOQU5EX1JFQURZICAgICAgICAgICAgICAgICAweDAwMDAwMDQwVQorI2RlZmluZSBOQU5EX1ZBTElEX0FERFJFU1MgICAgICAgICAweDAwMDAwMTAwVUwKKyNkZWZpbmUgTkFORF9JTlZBTElEX0FERFJFU1MgICAgICAgMHgwMDAwMDIwMFVMCisjZGVmaW5lIE5BTkRfVElNRU9VVF9FUlJPUiAgICAgICAgIDB4MDAwMDA0MDBVTAorI2RlZmluZSBOQU5EX0JVU1kgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwVUwKKyNkZWZpbmUgTkFORF9FUlJPUiAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMVVMCisjZGVmaW5lIE5BTkRfUkVBRFkgICAgICAgICAgICAgICAgIDB4MDAwMDAwNDBVTAogLyoqCiAgICogQH0KICAgKi8KQEAgLTMyMywxMSArMzI5LDE0IEBACiAvKioKICAgKiBAYnJpZWYgIE5BTkQgbWVtb3J5IGFkZHJlc3MgY29tcHV0YXRpb24uCiAgICogQHBhcmFtICBfX0FERFJFU1NfXyBOQU5EIG1lbW9yeSBhZGRyZXNzLgotICAqIEBwYXJhbSAgX19IQU5ETEVfXyBOQU5EIGhhbmRsZS4KKyAgKiBAcGFyYW0gIF9fSEFORExFX18gIE5BTkQgaGFuZGxlLgogICAqIEByZXR2YWwgTkFORCBSYXcgYWRkcmVzcyB2YWx1ZQogICAqLwogI2RlZmluZSBBUlJBWV9BRERSRVNTKF9fQUREUkVTU19fICwgX19IQU5ETEVfXykgKChfX0FERFJFU1NfXyktPlBhZ2UgKyBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgKCgoX19BRERSRVNTX18pLT5CbG9jayArICgoKF9fQUREUkVTU19fKS0+UGxhbmUpICogKChfX0hBTkRMRV9fKS0+Q29uZmlnLlBsYW5lU2l6ZSkpKSogKChfX0hBTkRMRV9fKS0+Q29uZmlnLkJsb2NrU2l6ZSkpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoKF9fQUREUkVTU19fKS0+QmxvY2sgKyBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKChfX0FERFJFU1NfXyktPlBsYW5lKSAqIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fSEFORExFX18pLT5Db25maWcuUGxhbmVTaXplKSkpICogXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fSEFORExFX18pLT5Db25maWcuQmxvY2tTaXplKSkpCiAKIC8qKgogICAqIEBicmllZiAgTkFORCBtZW1vcnkgQ29sdW1uIGFkZHJlc3MgY29tcHV0YXRpb24uCkBAIC0zNTEsMzEgKzM2MCwyOSBAQAogICAqIEBwYXJhbSAgX19BRERSRVNTX18gTkFORCBtZW1vcnkgYWRkcmVzcy4KICAgKiBAcmV0dmFsIE5BTkQgQ29sdW1uIGFkZHJlc3MgY3ljbGluZyB2YWx1ZS4KICAgKi8KLSNkZWZpbmUgQ09MVU1OXzFTVF9DWUNMRShfX0FERFJFU1NfXykgICAgICAgKHVpbnQ4X3QpKF9fQUREUkVTU19fKSAgICAgICAgICAgICAgLyogMXN0IENvbHVtbiBhZGRyZXNzaW5nIGN5Y2xlICovCisjZGVmaW5lIENPTFVNTl8xU1RfQ1lDTEUoX19BRERSRVNTX18pICAgICAgICh1aW50OF90KSgoX19BRERSRVNTX18pICYgMHhGRlUpICAgIC8qIDFzdCBDb2x1bW4gYWRkcmVzc2luZyBjeWNsZSAqLwogI2RlZmluZSBDT0xVTU5fMk5EX0NZQ0xFKF9fQUREUkVTU19fKSAgICAgICAodWludDhfdCkoKF9fQUREUkVTU19fKSA+PiA4KSAgICAgICAvKiAybmQgQ29sdW1uIGFkZHJlc3NpbmcgY3ljbGUgKi8KIAogLyoqCiAgICogQH0KICAgKi8KLSNlbmRpZiAvKiBTVE0zMkY0MDV4eCB8fCBTVE0zMkY0MTV4eCB8fCBTVE0zMkY0MDd4eCB8fCBTVE0zMkY0MTd4eCB8fFwKLSAgICAgICAgICBTVE0zMkY0Mjd4eCB8fCBTVE0zMkY0Mzd4eCB8fCBTVE0zMkY0Mjl4eCB8fCBTVE0zMkY0Mzl4eCB8fFwKLSAgICAgICAgICBTVE0zMkY0NDZ4eCB8fCBTVE0zMkY0Njl4eCB8fCBTVE0zMkY0Nzl4eCAqLwotICAgIAotLyoqCi0gICogQH0KLSAgKi8KLS8qKgotICAqIEB9Ci0gICovIAogCiAvKioKICAgKiBAfQotICAqLyAKKyAgKi8KKworLyoqCisgICogQH0KKyAgKi8KKworLyoqCisgICogQH0KKyAgKi8KKworI2VuZGlmIC8qIEZNQ19CYW5rMykgfHwgZGVmaW5lZChGTUNfQmFuazJfMykgfHwgZGVmaW5lZChGU01DX0JhbmsyXzMgKi8KIAogI2lmZGVmIF9fY3BsdXNwbHVzCiB9CiAjZW5kaWYKIAotI2VuZGlmIC8qIF9fU1RNMzJGNHh4X0hBTF9OQU5EX0ggKi8KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKiAoQykgQ09QWVJJR0hUIFNUTWljcm9lbGVjdHJvbmljcyAqKioqKkVORCBPRiBGSUxFKioqKi8KKyNlbmRpZiAvKiBTVE0zMkY0eHhfSEFMX05BTkRfSCAqLwpkaWZmIC0tZ2l0IGEvSW5jL3N0bTMyZjR4eF9oYWxfbm9yLmggYi9JbmMvc3RtMzJmNHh4X2hhbF9ub3IuaAppbmRleCBkY2QyNWM1Li5jYzdmMWI1IDEwMDY0NAotLS0gYS9JbmMvc3RtMzJmNHh4X2hhbF9ub3IuaAorKysgYi9JbmMvc3RtMzJmNHh4X2hhbF9ub3IuaApAQCAtNiwzNSArNiwzMiBAQAogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKiBAYXR0ZW50aW9uCiAgICoKLSAgKiA8aDI+PGNlbnRlcj4mY29weTsgQ29weXJpZ2h0IChjKSAyMDE3IFNUTWljcm9lbGVjdHJvbmljcy4KLSAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvY2VudGVyPjwvaDI+CisgICogQ29weXJpZ2h0IChjKSAyMDE2IFNUTWljcm9lbGVjdHJvbmljcy4KKyAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAqCi0gICogVGhpcyBzb2Z0d2FyZSBjb21wb25lbnQgaXMgbGljZW5zZWQgYnkgU1QgdW5kZXIgQlNEIDMtQ2xhdXNlIGxpY2Vuc2UsCi0gICogdGhlICJMaWNlbnNlIjsgWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZQotICAqIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdDoKLSAgKiAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZQorICAqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgdW5kZXIgdGVybXMgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZQorICAqIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvZnR3YXJlIGNvbXBvbmVudC4KKyAgKiBJZiBubyBMSUNFTlNFIGZpbGUgY29tZXMgd2l0aCB0aGlzIHNvZnR3YXJlLCBpdCBpcyBwcm92aWRlZCBBUy1JUy4KICAgKgogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAgKi8gCisgICovCiAKIC8qIERlZmluZSB0byBwcmV2ZW50IHJlY3Vyc2l2ZSBpbmNsdXNpb24gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCi0jaWZuZGVmIF9fU1RNMzJGNHh4X0hBTF9OT1JfSAotI2RlZmluZSBfX1NUTTMyRjR4eF9IQUxfTk9SX0gKKyNpZm5kZWYgU1RNMzJGNHh4X0hBTF9OT1JfSAorI2RlZmluZSBTVE0zMkY0eHhfSEFMX05PUl9ICiAKICNpZmRlZiBfX2NwbHVzcGx1cwotIGV4dGVybiAiQyIgeworZXh0ZXJuICJDIiB7CiAjZW5kaWYKIAotLyogSW5jbHVkZXMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KLSNpZiBkZWZpbmVkKFNUTTMyRjQwNXh4KSB8fCBkZWZpbmVkKFNUTTMyRjQxNXh4KSB8fCBkZWZpbmVkKFNUTTMyRjQwN3h4KSB8fCBkZWZpbmVkKFNUTTMyRjQxN3h4KSB8fCBkZWZpbmVkKFNUTTMyRjQxMlp4KSB8fFwKLSAgICBkZWZpbmVkKFNUTTMyRjQxMlZ4KSB8fCBkZWZpbmVkKFNUTTMyRjQxMlJ4KSB8fCBkZWZpbmVkKFNUTTMyRjQxM3h4KSB8fCBkZWZpbmVkKFNUTTMyRjQyM3h4KQotICAjaW5jbHVkZSAic3RtMzJmNHh4X2xsX2ZzbWMuaCIKLSNlbmRpZiAvKiBTVE0zMkY0MDV4eCB8fCBTVE0zMkY0MTV4eCB8fCBTVE0zMkY0MDd4eCB8fCBTVE0zMkY0MTd4eCB8fCBTVE0zMkY0MTJaeCB8fCBTVE0zMkY0MTJWeCB8fCBTVE0zMkY0MTJSeCB8fCBTVE0zMkY0MTN4eCB8fCBTVE0zMkY0MjN4eCAqLworI2lmIGRlZmluZWQoRk1DX0JhbmsxKSB8fCBkZWZpbmVkKEZTTUNfQmFuazEpCiAKLSNpZiBkZWZpbmVkKFNUTTMyRjQyN3h4KSB8fCBkZWZpbmVkKFNUTTMyRjQzN3h4KSB8fCBkZWZpbmVkKFNUTTMyRjQyOXh4KSB8fCBkZWZpbmVkKFNUTTMyRjQzOXh4KSB8fFwKLSAgICBkZWZpbmVkKFNUTTMyRjQ0Nnh4KSB8fCBkZWZpbmVkKFNUTTMyRjQ2OXh4KSB8fCBkZWZpbmVkKFNUTTMyRjQ3OXh4KQotICAjaW5jbHVkZSAic3RtMzJmNHh4X2xsX2ZtYy5oIgotI2VuZGlmIC8qIFNUTTMyRjQyN3h4IHx8IFNUTTMyRjQzN3h4IHx8IFNUTTMyRjQyOXh4IHx8IFNUTTMyRjQzOXh4IHx8IFNUTTMyRjQ0Nnh4IHx8IFNUTTMyRjQ2OXh4IHx8IFNUTTMyRjQ3OXh4ICovCisvKiBJbmNsdWRlcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworI2lmIGRlZmluZWQoRlNNQ19CYW5rMSkKKyNpbmNsdWRlICJzdG0zMmY0eHhfbGxfZnNtYy5oIgorI2Vsc2UKKyNpbmNsdWRlICJzdG0zMmY0eHhfbGxfZm1jLmgiCisjZW5kaWYgLyogRk1DX0JhbmsxICovCiAKIC8qKiBAYWRkdG9ncm91cCBTVE0zMkY0eHhfSEFMX0RyaXZlcgogICAqIEB7CkBAIC00MiwyOSArMzksMjQgQEAKIAogLyoqIEBhZGR0b2dyb3VwIE5PUgogICAqIEB7Ci0gICovIAotCi0jaWYgZGVmaW5lZChTVE0zMkY0MDV4eCkgfHwgZGVmaW5lZChTVE0zMkY0MTV4eCkgfHwgZGVmaW5lZChTVE0zMkY0MDd4eCkgfHwgZGVmaW5lZChTVE0zMkY0MTd4eCkgfHxcCi0gICAgZGVmaW5lZChTVE0zMkY0Mjd4eCkgfHwgZGVmaW5lZChTVE0zMkY0Mzd4eCkgfHwgZGVmaW5lZChTVE0zMkY0Mjl4eCkgfHwgZGVmaW5lZChTVE0zMkY0Mzl4eCkgfHxcCi0gICAgZGVmaW5lZChTVE0zMkY0NDZ4eCkgfHwgZGVmaW5lZChTVE0zMkY0Njl4eCkgfHwgZGVmaW5lZChTVE0zMkY0Nzl4eCkgfHwgZGVmaW5lZChTVE0zMkY0MTJaeCkgfHxcCi0gICAgZGVmaW5lZChTVE0zMkY0MTJWeCkgfHwgZGVmaW5lZChTVE0zMkY0MTJSeCkgfHwgZGVmaW5lZChTVE0zMkY0MTN4eCkgfHwgZGVmaW5lZChTVE0zMkY0MjN4eCkKKyAgKi8KIAogLyogRXhwb3J0ZWQgdHlwZWRlZiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KIC8qKiBAZGVmZ3JvdXAgTk9SX0V4cG9ydGVkX1R5cGVzIE5PUiBFeHBvcnRlZCBUeXBlcwogICAqIEB7CiAgICovCiAKLS8qKiAKLSAgKiBAYnJpZWYgIEhBTCBTUkFNIFN0YXRlIHN0cnVjdHVyZXMgZGVmaW5pdGlvbiAgCi0gICovIAorLyoqCisgICogQGJyaWVmICBIQUwgU1JBTSBTdGF0ZSBzdHJ1Y3R1cmVzIGRlZmluaXRpb24KKyAgKi8KIHR5cGVkZWYgZW51bQoteyAgCit7CiAgIEhBTF9OT1JfU1RBVEVfUkVTRVQgICAgICAgICAgICAgPSAweDAwVSwgIC8qITwgTk9SIG5vdCB5ZXQgaW5pdGlhbGl6ZWQgb3IgZGlzYWJsZWQgICovCiAgIEhBTF9OT1JfU1RBVEVfUkVBRFkgICAgICAgICAgICAgPSAweDAxVSwgIC8qITwgTk9SIGluaXRpYWxpemVkIGFuZCByZWFkeSBmb3IgdXNlICAgICovCiAgIEhBTF9OT1JfU1RBVEVfQlVTWSAgICAgICAgICAgICAgPSAweDAyVSwgIC8qITwgTk9SIGludGVybmFsIHByb2Nlc3NpbmcgaXMgb25nb2luZyAgICovCiAgIEhBTF9OT1JfU1RBVEVfRVJST1IgICAgICAgICAgICAgPSAweDAzVSwgIC8qITwgTk9SIGVycm9yIHN0YXRlICAgICAgICAgICAgICAgICAgICAgICovCiAgIEhBTF9OT1JfU1RBVEVfUFJPVEVDVEVEICAgICAgICAgPSAweDA0VSAgIC8qITwgTk9SIE5PUlNSQU0gZGV2aWNlIHdyaXRlIHByb3RlY3RlZCAgICovCi19SEFMX05PUl9TdGF0ZVR5cGVEZWY7Cit9IEhBTF9OT1JfU3RhdGVUeXBlRGVmOwogCiAvKioKICAgKiBAYnJpZWYgIEZNQyBOT1IgU3RhdHVzIHR5cGVkZWYKQEAgLTc1LDcgKzY3LDcgQEAKICAgSEFMX05PUl9TVEFUVVNfT05HT0lORywKICAgSEFMX05PUl9TVEFUVVNfRVJST1IsCiAgIEhBTF9OT1JfU1RBVFVTX1RJTUVPVVQKLX1IQUxfTk9SX1N0YXR1c1R5cGVEZWY7Cit9IEhBTF9OT1JfU3RhdHVzVHlwZURlZjsKIAogLyoqCiAgICogQGJyaWVmICBGTUMgTk9SIElEIHR5cGVkZWYKQEAgLTg4LDExICs4MCwxMSBAQAogCiAgIHVpbnQxNl90IERldmljZV9Db2RlMjsKIAotICB1aW50MTZfdCBEZXZpY2VfQ29kZTM7ICAgICAgIC8qITwgRGVmaW5lcyB0aGUgZGV2aWNlJ3MgY29kZXMgdXNlZCB0byBpZGVudGlmeSB0aGUgbWVtb3J5LiAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoZXNlIGNvZGVzIGNhbiBiZSBhY2Nlc3NlZCBieSBwZXJmb3JtaW5nIHJlYWQgb3BlcmF0aW9ucyB3aXRoIHNwZWNpZmljIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udHJvbCBzaWduYWxzIGFuZCBhZGRyZXNzZXMgc2V0LlRoZXkgY2FuIGFsc28gYmUgYWNjZXNzZWQgYnkgaXNzdWluZyAKKyAgdWludDE2X3QgRGV2aWNlX0NvZGUzOyAgICAgICAvKiE8IERlZmluZXMgdGhlIGRldmljZSdzIGNvZGVzIHVzZWQgdG8gaWRlbnRpZnkgdGhlIG1lbW9yeS4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoZXNlIGNvZGVzIGNhbiBiZSBhY2Nlc3NlZCBieSBwZXJmb3JtaW5nIHJlYWQgb3BlcmF0aW9ucyB3aXRoIHNwZWNpZmljCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250cm9sIHNpZ25hbHMgYW5kIGFkZHJlc3NlcyBzZXQuVGhleSBjYW4gYWxzbyBiZSBhY2Nlc3NlZCBieSBpc3N1aW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbiBBdXRvIFNlbGVjdCBjb21tYW5kICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KLX1OT1JfSURUeXBlRGVmOworfSBOT1JfSURUeXBlRGVmOwogCiAvKioKICAgKiBAYnJpZWYgIEZNQyBOT1IgQ0ZJIHR5cGVkZWYKQEAgLTEwMCw3ICs5Miw3IEBACiB0eXBlZGVmIHN0cnVjdAogewogICAvKiE8IERlZmluZXMgdGhlIGluZm9ybWF0aW9uIHN0b3JlZCBpbiB0aGUgbWVtb3J5J3MgQ29tbW9uIGZsYXNoIGludGVyZmFjZQotICAgICAgIHdoaWNoIGNvbnRhaW5zIGEgZGVzY3JpcHRpb24gb2YgdmFyaW91cyBlbGVjdHJpY2FsIGFuZCB0aW1pbmcgcGFyYW1ldGVycywgCisgICAgICAgd2hpY2ggY29udGFpbnMgYSBkZXNjcmlwdGlvbiBvZiB2YXJpb3VzIGVsZWN0cmljYWwgYW5kIHRpbWluZyBwYXJhbWV0ZXJzLAogICAgICAgIGRlbnNpdHkgaW5mb3JtYXRpb24gYW5kIGZ1bmN0aW9ucyBzdXBwb3J0ZWQgYnkgdGhlIG1lbW9yeSAgICAgICAgICAgICAgICAgICAqLwogCiAgIHVpbnQxNl90IENGSV8xOwpAQCAtMTEwLDkgKzEwMiw5IEBACiAgIHVpbnQxNl90IENGSV8zOwogCiAgIHVpbnQxNl90IENGSV80OwotfU5PUl9DRklUeXBlRGVmOworfSBOT1JfQ0ZJVHlwZURlZjsKIAotLyoqIAorLyoqCiAgICogQGJyaWVmICBOT1IgaGFuZGxlIFN0cnVjdHVyZSBkZWZpbml0aW9uCiAgICovCiAjaWYgKFVTRV9IQUxfTk9SX1JFR0lTVEVSX0NBTExCQUNLUyA9PSAxKQpAQCAtMTMyLDEwICsxMjQsMTIgQEAKIAogICBfX0lPIEhBTF9OT1JfU3RhdGVUeXBlRGVmICAgICBTdGF0ZTsgICAgICAgIC8qITwgTk9SIGRldmljZSBhY2Nlc3Mgc3RhdGUgICAgICAgICAgICAgICAgICAgICAgKi8KIAorICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgICBDb21tYW5kU2V0OyAgIC8qITwgTk9SIGFsZ29yaXRobSBjb21tYW5kIHNldCBhbmQgY29udHJvbCAgICAgICAgKi8KKwogI2lmIChVU0VfSEFMX05PUl9SRUdJU1RFUl9DQUxMQkFDS1MgPT0gMSkKLSAgdm9pZCAgKCogTXNwSW5pdENhbGxiYWNrKSAgICAgICAgKCBzdHJ1Y3QgX19OT1JfSGFuZGxlVHlwZURlZiAqIGhub3IpOyAgICAvKiE8IE5PUiBNc3AgSW5pdCBjYWxsYmFjayAgICAgICAgICAgICAgKi8KLSAgdm9pZCAgKCogTXNwRGVJbml0Q2FsbGJhY2spICAgICAgKCBzdHJ1Y3QgX19OT1JfSGFuZGxlVHlwZURlZiAqIGhub3IpOyAgICAvKiE8IE5PUiBNc3AgRGVJbml0IGNhbGxiYWNrICAgICAgICAgICAgKi8KLSNlbmRpZgorICB2b2lkICgqIE1zcEluaXRDYWxsYmFjaykoc3RydWN0IF9fTk9SX0hhbmRsZVR5cGVEZWYgKmhub3IpOyAgICAgICAgICAgICAgIC8qITwgTk9SIE1zcCBJbml0IGNhbGxiYWNrICAgICAgICAgICAgICAqLworICB2b2lkICgqIE1zcERlSW5pdENhbGxiYWNrKShzdHJ1Y3QgX19OT1JfSGFuZGxlVHlwZURlZiAqaG5vcik7ICAgICAgICAgICAgIC8qITwgTk9SIE1zcCBEZUluaXQgY2FsbGJhY2sgICAgICAgICAgICAqLworI2VuZGlmIC8qIFVTRV9IQUxfTk9SX1JFR0lTVEVSX0NBTExCQUNLUyAqLwogfSBOT1JfSGFuZGxlVHlwZURlZjsKIAogI2lmIChVU0VfSEFMX05PUl9SRUdJU1RFUl9DQUxMQkFDS1MgPT0gMSkKQEAgLTE0NiwxOSArMTQwLDE5IEBACiB7CiAgIEhBTF9OT1JfTVNQX0lOSVRfQ0JfSUQgICAgICAgPSAweDAwVSwgIC8qITwgTk9SIE1zcEluaXQgQ2FsbGJhY2sgSUQgICAgICAgICAgKi8KICAgSEFMX05PUl9NU1BfREVJTklUX0NCX0lEICAgICA9IDB4MDFVICAgLyohPCBOT1IgTXNwRGVJbml0IENhbGxiYWNrIElEICAgICAgICAqLwotfUhBTF9OT1JfQ2FsbGJhY2tJRFR5cGVEZWY7Cit9IEhBTF9OT1JfQ2FsbGJhY2tJRFR5cGVEZWY7CiAKIC8qKgogICAqIEBicmllZiAgSEFMIE5PUiBDYWxsYmFjayBwb2ludGVyIGRlZmluaXRpb24KICAgKi8KIHR5cGVkZWYgdm9pZCAoKnBOT1JfQ2FsbGJhY2tUeXBlRGVmKShOT1JfSGFuZGxlVHlwZURlZiAqaG5vcik7Ci0jZW5kaWYKKyNlbmRpZiAvKiBVU0VfSEFMX05PUl9SRUdJU1RFUl9DQUxMQkFDS1MgKi8KIC8qKgogICAqIEB9CiAgICovCi0gIAorCiAvKiBFeHBvcnRlZCBjb25zdGFudHMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwotLyogRXhwb3J0ZWQgbWFjcm9zIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisvKiBFeHBvcnRlZCBtYWNybyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogLyoqIEBkZWZncm91cCBOT1JfRXhwb3J0ZWRfTWFjcm9zIE5PUiBFeHBvcnRlZCBNYWNyb3MKICAgKiBAewogICAqLwpAQCAtMTc0LDIxICsxNjgsMjMgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IHdoaWxlKDApCiAjZWxzZQogI2RlZmluZSBfX0hBTF9OT1JfUkVTRVRfSEFORExFX1NUQVRFKF9fSEFORExFX18pICgoX19IQU5ETEVfXyktPlN0YXRlID0gSEFMX05PUl9TVEFURV9SRVNFVCkKLSNlbmRpZgorI2VuZGlmIC8qIFVTRV9IQUxfTk9SX1JFR0lTVEVSX0NBTExCQUNLUyAqLwogLyoqCiAgICogQH0KICAgKi8KIAogLyogRXhwb3J0ZWQgZnVuY3Rpb25zIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KLS8qKiBAYWRkdG9ncm91cCBOT1JfRXhwb3J0ZWRfRnVuY3Rpb25zIAotICogIEB7Ci0gKi8KKy8qKiBAYWRkdG9ncm91cCBOT1JfRXhwb3J0ZWRfRnVuY3Rpb25zIE5PUiBFeHBvcnRlZCBGdW5jdGlvbnMKKyAgKiBAeworICAqLwogCi0vKiogQGFkZHRvZ3JvdXAgTk9SX0V4cG9ydGVkX0Z1bmN0aW9uc19Hcm91cDEKLSAqICBAewotICovCisvKiogQGFkZHRvZ3JvdXAgTk9SX0V4cG9ydGVkX0Z1bmN0aW9uc19Hcm91cDEgSW5pdGlhbGl6YXRpb24gYW5kIGRlLWluaXRpYWxpemF0aW9uIGZ1bmN0aW9ucworICAqIEB7CisgICovCisKIC8qIEluaXRpYWxpemF0aW9uL2RlLWluaXRpYWxpemF0aW9uIGZ1bmN0aW9ucyAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi1IQUxfU3RhdHVzVHlwZURlZiBIQUxfTk9SX0luaXQoTk9SX0hhbmRsZVR5cGVEZWYgKmhub3IsIEZNQ19OT1JTUkFNX1RpbWluZ1R5cGVEZWYgKlRpbWluZywgRk1DX05PUlNSQU1fVGltaW5nVHlwZURlZiAqRXh0VGltaW5nKTsKK0hBTF9TdGF0dXNUeXBlRGVmIEhBTF9OT1JfSW5pdChOT1JfSGFuZGxlVHlwZURlZiAqaG5vciwgRk1DX05PUlNSQU1fVGltaW5nVHlwZURlZiAqVGltaW5nLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZNQ19OT1JTUkFNX1RpbWluZ1R5cGVEZWYgKkV4dFRpbWluZyk7CiBIQUxfU3RhdHVzVHlwZURlZiBIQUxfTk9SX0RlSW5pdChOT1JfSGFuZGxlVHlwZURlZiAqaG5vcik7CiB2b2lkIEhBTF9OT1JfTXNwSW5pdChOT1JfSGFuZGxlVHlwZURlZiAqaG5vcik7CiB2b2lkIEhBTF9OT1JfTXNwRGVJbml0KE5PUl9IYW5kbGVUeXBlRGVmICpobm9yKTsKQEAgLTE5NiwxOCArMTkyLDIxIEBACiAvKioKICAgKiBAfQogICAqLwotICAKLS8qKiBAYWRkdG9ncm91cCBOT1JfRXhwb3J0ZWRfRnVuY3Rpb25zX0dyb3VwMgotICogIEB7Ci0gKi8KKworLyoqIEBhZGR0b2dyb3VwIE5PUl9FeHBvcnRlZF9GdW5jdGlvbnNfR3JvdXAyIElucHV0IGFuZCBPdXRwdXQgZnVuY3Rpb25zCisgICogQHsKKyAgKi8KKwogLyogSS9PIG9wZXJhdGlvbiBmdW5jdGlvbnMgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KIEhBTF9TdGF0dXNUeXBlRGVmIEhBTF9OT1JfUmVhZF9JRChOT1JfSGFuZGxlVHlwZURlZiAqaG5vciwgTk9SX0lEVHlwZURlZiAqcE5PUl9JRCk7CiBIQUxfU3RhdHVzVHlwZURlZiBIQUxfTk9SX1JldHVyblRvUmVhZE1vZGUoTk9SX0hhbmRsZVR5cGVEZWYgKmhub3IpOwogSEFMX1N0YXR1c1R5cGVEZWYgSEFMX05PUl9SZWFkKE5PUl9IYW5kbGVUeXBlRGVmICpobm9yLCB1aW50MzJfdCAqcEFkZHJlc3MsIHVpbnQxNl90ICpwRGF0YSk7CiBIQUxfU3RhdHVzVHlwZURlZiBIQUxfTk9SX1Byb2dyYW0oTk9SX0hhbmRsZVR5cGVEZWYgKmhub3IsIHVpbnQzMl90ICpwQWRkcmVzcywgdWludDE2X3QgKnBEYXRhKTsKIAotSEFMX1N0YXR1c1R5cGVEZWYgSEFMX05PUl9SZWFkQnVmZmVyKE5PUl9IYW5kbGVUeXBlRGVmICpobm9yLCB1aW50MzJfdCB1d0FkZHJlc3MsIHVpbnQxNl90ICpwRGF0YSwgdWludDMyX3QgdXdCdWZmZXJTaXplKTsKLUhBTF9TdGF0dXNUeXBlRGVmIEhBTF9OT1JfUHJvZ3JhbUJ1ZmZlcihOT1JfSGFuZGxlVHlwZURlZiAqaG5vciwgdWludDMyX3QgdXdBZGRyZXNzLCB1aW50MTZfdCAqcERhdGEsIHVpbnQzMl90IHV3QnVmZmVyU2l6ZSk7CitIQUxfU3RhdHVzVHlwZURlZiBIQUxfTk9SX1JlYWRCdWZmZXIoTk9SX0hhbmRsZVR5cGVEZWYgKmhub3IsIHVpbnQzMl90IHV3QWRkcmVzcywgdWludDE2X3QgKnBEYXRhLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHV3QnVmZmVyU2l6ZSk7CitIQUxfU3RhdHVzVHlwZURlZiBIQUxfTk9SX1Byb2dyYW1CdWZmZXIoTk9SX0hhbmRsZVR5cGVEZWYgKmhub3IsIHVpbnQzMl90IHV3QWRkcmVzcywgdWludDE2X3QgKnBEYXRhLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHV3QnVmZmVyU2l6ZSk7CiAKIEhBTF9TdGF0dXNUeXBlRGVmIEhBTF9OT1JfRXJhc2VfQmxvY2soTk9SX0hhbmRsZVR5cGVEZWYgKmhub3IsIHVpbnQzMl90IEJsb2NrQWRkcmVzcywgdWludDMyX3QgQWRkcmVzcyk7CiBIQUxfU3RhdHVzVHlwZURlZiBIQUxfTk9SX0VyYXNlX0NoaXAoTk9SX0hhbmRsZVR5cGVEZWYgKmhub3IsIHVpbnQzMl90IEFkZHJlc3MpOwpAQCAtMjE1LDM3ICsyMTQsNDAgQEAKIAogI2lmIChVU0VfSEFMX05PUl9SRUdJU1RFUl9DQUxMQkFDS1MgPT0gMSkKIC8qIE5PUiBjYWxsYmFjayByZWdpc3RlcmluZy91bnJlZ2lzdGVyaW5nICovCi1IQUxfU3RhdHVzVHlwZURlZiBIQUxfTk9SX1JlZ2lzdGVyQ2FsbGJhY2soTk9SX0hhbmRsZVR5cGVEZWYgKmhub3IsIEhBTF9OT1JfQ2FsbGJhY2tJRFR5cGVEZWYgQ2FsbGJhY2tJZCwgcE5PUl9DYWxsYmFja1R5cGVEZWYgcENhbGxiYWNrKTsKK0hBTF9TdGF0dXNUeXBlRGVmIEhBTF9OT1JfUmVnaXN0ZXJDYWxsYmFjayhOT1JfSGFuZGxlVHlwZURlZiAqaG5vciwgSEFMX05PUl9DYWxsYmFja0lEVHlwZURlZiBDYWxsYmFja0lkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBOT1JfQ2FsbGJhY2tUeXBlRGVmIHBDYWxsYmFjayk7CiBIQUxfU3RhdHVzVHlwZURlZiBIQUxfTk9SX1VuUmVnaXN0ZXJDYWxsYmFjayhOT1JfSGFuZGxlVHlwZURlZiAqaG5vciwgSEFMX05PUl9DYWxsYmFja0lEVHlwZURlZiBDYWxsYmFja0lkKTsKLSNlbmRpZgorI2VuZGlmIC8qIFVTRV9IQUxfTk9SX1JFR0lTVEVSX0NBTExCQUNLUyAqLwogLyoqCiAgICogQH0KICAgKi8KLSAgCi0vKiogQGFkZHRvZ3JvdXAgTk9SX0V4cG9ydGVkX0Z1bmN0aW9uc19Hcm91cDMKLSAqICBAewotICovCisKKy8qKiBAYWRkdG9ncm91cCBOT1JfRXhwb3J0ZWRfRnVuY3Rpb25zX0dyb3VwMyBOT1IgQ29udHJvbCBmdW5jdGlvbnMKKyAgKiBAeworICAqLworCiAvKiBOT1IgQ29udHJvbCBmdW5jdGlvbnMgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwogSEFMX1N0YXR1c1R5cGVEZWYgSEFMX05PUl9Xcml0ZU9wZXJhdGlvbl9FbmFibGUoTk9SX0hhbmRsZVR5cGVEZWYgKmhub3IpOwogSEFMX1N0YXR1c1R5cGVEZWYgSEFMX05PUl9Xcml0ZU9wZXJhdGlvbl9EaXNhYmxlKE5PUl9IYW5kbGVUeXBlRGVmICpobm9yKTsKIC8qKgogICAqIEB9CiAgICovCi0gIAotLyoqIEBhZGR0b2dyb3VwIE5PUl9FeHBvcnRlZF9GdW5jdGlvbnNfR3JvdXA0Ci0gKiAgQHsKLSAqLworCisvKiogQGFkZHRvZ3JvdXAgTk9SX0V4cG9ydGVkX0Z1bmN0aW9uc19Hcm91cDQgTk9SIFN0YXRlIGZ1bmN0aW9ucworICAqIEB7CisgICovCisKIC8qIE5PUiBTdGF0ZSBmdW5jdGlvbnMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiBIQUxfTk9SX1N0YXRlVHlwZURlZiAgSEFMX05PUl9HZXRTdGF0ZShOT1JfSGFuZGxlVHlwZURlZiAqaG5vcik7CiBIQUxfTk9SX1N0YXR1c1R5cGVEZWYgSEFMX05PUl9HZXRTdGF0dXMoTk9SX0hhbmRsZVR5cGVEZWYgKmhub3IsIHVpbnQzMl90IEFkZHJlc3MsIHVpbnQzMl90IFRpbWVvdXQpOwogLyoqCiAgICogQH0KICAgKi8KLSAgICAKKwogLyoqCiAgICogQH0KICAgKi8KLSAgCisKIC8qIFByaXZhdGUgdHlwZXMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAvKiBQcml2YXRlIHZhcmlhYmxlcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogLyogUHJpdmF0ZSBjb25zdGFudHMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KQEAgLTI2NiwxNiArMjY4LDE2IEBACiAKIC8qIE5PUiBvcGVyYXRpb24gd2FpdCB0aW1lb3V0ICovCiAjZGVmaW5lIE5PUl9UTUVPVVQgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4RkZGRikKLSAgIAorCiAvKiBOT1IgbWVtb3J5IGRhdGEgd2lkdGggKi8KICNkZWZpbmUgTk9SX01FTU9SWV84QiAgICAgICAgICAgICgodWludDhfdCkweDAwKQogI2RlZmluZSBOT1JfTUVNT1JZXzE2QiAgICAgICAgICAgKCh1aW50OF90KTB4MDEpCiAKIC8qIE5PUiBtZW1vcnkgZGV2aWNlIHJlYWQvd3JpdGUgc3RhcnQgYWRkcmVzcyAqLwotI2RlZmluZSBOT1JfTUVNT1JZX0FEUkVTUzEgICAgICAgMHg2MDAwMDAwMFUKLSNkZWZpbmUgTk9SX01FTU9SWV9BRFJFU1MyICAgICAgIDB4NjQwMDAwMDBVCi0jZGVmaW5lIE5PUl9NRU1PUllfQURSRVNTMyAgICAgICAweDY4MDAwMDAwVQotI2RlZmluZSBOT1JfTUVNT1JZX0FEUkVTUzQgICAgICAgMHg2QzAwMDAwMFUKKyNkZWZpbmUgTk9SX01FTU9SWV9BRFJFU1MxICAgICAgICgweDYwMDAwMDAwVSkKKyNkZWZpbmUgTk9SX01FTU9SWV9BRFJFU1MyICAgICAgICgweDY0MDAwMDAwVSkKKyNkZWZpbmUgTk9SX01FTU9SWV9BRFJFU1MzICAgICAgICgweDY4MDAwMDAwVSkKKyNkZWZpbmUgTk9SX01FTU9SWV9BRFJFU1M0ICAgICAgICgweDZDMDAwMDAwVSkKIC8qKgogICAqIEB9CiAgICovCkBAIC0yODYsNDEgKzI4OCw0MyBAQAogICAqLwogLyoqCiAgICogQGJyaWVmICBOT1IgbWVtb3J5IGFkZHJlc3Mgc2hpZnRpbmcuCi0gICogQHBhcmFtICBfX05PUl9BRERSRVNTX18gTk9SIGJhc2UgYWRkcmVzcyAKLSAgKiBAcGFyYW0gIE5PUl9NRU1PUllfV0lEVEggTk9SIG1lbW9yeSB3aWR0aAotICAqIEBwYXJhbSAgQUREUkVTUyBOT1IgbWVtb3J5IGFkZHJlc3MgCisgICogQHBhcmFtICBfX05PUl9BRERSRVNTIE5PUiBiYXNlIGFkZHJlc3MKKyAgKiBAcGFyYW0gIF9fTk9SX01FTU9SWV9XSURUSF8gTk9SIG1lbW9yeSB3aWR0aAorICAqIEBwYXJhbSAgX19BRERSRVNTX18gTk9SIG1lbW9yeSBhZGRyZXNzCiAgICogQHJldHZhbCBOT1Igc2hpZnRlZCBhZGRyZXNzIHZhbHVlCiAgICovCi0jZGVmaW5lIE5PUl9BRERSX1NISUZUKF9fTk9SX0FERFJFU1NfXywgTk9SX01FTU9SWV9XSURUSCwgQUREUkVTUykgICAgKHVpbnQzMl90KSgoKE5PUl9NRU1PUllfV0lEVEgpID09IE5PUl9NRU1PUllfMTZCKT8gKCh1aW50MzJfdCkoKF9fTk9SX0FERFJFU1NfXykgKyAoMlUgKiAoQUREUkVTUykpKSk6XAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkoKF9fTk9SX0FERFJFU1NfXykgKyAoQUREUkVTUykpKSkKLSAKKyNkZWZpbmUgTk9SX0FERFJfU0hJRlQoX19OT1JfQUREUkVTUywgX19OT1JfTUVNT1JZX1dJRFRIXywgX19BRERSRVNTX18pICAgICAgICAgXAorICAoKHVpbnQzMl90KSgoKF9fTk9SX01FTU9SWV9XSURUSF8pID09IE5PUl9NRU1PUllfMTZCKT8gICAgICAgICAgICBcCisgICAgICAgICAgICAgICgodWludDMyX3QpKChfX05PUl9BRERSRVNTKSArICgyVSAqIChfX0FERFJFU1NfXykpKSk6ICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICgodWludDMyX3QpKChfX05PUl9BRERSRVNTKSArIChfX0FERFJFU1NfXykpKSkpCisKIC8qKgogICAqIEBicmllZiAgTk9SIG1lbW9yeSB3cml0ZSBkYXRhIHRvIHNwZWNpZmllZCBhZGRyZXNzLgotICAqIEBwYXJhbSAgQUREUkVTUyBOT1IgbWVtb3J5IGFkZHJlc3MgCi0gICogQHBhcmFtICBEQVRBIERhdGEgdG8gd3JpdGUKKyAgKiBAcGFyYW0gIF9fQUREUkVTU19fIE5PUiBtZW1vcnkgYWRkcmVzcworICAqIEBwYXJhbSAgX19EQVRBX18gRGF0YSB0byB3cml0ZQogICAqIEByZXR2YWwgTm9uZQogICAqLwotI2RlZmluZSBOT1JfV1JJVEUoQUREUkVTUywgREFUQSkgICgqKF9fSU8gdWludDE2X3QgKikoKHVpbnQzMl90KShBRERSRVNTKSkgPSAoREFUQSkpCisjZGVmaW5lIE5PUl9XUklURShfX0FERFJFU1NfXywgX19EQVRBX18pICAgZG97ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCooX19JTyB1aW50MTZfdCAqKSgodWludDMyX3QpKF9fQUREUkVTU19fKSkgPSAoX19EQVRBX18pKTsgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX0RTQigpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IHdoaWxlKDApCiAKIC8qKgogICAqIEB9CiAgICovCi0jZW5kaWYgLyogU1RNMzJGNDA1eHggfHwgU1RNMzJGNDE1eHggfHwgU1RNMzJGNDA3eHggfHwgU1RNMzJGNDE3eHggfHxcCi0gICAgICAgICAgU1RNMzJGNDI3eHggfHwgU1RNMzJGNDM3eHggfHwgU1RNMzJGNDI5eHggfHwgU1RNMzJGNDM5eHggfHxcCi0gICAgICAgICAgU1RNMzJGNDQ2eHggfHwgU1RNMzJGNDY5eHggfHwgU1RNMzJGNDc5eHggfHwgU1RNMzJGNDEyWnggfHxcCi0gICAgICAgICAgU1RNMzJGNDEyVnggfHwgU1RNMzJGNDEyUnggfHwgU1RNMzJGNDEzeHggfHwgU1RNMzJGNDIzeHggKi8KLS8qKgotICAqIEB9Ci0gICovIAogCiAvKioKICAgKiBAfQogICAqLwogCisvKioKKyAgKiBAfQorICAqLworCisjZW5kaWYgLyogRk1DX0JhbmsxIHx8IEZTTUNfQmFuazEgKi8KKwogI2lmZGVmIF9fY3BsdXNwbHVzCiB9CiAjZW5kaWYKIAotI2VuZGlmIC8qIF9fU1RNMzJGNHh4X0hBTF9OT1JfSCAqLwotCi0vKioqKioqKioqKioqKioqKioqKioqKioqIChDKSBDT1BZUklHSFQgU1RNaWNyb2VsZWN0cm9uaWNzICoqKioqRU5EIE9GIEZJTEUqKioqLworI2VuZGlmIC8qIFNUTTMyRjR4eF9IQUxfTk9SX0ggKi8KZGlmZiAtLWdpdCBhL0luYy9zdG0zMmY0eHhfaGFsX3BjY2FyZC5oIGIvSW5jL3N0bTMyZjR4eF9oYWxfcGNjYXJkLmgKaW5kZXggNDFkNzgyNC4uNDdmYmIyNiAxMDA2NDQKLS0tIGEvSW5jL3N0bTMyZjR4eF9oYWxfcGNjYXJkLmgKKysrIGIvSW5jL3N0bTMyZjR4eF9oYWxfcGNjYXJkLmgKQEAgLTYsNjAgKzYsNTYgQEAKICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICogQGF0dGVudGlvbgogICAqCi0gICogPGgyPjxjZW50ZXI+JmNvcHk7IENvcHlyaWdodCAoYykgMjAxNyBTVE1pY3JvZWxlY3Ryb25pY3MuCi0gICogQWxsIHJpZ2h0cyByZXNlcnZlZC48L2NlbnRlcj48L2gyPgorICAqIENvcHlyaWdodCAoYykgMjAxNiBTVE1pY3JvZWxlY3Ryb25pY3MuCisgICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgKgotICAqIFRoaXMgc29mdHdhcmUgY29tcG9uZW50IGlzIGxpY2Vuc2VkIGJ5IFNUIHVuZGVyIEJTRCAzLUNsYXVzZSBsaWNlbnNlLAotICAqIHRoZSAiTGljZW5zZSI7IFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUKLSAgKiBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQ6Ci0gICogICAgICAgICAgICAgICAgICAgICAgICBvcGVuc291cmNlLm9yZy9saWNlbnNlcy9CU0QtMy1DbGF1c2UKKyAgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIHVuZGVyIHRlcm1zIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUKKyAgKiBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb2Z0d2FyZSBjb21wb25lbnQuCisgICogSWYgbm8gTElDRU5TRSBmaWxlIGNvbWVzIHdpdGggdGhpcyBzb2Z0d2FyZSwgaXQgaXMgcHJvdmlkZWQgQVMtSVMuCiAgICoKICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gICovIAorICAqLwogCiAvKiBEZWZpbmUgdG8gcHJldmVudCByZWN1cnNpdmUgaW5jbHVzaW9uIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwotI2lmbmRlZiBfX1NUTTMyRjR4eF9IQUxfUENDQVJEX0gKLSNkZWZpbmUgX19TVE0zMkY0eHhfSEFMX1BDQ0FSRF9ICisjaWZuZGVmIFNUTTMyRjR4eF9IQUxfUENDQVJEX0gKKyNkZWZpbmUgU1RNMzJGNHh4X0hBTF9QQ0NBUkRfSAogCiAjaWZkZWYgX19jcGx1c3BsdXMKLSBleHRlcm4gIkMiIHsKK2V4dGVybiAiQyIgewogI2VuZGlmCiAKLS8qIEluY2x1ZGVzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCi0jaWYgZGVmaW5lZChTVE0zMkY0MDV4eCkgfHwgZGVmaW5lZChTVE0zMkY0MTV4eCkgfHwgZGVmaW5lZChTVE0zMkY0MDd4eCkgfHwgZGVmaW5lZChTVE0zMkY0MTd4eCkKLSAgI2luY2x1ZGUgInN0bTMyZjR4eF9sbF9mc21jLmgiCi0jZW5kaWYgLyogU1RNMzJGNDA1eHggfHwgU1RNMzJGNDE1eHggfHwgU1RNMzJGNDA3eHggfHwgU1RNMzJGNDE3eHggKi8KKyNpZiBkZWZpbmVkKEZNQ19CYW5rNCkgfHwgZGVmaW5lZChGU01DX0Jhbms0KQogCi0jaWYgZGVmaW5lZChTVE0zMkY0Mjd4eCkgfHwgZGVmaW5lZChTVE0zMkY0Mzd4eCkgfHwgZGVmaW5lZChTVE0zMkY0Mjl4eCkgfHwgZGVmaW5lZChTVE0zMkY0Mzl4eCkKLSAgI2luY2x1ZGUgInN0bTMyZjR4eF9sbF9mbWMuaCIKLSNlbmRpZiAvKiBTVE0zMkY0Mjd4eCB8fCBTVE0zMkY0Mzd4eCB8fCBTVE0zMkY0Mjl4eCB8fCBTVE0zMkY0Mzl4eCAqLworLyogSW5jbHVkZXMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKyNpZiBkZWZpbmVkKEZTTUNfQmFuazQpCisjaW5jbHVkZSAic3RtMzJmNHh4X2xsX2ZzbWMuaCIKKyNlbHNlCisjaW5jbHVkZSAic3RtMzJmNHh4X2xsX2ZtYy5oIgorI2VuZGlmIC8qIEZTTUNfQmFuazQgKi8KIAogLyoqIEBhZGR0b2dyb3VwIFNUTTMyRjR4eF9IQUxfRHJpdmVyCiAgICogQHsKICAgKi8KIAotI2lmIGRlZmluZWQoU1RNMzJGNDA1eHgpIHx8IGRlZmluZWQoU1RNMzJGNDE1eHgpIHx8IGRlZmluZWQoU1RNMzJGNDA3eHgpIHx8IGRlZmluZWQoU1RNMzJGNDE3eHgpIHx8XAotICAgIGRlZmluZWQoU1RNMzJGNDI3eHgpIHx8IGRlZmluZWQoU1RNMzJGNDM3eHgpIHx8IGRlZmluZWQoU1RNMzJGNDI5eHgpIHx8IGRlZmluZWQoU1RNMzJGNDM5eHgpCi0KIC8qKiBAYWRkdG9ncm91cCBQQ0NBUkQKICAgKiBAewotICAqLyAKKyAgKi8KIAogLyogRXhwb3J0ZWQgdHlwZWRlZiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KIC8qKiBAZGVmZ3JvdXAgUENDQVJEX0V4cG9ydGVkX1R5cGVzIFBDQ0FSRCBFeHBvcnRlZCBUeXBlcwogICAqIEB7CiAgICovCiAKLS8qKiAKLSAgKiBAYnJpZWYgIEhBTCBQQ0NBUkQgU3RhdGUgc3RydWN0dXJlcyBkZWZpbml0aW9uICAKLSAgKi8gCisvKioKKyAgKiBAYnJpZWYgIEhBTCBQQ0NBUkQgU3RhdGUgc3RydWN0dXJlcyBkZWZpbml0aW9uCisgICovCiB0eXBlZGVmIGVudW0KIHsKICAgSEFMX1BDQ0FSRF9TVEFURV9SRVNFVCAgICAgPSAweDAwVSwgICAgLyohPCBQQ0NBUkQgcGVyaXBoZXJhbCBub3QgeWV0IGluaXRpYWxpemVkIG9yIGRpc2FibGVkICovCiAgIEhBTF9QQ0NBUkRfU1RBVEVfUkVBRFkgICAgID0gMHgwMVUsICAgIC8qITwgUENDQVJEIHBlcmlwaGVyYWwgcmVhZHkgICAgICAgICAgICAgICAgICAgICAgICAgICAqLwogICBIQUxfUENDQVJEX1NUQVRFX0JVU1kgICAgICA9IDB4MDJVLCAgICAvKiE8IFBDQ0FSRCBwZXJpcGhlcmFsIGJ1c3kgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KICAgSEFMX1BDQ0FSRF9TVEFURV9FUlJPUiAgICAgPSAweDA0VSAgICAgLyohPCBQQ0NBUkQgcGVyaXBoZXJhbCBlcnJvciAgICAgICAgICAgICAgICAgICAgICAgICAgICovCi19SEFMX1BDQ0FSRF9TdGF0ZVR5cGVEZWY7Cit9IEhBTF9QQ0NBUkRfU3RhdGVUeXBlRGVmOwogCiB0eXBlZGVmIGVudW0KIHsKQEAgLTY3LDE5ICs2MywxOSBAQAogICBIQUxfUENDQVJEX1NUQVRVU19PTkdPSU5HLAogICBIQUxfUENDQVJEX1NUQVRVU19FUlJPUiwKICAgSEFMX1BDQ0FSRF9TVEFUVVNfVElNRU9VVAotfUhBTF9QQ0NBUkRfU3RhdHVzVHlwZURlZjsKK30gSEFMX1BDQ0FSRF9TdGF0dXNUeXBlRGVmOwogCiAvKioKICAgKiBAYnJpZWYgIEZNQ19QQ0NBUkQgaGFuZGxlIFN0cnVjdHVyZSBkZWZpbml0aW9uCiAgICovCi0jaWYgKFVTRV9IQUxfUENDQVJEX1JFR0lTVEVSX0NBTExCQUNLUyA9PSAxKSAgCisjaWYgKFVTRV9IQUxfUENDQVJEX1JFR0lTVEVSX0NBTExCQUNLUyA9PSAxKQogdHlwZWRlZiBzdHJ1Y3QgX19QQ0NBUkRfSGFuZGxlVHlwZURlZgogI2Vsc2UKIHR5cGVkZWYgc3RydWN0CiAjZW5kaWYgLyogVVNFX0hBTF9QQ0NBUkRfUkVHSVNURVJfQ0FMTEJBQ0tTICAqLwogewogICBGTUNfUENDQVJEX1R5cGVEZWYgICAgICAgICAgICpJbnN0YW5jZTsgICAgICAgICAgICAgIC8qITwgUmVnaXN0ZXIgYmFzZSBhZGRyZXNzIGZvciBQQ0NBUkQgZGV2aWNlICAgICAgICAgICovCi0gIAorCiAgIEZNQ19QQ0NBUkRfSW5pdFR5cGVEZWYgICAgICAgSW5pdDsgICAgICAgICAgICAgICAgICAgLyohPCBQQ0NBUkQgZGV2aWNlIGNvbnRyb2wgY29uZmlndXJhdGlvbiBwYXJhbWV0ZXJzICAgKi8KIAogICBfX0lPIEhBTF9QQ0NBUkRfU3RhdGVUeXBlRGVmIFN0YXRlOyAgICAgICAgICAgICAgICAgIC8qITwgUENDQVJEIGRldmljZSBhY2Nlc3Mgc3RhdGUgICAgICAgICAgICAgICAgICAgICAgICovCkBAIC04Nyw5ICs4Myw5IEBACiAgIEhBTF9Mb2NrVHlwZURlZiAgICAgICAgICAgICAgTG9jazsgICAgICAgICAgICAgICAgICAgLyohPCBQQ0NBUkQgTG9jayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KIAogI2lmIChVU0VfSEFMX1BDQ0FSRF9SRUdJU1RFUl9DQUxMQkFDS1MgPT0gMSkKLSAgdm9pZCAgKCogTXNwSW5pdENhbGxiYWNrKSAgICAgICAgKCBzdHJ1Y3QgX19QQ0NBUkRfSGFuZGxlVHlwZURlZiAqIGhwY2NhcmQpOyAgICAvKiE8IFBDQ0FSRCBNc3AgSW5pdCBjYWxsYmFjayAgICAgICAgICAgICAgKi8KLSAgdm9pZCAgKCogTXNwRGVJbml0Q2FsbGJhY2spICAgICAgKCBzdHJ1Y3QgX19QQ0NBUkRfSGFuZGxlVHlwZURlZiAqIGhwY2NhcmQpOyAgICAvKiE8IFBDQ0FSRCBNc3AgRGVJbml0IGNhbGxiYWNrICAgICAgICAgICAgKi8KLSAgdm9pZCAgKCogSXRDYWxsYmFjaykgICAgICAgICAgICAgKCBzdHJ1Y3QgX19QQ0NBUkRfSGFuZGxlVHlwZURlZiAqIGhwY2NhcmQpOyAgICAvKiE8IFBDQ0FSRCBJVCBjYWxsYmFjayAgICAgICAgICAgICAgICAgICAgKi8KKyAgdm9pZCAoKiBNc3BJbml0Q2FsbGJhY2spKHN0cnVjdCBfX1BDQ0FSRF9IYW5kbGVUeXBlRGVmICpocGNjYXJkKTsgICAgICAgICAgICAgICAvKiE8IFBDQ0FSRCBNc3AgSW5pdCBjYWxsYmFjayAgICAgICAgICAgICAgKi8KKyAgdm9pZCAoKiBNc3BEZUluaXRDYWxsYmFjaykoc3RydWN0IF9fUENDQVJEX0hhbmRsZVR5cGVEZWYgKmhwY2NhcmQpOyAgICAgICAgICAgICAvKiE8IFBDQ0FSRCBNc3AgRGVJbml0IGNhbGxiYWNrICAgICAgICAgICAgKi8KKyAgdm9pZCAoKiBJdENhbGxiYWNrKShzdHJ1Y3QgX19QQ0NBUkRfSGFuZGxlVHlwZURlZiAqaHBjY2FyZCk7ICAgICAgICAgICAgICAgICAgICAvKiE8IFBDQ0FSRCBJVCBjYWxsYmFjayAgICAgICAgICAgICAgICAgICAgKi8KICNlbmRpZgogfSBQQ0NBUkRfSGFuZGxlVHlwZURlZjsKIApAQCAtMTAyLDcgKzk4LDcgQEAKICAgSEFMX1BDQ0FSRF9NU1BfSU5JVF9DQl9JRCAgICAgICA9IDB4MDBVLCAgLyohPCBQQ0NBUkQgTXNwSW5pdCBDYWxsYmFjayBJRCAgICAgICAgICAqLwogICBIQUxfUENDQVJEX01TUF9ERUlOSVRfQ0JfSUQgICAgID0gMHgwMVUsICAvKiE8IFBDQ0FSRCBNc3BEZUluaXQgQ2FsbGJhY2sgSUQgICAgICAgICovCiAgIEhBTF9QQ0NBUkRfSVRfQ0JfSUQgICAgICAgICAgICAgPSAweDAyVSAgIC8qITwgUENDQVJEIElUIENhbGxiYWNrIElEICAgICAgICAgICAgICAgKi8KLX1IQUxfUENDQVJEX0NhbGxiYWNrSURUeXBlRGVmOworfSBIQUxfUENDQVJEX0NhbGxiYWNrSURUeXBlRGVmOwogCiAvKioKICAgKiBAYnJpZWYgIEhBTCBQQ0NBUkQgQ2FsbGJhY2sgcG9pbnRlciBkZWZpbml0aW9uCkBAIC0xMzMsMTggKzEyOSwxOSBAQAogI2VuZGlmCiAvKioKICAgKiBAfQotICAqLyAKKyAgKi8KIAogLyogRXhwb3J0ZWQgZnVuY3Rpb25zIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KLS8qKiBAYWRkdG9ncm91cCBQQ0NBUkRfRXhwb3J0ZWRfRnVuY3Rpb25zIAorLyoqIEBhZGR0b2dyb3VwIFBDQ0FSRF9FeHBvcnRlZF9GdW5jdGlvbnMKICAgKiBAewogICAqLwogCi0vKiogQGFkZHRvZ3JvdXAgUENDQVJEX0V4cG9ydGVkX0Z1bmN0aW9uc19Hcm91cDEgCisvKiogQGFkZHRvZ3JvdXAgUENDQVJEX0V4cG9ydGVkX0Z1bmN0aW9uc19Hcm91cDEKICAgKiBAewogICAqLwogLyogSW5pdGlhbGl6YXRpb24vZGUtaW5pdGlhbGl6YXRpb24gZnVuY3Rpb25zICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwotSEFMX1N0YXR1c1R5cGVEZWYgIEhBTF9QQ0NBUkRfSW5pdChQQ0NBUkRfSGFuZGxlVHlwZURlZiAqaHBjY2FyZCwgRk1DX05BTkRfUENDX1RpbWluZ1R5cGVEZWYgKkNvbVNwYWNlVGltaW5nLCBGTUNfTkFORF9QQ0NfVGltaW5nVHlwZURlZiAqQXR0U3BhY2VUaW1pbmcsIEZNQ19OQU5EX1BDQ19UaW1pbmdUeXBlRGVmICpJT1NwYWNlVGltaW5nKTsKK0hBTF9TdGF0dXNUeXBlRGVmICBIQUxfUENDQVJEX0luaXQoUENDQVJEX0hhbmRsZVR5cGVEZWYgKmhwY2NhcmQsIEZNQ19OQU5EX1BDQ19UaW1pbmdUeXBlRGVmICpDb21TcGFjZVRpbWluZywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRk1DX05BTkRfUENDX1RpbWluZ1R5cGVEZWYgKkF0dFNwYWNlVGltaW5nLCBGTUNfTkFORF9QQ0NfVGltaW5nVHlwZURlZiAqSU9TcGFjZVRpbWluZyk7CiBIQUxfU3RhdHVzVHlwZURlZiAgSEFMX1BDQ0FSRF9EZUluaXQoUENDQVJEX0hhbmRsZVR5cGVEZWYgKmhwY2NhcmQpOwogdm9pZCBIQUxfUENDQVJEX01zcEluaXQoUENDQVJEX0hhbmRsZVR5cGVEZWYgKmhwY2NhcmQpOwogdm9pZCBIQUxfUENDQVJEX01zcERlSW5pdChQQ0NBUkRfSGFuZGxlVHlwZURlZiAqaHBjY2FyZCk7CkBAIC0xNTcsOCArMTU0LDEwIEBACiAgICovCiAvKiBJTyBvcGVyYXRpb24gZnVuY3Rpb25zICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KIEhBTF9TdGF0dXNUeXBlRGVmICBIQUxfUENDQVJEX1JlYWRfSUQoUENDQVJEX0hhbmRsZVR5cGVEZWYgKmhwY2NhcmQsIHVpbnQ4X3QgQ29tcGFjdEZsYXNoX0lEW10sIHVpbnQ4X3QgKnBTdGF0dXMpOwotSEFMX1N0YXR1c1R5cGVEZWYgIEhBTF9QQ0NBUkRfV3JpdGVfU2VjdG9yKFBDQ0FSRF9IYW5kbGVUeXBlRGVmICpocGNjYXJkLCB1aW50MTZfdCAqcEJ1ZmZlciwgdWludDE2X3QgU2VjdG9yQWRkcmVzcywgIHVpbnQ4X3QgKnBTdGF0dXMpOwotSEFMX1N0YXR1c1R5cGVEZWYgIEhBTF9QQ0NBUkRfUmVhZF9TZWN0b3IoUENDQVJEX0hhbmRsZVR5cGVEZWYgKmhwY2NhcmQsIHVpbnQxNl90ICpwQnVmZmVyLCB1aW50MTZfdCBTZWN0b3JBZGRyZXNzLCB1aW50OF90ICpwU3RhdHVzKTsKK0hBTF9TdGF0dXNUeXBlRGVmICBIQUxfUENDQVJEX1dyaXRlX1NlY3RvcihQQ0NBUkRfSGFuZGxlVHlwZURlZiAqaHBjY2FyZCwgdWludDE2X3QgKnBCdWZmZXIsIHVpbnQxNl90IFNlY3RvckFkZHJlc3MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDhfdCAqcFN0YXR1cyk7CitIQUxfU3RhdHVzVHlwZURlZiAgSEFMX1BDQ0FSRF9SZWFkX1NlY3RvcihQQ0NBUkRfSGFuZGxlVHlwZURlZiAqaHBjY2FyZCwgdWludDE2X3QgKnBCdWZmZXIsIHVpbnQxNl90IFNlY3RvckFkZHJlc3MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90ICpwU3RhdHVzKTsKIEhBTF9TdGF0dXNUeXBlRGVmICBIQUxfUENDQVJEX0VyYXNlX1NlY3RvcihQQ0NBUkRfSGFuZGxlVHlwZURlZiAqaHBjY2FyZCwgdWludDE2X3QgU2VjdG9yQWRkcmVzcywgdWludDhfdCAqcFN0YXR1cyk7CiBIQUxfU3RhdHVzVHlwZURlZiAgSEFMX1BDQ0FSRF9SZXNldChQQ0NBUkRfSGFuZGxlVHlwZURlZiAqaHBjY2FyZCk7CiB2b2lkICAgICAgICAgICAgICAgSEFMX1BDQ0FSRF9JUlFIYW5kbGVyKFBDQ0FSRF9IYW5kbGVUeXBlRGVmICpocGNjYXJkKTsKQEAgLTE2Niw4ICsxNjUsMTAgQEAKIAogI2lmIChVU0VfSEFMX1BDQ0FSRF9SRUdJU1RFUl9DQUxMQkFDS1MgPT0gMSkKIC8qIFBDQ0FSRCBjYWxsYmFjayByZWdpc3RlcmluZy91bnJlZ2lzdGVyaW5nICovCi1IQUxfU3RhdHVzVHlwZURlZiAgSEFMX1BDQ0FSRF9SZWdpc3RlckNhbGxiYWNrKFBDQ0FSRF9IYW5kbGVUeXBlRGVmICpocGNjYXJkLCBIQUxfUENDQVJEX0NhbGxiYWNrSURUeXBlRGVmIENhbGxiYWNrSWQsIHBQQ0NBUkRfQ2FsbGJhY2tUeXBlRGVmIHBDYWxsYmFjayk7Ci1IQUxfU3RhdHVzVHlwZURlZiAgSEFMX1BDQ0FSRF9VblJlZ2lzdGVyQ2FsbGJhY2soUENDQVJEX0hhbmRsZVR5cGVEZWYgKmhwY2NhcmQsIEhBTF9QQ0NBUkRfQ2FsbGJhY2tJRFR5cGVEZWYgQ2FsbGJhY2tJZCk7CitIQUxfU3RhdHVzVHlwZURlZiAgSEFMX1BDQ0FSRF9SZWdpc3RlckNhbGxiYWNrKFBDQ0FSRF9IYW5kbGVUeXBlRGVmICpocGNjYXJkLCBIQUxfUENDQVJEX0NhbGxiYWNrSURUeXBlRGVmIENhbGxiYWNrSWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBQQ0NBUkRfQ2FsbGJhY2tUeXBlRGVmIHBDYWxsYmFjayk7CitIQUxfU3RhdHVzVHlwZURlZiAgSEFMX1BDQ0FSRF9VblJlZ2lzdGVyQ2FsbGJhY2soUENDQVJEX0hhbmRsZVR5cGVEZWYgKmhwY2NhcmQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX1BDQ0FSRF9DYWxsYmFja0lEVHlwZURlZiBDYWxsYmFja0lkKTsKICNlbmRpZgogLyoqCiAgICogQH0KQEAgLTIyMyw3ICsyMjQsNyBAQAogI2RlZmluZSBQQ0NBUkRfUFJPR1IgICAgICAgICAgICAgICAgICAgKCh1aW50OF90KTB4MDEpCiAjZGVmaW5lIFBDQ0FSRF9SRUFEWSAgICAgICAgICAgICAgICAgICAoKHVpbnQ4X3QpMHg0MCkKIAotI2RlZmluZSBQQ0NBUkRfU0VDVE9SX1NJWkUgICAgICAgICAgICAgMjU1VSAgICAgICAgICAgICAgIC8qIEluIGhhbGYgd29yZHMgKi8gCisjZGVmaW5lIFBDQ0FSRF9TRUNUT1JfU0laRSAgICAgICAgICAgICAyNTVVICAgICAgICAgICAgICAgLyogSW4gaGFsZiB3b3JkcyAqLwogCiAvKioKICAgKiBAfQpAQCAtMjU0LDE0ICsyNTUsMTQgQEAKIAogI2RlZmluZSBDRl9ERVZJQ0VfQUREUkVTUyAgICAgICAgICAgUENDQVJEX0RFVklDRV9BRERSRVNTCiAjZGVmaW5lIENGX0FUVFJJQlVURV9TUEFDRV9BRERSRVNTICBQQ0NBUkRfQVRUUklCVVRFX1NQQUNFX0FERFJFU1MKLSNkZWZpbmUgQ0ZfQ09NTU9OX1NQQUNFX0FERFJFU1MgICAgIFBDQ0FSRF9DT01NT05fU1BBQ0VfQUREUkVTUyAgIAotI2RlZmluZSBDRl9JT19TUEFDRV9BRERSRVNTICAgICAgICAgUENDQVJEX0lPX1NQQUNFX0FERFJFU1MgICAgICAgCi0jZGVmaW5lIENGX0lPX1NQQUNFX1BSSU1BUllfQUREUiAgICBQQ0NBUkRfSU9fU1BBQ0VfUFJJTUFSWV9BRERSICAKKyNkZWZpbmUgQ0ZfQ09NTU9OX1NQQUNFX0FERFJFU1MgICAgIFBDQ0FSRF9DT01NT05fU1BBQ0VfQUREUkVTUworI2RlZmluZSBDRl9JT19TUEFDRV9BRERSRVNTICAgICAgICAgUENDQVJEX0lPX1NQQUNFX0FERFJFU1MKKyNkZWZpbmUgQ0ZfSU9fU1BBQ0VfUFJJTUFSWV9BRERSICAgIFBDQ0FSRF9JT19TUEFDRV9QUklNQVJZX0FERFIKIAogI2RlZmluZSBDRl9USU1FT1VUX0VSUk9SICAgICAgICAgICAgUENDQVJEX1RJTUVPVVRfRVJST1IKLSNkZWZpbmUgQ0ZfQlVTWSAgICAgICAgICAgICAgICAgICAgIFBDQ0FSRF9CVVNZICAgICAgICAgCi0jZGVmaW5lIENGX1BST0dSICAgICAgICAgICAgICAgICAgICBQQ0NBUkRfUFJPR1IgICAgICAgIAotI2RlZmluZSBDRl9SRUFEWSAgICAgICAgICAgICAgICAgICAgUENDQVJEX1JFQURZICAgICAgICAKKyNkZWZpbmUgQ0ZfQlVTWSAgICAgICAgICAgICAgICAgICAgIFBDQ0FSRF9CVVNZCisjZGVmaW5lIENGX1BST0dSICAgICAgICAgICAgICAgICAgICBQQ0NBUkRfUFJPR1IKKyNkZWZpbmUgQ0ZfUkVBRFkgICAgICAgICAgICAgICAgICAgIFBDQ0FSRF9SRUFEWQogCiAjZGVmaW5lIENGX1NFQ1RPUl9TSVpFICAgICAgICAgICAgICBQQ0NBUkRfU0VDVE9SX1NJWkUKIApAQCAtMjcwLDE4ICsyNzEsMTUgQEAKICAgKiBAfQogICAqLwogCi0jZW5kaWYgLyogU1RNMzJGNDA1eHggfHwgU1RNMzJGNDE1eHggfHwgU1RNMzJGNDA3eHggfHwgU1RNMzJGNDE3eHggfHxcCi0gICAgICAgICAgU1RNMzJGNDI3eHggfHwgU1RNMzJGNDM3eHggfHwgU1RNMzJGNDI5eHggfHwgU1RNMzJGNDM5eHggKi8KLQogCiAvKioKICAgKiBAfQogICAqLwotICAKKworI2VuZGlmIC8qICBGTUNfQmFuazQgfHwgRlNNQ19CYW5rNCAqLworCiAjaWZkZWYgX19jcGx1c3BsdXMKIH0KICNlbmRpZgogCi0jZW5kaWYgLyogX19TVE0zMkY0eHhfSEFMX1BDQ0FSRF9IICovCi0KLS8qKioqKioqKioqKioqKioqKioqKioqKiogKEMpIENPUFlSSUdIVCBTVE1pY3JvZWxlY3Ryb25pY3MgKioqKipFTkQgT0YgRklMRSoqKiovCisjZW5kaWYgLyogU1RNMzJGNHh4X0hBTF9QQ0NBUkRfSCAqLwpkaWZmIC0tZ2l0IGEvSW5jL3N0bTMyZjR4eF9oYWxfcGNkLmggYi9JbmMvc3RtMzJmNHh4X2hhbF9wY2QuaAppbmRleCBlMjgyODVkLi45MjQ4OGIyIDEwMDY0NAotLS0gYS9JbmMvc3RtMzJmNHh4X2hhbF9wY2QuaAorKysgYi9JbmMvc3RtMzJmNHh4X2hhbF9wY2QuaApAQCAtNiwxMyArNiwxMiBAQAogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKiBAYXR0ZW50aW9uCiAgICoKLSAgKiA8aDI+PGNlbnRlcj4mY29weTsgQ29weXJpZ2h0IChjKSAyMDE2IFNUTWljcm9lbGVjdHJvbmljcy4KLSAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvY2VudGVyPjwvaDI+CisgICogQ29weXJpZ2h0IChjKSAyMDE2IFNUTWljcm9lbGVjdHJvbmljcy4KKyAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAqCi0gICogVGhpcyBzb2Z0d2FyZSBjb21wb25lbnQgaXMgbGljZW5zZWQgYnkgU1QgdW5kZXIgQlNEIDMtQ2xhdXNlIGxpY2Vuc2UsCi0gICogdGhlICJMaWNlbnNlIjsgWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZQotICAqIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdDoKLSAgKiAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZQorICAqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgdW5kZXIgdGVybXMgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZQorICAqIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvZnR3YXJlIGNvbXBvbmVudC4KKyAgKiBJZiBubyBMSUNFTlNFIGZpbGUgY29tZXMgd2l0aCB0aGlzIHNvZnR3YXJlLCBpdCBpcyBwcm92aWRlZCBBUy1JUy4KICAgKgogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKi8KQEAgLTEwNyw2ICsxMDYsNyBAQAogICB1aW50MzJfdCAgICAgICAgICAgICAgICBTZXR1cFsxMl07ICAgLyohPCBTZXR1cCBwYWNrZXQgYnVmZmVyICAgICAgICAgICAgICAgKi8KICAgUENEX0xQTV9TdGF0ZVR5cGVEZWYgICAgTFBNX1N0YXRlOyAgIC8qITwgTFBNIFN0YXRlICAgICAgICAgICAgICAgICAgICAgICAgICovCiAgIHVpbnQzMl90ICAgICAgICAgICAgICAgIEJFU0w7CisgIHVpbnQzMl90ICAgICAgICAgICAgICAgIEZyYW1lTnVtYmVyOyAvKiE8IFN0b3JlIEN1cnJlbnQgRnJhbWUgbnVtYmVyICAgICAgICAqLwogCiAKICAgdWludDMyX3QgbHBtX2FjdGl2ZTsgICAgICAgICAgICAgICAgIC8qITwgRW5hYmxlIG9yIGRpc2FibGUgdGhlIExpbmsgUG93ZXIgTWFuYWdlbWVudCAuCkBAIC0yOTAsMTIgKzI5MCwxMCBAQAogICAqIEB9CiAgICovCiAKLUhBTF9TdGF0dXNUeXBlRGVmIEhBTF9QQ0RfUmVnaXN0ZXJDYWxsYmFjayhQQ0RfSGFuZGxlVHlwZURlZiAqaHBjZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUxfUENEX0NhbGxiYWNrSURUeXBlRGVmIENhbGxiYWNrSUQsCitIQUxfU3RhdHVzVHlwZURlZiBIQUxfUENEX1JlZ2lzdGVyQ2FsbGJhY2soUENEX0hhbmRsZVR5cGVEZWYgKmhwY2QsIEhBTF9QQ0RfQ2FsbGJhY2tJRFR5cGVEZWYgQ2FsbGJhY2tJRCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwUENEX0NhbGxiYWNrVHlwZURlZiBwQ2FsbGJhY2spOwogCi1IQUxfU3RhdHVzVHlwZURlZiBIQUxfUENEX1VuUmVnaXN0ZXJDYWxsYmFjayhQQ0RfSGFuZGxlVHlwZURlZiAqaHBjZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9QQ0RfQ2FsbGJhY2tJRFR5cGVEZWYgQ2FsbGJhY2tJRCk7CitIQUxfU3RhdHVzVHlwZURlZiBIQUxfUENEX1VuUmVnaXN0ZXJDYWxsYmFjayhQQ0RfSGFuZGxlVHlwZURlZiAqaHBjZCwgSEFMX1BDRF9DYWxsYmFja0lEVHlwZURlZiBDYWxsYmFja0lEKTsKIAogSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1BDRF9SZWdpc3RlckRhdGFPdXRTdGFnZUNhbGxiYWNrKFBDRF9IYW5kbGVUeXBlRGVmICpocGNkLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBQQ0RfRGF0YU91dFN0YWdlQ2FsbGJhY2tUeXBlRGVmIHBDYWxsYmFjayk7CkBAIC0zMTcsMTQgKzMxNSwxMCBAQAogCiBIQUxfU3RhdHVzVHlwZURlZiBIQUxfUENEX1VuUmVnaXN0ZXJJc29JbkluY3BsdENhbGxiYWNrKFBDRF9IYW5kbGVUeXBlRGVmICpocGNkKTsKIAotSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1BDRF9SZWdpc3RlckJjZENhbGxiYWNrKFBDRF9IYW5kbGVUeXBlRGVmICpocGNkLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBQQ0RfQmNkQ2FsbGJhY2tUeXBlRGVmIHBDYWxsYmFjayk7Ci0KK0hBTF9TdGF0dXNUeXBlRGVmIEhBTF9QQ0RfUmVnaXN0ZXJCY2RDYWxsYmFjayhQQ0RfSGFuZGxlVHlwZURlZiAqaHBjZCwgcFBDRF9CY2RDYWxsYmFja1R5cGVEZWYgcENhbGxiYWNrKTsKIEhBTF9TdGF0dXNUeXBlRGVmIEhBTF9QQ0RfVW5SZWdpc3RlckJjZENhbGxiYWNrKFBDRF9IYW5kbGVUeXBlRGVmICpocGNkKTsKIAotSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1BDRF9SZWdpc3RlckxwbUNhbGxiYWNrKFBDRF9IYW5kbGVUeXBlRGVmICpocGNkLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBQQ0RfTHBtQ2FsbGJhY2tUeXBlRGVmIHBDYWxsYmFjayk7Ci0KK0hBTF9TdGF0dXNUeXBlRGVmIEhBTF9QQ0RfUmVnaXN0ZXJMcG1DYWxsYmFjayhQQ0RfSGFuZGxlVHlwZURlZiAqaHBjZCwgcFBDRF9McG1DYWxsYmFja1R5cGVEZWYgcENhbGxiYWNrKTsKIEhBTF9TdGF0dXNUeXBlRGVmIEhBTF9QQ0RfVW5SZWdpc3RlckxwbUNhbGxiYWNrKFBDRF9IYW5kbGVUeXBlRGVmICpocGNkKTsKICNlbmRpZiAvKiBVU0VfSEFMX1BDRF9SRUdJU1RFUl9DQUxMQkFDS1MgKi8KIC8qKgpAQCAtMzY0LDIyICszNTgsMTcgQEAKIEhBTF9TdGF0dXNUeXBlRGVmIEhBTF9QQ0RfRGV2Q29ubmVjdChQQ0RfSGFuZGxlVHlwZURlZiAqaHBjZCk7CiBIQUxfU3RhdHVzVHlwZURlZiBIQUxfUENEX0RldkRpc2Nvbm5lY3QoUENEX0hhbmRsZVR5cGVEZWYgKmhwY2QpOwogSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1BDRF9TZXRBZGRyZXNzKFBDRF9IYW5kbGVUeXBlRGVmICpocGNkLCB1aW50OF90IGFkZHJlc3MpOwotSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1BDRF9FUF9PcGVuKFBDRF9IYW5kbGVUeXBlRGVmICpocGNkLCB1aW50OF90IGVwX2FkZHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDE2X3QgZXBfbXBzLCB1aW50OF90IGVwX3R5cGUpOwotCitIQUxfU3RhdHVzVHlwZURlZiBIQUxfUENEX0VQX09wZW4oUENEX0hhbmRsZVR5cGVEZWYgKmhwY2QsIHVpbnQ4X3QgZXBfYWRkciwgdWludDE2X3QgZXBfbXBzLCB1aW50OF90IGVwX3R5cGUpOwogSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1BDRF9FUF9DbG9zZShQQ0RfSGFuZGxlVHlwZURlZiAqaHBjZCwgdWludDhfdCBlcF9hZGRyKTsKLUhBTF9TdGF0dXNUeXBlRGVmIEhBTF9QQ0RfRVBfUmVjZWl2ZShQQ0RfSGFuZGxlVHlwZURlZiAqaHBjZCwgdWludDhfdCBlcF9hZGRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QgKnBCdWYsIHVpbnQzMl90IGxlbik7Ci0KLUhBTF9TdGF0dXNUeXBlRGVmIEhBTF9QQ0RfRVBfVHJhbnNtaXQoUENEX0hhbmRsZVR5cGVEZWYgKmhwY2QsIHVpbnQ4X3QgZXBfYWRkciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDhfdCAqcEJ1ZiwgdWludDMyX3QgbGVuKTsKLQotCitIQUxfU3RhdHVzVHlwZURlZiBIQUxfUENEX0VQX1JlY2VpdmUoUENEX0hhbmRsZVR5cGVEZWYgKmhwY2QsIHVpbnQ4X3QgZXBfYWRkciwgdWludDhfdCAqcEJ1ZiwgdWludDMyX3QgbGVuKTsKK0hBTF9TdGF0dXNUeXBlRGVmIEhBTF9QQ0RfRVBfVHJhbnNtaXQoUENEX0hhbmRsZVR5cGVEZWYgKmhwY2QsIHVpbnQ4X3QgZXBfYWRkciwgdWludDhfdCAqcEJ1ZiwgdWludDMyX3QgbGVuKTsKIEhBTF9TdGF0dXNUeXBlRGVmIEhBTF9QQ0RfRVBfU2V0U3RhbGwoUENEX0hhbmRsZVR5cGVEZWYgKmhwY2QsIHVpbnQ4X3QgZXBfYWRkcik7CiBIQUxfU3RhdHVzVHlwZURlZiBIQUxfUENEX0VQX0NsclN0YWxsKFBDRF9IYW5kbGVUeXBlRGVmICpocGNkLCB1aW50OF90IGVwX2FkZHIpOwogSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1BDRF9FUF9GbHVzaChQQ0RfSGFuZGxlVHlwZURlZiAqaHBjZCwgdWludDhfdCBlcF9hZGRyKTsKK0hBTF9TdGF0dXNUeXBlRGVmIEhBTF9QQ0RfRVBfQWJvcnQoUENEX0hhbmRsZVR5cGVEZWYgKmhwY2QsIHVpbnQ4X3QgZXBfYWRkcik7CiBIQUxfU3RhdHVzVHlwZURlZiBIQUxfUENEX0FjdGl2YXRlUmVtb3RlV2FrZXVwKFBDRF9IYW5kbGVUeXBlRGVmICpocGNkKTsKIEhBTF9TdGF0dXNUeXBlRGVmIEhBTF9QQ0RfRGVBY3RpdmF0ZVJlbW90ZVdha2V1cChQQ0RfSGFuZGxlVHlwZURlZiAqaHBjZCk7CitIQUxfU3RhdHVzVHlwZURlZiBIQUxfUENEX1NldFRlc3RNb2RlKFBDRF9IYW5kbGVUeXBlRGVmICpocGNkLCB1aW50OF90IHRlc3Rtb2RlKTsKIAogdWludDMyX3QgICAgICAgICAgSEFMX1BDRF9FUF9HZXRSeENvdW50KFBDRF9IYW5kbGVUeXBlRGVmICpocGNkLCB1aW50OF90IGVwX2FkZHIpOwogLyoqCkBAIC00NjgsNSArNDU3LDMgQEAKICNlbmRpZgogCiAjZW5kaWYgLyogU1RNMzJGNHh4X0hBTF9QQ0RfSCAqLwotCi0vKioqKioqKioqKioqKioqKioqKioqKioqIChDKSBDT1BZUklHSFQgU1RNaWNyb2VsZWN0cm9uaWNzICoqKioqRU5EIE9GIEZJTEUqKioqLwpkaWZmIC0tZ2l0IGEvSW5jL3N0bTMyZjR4eF9oYWxfcGNkX2V4LmggYi9JbmMvc3RtMzJmNHh4X2hhbF9wY2RfZXguaAppbmRleCA3MWU5YTJjLi43MmRlZDJiIDEwMDY0NAotLS0gYS9JbmMvc3RtMzJmNHh4X2hhbF9wY2RfZXguaAorKysgYi9JbmMvc3RtMzJmNHh4X2hhbF9wY2RfZXguaApAQCAtNiwxMyArNiwxMiBAQAogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKiBAYXR0ZW50aW9uCiAgICoKLSAgKiA8aDI+PGNlbnRlcj4mY29weTsgQ29weXJpZ2h0IChjKSAyMDE2IFNUTWljcm9lbGVjdHJvbmljcy4KLSAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvY2VudGVyPjwvaDI+CisgICogQ29weXJpZ2h0IChjKSAyMDE2IFNUTWljcm9lbGVjdHJvbmljcy4KKyAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAqCi0gICogVGhpcyBzb2Z0d2FyZSBjb21wb25lbnQgaXMgbGljZW5zZWQgYnkgU1QgdW5kZXIgQlNEIDMtQ2xhdXNlIGxpY2Vuc2UsCi0gICogdGhlICJMaWNlbnNlIjsgWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZQotICAqIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdDoKLSAgKiAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZQorICAqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgdW5kZXIgdGVybXMgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZQorICAqIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvZnR3YXJlIGNvbXBvbmVudC4KKyAgKiBJZiBubyBMSUNFTlNFIGZpbGUgY29tZXMgd2l0aCB0aGlzIHNvZnR3YXJlLCBpdCBpcyBwcm92aWRlZCBBUy1JUy4KICAgKgogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKi8KQEAgLTIzLDcgKzIyLDcgQEAKIAogI2lmZGVmIF9fY3BsdXNwbHVzCiBleHRlcm4gIkMiIHsKLSNlbmRpZgorI2VuZGlmIC8qIF9fY3BsdXNwbHVzICovCiAKIC8qIEluY2x1ZGVzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAjaW5jbHVkZSAic3RtMzJmNHh4X2hhbF9kZWYuaCIKQEAgLTgzLDkgKzgyLDcgQEAKIAogI2lmZGVmIF9fY3BsdXNwbHVzCiB9Ci0jZW5kaWYKKyNlbmRpZiAvKiBfX2NwbHVzcGx1cyAqLwogCiAKICNlbmRpZiAvKiBTVE0zMkY0eHhfSEFMX1BDRF9FWF9IICovCi0KLS8qKioqKioqKioqKioqKioqKioqKioqKiogKEMpIENPUFlSSUdIVCBTVE1pY3JvZWxlY3Ryb25pY3MgKioqKipFTkQgT0YgRklMRSoqKiovCmRpZmYgLS1naXQgYS9JbmMvc3RtMzJmNHh4X2hhbF9wd3IuaCBiL0luYy9zdG0zMmY0eHhfaGFsX3B3ci5oCmluZGV4IDZmM2JmNzEuLmQ5N2YyNTUgMTAwNjQ0Ci0tLSBhL0luYy9zdG0zMmY0eHhfaGFsX3B3ci5oCisrKyBiL0luYy9zdG0zMmY0eHhfaGFsX3B3ci5oCkBAIC02LDE0ICs2LDEyIEBACiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqIEBhdHRlbnRpb24KICAgKgotICAqIDxoMj48Y2VudGVyPiZjb3B5OyBDb3B5cmlnaHQgKGMpIDIwMTcgU1RNaWNyb2VsZWN0cm9uaWNzLgotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9jZW50ZXI+PC9oMj4KKyAgKiBDb3B5cmlnaHQgKGMpIDIwMTcgU1RNaWNyb2VsZWN0cm9uaWNzLgorICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICoKLSAgKiBUaGlzIHNvZnR3YXJlIGNvbXBvbmVudCBpcyBsaWNlbnNlZCBieSBTVCB1bmRlciBCU0QgMy1DbGF1c2UgbGljZW5zZSwKLSAgKiB0aGUgIkxpY2Vuc2UiOyBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlCi0gICogTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0OgotICAqICAgICAgICAgICAgICAgICAgICAgICAgb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvQlNELTMtQ2xhdXNlCi0gICoKKyAgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIHVuZGVyIHRlcm1zIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgaW4KKyAgKiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb2Z0d2FyZSBjb21wb25lbnQuCisgICogSWYgbm8gTElDRU5TRSBmaWxlIGNvbWVzIHdpdGggdGhpcyBzb2Z0d2FyZSwgaXQgaXMgcHJvdmlkZWQgQVMtSVMuCiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqLyAKIApAQCAtNDI3LDUgKzQyNSwzIEBACiAKIAogI2VuZGlmIC8qIF9fU1RNMzJGNHh4X0hBTF9QV1JfSCAqLwotCi0vKioqKioqKioqKioqKioqKioqKioqKioqIChDKSBDT1BZUklHSFQgU1RNaWNyb2VsZWN0cm9uaWNzICoqKioqRU5EIE9GIEZJTEUqKioqLwpkaWZmIC0tZ2l0IGEvSW5jL3N0bTMyZjR4eF9oYWxfcHdyX2V4LmggYi9JbmMvc3RtMzJmNHh4X2hhbF9wd3JfZXguaAppbmRleCAxMGUwMTdhLi41N2ZkNGQ5IDEwMDY0NAotLS0gYS9JbmMvc3RtMzJmNHh4X2hhbF9wd3JfZXguaAorKysgYi9JbmMvc3RtMzJmNHh4X2hhbF9wd3JfZXguaApAQCAtNiwxNCArNiwxMiBAQAogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKiBAYXR0ZW50aW9uCiAgICoKLSAgKiA8aDI+PGNlbnRlcj4mY29weTsgQ29weXJpZ2h0IChjKSAyMDE3IFNUTWljcm9lbGVjdHJvbmljcy4KLSAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvY2VudGVyPjwvaDI+CisgICogQ29weXJpZ2h0IChjKSAyMDE3IFNUTWljcm9lbGVjdHJvbmljcy4KKyAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAqCi0gICogVGhpcyBzb2Z0d2FyZSBjb21wb25lbnQgaXMgbGljZW5zZWQgYnkgU1QgdW5kZXIgQlNEIDMtQ2xhdXNlIGxpY2Vuc2UsCi0gICogdGhlICJMaWNlbnNlIjsgWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZQotICAqIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdDoKLSAgKiAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZQotICAqCisgICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciB0ZXJtcyB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGluCisgICogdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc29mdHdhcmUgY29tcG9uZW50LgorICAqIElmIG5vIExJQ0VOU0UgZmlsZSBjb21lcyB3aXRoIHRoaXMgc29mdHdhcmUsIGl0IGlzIHByb3ZpZGVkIEFTLUlTLgogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKi8gCiAKQEAgLTM0MCw1ICszMzgsMyBAQAogCiAKICNlbmRpZiAvKiBfX1NUTTMyRjR4eF9IQUxfUFdSX0VYX0ggKi8KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKiAoQykgQ09QWVJJR0hUIFNUTWljcm9lbGVjdHJvbmljcyAqKioqKkVORCBPRiBGSUxFKioqKi8KZGlmZiAtLWdpdCBhL0luYy9zdG0zMmY0eHhfaGFsX3FzcGkuaCBiL0luYy9zdG0zMmY0eHhfaGFsX3FzcGkuaAppbmRleCA5N2U5MzI0Li41NjI4N2FmIDEwMDY0NAotLS0gYS9JbmMvc3RtMzJmNHh4X2hhbF9xc3BpLmgKKysrIGIvSW5jL3N0bTMyZjR4eF9oYWxfcXNwaS5oCkBAIC02LDEzICs2LDEyIEBACiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqIEBhdHRlbnRpb24KICAgKgotICAqIDxoMj48Y2VudGVyPiZjb3B5OyBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9jZW50ZXI+PC9oMj4KKyAgKiBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgorICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICoKLSAgKiBUaGlzIHNvZnR3YXJlIGNvbXBvbmVudCBpcyBsaWNlbnNlZCBieSBTVCB1bmRlciBCU0QgMy1DbGF1c2UgbGljZW5zZSwKLSAgKiB0aGUgIkxpY2Vuc2UiOyBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlCi0gICogTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0OgotICAqICAgICAgICAgICAgICAgICAgICAgICBvcGVuc291cmNlLm9yZy9saWNlbnNlcy9CU0QtMy1DbGF1c2UKKyAgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIHVuZGVyIHRlcm1zIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUKKyAgKiBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb2Z0d2FyZSBjb21wb25lbnQuCisgICogSWYgbm8gTElDRU5TRSBmaWxlIGNvbWVzIHdpdGggdGhpcyBzb2Z0d2FyZSwgaXQgaXMgcHJvdmlkZWQgQVMtSVMuCiAgICoKICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICovCkBAIC00NTcsNyArNDU2LDcgQEAKICAgKiBAewogICAqLwogLyoqIEBicmllZiBSZXNldCBRU1BJIGhhbmRsZSBzdGF0ZS4KLSAgKiBAcGFyYW0gIF9fSEFORExFX18gOiBRU1BJIGhhbmRsZS4KKyAgKiBAcGFyYW0gIF9fSEFORExFX18gUVNQSSBoYW5kbGUuCiAgICogQHJldHZhbCBOb25lCiAgICovCiAjaWYgKFVTRV9IQUxfUVNQSV9SRUdJU1RFUl9DQUxMQkFDS1MgPT0gMSkKQEAgLTQ3MSwyMCArNDcwLDIwIEBACiAjZW5kaWYKIAogLyoqIEBicmllZiAgRW5hYmxlIHRoZSBRU1BJIHBlcmlwaGVyYWwuCi0gICogQHBhcmFtICBfX0hBTkRMRV9fIDogc3BlY2lmaWVzIHRoZSBRU1BJIEhhbmRsZS4KKyAgKiBAcGFyYW0gIF9fSEFORExFX18gc3BlY2lmaWVzIHRoZSBRU1BJIEhhbmRsZS4KICAgKiBAcmV0dmFsIE5vbmUKICAgKi8KICNkZWZpbmUgX19IQUxfUVNQSV9FTkFCTEUoX19IQU5ETEVfXykgICAgICAgICAgICAgICAgICAgICAgIFNFVF9CSVQoKF9fSEFORExFX18pLT5JbnN0YW5jZS0+Q1IsIFFVQURTUElfQ1JfRU4pCiAKIC8qKiBAYnJpZWYgIERpc2FibGUgdGhlIFFTUEkgcGVyaXBoZXJhbC4KLSAgKiBAcGFyYW0gIF9fSEFORExFX18gOiBzcGVjaWZpZXMgdGhlIFFTUEkgSGFuZGxlLgorICAqIEBwYXJhbSAgX19IQU5ETEVfXyBzcGVjaWZpZXMgdGhlIFFTUEkgSGFuZGxlLgogICAqIEByZXR2YWwgTm9uZQogICAqLwogI2RlZmluZSBfX0hBTF9RU1BJX0RJU0FCTEUoX19IQU5ETEVfXykgICAgICAgICAgICAgICAgICAgICAgQ0xFQVJfQklUKChfX0hBTkRMRV9fKS0+SW5zdGFuY2UtPkNSLCBRVUFEU1BJX0NSX0VOKQogCiAvKiogQGJyaWVmICBFbmFibGUgdGhlIHNwZWNpZmllZCBRU1BJIGludGVycnVwdC4KLSAgKiBAcGFyYW0gIF9fSEFORExFX18gOiBzcGVjaWZpZXMgdGhlIFFTUEkgSGFuZGxlLgotICAqIEBwYXJhbSAgX19JTlRFUlJVUFRfXyA6IHNwZWNpZmllcyB0aGUgUVNQSSBpbnRlcnJ1cHQgc291cmNlIHRvIGVuYWJsZS4KKyAgKiBAcGFyYW0gIF9fSEFORExFX18gc3BlY2lmaWVzIHRoZSBRU1BJIEhhbmRsZS4KKyAgKiBAcGFyYW0gIF9fSU5URVJSVVBUX18gc3BlY2lmaWVzIHRoZSBRU1BJIGludGVycnVwdCBzb3VyY2UgdG8gZW5hYmxlLgogICAqICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBvbmUgb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXM6CiAgICogICAgICAgICAgICBAYXJnIFFTUElfSVRfVE86IFFTUEkgVGltZW91dCBpbnRlcnJ1cHQKICAgKiAgICAgICAgICAgIEBhcmcgUVNQSV9JVF9TTTogUVNQSSBTdGF0dXMgbWF0Y2ggaW50ZXJydXB0CkBAIC00OTcsOCArNDk2LDggQEAKIAogCiAvKiogQGJyaWVmICBEaXNhYmxlIHRoZSBzcGVjaWZpZWQgUVNQSSBpbnRlcnJ1cHQuCi0gICogQHBhcmFtICBfX0hBTkRMRV9fIDogc3BlY2lmaWVzIHRoZSBRU1BJIEhhbmRsZS4KLSAgKiBAcGFyYW0gIF9fSU5URVJSVVBUX18gOiBzcGVjaWZpZXMgdGhlIFFTUEkgaW50ZXJydXB0IHNvdXJjZSB0byBkaXNhYmxlLgorICAqIEBwYXJhbSAgX19IQU5ETEVfXyBzcGVjaWZpZXMgdGhlIFFTUEkgSGFuZGxlLgorICAqIEBwYXJhbSAgX19JTlRFUlJVUFRfXyBzcGVjaWZpZXMgdGhlIFFTUEkgaW50ZXJydXB0IHNvdXJjZSB0byBkaXNhYmxlLgogICAqICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBvbmUgb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXM6CiAgICogICAgICAgICAgICBAYXJnIFFTUElfSVRfVE86IFFTUEkgVGltZW91dCBpbnRlcnJ1cHQKICAgKiAgICAgICAgICAgIEBhcmcgUVNQSV9JVF9TTTogUVNQSSBTdGF0dXMgbWF0Y2ggaW50ZXJydXB0CkBAIC01MTAsOCArNTA5LDggQEAKICNkZWZpbmUgX19IQUxfUVNQSV9ESVNBQkxFX0lUKF9fSEFORExFX18sIF9fSU5URVJSVVBUX18pICAgIENMRUFSX0JJVCgoX19IQU5ETEVfXyktPkluc3RhbmNlLT5DUiwgKF9fSU5URVJSVVBUX18pKQogCiAvKiogQGJyaWVmICBDaGVjayB3aGV0aGVyIHRoZSBzcGVjaWZpZWQgUVNQSSBpbnRlcnJ1cHQgc291cmNlIGlzIGVuYWJsZWQgb3Igbm90LgotICAqIEBwYXJhbSAgX19IQU5ETEVfXyA6IHNwZWNpZmllcyB0aGUgUVNQSSBIYW5kbGUuCi0gICogQHBhcmFtICBfX0lOVEVSUlVQVF9fIDogc3BlY2lmaWVzIHRoZSBRU1BJIGludGVycnVwdCBzb3VyY2UgdG8gY2hlY2suCisgICogQHBhcmFtICBfX0hBTkRMRV9fIHNwZWNpZmllcyB0aGUgUVNQSSBIYW5kbGUuCisgICogQHBhcmFtICBfX0lOVEVSUlVQVF9fIHNwZWNpZmllcyB0aGUgUVNQSSBpbnRlcnJ1cHQgc291cmNlIHRvIGNoZWNrLgogICAqICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBvbmUgb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXM6CiAgICogICAgICAgICAgICBAYXJnIFFTUElfSVRfVE86IFFTUEkgVGltZW91dCBpbnRlcnJ1cHQKICAgKiAgICAgICAgICAgIEBhcmcgUVNQSV9JVF9TTTogUVNQSSBTdGF0dXMgbWF0Y2ggaW50ZXJydXB0CkBAIC01MjQsOCArNTIzLDggQEAKIAogLyoqCiAgICogQGJyaWVmICBDaGVjayB3aGV0aGVyIHRoZSBzZWxlY3RlZCBRU1BJIGZsYWcgaXMgc2V0IG9yIG5vdC4KLSAgKiBAcGFyYW0gIF9fSEFORExFX18gOiBzcGVjaWZpZXMgdGhlIFFTUEkgSGFuZGxlLgotICAqIEBwYXJhbSAgX19GTEFHX18gOiBzcGVjaWZpZXMgdGhlIFFTUEkgZmxhZyB0byBjaGVjay4KKyAgKiBAcGFyYW0gIF9fSEFORExFX18gc3BlY2lmaWVzIHRoZSBRU1BJIEhhbmRsZS4KKyAgKiBAcGFyYW0gIF9fRkxBR19fIHNwZWNpZmllcyB0aGUgUVNQSSBmbGFnIHRvIGNoZWNrLgogICAqICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBvbmUgb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXM6CiAgICogICAgICAgICAgICBAYXJnIFFTUElfRkxBR19CVVNZOiBRU1BJIEJ1c3kgZmxhZwogICAqICAgICAgICAgICAgQGFyZyBRU1BJX0ZMQUdfVE86ICAgUVNQSSBUaW1lb3V0IGZsYWcKQEAgLTUzOCw4ICs1MzcsOCBAQAogI2RlZmluZSBfX0hBTF9RU1BJX0dFVF9GTEFHKF9fSEFORExFX18sIF9fRkxBR19fKSAgICAgICAgICAgKChSRUFEX0JJVCgoX19IQU5ETEVfXyktPkluc3RhbmNlLT5TUiwgKF9fRkxBR19fKSkgIT0gMFUpID8gU0VUIDogUkVTRVQpCiAKIC8qKiBAYnJpZWYgIENsZWFycyB0aGUgc3BlY2lmaWVkIFFTUEkncyBmbGFnIHN0YXR1cy4KLSAgKiBAcGFyYW0gIF9fSEFORExFX18gOiBzcGVjaWZpZXMgdGhlIFFTUEkgSGFuZGxlLgotICAqIEBwYXJhbSAgX19GTEFHX18gOiBzcGVjaWZpZXMgdGhlIFFTUEkgY2xlYXIgcmVnaXN0ZXIgZmxhZyB0aGF0IG5lZWRzIHRvIGJlIHNldAorICAqIEBwYXJhbSAgX19IQU5ETEVfXyBzcGVjaWZpZXMgdGhlIFFTUEkgSGFuZGxlLgorICAqIEBwYXJhbSAgX19GTEFHX18gc3BlY2lmaWVzIHRoZSBRU1BJIGNsZWFyIHJlZ2lzdGVyIGZsYWcgdGhhdCBuZWVkcyB0byBiZSBzZXQKICAgKiAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgb25lIG9mIHRoZSBmb2xsb3dpbmcgdmFsdWVzOgogICAqICAgICAgICAgICAgQGFyZyBRU1BJX0ZMQUdfVE86IFFTUEkgVGltZW91dCBmbGFnCiAgICogICAgICAgICAgICBAYXJnIFFTUElfRkxBR19TTTogUVNQSSBTdGF0dXMgbWF0Y2ggZmxhZwpAQCAtNzQyLDEyICs3NDEsMTAgQEAKICAgKiBAfQogICAqLwogCi0jZW5kaWYgLyogZGVmaW5lZChRVUFEU1BJKSB8fCBkZWZpbmVkKFFVQURTUEkxKSB8fCBkZWZpbmVkKFFVQURTUEkyKSAqLworI2VuZGlmIC8qIGRlZmluZWQoUVVBRFNQSSkgKi8KIAogI2lmZGVmIF9fY3BsdXNwbHVzCiB9CiAjZW5kaWYKIAogI2VuZGlmIC8qIFNUTTMyRjR4eF9IQUxfUVNQSV9IICovCi0KLS8qKioqKioqKioqKioqKioqKioqKioqKiogKEMpIENPUFlSSUdIVCBTVE1pY3JvZWxlY3Ryb25pY3MgKioqKipFTkQgT0YgRklMRSoqKiovCmRpZmYgLS1naXQgYS9JbmMvc3RtMzJmNHh4X2hhbF9yY2MuaCBiL0luYy9zdG0zMmY0eHhfaGFsX3JjYy5oCmluZGV4IDJlZWZmMzQuLmRjZjU4MTQgMTAwNjQ0Ci0tLSBhL0luYy9zdG0zMmY0eHhfaGFsX3JjYy5oCisrKyBiL0luYy9zdG0zMmY0eHhfaGFsX3JjYy5oCkBAIC02LDE0ICs2LDEyIEBACiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqIEBhdHRlbnRpb24KICAgKgotICAqIDxoMj48Y2VudGVyPiZjb3B5OyBDb3B5cmlnaHQgKGMpIDIwMTcgU1RNaWNyb2VsZWN0cm9uaWNzLgotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9jZW50ZXI+PC9oMj4KKyAgKiBDb3B5cmlnaHQgKGMpIDIwMTcgU1RNaWNyb2VsZWN0cm9uaWNzLgorICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICoKLSAgKiBUaGlzIHNvZnR3YXJlIGNvbXBvbmVudCBpcyBsaWNlbnNlZCBieSBTVCB1bmRlciBCU0QgMy1DbGF1c2UgbGljZW5zZSwKLSAgKiB0aGUgIkxpY2Vuc2UiOyBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlCi0gICogTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0OgotICAqICAgICAgICAgICAgICAgICAgICAgICAgb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvQlNELTMtQ2xhdXNlCi0gICoKKyAgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIHVuZGVyIHRlcm1zIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgaW4KKyAgKiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb2Z0d2FyZSBjb21wb25lbnQuCisgICogSWYgbm8gTElDRU5TRSBmaWxlIGNvbWVzIHdpdGggdGhpcyBzb2Z0d2FyZSwgaXQgaXMgcHJvdmlkZWQgQVMtSVMuCiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqLwogCkBAIC0xNDU5LDQgKzE0NTcsMyBAQAogCiAjZW5kaWYgLyogX19TVE0zMkY0eHhfSEFMX1JDQ19IICovCiAKLS8qKioqKioqKioqKioqKioqKioqKioqKiogKEMpIENPUFlSSUdIVCBTVE1pY3JvZWxlY3Ryb25pY3MgKioqKipFTkQgT0YgRklMRSoqKiovCmRpZmYgLS1naXQgYS9JbmMvc3RtMzJmNHh4X2hhbF9yY2NfZXguaCBiL0luYy9zdG0zMmY0eHhfaGFsX3JjY19leC5oCmluZGV4IGRmNmE2NmEuLjkwOWE3MTcgMTAwNjQ0Ci0tLSBhL0luYy9zdG0zMmY0eHhfaGFsX3JjY19leC5oCisrKyBiL0luYy9zdG0zMmY0eHhfaGFsX3JjY19leC5oCkBAIC02LDE0ICs2LDEyIEBACiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqIEBhdHRlbnRpb24KICAgKgotICAqIDxoMj48Y2VudGVyPiZjb3B5OyBDb3B5cmlnaHQgKGMpIDIwMTcgU1RNaWNyb2VsZWN0cm9uaWNzLgotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9jZW50ZXI+PC9oMj4KKyAgKiBDb3B5cmlnaHQgKGMpIDIwMTcgU1RNaWNyb2VsZWN0cm9uaWNzLgorICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICoKLSAgKiBUaGlzIHNvZnR3YXJlIGNvbXBvbmVudCBpcyBsaWNlbnNlZCBieSBTVCB1bmRlciBCU0QgMy1DbGF1c2UgbGljZW5zZSwKLSAgKiB0aGUgIkxpY2Vuc2UiOyBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlCi0gICogTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0OgotICAqICAgICAgICAgICAgICAgICAgICAgICAgb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvQlNELTMtQ2xhdXNlCi0gICoKKyAgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIHVuZGVyIHRlcm1zIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgaW4KKyAgKiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb2Z0d2FyZSBjb21wb25lbnQuCisgICogSWYgbm8gTElDRU5TRSBmaWxlIGNvbWVzIHdpdGggdGhpcyBzb2Z0d2FyZSwgaXQgaXMgcHJvdmlkZWQgQVMtSVMuCiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqLyAKIApAQCAtNzExMSw0ICs3MTA5LDMgQEAKIAogI2VuZGlmIC8qIF9fU1RNMzJGNHh4X0hBTF9SQ0NfRVhfSCAqLwogCi0vKioqKioqKioqKioqKioqKioqKioqKioqIChDKSBDT1BZUklHSFQgU1RNaWNyb2VsZWN0cm9uaWNzICoqKioqRU5EIE9GIEZJTEUqKioqLwpkaWZmIC0tZ2l0IGEvSW5jL3N0bTMyZjR4eF9oYWxfcm5nLmggYi9JbmMvc3RtMzJmNHh4X2hhbF9ybmcuaAppbmRleCBjZGU0ODU5Li43ZDRkY2ExIDEwMDY0NAotLS0gYS9JbmMvc3RtMzJmNHh4X2hhbF9ybmcuaAorKysgYi9JbmMvc3RtMzJmNHh4X2hhbF9ybmcuaApAQCAtNiwxMyArNiwxMiBAQAogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKiBAYXR0ZW50aW9uCiAgICoKLSAgKiA8aDI+PGNlbnRlcj4mY29weTsgQ29weXJpZ2h0IChjKSAyMDE2IFNUTWljcm9lbGVjdHJvbmljcy4KLSAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvY2VudGVyPjwvaDI+CisgICogQ29weXJpZ2h0IChjKSAyMDE2IFNUTWljcm9lbGVjdHJvbmljcy4KKyAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAqCi0gICogVGhpcyBzb2Z0d2FyZSBjb21wb25lbnQgaXMgbGljZW5zZWQgYnkgU1QgdW5kZXIgQlNEIDMtQ2xhdXNlIGxpY2Vuc2UsCi0gICogdGhlICJMaWNlbnNlIjsgWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZQotICAqIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdDoKLSAgKiAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZQorICAqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgdW5kZXIgdGVybXMgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZQorICAqIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvZnR3YXJlIGNvbXBvbmVudC4KKyAgKiBJZiBubyBMSUNFTlNFIGZpbGUgY29tZXMgd2l0aCB0aGlzIHNvZnR3YXJlLCBpdCBpcyBwcm92aWRlZCBBUy1JUy4KICAgKgogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKi8KQEAgLTM2MCw0ICszNTksMyBAQAogCiAjZW5kaWYgLyogU1RNMzJGNHh4X0hBTF9STkdfSCAqLwogCi0vKioqKioqKioqKioqKioqKioqKioqKioqIChDKSBDT1BZUklHSFQgU1RNaWNyb2VsZWN0cm9uaWNzICoqKioqRU5EIE9GIEZJTEUqKioqLwpkaWZmIC0tZ2l0IGEvSW5jL3N0bTMyZjR4eF9oYWxfcnRjLmggYi9JbmMvc3RtMzJmNHh4X2hhbF9ydGMuaAppbmRleCA5YWZhOGExLi4yNGFmZmM1IDEwMDY0NAotLS0gYS9JbmMvc3RtMzJmNHh4X2hhbF9ydGMuaAorKysgYi9JbmMvc3RtMzJmNHh4X2hhbF9ydGMuaApAQCAtNiwyNiArNiwyNiBAQAogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKiBAYXR0ZW50aW9uCiAgICoKLSAgKiA8aDI+PGNlbnRlcj4mY29weTsgQ29weXJpZ2h0IChjKSAyMDE3IFNUTWljcm9lbGVjdHJvbmljcy4KLSAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvY2VudGVyPjwvaDI+CisgICogQ29weXJpZ2h0IChjKSAyMDE3IFNUTWljcm9lbGVjdHJvbmljcy4KKyAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAqCi0gICogVGhpcyBzb2Z0d2FyZSBjb21wb25lbnQgaXMgbGljZW5zZWQgYnkgU1QgdW5kZXIgQlNEIDMtQ2xhdXNlIGxpY2Vuc2UsCi0gICogdGhlICJMaWNlbnNlIjsgWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZQotICAqIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdDoKLSAgKiAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZQorICAqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgdW5kZXIgdGVybXMgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZQorICAqIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvZnR3YXJlIGNvbXBvbmVudC4KKyAgKiBJZiBubyBMSUNFTlNFIGZpbGUgY29tZXMgd2l0aCB0aGlzIHNvZnR3YXJlLCBpdCBpcyBwcm92aWRlZCBBUy1JUy4KICAgKgogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKi8KIAogLyogRGVmaW5lIHRvIHByZXZlbnQgcmVjdXJzaXZlIGluY2x1c2lvbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KLSNpZm5kZWYgX19TVE0zMkY0eHhfSEFMX1JUQ19ICi0jZGVmaW5lIF9fU1RNMzJGNHh4X0hBTF9SVENfSAorI2lmbmRlZiBTVE0zMkY0eHhfSEFMX1JUQ19ICisjZGVmaW5lIFNUTTMyRjR4eF9IQUxfUlRDX0gKIAogI2lmZGVmIF9fY3BsdXNwbHVzCi0gZXh0ZXJuICJDIiB7CitleHRlcm4gIkMiIHsKICNlbmRpZgogCiAvKiBJbmNsdWRlcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCiAjaW5jbHVkZSAic3RtMzJmNHh4X2hhbF9kZWYuaCIKIAogLyoqIEBhZGR0b2dyb3VwIFNUTTMyRjR4eF9IQUxfRHJpdmVyCkBAIC0zNyw2ICszNyw3IEBACiAgICovCiAKIC8qIEV4cG9ydGVkIHR5cGVzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKIC8qKiBAZGVmZ3JvdXAgUlRDX0V4cG9ydGVkX1R5cGVzIFJUQyBFeHBvcnRlZCBUeXBlcwogICAqIEB7CiAgICovCkBAIC01MSw3ICs1Miw3IEBACiAgIEhBTF9SVENfU1RBVEVfQlVTWSAgICAgICAgICAgICAgPSAweDAyVSwgIC8qITwgUlRDIHByb2Nlc3MgaXMgb25nb2luZyAgICAgICAgICAgICAgKi8KICAgSEFMX1JUQ19TVEFURV9USU1FT1VUICAgICAgICAgICA9IDB4MDNVLCAgLyohPCBSVEMgdGltZW91dCBzdGF0ZSAgICAgICAgICAgICAgICAgICAqLwogICBIQUxfUlRDX1NUQVRFX0VSUk9SICAgICAgICAgICAgID0gMHgwNFUgICAvKiE8IFJUQyBlcnJvciBzdGF0ZSAgICAgICAgICAgICAgICAgICAgICovCi19SEFMX1JUQ1N0YXRlVHlwZURlZjsKK30gSEFMX1JUQ1N0YXRlVHlwZURlZjsKIAogLyoqCiAgICogQGJyaWVmICBSVEMgQ29uZmlndXJhdGlvbiBTdHJ1Y3R1cmUgZGVmaW5pdGlvbgpAQCAtNjUsNyArNjYsNyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgbXVzdCBiZSBhIG51bWJlciBiZXR3ZWVuIE1pbl9EYXRhID0gMHgwMCBhbmQgTWF4X0RhdGEgPSAweDdGICovCiAKICAgdWludDMyX3QgU3luY2hQcmVkaXY7ICAgICAvKiE8IFNwZWNpZmllcyB0aGUgUlRDIFN5bmNocm9ub3VzIFByZWRpdmlkZXIgdmFsdWUuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBtdXN0IGJlIGEgbnVtYmVyIGJldHdlZW4gTWluX0RhdGEgPSAweDAwIGFuZCBNYXhfRGF0YSA9IDB4N0ZGRlUgKi8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIG11c3QgYmUgYSBudW1iZXIgYmV0d2VlbiBNaW5fRGF0YSA9IDB4MDAwMCBhbmQgTWF4X0RhdGEgPSAweDdGRkYgKi8KIAogICB1aW50MzJfdCBPdXRQdXQ7ICAgICAgICAgIC8qITwgU3BlY2lmaWVzIHdoaWNoIHNpZ25hbCB3aWxsIGJlIHJvdXRlZCB0byB0aGUgUlRDIG91dHB1dC4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIG9mIEByZWYgUlRDX091dHB1dF9zZWxlY3Rpb25fRGVmaW5pdGlvbnMgKi8KQEAgLTc1LDcgKzc2LDcgQEAKIAogICB1aW50MzJfdCBPdXRQdXRUeXBlOyAgICAgIC8qITwgU3BlY2lmaWVzIHRoZSBSVEMgT3V0cHV0IFBpbiBtb2RlLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGEgdmFsdWUgb2YgQHJlZiBSVENfT3V0cHV0X1R5cGVfQUxBUk1fT1VUICovCi19UlRDX0luaXRUeXBlRGVmOworfSBSVENfSW5pdFR5cGVEZWY7CiAKIC8qKgogICAqIEBicmllZiAgUlRDIFRpbWUgc3RydWN0dXJlIGRlZmluaXRpb24KQEAgLTgzLDggKzg0LDggQEAKIHR5cGVkZWYgc3RydWN0CiB7CiAgIHVpbnQ4X3QgSG91cnM7ICAgICAgICAgICAgLyohPCBTcGVjaWZpZXMgdGhlIFJUQyBUaW1lIEhvdXIuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBtdXN0IGJlIGEgbnVtYmVyIGJldHdlZW4gTWluX0RhdGEgPSAwIGFuZCBNYXhfRGF0YSA9IDEyIGlmIHRoZSBSVENfSG91ckZvcm1hdF8xMiBpcyBzZWxlY3RlZC4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIG11c3QgYmUgYSBudW1iZXIgYmV0d2VlbiBNaW5fRGF0YSA9IDAgYW5kIE1heF9EYXRhID0gMjMgaWYgdGhlIFJUQ19Ib3VyRm9ybWF0XzI0IGlzIHNlbGVjdGVkICAqLworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgbXVzdCBiZSBhIG51bWJlciBiZXR3ZWVuIE1pbl9EYXRhID0gMCBhbmQgTWF4X0RhdGEgPSAxMiBpZiB0aGUgUlRDX0hvdXJGb3JtYXRfMTIgaXMgc2VsZWN0ZWQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIG11c3QgYmUgYSBudW1iZXIgYmV0d2VlbiBNaW5fRGF0YSA9IDAgYW5kIE1heF9EYXRhID0gMjMgaWYgdGhlIFJUQ19Ib3VyRm9ybWF0XzI0IGlzIHNlbGVjdGVkICovCiAKICAgdWludDhfdCBNaW51dGVzOyAgICAgICAgICAvKiE8IFNwZWNpZmllcyB0aGUgUlRDIFRpbWUgTWludXRlcy4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIG11c3QgYmUgYSBudW1iZXIgYmV0d2VlbiBNaW5fRGF0YSA9IDAgYW5kIE1heF9EYXRhID0gNTkgKi8KQEAgLTk1LDIyICs5NiwyMiBAQAogICB1aW50OF90IFRpbWVGb3JtYXQ7ICAgICAgIC8qITwgU3BlY2lmaWVzIHRoZSBSVEMgQU0vUE0gVGltZS4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIG9mIEByZWYgUlRDX0FNX1BNX0RlZmluaXRpb25zICovCiAKLSAgdWludDMyX3QgU3ViU2Vjb25kczsgICAgIC8qITwgU3BlY2lmaWVzIHRoZSBSVENfU1NSIFJUQyBTdWIgU2Vjb25kIHJlZ2lzdGVyIGNvbnRlbnQuCisgIHVpbnQzMl90IFN1YlNlY29uZHM7ICAgICAgLyohPCBTcGVjaWZpZXMgdGhlIFJUQ19TU1IgUlRDIFN1YiBTZWNvbmQgcmVnaXN0ZXIgY29udGVudC4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNvcnJlc3BvbmRzIHRvIGEgdGltZSB1bml0IHJhbmdlIGJldHdlZW4gWzAtMV0gU2Vjb25kCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aXRoIFsxIFNlYyAvIFNlY29uZEZyYWN0aW9uICsxXSBncmFudWxhcml0eSAqLwogCiAgIHVpbnQzMl90IFNlY29uZEZyYWN0aW9uOyAgLyohPCBTcGVjaWZpZXMgdGhlIHJhbmdlIG9yIGdyYW51bGFyaXR5IG9mIFN1YiBTZWNvbmQgcmVnaXN0ZXIgY29udGVudAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29ycmVzcG9uZGluZyB0byBTeW5jaHJvbm91cyBwcmUtc2NhbGVyIGZhY3RvciB2YWx1ZSAoUFJFRElWX1MpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb3JyZXNwb25kaW5nIHRvIFN5bmNocm9ub3VzIHByZXNjYWxlciBmYWN0b3IgdmFsdWUgKFBSRURJVl9TKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY29ycmVzcG9uZHMgdG8gYSB0aW1lIHVuaXQgcmFuZ2UgYmV0d2VlbiBbMC0xXSBTZWNvbmQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpdGggWzEgU2VjIC8gU2Vjb25kRnJhY3Rpb24gKzFdIGdyYW51bGFyaXR5LgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBmaWVsZCB3aWxsIGJlIHVzZWQgb25seSBieSBIQUxfUlRDX0dldFRpbWUgZnVuY3Rpb24gKi8KIAotICB1aW50MzJfdCBEYXlMaWdodFNhdmluZzsgIC8qITwgVGhpcyBpbnRlcmZhY2UgaXMgZGVwcmVjYXRlZC4gVG8gbWFuYWdlIERheWxpZ2h0IFNhdmluZyBUaW1lLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxlYXNlIHVzZSBIQUxfUlRDX0RTVF94eHggZnVuY3Rpb25zICovCisgIHVpbnQzMl90IERheUxpZ2h0U2F2aW5nOyAgLyohPCBUaGlzIGludGVyZmFjZSBpcyBkZXByZWNhdGVkLiBUbyBtYW5hZ2UgRGF5bGlnaHQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNhdmluZyBUaW1lLCBwbGVhc2UgdXNlIEhBTF9SVENfRFNUX3h4eCBmdW5jdGlvbnMgKi8KIAotICB1aW50MzJfdCBTdG9yZU9wZXJhdGlvbjsgIC8qITwgVGhpcyBpbnRlcmZhY2UgaXMgZGVwcmVjYXRlZC4gVG8gbWFuYWdlIERheWxpZ2h0IFNhdmluZyBUaW1lLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxlYXNlIHVzZSBIQUxfUlRDX0RTVF94eHggZnVuY3Rpb25zICovCi19UlRDX1RpbWVUeXBlRGVmOworICB1aW50MzJfdCBTdG9yZU9wZXJhdGlvbjsgIC8qITwgVGhpcyBpbnRlcmZhY2UgaXMgZGVwcmVjYXRlZC4gVG8gbWFuYWdlIERheWxpZ2h0CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTYXZpbmcgVGltZSwgcGxlYXNlIHVzZSBIQUxfUlRDX0RTVF94eHggZnVuY3Rpb25zICovCit9IFJUQ19UaW1lVHlwZURlZjsKIAogLyoqCiAgICogQGJyaWVmICBSVEMgRGF0ZSBzdHJ1Y3R1cmUgZGVmaW5pdGlvbgpAQCAtMTI5LDcgKzEzMCw3IEBACiAgIHVpbnQ4X3QgWWVhcjsgICAgIC8qITwgU3BlY2lmaWVzIHRoZSBSVEMgRGF0ZSBZZWFyLgogICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIG11c3QgYmUgYSBudW1iZXIgYmV0d2VlbiBNaW5fRGF0YSA9IDAgYW5kIE1heF9EYXRhID0gOTkgKi8KIAotfVJUQ19EYXRlVHlwZURlZjsKK30gUlRDX0RhdGVUeXBlRGVmOwogCiAvKioKICAgKiBAYnJpZWYgIFJUQyBBbGFybSBzdHJ1Y3R1cmUgZGVmaW5pdGlvbgpAQCAtMTQ1LDcgKzE0Niw3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIG9mIEByZWYgUlRDX0FsYXJtX1N1Yl9TZWNvbmRzX01hc2tzX0RlZmluaXRpb25zICovCiAKICAgdWludDMyX3QgQWxhcm1EYXRlV2Vla0RheVNlbDsgIC8qITwgU3BlY2lmaWVzIHRoZSBSVEMgQWxhcm0gaXMgb24gRGF0ZSBvciBXZWVrRGF5LgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIG9mIEByZWYgUlRDX0FsYXJtRGF0ZVdlZWtEYXlfRGVmaW5pdGlvbnMgKi8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGEgdmFsdWUgb2YgQHJlZiBSVENfQWxhcm1EYXRlV2Vla0RheV9EZWZpbml0aW9ucyAqLwogCiAgIHVpbnQ4X3QgQWxhcm1EYXRlV2Vla0RheTsgICAgICAvKiE8IFNwZWNpZmllcyB0aGUgUlRDIEFsYXJtIERhdGUvV2Vla0RheS4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgdGhlIEFsYXJtIERhdGUgaXMgc2VsZWN0ZWQsIHRoaXMgcGFyYW1ldGVyIG11c3QgYmUgc2V0IHRvIGEgdmFsdWUgaW4gdGhlIDEtMzEgcmFuZ2UuCkBAIC0xNTMsNyArMTU0LDcgQEAKIAogICB1aW50MzJfdCBBbGFybTsgICAgICAgICAgICAgICAgLyohPCBTcGVjaWZpZXMgdGhlIGFsYXJtIC4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGEgdmFsdWUgb2YgQHJlZiBSVENfQWxhcm1zX0RlZmluaXRpb25zICovCi19UlRDX0FsYXJtVHlwZURlZjsKK30gUlRDX0FsYXJtVHlwZURlZjsKIAogLyoqCiAgICogQGJyaWVmICBSVEMgSGFuZGxlIFN0cnVjdHVyZSBkZWZpbml0aW9uCkBAIC0xNjIsNyArMTYzLDcgQEAKIHR5cGVkZWYgc3RydWN0IF9fUlRDX0hhbmRsZVR5cGVEZWYKICNlbHNlCiB0eXBlZGVmIHN0cnVjdAotI2VuZGlmIC8qIChVU0VfSEFMX1JUQ19SRUdJU1RFUl9DQUxMQkFDS1MpICovCisjZW5kaWYgLyogVVNFX0hBTF9SVENfUkVHSVNURVJfQ0FMTEJBQ0tTICovCiB7CiAgIFJUQ19UeXBlRGVmICAgICAgICAgICAgICAgICAqSW5zdGFuY2U7ICAvKiE8IFJlZ2lzdGVyIGJhc2UgYWRkcmVzcyAgICAqLwogCkBAIC0xNzMsMjUgKzE3NCwyNyBAQAogICBfX0lPIEhBTF9SVENTdGF0ZVR5cGVEZWYgICAgU3RhdGU7ICAgICAgLyohPCBUaW1lIGNvbW11bmljYXRpb24gc3RhdGUgKi8KIAogI2lmIChVU0VfSEFMX1JUQ19SRUdJU1RFUl9DQUxMQkFDS1MgPT0gMSkKLSAgdm9pZCAgKCogQWxhcm1BRXZlbnRDYWxsYmFjaykgICAgICAoIHN0cnVjdCBfX1JUQ19IYW5kbGVUeXBlRGVmICogaHJ0Yyk7ICAvKiE8IFJUQyBBbGFybSBBIEV2ZW50IGNhbGxiYWNrICAgICAgICAgKi8KKyAgdm9pZCAoKiBBbGFybUFFdmVudENhbGxiYWNrKSAgICAgIChzdHJ1Y3QgX19SVENfSGFuZGxlVHlwZURlZiAqaHJ0Yyk7ICAvKiE8IFJUQyBBbGFybSBBIEV2ZW50IGNhbGxiYWNrICAgICAgICAgKi8KIAotICB2b2lkICAoKiBBbGFybUJFdmVudENhbGxiYWNrKSAgICAgICggc3RydWN0IF9fUlRDX0hhbmRsZVR5cGVEZWYgKiBocnRjKTsgIC8qITwgUlRDIEFsYXJtIEIgRXZlbnQgY2FsbGJhY2sgICAgICAgICAqLworICB2b2lkICgqIEFsYXJtQkV2ZW50Q2FsbGJhY2spICAgICAgKHN0cnVjdCBfX1JUQ19IYW5kbGVUeXBlRGVmICpocnRjKTsgIC8qITwgUlRDIEFsYXJtIEIgRXZlbnQgY2FsbGJhY2sgICAgICAgICAqLwogCi0gIHZvaWQgICgqIFRpbWVTdGFtcEV2ZW50Q2FsbGJhY2spICAgKCBzdHJ1Y3QgX19SVENfSGFuZGxlVHlwZURlZiAqIGhydGMpOyAgLyohPCBSVEMgVGltZVN0YW1wIEV2ZW50IGNhbGxiYWNrICAgICAgICovCisgIHZvaWQgKCogVGltZVN0YW1wRXZlbnRDYWxsYmFjaykgICAoc3RydWN0IF9fUlRDX0hhbmRsZVR5cGVEZWYgKmhydGMpOyAgLyohPCBSVEMgVGltZXN0YW1wIEV2ZW50IGNhbGxiYWNrICAgICAgICovCiAKLSAgdm9pZCAgKCogV2FrZVVwVGltZXJFdmVudENhbGxiYWNrKSAoIHN0cnVjdCBfX1JUQ19IYW5kbGVUeXBlRGVmICogaHJ0Yyk7ICAvKiE8IFJUQyBXYWtlVXBUaW1lciBFdmVudCBjYWxsYmFjayAgICAgKi8KKyAgdm9pZCAoKiBXYWtlVXBUaW1lckV2ZW50Q2FsbGJhY2spIChzdHJ1Y3QgX19SVENfSGFuZGxlVHlwZURlZiAqaHJ0Yyk7ICAvKiE8IFJUQyBXYWtlVXBUaW1lciBFdmVudCBjYWxsYmFjayAgICAgKi8KIAotICB2b2lkICAoKiBUYW1wZXIxRXZlbnRDYWxsYmFjaykgICAgICggc3RydWN0IF9fUlRDX0hhbmRsZVR5cGVEZWYgKiBocnRjKTsgIC8qITwgUlRDIFRhbXBlciAxIEV2ZW50IGNhbGxiYWNrICAgICAgICAqLworICB2b2lkICgqIFRhbXBlcjFFdmVudENhbGxiYWNrKSAgICAgKHN0cnVjdCBfX1JUQ19IYW5kbGVUeXBlRGVmICpocnRjKTsgIC8qITwgUlRDIFRhbXBlciAxIEV2ZW50IGNhbGxiYWNrICAgICAgICAqLwogCi0gIHZvaWQgICgqIFRhbXBlcjJFdmVudENhbGxiYWNrKSAgICAgKCBzdHJ1Y3QgX19SVENfSGFuZGxlVHlwZURlZiAqIGhydGMpOyAgLyohPCBSVEMgVGFtcGVyIDIgRXZlbnQgY2FsbGJhY2sgICAgICAgICovCisjaWYgZGVmaW5lZChSVENfVEFNUEVSMl9TVVBQT1JUKQorICB2b2lkICgqIFRhbXBlcjJFdmVudENhbGxiYWNrKSAgICAgKHN0cnVjdCBfX1JUQ19IYW5kbGVUeXBlRGVmICpocnRjKTsgIC8qITwgUlRDIFRhbXBlciAyIEV2ZW50IGNhbGxiYWNrICAgICAgICAqLworI2VuZGlmIC8qIFJUQ19UQU1QRVIyX1NVUFBPUlQgKi8KIAotICB2b2lkICAoKiBNc3BJbml0Q2FsbGJhY2spICAgICAgICAgICggc3RydWN0IF9fUlRDX0hhbmRsZVR5cGVEZWYgKiBocnRjKTsgIC8qITwgUlRDIE1zcCBJbml0IGNhbGxiYWNrICAgICAgICAgICAgICAqLworICB2b2lkICgqIE1zcEluaXRDYWxsYmFjaykgICAgICAgICAgKHN0cnVjdCBfX1JUQ19IYW5kbGVUeXBlRGVmICpocnRjKTsgIC8qITwgUlRDIE1zcCBJbml0IGNhbGxiYWNrICAgICAgICAgICAgICAqLwogCi0gIHZvaWQgICgqIE1zcERlSW5pdENhbGxiYWNrKSAgICAgICAgKCBzdHJ1Y3QgX19SVENfSGFuZGxlVHlwZURlZiAqIGhydGMpOyAgLyohPCBSVEMgTXNwIERlSW5pdCBjYWxsYmFjayAgICAgICAgICAgICovCisgIHZvaWQgKCogTXNwRGVJbml0Q2FsbGJhY2spICAgICAgICAoc3RydWN0IF9fUlRDX0hhbmRsZVR5cGVEZWYgKmhydGMpOyAgLyohPCBSVEMgTXNwIERlSW5pdCBjYWxsYmFjayAgICAgICAgICAgICovCiAKLSNlbmRpZiAvKiAoVVNFX0hBTF9SVENfUkVHSVNURVJfQ0FMTEJBQ0tTKSAqLworI2VuZGlmIC8qIFVTRV9IQUxfUlRDX1JFR0lTVEVSX0NBTExCQUNLUyAqLwogCi19UlRDX0hhbmRsZVR5cGVEZWY7Cit9IFJUQ19IYW5kbGVUeXBlRGVmOwogCiAjaWYgKFVTRV9IQUxfUlRDX1JFR0lTVEVSX0NBTExCQUNLUyA9PSAxKQogLyoqCkBAIC0xOTksMjAgKzIwMiwyMiBAQAogICAqLwogdHlwZWRlZiBlbnVtCiB7Ci0gIEhBTF9SVENfQUxBUk1fQV9FVkVOVF9DQl9JRCAgICAgICAgICAgPSAweDAwdSwgICAgLyohPCBSVEMgQWxhcm0gQSBFdmVudCBDYWxsYmFjayBJRCAgICAgICAqLwotICBIQUxfUlRDX0FMQVJNX0JfRVZFTlRfQ0JfSUQgICAgICAgICAgID0gMHgwMXUsICAgIC8qITwgUlRDIEFsYXJtIEIgRXZlbnQgQ2FsbGJhY2sgSUQgICAgICAgKi8KLSAgSEFMX1JUQ19USU1FU1RBTVBfRVZFTlRfQ0JfSUQgICAgICAgICA9IDB4MDJ1LCAgICAvKiE8IFJUQyBUaW1lU3RhbXAgRXZlbnQgQ2FsbGJhY2sgSUQgICAgICovCi0gIEhBTF9SVENfV0FLRVVQVElNRVJfRVZFTlRfQ0JfSUQgICAgICAgPSAweDAzdSwgICAgLyohPCBSVEMgV2FrZS1VcCBUaW1lciBFdmVudCBDYWxsYmFjayBJRCAqLwotICBIQUxfUlRDX1RBTVBFUjFfRVZFTlRfQ0JfSUQgICAgICAgICAgID0gMHgwNHUsICAgIC8qITwgUlRDIFRhbXBlciAxIENhbGxiYWNrIElEICAgICAgICAgICAgKi8KLSAgSEFMX1JUQ19UQU1QRVIyX0VWRU5UX0NCX0lEICAgICAgICAgICA9IDB4MDV1LCAgICAvKiE8IFJUQyBUYW1wZXIgMiBDYWxsYmFjayBJRCAgICAgICAgICAgICovCi0gIEhBTF9SVENfTVNQSU5JVF9DQl9JRCAgICAgICAgICAgICAgICAgPSAweDBFdSwgICAgLyohPCBSVEMgTXNwIEluaXQgY2FsbGJhY2sgSUQgICAgICAgICAgICAqLwotICBIQUxfUlRDX01TUERFSU5JVF9DQl9JRCAgICAgICAgICAgICAgID0gMHgwRnUgICAgIC8qITwgUlRDIE1zcCBEZUluaXQgY2FsbGJhY2sgSUQgICAgICAgICAgKi8KLX1IQUxfUlRDX0NhbGxiYWNrSURUeXBlRGVmOworICBIQUxfUlRDX0FMQVJNX0FfRVZFTlRfQ0JfSUQgICAgICAgICAgID0gMHgwMFUsICAgIC8qITwgUlRDIEFsYXJtIEEgRXZlbnQgQ2FsbGJhY2sgSUQgICAgICAgKi8KKyAgSEFMX1JUQ19BTEFSTV9CX0VWRU5UX0NCX0lEICAgICAgICAgICA9IDB4MDFVLCAgICAvKiE8IFJUQyBBbGFybSBCIEV2ZW50IENhbGxiYWNrIElEICAgICAgICovCisgIEhBTF9SVENfVElNRVNUQU1QX0VWRU5UX0NCX0lEICAgICAgICAgPSAweDAyVSwgICAgLyohPCBSVEMgVGltZXN0YW1wIEV2ZW50IENhbGxiYWNrIElEICAgICAqLworICBIQUxfUlRDX1dBS0VVUFRJTUVSX0VWRU5UX0NCX0lEICAgICAgID0gMHgwM1UsICAgIC8qITwgUlRDIFdha2V1cCBUaW1lciBFdmVudCBDYWxsYmFjayBJRCAgKi8KKyAgSEFMX1JUQ19UQU1QRVIxX0VWRU5UX0NCX0lEICAgICAgICAgICA9IDB4MDRVLCAgICAvKiE8IFJUQyBUYW1wZXIgMSBDYWxsYmFjayBJRCAgICAgICAgICAgICovCisjaWYgZGVmaW5lZChSVENfVEFNUEVSMl9TVVBQT1JUKQorICBIQUxfUlRDX1RBTVBFUjJfRVZFTlRfQ0JfSUQgICAgICAgICAgID0gMHgwNVUsICAgIC8qITwgUlRDIFRhbXBlciAyIENhbGxiYWNrIElEICAgICAgICAgICAgKi8KKyNlbmRpZiAvKiBSVENfVEFNUEVSMl9TVVBQT1JUICovCisgIEhBTF9SVENfTVNQSU5JVF9DQl9JRCAgICAgICAgICAgICAgICAgPSAweDBFVSwgICAgLyohPCBSVEMgTXNwIEluaXQgY2FsbGJhY2sgSUQgICAgICAgICAgICAqLworICBIQUxfUlRDX01TUERFSU5JVF9DQl9JRCAgICAgICAgICAgICAgID0gMHgwRlUgICAgIC8qITwgUlRDIE1zcCBEZUluaXQgY2FsbGJhY2sgSUQgICAgICAgICAgKi8KK30gSEFMX1JUQ19DYWxsYmFja0lEVHlwZURlZjsKIAogLyoqCiAgICogQGJyaWVmICBIQUwgUlRDIENhbGxiYWNrIHBvaW50ZXIgZGVmaW5pdGlvbgogICAqLwotdHlwZWRlZiAgdm9pZCAoKnBSVENfQ2FsbGJhY2tUeXBlRGVmKShSVENfSGFuZGxlVHlwZURlZiAqIGhydGMpOyAvKiE8IHBvaW50ZXIgdG8gYW4gUlRDIGNhbGxiYWNrIGZ1bmN0aW9uICovCit0eXBlZGVmICB2b2lkICgqcFJUQ19DYWxsYmFja1R5cGVEZWYpKFJUQ19IYW5kbGVUeXBlRGVmICpocnRjKTsgIC8qITwgcG9pbnRlciB0byBhbiBSVEMgY2FsbGJhY2sgZnVuY3Rpb24gKi8KICNlbmRpZiAvKiBVU0VfSEFMX1JUQ19SRUdJU1RFUl9DQUxMQkFDS1MgKi8KIAogLyoqCkBAIC0yMjAsNiArMjI1LDcgQEAKICAgKi8KIAogLyogRXhwb3J0ZWQgY29uc3RhbnRzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKwogLyoqIEBkZWZncm91cCBSVENfRXhwb3J0ZWRfQ29uc3RhbnRzIFJUQyBFeHBvcnRlZCBDb25zdGFudHMKICAgKiBAewogICAqLwpAQCAtMjI4LDcgKzIzNCw3IEBACiAgICogQHsKICAgKi8KICNkZWZpbmUgUlRDX0hPVVJGT1JNQVRfMjQgICAgICAgICAgICAgIDB4MDAwMDAwMDBVCi0jZGVmaW5lIFJUQ19IT1VSRk9STUFUXzEyICAgICAgICAgICAgICAweDAwMDAwMDQwVQorI2RlZmluZSBSVENfSE9VUkZPUk1BVF8xMiAgICAgICAgICAgICAgUlRDX0NSX0ZNVAogLyoqCiAgICogQH0KICAgKi8KQEAgLTIzNyw5ICsyNDMsOSBAQAogICAqIEB7CiAgICovCiAjZGVmaW5lIFJUQ19PVVRQVVRfRElTQUJMRSAgICAgICAgICAgICAweDAwMDAwMDAwVQotI2RlZmluZSBSVENfT1VUUFVUX0FMQVJNQSAgICAgICAgICAgICAgMHgwMDIwMDAwMFUKLSNkZWZpbmUgUlRDX09VVFBVVF9BTEFSTUIgICAgICAgICAgICAgIDB4MDA0MDAwMDBVCi0jZGVmaW5lIFJUQ19PVVRQVVRfV0FLRVVQICAgICAgICAgICAgICAweDAwNjAwMDAwVQorI2RlZmluZSBSVENfT1VUUFVUX0FMQVJNQSAgICAgICAgICAgICAgUlRDX0NSX09TRUxfMAorI2RlZmluZSBSVENfT1VUUFVUX0FMQVJNQiAgICAgICAgICAgICAgUlRDX0NSX09TRUxfMQorI2RlZmluZSBSVENfT1VUUFVUX1dBS0VVUCAgICAgICAgICAgICAgUlRDX0NSX09TRUwKIC8qKgogICAqIEB9CiAgICovCkBAIC0yNDgsNyArMjU0LDcgQEAKICAgKiBAewogICAqLwogI2RlZmluZSBSVENfT1VUUFVUX1BPTEFSSVRZX0hJR0ggICAgICAgMHgwMDAwMDAwMFUKLSNkZWZpbmUgUlRDX09VVFBVVF9QT0xBUklUWV9MT1cgICAgICAgIDB4MDAxMDAwMDBVCisjZGVmaW5lIFJUQ19PVVRQVVRfUE9MQVJJVFlfTE9XICAgICAgICBSVENfQ1JfUE9MCiAvKioKICAgKiBAfQogICAqLwpAQCAtMjU3LDcgKzI2Myw3IEBACiAgICogQHsKICAgKi8KICNkZWZpbmUgUlRDX09VVFBVVF9UWVBFX09QRU5EUkFJTiAgICAgIDB4MDAwMDAwMDBVCi0jZGVmaW5lIFJUQ19PVVRQVVRfVFlQRV9QVVNIUFVMTCAgICAgICAweDAwMDQwMDAwVQorI2RlZmluZSBSVENfT1VUUFVUX1RZUEVfUFVTSFBVTEwgICAgICAgUlRDX1RBRkNSX0FMQVJNT1VUVFlQRQogLyoqCiAgICogQH0KICAgKi8KQEAgLTI2Niw3ICsyNzIsNyBAQAogICAqIEB7CiAgICovCiAjZGVmaW5lIFJUQ19IT1VSRk9STUFUMTJfQU0gICAgICAgICAgICAoKHVpbnQ4X3QpMHgwMCkKLSNkZWZpbmUgUlRDX0hPVVJGT1JNQVQxMl9QTSAgICAgICAgICAgICgodWludDhfdCkweDQwKQorI2RlZmluZSBSVENfSE9VUkZPUk1BVDEyX1BNICAgICAgICAgICAgKCh1aW50OF90KTB4MDEpCiAvKioKICAgKiBAfQogICAqLwpAQCAtMjc0LDggKzI4MCw4IEBACiAvKiogQGRlZmdyb3VwIFJUQ19EYXlMaWdodFNhdmluZ19EZWZpbml0aW9ucyBSVEMgRGF5TGlnaHQgU2F2aW5nIERlZmluaXRpb25zCiAgICogQHsKICAgKi8KLSNkZWZpbmUgUlRDX0RBWUxJR0hUU0FWSU5HX1NVQjFIICAgICAgIDB4MDAwMjAwMDBVCi0jZGVmaW5lIFJUQ19EQVlMSUdIVFNBVklOR19BREQxSCAgICAgICAweDAwMDEwMDAwVQorI2RlZmluZSBSVENfREFZTElHSFRTQVZJTkdfU1VCMUggICAgICAgUlRDX0NSX1NVQjFICisjZGVmaW5lIFJUQ19EQVlMSUdIVFNBVklOR19BREQxSCAgICAgICBSVENfQ1JfQUREMUgKICNkZWZpbmUgUlRDX0RBWUxJR0hUU0FWSU5HX05PTkUgICAgICAgIDB4MDAwMDAwMDBVCiAvKioKICAgKiBAfQpAQCAtMjg1LDcgKzI5MSw3IEBACiAgICogQHsKICAgKi8KICNkZWZpbmUgUlRDX1NUT1JFT1BFUkFUSU9OX1JFU0VUICAgICAgICAweDAwMDAwMDAwVQotI2RlZmluZSBSVENfU1RPUkVPUEVSQVRJT05fU0VUICAgICAgICAgIDB4MDAwNDAwMDBVCisjZGVmaW5lIFJUQ19TVE9SRU9QRVJBVElPTl9TRVQgICAgICAgICAgUlRDX0NSX0JLUAogLyoqCiAgICogQH0KICAgKi8KQEAgLTI5MywxNiArMjk5LDE1IEBACiAvKiogQGRlZmdyb3VwIFJUQ19JbnB1dF9wYXJhbWV0ZXJfZm9ybWF0X2RlZmluaXRpb25zIFJUQyBJbnB1dCBQYXJhbWV0ZXIgRm9ybWF0IERlZmluaXRpb25zCiAgICogQHsKICAgKi8KLSNkZWZpbmUgUlRDX0ZPUk1BVF9CSU4gICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMFUKLSNkZWZpbmUgUlRDX0ZPUk1BVF9CQ0QgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMVUKKyNkZWZpbmUgUlRDX0ZPUk1BVF9CSU4gICAgICAgICAgICAgICAgICAweDAwMDAwMDAwVQorI2RlZmluZSBSVENfRk9STUFUX0JDRCAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDFVCiAvKioKICAgKiBAfQogICAqLwogCi0vKiogQGRlZmdyb3VwIFJUQ19Nb250aF9EYXRlX0RlZmluaXRpb25zIFJUQyBNb250aCBEYXRlIERlZmluaXRpb25zCisvKiogQGRlZmdyb3VwIFJUQ19Nb250aF9EYXRlX0RlZmluaXRpb25zIFJUQyBNb250aCBEYXRlIERlZmluaXRpb25zIChpbiBCQ0QgZm9ybWF0KQogICAqIEB7CiAgICovCi0vKiBDb2RlZCBpbiBCQ0QgZm9ybWF0ICovCiAjZGVmaW5lIFJUQ19NT05USF9KQU5VQVJZICAgICAgICAgICAgICAoKHVpbnQ4X3QpMHgwMSkKICNkZWZpbmUgUlRDX01PTlRIX0ZFQlJVQVJZICAgICAgICAgICAgICgodWludDhfdCkweDAyKQogI2RlZmluZSBSVENfTU9OVEhfTUFSQ0ggICAgICAgICAgICAgICAgKCh1aW50OF90KTB4MDMpCkBAIC0zMzcsNyArMzQyLDcgQEAKICAgKiBAewogICAqLwogI2RlZmluZSBSVENfQUxBUk1EQVRFV0VFS0RBWVNFTF9EQVRFICAgICAgMHgwMDAwMDAwMFUKLSNkZWZpbmUgUlRDX0FMQVJNREFURVdFRUtEQVlTRUxfV0VFS0RBWSAgIDB4NDAwMDAwMDBVCisjZGVmaW5lIFJUQ19BTEFSTURBVEVXRUVLREFZU0VMX1dFRUtEQVkgICBSVENfQUxSTUFSX1dEU0VMCiAvKioKICAgKiBAfQogICAqLwpAQCAtMzUwLDcgKzM1NSwxMCBAQAogI2RlZmluZSBSVENfQUxBUk1NQVNLX0hPVVJTICAgICAgICAgICAgICAgUlRDX0FMUk1BUl9NU0szCiAjZGVmaW5lIFJUQ19BTEFSTU1BU0tfTUlOVVRFUyAgICAgICAgICAgICBSVENfQUxSTUFSX01TSzIKICNkZWZpbmUgUlRDX0FMQVJNTUFTS19TRUNPTkRTICAgICAgICAgICAgIFJUQ19BTFJNQVJfTVNLMQotI2RlZmluZSBSVENfQUxBUk1NQVNLX0FMTCAgICAgICAgICAgICAgICAgMHg4MDgwODA4MFUKKyNkZWZpbmUgUlRDX0FMQVJNTUFTS19BTEwgICAgICAgICAgICAgICAgIChSVENfQUxBUk1NQVNLX0RBVEVXRUVLREFZIHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJUQ19BTEFSTU1BU0tfSE9VUlMgICAgICAgfCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUlRDX0FMQVJNTUFTS19NSU5VVEVTICAgICB8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSVENfQUxBUk1NQVNLX1NFQ09ORFMpCiAvKioKICAgKiBAfQogICAqLwpAQCAtMzY3LDM5ICszNzUsMzggQEAKIC8qKiBAZGVmZ3JvdXAgUlRDX0FsYXJtX1N1Yl9TZWNvbmRzX01hc2tzX0RlZmluaXRpb25zIFJUQyBBbGFybSBTdWIgU2Vjb25kcyBNYXNrcyBEZWZpbml0aW9ucwogICAqIEB7CiAgICovCi0jZGVmaW5lIFJUQ19BTEFSTVNVQlNFQ09ORE1BU0tfQUxMICAgICAgICAgMHgwMDAwMDAwMFUgIC8qITwgQWxsIEFsYXJtIFNTIGZpZWxkcyBhcmUgbWFza2VkLgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhlcmUgaXMgbm8gY29tcGFyaXNvbiBvbiBzdWIgc2Vjb25kcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIEFsYXJtICovCi0jZGVmaW5lIFJUQ19BTEFSTVNVQlNFQ09ORE1BU0tfU1MxNF8xICAgICAgMHgwMTAwMDAwMFUgIC8qITwgU1NbMTQ6MV0gYXJlIGRvbid0IGNhcmUgaW4gQWxhcm0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbXBhcmlzb24uIE9ubHkgU1NbMF0gaXMgY29tcGFyZWQuICAgICovCi0jZGVmaW5lIFJUQ19BTEFSTVNVQlNFQ09ORE1BU0tfU1MxNF8yICAgICAgMHgwMjAwMDAwMFUgIC8qITwgU1NbMTQ6Ml0gYXJlIGRvbid0IGNhcmUgaW4gQWxhcm0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbXBhcmlzb24uIE9ubHkgU1NbMTowXSBhcmUgY29tcGFyZWQgICovCi0jZGVmaW5lIFJUQ19BTEFSTVNVQlNFQ09ORE1BU0tfU1MxNF8zICAgICAgMHgwMzAwMDAwMFUgIC8qITwgU1NbMTQ6M10gYXJlIGRvbid0IGNhcmUgaW4gQWxhcm0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbXBhcmlzb24uIE9ubHkgU1NbMjowXSBhcmUgY29tcGFyZWQgICovCi0jZGVmaW5lIFJUQ19BTEFSTVNVQlNFQ09ORE1BU0tfU1MxNF80ICAgICAgMHgwNDAwMDAwMFUgIC8qITwgU1NbMTQ6NF0gYXJlIGRvbid0IGNhcmUgaW4gQWxhcm0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbXBhcmlzb24uIE9ubHkgU1NbMzowXSBhcmUgY29tcGFyZWQgICovCi0jZGVmaW5lIFJUQ19BTEFSTVNVQlNFQ09ORE1BU0tfU1MxNF81ICAgICAgMHgwNTAwMDAwMFUgIC8qITwgU1NbMTQ6NV0gYXJlIGRvbid0IGNhcmUgaW4gQWxhcm0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbXBhcmlzb24uIE9ubHkgU1NbNDowXSBhcmUgY29tcGFyZWQgICovCi0jZGVmaW5lIFJUQ19BTEFSTVNVQlNFQ09ORE1BU0tfU1MxNF82ICAgICAgMHgwNjAwMDAwMFUgIC8qITwgU1NbMTQ6Nl0gYXJlIGRvbid0IGNhcmUgaW4gQWxhcm0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbXBhcmlzb24uIE9ubHkgU1NbNTowXSBhcmUgY29tcGFyZWQgICovCi0jZGVmaW5lIFJUQ19BTEFSTVNVQlNFQ09ORE1BU0tfU1MxNF83ICAgICAgMHgwNzAwMDAwMFUgIC8qITwgU1NbMTQ6N10gYXJlIGRvbid0IGNhcmUgaW4gQWxhcm0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbXBhcmlzb24uIE9ubHkgU1NbNjowXSBhcmUgY29tcGFyZWQgICovCi0jZGVmaW5lIFJUQ19BTEFSTVNVQlNFQ09ORE1BU0tfU1MxNF84ICAgICAgMHgwODAwMDAwMFUgIC8qITwgU1NbMTQ6OF0gYXJlIGRvbid0IGNhcmUgaW4gQWxhcm0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbXBhcmlzb24uIE9ubHkgU1NbNzowXSBhcmUgY29tcGFyZWQgICovCi0jZGVmaW5lIFJUQ19BTEFSTVNVQlNFQ09ORE1BU0tfU1MxNF85ICAgICAgMHgwOTAwMDAwMFUgIC8qITwgU1NbMTQ6OV0gYXJlIGRvbid0IGNhcmUgaW4gQWxhcm0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbXBhcmlzb24uIE9ubHkgU1NbODowXSBhcmUgY29tcGFyZWQgICovCi0jZGVmaW5lIFJUQ19BTEFSTVNVQlNFQ09ORE1BU0tfU1MxNF8xMCAgICAgMHgwQTAwMDAwMFUgIC8qITwgU1NbMTQ6MTBdIGFyZSBkb24ndCBjYXJlIGluIEFsYXJtCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21wYXJpc29uLiBPbmx5IFNTWzk6MF0gYXJlIGNvbXBhcmVkICAqLwotI2RlZmluZSBSVENfQUxBUk1TVUJTRUNPTkRNQVNLX1NTMTRfMTEgICAgIDB4MEIwMDAwMDBVICAvKiE8IFNTWzE0OjExXSBhcmUgZG9uJ3QgY2FyZSBpbiBBbGFybQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tcGFyaXNvbi4gT25seSBTU1sxMDowXSBhcmUgY29tcGFyZWQgKi8KLSNkZWZpbmUgUlRDX0FMQVJNU1VCU0VDT05ETUFTS19TUzE0XzEyICAgICAweDBDMDAwMDAwVSAgLyohPCBTU1sxNDoxMl0gYXJlIGRvbid0IGNhcmUgaW4gQWxhcm0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbXBhcmlzb24uT25seSBTU1sxMTowXSBhcmUgY29tcGFyZWQgICovCi0jZGVmaW5lIFJUQ19BTEFSTVNVQlNFQ09ORE1BU0tfU1MxNF8xMyAgICAgMHgwRDAwMDAwMFUgIC8qITwgU1NbMTQ6MTNdIGFyZSBkb24ndCBjYXJlIGluIEFsYXJtCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21wYXJpc29uLiBPbmx5IFNTWzEyOjBdIGFyZSBjb21wYXJlZCAqLwotI2RlZmluZSBSVENfQUxBUk1TVUJTRUNPTkRNQVNLX1NTMTQgICAgICAgIDB4MEUwMDAwMDBVICAvKiE8IFNTWzE0XSBpcyBkb24ndCBjYXJlIGluIEFsYXJtCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21wYXJpc29uLk9ubHkgU1NbMTM6MF0gYXJlIGNvbXBhcmVkICAqLwotI2RlZmluZSBSVENfQUxBUk1TVUJTRUNPTkRNQVNLX05PTkUgICAgICAgIDB4MEYwMDAwMDBVICAvKiE8IFNTWzE0OjBdIGFyZSBjb21wYXJlZCBhbmQgbXVzdCBtYXRjaAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gYWN0aXZhdGUgYWxhcm0uICovCisvKiE8IEFsbCBBbGFybSBTUyBmaWVsZHMgYXJlIG1hc2tlZC4gVGhlcmUgaXMgbm8gY29tcGFyaXNvbiBvbiBzdWIgc2Vjb25kcyBmb3IgQWxhcm0gKi8KKyNkZWZpbmUgUlRDX0FMQVJNU1VCU0VDT05ETUFTS19BTEwgICAgICAgICAweDAwMDAwMDAwVQorLyohPCBTU1sxNDoxXSBhcmUgZG9uJ3QgY2FyZSBpbiBBbGFybSBjb21wYXJpc29uLiBPbmx5IFNTWzBdIGlzIGNvbXBhcmVkLiAgICAgKi8KKyNkZWZpbmUgUlRDX0FMQVJNU1VCU0VDT05ETUFTS19TUzE0XzEgICAgICBSVENfQUxSTUFTU1JfTUFTS1NTXzAKKy8qITwgU1NbMTQ6Ml0gYXJlIGRvbid0IGNhcmUgaW4gQWxhcm0gY29tcGFyaXNvbi4gT25seSBTU1sxOjBdIGFyZSBjb21wYXJlZC4gICovCisjZGVmaW5lIFJUQ19BTEFSTVNVQlNFQ09ORE1BU0tfU1MxNF8yICAgICAgUlRDX0FMUk1BU1NSX01BU0tTU18xCisvKiE8IFNTWzE0OjNdIGFyZSBkb24ndCBjYXJlIGluIEFsYXJtIGNvbXBhcmlzb24uIE9ubHkgU1NbMjowXSBhcmUgY29tcGFyZWQuICAqLworI2RlZmluZSBSVENfQUxBUk1TVUJTRUNPTkRNQVNLX1NTMTRfMyAgICAgIChSVENfQUxSTUFTU1JfTUFTS1NTXzAgfCBSVENfQUxSTUFTU1JfTUFTS1NTXzEpCisvKiE8IFNTWzE0OjRdIGFyZSBkb24ndCBjYXJlIGluIEFsYXJtIGNvbXBhcmlzb24uIE9ubHkgU1NbMzowXSBhcmUgY29tcGFyZWQuICAqLworI2RlZmluZSBSVENfQUxBUk1TVUJTRUNPTkRNQVNLX1NTMTRfNCAgICAgIFJUQ19BTFJNQVNTUl9NQVNLU1NfMgorLyohPCBTU1sxNDo1XSBhcmUgZG9uJ3QgY2FyZSBpbiBBbGFybSBjb21wYXJpc29uLiBPbmx5IFNTWzQ6MF0gYXJlIGNvbXBhcmVkLiAgKi8KKyNkZWZpbmUgUlRDX0FMQVJNU1VCU0VDT05ETUFTS19TUzE0XzUgICAgICAoUlRDX0FMUk1BU1NSX01BU0tTU18wIHwgUlRDX0FMUk1BU1NSX01BU0tTU18yKQorLyohPCBTU1sxNDo2XSBhcmUgZG9uJ3QgY2FyZSBpbiBBbGFybSBjb21wYXJpc29uLiBPbmx5IFNTWzU6MF0gYXJlIGNvbXBhcmVkLiAgKi8KKyNkZWZpbmUgUlRDX0FMQVJNU1VCU0VDT05ETUFTS19TUzE0XzYgICAgICAoUlRDX0FMUk1BU1NSX01BU0tTU18xIHwgUlRDX0FMUk1BU1NSX01BU0tTU18yKQorLyohPCBTU1sxNDo3XSBhcmUgZG9uJ3QgY2FyZSBpbiBBbGFybSBjb21wYXJpc29uLiBPbmx5IFNTWzY6MF0gYXJlIGNvbXBhcmVkLiAgKi8KKyNkZWZpbmUgUlRDX0FMQVJNU1VCU0VDT05ETUFTS19TUzE0XzcgICAgICAoUlRDX0FMUk1BU1NSX01BU0tTU18wIHwgUlRDX0FMUk1BU1NSX01BU0tTU18xIHwgUlRDX0FMUk1BU1NSX01BU0tTU18yKQorLyohPCBTU1sxNDo4XSBhcmUgZG9uJ3QgY2FyZSBpbiBBbGFybSBjb21wYXJpc29uLiBPbmx5IFNTWzc6MF0gYXJlIGNvbXBhcmVkLiAgKi8KKyNkZWZpbmUgUlRDX0FMQVJNU1VCU0VDT05ETUFTS19TUzE0XzggICAgICBSVENfQUxSTUFTU1JfTUFTS1NTXzMKKy8qITwgU1NbMTQ6OV0gYXJlIGRvbid0IGNhcmUgaW4gQWxhcm0gY29tcGFyaXNvbi4gT25seSBTU1s4OjBdIGFyZSBjb21wYXJlZC4gICovCisjZGVmaW5lIFJUQ19BTEFSTVNVQlNFQ09ORE1BU0tfU1MxNF85ICAgICAgKFJUQ19BTFJNQVNTUl9NQVNLU1NfMCB8IFJUQ19BTFJNQVNTUl9NQVNLU1NfMykKKy8qITwgU1NbMTQ6MTBdIGFyZSBkb24ndCBjYXJlIGluIEFsYXJtIGNvbXBhcmlzb24uIE9ubHkgU1NbOTowXSBhcmUgY29tcGFyZWQuICovCisjZGVmaW5lIFJUQ19BTEFSTVNVQlNFQ09ORE1BU0tfU1MxNF8xMCAgICAgKFJUQ19BTFJNQVNTUl9NQVNLU1NfMSB8IFJUQ19BTFJNQVNTUl9NQVNLU1NfMykKKy8qITwgU1NbMTQ6MTFdIGFyZSBkb24ndCBjYXJlIGluIEFsYXJtIGNvbXBhcmlzb24uIE9ubHkgU1NbMTA6MF0gYXJlIGNvbXBhcmVkLiAqLworI2RlZmluZSBSVENfQUxBUk1TVUJTRUNPTkRNQVNLX1NTMTRfMTEgICAgIChSVENfQUxSTUFTU1JfTUFTS1NTXzAgfCBSVENfQUxSTUFTU1JfTUFTS1NTXzEgfCBSVENfQUxSTUFTU1JfTUFTS1NTXzMpCisvKiE8IFNTWzE0OjEyXSBhcmUgZG9uJ3QgY2FyZSBpbiBBbGFybSBjb21wYXJpc29uLiBPbmx5IFNTWzExOjBdIGFyZSBjb21wYXJlZC4gKi8KKyNkZWZpbmUgUlRDX0FMQVJNU1VCU0VDT05ETUFTS19TUzE0XzEyICAgICAoUlRDX0FMUk1BU1NSX01BU0tTU18yIHwgUlRDX0FMUk1BU1NSX01BU0tTU18zKQorLyohPCBTU1sxNDoxM10gYXJlIGRvbid0IGNhcmUgaW4gQWxhcm0gY29tcGFyaXNvbi4gT25seSBTU1sxMjowXSBhcmUgY29tcGFyZWQuICovCisjZGVmaW5lIFJUQ19BTEFSTVNVQlNFQ09ORE1BU0tfU1MxNF8xMyAgICAgKFJUQ19BTFJNQVNTUl9NQVNLU1NfMCB8IFJUQ19BTFJNQVNTUl9NQVNLU1NfMiB8IFJUQ19BTFJNQVNTUl9NQVNLU1NfMykKKy8qITwgU1NbMTRdIGlzIGRvbid0IGNhcmUgaW4gQWxhcm0gY29tcGFyaXNvbi4gT25seSBTU1sxMzowXSBhcmUgY29tcGFyZWQuICovCisjZGVmaW5lIFJUQ19BTEFSTVNVQlNFQ09ORE1BU0tfU1MxNCAgICAgICAgKFJUQ19BTFJNQVNTUl9NQVNLU1NfMSB8IFJUQ19BTFJNQVNTUl9NQVNLU1NfMiB8IFJUQ19BTFJNQVNTUl9NQVNLU1NfMykKKy8qITwgU1NbMTQ6MF0gYXJlIGNvbXBhcmVkIGFuZCBtdXN0IG1hdGNoIHRvIGFjdGl2YXRlIGFsYXJtLiAqLworI2RlZmluZSBSVENfQUxBUk1TVUJTRUNPTkRNQVNLX05PTkUgICAgICAgIFJUQ19BTFJNQVNTUl9NQVNLU1MKIC8qKgogICAqIEB9CiAgICovCkBAIC00MDcsMTMgKzQxNCwxMCBAQAogLyoqIEBkZWZncm91cCBSVENfSW50ZXJydXB0c19EZWZpbml0aW9ucyBSVEMgSW50ZXJydXB0cyBEZWZpbml0aW9ucwogICAqIEB7CiAgICovCi0jZGVmaW5lIFJUQ19JVF9UUyAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDA4MDAwVQotI2RlZmluZSBSVENfSVRfV1VUICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwNDAwMFUKLSNkZWZpbmUgUlRDX0lUX0FMUkIgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDIwMDBVCi0jZGVmaW5lIFJUQ19JVF9BTFJBICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAxMDAwVQotI2RlZmluZSBSVENfSVRfVEFNUCAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwNFUgLyogVXNlZCBvbmx5IHRvIEVuYWJsZSB0aGUgVGFtcGVyIEludGVycnVwdCAqLwotI2RlZmluZSBSVENfSVRfVEFNUDEgICAgICAgICAgICAgICAgICAgICAgMHgwMDAyMDAwMFUKLSNkZWZpbmUgUlRDX0lUX1RBTVAyICAgICAgICAgICAgICAgICAgICAgIDB4MDAwNDAwMDBVCisjZGVmaW5lIFJUQ19JVF9UUyAgICAgICAgICAgICAgICAgICAgICAgICBSVENfQ1JfVFNJRSAgICAgICAgIC8qITwgRW5hYmxlIFRpbWVzdGFtcCBJbnRlcnJ1cHQgICAgICAgICAgICAgICAqLworI2RlZmluZSBSVENfSVRfV1VUICAgICAgICAgICAgICAgICAgICAgICAgUlRDX0NSX1dVVElFICAgICAgICAvKiE8IEVuYWJsZSBXYWtldXAgdGltZXIgSW50ZXJydXB0ICAgICAgICAgICAgKi8KKyNkZWZpbmUgUlRDX0lUX0FMUkIgICAgICAgICAgICAgICAgICAgICAgIFJUQ19DUl9BTFJCSUUgICAgICAgLyohPCBFbmFibGUgQWxhcm0gQiBJbnRlcnJ1cHQgICAgICAgICAgICAgICAgICovCisjZGVmaW5lIFJUQ19JVF9BTFJBICAgICAgICAgICAgICAgICAgICAgICBSVENfQ1JfQUxSQUlFICAgICAgIC8qITwgRW5hYmxlIEFsYXJtIEEgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAqLwogLyoqCiAgICogQH0KICAgKi8KQEAgLTQyMSwyMSArNDI1LDIzIEBACiAvKiogQGRlZmdyb3VwIFJUQ19GbGFnc19EZWZpbml0aW9ucyBSVEMgRmxhZ3MgRGVmaW5pdGlvbnMKICAgKiBAewogICAqLwotI2RlZmluZSBSVENfRkxBR19SRUNBTFBGICAgICAgICAgICAgICAgICAgMHgwMDAxMDAwMFUKLSNkZWZpbmUgUlRDX0ZMQUdfVEFNUDJGICAgICAgICAgICAgICAgICAgIDB4MDAwMDQwMDBVCi0jZGVmaW5lIFJUQ19GTEFHX1RBTVAxRiAgICAgICAgICAgICAgICAgICAweDAwMDAyMDAwVQotI2RlZmluZSBSVENfRkxBR19UU09WRiAgICAgICAgICAgICAgICAgICAgMHgwMDAwMTAwMFUKLSNkZWZpbmUgUlRDX0ZMQUdfVFNGICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDA4MDBVCi0jZGVmaW5lIFJUQ19GTEFHX1dVVEYgICAgICAgICAgICAgICAgICAgICAweDAwMDAwNDAwVQotI2RlZmluZSBSVENfRkxBR19BTFJCRiAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDIwMFUKLSNkZWZpbmUgUlRDX0ZMQUdfQUxSQUYgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAxMDBVCi0jZGVmaW5lIFJUQ19GTEFHX0lOSVRGICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDQwVQotI2RlZmluZSBSVENfRkxBR19SU0YgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAyMFUKLSNkZWZpbmUgUlRDX0ZMQUdfSU5JVFMgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMTBVCi0jZGVmaW5lIFJUQ19GTEFHX1NIUEYgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDA4VQotI2RlZmluZSBSVENfRkxBR19XVVRXRiAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwNFUKLSNkZWZpbmUgUlRDX0ZMQUdfQUxSQldGICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDJVCi0jZGVmaW5lIFJUQ19GTEFHX0FMUkFXRiAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAxVQorI2RlZmluZSBSVENfRkxBR19SRUNBTFBGICAgICAgICAgICAgICAgICAgUlRDX0lTUl9SRUNBTFBGICAgICAvKiE8IFJlY2FsaWJyYXRpb24gcGVuZGluZyBmbGFnICAgICAgICAgICAgICAgKi8KKyNpZiBkZWZpbmVkKFJUQ19UQU1QRVIyX1NVUFBPUlQpCisjZGVmaW5lIFJUQ19GTEFHX1RBTVAyRiAgICAgICAgICAgICAgICAgICBSVENfSVNSX1RBTVAyRiAgICAgIC8qITwgVGFtcGVyIDIgZXZlbnQgZmxhZyAgICAgICAgICAgICAgICAgICAgICAqLworI2VuZGlmIC8qIFJUQ19UQU1QRVIyX1NVUFBPUlQgKi8KKyNkZWZpbmUgUlRDX0ZMQUdfVEFNUDFGICAgICAgICAgICAgICAgICAgIFJUQ19JU1JfVEFNUDFGICAgICAgLyohPCBUYW1wZXIgMSBldmVudCBmbGFnICAgICAgICAgICAgICAgICAgICAgICovCisjZGVmaW5lIFJUQ19GTEFHX1RTT1ZGICAgICAgICAgICAgICAgICAgICBSVENfSVNSX1RTT1ZGICAgICAgIC8qITwgVGltZXN0YW1wIG92ZXJmbG93IGZsYWcgICAgICAgICAgICAgICAgICAqLworI2RlZmluZSBSVENfRkxBR19UU0YgICAgICAgICAgICAgICAgICAgICAgUlRDX0lTUl9UU0YgICAgICAgICAvKiE8IFRpbWVzdGFtcCBldmVudCBmbGFnICAgICAgICAgICAgICAgICAgICAgKi8KKyNkZWZpbmUgUlRDX0ZMQUdfV1VURiAgICAgICAgICAgICAgICAgICAgIFJUQ19JU1JfV1VURiAgICAgICAgLyohPCBXYWtldXAgdGltZXIgZXZlbnQgZmxhZyAgICAgICAgICAgICAgICAgICovCisjZGVmaW5lIFJUQ19GTEFHX0FMUkJGICAgICAgICAgICAgICAgICAgICBSVENfSVNSX0FMUkJGICAgICAgIC8qITwgQWxhcm0gQiBldmVudCBmbGFnICAgICAgICAgICAgICAgICAgICAgICAqLworI2RlZmluZSBSVENfRkxBR19BTFJBRiAgICAgICAgICAgICAgICAgICAgUlRDX0lTUl9BTFJBRiAgICAgICAvKiE8IEFsYXJtIEEgZXZlbnQgZmxhZyAgICAgICAgICAgICAgICAgICAgICAgKi8KKyNkZWZpbmUgUlRDX0ZMQUdfSU5JVEYgICAgICAgICAgICAgICAgICAgIFJUQ19JU1JfSU5JVEYgICAgICAgLyohPCBSVEMgaW4gaW5pdGlhbGl6YXRpb24gbW9kZSBmbGFnICAgICAgICAgICovCisjZGVmaW5lIFJUQ19GTEFHX1JTRiAgICAgICAgICAgICAgICAgICAgICBSVENfSVNSX1JTRiAgICAgICAgIC8qITwgUmVnaXN0ZXIgc3luY2hyb25pemF0aW9uIGZsYWcgICAgICAgICAgICAqLworI2RlZmluZSBSVENfRkxBR19JTklUUyAgICAgICAgICAgICAgICAgICAgUlRDX0lTUl9JTklUUyAgICAgICAvKiE8IFJUQyBpbml0aWFsaXphdGlvbiBzdGF0dXMgZmxhZyAgICAgICAgICAgKi8KKyNkZWZpbmUgUlRDX0ZMQUdfU0hQRiAgICAgICAgICAgICAgICAgICAgIFJUQ19JU1JfU0hQRiAgICAgICAgLyohPCBTaGlmdCBvcGVyYXRpb24gcGVuZGluZyBmbGFnICAgICAgICAgICAgICovCisjZGVmaW5lIFJUQ19GTEFHX1dVVFdGICAgICAgICAgICAgICAgICAgICBSVENfSVNSX1dVVFdGICAgICAgIC8qITwgV1VUUiByZWdpc3RlciB3cml0ZSBhbGxvd2FuY2UgZmxhZyAgICAgICAqLworI2RlZmluZSBSVENfRkxBR19BTFJCV0YgICAgICAgICAgICAgICAgICAgUlRDX0lTUl9BTFJCV0YgICAgICAvKiE8IEFMUk1CUiByZWdpc3RlciB3cml0ZSBhbGxvd2FuY2UgZmxhZyAgICAgKi8KKyNkZWZpbmUgUlRDX0ZMQUdfQUxSQVdGICAgICAgICAgICAgICAgICAgIFJUQ19JU1JfQUxSQVdGICAgICAgLyohPCBBTFJNQVIgcmVnaXN0ZXIgd3JpdGUgYWxsb3dhbmNlIGZsYWcgICAgICovCiAvKioKICAgKiBAfQogICAqLwpAQCAtNDQ0LDcgKzQ1MCw4IEBACiAgICogQH0KICAgKi8KIAotLyogRXhwb3J0ZWQgbWFjcm8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKy8qIEV4cG9ydGVkIG1hY3JvcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKIC8qKiBAZGVmZ3JvdXAgUlRDX0V4cG9ydGVkX01hY3JvcyBSVEMgRXhwb3J0ZWQgTWFjcm9zCiAgICogQHsKICAgKi8KQEAgLTQ1NCwxMSArNDYxLDExIEBACiAgICogQHJldHZhbCBOb25lCiAgICovCiAjaWYgKFVTRV9IQUxfUlRDX1JFR0lTVEVSX0NBTExCQUNLUyA9PSAxKQotI2RlZmluZSBfX0hBTF9SVENfUkVTRVRfSEFORExFX1NUQVRFKF9fSEFORExFX18pIGRve1wKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChfX0hBTkRMRV9fKS0+U3RhdGUgPSBIQUxfUlRDX1NUQVRFX1JFU0VUO1wKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChfX0hBTkRMRV9fKS0+TXNwSW5pdENhbGxiYWNrID0gTlVMTDtcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoX19IQU5ETEVfXyktPk1zcERlSW5pdENhbGxiYWNrID0gTlVMTDtcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH13aGlsZSgwdSkKKyNkZWZpbmUgX19IQUxfUlRDX1JFU0VUX0hBTkRMRV9TVEFURShfX0hBTkRMRV9fKSBkbyB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoX19IQU5ETEVfXyktPlN0YXRlID0gSEFMX1JUQ19TVEFURV9SRVNFVDsgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKF9fSEFORExFX18pLT5Nc3BJbml0Q2FsbGJhY2sgPSBOVUxMOyAgICAgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChfX0hBTkRMRV9fKS0+TXNwRGVJbml0Q2FsbGJhY2sgPSBOVUxMOyAgICBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSB3aGlsZSgwVSkKICNlbHNlCiAjZGVmaW5lIF9fSEFMX1JUQ19SRVNFVF9IQU5ETEVfU1RBVEUoX19IQU5ETEVfXykgKChfX0hBTkRMRV9fKS0+U3RhdGUgPSBIQUxfUlRDX1NUQVRFX1JFU0VUKQogI2VuZGlmIC8qIFVTRV9IQUxfUlRDX1JFR0lTVEVSX0NBTExCQUNLUyAqLwpAQCAtNDY4LDIxICs0NzUsMjAgQEAKICAgKiBAcGFyYW0gIF9fSEFORExFX18gc3BlY2lmaWVzIHRoZSBSVEMgaGFuZGxlLgogICAqIEByZXR2YWwgTm9uZQogICAqLwotI2RlZmluZSBfX0hBTF9SVENfV1JJVEVQUk9URUNUSU9OX0RJU0FCTEUoX19IQU5ETEVfXykgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICAgICAgICAgZG97ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIChfX0hBTkRMRV9fKS0+SW5zdGFuY2UtPldQUiA9IDB4Q0FVOyAgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIChfX0hBTkRMRV9fKS0+SW5zdGFuY2UtPldQUiA9IDB4NTNVOyAgXAotICAgICAgICAgICAgICAgICAgICAgICAgICB9IHdoaWxlKDBVKQorI2RlZmluZSBfX0hBTF9SVENfV1JJVEVQUk9URUNUSU9OX0RJU0FCTEUoX19IQU5ETEVfXykgZG8geyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKF9fSEFORExFX18pLT5JbnN0YW5jZS0+V1BSID0gMHhDQVU7ICBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChfX0hBTkRMRV9fKS0+SW5zdGFuY2UtPldQUiA9IDB4NTNVOyAgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSB3aGlsZSgwVSkKIAogLyoqCiAgICogQGJyaWVmICBFbmFibGUgdGhlIHdyaXRlIHByb3RlY3Rpb24gZm9yIFJUQyByZWdpc3RlcnMuCiAgICogQHBhcmFtICBfX0hBTkRMRV9fIHNwZWNpZmllcyB0aGUgUlRDIGhhbmRsZS4KICAgKiBAcmV0dmFsIE5vbmUKICAgKi8KLSNkZWZpbmUgX19IQUxfUlRDX1dSSVRFUFJPVEVDVElPTl9FTkFCTEUoX19IQU5ETEVfXykgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAgICAgICAgIGRveyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAoX19IQU5ETEVfXyktPkluc3RhbmNlLT5XUFIgPSAweEZGVTsgIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgfSB3aGlsZSgwVSkKKyNkZWZpbmUgX19IQUxfUlRDX1dSSVRFUFJPVEVDVElPTl9FTkFCTEUoX19IQU5ETEVfXykgZG8geyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoX19IQU5ETEVfXyktPkluc3RhbmNlLT5XUFIgPSAweEZGVTsgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSB3aGlsZSgwVSkKKwogCiAvKioKICAgKiBAYnJpZWYgIEVuYWJsZSB0aGUgUlRDIEFMQVJNQSBwZXJpcGhlcmFsLgpAQCAtNTI3LDkgKzUzMyw5IEBACiAgICogQGJyaWVmICBEaXNhYmxlIHRoZSBSVEMgQWxhcm0gaW50ZXJydXB0LgogICAqIEBwYXJhbSAgX19IQU5ETEVfXyBzcGVjaWZpZXMgdGhlIFJUQyBoYW5kbGUuCiAgICogQHBhcmFtICBfX0lOVEVSUlVQVF9fIHNwZWNpZmllcyB0aGUgUlRDIEFsYXJtIGludGVycnVwdCBzb3VyY2VzIHRvIGJlIGVuYWJsZWQgb3IgZGlzYWJsZWQuCi0gICogICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYW55IGNvbWJpbmF0aW9uIG9mIHRoZSBmb2xsb3dpbmcgdmFsdWVzOgotICAqICAgICAgICAgICAgQGFyZyBSVENfSVRfQUxSQTogQWxhcm0gQSBpbnRlcnJ1cHQKLSAgKiAgICAgICAgICAgIEBhcmcgUlRDX0lUX0FMUkI6IEFsYXJtIEIgaW50ZXJydXB0CisgICogICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGFueSBjb21iaW5hdGlvbiBvZiB0aGUgZm9sbG93aW5nIHZhbHVlczoKKyAgKiAgICAgICAgICAgICBAYXJnIFJUQ19JVF9BTFJBOiBBbGFybSBBIGludGVycnVwdAorICAqICAgICAgICAgICAgIEBhcmcgUlRDX0lUX0FMUkI6IEFsYXJtIEIgaW50ZXJydXB0CiAgICogQHJldHZhbCBOb25lCiAgICovCiAjZGVmaW5lIF9fSEFMX1JUQ19BTEFSTV9ESVNBQkxFX0lUKF9fSEFORExFX18sIF9fSU5URVJSVVBUX18pICAgICAgICAgKChfX0hBTkRMRV9fKS0+SW5zdGFuY2UtPkNSICY9IH4oX19JTlRFUlJVUFRfXykpCkBAIC01NDMsMjUgKzU0OSwyNSBAQAogICAqICAgICAgICAgICAgQGFyZyBSVENfSVRfQUxSQjogQWxhcm0gQiBpbnRlcnJ1cHQKICAgKiBAcmV0dmFsIE5vbmUKICAgKi8KLSNkZWZpbmUgX19IQUxfUlRDX0FMQVJNX0dFVF9JVChfX0hBTkRMRV9fLCBfX0lOVEVSUlVQVF9fKSAgICAgICAgICAgKCgoKChfX0hBTkRMRV9fKS0+SW5zdGFuY2UtPklTUikmICgoX19JTlRFUlJVUFRfXyk+PiA0VSkpICE9IFJFU0VUKT8gU0VUIDogUkVTRVQpCisjZGVmaW5lIF9fSEFMX1JUQ19BTEFSTV9HRVRfSVQoX19IQU5ETEVfXywgX19JTlRFUlJVUFRfXykgICAgICAgICAgICgoKCgoX19IQU5ETEVfXyktPkluc3RhbmNlLT5JU1IpICYgKChfX0lOVEVSUlVQVF9fKSA+PiA0VSkpICE9IDBVKSA/IDFVIDogMFUpCiAKIC8qKgogICAqIEBicmllZiAgR2V0IHRoZSBzZWxlY3RlZCBSVEMgQWxhcm0ncyBmbGFnIHN0YXR1cy4KICAgKiBAcGFyYW0gIF9fSEFORExFX18gc3BlY2lmaWVzIHRoZSBSVEMgaGFuZGxlLgogICAqIEBwYXJhbSAgX19GTEFHX18gc3BlY2lmaWVzIHRoZSBSVEMgQWxhcm0gRmxhZyB0byBjaGVjay4KICAgKiAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZToKLSAgKiAgICAgICAgICAgIEBhcmcgUlRDX0ZMQUdfQUxSQUYKLSAgKiAgICAgICAgICAgIEBhcmcgUlRDX0ZMQUdfQUxSQkYKLSAgKiAgICAgICAgICAgIEBhcmcgUlRDX0ZMQUdfQUxSQVdGCi0gICogICAgICAgICAgICBAYXJnIFJUQ19GTEFHX0FMUkJXRgorICAqICAgICAgICAgICAgQGFyZyBSVENfRkxBR19BTFJBRjogQWxhcm0gQSBpbnRlcnJ1cHQgZmxhZworICAqICAgICAgICAgICAgQGFyZyBSVENfRkxBR19BTFJBV0Y6IEFsYXJtIEEgJ3dyaXRlIGFsbG93ZWQnIGZsYWcKKyAgKiAgICAgICAgICAgIEBhcmcgUlRDX0ZMQUdfQUxSQkY6IEFsYXJtIEIgaW50ZXJydXB0IGZsYWcKKyAgKiAgICAgICAgICAgIEBhcmcgUlRDX0ZMQUdfQUxSQldGOiBBbGFybSBCICd3cml0ZSBhbGxvd2VkJyBmbGFnCiAgICogQHJldHZhbCBOb25lCiAgICovCi0jZGVmaW5lIF9fSEFMX1JUQ19BTEFSTV9HRVRfRkxBRyhfX0hBTkRMRV9fLCBfX0ZMQUdfXykgICAgICAgICAgICAgICAgKCgoKChfX0hBTkRMRV9fKS0+SW5zdGFuY2UtPklTUikgJiAoX19GTEFHX18pKSAhPSBSRVNFVCk/IFNFVCA6IFJFU0VUKQorI2RlZmluZSBfX0hBTF9SVENfQUxBUk1fR0VUX0ZMQUcoX19IQU5ETEVfXywgX19GTEFHX18pICAgICAgICAgICAgICAgICgoKCgoX19IQU5ETEVfXyktPkluc3RhbmNlLT5JU1IpICYgKF9fRkxBR19fKSkgIT0gMFUpID8gMVUgOiAwVSkKIAogLyoqCiAgICogQGJyaWVmICBDbGVhciB0aGUgUlRDIEFsYXJtJ3MgcGVuZGluZyBmbGFncy4KICAgKiBAcGFyYW0gIF9fSEFORExFX18gc3BlY2lmaWVzIHRoZSBSVEMgaGFuZGxlLgotICAqIEBwYXJhbSAgX19GTEFHX18gc3BlY2lmaWVzIHRoZSBSVEMgQWxhcm0gRmxhZyBzb3VyY2VzIHRvIGJlIGVuYWJsZWQgb3IgZGlzYWJsZWQuCisgICogQHBhcmFtICBfX0ZMQUdfXyBzcGVjaWZpZXMgdGhlIFJUQyBBbGFybSBmbGFnIHRvIGJlIGNsZWFyZWQuCiAgICogICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlOgogICAqICAgICAgICAgICAgIEBhcmcgUlRDX0ZMQUdfQUxSQUYKICAgKiAgICAgICAgICAgICBAYXJnIFJUQ19GTEFHX0FMUkJGCkBAIC01NjksNyArNTc1LDYgQEAKICAgKi8KICNkZWZpbmUgX19IQUxfUlRDX0FMQVJNX0NMRUFSX0ZMQUcoX19IQU5ETEVfXywgX19GTEFHX18pICAgICAgICAgICAgICAgICAgKChfX0hBTkRMRV9fKS0+SW5zdGFuY2UtPklTUikgPSAofigoX19GTEFHX18pIHwgUlRDX0lTUl9JTklUKXwoKF9fSEFORExFX18pLT5JbnN0YW5jZS0+SVNSICYgUlRDX0lTUl9JTklUKSkKIAotCiAvKioKICAgKiBAYnJpZWYgIENoZWNrIHdoZXRoZXIgdGhlIHNwZWNpZmllZCBSVEMgQWxhcm0gaW50ZXJydXB0IGhhcyBiZWVuIGVuYWJsZWQgb3Igbm90LgogICAqIEBwYXJhbSAgX19IQU5ETEVfXyBzcGVjaWZpZXMgdGhlIFJUQyBoYW5kbGUuCkBAIC01NzksODYgKzU4NCw4OCBAQAogICAqICAgICAgICAgICAgQGFyZyBSVENfSVRfQUxSQjogQWxhcm0gQiBpbnRlcnJ1cHQKICAgKiBAcmV0dmFsIE5vbmUKICAgKi8KLSNkZWZpbmUgX19IQUxfUlRDX0FMQVJNX0dFVF9JVF9TT1VSQ0UoX19IQU5ETEVfXywgX19JTlRFUlJVUFRfXykgICAgICgoKCgoX19IQU5ETEVfXyktPkluc3RhbmNlLT5DUikgJiAoX19JTlRFUlJVUFRfXykpICE9IFJFU0VUKSA/IFNFVCA6IFJFU0VUKQorI2RlZmluZSBfX0hBTF9SVENfQUxBUk1fR0VUX0lUX1NPVVJDRShfX0hBTkRMRV9fLCBfX0lOVEVSUlVQVF9fKSAgICAgKCgoKChfX0hBTkRMRV9fKS0+SW5zdGFuY2UtPkNSKSAmIChfX0lOVEVSUlVQVF9fKSkgIT0gMFUpID8gMVUgOiAwVSkKIAogLyoqCi0gICogQGJyaWVmICBFbmFibGUgaW50ZXJydXB0IG9uIHRoZSBSVEMgQWxhcm0gYXNzb2NpYXRlZCBFeHRpIGxpbmUuCisgICogQGJyaWVmICBFbmFibGUgaW50ZXJydXB0IG9uIHRoZSBSVEMgQWxhcm0gYXNzb2NpYXRlZCBFWFRJIGxpbmUuCiAgICogQHJldHZhbCBOb25lCiAgICovCiAjZGVmaW5lIF9fSEFMX1JUQ19BTEFSTV9FWFRJX0VOQUJMRV9JVCgpICAgICAgICAgICAgKEVYVEktPklNUiB8PSBSVENfRVhUSV9MSU5FX0FMQVJNX0VWRU5UKQogCiAvKioKLSAgKiBAYnJpZWYgIERpc2FibGUgaW50ZXJydXB0IG9uIHRoZSBSVEMgQWxhcm0gYXNzb2NpYXRlZCBFeHRpIGxpbmUuCisgICogQGJyaWVmICBEaXNhYmxlIGludGVycnVwdCBvbiB0aGUgUlRDIEFsYXJtIGFzc29jaWF0ZWQgRVhUSSBsaW5lLgogICAqIEByZXR2YWwgTm9uZQogICAqLwotI2RlZmluZSBfX0hBTF9SVENfQUxBUk1fRVhUSV9ESVNBQkxFX0lUKCkgICAgICAgICAgIChFWFRJLT5JTVIgJj0gfihSVENfRVhUSV9MSU5FX0FMQVJNX0VWRU5UKSkKKyNkZWZpbmUgX19IQUxfUlRDX0FMQVJNX0VYVElfRElTQUJMRV9JVCgpICAgICAgICAgICAoRVhUSS0+SU1SICY9IH5SVENfRVhUSV9MSU5FX0FMQVJNX0VWRU5UKQogCiAvKioKLSAgKiBAYnJpZWYgIEVuYWJsZSBldmVudCBvbiB0aGUgUlRDIEFsYXJtIGFzc29jaWF0ZWQgRXh0aSBsaW5lLgorICAqIEBicmllZiAgRW5hYmxlIGV2ZW50IG9uIHRoZSBSVEMgQWxhcm0gYXNzb2NpYXRlZCBFWFRJIGxpbmUuCiAgICogQHJldHZhbCBOb25lLgogICAqLwotI2RlZmluZSBfX0hBTF9SVENfQUxBUk1fRVhUSV9FTkFCTEVfRVZFTlQoKSAgICAgICAgIChFWFRJLT5FTVIgfD0gUlRDX0VYVElfTElORV9BTEFSTV9FVkVOVCkKKyNkZWZpbmUgX19IQUxfUlRDX0FMQVJNX0VYVElfRU5BQkxFX0VWRU5UKCkgICAgICAgICAgKEVYVEktPkVNUiB8PSBSVENfRVhUSV9MSU5FX0FMQVJNX0VWRU5UKQogCiAvKioKLSAgKiBAYnJpZWYgIERpc2FibGUgZXZlbnQgb24gdGhlIFJUQyBBbGFybSBhc3NvY2lhdGVkIEV4dGkgbGluZS4KKyAgKiBAYnJpZWYgIERpc2FibGUgZXZlbnQgb24gdGhlIFJUQyBBbGFybSBhc3NvY2lhdGVkIEVYVEkgbGluZS4KICAgKiBAcmV0dmFsIE5vbmUuCiAgICovCi0jZGVmaW5lIF9fSEFMX1JUQ19BTEFSTV9FWFRJX0RJU0FCTEVfRVZFTlQoKSAgICAgICAgIChFWFRJLT5FTVIgJj0gfihSVENfRVhUSV9MSU5FX0FMQVJNX0VWRU5UKSkKKyNkZWZpbmUgX19IQUxfUlRDX0FMQVJNX0VYVElfRElTQUJMRV9FVkVOVCgpICAgICAgICAgKEVYVEktPkVNUiAmPSB+UlRDX0VYVElfTElORV9BTEFSTV9FVkVOVCkKIAogLyoqCi0gICogQGJyaWVmICBFbmFibGUgZmFsbGluZyBlZGdlIHRyaWdnZXIgb24gdGhlIFJUQyBBbGFybSBhc3NvY2lhdGVkIEV4dGkgbGluZS4KKyAgKiBAYnJpZWYgIEVuYWJsZSBmYWxsaW5nIGVkZ2UgdHJpZ2dlciBvbiB0aGUgUlRDIEFsYXJtIGFzc29jaWF0ZWQgRVhUSSBsaW5lLgogICAqIEByZXR2YWwgTm9uZS4KICAgKi8KICNkZWZpbmUgX19IQUxfUlRDX0FMQVJNX0VYVElfRU5BQkxFX0ZBTExJTkdfRURHRSgpICAgKEVYVEktPkZUU1IgfD0gUlRDX0VYVElfTElORV9BTEFSTV9FVkVOVCkKIAogLyoqCi0gICogQGJyaWVmICBEaXNhYmxlIGZhbGxpbmcgZWRnZSB0cmlnZ2VyIG9uIHRoZSBSVEMgQWxhcm0gYXNzb2NpYXRlZCBFeHRpIGxpbmUuCisgICogQGJyaWVmICBEaXNhYmxlIGZhbGxpbmcgZWRnZSB0cmlnZ2VyIG9uIHRoZSBSVEMgQWxhcm0gYXNzb2NpYXRlZCBFWFRJIGxpbmUuCiAgICogQHJldHZhbCBOb25lLgogICAqLwotI2RlZmluZSBfX0hBTF9SVENfQUxBUk1fRVhUSV9ESVNBQkxFX0ZBTExJTkdfRURHRSgpICAoRVhUSS0+RlRTUiAmPSB+KFJUQ19FWFRJX0xJTkVfQUxBUk1fRVZFTlQpKQorI2RlZmluZSBfX0hBTF9SVENfQUxBUk1fRVhUSV9ESVNBQkxFX0ZBTExJTkdfRURHRSgpICAoRVhUSS0+RlRTUiAmPSB+UlRDX0VYVElfTElORV9BTEFSTV9FVkVOVCkKIAogLyoqCi0gICogQGJyaWVmICBFbmFibGUgcmlzaW5nIGVkZ2UgdHJpZ2dlciBvbiB0aGUgUlRDIEFsYXJtIGFzc29jaWF0ZWQgRXh0aSBsaW5lLgorICAqIEBicmllZiAgRW5hYmxlIHJpc2luZyBlZGdlIHRyaWdnZXIgb24gdGhlIFJUQyBBbGFybSBhc3NvY2lhdGVkIEVYVEkgbGluZS4KICAgKiBAcmV0dmFsIE5vbmUuCiAgICovCiAjZGVmaW5lIF9fSEFMX1JUQ19BTEFSTV9FWFRJX0VOQUJMRV9SSVNJTkdfRURHRSgpICAgIChFWFRJLT5SVFNSIHw9IFJUQ19FWFRJX0xJTkVfQUxBUk1fRVZFTlQpCiAKIC8qKgotICAqIEBicmllZiAgRGlzYWJsZSByaXNpbmcgZWRnZSB0cmlnZ2VyIG9uIHRoZSBSVEMgQWxhcm0gYXNzb2NpYXRlZCBFeHRpIGxpbmUuCisgICogQGJyaWVmICBEaXNhYmxlIHJpc2luZyBlZGdlIHRyaWdnZXIgb24gdGhlIFJUQyBBbGFybSBhc3NvY2lhdGVkIEVYVEkgbGluZS4KICAgKiBAcmV0dmFsIE5vbmUuCiAgICovCi0jZGVmaW5lIF9fSEFMX1JUQ19BTEFSTV9FWFRJX0RJU0FCTEVfUklTSU5HX0VER0UoKSAgIChFWFRJLT5SVFNSICY9IH4oUlRDX0VYVElfTElORV9BTEFSTV9FVkVOVCkpCisjZGVmaW5lIF9fSEFMX1JUQ19BTEFSTV9FWFRJX0RJU0FCTEVfUklTSU5HX0VER0UoKSAgIChFWFRJLT5SVFNSICY9IH5SVENfRVhUSV9MSU5FX0FMQVJNX0VWRU5UKQogCiAvKioKLSAgKiBAYnJpZWYgIEVuYWJsZSByaXNpbmcgJiBmYWxsaW5nIGVkZ2UgdHJpZ2dlciBvbiB0aGUgUlRDIEFsYXJtIGFzc29jaWF0ZWQgRXh0aSBsaW5lLgorICAqIEBicmllZiAgRW5hYmxlIHJpc2luZyAmIGZhbGxpbmcgZWRnZSB0cmlnZ2VyIG9uIHRoZSBSVEMgQWxhcm0gYXNzb2NpYXRlZCBFWFRJIGxpbmUuCiAgICogQHJldHZhbCBOb25lLgogICAqLwotI2RlZmluZSBfX0hBTF9SVENfQUxBUk1fRVhUSV9FTkFCTEVfUklTSU5HX0ZBTExJTkdfRURHRSgpIGRvIHsgX19IQUxfUlRDX0FMQVJNX0VYVElfRU5BQkxFX1JJU0lOR19FREdFKCk7IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fSEFMX1JUQ19BTEFSTV9FWFRJX0VOQUJMRV9GQUxMSU5HX0VER0UoKTtcCisjZGVmaW5lIF9fSEFMX1JUQ19BTEFSTV9FWFRJX0VOQUJMRV9SSVNJTkdfRkFMTElOR19FREdFKCkgZG8geyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fSEFMX1JUQ19BTEFSTV9FWFRJX0VOQUJMRV9SSVNJTkdfRURHRSgpOyAgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19IQUxfUlRDX0FMQVJNX0VYVElfRU5BQkxFX0ZBTExJTkdfRURHRSgpOyBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSB3aGlsZSgwVSkKIAogLyoqCi0gICogQGJyaWVmICBEaXNhYmxlIHJpc2luZyAmIGZhbGxpbmcgZWRnZSB0cmlnZ2VyIG9uIHRoZSBSVEMgQWxhcm0gYXNzb2NpYXRlZCBFeHRpIGxpbmUuCisgICogQGJyaWVmICBEaXNhYmxlIHJpc2luZyAmIGZhbGxpbmcgZWRnZSB0cmlnZ2VyIG9uIHRoZSBSVEMgQWxhcm0gYXNzb2NpYXRlZCBFWFRJIGxpbmUuCiAgICogQHJldHZhbCBOb25lLgogICAqLwotI2RlZmluZSBfX0hBTF9SVENfQUxBUk1fRVhUSV9ESVNBQkxFX1JJU0lOR19GQUxMSU5HX0VER0UoKSBkbyB7IF9fSEFMX1JUQ19BTEFSTV9FWFRJX0RJU0FCTEVfUklTSU5HX0VER0UoKTtcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19IQUxfUlRDX0FMQVJNX0VYVElfRElTQUJMRV9GQUxMSU5HX0VER0UoKTtcCisjZGVmaW5lIF9fSEFMX1JUQ19BTEFSTV9FWFRJX0RJU0FCTEVfUklTSU5HX0ZBTExJTkdfRURHRSgpIGRvIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fSEFMX1JUQ19BTEFSTV9FWFRJX0RJU0FCTEVfUklTSU5HX0VER0UoKTsgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX0hBTF9SVENfQUxBUk1fRVhUSV9ESVNBQkxFX0ZBTExJTkdfRURHRSgpOyBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gd2hpbGUoMFUpCiAKIC8qKgotICAqIEBicmllZiBDaGVjayB3aGV0aGVyIHRoZSBSVEMgQWxhcm0gYXNzb2NpYXRlZCBFeHRpIGxpbmUgaW50ZXJydXB0IGZsYWcgaXMgc2V0IG9yIG5vdC4KKyAgKiBAYnJpZWYgQ2hlY2sgd2hldGhlciB0aGUgUlRDIEFsYXJtIGFzc29jaWF0ZWQgRVhUSSBsaW5lIGludGVycnVwdCBmbGFnIGlzIHNldCBvciBub3QuCiAgICogQHJldHZhbCBMaW5lIFN0YXR1cy4KICAgKi8KICNkZWZpbmUgX19IQUxfUlRDX0FMQVJNX0VYVElfR0VUX0ZMQUcoKSAgICAgICAgICAgICAgKEVYVEktPlBSICYgUlRDX0VYVElfTElORV9BTEFSTV9FVkVOVCkKIAogLyoqCi0gICogQGJyaWVmIENsZWFyIHRoZSBSVEMgQWxhcm0gYXNzb2NpYXRlZCBFeHRpIGxpbmUgZmxhZy4KKyAgKiBAYnJpZWYgQ2xlYXIgdGhlIFJUQyBBbGFybSBhc3NvY2lhdGVkIEVYVEkgbGluZSBmbGFnLgogICAqIEByZXR2YWwgTm9uZS4KICAgKi8KICNkZWZpbmUgX19IQUxfUlRDX0FMQVJNX0VYVElfQ0xFQVJfRkxBRygpICAgICAgICAgICAgKEVYVEktPlBSID0gUlRDX0VYVElfTElORV9BTEFSTV9FVkVOVCkKIAogLyoqCi0gICogQGJyaWVmIEdlbmVyYXRlIGEgU29mdHdhcmUgaW50ZXJydXB0IG9uIFJUQyBBbGFybSBhc3NvY2lhdGVkIEV4dGkgbGluZS4KKyAgKiBAYnJpZWYgR2VuZXJhdGUgYSBTb2Z0d2FyZSBpbnRlcnJ1cHQgb24gUlRDIEFsYXJtIGFzc29jaWF0ZWQgRVhUSSBsaW5lLgogICAqIEByZXR2YWwgTm9uZS4KICAgKi8KICNkZWZpbmUgX19IQUxfUlRDX0FMQVJNX0VYVElfR0VORVJBVEVfU1dJVCgpICAgICAgICAgKEVYVEktPlNXSUVSIHw9IFJUQ19FWFRJX0xJTkVfQUxBUk1fRVZFTlQpCkBAIC02NjYsMTAgKzY3MywxMSBAQAogICAqIEB9CiAgICovCiAKLS8qIEluY2x1ZGUgUlRDIEhBTCBFeHRlbnNpb24gbW9kdWxlICovCisvKiBJbmNsdWRlIFJUQyBIQUwgRXh0ZW5kZWQgbW9kdWxlICovCiAjaW5jbHVkZSAic3RtMzJmNHh4X2hhbF9ydGNfZXguaCIKIAogLyogRXhwb3J0ZWQgZnVuY3Rpb25zIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKwogLyoqIEBhZGR0b2dyb3VwIFJUQ19FeHBvcnRlZF9GdW5jdGlvbnMKICAgKiBAewogICAqLwpAQCAtNjgwLDggKzY4OCw4IEBACiAvKiBJbml0aWFsaXphdGlvbiBhbmQgZGUtaW5pdGlhbGl6YXRpb24gZnVuY3Rpb25zICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwogSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1JUQ19Jbml0KFJUQ19IYW5kbGVUeXBlRGVmICpocnRjKTsKIEhBTF9TdGF0dXNUeXBlRGVmIEhBTF9SVENfRGVJbml0KFJUQ19IYW5kbGVUeXBlRGVmICpocnRjKTsKLXZvaWQgICAgICAgSEFMX1JUQ19Nc3BJbml0KFJUQ19IYW5kbGVUeXBlRGVmICpocnRjKTsKLXZvaWQgICAgICAgSEFMX1JUQ19Nc3BEZUluaXQoUlRDX0hhbmRsZVR5cGVEZWYgKmhydGMpOwordm9pZCAgICAgICAgICAgICAgSEFMX1JUQ19Nc3BJbml0KFJUQ19IYW5kbGVUeXBlRGVmICpocnRjKTsKK3ZvaWQgICAgICAgICAgICAgIEhBTF9SVENfTXNwRGVJbml0KFJUQ19IYW5kbGVUeXBlRGVmICpocnRjKTsKIAogLyogQ2FsbGJhY2tzIFJlZ2lzdGVyL1VuUmVnaXN0ZXIgZnVuY3Rpb25zICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KICNpZiAoVVNFX0hBTF9SVENfUkVHSVNURVJfQ0FMTEJBQ0tTID09IDEpCkBAIC03MDAsMTEgKzcwOCw2IEBACiBIQUxfU3RhdHVzVHlwZURlZiBIQUxfUlRDX0dldFRpbWUoUlRDX0hhbmRsZVR5cGVEZWYgKmhydGMsIFJUQ19UaW1lVHlwZURlZiAqc1RpbWUsIHVpbnQzMl90IEZvcm1hdCk7CiBIQUxfU3RhdHVzVHlwZURlZiBIQUxfUlRDX1NldERhdGUoUlRDX0hhbmRsZVR5cGVEZWYgKmhydGMsIFJUQ19EYXRlVHlwZURlZiAqc0RhdGUsIHVpbnQzMl90IEZvcm1hdCk7CiBIQUxfU3RhdHVzVHlwZURlZiBIQUxfUlRDX0dldERhdGUoUlRDX0hhbmRsZVR5cGVEZWYgKmhydGMsIFJUQ19EYXRlVHlwZURlZiAqc0RhdGUsIHVpbnQzMl90IEZvcm1hdCk7Ci12b2lkICAgICAgICAgICAgICBIQUxfUlRDX0RTVF9BZGQxSG91cihSVENfSGFuZGxlVHlwZURlZiAqaHJ0Yyk7Ci12b2lkICAgICAgICAgICAgICBIQUxfUlRDX0RTVF9TdWIxSG91cihSVENfSGFuZGxlVHlwZURlZiAqaHJ0Yyk7Ci12b2lkICAgICAgICAgICAgICBIQUxfUlRDX0RTVF9TZXRTdG9yZU9wZXJhdGlvbihSVENfSGFuZGxlVHlwZURlZiAqaHJ0Yyk7Ci12b2lkICAgICAgICAgICAgICBIQUxfUlRDX0RTVF9DbGVhclN0b3JlT3BlcmF0aW9uKFJUQ19IYW5kbGVUeXBlRGVmICpocnRjKTsKLXVpbnQzMl90ICAgICAgICAgIEhBTF9SVENfRFNUX1JlYWRTdG9yZU9wZXJhdGlvbihSVENfSGFuZGxlVHlwZURlZiAqaHJ0Yyk7CiAvKioKICAgKiBAfQogICAqLwpAQCAtNzE3LDkgKzcyMCw5IEBACiBIQUxfU3RhdHVzVHlwZURlZiBIQUxfUlRDX1NldEFsYXJtX0lUKFJUQ19IYW5kbGVUeXBlRGVmICpocnRjLCBSVENfQWxhcm1UeXBlRGVmICpzQWxhcm0sIHVpbnQzMl90IEZvcm1hdCk7CiBIQUxfU3RhdHVzVHlwZURlZiBIQUxfUlRDX0RlYWN0aXZhdGVBbGFybShSVENfSGFuZGxlVHlwZURlZiAqaHJ0YywgdWludDMyX3QgQWxhcm0pOwogSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1JUQ19HZXRBbGFybShSVENfSGFuZGxlVHlwZURlZiAqaHJ0YywgUlRDX0FsYXJtVHlwZURlZiAqc0FsYXJtLCB1aW50MzJfdCBBbGFybSwgdWludDMyX3QgRm9ybWF0KTsKLXZvaWQgICAgICAgICAgICAgICAgSEFMX1JUQ19BbGFybUlSUUhhbmRsZXIoUlRDX0hhbmRsZVR5cGVEZWYgKmhydGMpOwotSEFMX1N0YXR1c1R5cGVEZWYgICBIQUxfUlRDX1BvbGxGb3JBbGFybUFFdmVudChSVENfSGFuZGxlVHlwZURlZiAqaHJ0YywgdWludDMyX3QgVGltZW91dCk7Ci12b2lkICAgICAgICAgSEFMX1JUQ19BbGFybUFFdmVudENhbGxiYWNrKFJUQ19IYW5kbGVUeXBlRGVmICpocnRjKTsKK3ZvaWQgICAgICAgICAgICAgIEhBTF9SVENfQWxhcm1JUlFIYW5kbGVyKFJUQ19IYW5kbGVUeXBlRGVmICpocnRjKTsKK0hBTF9TdGF0dXNUeXBlRGVmIEhBTF9SVENfUG9sbEZvckFsYXJtQUV2ZW50KFJUQ19IYW5kbGVUeXBlRGVmICpocnRjLCB1aW50MzJfdCBUaW1lb3V0KTsKK3ZvaWQgICAgICAgICAgICAgIEhBTF9SVENfQWxhcm1BRXZlbnRDYWxsYmFjayhSVENfSGFuZGxlVHlwZURlZiAqaHJ0Yyk7CiAvKioKICAgKiBAfQogICAqLwpAQCAtNzI4LDcgKzczMSwxNCBAQAogICAqIEB7CiAgICovCiAvKiBQZXJpcGhlcmFsIENvbnRyb2wgZnVuY3Rpb25zICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwotSEFMX1N0YXR1c1R5cGVEZWYgICBIQUxfUlRDX1dhaXRGb3JTeW5jaHJvKFJUQ19IYW5kbGVUeXBlRGVmKiBocnRjKTsKK0hBTF9TdGF0dXNUeXBlRGVmICAgSEFMX1JUQ19XYWl0Rm9yU3luY2hybyhSVENfSGFuZGxlVHlwZURlZiAqaHJ0Yyk7CisKKy8qIFJUQyBEYXlsaWdodCBTYXZpbmcgVGltZSBmdW5jdGlvbnMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCit2b2lkICAgICAgICAgICAgICBIQUxfUlRDX0RTVF9BZGQxSG91cihSVENfSGFuZGxlVHlwZURlZiAqaHJ0Yyk7Cit2b2lkICAgICAgICAgICAgICBIQUxfUlRDX0RTVF9TdWIxSG91cihSVENfSGFuZGxlVHlwZURlZiAqaHJ0Yyk7Cit2b2lkICAgICAgICAgICAgICBIQUxfUlRDX0RTVF9TZXRTdG9yZU9wZXJhdGlvbihSVENfSGFuZGxlVHlwZURlZiAqaHJ0Yyk7Cit2b2lkICAgICAgICAgICAgICBIQUxfUlRDX0RTVF9DbGVhclN0b3JlT3BlcmF0aW9uKFJUQ19IYW5kbGVUeXBlRGVmICpocnRjKTsKK3VpbnQzMl90ICAgICAgICAgIEhBTF9SVENfRFNUX1JlYWRTdG9yZU9wZXJhdGlvbihSVENfSGFuZGxlVHlwZURlZiAqaHJ0Yyk7CiAvKioKICAgKiBAfQogICAqLwpAQCAtNzQ5LDI4ICs3NTksMzggQEAKIC8qIFByaXZhdGUgdHlwZXMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAvKiBQcml2YXRlIHZhcmlhYmxlcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogLyogUHJpdmF0ZSBjb25zdGFudHMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKwogLyoqIEBkZWZncm91cCBSVENfUHJpdmF0ZV9Db25zdGFudHMgUlRDIFByaXZhdGUgQ29uc3RhbnRzCiAgICogQHsKICAgKi8KIC8qIE1hc2tzIERlZmluaXRpb24gKi8KLSNkZWZpbmUgUlRDX1RSX1JFU0VSVkVEX01BU0sgICAgMHgwMDdGN0Y3RlUKLSNkZWZpbmUgUlRDX0RSX1JFU0VSVkVEX01BU0sgICAgMHgwMEZGRkYzRlUKKyNkZWZpbmUgUlRDX1RSX1JFU0VSVkVEX01BU0sgICAgKCh1aW50MzJfdCkoUlRDX1RSX0hUICB8IFJUQ19UUl9IVSAgfCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJUQ19UUl9NTlQgfCBSVENfVFJfTU5VIHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSVENfVFJfU1QgIHwgUlRDX1RSX1NVICB8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUlRDX1RSX1BNKSkKKyNkZWZpbmUgUlRDX0RSX1JFU0VSVkVEX01BU0sgICAgKCh1aW50MzJfdCkoUlRDX0RSX1lUIHwgUlRDX0RSX1lVIHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSVENfRFJfTVQgfCBSVENfRFJfTVUgfCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJUQ19EUl9EVCB8IFJUQ19EUl9EVSB8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUlRDX0RSX1dEVSkpCiAjZGVmaW5lIFJUQ19JTklUX01BU0sgICAgICAgICAgIDB4RkZGRkZGRkZVCi0jZGVmaW5lIFJUQ19SU0ZfTUFTSyAgICAgICAgICAgIDB4RkZGRkZGNUZVCi0jZGVmaW5lIFJUQ19GTEFHU19NQVNLICAgICAgICAgICgodWludDMyX3QpKFJUQ19GTEFHX1RTT1ZGIHwgUlRDX0ZMQUdfVFNGIHwgUlRDX0ZMQUdfV1VURiB8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUlRDX0ZMQUdfQUxSQkYgfCBSVENfRkxBR19BTFJBRiB8IFJUQ19GTEFHX0lOSVRGIHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSVENfRkxBR19SU0YgfCBSVENfRkxBR19JTklUUyB8IFJUQ19GTEFHX1dVVFdGIHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSVENfRkxBR19BTFJCV0YgfCBSVENfRkxBR19BTFJBV0YgfCBSVENfRkxBR19UQU1QMUYgfCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJUQ19GTEFHX1JFQ0FMUEYgfCBSVENfRkxBR19TSFBGKSkKKyNkZWZpbmUgUlRDX1JTRl9NQVNLICAgICAgICAgICAgKCh1aW50MzJfdCl+KFJUQ19JU1JfSU5JVCB8IFJUQ19JU1JfUlNGKSkKKyNkZWZpbmUgUlRDX0ZMQUdTX01BU0sgICAgICAgICAgKCh1aW50MzJfdCkoUlRDX0ZMQUdfSU5JVEYgICB8IFJUQ19GTEFHX0lOSVRTICB8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUlRDX0ZMQUdfQUxSQUYgICB8IFJUQ19GTEFHX0FMUkFXRiB8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUlRDX0ZMQUdfQUxSQkYgICB8IFJUQ19GTEFHX0FMUkJXRiB8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUlRDX0ZMQUdfV1VURiAgICB8IFJUQ19GTEFHX1dVVFdGICB8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUlRDX0ZMQUdfUkVDQUxQRiB8IFJUQ19GTEFHX1NIUEYgICB8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUlRDX0ZMQUdfVFNGICAgICB8IFJUQ19GTEFHX1RTT1ZGICB8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUlRDX0ZMQUdfUlNGICAgICB8IFJUQ19UQU1QRVJfRkxBR1NfTUFTSykpCiAKLSNkZWZpbmUgUlRDX1RJTUVPVVRfVkFMVUUgICAgICAgMTAwMAorI2RlZmluZSBSVENfVElNRU9VVF9WQUxVRSAgICAgICAxMDAwVQogCi0jZGVmaW5lIFJUQ19FWFRJX0xJTkVfQUxBUk1fRVZFTlQgICAgICAgICAgICAgKCh1aW50MzJfdClFWFRJX0lNUl9NUjE3KSAgLyohPCBFeHRlcm5hbCBpbnRlcnJ1cHQgbGluZSAxNyBDb25uZWN0ZWQgdG8gdGhlIFJUQyBBbGFybSBldmVudCAqLworI2RlZmluZSBSVENfRVhUSV9MSU5FX0FMQVJNX0VWRU5UICBFWFRJX0lNUl9NUjE3ICAvKiE8IEV4dGVybmFsIGludGVycnVwdCBsaW5lIDE3IENvbm5lY3RlZCB0byB0aGUgUlRDIEFsYXJtIGV2ZW50ICovCiAvKioKICAgKiBAfQogICAqLwogCiAvKiBQcml2YXRlIG1hY3JvcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCiAvKiogQGRlZmdyb3VwIFJUQ19Qcml2YXRlX01hY3JvcyBSVEMgUHJpdmF0ZSBNYWNyb3MKICAgKiBAewogICAqLwpAQCAtNzgwLDMxICs4MDAsNDIgQEAKICAgKi8KICNkZWZpbmUgSVNfUlRDX0hPVVJfRk9STUFUKEZPUk1BVCkgICAgICgoKEZPUk1BVCkgPT0gUlRDX0hPVVJGT1JNQVRfMTIpIHx8IFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEZPUk1BVCkgPT0gUlRDX0hPVVJGT1JNQVRfMjQpKQorCiAjZGVmaW5lIElTX1JUQ19PVVRQVVQoT1VUUFVUKSAoKChPVVRQVVQpID09IFJUQ19PVVRQVVRfRElTQUJMRSkgfHwgXAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoT1VUUFVUKSA9PSBSVENfT1VUUFVUX0FMQVJNQSkgIHx8IFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKE9VVFBVVCkgPT0gUlRDX09VVFBVVF9BTEFSTUIpICB8fCBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChPVVRQVVQpID09IFJUQ19PVVRQVVRfV0FLRVVQKSkKKwogI2RlZmluZSBJU19SVENfT1VUUFVUX1BPTChQT0wpICgoKFBPTCkgPT0gUlRDX09VVFBVVF9QT0xBUklUWV9ISUdIKSB8fCBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoUE9MKSA9PSBSVENfT1VUUFVUX1BPTEFSSVRZX0xPVykpCisKICNkZWZpbmUgSVNfUlRDX09VVFBVVF9UWVBFKFRZUEUpICgoKFRZUEUpID09IFJUQ19PVVRQVVRfVFlQRV9PUEVORFJBSU4pIHx8IFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKFRZUEUpID09IFJUQ19PVVRQVVRfVFlQRV9QVVNIUFVMTCkpCi0jZGVmaW5lIElTX1JUQ19IT1VSMTIoSE9VUikgICAgICAgICAgICAoKChIT1VSKSA+IDBVKSAmJiAoKEhPVVIpIDw9IDEyVSkpCi0jZGVmaW5lIElTX1JUQ19IT1VSMjQoSE9VUikgICAgICAgICAgICAoKEhPVVIpIDw9IDIzVSkKKwogI2RlZmluZSBJU19SVENfQVNZTkNIX1BSRURJVihQUkVESVYpICAgKChQUkVESVYpIDw9IDB4N0ZVKQogI2RlZmluZSBJU19SVENfU1lOQ0hfUFJFRElWKFBSRURJVikgICAgKChQUkVESVYpIDw9IDB4N0ZGRlUpCisKKyNkZWZpbmUgSVNfUlRDX0hPVVIxMihIT1VSKSAgICAgICAgICAgICgoKEhPVVIpID4gMFUpICYmICgoSE9VUikgPD0gMTJVKSkKKyNkZWZpbmUgSVNfUlRDX0hPVVIyNChIT1VSKSAgICAgICAgICAgICgoSE9VUikgPD0gMjNVKQogI2RlZmluZSBJU19SVENfTUlOVVRFUyhNSU5VVEVTKSAgICAgICAgKChNSU5VVEVTKSA8PSA1OVUpCiAjZGVmaW5lIElTX1JUQ19TRUNPTkRTKFNFQ09ORFMpICAgICAgICAoKFNFQ09ORFMpIDw9IDU5VSkKIAotI2RlZmluZSBJU19SVENfSE9VUkZPUk1BVDEyKFBNKSAgKCgoUE0pID09IFJUQ19IT1VSRk9STUFUMTJfQU0pIHx8ICgoUE0pID09IFJUQ19IT1VSRk9STUFUMTJfUE0pKQorI2RlZmluZSBJU19SVENfSE9VUkZPUk1BVDEyKFBNKSAgKCgoUE0pID09IFJUQ19IT1VSRk9STUFUMTJfQU0pIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKFBNKSA9PSBSVENfSE9VUkZPUk1BVDEyX1BNKSkKKwogI2RlZmluZSBJU19SVENfREFZTElHSFRfU0FWSU5HKFNBVkUpICgoKFNBVkUpID09IFJUQ19EQVlMSUdIVFNBVklOR19TVUIxSCkgfHwgXAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKFNBVkUpID09IFJUQ19EQVlMSUdIVFNBVklOR19BREQxSCkgfHwgXAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKFNBVkUpID09IFJUQ19EQVlMSUdIVFNBVklOR19OT05FKSkKKwogI2RlZmluZSBJU19SVENfU1RPUkVfT1BFUkFUSU9OKE9QRVJBVElPTikgKCgoT1BFUkFUSU9OKSA9PSBSVENfU1RPUkVPUEVSQVRJT05fUkVTRVQpIHx8IFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKE9QRVJBVElPTikgPT0gUlRDX1NUT1JFT1BFUkFUSU9OX1NFVCkpCisKICNkZWZpbmUgSVNfUlRDX0ZPUk1BVChGT1JNQVQpICgoKEZPUk1BVCkgPT0gUlRDX0ZPUk1BVF9CSU4pIHx8ICgoRk9STUFUKSA9PSBSVENfRk9STUFUX0JDRCkpCisKICNkZWZpbmUgSVNfUlRDX1lFQVIoWUVBUikgICAgICAgICAgICAgICgoWUVBUikgPD0gOTlVKQogI2RlZmluZSBJU19SVENfTU9OVEgoTU9OVEgpICAgICAgICAgICAgKCgoTU9OVEgpID49IDFVKSAmJiAoKE1PTlRIKSA8PSAxMlUpKQogI2RlZmluZSBJU19SVENfREFURShEQVRFKSAgICAgICAgICAgICAgKCgoREFURSkgPj0gMVUpICYmICgoREFURSkgPD0gMzFVKSkKKwogI2RlZmluZSBJU19SVENfV0VFS0RBWShXRUVLREFZKSAoKChXRUVLREFZKSA9PSBSVENfV0VFS0RBWV9NT05EQVkpICAgIHx8IFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoV0VFS0RBWSkgPT0gUlRDX1dFRUtEQVlfVFVFU0RBWSkgICB8fCBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKFdFRUtEQVkpID09IFJUQ19XRUVLREFZX1dFRE5FU0RBWSkgfHwgXApAQCAtODEyLDcgKzg0Myw5IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKFdFRUtEQVkpID09IFJUQ19XRUVLREFZX0ZSSURBWSkgICAgfHwgXAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChXRUVLREFZKSA9PSBSVENfV0VFS0RBWV9TQVRVUkRBWSkgIHx8IFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoV0VFS0RBWSkgPT0gUlRDX1dFRUtEQVlfU1VOREFZKSkKKwogI2RlZmluZSBJU19SVENfQUxBUk1fREFURV9XRUVLREFZX0RBVEUoREFURSkgKCgoREFURSkgPiAwVSkgJiYgKChEQVRFKSA8PSAzMVUpKQorCiAjZGVmaW5lIElTX1JUQ19BTEFSTV9EQVRFX1dFRUtEQVlfV0VFS0RBWShXRUVLREFZKSAoKChXRUVLREFZKSA9PSBSVENfV0VFS0RBWV9NT05EQVkpICAgIHx8IFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKFdFRUtEQVkpID09IFJUQ19XRUVLREFZX1RVRVNEQVkpICAgfHwgXAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoV0VFS0RBWSkgPT0gUlRDX1dFRUtEQVlfV0VETkVTREFZKSB8fCBcCkBAIC04MjAsMjcgKzg1MywzMSBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoV0VFS0RBWSkgPT0gUlRDX1dFRUtEQVlfRlJJREFZKSAgICB8fCBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChXRUVLREFZKSA9PSBSVENfV0VFS0RBWV9TQVRVUkRBWSkgIHx8IFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKFdFRUtEQVkpID09IFJUQ19XRUVLREFZX1NVTkRBWSkpCisKICNkZWZpbmUgSVNfUlRDX0FMQVJNX0RBVEVfV0VFS0RBWV9TRUwoU0VMKSAoKChTRUwpID09IFJUQ19BTEFSTURBVEVXRUVLREFZU0VMX0RBVEUpIHx8IFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChTRUwpID09IFJUQ19BTEFSTURBVEVXRUVLREFZU0VMX1dFRUtEQVkpKQotI2RlZmluZSBJU19SVENfQUxBUk1fTUFTSyhNQVNLKSAgKCgoTUFTSykgJiAweDdGN0Y3RjdGVSkgPT0gKHVpbnQzMl90KVJFU0VUKQotI2RlZmluZSBJU19SVENfQUxBUk0oQUxBUk0pICAgICAgKCgoQUxBUk0pID09IFJUQ19BTEFSTV9BKSB8fCAoKEFMQVJNKSA9PSBSVENfQUxBUk1fQikpCi0jZGVmaW5lIElTX1JUQ19BTEFSTV9TVUJfU0VDT05EX1ZBTFVFKFZBTFVFKSAoKFZBTFVFKSA8PSAweDAwMDA3RkZGVSkKIAotI2RlZmluZSBJU19SVENfQUxBUk1fU1VCX1NFQ09ORF9NQVNLKE1BU0spICAgKCgoTUFTSykgPT0gUlRDX0FMQVJNU1VCU0VDT05ETUFTS19BTEwpIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKE1BU0spID09IFJUQ19BTEFSTVNVQlNFQ09ORE1BU0tfU1MxNF8xKSB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChNQVNLKSA9PSBSVENfQUxBUk1TVUJTRUNPTkRNQVNLX1NTMTRfMikgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoTUFTSykgPT0gUlRDX0FMQVJNU1VCU0VDT05ETUFTS19TUzE0XzMpIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKE1BU0spID09IFJUQ19BTEFSTVNVQlNFQ09ORE1BU0tfU1MxNF80KSB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChNQVNLKSA9PSBSVENfQUxBUk1TVUJTRUNPTkRNQVNLX1NTMTRfNSkgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoTUFTSykgPT0gUlRDX0FMQVJNU1VCU0VDT05ETUFTS19TUzE0XzYpIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKE1BU0spID09IFJUQ19BTEFSTVNVQlNFQ09ORE1BU0tfU1MxNF83KSB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChNQVNLKSA9PSBSVENfQUxBUk1TVUJTRUNPTkRNQVNLX1NTMTRfOCkgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoTUFTSykgPT0gUlRDX0FMQVJNU1VCU0VDT05ETUFTS19TUzE0XzkpIHx8IFwKKyNkZWZpbmUgSVNfUlRDX0FMQVJNX01BU0soTUFTSykgICgoKE1BU0spICYgKCh1aW50MzJfdCl+UlRDX0FMQVJNTUFTS19BTEwpKSA9PSAwVSkKKworI2RlZmluZSBJU19SVENfQUxBUk0oQUxBUk0pICAgICAgKCgoQUxBUk0pID09IFJUQ19BTEFSTV9BKSB8fCAoKEFMQVJNKSA9PSBSVENfQUxBUk1fQikpCisKKyNkZWZpbmUgSVNfUlRDX0FMQVJNX1NVQl9TRUNPTkRfVkFMVUUoVkFMVUUpICgoVkFMVUUpIDw9IFJUQ19BTFJNQVNTUl9TUykKKworI2RlZmluZSBJU19SVENfQUxBUk1fU1VCX1NFQ09ORF9NQVNLKE1BU0spICAgKCgoTUFTSykgPT0gUlRDX0FMQVJNU1VCU0VDT05ETUFTS19BTEwpICAgICB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChNQVNLKSA9PSBSVENfQUxBUk1TVUJTRUNPTkRNQVNLX1NTMTRfMSkgIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKE1BU0spID09IFJUQ19BTEFSTVNVQlNFQ09ORE1BU0tfU1MxNF8yKSAgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoTUFTSykgPT0gUlRDX0FMQVJNU1VCU0VDT05ETUFTS19TUzE0XzMpICB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChNQVNLKSA9PSBSVENfQUxBUk1TVUJTRUNPTkRNQVNLX1NTMTRfNCkgIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKE1BU0spID09IFJUQ19BTEFSTVNVQlNFQ09ORE1BU0tfU1MxNF81KSAgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoTUFTSykgPT0gUlRDX0FMQVJNU1VCU0VDT05ETUFTS19TUzE0XzYpICB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChNQVNLKSA9PSBSVENfQUxBUk1TVUJTRUNPTkRNQVNLX1NTMTRfNykgIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKE1BU0spID09IFJUQ19BTEFSTVNVQlNFQ09ORE1BU0tfU1MxNF84KSAgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoTUFTSykgPT0gUlRDX0FMQVJNU1VCU0VDT05ETUFTS19TUzE0XzkpICB8fCBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChNQVNLKSA9PSBSVENfQUxBUk1TVUJTRUNPTkRNQVNLX1NTMTRfMTApIHx8IFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKE1BU0spID09IFJUQ19BTEFSTVNVQlNFQ09ORE1BU0tfU1MxNF8xMSkgfHwgXAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoTUFTSykgPT0gUlRDX0FMQVJNU1VCU0VDT05ETUFTS19TUzE0XzEyKSB8fCBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChNQVNLKSA9PSBSVENfQUxBUk1TVUJTRUNPTkRNQVNLX1NTMTRfMTMpIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKE1BU0spID09IFJUQ19BTEFSTVNVQlNFQ09ORE1BU0tfU1MxNCkgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoTUFTSykgPT0gUlRDX0FMQVJNU1VCU0VDT05ETUFTS19TUzE0KSAgICB8fCBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChNQVNLKSA9PSBSVENfQUxBUk1TVUJTRUNPTkRNQVNLX05PTkUpKQogLyoqCiAgICogQH0KQEAgLTg1MSwxMiArODg4LDE0IEBACiAgICovCiAKIC8qIFByaXZhdGUgZnVuY3Rpb25zIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKIC8qKiBAZGVmZ3JvdXAgUlRDX1ByaXZhdGVfRnVuY3Rpb25zIFJUQyBQcml2YXRlIEZ1bmN0aW9ucwogICAqIEB7CiAgICovCi1IQUxfU3RhdHVzVHlwZURlZiAgUlRDX0VudGVySW5pdE1vZGUoUlRDX0hhbmRsZVR5cGVEZWYqIGhydGMpOwotdWludDhfdCAgICAgICAgICAgIFJUQ19CeXRlVG9CY2QyKHVpbnQ4X3QgVmFsdWUpOwotdWludDhfdCAgICAgICAgICAgIFJUQ19CY2QyVG9CeXRlKHVpbnQ4X3QgVmFsdWUpOworSEFMX1N0YXR1c1R5cGVEZWYgIFJUQ19FbnRlckluaXRNb2RlKFJUQ19IYW5kbGVUeXBlRGVmICpocnRjKTsKK0hBTF9TdGF0dXNUeXBlRGVmICBSVENfRXhpdEluaXRNb2RlKFJUQ19IYW5kbGVUeXBlRGVmICpocnRjKTsKK3VpbnQ4X3QgICAgICAgICAgICBSVENfQnl0ZVRvQmNkMih1aW50OF90IG51bWJlcik7Cit1aW50OF90ICAgICAgICAgICAgUlRDX0JjZDJUb0J5dGUodWludDhfdCBudW1iZXIpOwogLyoqCiAgICogQH0KICAgKi8KQEAgLTg3Myw2ICs5MTIsNCBAQAogfQogI2VuZGlmCiAKLSNlbmRpZiAvKiBfX1NUTTMyRjR4eF9IQUxfUlRDX0ggKi8KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKiAoQykgQ09QWVJJR0hUIFNUTWljcm9lbGVjdHJvbmljcyAqKioqKkVORCBPRiBGSUxFKioqKi8KKyNlbmRpZiAvKiBTVE0zMkY0eHhfSEFMX1JUQ19IICovCmRpZmYgLS1naXQgYS9JbmMvc3RtMzJmNHh4X2hhbF9ydGNfZXguaCBiL0luYy9zdG0zMmY0eHhfaGFsX3J0Y19leC5oCmluZGV4IDc2ODU5ZWUuLmZmNWYxNGQgMTAwNjQ0Ci0tLSBhL0luYy9zdG0zMmY0eHhfaGFsX3J0Y19leC5oCisrKyBiL0luYy9zdG0zMmY0eHhfaGFsX3J0Y19leC5oCkBAIC0yLDMwICsyLDMwIEBACiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqIEBmaWxlICAgIHN0bTMyZjR4eF9oYWxfcnRjX2V4LmgKICAgKiBAYXV0aG9yICBNQ0QgQXBwbGljYXRpb24gVGVhbQotICAqIEBicmllZiAgIEhlYWRlciBmaWxlIG9mIFJUQyBIQUwgRXh0ZW5zaW9uIG1vZHVsZS4KKyAgKiBAYnJpZWYgICBIZWFkZXIgZmlsZSBvZiBSVEMgSEFMIEV4dGVuZGVkIG1vZHVsZS4KICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICogQGF0dGVudGlvbgogICAqCi0gICogPGgyPjxjZW50ZXI+JmNvcHk7IENvcHlyaWdodCAoYykgMjAxNyBTVE1pY3JvZWxlY3Ryb25pY3MuCi0gICogQWxsIHJpZ2h0cyByZXNlcnZlZC48L2NlbnRlcj48L2gyPgorICAqIENvcHlyaWdodCAoYykgMjAxNyBTVE1pY3JvZWxlY3Ryb25pY3MuCisgICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgKgotICAqIFRoaXMgc29mdHdhcmUgY29tcG9uZW50IGlzIGxpY2Vuc2VkIGJ5IFNUIHVuZGVyIEJTRCAzLUNsYXVzZSBsaWNlbnNlLAotICAqIHRoZSAiTGljZW5zZSI7IFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUKLSAgKiBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQ6Ci0gICogICAgICAgICAgICAgICAgICAgICAgICBvcGVuc291cmNlLm9yZy9saWNlbnNlcy9CU0QtMy1DbGF1c2UKKyAgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIHVuZGVyIHRlcm1zIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUKKyAgKiBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb2Z0d2FyZSBjb21wb25lbnQuCisgICogSWYgbm8gTElDRU5TRSBmaWxlIGNvbWVzIHdpdGggdGhpcyBzb2Z0d2FyZSwgaXQgaXMgcHJvdmlkZWQgQVMtSVMuCiAgICoKICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gICovIAorICAqLwogCiAvKiBEZWZpbmUgdG8gcHJldmVudCByZWN1cnNpdmUgaW5jbHVzaW9uIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwotI2lmbmRlZiBfX1NUTTMyRjR4eF9IQUxfUlRDX0VYX0gKLSNkZWZpbmUgX19TVE0zMkY0eHhfSEFMX1JUQ19FWF9ICisjaWZuZGVmIFNUTTMyRjR4eF9IQUxfUlRDX0VYX0gKKyNkZWZpbmUgU1RNMzJGNHh4X0hBTF9SVENfRVhfSAogCiAjaWZkZWYgX19jcGx1c3BsdXMKLSBleHRlcm4gIkMiIHsKK2V4dGVybiAiQyIgewogI2VuZGlmCiAKIC8qIEluY2x1ZGVzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKICNpbmNsdWRlICJzdG0zMmY0eHhfaGFsX2RlZi5oIgogCiAvKiogQGFkZHRvZ3JvdXAgU1RNMzJGNHh4X0hBTF9Ecml2ZXIKQEAgLTM0LDI2ICszNCwyNyBAQAogCiAvKiogQGFkZHRvZ3JvdXAgUlRDRXgKICAgKiBAewotICAqLyAKKyAgKi8KIAotLyogRXhwb3J0ZWQgdHlwZXMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8gCisvKiBFeHBvcnRlZCB0eXBlcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCiAvKiogQGRlZmdyb3VwIFJUQ0V4X0V4cG9ydGVkX1R5cGVzIFJUQ0V4IEV4cG9ydGVkIFR5cGVzCiAgICogQHsKICAgKi8KIAotLyoqIAotICAqIEBicmllZiAgUlRDIFRhbXBlciBzdHJ1Y3R1cmUgZGVmaW5pdGlvbiAgCisvKioKKyAgKiBAYnJpZWYgIFJUQyBUYW1wZXIgc3RydWN0dXJlIGRlZmluaXRpb24KICAgKi8KLXR5cGVkZWYgc3RydWN0IAordHlwZWRlZiBzdHJ1Y3QKIHsKICAgdWludDMyX3QgVGFtcGVyOyAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNwZWNpZmllcyB0aGUgVGFtcGVyIFBpbi4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIG9mIEByZWYgIFJUQ0V4X1RhbXBlcl9QaW5zX0RlZmluaXRpb25zICovCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYSB2YWx1ZSBvZiBAcmVmIFJUQ0V4X1RhbXBlcl9QaW5fRGVmaW5pdGlvbnMgKi8KIAogICB1aW50MzJfdCBQaW5TZWxlY3Rpb247ICAgICAgICAgICAgICAgIC8qITwgU3BlY2lmaWVzIHRoZSBUYW1wZXIgUGluLgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGEgdmFsdWUgb2YgQHJlZiAgUlRDRXhfVGFtcGVyX1BpbnNfU2VsZWN0aW9uICovCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYSB2YWx1ZSBvZiBAcmVmIFJUQ0V4X1RhbXBlcl9QaW5fU2VsZWN0aW9uICovCiAKICAgdWludDMyX3QgVHJpZ2dlcjsgICAgICAgICAgICAgICAgICAgICAvKiE8IFNwZWNpZmllcyB0aGUgVGFtcGVyIFRyaWdnZXIuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYSB2YWx1ZSBvZiBAcmVmICBSVENFeF9UYW1wZXJfVHJpZ2dlcl9EZWZpbml0aW9ucyAqLworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGEgdmFsdWUgb2YgQHJlZiBSVENFeF9UYW1wZXJfVHJpZ2dlcl9EZWZpbml0aW9ucyAqLwogCiAgIHVpbnQzMl90IEZpbHRlcjsgICAgICAgICAgICAgICAgICAgICAgLyohPCBTcGVjaWZpZXMgdGhlIFJUQyBGaWx0ZXIgVGFtcGVyLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGEgdmFsdWUgb2YgQHJlZiBSVENFeF9UYW1wZXJfRmlsdGVyX0RlZmluaXRpb25zICovCkBAIC02MiwyNCArNjMsMjUgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIG9mIEByZWYgUlRDRXhfVGFtcGVyX1NhbXBsaW5nX0ZyZXF1ZW5jaWVzX0RlZmluaXRpb25zICovCiAKICAgdWludDMyX3QgUHJlY2hhcmdlRHVyYXRpb247ICAgICAgICAgICAvKiE8IFNwZWNpZmllcyB0aGUgUHJlY2hhcmdlIER1cmF0aW9uIC4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIG9mIEByZWYgUlRDRXhfVGFtcGVyX1Bpbl9QcmVjaGFyZ2VfRHVyYXRpb25fRGVmaW5pdGlvbnMgKi8gCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYSB2YWx1ZSBvZiBAcmVmIFJUQ0V4X1RhbXBlcl9QaW5fUHJlY2hhcmdlX0R1cmF0aW9uX0RlZmluaXRpb25zICovCiAKICAgdWludDMyX3QgVGFtcGVyUHVsbFVwOyAgICAgICAgICAgICAgICAvKiE8IFNwZWNpZmllcyB0aGUgVGFtcGVyIFB1bGxVcCAuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYSB2YWx1ZSBvZiBAcmVmIFJUQ0V4X1RhbXBlcl9QdWxsX1VQX0RlZmluaXRpb25zICovICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIG9mIEByZWYgUlRDRXhfVGFtcGVyX1B1bGxfVXBfRGVmaW5pdGlvbnMgKi8KIAogICB1aW50MzJfdCBUaW1lU3RhbXBPblRhbXBlckRldGVjdGlvbjsgIC8qITwgU3BlY2lmaWVzIHRoZSBUaW1lU3RhbXBPblRhbXBlckRldGVjdGlvbi4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIG9mIEByZWYgUlRDRXhfVGFtcGVyX1RpbWVTdGFtcE9uVGFtcGVyRGV0ZWN0aW9uX0RlZmluaXRpb25zICovCi19UlRDX1RhbXBlclR5cGVEZWY7Cit9IFJUQ19UYW1wZXJUeXBlRGVmOwogLyoqCiAgICogQH0KICAgKi8KIAogLyogRXhwb3J0ZWQgY29uc3RhbnRzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKwogLyoqIEBkZWZncm91cCBSVENFeF9FeHBvcnRlZF9Db25zdGFudHMgUlRDRXggRXhwb3J0ZWQgQ29uc3RhbnRzCiAgICogQHsKLSAgKi8gCisgICovCiAKLS8qKiBAZGVmZ3JvdXAgUlRDRXhfQmFja3VwX1JlZ2lzdGVyc19EZWZpbml0aW9ucyBSVEMgQmFja3VwIFJlZ2lzdGVycyBEZWZpbml0aW9ucworLyoqIEBkZWZncm91cCBSVENFeF9CYWNrdXBfUmVnaXN0ZXJzX0RlZmluaXRpb25zIFJUQ0V4IEJhY2t1cCBSZWdpc3RlcnMgRGVmaW5pdGlvbnMKICAgKiBAewogICAqLwogI2RlZmluZSBSVENfQktQX0RSMCAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMFUKQEAgLTEwNCwyMTMgKzEwNiwyMjYgQEAKICNkZWZpbmUgUlRDX0JLUF9EUjE5ICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMTNVCiAvKioKICAgKiBAfQotICAqLyAKKyAgKi8KIAotLyoqIEBkZWZncm91cCBSVENFeF9UaW1lX1N0YW1wX0VkZ2VzX2RlZmluaXRpb25zIFJUQyBUaW1lU3RhbXAgRWRnZXMgRGVmaW5pdGlvbnMKKy8qKiBAZGVmZ3JvdXAgUlRDRXhfVGltZXN0YW1wX0VkZ2VzX0RlZmluaXRpb25zIFJUQ0V4IFRpbWVzdGFtcCBFZGdlcyBEZWZpbml0aW9ucwogICAqIEB7Ci0gICovIAorICAqLwogI2RlZmluZSBSVENfVElNRVNUQU1QRURHRV9SSVNJTkcgICAgICAgICAgMHgwMDAwMDAwMFUKLSNkZWZpbmUgUlRDX1RJTUVTVEFNUEVER0VfRkFMTElORyAgICAgICAgIDB4MDAwMDAwMDhVCisjZGVmaW5lIFJUQ19USU1FU1RBTVBFREdFX0ZBTExJTkcgICAgICAgICBSVENfQ1JfVFNFREdFCiAvKioKICAgKiBAfQogICAqLwotICAKLS8qKiBAZGVmZ3JvdXAgUlRDRXhfVGFtcGVyX1BpbnNfRGVmaW5pdGlvbnMgUlRDIFRhbXBlciBQaW5zIERlZmluaXRpb25zCisKKy8qKiBAZGVmZ3JvdXAgUlRDRXhfVGltZXN0YW1wX1Bpbl9TZWxlY3Rpb24gUlRDIFRpbWVzdGFtcCBQaW4gU2VsZWN0aW9uCisgICogQHsKKyAgKi8KKyNkZWZpbmUgUlRDX1RJTUVTVEFNUFBJTl9ERUZBVUxUICAgICAgICAgICAgMHgwMDAwMDAwMFUKKyNpZiBkZWZpbmVkKFJUQ19BRjJfU1VQUE9SVCkKKyNkZWZpbmUgUlRDX1RJTUVTVEFNUFBJTl9QT1MxICAgICAgICAgICAgICAgUlRDX1RBRkNSX1RTSU5TRUwKKyNlbmRpZiAvKiBSVENfQUYyX1NVUFBPUlQgKi8KKy8qKgorICAqIEB9CisgICovCisKKy8qKiBAZGVmZ3JvdXAgUlRDRXhfVGFtcGVyX1Bpbl9EZWZpbml0aW9ucyBSVENFeCBUYW1wZXIgUGlucyBEZWZpbml0aW9ucwogICAqIEB7CiAgICovCiAjZGVmaW5lIFJUQ19UQU1QRVJfMSAgICAgICAgICAgICAgICAgICAgUlRDX1RBRkNSX1RBTVAxRQotCi0jaWYgIWRlZmluZWQoU1RNMzJGNDEyWngpICYmICFkZWZpbmVkKFNUTTMyRjQxMlZ4KSAmJiAhZGVmaW5lZChTVE0zMkY0MTJSeCkgJiYgIWRlZmluZWQoU1RNMzJGNDEyQ3gpICYmICFkZWZpbmVkKFNUTTMyRjQxM3h4KSAmJiAhZGVmaW5lZChTVE0zMkY0MjN4eCkKKyNpZiBkZWZpbmVkKFJUQ19UQU1QRVIyX1NVUFBPUlQpCiAjZGVmaW5lIFJUQ19UQU1QRVJfMiAgICAgICAgICAgICAgICAgICAgUlRDX1RBRkNSX1RBTVAyRQotI2VuZGlmCisjZW5kaWYgLyogUlRDX1RBTVBFUjJfU1VQUE9SVCAqLwogLyoqCiAgICogQH0KICAgKi8KIAotLyoqIEBkZWZncm91cCBSVENFeF9UYW1wZXJfUGluc19TZWxlY3Rpb24gUlRDIHRhbXBlciBQaW5zIFNlbGVjdGlvbgorLyoqIEBkZWZncm91cCBSVENFeF9UYW1wZXJfUGluX1NlbGVjdGlvbiBSVEMgdGFtcGVyIFBpbnMgU2VsZWN0aW9uCiAgICogQHsKICAgKi8KLQogI2RlZmluZSBSVENfVEFNUEVSUElOX0RFRkFVTFQgICAgICAgICAgICAgICAweDAwMDAwMDAwVQotCi0jaWYgIWRlZmluZWQoU1RNMzJGNDEyWngpICYmICFkZWZpbmVkKFNUTTMyRjQxMlZ4KSAmJiAhZGVmaW5lZChTVE0zMkY0MTJSeCkgJiYgIWRlZmluZWQoU1RNMzJGNDEyQ3gpICYmICFkZWZpbmVkKFNUTTMyRjQxM3h4KSAmJiAhZGVmaW5lZChTVE0zMkY0MjN4eCkKLSNkZWZpbmUgUlRDX1RBTVBFUlBJTl9QT1MxICAgICAgICAgICAgICAgICAgMHgwMDAxMDAwMFUKLSNlbmRpZgorI2lmIGRlZmluZWQoUlRDX0FGMl9TVVBQT1JUKQorI2RlZmluZSBSVENfVEFNUEVSUElOX1BPUzEgICAgICAgICAgICAgICAgICBSVENfVEFGQ1JfVEFNUDFJTlNFTAorI2VuZGlmIC8qIFJUQ19BRjJfU1VQUE9SVCAqLwogLyoqCiAgICogQH0KLSAgKi8gCisgICovCiAKLS8qKiBAZGVmZ3JvdXAgUlRDRXhfVGltZVN0YW1wX1Bpbl9TZWxlY3Rpb24gUlRDIFRpbWVTdGFtcCBQaW5zIFNlbGVjdGlvbgorLyoqIEBkZWZncm91cCBSVENFeF9UYW1wZXJfSW50ZXJydXB0X0RlZmluaXRpb25zIFJUQ0V4IFRhbXBlciBJbnRlcnJ1cHQgRGVmaW5pdGlvbnMKICAgKiBAewotICAqLyAKLSNkZWZpbmUgUlRDX1RJTUVTVEFNUFBJTl9ERUZBVUxUICAgICAgICAgICAgMHgwMDAwMDAwMFUKLQotI2lmICFkZWZpbmVkKFNUTTMyRjQxMlp4KSAmJiAhZGVmaW5lZChTVE0zMkY0MTJWeCkgJiYgIWRlZmluZWQoU1RNMzJGNDEyUngpICYmICFkZWZpbmVkKFNUTTMyRjQxMkN4KSAmJiAhZGVmaW5lZChTVE0zMkY0MTN4eCkgJiYgIWRlZmluZWQoU1RNMzJGNDIzeHgpCi0jZGVmaW5lIFJUQ19USU1FU1RBTVBQSU5fUE9TMSAgICAgICAgICAgICAgIDB4MDAwMjAwMDBVCi0jZW5kaWYKKyAgKi8KKyNkZWZpbmUgUlRDX0lUX1RBTVAgICAgICAgICAgICAgICAgICAgICAgIFJUQ19UQUZDUl9UQU1QSUUgICAvKiE8IEVuYWJsZSBnbG9iYWwgVGFtcGVyIEludGVycnVwdCAgICAgICAgICAgKi8KIC8qKgogICAqIEB9Ci0gICovIAorICAqLwogCi0vKiogQGRlZmdyb3VwIFJUQ0V4X1RhbXBlcl9UcmlnZ2VyX0RlZmluaXRpb25zIFJUQyBUYW1wZXIgVHJpZ2dlcnMgRGVmaW5pdGlvbnMKKy8qKiBAZGVmZ3JvdXAgUlRDRXhfVGFtcGVyX1RyaWdnZXJfRGVmaW5pdGlvbnMgUlRDRXggVGFtcGVyIFRyaWdnZXJzIERlZmluaXRpb25zCiAgICogQHsKLSAgKi8gCisgICovCiAjZGVmaW5lIFJUQ19UQU1QRVJUUklHR0VSX1JJU0lOR0VER0UgICAgICAgMHgwMDAwMDAwMFUKLSNkZWZpbmUgUlRDX1RBTVBFUlRSSUdHRVJfRkFMTElOR0VER0UgICAgICAweDAwMDAwMDAyVQorI2RlZmluZSBSVENfVEFNUEVSVFJJR0dFUl9GQUxMSU5HRURHRSAgICAgIFJUQ19UQUZDUl9UQU1QMVRSRwogI2RlZmluZSBSVENfVEFNUEVSVFJJR0dFUl9MT1dMRVZFTCAgICAgICAgIFJUQ19UQU1QRVJUUklHR0VSX1JJU0lOR0VER0UKICNkZWZpbmUgUlRDX1RBTVBFUlRSSUdHRVJfSElHSExFVkVMICAgICAgICBSVENfVEFNUEVSVFJJR0dFUl9GQUxMSU5HRURHRQogLyoqCiAgICogQH0KLSAgKi8gIAorICAqLwogCi0vKiogQGRlZmdyb3VwIFJUQ0V4X1RhbXBlcl9GaWx0ZXJfRGVmaW5pdGlvbnMgUlRDIFRhbXBlciBGaWx0ZXIgRGVmaW5pdGlvbnMKKy8qKiBAZGVmZ3JvdXAgUlRDRXhfVGFtcGVyX0ZpbHRlcl9EZWZpbml0aW9ucyBSVENFeCBUYW1wZXIgRmlsdGVyIERlZmluaXRpb25zCiAgICogQHsKLSAgKi8gCi0jZGVmaW5lIFJUQ19UQU1QRVJGSUxURVJfRElTQUJMRSAgIDB4MDAwMDAwMDBVICAvKiE8IFRhbXBlciBmaWx0ZXIgaXMgZGlzYWJsZWQgKi8KKyAgKi8KKyNkZWZpbmUgUlRDX1RBTVBFUkZJTFRFUl9ESVNBQkxFICAgMHgwMDAwMDAwMFUgICAgICAgICAgICAgLyohPCBUYW1wZXIgZmlsdGVyIGlzIGRpc2FibGVkICovCiAKLSNkZWZpbmUgUlRDX1RBTVBFUkZJTFRFUl8yU0FNUExFICAgMHgwMDAwMDgwMFUgIC8qITwgVGFtcGVyIGlzIGFjdGl2YXRlZCBhZnRlciAyIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNlY3V0aXZlIHNhbXBsZXMgYXQgdGhlIGFjdGl2ZSBsZXZlbCAqLwotI2RlZmluZSBSVENfVEFNUEVSRklMVEVSXzRTQU1QTEUgICAweDAwMDAxMDAwVSAgLyohPCBUYW1wZXIgaXMgYWN0aXZhdGVkIGFmdGVyIDQgCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc2VjdXRpdmUgc2FtcGxlcyBhdCB0aGUgYWN0aXZlIGxldmVsICovCi0jZGVmaW5lIFJUQ19UQU1QRVJGSUxURVJfOFNBTVBMRSAgIDB4MDAwMDE4MDBVICAvKiE8IFRhbXBlciBpcyBhY3RpdmF0ZWQgYWZ0ZXIgOCAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zZWN1dGl2ZSBzYW1wbGVzIGF0IHRoZSBhY3RpdmUgbGV2ZWwuICovCisjZGVmaW5lIFJUQ19UQU1QRVJGSUxURVJfMlNBTVBMRSAgIFJUQ19UQUZDUl9UQU1QRkxUXzAgICAgLyohPCBUYW1wZXIgaXMgYWN0aXZhdGVkIGFmdGVyIDIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc2VjdXRpdmUgc2FtcGxlcyBhdCB0aGUgYWN0aXZlIGxldmVsICovCisjZGVmaW5lIFJUQ19UQU1QRVJGSUxURVJfNFNBTVBMRSAgIFJUQ19UQUZDUl9UQU1QRkxUXzEgICAgLyohPCBUYW1wZXIgaXMgYWN0aXZhdGVkIGFmdGVyIDQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc2VjdXRpdmUgc2FtcGxlcyBhdCB0aGUgYWN0aXZlIGxldmVsICovCisjZGVmaW5lIFJUQ19UQU1QRVJGSUxURVJfOFNBTVBMRSAgIFJUQ19UQUZDUl9UQU1QRkxUICAgICAgLyohPCBUYW1wZXIgaXMgYWN0aXZhdGVkIGFmdGVyIDgKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc2VjdXRpdmUgc2FtcGxlcyBhdCB0aGUgYWN0aXZlIGxldmVsICovCisjZGVmaW5lIFJUQ19UQU1QRVJGSUxURVJfTUFTSyAgICAgIFJUQ19UQUZDUl9UQU1QRkxUICAgICAgLyohPCBNYXNraW5nIGFsbCBiaXRzIGV4Y2VwdCB0aG9zZSBvZgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWVsZCBUQU1QRkxUICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KIC8qKgogICAqIEB9CiAgICovCiAKLS8qKiBAZGVmZ3JvdXAgUlRDRXhfVGFtcGVyX1NhbXBsaW5nX0ZyZXF1ZW5jaWVzX0RlZmluaXRpb25zIFJUQyBUYW1wZXIgU2FtcGxpbmcgRnJlcXVlbmNpZXMgRGVmaW5pdGlvbnMKKy8qKiBAZGVmZ3JvdXAgUlRDRXhfVGFtcGVyX1NhbXBsaW5nX0ZyZXF1ZW5jaWVzX0RlZmluaXRpb25zIFJUQ0V4IFRhbXBlciBTYW1wbGluZyBGcmVxdWVuY2llcyBEZWZpbml0aW9ucwogICAqIEB7Ci0gICovIAotI2RlZmluZSBSVENfVEFNUEVSU0FNUExJTkdGUkVRX1JUQ0NMS19ESVYzMjc2OCAgMHgwMDAwMDAwMFUgIC8qITwgRWFjaCBvZiB0aGUgdGFtcGVyIGlucHV0cyBhcmUgc2FtcGxlZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aXRoIGEgZnJlcXVlbmN5ID0gIFJUQ0NMSyAvIDMyNzY4ICovCi0jZGVmaW5lIFJUQ19UQU1QRVJTQU1QTElOR0ZSRVFfUlRDQ0xLX0RJVjE2Mzg0ICAweDAwMDAwMTAwVSAgLyohPCBFYWNoIG9mIHRoZSB0YW1wZXIgaW5wdXRzIGFyZSBzYW1wbGVkCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpdGggYSBmcmVxdWVuY3kgPSAgUlRDQ0xLIC8gMTYzODQgKi8KLSNkZWZpbmUgUlRDX1RBTVBFUlNBTVBMSU5HRlJFUV9SVENDTEtfRElWODE5MiAgIDB4MDAwMDAyMDBVICAvKiE8IEVhY2ggb2YgdGhlIHRhbXBlciBpbnB1dHMgYXJlIHNhbXBsZWQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2l0aCBhIGZyZXF1ZW5jeSA9ICBSVENDTEsgLyA4MTkyICAqLwotI2RlZmluZSBSVENfVEFNUEVSU0FNUExJTkdGUkVRX1JUQ0NMS19ESVY0MDk2ICAgMHgwMDAwMDMwMFUgIC8qITwgRWFjaCBvZiB0aGUgdGFtcGVyIGlucHV0cyBhcmUgc2FtcGxlZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aXRoIGEgZnJlcXVlbmN5ID0gIFJUQ0NMSyAvIDQwOTYgICovCi0jZGVmaW5lIFJUQ19UQU1QRVJTQU1QTElOR0ZSRVFfUlRDQ0xLX0RJVjIwNDggICAweDAwMDAwNDAwVSAgLyohPCBFYWNoIG9mIHRoZSB0YW1wZXIgaW5wdXRzIGFyZSBzYW1wbGVkCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpdGggYSBmcmVxdWVuY3kgPSAgUlRDQ0xLIC8gMjA0OCAgKi8KLSNkZWZpbmUgUlRDX1RBTVBFUlNBTVBMSU5HRlJFUV9SVENDTEtfRElWMTAyNCAgIDB4MDAwMDA1MDBVICAvKiE8IEVhY2ggb2YgdGhlIHRhbXBlciBpbnB1dHMgYXJlIHNhbXBsZWQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2l0aCBhIGZyZXF1ZW5jeSA9ICBSVENDTEsgLyAxMDI0ICAqLwotI2RlZmluZSBSVENfVEFNUEVSU0FNUExJTkdGUkVRX1JUQ0NMS19ESVY1MTIgICAgMHgwMDAwMDYwMFUgIC8qITwgRWFjaCBvZiB0aGUgdGFtcGVyIGlucHV0cyBhcmUgc2FtcGxlZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aXRoIGEgZnJlcXVlbmN5ID0gIFJUQ0NMSyAvIDUxMiAgICovCi0jZGVmaW5lIFJUQ19UQU1QRVJTQU1QTElOR0ZSRVFfUlRDQ0xLX0RJVjI1NiAgICAweDAwMDAwNzAwVSAgLyohPCBFYWNoIG9mIHRoZSB0YW1wZXIgaW5wdXRzIGFyZSBzYW1wbGVkCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpdGggYSBmcmVxdWVuY3kgPSAgUlRDQ0xLIC8gMjU2ICAgKi8KKyAgKi8KKyNkZWZpbmUgUlRDX1RBTVBFUlNBTVBMSU5HRlJFUV9SVENDTEtfRElWMzI3NjggIDB4MDAwMDAwMDBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRWFjaCBvZiB0aGUgdGFtcGVyIGlucHV0cyBhcmUgc2FtcGxlZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2l0aCBhIGZyZXF1ZW5jeSA9ICBSVENDTEsgLyAzMjc2OCAqLworI2RlZmluZSBSVENfVEFNUEVSU0FNUExJTkdGUkVRX1JUQ0NMS19ESVYxNjM4NCAgUlRDX1RBRkNSX1RBTVBGUkVRXzAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEVhY2ggb2YgdGhlIHRhbXBlciBpbnB1dHMgYXJlIHNhbXBsZWQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpdGggYSBmcmVxdWVuY3kgPSAgUlRDQ0xLIC8gMTYzODQgKi8KKyNkZWZpbmUgUlRDX1RBTVBFUlNBTVBMSU5HRlJFUV9SVENDTEtfRElWODE5MiAgIFJUQ19UQUZDUl9UQU1QRlJFUV8xICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBFYWNoIG9mIHRoZSB0YW1wZXIgaW5wdXRzIGFyZSBzYW1wbGVkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aXRoIGEgZnJlcXVlbmN5ID0gIFJUQ0NMSyAvIDgxOTIgICovCisjZGVmaW5lIFJUQ19UQU1QRVJTQU1QTElOR0ZSRVFfUlRDQ0xLX0RJVjQwOTYgICAoUlRDX1RBRkNSX1RBTVBGUkVRXzAgfCBSVENfVEFGQ1JfVEFNUEZSRVFfMSkgLyohPCBFYWNoIG9mIHRoZSB0YW1wZXIgaW5wdXRzIGFyZSBzYW1wbGVkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aXRoIGEgZnJlcXVlbmN5ID0gIFJUQ0NMSyAvIDQwOTYgICovCisjZGVmaW5lIFJUQ19UQU1QRVJTQU1QTElOR0ZSRVFfUlRDQ0xLX0RJVjIwNDggICBSVENfVEFGQ1JfVEFNUEZSRVFfMiAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRWFjaCBvZiB0aGUgdGFtcGVyIGlucHV0cyBhcmUgc2FtcGxlZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2l0aCBhIGZyZXF1ZW5jeSA9ICBSVENDTEsgLyAyMDQ4ICAqLworI2RlZmluZSBSVENfVEFNUEVSU0FNUExJTkdGUkVRX1JUQ0NMS19ESVYxMDI0ICAgKFJUQ19UQUZDUl9UQU1QRlJFUV8wIHwgUlRDX1RBRkNSX1RBTVBGUkVRXzIpIC8qITwgRWFjaCBvZiB0aGUgdGFtcGVyIGlucHV0cyBhcmUgc2FtcGxlZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2l0aCBhIGZyZXF1ZW5jeSA9ICBSVENDTEsgLyAxMDI0ICAqLworI2RlZmluZSBSVENfVEFNUEVSU0FNUExJTkdGUkVRX1JUQ0NMS19ESVY1MTIgICAgKFJUQ19UQUZDUl9UQU1QRlJFUV8xIHwgUlRDX1RBRkNSX1RBTVBGUkVRXzIpIC8qITwgRWFjaCBvZiB0aGUgdGFtcGVyIGlucHV0cyBhcmUgc2FtcGxlZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2l0aCBhIGZyZXF1ZW5jeSA9ICBSVENDTEsgLyA1MTIgICAqLworI2RlZmluZSBSVENfVEFNUEVSU0FNUExJTkdGUkVRX1JUQ0NMS19ESVYyNTYgICAgUlRDX1RBRkNSX1RBTVBGUkVRICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEVhY2ggb2YgdGhlIHRhbXBlciBpbnB1dHMgYXJlIHNhbXBsZWQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpdGggYSBmcmVxdWVuY3kgPSAgUlRDQ0xLIC8gMjU2ICAgKi8KKyNkZWZpbmUgUlRDX1RBTVBFUlNBTVBMSU5HRlJFUV9SVENDTEtfTUFTSyAgICAgIFJUQ19UQUZDUl9UQU1QRlJFUSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNYXNraW5nIGFsbCBiaXRzIGV4Y2VwdCB0aG9zZSBvZgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmllbGQgVEFNUEZSRVEgICAgICAgICAgICAgICAgICAgICAqLwogLyoqCiAgICogQH0KICAgKi8KIAotLyoqIEBkZWZncm91cCBSVENFeF9UYW1wZXJfUGluX1ByZWNoYXJnZV9EdXJhdGlvbl9EZWZpbml0aW9ucyBSVEMgVGFtcGVyIFBpbiBQcmVjaGFyZ2UgRHVyYXRpb24gRGVmaW5pdGlvbnMKKy8qKiBAZGVmZ3JvdXAgUlRDRXhfVGFtcGVyX1Bpbl9QcmVjaGFyZ2VfRHVyYXRpb25fRGVmaW5pdGlvbnMgUlRDRXggVGFtcGVyIFBpbiBQcmVjaGFyZ2UgRHVyYXRpb24gRGVmaW5pdGlvbnMKICAgKiBAewotICAqLyAKLSNkZWZpbmUgUlRDX1RBTVBFUlBSRUNIQVJHRURVUkFUSU9OXzFSVENDTEsgMHgwMDAwMDAwMFUgIC8qITwgVGFtcGVyIHBpbnMgYXJlIHByZS1jaGFyZ2VkIGJlZm9yZSAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzYW1wbGluZyBkdXJpbmcgMSBSVENDTEsgY3ljbGUgKi8KLSNkZWZpbmUgUlRDX1RBTVBFUlBSRUNIQVJHRURVUkFUSU9OXzJSVENDTEsgMHgwMDAwMjAwMFUgIC8qITwgVGFtcGVyIHBpbnMgYXJlIHByZS1jaGFyZ2VkIGJlZm9yZSAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzYW1wbGluZyBkdXJpbmcgMiBSVENDTEsgY3ljbGVzICovCi0jZGVmaW5lIFJUQ19UQU1QRVJQUkVDSEFSR0VEVVJBVElPTl80UlRDQ0xLIDB4MDAwMDQwMDBVICAvKiE8IFRhbXBlciBwaW5zIGFyZSBwcmUtY2hhcmdlZCBiZWZvcmUgCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2FtcGxpbmcgZHVyaW5nIDQgUlRDQ0xLIGN5Y2xlcyAqLwotI2RlZmluZSBSVENfVEFNUEVSUFJFQ0hBUkdFRFVSQVRJT05fOFJUQ0NMSyAweDAwMDA2MDAwVSAgLyohPCBUYW1wZXIgcGlucyBhcmUgcHJlLWNoYXJnZWQgYmVmb3JlIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNhbXBsaW5nIGR1cmluZyA4IFJUQ0NMSyBjeWNsZXMgKi8KLS8qKgotICAqIEB9CiAgICovCi0gIAotLyoqIEBkZWZncm91cCBSVENFeF9UYW1wZXJfVGltZVN0YW1wT25UYW1wZXJEZXRlY3Rpb25fRGVmaW5pdGlvbnMgUlRDIFRhbXBlciBUaW1lU3RhbXAgT24gVGFtcGVyIERldGVjdGlvbiBEZWZpbml0aW9ucwotICAqIEB7Ci0gICovIAotI2RlZmluZSBSVENfVElNRVNUQU1QT05UQU1QRVJERVRFQ1RJT05fRU5BQkxFICAoKHVpbnQzMl90KVJUQ19UQUZDUl9UQU1QVFMpICAvKiE8IFRpbWVTdGFtcCBvbiBUYW1wZXIgRGV0ZWN0aW9uIGV2ZW50IHNhdmVkICAgICAgICAqLwotI2RlZmluZSBSVENfVElNRVNUQU1QT05UQU1QRVJERVRFQ1RJT05fRElTQUJMRSAweDAwMDAwMDAwVSAgICAgICAgLyohPCBUaW1lU3RhbXAgb24gVGFtcGVyIERldGVjdGlvbiBldmVudCBpcyBub3Qgc2F2ZWQgKi8KLS8qKgotICAqIEB9Ci0gICovCi0gIAotLyoqIEBkZWZncm91cCAgUlRDRXhfVGFtcGVyX1B1bGxfVVBfRGVmaW5pdGlvbnMgUlRDIFRhbXBlciBQdWxsIFVwIERlZmluaXRpb25zCi0gICogQHsKLSAgKi8gCi0jZGVmaW5lIFJUQ19UQU1QRVJfUFVMTFVQX0VOQUJMRSAgMHgwMDAwMDAwMFUgICAgICAgICAgICAvKiE8IFRpbWVTdGFtcCBvbiBUYW1wZXIgRGV0ZWN0aW9uIGV2ZW50IHNhdmVkICAgICAgICAqLwotI2RlZmluZSBSVENfVEFNUEVSX1BVTExVUF9ESVNBQkxFICgodWludDMyX3QpUlRDX1RBRkNSX1RBTVBQVURJUykgICAvKiE8IFRpbWVTdGFtcCBvbiBUYW1wZXIgRGV0ZWN0aW9uIGV2ZW50IGlzIG5vdCBzYXZlZCAqLworI2RlZmluZSBSVENfVEFNUEVSUFJFQ0hBUkdFRFVSQVRJT05fMVJUQ0NMSyAgICAgMHgwMDAwMDAwMFUgICAgICAgICAgICAgLyohPCBUYW1wZXIgcGlucyBhcmUgcHJlLWNoYXJnZWQgYmVmb3JlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzYW1wbGluZyBkdXJpbmcgMSBSVENDTEsgY3ljbGUgICovCisjZGVmaW5lIFJUQ19UQU1QRVJQUkVDSEFSR0VEVVJBVElPTl8yUlRDQ0xLICAgICBSVENfVEFGQ1JfVEFNUFBSQ0hfMCAgIC8qITwgVGFtcGVyIHBpbnMgYXJlIHByZS1jaGFyZ2VkIGJlZm9yZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2FtcGxpbmcgZHVyaW5nIDIgUlRDQ0xLIGN5Y2xlcyAqLworI2RlZmluZSBSVENfVEFNUEVSUFJFQ0hBUkdFRFVSQVRJT05fNFJUQ0NMSyAgICAgUlRDX1RBRkNSX1RBTVBQUkNIXzEgICAvKiE8IFRhbXBlciBwaW5zIGFyZSBwcmUtY2hhcmdlZCBiZWZvcmUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNhbXBsaW5nIGR1cmluZyA0IFJUQ0NMSyBjeWNsZXMgKi8KKyNkZWZpbmUgUlRDX1RBTVBFUlBSRUNIQVJHRURVUkFUSU9OXzhSVENDTEsgICAgIFJUQ19UQUZDUl9UQU1QUFJDSCAgICAgLyohPCBUYW1wZXIgcGlucyBhcmUgcHJlLWNoYXJnZWQgYmVmb3JlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzYW1wbGluZyBkdXJpbmcgOCBSVENDTEsgY3ljbGVzICovCisjZGVmaW5lIFJUQ19UQU1QRVJQUkVDSEFSR0VEVVJBVElPTl9NQVNLICAgICAgICBSVENfVEFGQ1JfVEFNUFBSQ0ggICAgIC8qITwgTWFza2luZyBhbGwgYml0cyBleGNlcHQgdGhvc2Ugb2YKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpZWxkIFRBTVBQUkNIICAgICAgICAgICAgICAgICAgKi8KIC8qKgogICAqIEB9CiAgICovCiAKLS8qKiBAZGVmZ3JvdXAgUlRDRXhfV2FrZXVwX1RpbWVyX0RlZmluaXRpb25zIFJUQyBXYWtlLXVwIFRpbWVyIERlZmluaXRpb25zCisvKiogQGRlZmdyb3VwICBSVENFeF9UYW1wZXJfUHVsbF9VcF9EZWZpbml0aW9ucyBSVENFeCBUYW1wZXIgUHVsbCBVcCBEZWZpbml0aW9ucwogICAqIEB7Ci0gICovIAorICAqLworI2RlZmluZSBSVENfVEFNUEVSX1BVTExVUF9FTkFCTEUgIDB4MDAwMDAwMDBVICAgICAgICAgICAvKiE8IFRhbXBlciBwaW5zIGFyZSBwcmUtY2hhcmdlZCBiZWZvcmUgc2FtcGxpbmcgICAgICovCisjZGVmaW5lIFJUQ19UQU1QRVJfUFVMTFVQX0RJU0FCTEUgUlRDX1RBRkNSX1RBTVBQVURJUyAgIC8qITwgVGFtcGVyIHBpbnMgYXJlIG5vdCBwcmUtY2hhcmdlZCBiZWZvcmUgc2FtcGxpbmcgKi8KKyNkZWZpbmUgUlRDX1RBTVBFUl9QVUxMVVBfTUFTSyAgICBSVENfVEFGQ1JfVEFNUFBVRElTICAgLyohPCBNYXNraW5nIGFsbCBiaXRzIGV4Y2VwdCBiaXQgVEFNUFBVRElTICAgICAgICAgICAqLworLyoqCisgICogQH0KKyAgKi8KKworLyoqIEBkZWZncm91cCBSVENFeF9UYW1wZXJfVGltZVN0YW1wT25UYW1wZXJEZXRlY3Rpb25fRGVmaW5pdGlvbnMgUlRDRXggVGFtcGVyIFRpbWVTdGFtcCBPbiBUYW1wZXIgRGV0ZWN0aW9uIERlZmluaXRpb25zCisgICogQHsKKyAgKi8KKyNkZWZpbmUgUlRDX1RJTUVTVEFNUE9OVEFNUEVSREVURUNUSU9OX0VOQUJMRSAgUlRDX1RBRkNSX1RBTVBUUyAgLyohPCBUaW1lU3RhbXAgb24gVGFtcGVyIERldGVjdGlvbiBldmVudCBzYXZlZCAgICAgICAgKi8KKyNkZWZpbmUgUlRDX1RJTUVTVEFNUE9OVEFNUEVSREVURUNUSU9OX0RJU0FCTEUgMHgwMDAwMDAwMFUgICAgICAgLyohPCBUaW1lU3RhbXAgb24gVGFtcGVyIERldGVjdGlvbiBldmVudCBpcyBub3Qgc2F2ZWQgKi8KKyNkZWZpbmUgUlRDX1RJTUVTVEFNUE9OVEFNUEVSREVURUNUSU9OX01BU0sgICAgUlRDX1RBRkNSX1RBTVBUUyAgLyohPCBNYXNraW5nIGFsbCBiaXRzIGV4Y2VwdCBiaXQgVEFNUFRTICAgICAgICAgICAgICAgKi8KKy8qKgorICAqIEB9CisgICovCisKKy8qKiBAZGVmZ3JvdXAgUlRDRXhfV2FrZXVwX1RpbWVyX0RlZmluaXRpb25zIFJUQ0V4IFdha2V1cCBUaW1lciBEZWZpbml0aW9ucworICAqIEB7CisgICovCiAjZGVmaW5lIFJUQ19XQUtFVVBDTE9DS19SVENDTEtfRElWMTYgICAgICAgIDB4MDAwMDAwMDBVCi0jZGVmaW5lIFJUQ19XQUtFVVBDTE9DS19SVENDTEtfRElWOCAgICAgICAgIDB4MDAwMDAwMDFVCi0jZGVmaW5lIFJUQ19XQUtFVVBDTE9DS19SVENDTEtfRElWNCAgICAgICAgIDB4MDAwMDAwMDJVCi0jZGVmaW5lIFJUQ19XQUtFVVBDTE9DS19SVENDTEtfRElWMiAgICAgICAgIDB4MDAwMDAwMDNVCi0jZGVmaW5lIFJUQ19XQUtFVVBDTE9DS19DS19TUFJFXzE2QklUUyAgICAgIDB4MDAwMDAwMDRVCi0jZGVmaW5lIFJUQ19XQUtFVVBDTE9DS19DS19TUFJFXzE3QklUUyAgICAgIDB4MDAwMDAwMDZVCi0vKioKLSAgKiBAfQotICAqLyAKLQotLyoqIEBkZWZncm91cCBSVENFeF9EaWdpdGFsX0NhbGlicmF0aW9uX0RlZmluaXRpb25zIFJUQyBEaWdpdGFsIENhbGliIERlZmluaXRpb25zCi0gICogQHsKLSAgKi8gCi0jZGVmaW5lIFJUQ19DQUxJQlNJR05fUE9TSVRJVkUgICAgICAgICAgICAweDAwMDAwMDAwVSAKLSNkZWZpbmUgUlRDX0NBTElCU0lHTl9ORUdBVElWRSAgICAgICAgICAgIDB4MDAwMDAwODBVCisjZGVmaW5lIFJUQ19XQUtFVVBDTE9DS19SVENDTEtfRElWOCAgICAgICAgIFJUQ19DUl9XVUNLU0VMXzAKKyNkZWZpbmUgUlRDX1dBS0VVUENMT0NLX1JUQ0NMS19ESVY0ICAgICAgICAgUlRDX0NSX1dVQ0tTRUxfMQorI2RlZmluZSBSVENfV0FLRVVQQ0xPQ0tfUlRDQ0xLX0RJVjIgICAgICAgICAoUlRDX0NSX1dVQ0tTRUxfMCB8IFJUQ19DUl9XVUNLU0VMXzEpCisjZGVmaW5lIFJUQ19XQUtFVVBDTE9DS19DS19TUFJFXzE2QklUUyAgICAgIFJUQ19DUl9XVUNLU0VMXzIKKyNkZWZpbmUgUlRDX1dBS0VVUENMT0NLX0NLX1NQUkVfMTdCSVRTICAgICAgKFJUQ19DUl9XVUNLU0VMXzEgfCBSVENfQ1JfV1VDS1NFTF8yKQogLyoqCiAgICogQH0KICAgKi8KIAotLyoqIEBkZWZncm91cCBSVENFeF9TbW9vdGhfY2FsaWJfcGVyaW9kX0RlZmluaXRpb25zIFJUQyBTbW9vdGggQ2FsaWIgUGVyaW9kIERlZmluaXRpb25zCisvKiogQGRlZmdyb3VwIFJUQ0V4X0NvYXJzZV9DYWxpYnJhdGlvbl9EZWZpbml0aW9ucyBSVENFeCBDb2Fyc2UgQ2FsaWIgRGVmaW5pdGlvbnMKICAgKiBAewotICAqLyAKLSNkZWZpbmUgUlRDX1NNT09USENBTElCX1BFUklPRF8zMlNFQyAgIDB4MDAwMDAwMDBVICAvKiE8IElmIFJUQ0NMSyA9IDMyNzY4IEh6LCBTbW9vdGggY2FsaWJyYXRpb24KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGVyaW9kIGlzIDMycywgIGVsc2UgMmV4cDIwIFJUQ0NMSyBzZWNvbmRzICovCi0jZGVmaW5lIFJUQ19TTU9PVEhDQUxJQl9QRVJJT0RfMTZTRUMgICAweDAwMDAyMDAwVSAgLyohPCBJZiBSVENDTEsgPSAzMjc2OCBIeiwgU21vb3RoIGNhbGlicmF0aW9uIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwZXJpb2QgaXMgMTZzLCBlbHNlIDJleHAxOSBSVENDTEsgc2Vjb25kcyAqLwotI2RlZmluZSBSVENfU01PT1RIQ0FMSUJfUEVSSU9EXzhTRUMgICAgMHgwMDAwNDAwMFUgIC8qITwgSWYgUlRDQ0xLID0gMzI3NjggSHosIFNtb290aCBjYWxpYnJhdGlvbiAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGVyaW9kIGlzIDhzLCBlbHNlIDJleHAxOCBSVENDTEsgc2Vjb25kcyAqLwotLyoqCi0gICogQH0KLSAgKi8gCi0KLS8qKiBAZGVmZ3JvdXAgUlRDRXhfU21vb3RoX2NhbGliX1BsdXNfcHVsc2VzX0RlZmluaXRpb25zIFJUQyBTbW9vdGggQ2FsaWIgUGx1cyBQdWxzZXMgRGVmaW5pdGlvbnMKLSAgKiBAewotICAqLyAKLSNkZWZpbmUgUlRDX1NNT09USENBTElCX1BMVVNQVUxTRVNfU0VUICAgIDB4MDAwMDgwMDBVICAvKiE8IFRoZSBudW1iZXIgb2YgUlRDQ0xLIHB1bHNlcyBhZGRlZCAgCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGR1cmluZyBhIFggLXNlY29uZCB3aW5kb3cgPSBZIC0gQ0FMTVs4OjBdIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aXRoIFkgPSA1MTIsIDI1NiwgMTI4IHdoZW4gWCA9IDMyLCAxNiwgOCAqLwotI2RlZmluZSBSVENfU01PT1RIQ0FMSUJfUExVU1BVTFNFU19SRVNFVCAgMHgwMDAwMDAwMFUgIC8qITwgVGhlIG51bWJlciBvZiBSVENDTEsgcHVsc2VzIHN1YmJzdGl0ZWQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZHVyaW5nIGEgMzItc2Vjb25kIHdpbmRvdyA9IENBTE1bODowXSAqLworICAqLworI2RlZmluZSBSVENfQ0FMSUJTSUdOX1BPU0lUSVZFICAgICAgICAgICAgMHgwMDAwMDAwMFUKKyNkZWZpbmUgUlRDX0NBTElCU0lHTl9ORUdBVElWRSAgICAgICAgICAgIFJUQ19DQUxJQlJfRENTCiAvKioKICAgKiBAfQogICAqLwogCi0vKiogQGRlZmdyb3VwIFJUQ0V4X0FkZF8xX1NlY29uZF9QYXJhbWV0ZXJfRGVmaW5pdGlvbnMgUlRDIEFkZCAxIFNlY29uZCBQYXJhbWV0ZXIgRGVmaW5pdGlvbnMKKy8qKiBAZGVmZ3JvdXAgUlRDRXhfU21vb3RoX2NhbGliX3BlcmlvZF9EZWZpbml0aW9ucyBSVENFeCBTbW9vdGggQ2FsaWIgUGVyaW9kIERlZmluaXRpb25zCiAgICogQHsKLSAgKi8gCisgICovCisjZGVmaW5lIFJUQ19TTU9PVEhDQUxJQl9QRVJJT0RfMzJTRUMgICAweDAwMDAwMDAwVSAgICAgIC8qITwgSWYgUlRDQ0xLID0gMzI3NjggSHosIHNtb290aCBjYWxpYnJhdGlvbgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwZXJpb2QgaXMgMzJzLCBvdGhlcndpc2UgMl4yMCBSVENDTEsgcHVsc2VzICovCisjZGVmaW5lIFJUQ19TTU9PVEhDQUxJQl9QRVJJT0RfMTZTRUMgICBSVENfQ0FMUl9DQUxXMTYgIC8qITwgSWYgUlRDQ0xLID0gMzI3NjggSHosIHNtb290aCBjYWxpYnJhdGlvbgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwZXJpb2QgaXMgMTZzLCBvdGhlcndpc2UgMl4xOSBSVENDTEsgcHVsc2VzICovCisjZGVmaW5lIFJUQ19TTU9PVEhDQUxJQl9QRVJJT0RfOFNFQyAgICBSVENfQ0FMUl9DQUxXOCAgIC8qITwgSWYgUlRDQ0xLID0gMzI3NjggSHosIHNtb290aCBjYWxpYnJhdGlvbgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwZXJpb2QgaXMgOHMsIG90aGVyd2lzZSAyXjE4IFJUQ0NMSyBwdWxzZXMgICovCisvKioKKyAgKiBAfQorICAqLworCisvKiogQGRlZmdyb3VwIFJUQ0V4X1Ntb290aF9jYWxpYl9QbHVzX3B1bHNlc19EZWZpbml0aW9ucyBSVENFeCBTbW9vdGggQ2FsaWIgUGx1cyBQdWxzZXMgRGVmaW5pdGlvbnMKKyAgKiBAeworICAqLworI2RlZmluZSBSVENfU01PT1RIQ0FMSUJfUExVU1BVTFNFU19TRVQgICAgUlRDX0NBTFJfQ0FMUCAgICAgICAgICAgLyohPCBUaGUgbnVtYmVyIG9mIFJUQ0NMSyBwdWxzZXMgYWRkZWQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGR1cmluZyBhIFggLXNlY29uZCB3aW5kb3cgPSBZIC0gQ0FMTVs4OjBdCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aXRoIFkgPSA1MTIsIDI1NiwgMTI4IHdoZW4gWCA9IDMyLCAxNiwgOCAqLworI2RlZmluZSBSVENfU01PT1RIQ0FMSUJfUExVU1BVTFNFU19SRVNFVCAgMHgwMDAwMDAwMFUgICAgICAgICAgICAgLyohPCBUaGUgbnVtYmVyIG9mIFJUQ0NMSyBwdWxzZXMgc3ViYnN0aXRlZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZHVyaW5nIGEgMzItc2Vjb25kIHdpbmRvdyA9IENBTE1bODowXSAqLworLyoqCisgICogQH0KKyAgKi8KKworLyoqIEBkZWZncm91cCBSVENFeF9BZGRfMV9TZWNvbmRfUGFyYW1ldGVyX0RlZmluaXRpb25zIFJUQ0V4IEFkZCAxIFNlY29uZCBQYXJhbWV0ZXIgRGVmaW5pdGlvbnMKKyAgKiBAeworICAqLwogI2RlZmluZSBSVENfU0hJRlRBREQxU19SRVNFVCAgICAgIDB4MDAwMDAwMDBVCi0jZGVmaW5lIFJUQ19TSElGVEFERDFTX1NFVCAgICAgICAgMHg4MDAwMDAwMFUKKyNkZWZpbmUgUlRDX1NISUZUQUREMVNfU0VUICAgICAgICBSVENfU0hJRlRSX0FERDFTCiAvKioKICAgKiBAfQotICAqLyAKKyAgKi8KIAotCi0gLyoqIEBkZWZncm91cCBSVENFeF9DYWxpYl9PdXRwdXRfc2VsZWN0aW9uX0RlZmluaXRpb25zIFJUQyBDYWxpYiBPdXRwdXQgU2VsZWN0aW9uIERlZmluaXRpb25zCisvKiogQGRlZmdyb3VwIFJUQ0V4X0NhbGliX091dHB1dF9zZWxlY3Rpb25fRGVmaW5pdGlvbnMgUlRDRXggQ2FsaWIgT3V0cHV0IFNlbGVjdGlvbiBEZWZpbml0aW9ucwogICAqIEB7Ci0gICovIAotI2RlZmluZSBSVENfQ0FMSUJPVVRQVVRfNTEySFogICAgICAgICAgICAweDAwMDAwMDAwVSAKLSNkZWZpbmUgUlRDX0NBTElCT1VUUFVUXzFIWiAgICAgICAgICAgICAgMHgwMDA4MDAwMFUKKyAgKi8KKyNkZWZpbmUgUlRDX0NBTElCT1VUUFVUXzUxMkhaICAgICAgICAgICAgMHgwMDAwMDAwMFUKKyNkZWZpbmUgUlRDX0NBTElCT1VUUFVUXzFIWiAgICAgICAgICAgICAgUlRDX0NSX0NPU0VMCiAvKioKICAgKiBAfQotICAqLyAKKyAgKi8KIAogLyoqCiAgICogQH0KLSAgKi8gCi0gIAotLyogRXhwb3J0ZWQgbWFjcm8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKyAgKi8KKworLyogRXhwb3J0ZWQgbWFjcm9zIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKwogLyoqIEBkZWZncm91cCBSVENFeF9FeHBvcnRlZF9NYWNyb3MgUlRDRXggRXhwb3J0ZWQgTWFjcm9zCiAgICogQHsKICAgKi8KIAotLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tV0FLRVVQVElNRVItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwotLyoqIEBkZWZncm91cCBSVENFeF9XYWtlVXBfVGltZXIgUlRDIFdha2VVcCBUaW1lcgorLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tV0FLRVVQVElNRVItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworLyoqIEBkZWZncm91cCBSVENFeF9XYWtlVXBfVGltZXIgUlRDRXggV2FrZVVwIFRpbWVyCiAgICogQHsKICAgKi8KIApAQCAtMzIyLDE1MiArMzM3LDE1NCBAQAogI2RlZmluZSBfX0hBTF9SVENfV0FLRVVQVElNRVJfRU5BQkxFKF9fSEFORExFX18pICAgICAgICAgICAgICAgICAgICAgICgoX19IQU5ETEVfXyktPkluc3RhbmNlLT5DUiB8PSAoUlRDX0NSX1dVVEUpKQogCiAvKioKLSAgKiBAYnJpZWYgIERpc2FibGUgdGhlIFJUQyBXYWtlLXVwIFRpbWVyIHBlcmlwaGVyYWwuCisgICogQGJyaWVmICBEaXNhYmxlIHRoZSBSVEMgV2FrZXVwIFRpbWVyIHBlcmlwaGVyYWwuCiAgICogQHBhcmFtICBfX0hBTkRMRV9fIHNwZWNpZmllcyB0aGUgUlRDIGhhbmRsZS4KICAgKiBAcmV0dmFsIE5vbmUKICAgKi8KICNkZWZpbmUgX19IQUxfUlRDX1dBS0VVUFRJTUVSX0RJU0FCTEUoX19IQU5ETEVfXykgICAgICAgICAgICAgICAgICAgICAoKF9fSEFORExFX18pLT5JbnN0YW5jZS0+Q1IgJj0gfihSVENfQ1JfV1VURSkpCiAKIC8qKgotICAqIEBicmllZiAgRW5hYmxlIHRoZSBSVEMgV2FrZVVwVGltZXIgaW50ZXJydXB0LgorICAqIEBicmllZiAgRW5hYmxlIHRoZSBSVEMgV2FrZXVwIFRpbWVyIGludGVycnVwdC4KICAgKiBAcGFyYW0gIF9fSEFORExFX18gc3BlY2lmaWVzIHRoZSBSVEMgaGFuZGxlLgotICAqIEBwYXJhbSAgX19JTlRFUlJVUFRfXyBzcGVjaWZpZXMgdGhlIFJUQyBXYWtlVXBUaW1lciBpbnRlcnJ1cHQgc291cmNlcyB0byBiZSBlbmFibGVkIG9yIGRpc2FibGVkLiAKKyAgKiBAcGFyYW0gIF9fSU5URVJSVVBUX18gc3BlY2lmaWVzIHRoZSBSVEMgV2FrZXVwIFRpbWVyIGludGVycnVwdCBzb3VyY2VzIHRvIGJlIGVuYWJsZWQgb3IgZGlzYWJsZWQuCiAgICogICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmU6Ci0gICogICAgICAgICAgICBAYXJnIFJUQ19JVF9XVVQ6IFdha2VVcFRpbWVyIEEgaW50ZXJydXB0CisgICogICAgICAgICAgICBAYXJnIFJUQ19JVF9XVVQ6IFdha2V1cCBUaW1lciBpbnRlcnJ1cHQKICAgKiBAcmV0dmFsIE5vbmUKICAgKi8KICNkZWZpbmUgX19IQUxfUlRDX1dBS0VVUFRJTUVSX0VOQUJMRV9JVChfX0hBTkRMRV9fLCBfX0lOVEVSUlVQVF9fKSAgICAoKF9fSEFORExFX18pLT5JbnN0YW5jZS0+Q1IgfD0gKF9fSU5URVJSVVBUX18pKQogCiAvKioKLSAgKiBAYnJpZWYgIERpc2FibGUgdGhlIFJUQyBXYWtlVXBUaW1lciBpbnRlcnJ1cHQuCisgICogQGJyaWVmICBEaXNhYmxlIHRoZSBSVEMgV2FrZXVwIFRpbWVyIGludGVycnVwdC4KICAgKiBAcGFyYW0gIF9fSEFORExFX18gc3BlY2lmaWVzIHRoZSBSVEMgaGFuZGxlLgotICAqIEBwYXJhbSAgX19JTlRFUlJVUFRfXyBzcGVjaWZpZXMgdGhlIFJUQyBXYWtlVXBUaW1lciBpbnRlcnJ1cHQgc291cmNlcyB0byBiZSBlbmFibGVkIG9yIGRpc2FibGVkLiAKKyAgKiBAcGFyYW0gIF9fSU5URVJSVVBUX18gc3BlY2lmaWVzIHRoZSBSVEMgV2FrZXVwIFRpbWVyIGludGVycnVwdCBzb3VyY2VzIHRvIGJlIGVuYWJsZWQgb3IgZGlzYWJsZWQuCiAgICogICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmU6Ci0gICogICAgICAgICAgICBAYXJnIFJUQ19JVF9XVVQ6IFdha2VVcFRpbWVyIEEgaW50ZXJydXB0CisgICogICAgICAgICAgICBAYXJnIFJUQ19JVF9XVVQ6IFdha2V1cCBUaW1lciBpbnRlcnJ1cHQKICAgKiBAcmV0dmFsIE5vbmUKICAgKi8KICNkZWZpbmUgX19IQUxfUlRDX1dBS0VVUFRJTUVSX0RJU0FCTEVfSVQoX19IQU5ETEVfXywgX19JTlRFUlJVUFRfXykgICAoKF9fSEFORExFX18pLT5JbnN0YW5jZS0+Q1IgJj0gfihfX0lOVEVSUlVQVF9fKSkKIAogLyoqCi0gICogQGJyaWVmICBDaGVjayB3aGV0aGVyIHRoZSBzcGVjaWZpZWQgUlRDIFdha2VVcFRpbWVyIGludGVycnVwdCBoYXMgb2NjdXJyZWQgb3Igbm90LgorICAqIEBicmllZiAgQ2hlY2sgd2hldGhlciB0aGUgc3BlY2lmaWVkIFJUQyBXYWtldXAgVGltZXIgaW50ZXJydXB0IGhhcyBvY2N1cnJlZCBvciBub3QuCiAgICogQHBhcmFtICBfX0hBTkRMRV9fIHNwZWNpZmllcyB0aGUgUlRDIGhhbmRsZS4KLSAgKiBAcGFyYW0gIF9fSU5URVJSVVBUX18gc3BlY2lmaWVzIHRoZSBSVEMgV2FrZVVwVGltZXIgaW50ZXJydXB0IHRvIGNoZWNrLgorICAqIEBwYXJhbSAgX19JTlRFUlJVUFRfXyBzcGVjaWZpZXMgdGhlIFJUQyBXYWtldXAgVGltZXIgaW50ZXJydXB0IHRvIGNoZWNrLgogICAqICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlOgotICAqICAgICAgICAgICAgQGFyZyBSVENfSVRfV1VUOiAgV2FrZVVwVGltZXIgQSBpbnRlcnJ1cHQKKyAgKiAgICAgICAgICAgIEBhcmcgUlRDX0lUX1dVVDogV2FrZXVwIFRpbWVyIGludGVycnVwdAogICAqIEByZXR2YWwgTm9uZQogICAqLwotI2RlZmluZSBfX0hBTF9SVENfV0FLRVVQVElNRVJfR0VUX0lUKF9fSEFORExFX18sIF9fSU5URVJSVVBUX18pICAgICAgICAgICAgKCgoKChfX0hBTkRMRV9fKS0+SW5zdGFuY2UtPklTUikgJiAoKF9fSU5URVJSVVBUX18pPj4gNFUpKSAhPSBSRVNFVCk/IFNFVCA6IFJFU0VUKQorI2RlZmluZSBfX0hBTF9SVENfV0FLRVVQVElNRVJfR0VUX0lUKF9fSEFORExFX18sIF9fSU5URVJSVVBUX18pICAgICAgICAgICgoKCgoX19IQU5ETEVfXyktPkluc3RhbmNlLT5JU1IpICYgKChfX0lOVEVSUlVQVF9fKSA+PiA0VSkpICE9IDBVKSA/IDFVIDogMFUpCiAKIC8qKgotICAqIEBicmllZiAgQ2hlY2sgd2hldGhlciB0aGUgc3BlY2lmaWVkIFJUQyBXYWtlIFVwIHRpbWVyIGludGVycnVwdCBoYXMgYmVlbiBlbmFibGVkIG9yIG5vdC4KKyAgKiBAYnJpZWYgIENoZWNrIHdoZXRoZXIgdGhlIHNwZWNpZmllZCBSVEMgV2FrZXVwIHRpbWVyIGludGVycnVwdCBoYXMgYmVlbiBlbmFibGVkIG9yIG5vdC4KICAgKiBAcGFyYW0gIF9fSEFORExFX18gc3BlY2lmaWVzIHRoZSBSVEMgaGFuZGxlLgotICAqIEBwYXJhbSAgX19JTlRFUlJVUFRfXyBzcGVjaWZpZXMgdGhlIFJUQyBXYWtlIFVwIHRpbWVyIGludGVycnVwdCBzb3VyY2VzIHRvIGNoZWNrLgorICAqIEBwYXJhbSAgX19JTlRFUlJVUFRfXyBzcGVjaWZpZXMgdGhlIFJUQyBXYWtldXAgdGltZXIgaW50ZXJydXB0IHNvdXJjZXMgdG8gY2hlY2suCiAgICogICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmU6Ci0gICogICAgICAgICAgICBAYXJnIFJUQ19JVF9XVVQ6ICBXYWtlVXBUaW1lciBpbnRlcnJ1cHQKKyAgKiAgICAgICAgICAgIEBhcmcgUlRDX0lUX1dVVDogV2FrZVVwVGltZXIgaW50ZXJydXB0CiAgICogQHJldHZhbCBOb25lCiAgICovCi0jZGVmaW5lIF9fSEFMX1JUQ19XQUtFVVBUSU1FUl9HRVRfSVRfU09VUkNFKF9fSEFORExFX18sIF9fSU5URVJSVVBUX18pICAgKCgoKChfX0hBTkRMRV9fKS0+SW5zdGFuY2UtPkNSKSAmIChfX0lOVEVSUlVQVF9fKSkgIT0gUkVTRVQpID8gU0VUIDogUkVTRVQpCisjZGVmaW5lIF9fSEFMX1JUQ19XQUtFVVBUSU1FUl9HRVRfSVRfU09VUkNFKF9fSEFORExFX18sIF9fSU5URVJSVVBUX18pICAgKCgoKChfX0hBTkRMRV9fKS0+SW5zdGFuY2UtPkNSKSAmIChfX0lOVEVSUlVQVF9fKSkgIT0gMFUpID8gMVUgOiAwVSkKIAogLyoqCi0gICogQGJyaWVmICBHZXQgdGhlIHNlbGVjdGVkIFJUQyBXYWtlVXBUaW1lcidzIGZsYWcgc3RhdHVzLgorICAqIEBicmllZiAgR2V0IHRoZSBzZWxlY3RlZCBSVEMgV2FrZXVwIFRpbWVyJ3MgZmxhZyBzdGF0dXMuCiAgICogQHBhcmFtICBfX0hBTkRMRV9fIHNwZWNpZmllcyB0aGUgUlRDIGhhbmRsZS4KLSAgKiBAcGFyYW0gIF9fRkxBR19fIHNwZWNpZmllcyB0aGUgUlRDIFdha2VVcFRpbWVyIEZsYWcgdG8gY2hlY2suCisgICogQHBhcmFtICBfX0ZMQUdfXyBzcGVjaWZpZXMgdGhlIFJUQyBXYWtldXAgVGltZXIgZmxhZyB0byBjaGVjay4KICAgKiAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmU6Ci0gICogICAgICAgICAgICAgQGFyZyBSVENfRkxBR19XVVRGICAgCi0gICogICAgICAgICAgICAgQGFyZyBSVENfRkxBR19XVVRXRiAgICAgCisgICogICAgICAgICAgICAgQGFyZyBSVENfRkxBR19XVVRGOiBXYWtldXAgVGltZXIgaW50ZXJydXB0IGZsYWcKKyAgKiAgICAgICAgICAgICBAYXJnIFJUQ19GTEFHX1dVVFdGOiBXYWtldXAgVGltZXIgJ3dyaXRlIGFsbG93ZWQnIGZsYWcKICAgKiBAcmV0dmFsIE5vbmUKICAgKi8KLSNkZWZpbmUgX19IQUxfUlRDX1dBS0VVUFRJTUVSX0dFVF9GTEFHKF9fSEFORExFX18sIF9fRkxBR19fKSAgICAgICAgICAoKCgoKF9fSEFORExFX18pLT5JbnN0YW5jZS0+SVNSKSAmIChfX0ZMQUdfXykpICE9IFJFU0VUKT8gU0VUIDogUkVTRVQpCisjZGVmaW5lIF9fSEFMX1JUQ19XQUtFVVBUSU1FUl9HRVRfRkxBRyhfX0hBTkRMRV9fLCBfX0ZMQUdfXykgICAgICAgICAgKCgoKChfX0hBTkRMRV9fKS0+SW5zdGFuY2UtPklTUikgJiAoX19GTEFHX18pKSAhPSAwVSk/IDFVIDogMFUpCiAKIC8qKgotICAqIEBicmllZiAgQ2xlYXIgdGhlIFJUQyBXYWtlIFVwIHRpbWVyJ3MgcGVuZGluZyBmbGFncy4KKyAgKiBAYnJpZWYgIENsZWFyIHRoZSBSVEMgV2FrZXVwIHRpbWVyJ3MgcGVuZGluZyBmbGFncy4KICAgKiBAcGFyYW0gIF9fSEFORExFX18gc3BlY2lmaWVzIHRoZSBSVEMgaGFuZGxlLgotICAqIEBwYXJhbSAgX19GTEFHX18gc3BlY2lmaWVzIHRoZSBSVEMgVGFtcGVyIEZsYWcgc291cmNlcyB0byBiZSBlbmFibGVkIG9yIGRpc2FibGVkLgorICAqIEBwYXJhbSAgX19GTEFHX18gc3BlY2lmaWVzIHRoZSBSVEMgV2FrZXVwIFRpbWVyIEZsYWcgdG8gY2xlYXIuCiAgICogICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmU6Ci0gICogICAgICAgICAgICBAYXJnIFJUQ19GTEFHX1dVVEYgICAKKyAgKiAgICAgICAgICAgICBAYXJnIFJUQ19GTEFHX1dVVEY6IFdha2V1cCBUaW1lciBpbnRlcnJ1cHQgRmxhZwogICAqIEByZXR2YWwgTm9uZQogICAqLwotI2RlZmluZSBfX0hBTF9SVENfV0FLRVVQVElNRVJfQ0xFQVJfRkxBRyhfX0hBTkRMRV9fLCBfX0ZMQUdfXykgICAgICAgICAgICAoKF9fSEFORExFX18pLT5JbnN0YW5jZS0+SVNSKSA9ICh+KChfX0ZMQUdfXykgfCBSVENfSVNSX0lOSVQpfCgoX19IQU5ETEVfXyktPkluc3RhbmNlLT5JU1IgJiBSVENfSVNSX0lOSVQpKSAKKyNkZWZpbmUgX19IQUxfUlRDX1dBS0VVUFRJTUVSX0NMRUFSX0ZMQUcoX19IQU5ETEVfXywgX19GTEFHX18pICAgICAgICAgICAgKChfX0hBTkRMRV9fKS0+SW5zdGFuY2UtPklTUikgPSAofigoX19GTEFHX18pIHwgUlRDX0lTUl9JTklUKXwoKF9fSEFORExFX18pLT5JbnN0YW5jZS0+SVNSICYgUlRDX0lTUl9JTklUKSkKIAogLyoqCi0gICogQGJyaWVmICBFbmFibGUgaW50ZXJydXB0IG9uIHRoZSBSVEMgV2FrZS11cCBUaW1lciBhc3NvY2lhdGVkIEV4dGkgbGluZS4KKyAgKiBAYnJpZWYgIEVuYWJsZSBpbnRlcnJ1cHQgb24gdGhlIFJUQyBXYWtldXAgVGltZXIgYXNzb2NpYXRlZCBFWFRJIGxpbmUuCiAgICogQHJldHZhbCBOb25lCiAgICovCiAjZGVmaW5lIF9fSEFMX1JUQ19XQUtFVVBUSU1FUl9FWFRJX0VOQUJMRV9JVCgpICAgICAgIChFWFRJLT5JTVIgfD0gUlRDX0VYVElfTElORV9XQUtFVVBUSU1FUl9FVkVOVCkKIAogLyoqCi0gICogQGJyaWVmICBEaXNhYmxlIGludGVycnVwdCBvbiB0aGUgUlRDIFdha2UtdXAgVGltZXIgYXNzb2NpYXRlZCBFeHRpIGxpbmUuCisgICogQGJyaWVmICBEaXNhYmxlIGludGVycnVwdCBvbiB0aGUgUlRDIFdha2V1cCBUaW1lciBhc3NvY2lhdGVkIEVYVEkgbGluZS4KICAgKiBAcmV0dmFsIE5vbmUKICAgKi8KLSNkZWZpbmUgX19IQUxfUlRDX1dBS0VVUFRJTUVSX0VYVElfRElTQUJMRV9JVCgpICAgICAgKEVYVEktPklNUiAmPSB+KFJUQ19FWFRJX0xJTkVfV0FLRVVQVElNRVJfRVZFTlQpKQorI2RlZmluZSBfX0hBTF9SVENfV0FLRVVQVElNRVJfRVhUSV9ESVNBQkxFX0lUKCkgICAgICAoRVhUSS0+SU1SICY9IH5SVENfRVhUSV9MSU5FX1dBS0VVUFRJTUVSX0VWRU5UKQogCiAvKioKLSAgKiBAYnJpZWYgIEVuYWJsZSBldmVudCBvbiB0aGUgUlRDIFdha2UtdXAgVGltZXIgYXNzb2NpYXRlZCBFeHRpIGxpbmUuCisgICogQGJyaWVmICBFbmFibGUgZXZlbnQgb24gdGhlIFJUQyBXYWtldXAgVGltZXIgYXNzb2NpYXRlZCBFWFRJIGxpbmUuCiAgICogQHJldHZhbCBOb25lLgogICAqLwogI2RlZmluZSBfX0hBTF9SVENfV0FLRVVQVElNRVJfRVhUSV9FTkFCTEVfRVZFTlQoKSAgICAoRVhUSS0+RU1SIHw9IFJUQ19FWFRJX0xJTkVfV0FLRVVQVElNRVJfRVZFTlQpCiAKIC8qKgotICAqIEBicmllZiAgRGlzYWJsZSBldmVudCBvbiB0aGUgUlRDIFdha2UtdXAgVGltZXIgYXNzb2NpYXRlZCBFeHRpIGxpbmUuCisgICogQGJyaWVmICBEaXNhYmxlIGV2ZW50IG9uIHRoZSBSVEMgV2FrZXVwIFRpbWVyIGFzc29jaWF0ZWQgRVhUSSBsaW5lLgogICAqIEByZXR2YWwgTm9uZS4KICAgKi8KLSNkZWZpbmUgX19IQUxfUlRDX1dBS0VVUFRJTUVSX0VYVElfRElTQUJMRV9FVkVOVCgpICAgKEVYVEktPkVNUiAmPSB+KFJUQ19FWFRJX0xJTkVfV0FLRVVQVElNRVJfRVZFTlQpKQorI2RlZmluZSBfX0hBTF9SVENfV0FLRVVQVElNRVJfRVhUSV9ESVNBQkxFX0VWRU5UKCkgICAoRVhUSS0+RU1SICY9IH5SVENfRVhUSV9MSU5FX1dBS0VVUFRJTUVSX0VWRU5UKQogCiAvKioKLSAgKiBAYnJpZWYgIEVuYWJsZSBmYWxsaW5nIGVkZ2UgdHJpZ2dlciBvbiB0aGUgUlRDIFdha2UtdXAgVGltZXIgYXNzb2NpYXRlZCBFeHRpIGxpbmUuIAorICAqIEBicmllZiAgRW5hYmxlIGZhbGxpbmcgZWRnZSB0cmlnZ2VyIG9uIHRoZSBSVEMgV2FrZXVwIFRpbWVyIGFzc29jaWF0ZWQgRVhUSSBsaW5lLgogICAqIEByZXR2YWwgTm9uZS4KICAgKi8KICNkZWZpbmUgX19IQUxfUlRDX1dBS0VVUFRJTUVSX0VYVElfRU5BQkxFX0ZBTExJTkdfRURHRSgpICAgKEVYVEktPkZUU1IgfD0gUlRDX0VYVElfTElORV9XQUtFVVBUSU1FUl9FVkVOVCkKIAogLyoqCi0gICogQGJyaWVmICBEaXNhYmxlIGZhbGxpbmcgZWRnZSB0cmlnZ2VyIG9uIHRoZSBSVEMgV2FrZS11cCBUaW1lciBhc3NvY2lhdGVkIEV4dGkgbGluZS4KKyAgKiBAYnJpZWYgIERpc2FibGUgZmFsbGluZyBlZGdlIHRyaWdnZXIgb24gdGhlIFJUQyBXYWtldXAgVGltZXIgYXNzb2NpYXRlZCBFWFRJIGxpbmUuCiAgICogQHJldHZhbCBOb25lLgogICAqLwotI2RlZmluZSBfX0hBTF9SVENfV0FLRVVQVElNRVJfRVhUSV9ESVNBQkxFX0ZBTExJTkdfRURHRSgpICAoRVhUSS0+RlRTUiAmPSB+KFJUQ19FWFRJX0xJTkVfV0FLRVVQVElNRVJfRVZFTlQpKQorI2RlZmluZSBfX0hBTF9SVENfV0FLRVVQVElNRVJfRVhUSV9ESVNBQkxFX0ZBTExJTkdfRURHRSgpICAoRVhUSS0+RlRTUiAmPSB+UlRDX0VYVElfTElORV9XQUtFVVBUSU1FUl9FVkVOVCkKIAogLyoqCi0gICogQGJyaWVmICBFbmFibGUgcmlzaW5nIGVkZ2UgdHJpZ2dlciBvbiB0aGUgUlRDIFdha2UtdXAgVGltZXIgYXNzb2NpYXRlZCBFeHRpIGxpbmUuCisgICogQGJyaWVmICBFbmFibGUgcmlzaW5nIGVkZ2UgdHJpZ2dlciBvbiB0aGUgUlRDIFdha2V1cCBUaW1lciBhc3NvY2lhdGVkIEVYVEkgbGluZS4KICAgKiBAcmV0dmFsIE5vbmUuCiAgICovCiAjZGVmaW5lIF9fSEFMX1JUQ19XQUtFVVBUSU1FUl9FWFRJX0VOQUJMRV9SSVNJTkdfRURHRSgpICAgIChFWFRJLT5SVFNSIHw9IFJUQ19FWFRJX0xJTkVfV0FLRVVQVElNRVJfRVZFTlQpCiAKIC8qKgotICAqIEBicmllZiAgRGlzYWJsZSByaXNpbmcgZWRnZSB0cmlnZ2VyIG9uIHRoZSBSVEMgV2FrZS11cCBUaW1lciBhc3NvY2lhdGVkIEV4dGkgbGluZS4KKyAgKiBAYnJpZWYgIERpc2FibGUgcmlzaW5nIGVkZ2UgdHJpZ2dlciBvbiB0aGUgUlRDIFdha2V1cCBUaW1lciBhc3NvY2lhdGVkIEVYVEkgbGluZS4KICAgKiBAcmV0dmFsIE5vbmUuCiAgICovCi0jZGVmaW5lIF9fSEFMX1JUQ19XQUtFVVBUSU1FUl9FWFRJX0RJU0FCTEVfUklTSU5HX0VER0UoKSAgIChFWFRJLT5SVFNSICY9IH4oUlRDX0VYVElfTElORV9XQUtFVVBUSU1FUl9FVkVOVCkpCisjZGVmaW5lIF9fSEFMX1JUQ19XQUtFVVBUSU1FUl9FWFRJX0RJU0FCTEVfUklTSU5HX0VER0UoKSAgIChFWFRJLT5SVFNSICY9IH5SVENfRVhUSV9MSU5FX1dBS0VVUFRJTUVSX0VWRU5UKQogCiAvKioKLSAgKiBAYnJpZWYgIEVuYWJsZSByaXNpbmcgJiBmYWxsaW5nIGVkZ2UgdHJpZ2dlciBvbiB0aGUgUlRDIFdha2UtdXAgVGltZXIgYXNzb2NpYXRlZCBFeHRpIGxpbmUuCisgICogQGJyaWVmICBFbmFibGUgcmlzaW5nICYgZmFsbGluZyBlZGdlIHRyaWdnZXIgb24gdGhlIFJUQyBXYWtldXAgVGltZXIgYXNzb2NpYXRlZCBFWFRJIGxpbmUuCiAgICogQHJldHZhbCBOb25lLgogICAqLwotI2RlZmluZSBfX0hBTF9SVENfV0FLRVVQVElNRVJfRVhUSV9FTkFCTEVfUklTSU5HX0ZBTExJTkdfRURHRSgpIGRvIHsgX19IQUxfUlRDX1dBS0VVUFRJTUVSX0VYVElfRU5BQkxFX1JJU0lOR19FREdFKCk7XAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19IQUxfUlRDX1dBS0VVUFRJTUVSX0VYVElfRU5BQkxFX0ZBTExJTkdfRURHRSgpO1wKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IHdoaWxlKDBVKSAgCisjZGVmaW5lIF9fSEFMX1JUQ19XQUtFVVBUSU1FUl9FWFRJX0VOQUJMRV9SSVNJTkdfRkFMTElOR19FREdFKCkgZG8geyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fSEFMX1JUQ19XQUtFVVBUSU1FUl9FWFRJX0VOQUJMRV9SSVNJTkdfRURHRSgpOyAgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19IQUxfUlRDX1dBS0VVUFRJTUVSX0VYVElfRU5BQkxFX0ZBTExJTkdfRURHRSgpOyBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSB3aGlsZSgwVSkKIAogLyoqCi0gICogQGJyaWVmICBEaXNhYmxlIHJpc2luZyAmIGZhbGxpbmcgZWRnZSB0cmlnZ2VyIG9uIHRoZSBSVEMgV2FrZS11cCBUaW1lciBhc3NvY2lhdGVkIEV4dGkgbGluZS4KKyAgKiBAYnJpZWYgIERpc2FibGUgcmlzaW5nICYgZmFsbGluZyBlZGdlIHRyaWdnZXIgb24gdGhlIFJUQyBXYWtldXAgVGltZXIgYXNzb2NpYXRlZCBFWFRJIGxpbmUuCiAgICogVGhpcyBwYXJhbWV0ZXIgY2FuIGJlOgogICAqIEByZXR2YWwgTm9uZS4KICAgKi8KLSNkZWZpbmUgX19IQUxfUlRDX1dBS0VVUFRJTUVSX0VYVElfRElTQUJMRV9SSVNJTkdfRkFMTElOR19FREdFKCkgZG8geyBfX0hBTF9SVENfV0FLRVVQVElNRVJfRVhUSV9ESVNBQkxFX1JJU0lOR19FREdFKCk7XAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fSEFMX1JUQ19XQUtFVVBUSU1FUl9FWFRJX0RJU0FCTEVfRkFMTElOR19FREdFKCk7XAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IHdoaWxlKDBVKSAgCisjZGVmaW5lIF9fSEFMX1JUQ19XQUtFVVBUSU1FUl9FWFRJX0RJU0FCTEVfUklTSU5HX0ZBTExJTkdfRURHRSgpIGRvIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fSEFMX1JUQ19XQUtFVVBUSU1FUl9FWFRJX0RJU0FCTEVfUklTSU5HX0VER0UoKTsgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX0hBTF9SVENfV0FLRVVQVElNRVJfRVhUSV9ESVNBQkxFX0ZBTExJTkdfRURHRSgpOyBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gd2hpbGUoMFUpCiAKIC8qKgotICAqIEBicmllZiBDaGVjayB3aGV0aGVyIHRoZSBSVEMgV2FrZS11cCBUaW1lciBhc3NvY2lhdGVkIEV4dGkgbGluZSBpbnRlcnJ1cHQgZmxhZyBpcyBzZXQgb3Igbm90LgorICAqIEBicmllZiBDaGVjayB3aGV0aGVyIHRoZSBSVEMgV2FrZXVwIFRpbWVyIGFzc29jaWF0ZWQgRVhUSSBsaW5lIGludGVycnVwdCBmbGFnIGlzIHNldCBvciBub3QuCiAgICogQHJldHZhbCBMaW5lIFN0YXR1cy4KICAgKi8KICNkZWZpbmUgX19IQUxfUlRDX1dBS0VVUFRJTUVSX0VYVElfR0VUX0ZMQUcoKSAgICAgICAgICAgICAgKEVYVEktPlBSICYgUlRDX0VYVElfTElORV9XQUtFVVBUSU1FUl9FVkVOVCkKIAogLyoqCi0gICogQGJyaWVmIENsZWFyIHRoZSBSVEMgV2FrZS11cCBUaW1lciBhc3NvY2lhdGVkIEV4dGkgbGluZSBmbGFnLgorICAqIEBicmllZiBDbGVhciB0aGUgUlRDIFdha2V1cCBUaW1lciBhc3NvY2lhdGVkIEVYVEkgbGluZSBmbGFnLgogICAqIEByZXR2YWwgTm9uZS4KICAgKi8KICNkZWZpbmUgX19IQUxfUlRDX1dBS0VVUFRJTUVSX0VYVElfQ0xFQVJfRkxBRygpICAgICAgICAgICAgKEVYVEktPlBSID0gUlRDX0VYVElfTElORV9XQUtFVVBUSU1FUl9FVkVOVCkKIAogLyoqCi0gICogQGJyaWVmIEdlbmVyYXRlIGEgU29mdHdhcmUgaW50ZXJydXB0IG9uIHRoZSBSVEMgV2FrZS11cCBUaW1lciBhc3NvY2lhdGVkIEV4dGkgbGluZS4KKyAgKiBAYnJpZWYgR2VuZXJhdGUgYSBTb2Z0d2FyZSBpbnRlcnJ1cHQgb24gdGhlIFJUQyBXYWtldXAgVGltZXIgYXNzb2NpYXRlZCBFWFRJIGxpbmUuCiAgICogQHJldHZhbCBOb25lLgogICAqLwogI2RlZmluZSBfX0hBTF9SVENfV0FLRVVQVElNRVJfRVhUSV9HRU5FUkFURV9TV0lUKCkgICAgICAgICAoRVhUSS0+U1dJRVIgfD0gUlRDX0VYVElfTElORV9XQUtFVVBUSU1FUl9FVkVOVCkKQEAgLTQ3NywyOCArNDk0LDI5IEBACiAgICovCiAKIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVRJTUVTVEFNUC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCi0vKiogQGRlZmdyb3VwIFJUQ0V4X1RpbWVzdGFtcCBSVEMgVGltZXN0YW1wCisKKy8qKiBAZGVmZ3JvdXAgUlRDRXhfVGltZXN0YW1wIFJUQ0V4IFRpbWVzdGFtcAogICAqIEB7CiAgICovCiAKIC8qKgotICAqIEBicmllZiAgRW5hYmxlIHRoZSBSVEMgVGltZVN0YW1wIHBlcmlwaGVyYWwuCisgICogQGJyaWVmICBFbmFibGUgdGhlIFJUQyBUaW1lc3RhbXAgcGVyaXBoZXJhbC4KICAgKiBAcGFyYW0gIF9fSEFORExFX18gc3BlY2lmaWVzIHRoZSBSVEMgaGFuZGxlLgogICAqIEByZXR2YWwgTm9uZQogICAqLwogI2RlZmluZSBfX0hBTF9SVENfVElNRVNUQU1QX0VOQUJMRShfX0hBTkRMRV9fKSAgICAgICAgICAgICAgICAgICAgICAgICgoX19IQU5ETEVfXyktPkluc3RhbmNlLT5DUiB8PSAoUlRDX0NSX1RTRSkpCiAKIC8qKgotICAqIEBicmllZiAgRGlzYWJsZSB0aGUgUlRDIFRpbWVTdGFtcCBwZXJpcGhlcmFsLgorICAqIEBicmllZiAgRGlzYWJsZSB0aGUgUlRDIFRpbWVzdGFtcCBwZXJpcGhlcmFsLgogICAqIEBwYXJhbSAgX19IQU5ETEVfXyBzcGVjaWZpZXMgdGhlIFJUQyBoYW5kbGUuCiAgICogQHJldHZhbCBOb25lCiAgICovCiAjZGVmaW5lIF9fSEFMX1JUQ19USU1FU1RBTVBfRElTQUJMRShfX0hBTkRMRV9fKSAgICAgICAgICAgICAgICAgICAgICAgKChfX0hBTkRMRV9fKS0+SW5zdGFuY2UtPkNSICY9IH4oUlRDX0NSX1RTRSkpCiAKIC8qKgotICAqIEBicmllZiAgRW5hYmxlIHRoZSBSVEMgVGltZVN0YW1wIGludGVycnVwdC4KKyAgKiBAYnJpZWYgIEVuYWJsZSB0aGUgUlRDIFRpbWVzdGFtcCBpbnRlcnJ1cHQuCiAgICogQHBhcmFtICBfX0hBTkRMRV9fIHNwZWNpZmllcyB0aGUgUlRDIGhhbmRsZS4KLSAgKiBAcGFyYW0gIF9fSU5URVJSVVBUX18gc3BlY2lmaWVzIHRoZSBSVEMgVGltZVN0YW1wIGludGVycnVwdCBzb3VyY2VzIHRvIGJlIGVuYWJsZWQgb3IgZGlzYWJsZWQuIAorICAqIEBwYXJhbSAgX19JTlRFUlJVUFRfXyBzcGVjaWZpZXMgdGhlIFJUQyBUaW1lc3RhbXAgaW50ZXJydXB0IHNvdXJjZXMgdG8gYmUgZW5hYmxlZCBvciBkaXNhYmxlZC4KICAgKiAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZToKICAgKiAgICAgICAgICAgIEBhcmcgUlRDX0lUX1RTOiBUaW1lU3RhbXAgaW50ZXJydXB0CiAgICogQHJldHZhbCBOb25lCkBAIC01MDYsOSArNTI0LDkgQEAKICNkZWZpbmUgX19IQUxfUlRDX1RJTUVTVEFNUF9FTkFCTEVfSVQoX19IQU5ETEVfXywgX19JTlRFUlJVUFRfXykgICAgICAoKF9fSEFORExFX18pLT5JbnN0YW5jZS0+Q1IgfD0gKF9fSU5URVJSVVBUX18pKQogCiAvKioKLSAgKiBAYnJpZWYgIERpc2FibGUgdGhlIFJUQyBUaW1lU3RhbXAgaW50ZXJydXB0LgorICAqIEBicmllZiAgRGlzYWJsZSB0aGUgUlRDIFRpbWVzdGFtcCBpbnRlcnJ1cHQuCiAgICogQHBhcmFtICBfX0hBTkRMRV9fIHNwZWNpZmllcyB0aGUgUlRDIGhhbmRsZS4KLSAgKiBAcGFyYW0gIF9fSU5URVJSVVBUX18gc3BlY2lmaWVzIHRoZSBSVEMgVGltZVN0YW1wIGludGVycnVwdCBzb3VyY2VzIHRvIGJlIGVuYWJsZWQgb3IgZGlzYWJsZWQuIAorICAqIEBwYXJhbSAgX19JTlRFUlJVUFRfXyBzcGVjaWZpZXMgdGhlIFJUQyBUaW1lc3RhbXAgaW50ZXJydXB0IHNvdXJjZXMgdG8gYmUgZW5hYmxlZCBvciBkaXNhYmxlZC4KICAgKiAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZToKICAgKiAgICAgICAgICAgIEBhcmcgUlRDX0lUX1RTOiBUaW1lU3RhbXAgaW50ZXJydXB0CiAgICogQHJldHZhbCBOb25lCkBAIC01MTYsNDIgKzUzNCw0MyBAQAogI2RlZmluZSBfX0hBTF9SVENfVElNRVNUQU1QX0RJU0FCTEVfSVQoX19IQU5ETEVfXywgX19JTlRFUlJVUFRfXykgICAgICgoX19IQU5ETEVfXyktPkluc3RhbmNlLT5DUiAmPSB+KF9fSU5URVJSVVBUX18pKQogCiAvKioKLSAgKiBAYnJpZWYgIENoZWNrIHdoZXRoZXIgdGhlIHNwZWNpZmllZCBSVEMgVGltZVN0YW1wIGludGVycnVwdCBoYXMgb2NjdXJyZWQgb3Igbm90LgorICAqIEBicmllZiAgQ2hlY2sgd2hldGhlciB0aGUgc3BlY2lmaWVkIFJUQyBUaW1lc3RhbXAgaW50ZXJydXB0IGhhcyBvY2N1cnJlZCBvciBub3QuCiAgICogQHBhcmFtICBfX0hBTkRMRV9fIHNwZWNpZmllcyB0aGUgUlRDIGhhbmRsZS4KLSAgKiBAcGFyYW0gIF9fSU5URVJSVVBUX18gc3BlY2lmaWVzIHRoZSBSVEMgVGltZVN0YW1wIGludGVycnVwdCB0byBjaGVjay4KKyAgKiBAcGFyYW0gIF9fSU5URVJSVVBUX18gc3BlY2lmaWVzIHRoZSBSVEMgVGltZXN0YW1wIGludGVycnVwdCB0byBjaGVjay4KICAgKiAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZToKICAgKiAgICAgICAgICAgIEBhcmcgUlRDX0lUX1RTOiBUaW1lU3RhbXAgaW50ZXJydXB0CiAgICogQHJldHZhbCBOb25lCiAgICovCi0jZGVmaW5lIF9fSEFMX1JUQ19USU1FU1RBTVBfR0VUX0lUKF9fSEFORExFX18sIF9fSU5URVJSVVBUX18pICAgICAgICAgKCgoKChfX0hBTkRMRV9fKS0+SW5zdGFuY2UtPklTUikgJiAoKF9fSU5URVJSVVBUX18pPj4gNFUpKSAhPSBSRVNFVCk/IFNFVCA6IFJFU0VUKQorI2RlZmluZSBfX0hBTF9SVENfVElNRVNUQU1QX0dFVF9JVChfX0hBTkRMRV9fLCBfX0lOVEVSUlVQVF9fKSAgICAgICAgICgoKCgoX19IQU5ETEVfXyktPkluc3RhbmNlLT5JU1IpICYgKChfX0lOVEVSUlVQVF9fKSA+PiA0VSkpICE9IDBVKSA/IDFVIDogMFUpCiAKIC8qKgotICAqIEBicmllZiAgQ2hlY2sgd2hldGhlciB0aGUgc3BlY2lmaWVkIFJUQyBUaW1lIFN0YW1wIGludGVycnVwdCBoYXMgYmVlbiBlbmFibGVkIG9yIG5vdC4KKyAgKiBAYnJpZWYgIENoZWNrIHdoZXRoZXIgdGhlIHNwZWNpZmllZCBSVEMgVGltZXN0YW1wIGludGVycnVwdCBoYXMgYmVlbiBlbmFibGVkIG9yIG5vdC4KICAgKiBAcGFyYW0gIF9fSEFORExFX18gc3BlY2lmaWVzIHRoZSBSVEMgaGFuZGxlLgotICAqIEBwYXJhbSAgX19JTlRFUlJVUFRfXyBzcGVjaWZpZXMgdGhlIFJUQyBUaW1lIFN0YW1wIGludGVycnVwdCBzb3VyY2UgdG8gY2hlY2suCisgICogQHBhcmFtICBfX0lOVEVSUlVQVF9fIHNwZWNpZmllcyB0aGUgUlRDIFRpbWVzdGFtcCBpbnRlcnJ1cHQgc291cmNlIHRvIGNoZWNrLgogICAqICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlOgogICAqICAgICAgICAgICAgQGFyZyBSVENfSVRfVFM6IFRpbWVTdGFtcCBpbnRlcnJ1cHQKICAgKiBAcmV0dmFsIE5vbmUKICAgKi8KLSNkZWZpbmUgX19IQUxfUlRDX1RJTUVTVEFNUF9HRVRfSVRfU09VUkNFKF9fSEFORExFX18sIF9fSU5URVJSVVBUX18pICAgICAoKCgoKF9fSEFORExFX18pLT5JbnN0YW5jZS0+Q1IpICYgKF9fSU5URVJSVVBUX18pKSAhPSBSRVNFVCkgPyBTRVQgOiBSRVNFVCkKKyNkZWZpbmUgX19IQUxfUlRDX1RJTUVTVEFNUF9HRVRfSVRfU09VUkNFKF9fSEFORExFX18sIF9fSU5URVJSVVBUX18pICAgICAoKCgoKF9fSEFORExFX18pLT5JbnN0YW5jZS0+Q1IpICYgKF9fSU5URVJSVVBUX18pKSAhPSAwVSkgPyAxVSA6IDBVKQogCiAvKioKLSAgKiBAYnJpZWYgIEdldCB0aGUgc2VsZWN0ZWQgUlRDIFRpbWVTdGFtcCdzIGZsYWcgc3RhdHVzLgorICAqIEBicmllZiAgR2V0IHRoZSBzZWxlY3RlZCBSVEMgVGltZXN0YW1wJ3MgZmxhZyBzdGF0dXMuCiAgICogQHBhcmFtICBfX0hBTkRMRV9fIHNwZWNpZmllcyB0aGUgUlRDIGhhbmRsZS4KLSAgKiBAcGFyYW0gIF9fRkxBR19fIHNwZWNpZmllcyB0aGUgUlRDIFRpbWVTdGFtcCBmbGFnIHRvIGNoZWNrLgorICAqIEBwYXJhbSAgX19GTEFHX18gc3BlY2lmaWVzIHRoZSBSVEMgVGltZXN0YW1wIGZsYWcgdG8gY2hlY2suCiAgICogICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmU6Ci0gICogICAgICAgICAgICBAYXJnIFJUQ19GTEFHX1RTRiAgIAotICAqICAgICAgICAgICAgQGFyZyBSVENfRkxBR19UU09WRiAgICAgCisgICogICAgICAgICAgICBAYXJnIFJUQ19GTEFHX1RTRjogVGltZXN0YW1wIGludGVycnVwdCBmbGFnCisgICogICAgICAgICAgICBAYXJnIFJUQ19GTEFHX1RTT1ZGOiBUaW1lc3RhbXAgb3ZlcmZsb3cgZmxhZwogICAqIEByZXR2YWwgTm9uZQogICAqLwotI2RlZmluZSBfX0hBTF9SVENfVElNRVNUQU1QX0dFVF9GTEFHKF9fSEFORExFX18sIF9fRkxBR19fKSAgICAgICAgICAgICgoKCgoX19IQU5ETEVfXyktPkluc3RhbmNlLT5JU1IpICYgKF9fRkxBR19fKSkgIT0gUkVTRVQpPyBTRVQgOiBSRVNFVCkKKyNkZWZpbmUgX19IQUxfUlRDX1RJTUVTVEFNUF9HRVRfRkxBRyhfX0hBTkRMRV9fLCBfX0ZMQUdfXykgICAgICAgICAgICAoKCgoKF9fSEFORExFX18pLT5JbnN0YW5jZS0+SVNSKSAmIChfX0ZMQUdfXykpICE9IDBVKT8gMVUgOiAwVSkKIAogLyoqCi0gICogQGJyaWVmICBDbGVhciB0aGUgUlRDIFRpbWUgU3RhbXAncyBwZW5kaW5nIGZsYWdzLgorICAqIEBicmllZiAgQ2xlYXIgdGhlIFJUQyBUaW1lc3RhbXAncyBwZW5kaW5nIGZsYWdzLgogICAqIEBwYXJhbSAgX19IQU5ETEVfXyBzcGVjaWZpZXMgdGhlIFJUQyBoYW5kbGUuCi0gICogQHBhcmFtICBfX0ZMQUdfXyBzcGVjaWZpZXMgdGhlIFJUQyBBbGFybSBGbGFnIHNvdXJjZXMgdG8gYmUgZW5hYmxlZCBvciBkaXNhYmxlZC4KLSAgKiAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmU6Ci0gICogICAgICAgICAgICAgQGFyZyBSVENfRkxBR19UU0YgIAorICAqIEBwYXJhbSAgX19GTEFHX18gc3BlY2lmaWVzIHRoZSBSVEMgVGltZXN0YW1wIGZsYWcgdG8gY2xlYXIuCisgICogICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmU6CisgICogICAgICAgICAgICBAYXJnIFJUQ19GTEFHX1RTRjogVGltZXN0YW1wIGludGVycnVwdCBmbGFnCisgICogICAgICAgICAgICBAYXJnIFJUQ19GTEFHX1RTT1ZGOiBUaW1lc3RhbXAgb3ZlcmZsb3cgZmxhZwogICAqIEByZXR2YWwgTm9uZQogICAqLwogI2RlZmluZSBfX0hBTF9SVENfVElNRVNUQU1QX0NMRUFSX0ZMQUcoX19IQU5ETEVfXywgX19GTEFHX18pICAgICAgICAgICgoX19IQU5ETEVfXyktPkluc3RhbmNlLT5JU1IpID0gKH4oKF9fRkxBR19fKSB8IFJUQ19JU1JfSU5JVCl8KChfX0hBTkRMRV9fKS0+SW5zdGFuY2UtPklTUiAmIFJUQ19JU1JfSU5JVCkpCkBAIC01NjEsNyArNTgwLDggQEAKICAgKi8KIAogLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tVEFNUEVSLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KLS8qKiBAZGVmZ3JvdXAgUlRDRXhfVGFtcGVyIFJUQyBUYW1wZXIKKworLyoqIEBkZWZncm91cCBSVENFeF9UYW1wZXIgUlRDRXggVGFtcGVyCiAgICogQHsKICAgKi8KIApAQCAtNTc4LDggKzU5OCw4IEBACiAgICogQHJldHZhbCBOb25lCiAgICovCiAjZGVmaW5lIF9fSEFMX1JUQ19UQU1QRVIxX0RJU0FCTEUoX19IQU5ETEVfXykgICAgICAgICAgICAgICAgICAgICAgICAoKF9fSEFORExFX18pLT5JbnN0YW5jZS0+VEFGQ1IgJj0gfihSVENfVEFGQ1JfVEFNUDFFKSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKLSNpZiAhZGVmaW5lZChTVE0zMkY0MTJaeCkgJiYgIWRlZmluZWQoU1RNMzJGNDEyVngpICYmICFkZWZpbmVkKFNUTTMyRjQxMlJ4KSAmJiAhZGVmaW5lZChTVE0zMkY0MTJDeCkgJiYgIWRlZmluZWQoU1RNMzJGNDEzeHgpICYmICFkZWZpbmVkKFNUTTMyRjQyM3h4KQorCisjaWYgZGVmaW5lZChSVENfVEFNUEVSMl9TVVBQT1JUKQogLyoqCiAgICogQGJyaWVmICBFbmFibGUgdGhlIFJUQyBUYW1wZXIyIGlucHV0IGRldGVjdGlvbi4KICAgKiBAcGFyYW0gIF9fSEFORExFX18gc3BlY2lmaWVzIHRoZSBSVEMgaGFuZGxlLgpAQCAtNTkzLDQ3ICs2MTMsNzAgQEAKICAgKiBAcmV0dmFsIE5vbmUKICAgKi8KICNkZWZpbmUgX19IQUxfUlRDX1RBTVBFUjJfRElTQUJMRShfX0hBTkRMRV9fKSAgICAgICAgICAgICAgICAgICAgICAgICgoX19IQU5ETEVfXyktPkluc3RhbmNlLT5UQUZDUiAmPSB+KFJUQ19UQUZDUl9UQU1QMkUpKQotI2VuZGlmCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisjZW5kaWYgLyogUlRDX1RBTVBFUjJfU1VQUE9SVCAqLworCisvKioKKyAgKiBAYnJpZWYgIEVuYWJsZSB0aGUgUlRDIFRhbXBlciBpbnRlcnJ1cHQuCisgICogQHBhcmFtICBfX0hBTkRMRV9fIHNwZWNpZmllcyB0aGUgUlRDIGhhbmRsZS4KKyAgKiBAcGFyYW0gIF9fSU5URVJSVVBUX18gc3BlY2lmaWVzIHRoZSBSVEMgVGFtcGVyIGludGVycnVwdCBzb3VyY2VzIHRvIGJlIGVuYWJsZWQuCisgICogICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGFueSBjb21iaW5hdGlvbiBvZiB0aGUgZm9sbG93aW5nIHZhbHVlczoKKyAgKiAgICAgICAgICAgIEBhcmcgUlRDX0lUX1RBTVA6IFRhbXBlciBnbG9iYWwgaW50ZXJydXB0CisgICogQHJldHZhbCBOb25lCisgICovCisjZGVmaW5lIF9fSEFMX1JUQ19UQU1QRVJfRU5BQkxFX0lUKF9fSEFORExFX18sIF9fSU5URVJSVVBUX18pICAgICAgICAoKF9fSEFORExFX18pLT5JbnN0YW5jZS0+VEFGQ1IgfD0gKF9fSU5URVJSVVBUX18pKQorCisvKioKKyAgKiBAYnJpZWYgIERpc2FibGUgdGhlIFJUQyBUYW1wZXIgaW50ZXJydXB0LgorICAqIEBwYXJhbSAgX19IQU5ETEVfXyBzcGVjaWZpZXMgdGhlIFJUQyBoYW5kbGUuCisgICogQHBhcmFtICBfX0lOVEVSUlVQVF9fIHNwZWNpZmllcyB0aGUgUlRDIFRhbXBlciBpbnRlcnJ1cHQgc291cmNlcyB0byBiZSBkaXNhYmxlZC4KKyAgKiAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhbnkgY29tYmluYXRpb24gb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXM6CisgICogICAgICAgICAgICBAYXJnIFJUQ19JVF9UQU1QOiBUYW1wZXIgZ2xvYmFsIGludGVycnVwdAorICAqIEByZXR2YWwgTm9uZQorICAqLworI2RlZmluZSBfX0hBTF9SVENfVEFNUEVSX0RJU0FCTEVfSVQoX19IQU5ETEVfXywgX19JTlRFUlJVUFRfXykgICAgICAgKChfX0hBTkRMRV9fKS0+SW5zdGFuY2UtPlRBRkNSICY9IH4oX19JTlRFUlJVUFRfXykpCisKIC8qKgogICAqIEBicmllZiAgQ2hlY2sgd2hldGhlciB0aGUgc3BlY2lmaWVkIFJUQyBUYW1wZXIgaW50ZXJydXB0IGhhcyBvY2N1cnJlZCBvciBub3QuCiAgICogQHBhcmFtICBfX0hBTkRMRV9fIHNwZWNpZmllcyB0aGUgUlRDIGhhbmRsZS4KICAgKiBAcGFyYW0gIF9fSU5URVJSVVBUX18gc3BlY2lmaWVzIHRoZSBSVEMgVGFtcGVyIGludGVycnVwdCB0byBjaGVjay4KICAgKiAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZToKLSAgKiAgICAgICAgICAgIEBhcmcgIFJUQ19JVF9UQU1QMQotICAqICAgICAgICAgICAgQGFyZyAgUlRDX0lUX1RBTVAyCisgICogICAgICAgICAgICBAYXJnIFJUQ19JVF9UQU1QMTogVGFtcGVyIDEgaW50ZXJydXB0CisgICogICAgICAgICAgICBAYXJnIFJUQ19JVF9UQU1QMjogVGFtcGVyIDIgaW50ZXJydXB0CisgICogQG5vdGUgICBSVENfSVRfVEFNUDIgaXMgbm90IGFwcGxpY2FibGUgdG8gYWxsIGRldmljZXMuCiAgICogQHJldHZhbCBOb25lCiAgICovCi0jZGVmaW5lIF9fSEFMX1JUQ19UQU1QRVJfR0VUX0lUKF9fSEFORExFX18sIF9fSU5URVJSVVBUX18pICAgICAgICgoKCgoX19IQU5ETEVfXyktPkluc3RhbmNlLT5JU1IpICYgKChfX0lOVEVSUlVQVF9fKT4+IDRVKSkgIT0gUkVTRVQpPyBTRVQgOiBSRVNFVCkKKyNkZWZpbmUgX19IQUxfUlRDX1RBTVBFUl9HRVRfSVQoX19IQU5ETEVfXywgX19JTlRFUlJVUFRfXykgICAgICAgKCgoKChfX0hBTkRMRV9fKS0+SW5zdGFuY2UtPklTUikgJiAoKF9fSU5URVJSVVBUX18pID4+IDRVKSkgIT0gMFUpID8gMVUgOiAwVSkKIAogLyoqCiAgICogQGJyaWVmICBDaGVjayB3aGV0aGVyIHRoZSBzcGVjaWZpZWQgUlRDIFRhbXBlciBpbnRlcnJ1cHQgaGFzIGJlZW4gZW5hYmxlZCBvciBub3QuCiAgICogQHBhcmFtICBfX0hBTkRMRV9fIHNwZWNpZmllcyB0aGUgUlRDIGhhbmRsZS4KICAgKiBAcGFyYW0gIF9fSU5URVJSVVBUX18gc3BlY2lmaWVzIHRoZSBSVEMgVGFtcGVyIGludGVycnVwdCBzb3VyY2UgdG8gY2hlY2suCiAgICogICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmU6Ci0gICogICAgICAgICAgICBAYXJnIFJUQ19JVF9UQU1QOiBUYW1wZXIgaW50ZXJydXB0CisgICogICAgICAgICAgICBAYXJnIFJUQ19JVF9UQU1QOiBUYW1wZXIgZ2xvYmFsIGludGVycnVwdAogICAqIEByZXR2YWwgTm9uZQogICAqLwotI2RlZmluZSBfX0hBTF9SVENfVEFNUEVSX0dFVF9JVF9TT1VSQ0UoX19IQU5ETEVfXywgX19JTlRFUlJVUFRfXykgICAgICgoKCgoX19IQU5ETEVfXyktPkluc3RhbmNlLT5UQUZDUikgJiAoX19JTlRFUlJVUFRfXykpICE9IFJFU0VUKSA/IFNFVCA6IFJFU0VUKQorI2RlZmluZSBfX0hBTF9SVENfVEFNUEVSX0dFVF9JVF9TT1VSQ0UoX19IQU5ETEVfXywgX19JTlRFUlJVUFRfXykgICAgICgoKCgoX19IQU5ETEVfXyktPkluc3RhbmNlLT5UQUZDUikgJiAoX19JTlRFUlJVUFRfXykpICE9IDBVKSA/IDFVIDogMFUpCiAKIC8qKgogICAqIEBicmllZiAgR2V0IHRoZSBzZWxlY3RlZCBSVEMgVGFtcGVyJ3MgZmxhZyBzdGF0dXMuCiAgICogQHBhcmFtICBfX0hBTkRMRV9fIHNwZWNpZmllcyB0aGUgUlRDIGhhbmRsZS4KLSAgKiBAcGFyYW0gIF9fRkxBR19fIHNwZWNpZmllcyB0aGUgUlRDIFRhbXBlciBGbGFnIHNvdXJjZXMgdG8gYmUgZW5hYmxlZCBvciBkaXNhYmxlZC4KKyAgKiBAcGFyYW0gIF9fRkxBR19fIHNwZWNpZmllcyB0aGUgUlRDIFRhbXBlciBmbGFnIHRvIGJlIGNoZWNrZWQuCiAgICogICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlOgotICAqICAgICAgICAgICAgIEBhcmcgUlRDX0ZMQUdfVEFNUDFGIAotICAqICAgICAgICAgICAgIEBhcmcgUlRDX0ZMQUdfVEFNUDJGICAKKyAgKiAgICAgICAgICAgICBAYXJnIFJUQ19GTEFHX1RBTVAxRjogVGFtcGVyIDEgaW50ZXJydXB0IGZsYWcKKyAgKiAgICAgICAgICAgICBAYXJnIFJUQ19GTEFHX1RBTVAyRjogVGFtcGVyIDIgaW50ZXJydXB0IGZsYWcKKyAgKiBAbm90ZSAgIFJUQ19GTEFHX1RBTVAyRiBpcyBub3QgYXBwbGljYWJsZSB0byBhbGwgZGV2aWNlcy4KICAgKiBAcmV0dmFsIE5vbmUKICAgKi8KLSNkZWZpbmUgX19IQUxfUlRDX1RBTVBFUl9HRVRfRkxBRyhfX0hBTkRMRV9fLCBfX0ZMQUdfXykgICAgICAgICAgICAgICAoKCgoKF9fSEFORExFX18pLT5JbnN0YW5jZS0+SVNSKSAmIChfX0ZMQUdfXykpICE9IFJFU0VUKT8gU0VUIDogUkVTRVQpCisjZGVmaW5lIF9fSEFMX1JUQ19UQU1QRVJfR0VUX0ZMQUcoX19IQU5ETEVfXywgX19GTEFHX18pICAgICAgICAgICAgICAgKCgoKChfX0hBTkRMRV9fKS0+SW5zdGFuY2UtPklTUikgJiAoX19GTEFHX18pKSAhPSAwVSk/IDFVIDogMFUpCiAKIC8qKgogICAqIEBicmllZiAgQ2xlYXIgdGhlIFJUQyBUYW1wZXIncyBwZW5kaW5nIGZsYWdzLgogICAqIEBwYXJhbSAgX19IQU5ETEVfXyBzcGVjaWZpZXMgdGhlIFJUQyBoYW5kbGUuCiAgICogQHBhcmFtICBfX0ZMQUdfXyBzcGVjaWZpZXMgdGhlIFJUQyBUYW1wZXIgRmxhZyB0byBjbGVhci4KICAgKiAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmU6Ci0gICogICAgICAgICAgICAgQGFyZyBSVENfRkxBR19UQU1QMUYKLSAgKiAgICAgICAgICAgICBAYXJnIFJUQ19GTEFHX1RBTVAyRiAKKyAgKiAgICAgICAgICAgICBAYXJnIFJUQ19GTEFHX1RBTVAxRjogVGFtcGVyIDEgaW50ZXJydXB0IGZsYWcKKyAgKiAgICAgICAgICAgICBAYXJnIFJUQ19GTEFHX1RBTVAyRjogVGFtcGVyIDIgaW50ZXJydXB0IGZsYWcKKyAgKiBAbm90ZSAgIFJUQ19GTEFHX1RBTVAyRiBpcyBub3QgYXBwbGljYWJsZSB0byBhbGwgZGV2aWNlcy4KICAgKiBAcmV0dmFsIE5vbmUKICAgKi8KICNkZWZpbmUgX19IQUxfUlRDX1RBTVBFUl9DTEVBUl9GTEFHKF9fSEFORExFX18sIF9fRkxBR19fKSAgICAgICAgICgoX19IQU5ETEVfXyktPkluc3RhbmNlLT5JU1IpID0gKH4oKF9fRkxBR19fKSB8IFJUQ19JU1JfSU5JVCl8KChfX0hBTkRMRV9fKS0+SW5zdGFuY2UtPklTUiAmIFJUQ19JU1JfSU5JVCkpCkBAIC02NDcsODQgKzY5MCw4NiBAQAogICAqLwogCiAvKioKLSAgKiBAYnJpZWYgIEVuYWJsZSBpbnRlcnJ1cHQgb24gdGhlIFJUQyBUYW1wZXIgYW5kIFRpbWVzdGFtcCBhc3NvY2lhdGVkIEV4dGkgbGluZS4KKyAgKiBAYnJpZWYgIEVuYWJsZSBpbnRlcnJ1cHQgb24gdGhlIFJUQyBUYW1wZXIgYW5kIFRpbWVzdGFtcCBhc3NvY2lhdGVkIEVYVEkgbGluZS4KICAgKiBAcmV0dmFsIE5vbmUKICAgKi8KICNkZWZpbmUgX19IQUxfUlRDX1RBTVBFUl9USU1FU1RBTVBfRVhUSV9FTkFCTEVfSVQoKSAgICAgICAgKEVYVEktPklNUiB8PSBSVENfRVhUSV9MSU5FX1RBTVBFUl9USU1FU1RBTVBfRVZFTlQpCiAKIC8qKgotICAqIEBicmllZiAgRGlzYWJsZSBpbnRlcnJ1cHQgb24gdGhlIFJUQyBUYW1wZXIgYW5kIFRpbWVzdGFtcCBhc3NvY2lhdGVkIEV4dGkgbGluZS4KKyAgKiBAYnJpZWYgIERpc2FibGUgaW50ZXJydXB0IG9uIHRoZSBSVEMgVGFtcGVyIGFuZCBUaW1lc3RhbXAgYXNzb2NpYXRlZCBFWFRJIGxpbmUuCiAgICogQHJldHZhbCBOb25lCiAgICovCi0jZGVmaW5lIF9fSEFMX1JUQ19UQU1QRVJfVElNRVNUQU1QX0VYVElfRElTQUJMRV9JVCgpICAgICAgIChFWFRJLT5JTVIgJj0gfihSVENfRVhUSV9MSU5FX1RBTVBFUl9USU1FU1RBTVBfRVZFTlQpKQorI2RlZmluZSBfX0hBTF9SVENfVEFNUEVSX1RJTUVTVEFNUF9FWFRJX0RJU0FCTEVfSVQoKSAgICAgICAoRVhUSS0+SU1SICY9IH5SVENfRVhUSV9MSU5FX1RBTVBFUl9USU1FU1RBTVBfRVZFTlQpCiAKIC8qKgotICAqIEBicmllZiAgRW5hYmxlIGV2ZW50IG9uIHRoZSBSVEMgVGFtcGVyIGFuZCBUaW1lc3RhbXAgYXNzb2NpYXRlZCBFeHRpIGxpbmUuCisgICogQGJyaWVmICBFbmFibGUgZXZlbnQgb24gdGhlIFJUQyBUYW1wZXIgYW5kIFRpbWVzdGFtcCBhc3NvY2lhdGVkIEVYVEkgbGluZS4KICAgKiBAcmV0dmFsIE5vbmUuCiAgICovCiAjZGVmaW5lIF9fSEFMX1JUQ19UQU1QRVJfVElNRVNUQU1QX0VYVElfRU5BQkxFX0VWRU5UKCkgICAgKEVYVEktPkVNUiB8PSBSVENfRVhUSV9MSU5FX1RBTVBFUl9USU1FU1RBTVBfRVZFTlQpCiAKIC8qKgotICAqIEBicmllZiAgRGlzYWJsZSBldmVudCBvbiB0aGUgUlRDIFRhbXBlciBhbmQgVGltZXN0YW1wIGFzc29jaWF0ZWQgRXh0aSBsaW5lLgorICAqIEBicmllZiAgRGlzYWJsZSBldmVudCBvbiB0aGUgUlRDIFRhbXBlciBhbmQgVGltZXN0YW1wIGFzc29jaWF0ZWQgRVhUSSBsaW5lLgogICAqIEByZXR2YWwgTm9uZS4KICAgKi8KLSNkZWZpbmUgX19IQUxfUlRDX1RBTVBFUl9USU1FU1RBTVBfRVhUSV9ESVNBQkxFX0VWRU5UKCkgICAoRVhUSS0+RU1SICY9IH4oUlRDX0VYVElfTElORV9UQU1QRVJfVElNRVNUQU1QX0VWRU5UKSkKKyNkZWZpbmUgX19IQUxfUlRDX1RBTVBFUl9USU1FU1RBTVBfRVhUSV9ESVNBQkxFX0VWRU5UKCkgICAoRVhUSS0+RU1SICY9IH5SVENfRVhUSV9MSU5FX1RBTVBFUl9USU1FU1RBTVBfRVZFTlQpCiAKIC8qKgotICAqIEBicmllZiAgRW5hYmxlIGZhbGxpbmcgZWRnZSB0cmlnZ2VyIG9uIHRoZSBSVEMgVGFtcGVyIGFuZCBUaW1lc3RhbXAgYXNzb2NpYXRlZCBFeHRpIGxpbmUuIAorICAqIEBicmllZiAgRW5hYmxlIGZhbGxpbmcgZWRnZSB0cmlnZ2VyIG9uIHRoZSBSVEMgVGFtcGVyIGFuZCBUaW1lc3RhbXAgYXNzb2NpYXRlZCBFWFRJIGxpbmUuCiAgICogQHJldHZhbCBOb25lLgogICAqLwogI2RlZmluZSBfX0hBTF9SVENfVEFNUEVSX1RJTUVTVEFNUF9FWFRJX0VOQUJMRV9GQUxMSU5HX0VER0UoKSAgIChFWFRJLT5GVFNSIHw9IFJUQ19FWFRJX0xJTkVfVEFNUEVSX1RJTUVTVEFNUF9FVkVOVCkKIAogLyoqCi0gICogQGJyaWVmICBEaXNhYmxlIGZhbGxpbmcgZWRnZSB0cmlnZ2VyIG9uIHRoZSBSVEMgVGFtcGVyIGFuZCBUaW1lc3RhbXAgYXNzb2NpYXRlZCBFeHRpIGxpbmUuCisgICogQGJyaWVmICBEaXNhYmxlIGZhbGxpbmcgZWRnZSB0cmlnZ2VyIG9uIHRoZSBSVEMgVGFtcGVyIGFuZCBUaW1lc3RhbXAgYXNzb2NpYXRlZCBFWFRJIGxpbmUuCiAgICogQHJldHZhbCBOb25lLgogICAqLwotI2RlZmluZSBfX0hBTF9SVENfVEFNUEVSX1RJTUVTVEFNUF9FWFRJX0RJU0FCTEVfRkFMTElOR19FREdFKCkgIChFWFRJLT5GVFNSICY9IH4oUlRDX0VYVElfTElORV9UQU1QRVJfVElNRVNUQU1QX0VWRU5UKSkKKyNkZWZpbmUgX19IQUxfUlRDX1RBTVBFUl9USU1FU1RBTVBfRVhUSV9ESVNBQkxFX0ZBTExJTkdfRURHRSgpICAoRVhUSS0+RlRTUiAmPSB+UlRDX0VYVElfTElORV9UQU1QRVJfVElNRVNUQU1QX0VWRU5UKQogCiAvKioKLSAgKiBAYnJpZWYgIEVuYWJsZSByaXNpbmcgZWRnZSB0cmlnZ2VyIG9uIHRoZSBSVEMgVGFtcGVyIGFuZCBUaW1lc3RhbXAgYXNzb2NpYXRlZCBFeHRpIGxpbmUuCisgICogQGJyaWVmICBFbmFibGUgcmlzaW5nIGVkZ2UgdHJpZ2dlciBvbiB0aGUgUlRDIFRhbXBlciBhbmQgVGltZXN0YW1wIGFzc29jaWF0ZWQgRVhUSSBsaW5lLgogICAqIEByZXR2YWwgTm9uZS4KICAgKi8KICNkZWZpbmUgX19IQUxfUlRDX1RBTVBFUl9USU1FU1RBTVBfRVhUSV9FTkFCTEVfUklTSU5HX0VER0UoKSAgICAoRVhUSS0+UlRTUiB8PSBSVENfRVhUSV9MSU5FX1RBTVBFUl9USU1FU1RBTVBfRVZFTlQpCiAKIC8qKgotICAqIEBicmllZiAgRGlzYWJsZSByaXNpbmcgZWRnZSB0cmlnZ2VyIG9uIHRoZSBSVEMgVGFtcGVyIGFuZCBUaW1lc3RhbXAgYXNzb2NpYXRlZCBFeHRpIGxpbmUuCisgICogQGJyaWVmICBEaXNhYmxlIHJpc2luZyBlZGdlIHRyaWdnZXIgb24gdGhlIFJUQyBUYW1wZXIgYW5kIFRpbWVzdGFtcCBhc3NvY2lhdGVkIEVYVEkgbGluZS4KICAgKiBAcmV0dmFsIE5vbmUuCiAgICovCi0jZGVmaW5lIF9fSEFMX1JUQ19UQU1QRVJfVElNRVNUQU1QX0VYVElfRElTQUJMRV9SSVNJTkdfRURHRSgpICAgKEVYVEktPlJUU1IgJj0gfihSVENfRVhUSV9MSU5FX1RBTVBFUl9USU1FU1RBTVBfRVZFTlQpKQorI2RlZmluZSBfX0hBTF9SVENfVEFNUEVSX1RJTUVTVEFNUF9FWFRJX0RJU0FCTEVfUklTSU5HX0VER0UoKSAgIChFWFRJLT5SVFNSICY9IH5SVENfRVhUSV9MSU5FX1RBTVBFUl9USU1FU1RBTVBfRVZFTlQpCiAKIC8qKgotICAqIEBicmllZiAgRW5hYmxlIHJpc2luZyAmIGZhbGxpbmcgZWRnZSB0cmlnZ2VyIG9uIHRoZSBSVEMgVGFtcGVyIGFuZCBUaW1lc3RhbXAgYXNzb2NpYXRlZCBFeHRpIGxpbmUuCisgICogQGJyaWVmICBFbmFibGUgcmlzaW5nICYgZmFsbGluZyBlZGdlIHRyaWdnZXIgb24gdGhlIFJUQyBUYW1wZXIgYW5kIFRpbWVzdGFtcCBhc3NvY2lhdGVkIEVYVEkgbGluZS4KICAgKiBAcmV0dmFsIE5vbmUuCiAgICovCi0jZGVmaW5lIF9fSEFMX1JUQ19UQU1QRVJfVElNRVNUQU1QX0VYVElfRU5BQkxFX1JJU0lOR19GQUxMSU5HX0VER0UoKSBkbyB7IF9fSEFMX1JUQ19UQU1QRVJfVElNRVNUQU1QX0VYVElfRU5BQkxFX1JJU0lOR19FREdFKCk7XAorI2RlZmluZSBfX0hBTF9SVENfVEFNUEVSX1RJTUVTVEFNUF9FWFRJX0VOQUJMRV9SSVNJTkdfRkFMTElOR19FREdFKCkgZG8geyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX0hBTF9SVENfVEFNUEVSX1RJTUVTVEFNUF9FWFRJX0VOQUJMRV9SSVNJTkdfRURHRSgpOyAgXAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX0hBTF9SVENfVEFNUEVSX1RJTUVTVEFNUF9FWFRJX0VOQUJMRV9GQUxMSU5HX0VER0UoKTsgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSB3aGlsZSgwVSkgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSB3aGlsZSgwVSkKIAogLyoqCi0gICogQGJyaWVmICBEaXNhYmxlIHJpc2luZyAmIGZhbGxpbmcgZWRnZSB0cmlnZ2VyIG9uIHRoZSBSVEMgVGFtcGVyIGFuZCBUaW1lc3RhbXAgYXNzb2NpYXRlZCBFeHRpIGxpbmUuCisgICogQGJyaWVmICBEaXNhYmxlIHJpc2luZyAmIGZhbGxpbmcgZWRnZSB0cmlnZ2VyIG9uIHRoZSBSVEMgVGFtcGVyIGFuZCBUaW1lc3RhbXAgYXNzb2NpYXRlZCBFWFRJIGxpbmUuCiAgICogVGhpcyBwYXJhbWV0ZXIgY2FuIGJlOgogICAqIEByZXR2YWwgTm9uZS4KICAgKi8KLSNkZWZpbmUgX19IQUxfUlRDX1RBTVBFUl9USU1FU1RBTVBfRVhUSV9ESVNBQkxFX1JJU0lOR19GQUxMSU5HX0VER0UoKSBkbyB7IF9fSEFMX1JUQ19UQU1QRVJfVElNRVNUQU1QX0VYVElfRElTQUJMRV9SSVNJTkdfRURHRSgpO1wKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fSEFMX1JUQ19UQU1QRVJfVElNRVNUQU1QX0VYVElfRElTQUJMRV9GQUxMSU5HX0VER0UoKTtcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSB3aGlsZSgwVSkgIAorI2RlZmluZSBfX0hBTF9SVENfVEFNUEVSX1RJTUVTVEFNUF9FWFRJX0RJU0FCTEVfUklTSU5HX0ZBTExJTkdfRURHRSgpIGRvIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX0hBTF9SVENfVEFNUEVSX1RJTUVTVEFNUF9FWFRJX0RJU0FCTEVfUklTSU5HX0VER0UoKTsgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fSEFMX1JUQ19UQU1QRVJfVElNRVNUQU1QX0VYVElfRElTQUJMRV9GQUxMSU5HX0VER0UoKTsgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gd2hpbGUoMFUpCiAKIC8qKgotICAqIEBicmllZiBDaGVjayB3aGV0aGVyIHRoZSBSVEMgVGFtcGVyIGFuZCBUaW1lc3RhbXAgYXNzb2NpYXRlZCBFeHRpIGxpbmUgaW50ZXJydXB0IGZsYWcgaXMgc2V0IG9yIG5vdC4KKyAgKiBAYnJpZWYgQ2hlY2sgd2hldGhlciB0aGUgUlRDIFRhbXBlciBhbmQgVGltZXN0YW1wIGFzc29jaWF0ZWQgRVhUSSBsaW5lIGludGVycnVwdCBmbGFnIGlzIHNldCBvciBub3QuCiAgICogQHJldHZhbCBMaW5lIFN0YXR1cy4KICAgKi8KICNkZWZpbmUgX19IQUxfUlRDX1RBTVBFUl9USU1FU1RBTVBfRVhUSV9HRVRfRkxBRygpICAgICAgICAgKEVYVEktPlBSICYgUlRDX0VYVElfTElORV9UQU1QRVJfVElNRVNUQU1QX0VWRU5UKQogCiAvKioKLSAgKiBAYnJpZWYgQ2xlYXIgdGhlIFJUQyBUYW1wZXIgYW5kIFRpbWVzdGFtcCBhc3NvY2lhdGVkIEV4dGkgbGluZSBmbGFnLgorICAqIEBicmllZiBDbGVhciB0aGUgUlRDIFRhbXBlciBhbmQgVGltZXN0YW1wIGFzc29jaWF0ZWQgRVhUSSBsaW5lIGZsYWcuCiAgICogQHJldHZhbCBOb25lLgogICAqLwogI2RlZmluZSBfX0hBTF9SVENfVEFNUEVSX1RJTUVTVEFNUF9FWFRJX0NMRUFSX0ZMQUcoKSAgICAgICAoRVhUSS0+UFIgPSBSVENfRVhUSV9MSU5FX1RBTVBFUl9USU1FU1RBTVBfRVZFTlQpCiAKIC8qKgotICAqIEBicmllZiBHZW5lcmF0ZSBhIFNvZnR3YXJlIGludGVycnVwdCBvbiB0aGUgUlRDIFRhbXBlciBhbmQgVGltZXN0YW1wIGFzc29jaWF0ZWQgRXh0aSBsaW5lCisgICogQGJyaWVmIEdlbmVyYXRlIGEgU29mdHdhcmUgaW50ZXJydXB0IG9uIHRoZSBSVEMgVGFtcGVyIGFuZCBUaW1lc3RhbXAgYXNzb2NpYXRlZCBFWFRJIGxpbmUKICAgKiBAcmV0dmFsIE5vbmUuCiAgICovCiAjZGVmaW5lIF9fSEFMX1JUQ19UQU1QRVJfVElNRVNUQU1QX0VYVElfR0VORVJBVEVfU1dJVCgpICAgIChFWFRJLT5TV0lFUiB8PSBSVENfRVhUSV9MSU5FX1RBTVBFUl9USU1FU1RBTVBfRVZFTlQpCkBAIC03MzIsOCArNzc3LDkgQEAKICAgKiBAfQogICAqLwogCi0vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1DYWxpYnJhdGlvbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwotLyoqIEBkZWZncm91cCBSVENFeF9DYWxpYnJhdGlvbiBSVEMgQ2FsaWJyYXRpb24KKy8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLUNBTElCUkFUSU9OLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKy8qKiBAZGVmZ3JvdXAgUlRDRXhfQ2FsaWJyYXRpb24gUlRDRXggQ2FsaWJyYXRpb24KICAgKiBAewogICAqLwogCkBAIC03ODQsMTAgKzgzMCwxMCBAQAogICAqIEBwYXJhbSAgX19IQU5ETEVfXyBzcGVjaWZpZXMgdGhlIFJUQyBoYW5kbGUuCiAgICogQHBhcmFtICBfX0ZMQUdfXyBzcGVjaWZpZXMgdGhlIFJUQyBzaGlmdCBvcGVyYXRpb24gRmxhZyBpcyBwZW5kaW5nIG9yIG5vdC4KICAgKiAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmU6Ci0gICogICAgICAgICAgICAgQGFyZyBSVENfRkxBR19TSFBGICAgCisgICogICAgICAgICAgICAgQGFyZyBSVENfRkxBR19TSFBGOiBTaGlmdCBwZW5kaW5nIGZsYWcKICAgKiBAcmV0dmFsIE5vbmUKICAgKi8KLSNkZWZpbmUgX19IQUxfUlRDX1NISUZUX0dFVF9GTEFHKF9fSEFORExFX18sIF9fRkxBR19fKSAgICAgICAgICAgICAgICAoKCgoKF9fSEFORExFX18pLT5JbnN0YW5jZS0+SVNSKSAmIChfX0ZMQUdfXykpICE9IFJFU0VUKT8gU0VUIDogUkVTRVQpCisjZGVmaW5lIF9fSEFMX1JUQ19TSElGVF9HRVRfRkxBRyhfX0hBTkRMRV9fLCBfX0ZMQUdfXykgICAgICAgICAgICAgICAgKCgoKChfX0hBTkRMRV9fKS0+SW5zdGFuY2UtPklTUikgJiAoX19GTEFHX18pKSAhPSAwVSk/IDFVIDogMFUpCiAvKioKICAgKiBAfQogICAqLwpAQCAtNzk3LDYgKzg0Myw3IEBACiAgICovCiAKIC8qIEV4cG9ydGVkIGZ1bmN0aW9ucyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKIC8qKiBAZGVmZ3JvdXAgUlRDRXhfRXhwb3J0ZWRfRnVuY3Rpb25zIFJUQ0V4IEV4cG9ydGVkIEZ1bmN0aW9ucwogICAqIEB7CiAgICovCkBAIC04MDQsMjMgKzg1MSwyNyBAQAogLyoqIEBhZGR0b2dyb3VwIFJUQ0V4X0V4cG9ydGVkX0Z1bmN0aW9uc19Hcm91cDEKICAgKiBAewogICAqLwotLyogUlRDIFRpbWVTdGFtcCBhbmQgVGFtcGVyIGZ1bmN0aW9ucyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KLUhBTF9TdGF0dXNUeXBlRGVmIEhBTF9SVENFeF9TZXRUaW1lU3RhbXAoUlRDX0hhbmRsZVR5cGVEZWYgKmhydGMsIHVpbnQzMl90IFRpbWVTdGFtcEVkZ2UsIHVpbnQzMl90IFJUQ19UaW1lU3RhbXBQaW4pOwotSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1JUQ0V4X1NldFRpbWVTdGFtcF9JVChSVENfSGFuZGxlVHlwZURlZiAqaHJ0YywgdWludDMyX3QgVGltZVN0YW1wRWRnZSwgdWludDMyX3QgUlRDX1RpbWVTdGFtcFBpbik7CisvKiBSVEMgVGltZXN0YW1wIGFuZCBUYW1wZXIgZnVuY3Rpb25zICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1JUQ0V4X1NldFRpbWVTdGFtcChSVENfSGFuZGxlVHlwZURlZiAqaHJ0YywgdWludDMyX3QgUlRDX1RpbWVTdGFtcEVkZ2UsIHVpbnQzMl90IFJUQ19UaW1lU3RhbXBQaW4pOworSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1JUQ0V4X1NldFRpbWVTdGFtcF9JVChSVENfSGFuZGxlVHlwZURlZiAqaHJ0YywgdWludDMyX3QgUlRDX1RpbWVTdGFtcEVkZ2UsIHVpbnQzMl90IFJUQ19UaW1lU3RhbXBQaW4pOwogSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1JUQ0V4X0RlYWN0aXZhdGVUaW1lU3RhbXAoUlRDX0hhbmRsZVR5cGVEZWYgKmhydGMpOwogSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1JUQ0V4X0dldFRpbWVTdGFtcChSVENfSGFuZGxlVHlwZURlZiAqaHJ0YywgUlRDX1RpbWVUeXBlRGVmICpzVGltZVN0YW1wLCBSVENfRGF0ZVR5cGVEZWYgKnNUaW1lU3RhbXBEYXRlLCB1aW50MzJfdCBGb3JtYXQpOwogCi1IQUxfU3RhdHVzVHlwZURlZiBIQUxfUlRDRXhfU2V0VGFtcGVyKFJUQ19IYW5kbGVUeXBlRGVmICpocnRjLCBSVENfVGFtcGVyVHlwZURlZiogc1RhbXBlcik7Ci1IQUxfU3RhdHVzVHlwZURlZiBIQUxfUlRDRXhfU2V0VGFtcGVyX0lUKFJUQ19IYW5kbGVUeXBlRGVmICpocnRjLCBSVENfVGFtcGVyVHlwZURlZiogc1RhbXBlcik7CitIQUxfU3RhdHVzVHlwZURlZiBIQUxfUlRDRXhfU2V0VGFtcGVyKFJUQ19IYW5kbGVUeXBlRGVmICpocnRjLCBSVENfVGFtcGVyVHlwZURlZiAqc1RhbXBlcik7CitIQUxfU3RhdHVzVHlwZURlZiBIQUxfUlRDRXhfU2V0VGFtcGVyX0lUKFJUQ19IYW5kbGVUeXBlRGVmICpocnRjLCBSVENfVGFtcGVyVHlwZURlZiAqc1RhbXBlcik7CiBIQUxfU3RhdHVzVHlwZURlZiBIQUxfUlRDRXhfRGVhY3RpdmF0ZVRhbXBlcihSVENfSGFuZGxlVHlwZURlZiAqaHJ0YywgdWludDMyX3QgVGFtcGVyKTsKLXZvaWQgSEFMX1JUQ0V4X1RhbXBlclRpbWVTdGFtcElSUUhhbmRsZXIoUlRDX0hhbmRsZVR5cGVEZWYgKmhydGMpOwordm9pZCAgICAgICAgICAgICAgSEFMX1JUQ0V4X1RhbXBlclRpbWVTdGFtcElSUUhhbmRsZXIoUlRDX0hhbmRsZVR5cGVEZWYgKmhydGMpOwogCi12b2lkIEhBTF9SVENFeF9UYW1wZXIxRXZlbnRDYWxsYmFjayhSVENfSGFuZGxlVHlwZURlZiAqaHJ0Yyk7Ci12b2lkIEhBTF9SVENFeF9UYW1wZXIyRXZlbnRDYWxsYmFjayhSVENfSGFuZGxlVHlwZURlZiAqaHJ0Yyk7Ci12b2lkIEhBTF9SVENFeF9UaW1lU3RhbXBFdmVudENhbGxiYWNrKFJUQ19IYW5kbGVUeXBlRGVmICpocnRjKTsKK3ZvaWQgICAgICAgICAgICAgIEhBTF9SVENFeF9UYW1wZXIxRXZlbnRDYWxsYmFjayhSVENfSGFuZGxlVHlwZURlZiAqaHJ0Yyk7CisjaWYgZGVmaW5lZChSVENfVEFNUEVSMl9TVVBQT1JUKQordm9pZCAgICAgICAgICAgICAgSEFMX1JUQ0V4X1RhbXBlcjJFdmVudENhbGxiYWNrKFJUQ19IYW5kbGVUeXBlRGVmICpocnRjKTsKKyNlbmRpZiAvKiBSVENfVEFNUEVSMl9TVVBQT1JUICovCit2b2lkICAgICAgICAgICAgICBIQUxfUlRDRXhfVGltZVN0YW1wRXZlbnRDYWxsYmFjayhSVENfSGFuZGxlVHlwZURlZiAqaHJ0Yyk7CiBIQUxfU3RhdHVzVHlwZURlZiBIQUxfUlRDRXhfUG9sbEZvclRpbWVTdGFtcEV2ZW50KFJUQ19IYW5kbGVUeXBlRGVmICpocnRjLCB1aW50MzJfdCBUaW1lb3V0KTsKIEhBTF9TdGF0dXNUeXBlRGVmIEhBTF9SVENFeF9Qb2xsRm9yVGFtcGVyMUV2ZW50KFJUQ19IYW5kbGVUeXBlRGVmICpocnRjLCB1aW50MzJfdCBUaW1lb3V0KTsKKyNpZiBkZWZpbmVkKFJUQ19UQU1QRVIyX1NVUFBPUlQpCiBIQUxfU3RhdHVzVHlwZURlZiBIQUxfUlRDRXhfUG9sbEZvclRhbXBlcjJFdmVudChSVENfSGFuZGxlVHlwZURlZiAqaHJ0YywgdWludDMyX3QgVGltZW91dCk7CisjZW5kaWYgLyogUlRDX1RBTVBFUjJfU1VQUE9SVCAqLwogLyoqCiAgICogQH0KICAgKi8KQEAgLTgyOCwxMyArODc5LDEzIEBACiAvKiogQGFkZHRvZ3JvdXAgUlRDRXhfRXhwb3J0ZWRfRnVuY3Rpb25zX0dyb3VwMgogICAqIEB7CiAgICovCi0vKiBSVEMgV2FrZS11cCBmdW5jdGlvbnMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyogUlRDIFdha2V1cCBmdW5jdGlvbnMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwogSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1JUQ0V4X1NldFdha2VVcFRpbWVyKFJUQ19IYW5kbGVUeXBlRGVmICpocnRjLCB1aW50MzJfdCBXYWtlVXBDb3VudGVyLCB1aW50MzJfdCBXYWtlVXBDbG9jayk7CiBIQUxfU3RhdHVzVHlwZURlZiBIQUxfUlRDRXhfU2V0V2FrZVVwVGltZXJfSVQoUlRDX0hhbmRsZVR5cGVEZWYgKmhydGMsIHVpbnQzMl90IFdha2VVcENvdW50ZXIsIHVpbnQzMl90IFdha2VVcENsb2NrKTsKLXVpbnQzMl90IEhBTF9SVENFeF9EZWFjdGl2YXRlV2FrZVVwVGltZXIoUlRDX0hhbmRsZVR5cGVEZWYgKmhydGMpOwotdWludDMyX3QgSEFMX1JUQ0V4X0dldFdha2VVcFRpbWVyKFJUQ19IYW5kbGVUeXBlRGVmICpocnRjKTsKLXZvaWQgSEFMX1JUQ0V4X1dha2VVcFRpbWVySVJRSGFuZGxlcihSVENfSGFuZGxlVHlwZURlZiAqaHJ0Yyk7Ci12b2lkIEhBTF9SVENFeF9XYWtlVXBUaW1lckV2ZW50Q2FsbGJhY2soUlRDX0hhbmRsZVR5cGVEZWYgKmhydGMpOworSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1JUQ0V4X0RlYWN0aXZhdGVXYWtlVXBUaW1lcihSVENfSGFuZGxlVHlwZURlZiAqaHJ0Yyk7Cit1aW50MzJfdCAgICAgICAgICBIQUxfUlRDRXhfR2V0V2FrZVVwVGltZXIoUlRDX0hhbmRsZVR5cGVEZWYgKmhydGMpOwordm9pZCAgICAgICAgICAgICAgSEFMX1JUQ0V4X1dha2VVcFRpbWVySVJRSGFuZGxlcihSVENfSGFuZGxlVHlwZURlZiAqaHJ0Yyk7Cit2b2lkICAgICAgICAgICAgICBIQUxfUlRDRXhfV2FrZVVwVGltZXJFdmVudENhbGxiYWNrKFJUQ19IYW5kbGVUeXBlRGVmICpocnRjKTsKIEhBTF9TdGF0dXNUeXBlRGVmIEhBTF9SVENFeF9Qb2xsRm9yV2FrZVVwVGltZXJFdmVudChSVENfSGFuZGxlVHlwZURlZiAqaHJ0YywgdWludDMyX3QgVGltZW91dCk7CiAvKioKICAgKiBAfQpAQCAtODQzLDEzICs4OTQsMTMgQEAKIC8qKiBAYWRkdG9ncm91cCBSVENFeF9FeHBvcnRlZF9GdW5jdGlvbnNfR3JvdXAzCiAgICogQHsKICAgKi8KLS8qIEV4dGVuc2lvbiBDb250cm9sIGZ1bmN0aW9ucyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi12b2lkIEhBTF9SVENFeF9CS1VQV3JpdGUoUlRDX0hhbmRsZVR5cGVEZWYgKmhydGMsIHVpbnQzMl90IEJhY2t1cFJlZ2lzdGVyLCB1aW50MzJfdCBEYXRhKTsKLXVpbnQzMl90IEhBTF9SVENFeF9CS1VQUmVhZChSVENfSGFuZGxlVHlwZURlZiAqaHJ0YywgdWludDMyX3QgQmFja3VwUmVnaXN0ZXIpOworLyogRXh0ZW5kZWQgQ29udHJvbCBmdW5jdGlvbnMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwordm9pZCAgICAgICAgICAgICAgSEFMX1JUQ0V4X0JLVVBXcml0ZShSVENfSGFuZGxlVHlwZURlZiAqaHJ0YywgdWludDMyX3QgQmFja3VwUmVnaXN0ZXIsIHVpbnQzMl90IERhdGEpOwordWludDMyX3QgICAgICAgICAgSEFMX1JUQ0V4X0JLVVBSZWFkKFJUQ19IYW5kbGVUeXBlRGVmICpocnRjLCB1aW50MzJfdCBCYWNrdXBSZWdpc3Rlcik7CiAKIEhBTF9TdGF0dXNUeXBlRGVmIEhBTF9SVENFeF9TZXRDb2Fyc2VDYWxpYihSVENfSGFuZGxlVHlwZURlZiAqaHJ0YywgdWludDMyX3QgQ2FsaWJTaWduLCB1aW50MzJfdCBWYWx1ZSk7CiBIQUxfU3RhdHVzVHlwZURlZiBIQUxfUlRDRXhfRGVhY3RpdmF0ZUNvYXJzZUNhbGliKFJUQ19IYW5kbGVUeXBlRGVmICpocnRjKTsKLUhBTF9TdGF0dXNUeXBlRGVmIEhBTF9SVENFeF9TZXRTbW9vdGhDYWxpYihSVENfSGFuZGxlVHlwZURlZiAqaHJ0YywgdWludDMyX3QgU21vb3RoQ2FsaWJQZXJpb2QsIHVpbnQzMl90IFNtb290aENhbGliUGx1c1B1bHNlcywgdWludDMyX3QgU21vdXRoQ2FsaWJNaW51c1B1bHNlc1ZhbHVlKTsKK0hBTF9TdGF0dXNUeXBlRGVmIEhBTF9SVENFeF9TZXRTbW9vdGhDYWxpYihSVENfSGFuZGxlVHlwZURlZiAqaHJ0YywgdWludDMyX3QgU21vb3RoQ2FsaWJQZXJpb2QsIHVpbnQzMl90IFNtb290aENhbGliUGx1c1B1bHNlcywgdWludDMyX3QgU21vb3RoQ2FsaWJNaW51c1B1bHNlc1ZhbHVlKTsKIEhBTF9TdGF0dXNUeXBlRGVmIEhBTF9SVENFeF9TZXRTeW5jaHJvU2hpZnQoUlRDX0hhbmRsZVR5cGVEZWYgKmhydGMsIHVpbnQzMl90IFNoaWZ0QWRkMVMsIHVpbnQzMl90IFNoaWZ0U3ViRlMpOwogSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1JUQ0V4X1NldENhbGlicmF0aW9uT3V0UHV0KFJUQ19IYW5kbGVUeXBlRGVmICpocnRjLCB1aW50MzJfdCBDYWxpYk91dHB1dCk7CiBIQUxfU3RhdHVzVHlwZURlZiBIQUxfUlRDRXhfRGVhY3RpdmF0ZUNhbGlicmF0aW9uT3V0UHV0KFJUQ19IYW5kbGVUeXBlRGVmICpocnRjKTsKQEAgLTg2NCw4ICs5MTUsOCBAQAogLyoqIEBhZGR0b2dyb3VwIFJUQ0V4X0V4cG9ydGVkX0Z1bmN0aW9uc19Hcm91cDQKICAgKiBAewogICAqLwotLyogRXh0ZW5zaW9uIFJUQyBmZWF0dXJlcyBmdW5jdGlvbnMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KLXZvaWQgSEFMX1JUQ0V4X0FsYXJtQkV2ZW50Q2FsbGJhY2soUlRDX0hhbmRsZVR5cGVEZWYgKmhydGMpOyAKKy8qIEV4dGVuZGVkIFJUQyBmZWF0dXJlcyBmdW5jdGlvbnMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3ZvaWQgSEFMX1JUQ0V4X0FsYXJtQkV2ZW50Q2FsbGJhY2soUlRDX0hhbmRsZVR5cGVEZWYgKmhydGMpOwogSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1JUQ0V4X1BvbGxGb3JBbGFybUJFdmVudChSVENfSGFuZGxlVHlwZURlZiAqaHJ0YywgdWludDMyX3QgVGltZW91dCk7CiAvKioKICAgKiBAfQpAQCAtODc4LDczICs5MjksODMgQEAKIC8qIFByaXZhdGUgdHlwZXMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAvKiBQcml2YXRlIHZhcmlhYmxlcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogLyogUHJpdmF0ZSBjb25zdGFudHMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKwogLyoqIEBkZWZncm91cCBSVENFeF9Qcml2YXRlX0NvbnN0YW50cyBSVENFeCBQcml2YXRlIENvbnN0YW50cwogICAqIEB7CiAgICovCi0jZGVmaW5lIFJUQ19FWFRJX0xJTkVfVEFNUEVSX1RJTUVTVEFNUF9FVkVOVCAgKCh1aW50MzJfdClFWFRJX0lNUl9NUjIxKSAgLyohPCBFeHRlcm5hbCBpbnRlcnJ1cHQgbGluZSAyMSBDb25uZWN0ZWQgdG8gdGhlIFJUQyBUYW1wZXIgYW5kIFRpbWUgU3RhbXAgZXZlbnRzICovCi0jZGVmaW5lIFJUQ19FWFRJX0xJTkVfV0FLRVVQVElNRVJfRVZFTlQgICAgICAgKCh1aW50MzJfdClFWFRJX0lNUl9NUjIyKSAgLyohPCBFeHRlcm5hbCBpbnRlcnJ1cHQgbGluZSAyMiBDb25uZWN0ZWQgdG8gdGhlIFJUQyBXYWtlLXVwIGV2ZW50ICovCisjZGVmaW5lIFJUQ19FWFRJX0xJTkVfVEFNUEVSX1RJTUVTVEFNUF9FVkVOVCAgRVhUSV9JTVJfTVIyMSAgLyohPCBFeHRlcm5hbCBpbnRlcnJ1cHQgbGluZSAyMSBDb25uZWN0ZWQgdG8gdGhlIFJUQyBUYW1wZXIgYW5kIFRpbWVzdGFtcCBldmVudCAqLworI2RlZmluZSBSVENfRVhUSV9MSU5FX1dBS0VVUFRJTUVSX0VWRU5UICAgICAgIEVYVElfSU1SX01SMjIgIC8qITwgRXh0ZXJuYWwgaW50ZXJydXB0IGxpbmUgMjIgQ29ubmVjdGVkIHRvIHRoZSBSVEMgV2FrZXVwIGV2ZW50ICovCisvKioKKyAgKiBAfQorICAqLworCisvKiogQGRlZmdyb3VwIFJUQ0V4X1ByaXZhdGVfQ29uc3RhbnRzIFJUQ0V4IFByaXZhdGUgQ29uc3RhbnRzCisgICogQHsKKyAgKi8KKy8qIE1hc2tzIERlZmluaXRpb24gKi8KKyNpZiBkZWZpbmVkKFJUQ19UQU1QRVIyX1NVUFBPUlQpCisjZGVmaW5lIFJUQ19UQU1QRVJfRU5BQkxFX0JJVFNfTUFTSyAgICAgICAgICgodWludDMyX3QpIChSVENfVEFNUEVSXzEgfCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSVENfVEFNUEVSXzIpKQorCisjZGVmaW5lIFJUQ19UQU1QRVJfRkxBR1NfTUFTSyAgICAgICAgICAgICAgICgodWludDMyX3QpIChSVENfRkxBR19UQU1QMUYgfCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSVENfRkxBR19UQU1QMkYpKQorI2Vsc2UgLyogUlRDX1RBTVBFUjJfU1VQUE9SVCAqLworI2RlZmluZSBSVENfVEFNUEVSX0VOQUJMRV9CSVRTX01BU0sgICAgICAgICAgICAgICAgICAgICAgUlRDX1RBTVBFUl8xCisKKyNkZWZpbmUgUlRDX1RBTVBFUl9GTEFHU19NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJUQ19GTEFHX1RBTVAxRgorI2VuZGlmIC8qIFJUQ19UQU1QRVIyX1NVUFBPUlQgKi8KIC8qKgogICAqIEB9CiAgICovCiAKIC8qIFByaXZhdGUgbWFjcm9zIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKIC8qKiBAZGVmZ3JvdXAgUlRDRXhfUHJpdmF0ZV9NYWNyb3MgUlRDRXggUHJpdmF0ZSBNYWNyb3MKICAgKiBAewogICAqLwogCiAvKiogQGRlZmdyb3VwIFJUQ0V4X0lTX1JUQ19EZWZpbml0aW9ucyBQcml2YXRlIG1hY3JvcyB0byBjaGVjayBpbnB1dCBwYXJhbWV0ZXJzCiAgICogQHsKLSAgKi8gCi0jZGVmaW5lIElTX1JUQ19CS1AoQktQKSAgICAgICAgICAgICAgICAgICAoKChCS1ApID09IFJUQ19CS1BfRFIwKSAgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQktQKSA9PSBSVENfQktQX0RSMSkgIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEJLUCkgPT0gUlRDX0JLUF9EUjIpICB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChCS1ApID09IFJUQ19CS1BfRFIzKSAgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQktQKSA9PSBSVENfQktQX0RSNCkgIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEJLUCkgPT0gUlRDX0JLUF9EUjUpICB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChCS1ApID09IFJUQ19CS1BfRFI2KSAgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQktQKSA9PSBSVENfQktQX0RSNykgIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEJLUCkgPT0gUlRDX0JLUF9EUjgpICB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChCS1ApID09IFJUQ19CS1BfRFI5KSAgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQktQKSA9PSBSVENfQktQX0RSMTApIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEJLUCkgPT0gUlRDX0JLUF9EUjExKSB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChCS1ApID09IFJUQ19CS1BfRFIxMikgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQktQKSA9PSBSVENfQktQX0RSMTMpIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEJLUCkgPT0gUlRDX0JLUF9EUjE0KSB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChCS1ApID09IFJUQ19CS1BfRFIxNSkgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQktQKSA9PSBSVENfQktQX0RSMTYpIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEJLUCkgPT0gUlRDX0JLUF9EUjE3KSB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChCS1ApID09IFJUQ19CS1BfRFIxOCkgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQktQKSA9PSBSVENfQktQX0RSMTkpKQorICAqLworI2RlZmluZSBJU19SVENfQktQKEJLUCkgICAgICgoQktQKSA8ICh1aW50MzJfdCkgUlRDX0JLUF9OVU1CRVIpCisKICNkZWZpbmUgSVNfVElNRVNUQU1QX0VER0UoRURHRSkgKCgoRURHRSkgPT0gUlRDX1RJTUVTVEFNUEVER0VfUklTSU5HKSB8fCBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEVER0UpID09IFJUQ19USU1FU1RBTVBFREdFX0ZBTExJTkcpKQogCi0jaWYgZGVmaW5lZChTVE0zMkY0MTJaeCkgfHwgZGVmaW5lZChTVE0zMkY0MTJWeCkgfHwgZGVmaW5lZChTVE0zMkY0MTJSeCkgfHwgZGVmaW5lZChTVE0zMkY0MTJDeCkgfHwgZGVmaW5lZChTVE0zMkY0MTN4eCkgfHwgZGVmaW5lZChTVE0zMkY0MjN4eCkKLSNkZWZpbmUgSVNfUlRDX1RBTVBFUihUQU1QRVIpICgoKChUQU1QRVIpICYgKCh1aW50MzJfdCkhKFJUQ19UQUZDUl9UQU1QMUUgKSkpID09IDB4MDBVKSAmJiAoKFRBTVBFUikgIT0gKHVpbnQzMl90KVJFU0VUKSkKLSNlbHNlCi0jZGVmaW5lIElTX1JUQ19UQU1QRVIoVEFNUEVSKSAoKCgoVEFNUEVSKSAmICgodWludDMyX3QpIShSVENfVEFGQ1JfVEFNUDFFIHwgUlRDX1RBRkNSX1RBTVAyRSkpKSA9PSAweDAwVSkgJiYgKChUQU1QRVIpICE9ICh1aW50MzJfdClSRVNFVCkpCi0jZW5kaWYKKyNkZWZpbmUgSVNfUlRDX1RBTVBFUihUQU1QRVIpICgoKChUQU1QRVIpICYgKCh1aW50MzJfdCl+UlRDX1RBTVBFUl9FTkFCTEVfQklUU19NQVNLKSkgPT0gMHgwMFUpICYmICgoVEFNUEVSKSAhPSAwVSkpCiAKLSNpZiBkZWZpbmVkKFNUTTMyRjQxMlp4KSB8fCBkZWZpbmVkKFNUTTMyRjQxMlZ4KSB8fCBkZWZpbmVkKFNUTTMyRjQxMlJ4KSB8fCBkZWZpbmVkKFNUTTMyRjQxMkN4KSB8fCBkZWZpbmVkKFNUTTMyRjQxM3h4KSB8fCBkZWZpbmVkKFNUTTMyRjQyM3h4KQotI2RlZmluZSBJU19SVENfVEFNUEVSX1BJTihQSU4pICgoUElOKSA9PSBSVENfVEFNUEVSUElOX0RFRkFVTFQpCi0jZWxzZQorI2lmIGRlZmluZWQoUlRDX0FGMl9TVVBQT1JUKQogI2RlZmluZSBJU19SVENfVEFNUEVSX1BJTihQSU4pICgoKFBJTikgPT0gUlRDX1RBTVBFUlBJTl9ERUZBVUxUKSB8fCBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoUElOKSA9PSBSVENfVEFNUEVSUElOX1BPUzEpKQotI2VuZGlmIAorI2Vsc2UgLyogUlRDX0FGMl9TVVBQT1JUICovCisjZGVmaW5lIElTX1JUQ19UQU1QRVJfUElOKFBJTikgKChQSU4pID09IFJUQ19UQU1QRVJQSU5fREVGQVVMVCkKKyNlbmRpZiAvKiBSVENfQUYyX1NVUFBPUlQgKi8KIAotI2lmIGRlZmluZWQoU1RNMzJGNDEyWngpIHx8IGRlZmluZWQoU1RNMzJGNDEyVngpIHx8IGRlZmluZWQoU1RNMzJGNDEyUngpIHx8IGRlZmluZWQoU1RNMzJGNDEyQ3gpIHx8IGRlZmluZWQoU1RNMzJGNDEzeHgpIHx8IGRlZmluZWQoU1RNMzJGNDIzeHgpCi0jZGVmaW5lIElTX1JUQ19USU1FU1RBTVBfUElOKFBJTikgKChQSU4pID09IFJUQ19USU1FU1RBTVBQSU5fREVGQVVMVCkKLSNlbHNlCisjaWYgZGVmaW5lZChSVENfQUYyX1NVUFBPUlQpCiAjZGVmaW5lIElTX1JUQ19USU1FU1RBTVBfUElOKFBJTikgKCgoUElOKSA9PSBSVENfVElNRVNUQU1QUElOX0RFRkFVTFQpIHx8IFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChQSU4pID09IFJUQ19USU1FU1RBTVBQSU5fUE9TMSkpCi0jZW5kaWYKLSNkZWZpbmUgSVNfUlRDX1RBTVBFUl9UUklHR0VSKFRSSUdHRVIpICgoKFRSSUdHRVIpID09IFJUQ19UQU1QRVJUUklHR0VSX1JJU0lOR0VER0UpIHx8IFwKKyNlbHNlIC8qIFJUQ19BRjJfU1VQUE9SVCAqLworI2RlZmluZSBJU19SVENfVElNRVNUQU1QX1BJTihQSU4pICgoUElOKSA9PSBSVENfVElNRVNUQU1QUElOX0RFRkFVTFQpCisjZW5kaWYgLyogUlRDX0FGMl9TVVBQT1JUICovCisKKyNkZWZpbmUgSVNfUlRDX1RBTVBFUl9UUklHR0VSKFRSSUdHRVIpICgoKFRSSUdHRVIpID09IFJUQ19UQU1QRVJUUklHR0VSX1JJU0lOR0VER0UpICB8fCBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChUUklHR0VSKSA9PSBSVENfVEFNUEVSVFJJR0dFUl9GQUxMSU5HRURHRSkgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoVFJJR0dFUikgPT0gUlRDX1RBTVBFUlRSSUdHRVJfTE9XTEVWRUwpIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKFRSSUdHRVIpID09IFJUQ19UQU1QRVJUUklHR0VSX0hJR0hMRVZFTCkpIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoVFJJR0dFUikgPT0gUlRDX1RBTVBFUlRSSUdHRVJfTE9XTEVWRUwpICAgIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKFRSSUdHRVIpID09IFJUQ19UQU1QRVJUUklHR0VSX0hJR0hMRVZFTCkpCisKICNkZWZpbmUgSVNfUlRDX1RBTVBFUl9GSUxURVIoRklMVEVSKSAgKCgoRklMVEVSKSA9PSBSVENfVEFNUEVSRklMVEVSX0RJU0FCTEUpIHx8IFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoRklMVEVSKSA9PSBSVENfVEFNUEVSRklMVEVSXzJTQU1QTEUpIHx8IFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoRklMVEVSKSA9PSBSVENfVEFNUEVSRklMVEVSXzRTQU1QTEUpIHx8IFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoRklMVEVSKSA9PSBSVENfVEFNUEVSRklMVEVSXzhTQU1QTEUpKQorCisjZGVmaW5lIElTX1JUQ19UQU1QRVJfRklMVEVSX0NPTkZJR19DT1JSRUNUKEZJTFRFUiwgVFJJR0dFUikgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgICAgICAgICAoICAoICAoKEZJTFRFUikgIT0gUlRDX1RBTVBFUkZJTFRFUl9ESVNBQkxFKSAgICAgICAgICBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAmJiAoICAoKFRSSUdHRVIpID09IFJUQ19UQU1QRVJUUklHR0VSX0xPV0xFVkVMKSAgICBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8fCAoKFRSSUdHRVIpID09IFJUQ19UQU1QRVJUUklHR0VSX0hJR0hMRVZFTCkpKSBcCisgICAgICAgICAgICAgICAgICAgICAgICB8fCAoICAoKEZJTFRFUikgPT0gUlRDX1RBTVBFUkZJTFRFUl9ESVNBQkxFKSAgICAgICAgICBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAmJiAoICAoKFRSSUdHRVIpID09IFJUQ19UQU1QRVJUUklHR0VSX1JJU0lOR0VER0UpICBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8fCAoKFRSSUdHRVIpID09IFJUQ19UQU1QRVJUUklHR0VSX0ZBTExJTkdFREdFKSkpKQorCiAjZGVmaW5lIElTX1JUQ19UQU1QRVJfU0FNUExJTkdfRlJFUShGUkVRKSAoKChGUkVRKSA9PSBSVENfVEFNUEVSU0FNUExJTkdGUkVRX1JUQ0NMS19ESVYzMjc2OCl8fCBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChGUkVRKSA9PSBSVENfVEFNUEVSU0FNUExJTkdGUkVRX1JUQ0NMS19ESVYxNjM4NCl8fCBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChGUkVRKSA9PSBSVENfVEFNUEVSU0FNUExJTkdGUkVRX1JUQ0NMS19ESVY4MTkyKSB8fCBcCkBAIC05NTMsMTQgKzEwMTQsMTggQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEZSRVEpID09IFJUQ19UQU1QRVJTQU1QTElOR0ZSRVFfUlRDQ0xLX0RJVjEwMjQpIHx8IFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEZSRVEpID09IFJUQ19UQU1QRVJTQU1QTElOR0ZSRVFfUlRDQ0xLX0RJVjUxMikgIHx8IFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEZSRVEpID09IFJUQ19UQU1QRVJTQU1QTElOR0ZSRVFfUlRDQ0xLX0RJVjI1NikpCisKICNkZWZpbmUgSVNfUlRDX1RBTVBFUl9QUkVDSEFSR0VfRFVSQVRJT04oRFVSQVRJT04pICgoKERVUkFUSU9OKSA9PSBSVENfVEFNUEVSUFJFQ0hBUkdFRFVSQVRJT05fMVJUQ0NMSykgfHwgXAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoRFVSQVRJT04pID09IFJUQ19UQU1QRVJQUkVDSEFSR0VEVVJBVElPTl8yUlRDQ0xLKSB8fCBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChEVVJBVElPTikgPT0gUlRDX1RBTVBFUlBSRUNIQVJHRURVUkFUSU9OXzRSVENDTEspIHx8IFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKERVUkFUSU9OKSA9PSBSVENfVEFNUEVSUFJFQ0hBUkdFRFVSQVRJT05fOFJUQ0NMSykpCi0jZGVmaW5lIElTX1JUQ19UQU1QRVJfVElNRVNUQU1QT05UQU1QRVJfREVURUNUSU9OKERFVEVDVElPTikgKCgoREVURUNUSU9OKSA9PSBSVENfVElNRVNUQU1QT05UQU1QRVJERVRFQ1RJT05fRU5BQkxFKSB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoREVURUNUSU9OKSA9PSBSVENfVElNRVNUQU1QT05UQU1QRVJERVRFQ1RJT05fRElTQUJMRSkpCisKICNkZWZpbmUgSVNfUlRDX1RBTVBFUl9QVUxMVVBfU1RBVEUoU1RBVEUpICgoKFNUQVRFKSA9PSBSVENfVEFNUEVSX1BVTExVUF9FTkFCTEUpIHx8IFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKFNUQVRFKSA9PSBSVENfVEFNUEVSX1BVTExVUF9ESVNBQkxFKSkKKworI2RlZmluZSBJU19SVENfVEFNUEVSX1RJTUVTVEFNUE9OVEFNUEVSX0RFVEVDVElPTihERVRFQ1RJT04pICgoKERFVEVDVElPTikgPT0gUlRDX1RJTUVTVEFNUE9OVEFNUEVSREVURUNUSU9OX0VOQUJMRSkgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKERFVEVDVElPTikgPT0gUlRDX1RJTUVTVEFNUE9OVEFNUEVSREVURUNUSU9OX0RJU0FCTEUpKQorCiAjZGVmaW5lIElTX1JUQ19XQUtFVVBfQ0xPQ0soQ0xPQ0spICgoKENMT0NLKSA9PSBSVENfV0FLRVVQQ0xPQ0tfUlRDQ0xLX0RJVjE2KSAgIHx8IFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQ0xPQ0spID09IFJUQ19XQUtFVVBDTE9DS19SVENDTEtfRElWOCkgICAgfHwgXAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChDTE9DSykgPT0gUlRDX1dBS0VVUENMT0NLX1JUQ0NMS19ESVY0KSAgICB8fCBcCkBAIC05NjgsNyArMTAzMyw4IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKENMT0NLKSA9PSBSVENfV0FLRVVQQ0xPQ0tfQ0tfU1BSRV8xNkJJVFMpIHx8IFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQ0xPQ0spID09IFJUQ19XQUtFVVBDTE9DS19DS19TUFJFXzE3QklUUykpCiAKLSNkZWZpbmUgSVNfUlRDX1dBS0VVUF9DT1VOVEVSKENPVU5URVIpICAoKENPVU5URVIpIDw9IDB4RkZGRlUpCisjZGVmaW5lIElTX1JUQ19XQUtFVVBfQ09VTlRFUihDT1VOVEVSKSAgKChDT1VOVEVSKSA8PSBSVENfV1VUUl9XVVQpCisKICNkZWZpbmUgSVNfUlRDX0NBTElCX1NJR04oU0lHTikgKCgoU0lHTikgPT0gUlRDX0NBTElCU0lHTl9QT1NJVElWRSkgfHwgXAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChTSUdOKSA9PSBSVENfQ0FMSUJTSUdOX05FR0FUSVZFKSkKIApAQCAtOTc2LDE0ICsxMDQyLDE4IEBACiAKICNkZWZpbmUgSVNfUlRDX1NNT09USF9DQUxJQl9QRVJJT0QoUEVSSU9EKSAoKChQRVJJT0QpID09IFJUQ19TTU9PVEhDQUxJQl9QRVJJT0RfMzJTRUMpIHx8IFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChQRVJJT0QpID09IFJUQ19TTU9PVEhDQUxJQl9QRVJJT0RfMTZTRUMpIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChQRVJJT0QpID09IFJUQ19TTU9PVEhDQUxJQl9QRVJJT0RfOFNFQykpIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKFBFUklPRCkgPT0gUlRDX1NNT09USENBTElCX1BFUklPRF84U0VDKSkKKwogI2RlZmluZSBJU19SVENfU01PT1RIX0NBTElCX1BMVVMoUExVUykgKCgoUExVUykgPT0gUlRDX1NNT09USENBTElCX1BMVVNQVUxTRVNfU0VUKSB8fCBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChQTFVTKSA9PSBSVENfU01PT1RIQ0FMSUJfUExVU1BVTFNFU19SRVNFVCkpCiAKLSNkZWZpbmUgIElTX1JUQ19TTU9PVEhfQ0FMSUJfTUlOVVMoVkFMVUUpICgoVkFMVUUpIDw9IDB4MDAwMDAxRkZVKQorI2RlZmluZSAgSVNfUlRDX1NNT09USF9DQUxJQl9NSU5VUyhWQUxVRSkgKChWQUxVRSkgPD0gUlRDX0NBTFJfQ0FMTSkKKwogI2RlZmluZSBJU19SVENfU0hJRlRfQUREMVMoU0VMKSAoKChTRUwpID09IFJUQ19TSElGVEFERDFTX1JFU0VUKSB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKFNFTCkgPT0gUlRDX1NISUZUQUREMVNfU0VUKSkgCi0jZGVmaW5lIElTX1JUQ19TSElGVF9TVUJGUyhGUykgKChGUykgPD0gMHgwMDAwN0ZGRlUpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKFNFTCkgPT0gUlRDX1NISUZUQUREMVNfU0VUKSkKKworI2RlZmluZSBJU19SVENfU0hJRlRfU1VCRlMoRlMpICgoRlMpIDw9IFJUQ19TSElGVFJfU1VCRlMpCisKICNkZWZpbmUgSVNfUlRDX0NBTElCX09VVFBVVChPVVRQVVQpICAoKChPVVRQVVQpID09IFJUQ19DQUxJQk9VVFBVVF81MTJIWikgfHwgXAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKE9VVFBVVCkgPT0gUlRDX0NBTElCT1VUUFVUXzFIWikpCiAvKioKQEAgLTk5NiwxNiArMTA2NiwxNCBAQAogCiAvKioKICAgKiBAfQotICAqLyAKKyAgKi8KIAogLyoqCiAgICogQH0KLSAgKi8gCi0gIAorICAqLworCiAjaWZkZWYgX19jcGx1c3BsdXMKIH0KICNlbmRpZgogCi0jZW5kaWYgLyogX19TVE0zMkY0eHhfSEFMX1JUQ19FWF9IICovCi0KLS8qKioqKioqKioqKioqKioqKioqKioqKiogKEMpIENPUFlSSUdIVCBTVE1pY3JvZWxlY3Ryb25pY3MgKioqKipFTkQgT0YgRklMRSoqKiovCisjZW5kaWYgLyogU1RNMzJGNHh4X0hBTF9SVENfRVhfSCAqLwpkaWZmIC0tZ2l0IGEvSW5jL3N0bTMyZjR4eF9oYWxfc2FpLmggYi9JbmMvc3RtMzJmNHh4X2hhbF9zYWkuaAppbmRleCAwMzA3ZjkyLi42YzIzZjkzIDEwMDY0NAotLS0gYS9JbmMvc3RtMzJmNHh4X2hhbF9zYWkuaAorKysgYi9JbmMvc3RtMzJmNHh4X2hhbF9zYWkuaApAQCAtNiwxMyArNiwxMiBAQAogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKiBAYXR0ZW50aW9uCiAgICoKLSAgKiA8aDI+PGNlbnRlcj4mY29weTsgQ29weXJpZ2h0IChjKSAyMDE3IFNUTWljcm9lbGVjdHJvbmljcy4KLSAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvY2VudGVyPjwvaDI+CisgICogQ29weXJpZ2h0IChjKSAyMDE3IFNUTWljcm9lbGVjdHJvbmljcy4KKyAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAqCi0gICogVGhpcyBzb2Z0d2FyZSBjb21wb25lbnQgaXMgbGljZW5zZWQgYnkgU1QgdW5kZXIgQlNEIDMtQ2xhdXNlIGxpY2Vuc2UsCi0gICogdGhlICJMaWNlbnNlIjsgWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZQotICAqIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdDoKLSAgKiAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZQorICAqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgdW5kZXIgdGVybXMgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZQorICAqIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvZnR3YXJlIGNvbXBvbmVudC4KKyAgKiBJZiBubyBMSUNFTlNFIGZpbGUgY29tZXMgd2l0aCB0aGlzIHNvZnR3YXJlLCBpdCBpcyBwcm92aWRlZCBBUy1JUy4KICAgKgogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKi8KQEAgLTExOCw3ICsxMTcsNyBAQAogICB1aW50MzJfdCBUcmlTdGF0ZTsgICAgICAgICAgICAvKiE8IFNwZWNpZmllcyB0aGUgY29tcGFuZGluZyBtb2RlIHR5cGUuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGEgdmFsdWUgb2YgQHJlZiBTQUlfVFJJU3RhdGVfTWFuYWdlbWVudCAgICAgICAgICAgICAqLwogCi0gIC8qIFRoaXMgcGFydCBvZiB0aGUgc3RydWN0dXJlIGlzIGF1dG9tYXRpY2FsbHkgZmlsbGVkIGlmIHlvdXIgYXJlIHVzaW5nIHRoZSBoaWdoIGxldmVsIGludGlhbGlzYXRpb24KKyAgLyogVGhpcyBwYXJ0IG9mIHRoZSBzdHJ1Y3R1cmUgaXMgYXV0b21hdGljYWxseSBmaWxsZWQgaWYgeW91ciBhcmUgdXNpbmcgdGhlIGhpZ2ggbGV2ZWwgaW5pdGlhbGlzYXRpb24KICAgICAgZnVuY3Rpb24gSEFMX1NBSV9Jbml0UHJvdG9jb2wgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCiAKICAgdWludDMyX3QgUHJvdG9jb2w7ICAgICAgICAvKiE8IFNwZWNpZmllcyB0aGUgU0FJIEJsb2NrIHByb3RvY29sLgpAQCAtODk0LDQgKzg5MywzIEBACiAKICNlbmRpZiAvKiBfX1NUTTMyRjR4eF9IQUxfU0FJX0ggKi8KIAotLyoqKioqKioqKioqKioqKioqKioqKioqKiAoQykgQ09QWVJJR0hUIFNUTWljcm9lbGVjdHJvbmljcyAqKioqKkVORCBPRiBGSUxFKioqKi8KZGlmZiAtLWdpdCBhL0luYy9zdG0zMmY0eHhfaGFsX3NhaV9leC5oIGIvSW5jL3N0bTMyZjR4eF9oYWxfc2FpX2V4LmgKaW5kZXggZmJkNDQ5Ny4uYzZmZGQ1NiAxMDA2NDQKLS0tIGEvSW5jL3N0bTMyZjR4eF9oYWxfc2FpX2V4LmgKKysrIGIvSW5jL3N0bTMyZjR4eF9oYWxfc2FpX2V4LmgKQEAgLTYsMTMgKzYsMTIgQEAKICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICogQGF0dGVudGlvbgogICAqCi0gICogPGgyPjxjZW50ZXI+JmNvcHk7IENvcHlyaWdodCAoYykgMjAxNyBTVE1pY3JvZWxlY3Ryb25pY3MuCi0gICogQWxsIHJpZ2h0cyByZXNlcnZlZC48L2NlbnRlcj48L2gyPgorICAqIENvcHlyaWdodCAoYykgMjAxNyBTVE1pY3JvZWxlY3Ryb25pY3MuCisgICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgKgotICAqIFRoaXMgc29mdHdhcmUgY29tcG9uZW50IGlzIGxpY2Vuc2VkIGJ5IFNUIHVuZGVyIEJTRCAzLUNsYXVzZSBsaWNlbnNlLAotICAqIHRoZSAiTGljZW5zZSI7IFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUKLSAgKiBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQ6Ci0gICogICAgICAgICAgICAgICAgICAgICAgICBvcGVuc291cmNlLm9yZy9saWNlbnNlcy9CU0QtMy1DbGF1c2UKKyAgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIHVuZGVyIHRlcm1zIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUKKyAgKiBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb2Z0d2FyZSBjb21wb25lbnQuCisgICogSWYgbm8gTElDRU5TRSBmaWxlIGNvbWVzIHdpdGggdGhpcyBzb2Z0d2FyZSwgaXQgaXMgcHJvdmlkZWQgQVMtSVMuCiAgICoKICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICovCkBAIC0xMTMsNCArMTEyLDMgQEAKIAogI2VuZGlmIC8qIF9fU1RNMzJGNHh4X0hBTF9TQUlfRVhfSCAqLwogCi0vKioqKioqKioqKioqKioqKioqKioqKioqIChDKSBDT1BZUklHSFQgU1RNaWNyb2VsZWN0cm9uaWNzICoqKioqRU5EIE9GIEZJTEUqKioqLwpkaWZmIC0tZ2l0IGEvSW5jL3N0bTMyZjR4eF9oYWxfc2QuaCBiL0luYy9zdG0zMmY0eHhfaGFsX3NkLmgKaW5kZXggZTgyZTdlMC4uNzNmYzdkZSAxMDA2NDQKLS0tIGEvSW5jL3N0bTMyZjR4eF9oYWxfc2QuaAorKysgYi9JbmMvc3RtMzJmNHh4X2hhbF9zZC5oCkBAIC02LDEzICs2LDEyIEBACiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqIEBhdHRlbnRpb24KICAgKgotICAqIDxoMj48Y2VudGVyPiZjb3B5OyBDb3B5cmlnaHQgKGMpIDIwMTcgU1RNaWNyb2VsZWN0cm9uaWNzLgotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9jZW50ZXI+PC9oMj4KKyAgKiBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgorICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICoKLSAgKiBUaGlzIHNvZnR3YXJlIGNvbXBvbmVudCBpcyBsaWNlbnNlZCBieSBTVCB1bmRlciBCU0QgMy1DbGF1c2UgbGljZW5zZSwKLSAgKiB0aGUgIkxpY2Vuc2UiOyBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlCi0gICogTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0OgotICAqICAgICAgICAgICAgICAgICAgICAgICBvcGVuc291cmNlLm9yZy9saWNlbnNlcy9CU0QtMy1DbGF1c2UKKyAgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIHVuZGVyIHRlcm1zIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUKKyAgKiBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb2Z0d2FyZSBjb21wb25lbnQuCisgICogSWYgbm8gTElDRU5TRSBmaWxlIGNvbWVzIHdpdGggdGhpcyBzb2Z0d2FyZSwgaXQgaXMgcHJvdmlkZWQgQVMtSVMuCiAgICoKICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICovIApAQCAtNzU3LDUgKzc1NiwzIEBACiAKIAogI2VuZGlmIC8qIFNUTTMyRjR4eF9IQUxfU0RfSCAqLyAKLQotLyoqKioqKioqKioqKioqKioqKioqKioqKiAoQykgQ09QWVJJR0hUIFNUTWljcm9lbGVjdHJvbmljcyAqKioqKkVORCBPRiBGSUxFKioqKi8KZGlmZiAtLWdpdCBhL0luYy9zdG0zMmY0eHhfaGFsX3NkcmFtLmggYi9JbmMvc3RtMzJmNHh4X2hhbF9zZHJhbS5oCmluZGV4IDNkZDc4MDIuLjNkNDUwYTAgMTAwNjQ0Ci0tLSBhL0luYy9zdG0zMmY0eHhfaGFsX3NkcmFtLmgKKysrIGIvSW5jL3N0bTMyZjR4eF9oYWxfc2RyYW0uaApAQCAtNiwyNyArNiwyNSBAQAogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKiBAYXR0ZW50aW9uCiAgICoKLSAgKiA8aDI+PGNlbnRlcj4mY29weTsgQ29weXJpZ2h0IChjKSAyMDE3IFNUTWljcm9lbGVjdHJvbmljcy4KLSAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvY2VudGVyPjwvaDI+CisgICogQ29weXJpZ2h0IChjKSAyMDE2IFNUTWljcm9lbGVjdHJvbmljcy4KKyAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAqCi0gICogVGhpcyBzb2Z0d2FyZSBjb21wb25lbnQgaXMgbGljZW5zZWQgYnkgU1QgdW5kZXIgQlNEIDMtQ2xhdXNlIGxpY2Vuc2UsCi0gICogdGhlICJMaWNlbnNlIjsgWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZQotICAqIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdDoKLSAgKiAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZQorICAqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgdW5kZXIgdGVybXMgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZQorICAqIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvZnR3YXJlIGNvbXBvbmVudC4KKyAgKiBJZiBubyBMSUNFTlNFIGZpbGUgY29tZXMgd2l0aCB0aGlzIHNvZnR3YXJlLCBpdCBpcyBwcm92aWRlZCBBUy1JUy4KICAgKgogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAgKi8gCisgICovCiAKIC8qIERlZmluZSB0byBwcmV2ZW50IHJlY3Vyc2l2ZSBpbmNsdXNpb24gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCi0jaWZuZGVmIF9fU1RNMzJGNHh4X0hBTF9TRFJBTV9ICi0jZGVmaW5lIF9fU1RNMzJGNHh4X0hBTF9TRFJBTV9ICisjaWZuZGVmIFNUTTMyRjR4eF9IQUxfU0RSQU1fSAorI2RlZmluZSBTVE0zMkY0eHhfSEFMX1NEUkFNX0gKIAogI2lmZGVmIF9fY3BsdXNwbHVzCi0gZXh0ZXJuICJDIiB7CitleHRlcm4gIkMiIHsKICNlbmRpZgogCi0jaWYgZGVmaW5lZChTVE0zMkY0Mjd4eCkgfHwgZGVmaW5lZChTVE0zMkY0Mzd4eCkgfHwgZGVmaW5lZChTVE0zMkY0Mjl4eCkgfHwgZGVmaW5lZChTVE0zMkY0Mzl4eCkgfHxcCi0gICAgZGVmaW5lZChTVE0zMkY0NDZ4eCkgfHwgZGVmaW5lZChTVE0zMkY0Njl4eCkgfHwgZGVmaW5lZChTVE0zMkY0Nzl4eCkKKyNpZiBkZWZpbmVkKEZNQ19CYW5rNV82KQogCiAvKiBJbmNsdWRlcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogI2luY2x1ZGUgInN0bTMyZjR4eF9sbF9mbWMuaCIKQEAgLTM3LDE2ICszNSwxNyBAQAogCiAvKiogQGFkZHRvZ3JvdXAgU0RSQU0KICAgKiBAewotICAqLyAKKyAgKi8KIAotLyogRXhwb3J0ZWQgdHlwZWRlZiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8gICAKKy8qIEV4cG9ydGVkIHR5cGVkZWYgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKIC8qKiBAZGVmZ3JvdXAgU0RSQU1fRXhwb3J0ZWRfVHlwZXMgU0RSQU0gRXhwb3J0ZWQgVHlwZXMKICAgKiBAewogICAqLwogCi0vKiogCi0gICogQGJyaWVmICBIQUwgU0RSQU0gU3RhdGUgc3RydWN0dXJlIGRlZmluaXRpb24gIAotICAqLyAKKy8qKgorICAqIEBicmllZiAgSEFMIFNEUkFNIFN0YXRlIHN0cnVjdHVyZSBkZWZpbml0aW9uCisgICovCiB0eXBlZGVmIGVudW0KIHsKICAgSEFMX1NEUkFNX1NUQVRFX1JFU0VUICAgICAgICAgICAgID0gMHgwMFUsICAvKiE8IFNEUkFNIG5vdCB5ZXQgaW5pdGlhbGl6ZWQgb3IgZGlzYWJsZWQgKi8KQEAgLTY4LDIyICs2NywyMiBAQAogI2VuZGlmIC8qIFVTRV9IQUxfU0RSQU1fUkVHSVNURVJfQ0FMTEJBQ0tTICAqLwogewogICBGTUNfU0RSQU1fVHlwZURlZiAgICAgICAgICAgICAqSW5zdGFuY2U7ICAvKiE8IFJlZ2lzdGVyIGJhc2UgYWRkcmVzcyAgICAgICAgICAgICAgICAgKi8KLSAgCisKICAgRk1DX1NEUkFNX0luaXRUeXBlRGVmICAgICAgICAgSW5pdDsgICAgICAgLyohPCBTRFJBTSBkZXZpY2UgY29uZmlndXJhdGlvbiBwYXJhbWV0ZXJzICovCi0gIAorCiAgIF9fSU8gSEFMX1NEUkFNX1N0YXRlVHlwZURlZiAgIFN0YXRlOyAgICAgIC8qITwgU0RSQU0gYWNjZXNzIHN0YXRlICAgICAgICAgICAgICAgICAgICAqLwotICAKLSAgSEFMX0xvY2tUeXBlRGVmICAgICAgICAgICAgICAgTG9jazsgICAgICAgLyohPCBTRFJBTSBsb2NraW5nIG9iamVjdCAgICAgICAgICAgICAgICAgICovIAorCisgIEhBTF9Mb2NrVHlwZURlZiAgICAgICAgICAgICAgIExvY2s7ICAgICAgIC8qITwgU0RSQU0gbG9ja2luZyBvYmplY3QgICAgICAgICAgICAgICAgICAqLwogCiAgIERNQV9IYW5kbGVUeXBlRGVmICAgICAgICAgICAgICpoZG1hOyAgICAgIC8qITwgUG9pbnRlciBETUEgaGFuZGxlciAgICAgICAgICAgICAgICAgICAqLwogCiAjaWYgKFVTRV9IQUxfU0RSQU1fUkVHSVNURVJfQ0FMTEJBQ0tTID09IDEpCi0gIHZvaWQgICgqIE1zcEluaXRDYWxsYmFjaykgICAgICAgICggc3RydWN0IF9fU0RSQU1fSGFuZGxlVHlwZURlZiAqIGhzZHJhbSk7ICAgIC8qITwgU0RSQU0gTXNwIEluaXQgY2FsbGJhY2sgICAgICAgICAgICAgICovCi0gIHZvaWQgICgqIE1zcERlSW5pdENhbGxiYWNrKSAgICAgICggc3RydWN0IF9fU0RSQU1fSGFuZGxlVHlwZURlZiAqIGhzZHJhbSk7ICAgIC8qITwgU0RSQU0gTXNwIERlSW5pdCBjYWxsYmFjayAgICAgICAgICAgICovCi0gIHZvaWQgICgqIFJlZnJlc2hFcnJvckNhbGxiYWNrKSAgICggc3RydWN0IF9fU0RSQU1fSGFuZGxlVHlwZURlZiAqIGhzZHJhbSk7ICAgIC8qITwgU0RSQU0gUmVmcmVzaCBFcnJvciBjYWxsYmFjayAgICAgICAgICovCi0gIHZvaWQgICgqIERtYVhmZXJDcGx0Q2FsbGJhY2spICAgICggRE1BX0hhbmRsZVR5cGVEZWYgKiBoZG1hKTsgICAgICAgICAgICAgICAgIC8qITwgU0RSQU0gRE1BIFhmZXIgQ29tcGxldGUgY2FsbGJhY2sgICAgICovCi0gIHZvaWQgICgqIERtYVhmZXJFcnJvckNhbGxiYWNrKSAgICggRE1BX0hhbmRsZVR5cGVEZWYgKiBoZG1hKTsgICAgICAgICAgICAgICAgIC8qITwgU0RSQU0gRE1BIFhmZXIgRXJyb3IgY2FsbGJhY2sgICAgICAgICovCi0jZW5kaWYKKyAgdm9pZCAoKiBNc3BJbml0Q2FsbGJhY2spKHN0cnVjdCBfX1NEUkFNX0hhbmRsZVR5cGVEZWYgKmhzZHJhbSk7ICAgICAgICAgICAgICAgLyohPCBTRFJBTSBNc3AgSW5pdCBjYWxsYmFjayAgICAgICAgICAgICAgKi8KKyAgdm9pZCAoKiBNc3BEZUluaXRDYWxsYmFjaykoc3RydWN0IF9fU0RSQU1fSGFuZGxlVHlwZURlZiAqaHNkcmFtKTsgICAgICAgICAgICAgLyohPCBTRFJBTSBNc3AgRGVJbml0IGNhbGxiYWNrICAgICAgICAgICAgKi8KKyAgdm9pZCAoKiBSZWZyZXNoRXJyb3JDYWxsYmFjaykoc3RydWN0IF9fU0RSQU1fSGFuZGxlVHlwZURlZiAqaHNkcmFtKTsgICAgICAgICAgLyohPCBTRFJBTSBSZWZyZXNoIEVycm9yIGNhbGxiYWNrICAgICAgICAgKi8KKyAgdm9pZCAoKiBEbWFYZmVyQ3BsdENhbGxiYWNrKShETUFfSGFuZGxlVHlwZURlZiAqaGRtYSk7ICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTRFJBTSBETUEgWGZlciBDb21wbGV0ZSBjYWxsYmFjayAgICAgKi8KKyAgdm9pZCAoKiBEbWFYZmVyRXJyb3JDYWxsYmFjaykoRE1BX0hhbmRsZVR5cGVEZWYgKmhkbWEpOyAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTRFJBTSBETUEgWGZlciBFcnJvciBjYWxsYmFjayAgICAgICAgKi8KKyNlbmRpZiAvKiBVU0VfSEFMX1NEUkFNX1JFR0lTVEVSX0NBTExCQUNLUyAqLwogfSBTRFJBTV9IYW5kbGVUeXBlRGVmOwogCiAjaWYgKFVTRV9IQUxfU0RSQU1fUkVHSVNURVJfQ0FMTEJBQ0tTID09IDEpCkBAIC05NywyMCArOTYsMjEgQEAKICAgSEFMX1NEUkFNX1JFRlJFU0hfRVJSX0NCX0lEICAgID0gMHgwMlUsICAvKiE8IFNEUkFNIFJlZnJlc2ggRXJyb3IgQ2FsbGJhY2sgSUQgICAgICovCiAgIEhBTF9TRFJBTV9ETUFfWEZFUl9DUExUX0NCX0lEICA9IDB4MDNVLCAgLyohPCBTRFJBTSBETUEgWGZlciBDb21wbGV0ZSBDYWxsYmFjayBJRCAqLwogICBIQUxfU0RSQU1fRE1BX1hGRVJfRVJSX0NCX0lEICAgPSAweDA0VSAgIC8qITwgU0RSQU0gRE1BIFhmZXIgRXJyb3IgQ2FsbGJhY2sgSUQgICAgKi8KLX1IQUxfU0RSQU1fQ2FsbGJhY2tJRFR5cGVEZWY7Cit9IEhBTF9TRFJBTV9DYWxsYmFja0lEVHlwZURlZjsKIAogLyoqCiAgICogQGJyaWVmICBIQUwgU0RSQU0gQ2FsbGJhY2sgcG9pbnRlciBkZWZpbml0aW9uCiAgICovCiB0eXBlZGVmIHZvaWQgKCpwU0RSQU1fQ2FsbGJhY2tUeXBlRGVmKShTRFJBTV9IYW5kbGVUeXBlRGVmICpoc2RyYW0pOwogdHlwZWRlZiB2b2lkICgqcFNEUkFNX0RtYUNhbGxiYWNrVHlwZURlZikoRE1BX0hhbmRsZVR5cGVEZWYgKmhkbWEpOwotI2VuZGlmCisjZW5kaWYgLyogVVNFX0hBTF9TRFJBTV9SRUdJU1RFUl9DQUxMQkFDS1MgKi8KIC8qKgogICAqIEB9CiAgICovCiAKIC8qIEV4cG9ydGVkIGNvbnN0YW50cyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAvKiBFeHBvcnRlZCBtYWNybyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCiAvKiogQGRlZmdyb3VwIFNEUkFNX0V4cG9ydGVkX01hY3JvcyBTRFJBTSBFeHBvcnRlZCBNYWNyb3MKICAgKiBAewogICAqLwpAQCAtMTI3LDE3ICsxMjcsMTggQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IHdoaWxlKDApCiAjZWxzZQogI2RlZmluZSBfX0hBTF9TRFJBTV9SRVNFVF9IQU5ETEVfU1RBVEUoX19IQU5ETEVfXykgKChfX0hBTkRMRV9fKS0+U3RhdGUgPSBIQUxfU0RSQU1fU1RBVEVfUkVTRVQpCi0jZW5kaWYKKyNlbmRpZiAvKiBVU0VfSEFMX1NEUkFNX1JFR0lTVEVSX0NBTExCQUNLUyAqLwogLyoqCiAgICogQH0KICAgKi8KIAogLyogRXhwb3J0ZWQgZnVuY3Rpb25zIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKwogLyoqIEBhZGR0b2dyb3VwIFNEUkFNX0V4cG9ydGVkX0Z1bmN0aW9ucyBTRFJBTSBFeHBvcnRlZCBGdW5jdGlvbnMKICAgKiBAewogICAqLwogCi0vKiogQGFkZHRvZ3JvdXAgU0RSQU1fRXhwb3J0ZWRfRnVuY3Rpb25zX0dyb3VwMSAKKy8qKiBAYWRkdG9ncm91cCBTRFJBTV9FeHBvcnRlZF9GdW5jdGlvbnNfR3JvdXAxCiAgICogQHsKICAgKi8KIApAQCAtMTUxLDUwICsxNTIsNjMgQEAKIHZvaWQgSEFMX1NEUkFNX1JlZnJlc2hFcnJvckNhbGxiYWNrKFNEUkFNX0hhbmRsZVR5cGVEZWYgKmhzZHJhbSk7CiB2b2lkIEhBTF9TRFJBTV9ETUFfWGZlckNwbHRDYWxsYmFjayhETUFfSGFuZGxlVHlwZURlZiAqaGRtYSk7CiB2b2lkIEhBTF9TRFJBTV9ETUFfWGZlckVycm9yQ2FsbGJhY2soRE1BX0hhbmRsZVR5cGVEZWYgKmhkbWEpOworCiAvKioKICAgKiBAfQogICAqLwogCi0vKiogQGFkZHRvZ3JvdXAgU0RSQU1fRXhwb3J0ZWRfRnVuY3Rpb25zX0dyb3VwMiAKKy8qKiBAYWRkdG9ncm91cCBTRFJBTV9FeHBvcnRlZF9GdW5jdGlvbnNfR3JvdXAyCiAgICogQHsKICAgKi8KIC8qIEkvTyBvcGVyYXRpb24gZnVuY3Rpb25zICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi1IQUxfU3RhdHVzVHlwZURlZiBIQUxfU0RSQU1fUmVhZF84YihTRFJBTV9IYW5kbGVUeXBlRGVmICpoc2RyYW0sIHVpbnQzMl90ICpwQWRkcmVzcywgdWludDhfdCAqcERzdEJ1ZmZlciwgdWludDMyX3QgQnVmZmVyU2l6ZSk7Ci1IQUxfU3RhdHVzVHlwZURlZiBIQUxfU0RSQU1fV3JpdGVfOGIoU0RSQU1fSGFuZGxlVHlwZURlZiAqaHNkcmFtLCB1aW50MzJfdCAqcEFkZHJlc3MsIHVpbnQ4X3QgKnBTcmNCdWZmZXIsIHVpbnQzMl90IEJ1ZmZlclNpemUpOwotSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1NEUkFNX1JlYWRfMTZiKFNEUkFNX0hhbmRsZVR5cGVEZWYgKmhzZHJhbSwgdWludDMyX3QgKnBBZGRyZXNzLCB1aW50MTZfdCAqcERzdEJ1ZmZlciwgdWludDMyX3QgQnVmZmVyU2l6ZSk7Ci1IQUxfU3RhdHVzVHlwZURlZiBIQUxfU0RSQU1fV3JpdGVfMTZiKFNEUkFNX0hhbmRsZVR5cGVEZWYgKmhzZHJhbSwgdWludDMyX3QgKnBBZGRyZXNzLCB1aW50MTZfdCAqcFNyY0J1ZmZlciwgdWludDMyX3QgQnVmZmVyU2l6ZSk7Ci1IQUxfU3RhdHVzVHlwZURlZiBIQUxfU0RSQU1fUmVhZF8zMmIoU0RSQU1fSGFuZGxlVHlwZURlZiAqaHNkcmFtLCB1aW50MzJfdCAqcEFkZHJlc3MsIHVpbnQzMl90ICpwRHN0QnVmZmVyLCB1aW50MzJfdCBCdWZmZXJTaXplKTsKLUhBTF9TdGF0dXNUeXBlRGVmIEhBTF9TRFJBTV9Xcml0ZV8zMmIoU0RSQU1fSGFuZGxlVHlwZURlZiAqaHNkcmFtLCB1aW50MzJfdCAqcEFkZHJlc3MsIHVpbnQzMl90ICpwU3JjQnVmZmVyLCB1aW50MzJfdCBCdWZmZXJTaXplKTsKK0hBTF9TdGF0dXNUeXBlRGVmIEhBTF9TRFJBTV9SZWFkXzhiKFNEUkFNX0hhbmRsZVR5cGVEZWYgKmhzZHJhbSwgdWludDMyX3QgKnBBZGRyZXNzLCB1aW50OF90ICpwRHN0QnVmZmVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgQnVmZmVyU2l6ZSk7CitIQUxfU3RhdHVzVHlwZURlZiBIQUxfU0RSQU1fV3JpdGVfOGIoU0RSQU1fSGFuZGxlVHlwZURlZiAqaHNkcmFtLCB1aW50MzJfdCAqcEFkZHJlc3MsIHVpbnQ4X3QgKnBTcmNCdWZmZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgQnVmZmVyU2l6ZSk7CitIQUxfU3RhdHVzVHlwZURlZiBIQUxfU0RSQU1fUmVhZF8xNmIoU0RSQU1fSGFuZGxlVHlwZURlZiAqaHNkcmFtLCB1aW50MzJfdCAqcEFkZHJlc3MsIHVpbnQxNl90ICpwRHN0QnVmZmVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IEJ1ZmZlclNpemUpOworSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1NEUkFNX1dyaXRlXzE2YihTRFJBTV9IYW5kbGVUeXBlRGVmICpoc2RyYW0sIHVpbnQzMl90ICpwQWRkcmVzcywgdWludDE2X3QgKnBTcmNCdWZmZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IEJ1ZmZlclNpemUpOworSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1NEUkFNX1JlYWRfMzJiKFNEUkFNX0hhbmRsZVR5cGVEZWYgKmhzZHJhbSwgdWludDMyX3QgKnBBZGRyZXNzLCB1aW50MzJfdCAqcERzdEJ1ZmZlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBCdWZmZXJTaXplKTsKK0hBTF9TdGF0dXNUeXBlRGVmIEhBTF9TRFJBTV9Xcml0ZV8zMmIoU0RSQU1fSGFuZGxlVHlwZURlZiAqaHNkcmFtLCB1aW50MzJfdCAqcEFkZHJlc3MsIHVpbnQzMl90ICpwU3JjQnVmZmVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBCdWZmZXJTaXplKTsKIAotSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1NEUkFNX1JlYWRfRE1BKFNEUkFNX0hhbmRsZVR5cGVEZWYgKmhzZHJhbSwgdWludDMyX3QgKiBwQWRkcmVzcywgdWludDMyX3QgKnBEc3RCdWZmZXIsIHVpbnQzMl90IEJ1ZmZlclNpemUpOwotSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1NEUkFNX1dyaXRlX0RNQShTRFJBTV9IYW5kbGVUeXBlRGVmICpoc2RyYW0sIHVpbnQzMl90ICpwQWRkcmVzcywgdWludDMyX3QgKnBTcmNCdWZmZXIsIHVpbnQzMl90IEJ1ZmZlclNpemUpOworSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1NEUkFNX1JlYWRfRE1BKFNEUkFNX0hhbmRsZVR5cGVEZWYgKmhzZHJhbSwgdWludDMyX3QgKnBBZGRyZXNzLCB1aW50MzJfdCAqcERzdEJ1ZmZlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBCdWZmZXJTaXplKTsKK0hBTF9TdGF0dXNUeXBlRGVmIEhBTF9TRFJBTV9Xcml0ZV9ETUEoU0RSQU1fSGFuZGxlVHlwZURlZiAqaHNkcmFtLCB1aW50MzJfdCAqcEFkZHJlc3MsIHVpbnQzMl90ICpwU3JjQnVmZmVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBCdWZmZXJTaXplKTsKIAogI2lmIChVU0VfSEFMX1NEUkFNX1JFR0lTVEVSX0NBTExCQUNLUyA9PSAxKQogLyogU0RSQU0gY2FsbGJhY2sgcmVnaXN0ZXJpbmcvdW5yZWdpc3RlcmluZyAqLwotSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1NEUkFNX1JlZ2lzdGVyQ2FsbGJhY2soU0RSQU1fSGFuZGxlVHlwZURlZiAqaHNkcmFtLCBIQUxfU0RSQU1fQ2FsbGJhY2tJRFR5cGVEZWYgQ2FsbGJhY2tJZCwgcFNEUkFNX0NhbGxiYWNrVHlwZURlZiBwQ2FsbGJhY2spOworSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1NEUkFNX1JlZ2lzdGVyQ2FsbGJhY2soU0RSQU1fSGFuZGxlVHlwZURlZiAqaHNkcmFtLCBIQUxfU0RSQU1fQ2FsbGJhY2tJRFR5cGVEZWYgQ2FsbGJhY2tJZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBTRFJBTV9DYWxsYmFja1R5cGVEZWYgcENhbGxiYWNrKTsKIEhBTF9TdGF0dXNUeXBlRGVmIEhBTF9TRFJBTV9VblJlZ2lzdGVyQ2FsbGJhY2soU0RSQU1fSGFuZGxlVHlwZURlZiAqaHNkcmFtLCBIQUxfU0RSQU1fQ2FsbGJhY2tJRFR5cGVEZWYgQ2FsbGJhY2tJZCk7Ci1IQUxfU3RhdHVzVHlwZURlZiBIQUxfU0RSQU1fUmVnaXN0ZXJEbWFDYWxsYmFjayhTRFJBTV9IYW5kbGVUeXBlRGVmICpoc2RyYW0sIEhBTF9TRFJBTV9DYWxsYmFja0lEVHlwZURlZiBDYWxsYmFja0lkLCBwU0RSQU1fRG1hQ2FsbGJhY2tUeXBlRGVmIHBDYWxsYmFjayk7Ci0jZW5kaWYKK0hBTF9TdGF0dXNUeXBlRGVmIEhBTF9TRFJBTV9SZWdpc3RlckRtYUNhbGxiYWNrKFNEUkFNX0hhbmRsZVR5cGVEZWYgKmhzZHJhbSwgSEFMX1NEUkFNX0NhbGxiYWNrSURUeXBlRGVmIENhbGxiYWNrSWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwU0RSQU1fRG1hQ2FsbGJhY2tUeXBlRGVmIHBDYWxsYmFjayk7CisjZW5kaWYgLyogVVNFX0hBTF9TRFJBTV9SRUdJU1RFUl9DQUxMQkFDS1MgKi8KIAogLyoqCiAgICogQH0KICAgKi8KLSAgCi0vKiogQGFkZHRvZ3JvdXAgU0RSQU1fRXhwb3J0ZWRfRnVuY3Rpb25zX0dyb3VwMyAKKworLyoqIEBhZGR0b2dyb3VwIFNEUkFNX0V4cG9ydGVkX0Z1bmN0aW9uc19Hcm91cDMKICAgKiBAewogICAqLwogLyogU0RSQU0gQ29udHJvbCBmdW5jdGlvbnMgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwogSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1NEUkFNX1dyaXRlUHJvdGVjdGlvbl9FbmFibGUoU0RSQU1fSGFuZGxlVHlwZURlZiAqaHNkcmFtKTsKIEhBTF9TdGF0dXNUeXBlRGVmIEhBTF9TRFJBTV9Xcml0ZVByb3RlY3Rpb25fRGlzYWJsZShTRFJBTV9IYW5kbGVUeXBlRGVmICpoc2RyYW0pOwotSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1NEUkFNX1NlbmRDb21tYW5kKFNEUkFNX0hhbmRsZVR5cGVEZWYgKmhzZHJhbSwgRk1DX1NEUkFNX0NvbW1hbmRUeXBlRGVmICpDb21tYW5kLCB1aW50MzJfdCBUaW1lb3V0KTsKK0hBTF9TdGF0dXNUeXBlRGVmIEhBTF9TRFJBTV9TZW5kQ29tbWFuZChTRFJBTV9IYW5kbGVUeXBlRGVmICpoc2RyYW0sIEZNQ19TRFJBTV9Db21tYW5kVHlwZURlZiAqQ29tbWFuZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBUaW1lb3V0KTsKIEhBTF9TdGF0dXNUeXBlRGVmIEhBTF9TRFJBTV9Qcm9ncmFtUmVmcmVzaFJhdGUoU0RSQU1fSGFuZGxlVHlwZURlZiAqaHNkcmFtLCB1aW50MzJfdCBSZWZyZXNoUmF0ZSk7CiBIQUxfU3RhdHVzVHlwZURlZiBIQUxfU0RSQU1fU2V0QXV0b1JlZnJlc2hOdW1iZXIoU0RSQU1fSGFuZGxlVHlwZURlZiAqaHNkcmFtLCB1aW50MzJfdCBBdXRvUmVmcmVzaE51bWJlcik7CiB1aW50MzJfdCAgICAgICAgICBIQUxfU0RSQU1fR2V0TW9kZVN0YXR1cyhTRFJBTV9IYW5kbGVUeXBlRGVmICpoc2RyYW0pOworCiAvKioKICAgKiBAfQogICAqLwogCi0vKiogQGFkZHRvZ3JvdXAgU0RSQU1fRXhwb3J0ZWRfRnVuY3Rpb25zX0dyb3VwNCAKKy8qKiBAYWRkdG9ncm91cCBTRFJBTV9FeHBvcnRlZF9GdW5jdGlvbnNfR3JvdXA0CiAgICogQHsKICAgKi8KIC8qIFNEUkFNIFN0YXRlIGZ1bmN0aW9ucyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KQEAgLTIxMSwxNiArMjI1LDE0IEBACiAgICogQH0KICAgKi8KIAotI2VuZGlmIC8qIFNUTTMyRjQyN3h4IHx8IFNUTTMyRjQzN3h4IHx8IFNUTTMyRjQyOXh4IHx8IFNUTTMyRjQzOXh4IHx8IFNUTTMyRjQ0Nnh4IHx8IFNUTTMyRjQ2OXh4IHx8IFNUTTMyRjQ3OXh4ICovCi0KIC8qKgogICAqIEB9CiAgICovCiAKKyNlbmRpZiAvKiBGTUNfQmFuazVfNiAqLworCiAjaWZkZWYgX19jcGx1c3BsdXMKIH0KICNlbmRpZgogCi0jZW5kaWYgLyogX19TVE0zMkY0eHhfSEFMX1NEUkFNX0ggKi8KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKiAoQykgQ09QWVJJR0hUIFNUTWljcm9lbGVjdHJvbmljcyAqKioqKkVORCBPRiBGSUxFKioqKi8KKyNlbmRpZiAvKiBTVE0zMkY0eHhfSEFMX1NEUkFNX0ggKi8KZGlmZiAtLWdpdCBhL0luYy9zdG0zMmY0eHhfaGFsX3NtYXJ0Y2FyZC5oIGIvSW5jL3N0bTMyZjR4eF9oYWxfc21hcnRjYXJkLmgKaW5kZXggMzZmMTZjNy4uMTM1ZjQwMiAxMDA2NDQKLS0tIGEvSW5jL3N0bTMyZjR4eF9oYWxfc21hcnRjYXJkLmgKKysrIGIvSW5jL3N0bTMyZjR4eF9oYWxfc21hcnRjYXJkLmgKQEAgLTYsMTMgKzYsMTIgQEAKICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICogQGF0dGVudGlvbgogICAqCi0gICogPGgyPjxjZW50ZXI+JmNvcHk7IENvcHlyaWdodCAoYykgMjAxNiBTVE1pY3JvZWxlY3Ryb25pY3MuCi0gICogQWxsIHJpZ2h0cyByZXNlcnZlZC48L2NlbnRlcj48L2gyPgorICAqIENvcHlyaWdodCAoYykgMjAxNiBTVE1pY3JvZWxlY3Ryb25pY3MuCisgICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgKgotICAqIFRoaXMgc29mdHdhcmUgY29tcG9uZW50IGlzIGxpY2Vuc2VkIGJ5IFNUIHVuZGVyIEJTRCAzLUNsYXVzZSBsaWNlbnNlLAotICAqIHRoZSAiTGljZW5zZSI7IFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUKLSAgKiBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQ6Ci0gICogICAgICAgICAgICAgICAgICAgICAgICBvcGVuc291cmNlLm9yZy9saWNlbnNlcy9CU0QtMy1DbGF1c2UKKyAgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIHVuZGVyIHRlcm1zIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUKKyAgKiBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb2Z0d2FyZSBjb21wb25lbnQuCisgICogSWYgbm8gTElDRU5TRSBmaWxlIGNvbWVzIHdpdGggdGhpcyBzb2Z0d2FyZSwgaXQgaXMgcHJvdmlkZWQgQVMtSVMuCiAgICoKICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICovCkBAIC0xNTcsNyArMTU2LDcgQEAKIAogICBTTUFSVENBUkRfSW5pdFR5cGVEZWYgICAgICAgICAgICBJbml0OyAgICAgICAgICAgICAvKiE8IFNtYXJ0Q2FyZCBjb21tdW5pY2F0aW9uIHBhcmFtZXRlcnMgKi8KIAotICB1aW50OF90ICAgICAgICAgICAgICAgICAgICAgICAgICAqcFR4QnVmZlB0cjsgICAgICAvKiE8IFBvaW50ZXIgdG8gU21hcnRDYXJkIFR4IHRyYW5zZmVyIEJ1ZmZlciAqLworICBjb25zdCB1aW50OF90ICAgICAgICAgICAgICAgICAgICAqcFR4QnVmZlB0cjsgICAgICAvKiE8IFBvaW50ZXIgdG8gU21hcnRDYXJkIFR4IHRyYW5zZmVyIEJ1ZmZlciAqLwogCiAgIHVpbnQxNl90ICAgICAgICAgICAgICAgICAgICAgICAgIFR4WGZlclNpemU7ICAgICAgIC8qITwgU21hcnRDYXJkIFR4IFRyYW5zZmVyIHNpemUgKi8KIApAQCAtNjQzLDExICs2NDIsMTEgQEAKICAgKiBAewogICAqLwogLyogSU8gb3BlcmF0aW9uIGZ1bmN0aW9ucyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwotSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1NNQVJUQ0FSRF9UcmFuc21pdChTTUFSVENBUkRfSGFuZGxlVHlwZURlZiAqaHNjLCB1aW50OF90ICpwRGF0YSwgdWludDE2X3QgU2l6ZSwgdWludDMyX3QgVGltZW91dCk7CitIQUxfU3RhdHVzVHlwZURlZiBIQUxfU01BUlRDQVJEX1RyYW5zbWl0KFNNQVJUQ0FSRF9IYW5kbGVUeXBlRGVmICpoc2MsIGNvbnN0IHVpbnQ4X3QgKnBEYXRhLCB1aW50MTZfdCBTaXplLCB1aW50MzJfdCBUaW1lb3V0KTsKIEhBTF9TdGF0dXNUeXBlRGVmIEhBTF9TTUFSVENBUkRfUmVjZWl2ZShTTUFSVENBUkRfSGFuZGxlVHlwZURlZiAqaHNjLCB1aW50OF90ICpwRGF0YSwgdWludDE2X3QgU2l6ZSwgdWludDMyX3QgVGltZW91dCk7Ci1IQUxfU3RhdHVzVHlwZURlZiBIQUxfU01BUlRDQVJEX1RyYW5zbWl0X0lUKFNNQVJUQ0FSRF9IYW5kbGVUeXBlRGVmICpoc2MsIHVpbnQ4X3QgKnBEYXRhLCB1aW50MTZfdCBTaXplKTsKK0hBTF9TdGF0dXNUeXBlRGVmIEhBTF9TTUFSVENBUkRfVHJhbnNtaXRfSVQoU01BUlRDQVJEX0hhbmRsZVR5cGVEZWYgKmhzYywgY29uc3QgdWludDhfdCAqcERhdGEsIHVpbnQxNl90IFNpemUpOwogSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1NNQVJUQ0FSRF9SZWNlaXZlX0lUKFNNQVJUQ0FSRF9IYW5kbGVUeXBlRGVmICpoc2MsIHVpbnQ4X3QgKnBEYXRhLCB1aW50MTZfdCBTaXplKTsKLUhBTF9TdGF0dXNUeXBlRGVmIEhBTF9TTUFSVENBUkRfVHJhbnNtaXRfRE1BKFNNQVJUQ0FSRF9IYW5kbGVUeXBlRGVmICpoc2MsIHVpbnQ4X3QgKnBEYXRhLCB1aW50MTZfdCBTaXplKTsKK0hBTF9TdGF0dXNUeXBlRGVmIEhBTF9TTUFSVENBUkRfVHJhbnNtaXRfRE1BKFNNQVJUQ0FSRF9IYW5kbGVUeXBlRGVmICpoc2MsIGNvbnN0IHVpbnQ4X3QgKnBEYXRhLCB1aW50MTZfdCBTaXplKTsKIEhBTF9TdGF0dXNUeXBlRGVmIEhBTF9TTUFSVENBUkRfUmVjZWl2ZV9ETUEoU01BUlRDQVJEX0hhbmRsZVR5cGVEZWYgKmhzYywgdWludDhfdCAqcERhdGEsIHVpbnQxNl90IFNpemUpOwogLyogVHJhbnNmZXIgQWJvcnQgZnVuY3Rpb25zICovCiBIQUxfU3RhdHVzVHlwZURlZiBIQUxfU01BUlRDQVJEX0Fib3J0KFNNQVJUQ0FSRF9IYW5kbGVUeXBlRGVmICpoc2MpOwpAQCAtNzU0LDQgKzc1MywzIEBACiAKICNlbmRpZiAvKiBfX1NUTTMyRjR4eF9IQUxfU01BUlRDQVJEX0ggKi8KIAotLyoqKioqKioqKioqKioqKioqKioqKioqKiAoQykgQ09QWVJJR0hUIFNUTWljcm9lbGVjdHJvbmljcyAqKioqKkVORCBPRiBGSUxFKioqKi8KZGlmZiAtLWdpdCBhL0luYy9zdG0zMmY0eHhfaGFsX3NtYnVzLmggYi9JbmMvc3RtMzJmNHh4X2hhbF9zbWJ1cy5oCmluZGV4IDA1NmE2MDAuLmVhOTJhZmEgMTAwNjQ0Ci0tLSBhL0luYy9zdG0zMmY0eHhfaGFsX3NtYnVzLmgKKysrIGIvSW5jL3N0bTMyZjR4eF9oYWxfc21idXMuaApAQCAtNiwxMyArNiwxMiBAQAogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKiBAYXR0ZW50aW9uCiAgICoKLSAgKiA8aDI+PGNlbnRlcj4mY29weTsgQ29weXJpZ2h0IChjKSAyMDE2IFNUTWljcm9lbGVjdHJvbmljcy4KLSAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvY2VudGVyPjwvaDI+CisgICogQ29weXJpZ2h0IChjKSAyMDE2IFNUTWljcm9lbGVjdHJvbmljcy4KKyAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAqCi0gICogVGhpcyBzb2Z0d2FyZSBjb21wb25lbnQgaXMgbGljZW5zZWQgYnkgU1QgdW5kZXIgQlNEIDMtQ2xhdXNlIGxpY2Vuc2UsCi0gICogdGhlICJMaWNlbnNlIjsgWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZQotICAqIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdDoKLSAgKiAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZQorICAqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgdW5kZXIgdGVybXMgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZQorICAqIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvZnR3YXJlIGNvbXBvbmVudC4KKyAgKiBJZiBubyBMSUNFTlNFIGZpbGUgY29tZXMgd2l0aCB0aGlzIHNvZnR3YXJlLCBpdCBpcyBwcm92aWRlZCBBUy1JUy4KICAgKgogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKi8KQEAgLTczMCw0ICs3MjksMyBAQAogCiAjZW5kaWYgLyogX19TVE0zMkY0eHhfSEFMX1NNQlVTX0ggKi8KIAotLyoqKioqKioqKioqKioqKioqKioqKioqKiAoQykgQ09QWVJJR0hUIFNUTWljcm9lbGVjdHJvbmljcyAqKioqKkVORCBPRiBGSUxFKioqKi8KZGlmZiAtLWdpdCBhL0luYy9zdG0zMmY0eHhfaGFsX3NwZGlmcnguaCBiL0luYy9zdG0zMmY0eHhfaGFsX3NwZGlmcnguaAppbmRleCA3M2UzMGQyLi43ZWEwNGFhIDEwMDY0NAotLS0gYS9JbmMvc3RtMzJmNHh4X2hhbF9zcGRpZnJ4LmgKKysrIGIvSW5jL3N0bTMyZjR4eF9oYWxfc3BkaWZyeC5oCkBAIC02LDEzICs2LDEyIEBACiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqIEBhdHRlbnRpb24KICAgKgotICAqIDxoMj48Y2VudGVyPiZjb3B5OyBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9jZW50ZXI+PC9oMj4KKyAgKiBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgorICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICoKLSAgKiBUaGlzIHNvZnR3YXJlIGNvbXBvbmVudCBpcyBsaWNlbnNlZCBieSBTVCB1bmRlciBCU0QgMy1DbGF1c2UgbGljZW5zZSwKLSAgKiB0aGUgIkxpY2Vuc2UiOyBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlCi0gICogTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0OgotICAqICAgICAgICAgICAgICAgICAgICAgICAgb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvQlNELTMtQ2xhdXNlCisgICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciB0ZXJtcyB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlCisgICogaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc29mdHdhcmUgY29tcG9uZW50LgorICAqIElmIG5vIExJQ0VOU0UgZmlsZSBjb21lcyB3aXRoIHRoaXMgc29mdHdhcmUsIGl0IGlzIHByb3ZpZGVkIEFTLUlTLgogICAqCiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqLwpAQCAtMjIsNyArMjEsNyBAQAogI2RlZmluZSBTVE0zMkY0eHhfSEFMX1NQRElGUlhfSAogCiAjaWZkZWYgX19jcGx1c3BsdXMKLSBleHRlcm4gIkMiIHsKK2V4dGVybiAiQyIgewogI2VuZGlmCiAKIC8qIEluY2x1ZGVzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCkBAIC0xMjQsNyArMTIzLDcgQEAKIHR5cGVkZWYgc3RydWN0IF9fU1BESUZSWF9IYW5kbGVUeXBlRGVmCiAjZWxzZQogdHlwZWRlZiBzdHJ1Y3QKLSNlbmRpZgorI2VuZGlmIC8qIFVTRV9IQUxfU1BESUZSWF9SRUdJU1RFUl9DQUxMQkFDS1MgKi8KIHsKICAgU1BESUZSWF9UeXBlRGVmICAgICAgICAgICAgKkluc3RhbmNlOyAgICAvKiBTUERJRlJYIHJlZ2lzdGVycyBiYXNlIGFkZHJlc3MgKi8KIApAQCAtMTY4LDggKzE2Nyw4IEBACiAgIHZvaWQgKCpDeEhhbGZDcGx0Q2FsbGJhY2spKHN0cnVjdCBfX1NQRElGUlhfSGFuZGxlVHlwZURlZiAqaHNwZGlmKTsgICAvKiE8IFNQRElGUlggQ29udHJvbCBmbG93IGhhbGYgY29tcGxldGVkIGNhbGxiYWNrICovCiAgIHZvaWQgKCpDeENwbHRDYWxsYmFjaykoc3RydWN0IF9fU1BESUZSWF9IYW5kbGVUeXBlRGVmICpoc3BkaWYpOyAgICAgICAvKiE8IFNQRElGUlggQ29udHJvbCBmbG93IGNvbXBsZXRlZCBjYWxsYmFjayAqLwogICB2b2lkICgqRXJyb3JDYWxsYmFjaykoc3RydWN0IF9fU1BESUZSWF9IYW5kbGVUeXBlRGVmICpoc3BkaWYpOyAgICAgICAgLyohPCBTUERJRlJYIGVycm9yIGNhbGxiYWNrICovCi0gIHZvaWQgKCogTXNwSW5pdENhbGxiYWNrKSggc3RydWN0IF9fU1BESUZSWF9IYW5kbGVUeXBlRGVmICogaHNwZGlmKTsgICAvKiE8IFNQRElGUlggTXNwIEluaXQgY2FsbGJhY2sgICovCi0gIHZvaWQgKCogTXNwRGVJbml0Q2FsbGJhY2spKCBzdHJ1Y3QgX19TUERJRlJYX0hhbmRsZVR5cGVEZWYgKiBoc3BkaWYpOyAvKiE8IFNQRElGUlggTXNwIERlSW5pdCBjYWxsYmFjayAgKi8KKyAgdm9pZCAoKiBNc3BJbml0Q2FsbGJhY2spKHN0cnVjdCBfX1NQRElGUlhfSGFuZGxlVHlwZURlZiAqaHNwZGlmKTsgICAgIC8qITwgU1BESUZSWCBNc3AgSW5pdCBjYWxsYmFjayAgKi8KKyAgdm9pZCAoKiBNc3BEZUluaXRDYWxsYmFjaykoc3RydWN0IF9fU1BESUZSWF9IYW5kbGVUeXBlRGVmICpoc3BkaWYpOyAgIC8qITwgU1BESUZSWCBNc3AgRGVJbml0IGNhbGxiYWNrICAqLwogI2VuZGlmIC8qIFVTRV9IQUxfU1BESUZSWF9SRUdJU1RFUl9DQUxMQkFDS1MgKi8KIAogfSBTUERJRlJYX0hhbmRsZVR5cGVEZWY7CkBAIC0xOTAsMTIgKzE4OSwxMiBAQAogICBIQUxfU1BESUZSWF9FUlJPUl9DQl9JRCAgICAgPSAweDA0VSwgICAgLyohPCBTUERJRlJYIGVycm9yIGNhbGxiYWNrICovCiAgIEhBTF9TUERJRlJYX01TUElOSVRfQ0JfSUQgICA9IDB4MDVVLCAgICAvKiE8IFNQRElGUlggTXNwIEluaXQgY2FsbGJhY2sgSUQgICAgICovCiAgIEhBTF9TUERJRlJYX01TUERFSU5JVF9DQl9JRCA9IDB4MDZVICAgICAvKiE8IFNQRElGUlggTXNwIERlSW5pdCBjYWxsYmFjayBJRCAgICovCi19SEFMX1NQRElGUlhfQ2FsbGJhY2tJRFR5cGVEZWY7Cit9IEhBTF9TUERJRlJYX0NhbGxiYWNrSURUeXBlRGVmOwogCiAvKioKICAgKiBAYnJpZWYgIEhBTCBTUERJRlJYIENhbGxiYWNrIHBvaW50ZXIgZGVmaW5pdGlvbgogICAqLwotdHlwZWRlZiAgdm9pZCAoKnBTUERJRlJYX0NhbGxiYWNrVHlwZURlZikoU1BESUZSWF9IYW5kbGVUeXBlRGVmICogaHNwZGlmKTsgLyohPCBwb2ludGVyIHRvIGFuIFNQRElGUlggY2FsbGJhY2sgZnVuY3Rpb24gKi8KK3R5cGVkZWYgIHZvaWQgKCpwU1BESUZSWF9DYWxsYmFja1R5cGVEZWYpKFNQRElGUlhfSGFuZGxlVHlwZURlZiAqaHNwZGlmKTsgIC8qITwgcG9pbnRlciB0byBhbiBTUERJRlJYIGNhbGxiYWNrIGZ1bmN0aW9uICovCiAjZW5kaWYgLyogVVNFX0hBTF9TUERJRlJYX1JFR0lTVEVSX0NBTExCQUNLUyAqLwogCiAvKiBFeHBvcnRlZCBjb25zdGFudHMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwpAQCAtMjY4LDggKzI2Nyw4IEBACiAgICovCiAKIC8qKiBAZGVmZ3JvdXAgU1BESUZSWF9WX01hc2sgU1BESUZSWCBWYWxpZGl0eSBNYXNrCi0qIEB7Ci0qLworICAqIEB7CisgICovCiAjZGVmaW5lIFNQRElGUlhfVkFMSURJVFlNQVNLX09GRiAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDBVKQogI2RlZmluZSBTUERJRlJYX1ZBTElESVRZTUFTS19PTiAgICAgKCh1aW50MzJfdClTUERJRlJYX0NSX1ZNU0spCiAvKioKQEAgLTM2OSwxMCArMzY4LDEwIEBACiAgICovCiAjaWYgKFVTRV9IQUxfU1BESUZSWF9SRUdJU1RFUl9DQUxMQkFDS1MgPT0gMSkKICNkZWZpbmUgX19IQUxfU1BESUZSWF9SRVNFVF9IQU5ETEVfU1RBVEUoX19IQU5ETEVfXykgZG97XAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKF9fSEFORExFX18pLT5TdGF0ZSA9IEhBTF9TUERJRlJYX1NUQVRFX1JFU0VUO1wKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChfX0hBTkRMRV9fKS0+TXNwSW5pdENhbGxiYWNrID0gTlVMTDtcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoX19IQU5ETEVfXyktPk1zcERlSW5pdENhbGxiYWNrID0gTlVMTDtcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH13aGlsZSgwKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKF9fSEFORExFX18pLT5TdGF0ZSA9IEhBTF9TUERJRlJYX1NUQVRFX1JFU0VUO1wKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChfX0hBTkRMRV9fKS0+TXNwSW5pdENhbGxiYWNrID0gTlVMTDtcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoX19IQU5ETEVfXyktPk1zcERlSW5pdENhbGxiYWNrID0gTlVMTDtcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfXdoaWxlKDApCiAjZWxzZQogI2RlZmluZSBfX0hBTF9TUERJRlJYX1JFU0VUX0hBTkRMRV9TVEFURShfX0hBTkRMRV9fKSAoKF9fSEFORExFX18pLT5TdGF0ZSA9IEhBTF9TUERJRlJYX1NUQVRFX1JFU0VUKQogI2VuZGlmIC8qIFVTRV9IQUxfU1BESUZSWF9SRUdJU1RFUl9DQUxMQkFDS1MgKi8KQEAgLTQxMSw3ICs0MTAsOCBAQAogICAqIEByZXR2YWwgTm9uZQogICAqLwogI2RlZmluZSBfX0hBTF9TUERJRlJYX0VOQUJMRV9JVChfX0hBTkRMRV9fLCBfX0lOVEVSUlVQVF9fKSAoKF9fSEFORExFX18pLT5JbnN0YW5jZS0+SU1SIHw9IChfX0lOVEVSUlVQVF9fKSkKLSNkZWZpbmUgX19IQUxfU1BESUZSWF9ESVNBQkxFX0lUKF9fSEFORExFX18sIF9fSU5URVJSVVBUX18pICgoX19IQU5ETEVfXyktPkluc3RhbmNlLT5JTVIgJj0gKHVpbnQxNl90KSh+KF9fSU5URVJSVVBUX18pKSkKKyNkZWZpbmUgX19IQUxfU1BESUZSWF9ESVNBQkxFX0lUKF9fSEFORExFX18sIF9fSU5URVJSVVBUX18pICgoX19IQU5ETEVfXyktPkluc3RhbmNlLT5JTVJcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJj0gKHVpbnQxNl90KSh+KF9fSU5URVJSVVBUX18pKSkKIAogLyoqIEBicmllZiAgQ2hlY2tzIGlmIHRoZSBzcGVjaWZpZWQgU1BESUZSWCBpbnRlcnJ1cHQgc291cmNlIGlzIGVuYWJsZWQgb3IgZGlzYWJsZWQuCiAgICogQHBhcmFtICBfX0hBTkRMRV9fICAgIHNwZWNpZmllcyB0aGUgU1BESUZSWCBIYW5kbGUuCkBAIC00MjYsNyArNDI2LDggQEAKICAgKiAgICAgICAgICAgIEBhcmcgU1BESUZSWF9JVF9JRkVJRQogICAqIEByZXR2YWwgVGhlIG5ldyBzdGF0ZSBvZiBfX0lUX18gKFRSVUUgb3IgRkFMU0UpLgogICAqLwotI2RlZmluZSBfX0hBTF9TUERJRlJYX0dFVF9JVF9TT1VSQ0UoX19IQU5ETEVfXywgX19JTlRFUlJVUFRfXykgKCgoKF9fSEFORExFX18pLT5JbnN0YW5jZS0+SU1SICYgKF9fSU5URVJSVVBUX18pKSA9PSAoX19JTlRFUlJVUFRfXykpID8gU0VUIDogUkVTRVQpCisjZGVmaW5lIF9fSEFMX1NQRElGUlhfR0VUX0lUX1NPVVJDRShfX0hBTkRMRV9fLCBfX0lOVEVSUlVQVF9fKSAoKCgoX19IQU5ETEVfXyktPkluc3RhbmNlLT5JTVJcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmIChfX0lOVEVSUlVQVF9fKSkgPT0gKF9fSU5URVJSVVBUX18pKSA/IFNFVCA6IFJFU0VUKQogCiAvKiogQGJyaWVmICBDaGVja3Mgd2hldGhlciB0aGUgc3BlY2lmaWVkIFNQRElGUlggZmxhZyBpcyBzZXQgb3Igbm90LgogICAqIEBwYXJhbSAgX19IQU5ETEVfXyAgc3BlY2lmaWVzIHRoZSBTUERJRlJYIEhhbmRsZS4KQEAgLTQ0Myw3ICs0NDQsOCBAQAogICAqICAgICAgICAgICAgQGFyZyBTUERJRlJYX0ZMQUdfVEVSUgogICAqIEByZXR2YWwgVGhlIG5ldyBzdGF0ZSBvZiBfX0ZMQUdfXyAoVFJVRSBvciBGQUxTRSkuCiAgICovCi0jZGVmaW5lIF9fSEFMX1NQRElGUlhfR0VUX0ZMQUcoX19IQU5ETEVfXywgX19GTEFHX18pICgoKCgoX19IQU5ETEVfXyktPkluc3RhbmNlLT5TUikgJiAoX19GTEFHX18pKSA9PSAoX19GTEFHX18pKSA/IFNFVCA6IFJFU0VUKQorI2RlZmluZSBfX0hBTF9TUERJRlJYX0dFVF9GTEFHKF9fSEFORExFX18sIF9fRkxBR19fKSAoKCgoKF9fSEFORExFX18pLT5JbnN0YW5jZS0+U1IpXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmIChfX0ZMQUdfXykpID09IChfX0ZMQUdfXykpID8gU0VUIDogUkVTRVQpCiAKIC8qKiBAYnJpZWYgIENsZWFycyB0aGUgc3BlY2lmaWVkIFNQRElGUlggU1IgZmxhZywgaW4gc2V0dGluZyB0aGUgcHJvcGVyIElGQ1IgcmVnaXN0ZXIgYml0LgogICAqIEBwYXJhbSAgX19IQU5ETEVfXyAgICBzcGVjaWZpZXMgdGhlIFVTQVJUIEhhbmRsZS4KQEAgLTQ3MiwxNSArNDc0LDE3IEBACiAgICovCiAvKiBJbml0aWFsaXphdGlvbi9kZS1pbml0aWFsaXphdGlvbiBmdW5jdGlvbnMgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiBIQUxfU3RhdHVzVHlwZURlZiBIQUxfU1BESUZSWF9Jbml0KFNQRElGUlhfSGFuZGxlVHlwZURlZiAqaHNwZGlmKTsKLUhBTF9TdGF0dXNUeXBlRGVmIEhBTF9TUERJRlJYX0RlSW5pdCAoU1BESUZSWF9IYW5kbGVUeXBlRGVmICpoc3BkaWYpOworSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1NQRElGUlhfRGVJbml0KFNQRElGUlhfSGFuZGxlVHlwZURlZiAqaHNwZGlmKTsKIHZvaWQgSEFMX1NQRElGUlhfTXNwSW5pdChTUERJRlJYX0hhbmRsZVR5cGVEZWYgKmhzcGRpZik7CiB2b2lkIEhBTF9TUERJRlJYX01zcERlSW5pdChTUERJRlJYX0hhbmRsZVR5cGVEZWYgKmhzcGRpZik7CiBIQUxfU3RhdHVzVHlwZURlZiBIQUxfU1BESUZSWF9TZXREYXRhRm9ybWF0KFNQRElGUlhfSGFuZGxlVHlwZURlZiAqaHNwZGlmLCBTUERJRlJYX1NldERhdGFGb3JtYXRUeXBlRGVmICBzRGF0YUZvcm1hdCk7CiAKIC8qIENhbGxiYWNrcyBSZWdpc3Rlci9VblJlZ2lzdGVyIGZ1bmN0aW9ucyAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiAjaWYgKFVTRV9IQUxfU1BESUZSWF9SRUdJU1RFUl9DQUxMQkFDS1MgPT0gMSkKLUhBTF9TdGF0dXNUeXBlRGVmIEhBTF9TUERJRlJYX1JlZ2lzdGVyQ2FsbGJhY2soU1BESUZSWF9IYW5kbGVUeXBlRGVmICpoc3BkaWYsIEhBTF9TUERJRlJYX0NhbGxiYWNrSURUeXBlRGVmIENhbGxiYWNrSUQsIHBTUERJRlJYX0NhbGxiYWNrVHlwZURlZiBwQ2FsbGJhY2spOwotSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1NQRElGUlhfVW5SZWdpc3RlckNhbGxiYWNrKFNQRElGUlhfSGFuZGxlVHlwZURlZiAqaHNwZGlmLCBIQUxfU1BESUZSWF9DYWxsYmFja0lEVHlwZURlZiBDYWxsYmFja0lEKTsKK0hBTF9TdGF0dXNUeXBlRGVmIEhBTF9TUERJRlJYX1JlZ2lzdGVyQ2FsbGJhY2soU1BESUZSWF9IYW5kbGVUeXBlRGVmICpoc3BkaWYsIEhBTF9TUERJRlJYX0NhbGxiYWNrSURUeXBlRGVmIENhbGxiYWNrSUQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBTUERJRlJYX0NhbGxiYWNrVHlwZURlZiBwQ2FsbGJhY2spOworSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1NQRElGUlhfVW5SZWdpc3RlckNhbGxiYWNrKFNQRElGUlhfSGFuZGxlVHlwZURlZiAqaHNwZGlmLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9TUERJRlJYX0NhbGxiYWNrSURUeXBlRGVmIENhbGxiYWNrSUQpOwogI2VuZGlmIC8qIFVTRV9IQUxfU1BESUZSWF9SRUdJU1RFUl9DQUxMQkFDS1MgKi8KIC8qKgogICAqIEB9CkBAIC00OTAsOSArNDk0LDExIEBACiAgICogQHsKICAgKi8KIC8qIEkvTyBvcGVyYXRpb24gZnVuY3Rpb25zICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi0gLyogQmxvY2tpbmcgbW9kZTogUG9sbGluZyAqLwotSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1NQRElGUlhfUmVjZWl2ZURhdGFGbG93KFNQRElGUlhfSGFuZGxlVHlwZURlZiAqaHNwZGlmLCB1aW50MzJfdCAqcERhdGEsIHVpbnQxNl90IFNpemUsIHVpbnQzMl90IFRpbWVvdXQpOwotSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1NQRElGUlhfUmVjZWl2ZUNvbnRyb2xGbG93KFNQRElGUlhfSGFuZGxlVHlwZURlZiAqaHNwZGlmLCB1aW50MzJfdCAqcERhdGEsIHVpbnQxNl90IFNpemUsIHVpbnQzMl90IFRpbWVvdXQpOworLyogQmxvY2tpbmcgbW9kZTogUG9sbGluZyAqLworSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1NQRElGUlhfUmVjZWl2ZURhdGFGbG93KFNQRElGUlhfSGFuZGxlVHlwZURlZiAqaHNwZGlmLCB1aW50MzJfdCAqcERhdGEsIHVpbnQxNl90IFNpemUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgVGltZW91dCk7CitIQUxfU3RhdHVzVHlwZURlZiBIQUxfU1BESUZSWF9SZWNlaXZlQ29udHJvbEZsb3coU1BESUZSWF9IYW5kbGVUeXBlRGVmICpoc3BkaWYsIHVpbnQzMl90ICpwRGF0YSwgdWludDE2X3QgU2l6ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBUaW1lb3V0KTsKIAogLyogTm9uLUJsb2NraW5nIG1vZGU6IEludGVycnVwdCAqLwogSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1NQRElGUlhfUmVjZWl2ZUNvbnRyb2xGbG93X0lUKFNQRElGUlhfSGFuZGxlVHlwZURlZiAqaHNwZGlmLCB1aW50MzJfdCAqcERhdGEsIHVpbnQxNl90IFNpemUpOwpAQCAtNTE4LDggKzUyNCw4IEBACiAgICogQHsKICAgKi8KIC8qIFBlcmlwaGVyYWwgQ29udHJvbCBhbmQgU3RhdGUgZnVuY3Rpb25zICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi1IQUxfU1BESUZSWF9TdGF0ZVR5cGVEZWYgSEFMX1NQRElGUlhfR2V0U3RhdGUoU1BESUZSWF9IYW5kbGVUeXBlRGVmIGNvbnN0ICogY29uc3QgaHNwZGlmKTsKLXVpbnQzMl90IEhBTF9TUERJRlJYX0dldEVycm9yKFNQRElGUlhfSGFuZGxlVHlwZURlZiBjb25zdCAqIGNvbnN0IGhzcGRpZik7CitIQUxfU1BESUZSWF9TdGF0ZVR5cGVEZWYgSEFMX1NQRElGUlhfR2V0U3RhdGUoU1BESUZSWF9IYW5kbGVUeXBlRGVmIGNvbnN0ICpjb25zdCBoc3BkaWYpOwordWludDMyX3QgSEFMX1NQRElGUlhfR2V0RXJyb3IoU1BESUZSWF9IYW5kbGVUeXBlRGVmIGNvbnN0ICpjb25zdCBoc3BkaWYpOwogLyoqCiAgICogQH0KICAgKi8KQEAgLTUzNSwzOSArNTQxLDM5IEBACiAgICogQHsKICAgKi8KICNkZWZpbmUgSVNfU1BESUZSWF9JTlBVVF9TRUxFQ1QoSU5QVVQpICAgICAgKCgoSU5QVVQpID09IFNQRElGUlhfSU5QVVRfSU4xKSB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSU5QVVQpID09IFNQRElGUlhfSU5QVVRfSU4yKSAgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOUFVUKSA9PSBTUERJRlJYX0lOUFVUX0lOMykgIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJTlBVVCkgPT0gU1BESUZSWF9JTlBVVF9JTjApKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJTlBVVCkgPT0gU1BESUZSWF9JTlBVVF9JTjIpICB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKElOUFVUKSA9PSBTUERJRlJYX0lOUFVUX0lOMykgIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSU5QVVQpID09IFNQRElGUlhfSU5QVVRfSU4wKSkKIAogI2RlZmluZSBJU19TUERJRlJYX01BWF9SRVRSSUVTKFJFVCkgICAgICAgICAoKChSRVQpID09IFNQRElGUlhfTUFYUkVUUklFU19OT05FKSB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoUkVUKSA9PSBTUERJRlJYX01BWFJFVFJJRVNfMykgICAgIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChSRVQpID09IFNQRElGUlhfTUFYUkVUUklFU18xNSkgICAgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKFJFVCkgPT0gU1BESUZSWF9NQVhSRVRSSUVTXzYzKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoUkVUKSA9PSBTUERJRlJYX01BWFJFVFJJRVNfMykgICAgIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoUkVUKSA9PSBTUERJRlJYX01BWFJFVFJJRVNfMTUpICAgIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoUkVUKSA9PSBTUERJRlJYX01BWFJFVFJJRVNfNjMpKQogCiAjZGVmaW5lIElTX1NQRElGUlhfV0FJVF9GT1JfQUNUSVZJVFkoVkFMKSAgICgoKFZBTCkgPT0gU1BESUZSWF9XQUlURk9SQUNUSVZJVFlfT04pIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChWQUwpID09IFNQRElGUlhfV0FJVEZPUkFDVElWSVRZX09GRikpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKFZBTCkgPT0gU1BESUZSWF9XQUlURk9SQUNUSVZJVFlfT0ZGKSkKIAogI2RlZmluZSBJU19QUkVBTUJMRV9UWVBFX01BU0soVkFMKSAgICAgICAgICAoKChWQUwpID09IFNQRElGUlhfUFJFQU1CTEVUWVBFTUFTS19PTikgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKFZBTCkgPT0gU1BESUZSWF9QUkVBTUJMRVRZUEVNQVNLX09GRikpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKFZBTCkgPT0gU1BESUZSWF9QUkVBTUJMRVRZUEVNQVNLX09GRikpCiAKICNkZWZpbmUgSVNfVkFMSURJVFlfTUFTSyhWQUwpICAgICAgICAgICAgICAgKCgoVkFMKSA9PSBTUERJRlJYX1ZBTElESVRZTUFTS19PRkYpIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChWQUwpID09IFNQRElGUlhfVkFMSURJVFlNQVNLX09OKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoVkFMKSA9PSBTUERJRlJYX1ZBTElESVRZTUFTS19PTikpCiAKICNkZWZpbmUgSVNfUEFSSVRZX0VSUk9SX01BU0soVkFMKSAgICAgICAgICAgKCgoVkFMKSA9PSBTUERJRlJYX1BBUklUWUVSUk9STUFTS19PRkYpIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChWQUwpID09IFNQRElGUlhfUEFSSVRZRVJST1JNQVNLX09OKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoVkFMKSA9PSBTUERJRlJYX1BBUklUWUVSUk9STUFTS19PTikpCiAKICNkZWZpbmUgSVNfU1BESUZSWF9DSEFOTkVMKENIQU5ORUwpICAgICAgICAgKCgoQ0hBTk5FTCkgPT0gU1BESUZSWF9DSEFOTkVMX0EpIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChDSEFOTkVMKSA9PSBTUERJRlJYX0NIQU5ORUxfQikpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKENIQU5ORUwpID09IFNQRElGUlhfQ0hBTk5FTF9CKSkKIAogI2RlZmluZSBJU19TUERJRlJYX0RBVEFfRk9STUFUKEZPUk1BVCkgICAgICAoKChGT1JNQVQpID09IFNQRElGUlhfREFUQUZPUk1BVF9MU0IpIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChGT1JNQVQpID09IFNQRElGUlhfREFUQUZPUk1BVF9NU0IpICB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoRk9STUFUKSA9PSBTUERJRlJYX0RBVEFGT1JNQVRfMzJCSVRTKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoRk9STUFUKSA9PSBTUERJRlJYX0RBVEFGT1JNQVRfTVNCKSAgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChGT1JNQVQpID09IFNQRElGUlhfREFUQUZPUk1BVF8zMkJJVFMpKQogCiAjZGVmaW5lIElTX1NURVJFT19NT0RFKE1PREUpICAgICAgICAgICAgICAgICgoKE1PREUpID09IFNQRElGUlhfU1RFUkVPTU9ERV9ESVNBQkxFKSB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoTU9ERSkgPT0gU1BESUZSWF9TVEVSRU9NT0RFX0VOQUJMRSkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKE1PREUpID09IFNQRElGUlhfU1RFUkVPTU9ERV9FTkFCTEUpKQogCiAjZGVmaW5lIElTX0NIQU5ORUxfU1RBVFVTX01BU0soVkFMKSAgICAgICAgICgoKFZBTCkgPT0gU1BESUZSWF9DSEFOTkVMU1RBVFVTX09OKSB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoVkFMKSA9PSBTUERJRlJYX0NIQU5ORUxTVEFUVVNfT0ZGKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoVkFMKSA9PSBTUERJRlJYX0NIQU5ORUxTVEFUVVNfT0ZGKSkKIAogLyoqCiAgICogQH0KQEAgLTU5NSw2ICs2MDEsNCBAQAogI2VuZGlmCiAKIAotI2VuZGlmIC8qIF9fU1RNMzJGNHh4X0hBTF9TUERJRlJYX0ggKi8KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKiAoQykgQ09QWVJJR0hUIFNUTWljcm9lbGVjdHJvbmljcyAqKioqKkVORCBPRiBGSUxFKioqKi8KKyNlbmRpZiAvKiBTVE0zMkY0eHhfSEFMX1NQRElGUlhfSCAqLwpkaWZmIC0tZ2l0IGEvSW5jL3N0bTMyZjR4eF9oYWxfc3BpLmggYi9JbmMvc3RtMzJmNHh4X2hhbF9zcGkuaAppbmRleCBmMmUwN2MyLi5kNzk5N2EzIDEwMDY0NAotLS0gYS9JbmMvc3RtMzJmNHh4X2hhbF9zcGkuaAorKysgYi9JbmMvc3RtMzJmNHh4X2hhbF9zcGkuaApAQCAtNiwxMyArNiwxMiBAQAogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKiBAYXR0ZW50aW9uCiAgICoKLSAgKiA8aDI+PGNlbnRlcj4mY29weTsgQ29weXJpZ2h0IChjKSAyMDE2IFNUTWljcm9lbGVjdHJvbmljcy4KLSAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvY2VudGVyPjwvaDI+CisgICogQ29weXJpZ2h0IChjKSAyMDE2IFNUTWljcm9lbGVjdHJvbmljcy4KKyAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAqCi0gICogVGhpcyBzb2Z0d2FyZSBjb21wb25lbnQgaXMgbGljZW5zZWQgYnkgU1QgdW5kZXIgQlNEIDMtQ2xhdXNlIGxpY2Vuc2UsCi0gICogdGhlICJMaWNlbnNlIjsgWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZQotICAqIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdDoKLSAgKiAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZQorICAqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgdW5kZXIgdGVybXMgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZQorICAqIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvZnR3YXJlIGNvbXBvbmVudC4KKyAgKiBJZiBubyBMSUNFTlNFIGZpbGUgY29tZXMgd2l0aCB0aGlzIHNvZnR3YXJlLCBpdCBpcyBwcm92aWRlZCBBUy1JUy4KICAgKgogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKi8KQEAgLTY1Niw3ICs2NTUsOCBAQAogCiAvKiBDYWxsYmFja3MgUmVnaXN0ZXIvVW5SZWdpc3RlciBmdW5jdGlvbnMgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwogI2lmIChVU0VfSEFMX1NQSV9SRUdJU1RFUl9DQUxMQkFDS1MgPT0gMVUpCi1IQUxfU3RhdHVzVHlwZURlZiBIQUxfU1BJX1JlZ2lzdGVyQ2FsbGJhY2soU1BJX0hhbmRsZVR5cGVEZWYgKmhzcGksIEhBTF9TUElfQ2FsbGJhY2tJRFR5cGVEZWYgQ2FsbGJhY2tJRCwgcFNQSV9DYWxsYmFja1R5cGVEZWYgcENhbGxiYWNrKTsKK0hBTF9TdGF0dXNUeXBlRGVmIEhBTF9TUElfUmVnaXN0ZXJDYWxsYmFjayhTUElfSGFuZGxlVHlwZURlZiAqaHNwaSwgSEFMX1NQSV9DYWxsYmFja0lEVHlwZURlZiBDYWxsYmFja0lELAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBTUElfQ2FsbGJhY2tUeXBlRGVmIHBDYWxsYmFjayk7CiBIQUxfU3RhdHVzVHlwZURlZiBIQUxfU1BJX1VuUmVnaXN0ZXJDYWxsYmFjayhTUElfSGFuZGxlVHlwZURlZiAqaHNwaSwgSEFMX1NQSV9DYWxsYmFja0lEVHlwZURlZiBDYWxsYmFja0lEKTsKICNlbmRpZiAvKiBVU0VfSEFMX1NQSV9SRUdJU1RFUl9DQUxMQkFDS1MgKi8KIC8qKgpAQCAtNzI3LDQgKzcyNywzIEBACiAKICNlbmRpZiAvKiBTVE0zMkY0eHhfSEFMX1NQSV9IICovCiAKLS8qKioqKioqKioqKioqKioqKioqKioqKiogKEMpIENPUFlSSUdIVCBTVE1pY3JvZWxlY3Ryb25pY3MgKioqKipFTkQgT0YgRklMRSoqKiovCmRpZmYgLS1naXQgYS9JbmMvc3RtMzJmNHh4X2hhbF9zcmFtLmggYi9JbmMvc3RtMzJmNHh4X2hhbF9zcmFtLmgKaW5kZXggMGM3YjA4ZC4uZTEzNWFhMSAxMDA2NDQKLS0tIGEvSW5jL3N0bTMyZjR4eF9oYWxfc3JhbS5oCisrKyBiL0luYy9zdG0zMmY0eHhfaGFsX3NyYW0uaApAQCAtNiw1OCArNiw0OCBAQAogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKiBAYXR0ZW50aW9uCiAgICoKLSAgKiA8aDI+PGNlbnRlcj4mY29weTsgQ29weXJpZ2h0IChjKSAyMDE3IFNUTWljcm9lbGVjdHJvbmljcy4KLSAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvY2VudGVyPjwvaDI+CisgICogQ29weXJpZ2h0IChjKSAyMDE2IFNUTWljcm9lbGVjdHJvbmljcy4KKyAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAqCi0gICogVGhpcyBzb2Z0d2FyZSBjb21wb25lbnQgaXMgbGljZW5zZWQgYnkgU1QgdW5kZXIgQlNEIDMtQ2xhdXNlIGxpY2Vuc2UsCi0gICogdGhlICJMaWNlbnNlIjsgWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZQotICAqIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdDoKLSAgKiAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZQorICAqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgdW5kZXIgdGVybXMgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZQorICAqIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvZnR3YXJlIGNvbXBvbmVudC4KKyAgKiBJZiBubyBMSUNFTlNFIGZpbGUgY29tZXMgd2l0aCB0aGlzIHNvZnR3YXJlLCBpdCBpcyBwcm92aWRlZCBBUy1JUy4KICAgKgogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAgKi8gCisgICovCiAKIC8qIERlZmluZSB0byBwcmV2ZW50IHJlY3Vyc2l2ZSBpbmNsdXNpb24gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCi0jaWZuZGVmIF9fU1RNMzJGNHh4X0hBTF9TUkFNX0gKLSNkZWZpbmUgX19TVE0zMkY0eHhfSEFMX1NSQU1fSAorI2lmbmRlZiBTVE0zMkY0eHhfSEFMX1NSQU1fSAorI2RlZmluZSBTVE0zMkY0eHhfSEFMX1NSQU1fSAogCiAjaWZkZWYgX19jcGx1c3BsdXMKLSBleHRlcm4gIkMiIHsKK2V4dGVybiAiQyIgewogI2VuZGlmCiAKKyNpZiBkZWZpbmVkKEZNQ19CYW5rMSkgfHwgZGVmaW5lZChGU01DX0JhbmsxKQorCiAvKiBJbmNsdWRlcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwotI2lmIGRlZmluZWQoU1RNMzJGNDA1eHgpIHx8IGRlZmluZWQoU1RNMzJGNDE1eHgpIHx8IGRlZmluZWQoU1RNMzJGNDA3eHgpIHx8IGRlZmluZWQoU1RNMzJGNDE3eHgpIHx8IGRlZmluZWQoU1RNMzJGNDEyWngpIHx8XAotICAgIGRlZmluZWQoU1RNMzJGNDEyVngpIHx8IGRlZmluZWQoU1RNMzJGNDEyUngpIHx8IGRlZmluZWQoU1RNMzJGNDEzeHgpIHx8IGRlZmluZWQoU1RNMzJGNDIzeHgpCi0gICNpbmNsdWRlICJzdG0zMmY0eHhfbGxfZnNtYy5oIgotI2VuZGlmIC8qIFNUTTMyRjQwNXh4IHx8IFNUTTMyRjQxNXh4IHx8IFNUTTMyRjQwN3h4IHx8IFNUTTMyRjQxN3h4IHx8IFNUTTMyRjQxMlp4IHx8IFNUTTMyRjQxMlZ4IHx8IFNUTTMyRjQxMlJ4IHx8IFNUTTMyRjQxM3h4IHx8IFNUTTMyRjQyM3h4ICovCi0KLSNpZiBkZWZpbmVkKFNUTTMyRjQyN3h4KSB8fCBkZWZpbmVkKFNUTTMyRjQzN3h4KSB8fCBkZWZpbmVkKFNUTTMyRjQyOXh4KXx8IGRlZmluZWQoU1RNMzJGNDM5eHgpIHx8XAotIGRlZmluZWQoU1RNMzJGNDQ2eHgpIHx8IGRlZmluZWQoU1RNMzJGNDY5eHgpIHx8IGRlZmluZWQoU1RNMzJGNDc5eHgpCi0gICNpbmNsdWRlICJzdG0zMmY0eHhfbGxfZm1jLmgiCi0jZW5kaWYgLyogU1RNMzJGNDI3eHggfHwgU1RNMzJGNDM3eHggfHwgU1RNMzJGNDI5eHggfHwgU1RNMzJGNDM5eHggfHwgU1RNMzJGNDQ2eHggfHwgU1RNMzJGNDY5eHggfHwgU1RNMzJGNDc5eHggKi8KLQorI2lmIGRlZmluZWQoRlNNQ19CYW5rMSkKKyNpbmNsdWRlICJzdG0zMmY0eHhfbGxfZnNtYy5oIgorI2Vsc2UKKyNpbmNsdWRlICJzdG0zMmY0eHhfbGxfZm1jLmgiCisjZW5kaWYgLyogRlNNQ19CYW5rMSAqLwogCiAvKiogQGFkZHRvZ3JvdXAgU1RNMzJGNHh4X0hBTF9Ecml2ZXIKICAgKiBAewogICAqLwotCi0jaWYgZGVmaW5lZChTVE0zMkY0MDV4eCkgfHwgZGVmaW5lZChTVE0zMkY0MTV4eCkgfHwgZGVmaW5lZChTVE0zMkY0MDd4eCkgfHwgZGVmaW5lZChTVE0zMkY0MTd4eCkgfHxcCi0gICAgZGVmaW5lZChTVE0zMkY0Mjd4eCkgfHwgZGVmaW5lZChTVE0zMkY0Mzd4eCkgfHwgZGVmaW5lZChTVE0zMkY0Mjl4eCkgfHwgZGVmaW5lZChTVE0zMkY0Mzl4eCkgfHxcCi0gICAgZGVmaW5lZChTVE0zMkY0NDZ4eCkgfHwgZGVmaW5lZChTVE0zMkY0Njl4eCkgfHwgZGVmaW5lZChTVE0zMkY0Nzl4eCkgfHwgZGVmaW5lZChTVE0zMkY0MTJaeCkgfHxcCi0gICAgZGVmaW5lZChTVE0zMkY0MTJWeCkgfHwgZGVmaW5lZChTVE0zMkY0MTJSeCkgfHwgZGVmaW5lZChTVE0zMkY0MTN4eCkgfHwgZGVmaW5lZChTVE0zMkY0MjN4eCkKLQogLyoqIEBhZGR0b2dyb3VwIFNSQU0KICAgKiBAewotICAqLyAKKyAgKi8KIAogLyogRXhwb3J0ZWQgdHlwZWRlZiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KIAogLyoqIEBkZWZncm91cCBTUkFNX0V4cG9ydGVkX1R5cGVzIFNSQU0gRXhwb3J0ZWQgVHlwZXMKICAgKiBAewotICAqLyAKLS8qKiAKLSAgKiBAYnJpZWYgIEhBTCBTUkFNIFN0YXRlIHN0cnVjdHVyZXMgZGVmaW5pdGlvbiAgCi0gICovIAorICAqLworLyoqCisgICogQGJyaWVmICBIQUwgU1JBTSBTdGF0ZSBzdHJ1Y3R1cmVzIGRlZmluaXRpb24KKyAgKi8KIHR5cGVkZWYgZW51bQogewogICBIQUxfU1JBTV9TVEFURV9SRVNFVCAgICAgPSAweDAwVSwgIC8qITwgU1JBTSBub3QgeWV0IGluaXRpYWxpemVkIG9yIGRpc2FibGVkICAgICAgICAgICAqLwpAQCAtNzUsMjYgKzY1LDI2IEBACiB0eXBlZGVmIHN0cnVjdCBfX1NSQU1fSGFuZGxlVHlwZURlZgogI2Vsc2UKIHR5cGVkZWYgc3RydWN0Ci0jZW5kaWYgLyogVVNFX0hBTF9TUkFNX1JFR0lTVEVSX0NBTExCQUNLUyAgKi8JCisjZW5kaWYgLyogVVNFX0hBTF9TUkFNX1JFR0lTVEVSX0NBTExCQUNLUyAgKi8KIHsKLSAgRk1DX05PUlNSQU1fVHlwZURlZiAgICAgICAgICAgKkluc3RhbmNlOyAgLyohPCBSZWdpc3RlciBiYXNlIGFkZHJlc3MgICAgICAgICAgICAgICAgICAgICAgICAqLyAKLSAgCisgIEZNQ19OT1JTUkFNX1R5cGVEZWYgICAgICAgICAgICpJbnN0YW5jZTsgIC8qITwgUmVnaXN0ZXIgYmFzZSBhZGRyZXNzICAgICAgICAgICAgICAgICAgICAgICAgKi8KKwogICBGTUNfTk9SU1JBTV9FWFRFTkRFRF9UeXBlRGVmICAqRXh0ZW5kZWQ7ICAvKiE8IEV4dGVuZGVkIG1vZGUgcmVnaXN0ZXIgYmFzZSBhZGRyZXNzICAgICAgICAgICovCi0gIAorCiAgIEZNQ19OT1JTUkFNX0luaXRUeXBlRGVmICAgICAgIEluaXQ7ICAgICAgIC8qITwgU1JBTSBkZXZpY2UgY29udHJvbCBjb25maWd1cmF0aW9uIHBhcmFtZXRlcnMgKi8KIAotICBIQUxfTG9ja1R5cGVEZWYgICAgICAgICAgICAgICBMb2NrOyAgICAgICAvKiE8IFNSQU0gbG9ja2luZyBvYmplY3QgICAgICAgICAgICAgICAgICAgICAgICAgICovIAotICAKKyAgSEFMX0xvY2tUeXBlRGVmICAgICAgICAgICAgICAgTG9jazsgICAgICAgLyohPCBTUkFNIGxvY2tpbmcgb2JqZWN0ICAgICAgICAgICAgICAgICAgICAgICAgICAqLworCiAgIF9fSU8gSEFMX1NSQU1fU3RhdGVUeXBlRGVmICAgIFN0YXRlOyAgICAgIC8qITwgU1JBTSBkZXZpY2UgYWNjZXNzIHN0YXRlICAgICAgICAgICAgICAgICAgICAgKi8KLSAgCisKICAgRE1BX0hhbmRsZVR5cGVEZWYgICAgICAgICAgICAgKmhkbWE7ICAgICAgLyohPCBQb2ludGVyIERNQSBoYW5kbGVyICAgICAgICAgICAgICAgICAgICAgICAgICAqLwogCiAjaWYgKFVTRV9IQUxfU1JBTV9SRUdJU1RFUl9DQUxMQkFDS1MgPT0gMSkKLSAgdm9pZCAgKCogTXNwSW5pdENhbGxiYWNrKSAgICAgICAgKCBzdHJ1Y3QgX19TUkFNX0hhbmRsZVR5cGVEZWYgKiBoc3JhbSk7ICAgIC8qITwgU1JBTSBNc3AgSW5pdCBjYWxsYmFjayAgICAgICAgICAgICAgKi8KLSAgdm9pZCAgKCogTXNwRGVJbml0Q2FsbGJhY2spICAgICAgKCBzdHJ1Y3QgX19TUkFNX0hhbmRsZVR5cGVEZWYgKiBoc3JhbSk7ICAgIC8qITwgU1JBTSBNc3AgRGVJbml0IGNhbGxiYWNrICAgICAgICAgICAgKi8KLSAgdm9pZCAgKCogRG1hWGZlckNwbHRDYWxsYmFjaykgICAgKCBETUFfSGFuZGxlVHlwZURlZiAqIGhkbWEpOyAgICAgICAgICAgICAgIC8qITwgU1JBTSBETUEgWGZlciBDb21wbGV0ZSBjYWxsYmFjayAgICAgKi8KLSAgdm9pZCAgKCogRG1hWGZlckVycm9yQ2FsbGJhY2spICAgKCBETUFfSGFuZGxlVHlwZURlZiAqIGhkbWEpOyAgICAgICAgICAgICAgIC8qITwgU1JBTSBETUEgWGZlciBFcnJvciBjYWxsYmFjayAgICAgICAgKi8KLSNlbmRpZgorICB2b2lkICgqIE1zcEluaXRDYWxsYmFjaykoc3RydWN0IF9fU1JBTV9IYW5kbGVUeXBlRGVmICpoc3JhbSk7ICAgICAgICAgICAgICAgLyohPCBTUkFNIE1zcCBJbml0IGNhbGxiYWNrICAgICAgICAgICAgICAqLworICB2b2lkICgqIE1zcERlSW5pdENhbGxiYWNrKShzdHJ1Y3QgX19TUkFNX0hhbmRsZVR5cGVEZWYgKmhzcmFtKTsgICAgICAgICAgICAgLyohPCBTUkFNIE1zcCBEZUluaXQgY2FsbGJhY2sgICAgICAgICAgICAqLworICB2b2lkICgqIERtYVhmZXJDcGx0Q2FsbGJhY2spKERNQV9IYW5kbGVUeXBlRGVmICpoZG1hKTsgICAgICAgICAgICAgICAgICAgICAgLyohPCBTUkFNIERNQSBYZmVyIENvbXBsZXRlIGNhbGxiYWNrICAgICAqLworICB2b2lkICgqIERtYVhmZXJFcnJvckNhbGxiYWNrKShETUFfSGFuZGxlVHlwZURlZiAqaGRtYSk7ICAgICAgICAgICAgICAgICAgICAgLyohPCBTUkFNIERNQSBYZmVyIEVycm9yIGNhbGxiYWNrICAgICAgICAqLworI2VuZGlmIC8qIFVTRV9IQUxfU1JBTV9SRUdJU1RFUl9DQUxMQkFDS1MgICovCiB9IFNSQU1fSGFuZGxlVHlwZURlZjsKIAogI2lmIChVU0VfSEFMX1NSQU1fUkVHSVNURVJfQ0FMTEJBQ0tTID09IDEpCkBAIC0xMDcsMTQgKzk3LDE0IEBACiAgIEhBTF9TUkFNX01TUF9ERUlOSVRfQ0JfSUQgICAgID0gMHgwMVUsICAvKiE8IFNSQU0gTXNwRGVJbml0IENhbGxiYWNrIElEICAgICAgICAgKi8KICAgSEFMX1NSQU1fRE1BX1hGRVJfQ1BMVF9DQl9JRCAgPSAweDAyVSwgIC8qITwgU1JBTSBETUEgWGZlciBDb21wbGV0ZSBDYWxsYmFjayBJRCAqLwogICBIQUxfU1JBTV9ETUFfWEZFUl9FUlJfQ0JfSUQgICA9IDB4MDNVICAgLyohPCBTUkFNIERNQSBYZmVyIENvbXBsZXRlIENhbGxiYWNrIElEICovCi19SEFMX1NSQU1fQ2FsbGJhY2tJRFR5cGVEZWY7Cit9IEhBTF9TUkFNX0NhbGxiYWNrSURUeXBlRGVmOwogCiAvKioKICAgKiBAYnJpZWYgIEhBTCBTUkFNIENhbGxiYWNrIHBvaW50ZXIgZGVmaW5pdGlvbgogICAqLwogdHlwZWRlZiB2b2lkICgqcFNSQU1fQ2FsbGJhY2tUeXBlRGVmKShTUkFNX0hhbmRsZVR5cGVEZWYgKmhzcmFtKTsKIHR5cGVkZWYgdm9pZCAoKnBTUkFNX0RtYUNhbGxiYWNrVHlwZURlZikoRE1BX0hhbmRsZVR5cGVEZWYgKmhkbWEpOwotI2VuZGlmCisjZW5kaWYgLyogVVNFX0hBTF9TUkFNX1JFR0lTVEVSX0NBTExCQUNLUyAgKi8KIC8qKgogICAqIEB9CiAgICovCkBAIC0xMjUsNiArMTE1LDcgQEAKIC8qKiBAZGVmZ3JvdXAgU1JBTV9FeHBvcnRlZF9NYWNyb3MgU1JBTSBFeHBvcnRlZCBNYWNyb3MKICAgKiBAewogICAqLworCiAvKiogQGJyaWVmIFJlc2V0IFNSQU0gaGFuZGxlIHN0YXRlCiAgICogQHBhcmFtICBfX0hBTkRMRV9fIFNSQU0gaGFuZGxlCiAgICogQHJldHZhbCBOb25lCkBAIC0xMzcsNjkgKzEyOCw5MyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gd2hpbGUoMCkKICNlbHNlCiAjZGVmaW5lIF9fSEFMX1NSQU1fUkVTRVRfSEFORExFX1NUQVRFKF9fSEFORExFX18pICgoX19IQU5ETEVfXyktPlN0YXRlID0gSEFMX1NSQU1fU1RBVEVfUkVTRVQpCi0jZW5kaWYKKyNlbmRpZiAvKiBVU0VfSEFMX1NSQU1fUkVHSVNURVJfQ0FMTEJBQ0tTICAqLwogCiAvKioKICAgKiBAfQogICAqLworCiAvKiBFeHBvcnRlZCBmdW5jdGlvbnMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworLyoqIEBhZGR0b2dyb3VwIFNSQU1fRXhwb3J0ZWRfRnVuY3Rpb25zIFNSQU0gRXhwb3J0ZWQgRnVuY3Rpb25zCisgICogQHsKKyAgKi8KIAotLyoqIEBhZGR0b2dyb3VwIFNSQU1fRXhwb3J0ZWRfRnVuY3Rpb25zCi0gKiAgQHsKLSAqLworLyoqIEBhZGR0b2dyb3VwIFNSQU1fRXhwb3J0ZWRfRnVuY3Rpb25zX0dyb3VwMSBJbml0aWFsaXphdGlvbiBhbmQgZGUtaW5pdGlhbGl6YXRpb24gZnVuY3Rpb25zCisgICogQHsKKyAgKi8KIAotLyoqIEBhZGR0b2dyb3VwIFNSQU1fRXhwb3J0ZWRfRnVuY3Rpb25zX0dyb3VwMQotICogIEB7Ci0gKi8KLS8qIEluaXRpYWxpemF0aW9uL2RlLWluaXRpYWxpemF0aW9uIGZ1bmN0aW9ucyAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KLUhBTF9TdGF0dXNUeXBlRGVmIEhBTF9TUkFNX0luaXQoU1JBTV9IYW5kbGVUeXBlRGVmICpoc3JhbSwgRk1DX05PUlNSQU1fVGltaW5nVHlwZURlZiAqVGltaW5nLCBGTUNfTk9SU1JBTV9UaW1pbmdUeXBlRGVmICpFeHRUaW1pbmcpOworLyogSW5pdGlhbGl6YXRpb24vZGUtaW5pdGlhbGl6YXRpb24gZnVuY3Rpb25zICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK0hBTF9TdGF0dXNUeXBlRGVmIEhBTF9TUkFNX0luaXQoU1JBTV9IYW5kbGVUeXBlRGVmICpoc3JhbSwgRk1DX05PUlNSQU1fVGltaW5nVHlwZURlZiAqVGltaW5nLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGTUNfTk9SU1JBTV9UaW1pbmdUeXBlRGVmICpFeHRUaW1pbmcpOwogSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1NSQU1fRGVJbml0KFNSQU1fSGFuZGxlVHlwZURlZiAqaHNyYW0pOwotdm9pZCAgICAgICAgICAgICAgSEFMX1NSQU1fTXNwSW5pdChTUkFNX0hhbmRsZVR5cGVEZWYgKmhzcmFtKTsKLXZvaWQgICAgICAgICAgICAgIEhBTF9TUkFNX01zcERlSW5pdChTUkFNX0hhbmRsZVR5cGVEZWYgKmhzcmFtKTsKK3ZvaWQgSEFMX1NSQU1fTXNwSW5pdChTUkFNX0hhbmRsZVR5cGVEZWYgKmhzcmFtKTsKK3ZvaWQgSEFMX1NSQU1fTXNwRGVJbml0KFNSQU1fSGFuZGxlVHlwZURlZiAqaHNyYW0pOwogCi12b2lkICAgICAgICAgICAgICBIQUxfU1JBTV9ETUFfWGZlckNwbHRDYWxsYmFjayhETUFfSGFuZGxlVHlwZURlZiAqaGRtYSk7Ci12b2lkICAgICAgICAgICAgICBIQUxfU1JBTV9ETUFfWGZlckVycm9yQ2FsbGJhY2soRE1BX0hhbmRsZVR5cGVEZWYgKmhkbWEpOwogLyoqCiAgICogQH0KLSAgKi8gCisgICovCiAKLS8qKiBAYWRkdG9ncm91cCBTUkFNX0V4cG9ydGVkX0Z1bmN0aW9uc19Hcm91cDIKLSAqICBAewotICovCi0vKiBJL08gb3BlcmF0aW9uIGZ1bmN0aW9ucyAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi1IQUxfU3RhdHVzVHlwZURlZiBIQUxfU1JBTV9SZWFkXzhiKFNSQU1fSGFuZGxlVHlwZURlZiAqaHNyYW0sIHVpbnQzMl90ICpwQWRkcmVzcywgdWludDhfdCAqcERzdEJ1ZmZlciwgdWludDMyX3QgQnVmZmVyU2l6ZSk7Ci1IQUxfU3RhdHVzVHlwZURlZiBIQUxfU1JBTV9Xcml0ZV84YihTUkFNX0hhbmRsZVR5cGVEZWYgKmhzcmFtLCB1aW50MzJfdCAqcEFkZHJlc3MsIHVpbnQ4X3QgKnBTcmNCdWZmZXIsIHVpbnQzMl90IEJ1ZmZlclNpemUpOwotSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1NSQU1fUmVhZF8xNmIoU1JBTV9IYW5kbGVUeXBlRGVmICpoc3JhbSwgdWludDMyX3QgKnBBZGRyZXNzLCB1aW50MTZfdCAqcERzdEJ1ZmZlciwgdWludDMyX3QgQnVmZmVyU2l6ZSk7Ci1IQUxfU3RhdHVzVHlwZURlZiBIQUxfU1JBTV9Xcml0ZV8xNmIoU1JBTV9IYW5kbGVUeXBlRGVmICpoc3JhbSwgdWludDMyX3QgKnBBZGRyZXNzLCB1aW50MTZfdCAqcFNyY0J1ZmZlciwgdWludDMyX3QgQnVmZmVyU2l6ZSk7Ci1IQUxfU3RhdHVzVHlwZURlZiBIQUxfU1JBTV9SZWFkXzMyYihTUkFNX0hhbmRsZVR5cGVEZWYgKmhzcmFtLCB1aW50MzJfdCAqcEFkZHJlc3MsIHVpbnQzMl90ICpwRHN0QnVmZmVyLCB1aW50MzJfdCBCdWZmZXJTaXplKTsKLUhBTF9TdGF0dXNUeXBlRGVmIEhBTF9TUkFNX1dyaXRlXzMyYihTUkFNX0hhbmRsZVR5cGVEZWYgKmhzcmFtLCB1aW50MzJfdCAqcEFkZHJlc3MsIHVpbnQzMl90ICpwU3JjQnVmZmVyLCB1aW50MzJfdCBCdWZmZXJTaXplKTsKLUhBTF9TdGF0dXNUeXBlRGVmIEhBTF9TUkFNX1JlYWRfRE1BKFNSQU1fSGFuZGxlVHlwZURlZiAqaHNyYW0sIHVpbnQzMl90ICpwQWRkcmVzcywgdWludDMyX3QgKnBEc3RCdWZmZXIsIHVpbnQzMl90IEJ1ZmZlclNpemUpOwotSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1NSQU1fV3JpdGVfRE1BKFNSQU1fSGFuZGxlVHlwZURlZiAqaHNyYW0sIHVpbnQzMl90ICpwQWRkcmVzcywgdWludDMyX3QgKnBTcmNCdWZmZXIsIHVpbnQzMl90IEJ1ZmZlclNpemUpOworLyoqIEBhZGR0b2dyb3VwIFNSQU1fRXhwb3J0ZWRfRnVuY3Rpb25zX0dyb3VwMiBJbnB1dCBPdXRwdXQgYW5kIG1lbW9yeSBjb250cm9sIGZ1bmN0aW9ucworICAqIEB7CisgICovCisKKy8qIEkvTyBvcGVyYXRpb24gZnVuY3Rpb25zICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitIQUxfU3RhdHVzVHlwZURlZiBIQUxfU1JBTV9SZWFkXzhiKFNSQU1fSGFuZGxlVHlwZURlZiAqaHNyYW0sIHVpbnQzMl90ICpwQWRkcmVzcywgdWludDhfdCAqcERzdEJ1ZmZlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgQnVmZmVyU2l6ZSk7CitIQUxfU3RhdHVzVHlwZURlZiBIQUxfU1JBTV9Xcml0ZV84YihTUkFNX0hhbmRsZVR5cGVEZWYgKmhzcmFtLCB1aW50MzJfdCAqcEFkZHJlc3MsIHVpbnQ4X3QgKnBTcmNCdWZmZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBCdWZmZXJTaXplKTsKK0hBTF9TdGF0dXNUeXBlRGVmIEhBTF9TUkFNX1JlYWRfMTZiKFNSQU1fSGFuZGxlVHlwZURlZiAqaHNyYW0sIHVpbnQzMl90ICpwQWRkcmVzcywgdWludDE2X3QgKnBEc3RCdWZmZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBCdWZmZXJTaXplKTsKK0hBTF9TdGF0dXNUeXBlRGVmIEhBTF9TUkFNX1dyaXRlXzE2YihTUkFNX0hhbmRsZVR5cGVEZWYgKmhzcmFtLCB1aW50MzJfdCAqcEFkZHJlc3MsIHVpbnQxNl90ICpwU3JjQnVmZmVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IEJ1ZmZlclNpemUpOworSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1NSQU1fUmVhZF8zMmIoU1JBTV9IYW5kbGVUeXBlRGVmICpoc3JhbSwgdWludDMyX3QgKnBBZGRyZXNzLCB1aW50MzJfdCAqcERzdEJ1ZmZlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IEJ1ZmZlclNpemUpOworSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1NSQU1fV3JpdGVfMzJiKFNSQU1fSGFuZGxlVHlwZURlZiAqaHNyYW0sIHVpbnQzMl90ICpwQWRkcmVzcywgdWludDMyX3QgKnBTcmNCdWZmZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgQnVmZmVyU2l6ZSk7CitIQUxfU3RhdHVzVHlwZURlZiBIQUxfU1JBTV9SZWFkX0RNQShTUkFNX0hhbmRsZVR5cGVEZWYgKmhzcmFtLCB1aW50MzJfdCAqcEFkZHJlc3MsIHVpbnQzMl90ICpwRHN0QnVmZmVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgQnVmZmVyU2l6ZSk7CitIQUxfU3RhdHVzVHlwZURlZiBIQUxfU1JBTV9Xcml0ZV9ETUEoU1JBTV9IYW5kbGVUeXBlRGVmICpoc3JhbSwgdWludDMyX3QgKnBBZGRyZXNzLCB1aW50MzJfdCAqcFNyY0J1ZmZlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBCdWZmZXJTaXplKTsKKwordm9pZCBIQUxfU1JBTV9ETUFfWGZlckNwbHRDYWxsYmFjayhETUFfSGFuZGxlVHlwZURlZiAqaGRtYSk7Cit2b2lkIEhBTF9TUkFNX0RNQV9YZmVyRXJyb3JDYWxsYmFjayhETUFfSGFuZGxlVHlwZURlZiAqaGRtYSk7CisKICNpZiAoVVNFX0hBTF9TUkFNX1JFR0lTVEVSX0NBTExCQUNLUyA9PSAxKQogLyogU1JBTSBjYWxsYmFjayByZWdpc3RlcmluZy91bnJlZ2lzdGVyaW5nICovCi1IQUxfU3RhdHVzVHlwZURlZiBIQUxfU1JBTV9SZWdpc3RlckNhbGxiYWNrKFNSQU1fSGFuZGxlVHlwZURlZiAqaHNyYW0sIEhBTF9TUkFNX0NhbGxiYWNrSURUeXBlRGVmIENhbGxiYWNrSWQsIHBTUkFNX0NhbGxiYWNrVHlwZURlZiBwQ2FsbGJhY2spOworSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1NSQU1fUmVnaXN0ZXJDYWxsYmFjayhTUkFNX0hhbmRsZVR5cGVEZWYgKmhzcmFtLCBIQUxfU1JBTV9DYWxsYmFja0lEVHlwZURlZiBDYWxsYmFja0lkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwU1JBTV9DYWxsYmFja1R5cGVEZWYgcENhbGxiYWNrKTsKIEhBTF9TdGF0dXNUeXBlRGVmIEhBTF9TUkFNX1VuUmVnaXN0ZXJDYWxsYmFjayhTUkFNX0hhbmRsZVR5cGVEZWYgKmhzcmFtLCBIQUxfU1JBTV9DYWxsYmFja0lEVHlwZURlZiBDYWxsYmFja0lkKTsKLUhBTF9TdGF0dXNUeXBlRGVmIEhBTF9TUkFNX1JlZ2lzdGVyRG1hQ2FsbGJhY2soU1JBTV9IYW5kbGVUeXBlRGVmICpoc3JhbSwgSEFMX1NSQU1fQ2FsbGJhY2tJRFR5cGVEZWYgQ2FsbGJhY2tJZCwgcFNSQU1fRG1hQ2FsbGJhY2tUeXBlRGVmIHBDYWxsYmFjayk7Ci0jZW5kaWYKK0hBTF9TdGF0dXNUeXBlRGVmIEhBTF9TUkFNX1JlZ2lzdGVyRG1hQ2FsbGJhY2soU1JBTV9IYW5kbGVUeXBlRGVmICpoc3JhbSwgSEFMX1NSQU1fQ2FsbGJhY2tJRFR5cGVEZWYgQ2FsbGJhY2tJZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcFNSQU1fRG1hQ2FsbGJhY2tUeXBlRGVmIHBDYWxsYmFjayk7CisjZW5kaWYgLyogVVNFX0hBTF9TUkFNX1JFR0lTVEVSX0NBTExCQUNLUyAgKi8KKwogLyoqCiAgICogQH0KLSAgKi8gCisgICovCiAKLS8qKiBAYWRkdG9ncm91cCBTUkFNX0V4cG9ydGVkX0Z1bmN0aW9uc19Hcm91cDMKLSAqICBAewotICovCi0vKiBTUkFNIENvbnRyb2wgZnVuY3Rpb25zICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKiogQGFkZHRvZ3JvdXAgU1JBTV9FeHBvcnRlZF9GdW5jdGlvbnNfR3JvdXAzIENvbnRyb2wgZnVuY3Rpb25zCisgICogQHsKKyAgKi8KKworLyogU1JBTSBDb250cm9sIGZ1bmN0aW9ucyAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KIEhBTF9TdGF0dXNUeXBlRGVmIEhBTF9TUkFNX1dyaXRlT3BlcmF0aW9uX0VuYWJsZShTUkFNX0hhbmRsZVR5cGVEZWYgKmhzcmFtKTsKIEhBTF9TdGF0dXNUeXBlRGVmIEhBTF9TUkFNX1dyaXRlT3BlcmF0aW9uX0Rpc2FibGUoU1JBTV9IYW5kbGVUeXBlRGVmICpoc3JhbSk7CisKIC8qKgogICAqIEB9Ci0gICovIAorICAqLwogCi0vKiogQGFkZHRvZ3JvdXAgU1JBTV9FeHBvcnRlZF9GdW5jdGlvbnNfR3JvdXA0Ci0gKiAgQHsKLSAqLwotLyogU1JBTSBTdGF0ZSBmdW5jdGlvbnMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyoqIEBhZGR0b2dyb3VwIFNSQU1fRXhwb3J0ZWRfRnVuY3Rpb25zX0dyb3VwNCBQZXJpcGhlcmFsIFN0YXRlIGZ1bmN0aW9ucworICAqIEB7CisgICovCisKKy8qIFNSQU0gIFN0YXRlIGZ1bmN0aW9ucyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiBIQUxfU1JBTV9TdGF0ZVR5cGVEZWYgSEFMX1NSQU1fR2V0U3RhdGUoU1JBTV9IYW5kbGVUeXBlRGVmICpoc3JhbSk7CisKKy8qKgorICAqIEB9CisgICovCisKIC8qKgogICAqIEB9CiAgICovCkBAIC0yMDgsMjUgKzIyMywxNCBAQAogICAqIEB9CiAgICovCiAKLS8qIFByaXZhdGUgdHlwZXMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCi0vKiBQcml2YXRlIHZhcmlhYmxlcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwotLyogUHJpdmF0ZSBjb25zdGFudHMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KLS8qIFByaXZhdGUgbWFjcm9zIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCi0vKiBQcml2YXRlIGZ1bmN0aW9ucyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwotLyoqCi0gICogQH0KLSAgKi8gCi0KLSNlbmRpZiAvKiBTVE0zMkY0MDV4eCB8fCBTVE0zMkY0MTV4eCB8fCBTVE0zMkY0MDd4eCB8fCBTVE0zMkY0MTd4eCB8fCBTVE0zMkY0Mjd4eCB8fCBTVE0zMkY0Mzd4eCB8fFwKLSAgICAgICAgICBTVE0zMkY0Mjl4eCB8fCBTVE0zMkY0Mzl4eCB8fCBTVE0zMkY0NDZ4eCB8fCBTVE0zMkY0Njl4eCB8fCBTVE0zMkY0Nzl4eCB8fCBTVE0zMkY0MTJaeCB8fFwKLSAgICAgICAgICBTVE0zMkY0MTJWeCB8fCBTVE0zMkY0MTJSeCB8fCBTVE0zMkY0MTN4eCB8fCBTVE0zMkY0MjN4eCAqLwogLyoqCiAgICogQH0KICAgKi8KKworI2VuZGlmIC8qIEZNQ19CYW5rMSB8fCBGU01DX0JhbmsxICovCisKICNpZmRlZiBfX2NwbHVzcGx1cwogfQogI2VuZGlmCiAKLSNlbmRpZiAvKiBfX1NUTTMyRjR4eF9IQUxfU1JBTV9IICovCi0KLS8qKioqKioqKioqKioqKioqKioqKioqKiogKEMpIENPUFlSSUdIVCBTVE1pY3JvZWxlY3Ryb25pY3MgKioqKipFTkQgT0YgRklMRSoqKiovCisjZW5kaWYgLyogU1RNMzJGNHh4X0hBTF9TUkFNX0ggKi8KZGlmZiAtLWdpdCBhL0luYy9zdG0zMmY0eHhfaGFsX3RpbS5oIGIvSW5jL3N0bTMyZjR4eF9oYWxfdGltLmgKaW5kZXggMjMyMmJmMC4uOGM4MTQxNCAxMDA2NDQKLS0tIGEvSW5jL3N0bTMyZjR4eF9oYWxfdGltLmgKKysrIGIvSW5jL3N0bTMyZjR4eF9oYWxfdGltLmgKQEAgLTYsMTMgKzYsMTIgQEAKICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICogQGF0dGVudGlvbgogICAqCi0gICogPGgyPjxjZW50ZXI+JmNvcHk7IENvcHlyaWdodCAoYykgMjAxNiBTVE1pY3JvZWxlY3Ryb25pY3MuCi0gICogQWxsIHJpZ2h0cyByZXNlcnZlZC48L2NlbnRlcj48L2gyPgorICAqIENvcHlyaWdodCAoYykgMjAxNiBTVE1pY3JvZWxlY3Ryb25pY3MuCisgICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgKgotICAqIFRoaXMgc29mdHdhcmUgY29tcG9uZW50IGlzIGxpY2Vuc2VkIGJ5IFNUIHVuZGVyIEJTRCAzLUNsYXVzZSBsaWNlbnNlLAotICAqIHRoZSAiTGljZW5zZSI7IFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUKLSAgKiBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQ6Ci0gICogICAgICAgICAgICAgICAgICAgICAgICBvcGVuc291cmNlLm9yZy9saWNlbnNlcy9CU0QtMy1DbGF1c2UKKyAgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIHVuZGVyIHRlcm1zIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUKKyAgKiBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb2Z0d2FyZSBjb21wb25lbnQuCisgICogSWYgbm8gTElDRU5TRSBmaWxlIGNvbWVzIHdpdGggdGhpcyBzb2Z0d2FyZSwgaXQgaXMgcHJvdmlkZWQgQVMtSVMuCiAgICoKICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICovCkBAIC03MDYsNiArNzA1LDE1IEBACiAgICogQH0KICAgKi8KIAorLyoqIEBkZWZncm91cCBUSU1fQ0NfRE1BX1JlcXVlc3QgQ0N4IERNQSByZXF1ZXN0IHNlbGVjdGlvbgorICAqIEB7CisgICovCisjZGVmaW5lIFRJTV9DQ0RNQVJFUVVFU1RfQ0MgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDBVICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ0N4IERNQSByZXF1ZXN0IHNlbnQgd2hlbiBjYXB0dXJlIG9yIGNvbXBhcmUgbWF0Y2ggZXZlbnQgb2NjdXJzICovCisjZGVmaW5lIFRJTV9DQ0RNQVJFUVVFU1RfVVBEQVRFICAgICAgICAgICAgIFRJTV9DUjJfQ0NEUyAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ0N4IERNQSByZXF1ZXN0cyBzZW50IHdoZW4gdXBkYXRlIGV2ZW50IG9jY3VycyAqLworLyoqCisgICogQH0KKyAgKi8KKwogLyoqIEBkZWZncm91cCBUSU1fRmxhZ19kZWZpbml0aW9uIFRJTSBGbGFnIERlZmluaXRpb24KICAgKiBAewogICAqLwpAQCAtNzQwLDE2ICs3NDgsMTYgQEAKIC8qKiBAZGVmZ3JvdXAgVElNX0Nsb2NrX1NvdXJjZSBUSU0gQ2xvY2sgU291cmNlCiAgICogQHsKICAgKi8KLSNkZWZpbmUgVElNX0NMT0NLU09VUkNFX0VUUk1PREUyICAgIFRJTV9TTUNSX0VUUFNfMSAgICAgIC8qITwgRXh0ZXJuYWwgY2xvY2sgc291cmNlIG1vZGUgMiAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KICNkZWZpbmUgVElNX0NMT0NLU09VUkNFX0lOVEVSTkFMICAgIFRJTV9TTUNSX0VUUFNfMCAgICAgIC8qITwgSW50ZXJuYWwgY2xvY2sgc291cmNlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKyNkZWZpbmUgVElNX0NMT0NLU09VUkNFX0VUUk1PREUxICAgIFRJTV9UU19FVFJGICAgICAgICAgIC8qITwgRXh0ZXJuYWwgY2xvY2sgc291cmNlIG1vZGUgMSAoRVRSRikgICAgICAgICAgICAgICAgICAgKi8KKyNkZWZpbmUgVElNX0NMT0NLU09VUkNFX0VUUk1PREUyICAgIFRJTV9TTUNSX0VUUFNfMSAgICAgIC8qITwgRXh0ZXJuYWwgY2xvY2sgc291cmNlIG1vZGUgMiAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKyNkZWZpbmUgVElNX0NMT0NLU09VUkNFX1RJMUVEICAgICAgIFRJTV9UU19USTFGX0VEICAgICAgIC8qITwgRXh0ZXJuYWwgY2xvY2sgc291cmNlIG1vZGUgMSAoVFRJMUZQMSArIGVkZ2UgZGV0ZWN0LikgKi8KKyNkZWZpbmUgVElNX0NMT0NLU09VUkNFX1RJMSAgICAgICAgIFRJTV9UU19USTFGUDEgICAgICAgIC8qITwgRXh0ZXJuYWwgY2xvY2sgc291cmNlIG1vZGUgMSAoVFRJMUZQMSkgICAgICAgICAgICAgICAgKi8KKyNkZWZpbmUgVElNX0NMT0NLU09VUkNFX1RJMiAgICAgICAgIFRJTV9UU19USTJGUDIgICAgICAgIC8qITwgRXh0ZXJuYWwgY2xvY2sgc291cmNlIG1vZGUgMSAoVFRJMkZQMikgICAgICAgICAgICAgICAgKi8KICNkZWZpbmUgVElNX0NMT0NLU09VUkNFX0lUUjAgICAgICAgIFRJTV9UU19JVFIwICAgICAgICAgIC8qITwgRXh0ZXJuYWwgY2xvY2sgc291cmNlIG1vZGUgMSAoSVRSMCkgICAgICAgICAgICAgICAgICAgKi8KICNkZWZpbmUgVElNX0NMT0NLU09VUkNFX0lUUjEgICAgICAgIFRJTV9UU19JVFIxICAgICAgICAgIC8qITwgRXh0ZXJuYWwgY2xvY2sgc291cmNlIG1vZGUgMSAoSVRSMSkgICAgICAgICAgICAgICAgICAgKi8KICNkZWZpbmUgVElNX0NMT0NLU09VUkNFX0lUUjIgICAgICAgIFRJTV9UU19JVFIyICAgICAgICAgIC8qITwgRXh0ZXJuYWwgY2xvY2sgc291cmNlIG1vZGUgMSAoSVRSMikgICAgICAgICAgICAgICAgICAgKi8KICNkZWZpbmUgVElNX0NMT0NLU09VUkNFX0lUUjMgICAgICAgIFRJTV9UU19JVFIzICAgICAgICAgIC8qITwgRXh0ZXJuYWwgY2xvY2sgc291cmNlIG1vZGUgMSAoSVRSMykgICAgICAgICAgICAgICAgICAgKi8KLSNkZWZpbmUgVElNX0NMT0NLU09VUkNFX1RJMUVEICAgICAgIFRJTV9UU19USTFGX0VEICAgICAgIC8qITwgRXh0ZXJuYWwgY2xvY2sgc291cmNlIG1vZGUgMSAoVFRJMUZQMSArIGVkZ2UgZGV0ZWN0LikgKi8KLSNkZWZpbmUgVElNX0NMT0NLU09VUkNFX1RJMSAgICAgICAgIFRJTV9UU19USTFGUDEgICAgICAgIC8qITwgRXh0ZXJuYWwgY2xvY2sgc291cmNlIG1vZGUgMSAoVFRJMUZQMSkgICAgICAgICAgICAgICAgKi8KLSNkZWZpbmUgVElNX0NMT0NLU09VUkNFX1RJMiAgICAgICAgIFRJTV9UU19USTJGUDIgICAgICAgIC8qITwgRXh0ZXJuYWwgY2xvY2sgc291cmNlIG1vZGUgMSAoVFRJMkZQMikgICAgICAgICAgICAgICAgKi8KLSNkZWZpbmUgVElNX0NMT0NLU09VUkNFX0VUUk1PREUxICAgIFRJTV9UU19FVFJGICAgICAgICAgIC8qITwgRXh0ZXJuYWwgY2xvY2sgc291cmNlIG1vZGUgMSAoRVRSRikgICAgICAgICAgICAgICAgICAgKi8KIC8qKgogICAqIEB9CiAgICovCkBAIC0xNTI3LDYgKzE1MzUsMTcgQEAKICAgICBUSU1fU0VUX0NBUFRVUkVQT0xBUklUWSgoX19IQU5ETEVfXyksIChfX0NIQU5ORUxfXyksIChfX1BPTEFSSVRZX18pKTsgXAogICB9d2hpbGUoMCkKIAorLyoqIEBicmllZiAgU2VsZWN0IHRoZSBDYXB0dXJlL2NvbXBhcmUgRE1BIHJlcXVlc3Qgc291cmNlLgorICAqIEBwYXJhbSAgX19IQU5ETEVfXyBzcGVjaWZpZXMgdGhlIFRJTSBIYW5kbGUuCisgICogQHBhcmFtICBfX0NDRE1BX18gc3BlY2lmaWVzIENhcHR1cmUvY29tcGFyZSBETUEgcmVxdWVzdCBzb3VyY2UKKyAgKiAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgb25lIG9mIHRoZSBmb2xsb3dpbmcgdmFsdWVzOgorICAqICAgICAgICAgICAgQGFyZyBUSU1fQ0NETUFSRVFVRVNUX0NDOiBDQ3ggRE1BIHJlcXVlc3QgZ2VuZXJhdGVkIG9uIENhcHR1cmUvQ29tcGFyZSBldmVudAorICAqICAgICAgICAgICAgQGFyZyBUSU1fQ0NETUFSRVFVRVNUX1VQREFURTogQ0N4IERNQSByZXF1ZXN0IGdlbmVyYXRlZCBvbiBVcGRhdGUgZXZlbnQKKyAgKiBAcmV0dmFsIE5vbmUKKyAgKi8KKyNkZWZpbmUgX19IQUxfVElNX1NFTEVDVF9DQ0RNQVJFUVVFU1QoX19IQU5ETEVfXywgX19DQ0RNQV9fKSAgICBcCisgIE1PRElGWV9SRUcoKF9fSEFORExFX18pLT5JbnN0YW5jZS0+Q1IyLCBUSU1fQ1IyX0NDRFMsIChfX0NDRE1BX18pKQorCiAvKioKICAgKiBAfQogICAqLwpAQCAtMTY0MCwxNSArMTY1OSwxNSBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoX19DSEFOTkVMX18pID09IFRJTV9DSEFOTkVMXzMpKQogCiAjZGVmaW5lIElTX1RJTV9DTE9DS1NPVVJDRShfX0NMT0NLX18pICgoKF9fQ0xPQ0tfXykgPT0gVElNX0NMT0NLU09VUkNFX0lOVEVSTkFMKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fQ0xPQ0tfXykgPT0gVElNX0NMT0NLU09VUkNFX0VUUk1PREUxKSB8fCBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fQ0xPQ0tfXykgPT0gVElNX0NMT0NLU09VUkNFX0VUUk1PREUyKSB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fQ0xPQ0tfXykgPT0gVElNX0NMT0NLU09VUkNFX0lUUjApICAgICB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fQ0xPQ0tfXykgPT0gVElNX0NMT0NLU09VUkNFX0lUUjEpICAgICB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fQ0xPQ0tfXykgPT0gVElNX0NMT0NLU09VUkNFX0lUUjIpICAgICB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fQ0xPQ0tfXykgPT0gVElNX0NMT0NLU09VUkNFX0lUUjMpICAgICB8fCBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fQ0xPQ0tfXykgPT0gVElNX0NMT0NLU09VUkNFX1RJMUVEKSAgICB8fCBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fQ0xPQ0tfXykgPT0gVElNX0NMT0NLU09VUkNFX1RJMSkgICAgICB8fCBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fQ0xPQ0tfXykgPT0gVElNX0NMT0NLU09VUkNFX1RJMikgICAgICB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fQ0xPQ0tfXykgPT0gVElNX0NMT0NLU09VUkNFX0VUUk1PREUxKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoX19DTE9DS19fKSA9PSBUSU1fQ0xPQ0tTT1VSQ0VfSVRSMCkgICAgIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoX19DTE9DS19fKSA9PSBUSU1fQ0xPQ0tTT1VSQ0VfSVRSMSkgICAgIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoX19DTE9DS19fKSA9PSBUSU1fQ0xPQ0tTT1VSQ0VfSVRSMikgICAgIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoX19DTE9DS19fKSA9PSBUSU1fQ0xPQ0tTT1VSQ0VfSVRSMykpCiAKICNkZWZpbmUgSVNfVElNX0NMT0NLUE9MQVJJVFkoX19QT0xBUklUWV9fKSAoKChfX1BPTEFSSVRZX18pID09IFRJTV9DTE9DS1BPTEFSSVRZX0lOVkVSVEVEKSAgICB8fCBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoX19QT0xBUklUWV9fKSA9PSBUSU1fQ0xPQ0tQT0xBUklUWV9OT05JTlZFUlRFRCkgfHwgXApAQCAtMTcyNCwxMyArMTc0MywxMyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fTU9ERV9fKSA9PSBUSU1fT0NNT0RFX0ZPUkNFRF9BQ1RJVkUpICAgICAgfHwgXAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fTU9ERV9fKSA9PSBUSU1fT0NNT0RFX0ZPUkNFRF9JTkFDVElWRSkpCiAKLSNkZWZpbmUgSVNfVElNX1RSSUdHRVJfU0VMRUNUSU9OKF9fU0VMRUNUSU9OX18pICgoKF9fU0VMRUNUSU9OX18pID09IFRJTV9UU19JVFIwKSB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChfX1NFTEVDVElPTl9fKSA9PSBUSU1fVFNfSVRSMSkgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoX19TRUxFQ1RJT05fXykgPT0gVElNX1RTX0lUUjIpIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fU0VMRUNUSU9OX18pID09IFRJTV9UU19JVFIzKSB8fCBcCisjZGVmaW5lIElTX1RJTV9UUklHR0VSX1NFTEVDVElPTihfX1NFTEVDVElPTl9fKSAoKChfX1NFTEVDVElPTl9fKSA9PSBUSU1fVFNfSVRSMCkgICAgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoX19TRUxFQ1RJT05fXykgPT0gVElNX1RTX0lUUjEpICAgIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fU0VMRUNUSU9OX18pID09IFRJTV9UU19JVFIyKSAgICB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChfX1NFTEVDVElPTl9fKSA9PSBUSU1fVFNfSVRSMykgICAgfHwgXAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoX19TRUxFQ1RJT05fXykgPT0gVElNX1RTX1RJMUZfRUQpIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fU0VMRUNUSU9OX18pID09IFRJTV9UU19USTFGUDEpIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fU0VMRUNUSU9OX18pID09IFRJTV9UU19USTJGUDIpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fU0VMRUNUSU9OX18pID09IFRJTV9UU19USTFGUDEpICB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChfX1NFTEVDVElPTl9fKSA9PSBUSU1fVFNfVEkyRlAyKSAgfHwgXAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoX19TRUxFQ1RJT05fXykgPT0gVElNX1RTX0VUUkYpKQogCiAjZGVmaW5lIElTX1RJTV9JTlRFUk5BTF9UUklHR0VSRVZFTlRfU0VMRUNUSU9OKF9fU0VMRUNUSU9OX18pICgoKF9fU0VMRUNUSU9OX18pID09IFRJTV9UU19JVFIwKSB8fCBcCkBAIC0yMTI1LDUgKzIxNDQsMyBAQAogI2VuZGlmCiAKICNlbmRpZiAvKiBTVE0zMkY0eHhfSEFMX1RJTV9IICovCi0KLS8qKioqKioqKioqKioqKioqKioqKioqKiogKEMpIENPUFlSSUdIVCBTVE1pY3JvZWxlY3Ryb25pY3MgKioqKipFTkQgT0YgRklMRSoqKiovCmRpZmYgLS1naXQgYS9JbmMvc3RtMzJmNHh4X2hhbF90aW1fZXguaCBiL0luYy9zdG0zMmY0eHhfaGFsX3RpbV9leC5oCmluZGV4IDczN2ZkYzQuLjM5ZmI1MDAgMTAwNjQ0Ci0tLSBhL0luYy9zdG0zMmY0eHhfaGFsX3RpbV9leC5oCisrKyBiL0luYy9zdG0zMmY0eHhfaGFsX3RpbV9leC5oCkBAIC02LDEzICs2LDEyIEBACiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqIEBhdHRlbnRpb24KICAgKgotICAqIDxoMj48Y2VudGVyPiZjb3B5OyBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9jZW50ZXI+PC9oMj4KKyAgKiBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgorICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICoKLSAgKiBUaGlzIHNvZnR3YXJlIGNvbXBvbmVudCBpcyBsaWNlbnNlZCBieSBTVCB1bmRlciBCU0QgMy1DbGF1c2UgbGljZW5zZSwKLSAgKiB0aGUgIkxpY2Vuc2UiOyBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlCi0gICogTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0OgotICAqICAgICAgICAgICAgICAgICAgICAgICAgb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvQlNELTMtQ2xhdXNlCisgICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciB0ZXJtcyB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlCisgICogaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc29mdHdhcmUgY29tcG9uZW50LgorICAqIElmIG5vIExJQ0VOU0UgZmlsZSBjb21lcyB3aXRoIHRoaXMgc29mdHdhcmUsIGl0IGlzIHByb3ZpZGVkIEFTLUlTLgogICAqCiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqLwpAQCAtMzI5LDcgKzMyOCw3IEBACiAvKiBFbmQgb2YgZXhwb3J0ZWQgZnVuY3Rpb25zIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogCiAvKiBQcml2YXRlIGZ1bmN0aW9ucy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwotLyoqIEBhZGR0b2dyb3VwIFRJTUV4X1ByaXZhdGVfRnVuY3Rpb25zIFRJTUV4IFByaXZhdGUgRnVuY3Rpb25zCisvKiogQGFkZHRvZ3JvdXAgVElNRXhfUHJpdmF0ZV9GdW5jdGlvbnMgVElNIEV4dGVuZGVkIFByaXZhdGUgRnVuY3Rpb25zCiAgICogQHsKICAgKi8KIHZvaWQgVElNRXhfRE1BQ29tbXV0YXRpb25DcGx0KERNQV9IYW5kbGVUeXBlRGVmICpoZG1hKTsKQEAgLTM1Myw1ICszNTIsMyBAQAogCiAKICNlbmRpZiAvKiBTVE0zMkY0eHhfSEFMX1RJTV9FWF9IICovCi0KLS8qKioqKioqKioqKioqKioqKioqKioqKiogKEMpIENPUFlSSUdIVCBTVE1pY3JvZWxlY3Ryb25pY3MgKioqKipFTkQgT0YgRklMRSoqKiovCmRpZmYgLS1naXQgYS9JbmMvc3RtMzJmNHh4X2hhbF91YXJ0LmggYi9JbmMvc3RtMzJmNHh4X2hhbF91YXJ0LmgKaW5kZXggMTQ1MjZlOC4uYzVmNWQzZSAxMDA2NDQKLS0tIGEvSW5jL3N0bTMyZjR4eF9oYWxfdWFydC5oCisrKyBiL0luYy9zdG0zMmY0eHhfaGFsX3VhcnQuaApAQCAtNiwxMyArNiwxMiBAQAogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKiBAYXR0ZW50aW9uCiAgICoKLSAgKiA8aDI+PGNlbnRlcj4mY29weTsgQ29weXJpZ2h0IChjKSAyMDE2IFNUTWljcm9lbGVjdHJvbmljcy4KLSAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvY2VudGVyPjwvaDI+CisgICogQ29weXJpZ2h0IChjKSAyMDE2IFNUTWljcm9lbGVjdHJvbmljcy4KKyAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAqCi0gICogVGhpcyBzb2Z0d2FyZSBjb21wb25lbnQgaXMgbGljZW5zZWQgYnkgU1QgdW5kZXIgQlNEIDMtQ2xhdXNlIGxpY2Vuc2UsCi0gICogdGhlICJMaWNlbnNlIjsgWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZQotICAqIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdDoKLSAgKiAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZQorICAqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgdW5kZXIgdGVybXMgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZQorICAqIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvZnR3YXJlIGNvbXBvbmVudC4KKyAgKiBJZiBubyBMSUNFTlNFIGZpbGUgY29tZXMgd2l0aCB0aGlzIHNvZnR3YXJlLCBpdCBpcyBwcm92aWRlZCBBUy1JUy4KICAgKgogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKi8KQEAgLTE1Myw3ICsxNTIsNyBAQAogCiAgIFVBUlRfSW5pdFR5cGVEZWYgICAgICAgICAgICAgIEluaXQ7ICAgICAgICAgICAgIC8qITwgVUFSVCBjb21tdW5pY2F0aW9uIHBhcmFtZXRlcnMgICAgICAqLwogCi0gIHVpbnQ4X3QgICAgICAgICAgICAgICAgICAgICAgICpwVHhCdWZmUHRyOyAgICAgIC8qITwgUG9pbnRlciB0byBVQVJUIFR4IHRyYW5zZmVyIEJ1ZmZlciAqLworICBjb25zdCB1aW50OF90ICAgICAgICAgICAgICAgICAqcFR4QnVmZlB0cjsgICAgICAvKiE8IFBvaW50ZXIgdG8gVUFSVCBUeCB0cmFuc2ZlciBCdWZmZXIgKi8KIAogICB1aW50MTZfdCAgICAgICAgICAgICAgICAgICAgICBUeFhmZXJTaXplOyAgICAgICAvKiE8IFVBUlQgVHggVHJhbnNmZXIgc2l6ZSAgICAgICAgICAgICAgKi8KIApAQCAtNzIwLDExICs3MTksMTEgQEAKICAgKi8KIAogLyogSU8gb3BlcmF0aW9uIGZ1bmN0aW9ucyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwotSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1VBUlRfVHJhbnNtaXQoVUFSVF9IYW5kbGVUeXBlRGVmICpodWFydCwgdWludDhfdCAqcERhdGEsIHVpbnQxNl90IFNpemUsIHVpbnQzMl90IFRpbWVvdXQpOworSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1VBUlRfVHJhbnNtaXQoVUFSVF9IYW5kbGVUeXBlRGVmICpodWFydCwgY29uc3QgdWludDhfdCAqcERhdGEsIHVpbnQxNl90IFNpemUsIHVpbnQzMl90IFRpbWVvdXQpOwogSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1VBUlRfUmVjZWl2ZShVQVJUX0hhbmRsZVR5cGVEZWYgKmh1YXJ0LCB1aW50OF90ICpwRGF0YSwgdWludDE2X3QgU2l6ZSwgdWludDMyX3QgVGltZW91dCk7Ci1IQUxfU3RhdHVzVHlwZURlZiBIQUxfVUFSVF9UcmFuc21pdF9JVChVQVJUX0hhbmRsZVR5cGVEZWYgKmh1YXJ0LCB1aW50OF90ICpwRGF0YSwgdWludDE2X3QgU2l6ZSk7CitIQUxfU3RhdHVzVHlwZURlZiBIQUxfVUFSVF9UcmFuc21pdF9JVChVQVJUX0hhbmRsZVR5cGVEZWYgKmh1YXJ0LCBjb25zdCB1aW50OF90ICpwRGF0YSwgdWludDE2X3QgU2l6ZSk7CiBIQUxfU3RhdHVzVHlwZURlZiBIQUxfVUFSVF9SZWNlaXZlX0lUKFVBUlRfSGFuZGxlVHlwZURlZiAqaHVhcnQsIHVpbnQ4X3QgKnBEYXRhLCB1aW50MTZfdCBTaXplKTsKLUhBTF9TdGF0dXNUeXBlRGVmIEhBTF9VQVJUX1RyYW5zbWl0X0RNQShVQVJUX0hhbmRsZVR5cGVEZWYgKmh1YXJ0LCB1aW50OF90ICpwRGF0YSwgdWludDE2X3QgU2l6ZSk7CitIQUxfU3RhdHVzVHlwZURlZiBIQUxfVUFSVF9UcmFuc21pdF9ETUEoVUFSVF9IYW5kbGVUeXBlRGVmICpodWFydCwgY29uc3QgdWludDhfdCAqcERhdGEsIHVpbnQxNl90IFNpemUpOwogSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1VBUlRfUmVjZWl2ZV9ETUEoVUFSVF9IYW5kbGVUeXBlRGVmICpodWFydCwgdWludDhfdCAqcERhdGEsIHVpbnQxNl90IFNpemUpOwogSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1VBUlRfRE1BUGF1c2UoVUFSVF9IYW5kbGVUeXBlRGVmICpodWFydCk7CiBIQUxfU3RhdHVzVHlwZURlZiBIQUxfVUFSVF9ETUFSZXN1bWUoVUFSVF9IYW5kbGVUeXBlRGVmICpodWFydCk7CkBAIC04ODMsNCArODgyLDMgQEAKIAogI2VuZGlmIC8qIF9fU1RNMzJGNHh4X0hBTF9VQVJUX0ggKi8KIAotLyoqKioqKioqKioqKioqKioqKioqKioqKiAoQykgQ09QWVJJR0hUIFNUTWljcm9lbGVjdHJvbmljcyAqKioqKkVORCBPRiBGSUxFKioqKi8KZGlmZiAtLWdpdCBhL0luYy9zdG0zMmY0eHhfaGFsX3VzYXJ0LmggYi9JbmMvc3RtMzJmNHh4X2hhbF91c2FydC5oCmluZGV4IDViODM3NTMuLjQ0OTY2NDkgMTAwNjQ0Ci0tLSBhL0luYy9zdG0zMmY0eHhfaGFsX3VzYXJ0LmgKKysrIGIvSW5jL3N0bTMyZjR4eF9oYWxfdXNhcnQuaApAQCAtNiwxMyArNiwxMiBAQAogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKiBAYXR0ZW50aW9uCiAgICoKLSAgKiA8aDI+PGNlbnRlcj4mY29weTsgQ29weXJpZ2h0IChjKSAyMDE2IFNUTWljcm9lbGVjdHJvbmljcy4KLSAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvY2VudGVyPjwvaDI+CisgICogQ29weXJpZ2h0IChjKSAyMDE2IFNUTWljcm9lbGVjdHJvbmljcy4KKyAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAqCi0gICogVGhpcyBzb2Z0d2FyZSBjb21wb25lbnQgaXMgbGljZW5zZWQgYnkgU1QgdW5kZXIgQlNEIDMtQ2xhdXNlIGxpY2Vuc2UsCi0gICogdGhlICJMaWNlbnNlIjsgWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZQotICAqIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdDoKLSAgKiAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZQorICAqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgdW5kZXIgdGVybXMgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZQorICAqIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvZnR3YXJlIGNvbXBvbmVudC4KKyAgKiBJZiBubyBMSUNFTlNFIGZpbGUgY29tZXMgd2l0aCB0aGlzIHNvZnR3YXJlLCBpdCBpcyBwcm92aWRlZCBBUy1JUy4KICAgKgogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKi8KQEAgLTEwMiw3ICsxMDEsNyBAQAogCiAgIFVTQVJUX0luaXRUeXBlRGVmICAgICAgICAgICAgIEluaXQ7ICAgICAgICAgICAgIC8qITwgVXNhcnQgY29tbXVuaWNhdGlvbiBwYXJhbWV0ZXJzICAgICAgKi8KIAotICB1aW50OF90ICAgICAgICAgICAgICAgICAgICAgICAqcFR4QnVmZlB0cjsgICAgICAvKiE8IFBvaW50ZXIgdG8gVXNhcnQgVHggdHJhbnNmZXIgQnVmZmVyICovCisgIGNvbnN0IHVpbnQ4X3QgICAgICAgICAgICAgICAgICpwVHhCdWZmUHRyOyAgICAgIC8qITwgUG9pbnRlciB0byBVc2FydCBUeCB0cmFuc2ZlciBCdWZmZXIgKi8KIAogICB1aW50MTZfdCAgICAgICAgICAgICAgICAgICAgICBUeFhmZXJTaXplOyAgICAgICAvKiE8IFVzYXJ0IFR4IFRyYW5zZmVyIHNpemUgICAgICAgICAgICAgICovCiAKQEAgLTUxMCwxNyArNTA5LDE3IEBACiAgICogQHsKICAgKi8KIC8qIElPIG9wZXJhdGlvbiBmdW5jdGlvbnMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KLUhBTF9TdGF0dXNUeXBlRGVmIEhBTF9VU0FSVF9UcmFuc21pdChVU0FSVF9IYW5kbGVUeXBlRGVmICpodXNhcnQsIHVpbnQ4X3QgKnBUeERhdGEsIHVpbnQxNl90IFNpemUsIHVpbnQzMl90IFRpbWVvdXQpOworSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1VTQVJUX1RyYW5zbWl0KFVTQVJUX0hhbmRsZVR5cGVEZWYgKmh1c2FydCwgY29uc3QgdWludDhfdCAqcFR4RGF0YSwgdWludDE2X3QgU2l6ZSwgdWludDMyX3QgVGltZW91dCk7CiBIQUxfU3RhdHVzVHlwZURlZiBIQUxfVVNBUlRfUmVjZWl2ZShVU0FSVF9IYW5kbGVUeXBlRGVmICpodXNhcnQsIHVpbnQ4X3QgKnBSeERhdGEsIHVpbnQxNl90IFNpemUsIHVpbnQzMl90IFRpbWVvdXQpOwotSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1VTQVJUX1RyYW5zbWl0UmVjZWl2ZShVU0FSVF9IYW5kbGVUeXBlRGVmICpodXNhcnQsIHVpbnQ4X3QgKnBUeERhdGEsIHVpbnQ4X3QgKnBSeERhdGEsCitIQUxfU3RhdHVzVHlwZURlZiBIQUxfVVNBUlRfVHJhbnNtaXRSZWNlaXZlKFVTQVJUX0hhbmRsZVR5cGVEZWYgKmh1c2FydCwgY29uc3QgdWludDhfdCAqcFR4RGF0YSwgdWludDhfdCAqcFJ4RGF0YSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDE2X3QgU2l6ZSwgdWludDMyX3QgVGltZW91dCk7Ci1IQUxfU3RhdHVzVHlwZURlZiBIQUxfVVNBUlRfVHJhbnNtaXRfSVQoVVNBUlRfSGFuZGxlVHlwZURlZiAqaHVzYXJ0LCB1aW50OF90ICpwVHhEYXRhLCB1aW50MTZfdCBTaXplKTsKK0hBTF9TdGF0dXNUeXBlRGVmIEhBTF9VU0FSVF9UcmFuc21pdF9JVChVU0FSVF9IYW5kbGVUeXBlRGVmICpodXNhcnQsIGNvbnN0IHVpbnQ4X3QgKnBUeERhdGEsIHVpbnQxNl90IFNpemUpOwogSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1VTQVJUX1JlY2VpdmVfSVQoVVNBUlRfSGFuZGxlVHlwZURlZiAqaHVzYXJ0LCB1aW50OF90ICpwUnhEYXRhLCB1aW50MTZfdCBTaXplKTsKLUhBTF9TdGF0dXNUeXBlRGVmIEhBTF9VU0FSVF9UcmFuc21pdFJlY2VpdmVfSVQoVVNBUlRfSGFuZGxlVHlwZURlZiAqaHVzYXJ0LCB1aW50OF90ICpwVHhEYXRhLCB1aW50OF90ICpwUnhEYXRhLAorSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1VTQVJUX1RyYW5zbWl0UmVjZWl2ZV9JVChVU0FSVF9IYW5kbGVUeXBlRGVmICpodXNhcnQsIGNvbnN0IHVpbnQ4X3QgKnBUeERhdGEsIHVpbnQ4X3QgKnBSeERhdGEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNl90IFNpemUpOwotSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1VTQVJUX1RyYW5zbWl0X0RNQShVU0FSVF9IYW5kbGVUeXBlRGVmICpodXNhcnQsIHVpbnQ4X3QgKnBUeERhdGEsIHVpbnQxNl90IFNpemUpOworSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1VTQVJUX1RyYW5zbWl0X0RNQShVU0FSVF9IYW5kbGVUeXBlRGVmICpodXNhcnQsIGNvbnN0IHVpbnQ4X3QgKnBUeERhdGEsIHVpbnQxNl90IFNpemUpOwogSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1VTQVJUX1JlY2VpdmVfRE1BKFVTQVJUX0hhbmRsZVR5cGVEZWYgKmh1c2FydCwgdWludDhfdCAqcFJ4RGF0YSwgdWludDE2X3QgU2l6ZSk7Ci1IQUxfU3RhdHVzVHlwZURlZiBIQUxfVVNBUlRfVHJhbnNtaXRSZWNlaXZlX0RNQShVU0FSVF9IYW5kbGVUeXBlRGVmICpodXNhcnQsIHVpbnQ4X3QgKnBUeERhdGEsIHVpbnQ4X3QgKnBSeERhdGEsCitIQUxfU3RhdHVzVHlwZURlZiBIQUxfVVNBUlRfVHJhbnNtaXRSZWNlaXZlX0RNQShVU0FSVF9IYW5kbGVUeXBlRGVmICpodXNhcnQsIGNvbnN0IHVpbnQ4X3QgKnBUeERhdGEsIHVpbnQ4X3QgKnBSeERhdGEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MTZfdCBTaXplKTsKIEhBTF9TdGF0dXNUeXBlRGVmIEhBTF9VU0FSVF9ETUFQYXVzZShVU0FSVF9IYW5kbGVUeXBlRGVmICpodXNhcnQpOwogSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1VTQVJUX0RNQVJlc3VtZShVU0FSVF9IYW5kbGVUeXBlRGVmICpodXNhcnQpOwpAQCAtNjQ3LDQgKzY0NiwzIEBACiAKICNlbmRpZiAvKiBfX1NUTTMyRjR4eF9IQUxfVVNBUlRfSCAqLwogCi0vKioqKioqKioqKioqKioqKioqKioqKioqIChDKSBDT1BZUklHSFQgU1RNaWNyb2VsZWN0cm9uaWNzICoqKioqRU5EIE9GIEZJTEUqKioqLwpkaWZmIC0tZ2l0IGEvSW5jL3N0bTMyZjR4eF9oYWxfd3dkZy5oIGIvSW5jL3N0bTMyZjR4eF9oYWxfd3dkZy5oCmluZGV4IDAxN2IzNGQuLmFiOGIxZWEgMTAwNjQ0Ci0tLSBhL0luYy9zdG0zMmY0eHhfaGFsX3d3ZGcuaAorKysgYi9JbmMvc3RtMzJmNHh4X2hhbF93d2RnLmgKQEAgLTYsMTMgKzYsMTIgQEAKICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICogQGF0dGVudGlvbgogICAqCi0gICogPGgyPjxjZW50ZXI+JmNvcHk7IENvcHlyaWdodCAoYykgMjAxNiBTVE1pY3JvZWxlY3Ryb25pY3MuCi0gICogQWxsIHJpZ2h0cyByZXNlcnZlZC48L2NlbnRlcj48L2gyPgorICAqIENvcHlyaWdodCAoYykgMjAxNiBTVE1pY3JvZWxlY3Ryb25pY3MuCisgICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgKgotICAqIFRoaXMgc29mdHdhcmUgY29tcG9uZW50IGlzIGxpY2Vuc2VkIGJ5IFNUIHVuZGVyIEJTRCAzLUNsYXVzZSBsaWNlbnNlLAotICAqIHRoZSAiTGljZW5zZSI7IFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUKLSAgKiBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQ6Ci0gICogICAgICAgICAgICAgICAgICAgICAgICBvcGVuc291cmNlLm9yZy9saWNlbnNlcy9CU0QtMy1DbGF1c2UKKyAgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIHVuZGVyIHRlcm1zIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUKKyAgKiBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb2Z0d2FyZSBjb21wb25lbnQuCisgICogSWYgbm8gTElDRU5TRSBmaWxlIGNvbWVzIHdpdGggdGhpcyBzb2Z0d2FyZSwgaXQgaXMgcHJvdmlkZWQgQVMtSVMuCiAgICoKICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICovCkBAIC0xODQsNyArMTgzLDcgQEAKIAogLyoqCiAgICogQGJyaWVmICBFbmFibGUgdGhlIFdXREcgZWFybHkgd2FrZXVwIGludGVycnVwdC4KLSAgKiBAcGFyYW0gIF9fSEFORExFX186IFdXREcgaGFuZGxlCisgICogQHBhcmFtICBfX0hBTkRMRV9fICAgICBXV0RHIGhhbmRsZQogICAqIEBwYXJhbSAgX19JTlRFUlJVUFRfXyAgc3BlY2lmaWVzIHRoZSBpbnRlcnJ1cHQgdG8gZW5hYmxlLgogICAqICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIG9uZSBvZiB0aGUgZm9sbG93aW5nIHZhbHVlczoKICAgKiAgICAgICAgICAgIEBhcmcgV1dER19JVF9FV0k6IEVhcmx5IHdha2V1cCBpbnRlcnJ1cHQKQEAgLTI5Nyw1ICsyOTYsMyBAQAogI2VuZGlmCiAKICNlbmRpZiAvKiBTVE0zMkY0eHhfSEFMX1dXREdfSCAqLwotCi0vKioqKioqKioqKioqKioqKioqKioqKioqIChDKSBDT1BZUklHSFQgU1RNaWNyb2VsZWN0cm9uaWNzICoqKioqRU5EIE9GIEZJTEUqKioqLwpkaWZmIC0tZ2l0IGEvSW5jL3N0bTMyZjR4eF9sbF9hZGMuaCBiL0luYy9zdG0zMmY0eHhfbGxfYWRjLmgKaW5kZXggOTM0ODkxMS4uNDlmZWU5NyAxMDA2NDQKLS0tIGEvSW5jL3N0bTMyZjR4eF9sbF9hZGMuaAorKysgYi9JbmMvc3RtMzJmNHh4X2xsX2FkYy5oCkBAIC02LDEzICs2LDEyIEBACiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqIEBhdHRlbnRpb24KICAgKgotICAqIDxoMj48Y2VudGVyPiZjb3B5OyBDb3B5cmlnaHQgKGMpIDIwMTcgU1RNaWNyb2VsZWN0cm9uaWNzLgotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9jZW50ZXI+PC9oMj4KKyAgKiBDb3B5cmlnaHQgKGMpIDIwMTcgU1RNaWNyb2VsZWN0cm9uaWNzLgorICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICoKLSAgKiBUaGlzIHNvZnR3YXJlIGNvbXBvbmVudCBpcyBsaWNlbnNlZCBieSBTVCB1bmRlciBCU0QgMy1DbGF1c2UgbGljZW5zZSwKLSAgKiB0aGUgIkxpY2Vuc2UiOyBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlCi0gICogTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0OgotICAqICAgICAgICAgICAgICAgICAgICAgICAgb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvQlNELTMtQ2xhdXNlCisgICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciB0ZXJtcyB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlCisgICogaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc29mdHdhcmUgY29tcG9uZW50LgorICAqIElmIG5vIExJQ0VOU0UgZmlsZSBjb21lcyB3aXRoIHRoaXMgc29mdHdhcmUsIGl0IGlzIHByb3ZpZGVkIEFTLUlTLgogICAqCiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqLwpAQCAtNDM5NSw3ICs0Mzk0LDcgQEAKICAgKi8KIF9fU1RBVElDX0lOTElORSB1aW50MzJfdCBMTF9BRENfSXNBY3RpdmVGbGFnX01TVF9FT0NTKEFEQ19Db21tb25fVHlwZURlZiAqQURDeHlfQ09NTU9OKQogewotICByZXR1cm4gKFJFQURfQklUKEFEQzEtPlNSLCBMTF9BRENfRkxBR19FT0NTKSA9PSAoTExfQURDX0ZMQUdfRU9DUykpOworICByZXR1cm4gKFJFQURfQklUKEFEQ3h5X0NPTU1PTi0+Q1NSLCBMTF9BRENfRkxBR19FT0NTX01TVCkgPT0gKExMX0FEQ19GTEFHX0VPQ1NfTVNUKSk7CiB9CiAKIC8qKgpAQCAtNDQ2OCw3ICs0NDY3LDcgQEAKIAogLyoqCiAgICogQGJyaWVmICBHZXQgZmxhZyBtdWx0aW1vZGUgQURDIGdyb3VwIGluamVjdGVkIGVuZCBvZiBzZXF1ZW5jZSBjb252ZXJzaW9ucyBvZiB0aGUgQURDIG1hc3Rlci4KLSAgKiBAcm10b2xsIENTUiAgICAgIEpFT0MgICAgICAgICAgIExMX0FEQ19Jc0FjdGl2ZUZsYWdfTVNUX0VPQ1MKKyAgKiBAcm10b2xsIENTUiAgICAgIEpFT0MgICAgICAgICAgIExMX0FEQ19Jc0FjdGl2ZUZsYWdfTVNUX0pFT1MKICAgKiBAcGFyYW0gIEFEQ3h5X0NPTU1PTiBBREMgY29tbW9uIGluc3RhbmNlCiAgICogICAgICAgICAoY2FuIGJlIHNldCBkaXJlY3RseSBmcm9tIENNU0lTIGRlZmluaXRpb24gb3IgYnkgdXNpbmcgaGVscGVyIG1hY3JvIEByZWYgX19MTF9BRENfQ09NTU9OX0lOU1RBTkNFKCkgKQogICAqIEByZXR2YWwgU3RhdGUgb2YgYml0ICgxIG9yIDApLgpAQCAtNDc3OCw0ICs0Nzc3LDMgQEAKIAogI2VuZGlmIC8qIF9fU1RNMzJGNHh4X0xMX0FEQ19IICovCiAKLS8qKioqKioqKioqKioqKioqKioqKioqKiogKEMpIENPUFlSSUdIVCBTVE1pY3JvZWxlY3Ryb25pY3MgKioqKipFTkQgT0YgRklMRSoqKiovCmRpZmYgLS1naXQgYS9JbmMvc3RtMzJmNHh4X2xsX2J1cy5oIGIvSW5jL3N0bTMyZjR4eF9sbF9idXMuaAppbmRleCA2NmRhMjhmLi41MDgzYzEwIDEwMDY0NAotLS0gYS9JbmMvc3RtMzJmNHh4X2xsX2J1cy5oCisrKyBiL0luYy9zdG0zMmY0eHhfbGxfYnVzLmgKQEAgLTIzLDE0ICsyMywxMiBAQAogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKiBAYXR0ZW50aW9uCiAgICoKLSAgKiA8aDI+PGNlbnRlcj4mY29weTsgQ29weXJpZ2h0IChjKSAyMDE3IFNUTWljcm9lbGVjdHJvbmljcy4KLSAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvY2VudGVyPjwvaDI+CisgICogQ29weXJpZ2h0IChjKSAyMDE3IFNUTWljcm9lbGVjdHJvbmljcy4KKyAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAqCi0gICogVGhpcyBzb2Z0d2FyZSBjb21wb25lbnQgaXMgbGljZW5zZWQgYnkgU1QgdW5kZXIgQlNEIDMtQ2xhdXNlIGxpY2Vuc2UsCi0gICogdGhlICJMaWNlbnNlIjsgWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZQotICAqIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdDoKLSAgKiAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZQotICAqCisgICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciB0ZXJtcyB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGluCisgICogdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc29mdHdhcmUgY29tcG9uZW50LgorICAqIElmIG5vIExJQ0VOU0UgZmlsZSBjb21lcyB3aXRoIHRoaXMgc29mdHdhcmUsIGl0IGlzIHByb3ZpZGVkIEFTLUlTLgogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKi8KIApAQCAtMjEwNSw0ICsyMTAzLDMgQEAKIAogI2VuZGlmIC8qIF9fU1RNMzJGNHh4X0xMX0JVU19IICovCiAKLS8qKioqKioqKioqKioqKioqKioqKioqKiogKEMpIENPUFlSSUdIVCBTVE1pY3JvZWxlY3Ryb25pY3MgKioqKipFTkQgT0YgRklMRSoqKiovCmRpZmYgLS1naXQgYS9JbmMvc3RtMzJmNHh4X2xsX2NvcnRleC5oIGIvSW5jL3N0bTMyZjR4eF9sbF9jb3J0ZXguaAppbmRleCBlZGRjYzk3Li5kNDc4ZTEzIDEwMDY0NAotLS0gYS9JbmMvc3RtMzJmNHh4X2xsX2NvcnRleC5oCisrKyBiL0luYy9zdG0zMmY0eHhfbGxfY29ydGV4LmgKQEAgLTIyLDE0ICsyMiwxMiBAQAogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKiBAYXR0ZW50aW9uCiAgICoKLSAgKiA8aDI+PGNlbnRlcj4mY29weTsgQ29weXJpZ2h0IChjKSAyMDE3IFNUTWljcm9lbGVjdHJvbmljcy4KLSAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvY2VudGVyPjwvaDI+CisgICogQ29weXJpZ2h0IChjKSAyMDE3IFNUTWljcm9lbGVjdHJvbmljcy4KKyAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAqCi0gICogVGhpcyBzb2Z0d2FyZSBjb21wb25lbnQgaXMgbGljZW5zZWQgYnkgU1QgdW5kZXIgQlNEIDMtQ2xhdXNlIGxpY2Vuc2UsCi0gICogdGhlICJMaWNlbnNlIjsgWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZQotICAqIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdDoKLSAgKiAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZQotICAqCisgICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciB0ZXJtcyB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGluCisgICogdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc29mdHdhcmUgY29tcG9uZW50LgorICAqIElmIG5vIExJQ0VOU0UgZmlsZSBjb21lcyB3aXRoIHRoaXMgc29mdHdhcmUsIGl0IGlzIHByb3ZpZGVkIEFTLUlTLgogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKi8KIApAQCAtNjM3LDQgKzYzNSwzIEBACiAKICNlbmRpZiAvKiBfX1NUTTMyRjR4eF9MTF9DT1JURVhfSCAqLwogCi0vKioqKioqKioqKioqKioqKioqKioqKioqIChDKSBDT1BZUklHSFQgU1RNaWNyb2VsZWN0cm9uaWNzICoqKioqRU5EIE9GIEZJTEUqKioqLwpkaWZmIC0tZ2l0IGEvSW5jL3N0bTMyZjR4eF9sbF9jcmMuaCBiL0luYy9zdG0zMmY0eHhfbGxfY3JjLmgKaW5kZXggMmQwNWI2Ny4uMGEyODAwNiAxMDA2NDQKLS0tIGEvSW5jL3N0bTMyZjR4eF9sbF9jcmMuaAorKysgYi9JbmMvc3RtMzJmNHh4X2xsX2NyYy5oCkBAIC02LDEzICs2LDEyIEBACiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqIEBhdHRlbnRpb24KICAgKgotICAqIDxoMj48Y2VudGVyPiZjb3B5OyBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9jZW50ZXI+PC9oMj4KKyAgKiBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgorICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICoKLSAgKiBUaGlzIHNvZnR3YXJlIGNvbXBvbmVudCBpcyBsaWNlbnNlZCBieSBTVCB1bmRlciBCU0QgMy1DbGF1c2UgbGljZW5zZSwKLSAgKiB0aGUgIkxpY2Vuc2UiOyBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlCi0gICogTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0OgotICAqICAgICAgICAgICAgICAgICAgICAgICAgb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvQlNELTMtQ2xhdXNlCisgICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciB0ZXJtcyB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlCisgICogaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc29mdHdhcmUgY29tcG9uZW50LgorICAqIElmIG5vIExJQ0VOU0UgZmlsZSBjb21lcyB3aXRoIHRoaXMgc29mdHdhcmUsIGl0IGlzIHByb3ZpZGVkIEFTLUlTLgogICAqCiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqLwpAQCAtMjAwLDUgKzE5OSwzIEBACiAjZW5kaWYKIAogI2VuZGlmIC8qIFNUTTMyRjR4eF9MTF9DUkNfSCAqLwotCi0vKioqKioqKioqKioqKioqKioqKioqKioqIChDKSBDT1BZUklHSFQgU1RNaWNyb2VsZWN0cm9uaWNzICoqKioqRU5EIE9GIEZJTEUqKioqLwpkaWZmIC0tZ2l0IGEvSW5jL3N0bTMyZjR4eF9sbF9kYWMuaCBiL0luYy9zdG0zMmY0eHhfbGxfZGFjLmgKaW5kZXggOThiZjQwYi4uZWExNTAwYiAxMDA2NDQKLS0tIGEvSW5jL3N0bTMyZjR4eF9sbF9kYWMuaAorKysgYi9JbmMvc3RtMzJmNHh4X2xsX2RhYy5oCkBAIC02LDEzICs2LDEyIEBACiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqIEBhdHRlbnRpb24KICAgKgotICAqIDxoMj48Y2VudGVyPiZjb3B5OyBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9jZW50ZXI+PC9oMj4KKyAgKiBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgorICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICoKLSAgKiBUaGlzIHNvZnR3YXJlIGNvbXBvbmVudCBpcyBsaWNlbnNlZCBieSBTVCB1bmRlciBCU0QgMy1DbGF1c2UgbGljZW5zZSwKLSAgKiB0aGUgIkxpY2Vuc2UiOyBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlCi0gICogTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0OgotICAqICAgICAgICAgICAgICAgICAgICAgICAgb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvQlNELTMtQ2xhdXNlCisgICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciB0ZXJtcyB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlCisgICogaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc29mdHdhcmUgY29tcG9uZW50LgorICAqIElmIG5vIExJQ0VOU0UgZmlsZSBjb21lcyB3aXRoIHRoaXMgc29mdHdhcmUsIGl0IGlzIHByb3ZpZGVkIEFTLUlTLgogICAqCiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqLwpAQCAtMTQ1NCw0ICsxNDUzLDMgQEAKIAogI2VuZGlmIC8qIFNUTTMyRjR4eF9MTF9EQUNfSCAqLwogCi0vKioqKioqKioqKioqKioqKioqKioqKioqIChDKSBDT1BZUklHSFQgU1RNaWNyb2VsZWN0cm9uaWNzICoqKioqRU5EIE9GIEZJTEUqKioqLwpkaWZmIC0tZ2l0IGEvSW5jL3N0bTMyZjR4eF9sbF9kbWEuaCBiL0luYy9zdG0zMmY0eHhfbGxfZG1hLmgKaW5kZXggNjMyNjRlNi4uNzY0NDRmYyAxMDA2NDQKLS0tIGEvSW5jL3N0bTMyZjR4eF9sbF9kbWEuaAorKysgYi9JbmMvc3RtMzJmNHh4X2xsX2RtYS5oCkBAIC02LDEzICs2LDEyIEBACiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqIEBhdHRlbnRpb24KICAgKgotICAqIDxoMj48Y2VudGVyPiZjb3B5OyBDb3B5cmlnaHQgKGMpIDIwMTcgU1RNaWNyb2VsZWN0cm9uaWNzLgotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9jZW50ZXI+PC9oMj4KKyAgKiBDb3B5cmlnaHQgKGMpIDIwMTcgU1RNaWNyb2VsZWN0cm9uaWNzLgorICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICoKLSAgKiBUaGlzIHNvZnR3YXJlIGNvbXBvbmVudCBpcyBsaWNlbnNlZCBieSBTVCB1bmRlciBCU0QgMy1DbGF1c2UgbGljZW5zZSwKLSAgKiB0aGUgIkxpY2Vuc2UiOyBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlCi0gICogTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0OgotICAqICAgICAgICAgICAgICAgICAgICAgICAgb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvQlNELTMtQ2xhdXNlCisgICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciB0ZXJtcyB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGluCisgICogdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc29mdHdhcmUgY29tcG9uZW50LgorICAqIElmIG5vIExJQ0VOU0UgZmlsZSBjb21lcyB3aXRoIHRoaXMgc29mdHdhcmUsIGl0IGlzIHByb3ZpZGVkIEFTLUlTLgogICAqCiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqLwpAQCAtMjczMCw3ICsyNzI5LDcgQEAKIH0KIAogLyoqCi0gICogQGJyaWVmIENoZWNrIGlmIEhhbGYgdHJhbnNmZXIgaW50ZXJydXAgaXMgZW5hYmxlZC4KKyAgKiBAYnJpZWYgQ2hlY2sgaWYgSGFsZiB0cmFuc2ZlciBpbnRlcnJ1cHQgaXMgZW5hYmxlZC4KICAgKiBAcm10b2xsIENSICAgICAgICBIVElFICAgICAgICAgTExfRE1BX0lzRW5hYmxlZElUX0hUCiAgICogQHBhcmFtICBETUF4IERNQXggSW5zdGFuY2UKICAgKiBAcGFyYW0gIFN0cmVhbSBUaGlzIHBhcmFtZXRlciBjYW4gYmUgb25lIG9mIHRoZSBmb2xsb3dpbmcgdmFsdWVzOgpAQCAtMjc3MCw3ICsyNzY5LDcgQEAKIH0KIAogLyoqCi0gICogQGJyaWVmIENoZWNrIGlmIFRyYW5zZmVyIGNvbXBsZXRlIGludGVycnVwIGlzIGVuYWJsZWQuCisgICogQGJyaWVmIENoZWNrIGlmIFRyYW5zZmVyIGNvbXBsZXRlIGludGVycnVwdCBpcyBlbmFibGVkLgogICAqIEBybXRvbGwgQ1IgICAgICAgIFRDSUUgICAgICAgICBMTF9ETUFfSXNFbmFibGVkSVRfVEMKICAgKiBAcGFyYW0gIERNQXggRE1BeCBJbnN0YW5jZQogICAqIEBwYXJhbSAgU3RyZWFtIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBvbmUgb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXM6CkBAIC0yODEwLDcgKzI4MDksNyBAQAogfQogCiAvKioKLSAgKiBAYnJpZWYgQ2hlY2sgaWYgRklGTyBlcnJvciBpbnRlcnJ1cCBpcyBlbmFibGVkLgorICAqIEBicmllZiBDaGVjayBpZiBGSUZPIGVycm9yIGludGVycnVwdCBpcyBlbmFibGVkLgogICAqIEBybXRvbGwgRkNSICAgICAgICBGRUlFICAgICAgICAgTExfRE1BX0lzRW5hYmxlZElUX0ZFCiAgICogQHBhcmFtICBETUF4IERNQXggSW5zdGFuY2UKICAgKiBAcGFyYW0gIFN0cmVhbSBUaGlzIHBhcmFtZXRlciBjYW4gYmUgb25lIG9mIHRoZSBmb2xsb3dpbmcgdmFsdWVzOgpAQCAtMjg2Nyw0ICsyODY2LDMgQEAKIAogI2VuZGlmIC8qIF9fU1RNMzJGNHh4X0xMX0RNQV9IICovCiAKLS8qKioqKioqKioqKioqKioqKioqKioqKiogKEMpIENPUFlSSUdIVCBTVE1pY3JvZWxlY3Ryb25pY3MgKioqKipFTkQgT0YgRklMRSoqKiovCmRpZmYgLS1naXQgYS9JbmMvc3RtMzJmNHh4X2xsX2RtYTJkLmggYi9JbmMvc3RtMzJmNHh4X2xsX2RtYTJkLmgKaW5kZXggYTc4M2QwNS4uNjRjNTdiMCAxMDA2NDQKLS0tIGEvSW5jL3N0bTMyZjR4eF9sbF9kbWEyZC5oCisrKyBiL0luYy9zdG0zMmY0eHhfbGxfZG1hMmQuaApAQCAtNiwxMyArNiwxMiBAQAogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKiBAYXR0ZW50aW9uCiAgICoKLSAgKiA8aDI+PGNlbnRlcj4mY29weTsgQ29weXJpZ2h0IChjKSAyMDE2IFNUTWljcm9lbGVjdHJvbmljcy4KLSAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvY2VudGVyPjwvaDI+CisgICogQ29weXJpZ2h0IChjKSAyMDE2IFNUTWljcm9lbGVjdHJvbmljcy4KKyAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAqCi0gICogVGhpcyBzb2Z0d2FyZSBjb21wb25lbnQgaXMgbGljZW5zZWQgYnkgU1QgdW5kZXIgQlNEIDMtQ2xhdXNlIGxpY2Vuc2UsCi0gICogdGhlICJMaWNlbnNlIjsgWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZQotICAqIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdDoKLSAgKiAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZQorICAqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgdW5kZXIgdGVybXMgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZQorICAqIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvZnR3YXJlIGNvbXBvbmVudC4KKyAgKiBJZiBubyBMSUNFTlNFIGZpbGUgY29tZXMgd2l0aCB0aGlzIHNvZnR3YXJlLCBpdCBpcyBwcm92aWRlZCBBUy1JUy4KICAgKgogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKi8KQEAgLTE5MDAsNSArMTg5OSwzIEBACiAjZW5kaWYKIAogI2VuZGlmIC8qIFNUTTMyRjR4eF9MTF9ETUEyRF9IICovCi0KLS8qKioqKioqKioqKioqKioqKioqKioqKiogKEMpIENPUFlSSUdIVCBTVE1pY3JvZWxlY3Ryb25pY3MgKioqKipFTkQgT0YgRklMRSoqKiovCmRpZmYgLS1naXQgYS9JbmMvc3RtMzJmNHh4X2xsX2V4dGkuaCBiL0luYy9zdG0zMmY0eHhfbGxfZXh0aS5oCmluZGV4IGM4MTZlMjYuLjY1YWI2OTEgMTAwNjQ0Ci0tLSBhL0luYy9zdG0zMmY0eHhfbGxfZXh0aS5oCisrKyBiL0luYy9zdG0zMmY0eHhfbGxfZXh0aS5oCkBAIC02LDEzICs2LDEyIEBACiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqIEBhdHRlbnRpb24KICAgKgotICAqIDxoMj48Y2VudGVyPiZjb3B5OyBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9jZW50ZXI+PC9oMj4KKyAgKiBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgorICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICoKLSAgKiBUaGlzIHNvZnR3YXJlIGNvbXBvbmVudCBpcyBsaWNlbnNlZCBieSBTVCB1bmRlciBCU0QgMy1DbGF1c2UgbGljZW5zZSwKLSAgKiB0aGUgIkxpY2Vuc2UiOyBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlCi0gICogTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0OgotICAqICAgICAgICAgICAgICAgICAgICAgICAgb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvQlNELTMtQ2xhdXNlCisgICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciB0ZXJtcyB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlCisgICogaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc29mdHdhcmUgY29tcG9uZW50LgorICAqIElmIG5vIExJQ0VOU0UgZmlsZSBjb21lcyB3aXRoIHRoaXMgc29mdHdhcmUsIGl0IGlzIHByb3ZpZGVkIEFTLUlTLkNsYXVzZQogICAqCiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqLwpAQCAtOTUzLDQgKzk1MiwzIEBACiAKICNlbmRpZiAvKiBfX1NUTTMyRjR4eF9MTF9FWFRJX0ggKi8KIAotLyoqKioqKioqKioqKioqKioqKioqKioqKiAoQykgQ09QWVJJR0hUIFNUTWljcm9lbGVjdHJvbmljcyAqKioqKkVORCBPRiBGSUxFKioqKi8KZGlmZiAtLWdpdCBhL0luYy9zdG0zMmY0eHhfbGxfZm1jLmggYi9JbmMvc3RtMzJmNHh4X2xsX2ZtYy5oCmluZGV4IDcxZTdjNzQuLmZlMjhmODcgMTAwNjQ0Ci0tLSBhL0luYy9zdG0zMmY0eHhfbGxfZm1jLmgKKysrIGIvSW5jL3N0bTMyZjR4eF9sbF9mbWMuaApAQCAtNiwyMyArNiwyMiBAQAogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKiBAYXR0ZW50aW9uCiAgICoKLSAgKiA8aDI+PGNlbnRlcj4mY29weTsgQ29weXJpZ2h0IChjKSAyMDE3IFNUTWljcm9lbGVjdHJvbmljcy4KLSAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvY2VudGVyPjwvaDI+CisgICogQ29weXJpZ2h0IChjKSAyMDE2IFNUTWljcm9lbGVjdHJvbmljcy4KKyAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAqCi0gICogVGhpcyBzb2Z0d2FyZSBjb21wb25lbnQgaXMgbGljZW5zZWQgYnkgU1QgdW5kZXIgQlNEIDMtQ2xhdXNlIGxpY2Vuc2UsCi0gICogdGhlICJMaWNlbnNlIjsgWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZQotICAqIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdDoKLSAgKiAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZQorICAqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgdW5kZXIgdGVybXMgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZQorICAqIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvZnR3YXJlIGNvbXBvbmVudC4KKyAgKiBJZiBubyBMSUNFTlNFIGZpbGUgY29tZXMgd2l0aCB0aGlzIHNvZnR3YXJlLCBpdCBpcyBwcm92aWRlZCBBUy1JUy4KICAgKgogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAgKi8gCisgICovCiAKIC8qIERlZmluZSB0byBwcmV2ZW50IHJlY3Vyc2l2ZSBpbmNsdXNpb24gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCi0jaWZuZGVmIF9fU1RNMzJGNHh4X0xMX0ZNQ19ICi0jZGVmaW5lIF9fU1RNMzJGNHh4X0xMX0ZNQ19ICisjaWZuZGVmIFNUTTMyRjR4eF9MTF9GTUNfSAorI2RlZmluZSBTVE0zMkY0eHhfTExfRk1DX0gKIAogI2lmZGVmIF9fY3BsdXNwbHVzCi0gZXh0ZXJuICJDIiB7CitleHRlcm4gIkMiIHsKICNlbmRpZgogCiAvKiBJbmNsdWRlcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwpAQCAtMzEsMTQ4ICszMCwzMzYgQEAKIC8qKiBAYWRkdG9ncm91cCBTVE0zMkY0eHhfSEFMX0RyaXZlcgogICAqIEB7CiAgICovCi0gICAKKwogLyoqIEBhZGR0b2dyb3VwIEZNQ19MTAogICAqIEB7Ci0gICovIAotI2lmIGRlZmluZWQoU1RNMzJGNDI3eHgpIHx8IGRlZmluZWQoU1RNMzJGNDM3eHgpIHx8IGRlZmluZWQoU1RNMzJGNDI5eHgpIHx8IGRlZmluZWQoU1RNMzJGNDM5eHgpIHx8XAotICAgIGRlZmluZWQoU1RNMzJGNDQ2eHgpIHx8IGRlZmluZWQoU1RNMzJGNDY5eHgpIHx8IGRlZmluZWQoU1RNMzJGNDc5eHgpCi0vKiBQcml2YXRlIHR5cGVzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwotLyoqIEBkZWZncm91cCBGTUNfTExfUHJpdmF0ZV9UeXBlcyBGTUMgUHJpdmF0ZSBUeXBlcwotICAqIEB7CiAgICovCiAKLS8qKiAKKy8qKiBAYWRkdG9ncm91cCBGTUNfTExfUHJpdmF0ZV9NYWNyb3MKKyAgKiBAeworICAqLworI2lmIGRlZmluZWQoRk1DX0JhbmsxKQorCisjZGVmaW5lIElTX0ZNQ19OT1JTUkFNX0JBTksoX19CQU5LX18pICgoKF9fQkFOS19fKSA9PSBGTUNfTk9SU1JBTV9CQU5LMSkgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChfX0JBTktfXykgPT0gRk1DX05PUlNSQU1fQkFOSzIpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoX19CQU5LX18pID09IEZNQ19OT1JTUkFNX0JBTkszKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fQkFOS19fKSA9PSBGTUNfTk9SU1JBTV9CQU5LNCkpCisjZGVmaW5lIElTX0ZNQ19NVVgoX19NVVhfXykgKCgoX19NVVhfXykgPT0gRk1DX0RBVEFfQUREUkVTU19NVVhfRElTQUJMRSkgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fTVVYX18pID09IEZNQ19EQVRBX0FERFJFU1NfTVVYX0VOQUJMRSkpCisjZGVmaW5lIElTX0ZNQ19NRU1PUlkoX19NRU1PUllfXykgKCgoX19NRU1PUllfXykgPT0gRk1DX01FTU9SWV9UWVBFX1NSQU0pIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChfX01FTU9SWV9fKSA9PSBGTUNfTUVNT1JZX1RZUEVfUFNSQU0pfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fTUVNT1JZX18pID09IEZNQ19NRU1PUllfVFlQRV9OT1IpKQorI2RlZmluZSBJU19GTUNfTk9SU1JBTV9NRU1PUllfV0lEVEgoX19XSURUSF9fKSAoKChfX1dJRFRIX18pID09IEZNQ19OT1JTUkFNX01FTV9CVVNfV0lEVEhfOCkgIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoX19XSURUSF9fKSA9PSBGTUNfTk9SU1JBTV9NRU1fQlVTX1dJRFRIXzE2KSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fV0lEVEhfXykgPT0gRk1DX05PUlNSQU1fTUVNX0JVU19XSURUSF8zMikpCisjZGVmaW5lIElTX0ZNQ19QQUdFU0laRShfX1NJWkVfXykgKCgoX19TSVpFX18pID09IEZNQ19QQUdFX1NJWkVfTk9ORSkgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fU0laRV9fKSA9PSBGTUNfUEFHRV9TSVpFXzEyOCkgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fU0laRV9fKSA9PSBGTUNfUEFHRV9TSVpFXzI1NikgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fU0laRV9fKSA9PSBGTUNfUEFHRV9TSVpFXzUxMikgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fU0laRV9fKSA9PSBGTUNfUEFHRV9TSVpFXzEwMjQpKQorI2lmIGRlZmluZWQoRk1DX0JDUjFfV0ZESVMpCisjZGVmaW5lIElTX0ZNQ19XUklURV9GSUZPKF9fRklGT19fKSAoKChfX0ZJRk9fXykgPT0gRk1DX1dSSVRFX0ZJRk9fRElTQUJMRSkgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoX19GSUZPX18pID09IEZNQ19XUklURV9GSUZPX0VOQUJMRSkpCisjZW5kaWYgLyogRk1DX0JDUjFfV0ZESVMgKi8KKyNkZWZpbmUgSVNfRk1DX0FDQ0VTU19NT0RFKF9fTU9ERV9fKSAoKChfX01PREVfXykgPT0gRk1DX0FDQ0VTU19NT0RFX0EpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChfX01PREVfXykgPT0gRk1DX0FDQ0VTU19NT0RFX0IpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChfX01PREVfXykgPT0gRk1DX0FDQ0VTU19NT0RFX0MpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChfX01PREVfXykgPT0gRk1DX0FDQ0VTU19NT0RFX0QpKQorI2RlZmluZSBJU19GTUNfQlVSU1RNT0RFKF9fU1RBVEVfXykgKCgoX19TVEFURV9fKSA9PSBGTUNfQlVSU1RfQUNDRVNTX01PREVfRElTQUJMRSkgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoX19TVEFURV9fKSA9PSBGTUNfQlVSU1RfQUNDRVNTX01PREVfRU5BQkxFKSkKKyNkZWZpbmUgSVNfRk1DX1dBSVRfUE9MQVJJVFkoX19QT0xBUklUWV9fKSAoKChfX1BPTEFSSVRZX18pID09IEZNQ19XQUlUX1NJR05BTF9QT0xBUklUWV9MT1cpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChfX1BPTEFSSVRZX18pID09IEZNQ19XQUlUX1NJR05BTF9QT0xBUklUWV9ISUdIKSkKKyNkZWZpbmUgSVNfRk1DX1dSQVBfTU9ERShfX01PREVfXykgKCgoX19NT0RFX18pID09IEZNQ19XUkFQX01PREVfRElTQUJMRSkgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChfX01PREVfXykgPT0gRk1DX1dSQVBfTU9ERV9FTkFCTEUpKQorI2RlZmluZSBJU19GTUNfV0FJVF9TSUdOQUxfQUNUSVZFKF9fQUNUSVZFX18pICgoKF9fQUNUSVZFX18pID09IEZNQ19XQUlUX1RJTUlOR19CRUZPUkVfV1MpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChfX0FDVElWRV9fKSA9PSBGTUNfV0FJVF9USU1JTkdfRFVSSU5HX1dTKSkKKyNkZWZpbmUgSVNfRk1DX1dSSVRFX09QRVJBVElPTihfX09QRVJBVElPTl9fKSAoKChfX09QRVJBVElPTl9fKSA9PSBGTUNfV1JJVEVfT1BFUkFUSU9OX0RJU0FCTEUpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChfX09QRVJBVElPTl9fKSA9PSBGTUNfV1JJVEVfT1BFUkFUSU9OX0VOQUJMRSkpCisjZGVmaW5lIElTX0ZNQ19XQUlURV9TSUdOQUwoX19TSUdOQUxfXykgKCgoX19TSUdOQUxfXykgPT0gRk1DX1dBSVRfU0lHTkFMX0RJU0FCTEUpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChfX1NJR05BTF9fKSA9PSBGTUNfV0FJVF9TSUdOQUxfRU5BQkxFKSkKKyNkZWZpbmUgSVNfRk1DX0VYVEVOREVEX01PREUoX19NT0RFX18pICgoKF9fTU9ERV9fKSA9PSBGTUNfRVhURU5ERURfTU9ERV9ESVNBQkxFKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChfX01PREVfXykgPT0gRk1DX0VYVEVOREVEX01PREVfRU5BQkxFKSkKKyNkZWZpbmUgSVNfRk1DX0FTWU5XQUlUKF9fU1RBVEVfXykgKCgoX19TVEFURV9fKSA9PSBGTUNfQVNZTkNIUk9OT1VTX1dBSVRfRElTQUJMRSkgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChfX1NUQVRFX18pID09IEZNQ19BU1lOQ0hST05PVVNfV0FJVF9FTkFCTEUpKQorI2RlZmluZSBJU19GTUNfREFUQV9MQVRFTkNZKF9fTEFURU5DWV9fKSAoKChfX0xBVEVOQ1lfXykgPiAxVSkgJiYgKChfX0xBVEVOQ1lfXykgPD0gMTdVKSkKKyNkZWZpbmUgSVNfRk1DX1dSSVRFX0JVUlNUKF9fQlVSU1RfXykgKCgoX19CVVJTVF9fKSA9PSBGTUNfV1JJVEVfQlVSU1RfRElTQUJMRSkgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChfX0JVUlNUX18pID09IEZNQ19XUklURV9CVVJTVF9FTkFCTEUpKQorI2RlZmluZSBJU19GTUNfQ09OVElOT1VTX0NMT0NLKF9fQ0NMT0NLX18pICgoKF9fQ0NMT0NLX18pID09IEZNQ19DT05USU5VT1VTX0NMT0NLX1NZTkNfT05MWSkgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fQ0NMT0NLX18pID09IEZNQ19DT05USU5VT1VTX0NMT0NLX1NZTkNfQVNZTkMpKQorI2RlZmluZSBJU19GTUNfQUREUkVTU19TRVRVUF9USU1FKF9fVElNRV9fKSAoKF9fVElNRV9fKSA8PSAxNVUpCisjZGVmaW5lIElTX0ZNQ19BRERSRVNTX0hPTERfVElNRShfX1RJTUVfXykgKCgoX19USU1FX18pID4gMFUpICYmICgoX19USU1FX18pIDw9IDE1VSkpCisjZGVmaW5lIElTX0ZNQ19EQVRBU0VUVVBfVElNRShfX1RJTUVfXykgKCgoX19USU1FX18pID4gMFUpICYmICgoX19USU1FX18pIDw9IDI1NVUpKQorI2RlZmluZSBJU19GTUNfREFUQUhPTERfRFVSQVRJT04oX19EQVRBSE9MRF9fKSAoKF9fREFUQUhPTERfXykgPD0gM1UpCisjZGVmaW5lIElTX0ZNQ19UVVJOQVJPVU5EX1RJTUUoX19USU1FX18pICgoX19USU1FX18pIDw9IDE1VSkKKyNkZWZpbmUgSVNfRk1DX0NMS19ESVYoX19ESVZfXykgKCgoX19ESVZfXykgPiAxVSkgJiYgKChfX0RJVl9fKSA8PSAxNlUpKQorI2RlZmluZSBJU19GTUNfTk9SU1JBTV9ERVZJQ0UoX19JTlNUQU5DRV9fKSAoKF9fSU5TVEFOQ0VfXykgPT0gRk1DX05PUlNSQU1fREVWSUNFKQorI2RlZmluZSBJU19GTUNfTk9SU1JBTV9FWFRFTkRFRF9ERVZJQ0UoX19JTlNUQU5DRV9fKSAoKF9fSU5TVEFOQ0VfXykgPT0gRk1DX05PUlNSQU1fRVhURU5ERURfREVWSUNFKQorCisjZW5kaWYgLyogRk1DX0JhbmsxICovCisjaWYgIChkZWZpbmVkKEZNQ19CYW5rMykgfHwgZGVmaW5lZChGTUNfQmFuazJfMykpCisKKyNpZiBkZWZpbmVkKEZNQ19CYW5rMl8zKQorI2RlZmluZSBJU19GTUNfTkFORF9CQU5LKF9fQkFOS19fKSAoKChfX0JBTktfXykgPT0gRk1DX05BTkRfQkFOSzIpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChfX0JBTktfXykgPT0gRk1DX05BTkRfQkFOSzMpKQorI2Vsc2UKKyNkZWZpbmUgSVNfRk1DX05BTkRfQkFOSyhfX0JBTktfXykgKChfX0JBTktfXykgPT0gRk1DX05BTkRfQkFOSzMpCisjZW5kaWYgLyogRk1DX0JhbmsyXzMgKi8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorI2RlZmluZSBJU19GTUNfV0FJVF9GRUFUVVJFKF9fRkVBVFVSRV9fKSAoKChfX0ZFQVRVUkVfXykgPT0gRk1DX05BTkRfUENDX1dBSVRfRkVBVFVSRV9ESVNBQkxFKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fRkVBVFVSRV9fKSA9PSBGTUNfTkFORF9QQ0NfV0FJVF9GRUFUVVJFX0VOQUJMRSkpCisjZGVmaW5lIElTX0ZNQ19OQU5EX01FTU9SWV9XSURUSChfX1dJRFRIX18pICgoKF9fV0lEVEhfXykgPT0gRk1DX05BTkRfUENDX01FTV9CVVNfV0lEVEhfOCkgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChfX1dJRFRIX18pID09IEZNQ19OQU5EX1BDQ19NRU1fQlVTX1dJRFRIXzE2KSkKKyNkZWZpbmUgSVNfRk1DX0VDQ19TVEFURShfX1NUQVRFX18pICgoKF9fU1RBVEVfXykgPT0gRk1DX05BTkRfRUNDX0RJU0FCTEUpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fU1RBVEVfXykgPT0gRk1DX05BTkRfRUNDX0VOQUJMRSkpCisKKyNkZWZpbmUgSVNfRk1DX0VDQ1BBR0VfU0laRShfX1NJWkVfXykgKCgoX19TSVpFX18pID09IEZNQ19OQU5EX0VDQ19QQUdFX1NJWkVfMjU2QllURSkgIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoX19TSVpFX18pID09IEZNQ19OQU5EX0VDQ19QQUdFX1NJWkVfNTEyQllURSkgIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoX19TSVpFX18pID09IEZNQ19OQU5EX0VDQ19QQUdFX1NJWkVfMTAyNEJZVEUpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoX19TSVpFX18pID09IEZNQ19OQU5EX0VDQ19QQUdFX1NJWkVfMjA0OEJZVEUpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoX19TSVpFX18pID09IEZNQ19OQU5EX0VDQ19QQUdFX1NJWkVfNDA5NkJZVEUpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoX19TSVpFX18pID09IEZNQ19OQU5EX0VDQ19QQUdFX1NJWkVfODE5MkJZVEUpKQorI2RlZmluZSBJU19GTUNfVENMUl9USU1FKF9fVElNRV9fKSAoKF9fVElNRV9fKSA8PSAyNTVVKQorI2RlZmluZSBJU19GTUNfVEFSX1RJTUUoX19USU1FX18pICgoX19USU1FX18pIDw9IDI1NVUpCisjZGVmaW5lIElTX0ZNQ19TRVRVUF9USU1FKF9fVElNRV9fKSAoKF9fVElNRV9fKSA8PSAyNTRVKQorI2RlZmluZSBJU19GTUNfV0FJVF9USU1FKF9fVElNRV9fKSAoKF9fVElNRV9fKSA8PSAyNTRVKQorI2RlZmluZSBJU19GTUNfSE9MRF9USU1FKF9fVElNRV9fKSAoKF9fVElNRV9fKSA8PSAyNTRVKQorI2RlZmluZSBJU19GTUNfSElaX1RJTUUoX19USU1FX18pICgoX19USU1FX18pIDw9IDI1NFUpCisjZGVmaW5lIElTX0ZNQ19OQU5EX0RFVklDRShfX0lOU1RBTkNFX18pICgoX19JTlNUQU5DRV9fKSA9PSBGTUNfTkFORF9ERVZJQ0UpCisKKyNlbmRpZiAvKiBGTUNfQmFuazMpIHx8IGRlZmluZWQoRk1DX0JhbmsyXzMgKi8KKyNpZiBkZWZpbmVkKEZNQ19CYW5rNCkKKyNkZWZpbmUgSVNfRk1DX1BDQ0FSRF9ERVZJQ0UoX19JTlNUQU5DRV9fKSAoKF9fSU5TVEFOQ0VfXykgPT0gRk1DX1BDQ0FSRF9ERVZJQ0UpCisKKyNlbmRpZiAvKiBGTUNfQmFuazQgKi8KKyNpZiBkZWZpbmVkKEZNQ19CYW5rNV82KQorCisjZGVmaW5lIElTX0ZNQ19TRE1FTU9SWV9XSURUSChfX1dJRFRIX18pICgoKF9fV0lEVEhfXykgPT0gRk1DX1NEUkFNX01FTV9CVVNfV0lEVEhfOCkgIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoX19XSURUSF9fKSA9PSBGTUNfU0RSQU1fTUVNX0JVU19XSURUSF8xNikgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChfX1dJRFRIX18pID09IEZNQ19TRFJBTV9NRU1fQlVTX1dJRFRIXzMyKSkKKyNkZWZpbmUgSVNfRk1DX1dSSVRFX1BST1RFQ1RJT04oX19XUklURV9fKSAoKChfX1dSSVRFX18pID09IEZNQ19TRFJBTV9XUklURV9QUk9URUNUSU9OX0RJU0FCTEUpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChfX1dSSVRFX18pID09IEZNQ19TRFJBTV9XUklURV9QUk9URUNUSU9OX0VOQUJMRSkpCisjZGVmaW5lIElTX0ZNQ19TRENMT0NLX1BFUklPRChfX1BFUklPRF9fKSAoKChfX1BFUklPRF9fKSA9PSBGTUNfU0RSQU1fQ0xPQ0tfRElTQUJMRSkgIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fUEVSSU9EX18pID09IEZNQ19TRFJBTV9DTE9DS19QRVJJT0RfMikgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoX19QRVJJT0RfXykgPT0gRk1DX1NEUkFNX0NMT0NLX1BFUklPRF8zKSkKKyNkZWZpbmUgSVNfRk1DX1JFQURfQlVSU1QoX19SQlVSU1RfXykgKCgoX19SQlVSU1RfXykgPT0gRk1DX1NEUkFNX1JCVVJTVF9ESVNBQkxFKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fUkJVUlNUX18pID09IEZNQ19TRFJBTV9SQlVSU1RfRU5BQkxFKSkKKyNkZWZpbmUgSVNfRk1DX1JFQURQSVBFX0RFTEFZKF9fREVMQVlfXykgKCgoX19ERUxBWV9fKSA9PSBGTUNfU0RSQU1fUlBJUEVfREVMQVlfMCkgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChfX0RFTEFZX18pID09IEZNQ19TRFJBTV9SUElQRV9ERUxBWV8xKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fREVMQVlfXykgPT0gRk1DX1NEUkFNX1JQSVBFX0RFTEFZXzIpKQorI2RlZmluZSBJU19GTUNfQ09NTUFORF9NT0RFKF9fQ09NTUFORF9fKSAoKChfX0NPTU1BTkRfXykgPT0gRk1DX1NEUkFNX0NNRF9OT1JNQUxfTU9ERSkgICAgICB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fQ09NTUFORF9fKSA9PSBGTUNfU0RSQU1fQ01EX0NMS19FTkFCTEUpICAgICAgIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoX19DT01NQU5EX18pID09IEZNQ19TRFJBTV9DTURfUEFMTCkgICAgICAgICAgICAgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChfX0NPTU1BTkRfXykgPT0gRk1DX1NEUkFNX0NNRF9BVVRPUkVGUkVTSF9NT0RFKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fQ09NTUFORF9fKSA9PSBGTUNfU0RSQU1fQ01EX0xPQURfTU9ERSkgICAgICAgIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoX19DT01NQU5EX18pID09IEZNQ19TRFJBTV9DTURfU0VMRlJFRlJFU0hfTU9ERSkgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChfX0NPTU1BTkRfXykgPT0gRk1DX1NEUkFNX0NNRF9QT1dFUkRPV05fTU9ERSkpCisjZGVmaW5lIElTX0ZNQ19DT01NQU5EX1RBUkdFVChfX1RBUkdFVF9fKSAoKChfX1RBUkdFVF9fKSA9PSBGTUNfU0RSQU1fQ01EX1RBUkdFVF9CQU5LMSkgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoX19UQVJHRVRfXykgPT0gRk1DX1NEUkFNX0NNRF9UQVJHRVRfQkFOSzIpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fVEFSR0VUX18pID09IEZNQ19TRFJBTV9DTURfVEFSR0VUX0JBTksxXzIpKQorI2RlZmluZSBJU19GTUNfTE9BRFRPQUNUSVZFX0RFTEFZKF9fREVMQVlfXykgKCgoX19ERUxBWV9fKSA+IDBVKSAmJiAoKF9fREVMQVlfXykgPD0gMTZVKSkKKyNkZWZpbmUgSVNfRk1DX0VYSVRTRUxGUkVGUkVTSF9ERUxBWShfX0RFTEFZX18pICgoKF9fREVMQVlfXykgPiAwVSkgJiYgKChfX0RFTEFZX18pIDw9IDE2VSkpCisjZGVmaW5lIElTX0ZNQ19TRUxGUkVGUkVTSF9USU1FKF9fVElNRV9fKSAoKChfX1RJTUVfXykgPiAwVSkgJiYgKChfX1RJTUVfXykgPD0gMTZVKSkKKyNkZWZpbmUgSVNfRk1DX1JPV0NZQ0xFX0RFTEFZKF9fREVMQVlfXykgKCgoX19ERUxBWV9fKSA+IDBVKSAmJiAoKF9fREVMQVlfXykgPD0gMTZVKSkKKyNkZWZpbmUgSVNfRk1DX1dSSVRFX1JFQ09WRVJZX1RJTUUoX19USU1FX18pICgoKF9fVElNRV9fKSA+IDBVKSAmJiAoKF9fVElNRV9fKSA8PSAxNlUpKQorI2RlZmluZSBJU19GTUNfUlBfREVMQVkoX19ERUxBWV9fKSAoKChfX0RFTEFZX18pID4gMFUpICYmICgoX19ERUxBWV9fKSA8PSAxNlUpKQorI2RlZmluZSBJU19GTUNfUkNEX0RFTEFZKF9fREVMQVlfXykgKCgoX19ERUxBWV9fKSA+IDBVKSAmJiAoKF9fREVMQVlfXykgPD0gMTZVKSkKKyNkZWZpbmUgSVNfRk1DX0FVVE9SRUZSRVNIX05VTUJFUihfX05VTUJFUl9fKSAoKChfX05VTUJFUl9fKSA+IDBVKSAmJiAoKF9fTlVNQkVSX18pIDw9IDE1VSkpCisjZGVmaW5lIElTX0ZNQ19NT0RFX1JFR0lTVEVSKF9fQ09OVEVOVF9fKSAoKF9fQ09OVEVOVF9fKSA8PSA4MTkxVSkKKyNkZWZpbmUgSVNfRk1DX1JFRlJFU0hfUkFURShfX1JBVEVfXykgKChfX1JBVEVfXykgPD0gODE5MVUpCisjZGVmaW5lIElTX0ZNQ19TRFJBTV9ERVZJQ0UoX19JTlNUQU5DRV9fKSAoKF9fSU5TVEFOQ0VfXykgPT0gRk1DX1NEUkFNX0RFVklDRSkKKyNkZWZpbmUgSVNfRk1DX1NEUkFNX0JBTksoX19CQU5LX18pICgoKF9fQkFOS19fKSA9PSBGTUNfU0RSQU1fQkFOSzEpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fQkFOS19fKSA9PSBGTUNfU0RSQU1fQkFOSzIpKQorI2RlZmluZSBJU19GTUNfQ09MVU1OQklUU19OVU1CRVIoX19DT0xVTU5fXykgKCgoX19DT0xVTU5fXykgPT0gRk1DX1NEUkFNX0NPTFVNTl9CSVRTX05VTV84KSAgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoX19DT0xVTU5fXykgPT0gRk1DX1NEUkFNX0NPTFVNTl9CSVRTX05VTV85KSAgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoX19DT0xVTU5fXykgPT0gRk1DX1NEUkFNX0NPTFVNTl9CSVRTX05VTV8xMCkgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoX19DT0xVTU5fXykgPT0gRk1DX1NEUkFNX0NPTFVNTl9CSVRTX05VTV8xMSkpCisjZGVmaW5lIElTX0ZNQ19ST1dCSVRTX05VTUJFUihfX1JPV19fKSAoKChfX1JPV19fKSA9PSBGTUNfU0RSQU1fUk9XX0JJVFNfTlVNXzExKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChfX1JPV19fKSA9PSBGTUNfU0RSQU1fUk9XX0JJVFNfTlVNXzEyKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChfX1JPV19fKSA9PSBGTUNfU0RSQU1fUk9XX0JJVFNfTlVNXzEzKSkKKyNkZWZpbmUgSVNfRk1DX0lOVEVSTkFMQkFOS19OVU1CRVIoX19OVU1CRVJfXykgKCgoX19OVU1CRVJfXykgPT0gRk1DX1NEUkFNX0lOVEVSTl9CQU5LU19OVU1fMikgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChfX05VTUJFUl9fKSA9PSBGTUNfU0RSQU1fSU5URVJOX0JBTktTX05VTV80KSkKKyNkZWZpbmUgSVNfRk1DX0NBU19MQVRFTkNZKF9fTEFURU5DWV9fKSAoKChfX0xBVEVOQ1lfXykgPT0gRk1DX1NEUkFNX0NBU19MQVRFTkNZXzEpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChfX0xBVEVOQ1lfXykgPT0gRk1DX1NEUkFNX0NBU19MQVRFTkNZXzIpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChfX0xBVEVOQ1lfXykgPT0gRk1DX1NEUkFNX0NBU19MQVRFTkNZXzMpKQorCisjZW5kaWYgLyogRk1DX0Jhbms1XzYgKi8KKworLyoqCisgICogQH0KKyAgKi8KKworLyogRXhwb3J0ZWQgdHlwZWRlZiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworLyoqIEBkZWZncm91cCBGTUNfTExfRXhwb3J0ZWRfdHlwZWRlZiBGTUMgTG93IExheWVyIEV4cG9ydGVkIFR5cGVzCisgICogQHsKKyAgKi8KKworI2lmIGRlZmluZWQoRk1DX0JhbmsxKQorI2RlZmluZSBGTUNfTk9SU1JBTV9UeXBlRGVmICAgICAgICAgICAgRk1DX0JhbmsxX1R5cGVEZWYKKyNkZWZpbmUgRk1DX05PUlNSQU1fRVhURU5ERURfVHlwZURlZiAgIEZNQ19CYW5rMUVfVHlwZURlZgorI2VuZGlmIC8qIEZNQ19CYW5rMSAqLworI2lmIGRlZmluZWQoRk1DX0JhbmsyXzMpCisjZGVmaW5lIEZNQ19OQU5EX1R5cGVEZWYgICAgICAgICAgICAgICBGTUNfQmFuazJfM19UeXBlRGVmCisjZWxzZQorI2RlZmluZSBGTUNfTkFORF9UeXBlRGVmICAgICAgICAgICAgICAgRk1DX0JhbmszX1R5cGVEZWYKKyNlbmRpZiAvKiBGTUNfQmFuazJfMyAqLworI2lmIGRlZmluZWQoRk1DX0Jhbms0KQorI2RlZmluZSBGTUNfUENDQVJEX1R5cGVEZWYgICAgICAgICAgICAgRk1DX0Jhbms0X1R5cGVEZWYKKyNlbmRpZiAvKiBGTUNfQmFuazQgKi8KKyNpZiBkZWZpbmVkKEZNQ19CYW5rNV82KQorI2RlZmluZSBGTUNfU0RSQU1fVHlwZURlZiAgICAgICAgICAgICAgRk1DX0Jhbms1XzZfVHlwZURlZgorI2VuZGlmIC8qIEZNQ19CYW5rNV82ICovCisKKyNpZiBkZWZpbmVkKEZNQ19CYW5rMSkKKyNkZWZpbmUgRk1DX05PUlNSQU1fREVWSUNFICAgICAgICAgICAgIEZNQ19CYW5rMQorI2RlZmluZSBGTUNfTk9SU1JBTV9FWFRFTkRFRF9ERVZJQ0UgICAgRk1DX0JhbmsxRQorI2VuZGlmIC8qIEZNQ19CYW5rMSAqLworI2lmIGRlZmluZWQoRk1DX0JhbmsyXzMpCisjZGVmaW5lIEZNQ19OQU5EX0RFVklDRSAgICAgICAgICAgICAgICBGTUNfQmFuazJfMworI2Vsc2UKKyNkZWZpbmUgRk1DX05BTkRfREVWSUNFICAgICAgICAgICAgICAgIEZNQ19CYW5rMworI2VuZGlmIC8qIEZNQ19CYW5rMl8zICovCisjaWYgZGVmaW5lZChGTUNfQmFuazQpCisjZGVmaW5lIEZNQ19QQ0NBUkRfREVWSUNFICAgICAgICAgICAgICBGTUNfQmFuazQKKyNlbmRpZiAvKiBGTUNfQmFuazQgKi8KKyNpZiBkZWZpbmVkKEZNQ19CYW5rNV82KQorI2RlZmluZSBGTUNfU0RSQU1fREVWSUNFICAgICAgICAgICAgICAgRk1DX0Jhbms1XzYKKyNlbmRpZiAvKiBGTUNfQmFuazVfNiAqLworCisjaWYgZGVmaW5lZChGTUNfQmFuazEpCisvKioKICAgKiBAYnJpZWYgIEZNQyBOT1JTUkFNIENvbmZpZ3VyYXRpb24gU3RydWN0dXJlIGRlZmluaXRpb24KLSAgKi8gCisgICovCiB0eXBlZGVmIHN0cnVjdAogewogICB1aW50MzJfdCBOU0Jhbms7ICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNwZWNpZmllcyB0aGUgTk9SU1JBTSBtZW1vcnkgZGV2aWNlIHRoYXQgd2lsbCBiZSB1c2VkLgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIG9mIEByZWYgRk1DX05PUlNSQU1fQmFuayAgICAgICAgICAgICAgICAgICAgICovCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGEgdmFsdWUgb2YgQHJlZiBGTUNfTk9SU1JBTV9CYW5rICAgICAgICAgICAgICAgICAgKi8KIAogICB1aW50MzJfdCBEYXRhQWRkcmVzc011eDsgICAgICAgICAgICAgICAvKiE8IFNwZWNpZmllcyB3aGV0aGVyIHRoZSBhZGRyZXNzIGFuZCBkYXRhIHZhbHVlcyBhcmUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtdWx0aXBsZXhlZCBvbiB0aGUgZGF0YSBidXMgb3Igbm90LiAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYSB2YWx1ZSBvZiBAcmVmIEZNQ19EYXRhX0FkZHJlc3NfQnVzX011bHRpcGxleGluZyAgICAqLworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG11bHRpcGxleGVkIG9uIHRoZSBkYXRhIGJ1cyBvciBub3QuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGEgdmFsdWUgb2YgQHJlZiBGTUNfRGF0YV9BZGRyZXNzX0J1c19NdWx0aXBsZXhpbmcgKi8KIAogICB1aW50MzJfdCBNZW1vcnlUeXBlOyAgICAgICAgICAgICAgICAgICAvKiE8IFNwZWNpZmllcyB0aGUgdHlwZSBvZiBleHRlcm5hbCBtZW1vcnkgYXR0YWNoZWQgdG8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgY29ycmVzcG9uZGluZyBtZW1vcnkgZGV2aWNlLgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIG9mIEByZWYgRk1DX01lbW9yeV9UeXBlICAgICAgICAgICAgICAgICAgICAgICovCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGEgdmFsdWUgb2YgQHJlZiBGTUNfTWVtb3J5X1R5cGUgICAgICAgICAgICAgICAgICAgKi8KIAogICB1aW50MzJfdCBNZW1vcnlEYXRhV2lkdGg7ICAgICAgICAgICAgICAvKiE8IFNwZWNpZmllcyB0aGUgZXh0ZXJuYWwgbWVtb3J5IGRldmljZSB3aWR0aC4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYSB2YWx1ZSBvZiBAcmVmIEZNQ19OT1JTUkFNX0RhdGFfV2lkdGggICAgICAgICAgICAgICAqLworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIG9mIEByZWYgRk1DX05PUlNSQU1fRGF0YV9XaWR0aCAgICAgICAgICAgICovCiAKICAgdWludDMyX3QgQnVyc3RBY2Nlc3NNb2RlOyAgICAgICAgICAgICAgLyohPCBFbmFibGVzIG9yIGRpc2FibGVzIHRoZSBidXJzdCBhY2Nlc3MgbW9kZSBmb3IgRmxhc2ggbWVtb3J5LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbGlkIG9ubHkgd2l0aCBzeW5jaHJvbm91cyBidXJzdCBGbGFzaCBtZW1vcmllcy4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYSB2YWx1ZSBvZiBAcmVmIEZNQ19CdXJzdF9BY2Nlc3NfTW9kZSAgICAgICAgICAgICAgICAqLworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIG9mIEByZWYgRk1DX0J1cnN0X0FjY2Vzc19Nb2RlICAgICAgICAgICAgICovCiAKICAgdWludDMyX3QgV2FpdFNpZ25hbFBvbGFyaXR5OyAgICAgICAgICAgLyohPCBTcGVjaWZpZXMgdGhlIHdhaXQgc2lnbmFsIHBvbGFyaXR5LCB2YWxpZCBvbmx5IHdoZW4gYWNjZXNzaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIEZsYXNoIG1lbW9yeSBpbiBidXJzdCBtb2RlLgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIG9mIEByZWYgRk1DX1dhaXRfU2lnbmFsX1BvbGFyaXR5ICAgICAgICAgICAgICovCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGEgdmFsdWUgb2YgQHJlZiBGTUNfV2FpdF9TaWduYWxfUG9sYXJpdHkgICAgICAgICAgKi8KIAogICB1aW50MzJfdCBXcmFwTW9kZTsgICAgICAgICAgICAgICAgICAgICAvKiE8IEVuYWJsZXMgb3IgZGlzYWJsZXMgdGhlIFdyYXBwZWQgYnVyc3QgYWNjZXNzIG1vZGUgZm9yIEZsYXNoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVtb3J5LCB2YWxpZCBvbmx5IHdoZW4gYWNjZXNzaW5nIEZsYXNoIG1lbW9yaWVzIGluIGJ1cnN0IG1vZGUuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGEgdmFsdWUgb2YgQHJlZiBGTUNfV3JhcF9Nb2RlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBtb2RlIGlzIG5vdCBhdmFpbGFibGUgZm9yIHRoZSBTVE0zMkY0NDYvNDY3LzQ3OXh4IGRldmljZXMgICAgICAgICAgICAgICAgICAgICovCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBtb2RlIGlzIG5vdCBhdmFpbGFibGUgZm9yIHRoZSBTVE0zMkY0NDYvNDY3LzQ3OXh4IGRldmljZXMgICAgICAgICAgKi8KIAogICB1aW50MzJfdCBXYWl0U2lnbmFsQWN0aXZlOyAgICAgICAgICAgICAvKiE8IFNwZWNpZmllcyBpZiB0aGUgd2FpdCBzaWduYWwgaXMgYXNzZXJ0ZWQgYnkgdGhlIG1lbW9yeSBvbmUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbG9jayBjeWNsZSBiZWZvcmUgdGhlIHdhaXQgc3RhdGUgb3IgZHVyaW5nIHRoZSB3YWl0IHN0YXRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbGlkIG9ubHkgd2hlbiBhY2Nlc3NpbmcgbWVtb3JpZXMgaW4gYnVyc3QgbW9kZS4gCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGEgdmFsdWUgb2YgQHJlZiBGTUNfV2FpdF9UaW1pbmcgICAgICAgICAgICAgICAgICAgICAgKi8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWxpZCBvbmx5IHdoZW4gYWNjZXNzaW5nIG1lbW9yaWVzIGluIGJ1cnN0IG1vZGUuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGEgdmFsdWUgb2YgQHJlZiBGTUNfV2FpdF9UaW1pbmcgICAgICAgICAgICAgICAgICAgKi8KIAotICB1aW50MzJfdCBXcml0ZU9wZXJhdGlvbjsgICAgICAgICAgICAgICAvKiE8IEVuYWJsZXMgb3IgZGlzYWJsZXMgdGhlIHdyaXRlIG9wZXJhdGlvbiBpbiB0aGUgc2VsZWN0ZWQgZGV2aWNlIGJ5IHRoZSBGTUMuIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIG9mIEByZWYgRk1DX1dyaXRlX09wZXJhdGlvbiAgICAgICAgICAgICAgICAgICovCisgIHVpbnQzMl90IFdyaXRlT3BlcmF0aW9uOyAgICAgICAgICAgICAgIC8qITwgRW5hYmxlcyBvciBkaXNhYmxlcyB0aGUgd3JpdGUgb3BlcmF0aW9uIGluIHRoZSBzZWxlY3RlZCBkZXZpY2UgYnkgdGhlIEZNQy4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYSB2YWx1ZSBvZiBAcmVmIEZNQ19Xcml0ZV9PcGVyYXRpb24gICAgICAgICAgICAgICAqLwogCiAgIHVpbnQzMl90IFdhaXRTaWduYWw7ICAgICAgICAgICAgICAgICAgIC8qITwgRW5hYmxlcyBvciBkaXNhYmxlcyB0aGUgd2FpdCBzdGF0ZSBpbnNlcnRpb24gdmlhIHdhaXQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaWduYWwsIHZhbGlkIGZvciBGbGFzaCBtZW1vcnkgYWNjZXNzIGluIGJ1cnN0IG1vZGUuIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIG9mIEByZWYgRk1DX1dhaXRfU2lnbmFsICAgICAgICAgICAgICAgICAgICAgICovCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2lnbmFsLCB2YWxpZCBmb3IgRmxhc2ggbWVtb3J5IGFjY2VzcyBpbiBidXJzdCBtb2RlLgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIG9mIEByZWYgRk1DX1dhaXRfU2lnbmFsICAgICAgICAgICAgICAgICAgICovCiAKICAgdWludDMyX3QgRXh0ZW5kZWRNb2RlOyAgICAgICAgICAgICAgICAgLyohPCBFbmFibGVzIG9yIGRpc2FibGVzIHRoZSBleHRlbmRlZCBtb2RlLgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIG9mIEByZWYgRk1DX0V4dGVuZGVkX01vZGUgICAgICAgICAgICAgICAgICAgICovCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGEgdmFsdWUgb2YgQHJlZiBGTUNfRXh0ZW5kZWRfTW9kZSAgICAgICAgICAgICAgICAgKi8KIAogICB1aW50MzJfdCBBc3luY2hyb25vdXNXYWl0OyAgICAgICAgICAgICAvKiE8IEVuYWJsZXMgb3IgZGlzYWJsZXMgd2FpdCBzaWduYWwgZHVyaW5nIGFzeW5jaHJvbm91cyB0cmFuc2ZlcnMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsaWQgb25seSB3aXRoIGFzeW5jaHJvbm91cyBGbGFzaCBtZW1vcmllcy4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYSB2YWx1ZSBvZiBAcmVmIEZNQ19Bc3luY2hyb25vdXNXYWl0ICAgICAgICAgICAgICAgICAqLworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIG9mIEByZWYgRk1DX0FzeW5jaHJvbm91c1dhaXQgICAgICAgICAgICAgICovCiAKICAgdWludDMyX3QgV3JpdGVCdXJzdDsgICAgICAgICAgICAgICAgICAgLyohPCBFbmFibGVzIG9yIGRpc2FibGVzIHRoZSB3cml0ZSBidXJzdCBvcGVyYXRpb24uCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGEgdmFsdWUgb2YgQHJlZiBGTUNfV3JpdGVfQnVyc3QgICAgICAgICAgICAgICAgICAgICAgKi8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYSB2YWx1ZSBvZiBAcmVmIEZNQ19Xcml0ZV9CdXJzdCAgICAgICAgICAgICAgICAgICAqLwogCiAgIHVpbnQzMl90IENvbnRpbnVvdXNDbG9jazsgICAgICAgICAgICAgIC8qITwgRW5hYmxlcyBvciBkaXNhYmxlcyB0aGUgRk1DIGNsb2NrIG91dHB1dCB0byBleHRlcm5hbCBtZW1vcnkgZGV2aWNlcy4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBpcyBvbmx5IGVuYWJsZWQgdGhyb3VnaCB0aGUgRk1DX0JDUjEgcmVnaXN0ZXIsIGFuZCBkb24ndCBjYXJlIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRocm91Z2ggRk1DX0JDUjIuLjQgcmVnaXN0ZXJzLgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIG9mIEByZWYgRk1DX0NvbnRpbm91c19DbG9jayAgICAgICAgICAgICAgICAgICovCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgaXMgb25seSBlbmFibGVkIHRocm91Z2ggdGhlIEZNQ19CQ1IxIHJlZ2lzdGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCBkb24ndCBjYXJlIHRocm91Z2ggRk1DX0JDUjIuLjQgcmVnaXN0ZXJzLgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIG9mIEByZWYgRk1DX0NvbnRpbm91c19DbG9jayAgICAgICAgICAgICAgICovCiAKICAgdWludDMyX3QgV3JpdGVGaWZvOyAgICAgICAgICAgICAgICAgICAgLyohPCBFbmFibGVzIG9yIGRpc2FibGVzIHRoZSB3cml0ZSBGSUZPIHVzZWQgYnkgdGhlIEZNQyBjb250cm9sbGVyLgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGlzIG9ubHkgZW5hYmxlZCB0aHJvdWdoIHRoZSBGTUNfQkNSMSByZWdpc3RlciwgYW5kIGRvbid0IGNhcmUgCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3VnaCBGTUNfQkNSMi4uNCByZWdpc3RlcnMuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgaXMgb25seSBlbmFibGVkIHRocm91Z2ggdGhlIEZNQ19CQ1IxIHJlZ2lzdGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCBkb24ndCBjYXJlIHRocm91Z2ggRk1DX0JDUjIuLjQgcmVnaXN0ZXJzLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIG9mIEByZWYgRk1DX1dyaXRlX0ZJRk8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIG1vZGUgaXMgYXZhaWxhYmxlIG9ubHkgZm9yIHRoZSBTVE0zMkY0NDYvNDY5LzQ3OXh4IGRldmljZXMgICAgICAgICAgICAqLworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgbW9kZSBpcyBhdmFpbGFibGUgb25seSBmb3IgdGhlIFNUTTMyRjQ0Ni80NjkvNDc5eHggZGV2aWNlcyAgICAgICAgICovCiAKICAgdWludDMyX3QgUGFnZVNpemU7ICAgICAgICAgICAgICAgICAgICAgLyohPCBTcGVjaWZpZXMgdGhlIG1lbW9yeSBwYWdlIHNpemUuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGEgdmFsdWUgb2YgQHJlZiBGTUNfUGFnZV9TaXplICAgICAgICAgICAgICAgICAgICAgICAgKi8KLX1GTUNfTk9SU1JBTV9Jbml0VHlwZURlZjsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYSB2YWx1ZSBvZiBAcmVmIEZNQ19QYWdlX1NpemUgICAgICAgICAgICAgICAgICAgICAqLworfSBGTUNfTk9SU1JBTV9Jbml0VHlwZURlZjsKIAotLyoqIAotICAqIEBicmllZiAgRk1DIE5PUlNSQU0gVGltaW5nIHBhcmFtZXRlcnMgc3RydWN0dXJlIGRlZmluaXRpb24gIAorLyoqCisgICogQGJyaWVmICBGTUMgTk9SU1JBTSBUaW1pbmcgcGFyYW1ldGVycyBzdHJ1Y3R1cmUgZGVmaW5pdGlvbgogICAqLwogdHlwZWRlZiBzdHJ1Y3QKIHsKICAgdWludDMyX3QgQWRkcmVzc1NldHVwVGltZTsgICAgICAgICAgICAgLyohPCBEZWZpbmVzIHRoZSBudW1iZXIgb2YgSENMSyBjeWNsZXMgdG8gY29uZmlndXJlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIGR1cmF0aW9uIG9mIHRoZSBhZGRyZXNzIHNldHVwIHRpbWUuIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBkdXJhdGlvbiBvZiB0aGUgYWRkcmVzcyBzZXR1cCB0aW1lLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIGJldHdlZW4gTWluX0RhdGEgPSAwIGFuZCBNYXhfRGF0YSA9IDE1LgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBub3RlIFRoaXMgcGFyYW1ldGVyIGlzIG5vdCB1c2VkIHdpdGggc3luY2hyb25vdXMgTk9SIEZsYXNoIG1lbW9yaWVzLiAgICAgICovCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQG5vdGUgVGhpcyBwYXJhbWV0ZXIgaXMgbm90IHVzZWQgd2l0aCBzeW5jaHJvbm91cyBOT1IgRmxhc2ggbWVtb3JpZXMuICAgKi8KIAogICB1aW50MzJfdCBBZGRyZXNzSG9sZFRpbWU7ICAgICAgICAgICAgICAvKiE8IERlZmluZXMgdGhlIG51bWJlciBvZiBIQ0xLIGN5Y2xlcyB0byBjb25maWd1cmUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgZHVyYXRpb24gb2YgdGhlIGFkZHJlc3MgaG9sZCB0aW1lLgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIGJldHdlZW4gTWluX0RhdGEgPSAxIGFuZCBNYXhfRGF0YSA9IDE1LiAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAbm90ZSBUaGlzIHBhcmFtZXRlciBpcyBub3QgdXNlZCB3aXRoIHN5bmNocm9ub3VzIE5PUiBGbGFzaCBtZW1vcmllcy4gICAgICAqLworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIGJldHdlZW4gTWluX0RhdGEgPSAxIGFuZCBNYXhfRGF0YSA9IDE1LgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBub3RlIFRoaXMgcGFyYW1ldGVyIGlzIG5vdCB1c2VkIHdpdGggc3luY2hyb25vdXMgTk9SIEZsYXNoIG1lbW9yaWVzLiAgICovCiAKICAgdWludDMyX3QgRGF0YVNldHVwVGltZTsgICAgICAgICAgICAgICAgLyohPCBEZWZpbmVzIHRoZSBudW1iZXIgb2YgSENMSyBjeWNsZXMgdG8gY29uZmlndXJlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIGR1cmF0aW9uIG9mIHRoZSBkYXRhIHNldHVwIHRpbWUuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGEgdmFsdWUgYmV0d2VlbiBNaW5fRGF0YSA9IDEgYW5kIE1heF9EYXRhID0gMjU1LgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBub3RlIFRoaXMgcGFyYW1ldGVyIGlzIHVzZWQgZm9yIFNSQU1zLCBST01zIGFuZCBhc3luY2hyb25vdXMgbXVsdGlwbGV4ZWQgCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTk9SIEZsYXNoIG1lbW9yaWVzLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAbm90ZSBUaGlzIHBhcmFtZXRlciBpcyB1c2VkIGZvciBTUkFNcywgUk9NcyBhbmQgYXN5bmNocm9ub3VzIG11bHRpcGxleGVkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTk9SIEZsYXNoIG1lbW9yaWVzLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KIAogICB1aW50MzJfdCBCdXNUdXJuQXJvdW5kRHVyYXRpb247ICAgICAgICAvKiE8IERlZmluZXMgdGhlIG51bWJlciBvZiBIQ0xLIGN5Y2xlcyB0byBjb25maWd1cmUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgZHVyYXRpb24gb2YgdGhlIGJ1cyB0dXJuYXJvdW5kLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIGJldHdlZW4gTWluX0RhdGEgPSAwIGFuZCBNYXhfRGF0YSA9IDE1LgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBub3RlIFRoaXMgcGFyYW1ldGVyIGlzIG9ubHkgdXNlZCBmb3IgbXVsdGlwbGV4ZWQgTk9SIEZsYXNoIG1lbW9yaWVzLiAgICAgICovCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQG5vdGUgVGhpcyBwYXJhbWV0ZXIgaXMgb25seSB1c2VkIGZvciBtdWx0aXBsZXhlZCBOT1IgRmxhc2ggbWVtb3JpZXMuICAgKi8KIAotICB1aW50MzJfdCBDTEtEaXZpc2lvbjsgICAgICAgICAgICAgICAgICAvKiE8IERlZmluZXMgdGhlIHBlcmlvZCBvZiBDTEsgY2xvY2sgb3V0cHV0IHNpZ25hbCwgZXhwcmVzc2VkIGluIG51bWJlciBvZiAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQ0xLIGN5Y2xlcy4gVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGEgdmFsdWUgYmV0d2VlbiBNaW5fRGF0YSA9IDIgYW5kIE1heF9EYXRhID0gMTYuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQG5vdGUgVGhpcyBwYXJhbWV0ZXIgaXMgbm90IHVzZWQgZm9yIGFzeW5jaHJvbm91cyBOT1IgRmxhc2gsIFNSQU0gb3IgUk9NIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjY2Vzc2VzLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisgIHVpbnQzMl90IENMS0RpdmlzaW9uOyAgICAgICAgICAgICAgICAgIC8qITwgRGVmaW5lcyB0aGUgcGVyaW9kIG9mIENMSyBjbG9jayBvdXRwdXQgc2lnbmFsLCBleHByZXNzZWQgaW4gbnVtYmVyIG9mCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSENMSyBjeWNsZXMuIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIGJldHdlZW4gTWluX0RhdGEgPSAyIGFuZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1heF9EYXRhID0gMTYuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQG5vdGUgVGhpcyBwYXJhbWV0ZXIgaXMgbm90IHVzZWQgZm9yIGFzeW5jaHJvbm91cyBOT1IgRmxhc2gsIFNSQU0gb3IgUk9NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWNjZXNzZXMuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KIAogICB1aW50MzJfdCBEYXRhTGF0ZW5jeTsgICAgICAgICAgICAgICAgICAvKiE8IERlZmluZXMgdGhlIG51bWJlciBvZiBtZW1vcnkgY2xvY2sgY3ljbGVzIHRvIGlzc3VlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gdGhlIG1lbW9yeSBiZWZvcmUgZ2V0dGluZyB0aGUgZmlyc3QgZGF0YS4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGUgcGFyYW1ldGVyIHZhbHVlIGRlcGVuZHMgb24gdGhlIG1lbW9yeSB0eXBlIGFzIHNob3duIGJlbG93OgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0gSXQgbXVzdCBiZSBzZXQgdG8gMCBpbiBjYXNlIG9mIGEgQ1JBTQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0gSXQgaXMgZG9uJ3QgY2FyZSBpbiBhc3luY2hyb25vdXMgTk9SLCBTUkFNIG9yIFJPTSBhY2Nlc3NlcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0gSXQgbWF5IGFzc3VtZSBhIHZhbHVlIGJldHdlZW4gTWluX0RhdGEgPSAyIGFuZCBNYXhfRGF0YSA9IDE3IGluIE5PUiBGbGFzaCBtZW1vcmllcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2l0aCBzeW5jaHJvbm91cyBidXJzdCBtb2RlIGVuYWJsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLSBJdCBtYXkgYXNzdW1lIGEgdmFsdWUgYmV0d2VlbiBNaW5fRGF0YSA9IDIgYW5kIE1heF9EYXRhID0gMTcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIE5PUiBGbGFzaCBtZW1vcmllcyB3aXRoIHN5bmNocm9ub3VzIGJ1cnN0IG1vZGUgZW5hYmxlICAgICAgICAgICAgICAqLwogCi0gIHVpbnQzMl90IEFjY2Vzc01vZGU7ICAgICAgICAgICAgICAgICAgIC8qITwgU3BlY2lmaWVzIHRoZSBhc3luY2hyb25vdXMgYWNjZXNzIG1vZGUuIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIG9mIEByZWYgRk1DX0FjY2Vzc19Nb2RlICAgICAgICAgICAgICAgICAgICAgICovCi19Rk1DX05PUlNSQU1fVGltaW5nVHlwZURlZjsKKyAgdWludDMyX3QgQWNjZXNzTW9kZTsgICAgICAgICAgICAgICAgICAgLyohPCBTcGVjaWZpZXMgdGhlIGFzeW5jaHJvbm91cyBhY2Nlc3MgbW9kZS4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYSB2YWx1ZSBvZiBAcmVmIEZNQ19BY2Nlc3NfTW9kZSAgICAgICAgICAgICAgICAgICAqLworfSBGTUNfTk9SU1JBTV9UaW1pbmdUeXBlRGVmOworI2VuZGlmIC8qIEZNQ19CYW5rMSAqLwogCi0vKiogCi0gICogQGJyaWVmICBGTUMgTkFORCBDb25maWd1cmF0aW9uIFN0cnVjdHVyZSBkZWZpbml0aW9uICAKLSAgKi8gCisjaWYgZGVmaW5lZChGTUNfQmFuazMpIHx8IGRlZmluZWQoRk1DX0JhbmsyXzMpCisvKioKKyAgKiBAYnJpZWYgIEZNQyBOQU5EIENvbmZpZ3VyYXRpb24gU3RydWN0dXJlIGRlZmluaXRpb24KKyAgKi8KIHR5cGVkZWYgc3RydWN0CiB7CiAgIHVpbnQzMl90IE5hbmRCYW5rOyAgICAgICAgICAgICAgIC8qITwgU3BlY2lmaWVzIHRoZSBOQU5EIG1lbW9yeSBkZXZpY2UgdGhhdCB3aWxsIGJlIHVzZWQuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGEgdmFsdWUgb2YgQHJlZiBGTUNfTkFORF9CYW5rICAgICAgICAgICAgICAgICAgICAqLworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIG9mIEByZWYgRk1DX05BTkRfQmFuayAgICAgICAgICAgICAgICAgICovCiAKICAgdWludDMyX3QgV2FpdGZlYXR1cmU7ICAgICAgICAgICAgLyohPCBFbmFibGVzIG9yIGRpc2FibGVzIHRoZSBXYWl0IGZlYXR1cmUgZm9yIHRoZSBOQU5EIE1lbW9yeSBkZXZpY2UuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGFueSB2YWx1ZSBvZiBAcmVmIEZNQ19XYWl0X2ZlYXR1cmUgICAgICAgICAgICAgICAqLworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhbnkgdmFsdWUgb2YgQHJlZiBGTUNfV2FpdF9mZWF0dXJlICAgICAgICAgICAgICovCiAKICAgdWludDMyX3QgTWVtb3J5RGF0YVdpZHRoOyAgICAgICAgLyohPCBTcGVjaWZpZXMgdGhlIGV4dGVybmFsIG1lbW9yeSBkZXZpY2Ugd2lkdGguCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGFueSB2YWx1ZSBvZiBAcmVmIEZNQ19OQU5EX0RhdGFfV2lkdGggICAgICAgICAgICAqLworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhbnkgdmFsdWUgb2YgQHJlZiBGTUNfTkFORF9EYXRhX1dpZHRoICAgICAgICAgICovCiAKICAgdWludDMyX3QgRWNjQ29tcHV0YXRpb247ICAgICAgICAgLyohPCBFbmFibGVzIG9yIGRpc2FibGVzIHRoZSBFQ0MgY29tcHV0YXRpb24uCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGFueSB2YWx1ZSBvZiBAcmVmIEZNQ19FQ0MgICAgICAgICAgICAgICAgICAgICAgICAqLworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhbnkgdmFsdWUgb2YgQHJlZiBGTUNfRUNDICAgICAgICAgICAgICAgICAgICAgICovCiAKICAgdWludDMyX3QgRUNDUGFnZVNpemU7ICAgICAgICAgICAgLyohPCBEZWZpbmVzIHRoZSBwYWdlIHNpemUgZm9yIHRoZSBleHRlbmRlZCBFQ0MuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGFueSB2YWx1ZSBvZiBAcmVmIEZNQ19FQ0NfUGFnZV9TaXplICAgICAgICAgICAgICAqLworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhbnkgdmFsdWUgb2YgQHJlZiBGTUNfRUNDX1BhZ2VfU2l6ZSAgICAgICAgICAgICovCiAKICAgdWludDMyX3QgVENMUlNldHVwVGltZTsgICAgICAgICAgLyohPCBEZWZpbmVzIHRoZSBudW1iZXIgb2YgSENMSyBjeWNsZXMgdG8gY29uZmlndXJlIHRoZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlbGF5IGJldHdlZW4gQ0xFIGxvdyBhbmQgUkUgbG93LgpAQCAtMTgxLDEwICszNjgsMTIgQEAKICAgdWludDMyX3QgVEFSU2V0dXBUaW1lOyAgICAgICAgICAgLyohPCBEZWZpbmVzIHRoZSBudW1iZXIgb2YgSENMSyBjeWNsZXMgdG8gY29uZmlndXJlIHRoZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlbGF5IGJldHdlZW4gQUxFIGxvdyBhbmQgUkUgbG93LgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIG51bWJlciBiZXR3ZWVuIE1pbl9EYXRhID0gMCBhbmQgTWF4X0RhdGEgPSAyNTUgKi8KLX1GTUNfTkFORF9Jbml0VHlwZURlZjsKK30gRk1DX05BTkRfSW5pdFR5cGVEZWY7CisjZW5kaWYKIAotLyoqIAotICAqIEBicmllZiAgRk1DIE5BTkQvUENDQVJEIFRpbWluZyBwYXJhbWV0ZXJzIHN0cnVjdHVyZSBkZWZpbml0aW9uCisjaWYgZGVmaW5lZChGTUNfQmFuazMpIHx8IGRlZmluZWQoRk1DX0JhbmsyXzMpIHx8IGRlZmluZWQoRk1DX0Jhbms0KQorLyoqCisgICogQGJyaWVmICBGTUMgTkFORCBUaW1pbmcgcGFyYW1ldGVycyBzdHJ1Y3R1cmUgZGVmaW5pdGlvbgogICAqLwogdHlwZWRlZiBzdHJ1Y3QKIHsKQEAgLTE5MiwzNSArMzgxLDM3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBjb21tYW5kIGFzc2VydGlvbiBmb3IgTkFORC1GbGFzaCByZWFkIG9yIHdyaXRlIGFjY2VzcwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0byBjb21tb24vQXR0cmlidXRlIG9yIEkvTyBtZW1vcnkgc3BhY2UgKGRlcGVuZGluZyBvbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgbWVtb3J5IHNwYWNlIHRpbWluZyB0byBiZSBjb25maWd1cmVkKS4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGEgdmFsdWUgYmV0d2VlbiBNaW5fRGF0YSA9IDAgYW5kIE1heF9EYXRhID0gMjU1ICAgICovCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIGJldHdlZW4gTWluX0RhdGEgPSAwIGFuZCBNYXhfRGF0YSA9IDI1NCAgICAqLwogCiAgIHVpbnQzMl90IFdhaXRTZXR1cFRpbWU7ICAgICAgICAvKiE8IERlZmluZXMgdGhlIG1pbmltdW0gbnVtYmVyIG9mIEhDTEsgY3ljbGVzIHRvIGFzc2VydCB0aGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tbWFuZCBmb3IgTkFORC1GbGFzaCByZWFkIG9yIHdyaXRlIGFjY2VzcyB0bwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21tb24vQXR0cmlidXRlIG9yIEkvTyBtZW1vcnkgc3BhY2UgKGRlcGVuZGluZyBvbiB0aGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVtb3J5IHNwYWNlIHRpbWluZyB0byBiZSBjb25maWd1cmVkKS4gCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIG51bWJlciBiZXR3ZWVuIE1pbl9EYXRhID0gMCBhbmQgTWF4X0RhdGEgPSAyNTUgICAqLworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZW1vcnkgc3BhY2UgdGltaW5nIHRvIGJlIGNvbmZpZ3VyZWQpLgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYSBudW1iZXIgYmV0d2VlbiBNaW5fRGF0YSA9IDAgYW5kIE1heF9EYXRhID0gMjU0ICAgKi8KIAogICB1aW50MzJfdCBIb2xkU2V0dXBUaW1lOyAgICAgICAgLyohPCBEZWZpbmVzIHRoZSBudW1iZXIgb2YgSENMSyBjbG9jayBjeWNsZXMgdG8gaG9sZCBhZGRyZXNzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChhbmQgZGF0YSBmb3Igd3JpdGUgYWNjZXNzKSBhZnRlciB0aGUgY29tbWFuZCBkZS1hc3NlcnRpb24KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIE5BTkQtRmxhc2ggcmVhZCBvciB3cml0ZSBhY2Nlc3MgdG8gY29tbW9uL0F0dHJpYnV0ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvciBJL08gbWVtb3J5IHNwYWNlIChkZXBlbmRpbmcgb24gdGhlIG1lbW9yeSBzcGFjZSB0aW1pbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gYmUgY29uZmlndXJlZCkuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIG51bWJlciBiZXR3ZWVuIE1pbl9EYXRhID0gMCBhbmQgTWF4X0RhdGEgPSAyNTUgICAqLworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYSBudW1iZXIgYmV0d2VlbiBNaW5fRGF0YSA9IDAgYW5kIE1heF9EYXRhID0gMjU0ICAgKi8KIAogICB1aW50MzJfdCBIaVpTZXR1cFRpbWU7ICAgICAgICAgLyohPCBEZWZpbmVzIHRoZSBudW1iZXIgb2YgSENMSyBjbG9jayBjeWNsZXMgZHVyaW5nIHdoaWNoIHRoZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhIGJ1cyBpcyBrZXB0IGluIEhpWiBhZnRlciB0aGUgc3RhcnQgb2YgYSBOQU5ELUZsYXNoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdyaXRlIGFjY2VzcyB0byBjb21tb24vQXR0cmlidXRlIG9yIEkvTyBtZW1vcnkgc3BhY2UgKGRlcGVuZGluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbiB0aGUgbWVtb3J5IHNwYWNlIHRpbWluZyB0byBiZSBjb25maWd1cmVkKS4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGEgbnVtYmVyIGJldHdlZW4gTWluX0RhdGEgPSAwIGFuZCBNYXhfRGF0YSA9IDI1NSAgICovCi19Rk1DX05BTkRfUENDX1RpbWluZ1R5cGVEZWY7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIG51bWJlciBiZXR3ZWVuIE1pbl9EYXRhID0gMCBhbmQgTWF4X0RhdGEgPSAyNTQgICAqLworfSBGTUNfTkFORF9QQ0NfVGltaW5nVHlwZURlZjsKKyNlbmRpZiAvKiBGTUNfQmFuazMgfHwgRk1DX0JhbmsyXzMgKi8KIAotLyoqIAotICAqIEBicmllZiBGTUMgTkFORCBDb25maWd1cmF0aW9uIFN0cnVjdHVyZSBkZWZpbml0aW9uCi0gICovIAorI2lmIGRlZmluZWQoRk1DX0Jhbms0KQorLyoqCisgICogQGJyaWVmIEZNQyBQQ0NBUkQgQ29uZmlndXJhdGlvbiBTdHJ1Y3R1cmUgZGVmaW5pdGlvbgorICAqLwogdHlwZWRlZiBzdHJ1Y3QKIHsKICAgdWludDMyX3QgV2FpdGZlYXR1cmU7ICAgICAgICAgICAgLyohPCBFbmFibGVzIG9yIGRpc2FibGVzIHRoZSBXYWl0IGZlYXR1cmUgZm9yIHRoZSBQQ0NBUkQgTWVtb3J5IGRldmljZS4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYW55IHZhbHVlIG9mIEByZWYgRk1DX1dhaXRfZmVhdHVyZSAgICAgICAgICAgICAgICovCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGFueSB2YWx1ZSBvZiBAcmVmIEZNQ19XYWl0X2ZlYXR1cmUgICAgICAqLwogCiAgIHVpbnQzMl90IFRDTFJTZXR1cFRpbWU7ICAgICAgICAgIC8qITwgRGVmaW5lcyB0aGUgbnVtYmVyIG9mIEhDTEsgY3ljbGVzIHRvIGNvbmZpZ3VyZSB0aGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWxheSBiZXR3ZWVuIENMRSBsb3cgYW5kIFJFIGxvdy4KQEAgLTIzMCwxMCArNDIxLDEyIEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVsYXkgYmV0d2VlbiBBTEUgbG93IGFuZCBSRSBsb3cuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGEgbnVtYmVyIGJldHdlZW4gTWluX0RhdGEgPSAwIGFuZCBNYXhfRGF0YSA9IDI1NSAqLwogfUZNQ19QQ0NBUkRfSW5pdFR5cGVEZWY7CisjZW5kaWYgLyogRk1DX0Jhbms0ICovCiAKLS8qKiAKLSAgKiBAYnJpZWYgIEZNQyBTRFJBTSBDb25maWd1cmF0aW9uIFN0cnVjdHVyZSBkZWZpbml0aW9uICAKLSAgKi8gIAorI2lmIGRlZmluZWQoRk1DX0Jhbms1XzYpCisvKioKKyAgKiBAYnJpZWYgIEZNQyBTRFJBTSBDb25maWd1cmF0aW9uIFN0cnVjdHVyZSBkZWZpbml0aW9uCisgICovCiB0eXBlZGVmIHN0cnVjdAogewogICB1aW50MzJfdCBTREJhbms7ICAgICAgICAgICAgICAgICAgICAgIC8qITwgU3BlY2lmaWVzIHRoZSBTRFJBTSBtZW1vcnkgZGV2aWNlIHRoYXQgd2lsbCBiZSB1c2VkLgpAQCAtMjU3LDUzICs0NTAsNTMgQEAKICAgdWludDMyX3QgV3JpdGVQcm90ZWN0aW9uOyAgICAgICAgICAgICAvKiE8IEVuYWJsZXMgdGhlIFNEUkFNIGRldmljZSB0byBiZSBhY2Nlc3NlZCBpbiB3cml0ZSBtb2RlLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGEgdmFsdWUgb2YgQHJlZiBGTUNfU0RSQU1fV3JpdGVfUHJvdGVjdGlvbi4gICAqLwogCi0gIHVpbnQzMl90IFNEQ2xvY2tQZXJpb2Q7ICAgICAgICAgICAgICAgLyohPCBEZWZpbmUgdGhlIFNEUkFNIENsb2NrIFBlcmlvZCBmb3IgYm90aCBTRFJBTSBkZXZpY2VzIGFuZCB0aGV5IGFsbG93IAorICB1aW50MzJfdCBTRENsb2NrUGVyaW9kOyAgICAgICAgICAgICAgIC8qITwgRGVmaW5lIHRoZSBTRFJBTSBDbG9jayBQZXJpb2QgZm9yIGJvdGggU0RSQU0gZGV2aWNlcyBhbmQgdGhleSBhbGxvdwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gZGlzYWJsZSB0aGUgY2xvY2sgYmVmb3JlIGNoYW5naW5nIGZyZXF1ZW5jeS4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIG9mIEByZWYgRk1DX1NEUkFNX0Nsb2NrX1BlcmlvZC4gICAgICAgKi8KIAotICB1aW50MzJfdCBSZWFkQnVyc3Q7ICAgICAgICAgICAgICAgICAgIC8qITwgVGhpcyBiaXQgZW5hYmxlIHRoZSBTRFJBTSBjb250cm9sbGVyIHRvIGFudGljaXBhdGUgdGhlIG5leHQgcmVhZCAKKyAgdWludDMyX3QgUmVhZEJ1cnN0OyAgICAgICAgICAgICAgICAgICAvKiE8IFRoaXMgYml0IGVuYWJsZSB0aGUgU0RSQU0gY29udHJvbGxlciB0byBhbnRpY2lwYXRlIHRoZSBuZXh0IHJlYWQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbW1hbmRzIGR1cmluZyB0aGUgQ0FTIGxhdGVuY3kgYW5kIHN0b3JlcyBkYXRhIGluIHRoZSBSZWFkIEZJRk8uCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYSB2YWx1ZSBvZiBAcmVmIEZNQ19TRFJBTV9SZWFkX0J1cnN0LiAgICAgICAgICovCiAKICAgdWludDMyX3QgUmVhZFBpcGVEZWxheTsgICAgICAgICAgICAgICAvKiE8IERlZmluZSB0aGUgZGVsYXkgaW4gc3lzdGVtIGNsb2NrIGN5Y2xlcyBvbiByZWFkIGRhdGEgcGF0aC4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIG9mIEByZWYgRk1DX1NEUkFNX1JlYWRfUGlwZV9EZWxheS4gICAgKi8KLX1GTUNfU0RSQU1fSW5pdFR5cGVEZWY7Cit9IEZNQ19TRFJBTV9Jbml0VHlwZURlZjsKIAotLyoqIAorLyoqCiAgICogQGJyaWVmIEZNQyBTRFJBTSBUaW1pbmcgcGFyYW1ldGVycyBzdHJ1Y3R1cmUgZGVmaW5pdGlvbgogICAqLwogdHlwZWRlZiBzdHJ1Y3QKIHsKLSAgdWludDMyX3QgTG9hZFRvQWN0aXZlRGVsYXk7ICAgICAgICAgICAgLyohPCBEZWZpbmVzIHRoZSBkZWxheSBiZXR3ZWVuIGEgTG9hZCBNb2RlIFJlZ2lzdGVyIGNvbW1hbmQgYW5kIAorICB1aW50MzJfdCBMb2FkVG9BY3RpdmVEZWxheTsgICAgICAgICAgICAvKiE8IERlZmluZXMgdGhlIGRlbGF5IGJldHdlZW4gYSBMb2FkIE1vZGUgUmVnaXN0ZXIgY29tbWFuZCBhbmQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbiBhY3RpdmUgb3IgUmVmcmVzaCBjb21tYW5kIGluIG51bWJlciBvZiBtZW1vcnkgY2xvY2sgY3ljbGVzLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIGJldHdlZW4gTWluX0RhdGEgPSAxIGFuZCBNYXhfRGF0YSA9IDE2ICAqLwogCi0gIHVpbnQzMl90IEV4aXRTZWxmUmVmcmVzaERlbGF5OyAgICAgICAgIC8qITwgRGVmaW5lcyB0aGUgZGVsYXkgZnJvbSByZWxlYXNpbmcgdGhlIHNlbGYgcmVmcmVzaCBjb21tYW5kIHRvIAorICB1aW50MzJfdCBFeGl0U2VsZlJlZnJlc2hEZWxheTsgICAgICAgICAvKiE8IERlZmluZXMgdGhlIGRlbGF5IGZyb20gcmVsZWFzaW5nIHRoZSBzZWxmIHJlZnJlc2ggY29tbWFuZCB0bwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzc3VpbmcgdGhlIEFjdGl2YXRlIGNvbW1hbmQgaW4gbnVtYmVyIG9mIG1lbW9yeSBjbG9jayBjeWNsZXMuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGEgdmFsdWUgYmV0d2VlbiBNaW5fRGF0YSA9IDEgYW5kIE1heF9EYXRhID0gMTYgICovCiAKLSAgdWludDMyX3QgU2VsZlJlZnJlc2hUaW1lOyAgICAgICAgICAgICAgLyohPCBEZWZpbmVzIHRoZSBtaW5pbXVtIFNlbGYgUmVmcmVzaCBwZXJpb2QgaW4gbnVtYmVyIG9mIG1lbW9yeSBjbG9jayAKKyAgdWludDMyX3QgU2VsZlJlZnJlc2hUaW1lOyAgICAgICAgICAgICAgLyohPCBEZWZpbmVzIHRoZSBtaW5pbXVtIFNlbGYgUmVmcmVzaCBwZXJpb2QgaW4gbnVtYmVyIG9mIG1lbW9yeSBjbG9jawogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN5Y2xlcy4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYSB2YWx1ZSBiZXR3ZWVuIE1pbl9EYXRhID0gMSBhbmQgTWF4X0RhdGEgPSAxNiAgKi8KIAogICB1aW50MzJfdCBSb3dDeWNsZURlbGF5OyAgICAgICAgICAgICAgICAvKiE8IERlZmluZXMgdGhlIGRlbGF5IGJldHdlZW4gdGhlIFJlZnJlc2ggY29tbWFuZCBhbmQgdGhlIEFjdGl2YXRlIGNvbW1hbmQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgdGhlIGRlbGF5IGJldHdlZW4gdHdvIGNvbnNlY3V0aXZlIFJlZnJlc2ggY29tbWFuZHMgaW4gbnVtYmVyIG9mIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCB0aGUgZGVsYXkgYmV0d2VlbiB0d28gY29uc2VjdXRpdmUgUmVmcmVzaCBjb21tYW5kcyBpbiBudW1iZXIgb2YKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZW1vcnkgY2xvY2sgY3ljbGVzLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIGJldHdlZW4gTWluX0RhdGEgPSAxIGFuZCBNYXhfRGF0YSA9IDE2ICAqLwogCiAgIHVpbnQzMl90IFdyaXRlUmVjb3ZlcnlUaW1lOyAgICAgICAgICAgIC8qITwgRGVmaW5lcyB0aGUgV3JpdGUgcmVjb3ZlcnkgVGltZSBpbiBudW1iZXIgb2YgbWVtb3J5IGNsb2NrIGN5Y2xlcy4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYSB2YWx1ZSBiZXR3ZWVuIE1pbl9EYXRhID0gMSBhbmQgTWF4X0RhdGEgPSAxNiAgKi8KIAotICB1aW50MzJfdCBSUERlbGF5OyAgICAgICAgICAgICAgICAgICAgICAvKiE8IERlZmluZXMgdGhlIGRlbGF5IGJldHdlZW4gYSBQcmVjaGFyZ2UgQ29tbWFuZCBhbmQgYW4gb3RoZXIgY29tbWFuZCAKKyAgdWludDMyX3QgUlBEZWxheTsgICAgICAgICAgICAgICAgICAgICAgLyohPCBEZWZpbmVzIHRoZSBkZWxheSBiZXR3ZWVuIGEgUHJlY2hhcmdlIENvbW1hbmQgYW5kIGFuIG90aGVyIGNvbW1hbmQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBudW1iZXIgb2YgbWVtb3J5IGNsb2NrIGN5Y2xlcy4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYSB2YWx1ZSBiZXR3ZWVuIE1pbl9EYXRhID0gMSBhbmQgTWF4X0RhdGEgPSAxNiAgKi8KIAotICB1aW50MzJfdCBSQ0REZWxheTsgICAgICAgICAgICAgICAgICAgICAvKiE8IERlZmluZXMgdGhlIGRlbGF5IGJldHdlZW4gdGhlIEFjdGl2YXRlIENvbW1hbmQgYW5kIGEgUmVhZC9Xcml0ZSAKKyAgdWludDMyX3QgUkNERGVsYXk7ICAgICAgICAgICAgICAgICAgICAgLyohPCBEZWZpbmVzIHRoZSBkZWxheSBiZXR3ZWVuIHRoZSBBY3RpdmF0ZSBDb21tYW5kIGFuZCBhIFJlYWQvV3JpdGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21tYW5kIGluIG51bWJlciBvZiBtZW1vcnkgY2xvY2sgY3ljbGVzLgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIGJldHdlZW4gTWluX0RhdGEgPSAxIGFuZCBNYXhfRGF0YSA9IDE2ICAqLyAKLX1GTUNfU0RSQU1fVGltaW5nVHlwZURlZjsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYSB2YWx1ZSBiZXR3ZWVuIE1pbl9EYXRhID0gMSBhbmQgTWF4X0RhdGEgPSAxNiAgKi8KK30gRk1DX1NEUkFNX1RpbWluZ1R5cGVEZWY7CiAKLS8qKiAKKy8qKgogICAqIEBicmllZiBTRFJBTSBjb21tYW5kIHBhcmFtZXRlcnMgc3RydWN0dXJlIGRlZmluaXRpb24KICAgKi8KIHR5cGVkZWYgc3RydWN0CkBAIC0zMTYsNDcgKzUwOSw1MSBAQAogCiAgIHVpbnQzMl90IEF1dG9SZWZyZXNoTnVtYmVyOyAgICAgICAgICAgIC8qITwgRGVmaW5lcyB0aGUgbnVtYmVyIG9mIGNvbnNlY3V0aXZlIGF1dG8gcmVmcmVzaCBjb21tYW5kIGlzc3VlZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIGF1dG8gcmVmcmVzaCBtb2RlLgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIGJldHdlZW4gTWluX0RhdGEgPSAxIGFuZCBNYXhfRGF0YSA9IDE2ICAgKi8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYSB2YWx1ZSBiZXR3ZWVuIE1pbl9EYXRhID0gMSBhbmQgTWF4X0RhdGEgPSAxNSAgICovCisKICAgdWludDMyX3QgTW9kZVJlZ2lzdGVyRGVmaW5pdGlvbjsgICAgICAgLyohPCBEZWZpbmVzIHRoZSBTRFJBTSBNb2RlIHJlZ2lzdGVyIGNvbnRlbnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCi19Rk1DX1NEUkFNX0NvbW1hbmRUeXBlRGVmOworfSBGTUNfU0RSQU1fQ29tbWFuZFR5cGVEZWY7CisjZW5kaWYgLyogRk1DX0Jhbms1XzYgKi8KIC8qKgogICAqIEB9CiAgICovCiAKLS8qIFByaXZhdGUgY29uc3RhbnRzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCi0vKiogQGRlZmdyb3VwIEZNQ19MTF9Qcml2YXRlX0NvbnN0YW50cyBGTUMgUHJpdmF0ZSBDb25zdGFudHMKKy8qIEV4cG9ydGVkIGNvbnN0YW50cyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisvKiogQGFkZHRvZ3JvdXAgRk1DX0xMX0V4cG9ydGVkX0NvbnN0YW50cyBGTUMgTG93IExheWVyIEV4cG9ydGVkIENvbnN0YW50cworICAqIEB7CisgICovCisjaWYgZGVmaW5lZChGTUNfQmFuazEpCisKKy8qKiBAZGVmZ3JvdXAgRk1DX0xMX05PUl9TUkFNX0NvbnRyb2xsZXIgRk1DIE5PUi9TUkFNIENvbnRyb2xsZXIKICAgKiBAewogICAqLwogCi0vKiogQGRlZmdyb3VwIEZNQ19MTF9OT1JfU1JBTV9Db250cm9sbGVyIEZNQyBOT1IvU1JBTSBDb250cm9sbGVyIAotICAqIEB7Ci0gICovIAogLyoqIEBkZWZncm91cCBGTUNfTk9SU1JBTV9CYW5rIEZNQyBOT1IvU1JBTSBCYW5rCiAgICogQHsKICAgKi8KLSNkZWZpbmUgRk1DX05PUlNSQU1fQkFOSzEgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDBVCi0jZGVmaW5lIEZNQ19OT1JTUkFNX0JBTksyICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAyVQotI2RlZmluZSBGTUNfTk9SU1JBTV9CQU5LMyAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwNFUKLSNkZWZpbmUgRk1DX05PUlNSQU1fQkFOSzQgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDZVCisjZGVmaW5lIEZNQ19OT1JTUkFNX0JBTksxICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMFUpCisjZGVmaW5lIEZNQ19OT1JTUkFNX0JBTksyICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMlUpCisjZGVmaW5lIEZNQ19OT1JTUkFNX0JBTkszICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNFUpCisjZGVmaW5lIEZNQ19OT1JTUkFNX0JBTks0ICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNlUpCiAvKioKICAgKiBAfQogICAqLwogCi0vKiogQGRlZmdyb3VwIEZNQ19EYXRhX0FkZHJlc3NfQnVzX011bHRpcGxleGluZyBGTUMgRGF0YSBBZGRyZXNzIEJ1cyBNdWx0aXBsZXhpbmcgCisvKiogQGRlZmdyb3VwIEZNQ19EYXRhX0FkZHJlc3NfQnVzX011bHRpcGxleGluZyBGTUMgRGF0YSBBZGRyZXNzIEJ1cyBNdWx0aXBsZXhpbmcKICAgKiBAewogICAqLwotI2RlZmluZSBGTUNfREFUQV9BRERSRVNTX01VWF9ESVNBQkxFICAgICAgICAgICAgMHgwMDAwMDAwMFUKLSNkZWZpbmUgRk1DX0RBVEFfQUREUkVTU19NVVhfRU5BQkxFICAgICAgICAgICAgIDB4MDAwMDAwMDJVCisjZGVmaW5lIEZNQ19EQVRBX0FERFJFU1NfTVVYX0RJU0FCTEUgICAgICAgICAgICAoMHgwMDAwMDAwMFUpCisjZGVmaW5lIEZNQ19EQVRBX0FERFJFU1NfTVVYX0VOQUJMRSAgICAgICAgICAgICAoMHgwMDAwMDAwMlUpCiAvKioKICAgKiBAfQogICAqLwogCi0vKiogQGRlZmdyb3VwIEZNQ19NZW1vcnlfVHlwZSBGTUMgTWVtb3J5IFR5cGUgCisvKiogQGRlZmdyb3VwIEZNQ19NZW1vcnlfVHlwZSBGTUMgTWVtb3J5IFR5cGUKICAgKiBAewogICAqLwotI2RlZmluZSBGTUNfTUVNT1JZX1RZUEVfU1JBTSAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMFUKLSNkZWZpbmUgRk1DX01FTU9SWV9UWVBFX1BTUkFNICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDRVCi0jZGVmaW5lIEZNQ19NRU1PUllfVFlQRV9OT1IgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDA4VQorI2RlZmluZSBGTUNfTUVNT1JZX1RZUEVfU1JBTSAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDBVKQorI2RlZmluZSBGTUNfTUVNT1JZX1RZUEVfUFNSQU0gICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDRVKQorI2RlZmluZSBGTUNfTUVNT1JZX1RZUEVfTk9SICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDhVKQogLyoqCiAgICogQH0KICAgKi8KQEAgLTM2NCw5ICs1NjEsOSBAQAogLyoqIEBkZWZncm91cCBGTUNfTk9SU1JBTV9EYXRhX1dpZHRoIEZNQyBOT1JTUkFNIERhdGEgV2lkdGgKICAgKiBAewogICAqLwotI2RlZmluZSBGTUNfTk9SU1JBTV9NRU1fQlVTX1dJRFRIXzggICAgICAgICAgICAgMHgwMDAwMDAwMFUKLSNkZWZpbmUgRk1DX05PUlNSQU1fTUVNX0JVU19XSURUSF8xNiAgICAgICAgICAgIDB4MDAwMDAwMTBVCi0jZGVmaW5lIEZNQ19OT1JTUkFNX01FTV9CVVNfV0lEVEhfMzIgICAgICAgICAgICAweDAwMDAwMDIwVQorI2RlZmluZSBGTUNfTk9SU1JBTV9NRU1fQlVTX1dJRFRIXzggICAgICAgICAgICAgKDB4MDAwMDAwMDBVKQorI2RlZmluZSBGTUNfTk9SU1JBTV9NRU1fQlVTX1dJRFRIXzE2ICAgICAgICAgICAgKDB4MDAwMDAwMTBVKQorI2RlZmluZSBGTUNfTk9SU1JBTV9NRU1fQlVTX1dJRFRIXzMyICAgICAgICAgICAgKDB4MDAwMDAwMjBVKQogLyoqCiAgICogQH0KICAgKi8KQEAgLTM3NCw2NCArNTcxLDYzIEBACiAvKiogQGRlZmdyb3VwIEZNQ19OT1JTUkFNX0ZsYXNoX0FjY2VzcyBGTUMgTk9SL1NSQU0gRmxhc2ggQWNjZXNzCiAgICogQHsKICAgKi8KLSNkZWZpbmUgRk1DX05PUlNSQU1fRkxBU0hfQUNDRVNTX0VOQUJMRSAgICAgICAgIDB4MDAwMDAwNDBVCi0jZGVmaW5lIEZNQ19OT1JTUkFNX0ZMQVNIX0FDQ0VTU19ESVNBQkxFICAgICAgICAweDAwMDAwMDAwVQorI2RlZmluZSBGTUNfTk9SU1JBTV9GTEFTSF9BQ0NFU1NfRU5BQkxFICAgICAgICAgKDB4MDAwMDAwNDBVKQorI2RlZmluZSBGTUNfTk9SU1JBTV9GTEFTSF9BQ0NFU1NfRElTQUJMRSAgICAgICAgKDB4MDAwMDAwMDBVKQogLyoqCiAgICogQH0KICAgKi8KIAotLyoqIEBkZWZncm91cCBGTUNfQnVyc3RfQWNjZXNzX01vZGUgRk1DIEJ1cnN0IEFjY2VzcyBNb2RlIAorLyoqIEBkZWZncm91cCBGTUNfQnVyc3RfQWNjZXNzX01vZGUgRk1DIEJ1cnN0IEFjY2VzcyBNb2RlCiAgICogQHsKICAgKi8KLSNkZWZpbmUgRk1DX0JVUlNUX0FDQ0VTU19NT0RFX0RJU0FCTEUgICAgICAgICAgIDB4MDAwMDAwMDBVIAotI2RlZmluZSBGTUNfQlVSU1RfQUNDRVNTX01PREVfRU5BQkxFICAgICAgICAgICAgMHgwMDAwMDEwMFUKKyNkZWZpbmUgRk1DX0JVUlNUX0FDQ0VTU19NT0RFX0RJU0FCTEUgICAgICAgICAgICgweDAwMDAwMDAwVSkKKyNkZWZpbmUgRk1DX0JVUlNUX0FDQ0VTU19NT0RFX0VOQUJMRSAgICAgICAgICAgICgweDAwMDAwMTAwVSkKIC8qKgogICAqIEB9CiAgICovCiAKLS8qKiBAZGVmZ3JvdXAgRk1DX1dhaXRfU2lnbmFsX1BvbGFyaXR5IEZNQyBXYWl0IFNpZ25hbCBQb2xhcml0eSAKKy8qKiBAZGVmZ3JvdXAgRk1DX1dhaXRfU2lnbmFsX1BvbGFyaXR5IEZNQyBXYWl0IFNpZ25hbCBQb2xhcml0eQogICAqIEB7CiAgICovCi0jZGVmaW5lIEZNQ19XQUlUX1NJR05BTF9QT0xBUklUWV9MT1cgICAgICAgICAgICAweDAwMDAwMDAwVQotI2RlZmluZSBGTUNfV0FJVF9TSUdOQUxfUE9MQVJJVFlfSElHSCAgICAgICAgICAgMHgwMDAwMDIwMFUKKyNkZWZpbmUgRk1DX1dBSVRfU0lHTkFMX1BPTEFSSVRZX0xPVyAgICAgICAgICAgICgweDAwMDAwMDAwVSkKKyNkZWZpbmUgRk1DX1dBSVRfU0lHTkFMX1BPTEFSSVRZX0hJR0ggICAgICAgICAgICgweDAwMDAwMjAwVSkKIC8qKgogICAqIEB9CiAgICovCiAKLS8qKiBAZGVmZ3JvdXAgRk1DX1dyYXBfTW9kZSBGTUMgV3JhcCBNb2RlIAorLyoqIEBkZWZncm91cCBGTUNfV3JhcF9Nb2RlIEZNQyBXcmFwIE1vZGUKKyAgKiBAbm90ZSBUaGlzIG1vZGUgaXMgbm90IGF2YWlsYWJsZSBmb3IgdGhlIFNUTTMyRjQ0Ni80NjkvNDc5eHggZGV2aWNlcwogICAqIEB7CiAgICovCi0vKiogQG5vdGUgVGhpcyBtb2RlIGlzIG5vdCBhdmFpbGFibGUgZm9yIHRoZSBTVE0zMkY0NDYvNDY5LzQ3OXh4IGRldmljZXMKLSAgKi8KLSNkZWZpbmUgRk1DX1dSQVBfTU9ERV9ESVNBQkxFICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDBVCi0jZGVmaW5lIEZNQ19XUkFQX01PREVfRU5BQkxFICAgICAgICAgICAgICAgICAgICAweDAwMDAwNDAwVSAKKyNkZWZpbmUgRk1DX1dSQVBfTU9ERV9ESVNBQkxFICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAwVSkKKyNkZWZpbmUgRk1DX1dSQVBfTU9ERV9FTkFCTEUgICAgICAgICAgICAgICAgICAgICgweDAwMDAwNDAwVSkKIC8qKgogICAqIEB9CiAgICovCiAKLS8qKiBAZGVmZ3JvdXAgRk1DX1dhaXRfVGltaW5nIEZNQyBXYWl0IFRpbWluZyAKKy8qKiBAZGVmZ3JvdXAgRk1DX1dhaXRfVGltaW5nIEZNQyBXYWl0IFRpbWluZwogICAqIEB7CiAgICovCi0jZGVmaW5lIEZNQ19XQUlUX1RJTUlOR19CRUZPUkVfV1MgICAgICAgICAgICAgICAweDAwMDAwMDAwVQotI2RlZmluZSBGTUNfV0FJVF9USU1JTkdfRFVSSU5HX1dTICAgICAgICAgICAgICAgMHgwMDAwMDgwMFUKKyNkZWZpbmUgRk1DX1dBSVRfVElNSU5HX0JFRk9SRV9XUyAgICAgICAgICAgICAgICgweDAwMDAwMDAwVSkKKyNkZWZpbmUgRk1DX1dBSVRfVElNSU5HX0RVUklOR19XUyAgICAgICAgICAgICAgICgweDAwMDAwODAwVSkKIC8qKgogICAqIEB9CiAgICovCiAKLS8qKiBAZGVmZ3JvdXAgRk1DX1dyaXRlX09wZXJhdGlvbiBGTUMgV3JpdGUgT3BlcmF0aW9uIAorLyoqIEBkZWZncm91cCBGTUNfV3JpdGVfT3BlcmF0aW9uIEZNQyBXcml0ZSBPcGVyYXRpb24KICAgKiBAewogICAqLwotI2RlZmluZSBGTUNfV1JJVEVfT1BFUkFUSU9OX0RJU0FCTEUgICAgICAgICAgICAgMHgwMDAwMDAwMFUKLSNkZWZpbmUgRk1DX1dSSVRFX09QRVJBVElPTl9FTkFCTEUgICAgICAgICAgICAgIDB4MDAwMDEwMDBVCisjZGVmaW5lIEZNQ19XUklURV9PUEVSQVRJT05fRElTQUJMRSAgICAgICAgICAgICAoMHgwMDAwMDAwMFUpCisjZGVmaW5lIEZNQ19XUklURV9PUEVSQVRJT05fRU5BQkxFICAgICAgICAgICAgICAoMHgwMDAwMTAwMFUpCiAvKioKICAgKiBAfQogICAqLwogCi0vKiogQGRlZmdyb3VwIEZNQ19XYWl0X1NpZ25hbCBGTUMgV2FpdCBTaWduYWwgCisvKiogQGRlZmdyb3VwIEZNQ19XYWl0X1NpZ25hbCBGTUMgV2FpdCBTaWduYWwKICAgKiBAewogICAqLwotI2RlZmluZSBGTUNfV0FJVF9TSUdOQUxfRElTQUJMRSAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMFUKLSNkZWZpbmUgRk1DX1dBSVRfU0lHTkFMX0VOQUJMRSAgICAgICAgICAgICAgICAgIDB4MDAwMDIwMDBVCisjZGVmaW5lIEZNQ19XQUlUX1NJR05BTF9ESVNBQkxFICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMFUpCisjZGVmaW5lIEZNQ19XQUlUX1NJR05BTF9FTkFCTEUgICAgICAgICAgICAgICAgICAoMHgwMDAwMjAwMFUpCiAvKioKICAgKiBAfQogICAqLwpAQCAtNDM5LDg0ICs2MzUsOTIgQEAKIC8qKiBAZGVmZ3JvdXAgRk1DX0V4dGVuZGVkX01vZGUgRk1DIEV4dGVuZGVkIE1vZGUKICAgKiBAewogICAqLwotI2RlZmluZSBGTUNfRVhURU5ERURfTU9ERV9ESVNBQkxFICAgICAgICAgICAgICAgMHgwMDAwMDAwMFUKLSNkZWZpbmUgRk1DX0VYVEVOREVEX01PREVfRU5BQkxFICAgICAgICAgICAgICAgIDB4MDAwMDQwMDBVCisjZGVmaW5lIEZNQ19FWFRFTkRFRF9NT0RFX0RJU0FCTEUgICAgICAgICAgICAgICAoMHgwMDAwMDAwMFUpCisjZGVmaW5lIEZNQ19FWFRFTkRFRF9NT0RFX0VOQUJMRSAgICAgICAgICAgICAgICAoMHgwMDAwNDAwMFUpCiAvKioKICAgKiBAfQogICAqLwogCi0vKiogQGRlZmdyb3VwIEZNQ19Bc3luY2hyb25vdXNXYWl0IEZNQyBBc3luY2hyb25vdXMgV2FpdCAKKy8qKiBAZGVmZ3JvdXAgRk1DX0FzeW5jaHJvbm91c1dhaXQgRk1DIEFzeW5jaHJvbm91cyBXYWl0CiAgICogQHsKICAgKi8KLSNkZWZpbmUgRk1DX0FTWU5DSFJPTk9VU19XQUlUX0RJU0FCTEUgICAgICAgICAgIDB4MDAwMDAwMDBVCi0jZGVmaW5lIEZNQ19BU1lOQ0hST05PVVNfV0FJVF9FTkFCTEUgICAgICAgICAgICAweDAwMDA4MDAwVQorI2RlZmluZSBGTUNfQVNZTkNIUk9OT1VTX1dBSVRfRElTQUJMRSAgICAgICAgICAgKDB4MDAwMDAwMDBVKQorI2RlZmluZSBGTUNfQVNZTkNIUk9OT1VTX1dBSVRfRU5BQkxFICAgICAgICAgICAgKDB4MDAwMDgwMDBVKQogLyoqCiAgICogQH0KLSAgKi8gIAorICAqLwogCiAvKiogQGRlZmdyb3VwIEZNQ19QYWdlX1NpemUgRk1DIFBhZ2UgU2l6ZQogICAqIEB7CiAgICovCi0jZGVmaW5lIEZNQ19QQUdFX1NJWkVfTk9ORSAgICAgICAgICAgMHgwMDAwMDAwMFUKLSNkZWZpbmUgRk1DX1BBR0VfU0laRV8xMjggICAgICAgICAgICAoKHVpbnQzMl90KUZNQ19CQ1IxX0NQU0laRV8wKQotI2RlZmluZSBGTUNfUEFHRV9TSVpFXzI1NiAgICAgICAgICAgICgodWludDMyX3QpRk1DX0JDUjFfQ1BTSVpFXzEpCi0jZGVmaW5lIEZNQ19QQUdFX1NJWkVfNTEyICAgICAgICAgICAgKCh1aW50MzJfdCkoRk1DX0JDUjFfQ1BTSVpFXzAgfCBGTUNfQkNSMV9DUFNJWkVfMSkpCi0jZGVmaW5lIEZNQ19QQUdFX1NJWkVfMTAyNCAgICAgICAgICAgKCh1aW50MzJfdClGTUNfQkNSMV9DUFNJWkVfMikKKyNkZWZpbmUgRk1DX1BBR0VfU0laRV9OT05FICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAwVSkKKyNkZWZpbmUgRk1DX1BBR0VfU0laRV8xMjggICAgICAgICAgICAgICAgICAgICAgIEZNQ19CQ1IxX0NQU0laRV8wCisjZGVmaW5lIEZNQ19QQUdFX1NJWkVfMjU2ICAgICAgICAgICAgICAgICAgICAgICBGTUNfQkNSMV9DUFNJWkVfMQorI2RlZmluZSBGTUNfUEFHRV9TSVpFXzUxMiAgICAgICAgICAgICAgICAgICAgICAgKEZNQ19CQ1IxX0NQU0laRV8wXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgRk1DX0JDUjFfQ1BTSVpFXzEpCisjZGVmaW5lIEZNQ19QQUdFX1NJWkVfMTAyNCAgICAgICAgICAgICAgICAgICAgICBGTUNfQkNSMV9DUFNJWkVfMgogLyoqCiAgICogQH0KICAgKi8KIAotLyoqIEBkZWZncm91cCBGTUNfV3JpdGVfRklGTyBGTUMgV3JpdGUgRklGTyAKKy8qKiBAZGVmZ3JvdXAgRk1DX1dyaXRlX0J1cnN0IEZNQyBXcml0ZSBCdXJzdAorICAqIEB7CisgICovCisjZGVmaW5lIEZNQ19XUklURV9CVVJTVF9ESVNBQkxFICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMFUpCisjZGVmaW5lIEZNQ19XUklURV9CVVJTVF9FTkFCTEUgICAgICAgICAgICAgICAgICAoMHgwMDA4MDAwMFUpCisvKioKKyAgKiBAfQorICAqLworCisvKiogQGRlZmdyb3VwIEZNQ19Db250aW5vdXNfQ2xvY2sgRk1DIENvbnRpbnVvdXMgQ2xvY2sKKyAgKiBAeworICAqLworI2RlZmluZSBGTUNfQ09OVElOVU9VU19DTE9DS19TWU5DX09OTFkgICAgICAgICAgKDB4MDAwMDAwMDBVKQorI2RlZmluZSBGTUNfQ09OVElOVU9VU19DTE9DS19TWU5DX0FTWU5DICAgICAgICAgKDB4MDAxMDAwMDBVKQorLyoqCisgICogQH0KKyAgKi8KKworI2lmIGRlZmluZWQoRk1DX0JDUjFfV0ZESVMpCisvKiogQGRlZmdyb3VwIEZNQ19Xcml0ZV9GSUZPIEZNQyBXcml0ZSBGSUZPCiAgICogQG5vdGUgIFRoZXNlIHZhbHVlcyBhcmUgYXZhaWxhYmxlIG9ubHkgZm9yIHRoZSBTVE0zMkY0NDYvNDY5LzQ3OXh4IGRldmljZXMuCiAgICogQHsKICAgKi8KLSNkZWZpbmUgRk1DX1dSSVRFX0ZJRk9fRElTQUJMRSAgICAgICAgICAgKCh1aW50MzJfdClGTUNfQkNSMV9XRkRJUykKLSNkZWZpbmUgRk1DX1dSSVRFX0ZJRk9fRU5BQkxFICAgICAgICAgICAgMHgwMDAwMDAwMFUKKyNkZWZpbmUgRk1DX1dSSVRFX0ZJRk9fRElTQUJMRSAgICAgICAgICAgICAgICAgIEZNQ19CQ1IxX1dGRElTCisjZGVmaW5lIEZNQ19XUklURV9GSUZPX0VOQUJMRSAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMFUpCisjZW5kaWYgLyogRk1DX0JDUjFfV0ZESVMgKi8KIC8qKgogICAqIEB9CiAgICovCiAKLS8qKiBAZGVmZ3JvdXAgRk1DX1dyaXRlX0J1cnN0IEZNQyBXcml0ZSBCdXJzdCAKKy8qKiBAZGVmZ3JvdXAgRk1DX0FjY2Vzc19Nb2RlIEZNQyBBY2Nlc3MgTW9kZQogICAqIEB7CiAgICovCi0jZGVmaW5lIEZNQ19XUklURV9CVVJTVF9ESVNBQkxFICAgICAgICAgICAgICAgICAweDAwMDAwMDAwVQotI2RlZmluZSBGTUNfV1JJVEVfQlVSU1RfRU5BQkxFICAgICAgICAgICAgICAgICAgMHgwMDA4MDAwMFUgCisjZGVmaW5lIEZNQ19BQ0NFU1NfTU9ERV9BICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMFUpCisjZGVmaW5lIEZNQ19BQ0NFU1NfTU9ERV9CICAgICAgICAgICAgICAgICAgICAgICAoMHgxMDAwMDAwMFUpCisjZGVmaW5lIEZNQ19BQ0NFU1NfTU9ERV9DICAgICAgICAgICAgICAgICAgICAgICAoMHgyMDAwMDAwMFUpCisjZGVmaW5lIEZNQ19BQ0NFU1NfTU9ERV9EICAgICAgICAgICAgICAgICAgICAgICAoMHgzMDAwMDAwMFUpCiAvKioKICAgKiBAfQogICAqLwotICAKLS8qKiBAZGVmZ3JvdXAgRk1DX0NvbnRpbm91c19DbG9jayBGTUMgQ29udGludW91cyBDbG9jayAKLSAgKiBAewotICAqLwotI2RlZmluZSBGTUNfQ09OVElOVU9VU19DTE9DS19TWU5DX09OTFkgICAgICAgICAgMHgwMDAwMDAwMFUKLSNkZWZpbmUgRk1DX0NPTlRJTlVPVVNfQ0xPQ0tfU1lOQ19BU1lOQyAgICAgICAgIDB4MDAxMDAwMDBVCi0vKioKLSAgKiBAfQotICAqLwotCQotLyoqIEBkZWZncm91cCBGTUNfQWNjZXNzX01vZGUgRk1DIEFjY2VzcyBNb2RlIAotICAqIEB7Ci0gICovCi0jZGVmaW5lIEZNQ19BQ0NFU1NfTU9ERV9BICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMFUKLSNkZWZpbmUgRk1DX0FDQ0VTU19NT0RFX0IgICAgICAgICAgICAgICAgICAgICAgICAweDEwMDAwMDAwVSAKLSNkZWZpbmUgRk1DX0FDQ0VTU19NT0RFX0MgICAgICAgICAgICAgICAgICAgICAgICAweDIwMDAwMDAwVQotI2RlZmluZSBGTUNfQUNDRVNTX01PREVfRCAgICAgICAgICAgICAgICAgICAgICAgIDB4MzAwMDAwMDBVCi0vKioKLSAgKiBAfQotICAqLwotICAgIAotLyoqCi0gICogQH0KLSAgKi8gCiAKLS8qKiBAZGVmZ3JvdXAgRk1DX0xMX05BTkRfQ29udHJvbGxlciBGTUMgTkFORCBDb250cm9sbGVyIAorLyoqCisgICogQH0KKyAgKi8KKyNlbmRpZiAvKiBGTUNfQmFuazEgKi8KKworI2lmIGRlZmluZWQoRk1DX0JhbmszKSB8fCBkZWZpbmVkKEZNQ19CYW5rMl8zKSB8fCBkZWZpbmVkKEZNQ19CYW5rNCkKKworLyoqIEBkZWZncm91cCBGTUNfTExfTkFORF9Db250cm9sbGVyIEZNQyBOQU5EIENvbnRyb2xsZXIKICAgKiBAewogICAqLwotLyoqIEBkZWZncm91cCBGTUNfTkFORF9CYW5rIEZNQyBOQU5EIEJhbmsgCisvKiogQGRlZmdyb3VwIEZNQ19OQU5EX0JhbmsgRk1DIE5BTkQgQmFuawogICAqIEB7CiAgICovCi0jZGVmaW5lIEZNQ19OQU5EX0JBTksyICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDEwVQotI2RlZmluZSBGTUNfTkFORF9CQU5LMyAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDEwMFUgCisjaWYgZGVmaW5lZChGTUNfQmFuazJfMykKKyNkZWZpbmUgRk1DX05BTkRfQkFOSzIgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwVSkKKyNlbmRpZgorI2RlZmluZSBGTUNfTkFORF9CQU5LMyAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDBVKQogLyoqCiAgICogQH0KICAgKi8KQEAgLTUyNCw3NSArNzI4LDc5IEBACiAvKiogQGRlZmdyb3VwIEZNQ19XYWl0X2ZlYXR1cmUgRk1DIFdhaXQgZmVhdHVyZQogICAqIEB7CiAgICovCi0jZGVmaW5lIEZNQ19OQU5EX1BDQ19XQUlUX0ZFQVRVUkVfRElTQUJMRSAgICAgICAgICAgMHgwMDAwMDAwMFUKLSNkZWZpbmUgRk1DX05BTkRfUENDX1dBSVRfRkVBVFVSRV9FTkFCTEUgICAgICAgICAgICAweDAwMDAwMDAyVQorI2RlZmluZSBGTUNfTkFORF9QQ0NfV0FJVF9GRUFUVVJFX0RJU0FCTEUgICAgICAgKDB4MDAwMDAwMDBVKQorI2RlZmluZSBGTUNfTkFORF9QQ0NfV0FJVF9GRUFUVVJFX0VOQUJMRSAgICAgICAgKDB4MDAwMDAwMDJVKQogLyoqCiAgICogQH0KICAgKi8KIAotLyoqIEBkZWZncm91cCBGTUNfUENSX01lbW9yeV9UeXBlIEZNQyBQQ1IgTWVtb3J5IFR5cGUgCisvKiogQGRlZmdyb3VwIEZNQ19QQ1JfTWVtb3J5X1R5cGUgRk1DIFBDUiBNZW1vcnkgVHlwZQogICAqIEB7CiAgICovCi0jZGVmaW5lIEZNQ19QQ1JfTUVNT1JZX1RZUEVfUENDQVJEICAgICAgICAweDAwMDAwMDAwVQotI2RlZmluZSBGTUNfUENSX01FTU9SWV9UWVBFX05BTkQgICAgICAgICAgMHgwMDAwMDAwOFUKKyNpZiBkZWZpbmVkKEZNQ19CYW5rNCkKKyNkZWZpbmUgRk1DX1BDUl9NRU1PUllfVFlQRV9QQ0NBUkQgICAgICAgICAgICAgICgweDAwMDAwMDAwVSkKKyNlbmRpZiAvKiBGTUNfQmFuazQgKi8KKyNkZWZpbmUgRk1DX1BDUl9NRU1PUllfVFlQRV9OQU5EICAgICAgICAgICAgICAgICgweDAwMDAwMDA4VSkKIC8qKgogICAqIEB9CiAgICovCiAKLS8qKiBAZGVmZ3JvdXAgRk1DX05BTkRfRGF0YV9XaWR0aCBGTUMgTkFORCBEYXRhIFdpZHRoIAorLyoqIEBkZWZncm91cCBGTUNfTkFORF9EYXRhX1dpZHRoIEZNQyBOQU5EIERhdGEgV2lkdGgKICAgKiBAewogICAqLwotI2RlZmluZSBGTUNfTkFORF9QQ0NfTUVNX0JVU19XSURUSF84ICAgICAgICAgICAgICAgIDB4MDAwMDAwMDBVCi0jZGVmaW5lIEZNQ19OQU5EX1BDQ19NRU1fQlVTX1dJRFRIXzE2ICAgICAgICAgICAgICAgMHgwMDAwMDAxMFUKKyNkZWZpbmUgRk1DX05BTkRfUENDX01FTV9CVVNfV0lEVEhfOCAgICAgICAgICAgICgweDAwMDAwMDAwVSkKKyNkZWZpbmUgRk1DX05BTkRfUENDX01FTV9CVVNfV0lEVEhfMTYgICAgICAgICAgICgweDAwMDAwMDEwVSkKIC8qKgogICAqIEB9CiAgICovCiAKLS8qKiBAZGVmZ3JvdXAgRk1DX0VDQyBGTUMgRUNDIAorLyoqIEBkZWZncm91cCBGTUNfRUNDIEZNQyBFQ0MKICAgKiBAewogICAqLwotI2RlZmluZSBGTUNfTkFORF9FQ0NfRElTQUJMRSAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMFUKLSNkZWZpbmUgRk1DX05BTkRfRUNDX0VOQUJMRSAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwNDBVCisjZGVmaW5lIEZNQ19OQU5EX0VDQ19ESVNBQkxFICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMFUpCisjZGVmaW5lIEZNQ19OQU5EX0VDQ19FTkFCTEUgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA0MFUpCiAvKioKICAgKiBAfQogICAqLwogCi0vKiogQGRlZmdyb3VwIEZNQ19FQ0NfUGFnZV9TaXplIEZNQyBFQ0MgUGFnZSBTaXplIAorLyoqIEBkZWZncm91cCBGTUNfRUNDX1BhZ2VfU2l6ZSBGTUMgRUNDIFBhZ2UgU2l6ZQogICAqIEB7CiAgICovCi0jZGVmaW5lIEZNQ19OQU5EX0VDQ19QQUdFX1NJWkVfMjU2QllURSAgICAgICAgICAweDAwMDAwMDAwVQotI2RlZmluZSBGTUNfTkFORF9FQ0NfUEFHRV9TSVpFXzUxMkJZVEUgICAgICAgICAgMHgwMDAyMDAwMFUKLSNkZWZpbmUgRk1DX05BTkRfRUNDX1BBR0VfU0laRV8xMDI0QllURSAgICAgICAgIDB4MDAwNDAwMDBVCi0jZGVmaW5lIEZNQ19OQU5EX0VDQ19QQUdFX1NJWkVfMjA0OEJZVEUgICAgICAgICAweDAwMDYwMDAwVQotI2RlZmluZSBGTUNfTkFORF9FQ0NfUEFHRV9TSVpFXzQwOTZCWVRFICAgICAgICAgMHgwMDA4MDAwMFUKLSNkZWZpbmUgRk1DX05BTkRfRUNDX1BBR0VfU0laRV84MTkyQllURSAgICAgICAgIDB4MDAwQTAwMDBVCisjZGVmaW5lIEZNQ19OQU5EX0VDQ19QQUdFX1NJWkVfMjU2QllURSAgICAgICAgICAoMHgwMDAwMDAwMFUpCisjZGVmaW5lIEZNQ19OQU5EX0VDQ19QQUdFX1NJWkVfNTEyQllURSAgICAgICAgICAoMHgwMDAyMDAwMFUpCisjZGVmaW5lIEZNQ19OQU5EX0VDQ19QQUdFX1NJWkVfMTAyNEJZVEUgICAgICAgICAoMHgwMDA0MDAwMFUpCisjZGVmaW5lIEZNQ19OQU5EX0VDQ19QQUdFX1NJWkVfMjA0OEJZVEUgICAgICAgICAoMHgwMDA2MDAwMFUpCisjZGVmaW5lIEZNQ19OQU5EX0VDQ19QQUdFX1NJWkVfNDA5NkJZVEUgICAgICAgICAoMHgwMDA4MDAwMFUpCisjZGVmaW5lIEZNQ19OQU5EX0VDQ19QQUdFX1NJWkVfODE5MkJZVEUgICAgICAgICAoMHgwMDBBMDAwMFUpCiAvKioKICAgKiBAfQogICAqLwotICAKKwogLyoqCiAgICogQH0KLSAgKi8gCisgICovCisjZW5kaWYgLyogRk1DX0JhbmszIHx8IEZNQ19CYW5rMl8zIHx8IEZNQ19CYW5rNCAqLwogCi0vKiogQGRlZmdyb3VwIEZNQ19MTF9TRFJBTV9Db250cm9sbGVyIEZNQyBTRFJBTSBDb250cm9sbGVyIAorI2lmIGRlZmluZWQoRk1DX0Jhbms1XzYpCisvKiogQGRlZmdyb3VwIEZNQ19MTF9TRFJBTV9Db250cm9sbGVyIEZNQyBTRFJBTSBDb250cm9sbGVyCiAgICogQHsKICAgKi8KIC8qKiBAZGVmZ3JvdXAgRk1DX1NEUkFNX0JhbmsgRk1DIFNEUkFNIEJhbmsKICAgKiBAewogICAqLwotI2RlZmluZSBGTUNfU0RSQU1fQkFOSzEgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDBVCi0jZGVmaW5lIEZNQ19TRFJBTV9CQU5LMiAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMVUKKyNkZWZpbmUgRk1DX1NEUkFNX0JBTksxICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAwVSkKKyNkZWZpbmUgRk1DX1NEUkFNX0JBTksyICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAxVSkKIC8qKgogICAqIEB9CiAgICovCiAKLS8qKiBAZGVmZ3JvdXAgRk1DX1NEUkFNX0NvbHVtbl9CaXRzX251bWJlciBGTUMgU0RSQU0gQ29sdW1uIEJpdHMgbnVtYmVyIAorLyoqIEBkZWZncm91cCBGTUNfU0RSQU1fQ29sdW1uX0JpdHNfbnVtYmVyIEZNQyBTRFJBTSBDb2x1bW4gQml0cyBudW1iZXIKICAgKiBAewogICAqLwotI2RlZmluZSBGTUNfU0RSQU1fQ09MVU1OX0JJVFNfTlVNXzggICAgICAgICAgIDB4MDAwMDAwMDBVCi0jZGVmaW5lIEZNQ19TRFJBTV9DT0xVTU5fQklUU19OVU1fOSAgICAgICAgICAgMHgwMDAwMDAwMVUKLSNkZWZpbmUgRk1DX1NEUkFNX0NPTFVNTl9CSVRTX05VTV8xMCAgICAgICAgICAweDAwMDAwMDAyVQotI2RlZmluZSBGTUNfU0RSQU1fQ09MVU1OX0JJVFNfTlVNXzExICAgICAgICAgIDB4MDAwMDAwMDNVCisjZGVmaW5lIEZNQ19TRFJBTV9DT0xVTU5fQklUU19OVU1fOCAgICAgICAgICAgICAoMHgwMDAwMDAwMFUpCisjZGVmaW5lIEZNQ19TRFJBTV9DT0xVTU5fQklUU19OVU1fOSAgICAgICAgICAgICAoMHgwMDAwMDAwMVUpCisjZGVmaW5lIEZNQ19TRFJBTV9DT0xVTU5fQklUU19OVU1fMTAgICAgICAgICAgICAoMHgwMDAwMDAwMlUpCisjZGVmaW5lIEZNQ19TRFJBTV9DT0xVTU5fQklUU19OVU1fMTEgICAgICAgICAgICAoMHgwMDAwMDAwM1UpCiAvKioKICAgKiBAfQogICAqLwpAQCAtNjAwLDkgKzgwOCw5IEBACiAvKiogQGRlZmdyb3VwIEZNQ19TRFJBTV9Sb3dfQml0c19udW1iZXIgRk1DIFNEUkFNIFJvdyBCaXRzIG51bWJlcgogICAqIEB7CiAgICovCi0jZGVmaW5lIEZNQ19TRFJBTV9ST1dfQklUU19OVU1fMTEgICAgICAgICAgICAgMHgwMDAwMDAwMFUKLSNkZWZpbmUgRk1DX1NEUkFNX1JPV19CSVRTX05VTV8xMiAgICAgICAgICAgICAweDAwMDAwMDA0VQotI2RlZmluZSBGTUNfU0RSQU1fUk9XX0JJVFNfTlVNXzEzICAgICAgICAgICAgIDB4MDAwMDAwMDhVCisjZGVmaW5lIEZNQ19TRFJBTV9ST1dfQklUU19OVU1fMTEgICAgICAgICAgICAgICAoMHgwMDAwMDAwMFUpCisjZGVmaW5lIEZNQ19TRFJBTV9ST1dfQklUU19OVU1fMTIgICAgICAgICAgICAgICAoMHgwMDAwMDAwNFUpCisjZGVmaW5lIEZNQ19TRFJBTV9ST1dfQklUU19OVU1fMTMgICAgICAgICAgICAgICAoMHgwMDAwMDAwOFUpCiAvKioKICAgKiBAfQogICAqLwpAQCAtNjEwLDkgKzgxOCw5IEBACiAvKiogQGRlZmdyb3VwIEZNQ19TRFJBTV9NZW1vcnlfQnVzX1dpZHRoIEZNQyBTRFJBTSBNZW1vcnkgQnVzIFdpZHRoCiAgICogQHsKICAgKi8KLSNkZWZpbmUgRk1DX1NEUkFNX01FTV9CVVNfV0lEVEhfOCAgICAgICAgICAgICAweDAwMDAwMDAwVQotI2RlZmluZSBGTUNfU0RSQU1fTUVNX0JVU19XSURUSF8xNiAgICAgICAgICAgIDB4MDAwMDAwMTBVCi0jZGVmaW5lIEZNQ19TRFJBTV9NRU1fQlVTX1dJRFRIXzMyICAgICAgICAgICAgMHgwMDAwMDAyMFUKKyNkZWZpbmUgRk1DX1NEUkFNX01FTV9CVVNfV0lEVEhfOCAgICAgICAgICAgICAgICgweDAwMDAwMDAwVSkKKyNkZWZpbmUgRk1DX1NEUkFNX01FTV9CVVNfV0lEVEhfMTYgICAgICAgICAgICAgICgweDAwMDAwMDEwVSkKKyNkZWZpbmUgRk1DX1NEUkFNX01FTV9CVVNfV0lEVEhfMzIgICAgICAgICAgICAgICgweDAwMDAwMDIwVSkKIC8qKgogICAqIEB9CiAgICovCkBAIC02MjAsOCArODI4LDggQEAKIC8qKiBAZGVmZ3JvdXAgRk1DX1NEUkFNX0ludGVybmFsX0JhbmtzX051bWJlciBGTUMgU0RSQU0gSW50ZXJuYWwgQmFua3MgTnVtYmVyCiAgICogQHsKICAgKi8KLSNkZWZpbmUgRk1DX1NEUkFNX0lOVEVSTl9CQU5LU19OVU1fMiAgICAgICAgICAweDAwMDAwMDAwVQotI2RlZmluZSBGTUNfU0RSQU1fSU5URVJOX0JBTktTX05VTV80ICAgICAgICAgIDB4MDAwMDAwNDBVCisjZGVmaW5lIEZNQ19TRFJBTV9JTlRFUk5fQkFOS1NfTlVNXzIgICAgICAgICAgICAoMHgwMDAwMDAwMFUpCisjZGVmaW5lIEZNQ19TRFJBTV9JTlRFUk5fQkFOS1NfTlVNXzQgICAgICAgICAgICAoMHgwMDAwMDA0MFUpCiAvKioKICAgKiBAfQogICAqLwpAQCAtNjI5LDkgKzgzNyw5IEBACiAvKiogQGRlZmdyb3VwIEZNQ19TRFJBTV9DQVNfTGF0ZW5jeSBGTUMgU0RSQU0gQ0FTIExhdGVuY3kKICAgKiBAewogICAqLwotI2RlZmluZSBGTUNfU0RSQU1fQ0FTX0xBVEVOQ1lfMSAgICAgICAgICAgICAgIDB4MDAwMDAwODBVCi0jZGVmaW5lIEZNQ19TRFJBTV9DQVNfTEFURU5DWV8yICAgICAgICAgICAgICAgMHgwMDAwMDEwMFUKLSNkZWZpbmUgRk1DX1NEUkFNX0NBU19MQVRFTkNZXzMgICAgICAgICAgICAgICAweDAwMDAwMTgwVQorI2RlZmluZSBGTUNfU0RSQU1fQ0FTX0xBVEVOQ1lfMSAgICAgICAgICAgICAgICAgKDB4MDAwMDAwODBVKQorI2RlZmluZSBGTUNfU0RSQU1fQ0FTX0xBVEVOQ1lfMiAgICAgICAgICAgICAgICAgKDB4MDAwMDAxMDBVKQorI2RlZmluZSBGTUNfU0RSQU1fQ0FTX0xBVEVOQ1lfMyAgICAgICAgICAgICAgICAgKDB4MDAwMDAxODBVKQogLyoqCiAgICogQH0KICAgKi8KQEAgLTYzOSw5ICs4NDcsOCBAQAogLyoqIEBkZWZncm91cCBGTUNfU0RSQU1fV3JpdGVfUHJvdGVjdGlvbiBGTUMgU0RSQU0gV3JpdGUgUHJvdGVjdGlvbgogICAqIEB7CiAgICovCi0jZGVmaW5lIEZNQ19TRFJBTV9XUklURV9QUk9URUNUSU9OX0RJU0FCTEUgICAgMHgwMDAwMDAwMFUKLSNkZWZpbmUgRk1DX1NEUkFNX1dSSVRFX1BST1RFQ1RJT05fRU5BQkxFICAgICAweDAwMDAwMjAwVQotCisjZGVmaW5lIEZNQ19TRFJBTV9XUklURV9QUk9URUNUSU9OX0RJU0FCTEUgICAgICAoMHgwMDAwMDAwMFUpCisjZGVmaW5lIEZNQ19TRFJBTV9XUklURV9QUk9URUNUSU9OX0VOQUJMRSAgICAgICAoMHgwMDAwMDIwMFUpCiAvKioKICAgKiBAfQogICAqLwpAQCAtNjQ5LDkgKzg1Niw5IEBACiAvKiogQGRlZmdyb3VwIEZNQ19TRFJBTV9DbG9ja19QZXJpb2QgRk1DIFNEUkFNIENsb2NrIFBlcmlvZAogICAqIEB7CiAgICovCi0jZGVmaW5lIEZNQ19TRFJBTV9DTE9DS19ESVNBQkxFICAgICAgICAgICAgICAgMHgwMDAwMDAwMFUKLSNkZWZpbmUgRk1DX1NEUkFNX0NMT0NLX1BFUklPRF8yICAgICAgICAgICAgICAweDAwMDAwODAwVQotI2RlZmluZSBGTUNfU0RSQU1fQ0xPQ0tfUEVSSU9EXzMgICAgICAgICAgICAgIDB4MDAwMDBDMDBVCisjZGVmaW5lIEZNQ19TRFJBTV9DTE9DS19ESVNBQkxFICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMFUpCisjZGVmaW5lIEZNQ19TRFJBTV9DTE9DS19QRVJJT0RfMiAgICAgICAgICAgICAgICAoMHgwMDAwMDgwMFUpCisjZGVmaW5lIEZNQ19TRFJBTV9DTE9DS19QRVJJT0RfMyAgICAgICAgICAgICAgICAoMHgwMDAwMEMwMFUpCiAvKioKICAgKiBAfQogICAqLwpAQCAtNjU5LDE4ICs4NjYsMTggQEAKIC8qKiBAZGVmZ3JvdXAgRk1DX1NEUkFNX1JlYWRfQnVyc3QgRk1DIFNEUkFNIFJlYWQgQnVyc3QKICAgKiBAewogICAqLwotI2RlZmluZSBGTUNfU0RSQU1fUkJVUlNUX0RJU0FCTEUgICAgICAgICAgICAgIDB4MDAwMDAwMDBVCi0jZGVmaW5lIEZNQ19TRFJBTV9SQlVSU1RfRU5BQkxFICAgICAgICAgICAgICAgMHgwMDAwMTAwMFUKKyNkZWZpbmUgRk1DX1NEUkFNX1JCVVJTVF9ESVNBQkxFICAgICAgICAgICAgICAgICgweDAwMDAwMDAwVSkKKyNkZWZpbmUgRk1DX1NEUkFNX1JCVVJTVF9FTkFCTEUgICAgICAgICAgICAgICAgICgweDAwMDAxMDAwVSkKIC8qKgogICAqIEB9CiAgICovCi0gIAorCiAvKiogQGRlZmdyb3VwIEZNQ19TRFJBTV9SZWFkX1BpcGVfRGVsYXkgRk1DIFNEUkFNIFJlYWQgUGlwZSBEZWxheQogICAqIEB7CiAgICovCi0jZGVmaW5lIEZNQ19TRFJBTV9SUElQRV9ERUxBWV8wICAgICAgICAgICAgICAgMHgwMDAwMDAwMFUKLSNkZWZpbmUgRk1DX1NEUkFNX1JQSVBFX0RFTEFZXzEgICAgICAgICAgICAgICAweDAwMDAyMDAwVQotI2RlZmluZSBGTUNfU0RSQU1fUlBJUEVfREVMQVlfMiAgICAgICAgICAgICAgIDB4MDAwMDQwMDBVCisjZGVmaW5lIEZNQ19TRFJBTV9SUElQRV9ERUxBWV8wICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMFUpCisjZGVmaW5lIEZNQ19TRFJBTV9SUElQRV9ERUxBWV8xICAgICAgICAgICAgICAgICAoMHgwMDAwMjAwMFUpCisjZGVmaW5lIEZNQ19TRFJBTV9SUElQRV9ERUxBWV8yICAgICAgICAgICAgICAgICAoMHgwMDAwNDAwMFUpCiAvKioKICAgKiBAfQogICAqLwpAQCAtNjc4LDEzICs4ODUsMTMgQEAKIC8qKiBAZGVmZ3JvdXAgRk1DX1NEUkFNX0NvbW1hbmRfTW9kZSBGTUMgU0RSQU0gQ29tbWFuZCBNb2RlCiAgICogQHsKICAgKi8KLSNkZWZpbmUgRk1DX1NEUkFNX0NNRF9OT1JNQUxfTU9ERSAgICAgICAgICAgICAweDAwMDAwMDAwVQotI2RlZmluZSBGTUNfU0RSQU1fQ01EX0NMS19FTkFCTEUgICAgICAgICAgICAgIDB4MDAwMDAwMDFVCi0jZGVmaW5lIEZNQ19TRFJBTV9DTURfUEFMTCAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMlUKLSNkZWZpbmUgRk1DX1NEUkFNX0NNRF9BVVRPUkVGUkVTSF9NT0RFICAgICAgICAweDAwMDAwMDAzVQotI2RlZmluZSBGTUNfU0RSQU1fQ01EX0xPQURfTU9ERSAgICAgICAgICAgICAgIDB4MDAwMDAwMDRVCi0jZGVmaW5lIEZNQ19TRFJBTV9DTURfU0VMRlJFRlJFU0hfTU9ERSAgICAgICAgMHgwMDAwMDAwNVUKLSNkZWZpbmUgRk1DX1NEUkFNX0NNRF9QT1dFUkRPV05fTU9ERSAgICAgICAgICAweDAwMDAwMDA2VQorI2RlZmluZSBGTUNfU0RSQU1fQ01EX05PUk1BTF9NT0RFICAgICAgICAgICAgICAgKDB4MDAwMDAwMDBVKQorI2RlZmluZSBGTUNfU0RSQU1fQ01EX0NMS19FTkFCTEUgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDFVKQorI2RlZmluZSBGTUNfU0RSQU1fQ01EX1BBTEwgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDJVKQorI2RlZmluZSBGTUNfU0RSQU1fQ01EX0FVVE9SRUZSRVNIX01PREUgICAgICAgICAgKDB4MDAwMDAwMDNVKQorI2RlZmluZSBGTUNfU0RSQU1fQ01EX0xPQURfTU9ERSAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDRVKQorI2RlZmluZSBGTUNfU0RSQU1fQ01EX1NFTEZSRUZSRVNIX01PREUgICAgICAgICAgKDB4MDAwMDAwMDVVKQorI2RlZmluZSBGTUNfU0RSQU1fQ01EX1BPV0VSRE9XTl9NT0RFICAgICAgICAgICAgKDB4MDAwMDAwMDZVKQogLyoqCiAgICogQH0KICAgKi8KQEAgLTY5Miw3NSArODk5LDYyIEBACiAvKiogQGRlZmdyb3VwIEZNQ19TRFJBTV9Db21tYW5kX1RhcmdldCBGTUMgU0RSQU0gQ29tbWFuZCBUYXJnZXQKICAgKiBAewogICAqLwotI2RlZmluZSBGTUNfU0RSQU1fQ01EX1RBUkdFVF9CQU5LMiAgICAgICAgICAgIEZNQ19TRENNUl9DVEIyCi0jZGVmaW5lIEZNQ19TRFJBTV9DTURfVEFSR0VUX0JBTksxICAgICAgICAgICAgRk1DX1NEQ01SX0NUQjEKLSNkZWZpbmUgRk1DX1NEUkFNX0NNRF9UQVJHRVRfQkFOSzFfMiAgICAgICAgICAweDAwMDAwMDE4VQotLyoqCi0gICogQH0KLSAgKi8gCi0KLS8qKiBAZGVmZ3JvdXAgRk1DX1NEUkFNX01vZGVfU3RhdHVzIEZNQyBTRFJBTSBNb2RlIFN0YXR1cyAKLSAgKiBAewotICAqLwotI2RlZmluZSBGTUNfU0RSQU1fTk9STUFMX01PREUgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwVQotI2RlZmluZSBGTUNfU0RSQU1fU0VMRl9SRUZSRVNIX01PREUgICAgICAgICAgICAgICBGTUNfU0RTUl9NT0RFUzFfMAotI2RlZmluZSBGTUNfU0RSQU1fUE9XRVJfRE9XTl9NT0RFICAgICAgICAgICAgICAgICBGTUNfU0RTUl9NT0RFUzFfMQotLyoqCi0gICogQH0KLSAgKi8gCi0gCi0vKioKLSAgKiBAfQotICAqLyAKLQotLyoqIEBkZWZncm91cCBGTUNfTExfSW50ZXJydXB0X2RlZmluaXRpb24gRk1DIEludGVycnVwdCBkZWZpbml0aW9uICAKLSAgKiBAewotICAqLyAgCi0jZGVmaW5lIEZNQ19JVF9SSVNJTkdfRURHRSAgICAgICAgICAgICAgICAweDAwMDAwMDA4VQotI2RlZmluZSBGTUNfSVRfTEVWRUwgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAxMFUKLSNkZWZpbmUgRk1DX0lUX0ZBTExJTkdfRURHRSAgICAgICAgICAgICAgIDB4MDAwMDAwMjBVCi0jZGVmaW5lIEZNQ19JVF9SRUZSRVNIX0VSUk9SICAgICAgICAgICAgICAweDAwMDA0MDAwVQorI2RlZmluZSBGTUNfU0RSQU1fQ01EX1RBUkdFVF9CQU5LMiAgICAgICAgICAgICAgRk1DX1NEQ01SX0NUQjIKKyNkZWZpbmUgRk1DX1NEUkFNX0NNRF9UQVJHRVRfQkFOSzEgICAgICAgICAgICAgIEZNQ19TRENNUl9DVEIxCisjZGVmaW5lIEZNQ19TRFJBTV9DTURfVEFSR0VUX0JBTksxXzIgICAgICAgICAgICAoMHgwMDAwMDAxOFUpCiAvKioKICAgKiBAfQogICAqLwotICAgIAotLyoqIEBkZWZncm91cCBGTUNfTExfRmxhZ19kZWZpbml0aW9uIEZNQyBGbGFnIGRlZmluaXRpb24gCisKKy8qKiBAZGVmZ3JvdXAgRk1DX1NEUkFNX01vZGVfU3RhdHVzIEZNQyBTRFJBTSBNb2RlIFN0YXR1cwogICAqIEB7Ci0gICovIAotI2RlZmluZSBGTUNfRkxBR19SSVNJTkdfRURHRSAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMVUKLSNkZWZpbmUgRk1DX0ZMQUdfTEVWRUwgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDJVCi0jZGVmaW5lIEZNQ19GTEFHX0ZBTExJTkdfRURHRSAgICAgICAgICAgICAgICAgICAweDAwMDAwMDA0VQotI2RlZmluZSBGTUNfRkxBR19GRU1QVCAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDA0MFUKKyAgKi8KKyNkZWZpbmUgRk1DX1NEUkFNX05PUk1BTF9NT0RFICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAwVSkKKyNkZWZpbmUgRk1DX1NEUkFNX1NFTEZfUkVGUkVTSF9NT0RFICAgICAgICAgICAgIEZNQ19TRFNSX01PREVTMV8wCisjZGVmaW5lIEZNQ19TRFJBTV9QT1dFUl9ET1dOX01PREUgICAgICAgICAgICAgICBGTUNfU0RTUl9NT0RFUzFfMQorLyoqCisgICogQH0KKyAgKi8KKworLyoqCisgICogQH0KKyAgKi8KKworI2VuZGlmIC8qIEZNQ19CYW5rNV82ICovCisKKy8qKiBAZGVmZ3JvdXAgRk1DX0xMX0ludGVycnVwdF9kZWZpbml0aW9uIEZNQyBMb3cgTGF5ZXIgSW50ZXJydXB0IGRlZmluaXRpb24KKyAgKiBAeworICAqLworI2lmIGRlZmluZWQoRk1DX0JhbmszKSB8fCBkZWZpbmVkKEZNQ19CYW5rMl8zKSB8fCBkZWZpbmVkKEZNQ19CYW5rNCkKKyNkZWZpbmUgRk1DX0lUX1JJU0lOR19FREdFICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4VSkKKyNkZWZpbmUgRk1DX0lUX0xFVkVMICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDEwVSkKKyNkZWZpbmUgRk1DX0lUX0ZBTExJTkdfRURHRSAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwVSkKKyNlbmRpZiAvKiBGTUNfQmFuazMgfHwgRk1DX0JhbmsyXzMgfHwgRk1DX0Jhbms0ICovCisjaWYgZGVmaW5lZChGTUNfQmFuazVfNikKKyNkZWZpbmUgRk1DX0lUX1JFRlJFU0hfRVJST1IgICAgICAgICAgICAgICAgICAgICgweDAwMDA0MDAwVSkKKyNlbmRpZiAvKiBGTUNfQmFuazVfNiAqLworLyoqCisgICogQH0KKyAgKi8KKworLyoqIEBkZWZncm91cCBGTUNfTExfRmxhZ19kZWZpbml0aW9uIEZNQyBMb3cgTGF5ZXIgRmxhZyBkZWZpbml0aW9uCisgICogQHsKKyAgKi8KKyNpZiBkZWZpbmVkKEZNQ19CYW5rMykgfHwgZGVmaW5lZChGTUNfQmFuazJfMykgfHwgZGVmaW5lZChGTUNfQmFuazQpCisjZGVmaW5lIEZNQ19GTEFHX1JJU0lOR19FREdFICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMVUpCisjZGVmaW5lIEZNQ19GTEFHX0xFVkVMICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMlUpCisjZGVmaW5lIEZNQ19GTEFHX0ZBTExJTkdfRURHRSAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNFUpCisjZGVmaW5lIEZNQ19GTEFHX0ZFTVBUICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA0MFUpCisjZW5kaWYgLyogRk1DX0JhbmszIHx8IEZNQ19CYW5rMl8zIHx8IEZNQ19CYW5rNCAqLworI2lmIGRlZmluZWQoRk1DX0Jhbms1XzYpCiAjZGVmaW5lIEZNQ19TRFJBTV9GTEFHX1JFRlJFU0hfSVQgICAgICAgICAgICAgICBGTUNfU0RTUl9SRQogI2RlZmluZSBGTUNfU0RSQU1fRkxBR19CVVNZICAgICAgICAgICAgICAgICAgICAgRk1DX1NEU1JfQlVTWQogI2RlZmluZSBGTUNfU0RSQU1fRkxBR19SRUZSRVNIX0VSUk9SICAgICAgICAgICAgRk1DX1NEUlRSX0NSRQorI2VuZGlmIC8qIEZNQ19CYW5rNV82ICovCiAvKioKICAgKiBAfQogICAqLwogCi0vKiogQGRlZmdyb3VwIEZNQ19MTF9BbGlhc19kZWZpbml0aW9uICBGTUMgQWxpYXMgZGVmaW5pdGlvbgotICAqIEB7Ci0gICovCi0jaWYgZGVmaW5lZChTVE0zMkY0NDZ4eCkgfHwgZGVmaW5lZChTVE0zMkY0Njl4eCkgfHwgZGVmaW5lZChTVE0zMkY0Nzl4eCkKLSAgICNkZWZpbmUgRk1DX05BTkRfVHlwZURlZiAgICAgICAgICAgICAgIEZNQ19CYW5rM19UeXBlRGVmCi0jZWxzZSAKLSAgICNkZWZpbmUgRk1DX05BTkRfVHlwZURlZiAgICAgICAgICAgICAgIEZNQ19CYW5rMl8zX1R5cGVEZWYKLSAgICNkZWZpbmUgRk1DX1BDQ0FSRF9UeXBlRGVmICAgICAgICAgICAgIEZNQ19CYW5rNF9UeXBlRGVmCi0jZW5kaWYgLyogU1RNMzJGNDQ2eHggfHwgU1RNMzJGNDY5eHggfHwgU1RNMzJGNDc5eHggKi8KLSAgICNkZWZpbmUgRk1DX05PUlNSQU1fVHlwZURlZiAgICAgICAgICAgIEZNQ19CYW5rMV9UeXBlRGVmCi0gICAjZGVmaW5lIEZNQ19OT1JTUkFNX0VYVEVOREVEX1R5cGVEZWYgICBGTUNfQmFuazFFX1R5cGVEZWYKLSAgICNkZWZpbmUgRk1DX1NEUkFNX1R5cGVEZWYgICAgICAgICAgICAgIEZNQ19CYW5rNV82X1R5cGVEZWYKLQotCi0jaWYgZGVmaW5lZChTVE0zMkY0NDZ4eCkgfHwgZGVmaW5lZChTVE0zMkY0Njl4eCkgfHwgZGVmaW5lZChTVE0zMkY0Nzl4eCkKLSAgICNkZWZpbmUgRk1DX05BTkRfREVWSUNFICAgICAgICAgICAgICAgIEZNQ19CYW5rMwotI2Vsc2UgCi0gICAjZGVmaW5lIEZNQ19OQU5EX0RFVklDRSAgICAgICAgICAgICAgICBGTUNfQmFuazJfMwotICAgI2RlZmluZSBGTUNfUENDQVJEX0RFVklDRSAgICAgICAgICAgICAgRk1DX0Jhbms0Ci0jZW5kaWYgLyogU1RNMzJGNDQ2eHggfHwgU1RNMzJGNDY5eHggfHwgU1RNMzJGNDc5eHggKi8KLSAgICNkZWZpbmUgRk1DX05PUlNSQU1fREVWSUNFICAgICAgICAgICAgIEZNQ19CYW5rMQotICAgI2RlZmluZSBGTUNfTk9SU1JBTV9FWFRFTkRFRF9ERVZJQ0UgICAgRk1DX0JhbmsxRQotICAgI2RlZmluZSBGTUNfU0RSQU1fREVWSUNFICAgICAgICAgICAgICAgRk1DX0Jhbms1XzYKIC8qKgogICAqIEB9CiAgICovCkBAIC03NzAsMjkxICs5NjQsMjgyIEBACiAgICovCiAKIC8qIFByaXZhdGUgbWFjcm8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCi0vKiogQGRlZmdyb3VwIEZNQ19MTF9Qcml2YXRlX01hY3JvcyBGTUMgUHJpdmF0ZSBNYWNyb3MKKy8qKiBAZGVmZ3JvdXAgRk1DX0xMX1ByaXZhdGVfTWFjcm9zIEZNQ19MTCAgUHJpdmF0ZSBNYWNyb3MKKyAgKiBAeworICAqLworI2lmIGRlZmluZWQoRk1DX0JhbmsxKQorLyoqIEBkZWZncm91cCBGTUNfTExfTk9SX01hY3JvcyBGTUMgTk9SL1NSQU0gTWFjcm9zCisgICogQGJyaWVmIG1hY3JvcyB0byBoYW5kbGUgTk9SIGRldmljZSBlbmFibGUvZGlzYWJsZSBhbmQgcmVhZC93cml0ZSBvcGVyYXRpb25zCiAgICogQHsKICAgKi8KIAotLyoqIEBkZWZncm91cCBGTUNfTExfTk9SX01hY3JvcyBGTUMgTk9SL1NSQU0gTWFjcm9zCi0gKiAgQGJyaWVmIG1hY3JvcyB0byBoYW5kbGUgTk9SIGRldmljZSBlbmFibGUvZGlzYWJsZSBhbmQgcmVhZC93cml0ZSBvcGVyYXRpb25zCi0gKiAgQHsKLSAqLwogLyoqCiAgICogQGJyaWVmICBFbmFibGUgdGhlIE5PUlNSQU0gZGV2aWNlIGFjY2Vzcy4KICAgKiBAcGFyYW0gIF9fSU5TVEFOQ0VfXyBGTUNfTk9SU1JBTSBJbnN0YW5jZQotICAqIEBwYXJhbSAgX19CQU5LX18gRk1DX05PUlNSQU0gQmFuayAgICAgCisgICogQHBhcmFtICBfX0JBTktfXyBGTUNfTk9SU1JBTSBCYW5rCiAgICogQHJldHZhbCBOb25lCi0gICovIAotI2RlZmluZSBfX0ZNQ19OT1JTUkFNX0VOQUJMRShfX0lOU1RBTkNFX18sIF9fQkFOS19fKSAgKChfX0lOU1RBTkNFX18pLT5CVENSWyhfX0JBTktfXyldIHw9IEZNQ19CQ1IxX01CS0VOKQorICAqLworI2RlZmluZSBfX0ZNQ19OT1JTUkFNX0VOQUJMRShfX0lOU1RBTkNFX18sIF9fQkFOS19fKSAgKChfX0lOU1RBTkNFX18pLT5CVENSWyhfX0JBTktfXyldXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHw9IEZNQ19CQ1IxX01CS0VOKQogCiAvKioKICAgKiBAYnJpZWYgIERpc2FibGUgdGhlIE5PUlNSQU0gZGV2aWNlIGFjY2Vzcy4KICAgKiBAcGFyYW0gIF9fSU5TVEFOQ0VfXyBGTUNfTk9SU1JBTSBJbnN0YW5jZQotICAqIEBwYXJhbSAgX19CQU5LX18gRk1DX05PUlNSQU0gQmFuayAgIAorICAqIEBwYXJhbSAgX19CQU5LX18gRk1DX05PUlNSQU0gQmFuawogICAqIEByZXR2YWwgTm9uZQotICAqLyAKLSNkZWZpbmUgX19GTUNfTk9SU1JBTV9ESVNBQkxFKF9fSU5TVEFOQ0VfXywgX19CQU5LX18pICgoX19JTlNUQU5DRV9fKS0+QlRDUlsoX19CQU5LX18pXSAmPSB+Rk1DX0JDUjFfTUJLRU4pICAKKyAgKi8KKyNkZWZpbmUgX19GTUNfTk9SU1JBTV9ESVNBQkxFKF9fSU5TVEFOQ0VfXywgX19CQU5LX18pICgoX19JTlNUQU5DRV9fKS0+QlRDUlsoX19CQU5LX18pXVwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmPSB+Rk1DX0JDUjFfTUJLRU4pCisKIC8qKgogICAqIEB9Ci0gICovIAorICAqLworI2VuZGlmIC8qIEZNQ19CYW5rMSAqLwogCisjaWYgZGVmaW5lZChGTUNfQmFuazMpIHx8IGRlZmluZWQoRk1DX0JhbmsyXzMpCiAvKiogQGRlZmdyb3VwIEZNQ19MTF9OQU5EX01hY3JvcyBGTUMgTkFORCBNYWNyb3MKLSAqICBAYnJpZWYgbWFjcm9zIHRvIGhhbmRsZSBOQU5EIGRldmljZSBlbmFibGUvZGlzYWJsZQotICogIEB7Ci0gKi8KLSNpZiBkZWZpbmVkKFNUTTMyRjQ0Nnh4KSB8fCBkZWZpbmVkKFNUTTMyRjQ2OXh4KSB8fCBkZWZpbmVkKFNUTTMyRjQ3OXh4KSAKLS8qKgotICAqIEBicmllZiAgRW5hYmxlIHRoZSBOQU5EIGRldmljZSBhY2Nlc3MuCi0gICogQHBhcmFtICBfX0lOU1RBTkNFX18gRk1DX05BTkQgSW5zdGFuY2UKLSAgKiBAcGFyYW0gIF9fQkFOS19fIEZNQ19OQU5EIEJhbmsgICAgCi0gICogQHJldHZhbCBOb25lCi0gICovICAKLSNkZWZpbmUgX19GTUNfTkFORF9FTkFCTEUoX19JTlNUQU5DRV9fLCBfX0JBTktfXykgICgoX19JTlNUQU5DRV9fKS0+UENSIHw9IEZNQ19QQ1JfUEJLRU4pCisgICogIEBicmllZiBtYWNyb3MgdG8gaGFuZGxlIE5BTkQgZGV2aWNlIGVuYWJsZS9kaXNhYmxlCisgICogIEB7CisgICovCiAKIC8qKgotICAqIEBicmllZiAgRGlzYWJsZSB0aGUgTkFORCBkZXZpY2UgYWNjZXNzLgotICAqIEBwYXJhbSAgX19JTlNUQU5DRV9fIEZNQ19OQU5EIEluc3RhbmNlCi0gICogQHBhcmFtICBfX0JBTktfXyBGTUNfTkFORCBCYW5rICAKLSAgKiBAcmV0dmFsIE5vbmUKLSAgKi8KLSNkZWZpbmUgX19GTUNfTkFORF9ESVNBQkxFKF9fSU5TVEFOQ0VfXywgX19CQU5LX18pICgoX19JTlNUQU5DRV9fKS0+UENSICY9IH5GTUNfUENSX1BCS0VOKQotI2Vsc2UgLyogZGVmaW5lZChTVE0zMkY0Mjd4eCkgfHwgZGVmaW5lZChTVE0zMkY0Mzd4eCkgfHwgZGVmaW5lZChTVE0zMkY0Mjl4eCkgfHwgZGVmaW5lZChTVE0zMkY0Mzl4eCkgKi8KLS8qKgogICAqIEBicmllZiAgRW5hYmxlIHRoZSBOQU5EIGRldmljZSBhY2Nlc3MuCiAgICogQHBhcmFtICBfX0lOU1RBTkNFX18gRk1DX05BTkQgSW5zdGFuY2UKLSAgKiBAcGFyYW0gIF9fQkFOS19fIEZNQ19OQU5EIEJhbmsgICAgCisgICogQHBhcmFtICBfX0JBTktfXyAgICAgRk1DX05BTkQgQmFuawogICAqIEByZXR2YWwgTm9uZQotICAqLyAgCisgICovCisjaWYgZGVmaW5lZChGTUNfQmFuazJfMykKKyNpZiBkZWZpbmVkIChGTUNfUENSX1BCS0VOKQorI2RlZmluZSBfX0ZNQ19OQU5EX0VOQUJMRShfX0lOU1RBTkNFX18pICAoKF9fSU5TVEFOQ0VfXyktPlBDUiB8PSBGTUNfUENSX1BCS0VOKQorI2Vsc2UKICNkZWZpbmUgX19GTUNfTkFORF9FTkFCTEUoX19JTlNUQU5DRV9fLCBfX0JBTktfXykgICgoKF9fQkFOS19fKSA9PSBGTUNfTkFORF9CQU5LMik/ICgoX19JTlNUQU5DRV9fKS0+UENSMiB8PSBGTUNfUENSMl9QQktFTik6IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fSU5TVEFOQ0VfXyktPlBDUjMgfD0gRk1DX1BDUjNfUEJLRU4pKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoX19JTlNUQU5DRV9fKS0+UENSMyB8PSBGTUNfUENSM19QQktFTikpCisjZW5kaWYgLyogRk1DX1BDUl9QQktFTiAqLworI2Vsc2UKKyNkZWZpbmUgX19GTUNfTkFORF9FTkFCTEUoX19JTlNUQU5DRV9fKSAgKChfX0lOU1RBTkNFX18pLT5QQ1IgfD0gRk1DX1BDUl9QQktFTikKKyNlbmRpZiAvKiBGTUNfQmFuazJfMyAqLwogCiAvKioKICAgKiBAYnJpZWYgIERpc2FibGUgdGhlIE5BTkQgZGV2aWNlIGFjY2Vzcy4KICAgKiBAcGFyYW0gIF9fSU5TVEFOQ0VfXyBGTUNfTkFORCBJbnN0YW5jZQotICAqIEBwYXJhbSAgX19CQU5LX18gRk1DX05BTkQgQmFuayAgCisgICogQHBhcmFtICBfX0JBTktfXyAgICAgRk1DX05BTkQgQmFuawogICAqIEByZXR2YWwgTm9uZQogICAqLwotI2RlZmluZSBfX0ZNQ19OQU5EX0RJU0FCTEUoX19JTlNUQU5DRV9fLCBfX0JBTktfXykgKCgoX19CQU5LX18pID09IEZNQ19OQU5EX0JBTksyKT8gKChfX0lOU1RBTkNFX18pLT5QQ1IyICY9IH5GTUNfUENSMl9QQktFTik6IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fSU5TVEFOQ0VfXyktPlBDUjMgJj0gfkZNQ19QQ1IzX1BCS0VOKSkKKyNpZiBkZWZpbmVkKEZNQ19CYW5rMl8zKQorI2lmICBkZWZpbmVkIChGTUNfUENSX1BCS0VOKQorI2RlZmluZSBfX0ZNQ19OQU5EX0RJU0FCTEUoX19JTlNUQU5DRV9fLCBfX0JBTktfXykgQ0xFQVJfQklUKChfX0lOU1RBTkNFX18pLT5QQ1IsIEZNQ19QQ1JfUEJLRU4pCisjZWxzZQorI2RlZmluZSBfX0ZNQ19OQU5EX0RJU0FCTEUoX19JTlNUQU5DRV9fLCBfX0JBTktfXykgKCgoX19CQU5LX18pID09IEZNQ19OQU5EX0JBTksyKT8gQ0xFQVJfQklUKChfX0lOU1RBTkNFX18pLT5QQ1IyLCBGTUNfUENSMl9QQktFTik6IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDTEVBUl9CSVQoKF9fSU5TVEFOQ0VfXyktPlBDUjMsIEZNQ19QQ1IzX1BCS0VOKSkKKyNlbmRpZiAvKiBGTUNfUENSX1BCS0VOICovCisjZWxzZQorI2RlZmluZSBfX0ZNQ19OQU5EX0RJU0FCTEUoX19JTlNUQU5DRV9fLCBfX0JBTktfXykgQ0xFQVJfQklUKChfX0lOU1RBTkNFX18pLT5QQ1IsIEZNQ19QQ1JfUEJLRU4pCisjZW5kaWYgLyogRk1DX0JhbmsyXzMgKi8KIAotI2VuZGlmIC8qIGRlZmluZWQoU1RNMzJGNDQ2eHgpIHx8IGRlZmluZWQoU1RNMzJGNDY5eHgpIHx8IGRlZmluZWQoU1RNMzJGNDc5eHgpICovCiAvKioKICAgKiBAfQotICAqLyAKLSNpZiBkZWZpbmVkKFNUTTMyRjQyN3h4KSB8fCBkZWZpbmVkKFNUTTMyRjQzN3h4KSB8fCBkZWZpbmVkKFNUTTMyRjQyOXh4KSB8fCBkZWZpbmVkKFNUTTMyRjQzOXh4KQorICAqLworI2VuZGlmIC8qIEZNQ19CYW5rMyB8fCBGTUNfQmFuazJfMyAqLworCisjaWYgZGVmaW5lZChGTUNfQmFuazQpCiAvKiogQGRlZmdyb3VwIEZNQ19MTF9QQ0NBUkRfTWFjcm9zIEZNQyBQQ0NBUkQgTWFjcm9zCi0gKiAgQGJyaWVmIG1hY3JvcyB0byBoYW5kbGUgU1JBTSByZWFkL3dyaXRlIG9wZXJhdGlvbnMgCi0gKiAgQHsKLSAqLworICAqICBAYnJpZWYgbWFjcm9zIHRvIGhhbmRsZSBQQ0NBUkQgcmVhZC93cml0ZSBvcGVyYXRpb25zCisgICogIEB7CisgICovCiAvKioKICAgKiBAYnJpZWYgIEVuYWJsZSB0aGUgUENDQVJEIGRldmljZSBhY2Nlc3MuCi0gICogQHBhcmFtICBfX0lOU1RBTkNFX18gRk1DX1BDQ0FSRCBJbnN0YW5jZSAgCisgICogQHBhcmFtICBfX0lOU1RBTkNFX18gRk1DX1BDQ0FSRCBJbnN0YW5jZQogICAqIEByZXR2YWwgTm9uZQotICAqLyAKKyAgKi8KICNkZWZpbmUgX19GTUNfUENDQVJEX0VOQUJMRShfX0lOU1RBTkNFX18pICAoKF9fSU5TVEFOQ0VfXyktPlBDUjQgfD0gRk1DX1BDUjRfUEJLRU4pCiAKIC8qKgogICAqIEBicmllZiAgRGlzYWJsZSB0aGUgUENDQVJEIGRldmljZSBhY2Nlc3MuCi0gICogQHBhcmFtICBfX0lOU1RBTkNFX18gRk1DX1BDQ0FSRCBJbnN0YW5jZSAgICAgCisgICogQHBhcmFtICBfX0lOU1RBTkNFX18gRk1DX1BDQ0FSRCBJbnN0YW5jZQogICAqIEByZXR2YWwgTm9uZQotICAqLyAKKyAgKi8KICNkZWZpbmUgX19GTUNfUENDQVJEX0RJU0FCTEUoX19JTlNUQU5DRV9fKSAoKF9fSU5TVEFOQ0VfXyktPlBDUjQgJj0gfkZNQ19QQ1I0X1BCS0VOKQogLyoqCiAgICogQH0KICAgKi8KLSNlbmRpZiAvKiBkZWZpbmVkKFNUTTMyRjQyN3h4KSB8fCBkZWZpbmVkKFNUTTMyRjQzN3h4KSB8fCBkZWZpbmVkKFNUTTMyRjQyOXh4KSB8fCBkZWZpbmVkKFNUTTMyRjQzOXh4KSAqLwogCi0vKiogQGRlZmdyb3VwIEZNQ19MTF9GbGFnX0ludGVycnVwdF9NYWNyb3MgRk1DIEZsYWcmSW50ZXJydXB0IE1hY3JvcwotICogIEBicmllZiBtYWNyb3MgdG8gaGFuZGxlIEZNQyBmbGFncyBhbmQgaW50ZXJydXB0cwotICogQHsKLSAqLyAKLSNpZiBkZWZpbmVkKFNUTTMyRjQ0Nnh4KSB8fCBkZWZpbmVkKFNUTTMyRjQ2OXh4KSB8fCBkZWZpbmVkKFNUTTMyRjQ3OXh4KQorI2VuZGlmCisjaWYgZGVmaW5lZChGTUNfQmFuazMpIHx8IGRlZmluZWQoRk1DX0JhbmsyXzMpCisvKiogQGRlZmdyb3VwIEZNQ19MTF9OQU5EX0ludGVycnVwdCBGTUMgTkFORCBJbnRlcnJ1cHQKKyAgKiBAYnJpZWYgbWFjcm9zIHRvIGhhbmRsZSBOQU5EIGludGVycnVwdHMKKyAgKiBAeworICAqLworCiAvKioKICAgKiBAYnJpZWYgIEVuYWJsZSB0aGUgTkFORCBkZXZpY2UgaW50ZXJydXB0LgogICAqIEBwYXJhbSAgX19JTlNUQU5DRV9fICBGTUNfTkFORCBpbnN0YW5jZQotICAqIEBwYXJhbSAgX19CQU5LX18gICAgICBGTUNfTkFORCBCYW5rICAgICAKLSAgKiBAcGFyYW0gIF9fSU5URVJSVVBUX18gRk1DX05BTkQgaW50ZXJydXB0IAotICAqICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGFueSBjb21iaW5hdGlvbiBvZiB0aGUgZm9sbG93aW5nIHZhbHVlczoKLSAgKiAgICAgICAgICAgIEBhcmcgRk1DX0lUX1JJU0lOR19FREdFOiBJbnRlcnJ1cHQgcmlzaW5nIGVkZ2UuCi0gICogICAgICAgICAgICBAYXJnIEZNQ19JVF9MRVZFTDogSW50ZXJydXB0IGxldmVsLgotICAqICAgICAgICAgICAgQGFyZyBGTUNfSVRfRkFMTElOR19FREdFOiBJbnRlcnJ1cHQgZmFsbGluZyBlZGdlLiAgICAgICAKLSAgKiBAcmV0dmFsIE5vbmUKLSAgKi8gIAotI2RlZmluZSBfX0ZNQ19OQU5EX0VOQUJMRV9JVChfX0lOU1RBTkNFX18sIF9fQkFOS19fLCBfX0lOVEVSUlVQVF9fKSAgKChfX0lOU1RBTkNFX18pLT5TUiB8PSAoX19JTlRFUlJVUFRfXykpCi0KLS8qKgotICAqIEBicmllZiAgRGlzYWJsZSB0aGUgTkFORCBkZXZpY2UgaW50ZXJydXB0LgotICAqIEBwYXJhbSAgX19JTlNUQU5DRV9fICBGTUNfTkFORCBJbnN0YW5jZQotICAqIEBwYXJhbSAgX19CQU5LX18gICAgICBGTUNfTkFORCBCYW5rICAgIAorICAqIEBwYXJhbSAgX19CQU5LX18gICAgIEZNQ19OQU5EIEJhbmsKICAgKiBAcGFyYW0gIF9fSU5URVJSVVBUX18gRk1DX05BTkQgaW50ZXJydXB0CiAgICogICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYW55IGNvbWJpbmF0aW9uIG9mIHRoZSBmb2xsb3dpbmcgdmFsdWVzOgogICAqICAgICAgICAgICAgQGFyZyBGTUNfSVRfUklTSU5HX0VER0U6IEludGVycnVwdCByaXNpbmcgZWRnZS4KICAgKiAgICAgICAgICAgIEBhcmcgRk1DX0lUX0xFVkVMOiBJbnRlcnJ1cHQgbGV2ZWwuCi0gICogICAgICAgICAgICBAYXJnIEZNQ19JVF9GQUxMSU5HX0VER0U6IEludGVycnVwdCBmYWxsaW5nIGVkZ2UuICAgCisgICogICAgICAgICAgICBAYXJnIEZNQ19JVF9GQUxMSU5HX0VER0U6IEludGVycnVwdCBmYWxsaW5nIGVkZ2UuCiAgICogQHJldHZhbCBOb25lCiAgICovCi0jZGVmaW5lIF9fRk1DX05BTkRfRElTQUJMRV9JVChfX0lOU1RBTkNFX18sIF9fQkFOS19fLCBfX0lOVEVSUlVQVF9fKSAgKChfX0lOU1RBTkNFX18pLT5TUiAmPSB+KF9fSU5URVJSVVBUX18pKSAKLQotLyoqCi0gICogQGJyaWVmICBHZXQgZmxhZyBzdGF0dXMgb2YgdGhlIE5BTkQgZGV2aWNlLgotICAqIEBwYXJhbSAgX19JTlNUQU5DRV9fIEZNQ19OQU5EIEluc3RhbmNlCi0gICogQHBhcmFtICBfX0JBTktfXyAgICAgRk1DX05BTkQgQmFuayAgICAgIAotICAqIEBwYXJhbSAgX19GTEFHX18gRk1DX05BTkQgZmxhZwotICAqICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGFueSBjb21iaW5hdGlvbiBvZiB0aGUgZm9sbG93aW5nIHZhbHVlczoKLSAgKiAgICAgICAgICAgIEBhcmcgRk1DX0ZMQUdfUklTSU5HX0VER0U6IEludGVycnVwdCByaXNpbmcgZWRnZSBmbGFnLgotICAqICAgICAgICAgICAgQGFyZyBGTUNfRkxBR19MRVZFTDogSW50ZXJydXB0IGxldmVsIGVkZ2UgZmxhZy4KLSAgKiAgICAgICAgICAgIEBhcmcgRk1DX0ZMQUdfRkFMTElOR19FREdFOiBJbnRlcnJ1cHQgZmFsbGluZyBlZGdlIGZsYWcuCi0gICogICAgICAgICAgICBAYXJnIEZNQ19GTEFHX0ZFTVBUOiBGSUZPIGVtcHR5IGZsYWcuICAgCi0gICogQHJldHZhbCBUaGUgc3RhdGUgb2YgRkxBRyAoU0VUIG9yIFJFU0VUKS4KLSAgKi8KLSNkZWZpbmUgX19GTUNfTkFORF9HRVRfRkxBRyhfX0lOU1RBTkNFX18sIF9fQkFOS19fLCBfX0ZMQUdfXykgICgoKF9fSU5TVEFOQ0VfXyktPlNSICYoX19GTEFHX18pKSA9PSAoX19GTEFHX18pKQotLyoqCi0gICogQGJyaWVmICBDbGVhciBmbGFnIHN0YXR1cyBvZiB0aGUgTkFORCBkZXZpY2UuCi0gICogQHBhcmFtICBfX0lOU1RBTkNFX18gRk1DX05BTkQgSW5zdGFuY2UgIAotICAqIEBwYXJhbSAgX19CQU5LX18gICAgIEZNQ19OQU5EIEJhbmsgIAotICAqIEBwYXJhbSAgX19GTEFHX18gRk1DX05BTkQgZmxhZwotICAqICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGFueSBjb21iaW5hdGlvbiBvZiB0aGUgZm9sbG93aW5nIHZhbHVlczoKLSAgKiAgICAgICAgICAgIEBhcmcgRk1DX0ZMQUdfUklTSU5HX0VER0U6IEludGVycnVwdCByaXNpbmcgZWRnZSBmbGFnLgotICAqICAgICAgICAgICAgQGFyZyBGTUNfRkxBR19MRVZFTDogSW50ZXJydXB0IGxldmVsIGVkZ2UgZmxhZy4KLSAgKiAgICAgICAgICAgIEBhcmcgRk1DX0ZMQUdfRkFMTElOR19FREdFOiBJbnRlcnJ1cHQgZmFsbGluZyBlZGdlIGZsYWcuCi0gICogICAgICAgICAgICBAYXJnIEZNQ19GTEFHX0ZFTVBUOiBGSUZPIGVtcHR5IGZsYWcuICAgCi0gICogQHJldHZhbCBOb25lCi0gICovCi0jZGVmaW5lIF9fRk1DX05BTkRfQ0xFQVJfRkxBRyhfX0lOU1RBTkNFX18sIF9fQkFOS19fLCBfX0ZMQUdfXykgICgoX19JTlNUQU5DRV9fKS0+U1IgJj0gfihfX0ZMQUdfXykpCi0jZWxzZSAvKiBkZWZpbmVkKFNUTTMyRjQyN3h4KSB8fCBkZWZpbmVkKFNUTTMyRjQzN3h4KSB8fCBkZWZpbmVkKFNUTTMyRjQyOXh4KSB8fCBkZWZpbmVkKFNUTTMyRjQzOXh4KSAqLwotLyoqCi0gICogQGJyaWVmICBFbmFibGUgdGhlIE5BTkQgZGV2aWNlIGludGVycnVwdC4KLSAgKiBAcGFyYW0gIF9fSU5TVEFOQ0VfXyAgRk1DX05BTkQgaW5zdGFuY2UKLSAgKiBAcGFyYW0gIF9fQkFOS19fICAgICAgRk1DX05BTkQgQmFuayAgICAgCi0gICogQHBhcmFtICBfX0lOVEVSUlVQVF9fIEZNQ19OQU5EIGludGVycnVwdCAKLSAgKiAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhbnkgY29tYmluYXRpb24gb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXM6Ci0gICogICAgICAgICAgICBAYXJnIEZNQ19JVF9SSVNJTkdfRURHRTogSW50ZXJydXB0IHJpc2luZyBlZGdlLgotICAqICAgICAgICAgICAgQGFyZyBGTUNfSVRfTEVWRUw6IEludGVycnVwdCBsZXZlbC4KLSAgKiAgICAgICAgICAgIEBhcmcgRk1DX0lUX0ZBTExJTkdfRURHRTogSW50ZXJydXB0IGZhbGxpbmcgZWRnZS4gICAgICAgCi0gICogQHJldHZhbCBOb25lCi0gICovICAKKyNpZiBkZWZpbmVkKEZNQ19CYW5rMl8zKQogI2RlZmluZSBfX0ZNQ19OQU5EX0VOQUJMRV9JVChfX0lOU1RBTkNFX18sIF9fQkFOS19fLCBfX0lOVEVSUlVQVF9fKSAgKCgoX19CQU5LX18pID09IEZNQ19OQU5EX0JBTksyKT8gKChfX0lOU1RBTkNFX18pLT5TUjIgfD0gKF9fSU5URVJSVVBUX18pKTogXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoX19JTlNUQU5DRV9fKS0+U1IzIHw9IChfX0lOVEVSUlVQVF9fKSkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChfX0lOU1RBTkNFX18pLT5TUjMgfD0gKF9fSU5URVJSVVBUX18pKSkKKyNlbHNlCisjZGVmaW5lIF9fRk1DX05BTkRfRU5BQkxFX0lUKF9fSU5TVEFOQ0VfXywgX19JTlRFUlJVUFRfXykgICgoX19JTlNUQU5DRV9fKS0+U1IgfD0gKF9fSU5URVJSVVBUX18pKQorI2VuZGlmIC8qIEZNQ19CYW5rMl8zICovCiAKIC8qKgogICAqIEBicmllZiAgRGlzYWJsZSB0aGUgTkFORCBkZXZpY2UgaW50ZXJydXB0LgogICAqIEBwYXJhbSAgX19JTlNUQU5DRV9fICBGTUNfTkFORCBJbnN0YW5jZQotICAqIEBwYXJhbSAgX19CQU5LX18gICAgICBGTUNfTkFORCBCYW5rICAgIAorICAqIEBwYXJhbSAgX19CQU5LX18gICAgIEZNQ19OQU5EIEJhbmsKICAgKiBAcGFyYW0gIF9fSU5URVJSVVBUX18gRk1DX05BTkQgaW50ZXJydXB0CiAgICogICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYW55IGNvbWJpbmF0aW9uIG9mIHRoZSBmb2xsb3dpbmcgdmFsdWVzOgogICAqICAgICAgICAgICAgQGFyZyBGTUNfSVRfUklTSU5HX0VER0U6IEludGVycnVwdCByaXNpbmcgZWRnZS4KICAgKiAgICAgICAgICAgIEBhcmcgRk1DX0lUX0xFVkVMOiBJbnRlcnJ1cHQgbGV2ZWwuCi0gICogICAgICAgICAgICBAYXJnIEZNQ19JVF9GQUxMSU5HX0VER0U6IEludGVycnVwdCBmYWxsaW5nIGVkZ2UuICAgCisgICogICAgICAgICAgICBAYXJnIEZNQ19JVF9GQUxMSU5HX0VER0U6IEludGVycnVwdCBmYWxsaW5nIGVkZ2UuCiAgICogQHJldHZhbCBOb25lCiAgICovCisjaWYgZGVmaW5lZChGTUNfQmFuazJfMykKICNkZWZpbmUgX19GTUNfTkFORF9ESVNBQkxFX0lUKF9fSU5TVEFOQ0VfXywgX19CQU5LX18sIF9fSU5URVJSVVBUX18pICAoKChfX0JBTktfXykgPT0gRk1DX05BTkRfQkFOSzIpPyAoKF9fSU5TVEFOQ0VfXyktPlNSMiAmPSB+KF9fSU5URVJSVVBUX18pKTogXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fSU5TVEFOQ0VfXyktPlNSMyAmPSB+KF9fSU5URVJSVVBUX18pKSkgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoX19JTlNUQU5DRV9fKS0+U1IzICY9IH4oX19JTlRFUlJVUFRfXykpKQorI2Vsc2UKKyNkZWZpbmUgX19GTUNfTkFORF9ESVNBQkxFX0lUKF9fSU5TVEFOQ0VfXywgX19JTlRFUlJVUFRfXykgICgoX19JTlNUQU5DRV9fKS0+U1IgJj0gfihfX0lOVEVSUlVQVF9fKSkKKyNlbmRpZiAvKiBGTUNfQmFuazJfMyAqLwogCiAvKioKICAgKiBAYnJpZWYgIEdldCBmbGFnIHN0YXR1cyBvZiB0aGUgTkFORCBkZXZpY2UuCiAgICogQHBhcmFtICBfX0lOU1RBTkNFX18gRk1DX05BTkQgSW5zdGFuY2UKLSAgKiBAcGFyYW0gIF9fQkFOS19fICAgICBGTUNfTkFORCBCYW5rICAgICAgCi0gICogQHBhcmFtICBfX0ZMQUdfXyBGTUNfTkFORCBmbGFnCisgICogQHBhcmFtICBfX0JBTktfXyAgICAgRk1DX05BTkQgQmFuaworICAqIEBwYXJhbSAgX19GTEFHX18gICAgIEZNQ19OQU5EIGZsYWcKICAgKiAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhbnkgY29tYmluYXRpb24gb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXM6CiAgICogICAgICAgICAgICBAYXJnIEZNQ19GTEFHX1JJU0lOR19FREdFOiBJbnRlcnJ1cHQgcmlzaW5nIGVkZ2UgZmxhZy4KICAgKiAgICAgICAgICAgIEBhcmcgRk1DX0ZMQUdfTEVWRUw6IEludGVycnVwdCBsZXZlbCBlZGdlIGZsYWcuCiAgICogICAgICAgICAgICBAYXJnIEZNQ19GTEFHX0ZBTExJTkdfRURHRTogSW50ZXJydXB0IGZhbGxpbmcgZWRnZSBmbGFnLgotICAqICAgICAgICAgICAgQGFyZyBGTUNfRkxBR19GRU1QVDogRklGTyBlbXB0eSBmbGFnLiAgIAorICAqICAgICAgICAgICAgQGFyZyBGTUNfRkxBR19GRU1QVDogRklGTyBlbXB0eSBmbGFnLgogICAqIEByZXR2YWwgVGhlIHN0YXRlIG9mIEZMQUcgKFNFVCBvciBSRVNFVCkuCiAgICovCisjaWYgZGVmaW5lZChGTUNfQmFuazJfMykKICNkZWZpbmUgX19GTUNfTkFORF9HRVRfRkxBRyhfX0lOU1RBTkNFX18sIF9fQkFOS19fLCBfX0ZMQUdfXykgICgoKF9fQkFOS19fKSA9PSBGTUNfTkFORF9CQU5LMik/ICgoKF9fSU5TVEFOQ0VfXyktPlNSMiAmKF9fRkxBR19fKSkgPT0gKF9fRkxBR19fKSk6IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKChfX0lOU1RBTkNFX18pLT5TUjMgJihfX0ZMQUdfXykpID09IChfX0ZMQUdfXykpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoKF9fSU5TVEFOQ0VfXyktPlNSMyAmKF9fRkxBR19fKSkgPT0gKF9fRkxBR19fKSkpCisjZWxzZQorI2RlZmluZSBfX0ZNQ19OQU5EX0dFVF9GTEFHKF9fSU5TVEFOQ0VfXywgX19CQU5LX18sIF9fRkxBR19fKSAgKCgoX19JTlNUQU5DRV9fKS0+U1IgJihfX0ZMQUdfXykpID09IChfX0ZMQUdfXykpCisjZW5kaWYgLyogRk1DX0JhbmsyXzMgKi8KKwogLyoqCiAgICogQGJyaWVmICBDbGVhciBmbGFnIHN0YXR1cyBvZiB0aGUgTkFORCBkZXZpY2UuCi0gICogQHBhcmFtICBfX0lOU1RBTkNFX18gRk1DX05BTkQgSW5zdGFuY2UgIAotICAqIEBwYXJhbSAgX19CQU5LX18gICAgIEZNQ19OQU5EIEJhbmsgIAotICAqIEBwYXJhbSAgX19GTEFHX18gRk1DX05BTkQgZmxhZworICAqIEBwYXJhbSAgX19JTlNUQU5DRV9fIEZNQ19OQU5EIEluc3RhbmNlCisgICogQHBhcmFtICBfX0JBTktfXyAgICAgRk1DX05BTkQgQmFuaworICAqIEBwYXJhbSAgX19GTEFHX18gICAgIEZNQ19OQU5EIGZsYWcKICAgKiAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhbnkgY29tYmluYXRpb24gb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXM6CiAgICogICAgICAgICAgICBAYXJnIEZNQ19GTEFHX1JJU0lOR19FREdFOiBJbnRlcnJ1cHQgcmlzaW5nIGVkZ2UgZmxhZy4KICAgKiAgICAgICAgICAgIEBhcmcgRk1DX0ZMQUdfTEVWRUw6IEludGVycnVwdCBsZXZlbCBlZGdlIGZsYWcuCiAgICogICAgICAgICAgICBAYXJnIEZNQ19GTEFHX0ZBTExJTkdfRURHRTogSW50ZXJydXB0IGZhbGxpbmcgZWRnZSBmbGFnLgotICAqICAgICAgICAgICAgQGFyZyBGTUNfRkxBR19GRU1QVDogRklGTyBlbXB0eSBmbGFnLiAgIAorICAqICAgICAgICAgICAgQGFyZyBGTUNfRkxBR19GRU1QVDogRklGTyBlbXB0eSBmbGFnLgogICAqIEByZXR2YWwgTm9uZQogICAqLworI2lmIGRlZmluZWQoRk1DX0JhbmsyXzMpCiAjZGVmaW5lIF9fRk1DX05BTkRfQ0xFQVJfRkxBRyhfX0lOU1RBTkNFX18sIF9fQkFOS19fLCBfX0ZMQUdfXykgICgoKF9fQkFOS19fKSA9PSBGTUNfTkFORF9CQU5LMik/ICgoX19JTlNUQU5DRV9fKS0+U1IyICY9IH4oX19GTEFHX18pKTogXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChfX0lOU1RBTkNFX18pLT5TUjMgJj0gfihfX0ZMQUdfXykpKQotI2VuZGlmIC8qIGRlZmluZWQoU1RNMzJGNDQ2eHgpIHx8IGRlZmluZWQoU1RNMzJGNDY5eHgpIHx8IGRlZmluZWQoU1RNMzJGNDc5eHgpICovCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fSU5TVEFOQ0VfXyktPlNSMyAmPSB+KF9fRkxBR19fKSkpCisjZWxzZQorI2RlZmluZSBfX0ZNQ19OQU5EX0NMRUFSX0ZMQUcoX19JTlNUQU5DRV9fLCBfX0ZMQUdfXykgICgoX19JTlNUQU5DRV9fKS0+U1IgJj0gfihfX0ZMQUdfXykpCisjZW5kaWYgLyogRk1DX0JhbmsyXzMgKi8KIAotI2lmIGRlZmluZWQoU1RNMzJGNDI3eHgpIHx8IGRlZmluZWQoU1RNMzJGNDM3eHgpIHx8IGRlZmluZWQoU1RNMzJGNDI5eHgpIHx8IGRlZmluZWQoU1RNMzJGNDM5eHgpCisvKioKKyAgKiBAfQorICAqLworI2VuZGlmIC8qIEZNQ19CYW5rMykgfHwgZGVmaW5lZChGTUNfQmFuazJfMyAqLworCisjaWYgZGVmaW5lZChGTUNfQmFuazQpCisvKiogQGRlZmdyb3VwIEZNQ19MTF9QQ0NBUkRfSW50ZXJydXB0IEZNQyBQQ0NBUkQgSW50ZXJydXB0CisgICogQGJyaWVmIG1hY3JvcyB0byBoYW5kbGUgUENDQVJEIGludGVycnVwdHMKKyAgKiBAeworICAqLworCiAvKioKICAgKiBAYnJpZWYgIEVuYWJsZSB0aGUgUENDQVJEIGRldmljZSBpbnRlcnJ1cHQuCi0gICogQHBhcmFtICBfX0lOU1RBTkNFX18gRk1DX1BDQ0FSRCBpbnN0YW5jZSAgCi0gICogQHBhcmFtICBfX0lOVEVSUlVQVF9fIEZNQ19QQ0NBUkQgaW50ZXJydXB0IAorICAqIEBwYXJhbSAgX19JTlNUQU5DRV9fIEZNQ19QQ0NBUkQgaW5zdGFuY2UKKyAgKiBAcGFyYW0gIF9fSU5URVJSVVBUX18gRk1DX1BDQ0FSRCBpbnRlcnJ1cHQKICAgKiAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhbnkgY29tYmluYXRpb24gb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXM6CiAgICogICAgICAgICAgICBAYXJnIEZNQ19JVF9SSVNJTkdfRURHRTogSW50ZXJydXB0IHJpc2luZyBlZGdlLgogICAqICAgICAgICAgICAgQGFyZyBGTUNfSVRfTEVWRUw6IEludGVycnVwdCBsZXZlbC4KLSAgKiAgICAgICAgICAgIEBhcmcgRk1DX0lUX0ZBTExJTkdfRURHRTogSW50ZXJydXB0IGZhbGxpbmcgZWRnZS4gICAgICAgCisgICogICAgICAgICAgICBAYXJnIEZNQ19JVF9GQUxMSU5HX0VER0U6IEludGVycnVwdCBmYWxsaW5nIGVkZ2UuCiAgICogQHJldHZhbCBOb25lCi0gICovIAorICAqLwogI2RlZmluZSBfX0ZNQ19QQ0NBUkRfRU5BQkxFX0lUKF9fSU5TVEFOQ0VfXywgX19JTlRFUlJVUFRfXykgICgoX19JTlNUQU5DRV9fKS0+U1I0IHw9IChfX0lOVEVSUlVQVF9fKSkKIAogLyoqCiAgICogQGJyaWVmICBEaXNhYmxlIHRoZSBQQ0NBUkQgZGV2aWNlIGludGVycnVwdC4KLSAgKiBAcGFyYW0gIF9fSU5TVEFOQ0VfXyBGTUNfUENDQVJEIGluc3RhbmNlICAKLSAgKiBAcGFyYW0gIF9fSU5URVJSVVBUX18gRk1DX1BDQ0FSRCBpbnRlcnJ1cHQgCisgICogQHBhcmFtICBfX0lOU1RBTkNFX18gRk1DX1BDQ0FSRCBpbnN0YW5jZQorICAqIEBwYXJhbSAgX19JTlRFUlJVUFRfXyBGTUNfUENDQVJEIGludGVycnVwdAogICAqICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGFueSBjb21iaW5hdGlvbiBvZiB0aGUgZm9sbG93aW5nIHZhbHVlczoKICAgKiAgICAgICAgICAgIEBhcmcgRk1DX0lUX1JJU0lOR19FREdFOiBJbnRlcnJ1cHQgcmlzaW5nIGVkZ2UuCiAgICogICAgICAgICAgICBAYXJnIEZNQ19JVF9MRVZFTDogSW50ZXJydXB0IGxldmVsLgotICAqICAgICAgICAgICAgQGFyZyBGTUNfSVRfRkFMTElOR19FREdFOiBJbnRlcnJ1cHQgZmFsbGluZyBlZGdlLiAgICAgICAKKyAgKiAgICAgICAgICAgIEBhcmcgRk1DX0lUX0ZBTExJTkdfRURHRTogSW50ZXJydXB0IGZhbGxpbmcgZWRnZS4KICAgKiBAcmV0dmFsIE5vbmUKLSAgKi8gCi0jZGVmaW5lIF9fRk1DX1BDQ0FSRF9ESVNBQkxFX0lUKF9fSU5TVEFOQ0VfXywgX19JTlRFUlJVUFRfXykgICgoX19JTlNUQU5DRV9fKS0+U1I0ICY9IH4oX19JTlRFUlJVUFRfXykpIAorICAqLworI2RlZmluZSBfX0ZNQ19QQ0NBUkRfRElTQUJMRV9JVChfX0lOU1RBTkNFX18sIF9fSU5URVJSVVBUX18pICAoKF9fSU5TVEFOQ0VfXyktPlNSNCAmPSB+KF9fSU5URVJSVVBUX18pKQogCiAvKioKICAgKiBAYnJpZWYgIEdldCBmbGFnIHN0YXR1cyBvZiB0aGUgUENDQVJEIGRldmljZS4KLSAgKiBAcGFyYW0gIF9fSU5TVEFOQ0VfXyBGTUNfUENDQVJEIGluc3RhbmNlICAKKyAgKiBAcGFyYW0gIF9fSU5TVEFOQ0VfXyBGTUNfUENDQVJEIGluc3RhbmNlCiAgICogQHBhcmFtICBfX0ZMQUdfXyBGTUNfUENDQVJEIGZsYWcKICAgKiAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhbnkgY29tYmluYXRpb24gb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXM6CiAgICogICAgICAgICAgICBAYXJnICBGTUNfRkxBR19SSVNJTkdfRURHRTogSW50ZXJydXB0IHJpc2luZyBlZGdlIGZsYWcuCiAgICogICAgICAgICAgICBAYXJnICBGTUNfRkxBR19MRVZFTDogSW50ZXJydXB0IGxldmVsIGVkZ2UgZmxhZy4KICAgKiAgICAgICAgICAgIEBhcmcgIEZNQ19GTEFHX0ZBTExJTkdfRURHRTogSW50ZXJydXB0IGZhbGxpbmcgZWRnZSBmbGFnLgotICAqICAgICAgICAgICAgQGFyZyAgRk1DX0ZMQUdfRkVNUFQ6IEZJRk8gZW1wdHkgZmxhZy4gICAKKyAgKiAgICAgICAgICAgIEBhcmcgIEZNQ19GTEFHX0ZFTVBUOiBGSUZPIGVtcHR5IGZsYWcuCiAgICogQHJldHZhbCBUaGUgc3RhdGUgb2YgRkxBRyAoU0VUIG9yIFJFU0VUKS4KICAgKi8KICNkZWZpbmUgX19GTUNfUENDQVJEX0dFVF9GTEFHKF9fSU5TVEFOQ0VfXywgX19GTEFHX18pICAoKChfX0lOU1RBTkNFX18pLT5TUjQgJihfX0ZMQUdfXykpID09IChfX0ZMQUdfXykpCiAKIC8qKgogICAqIEBicmllZiAgQ2xlYXIgZmxhZyBzdGF0dXMgb2YgdGhlIFBDQ0FSRCBkZXZpY2UuCi0gICogQHBhcmFtICBfX0lOU1RBTkNFX18gRk1DX1BDQ0FSRCBpbnN0YW5jZSAgCisgICogQHBhcmFtICBfX0lOU1RBTkNFX18gRk1DX1BDQ0FSRCBpbnN0YW5jZQogICAqIEBwYXJhbSAgX19GTEFHX18gRk1DX1BDQ0FSRCBmbGFnCiAgICogICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYW55IGNvbWJpbmF0aW9uIG9mIHRoZSBmb2xsb3dpbmcgdmFsdWVzOgogICAqICAgICAgICAgICAgQGFyZyAgRk1DX0ZMQUdfUklTSU5HX0VER0U6IEludGVycnVwdCByaXNpbmcgZWRnZSBmbGFnLgogICAqICAgICAgICAgICAgQGFyZyAgRk1DX0ZMQUdfTEVWRUw6IEludGVycnVwdCBsZXZlbCBlZGdlIGZsYWcuCiAgICogICAgICAgICAgICBAYXJnICBGTUNfRkxBR19GQUxMSU5HX0VER0U6IEludGVycnVwdCBmYWxsaW5nIGVkZ2UgZmxhZy4KLSAgKiAgICAgICAgICAgIEBhcmcgIEZNQ19GTEFHX0ZFTVBUOiBGSUZPIGVtcHR5IGZsYWcuICAgCisgICogICAgICAgICAgICBAYXJnICBGTUNfRkxBR19GRU1QVDogRklGTyBlbXB0eSBmbGFnLgogICAqIEByZXR2YWwgTm9uZQogICAqLwogI2RlZmluZSBfX0ZNQ19QQ0NBUkRfQ0xFQVJfRkxBRyhfX0lOU1RBTkNFX18sIF9fRkxBR19fKSAgKChfX0lOU1RBTkNFX18pLT5TUjQgJj0gfihfX0ZMQUdfXykpCi0jZW5kaWYgLyogZGVmaW5lZChTVE0zMkY0Mjd4eCkgfHwgZGVmaW5lZChTVE0zMkY0Mzd4eCkgfHwgZGVmaW5lZChTVE0zMkY0Mjl4eCkgfHwgZGVmaW5lZChTVE0zMkY0Mzl4eCkgKi8KKworLyoqCisgICogQH0KKyAgKi8KKyNlbmRpZgorCisjaWYgZGVmaW5lZChGTUNfQmFuazVfNikKKy8qKiBAZGVmZ3JvdXAgRk1DX0xMX1NEUkFNX0ludGVycnVwdCBGTUMgU0RSQU0gSW50ZXJydXB0CisgICogQGJyaWVmIG1hY3JvcyB0byBoYW5kbGUgU0RSQU0gaW50ZXJydXB0cworICAqIEB7CisgICovCiAKIC8qKgogICAqIEBicmllZiAgRW5hYmxlIHRoZSBTRFJBTSBkZXZpY2UgaW50ZXJydXB0LgotICAqIEBwYXJhbSAgX19JTlNUQU5DRV9fIEZNQ19TRFJBTSBpbnN0YW5jZSAgCi0gICogQHBhcmFtICBfX0lOVEVSUlVQVF9fIEZNQ19TRFJBTSBpbnRlcnJ1cHQgCisgICogQHBhcmFtICBfX0lOU1RBTkNFX18gIEZNQ19TRFJBTSBpbnN0YW5jZQorICAqIEBwYXJhbSAgX19JTlRFUlJVUFRfXyBGTUNfU0RSQU0gaW50ZXJydXB0CiAgICogICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYW55IGNvbWJpbmF0aW9uIG9mIHRoZSBmb2xsb3dpbmcgdmFsdWVzOgotICAqICAgICAgICAgICAgQGFyZyBGTUNfSVRfUkVGUkVTSF9FUlJPUjogSW50ZXJydXB0IHJlZnJlc2ggZXJyb3IgICAgICAKKyAgKiAgICAgICAgICAgIEBhcmcgRk1DX0lUX1JFRlJFU0hfRVJST1I6IEludGVycnVwdCByZWZyZXNoIGVycm9yCiAgICogQHJldHZhbCBOb25lCiAgICovCiAjZGVmaW5lIF9fRk1DX1NEUkFNX0VOQUJMRV9JVChfX0lOU1RBTkNFX18sIF9fSU5URVJSVVBUX18pICAoKF9fSU5TVEFOQ0VfXyktPlNEUlRSIHw9IChfX0lOVEVSUlVQVF9fKSkKIAogLyoqCiAgICogQGJyaWVmICBEaXNhYmxlIHRoZSBTRFJBTSBkZXZpY2UgaW50ZXJydXB0LgotICAqIEBwYXJhbSAgX19JTlNUQU5DRV9fIEZNQ19TRFJBTSBpbnN0YW5jZSAgCi0gICogQHBhcmFtICBfX0lOVEVSUlVQVF9fIEZNQ19TRFJBTSBpbnRlcnJ1cHQgCisgICogQHBhcmFtICBfX0lOU1RBTkNFX18gIEZNQ19TRFJBTSBpbnN0YW5jZQorICAqIEBwYXJhbSAgX19JTlRFUlJVUFRfXyBGTUNfU0RSQU0gaW50ZXJydXB0CiAgICogICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYW55IGNvbWJpbmF0aW9uIG9mIHRoZSBmb2xsb3dpbmcgdmFsdWVzOgotICAqICAgICAgICAgICAgQGFyZyBGTUNfSVRfUkVGUkVTSF9FUlJPUjogSW50ZXJydXB0IHJlZnJlc2ggZXJyb3IgICAgICAKKyAgKiAgICAgICAgICAgIEBhcmcgRk1DX0lUX1JFRlJFU0hfRVJST1I6IEludGVycnVwdCByZWZyZXNoIGVycm9yCiAgICogQHJldHZhbCBOb25lCiAgICovCiAjZGVmaW5lIF9fRk1DX1NEUkFNX0RJU0FCTEVfSVQoX19JTlNUQU5DRV9fLCBfX0lOVEVSUlVQVF9fKSAgKChfX0lOU1RBTkNFX18pLT5TRFJUUiAmPSB+KF9fSU5URVJSVVBUX18pKQogCiAvKioKICAgKiBAYnJpZWYgIEdldCBmbGFnIHN0YXR1cyBvZiB0aGUgU0RSQU0gZGV2aWNlLgotICAqIEBwYXJhbSAgX19JTlNUQU5DRV9fIEZNQ19TRFJBTSBpbnN0YW5jZSAgCi0gICogQHBhcmFtICBfX0ZMQUdfXyBGTUNfU0RSQU0gZmxhZworICAqIEBwYXJhbSAgX19JTlNUQU5DRV9fIEZNQ19TRFJBTSBpbnN0YW5jZQorICAqIEBwYXJhbSAgX19GTEFHX18gICAgIEZNQ19TRFJBTSBmbGFnCiAgICogICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYW55IGNvbWJpbmF0aW9uIG9mIHRoZSBmb2xsb3dpbmcgdmFsdWVzOgogICAqICAgICAgICAgICAgQGFyZyBGTUNfU0RSQU1fRkxBR19SRUZSRVNIX0lUOiBJbnRlcnJ1cHQgcmVmcmVzaCBlcnJvci4KICAgKiAgICAgICAgICAgIEBhcmcgRk1DX1NEUkFNX0ZMQUdfQlVTWTogU0RSQU0gYnVzeSBmbGFnLgpAQCAtMTA2NSwyMzYgKzEyNTAsNTIgQEAKIAogLyoqCiAgICogQGJyaWVmICBDbGVhciBmbGFnIHN0YXR1cyBvZiB0aGUgU0RSQU0gZGV2aWNlLgotICAqIEBwYXJhbSAgX19JTlNUQU5DRV9fIEZNQ19TRFJBTSBpbnN0YW5jZSAgCi0gICogQHBhcmFtICBfX0ZMQUdfXyBGTUNfU0RSQU0gZmxhZworICAqIEBwYXJhbSAgX19JTlNUQU5DRV9fIEZNQ19TRFJBTSBpbnN0YW5jZQorICAqIEBwYXJhbSAgX19GTEFHX18gICAgIEZNQ19TRFJBTSBmbGFnCiAgICogICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYW55IGNvbWJpbmF0aW9uIG9mIHRoZSBmb2xsb3dpbmcgdmFsdWVzOgogICAqICAgICAgICAgICBAYXJnIEZNQ19TRFJBTV9GTEFHX1JFRlJFU0hfRVJST1IKICAgKiBAcmV0dmFsIE5vbmUKICAgKi8KICNkZWZpbmUgX19GTUNfU0RSQU1fQ0xFQVJfRkxBRyhfX0lOU1RBTkNFX18sIF9fRkxBR19fKSAgKChfX0lOU1RBTkNFX18pLT5TRFJUUiB8PSAoX19GTEFHX18pKQorCiAvKioKICAgKiBAfQogICAqLwotCi0vKiogQGRlZmdyb3VwIEZTTUNfTExfQXNzZXJ0X01hY3JvcyBGU01DIEFzc2VydCBNYWNyb3MKLSAgKiBAewotICAqLwotI2RlZmluZSBJU19GTUNfTk9SU1JBTV9CQU5LKEJBTkspICgoKEJBTkspID09IEZNQ19OT1JTUkFNX0JBTksxKSB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQkFOSykgPT0gRk1DX05PUlNSQU1fQkFOSzIpIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChCQU5LKSA9PSBGTUNfTk9SU1JBTV9CQU5LMykgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEJBTkspID09IEZNQ19OT1JTUkFNX0JBTks0KSkKLQotI2RlZmluZSBJU19GTUNfTVVYKF9fTVVYX18pICgoKF9fTVVYX18pID09IEZNQ19EQVRBX0FERFJFU1NfTVVYX0RJU0FCTEUpIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoX19NVVhfXykgPT0gRk1DX0RBVEFfQUREUkVTU19NVVhfRU5BQkxFKSkKLQotI2RlZmluZSBJU19GTUNfTUVNT1JZKF9fTUVNT1JZX18pICgoKF9fTUVNT1JZX18pID09IEZNQ19NRU1PUllfVFlQRV9TUkFNKSB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fTUVNT1JZX18pID09IEZNQ19NRU1PUllfVFlQRV9QU1JBTSl8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fTUVNT1JZX18pID09IEZNQ19NRU1PUllfVFlQRV9OT1IpKQotCi0jZGVmaW5lIElTX0ZNQ19OT1JTUkFNX01FTU9SWV9XSURUSChfX1dJRFRIX18pICgoKF9fV0lEVEhfXykgPT0gRk1DX05PUlNSQU1fTUVNX0JVU19XSURUSF84KSAgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoX19XSURUSF9fKSA9PSBGTUNfTk9SU1JBTV9NRU1fQlVTX1dJRFRIXzE2KSB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChfX1dJRFRIX18pID09IEZNQ19OT1JTUkFNX01FTV9CVVNfV0lEVEhfMzIpKQotCi0jZGVmaW5lIElTX0ZNQ19BQ0NFU1NfTU9ERShfX01PREVfXykgKCgoX19NT0RFX18pID09IEZNQ19BQ0NFU1NfTU9ERV9BKSB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fTU9ERV9fKSA9PSBGTUNfQUNDRVNTX01PREVfQikgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChfX01PREVfXykgPT0gRk1DX0FDQ0VTU19NT0RFX0MpIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoX19NT0RFX18pID09IEZNQ19BQ0NFU1NfTU9ERV9EKSkKLQotI2RlZmluZSBJU19GTUNfTkFORF9CQU5LKEJBTkspICgoKEJBTkspID09IEZNQ19OQU5EX0JBTksyKSB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQkFOSykgPT0gRk1DX05BTkRfQkFOSzMpKQotCi0jZGVmaW5lIElTX0ZNQ19XQUlUX0ZFQVRVUkUoRkVBVFVSRSkgKCgoRkVBVFVSRSkgPT0gRk1DX05BTkRfUENDX1dBSVRfRkVBVFVSRV9ESVNBQkxFKSB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoRkVBVFVSRSkgPT0gRk1DX05BTkRfUENDX1dBSVRfRkVBVFVSRV9FTkFCTEUpKQotCi0jZGVmaW5lIElTX0ZNQ19OQU5EX01FTU9SWV9XSURUSChXSURUSCkgKCgoV0lEVEgpID09IEZNQ19OQU5EX1BDQ19NRU1fQlVTX1dJRFRIXzgpIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChXSURUSCkgPT0gRk1DX05BTkRfUENDX01FTV9CVVNfV0lEVEhfMTYpKQotCi0jZGVmaW5lIElTX0ZNQ19FQ0NfU1RBVEUoU1RBVEUpICgoKFNUQVRFKSA9PSBGTUNfTkFORF9FQ0NfRElTQUJMRSkgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChTVEFURSkgPT0gRk1DX05BTkRfRUNDX0VOQUJMRSkpCi0KLSNkZWZpbmUgSVNfRk1DX0VDQ1BBR0VfU0laRShTSVpFKSAoKChTSVpFKSA9PSBGTUNfTkFORF9FQ0NfUEFHRV9TSVpFXzI1NkJZVEUpICB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoU0laRSkgPT0gRk1DX05BTkRfRUNDX1BBR0VfU0laRV81MTJCWVRFKSAgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKFNJWkUpID09IEZNQ19OQU5EX0VDQ19QQUdFX1NJWkVfMTAyNEJZVEUpIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChTSVpFKSA9PSBGTUNfTkFORF9FQ0NfUEFHRV9TSVpFXzIwNDhCWVRFKSB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoU0laRSkgPT0gRk1DX05BTkRfRUNDX1BBR0VfU0laRV80MDk2QllURSkgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKFNJWkUpID09IEZNQ19OQU5EX0VDQ19QQUdFX1NJWkVfODE5MkJZVEUpKQotCi0jZGVmaW5lIElTX0ZNQ19UQ0xSX1RJTUUoVElNRSkgKChUSU1FKSA8PSAyNTVVKQotCi0jZGVmaW5lIElTX0ZNQ19UQVJfVElNRShUSU1FKSAoKFRJTUUpIDw9IDI1NVUpCi0KLSNkZWZpbmUgSVNfRk1DX1NFVFVQX1RJTUUoVElNRSkgKChUSU1FKSA8PSAyNTVVKQotCi0jZGVmaW5lIElTX0ZNQ19XQUlUX1RJTUUoVElNRSkgKChUSU1FKSA8PSAyNTVVKQotCi0jZGVmaW5lIElTX0ZNQ19IT0xEX1RJTUUoVElNRSkgKChUSU1FKSA8PSAyNTVVKQotCi0jZGVmaW5lIElTX0ZNQ19ISVpfVElNRShUSU1FKSAoKFRJTUUpIDw9IDI1NVUpCi0KLSNkZWZpbmUgSVNfRk1DX05PUlNSQU1fREVWSUNFKF9fSU5TVEFOQ0VfXykgKChfX0lOU1RBTkNFX18pID09IEZNQ19OT1JTUkFNX0RFVklDRSkKLQotI2RlZmluZSBJU19GTUNfTk9SU1JBTV9FWFRFTkRFRF9ERVZJQ0UoX19JTlNUQU5DRV9fKSAoKF9fSU5TVEFOQ0VfXykgPT0gRk1DX05PUlNSQU1fRVhURU5ERURfREVWSUNFKQotCi0jZGVmaW5lIElTX0ZNQ19OQU5EX0RFVklDRShfX0lOU1RBTkNFX18pICgoX19JTlNUQU5DRV9fKSA9PSBGTUNfTkFORF9ERVZJQ0UpCi0KLSNkZWZpbmUgSVNfRk1DX1BDQ0FSRF9ERVZJQ0UoX19JTlNUQU5DRV9fKSAoKF9fSU5TVEFOQ0VfXykgPT0gRk1DX1BDQ0FSRF9ERVZJQ0UpCi0KLSNkZWZpbmUgSVNfRk1DX0JVUlNUTU9ERShfX1NUQVRFX18pICgoKF9fU1RBVEVfXykgPT0gRk1DX0JVUlNUX0FDQ0VTU19NT0RFX0RJU0FCTEUpIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fU1RBVEVfXykgPT0gRk1DX0JVUlNUX0FDQ0VTU19NT0RFX0VOQUJMRSkpCi0KLSNkZWZpbmUgSVNfRk1DX1dBSVRfUE9MQVJJVFkoX19QT0xBUklUWV9fKSAoKChfX1BPTEFSSVRZX18pID09IEZNQ19XQUlUX1NJR05BTF9QT0xBUklUWV9MT1cpIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChfX1BPTEFSSVRZX18pID09IEZNQ19XQUlUX1NJR05BTF9QT0xBUklUWV9ISUdIKSkKLQotI2lmIGRlZmluZWQoU1RNMzJGNDI3eHgpIHx8IGRlZmluZWQoU1RNMzJGNDM3eHgpIHx8IGRlZmluZWQoU1RNMzJGNDI5eHgpIHx8IGRlZmluZWQoU1RNMzJGNDM5eHgpCi0jZGVmaW5lIElTX0ZNQ19XUkFQX01PREUoX19NT0RFX18pICgoKF9fTU9ERV9fKSA9PSBGTUNfV1JBUF9NT0RFX0RJU0FCTEUpIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoX19NT0RFX18pID09IEZNQ19XUkFQX01PREVfRU5BQkxFKSkKLSNlbmRpZiAvKiBTVE0zMkY0Mjd4eCB8fCBTVE0zMkY0Mzd4eCB8fCBTVE0zMkY0Mjl4eCB8fCBTVE0zMkY0Mzl4eCAqLyAKLQotI2RlZmluZSBJU19GTUNfV0FJVF9TSUdOQUxfQUNUSVZFKF9fQUNUSVZFX18pICgoKF9fQUNUSVZFX18pID09IEZNQ19XQUlUX1RJTUlOR19CRUZPUkVfV1MpIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoX19BQ1RJVkVfXykgPT0gRk1DX1dBSVRfVElNSU5HX0RVUklOR19XUykpIAotCi0jZGVmaW5lIElTX0ZNQ19XUklURV9PUEVSQVRJT04oX19PUEVSQVRJT05fXykgKCgoX19PUEVSQVRJT05fXykgPT0gRk1DX1dSSVRFX09QRVJBVElPTl9ESVNBQkxFKSB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fT1BFUkFUSU9OX18pID09IEZNQ19XUklURV9PUEVSQVRJT05fRU5BQkxFKSkKLQotI2RlZmluZSBJU19GTUNfV0FJVEVfU0lHTkFMKF9fU0lHTkFMX18pICgoKF9fU0lHTkFMX18pID09IEZNQ19XQUlUX1NJR05BTF9ESVNBQkxFKSB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fU0lHTkFMX18pID09IEZNQ19XQUlUX1NJR05BTF9FTkFCTEUpKQotCi0jZGVmaW5lIElTX0ZNQ19FWFRFTkRFRF9NT0RFKF9fTU9ERV9fKSAoKChfX01PREVfXykgPT0gRk1DX0VYVEVOREVEX01PREVfRElTQUJMRSkgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fTU9ERV9fKSA9PSBGTUNfRVhURU5ERURfTU9ERV9FTkFCTEUpKQotCi0jZGVmaW5lIElTX0ZNQ19BU1lOV0FJVChfX1NUQVRFX18pICgoKF9fU1RBVEVfXykgPT0gRk1DX0FTWU5DSFJPTk9VU19XQUlUX0RJU0FCTEUpIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fU1RBVEVfXykgPT0gRk1DX0FTWU5DSFJPTk9VU19XQUlUX0VOQUJMRSkpCi0KLSNkZWZpbmUgSVNfRk1DX1dSSVRFX0JVUlNUKF9fQlVSU1RfXykgKCgoX19CVVJTVF9fKSA9PSBGTUNfV1JJVEVfQlVSU1RfRElTQUJMRSkgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoX19CVVJTVF9fKSA9PSBGTUNfV1JJVEVfQlVSU1RfRU5BQkxFKSkKLQotI2RlZmluZSBJU19GTUNfQ09OVElOT1VTX0NMT0NLKENDTE9DSykgKCgoQ0NMT0NLKSA9PSBGTUNfQ09OVElOVU9VU19DTE9DS19TWU5DX09OTFkpIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKENDTE9DSykgPT0gRk1DX0NPTlRJTlVPVVNfQ0xPQ0tfU1lOQ19BU1lOQykpCi0KLSNkZWZpbmUgSVNfRk1DX0FERFJFU1NfU0VUVVBfVElNRShfX1RJTUVfXykgKChfX1RJTUVfXykgPD0gMTVVKQotCi0jZGVmaW5lIElTX0ZNQ19BRERSRVNTX0hPTERfVElNRShfX1RJTUVfXykgKCgoX19USU1FX18pID4gMFUpICYmICgoX19USU1FX18pIDw9IDE1VSkpCi0KLSNkZWZpbmUgSVNfRk1DX0RBVEFTRVRVUF9USU1FKF9fVElNRV9fKSAoKChfX1RJTUVfXykgPiAwVSkgJiYgKChfX1RJTUVfXykgPD0gMjU1VSkpCi0KLSNkZWZpbmUgSVNfRk1DX1RVUk5BUk9VTkRfVElNRShfX1RJTUVfXykgKChfX1RJTUVfXykgPD0gMTVVKQotCi0jZGVmaW5lIElTX0ZNQ19EQVRBX0xBVEVOQ1koX19MQVRFTkNZX18pICgoKF9fTEFURU5DWV9fKSA+IDFVKSAmJiAoKF9fTEFURU5DWV9fKSA8PSAxN1UpKQotCi0jZGVmaW5lIElTX0ZNQ19DTEtfRElWKERJVikgKCgoRElWKSA+IDFVKSAmJiAoKERJVikgPD0gMTZVKSkKLQotI2RlZmluZSBJU19GTUNfU0RSQU1fQkFOSyhCQU5LKSAoKChCQU5LKSA9PSBGTUNfU0RSQU1fQkFOSzEpIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQkFOSykgPT0gRk1DX1NEUkFNX0JBTksyKSkKLQotI2RlZmluZSBJU19GTUNfQ09MVU1OQklUU19OVU1CRVIoQ09MVU1OKSAoKChDT0xVTU4pID09IEZNQ19TRFJBTV9DT0xVTU5fQklUU19OVU1fOCkgIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQ09MVU1OKSA9PSBGTUNfU0RSQU1fQ09MVU1OX0JJVFNfTlVNXzkpICB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKENPTFVNTikgPT0gRk1DX1NEUkFNX0NPTFVNTl9CSVRTX05VTV8xMCkgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChDT0xVTU4pID09IEZNQ19TRFJBTV9DT0xVTU5fQklUU19OVU1fMTEpKQotCi0jZGVmaW5lIElTX0ZNQ19ST1dCSVRTX05VTUJFUihST1cpICgoKFJPVykgPT0gRk1DX1NEUkFNX1JPV19CSVRTX05VTV8xMSkgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChST1cpID09IEZNQ19TRFJBTV9ST1dfQklUU19OVU1fMTIpIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoUk9XKSA9PSBGTUNfU0RSQU1fUk9XX0JJVFNfTlVNXzEzKSkKLQotI2RlZmluZSBJU19GTUNfU0RNRU1PUllfV0lEVEgoV0lEVEgpICgoKFdJRFRIKSA9PSBGTUNfU0RSQU1fTUVNX0JVU19XSURUSF84KSAgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKFdJRFRIKSA9PSBGTUNfU0RSQU1fTUVNX0JVU19XSURUSF8xNikgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKFdJRFRIKSA9PSBGTUNfU0RSQU1fTUVNX0JVU19XSURUSF8zMikpCi0KLSNkZWZpbmUgSVNfRk1DX0lOVEVSTkFMQkFOS19OVU1CRVIoTlVNQkVSKSAoKChOVU1CRVIpID09IEZNQ19TRFJBTV9JTlRFUk5fQkFOS1NfTlVNXzIpIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChOVU1CRVIpID09IEZNQ19TRFJBTV9JTlRFUk5fQkFOS1NfTlVNXzQpKQotCi0KLSNkZWZpbmUgSVNfRk1DX0NBU19MQVRFTkNZKExBVEVOQ1kpICgoKExBVEVOQ1kpID09IEZNQ19TRFJBTV9DQVNfTEFURU5DWV8xKSB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChMQVRFTkNZKSA9PSBGTUNfU0RSQU1fQ0FTX0xBVEVOQ1lfMikgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoTEFURU5DWSkgPT0gRk1DX1NEUkFNX0NBU19MQVRFTkNZXzMpKQotCi0jZGVmaW5lIElTX0ZNQ19TRENMT0NLX1BFUklPRChQRVJJT0QpICgoKFBFUklPRCkgPT0gRk1DX1NEUkFNX0NMT0NLX0RJU0FCTEUpICB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKFBFUklPRCkgPT0gRk1DX1NEUkFNX0NMT0NLX1BFUklPRF8yKSB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKFBFUklPRCkgPT0gRk1DX1NEUkFNX0NMT0NLX1BFUklPRF8zKSkKLQotI2RlZmluZSBJU19GTUNfUkVBRF9CVVJTVChSQlVSU1QpICgoKFJCVVJTVCkgPT0gRk1DX1NEUkFNX1JCVVJTVF9ESVNBQkxFKSB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoUkJVUlNUKSA9PSBGTUNfU0RSQU1fUkJVUlNUX0VOQUJMRSkpCi0KLQotI2RlZmluZSBJU19GTUNfUkVBRFBJUEVfREVMQVkoREVMQVkpICgoKERFTEFZKSA9PSBGTUNfU0RSQU1fUlBJUEVfREVMQVlfMCkgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKERFTEFZKSA9PSBGTUNfU0RSQU1fUlBJUEVfREVMQVlfMSkgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKERFTEFZKSA9PSBGTUNfU0RSQU1fUlBJUEVfREVMQVlfMikpCi0KLSNkZWZpbmUgSVNfRk1DX0xPQURUT0FDVElWRV9ERUxBWShERUxBWSkgKCgoREVMQVkpID4gMFUpICYmICgoREVMQVkpIDw9IDE2VSkpCi0KLSNkZWZpbmUgSVNfRk1DX0VYSVRTRUxGUkVGUkVTSF9ERUxBWShERUxBWSkgKCgoREVMQVkpID4gMFUpICYmICgoREVMQVkpIDw9IDE2VSkpCi0gCi0jZGVmaW5lIElTX0ZNQ19TRUxGUkVGUkVTSF9USU1FKFRJTUUpICgoKFRJTUUpID4gMFUpICYmICgoVElNRSkgPD0gMTZVKSkKLSAKLSNkZWZpbmUgSVNfRk1DX1JPV0NZQ0xFX0RFTEFZKERFTEFZKSAoKChERUxBWSkgPiAwVSkgJiYgKChERUxBWSkgPD0gMTZVKSkKLSAgCi0jZGVmaW5lIElTX0ZNQ19XUklURV9SRUNPVkVSWV9USU1FKFRJTUUpICgoKFRJTUUpID4gMFUpICYmICgoVElNRSkgPD0gMTZVKSkKLSAKLSNkZWZpbmUgSVNfRk1DX1JQX0RFTEFZKERFTEFZKSAoKChERUxBWSkgPiAwVSkgJiYgKChERUxBWSkgPD0gMTZVKSkKLQotI2RlZmluZSBJU19GTUNfUkNEX0RFTEFZKERFTEFZKSAoKChERUxBWSkgPiAwVSkgJiYgKChERUxBWSkgPD0gMTZVKSkKLQotI2RlZmluZSBJU19GTUNfQ09NTUFORF9NT0RFKENPTU1BTkQpICgoKENPTU1BTkQpID09IEZNQ19TRFJBTV9DTURfTk9STUFMX01PREUpICAgICAgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKENPTU1BTkQpID09IEZNQ19TRFJBTV9DTURfQ0xLX0VOQUJMRSkgICAgICAgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKENPTU1BTkQpID09IEZNQ19TRFJBTV9DTURfUEFMTCkgICAgICAgICAgICAgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKENPTU1BTkQpID09IEZNQ19TRFJBTV9DTURfQVVUT1JFRlJFU0hfTU9ERSkgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKENPTU1BTkQpID09IEZNQ19TRFJBTV9DTURfTE9BRF9NT0RFKSAgICAgICAgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKENPTU1BTkQpID09IEZNQ19TRFJBTV9DTURfU0VMRlJFRlJFU0hfTU9ERSkgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKENPTU1BTkQpID09IEZNQ19TRFJBTV9DTURfUE9XRVJET1dOX01PREUpKQotCi0jZGVmaW5lIElTX0ZNQ19DT01NQU5EX1RBUkdFVChUQVJHRVQpICgoKFRBUkdFVCkgPT0gRk1DX1NEUkFNX0NNRF9UQVJHRVRfQkFOSzEpIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoVEFSR0VUKSA9PSBGTUNfU0RSQU1fQ01EX1RBUkdFVF9CQU5LMikgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChUQVJHRVQpID09IEZNQ19TRFJBTV9DTURfVEFSR0VUX0JBTksxXzIpKQotCi0jZGVmaW5lIElTX0ZNQ19BVVRPUkVGUkVTSF9OVU1CRVIoTlVNQkVSKSAoKChOVU1CRVIpID4gMFUpICYmICgoTlVNQkVSKSA8PSAxNlUpKQotCi0jZGVmaW5lIElTX0ZNQ19NT0RFX1JFR0lTVEVSKENPTlRFTlQpICgoQ09OVEVOVCkgPD0gODE5MVUpCi0KLSNkZWZpbmUgSVNfRk1DX1JFRlJFU0hfUkFURShSQVRFKSAoKFJBVEUpIDw9IDgxOTFVKQotCi0jZGVmaW5lIElTX0ZNQ19TRFJBTV9ERVZJQ0UoSU5TVEFOQ0UpICgoSU5TVEFOQ0UpID09IEZNQ19TRFJBTV9ERVZJQ0UpCi0KLSNkZWZpbmUgSVNfRk1DX1dSSVRFX1BST1RFQ1RJT04oV1JJVEUpICgoKFdSSVRFKSA9PSBGTUNfU0RSQU1fV1JJVEVfUFJPVEVDVElPTl9ESVNBQkxFKSB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChXUklURSkgPT0gRk1DX1NEUkFNX1dSSVRFX1BST1RFQ1RJT05fRU5BQkxFKSkKLQotI2RlZmluZSBJU19GTUNfUEFHRVNJWkUoU0laRSkgKCgoU0laRSkgPT0gRk1DX1BBR0VfU0laRV9OT05FKSB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChTSVpFKSA9PSBGTUNfUEFHRV9TSVpFXzEyOCkgIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKFNJWkUpID09IEZNQ19QQUdFX1NJWkVfMjU2KSAgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoU0laRSkgPT0gRk1DX1BBR0VfU0laRV81MTIpICB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChTSVpFKSA9PSBGTUNfUEFHRV9TSVpFXzEwMjQpKQotCi0jaWYgZGVmaW5lZCAoU1RNMzJGNDQ2eHgpIHx8IGRlZmluZWQoU1RNMzJGNDY5eHgpIHx8IGRlZmluZWQoU1RNMzJGNDc5eHgpCi0jZGVmaW5lIElTX0ZNQ19XUklURV9GSUZPKEZJRk8pICgoKEZJRk8pID09IEZNQ19XUklURV9GSUZPX0RJU0FCTEUpIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoRklGTykgPT0gRk1DX1dSSVRFX0ZJRk9fRU5BQkxFKSkKLSNlbmRpZiAvKiBTVE0zMkY0NDZ4eCB8fCBTVE0zMkY0Njl4eCB8fCBTVE0zMkY0Nzl4eCAqLwotCisjZW5kaWYgLyogRk1DX0Jhbms1XzYgKi8KIC8qKgogICAqIEB9CiAgICovCiAKIC8qKgogICAqIEB9Ci0gICovIAorICAqLwogCiAvKiBQcml2YXRlIGZ1bmN0aW9ucyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogLyoqIEBkZWZncm91cCBGTUNfTExfUHJpdmF0ZV9GdW5jdGlvbnMgRk1DIExMIFByaXZhdGUgRnVuY3Rpb25zCiAgICogIEB7CiAgICovCiAKKyNpZiBkZWZpbmVkKEZNQ19CYW5rMSkKIC8qKiBAZGVmZ3JvdXAgRk1DX0xMX05PUlNSQU0gIE5PUiBTUkFNCiAgICogIEB7CiAgICovCi0vKiogQGRlZmdyb3VwIEZNQ19MTF9OT1JTUkFNX1ByaXZhdGVfRnVuY3Rpb25zX0dyb3VwMSBOT1IgU1JBTSBJbml0aWFsaXphdGlvbi9kZS1pbml0aWFsaXphdGlvbiBmdW5jdGlvbnMgCisvKiogQGRlZmdyb3VwIEZNQ19MTF9OT1JTUkFNX1ByaXZhdGVfRnVuY3Rpb25zX0dyb3VwMSBOT1IgU1JBTSBJbml0aWFsaXphdGlvbi9kZS1pbml0aWFsaXphdGlvbiBmdW5jdGlvbnMKICAgKiAgQHsKICAgKi8KLUhBTF9TdGF0dXNUeXBlRGVmICBGTUNfTk9SU1JBTV9Jbml0KEZNQ19OT1JTUkFNX1R5cGVEZWYgKkRldmljZSwgRk1DX05PUlNSQU1fSW5pdFR5cGVEZWYgKkluaXQpOwotSEFMX1N0YXR1c1R5cGVEZWYgIEZNQ19OT1JTUkFNX1RpbWluZ19Jbml0KEZNQ19OT1JTUkFNX1R5cGVEZWYgKkRldmljZSwgRk1DX05PUlNSQU1fVGltaW5nVHlwZURlZiAqVGltaW5nLCB1aW50MzJfdCBCYW5rKTsKLUhBTF9TdGF0dXNUeXBlRGVmICBGTUNfTk9SU1JBTV9FeHRlbmRlZF9UaW1pbmdfSW5pdChGTUNfTk9SU1JBTV9FWFRFTkRFRF9UeXBlRGVmICpEZXZpY2UsIEZNQ19OT1JTUkFNX1RpbWluZ1R5cGVEZWYgKlRpbWluZywgdWludDMyX3QgQmFuaywgdWludDMyX3QgRXh0ZW5kZWRNb2RlKTsKLUhBTF9TdGF0dXNUeXBlRGVmICBGTUNfTk9SU1JBTV9EZUluaXQoRk1DX05PUlNSQU1fVHlwZURlZiAqRGV2aWNlLCBGTUNfTk9SU1JBTV9FWFRFTkRFRF9UeXBlRGVmICpFeERldmljZSwgdWludDMyX3QgQmFuayk7CitIQUxfU3RhdHVzVHlwZURlZiAgRk1DX05PUlNSQU1fSW5pdChGTUNfTk9SU1JBTV9UeXBlRGVmICpEZXZpY2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGTUNfTk9SU1JBTV9Jbml0VHlwZURlZiAqSW5pdCk7CitIQUxfU3RhdHVzVHlwZURlZiAgRk1DX05PUlNSQU1fVGltaW5nX0luaXQoRk1DX05PUlNSQU1fVHlwZURlZiAqRGV2aWNlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZNQ19OT1JTUkFNX1RpbWluZ1R5cGVEZWYgKlRpbWluZywgdWludDMyX3QgQmFuayk7CitIQUxfU3RhdHVzVHlwZURlZiAgRk1DX05PUlNSQU1fRXh0ZW5kZWRfVGltaW5nX0luaXQoRk1DX05PUlNSQU1fRVhURU5ERURfVHlwZURlZiAqRGV2aWNlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZNQ19OT1JTUkFNX1RpbWluZ1R5cGVEZWYgKlRpbWluZywgdWludDMyX3QgQmFuaywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBFeHRlbmRlZE1vZGUpOworSEFMX1N0YXR1c1R5cGVEZWYgIEZNQ19OT1JTUkFNX0RlSW5pdChGTUNfTk9SU1JBTV9UeXBlRGVmICpEZXZpY2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZNQ19OT1JTUkFNX0VYVEVOREVEX1R5cGVEZWYgKkV4RGV2aWNlLCB1aW50MzJfdCBCYW5rKTsKIC8qKgogICAqIEB9Ci0gICovIAorICAqLwogCi0vKiogQGRlZmdyb3VwIEZNQ19MTF9OT1JTUkFNX1ByaXZhdGVfRnVuY3Rpb25zX0dyb3VwMiBOT1IgU1JBTSBDb250cm9sIGZ1bmN0aW9ucyAKKy8qKiBAZGVmZ3JvdXAgRk1DX0xMX05PUlNSQU1fUHJpdmF0ZV9GdW5jdGlvbnNfR3JvdXAyIE5PUiBTUkFNIENvbnRyb2wgZnVuY3Rpb25zCiAgICogIEB7CiAgICovCiBIQUxfU3RhdHVzVHlwZURlZiAgRk1DX05PUlNSQU1fV3JpdGVPcGVyYXRpb25fRW5hYmxlKEZNQ19OT1JTUkFNX1R5cGVEZWYgKkRldmljZSwgdWludDMyX3QgQmFuayk7CkBAIC0xMzA1LDQ1ICsxMzA2LDU0IEBACiAvKioKICAgKiBAfQogICAqLworI2VuZGlmIC8qIEZNQ19CYW5rMSAqLwogCisjaWYgZGVmaW5lZChGTUNfQmFuazMpIHx8IGRlZmluZWQoRk1DX0JhbmsyXzMpCiAvKiogQGRlZmdyb3VwIEZNQ19MTF9OQU5EIE5BTkQKICAgKiAgQHsKICAgKi8KLS8qKiBAZGVmZ3JvdXAgRk1DX0xMX05BTkRfUHJpdmF0ZV9GdW5jdGlvbnNfR3JvdXAxIE5BTkQgSW5pdGlhbGl6YXRpb24vZGUtaW5pdGlhbGl6YXRpb24gZnVuY3Rpb25zIAorLyoqIEBkZWZncm91cCBGTUNfTExfTkFORF9Qcml2YXRlX0Z1bmN0aW9uc19Hcm91cDEgTkFORCBJbml0aWFsaXphdGlvbi9kZS1pbml0aWFsaXphdGlvbiBmdW5jdGlvbnMKICAgKiAgQHsKICAgKi8KIEhBTF9TdGF0dXNUeXBlRGVmICBGTUNfTkFORF9Jbml0KEZNQ19OQU5EX1R5cGVEZWYgKkRldmljZSwgRk1DX05BTkRfSW5pdFR5cGVEZWYgKkluaXQpOwotSEFMX1N0YXR1c1R5cGVEZWYgIEZNQ19OQU5EX0NvbW1vblNwYWNlX1RpbWluZ19Jbml0KEZNQ19OQU5EX1R5cGVEZWYgKkRldmljZSwgRk1DX05BTkRfUENDX1RpbWluZ1R5cGVEZWYgKlRpbWluZywgdWludDMyX3QgQmFuayk7Ci1IQUxfU3RhdHVzVHlwZURlZiAgRk1DX05BTkRfQXR0cmlidXRlU3BhY2VfVGltaW5nX0luaXQoRk1DX05BTkRfVHlwZURlZiAqRGV2aWNlLCBGTUNfTkFORF9QQ0NfVGltaW5nVHlwZURlZiAqVGltaW5nLCB1aW50MzJfdCBCYW5rKTsKK0hBTF9TdGF0dXNUeXBlRGVmICBGTUNfTkFORF9Db21tb25TcGFjZV9UaW1pbmdfSW5pdChGTUNfTkFORF9UeXBlRGVmICpEZXZpY2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRk1DX05BTkRfUENDX1RpbWluZ1R5cGVEZWYgKlRpbWluZywgdWludDMyX3QgQmFuayk7CitIQUxfU3RhdHVzVHlwZURlZiAgRk1DX05BTkRfQXR0cmlidXRlU3BhY2VfVGltaW5nX0luaXQoRk1DX05BTkRfVHlwZURlZiAqRGV2aWNlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZNQ19OQU5EX1BDQ19UaW1pbmdUeXBlRGVmICpUaW1pbmcsIHVpbnQzMl90IEJhbmspOwogSEFMX1N0YXR1c1R5cGVEZWYgIEZNQ19OQU5EX0RlSW5pdChGTUNfTkFORF9UeXBlRGVmICpEZXZpY2UsIHVpbnQzMl90IEJhbmspOwogLyoqCiAgICogQH0KICAgKi8KIAotLyoqIEBkZWZncm91cCBGTUNfTExfTkFORF9Qcml2YXRlX0Z1bmN0aW9uc19Hcm91cDIgTkFORCBDb250cm9sIGZ1bmN0aW9ucyAKKy8qKiBAZGVmZ3JvdXAgRk1DX0xMX05BTkRfUHJpdmF0ZV9GdW5jdGlvbnNfR3JvdXAyIE5BTkQgQ29udHJvbCBmdW5jdGlvbnMKICAgKiAgQHsKICAgKi8KIEhBTF9TdGF0dXNUeXBlRGVmICBGTUNfTkFORF9FQ0NfRW5hYmxlKEZNQ19OQU5EX1R5cGVEZWYgKkRldmljZSwgdWludDMyX3QgQmFuayk7CiBIQUxfU3RhdHVzVHlwZURlZiAgRk1DX05BTkRfRUNDX0Rpc2FibGUoRk1DX05BTkRfVHlwZURlZiAqRGV2aWNlLCB1aW50MzJfdCBCYW5rKTsKLUhBTF9TdGF0dXNUeXBlRGVmICBGTUNfTkFORF9HZXRFQ0MoRk1DX05BTkRfVHlwZURlZiAqRGV2aWNlLCB1aW50MzJfdCAqRUNDdmFsLCB1aW50MzJfdCBCYW5rLCB1aW50MzJfdCBUaW1lb3V0KTsKK0hBTF9TdGF0dXNUeXBlRGVmICBGTUNfTkFORF9HZXRFQ0MoRk1DX05BTkRfVHlwZURlZiAqRGV2aWNlLCB1aW50MzJfdCAqRUNDdmFsLCB1aW50MzJfdCBCYW5rLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBUaW1lb3V0KTsKKy8qKgorICAqIEB9CisgICovCisvKioKKyAgKiBAfQorICAqLworI2VuZGlmIC8qIEZNQ19CYW5rMykgfHwgZGVmaW5lZChGTUNfQmFuazJfMyAqLwogCi0vKioKLSAgKiBAfQotICAqLwotLyoqCi0gICogQH0KLSAgKi8KLSNpZiBkZWZpbmVkKFNUTTMyRjQyN3h4KSB8fCBkZWZpbmVkKFNUTTMyRjQzN3h4KSB8fCBkZWZpbmVkKFNUTTMyRjQyOXh4KSB8fCBkZWZpbmVkKFNUTTMyRjQzOXh4KQorI2lmIGRlZmluZWQoRk1DX0Jhbms0KQogLyoqIEBkZWZncm91cCBGTUNfTExfUENDQVJEIFBDQ0FSRAogICAqICBAewogICAqLwotLyoqIEBkZWZncm91cCBGTUNfTExfUENDQVJEX1ByaXZhdGVfRnVuY3Rpb25zX0dyb3VwMSBQQ0NBUkQgSW5pdGlhbGl6YXRpb24vZGUtaW5pdGlhbGl6YXRpb24gZnVuY3Rpb25zIAorLyoqIEBkZWZncm91cCBGTUNfTExfUENDQVJEX1ByaXZhdGVfRnVuY3Rpb25zX0dyb3VwMSBQQ0NBUkQgSW5pdGlhbGl6YXRpb24vZGUtaW5pdGlhbGl6YXRpb24gZnVuY3Rpb25zCiAgICogIEB7CiAgICovCiBIQUxfU3RhdHVzVHlwZURlZiAgRk1DX1BDQ0FSRF9Jbml0KEZNQ19QQ0NBUkRfVHlwZURlZiAqRGV2aWNlLCBGTUNfUENDQVJEX0luaXRUeXBlRGVmICpJbml0KTsKLUhBTF9TdGF0dXNUeXBlRGVmICBGTUNfUENDQVJEX0NvbW1vblNwYWNlX1RpbWluZ19Jbml0KEZNQ19QQ0NBUkRfVHlwZURlZiAqRGV2aWNlLCBGTUNfTkFORF9QQ0NfVGltaW5nVHlwZURlZiAqVGltaW5nKTsKLUhBTF9TdGF0dXNUeXBlRGVmICBGTUNfUENDQVJEX0F0dHJpYnV0ZVNwYWNlX1RpbWluZ19Jbml0KEZNQ19QQ0NBUkRfVHlwZURlZiAqRGV2aWNlLCBGTUNfTkFORF9QQ0NfVGltaW5nVHlwZURlZiAqVGltaW5nKTsKLUhBTF9TdGF0dXNUeXBlRGVmICBGTUNfUENDQVJEX0lPU3BhY2VfVGltaW5nX0luaXQoRk1DX1BDQ0FSRF9UeXBlRGVmICpEZXZpY2UsIEZNQ19OQU5EX1BDQ19UaW1pbmdUeXBlRGVmICpUaW1pbmcpOyAKK0hBTF9TdGF0dXNUeXBlRGVmICBGTUNfUENDQVJEX0NvbW1vblNwYWNlX1RpbWluZ19Jbml0KEZNQ19QQ0NBUkRfVHlwZURlZiAqRGV2aWNlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRk1DX05BTkRfUENDX1RpbWluZ1R5cGVEZWYgKlRpbWluZyk7CitIQUxfU3RhdHVzVHlwZURlZiAgRk1DX1BDQ0FSRF9BdHRyaWJ1dGVTcGFjZV9UaW1pbmdfSW5pdChGTUNfUENDQVJEX1R5cGVEZWYgKkRldmljZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZNQ19OQU5EX1BDQ19UaW1pbmdUeXBlRGVmICpUaW1pbmcpOworSEFMX1N0YXR1c1R5cGVEZWYgIEZNQ19QQ0NBUkRfSU9TcGFjZV9UaW1pbmdfSW5pdChGTUNfUENDQVJEX1R5cGVEZWYgKkRldmljZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRk1DX05BTkRfUENDX1RpbWluZ1R5cGVEZWYgKlRpbWluZyk7CiBIQUxfU3RhdHVzVHlwZURlZiAgRk1DX1BDQ0FSRF9EZUluaXQoRk1DX1BDQ0FSRF9UeXBlRGVmICpEZXZpY2UpOwogLyoqCiAgICogQH0KQEAgLTEzNTEsMjkgKzEzNjEsMzMgQEAKIC8qKgogICAqIEB9CiAgICovCi0jZW5kaWYgLyogU1RNMzJGNDI3eHggfHwgU1RNMzJGNDM3eHggfHwgU1RNMzJGNDI5eHggfHwgU1RNMzJGNDM5eHggKi8KKyNlbmRpZiAvKiBGTUNfQmFuazQgKi8KIAorI2lmIGRlZmluZWQoRk1DX0Jhbms1XzYpCiAvKiogQGRlZmdyb3VwIEZNQ19MTF9TRFJBTSBTRFJBTQogICAqICBAewogICAqLwotLyoqIEBkZWZncm91cCBGTUNfTExfU0RSQU1fUHJpdmF0ZV9GdW5jdGlvbnNfR3JvdXAxIFNEUkFNIEluaXRpYWxpemF0aW9uL2RlLWluaXRpYWxpemF0aW9uIGZ1bmN0aW9ucyAKKy8qKiBAZGVmZ3JvdXAgRk1DX0xMX1NEUkFNX1ByaXZhdGVfRnVuY3Rpb25zX0dyb3VwMSBTRFJBTSBJbml0aWFsaXphdGlvbi9kZS1pbml0aWFsaXphdGlvbiBmdW5jdGlvbnMKICAgKiAgQHsKICAgKi8KIEhBTF9TdGF0dXNUeXBlRGVmICBGTUNfU0RSQU1fSW5pdChGTUNfU0RSQU1fVHlwZURlZiAqRGV2aWNlLCBGTUNfU0RSQU1fSW5pdFR5cGVEZWYgKkluaXQpOwotSEFMX1N0YXR1c1R5cGVEZWYgIEZNQ19TRFJBTV9UaW1pbmdfSW5pdChGTUNfU0RSQU1fVHlwZURlZiAqRGV2aWNlLCBGTUNfU0RSQU1fVGltaW5nVHlwZURlZiAqVGltaW5nLCB1aW50MzJfdCBCYW5rKTsKK0hBTF9TdGF0dXNUeXBlRGVmICBGTUNfU0RSQU1fVGltaW5nX0luaXQoRk1DX1NEUkFNX1R5cGVEZWYgKkRldmljZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRk1DX1NEUkFNX1RpbWluZ1R5cGVEZWYgKlRpbWluZywgdWludDMyX3QgQmFuayk7CiBIQUxfU3RhdHVzVHlwZURlZiAgRk1DX1NEUkFNX0RlSW5pdChGTUNfU0RSQU1fVHlwZURlZiAqRGV2aWNlLCB1aW50MzJfdCBCYW5rKTsKIC8qKgogICAqIEB9CiAgICovCiAKLS8qKiBAZGVmZ3JvdXAgRk1DX0xMX1NEUkFNX1ByaXZhdGVfRnVuY3Rpb25zX0dyb3VwMiBTRFJBTSBDb250cm9sIGZ1bmN0aW9ucyAKKy8qKiBAZGVmZ3JvdXAgRk1DX0xMX1NEUkFNX1ByaXZhdGVfRnVuY3Rpb25zX0dyb3VwMiBTRFJBTSBDb250cm9sIGZ1bmN0aW9ucwogICAqICBAewogICAqLwogSEFMX1N0YXR1c1R5cGVEZWYgIEZNQ19TRFJBTV9Xcml0ZVByb3RlY3Rpb25fRW5hYmxlKEZNQ19TRFJBTV9UeXBlRGVmICpEZXZpY2UsIHVpbnQzMl90IEJhbmspOwogSEFMX1N0YXR1c1R5cGVEZWYgIEZNQ19TRFJBTV9Xcml0ZVByb3RlY3Rpb25fRGlzYWJsZShGTUNfU0RSQU1fVHlwZURlZiAqRGV2aWNlLCB1aW50MzJfdCBCYW5rKTsKLUhBTF9TdGF0dXNUeXBlRGVmICBGTUNfU0RSQU1fU2VuZENvbW1hbmQoRk1DX1NEUkFNX1R5cGVEZWYgKkRldmljZSwgRk1DX1NEUkFNX0NvbW1hbmRUeXBlRGVmICpDb21tYW5kLCB1aW50MzJfdCBUaW1lb3V0KTsKK0hBTF9TdGF0dXNUeXBlRGVmICBGTUNfU0RSQU1fU2VuZENvbW1hbmQoRk1DX1NEUkFNX1R5cGVEZWYgKkRldmljZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRk1DX1NEUkFNX0NvbW1hbmRUeXBlRGVmICpDb21tYW5kLCB1aW50MzJfdCBUaW1lb3V0KTsKIEhBTF9TdGF0dXNUeXBlRGVmICBGTUNfU0RSQU1fUHJvZ3JhbVJlZnJlc2hSYXRlKEZNQ19TRFJBTV9UeXBlRGVmICpEZXZpY2UsIHVpbnQzMl90IFJlZnJlc2hSYXRlKTsKLUhBTF9TdGF0dXNUeXBlRGVmICBGTUNfU0RSQU1fU2V0QXV0b1JlZnJlc2hOdW1iZXIoRk1DX1NEUkFNX1R5cGVEZWYgKkRldmljZSwgdWludDMyX3QgQXV0b1JlZnJlc2hOdW1iZXIpOworSEFMX1N0YXR1c1R5cGVEZWYgIEZNQ19TRFJBTV9TZXRBdXRvUmVmcmVzaE51bWJlcihGTUNfU0RSQU1fVHlwZURlZiAqRGV2aWNlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBBdXRvUmVmcmVzaE51bWJlcik7CiB1aW50MzJfdCAgICAgICAgICAgRk1DX1NEUkFNX0dldE1vZGVTdGF0dXMoRk1DX1NEUkFNX1R5cGVEZWYgKkRldmljZSwgdWludDMyX3QgQmFuayk7CiAvKioKICAgKiBAfQpAQCAtMTM4MSwxMiArMTM5NSwxMiBAQAogLyoqCiAgICogQH0KICAgKi8KKyNlbmRpZiAvKiBGTUNfQmFuazVfNiAqLwogCiAvKioKICAgKiBAfQogICAqLwogCi0jZW5kaWYgLyogU1RNMzJGNDI3eHggfHwgU1RNMzJGNDM3eHggfHwgU1RNMzJGNDI5eHggfHwgU1RNMzJGNDM5eHggfHwgU1RNMzJGNDQ2eHggfHwgU1RNMzJGNDY5eHggfHwgU1RNMzJGNDc5eHggKi8KIC8qKgogICAqIEB9CiAgICovCkBAIC0xMzk0LDEwICsxNDA4LDkgQEAKIC8qKgogICAqIEB9CiAgICovCisKICNpZmRlZiBfX2NwbHVzcGx1cwogfQogI2VuZGlmCiAKLSNlbmRpZiAvKiBfX1NUTTMyRjR4eF9MTF9GTUNfSCAqLwotCi0vKioqKioqKioqKioqKioqKioqKioqKioqIChDKSBDT1BZUklHSFQgU1RNaWNyb2VsZWN0cm9uaWNzICoqKioqRU5EIE9GIEZJTEUqKioqLworI2VuZGlmIC8qIFNUTTMyRjR4eF9MTF9GTUNfSCAqLwpkaWZmIC0tZ2l0IGEvSW5jL3N0bTMyZjR4eF9sbF9mbXBpMmMuaCBiL0luYy9zdG0zMmY0eHhfbGxfZm1waTJjLmgKaW5kZXggZGQwOGI3Ny4uZGNjMDAxNiAxMDA2NDQKLS0tIGEvSW5jL3N0bTMyZjR4eF9sbF9mbXBpMmMuaAorKysgYi9JbmMvc3RtMzJmNHh4X2xsX2ZtcGkyYy5oCkBAIC02LDEzICs2LDEyIEBACiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqIEBhdHRlbnRpb24KICAgKgotICAqIDxoMj48Y2VudGVyPiZjb3B5OyBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9jZW50ZXI+PC9oMj4KKyAgKiBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgorICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICoKLSAgKiBUaGlzIHNvZnR3YXJlIGNvbXBvbmVudCBpcyBsaWNlbnNlZCBieSBTVCB1bmRlciBCU0QgMy1DbGF1c2UgbGljZW5zZSwKLSAgKiB0aGUgIkxpY2Vuc2UiOyBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlCi0gICogTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0OgotICAqICAgICAgICAgICAgICAgICAgICAgICAgb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvQlNELTMtQ2xhdXNlCisgICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciB0ZXJtcyB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlCisgICogaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc29mdHdhcmUgY29tcG9uZW50LgorICAqIElmIG5vIExJQ0VOU0UgZmlsZSBjb21lcyB3aXRoIHRoaXMgc29mdHdhcmUsIGl0IGlzIHByb3ZpZGVkIEFTLUlTLgogICAqCiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqLwpAQCAtMTIyOSw3ICsxMjI4LDcgQEAKIF9fU1RBVElDX0lOTElORSB1aW50MzJfdCBMTF9GTVBJMkNfSXNFbmFibGVkU01CdXNUaW1lb3V0KEZNUEkyQ19UeXBlRGVmICpGTVBJMkN4LCB1aW50MzJfdCBDbG9ja1RpbWVvdXQpCiB7CiAgIHJldHVybiAoKFJFQURfQklUKEZNUEkyQ3gtPlRJTUVPVVRSLCAoRk1QSTJDX1RJTUVPVVRSX1RJTU9VVEVOIHwgRk1QSTJDX1RJTUVPVVRSX1RFWFRFTikpID09IFwKLSAgICAgICAgICAgICAgICAgICAgKENsb2NrVGltZW91dCkpID8gMVVMIDogMFVMKTsKKyAgICAgICAgICAgKENsb2NrVGltZW91dCkpID8gMVVMIDogMFVMKTsKIH0KIAogLyoqCkBAIC0yMjMzLDUgKzIyMzIsMyBAQAogI2VuZGlmCiAKICNlbmRpZiAvKiBTVE0zMkY0eHhfTExfRk1QSTJDX0ggKi8KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKiAoQykgQ09QWVJJR0hUIFNUTWljcm9lbGVjdHJvbmljcyAqKioqKkVORCBPRiBGSUxFKioqKi8KZGlmZiAtLWdpdCBhL0luYy9zdG0zMmY0eHhfbGxfZnNtYy5oIGIvSW5jL3N0bTMyZjR4eF9sbF9mc21jLmgKaW5kZXggMTJmM2ExNC4uOGIwY2ViNyAxMDA2NDQKLS0tIGEvSW5jL3N0bTMyZjR4eF9sbF9mc21jLmgKKysrIGIvSW5jL3N0bTMyZjR4eF9sbF9mc21jLmgKQEAgLTYsMjMgKzYsMjIgQEAKICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICogQGF0dGVudGlvbgogICAqCi0gICogPGgyPjxjZW50ZXI+JmNvcHk7IENvcHlyaWdodCAoYykgMjAxNyBTVE1pY3JvZWxlY3Ryb25pY3MuCi0gICogQWxsIHJpZ2h0cyByZXNlcnZlZC48L2NlbnRlcj48L2gyPgorICAqIENvcHlyaWdodCAoYykgMjAxNiBTVE1pY3JvZWxlY3Ryb25pY3MuCisgICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgKgotICAqIFRoaXMgc29mdHdhcmUgY29tcG9uZW50IGlzIGxpY2Vuc2VkIGJ5IFNUIHVuZGVyIEJTRCAzLUNsYXVzZSBsaWNlbnNlLAotICAqIHRoZSAiTGljZW5zZSI7IFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUKLSAgKiBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQ6Ci0gICogICAgICAgICAgICAgICAgICAgICAgICBvcGVuc291cmNlLm9yZy9saWNlbnNlcy9CU0QtMy1DbGF1c2UKKyAgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIHVuZGVyIHRlcm1zIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUKKyAgKiBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb2Z0d2FyZSBjb21wb25lbnQuCisgICogSWYgbm8gTElDRU5TRSBmaWxlIGNvbWVzIHdpdGggdGhpcyBzb2Z0d2FyZSwgaXQgaXMgcHJvdmlkZWQgQVMtSVMuCiAgICoKICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gICovIAorICAqLwogCiAvKiBEZWZpbmUgdG8gcHJldmVudCByZWN1cnNpdmUgaW5jbHVzaW9uIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwotI2lmbmRlZiBfX1NUTTMyRjR4eF9MTF9GU01DX0gKLSNkZWZpbmUgX19TVE0zMkY0eHhfTExfRlNNQ19ICisjaWZuZGVmIFNUTTMyRjR4eF9MTF9GU01DX0gKKyNkZWZpbmUgU1RNMzJGNHh4X0xMX0ZTTUNfSAogCiAjaWZkZWYgX19jcGx1c3BsdXMKLSBleHRlcm4gIkMiIHsKK2V4dGVybiAiQyIgewogI2VuZGlmCiAKIC8qIEluY2x1ZGVzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCkBAIC0zMSwxNTIgKzMwLDI3MSBAQAogLyoqIEBhZGR0b2dyb3VwIFNUTTMyRjR4eF9IQUxfRHJpdmVyCiAgICogQHsKICAgKi8KLSAgIAorCiAvKiogQGFkZHRvZ3JvdXAgRlNNQ19MTAogICAqIEB7CiAgICovCiAKLSNpZiBkZWZpbmVkKFNUTTMyRjQwNXh4KSB8fCBkZWZpbmVkKFNUTTMyRjQxNXh4KSB8fCBkZWZpbmVkKFNUTTMyRjQwN3h4KSB8fCBkZWZpbmVkKFNUTTMyRjQxN3h4KSB8fCBkZWZpbmVkKFNUTTMyRjQxMlp4KSB8fFwKLSAgICBkZWZpbmVkKFNUTTMyRjQxMlZ4KSB8fCBkZWZpbmVkKFNUTTMyRjQxMlJ4KSB8fCBkZWZpbmVkKFNUTTMyRjQxM3h4KSB8fCBkZWZpbmVkKFNUTTMyRjQyM3h4KQotLyogUHJpdmF0ZSB0eXBlcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KLS8qKiBAZGVmZ3JvdXAgRlNNQ19MTF9Qcml2YXRlX1R5cGVzIEZTTUMgUHJpdmF0ZSBUeXBlcworLyoqIEBhZGR0b2dyb3VwIEZTTUNfTExfUHJpdmF0ZV9NYWNyb3MKKyAgKiBAeworICAqLworI2lmIGRlZmluZWQoRlNNQ19CYW5rMSkKKworI2RlZmluZSBJU19GU01DX05PUlNSQU1fQkFOSyhfX0JBTktfXykgKCgoX19CQU5LX18pID09IEZTTUNfTk9SU1JBTV9CQU5LMSkgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChfX0JBTktfXykgPT0gRlNNQ19OT1JTUkFNX0JBTksyKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fQkFOS19fKSA9PSBGU01DX05PUlNSQU1fQkFOSzMpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoX19CQU5LX18pID09IEZTTUNfTk9SU1JBTV9CQU5LNCkpCisjZGVmaW5lIElTX0ZTTUNfTVVYKF9fTVVYX18pICgoKF9fTVVYX18pID09IEZTTUNfREFUQV9BRERSRVNTX01VWF9ESVNBQkxFKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoX19NVVhfXykgPT0gRlNNQ19EQVRBX0FERFJFU1NfTVVYX0VOQUJMRSkpCisjZGVmaW5lIElTX0ZTTUNfTUVNT1JZKF9fTUVNT1JZX18pICgoKF9fTUVNT1JZX18pID09IEZTTUNfTUVNT1JZX1RZUEVfU1JBTSkgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fTUVNT1JZX18pID09IEZTTUNfTUVNT1JZX1RZUEVfUFNSQU0pfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fTUVNT1JZX18pID09IEZTTUNfTUVNT1JZX1RZUEVfTk9SKSkKKyNkZWZpbmUgSVNfRlNNQ19OT1JTUkFNX01FTU9SWV9XSURUSChfX1dJRFRIX18pICgoKF9fV0lEVEhfXykgPT0gRlNNQ19OT1JTUkFNX01FTV9CVVNfV0lEVEhfOCkgIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoX19XSURUSF9fKSA9PSBGU01DX05PUlNSQU1fTUVNX0JVU19XSURUSF8xNikgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChfX1dJRFRIX18pID09IEZTTUNfTk9SU1JBTV9NRU1fQlVTX1dJRFRIXzMyKSkKKyNkZWZpbmUgSVNfRlNNQ19QQUdFU0laRShfX1NJWkVfXykgKCgoX19TSVpFX18pID09IEZTTUNfUEFHRV9TSVpFX05PTkUpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChfX1NJWkVfXykgPT0gRlNNQ19QQUdFX1NJWkVfMTI4KSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoX19TSVpFX18pID09IEZTTUNfUEFHRV9TSVpFXzI1NikgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fU0laRV9fKSA9PSBGU01DX1BBR0VfU0laRV81MTIpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChfX1NJWkVfXykgPT0gRlNNQ19QQUdFX1NJWkVfMTAyNCkpCisjaWYgZGVmaW5lZChGU01DX0JDUjFfV0ZESVMpCisjZGVmaW5lIElTX0ZTTUNfV1JJVEVfRklGTyhfX0ZJRk9fXykgKCgoX19GSUZPX18pID09IEZTTUNfV1JJVEVfRklGT19ESVNBQkxFKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChfX0ZJRk9fXykgPT0gRlNNQ19XUklURV9GSUZPX0VOQUJMRSkpCisjZW5kaWYgLyogRlNNQ19CQ1IxX1dGRElTICovCisjZGVmaW5lIElTX0ZTTUNfQUNDRVNTX01PREUoX19NT0RFX18pICgoKF9fTU9ERV9fKSA9PSBGU01DX0FDQ0VTU19NT0RFX0EpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChfX01PREVfXykgPT0gRlNNQ19BQ0NFU1NfTU9ERV9CKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoX19NT0RFX18pID09IEZTTUNfQUNDRVNTX01PREVfQykgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fTU9ERV9fKSA9PSBGU01DX0FDQ0VTU19NT0RFX0QpKQorI2RlZmluZSBJU19GU01DX0JVUlNUTU9ERShfX1NUQVRFX18pICgoKF9fU1RBVEVfXykgPT0gRlNNQ19CVVJTVF9BQ0NFU1NfTU9ERV9ESVNBQkxFKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChfX1NUQVRFX18pID09IEZTTUNfQlVSU1RfQUNDRVNTX01PREVfRU5BQkxFKSkKKyNkZWZpbmUgSVNfRlNNQ19XQUlUX1BPTEFSSVRZKF9fUE9MQVJJVFlfXykgKCgoX19QT0xBUklUWV9fKSA9PSBGU01DX1dBSVRfU0lHTkFMX1BPTEFSSVRZX0xPVykgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fUE9MQVJJVFlfXykgPT0gRlNNQ19XQUlUX1NJR05BTF9QT0xBUklUWV9ISUdIKSkKKyNkZWZpbmUgSVNfRlNNQ19XUkFQX01PREUoX19NT0RFX18pICgoKF9fTU9ERV9fKSA9PSBGU01DX1dSQVBfTU9ERV9ESVNBQkxFKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fTU9ERV9fKSA9PSBGU01DX1dSQVBfTU9ERV9FTkFCTEUpKQorI2RlZmluZSBJU19GU01DX1dBSVRfU0lHTkFMX0FDVElWRShfX0FDVElWRV9fKSAoKChfX0FDVElWRV9fKSA9PSBGU01DX1dBSVRfVElNSU5HX0JFRk9SRV9XUykgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fQUNUSVZFX18pID09IEZTTUNfV0FJVF9USU1JTkdfRFVSSU5HX1dTKSkKKyNkZWZpbmUgSVNfRlNNQ19XUklURV9PUEVSQVRJT04oX19PUEVSQVRJT05fXykgKCgoX19PUEVSQVRJT05fXykgPT0gRlNNQ19XUklURV9PUEVSQVRJT05fRElTQUJMRSkgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fT1BFUkFUSU9OX18pID09IEZTTUNfV1JJVEVfT1BFUkFUSU9OX0VOQUJMRSkpCisjZGVmaW5lIElTX0ZTTUNfV0FJVEVfU0lHTkFMKF9fU0lHTkFMX18pICgoKF9fU0lHTkFMX18pID09IEZTTUNfV0FJVF9TSUdOQUxfRElTQUJMRSkgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fU0lHTkFMX18pID09IEZTTUNfV0FJVF9TSUdOQUxfRU5BQkxFKSkKKyNkZWZpbmUgSVNfRlNNQ19FWFRFTkRFRF9NT0RFKF9fTU9ERV9fKSAoKChfX01PREVfXykgPT0gRlNNQ19FWFRFTkRFRF9NT0RFX0RJU0FCTEUpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fTU9ERV9fKSA9PSBGU01DX0VYVEVOREVEX01PREVfRU5BQkxFKSkKKyNkZWZpbmUgSVNfRlNNQ19BU1lOV0FJVChfX1NUQVRFX18pICgoKF9fU1RBVEVfXykgPT0gRlNNQ19BU1lOQ0hST05PVVNfV0FJVF9ESVNBQkxFKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fU1RBVEVfXykgPT0gRlNNQ19BU1lOQ0hST05PVVNfV0FJVF9FTkFCTEUpKQorI2RlZmluZSBJU19GU01DX0RBVEFfTEFURU5DWShfX0xBVEVOQ1lfXykgKCgoX19MQVRFTkNZX18pID4gMVUpICYmICgoX19MQVRFTkNZX18pIDw9IDE3VSkpCisjZGVmaW5lIElTX0ZTTUNfV1JJVEVfQlVSU1QoX19CVVJTVF9fKSAoKChfX0JVUlNUX18pID09IEZTTUNfV1JJVEVfQlVSU1RfRElTQUJMRSkgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChfX0JVUlNUX18pID09IEZTTUNfV1JJVEVfQlVSU1RfRU5BQkxFKSkKKyNkZWZpbmUgSVNfRlNNQ19DT05USU5PVVNfQ0xPQ0soX19DQ0xPQ0tfXykgKCgoX19DQ0xPQ0tfXykgPT0gRlNNQ19DT05USU5VT1VTX0NMT0NLX1NZTkNfT05MWSkgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fQ0NMT0NLX18pID09IEZTTUNfQ09OVElOVU9VU19DTE9DS19TWU5DX0FTWU5DKSkKKyNkZWZpbmUgSVNfRlNNQ19BRERSRVNTX1NFVFVQX1RJTUUoX19USU1FX18pICgoX19USU1FX18pIDw9IDE1VSkKKyNkZWZpbmUgSVNfRlNNQ19BRERSRVNTX0hPTERfVElNRShfX1RJTUVfXykgKCgoX19USU1FX18pID4gMFUpICYmICgoX19USU1FX18pIDw9IDE1VSkpCisjZGVmaW5lIElTX0ZTTUNfREFUQVNFVFVQX1RJTUUoX19USU1FX18pICgoKF9fVElNRV9fKSA+IDBVKSAmJiAoKF9fVElNRV9fKSA8PSAyNTVVKSkKKyNkZWZpbmUgSVNfRlNNQ19EQVRBSE9MRF9EVVJBVElPTihfX0RBVEFIT0xEX18pICgoX19EQVRBSE9MRF9fKSA8PSAzVSkKKyNkZWZpbmUgSVNfRlNNQ19UVVJOQVJPVU5EX1RJTUUoX19USU1FX18pICgoX19USU1FX18pIDw9IDE1VSkKKyNkZWZpbmUgSVNfRlNNQ19DTEtfRElWKF9fRElWX18pICgoKF9fRElWX18pID4gMVUpICYmICgoX19ESVZfXykgPD0gMTZVKSkKKyNkZWZpbmUgSVNfRlNNQ19OT1JTUkFNX0RFVklDRShfX0lOU1RBTkNFX18pICgoX19JTlNUQU5DRV9fKSA9PSBGU01DX05PUlNSQU1fREVWSUNFKQorI2RlZmluZSBJU19GU01DX05PUlNSQU1fRVhURU5ERURfREVWSUNFKF9fSU5TVEFOQ0VfXykgKChfX0lOU1RBTkNFX18pID09IEZTTUNfTk9SU1JBTV9FWFRFTkRFRF9ERVZJQ0UpCisKKyNlbmRpZiAvKiBGU01DX0JhbmsxICovCisjaWYgIGRlZmluZWQoRlNNQ19CYW5rMl8zKQorCisjZGVmaW5lIElTX0ZTTUNfTkFORF9CQU5LKF9fQkFOS19fKSAoKChfX0JBTktfXykgPT0gRlNNQ19OQU5EX0JBTksyKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoX19CQU5LX18pID09IEZTTUNfTkFORF9CQU5LMykpCisjZGVmaW5lIElTX0ZTTUNfV0FJVF9GRUFUVVJFKF9fRkVBVFVSRV9fKSAoKChfX0ZFQVRVUkVfXykgPT0gRlNNQ19OQU5EX1BDQ19XQUlUX0ZFQVRVUkVfRElTQUJMRSkgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChfX0ZFQVRVUkVfXykgPT0gRlNNQ19OQU5EX1BDQ19XQUlUX0ZFQVRVUkVfRU5BQkxFKSkKKyNkZWZpbmUgSVNfRlNNQ19OQU5EX01FTU9SWV9XSURUSChfX1dJRFRIX18pICgoKF9fV0lEVEhfXykgPT0gRlNNQ19OQU5EX1BDQ19NRU1fQlVTX1dJRFRIXzgpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoX19XSURUSF9fKSA9PSBGU01DX05BTkRfUENDX01FTV9CVVNfV0lEVEhfMTYpKQorI2RlZmluZSBJU19GU01DX0VDQ19TVEFURShfX1NUQVRFX18pICgoKF9fU1RBVEVfXykgPT0gRlNNQ19OQU5EX0VDQ19ESVNBQkxFKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChfX1NUQVRFX18pID09IEZTTUNfTkFORF9FQ0NfRU5BQkxFKSkKKworI2RlZmluZSBJU19GU01DX0VDQ1BBR0VfU0laRShfX1NJWkVfXykgKCgoX19TSVpFX18pID09IEZTTUNfTkFORF9FQ0NfUEFHRV9TSVpFXzI1NkJZVEUpICB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fU0laRV9fKSA9PSBGU01DX05BTkRfRUNDX1BBR0VfU0laRV81MTJCWVRFKSAgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChfX1NJWkVfXykgPT0gRlNNQ19OQU5EX0VDQ19QQUdFX1NJWkVfMTAyNEJZVEUpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoX19TSVpFX18pID09IEZTTUNfTkFORF9FQ0NfUEFHRV9TSVpFXzIwNDhCWVRFKSB8fCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fU0laRV9fKSA9PSBGU01DX05BTkRfRUNDX1BBR0VfU0laRV80MDk2QllURSkgfHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChfX1NJWkVfXykgPT0gRlNNQ19OQU5EX0VDQ19QQUdFX1NJWkVfODE5MkJZVEUpKQorI2RlZmluZSBJU19GU01DX1RDTFJfVElNRShfX1RJTUVfXykgKChfX1RJTUVfXykgPD0gMjU1VSkKKyNkZWZpbmUgSVNfRlNNQ19UQVJfVElNRShfX1RJTUVfXykgKChfX1RJTUVfXykgPD0gMjU1VSkKKyNkZWZpbmUgSVNfRlNNQ19TRVRVUF9USU1FKF9fVElNRV9fKSAoKF9fVElNRV9fKSA8PSAyNTRVKQorI2RlZmluZSBJU19GU01DX1dBSVRfVElNRShfX1RJTUVfXykgKChfX1RJTUVfXykgPD0gMjU0VSkKKyNkZWZpbmUgSVNfRlNNQ19IT0xEX1RJTUUoX19USU1FX18pICgoX19USU1FX18pIDw9IDI1NFUpCisjZGVmaW5lIElTX0ZTTUNfSElaX1RJTUUoX19USU1FX18pICgoX19USU1FX18pIDw9IDI1NFUpCisjZGVmaW5lIElTX0ZTTUNfTkFORF9ERVZJQ0UoX19JTlNUQU5DRV9fKSAoKF9fSU5TVEFOQ0VfXykgPT0gRlNNQ19OQU5EX0RFVklDRSkKKworI2VuZGlmIC8qIEZTTUNfQmFuazJfMyAqLworI2lmIGRlZmluZWQoRlNNQ19CYW5rNCkKKyNkZWZpbmUgSVNfRlNNQ19QQ0NBUkRfREVWSUNFKF9fSU5TVEFOQ0VfXykgKChfX0lOU1RBTkNFX18pID09IEZTTUNfUENDQVJEX0RFVklDRSkKKworI2VuZGlmIC8qIEZTTUNfQmFuazQgKi8KKworLyoqCisgICogQH0KKyAgKi8KKworLyogRXhwb3J0ZWQgdHlwZWRlZiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworLyoqIEBkZWZncm91cCBGU01DX0xMX0V4cG9ydGVkX3R5cGVkZWYgRlNNQyBMb3cgTGF5ZXIgRXhwb3J0ZWQgVHlwZXMKICAgKiBAewogICAqLwogCi0vKiogCi0gICogQGJyaWVmIEZTTUMgTk9SU1JBTSBDb25maWd1cmF0aW9uIFN0cnVjdHVyZSBkZWZpbml0aW9uCi0gICovIAorI2lmIGRlZmluZWQoRlNNQ19CYW5rMSkKKyNkZWZpbmUgRlNNQ19OT1JTUkFNX1R5cGVEZWYgICAgICAgICAgICBGU01DX0JhbmsxX1R5cGVEZWYKKyNkZWZpbmUgRlNNQ19OT1JTUkFNX0VYVEVOREVEX1R5cGVEZWYgICBGU01DX0JhbmsxRV9UeXBlRGVmCisjZW5kaWYgLyogRlNNQ19CYW5rMSAqLworI2lmIGRlZmluZWQoRlNNQ19CYW5rMl8zKQorI2RlZmluZSBGU01DX05BTkRfVHlwZURlZiAgICAgICAgICAgICAgIEZTTUNfQmFuazJfM19UeXBlRGVmCisjZW5kaWYgLyogRlNNQ19CYW5rMl8zICovCisjaWYgZGVmaW5lZChGU01DX0Jhbms0KQorI2RlZmluZSBGU01DX1BDQ0FSRF9UeXBlRGVmICAgICAgICAgICAgIEZTTUNfQmFuazRfVHlwZURlZgorI2VuZGlmIC8qIEZTTUNfQmFuazQgKi8KKworI2lmIGRlZmluZWQoRlNNQ19CYW5rMSkKKyNkZWZpbmUgRlNNQ19OT1JTUkFNX0RFVklDRSAgICAgICAgICAgICBGU01DX0JhbmsxCisjZGVmaW5lIEZTTUNfTk9SU1JBTV9FWFRFTkRFRF9ERVZJQ0UgICAgRlNNQ19CYW5rMUUKKyNlbmRpZiAvKiBGU01DX0JhbmsxICovCisjaWYgZGVmaW5lZChGU01DX0JhbmsyXzMpCisjZGVmaW5lIEZTTUNfTkFORF9ERVZJQ0UgICAgICAgICAgICAgICAgRlNNQ19CYW5rMl8zCisjZW5kaWYgLyogRlNNQ19CYW5rMl8zICovCisjaWYgZGVmaW5lZChGU01DX0Jhbms0KQorI2RlZmluZSBGU01DX1BDQ0FSRF9ERVZJQ0UgICAgICAgICAgICAgIEZTTUNfQmFuazQKKyNlbmRpZiAvKiBGU01DX0Jhbms0ICovCisKKyNpZiBkZWZpbmVkKEZTTUNfQmFuazEpCisvKioKKyAgKiBAYnJpZWYgIEZTTUMgTk9SU1JBTSBDb25maWd1cmF0aW9uIFN0cnVjdHVyZSBkZWZpbml0aW9uCisgICovCiB0eXBlZGVmIHN0cnVjdAogewogICB1aW50MzJfdCBOU0Jhbms7ICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNwZWNpZmllcyB0aGUgTk9SU1JBTSBtZW1vcnkgZGV2aWNlIHRoYXQgd2lsbCBiZSB1c2VkLgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIG9mIEByZWYgRlNNQ19OT1JTUkFNX0JhbmsgICAgICAgICAgICAgICAgICAgICAqLworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIG9mIEByZWYgRlNNQ19OT1JTUkFNX0JhbmsgICAgICAgICAgICAgICAgICAqLwogCiAgIHVpbnQzMl90IERhdGFBZGRyZXNzTXV4OyAgICAgICAgICAgICAgIC8qITwgU3BlY2lmaWVzIHdoZXRoZXIgdGhlIGFkZHJlc3MgYW5kIGRhdGEgdmFsdWVzIGFyZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG11bHRpcGxleGVkIG9uIHRoZSBkYXRhIGJ1cyBvciBub3QuIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIG9mIEByZWYgRlNNQ19EYXRhX0FkZHJlc3NfQnVzX011bHRpcGxleGluZyAgICAqLworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG11bHRpcGxleGVkIG9uIHRoZSBkYXRhIGJ1cyBvciBub3QuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGEgdmFsdWUgb2YgQHJlZiBGU01DX0RhdGFfQWRkcmVzc19CdXNfTXVsdGlwbGV4aW5nICovCiAKICAgdWludDMyX3QgTWVtb3J5VHlwZTsgICAgICAgICAgICAgICAgICAgLyohPCBTcGVjaWZpZXMgdGhlIHR5cGUgb2YgZXh0ZXJuYWwgbWVtb3J5IGF0dGFjaGVkIHRvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIGNvcnJlc3BvbmRpbmcgbWVtb3J5IGRldmljZS4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYSB2YWx1ZSBvZiBAcmVmIEZTTUNfTWVtb3J5X1R5cGUgICAgICAgICAgICAgICAgICAgICAgKi8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYSB2YWx1ZSBvZiBAcmVmIEZTTUNfTWVtb3J5X1R5cGUgICAgICAgICAgICAgICAgICAgKi8KIAogICB1aW50MzJfdCBNZW1vcnlEYXRhV2lkdGg7ICAgICAgICAgICAgICAvKiE8IFNwZWNpZmllcyB0aGUgZXh0ZXJuYWwgbWVtb3J5IGRldmljZSB3aWR0aC4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYSB2YWx1ZSBvZiBAcmVmIEZTTUNfTk9SU1JBTV9EYXRhX1dpZHRoICAgICAgICAgICAgICAgKi8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYSB2YWx1ZSBvZiBAcmVmIEZTTUNfTk9SU1JBTV9EYXRhX1dpZHRoICAgICAgICAgICAgKi8KIAogICB1aW50MzJfdCBCdXJzdEFjY2Vzc01vZGU7ICAgICAgICAgICAgICAvKiE8IEVuYWJsZXMgb3IgZGlzYWJsZXMgdGhlIGJ1cnN0IGFjY2VzcyBtb2RlIGZvciBGbGFzaCBtZW1vcnksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsaWQgb25seSB3aXRoIHN5bmNocm9ub3VzIGJ1cnN0IEZsYXNoIG1lbW9yaWVzLgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIG9mIEByZWYgRlNNQ19CdXJzdF9BY2Nlc3NfTW9kZSAgICAgICAgICAgICAgICAqLworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIG9mIEByZWYgRlNNQ19CdXJzdF9BY2Nlc3NfTW9kZSAgICAgICAgICAgICAqLwogCiAgIHVpbnQzMl90IFdhaXRTaWduYWxQb2xhcml0eTsgICAgICAgICAgIC8qITwgU3BlY2lmaWVzIHRoZSB3YWl0IHNpZ25hbCBwb2xhcml0eSwgdmFsaWQgb25seSB3aGVuIGFjY2Vzc2luZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBGbGFzaCBtZW1vcnkgaW4gYnVyc3QgbW9kZS4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYSB2YWx1ZSBvZiBAcmVmIEZTTUNfV2FpdF9TaWduYWxfUG9sYXJpdHkgICAgICAgICAgICAgKi8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYSB2YWx1ZSBvZiBAcmVmIEZTTUNfV2FpdF9TaWduYWxfUG9sYXJpdHkgICAgICAgICAgKi8KIAogICB1aW50MzJfdCBXcmFwTW9kZTsgICAgICAgICAgICAgICAgICAgICAvKiE8IEVuYWJsZXMgb3IgZGlzYWJsZXMgdGhlIFdyYXBwZWQgYnVyc3QgYWNjZXNzIG1vZGUgZm9yIEZsYXNoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVtb3J5LCB2YWxpZCBvbmx5IHdoZW4gYWNjZXNzaW5nIEZsYXNoIG1lbW9yaWVzIGluIGJ1cnN0IG1vZGUuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGEgdmFsdWUgb2YgQHJlZiBGU01DX1dyYXBfTW9kZSAgICAgICAgICAgICAgICAgICAgICAgIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgbW9kZSBpcyBhdmFpbGFibGUgb25seSBmb3IgdGhlIFNUTTMyRjQwNS80MDcvNDAxNS80MTd4eCBkZXZpY2VzICAgICAgICAqLworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIG9mIEByZWYgRlNNQ19XcmFwX01vZGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIG1vZGUgaXMgYXZhaWxhYmxlIG9ubHkgZm9yIHRoZSBTVE0zMkY0MDUvNDA3LzQwMTUvNDE3eHggZGV2aWNlcyAgICAgICAgICAgICAqLwogCiAgIHVpbnQzMl90IFdhaXRTaWduYWxBY3RpdmU7ICAgICAgICAgICAgIC8qITwgU3BlY2lmaWVzIGlmIHRoZSB3YWl0IHNpZ25hbCBpcyBhc3NlcnRlZCBieSB0aGUgbWVtb3J5IG9uZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsb2NrIGN5Y2xlIGJlZm9yZSB0aGUgd2FpdCBzdGF0ZSBvciBkdXJpbmcgdGhlIHdhaXQgc3RhdGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsaWQgb25seSB3aGVuIGFjY2Vzc2luZyBtZW1vcmllcyBpbiBidXJzdCBtb2RlLiAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYSB2YWx1ZSBvZiBAcmVmIEZTTUNfV2FpdF9UaW1pbmcgICAgICAgICAgICAgICAgICAgICAgKi8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWxpZCBvbmx5IHdoZW4gYWNjZXNzaW5nIG1lbW9yaWVzIGluIGJ1cnN0IG1vZGUuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGEgdmFsdWUgb2YgQHJlZiBGU01DX1dhaXRfVGltaW5nICAgICAgICAgICAgICAgICAgICovCiAKLSAgdWludDMyX3QgV3JpdGVPcGVyYXRpb247ICAgICAgICAgICAgICAgLyohPCBFbmFibGVzIG9yIGRpc2FibGVzIHRoZSB3cml0ZSBvcGVyYXRpb24gaW4gdGhlIHNlbGVjdGVkIGRldmljZSBieSB0aGUgRlNNQy4gCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGEgdmFsdWUgb2YgQHJlZiBGU01DX1dyaXRlX09wZXJhdGlvbiAgICAgICAgICAgICAgICAgICovCisgIHVpbnQzMl90IFdyaXRlT3BlcmF0aW9uOyAgICAgICAgICAgICAgIC8qITwgRW5hYmxlcyBvciBkaXNhYmxlcyB0aGUgd3JpdGUgb3BlcmF0aW9uIGluIHRoZSBzZWxlY3RlZCBkZXZpY2UgYnkgdGhlIEZTTUMuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGEgdmFsdWUgb2YgQHJlZiBGU01DX1dyaXRlX09wZXJhdGlvbiAgICAgICAgICAgICAgICovCiAKICAgdWludDMyX3QgV2FpdFNpZ25hbDsgICAgICAgICAgICAgICAgICAgLyohPCBFbmFibGVzIG9yIGRpc2FibGVzIHRoZSB3YWl0IHN0YXRlIGluc2VydGlvbiB2aWEgd2FpdAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpZ25hbCwgdmFsaWQgZm9yIEZsYXNoIG1lbW9yeSBhY2Nlc3MgaW4gYnVyc3QgbW9kZS4gCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGEgdmFsdWUgb2YgQHJlZiBGU01DX1dhaXRfU2lnbmFsICAgICAgICAgICAgICAgICAgICAgICovCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2lnbmFsLCB2YWxpZCBmb3IgRmxhc2ggbWVtb3J5IGFjY2VzcyBpbiBidXJzdCBtb2RlLgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIG9mIEByZWYgRlNNQ19XYWl0X1NpZ25hbCAgICAgICAgICAgICAgICAgICAqLwogCiAgIHVpbnQzMl90IEV4dGVuZGVkTW9kZTsgICAgICAgICAgICAgICAgIC8qITwgRW5hYmxlcyBvciBkaXNhYmxlcyB0aGUgZXh0ZW5kZWQgbW9kZS4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYSB2YWx1ZSBvZiBAcmVmIEZTTUNfRXh0ZW5kZWRfTW9kZSAgICAgICAgICAgICAgICAgICAgKi8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYSB2YWx1ZSBvZiBAcmVmIEZTTUNfRXh0ZW5kZWRfTW9kZSAgICAgICAgICAgICAgICAgKi8KIAogICB1aW50MzJfdCBBc3luY2hyb25vdXNXYWl0OyAgICAgICAgICAgICAvKiE8IEVuYWJsZXMgb3IgZGlzYWJsZXMgd2FpdCBzaWduYWwgZHVyaW5nIGFzeW5jaHJvbm91cyB0cmFuc2ZlcnMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsaWQgb25seSB3aXRoIGFzeW5jaHJvbm91cyBGbGFzaCBtZW1vcmllcy4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYSB2YWx1ZSBvZiBAcmVmIEZTTUNfQXN5bmNocm9ub3VzV2FpdCAgICAgICAgICAgICAgICAgKi8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYSB2YWx1ZSBvZiBAcmVmIEZTTUNfQXN5bmNocm9ub3VzV2FpdCAgICAgICAgICAgICAgKi8KIAogICB1aW50MzJfdCBXcml0ZUJ1cnN0OyAgICAgICAgICAgICAgICAgICAvKiE8IEVuYWJsZXMgb3IgZGlzYWJsZXMgdGhlIHdyaXRlIGJ1cnN0IG9wZXJhdGlvbi4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYSB2YWx1ZSBvZiBAcmVmIEZTTUNfV3JpdGVfQnVyc3QgICAgICAgICAgICAgICAgICAgICAgKi8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYSB2YWx1ZSBvZiBAcmVmIEZTTUNfV3JpdGVfQnVyc3QgICAgICAgICAgICAgICAgICAgKi8KIAotICB1aW50MzJfdCBDb250aW51b3VzQ2xvY2s7ICAgICAgICAgICAgICAvKiE8IEVuYWJsZXMgb3IgZGlzYWJsZXMgdGhlIEZNQyBjbG9jayBvdXRwdXQgdG8gZXh0ZXJuYWwgbWVtb3J5IGRldmljZXMuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgaXMgb25seSBlbmFibGVkIHRocm91Z2ggdGhlIEZNQ19CQ1IxIHJlZ2lzdGVyLCBhbmQgZG9uJ3QgY2FyZSAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aHJvdWdoIEZNQ19CQ1IyLi40IHJlZ2lzdGVycy4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYSB2YWx1ZSBvZiBAcmVmIEZNQ19Db250aW5vdXNfQ2xvY2sgICAgCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBtb2RlIGlzIGF2YWlsYWJsZSBvbmx5IGZvciB0aGUgU1RNMzJGNDEyVngvWngvUnggZGV2aWNlcyAgICAgICAgICAgICAgICAgKi8KKyAgdWludDMyX3QgQ29udGludW91c0Nsb2NrOyAgICAgICAgICAgICAgLyohPCBFbmFibGVzIG9yIGRpc2FibGVzIHRoZSBGU01DIGNsb2NrIG91dHB1dCB0byBleHRlcm5hbCBtZW1vcnkgZGV2aWNlcy4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBpcyBvbmx5IGVuYWJsZWQgdGhyb3VnaCB0aGUgRlNNQ19CQ1IxIHJlZ2lzdGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCBkb24ndCBjYXJlIHRocm91Z2ggRlNNQ19CQ1IyLi40IHJlZ2lzdGVycy4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYSB2YWx1ZSBvZiBAcmVmIEZTTUNfQ29udGlub3VzX0Nsb2NrCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBtb2RlIGlzIGF2YWlsYWJsZSBvbmx5IGZvciB0aGUgU1RNMzJGNDEyVngvWngvUnggZGV2aWNlcyAgICAgICAgICAgKi8KIAotICB1aW50MzJfdCBXcml0ZUZpZm87ICAgICAgICAgICAgICAgICAgICAvKiE8IEVuYWJsZXMgb3IgZGlzYWJsZXMgdGhlIHdyaXRlIEZJRk8gdXNlZCBieSB0aGUgRk1DIGNvbnRyb2xsZXIuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgaXMgb25seSBlbmFibGVkIHRocm91Z2ggdGhlIEZNQ19CQ1IxIHJlZ2lzdGVyLCBhbmQgZG9uJ3QgY2FyZSAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aHJvdWdoIEZNQ19CQ1IyLi40IHJlZ2lzdGVycy4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYSB2YWx1ZSBvZiBAcmVmIEZNQ19Xcml0ZV9GSUZPCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBtb2RlIGlzIGF2YWlsYWJsZSBvbmx5IGZvciB0aGUgU1RNMzJGNDEyVngvVnggZGV2aWNlcyAgICAgICAgICAgICAgICAgICAgKi8KKyAgdWludDMyX3QgV3JpdGVGaWZvOyAgICAgICAgICAgICAgICAgICAgLyohPCBFbmFibGVzIG9yIGRpc2FibGVzIHRoZSB3cml0ZSBGSUZPIHVzZWQgYnkgdGhlIEZTTUMgY29udHJvbGxlci4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBpcyBvbmx5IGVuYWJsZWQgdGhyb3VnaCB0aGUgRlNNQ19CQ1IxIHJlZ2lzdGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCBkb24ndCBjYXJlIHRocm91Z2ggRlNNQ19CQ1IyLi40IHJlZ2lzdGVycy4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYSB2YWx1ZSBvZiBAcmVmIEZTTUNfV3JpdGVfRklGTworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgbW9kZSBpcyBhdmFpbGFibGUgb25seSBmb3IgdGhlIFNUTTMyRjQxMlZ4L1Z4IGRldmljZXMgICAgICAgICAgICAgICovCiAKICAgdWludDMyX3QgUGFnZVNpemU7ICAgICAgICAgICAgICAgICAgICAgLyohPCBTcGVjaWZpZXMgdGhlIG1lbW9yeSBwYWdlIHNpemUuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGEgdmFsdWUgb2YgQHJlZiBGTUNfUGFnZV9TaXplICAgICAgICAgICAgICAgICAgICovCi19RlNNQ19OT1JTUkFNX0luaXRUeXBlRGVmOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIG9mIEByZWYgRlNNQ19QYWdlX1NpemUgICAgICAgICAgICAgICAgICAgICAqLworfSBGU01DX05PUlNSQU1fSW5pdFR5cGVEZWY7CiAKLS8qKiAKLSAgKiBAYnJpZWYgRlNNQyBOT1JTUkFNIFRpbWluZyBwYXJhbWV0ZXJzIHN0cnVjdHVyZSBkZWZpbml0aW9uCisvKioKKyAgKiBAYnJpZWYgIEZTTUMgTk9SU1JBTSBUaW1pbmcgcGFyYW1ldGVycyBzdHJ1Y3R1cmUgZGVmaW5pdGlvbgogICAqLwogdHlwZWRlZiBzdHJ1Y3QKIHsKICAgdWludDMyX3QgQWRkcmVzc1NldHVwVGltZTsgICAgICAgICAgICAgLyohPCBEZWZpbmVzIHRoZSBudW1iZXIgb2YgSENMSyBjeWNsZXMgdG8gY29uZmlndXJlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIGR1cmF0aW9uIG9mIHRoZSBhZGRyZXNzIHNldHVwIHRpbWUuIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBkdXJhdGlvbiBvZiB0aGUgYWRkcmVzcyBzZXR1cCB0aW1lLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIGJldHdlZW4gTWluX0RhdGEgPSAwIGFuZCBNYXhfRGF0YSA9IDE1LgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBub3RlIFRoaXMgcGFyYW1ldGVyIGlzIG5vdCB1c2VkIHdpdGggc3luY2hyb25vdXMgTk9SIEZsYXNoIG1lbW9yaWVzLiAgICAgICovCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQG5vdGUgVGhpcyBwYXJhbWV0ZXIgaXMgbm90IHVzZWQgd2l0aCBzeW5jaHJvbm91cyBOT1IgRmxhc2ggbWVtb3JpZXMuICAgKi8KIAogICB1aW50MzJfdCBBZGRyZXNzSG9sZFRpbWU7ICAgICAgICAgICAgICAvKiE8IERlZmluZXMgdGhlIG51bWJlciBvZiBIQ0xLIGN5Y2xlcyB0byBjb25maWd1cmUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgZHVyYXRpb24gb2YgdGhlIGFkZHJlc3MgaG9sZCB0aW1lLgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIGJldHdlZW4gTWluX0RhdGEgPSAxIGFuZCBNYXhfRGF0YSA9IDE1LiAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAbm90ZSBUaGlzIHBhcmFtZXRlciBpcyBub3QgdXNlZCB3aXRoIHN5bmNocm9ub3VzIE5PUiBGbGFzaCBtZW1vcmllcy4gICAgICAqLworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIGJldHdlZW4gTWluX0RhdGEgPSAxIGFuZCBNYXhfRGF0YSA9IDE1LgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBub3RlIFRoaXMgcGFyYW1ldGVyIGlzIG5vdCB1c2VkIHdpdGggc3luY2hyb25vdXMgTk9SIEZsYXNoIG1lbW9yaWVzLiAgICovCiAKICAgdWludDMyX3QgRGF0YVNldHVwVGltZTsgICAgICAgICAgICAgICAgLyohPCBEZWZpbmVzIHRoZSBudW1iZXIgb2YgSENMSyBjeWNsZXMgdG8gY29uZmlndXJlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIGR1cmF0aW9uIG9mIHRoZSBkYXRhIHNldHVwIHRpbWUuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGEgdmFsdWUgYmV0d2VlbiBNaW5fRGF0YSA9IDEgYW5kIE1heF9EYXRhID0gMjU1LgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBub3RlIFRoaXMgcGFyYW1ldGVyIGlzIHVzZWQgZm9yIFNSQU1zLCBST01zIGFuZCBhc3luY2hyb25vdXMgbXVsdGlwbGV4ZWQgCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTk9SIEZsYXNoIG1lbW9yaWVzLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAbm90ZSBUaGlzIHBhcmFtZXRlciBpcyB1c2VkIGZvciBTUkFNcywgUk9NcyBhbmQgYXN5bmNocm9ub3VzIG11bHRpcGxleGVkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTk9SIEZsYXNoIG1lbW9yaWVzLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KIAogICB1aW50MzJfdCBCdXNUdXJuQXJvdW5kRHVyYXRpb247ICAgICAgICAvKiE8IERlZmluZXMgdGhlIG51bWJlciBvZiBIQ0xLIGN5Y2xlcyB0byBjb25maWd1cmUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgZHVyYXRpb24gb2YgdGhlIGJ1cyB0dXJuYXJvdW5kLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIGJldHdlZW4gTWluX0RhdGEgPSAwIGFuZCBNYXhfRGF0YSA9IDE1LgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBub3RlIFRoaXMgcGFyYW1ldGVyIGlzIG9ubHkgdXNlZCBmb3IgbXVsdGlwbGV4ZWQgTk9SIEZsYXNoIG1lbW9yaWVzLiAgICAgICovCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQG5vdGUgVGhpcyBwYXJhbWV0ZXIgaXMgb25seSB1c2VkIGZvciBtdWx0aXBsZXhlZCBOT1IgRmxhc2ggbWVtb3JpZXMuICAgKi8KIAotICB1aW50MzJfdCBDTEtEaXZpc2lvbjsgICAgICAgICAgICAgICAgICAvKiE8IERlZmluZXMgdGhlIHBlcmlvZCBvZiBDTEsgY2xvY2sgb3V0cHV0IHNpZ25hbCwgZXhwcmVzc2VkIGluIG51bWJlciBvZiAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQ0xLIGN5Y2xlcy4gVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGEgdmFsdWUgYmV0d2VlbiBNaW5fRGF0YSA9IDIgYW5kIE1heF9EYXRhID0gMTYuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQG5vdGUgVGhpcyBwYXJhbWV0ZXIgaXMgbm90IHVzZWQgZm9yIGFzeW5jaHJvbm91cyBOT1IgRmxhc2gsIFNSQU0gb3IgUk9NIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjY2Vzc2VzLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisgIHVpbnQzMl90IENMS0RpdmlzaW9uOyAgICAgICAgICAgICAgICAgIC8qITwgRGVmaW5lcyB0aGUgcGVyaW9kIG9mIENMSyBjbG9jayBvdXRwdXQgc2lnbmFsLCBleHByZXNzZWQgaW4gbnVtYmVyIG9mCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSENMSyBjeWNsZXMuIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIGJldHdlZW4gTWluX0RhdGEgPSAyIGFuZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1heF9EYXRhID0gMTYuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQG5vdGUgVGhpcyBwYXJhbWV0ZXIgaXMgbm90IHVzZWQgZm9yIGFzeW5jaHJvbm91cyBOT1IgRmxhc2gsIFNSQU0gb3IgUk9NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWNjZXNzZXMuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KIAogICB1aW50MzJfdCBEYXRhTGF0ZW5jeTsgICAgICAgICAgICAgICAgICAvKiE8IERlZmluZXMgdGhlIG51bWJlciBvZiBtZW1vcnkgY2xvY2sgY3ljbGVzIHRvIGlzc3VlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gdGhlIG1lbW9yeSBiZWZvcmUgZ2V0dGluZyB0aGUgZmlyc3QgZGF0YS4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGUgcGFyYW1ldGVyIHZhbHVlIGRlcGVuZHMgb24gdGhlIG1lbW9yeSB0eXBlIGFzIHNob3duIGJlbG93OgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0gSXQgbXVzdCBiZSBzZXQgdG8gMCBpbiBjYXNlIG9mIGEgQ1JBTQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0gSXQgaXMgZG9uJ3QgY2FyZSBpbiBhc3luY2hyb25vdXMgTk9SLCBTUkFNIG9yIFJPTSBhY2Nlc3NlcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0gSXQgbWF5IGFzc3VtZSBhIHZhbHVlIGJldHdlZW4gTWluX0RhdGEgPSAyIGFuZCBNYXhfRGF0YSA9IDE3IGluIE5PUiBGbGFzaCBtZW1vcmllcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2l0aCBzeW5jaHJvbm91cyBidXJzdCBtb2RlIGVuYWJsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLSBJdCBtYXkgYXNzdW1lIGEgdmFsdWUgYmV0d2VlbiBNaW5fRGF0YSA9IDIgYW5kIE1heF9EYXRhID0gMTcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIE5PUiBGbGFzaCBtZW1vcmllcyB3aXRoIHN5bmNocm9ub3VzIGJ1cnN0IG1vZGUgZW5hYmxlICAgICAgICAgICAgICAqLwogCi0gIHVpbnQzMl90IEFjY2Vzc01vZGU7ICAgICAgICAgICAgICAgICAgIC8qITwgU3BlY2lmaWVzIHRoZSBhc3luY2hyb25vdXMgYWNjZXNzIG1vZGUuIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIG9mIEByZWYgRlNNQ19BY2Nlc3NfTW9kZSAgICAgICAgICAgICAgICAgICAgICAqLworICB1aW50MzJfdCBBY2Nlc3NNb2RlOyAgICAgICAgICAgICAgICAgICAvKiE8IFNwZWNpZmllcyB0aGUgYXN5bmNocm9ub3VzIGFjY2VzcyBtb2RlLgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIG9mIEByZWYgRlNNQ19BY2Nlc3NfTW9kZSAgICAgICAgICAgICAgICAgICAqLworfSBGU01DX05PUlNSQU1fVGltaW5nVHlwZURlZjsKKyNlbmRpZiAvKiBGU01DX0JhbmsxICovCiAKLX1GU01DX05PUlNSQU1fVGltaW5nVHlwZURlZjsKLQotI2lmIGRlZmluZWQoU1RNMzJGNDA1eHgpIHx8IGRlZmluZWQoU1RNMzJGNDE1eHgpIHx8IGRlZmluZWQoU1RNMzJGNDA3eHgpIHx8IGRlZmluZWQoU1RNMzJGNDE3eHgpCi0vKiogCi0gICogQGJyaWVmIEZTTUMgTkFORCBDb25maWd1cmF0aW9uIFN0cnVjdHVyZSBkZWZpbml0aW9uCi0gICovIAorI2lmIGRlZmluZWQoRlNNQ19CYW5rMl8zKQorLyoqCisgICogQGJyaWVmICBGU01DIE5BTkQgQ29uZmlndXJhdGlvbiBTdHJ1Y3R1cmUgZGVmaW5pdGlvbgorICAqLwogdHlwZWRlZiBzdHJ1Y3QKIHsKICAgdWludDMyX3QgTmFuZEJhbms7ICAgICAgICAgICAgICAgLyohPCBTcGVjaWZpZXMgdGhlIE5BTkQgbWVtb3J5IGRldmljZSB0aGF0IHdpbGwgYmUgdXNlZC4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYSB2YWx1ZSBvZiBAcmVmIEZTTUNfTkFORF9CYW5rICAgICAgICAgICAgICAgICAgICovCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGEgdmFsdWUgb2YgQHJlZiBGU01DX05BTkRfQmFuayAgICAgICAgICAgICAgICAgICovCiAKICAgdWludDMyX3QgV2FpdGZlYXR1cmU7ICAgICAgICAgICAgLyohPCBFbmFibGVzIG9yIGRpc2FibGVzIHRoZSBXYWl0IGZlYXR1cmUgZm9yIHRoZSBOQU5EIE1lbW9yeSBkZXZpY2UuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGFueSB2YWx1ZSBvZiBAcmVmIEZTTUNfV2FpdF9mZWF0dXJlICAgICAgICAgICAgICAqLworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhbnkgdmFsdWUgb2YgQHJlZiBGU01DX1dhaXRfZmVhdHVyZSAgICAgICAgICAgICAqLwogCiAgIHVpbnQzMl90IE1lbW9yeURhdGFXaWR0aDsgICAgICAgIC8qITwgU3BlY2lmaWVzIHRoZSBleHRlcm5hbCBtZW1vcnkgZGV2aWNlIHdpZHRoLgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhbnkgdmFsdWUgb2YgQHJlZiBGU01DX05BTkRfRGF0YV9XaWR0aCAgICAgICAgICAgKi8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYW55IHZhbHVlIG9mIEByZWYgRlNNQ19OQU5EX0RhdGFfV2lkdGggICAgICAgICAgKi8KIAogICB1aW50MzJfdCBFY2NDb21wdXRhdGlvbjsgICAgICAgICAvKiE8IEVuYWJsZXMgb3IgZGlzYWJsZXMgdGhlIEVDQyBjb21wdXRhdGlvbi4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYW55IHZhbHVlIG9mIEByZWYgRlNNQ19FQ0MgICAgICAgICAgICAgICAgICAgICAgICovCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGFueSB2YWx1ZSBvZiBAcmVmIEZTTUNfRUNDICAgICAgICAgICAgICAgICAgICAgICovCiAKICAgdWludDMyX3QgRUNDUGFnZVNpemU7ICAgICAgICAgICAgLyohPCBEZWZpbmVzIHRoZSBwYWdlIHNpemUgZm9yIHRoZSBleHRlbmRlZCBFQ0MuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGFueSB2YWx1ZSBvZiBAcmVmIEZTTUNfRUNDX1BhZ2VfU2l6ZSAgICAgICAgICAgICAqLworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhbnkgdmFsdWUgb2YgQHJlZiBGU01DX0VDQ19QYWdlX1NpemUgICAgICAgICAgICAqLwogCiAgIHVpbnQzMl90IFRDTFJTZXR1cFRpbWU7ICAgICAgICAgIC8qITwgRGVmaW5lcyB0aGUgbnVtYmVyIG9mIEhDTEsgY3ljbGVzIHRvIGNvbmZpZ3VyZSB0aGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWxheSBiZXR3ZWVuIENMRSBsb3cgYW5kIFJFIGxvdy4KQEAgLTE4NSwxMSArMzAzLDEyIEBACiAgIHVpbnQzMl90IFRBUlNldHVwVGltZTsgICAgICAgICAgIC8qITwgRGVmaW5lcyB0aGUgbnVtYmVyIG9mIEhDTEsgY3ljbGVzIHRvIGNvbmZpZ3VyZSB0aGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWxheSBiZXR3ZWVuIEFMRSBsb3cgYW5kIFJFIGxvdy4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYSBudW1iZXIgYmV0d2VlbiBNaW5fRGF0YSA9IDAgYW5kIE1heF9EYXRhID0gMjU1ICovCit9IEZTTUNfTkFORF9Jbml0VHlwZURlZjsKKyNlbmRpZgogCi19RlNNQ19OQU5EX0luaXRUeXBlRGVmOwotCi0vKiogCi0gICogQGJyaWVmIEZTTUMgTkFORC9QQ0NBUkQgVGltaW5nIHBhcmFtZXRlcnMgc3RydWN0dXJlIGRlZmluaXRpb24KKyNpZiBkZWZpbmVkKEZTTUNfQmFuazJfMykgfHwgZGVmaW5lZChGU01DX0Jhbms0KQorLyoqCisgICogQGJyaWVmICBGU01DIE5BTkQgVGltaW5nIHBhcmFtZXRlcnMgc3RydWN0dXJlIGRlZmluaXRpb24KICAgKi8KIHR5cGVkZWYgc3RydWN0CiB7CkBAIC0xOTcsMzYgKzMxNiwzNyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgY29tbWFuZCBhc3NlcnRpb24gZm9yIE5BTkQtRmxhc2ggcmVhZCBvciB3cml0ZSBhY2Nlc3MKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gY29tbW9uL0F0dHJpYnV0ZSBvciBJL08gbWVtb3J5IHNwYWNlIChkZXBlbmRpbmcgb24KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIG1lbW9yeSBzcGFjZSB0aW1pbmcgdG8gYmUgY29uZmlndXJlZCkuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIGJldHdlZW4gTWluX0RhdGEgPSAwIGFuZCBNYXhfRGF0YSA9IDI1NSAgICAqLworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYSB2YWx1ZSBiZXR3ZWVuIE1pbl9EYXRhID0gMCBhbmQgTWF4X0RhdGEgPSAyNTQgICAgKi8KIAogICB1aW50MzJfdCBXYWl0U2V0dXBUaW1lOyAgICAgICAgLyohPCBEZWZpbmVzIHRoZSBtaW5pbXVtIG51bWJlciBvZiBIQ0xLIGN5Y2xlcyB0byBhc3NlcnQgdGhlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbW1hbmQgZm9yIE5BTkQtRmxhc2ggcmVhZCBvciB3cml0ZSBhY2Nlc3MgdG8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tbW9uL0F0dHJpYnV0ZSBvciBJL08gbWVtb3J5IHNwYWNlIChkZXBlbmRpbmcgb24gdGhlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lbW9yeSBzcGFjZSB0aW1pbmcgdG8gYmUgY29uZmlndXJlZCkuIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYSBudW1iZXIgYmV0d2VlbiBNaW5fRGF0YSA9IDAgYW5kIE1heF9EYXRhID0gMjU1ICAgKi8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVtb3J5IHNwYWNlIHRpbWluZyB0byBiZSBjb25maWd1cmVkKS4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGEgbnVtYmVyIGJldHdlZW4gTWluX0RhdGEgPSAwIGFuZCBNYXhfRGF0YSA9IDI1NCAgICovCiAKICAgdWludDMyX3QgSG9sZFNldHVwVGltZTsgICAgICAgIC8qITwgRGVmaW5lcyB0aGUgbnVtYmVyIG9mIEhDTEsgY2xvY2sgY3ljbGVzIHRvIGhvbGQgYWRkcmVzcwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoYW5kIGRhdGEgZm9yIHdyaXRlIGFjY2VzcykgYWZ0ZXIgdGhlIGNvbW1hbmQgZGUtYXNzZXJ0aW9uCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciBOQU5ELUZsYXNoIHJlYWQgb3Igd3JpdGUgYWNjZXNzIHRvIGNvbW1vbi9BdHRyaWJ1dGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3IgSS9PIG1lbW9yeSBzcGFjZSAoZGVwZW5kaW5nIG9uIHRoZSBtZW1vcnkgc3BhY2UgdGltaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvIGJlIGNvbmZpZ3VyZWQpLgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYSBudW1iZXIgYmV0d2VlbiBNaW5fRGF0YSA9IDAgYW5kIE1heF9EYXRhID0gMjU1ICAgKi8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGEgbnVtYmVyIGJldHdlZW4gTWluX0RhdGEgPSAwIGFuZCBNYXhfRGF0YSA9IDI1NCAgICovCiAKICAgdWludDMyX3QgSGlaU2V0dXBUaW1lOyAgICAgICAgIC8qITwgRGVmaW5lcyB0aGUgbnVtYmVyIG9mIEhDTEsgY2xvY2sgY3ljbGVzIGR1cmluZyB3aGljaCB0aGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YSBidXMgaXMga2VwdCBpbiBIaVogYWZ0ZXIgdGhlIHN0YXJ0IG9mIGEgTkFORC1GbGFzaAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3cml0ZSBhY2Nlc3MgdG8gY29tbW9uL0F0dHJpYnV0ZSBvciBJL08gbWVtb3J5IHNwYWNlIChkZXBlbmRpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb24gdGhlIG1lbW9yeSBzcGFjZSB0aW1pbmcgdG8gYmUgY29uZmlndXJlZCkuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIG51bWJlciBiZXR3ZWVuIE1pbl9EYXRhID0gMCBhbmQgTWF4X0RhdGEgPSAyNTUgICAqLworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYSBudW1iZXIgYmV0d2VlbiBNaW5fRGF0YSA9IDAgYW5kIE1heF9EYXRhID0gMjU0ICAgKi8KK30gRlNNQ19OQU5EX1BDQ19UaW1pbmdUeXBlRGVmOworI2VuZGlmIC8qIEZTTUNfQmFuazJfMyAqLwogCi19RlNNQ19OQU5EX1BDQ19UaW1pbmdUeXBlRGVmOwotCi0vKiogCi0gICogQGJyaWVmICBGU01DIE5BTkQgQ29uZmlndXJhdGlvbiBTdHJ1Y3R1cmUgZGVmaW5pdGlvbgorI2lmIGRlZmluZWQoRlNNQ19CYW5rNCkKKy8qKgorICAqIEBicmllZiBGU01DIFBDQ0FSRCBDb25maWd1cmF0aW9uIFN0cnVjdHVyZSBkZWZpbml0aW9uCiAgICovCiB0eXBlZGVmIHN0cnVjdAogewogICB1aW50MzJfdCBXYWl0ZmVhdHVyZTsgICAgICAgICAgICAvKiE8IEVuYWJsZXMgb3IgZGlzYWJsZXMgdGhlIFdhaXQgZmVhdHVyZSBmb3IgdGhlIFBDQ0FSRCBNZW1vcnkgZGV2aWNlLgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhbnkgdmFsdWUgb2YgQHJlZiBGU01DX1dhaXRfZmVhdHVyZSAgICAgICAgICAgICAgKi8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYW55IHZhbHVlIG9mIEByZWYgRlNNQ19XYWl0X2ZlYXR1cmUgICAgICAqLwogCiAgIHVpbnQzMl90IFRDTFJTZXR1cFRpbWU7ICAgICAgICAgIC8qITwgRGVmaW5lcyB0aGUgbnVtYmVyIG9mIEhDTEsgY3ljbGVzIHRvIGNvbmZpZ3VyZSB0aGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWxheSBiZXR3ZWVuIENMRSBsb3cgYW5kIFJFIGxvdy4KQEAgLTIzNSwyOCArMzU1LDMwIEBACiAgIHVpbnQzMl90IFRBUlNldHVwVGltZTsgICAgICAgICAgIC8qITwgRGVmaW5lcyB0aGUgbnVtYmVyIG9mIEhDTEsgY3ljbGVzIHRvIGNvbmZpZ3VyZSB0aGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWxheSBiZXR3ZWVuIEFMRSBsb3cgYW5kIFJFIGxvdy4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYSBudW1iZXIgYmV0d2VlbiBNaW5fRGF0YSA9IDAgYW5kIE1heF9EYXRhID0gMjU1ICovCi0KIH1GU01DX1BDQ0FSRF9Jbml0VHlwZURlZjsKKyNlbmRpZiAvKiBGU01DX0Jhbms0ICovCisKIC8qKgogICAqIEB9CiAgICovCi0jZW5kaWYgLyogU1RNMzJGNDA1eHggfHwgU1RNMzJGNDE1eHggfHwgU1RNMzJGNDA3eHggfHwgU1RNMzJGNDE3eHggKi8KIAotLyogUHJpdmF0ZSBjb25zdGFudHMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KLS8qKiBAZGVmZ3JvdXAgRlNNQ19MTF9Qcml2YXRlX0NvbnN0YW50cyBGU01DIFByaXZhdGUgQ29uc3RhbnRzCisvKiBFeHBvcnRlZCBjb25zdGFudHMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworLyoqIEBhZGR0b2dyb3VwIEZTTUNfTExfRXhwb3J0ZWRfQ29uc3RhbnRzIEZTTUMgTG93IExheWVyIEV4cG9ydGVkIENvbnN0YW50cworICAqIEB7CisgICovCisjaWYgZGVmaW5lZChGU01DX0JhbmsxKQorCisvKiogQGRlZmdyb3VwIEZTTUNfTExfTk9SX1NSQU1fQ29udHJvbGxlciBGU01DIE5PUi9TUkFNIENvbnRyb2xsZXIKICAgKiBAewogICAqLwogCi0vKiogQGRlZmdyb3VwIEZTTUNfTExfTk9SX1NSQU1fQ29udHJvbGxlciBGU01DIE5PUi9TUkFNIENvbnRyb2xsZXIgCi0gICogQHsKLSAgKi8gCiAvKiogQGRlZmdyb3VwIEZTTUNfTk9SU1JBTV9CYW5rIEZTTUMgTk9SL1NSQU0gQmFuawogICAqIEB7CiAgICovCi0jZGVmaW5lIEZTTUNfTk9SU1JBTV9CQU5LMSAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMFUKLSNkZWZpbmUgRlNNQ19OT1JTUkFNX0JBTksyICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAyVQotI2RlZmluZSBGU01DX05PUlNSQU1fQkFOSzMgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDRVCi0jZGVmaW5lIEZTTUNfTk9SU1JBTV9CQU5LNCAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwNlUKKyNkZWZpbmUgRlNNQ19OT1JTUkFNX0JBTksxICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMFUpCisjZGVmaW5lIEZTTUNfTk9SU1JBTV9CQU5LMiAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDJVKQorI2RlZmluZSBGU01DX05PUlNSQU1fQkFOSzMgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA0VSkKKyNkZWZpbmUgRlNNQ19OT1JTUkFNX0JBTks0ICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNlUpCiAvKioKICAgKiBAfQogICAqLwpAQCAtMjY0LDggKzM4Niw4IEBACiAvKiogQGRlZmdyb3VwIEZTTUNfRGF0YV9BZGRyZXNzX0J1c19NdWx0aXBsZXhpbmcgRlNNQyBEYXRhIEFkZHJlc3MgQnVzIE11bHRpcGxleGluZwogICAqIEB7CiAgICovCi0jZGVmaW5lIEZTTUNfREFUQV9BRERSRVNTX01VWF9ESVNBQkxFICAgICAgICAgICAgMHgwMDAwMDAwMFUKLSNkZWZpbmUgRlNNQ19EQVRBX0FERFJFU1NfTVVYX0VOQUJMRSAgICAgICAgICAgICAweDAwMDAwMDAyVQorI2RlZmluZSBGU01DX0RBVEFfQUREUkVTU19NVVhfRElTQUJMRSAgICAgICAgICAgICgweDAwMDAwMDAwVSkKKyNkZWZpbmUgRlNNQ19EQVRBX0FERFJFU1NfTVVYX0VOQUJMRSAgICAgICAgICAgICAoMHgwMDAwMDAwMlUpCiAvKioKICAgKiBAfQogICAqLwpAQCAtMjczLDE5ICszOTUsMTkgQEAKIC8qKiBAZGVmZ3JvdXAgRlNNQ19NZW1vcnlfVHlwZSBGU01DIE1lbW9yeSBUeXBlCiAgICogQHsKICAgKi8KLSNkZWZpbmUgRlNNQ19NRU1PUllfVFlQRV9TUkFNICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwVQotI2RlZmluZSBGU01DX01FTU9SWV9UWVBFX1BTUkFNICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDRVCi0jZGVmaW5lIEZTTUNfTUVNT1JZX1RZUEVfTk9SICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwOFUKKyNkZWZpbmUgRlNNQ19NRU1PUllfVFlQRV9TUkFNICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMFUpCisjZGVmaW5lIEZTTUNfTUVNT1JZX1RZUEVfUFNSQU0gICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDRVKQorI2RlZmluZSBGU01DX01FTU9SWV9UWVBFX05PUiAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDA4VSkKIC8qKgogICAqIEB9CiAgICovCiAKLS8qKiBAZGVmZ3JvdXAgRlNNQ19OT1JTUkFNX0RhdGFfV2lkdGggRlNNQyBOT1IvU1JBTSBEYXRhIFdpZHRoCisvKiogQGRlZmdyb3VwIEZTTUNfTk9SU1JBTV9EYXRhX1dpZHRoIEZTTUMgTk9SU1JBTSBEYXRhIFdpZHRoCiAgICogQHsKICAgKi8KLSNkZWZpbmUgRlNNQ19OT1JTUkFNX01FTV9CVVNfV0lEVEhfOCAgICAgICAgICAgICAweDAwMDAwMDAwVQotI2RlZmluZSBGU01DX05PUlNSQU1fTUVNX0JVU19XSURUSF8xNiAgICAgICAgICAgIDB4MDAwMDAwMTBVCi0jZGVmaW5lIEZTTUNfTk9SU1JBTV9NRU1fQlVTX1dJRFRIXzMyICAgICAgICAgICAgMHgwMDAwMDAyMFUKKyNkZWZpbmUgRlNNQ19OT1JTUkFNX01FTV9CVVNfV0lEVEhfOCAgICAgICAgICAgICAoMHgwMDAwMDAwMFUpCisjZGVmaW5lIEZTTUNfTk9SU1JBTV9NRU1fQlVTX1dJRFRIXzE2ICAgICAgICAgICAgKDB4MDAwMDAwMTBVKQorI2RlZmluZSBGU01DX05PUlNSQU1fTUVNX0JVU19XSURUSF8zMiAgICAgICAgICAgICgweDAwMDAwMDIwVSkKIC8qKgogICAqIEB9CiAgICovCkBAIC0yOTMsOCArNDE1LDggQEAKIC8qKiBAZGVmZ3JvdXAgRlNNQ19OT1JTUkFNX0ZsYXNoX0FjY2VzcyBGU01DIE5PUi9TUkFNIEZsYXNoIEFjY2VzcwogICAqIEB7CiAgICovCi0jZGVmaW5lIEZTTUNfTk9SU1JBTV9GTEFTSF9BQ0NFU1NfRU5BQkxFICAgICAgICAgMHgwMDAwMDA0MFUKLSNkZWZpbmUgRlNNQ19OT1JTUkFNX0ZMQVNIX0FDQ0VTU19ESVNBQkxFICAgICAgICAweDAwMDAwMDAwVQorI2RlZmluZSBGU01DX05PUlNSQU1fRkxBU0hfQUNDRVNTX0VOQUJMRSAgICAgICAgICgweDAwMDAwMDQwVSkKKyNkZWZpbmUgRlNNQ19OT1JTUkFNX0ZMQVNIX0FDQ0VTU19ESVNBQkxFICAgICAgICAoMHgwMDAwMDAwMFUpCiAvKioKICAgKiBAfQogICAqLwpAQCAtMzAyLDggKzQyNCw4IEBACiAvKiogQGRlZmdyb3VwIEZTTUNfQnVyc3RfQWNjZXNzX01vZGUgRlNNQyBCdXJzdCBBY2Nlc3MgTW9kZQogICAqIEB7CiAgICovCi0jZGVmaW5lIEZTTUNfQlVSU1RfQUNDRVNTX01PREVfRElTQUJMRSAgICAgICAgICAgMHgwMDAwMDAwMFUgCi0jZGVmaW5lIEZTTUNfQlVSU1RfQUNDRVNTX01PREVfRU5BQkxFICAgICAgICAgICAgMHgwMDAwMDEwMFUKKyNkZWZpbmUgRlNNQ19CVVJTVF9BQ0NFU1NfTU9ERV9ESVNBQkxFICAgICAgICAgICAoMHgwMDAwMDAwMFUpCisjZGVmaW5lIEZTTUNfQlVSU1RfQUNDRVNTX01PREVfRU5BQkxFICAgICAgICAgICAgKDB4MDAwMDAxMDBVKQogLyoqCiAgICogQH0KICAgKi8KQEAgLTMxMSw4ICs0MzMsOCBAQAogLyoqIEBkZWZncm91cCBGU01DX1dhaXRfU2lnbmFsX1BvbGFyaXR5IEZTTUMgV2FpdCBTaWduYWwgUG9sYXJpdHkKICAgKiBAewogICAqLwotI2RlZmluZSBGU01DX1dBSVRfU0lHTkFMX1BPTEFSSVRZX0xPVyAgICAgICAgICAgIDB4MDAwMDAwMDBVCi0jZGVmaW5lIEZTTUNfV0FJVF9TSUdOQUxfUE9MQVJJVFlfSElHSCAgICAgICAgICAgMHgwMDAwMDIwMFUKKyNkZWZpbmUgRlNNQ19XQUlUX1NJR05BTF9QT0xBUklUWV9MT1cgICAgICAgICAgICAoMHgwMDAwMDAwMFUpCisjZGVmaW5lIEZTTUNfV0FJVF9TSUdOQUxfUE9MQVJJVFlfSElHSCAgICAgICAgICAgKDB4MDAwMDAyMDBVKQogLyoqCiAgICogQH0KICAgKi8KQEAgLTMyMSw4ICs0NDMsOCBAQAogICAqIEBub3RlICBUaGVzZSB2YWx1ZXMgYXJlIGF2YWlsYWJsZSBvbmx5IGZvciB0aGUgU1RNMzJGNDA1LzQxNS80MDcvNDE3eHggZGV2aWNlcy4KICAgKiBAewogICAqLwotI2RlZmluZSBGU01DX1dSQVBfTU9ERV9ESVNBQkxFICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDBVCi0jZGVmaW5lIEZTTUNfV1JBUF9NT0RFX0VOQUJMRSAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDQwMFUKKyNkZWZpbmUgRlNNQ19XUkFQX01PREVfRElTQUJMRSAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMFUpCisjZGVmaW5lIEZTTUNfV1JBUF9NT0RFX0VOQUJMRSAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDA0MDBVKQogLyoqCiAgICogQH0KICAgKi8KQEAgLTMzMCw4ICs0NTIsOCBAQAogLyoqIEBkZWZncm91cCBGU01DX1dhaXRfVGltaW5nIEZTTUMgV2FpdCBUaW1pbmcKICAgKiBAewogICAqLwotI2RlZmluZSBGU01DX1dBSVRfVElNSU5HX0JFRk9SRV9XUyAgICAgICAgICAgICAgIDB4MDAwMDAwMDBVCi0jZGVmaW5lIEZTTUNfV0FJVF9USU1JTkdfRFVSSU5HX1dTICAgICAgICAgICAgICAgMHgwMDAwMDgwMFUKKyNkZWZpbmUgRlNNQ19XQUlUX1RJTUlOR19CRUZPUkVfV1MgICAgICAgICAgICAgICAoMHgwMDAwMDAwMFUpCisjZGVmaW5lIEZTTUNfV0FJVF9USU1JTkdfRFVSSU5HX1dTICAgICAgICAgICAgICAgKDB4MDAwMDA4MDBVKQogLyoqCiAgICogQH0KICAgKi8KQEAgLTMzOSw4ICs0NjEsOCBAQAogLyoqIEBkZWZncm91cCBGU01DX1dyaXRlX09wZXJhdGlvbiBGU01DIFdyaXRlIE9wZXJhdGlvbgogICAqIEB7CiAgICovCi0jZGVmaW5lIEZTTUNfV1JJVEVfT1BFUkFUSU9OX0RJU0FCTEUgICAgICAgICAgICAgMHgwMDAwMDAwMFUKLSNkZWZpbmUgRlNNQ19XUklURV9PUEVSQVRJT05fRU5BQkxFICAgICAgICAgICAgICAweDAwMDAxMDAwVQorI2RlZmluZSBGU01DX1dSSVRFX09QRVJBVElPTl9ESVNBQkxFICAgICAgICAgICAgICgweDAwMDAwMDAwVSkKKyNkZWZpbmUgRlNNQ19XUklURV9PUEVSQVRJT05fRU5BQkxFICAgICAgICAgICAgICAoMHgwMDAwMTAwMFUpCiAvKioKICAgKiBAfQogICAqLwpAQCAtMzQ4LDggKzQ3MCw4IEBACiAvKiogQGRlZmdyb3VwIEZTTUNfV2FpdF9TaWduYWwgRlNNQyBXYWl0IFNpZ25hbAogICAqIEB7CiAgICovCi0jZGVmaW5lIEZTTUNfV0FJVF9TSUdOQUxfRElTQUJMRSAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMFUKLSNkZWZpbmUgRlNNQ19XQUlUX1NJR05BTF9FTkFCTEUgICAgICAgICAgICAgICAgICAweDAwMDAyMDAwVQorI2RlZmluZSBGU01DX1dBSVRfU0lHTkFMX0RJU0FCTEUgICAgICAgICAgICAgICAgICgweDAwMDAwMDAwVSkKKyNkZWZpbmUgRlNNQ19XQUlUX1NJR05BTF9FTkFCTEUgICAgICAgICAgICAgICAgICAoMHgwMDAwMjAwMFUpCiAvKioKICAgKiBAfQogICAqLwpAQCAtMzU3LDggKzQ3OSw4IEBACiAvKiogQGRlZmdyb3VwIEZTTUNfRXh0ZW5kZWRfTW9kZSBGU01DIEV4dGVuZGVkIE1vZGUKICAgKiBAewogICAqLwotI2RlZmluZSBGU01DX0VYVEVOREVEX01PREVfRElTQUJMRSAgICAgICAgICAgICAgIDB4MDAwMDAwMDBVCi0jZGVmaW5lIEZTTUNfRVhURU5ERURfTU9ERV9FTkFCTEUgICAgICAgICAgICAgICAgMHgwMDAwNDAwMFUKKyNkZWZpbmUgRlNNQ19FWFRFTkRFRF9NT0RFX0RJU0FCTEUgICAgICAgICAgICAgICAoMHgwMDAwMDAwMFUpCisjZGVmaW5lIEZTTUNfRVhURU5ERURfTU9ERV9FTkFCTEUgICAgICAgICAgICAgICAgKDB4MDAwMDQwMDBVKQogLyoqCiAgICogQH0KICAgKi8KQEAgLTM2Niw4ICs0ODgsOCBAQAogLyoqIEBkZWZncm91cCBGU01DX0FzeW5jaHJvbm91c1dhaXQgRlNNQyBBc3luY2hyb25vdXMgV2FpdAogICAqIEB7CiAgICovCi0jZGVmaW5lIEZTTUNfQVNZTkNIUk9OT1VTX1dBSVRfRElTQUJMRSAgICAgICAgICAgMHgwMDAwMDAwMFUKLSNkZWZpbmUgRlNNQ19BU1lOQ0hST05PVVNfV0FJVF9FTkFCTEUgICAgICAgICAgICAweDAwMDA4MDAwVQorI2RlZmluZSBGU01DX0FTWU5DSFJPTk9VU19XQUlUX0RJU0FCTEUgICAgICAgICAgICgweDAwMDAwMDAwVSkKKyNkZWZpbmUgRlNNQ19BU1lOQ0hST05PVVNfV0FJVF9FTkFCTEUgICAgICAgICAgICAoMHgwMDAwODAwMFUpCiAvKioKICAgKiBAfQogICAqLwpAQCAtMzc1LDIxICs0OTcsMTIgQEAKIC8qKiBAZGVmZ3JvdXAgRlNNQ19QYWdlX1NpemUgRlNNQyBQYWdlIFNpemUKICAgKiBAewogICAqLwotI2RlZmluZSBGU01DX1BBR0VfU0laRV9OT05FICAgICAgICAgICAweDAwMDAwMDAwVQotI2RlZmluZSBGU01DX1BBR0VfU0laRV8xMjggICAgICAgICAgICAoKHVpbnQzMl90KUZTTUNfQkNSMV9DUFNJWkVfMCkKLSNkZWZpbmUgRlNNQ19QQUdFX1NJWkVfMjU2ICAgICAgICAgICAgKCh1aW50MzJfdClGU01DX0JDUjFfQ1BTSVpFXzEpCi0jZGVmaW5lIEZTTUNfUEFHRV9TSVpFXzUxMiAgICAgICAgICAgICgodWludDMyX3QpKEZTTUNfQkNSMV9DUFNJWkVfMCB8IEZTTUNfQkNSMV9DUFNJWkVfMSkpCi0jZGVmaW5lIEZTTUNfUEFHRV9TSVpFXzEwMjQgICAgICAgICAgICgodWludDMyX3QpRlNNQ19CQ1IxX0NQU0laRV8yKQotLyoqCi0gICogQH0KLSAgKi8KLQotLyoqIEBkZWZncm91cCBGU01DX1dyaXRlX0ZJRk8gRlNNQyBXcml0ZSBGSUZPCi0gICogQG5vdGUgIFRoZXNlIHZhbHVlcyBhcmUgYXZhaWxhYmxlIG9ubHkgZm9yIHRoZSBTVE0zMkY0MTJWeC9aeC9SeCBkZXZpY2VzLgotICAqIEB7Ci0gICovCi0jZGVmaW5lIEZTTUNfV1JJVEVfRklGT19ESVNBQkxFICAgICAgICAgICAoKHVpbnQzMl90KUZTTUNfQkNSMV9XRkRJUykKLSNkZWZpbmUgRlNNQ19XUklURV9GSUZPX0VOQUJMRSAgICAgICAgICAgIDB4MDAwMDAwMDBVCisjZGVmaW5lIEZTTUNfUEFHRV9TSVpFX05PTkUgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDBVKQorI2RlZmluZSBGU01DX1BBR0VfU0laRV8xMjggICAgICAgICAgICAgICAgICAgICAgIEZTTUNfQkNSMV9DUFNJWkVfMAorI2RlZmluZSBGU01DX1BBR0VfU0laRV8yNTYgICAgICAgICAgICAgICAgICAgICAgIEZTTUNfQkNSMV9DUFNJWkVfMQorI2RlZmluZSBGU01DX1BBR0VfU0laRV81MTIgICAgICAgICAgICAgICAgICAgICAgIChGU01DX0JDUjFfQ1BTSVpFXzBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBGU01DX0JDUjFfQ1BTSVpFXzEpCisjZGVmaW5lIEZTTUNfUEFHRV9TSVpFXzEwMjQgICAgICAgICAgICAgICAgICAgICAgRlNNQ19CQ1IxX0NQU0laRV8yCiAvKioKICAgKiBAfQogICAqLwpAQCAtMzk3LDE4ICs1MTAsMzAgQEAKIC8qKiBAZGVmZ3JvdXAgRlNNQ19Xcml0ZV9CdXJzdCBGU01DIFdyaXRlIEJ1cnN0CiAgICogQHsKICAgKi8KLSNkZWZpbmUgRlNNQ19XUklURV9CVVJTVF9ESVNBQkxFICAgICAgICAgICAgICAgICAweDAwMDAwMDAwVQotI2RlZmluZSBGU01DX1dSSVRFX0JVUlNUX0VOQUJMRSAgICAgICAgICAgICAgICAgIDB4MDAwODAwMDBVCisjZGVmaW5lIEZTTUNfV1JJVEVfQlVSU1RfRElTQUJMRSAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDBVKQorI2RlZmluZSBGU01DX1dSSVRFX0JVUlNUX0VOQUJMRSAgICAgICAgICAgICAgICAgICgweDAwMDgwMDAwVSkKIC8qKgogICAqIEB9CiAgICovCi0gIAotLyoqIEBkZWZncm91cCBGU01DX0NvbnRpbm91c19DbG9jayBGU01DIENvbnRpbm91cyBDbG9jaworCisvKiogQGRlZmdyb3VwIEZTTUNfQ29udGlub3VzX0Nsb2NrIEZTTUMgQ29udGludW91cyBDbG9jawogICAqIEBub3RlICBUaGVzZSB2YWx1ZXMgYXJlIGF2YWlsYWJsZSBvbmx5IGZvciB0aGUgU1RNMzJGNDEyVngvWngvUnggZGV2aWNlcy4KICAgKiBAewogICAqLwotI2RlZmluZSBGU01DX0NPTlRJTlVPVVNfQ0xPQ0tfU1lOQ19PTkxZICAgICAgICAgIDB4MDAwMDAwMDBVCi0jZGVmaW5lIEZTTUNfQ09OVElOVU9VU19DTE9DS19TWU5DX0FTWU5DICAgICAgICAgMHgwMDEwMDAwMFUKKyNkZWZpbmUgRlNNQ19DT05USU5VT1VTX0NMT0NLX1NZTkNfT05MWSAgICAgICAgICAoMHgwMDAwMDAwMFUpCisjZGVmaW5lIEZTTUNfQ09OVElOVU9VU19DTE9DS19TWU5DX0FTWU5DICAgICAgICAgKDB4MDAxMDAwMDBVKQorLyoqCisgICogQH0KKyAgKi8KKworI2lmIGRlZmluZWQoRlNNQ19CQ1IxX1dGRElTKQorLyoqIEBkZWZncm91cCBGU01DX1dyaXRlX0ZJRk8gRlNNQyBXcml0ZSBGSUZPCisgICogQG5vdGUgIFRoZXNlIHZhbHVlcyBhcmUgYXZhaWxhYmxlIG9ubHkgZm9yIHRoZSBTVE0zMkY0MTJWeC9aeC9SeCBkZXZpY2VzLgorICAqIEB7CisgICovCisjZGVmaW5lIEZTTUNfV1JJVEVfRklGT19ESVNBQkxFICAgICAgICAgICAgICAgICAgRlNNQ19CQ1IxX1dGRElTCisjZGVmaW5lIEZTTUNfV1JJVEVfRklGT19FTkFCTEUgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDBVKQorI2VuZGlmIC8qIEZTTUNfQkNSMV9XRkRJUyAqLwogLyoqCiAgICogQH0KICAgKi8KQEAgLTQxNiwyNiArNTQxLDMxIEBACiAvKiogQGRlZmdyb3VwIEZTTUNfQWNjZXNzX01vZGUgRlNNQyBBY2Nlc3MgTW9kZQogICAqIEB7CiAgICovCi0jZGVmaW5lIEZTTUNfQUNDRVNTX01PREVfQSAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDBVCi0jZGVmaW5lIEZTTUNfQUNDRVNTX01PREVfQiAgICAgICAgICAgICAgICAgICAgICAgIDB4MTAwMDAwMDBVIAotI2RlZmluZSBGU01DX0FDQ0VTU19NT0RFX0MgICAgICAgICAgICAgICAgICAgICAgICAweDIwMDAwMDAwVQotI2RlZmluZSBGU01DX0FDQ0VTU19NT0RFX0QgICAgICAgICAgICAgICAgICAgICAgICAweDMwMDAwMDAwVQotLyoqCi0gICogQH0KLSAgKi8KKyNkZWZpbmUgRlNNQ19BQ0NFU1NfTU9ERV9BICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwMFUpCisjZGVmaW5lIEZTTUNfQUNDRVNTX01PREVfQiAgICAgICAgICAgICAgICAgICAgICAgKDB4MTAwMDAwMDBVKQorI2RlZmluZSBGU01DX0FDQ0VTU19NT0RFX0MgICAgICAgICAgICAgICAgICAgICAgICgweDIwMDAwMDAwVSkKKyNkZWZpbmUgRlNNQ19BQ0NFU1NfTU9ERV9EICAgICAgICAgICAgICAgICAgICAgICAoMHgzMDAwMDAwMFUpCiAvKioKICAgKiBAfQogICAqLwogCi0jaWYgZGVmaW5lZChTVE0zMkY0MDV4eCkgfHwgZGVmaW5lZChTVE0zMkY0MTV4eCkgfHwgZGVmaW5lZChTVE0zMkY0MDd4eCkgfHwgZGVmaW5lZChTVE0zMkY0MTd4eCkKLS8qKiBAZGVmZ3JvdXAgRlNNQ19MTF9OQU5EX0NvbnRyb2xsZXIgRlNNQyBOQU5EIGFuZCBQQ0NBUkQgQ29udHJvbGxlcgorLyoqCisgICogQH0KKyAgKi8KKyNlbmRpZiAvKiBGU01DX0JhbmsxICovCisKKyNpZiBkZWZpbmVkKEZTTUNfQmFuazJfMykgfHwgZGVmaW5lZChGU01DX0Jhbms0KQorCisvKiogQGRlZmdyb3VwIEZTTUNfTExfTkFORF9Db250cm9sbGVyIEZTTUMgTkFORCBDb250cm9sbGVyCiAgICogQHsKICAgKi8KIC8qKiBAZGVmZ3JvdXAgRlNNQ19OQU5EX0JhbmsgRlNNQyBOQU5EIEJhbmsKICAgKiBAewogICAqLwotI2RlZmluZSBGU01DX05BTkRfQkFOSzIgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMTBVCi0jZGVmaW5lIEZTTUNfTkFORF9CQU5LMyAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDEwMFUKKyNpZiBkZWZpbmVkKEZTTUNfQmFuazJfMykKKyNkZWZpbmUgRlNNQ19OQU5EX0JBTksyICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAxMFUpCisjZW5kaWYKKyNkZWZpbmUgRlNNQ19OQU5EX0JBTkszICAgICAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDEwMFUpCiAvKioKICAgKiBAfQogICAqLwpAQCAtNDQzLDggKzU3Myw4IEBACiAvKiogQGRlZmdyb3VwIEZTTUNfV2FpdF9mZWF0dXJlIEZTTUMgV2FpdCBmZWF0dXJlCiAgICogQHsKICAgKi8KLSNkZWZpbmUgRlNNQ19OQU5EX1BDQ19XQUlUX0ZFQVRVUkVfRElTQUJMRSAgICAgICAgICAgMHgwMDAwMDAwMFUKLSNkZWZpbmUgRlNNQ19OQU5EX1BDQ19XQUlUX0ZFQVRVUkVfRU5BQkxFICAgICAgICAgICAgMHgwMDAwMDAwMlUKKyNkZWZpbmUgRlNNQ19OQU5EX1BDQ19XQUlUX0ZFQVRVUkVfRElTQUJMRSAgICAgICAoMHgwMDAwMDAwMFUpCisjZGVmaW5lIEZTTUNfTkFORF9QQ0NfV0FJVF9GRUFUVVJFX0VOQUJMRSAgICAgICAgKDB4MDAwMDAwMDJVKQogLyoqCiAgICogQH0KICAgKi8KQEAgLTQ1Miw4ICs1ODIsMTAgQEAKIC8qKiBAZGVmZ3JvdXAgRlNNQ19QQ1JfTWVtb3J5X1R5cGUgRlNNQyBQQ1IgTWVtb3J5IFR5cGUKICAgKiBAewogICAqLwotI2RlZmluZSBGU01DX1BDUl9NRU1PUllfVFlQRV9QQ0NBUkQgICAgICAgIDB4MDAwMDAwMDBVCi0jZGVmaW5lIEZTTUNfUENSX01FTU9SWV9UWVBFX05BTkQgICAgICAgICAgMHgwMDAwMDAwOFUKKyNpZiBkZWZpbmVkKEZTTUNfQmFuazQpCisjZGVmaW5lIEZTTUNfUENSX01FTU9SWV9UWVBFX1BDQ0FSRCAgICAgICAgICAgICAgKDB4MDAwMDAwMDBVKQorI2VuZGlmIC8qIEZTTUNfQmFuazQgKi8KKyNkZWZpbmUgRlNNQ19QQ1JfTUVNT1JZX1RZUEVfTkFORCAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOFUpCiAvKioKICAgKiBAfQogICAqLwpAQCAtNDYxLDggKzU5Myw4IEBACiAvKiogQGRlZmdyb3VwIEZTTUNfTkFORF9EYXRhX1dpZHRoIEZTTUMgTkFORCBEYXRhIFdpZHRoCiAgICogQHsKICAgKi8KLSNkZWZpbmUgRlNNQ19OQU5EX1BDQ19NRU1fQlVTX1dJRFRIXzggICAgICAgICAgICAgICAgMHgwMDAwMDAwMFUKLSNkZWZpbmUgRlNNQ19OQU5EX1BDQ19NRU1fQlVTX1dJRFRIXzE2ICAgICAgICAgICAgICAgMHgwMDAwMDAxMFUKKyNkZWZpbmUgRlNNQ19OQU5EX1BDQ19NRU1fQlVTX1dJRFRIXzggICAgICAgICAgICAoMHgwMDAwMDAwMFUpCisjZGVmaW5lIEZTTUNfTkFORF9QQ0NfTUVNX0JVU19XSURUSF8xNiAgICAgICAgICAgKDB4MDAwMDAwMTBVKQogLyoqCiAgICogQH0KICAgKi8KQEAgLTQ3MCw4ICs2MDIsOCBAQAogLyoqIEBkZWZncm91cCBGU01DX0VDQyBGU01DIEVDQwogICAqIEB7CiAgICovCi0jZGVmaW5lIEZTTUNfTkFORF9FQ0NfRElTQUJMRSAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMFUKLSNkZWZpbmUgRlNNQ19OQU5EX0VDQ19FTkFCTEUgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDQwVQorI2RlZmluZSBGU01DX05BTkRfRUNDX0RJU0FCTEUgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAwVSkKKyNkZWZpbmUgRlNNQ19OQU5EX0VDQ19FTkFCTEUgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDA0MFUpCiAvKioKICAgKiBAfQogICAqLwpAQCAtNDc5LDM4ICs2MTEsNDMgQEAKIC8qKiBAZGVmZ3JvdXAgRlNNQ19FQ0NfUGFnZV9TaXplIEZTTUMgRUNDIFBhZ2UgU2l6ZQogICAqIEB7CiAgICovCi0jZGVmaW5lIEZTTUNfTkFORF9FQ0NfUEFHRV9TSVpFXzI1NkJZVEUgICAgICAgICAgMHgwMDAwMDAwMFUKLSNkZWZpbmUgRlNNQ19OQU5EX0VDQ19QQUdFX1NJWkVfNTEyQllURSAgICAgICAgICAweDAwMDIwMDAwVQotI2RlZmluZSBGU01DX05BTkRfRUNDX1BBR0VfU0laRV8xMDI0QllURSAgICAgICAgIDB4MDAwNDAwMDBVCi0jZGVmaW5lIEZTTUNfTkFORF9FQ0NfUEFHRV9TSVpFXzIwNDhCWVRFICAgICAgICAgMHgwMDA2MDAwMFUKLSNkZWZpbmUgRlNNQ19OQU5EX0VDQ19QQUdFX1NJWkVfNDA5NkJZVEUgICAgICAgICAweDAwMDgwMDAwVQotI2RlZmluZSBGU01DX05BTkRfRUNDX1BBR0VfU0laRV84MTkyQllURSAgICAgICAgIDB4MDAwQTAwMDBVCisjZGVmaW5lIEZTTUNfTkFORF9FQ0NfUEFHRV9TSVpFXzI1NkJZVEUgICAgICAgICAgKDB4MDAwMDAwMDBVKQorI2RlZmluZSBGU01DX05BTkRfRUNDX1BBR0VfU0laRV81MTJCWVRFICAgICAgICAgICgweDAwMDIwMDAwVSkKKyNkZWZpbmUgRlNNQ19OQU5EX0VDQ19QQUdFX1NJWkVfMTAyNEJZVEUgICAgICAgICAoMHgwMDA0MDAwMFUpCisjZGVmaW5lIEZTTUNfTkFORF9FQ0NfUEFHRV9TSVpFXzIwNDhCWVRFICAgICAgICAgKDB4MDAwNjAwMDBVKQorI2RlZmluZSBGU01DX05BTkRfRUNDX1BBR0VfU0laRV80MDk2QllURSAgICAgICAgICgweDAwMDgwMDAwVSkKKyNkZWZpbmUgRlNNQ19OQU5EX0VDQ19QQUdFX1NJWkVfODE5MkJZVEUgICAgICAgICAoMHgwMDBBMDAwMFUpCiAvKioKICAgKiBAfQogICAqLwotLyoqCi0gICogQH0KLSAgKi8gIAotI2VuZGlmIC8qIFNUTTMyRjQwNXh4IHx8IFNUTTMyRjQxNXh4IHx8IFNUTTMyRjQwN3h4IHx8IFNUTTMyRjQxN3h4ICovCiAKLS8qKiBAZGVmZ3JvdXAgRlNNQ19MTF9JbnRlcnJ1cHRfZGVmaW5pdGlvbiBGU01DIEludGVycnVwdCBkZWZpbml0aW9uCi0gICogQHsKLSAgKi8gIAotI2RlZmluZSBGU01DX0lUX1JJU0lOR19FREdFICAgICAgICAgICAgICAgIDB4MDAwMDAwMDhVCi0jZGVmaW5lIEZTTUNfSVRfTEVWRUwgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAxMFUKLSNkZWZpbmUgRlNNQ19JVF9GQUxMSU5HX0VER0UgICAgICAgICAgICAgICAweDAwMDAwMDIwVQotI2RlZmluZSBGU01DX0lUX1JFRlJFU0hfRVJST1IgICAgICAgICAgICAgIDB4MDAwMDQwMDBVCiAvKioKICAgKiBAfQogICAqLwotICAgIAotLyoqIEBkZWZncm91cCBGU01DX0xMX0ZsYWdfZGVmaW5pdGlvbiAgRlNNQyBGbGFnIGRlZmluaXRpb24KKyNlbmRpZiAvKiBGU01DX0JhbmsyXzMgfHwgRlNNQ19CYW5rNCAqLworCisKKy8qKiBAZGVmZ3JvdXAgRlNNQ19MTF9JbnRlcnJ1cHRfZGVmaW5pdGlvbiBGU01DIExvdyBMYXllciBJbnRlcnJ1cHQgZGVmaW5pdGlvbgogICAqIEB7Ci0gICovIAotI2RlZmluZSBGU01DX0ZMQUdfUklTSU5HX0VER0UgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDFVCi0jZGVmaW5lIEZTTUNfRkxBR19MRVZFTCAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMlUKLSNkZWZpbmUgRlNNQ19GTEFHX0ZBTExJTkdfRURHRSAgICAgICAgICAgICAgICAgICAweDAwMDAwMDA0VQotI2RlZmluZSBGU01DX0ZMQUdfRkVNUFQgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwNDBVCisgICovCisjaWYgZGVmaW5lZChGU01DX0JhbmsyXzMpIHx8IGRlZmluZWQoRlNNQ19CYW5rNCkKKyNkZWZpbmUgRlNNQ19JVF9SSVNJTkdfRURHRSAgICAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwOFUpCisjZGVmaW5lIEZTTUNfSVRfTEVWRUwgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMTBVKQorI2RlZmluZSBGU01DX0lUX0ZBTExJTkdfRURHRSAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDIwVSkKKyNlbmRpZiAvKiBGU01DX0JhbmsyXzMgfHwgRlNNQ19CYW5rNCAqLworLyoqCisgICogQH0KKyAgKi8KKworLyoqIEBkZWZncm91cCBGU01DX0xMX0ZsYWdfZGVmaW5pdGlvbiBGU01DIExvdyBMYXllciBGbGFnIGRlZmluaXRpb24KKyAgKiBAeworICAqLworI2lmIGRlZmluZWQoRlNNQ19CYW5rMl8zKSB8fCBkZWZpbmVkKEZTTUNfQmFuazQpCisjZGVmaW5lIEZTTUNfRkxBR19SSVNJTkdfRURHRSAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwMDFVKQorI2RlZmluZSBGU01DX0ZMQUdfTEVWRUwgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDAwMDAyVSkKKyNkZWZpbmUgRlNNQ19GTEFHX0ZBTExJTkdfRURHRSAgICAgICAgICAgICAgICAgICAoMHgwMDAwMDAwNFUpCisjZGVmaW5lIEZTTUNfRkxBR19GRU1QVCAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMDAwNDBVKQorI2VuZGlmIC8qIEZTTUNfQmFuazJfMyB8fCBGU01DX0Jhbms0ICovCiAvKioKICAgKiBAfQogICAqLwpAQCAtNTE4LDE5ICs2NTUsOCBAQAogLyoqIEBkZWZncm91cCBGU01DX0xMX0FsaWFzX2RlZmluaXRpb24gIEZTTUMgQWxpYXMgZGVmaW5pdGlvbgogICAqIEB7CiAgICovCi0jZGVmaW5lIEZTTUNfTk9SU1JBTV9UeXBlRGVmICAgICAgICAgICAgICAgICAgRlNNQ19CYW5rMV9UeXBlRGVmCi0jZGVmaW5lIEZTTUNfTk9SU1JBTV9FWFRFTkRFRF9UeXBlRGVmICAgICAgICAgRlNNQ19CYW5rMUVfVHlwZURlZgotI2lmIGRlZmluZWQoU1RNMzJGNDA1eHgpIHx8IGRlZmluZWQoU1RNMzJGNDE1eHgpIHx8IGRlZmluZWQoU1RNMzJGNDA3eHgpIHx8IGRlZmluZWQoU1RNMzJGNDE3eHgpCi0jZGVmaW5lIEZTTUNfTkFORF9UeXBlRGVmICAgICAgICAgICAgICAgICAgICAgRlNNQ19CYW5rMl8zX1R5cGVEZWYKLSNkZWZpbmUgRlNNQ19QQ0NBUkRfVHlwZURlZiAgICAgICAgICAgICAgICAgICBGU01DX0Jhbms0X1R5cGVEZWYKLSNlbmRpZiAvKiBTVE0zMkY0MDV4eCB8fCBTVE0zMkY0MTV4eCB8fCBTVE0zMkY0MDd4eCB8fCBTVE0zMkY0MTd4eCAqLwotCi0jZGVmaW5lIEZTTUNfTk9SU1JBTV9ERVZJQ0UgICAgICAgICAgICAgICAgICAgRlNNQ19CYW5rMQotI2RlZmluZSBGU01DX05PUlNSQU1fRVhURU5ERURfREVWSUNFICAgICAgICAgIEZTTUNfQmFuazFFCi0jaWYgZGVmaW5lZChTVE0zMkY0MDV4eCkgfHwgZGVmaW5lZChTVE0zMkY0MTV4eCkgfHwgZGVmaW5lZChTVE0zMkY0MDd4eCkgfHwgZGVmaW5lZChTVE0zMkY0MTd4eCkKLSNkZWZpbmUgRlNNQ19OQU5EX0RFVklDRSAgICAgICAgICAgICAgICAgICAgICBGU01DX0JhbmsyXzMKLSNkZWZpbmUgRlNNQ19QQ0NBUkRfREVWSUNFICAgICAgICAgICAgICAgICAgICBGU01DX0Jhbms0Ci0jZW5kaWYgLyogU1RNMzJGNDA1eHggfHwgU1RNMzJGNDE1eHggfHwgU1RNMzJGNDA3eHggfHwgU1RNMzJGNDE3eHggKi8KKyNkZWZpbmUgRk1DX1dSSVRFX09QRVJBVElPTl9ESVNBQkxFICAgICAgICAgIEZTTUNfV1JJVEVfT1BFUkFUSU9OX0RJU0FCTEUKKyNkZWZpbmUgRk1DX1dSSVRFX09QRVJBVElPTl9FTkFCTEUgICAgICAgICAgIEZTTUNfV1JJVEVfT1BFUkFUSU9OX0VOQUJMRQogCiAjZGVmaW5lIEZNQ19OT1JTUkFNX01FTV9CVVNfV0lEVEhfOCAgICAgICAgICAgRlNNQ19OT1JTUkFNX01FTV9CVVNfV0lEVEhfOAogI2RlZmluZSBGTUNfTk9SU1JBTV9NRU1fQlVTX1dJRFRIXzE2ICAgICAgICAgIEZTTUNfTk9SU1JBTV9NRU1fQlVTX1dJRFRIXzE2CkBAIC01NDksNyArNjc1LDcgQEAKICNkZWZpbmUgRk1DX05PUlNSQU1fV3JpdGVPcGVyYXRpb25fRGlzYWJsZSAgICBGU01DX05PUlNSQU1fV3JpdGVPcGVyYXRpb25fRGlzYWJsZQogCiAjZGVmaW5lIF9fRk1DX05PUlNSQU1fRU5BQkxFICAgICAgICAgICAgICAgICAgX19GU01DX05PUlNSQU1fRU5BQkxFCi0jZGVmaW5lIF9fRk1DX05PUlNSQU1fRElTQUJMRSAgICAgICAgICAgICAgICAgX19GU01DX05PUlNSQU1fRElTQUJMRSAKKyNkZWZpbmUgX19GTUNfTk9SU1JBTV9ESVNBQkxFICAgICAgICAgICAgICAgICBfX0ZTTUNfTk9SU1JBTV9ESVNBQkxFCiAKICNpZiBkZWZpbmVkKFNUTTMyRjQwNXh4KSB8fCBkZWZpbmVkKFNUTTMyRjQxNXh4KSB8fCBkZWZpbmVkKFNUTTMyRjQwN3h4KSB8fCBkZWZpbmVkKFNUTTMyRjQxN3h4KQogI2RlZmluZSBGTUNfTkFORF9Jbml0VHlwZURlZiAgICAgICAgICAgICAgICAgIEZTTUNfTkFORF9Jbml0VHlwZURlZgpAQCAtNTkxLDE2ICs3MTcsMTYgQEAKICNlbmRpZiAvKiBTVE0zMkY0MDV4eCB8fCBTVE0zMkY0MTV4eCB8fCBTVE0zMkY0MDd4eCB8fCBTVE0zMkY0MTd4eCAqLwogCiAjZGVmaW5lIEZNQ19OT1JTUkFNX0RFVklDRSAgICAgICAgICAgICAgICAgICAgRlNNQ19OT1JTUkFNX0RFVklDRQotI2RlZmluZSBGTUNfTk9SU1JBTV9FWFRFTkRFRF9ERVZJQ0UgICAgICAgICAgIEZTTUNfTk9SU1JBTV9FWFRFTkRFRF9ERVZJQ0UgIAorI2RlZmluZSBGTUNfTk9SU1JBTV9FWFRFTkRFRF9ERVZJQ0UgICAgICAgICAgIEZTTUNfTk9SU1JBTV9FWFRFTkRFRF9ERVZJQ0UKICNpZiBkZWZpbmVkKFNUTTMyRjQwNXh4KSB8fCBkZWZpbmVkKFNUTTMyRjQxNXh4KSB8fCBkZWZpbmVkKFNUTTMyRjQwN3h4KSB8fCBkZWZpbmVkKFNUTTMyRjQxN3h4KQogI2RlZmluZSBGTUNfTkFORF9ERVZJQ0UgICAgICAgICAgICAgICAgICAgICAgIEZTTUNfTkFORF9ERVZJQ0UKLSNkZWZpbmUgRk1DX1BDQ0FSRF9ERVZJQ0UgICAgICAgICAgICAgICAgICAgICBGU01DX1BDQ0FSRF9ERVZJQ0UgCisjZGVmaW5lIEZNQ19QQ0NBUkRfREVWSUNFICAgICAgICAgICAgICAgICAgICAgRlNNQ19QQ0NBUkRfREVWSUNFCiAKICNkZWZpbmUgRk1DX05BTkRfQkFOSzIgICAgICAgICAgICAgICAgICAgICAgICBGU01DX05BTkRfQkFOSzIKICNlbmRpZiAvKiBTVE0zMkY0MDV4eCB8fCBTVE0zMkY0MTV4eCB8fCBTVE0zMkY0MDd4eCB8fCBTVE0zMkY0MTd4eCAqLwogCi0jZGVmaW5lIEZNQ19OT1JTUkFNX0JBTksxICAgICAgICAgICAgICAgICAgICAgRlNNQ19OT1JTUkFNX0JBTksxICAgIAotI2RlZmluZSBGTUNfTk9SU1JBTV9CQU5LMiAgICAgICAgICAgICAgICAgICAgIEZTTUNfTk9SU1JBTV9CQU5LMiAgICAKKyNkZWZpbmUgRk1DX05PUlNSQU1fQkFOSzEgICAgICAgICAgICAgICAgICAgICBGU01DX05PUlNSQU1fQkFOSzEKKyNkZWZpbmUgRk1DX05PUlNSQU1fQkFOSzIgICAgICAgICAgICAgICAgICAgICBGU01DX05PUlNSQU1fQkFOSzIKICNkZWZpbmUgRk1DX05PUlNSQU1fQkFOSzMgICAgICAgICAgICAgICAgICAgICBGU01DX05PUlNSQU1fQkFOSzMKIAogI2RlZmluZSBGTUNfSVRfUklTSU5HX0VER0UgICAgICAgICAgICAgICAgICAgIEZTTUNfSVRfUklTSU5HX0VER0UKQEAgLTYyMCwzODggKzc0NiwzMTcgQEAKICAgKiBAfQogICAqLwogCisvKioKKyAgKiBAfQorICAqLworCiAvKiBQcml2YXRlIG1hY3JvIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwotLyoqIEBkZWZncm91cCBGU01DX0xMX1ByaXZhdGVfTWFjcm9zIEZTTUMgUHJpdmF0ZSBNYWNyb3MKKy8qKiBAZGVmZ3JvdXAgRlNNQ19MTF9Qcml2YXRlX01hY3JvcyBGU01DX0xMICBQcml2YXRlIE1hY3JvcworICAqIEB7CisgICovCisjaWYgZGVmaW5lZChGU01DX0JhbmsxKQorLyoqIEBkZWZncm91cCBGU01DX0xMX05PUl9NYWNyb3MgRlNNQyBOT1IvU1JBTSBNYWNyb3MKKyAgKiBAYnJpZWYgbWFjcm9zIHRvIGhhbmRsZSBOT1IgZGV2aWNlIGVuYWJsZS9kaXNhYmxlIGFuZCByZWFkL3dyaXRlIG9wZXJhdGlvbnMKICAgKiBAewogICAqLwogCi0vKiogQGRlZmdyb3VwIEZTTUNfTExfTk9SX01hY3JvcyBGU01DIE5PUi9TUkFNIEV4cG9ydGVkIE1hY3JvcwotICogIEBicmllZiBtYWNyb3MgdG8gaGFuZGxlIE5PUiBkZXZpY2UgZW5hYmxlL2Rpc2FibGUgYW5kIHJlYWQvd3JpdGUgb3BlcmF0aW9ucwotICogIEB7Ci0gKi8KIC8qKgogICAqIEBicmllZiAgRW5hYmxlIHRoZSBOT1JTUkFNIGRldmljZSBhY2Nlc3MuCiAgICogQHBhcmFtICBfX0lOU1RBTkNFX18gRlNNQ19OT1JTUkFNIEluc3RhbmNlCi0gICogQHBhcmFtICBfX0JBTktfXyBGU01DX05PUlNSQU0gQmFuayAgICAKLSAgKiBAcmV0dmFsIG5vbmUKLSAgKi8gCi0jZGVmaW5lIF9fRlNNQ19OT1JTUkFNX0VOQUJMRShfX0lOU1RBTkNFX18sIF9fQkFOS19fKSAgKChfX0lOU1RBTkNFX18pLT5CVENSWyhfX0JBTktfXyldIHw9IEZTTUNfQkNSMV9NQktFTikKKyAgKiBAcGFyYW0gIF9fQkFOS19fIEZTTUNfTk9SU1JBTSBCYW5rCisgICogQHJldHZhbCBOb25lCisgICovCisjZGVmaW5lIF9fRlNNQ19OT1JTUkFNX0VOQUJMRShfX0lOU1RBTkNFX18sIF9fQkFOS19fKSAgKChfX0lOU1RBTkNFX18pLT5CVENSWyhfX0JBTktfXyldXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHw9IEZTTUNfQkNSMV9NQktFTikKIAogLyoqCiAgICogQGJyaWVmICBEaXNhYmxlIHRoZSBOT1JTUkFNIGRldmljZSBhY2Nlc3MuCiAgICogQHBhcmFtICBfX0lOU1RBTkNFX18gRlNNQ19OT1JTUkFNIEluc3RhbmNlCi0gICogQHBhcmFtICBfX0JBTktfXyBGU01DX05PUlNSQU0gQmFuayAgIAotICAqIEByZXR2YWwgbm9uZQotICAqLyAKLSNkZWZpbmUgX19GU01DX05PUlNSQU1fRElTQUJMRShfX0lOU1RBTkNFX18sIF9fQkFOS19fKSAoKF9fSU5TVEFOQ0VfXyktPkJUQ1JbKF9fQkFOS19fKV0gJj0gfkZTTUNfQkNSMV9NQktFTikgIAorICAqIEBwYXJhbSAgX19CQU5LX18gRlNNQ19OT1JTUkFNIEJhbmsKKyAgKiBAcmV0dmFsIE5vbmUKKyAgKi8KKyNkZWZpbmUgX19GU01DX05PUlNSQU1fRElTQUJMRShfX0lOU1RBTkNFX18sIF9fQkFOS19fKSAoKF9fSU5TVEFOQ0VfXyktPkJUQ1JbKF9fQkFOS19fKV1cCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJj0gfkZTTUNfQkNSMV9NQktFTikKKwogLyoqCiAgICogQH0KLSAgKi8gCi0gIAorICAqLworI2VuZGlmIC8qIEZTTUNfQmFuazEgKi8KKworI2lmIGRlZmluZWQoRlNNQ19CYW5rMl8zKQogLyoqIEBkZWZncm91cCBGU01DX0xMX05BTkRfTWFjcm9zIEZTTUMgTkFORCBNYWNyb3MKLSAqICBAYnJpZWYgbWFjcm9zIHRvIGhhbmRsZSBOQU5EIGRldmljZSBlbmFibGUvZGlzYWJsZQotICogIEB7Ci0gKi8KLSNpZiBkZWZpbmVkKFNUTTMyRjQwNXh4KSB8fCBkZWZpbmVkKFNUTTMyRjQxNXh4KSB8fCBkZWZpbmVkKFNUTTMyRjQwN3h4KSB8fCBkZWZpbmVkKFNUTTMyRjQxN3h4KQorICAqICBAYnJpZWYgbWFjcm9zIHRvIGhhbmRsZSBOQU5EIGRldmljZSBlbmFibGUvZGlzYWJsZQorICAqICBAeworICAqLworCiAvKioKICAgKiBAYnJpZWYgIEVuYWJsZSB0aGUgTkFORCBkZXZpY2UgYWNjZXNzLgogICAqIEBwYXJhbSAgX19JTlNUQU5DRV9fIEZTTUNfTkFORCBJbnN0YW5jZQotICAqIEBwYXJhbSAgX19CQU5LX18gRlNNQ19OQU5EIEJhbmsgICAgCi0gICogQHJldHZhbCBub25lCi0gICovICAKKyAgKiBAcGFyYW0gIF9fQkFOS19fICAgICBGU01DX05BTkQgQmFuaworICAqIEByZXR2YWwgTm9uZQorICAqLwogI2RlZmluZSBfX0ZTTUNfTkFORF9FTkFCTEUoX19JTlNUQU5DRV9fLCBfX0JBTktfXykgICgoKF9fQkFOS19fKSA9PSBGU01DX05BTkRfQkFOSzIpPyAoKF9fSU5TVEFOQ0VfXyktPlBDUjIgfD0gRlNNQ19QQ1IyX1BCS0VOKTogXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoX19JTlNUQU5DRV9fKS0+UENSMyB8PSBGU01DX1BDUjNfUEJLRU4pKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoX19JTlNUQU5DRV9fKS0+UENSMyB8PSBGU01DX1BDUjNfUEJLRU4pKQogCiAvKioKICAgKiBAYnJpZWYgIERpc2FibGUgdGhlIE5BTkQgZGV2aWNlIGFjY2Vzcy4KICAgKiBAcGFyYW0gIF9fSU5TVEFOQ0VfXyBGU01DX05BTkQgSW5zdGFuY2UKLSAgKiBAcGFyYW0gIF9fQkFOS19fIEZTTUNfTkFORCBCYW5rICAKLSAgKiBAcmV0dmFsIG5vbmUKLSAgKi8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKLSNkZWZpbmUgX19GU01DX05BTkRfRElTQUJMRShfX0lOU1RBTkNFX18sIF9fQkFOS19fKSAoKChfX0JBTktfXykgPT0gRlNNQ19OQU5EX0JBTksyKT8gKChfX0lOU1RBTkNFX18pLT5QQ1IyICY9IH5GU01DX1BDUjJfUEJLRU4pOiBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fSU5TVEFOQ0VfXyktPlBDUjMgJj0gfkZTTUNfUENSM19QQktFTikpCisgICogQHBhcmFtICBfX0JBTktfXyAgICAgRlNNQ19OQU5EIEJhbmsKKyAgKiBAcmV0dmFsIE5vbmUKKyAgKi8KKyNkZWZpbmUgX19GU01DX05BTkRfRElTQUJMRShfX0lOU1RBTkNFX18sIF9fQkFOS19fKSAoKChfX0JBTktfXykgPT0gRlNNQ19OQU5EX0JBTksyKT8gQ0xFQVJfQklUKChfX0lOU1RBTkNFX18pLT5QQ1IyLCBGU01DX1BDUjJfUEJLRU4pOiBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ0xFQVJfQklUKChfX0lOU1RBTkNFX18pLT5QQ1IzLCBGU01DX1BDUjNfUEJLRU4pKQorCiAvKioKICAgKiBAfQotICAqLyAKLSAgCi0vKiogQGRlZmdyb3VwIEZTTUNfTExfUENDQVJEX01hY3JvcyBGU01DIFBDQ0FSRCBNYWNyb3MKLSAgKiAgQGJyaWVmIG1hY3JvcyB0byBoYW5kbGUgU1JBTSByZWFkL3dyaXRlIG9wZXJhdGlvbnMgCisgICovCisjZW5kaWYgLyogRlNNQ19CYW5rMl8zICovCisKKyNpZiBkZWZpbmVkKEZTTUNfQmFuazQpCisvKiogQGRlZmdyb3VwIEZTTUNfTExfUENDQVJEX01hY3JvcyBGTUMgUENDQVJEIE1hY3JvcworICAqICBAYnJpZWYgbWFjcm9zIHRvIGhhbmRsZSBQQ0NBUkQgcmVhZC93cml0ZSBvcGVyYXRpb25zCiAgICogIEB7CiAgICovCiAvKioKICAgKiBAYnJpZWYgIEVuYWJsZSB0aGUgUENDQVJEIGRldmljZSBhY2Nlc3MuCi0gICogQHBhcmFtICBfX0lOU1RBTkNFX18gRlNNQ19QQ0NBUkQgSW5zdGFuY2UgIAotICAqIEByZXR2YWwgbm9uZQotICAqLyAKKyAgKiBAcGFyYW0gIF9fSU5TVEFOQ0VfXyBGU01DX1BDQ0FSRCBJbnN0YW5jZQorICAqIEByZXR2YWwgTm9uZQorICAqLwogI2RlZmluZSBfX0ZTTUNfUENDQVJEX0VOQUJMRShfX0lOU1RBTkNFX18pICAoKF9fSU5TVEFOQ0VfXyktPlBDUjQgfD0gRlNNQ19QQ1I0X1BCS0VOKQogCiAvKioKICAgKiBAYnJpZWYgIERpc2FibGUgdGhlIFBDQ0FSRCBkZXZpY2UgYWNjZXNzLgotICAqIEBwYXJhbSAgX19JTlNUQU5DRV9fIEZTTUNfUENDQVJEIEluc3RhbmNlICAgCi0gICogQHJldHZhbCBub25lCi0gICovIAorICAqIEBwYXJhbSAgX19JTlNUQU5DRV9fIEZTTUNfUENDQVJEIEluc3RhbmNlCisgICogQHJldHZhbCBOb25lCisgICovCiAjZGVmaW5lIF9fRlNNQ19QQ0NBUkRfRElTQUJMRShfX0lOU1RBTkNFX18pICgoX19JTlNUQU5DRV9fKS0+UENSNCAmPSB+RlNNQ19QQ1I0X1BCS0VOKQogLyoqCiAgICogQH0KICAgKi8KLSAgCi0vKiogQGRlZmdyb3VwIEZTTUNfTExfRmxhZ19JbnRlcnJ1cHRfTWFjcm9zIEZTTUMgRmxhZyZJbnRlcnJ1cHQgTWFjcm9zCi0gKiAgQGJyaWVmIG1hY3JvcyB0byBoYW5kbGUgRlNNQyBmbGFncyBhbmQgaW50ZXJydXB0cwotICogQHsKLSAqLyAKLS8qKgotICAqIEBicmllZiAgRW5hYmxlIHRoZSBOQU5EIGRldmljZSBpbnRlcnJ1cHQuCi0gICogQHBhcmFtICBfX0lOU1RBTkNFX18gRlNNQ19OQU5EIEluc3RhbmNlCi0gICogQHBhcmFtICBfX0JBTktfXyBGU01DX05BTkQgQmFuayAKLSAgKiBAcGFyYW0gIF9fSU5URVJSVVBUX18gRlNNQ19OQU5EIGludGVycnVwdCAKLSAgKiAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhbnkgY29tYmluYXRpb24gb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXM6Ci0gICogICAgICAgICAgICBAYXJnIEZTTUNfSVRfUklTSU5HX0VER0U6IEludGVycnVwdCByaXNpbmcgZWRnZS4KLSAgKiAgICAgICAgICAgIEBhcmcgRlNNQ19JVF9MRVZFTDogSW50ZXJydXB0IGxldmVsLgotICAqICAgICAgICAgICAgQGFyZyBGU01DX0lUX0ZBTExJTkdfRURHRTogSW50ZXJydXB0IGZhbGxpbmcgZWRnZS4gICAgICAgIAotICAqIEByZXR2YWwgTm9uZQotICAqLyAgCi0jZGVmaW5lIF9fRlNNQ19OQU5EX0VOQUJMRV9JVChfX0lOU1RBTkNFX18sIF9fQkFOS19fLCBfX0lOVEVSUlVQVF9fKSAgKCgoX19CQU5LX18pID09IEZTTUNfTkFORF9CQU5LMik/ICgoX19JTlNUQU5DRV9fKS0+U1IyIHw9IChfX0lOVEVSUlVQVF9fKSk6IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoX19JTlNUQU5DRV9fKS0+U1IzIHw9IChfX0lOVEVSUlVQVF9fKSkpCisKKyNlbmRpZgorI2lmIGRlZmluZWQoRlNNQ19CYW5rMl8zKQorLyoqIEBkZWZncm91cCBGU01DX0xMX05BTkRfSW50ZXJydXB0IEZTTUMgTkFORCBJbnRlcnJ1cHQKKyAgKiBAYnJpZWYgbWFjcm9zIHRvIGhhbmRsZSBOQU5EIGludGVycnVwdHMKKyAgKiBAeworICAqLwogCiAvKioKLSAgKiBAYnJpZWYgIERpc2FibGUgdGhlIE5BTkQgZGV2aWNlIGludGVycnVwdC4KLSAgKiBAcGFyYW0gIF9fSU5TVEFOQ0VfXyBGU01DX05BTkQgSW5zdGFuY2UKLSAgKiBAcGFyYW0gIF9fQkFOS19fIEZTTUNfTkFORCBCYW5rIAorICAqIEBicmllZiAgRW5hYmxlIHRoZSBOQU5EIGRldmljZSBpbnRlcnJ1cHQuCisgICogQHBhcmFtICBfX0lOU1RBTkNFX18gIEZTTUNfTkFORCBpbnN0YW5jZQorICAqIEBwYXJhbSAgX19CQU5LX18gICAgIEZTTUNfTkFORCBCYW5rCiAgICogQHBhcmFtICBfX0lOVEVSUlVQVF9fIEZTTUNfTkFORCBpbnRlcnJ1cHQKICAgKiAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhbnkgY29tYmluYXRpb24gb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXM6CiAgICogICAgICAgICAgICBAYXJnIEZTTUNfSVRfUklTSU5HX0VER0U6IEludGVycnVwdCByaXNpbmcgZWRnZS4KICAgKiAgICAgICAgICAgIEBhcmcgRlNNQ19JVF9MRVZFTDogSW50ZXJydXB0IGxldmVsLgotICAqICAgICAgICAgICAgQGFyZyBGU01DX0lUX0ZBTExJTkdfRURHRTogSW50ZXJydXB0IGZhbGxpbmcgZWRnZS4gICAgCisgICogICAgICAgICAgICBAYXJnIEZTTUNfSVRfRkFMTElOR19FREdFOiBJbnRlcnJ1cHQgZmFsbGluZyBlZGdlLgorICAqIEByZXR2YWwgTm9uZQorICAqLworI2RlZmluZSBfX0ZTTUNfTkFORF9FTkFCTEVfSVQoX19JTlNUQU5DRV9fLCBfX0JBTktfXywgX19JTlRFUlJVUFRfXykgICgoKF9fQkFOS19fKSA9PSBGU01DX05BTkRfQkFOSzIpPyAoKF9fSU5TVEFOQ0VfXyktPlNSMiB8PSAoX19JTlRFUlJVUFRfXykpOiBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChfX0lOU1RBTkNFX18pLT5TUjMgfD0gKF9fSU5URVJSVVBUX18pKSkKKworLyoqCisgICogQGJyaWVmICBEaXNhYmxlIHRoZSBOQU5EIGRldmljZSBpbnRlcnJ1cHQuCisgICogQHBhcmFtICBfX0lOU1RBTkNFX18gIEZTTUNfTkFORCBJbnN0YW5jZQorICAqIEBwYXJhbSAgX19CQU5LX18gICAgIEZTTUNfTkFORCBCYW5rCisgICogQHBhcmFtICBfX0lOVEVSUlVQVF9fIEZTTUNfTkFORCBpbnRlcnJ1cHQKKyAgKiAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhbnkgY29tYmluYXRpb24gb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXM6CisgICogICAgICAgICAgICBAYXJnIEZTTUNfSVRfUklTSU5HX0VER0U6IEludGVycnVwdCByaXNpbmcgZWRnZS4KKyAgKiAgICAgICAgICAgIEBhcmcgRlNNQ19JVF9MRVZFTDogSW50ZXJydXB0IGxldmVsLgorICAqICAgICAgICAgICAgQGFyZyBGU01DX0lUX0ZBTExJTkdfRURHRTogSW50ZXJydXB0IGZhbGxpbmcgZWRnZS4KICAgKiBAcmV0dmFsIE5vbmUKICAgKi8KICNkZWZpbmUgX19GU01DX05BTkRfRElTQUJMRV9JVChfX0lOU1RBTkNFX18sIF9fQkFOS19fLCBfX0lOVEVSUlVQVF9fKSAgKCgoX19CQU5LX18pID09IEZTTUNfTkFORF9CQU5LMik/ICgoX19JTlNUQU5DRV9fKS0+U1IyICY9IH4oX19JTlRFUlJVUFRfXykpOiBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChfX0lOU1RBTkNFX18pLT5TUjMgJj0gfihfX0lOVEVSUlVQVF9fKSkpIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fSU5TVEFOQ0VfXyktPlNSMyAmPSB+KF9fSU5URVJSVVBUX18pKSkKIAogLyoqCiAgICogQGJyaWVmICBHZXQgZmxhZyBzdGF0dXMgb2YgdGhlIE5BTkQgZGV2aWNlLgogICAqIEBwYXJhbSAgX19JTlNUQU5DRV9fIEZTTUNfTkFORCBJbnN0YW5jZQotICAqIEBwYXJhbSAgX19CQU5LX18gICAgIEZTTUNfTkFORCBCYW5rIAorICAqIEBwYXJhbSAgX19CQU5LX18gICAgIEZTTUNfTkFORCBCYW5rCiAgICogQHBhcmFtICBfX0ZMQUdfXyAgICAgRlNNQ19OQU5EIGZsYWcKICAgKiAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhbnkgY29tYmluYXRpb24gb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXM6CiAgICogICAgICAgICAgICBAYXJnIEZTTUNfRkxBR19SSVNJTkdfRURHRTogSW50ZXJydXB0IHJpc2luZyBlZGdlIGZsYWcuCiAgICogICAgICAgICAgICBAYXJnIEZTTUNfRkxBR19MRVZFTDogSW50ZXJydXB0IGxldmVsIGVkZ2UgZmxhZy4KICAgKiAgICAgICAgICAgIEBhcmcgRlNNQ19GTEFHX0ZBTExJTkdfRURHRTogSW50ZXJydXB0IGZhbGxpbmcgZWRnZSBmbGFnLgotICAqICAgICAgICAgICAgQGFyZyBGU01DX0ZMQUdfRkVNUFQ6IEZJRk8gZW1wdHkgZmxhZy4gICAKKyAgKiAgICAgICAgICAgIEBhcmcgRlNNQ19GTEFHX0ZFTVBUOiBGSUZPIGVtcHR5IGZsYWcuCiAgICogQHJldHZhbCBUaGUgc3RhdGUgb2YgRkxBRyAoU0VUIG9yIFJFU0VUKS4KICAgKi8KICNkZWZpbmUgX19GU01DX05BTkRfR0VUX0ZMQUcoX19JTlNUQU5DRV9fLCBfX0JBTktfXywgX19GTEFHX18pICAoKChfX0JBTktfXykgPT0gRlNNQ19OQU5EX0JBTksyKT8gKCgoX19JTlNUQU5DRV9fKS0+U1IyICYoX19GTEFHX18pKSA9PSAoX19GTEFHX18pKTogXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCgoX19JTlNUQU5DRV9fKS0+U1IzICYoX19GTEFHX18pKSA9PSAoX19GTEFHX18pKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKChfX0lOU1RBTkNFX18pLT5TUjMgJihfX0ZMQUdfXykpID09IChfX0ZMQUdfXykpKQogCiAvKioKICAgKiBAYnJpZWYgIENsZWFyIGZsYWcgc3RhdHVzIG9mIHRoZSBOQU5EIGRldmljZS4KICAgKiBAcGFyYW0gIF9fSU5TVEFOQ0VfXyBGU01DX05BTkQgSW5zdGFuY2UKLSAgKiBAcGFyYW0gIF9fQkFOS19fIEZTTUNfTkFORCBCYW5rIAotICAqIEBwYXJhbSAgX19GTEFHX18gRlNNQ19OQU5EIGZsYWcKKyAgKiBAcGFyYW0gIF9fQkFOS19fICAgICBGU01DX05BTkQgQmFuaworICAqIEBwYXJhbSAgX19GTEFHX18gICAgIEZTTUNfTkFORCBmbGFnCiAgICogICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYW55IGNvbWJpbmF0aW9uIG9mIHRoZSBmb2xsb3dpbmcgdmFsdWVzOgogICAqICAgICAgICAgICAgQGFyZyBGU01DX0ZMQUdfUklTSU5HX0VER0U6IEludGVycnVwdCByaXNpbmcgZWRnZSBmbGFnLgogICAqICAgICAgICAgICAgQGFyZyBGU01DX0ZMQUdfTEVWRUw6IEludGVycnVwdCBsZXZlbCBlZGdlIGZsYWcuCiAgICogICAgICAgICAgICBAYXJnIEZTTUNfRkxBR19GQUxMSU5HX0VER0U6IEludGVycnVwdCBmYWxsaW5nIGVkZ2UgZmxhZy4KLSAgKiAgICAgICAgICAgIEBhcmcgRlNNQ19GTEFHX0ZFTVBUOiBGSUZPIGVtcHR5IGZsYWcuICAgCisgICogICAgICAgICAgICBAYXJnIEZTTUNfRkxBR19GRU1QVDogRklGTyBlbXB0eSBmbGFnLgogICAqIEByZXR2YWwgTm9uZQogICAqLwogI2RlZmluZSBfX0ZTTUNfTkFORF9DTEVBUl9GTEFHKF9fSU5TVEFOQ0VfXywgX19CQU5LX18sIF9fRkxBR19fKSAgKCgoX19CQU5LX18pID09IEZTTUNfTkFORF9CQU5LMik/ICgoX19JTlNUQU5DRV9fKS0+U1IyICY9IH4oX19GTEFHX18pKTogXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fSU5TVEFOQ0VfXyktPlNSMyAmPSB+KF9fRkxBR19fKSkpIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChfX0lOU1RBTkNFX18pLT5TUjMgJj0gfihfX0ZMQUdfXykpKQorCisvKioKKyAgKiBAfQorICAqLworI2VuZGlmIC8qIEZTTUNfQmFuazJfMyAqLworCisjaWYgZGVmaW5lZChGU01DX0Jhbms0KQorLyoqIEBkZWZncm91cCBGU01DX0xMX1BDQ0FSRF9JbnRlcnJ1cHQgRlNNQyBQQ0NBUkQgSW50ZXJydXB0CisgICogQGJyaWVmIG1hY3JvcyB0byBoYW5kbGUgUENDQVJEIGludGVycnVwdHMKKyAgKiBAeworICAqLwogCiAvKioKICAgKiBAYnJpZWYgIEVuYWJsZSB0aGUgUENDQVJEIGRldmljZSBpbnRlcnJ1cHQuCi0gICogQHBhcmFtICBfX0lOU1RBTkNFX18gRlNNQ19QQ0NBUkQgSW5zdGFuY2UgIAotICAqIEBwYXJhbSAgX19JTlRFUlJVUFRfXyBGU01DX1BDQ0FSRCBpbnRlcnJ1cHQgCisgICogQHBhcmFtICBfX0lOU1RBTkNFX18gRlNNQ19QQ0NBUkQgaW5zdGFuY2UKKyAgKiBAcGFyYW0gIF9fSU5URVJSVVBUX18gRlNNQ19QQ0NBUkQgaW50ZXJydXB0CiAgICogICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYW55IGNvbWJpbmF0aW9uIG9mIHRoZSBmb2xsb3dpbmcgdmFsdWVzOgogICAqICAgICAgICAgICAgQGFyZyBGU01DX0lUX1JJU0lOR19FREdFOiBJbnRlcnJ1cHQgcmlzaW5nIGVkZ2UuCiAgICogICAgICAgICAgICBAYXJnIEZTTUNfSVRfTEVWRUw6IEludGVycnVwdCBsZXZlbC4KLSAgKiAgICAgICAgICAgIEBhcmcgRlNNQ19JVF9GQUxMSU5HX0VER0U6IEludGVycnVwdCBmYWxsaW5nIGVkZ2UuICAgICAgICAKKyAgKiAgICAgICAgICAgIEBhcmcgRlNNQ19JVF9GQUxMSU5HX0VER0U6IEludGVycnVwdCBmYWxsaW5nIGVkZ2UuCiAgICogQHJldHZhbCBOb25lCi0gICovIAorICAqLwogI2RlZmluZSBfX0ZTTUNfUENDQVJEX0VOQUJMRV9JVChfX0lOU1RBTkNFX18sIF9fSU5URVJSVVBUX18pICAoKF9fSU5TVEFOQ0VfXyktPlNSNCB8PSAoX19JTlRFUlJVUFRfXykpCiAKIC8qKgogICAqIEBicmllZiAgRGlzYWJsZSB0aGUgUENDQVJEIGRldmljZSBpbnRlcnJ1cHQuCi0gICogQHBhcmFtICBfX0lOU1RBTkNFX18gRlNNQ19QQ0NBUkQgSW5zdGFuY2UgIAotICAqIEBwYXJhbSAgX19JTlRFUlJVUFRfXyBGU01DX1BDQ0FSRCBpbnRlcnJ1cHQgCisgICogQHBhcmFtICBfX0lOU1RBTkNFX18gRlNNQ19QQ0NBUkQgaW5zdGFuY2UKKyAgKiBAcGFyYW0gIF9fSU5URVJSVVBUX18gRlNNQ19QQ0NBUkQgaW50ZXJydXB0CiAgICogICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYW55IGNvbWJpbmF0aW9uIG9mIHRoZSBmb2xsb3dpbmcgdmFsdWVzOgogICAqICAgICAgICAgICAgQGFyZyBGU01DX0lUX1JJU0lOR19FREdFOiBJbnRlcnJ1cHQgcmlzaW5nIGVkZ2UuCiAgICogICAgICAgICAgICBAYXJnIEZTTUNfSVRfTEVWRUw6IEludGVycnVwdCBsZXZlbC4KLSAgKiAgICAgICAgICAgIEBhcmcgRlNNQ19JVF9GQUxMSU5HX0VER0U6IEludGVycnVwdCBmYWxsaW5nIGVkZ2UuICAgICAgIAorICAqICAgICAgICAgICAgQGFyZyBGU01DX0lUX0ZBTExJTkdfRURHRTogSW50ZXJydXB0IGZhbGxpbmcgZWRnZS4KICAgKiBAcmV0dmFsIE5vbmUKLSAgKi8gCi0jZGVmaW5lIF9fRlNNQ19QQ0NBUkRfRElTQUJMRV9JVChfX0lOU1RBTkNFX18sIF9fSU5URVJSVVBUX18pICAoKF9fSU5TVEFOQ0VfXyktPlNSNCAmPSB+KF9fSU5URVJSVVBUX18pKSAKKyAgKi8KKyNkZWZpbmUgX19GU01DX1BDQ0FSRF9ESVNBQkxFX0lUKF9fSU5TVEFOQ0VfXywgX19JTlRFUlJVUFRfXykgICgoX19JTlNUQU5DRV9fKS0+U1I0ICY9IH4oX19JTlRFUlJVUFRfXykpCiAKIC8qKgogICAqIEBicmllZiAgR2V0IGZsYWcgc3RhdHVzIG9mIHRoZSBQQ0NBUkQgZGV2aWNlLgotICAqIEBwYXJhbSAgX19JTlNUQU5DRV9fIEZTTUNfUENDQVJEIEluc3RhbmNlICAKKyAgKiBAcGFyYW0gIF9fSU5TVEFOQ0VfXyBGU01DX1BDQ0FSRCBpbnN0YW5jZQogICAqIEBwYXJhbSAgX19GTEFHX18gRlNNQ19QQ0NBUkQgZmxhZwogICAqICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGFueSBjb21iaW5hdGlvbiBvZiB0aGUgZm9sbG93aW5nIHZhbHVlczoKLSAgKiAgICAgICAgICAgIEBhcmcgRlNNQ19GTEFHX1JJU0lOR19FREdFOiBJbnRlcnJ1cHQgcmlzaW5nIGVkZ2UgZmxhZy4KLSAgKiAgICAgICAgICAgIEBhcmcgRlNNQ19GTEFHX0xFVkVMOiBJbnRlcnJ1cHQgbGV2ZWwgZWRnZSBmbGFnLgotICAqICAgICAgICAgICAgQGFyZyBGU01DX0ZMQUdfRkFMTElOR19FREdFOiBJbnRlcnJ1cHQgZmFsbGluZyBlZGdlIGZsYWcuCi0gICogICAgICAgICAgICBAYXJnIEZTTUNfRkxBR19GRU1QVDogRklGTyBlbXB0eSBmbGFnLiAgIAorICAqICAgICAgICAgICAgQGFyZyAgRlNNQ19GTEFHX1JJU0lOR19FREdFOiBJbnRlcnJ1cHQgcmlzaW5nIGVkZ2UgZmxhZy4KKyAgKiAgICAgICAgICAgIEBhcmcgIEZTTUNfRkxBR19MRVZFTDogSW50ZXJydXB0IGxldmVsIGVkZ2UgZmxhZy4KKyAgKiAgICAgICAgICAgIEBhcmcgIEZTTUNfRkxBR19GQUxMSU5HX0VER0U6IEludGVycnVwdCBmYWxsaW5nIGVkZ2UgZmxhZy4KKyAgKiAgICAgICAgICAgIEBhcmcgIEZTTUNfRkxBR19GRU1QVDogRklGTyBlbXB0eSBmbGFnLgogICAqIEByZXR2YWwgVGhlIHN0YXRlIG9mIEZMQUcgKFNFVCBvciBSRVNFVCkuCiAgICovCiAjZGVmaW5lIF9fRlNNQ19QQ0NBUkRfR0VUX0ZMQUcoX19JTlNUQU5DRV9fLCBfX0ZMQUdfXykgICgoKF9fSU5TVEFOQ0VfXyktPlNSNCAmKF9fRkxBR19fKSkgPT0gKF9fRkxBR19fKSkKIAogLyoqCiAgICogQGJyaWVmICBDbGVhciBmbGFnIHN0YXR1cyBvZiB0aGUgUENDQVJEIGRldmljZS4KLSAgKiBAcGFyYW0gIF9fSU5TVEFOQ0VfXyBGU01DX1BDQ0FSRCBJbnN0YW5jZQorICAqIEBwYXJhbSAgX19JTlNUQU5DRV9fIEZTTUNfUENDQVJEIGluc3RhbmNlCiAgICogQHBhcmFtICBfX0ZMQUdfXyBGU01DX1BDQ0FSRCBmbGFnCiAgICogICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYW55IGNvbWJpbmF0aW9uIG9mIHRoZSBmb2xsb3dpbmcgdmFsdWVzOgotICAqICAgICAgICAgICAgQGFyZyBGU01DX0ZMQUdfUklTSU5HX0VER0U6IEludGVycnVwdCByaXNpbmcgZWRnZSBmbGFnLgotICAqICAgICAgICAgICAgQGFyZyBGU01DX0ZMQUdfTEVWRUw6IEludGVycnVwdCBsZXZlbCBlZGdlIGZsYWcuCi0gICogICAgICAgICAgICBAYXJnIEZTTUNfRkxBR19GQUxMSU5HX0VER0U6IEludGVycnVwdCBmYWxsaW5nIGVkZ2UgZmxhZy4KLSAgKiAgICAgICAgICAgIEBhcmcgRlNNQ19GTEFHX0ZFTVBUOiBGSUZPIGVtcHR5IGZsYWcuICAgCisgICogICAgICAgICAgICBAYXJnICBGU01DX0ZMQUdfUklTSU5HX0VER0U6IEludGVycnVwdCByaXNpbmcgZWRnZSBmbGFnLgorICAqICAgICAgICAgICAgQGFyZyAgRlNNQ19GTEFHX0xFVkVMOiBJbnRlcnJ1cHQgbGV2ZWwgZWRnZSBmbGFnLgorICAqICAgICAgICAgICAgQGFyZyAgRlNNQ19GTEFHX0ZBTExJTkdfRURHRTogSW50ZXJydXB0IGZhbGxpbmcgZWRnZSBmbGFnLgorICAqICAgICAgICAgICAgQGFyZyAgRlNNQ19GTEFHX0ZFTVBUOiBGSUZPIGVtcHR5IGZsYWcuCiAgICogQHJldHZhbCBOb25lCiAgICovCiAjZGVmaW5lIF9fRlNNQ19QQ0NBUkRfQ0xFQVJfRkxBRyhfX0lOU1RBTkNFX18sIF9fRkxBR19fKSAgKChfX0lOU1RBTkNFX18pLT5TUjQgJj0gfihfX0ZMQUdfXykpCi0vKioKLSAgKiBAfQotICAqLwotI2VuZGlmIC8qIFNUTTMyRjQwNXh4IHx8IFNUTTMyRjQxNXh4IHx8IFNUTTMyRjQwN3h4IHx8IFNUTTMyRjQxN3h4ICovCi0KLS8qKiBAZGVmZ3JvdXAgRlNNQ19MTF9Bc3NlcnRfTWFjcm9zIEZTTUMgQXNzZXJ0IE1hY3JvcwotICAqIEB7Ci0gICovCi0jZGVmaW5lIElTX0ZTTUNfTk9SU1JBTV9CQU5LKF9fQkFOS19fKSAoKChfX0JBTktfXykgPT0gRlNNQ19OT1JTUkFNX0JBTksxKSB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChfX0JBTktfXykgPT0gRlNNQ19OT1JTUkFNX0JBTksyKSB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChfX0JBTktfXykgPT0gRlNNQ19OT1JTUkFNX0JBTkszKSB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChfX0JBTktfXykgPT0gRlNNQ19OT1JTUkFNX0JBTks0KSkKLQotI2RlZmluZSBJU19GU01DX01VWChfX01VWF9fKSAoKChfX01VWF9fKSA9PSBGU01DX0RBVEFfQUREUkVTU19NVVhfRElTQUJMRSkgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChfX01VWF9fKSA9PSBGU01DX0RBVEFfQUREUkVTU19NVVhfRU5BQkxFKSkKLQotI2RlZmluZSBJU19GU01DX01FTU9SWShfX01FTU9SWV9fKSAoKChfX01FTU9SWV9fKSA9PSBGU01DX01FTU9SWV9UWVBFX1NSQU0pIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoX19NRU1PUllfXykgPT0gRlNNQ19NRU1PUllfVFlQRV9QU1JBTSl8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fTUVNT1JZX18pID09IEZTTUNfTUVNT1JZX1RZUEVfTk9SKSkKLQotI2RlZmluZSBJU19GU01DX05PUlNSQU1fTUVNT1JZX1dJRFRIKF9fV0lEVEhfXykgKCgoX19XSURUSF9fKSA9PSBGU01DX05PUlNSQU1fTUVNX0JVU19XSURUSF84KSAgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoX19XSURUSF9fKSA9PSBGU01DX05PUlNSQU1fTUVNX0JVU19XSURUSF8xNikgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoX19XSURUSF9fKSA9PSBGU01DX05PUlNSQU1fTUVNX0JVU19XSURUSF8zMikpCi0KLSNkZWZpbmUgSVNfRlNNQ19BQ0NFU1NfTU9ERShfX01PREVfXykgKCgoX19NT0RFX18pID09IEZTTUNfQUNDRVNTX01PREVfQSkgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChfX01PREVfXykgPT0gRlNNQ19BQ0NFU1NfTU9ERV9CKSB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fTU9ERV9fKSA9PSBGU01DX0FDQ0VTU19NT0RFX0MpIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoX19NT0RFX18pID09IEZTTUNfQUNDRVNTX01PREVfRCkpCi0KLSNkZWZpbmUgSVNfRlNNQ19OQU5EX0JBTksoQkFOSykgKCgoQkFOSykgPT0gRlNNQ19OQU5EX0JBTksyKSB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQkFOSykgPT0gRlNNQ19OQU5EX0JBTkszKSkKLQotI2RlZmluZSBJU19GU01DX1dBSVRfRkVBVFVSRShGRUFUVVJFKSAoKChGRUFUVVJFKSA9PSBGU01DX05BTkRfUENDX1dBSVRfRkVBVFVSRV9ESVNBQkxFKSB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoRkVBVFVSRSkgPT0gRlNNQ19OQU5EX1BDQ19XQUlUX0ZFQVRVUkVfRU5BQkxFKSkKLQotI2RlZmluZSBJU19GU01DX05BTkRfTUVNT1JZX1dJRFRIKFdJRFRIKSAoKChXSURUSCkgPT0gRlNNQ19OQU5EX1BDQ19NRU1fQlVTX1dJRFRIXzgpIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChXSURUSCkgPT0gRlNNQ19OQU5EX1BDQ19NRU1fQlVTX1dJRFRIXzE2KSkKLQotI2RlZmluZSBJU19GU01DX0VDQ19TVEFURShTVEFURSkgKCgoU1RBVEUpID09IEZTTUNfTkFORF9FQ0NfRElTQUJMRSkgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChTVEFURSkgPT0gRlNNQ19OQU5EX0VDQ19FTkFCTEUpKQotCi0jZGVmaW5lIElTX0ZTTUNfRUNDUEFHRV9TSVpFKFNJWkUpICgoKFNJWkUpID09IEZTTUNfTkFORF9FQ0NfUEFHRV9TSVpFXzI1NkJZVEUpICB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoU0laRSkgPT0gRlNNQ19OQU5EX0VDQ19QQUdFX1NJWkVfNTEyQllURSkgIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChTSVpFKSA9PSBGU01DX05BTkRfRUNDX1BBR0VfU0laRV8xMDI0QllURSkgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKFNJWkUpID09IEZTTUNfTkFORF9FQ0NfUEFHRV9TSVpFXzIwNDhCWVRFKSB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoU0laRSkgPT0gRlNNQ19OQU5EX0VDQ19QQUdFX1NJWkVfNDA5NkJZVEUpIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChTSVpFKSA9PSBGU01DX05BTkRfRUNDX1BBR0VfU0laRV84MTkyQllURSkpCi0KLSNkZWZpbmUgSVNfRlNNQ19UQ0xSX1RJTUUoVElNRSkgKChUSU1FKSA8PSAyNTVVKQotCi0jZGVmaW5lIElTX0ZTTUNfVEFSX1RJTUUoVElNRSkgKChUSU1FKSA8PSAyNTVVKQotCi0jZGVmaW5lIElTX0ZTTUNfU0VUVVBfVElNRShUSU1FKSAoKFRJTUUpIDw9IDI1NVUpCi0KLSNkZWZpbmUgSVNfRlNNQ19XQUlUX1RJTUUoVElNRSkgKChUSU1FKSA8PSAyNTVVKQotCi0jZGVmaW5lIElTX0ZTTUNfSE9MRF9USU1FKFRJTUUpICgoVElNRSkgPD0gMjU1VSkKLQotI2RlZmluZSBJU19GU01DX0hJWl9USU1FKFRJTUUpICgoVElNRSkgPD0gMjU1VSkKLQotI2RlZmluZSBJU19GU01DX05PUlNSQU1fREVWSUNFKF9fSU5TVEFOQ0VfXykgKChfX0lOU1RBTkNFX18pID09IEZTTUNfTk9SU1JBTV9ERVZJQ0UpCi0KLSNkZWZpbmUgSVNfRlNNQ19OT1JTUkFNX0VYVEVOREVEX0RFVklDRShfX0lOU1RBTkNFX18pICgoX19JTlNUQU5DRV9fKSA9PSBGU01DX05PUlNSQU1fRVhURU5ERURfREVWSUNFKQotCi0jZGVmaW5lIElTX0ZTTUNfTkFORF9ERVZJQ0UoSU5TVEFOQ0UpICgoSU5TVEFOQ0UpID09IEZTTUNfTkFORF9ERVZJQ0UpCi0KLSNkZWZpbmUgSVNfRlNNQ19QQ0NBUkRfREVWSUNFKElOU1RBTkNFKSAoKElOU1RBTkNFKSA9PSBGU01DX1BDQ0FSRF9ERVZJQ0UpCi0KLSNkZWZpbmUgSVNfRlNNQ19CVVJTVE1PREUoX19TVEFURV9fKSAoKChfX1NUQVRFX18pID09IEZTTUNfQlVSU1RfQUNDRVNTX01PREVfRElTQUJMRSkgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fU1RBVEVfXykgPT0gRlNNQ19CVVJTVF9BQ0NFU1NfTU9ERV9FTkFCTEUpKQotCi0jZGVmaW5lIElTX0ZTTUNfV0FJVF9QT0xBUklUWShfX1BPTEFSSVRZX18pICgoKF9fUE9MQVJJVFlfXykgPT0gRlNNQ19XQUlUX1NJR05BTF9QT0xBUklUWV9MT1cpIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoX19QT0xBUklUWV9fKSA9PSBGU01DX1dBSVRfU0lHTkFMX1BPTEFSSVRZX0hJR0gpKQotCi0jZGVmaW5lIElTX0ZTTUNfV1JBUF9NT0RFKF9fTU9ERV9fKSAoKChfX01PREVfXykgPT0gRlNNQ19XUkFQX01PREVfRElTQUJMRSkgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoX19NT0RFX18pID09IEZTTUNfV1JBUF9NT0RFX0VOQUJMRSkpIAotCi0jZGVmaW5lIElTX0ZTTUNfV0FJVF9TSUdOQUxfQUNUSVZFKF9fQUNUSVZFX18pICgoKF9fQUNUSVZFX18pID09IEZTTUNfV0FJVF9USU1JTkdfQkVGT1JFX1dTKSB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fQUNUSVZFX18pID09IEZTTUNfV0FJVF9USU1JTkdfRFVSSU5HX1dTKSkgCi0KLSNkZWZpbmUgSVNfRlNNQ19XUklURV9PUEVSQVRJT04oX19PUEVSQVRJT05fXykgKCgoX19PUEVSQVRJT05fXykgPT0gRlNNQ19XUklURV9PUEVSQVRJT05fRElTQUJMRSkgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChfX09QRVJBVElPTl9fKSA9PSBGU01DX1dSSVRFX09QRVJBVElPTl9FTkFCTEUpKQotCi0jZGVmaW5lIElTX0ZTTUNfV0FJVEVfU0lHTkFMKF9fU0lHTkFMX18pICgoKF9fU0lHTkFMX18pID09IEZTTUNfV0FJVF9TSUdOQUxfRElTQUJMRSkgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChfX1NJR05BTF9fKSA9PSBGU01DX1dBSVRfU0lHTkFMX0VOQUJMRSkpIAotCi0jZGVmaW5lIElTX0ZTTUNfRVhURU5ERURfTU9ERShfX01PREVfXykgKCgoX19NT0RFX18pID09IEZTTUNfRVhURU5ERURfTU9ERV9ESVNBQkxFKSB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoX19NT0RFX18pID09IEZTTUNfRVhURU5ERURfTU9ERV9FTkFCTEUpKQotCi0jZGVmaW5lIElTX0ZTTUNfQVNZTldBSVQoX19TVEFURV9fKSAoKChfX1NUQVRFX18pID09IEZTTUNfQVNZTkNIUk9OT1VTX1dBSVRfRElTQUJMRSkgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoX19TVEFURV9fKSA9PSBGU01DX0FTWU5DSFJPTk9VU19XQUlUX0VOQUJMRSkpCi0KLSNkZWZpbmUgSVNfRlNNQ19EQVRBX0xBVEVOQ1koX19MQVRFTkNZX18pICgoKF9fTEFURU5DWV9fKSA+IDFVKSAmJiAoKF9fTEFURU5DWV9fKSA8PSAxN1UpKQotCi0jZGVmaW5lIElTX0ZTTUNfV1JJVEVfQlVSU1QoX19CVVJTVF9fKSAoKChfX0JVUlNUX18pID09IEZTTUNfV1JJVEVfQlVSU1RfRElTQUJMRSkgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoX19CVVJTVF9fKSA9PSBGU01DX1dSSVRFX0JVUlNUX0VOQUJMRSkpIAotCi0jZGVmaW5lIElTX0ZTTUNfQUREUkVTU19TRVRVUF9USU1FKF9fVElNRV9fKSAoKF9fVElNRV9fKSA8PSAxNVUpCi0KLSNkZWZpbmUgSVNfRlNNQ19BRERSRVNTX0hPTERfVElNRShfX1RJTUVfXykgKCgoX19USU1FX18pID4gMFUpICYmICgoX19USU1FX18pIDw9IDE1VSkpCi0KLSNkZWZpbmUgSVNfRlNNQ19EQVRBU0VUVVBfVElNRShfX1RJTUVfXykgKCgoX19USU1FX18pID4gMFUpICYmICgoX19USU1FX18pIDw9IDI1NVUpKQotCi0jZGVmaW5lIElTX0ZTTUNfVFVSTkFST1VORF9USU1FKF9fVElNRV9fKSAoKF9fVElNRV9fKSA8PSAxNVUpCi0KLSNkZWZpbmUgSVNfRlNNQ19DT05USU5PVVNfQ0xPQ0soQ0NMT0NLKSAoKChDQ0xPQ0spID09IEZTTUNfQ09OVElOVU9VU19DTE9DS19TWU5DX09OTFkpIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChDQ0xPQ0spID09IEZTTUNfQ09OVElOVU9VU19DTE9DS19TWU5DX0FTWU5DKSkKLQotI2RlZmluZSBJU19GU01DX0NMS19ESVYoRElWKSAoKChESVYpID4gMVUpICYmICgoRElWKSA8PSAxNlUpKQotCi0jZGVmaW5lIElTX0ZTTUNfUEFHRVNJWkUoU0laRSkgKCgoU0laRSkgPT0gRlNNQ19QQUdFX1NJWkVfTk9ORSkgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKFNJWkUpID09IEZTTUNfUEFHRV9TSVpFXzEyOCkgIHx8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChTSVpFKSA9PSBGU01DX1BBR0VfU0laRV8yNTYpICB8fCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoU0laRSkgPT0gRlNNQ19QQUdFX1NJWkVfNTEyKSAgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKFNJWkUpID09IEZTTUNfUEFHRV9TSVpFXzEwMjQpKQotCi0jZGVmaW5lIElTX0ZTTUNfV1JJVEVfRklGTyhGSUZPKSAoKChGSUZPKSA9PSBGU01DX1dSSVRFX0ZJRk9fRElTQUJMRSkgfHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoRklGTykgPT0gRlNNQ19XUklURV9GSUZPX0VOQUJMRSkpCiAKIC8qKgogICAqIEB9CiAgICovCisjZW5kaWYKKwogLyoqCiAgICogQH0KLSAgKi8gCisgICovCisKKy8qKgorICAqIEB9CisgICovCiAKIC8qIFByaXZhdGUgZnVuY3Rpb25zIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAvKiogQGRlZmdyb3VwIEZTTUNfTExfUHJpdmF0ZV9GdW5jdGlvbnMgRlNNQyBMTCBQcml2YXRlIEZ1bmN0aW9ucwogICAqICBAewogICAqLwogCisjaWYgZGVmaW5lZChGU01DX0JhbmsxKQogLyoqIEBkZWZncm91cCBGU01DX0xMX05PUlNSQU0gIE5PUiBTUkFNCiAgICogIEB7CiAgICovCi0KLS8qKiBAZGVmZ3JvdXAgRlNNQ19MTF9OT1JTUkFNX1ByaXZhdGVfRnVuY3Rpb25zX0dyb3VwMSBOT1IgU1JBTSBJbml0aWFsaXphdGlvbi9kZS1pbml0aWFsaXphdGlvbiBmdW5jdGlvbnMgCisvKiogQGRlZmdyb3VwIEZTTUNfTExfTk9SU1JBTV9Qcml2YXRlX0Z1bmN0aW9uc19Hcm91cDEgTk9SIFNSQU0gSW5pdGlhbGl6YXRpb24vZGUtaW5pdGlhbGl6YXRpb24gZnVuY3Rpb25zCiAgICogIEB7CiAgICovCi1IQUxfU3RhdHVzVHlwZURlZiAgRlNNQ19OT1JTUkFNX0luaXQoRlNNQ19OT1JTUkFNX1R5cGVEZWYgKkRldmljZSwgRlNNQ19OT1JTUkFNX0luaXRUeXBlRGVmICpJbml0KTsKLUhBTF9TdGF0dXNUeXBlRGVmICBGU01DX05PUlNSQU1fVGltaW5nX0luaXQoRlNNQ19OT1JTUkFNX1R5cGVEZWYgKkRldmljZSwgRlNNQ19OT1JTUkFNX1RpbWluZ1R5cGVEZWYgKlRpbWluZywgdWludDMyX3QgQmFuayk7Ci1IQUxfU3RhdHVzVHlwZURlZiAgRlNNQ19OT1JTUkFNX0V4dGVuZGVkX1RpbWluZ19Jbml0KEZTTUNfTk9SU1JBTV9FWFRFTkRFRF9UeXBlRGVmICpEZXZpY2UsIEZTTUNfTk9SU1JBTV9UaW1pbmdUeXBlRGVmICpUaW1pbmcsIHVpbnQzMl90IEJhbmssIHVpbnQzMl90IEV4dGVuZGVkTW9kZSk7Ci1IQUxfU3RhdHVzVHlwZURlZiAgRlNNQ19OT1JTUkFNX0RlSW5pdChGU01DX05PUlNSQU1fVHlwZURlZiAqRGV2aWNlLCBGU01DX05PUlNSQU1fRVhURU5ERURfVHlwZURlZiAqRXhEZXZpY2UsIHVpbnQzMl90IEJhbmspOworSEFMX1N0YXR1c1R5cGVEZWYgIEZTTUNfTk9SU1JBTV9Jbml0KEZTTUNfTk9SU1JBTV9UeXBlRGVmICpEZXZpY2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGU01DX05PUlNSQU1fSW5pdFR5cGVEZWYgKkluaXQpOworSEFMX1N0YXR1c1R5cGVEZWYgIEZTTUNfTk9SU1JBTV9UaW1pbmdfSW5pdChGU01DX05PUlNSQU1fVHlwZURlZiAqRGV2aWNlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZTTUNfTk9SU1JBTV9UaW1pbmdUeXBlRGVmICpUaW1pbmcsIHVpbnQzMl90IEJhbmspOworSEFMX1N0YXR1c1R5cGVEZWYgIEZTTUNfTk9SU1JBTV9FeHRlbmRlZF9UaW1pbmdfSW5pdChGU01DX05PUlNSQU1fRVhURU5ERURfVHlwZURlZiAqRGV2aWNlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZTTUNfTk9SU1JBTV9UaW1pbmdUeXBlRGVmICpUaW1pbmcsIHVpbnQzMl90IEJhbmssCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgRXh0ZW5kZWRNb2RlKTsKK0hBTF9TdGF0dXNUeXBlRGVmICBGU01DX05PUlNSQU1fRGVJbml0KEZTTUNfTk9SU1JBTV9UeXBlRGVmICpEZXZpY2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZTTUNfTk9SU1JBTV9FWFRFTkRFRF9UeXBlRGVmICpFeERldmljZSwgdWludDMyX3QgQmFuayk7CiAvKioKICAgKiBAfQotICAqLyAKKyAgKi8KIAotLyoqIEBkZWZncm91cCBGU01DX0xMX05PUlNSQU1fUHJpdmF0ZV9GdW5jdGlvbnNfR3JvdXAyIE5PUiBTUkFNIENvbnRyb2wgZnVuY3Rpb25zIAorLyoqIEBkZWZncm91cCBGU01DX0xMX05PUlNSQU1fUHJpdmF0ZV9GdW5jdGlvbnNfR3JvdXAyIE5PUiBTUkFNIENvbnRyb2wgZnVuY3Rpb25zCiAgICogIEB7CiAgICovCiBIQUxfU3RhdHVzVHlwZURlZiAgRlNNQ19OT1JTUkFNX1dyaXRlT3BlcmF0aW9uX0VuYWJsZShGU01DX05PUlNSQU1fVHlwZURlZiAqRGV2aWNlLCB1aW50MzJfdCBCYW5rKTsKIEhBTF9TdGF0dXNUeXBlRGVmICBGU01DX05PUlNSQU1fV3JpdGVPcGVyYXRpb25fRGlzYWJsZShGU01DX05PUlNSQU1fVHlwZURlZiAqRGV2aWNlLCB1aW50MzJfdCBCYW5rKTsKIC8qKgogICAqIEB9Ci0gICovIAorICAqLwogLyoqCiAgICogQH0KICAgKi8KKyNlbmRpZiAvKiBGU01DX0JhbmsxICovCiAKLSNpZiBkZWZpbmVkKFNUTTMyRjQwNXh4KSB8fCBkZWZpbmVkKFNUTTMyRjQxNXh4KSB8fCBkZWZpbmVkKFNUTTMyRjQwN3h4KSB8fCBkZWZpbmVkKFNUTTMyRjQxN3h4KQorI2lmIGRlZmluZWQoRlNNQ19CYW5rMl8zKQogLyoqIEBkZWZncm91cCBGU01DX0xMX05BTkQgTkFORAogICAqICBAewogICAqLwotLyoqIEBkZWZncm91cCBGU01DX0xMX05BTkRfUHJpdmF0ZV9GdW5jdGlvbnNfR3JvdXAxIE5BTkQgSW5pdGlhbGl6YXRpb24vZGUtaW5pdGlhbGl6YXRpb24gZnVuY3Rpb25zIAorLyoqIEBkZWZncm91cCBGU01DX0xMX05BTkRfUHJpdmF0ZV9GdW5jdGlvbnNfR3JvdXAxIE5BTkQgSW5pdGlhbGl6YXRpb24vZGUtaW5pdGlhbGl6YXRpb24gZnVuY3Rpb25zCiAgICogIEB7CiAgICovCiBIQUxfU3RhdHVzVHlwZURlZiAgRlNNQ19OQU5EX0luaXQoRlNNQ19OQU5EX1R5cGVEZWYgKkRldmljZSwgRlNNQ19OQU5EX0luaXRUeXBlRGVmICpJbml0KTsKLUhBTF9TdGF0dXNUeXBlRGVmICBGU01DX05BTkRfQ29tbW9uU3BhY2VfVGltaW5nX0luaXQoRlNNQ19OQU5EX1R5cGVEZWYgKkRldmljZSwgRlNNQ19OQU5EX1BDQ19UaW1pbmdUeXBlRGVmICpUaW1pbmcsIHVpbnQzMl90IEJhbmspOwotSEFMX1N0YXR1c1R5cGVEZWYgIEZTTUNfTkFORF9BdHRyaWJ1dGVTcGFjZV9UaW1pbmdfSW5pdChGU01DX05BTkRfVHlwZURlZiAqRGV2aWNlLCBGU01DX05BTkRfUENDX1RpbWluZ1R5cGVEZWYgKlRpbWluZywgdWludDMyX3QgQmFuayk7CitIQUxfU3RhdHVzVHlwZURlZiAgRlNNQ19OQU5EX0NvbW1vblNwYWNlX1RpbWluZ19Jbml0KEZTTUNfTkFORF9UeXBlRGVmICpEZXZpY2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRlNNQ19OQU5EX1BDQ19UaW1pbmdUeXBlRGVmICpUaW1pbmcsIHVpbnQzMl90IEJhbmspOworSEFMX1N0YXR1c1R5cGVEZWYgIEZTTUNfTkFORF9BdHRyaWJ1dGVTcGFjZV9UaW1pbmdfSW5pdChGU01DX05BTkRfVHlwZURlZiAqRGV2aWNlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZTTUNfTkFORF9QQ0NfVGltaW5nVHlwZURlZiAqVGltaW5nLCB1aW50MzJfdCBCYW5rKTsKIEhBTF9TdGF0dXNUeXBlRGVmICBGU01DX05BTkRfRGVJbml0KEZTTUNfTkFORF9UeXBlRGVmICpEZXZpY2UsIHVpbnQzMl90IEJhbmspOwogLyoqCiAgICogQH0KICAgKi8KIAotLyoqIEBkZWZncm91cCBGU01DX0xMX05BTkRfUHJpdmF0ZV9GdW5jdGlvbnNfR3JvdXAyIE5BTkQgQ29udHJvbCBmdW5jdGlvbnMgCisvKiogQGRlZmdyb3VwIEZTTUNfTExfTkFORF9Qcml2YXRlX0Z1bmN0aW9uc19Hcm91cDIgTkFORCBDb250cm9sIGZ1bmN0aW9ucwogICAqICBAewogICAqLwogSEFMX1N0YXR1c1R5cGVEZWYgIEZTTUNfTkFORF9FQ0NfRW5hYmxlKEZTTUNfTkFORF9UeXBlRGVmICpEZXZpY2UsIHVpbnQzMl90IEJhbmspOwogSEFMX1N0YXR1c1R5cGVEZWYgIEZTTUNfTkFORF9FQ0NfRGlzYWJsZShGU01DX05BTkRfVHlwZURlZiAqRGV2aWNlLCB1aW50MzJfdCBCYW5rKTsKLUhBTF9TdGF0dXNUeXBlRGVmICBGU01DX05BTkRfR2V0RUNDKEZTTUNfTkFORF9UeXBlRGVmICpEZXZpY2UsIHVpbnQzMl90ICpFQ0N2YWwsIHVpbnQzMl90IEJhbmssIHVpbnQzMl90IFRpbWVvdXQpOworSEFMX1N0YXR1c1R5cGVEZWYgIEZTTUNfTkFORF9HZXRFQ0MoRlNNQ19OQU5EX1R5cGVEZWYgKkRldmljZSwgdWludDMyX3QgKkVDQ3ZhbCwgdWludDMyX3QgQmFuaywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgVGltZW91dCk7CiAvKioKICAgKiBAfQotICAqLyAKKyAgKi8KIC8qKgogICAqIEB9Ci0gICovIAorICAqLworI2VuZGlmIC8qIEZTTUNfQmFuazJfMyAqLwogCisjaWYgZGVmaW5lZChGU01DX0Jhbms0KQogLyoqIEBkZWZncm91cCBGU01DX0xMX1BDQ0FSRCBQQ0NBUkQKICAgKiAgQHsKICAgKi8KLS8qKiBAZGVmZ3JvdXAgRlNNQ19MTF9QQ0NBUkRfUHJpdmF0ZV9GdW5jdGlvbnNfR3JvdXAxIFBDQ0FSRCBJbml0aWFsaXphdGlvbi9kZS1pbml0aWFsaXphdGlvbiBmdW5jdGlvbnMgCisvKiogQGRlZmdyb3VwIEZTTUNfTExfUENDQVJEX1ByaXZhdGVfRnVuY3Rpb25zX0dyb3VwMSBQQ0NBUkQgSW5pdGlhbGl6YXRpb24vZGUtaW5pdGlhbGl6YXRpb24gZnVuY3Rpb25zCiAgICogIEB7CiAgICovCiBIQUxfU3RhdHVzVHlwZURlZiAgRlNNQ19QQ0NBUkRfSW5pdChGU01DX1BDQ0FSRF9UeXBlRGVmICpEZXZpY2UsIEZTTUNfUENDQVJEX0luaXRUeXBlRGVmICpJbml0KTsKLUhBTF9TdGF0dXNUeXBlRGVmICBGU01DX1BDQ0FSRF9Db21tb25TcGFjZV9UaW1pbmdfSW5pdChGU01DX1BDQ0FSRF9UeXBlRGVmICpEZXZpY2UsIEZTTUNfTkFORF9QQ0NfVGltaW5nVHlwZURlZiAqVGltaW5nKTsKLUhBTF9TdGF0dXNUeXBlRGVmICBGU01DX1BDQ0FSRF9BdHRyaWJ1dGVTcGFjZV9UaW1pbmdfSW5pdChGU01DX1BDQ0FSRF9UeXBlRGVmICpEZXZpY2UsIEZTTUNfTkFORF9QQ0NfVGltaW5nVHlwZURlZiAqVGltaW5nKTsKLUhBTF9TdGF0dXNUeXBlRGVmICBGU01DX1BDQ0FSRF9JT1NwYWNlX1RpbWluZ19Jbml0KEZTTUNfUENDQVJEX1R5cGVEZWYgKkRldmljZSwgRlNNQ19OQU5EX1BDQ19UaW1pbmdUeXBlRGVmICpUaW1pbmcpOyAKK0hBTF9TdGF0dXNUeXBlRGVmICBGU01DX1BDQ0FSRF9Db21tb25TcGFjZV9UaW1pbmdfSW5pdChGU01DX1BDQ0FSRF9UeXBlRGVmICpEZXZpY2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGU01DX05BTkRfUENDX1RpbWluZ1R5cGVEZWYgKlRpbWluZyk7CitIQUxfU3RhdHVzVHlwZURlZiAgRlNNQ19QQ0NBUkRfQXR0cmlidXRlU3BhY2VfVGltaW5nX0luaXQoRlNNQ19QQ0NBUkRfVHlwZURlZiAqRGV2aWNlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRlNNQ19OQU5EX1BDQ19UaW1pbmdUeXBlRGVmICpUaW1pbmcpOworSEFMX1N0YXR1c1R5cGVEZWYgIEZTTUNfUENDQVJEX0lPU3BhY2VfVGltaW5nX0luaXQoRlNNQ19QQ0NBUkRfVHlwZURlZiAqRGV2aWNlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGU01DX05BTkRfUENDX1RpbWluZ1R5cGVEZWYgKlRpbWluZyk7CiBIQUxfU3RhdHVzVHlwZURlZiAgRlNNQ19QQ0NBUkRfRGVJbml0KEZTTUNfUENDQVJEX1R5cGVEZWYgKkRldmljZSk7CiAvKioKICAgKiBAfQpAQCAtMTAwOSwyNSArMTA2NCwyMyBAQAogLyoqCiAgICogQH0KICAgKi8KLSNlbmRpZiAvKiBTVE0zMkY0MDV4eCB8fCBTVE0zMkY0MTV4eCB8fCBTVE0zMkY0MDd4eCB8fCBTVE0zMkY0MTd4eCAqLworI2VuZGlmIC8qIEZTTUNfQmFuazQgKi8KKwogCiAvKioKICAgKiBAfQogICAqLwotI2VuZGlmIC8qIFNUTTMyRjQwNXh4IHx8IFNUTTMyRjQxNXh4IHx8IFNUTTMyRjQwN3h4IHx8IFNUTTMyRjQxN3h4IHx8IFNUTTMyRjQxMlp4IHx8IFNUTTMyRjQxMlZ4IHx8IFNUTTMyRjQxMlJ4IHx8IFNUTTMyRjQxMkN4IHx8IFNUTTMyRjQxM3h4IHx8IFNUTTMyRjQyM3h4ICovCi0KLS8qKgotICAqIEB9Ci0gICovIAogCiAvKioKICAgKiBAfQogICAqLwotICAKKworLyoqCisgICogQH0KKyAgKi8KKwogI2lmZGVmIF9fY3BsdXNwbHVzCiB9CiAjZW5kaWYKIAotI2VuZGlmIC8qIF9fU1RNMzJGNHh4X0xMX0ZTTUNfSCAqLwotCi0vKioqKioqKioqKioqKioqKioqKioqKioqIChDKSBDT1BZUklHSFQgU1RNaWNyb2VsZWN0cm9uaWNzICoqKioqRU5EIE9GIEZJTEUqKioqLworI2VuZGlmIC8qIFNUTTMyRjR4eF9MTF9GU01DX0ggKi8KZGlmZiAtLWdpdCBhL0luYy9zdG0zMmY0eHhfbGxfZ3Bpby5oIGIvSW5jL3N0bTMyZjR4eF9sbF9ncGlvLmgKaW5kZXggNzZlOTE3MC4uNmJlZTdmZCAxMDA2NDQKLS0tIGEvSW5jL3N0bTMyZjR4eF9sbF9ncGlvLmgKKysrIGIvSW5jL3N0bTMyZjR4eF9sbF9ncGlvLmgKQEAgLTYsMTMgKzYsMTIgQEAKICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICogQGF0dGVudGlvbgogICAqCi0gICogPGgyPjxjZW50ZXI+JmNvcHk7IENvcHlyaWdodCAoYykgMjAxNyBTVE1pY3JvZWxlY3Ryb25pY3MuCi0gICogQWxsIHJpZ2h0cyByZXNlcnZlZC48L2NlbnRlcj48L2gyPgorICAqIENvcHlyaWdodCAoYykgMjAxNyBTVE1pY3JvZWxlY3Ryb25pY3MuCisgICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgKgotICAqIFRoaXMgc29mdHdhcmUgY29tcG9uZW50IGlzIGxpY2Vuc2VkIGJ5IFNUIHVuZGVyIEJTRCAzLUNsYXVzZSBsaWNlbnNlLAotICAqIHRoZSAiTGljZW5zZSI7IFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUKLSAgKiBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQ6Ci0gICogICAgICAgICAgICAgICAgICAgICAgICBvcGVuc291cmNlLm9yZy9saWNlbnNlcy9CU0QtMy1DbGF1c2UKKyAgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIHVuZGVyIHRlcm1zIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUKKyAgKiBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb2Z0d2FyZSBjb21wb25lbnQuCisgICogSWYgbm8gTElDRU5TRSBmaWxlIGNvbWVzIHdpdGggdGhpcyBzb2Z0d2FyZSwgaXQgaXMgcHJvdmlkZWQgQVMtSVMuCiAgICoKICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICovCkBAIC05ODAsNCArOTc5LDMgQEAKIAogI2VuZGlmIC8qIF9fU1RNMzJGNHh4X0xMX0dQSU9fSCAqLwogCi0vKioqKioqKioqKioqKioqKioqKioqKioqIChDKSBDT1BZUklHSFQgU1RNaWNyb2VsZWN0cm9uaWNzICoqKioqRU5EIE9GIEZJTEUqKioqLwpkaWZmIC0tZ2l0IGEvSW5jL3N0bTMyZjR4eF9sbF9pMmMuaCBiL0luYy9zdG0zMmY0eHhfbGxfaTJjLmgKaW5kZXggNWE0NmJhYi4uYmFiYmE2YiAxMDA2NDQKLS0tIGEvSW5jL3N0bTMyZjR4eF9sbF9pMmMuaAorKysgYi9JbmMvc3RtMzJmNHh4X2xsX2kyYy5oCkBAIC02LDEzICs2LDEyIEBACiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqIEBhdHRlbnRpb24KICAgKgotICAqIDxoMj48Y2VudGVyPiZjb3B5OyBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9jZW50ZXI+PC9oMj4KKyAgKiBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgorICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICoKLSAgKiBUaGlzIHNvZnR3YXJlIGNvbXBvbmVudCBpcyBsaWNlbnNlZCBieSBTVCB1bmRlciBCU0QgMy1DbGF1c2UgbGljZW5zZSwKLSAgKiB0aGUgIkxpY2Vuc2UiOyBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlCi0gICogTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0OgotICAqICAgICAgICAgICAgICAgICAgICAgICAgb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvQlNELTMtQ2xhdXNlCisgICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciB0ZXJtcyB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlCisgICogaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc29mdHdhcmUgY29tcG9uZW50LgorICAqIElmIG5vIExJQ0VOU0UgZmlsZSBjb21lcyB3aXRoIHRoaXMgc29mdHdhcmUsIGl0IGlzIHByb3ZpZGVkIEFTLUlTLgogICAqCiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqLwpAQCAtMTg4OSw0ICsxODg4LDMgQEAKIAogI2VuZGlmIC8qIF9fU1RNMzJGNHh4X0xMX0kyQ19IICovCiAKLS8qKioqKioqKioqKioqKioqKioqKioqKiogKEMpIENPUFlSSUdIVCBTVE1pY3JvZWxlY3Ryb25pY3MgKioqKipFTkQgT0YgRklMRSoqKiovCmRpZmYgLS1naXQgYS9JbmMvc3RtMzJmNHh4X2xsX2l3ZGcuaCBiL0luYy9zdG0zMmY0eHhfbGxfaXdkZy5oCmluZGV4IDJmMWI4NDQuLjQxNTgzNjMgMTAwNjQ0Ci0tLSBhL0luYy9zdG0zMmY0eHhfbGxfaXdkZy5oCisrKyBiL0luYy9zdG0zMmY0eHhfbGxfaXdkZy5oCkBAIC02LDEzICs2LDEyIEBACiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqIEBhdHRlbnRpb24KICAgKgotICAqIDxoMj48Y2VudGVyPiZjb3B5OyBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9jZW50ZXI+PC9oMj4KKyAgKiBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgorICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICoKLSAgKiBUaGlzIHNvZnR3YXJlIGNvbXBvbmVudCBpcyBsaWNlbnNlZCBieSBTVCB1bmRlciBCU0QgMy1DbGF1c2UgbGljZW5zZSwKLSAgKiB0aGUgIkxpY2Vuc2UiOyBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlCi0gICogTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0OgotICAqICAgICAgICAgICAgICAgICAgICAgICAgb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvQlNELTMtQ2xhdXNlCisgICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciB0ZXJtcyB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlCisgICogaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc29mdHdhcmUgY29tcG9uZW50LgorICAqIElmIG5vIExJQ0VOU0UgZmlsZSBjb21lcyB3aXRoIHRoaXMgc29mdHdhcmUsIGl0IGlzIHByb3ZpZGVkIEFTLUlTLgogICAqCiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqLwpAQCAtMzAxLDUgKzMwMCwzIEBACiAjZW5kaWYKIAogI2VuZGlmIC8qIFNUTTMyRjR4eF9MTF9JV0RHX0ggKi8KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKiAoQykgQ09QWVJJR0hUIFNUTWljcm9lbGVjdHJvbmljcyAqKioqKkVORCBPRiBGSUxFKioqKi8KZGlmZiAtLWdpdCBhL0luYy9zdG0zMmY0eHhfbGxfbHB0aW0uaCBiL0luYy9zdG0zMmY0eHhfbGxfbHB0aW0uaAppbmRleCBhOTFiZjkyLi45NDk1ZTAxIDEwMDY0NAotLS0gYS9JbmMvc3RtMzJmNHh4X2xsX2xwdGltLmgKKysrIGIvSW5jL3N0bTMyZjR4eF9sbF9scHRpbS5oCkBAIC02LDEzICs2LDEyIEBACiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqIEBhdHRlbnRpb24KICAgKgotICAqIDxoMj48Y2VudGVyPiZjb3B5OyBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9jZW50ZXI+PC9oMj4KKyAgKiBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgorICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICoKLSAgKiBUaGlzIHNvZnR3YXJlIGNvbXBvbmVudCBpcyBsaWNlbnNlZCBieSBTVCB1bmRlciBCU0QgMy1DbGF1c2UgbGljZW5zZSwKLSAgKiB0aGUgIkxpY2Vuc2UiOyBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlCi0gICogTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0OgotICAqICAgICAgICAgICAgICAgICAgICAgICAgb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvQlNELTMtQ2xhdXNlCisgICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciB0ZXJtcyB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlCisgICogaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc29mdHdhcmUgY29tcG9uZW50LgorICAqIElmIG5vIExJQ0VOU0UgZmlsZSBjb21lcyB3aXRoIHRoaXMgc29mdHdhcmUsIGl0IGlzIHByb3ZpZGVkIEFTLUlTLgogICAqCiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqLwpAQCAtMzUzLDcgKzM1Miw3IEBACiAgICogQHBhcmFtICBMUFRJTXggTG93LVBvd2VyIFRpbWVyIGluc3RhbmNlCiAgICogQHJldHZhbCBTdGF0ZSBvZiBiaXQgKDEgb3IgMCkuCiAgICovCi1fX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgTExfTFBUSU1fSXNFbmFibGVkKExQVElNX1R5cGVEZWYgKkxQVElNeCkKK19fU1RBVElDX0lOTElORSB1aW50MzJfdCBMTF9MUFRJTV9Jc0VuYWJsZWQoTFBUSU1fVHlwZURlZiAqY29uc3QgTFBUSU14KQogewogICByZXR1cm4gKCgoUkVBRF9CSVQoTFBUSU14LT5DUiwgTFBUSU1fQ1JfRU5BQkxFKSA9PSBMUFRJTV9DUl9FTkFCTEUpID8gMVVMIDogMFVMKSk7CiB9CkBAIC0zOTksNyArMzk4LDcgQEAKICAgKiAgICAgICAgIEBhcmcgQHJlZiBMTF9MUFRJTV9VUERBVEVfTU9ERV9JTU1FRElBVEUKICAgKiAgICAgICAgIEBhcmcgQHJlZiBMTF9MUFRJTV9VUERBVEVfTU9ERV9FTkRPRlBFUklPRAogICAqLwotX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IExMX0xQVElNX0dldFVwZGF0ZU1vZGUoTFBUSU1fVHlwZURlZiAqTFBUSU14KQorX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IExMX0xQVElNX0dldFVwZGF0ZU1vZGUoTFBUSU1fVHlwZURlZiAqY29uc3QgTFBUSU14KQogewogICByZXR1cm4gKHVpbnQzMl90KShSRUFEX0JJVChMUFRJTXgtPkNGR1IsIExQVElNX0NGR1JfUFJFTE9BRCkpOwogfQpAQCAtNDE0LDcgKzQxMyw3IEBACiAgICogQG5vdGUgYXV0b3JlbG9hZCB2YWx1ZSBiZSBzdHJpY3RseSBncmVhdGVyIHRoYW4gdGhlIGNvbXBhcmUgdmFsdWUuCiAgICogQHJtdG9sbCBBUlIgICAgICAgICAgQVJSICAgICAgICAgICBMTF9MUFRJTV9TZXRBdXRvUmVsb2FkCiAgICogQHBhcmFtICBMUFRJTXggTG93LVBvd2VyIFRpbWVyIGluc3RhbmNlCi0gICogQHBhcmFtICBBdXRvUmVsb2FkIFZhbHVlIGJldHdlZW4gTWluX0RhdGE9MHgwMCBhbmQgTWF4X0RhdGE9MHhGRkZGCisgICogQHBhcmFtICBBdXRvUmVsb2FkIFZhbHVlIGJldHdlZW4gTWluX0RhdGE9MHgwMDAxIGFuZCBNYXhfRGF0YT0weEZGRkYKICAgKiBAcmV0dmFsIE5vbmUKICAgKi8KIF9fU1RBVElDX0lOTElORSB2b2lkIExMX0xQVElNX1NldEF1dG9SZWxvYWQoTFBUSU1fVHlwZURlZiAqTFBUSU14LCB1aW50MzJfdCBBdXRvUmVsb2FkKQpAQCAtNDI2LDkgKzQyNSw5IEBACiAgICogQGJyaWVmICBHZXQgYWN0dWFsIGF1dG8gcmVsb2FkIHZhbHVlCiAgICogQHJtdG9sbCBBUlIgICAgICAgICAgQVJSICAgICAgICAgICBMTF9MUFRJTV9HZXRBdXRvUmVsb2FkCiAgICogQHBhcmFtICBMUFRJTXggTG93LVBvd2VyIFRpbWVyIGluc3RhbmNlCi0gICogQHJldHZhbCBBdXRvUmVsb2FkIFZhbHVlIGJldHdlZW4gTWluX0RhdGE9MHgwMCBhbmQgTWF4X0RhdGE9MHhGRkZGCisgICogQHJldHZhbCBBdXRvUmVsb2FkIFZhbHVlIGJldHdlZW4gTWluX0RhdGE9MHgwMDAxIGFuZCBNYXhfRGF0YT0weEZGRkYKICAgKi8KLV9fU1RBVElDX0lOTElORSB1aW50MzJfdCBMTF9MUFRJTV9HZXRBdXRvUmVsb2FkKExQVElNX1R5cGVEZWYgKkxQVElNeCkKK19fU1RBVElDX0lOTElORSB1aW50MzJfdCBMTF9MUFRJTV9HZXRBdXRvUmVsb2FkKExQVElNX1R5cGVEZWYgKmNvbnN0IExQVElNeCkKIHsKICAgcmV0dXJuICh1aW50MzJfdCkoUkVBRF9CSVQoTFBUSU14LT5BUlIsIExQVElNX0FSUl9BUlIpKTsKIH0KQEAgLTQ3MCw3ICs0NjksNyBAQAogICAqIEBwYXJhbSAgTFBUSU14IExvdy1Qb3dlciBUaW1lciBpbnN0YW5jZQogICAqIEByZXR2YWwgQ291bnRlciB2YWx1ZQogICAqLwotX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IExMX0xQVElNX0dldENvdW50ZXIoTFBUSU1fVHlwZURlZiAqTFBUSU14KQorX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IExMX0xQVElNX0dldENvdW50ZXIoTFBUSU1fVHlwZURlZiAqY29uc3QgTFBUSU14KQogewogICByZXR1cm4gKHVpbnQzMl90KShSRUFEX0JJVChMUFRJTXgtPkNOVCwgTFBUSU1fQ05UX0NOVCkpOwogfQpAQCAtNDk4LDcgKzQ5Nyw3IEBACiAgICogICAgICAgICBAYXJnIEByZWYgTExfTFBUSU1fQ09VTlRFUl9NT0RFX0lOVEVSTkFMCiAgICogICAgICAgICBAYXJnIEByZWYgTExfTFBUSU1fQ09VTlRFUl9NT0RFX0VYVEVSTkFMCiAgICovCi1fX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgTExfTFBUSU1fR2V0Q291bnRlck1vZGUoTFBUSU1fVHlwZURlZiAqTFBUSU14KQorX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IExMX0xQVElNX0dldENvdW50ZXJNb2RlKExQVElNX1R5cGVEZWYgKmNvbnN0IExQVElNeCkKIHsKICAgcmV0dXJuICh1aW50MzJfdCkoUkVBRF9CSVQoTFBUSU14LT5DRkdSLCBMUFRJTV9DRkdSX0NPVU5UTU9ERSkpOwogfQpAQCAtMTM3Nyw1ICsxMzc2LDMgQEAKICNlbmRpZgogCiAjZW5kaWYgLyogU1RNMzJGNHh4X0xMX0xQVElNX0ggKi8KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKiAoQykgQ09QWVJJR0hUIFNUTWljcm9lbGVjdHJvbmljcyAqKioqKkVORCBPRiBGSUxFKioqKi8KZGlmZiAtLWdpdCBhL0luYy9zdG0zMmY0eHhfbGxfcHdyLmggYi9JbmMvc3RtMzJmNHh4X2xsX3B3ci5oCmluZGV4IDAzYjg3MDYuLmVhMjNkYzUgMTAwNjQ0Ci0tLSBhL0luYy9zdG0zMmY0eHhfbGxfcHdyLmgKKysrIGIvSW5jL3N0bTMyZjR4eF9sbF9wd3IuaApAQCAtNiwxNCArNiwxMiBAQAogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKiBAYXR0ZW50aW9uCiAgICoKLSAgKiA8aDI+PGNlbnRlcj4mY29weTsgQ29weXJpZ2h0IChjKSAyMDE3IFNUTWljcm9lbGVjdHJvbmljcy4KLSAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvY2VudGVyPjwvaDI+CisgICogQ29weXJpZ2h0IChjKSAyMDE3IFNUTWljcm9lbGVjdHJvbmljcy4KKyAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAqCi0gICogVGhpcyBzb2Z0d2FyZSBjb21wb25lbnQgaXMgbGljZW5zZWQgYnkgU1QgdW5kZXIgQlNEIDMtQ2xhdXNlIGxpY2Vuc2UsCi0gICogdGhlICJMaWNlbnNlIjsgWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZQotICAqIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdDoKLSAgKiAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZQotICAqCisgICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciB0ZXJtcyB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGluCisgICogdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc29mdHdhcmUgY29tcG9uZW50LgorICAqIElmIG5vIExJQ0VOU0UgZmlsZSBjb21lcyB3aXRoIHRoaXMgc29mdHdhcmUsIGl0IGlzIHByb3ZpZGVkIEFTLUlTLgogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKi8KIApAQCAtOTg1LDUgKzk4MywzIEBACiAjZW5kaWYKIAogI2VuZGlmIC8qIF9fU1RNMzJGNHh4X0xMX1BXUl9IICovCi0KLS8qKioqKioqKioqKioqKioqKioqKioqKiogKEMpIENPUFlSSUdIVCBTVE1pY3JvZWxlY3Ryb25pY3MgKioqKipFTkQgT0YgRklMRSoqKiovCmRpZmYgLS1naXQgYS9JbmMvc3RtMzJmNHh4X2xsX3JjYy5oIGIvSW5jL3N0bTMyZjR4eF9sbF9yY2MuaAppbmRleCBkNGMyNDlmLi4xZGYxYjU4IDEwMDY0NAotLS0gYS9JbmMvc3RtMzJmNHh4X2xsX3JjYy5oCisrKyBiL0luYy9zdG0zMmY0eHhfbGxfcmNjLmgKQEAgLTYsMTQgKzYsMTIgQEAKICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICogQGF0dGVudGlvbgogICAqCi0gICogPGgyPjxjZW50ZXI+JmNvcHk7IENvcHlyaWdodCAoYykgMjAxNyBTVE1pY3JvZWxlY3Ryb25pY3MuCi0gICogQWxsIHJpZ2h0cyByZXNlcnZlZC48L2NlbnRlcj48L2gyPgorICAqIENvcHlyaWdodCAoYykgMjAxNyBTVE1pY3JvZWxlY3Ryb25pY3MuCisgICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgKgotICAqIFRoaXMgc29mdHdhcmUgY29tcG9uZW50IGlzIGxpY2Vuc2VkIGJ5IFNUIHVuZGVyIEJTRCAzLUNsYXVzZSBsaWNlbnNlLAotICAqIHRoZSAiTGljZW5zZSI7IFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUKLSAgKiBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQ6Ci0gICogICAgICAgICAgICAgICAgICAgICAgICBvcGVuc291cmNlLm9yZy9saWNlbnNlcy9CU0QtMy1DbGF1c2UKLSAgKgorICAqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgdW5kZXIgdGVybXMgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBpbgorICAqIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvZnR3YXJlIGNvbXBvbmVudC4KKyAgKiBJZiBubyBMSUNFTlNFIGZpbGUgY29tZXMgd2l0aCB0aGlzIHNvZnR3YXJlLCBpdCBpcyBwcm92aWRlZCBBUy1JUy4KICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICovCiAKQEAgLTcwOTYsNCArNzA5NCwzIEBACiAKICNlbmRpZiAvKiBfX1NUTTMyRjR4eF9MTF9SQ0NfSCAqLwogCi0vKioqKioqKioqKioqKioqKioqKioqKioqIChDKSBDT1BZUklHSFQgU1RNaWNyb2VsZWN0cm9uaWNzICoqKioqRU5EIE9GIEZJTEUqKioqLwpkaWZmIC0tZ2l0IGEvSW5jL3N0bTMyZjR4eF9sbF9ybmcuaCBiL0luYy9zdG0zMmY0eHhfbGxfcm5nLmgKaW5kZXggYzE0MjcxNy4uMTUxY2I0YSAxMDA2NDQKLS0tIGEvSW5jL3N0bTMyZjR4eF9sbF9ybmcuaAorKysgYi9JbmMvc3RtMzJmNHh4X2xsX3JuZy5oCkBAIC02LDEzICs2LDEyIEBACiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqIEBhdHRlbnRpb24KICAgKgotICAqIDxoMj48Y2VudGVyPiZjb3B5OyBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9jZW50ZXI+PC9oMj4KKyAgKiBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgorICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICoKLSAgKiBUaGlzIHNvZnR3YXJlIGNvbXBvbmVudCBpcyBsaWNlbnNlZCBieSBTVCB1bmRlciBCU0QgMy1DbGF1c2UgbGljZW5zZSwKLSAgKiB0aGUgIkxpY2Vuc2UiOyBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlCi0gICogTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0OgotICAqICAgICAgICAgICAgICAgICAgICAgICAgb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvQlNELTMtQ2xhdXNlCisgICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciB0ZXJtcyB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlCisgICogaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc29mdHdhcmUgY29tcG9uZW50LgorICAqIElmIG5vIExJQ0VOU0UgZmlsZSBjb21lcyB3aXRoIHRoaXMgc29mdHdhcmUsIGl0IGlzIHByb3ZpZGVkIEFTLUlTLgogICAqCiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqLwpAQCAtMzM0LDQgKzMzMywzIEBACiAKICNlbmRpZiAvKiBfX1NUTTMyRjR4eF9MTF9STkdfSCAqLwogCi0vKioqKioqKioqKioqKioqKioqKioqKioqIChDKSBDT1BZUklHSFQgU1RNaWNyb2VsZWN0cm9uaWNzICoqKioqRU5EIE9GIEZJTEUqKioqLwpkaWZmIC0tZ2l0IGEvSW5jL3N0bTMyZjR4eF9sbF9ydGMuaCBiL0luYy9zdG0zMmY0eHhfbGxfcnRjLmgKaW5kZXggMWY1N2NlNC4uMTgwY2MxNSAxMDA2NDQKLS0tIGEvSW5jL3N0bTMyZjR4eF9sbF9ydGMuaAorKysgYi9JbmMvc3RtMzJmNHh4X2xsX3J0Yy5oCkBAIC02LDIwICs2LDE5IEBACiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqIEBhdHRlbnRpb24KICAgKgotICAqIDxoMj48Y2VudGVyPiZjb3B5OyBDb3B5cmlnaHQgKGMpIDIwMTcgU1RNaWNyb2VsZWN0cm9uaWNzLgotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9jZW50ZXI+PC9oMj4KKyAgKiBDb3B5cmlnaHQgKGMpIDIwMTcgU1RNaWNyb2VsZWN0cm9uaWNzLgorICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICoKLSAgKiBUaGlzIHNvZnR3YXJlIGNvbXBvbmVudCBpcyBsaWNlbnNlZCBieSBTVCB1bmRlciBCU0QgMy1DbGF1c2UgbGljZW5zZSwKLSAgKiB0aGUgIkxpY2Vuc2UiOyBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlCi0gICogTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0OgotICAqICAgICAgICAgICAgICAgICAgICAgICAgb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvQlNELTMtQ2xhdXNlCisgICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciB0ZXJtcyB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlCisgICogaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc29mdHdhcmUgY29tcG9uZW50LgorICAqIElmIG5vIExJQ0VOU0UgZmlsZSBjb21lcyB3aXRoIHRoaXMgc29mdHdhcmUsIGl0IGlzIHByb3ZpZGVkIEFTLUlTLgogICAqCiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqLwogCiAvKiBEZWZpbmUgdG8gcHJldmVudCByZWN1cnNpdmUgaW5jbHVzaW9uIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwotI2lmbmRlZiBfX1NUTTMyRjR4eF9MTF9SVENfSAotI2RlZmluZSBfX1NUTTMyRjR4eF9MTF9SVENfSAorI2lmbmRlZiBTVE0zMkY0eHhfTExfUlRDX0gKKyNkZWZpbmUgU1RNMzJGNHh4X0xMX1JUQ19ICiAKICNpZmRlZiBfX2NwbHVzcGx1cwogZXh0ZXJuICJDIiB7CkBAIC00Niw3ICs0NSw3IEBACiAgICovCiAvKiBNYXNrcyBEZWZpbml0aW9uICovCiAjZGVmaW5lIFJUQ19JTklUX01BU0sgICAgICAgICAgICAgICAgIDB4RkZGRkZGRkZVCi0jZGVmaW5lIFJUQ19SU0ZfTUFTSyAgICAgICAgICAgICAgICAgIDB4RkZGRkZGNUZVCisjZGVmaW5lIFJUQ19SU0ZfTUFTSyAgICAgICAgICAgICAgICAgICgodWludDMyX3QpfihSVENfSVNSX0lOSVQgfCBSVENfSVNSX1JTRikpCiAKIC8qIFdyaXRlIHByb3RlY3Rpb24gZGVmaW5lcyAqLwogI2RlZmluZSBSVENfV1JJVEVfUFJPVEVDVElPTl9ESVNBQkxFICAoKHVpbnQ4X3QpMHhGRlUpCkBAIC04NywxOSArODYsMTkgQEAKIHsKICAgdWludDMyX3QgSG91ckZvcm1hdDsgICAvKiE8IFNwZWNpZmllcyB0aGUgUlRDIEhvdXJzIEZvcm1hdC4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIG9mIEByZWYgUlRDX0xMX0VDX0hPVVJGT1JNQVQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIGZlYXR1cmUgY2FuIGJlIG1vZGlmaWVkIGFmdGVyd2FyZHMgdXNpbmcgdW5pdGFyeSBmdW5jdGlvbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQHJlZiBMTF9SVENfU2V0SG91ckZvcm1hdCgpLiAqLwogCiAgIHVpbnQzMl90IEFzeW5jaFByZXNjYWxlcjsgLyohPCBTcGVjaWZpZXMgdGhlIFJUQyBBc3luY2hyb25vdXMgUHJlZGl2aWRlciB2YWx1ZS4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIG11c3QgYmUgYSBudW1iZXIgYmV0d2VlbiBNaW5fRGF0YSA9IDB4MDAgYW5kIE1heF9EYXRhID0gMHg3RgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgZmVhdHVyZSBjYW4gYmUgbW9kaWZpZWQgYWZ0ZXJ3YXJkcyB1c2luZyB1bml0YXJ5IGZ1bmN0aW9uCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAcmVmIExMX1JUQ19TZXRBc3luY2hQcmVzY2FsZXIoKS4gKi8KIAogICB1aW50MzJfdCBTeW5jaFByZXNjYWxlcjsgIC8qITwgU3BlY2lmaWVzIHRoZSBSVEMgU3luY2hyb25vdXMgUHJlZGl2aWRlciB2YWx1ZS4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIG11c3QgYmUgYSBudW1iZXIgYmV0d2VlbiBNaW5fRGF0YSA9IDB4MDAgYW5kIE1heF9EYXRhID0gMHg3RkZGCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBmZWF0dXJlIGNhbiBiZSBtb2RpZmllZCBhZnRlcndhcmRzIHVzaW5nIHVuaXRhcnkgZnVuY3Rpb24KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEByZWYgTExfUlRDX1NldFN5bmNoUHJlc2NhbGVyKCkuICovCiB9IExMX1JUQ19Jbml0VHlwZURlZjsKQEAgLTE2Nyw4ICsxNjYsOCBAQAogICB1aW50MzJfdCBBbGFybU1hc2s7ICAgICAgICAgICAgLyohPCBTcGVjaWZpZXMgdGhlIFJUQyBBbGFybSBNYXNrcy4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGEgdmFsdWUgb2YgQHJlZiBSVENfTExfRUNfQUxNQV9NQVNLIGZvciBBTEFSTSBBIG9yIEByZWYgUlRDX0xMX0VDX0FMTUJfTUFTSyBmb3IgQUxBUk0gQi4KIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIGZlYXR1cmUgY2FuIGJlIG1vZGlmaWVkIGFmdGVyd2FyZHMgdXNpbmcgdW5pdGFyeSBmdW5jdGlvbiBAcmVmIExMX1JUQ19BTE1BX1NldE1hc2soKSBmb3IgQUxBUk0gQSAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3IgQHJlZiBMTF9SVENfQUxNQl9TZXRNYXNrKCkgZm9yIEFMQVJNIEIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBmZWF0dXJlIGNhbiBiZSBtb2RpZmllZCBhZnRlcndhcmRzIHVzaW5nIHVuaXRhcnkgZnVuY3Rpb24gQHJlZiBMTF9SVENfQUxNQV9TZXRNYXNrKCkgZm9yIEFMQVJNIEEKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3IgQHJlZiBMTF9SVENfQUxNQl9TZXRNYXNrKCkgZm9yIEFMQVJNIEIuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLwogCiAgIHVpbnQzMl90IEFsYXJtRGF0ZVdlZWtEYXlTZWw7ICAvKiE8IFNwZWNpZmllcyB0aGUgUlRDIEFsYXJtIGlzIG9uIGRheSBvciBXZWVrRGF5LgpAQCAtMjA1LDggKzIwNCw4IEBACiAvKiogQGRlZmdyb3VwIFJUQ19MTF9FQ19GT1JNQVQgRk9STUFUCiAgICogQHsKICAgKi8KLSNkZWZpbmUgTExfUlRDX0ZPUk1BVF9CSU4gICAgICAgICAgICAgICAgICAweDAwMDAwMDAwMFUgLyohPCBCaW5hcnkgZGF0YSBmb3JtYXQgKi8KLSNkZWZpbmUgTExfUlRDX0ZPUk1BVF9CQ0QgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwMVUgLyohPCBCQ0QgZGF0YSBmb3JtYXQgKi8KKyNkZWZpbmUgTExfUlRDX0ZPUk1BVF9CSU4gICAgICAgICAgICAgICAgICAweDAwMDAwMDAwVSAvKiE8IEJpbmFyeSBkYXRhIGZvcm1hdCAqLworI2RlZmluZSBMTF9SVENfRk9STUFUX0JDRCAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDFVIC8qITwgQkNEIGRhdGEgZm9ybWF0ICovCiAvKioKICAgKiBAfQogICAqLwpAQCAtMjM2LDggKzIzNSw5IEBACiAgICogQHsKICAgKi8KICNkZWZpbmUgTExfUlRDX0lTUl9SRUNBTFBGICAgICAgICAgICAgICAgICBSVENfSVNSX1JFQ0FMUEYKLSNkZWZpbmUgTExfUlRDX0lTUl9UQU1QM0YgICAgICAgICAgICAgICAgICBSVENfSVNSX1RBTVAzRgorI2lmIGRlZmluZWQoUlRDX1RBTVBFUjJfU1VQUE9SVCkKICNkZWZpbmUgTExfUlRDX0lTUl9UQU1QMkYgICAgICAgICAgICAgICAgICBSVENfSVNSX1RBTVAyRgorI2VuZGlmIC8qIFJUQ19UQU1QRVIyX1NVUFBPUlQgKi8KICNkZWZpbmUgTExfUlRDX0lTUl9UQU1QMUYgICAgICAgICAgICAgICAgICBSVENfSVNSX1RBTVAxRgogI2RlZmluZSBMTF9SVENfSVNSX1RTT1ZGICAgICAgICAgICAgICAgICAgIFJUQ19JU1JfVFNPVkYKICNkZWZpbmUgTExfUlRDX0lTUl9UU0YgICAgICAgICAgICAgICAgICAgICBSVENfSVNSX1RTRgpAQCAtMzMwLDE2ICszMzAsNiBAQAogICAqIEB9CiAgICovCiAKLS8qKiBAZGVmZ3JvdXAgUlRDX0xMX0VDX1BJTiBQSU4KLSAgKiBAewotICAqLwotI2RlZmluZSBMTF9SVENfUElOX1BDMTMgICAgICAgICAgICAgICAgICAgIFJUQ19UQUZDUl9QQzEzTU9ERSAgICAvKiE8IFBDMTMgaXMgZm9yY2VkIHRvIHB1c2gtcHVsbCBvdXRwdXQgaWYgYWxsIFJUQyBhbHRlcm5hdGUgZnVuY3Rpb25zIGFyZSBkaXNhYmxlZCAqLwotI2RlZmluZSBMTF9SVENfUElOX1BDMTQgICAgICAgICAgICAgICAgICAgIFJUQ19UQUZDUl9QQzE0TU9ERSAgICAvKiE8IFBDMTQgaXMgZm9yY2VkIHRvIHB1c2gtcHVsbCBvdXRwdXQgaWYgTFNFIGlzIGRpc2FibGVkICovCi0jZGVmaW5lIExMX1JUQ19QSU5fUEMxNSAgICAgICAgICAgICAgICAgICAgUlRDX1RBRkNSX1BDMTVNT0RFICAgIC8qITwgUEMxNSBpcyBmb3JjZWQgdG8gcHVzaC1wdWxsIG91dHB1dCBpZiBMU0UgaXMgZGlzYWJsZWQgKi8KLS8qKgotICAqIEB9Ci0gICovCi0KIC8qKiBAZGVmZ3JvdXAgUlRDX0xMX0VDX09VVFBVVFBPTEFSSVRZX1BJTiAgT1VUUFVUIFBPTEFSSVRZIFBJTgogICAqIEB7CiAgICovCkBAIC0zOTIsMTEgKzM4MiwxMSBAQAogLyoqIEBkZWZncm91cCBSVENfTExfRUNfQUxNQl9NQVNLICBBTEFSTUIgTUFTSwogICAqIEB7CiAgICovCi0jZGVmaW5lIExMX1JUQ19BTE1CX01BU0tfTk9ORSAgICAgICAgICAgICAgMHgwMDAwMDAwMFUgICAgICAgICAgICAgLyohPCBObyBtYXNrcyBhcHBsaWVkIG9uIEFsYXJtIEIqLworI2RlZmluZSBMTF9SVENfQUxNQl9NQVNLX05PTkUgICAgICAgICAgICAgIDB4MDAwMDAwMDBVICAgICAgICAgICAgIC8qITwgTm8gbWFza3MgYXBwbGllZCBvbiBBbGFybSBCICAgICAgICAgICAgICAgICovCiAjZGVmaW5lIExMX1JUQ19BTE1CX01BU0tfREFURVdFRUtEQVkgICAgICAgUlRDX0FMUk1CUl9NU0s0ICAgICAgICAgLyohPCBEYXRlL2RheSBkbyBub3QgY2FyZSBpbiBBbGFybSBCIGNvbXBhcmlzb24gKi8KLSNkZWZpbmUgTExfUlRDX0FMTUJfTUFTS19IT1VSUyAgICAgICAgICAgICBSVENfQUxSTUJSX01TSzMgICAgICAgICAvKiE8IEhvdXJzIGRvIG5vdCBjYXJlIGluIEFsYXJtIEIgY29tcGFyaXNvbiAqLwotI2RlZmluZSBMTF9SVENfQUxNQl9NQVNLX01JTlVURVMgICAgICAgICAgIFJUQ19BTFJNQlJfTVNLMiAgICAgICAgIC8qITwgTWludXRlcyBkbyBub3QgY2FyZSBpbiBBbGFybSBCIGNvbXBhcmlzb24gKi8KLSNkZWZpbmUgTExfUlRDX0FMTUJfTUFTS19TRUNPTkRTICAgICAgICAgICBSVENfQUxSTUJSX01TSzEgICAgICAgICAvKiE8IFNlY29uZHMgZG8gbm90IGNhcmUgaW4gQWxhcm0gQiBjb21wYXJpc29uICovCisjZGVmaW5lIExMX1JUQ19BTE1CX01BU0tfSE9VUlMgICAgICAgICAgICAgUlRDX0FMUk1CUl9NU0szICAgICAgICAgLyohPCBIb3VycyBkbyBub3QgY2FyZSBpbiBBbGFybSBCIGNvbXBhcmlzb24gICAgKi8KKyNkZWZpbmUgTExfUlRDX0FMTUJfTUFTS19NSU5VVEVTICAgICAgICAgICBSVENfQUxSTUJSX01TSzIgICAgICAgICAvKiE8IE1pbnV0ZXMgZG8gbm90IGNhcmUgaW4gQWxhcm0gQiBjb21wYXJpc29uICAqLworI2RlZmluZSBMTF9SVENfQUxNQl9NQVNLX1NFQ09ORFMgICAgICAgICAgIFJUQ19BTFJNQlJfTVNLMSAgICAgICAgIC8qITwgU2Vjb25kcyBkbyBub3QgY2FyZSBpbiBBbGFybSBCIGNvbXBhcmlzb24gICovCiAjZGVmaW5lIExMX1JUQ19BTE1CX01BU0tfQUxMICAgICAgICAgICAgICAgKFJUQ19BTFJNQlJfTVNLNCB8IFJUQ19BTFJNQlJfTVNLMyB8IFJUQ19BTFJNQlJfTVNLMiB8IFJUQ19BTFJNQlJfTVNLMSkgLyohPCBNYXNrcyBhbGwgKi8KIC8qKgogICAqIEB9CkBAIC00NDAsMjkgKzQzMCw2IEBACiAgICogQH0KICAgKi8KIAotLyoqIEBkZWZncm91cCBSVENfTExfRUNfVEFNUEVSX01BU0sgIFRBTVBFUiBNQVNLCi0gICogQHsKLSAgKi8KLSNkZWZpbmUgTExfUlRDX1RBTVBFUl9NQVNLX1RBTVBFUjEgICAgICAgICBSVENfVEFGQ1JfVEFNUDFNRiAvKiE8IFRhbXBlciAxIGV2ZW50IGdlbmVyYXRlcyBhIHRyaWdnZXIgZXZlbnQuIFRBTVAxRiBpcyBtYXNrZWQgYW5kIGludGVybmFsbHkgY2xlYXJlZCBieSBoYXJkd2FyZS5UaGUgYmFja3VwIHJlZ2lzdGVycyBhcmUgbm90IGVyYXNlZCAqLwotI2lmIGRlZmluZWQoUlRDX1RBTVBFUjJfU1VQUE9SVCkKLSNkZWZpbmUgTExfUlRDX1RBTVBFUl9NQVNLX1RBTVBFUjIgICAgICAgICBSVENfVEFGQ1JfVEFNUDJNRiAvKiE8IFRhbXBlciAyIGV2ZW50IGdlbmVyYXRlcyBhIHRyaWdnZXIgZXZlbnQuIFRBTVAyRiBpcyBtYXNrZWQgYW5kIGludGVybmFsbHkgY2xlYXJlZCBieSBoYXJkd2FyZS4gVGhlIGJhY2t1cCByZWdpc3RlcnMgYXJlIG5vdCBlcmFzZWQuICovCi0jZW5kaWYgLyogUlRDX1RBTVBFUjJfU1VQUE9SVCAqLwotLyoqCi0gICogQH0KLSAgKi8KLQotLyoqIEBkZWZncm91cCBSVENfTExfRUNfVEFNUEVSX05PRVJBU0UgIFRBTVBFUiBOTyBFUkFTRQotICAqIEB7Ci0gICovCi0jZGVmaW5lIExMX1JUQ19UQU1QRVJfTk9FUkFTRV9UQU1QRVIxICAgICAgUlRDX1RBRkNSX1RBTVAxTk9FUkFTRSAvKiE8IFRhbXBlciAxIGV2ZW50IGRvZXMgbm90IGVyYXNlIHRoZSBiYWNrdXAgcmVnaXN0ZXJzLiAqLwotI2lmIGRlZmluZWQoUlRDX1RBTVBFUjJfU1VQUE9SVCkKLSNkZWZpbmUgTExfUlRDX1RBTVBFUl9OT0VSQVNFX1RBTVBFUjIgICAgICBSVENfVEFGQ1JfVEFNUDJOT0VSQVNFIC8qITwgVGFtcGVyIDIgZXZlbnQgZG9lcyBub3QgZXJhc2UgdGhlIGJhY2t1cCByZWdpc3RlcnMuICovCi0jZW5kaWYgLyogUlRDX1RBTVBFUjJfU1VQUE9SVCAqLwotLyoqCi0gICogQH0KLSAgKi8KLQotI2lmIGRlZmluZWQoUlRDX1RBRkNSX1RBTVBQUkNIKQogLyoqIEBkZWZncm91cCBSVENfTExfRUNfVEFNUEVSX0RVUkFUSU9OICBUQU1QRVIgRFVSQVRJT04KICAgKiBAewogICAqLwpAQCAtNDczLDkgKzQ0MCw3IEBACiAvKioKICAgKiBAfQogICAqLwotI2VuZGlmIC8qIFJUQ19UQUZDUl9UQU1QUFJDSCAqLwogCi0jaWYgZGVmaW5lZChSVENfVEFGQ1JfVEFNUEZMVCkKIC8qKiBAZGVmZ3JvdXAgUlRDX0xMX0VDX1RBTVBFUl9GSUxURVIgIFRBTVBFUiBGSUxURVIKICAgKiBAewogICAqLwpAQCAtNDg2LDkgKzQ1MSw3IEBACiAvKioKICAgKiBAfQogICAqLwotI2VuZGlmIC8qIFJUQ19UQUZDUl9UQU1QRkxUICovCiAKLSNpZiBkZWZpbmVkKFJUQ19UQUZDUl9UQU1QRlJFUSkKIC8qKiBAZGVmZ3JvdXAgUlRDX0xMX0VDX1RBTVBFUl9TQU1QTEZSRVFESVYgIFRBTVBFUiBTQU1QTElORyBGUkVRVUVOQ1kgRElWSURFUgogICAqIEB7CiAgICovCkBAIC01MDMsMTQgKzQ2NiwxMyBAQAogLyoqCiAgICogQH0KICAgKi8KLSNlbmRpZiAvKiBSVENfVEFGQ1JfVEFNUEZSRVEgKi8KIAogLyoqIEBkZWZncm91cCBSVENfTExfRUNfVEFNUEVSX0FDVElWRUxFVkVMICBUQU1QRVIgQUNUSVZFIExFVkVMCiAgICogQHsKICAgKi8KLSNkZWZpbmUgTExfUlRDX1RBTVBFUl9BQ1RJVkVMRVZFTF9UQU1QMSAgICBSVENfVEFGQ1JfVEFNUDFUUkcgLyohPCBSVENfVEFNUDEgaW5wdXQgZmFsbGluZyBlZGdlIChpZiBUQU1QRkxUID0gMDApIG9yIHN0YXlpbmcgaGlnaCAoaWYgVEFNUEZMVCAhPSAwMCkgdHJpZ2dlcnMgYSB0YW1wZXIgZGV0ZWN0aW9uIGV2ZW50Ki8KKyNkZWZpbmUgTExfUlRDX1RBTVBFUl9BQ1RJVkVMRVZFTF9UQU1QMSAgICBSVENfVEFGQ1JfVEFNUDFUUkcgLyohPCBSVENfVEFNUDEgaW5wdXQgZmFsbGluZyBlZGdlIChpZiBUQU1QRkxUID0gMDApIG9yIHN0YXlpbmcgaGlnaCAoaWYgVEFNUEZMVCAhPSAwMCkgdHJpZ2dlcnMgYSB0YW1wZXIgZGV0ZWN0aW9uIGV2ZW50ICovCiAjaWYgZGVmaW5lZChSVENfVEFNUEVSMl9TVVBQT1JUKQotI2RlZmluZSBMTF9SVENfVEFNUEVSX0FDVElWRUxFVkVMX1RBTVAyICAgIFJUQ19UQUZDUl9UQU1QMlRSRyAvKiE8IFJUQ19UQU1QMiBpbnB1dCBmYWxsaW5nIGVkZ2UgKGlmIFRBTVBGTFQgPSAwMCkgb3Igc3RheWluZyBoaWdoIChpZiBUQU1QRkxUICE9IDAwKSB0cmlnZ2VycyBhIHRhbXBlciBkZXRlY3Rpb24gZXZlbnQqLworI2RlZmluZSBMTF9SVENfVEFNUEVSX0FDVElWRUxFVkVMX1RBTVAyICAgIFJUQ19UQUZDUl9UQU1QMlRSRyAvKiE8IFJUQ19UQU1QMiBpbnB1dCBmYWxsaW5nIGVkZ2UgKGlmIFRBTVBGTFQgPSAwMCkgb3Igc3RheWluZyBoaWdoIChpZiBUQU1QRkxUICE9IDAwKSB0cmlnZ2VycyBhIHRhbXBlciBkZXRlY3Rpb24gZXZlbnQgKi8KICNlbmRpZiAvKiBSVENfVEFNUEVSMl9TVVBQT1JUICovCiAvKioKICAgKiBAfQpAQCAtNTM3LDcgKzQ5OSw2IEBACiAjZGVmaW5lIExMX1JUQ19CS1BfRFIyICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMlUKICNkZWZpbmUgTExfUlRDX0JLUF9EUjMgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAzVQogI2RlZmluZSBMTF9SVENfQktQX0RSNCAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDRVCi0jaWYgUlRDX0JLUF9OVU1CRVIgPiA1CiAjZGVmaW5lIExMX1JUQ19CS1BfRFI1ICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwNVUKICNkZWZpbmUgTExfUlRDX0JLUF9EUjYgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDA2VQogI2RlZmluZSBMTF9SVENfQktQX0RSNyAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDdVCkBAIC01NDksMTQgKzUxMCwxMCBAQAogI2RlZmluZSBMTF9SVENfQktQX0RSMTMgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMERVCiAjZGVmaW5lIExMX1JUQ19CS1BfRFIxNCAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwRVUKICNkZWZpbmUgTExfUlRDX0JLUF9EUjE1ICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDBGVQotI2VuZGlmIC8qIFJUQ19CS1BfTlVNQkVSID4gNSAqLwotCi0jaWYgUlRDX0JLUF9OVU1CRVIgPiAxNgogI2RlZmluZSBMTF9SVENfQktQX0RSMTYgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMTBVCiAjZGVmaW5lIExMX1JUQ19CS1BfRFIxNyAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAxMVUKICNkZWZpbmUgTExfUlRDX0JLUF9EUjE4ICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDEyVQogI2RlZmluZSBMTF9SVENfQktQX0RSMTkgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMTNVCi0jZW5kaWYgLyogUlRDX0JLUF9OVU1CRVIgPiAxNiAqLwogLyoqCiAgICogQH0KICAgKi8KQEAgLTU4MCw3ICs1MzcsNyBAQAogICAqIEB9CiAgICovCiAKLS8qKiBAZGVmZ3JvdXAgUlRDX0xMX0VDX0NBTElCX0lOU0VSVFBVTFNFICBDYWxpYnJhdGlvbiBwdWxzZSBpbnNlcnRpb24gCisvKiogQGRlZmdyb3VwIFJUQ19MTF9FQ19DQUxJQl9JTlNFUlRQVUxTRSAgQ2FsaWJyYXRpb24gcHVsc2UgaW5zZXJ0aW9uCiAgICogQHsKICAgKi8KICNkZWZpbmUgTExfUlRDX0NBTElCX0lOU0VSVFBVTFNFX05PTkUgICAgICAweDAwMDAwMDAwVSAgICAgICAgICAgLyohPCBObyBSVENDTEsgcHVsc2VzIGFyZSBhZGRlZCAqLwpAQCAtNjA1LDcgKzU2Miw3IEBACiAjZGVmaW5lIExMX1JUQ19UaW1lU3RhbXBQaW5fRGVmYXVsdCAgICAgICAgMHgwMDAwMDAwMFUgICAgICAgICAgIC8qITwgVXNlIFJUQ19BRjEgYXMgVElNRVNUQU1QICovCiAjaWYgZGVmaW5lZChSVENfQUYyX1NVUFBPUlQpCiAjZGVmaW5lIExMX1JUQ19UaW1lU3RhbXBQaW5fUG9zMSAgICAgICAgICAgUlRDX1RBRkNSX1RTSU5TRUwgICAgIC8qITwgVXNlIFJUQ19BRjIgYXMgVElNRVNUQU1QICovCi0jZW5kaWYKKyNlbmRpZiAvKiBSVENfQUYyX1NVUFBPUlQgKi8KIC8qKgogICAqIEB9CiAgICovCkBAIC02MTYsNyArNTczLDcgQEAKICNkZWZpbmUgTExfUlRDX1RhbXBlclBpbl9EZWZhdWx0ICAgICAgICAgICAweDAwMDAwMDAwVSAgICAgICAgICAgLyohPCBVc2UgUlRDX0FGMSBhcyBUQU1QRVIxICovCiAjaWYgZGVmaW5lZChSVENfQUYyX1NVUFBPUlQpCiAjZGVmaW5lIExMX1JUQ19UYW1wZXJQaW5fUG9zMSAgICAgICAgICAgICAgUlRDX1RBRkNSX1RBTVAxSU5TRUwgIC8qITwgVXNlIFJUQ19BRjIgYXMgVEFNUEVSMSAqLwotI2VuZGlmCisjZW5kaWYgLyogUlRDX0FGMl9TVVBQT1JUICovCiAvKioKICAgKiBAfQogICAqLwpAQCAtODM3LDggKzc5NCw2IEBACiAvKioKICAgKiBAYnJpZWYgIFNldCBSVENfQUxBUk0gb3V0cHV0IHR5cGUgKEFMQVJNIGluIHB1c2gtcHVsbCBvciBvcGVuLWRyYWluIG91dHB1dCkKICAgKiBAbm90ZSAgIFVzZWQgb25seSB3aGVuIFJUQ19BTEFSTSBpcyBtYXBwZWQgb24gUEMxMwotICAqIEBub3RlICAgSWYgYWxsIFJUQyBhbHRlcm5hdGUgZnVuY3Rpb25zIGFyZSBkaXNhYmxlZCBhbmQgUEMxM01PREUgPSAxLCBQQzEzVkFMVUUgY29uZmlndXJlcyB0aGUKLSAgKiAgICAgICAgIFBDMTMgb3V0cHV0IGRhdGEKICAgKiBAcm10b2xsIFRBRkNSICAgICAgICBBTEFSTU9VVFRZUEUgIExMX1JUQ19TZXRBbGFybU91dHB1dFR5cGUKICAgKiBAcGFyYW0gIFJUQ3ggUlRDIEluc3RhbmNlCiAgICogQHBhcmFtICBPdXRwdXQgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIG9uZSBvZiB0aGUgZm9sbG93aW5nIHZhbHVlczoKQEAgLTg1NCw4ICs4MDksNiBAQAogLyoqCiAgICogQGJyaWVmICBHZXQgUlRDX0FMQVJNIG91dHB1dCB0eXBlIChBTEFSTSBpbiBwdXNoLXB1bGwgb3Igb3Blbi1kcmFpbiBvdXRwdXQpCiAgICogQG5vdGUgICB1c2VkIG9ubHkgd2hlbiBSVENfQUxBUk0gaXMgbWFwcGVkIG9uIFBDMTMKLSAgKiBAbm90ZSAgIElmIGFsbCBSVEMgYWx0ZXJuYXRlIGZ1bmN0aW9ucyBhcmUgZGlzYWJsZWQgYW5kIFBDMTNNT0RFID0gMSwgUEMxM1ZBTFVFIGNvbmZpZ3VyZXMgdGhlCi0gICogICAgICAgICBQQzEzIG91dHB1dCBkYXRhCiAgICogQHJtdG9sbCBUQUZDUiAgICAgICAgQUxBUk1PVVRUWVBFICBMTF9SVENfR2V0QWxhcm1PdXRwdXRUeXBlCiAgICogQHBhcmFtICBSVEN4IFJUQyBJbnN0YW5jZQogICAqIEByZXR2YWwgUmV0dXJuZWQgdmFsdWUgY2FuIGJlIG9uZSBvZiB0aGUgZm9sbG93aW5nIHZhbHVlczoKQEAgLTg2OCw3NiArODIxLDYgQEAKIH0KIAogLyoqCi0gICogQGJyaWVmICBFbmFibGUgcHVzaC1wdWxsIG91dHB1dCBvbiBQQzEzLCBQQzE0IGFuZC9vciBQQzE1Ci0gICogQG5vdGUgICBQQzEzIGZvcmNlZCB0byBwdXNoLXB1bGwgb3V0cHV0IGlmIGFsbCBSVEMgYWx0ZXJuYXRlIGZ1bmN0aW9ucyBhcmUgZGlzYWJsZWQKLSAgKiBAbm90ZSAgIFBDMTQgYW5kIFBDMTUgZm9yY2VkIHRvIHB1c2gtcHVsbCBvdXRwdXQgaWYgTFNFIGlzIGRpc2FibGVkCi0gICogQHJtdG9sbCBUQUZDUiAgICAgICAgUEMxM01PREUgIExMX1JUQ19FbmFibGVQdXNoUHVsbE1vZGVcbgotICAqIEBybXRvbGwgVEFGQ1IgICAgICAgIFBDMTRNT0RFICBMTF9SVENfRW5hYmxlUHVzaFB1bGxNb2RlXG4KLSAgKiBAcm10b2xsIFRBRkNSICAgICAgICBQQzE1TU9ERSAgTExfUlRDX0VuYWJsZVB1c2hQdWxsTW9kZQotICAqIEBwYXJhbSAgUlRDeCBSVEMgSW5zdGFuY2UKLSAgKiBAcGFyYW0gIFBpbk1hc2sgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGEgY29tYmluYXRpb24gb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXM6Ci0gICogICAgICAgICBAYXJnIEByZWYgTExfUlRDX1BJTl9QQzEzCi0gICogICAgICAgICBAYXJnIEByZWYgTExfUlRDX1BJTl9QQzE0Ci0gICogICAgICAgICBAYXJnIEByZWYgTExfUlRDX1BJTl9QQzE1Ci0gICogQHJldHZhbCBOb25lCi0gICovCi1fX1NUQVRJQ19JTkxJTkUgdm9pZCBMTF9SVENfRW5hYmxlUHVzaFB1bGxNb2RlKFJUQ19UeXBlRGVmICpSVEN4LCB1aW50MzJfdCBQaW5NYXNrKQotewotICBTRVRfQklUKFJUQ3gtPlRBRkNSLCBQaW5NYXNrKTsKLX0KLQotLyoqCi0gICogQGJyaWVmICBEaXNhYmxlIHB1c2gtcHVsbCBvdXRwdXQgb24gUEMxMywgUEMxNCBhbmQvb3IgUEMxNQotICAqIEBub3RlICAgUEMxMywgUEMxNCBhbmQvb3IgUEMxNSBhcmUgY29udHJvbGxlZCBieSB0aGUgR1BJTyBjb25maWd1cmF0aW9uIHJlZ2lzdGVycy4KLSAgKiAgICAgICAgIENvbnNlcXVlbnRseSBQQzEzLCBQQzE0IGFuZC9vciBQQzE1IGFyZSBmbG9hdGluZyBpbiBTdGFuZGJ5IG1vZGUuCi0gICogQHJtdG9sbCBUQUZDUiAgICAgICAgUEMxM01PREUgICAgICBMTF9SVENfRGlzYWJsZVB1c2hQdWxsTW9kZVxuCi0gICogICAgICAgICBUQUZDUiAgICAgICAgUEMxNE1PREUgICAgICBMTF9SVENfRGlzYWJsZVB1c2hQdWxsTW9kZVxuCi0gICogICAgICAgICBUQUZDUiAgICAgICAgUEMxNU1PREUgICAgICBMTF9SVENfRGlzYWJsZVB1c2hQdWxsTW9kZQotICAqIEBwYXJhbSAgUlRDeCBSVEMgSW5zdGFuY2UKLSAgKiBAcGFyYW0gIFBpbk1hc2sgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGEgY29tYmluYXRpb24gb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXM6Ci0gICogICAgICAgICBAYXJnIEByZWYgTExfUlRDX1BJTl9QQzEzCi0gICogICAgICAgICBAYXJnIEByZWYgTExfUlRDX1BJTl9QQzE0Ci0gICogICAgICAgICBAYXJnIEByZWYgTExfUlRDX1BJTl9QQzE1Ci0gICogQHJldHZhbCBOb25lCi0gICovCi1fX1NUQVRJQ19JTkxJTkUgdm9pZCBMTF9SVENfRGlzYWJsZVB1c2hQdWxsTW9kZShSVENfVHlwZURlZiogUlRDeCwgdWludDMyX3QgUGluTWFzaykKLXsKLSAgQ0xFQVJfQklUKFJUQ3gtPlRBRkNSLCBQaW5NYXNrKTsKLX0KLQotLyoqCi0gICogQGJyaWVmICBTZXQgUEMxNCBhbmQvb3IgUEMxNSB0byBoaWdoIGxldmVsLgotICAqIEBub3RlICAgT3V0cHV0IGRhdGEgY29uZmlndXJhdGlvbiBpcyBwb3NzaWJsZSBpZiB0aGUgTFNFIGlzIGRpc2FibGVkIGFuZCBQdXNoUHVsbCBvdXRwdXQgaXMgZW5hYmxlZCAodGhyb3VnaCBAcmVmIExMX1JUQ19FbmFibGVQdXNoUHVsbE1vZGUpIAotICAqIEBybXRvbGwgVEFGQ1IgICAgICAgIFBDMTRWQUxVRSAgICAgTExfUlRDX1NldE91dHB1dFBpblxuCi0gICogICAgICAgICBUQUZDUiAgICAgICAgUEMxNVZBTFVFICAgICBMTF9SVENfU2V0T3V0cHV0UGluCi0gICogQHBhcmFtICBSVEN4IFJUQyBJbnN0YW5jZQotICAqIEBwYXJhbSAgUGluTWFzayBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYSBjb21iaW5hdGlvbiBvZiB0aGUgZm9sbG93aW5nIHZhbHVlczoKLSAgKiAgICAgICAgIEBhcmcgQHJlZiBMTF9SVENfUElOX1BDMTQKLSAgKiAgICAgICAgIEBhcmcgQHJlZiBMTF9SVENfUElOX1BDMTUKLSAgKiBAcmV0dmFsIE5vbmUKLSAgKi8KLV9fU1RBVElDX0lOTElORSB2b2lkIExMX1JUQ19TZXRPdXRwdXRQaW4oUlRDX1R5cGVEZWYqIFJUQ3gsIHVpbnQzMl90IFBpbk1hc2spCi17Ci0gIFNFVF9CSVQoUlRDeC0+VEFGQ1IsIChQaW5NYXNrID4+IDEpKTsKLX0KLQotLyoqCi0gICogQGJyaWVmICBTZXQgUEMxNCBhbmQvb3IgUEMxNSB0byBsb3cgbGV2ZWwuCi0gICogQG5vdGUgICBPdXRwdXQgZGF0YSBjb25maWd1cmF0aW9uIGlzIHBvc3NpYmxlIGlmIHRoZSBMU0UgaXMgZGlzYWJsZWQgYW5kIFB1c2hQdWxsIG91dHB1dCBpcyBlbmFibGVkICh0aHJvdWdoIEByZWYgTExfUlRDX0VuYWJsZVB1c2hQdWxsTW9kZSkgCi0gICogQHJtdG9sbCBUQUZDUiAgICAgICAgUEMxNFZBTFVFICAgICBMTF9SVENfUmVzZXRPdXRwdXRQaW5cbgotICAqICAgICAgICAgVEFGQ1IgICAgICAgIFBDMTVWQUxVRSAgICAgTExfUlRDX1Jlc2V0T3V0cHV0UGluCi0gICogQHBhcmFtICBSVEN4IFJUQyBJbnN0YW5jZQotICAqIEBwYXJhbSAgUGluTWFzayBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYSBjb21iaW5hdGlvbiBvZiB0aGUgZm9sbG93aW5nIHZhbHVlczoKLSAgKiAgICAgICAgIEBhcmcgQHJlZiBMTF9SVENfUElOX1BDMTQKLSAgKiAgICAgICAgIEBhcmcgQHJlZiBMTF9SVENfUElOX1BDMTUKLSAgKiBAcmV0dmFsIE5vbmUKLSAgKi8KLV9fU1RBVElDX0lOTElORSB2b2lkIExMX1JUQ19SZXNldE91dHB1dFBpbihSVENfVHlwZURlZiogUlRDeCwgdWludDMyX3QgUGluTWFzaykKLXsKLSAgQ0xFQVJfQklUKFJUQ3gtPlRBRkNSLCAoUGluTWFzayA+PiAxKSk7Ci19Ci0KLS8qKgogICAqIEBicmllZiAgRW5hYmxlIGluaXRpYWxpemF0aW9uIG1vZGUKICAgKiBAbm90ZSAgIEluaXRpYWxpemF0aW9uIG1vZGUgaXMgdXNlZCB0byBwcm9ncmFtIHRpbWUgYW5kIGRhdGUgcmVnaXN0ZXIgKFJUQ19UUiBhbmQgUlRDX0RSKQogICAqICAgICAgICAgYW5kIHByZXNjYWxlciByZWdpc3RlciAoUlRDX1BSRVIpLgpAQCAtMTAyMyw3ICs5MDYsNyBAQAogICAqLwogX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IExMX1JUQ19Jc1NoYWRvd1JlZ0J5cGFzc0VuYWJsZWQoUlRDX1R5cGVEZWYgKlJUQ3gpCiB7Ci0gIHJldHVybiAoUkVBRF9CSVQoUlRDeC0+Q1IsIFJUQ19DUl9CWVBTSEFEKSA9PSAoUlRDX0NSX0JZUFNIQUQpKTsKKyAgcmV0dXJuICgoUkVBRF9CSVQoUlRDeC0+Q1IsIFJUQ19DUl9CWVBTSEFEKSA9PSAoUlRDX0NSX0JZUFNIQUQpKSA/IDFVTCA6IDBVTCk7CiB9CiAKIC8qKgpAQCAtMTIyOSw3ICsxMTEyLDcgQEAKICAgKi8KIF9fU1RBVElDX0lOTElORSB1aW50MzJfdCBMTF9SVENfVElNRV9HZXRNaW51dGUoUlRDX1R5cGVEZWYgKlJUQ3gpCiB7Ci0gIHJldHVybiAodWludDMyX3QpKFJFQURfQklUKFJUQ3gtPlRSLCAoUlRDX1RSX01OVCB8IFJUQ19UUl9NTlUpKT4+IFJUQ19UUl9NTlVfUG9zKTsKKyAgcmV0dXJuICh1aW50MzJfdCkoUkVBRF9CSVQoUlRDeC0+VFIsIChSVENfVFJfTU5UIHwgUlRDX1RSX01OVSkpID4+IFJUQ19UUl9NTlVfUG9zKTsKIH0KIAogLyoqCkBAIC0xMjkwLDEyICsxMTczLDEyIEBACiAgICovCiBfX1NUQVRJQ19JTkxJTkUgdm9pZCBMTF9SVENfVElNRV9Db25maWcoUlRDX1R5cGVEZWYgKlJUQ3gsIHVpbnQzMl90IEZvcm1hdDEyXzI0LCB1aW50MzJfdCBIb3VycywgdWludDMyX3QgTWludXRlcywgdWludDMyX3QgU2Vjb25kcykKIHsKLSAgcmVnaXN0ZXIgdWludDMyX3QgdGVtcCA9IDBVOworICB1aW50MzJfdCB0ZW1wOwogCi0gIHRlbXAgPSBGb3JtYXQxMl8yNCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgXAotICAgICAgICAgKCgoSG91cnMgJiAweEYwVSkgPDwgKFJUQ19UUl9IVF9Qb3MgLSA0VSkpIHwgKChIb3VycyAmIDB4MEZVKSA8PCBSVENfVFJfSFVfUG9zKSkgICAgIHwgXAorICB0ZW1wID0gRm9ybWF0MTJfMjQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBcCisgICAgICAgICAoKChIb3VycyAgICYgMHhGMFUpIDw8IChSVENfVFJfSFRfUG9zICAtIDRVKSkgfCAoKEhvdXJzICYgMHgwRlUpIDw8IFJUQ19UUl9IVV9Qb3MpKSAgICB8IFwKICAgICAgICAgICgoKE1pbnV0ZXMgJiAweEYwVSkgPDwgKFJUQ19UUl9NTlRfUG9zIC0gNFUpKSB8ICgoTWludXRlcyAmIDB4MEZVKSA8PCBSVENfVFJfTU5VX1BvcykpIHwgXAotICAgICAgICAgKCgoU2Vjb25kcyAmIDB4RjBVKSA8PCAoUlRDX1RSX1NUX1BvcyAtIDRVKSkgfCAoKFNlY29uZHMgJiAweDBGVSkgPDwgUlRDX1RSX1NVX1BvcykpOworICAgICAgICAgKCgoU2Vjb25kcyAmIDB4RjBVKSA8PCAoUlRDX1RSX1NUX1BvcyAgLSA0VSkpIHwgKChTZWNvbmRzICYgMHgwRlUpIDw8IFJUQ19UUl9TVV9Qb3MpKTsKICAgTU9ESUZZX1JFRyhSVEN4LT5UUiwgKFJUQ19UUl9QTSB8IFJUQ19UUl9IVCB8IFJUQ19UUl9IVSB8IFJUQ19UUl9NTlQgfCBSVENfVFJfTU5VIHwgUlRDX1RSX1NUIHwgUlRDX1RSX1NVKSwgdGVtcCk7CiB9CiAKQEAgLTEzMTgsMTIgKzEyMDEsNyBAQAogICAqLwogX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IExMX1JUQ19USU1FX0dldChSVENfVHlwZURlZiAqUlRDeCkKIHsKLSAgcmVnaXN0ZXIgdWludDMyX3QgdGVtcCA9IDBVOwotICAKLSAgdGVtcCA9IFJFQURfQklUKFJUQ3gtPlRSLCAoUlRDX1RSX0hUIHwgUlRDX1RSX0hVIHwgUlRDX1RSX01OVCB8IFJUQ19UUl9NTlUgfCBSVENfVFJfU1QgfCBSVENfVFJfU1UpKTsKLSAgcmV0dXJuICh1aW50MzJfdCkoKCgoKCh0ZW1wICYgUlRDX1RSX0hUKSA+PiBSVENfVFJfSFRfUG9zKSA8PCA0VSkgfCAoKHRlbXAgJiBSVENfVFJfSFUpID4+IFJUQ19UUl9IVV9Qb3MpKSA8PCBSVENfT0ZGU0VUX0hPVVIpIHwgIFwKLSAgICAgICAgICAgICAgICAgICAgKCgoKCh0ZW1wICYgUlRDX1RSX01OVCkgPj4gUlRDX1RSX01OVF9Qb3MpIDw8IDRVKSB8ICgodGVtcCAmIFJUQ19UUl9NTlUpID4+IFJUQ19UUl9NTlVfUG9zKSkgPDwgUlRDX09GRlNFVF9NSU5VVEUpIHwgXAotICAgICAgICAgICAgICAgICAgICAoKCgodGVtcCAmIFJUQ19UUl9TVCkgPj4gUlRDX1RSX1NUX1BvcykgPDwgNFUpIHwgKCh0ZW1wICYgUlRDX1RSX1NVKSA+PiBSVENfVFJfU1VfUG9zKSkpOworICByZXR1cm4gKHVpbnQzMl90KShSRUFEX0JJVChSVEN4LT5UUiwgKFJUQ19UUl9IVCB8IFJUQ19UUl9IVSB8IFJUQ19UUl9NTlQgfCBSVENfVFJfTU5VIHwgUlRDX1RSX1NUIHwgUlRDX1RSX1NVKSkpOwogfQogCiAvKioKQEAgLTEzNTgsNyArMTIzNiw3IEBACiAgICovCiBfX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgTExfUlRDX1RJTUVfSXNEYXlMaWdodFN0b3JlRW5hYmxlZChSVENfVHlwZURlZiAqUlRDeCkKIHsKLSAgcmV0dXJuIChSRUFEX0JJVChSVEN4LT5DUiwgUlRDX0NSX0JLUCkgPT0gKFJUQ19DUl9CS1ApKTsKKyAgcmV0dXJuICgoUkVBRF9CSVQoUlRDeC0+Q1IsIFJUQ19DUl9CS1ApID09IChSVENfQ1JfQktQKSkgPyAxVUwgOiAwVUwpOwogfQogCiAvKioKQEAgLTEzODYsMTcgKzEyNjQsMTggQEAKIH0KIAogLyoqCi0gICogQGJyaWVmICBHZXQgU3ViIHNlY29uZCB2YWx1ZSBpbiB0aGUgc3luY2hyb25vdXMgcHJlc2NhbGVyIGNvdW50ZXIuCisgICogQGJyaWVmICBHZXQgc3Vic2Vjb25kcyB2YWx1ZSBpbiB0aGUgc3luY2hyb25vdXMgcHJlc2NhbGVyIGNvdW50ZXIuCiAgICogQG5vdGUgIFlvdSBjYW4gdXNlIGJvdGggU3ViU2Vjb25kcyB2YWx1ZSBhbmQgU2Vjb25kRnJhY3Rpb24gKFBSRURJVl9TIHRocm91Z2gKICAgKiAgICAgICAgTExfUlRDX0dldFN5bmNoUHJlc2NhbGVyIGZ1bmN0aW9uKSB0ZXJtcyByZXR1cm5lZCB0byBjb252ZXJ0IENhbGVuZGFyCiAgICogICAgICAgIFN1YlNlY29uZHMgdmFsdWUgaW4gc2Vjb25kIGZyYWN0aW9uIHJhdGlvIHdpdGggdGltZSB1bml0IGZvbGxvd2luZwogICAqICAgICAgICBnZW5lcmljIGZvcm11bGE6Ci0gICogICAgICAgICAgPT0+IFNlY29uZHMgZnJhY3Rpb24gcmF0aW8gKiB0aW1lX3VuaXQ9IFsoU2Vjb25kRnJhY3Rpb24tU3ViU2Vjb25kcykvKFNlY29uZEZyYWN0aW9uKzEpXSAqIHRpbWVfdW5pdAorICAqICAgICAgICAgID09PiBTZWNvbmRzIGZyYWN0aW9uIHJhdGlvICogdGltZV91bml0ID0KKyAgKiAgICAgICAgICAgICAgICAgWyhTZWNvbmRGcmFjdGlvbi1TdWJTZWNvbmRzKS8oU2Vjb25kRnJhY3Rpb24rMSldICogdGltZV91bml0CiAgICogICAgICAgIFRoaXMgY29udmVyc2lvbiBjYW4gYmUgcGVyZm9ybWVkIG9ubHkgaWYgbm8gc2hpZnQgb3BlcmF0aW9uIGlzIHBlbmRpbmcKICAgKiAgICAgICAgKGllLiBTSEZQPTApIHdoZW4gUFJFRElWX1MgPj0gU1MuCiAgICogQHJtdG9sbCBTU1IgICAgICAgICAgU1MgICAgICAgICAgICBMTF9SVENfVElNRV9HZXRTdWJTZWNvbmQKICAgKiBAcGFyYW0gIFJUQ3ggUlRDIEluc3RhbmNlCi0gICogQHJldHZhbCBTdWIgc2Vjb25kIHZhbHVlIChudW1iZXIgYmV0d2VlbiAwIGFuZCA2NTUzNSkKKyAgKiBAcmV0dmFsIFN1YnNlY29uZHMgdmFsdWUgKG51bWJlciBiZXR3ZWVuIDAgYW5kIDY1NTM1KQogICAqLwogX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IExMX1JUQ19USU1FX0dldFN1YlNlY29uZChSVENfVHlwZURlZiAqUlRDeCkKIHsKQEAgLTE1NTAsNyArMTQyOSw3IEBACiAgICovCiBfX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgTExfUlRDX0RBVEVfR2V0TW9udGgoUlRDX1R5cGVEZWYgKlJUQ3gpCiB7Ci0gIHJldHVybiAodWludDMyX3QpKChSRUFEX0JJVChSVEN4LT5EUiwgKFJUQ19EUl9NVCB8IFJUQ19EUl9NVSkpKT4+IFJUQ19EUl9NVV9Qb3MpOworICByZXR1cm4gKHVpbnQzMl90KSgoUkVBRF9CSVQoUlRDeC0+RFIsIChSVENfRFJfTVQgfCBSVENfRFJfTVUpKSkgPj4gUlRDX0RSX01VX1Bvcyk7CiB9CiAKIC8qKgpAQCAtMTYyMCwxMiArMTQ5OSwxMiBAQAogICAqLwogX19TVEFUSUNfSU5MSU5FIHZvaWQgTExfUlRDX0RBVEVfQ29uZmlnKFJUQ19UeXBlRGVmICpSVEN4LCB1aW50MzJfdCBXZWVrRGF5LCB1aW50MzJfdCBEYXksIHVpbnQzMl90IE1vbnRoLCB1aW50MzJfdCBZZWFyKQogewotICByZWdpc3RlciB1aW50MzJfdCB0ZW1wID0gMFU7CisgIHVpbnQzMl90IHRlbXA7CiAKLSAgdGVtcCA9IChXZWVrRGF5IDw8IFJUQ19EUl9XRFVfUG9zKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBcCi0gICAgICAgICAoKChZZWFyICYgMHhGMFUpIDw8IChSVENfRFJfWVRfUG9zIC0gNFUpKSB8ICgoWWVhciAmIDB4MEZVKSA8PCBSVENfRFJfWVVfUG9zKSkgICB8IFwKKyAgdGVtcCA9ICggIFdlZWtEYXkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPDwgUlRDX0RSX1dEVV9Qb3MpIHwgXAorICAgICAgICAgKCgoWWVhciAgJiAweEYwVSkgPDwgKFJUQ19EUl9ZVF9Qb3MgLSA0VSkpIHwgKChZZWFyICAmIDB4MEZVKSA8PCBSVENfRFJfWVVfUG9zKSkgfCBcCiAgICAgICAgICAoKChNb250aCAmIDB4RjBVKSA8PCAoUlRDX0RSX01UX1BvcyAtIDRVKSkgfCAoKE1vbnRoICYgMHgwRlUpIDw8IFJUQ19EUl9NVV9Qb3MpKSB8IFwKLSAgICAgICAgICgoKERheSAmIDB4RjBVKSA8PCAoUlRDX0RSX0RUX1BvcyAtIDRVKSkgfCAoKERheSAmIDB4MEZVKSA8PCBSVENfRFJfRFVfUG9zKSk7CisgICAgICAgICAoKChEYXkgICAmIDB4RjBVKSA8PCAoUlRDX0RSX0RUX1BvcyAtIDRVKSkgfCAoKERheSAgICYgMHgwRlUpIDw8IFJUQ19EUl9EVV9Qb3MpKTsKIAogICBNT0RJRllfUkVHKFJUQ3gtPkRSLCAoUlRDX0RSX1dEVSB8IFJUQ19EUl9NVCB8IFJUQ19EUl9NVSB8IFJUQ19EUl9EVCB8IFJUQ19EUl9EVSB8IFJUQ19EUl9ZVCB8IFJUQ19EUl9ZVSksIHRlbXApOwogfQpAQCAtMTY0OCwxMyArMTUyNywxNCBAQAogICAqLwogX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IExMX1JUQ19EQVRFX0dldChSVENfVHlwZURlZiAqUlRDeCkKIHsKLSAgcmVnaXN0ZXIgdWludDMyX3QgdGVtcCA9IDBVOwotICAKKyAgdWludDMyX3QgdGVtcDsKKwogICB0ZW1wID0gUkVBRF9CSVQoUlRDeC0+RFIsIChSVENfRFJfV0RVIHwgUlRDX0RSX01UIHwgUlRDX0RSX01VIHwgUlRDX0RSX0RUIHwgUlRDX0RSX0RVIHwgUlRDX0RSX1lUIHwgUlRDX0RSX1lVKSk7Ci0gIHJldHVybiAodWludDMyX3QpKCgoKHRlbXAgJiBSVENfRFJfV0RVKSA+PiBSVENfRFJfV0RVX1BvcykgPDwgUlRDX09GRlNFVF9XRUVLREFZKSB8IFwKLSAgICAgICAgICAgICAgICAgICAgKCgoKCh0ZW1wICYgUlRDX0RSX0RUKSA+PiBSVENfRFJfRFRfUG9zKSA8PCA0VSkgfCAoKHRlbXAgJiBSVENfRFJfRFUpID4+IFJUQ19EUl9EVV9Qb3MpKSA8PCBSVENfT0ZGU0VUX0RBWSkgfCBcCi0gICAgICAgICAgICAgICAgICAgICgoKCgodGVtcCAmIFJUQ19EUl9NVCkgPj4gUlRDX0RSX01UX1BvcykgPDwgNFUpIHwgKCh0ZW1wICYgUlRDX0RSX01VKSA+PiBSVENfRFJfTVVfUG9zKSkgPDwgUlRDX09GRlNFVF9NT05USCkgfCBcCi0gICAgICAgICAgICAgICAgICAgICgoKCh0ZW1wICYgUlRDX0RSX1lUKSA+PiBSVENfRFJfWVRfUG9zKSA8PCA0VSkgfCAoKHRlbXAgJiBSVENfRFJfWVUpID4+IFJUQ19EUl9ZVV9Qb3MpKSk7CisKKyAgcmV0dXJuICh1aW50MzJfdCkoKCgodGVtcCAmICAgICAgICAgICAgICBSVENfRFJfV0RVKSA+PiBSVENfRFJfV0RVX1BvcykgPDwgUlRDX09GRlNFVF9XRUVLREFZKSB8IFwKKyAgICAgICAgICAgICAgICAgICAgKCgodGVtcCAmIChSVENfRFJfRFQgfCBSVENfRFJfRFUpKSA+PiBSVENfRFJfRFVfUG9zKSAgPDwgUlRDX09GRlNFVF9EQVkpICAgICB8IFwKKyAgICAgICAgICAgICAgICAgICAgKCgodGVtcCAmIChSVENfRFJfTVQgfCBSVENfRFJfTVUpKSA+PiBSVENfRFJfTVVfUG9zKSAgPDwgUlRDX09GRlNFVF9NT05USCkgICB8IFwKKyAgICAgICAgICAgICAgICAgICAgICgodGVtcCAmIChSVENfRFJfWVQgfCBSVENfRFJfWVUpKSA+PiBSVENfRFJfWVVfUG9zKSk7CiB9CiAKIC8qKgpAQCAtMTg2OSw3ICsxNzQ5LDcgQEAKICAgKi8KIF9fU1RBVElDX0lOTElORSB1aW50MzJfdCBMTF9SVENfQUxNQV9HZXRIb3VyKFJUQ19UeXBlRGVmICpSVEN4KQogewotICByZXR1cm4gKHVpbnQzMl90KSgoIFJFQURfQklUKFJUQ3gtPkFMUk1BUiwgKFJUQ19BTFJNQVJfSFQgfCBSVENfQUxSTUFSX0hVKSkpID4+IFJUQ19BTFJNQVJfSFVfUG9zKTsKKyAgcmV0dXJuICh1aW50MzJfdCkoKFJFQURfQklUKFJUQ3gtPkFMUk1BUiwgKFJUQ19BTFJNQVJfSFQgfCBSVENfQUxSTUFSX0hVKSkpID4+IFJUQ19BTFJNQVJfSFVfUG9zKTsKIH0KIAogLyoqCkBAIC0xOTQ4LDExICsxODI4LDEyIEBACiAgICovCiBfX1NUQVRJQ19JTkxJTkUgdm9pZCBMTF9SVENfQUxNQV9Db25maWdUaW1lKFJUQ19UeXBlRGVmICpSVEN4LCB1aW50MzJfdCBGb3JtYXQxMl8yNCwgdWludDMyX3QgSG91cnMsIHVpbnQzMl90IE1pbnV0ZXMsIHVpbnQzMl90IFNlY29uZHMpCiB7Ci0gIHJlZ2lzdGVyIHVpbnQzMl90IHRlbXAgPSAwVTsKKyAgdWludDMyX3QgdGVtcDsKIAotICB0ZW1wID0gRm9ybWF0MTJfMjQgfCAoKChIb3VycyAmIDB4RjBVKSA8PCAoUlRDX0FMUk1BUl9IVF9Qb3MgLSA0VSkpIHwgKChIb3VycyAmIDB4MEZVKSA8PCBSVENfQUxSTUFSX0hVX1BvcykpICAgIHwgXAorICB0ZW1wID0gRm9ybWF0MTJfMjQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFwKKyAgICAgICAgICgoKEhvdXJzICAgJiAweEYwVSkgPDwgKFJUQ19BTFJNQVJfSFRfUG9zICAtIDRVKSkgfCAoKEhvdXJzICAgJiAweDBGVSkgPDwgUlRDX0FMUk1BUl9IVV9Qb3MpKSAgfCBcCiAgICAgICAgICAoKChNaW51dGVzICYgMHhGMFUpIDw8IChSVENfQUxSTUFSX01OVF9Qb3MgLSA0VSkpIHwgKChNaW51dGVzICYgMHgwRlUpIDw8IFJUQ19BTFJNQVJfTU5VX1BvcykpIHwgXAotICAgICAgICAgKCgoU2Vjb25kcyAmIDB4RjBVKSA8PCAoUlRDX0FMUk1BUl9TVF9Qb3MgLSA0VSkpIHwgKChTZWNvbmRzICYgMHgwRlUpIDw8IFJUQ19BTFJNQVJfU1VfUG9zKSk7CisgICAgICAgICAoKChTZWNvbmRzICYgMHhGMFUpIDw8IChSVENfQUxSTUFSX1NUX1BvcyAgLSA0VSkpIHwgKChTZWNvbmRzICYgMHgwRlUpIDw8IFJUQ19BTFJNQVJfU1VfUG9zKSk7CiAKICAgTU9ESUZZX1JFRyhSVEN4LT5BTFJNQVIsIFJUQ19BTFJNQVJfUE0gfCBSVENfQUxSTUFSX0hUIHwgUlRDX0FMUk1BUl9IVSB8IFJUQ19BTFJNQVJfTU5UIHwgUlRDX0FMUk1BUl9NTlUgfCBSVENfQUxSTUFSX1NUIHwgUlRDX0FMUk1BUl9TVSwgdGVtcCk7CiB9CkBAIC0xOTc2LDcgKzE4NTcsOCBAQAogfQogCiAvKioKLSAgKiBAYnJpZWYgIFNldCBBbGFybSBBIE1hc2sgdGhlIG1vc3Qtc2lnbmlmaWNhbnQgYml0cyBzdGFydGluZyBhdCB0aGlzIGJpdAorICAqIEBicmllZiAgTWFzayB0aGUgbW9zdC1zaWduaWZpY2FudCBiaXRzIG9mIHRoZSBzdWJzZWNvbmRzIGZpZWxkIHN0YXJ0aW5nIGZyb20KKyAgKiAgICAgICAgIHRoZSBiaXQgc3BlY2lmaWVkIGluIHBhcmFtZXRlciBNYXNrCiAgICogQG5vdGUgVGhpcyByZWdpc3RlciBjYW4gYmUgd3JpdHRlbiBvbmx5IHdoZW4gQUxSQUUgaXMgcmVzZXQgaW4gUlRDX0NSIHJlZ2lzdGVyLAogICAqICAgICAgIG9yIGluIGluaXRpYWxpemF0aW9uIG1vZGUuCiAgICogQHJtdG9sbCBBTFJNQVNTUiAgICAgTUFTS1NTICAgICAgICBMTF9SVENfQUxNQV9TZXRTdWJTZWNvbmRNYXNrCkBAIC0xOTkwLDcgKzE4NzIsNyBAQAogfQogCiAvKioKLSAgKiBAYnJpZWYgIEdldCBBbGFybSBBIE1hc2sgdGhlIG1vc3Qtc2lnbmlmaWNhbnQgYml0cyBzdGFydGluZyBhdCB0aGlzIGJpdAorICAqIEBicmllZiAgR2V0IEFsYXJtIEEgc3Vic2Vjb25kcyBtYXNrCiAgICogQHJtdG9sbCBBTFJNQVNTUiAgICAgTUFTS1NTICAgICAgICBMTF9SVENfQUxNQV9HZXRTdWJTZWNvbmRNYXNrCiAgICogQHBhcmFtICBSVEN4IFJUQyBJbnN0YW5jZQogICAqIEByZXR2YWwgVmFsdWUgYmV0d2VlbiBNaW5fRGF0YT0weDAwIGFuZCBNYXhfRGF0YT0weEYKQEAgLTIwMDEsNyArMTg4Myw3IEBACiB9CiAKIC8qKgotICAqIEBicmllZiAgU2V0IEFsYXJtIEEgU3ViIHNlY29uZHMgdmFsdWUKKyAgKiBAYnJpZWYgIFNldCBBbGFybSBBIHN1YnNlY29uZHMgdmFsdWUKICAgKiBAcm10b2xsIEFMUk1BU1NSICAgICBTUyAgICAgICAgICAgIExMX1JUQ19BTE1BX1NldFN1YlNlY29uZAogICAqIEBwYXJhbSAgUlRDeCBSVEMgSW5zdGFuY2UKICAgKiBAcGFyYW0gIFN1YnNlY29uZCBWYWx1ZSBiZXR3ZWVuIE1pbl9EYXRhPTB4MDAgYW5kIE1heF9EYXRhPTB4N0ZGRgpAQCAtMjAxMyw3ICsxODk1LDcgQEAKIH0KIAogLyoqCi0gICogQGJyaWVmICBHZXQgQWxhcm0gQSBTdWIgc2Vjb25kcyB2YWx1ZQorICAqIEBicmllZiAgR2V0IEFsYXJtIEEgc3Vic2Vjb25kcyB2YWx1ZQogICAqIEBybXRvbGwgQUxSTUFTU1IgICAgIFNTICAgICAgICAgICAgTExfUlRDX0FMTUFfR2V0U3ViU2Vjb25kCiAgICogQHBhcmFtICBSVEN4IFJUQyBJbnN0YW5jZQogICAqIEByZXR2YWwgVmFsdWUgYmV0d2VlbiBNaW5fRGF0YT0weDAwIGFuZCBNYXhfRGF0YT0weDdGRkYKQEAgLTIxMjksNyArMjAxMSw3IEBACiAgICovCiBfX1NUQVRJQ19JTkxJTkUgdm9pZCBMTF9SVENfQUxNQl9TZXREYXkoUlRDX1R5cGVEZWYgKlJUQ3gsIHVpbnQzMl90IERheSkKIHsKLSAgTU9ESUZZX1JFRyhSVEMtPkFMUk1CUiwgKFJUQ19BTFJNQlJfRFQgfCBSVENfQUxSTUJSX0RVKSwKKyAgTU9ESUZZX1JFRyhSVEN4LT5BTFJNQlIsIChSVENfQUxSTUJSX0RUIHwgUlRDX0FMUk1CUl9EVSksCiAgICAgICAgICAgICAgKCgoRGF5ICYgMHhGMFUpIDw8IChSVENfQUxSTUJSX0RUX1BvcyAtIDRVKSkgfCAoKERheSAmIDB4MEZVKSA8PCBSVENfQUxSTUJSX0RVX1BvcykpKTsKIH0KIApAQCAtMjE0Myw3ICsyMDI1LDcgQEAKICAgKi8KIF9fU1RBVElDX0lOTElORSB1aW50MzJfdCBMTF9SVENfQUxNQl9HZXREYXkoUlRDX1R5cGVEZWYgKlJUQ3gpCiB7Ci0gIHJldHVybiAodWludDMyX3QpKCggUkVBRF9CSVQoUlRDeC0+QUxSTUJSLCAoUlRDX0FMUk1CUl9EVCB8IFJUQ19BTFJNQlJfRFUpKSkgPj4gUlRDX0FMUk1CUl9EVV9Qb3MpOworICByZXR1cm4gKHVpbnQzMl90KSgoUkVBRF9CSVQoUlRDeC0+QUxSTUJSLCAoUlRDX0FMUk1CUl9EVCB8IFJUQ19BTFJNQlJfRFUpKSkgPj4gUlRDX0FMUk1CUl9EVV9Qb3MpOwogfQogCiAvKioKQEAgLTIyOTEsMTAgKzIxNzMsNyBAQAogICAqLwogX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IExMX1JUQ19BTE1CX0dldFNlY29uZChSVENfVHlwZURlZiAqUlRDeCkKIHsKLSAgcmVnaXN0ZXIgdWludDMyX3QgdGVtcCA9IDBVOwotCi0gIHRlbXAgPSBSRUFEX0JJVChSVEN4LT5BTFJNQlIsIChSVENfQUxSTUJSX1NUIHwgUlRDX0FMUk1CUl9TVSkpOwotICByZXR1cm4gKHVpbnQzMl90KSgoKCh0ZW1wICYgUlRDX0FMUk1CUl9TVCkgPj4gUlRDX0FMUk1CUl9TVF9Qb3MpIDw8IDRVKSB8ICgodGVtcCAmIFJUQ19BTFJNQlJfU1UpID4+IFJUQ19BTFJNQlJfU1VfUG9zKSk7CisgIHJldHVybiAodWludDMyX3QpKChSRUFEX0JJVChSVEN4LT5BTFJNQlIsIChSVENfQUxSTUJSX1NUIHwgUlRDX0FMUk1CUl9TVSkpKSA+PiBSVENfQUxSTUJSX1NVX1Bvcyk7CiB9CiAKIC8qKgpAQCAtMjMxNywxMyArMjE5NiwxNCBAQAogICAqLwogX19TVEFUSUNfSU5MSU5FIHZvaWQgTExfUlRDX0FMTUJfQ29uZmlnVGltZShSVENfVHlwZURlZiAqUlRDeCwgdWludDMyX3QgRm9ybWF0MTJfMjQsIHVpbnQzMl90IEhvdXJzLCB1aW50MzJfdCBNaW51dGVzLCB1aW50MzJfdCBTZWNvbmRzKQogewotICByZWdpc3RlciB1aW50MzJfdCB0ZW1wID0gMFU7CisgIHVpbnQzMl90IHRlbXA7CiAKLSAgdGVtcCA9IEZvcm1hdDEyXzI0IHwgKCgoSG91cnMgJiAweEYwVSkgPDwgKFJUQ19BTFJNQlJfSFRfUG9zIC0gNFUpKSB8ICgoSG91cnMgJiAweDBGVSkgPDwgUlRDX0FMUk1CUl9IVV9Qb3MpKSAgICB8IFwKKyAgdGVtcCA9IEZvcm1hdDEyXzI0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBcCisgICAgICAgICAoKChIb3VycyAgICYgMHhGMFUpIDw8IChSVENfQUxSTUJSX0hUX1BvcyAgLSA0VSkpIHwgKChIb3VycyAgICYgMHgwRlUpIDw8IFJUQ19BTFJNQlJfSFVfUG9zKSkgIHwgXAogICAgICAgICAgKCgoTWludXRlcyAmIDB4RjBVKSA8PCAoUlRDX0FMUk1CUl9NTlRfUG9zIC0gNFUpKSB8ICgoTWludXRlcyAmIDB4MEZVKSA8PCBSVENfQUxSTUJSX01OVV9Qb3MpKSB8IFwKLSAgICAgICAgICgoKFNlY29uZHMgJiAweEYwVSkgPDwgKFJUQ19BTFJNQlJfU1RfUG9zIC0gNFUpKSB8ICgoU2Vjb25kcyAmIDB4MEZVKSA8PCBSVENfQUxSTUJSX1NVX1BvcykpOworICAgICAgICAgKCgoU2Vjb25kcyAmIDB4RjBVKSA8PCAoUlRDX0FMUk1CUl9TVF9Qb3MgIC0gNFUpKSB8ICgoU2Vjb25kcyAmIDB4MEZVKSA8PCBSVENfQUxSTUJSX1NVX1BvcykpOwogCi0gIE1PRElGWV9SRUcoUlRDeC0+QUxSTUJSLCBSVENfQUxSTUJSX1BNfCBSVENfQUxSTUJSX0hUIHwgUlRDX0FMUk1CUl9IVSB8IFJUQ19BTFJNQlJfTU5UIHwgUlRDX0FMUk1CUl9NTlUgfCBSVENfQUxSTUJSX1NUIHwgUlRDX0FMUk1CUl9TVSwgdGVtcCk7CisgIE1PRElGWV9SRUcoUlRDeC0+QUxSTUJSLCBSVENfQUxSTUJSX1BNIHwgUlRDX0FMUk1CUl9IVCB8IFJUQ19BTFJNQlJfSFUgfCBSVENfQUxSTUJSX01OVCB8IFJUQ19BTFJNQlJfTU5VIHwgUlRDX0FMUk1CUl9TVCB8IFJUQ19BTFJNQlJfU1UsIHRlbXApOwogfQogCiAvKioKQEAgLTIzNDUsNyArMjIyNSw4IEBACiB9CiAKIC8qKgotICAqIEBicmllZiAgU2V0IEFsYXJtIEIgTWFzayB0aGUgbW9zdC1zaWduaWZpY2FudCBiaXRzIHN0YXJ0aW5nIGF0IHRoaXMgYml0CisgICogQGJyaWVmICBNYXNrIHRoZSBtb3N0LXNpZ25pZmljYW50IGJpdHMgb2YgdGhlIHN1YnNlY29uZHMgZmllbGQgc3RhcnRpbmcgZnJvbQorICAqICAgICAgICAgdGhlIGJpdCBzcGVjaWZpZWQgaW4gcGFyYW1ldGVyIE1hc2sKICAgKiBAbm90ZSBUaGlzIHJlZ2lzdGVyIGNhbiBiZSB3cml0dGVuIG9ubHkgd2hlbiBBTFJCRSBpcyByZXNldCBpbiBSVENfQ1IgcmVnaXN0ZXIsCiAgICogICAgICAgb3IgaW4gaW5pdGlhbGl6YXRpb24gbW9kZS4KICAgKiBAcm10b2xsIEFMUk1CU1NSICAgICBNQVNLU1MgICAgICAgIExMX1JUQ19BTE1CX1NldFN1YlNlY29uZE1hc2sKQEAgLTIzNTksNyArMjI0MCw3IEBACiB9CiAKIC8qKgotICAqIEBicmllZiAgR2V0IEFsYXJtIEIgTWFzayB0aGUgbW9zdC1zaWduaWZpY2FudCBiaXRzIHN0YXJ0aW5nIGF0IHRoaXMgYml0CisgICogQGJyaWVmICBHZXQgQWxhcm0gQiBzdWJzZWNvbmRzIG1hc2sKICAgKiBAcm10b2xsIEFMUk1CU1NSICAgICBNQVNLU1MgICAgICAgIExMX1JUQ19BTE1CX0dldFN1YlNlY29uZE1hc2sKICAgKiBAcGFyYW0gIFJUQ3ggUlRDIEluc3RhbmNlCiAgICogQHJldHZhbCBWYWx1ZSBiZXR3ZWVuIE1pbl9EYXRhPTB4MDAgYW5kIE1heF9EYXRhPTB4RgpAQCAtMjM3MCw3ICsyMjUxLDcgQEAKIH0KIAogLyoqCi0gICogQGJyaWVmICBTZXQgQWxhcm0gQiBTdWIgc2Vjb25kcyB2YWx1ZQorICAqIEBicmllZiAgU2V0IEFsYXJtIEIgc3Vic2Vjb25kcyB2YWx1ZQogICAqIEBybXRvbGwgQUxSTUJTU1IgICAgIFNTICAgICAgICAgICAgTExfUlRDX0FMTUJfU2V0U3ViU2Vjb25kCiAgICogQHBhcmFtICBSVEN4IFJUQyBJbnN0YW5jZQogICAqIEBwYXJhbSAgU3Vic2Vjb25kIFZhbHVlIGJldHdlZW4gTWluX0RhdGE9MHgwMCBhbmQgTWF4X0RhdGE9MHg3RkZGCkBAIC0yMzgyLDcgKzIyNjMsNyBAQAogfQogCiAvKioKLSAgKiBAYnJpZWYgIEdldCBBbGFybSBCIFN1YiBzZWNvbmRzIHZhbHVlCisgICogQGJyaWVmICBHZXQgQWxhcm0gQiBzdWJzZWNvbmRzIHZhbHVlCiAgICogQHJtdG9sbCBBTFJNQlNTUiAgICAgU1MgICAgICAgICAgICBMTF9SVENfQUxNQl9HZXRTdWJTZWNvbmQKICAgKiBAcGFyYW0gIFJUQ3ggUlRDIEluc3RhbmNlCiAgICogQHJldHZhbCBWYWx1ZSBiZXR3ZWVuIE1pbl9EYXRhPTB4MDAgYW5kIE1heF9EYXRhPTB4N0ZGRgpAQCAtMjU5OSw3ICsyNDgwLDcgQEAKIH0KIAogLyoqCi0gICogQGJyaWVmICBHZXQgdGltZS1zdGFtcCBzdWIgc2Vjb25kIHZhbHVlCisgICogQGJyaWVmICBHZXQgdGltZS1zdGFtcCBzdWJzZWNvbmRzIHZhbHVlCiAgICogQHJtdG9sbCBUU1NTUiAgICAgICAgU1MgICAgICAgICAgICBMTF9SVENfVFNfR2V0U3ViU2Vjb25kCiAgICogQHBhcmFtICBSVEN4IFJUQyBJbnN0YW5jZQogICAqIEByZXR2YWwgVmFsdWUgYmV0d2VlbiBNaW5fRGF0YT0weDAwIGFuZCBNYXhfRGF0YT0weEZGRkYKQEAgLTI2MzcsMTcgKzI1MTgsMTcgQEAKICAgKiBAYnJpZWYgIFNldCB0aW1lc3RhbXAgUGluCiAgICogQHJtdG9sbCBUQUZDUiAgICAgICBUU0lOU0VMICAgICAgTExfUlRDX1RTX1NldFBpbgogICAqIEBwYXJhbSAgUlRDeCBSVEMgSW5zdGFuY2UKLSAgKiBAcGFyYW0gIFRTUGluIHNwZWNpZmllcyB0aGUgUlRDIFRpbWVTdGFtcCBQaW4uCisgICogQHBhcmFtICBUU1BpbiBzcGVjaWZpZXMgdGhlIFJUQyBUaW1lc3RhbXAgUGluLgogICAqICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBvbmUgb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXM6Ci0gICogICAgICAgICAgICBAYXJnIExMX1JUQ19UaW1lU3RhbXBQaW5fRGVmYXVsdDogUlRDX0FGMSBpcyB1c2VkIGFzIFJUQyBUaW1lU3RhbXAuCi0gICogICAgICAgICAgICBAYXJnIExMX1JUQ19UaW1lU3RhbXBQaW5fUG9zMTogUlRDX0FGMiBpcyBzZWxlY3RlZCBhcyBSVEMgVGltZVN0YW1wLiAoKikKLSAgKiAgICAgICAgICAgIAotICAqICAgICAgICAgICAgKCopIHZhbHVlIG5vdCBkZWZpbmVkIGluIGFsbCBkZXZpY2VzLgorICAqICAgICAgICAgICAgQGFyZyBMTF9SVENfVGltZVN0YW1wUGluX0RlZmF1bHQ6IFJUQ19BRjEgaXMgdXNlZCBhcyBSVEMgVGltZXN0YW1wIFBpbi4KKyAgKiAgICAgICAgICAgIEBhcmcgTExfUlRDX1RpbWVTdGFtcFBpbl9Qb3MxOiBSVENfQUYyIGlzIHVzZWQgYXMgUlRDIFRpbWVzdGFtcCBQaW4uICgqKQorICAqCisgICogICAgICAgICAgICAoKikgdmFsdWUgbm90IGFwcGxpY2FibGUgdG8gYWxsIGRldmljZXMuCiAgICogQHJldHZhbCBOb25lCiAgICovCiBfX1NUQVRJQ19JTkxJTkUgdm9pZCBMTF9SVENfVFNfU2V0UGluKFJUQ19UeXBlRGVmICpSVEN4LCB1aW50MzJfdCBUU1BpbikKIHsKLSAgTU9ESUZZX1JFRyhSVEN4LT5UQUZDUiwgUlRDX1RBRkNSX1RTSU5TRUwgLCBUU1Bpbik7IAorICBNT0RJRllfUkVHKFJUQ3gtPlRBRkNSLCBSVENfVEFGQ1JfVFNJTlNFTCwgVFNQaW4pOwogfQogCiAvKioKQEAgLTI2NTUsMTYgKzI1MzYsMTUgQEAKICAgKiBAcm10b2xsIFRBRkNSICAgICAgIFRTSU5TRUwgICAgICBMTF9SVENfVFNfR2V0UGluCiAgICogQHBhcmFtICBSVEN4IFJUQyBJbnN0YW5jZQogICAqIEByZXR2YWwgUmV0dXJuZWQgdmFsdWUgY2FuIGJlIG9uZSBvZiB0aGUgZm9sbG93aW5nIHZhbHVlczoKLSAgKiAgICAgICAgICAgIEBhcmcgTExfUlRDX1RpbWVTdGFtcFBpbl9EZWZhdWx0OiBSVENfQUYxIGlzIHVzZWQgYXMgUlRDIFRpbWVTdGFtcCBQaW4uCi0gICogICAgICAgICAgICBAYXJnIExMX1JUQ19UaW1lU3RhbXBQaW5fUG9zMTogUlRDX0FGMiBpcyBzZWxlY3RlZCBhcyBSVEMgVGltZVN0YW1wIFBpbi4gKCopCi0gICogICAgICAgICAgICAKLSAgKiAgICAgICAgICAgICgqKSB2YWx1ZSBub3QgZGVmaW5lZCBpbiBhbGwgZGV2aWNlcy4KKyAgKiAgICAgICAgICAgIEBhcmcgTExfUlRDX1RpbWVTdGFtcFBpbl9EZWZhdWx0OiBSVENfQUYxIGlzIHVzZWQgYXMgUlRDIFRpbWVzdGFtcCBQaW4uCisgICogICAgICAgICAgICBAYXJnIExMX1JUQ19UaW1lU3RhbXBQaW5fUG9zMTogUlRDX0FGMiBpcyB1c2VkIGFzIFJUQyBUaW1lc3RhbXAgUGluLiAoKikKKyAgKgorICAqICAgICAgICAgICAgKCopIHZhbHVlIG5vdCBhcHBsaWNhYmxlIHRvIGFsbCBkZXZpY2VzLgogICAqIEByZXR2YWwgTm9uZQogICAqLwotCiBfX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgTExfUlRDX1RTX0dldFBpbihSVENfVHlwZURlZiAqUlRDeCkKIHsKLSAgIHJldHVybiAodWludDMyX3QpKFJFQURfQklUKFJUQ3gtPlRBRkNSLCBSVENfVEFGQ1JfVFNJTlNFTCkpOworICByZXR1cm4gKHVpbnQzMl90KShSRUFEX0JJVChSVEN4LT5UQUZDUiwgUlRDX1RBRkNSX1RTSU5TRUwpKTsKIH0KIAogLyoqCkBAIC0yNjgxLDEwICsyNTYxLDEwIEBACiAgICogICAgICAgICBUQUZDUiAgICAgICBUQU1QMkUgICAgICAgIExMX1JUQ19UQU1QRVJfRW5hYmxlXG4KICAgKiBAcGFyYW0gIFJUQ3ggUlRDIEluc3RhbmNlCiAgICogQHBhcmFtICBUYW1wZXIgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGEgY29tYmluYXRpb24gb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXM6Ci0gICogICAgICAgICBAYXJnIEByZWYgTExfUlRDX1RBTVBFUl8xIAorICAqICAgICAgICAgQGFyZyBAcmVmIExMX1JUQ19UQU1QRVJfMQogICAqICAgICAgICAgQGFyZyBAcmVmIExMX1JUQ19UQU1QRVJfMiAoKikKLSAgKiAgICAgICAgIAotICAqICAgICAgICAgKCopIHZhbHVlIG5vdCBkZWZpbmVkIGluIGFsbCBkZXZpY2VzLgorICAqCisgICogICAgICAgICAoKikgdmFsdWUgbm90IGFwcGxpY2FibGUgdG8gYWxsIGRldmljZXMuCiAgICogQHJldHZhbCBOb25lCiAgICovCiBfX1NUQVRJQ19JTkxJTkUgdm9pZCBMTF9SVENfVEFNUEVSX0VuYWJsZShSVENfVHlwZURlZiAqUlRDeCwgdWludDMyX3QgVGFtcGVyKQpAQCAtMjY5OCwxMCArMjU3OCwxMCBAQAogICAqICAgICAgICAgVEFGQ1IgICAgICAgVEFNUDJFICAgICAgICBMTF9SVENfVEFNUEVSX0Rpc2FibGVcbgogICAqIEBwYXJhbSAgUlRDeCBSVEMgSW5zdGFuY2UKICAgKiBAcGFyYW0gIFRhbXBlciBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYSBjb21iaW5hdGlvbiBvZiB0aGUgZm9sbG93aW5nIHZhbHVlczoKLSAgKiAgICAgICAgIEBhcmcgQHJlZiBMTF9SVENfVEFNUEVSXzEgCisgICogICAgICAgICBAYXJnIEByZWYgTExfUlRDX1RBTVBFUl8xCiAgICogICAgICAgICBAYXJnIEByZWYgTExfUlRDX1RBTVBFUl8yICgqKQotICAqICAgICAgICAgCi0gICogICAgICAgICAoKikgdmFsdWUgbm90IGRlZmluZWQgaW4gYWxsIGRldmljZXMuCisgICoKKyAgKiAgICAgICAgICgqKSB2YWx1ZSBub3QgYXBwbGljYWJsZSB0byBhbGwgZGV2aWNlcy4KICAgKiBAcmV0dmFsIE5vbmUKICAgKi8KIF9fU1RBVElDX0lOTElORSB2b2lkIExMX1JUQ19UQU1QRVJfRGlzYWJsZShSVENfVHlwZURlZiAqUlRDeCwgdWludDMyX3QgVGFtcGVyKQpAQCAtMjcwOSw3ICsyNTg5LDYgQEAKICAgQ0xFQVJfQklUKFJUQ3gtPlRBRkNSLCBUYW1wZXIpOwogfQogCi0jaWYgZGVmaW5lZChSVENfVEFGQ1JfVEFNUFBVRElTKQogLyoqCiAgICogQGJyaWVmICBEaXNhYmxlIFJUQ19UQU1QeCBwdWxsLXVwIGRpc2FibGUgKERpc2FibGUgcHJlY2hhcmdlIG9mIFJUQ19UQU1QeCBwaW5zKQogICAqIEBybXRvbGwgVEFGQ1IgICAgICAgVEFNUFBVRElTICAgICBMTF9SVENfVEFNUEVSX0Rpc2FibGVQdWxsVXAKQEAgLTI3MzEsOSArMjYxMCw3IEBACiB7CiAgIENMRUFSX0JJVChSVEN4LT5UQUZDUiwgUlRDX1RBRkNSX1RBTVBQVURJUyk7CiB9Ci0jZW5kaWYgLyogUlRDX1RBRkNSX1RBTVBQVURJUyAqLwogCi0jaWYgZGVmaW5lZChSVENfVEFGQ1JfVEFNUFBSQ0gpCiAvKioKICAgKiBAYnJpZWYgIFNldCBSVENfVEFNUHggcHJlY2hhcmdlIGR1cmF0aW9uCiAgICogQHJtdG9sbCBUQUZDUiAgICAgICBUQU1QUFJDSCAgICAgIExMX1JUQ19UQU1QRVJfU2V0UHJlY2hhcmdlCkBAIC0yNzY0LDkgKzI2NDEsNyBAQAogewogICByZXR1cm4gKHVpbnQzMl90KShSRUFEX0JJVChSVEN4LT5UQUZDUiwgUlRDX1RBRkNSX1RBTVBQUkNIKSk7CiB9Ci0jZW5kaWYgLyogUlRDX1RBRkNSX1RBTVBQUkNIICovCiAKLSNpZiBkZWZpbmVkKFJUQ19UQUZDUl9UQU1QRkxUKQogLyoqCiAgICogQGJyaWVmICBTZXQgUlRDX1RBTVB4IGZpbHRlciBjb3VudAogICAqIEBybXRvbGwgVEFGQ1IgICAgICAgVEFNUEZMVCAgICAgICBMTF9SVENfVEFNUEVSX1NldEZpbHRlckNvdW50CkBAIC0yNzk3LDkgKzI2NzIsNyBAQAogewogICByZXR1cm4gKHVpbnQzMl90KShSRUFEX0JJVChSVEN4LT5UQUZDUiwgUlRDX1RBRkNSX1RBTVBGTFQpKTsKIH0KLSNlbmRpZiAvKiBSVENfVEFGQ1JfVEFNUEZMVCAqLwogCi0jaWYgZGVmaW5lZChSVENfVEFGQ1JfVEFNUEZSRVEpCiAvKioKICAgKiBAYnJpZWYgIFNldCBUYW1wZXIgc2FtcGxpbmcgZnJlcXVlbmN5CiAgICogQHJtdG9sbCBUQUZDUiAgICAgICBUQU1QRlJFUSAgICAgIExMX1JUQ19UQU1QRVJfU2V0U2FtcGxpbmdGcmVxCkBAIC0yODM4LDcgKzI3MTEsNiBAQAogewogICByZXR1cm4gKHVpbnQzMl90KShSRUFEX0JJVChSVEN4LT5UQUZDUiwgUlRDX1RBRkNSX1RBTVBGUkVRKSk7CiB9Ci0jZW5kaWYgLyogUlRDX1RBRkNSX1RBTVBGUkVRICovCiAKIC8qKgogICAqIEBicmllZiAgRW5hYmxlIEFjdGl2ZSBsZXZlbCBmb3IgVGFtcGVyIGlucHV0CkBAIC0yODQ2LDEwICsyNzE4LDEwIEBACiAgICogICAgICAgICBUQUZDUiAgICAgICBUQU1QMlRSRyAgICAgIExMX1JUQ19UQU1QRVJfRW5hYmxlQWN0aXZlTGV2ZWxcbgogICAqIEBwYXJhbSAgUlRDeCBSVEMgSW5zdGFuY2UKICAgKiBAcGFyYW0gIFRhbXBlciBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYSBjb21iaW5hdGlvbiBvZiB0aGUgZm9sbG93aW5nIHZhbHVlczoKLSAgKiAgICAgICAgIEBhcmcgQHJlZiBMTF9SVENfVEFNUEVSX0FDVElWRUxFVkVMX1RBTVAxIAorICAqICAgICAgICAgQGFyZyBAcmVmIExMX1JUQ19UQU1QRVJfQUNUSVZFTEVWRUxfVEFNUDEKICAgKiAgICAgICAgIEBhcmcgQHJlZiBMTF9SVENfVEFNUEVSX0FDVElWRUxFVkVMX1RBTVAyICgqKQotICAqICAgICAgICAgCi0gICogICAgICAgICAoKikgdmFsdWUgbm90IGRlZmluZWQgaW4gYWxsIGRldmljZXMuCisgICoKKyAgKiAgICAgICAgICgqKSB2YWx1ZSBub3QgYXBwbGljYWJsZSB0byBhbGwgZGV2aWNlcy4KICAgKiBAcmV0dmFsIE5vbmUKICAgKi8KIF9fU1RBVElDX0lOTElORSB2b2lkIExMX1JUQ19UQU1QRVJfRW5hYmxlQWN0aXZlTGV2ZWwoUlRDX1R5cGVEZWYgKlJUQ3gsIHVpbnQzMl90IFRhbXBlcikKQEAgLTI4NjMsMTAgKzI3MzUsMTAgQEAKICAgKiAgICAgICAgIFRBRkNSICAgICAgIFRBTVAyVFJHICAgICAgTExfUlRDX1RBTVBFUl9EaXNhYmxlQWN0aXZlTGV2ZWxcbgogICAqIEBwYXJhbSAgUlRDeCBSVEMgSW5zdGFuY2UKICAgKiBAcGFyYW0gIFRhbXBlciBUaGlzIHBhcmFtZXRlciBjYW4gYmUgYSBjb21iaW5hdGlvbiBvZiB0aGUgZm9sbG93aW5nIHZhbHVlczoKLSAgKiAgICAgICAgIEBhcmcgQHJlZiBMTF9SVENfVEFNUEVSX0FDVElWRUxFVkVMX1RBTVAxIAorICAqICAgICAgICAgQGFyZyBAcmVmIExMX1JUQ19UQU1QRVJfQUNUSVZFTEVWRUxfVEFNUDEKICAgKiAgICAgICAgIEBhcmcgQHJlZiBMTF9SVENfVEFNUEVSX0FDVElWRUxFVkVMX1RBTVAyICgqKQotICAqICAgICAgICAgCi0gICogICAgICAgICAoKikgdmFsdWUgbm90IGRlZmluZWQgaW4gYWxsIGRldmljZXMuCisgICoKKyAgKiAgICAgICAgICgqKSB2YWx1ZSBub3QgYXBwbGljYWJsZSB0byBhbGwgZGV2aWNlcy4KICAgKiBAcmV0dmFsIE5vbmUKICAgKi8KIF9fU1RBVElDX0lOTElORSB2b2lkIExMX1JUQ19UQU1QRVJfRGlzYWJsZUFjdGl2ZUxldmVsKFJUQ19UeXBlRGVmICpSVEN4LCB1aW50MzJfdCBUYW1wZXIpCkBAIC0yODgwLDE1ICsyNzUyLDE1IEBACiAgICogQHBhcmFtICBSVEN4IFJUQyBJbnN0YW5jZQogICAqIEBwYXJhbSAgVGFtcGVyUGluIHNwZWNpZmllcyB0aGUgUlRDIFRhbXBlciBQaW4uCiAgICogICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIG9uZSBvZiB0aGUgZm9sbG93aW5nIHZhbHVlczoKLSAgKiAgICAgICAgICAgIEBhcmcgTExfUlRDX1RhbXBlclBpbl9EZWZhdWx0OiBSVENfQUYxIGlzIHVzZWQgYXMgUlRDIFRhbXBlci4KLSAgKiAgICAgICAgICAgIEBhcmcgTExfUlRDX1RhbXBlclBpbl9Qb3MxOiBSVENfQUYyIGlzIHNlbGVjdGVkIGFzIFJUQyBUYW1wZXIuICgqKQotICAqICAgICAgICAgICAgCi0gICogICAgICAgICAgICAoKikgdmFsdWUgbm90IGRlZmluZWQgaW4gYWxsIGRldmljZXMuCisgICogICAgICAgICAgICBAYXJnIExMX1JUQ19UYW1wZXJQaW5fRGVmYXVsdDogUlRDX0FGMSBpcyB1c2VkIGFzIFJUQyBUYW1wZXIgUGluLgorICAqICAgICAgICAgICAgQGFyZyBMTF9SVENfVGFtcGVyUGluX1BvczE6IFJUQ19BRjIgaXMgdXNlZCBhcyBSVEMgVGFtcGVyIFBpbi4gKCopCisgICoKKyAgKiAgICAgICAgICAgICgqKSB2YWx1ZSBub3QgYXBwbGljYWJsZSB0byBhbGwgZGV2aWNlcy4KICAgKiBAcmV0dmFsIE5vbmUKICAgKi8KIF9fU1RBVElDX0lOTElORSB2b2lkIExMX1JUQ19UQU1QRVJfU2V0UGluKFJUQ19UeXBlRGVmICpSVEN4LCB1aW50MzJfdCBUYW1wZXJQaW4pCiB7Ci0gIE1PRElGWV9SRUcoUlRDeC0+VEFGQ1IsIFJUQ19UQUZDUl9UQU1QMUlOU0VMICwgVGFtcGVyUGluKTsgCisgIE1PRElGWV9SRUcoUlRDeC0+VEFGQ1IsIFJUQ19UQUZDUl9UQU1QMUlOU0VMLCBUYW1wZXJQaW4pOwogfQogCiAvKioKQEAgLTI4OTgsMTQgKzI3NzAsMTQgQEAKICAgKiBAcmV0dmFsIFJldHVybmVkIHZhbHVlIGNhbiBiZSBvbmUgb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXM6CiAgICogICAgICAgICAgICBAYXJnIExMX1JUQ19UYW1wZXJQaW5fRGVmYXVsdDogUlRDX0FGMSBpcyB1c2VkIGFzIFJUQyBUYW1wZXIgUGluLgogICAqICAgICAgICAgICAgQGFyZyBMTF9SVENfVGFtcGVyUGluX1BvczE6IFJUQ19BRjIgaXMgc2VsZWN0ZWQgYXMgUlRDIFRhbXBlciBQaW4uICgqKQotICAqICAgICAgICAgICAgCi0gICogICAgICAgICAgICAoKikgdmFsdWUgbm90IGRlZmluZWQgaW4gYWxsIGRldmljZXMuCisgICoKKyAgKiAgICAgICAgICAgICgqKSB2YWx1ZSBub3QgYXBwbGljYWJsZSB0byBhbGwgZGV2aWNlcy4KICAgKiBAcmV0dmFsIE5vbmUKICAgKi8KIAogX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IExMX1JUQ19UQU1QRVJfR2V0UGluKFJUQ19UeXBlRGVmICpSVEN4KQogewotICAgcmV0dXJuICh1aW50MzJfdCkoUkVBRF9CSVQoUlRDeC0+VEFGQ1IsIFJUQ19UQUZDUl9UQU1QMUlOU0VMKSk7CisgIHJldHVybiAodWludDMyX3QpKFJFQURfQklUKFJUQ3gtPlRBRkNSLCBSVENfVEFGQ1JfVEFNUDFJTlNFTCkpOwogfQogCiAvKioKQEAgLTI5NDgsMTMgKzI4MjAsMTMgQEAKICAgKi8KIF9fU1RBVElDX0lOTElORSB1aW50MzJfdCBMTF9SVENfV0FLRVVQX0lzRW5hYmxlZChSVENfVHlwZURlZiAqUlRDeCkKIHsKLSAgcmV0dXJuIChSRUFEX0JJVChSVEN4LT5DUiwgUlRDX0NSX1dVVEUpID09IChSVENfQ1JfV1VURSkpOworICByZXR1cm4gKChSRUFEX0JJVChSVEN4LT5DUiwgUlRDX0NSX1dVVEUpID09IChSVENfQ1JfV1VURSkpID8gMVVMIDogMFVMKTsKIH0KIAogLyoqCiAgICogQGJyaWVmICBTZWxlY3QgV2FrZXVwIGNsb2NrCiAgICogQG5vdGUgICBCaXQgaXMgd3JpdGUtcHJvdGVjdGVkLiBAcmVmIExMX1JUQ19EaXNhYmxlV3JpdGVQcm90ZWN0aW9uIGZ1bmN0aW9uIHNob3VsZCBiZSBjYWxsZWQgYmVmb3JlLgotICAqIEBub3RlIEJpdCBjYW4gYmUgd3JpdHRlbiBvbmx5IHdoZW4gUlRDX0NSIFdVVEUgYml0ID0gMCBhbmQgUlRDX0lTUiBXVVRXRiBiaXQgPSAxCisgICogQG5vdGUgICBCaXQgY2FuIGJlIHdyaXR0ZW4gb25seSB3aGVuIFJUQ19DUiBXVVRFIGJpdCA9IDAgYW5kIFJUQ19JU1IgV1VUV0YgYml0ID0gMQogICAqIEBybXRvbGwgQ1IgICAgICAgICAgIFdVQ0tTRUwgICAgICAgTExfUlRDX1dBS0VVUF9TZXRDbG9jawogICAqIEBwYXJhbSAgUlRDeCBSVEMgSW5zdGFuY2UKICAgKiBAcGFyYW0gIFdha2V1cENsb2NrIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBvbmUgb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXM6CkBAIC0yOTkwLDcgKzI4NjIsNyBAQAogCiAvKioKICAgKiBAYnJpZWYgIFNldCBXYWtldXAgYXV0by1yZWxvYWQgdmFsdWUKLSAgKiBAbm90ZSBCaXQgY2FuIGJlIHdyaXR0ZW4gb25seSB3aGVuIFdVVFdGIGlzIHNldCB0byAxIGluIFJUQ19JU1IKKyAgKiBAbm90ZSAgIEJpdCBjYW4gYmUgd3JpdHRlbiBvbmx5IHdoZW4gV1VUV0YgaXMgc2V0IHRvIDEgaW4gUlRDX0lTUgogICAqIEBybXRvbGwgV1VUUiAgICAgICAgIFdVVCAgICAgICAgICAgTExfUlRDX1dBS0VVUF9TZXRBdXRvUmVsb2FkCiAgICogQHBhcmFtICBSVEN4IFJUQyBJbnN0YW5jZQogICAqIEBwYXJhbSAgVmFsdWUgVmFsdWUgYmV0d2VlbiBNaW5fRGF0YT0weDAwIGFuZCBNYXhfRGF0YT0weEZGRkYKQEAgLTMwNTAsMTMgKzI5MjIsMTMgQEAKICAgKi8KIF9fU1RBVElDX0lOTElORSB2b2lkIExMX1JUQ19CQUtfU2V0UmVnaXN0ZXIoUlRDX1R5cGVEZWYgKlJUQ3gsIHVpbnQzMl90IEJhY2t1cFJlZ2lzdGVyLCB1aW50MzJfdCBEYXRhKQogewotICByZWdpc3RlciB1aW50MzJfdCB0bXAgPSAwVTsKKyAgdWludDMyX3QgdGVtcDsKIAotICB0bXAgPSAodWludDMyX3QpKCYoUlRDeC0+QktQMFIpKTsKLSAgdG1wICs9IChCYWNrdXBSZWdpc3RlciAqIDRVKTsKKyAgdGVtcCA9ICh1aW50MzJfdCkoJihSVEN4LT5CS1AwUikpOworICB0ZW1wICs9IChCYWNrdXBSZWdpc3RlciAqIDRVKTsKIAogICAvKiBXcml0ZSB0aGUgc3BlY2lmaWVkIHJlZ2lzdGVyICovCi0gICooX19JTyB1aW50MzJfdCAqKXRtcCA9ICh1aW50MzJfdClEYXRhOworICAqKF9fSU8gdWludDMyX3QgKil0ZW1wID0gKHVpbnQzMl90KURhdGE7CiB9CiAKIC8qKgpAQCAtMzA4OCwxMyArMjk2MCwxMyBAQAogICAqLwogX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IExMX1JUQ19CQUtfR2V0UmVnaXN0ZXIoUlRDX1R5cGVEZWYgKlJUQ3gsIHVpbnQzMl90IEJhY2t1cFJlZ2lzdGVyKQogewotICByZWdpc3RlciB1aW50MzJfdCB0bXAgPSAwVTsKKyAgdWludDMyX3QgdGVtcDsKIAotICB0bXAgPSAodWludDMyX3QpKCYoUlRDeC0+QktQMFIpKTsKLSAgdG1wICs9IChCYWNrdXBSZWdpc3RlciAqIDRVKTsKKyAgdGVtcCA9ICh1aW50MzJfdCkoJihSVEN4LT5CS1AwUikpOworICB0ZW1wICs9IChCYWNrdXBSZWdpc3RlciAqIDRVKTsKIAogICAvKiBSZWFkIHRoZSBzcGVjaWZpZWQgcmVnaXN0ZXIgKi8KLSAgcmV0dXJuICgqKF9fSU8gdWludDMyX3QgKil0bXApOworICByZXR1cm4gKCooX19JTyB1aW50MzJfdCAqKXRlbXApOwogfQogCiAvKioKQEAgLTMxMTUsNiArMjk4Nyw3IEBACiAgICogICAgICAgICBAYXJnIEByZWYgTExfUlRDX0NBTElCX09VVFBVVF9OT05FCiAgICogICAgICAgICBAYXJnIEByZWYgTExfUlRDX0NBTElCX09VVFBVVF8xSFoKICAgKiAgICAgICAgIEBhcmcgQHJlZiBMTF9SVENfQ0FMSUJfT1VUUFVUXzUxMkhaCisgICoKICAgKiBAcmV0dmFsIE5vbmUKICAgKi8KIF9fU1RBVElDX0lOTElORSB2b2lkIExMX1JUQ19DQUxfU2V0T3V0cHV0RnJlcShSVENfVHlwZURlZiAqUlRDeCwgdWludDMyX3QgRnJlcXVlbmN5KQpAQCAtMzEzMSw2ICszMDA0LDcgQEAKICAgKiAgICAgICAgIEBhcmcgQHJlZiBMTF9SVENfQ0FMSUJfT1VUUFVUX05PTkUKICAgKiAgICAgICAgIEBhcmcgQHJlZiBMTF9SVENfQ0FMSUJfT1VUUFVUXzFIWgogICAqICAgICAgICAgQGFyZyBAcmVmIExMX1JUQ19DQUxJQl9PVVRQVVRfNTEySFoKKyAgKgogICAqLwogX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IExMX1JUQ19DQUxfR2V0T3V0cHV0RnJlcShSVENfVHlwZURlZiAqUlRDeCkKIHsKQEAgLTMxNzgsNyArMzA1Miw3IEBACiAgICogQG5vdGUgICBUaGlzIENhbGlicmF0aW9uIHZhbHVlIHNob3VsZCBiZSBiZXR3ZWVuIDAgYW5kIDEyNiB3aGVuIHVzaW5nIHBvc2l0aXZlIHNpZ24gd2l0aCBhIDQtcHBtIHN0ZXAuCiAgICogQHJldHZhbCBOb25lCiAgICovCi1fX1NUQVRJQ19JTkxJTkUgdm9pZCBMTF9SVENfQ0FMX0NvbmZpZ0NvYXJzZURpZ2l0YWwoUlRDX1R5cGVEZWYqIFJUQ3gsIHVpbnQzMl90IFNpZ24sIHVpbnQzMl90IFZhbHVlKQorX19TVEFUSUNfSU5MSU5FIHZvaWQgTExfUlRDX0NBTF9Db25maWdDb2Fyc2VEaWdpdGFsKFJUQ19UeXBlRGVmICpSVEN4LCB1aW50MzJfdCBTaWduLCB1aW50MzJfdCBWYWx1ZSkKIHsKICAgTU9ESUZZX1JFRyhSVEN4LT5DQUxJQlIsIFJUQ19DQUxJQlJfRENTIHwgUlRDX0NBTElCUl9EQywgU2lnbiB8IFZhbHVlKTsKIH0KQEAgLTMyMDIsNyArMzA3Niw3IEBACiAgICogICAgICAgICBAYXJnIEByZWYgTExfUlRDX0NBTElCX1NJR05fUE9TSVRJVkUKICAgKiAgICAgICAgIEBhcmcgQHJlZiBMTF9SVENfQ0FMSUJfU0lHTl9ORUdBVElWRQogICAqLwotX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IExMX1JUQ19DQUxfR2V0Q29hcnNlRGlnaXRhbFNpZ24oUlRDX1R5cGVEZWYqIFJUQ3gpCitfX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgTExfUlRDX0NBTF9HZXRDb2Fyc2VEaWdpdGFsU2lnbihSVENfVHlwZURlZiAqUlRDeCkKIHsKICAgcmV0dXJuICh1aW50MzJfdCkoUkVBRF9CSVQoUlRDeC0+Q0FMSUJSLCBSVENfQ0FMSUJSX0RDUykpOwogfQpAQCAtMzIxMCw3ICszMDg0LDcgQEAKIC8qKgogICAqIEBicmllZiAgSW5zZXJ0IG9yIG5vdCBPbmUgUlRDQ0xLIHB1bHNlIGV2ZXJ5IDJleHAxMSBwdWxzZXMgKGZyZXF1ZW5jeSBpbmNyZWFzZWQgYnkgNDg4LjUgcHBtKQogICAqIEBub3RlICAgQml0IGlzIHdyaXRlLXByb3RlY3RlZC4gQHJlZiBMTF9SVENfRGlzYWJsZVdyaXRlUHJvdGVjdGlvbiBmdW5jdGlvbiBzaG91bGQgYmUgY2FsbGVkIGJlZm9yZS4KLSAgKiBAbm90ZSBCaXQgY2FuIGJlIHdyaXR0ZW4gb25seSB3aGVuIFJFQ0FMUEYgaXMgc2V0IHRvIDAgaW4gUlRDX0lTUgorICAqIEBub3RlICAgQml0IGNhbiBiZSB3cml0dGVuIG9ubHkgd2hlbiBSRUNBTFBGIGlzIHNldCB0byAwIGluIFJUQ19JU1IKICAgKiBAcm10b2xsIENBTFIgICAgICAgICBDQUxQICAgICAgICAgIExMX1JUQ19DQUxfU2V0UHVsc2UKICAgKiBAcGFyYW0gIFJUQ3ggUlRDIEluc3RhbmNlCiAgICogQHBhcmFtICBQdWxzZSBUaGlzIHBhcmFtZXRlciBjYW4gYmUgb25lIG9mIHRoZSBmb2xsb3dpbmcgdmFsdWVzOgpAQCAtMzIzMSwxMSArMzEwNSwxMSBAQAogICAqLwogX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IExMX1JUQ19DQUxfSXNQdWxzZUluc2VydGVkKFJUQ19UeXBlRGVmICpSVEN4KQogewotICByZXR1cm4gKFJFQURfQklUKFJUQ3gtPkNBTFIsIFJUQ19DQUxSX0NBTFApID09IChSVENfQ0FMUl9DQUxQKSk7CisgIHJldHVybiAoKFJFQURfQklUKFJUQ3gtPkNBTFIsIFJUQ19DQUxSX0NBTFApID09IChSVENfQ0FMUl9DQUxQKSkgPyAxVUwgOiAwVUwpOwogfQogCiAvKioKLSAgKiBAYnJpZWYgIFNldCB0aGUgY2FsaWJyYXRpb24gY3ljbGUgcGVyaW9kCisgICogQGJyaWVmICBTZXQgc21vb3RoIGNhbGlicmF0aW9uIGN5Y2xlIHBlcmlvZAogICAqIEBub3RlICAgQml0IGlzIHdyaXRlLXByb3RlY3RlZC4gQHJlZiBMTF9SVENfRGlzYWJsZVdyaXRlUHJvdGVjdGlvbiBmdW5jdGlvbiBzaG91bGQgYmUgY2FsbGVkIGJlZm9yZS4KICAgKiBAbm90ZSAgIEJpdCBjYW4gYmUgd3JpdHRlbiBvbmx5IHdoZW4gUkVDQUxQRiBpcyBzZXQgdG8gMCBpbiBSVENfSVNSCiAgICogQHJtdG9sbCBDQUxSICAgICAgICAgQ0FMVzggICAgICAgICBMTF9SVENfQ0FMX1NldFBlcmlvZFxuCkBAIC0zMjUzLDcgKzMxMjcsNyBAQAogfQogCiAvKioKLSAgKiBAYnJpZWYgIEdldCB0aGUgY2FsaWJyYXRpb24gY3ljbGUgcGVyaW9kCisgICogQGJyaWVmICBHZXQgc21vb3RoIGNhbGlicmF0aW9uIGN5Y2xlIHBlcmlvZAogICAqIEBybXRvbGwgQ0FMUiAgICAgICAgIENBTFc4ICAgICAgICAgTExfUlRDX0NBTF9HZXRQZXJpb2RcbgogICAqICAgICAgICAgQ0FMUiAgICAgICAgIENBTFcxNiAgICAgICAgTExfUlRDX0NBTF9HZXRQZXJpb2QKICAgKiBAcGFyYW0gIFJUQ3ggUlRDIEluc3RhbmNlCkBAIC0zMjY4LDcgKzMxNDIsNyBAQAogfQogCiAvKioKLSAgKiBAYnJpZWYgIFNldCBDYWxpYnJhdGlvbiBtaW51cworICAqIEBicmllZiAgU2V0IHNtb290aCBDYWxpYnJhdGlvbiBtaW51cwogICAqIEBub3RlICAgQml0IGlzIHdyaXRlLXByb3RlY3RlZC4gQHJlZiBMTF9SVENfRGlzYWJsZVdyaXRlUHJvdGVjdGlvbiBmdW5jdGlvbiBzaG91bGQgYmUgY2FsbGVkIGJlZm9yZS4KICAgKiBAbm90ZSAgIEJpdCBjYW4gYmUgd3JpdHRlbiBvbmx5IHdoZW4gUkVDQUxQRiBpcyBzZXQgdG8gMCBpbiBSVENfSVNSCiAgICogQHJtdG9sbCBDQUxSICAgICAgICAgQ0FMTSAgICAgICAgICBMTF9SVENfQ0FMX1NldE1pbnVzCkBAIC0zMjgyLDcgKzMxNTYsNyBAQAogfQogCiAvKioKLSAgKiBAYnJpZWYgIEdldCBDYWxpYnJhdGlvbiBtaW51cworICAqIEBicmllZiAgR2V0IHNtb290aCBDYWxpYnJhdGlvbiBtaW51cwogICAqIEBybXRvbGwgQ0FMUiAgICAgICAgIENBTE0gICAgICAgICAgTExfUlRDX0NBTF9HZXRNaW51cwogICAqIEBwYXJhbSAgUlRDeCBSVEMgSW5zdGFuY2UKICAgKiBAcmV0dmFsIFZhbHVlIGJldHdlZW4gTWluX0RhdGE9MHgwMCBhbmQgTWF4X0RhdGE9IDB4MUZGCkBAIC0zMzA4LDEwICszMTgyLDkgQEAKICAgKi8KIF9fU1RBVElDX0lOTElORSB1aW50MzJfdCBMTF9SVENfSXNBY3RpdmVGbGFnX1JFQ0FMUChSVENfVHlwZURlZiAqUlRDeCkKIHsKLSAgcmV0dXJuIChSRUFEX0JJVChSVEN4LT5JU1IsIFJUQ19JU1JfUkVDQUxQRikgPT0gKFJUQ19JU1JfUkVDQUxQRikpOworICByZXR1cm4gKChSRUFEX0JJVChSVEN4LT5JU1IsIFJUQ19JU1JfUkVDQUxQRikgPT0gKFJUQ19JU1JfUkVDQUxQRikpID8gMVVMIDogMFVMKTsKIH0KIAotCiAjaWYgZGVmaW5lZChSVENfVEFNUEVSMl9TVVBQT1JUKQogLyoqCiAgICogQGJyaWVmICBHZXQgUlRDX1RBTVAyIGRldGVjdGlvbiBmbGFnCkBAIC0zMzIxLDcgKzMxOTQsNyBAQAogICAqLwogX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IExMX1JUQ19Jc0FjdGl2ZUZsYWdfVEFNUDIoUlRDX1R5cGVEZWYgKlJUQ3gpCiB7Ci0gIHJldHVybiAoUkVBRF9CSVQoUlRDeC0+SVNSLCBSVENfSVNSX1RBTVAyRikgPT0gKFJUQ19JU1JfVEFNUDJGKSk7CisgIHJldHVybiAoKFJFQURfQklUKFJUQ3gtPklTUiwgUlRDX0lTUl9UQU1QMkYpID09IChSVENfSVNSX1RBTVAyRikpID8gMVVMIDogMFVMKTsKIH0KICNlbmRpZiAvKiBSVENfVEFNUEVSMl9TVVBQT1JUICovCiAKQEAgLTMzMzMsNyArMzIwNiw3IEBACiAgICovCiBfX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgTExfUlRDX0lzQWN0aXZlRmxhZ19UQU1QMShSVENfVHlwZURlZiAqUlRDeCkKIHsKLSAgcmV0dXJuIChSRUFEX0JJVChSVEN4LT5JU1IsIFJUQ19JU1JfVEFNUDFGKSA9PSAoUlRDX0lTUl9UQU1QMUYpKTsKKyAgcmV0dXJuICgoUkVBRF9CSVQoUlRDeC0+SVNSLCBSVENfSVNSX1RBTVAxRikgPT0gKFJUQ19JU1JfVEFNUDFGKSkgPyAxVUwgOiAwVUwpOwogfQogCiAvKioKQEAgLTMzNDQsNyArMzIxNyw3IEBACiAgICovCiBfX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgTExfUlRDX0lzQWN0aXZlRmxhZ19UU09WKFJUQ19UeXBlRGVmICpSVEN4KQogewotICByZXR1cm4gKFJFQURfQklUKFJUQ3gtPklTUiwgUlRDX0lTUl9UU09WRikgPT0gKFJUQ19JU1JfVFNPVkYpKTsKKyAgcmV0dXJuICgoUkVBRF9CSVQoUlRDeC0+SVNSLCBSVENfSVNSX1RTT1ZGKSA9PSAoUlRDX0lTUl9UU09WRikpID8gMVVMIDogMFVMKTsKIH0KIAogLyoqCkBAIC0zMzU1LDcgKzMyMjgsNyBAQAogICAqLwogX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IExMX1JUQ19Jc0FjdGl2ZUZsYWdfVFMoUlRDX1R5cGVEZWYgKlJUQ3gpCiB7Ci0gIHJldHVybiAoUkVBRF9CSVQoUlRDeC0+SVNSLCBSVENfSVNSX1RTRikgPT0gKFJUQ19JU1JfVFNGKSk7CisgIHJldHVybiAoKFJFQURfQklUKFJUQ3gtPklTUiwgUlRDX0lTUl9UU0YpID09IChSVENfSVNSX1RTRikpID8gMVVMIDogMFVMKTsKIH0KIAogLyoqCkBAIC0zMzY2LDcgKzMyMzksNyBAQAogICAqLwogX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IExMX1JUQ19Jc0FjdGl2ZUZsYWdfV1VUKFJUQ19UeXBlRGVmICpSVEN4KQogewotICByZXR1cm4gKFJFQURfQklUKFJUQ3gtPklTUiwgUlRDX0lTUl9XVVRGKSA9PSAoUlRDX0lTUl9XVVRGKSk7CisgIHJldHVybiAoKFJFQURfQklUKFJUQ3gtPklTUiwgUlRDX0lTUl9XVVRGKSA9PSAoUlRDX0lTUl9XVVRGKSkgPyAxVUwgOiAwVUwpOwogfQogCiAvKioKQEAgLTMzNzcsNyArMzI1MCw3IEBACiAgICovCiBfX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgTExfUlRDX0lzQWN0aXZlRmxhZ19BTFJCKFJUQ19UeXBlRGVmICpSVEN4KQogewotICByZXR1cm4gKFJFQURfQklUKFJUQ3gtPklTUiwgUlRDX0lTUl9BTFJCRikgPT0gKFJUQ19JU1JfQUxSQkYpKTsKKyAgcmV0dXJuICgoUkVBRF9CSVQoUlRDeC0+SVNSLCBSVENfSVNSX0FMUkJGKSA9PSAoUlRDX0lTUl9BTFJCRikpID8gMVVMIDogMFVMKTsKIH0KIAogLyoqCkBAIC0zMzg4LDEwICszMjYxLDkgQEAKICAgKi8KIF9fU1RBVElDX0lOTElORSB1aW50MzJfdCBMTF9SVENfSXNBY3RpdmVGbGFnX0FMUkEoUlRDX1R5cGVEZWYgKlJUQ3gpCiB7Ci0gIHJldHVybiAoUkVBRF9CSVQoUlRDeC0+SVNSLCBSVENfSVNSX0FMUkFGKSA9PSAoUlRDX0lTUl9BTFJBRikpOworICByZXR1cm4gKChSRUFEX0JJVChSVEN4LT5JU1IsIFJUQ19JU1JfQUxSQUYpID09IChSVENfSVNSX0FMUkFGKSkgPyAxVUwgOiAwVUwpOwogfQogCi0KICNpZiBkZWZpbmVkKFJUQ19UQU1QRVIyX1NVUFBPUlQpCiAvKioKICAgKiBAYnJpZWYgIENsZWFyIFJUQ19UQU1QMiBkZXRlY3Rpb24gZmxhZwpAQCAtMzQ3OSw3ICszMzUxLDcgQEAKICAgKi8KIF9fU1RBVElDX0lOTElORSB1aW50MzJfdCBMTF9SVENfSXNBY3RpdmVGbGFnX0lOSVQoUlRDX1R5cGVEZWYgKlJUQ3gpCiB7Ci0gIHJldHVybiAoUkVBRF9CSVQoUlRDeC0+SVNSLCBSVENfSVNSX0lOSVRGKSA9PSAoUlRDX0lTUl9JTklURikpOworICByZXR1cm4gKChSRUFEX0JJVChSVEN4LT5JU1IsIFJUQ19JU1JfSU5JVEYpID09IChSVENfSVNSX0lOSVRGKSkgPyAxVUwgOiAwVUwpOwogfQogCiAvKioKQEAgLTM0OTAsNyArMzM2Miw3IEBACiAgICovCiBfX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgTExfUlRDX0lzQWN0aXZlRmxhZ19SUyhSVENfVHlwZURlZiAqUlRDeCkKIHsKLSAgcmV0dXJuIChSRUFEX0JJVChSVEN4LT5JU1IsIFJUQ19JU1JfUlNGKSA9PSAoUlRDX0lTUl9SU0YpKTsKKyAgcmV0dXJuICgoUkVBRF9CSVQoUlRDeC0+SVNSLCBSVENfSVNSX1JTRikgPT0gKFJUQ19JU1JfUlNGKSkgPyAxVUwgOiAwVUwpOwogfQogCiAvKioKQEAgLTM1MTIsNyArMzM4NCw3IEBACiAgICovCiBfX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgTExfUlRDX0lzQWN0aXZlRmxhZ19JTklUUyhSVENfVHlwZURlZiAqUlRDeCkKIHsKLSAgcmV0dXJuIChSRUFEX0JJVChSVEN4LT5JU1IsIFJUQ19JU1JfSU5JVFMpID09IChSVENfSVNSX0lOSVRTKSk7CisgIHJldHVybiAoKFJFQURfQklUKFJUQ3gtPklTUiwgUlRDX0lTUl9JTklUUykgPT0gKFJUQ19JU1JfSU5JVFMpKSA/IDFVTCA6IDBVTCk7CiB9CiAKIC8qKgpAQCAtMzUyMyw3ICszMzk1LDcgQEAKICAgKi8KIF9fU1RBVElDX0lOTElORSB1aW50MzJfdCBMTF9SVENfSXNBY3RpdmVGbGFnX1NIUChSVENfVHlwZURlZiAqUlRDeCkKIHsKLSAgcmV0dXJuIChSRUFEX0JJVChSVEN4LT5JU1IsIFJUQ19JU1JfU0hQRikgPT0gKFJUQ19JU1JfU0hQRikpOworICByZXR1cm4gKChSRUFEX0JJVChSVEN4LT5JU1IsIFJUQ19JU1JfU0hQRikgPT0gKFJUQ19JU1JfU0hQRikpID8gMVVMIDogMFVMKTsKIH0KIAogLyoqCkBAIC0zNTM0LDcgKzM0MDYsNyBAQAogICAqLwogX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IExMX1JUQ19Jc0FjdGl2ZUZsYWdfV1VUVyhSVENfVHlwZURlZiAqUlRDeCkKIHsKLSAgcmV0dXJuIChSRUFEX0JJVChSVEN4LT5JU1IsIFJUQ19JU1JfV1VUV0YpID09IChSVENfSVNSX1dVVFdGKSk7CisgIHJldHVybiAoKFJFQURfQklUKFJUQ3gtPklTUiwgUlRDX0lTUl9XVVRXRikgPT0gKFJUQ19JU1JfV1VUV0YpKSA/IDFVTCA6IDBVTCk7CiB9CiAKIC8qKgpAQCAtMzU0NSw3ICszNDE3LDcgQEAKICAgKi8KIF9fU1RBVElDX0lOTElORSB1aW50MzJfdCBMTF9SVENfSXNBY3RpdmVGbGFnX0FMUkJXKFJUQ19UeXBlRGVmICpSVEN4KQogewotICByZXR1cm4gKFJFQURfQklUKFJUQ3gtPklTUiwgUlRDX0lTUl9BTFJCV0YpID09IChSVENfSVNSX0FMUkJXRikpOworICByZXR1cm4gKChSRUFEX0JJVChSVEN4LT5JU1IsIFJUQ19JU1JfQUxSQldGKSA9PSAoUlRDX0lTUl9BTFJCV0YpKSA/IDFVTCA6IDBVTCk7CiB9CiAKIC8qKgpAQCAtMzU1Niw3ICszNDI4LDcgQEAKICAgKi8KIF9fU1RBVElDX0lOTElORSB1aW50MzJfdCBMTF9SVENfSXNBY3RpdmVGbGFnX0FMUkFXKFJUQ19UeXBlRGVmICpSVEN4KQogewotICByZXR1cm4gKFJFQURfQklUKFJUQ3gtPklTUiwgUlRDX0lTUl9BTFJBV0YpID09IChSVENfSVNSX0FMUkFXRikpOworICByZXR1cm4gKChSRUFEX0JJVChSVEN4LT5JU1IsIFJUQ19JU1JfQUxSQVdGKSA9PSAoUlRDX0lTUl9BTFJBV0YpKSA/IDFVTCA6IDBVTCk7CiB9CiAKIC8qKgpAQCAtMzY5Myw3ICszNTY1LDcgQEAKICAgKi8KIF9fU1RBVElDX0lOTElORSB1aW50MzJfdCBMTF9SVENfSXNFbmFibGVkSVRfVFMoUlRDX1R5cGVEZWYgKlJUQ3gpCiB7Ci0gIHJldHVybiAoUkVBRF9CSVQoUlRDeC0+Q1IsIFJUQ19DUl9UU0lFKSA9PSAoUlRDX0NSX1RTSUUpKTsKKyAgcmV0dXJuICgoUkVBRF9CSVQoUlRDeC0+Q1IsIFJUQ19DUl9UU0lFKSA9PSAoUlRDX0NSX1RTSUUpKSA/IDFVTCA6IDBVTCk7CiB9CiAKIC8qKgpAQCAtMzcwNCw3ICszNTc2LDcgQEAKICAgKi8KIF9fU1RBVElDX0lOTElORSB1aW50MzJfdCBMTF9SVENfSXNFbmFibGVkSVRfV1VUKFJUQ19UeXBlRGVmICpSVEN4KQogewotICByZXR1cm4gKFJFQURfQklUKFJUQ3gtPkNSLCBSVENfQ1JfV1VUSUUpID09IChSVENfQ1JfV1VUSUUpKTsKKyAgcmV0dXJuICgoUkVBRF9CSVQoUlRDeC0+Q1IsIFJUQ19DUl9XVVRJRSkgPT0gKFJUQ19DUl9XVVRJRSkpID8gMVVMIDogMFVMKTsKIH0KIAogLyoqCkBAIC0zNzE1LDcgKzM1ODcsNyBAQAogICAqLwogX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IExMX1JUQ19Jc0VuYWJsZWRJVF9BTFJCKFJUQ19UeXBlRGVmICpSVEN4KQogewotICByZXR1cm4gKFJFQURfQklUKFJUQ3gtPkNSLCBSVENfQ1JfQUxSQklFKSA9PSAoUlRDX0NSX0FMUkJJRSkpOworICByZXR1cm4gKChSRUFEX0JJVChSVEN4LT5DUiwgUlRDX0NSX0FMUkJJRSkgPT0gKFJUQ19DUl9BTFJCSUUpKSA/IDFVTCA6IDBVTCk7CiB9CiAKIC8qKgpAQCAtMzcyNiw3ICszNTk4LDcgQEAKICAgKi8KIF9fU1RBVElDX0lOTElORSB1aW50MzJfdCBMTF9SVENfSXNFbmFibGVkSVRfQUxSQShSVENfVHlwZURlZiAqUlRDeCkKIHsKLSAgcmV0dXJuIChSRUFEX0JJVChSVEN4LT5DUiwgUlRDX0NSX0FMUkFJRSkgPT0gKFJUQ19DUl9BTFJBSUUpKTsKKyAgcmV0dXJuICgoUkVBRF9CSVQoUlRDeC0+Q1IsIFJUQ19DUl9BTFJBSUUpID09IChSVENfQ1JfQUxSQUlFKSkgPyAxVUwgOiAwVUwpOwogfQogCiAvKioKQEAgLTM3MzcsOCArMzYwOSw4IEBACiAgICovCiBfX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgTExfUlRDX0lzRW5hYmxlZElUX1RBTVAoUlRDX1R5cGVEZWYgKlJUQ3gpCiB7Ci0gIHJldHVybiAoUkVBRF9CSVQoUlRDeC0+VEFGQ1IsCi0gICAgICAgICAgICAgICAgICAgUlRDX1RBRkNSX1RBTVBJRSkgPT0gKFJUQ19UQUZDUl9UQU1QSUUpKTsKKyAgcmV0dXJuICgoUkVBRF9CSVQoUlRDeC0+VEFGQ1IsCisgICAgICAgICAgICAgICAgICAgIFJUQ19UQUZDUl9UQU1QSUUpID09IChSVENfVEFGQ1JfVEFNUElFKSkgPyAxVUwgOiAwVUwpOwogfQogCiAvKioKQEAgLTM3ODgsNiArMzY2MCw0IEBACiB9CiAjZW5kaWYKIAotI2VuZGlmIC8qIF9fU1RNMzJGNHh4X0xMX1JUQ19IICovCi0KLS8qKioqKioqKioqKioqKioqKioqKioqKiogKEMpIENPUFlSSUdIVCBTVE1pY3JvZWxlY3Ryb25pY3MgKioqKipFTkQgT0YgRklMRSoqKiovCisjZW5kaWYgLyogU1RNMzJGNHh4X0xMX1JUQ19IICovCmRpZmYgLS1naXQgYS9JbmMvc3RtMzJmNHh4X2xsX3NkbW1jLmggYi9JbmMvc3RtMzJmNHh4X2xsX3NkbW1jLmgKaW5kZXggNTQwYTBlMS4uYTQwOTJkMCAxMDA2NDQKLS0tIGEvSW5jL3N0bTMyZjR4eF9sbF9zZG1tYy5oCisrKyBiL0luYy9zdG0zMmY0eHhfbGxfc2RtbWMuaApAQCAtNiwxMyArNiwxMiBAQAogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKiBAYXR0ZW50aW9uCiAgICoKLSAgKiA8aDI+PGNlbnRlcj4mY29weTsgQ29weXJpZ2h0IChjKSAyMDE3IFNUTWljcm9lbGVjdHJvbmljcy4KLSAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvY2VudGVyPjwvaDI+CisgICogQ29weXJpZ2h0IChjKSAyMDE2IFNUTWljcm9lbGVjdHJvbmljcy4KKyAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAqCi0gICogVGhpcyBzb2Z0d2FyZSBjb21wb25lbnQgaXMgbGljZW5zZWQgYnkgU1QgdW5kZXIgQlNEIDMtQ2xhdXNlIGxpY2Vuc2UsCi0gICogdGhlICJMaWNlbnNlIjsgWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZQotICAqIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdDoKLSAgKiAgICAgICAgICAgICAgICAgICAgICAgb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvQlNELTMtQ2xhdXNlCisgICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciB0ZXJtcyB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlCisgICogaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc29mdHdhcmUgY29tcG9uZW50LgorICAqIElmIG5vIExJQ0VOU0UgZmlsZSBjb21lcyB3aXRoIHRoaXMgc29mdHdhcmUsIGl0IGlzIHByb3ZpZGVkIEFTLUlTLgogICAqCiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqLyAKQEAgLTEwNjksOCArMTA2OCwxNCBAQAogCiAvKiBTRE1NQyBDYXJkcyBtb2RlIG1hbmFnZW1lbnQgZnVuY3Rpb25zICovCiBIQUxfU3RhdHVzVHlwZURlZiBTRElPX1NldFNETU1DUmVhZFdhaXRNb2RlKFNESU9fVHlwZURlZiAqU0RJT3gsIHVpbnQzMl90IFNESU9fUmVhZFdhaXRNb2RlKTsKKy8qKgorICAqIEB9CisgICovCiAKIC8qIFNETU1DIENvbW1hbmRzIG1hbmFnZW1lbnQgZnVuY3Rpb25zICovCisvKiogQGFkZHRvZ3JvdXAgSEFMX1NETU1DX0xMX0dyb3VwNAorICAqIEB7CisgICovCiB1aW50MzJfdCBTRE1NQ19DbWRCbG9ja0xlbmd0aChTRElPX1R5cGVEZWYgKlNESU94LCB1aW50MzJfdCBCbG9ja1NpemUpOwogdWludDMyX3QgU0RNTUNfQ21kUmVhZFNpbmdsZUJsb2NrKFNESU9fVHlwZURlZiAqU0RJT3gsIHVpbnQzMl90IFJlYWRBZGQpOwogdWludDMyX3QgU0RNTUNfQ21kUmVhZE11bHRpQmxvY2soU0RJT19UeXBlRGVmICpTRElPeCwgdWludDMyX3QgUmVhZEFkZCk7CkBAIC0xMDkxLDEzICsxMDk2LDI2IEBACiB1aW50MzJfdCBTRE1NQ19DbWRTZW5kU0NSKFNESU9fVHlwZURlZiAqU0RJT3gpOwogdWludDMyX3QgU0RNTUNfQ21kU2VuZENJRChTRElPX1R5cGVEZWYgKlNESU94KTsKIHVpbnQzMl90IFNETU1DX0NtZFNlbmRDU0QoU0RJT19UeXBlRGVmICpTRElPeCwgdWludDMyX3QgQXJndW1lbnQpOwotdWludDMyX3QgU0RNTUNfQ21kU2VuZEVYVENTRChTRElPX1R5cGVEZWYgKlNESU94LCB1aW50MzJfdCBBcmd1bWVudCk7CiB1aW50MzJfdCBTRE1NQ19DbWRTZXRSZWxBZGQoU0RJT19UeXBlRGVmICpTRElPeCwgdWludDE2X3QgKnBSQ0EpOwordWludDMyX3QgU0RNTUNfQ21kU2V0UmVsQWRkTW1jKFNESU9fVHlwZURlZiAqU0RJT3gsIHVpbnQxNl90IFJDQSk7CiB1aW50MzJfdCBTRE1NQ19DbWRTZW5kU3RhdHVzKFNESU9fVHlwZURlZiAqU0RJT3gsIHVpbnQzMl90IEFyZ3VtZW50KTsKIHVpbnQzMl90IFNETU1DX0NtZFN0YXR1c1JlZ2lzdGVyKFNESU9fVHlwZURlZiAqU0RJT3gpOwogdWludDMyX3QgU0RNTUNfQ21kT3BDb25kaXRpb24oU0RJT19UeXBlRGVmICpTRElPeCwgdWludDMyX3QgQXJndW1lbnQpOwogdWludDMyX3QgU0RNTUNfQ21kU3dpdGNoKFNESU9fVHlwZURlZiAqU0RJT3gsIHVpbnQzMl90IEFyZ3VtZW50KTsKK3VpbnQzMl90IFNETU1DX0NtZFNlbmRFWFRDU0QoU0RJT19UeXBlRGVmICpTRElPeCwgdWludDMyX3QgQXJndW1lbnQpOworLyoqCisgICogQH0KKyAgKi8KIAorLyogU0RNTUMgUmVzcG9uc2VzIG1hbmFnZW1lbnQgZnVuY3Rpb25zICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyoqIEBhZGR0b2dyb3VwIEhBTF9TRE1NQ19MTF9Hcm91cDUKKyAgKiBAeworICAqLwordWludDMyX3QgU0RNTUNfR2V0Q21kUmVzcDEoU0RJT19UeXBlRGVmICpTRElPeCwgdWludDhfdCBTRF9DTUQsIHVpbnQzMl90IFRpbWVvdXQpOwordWludDMyX3QgU0RNTUNfR2V0Q21kUmVzcDIoU0RJT19UeXBlRGVmICpTRElPeCk7Cit1aW50MzJfdCBTRE1NQ19HZXRDbWRSZXNwMyhTRElPX1R5cGVEZWYgKlNESU94KTsKK3VpbnQzMl90IFNETU1DX0dldENtZFJlc3A2KFNESU9fVHlwZURlZiAqU0RJT3gsIHVpbnQ4X3QgU0RfQ01ELCB1aW50MTZfdCAqcFJDQSk7Cit1aW50MzJfdCBTRE1NQ19HZXRDbWRSZXNwNyhTRElPX1R5cGVEZWYgKlNESU94KTsKIC8qKgogICAqIEB9CiAgICovCkBAIC0xMTIxLDUgKzExMzksMyBAQAogI2VuZGlmCiAKICNlbmRpZiAvKiBTVE0zMkY0eHhfTExfU0RNTUNfSCAqLwotCi0vKioqKioqKioqKioqKioqKioqKioqKioqIChDKSBDT1BZUklHSFQgU1RNaWNyb2VsZWN0cm9uaWNzICoqKioqRU5EIE9GIEZJTEUqKioqLwpkaWZmIC0tZ2l0IGEvSW5jL3N0bTMyZjR4eF9sbF9zcGkuaCBiL0luYy9zdG0zMmY0eHhfbGxfc3BpLmgKaW5kZXggZDdlZjJmNi4uNGYzYjAzMCAxMDA2NDQKLS0tIGEvSW5jL3N0bTMyZjR4eF9sbF9zcGkuaAorKysgYi9JbmMvc3RtMzJmNHh4X2xsX3NwaS5oCkBAIC02LDEzICs2LDEyIEBACiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqIEBhdHRlbnRpb24KICAgKgotICAqIDxoMj48Y2VudGVyPiZjb3B5OyBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9jZW50ZXI+PC9oMj4KKyAgKiBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgorICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICoKLSAgKiBUaGlzIHNvZnR3YXJlIGNvbXBvbmVudCBpcyBsaWNlbnNlZCBieSBTVCB1bmRlciBCU0QgMy1DbGF1c2UgbGljZW5zZSwKLSAgKiB0aGUgIkxpY2Vuc2UiOyBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlCi0gICogTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0OgotICAqICAgICAgICAgICAgICAgICAgICAgICAgb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvQlNELTMtQ2xhdXNlCisgICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciB0ZXJtcyB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlCisgICogaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc29mdHdhcmUgY29tcG9uZW50LgorICAqIElmIG5vIExJQ0VOU0UgZmlsZSBjb21lcyB3aXRoIHRoaXMgc29mdHdhcmUsIGl0IGlzIHByb3ZpZGVkIEFTLUlTLgogICAqCiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqLwpAQCAtMjAyNiw0ICsyMDI1LDMgQEAKIAogI2VuZGlmIC8qIFNUTTMyRjR4eF9MTF9TUElfSCAqLwogCi0vKioqKioqKioqKioqKioqKioqKioqKioqIChDKSBDT1BZUklHSFQgU1RNaWNyb2VsZWN0cm9uaWNzICoqKioqRU5EIE9GIEZJTEUqKioqLwpkaWZmIC0tZ2l0IGEvSW5jL3N0bTMyZjR4eF9sbF9zeXN0ZW0uaCBiL0luYy9zdG0zMmY0eHhfbGxfc3lzdGVtLmgKaW5kZXggY2M3NjM1ZS4uODRlYTVjNCAxMDA2NDQKLS0tIGEvSW5jL3N0bTMyZjR4eF9sbF9zeXN0ZW0uaAorKysgYi9JbmMvc3RtMzJmNHh4X2xsX3N5c3RlbS5oCkBAIC0zLDYgKzMsMTggQEAKICAgKiBAZmlsZSAgICBzdG0zMmY0eHhfbGxfc3lzdGVtLmgKICAgKiBAYXV0aG9yICBNQ0QgQXBwbGljYXRpb24gVGVhbQogICAqIEBicmllZiAgIEhlYWRlciBmaWxlIG9mIFNZU1RFTSBMTCBtb2R1bGUuCisgICoKKyAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgICogQGF0dGVudGlvbgorICAqCisgICpDb3B5cmlnaHQgKGMpIDIwMTcgU1RNaWNyb2VsZWN0cm9uaWNzLgorICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgICoKKyAgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIHVuZGVyIHRlcm1zIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUKKyAgKiBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb2Z0d2FyZSBjb21wb25lbnQuCisgICogSWYgbm8gTElDRU5TRSBmaWxlIGNvbWVzIHdpdGggdGhpcyBzb2Z0d2FyZSwgaXQgaXMgcHJvdmlkZWQgQVMtSVMuCisgICoKKyAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgIEB2ZXJiYXRpbQogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgICAgICAgICAgICAgICAgICAgICMjIyMjIEhvdyB0byB1c2UgdGhpcyBkcml2ZXIgIyMjIyMKQEAgLTE2LDE3ICsyOCw2IEBACiAKICAgQGVuZHZlcmJhdGltCiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICAqIEBhdHRlbnRpb24KLSAgKgotICAqIDxoMj48Y2VudGVyPiZjb3B5OyBDb3B5cmlnaHQgKGMpIDIwMTcgU1RNaWNyb2VsZWN0cm9uaWNzLgotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9jZW50ZXI+PC9oMj4KLSAgKgotICAqIFRoaXMgc29mdHdhcmUgY29tcG9uZW50IGlzIGxpY2Vuc2VkIGJ5IFNUIHVuZGVyIEJTRCAzLUNsYXVzZSBsaWNlbnNlLAotICAqIHRoZSAiTGljZW5zZSI7IFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUKLSAgKiBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQ6Ci0gICogICAgICAgICAgICAgICAgICAgICAgICBvcGVuc291cmNlLm9yZy9saWNlbnNlcy9CU0QtMy1DbGF1c2UKLSAgKgotICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKi8KIAogLyogRGVmaW5lIHRvIHByZXZlbnQgcmVjdXJzaXZlIGluY2x1c2lvbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KQEAgLTc2Nyw3ICs3NjgsNyBAQAogLyoqCiAgICogQGJyaWVmICBFbmFibGVzIHRoZSBERlNETTEgb3IgREZTRE0yIERlbGF5IGNsb2NrCiAgICogQHJtdG9sbCBTWVNDRkdfTUNIRExZQ1IgTUNIRExZRU4gICAgICBMTF9TWVNDRkdfREZTRE1fRW5hYmxlRGVsYXlDbG9jawotICAqIEBwYXJhbSBNQ0hETFkgVGhpcyBwYXJhbWF0ZXIgY2FuIGJlIG9uZSBvZiB0aGUgZm9sbG93aW5nIHZhbHVlcworICAqIEBwYXJhbSBNQ0hETFkgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIG9uZSBvZiB0aGUgZm9sbG93aW5nIHZhbHVlcwogICAqICAgICAgICAgQGFyZyBAcmVmIExMX1NZU0NGR19ERlNETTFfTUNIRExZRU4KICAgKiAgICAgICAgIEBhcmcgQHJlZiBMTF9TWVNDRkdfREZTRE0yX01DSERMWUVOCiAgICogQHJldHZhbCBOb25lCkBAIC03ODAsNyArNzgxLDcgQEAKIC8qKgogICAqIEBicmllZiAgRGlzYWJsZXMgdGhlIERGU0RNMSBvciB0aGUgREZTRE0yIERlbGF5IGNsb2NrCiAgICogQHJtdG9sbCBTWVNDRkdfTUNIRExZQ1IgTUNIRExZMUVOICAgICAgTExfU1lTQ0ZHX0RGU0RNMV9EaXNhYmxlRGVsYXlDbG9jawotICAqIEBwYXJhbSBNQ0hETFkgVGhpcyBwYXJhbWF0ZXIgY2FuIGJlIG9uZSBvZiB0aGUgZm9sbG93aW5nIHZhbHVlcworICAqIEBwYXJhbSBNQ0hETFkgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIG9uZSBvZiB0aGUgZm9sbG93aW5nIHZhbHVlcwogICAqICAgICAgICAgQGFyZyBAcmVmIExMX1NZU0NGR19ERlNETTFfTUNIRExZRU4KICAgKiAgICAgICAgIEBhcmcgQHJlZiBMTF9TWVNDRkdfREZTRE0yX01DSERMWUVOCiAgICogQHJldHZhbCBOb25lCkBAIC0xNzA3LDQgKzE3MDgsNCBAQAogCiAjZW5kaWYgLyogX19TVE0zMkY0eHhfTExfU1lTVEVNX0ggKi8KIAotLyoqKioqKioqKioqKioqKioqKioqKioqKiAoQykgQ09QWVJJR0hUIFNUTWljcm9lbGVjdHJvbmljcyAqKioqKkVORCBPRiBGSUxFKioqKi8KKwpkaWZmIC0tZ2l0IGEvSW5jL3N0bTMyZjR4eF9sbF90aW0uaCBiL0luYy9zdG0zMmY0eHhfbGxfdGltLmgKaW5kZXggM2Y4M2M5OC4uNjExNDhlNCAxMDA2NDQKLS0tIGEvSW5jL3N0bTMyZjR4eF9sbF90aW0uaAorKysgYi9JbmMvc3RtMzJmNHh4X2xsX3RpbS5oCkBAIC02LDEzICs2LDEyIEBACiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqIEBhdHRlbnRpb24KICAgKgotICAqIDxoMj48Y2VudGVyPiZjb3B5OyBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9jZW50ZXI+PC9oMj4KKyAgKiBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgorICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICoKLSAgKiBUaGlzIHNvZnR3YXJlIGNvbXBvbmVudCBpcyBsaWNlbnNlZCBieSBTVCB1bmRlciBCU0QgMy1DbGF1c2UgbGljZW5zZSwKLSAgKiB0aGUgIkxpY2Vuc2UiOyBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlCi0gICogTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0OgotICAqICAgICAgICAgICAgICAgICAgICAgICAgb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvQlNELTMtQ2xhdXNlCisgICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciB0ZXJtcyB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlCisgICogaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc29mdHdhcmUgY29tcG9uZW50LgorICAqIElmIG5vIExJQ0VOU0UgZmlsZSBjb21lcyB3aXRoIHRoaXMgc29mdHdhcmUsIGl0IGlzIHByb3ZpZGVkIEFTLUlTLgogICAqCiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqLwpAQCAtMTA0NSw3ICsxMDQ0LDcgQEAKICAgKiBAcmV0dmFsIFByZXNjYWxlciB2YWx1ZSAgKGJldHdlZW4gTWluX0RhdGE9MCBhbmQgTWF4X0RhdGE9NjU1MzUpCiAgICovCiAjZGVmaW5lIF9fTExfVElNX0NBTENfUFNDKF9fVElNQ0xLX18sIF9fQ05UQ0xLX18pICAgXAotICAoKChfX1RJTUNMS19fKSA+PSAoX19DTlRDTEtfXykpID8gKHVpbnQzMl90KSgoKF9fVElNQ0xLX18pLyhfX0NOVENMS19fKSkgLSAxVSkgOiAwVSkKKyAgKCgoX19USU1DTEtfXykgPj0gKF9fQ05UQ0xLX18pKSA/ICh1aW50MzJfdCkoKCgoX19USU1DTEtfXykgKyAoX19DTlRDTEtfXykvMlUpLyhfX0NOVENMS19fKSkgLSAxVSkgOiAwVSkKIAogLyoqCiAgICogQGJyaWVmICBIRUxQRVIgbWFjcm8gY2FsY3VsYXRpbmcgdGhlIGF1dG8tcmVsb2FkIHZhbHVlIHRvIGFjaGlldmUgdGhlIHJlcXVpcmVkIG91dHB1dCBzaWduYWwgZnJlcXVlbmN5LgpAQCAtNDA5Miw0ICs0MDkxLDMgQEAKICNlbmRpZgogCiAjZW5kaWYgLyogX19TVE0zMkY0eHhfTExfVElNX0ggKi8KLS8qKioqKioqKioqKioqKioqKioqKioqKiogKEMpIENPUFlSSUdIVCBTVE1pY3JvZWxlY3Ryb25pY3MgKioqKipFTkQgT0YgRklMRSoqKiovCmRpZmYgLS1naXQgYS9JbmMvc3RtMzJmNHh4X2xsX3VzYXJ0LmggYi9JbmMvc3RtMzJmNHh4X2xsX3VzYXJ0LmgKaW5kZXggODZlZTczMS4uZTA3YzIzMiAxMDA2NDQKLS0tIGEvSW5jL3N0bTMyZjR4eF9sbF91c2FydC5oCisrKyBiL0luYy9zdG0zMmY0eHhfbGxfdXNhcnQuaApAQCAtNiwxMyArNiwxMiBAQAogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKiBAYXR0ZW50aW9uCiAgICoKLSAgKiA8aDI+PGNlbnRlcj4mY29weTsgQ29weXJpZ2h0IChjKSAyMDE2IFNUTWljcm9lbGVjdHJvbmljcy4KLSAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvY2VudGVyPjwvaDI+CisgICogQ29weXJpZ2h0IChjKSAyMDE2IFNUTWljcm9lbGVjdHJvbmljcy4KKyAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAqCi0gICogVGhpcyBzb2Z0d2FyZSBjb21wb25lbnQgaXMgbGljZW5zZWQgYnkgU1QgdW5kZXIgQlNEIDMtQ2xhdXNlIGxpY2Vuc2UsCi0gICogdGhlICJMaWNlbnNlIjsgWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZQotICAqIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdDoKLSAgKiAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZQorICAqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgdW5kZXIgdGVybXMgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZQorICAqIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvZnR3YXJlIGNvbXBvbmVudC4KKyAgKiBJZiBubyBMSUNFTlNFIGZpbGUgY29tZXMgd2l0aCB0aGlzIHNvZnR3YXJlLCBpdCBpcyBwcm92aWRlZCBBUy1JUy4KICAgKgogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKi8KQEAgLTI1MjAsNCArMjUxOSwzIEBACiAKICNlbmRpZiAvKiBfX1NUTTMyRjR4eF9MTF9VU0FSVF9IICovCiAKLS8qKioqKioqKioqKioqKioqKioqKioqKiogKEMpIENPUFlSSUdIVCBTVE1pY3JvZWxlY3Ryb25pY3MgKioqKipFTkQgT0YgRklMRSoqKiovCmRpZmYgLS1naXQgYS9JbmMvc3RtMzJmNHh4X2xsX3VzYi5oIGIvSW5jL3N0bTMyZjR4eF9sbF91c2IuaAppbmRleCBjYTc4ZTJhLi5hNzExNGNkIDEwMDY0NAotLS0gYS9JbmMvc3RtMzJmNHh4X2xsX3VzYi5oCisrKyBiL0luYy9zdG0zMmY0eHhfbGxfdXNiLmgKQEAgLTYsMTMgKzYsMTIgQEAKICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICogQGF0dGVudGlvbgogICAqCi0gICogPGgyPjxjZW50ZXI+JmNvcHk7IENvcHlyaWdodCAoYykgMjAxNiBTVE1pY3JvZWxlY3Ryb25pY3MuCi0gICogQWxsIHJpZ2h0cyByZXNlcnZlZC48L2NlbnRlcj48L2gyPgorICAqIENvcHlyaWdodCAoYykgMjAxNiBTVE1pY3JvZWxlY3Ryb25pY3MuCisgICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgKgotICAqIFRoaXMgc29mdHdhcmUgY29tcG9uZW50IGlzIGxpY2Vuc2VkIGJ5IFNUIHVuZGVyIEJTRCAzLUNsYXVzZSBsaWNlbnNlLAotICAqIHRoZSAiTGljZW5zZSI7IFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUKLSAgKiBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQ6Ci0gICogICAgICAgICAgICAgICAgICAgICAgICBvcGVuc291cmNlLm9yZy9saWNlbnNlcy9CU0QtMy1DbGF1c2UKKyAgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIHVuZGVyIHRlcm1zIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUKKyAgKiBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb2Z0d2FyZSBjb21wb25lbnQuCisgICogSWYgbm8gTElDRU5TRSBmaWxlIGNvbWVzIHdpdGggdGhpcyBzb2Z0d2FyZSwgaXQgaXMgcHJvdmlkZWQgQVMtSVMuCiAgICoKICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICovCkBAIC0yMyw3ICsyMiw3IEBACiAKICNpZmRlZiBfX2NwbHVzcGx1cwogZXh0ZXJuICJDIiB7Ci0jZW5kaWYKKyNlbmRpZiAvKiBfX2NwbHVzcGx1cyAqLwogCiAvKiBJbmNsdWRlcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogI2luY2x1ZGUgInN0bTMyZjR4eF9oYWxfZGVmLmgiCkBAIC04MCw2ICs3OSw3IEBACiAgIEhDX0RBVEFUR0xFUlIKIH0gVVNCX09UR19IQ1N0YXRlVHlwZURlZjsKIAorCiAvKioKICAgKiBAYnJpZWYgIFVTQiBJbnN0YW5jZSBJbml0aWFsaXphdGlvbiBTdHJ1Y3R1cmUgZGVmaW5pdGlvbgogICAqLwpAQCAtMTMxLDYgKzEzMSw5IEBACiAgIHVpbnQ4X3QgICBpc19zdGFsbDsgICAgICAgICAgICAgLyohPCBFbmRwb2ludCBzdGFsbCBjb25kaXRpb24KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIG11c3QgYmUgYSBudW1iZXIgYmV0d2VlbiBNaW5fRGF0YSA9IDAgYW5kIE1heF9EYXRhID0gMSAgICAqLwogCisgIHVpbnQ4X3QgICBpc19pc29faW5jb21wbGV0ZTsgICAgLyohPCBFbmRwb2ludCBpc29jIGNvbmRpdGlvbgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgbXVzdCBiZSBhIG51bWJlciBiZXR3ZWVuIE1pbl9EYXRhID0gMCBhbmQgTWF4X0RhdGEgPSAxICAgICovCisKICAgdWludDhfdCAgIHR5cGU7ICAgICAgICAgICAgICAgICAvKiE8IEVuZHBvaW50IHR5cGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhbnkgdmFsdWUgb2YgQHJlZiBVU0JfTExfRVBfVHlwZSAgICAgICAgICAgICAgICAgICAqLwogCkBAIC0xNTIsNiArMTU1LDggQEAKIAogICB1aW50MzJfdCAgeGZlcl9sZW47ICAgICAgICAgICAgIC8qITwgQ3VycmVudCB0cmFuc2ZlciBsZW5ndGggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCiAKKyAgdWludDMyX3QgIHhmZXJfc2l6ZTsgICAgICAgICAgICAvKiE8IHJlcXVlc3RlZCB0cmFuc2ZlciBzaXplICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworCiAgIHVpbnQzMl90ICB4ZmVyX2NvdW50OyAgICAgICAgICAgLyohPCBQYXJ0aWFsIHRyYW5zZmVyIGxlbmd0aCBpbiBjYXNlIG9mIG11bHRpIHBhY2tldCB0cmFuc2ZlciAgICAgICAgICAgICAgICAgKi8KIH0gVVNCX09UR19FUFR5cGVEZWY7CiAKQEAgLTE4OCw3ICsxOTMsNyBAQAogCiAgIHVpbnQ4X3QgICAqeGZlcl9idWZmOyAgICAgICAgIC8qITwgUG9pbnRlciB0byB0cmFuc2ZlciBidWZmZXIuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KIAotICB1aW50MzJfdCAgWGZlclNpemU7ICAgICAgICAgICAgIC8qITwgT1RHIENoYW5uZWwgdHJhbnNmZXIgc2l6ZS4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworICB1aW50MzJfdCAgWGZlclNpemU7ICAgICAgICAgICAgIC8qITwgT1RHIENoYW5uZWwgdHJhbnNmZXIgc2l6ZS4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCiAKICAgdWludDMyX3QgIHhmZXJfbGVuOyAgICAgICAgICAgLyohPCBDdXJyZW50IHRyYW5zZmVyIGxlbmd0aC4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLwogCkBAIC0zMTgsMTAgKzMyMywxMCBAQAogLyoqIEBkZWZncm91cCBVU0JfTExfRVAwX01QUyBVU0IgTG93IExheWVyIEVQMCBNUFMKICAgKiBAewogICAqLwotI2RlZmluZSBFUF9NUFNfNjQgICAgICAgICAgICAgICAgICAgICAgICAwVQotI2RlZmluZSBFUF9NUFNfMzIgICAgICAgICAgICAgICAgICAgICAgICAxVQotI2RlZmluZSBFUF9NUFNfMTYgICAgICAgICAgICAgICAgICAgICAgICAyVQotI2RlZmluZSBFUF9NUFNfOCAgICAgICAgICAgICAgICAgICAgICAgICAzVQorI2RlZmluZSBFUF9NUFNfNjQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwVQorI2RlZmluZSBFUF9NUFNfMzIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxVQorI2RlZmluZSBFUF9NUFNfMTYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyVQorI2RlZmluZSBFUF9NUFNfOCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAzVQogLyoqCiAgICogQH0KICAgKi8KQEAgLTM5NSw2ICs0MDAsMTIgQEAKICNkZWZpbmUgR1JYU1RTX1BLVFNUU19EQVRBX1RPR0dMRV9FUlIgICAgICAgICAgNVUKICNkZWZpbmUgR1JYU1RTX1BLVFNUU19DSF9IQUxURUQgICAgICAgICAgICAgICAgN1UKIAorI2RlZmluZSBURVNUX0ogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxVQorI2RlZmluZSBURVNUX0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyVQorI2RlZmluZSBURVNUX1NFMF9OQUsgICAgICAgICAgICAgICAgICAgICAgICAgICAzVQorI2RlZmluZSBURVNUX1BBQ0tFVCAgICAgICAgICAgICAgICAgICAgICAgICAgICA0VQorI2RlZmluZSBURVNUX0ZPUkNFX0VOICAgICAgICAgICAgICAgICAgICAgICAgICA1VQorCiAjZGVmaW5lIFVTQnhfUENHQ0NUTCAgICAqKF9fSU8gdWludDMyX3QgKikoKHVpbnQzMl90KVVTQnhfQkFTRSArIFVTQl9PVEdfUENHQ0NUTF9CQVNFKQogI2RlZmluZSBVU0J4X0hQUlQwICAgICAgKihfX0lPIHVpbnQzMl90ICopKCh1aW50MzJfdClVU0J4X0JBU0UgKyBVU0JfT1RHX0hPU1RfUE9SVF9CQVNFKQogCkBAIC00MTUsNiArNDI2LDEwIEBACiAjZW5kaWYgLyogZGVmaW5lZCAoVVNCX09UR19GUykgfHwgZGVmaW5lZCAoVVNCX09UR19IUykgKi8KIAogI2RlZmluZSBFUF9BRERSX01TSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAweEZVCisKKyNpZm5kZWYgVVNFX1VTQl9ET1VCTEVfQlVGRkVSCisjZGVmaW5lIFVTRV9VU0JfRE9VQkxFX0JVRkZFUiAgICAgICAgICAgICAgICAgIDFVCisjZW5kaWYgLyogVVNFX1VTQl9ET1VCTEVfQlVGRkVSICovCiAvKioKICAgKiBAfQogICAqLwpAQCAtNDYwLDYgKzQ3NSw3IEBACiB2b2lkICAgICAgICAgICAgICpVU0JfUmVhZFBhY2tldChVU0JfT1RHX0dsb2JhbFR5cGVEZWYgKlVTQngsIHVpbnQ4X3QgKmRlc3QsIHVpbnQxNl90IGxlbik7CiBIQUxfU3RhdHVzVHlwZURlZiBVU0JfRVBTZXRTdGFsbChVU0JfT1RHX0dsb2JhbFR5cGVEZWYgKlVTQngsIFVTQl9PVEdfRVBUeXBlRGVmICplcCk7CiBIQUxfU3RhdHVzVHlwZURlZiBVU0JfRVBDbGVhclN0YWxsKFVTQl9PVEdfR2xvYmFsVHlwZURlZiAqVVNCeCwgVVNCX09UR19FUFR5cGVEZWYgKmVwKTsKK0hBTF9TdGF0dXNUeXBlRGVmIFVTQl9FUFN0b3BYZmVyKFVTQl9PVEdfR2xvYmFsVHlwZURlZiAqVVNCeCwgVVNCX09UR19FUFR5cGVEZWYgKmVwKTsKIEhBTF9TdGF0dXNUeXBlRGVmIFVTQl9TZXREZXZBZGRyZXNzKFVTQl9PVEdfR2xvYmFsVHlwZURlZiAqVVNCeCwgdWludDhfdCBhZGRyZXNzKTsKIEhBTF9TdGF0dXNUeXBlRGVmIFVTQl9EZXZDb25uZWN0KFVTQl9PVEdfR2xvYmFsVHlwZURlZiAqVVNCeCk7CiBIQUxfU3RhdHVzVHlwZURlZiBVU0JfRGV2RGlzY29ubmVjdChVU0JfT1RHX0dsb2JhbFR5cGVEZWYgKlVTQngpOwpAQCAtNTE0LDkgKzUzMCw3IEBACiAKICNpZmRlZiBfX2NwbHVzcGx1cwogfQotI2VuZGlmCisjZW5kaWYgLyogX19jcGx1c3BsdXMgKi8KIAogCiAjZW5kaWYgLyogU1RNMzJGNHh4X0xMX1VTQl9IICovCi0KLS8qKioqKioqKioqKioqKioqKioqKioqKiogKEMpIENPUFlSSUdIVCBTVE1pY3JvZWxlY3Ryb25pY3MgKioqKipFTkQgT0YgRklMRSoqKiovCmRpZmYgLS1naXQgYS9JbmMvc3RtMzJmNHh4X2xsX3V0aWxzLmggYi9JbmMvc3RtMzJmNHh4X2xsX3V0aWxzLmgKaW5kZXggM2JhYzMwYy4uMmIyNTRhMSAxMDA2NDQKLS0tIGEvSW5jL3N0bTMyZjR4eF9sbF91dGlscy5oCisrKyBiL0luYy9zdG0zMmY0eHhfbGxfdXRpbHMuaApAQCAtMTgsMTMgKzE4LDEyIEBACiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqIEBhdHRlbnRpb24KICAgKgotICAqIDxoMj48Y2VudGVyPiZjb3B5OyBDb3B5cmlnaHQgKGMpIDIwMTcgU1RNaWNyb2VsZWN0cm9uaWNzLgotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9jZW50ZXI+PC9oMj4KKyAgKiBDb3B5cmlnaHQgKGMpIDIwMTcgU1RNaWNyb2VsZWN0cm9uaWNzLgorICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICoKLSAgKiBUaGlzIHNvZnR3YXJlIGNvbXBvbmVudCBpcyBsaWNlbnNlZCBieSBTVCB1bmRlciBCU0QgMy1DbGF1c2UgbGljZW5zZSwKLSAgKiB0aGUgIkxpY2Vuc2UiOyBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlCi0gICogTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0OgotICAqICAgICAgICAgICAgICAgICAgICAgICAgb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvQlNELTMtQ2xhdXNlCisgICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciB0ZXJtcyB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlCisgICogaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc29mdHdhcmUgY29tcG9uZW50LgorICAqIElmIG5vIExJQ0VOU0UgZmlsZSBjb21lcyB3aXRoIHRoaXMgc29mdHdhcmUsIGl0IGlzIHByb3ZpZGVkIEFTLUlTLgogICAqCiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqLwpAQCAtMzA2LDUgKzMwNSwzIEBACiAjZW5kaWYKIAogI2VuZGlmIC8qIF9fU1RNMzJGNHh4X0xMX1VUSUxTX0ggKi8KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKiAoQykgQ09QWVJJR0hUIFNUTWljcm9lbGVjdHJvbmljcyAqKioqKkVORCBPRiBGSUxFKioqKi8KZGlmZiAtLWdpdCBhL0luYy9zdG0zMmY0eHhfbGxfd3dkZy5oIGIvSW5jL3N0bTMyZjR4eF9sbF93d2RnLmgKaW5kZXggZjIwYjgyZC4uNWNiY2EwZCAxMDA2NDQKLS0tIGEvSW5jL3N0bTMyZjR4eF9sbF93d2RnLmgKKysrIGIvSW5jL3N0bTMyZjR4eF9sbF93d2RnLmgKQEAgLTYsMTMgKzYsMTIgQEAKICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICogQGF0dGVudGlvbgogICAqCi0gICogPGgyPjxjZW50ZXI+JmNvcHk7IENvcHlyaWdodCAoYykgMjAxNiBTVE1pY3JvZWxlY3Ryb25pY3MuCi0gICogQWxsIHJpZ2h0cyByZXNlcnZlZC48L2NlbnRlcj48L2gyPgorICAqIENvcHlyaWdodCAoYykgMjAxNiBTVE1pY3JvZWxlY3Ryb25pY3MuCisgICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgKgotICAqIFRoaXMgc29mdHdhcmUgY29tcG9uZW50IGlzIGxpY2Vuc2VkIGJ5IFNUIHVuZGVyIEJTRCAzLUNsYXVzZSBsaWNlbnNlLAotICAqIHRoZSAiTGljZW5zZSI7IFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUKLSAgKiBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQ6Ci0gICogICAgICAgICAgICAgICAgICAgICAgICBvcGVuc291cmNlLm9yZy9saWNlbnNlcy9CU0QtMy1DbGF1c2UKKyAgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIHVuZGVyIHRlcm1zIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUKKyAgKiBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb2Z0d2FyZSBjb21wb25lbnQuCisgICogSWYgbm8gTElDRU5TRSBmaWxlIGNvbWVzIHdpdGggdGhpcyBzb2Z0d2FyZSwgaXQgaXMgcHJvdmlkZWQgQVMtSVMuCiAgICoKICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICovCkBAIC0zMTUsNSArMzE0LDMgQEAKICNlbmRpZgogCiAjZW5kaWYgLyogU1RNMzJGNHh4X0xMX1dXREdfSCAqLwotCi0vKioqKioqKioqKioqKioqKioqKioqKioqIChDKSBDT1BZUklHSFQgU1RNaWNyb2VsZWN0cm9uaWNzICoqKioqRU5EIE9GIEZJTEUqKioqLwpkaWZmIC0tZ2l0IGEvTElDRU5TRS5tZCBiL0xJQ0VOU0UubWQKaW5kZXggZmExYjZmMi4uNDc5YzRmNiAxMDA2NDQKLS0tIGEvTElDRU5TRS5tZAorKysgYi9MSUNFTlNFLm1kCkBAIC0xLDQgKzEsNCBAQAotQ29weXJpZ2h0IDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgorQ29weXJpZ2h0IDIwMTcgU1RNaWNyb2VsZWN0cm9uaWNzLgogQWxsIHJpZ2h0cyByZXNlcnZlZC4KIAogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwKZGlmZiAtLWdpdCBhL1JFQURNRS5tZCBiL1JFQURNRS5tZAppbmRleCBhNGVkNjg2Li5jMzQ1ZDliIDEwMDY0NAotLS0gYS9SRUFETUUubWQKKysrIGIvUkVBRE1FLm1kCkBAIC0yMSwxMyArMjEsNiBAQAogCiBUaGlzICoqc3RtMzJmNHh4X2hhbF9kcml2ZXIqKiBNQ1UgY29tcG9uZW50IHJlcG9zaXRvcnkgaXMgb25lIGVsZW1lbnQgb2YgdGhlIFNUTTMyQ3ViZUY0IE1DVSBlbWJlZGRlZCBzb2Z0d2FyZSBwYWNrYWdlLCBwcm92aWRpbmcgdGhlICoqSEFMLUxMIERyaXZlcnMqKiBwYXJ0LgogCi0jIyBMaWNlbnNlCi0KLUNvcHlyaWdodCAoYykgMjAxNiBTVE1pY3JvZWxlY3Ryb25pY3MuCi0KLVRoaXMgc29mdHdhcmUgY29tcG9uZW50IGlzIGxpY2Vuc2VkIGJ5IFNUTWljcm9lbGVjdHJvbmljcyB1bmRlciBCU0QtMy1DbGF1c2UgbGljZW5zZS4gWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLiAKLVlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBbaGVyZV0oaHR0cHM6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9CU0QtMy1DbGF1c2UpLgotCiAjIyBSZWxlYXNlIG5vdGUKIAogRGV0YWlscyBhYm91dCB0aGUgY29udGVudCBvZiB0aGlzIHJlbGVhc2UgYXJlIGF2YWlsYWJsZSBpbiB0aGUgcmVsZWFzZSBub3RlIFtoZXJlXShodHRwczovL2h0bWxwcmV2aWV3LmdpdGh1Yi5pby8/aHR0cHM6Ly9naXRodWIuY29tL1NUTWljcm9lbGVjdHJvbmljcy9zdG0zMmY0eHhfaGFsX2RyaXZlci9ibG9iL21hc3Rlci9SZWxlYXNlX05vdGVzLmh0bWwpLgpAQCAtNDgsNiArNDEsNyBAQAogVGFnIHYxLjcuMTF8IFRhZyB2Mi42LjYgfCBUYWcgdjUuNC4wX2NtNCB8IFRhZyB2MS4yNi4wIChhbmQgZm9sbG93aW5nLCBpZiBhbnksIHRpbGwgSEFMIHRhZykKIFRhZyB2MS43LjEyfCBUYWcgdjIuNi42IHwgVGFnIHY1LjQuMF9jbTQgfCBUYWcgdjEuMjYuMSAoYW5kIGZvbGxvd2luZywgaWYgYW55LCB0aWxsIEhBTCB0YWcpCiBUYWcgdjEuNy4xM3wgVGFnIHYyLjYuNyB8IFRhZyB2NS40LjBfY200IHwgVGFnIHYxLjI2LjIgKGFuZCBmb2xsb3dpbmcsIGlmIGFueSwgdGlsbCBIQUwgdGFnKQorVGFnIHYxLjguMCB8IFRhZyB2Mi42LjggfCBUYWcgdjUuNC4wX2NtNCB8IFRhZyB2MS4yNy4wIChhbmQgZm9sbG93aW5nLCBpZiBhbnksIHRpbGwgSEFMIHRhZykKIAogVGhlIGZ1bGwgKipTVE0zMkN1YmVGNCoqIE1DVSBwYWNrYWdlIGlzIGF2YWlsYWJsZSBbaGVyZV0oaHR0cHM6Ly9naXRodWIuY29tL1NUTWljcm9lbGVjdHJvbmljcy9TVE0zMkN1YmVGNCkuCiAKZGlmZiAtLWdpdCBhL1JlbGVhc2VfTm90ZXMuaHRtbCBiL1JlbGVhc2VfTm90ZXMuaHRtbAppbmRleCA0ZmFmZTFiLi4wOGYwM2M3IDEwMDY0NAotLS0gYS9SZWxlYXNlX05vdGVzLmh0bWwKKysrIGIvUmVsZWFzZV9Ob3Rlcy5odG1sCkBAIC0xLDE2MiArMSw1OSBAQAogPCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMDEgVHJhbnNpdGlvbmFsLy9FTiI+Ci08aHRtbCB4bWxuczp2PSJ1cm46c2NoZW1hcy1taWNyb3NvZnQtY29tOnZtbCIKLSAgeG1sbnM6bz0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6b2ZmaWNlIgotICB4bWxuczp3PSJ1cm46c2NoZW1hcy1taWNyb3NvZnQtY29tOm9mZmljZTp3b3JkIgotICB4bWxuczptPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL29mZmljZS8yMDA0LzEyL29tbWwiCi0gIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi9SRUMtaHRtbDQwIj4KLSAgPGhlYWQ+Cis8aHRtbCB4bWxuczp2PSJ1cm46c2NoZW1hcy1taWNyb3NvZnQtY29tOnZtbCIgeG1sbnM6bz0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6b2ZmaWNlIiB4bWxuczp3PSJ1cm46c2NoZW1hcy1taWNyb3NvZnQtY29tOm9mZmljZTp3b3JkIiB4bWxuczptPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL29mZmljZS8yMDA0LzEyL29tbWwiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi9SRUMtaHRtbDQwIj48aGVhZD4KKworCisKKworCiAgICAgPG1ldGEgaHR0cC1lcXVpdj0iY29udGVudC10eXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7Ci0gICAgICBjaGFyc2V0PXdpbmRvd3MtMTI1MiI+Ci0gICAgPHRpdGxlPlJlbGVhc2UgTm90ZXMgZm9yIFNUTTMyRjR4eCBIQUwgRHJpdmVyczwvdGl0bGU+Ci0gIDwvaGVhZD4KLSAgPGJvZHkgc3R5bGU9InRhYi1pbnRlcnZhbDouNWluO3dvcmQtd3JhcDpicmVhay13b3JkIiBsaW5rPSJibHVlIgotICAgIGxhbmc9IkVOLVVTIiB2bGluaz0iYmx1ZSI+CisgICAgICBjaGFyc2V0PXdpbmRvd3MtMTI1MiI+PHRpdGxlPlJlbGVhc2UgTm90ZXMgZm9yIFNUTTMyRjR4eCBIQUwgRHJpdmVyczwvdGl0bGU+PC9oZWFkPjxib2R5IGxhbmc9IkVOLVVTIiBsaW5rPSJibHVlIiB2bGluaz0iYmx1ZSI+CiAgICAgPGRpdiBjbGFzcz0iV29yZFNlY3Rpb24xIj4KICAgICAgIDxkaXY+Ci0gICAgICAgIDxwIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbgotICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O0FyaWFsJnF1b3Q7LHNhbnMtc2VyaWYiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4KKyAgICAgICAgPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9IiI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtBcmlhbCZxdW90OyxzYW5zLXNlcmlmOyI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPgogICAgICAgICA8ZGl2IGFsaWduPSJjZW50ZXIiPgotICAgICAgICAgIDx0YWJsZSBjbGFzcz0iTXNvTm9ybWFsVGFibGUiCi0gICAgICAgICAgICBzdHlsZT0id2lkdGg6Njc1LjBwdDttc28tY2VsbHNwYWNpbmc6MGluO21zby15ZnRpLXRibGxvb2s6MTE4NDttc28tcGFkZGluZy1hbHQ6Ci0KLQotCi0KLSAgICAgICAgICAgIDBpbiA1LjRwdCAwaW4gNS40cHQiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMCIKLSAgICAgICAgICAgIGJvcmRlcj0iMCIgd2lkdGg9IjkwMCI+CisgICAgICAgICAgPHRhYmxlIGNsYXNzPSJNc29Ob3JtYWxUYWJsZSIgc3R5bGU9IndpZHRoOiA2NzVwdDsiIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIwIiB3aWR0aD0iOTAwIj4KICAgICAgICAgICAgIDx0Ym9keT4KLSAgICAgICAgICAgICAgPHRyCi0gICAgICAgICAgICAgICAgc3R5bGU9Im1zby15ZnRpLWlyb3c6MDttc28teWZ0aS1maXJzdHJvdzp5ZXM7bXNvLXlmdGktbGFzdHJvdzp5ZXMiPgotICAgICAgICAgICAgICAgIDx0ZCBzdHlsZT0icGFkZGluZzowaW4gMGluIDBpbiAwaW4iIHZhbGlnbj0idG9wIj4KLSAgICAgICAgICAgICAgICAgIDx0YWJsZSBjbGFzcz0iTXNvTm9ybWFsVGFibGUiCi0gICAgICAgICAgICAgICAgICAgIHN0eWxlPSJ3aWR0aDo2NzUuMHB0O21zby1jZWxsc3BhY2luZzowaW47bXNvLXlmdGktdGJsbG9vazoxMTg0O21zby1wYWRkaW5nLWFsdDoKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAwaW4gNS40cHQgMGluIDUuNHB0IiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjAiCi0gICAgICAgICAgICAgICAgICAgIGJvcmRlcj0iMCIgd2lkdGg9IjkwMCI+CisgICAgICAgICAgICAgIDx0ciBzdHlsZT0iIj4KKyAgICAgICAgICAgICAgICA8dGQgc3R5bGU9InBhZGRpbmc6IDBpbjsiIHZhbGlnbj0idG9wIj4KKyAgICAgICAgICAgICAgICAgIDx0YWJsZSBjbGFzcz0iTXNvTm9ybWFsVGFibGUiIHN0eWxlPSJ3aWR0aDogNjc1cHQ7IiBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMCIgd2lkdGg9IjkwMCI+CiAgICAgICAgICAgICAgICAgICAgIDx0Ym9keT4KLSAgICAgICAgICAgICAgICAgICAgICA8dHIgc3R5bGU9Im1zby15ZnRpLWlyb3c6MDttc28teWZ0aS1maXJzdHJvdzp5ZXMiPgotICAgICAgICAgICAgICAgICAgICAgICAgPHRkIHN0eWxlPSJwYWRkaW5nOjBpbiA1LjRwdCAwaW4gNS40cHQiCi0gICAgICAgICAgICAgICAgICAgICAgICAgIHZhbGlnbj0idG9wIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dG8iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjguMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0FyaWFsJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjpibHVlIj48YQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSIuLi8uLi9SZWxlYXNlX05vdGVzLmh0bWwiPkJhY2sgdG8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVsZWFzZSBwYWdlPC9hPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4KKyAgICAgICAgICAgICAgICAgICAgICA8dHIgc3R5bGU9IiI+CisgICAgICAgICAgICAgICAgICAgICAgICA8dGQgc3R5bGU9InBhZGRpbmc6IDBpbiA1LjRwdDsiIHZhbGlnbj0idG9wIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9IiI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogOHB0OyBmb250LWZhbWlseTogJnF1b3Q7QXJpYWwmcXVvdDssc2Fucy1zZXJpZjsgY29sb3I6IGJsdWU7Ij48YSBocmVmPSIuLi8uLi9SZWxlYXNlX05vdGVzLmh0bWwiPkJhY2sgdG8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVsZWFzZSBwYWdlPC9hPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyI+PG86cD48L286cD48L3NwYW4+PC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgICAgICAgICAgICA8L3RyPgotICAgICAgICAgICAgICAgICAgICAgIDx0ciBzdHlsZT0ibXNvLXlmdGktaXJvdzoxO21zby15ZnRpLWxhc3Ryb3c6eWVzIj4KLSAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBzdHlsZT0icGFkZGluZzoxLjVwdCAxLjVwdCAxLjVwdCAxLjVwdCI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgIDxoMQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtYXJnaW4tYm90dG9tOi4yNWluO3RleHQtYWxpZ246Y2VudGVyIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduPSJjZW50ZXIiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjIwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6CisgICAgICAgICAgICAgICAgICAgICAgPHRyIHN0eWxlPSIiPgorICAgICAgICAgICAgICAgICAgICAgICAgPHRkIHN0eWxlPSJwYWRkaW5nOiAxLjVwdDsiPgorICAgICAgICAgICAgICAgICAgICAgICAgICA8aDEgc3R5bGU9Im1hcmdpbi1ib3R0b206IDAuMjVpbjsgdGV4dC1hbGlnbjogY2VudGVyOyIgYWxpZ249ImNlbnRlciI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMjBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsgY29sb3I6IHJnYig1MSwgMTAyLCAyNTUpOyI+UmVsZWFzZQogCiAKIAotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDs7Y29sb3I6IzMzNjZGRiI+UmVsZWFzZQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTm90ZXMgZm9yIFNUTTMyRjR4eCBIQUwgRHJpdmVyczwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToyMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvaDE+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvO3RleHQtYWxpZ246Y2VudGVyIiBhbGlnbj0iY2VudGVyIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7QXJpYWwmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6YmxhY2siPkNvcHlyaWdodCAyMDE3Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTVE1pY3JvZWxlY3Ryb25pY3M8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjayI+PHUxOnA+PC91MTpwPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dG87dGV4dC1hbGlnbjpjZW50ZXIiIGFsaWduPSJjZW50ZXIiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtBcmlhbCZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjpibGFjazttc28tbm8tcHJvb2Y6eWVzIj48aW1nCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkPSJfeDAwMDBfaTEwNDQiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNyYz0iX2h0bXJlc2Mvc3RfbG9nby5wbmciIGJvcmRlcj0iMCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PSI4MSIgd2lkdGg9IjEwOSI+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxMC4wcHQiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5vdGVzIGZvciBTVE0zMkY0eHggSEFMIERyaXZlcnM8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMjBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvaDE+CisgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7IiBhbGlnbj0iY2VudGVyIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7QXJpYWwmcXVvdDssc2Fucy1zZXJpZjsgY29sb3I6IGJsYWNrOyI+Q29weXJpZ2h0IDIwMTcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNUTWljcm9lbGVjdHJvbmljczwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6IGJsYWNrOyI+PHUxOnA+PC91MTpwPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiIGFsaWduPSJjZW50ZXIiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtBcmlhbCZxdW90OyxzYW5zLXNlcmlmOyBjb2xvcjogYmxhY2s7Ij48aW1nIGlkPSJfeDAwMDBfaTEwNDQiIHNyYz0iX2h0bXJlc2Mvc3RfbG9nby5wbmciIGJvcmRlcj0iMCIgaGVpZ2h0PSI4MSIgd2lkdGg9IjEwOSI+PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPgogICAgICAgICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgICAgICAgICAgIDwvdGJvZHk+CiAgICAgICAgICAgICAgICAgICA8L3RhYmxlPgotICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3Bhbgotc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O0FyaWFsJnF1b3Q7LHNhbnMtc2VyaWY7ZGlzcGxheTpub25lO21zby1oaWRlOmFsbCI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPgotICAgICAgICAgICAgICAgICAgPHRhYmxlIGNsYXNzPSJNc29Ob3JtYWxUYWJsZSIKLSAgICAgICAgICAgICAgICAgICAgc3R5bGU9IndpZHRoOjY3NS4wcHQ7bXNvLWNlbGxzcGFjaW5nOjEuNXB0O21zby15ZnRpLXRibGxvb2s6MTE4NDttc28tcGFkZGluZy1hbHQ6Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgMGluIDUuNHB0IDBpbiA1LjRwdCIgY2VsbHBhZGRpbmc9IjAiIGJvcmRlcj0iMCIKLSAgICAgICAgICAgICAgICAgICAgd2lkdGg9IjkwMCI+CisgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O0FyaWFsJnF1b3Q7LHNhbnMtc2VyaWY7IGRpc3BsYXk6IG5vbmU7Ij48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+CisgICAgICAgICAgICAgICAgICA8dGFibGUgY2xhc3M9Ik1zb05vcm1hbFRhYmxlIiBzdHlsZT0id2lkdGg6IDY3NXB0OyIgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iMCIgd2lkdGg9IjkwMCI+CiAgICAgICAgICAgICAgICAgICAgIDx0Ym9keT4KLSAgICAgICAgICAgICAgICAgICAgICA8dHIKLSAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28teWZ0aS1pcm93OjA7bXNvLXlmdGktZmlyc3Ryb3c6eWVzO21zby15ZnRpLWxhc3Ryb3c6eWVzIj4KLSAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBzdHlsZT0icGFkZGluZzowaW4gMGluIDBpbiAwaW4iIHZhbGlnbj0idG9wIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgPHRhYmxlIGNsYXNzPSJNc29Ob3JtYWxUYWJsZSIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0id2lkdGg6ODQ2LjI1cHQ7bXNvLWNlbGxzcGFjaW5nOjEuNXB0O21zby15ZnRpLXRibGxvb2s6MTE4NDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tcGFkZGluZy1hbHQ6MGluIDUuNHB0IDBpbiA1LjRwdCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBjZWxscGFkZGluZz0iMCIgYm9yZGVyPSIwIiB3aWR0aD0iMTEyOCI+CisgICAgICAgICAgICAgICAgICAgICAgPHRyIHN0eWxlPSIiPgorICAgICAgICAgICAgICAgICAgICAgICAgPHRkIHN0eWxlPSJwYWRkaW5nOiAwaW47IiB2YWxpZ249InRvcCI+CisgICAgICAgICAgICAgICAgICAgICAgICAgIDx0YWJsZSBjbGFzcz0iTXNvTm9ybWFsVGFibGUiIHN0eWxlPSJ3aWR0aDogODQ2LjI1cHQ7IiBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIwIiB3aWR0aD0iMTEyOCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRib2R5PgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28teWZ0aS1pcm93OjA7bXNvLXlmdGktZmlyc3Ryb3c6eWVzIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIHN0eWxlPSJ3aWR0aDo4NDMuMjVwdDtwYWRkaW5nOjBpbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDBpbiAwaW4gMGluIiB3aWR0aD0iMTEyNCIgdmFsaWduPSJ0b3AiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImJhY2tncm91bmQ6IzMzNjZGRjstbW96LWJhY2tncm91bmQtY2xpcDoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluaXRpYWw7LW1vei1iYWNrZ3JvdW5kLW9yaWdpbjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluaXRpYWw7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtbW96LWJhY2tncm91bmQtaW5saW5lLXBvbGljeToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluaXRpYWw7YmFja2dyb3VuZC1wb3NpdGlvbi14OjAlOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbi15OjUwJTtiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6c2Nyb2xsIj48Zm9udAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcj0iI2ZmZmZmZiI+PGEgbmFtZT0iSGlzdG9yeSI+PC9hPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMi4wcHQ7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ciBzdHlsZT0iIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIHN0eWxlPSJwYWRkaW5nOiAwaW47IHdpZHRoOiA4NDMuMjVwdDsiIHZhbGlnbj0idG9wIiB3aWR0aD0iMTEyNCI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgyIHN0eWxlPSJiYWNrZ3JvdW5kOiByZ2IoNTEsIDEwMiwgMjU1KSBub25lIHJlcGVhdCBzY3JvbGwgMCUgNTAlOyAtbW96LWJhY2tncm91bmQtY2xpcDogLW1vei1pbml0aWFsOyAtbW96LWJhY2tncm91bmQtb3JpZ2luOiAtbW96LWluaXRpYWw7IC1tb3otYmFja2dyb3VuZC1pbmxpbmUtcG9saWN5OiAtbW96LWluaXRpYWw7Ij48Zm9udCBjb2xvcj0iI2ZmZmZmZiI+PGEgbmFtZT0iSGlzdG9yeSI+PC9hPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEycHQ7Ij5VcGRhdGUKIAogCiAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDs7IGNvbG9yOndoaXRlIj5VcGRhdGUKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIaXN0b3J5PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9mb250PjwvaDI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibWFyZ2luLXJpZ2h0OjUwMC4wcHQ7YmFja2dyb3VuZDojMzM2NkZGIj48Zm9udAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcj0iI2ZmZmZmZiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtBcmlhbCZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUm9tYW4mcXVvdDs7Y29sb3I6d2hpdGUiPlYxLjcuMTMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvIDE2LUp1bHktMjAyMTwvc3Bhbj48L2ZvbnQ+PC9oMz4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIaXN0b3J5PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvZm9udD48L2gyPjxoMyBzdHlsZT0iYmFja2dyb3VuZDogcmdiKDUxLCAxMDIsIDI1NSkgbm9uZSByZXBlYXQgc2Nyb2xsIDAlIDUwJTsgLW1vei1iYWNrZ3JvdW5kLWNsaXA6IC1tb3otaW5pdGlhbDsgLW1vei1iYWNrZ3JvdW5kLW9yaWdpbjogLW1vei1pbml0aWFsOyAtbW96LWJhY2tncm91bmQtaW5saW5lLXBvbGljeTogLW1vei1pbml0aWFsOyBtYXJnaW4tcmlnaHQ6IDUwMHB0OyI+PGZvbnQgY29sb3I9IiNmZmZmZmYiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtBcmlhbCZxdW90OyxzYW5zLXNlcmlmOyI+VjEuOC4wCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyAxMS1GZWJydWFyeS0yMDIyPC9zcGFuPjwvZm9udD48L2gzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxibG9ja3F1b3RlPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+PGI+PHU+PHNwYW4KLXN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjpibGFjayI+TWFpbgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+PGI+PHU+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsgY29sb3I6IGJsYWNrOyI+TWFpbgogCiAKIApAQCAtMTY0LDE3NyArNjEsMzE2IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENoYW5nZXM8YnI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+PC91PjwvYj48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9ibG9ja3F1b3RlPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ib3JwaGFuczoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDI7dGV4dC1hbGlnbjpzdGFydDt3aWRvd3M6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyO3dvcmQtc3BhY2luZzogMHB4IiB0eXBlPSJkaXNjIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im9ycGhhbnM6IDI7IHRleHQtYWxpZ246IHN0YXJ0OyB3aWRvd3M6IDI7IHdvcmQtc3BhY2luZzogMHB4OyIgdHlwZT0iZGlzYyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGZvbnQgZmFjZT0iVmVyZGFuYSIgc2l6ZT0iLTEiPkdlbmVyYWwgdXBkYXRlcyB0byBmaXgga25vd24gZGVmZWN0cyBhbmQgaW1wbGVtZW50YXRpb24gZW5oYW5jZW1lbnRzLjwvZm9udD48L2xpPgorICAgICAgICAgICAgICAgICAgICA8bGk+PGZvbnQgZmFjZT0iVmVyZGFuYSIgc2l6ZT0iLTEiPkFsbCBzb3VyY2UgZmlsZXM6IHVwZGF0ZSBkaXNjbGFpbWVyIHRvIGFkZCByZWZlcmVuY2UgdG8gdGhlIG5ldyBsaWNlbnNlIGFncmVlbWVudC48YnI+Cis8L2ZvbnQ+PC9saT4KKzxsaT48Zm9udCBmYWNlPSJWZXJkYW5hIiBzaXplPSItMSI+PGI+VGhlIGZvbGxvd2luZyBjaGFuZ2VzIGRvbmUgb24gdGhlIEhBTCBkcml2ZXJzIHJlcXVpcmUgYW4gdXBkYXRlIG9mIHRoZSBhcHBsaWNhdGlvbiBjb2RlIGJhc2VkIG9uIG9sZGVyIEhBTCB2ZXJzaW9uczwvYj48L2ZvbnQ+PC9saT48dWw+PGxpPjxmb250IGZhY2U9IlZlcmRhbmEiIHNpemU9Ii0xIj5SZXdvcmsgb2YgSEFMIEV0aGVybmV0IGRyaXZlciB0byByZXNvbHZlIHByb2JsZW1zIGFuZCBpbXByb3ZlIHBlcmZvcm1hbmNlICg8Yj5jb21wYXRpYmlsaXR5IGJyZWFrPC9iPikuJm5ic3A7PC9mb250PjwvbGk+PGxpPjxmb250IGZhY2U9IlZlcmRhbmEiIHNpemU9Ii0xIj5BIG5ldyBIQUwgRXRoZXJuZXQgZHJpdmVyIGhhcyBiZWVuIHJlZGVzaWduZWQgd2l0aCBuZXcgQVBJcywgdG8gYnlwYXNzIGxpbWl0YXRpb25zIHdpdGggcHJldmlvdXMgSEFMIEV0aGVybmV0IGRyaXZlciB2ZXJzaW9uLjwvZm9udD48L2xpPjxsaT48Zm9udCBmYWNlPSJWZXJkYW5hIiBzaXplPSItMSI+VGhlIG5ldyBIQUwgRXRoZXJuZXQgZHJpdmVyIGlzIHRoZQorcmVjb21tZW5kZWQgdmVyc2lvbi4gSXQgaXMgbG9jYXRlZCBhcyB1c3VhbCBpbgorRHJpdmVycy9TVE0zMkY0eHhfSEFMX0RyaXZlci9TcmMgYW5kIERyaXZlcnMvU1RNMzJGNHh4X0hBTF9Ecml2ZXIvSW5jCitmb2xkZXJzLiZuYnNwOzwvZm9udD48L2xpPjx1bD48bGk+PGZvbnQgZmFjZT0iVmVyZGFuYSIgc2l6ZT0iLTEiPkl0IGNhbiBiZSBlbmFibGVkIHRocm91Z2ggc3dpdGNoIEhBTF9FVEhfTU9EVUxFX0VOQUJMRUQgaW4gc3RtMzJmNHh4X2hhbF9jb25mLmg8L2ZvbnQ+PC9saT48L3VsPjxsaT48Zm9udCBmYWNlPSJWZXJkYW5hIiBzaXplPSItMSI+VGhlIGxlZ2FjeSBIQUwgRXRoZXJuZXQgZHJpdmVyIGlzIGFsc28KK3ByZXNlbnQgaW4gdGhlIHJlbGVhc2UgaW4gRHJpdmVycy9TVE0zMkY0eHhfSEFMX0RyaXZlci9TcmMvTGVnYWN5IGFuZAorRHJpdmVycy9TVE0zMkY0eHhfSEFMX0RyaXZlci9JbmMvTGVnYWN5IGZvbGRlcnMgZm9yIHNvZnR3YXJlCitjb21wYXRpYmlsaXR5IHJlYXNvbnMuPC9mb250PjwvbGk+PHVsPjxsaT48Zm9udCBmYWNlPSJWZXJkYW5hIiBzaXplPSItMSI+SXRzIHVzYWdlIGlzIG5vdCByZWNvbW1lbmRlZCBhcworZGVwcmVjYXRlZC4gSXQgY2FuIGhvd2V2ZXIgYmUgZW5hYmxlZCB0aHJvdWdoIHN3aXRjaAorSEFMX0VUSF9MRUdBQ1lfTU9EVUxFX0VOQUJMRUQgaW4gc3RtMzJmNHh4X2hhbF9jb25mLmg8L2ZvbnQ+PC9saT48L3VsPjwvdWw+CisgICAgICAgICAgICAgICAgICAgIDxsaT48cD48Zm9udCBmYWNlPSJWZXJkYW5hIiBzaXplPSItMSI+PHN0cm9uZz5IQUw8L3N0cm9uZz4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZXM8L2ZvbnQ+PC9wPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Zm9udCBmYWNlPSJWZXJkYW5hIiBzaXplPSItMSI+IDwvZm9udD4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgPHVsPgorCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZvbnQgZmFjZT0iVmVyZGFuYSIgc2l6ZT0iLTEiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZm9udD4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48Zm9udCBmYWNlPSJWZXJkYW5hIiBzaXplPSItMSI+PHN0cm9uZz5IQUwgRVRIIDwvc3Ryb25nPnVwZGF0ZSA8L2ZvbnQ+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnI+PHVsPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGZvbnQgZmFjZT0iVmVyZGFuYSIgc2l6ZT0iLTEiPkVudGlyZSByZWNlaXZlIHByb2Nlc3MgcmV3b3JrZWQuPC9mb250PjwvbGk+PGxpPjxmb250IGZhY2U9IlZlcmRhbmEiIHNpemU9Ii0xIj5SZXNvbHZlIHRoZSBwcm9ibGVtIG9mIHJlY2VpdmVkIGRhdGEgY29ycnVwdGlvbi48L2ZvbnQ+PC9saT48bGk+PGZvbnQgZmFjZT0iVmVyZGFuYSIgc2l6ZT0iLTEiPkltcGxlbWVudCB0cmFuc21pc3Npb24gaW4gaW50ZXJydXB0IG1vZGUuPC9mb250PjwvbGk+PGxpPjxmb250IGZhY2U9IlZlcmRhbmEiIHNpemU9Ii0xIj5IYW5kbGUgb25lIGludGVycnVwdCBmb3IgbXVsdGlwbGUgdHJhbnNtaXR0ZWQgcGFja2V0cy48L2ZvbnQ+PC9saT48bGk+PGZvbnQgZmFjZT0iVmVyZGFuYSIgc2l6ZT0iLTEiPkltcGxlbWVudCBBUElzIHRvIGhhbmRsZSBQVFAgZmVhdHVyZS48L2ZvbnQ+PC9saT48bGk+PGZvbnQgZmFjZT0iVmVyZGFuYSIgc2l6ZT0iLTEiPkltcGxlbWVudCBBUElzIHRvIGhhbmRsZSBUaW1lc3RhbXAgZmVhdHVyZS48L2ZvbnQ+PC9saT48bGk+PGZvbnQgZmFjZT0iVmVyZGFuYSIgc2l6ZT0iLTEiPkFkZCBzdXBwb3J0IG9mIHJlY2VpdmUgYnVmZmVyIHVuYXZhaWxhYmxlLjwvZm9udD48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48Zm9udCBmYWNlPSJWZXJkYW5hIiBzaXplPSItMSI+VXBkYXRlIEhBTF9FVEhfSVJRSGFuZGxlcigpIHRvIGhhbmRsZSByZWNlaXZlIGJ1ZmZlciB1bmF2YWlsYWJsZS48L2ZvbnQ+PC9saT4KKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxmb250IGZhY2U9IlZlcmRhbmEiIHNpemU9Ii0xIj48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5IQUwgU01CVVM8L3NwYW4+IHVwZGF0ZTwvZm9udD48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgorICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGZvbnQgZmFjZT0iVmVyZGFuYSIgc2l6ZT0iLTEiPlVwZGF0ZSB0byBmaXggaXNzdWUgb2YgbWlzbWF0Y2hlZCBkYXRhCityZWNlaXZlZCBieSBtYXN0ZXIgaW4gY2FzZSBvZiBkYXRhIHNpemUgdG8gYmUgdHJhbnNtaXR0ZWQgYnkgdGhlIHNsYXZlCitpcyBncmVhdGVyIHRoYW4gdGhlIGRhdGEgc2l6ZSB0byBiZSByZWNlaXZlZCBieSB0aGUgbWFzdGVyLjwvZm9udD48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxmb250IGZhY2U9IlZlcmRhbmEiIHNpemU9Ii0xIj5BZGQgZmx1c2ggb24gVFggcmVnaXN0ZXIuPC9mb250PjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CisgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgorICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxmb250IGZhY2U9IlZlcmRhbmEiIHNpemU9Ii0xIj48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5IQUwgVElNPC9zcGFuPiB1cGRhdGU8L2ZvbnQ+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KKzxsaT48Zm9udCBmYWNlPSJWZXJkYW5hIiBzaXplPSItMSI+X19MTF9USU1fQ0FMQ19QU0MoKSBtYWNybyB1cGRhdGUgdG8gcm91bmQgdXAgdGhlIGV2YWx1YXRlIHZhbHVlIHdoZW4gdGhlIGZyYWN0aW9uYWwgcGFydCBvZiB0aGUgZGl2aXNpb24gaXMgZ3JlYXRlciB0aGFuIDAuNS48L2ZvbnQ+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CisKKyAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48Zm9udCBmYWNlPSJWZXJkYW5hIiBzaXplPSItMSI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+SEFMIExQVElNPC9zcGFuPiB1cGRhdGU8L2ZvbnQ+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxmb250IGZhY2U9IlZlcmRhbmEiIHNpemU9Ii0xIj4gQWRkIGNoZWNrIG9uIFBSSU1BU0sgcmVnaXN0ZXIgdG8gcHJldmVudCBmcm9tIGVuYWJsaW5nIHVud2FudGVkIGdsb2JhbCBpbnRlcnJ1cHRzIHdpdGhpbiBMUFRJTV9EaXNhYmxlKCkgYW5kIExMX0xQVElNX0Rpc2FibGUoKTwvZm9udD48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KKyAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48Zm9udCBmYWNlPSJWZXJkYW5hIiBzaXplPSItMSI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+SEFMIFVBUlQ8L3NwYW4+IHVwZGF0ZTwvZm9udD48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgorICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGZvbnQgZmFjZT0iVmVyZGFuYSIgc2l6ZT0iLTEiPkFkZCBjb25zdCBxdWFsaWZpZXIgZm9yIHJlYWQgb25seSBwb2ludGVycy48L2ZvbnQ+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxmb250IGZhY2U9IlZlcmRhbmEiIHNpemU9Ii0xIj5JbXByb3ZlIGhlYWRlciBkZXNjcmlwdGlvbiBvZiBVQVJUX1dhaXRPbkZsYWdVbnRpbFRpbWVvdXQoKSBmdW5jdGlvbi48L2ZvbnQ+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxmb250IGZhY2U9IlZlcmRhbmEiIHNpemU9Ii0xIj5BZGQgYSBjaGVjayBvbiB0aGUgVUFSVCBwYXJpdHkgYmVmb3JlIGVuYWJsaW5nIHRoZSBwYXJpdHkgZXJyb3IgaW50ZXJydXB0aW9uLjwvZm9udD48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGZvbnQgZmFjZT0iVmVyZGFuYSIgc2l6ZT0iLTEiPkZpeCB0eXBvIGluIFVBUlRfSVRfVFhFIGJpdCBkZXNjcmlwdGlvbi48YnI+Cis8L2ZvbnQ+PC9saT4KKworICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KKyAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48Zm9udCBmYWNlPSJWZXJkYW5hIiBzaXplPSItMSI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+SEFMIElSREEgPC9zcGFuPnVwZGF0ZTwvZm9udD48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgorICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGZvbnQgZmFjZT0iVmVyZGFuYSIgc2l6ZT0iLTEiPkltcHJvdmUgaGVhZGVyIGRlc2NyaXB0aW9uIG9mIElSREFfV2FpdE9uRmxhZ1VudGlsVGltZW91dCgpIGZ1bmN0aW9uLjwvZm9udD48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGZvbnQgZmFjZT0iVmVyZGFuYSIgc2l6ZT0iLTEiPkFkZCBhIGNoZWNrIG9uIHRoZSBJUkRBIHBhcml0eSBiZWZvcmUgZW5hYmxpbmcgdGhlIHBhcml0eSBlcnJvciBpbnRlcnJ1cHQuPC9mb250PjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48Zm9udCBmYWNlPSJWZXJkYW5hIiBzaXplPSItMSI+QWRkIGNvbnN0IHF1YWxpZmllciBmb3IgcmVhZCBvbmx5IHBvaW50ZXJzLjwvZm9udD48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KKyAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48Zm9udCBmYWNlPSJWZXJkYW5hIiBzaXplPSItMSI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+SEFMIFNNQVJUQ0FSRDwvc3Bhbj4gdXBkYXRlPC9mb250PjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CisgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48Zm9udCBmYWNlPSJWZXJkYW5hIiBzaXplPSItMSI+SW1wcm92ZSBoZWFkZXIgZGVzY3JpcHRpb24gb2YgU01BUlRDQVJEX1dhaXRPbkZsYWdVbnRpbFRpbWVvdXQoKSBmdW5jdGlvbjwvZm9udD48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGZvbnQgZmFjZT0iVmVyZGFuYSIgc2l6ZT0iLTEiPkFkZCBjb25zdCBxdWFsaWZpZXIgZm9yIHJlYWQgb25seSBwb2ludGVycy48L2ZvbnQ+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CisgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGZvbnQgZmFjZT0iVmVyZGFuYSIgc2l6ZT0iLTEiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhBTCBOT1I8L3NwYW4+IHVwZGF0ZTwvZm9udD48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgorICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGZvbnQgZmFjZT0iVmVyZGFuYSIgc2l6ZT0iLTEiPkFwcGx5IGFkZXF1YXRlIGNvbW1hbmRzIGFjY29yZGluZyB0byB0aGUgY29tbWFuZCBzZXQgZmllbGQgdmFsdWU8L2ZvbnQ+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxmb250IGZhY2U9IlZlcmRhbmEiIHNpemU9Ii0xIj5jb21tYW5kIHNldCAxIGZvciBNaWNyb24gSlMyOEY1MTJQMzM8L2ZvbnQ+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxmb250IGZhY2U9IlZlcmRhbmEiIHNpemU9Ii0xIj5jb21tYW5kIHNldCAyIGZvciBNaWNyb24gTTI5VzEyOEcgYW5kIEN5cHJlc3MgUzI5R0wxMjhQPC9mb250PjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48Zm9udCBmYWNlPSJWZXJkYW5hIiBzaXplPSItMSI+QWRkIG5ldyBjb21tYW5kIG9wZXJhdGlvbnM6PC9mb250PjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGZvbnQgZmFjZT0iVmVyZGFuYSIgc2l6ZT0iLTEiPk5PUl9DTURfUkVBRF9BUlJBWTwvZm9udD48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48Zm9udCBmYWNlPSJWZXJkYW5hIiBzaXplPSItMSI+Tk9SX0NNRF9XT1JEX1BST0dSQU08L2ZvbnQ+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGZvbnQgZmFjZT0iVmVyZGFuYSIgc2l6ZT0iLTEiPk5PUl9DTURfQlVGRkVSRURfUFJPR1JBTTwvZm9udD48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48Zm9udCBmYWNlPSJWZXJkYW5hIiBzaXplPSItMSI+Tk9SX0NNRF9DT05GSVJNPC9mb250PjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxmb250IGZhY2U9IlZlcmRhbmEiIHNpemU9Ii0xIj5OT1JfQ01EX0JMT0NLX0VSQVNFPC9mb250PjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxmb250IGZhY2U9IlZlcmRhbmEiIHNpemU9Ii0xIj5OT1JfQ01EX0JMT0NLX1VOTE9DSzwvZm9udD48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48Zm9udCBmYWNlPSJWZXJkYW5hIiBzaXplPSItMSI+Tk9SX0NNRF9SRUFEX1NUQVRVU19SRUc8L2ZvbnQ+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGZvbnQgZmFjZT0iVmVyZGFuYSIgc2l6ZT0iLTEiPk5PUl9DTURfQ0xFQVJfU1RBVFVTX1JFRzwvZm9udD48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgorICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGZvbnQgZmFjZT0iVmVyZGFuYSIgc2l6ZT0iLTEiPlVwZGF0ZSBzb21lIEFQSXMgaW4gb3JkZXIgdG8gYmUgY29tcGxpYW50IGZvciBtZW1vcmllcyB3aXRoIGRpZmZlcmVudCBjb21tYW5kIHNldCwgdGhlIHVwZGF0ZWQgQVBJcyBhcmU6PC9mb250PjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGZvbnQgZmFjZT0iVmVyZGFuYSIgc2l6ZT0iLTEiPkhBTF9OT1JfSW5pdCgpPC9mb250PjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxmb250IGZhY2U9IlZlcmRhbmEiIHNpemU9Ii0xIj5IQUxfTk9SX1JlYWRfSUQoKTwvZm9udD48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48Zm9udCBmYWNlPSJWZXJkYW5hIiBzaXplPSItMSI+SEFMX05PUl9SZXR1cm5Ub1JlYWRNb2RlKCk8L2ZvbnQ+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGZvbnQgZmFjZT0iVmVyZGFuYSIgc2l6ZT0iLTEiPkhBTF9OT1JfUmVhZCgpPC9mb250PjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxmb250IGZhY2U9IlZlcmRhbmEiIHNpemU9Ii0xIj5IQUxfTk9SX1Byb2dyYW0oKTwvZm9udD48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48Zm9udCBmYWNlPSJWZXJkYW5hIiBzaXplPSItMSI+SEFMX05PUl9SZWFkQnVmZmVyKCk8L2ZvbnQ+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGZvbnQgZmFjZT0iVmVyZGFuYSIgc2l6ZT0iLTEiPkhBTF9OT1JfUHJvZ3JhbUJ1ZmZlcigpPC9mb250PjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxmb250IGZhY2U9IlZlcmRhbmEiIHNpemU9Ii0xIj5IQUxfTk9SX0VyYXNlX0Jsb2NrKCk8L2ZvbnQ+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGZvbnQgZmFjZT0iVmVyZGFuYSIgc2l6ZT0iLTEiPkhBTF9OT1JfRXJhc2VfQ2hpcCgpPC9mb250PjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxmb250IGZhY2U9IlZlcmRhbmEiIHNpemU9Ii0xIj5IQUxfTk9SX0dldFN0YXR1cygpPC9mb250PjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CisgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48Zm9udCBmYWNlPSJWZXJkYW5hIiBzaXplPSItMSI+QWxpZ24gSEFMX05PUl9Jbml0KCkgQVBJIHdpdGggY29yZSBvZiB0aGUgZnVuY3Rpb24gd2hlbiB3cml0ZSBvcGVyYXRpb24gaXMgZGlzYWJsZWQgdG8gYXZvaWQgSGFyZEZhdWx0LjwvZm9udD48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KKyAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48Zm9udCBmYWNlPSJWZXJkYW5hIiBzaXplPSItMSI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+SEFMIFNETU1DPC9zcGFuPiB1cGRhdGU8L2ZvbnQ+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxmb250IGZhY2U9IlZlcmRhbmEiIHNpemU9Ii0xIj5UYWtlIGludG8gYWNjb3VudCB0aGUgdm9sdGFnZSByYW5nZSBpbiB0aGUgQ01EMSBjb21tYW5kLjwvZm9udD48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGZvbnQgZmFjZT0iVmVyZGFuYSIgc2l6ZT0iLTEiPkFkZCBuZXcgTEwgZnVuY3Rpb24gdG8gaGF2ZSBjb3JyZWN0IHJlc3BvbnNlIGZvciBNTUMgZHJpdmVyLjwvZm9udD48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGZvbnQgZmFjZT0iVmVyZGFuYSIgc2l6ZT0iLTEiPlVwZGF0ZSB0aGUgZHJpdmVyIHRvIGhhdmUgYWxsIGZpZWxkcyBjb3JyZWN0bHkgaW5pdGlhbGl6ZWQuPC9mb250PjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48Zm9udCBmYWNlPSJWZXJkYW5hIiBzaXplPSItMSI+QWRkIGFuIGludGVybmFsIHZhcmlhYmxlIHRvIG1hbmFnZSB0aGUgcG93ZXIgY2xhc3MgYW5kIGNhbGwgaXQgYmVmb3JlIHRvIHVwZGF0ZSBzcGVlZCBvZiBidXMgd2lkdGguPC9mb250PjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48Zm9udCBmYWNlPSJWZXJkYW5hIiBzaXplPSItMSI+QWRkIG5ldyBBUEkgdG8gZ2V0IHRoZSB2YWx1ZSBvZiB0aGUgRXh0ZW5kZWQgQ1NEIHJlZ2lzdGVyIGFuZCBwb3B1bGF0ZSB0aGUgRXh0Q1NEIGZpZWxkIG9mIHRoZSBNTUMgaGFuZGxlLjwvZm9udD48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGZvbnQgZmFjZT0iVmVyZGFuYSIgc2l6ZT0iLTEiPkluIEhBTF9NTUNfSW5pdENhcmQoKSwgY2FsbCB0byBTRElPX1Bvd2VyU3RhdGVfT04oKSBtb3ZlZCBhZnRlcgorX19IQUxfTU1DX0VOQUJMRSgpIHRvIGVuc3VyZSBNTUMgY2xvY2sgaXMgZW5hYmxlZCBiZWZvcmUgdGhlIGNhbGwgdG8KK0hBTF9EZWxheSgpIGZyb20gd2l0aGluIFNESU9fUG93ZXJTdGF0ZV9PTigpLjwvZm9udD48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KKyAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48Zm9udCBmYWNlPSJWZXJkYW5hIiBzaXplPSItMSI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+SEFMIERNQTwvc3Bhbj4gdXBkYXRlPC9mb250PjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CisgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48Zm9udCBmYWNlPSJWZXJkYW5hIiBzaXplPSItMSI+TWFuYWdlIHRoZSBjYXNlIG9mIGFuIGludmFsaWQgdmFsdWUgb2YgQ2FsbGJhY2tJRCBwYXNzZWQgdG8gdGhlIEhBTF9ETUFfUmVnaXN0ZXJDYWxsYmFjaygpIEFQSS48L2ZvbnQ+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CisgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGZvbnQgZmFjZT0iVmVyZGFuYSIgc2l6ZT0iLTEiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhBTCBMVERDPC9zcGFuPiB1cGRhdGU8L2ZvbnQ+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KKzxsaT48Zm9udCBmYWNlPSJWZXJkYW5hIiBzaXplPSItMSI+VXBkYXRlIEhBTF9MVERDX0RlSW5pdCgpIHRvIGZpeCBNQ1UgSGFuZyB1cCBkdXJpbmcgTENEIHR1cm4gT0ZGLjwvZm9udD48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KKworICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxmb250IGZhY2U9IlZlcmRhbmEiIHNpemU9Ii0xIj48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5IQUwgSTJDPC9zcGFuPiB1cGRhdGU8L2ZvbnQ+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxmb250IGZhY2U9IlZlcmRhbmEiIHNpemU9Ii0xIj5VcGRhdGUgdG8gZml4IGlzc3VlIGRldGVjdGVkIGR1ZSB0byBsb3cgc3lzdGVtIGZyZXF1ZW5jeSBleGVjdXRpb24gKEhTSSkuPC9mb250PjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48Zm9udCBmYWNlPSJWZXJkYW5hIiBzaXplPSItMSI+RGVjbGFyZSBhbiBpbnRlcm5hbCBtYWNybyBsaW5rIHRvIERNQSBtYWNybyB0byBjaGVjayByZW1haW5pbmcgZGF0YTogSTJDX0dFVF9ETUFfUkVNQUlOX0RBVEE8L2ZvbnQ+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxmb250IGZhY2U9IlZlcmRhbmEiIHNpemU9Ii0xIj5VcGRhdGUgSEFMIEkyQyBNYXN0ZXIgUmVjZWl2ZSBJVCBwcm9jZXNzIHRvIHNhZmUgbWFuYWdlIGRhdGEgTj0gMiBhbmQgTj0gMy48L2ZvbnQ+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48Zm9udCBmYWNlPSJWZXJkYW5hIiBzaXplPSItMSI+RGlzYWJsZSBSeE5FIGludGVycnVwdCBpZiBub3RoaW5nIHRvIGRvLjwvZm9udD48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgorICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KKyAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48Zm9udCBmYWNlPSJWZXJkYW5hIiBzaXplPSItMSI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+SEFMIFVTQVJUPC9zcGFuPiB1cGRhdGU8L2ZvbnQ+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxmb250IGZhY2U9IlZlcmRhbmEiIHNpemU9Ii0xIj5JbXByb3ZlIGhlYWRlciBkZXNjcmlwdGlvbiBvZiBVU0FSVF9XYWl0T25GbGFnVW50aWxUaW1lb3V0KCkgZnVuY3Rpb24uPC9mb250PjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48Zm9udCBmYWNlPSJWZXJkYW5hIiBzaXplPSItMSI+QWRkIGEgY2hlY2sgb24gdGhlIFVTQVJUIHBhcml0eSBiZWZvcmUgZW5hYmxpbmcgdGhlIHBhcml0eSBlcnJvciBpbnRlcnJ1cHQuPC9mb250PjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48Zm9udCBmYWNlPSJWZXJkYW5hIiBzaXplPSItMSI+QWRkIGNvbnN0IHF1YWxpZmllciBmb3IgcmVhZCBvbmx5IHBvaW50ZXJzLjwvZm9udD48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KKyAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48Zm9udCBmYWNlPSJWZXJkYW5hIiBzaXplPSItMSI+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+SEFML0xMIEFEQzwvc3Bhbj4gdXBkYXRlPC9mb250PjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CisgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48Zm9udCBmYWNlPSJWZXJkYW5hIiBzaXplPSItMSI+VXBkYXRlIExMX0FEQ19Jc0FjdGl2ZUZsYWdfTVNUX0VPQ1MoKSBBUEkgdG8gZ2V0IHRoZSBhcHByb3ByaWF0ZSBmbGFnLjwvZm9udD48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGZvbnQgZmFjZT0iVmVyZGFuYSIgc2l6ZT0iLTEiPkJldHRlciBwZXJmb3JtYW5jZSBieSByZW1vdmluZyBtdWx0aXBsZSB2b2xhdGlsZSByZWFkcyBvciB3cml0ZXMgaW4gaW50ZXJydXB0IGhhbmRsZXIuPC9mb250PjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgorICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxmb250IGZhY2U9IlZlcmRhbmEiIHNpemU9Ii0xIj48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5IQUwgRk1QSTJDPC9zcGFuPiB1cGRhdGUgPGJyPgorICAgICAgICAgICAgICAgICAgICAgICAgICA8L2ZvbnQ+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxmb250IGZhY2U9IlZlcmRhbmEiIHNpemU9Ii0xIj5VcGRhdGUgdG8gaGFuZGxlIGVycm9ycyBpbiBwb2xsaW5nIG1vZGUuPC9mb250PjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGZvbnQgZmFjZT0iVmVyZGFuYSIgc2l6ZT0iLTEiPlJlbmFtZSBJMkNfSXNBY2tub3dsZWRnZUZhaWxlZCgpIHRvIEkyQ19Jc0Vycm9yT2NjdXJyZWQoKSBhbmQgY29ycmVjdGx5IG1hbmFnZSB3aGVuIGVycm9yIG9jY3Vycy48L2ZvbnQ+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KKyAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CisgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGZvbnQgZmFjZT0iVmVyZGFuYSIgc2l6ZT0iLTEiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhBTCBFWFRJPC9zcGFuPiB1cGRhdGU8L2ZvbnQ+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxmb250IGZhY2U9IlZlcmRhbmEiIHNpemU9Ii0xIj5VcGRhdGUgSEFMX0VYVElfR2V0Q29uZmlnTGluZSgpIEFQSSB0byBmaXggd3JvbmcgY2FsY3VsYXRpb24gb2YgR1BJT1NlbCB2YWx1ZS48L2ZvbnQ+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CisgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGZvbnQgZmFjZT0iVmVyZGFuYSIgc2l6ZT0iLTEiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhBTCBRU1BJPC9zcGFuPiB1cGRhdGU8L2ZvbnQ+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KKzxsaT48Zm9udCBmYWNlPSJWZXJkYW5hIiBzaXplPSItMSI+VXBkYXRlIEhBTF9RU1BJX0Fib3J0KCkgYW5kJm5ic3A7CitIQUxfUVNQSV9BYm9ydF9JVCgpIEFQSXMgdG8gY2hlY2sgb24gUVNQSSBCVVNZIGZsYWcgc3RhdHVzIGJlZm9yZQorZXhlY3V0aW5nIHRoZSBhYm9ydCBwcm9jZWR1cmUuPC9mb250PjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgorCisgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGZvbnQgZmFjZT0iVmVyZGFuYSIgc2l6ZT0iLTEiPjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDogYm9sZDsiPkhBTC9MTCBSVEM8L3NwYW4+IGNsZWFudXA8L2ZvbnQ+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxmb250IGZhY2U9IlZlcmRhbmEiIHNpemU9Ii0xIj5Vc2UgYml0cyBkZWZpbml0aW9ucyBmcm9tIENNU0lTIERldmljZSBoZWFkZXIgZmlsZSBpbnN0ZWFkIG9mIGhhcmQtY29kZWQgdmFsdWVzLjwvZm9udD48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGZvbnQgZmFjZT0iVmVyZGFuYSIgc2l6ZT0iLTEiPldyYXAgY29tbWVudHMgdG8gYmUgODAtY2hhcmFjdGVyIGxvbmcgYW5kIGNvcnJlY3QgdHlwb3MuPC9mb250PjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48Zm9udCBmYWNlPSJWZXJkYW5hIiBzaXplPSItMSI+TW92ZSBjb25zdGFudHMgUlRDX0lUX1RBTVAuIGZyb20gaGFsX3J0Yy5oIHRvIGhhbF9ydGNfZXguaC48L2ZvbnQ+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxmb250IGZhY2U9IlZlcmRhbmEiIHNpemU9Ii0xIj5HYXRoZXIgYWxsIGluc3RydWN0aW9ucyByZWxhdGVkIHRvIGV4aXRpbmcgdGhlICJpbml0IiBtb2RlIGludG8gbmV3IGZ1bmN0aW9uIFJUQ19FeGl0SW5pdE1vZGUoKS48L2ZvbnQ+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxmb250IGZhY2U9IlZlcmRhbmEiIHNpemU9Ii0xIj5BZGQKK25ldyBtYWNybworYXNzZXJ0X3BhcmFtKElTX1JUQ19UQU1QRVJfRklMVEVSX0NPTkZJR19DT1JSRUNUKHNUYW1wZXItJmd0O0ZpbHRlciwKK3NUYW1wZXItJmd0O1RyaWdnZXIpKSB0byBjaGVjayB0YW1wZXIgZmlsdGVyaW5nIGlzIGRpc2FibGVkIGluIGNhc2UKK3RhbXBlciBldmVudHMgYXJlIHRyaWdnZXJlZCBvbiBzaWduYWwgZWRnZXMuPC9mb250PjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48Zm9udCBmYWNlPSJWZXJkYW5hIiBzaXplPSItMSI+UmV3b3JrIGZ1bmN0aW9ucyBIQUxfUlRDRXhfU2V0VGFtcGVyKCkgYW5kIEhBTF9SVENFeF9TZXRUYW1wZXJfSVQoKSB0bzo8L2ZvbnQ+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48Zm9udCBmYWNlPSJWZXJkYW5hIiBzaXplPSItMSI+V3JpdGUgaW4gVEFGQ1IgcmVnaXN0ZXIgaW4gb25lIHNpbmdsZSBhY2Nlc3MgaW5zdGVhZCBvZiB0d28uPC9mb250PjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxmb250IGZhY2U9IlZlcmRhbmEiIHNpemU9Ii0xIj5Bdm9pZCBtb2RpZnlpbmcgdXNlciBzdHJ1Y3R1cmUgc1RhbXBlci48L2ZvbnQ+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxmb250IGZhY2U9IlZlcmRhbmEiIHNpemU9Ii0xIj5SZW1vdmUgZnVuY3Rpb25zIExMX1JUQ19FbmFibGVQdXNoUHVsbE1vZGUoKSBhbmQgTExfUlRDX0Rpc2FibGVQdXNoUHVsbE1vZGUoKSBhcyByZWxhdGVkIHRvIG5vbi1zdXBwb3J0ZWQgZmVhdHVyZXMuPC9mb250PjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48Zm9udCBmYWNlPSJWZXJkYW5hIiBzaXplPSItMSI+UmVtb3ZlIGFueSByZWZlcmVuY2UgdG8gbm9uLXN1cHBvcnRlZCBmZWF0dXJlcyAoZS5nLiwgTExfUlRDX0lTUl9UQU1QM0YpLjwvZm9udD48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGZvbnQgZmFjZT0iVmVyZGFuYSIgc2l6ZT0iLTEiPlJlbW92ZQordXNlbGVzcyBjb25kaXRpb25hbCBkZWZpbmVzIGFzIGNvcnJlc3BvbmRpbmcgZmVhdHVyZXMgYXJlIHN1cHBvcnRlZCBieQorYWxsIHBhcnQtbnVtYmVycyAoZS5nLiwgI2lmIGRlZmluZWQoUlRDX1RBRkNSX1RBTVBQUkNIKSkuPC9mb250PjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgorICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxmb250IGZhY2U9IlZlcmRhbmEiIHNpemU9Ii0xIj48c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IGJvbGQ7Ij5IQUwgVVNCIE9URzwvc3Bhbj4gdXBkYXRlPC9mb250PjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CisgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxmb250IGZhY2U9IlZlcmRhbmEiIHNpemU9Ii0xIj5GaXggVVNCX0ZsdXNoUnhGaWZvKCkgYW5kIFVTQl9GbHVzaFR4RmlmbygpIEFQSXMgYnkgYWRkaW5nIGNoZWNrIG9uIEFIQiBtYXN0ZXIgSURMRSBzdGF0ZSBiZWZvcmUgZmx1c2hpbmcgdGhlIFVTQiBGSUZPPC9mb250PjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48Zm9udCBmYWNlPSJWZXJkYW5hIiBzaXplPSItMSI+Rml4IHRvIGF2b2lkIHJlc2V0dGluZyBob3N0IGNoYW5uZWwgZGlyZWN0aW9uIGR1cmluZyBjaGFubmVsIGhhbHQ8L2ZvbnQ+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxmb250IGZhY2U9IlZlcmRhbmEiIHNpemU9Ii0xIj5GaXggdG8gcmVwb3J0IGNvcnJlY3QgcmVjZWl2ZWQgYW1vdW50IG9mIGRhdGEgd2l0aCBVU0IgRE1BIGVuYWJsZWQ8L2ZvbnQ+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxmb250IGZhY2U9IlZlcmRhbmEiIHNpemU9Ii0xIj5GaXggdG8gYXZvaWQgY29tcGlsZXIgb3B0aW1pemF0aW9uIG9uIGNvdW50IHZhcmlhYmxlIHVzZWQgZm9yIFVTQiBIQUwgdGltZW91dCBsb29wIGNoZWNrPC9mb250PjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48Zm9udCBmYWNlPSJWZXJkYW5hIiBzaXplPSItMSI+QWRkIG1pc3NpbmcgcmVnaXN0ZXJlZCBjYWxsYmFja3MgY2hlY2sgZm9yIEhBTF9IQ0RfSENfTm90aWZ5VVJCQ2hhbmdlX0NhbGxiYWNrKCk8L2ZvbnQ+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxmb250IGZhY2U9IlZlcmRhbmEiIHNpemU9Ii0xIj5BZGQgbmV3IEFQSSBIQUxfUENEX1NldFRlc3RNb2RlKCkgQVBJcyB0byBoYW5kbGUgVVNCIGRldmljZSBoaWdoIHNwZWVkIFRlc3QgbW9kZXM8L2ZvbnQ+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxmb250IGZhY2U9IlZlcmRhbmEiIHNpemU9Ii0xIj5TZXR0aW5nIFNOQUsgZm9yIEVQcyBub3QgcmVxdWlyZWQgZHVyaW5nIGRldmljZSByZXNldDwvZm9udD48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGZvbnQgZmFjZT0iVmVyZGFuYSIgc2l6ZT0iLTEiPlVwZGF0ZSBVU0IgSVJRIGhhbmRsZXIgdG8gZW5hYmxlIEVQIE9VVCBkaXNhYmxlPC9mb250PjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48Zm9udCBmYWNlPSJWZXJkYW5hIiBzaXplPSItMSI+QWRkIHN1cHBvcnQgb2YgVVNCIElOL09VVCBJc28gaW5jb21wbGV0ZTwvZm9udD48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGZvbnQgZmFjZT0iVmVyZGFuYSIgc2l6ZT0iLTEiPkZpeCBVU0IgQkNEIGRhdGEgY29udGFjdCB0aW1lb3V0PGJyPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxicj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2ZvbnQ+PC9saT4KKworICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KKyAgICAgICAgICAgICAgICAgICAgICA8L3VsPgorICAgICAgICAgICAgICAgICAgICA8L2xpPgorPC91bD4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDMgc3R5bGU9ImJhY2tncm91bmQ6IHJnYig1MSwgMTAyLCAyNTUpIG5vbmUgcmVwZWF0IHNjcm9sbCAwJSA1MCU7IC1tb3otYmFja2dyb3VuZC1jbGlwOiAtbW96LWluaXRpYWw7IC1tb3otYmFja2dyb3VuZC1vcmlnaW46IC1tb3otaW5pdGlhbDsgLW1vei1iYWNrZ3JvdW5kLWlubGluZS1wb2xpY3k6IC1tb3otaW5pdGlhbDsgbWFyZ2luLXJpZ2h0OiA1MDBwdDsiPjxmb250IGNvbG9yPSIjZmZmZmZmIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7QXJpYWwmcXVvdDssc2Fucy1zZXJpZjsiPlYxLjcuMTMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvIDE2LUp1bHktMjAyMTwvc3Bhbj48L2ZvbnQ+PC9oMz4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YmxvY2txdW90ZT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPjxiPjx1PjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7IGNvbG9yOiBibGFjazsiPk1haW4KKworCisKKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDaGFuZ2VzPGJyPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPjwvdT48L2I+PC9wPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYmxvY2txdW90ZT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im9ycGhhbnM6IDI7IHRleHQtYWxpZ246IHN0YXJ0OyB3aWRvd3M6IDI7IHdvcmQtc3BhY2luZzogMHB4OyIgdHlwZT0iZGlzYyI+PGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD48Zm9udCBmYWNlPSJWZXJkYW5hIiBzaXplPSItMSI+PHN0cm9uZz5IQUw8L3N0cm9uZz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZXM8L2ZvbnQ+PC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Zm9udCBmYWNlPSJWZXJkYW5hIiBzaXplPSItMSI+IDwvZm9udD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmb250IGZhY2U9IlZlcmRhbmEiIHNpemU9Ii0xIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2ZvbnQ+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxmb250IGZhY2U9IlZlcmRhbmEiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemU9Ii0xIj48c3Ryb25nPkhBTCBFWFRJPC9zdHJvbmc+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD48Zm9udCBmYWNlPSJWZXJkYW5hIiBzaXplPSItMSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9mb250PjxsaT48Zm9udCBmYWNlPSJWZXJkYW5hIiBzaXplPSItMSI+PHN0cm9uZz5IQUwgRVhUSTwvc3Ryb25nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGUgPC9mb250PgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGZvbnQgZmFjZT0iVmVyZGFuYSIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemU9Ii0xIj5VcGRhdGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD48bGk+PGZvbnQgZmFjZT0iVmVyZGFuYSIgc2l6ZT0iLTEiPlVwZGF0ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX0VYVElfR2V0Q29uZmlnTGluZSgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBUEkgdG8gc2V0IGRlZmF1bHQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYXRpb24gdmFsdWUgb2YKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRyaWdnZXIgYW5kIEdQSU9TZWwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJlZm9yZSBjaGVja2luZyBlYWNoCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb3JyZXNwb25kaW5nIHJlZ2lzdGVycy48L2ZvbnQ+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Zm9udCBmYWNlPSJWZXJkYW5hIiBzaXplPSItMSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9mb250PgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48Zm9udCBmYWNlPSJWZXJkYW5hIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplPSItMSI+PHN0cm9uZz5IQUwgR1BJTzwvc3Ryb25nPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29ycmVzcG9uZGluZyByZWdpc3RlcnMuPC9mb250PjwvbGk+PC91bD4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPjxmb250IGZhY2U9IlZlcmRhbmEiIHNpemU9Ii0xIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2ZvbnQ+PGxpPjxmb250IGZhY2U9IlZlcmRhbmEiIHNpemU9Ii0xIj48c3Ryb25nPkhBTCBHUElPPC9zdHJvbmc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZSA8L2ZvbnQ+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48Zm9udCBmYWNlPSJWZXJkYW5hIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT0iLTEiPlVwZGF0ZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPjxsaT48Zm9udCBmYWNlPSJWZXJkYW5hIiBzaXplPSItMSI+VXBkYXRlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUxfR1BJT19Jbml0KCkgQVBJIHRvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdm9pZCB0aGUgY29uZmlndXJhdGlvbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2YgUFVQRFIgcmVnaXN0ZXIgd2hlbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQW5hbG9nIG1vZGUgaXMgc2VsZWN0ZWQuPC9mb250PjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZvbnQgZmFjZT0iVmVyZGFuYSIgc2l6ZT0iLTEiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZm9udD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGZvbnQgZmFjZT0iVmVyZGFuYSIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT0iLTEiPjxzdHJvbmc+SEFMIERNQTwvc3Ryb25nPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQW5hbG9nIG1vZGUgaXMgc2VsZWN0ZWQuPC9mb250PjwvbGk+PC91bD4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPjxmb250IGZhY2U9IlZlcmRhbmEiIHNpemU9Ii0xIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2ZvbnQ+PGxpPjxmb250IGZhY2U9IlZlcmRhbmEiIHNpemU9Ii0xIj48c3Ryb25nPkhBTCBETUE8L3N0cm9uZz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlIDwvZm9udD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxmb250IGZhY2U9IlZlcmRhbmEiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplPSItMSI+VXBkYXRlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+PGxpPjxmb250IGZhY2U9IlZlcmRhbmEiIHNpemU9Ii0xIj5VcGRhdGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9ETUFfSVJRSGFuZGxlcigpIEFQSQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gc2V0IHRoZSBETUEgc3RhdGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJlZm9yZSB1bmxvY2tpbmcgYWNjZXNzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0byB0aGUgRE1BIGhhbmRsZS48L2ZvbnQ+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Zm9udCBmYWNlPSJWZXJkYW5hIiBzaXplPSItMSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9mb250PgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48Zm9udCBmYWNlPSJWZXJkYW5hIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplPSItMSI+PHN0cm9uZz5IQUwvTEwgQURDPC9zdHJvbmc+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0byB0aGUgRE1BIGhhbmRsZS48L2ZvbnQ+PC9saT48L3VsPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+PGZvbnQgZmFjZT0iVmVyZGFuYSIgc2l6ZT0iLTEiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZm9udD48bGk+PGZvbnQgZmFjZT0iVmVyZGFuYSIgc2l6ZT0iLTEiPjxzdHJvbmc+SEFML0xMIEFEQzwvc3Ryb25nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGUgPC9mb250PgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGZvbnQgZmFjZT0iVmVyZGFuYSIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemU9Ii0xIj5VcGRhdGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD48bGk+PGZvbnQgZmFjZT0iVmVyZGFuYSIgc2l6ZT0iLTEiPlVwZGF0ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTExfQURDX0RlSW5pdCgpIEFQSSB0bwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xlYXIgbWlzc2luZyBTUVIzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWdpc3Rlci48L2ZvbnQ+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxmb250IGZhY2U9IlZlcmRhbmEiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplPSItMSI+VXBkYXRlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWdpc3Rlci48L2ZvbnQ+PC9saT48bGk+PGZvbnQgZmFjZT0iVmVyZGFuYSIgc2l6ZT0iLTEiPlVwZGF0ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTExfQURDX0RNQV9HZXRSZWdBZGRyKCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFQSSB0byBwcmV2ZW50IHVudXNlZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJndW1lbnQgY29tcGlsYXRpb24KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmcuPC9mb250PjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48Zm9udCBmYWNlPSJWZXJkYW5hIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT0iLTEiPlVwZGF0ZSBIQUwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmcuPC9mb250PjwvbGk+PGxpPjxmb250IGZhY2U9IlZlcmRhbmEiIHNpemU9Ii0xIj5VcGRhdGUgSEFMCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aW1lb3V0IG1lY2hhbmlzbSB0bwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXZvaWQgZmFsc2UgdGltZW91dAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGV0ZWN0aW9uIGluIGNhc2Ugb2YKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByZWVtcHRpb24uPC9mb250PjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZvbnQgZmFjZT0iVmVyZGFuYSIgc2l6ZT0iLTEiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZm9udD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGZvbnQgZmFjZT0iVmVyZGFuYSIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT0iLTEiPjxzdHJvbmc+SEFMIENBTjwvc3Ryb25nPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJlZW1wdGlvbi48L2ZvbnQ+PC9saT48L3VsPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+PGZvbnQgZmFjZT0iVmVyZGFuYSIgc2l6ZT0iLTEiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZm9udD48bGk+PGZvbnQgZmFjZT0iVmVyZGFuYSIgc2l6ZT0iLTEiPjxzdHJvbmc+SEFMIENBTjwvc3Ryb25nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGUgPC9mb250PgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGZvbnQgZmFjZT0iVmVyZGFuYSIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemU9Ii0xIj5VcGRhdGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD48bGk+PGZvbnQgZmFjZT0iVmVyZGFuYSIgc2l6ZT0iLTEiPlVwZGF0ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX0NBTl9Jbml0KCkgQVBJIHRvIGJlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGlnbmVkIHdpdGggcmVmZXJhbmNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYW51YWwgYW5kIHRvIGF2b2lkCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aW1lb3V0IGVycm9yOjwvZm9udD48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmb250IGZhY2U9IlZlcmRhbmEiIHNpemU9Ii0xIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2ZvbnQ+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxmb250IGZhY2U9IlZlcmRhbmEiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemU9Ii0xIj48c3Ryb25nPkhBTC9MTAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGltZW91dCBlcnJvcjo8L2ZvbnQ+PC9saT48L3VsPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+PGZvbnQgZmFjZT0iVmVyZGFuYSIgc2l6ZT0iLTEiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZm9udD48bGk+PGZvbnQgZmFjZT0iVmVyZGFuYSIgc2l6ZT0iLTEiPjxzdHJvbmc+SEFML0xMCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUlRDX0JLUDwvc3Ryb25nPiB1cGRhdGUgPC9mb250PgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGZvbnQgZmFjZT0iVmVyZGFuYSIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemU9Ii0xIj5VcGRhdGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD48bGk+PGZvbnQgZmFjZT0iVmVyZGFuYSIgc2l6ZT0iLTEiPlVwZGF0ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19IQUxfUlRDX4UoX19IQU5ETEVfXywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIIUpIG1hY3JvcyB0byBhY2Nlc3MKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZ2lzdGVycyB0aHJvdWdoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoX19IQU5ETEVfXyktJmd0O0luc3RhbmNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb2ludGVyIGFuZCBhdm9pZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgk3VudXNlZCB2YXJpYWJsZZQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdzLjwvZm9udD48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGZvbnQgZmFjZT0iVmVyZGFuYSIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemU9Ii0xIj5Db3JyZWN0IG1vbnRoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3YXJuaW5ncy48L2ZvbnQ+PC9saT48bGk+PGZvbnQgZmFjZT0iVmVyZGFuYSIgc2l6ZT0iLTEiPkNvcnJlY3QgbW9udGgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hbmFnZW1lbnQgaW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElTX0xMX1JUQ19NT05USCgpIG1hY3JvLjwvZm9udD48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmb250IGZhY2U9IlZlcmRhbmEiIHNpemU9Ii0xIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2ZvbnQ+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxmb250IGZhY2U9IlZlcmRhbmEiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemU9Ii0xIj48c3Ryb25nPkhBTCBSTkc8L3N0cm9uZz4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElTX0xMX1JUQ19NT05USCgpIG1hY3JvLjwvZm9udD48L2xpPjwvdWw+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT48Zm9udCBmYWNlPSJWZXJkYW5hIiBzaXplPSItMSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9mb250PjxsaT48Zm9udCBmYWNlPSJWZXJkYW5hIiBzaXplPSItMSI+PHN0cm9uZz5IQUwgUk5HPC9zdHJvbmc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZSA8L2ZvbnQ+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48Zm9udCBmYWNlPSJWZXJkYW5hIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT0iLTEiPlVwZGF0ZSB0aW1lb3V0CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+PGxpPjxmb250IGZhY2U9IlZlcmRhbmEiIHNpemU9Ii0xIj5VcGRhdGUgdGltZW91dAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVjaGFuaXNtIHRvIGF2b2lkIGZhbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aW1lb3V0IGRldGVjdGlvbiBpbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSBvZiBwcmVlbXB0aW9uLjwvZm9udD48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmb250IGZhY2U9IlZlcmRhbmEiIHNpemU9Ii0xIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2ZvbnQ+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxmb250IGZhY2U9IlZlcmRhbmEiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemU9Ii0xIj48c3Ryb25nPkhBTCBRU1BJPC9zdHJvbmc+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlIG9mIHByZWVtcHRpb24uPC9mb250PjwvbGk+PC91bD4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPjxmb250IGZhY2U9IlZlcmRhbmEiIHNpemU9Ii0xIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2ZvbnQ+PGxpPjxmb250IGZhY2U9IlZlcmRhbmEiIHNpemU9Ii0xIj48c3Ryb25nPkhBTCBRU1BJPC9zdHJvbmc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZSA8L2ZvbnQ+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48Zm9udCBmYWNlPSJWZXJkYW5hIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT0iLTEiPkVTMDMwNQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPjxsaT48Zm9udCBmYWNlPSJWZXJkYW5hIiBzaXplPSItMSI+RVMwMzA1CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3b3JrYXJvdW5kIGRpc2FibGVkIGZvcgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU1RNMzI0MTJ4eCBkZXZpY2VzLjwvZm9udD48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmb250IGZhY2U9IlZlcmRhbmEiIHNpemU9Ii0xIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2ZvbnQ+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxmb250IGZhY2U9IlZlcmRhbmEiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemU9Ii0xIj48c3Ryb25nPkhBTCBJMkM8L3N0cm9uZz4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNUTTMyNDEyeHggZGV2aWNlcy48L2ZvbnQ+PC9saT48L3VsPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+PGZvbnQgZmFjZT0iVmVyZGFuYSIgc2l6ZT0iLTEiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZm9udD48bGk+PGZvbnQgZmFjZT0iVmVyZGFuYSIgc2l6ZT0iLTEiPjxzdHJvbmc+SEFMIEkyQzwvc3Ryb25nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGUgPC9mb250PgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGZvbnQgZmFjZT0iVmVyZGFuYSIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemU9Ii0xIj5VcGRhdGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD48bGk+PGZvbnQgZmFjZT0iVmVyZGFuYSIgc2l6ZT0iLTEiPlVwZGF0ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX0kyQ19NZW1fV3JpdGVfRE1BKCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX0kyQ19NZW1fUmVhZF9ETUEoKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVBJcyB0byBpbml0aWFsaXplCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZXZhZGRyZXNzLCBNZW1hZGRyZXNzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgRXZlbnRDb3VudAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1ldGVycy48L2ZvbnQ+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxmb250IGZhY2U9IlZlcmRhbmEiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplPSItMSI+VXBkYXRlIHRvCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJhbWV0ZXJzLjwvZm9udD48L2xpPjxsaT48Zm9udCBmYWNlPSJWZXJkYW5hIiBzaXplPSItMSI+VXBkYXRlIHRvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmV2ZW50IHNldmVyYWwgY2FsbHMgb2YKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0YXJ0IGJpdDogPC9mb250PgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48Zm9udCBmYWNlPSJWZXJkYW5hIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemU9Ii0xIj5VcGRhdGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+PGxpPjxmb250IGZhY2U9IlZlcmRhbmEiIHNpemU9Ii0xIj5VcGRhdGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJMkNfTWVtb3J5VHJhbnNtaXRfVFhFX0JURigpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVBJIHRvIGluY3JlbWVudAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEV2ZW50Q291bnQuPC9mb250PjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxmb250IGZhY2U9IlZlcmRhbmEiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplPSItMSI+VXBkYXRlIHRvCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRXZlbnRDb3VudC48L2ZvbnQ+PC9saT48L3VsPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPjxsaT48Zm9udCBmYWNlPSJWZXJkYW5hIiBzaXplPSItMSI+VXBkYXRlIHRvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdm9pZCBJMkMgaW50ZXJydXB0IGluCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbmRsZXNzIGxvb3A6IDwvZm9udD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGZvbnQgZmFjZT0iVmVyZGFuYSIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplPSItMSI+VXBkYXRlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPjxsaT48Zm9udCBmYWNlPSJWZXJkYW5hIiBzaXplPSItMSI+VXBkYXRlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX0kyQ19NYXN0ZXJfVHJhbnNtaXRfSVQoKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUxfSTJDX01hc3Rlcl9SZWNlaXZlX0lUKCksCiAKQEAgLTM0NSwyMjYgKzM4MSwxMDcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBUElzIHRvIHVubG9jayB0aGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJMkMgcGVyaXBoZXJhbAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJlZm9yZSBnZW5lcmF0aW5nCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIHN0YXJ0LjwvZm9udD48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48Zm9udCBmYWNlPSJWZXJkYW5hIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT0iLTEiPlVwZGF0ZSB0byB1c2UKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgc3RhcnQuPC9mb250PjwvbGk+PC91bD4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT48bGk+PGZvbnQgZmFjZT0iVmVyZGFuYSIgc2l6ZT0iLTEiPlVwZGF0ZSB0byB1c2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSByaWdodCBtYWNybyB0byBjbGVhcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSTJDIEFERFIgZmxhZyBpbnNpZGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEkyQ19TbGF2ZV9BRERSKCkgQVBJIGFzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdJJzIGluZGljYXRlZCBpbiB0aGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZmVyZW5jZSBtYW51YWwuPC9mb250PjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48Zm9udCBmYWNlPSJWZXJkYW5hIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT0iLTEiPlVwZGF0ZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmZXJlbmNlIG1hbnVhbC48L2ZvbnQ+PC9saT48bGk+PGZvbnQgZmFjZT0iVmVyZGFuYSIgc2l6ZT0iLTEiPlVwZGF0ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSTJDX0lzQWNrbm93bGVkZ2VGYWlsZWQoKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVBJIHRvIGF2b2lkIEkyQyBpbiBidXN5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZSBpZiBOQUNLIHJlY2VpdmVkCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZnRlciB0cmFuc21pdHRpbmcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZ2lzdGVyIGFkZHJlc3MuPC9mb250PjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48Zm9udCBmYWNlPSJWZXJkYW5hIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT0iLTEiPlVwZGF0ZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVnaXN0ZXIgYWRkcmVzcy48L2ZvbnQ+PC9saT48bGk+PGZvbnQgZmFjZT0iVmVyZGFuYSIgc2l6ZT0iLTEiPlVwZGF0ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX0kyQ19FVl9JUlFIYW5kbGVyKCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSTJDX01hc3RlclRyYW5zbWl0X0JURigpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBUElzIHRvIGNvcnJlY3RseSBtYW5hZ2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lbW9yeSB0cmFuc2ZlcnM6IDwvZm9udD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGZvbnQgZmFjZT0iVmVyZGFuYSIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplPSItMSI+QWRkIGNoZWNrCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPjxsaT48Zm9udCBmYWNlPSJWZXJkYW5hIiBzaXplPSItMSI+QWRkIGNoZWNrCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb24gbWVtb3J5IG1vZGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZWZvcmUgY2FsbGluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhbGxiYWNrcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2NlZHVyZXMuPC9mb250PjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Zm9udCBmYWNlPSJWZXJkYW5hIiBzaXplPSItMSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9mb250PgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48Zm9udCBmYWNlPSJWZXJkYW5hIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplPSItMSI+PHN0cm9uZz5MTCBVU0FSVDwvc3Ryb25nPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2NlZHVyZXMuPC9mb250PjwvbGk+PC91bD4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT48L3VsPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+PGZvbnQgZmFjZT0iVmVyZGFuYSIgc2l6ZT0iLTEiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZm9udD48bGk+PGZvbnQgZmFjZT0iVmVyZGFuYSIgc2l6ZT0iLTEiPjxzdHJvbmc+TEwgVVNBUlQ8L3N0cm9uZz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlIDwvZm9udD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxmb250IGZhY2U9IlZlcmRhbmEiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplPSItMSI+SGFuZGxpbmcgb2YKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD48bGk+PGZvbnQgZmFjZT0iVmVyZGFuYSIgc2l6ZT0iLTEiPkhhbmRsaW5nIG9mCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVQVJUIGNvbmN1cnJlbnQgcmVnaXN0ZXIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjY2VzcyBpbiBjYXNlIG9mIHJhY2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbmRpdGlvbiBiZXR3ZWVuIFR4IGFuZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUnggdHJhbnNmZXJzIChIQUwgVUFSVAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIExMIExQVUFSVCk8L2ZvbnQ+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Zm9udCBmYWNlPSJWZXJkYW5hIiBzaXplPSItMSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9mb250PgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48Zm9udCBmYWNlPSJWZXJkYW5hIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplPSItMSI+PHN0cm9uZz5IQUwgU01CVVM8L3N0cm9uZz4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCBMTCBMUFVBUlQpPC9mb250PjwvbGk+PC91bD4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPjxmb250IGZhY2U9IlZlcmRhbmEiIHNpemU9Ii0xIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2ZvbnQ+PGxpPjxmb250IGZhY2U9IlZlcmRhbmEiIHNpemU9Ii0xIj48c3Ryb25nPkhBTCBTTUJVUzwvc3Ryb25nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGUgPC9mb250PgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGZvbnQgZmFjZT0iVmVyZGFuYSIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemU9Ii0xIj5VcGRhdGVkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+PGxpPjxmb250IGZhY2U9IlZlcmRhbmEiIHNpemU9Ii0xIj5VcGRhdGVkCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUxfU01CVVNfRVJfSVJRSGFuZGxlcigpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBUEkgdG8gcmV0dXJuIHRoZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29ycmVjdCBlcnJvciBjb2RlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICCTU01CVVNfRkxBR19QRUNFUlKUIGluCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlIG9mIHBhY2tldCBlcnJvcgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2NjdXJzLjwvZm9udD48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmb250IGZhY2U9IlZlcmRhbmEiIHNpemU9Ii0xIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2ZvbnQ+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxmb250IGZhY2U9IlZlcmRhbmEiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemU9Ii0xIj48c3Ryb25nPkhBTC9MTCBTUEk8L3N0cm9uZz4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9jY3Vycy48L2ZvbnQ+PC9saT48L3VsPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+PGZvbnQgZmFjZT0iVmVyZGFuYSIgc2l6ZT0iLTEiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZm9udD48bGk+PGZvbnQgZmFjZT0iVmVyZGFuYSIgc2l6ZT0iLTEiPjxzdHJvbmc+SEFML0xMIFNQSTwvc3Ryb25nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGUgPC9mb250PgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGZvbnQgZmFjZT0iVmVyZGFuYSIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemU9Ii0xIj5VcGRhdGVkIHRvIGZpeAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUlTUkEtQyAyMDEyIFJ1bGUtMTMuMi48L2ZvbnQ+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxmb250IGZhY2U9IlZlcmRhbmEiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplPSItMSI+VXBkYXRlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+PGxpPjxmb250IGZhY2U9IlZlcmRhbmEiIHNpemU9Ii0xIj5VcGRhdGVkIHRvIGZpeAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUlTUkEtQyAyMDEyIFJ1bGUtMTMuMi48L2ZvbnQ+PC9saT48bGk+PGZvbnQgZmFjZT0iVmVyZGFuYSIgc2l6ZT0iLTEiPlVwZGF0ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTExfU1BJX1RyYW5zbWl0RGF0YTgoKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVBJIHRvIGF2b2lkIGNhc3RpbmcgdGhlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQgdG8gOCBiaXRzLjwvZm9udD48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmb250IGZhY2U9IlZlcmRhbmEiIHNpemU9Ii0xIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2ZvbnQ+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxmb250IGZhY2U9IlZlcmRhbmEiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemU9Ii0xIj48c3Ryb25nPkhBTCBVQVJUPC9zdHJvbmc+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQgdG8gOCBiaXRzLjwvZm9udD48L2xpPjwvdWw+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT48Zm9udCBmYWNlPSJWZXJkYW5hIiBzaXplPSItMSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9mb250PjxsaT48Zm9udCBmYWNlPSJWZXJkYW5hIiBzaXplPSItMSI+PHN0cm9uZz5IQUwgVUFSVDwvc3Ryb25nPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGUgPC9mb250PgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGZvbnQgZmFjZT0iVmVyZGFuYSIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemU9Ii0xIj5GaXggd3JvbmcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD48bGk+PGZvbnQgZmFjZT0iVmVyZGFuYSIgc2l6ZT0iLTEiPkZpeCB3cm9uZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tbWVudCByZWxhdGVkIHRvIFJYCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwaW4gY29uZmlndXJhdGlvbiB3aXRoaW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBkZXNjcmlwdGlvbiBzZWN0aW9uPC9mb250PjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48Zm9udCBmYWNlPSJWZXJkYW5hIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT0iLTEiPkNvcnJlY3Rpb24gb24KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBkZXNjcmlwdGlvbiBzZWN0aW9uPC9mb250PjwvbGk+PGxpPjxmb250IGZhY2U9IlZlcmRhbmEiIHNpemU9Ii0xIj5Db3JyZWN0aW9uIG9uCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVQVJUIFJlY2VwdGlvblR5cGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hbmFnZW1lbnQgaW4gY2FzZSBvZgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVjZXB0aW9uVG9JZGxlIEFQSSBhcmUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhbGxlZCBmcm9tIFJ4RXZlbnQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhbGxiYWNrPC9mb250PjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48Zm9udCBmYWNlPSJWZXJkYW5hIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT0iLTEiPkhhbmRsaW5nIG9mCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYWxsYmFjazwvZm9udD48L2xpPjxsaT48Zm9udCBmYWNlPSJWZXJkYW5hIiBzaXplPSItMSI+SGFuZGxpbmcgb2YKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVBUlQgY29uY3VycmVudCByZWdpc3RlcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWNjZXNzIGluIGNhc2Ugb2YgcmFjZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uZGl0aW9uIGJldHdlZW4gVHggYW5kCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSeCB0cmFuc2ZlcnMgKEhBTCBVQVJUCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgTEwgTFBVQVJUKSA8L2ZvbnQ+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxmb250IGZhY2U9IlZlcmRhbmEiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT0iLTEiPlVwZGF0ZSBDQU4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+PGxpPjxmb250IGZhY2U9IlZlcmRhbmEiIHNpemU9Ii0xIj5VcGRhdGUgQ0FOCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSW5pdGlhbGl6YXRpb24KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXF1ZW5jZSB0byBzZXQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicmVxdWVzdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluaXRpYWxpemF0aW9uIiBiaXQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZWZvcmUgZXhpdCBmcm9tCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2xlZXAgbW9kZS48L2ZvbnQ+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmb250IGZhY2U9IlZlcmRhbmEiIHNpemU9Ii0xIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2ZvbnQ+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxmb250IGZhY2U9IlZlcmRhbmEiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemU9Ii0xIj48c3Ryb25nPkhBTCBVU0I8L3N0cm9uZz4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbGVlcCBtb2RlLjwvZm9udD48L2xpPjwvdWw+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+PC91bD4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPjxmb250IGZhY2U9IlZlcmRhbmEiIHNpemU9Ii0xIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2ZvbnQ+PGxpPjxmb250IGZhY2U9IlZlcmRhbmEiIHNpemU9Ii0xIj48c3Ryb25nPkhBTCBVU0I8L3N0cm9uZz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlIDwvZm9udD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZvbnQgZmFjZT0iVmVyZGFuYSIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplPSItMSI+IDwvZm9udD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxmb250IGZhY2U9IlZlcmRhbmEiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplPSItMSI+SEFMIFBDRDogYWRkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+PGZvbnQgZmFjZT0iVmVyZGFuYSIgc2l6ZT0iLTEiPiA8L2ZvbnQ+PGxpPjxmb250IGZhY2U9IlZlcmRhbmEiIHNpemU9Ii0xIj5IQUwgUENEOiBhZGQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpeCB0cmFuc2ZlciBjb21wbGV0ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIElOIEludGVycnVwdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNhY3Rpb24gaW4gc2luZ2xlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBidWZmZXIgbW9kZTwvZm9udD48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Zm9udCBmYWNlPSJWZXJkYW5hIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemU9Ii0xIj4gPC9mb250PgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGZvbnQgZmFjZT0iVmVyZGFuYSIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemU9Ii0xIj5SYWNlIGNvbmRpdGlvbgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVmZmVyIG1vZGU8L2ZvbnQ+PC9saT48Zm9udCBmYWNlPSJWZXJkYW5hIiBzaXplPSItMSI+IDwvZm9udD48bGk+PGZvbnQgZmFjZT0iVmVyZGFuYSIgc2l6ZT0iLTEiPlJhY2UgY29uZGl0aW9uCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBVU0IgUENEIGNvbnRyb2wKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuZHBvaW50IHJlY2VpdmUgSVNSLjwvZm9udD48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1hcmdpbi1yaWdodDo1MDAuMHB0O2JhY2tncm91bmQ6IzMzNjZGRiI+PGZvbnQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I9IiNmZmZmZmYiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7QXJpYWwmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJvbWFuJnF1b3Q7O2NvbG9yOndoaXRlIj5WMS43LjEyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyAyNi1NYXJjaC0yMDIxPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2ZvbnQ+PC9oMz4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1hcmdpbi10b3A6NC41cHQ7bWFyZ2luLXJpZ2h0OjBpbjttYXJnaW4tYm90dG9tOgotNC41cHQ7bWFyZ2luLWxlZnQ6MTE4LjVwdDt0ZXh0LWluZGVudDotOTcuNXB0Ij48Yj48dT48c3Bhbgotc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOmJsYWNrIj5NYWluCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbmRwb2ludCByZWNlaXZlIElTUi48L2ZvbnQ+PGJyPjxmb250IGNvbG9yPSIjZmZmZmZmIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7QXJpYWwmcXVvdDssc2Fucy1zZXJpZjsiPjwvc3Bhbj48L2ZvbnQ+PC9saT48L3VsPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+PC91bD4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+PC91bD48aDMgc3R5bGU9ImJhY2tncm91bmQ6IHJnYig1MSwgMTAyLCAyNTUpIG5vbmUgcmVwZWF0IHNjcm9sbCAwJSA1MCU7IC1tb3otYmFja2dyb3VuZC1jbGlwOiAtbW96LWluaXRpYWw7IC1tb3otYmFja2dyb3VuZC1vcmlnaW46IC1tb3otaW5pdGlhbDsgLW1vei1iYWNrZ3JvdW5kLWlubGluZS1wb2xpY3k6IC1tb3otaW5pdGlhbDsgbWFyZ2luLXJpZ2h0OiA1MDBwdDsiPjxmb250IGNvbG9yPSIjZmZmZmZmIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7QXJpYWwmcXVvdDssc2Fucy1zZXJpZjsiPlYxLjcuMTIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvIDI2LU1hcmNoLTIwMjE8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9mb250PjwvaDM+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjogNC41cHQgMGluIDQuNXB0IDExOC41cHQ7IHRleHQtaW5kZW50OiAtOTcuNXB0OyI+PGI+PHU+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsgY29sb3I6IGJsYWNrOyI+TWFpbgogCiAKIAogCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDaGFuZ2VzPC9zcGFuPjwvdT48L2I+PG86cD48L286cD48L3A+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJvcnBoYW5zOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMjt0ZXh0LWFsaWduOnN0YXJ0O3dpZG93czoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDI7d29yZC1zcGFjaW5nOiAwcHgiIHR5cGU9ImRpc2MiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjojMTExMTExO21zby1tYXJnaW4tdG9wLWFsdDphdXRvOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0bzttc28tbGlzdDpsMTEKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWwxIGxmbzE7dGFiLXN0b3BzOmxpc3QgLjVpbiI+PGI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij5IQUw8bzpwPjwvbzpwPjwvc3Bhbj48L2I+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im9ycGhhbnM6IDI7IHRleHQtYWxpZ246IHN0YXJ0OyB3aWRvd3M6IDI7IHdvcmQtc3BhY2luZzogMHB4OyIgdHlwZT0iZGlzYyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiByZ2IoMTcsIDE3LCAxNyk7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMC41cHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUw8bzpwPjwvbzpwPjwvc3Bhbj48L2I+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCB0eXBlPSJjaXJjbGUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6IzExMTExMTttc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0bzttc28tbGlzdDpsMTEKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXZlbDIgbGZvMTt0YWItc3RvcHM6bGlzdAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEuMGluIj48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SEFML0xMCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVTQVJUPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+IHVwZGF0ZTxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IHJnYigxNywgMTcsIDE3KTsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwLjVwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTC9MTAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVU0FSVDwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTAuNXB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+IHVwZGF0ZTxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOiMxMTExMTE7bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0bzttc28tbGlzdDpsMTEKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsMyBsZm8xO3RhYi1zdG9wczogbGlzdAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5GaXggdHlwbyBpbgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IHJnYigxNywgMTcsIDE3KTsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwLjVwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkZpeCB0eXBvIGluCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVTQVJUX1JlY2VpdmVfSVQoKSBhbmQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVVNBUlRfVHJhbnNtaXRSZWNlaXZlX0lUKCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVBJcyB0byBhdm9pZCBwb3NzaWJsZQpAQCAtNTc0LDcwICs0OTEsMjYgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtYXJnaW4tcmlnaHQ6NTAwLjBwdDtiYWNrZ3JvdW5kOiMzMzY2RkYiPjxmb250Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yPSIjZmZmZmZmIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0FyaWFsJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSb21hbiZxdW90Oztjb2xvcjp3aGl0ZSI+VjEuNy4xMQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8gMTItRmVicnVhcnktMjAyMTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9mb250PjwvaDM+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1yaWdodDowaW47bWFyZ2luLWJvdHRvbToKLTQuNXB0O21hcmdpbi1sZWZ0OjExOC41cHQ7dGV4dC1pbmRlbnQ6LTk3LjVwdCI+PGI+PHU+PHNwYW4KLXN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjpibGFjayI+TWFpbgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBzdHlsZT0iYmFja2dyb3VuZDogcmdiKDUxLCAxMDIsIDI1NSkgbm9uZSByZXBlYXQgc2Nyb2xsIDAlIDUwJTsgLW1vei1iYWNrZ3JvdW5kLWNsaXA6IC1tb3otaW5pdGlhbDsgLW1vei1iYWNrZ3JvdW5kLW9yaWdpbjogLW1vei1pbml0aWFsOyAtbW96LWJhY2tncm91bmQtaW5saW5lLXBvbGljeTogLW1vei1pbml0aWFsOyBtYXJnaW4tcmlnaHQ6IDUwMHB0OyI+PGZvbnQgY29sb3I9IiNmZmZmZmYiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtBcmlhbCZxdW90OyxzYW5zLXNlcmlmOyI+VjEuNy4xMQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8gMTItRmVicnVhcnktMjAyMTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2ZvbnQ+PC9oMz4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOiA0LjVwdCAwaW4gNC41cHQgMTE4LjVwdDsgdGV4dC1pbmRlbnQ6IC05Ny41cHQ7Ij48Yj48dT48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyBjb2xvcjogYmxhY2s7Ij5NYWluCiAKIAogCiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENoYW5nZXM8L3NwYW4+PC91PjwvYj48bzpwPjwvbzpwPjwvcD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im9ycGhhbnM6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyO3RleHQtYWxpZ246c3RhcnQ7d2lkb3dzOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMjt3b3JkLXNwYWNpbmc6IDBweCIgdHlwZT0iZGlzYyI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOiMxMTExMTE7bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvO21zby1saXN0Omw4OQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXZlbDEgbGZvMjt0YWItc3RvcHM6bGlzdCAuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+R2VuZXJhbAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ib3JwaGFuczogMjsgdGV4dC1hbGlnbjogc3RhcnQ7IHdpZG93czogMjsgd29yZC1zcGFjaW5nOiAwcHg7IiB0eXBlPSJkaXNjIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IHJnYigxNywgMTcsIDE3KTsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwLjVwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkdlbmVyYWwKIAogCiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGVzIHRvIGZpeCBrbm93biBkZWZlY3RzIGFuZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuaGFuY2VtZW50cyA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5pbXBsZW1lbnRhdGlvbjwvc3Bhbj48L3NwYW4+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6IzExMTExMTttc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG87bXNvLWxpc3Q6bDg5CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5oYW5jZW1lbnRzIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5pbXBsZW1lbnRhdGlvbjwvc3Bhbj48L3NwYW4+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IHJnYigxNywgMTcsIDE3KTsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwLjVwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZGVkCiAKIAogCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsMSBsZm8yO3RhYi1zdG9wczpsaXN0IC41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij5BZGRlZAotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ldyZuYnNwOzxzdHJvbmc+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkhBTAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ldyZuYnNwOzxzdHJvbmc+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKIAogCiAKQEAgLTY0OCw3MDUgKzUyMSwxMDMgQEAKIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvIHN1cHBvcnQgRk1QU01CVVMgZmFzdCBNb2RlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUGx1cy48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjojMTExMTExO21zby1tYXJnaW4tdG9wLWFsdDphdXRvOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0bzttc28tbGlzdDpsODkKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWwxIGxmbzI7dGFiLXN0b3BzOmxpc3QgLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPlJlbW92ZWQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IHJnYigxNywgMTcsIDE3KTsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwLjVwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlJlbW92ZWQKIAogCiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICCTcmVnaXN0ZXKUIGtleXdvcmQgdG8gYmUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21wbGlhbnQgd2l0aCBuZXcgQysrIHJ1bGVzOjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgdHlwZT0iY2lyY2xlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOiMxMTExMTE7bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG87bXNvLWxpc3Q6bDg5Ci0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWwyIGxmbzI7dGFiLXN0b3BzOmxpc3QKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlRoZSByZWdpc3RlcgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiByZ2IoMTcsIDE3LCAxNyk7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMC41cHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5UaGUgcmVnaXN0ZXIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0b3JhZ2UgY2xhc3Mgc3BlY2lmaWVyIHdhcwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVwcmVjYXRlZCBpbiBDKysxMSBhbmQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbW92ZWQgaW4gQysrMTcuPG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOiMxMTExMTE7bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvO21zby1saXN0Omw4OQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXZlbDEgbGZvMjt0YWItc3RvcHM6bGlzdCAuNWluIj48c3Ryb25nPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+SEFMPC9zcGFuPjwvc3Ryb25nPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogcmdiKDE3LCAxNywgMTcpOyI+PHN0cm9uZz48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMC41cHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUw8L3NwYW4+PC9zdHJvbmc+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTAuNXB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCB0eXBlPSJjaXJjbGUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6IzExMTExMTttc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0bzttc28tbGlzdDpsODkKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXZlbDIgbGZvMjt0YWItc3RvcHM6bGlzdAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEuMGluIj48c3Ryb25nPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5IQUw8L3NwYW4+PC9zdHJvbmc+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+Jm5ic3A7dXBkYXRlPG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOiMxMTExMTE7bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG87bXNvLWxpc3Q6bDg5Ci0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWwyIGxmbzI7dGFiLXN0b3BzOmxpc3QKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkdlbmVyYWwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogcmdiKDE3LCAxNywgMTcpOyI+PHN0cm9uZz48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMC41cHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUw8L3NwYW4+PC9zdHJvbmc+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTAuNXB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Jm5ic3A7dXBkYXRlPG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogcmdiKDE3LCAxNywgMTcpOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTAuNXB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+R2VuZXJhbAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlcyB0byBmaXgga25vd24gZGVmZWN0cwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIGVuaGFuY2VtZW50cwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW1wbGVtZW50YXRpb24uPG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOiMxMTExMTE7bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG87bXNvLWxpc3Q6bDg5Ci0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWwyIGxmbzI7dGFiLXN0b3BzOmxpc3QKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkFkZGVkIG5ldworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiByZ2IoMTcsIDE3LCAxNyk7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMC41cHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGRlZCBuZXcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmluZXMgZm9yIEFSTSBjb21waWxlciBWNjo8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjojMTExMTExO21zby1tYXJnaW4tdG9wLWFsdDphdXRvOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG87bXNvLWxpc3Q6bDg5Ci0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXZlbDMgbGZvMjt0YWItc3RvcHM6IGxpc3QKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+X193ZWFrPG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjojMTExMTExO21zby1tYXJnaW4tdG9wLWFsdDphdXRvOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG87bXNvLWxpc3Q6bDg5Ci0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXZlbDMgbGZvMjt0YWItc3RvcHM6IGxpc3QKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+X19wYWNrZWQ8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOiMxMTExMTE7bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0bzttc28tbGlzdDpsODkKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsMyBsZm8yO3RhYi1zdG9wczogbGlzdAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5fX05PSU5MSU5FPG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiByZ2IoMTcsIDE3LCAxNyk7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMC41cHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5fX3dlYWs8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IHJnYigxNywgMTcsIDE3KTsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwLjVwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPl9fcGFja2VkPG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiByZ2IoMTcsIDE3LCAxNyk7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMC41cHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5fX05PSU5MSU5FPG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOiMxMTExMTE7bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG87bXNvLWxpc3Q6bDg5Ci0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWwyIGxmbzI7dGFiLXN0b3BzOmxpc3QKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlVwZGF0ZWQgSEFMIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+VGltZUJhc2U8L3NwYW4+PC9zcGFuPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVElNLCBSVEMgYWxhcm0gYW5kIFJUQyA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPldha2VVcDwvc3Bhbj48L3NwYW4+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IHJnYigxNywgMTcsIDE3KTsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwLjVwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZWQgSEFMIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VGltZUJhc2U8L3NwYW4+PC9zcGFuPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVElNLCBSVEMgYWxhcm0gYW5kIFJUQyA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPldha2VVcDwvc3Bhbj48L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZW1wbGF0ZXMgZm9yIG1vcmUgcm9idXN0bmVzczxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOiMxMTExMTE7bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0bzttc28tbGlzdDpsODkKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsMyBsZm8yO3RhYi1zdG9wczogbGlzdAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5VcGRhdGVkIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkhhbF9Jbml0Xzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5UaWNrKDwvc3Bhbj48L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBUEkgdG8gPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4KLXN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPnByb3BvZXJ0eTwvc3Bhbj48L3NwYW4+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogcmdiKDE3LCAxNywgMTcpOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTAuNXB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXBkYXRlZCA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhhbF9Jbml0Xzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlRpY2soPC9zcGFuPjwvc3Bhbj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFQSSB0byA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnByb3BvZXJ0eTwvc3Bhbj48L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0b3JlIHRoZSBwcmlvcml0eSB3aGVuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzaW5nIHRoZSBub24tZGVmYXVsdCB0aW1lCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhc2UuPG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOiMxMTExMTE7bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG87bXNvLWxpc3Q6bDg5Ci0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWwyIGxmbzI7dGFiLXN0b3BzOmxpc3QKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlVwZGF0ZWQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogcmdiKDE3LCAxNywgMTcpOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTAuNXB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXBkYXRlZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUFBQX01PRFVMRV9FTkFCTEVEIGZvcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRk1QU01CVVMuPG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOiMxMTExMTE7bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG87bXNvLWxpc3Q6bDg5Ci0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWwyIGxmbzI7dGFiLXN0b3BzOmxpc3QKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLjBpbiI+PHN0cm9uZz48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SEFML0xMIEFEQzwvc3Bhbj48L3N0cm9uZz48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4mbmJzcDt1cGRhdGU8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiByZ2IoMTcsIDE3LCAxNyk7Ij48c3Ryb25nPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwLjVwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTC9MTCBBREM8L3NwYW4+PC9zdHJvbmc+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTAuNXB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Jm5ic3A7dXBkYXRlPG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6IzExMTExMTttc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvO21zby1saXN0Omw4OQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWwzIGxmbzI7dGFiLXN0b3BzOiBsaXN0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlVwZGF0ZWQgdG8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiByZ2IoMTcsIDE3LCAxNyk7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMC41cHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGVkIHRvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkZCBpbmNsdWRlIG9mIHRoZSBMTCBBREMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZHJpdmVyLjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6IzExMTExMTttc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvO21zby1saXN0Omw4OQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWwzIGxmbzI7dGFiLXN0b3BzOiBsaXN0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlVwZGF0ZWQgdGhlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogcmdiKDE3LCAxNywgMTcpOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTAuNXB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXBkYXRlZCB0aGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9sbG93aW5nIEFQSXMgdG8gc2V0IHN0YXR1cwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUxfQURDX1NUQVRFX0VSUk9SX0lOVEVSTkFMCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCBlcnJvciBjb2RlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9BRENfRVJST1JfSU5URVJOQUwgd2hlbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJvciBvY2N1cnM6PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6IzExMTExMTttc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG87bXNvLWxpc3Q6bDg5Ci0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsNCBsZm8yO3RhYi1zdG9wczogbGlzdAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyLjBpbiI+PHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkhBTF9BRENfPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlN0YXJ0KDwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+KTxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOiMxMTExMTE7bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvO21zby1saXN0Omw4OQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXZlbDQgbGZvMjt0YWItc3RvcHM6IGxpc3QKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMi4waW4iPjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5IQUxfQURDX1N0YXJ0Xzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5JVCg8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPik8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjojMTExMTExO21zby1tYXJnaW4tdG9wLWFsdDphdXRvOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0bzttc28tbGlzdDpsODkKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWw0IGxmbzI7dGFiLXN0b3BzOiBsaXN0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIuMGluIj48c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SEFMX0FEQ19TdGFydF88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+RE1BKDwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+KTxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOiMxMTExMTE7bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvO21zby1saXN0Omw4OQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXZlbDQgbGZvMjt0YWItc3RvcHM6IGxpc3QKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMi4waW4iPjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5IQUxfQURDRXhfPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkluamVjdGVkU3RhcnQoPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4pPG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6IzExMTExMTttc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG87bXNvLWxpc3Q6bDg5Ci0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsNCBsZm8yO3RhYi1zdG9wczogbGlzdAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyLjBpbiI+PHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkhBTF9BRENFeF9JbmplY3RlZFN0YXJ0Xzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5JVCg8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPik8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjojMTExMTExO21zby1tYXJnaW4tdG9wLWFsdDphdXRvOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0bzttc28tbGlzdDpsODkKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWw0IGxmbzI7dGFiLXN0b3BzOiBsaXN0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIuMGluIj48c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SEFMX0FEQ0V4X011bHRpTW9kZVN0YXJ0Xzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5ETUEoPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4pPG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IHJnYigxNywgMTcsIDE3KTsiPjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwLjVwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9BRENfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwLjVwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlN0YXJ0KDwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTAuNXB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+KTxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiByZ2IoMTcsIDE3LCAxNyk7Ij48c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMC41cHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfQURDX1N0YXJ0Xzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMC41cHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5JVCg8L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwLjVwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPik8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogcmdiKDE3LCAxNywgMTcpOyI+PHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTAuNXB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX0FEQ19TdGFydF88L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTAuNXB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RE1BKDwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTAuNXB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+KTxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiByZ2IoMTcsIDE3LCAxNyk7Ij48c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMC41cHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfQURDRXhfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwLjVwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkluamVjdGVkU3RhcnQoPC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMC41cHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4pPG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IHJnYigxNywgMTcsIDE3KTsiPjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwLjVwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9BRENFeF9JbmplY3RlZFN0YXJ0Xzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMC41cHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5JVCg8L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwLjVwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPik8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogcmdiKDE3LCAxNywgMTcpOyI+PHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTAuNXB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX0FEQ0V4X011bHRpTW9kZVN0YXJ0Xzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMC41cHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5ETUEoPC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMC41cHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4pPG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOiMxMTExMTE7bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0bzttc28tbGlzdDpsODkKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsMyBsZm8yO3RhYi1zdG9wczogbGlzdAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5VcGRhdGVkIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkhBTF9BRENfU3RvcF88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+RE1BKDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IHJnYigxNywgMTcsIDE3KTsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwLjVwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZWQgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfQURDX1N0b3BfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RE1BKDwvc3Bhbj48L3NwYW4+KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBUEkgdG8gY2hlY2sgaWYgRE1BIHN0YXRlIGlzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJ1c3kgYmVmb3JlIGNhbGxpbmcgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX0RNQV9BYm9ydDwvc3Bhbj48L3NwYW4+KCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQnVzeSBiZWZvcmUgY2FsbGluZyA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9ETUFfQWJvcnQ8L3NwYW4+PC9zcGFuPigpCiAKIAogCiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVBJIHRvIGF2b2lkIERNQSBpbnRlcm5hbAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJvci48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOiMxMTExMTE7bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0bzttc28tbGlzdDpsODkKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsMyBsZm8yO3RhYi1zdG9wczogbGlzdAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5VcGRhdGVkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogcmdiKDE3LCAxNywgMTcpOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTAuNXB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXBkYXRlZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJU19BRENfQ0hBTk5FTCB0byBzdXBwb3J0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlbXBlcmF0dXJlIHNlbnNvciBmb3I6PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6IzExMTExMTttc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG87bXNvLWxpc3Q6bDg5Ci0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsNCBsZm8yO3RhYi1zdG9wczogbGlzdAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlNUTTMyRjQxMXhFPG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6IzExMTExMTttc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG87bXNvLWxpc3Q6bDg5Ci0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsNCBsZm8yO3RhYi1zdG9wczogbGlzdAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlNUTTMyRjQxM3h4PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6IzExMTExMTttc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG87bXNvLWxpc3Q6bDg5Ci0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsNCBsZm8yO3RhYi1zdG9wczogbGlzdAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlNUTTMyRjQyM3h4PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IHJnYigxNywgMTcsIDE3KTsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwLjVwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlNUTTMyRjQxMXhFPG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IHJnYigxNywgMTcsIDE3KTsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwLjVwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlNUTTMyRjQxM3h4PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IHJnYigxNywgMTcsIDE3KTsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwLjVwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlNUTTMyRjQyM3h4PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOiMxMTExMTE7bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0bzttc28tbGlzdDpsODkKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsMyBsZm8yO3RhYi1zdG9wczogbGlzdAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5GaXhlZCB3cm9uZworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IHJnYigxNywgMTcsIDE3KTsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwLjVwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkZpeGVkIHdyb25nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmluZWQgdmFsdWVzIGZvcjo8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjojMTExMTExO21zby1tYXJnaW4tdG9wLWFsdDphdXRvOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0bzttc28tbGlzdDpsODkKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWw0IGxmbzI7dGFiLXN0b3BzOiBsaXN0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+TExfQURDX01VTFRJX1JFR19ETUFfTElNSVRfMzxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOiMxMTExMTE7bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvO21zby1saXN0Omw4OQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXZlbDQgbGZvMjt0YWItc3RvcHM6IGxpc3QKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMi4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5MTF9BRENfTVVMVElfUkVHX0RNQV9VTkxNVF8zPG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IHJnYigxNywgMTcsIDE3KTsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwLjVwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkxMX0FEQ19NVUxUSV9SRUdfRE1BX0xJTUlUXzM8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogcmdiKDE3LCAxNywgMTcpOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTAuNXB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+TExfQURDX01VTFRJX1JFR19ETUFfVU5MTVRfMzxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjojMTExMTExO21zby1tYXJnaW4tdG9wLWFsdDphdXRvOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG87bXNvLWxpc3Q6bDg5Ci0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXZlbDMgbGZvMjt0YWItc3RvcHM6IGxpc3QKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+QWRkZWQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19MTF9BRENfQ0FMQ19WUkVGQU5BTE9HXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5WT0xUQUdFKDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IHJnYigxNywgMTcsIDE3KTsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwLjVwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZGVkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fTExfQURDX0NBTENfVlJFRkFOQUxPR188c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Vk9MVEFHRSg8L3NwYW4+PC9zcGFuPikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFjcm8gdG8gZXZhbHVhdGUgYW5hbG9nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZmVyZW5jZSB2b2x0YWdlLjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6IzExMTExMTttc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvO21zby1saXN0Omw4OQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWwzIGxmbzI7dGFiLXN0b3BzOiBsaXN0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlJlbW92ZWQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19MTF9BRENfQ0FMQ188c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPlRFTVBFUkFUVVJFKDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IHJnYigxNywgMTcsIDE3KTsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwLjVwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlJlbW92ZWQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19MTF9BRENfQ0FMQ188c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VEVNUEVSQVRVUkUoPC9zcGFuPjwvc3Bhbj4pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hY3JvIGZvciBTVE0zMkY0eDkgZGV2aWNlcwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcyB0aGUgVFNfQ0FMMiBpcyBub3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXZhaWxhYmxlLjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjojMTExMTExO21zby1tYXJnaW4tdG9wLWFsdDphdXRvOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvO21zby1saXN0Omw4OQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsMiBsZm8yO3RhYi1zdG9wczpsaXN0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMS4waW4iPjxzdHJvbmc+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkhBTC9MTCBEQUM8L3NwYW4+PC9zdHJvbmc+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+Jm5ic3A7dXBkYXRlPG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogcmdiKDE3LCAxNywgMTcpOyI+PHN0cm9uZz48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMC41cHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwvTEwgREFDPC9zcGFuPjwvc3Ryb25nPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwLjVwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPiZuYnNwO3VwZGF0ZTxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOiMxMTExMTE7bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0bzttc28tbGlzdDpsODkKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsMyBsZm8yO3RhYi1zdG9wczogbGlzdAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5BZGRlZCA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5yZXN0cnVjdGlvbjwvc3Bhbj48L3NwYW4+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogcmdiKDE3LCAxNywgMTcpOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTAuNXB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkZWQgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5yZXN0cnVjdGlvbjwvc3Bhbj48L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uIERBQyBDaGFubmVsIDIgZGVmaW5lcyBhbmQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPnBhcmFtZXRyZXM8L3NwYW4+PC9zcGFuPi48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOiMxMTExMTE7bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0bzttc28tbGlzdDpsODkKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsMyBsZm8yO3RhYi1zdG9wczogbGlzdAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5IQUxfREFDX01TUElOSVRfQ0JfSUQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5wYXJhbWV0cmVzPC9zcGFuPjwvc3Bhbj4uPG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiByZ2IoMTcsIDE3LCAxNyk7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMC41cHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfREFDX01TUElOSVRfQ0JfSUQKIAogCiAKQEAgLTEzNTUsNDk0ICs2MjYsODggQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlZCBpbnN0ZWFkIG9mCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9EQUNfTVNQX0lOSVRfQ0JfSUQgYW5kCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9EQUNfTVNQX0RFSU5JVF9DQl9JRC48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOiMxMTExMTE7bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0bzttc28tbGlzdDpsODkKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsMyBsZm8yO3RhYi1zdG9wczogbGlzdAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5VcGRhdGVkIHRvCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogcmdiKDE3LCAxNywgMTcpOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTAuNXB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXBkYXRlZCB0bwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdXBwb3J0IGR1YWwgbW9kZTo8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjojMTExMTExO21zby1tYXJnaW4tdG9wLWFsdDphdXRvOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0bzttc28tbGlzdDpsODkKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWw0IGxmbzI7dGFiLXN0b3BzOiBsaXN0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+QWRkZWQgdHdvCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiByZ2IoMTcsIDE3LCAxNyk7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMC41cHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGRlZCB0d28KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXcgQVBJczo8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjojMTExMTExO21zby1tYXJnaW4tdG9wLWFsdDphdXRvOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvO21zby1saXN0Omw4OQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsNSBsZm8yO3RhYi1zdG9wczoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaXN0IDIuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkhBTF9EQUNFeF88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5EdWFsU3RhcnQoPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4pPG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOiMxMTExMTE7bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG87bXNvLWxpc3Q6bDg5Ci0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWw1IGxmbzI7dGFiLXN0b3BzOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpc3QgMi41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SEFMX0RBQ0V4Xzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkR1YWxTdG9wKDwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+KTxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IHJnYigxNywgMTcsIDE3KTsiPjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwLjVwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9EQUNFeF88L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTAuNXB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RHVhbFN0YXJ0KDwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTAuNXB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+KTxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IHJnYigxNywgMTcsIDE3KTsiPjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwLjVwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9EQUNFeF88L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTAuNXB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RHVhbFN0b3AoPC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMC41cHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4pPG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjojMTExMTExO21zby1tYXJnaW4tdG9wLWFsdDphdXRvOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG87bXNvLWxpc3Q6bDg5Ci0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXZlbDMgbGZvMjt0YWItc3RvcHM6IGxpc3QKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+QWRkZWQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiByZ2IoMTcsIDE3LCAxNyk7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMC41cHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGRlZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbiBiaXQgZGVmaW5pdGlvbiB0bwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZSB1c2VkIGluc3RlYWQgb2YKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19EQUNfTUFTS19TSElGVCBtYWNybzxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOiMxMTExMTE7bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvO21zby1saXN0Omw4OQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXZlbDQgbGZvMjt0YWItc3RvcHM6IGxpc3QKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMi4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5fX0RBQ19NQVNLX1NISUZUCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiByZ2IoMTcsIDE3LCAxNyk7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMC41cHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5fX0RBQ19NQVNLX1NISUZUCiAKIAogCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFjcm8gaGFzIGJlZW4gcmVtb3ZlZC48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6IzExMTExMTttc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvO21zby1saXN0Omw4OQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWwzIGxmbzI7dGFiLXN0b3BzOiBsaXN0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlVwZGF0ZWQgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX0RBQ19TdGFydF88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+RE1BKDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IHJnYigxNywgMTcsIDE3KTsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwLjVwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZWQgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfREFDX1N0YXJ0Xzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkRNQSg8L3NwYW4+PC9zcGFuPikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVBJIHRvIHJldHVybiBIQUxfRVJST1Igd2hlbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJvciBvY2N1cnMuPG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjojMTExMTExO21zby1tYXJnaW4tdG9wLWFsdDphdXRvOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG87bXNvLWxpc3Q6bDg5Ci0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXZlbDMgbGZvMjt0YWItc3RvcHM6IGxpc3QKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+VXBkYXRlZCA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5IQUxfREFDX1N0b3BfPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkRNQSg8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiByZ2IoMTcsIDE3LCAxNyk7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMC41cHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGVkIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX0RBQ19TdG9wXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkRNQSg8L3NwYW4+PC9zcGFuPikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVBJIHRvIG5vdCByZXR1cm4gSEFMX0VSUk9SCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdoZW4gREFDIGlzIGFscmVhZHkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQuPG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOiMxMTExMTE7bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG87bXNvLWxpc3Q6bDg5Ci0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWwyIGxmbzI7dGFiLXN0b3BzOmxpc3QKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLjBpbiI+PHN0cm9uZz48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SEFMIENFQzwvc3Bhbj48L3N0cm9uZz48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4gdXBkYXRlPG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogcmdiKDE3LCAxNywgMTcpOyI+PHN0cm9uZz48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMC41cHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwgQ0VDPC9zcGFuPjwvc3Ryb25nPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwLjVwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPiB1cGRhdGU8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjojMTExMTExO21zby1tYXJnaW4tdG9wLWFsdDphdXRvOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG87bXNvLWxpc3Q6bDg5Ci0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXZlbDMgbGZvMjt0YWItc3RvcHM6IGxpc3QKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+VXBkYXRlZCA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5IQUxfQ0VDXzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5JUlFIYW5kbGVyKDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IHJnYigxNywgMTcsIDE3KTsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwLjVwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZWQgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfQ0VDXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPklSUUhhbmRsZXIoPC9zcGFuPjwvc3Bhbj4pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFQSSB0byBhdm9pZCBhcHBlbmRpbmcgYW4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXh0cmEgYnl0ZSB0byB0aGUgZW5kIG9mIGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZS48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6IzExMTExMTttc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0bzttc28tbGlzdDpsODkKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXZlbDIgbGZvMjt0YWItc3RvcHM6bGlzdAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEuMGluIj48c3Ryb25nPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5IQUwvTEwgR1BJTzwvc3Bhbj48L3N0cm9uZz48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4mbmJzcDt1cGRhdGU8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiByZ2IoMTcsIDE3LCAxNyk7Ij48c3Ryb25nPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwLjVwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTC9MTCBHUElPPC9zcGFuPjwvc3Ryb25nPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwLjVwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPiZuYnNwO3VwZGF0ZTxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOiMxMTExMTE7bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0bzttc28tbGlzdDpsODkKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsMyBsZm8yO3RhYi1zdG9wczogbGlzdAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5VcGRhdGVkCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElTX0dQSU9fPHNwYW4gY2xhc3M9ImdyYW1lIj48c3Bhbgotc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+QUYoPC9zcGFuPjwvc3Bhbj4pIHRvCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogcmdiKDE3LCAxNywgMTcpOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTAuNXB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXBkYXRlZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJU19HUElPXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BRig8L3NwYW4+PC9zcGFuPikgdG8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWRkIG1pc3NpbmcgdmFsdWVzIGZvcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTVE0zMkY0MDF4QyBhbmQgU1RNMzJGNDAxeEUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGV2aWNlczo8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjojMTExMTExO21zby1tYXJnaW4tdG9wLWFsdDphdXRvOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0bzttc28tbGlzdDpsODkKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWw0IGxmbzI7dGFiLXN0b3BzOiBsaXN0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+R1BJT19BRjNfVElNOTxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOiMxMTExMTE7bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvO21zby1saXN0Omw4OQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXZlbDQgbGZvMjt0YWItc3RvcHM6IGxpc3QKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMi4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5HUElPX0FGM19USU0xMDxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOiMxMTExMTE7bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvO21zby1saXN0Omw4OQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXZlbDQgbGZvMjt0YWItc3RvcHM6IGxpc3QKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMi4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5HUElPX0FGM19USU0xMTxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiByZ2IoMTcsIDE3LCAxNyk7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMC41cHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5HUElPX0FGM19USU05PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IHJnYigxNywgMTcsIDE3KTsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwLjVwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkdQSU9fQUYzX1RJTTEwPG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IHJnYigxNywgMTcsIDE3KTsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwLjVwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkdQSU9fQUYzX1RJTTExPG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOiMxMTExMTE7bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0bzttc28tbGlzdDpsODkKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsMyBsZm8yO3RhYi1zdG9wczogbGlzdAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5VcGRhdGVkCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExML0hBTCA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3Bhbgotc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+R1BJT188L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+VG9nZ2xlUGluKDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IHJnYigxNywgMTcsIDE3KTsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwLjVwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZWQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTEwvSEFMIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+R1BJT188L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5Ub2dnbGVQaW4oPC9zcGFuPjwvc3Bhbj4pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFQSXMgdG8gYWxsb3cgbXVsdGkgUGluknMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9nZ2xpbmcuPG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjojMTExMTExO21zby1tYXJnaW4tdG9wLWFsdDphdXRvOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG87bXNvLWxpc3Q6bDg5Ci0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXZlbDMgbGZvMjt0YWItc3RvcHM6IGxpc3QKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+VXBkYXRlZCA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5IQUxfR1BJT188L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SW5pdCg8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiByZ2IoMTcsIDE3LCAxNyk7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMC41cHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGVkIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX0dQSU9fPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SW5pdCg8L3NwYW4+PC9zcGFuPikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVBJIHRvIGF2b2lkIHRoZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25maWd1cmF0aW9uIG9mIFBVUERSCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZ2lzdGVyIHdoZW4gQW5hbG9nIG1vZGUgaXMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWQuPG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOiMxMTExMTE7bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG87bXNvLWxpc3Q6bDg5Ci0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWwyIGxmbzI7dGFiLXN0b3BzOmxpc3QKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLjBpbiI+PHN0cm9uZz48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SEFML0xMIFJDQzwvc3Bhbj48L3N0cm9uZz48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4mbmJzcDt1cGRhdGU8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiByZ2IoMTcsIDE3LCAxNyk7Ij48c3Ryb25nPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwLjVwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTC9MTCBSQ0M8L3NwYW4+PC9zdHJvbmc+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTAuNXB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Jm5ic3A7dXBkYXRlPG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6IzExMTExMTttc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvO21zby1saXN0Omw4OQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWwzIGxmbzI7dGFiLXN0b3BzOiBsaXN0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlVwZGF0ZWQgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX1JDQ188L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+T3NjQ29uZmlnKDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IHJnYigxNywgMTcsIDE3KTsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwLjVwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZWQgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfUkNDXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPk9zY0NvbmZpZyg8L3NwYW4+PC9zcGFuPikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVBJIHRvIGFkZCBtaXNzaW5nIGNoZWNrcwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgdG8gZG9uknQgcmV0dXJuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9FUlJPUiBpZiByZXF1ZXN0IHJlcGVhdHMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIGN1cnJlbnQgUExMCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYXRpb24uPG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjojMTExMTExO21zby1tYXJnaW4tdG9wLWFsdDphdXRvOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG87bXNvLWxpc3Q6bDg5Ci0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXZlbDMgbGZvMjt0YWItc3RvcHM6IGxpc3QKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+VXBkYXRlZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IHJnYigxNywgMTcsIDE3KTsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwLjVwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZWQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSVNfUkNDX1BMTE5fVkFMVUUoVkFMVUUpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hY3JvIGluIGNhc2Ugb2YgU1RNMzJGNDExeEUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGV2aWNlIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4KLXN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPmluIG9yZGVyIHRvPC9zcGFuPjwvc3Bhbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGV2aWNlIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5pbiBvcmRlciB0bzwvc3Bhbj48L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJlIGFsaWduZWQgd2l0aCByZWZlcmVuY2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFudWFsLjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjojMTExMTExO21zby1tYXJnaW4tdG9wLWFsdDphdXRvOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvO21zby1saXN0Omw4OQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsMiBsZm8yO3RhYi1zdG9wczpsaXN0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMS4waW4iPjxzdHJvbmc+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkhBTCBTRDwvc3Bhbj48L3N0cm9uZz48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4gdXBkYXRlPG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogcmdiKDE3LCAxNywgMTcpOyI+PHN0cm9uZz48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMC41cHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwgU0Q8L3NwYW4+PC9zdHJvbmc+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTAuNXB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+IHVwZGF0ZTxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOiMxMTExMTE7bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0bzttc28tbGlzdDpsODkKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsMyBsZm8yO3RhYi1zdG9wczogbGlzdAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5VcGRhdGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+U0RfPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkZpbmRTQ1IoPC9zcGFuPjwvc3Bhbj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogcmdiKDE3LCAxNywgMTcpOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTAuNXB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXBkYXRlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+U0RfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RmluZFNDUig8L3NwYW4+PC9zcGFuPikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gcmVzb2x2ZSBpc3N1ZSBvZiBGSUZPCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsb2NraW5nIHdoZW4gcmVhZGluZy48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOiMxMTExMTE7bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0bzttc28tbGlzdDpsODkKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsMyBsZm8yO3RhYi1zdG9wczogbGlzdAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5VcGRhdGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiByZ2IoMTcsIDE3LCAxNyk7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMC41cHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVhZC93cml0ZSBmdW5jdGlvbnMgaW4gRE1BCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vZGUgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5pbgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2RlIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5pbgogCiAKIApAQCAtMTg1MCw4MyArNzE1LDEwIEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcmNlIHRoZSBETUEgZGlyZWN0aW9uLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGVkIGZ1bmN0aW9uczo8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjojMTExMTExO21zby1tYXJnaW4tdG9wLWFsdDphdXRvOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0bzttc28tbGlzdDpsODkKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWw0IGxmbzI7dGFiLXN0b3BzOiBsaXN0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIuMGluIj48c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SEFMX1NEX1JlYWRCbG9ja3NfPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkRNQSg8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPik8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjojMTExMTExO21zby1tYXJnaW4tdG9wLWFsdDphdXRvOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0bzttc28tbGlzdDpsODkKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWw0IGxmbzI7dGFiLXN0b3BzOiBsaXN0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIuMGluIj48c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SEFMX1NEX1dyaXRlQmxvY2tzXzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5ETUEoPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4pPG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IHJnYigxNywgMTcsIDE3KTsiPjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwLjVwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9TRF9SZWFkQmxvY2tzXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMC41cHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5ETUEoPC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMC41cHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4pPG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IHJnYigxNywgMTcsIDE3KTsiPjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwLjVwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9TRF9Xcml0ZUJsb2Nrc188L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTAuNXB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RE1BKDwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTAuNXB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+KTxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjojMTExMTExO21zby1tYXJnaW4tdG9wLWFsdDphdXRvOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG87bXNvLWxpc3Q6bDg5Ci0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXZlbDMgbGZvMjt0YWItc3RvcHM6IGxpc3QKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+QWRkIHRoZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IHJnYigxNywgMTcsIDE3KTsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwLjVwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZCB0aGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxvY2sgc2l6ZSBzZXR0aW5ncyBpbiB0aGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5pdGlhbGl6YXRpb24gZnVuY3Rpb25zIGFuZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZW1vdmUgaXQgZnJvbSByZWFkL3dyaXRlCkBAIC0xOTM1LDMyNiArNzI3LDIwIEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlY29uZmlndXJhdGlvbiwgdXBkYXRlZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbnM6PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6IzExMTExMTttc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG87bXNvLWxpc3Q6bDg5Ci0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsNCBsZm8yO3RhYi1zdG9wczogbGlzdAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyLjBpbiI+PHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkhBTF9TRF88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SW5pdENhcmQoPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4pPG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6IzExMTExMTttc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG87bXNvLWxpc3Q6bDg5Ci0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsNCBsZm8yO3RhYi1zdG9wczogbGlzdAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyLjBpbiI+PHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkhBTF9TRF88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+R2V0Q2FyZFN0YXR1cyg8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPik8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjojMTExMTExO21zby1tYXJnaW4tdG9wLWFsdDphdXRvOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0bzttc28tbGlzdDpsODkKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWw0IGxmbzI7dGFiLXN0b3BzOiBsaXN0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIuMGluIj48c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SEFMX1NEXzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5Db25maWdXaWRlQnVzT3BlcmF0aW9uKDwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+KSZuYnNwOzxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOiMxMTExMTE7bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvO21zby1saXN0Omw4OQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXZlbDQgbGZvMjt0YWItc3RvcHM6IGxpc3QKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMi4waW4iPjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5IQUxfU0RfPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlJlYWRCbG9ja3MoPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4pPG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6IzExMTExMTttc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG87bXNvLWxpc3Q6bDg5Ci0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsNCBsZm8yO3RhYi1zdG9wczogbGlzdAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyLjBpbiI+PHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkhBTF9TRF88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+V3JpdGVCbG9ja3MoPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4pPG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6IzExMTExMTttc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG87bXNvLWxpc3Q6bDg5Ci0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsNCBsZm8yO3RhYi1zdG9wczogbGlzdAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyLjBpbiI+PHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkhBTF9TRF9SZWFkQmxvY2tzXzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5JVCg8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPik8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjojMTExMTExO21zby1tYXJnaW4tdG9wLWFsdDphdXRvOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0bzttc28tbGlzdDpsODkKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWw0IGxmbzI7dGFiLXN0b3BzOiBsaXN0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIuMGluIj48c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SEFMX1NEX1dyaXRlQmxvY2tzXzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5JVCg8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPik8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjojMTExMTExO21zby1tYXJnaW4tdG9wLWFsdDphdXRvOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0bzttc28tbGlzdDpsODkKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWw0IGxmbzI7dGFiLXN0b3BzOiBsaXN0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIuMGluIj48c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SEFMX1NEX1JlYWRCbG9ja3NfPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkRNQSg8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPik8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjojMTExMTExO21zby1tYXJnaW4tdG9wLWFsdDphdXRvOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0bzttc28tbGlzdDpsODkKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWw0IGxmbzI7dGFiLXN0b3BzOiBsaXN0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIuMGluIj48c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SEFMX1NEX1dyaXRlQmxvY2tzXzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5ETUEoPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4pPG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IHJnYigxNywgMTcsIDE3KTsiPjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwLjVwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9TRF88L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTAuNXB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SW5pdENhcmQoPC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMC41cHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4pPG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IHJnYigxNywgMTcsIDE3KTsiPjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwLjVwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9TRF88L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTAuNXB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+R2V0Q2FyZFN0YXR1cyg8L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwLjVwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPik8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogcmdiKDE3LCAxNywgMTcpOyI+PHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTAuNXB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX1NEXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMC41cHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5Db25maWdXaWRlQnVzT3BlcmF0aW9uKDwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTAuNXB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+KSZuYnNwOzxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiByZ2IoMTcsIDE3LCAxNyk7Ij48c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMC41cHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfU0RfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwLjVwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlJlYWRCbG9ja3MoPC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMC41cHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4pPG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IHJnYigxNywgMTcsIDE3KTsiPjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwLjVwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9TRF88L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTAuNXB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+V3JpdGVCbG9ja3MoPC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMC41cHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4pPG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IHJnYigxNywgMTcsIDE3KTsiPjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwLjVwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9TRF9SZWFkQmxvY2tzXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMC41cHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5JVCg8L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwLjVwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPik8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogcmdiKDE3LCAxNywgMTcpOyI+PHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTAuNXB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX1NEX1dyaXRlQmxvY2tzXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMC41cHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5JVCg8L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwLjVwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPik8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogcmdiKDE3LCAxNywgMTcpOyI+PHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTAuNXB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX1NEX1JlYWRCbG9ja3NfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwLjVwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkRNQSg8L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwLjVwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPik8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogcmdiKDE3LCAxNywgMTcpOyI+PHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTAuNXB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX1NEX1dyaXRlQmxvY2tzXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMC41cHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5ETUEoPC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMC41cHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4pPG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6IzExMTExMTttc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0bzttc28tbGlzdDpsODkKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXZlbDIgbGZvMjt0YWItc3RvcHM6bGlzdAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEuMGluIj48c3Ryb25nPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5IQUwmbmJzcDtNTUM8L3NwYW4+PC9zdHJvbmc+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+IHVwZGF0ZTxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IHJnYigxNywgMTcsIDE3KTsiPjxzdHJvbmc+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTAuNXB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMJm5ic3A7TU1DPC9zcGFuPjwvc3Ryb25nPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwLjVwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPiB1cGRhdGU8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjojMTExMTExO21zby1tYXJnaW4tdG9wLWFsdDphdXRvOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG87bXNvLWxpc3Q6bDg5Ci0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXZlbDMgbGZvMjt0YWItc3RvcHM6IGxpc3QKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+QWRkIHRoZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IHJnYigxNywgMTcsIDE3KTsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwLjVwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZCB0aGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxvY2sgc2l6ZSBzZXR0aW5ncyBpbiB0aGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5pdGlhbGl6YXRpb24gZnVuY3Rpb24gYW5kCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbW92ZSBpdCBmcm9tIHJlYWQvd3JpdGUKQEAgLTIyNjMsMjQyICs3NDksMTcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVjb25maWd1cmF0aW9uLCB1cGRhdGVkCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uczo8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjojMTExMTExO21zby1tYXJnaW4tdG9wLWFsdDphdXRvOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0bzttc28tbGlzdDpsODkKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWw0IGxmbzI7dGFiLXN0b3BzOiBsaXN0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIuMGluIj48c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SEFMX01NQ188L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SW5pdENhcmQoPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4pPG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6IzExMTExMTttc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG87bXNvLWxpc3Q6bDg5Ci0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsNCBsZm8yO3RhYi1zdG9wczogbGlzdAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyLjBpbiI+PHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkhBTF9NTUNfPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlJlYWRCbG9ja3MoPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4pPG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6IzExMTExMTttc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG87bXNvLWxpc3Q6bDg5Ci0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsNCBsZm8yO3RhYi1zdG9wczogbGlzdAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyLjBpbiI+PHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkhBTF9NTUNfPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPldyaXRlQmxvY2tzKDwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+KTxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOiMxMTExMTE7bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvO21zby1saXN0Omw4OQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXZlbDQgbGZvMjt0YWItc3RvcHM6IGxpc3QKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMi4waW4iPjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5IQUxfTU1DX1JlYWRCbG9ja3NfPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPklUKDwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+KTxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOiMxMTExMTE7bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvO21zby1saXN0Omw4OQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXZlbDQgbGZvMjt0YWItc3RvcHM6IGxpc3QKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMi4waW4iPjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5IQUxfTU1DX1dyaXRlQmxvY2tzXzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5JVCg8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPik8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjojMTExMTExO21zby1tYXJnaW4tdG9wLWFsdDphdXRvOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0bzttc28tbGlzdDpsODkKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWw0IGxmbzI7dGFiLXN0b3BzOiBsaXN0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIuMGluIj48c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SEFMX01NQ19SZWFkQmxvY2tzXzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5ETUEoPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4pPG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6IzExMTExMTttc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG87bXNvLWxpc3Q6bDg5Ci0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsNCBsZm8yO3RhYi1zdG9wczogbGlzdAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyLjBpbiI+PHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkhBTF9NTUNfV3JpdGVCbG9ja3NfPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkRNQSg8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPik8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogcmdiKDE3LCAxNywgMTcpOyI+PHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTAuNXB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX01NQ188L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTAuNXB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SW5pdENhcmQoPC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMC41cHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4pPG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IHJnYigxNywgMTcsIDE3KTsiPjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwLjVwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9NTUNfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwLjVwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlJlYWRCbG9ja3MoPC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMC41cHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4pPG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IHJnYigxNywgMTcsIDE3KTsiPjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwLjVwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9NTUNfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwLjVwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPldyaXRlQmxvY2tzKDwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTAuNXB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+KTxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiByZ2IoMTcsIDE3LCAxNyk7Ij48c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMC41cHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfTU1DX1JlYWRCbG9ja3NfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwLjVwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPklUKDwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTAuNXB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+KTxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiByZ2IoMTcsIDE3LCAxNyk7Ij48c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMC41cHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfTU1DX1dyaXRlQmxvY2tzXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMC41cHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5JVCg8L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwLjVwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPik8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogcmdiKDE3LCAxNywgMTcpOyI+PHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTAuNXB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX01NQ19SZWFkQmxvY2tzXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMC41cHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5ETUEoPC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMC41cHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4pPG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IHJnYigxNywgMTcsIDE3KTsiPjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwLjVwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9NTUNfV3JpdGVCbG9ja3NfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwLjVwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkRNQSg8L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwLjVwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPik8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6IzExMTExMTttc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvO21zby1saXN0Omw4OQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWwzIGxmbzI7dGFiLXN0b3BzOiBsaXN0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlVwZGF0ZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IHJnYigxNywgMTcsIDE3KTsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwLjVwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWFkL3dyaXRlIGZ1bmN0aW9ucyBpbiBETUEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9kZSA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPmluCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vZGUgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPmluCiAKIAogCkBAIC0yNTA2LDE3OSArNzY3LDM1IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcmNlIHRoZSBETUEgZGlyZWN0aW9uLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGVkIGZ1bmN0aW9uczo8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjojMTExMTExO21zby1tYXJnaW4tdG9wLWFsdDphdXRvOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0bzttc28tbGlzdDpsODkKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWw0IGxmbzI7dGFiLXN0b3BzOiBsaXN0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIuMGluIj48c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SEFMX01NQ19SZWFkQmxvY2tzXzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5ETUEoPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4pPG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6IzExMTExMTttc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG87bXNvLWxpc3Q6bDg5Ci0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsNCBsZm8yO3RhYi1zdG9wczogbGlzdAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyLjBpbiI+PHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkhBTF9NTUNfV3JpdGVCbG9ja3NfPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkRNQSg8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPik8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogcmdiKDE3LCAxNywgMTcpOyI+PHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTAuNXB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX01NQ19SZWFkQmxvY2tzXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMC41cHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5ETUEoPC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMC41cHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4pPG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IHJnYigxNywgMTcsIDE3KTsiPjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwLjVwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9NTUNfV3JpdGVCbG9ja3NfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwLjVwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkRNQSg8L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwLjVwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPik8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6IzExMTExMTttc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvO21zby1saXN0Omw4OQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWwzIGxmbzI7dGFiLXN0b3BzOiBsaXN0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkRlcGxveSBuZXcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb25zIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPk1NQ188L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+UmVhZEV4dENTRCg8L3NwYW4+PC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi1zdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5TRE1NQ19DbWRTZW5kRVhUQ1NEPC9zcGFuPjwvc3Bhbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiByZ2IoMTcsIDE3LCAxNyk7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMC41cHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5EZXBsb3kgbmV3CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9ucyA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPk1NQ188L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5SZWFkRXh0Q1NEKDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5TRE1NQ19DbWRTZW5kRVhUQ1NEPC9zcGFuPjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCkgdGhhdCByZWFkIGFuZCBjaGVjayB0aGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VjdG9ycyZuYnNwO251bWJlciBvZiB0aGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGV2aWNlIGluIG9yZGVyIHRvIHJlc29sdmUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIGlzc3VlIG9mIHdyb25nbHkgcmVhZGluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiaWcgbWVtb3J5IHNpemUuPG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOiMxMTExMTE7bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG87bXNvLWxpc3Q6bDg5Ci0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWwyIGxmbzI7dGFiLXN0b3BzOmxpc3QKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLjBpbiI+PGI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkhBTCBOQU5ECisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IHJnYigxNywgMTcsIDE3KTsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwLjVwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTCBOQU5ECiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZTxvOnA+PC9vOnA+PC9zcGFuPjwvYj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjojMTExMTExO21zby1tYXJnaW4tdG9wLWFsdDphdXRvOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG87bXNvLWxpc3Q6bDg5Ci0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXZlbDMgbGZvMjt0YWItc3RvcHM6IGxpc3QKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+VXBkYXRlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogcmdiKDE3LCAxNywgMTcpOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTAuNXB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXBkYXRlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9ucwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUxfTkFORF9SZWFkX1NwYXJlQXJlYV8xNjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+Yig8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX05BTkRfUmVhZF9TcGFyZUFyZWFfMTY8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Yig8L3NwYW4+PC9zcGFuPikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9OQU5EX1dyaXRlX1NwYXJlQXJlYV8xNmIoKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0byBmaXggY29sdW1uIGFkZHJlc3MKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FsY3VsYXRpb24gaXNzdWUuPG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOiMxMTExMTE7bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG87bXNvLWxpc3Q6bDg5Ci0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWwyIGxmbzI7dGFiLXN0b3BzOmxpc3QKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLjBpbiI+PHN0cm9uZz48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+TEwgU0RNTUMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlPC9zcGFuPjwvc3Ryb25nPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IHJnYigxNywgMTcsIDE3KTsiPjxzdHJvbmc+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTAuNXB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+TEwgU0RNTUMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlPC9zcGFuPjwvc3Ryb25nPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwLjVwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOiMxMTExMTE7bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0bzttc28tbGlzdDpsODkKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsMyBsZm8yO3RhYi1zdG9wczogbGlzdAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5VcGRhdGUgdGhlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogcmdiKDE3LCAxNywgMTcpOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTAuNXB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXBkYXRlIHRoZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWZpbml0aW9uIG9mCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNETU1DX0RBVEFUSU1FT1VUIGNvbnN0YW50IDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+aW4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU0RNTUNfREFUQVRJTUVPVVQgY29uc3RhbnQgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPmluCiAKIAogCkBAIC0yNjg2LDY0MSArODAzLDEzNSBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGxvdyB0aGUgdXNlciB0byByZWRlZmluZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdCBpbiBoaXMgcHJvcGVyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFwcGxpY2F0aW9uLjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6IzExMTExMTttc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvO21zby1saXN0Omw4OQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWwzIGxmbzI7dGFiLXN0b3BzOiBsaXN0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlJlbW92ZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IHJnYigxNywgMTcsIDE3KTsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwLjVwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlJlbW92ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVnaXN0ZXInIHN0b3JhZ2UgY2xhc3MKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3BlY2lmaWVyIGZyb20gTEwgU0RNTUMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZHJpdmVyLjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6IzExMTExMTttc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvO21zby1saXN0Omw4OQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWwzIGxmbzI7dGFiLXN0b3BzOiBsaXN0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkRlcGxveSBuZXcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb25zIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPk1NQ188L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+UmVhZEV4dENTRCg8L3NwYW4+PC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi1zdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5TRE1NQ19DbWRTZW5kRVhUQ1NEPC9zcGFuPjwvc3Bhbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiByZ2IoMTcsIDE3LCAxNyk7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMC41cHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5EZXBsb3kgbmV3CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9ucyA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPk1NQ188L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5SZWFkRXh0Q1NEKDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5TRE1NQ19DbWRTZW5kRVhUQ1NEPC9zcGFuPjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCkgdGhhdCByZWFkIGFuZCBjaGVjayB0aGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VjdG9ycyBudW1iZXIgb2YgdGhlIGRldmljZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBvcmRlciB0byByZXNvbHZlIHRoZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc3N1ZSBvZiB3cm9uZ2x5IHJlYWRpbmcgYmlnCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lbW9yeSBzaXplLjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjojMTExMTExO21zby1tYXJnaW4tdG9wLWFsdDphdXRvOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvO21zby1saXN0Omw4OQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsMiBsZm8yO3RhYi1zdG9wczpsaXN0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMS4waW4iPjxzdHJvbmc+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkhBTCBTTUJVUzwvc3Bhbj48L3N0cm9uZz48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4mbmJzcDt1cGRhdGU8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiByZ2IoMTcsIDE3LCAxNyk7Ij48c3Ryb25nPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwLjVwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTCBTTUJVUzwvc3Bhbj48L3N0cm9uZz48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMC41cHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4mbmJzcDt1cGRhdGU8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjojMTExMTExO21zby1tYXJnaW4tdG9wLWFsdDphdXRvOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG87bXNvLWxpc3Q6bDg5Ci0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXZlbDMgbGZvMjt0YWItc3RvcHM6IGxpc3QKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+U3VwcG9ydCBmb3IKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiByZ2IoMTcsIDE3LCAxNyk7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMC41cHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5TdXBwb3J0IGZvcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGYXN0IE1vZGUgUGx1cyB0byBiZSBTTUJVUwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXYgMyBjb21wbGlhbnQuPG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjojMTExMTExO21zby1tYXJnaW4tdG9wLWFsdDphdXRvOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG87bXNvLWxpc3Q6bDg5Ci0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXZlbDMgbGZvMjt0YWItc3RvcHM6IGxpc3QKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+QWRkZWQgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX0ZNUFNNQlVTRXhfPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkVuYWJsZUZhc3RNb2RlUGx1cyg8L3NwYW4+PC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi1zdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5IQUxfRk1QU01CVVNFeF9EaXNhYmxlRmFzdE1vZGVQbHVzPC9zcGFuPjwvc3Bhbj4oKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IHJnYigxNywgMTcsIDE3KTsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwLjVwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZGVkIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX0ZNUFNNQlVTRXhfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RW5hYmxlRmFzdE1vZGVQbHVzKDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfRk1QU01CVVNFeF9EaXNhYmxlRmFzdE1vZGVQbHVzPC9zcGFuPjwvc3Bhbj4oKQogCiAKIAogCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFQSXMgdG8gbWFuYWdlIEZtKy48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOiMxMTExMTE7bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0bzttc28tbGlzdDpsODkKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsMyBsZm8yO3RhYi1zdG9wczogbGlzdAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5VcGRhdGVkIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPlNNQlVTX01hc3RlclRyYW5zbWl0Xzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5CVEYoPC9zcGFuPjwvc3Bhbj4pCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICwgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4KLXN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPlNNQlVTX01hc3RlclRyYW5zbWl0X1RYRTwvc3Bhbj48L3NwYW4+KCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiByZ2IoMTcsIDE3LCAxNyk7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMC41cHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGVkIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+U01CVVNfTWFzdGVyVHJhbnNtaXRfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QlRGKDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+U01CVVNfTWFzdGVyVHJhbnNtaXRfVFhFPC9zcGFuPjwvc3Bhbj4oKQogCiAKIAogCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3Bhbgotc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+U01CVVNfTWFzdGVyUmVjZWl2ZV9CVEY8L3NwYW4+PC9zcGFuPigpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlNNQlVTX01hc3RlclJlY2VpdmVfQlRGPC9zcGFuPjwvc3Bhbj4oKQogCiAKIAogCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFQSXMgdG8mbmJzcDthbGxvdyBzdG9wCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdlbmVyYXRpb24gd2hlbiA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5DdXJyZW50WGZlck9wdGlvbnM8L3NwYW4+PC9zcGFuPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZW5lcmF0aW9uIHdoZW4gPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5DdXJyZW50WGZlck9wdGlvbnM8L3NwYW4+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpcyBkaWZmZXJlbnQgZnJvbQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTTUJVU19GSVJTVF9GUkFNRSBhbmQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU01CVVNfTkVYVF9GUkFNRS48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOiMxMTExMTE7bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0bzttc28tbGlzdDpsODkKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsMyBsZm8yO3RhYi1zdG9wczogbGlzdAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5VcGRhdGVkIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPlNNQlVTXzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5JVEVycm9yKDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IHJnYigxNywgMTcsIDE3KTsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwLjVwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZWQgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5TTUJVU188L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5JVEVycm9yKDwvc3Bhbj48L3NwYW4+KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBUEkgdG8gY29ycmVjdCB0aGUgdHdpY2UKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FsbCBvZiA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5IQUxfU01CVVNfRXJyb3JDYWxsYmFjazwvc3Bhbj48L3NwYW4+LjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhbGwgb2YgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfU01CVVNfRXJyb3JDYWxsYmFjazwvc3Bhbj48L3NwYW4+LjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjojMTExMTExO21zby1tYXJnaW4tdG9wLWFsdDphdXRvOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvO21zby1saXN0Omw4OQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsMiBsZm8yO3RhYi1zdG9wczpsaXN0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMS4waW4iPjxzdHJvbmc+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkhBTCBTUEk8L3NwYW4+PC9zdHJvbmc+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+Jm5ic3A7dXBkYXRlPG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogcmdiKDE3LCAxNywgMTcpOyI+PHN0cm9uZz48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMC41cHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwgU1BJPC9zcGFuPjwvc3Ryb25nPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwLjVwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPiZuYnNwO3VwZGF0ZTxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOiMxMTExMTE7bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0bzttc28tbGlzdDpsODkKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsMyBsZm8yO3RhYi1zdG9wczogbGlzdAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5VcGRhdGVkIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkhBTF9TUElfPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkluaXQoPC9zcGFuPjwvc3Bhbj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogcmdiKDE3LCAxNywgMTcpOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTAuNXB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXBkYXRlZCA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9TUElfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SW5pdCg8L3NwYW4+PC9zcGFuPikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVBJPG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6IzExMTExMTttc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG87bXNvLWxpc3Q6bDg5Ci0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsNCBsZm8yO3RhYi1zdG9wczogbGlzdAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlRvIGF2b2lkCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0dGluZyB0aGUgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkJhdWRSYXRlUHJlc2NhbGVyPC9zcGFuPjwvc3Bhbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IHJnYigxNywgMTcsIDE3KTsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwLjVwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlRvIGF2b2lkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0dGluZyB0aGUgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5CYXVkUmF0ZVByZXNjYWxlcjwvc3Bhbj48L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gY2FzZSBvZiBTbGF2ZSBNb3Rvcm9sYQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1vZGUuPG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6IzExMTExMTttc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG87bXNvLWxpc3Q6bDg5Ci0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsNCBsZm8yO3RhYi1zdG9wczogbGlzdAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlVzZSB0aGUgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+Yml0LW1hc2s8L3NwYW4+PC9zcGFuPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogcmdiKDE3LCAxNywgMTcpOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTAuNXB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXNlIHRoZSA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Yml0LW1hc2s8L3NwYW4+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciBTUEkgY29uZmlndXJhdGlvbi48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6IzExMTExMTttc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvO21zby1saXN0Omw4OQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWwzIGxmbzI7dGFiLXN0b3BzOiBsaXN0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlVwZGF0ZWQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiByZ2IoMTcsIDE3LCAxNyk7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMC41cHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGVkCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRyYW5zbWl0L1JlY2VpdmUgcHJvY2Vzc2VzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIGhhbGYtZHVwbGV4IDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+bW9kZTwvc3Bhbj48L3NwYW4+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gaGFsZi1kdXBsZXggPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPm1vZGU8L3NwYW4+PC9zcGFuPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOiMxMTExMTE7bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvO21zby1saXN0Omw4OQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXZlbDQgbGZvMjt0YWItc3RvcHM6IGxpc3QKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMi4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5EaXNhYmxlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiByZ2IoMTcsIDE3LCAxNyk7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMC41cHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5EaXNhYmxlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIFNQSSBpbnN0YW5jZSBiZWZvcmUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXR0aW5nIEJESU9FIGJpdC48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6IzExMTExMTttc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvO21zby1saXN0Omw4OQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWwzIGxmbzI7dGFiLXN0b3BzOiBsaXN0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkZpeGVkIHdyb25nCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpbWVvdXQgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3Bhbgotc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+bWFuYWdlbWVudDwvc3Bhbj48L3NwYW4+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjojMTExMTExO21zby1tYXJnaW4tdG9wLWFsdDphdXRvOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG87bXNvLWxpc3Q6bDg5Ci0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXZlbDMgbGZvMjt0YWItc3RvcHM6IGxpc3QKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+Q2FsY3VsYXRlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogcmdiKDE3LCAxNywgMTcpOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTAuNXB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Rml4ZWQgd3JvbmcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGltZW91dCA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+bWFuYWdlbWVudDwvc3Bhbj48L3NwYW4+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiByZ2IoMTcsIDE3LCAxNyk7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMC41cHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5DYWxjdWxhdGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGltZW91dCBiYXNlZCBvbiBhIHNvZnR3YXJlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvb3AgdG8gYXZvaWQgYmxvY2tpbmcgaXNzdWUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4KLXN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPlN5c3RpY2s8L3NwYW4+PC9zcGFuPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlN5c3RpY2s8L3NwYW4+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpcyBkaXNhYmxlZC48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6IzExMTExMTttc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0bzttc28tbGlzdDpsODkKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXZlbDIgbGZvMjt0YWItc3RvcHM6bGlzdAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEuMGluIj48c3Ryb25nPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5IQUwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU1BESUZSWCZuYnNwOzwvc3Bhbj48L3N0cm9uZz48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij51cGRhdGU8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiByZ2IoMTcsIDE3LCAxNyk7Ij48c3Ryb25nPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwLjVwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTUERJRlJYJm5ic3A7PC9zcGFuPjwvc3Ryb25nPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwLjVwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZTxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOiMxMTExMTE7bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0bzttc28tbGlzdDpsODkKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsMyBsZm8yO3RhYi1zdG9wczogbGlzdAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5SZW1vdmUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiByZ2IoMTcsIDE3LCAxNyk7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMC41cHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5SZW1vdmUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlZ2lzdGVyJyBzdG9yYWdlIGNsYXNzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNwZWNpZmllciBmcm9tIEhBTCBTUERJRlJYCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRyaXZlci48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6IzExMTExMTttc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0bzttc28tbGlzdDpsODkKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXZlbDIgbGZvMjt0YWItc3RvcHM6bGlzdAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEuMGluIj48c3Ryb25nPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5IQUwgSTJTPC9zcGFuPjwvc3Ryb25nPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPiZuYnNwO3VwZGF0ZTxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IHJnYigxNywgMTcsIDE3KTsiPjxzdHJvbmc+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTAuNXB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMIEkyUzwvc3Bhbj48L3N0cm9uZz48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMC41cHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4mbmJzcDt1cGRhdGU8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjojMTExMTExO21zby1tYXJnaW4tdG9wLWFsdDphdXRvOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG87bXNvLWxpc3Q6bDg5Ci0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXZlbDMgbGZvMjt0YWItc3RvcHM6IGxpc3QKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+VXBkYXRlZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IHJnYigxNywgMTcsIDE3KTsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwLjVwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZWQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSTJTRXggQVBJcyB0byBjb3JyZWN0bHkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3VwcG9ydCBjaXJjdWxhciA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPnRyYW5zZmVyczwvc3Bhbj48L3NwYW4+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3VwcG9ydCBjaXJjdWxhciA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dHJhbnNmZXJzPC9zcGFuPjwvc3Bhbj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjojMTExMTExO21zby1tYXJnaW4tdG9wLWFsdDphdXRvOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0bzttc28tbGlzdDpsODkKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWw0IGxmbzI7dGFiLXN0b3BzOiBsaXN0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+VXBkYXRlZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEkyU0V4XzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4KLXN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPlR4UnhETUFDcGx0KDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogcmdiKDE3LCAxNywgMTcpOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTAuNXB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXBkYXRlZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEkyU0V4XzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5UeFJ4RE1BQ3BsdCg8L3NwYW4+PC9zcGFuPikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBUEkgdG8gbWFuYWdlIERNQSBjaXJjdWxhcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vZGUuPG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOiMxMTExMTE7bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0bzttc28tbGlzdDpsODkKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsMyBsZm8yO3RhYi1zdG9wczogbGlzdAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5VcGRhdGVkCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9JMlNFeF9UcmFuc21pdFJlY2VpdmVfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5ETUEoPC9zcGFuPjwvc3Bhbj4pCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFQSSB0byBzZXQgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+aGRtYXR4PC9zcGFuPjwvc3Bhbj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi1zdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj50cmFuc2ZlcnQ8L3NwYW4+PC9zcGFuPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IHJnYigxNywgMTcsIDE3KTsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwLjVwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZWQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX0kyU0V4X1RyYW5zbWl0UmVjZWl2ZV88c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RE1BKDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBUEkgdG8gc2V0IDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+aGRtYXR4PC9zcGFuPjwvc3Bhbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dHJhbnNmZXJ0PC9zcGFuPjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2sgYW5kIGhhbGYpIHRvIE5VTEwuPG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOiMxMTExMTE7bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG87bXNvLWxpc3Q6bDg5Ci0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWwyIGxmbzI7dGFiLXN0b3BzOmxpc3QKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLjBpbiI+PHN0cm9uZz48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SEFMIFNBSTwvc3Bhbj48L3N0cm9uZz48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4mbmJzcDt1cGRhdGU8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiByZ2IoMTcsIDE3LCAxNyk7Ij48c3Ryb25nPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwLjVwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTCBTQUk8L3NwYW4+PC9zdHJvbmc+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTAuNXB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Jm5ic3A7dXBkYXRlPG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6IzExMTExMTttc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvO21zby1saXN0Omw4OQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWwzIGxmbzI7dGFiLXN0b3BzOiBsaXN0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlVwZGF0ZWQgdG8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiByZ2IoMTcsIDE3LCAxNyk7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMC41cHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGVkIHRvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF2b2lkIHRoZSBpbmNvcnJlY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVmdC9yaWdodCBzeW5jaHJvbml6YXRpb24uPG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6IzExMTExMTttc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG87bXNvLWxpc3Q6bDg5Ci0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsNCBsZm8yO3RhYi1zdG9wczogbGlzdAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlVwZGF0ZWQgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkhBTF9TQUlfVHJhbnNtaXRfPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5ETUEoPC9zcGFuPjwvc3Bhbj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiByZ2IoMTcsIDE3LCAxNyk7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMC41cHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGVkIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX1NBSV9UcmFuc21pdF88L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5ETUEoPC9zcGFuPjwvc3Bhbj4pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVBJIHRvIGZvbGxvdyB0aGUgc2VxdWVuY2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmliZWQgaW4gdGhlIHJlZmVyZW5jZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hbnVhbCBmb3Igc2xhdmUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc21pdHRlciBtb2RlLjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjojMTExMTExO21zby1tYXJnaW4tdG9wLWFsdDphdXRvOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG87bXNvLWxpc3Q6bDg5Ci0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXZlbDMgbGZvMjt0YWItc3RvcHM6IGxpc3QKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+VXBkYXRlZCA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5IQUxfU0FJXzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5Jbml0KDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IHJnYigxNywgMTcsIDE3KTsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwLjVwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZWQgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfU0FJXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkluaXQoPC9zcGFuPjwvc3Bhbj4pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFQSSB0byBjb3JyZWN0IHRoZSBmb3JtdWxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIGNhc2Ugb2YgU1BESUYgaXMgd3JvbmcuPG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOiMxMTExMTE7bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG87bXNvLWxpc3Q6bDg5Ci0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWwyIGxmbzI7dGFiLXN0b3BzOmxpc3QKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLjBpbiI+PHN0cm9uZz48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SEFMIENSWVA8L3NwYW4+PC9zdHJvbmc+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+Jm5ic3A7dXBkYXRlPG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogcmdiKDE3LCAxNywgMTcpOyI+PHN0cm9uZz48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMC41cHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwgQ1JZUDwvc3Bhbj48L3N0cm9uZz48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMC41cHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4mbmJzcDt1cGRhdGU8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjojMTExMTExO21zby1tYXJnaW4tdG9wLWFsdDphdXRvOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG87bXNvLWxpc3Q6bDg5Ci0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXZlbDMgbGZvMjt0YWItc3RvcHM6IGxpc3QKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+VXBkYXRlZCA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5IQUxfQ1JZUF88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+U2V0Q29uZmlnKDwvc3Bhbj48L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4KLXN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkhBTF9DUllQX0dldENvbmZpZzwvc3Bhbj48L3NwYW4+KCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiByZ2IoMTcsIDE3LCAxNyk7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMC41cHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGVkIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX0NSWVBfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+U2V0Q29uZmlnKDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfQ1JZUF9HZXRDb25maWc8L3NwYW4+PC9zcGFuPigpCiAKIAogCiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVBJcyB0byBzZXQvZ2V0IHRoZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250aW5lbnQgb2YgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+S2V5SVZDb25maWdTa2lwPC9zcGFuPjwvc3Bhbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGluZW50IG9mIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+S2V5SVZDb25maWdTa2lwPC9zcGFuPjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29ycmVjdGx5LjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjojMTExMTExO21zby1tYXJnaW4tdG9wLWFsdDphdXRvOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvO21zby1saXN0Omw4OQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsMiBsZm8yO3RhYi1zdG9wczpsaXN0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMS4waW4iPjxzdHJvbmc+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkhBTCBFWFRJPC9zcGFuPjwvc3Ryb25nPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPiZuYnNwO3VwZGF0ZTxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IHJnYigxNywgMTcsIDE3KTsiPjxzdHJvbmc+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTAuNXB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMIEVYVEk8L3NwYW4+PC9zdHJvbmc+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTAuNXB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Jm5ic3A7dXBkYXRlPG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6IzExMTExMTttc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvO21zby1saXN0Omw4OQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWwzIGxmbzI7dGFiLXN0b3BzOiBsaXN0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPl9fRVhUSV9MSU5FX18KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiByZ2IoMTcsIDE3LCAxNyk7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMC41cHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5fX0VYVElfTElORV9fCiAKIAogCkBAIC0zMzI4LDIxMzMgKzkzOSw1MDIgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19MSU5FX18gd2hpY2ggaXMgYSBzdGFuZGFyZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDIG1hY3JvLjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjojMTExMTExO21zby1tYXJnaW4tdG9wLWFsdDphdXRvOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvO21zby1saXN0Omw4OQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsMiBsZm8yO3RhYi1zdG9wczpsaXN0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMS4waW4iPjxzdHJvbmc+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkhBTCBEQ01JPC9zcGFuPjwvc3Ryb25nPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IHJnYigxNywgMTcsIDE3KTsiPjxzdHJvbmc+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTAuNXB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMIERDTUk8L3NwYW4+PC9zdHJvbmc+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTAuNXB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6IzExMTExMTttc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvO21zby1saXN0Omw4OQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWwzIGxmbzI7dGFiLXN0b3BzOiBsaXN0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlN1cHBvcnQgb2YKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiByZ2IoMTcsIDE3LCAxNyk7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMC41cHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5TdXBwb3J0IG9mCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTCBjYWxsYmFjayByZWdpc3RyYXRpb24KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmVhdHVyZSBmb3IgRENNSSBleHRlbmRlZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkcml2ZXIuPG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOiMxMTExMTE7bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG87bXNvLWxpc3Q6bDg5Ci0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWwyIGxmbzI7dGFiLXN0b3BzOmxpc3QKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLjBpbiI+PHN0cm9uZz48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SEFML0xMIFRJTTwvc3Bhbj48L3N0cm9uZz48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4mbmJzcDt1cGRhdGU8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiByZ2IoMTcsIDE3LCAxNyk7Ij48c3Ryb25nPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwLjVwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTC9MTCBUSU08L3NwYW4+PC9zdHJvbmc+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTAuNXB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Jm5ic3A7dXBkYXRlPG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6IzExMTExMTttc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvO21zby1saXN0Omw4OQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWwzIGxmbzI7dGFiLXN0b3BzOiBsaXN0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlVwZGF0ZWQgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX1RJTUV4X09uZVB1bHNlTl88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+U3RhcnQoPC9zcGFuPjwvc3Bhbj4pCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3Bhbgotc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX1RJTUV4X09uZVB1bHNlTl9TdG9wPC9zcGFuPjwvc3Bhbj4oKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IHJnYigxNywgMTcsIDE3KTsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwLjVwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZWQgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfVElNRXhfT25lUHVsc2VOXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlN0YXJ0KDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfVElNRXhfT25lUHVsc2VOX1N0b3A8L3NwYW4+PC9zcGFuPigpCiAKIAogCiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVBJcyAocG9vbGluZyBhbmQgSVQgbW9kZSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gdGFrZSBpbnRvIGNvbnNpZGVyYXRpb24KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxsIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi1zdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5PdXRwdXRDaGFubmVsPC9zcGFuPjwvc3Bhbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxsIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+T3V0cHV0Q2hhbm5lbDwvc3Bhbj48L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtZXRlcnMuPG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjojMTExMTExO21zby1tYXJnaW4tdG9wLWFsdDphdXRvOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG87bXNvLWxpc3Q6bDg5Ci0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXZlbDMgbGZvMjt0YWItc3RvcHM6IGxpc3QKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+Q29ycmVjdGVkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogcmdiKDE3LCAxNywgMTcpOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTAuNXB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Q29ycmVjdGVkCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldmVyc2VkIGRlc2NyaXB0aW9uIG9mCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9MTF9FQ19PTkVQVUxTRU1PREUgT25lCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB1bHNlIE1vZGUuPG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjojMTExMTExO21zby1tYXJnaW4tdG9wLWFsdDphdXRvOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG87bXNvLWxpc3Q6bDg5Ci0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXZlbDMgbGZvMjt0YWItc3RvcHM6IGxpc3QKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+VXBkYXRlZCA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5MTF9USU1fPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkdldENvdW50ZXJNb2RlKDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IHJnYigxNywgMTcsIDE3KTsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwLjVwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZWQgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5MTF9USU1fPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+R2V0Q291bnRlck1vZGUoPC9zcGFuPjwvc3Bhbj4pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFQSSB0byByZXR1cm4gdGhlIGNvcnJlY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY291bnRlciBtb2RlLjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjojMTExMTExO21zby1tYXJnaW4tdG9wLWFsdDphdXRvOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvO21zby1saXN0Omw4OQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsMiBsZm8yO3RhYi1zdG9wczpsaXN0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMS4waW4iPjxzdHJvbmc+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkhBTC9MTAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTTUFSVENBUkQ8L3NwYW4+PC9zdHJvbmc+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+Jm5ic3A7dXBkYXRlPG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogcmdiKDE3LCAxNywgMTcpOyI+PHN0cm9uZz48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMC41cHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwvTEwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU01BUlRDQVJEPC9zcGFuPjwvc3Ryb25nPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwLjVwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPiZuYnNwO3VwZGF0ZTxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOiMxMTExMTE7bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0bzttc28tbGlzdDpsODkKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsMyBsZm8yO3RhYi1zdG9wczogbGlzdAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5GaXhlZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IHJnYigxNywgMTcsIDE3KTsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwLjVwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkZpeGVkCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludmFsaWQgaW5pdGlhbGl6YXRpb24gb2YKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU01BUlRDQVJEIGNvbmZpZ3VyYXRpb24gYnkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVtb3ZpbmcgRklGTyBtb2RlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYXRpb24gYXMgaXQgaXMgbm90Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lbWJlciBvZiA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5TTUFSVENBUkRfSW5pdFR5cGVEZWY8L3NwYW4+PC9zcGFuPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZW1iZXIgb2YgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5TTUFSVENBUkRfSW5pdFR5cGVEZWY8L3NwYW4+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdHJ1Y3R1cmUuPG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjojMTExMTExO21zby1tYXJnaW4tdG9wLWFsdDphdXRvOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG87bXNvLWxpc3Q6bDg5Ci0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXZlbDMgbGZvMjt0YWItc3RvcHM6IGxpc3QKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+Rml4ZWQgdHlwb3MKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiByZ2IoMTcsIDE3LCAxNyk7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMC41cHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5GaXhlZCB0eXBvcwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBTTUFSVENBUkQgU3RhdGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmaW5pdGlvbiBkZXNjcmlwdGlvbjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjojMTExMTExO21zby1tYXJnaW4tdG9wLWFsdDphdXRvOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvO21zby1saXN0Omw4OQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsMiBsZm8yO3RhYi1zdG9wczpsaXN0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMS4waW4iPjxzdHJvbmc+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkhBTC9MTCBJUkRBPC9zcGFuPjwvc3Ryb25nPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPiZuYnNwO3VwZGF0ZTxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IHJnYigxNywgMTcsIDE3KTsiPjxzdHJvbmc+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTAuNXB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFML0xMIElSREE8L3NwYW4+PC9zdHJvbmc+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTAuNXB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Jm5ic3A7dXBkYXRlPG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6IzExMTExMTttc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvO21zby1saXN0Omw4OQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWwzIGxmbzI7dGFiLXN0b3BzOiBsaXN0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkZpeGVkIHR5cG9zCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogcmdiKDE3LCAxNywgMTcpOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTAuNXB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Rml4ZWQgdHlwb3MKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gSVJEQSBTdGF0ZSBkZWZpbml0aW9uCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uPG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOiMxMTExMTE7bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG87bXNvLWxpc3Q6bDg5Ci0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWwyIGxmbzI7dGFiLXN0b3BzOmxpc3QKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLjBpbiI+PHN0cm9uZz48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+TEwgVVNBUlQ8L3NwYW4+PC9zdHJvbmc+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+Jm5ic3A7dXBkYXRlPG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogcmdiKDE3LCAxNywgMTcpOyI+PHN0cm9uZz48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMC41cHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5MTCBVU0FSVDwvc3Bhbj48L3N0cm9uZz48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMC41cHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4mbmJzcDt1cGRhdGU8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjojMTExMTExO21zby1tYXJnaW4tdG9wLWFsdDphdXRvOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG87bXNvLWxpc3Q6bDg5Ci0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXZlbDMgbGZvMjt0YWItc3RvcHM6IGxpc3QKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+UmVtb3ZlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogcmdiKDE3LCAxNywgMTcpOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTAuNXB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+UmVtb3ZlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZWxlc3MgY2hlY2sgb24gbWF4aW11bSBCUlIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgYnkgcmVtb3ZpbmcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSVNfTExfVVNBUlRfQlJSXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+TUFYKDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJU19MTF9VU0FSVF9CUlJfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPk1BWCg8L3NwYW4+PC9zcGFuPikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFjcm8uPG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjojMTExMTExO21zby1tYXJnaW4tdG9wLWFsdDphdXRvOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG87bXNvLWxpc3Q6bDg5Ci0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXZlbDMgbGZvMjt0YWItc3RvcHM6IGxpc3QKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+VXBkYXRlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogcmdiKDE3LCAxNywgMTcpOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTAuNXB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXBkYXRlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVTQVJUIHBvbGxpbmcgYW5kCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludGVycnVwdGlvbiBwcm9jZXNzZXMgdG8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZml4IGlzc3VlcyByZWxhdGVkIHRvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjY2Vzc2VzIG91dCBvZiB1c2VyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNwZWNpZmllZCBidWZmZXIuPG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOiMxMTExMTE7bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG87bXNvLWxpc3Q6bDg5Ci0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWwyIGxmbzI7dGFiLXN0b3BzOmxpc3QKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLjBpbiI+PHN0cm9uZz48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SEFMIFVTQjwvc3Bhbj48L3N0cm9uZz48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4mbmJzcDt1cGRhdGU8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiByZ2IoMTcsIDE3LCAxNyk7Ij48c3Ryb25nPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwLjVwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTCBVU0I8L3NwYW4+PC9zdHJvbmc+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTAuNXB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Jm5ic3A7dXBkYXRlPG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6IzExMTExMTttc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvO21zby1saXN0Omw4OQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWwzIGxmbzI7dGFiLXN0b3BzOiBsaXN0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkVuaGFuY2VkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogcmdiKDE3LCAxNywgMTcpOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTAuNXB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RW5oYW5jZWQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVVNCIE9URyBob3N0IEhBTCB3aXRoIFVTQgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBETUEgaXMgZW5hYmxlZDo8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjojMTExMTExO21zby1tYXJnaW4tdG9wLWFsdDphdXRvOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0bzttc28tbGlzdDpsODkKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWw0IGxmbzI7dGFiLXN0b3BzOiBsaXN0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+Zml4ZWQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IHJnYigxNywgMTcsIDE3KTsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwLjVwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPmZpeGVkCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGluZyBhbmQgZGF0YSB0b2dnbGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc3N1ZSw8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjojMTExMTExO21zby1tYXJnaW4tdG9wLWFsdDphdXRvOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0bzttc28tbGlzdDpsODkKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWw0IGxmbzI7dGFiLXN0b3BzOiBsaXN0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+cmV3b3JrZWQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IHJnYigxNywgMTcsIDE3KTsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwLjVwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnJld29ya2VkCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2hhbm5lbCBlcnJvciByZXBvcnQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYW5hZ2VtZW50PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1hcmdpbi1yaWdodDo1MDAuMHB0O2JhY2tncm91bmQ6IzMzNjZGRjstbW96LWJhY2tncm91bmQtY2xpcDoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluaXRpYWw7IC1tb3otYmFja2dyb3VuZC1vcmlnaW46Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbml0aWFsOy1tb3otYmFja2dyb3VuZC1pbmxpbmUtcG9saWN5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5pdGlhbDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb24teDowJTtiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA1MCU7YmFja2dyb3VuZC1hdHRhY2htZW50OiBzY3JvbGwiPjxmb250Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yPSIjZmZmZmZmIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBzdHlsZT0iYmFja2dyb3VuZDogcmdiKDUxLCAxMDIsIDI1NSkgbm9uZSByZXBlYXQgc2Nyb2xsIDAlIDUwJTsgLW1vei1iYWNrZ3JvdW5kLWNsaXA6IC1tb3otaW5pdGlhbDsgLW1vei1iYWNrZ3JvdW5kLW9yaWdpbjogLW1vei1pbml0aWFsOyAtbW96LWJhY2tncm91bmQtaW5saW5lLXBvbGljeTogLW1vei1pbml0aWFsOyBtYXJnaW4tcmlnaHQ6IDUwMHB0OyI+PGZvbnQgY29sb3I9IiNmZmZmZmYiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5WMS43LjEwCiAKIAogCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7O2NvbG9yOndoaXRlIj5WMS43LjEwCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyAyMi1PY3RvYmVyLTIwMjA8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2ZvbnQ+PC9oMz4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOiA0LjVwdCAwaW4gNC41cHQgMC4yNWluOyI+PGI+PHU+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsgY29sb3I6IGJsYWNrOyI+TWFpbiBDaGFuZ2VzPC9zcGFuPjwvdT48L2I+PC9wPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iZGlzYyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkdlbmVyYWwKIAogCiAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvIDIyLU9jdG9iZXItMjAyMDwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGVzIHRvIGZpeCBrbm93biBkZWZlY3RzLjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwvTEwKIAogCiAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvZm9udD48L2gzPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tcmlnaHQ6MGluO21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttYXJnaW4tbGVmdDouMjVpbiI+PGI+PHU+PHNwYW4KLXN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OgotJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOmJsYWNrIj5NYWluIENoYW5nZXM8L3NwYW4+PC91PjwvYj48L3A+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIgdHlwZT0iZGlzYyI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDc3IGxldmVsMQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8zO3RhYi1zdG9wczpsaXN0IC41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij5HZW5lcmFsCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlcyB0byBmaXgga25vd24gZGVmZWN0cy48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDc3IGxldmVsMQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8zO3RhYi1zdG9wczpsaXN0IC41aW4iPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+SEFML0xMCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJMkMgPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+dXBkYXRlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEkyQyA8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iIHR5cGU9ImRpc2MiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0iZGlzYyI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDUgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNDt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+Jm5ic3A7IFVwZGF0ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gZml4IDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi1zdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5oYXJkZmF1bHQ8L3NwYW4+PC9zcGFuPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNzdWUgd2l0aCBIQUxfSTJDX01lbV9Xcml0ZV88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+RE1BKDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iZGlzYyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9ImRpc2MiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPiZuYnNwOyBVcGRhdGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvIGZpeCA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPmhhcmRmYXVsdDwvc3Bhbj48L3NwYW4+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc3N1ZSB3aXRoIEhBTF9JMkNfTWVtX1dyaXRlXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5ETUEoPC9zcGFuPjwvc3Bhbj4pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBUEk6PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJkaXNjIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNSBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzQ7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPiZuYnNwOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9ImRpc2MiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Jm5ic3A7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFib3J0IHRoZSByaWdodCBvbmdvaW5nIERNQQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2ZlciB3aGVuIG1lbW9yeSB3cml0ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY2Nlc3MgcmVxdWVzdCBvcGVyYXRpb24KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFpbGVkOiBmaXggdHlwbyCTPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5oZG1hcng8L3NwYW4+PC9zcGFuPpQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVwbGFjZWQgYnkgkzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+aGRtYXR4lDwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhaWxlZDogZml4IHR5cG8gkzxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+aGRtYXJ4PC9zcGFuPjwvc3Bhbj6UCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcGxhY2VkIGJ5IJM8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+aGRtYXR4lDwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibWFyZ2luLXJpZ2h0OjUwMC4wcHQ7YmFja2dyb3VuZDojMzM2NkZGOy1tb3otYmFja2dyb3VuZC1jbGlwOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5pdGlhbDsgLW1vei1iYWNrZ3JvdW5kLW9yaWdpbjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluaXRpYWw7LW1vei1iYWNrZ3JvdW5kLWlubGluZS1wb2xpY3k6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbml0aWFsOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbi14OjAlO2JhY2tncm91bmQtcG9zaXRpb24teToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDUwJTtiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IHNjcm9sbCI+PGZvbnQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I9IiNmZmZmZmYiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7QXJpYWwmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBzdHlsZT0iYmFja2dyb3VuZDogcmdiKDUxLCAxMDIsIDI1NSkgbm9uZSByZXBlYXQgc2Nyb2xsIDAlIDUwJTsgLW1vei1iYWNrZ3JvdW5kLWNsaXA6IC1tb3otaW5pdGlhbDsgLW1vei1iYWNrZ3JvdW5kLW9yaWdpbjogLW1vei1pbml0aWFsOyAtbW96LWJhY2tncm91bmQtaW5saW5lLXBvbGljeTogLW1vei1pbml0aWFsOyBtYXJnaW4tcmlnaHQ6IDUwMHB0OyI+PGZvbnQgY29sb3I9IiNmZmZmZmYiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtBcmlhbCZxdW90OyxzYW5zLXNlcmlmOyI+VjEuNy45CiAKIAogCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7O2NvbG9yOndoaXRlIj5WMS43LjkKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvIDE0LUF1Z3VzdC0yMDIwPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2ZvbnQ+PC9oMz4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1hcmdpbi10b3A6NC41cHQ7bWFyZ2luLXJpZ2h0OjBpbjttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bWFyZ2luLWxlZnQ6LjI1aW4iPjxiPjx1PjxzcGFuCi1zdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseToKLSZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjpibGFjayI+TWFpbiBDaGFuZ2VzPC9zcGFuPjwvdT48L2I+PC9wPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iIHR5cGU9ImRpc2MiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxIGxldmVsMQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm81O3RhYi1zdG9wczpsaXN0IC41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij5HZW5lcmFsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyAxNC1BdWd1c3QtMjAyMDwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2ZvbnQ+PC9oMz4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOiA0LjVwdCAwaW4gNC41cHQgMC4yNWluOyI+PGI+PHU+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsgY29sb3I6IGJsYWNrOyI+TWFpbiBDaGFuZ2VzPC9zcGFuPjwvdT48L2I+PC9wPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iZGlzYyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkdlbmVyYWwKIAogCiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGVzIHRvIGZpeCBrbm93biBkZWZlY3RzIGFuZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuaGFuY2VtZW50cyA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5pbXBsZW1lbnRhdGlvbjwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5oYW5jZW1lbnRzIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5pbXBsZW1lbnRhdGlvbjwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTC9MTAogCiAKIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMSBsZXZlbDEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNTt0YWItc3RvcHM6bGlzdCAuNWluIj48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPkhBTC9MTAotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSTJDIDwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPnVwZGF0ZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJMkMgPC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIiB0eXBlPSJkaXNjIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9ImRpc2MiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwzMyBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm82O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4mbmJzcDsgVXBkYXRlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUxfSTJDX0VSXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4KLXN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPklSUUhhbmRsZXIoPC9zcGFuPjwvc3Bhbj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJkaXNjIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iZGlzYyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Jm5ic3A7IFVwZGF0ZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX0kyQ19FUl88c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SVJRSGFuZGxlcig8L3NwYW4+PC9zcGFuPikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFQSSB0byBmaXggYWNrbm93bGVkZ2UgZmFpbHVyZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNzdWUgd2l0aCBJMkMgbWVtb3J5IElUCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9jZXNzZXM8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9ImRpc2MiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwzMyBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzY7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPiZuYnNwOyBBZGQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJkaXNjIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPiZuYnNwOyBBZGQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RvcCBjb25kaXRpb24gZ2VuZXJhdGlvbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aGVuIE5BQ0sgb2NjdXJzLjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDMzIGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzY7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPiZuYnNwOyBVcGRhdGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEkyQ188c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuCi1zdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5ETUFYZmVyQ3BsdCg8L3NwYW4+PC9zcGFuPiksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Jm5ic3A7IFVwZGF0ZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSTJDXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5ETUFYZmVyQ3BsdCg8L3NwYW4+PC9zcGFuPiksCiAKIAogCiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEkyQ19ETUFFcnJvcigpIGFuZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSTJDX0RNQUFib3J0KCkgQVBJcyB0byBmaXggPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5oYXJkZmF1bHQ8L3NwYW4+PC9zcGFuPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNzdWUgd2hlbiA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPmhkbWF0eDwvc3Bhbj48L3NwYW4+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4KLXN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPmhkbWFyeDwvc3Bhbj48L3NwYW4+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJMkNfRE1BQWJvcnQoKSBBUElzIHRvIGZpeCA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPmhhcmRmYXVsdDwvc3Bhbj48L3NwYW4+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc3N1ZSB3aGVuIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+aGRtYXR4PC9zcGFuPjwvc3Bhbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPmhkbWFyeDwvc3Bhbj48L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJhbWV0ZXJzIGluIGkyYyBoYW5kbGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyZW4ndCBpbml0aWFsaXplZCAoTlVMTAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9pbnRlcikuPG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJkaXNjIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMzMgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm82O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4mbmJzcDsgQWRkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iZGlzYyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4mbmJzcDsgQWRkCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWwgY2hlY2sgb24KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGkyYy0mZ3Q7PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5oZG10eDwvc3Bhbj48L3NwYW4+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCBoaTJjLSZndDs8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5oZG1hcng8L3NwYW4+PC9zcGFuPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaTJjLSZndDs8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPmhkbXR4PC9zcGFuPjwvc3Bhbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIGhpMmMtJmd0OzxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+aGRtYXJ4PC9zcGFuPjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmVmb3JlIHJlc2V0dGluZyBETUEgVHgvUngKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tcGxldGUgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5jYWxsYmFja3M8L3NwYW4+PC9zcGFuPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbXBsZXRlIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5jYWxsYmFja3M8L3NwYW4+PC9zcGFuPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDMzIGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzY7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPiZuYnNwOyBVcGRhdGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4mbmJzcDsgVXBkYXRlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTZXF1ZW50aWFsIHRyYW5zZmVyIEFQSXMgdG8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkanVzdCA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPnhmZXJtb2RlPC9zcGFuPjwvc3Bhbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkanVzdCA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnhmZXJtb2RlPC9zcGFuPjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbmRpdGlvbi48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9ImRpc2MiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOiMwMDIwNTI7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDMzIGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNjt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9ImRpc2MiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IHJnYigwLCAzMiwgODIpOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Jm5ic3A7CiAKIAogCiAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7O2NvbG9yOmJsYWNrIj4mbmJzcDsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXBsYWNlIGhpMmMtJmd0OzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPlhmZXJDb3VudDwvc3Bhbj48L3NwYW4+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlcGxhY2UgaGkyYy0mZ3Q7PHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5YZmVyQ291bnQ8L3NwYW4+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbHQ7IE1BWF9OQllURV9TSVpFIGJ5Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpMmMtJmd0OzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPlhmZXJDb3VudDwvc3Bhbj48L3NwYW4+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpMmMtJmd0OzxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+WGZlckNvdW50PC9zcGFuPjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmx0Oz0gTUFYX05CWVRFX1NJWkUgd2hpY2gKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29ycmVzcG9uZHMgdG8gYSBjYXNlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpdGhvdXQgcmVsb2FkPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0FyaWFsJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aXRob3V0IHJlbG9hZDwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7QXJpYWwmcXVvdDssc2Fucy1zZXJpZjsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIgdHlwZT0iZGlzYyI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDI1IGxldmVsMQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm83O3RhYi1zdG9wczpsaXN0IC41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iZGlzYyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPiZuYnNwOzxiPkhBTC9MTAogCiAKIAotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij4mbmJzcDs8Yj5IQUwvTEwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVTQiA8L2I+dXBkYXRlPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9ImRpc2MiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPiZuYnNwOyZuYnNwO0J1ZwogCiAKIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVVNCIDwvYj51cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJkaXNjIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMjUgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNzt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+Jm5ic3A7Jm5ic3A7QnVnCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaXg6IDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi1zdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5VU0JfPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+UmVhZFBNQSg8L3NwYW4+PC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3Bhbgotc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+VVNCX1dyaXRlUE1BPC9zcGFuPjwvc3Bhbj4oKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZml4OiA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVTQl88L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5SZWFkUE1BKDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VVNCX1dyaXRlUE1BPC9zcGFuPjwvc3Bhbj4oKQogCiAKIAogCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBieSBlbnN1cmluZyAxNi1iaXRzIGFjY2VzcyB0bwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVVNCIFBNQSBtZW1vcnk8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwyNSBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm83O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4mbmJzcDsmbmJzcDtCdWcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4mbmJzcDsmbmJzcDtCdWcKIAogCiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpeDogY29ycmVjdCBVU0IgUlggY291bnQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhbGN1bGF0aW9uPG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMjUgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNzt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+Jm5ic3A7IEZpeAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPiZuYnNwOyBGaXgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVTQiBCdWxrIHRyYW5zZmVyIGRvdWJsZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVmZmVyIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5tb2RlPC9zcGFuPjwvc3Bhbj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwyNSBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm83O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4mbmJzcDsgUmVtb3ZlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBidWZmZXIgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPm1vZGU8L3NwYW4+PC9zcGFuPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Jm5ic3A7IFJlbW92ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVnaXN0ZXIga2V5d29yZCBmcm9tIFVTQgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmaW5lZCBtYWNyb3MgYXMgbm8gbW9yZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3VwcG9ydGVkIGJ5IEMrKyA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+Y29tcGlsZXI8L3NwYW4+PC9zcGFuPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDI1IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzc7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPiZuYnNwOyBNaW5vcgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV3b3JrIG9uIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+VVNCRF88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5TdGFydCg8L3NwYW4+PC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3Bhbgotc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+VVNCRF9TdG9wPC9zcGFuPjwvc3Bhbj4oKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3VwcG9ydGVkIGJ5IEMrKyA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Y29tcGlsZXI8L3NwYW4+PC9zcGFuPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Jm5ic3A7IE1pbm9yCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXdvcmsgb24gPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VU0JEXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlN0YXJ0KDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VVNCRF9TdG9wPC9zcGFuPjwvc3Bhbj4oKQogCiAKIAogCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBUElzOiBzdG9wcGluZyBkZXZpY2Ugd2lsbCBiZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlZCBieSA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkhBTF9QQ0RfRGVJbml0PC9zcGFuPjwvc3Bhbj4oKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlZCBieSA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9QQ0RfRGVJbml0PC9zcGFuPjwvc3Bhbj4oKQogCiAKIAogCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBUEkuPG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMjUgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNzt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+Jm5ic3A7IFJlbW92ZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPiZuYnNwOyBSZW1vdmUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vbiB1c2VkIEFQSSBmb3IgVVNCIGRldmljZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9kZS48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1hcmdpbi1yaWdodDo1MDAuMHB0O2JhY2tncm91bmQ6IzMzNjZGRjstbW96LWJhY2tncm91bmQtY2xpcDoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluaXRpYWw7IC1tb3otYmFja2dyb3VuZC1vcmlnaW46Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbml0aWFsOy1tb3otYmFja2dyb3VuZC1pbmxpbmUtcG9saWN5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5pdGlhbDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb24teDowJTtiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA1MCU7YmFja2dyb3VuZC1hdHRhY2htZW50OiBzY3JvbGwiPjxmb250Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yPSIjZmZmZmZmIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0FyaWFsJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDMgc3R5bGU9ImJhY2tncm91bmQ6IHJnYig1MSwgMTAyLCAyNTUpIG5vbmUgcmVwZWF0IHNjcm9sbCAwJSA1MCU7IC1tb3otYmFja2dyb3VuZC1jbGlwOiAtbW96LWluaXRpYWw7IC1tb3otYmFja2dyb3VuZC1vcmlnaW46IC1tb3otaW5pdGlhbDsgLW1vei1iYWNrZ3JvdW5kLWlubGluZS1wb2xpY3k6IC1tb3otaW5pdGlhbDsgbWFyZ2luLXJpZ2h0OiA1MDBwdDsiPjxmb250IGNvbG9yPSIjZmZmZmZmIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7QXJpYWwmcXVvdDssc2Fucy1zZXJpZjsiPlYxLjcuOAogCiAKIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90Oztjb2xvcjp3aGl0ZSI+VjEuNy44Ci0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyAxMi1GZWJydWFyeS0yMDIwPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2ZvbnQ+PC9oMz4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1hcmdpbi10b3A6NC41cHQ7bWFyZ2luLXJpZ2h0OjBpbjttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bWFyZ2luLWxlZnQ6LjI1aW4iPjxiPjx1PjxzcGFuCi1zdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseToKLSZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjpibGFjayI+TWFpbiBDaGFuZ2VzPC9zcGFuPjwvdT48L2I+PC9wPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iIHR5cGU9ImRpc2MiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw2OSBsZXZlbDEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvODt0YWItc3RvcHM6bGlzdCAuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+QWRkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyAxMi1GZWJydWFyeS0yMDIwPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvZm9udD48L2gzPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW46IDQuNXB0IDBpbiA0LjVwdCAwLjI1aW47Ij48Yj48dT48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyBjb2xvcjogYmxhY2s7Ij5NYWluIENoYW5nZXM8L3NwYW4+PC91PjwvYj48L3A+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJkaXNjIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3IDxiPkhBTCBGTVBTTUJVUzwvYj4gYW5kIDxiPkxMCiAKIAogCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGTVBJMkM8L2I+IGRyaXZlcnM8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDY5IGxldmVsMQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm84O3RhYi1zdG9wczpsaXN0IC41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij5HZW5lcmFsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGTVBJMkM8L2I+IGRyaXZlcnM8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+R2VuZXJhbAogCiAKIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZXMgdG8gZml4IGtub3duIGRlZmVjdHMgYW5kCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5oYW5jZW1lbnRzIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPmltcGxlbWVudGF0aW9uPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5oYW5jZW1lbnRzIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5pbXBsZW1lbnRhdGlvbjwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIiB0eXBlPSJkaXNjIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMjkgbGV2ZWwxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzk7dGFiLXN0b3BzOmxpc3QgLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPlVwZGF0ZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iZGlzYyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZQogCiAKIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTCBDUllQIGRyaXZlciB0byBzdXBwb3J0IGJsb2NrCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnkgYmxvY2sgZGVjcnlwdGlvbiB3aXRob3V0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVpbml0aWFsaXplcyB0aGUgSVYgYW5kIEtFWSBmb3IKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlYWNoIGNhbGwuPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEyLjBwdDttc28tbGlzdDpsMjkgbGV2ZWwxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzk7dGFiLXN0b3BzOmxpc3QgLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPkltcHJvdmUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlYWNoIGNhbGwuPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDEycHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SW1wcm92ZQogCiAKIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvZGUgcXVhbGl0eSBieSBmaXhpbmcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNaXNyYUMtMjAxMiA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuCi1zdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj52aW9sYXRpb25zPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNaXNyYUMtMjAxMiA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dmlvbGF0aW9uczwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTC9MTAogCiAKIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMjkgbGV2ZWwxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzk7dGFiLXN0b3BzOmxpc3QgLjVpbiI+PGI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij5IQUwvTEwKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVTQiA8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij51cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0iZGlzYyI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDI5IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzk7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPiZuYnNwO0FkZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVVNCIDwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJkaXNjIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4mbmJzcDtBZGQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsaW5nIFVTQiBob3N0IGJhYmJsZSBlcnJvcgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPmludGVycnVwdDwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMjkgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvOTt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+Jm5ic3A7Rml4CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+aW50ZXJydXB0PC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4mbmJzcDtGaXgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVuYWJsaW5nIFVMUEkgaW50ZXJmYWNlIGZvcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhdGZvcm1zIHRoYXQgaW50ZWdyYXRlcyBVU0IKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhTIFBIWTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDI5IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzk7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPiZuYnNwO0ZpeAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSFMgUEhZPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Jm5ic3A7Rml4CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIb3N0IGRhdGEgdG9nZ2xpbmcgZm9yIElOIElzbwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmZXJzPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDI5IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzk7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPiZuYnNwO0Vuc3VyZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmZXJzPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Jm5ic3A7RW5zdXJlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0byBkaXNhYmxlIFVTQiBFUCBkdXJpbmcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuZHBvaW50IDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5kZWFjdGl2YXRpb248L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbmRwb2ludCA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+ZGVhY3RpdmF0aW9uPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDI5IGxldmVsMQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm85O3RhYi1zdG9wczpsaXN0IC41aW4iPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAogCiAKIAotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPkhBTAotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ1JZUCA8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij51cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJkaXNjIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMjkgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvOTt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+Jm5ic3A7VXBkYXRlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDUllQIDwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJkaXNjIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4mbmJzcDtVcGRhdGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTCBDUllQIGRyaXZlciB0byBzdXBwb3J0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibG9jayBieSBibG9jayBkZWNyeXB0aW9uCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aXRob3V0IGluaXRpYWxpemluZyB0aGUgSVYKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCBLRVkgYXQgZWFjaCBjYWxsLjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0iZGlzYyI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDI5IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvOTt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+QWRkIG5ldwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDUllQIEhhbmRsZXIgcGFyYW1ldGVyczogIjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+S2V5SVZDb25maWc8L3NwYW4+PC9zcGFuPiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kICI8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuCi1zdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5TaXplc1N1bSI8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwyOSBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzk7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkFkZCBuZXcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ1JZUCA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3Bhbgotc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+aW5pdDwvc3Bhbj48L3NwYW4+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtZXRlcjogIjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+S2V5SVZDb25maWdTa2lwIjwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgS0VZIGF0IGVhY2ggY2FsbC48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJkaXNjIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZCBuZXcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ1JZUCBIYW5kbGVyIHBhcmFtZXRlcnM6ICI8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPktleUlWQ29uZmlnPC9zcGFuPjwvc3Bhbj4iCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCAiPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlNpemVzU3VtIjwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQgbmV3CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENSWVAgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5pbml0PC9zcGFuPjwvc3Bhbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1ldGVyOiAiPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPktleUlWQ29uZmlnU2tpcCI8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMjkgbGV2ZWwxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzk7dGFiLXN0b3BzOmxpc3QgLjVpbiI+PGI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMCiAKIAogCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+SEFMCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJMlMgPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+dXBkYXRlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0iZGlzYyI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDI5IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzk7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlVwZGF0ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX0kyU188c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuCi1zdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5ETUFTdG9wKDwvc3Bhbj48L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVBJIHRvIGJlIG1vcmUgc2FmZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0iZGlzYyI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDI5IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvOTt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+QWRkIGEgY2hlY2sKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEkyUyA8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iZGlzYyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXBkYXRlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUxfSTJTXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5ETUFTdG9wKDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVBJIHRvIGJlIG1vcmUgc2FmZTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9ImRpc2MiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkIGEgY2hlY2sKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb24gQlNZLCBUWEUgYW5kIFJYTkUgZmxhZ3MKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmVmb3JlIGRpc2FibGluZyB0aGUgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5JMlM8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZWZvcmUgZGlzYWJsaW5nIHRoZSA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+STJTPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMjkgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvOTt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+VXBkYXRlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUxfSTJTXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4KLXN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkRNQVN0b3AoPC9zcGFuPjwvc3Bhbj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXBkYXRlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUxfSTJTXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5ETUFTdG9wKDwvc3Bhbj48L3NwYW4+KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVBJIHRvIGZpeCBtdWx0aS1jYWxsIHRyYW5zZmVyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc3N1ZSh0byBhdm9pZCByZS1pbml0aWFsaXppbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBJMlMgZm9yIHRoZSBuZXh0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2ZlcikuPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0iZGlzYyI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDI5IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvOTt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+QWRkCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fSEFMX0kyU0VYVF9GTFVTSF9SWF88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+RFIoPC9zcGFuPjwvc3Bhbj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2ZlcikuPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iZGlzYyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19IQUxfSTJTRVhUX0ZMVVNIX1JYXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5EUig8L3NwYW4+PC9zcGFuPikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIF9fSEFMX0kyU19GTFVTSF9SWF9EUigpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hY3JvcyB0byBmbHVzaCB0aGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVtYWluaW5nIGRhdGEgaW5zaWRlIERSCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZ2lzdGVycy48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMjkgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm85O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5BZGQgbmV3IDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkVycm9yQ29kZTwvc3Bhbj48L3NwYW4+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZ2lzdGVycy48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZCBuZXcgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5FcnJvckNvZGU8L3NwYW4+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWZpbmU6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9JMlNfRVJST1JfQlVTWV9MSU5FX1JYPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9JMlNfRVJST1JfQlVTWV9MSU5FX1JYPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibWFyZ2luLXJpZ2h0OjUwMC4wcHQ7YmFja2dyb3VuZDojMzM2NkZGOy1tb3otYmFja2dyb3VuZC1jbGlwOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5pdGlhbDsgLW1vei1iYWNrZ3JvdW5kLW9yaWdpbjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluaXRpYWw7LW1vei1iYWNrZ3JvdW5kLWlubGluZS1wb2xpY3k6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbml0aWFsOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbi14OjAlO2JhY2tncm91bmQtcG9zaXRpb24teToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDUwJTtiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IHNjcm9sbCI+PGZvbnQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I9IiNmZmZmZmYiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7QXJpYWwmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBzdHlsZT0iYmFja2dyb3VuZDogcmdiKDUxLCAxMDIsIDI1NSkgbm9uZSByZXBlYXQgc2Nyb2xsIDAlIDUwJTsgLW1vei1iYWNrZ3JvdW5kLWNsaXA6IC1tb3otaW5pdGlhbDsgLW1vei1iYWNrZ3JvdW5kLW9yaWdpbjogLW1vei1pbml0aWFsOyAtbW96LWJhY2tncm91bmQtaW5saW5lLXBvbGljeTogLW1vei1pbml0aWFsOyBtYXJnaW4tcmlnaHQ6IDUwMHB0OyI+PGZvbnQgY29sb3I9IiNmZmZmZmYiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtBcmlhbCZxdW90OyxzYW5zLXNlcmlmOyI+VjEuNy43CiAKIAogCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7O2NvbG9yOndoaXRlIj5WMS43LjcKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvIDA2LURlY2VtYmVyLTIwMTk8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvZm9udD48L2gzPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tcmlnaHQ6MGluO21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttYXJnaW4tbGVmdDouMjVpbiI+PGI+PHU+PHNwYW4KLXN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OgotJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOmJsYWNrIj5NYWluIENoYW5nZXM8L3NwYW4+PC91PjwvYj48L3A+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIgdHlwZT0iZGlzYyI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDAgbGV2ZWwxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzEwO3RhYi1zdG9wczpsaXN0IC41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij5HZW5lcmFsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyAwNi1EZWNlbWJlci0yMDE5PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvZm9udD48L2gzPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW46IDQuNXB0IDBpbiA0LjVwdCAwLjI1aW47Ij48Yj48dT48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyBjb2xvcjogYmxhY2s7Ij5NYWluIENoYW5nZXM8L3NwYW4+PC91PjwvYj48L3A+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJkaXNjIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+R2VuZXJhbAogCiAKIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZXMgdG8gZml4IGtub3duIGRlZmVjdHMgYW5kCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5oYW5jZW1lbnRzIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPmltcGxlbWVudGF0aW9uPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbmhhbmNlbWVudHMgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPmltcGxlbWVudGF0aW9uPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMCiAKIAogCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwwIGxldmVsMQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMDt0YWItc3RvcHM6bGlzdCAuNWluIj48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPkhBTAotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR2VuZXJpYyA8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij51cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0iZGlzYyI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDAgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTA7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SEFMXzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlNldFRpY2tGcmVxKDwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+KTogdXBkYXRlIHRvCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHZW5lcmljIDwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJkaXNjIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5TZXRUaWNrRnJlcSg8L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4pOiB1cGRhdGUgdG8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3RvcmUgdGhlIHByZXZpb3VzIHRpY2sKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyZXF1ZW5jeSZuYnNwO3doZW4gPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5IQUxfSW5pdFRpY2s8L3NwYW4+PC9zcGFuPigpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmcmVxdWVuY3kmbmJzcDt3aGVuIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX0luaXRUaWNrPC9zcGFuPjwvc3Bhbj4oKQogCiAKIAogCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25maWd1cmF0aW9uIGZhaWxlZC48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhdGlvbiBmYWlsZWQuPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwwIGxldmVsMQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMDt0YWItc3RvcHM6bGlzdCAuNWluIj48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwvTEwKIAogCiAKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij5IQUwvTEwKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdQSU8gPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+dXBkYXRlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9ImRpc2MiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwwIGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzEwO3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5VcGRhdGUgR1BJTworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR1BJTyA8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iZGlzYyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXBkYXRlIEdQSU8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluaXRpYWxpemF0aW9uIHNlcXVlbmNlPGI+IDwvYj50bwogCiAKIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXZvaWQgdW53YW50ZWQgcHVsc2Ugb24gR1BJTyA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+UGluJ3M8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdm9pZCB1bndhbnRlZCBwdWxzZSBvbiBHUElPIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5QaW4nczwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwwIGxldmVsMQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMDt0YWItc3RvcHM6bGlzdCAuNWluIj48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKIAogCiAKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij5IQUwKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVYVEkgPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+dXBkYXRlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRVhUSSA8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iIHR5cGU9ImRpc2MiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0iZGlzYyI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDExNCBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMTt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJvcnBoYW5zOiAyO3dpZG93czoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDI7ZmxvYXQ6bm9uZTt3b3JkLXNwYWNpbmc6MHB4Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5HZW5lcmFsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJkaXNjIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iZGlzYyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0ib3JwaGFuczogMjsgd2lkb3dzOiAyOyBmbG9hdDogbm9uZTsgd29yZC1zcGFjaW5nOiAwcHg7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+R2VuZXJhbAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGUgdG8gZW5oYW5jZSBIQUwgRVhUSQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkcml2ZXIgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5yb2J1c3RuZXNzPC9zcGFuPjwvc3Bhbj4mbmJzcDs8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJkaXNjIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTE0IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTE7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJvcnBoYW5zOiAyO3dpZG93czoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMjtmbG9hdDpub25lO3dvcmQtc3BhY2luZzowcHgiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkFkZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkcml2ZXIgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnJvYnVzdG5lc3M8L3NwYW4+PC9zcGFuPiZuYnNwOzwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJkaXNjIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9Im9ycGhhbnM6IDI7IHdpZG93czogMjsgZmxvYXQ6IG5vbmU7IHdvcmQtc3BhY2luZzogMHB4OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWwgYXNzZXJ0IGNoZWNrIG9uCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRVhUSSBjb25maWcgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPmxpbmVzPC9zcGFuPjwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDExNCBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzExO3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ib3JwaGFuczogMjt3aWRvd3M6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDI7ZmxvYXQ6bm9uZTt3b3JkLXNwYWNpbmc6MHB4Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5VcGRhdGUgdG8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFWFRJIGNvbmZpZyA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+bGluZXM8L3NwYW4+PC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9Im9ycGhhbnM6IDI7IHdpZG93czogMjsgZmxvYXQ6IG5vbmU7IHdvcmQtc3BhY2luZzogMHB4OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZSB0bwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbXB1dGUgRVhUSSBsaW5lIG1hc2sKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZWZvcmUgcmVhZC93cml0ZSBhY2Nlc3MKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0byBFWFRJIHJlZ2lzdGVyczxicgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1zcGVjaWFsLWNoYXJhY3RlcjpsaW5lLWJyZWFrIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tW2lmICFzdXBwb3J0TGluZUJyZWFrTmV3TGluZV0tLT48YnIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tc3BlY2lhbC1jaGFyYWN0ZXI6Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtYnJlYWsiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS1bZW5kaWZdLS0+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0byBFWFRJIHJlZ2lzdGVyczxiciBzdHlsZT0iIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tW2lmICFzdXBwb3J0TGluZUJyZWFrTmV3TGluZV0tLT48YnIgc3R5bGU9IiI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLVtlbmRpZl0tLT48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDExNCBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMTt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+VXBkYXRlIEVYVEkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUgRVhUSQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2tzIG1hbmFnZW1lbnQgdG8gYmUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbXBsaWFudCB3aXRoIHJlZmVyZW5jZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFudWFsOiBvbmx5IG9uZSZuYnNwO1BSCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWdpc3RlciBmb3IgcmlzaW5nIGFuZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFsbGluZyBpbnRlcnJ1cHRzLjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0iZGlzYyI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDExNCBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzExO3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ib3JwaGFuczogMjt3aWRvd3M6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDI7ZmxvYXQ6bm9uZTt3b3JkLXNwYWNpbmc6MHB4Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5VcGRhdGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJhbWV0ZXJzJm5ic3A7aW4gPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5FWFRJX0hhbmRsZVR5cGVEZWY8L3NwYW4+PC9zcGFuPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFsbGluZyBpbnRlcnJ1cHRzLjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9ImRpc2MiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0ib3JwaGFuczogMjsgd2lkb3dzOiAyOyBmbG9hdDogbm9uZTsgd29yZC1zcGFjaW5nOiAwcHg7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXBkYXRlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1ldGVycyZuYnNwO2luIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RVhUSV9IYW5kbGVUeXBlRGVmPC9zcGFuPjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3R1cmU6IG1lcmdlJm5ic3A7SEFMCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRVhUSSA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+UmlzaW5nQ2FsbGJhY2s8L3NwYW4+PC9zcGFuPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3Bhbgotc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+RmFsbGluZ0NhbGxiYWNrPC9zcGFuPjwvc3Bhbj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBvbmx5IG9uZSA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+UGVuZGluZ0NhbGxiYWNrPC9zcGFuPjwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDExNCBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzExO3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ib3JwaGFuczogMjt3aWRvd3M6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDI7ZmxvYXQ6bm9uZTt3b3JkLXNwYWNpbmc6MHB4Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5SZW1vdmUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFWFRJIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+UmlzaW5nQ2FsbGJhY2s8L3NwYW4+PC9zcGFuPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkZhbGxpbmdDYWxsYmFjazwvc3Bhbj48L3NwYW4+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gb25seSBvbmUgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5QZW5kaW5nQ2FsbGJhY2s8L3NwYW4+PC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9Im9ycGhhbnM6IDI7IHdpZG93czogMjsgZmxvYXQ6IG5vbmU7IHdvcmQtc3BhY2luZzogMHB4OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlJlbW92ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9FWFRJX1JJU0lOR19DQl9JRCBhbmQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUxfRVhUSV9GQUxMSU5HX0NCX0lECi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzIGZyb20gPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJvcnBoYW5zOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMjt3aWRvd3M6IDI7ZmxvYXQ6bm9uZTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdvcmQtc3BhY2luZzowcHgiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkVYVElfQ2FsbGJhY2tJRFR5cGVEZWY8L3NwYW4+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbnVtZXJhdGlvbi48L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUm9tYW4mcXVvdDsiPjxicgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1zcGVjaWFsLWNoYXJhY3RlcjpsaW5lLWJyZWFrIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tW2lmICFzdXBwb3J0TGluZUJyZWFrTmV3TGluZV0tLT48YnIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tc3BlY2lhbC1jaGFyYWN0ZXI6Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtYnJlYWsiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlcyBmcm9tIDwvc3Bhbj48c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0ib3JwaGFuczogMjsgd2lkb3dzOiAyOyBmbG9hdDogbm9uZTsgd29yZC1zcGFjaW5nOiAwcHg7Ij48c3BhbiBzdHlsZT0iIj5FWFRJX0NhbGxiYWNrSURUeXBlRGVmPC9zcGFuPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW51bWVyYXRpb24uPC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48YnIgc3R5bGU9IiI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLVtpZiAhc3VwcG9ydExpbmVCcmVha05ld0xpbmVdLS0+PGJyIHN0eWxlPSIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS1bZW5kaWZdLS0+PG86cD48L286cD48L3NwYW4+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDExNCBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMTt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PC9zcGFuPlVwZGF0ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkhBTF9FWFRJXzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SVJRSGFuZGxlcig8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij48L3NwYW4+VXBkYXRlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfRVhUSV88L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5JUlFIYW5kbGVyKDwvc3Bhbj48L3NwYW4+KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFQSSB0byBzZXJ2ZSBpbnRlcnJ1cHRzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29ycmVjdGx5LjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0iZGlzYyI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDExNCBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzExO3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5VcGRhdGUgdG8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb3JyZWN0bHkuPHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJkaXNjIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZSB0bwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21wdXRlIEVYVEkgbGluZSBtYXNrCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJlZm9yZSBoYW5kbGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRVhUSSZuYnNwO2ludGVycnVwdC48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRVhUSSZuYnNwO2ludGVycnVwdC48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTE0IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzExO3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im9ycGhhbnM6IDI7d2lkb3dzOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMjtmbG9hdDpub25lO3dvcmQtc3BhY2luZzowcHgiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlVwZGF0ZSB0bworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9Im9ycGhhbnM6IDI7IHdpZG93czogMjsgZmxvYXQ6IG5vbmU7IHdvcmQtc3BhY2luZzogMHB4OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZSB0bwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdXBwb3J0Jm5ic3A7R1BJTyBwb3J0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludGVycnVwdHM6PC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0iZGlzYyI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDExNCBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzExO3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ib3JwaGFuczogMjt3aWRvd3M6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDI7ZmxvYXQ6bm9uZTt3b3JkLXNwYWNpbmc6MHB4Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5BZGQgbmV3ICI8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+R1BJT1NlbDwvc3Bhbj48L3NwYW4+IgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtZXRlciBpbiA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+RVhUSV9Db25maWdUeXBlRGVmPC9zcGFuPjwvc3Bhbj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3R1cmU8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludGVycnVwdHM6PC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9ImRpc2MiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0ib3JwaGFuczogMjsgd2lkb3dzOiAyOyBmbG9hdDogbm9uZTsgd29yZC1zcGFjaW5nOiAwcHg7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkIG5ldyAiPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5HUElPU2VsPC9zcGFuPjwvc3Bhbj4iCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1ldGVyIGluIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RVhUSV9Db25maWdUeXBlRGVmPC9zcGFuPjwvc3Bhbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3R1cmU8L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxMTQgbGV2ZWwxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzExO3RhYi1zdG9wczpsaXN0IC41aW4iPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTC9MTAogCiAKIAotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPkhBTC9MTAotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUkNDIDwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPnVwZGF0ZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJkaXNjIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTE0IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzExO3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5VcGRhdGUgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5IQUxfUkNDRXhfPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+UGVyaXBoQ0xLQ29uZmlnKDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUkNDIDwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJkaXNjIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfUkNDRXhfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+UGVyaXBoQ0xLQ29uZmlnKDwvc3Bhbj48L3NwYW4+KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVBJIHRvIHN1cHBvcnQgUExMSTJTCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25maWd1cmF0aW9uIGZvciBTVE0zMkY0Mnh4eAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIFNUTTMyRjQzeHh4IGRldmljZXM8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxMTQgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTE7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlVwZGF0ZSB0aGUgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5IQUxfUkNDXzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkNsb2NrQ29uZmlnKDwvc3Bhbj48L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi1zdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5IQUxfUkNDX0RlSW5pdDwvc3Bhbj48L3NwYW4+KCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCBTVE0zMkY0M3h4eCBkZXZpY2VzPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXBkYXRlIHRoZSA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9SQ0NfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Q2xvY2tDb25maWcoPC9zcGFuPjwvc3Bhbj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfUkNDX0RlSW5pdDwvc3Bhbj48L3NwYW4+KCkKIAogCiAKIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVBJIHRvIGRvbid0IG92ZXJ3cml0ZSB0aGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1c3RvbSB0aWNrIHByaW9yaXR5PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTE0IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzExO3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5GaXggPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5MTF9SQ0NfPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+RGVJbml0KDwvc3Bhbj48L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFpbHVyZSBkZXRlY3RlZCB3aXRoIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+Z2NjPC9zcGFuPjwvc3Bhbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1c3RvbSB0aWNrIHByaW9yaXR5PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Rml4IDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+TExfUkNDXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkRlSW5pdCg8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhaWx1cmUgZGV0ZWN0ZWQgd2l0aCA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPmdjYzwvc3Bhbj48L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21waWxlciBhbmQgaGlnaCBvcHRpbWl6YXRpb24KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsIGlzIHNlbGVjdGVkKC0wMyk8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxMTQgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTE7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlVwZGF0ZSA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkhBTF9SQ0NfPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+T3NjQ29uZmlnKDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWwgaXMgc2VsZWN0ZWQoLTAzKTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZSA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9SQ0NfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+T3NjQ29uZmlnKDwvc3Bhbj48L3NwYW4+KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVBJIHRvIGRvbid0Jm5ic3A7cmV0dXJuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUxfRVJST1IgaWYgcmVxdWVzdCByZXBlYXRzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgY3VycmVudCBQTEwgY29uZmlndXJhdGlvbjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgY3VycmVudCBQTEwgY29uZmlndXJhdGlvbjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTE0IGxldmVsMQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMTt0YWItc3RvcHM6bGlzdCAuNWluIj48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKIAogCiAKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij5IQUwKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFEQyA8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij51cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJkaXNjIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTE0IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzExO3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5VcGRhdGUgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5MTF9BRENfUkVHXzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkluaXQoPC9zcGFuPjwvc3Bhbj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBREMgPC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9ImRpc2MiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZSA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkxMX0FEQ19SRUdfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SW5pdCg8L3NwYW4+PC9zcGFuPikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvIGZpeCB3cm9uZyBBREMgQ1IxIHJlZ2lzdGVyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25maWd1cmF0aW9uPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJkaXNjIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTE0IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTE7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlRoZSBBREMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYXRpb248L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJkaXNjIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlRoZSBBREMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VxdWVuY2VyIGxlbmd0aCBpcyBwYXJ0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9mJm5ic3A7QURDIFNRUjEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVnaXN0ZXImbmJzcDtub3Qgb2YgQURDIENSMQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWdpc3Rlcjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWdpc3Rlcjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTE0IGxldmVsMQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMTt0YWItc3RvcHM6bGlzdCAuNWluIj48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKIAogCiAKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij5IQUwKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENSWVAgPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+dXBkYXRlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0iZGlzYyI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDExNCBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMTt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+VXBkYXRlJm5ic3A7PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5IQUxfQ1JZUF88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5FbmNyeXB0KDwvc3Bhbj48L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi1zdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5IQUxfQ1JZUF9EZWNyeXB0PC9zcGFuPjwvc3Bhbj4oKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ1JZUCA8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iZGlzYyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXBkYXRlJm5ic3A7PHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfQ1JZUF88L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5FbmNyeXB0KDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX0NSWVBfRGVjcnlwdDwvc3Bhbj48L3NwYW4+KCkKIAogCiAKQEAgLTU0NjYsNTUgKzE0NDYsMTUgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmcgdGhlIGxhc3QgYmxvY2sgb2YgdGhlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXlsb2FkLCBpbiBjYXNlIHRoZSBzaXplIG9mCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzIGxhc3QgYmxvY2sgaXMgbGVzcyB0aGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMjggYml0cy48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTI4IGJpdHMuPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxMTQgbGV2ZWwxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzExO3RhYi1zdG9wczpsaXN0IC41aW4iPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAogCiAKIAotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPkhBTAotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUk5HPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+IHVwZGF0ZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9ImRpc2MiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxMTQgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTE7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlVwZGF0ZSA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkhBTF9STkdfPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SVJRSGFuZGxlcig8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJORzwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPiB1cGRhdGU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iZGlzYyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXBkYXRlIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX1JOR188L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5JUlFIYW5kbGVyKDwvc3Bhbj48L3NwYW4+KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVBJIHRvIGZpeCBlcnJvciBjb2RlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYW5hZ2VtZW50IGlzc3VlOiBlcnJvciBjb2RlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpcyBhc3NpZ25lZApAQCAtNTUyMiwzMjkgKzE0NjIsNjcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9mIGNsb2NrIGVycm9yIGFuZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkhBTF9STkdfRVJST1JfU0VFRCIgaW4gY2FzZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2Ygc2VlZCBlcnJvciwgbm90IHRoZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3Bwb3NpdGUuPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wcG9zaXRlLjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTE0IGxldmVsMQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMTt0YWItc3RvcHM6bGlzdCAuNWluIj48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKIAogCiAKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij5IQUwKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERGU0RNIDwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPnVwZGF0ZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9ImRpc2MiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxMTQgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTE7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlVwZGF0ZSA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkRGU0RNXzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkdldENoYW5uZWxGcm9tSW5zdGFuY2UoPC9zcGFuPjwvc3Bhbj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBERlNETSA8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iZGlzYyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXBkYXRlIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+REZTRE1fPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+R2V0Q2hhbm5lbEZyb21JbnN0YW5jZSg8L3NwYW4+PC9zcGFuPikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFQSSB0byByZW1vdmUgdW5yZWFjaGFibGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoZWNrIGNvbmRpdGlvbjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGVjayBjb25kaXRpb248L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDExNCBsZXZlbDEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTE7dGFiLXN0b3BzOmxpc3QgLjVpbiI+PGI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMCiAKIAogCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+SEFMCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBETUEgPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+dXBkYXRlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0iZGlzYyI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDExNCBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMTt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+VXBkYXRlIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX0RNQV9TdGFydF88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5JVCg8L3NwYW4+PC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFQSSB0byBvbWl0IHRoZSBGSUZPIGVycm9yPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERNQSA8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iZGlzYyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXBkYXRlIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX0RNQV9TdGFydF88L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5JVCg8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFQSSB0byBvbWl0IHRoZSBGSUZPIGVycm9yPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxMTQgbGV2ZWwxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzExO3RhYi1zdG9wczpsaXN0IC41aW4iPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAogCiAKIAotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPkhBTAotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRkxBU0ggPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+dXBkYXRlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0iZGlzYyI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDExNCBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMTt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+VXBkYXRlIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+RkxBU0hfUHJvZ3JhbV88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5Eb3VibGVXb3JkKDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRkxBU0ggPC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9ImRpc2MiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZSA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkZMQVNIX1Byb2dyYW1fPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RG91YmxlV29yZCg8L3NwYW4+PC9zcGFuPikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFQSSB0byBmaXggd2l0aCBFV0FSTSBoaWdoCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXZlbCBvcHRpbWl6YXRpb24gaXNzdWU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWwgb3B0aW1pemF0aW9uIGlzc3VlPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxMTQgbGV2ZWwxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzExO3RhYi1zdG9wczpsaXN0IC41aW4iPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAorCisKKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUVNQSSA8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iZGlzYyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+UmVtb3ZlIExvY2sKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lY2hhbmlzbSBmcm9tIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX1FTUElfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SW5pdCg8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9RU1BJX0RlSW5pdDwvc3Bhbj48L3NwYW4+KCkKIAogCiAKIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij5IQUwKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFFTUEkgPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+dXBkYXRlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0iZGlzYyI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDExNCBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMTt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+UmVtb3ZlIExvY2sKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lY2hhbmlzbSBmcm9tIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX1FTUElfPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SW5pdCg8L3NwYW4+PC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3Bhbgotc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX1FTUElfRGVJbml0PC9zcGFuPjwvc3Bhbj4oKQotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBUElzPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+IDxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBUElzPC9zcGFuPjxzcGFuIHN0eWxlPSIiPiA8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTE0IGxldmVsMQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMTt0YWItc3RvcHM6bGlzdCAuNWluIj48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKIAogCiAKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij5IQUwKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBU0ggPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+dXBkYXRlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0iZGlzYyI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDExNCBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMTt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+TnVsbCBwb2ludGVyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbiBoYW5kbGVyICI8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPmhoYXNoPC9zcGFuPjwvc3Bhbj4iCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQVNIIDwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJkaXNjIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5OdWxsIHBvaW50ZXIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uIGhhbmRsZXIgIjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+aGhhc2g8L3NwYW4+PC9zcGFuPiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzIG5vdyBjaGVja2VkIDxiPmJlZm9yZTwvYj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjY2Vzc2luZyBzdHJ1Y3R1cmUgbWVtYmVyICI8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPmhoYXNoPC9zcGFuPjwvc3Bhbj4tJmd0OzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SW5pdC5EYXRhVHlwZTwvc3Bhbj48L3NwYW4+IgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gdGhlIGZvbGxvd2luZyBBUEk6PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJkaXNjIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTE0IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTE7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5IQUxfSEFTSF88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkluaXQoPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4pPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY2Nlc3Npbmcgc3RydWN0dXJlIG1lbWJlciAiPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5oaGFzaDwvc3Bhbj48L3NwYW4+LSZndDs8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkluaXQuRGF0YVR5cGU8L3NwYW4+PC9zcGFuPiIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIHRoZSBmb2xsb3dpbmcgQVBJOjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9ImRpc2MiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX0hBU0hfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5Jbml0KDwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPik8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTE0IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzExO3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5Gb2xsb3dpbmcgPGI+aW50ZXJydXB0LWJhc2VkPC9iPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkZvbGxvd2luZyA8Yj5pbnRlcnJ1cHQtYmFzZWQ8L2I+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBUElzIGhhdmUgYmVlbiBhZGRlZC4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEludGVycnVwdCBtb2RlIGNvdWxkIGFsbG93IHRoZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUNVIHRvIGVudGVyICJTbGVlcCIgbW9kZQpAQCAtNTg1MiwzNDAgKzE1MzAsNjMgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2Nlc3NlZC4gUGxlYXNlIHJlZmVyIHRvIHRoZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiMjIyMjIEhvdyB0byB1c2UgdGhpcyBkcml2ZXIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMjIyMjIiBzZWN0aW9uIGZvciBkZXRhaWxzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhYm91dCB0aGVpciB1c2UuPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0iZGlzYyI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDExNCBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzExO3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5IQUxfSEFTSF9TSEExX0FjY21sdF88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPklUKDwvc3Bhbj48L3NwYW4+KTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxMTQgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMTt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SEFMX0hBU0hfTUQ1X0FjY21sdF88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPklUKDwvc3Bhbj48L3NwYW4+KTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxMTQgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMTt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SEFMX0hBU0hFeF9TSEEyMjRfQWNjbWx0XzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SVQoPC9zcGFuPjwvc3Bhbj4pPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDExNCBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzExO3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5IQUxfSEFTSEV4X1NIQTI1Nl9BY2NtbHRfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5JVCg8L3NwYW4+PC9zcGFuPik8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFib3V0IHRoZWlyIHVzZS48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJkaXNjIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9IQVNIX1NIQTFfQWNjbWx0XzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5JVCg8L3NwYW4+PC9zcGFuPik8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9IQVNIX01ENV9BY2NtbHRfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPklUKDwvc3Bhbj48L3NwYW4+KTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX0hBU0hFeF9TSEEyMjRfQWNjbWx0XzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5JVCg8L3NwYW4+PC9zcGFuPik8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9IQVNIRXhfU0hBMjU2X0FjY21sdF88c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SVQoPC9zcGFuPjwvc3Bhbj4pPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDExNCBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMTt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+Rm9sbG93aW5nIDxiPmFsaWFzZXM8L2I+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Rm9sbG93aW5nIDxiPmFsaWFzZXM8L2I+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYXZlIGJlZW4gYWRkZWQgKGp1c3QgPGI+Zm9yCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXJpdHkgc2FrZTwvYj4pIGFzIHRoZXkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNoYWxsIGJlIHVzZWQgYXQgdGhlIDxiPmVuZDwvYj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9mIHRoZSBjb21wdXRhdGlvbiBvZiBhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtdWx0aS1idWZmZXJzIG1lc3NhZ2UgYW5kIG5vdAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXQgdGhlIHN0YXJ0Ojwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9ImRpc2MiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxMTQgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMTt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SEFMX0hBU0hfU0hBMV9BY2NtbHRfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5FbmQoPC9zcGFuPjwvc3Bhbj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdCB0aGUgc3RhcnQ6PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iZGlzYyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfSEFTSF9TSEExX0FjY21sdF88c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RW5kKDwvc3Bhbj48L3NwYW4+KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0byBiZSB1c2VkIGluc3RlYWQgb2YKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX0hBU0hfU0hBMV9TdGFydCgpPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDExNCBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzExO3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5IQUxfSEFTSF9NRDVfQWNjbWx0XzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+RW5kKDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUxfSEFTSF9TSEExX1N0YXJ0KCk8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9IQVNIX01ENV9BY2NtbHRfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkVuZCg8L3NwYW4+PC9zcGFuPikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gYmUgdXNlZCBpbnN0ZWFkIG9mCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9IQVNIX01ENV9TdGFydCgpPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDExNCBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzExO3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5IQUxfSEFTSF9TSEExX0FjY21sdF9FbmRfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5JVCg8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX0hBU0hfTUQ1X1N0YXJ0KCk8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9IQVNIX1NIQTFfQWNjbWx0X0VuZF88c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SVQoPC9zcGFuPjwvc3Bhbj4pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvIGJlIHVzZWQgaW5zdGVhZCBvZgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUxfSEFTSF9TSEExX1N0YXJ0X0lUKCk8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTE0IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTE7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkhBTF9IQVNIX01ENV9BY2NtbHRfRW5kXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SVQoPC9zcGFuPjwvc3Bhbj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9IQVNIX1NIQTFfU3RhcnRfSVQoKTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX0hBU0hfTUQ1X0FjY21sdF9FbmRfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPklUKDwvc3Bhbj48L3NwYW4+KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0byBiZSB1c2VkIGluc3RlYWQgb2YKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX0hBU0hfTUQ1X1N0YXJ0X0lUKCk8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTE0IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTE7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkhBTF9IQVNIRXhfU0hBMjI0X0FjY21sdF88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkVuZCg8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX0hBU0hfTUQ1X1N0YXJ0X0lUKCk8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9IQVNIRXhfU0hBMjI0X0FjY21sdF88c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RW5kKDwvc3Bhbj48L3NwYW4+KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0byBiZSB1c2VkIGluc3RlYWQgb2YKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX0hBU0hFeF9TSEEyMjRfU3RhcnQoKTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxMTQgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMTt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SEFMX0hBU0hFeF9TSEEyNTZfQWNjbWx0XzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+RW5kKDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUxfSEFTSEV4X1NIQTIyNF9TdGFydCgpPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfSEFTSEV4X1NIQTI1Nl9BY2NtbHRfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkVuZCg8L3NwYW4+PC9zcGFuPikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gYmUgdXNlZCBpbnN0ZWFkIG9mCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9IQVNIRXhfU0hBMjU2X1N0YXJ0KCk8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX0hBU0hFeF9TSEEyNTZfU3RhcnQoKTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iIHR5cGU9ImRpc2MiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0iZGlzYyI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0iZGlzYyI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDMgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMjt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SEFMX0hBU0hFeF9TSEEyMjRfQWNjbWx0X0VuZF88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPklUKDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iZGlzYyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9ImRpc2MiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9ImRpc2MiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX0hBU0hFeF9TSEEyMjRfQWNjbWx0X0VuZF88c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SVQoPC9zcGFuPjwvc3Bhbj4pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvIGJlIHVzZWQgaW5zdGVhZCBvZgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUxfSEFTSEV4X1NIQTIyNF9TdGFydF9JVCgpPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDMgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMjt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SEFMX0hBU0hFeF9TSEEyNTZfQWNjbWx0X0VuZF88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPklUKDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUxfSEFTSEV4X1NIQTIyNF9TdGFydF9JVCgpPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfSEFTSEV4X1NIQTI1Nl9BY2NtbHRfRW5kXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5JVCg8L3NwYW4+PC9zcGFuPikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gYmUgdXNlZCBpbnN0ZWFkIG9mCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9IQVNIRXhfU0hBMjU2X1N0YXJ0X0lUKCk8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX0hBU0hFeF9TSEEyNTZfU3RhcnRfSVQoKTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iIHR5cGU9ImRpc2MiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0iZGlzYyI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDEwNSBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMzt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+TUlTUkFDLTIwMTIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9ImRpc2MiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJkaXNjIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5NSVNSQUMtMjAxMgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcnVsZSBSLjUuMSZuYnNwOyhpZGVudGlmaWVycwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hhbGwgYmUgZGlzdGluY3QgaW4gdGhlIGZpcnN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAzMSBjaGFyYWN0ZXJzKSBjb25zdHJhaW5lZCB0aGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWluZyBvZiB0aGUgYWJvdmUgbGlzdGVkCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGlhc2VzJm5ic3A7PGI+KDwvYj5lLmcuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUxfSEFTSEV4X1NIQTI1Nl88Yj5BY2NtbHQ8L2I+XzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5FbmQoPC9zcGFuPjwvc3Bhbj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUxfSEFTSEV4X1NIQTI1Nl88Yj5BY2NtbHQ8L2I+XzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5FbmQoPC9zcGFuPjwvc3Bhbj4pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb3VsZCBub3QgYmUgbmFtZWQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9IQVNIRXhfU0hBMjU2XzxiPkFjY3VtdWxhdGU8L2I+X0VuZCgpLgogCkBAIC02MTk0LDY0MSArMTU5NSwxMjQgQEAKIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT3RoZXJ3aXNlIHRoZSBuYW1lIHdvdWxkIGhhdmUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbmZsaWN0ZWQgd2l0aAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX0hBU0hFeF9TSEEyNTZfPGI+QWNjdW11bGF0ZTwvYj5fRW5kXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5JVCg8L3NwYW4+PC9zcGFuPik8Yj4pPC9iPi4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5JbgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX0hBU0hFeF9TSEEyNTZfPGI+QWNjdW11bGF0ZTwvYj5fRW5kXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5JVCg8L3NwYW4+PC9zcGFuPik8Yj4pPC9iPi4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5JbgogCiAKIAogCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3JkZXIgdG88L3NwYW4+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGF2ZSBhbGlnbmVkIG5hbWVzIGZvbGxvd2luZwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVBJcyBoYXZlIGJlZW4gcmVuYW1lZDo8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVBJcyBoYXZlIGJlZW4gcmVuYW1lZDo8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIiB0eXBlPSJkaXNjIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9ImRpc2MiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9ImRpc2MiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJkaXNjIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTIxIGxldmVsNAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xNDt0YWItc3RvcHM6bGlzdCAyLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SEFMX0hBU0hfTUQ1XzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkFjY3VtdWxhdGUoPC9zcGFuPjwvc3Bhbj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJkaXNjIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iZGlzYyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iZGlzYyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJkaXNjIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX0hBU0hfTUQ1XzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BY2N1bXVsYXRlKDwvc3Bhbj48L3NwYW4+KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbmFtZWQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUxfSEFTSF9NRDVfQWNjbWx0KCk8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTIxIGxldmVsNAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xNDt0YWItc3RvcHM6bGlzdCAyLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SEFMX0hBU0hfU0hBMV88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5BY2N1bXVsYXRlKDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9IQVNIX01ENV9BY2NtbHQoKTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfSEFTSF9TSEExXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BY2N1bXVsYXRlKDwvc3Bhbj48L3NwYW4+KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbmFtZWQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUxfSEFTSF9TSEExX0FjY21sdCgpPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDEyMSBsZXZlbDQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTQ7dGFiLXN0b3BzOmxpc3QgMi4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkhBTF9IQVNIRXhfU0hBMjI0XzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkFjY3VtdWxhdGUoPC9zcGFuPjwvc3Bhbj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX0hBU0hfU0hBMV9BY2NtbHQoKTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfSEFTSEV4X1NIQTIyNF88c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWNjdW11bGF0ZSg8L3NwYW4+PC9zcGFuPikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZW5hbWVkCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX0hBU0hFeF9TSEEyMjRfQWNjbWx0KCk8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUxfSEFTSEV4X1NIQTIyNF9BY2NtbHQoKTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIgdHlwZT0iZGlzYyI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJkaXNjIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJkaXNjIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0iZGlzYyI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDU5IGxldmVsNAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xNTt0YWItc3RvcHM6bGlzdCAyLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SEFMX0hBU0hFeF9TSEEyNTZfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+QWNjdW11bGF0ZSg8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9ImRpc2MiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJkaXNjIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJkaXNjIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9ImRpc2MiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfSEFTSEV4X1NIQTI1Nl88c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWNjdW11bGF0ZSg8L3NwYW4+PC9zcGFuPikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZW5hbWVkCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX0hBU0hFeF9TSEEyNTZfQWNjbWx0KCk8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUxfSEFTSEV4X1NIQTI1Nl9BY2NtbHQoKTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIgdHlwZT0iZGlzYyI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJkaXNjIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTA2IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzE2O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5IQVNIIDxiPmhhbmRsZXI8L2I+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZSBpcyA8Yj5ubyA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPm1vcmU8L3NwYW4+PC9zcGFuPjwvYj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9ImRpc2MiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJkaXNjIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQVNIIDxiPmhhbmRsZXI8L2I+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZSBpcyA8Yj5ubyA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+bW9yZTwvc3Bhbj48L3NwYW4+PC9iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzZXQgdG8gSEFMX0hBU0hfU1RBVEVfUkVBRFkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxiPm9uY2UgRE1BIGhhcyBiZWVuIHN0YXJ0ZWQ8L2I+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiB0aGUgZm9sbG93aW5nIEFQSXM6PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJkaXNjIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTA2IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTY7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkhBTF9IQVNIX01ENV9TdGFydF88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkRNQSg8L3NwYW4+PC9zcGFuPik8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTA2IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTY7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkhBTF9ITUFDX01ENV9TdGFydF88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkRNQSg8L3NwYW4+PC9zcGFuPik8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTA2IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTY7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkhBTF9IQVNIX1NIQTFfU3RhcnRfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5ETUEoPC9zcGFuPjwvc3Bhbj4pPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDEwNiBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzE2O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5IQUxfSE1BQ19TSEExX1N0YXJ0XzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+RE1BKDwvc3Bhbj48L3NwYW4+KTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gdGhlIGZvbGxvd2luZyBBUElzOjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9ImRpc2MiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX0hBU0hfTUQ1X1N0YXJ0XzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5ETUEoPC9zcGFuPjwvc3Bhbj4pPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfSE1BQ19NRDVfU3RhcnRfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkRNQSg8L3NwYW4+PC9zcGFuPik8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9IQVNIX1NIQTFfU3RhcnRfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkRNQSg8L3NwYW4+PC9zcGFuPik8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9ITUFDX1NIQTFfU3RhcnRfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkRNQSg8L3NwYW4+PC9zcGFuPik8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTA2IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzE2O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5IQVNIIDxiPnBoYXNlPC9iPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBU0ggPGI+cGhhc2U8L2I+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZSBpcyBub3cgc2V0IHRvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUxfSEFTSF9QSEFTRV9SRUFEWSA8Yj5vbmNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBkaWdlc3QgaGFzIGJlZW4gcmVhZDwvYj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIHRoZSBmb2xsb3dpbmcgQVBJczo8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9ImRpc2MiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxMDYgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xNjt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SEFTSF88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPklUKDwvc3Bhbj48L3NwYW4+KTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxMDYgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xNjt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkhNQUNfPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5Qcm9jZXNzaW5nKDwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+KTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxMDYgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xNjt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkhBU0hfPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5TdGFydCg8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPik8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTA2IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTY7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5IQVNIXzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+RmluaXNoKDwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+KTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gdGhlIGZvbGxvd2luZyBBUElzOjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9ImRpc2MiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFTSF88c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SVQoPC9zcGFuPjwvc3Bhbj4pPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5ITUFDXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+UHJvY2Vzc2luZyg8L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4pPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQVNIXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+U3RhcnQoPC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+KTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFTSF88L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkZpbmlzaCg8L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4pPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDEwNiBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xNjt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+Q2FzZSBvZiBhCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Q2FzZSBvZiBhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYXJnZSBidWZmZXIgc2NhdHRlcmVkIGFyb3VuZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gbWVtb3J5IGVhY2ggcGllY2Ugb2Ygd2hpY2gKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzIDxiPm5vdDwvYj4gbmVjZXNzYXJpbHkgYSA8Yj5tdWx0aXBsZQogCiAKIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvZiA0PC9iPiBieXRlcyBpbiBsZW5ndGguPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJkaXNjIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTA2IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTY7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkluIHNlY3Rpb24KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2YgNDwvYj4gYnl0ZXMgaW4gbGVuZ3RoLjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9ImRpc2MiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SW4gc2VjdGlvbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiIyMjIyMgSG93IHRvIHVzZSB0aGlzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRyaXZlciAjIyMjIyIsIHN1Yi1zZWN0aW9uCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIqKiogUmVtYXJrcyBvbiBtZXNzYWdlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlbmd0aCAqKioiIGFkZGVkIHRvIHByb3ZpZGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVjb21tZW5kYXRpb25zIHRvIGZvbGxvdyBpbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdWNoIGNhc2UuPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxMDYgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xNjt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+Tm8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3VjaCBjYXNlLjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Tm8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9kaWZpY2F0aW9uIG9mIHRoZSBkcml2ZXIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXMgdGhlIHJvb3QtY2F1c2UgaXMgYXQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzaWduLWxldmVsLjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNpZ24tbGV2ZWwuPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIgdHlwZT0iZGlzYyI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDM3IGxldmVsMQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xNzt0YWItc3RvcHM6bGlzdCAuNWluIj48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iZGlzYyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTCZuYnNwO0NBTgogCiAKIAotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPkhBTCZuYnNwO0NBTgotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPnVwZGF0ZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJkaXNjIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMzcgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTc7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SEFMX0NBTl88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5HZXRSeE1lc3NhZ2UoPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4pIHVwZGF0ZSB0bworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJkaXNjIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfQ0FOXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+R2V0UnhNZXNzYWdlKDwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPikgdXBkYXRlIHRvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXQgdGhlIGNvcnJlY3QgdmFsdWUgZm9yIHRoZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUlRSJm5ic3A7KHR5cGUgb2YgZnJhbWUgZm9yCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgbWVzc2FnZSB0aGF0IHdpbGwgYmUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zbWl0dGVkKSBmaWVsZCBpbiB0aGUgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5DQU5fUnhIZWFkZXJUeXBlRGVmPC9zcGFuPjwvc3Bhbj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdHVyZS48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNtaXR0ZWQpIGZpZWxkIGluIHRoZSA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkNBTl9SeEhlYWRlclR5cGVEZWY8L3NwYW4+PC9zcGFuPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0dXJlLjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMzcgbGV2ZWwxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzE3O3RhYi1zdG9wczpsaXN0IC41aW4iPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAogCiAKIAotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPkhBTAotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRENNSSA8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij51cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJkaXNjIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMzcgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTc7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkFkZCBuZXcgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5IQUxfRENNSV88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5Db25maWdTeW5jVW5tYXNrKDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRENNSSA8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iZGlzYyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkIG5ldyA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9EQ01JXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkNvbmZpZ1N5bmNVbm1hc2soPC9zcGFuPjwvc3Bhbj4pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBUEkgdG8gc2V0IGVtYmVkZGVkCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzeW5jaHJvbml6YXRpb24gZGVsaW1pdGVycwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5tYXNrcy48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5tYXNrcy48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21zby1tYXJnaW4tdG9wLWFsdDphdXRvOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0bzttc28tbGlzdDpsMzcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAogCiAKIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXZlbDEgbGZvMTc7dGFiLXN0b3BzOmxpc3QgLjVpbiI+PGI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij5IQUwKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJUQzwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPiB1cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJkaXNjIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMzcgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTc7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkZvbGxvd2luZyBJUlEKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJUQzwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPiB1cGRhdGU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iZGlzYyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Rm9sbG93aW5nIElSUQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlcnMnIGltcGxlbWVudGF0aW9uIGhhcwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmVlbiBhbGlnbmVkIHdpdGggdGhlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTVE0zMkN1YmUgZmlybXdhcmUKQEAgLTY4MzYsNjkyICsxNzIwLDEzMyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50ZXJydXB0IGxpbmVzIHNoYXJlZCBieQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXVsdGlwbGUgZXZlbnRzLCBmaXJzdCBjaGVjawogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIElUIGVuYWJsZSBiaXQgaXMgc2V0IHRoZW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoZWNrIHRoZSBJVCBmbGFnIGlzIHNldCB0b28pOjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0iY2lyY2xlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMzcgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xNzt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkhBTF9SVENfPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5BbGFybUlSUUhhbmRsZXIoPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4pPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDM3IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTc7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5IQUxfUlRDRXhfPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5XYWtlVXBUaW1lcklSUUhhbmRsZXIoPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4pPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDM3IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTc7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5IQUxfUlRDRXhfPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5UYW1wZXJUaW1lU3RhbXBJUlFIYW5kbGVyKDwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+KTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hlY2sgdGhlIElUIGZsYWcgaXMgc2V0IHRvbyk6PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iY2lyY2xlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9SVENfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BbGFybUlSUUhhbmRsZXIoPC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+KTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX1JUQ0V4Xzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+V2FrZVVwVGltZXJJUlFIYW5kbGVyKDwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPik8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9SVENFeF88L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlRhbXBlclRpbWVTdGFtcElSUUhhbmRsZXIoPC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+KTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iIHR5cGU9ImRpc2MiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw2NyBsZXZlbDEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTg7dGFiLXN0b3BzOmxpc3QgLjVpbiI+PGI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9ImRpc2MiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKIAogCiAKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij5IQUwKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdXREc8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4gdXBkYXRlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0iZGlzYyI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDY3IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzE4O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5JbiAiIyMjIyMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdXREc8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4gdXBkYXRlPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9ImRpc2MiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkluICIjIyMjIwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV1dERyBTcGVjaWZpYyBmZWF0dXJlcyAjIyMjIyIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aXZlIGNvbW1lbnQgc2VjdGlvbjo8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9ImNpcmNsZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDY3IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTg7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPk1heGltYWwgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+cHJlc2NhbGVyPC9zcGFuPjwvc3Bhbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aXZlIGNvbW1lbnQgc2VjdGlvbjo8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJjaXJjbGUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+TWF4aW1hbCA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnByZXNjYWxlcjwvc3Bhbj48L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGhhcyBiZWVuIGNvcnJlY3RlZCAoOAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnN0ZWFkIG9mIDEyOCkuPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDY3IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTg7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPk1heGltYWwgQVBCCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluc3RlYWQgb2YgMTI4KS48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPk1heGltYWwgQVBCCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyZXF1ZW5jeSBoYXMgYmVlbiBjb3JyZWN0ZWQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDQyTUh6IGluc3RlYWQgb2YgNTZNSHopIGFuZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NzaWJsZSB0aW1lb3V0IHZhbHVlcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGVkLjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGVkLjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNjcgbGV2ZWwxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzE4O3RhYi1zdG9wczpsaXN0IC41aW4iPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAogCiAKIAotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPkhBTAotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRE1BMkQgPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+dXBkYXRlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRE1BMkQgPC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIiB0eXBlPSJkaXNjIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9ImNpcmNsZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDU1IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzE5O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5BZGQgdGhlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJkaXNjIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iY2lyY2xlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQgdGhlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb2xsb3dpbmcgQVBJJ3MgdG8gU3RhcnQgRE1BMkQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENMVVQgTG9hZGluZy48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJjaXJjbGUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw1NSBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzE5O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5IQUxfRE1BMkRfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5DTFVUU3RhcnRMb2FkKDwvc3Bhbj48L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdGFydCBETUEyRCBDTFVUIExvYWRpbmcuPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDU1IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTk7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkhBTF9ETUEyRF9DTFVUU3RhcnRMb2FkXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SVQoPC9zcGFuPjwvc3Bhbj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDTFVUIExvYWRpbmcuPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iY2lyY2xlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9ETUEyRF88c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Q0xVVFN0YXJ0TG9hZCg8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RhcnQgRE1BMkQgQ0xVVCBMb2FkaW5nLjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX0RNQTJEX0NMVVRTdGFydExvYWRfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPklUKDwvc3Bhbj48L3NwYW4+KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdGFydCBETUEyRCBDTFVUIExvYWRpbmcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2l0aCBpbnRlcnJ1cHQgZW5hYmxlZC48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2l0aCBpbnRlcnJ1cHQgZW5hYmxlZC48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNTUgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTk7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlRoZSBmb2xsb3dpbmcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5UaGUgZm9sbG93aW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbGQgd3Jvbmcgc2VydmljZXMgd2lsbCBiZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2VwdCBpbiB0aGUgSEFMIERDTUkgZHJpdmVyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgbGVnYWN5IHB1cnBvc2UgYW5kIGEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNwZWNpZmljIE5vdGUmbmJzcDtpcyBhZGRlZDo8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9ImNpcmNsZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDU1IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTk7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkhBTF9ETUEyRF88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkNMVVRMb2FkKDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3BlY2lmaWMgTm90ZSZuYnNwO2lzIGFkZGVkOjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9ImNpcmNsZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfRE1BMkRfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkNMVVRMb2FkKDwvc3Bhbj48L3NwYW4+KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYW4gYmUgcmVwbGFjZWQgd2l0aAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUxfRE1BMkRfQ0xVVFN0YXJ0TG9hZCgpPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDU1IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTk7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkhBTF9ETUEyRF9DTFVUTG9hZF88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPklUKDwvc3Bhbj48L3NwYW4+KSZuYnNwO2NhbgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUxfRE1BMkRfQ0xVVFN0YXJ0TG9hZCgpPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfRE1BMkRfQ0xVVExvYWRfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPklUKDwvc3Bhbj48L3NwYW4+KSZuYnNwO2NhbgogCiAKIAogCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJlIHJlcGxhY2VkIHdpdGgKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX0RNQTJEX0NMVVRTdGFydExvYWRfSVQoKTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw1NSBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzE5O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5IQUxfRE1BMkRfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5Db25maWdDTFVUKDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUxfRE1BMkRfQ0xVVFN0YXJ0TG9hZF9JVCgpPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfRE1BMkRfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkNvbmZpZ0NMVVQoPC9zcGFuPjwvc3Bhbj4pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhbiBiZSBvbWl0dGVkIGFzIHRoZSBjb25maWcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FuIGJlIHBlcmZvcm1lZCB1c2luZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUmbmJzcDtIQUxfRE1BMkRfQ0xVVFN0YXJ0TG9hZCgpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFQSS48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVBJLjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iIHR5cGU9ImRpc2MiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw1NyBsZXZlbDEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMjA7dGFiLXN0b3BzOmxpc3QgLjVpbiI+PGI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9ImRpc2MiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKIAogCiAKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij5IQUwKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNETU1DIDwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPnVwZGF0ZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9ImNpcmNsZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDU3IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzIwO3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+Rml4Jm5ic3A7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cG88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4gaW4gIjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZiI+RmlsZUZvcm1hdEdyb3VwPC9zcGFuPjwvc3Bhbj4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJhbWV0ZXImbmJzcDtpbiB0aGUgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmIj5IQUxfTU1DX0NhcmRDU0RUeXBlRGVmPC9zcGFuPjwvc3Bhbj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3Bhbgotc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZiI+SEFMX1NEX0NhcmRDU0RUeXBlRGVmPC9zcGFuPjwvc3Bhbj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdHVyZXMmbmJzcDs8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw1NyBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8yMDt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+Rml4IGFuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTRE1NQyA8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iY2lyY2xlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTFwdDsgZm9udC1mYW1pbHk6ICZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZjsiPkZpeCZuYnNwOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBvPC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMXB0OyBmb250LWZhbWlseTogJnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmOyI+IGluICI8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZjsiPkZpbGVGb3JtYXRHcm91cDwvc3Bhbj48L3NwYW4+IgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1ldGVyJm5ic3A7aW4gdGhlIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX01NQ19DYXJkQ1NEVHlwZURlZjwvc3Bhbj48L3NwYW4+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfU0RfQ2FyZENTRFR5cGVEZWY8L3NwYW4+PC9zcGFuPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0dXJlcyZuYnNwOzwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkZpeCBhbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW1wcm92ZSZuYnNwO2hhbmRsZSBzdGF0ZSBhbmQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4KLXN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPm1hbmFnZW1lbnQ8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDU3IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzIwO3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5SZW5hbWUgdGhlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJvciA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+bWFuYWdlbWVudDwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+UmVuYW1lIHRoZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmaW5lZCBNTUMgY2FyZCBjYXBhY2l0eSB0eXBlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0byBiZSBtb3JlIG1lYW5pbmdmdWw6PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJkaXNjIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNTcgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8yMDt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gYmUgbW9yZSBtZWFuaW5nZnVsOjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9ImRpc2MiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXBkYXRlIDxiPk1NQ19ISUdIX1ZPTFRBR0VfQ0FSRDwvYj4mbmJzcDt0bwogCiAKIAogCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+VXBkYXRlIDxiPk1NQ19ISUdIX1ZPTFRBR0VfQ0FSRDwvYj4mbmJzcDt0bwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxiPk1NQyBMT1dfQ0FQQUNJVFlfQ0FSRDwvYj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNTcgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8yMDt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+VXBkYXRlIDxiPk1NQ19EVUFMX1ZPTFRBR0VfQ1JBRDwvYj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gPGI+TU1DX0hJR0hfQ0FQQUNJVFlfQ0FSRDwvYj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGI+TU1DIExPV19DQVBBQ0lUWV9DQVJEPC9iPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXBkYXRlIDxiPk1NQ19EVUFMX1ZPTFRBR0VfQ1JBRDwvYj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gPGI+TU1DX0hJR0hfQ0FQQUNJVFlfQ0FSRDwvYj48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNTcgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMjA7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ib3JwaGFuczogMjt3aWRvd3M6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyO2Zsb2F0Om5vbmU7d29yZC1zcGFjaW5nOjBweCI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+Rml4CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0ib3JwaGFuczogMjsgd2lkb3dzOiAyOyBmbG9hdDogbm9uZTsgd29yZC1zcGFjaW5nOiAwcHg7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Rml4CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hbmFnZW1lbnQgb2YgcGVyaXBoZXJhbAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGFncyBkZXBlbmRpbmcgb24gY29tbWFuZHMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3ImbmJzcDtkYXRhIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+dHJhbnNmZXJzPC9zcGFuPjwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJkaXNjIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNTcgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8yMDt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im9ycGhhbnM6IDI7d2lkb3dzOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyO2Zsb2F0Om5vbmU7d29yZC1zcGFjaW5nOjBweCI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+QWRkIG5ldworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvciZuYnNwO2RhdGEgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnRyYW5zZmVyczwvc3Bhbj48L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9ImRpc2MiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0ib3JwaGFuczogMjsgd2lkb3dzOiAyOyBmbG9hdDogbm9uZTsgd29yZC1zcGFjaW5nOiAwcHg7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkIG5ldwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmluZXMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiU0RJT19TVEFUSUNfQ01EX0ZMQUdTIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCAiU0RJT19TVEFUSUNfREFUQV88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5GTEFHUyI8L3NwYW4+PC9zcGFuPiZuYnNwOzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNTcgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8yMDt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im9ycGhhbnM6IDI7d2lkb3dzOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyO2Zsb2F0Om5vbmU7d29yZC1zcGFjaW5nOjBweCI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+VXBkYXRlcyZuYnNwO0hBTAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCAiU0RJT19TVEFUSUNfREFUQV88c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RkxBR1MiPC9zcGFuPjwvc3Bhbj4mbmJzcDs8L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJvcnBoYW5zOiAyOyB3aWRvd3M6IDI7IGZsb2F0OiBub25lOyB3b3JkLXNwYWNpbmc6IDBweDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGVzJm5ic3A7SEFMCiAKIAogCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU0QgYW5kIEhBTCBNTUMgZHJpdmVycyB0bwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hbmFnZSB0aGUgbmV3IFNESU8gc3RhdGljCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxhZ3MuPGJyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLXNwZWNpYWwtY2hhcmFjdGVyOmxpbmUtYnJlYWsiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS1baWYgIXN1cHBvcnRMaW5lQnJlYWtOZXdMaW5lXS0tPjxicgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1zcGVjaWFsLWNoYXJhY3RlcjoKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1icmVhayI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLVtlbmRpZl0tLT48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsYWdzLjxiciBzdHlsZT0iIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tW2lmICFzdXBwb3J0TGluZUJyZWFrTmV3TGluZV0tLT48YnIgc3R5bGU9IiI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLVtlbmRpZl0tLT48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDU3IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzIwO3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48L3NwYW4+RHVlIHRvCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+PC9zcGFuPkR1ZSB0bwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbWl0YXRpb24gU0RJTyBoYXJkd2FyZSBmbG93CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udHJvbCBpbmRpY2F0ZWQgaW4gRXJyYXRhCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU2hlZXQ6PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9ImRpc2MiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw1NyBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzIwO3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5JbiA0LWJpdHMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTaGVldDo8c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9ImRpc2MiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SW4gNC1iaXRzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1cyB3aWRlIG1vZGUsIGRvIG5vdCB1c2UKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkhBTF9TRF9Xcml0ZUJsb2Nrc188L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SVQoPC9zcGFuPjwvc3Bhbj4pCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9yIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi1zdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5IQUxfU0RfV3JpdGVCbG9ja3M8L3NwYW4+PC9zcGFuPigpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9TRF9Xcml0ZUJsb2Nrc188L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5JVCg8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3IgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfU0RfV3JpdGVCbG9ja3M8L3NwYW4+PC9zcGFuPigpCiAKIAogCkBAIC03NTI5LDExNzEgKzE4NTQsMjU0IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFQSXMgb3RoZXJ3aXNlIHVuZGVycnVuIHdpbGwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2NjdXIgYW5kIGl0IGlzbid0IHBvc3NpYmxlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvIGFjdGl2YXRlIHRoZSBmbG93Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRyb2wuPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw1NyBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzIwO3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5Vc2UgRE1BCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRyb2wuPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5Vc2UgRE1BCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vZGUgd2hlbiB1c2luZyA0LWJpdHMgYnVzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZGUgbW9kZSBvciBkZWNyZWFzZSB0aGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU0RJT19DSyBmcmVxdWVuY3kuPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNESU9fQ0sgZnJlcXVlbmN5Ljwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNTcgbGV2ZWwxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzIwO3RhYi1zdG9wczpsaXN0IC41aW4iPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAogCiAKIAotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPkhBTAotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVUFSVCA8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij51cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJjaXJjbGUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw1NyBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8yMDt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+VXBkYXRlIFVBUlQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVBUlQgPC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9ImNpcmNsZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXBkYXRlIFVBUlQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvbGxpbmcgcHJvY2Vzc2VzIHRvIGhhbmRsZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWZmaWNpZW50bHkgdGhlIExvY2sgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPm1lY2hhbmlzbTwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJkaXNjIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNTcgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8yMDt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+Jm5ic3A7TW92ZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWZmaWNpZW50bHkgdGhlIExvY2sgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPm1lY2hhbmlzbTwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iZGlzYyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4mbmJzcDtNb3ZlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBwcm9jZXNzIHVubG9jayBhdCB0aGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9wIG9mIHRoZSZuYnNwOzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkhBTF9VQVJUXzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5SZWNlaXZlKDwvc3Bhbj48L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4KLXN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkhBTF9VQVJUX1RyYW5zbWl0PC9zcGFuPjwvc3Bhbj4oKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3Agb2YgdGhlJm5ic3A7PHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfVUFSVF88L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5SZWNlaXZlKDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfVUFSVF9UcmFuc21pdDwvc3Bhbj48L3NwYW4+KCkKIAogCiAKIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBUEkuPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFQSS48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNTcgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMjA7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkZpeCA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPmJhdWRyYXRlPC9zcGFuPjwvc3Bhbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5GaXggPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5iYXVkcmF0ZTwvc3Bhbj48L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYWxjdWxhdGlvbiBlcnJvciBmb3IgY2xvY2sKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpZ2hlciB0aGFuIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj4xNzJNaHo8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0iZGlzYyI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDU3IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMjA7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkFkZCBhCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaWdoZXIgdGhhbiA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+MTcyTWh6PC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJkaXNjIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZCBhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcmNlZCBjYXN0IG9uCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVBUlRfRElWX1NBTVBMSU5HOCgpIGFuZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVQVJUX0RJVl9TQU1QTElORzE2KCkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFjcm9zLjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw1NyBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzIwO3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5SZW1vdmUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFjcm9zLjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+UmVtb3ZlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZWxlc3MgcGFyZW50aGVzaXMgZnJvbQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVQVJUX0RJVkZSQVFfU0FNUExJTkc4KCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVBUlRfRElWRlJBUV9TQU1QTElORzE2KCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVBUlRfQlJSX1NBTVBMSU5HOCgpIGFuZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVQVJUX0JSUl9TQU1QTElORzE2KCkgbWFjcm9zCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvIHNvbHZlIHNvbWUgTUlTUkEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2FybmluZ3MuPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdzLjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw1NyBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8yMDt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+VXBkYXRlIFVBUlQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUgVUFSVAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50ZXJydXB0aW9uIGhhbmRsZXIgdG8gbWFuYWdlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb3JyZWN0bHkgdGhlIG92ZXJydW4gPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPmludGVycnVwdDwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJkaXNjIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNTcgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8yMDt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+QWRkJm5ic3A7aW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi1zdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5IQUxfVUFSVF88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SVJRSGFuZGxlcig8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvcnJlY3RseSB0aGUgb3ZlcnJ1biA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+aW50ZXJydXB0PC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJkaXNjIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZCZuYnNwO2luCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9VQVJUXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPklSUUhhbmRsZXIoPC9zcGFuPjwvc3Bhbj4pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFQSSBhIGNoZWNrIG9uCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVTQVJUX0NSMV9SWE5FSUUgYml0IHdoZW4gYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3ZlcnJ1biBpbnRlcnJ1cHQgb2NjdXJzLjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdmVycnVuIGludGVycnVwdCBvY2N1cnMuPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDU3IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzIwO3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5GaXggPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5iYXVkcmF0ZTwvc3Bhbj48L3NwYW4+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Rml4IDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+YmF1ZHJhdGU8L3NwYW4+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FsY3VsYXRpb24gZXJyb3ImbmJzcDtVQVJUOQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4KLXN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPlVBUlQxMDwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJkaXNjIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNTcgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8yMDt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SW4gPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+VUFSVF88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+U2V0Q29uZmlnKDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VQVJUMTA8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9ImRpc2MiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SW4gPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VQVJUXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlNldENvbmZpZyg8L3NwYW4+PC9zcGFuPikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVBJIGZpeCBVQVJUOSBhbmQgVUFSVDEwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsb2NrIHNvdXJjZSB3aGVuIGNvbXB1dGluZwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+YmF1ZHJhdGU8L3NwYW4+PC9zcGFuPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPmJhdWRyYXRlPC9zcGFuPjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzIGJ5IGFkZGluZyBhIGNoZWNrIG9uCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZXNlIGluc3RhbmNlcyBhbmQgc2V0dGluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbG9jayBzb3VyY2VQQ0xLMiBpbnN0ZWFkIG9mCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBDTEsxLjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUENMSzEuPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDU3IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzIwO3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5VcGRhdGUgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5VQVJUXzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPlNldENvbmZpZyg8L3NwYW4+PC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFQSTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0iZGlzYyI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDU3IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMjA7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlNwbGl0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9SQ0NfR2V0UENMSzE8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkZyZXEoPC9zcGFuPjwvc3Bhbj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXBkYXRlIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VUFSVF88L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5TZXRDb25maWcoPC9zcGFuPjwvc3Bhbj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBUEk8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJkaXNjIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlNwbGl0CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9SQ0NfR2V0UENMSzE8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RnJlcSg8L3NwYW4+PC9zcGFuPikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIEhBTF9SQ0NfR2V0UENMSzJGcmVxKCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFjcm9zIGZyb20gdGhlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVBUlRfQlJSX1NBTVBMSU5HOCgpIGFuZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVQVJUX0JSUl9TQU1QTElORzgoKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWNyb3MmbmJzcDs8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFjcm9zJm5ic3A7PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw1NyBsZXZlbDEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMjA7dGFiLXN0b3BzOmxpc3QgLjVpbiI+PGI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMCiAKIAogCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+SEFMCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVU0FSVCA8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij51cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJjaXJjbGUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw1NyBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8yMDt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+Rml4IDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+YmF1ZHJhdGU8L3NwYW4+PC9zcGFuPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVVNBUlQgPC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9ImNpcmNsZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Rml4IDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+YmF1ZHJhdGU8L3NwYW4+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FsY3VsYXRpb24gZXJyb3IgZm9yIGNsb2NrCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaWdoZXIgdGhhbiA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+MTcyTWh6PC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9ImRpc2MiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw1NyBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzIwO3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5BZGQgYQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JjZWQgY2FzdCBvbiBVU0FSVF88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkRJVig8L3NwYW4+PC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFjcm8uPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDU3IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMjA7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlJlbW92ZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGlnaGVyIHRoYW4gPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPjE3Mk1oejwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iZGlzYyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQgYQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JjZWQgY2FzdCBvbiBVU0FSVF88c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RElWKDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWNyby48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlJlbW92ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VsZXNzJm5ic3A7cGFyZW50aGVzaXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJvbSBVU0FSVF88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkRJVkZSQVEoPC9zcGFuPjwvc3Bhbj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyb20gVVNBUlRfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkRJVkZSQVEoPC9zcGFuPjwvc3Bhbj4pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hY3JvIHRvIHNvbHZlIHNvbWUgTUlTUkEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2FybmluZ3MuPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3YXJuaW5ncy48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNTcgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMjA7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlVwZGF0ZSBVU0FSVAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZSBVU0FSVAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50ZXJydXB0aW9uIGhhbmRsZXIgdG8gbWFuYWdlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb3JyZWN0bHkgdGhlIG92ZXJydW4gPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPmludGVycnVwdDwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJkaXNjIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNTcgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8yMDt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+QWRkJm5ic3A7aW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi1zdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5IQUxfVVNBUlRfPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPklSUUhhbmRsZXIoPC9zcGFuPjwvc3Bhbj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb3JyZWN0bHkgdGhlIG92ZXJydW4gPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPmludGVycnVwdDwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iZGlzYyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQmbmJzcDtpbgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfVVNBUlRfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SVJRSGFuZGxlcig8L3NwYW4+PC9zcGFuPikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVBJIGEgY2hlY2sgb24KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVVNBUlRfQ1IxX1JYTkVJRSBiaXQgd2hlbiBhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdmVycnVuIGludGVycnVwdCBvY2N1cnMuPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG92ZXJydW4gaW50ZXJydXB0IG9jY3Vycy48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNTcgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMjA7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkZpeCA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPmJhdWRyYXRlPC9zcGFuPjwvc3Bhbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5GaXggPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5iYXVkcmF0ZTwvc3Bhbj48L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYWxjdWxhdGlvbiBlcnJvciZuYnNwO1VBUlQ5Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3Bhbgotc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+VUFSVDEwPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9ImRpc2MiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw1NyBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzIwO3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5JbiA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5VU0FSVF88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+U2V0Q29uZmlnKDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VQVJUMTA8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9ImRpc2MiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SW4gPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VU0FSVF88L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5TZXRDb25maWcoPC9zcGFuPjwvc3Bhbj4pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFQSSBmaXggVUFSVDkgYW5kIFVBUlQxMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbG9jayBzb3VyY2Ugd2hlbiBjb21wdXRpbmcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPmJhdWRyYXRlPC9zcGFuPjwvc3Bhbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5iYXVkcmF0ZTwvc3Bhbj48L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlcyBieSBhZGRpbmcgYSBjaGVjayBvbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGVzZSBpbnN0YW5jZXMgYW5kIHNldHRpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xvY2sgc291cmNlUENMSzIgaW5zdGVhZCBvZgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQQ0xLMS48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBDTEsxLjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw1NyBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8yMDt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+VXBkYXRlIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+VVNBUlRfPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+U2V0Q29uZmlnKDwvc3Bhbj48L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVBJPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJkaXNjIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNTcgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8yMDt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+U3BsaXQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX1JDQ19HZXRQQ0xLMTxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+RnJlcSg8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VU0FSVF88L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5TZXRDb25maWcoPC9zcGFuPjwvc3Bhbj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBUEk8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJkaXNjIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlNwbGl0CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9SQ0NfR2V0UENMSzE8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RnJlcSg8L3NwYW4+PC9zcGFuPikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIEhBTF9SQ0NfR2V0UENMSzJGcmVxKCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFjcm9zIGZyb20gdGhlIFVTQVJUX0JSUigpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hY3JvPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hY3JvPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw1NyBsZXZlbDEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMjA7dGFiLXN0b3BzOmxpc3QgLjVpbiI+PGI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMCiAKIAogCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+SEFMCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJUkRBIDwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPnVwZGF0ZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9ImNpcmNsZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDU3IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzIwO3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5GaXggPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5iYXVkcmF0ZTwvc3Bhbj48L3NwYW4+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJUkRBIDwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJjaXJjbGUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkZpeCA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPmJhdWRyYXRlPC9zcGFuPjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhbGN1bGF0aW9uIGVycm9yIGZvciBjbG9jawotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGlnaGVyIHRoYW4gPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPjE3Mk1oejwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJkaXNjIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNTcgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8yMDt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+QWRkIGEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yY2VkIGNhc3Qgb24gSVJEQV88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkRJVig8L3NwYW4+PC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFjcm8uPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDU3IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMjA7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlJlbW92ZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGlnaGVyIHRoYW4gPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPjE3Mk1oejwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iZGlzYyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQgYQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JjZWQgY2FzdCBvbiBJUkRBXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5ESVYoPC9zcGFuPjwvc3Bhbj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hY3JvLjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+UmVtb3ZlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZWxlc3MmbmJzcDtwYXJlbnRoZXNpcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmcm9tIElSREFfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5ESVZGUkFRKDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmcm9tIElSREFfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkRJVkZSQVEoPC9zcGFuPjwvc3Bhbj4pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hY3JvJm5ic3A7dG8gc29sdmUgc29tZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNSVNSQSB3YXJuaW5ncy48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUlTUkEgd2FybmluZ3MuPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDU3IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzIwO3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5VcGRhdGUgSVJEQQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZSBJUkRBCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnRlcnJ1cHRpb24gaGFuZGxlciB0byBtYW5hZ2UKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvcnJlY3RseSB0aGUgb3ZlcnJ1biA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+aW50ZXJydXB0PC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9ImRpc2MiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw1NyBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzIwO3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5BZGQmbmJzcDtpbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4KLXN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkhBTF9JUkRBXzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5JUlFIYW5kbGVyKDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29ycmVjdGx5IHRoZSBvdmVycnVuIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5pbnRlcnJ1cHQ8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9ImRpc2MiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkJm5ic3A7aW4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX0lSREFfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SVJRSGFuZGxlcig8L3NwYW4+PC9zcGFuPikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVBJIGEgY2hlY2sgb24KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVVNBUlRfQ1IxX1JYTkVJRSBiaXQgd2hlbiBhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdmVycnVuIGludGVycnVwdCBvY2N1cnMuPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG92ZXJydW4gaW50ZXJydXB0IG9jY3Vycy48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNTcgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMjA7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkZpeCA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPmJhdWRyYXRlPC9zcGFuPjwvc3Bhbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5GaXggPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5iYXVkcmF0ZTwvc3Bhbj48L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYWxjdWxhdGlvbiBlcnJvciZuYnNwO1VBUlQ5Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3Bhbgotc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+VUFSVDEwPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9ImRpc2MiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw1NyBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzIwO3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5JbiA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5JUkRBXzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5TZXRDb25maWcoPC9zcGFuPjwvc3Bhbj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVBUlQxMDwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iZGlzYyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5JbiA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPklSREFfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+U2V0Q29uZmlnKDwvc3Bhbj48L3NwYW4+KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBUEkgZml4IFVBUlQ5IGFuZCBVQVJUMTAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xvY2sgc291cmNlIHdoZW4gY29tcHV0aW5nCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5iYXVkcmF0ZTwvc3Bhbj48L3NwYW4+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+YmF1ZHJhdGU8L3NwYW4+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXMgYnkgYWRkaW5nIGEgY2hlY2sgb24KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlc2UgaW5zdGFuY2VzIGFuZCBzZXR0aW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsb2NrIHNvdXJjZVBDTEsyIGluc3RlYWQgb2YKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUENMSzEuPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQQ0xLMS48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNTcgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMjA7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlVwZGF0ZSA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPklSREFfPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+U2V0Q29uZmlnKDwvc3Bhbj48L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVBJPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJkaXNjIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNTcgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8yMDt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+U3BsaXQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX1JDQ19HZXRQQ0xLMTxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+RnJlcSg8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5JUkRBXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlNldENvbmZpZyg8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFQSTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9ImRpc2MiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+U3BsaXQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX1JDQ19HZXRQQ0xLMTxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5GcmVxKDwvc3Bhbj48L3NwYW4+KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgSEFMX1JDQ19HZXRQQ0xLMkZyZXEoKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWNyb3MgZnJvbSB0aGUgSVJEQV9CUlIoKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWNybzwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWNybzwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNTcgbGV2ZWwxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzIwO3RhYi1zdG9wczpsaXN0IC41aW4iPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAogCiAKIAotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPkhBTAotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU01BUlRDQVJEIDwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPnVwZGF0ZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJjaXJjbGUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw1NyBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8yMDt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+Rml4IDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+YmF1ZHJhdGU8L3NwYW4+PC9zcGFuPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU01BUlRDQVJEIDwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJjaXJjbGUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkZpeCA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPmJhdWRyYXRlPC9zcGFuPjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhbGN1bGF0aW9uIGVycm9yIGZvciBjbG9jawotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGlnaGVyIHRoYW4gPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPjE3Mk1oejwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJkaXNjIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNTcgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8yMDt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGlnaGVyIHRoYW4gPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPjE3Mk1oejwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iZGlzYyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQgYQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JjZWQgY2FzdCBvbiBTTUFSVENBUkRfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkRJVig8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFjcm8uPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5SZW1vdmUmbmJzcDt1c2VsZXNzJm5ic3A7cGFyZW50aGVzaXMKIAogCiAKIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkFkZCBhCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcmNlZCBjYXN0IG9uIFNNQVJUQ0FSRF88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkRJVig8L3NwYW4+PC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFjcm8uPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDU3IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMjA7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlJlbW92ZSZuYnNwO3VzZWxlc3MmbmJzcDtwYXJlbnRoZXNpcwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyb20gU01BUlRDQVJEXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+RElWRlJBUSg8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJvbSBTTUFSVENBUkRfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkRJVkZSQVEoPC9zcGFuPjwvc3Bhbj4pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hY3JvJm5ic3A7dG8gc29sdmUgc29tZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNSVNSQSB3YXJuaW5ncy48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUlTUkEgd2FybmluZ3MuPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDU3IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzIwO3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5VcGRhdGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNNQVJUQ0FSRCBpbnRlcnJ1cHRpb24gaGFuZGxlcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gbWFuYWdlIGNvcnJlY3RseSB0aGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG92ZXJydW4gPHNwYW4gY2xhc3M9ImdyYW1lIj48c3Bhbgotc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+aW50ZXJydXB0aTwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJkaXNjIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNTcgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8yMDt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+QWRkJm5ic3A7aW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi1zdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5IQUxfU01BUlRDQVJEXzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5JUlFIYW5kbGVyKDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3ZlcnJ1biA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+aW50ZXJydXB0aTwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iZGlzYyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQmbmJzcDtpbgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfU01BUlRDQVJEXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPklSUUhhbmRsZXIoPC9zcGFuPjwvc3Bhbj4pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFQSSBhIGNoZWNrIG9uCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVTQVJUX0NSMV9SWE5FSUUgYml0IHdoZW4gYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3ZlcnJ1biBpbnRlcnJ1cHQgb2NjdXJzLjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdmVycnVuIGludGVycnVwdCBvY2N1cnMuPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDU3IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzIwO3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5VcGRhdGUgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5TTUFSVENBUkRfPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+U2V0Q29uZmlnKDwvc3Bhbj48L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVBJPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJkaXNjIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNTcgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8yMDt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+U3BsaXQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX1JDQ19HZXRQQ0xLMTxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+RnJlcSg8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5TTUFSVENBUkRfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+U2V0Q29uZmlnKDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVBJPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iZGlzYyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5TcGxpdAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUxfUkNDX0dldFBDTEsxPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkZyZXEoPC9zcGFuPjwvc3Bhbj4pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCBIQUxfUkNDX0dldFBDTEsyRnJlcSgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hY3JvcyBmcm9tIHRoZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTTUFSVENBUkRfQlJSKCkgbWFjcm88L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU01BUlRDQVJEX0JSUigpIG1hY3JvPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw1NyBsZXZlbDEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMjA7dGFiLXN0b3BzOmxpc3QgLjVpbiI+PGI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMCiAKIAogCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+SEFMCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUSU0gPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+dXBkYXRlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0iY2lyY2xlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNTcgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMjA7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkFkZCBuZXcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRJTSA8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iY2lyY2xlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQgbmV3CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWNyb3MgdG8gZW5hYmxlIGFuZCBkaXNhYmxlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgZmFzdCBtb2RlIHdoZW4gdXNpbmcgdGhlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbmUgcHVsc2UgbW9kZSB0byBvdXRwdXQgYQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2F2ZWZvcm0gd2l0aCBhIG1pbmltdW0gPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPmRlbGF5PC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9ImRpc2MiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw1NyBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzIwO3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5fXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkhBTF9USU1fRU5BQkxFXzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5PQ3hGQVNUKDwvc3Bhbj48L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgX188c3BhbiBjbGFzcz0ic3BlbGxlIj48c3Bhbgotc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX1RJTV9ESVNBQkxFX09DeEZBU1Q8L3NwYW4+PC9zcGFuPigpLjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2F2ZWZvcm0gd2l0aCBhIG1pbmltdW0gPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPmRlbGF5PC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJkaXNjIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPl9fPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfVElNX0VOQUJMRV88L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5PQ3hGQVNUKDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgX188c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9USU1fRElTQUJMRV9PQ3hGQVNUPC9zcGFuPjwvc3Bhbj4oKS48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNTcgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMjA7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlVwZGF0ZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRW5jb2RlciBpbnRlcmZhY2UgbW9kZSB0bwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2VlcCZuYnNwOzxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi1zdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5USU1fQ0NFUl9DQ3hOUDwvc3Bhbj48L3NwYW4+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiaXRzIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4KLXN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPmxvdzwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJkaXNjIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNTcgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8yMDt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+QWRkJm5ic3A7VElNX0VOQ09ERVJJTlBVVFBPTEFSSVRZX1JJU0lORworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2VlcCZuYnNwOzxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VElNX0NDRVJfQ0N4TlA8L3NwYW4+PC9zcGFuPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYml0cyA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+bG93PC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJkaXNjIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZCZuYnNwO1RJTV9FTkNPREVSSU5QVVRQT0xBUklUWV9SSVNJTkcKIAogCiAKQEAgLTg3MDEsMjk1ICsyMTA5LDU5IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUSU1fRU5DT0RFUklOUFVUUE9MQVJJVFlfRkFMTElORwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWZpbml0aW9ucyB0byBkZXRlcm1pbmUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5jb2RlciBpbnB1dCBwb2xhcml0eS48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNTcgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8yMDt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+QWRkCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElTX1RJTV9FTkNPREVSSU5QVVRfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPlBPTEFSSVRZKDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbmNvZGVyIGlucHV0IHBvbGFyaXR5Ljwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElTX1RJTV9FTkNPREVSSU5QVVRfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlBPTEFSSVRZKDwvc3Bhbj48L3NwYW4+KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWNybyB0byBjaGVjayZuYnNwO3RoZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbmNvZGVyIGlucHV0IHBvbGFyaXR5Ljwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw1NyBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzIwO3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5VcGRhdGUgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX1RJTV9FbmNvZGVyXzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5Jbml0KDwvc3Bhbj48L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBUEkmbmJzcDs8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0iZGlzYyI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDU3IGxldmVsNAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8yMDt0YWItc3RvcHM6bGlzdCAyLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+UmVwbGFjZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElTX1RJTV9JQ188c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5QT0xBUklUWSg8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5jb2RlciBpbnB1dCBwb2xhcml0eS48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZSA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9USU1fRW5jb2Rlcl88L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5Jbml0KDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBUEkmbmJzcDs8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9ImRpc2MiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5SZXBsYWNlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSVNfVElNX0lDXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5QT0xBUklUWSg8L3NwYW4+PC9zcGFuPikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWNybyBieQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElTX1RJTV9FTkNPREVSSU5QVVRfUE9MQVJJVFkoKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hY3JvLjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWNyby48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw1NyBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8yMDt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+VXBkYXRlIFRJTQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZSBUSU0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbWFwcGluZyBpbnB1dCBjb25maWd1cmF0aW9uCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkhBTF9USU1FeF88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5SZW1hcENvbmZpZyg8L3NwYW4+PC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFQSTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0iZGlzYyI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDU3IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMjA7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlJlbW92ZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfVElNRXhfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+UmVtYXBDb25maWcoPC9zcGFuPjwvc3Bhbj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBUEk8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJkaXNjIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlJlbW92ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWR1bmRhbnQgY2hlY2sgb24KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTFBUSU1fT1JfVElNNV9JVFIxX1JNUCBiaXQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIHJlcGxhY2UgaXQgYnkgY2hlY2sgb24KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTFBUSU1fT1JfVElNOV9JVFIxX1JNUCBiaXQuPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExQVElNX09SX1RJTTlfSVRSMV9STVAgYml0Ljwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw1NyBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8yMDt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+VXBkYXRlIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX1RJTUV4Xzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPk1hc3RlckNvbmZpZ1N5bmNocm9uaXphdGlvbig8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfVElNRXhfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+TWFzdGVyQ29uZmlnU3luY2hyb25pemF0aW9uKDwvc3Bhbj48L3NwYW4+KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVBJIHRvIGF2b2lkIGZ1bmN0aW9uYWwgZXJyb3JzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgYXNzZXJ0IGZhaWxzIHdoZW4gdXNpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNvbWUgVElNIGluc3RhbmNlcyBhcyBpbnB1dAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJpZ2dlci48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJkaXNjIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNTcgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8yMDt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+UmVwbGFjZSZuYnNwO0lTX1RJTV9TWU5DSFJPXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SU5TVEFOQ0UoPC9zcGFuPjwvc3Bhbj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmlnZ2VyLjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9ImRpc2MiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+UmVwbGFjZSZuYnNwO0lTX1RJTV9TWU5DSFJPXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5JTlNUQU5DRSg8L3NwYW4+PC9zcGFuPikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFjcm8gYnkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSVNfVElNX01BU1RFUl9JTlNUQU5DRSgpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hY3JvLiZuYnNwOzwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw1NyBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzIwO3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5BZGQmbmJzcDtJU19USU1fU0xBVkVfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5JTlNUQU5DRSg8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFjcm8uJm5ic3A7PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQmbmJzcDtJU19USU1fU0xBVkVfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPklOU1RBTkNFKDwvc3Bhbj48L3NwYW4+KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWNybyB0byZuYnNwO2NoZWNrIG9uCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9TTUNSX01TTSBiaXQuPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9TTUNSX01TTSBiaXQuPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDU3IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzIwO3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5BZGQgbGFja2luZwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVElNIGlucHV0IHJlbWFwcGluZyA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+ZGVmaW5pdGlvbjwvc3Bhbj48L3NwYW4+Jm5ic3A7PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJkaXNjIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNTcgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8yMDt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+QWRkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkIGxhY2tpbmcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRJTSBpbnB1dCByZW1hcHBpbmcgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPmRlZmluaXRpb248L3NwYW4+PC9zcGFuPiZuYnNwOzwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9ImRpc2MiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExMX1RJTV9USU0xMV9USTFfUk1QX1NQRElGUlgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExMX1RJTV9USU0yX0lUUjFfUk1QX0VUSF9QVFAuPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDU3IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMjA7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkFkZCBsYWNraW5nCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExMX1RJTV9USU0yX0lUUjFfUk1QX0VUSF9QVFAuPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQgbGFja2luZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWZpbml0aW9uIGZvciBsaW5rZWQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTFBUSU1fVElNIGlucHV0IHRyaWdnZXIgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5yZW1hcHBpbmc8L3NwYW4+PC9zcGFuPiZuYnNwOyZuYnNwOzwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJkaXNjIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNTcgbGV2ZWw0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzIwO3RhYi1zdG9wczpsaXN0IDIuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5BZGQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb2xsb3dpbmcgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+ZGVmaW5pdGlvbnMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTFBUSU1fVElNIGlucHV0IHRyaWdnZXIgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnJlbWFwcGluZzwvc3Bhbj48L3NwYW4+Jm5ic3A7Jm5ic3A7PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJkaXNjIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9sbG93aW5nIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5kZWZpbml0aW9ucwogCiAKIApAQCAtOTAxNCwyMDAgKzIxODYsNDEgQEAKIAogCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTExfVElNX1RJTTFfSVRSMl9STVBfTFBUSU0uPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDU3IGxldmVsNAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8yMDt0YWItc3RvcHM6bGlzdCAyLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+QWRkIGEgbmV3Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVjaGFuaXNtIGluIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5MTF9USU1fPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5TZXRSZW1hcCg8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMTF9USU1fVElNMV9JVFIyX1JNUF9MUFRJTS48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkIGEgbmV3CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVjaGFuaXNtIGluIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+TExfVElNXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlNldFJlbWFwKDwvc3Bhbj48L3NwYW4+KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFQSSB0byByZW1hcCBUSU0xLCBUSU05LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCBUSU01Jm5ic3A7aW5wdXQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmlnZ2VycyBtYXBwZWQgb24gTFBUSU0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWdpc3Rlci4mbmJzcDs8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWdpc3Rlci4mbmJzcDs8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNTcgbGV2ZWwxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzIwO3RhYi1zdG9wczpsaXN0IC41aW4iPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAogCiAKIAotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPkhBTAotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTFBUSU0gPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+dXBkYXRlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0iY2lyY2xlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNTcgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMjA7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkFkZCBhIHBvbGxpbmcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExQVElNIDwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJjaXJjbGUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZCBhIHBvbGxpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lY2hhbmlzbSB0byBjaGVjawogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb24mbmJzcDtMUFRJTV9GTEFHX1hYT0sgZmxhZ3MKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIGRpZmZlcmVudCA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+QVBJPC9zcGFuPjwvc3Bhbj4mbmJzcDs8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9ImRpc2MiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw1NyBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzIwO3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5BZGQmbmJzcDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+TFBUSU1fV2FpdEZvckZsYWc8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPigpIEFQSSB0bwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3YWl0IGZvciBmbGFnIHNldC48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNTcgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8yMDt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+UGVyZm9ybSBuZXcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIGRpZmZlcmVudCA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QVBJPC9zcGFuPjwvc3Bhbj4mbmJzcDs8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJkaXNjIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkJm5ic3A7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkxQVElNX1dhaXRGb3JGbGFnPC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+KCkgQVBJIHRvCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdhaXQgZm9yIGZsYWcgc2V0Ljwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+UGVyZm9ybSBuZXcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hlY2tzIG9uCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9MUFRJTV9TVEFURV9USU1FT1VULjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUxfTFBUSU1fU1RBVEVfVElNRU9VVC48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNTcgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMjA7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkFkZCBsYWNraW5nCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkIGxhY2tpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmluaXRpb25zIG9mIExQVElNIGlucHV0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmlnZ2VyIHJlbWFwcGluZyBhbmQgaXRzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWxhdGVkJm5ic3A7PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkFQSTwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJkaXNjIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0iZGlzYyI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDU3IGxldmVsNAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8yMDt0YWItc3RvcHM6bGlzdCAyLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+TExfTFBUSU1fSU5QVVQxX1NSQ19QQURfQUYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWxhdGVkJm5ic3A7PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFQSTwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iZGlzYyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJkaXNjIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+TExfTFBUSU1fSU5QVVQxX1NSQ19QQURfQUYsCiAKIAogCkBAIC05MjIxLDM0NiArMjIzNCw1MSBAQAogCiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMTF9MUFRJTV9JTlBVVDFfU1JDX1RJTV9EQUMuPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDU3IGxldmVsNAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8yMDt0YWItc3RvcHM6bGlzdCAyLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+QWRkIGEgbmV3Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVBJIExMX0xQVElNX1NldElucHV0MTxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5TcmMoPC9zcGFuPjwvc3Bhbj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTExfTFBUSU1fSU5QVVQxX1NSQ19USU1fREFDLjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQgYSBuZXcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBUEkgTExfTFBUSU1fU2V0SW5wdXQxPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlNyYyg8L3NwYW4+PC9zcGFuPikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0byBhY2Nlc3MgdG8gdGhlIExQVElNX09SCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVnaXN0ZXIgYW5kIHJlbWFwIHRoZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExQVElNIGlucHV0IHRyaWdnZXIuPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExQVElNIGlucHV0IHRyaWdnZXIuPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNTcgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMjA7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlBlcmZvcm0gYSBuZXcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5QZXJmb3JtIGEgbmV3CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGVjayBvbiBpbmRpcmVjdCBFWFRJMjMgbGluZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXNzb2NpYXRlZCB0byB0aGUgTFBUSU0gd2FrZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXAgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3Bhbgotc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+dGltZXI8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0iZGlzYyI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDU3IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMjA7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkNvbmRpdGlvbgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXAgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnRpbWVyPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJkaXNjIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkNvbmRpdGlvbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgdXNlIG9mIHRoZSBMUFRJTSBXYWtlLXVwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRpbWVyIGFzc29jaWF0ZWQgRVhUSQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lJm5ic3A7Y29uZmlndXJhdGlvbidzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hY3JvcyBieSZuYnNwO0VYVElfSU1SX01SMjMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYml0IGluIGRpZmZlcmVudCA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkFQSQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiaXQgaW4gZGlmZmVyZW50IDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BUEkKIAogCiAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDo8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJkaXNjIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNTcgbGV2ZWw0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzIwO3RhYi1zdG9wczpsaXN0IDIuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5fX0hBTF9MUFRJTV9XQUtFVVBUSU1FUl9FWFRJX0VOQUJMRS9ERElTQUJMRV9GQUxMSU5HXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkVER0UoPC9zcGFuPjwvc3Bhbj4pPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw1NyBsZXZlbDQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMjA7dGFiLXN0b3BzOmxpc3QgMi4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPl9fSEFMX0xQVElNX1dBS0VVUFRJTUVSX0VYVElfRElTQUJMRV9GQUxMSU5HXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkVER0UoPC9zcGFuPjwvc3Bhbj4pPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw1NyBsZXZlbDQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMjA7dGFiLXN0b3BzOmxpc3QgMi4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPl9fSEFMX0xQVElNX1dBS0VVUFRJTUVSX0VYVElfRU5BQkxFX1JJU0lOR188c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5FREdFKDwvc3Bhbj48L3NwYW4+KSZuYnNwOzwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNTcgbGV2ZWw0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzIwO3RhYi1zdG9wczpsaXN0IDIuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5fX0hBTF9MUFRJTV9XQUtFVVBUSU1FUl9FWFRJX0RJU0FCTEVfUklTSU5HXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkVER0UoPC9zcGFuPjwvc3Bhbj4pPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw1NyBsZXZlbDQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMjA7dGFiLXN0b3BzOmxpc3QgMi4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPl9fSEFMX0xQVElNX1dBS0VVUFRJTUVSX0VYVElfRU5BQkxFX1JJU0lOR19GQUxMSU5HXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkVER0UoPC9zcGFuPjwvc3Bhbj4pPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw1NyBsZXZlbDQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMjA7dGFiLXN0b3BzOmxpc3QgMi4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPl9fSEFMX0xQVElNX1dBS0VVUFRJTUVSX0VYVElfRElTQUJMRV9SSVNJTkdfRkFMTElOR188c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5FREdFKDwvc3Bhbj48L3NwYW4+KTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNTcgbGV2ZWw0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzIwO3RhYi1zdG9wczpsaXN0IDIuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5fX0hBTF9MUFRJTV9XQUtFVVBUSU1FUl9FWFRJX0dFVF88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5GTEFHKDwvc3Bhbj48L3NwYW4+KTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNTcgbGV2ZWw0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzIwO3RhYi1zdG9wczpsaXN0IDIuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5fX0hBTF9MUFRJTV9XQUtFVVBUSU1FUl9FWFRJX0NMRUFSXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkZMQUcoPC9zcGFuPjwvc3Bhbj4pPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw1NyBsZXZlbDQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMjA7dGFiLXN0b3BzOmxpc3QgMi4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPl9fSEFMX0xQVElNX1dBS0VVUFRJTUVSX0VYVElfR0VORVJBVEVfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+U1dJVCg8L3NwYW4+PC9zcGFuPikmbmJzcDs8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6PC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9ImRpc2MiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5fX0hBTF9MUFRJTV9XQUtFVVBUSU1FUl9FWFRJX0VOQUJMRS9ERElTQUJMRV9GQUxMSU5HXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5FREdFKDwvc3Bhbj48L3NwYW4+KTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5fX0hBTF9MUFRJTV9XQUtFVVBUSU1FUl9FWFRJX0RJU0FCTEVfRkFMTElOR188c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RURHRSg8L3NwYW4+PC9zcGFuPik8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+X19IQUxfTFBUSU1fV0FLRVVQVElNRVJfRVhUSV9FTkFCTEVfUklTSU5HXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5FREdFKDwvc3Bhbj48L3NwYW4+KSZuYnNwOzwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5fX0hBTF9MUFRJTV9XQUtFVVBUSU1FUl9FWFRJX0RJU0FCTEVfUklTSU5HXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5FREdFKDwvc3Bhbj48L3NwYW4+KTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5fX0hBTF9MUFRJTV9XQUtFVVBUSU1FUl9FWFRJX0VOQUJMRV9SSVNJTkdfRkFMTElOR188c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RURHRSg8L3NwYW4+PC9zcGFuPik8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+X19IQUxfTFBUSU1fV0FLRVVQVElNRVJfRVhUSV9ESVNBQkxFX1JJU0lOR19GQUxMSU5HXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5FREdFKDwvc3Bhbj48L3NwYW4+KTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5fX0hBTF9MUFRJTV9XQUtFVVBUSU1FUl9FWFRJX0dFVF88c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RkxBRyg8L3NwYW4+PC9zcGFuPik8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+X19IQUxfTFBUSU1fV0FLRVVQVElNRVJfRVhUSV9DTEVBUl88c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RkxBRyg8L3NwYW4+PC9zcGFuPik8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+X19IQUxfTFBUSU1fV0FLRVVQVElNRVJfRVhUSV9HRU5FUkFURV88c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+U1dJVCg8L3NwYW4+PC9zcGFuPikmbmJzcDs8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw1NyBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzIwO3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+Jm5ic3A7PC9zcGFuPjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfTFBUSU1fVGltZU91dF9TdGFydF88L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPklUKDwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPiksIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX0xQVElNX1RpbWVPdXRfU3RvcF9JVDwvc3Bhbj48L3NwYW4+KCksCiAKIAogCiAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5VcGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+Jm5ic3A7PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5IQUxfTFBUSU1fVGltZU91dF9TdGFydF88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPklUKDwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9MUFRJTV9Db3VudGVyX1N0YXJ0X0lUPC9zcGFuPjwvc3Bhbj4oKQogCiAKIAogCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+KSwgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX0xQVElNX1RpbWVPdXRfU3RvcF9JVDwvc3Bhbj48L3NwYW4+KCksCi0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkhBTF9MUFRJTV9Db3VudGVyX1N0YXJ0X0lUPC9zcGFuPjwvc3Bhbj4oKQotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3Bhbgotc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX0xQVElNX0NvdW50ZXJfU3RvcF9JVDwvc3Bhbj48L3NwYW4+KCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX0xQVElNX0NvdW50ZXJfU3RvcF9JVDwvc3Bhbj48L3NwYW4+KCkKIAogCiAKQEAgLTk1NjgsNDY2ICsyMjg2LDEyNCBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBUEkgYnkgYWRkaW5nIEVuYWJsZS9EaXNhYmxlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJpc2luZyBlZGdlIHRyaWdnZXIgb24KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlJm5ic3A7TFBUSU0gV2FrZS11cCBUaW1lcgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+RXh0aTwvc3Bhbj48L3NwYW4+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUuPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDU3IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMjA7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkFkZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX0hBTF9MUFRJTV9XQUtFVVBUSU1FUl9FWFRJX0NMRUFSXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+RkxBRyg8L3NwYW4+PC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gdGhlIGVuZCBvZiB0aGUgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX0xQVElNX0lSUUhhbmRsZXI8L3NwYW4+PC9zcGFuPigpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RXh0aTwvc3Bhbj48L3NwYW4+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUuPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19IQUxfTFBUSU1fV0FLRVVQVElNRVJfRVhUSV9DTEVBUl88c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RkxBRyg8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gdGhlIGVuZCBvZiB0aGUgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfTFBUSU1fSVJRSGFuZGxlcjwvc3Bhbj48L3NwYW4+KCkKIAogCiAKIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBUEkgY29uZGl0aW9uZWQgYnkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRVhUSV9JTVJfTVIyMyBiaXQuPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVYVElfSU1SX01SMjMgYml0Ljwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNTcgbGV2ZWwxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzIwO3RhYi1zdG9wczpsaXN0IC41aW4iPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAogCiAKIAotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPkhBTAotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSTJDIDwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPnVwZGF0ZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEkyQyA8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCB0eXBlPSJjaXJjbGUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG87bXNvLWxpc3Q6bDU3Ci0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWwyIGxmbzIwO3RhYi1zdG9wczogbGlzdAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+VXBkYXRlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUxfSTJDX0VWXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4KLXN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPklSUUhhbmRsZXIoPC9zcGFuPjwvc3Bhbj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX0kyQ19FVl88c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SVJRSGFuZGxlcig8L3NwYW4+PC9zcGFuPikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFQSSB0byBmaXggSTJDIHNlbmQgYnJlYWsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzc3VlJm5ic3A7PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0iZGlzYyI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDU3IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMjA7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkFkZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNzdWUmbmJzcDs8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJkaXNjIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZGRpdGlvbmFsIGNoZWNrIG9uCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpMmMtJmd0OzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPmhkbWF0eDwvc3Bhbj48L3NwYW4+LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+aGRtYXR4PC9zcGFuPjwvc3Bhbj4tJmd0OzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPlhmZXJDcGx0Q2FsbGJhY2s8L3NwYW4+PC9zcGFuPiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGkyYy0mZ3Q7PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+aGRtYXJ4PC9zcGFuPjwvc3Bhbj4sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5oZG1hcng8L3NwYW4+PC9zcGFuPi0mZ3Q7PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+WGZlckNwbHRDYWxsYmFjazwvc3Bhbj48L3NwYW4+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIEkyQ19NYXN0ZXJfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5TQig8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGkyYy0mZ3Q7PHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5oZG1hdHg8L3NwYW4+PC9zcGFuPiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5oZG1hdHg8L3NwYW4+PC9zcGFuPi0mZ3Q7PHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5YZmVyQ3BsdENhbGxiYWNrPC9zcGFuPjwvc3Bhbj4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpMmMtJmd0OzxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+aGRtYXJ4PC9zcGFuPjwvc3Bhbj4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+aGRtYXJ4PC9zcGFuPjwvc3Bhbj4tJmd0OzxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+WGZlckNwbHRDYWxsYmFjazwvc3Bhbj48L3NwYW4+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIEkyQ19NYXN0ZXJfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlNCKDwvc3Bhbj48L3NwYW4+KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBUEkgdG8gYXZvaWQmbmJzcDtlbmFibGluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBETUEgcmVxdWVzdCZuYnNwO3doZW4gSVQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9kZSBpcyB1c2VkLjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2RlIGlzIHVzZWQuPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDU3IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzIwO3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5VcGRhdGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9JMkNfRVJfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3Bhbgotc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SVJRSGFuZGxlcig8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9JMkNfRVJfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPklSUUhhbmRsZXIoPC9zcGFuPjwvc3Bhbj4pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBUEkgdG8gZml4IGFja25vd2xlZGdlIGZhaWx1cmUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzc3VlIHdpdGggSTJDIG1lbW9yeSBJVAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvY2Vzc2VzPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJkaXNjIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNTcgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8yMDt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+Jm5ic3A7QWRkJm5ic3A7c3RvcAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvY2Vzc2VzPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iZGlzYyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4mbmJzcDtBZGQmbmJzcDtzdG9wCiAKIAogCiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uZGl0aW9uIGdlbmVyYXRpb24gd2hlbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOQUNLIG9jY3Vycy48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTkFDSyBvY2N1cnMuPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDU3IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzIwO3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5VcGRhdGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9JMkNfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3Bhbgotc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SW5pdCg8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9JMkNfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkluaXQoPC9zcGFuPjwvc3Bhbj4pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBUEkgdG8gZm9yY2Ugc29mdHdhcmUgcmVzZXQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJlZm9yZSBzZXR0aW5nIG5ldyBJMkMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYXRpb248L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw1NyBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8yMDt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+VXBkYXRlIEhBTAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSTJDIHByb2Nlc3NlcyB0byByZXBvcnQgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5FcnJvckNvZGU8L3NwYW4+PC9zcGFuPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhdGlvbjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZSBIQUwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEkyQyBwcm9jZXNzZXMgdG8gcmVwb3J0IDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RXJyb3JDb2RlPC9zcGFuPjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdoZW4gd3JvbmcgSTJDIHN0YXJ0IGNvbmRpdGlvbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPm9jY3Vyczwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJkaXNjIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNTcgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8yMDt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+Jm5ic3A7QWRkCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ldyZuYnNwOzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkVycm9yQ29kZTwvc3Bhbj48L3NwYW4+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmluZTogSEFMX0kyQ19XUk9OR19TVEFSVDwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw1NyBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzIwO3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4mbmJzcDtTZXQgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+RXJyb3JDb2RlPC9zcGFuPjwvc3Bhbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5vY2N1cnM8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9ImRpc2MiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Jm5ic3A7QWRkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ldyZuYnNwOzxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RXJyb3JDb2RlPC9zcGFuPjwvc3Bhbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmaW5lOiBIQUxfSTJDX1dST05HX1NUQVJUPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4mbmJzcDtTZXQgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5FcnJvckNvZGU8L3NwYW4+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJhbWV0ZXIgaW4mbmJzcDtJMkMgaGFuZGxlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvIEhBTF9JMkNfV1JPTkdfU1RBUlQ8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gSEFMX0kyQ19XUk9OR19TVEFSVDwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw1NyBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8yMDt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+VXBkYXRlJm5ic3A7STJDXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5ETUFYZmVyQ3BsdCg8L3NwYW4+PC9zcGFuPiksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXBkYXRlJm5ic3A7STJDXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5ETUFYZmVyQ3BsdCg8L3NwYW4+PC9zcGFuPiksCiAKIAogCiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEkyQ19ETUFFcnJvcigpIGFuZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSTJDX0RNQUFib3J0KCkgQVBJcyB0byBmaXggPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5oYXJkZmF1bHQ8L3NwYW4+PC9zcGFuPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNzdWUgd2hlbiA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPmhkbWF0eDwvc3Bhbj48L3NwYW4+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4KLXN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPmhkbWFyeDwvc3Bhbj48L3NwYW4+Jm5ic3A7cGFyYW1ldGVycworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSTJDX0RNQUFib3J0KCkgQVBJcyB0byBmaXggPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5oYXJkZmF1bHQ8L3NwYW4+PC9zcGFuPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNzdWUgd2hlbiA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPmhkbWF0eDwvc3Bhbj48L3NwYW4+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5oZG1hcng8L3NwYW4+PC9zcGFuPiZuYnNwO3BhcmFtZXRlcnMKIAogCiAKIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gaTJjIGhhbmRsZSBhcmVuJ3QKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluaXRpYWxpemVkIChOVUxMIHBvaW50ZXIpLjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPiA8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9ImRpc2MiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw1NyBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzIwO3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5BZGQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluaXRpYWxpemVkIChOVUxMIHBvaW50ZXIpLjwvc3Bhbj48c3BhbiBzdHlsZT0iIj4gPG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJkaXNjIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZGRpdGlvbmFsIGNoZWNrIG9uCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpMmMtJmd0OzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPmhkbXR4PC9zcGFuPjwvc3Bhbj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIGhpMmMtJmd0OzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPmhkbWFyeDwvc3Bhbj48L3NwYW4+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpMmMtJmd0OzxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+aGRtdHg8L3NwYW4+PC9zcGFuPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgaGkyYy0mZ3Q7PHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5oZG1hcng8L3NwYW4+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZWZvcmUgcmVzZXR0aW5nJm5ic3A7RE1BCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFR4L1J4IGNvbXBsZXRlIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+Y2FsbGJhY2tzPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVHgvUnggY29tcGxldGUgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPmNhbGxiYWNrczwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw1NyBsZXZlbDEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMjA7dGFiLXN0b3BzOmxpc3QgLjVpbiI+PGI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMCiAKIAogCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+SEFMCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGTVBJMkMgPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+dXBkYXRlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9ImNpcmNsZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDU3IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzIwO3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5GaXggSEFMCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGTVBJMkMgPC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9ImNpcmNsZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Rml4IEhBTAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRk1QSTJDIHNsYXZlIGludGVycnVwdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxpbmcgaXNzdWUgd2l0aCBJMkMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlcXVlbnRpYWwgdHJhbnNmZXJzLjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0iZGlzYyI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDU3IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMjA7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlVwZGF0ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGTVBJMkNfU2xhdmVfSVNSXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SVQoPC9zcGFuPjwvc3Bhbj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXF1ZW50aWFsIHRyYW5zZmVycy48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJkaXNjIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGTVBJMkNfU2xhdmVfSVNSXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5JVCg8L3NwYW4+PC9zcGFuPikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIEZNUEkyQ19TbGF2ZV9JU1JfRE1BKCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVBJcyB0byBjaGVjayBvbiBTVE9QCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbmRpdGlvbiBhbmQgaGFuZGxlIGl0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJlZm9yZSBjbGVhcmluZyB0aGUgQUREUgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGFnPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsYWc8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDU3IGxldmVsMQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8yMDt0YWItc3RvcHM6bGlzdCAuNWluIj48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKIAogCiAKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij5IQUwKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5BTkQgPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+dXBkYXRlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0iY2lyY2xlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNTcgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMjA7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlVwZGF0ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX05BTkRfV3JpdGVfUGFnZV84PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPmIoPC9zcGFuPjwvc3Bhbj4pLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTkFORCA8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iY2lyY2xlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9OQU5EX1dyaXRlX1BhZ2VfODxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5iKDwvc3Bhbj48L3NwYW4+KSwKIAogCiAKQEAgLTEwMDM1LDUxMiArMjQxMSwxMjcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCZuYnNwOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX05BTkRfV3JpdGVfU3BhcmVBcmVhXzE2YigpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0byBtYW5hZ2UgY29ycmVjdGx5IHRoZSB0aW1lCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdXQgY29uZGl0aW9uLjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3V0IGNvbmRpdGlvbi48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDU3IGxldmVsMQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8yMDt0YWItc3RvcHM6bGlzdCAuNWluIj48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKIAogCiAKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij5IQUwKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNBSSA8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij51cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJjaXJjbGUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw1NyBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8yMDt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+T3B0aW1pemUgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5TQUlfPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+RE1BVHhDcGx0KDwvc3Bhbj48L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi1zdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5TQUlfRE1BUnhDcGx0PC9zcGFuPjwvc3Bhbj4oKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU0FJIDwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJjaXJjbGUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPk9wdGltaXplIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+U0FJXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkRNQVR4Q3BsdCg8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlNBSV9ETUFSeENwbHQ8L3NwYW4+PC9zcGFuPigpCiAKIAogCiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFQSXMgdG8gY2hlY2sgb24gIk1vZGUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJhbWV0ZXIgaW5zdGVhZCBvZiZuYnNwO0NJUkMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJpdCBpbiB0aGUgQ1IgcmVnaXN0ZXIuPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNTcgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMjA7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlJlbW92ZSB1bnVzZWQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNBSV9GSUZPX1NJWkUgZGVmaW5lPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNTcgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMjA7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlVwZGF0ZSA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkhBTF9TQUlfUmVjZWl2ZV88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5ETUEoPC9zcGFuPjwvc3Bhbj4pCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9ncmFtbWluZyBzZXF1ZW5jZSB0byBiZSA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPmlubGluZTwvc3Bhbj48L3NwYW4+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aXRoIHJlZmVyZW5jZSBtYW51YWw8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYml0IGluIHRoZSBDUiByZWdpc3Rlci48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5SZW1vdmUgdW51c2VkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTQUlfRklGT19TSVpFIGRlZmluZTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZSA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9TQUlfUmVjZWl2ZV88L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5ETUEoPC9zcGFuPjwvc3Bhbj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9ncmFtbWluZyBzZXF1ZW5jZSB0byBiZSA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPmlubGluZTwvc3Bhbj48L3NwYW4+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aXRoIHJlZmVyZW5jZSBtYW51YWw8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtYXJnaW4tcmlnaHQ6NTAwLjBwdDtiYWNrZ3JvdW5kOiMzMzY2RkY7LW1vei1iYWNrZ3JvdW5kLWNsaXA6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbml0aWFsOyAtbW96LWJhY2tncm91bmQtb3JpZ2luOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5pdGlhbDstbW96LWJhY2tncm91bmQtaW5saW5lLXBvbGljeToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluaXRpYWw7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6MCU7YmFja2dyb3VuZC1wb3NpdGlvbi15OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNTAlO2JhY2tncm91bmQtYXR0YWNobWVudDogc2Nyb2xsIj48Zm9udAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcj0iI2ZmZmZmZiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtBcmlhbCZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzIHN0eWxlPSJiYWNrZ3JvdW5kOiByZ2IoNTEsIDEwMiwgMjU1KSBub25lIHJlcGVhdCBzY3JvbGwgMCUgNTAlOyAtbW96LWJhY2tncm91bmQtY2xpcDogLW1vei1pbml0aWFsOyAtbW96LWJhY2tncm91bmQtb3JpZ2luOiAtbW96LWluaXRpYWw7IC1tb3otYmFja2dyb3VuZC1pbmxpbmUtcG9saWN5OiAtbW96LWluaXRpYWw7IG1hcmdpbi1yaWdodDogNTAwcHQ7Ij48Zm9udCBjb2xvcj0iI2ZmZmZmZiI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O0FyaWFsJnF1b3Q7LHNhbnMtc2VyaWY7Ij5WMS43LjYKIAogCiAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDs7Y29sb3I6d2hpdGUiPlYxLjcuNgotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8gMTItQXByaWwtMjAxOTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9mb250PjwvaDM+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1yaWdodDowaW47bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21hcmdpbi1sZWZ0Oi4yNWluIj48Yj48dT48c3Bhbgotc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6Ci0mcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6YmxhY2siPk1haW4gQ2hhbmdlczwvc3Bhbj48L3U+PC9iPjwvcD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIiB0eXBlPSJkaXNjIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMzkgbGV2ZWwxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzIxO3RhYi1zdG9wczpsaXN0IC41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij5HZW5lcmFsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyAxMi1BcHJpbC0yMDE5PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvZm9udD48L2gzPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW46IDQuNXB0IDBpbiA0LjVwdCAwLjI1aW47Ij48Yj48dT48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyBjb2xvcjogYmxhY2s7Ij5NYWluIENoYW5nZXM8L3NwYW4+PC91PjwvYj48L3A+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJkaXNjIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+R2VuZXJhbAogCiAKIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZXMgdG8gZml4IGtub3duIGRlZmVjdHMgYW5kCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5oYW5jZW1lbnRzIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPmltcGxlbWVudGF0aW9uPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbmhhbmNlbWVudHMgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPmltcGxlbWVudGF0aW9uPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMCiAKIAogCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwzOSBsZXZlbDEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMjE7dGFiLXN0b3BzOmxpc3QgLjVpbiI+PGI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij5IQUwKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEkyQyA8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij51cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJjaXJjbGUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwzOSBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8yMTt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+Rml4IEkyQyBzZW5kCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhayBpc3N1ZSBpbiBJVCA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+cHJvY2Vzc2VzPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDM5IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMjE7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkFkZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSTJDIDwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJjaXJjbGUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkZpeCBJMkMgc2VuZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWsgaXNzdWUgaW4gSVQgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnByb2Nlc3Nlczwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZGRpdGlvbmFsIGNoZWNrIG9uCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpMmMtJmd0OzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPmhkbWF0eDwvc3Bhbj48L3NwYW4+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCBoaTJjLSZndDs8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5oZG1hcng8L3NwYW4+PC9zcGFuPiZuYnNwO3RvCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpMmMtJmd0OzxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+aGRtYXR4PC9zcGFuPjwvc3Bhbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIGhpMmMtJmd0OzxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+aGRtYXJ4PC9zcGFuPjwvc3Bhbj4mbmJzcDt0bwogCiAKIAogCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF2b2lkIHRoZSZuYnNwO0RNQSByZXF1ZXN0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuYWJsZSB3aGVuIElUIG1vZGUgaXMgdXNlZC48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5hYmxlIHdoZW4gSVQgbW9kZSBpcyB1c2VkLjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMzkgbGV2ZWwxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzIxO3RhYi1zdG9wczpsaXN0IC41aW4iPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAogCiAKIAotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPkhBTAotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU1BJIDwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPnVwZGF0ZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9ImNpcmNsZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDM5IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzIxO3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5VcGRhdGUgdG8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGltcGxlbWVudCA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkVycmF0YXNoZWV0PC9zcGFuPjwvc3Bhbj46CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTUEkgPC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9ImNpcmNsZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXBkYXRlIHRvCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbXBsZW1lbnQgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5FcnJhdGFzaGVldDwvc3Bhbj48L3NwYW4+OgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQlNZIGJpdCBtYXkgc3RheSBoaWdoIGF0IHRoZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5kIG9mIGEgZGF0YSB0cmFuc2ZlciBpbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU2xhdmUgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3Bhbgotc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+bW9kZTwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNsYXZlIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5tb2RlPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDM5IGxldmVsMQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8yMTt0YWItc3RvcHM6bGlzdCAuNWluIj48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5MTAorCisKKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTFBUSU0gPC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9ImNpcmNsZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Rml4CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21waWxhdGlvbiBlcnJvcnMgd2l0aCA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkxMX0xQVElNXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPldyaXRlUmVnKDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+TExfTFBUSU1fUmVhZFJlZzwvc3Bhbj48L3NwYW4+KCkKIAogCiAKIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij5MTAotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTFBUSU0gPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+dXBkYXRlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0iY2lyY2xlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMzkgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMjE7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkZpeAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tcGlsYXRpb24gZXJyb3JzIHdpdGggPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5MTF9MUFRJTV88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5Xcml0ZVJlZyg8L3NwYW4+PC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3Bhbgotc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+TExfTFBUSU1fUmVhZFJlZzwvc3Bhbj48L3NwYW4+KCkKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFjcm9zPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hY3Jvczwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMzkgbGV2ZWwxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzIxO3RhYi1zdG9wczpsaXN0IC41aW4iPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAogCiAKIAotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPkhBTAotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU0RNTUMgPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+dXBkYXRlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0iY2lyY2xlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMzkgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMjE7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkZpeAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU0RNTUMgPC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9ImNpcmNsZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Rml4CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmVwcm9jZXNzaW5nIGNvbXBpbGF0aW9uCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc3N1ZSB3aXRoIFNESU8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNUQSZuYnNwO1NUQklURVJSIGludGVycnVwdDwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTVEEmbmJzcDtTVEJJVEVSUiBpbnRlcnJ1cHQ8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDM5IGxldmVsMQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8yMTt0YWItc3RvcHM6bGlzdCAuNWluIj48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwvTEwKKworCisKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVTQiA8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iY2lyY2xlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGVkIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VVNCXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPldyaXRlUGFja2V0KDwvc3Bhbj48L3NwYW4+KSwKIAogCiAKIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij5IQUwvTEwKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVTQiA8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij51cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0iY2lyY2xlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMzkgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMjE7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlVwZGF0ZWQgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5VU0JfPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+V3JpdGVQYWNrZXQoPC9zcGFuPjwvc3Bhbj4pLAotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPlVTQl9SZWFkUGFja2V0PC9zcGFuPjwvc3Bhbj4oKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VU0JfUmVhZFBhY2tldDwvc3Bhbj48L3NwYW4+KCkKIAogCiAKIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVBJcyB0byBwcmV2ZW50IGNvbXBpbGF0aW9uCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3YXJuaW5nIHdpdGggR0NDIEdOVSB2OC4yLjA8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwzOSBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8yMTt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+UmV3b3JrIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+VVNCXzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkVQU3RhcnRYZmVyKDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlJld29yayA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVTQl88L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5FUFN0YXJ0WGZlcig8L3NwYW4+PC9zcGFuPikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFQSSB0byBlbmFibGUgdGhlIFVTQiBlbmRwb2ludAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmVmb3JlIHVubWFza2luZyB0aGUgVFggPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5GaUZvPC9zcGFuPjwvc3Bhbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJlZm9yZSB1bm1hc2tpbmcgdGhlIFRYIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RmlGbzwvc3Bhbj48L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbXB0eSBpbnRlcnJ1cHQgaW4gY2FzZSBETUEgaXMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vdCB1c2VkPG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMzkgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMjE7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlVTQiA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkhBTF9IQ0RfPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SW5pdCg8L3NwYW4+PC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3Bhbgotc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX1BDRF9Jbml0PC9zcGFuPjwvc3Bhbj4oKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVTQiA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9IQ0RfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SW5pdCg8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9QQ0RfSW5pdDwvc3Bhbj48L3NwYW4+KCkKIAogCiAKQEAgLTEwNTUwLDc2ICsyNTQxLDIxIEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnN0YW5jZSwgVVNCIERNQSBmZWF0dXJlIGlzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdmFpbGFibGUgb25seSBvbiBPVEcgSFMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEluc3RhbmNlPG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMzkgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMjE7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlJlbW92ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZHVwbGljYXRlZCBsaW5lIGluIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+aGFsX2hjZC5jPC9zcGFuPjwvc3Bhbj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlYWRlciBmaWxlIGNvbW1lbnQgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPnNlY3Rpb248L3NwYW4+PC9zcGFuPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlJlbW92ZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZHVwbGljYXRlZCBsaW5lIGluIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+aGFsX2hjZC5jPC9zcGFuPjwvc3Bhbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlYWRlciBmaWxlIGNvbW1lbnQgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnNlY3Rpb248L3NwYW4+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMzkgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMjE7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlJld29yayBVU0IKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTCBkcml2ZXIgdG8gdXNlIGluc3RhbmNlIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+UENEX1NQRUVEX3h4eDwvc3Bhbj48L3NwYW4+LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5IQ0RfU1BFRURfeHg8L3NwYW4+PC9zcGFuPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlJld29yayBVU0IKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTCBkcml2ZXIgdG8gdXNlIGluc3RhbmNlIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+UENEX1NQRUVEX3h4eDwvc3Bhbj48L3NwYW4+LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQ0RfU1BFRURfeHg8L3NwYW4+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3BlZWRzIGluc3RlYWQgb2YgT1RHIHJlZ2lzdGVyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDb3JlIHNwZWVkIGRlZmluaXRpb24gZHVyaW5nCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgaW5zdGFuY2UgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPmluaXRpYWxpemF0aW9uPC9zcGFuPjwvc3Bhbj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwzOSBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8yMTt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+U29mdHdhcmUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBpbnN0YW5jZSA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+aW5pdGlhbGl6YXRpb248L3NwYW4+PC9zcGFuPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+U29mdHdhcmUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFF1YWxpdHkgaW1wcm92ZW1lbnQgd2l0aCBhIGZpeAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2YgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4KLXN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkNvZGVTb25hcjwvc3Bhbj48L3NwYW4+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3YXJuaW5nIG9uIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+UENEX1BvcnRfPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SVJRSGFuZGxlcig8L3NwYW4+PC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCAmbmJzcDs8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3Bhbgotc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SENEX1BvcnRfSVJRSGFuZGxlcjwvc3Bhbj48L3NwYW4+KCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9mIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Q29kZVNvbmFyPC9zcGFuPjwvc3Bhbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmcgb24gPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5QQ0RfUG9ydF88L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5JUlFIYW5kbGVyKDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kICZuYnNwOzxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SENEX1BvcnRfSVJRSGFuZGxlcjwvc3Bhbj48L3NwYW4+KCkKIAogCiAKQEAgLTEwNjI3LDQ3NiArMjU2MywxMjkgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludGVycnVwdCBoYW5kbGVyczxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibWFyZ2luLXJpZ2h0OjUwMC4wcHQ7YmFja2dyb3VuZDojMzM2NkZGOy1tb3otYmFja2dyb3VuZC1jbGlwOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5pdGlhbDsgLW1vei1iYWNrZ3JvdW5kLW9yaWdpbjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluaXRpYWw7LW1vei1iYWNrZ3JvdW5kLWlubGluZS1wb2xpY3k6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbml0aWFsOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbi14OjAlO2JhY2tncm91bmQtcG9zaXRpb24teToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDUwJTtiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IHNjcm9sbCI+PGZvbnQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I9IiNmZmZmZmYiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7QXJpYWwmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBzdHlsZT0iYmFja2dyb3VuZDogcmdiKDUxLCAxMDIsIDI1NSkgbm9uZSByZXBlYXQgc2Nyb2xsIDAlIDUwJTsgLW1vei1iYWNrZ3JvdW5kLWNsaXA6IC1tb3otaW5pdGlhbDsgLW1vei1iYWNrZ3JvdW5kLW9yaWdpbjogLW1vei1pbml0aWFsOyAtbW96LWJhY2tncm91bmQtaW5saW5lLXBvbGljeTogLW1vei1pbml0aWFsOyBtYXJnaW4tcmlnaHQ6IDUwMHB0OyI+PGZvbnQgY29sb3I9IiNmZmZmZmYiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtBcmlhbCZxdW90OyxzYW5zLXNlcmlmOyI+VjEuNy41CiAKIAogCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7O2NvbG9yOndoaXRlIj5WMS43LjUKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvIDA4LUZlYnJ1YXJ5LTIwMTk8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvZm9udD48L2gzPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tcmlnaHQ6MGluO21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttYXJnaW4tbGVmdDouMjVpbiI+PGI+PHU+PHNwYW4KLXN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OgotJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOmJsYWNrIj5NYWluIENoYW5nZXM8L3NwYW4+PC91PjwvYj48bzpwPjwvbzpwPjwvcD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtYXJnaW4tdG9wOjBpbjt0ZXh0LWFsaWduOnN0YXJ0O3dvcmQtc3BhY2luZzowcHgiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw3MiBsZXZlbDEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMjI7dGFiLXN0b3BzOmxpc3QgLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPkdlbmVyYWwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvIDA4LUZlYnJ1YXJ5LTIwMTk8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9mb250PjwvaDM+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjogNC41cHQgMGluIDQuNXB0IDAuMjVpbjsiPjxiPjx1PjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7IGNvbG9yOiBibGFjazsiPk1haW4gQ2hhbmdlczwvc3Bhbj48L3U+PC9iPjxvOnA+PC9vOnA+PC9wPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyB0ZXh0LWFsaWduOiBzdGFydDsgd29yZC1zcGFjaW5nOiAwcHg7IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5HZW5lcmFsCiAKIAogCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlcyB0byBmaXgga25vd24gZGVmZWN0cyBhbmQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbmhhbmNlbWVudHMgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+aW1wbGVtZW50YXRpb248L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuaGFuY2VtZW50cyA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+aW1wbGVtZW50YXRpb248L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5HZW5lcmFsCiAKIAogCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw3MiBsZXZlbDEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMjI7dGFiLXN0b3BzOmxpc3QgLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPkdlbmVyYWwKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGVzIHRvIGZpeCA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+Q29kZVNvbmFyPC9zcGFuPjwvc3Bhbj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21waWxhdGlvbiA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuCi1zdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj53YXJuaW5nczwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw3MiBsZXZlbDEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMjI7dGFiLXN0b3BzOmxpc3QgLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPkdlbmVyYWwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGVzIHRvIGZpeCA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkNvZGVTb25hcjwvc3Bhbj48L3NwYW4+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tcGlsYXRpb24gPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPndhcm5pbmdzPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+R2VuZXJhbAogCiAKIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZXMgdG8gZml4IFNXNFNUTTMyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tcGlsYXRpb24gZXJyb3JzIHVuZGVyIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkxpbnV4PC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDcyIGxldmVsMQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8yMjt0YWItc3RvcHM6bGlzdCAuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+R2VuZXJhbAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbXBpbGF0aW9uIGVycm9ycyB1bmRlciA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+TGludXg8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5HZW5lcmFsCiAKIAogCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlcyB0byBmaXggdGhlIHVzZXIgbWFudWFsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmNobSA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuCi1zdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5maWxlczwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw3MiBsZXZlbDEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMjI7dGFiLXN0b3BzOmxpc3QgLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPkFkZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5jaG0gPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPmZpbGVzPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3VwcG9ydCBvZiBIQUwgY2FsbGJhY2sKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWdpc3RyYXRpb24gPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+ZmVhdHVyZTwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZ2lzdHJhdGlvbiA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+ZmVhdHVyZTwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtYXJnaW4tdG9wOjBpbjt0ZXh0LWFsaWduOnN0YXJ0O3dvcmQtc3BhY2luZzowcHgiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwyMSBsZXZlbDEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMjM7dGFiLXN0b3BzOmxpc3QgLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IHRleHQtYWxpZ246IHN0YXJ0OyB3b3JkLXNwYWNpbmc6IDBweDsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ldzxzcGFuIGNsYXNzPSJhcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+IDwvc3Bhbj48L3NwYW4+PGI+SEFMCiAKIAogCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPkFkZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ldzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iYXBwbGUtY29udmVydGVkLXNwYWNlIj48c3Bhbgotc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+IDwvc3Bhbj48L3NwYW4+PGI+SEFMCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFWFRJPC9iPjxzcGFuIGNsYXNzPSJhcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+IDwvc3Bhbj48L3NwYW4+ZHJpdmVyPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ldzxzcGFuIGNsYXNzPSJhcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+IDwvc3Bhbj48L3NwYW4+PGI+SEFMCiAKIAogCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFWFRJPC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iYXBwbGUtY29udmVydGVkLXNwYWNlIj48c3Bhbgotc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+IDwvc3Bhbj48L3NwYW4+ZHJpdmVyPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMjEgbGV2ZWwxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzIzO3RhYi1zdG9wczpsaXN0IC41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij5BZGQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXc8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+PHNwYW4KLXN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPiA8L3NwYW4+PC9zcGFuPjxiPkhBTAotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU01CVVM8L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJhcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPjxzcGFuCi1zdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj4gPC9zcGFuPjwvc3Bhbj5kcml2ZXI8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwyMSBsZXZlbDEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMjM7dGFiLXN0b3BzOmxpc3QgLjVpbiI+PGI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij5UaGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNNQlVTPC9iPjxzcGFuIGNsYXNzPSJhcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+IDwvc3Bhbj48L3NwYW4+ZHJpdmVyPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlRoZQogCiAKIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9sbG93aW5nIGNoYW5nZXMgZG9uZSBvbiB0aGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTCBkcml2ZXJzIHJlcXVpcmUgYW4gdXBkYXRlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbiB0aGUgYXBwbGljYXRpb24gY29kZSBiYXNlZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb24gb2xkZXIgSEFMIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj52ZXJzaW9uczwvc3Bhbj48L3NwYW4+PC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDIxIGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzIzO3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5SZXdvcmsgb2YgSEFMCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbiBvbGRlciBIQUwgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnZlcnNpb25zPC9zcGFuPjwvc3Bhbj48L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+UmV3b3JrIG9mIEhBTAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ1JZUCBkcml2ZXI8Yj4gKGNvbXBhdGliaWxpdHkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWspIDwvYj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwyMSBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzIzO3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5IQUwgQ1JZUAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaykgPC9iPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwgQ1JZUAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkcml2ZXIgaGFzIGJlZW4gcmVkZXNpZ25lZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aXRoIG5ldyBBUEkncywgdG8gYnlwYXNzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbWl0YXRpb25zIG9uIGRhdGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRW5jcnlwdGlvbi9EZWNyeXB0aW9uCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hbmFnZW1lbnQgcHJlc2VudCB3aXRoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByZXZpb3VzIEhBTCBDUllQIGRyaXZlcgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2ZXJzaW9uLjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwyMSBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzIzO3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5UaGUgbmV3IEhBTAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2ZXJzaW9uLjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VGhlIG5ldyBIQUwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ1JZUCBkcml2ZXIgaXMgdGhlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlY29tbWVuZGVkIHZlcnNpb24uIEl0IGlzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvY2F0ZWQgYXMgdXN1YWwgaW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRHJpdmVycy9TVE0zMkY0eHhfSEFMX0RyaXZlci88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5TcmM8L3NwYW4+PC9zcGFuPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEcml2ZXJzL1NUTTMyRjR4eF9IQUxfRHJpdmVyLzxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+U3JjPC9zcGFuPjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERyaXZlcnMvU1RNMzJmNHh4X0hBTF9Ecml2ZXIvSW5jCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbGRlcnMuIEl0IGNhbiBiZSBlbmFibGVkCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRocm91Z2ggc3dpdGNoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9DUllQX01PRFVMRV9FTkFCTEVEIGluCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0bTMyZjR4eF9oYWxfY29uZi5oPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDIxIGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMjM7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlRoZSBsZWdhY3kKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RtMzJmNHh4X2hhbF9jb25mLmg8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlRoZSBsZWdhY3kKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMIENSWVAgZHJpdmVyIGlzIG5vIGxvbmdlcgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdXBwb3J0ZWQuPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdXBwb3J0ZWQuPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDIxIGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzIzO3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5BZGQgbmV3IDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+QXV0b1JlbG9hZFByZWxvYWQ8L3NwYW4+PC9zcGFuPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmllbGQgaW4gPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4KLXN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPlRJTV9CYXNlX0luaXRUeXBlRGVmPC9zcGFuPjwvc3Bhbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQgbmV3IDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QXV0b1JlbG9hZFByZWxvYWQ8L3NwYW4+PC9zcGFuPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmllbGQgaW4gPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5USU1fQmFzZV9Jbml0VHlwZURlZjwvc3Bhbj48L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3R1cmUmbmJzcDt0byBhbGxvdyB0aGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc3NpYmlsaXRpZXMgdG8gZW5hYmxlIG9yCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlIHRoZSBUSU0gQXV0byBSZWxvYWQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFByZWxvYWQuPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQcmVsb2FkLjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iIHR5cGU9ImRpc2MiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw4NSBsZXZlbDEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMjQ7dGFiLXN0b3BzOmxpc3QgLjVpbiI+PGI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9ImRpc2MiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwvTEwKIAogCiAKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij5IQUwvTEwKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdlbmVyaWMgPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+dXBkYXRlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9ImNpcmNsZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDg1IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzI0O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5BZGQgc3VwcG9ydAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR2VuZXJpYyA8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iY2lyY2xlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQgc3VwcG9ydAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2YgPGI+SEFMIGNhbGxiYWNrCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZ2lzdHJhdGlvbjwvYj4gPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPmZlYXR1cmU8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsODUgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8yNDt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+VGhlIGZlYXR1cmUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVnaXN0cmF0aW9uPC9iPiA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+ZmVhdHVyZTwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlRoZSBmZWF0dXJlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkIGJ5IGRlZmF1bHQgaXMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXZhaWxhYmxlIGZvciB0aGUgZm9sbG93aW5nCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTCBkcml2ZXJzOjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw4NSBsZXZlbDQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMjQ7dGFiLXN0b3BzOmxpc3QgMi4waW4iPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkFEQywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMIGRyaXZlcnM6PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BREMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDQU4sIENFQywgQ1JZUCwgREFDLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRENNSSwgREZTRE0sIERNQTJELCBEU0ksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFVEgsIEhBU0gsIEhDRCwgSTJDLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRk1QSTJDLCBTTUJVUyw8YnI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVQVJULCBVU0FSVCwgSVJEQSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNNQVJUQ0FSRCwgTFBUSU0sIExUREMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNTUMsIE5BTkQsIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5OT1IsPC9zcGFuPjwvc3Bhbj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBDQ0FSRCwgUENELCBRU1BJLCBSTkcsPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJvbWFuJnF1b3Q7Ij48YnI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+UlRDLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTU1DLCBOQU5ELCA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Tk9SLDwvc3Bhbj48L3NwYW4+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQQ0NBUkQsIFBDRCwgUVNQSSwgUk5HLDwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9IiI+PGJyPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlJUQywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNBSSwgU0QsIFNEUkFNLCBTUkFNLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU1BESUZSWCwgU1BJLCBJMlMsIFRJTSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUm9tYW4mcXVvdDsiPmFuZDxiPiBXV0RHPC9iPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPmFuZDxiPiBXV0RHPC9iPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDg1IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMjQ7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlRoZSBmZWF0dXJlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5UaGUgZmVhdHVyZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXkgYmUgZW5hYmxlZCBpbmRpdmlkdWFsbHkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGVyIEhBTCA8aT5QUFA8L2k+IGRyaXZlcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBieSBzZXR0aW5nIHRoZSBjb3JyZXNwb25kaW5nCkBAIC0xMTExMCw0MjQyICsyNjk5LDY5NCBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25maWd1cmF0aW9uIGZpbGUgKHRlbXBsYXRlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RtMzJmNHh4X2hhbF9jb25mX3RlbXBsYXRlLmgKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXZhaWxhYmxlIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+ZnJvbSZuYnNwOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdmFpbGFibGUgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPmZyb20mbmJzcDsKIAogCiAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERyaXZlcnM8L3NwYW4+PC9zcGFuPi9TVE0zMkY0eHhfSEFMX0RyaXZlci9JbmMpPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDg1IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMjQ7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPk9uY2UgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5lbmFibGVkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEcml2ZXJzPC9zcGFuPjwvc3Bhbj4vU1RNMzJGNHh4X0hBTF9Ecml2ZXIvSW5jKTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+T25jZSA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+ZW5hYmxlZAogCiAKIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLDwvc3Bhbj48L3NwYW4+IHRoZSB1c2VyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFwcGxpY2F0aW9uIG1heSByZXNvcnQgdG8gPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX1BQUF9SZWdpc3RlckNhbGxiYWNrPC9zcGFuPjwvc3Bhbj4oKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcHBsaWNhdGlvbiBtYXkgcmVzb3J0IHRvIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX1BQUF9SZWdpc3RlckNhbGxiYWNrPC9zcGFuPjwvc3Bhbj4oKQogCiAKIAogCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvIHJlZ2lzdGVyIHNwZWNpZmljCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhbGxiYWNrIGZ1bmN0aW9uKHMpIGFuZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnJlZ2lzdGVyIGl0KHRoZW0pIHdpdGggPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMXzxpPlBQUDwvaT5fVW5SZWdpc3RlckNhbGxiYWNrPC9zcGFuPjwvc3Bhbj4oKS48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5yZWdpc3RlciBpdCh0aGVtKSB3aXRoIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMXzxpPlBQUDwvaT5fVW5SZWdpc3RlckNhbGxiYWNrPC9zcGFuPjwvc3Bhbj4oKS48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsODUgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMjQ7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkdlbmVyYWwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5HZW5lcmFsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGVzIHRvIGZpeCBNSVNSQSAyMDEyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21waWxhdGlvbiA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+ZXJyb3JzPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDg1IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMjQ7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlJlcGxhY2UgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMXzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5HZXRVSUQoPC9zcGFuPjwvc3Bhbj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21waWxhdGlvbiA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+ZXJyb3JzPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+UmVwbGFjZSA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF88L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5HZXRVSUQoPC9zcGFuPjwvc3Bhbj4pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFQSSBieSBIQUxfR2V0VUlEdzAoKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX0dldFVJRHcxKCkgYW5kCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9HZXRVSUR3MigpPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDg1IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMjQ7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkhBTF9JU19CSVRfU0VUKCkvSEFMX0lTX0JJVF88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkNMUig8L3NwYW4+PC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFjcm9zIGltcGxlbWVudGF0aW9uIHVwZGF0ZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw4NSBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzI0O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4iPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+c3RkaW8uaDwvc3Bhbj48L3NwYW4+IgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmNsdWRlIHVwZGF0ZWQgd2l0aCAiPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+c3RkZGVmLjwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5oPC9zcGFuPjwvc3Bhbj4iPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9HZXRVSUR3MigpPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfSVNfQklUX1NFVCgpL0hBTF9JU19CSVRfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkNMUig8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFjcm9zIGltcGxlbWVudGF0aW9uIHVwZGF0ZTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+IjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+c3RkaW8uaDwvc3Bhbj48L3NwYW4+IgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmNsdWRlIHVwZGF0ZWQgd2l0aCAiPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5zdGRkZWYuPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+aDwvc3Bhbj48L3NwYW4+Ijwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsODUgbGV2ZWwxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzI0O3RhYi1zdG9wczpsaXN0IC41aW4iPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAogCiAKIAotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPkhBTAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkdQSU8mbmJzcDsKIAogCiAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5HUElPJm5ic3A7Ci0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj48L3NwYW4+PC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPnVwZGF0ZTwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJjaXJjbGUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw4NSBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8yNDt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+QWRkIG1pc3NpbmcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPjwvc3Bhbj48L3NwYW4+PC9iPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZTwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iY2lyY2xlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQgbWlzc2luZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmaW5lIGZvciBTUEkzIGFsdGVybmF0ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gIkdQSU9fQUY1X1NQSTMiIGZvcgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU1RNMzJGNDAxVkUgZGV2aWNlczwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDg1IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzI0O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5SZW1vdmUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNUTTMyRjQwMVZFIGRldmljZXM8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5SZW1vdmUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJHUElPX0FGOV9USU0xNCIgZnJvbSBkZWZpbmVkCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbHRlcm5hdGUgZnVuY3Rpb24gbGlzdCBmb3IKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNUTTMyRjQwMXh4IDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5kZXZpY2VzPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw4NSBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8yNDt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5IQUxfR1BJT188L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5Ub2dnbGVQaW4oPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4pIHJlZW50cmFuY3kKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJvYnVzdG5lc3MgaW1wcm92ZW1lbnQ8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw4NSBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8yNDt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5IQUxfR1BJT188L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5EZUluaXQoPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4pIEFQSSB1cGRhdGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNUTTMyRjQwMXh4IDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5kZXZpY2VzPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfR1BJT188L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlRvZ2dsZVBpbig8L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4pIHJlZW50cmFuY3kKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJvYnVzdG5lc3MgaW1wcm92ZW1lbnQ8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfR1BJT188L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkRlSW5pdCg8L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4pIEFQSSB1cGRhdGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvIGF2b2lkIHBvdGVudGlhbCBwZW5kaW5nCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnRlcnJ1cHQgYWZ0ZXIgY2FsbDwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDg1IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzI0O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5VcGRhdGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fR0VUXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4KLXN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPklOREVYKDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50ZXJydXB0IGFmdGVyIGNhbGw8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fR0VUXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5JTkRFWCg8L3NwYW4+PC9zcGFuPikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFQSSBmb3IgbW9yZSBjb21wbGlhbmNlIHdpdGgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNUTTMyRjQxMlZ4L1NUTTMyRjQxMlJ4L1NUTTMyRjQxMkN4Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXZpY2VzPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsODUgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMjQ7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlVwZGF0ZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGV2aWNlczwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR1BJT19CUlIgcmVnaXN0ZXJzIHdpdGgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlZmVyZW5jZSBNYW51YWwgcmVnYXJkaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWdpc3RlcnMgYW5kIGJpdCBkZWZpbml0aW9uCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw4NSBsZXZlbDEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMjQ7dGFiLXN0b3BzOmxpc3QgLjVpbiI+PGI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMCiAKIAogCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+SEFMCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDUllQPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+IHVwZGF0ZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9ImNpcmNsZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDg1IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzI0O3RhYi1zdG9wczpsaXN0IDEuMGluIj48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5UaGUgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+Q1JZUF9Jbml0VHlwZURlZjwvc3Bhbj48L3NwYW4+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5pcyBubyBtb3JlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdXBwb3J0ZWQsIGNoYW5nZWQgYnkgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PGI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkNSWVBfQ29uZmlnVHlwZWRlZjwvc3Bhbj48L2I+PC9zcGFuPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ1JZUDwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPiB1cGRhdGU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iY2lyY2xlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5UaGUgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5DUllQX0luaXRUeXBlRGVmPC9zcGFuPjwvc3Bhbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPmlzIG5vIG1vcmUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1cHBvcnRlZCwgY2hhbmdlZCBieSA8c3BhbiBjbGFzcz0ic3BlbGxlIj48Yj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkNSWVBfQ29uZmlnVHlwZWRlZjwvc3Bhbj48L2I+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gYWxsb3cgY2hhbmdpbmcgcGFyYW1ldGVycwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNpbmcgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4KLXN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkhBTF9DUllQXzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPnNldENvbmZpZyg8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzaW5nIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX0NSWVBfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+c2V0Q29uZmlnKDwvc3Bhbj48L3NwYW4+KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVBJIHdpdGhvdXQgcmVpbml0aWFsaXplIHRoZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ1JZUCBJUCB1c2luZyB0aGUgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5IQUxfQ1JZUF9Jbml0PC9zcGFuPjwvc3Bhbj4oKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ1JZUCBJUCB1c2luZyB0aGUgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfQ1JZUF9Jbml0PC9zcGFuPjwvc3Bhbj4oKQogCiAKIAogCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBUEk8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw4NSBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8yNDt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+TmV3Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJhbWV0ZXJzIGFkZGVkIGluIHRoZSA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+Q1JZUF9Db25maWdUeXBlRGVmPC9zcGFuPjwvYj48L3NwYW4+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3R1cmU6IDxiPkIwPC9iPiBhbmQgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+RGF0YVdpZHRoVW5pdDwvc3Bhbj48L2I+PC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDg1IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzI0O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5JbnB1dCBkYXRhCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBUEk8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5OZXcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtZXRlcnMgYWRkZWQgaW4gdGhlIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Q1JZUF9Db25maWdUeXBlRGVmPC9zcGFuPjwvYj48L3NwYW4+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3R1cmU6IDxiPkIwPC9iPiBhbmQgPHNwYW4gY2xhc3M9ImdyYW1lIj48Yj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkRhdGFXaWR0aFVuaXQ8L3NwYW4+PC9iPjwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5JbnB1dCBkYXRhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplIHBhcmFtZXRlciBpcyBhZGRlZCBpbiB0aGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxiPjxzcGFuCi1zdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5DUllQX0hhbmRsZVR5cGVEZWY8L3NwYW4+PC9iPjwvc3Bhbj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdHVyZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDg1IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzI0O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5BZGQgbmV3IEFQSXMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Q1JZUF9IYW5kbGVUeXBlRGVmPC9zcGFuPjwvYj48L3NwYW4+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3R1cmU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQgbmV3IEFQSXMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvIG1hbmFnZSB0aGUgQ1JZUAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhdGlvbjo8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw4NSBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzI0O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4mbmJzcDs8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5IQUxfQ1JZUF88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+U2V0Q29uZmlnKDwvc3Bhbj48L3NwYW4+KTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw4NSBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzI0O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SEFMX0NSWVBfPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5HZXRDb25maWcoPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4pPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25maWd1cmF0aW9uOjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4mbmJzcDs8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9DUllQXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlNldENvbmZpZyg8L3NwYW4+PC9zcGFuPik8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9DUllQXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+R2V0Q29uZmlnKDwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPik8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsODUgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMjQ7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkFkZCBuZXcgQVBJcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gbWFuYWdlIHRoZSBLZXkgZGVyaXZhdGlvbjo8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDg1IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMjQ7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5IQUxfQ1JZUEV4Xzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+RW5hYmxlQXV0b0tleURlcml2YXRpb24oPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4pPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDg1IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMjQ7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5IQUxfQ1JZUEV4Xzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+RGlzYWJsZUF1dG9LZXlEZXJpdmF0aW9uKDwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+KTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZCBuZXcgQVBJcworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gbWFuYWdlIHRoZSBLZXkgZGVyaXZhdGlvbjo8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX0NSWVBFeF88L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkVuYWJsZUF1dG9LZXlEZXJpdmF0aW9uKDwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPik8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9DUllQRXhfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5EaXNhYmxlQXV0b0tleURlcml2YXRpb24oPC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+KTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw4NSBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8yNDt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+QWRkIG5ldyBBUElzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0byBlbmNyeXB0IGFuZCBkZWNyeXB0IGRhdGE6PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw4NSBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzI0O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SEFMX0NSWVBfPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5FbmN5cHQoPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4pPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDg1IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMjQ7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5IQUxfQ1JZUF88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkRlY3lwdCg8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPik8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsODUgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8yNDt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkhBTF9DUllQX0VuY3lwdF88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPklUKDwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+KTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw4NSBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzI0O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SEFMX0NSWVBfRGVjeXB0Xzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SVQoPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4pPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDg1IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMjQ7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5IQUxfQ1JZUF9FbmN5cHRfPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5ETUEoPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4pPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDg1IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMjQ7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5IQUxfQ1JZUF9EZWN5cHRfPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5ETUEoPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4pPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkIG5ldyBBUElzCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0byBlbmNyeXB0IGFuZCBkZWNyeXB0IGRhdGE6PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9DUllQXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RW5jeXB0KDwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPik8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9DUllQXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RGVjeXB0KDwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPik8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9DUllQX0VuY3lwdF88L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPklUKDwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPik8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9DUllQX0RlY3lwdF88L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPklUKDwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPik8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9DUllQX0VuY3lwdF88L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkRNQSg8L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4pPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfQ1JZUF9EZWN5cHRfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5ETUEoPC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+KTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw4NSBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8yNDt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+QWRkIG5ldyBBUElzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0byBnZW5lcmF0ZSBUQUc6PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw4NSBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzI0O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SEFMX0NSWVBFeF9BRVM8Yj5HQ008L2I+Xzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+R2VuZXJhdGVBdXRoVEFHKDwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+KTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw4NSBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzI0O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SEFMX0NSWVBFeF9BRVM8Yj5DQ008L2I+X0dlbmVyYWdvPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4gPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj50ZUF1dGhUQUcoPC9zcGFuPjwvc3Bhbj4pPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkIG5ldyBBUElzCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0byBnZW5lcmF0ZSBUQUc6PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9DUllQRXhfQUVTPGI+R0NNPC9iPl88L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkdlbmVyYXRlQXV0aFRBRyg8L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4pPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfQ1JZUEV4X0FFUzxiPkNDTTwvYj5fR2VuZXJhZ288L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4gPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnRlQXV0aFRBRyg8L3NwYW4+PC9zcGFuPik8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDg1IGxldmVsMQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8yNDt0YWItc3RvcHM6bGlzdCAuNWluIj48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKIAogCiAKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij5IQUwKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExQVElNIDwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPnVwZGF0ZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9ImNpcmNsZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDg1IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzI0O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5SZW1vdmUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExQVElNIDwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJjaXJjbGUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlJlbW92ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlbGVzcyBMUFRJTSBXYWtldXAgRVhUSQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVsYXRlZCBtYWNyb3MgZnJvbSA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkhBTF9MUFRJTV9UaW1lT3V0X1N0YXJ0Xzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPklUKDwvc3Bhbj48L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVBJPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbGF0ZWQgbWFjcm9zIGZyb20gPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfTFBUSU1fVGltZU91dF9TdGFydF88L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5JVCg8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFQSTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsODUgbGV2ZWwxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzI0O3RhYi1zdG9wczpsaXN0IC41aW4iPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAogCiAKIAotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPkhBTAotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSTJDPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+IHVwZGF0ZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9ImNpcmNsZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDg1IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzI0O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5JMkMgQVBJCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJMkM8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4gdXBkYXRlPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9ImNpcmNsZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+STJDIEFQSQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhbmdlcyBmb3IgTUlTUkEtQyAyMDEyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21wbGlhbmN5Ojwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDg1IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMjQ7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlJlbmFtZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUxfSTJDX01hc3Rlcl9TZXF1ZW50aWFsX1RyYW5zbWl0XzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SVQoPC9zcGFuPjwvc3Bhbj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21wbGlhbmN5Ojwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5SZW5hbWUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX0kyQ19NYXN0ZXJfU2VxdWVudGlhbF9UcmFuc21pdF88c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SVQoPC9zcGFuPjwvc3Bhbj4pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9JMkNfTWFzdGVyX1NlcV9UcmFuc21pdF9JVCgpPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDg1IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMjQ7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlJlbmFtZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUxfSTJDX01hc3Rlcl9TZXF1ZW50aWVsX1JlY2VpdmVfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5JVCg8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX0kyQ19NYXN0ZXJfU2VxX1RyYW5zbWl0X0lUKCk8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlJlbmFtZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUxfSTJDX01hc3Rlcl9TZXF1ZW50aWVsX1JlY2VpdmVfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPklUKDwvc3Bhbj48L3NwYW4+KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0bwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUxfSTJDX01hc3Rlcl9TZXFfUmVjZWl2ZV9JVCgpPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDg1IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMjQ7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlJlbmFtZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUxfSTJDX1NsYXZlX1NlcXVlbnRpZWxfVHJhbnNtaXRfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5JVCg8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX0kyQ19NYXN0ZXJfU2VxX1JlY2VpdmVfSVQoKTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+UmVuYW1lCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9JMkNfU2xhdmVfU2VxdWVudGllbF9UcmFuc21pdF88c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SVQoPC9zcGFuPjwvc3Bhbj4pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9JMkNfU2xhdmVfU2VxX1RyYW5zbWl0X0lUKCkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsODUgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8yNDt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+UmVuYW1lCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9JMkNfU2xhdmVfU2VxdWVudGllbF9SZWNlaXZlXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+RE1BKDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5SZW5hbWUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX0kyQ19TbGF2ZV9TZXF1ZW50aWVsX1JlY2VpdmVfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkRNQSg8L3NwYW4+PC9zcGFuPikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX0kyQ19TbGF2ZV9TZXFfUmVjZWl2ZV9ETUEoKTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUxfSTJDX1NsYXZlX1NlcV9SZWNlaXZlX0RNQSgpPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDg1IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzI0O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5TTUJVUyBkZWZpbmVkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+U01CVVMgZGVmaW5lZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxhZ3MgYXJlIHJlbW92ZWQgYXMgbm90IHVzZWQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ5IHRoZSBIQUwgSTJDIGRyaXZlcjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsODUgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8yNDt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+STJDX0ZMQUdfU01CQUxFUlQ8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsODUgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8yNDt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+STJDX0ZMQUdfVElNRU9VVDwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw4NSBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzI0O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5JMkNfRkxBR19QRUNFUlI8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsODUgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8yNDt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+STJDX0ZMQUdfU01CSE9TVDwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw4NSBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzI0O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5JMkNfRkxBR19TTUJERUZBVUxUPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBieSB0aGUgSEFMIEkyQyBkcml2ZXI8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+STJDX0ZMQUdfU01CQUxFUlQ8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkkyQ19GTEFHX1RJTUVPVVQ8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkkyQ19GTEFHX1BFQ0VSUjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+STJDX0ZMQUdfU01CSE9TVDwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+STJDX0ZMQUdfU01CREVGQVVMVDwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dG87bXNvLWxpc3Q6bDg1IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzI0O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5BZGQgc3VwcG9ydAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9IiI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZCBzdXBwb3J0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvZiBJMkMgcmVwZWF0ZWQgc3RhcnQgZmVhdHVyZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gRE1BIE1vZGU6PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTAuMHB0O21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBETUEgTW9kZTo8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dG87bXNvLWxpc3Q6bDg1IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMjQ7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPldpdGggdGhlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbGxvd2luZyBuZXcgQVBJJ3M8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+V2l0aCB0aGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9sbG93aW5nIG5ldyBBUEknczwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvO21zby1saXN0Omw4NSBsZXZlbDQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMjQ7dGFiLXN0b3BzOmxpc3QgMi4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkhBTF9JMkNfTWFzdGVyX1NlcV9UcmFuc21pdF88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5ETUEoPC9zcGFuPjwvc3Bhbj4pPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0bzttc28tbGlzdDpsODUgbGV2ZWw0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzI0O3RhYi1zdG9wczpsaXN0IDIuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5IQUxfSTJDX01hc3Rlcl9TZXFfUmVjZWl2ZV88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5ETUEoPC9zcGFuPjwvc3Bhbj4pPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0bzttc28tbGlzdDpsODUgbGV2ZWw0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzI0O3RhYi1zdG9wczpsaXN0IDIuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5IQUxfSTJDX1NsYXZlX1NlcV9UcmFuc21pdF88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5ETUEoPC9zcGFuPjwvc3Bhbj4pPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0bzttc28tbGlzdDpsODUgbGV2ZWw0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzI0O3RhYi1zdG9wczpsaXN0IDIuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5IQUxfSTJDX1NsYXZlX1NlcV9SZWNlaXZlXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkRNQSg8L3NwYW4+PC9zcGFuPik8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX0kyQ19NYXN0ZXJfU2VxX1RyYW5zbWl0XzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5ETUEoPC9zcGFuPjwvc3Bhbj4pPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSIiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfSTJDX01hc3Rlcl9TZXFfUmVjZWl2ZV88c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RE1BKDwvc3Bhbj48L3NwYW4+KTwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX0kyQ19TbGF2ZV9TZXFfVHJhbnNtaXRfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkRNQSg8L3NwYW4+PC9zcGFuPik8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9IiI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9JMkNfU2xhdmVfU2VxX1JlY2VpdmVfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkRNQSg8L3NwYW4+PC9zcGFuPik8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvO21zby1saXN0Omw4NSBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8yNDt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+QWRkIG5ldyBJMkMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSIiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQgbmV3IEkyQwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmZXIgb3B0aW9ucyB0byBlYXN5Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYW5hZ2UgdGhlIHNlcXVlbnRpYWwgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPnRyYW5zZmVyczwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFuYWdlIHRoZSBzZXF1ZW50aWFsIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij50cmFuc2ZlcnM8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0bzttc28tbGlzdDpsODUgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8yNDt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+STJDX0ZJUlNUX0FORF9ORVhUX0ZSQU1FPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvO21zby1saXN0Omw4NSBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzI0O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5JMkNfTEFTVF9GUkFNRV9OT19TVE9QPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvO21zby1saXN0Omw4NSBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzI0O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5JMkNfT1RIRVJfRlJBTUU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dG87bXNvLWxpc3Q6bDg1IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMjQ7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkkyQ19PVEhFUl9BTkRfTEFTVF9GUkFNRTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSIiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5JMkNfRklSU1RfQU5EX05FWFRfRlJBTUU8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSIiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5JMkNfTEFTVF9GUkFNRV9OT19TVE9QPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+STJDX09USEVSX0ZSQU1FPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+STJDX09USEVSX0FORF9MQVNUX0ZSQU1FPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsODUgbGV2ZWwxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzI0O3RhYi1zdG9wczpsaXN0IC41aW4iPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAogCiAKIAotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPkhBTAotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRk1QSTJDPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+IHVwZGF0ZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9ImNpcmNsZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDg1IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzI0O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5JMkMgQVBJCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGTVBJMkM8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4gdXBkYXRlPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9ImNpcmNsZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+STJDIEFQSQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhbmdlcyBmb3IgTUlTUkEtQyAyMDEyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21wbGlhbmN5Ojwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDg1IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMjQ7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlJlbmFtZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUxfRk1QSTJDX01hc3Rlcl9TZXF1ZW50aWFsX1RyYW5zbWl0XzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SVQoPC9zcGFuPjwvc3Bhbj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21wbGlhbmN5Ojwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5SZW5hbWUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX0ZNUEkyQ19NYXN0ZXJfU2VxdWVudGlhbF9UcmFuc21pdF88c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SVQoPC9zcGFuPjwvc3Bhbj4pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9GTVBJMkNfTWFzdGVyX1NlcV9UcmFuc21pdF9JVCgpPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDg1IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMjQ7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlJlbmFtZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUxfRk1QSTJDX01hc3Rlcl9TZXF1ZW50aWVsX1JlY2VpdmVfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5JVCg8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX0ZNUEkyQ19NYXN0ZXJfU2VxX1RyYW5zbWl0X0lUKCk8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlJlbmFtZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUxfRk1QSTJDX01hc3Rlcl9TZXF1ZW50aWVsX1JlY2VpdmVfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPklUKDwvc3Bhbj48L3NwYW4+KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0bwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUxfRk1QSTJDX01hc3Rlcl9TZXFfUmVjZWl2ZV9JVCgpPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDg1IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMjQ7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlJlbmFtZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUxfRk1QSTJDX01hc3Rlcl9TZXF1ZW50aWVsX1RyYW5zbWl0XzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+RE1BKDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUxfRk1QSTJDX01hc3Rlcl9TZXFfUmVjZWl2ZV9JVCgpPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5SZW5hbWUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX0ZNUEkyQ19NYXN0ZXJfU2VxdWVudGllbF9UcmFuc21pdF88c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RE1BKDwvc3Bhbj48L3NwYW4+KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0bwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUxfRk1QSTJDX01hc3Rlcl9TZXFfVHJhbnNtaXRfRE1BKCkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw4NSBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzI0O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5SZW5hbWUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX0ZNUEkyQ19NYXN0ZXJfU2VxdWVudGllbF9SZWNlaXZlXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+RE1BKDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5SZW5hbWUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX0ZNUEkyQ19NYXN0ZXJfU2VxdWVudGllbF9SZWNlaXZlXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5ETUEoPC9zcGFuPjwvc3Bhbj4pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9GTVBJMkNfTWFzdGVyX1NlcV9SZWNlaXZlX0RNQSgpPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9GTVBJMkNfTWFzdGVyX1NlcV9SZWNlaXZlX0RNQSgpPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDg1IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzI0O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5SZW5hbWUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5SZW5hbWUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZNUEkyQ19DUjFfREZOIHRvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGTVBJMkNfQ1IxX0RORiBmb3IgbW9yZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tcGxpYW5jZSB3aXRoIFJlZmVyZW5jZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTWFudWFsIHJlZ2FyZGluZyByZWdpc3RlcnMgYW5kCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiaXQgZGVmaW5pdGlvbiA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+bmFtaW5nPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dG87bXNvLWxpc3Q6bDg1IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzI0O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5BZGQgc3VwcG9ydAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYml0IGRlZmluaXRpb24gPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPm5hbWluZzwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkIHN1cHBvcnQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9mIEkyQyByZXBlYXRlZCBzdGFydCBmZWF0dXJlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBETUEgTW9kZTo8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMC4wcHQ7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIERNQSBNb2RlOjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0bzttc28tbGlzdDpsODUgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8yNDt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+V2l0aCB0aGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9sbG93aW5nIG5ldyBBUEknczwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDttc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSIiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5XaXRoIHRoZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb2xsb3dpbmcgbmV3IEFQSSdzPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dG87bXNvLWxpc3Q6bDg1IGxldmVsNAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8yNDt0YWItc3RvcHM6bGlzdCAyLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SEFMX0ZNUEkyQ19NYXN0ZXJfU2VxX1RyYW5zbWl0XzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkRNQSg8L3NwYW4+PC9zcGFuPik8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvO21zby1saXN0Omw4NSBsZXZlbDQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMjQ7dGFiLXN0b3BzOmxpc3QgMi4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkhBTF9GTVBJMkNfTWFzdGVyX1NlcV9SZWNlaXZlXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkRNQSg8L3NwYW4+PC9zcGFuPik8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvO21zby1saXN0Omw4NSBsZXZlbDQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMjQ7dGFiLXN0b3BzOmxpc3QgMi4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkhBTF9GTVBJMkNfU2xhdmVfU2VxX1RyYW5zbWl0XzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkRNQSg8L3NwYW4+PC9zcGFuPik8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvO21zby1saXN0Omw4NSBsZXZlbDQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMjQ7dGFiLXN0b3BzOmxpc3QgMi4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkhBTF9GTVBJMkNfU2xhdmVfU2VxX1JlY2VpdmVfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+RE1BKDwvc3Bhbj48L3NwYW4+KTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSIiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfRk1QSTJDX01hc3Rlcl9TZXFfVHJhbnNtaXRfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkRNQSg8L3NwYW4+PC9zcGFuPik8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9IiI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9GTVBJMkNfTWFzdGVyX1NlcV9SZWNlaXZlXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5ETUEoPC9zcGFuPjwvc3Bhbj4pPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSIiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfRk1QSTJDX1NsYXZlX1NlcV9UcmFuc21pdF88c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RE1BKDwvc3Bhbj48L3NwYW4+KTwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX0ZNUEkyQ19TbGF2ZV9TZXFfUmVjZWl2ZV88c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RE1BKDwvc3Bhbj48L3NwYW4+KTwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsODUgbGV2ZWwxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzI0O3RhYi1zdG9wczpsaXN0IC41aW4iPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAogCiAKIAotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPkhBTAotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRkxBU0ggPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+dXBkYXRlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0iY2lyY2xlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsODUgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMjQ7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlVwZGF0ZSB0aGUgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5GTEFTSF9PQl88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5HZXRSRFAoPC9zcGFuPjwvc3Bhbj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGTEFTSCA8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iY2lyY2xlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUgdGhlIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RkxBU0hfT0JfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+R2V0UkRQKDwvc3Bhbj48L3NwYW4+KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVBJIHRvIHJldHVybiB0aGUgY29ycmVjdCBSRFAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXZlbDwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsODUgbGV2ZWwxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzI0O3RhYi1zdG9wczpsaXN0IC41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SEFMJm5ic3A7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJDQzwvc3Bhbj48L2I+PC9zcGFuPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+dXBkYXRlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0iY2lyY2xlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsODUgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMjQ7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlJlbW92ZSBHUElPRAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIGNsYXNzPSJncmFtZSI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTCZuYnNwOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSQ0M8L3NwYW4+PC9iPjwvc3Bhbj48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9ImNpcmNsZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+UmVtb3ZlIEdQSU9ECiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDTEsgbWFjcm9zIGZvciBTVE0zMkY0MTJDeAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGV2aWNlcyAoWCA9IEQpPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDg1IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzI0O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5SZW1vdmUgR1BJT0UKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRldmljZXMgKFggPSBEKTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlJlbW92ZSBHUElPRQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ0xLIG1hY3JvcyBmb3IKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNUTTMyRjQxMlJ4XDQxMkN4IGRldmljZXM6IChYCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IEUpPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsODUgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMjQ7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlJlbW92ZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSBFKTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlJlbW92ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR1BJT0YvRyBDTEsgbWFjcm9zIGZvcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU1RNMzJGNDEyVnhcNDEyUnhcNDEyQ3gKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRldmljZXMgKFg9IEYgb3IgRyk8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDg1IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMjQ7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPl9fSEFMX1JDQ19HUElPPGI+WDwvYj5fQ0xLXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+RU5BQkxFKDwvc3Bhbj48L3NwYW4+KTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw4NSBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzI0O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5fX0hBTF9SQ0NfR1BJTzxiPlg8L2I+X0NMS188c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkRJU0FCTEUoPC9zcGFuPjwvc3Bhbj4pPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDg1IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMjQ7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPl9fSEFMX1JDQ19HUElPPGI+WDwvYj5fSVNfQ0xLXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+RU5BQkxFRCg8L3NwYW4+PC9zcGFuPik8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsODUgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8yNDt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+X19IQUxfUkNDX0dQSU88Yj5YPC9iPl9JU19DTEtfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5ESVNBQkxFRCg8L3NwYW4+PC9zcGFuPik8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsODUgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8yNDt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+X19IQUxfUkNDX0dQSU88Yj5YPC9iPl9GT1JDRV88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPlJFU0VUKDwvc3Bhbj48L3NwYW4+KTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGV2aWNlcyAoWD0gRiBvciBHKTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5fX0hBTF9SQ0NfR1BJTzxiPlg8L2I+X0NMS188c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RU5BQkxFKDwvc3Bhbj48L3NwYW4+KTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+X19IQUxfUkNDX0dQSU88Yj5YPC9iPl9DTEtfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkRJU0FCTEUoPC9zcGFuPjwvc3Bhbj4pPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5fX0hBTF9SQ0NfR1BJTzxiPlg8L2I+X0lTX0NMS188c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RU5BQkxFRCg8L3NwYW4+PC9zcGFuPik8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPl9fSEFMX1JDQ19HUElPPGI+WDwvYj5fSVNfQ0xLXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5ESVNBQkxFRCg8L3NwYW4+PC9zcGFuPik8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPl9fSEFMX1JDQ19HUElPPGI+WDwvYj5fRk9SQ0VfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlJFU0VUKDwvc3Bhbj48L3NwYW4+KTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsODUgbGV2ZWwxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzI0O3RhYi1zdG9wczpsaXN0IC41aW4iPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAogCiAKIAotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPkhBTAotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUk5HIDwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPnVwZGF0ZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9ImNpcmNsZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDg1IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzI0O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5VcGRhdGUgdG8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hbmFnZSBSTkcgZXJyb3IgY29kZTogPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw4NSBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzI0O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5BZGQgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+RXJyb3JDb2RlPC9zcGFuPjwvc3Bhbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJORyA8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iY2lyY2xlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUgdG8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hbmFnZSBSTkcgZXJyb3IgY29kZTogPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZCA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkVycm9yQ29kZTwvc3Bhbj48L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtZXRlciBpbiBIQUwgUk5HIEhhbmRsZXIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0dXJlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdHVyZTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsODUgbGV2ZWwxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzI0O3RhYi1zdG9wczpsaXN0IC41aW4iPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkxMCiAKIAogCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+TEwKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFEQyA8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij51cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJjaXJjbGUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw4NSBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8yNDt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+QWRkCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX0xMX0FEQ19DQUxDXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5URU1QRVJBVFVSRSg8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFEQyA8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iY2lyY2xlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fTExfQURDX0NBTENfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlRFTVBFUkFUVVJFKDwvc3Bhbj48L3NwYW4+KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVscGVyIG1hY3JvIHRvIGNhbGN1bGF0ZSB0aGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlbXBlcmF0dXJlICh1bml0OiBkZWdyZWUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENlbHNpdXMpIGZyb20gQURDIGNvbnZlcnNpb24KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEgb2YgaW50ZXJuYWwgdGVtcGVyYXR1cmUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbnNvci48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw4NSBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8yNDt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+Rml4IEFEQworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2Vuc29yLjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkZpeCBBREMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYW5uZWxzIGNvbmZpZ3VyYXRpb24gaXNzdWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbiBTVE0zMkY0MTN4eC80MjN4eCA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+ZGV2aWNlczwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw4NSBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzI0O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5UbyBhbGxvdworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb24gU1RNMzJGNDEzeHgvNDIzeHggPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPmRldmljZXM8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5UbyBhbGxvdwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NzaWJpbGl0eSB0byBzd2l0Y2gKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmV0d2VlbiBWQkFUIGFuZCBURU1QRVJBVFVSRQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFubmVscyA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPmNvbmZpZ3VyYXRpb25zPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhbm5lbHMgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPmNvbmZpZ3VyYXRpb25zPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsODUgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMjQ7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SEFMX0FEQ188L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5TdGFydCg8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX0FEQ188L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlN0YXJ0KDwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPiksIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX0FEQ19TdGFydF9JVDwvc3Bhbj48L3NwYW4+KCkKIAogCiAKIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+KSwgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5IQUxfQURDX1N0YXJ0X0lUPC9zcGFuPjwvc3Bhbj4oKQotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4KLXN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkhBTF9BRENfU3RhcnRfRE1BPC9zcGFuPjwvc3Bhbj4oKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX0FEQ19TdGFydF9ETUE8L3NwYW4+PC9zcGFuPigpCiAKIAogCiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZSB0byBwcmV2ZW50aW9uIGZyb20KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXJ0aW5nIEFEQzIgb3IgQURDMyBvbmNlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtdWx0aW1vZGUgaXMgZW5hYmxlZDwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtdWx0aW1vZGUgaXMgZW5hYmxlZDwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsODUgbGV2ZWwxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzI0O3RhYi1zdG9wczpsaXN0IC41aW4iPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAogCiAKIAotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPkhBTAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkRGU0RNJm5ic3A7CiAKIAogCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+REZTRE0mbmJzcDsKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPjwvc3Bhbj48L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+dXBkYXRlPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9ImNpcmNsZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDg1IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzI0O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5HZW5lcmFsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj48L3NwYW4+PC9zcGFuPjwvYj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9ImNpcmNsZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+R2VuZXJhbAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlcyB0byBiZSBjb21wbGlhbnQgd2l0aAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgREZTRE0gYml0cyBuYW1pbmcgdXNlZCBpbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ01TSVMgZmlsZXMuPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENNU0lTIGZpbGVzLjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsODUgbGV2ZWwxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzI0O3RhYi1zdG9wczpsaXN0IC41aW4iPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAorCisKKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkNBTiZuYnNwOworCisKKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+PC9zcGFuPjwvc3Bhbj48L2I+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlPC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJjaXJjbGUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zc2libGUgdmFsdWVzIGxpc3QgZm9yIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RmlsdGVyQWN0aXZhdGlvbjwvc3Bhbj48L3NwYW4+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJhbWV0ZXIgaW4gPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5DQU5fRmlsdGVyVHlwZURlZjwvc3Bhbj48L3NwYW4+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3R1cmU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Q0FOX0ZJTFRFUl9FTkFCTEUKIAogCiAKIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij5IQUwKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5DQU4mbmJzcDsKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPjwvc3Bhbj48L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+dXBkYXRlPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9ImNpcmNsZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDg1IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzI0O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnN0ZWFkIG9mIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5FTkFCTEU8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Q0FOX0ZJTFRFUl9ESVNBQkxFCiAKIAogCiAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlVwZGF0ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zc2libGUgdmFsdWVzIGxpc3QgZm9yIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+RmlsdGVyQWN0aXZhdGlvbjwvc3Bhbj48L3NwYW4+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJhbWV0ZXIgaW4gPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5DQU5fRmlsdGVyVHlwZURlZjwvc3Bhbj48L3NwYW4+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3R1cmU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDg1IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMjQ7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkNBTl9GSUxURVJfRU5BQkxFCi0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5zdGVhZCBvZiA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkVOQUJMRTwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDg1IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMjQ7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkNBTl9GSUxURVJfRElTQUJMRQotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluc3RlYWQgb2YgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5ESVNBQkxFPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5zdGVhZCBvZiA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RElTQUJMRTwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw4NSBsZXZlbDEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMjQ7dGFiLXN0b3BzOmxpc3QgLjVpbiI+PGI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMCiAKIAogCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+SEFMCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Q0VDJm5ic3A7CiAKIAogCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+Q0VDJm5ic3A7Ci0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj48L3NwYW4+PC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPnVwZGF0ZTwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJjaXJjbGUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw4NSBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8yNDt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+VXBkYXRlIEhBTAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ0VDIFN0YXRlIG1hbmFnZW1lbnQgbWV0aG9kOjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsODUgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8yNDt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+UmVtb3ZlIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkhBTF9DRUNfU3RhdGVUeXBlRGVmPC9zcGFuPjwvc3Bhbj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0dXJlIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+cGFyYW1ldGVyczwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDg1IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMjQ7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkFkZCBuZXcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmaW5lcyBmb3IgQ0VDIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+c3RhdGVzPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPjwvc3Bhbj48L3NwYW4+PC9iPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZTwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iY2lyY2xlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUgSEFMCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDRUMgU3RhdGUgbWFuYWdlbWVudCBtZXRob2Q6PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlJlbW92ZSA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9DRUNfU3RhdGVUeXBlRGVmPC9zcGFuPjwvc3Bhbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0dXJlIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5wYXJhbWV0ZXJzPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZCBuZXcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmaW5lcyBmb3IgQ0VDIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5zdGF0ZXM8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsODUgbGV2ZWwxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzI0O3RhYi1zdG9wczpsaXN0IC41aW4iPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAogCiAKIAotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPkhBTAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkRNQSZuYnNwOwogCiAKIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkRNQSZuYnNwOwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+PC9zcGFuPjwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij51cGRhdGU8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0iY2lyY2xlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsODUgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMjQ7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkFkZCBjbGVhbiBvZgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2tzIGluIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX0RNQV88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5EZUluaXQoPC9zcGFuPjwvc3Bhbj4pCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBUEk8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+PC9zcGFuPjwvc3Bhbj48L2I+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlPC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJjaXJjbGUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZCBjbGVhbiBvZgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2tzIGluIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX0RNQV88L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5EZUluaXQoPC9zcGFuPjwvc3Bhbj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBUEk8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDg1IGxldmVsMQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8yNDt0YWItc3RvcHM6bGlzdCAuNWluIj48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKIAogCiAKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij5IQUwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERNQTI8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RCZuYnNwOwogCiAKIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRE1BMjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5EJm5ic3A7Ci0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj48L3NwYW4+PC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPnVwZGF0ZTwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJjaXJjbGUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw4NSBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8yNDt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+UmVtb3ZlIHVudXNlZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+PC9zcGFuPjwvc3Bhbj48L2I+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlPC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJjaXJjbGUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlJlbW92ZSB1bnVzZWQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERNQTJEX0NvbG9yVHlwZURlZiBzdHJ1Y3R1cmUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvIGJlIGNvbXBsaWFudCB3aXRoIE1JU1JBQwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMjAxMiBSdWxlIDIuMzwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDg1IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzI0O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5HZW5lcmFsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyMDEyIFJ1bGUgMi4zPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+R2VuZXJhbAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlIHRvIHVzZSBkZWRpY2F0ZWQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmluZXMgZm9yCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBETUEyRF9CQUNLR1JPVU5EX0xBWUVSIGFuZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRE1BMkRfRk9SRUdST1VORF9MQVlFUiBpbnN0ZWFkCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvZiBudW1lcmljYWwgdmFsdWVzOiAwLzEuPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9mIG51bWVyaWNhbCB2YWx1ZXM6IDAvMS48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDg1IGxldmVsMQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8yNDt0YWItc3RvcHM6bGlzdCAuNWluIj48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKIAogCiAKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij5IQUwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5EU0kmbmJzcDsKIAogCiAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5EU0kmbmJzcDsKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPjwvc3Bhbj48L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+dXBkYXRlPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9ImNpcmNsZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDg1IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzI0O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5GaXggcmVhZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+PC9zcGFuPjwvc3Bhbj48L2I+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlPC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJjaXJjbGUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkZpeCByZWFkCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtdWx0aWJ5dGUgaXNzdWU6IHJlbW92ZSBleHRyYQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FsbCB0byBfX0hBTF9VTkxPQ0tfXyBmcm9tIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+RFNJXzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPlNob3J0V3JpdGUoPC9zcGFuPjwvc3Bhbj4pCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBUEkuPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhbGwgdG8gX19IQUxfVU5MT0NLX18gZnJvbSA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkRTSV88L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5TaG9ydFdyaXRlKDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVBJLjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1hcmdpbi10b3A6MGluO3RleHQtYWxpZ246c3RhcnQ7d29yZC1zcGFjaW5nOjBweCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDggbGV2ZWwxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzI1O3RhYi1zdG9wczpsaXN0IC41aW4iPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IHRleHQtYWxpZ246IHN0YXJ0OyB3b3JkLXNwYWNpbmc6IDBweDsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTC9MTAogCiAKIAotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPkhBTC9MTAotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUlRDIDwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPnVwZGF0ZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSVEMgPC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtYXJnaW4tdG9wOjBpbjt0ZXh0LWFsaWduOnN0YXJ0O3dvcmQtc3BhY2luZzowcHgiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsODAgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMjY7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkhBTC8gTEwgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPmRyaXZlcnM8L3NwYW4+PC9zcGFuPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW1pemF0aW9uPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw4MCBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzI2O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5IQUwgZHJpdmVyOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZW1vdmUgdW51c2VkIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+dmFyaWFibGVzPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsODAgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8yNjt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+TEwgZHJpdmVyOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXR0ZXIgQVBJcyBvcHRpbWl6YXRpb248L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsgdGV4dC1hbGlnbjogc3RhcnQ7IHdvcmQtc3BhY2luZzogMHB4OyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwvIExMIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5kcml2ZXJzPC9zcGFuPjwvc3Bhbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGltaXphdGlvbjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwgZHJpdmVyOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZW1vdmUgdW51c2VkIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij52YXJpYWJsZXM8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+TEwgZHJpdmVyOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXR0ZXIgQVBJcyBvcHRpbWl6YXRpb248L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDgwIGxldmVsMQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8yNjt0YWItc3RvcHM6bGlzdCAuNWluIj48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKIAogCiAKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij5IQUwKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBXUiA8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij51cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw4MCBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8yNjt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+UmVtb3ZlIHRoZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUFdSIDwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlJlbW92ZSB0aGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbGxvd2luZ3MgQVBJJ3MgYXMgZmVhdHVyZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm90IHN1cHBvcnRlZCBieQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU1RNMzJGNDY5eHgvNDc5eHggPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPmRldmljZXM8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsODAgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8yNjt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkhBTF9QV1JFeF88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkVuYWJsZVdha2VVcFBpblBvbGFyaXR5UmlzaW5nRWRnZSg8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPik8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsODAgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8yNjt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkhBTF9QV1JFeF88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkVuYWJsZVdha2VVcFBpblBvbGFyaXR5UmlzaW5nRWRnZSg8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPik8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNUTTMyRjQ2OXh4LzQ3OXh4IDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5kZXZpY2VzPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX1BXUkV4Xzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RW5hYmxlV2FrZVVwUGluUG9sYXJpdHlSaXNpbmdFZGdlKDwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPik8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9QV1JFeF88L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkVuYWJsZVdha2VVcFBpblBvbGFyaXR5UmlzaW5nRWRnZSg8L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4pPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw4MCBsZXZlbDEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMjY7dGFiLXN0b3BzOmxpc3QgLjVpbiI+PGI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMCiAKIAogCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+SEFMCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTUEkgPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+dXBkYXRlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsODAgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMjY7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlVwZGF0ZSA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkhBTF9TUElfU3RhdGVUeXBlRGVmPC9zcGFuPjwvc3Bhbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNQSSA8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfU1BJX1N0YXRlVHlwZURlZjwvc3Bhbj48L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3R1cmUgdG8gYWRkIG5ldyBzdGF0ZToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9TUElfU1RBVEVfQUJPUlQ8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX1NQSV9TVEFURV9BQk9SVDwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsODAgbGV2ZWwxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzI2O3RhYi1zdG9wczpsaXN0IC41aW4iPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTC9MTAogCiAKIAotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPkhBTC9MTAotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVElNIDwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPnVwZGF0ZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw4MCBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8yNjt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+QWRkIG5ldyA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkF1dG9SZWxvYWRQcmVsb2FkPC9zcGFuPjwvc3Bhbj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpZWxkIGluIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi1zdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5USU1fQmFzZV9Jbml0VHlwZURlZjwvc3Bhbj48L3NwYW4+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3R1cmU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDgwIGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMjY7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlJlZmVyIHRvCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUSU0gPC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkIG5ldyA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkF1dG9SZWxvYWRQcmVsb2FkPC9zcGFuPjwvc3Bhbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpZWxkIGluIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VElNX0Jhc2VfSW5pdFR5cGVEZWY8L3NwYW4+PC9zcGFuPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0dXJlPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlJlZmVyIHRvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBUSU0gZXhhbXBsZXMgdG8gaWRlbnRpZnkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+Y2hhbmdlczwvc3Bhbj48L3NwYW4+PGI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5jaGFuZ2VzPC9zcGFuPjwvc3Bhbj48Yj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9iPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw4MCBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8yNjt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+TW92ZSB0aGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5Nb3ZlIHRoZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9sbG93aW5nIFRJTSBzdHJ1Y3R1cmVzIGZyb20KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0bTMyZjR4eF9oYWxfdGltX2V4LmggaW50bwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RtMzJmNHh4X2hhbF90aW0uaDwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsODAgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8yNjt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlRJTV9NYXN0ZXJDb25maWdUeXBlRGVmPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw4MCBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzI2O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+VElNX0JyZWFrRGVhZFRpbWVDb25maWdUeXBlRGVmPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RtMzJmNHh4X2hhbF90aW0uaDwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5USU1fTWFzdGVyQ29uZmlnVHlwZURlZjwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlRJTV9CcmVha0RlYWRUaW1lQ29uZmlnVHlwZURlZjwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsODAgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMjY7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkFkZCBuZXcgVElNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDYWxsYmFja3MgQVBJJ3M6PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw4MCBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzI2O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SEFMX1RJTV88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlBlcmlvZEVsYXBzZWRIYWxmQ3BsdENhbGxiYWNrKDwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+KTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw4MCBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzI2O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SEFMX1RJTV9JQ188L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkNhcHR1cmVIYWxmQ3BsdENhbGxiYWNrKDwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+KTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw4MCBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzI2O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SEFMX1RJTV9QV01fPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5QdWxzZUZpbmlzaGVkSGFsZkNwbHRDYWxsYmFjayg8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPik8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsODAgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8yNjt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkhBTF9USU1fPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5UcmlnZ2VySGFsZkNwbHRDYWxsYmFjayg8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPik8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQgbmV3IFRJTQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2FsbGJhY2tzIEFQSSdzOjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfVElNXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+UGVyaW9kRWxhcHNlZEhhbGZDcGx0Q2FsbGJhY2soPC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+KTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX1RJTV9JQ188L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkNhcHR1cmVIYWxmQ3BsdENhbGxiYWNrKDwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPik8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9USU1fUFdNXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+UHVsc2VGaW5pc2hlZEhhbGZDcGx0Q2FsbGJhY2soPC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+KTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX1RJTV88L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlRyaWdnZXJIYWxmQ3BsdENhbGxiYWNrKDwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPik8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsODAgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMjY7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlRJTSBBUEkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5USU0gQVBJCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFuZ2VzIGZvciBNSVNSQS1DIDIwMTIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbXBsaWFuY3k6PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsODAgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8yNjt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+UmVuYW1lIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkhBTF9USU1fU2xhdmVDb25maWdTeW5jaHJvbml6YXRpb248L3NwYW4+PC9zcGFuPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0byA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3Bhbgotc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX1RJTV9TbGF2ZUNvbmZpZ1N5bmNocm88L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw4MCBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzI2O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5SZW5hbWUgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX1RJTV9TbGF2ZUNvbmZpZ1N5bmNocm9uaXphdGlvbl9JVDwvc3Bhbj48L3NwYW4+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi1zdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5IQUxfVElNX1NsYXZlQ29uZmlnU3luY2hyb19JVDwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDgwIGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMjY7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlJlbmFtZSA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5IQUxfVElNRXhfQ29uZmlnQ29tbXV0YXRpb25FdmVudDwvc3Bhbj48L3NwYW4+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi1zdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5IQUxfVElNRXhfQ29uZmlnQ29tbXV0RXZlbnQ8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw4MCBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzI2O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5SZW5hbWUgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX1RJTUV4X0NvbmZpZ0NvbW11dGF0aW9uRXZlbnRfSVQ8L3NwYW4+PC9zcGFuPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0byA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3Bhbgotc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX1RJTUV4X0NvbmZpZ0NvbW11dEV2ZW50X0lUPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsODAgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8yNjt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+UmVuYW1lIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkhBTF9USU1FeF9Db25maWdDb21tdXRhdGlvbkV2ZW50X0RNQTwvc3Bhbj48L3NwYW4+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi1zdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5IQUxfVElNRXhfQ29uZmlnQ29tbXV0RXZlbnRfRE1BPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsODAgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8yNjt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+UmVuYW1lIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkhBTF9USU1FeF9Db21tdXRhdGlvbkNhbGxiYWNrPC9zcGFuPjwvc3Bhbj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4KLXN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkhBTF9USU1FeF9Db21tdXRDYWxsYmFjazwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDgwIGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMjY7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlJlbmFtZSA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5IQUxfVElNRXhfRE1BQ29tbXV0YXRpb25DcGx0PC9zcGFuPjwvc3Bhbj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4KLXN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPlRJTUV4X0RNQUNvbW11dGF0aW9uQ3BsdDwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21wbGlhbmN5Ojwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5SZW5hbWUgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfVElNX1NsYXZlQ29uZmlnU3luY2hyb25pemF0aW9uPC9zcGFuPjwvc3Bhbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfVElNX1NsYXZlQ29uZmlnU3luY2hybzwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5SZW5hbWUgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfVElNX1NsYXZlQ29uZmlnU3luY2hyb25pemF0aW9uX0lUPC9zcGFuPjwvc3Bhbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfVElNX1NsYXZlQ29uZmlnU3luY2hyb19JVDwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5SZW5hbWUgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfVElNRXhfQ29uZmlnQ29tbXV0YXRpb25FdmVudDwvc3Bhbj48L3NwYW4+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX1RJTUV4X0NvbmZpZ0NvbW11dEV2ZW50PC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlJlbmFtZSA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9USU1FeF9Db25maWdDb21tdXRhdGlvbkV2ZW50X0lUPC9zcGFuPjwvc3Bhbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfVElNRXhfQ29uZmlnQ29tbXV0RXZlbnRfSVQ8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+UmVuYW1lIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX1RJTUV4X0NvbmZpZ0NvbW11dGF0aW9uRXZlbnRfRE1BPC9zcGFuPjwvc3Bhbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfVElNRXhfQ29uZmlnQ29tbXV0RXZlbnRfRE1BPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlJlbmFtZSA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9USU1FeF9Db21tdXRhdGlvbkNhbGxiYWNrPC9zcGFuPjwvc3Bhbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfVElNRXhfQ29tbXV0Q2FsbGJhY2s8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+UmVuYW1lIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX1RJTUV4X0RNQUNvbW11dGF0aW9uQ3BsdDwvc3Bhbj48L3NwYW4+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VElNRXhfRE1BQ29tbXV0YXRpb25DcGx0PC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtYXJnaW4tdG9wOjBpbjt0ZXh0LWFsaWduOnN0YXJ0O3dvcmQtc3BhY2luZzowcHgiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwyNyBsZXZlbDEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMjc7dGFiLXN0b3BzOmxpc3QgLjVpbiI+PGI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsgdGV4dC1hbGlnbjogc3RhcnQ7IHdvcmQtc3BhY2luZzogMHB4OyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFML0xMCiAKIAogCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+SEFML0xMCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVU0I8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4gdXBkYXRlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMjcgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMjc7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlJld29yayBVU0IKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVTQjwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPiB1cGRhdGU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5SZXdvcmsgVVNCCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnRlcnJ1cHQgaGFuZGxlciBhbmQgaW1wcm92ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSFMgRE1BIHN1cHBvcnQgaW4gRGV2aWNlIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5tb2RlPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwyNyBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8yNzt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+Rml4IEJDRAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxpbmcgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4KLXN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPmZyPC9zcGFuPjwvc3Bhbj4gT1RHCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnN0YW5jZSBpbiBkZXZpY2UgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPm1vZGU8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDI3IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzI3O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5jbGVhbnVwCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIUyBETUEgc3VwcG9ydCBpbiBEZXZpY2UgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPm1vZGU8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkZpeCBCQ0QKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsaW5nIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+ZnI8L3NwYW4+PC9zcGFuPiBPVEcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluc3RhbmNlIGluIGRldmljZSA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+bW9kZTwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Y2xlYW51cAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmZXJlbmNlIHRvIGxvdyBzcGVlZCBpbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGV2aWNlIG1vZGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMjcgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMjc7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPmFsbG93IHdyaXRpbmcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRldmljZSBtb2RlPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+YWxsb3cgd3JpdGluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVFggRklGTyBpbiBjYXNlIG9mIHRyYW5zZmVyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZW5ndGggaXMgZXF1YWwgdG8gYXZhaWxhYmxlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcGFjZSBpbiB0aGUgVFggPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkZJRk88L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDI3IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzI3O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5GaXggVG9nZ2xlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcGFjZSBpbiB0aGUgVFggPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkZJRk88L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkZpeCBUb2dnbGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9VVCBpbnRlcnJ1cHQgY2hhbm5lbCBpbiBob3N0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+bW9kZTwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMjcgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMjc7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlVwZGF0ZSBVU0IKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5tb2RlPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUgVVNCCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPVEcgbWF4IG51bWJlciBvZiBlbmRwb2ludHMgKDYKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZTIGFuZCA5IEhTIGluc3RlYWQgb2YgNSBhbmQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDgpPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMjcgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMjc7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlVwZGF0ZSBVU0IKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDgpPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXBkYXRlIFVTQgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT1RHIElQIHRvIGVuYWJsZSBpbnRlcm5hbAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNjZWl2ZXIgd2hlbiBzdGFydGluZyBVU0IKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRldmljZSBhZnRlciBjb21taXR0ZWUgQkNEIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5uZWdvdGlhdGlvbjwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRldmljZSBhZnRlciBjb21taXR0ZWUgQkNEIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5uZWdvdGlhdGlvbjwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwyNyBsZXZlbDEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMjc7dGFiLXN0b3BzOmxpc3QgLjVpbiI+PGI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+TEwKIAogCiAKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij5MTAotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSVdERyA8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij51cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwyNyBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8yNzt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+VXBkYXRlIExMCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmxpbmUgbWFjcm9zIHRvIHVzZSA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPklXREd4PC9zcGFuPjwvc3Bhbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElXREcgPC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXBkYXRlIExMCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmxpbmUgbWFjcm9zIHRvIHVzZSA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPklXREd4PC9zcGFuPjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtZXRlciBpbnN0ZWFkIG9mIElXREcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluc3RhbmNlIGRlZmluZWQgaW4gQ01TSVMgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPmRldmljZTwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluc3RhbmNlIGRlZmluZWQgaW4gQ01TSVMgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPmRldmljZTwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibWFyZ2luLXJpZ2h0OjUwMC4wcHQ7YmFja2dyb3VuZDojMzM2NkZGOy1tb3otYmFja2dyb3VuZC1jbGlwOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5pdGlhbDsgLW1vei1iYWNrZ3JvdW5kLW9yaWdpbjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluaXRpYWw7LW1vei1iYWNrZ3JvdW5kLWlubGluZS1wb2xpY3k6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbml0aWFsOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbi14OjAlO2JhY2tncm91bmQtcG9zaXRpb24teToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDUwJTtiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IHNjcm9sbCI+PGZvbnQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I9IiNmZmZmZmYiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7QXJpYWwmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBzdHlsZT0iYmFja2dyb3VuZDogcmdiKDUxLCAxMDIsIDI1NSkgbm9uZSByZXBlYXQgc2Nyb2xsIDAlIDUwJTsgLW1vei1iYWNrZ3JvdW5kLWNsaXA6IC1tb3otaW5pdGlhbDsgLW1vei1iYWNrZ3JvdW5kLW9yaWdpbjogLW1vei1pbml0aWFsOyAtbW96LWJhY2tncm91bmQtaW5saW5lLXBvbGljeTogLW1vei1pbml0aWFsOyBtYXJnaW4tcmlnaHQ6IDUwMHB0OyI+PGZvbnQgY29sb3I9IiNmZmZmZmYiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtBcmlhbCZxdW90OyxzYW5zLXNlcmlmOyI+VjEuNy40CiAKIAogCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7O2NvbG9yOndoaXRlIj5WMS43LjQKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvIDAyLUZlYnJ1YXJ5LTIwMTg8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvZm9udD48L2gzPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tcmlnaHQ6MGluO21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttYXJnaW4tbGVmdDouMjVpbiI+PGI+PHU+PHNwYW4KLXN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OgotJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOmJsYWNrIj5NYWluIENoYW5nZXM8L3NwYW4+PC91PjwvYj48bzpwPjwvbzpwPjwvcD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtYXJnaW4tdG9wOjBpbjt0ZXh0LWFsaWduOnN0YXJ0O3dvcmQtc3BhY2luZzowcHgiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxNCBsZXZlbDEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMjg7dGFiLXN0b3BzOmxpc3QgLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPkdlbmVyYWwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvIDAyLUZlYnJ1YXJ5LTIwMTg8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9mb250PjwvaDM+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjogNC41cHQgMGluIDQuNXB0IDAuMjVpbjsiPjxiPjx1PjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7IGNvbG9yOiBibGFjazsiPk1haW4gQ2hhbmdlczwvc3Bhbj48L3U+PC9iPjxvOnA+PC9vOnA+PC9wPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyB0ZXh0LWFsaWduOiBzdGFydDsgd29yZC1zcGFjaW5nOiAwcHg7IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5HZW5lcmFsCiAKIAogCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlcyB0byBmaXgga25vd24gZGVmZWN0cyBhbmQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbmhhbmNlbWVudHMgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+aW1wbGVtZW50YXRpb248L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTQgbGV2ZWwxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzI4O3RhYi1zdG9wczpsaXN0IC41aW4iPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+SEFMJm5ic3A7PC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+dXBkYXRlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTQgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMjg7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlVwZGF0ZSA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+VU5VU0VEKDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuaGFuY2VtZW50cyA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+aW1wbGVtZW50YXRpb248L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwmbmJzcDs8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVOVVNFRCg8L3NwYW4+PC9zcGFuPikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hY3JvIGltcGxlbWVudGF0aW9uIHRvIGF2b2lkCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHQ0Mgd2FybmluZzwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTQgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8yODt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+VGhlIHdhcm5pbmcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXMgZGV0ZWN0ZWQgd2hlbiB0aGUgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5VTlVTRUQoPC9zcGFuPjwvc3Bhbj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHQ0Mgd2FybmluZzwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5UaGUgd2FybmluZworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpcyBkZXRlY3RlZCB3aGVuIHRoZSA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VU5VU0VEKDwvc3Bhbj48L3NwYW4+KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWNybyBpcyBjYWxsZWQgZnJvbSBDKysKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxNCBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8yODt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+VXBkYXRlIHRvCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXBkYXRlIHRvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWtlIFJBTUZVTkMgZGVmaW5lIGFzIGdlbmVyaWMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGUgaW5zdGVhZCBvZiA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkhBTF9TdGF0dXNUeXBkZWY8L3NwYW4+PC9zcGFuPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZS48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZSBpbnN0ZWFkIG9mIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX1N0YXR1c1R5cGRlZjwvc3Bhbj48L3NwYW4+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlLjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTQgbGV2ZWwxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzI4O3RhYi1zdG9wczpsaXN0IC41aW4iPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAogCiAKIAotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPkhBTAotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRkxBU0ggPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+dXBkYXRlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTQgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMjg7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlVwZGF0ZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRkxBU0ggPC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXBkYXRlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUmbmJzcDtwcm90b3R5cGVzIG9mIHRoZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9sbG93aW5nIEFQSXMgYWZ0ZXIgY2hhbmdlIG9uCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSQU1GVU5DIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4KLXN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPmRlZmluZXM8L3NwYW4+PC9zcGFuPiZuYnNwOzwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTQgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8yODt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkhBTF9GTEFTSEV4Xzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+U3RvcEZsYXNoSW50ZXJmYWNlQ2xrKDwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+KTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxNCBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzI4O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SEFMX0ZMQVNIRXhfPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5TdGFydEZsYXNoSW50ZXJmYWNlQ2xrKDwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+KTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxNCBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzI4O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SEFMX0ZMQVNIRXhfPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5FbmFibGVGbGFzaFNsZWVwTW9kZSg8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPik8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTQgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8yODt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkhBTF9GTEFTSEV4Xzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+RGlzYWJsZUZsYXNoU2xlZXBNb2RlKDwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+KTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUkFNRlVOQyA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+ZGVmaW5lczwvc3Bhbj48L3NwYW4+Jm5ic3A7PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9GTEFTSEV4Xzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+U3RvcEZsYXNoSW50ZXJmYWNlQ2xrKDwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPik8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9GTEFTSEV4Xzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+U3RhcnRGbGFzaEludGVyZmFjZUNsayg8L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4pPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfRkxBU0hFeF88L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkVuYWJsZUZsYXNoU2xlZXBNb2RlKDwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPik8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9GTEFTSEV4Xzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RGlzYWJsZUZsYXNoU2xlZXBNb2RlKDwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPik8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDE0IGxldmVsMQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8yODt0YWItc3RvcHM6bGlzdCAuNWluIj48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKIAogCiAKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij5IQUwKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNBSSA8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij51cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxNCBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8yODt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+VXBkYXRlIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX1NBSV88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5ETUFTdG9wKDwvc3Bhbj48L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi1zdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5IQUxfU0FJX0Fib3J0PC9zcGFuPjwvc3Bhbj4oKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU0FJIDwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZSA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9TQUlfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RE1BU3RvcCg8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9TQUlfQWJvcnQ8L3NwYW4+PC9zcGFuPigpCiAKIAogCiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2Nlc3MgdG8gZml4IHRoZSBsb2NrL3VubG9jawotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXVkaW8gaXNzdWU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXVkaW8gaXNzdWU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtYXJnaW4tcmlnaHQ6NTAwLjBwdDtiYWNrZ3JvdW5kOiMzMzY2RkY7LW1vei1iYWNrZ3JvdW5kLWNsaXA6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbml0aWFsOyAtbW96LWJhY2tncm91bmQtb3JpZ2luOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5pdGlhbDstbW96LWJhY2tncm91bmQtaW5saW5lLXBvbGljeToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluaXRpYWw7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6MCU7YmFja2dyb3VuZC1wb3NpdGlvbi15OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNTAlO2JhY2tncm91bmQtYXR0YWNobWVudDogc2Nyb2xsIj48Zm9udAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcj0iI2ZmZmZmZiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtBcmlhbCZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzIHN0eWxlPSJiYWNrZ3JvdW5kOiByZ2IoNTEsIDEwMiwgMjU1KSBub25lIHJlcGVhdCBzY3JvbGwgMCUgNTAlOyAtbW96LWJhY2tncm91bmQtY2xpcDogLW1vei1pbml0aWFsOyAtbW96LWJhY2tncm91bmQtb3JpZ2luOiAtbW96LWluaXRpYWw7IC1tb3otYmFja2dyb3VuZC1pbmxpbmUtcG9saWN5OiAtbW96LWluaXRpYWw7IG1hcmdpbi1yaWdodDogNTAwcHQ7Ij48Zm9udCBjb2xvcj0iI2ZmZmZmZiI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O0FyaWFsJnF1b3Q7LHNhbnMtc2VyaWY7Ij5WMS43LjMKIAogCiAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDs7Y29sb3I6d2hpdGUiPlYxLjcuMwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8gMjItRGVjZW1iZXItMjAxNzwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9mb250PjwvaDM+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1yaWdodDowaW47bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21hcmdpbi1sZWZ0Oi4yNWluIj48Yj48dT48c3Bhbgotc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6Ci0mcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6YmxhY2siPk1haW4gQ2hhbmdlczwvc3Bhbj48L3U+PC9iPjxvOnA+PC9vOnA+PC9wPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1hcmdpbi10b3A6MGluO3RleHQtYWxpZ246c3RhcnQ7d29yZC1zcGFjaW5nOjBweCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDg3IGxldmVsMQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8yOTt0YWItc3RvcHM6bGlzdCAuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+R2VuZXJhbAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8gMjItRGVjZW1iZXItMjAxNzwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2ZvbnQ+PC9oMz4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOiA0LjVwdCAwaW4gNC41cHQgMC4yNWluOyI+PGI+PHU+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsgY29sb3I6IGJsYWNrOyI+TWFpbiBDaGFuZ2VzPC9zcGFuPjwvdT48L2I+PG86cD48L286cD48L3A+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IHRleHQtYWxpZ246IHN0YXJ0OyB3b3JkLXNwYWNpbmc6IDBweDsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkdlbmVyYWwKIAogCiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGVzIHRvIGZpeCBrbm93biBkZWZlY3RzIGFuZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuaGFuY2VtZW50cyA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5pbXBsZW1lbnRhdGlvbjwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw4NyBsZXZlbDEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMjk7dGFiLXN0b3BzOmxpc3QgLjVpbiI+PGI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij5UaGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbmhhbmNlbWVudHMgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPmltcGxlbWVudGF0aW9uPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VGhlCiAKIAogCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb2xsb3dpbmcgY2hhbmdlcyBkb25lIG9uIHRoZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMIGRyaXZlcnMgcmVxdWlyZSBhbiB1cGRhdGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uIHRoZSBhcHBsaWNhdGlvbiBjb2RlIGJhc2VkCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbiBvbGRlciBIQUwgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPnZlcnNpb25zPC9zcGFuPjwvc3Bhbj48L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsODcgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMjk7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlJld29yayBvZgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb24gb2xkZXIgSEFMIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij52ZXJzaW9uczwvc3Bhbj48L3NwYW4+PC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlJld29yayBvZgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUwgQ0FOIGRyaXZlcgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY29tcGF0aWJpbGl0eSBicmVhaykmbmJzcDs8L3NwYW4+PC9iPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvYj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDg3IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMjk7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkEgbmV3IEhBTAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY29tcGF0aWJpbGl0eSBicmVhaykmbmJzcDs8L3NwYW4+PC9iPjxiPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvYj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BIG5ldyBIQUwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ0FOIGRyaXZlciBoYXMgYmVlbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWRlc2lnbmVkIHdpdGggbmV3IEFQSXMsIHRvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ5cGFzcyBsaW1pdGF0aW9ucyBvbiBDQU4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVHgvUnggRklGTyBtYW5hZ2VtZW50CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByZXNlbnQgd2l0aCBwcmV2aW91cyBIQUwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ0FOIGRyaXZlciB2ZXJzaW9uLjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw4NyBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzI5O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5UaGUgbmV3IEhBTAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDQU4gZHJpdmVyIHZlcnNpb24uPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5UaGUgbmV3IEhBTAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDQU4gZHJpdmVyIGlzIHRoZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWNvbW1lbmRlZCB2ZXJzaW9uLiBJdCBpcwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2NhdGVkIGFzIHVzdWFsIGluCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERyaXZlcnMvU1RNMzJGNHh4X0hBTF9Ecml2ZXIvPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+U3JjPC9zcGFuPjwvc3Bhbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRHJpdmVycy9TVE0zMkY0eHhfSEFMX0RyaXZlci88c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlNyYzwvc3Bhbj48L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEcml2ZXJzL1NUTTMyZjR4eF9IQUxfRHJpdmVyL0luYwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb2xkZXJzLiBJdCBjYW4gYmUgZW5hYmxlZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aHJvdWdoIHN3aXRjaAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUxfQ0FOX01PRFVMRV9FTkFCTEVEIGluCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0bTMyZjR4eF9oYWxfY29uZi5oPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDg3IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMjk7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlRoZSBsZWdhY3kKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RtMzJmNHh4X2hhbF9jb25mLmg8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlRoZSBsZWdhY3kKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMIENBTiBkcml2ZXIgaXMgYWxzbwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmVzZW50IGluIHRoZSByZWxlYXNlIGluCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERyaXZlcnMvU1RNMzJGNHh4X0hBTF9Ecml2ZXIvPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+U3JjPC9zcGFuPjwvc3Bhbj4vTGVnYWN5CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERyaXZlcnMvU1RNMzJGNHh4X0hBTF9Ecml2ZXIvPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5TcmM8L3NwYW4+PC9zcGFuPi9MZWdhY3kKIAogCiAKQEAgLTE1MzU4LDg4MSArMzM5OSwxNzAgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaG93ZXZlciBiZSBlbmFibGVkIHRocm91Z2gKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3dpdGNoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9DQU5fTEVHQUNZX01PRFVMRV9FTkFCTEVECi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIHN0bTMyZjR4eF9oYWxfY29uZi5oPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIHN0bTMyZjR4eF9oYWxfY29uZi5oPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw4NyBsZXZlbDEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMjk7dGFiLXN0b3BzOmxpc3QgLjVpbiI+PGI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij5IQUwmbmJzcDs8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij51cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw4NyBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8yOTt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+VXBkYXRlIEhBTAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwmbmJzcDs8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUgSEFMCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkcml2ZXIgdG8gYWxsb3cgdXNlciB0byBjaGFuZ2UKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+c3lzdGljazwvc3Bhbj48L3NwYW4+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwZXJpb2QgdG8gMW1zLCAxMCA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPm1zPC9zcGFuPjwvc3Bhbj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9yIDEwMCA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuCi1zdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5tcyA6PC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5zeXN0aWNrPC9zcGFuPjwvc3Bhbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBlcmlvZCB0byAxbXMsIDEwIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+bXM8L3NwYW4+PC9zcGFuPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3IgMTAwIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5tcyA6PC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkIHRoZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb2xsb3dpbmcgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFQSSdzCiAKIAogCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsODcgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8yOTt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+QWRkIHRoZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb2xsb3dpbmcgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5BUEkncwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOjwvc3Bhbj48L3NwYW4+Jm5ic3A7Jm5ic3A7PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDg3IGxldmVsNAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8yOTt0YWItc3RvcHM6bGlzdCAyLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SEFMXzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5HZXRUaWNrUHJpbyg8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPik6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJucyBhIHRpY2sgcHJpb3JpdHkuPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw4NyBsZXZlbDQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMjk7dGFiLXN0b3BzOmxpc3QgMi4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkhBTF88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+U2V0VGlja0ZyZXEoPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4pOiBTZXRzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3IHRpY2smbmJzcDtmcmVxdWVuY3kuPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDg3IGxldmVsNAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8yOTt0YWItc3RvcHM6bGlzdCAyLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SEFMXzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5HZXRUaWNrRnJlcSg8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPik6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJucyB0aWNrIGZyZXF1ZW5jeS48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6PC9zcGFuPjwvc3Bhbj4mbmJzcDsmbmJzcDs8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF88L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkdldFRpY2tQcmlvKDwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPik6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJucyBhIHRpY2sgcHJpb3JpdHkuPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF88L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlNldFRpY2tGcmVxKDwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPik6IFNldHMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXcgdGljayZuYnNwO2ZyZXF1ZW5jeS48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+R2V0VGlja0ZyZXEoPC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+KToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm5zIHRpY2sgZnJlcXVlbmN5Ljwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDg3IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMjk7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkFkZCA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5IQUxfVGlja0ZyZXFUeXBlRGVmPC9zcGFuPjwvc3Bhbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZCA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9UaWNrRnJlcVR5cGVEZWY8L3NwYW4+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbnVtZXJhdGlvbiBmb3IgdGhlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpZmZlcmVudCBUaWNrIEZyZXF1ZW5jaWVzOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMCBIeiwgMTAwIEh6IGFuZCAxS0h6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChkZWZhdWx0KS48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGRlZmF1bHQpLjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsODcgbGV2ZWwxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzI5O3RhYi1zdG9wczpsaXN0IC41aW4iPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAogCiAKIAotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPkhBTAotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ0FOIDwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPnVwZGF0ZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDg3IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzI5O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5GaWVsZHMgb2YgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5DQU5fSW5pdFR5cGVEZWY8L3NwYW4+PC9zcGFuPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0dXJlIGFyZSByZXdvcmtlZDo8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDg3IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMjk7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlNKVyB0byA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5TeW5jSnVtcFdpZHRoPC9zcGFuPjwvc3Bhbj4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDQU4gPC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RmllbGRzIG9mIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Q0FOX0luaXRUeXBlRGVmPC9zcGFuPjwvc3Bhbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdHVyZSBhcmUgcmV3b3JrZWQ6PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlNKVyB0byA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlN5bmNKdW1wV2lkdGg8L3NwYW4+PC9zcGFuPiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQlMxIHRvIFRpbWVTZWcxLCBCUzIgdG8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGltZVNlZzIsIFRUQ00gdG8gPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+VGltZVRyaWdnZXJlZE1vZGU8L3NwYW4+PC9zcGFuPiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQUJPTSB0byA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5BdXRvQnVzT2ZmPC9zcGFuPjwvc3Bhbj4sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFXVU0gdG8gPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+QXV0b1dha2VVcDwvc3Bhbj48L3NwYW4+LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOQVJUIHRvIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkF1dG9SZXRyYW5zbWlzc2lvbjwvc3Bhbj48L3NwYW4+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChpbnZlcnNlZCksIFJGTE0gdG8gPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5SZWNlaXZlRmlmb0xvY2tlZDwvc3Bhbj48L3NwYW4+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCBUWEZQIHRvIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPlRyYW5zbWl0Rmlmb1ByaW9yaXR5PC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGltZVNlZzIsIFRUQ00gdG8gPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5UaW1lVHJpZ2dlcmVkTW9kZTwvc3Bhbj48L3NwYW4+LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBQk9NIHRvIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QXV0b0J1c09mZjwvc3Bhbj48L3NwYW4+LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBV1VNIHRvIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QXV0b1dha2VVcDwvc3Bhbj48L3NwYW4+LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOQVJUIHRvIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QXV0b1JldHJhbnNtaXNzaW9uPC9zcGFuPjwvc3Bhbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGludmVyc2VkKSwgUkZMTSB0byA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlJlY2VpdmVGaWZvTG9ja2VkPC9zcGFuPjwvc3Bhbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIFRYRlAgdG8gPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5UcmFuc21pdEZpZm9Qcmlvcml0eTwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDg3IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzI5O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9DQU5fPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5Jbml0KDwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPikgaXMgc3BsaXQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludG8gYm90aCA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9DQU5fSW5pdDwvc3Bhbj48L3NwYW4+KCkKIAogCiAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5IQUxfQ0FOXzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwogCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfQ0FOX1N0YXJ0PC9zcGFuPjwvc3Bhbj4oKQogCiAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5Jbml0KDwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKIAogCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBUEknczwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9DQU5fPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5UcmFuc21pdCg8L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4pIGlzIHJlcGxhY2VkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBieSA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9DQU5fQWRkVHhNZXNzYWdlPC9zcGFuPjwvc3Bhbj4oKQogCiAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCiAKIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gcGxhY2UgVHggUmVxdWVzdCwgdGhlbiA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9DQU5fR2V0VHhNYWlsYm94ZXNGcmVlTGV2ZWw8L3NwYW4+PC9zcGFuPigpCiAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+KSBpcyBzcGxpdAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50byBib3RoIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX0NBTl9Jbml0PC9zcGFuPjwvc3Bhbj4oKQogCiAKIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIHBvbGxpbmcgdW50aWwgY29tcGxldGlvbi48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfQ0FOX1RyYW5zbWl0Xzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SVQoPC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+KSBpcyByZXBsYWNlZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnkgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfQ0FOX0FjdGl2YXRlTm90aWZpY2F0aW9uPC9zcGFuPjwvc3Bhbj4oKQogCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4KLXN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkhBTF9DQU5fU3RhcnQ8L3NwYW4+PC9zcGFuPigpCiAKIAogCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0byBlbmFibGUgdHJhbnNtaXQgSVQsIHRoZW4gPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfQ0FOX0FkZFR4TWVzc2FnZTwvc3Bhbj48L3NwYW4+KCkKIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVBJJ3M8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw4NyBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8yOTt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKIAogCiAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5IQUxfQ0FOXzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlRyYW5zbWl0KDwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+KSBpcyByZXBsYWNlZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnkgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4KLXN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkhBTF9DQU5fQWRkVHhNZXNzYWdlPC9zcGFuPjwvc3Bhbj4oKQotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0byBwbGFjZSBUeCBSZXF1ZXN0LCB0aGVuIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX0NBTl9HZXRUeE1haWxib3hlc0ZyZWVMZXZlbDwvc3Bhbj48L3NwYW4+KCkKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIHBvbGxpbmcgdW50aWwgY29tcGxldGlvbi48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw4NyBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8yOTt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5IQUxfQ0FOX1RyYW5zbWl0Xzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPklUKDwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+KSBpcyByZXBsYWNlZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnkgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4KLXN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkhBTF9DQU5fQWN0aXZhdGVOb3RpZmljYXRpb248L3NwYW4+PC9zcGFuPigpCi0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvIGVuYWJsZSB0cmFuc21pdCBJVCwgdGhlbiA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkhBTF9DQU5fQWRkVHhNZXNzYWdlPC9zcGFuPjwvc3Bhbj4oKQotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgcGxhY2UgVHggcmVxdWVzdC48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw4NyBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8yOTt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5IQUxfQ0FOXzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlJlY2VpdmUoPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4pIGlzIHJlcGxhY2VkCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBieSA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3Bhbgotc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX0NBTl9HZXRSeEZpZm9GaWxsTGV2ZWw8L3NwYW4+PC9zcGFuPigpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgcGxhY2UgVHggcmVxdWVzdC48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfQ0FOXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+UmVjZWl2ZSg8L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4pIGlzIHJlcGxhY2VkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBieSA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9DQU5fR2V0UnhGaWZvRmlsbExldmVsPC9zcGFuPjwvc3Bhbj4oKQogCiAKIAogCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgcG9sbGluZyB1bnRpbCByZWNlcHRpb24sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGVuIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi1zdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5IQUxfQ0FOX0dldFJ4TWVzc2FnZTwvc3Bhbj48L3NwYW4+KCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZW4gPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfQ0FOX0dldFJ4TWVzc2FnZTwvc3Bhbj48L3NwYW4+KCkKIAogCiAKIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJyPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gZ2V0IFJ4IG1lc3NhZ2UuPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsODcgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMjk7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SEFMX0NBTl9SZWNlaXZlXzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPklUKDwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvIGdldCBSeCBtZXNzYWdlLjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9DQU5fUmVjZWl2ZV88L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPklUKDwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPikgaXMgcmVwbGFjZWQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ5IDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX0NBTl9BY3RpdmF0ZU5vdGlmaWNhdGlvbjwvc3Bhbj48L3NwYW4+KCkmbmJzcDt0bwogCiAKIAogCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4pIGlzIHJlcGxhY2VkCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBieSA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3Bhbgotc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX0NBTl9BY3RpdmF0ZU5vdGlmaWNhdGlvbjwvc3Bhbj48L3NwYW4+KCkmbmJzcDt0bwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbmFibGUgcmVjZWl2ZSBJVCwgdGhlbiA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkhBTF9DQU5fR2V0UnhNZXNzYWdlPC9zcGFuPjwvc3Bhbj4oKTxicj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIHRoZSA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3Bhbgotc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+cmVjZWl2ZWNhbGxiYWNrPC9zcGFuPjwvc3Bhbj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvIGdldCBSeCBtZXNzYWdlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsODcgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMjk7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SEFMX0NBTl88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5TbGVwcCg8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPikgaXMgcmVuYW1lZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXMgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4KLXN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkhBTF9DQU5fUmVxdWVzdFNsZWVwPC9zcGFuPjwvc3Bhbj4oKTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDg3IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzI5O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkhBTF9DQU5fPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+VHhDcGx0Q2FsbGJhY2soPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4pIGlzIHNwbGl0CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbmFibGUgcmVjZWl2ZSBJVCwgdGhlbiA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9DQU5fR2V0UnhNZXNzYWdlPC9zcGFuPjwvc3Bhbj4oKTxicj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIHRoZSA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnJlY2VpdmVjYWxsYmFjazwvc3Bhbj48L3NwYW4+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0byBnZXQgUnggbWVzc2FnZTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9DQU5fPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5TbGVwcCg8L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4pIGlzIHJlbmFtZWQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFzIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX0NBTl9SZXF1ZXN0U2xlZXA8L3NwYW4+PC9zcGFuPigpPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX0NBTl88L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlR4Q3BsdENhbGxiYWNrKDwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPikgaXMgc3BsaXQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludG8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9DQU5fVHhNYWlsYm94MENvbXBsZXRlQ2FsbGJhY2soKSwKIEhBTF9DQU5fVHhNYWlsYm94MUNvbXBsZXRlQ2FsbGJhY2soKQotYW5kJm5ic3A7SEFMX0NBTl9UeE1haWxib3gyQ29tcGxldGVDYWxsYmFjaygpLjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDg3IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzI5O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkhBTF9DQU5fUnhDcGx0Q2FsbGJhY2s8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPiBpcyBzcGxpdAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50byBIQUxfQ0FOX1J4RmlmbzA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+TXNnUGVuZGluZ0NhbGxiYWNrKDwvc3Bhbj48L3NwYW4+KQorYW5kJm5ic3A7SEFMX0NBTl9UeE1haWxib3gyQ29tcGxldGVDYWxsYmFjaygpLjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9DQU5fUnhDcGx0Q2FsbGJhY2s8L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4gaXMgc3BsaXQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludG8gSEFMX0NBTl9SeEZpZm8wPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPk1zZ1BlbmRpbmdDYWxsYmFjayg8L3NwYW4+PC9zcGFuPikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX0NBTl9SeEZpZm8xTXNnUGVuZGluZ0NhbGxiYWNrKCkuPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsODcgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMjk7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPk1vcmUgY29tcGxldGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9DQU5fUnhGaWZvMU1zZ1BlbmRpbmdDYWxsYmFjaygpLjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPk1vcmUgY29tcGxldGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJIb3cgdG8gdXNlIHRoZSBuZXcgZHJpdmVyIiBpcwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGV0YWlsZWQgaW4gdGhlIGRyaXZlciBoZWFkZXIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlY3Rpb24gaXRzZWxmLjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWN0aW9uIGl0c2VsZi48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDg3IGxldmVsMQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8yOTt0YWItc3RvcHM6bGlzdCAuNWluIj48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKIAogCiAKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij5IQUwKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZNUEkyQyA8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij51cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsODcgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMjk7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkFkZCBuZXcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZNUEkyQyA8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQgbmV3CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRpb24KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZNUEkyQ19MQVNUX0ZSQU1FX05PX1NUT1AgZm9yCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgc2VxdWVudGlhbCB0cmFuc2ZlciA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+bWFuYWdlbWVudDwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw4NyBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzI5O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5UaGlzIG9wdGlvbgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIHNlcXVlbnRpYWwgdHJhbnNmZXIgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPm1hbmFnZW1lbnQ8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5UaGlzIG9wdGlvbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGxvd3MgdG8gbWFuYWdlIGEgcmVzdGFydAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25kaXRpb24gYWZ0ZXIgc2V2ZXJhbCBjYWxsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9mIHRoZSBzYW1lIG1hc3RlcgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXF1ZW50aWFsIGludGVyZmFjZS4mbmJzcDs8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VxdWVudGlhbCBpbnRlcmZhY2UuJm5ic3A7PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw4NyBsZXZlbDEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMjk7dGFiLXN0b3BzOmxpc3QgLjVpbiI+PGI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMCiAKIAogCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+SEFMCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSQ0MmbmJzcDs8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij51cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsODcgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMjk7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkFkZCBuZXcgSEFMIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5tYWNyb3M8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsODcgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8yOTt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+X19IQUxfUkNDX0dFVF9SVENfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5TT1VSQ0UoPC9zcGFuPjwvc3Bhbj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSQ0MmbmJzcDs8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQgbmV3IEhBTCA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+bWFjcm9zPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+X19IQUxfUkNDX0dFVF9SVENfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlNPVVJDRSg8L3NwYW4+PC9zcGFuPikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxsb3dpbmcgdG8gZ2V0IHRoZSBSVEMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xvY2sgc291cmNlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw4NyBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzI5O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5fX0hBTF9SQ0NfR0VUX1JUQ19IU0VfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5QUkVTQ0FMRVIoPC9zcGFuPjwvc3Bhbj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsb2NrIHNvdXJjZTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+X19IQUxfUkNDX0dFVF9SVENfSFNFXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5QUkVTQ0FMRVIoPC9zcGFuPjwvc3Bhbj4pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsbG93aW5nIHRvIGdldCB0aGUgSFNFCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsb2NrIGRpdmlkZXIgZm9yIFJUQwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwZXJpcGhlcmFsPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBlcmlwaGVyYWw8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsODcgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMjk7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkVuc3VyZSByZXNldAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkVuc3VyZSByZXNldAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2YgQ0lSIGFuZCBDU1IgcmVnaXN0ZXJzIHdoZW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzc3VpbmcgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4KLXN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkhBTF9SQ0NfPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+RGVJbml0KDwvc3Bhbj48L3NwYW4+KS88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkxMX1JDQ19EZUluaXQ8L3NwYW4+PC9zcGFuPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb25zPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsODcgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMjk7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlVwZGF0ZSA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkhBTF9SQ0NfPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+T3NjQ29uZmlnKDwvc3Bhbj48L3NwYW4+KSZuYnNwO3RvCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc3N1aW5nIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX1JDQ188L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5EZUluaXQoPC9zcGFuPjwvc3Bhbj4pLzxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+TExfUkNDX0RlSW5pdDwvc3Bhbj48L3NwYW4+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbnM8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfUkNDXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPk9zY0NvbmZpZyg8L3NwYW4+PC9zcGFuPikmbmJzcDt0bwogCiAKIApAQCAtMTYyNDAsMTI1NSArMzU3MCwyNDQgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtlZXAgYmFja3VwIGRvbWFpbiBlbmFibGVkCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aGVuIGNvbmZpZ3VyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNwZWN0aXZlbHkmbmJzcDtMU0UgYW5kIFJUQwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xvY2sgc291cmNlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDg3IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzI5O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5BZGQgbmV3IEhBTAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xvY2sgc291cmNlPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkIG5ldyBIQUwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludGVyZmFjZXMgYWxsb3dpbmcgdG8gY29udHJvbAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIGFjdGl2YXRpb24gb3IgZGVhY3RpdmF0aW9uCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvZiBQTExJMlMgYW5kIFBMTFNBSTo8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDg3IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMjk7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkhBTF9SQ0NFeF9FbmFibGVQTExJMjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+Uyg8L3NwYW4+PC9zcGFuPik8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsODcgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8yOTt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SEFMX1JDQ0V4X0Rpc2FibGVQTExJMjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+Uyg8L3NwYW4+PC9zcGFuPik8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsODcgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8yOTt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkhBTF9SQ0NFeF88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkVuYWJsZVBMTFNBSSg8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPik8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsODcgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8yOTt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkhBTF9SQ0NFeF88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkRpc2FibGVQTExTQUkoPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4pPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvZiBQTExJMlMgYW5kIFBMTFNBSTo8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX1JDQ0V4X0VuYWJsZVBMTEkyPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlMoPC9zcGFuPjwvc3Bhbj4pPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfUkNDRXhfRGlzYWJsZVBMTEkyPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlMoPC9zcGFuPjwvc3Bhbj4pPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfUkNDRXhfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5FbmFibGVQTExTQUkoPC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+KTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX1JDQ0V4Xzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RGlzYWJsZVBMTFNBSSg8L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4pPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibWFyZ2luLXRvcDowaW47dGV4dC1hbGlnbjpzdGFydDt3b3JkLXNwYWNpbmc6MHB4IgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMiBsZXZlbDEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMzA7dGFiLXN0b3BzOmxpc3QgLjVpbiI+PGI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsgdGV4dC1hbGlnbjogc3RhcnQ7IHdvcmQtc3BhY2luZzogMHB4OyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+TEwKIAogCiAKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij5MTAotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUkNDPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+IHVwZGF0ZSZuYnNwOzwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDIgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMzA7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkFkZCBuZXcgTEwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJDQyBtYWNybyA8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDIgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8zMDt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkxMX1JDQ19QTExfPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5TZXRNYWluU291cmNlKDwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+KSBhbGxvd2luZworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUkNDPC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+IHVwZGF0ZSZuYnNwOzwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZCBuZXcgTEwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJDQyBtYWNybyA8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+TExfUkNDX1BMTF88L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlNldE1haW5Tb3VyY2UoPC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+KSBhbGxvd2luZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0byBjb25maWd1cmUgUExMIG1haW4gY2xvY2sKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc291cmNlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzb3VyY2U8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDIgbGV2ZWwxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzMwO3RhYi1zdG9wczpsaXN0IC41aW4iPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkxMCiAKIAogCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+TEwKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZNQyAvIExMIEZTTUMgPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+dXBkYXRlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDIgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMzA7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkFkZCBjbGVhciBvZgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRk1DIC8gTEwgRlNNQyA8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQgY2xlYXIgb2YKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBQVFlQIGJpdCB0byBzZWxlY3QgdGhlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQQ0FSRCBtb2RlIGluIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+Rk1DX1BDQ0FSRF88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5Jbml0KDwvc3Bhbj48L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3Bhbgotc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+RlNNQ19QQ0NBUkRfSW5pdDwvc3Bhbj48L3NwYW4+KCk8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUENBUkQgbW9kZSBpbiA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkZNQ19QQ0NBUkRfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SW5pdCg8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8gPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5GU01DX1BDQ0FSRF9Jbml0PC9zcGFuPjwvc3Bhbj4oKTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1hcmdpbi1yaWdodDo1MDAuMHB0O2JhY2tncm91bmQ6IzMzNjZGRjstbW96LWJhY2tncm91bmQtY2xpcDoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluaXRpYWw7IC1tb3otYmFja2dyb3VuZC1vcmlnaW46Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbml0aWFsOy1tb3otYmFja2dyb3VuZC1pbmxpbmUtcG9saWN5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5pdGlhbDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb24teDowJTtiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA1MCU7YmFja2dyb3VuZC1hdHRhY2htZW50OiBzY3JvbGwiPjxmb250Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yPSIjZmZmZmZmIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0FyaWFsJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDMgc3R5bGU9ImJhY2tncm91bmQ6IHJnYig1MSwgMTAyLCAyNTUpIG5vbmUgcmVwZWF0IHNjcm9sbCAwJSA1MCU7IC1tb3otYmFja2dyb3VuZC1jbGlwOiAtbW96LWluaXRpYWw7IC1tb3otYmFja2dyb3VuZC1vcmlnaW46IC1tb3otaW5pdGlhbDsgLW1vei1iYWNrZ3JvdW5kLWlubGluZS1wb2xpY3k6IC1tb3otaW5pdGlhbDsgbWFyZ2luLXJpZ2h0OiA1MDBwdDsiPjxmb250IGNvbG9yPSIjZmZmZmZmIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7QXJpYWwmcXVvdDssc2Fucy1zZXJpZjsiPlYxLjcuMgogCiAKIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90Oztjb2xvcjp3aGl0ZSI+VjEuNy4yCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyAwNi1PY3RvYmVyLTIwMTc8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvZm9udD48L2gzPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tcmlnaHQ6MGluO21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttYXJnaW4tbGVmdDouMjVpbiI+PGI+PHU+PHNwYW4KLXN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OgotJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOmJsYWNrIj5NYWluIENoYW5nZXM8L3NwYW4+PC91PjwvYj48bzpwPjwvbzpwPjwvcD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtYXJnaW4tdG9wOjBpbjt0ZXh0LWFsaWduOnN0YXJ0O3dvcmQtc3BhY2luZzowcHgiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw0IGxldmVsMQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8zMTt0YWItc3RvcHM6bGlzdCAuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+R2VuZXJhbAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8gMDYtT2N0b2Jlci0yMDE3PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvZm9udD48L2gzPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW46IDQuNXB0IDBpbiA0LjVwdCAwLjI1aW47Ij48Yj48dT48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyBjb2xvcjogYmxhY2s7Ij5NYWluIENoYW5nZXM8L3NwYW4+PC91PjwvYj48bzpwPjwvbzpwPjwvcD4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsgdGV4dC1hbGlnbjogc3RhcnQ7IHdvcmQtc3BhY2luZzogMHB4OyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+R2VuZXJhbAogCiAKIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZXMgdG8gZml4IGtub3duIGRlZmVjdHMgYW5kCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5oYW5jZW1lbnRzIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPmltcGxlbWVudGF0aW9uPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDQgbGV2ZWwxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzMxO3RhYi1zdG9wczpsaXN0IC41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij5GaXgKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbmhhbmNlbWVudHMgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPmltcGxlbWVudGF0aW9uPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Rml4CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tcGlsYXRpb24mbmJzcDt3YXJuaW5nIHdpdGgKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHQ0MgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5jb21waWxlcjwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw0IGxldmVsMQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8zMTt0YWItc3RvcHM6bGlzdCAuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+UmVtb3ZlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0NDIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5jb21waWxlcjwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlJlbW92ZQogCiAKIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERhdGUgYW5kIHZlcnNpb24KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmcm9tJm5ic3A7aGVhZGVyIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPmZpbGVzPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDQgbGV2ZWwxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzMxO3RhYi1zdG9wczpsaXN0IC41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij5VcGRhdGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmcm9tJm5ic3A7aGVhZGVyIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5maWxlczwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZQogCiAKIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTCBkcml2ZXJzIHRvIHJlZmVyIHRvIHRoZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ldyZuYnNwO0NNU0lTIGJpdCBwb3NpdGlvbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmluZXMgaW5zdGVhZCBvZiB1c2FnZSB0aGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQT1NJVElPTl88c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuCi1zdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5WQUwoPC9zcGFuPjwvc3Bhbj4pCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFjcm88L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDQgbGV2ZWwxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzMxO3RhYi1zdG9wczpsaXN0IC41aW4iPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUE9TSVRJT05fPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlZBTCg8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWNybzwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKIAogCiAKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij5IQUwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdlbmVyaWMgPC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+c3RtMzJmNHh4X2hhbF9kZWYuaAogCiAKIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR2VuZXJpYyA8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij51cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNCBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8zMTt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+c3RtMzJmNHh4X2hhbF9kZWYuaAotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZSBjaGFuZ2VzOiZuYnNwOzwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNCBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzMxO3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5VcGRhdGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGUgY2hhbmdlczombmJzcDs8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXBkYXRlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fd2VhayBhbmQgX19wYWNrZWQgZGVmaW5lZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXMgZm9yJm5ic3A7QVJNIGNvbXBpbGVyPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDQgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8zMTt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+VXBkYXRlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlcyBmb3ImbmJzcDtBUk0gY29tcGlsZXI8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX0FMSUdOX0JFR0lOIGFuZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX0FMSUdOX0VORCBkZWZpbmVkIHZhbHVlcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3ImbmJzcDtBUk0gPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5jb21waWxlcjwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciZuYnNwO0FSTSA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Y29tcGlsZXI8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw0IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzMxO3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5zdG0zMmY0eHhfbGxfc3lzdGVtLmgKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5zdG0zMmY0eHhfbGxfc3lzdGVtLmgKIAogCiAKIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkZCZuYnNwO0xMX1NZU0NGR19SRU1BUF9TRFJBTQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmaW5lPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmluZTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNCBsZXZlbDEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMzE7dGFiLXN0b3BzOmxpc3QgLjVpbiI+PGI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMCiAKIAogCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+SEFMCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBREMgPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+dXBkYXRlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNCBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8zMTt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+Rml4IHdyb25nCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBREMgPC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Rml4IHdyb25nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWZpbml0aW9uIG9mIEFEQyBjaGFubmVsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZW1wZXJhdHVyZSBzZW5zb3IgZm9yCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTVE0zMkY0MTN4eCBhbmQgU1RNMzJGNDIzeHgKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRldmljZXMuPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRldmljZXMuPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw0IGxldmVsMQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8zMTt0YWItc3RvcHM6bGlzdCAuNWluIj48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKIAogCiAKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij5IQUwKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERNQSA8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij51cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw0IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzMxO3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5VcGRhdGUmbmJzcDt2YWx1ZXMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERNQSA8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUmbmJzcDt2YWx1ZXMKIAogCiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciB0aGUgZm9sbG93aW5nIGRlZmluZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBETUFfRkxBR19GRUlGMF80IGFuZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRE1BX0ZMQUdfRE1FSUYwXzQmbmJzcDs8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRE1BX0ZMQUdfRE1FSUYwXzQmbmJzcDs8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDQgbGV2ZWwxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzMxO3RhYi1zdG9wczpsaXN0IC41aW4iPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAogCiAKIAotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPkhBTAotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRFNJIDwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPnVwZGF0ZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDQgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMzE7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkZpeCBFeHRyYQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2FybmluZyB3aXRoIFNXNFNUTTMyIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5jb21waWxlcjwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNCBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8zMTt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+Rml4IERTSQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRFNJIDwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkZpeCBFeHRyYQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2FybmluZyB3aXRoIFNXNFNUTTMyIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5jb21waWxlcjwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Rml4IERTSQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheSBpc3N1ZSB3aGVuIHVzaW5nIEVXQVJNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3LyBoaWdoIGxldmVsIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5vcHRpbWl6YXRpb248L3NwYW4+PC9zcGFuPiZuYnNwOzwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDQgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMzE7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkZpeAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUlTUkFDJm5ic3A7ZXJyb3JzPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHcvIGhpZ2ggbGV2ZWwgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPm9wdGltaXphdGlvbjwvc3Bhbj48L3NwYW4+Jm5ic3A7PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Rml4CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNSVNSQUMmbmJzcDtlcnJvcnM8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDQgbGV2ZWwxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzMxO3RhYi1zdG9wczpsaXN0IC41aW4iPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAogCiAKIAotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPkhBTAotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRkxBU0ggPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+dXBkYXRlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNCBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8zMTt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5IQUxfRkxBU0hfPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+VW5sb2NrKDwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+KSB1cGRhdGUgdG8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZMQVNIIDwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9GTEFTSF88L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVubG9jayg8L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4pIHVwZGF0ZSB0bwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHN0YXRlIGVycm9yIHdoZW4gdGhlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGTEFTSCBpcyBhbHJlYWR5IHVubG9ja2VkPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZMQVNIIGlzIGFscmVhZHkgdW5sb2NrZWQ8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDQgbGV2ZWwxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzMxO3RhYi1zdG9wczpsaXN0IC41aW4iPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAogCiAKIAotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPkhBTAotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRk1QSTJDJm5ic3A7PC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+dXBkYXRlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDQgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMzE7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlVwZGF0ZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRk1QSTJDJm5ic3A7PC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXBkYXRlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJbnRlcmZhY2UgQVBJcyBoZWFkZXJzIHRvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZW1vdmUgY29uZnVzaW5nIG1lc3NhZ2UgYWJvdXQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRldmljZSA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuCi1zdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5hZGRyZXNzPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw0IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzMxO3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5VcGRhdGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZNUEkyQ188c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuCi1zdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5XYWl0T25SWE5FRmxhZ1VudGlsVGltZW91dCg8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRldmljZSA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+YWRkcmVzczwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXBkYXRlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGTVBJMkNfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPldhaXRPblJYTkVGbGFnVW50aWxUaW1lb3V0KDwvc3Bhbj48L3NwYW4+KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gcmVzb2x2ZSBhIHJhY2UgY29uZGl0aW9uCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZXR3ZWVuIFNUT1BGIGFuZCBSWE5FIEZsYWdzPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNCBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8zMTt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+VXBkYXRlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGTVBJMkNfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3Bhbgotc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+VHJhbnNmZXJDb25maWcoPC9zcGFuPjwvc3Bhbj4pCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0byBmaXggd3JvbmcgYml0IG1hbmFnZW1lbnQuPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNCBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8zMTt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+VXBkYXRlIGNvZGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJldHdlZW4gU1RPUEYgYW5kIFJYTkUgRmxhZ3M8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZNUEkyQ188c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VHJhbnNmZXJDb25maWcoPC9zcGFuPjwvc3Bhbj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0byBmaXggd3JvbmcgYml0IG1hbmFnZW1lbnQuPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXBkYXRlIGNvZGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbW1lbnRzIHRvIHVzZSBETUEgc3RyZWFtCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnN0ZWFkIG9mIERNQSA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+Y2hhbm5lbDwvc3Bhbj48L3NwYW4+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluc3RlYWQgb2YgRE1BIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5jaGFubmVsPC9zcGFuPjwvc3Bhbj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1hcmdpbi10b3A6MGluO3RleHQtYWxpZ246c3RhcnQ7d29yZC1zcGFjaW5nOjBweCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDEyOSBsZXZlbDEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMzI7dGFiLXN0b3BzOmxpc3QgLjVpbiI+PGI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsgdGV4dC1hbGlnbjogc3RhcnQ7IHdvcmQtc3BhY2luZzogMHB4OyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMCiAKIAogCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+SEFMCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQV1IgPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+dXBkYXRlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTI5IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzMyO3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkhBTF9QV1JfPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+RW5hYmxlV2FrZVVwUGluKDwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+KSB1cGRhdGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBXUiA8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfUFdSXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RW5hYmxlV2FrZVVwUGluKDwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPikgdXBkYXRlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbiB0byBhZGQgc3VwcG9ydCBvZgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUFdSX1dBS0VVUF9QSU4yIGFuZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUFdSX1dBS0VVUF9QSU4zPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBXUl9XQUtFVVBfUElOMzwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTI5IGxldmVsMQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8zMjt0YWItc3RvcHM6bGlzdCAuNWluIj48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKIAogCiAKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij5IQUwKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5PUiA8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij51cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxMjkgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMzI7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkFkZCB0aGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1cHBvcnQgb2YgU1RNMzJGNDEyUnggPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPmRldmljZXM8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOT1IgPC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkIHRoZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3VwcG9ydCBvZiBTVE0zMkY0MTJSeCA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+ZGV2aWNlczwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxMjkgbGV2ZWwxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzMyO3RhYi1zdG9wczpsaXN0IC41aW4iPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAogCiAKIAotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPkhBTAotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSTJDIDwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPnVwZGF0ZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDEyOSBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8zMjt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+VXBkYXRlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJMkMgPC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXBkYXRlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJbnRlcmZhY2UgQVBJcyBoZWFkZXJzIHRvCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZW1vdmUgY29uZnVzaW5nIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+bWVzYWdlPC9zcGFuPjwvc3Bhbj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFib3V0IGRldmljZSA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+YWRkcmVzczwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTI5IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzMyO3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5VcGRhdGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEkyQ19NYXN0ZXJSZWNlaXZlXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5SWE5FKDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVtb3ZlIGNvbmZ1c2luZyA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPm1lc2FnZTwvc3Bhbj48L3NwYW4+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhYm91dCBkZXZpY2UgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPmFkZHJlc3M8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSTJDX01hc3RlclJlY2VpdmVfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlJYTkUoPC9zcGFuPjwvc3Bhbj4pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgSTJDX01hc3RlclJlY2VpdmVfQlRGKCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRpYyBBUElzIHRvIGZpeCBiYWQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhhbmRsaW5nIG9mIE5BQ0sgaW4gSTJDIG1hc3RlcgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVjZWl2ZSBwcm9jZXNzLjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVjZWl2ZSBwcm9jZXNzLjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1hcmdpbi10b3A6MGluO3RleHQtYWxpZ246c3RhcnQ7d29yZC1zcGFjaW5nOjBweCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDExOCBsZXZlbDEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMzM7dGFiLXN0b3BzOmxpc3QgLjVpbiI+PGI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsgdGV4dC1hbGlnbjogc3RhcnQ7IHdvcmQtc3BhY2luZzogMHB4OyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMCiAKIAogCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+SEFMCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSQ0MgPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+dXBkYXRlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTE4IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzMzO3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5VcGRhdGUgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5IQUxfUkNDXzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkdldE9zY0NvbmZpZyg8L3NwYW4+PC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFQSSB0bzo8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDExOCBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzMzO3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5zZXQgUExMUiBpbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4KLXN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPlJDQ19Pc2NJbml0U3RydWN0PC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTE4IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMzM7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPmNoZWNrIG9uCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG51bGwgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3Bhbgotc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+cG9pbnRlcjwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSQ0MgPC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXBkYXRlIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX1JDQ188L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5HZXRPc2NDb25maWcoPC9zcGFuPjwvc3Bhbj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBUEkgdG86PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnNldCBQTExSIGluCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlJDQ19Pc2NJbml0U3RydWN0PC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPmNoZWNrIG9uCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG51bGwgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnBvaW50ZXI8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxMTggbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMzM7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlVwZGF0ZSA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkhBTF9SQ0NfPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+Q2xvY2tDb25maWcoPC9zcGFuPjwvc3Bhbj4pCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBUEkgdG86PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxMTggbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8zMzt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+Y2hlY2sgb24KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbnVsbCA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuCi1zdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5wb2ludGVyPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTE4IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMzM7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPm9wdGltaXplJm5ic3A7Y29kZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZSA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9SQ0NfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Q2xvY2tDb25maWcoPC9zcGFuPjwvc3Bhbj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBUEkgdG86PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPmNoZWNrIG9uCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG51bGwgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnBvaW50ZXI8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+b3B0aW1pemUmbmJzcDtjb2RlCiAKIAogCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemUgYnkgdXBkYXRpbmcgdGhlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsaW5nIG1ldGhvZCBvZiB0aGUgU1dTIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+Yml0czwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDExOCBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzMzO3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij51cGRhdGUgdG8gPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj51c2UmbmJzcDsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxpbmcgbWV0aG9kIG9mIHRoZSBTV1MgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPmJpdHM8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlIHRvIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51c2UmbmJzcDsKIAogCiAKQEAgLTE3NTAwLDU5NTIgKzM4MTksMTAyMiBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGFzaCBtYWNybyBpbnN0ZWFkIG9mIHVzaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpcmVjdCByZWdpc3RlciBhY2Nlc3MKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG8mbmJzcDtMQVRFTkNZIGJpdHMgaW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRkxBU0ggQUNSIHJlZ2lzdGVyLjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGTEFTSCBBQ1IgcmVnaXN0ZXIuPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDExOCBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8zMzt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfUkNDXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkRlSW5pdCg8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZuYnNwO2FuZCA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkxMX1JDQ19EZUluaXQ8L3NwYW4+PC9zcGFuPigpCiAKIAogCiAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlVwZGF0ZSA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkhBTF9SQ0NfPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+RGVJbml0KDwvc3Bhbj48L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJm5ic3A7YW5kIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+TExfUkNDX0RlSW5pdDwvc3Bhbj48L3NwYW4+KCkKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVBJcyB0bzwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTE4IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMzM7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkJlIGFibGUgdG8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEhBTC9MTCBzdGF0dXM8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTE4IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMzM7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkFkZCBjaGVja3MKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIEhTSSwgUExMIGFuZCBQTExJMjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+UworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVBJcyB0bzwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5CZSBhYmxlIHRvCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBIQUwvTEwgc3RhdHVzPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQgY2hlY2tzCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciBIU0ksIFBMTCBhbmQgUExMSTI8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+UwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJm5ic3A7cmVhZHk8L3NwYW4+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZWZvcmUgbW9kaWZ5aW5nIFJDQyBDRkdSCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZ2lzdGVyczwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxMTggbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8zMzt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+Q2xlYXIgYWxsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludGVycnVwdCA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPmZhbGdzPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTE4IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMzM7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkluaXRpYWxpemUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPnN5c3RpY2s8L3NwYW4+PC9zcGFuPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnRlcnJ1cHQgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5wZXJpb2Q8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWdpc3RlcnM8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkNsZWFyIGFsbAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnRlcnJ1cHQgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPmZhbGdzPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkluaXRpYWxpemUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5zeXN0aWNrPC9zcGFuPjwvc3Bhbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50ZXJydXB0IDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5wZXJpb2Q8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxMTggbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMzM7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlVwZGF0ZSA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkhBTF9SQ0NfPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+R2V0U3lzQ2xvY2tGcmVxKDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZSA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9SQ0NfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+R2V0U3lzQ2xvY2tGcmVxKDwvc3Bhbj48L3NwYW4+KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gYXZvaWQgcmlzayBvZiByb3VuZGluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3Igd2hpY2ggbWF5IGxlYWRzIHRvIGEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdyb25nIHJldHVybmVkIHZhbHVlLjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTo3LjBwdDttc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplLWFkanVzdDoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm9uZTtmb250LXN0cmV0Y2g6IG5vcm1hbCI+Jm5ic3A7PC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd3JvbmcgcmV0dXJuZWQgdmFsdWUuPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDdwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemUtYWRqdXN0OiBub25lOyBmb250LXN0cmV0Y2g6IG5vcm1hbDsiPiZuYnNwOzwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9Ik1zb0xpc3RQYXJhZ3JhcGgiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tcmlnaHQ6MGluOwotbWFyZ2luLWJvdHRvbTo0LjVwdDttYXJnaW4tbGVmdDoxLjBpbjt0ZXh0LWluZGVudDotLjI1aW4iPjxzcGFuCi1zdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6YmxhY2siPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iTXNvTGlzdFBhcmFncmFwaCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1yaWdodDowaW47Ci1tYXJnaW4tYm90dG9tOjQuNXB0O21hcmdpbi1sZWZ0Oi41aW47dGV4dC1pbmRlbnQ6LS4yNWluIj48c3Bhbgotc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOmJsYWNrIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibWFyZ2luLXRvcDowaW47dGV4dC1hbGlnbjpzdGFydDt3b3JkLXNwYWNpbmc6MHB4IgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNDkgbGV2ZWwxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzM0O3RhYi1zdG9wczpsaXN0IC41aW4iPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9Ik1zb0xpc3RQYXJhZ3JhcGgiIHN0eWxlPSJtYXJnaW46IDQuNXB0IDBpbiA0LjVwdCAxaW47IHRleHQtaW5kZW50OiAtMC4yNWluOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsgY29sb3I6IGJsYWNrOyI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJNc29MaXN0UGFyYWdyYXBoIiBzdHlsZT0ibWFyZ2luOiA0LjVwdCAwaW4gNC41cHQgMC41aW47IHRleHQtaW5kZW50OiAtMC4yNWluOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsgY29sb3I6IGJsYWNrOyI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyB0ZXh0LWFsaWduOiBzdGFydDsgd29yZC1zcGFjaW5nOiAwcHg7IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKIAogCiAKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij5IQUwKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJORyA8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij51cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw0OSBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8zNDt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5IQUxfUk5HXzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkluaXQoPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4pIHJlbW92ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTG9jaygpL1VubG9jaygpPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJORyA8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfUk5HXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SW5pdCg8L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4pIHJlbW92ZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTG9jaygpL1VubG9jaygpPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw0OSBsZXZlbDEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMzQ7dGFiLXN0b3BzOmxpc3QgLjVpbiI+PGI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMCiAKIAogCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+SEFMCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNTUMgPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+dXBkYXRlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNDkgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMzQ7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SEFMX01NQ188L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5FcmFzZSg8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1NQyA8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfTU1DXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RXJhc2UoPC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVBJOiZuYnNwO2FkZCBtaXNzaW5nICgpIHRvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaXgmbmJzcDtjb21waWxhdGlvbiB3YXJuaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXRlY3RlZCB3aXRoIFNXNFNUTTMyIHdoZW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4dHJhIGZlYXR1cmUgaXMgZW5hYmxlZC48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXh0cmEgZmVhdHVyZSBpcyBlbmFibGVkLjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNDkgbGV2ZWwxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzM0O3RhYi1zdG9wczpsaXN0IC41aW4iPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAogCiAKIAotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPkhBTAotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUlRDIDwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPnVwZGF0ZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDQ5IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzM0O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkhBTF9SVENfPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SW5pdCg8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPikgQVBJOiB1cGRhdGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJUQyA8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfUlRDXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SW5pdCg8L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4pIEFQSTogdXBkYXRlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0byBmb3JjZSB0aGUgd2FpdCBmb3Igc3luY2hybwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmVmb3JlIHNldHRpbmcgVEFGQ1IgcmVnaXN0ZXIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdoZW4gQllQU0hBRCBiaXQgaW4gQ1IKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZ2lzdGVyIGlzIDAuPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWdpc3RlciBpcyAwLjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNDkgbGV2ZWwxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzM0O3RhYi1zdG9wczpsaXN0IC41aW4iPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAogCiAKIAotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPkhBTAotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU0FJIDwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPnVwZGF0ZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDQ5IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzM0O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5VcGRhdGUgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5IQUxfU0FJXzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkRNQVN0b3AoPC9zcGFuPjwvc3Bhbj4pCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBUEkgdG8gZmx1c2ggPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5maWZvPC9zcGFuPjwvc3Bhbj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFmdGVyIGRpc2FibGluZyZuYnNwO1NBSTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTQUkgPC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXBkYXRlIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX1NBSV88L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5ETUFTdG9wKDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVBJIHRvIGZsdXNoIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Zmlmbzwvc3Bhbj48L3NwYW4+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZnRlciBkaXNhYmxpbmcmbmJzcDtTQUk8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDQ5IGxldmVsMQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8zNDt0YWItc3RvcHM6bGlzdCAuNWluIj48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKIAogCiAKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij5IQUwKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEkyUyA8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij51cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw0OSBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8zNDt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+VXBkYXRlIEkyUworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSTJTIDwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZSBJMlMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERNQSBmdWxsZHVwbGV4IHByb2Nlc3MgdG8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZSBJMlMgUnggYW5kIFR4IERNQSBIYWxmCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2ZlciBjb21wbGV0ZSA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+Y2FsbGJhY2s8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2ZlciBjb21wbGV0ZSA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Y2FsbGJhY2s8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNDkgbGV2ZWwxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzM0O3RhYi1zdG9wczpsaXN0IC41aW4iPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAogCiAKIAotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPkhBTAotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVElNIDwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPnVwZGF0ZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDQ5IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzM0O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5VcGRhdGUgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5IQUxfVElNRXhfT0NOXzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPnh4eHgoPC9zcGFuPjwvc3Bhbj4pCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4KLXN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkhBTF9USU1FeF9QV01OX3h4eDwvc3Bhbj48L3NwYW4+KCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRJTSA8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfVElNRXhfT0NOXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnh4eHgoPC9zcGFuPjwvc3Bhbj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfVElNRXhfUFdNTl94eHg8L3NwYW4+PC9zcGFuPigpCiAKIAogCiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFQSSBkZXNjcmlwdGlvbiZuYnNwO3RvIHJlbW92ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3VwcG9ydCBvZiBUSU1fQ0hBTk5FTF80PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1cHBvcnQgb2YgVElNX0NIQU5ORUxfNDwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNDkgbGV2ZWwxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzM0O3RhYi1zdG9wczpsaXN0IC41aW4iPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkxMCiAKIAogCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+TEwKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERNQSA8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij51cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw0OSBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8zNDt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+VXBkYXRlIHRvCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGVhciBETUEgZmxhZ3MgdXNpbmcgV1JJVEVfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPlJFRyg8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERNQSA8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUgdG8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsZWFyIERNQSBmbGFncyB1c2luZyBXUklURV88c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+UkVHKDwvc3Bhbj48L3NwYW4+KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5zdGVhZCBTRVRfUkVHKCkgQVBJIHRvIGF2b2lkCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWFkIGFjY2VzcyB0byB0aGUgSUZDUgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVnaXN0ZXIgdGhhdCBpcyB3cml0ZSBvbmx5Ljwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWdpc3RlciB0aGF0IGlzIHdyaXRlIG9ubHkuPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw0OSBsZXZlbDEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMzQ7dGFiLXN0b3BzOmxpc3QgLjVpbiI+PGI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+TEwKIAogCiAKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij5MTAotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUlRDIDwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPnVwZGF0ZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDQ5IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzM0O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5GaXggd2FybmluZwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2l0aCBzdGF0aWMgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPmFuYWx5emVyPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUlRDIDwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkZpeCB3YXJuaW5nCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aXRoIHN0YXRpYyA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+YW5hbHl6ZXI8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNDkgbGV2ZWwxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzM0O3RhYi1zdG9wczpsaXN0IC41aW4iPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkxMCiAKIAogCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+TEwKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVTQVJUIDwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPnVwZGF0ZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDQ5IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzM0O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5BZGQgYXNzZXJ0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWNyb3MgdG8gY2hlY2sgVVNBUlQgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5CYXVkUmF0ZTwvc3Bhbj48L3NwYW4+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWdpc3Rlcjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVU0FSVCA8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQgYXNzZXJ0CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWNyb3MgdG8gY2hlY2sgVVNBUlQgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5CYXVkUmF0ZTwvc3Bhbj48L3NwYW4+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWdpc3Rlcjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNDkgbGV2ZWwxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzM0O3RhYi1zdG9wczpsaXN0IC41aW4iPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkxMCiAKIAogCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+TEwKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEkyQyA8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij51cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw0OSBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8zNDt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+UmVuYW1lCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJU19JMkNfQ0xPQ0tfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPlNQRUVEKDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSTJDIDwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlJlbmFtZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSVNfSTJDX0NMT0NLXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5TUEVFRCg8L3NwYW4+PC9zcGFuPikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCBJU19JMkNfRFVUWV9DWUNMRSgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNwZWN0aXZlbHkgdG8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElTX0xMX0kyQ19DTE9DS19TUEVFRCgpIGFuZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSVNfTExfSTJDX0RVVFlfQ1lDTEUoKSB0bwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXZvaWQgaW5jb21wYXRpYmxlIG1hY3JvcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVkZWZpbml0aW9uLjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWRlZmluaXRpb24uPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw0OSBsZXZlbDEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMzQ7dGFiLXN0b3BzOmxpc3QgLjVpbiI+PGI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+TEwKIAogCiAKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij5MTAotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVElNIDwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPnVwZGF0ZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDQ5IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzM0O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5VcGRhdGUgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5MTF9USU1fPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+RW5hYmxlVXBkYXRlRXZlbnQoPC9zcGFuPjwvc3Bhbj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUSU0gPC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXBkYXRlIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+TExfVElNXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkVuYWJsZVVwZGF0ZUV2ZW50KDwvc3Bhbj48L3NwYW4+KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVBJIHRvIGNsZWFyIFVESVMgYml0IGluIFRJTQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ1IxIHJlZ2lzdGVyIGluc3RlYWQgb2YKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldHRpbmcgaXQuPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNDkgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMzQ7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlVwZGF0ZSA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkxMX1RJTV88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5EaXNhYmxlVXBkYXRlRXZlbnQoPC9zcGFuPjwvc3Bhbj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXR0aW5nIGl0Ljwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZSA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkxMX1RJTV88L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5EaXNhYmxlVXBkYXRlRXZlbnQoPC9zcGFuPjwvc3Bhbj4pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBUEkgdG8gc2V0IFVESVMgYml0IGluIFRJTSBDUjEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZ2lzdGVyIGluc3RlYWQgb2YgY2xlYXJpbmcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0Ljwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdC48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDQ5IGxldmVsMQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8zNDt0YWItc3RvcHM6bGlzdCAuNWluIj48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5MTAogCiAKIAotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPkxMCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVU0FSVCA8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij51cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw0OSBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8zNDt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+Rml4IE1JU1JBCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJvciB3LyBJU19MTF9VU0FSVF88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+QlJSKDwvc3Bhbj48L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFjcm88L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw0OSBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8zNDt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+Rml4IHdyb25nCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVU0FSVCA8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5GaXggTUlTUkEKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yIHcvIElTX0xMX1VTQVJUXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5CUlIoPC9zcGFuPjwvc3Bhbj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWNybzwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkZpeCB3cm9uZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hlY2sgd2hlbiBVQVJUMTAgaW5zdGFuY2UgaXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj51c2VkPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVzZWQ8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1hcmdpbi1yaWdodDo1MDAuMHB0O2JhY2tncm91bmQ6IzMzNjZGRjstbW96LWJhY2tncm91bmQtY2xpcDoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluaXRpYWw7IC1tb3otYmFja2dyb3VuZC1vcmlnaW46Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbml0aWFsOy1tb3otYmFja2dyb3VuZC1pbmxpbmUtcG9saWN5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5pdGlhbDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb24teDowJTtiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA1MCU7YmFja2dyb3VuZC1hdHRhY2htZW50OiBzY3JvbGwiPjxmb250Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yPSIjZmZmZmZmIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0FyaWFsJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDMgc3R5bGU9ImJhY2tncm91bmQ6IHJnYig1MSwgMTAyLCAyNTUpIG5vbmUgcmVwZWF0IHNjcm9sbCAwJSA1MCU7IC1tb3otYmFja2dyb3VuZC1jbGlwOiAtbW96LWluaXRpYWw7IC1tb3otYmFja2dyb3VuZC1vcmlnaW46IC1tb3otaW5pdGlhbDsgLW1vei1iYWNrZ3JvdW5kLWlubGluZS1wb2xpY3k6IC1tb3otaW5pdGlhbDsgbWFyZ2luLXJpZ2h0OiA1MDBwdDsiPjxmb250IGNvbG9yPSIjZmZmZmZmIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7QXJpYWwmcXVvdDssc2Fucy1zZXJpZjsiPlYxLjcuMQogCiAKIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90Oztjb2xvcjp3aGl0ZSI+VjEuNy4xCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyAxNC1BcHJpbC0yMDE3PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvZm9udD48L2gzPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW46IDQuNXB0IDBpbiA0LjVwdCAwLjI1aW47Ij48Yj48dT48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyBjb2xvcjogYmxhY2s7Ij5NYWluIENoYW5nZXM8L3NwYW4+PC91PjwvYj48bzpwPjwvbzpwPjwvcD4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsgdGV4dC1hbGlnbjogc3RhcnQ7IHdvcmQtc3BhY2luZzogMHB4OyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0id2lkb3dzOiAxOyBmbG9hdDogbm9uZTsgd29yZC1zcGFjaW5nOiAwcHg7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXBkYXRlCiAKIAogCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyAxNC1BcHJpbC0yMDE3PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2ZvbnQ+PC9oMz4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1hcmdpbi10b3A6NC41cHQ7bWFyZ2luLXJpZ2h0OjBpbjttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bWFyZ2luLWxlZnQ6LjI1aW4iPjxiPjx1PjxzcGFuCi1zdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseToKLSZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjpibGFjayI+TWFpbiBDaGFuZ2VzPC9zcGFuPjwvdT48L2I+PG86cD48L286cD48L3A+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibWFyZ2luLXRvcDowaW47dGV4dC1hbGlnbjpzdGFydDt3b3JkLXNwYWNpbmc6MHB4IgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNTYgbGV2ZWwxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzM1O3RhYi1zdG9wczpsaXN0IC41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IndpZG93czoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxO2Zsb2F0Om5vbmU7d29yZC1zcGFjaW5nOjBweCI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij5VcGRhdGUKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENITSA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3Bhbgotc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+VXNlck1hbnVhbHM8L3NwYW4+PC9zcGFuPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gc3VwcG9ydCBMTCA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+ZHJpdmVyczwvc3Bhbj48L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNTYgbGV2ZWwxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzM1O3RhYi1zdG9wczpsaXN0IC41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij5HZW5lcmFsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDSE0gPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5Vc2VyTWFudWFsczwvc3Bhbj48L3NwYW4+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0byBzdXBwb3J0IExMIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5kcml2ZXJzPC9zcGFuPjwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkdlbmVyYWwKIAogCiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGVzIHRvIGZpeCBrbm93biBkZWZlY3RzIGFuZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuaGFuY2VtZW50cyA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5pbXBsZW1lbnRhdGlvbjwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5oYW5jZW1lbnRzIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5pbXBsZW1lbnRhdGlvbjwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAogCiAKIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNTYgbGV2ZWwxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzM1O3RhYi1zdG9wczpsaXN0IC41aW4iPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+SEFMCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDQU4gPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+dXBkYXRlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNTYgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMzU7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkFkZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ0FOIDwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFuYWdlbWVudCBvZiZuYnNwO292ZXJydW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yLiZuYnNwOzwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw1NiBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8zNTt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+QWxsb3cKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yLiZuYnNwOzwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFsbG93CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NzaWJpbGl0eSB0byByZWNlaXZlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlcyBmcm9tIHRoZSAyIFJYIEZJRk9zCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBwYXJhbGxlbCB2aWEgaW50ZXJydXB0Ljwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDU2IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzM1O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5GaXgmbmJzcDttZXNzYWdlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBwYXJhbGxlbCB2aWEgaW50ZXJydXB0Ljwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkZpeCZuYnNwO21lc3NhZ2UKIAogCiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvc3QgaXNzdWUgd2l0aCBzcGVjaWZpYwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VxdWVuY2Ugb2YgdHJhbnNtaXQgcmVxdWVzdHMuPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNTYgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMzU7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkhhbmRsZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VxdWVuY2Ugb2YgdHJhbnNtaXQgcmVxdWVzdHMuPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SGFuZGxlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc21pc3Npb24gZmFpbHVyZSB3aXRoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJvciBjYWxsYmFjaywgd2hlbiBOQVJUIGlzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbmFibGVkLjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDU2IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzM1O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5BZGQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fSEFMX0NBTl9DQU5DRUxfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPlRSQU5TTUlUKDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5hYmxlZC48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fSEFMX0NBTl9DQU5DRUxfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlRSQU5TTUlUKDwvc3Bhbj48L3NwYW4+KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FsbCB0byBhYm9ydCB0cmFuc21pc3Npb24KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdoZW4gdGltZW91dCBpcyByZWFjaGVkPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdoZW4gdGltZW91dCBpcyByZWFjaGVkPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibWFyZ2luLXRvcDowaW47dGV4dC1hbGlnbjpzdGFydDt3b3JkLXNwYWNpbmc6MHB4IgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNzggbGV2ZWwxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzM2O3RhYi1zdG9wczpsaXN0IC41aW4iPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IHRleHQtYWxpZ246IHN0YXJ0OyB3b3JkLXNwYWNpbmc6IDBweDsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAogCiAKIAotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPkhBTAotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUFdSIDwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPnVwZGF0ZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDc4IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzM2O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkhBTF9QV1JFeF88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5FbnRlclVuZGVyRHJpdmVTVE9QTW9kZSg8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPikgQVBJOiByZW1vdmUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoZWNrIG9uIFVEUkRZIGZsYWc8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUFdSIDwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9QV1JFeF88L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkVudGVyVW5kZXJEcml2ZVNUT1BNb2RlKDwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPikgQVBJOiByZW1vdmUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoZWNrIG9uIFVEUkRZIGZsYWc8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtYXJnaW4tdG9wOjBpbjt0ZXh0LWFsaWduOnN0YXJ0O3dvcmQtc3BhY2luZzowcHgiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwyNiBsZXZlbDEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMzc7dGFiLXN0b3BzOmxpc3QgLjVpbiI+PGI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsgdGV4dC1hbGlnbjogc3RhcnQ7IHdvcmQtc3BhY2luZzogMHB4OyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+TEwKIAogCiAKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij5MTAotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQURDIDwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPnVwZGF0ZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDI2IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzM3O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5GaXggd3JvbmcgQURDCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBncm91cCBpbmplY3RlZCBzZXF1ZW5jZSA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+Y29uZmlndXJhdGlvbjwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwyNiBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzM3O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+TExfQURDX0lOSl88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlNldFNlcXVlbmNlclJhbmtzKDwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+KSBhbmQgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+TExfQURDX0lOSl9HZXRTZXF1ZW5jZXJSYW5rczwvc3Bhbj48L3NwYW4+KCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFEQyA8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5GaXggd3JvbmcgQURDCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBncm91cCBpbmplY3RlZCBzZXF1ZW5jZSA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Y29uZmlndXJhdGlvbjwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkxMX0FEQ19JTkpfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5TZXRTZXF1ZW5jZXJSYW5rcyg8L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4pIGFuZCA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkxMX0FEQ19JTkpfR2V0U2VxdWVuY2VyUmFua3M8L3NwYW4+PC9zcGFuPigpCiAKIAogCiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVBJJ3MgdXBkYXRlIHRvIHRha2UgaW4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc2lkZXJhdGlvbiB0aGUgQURDIG51bWJlcgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvZiBjb252ZXJzaW9uczwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwyNiBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzM3O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5VcGRhdGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2YgY29udmVyc2lvbnM8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUmbmJzcDtkZWZpbmVkIHZhbHVlcyBmb3IKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQURDIGdyb3VwIGluamVjdGVkIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPnNlcWVuY2VyPC9zcGFuPjwvc3Bhbj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+cmFua3M8L3NwYW4+PC9zcGFuPiZuYnNwOzwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBREMgZ3JvdXAgaW5qZWN0ZWQgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5zZXFlbmNlcjwvc3Bhbj48L3NwYW4+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5yYW5rczwvc3Bhbj48L3NwYW4+Jm5ic3A7PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibWFyZ2luLXJpZ2h0OjUwMC4wcHQ7YmFja2dyb3VuZDojMzM2NkZGOy1tb3otYmFja2dyb3VuZC1jbGlwOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5pdGlhbDsgLW1vei1iYWNrZ3JvdW5kLW9yaWdpbjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluaXRpYWw7LW1vei1iYWNrZ3JvdW5kLWlubGluZS1wb2xpY3k6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbml0aWFsOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbi14OjAlO2JhY2tncm91bmQtcG9zaXRpb24teToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDUwJTtiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IHNjcm9sbCI+PGZvbnQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I9IiNmZmZmZmYiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7QXJpYWwmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBzdHlsZT0iYmFja2dyb3VuZDogcmdiKDUxLCAxMDIsIDI1NSkgbm9uZSByZXBlYXQgc2Nyb2xsIDAlIDUwJTsgLW1vei1iYWNrZ3JvdW5kLWNsaXA6IC1tb3otaW5pdGlhbDsgLW1vei1iYWNrZ3JvdW5kLW9yaWdpbjogLW1vei1pbml0aWFsOyAtbW96LWJhY2tncm91bmQtaW5saW5lLXBvbGljeTogLW1vei1pbml0aWFsOyBtYXJnaW4tcmlnaHQ6IDUwMHB0OyI+PGZvbnQgY29sb3I9IiNmZmZmZmYiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtBcmlhbCZxdW90OyxzYW5zLXNlcmlmOyI+VjEuNy4wCiAKIAogCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7O2NvbG9yOndoaXRlIj5WMS43LjAKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvIDE3LUZlYnJ1YXJ5LTIwMTc8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvZm9udD48L2gzPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tcmlnaHQ6MGluO21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttYXJnaW4tbGVmdDouMjVpbiI+PGI+PHU+PHNwYW4KLXN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OgotJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOmJsYWNrIj5NYWluIENoYW5nZXM8L3NwYW4+PC91PjwvYj48bzpwPjwvbzpwPjwvcD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtYXJnaW4tdG9wOjBpbjt0ZXh0LWFsaWduOnN0YXJ0O3dvcmQtc3BhY2luZzowcHgiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw3OSBsZXZlbDEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMzg7dGFiLXN0b3BzOmxpc3QgLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0id2lkb3dzOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE7ZmxvYXQ6bm9uZTt3b3JkLXNwYWNpbmc6MHB4Ij48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij5BZGQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvIDE3LUZlYnJ1YXJ5LTIwMTc8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9mb250PjwvaDM+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjogNC41cHQgMGluIDQuNXB0IDAuMjVpbjsiPjxiPjx1PjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7IGNvbG9yOiBibGFjazsiPk1haW4gQ2hhbmdlczwvc3Bhbj48L3U+PC9iPjxvOnA+PC9vOnA+PC9wPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyB0ZXh0LWFsaWduOiBzdGFydDsgd29yZC1zcGFjaW5nOiAwcHg7IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJ3aWRvd3M6IDE7IGZsb2F0OiBub25lOyB3b3JkLXNwYWNpbmc6IDBweDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQKIAogCiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTG93IExheWVyIGRyaXZlcnMgYWxsb3dpbmcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGVyZm9ybWFuY2UgYW5kIGZvb3RwcmludCA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPm9wdGltaXphdGlvbjwvc3Bhbj48L3NwYW4+PC9zcGFuPjwvYj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw3OSBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8zODt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+TG93IExheWVyIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5kcml2ZXJzPC9zcGFuPjwvc3Bhbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGVyZm9ybWFuY2UgYW5kIGZvb3RwcmludCA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+b3B0aW1pemF0aW9uPC9zcGFuPjwvc3Bhbj48L3NwYW4+PC9iPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkxvdyBMYXllciA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+ZHJpdmVyczwvc3Bhbj48L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBUElzIHByb3ZpZGUgcmVnaXN0ZXIgbGV2ZWwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2dyYW1taW5nOiByZXF1aXJlIGRlZXAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtub3dsZWRnZSBvZiBwZXJpcGhlcmFscwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpYmVkIGluIFNUTTMyRjR4eAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVmZXJlbmNlIE1hbnVhbHM8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw3OSBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8zODt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJ3aWRvd3M6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxO2Zsb2F0Om5vbmU7d29yZC1zcGFjaW5nOjBweCI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+TG93IExheWVyCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWZlcmVuY2UgTWFudWFsczwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9IndpZG93czogMTsgZmxvYXQ6IG5vbmU7IHdvcmQtc3BhY2luZzogMHB4OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkxvdyBMYXllcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkcml2ZXJzIGFyZSBhdmFpbGFibGUgZm9yOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBREMsJm5ic3A7Q29ydGV4LCBDUkMsIERBQywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRE1BLCBETUEyRCwgRVhUSSwgR1BJTywgSTJDLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJV0RHLCBMUFRJTSwgUFdSLCBSQ0MsIFJORywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUlRDLCBTUEksIFRJTSwgVVNBUlQsIFdXREcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGVyaXBoZXJhbHMgYW5kIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPmFkZGl0aW9ubmFsPC9zcGFuPjwvc3Bhbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGVyaXBoZXJhbHMgYW5kIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+YWRkaXRpb25uYWw8L3NwYW4+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMb3cgTGV2ZWwgQnVzLCBTeXN0ZW0gYW5kCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFV0aWxpdGllcyBBUElzLjwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw3OSBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8zODt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+TG93IExheWVyIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5kcml2ZXJzPC9zcGFuPjwvc3Bhbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVXRpbGl0aWVzIEFQSXMuPC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkxvdyBMYXllciA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+ZHJpdmVyczwvc3Bhbj48L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBUElzIGFyZSBpbXBsZW1lbnRlZCBhcyBzdGF0aWMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlubGluZSBmdW5jdGlvbiBpbiBuZXc8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iYXBwbGUtY29udmVydGVkLXNwYWNlIj48c3Bhbgotc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+Jm5ic3A7PC9zcGFuPjwvc3Bhbj48aT5JbmMvc3RtMzJmNHh4X2xsX3BwcC5oPC9pPjxzcGFuCi1jbGFzcz0iYXBwbGUtY29udmVydGVkLXNwYWNlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPiZuYnNwOzwvc3Bhbj48L3NwYW4+ZmlsZXMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlubGluZSBmdW5jdGlvbiBpbiBuZXc8c3BhbiBjbGFzcz0iYXBwbGUtY29udmVydGVkLXNwYWNlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPiZuYnNwOzwvc3Bhbj48L3NwYW4+PGk+SW5jL3N0bTMyZjR4eF9sbF9wcHAuaDwvaT48c3BhbiBjbGFzcz0iYXBwbGUtY29udmVydGVkLXNwYWNlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPiZuYnNwOzwvc3Bhbj48L3NwYW4+ZmlsZXMKIAogCiAKIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIFBQUCBwZXJpcGhlcmFscywgdGhlcmUgaXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vIGNvbmZpZ3VyYXRpb24gZmlsZSBhbmQgZWFjaDxzcGFuCi1jbGFzcz0iYXBwbGUtY29udmVydGVkLXNwYWNlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPiZuYnNwOzwvc3Bhbj48L3NwYW4+PGk+c3RtMzJmNHh4X2xsX3BwcC5oPC9pPjxzcGFuCi1jbGFzcz0iYXBwbGUtY29udmVydGVkLXNwYWNlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPiZuYnNwOzwvc3Bhbj48L3NwYW4+ZmlsZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm8gY29uZmlndXJhdGlvbiBmaWxlIGFuZCBlYWNoPHNwYW4gY2xhc3M9ImFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4mbmJzcDs8L3NwYW4+PC9zcGFuPjxpPnN0bTMyZjR4eF9sbF9wcHAuaDwvaT48c3BhbiBjbGFzcz0iYXBwbGUtY29udmVydGVkLXNwYWNlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPiZuYnNwOzwvc3Bhbj48L3NwYW4+ZmlsZQogCiAKIAogCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtdXN0IGJlIGluY2x1ZGVkIGluIHVzZXIgY29kZS48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXVzdCBiZSBpbmNsdWRlZCBpbiB1c2VyIGNvZGUuPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw3OSBsZXZlbDEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMzg7dGFiLXN0b3BzOmxpc3QgLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPkdlbmVyYWwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+R2VuZXJhbAogCiAKIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZXMgdG8gZml4IGtub3duIGRlZmVjdHMgYW5kCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5oYW5jZW1lbnRzIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPmltcGxlbWVudGF0aW9uPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbmhhbmNlbWVudHMgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPmltcGxlbWVudGF0aW9uPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Rml4Jm5ic3A7ZXh0cmEKIAogCiAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDc5IGxldmVsMQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8zODt0YWItc3RvcHM6bGlzdCAuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+Rml4Jm5ic3A7ZXh0cmEKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3YXJuaW5ncyB3aXRoIEdDQyA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5jb21waWxlcjwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw3OSBsZXZlbDEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMzg7dGFiLXN0b3BzOmxpc3QgLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPkhBTAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdzIHdpdGggR0NDIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5jb21waWxlcjwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRyaXZlcnMmbmJzcDtjbGVhbiB1cDogcmVtb3ZlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG91YmxlIGNhc3RpbmcgJ3VpbnQzMl90JyBhbmQgJzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPlU8L3NwYW4+PC9zcGFuPic8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb3VibGUgY2FzdGluZyAndWludDMyX3QnIGFuZCAnPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlU8L3NwYW4+PC9zcGFuPic8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3PHNwYW4gY2xhc3M9ImFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4gPC9zcGFuPjwvc3Bhbj48Yj5IQUwKIAogCiAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDc5IGxldmVsMQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8zODt0YWItc3RvcHM6bGlzdCAuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+QWRkCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJhcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPjxzcGFuCi1zdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj4gPC9zcGFuPjwvc3Bhbj48Yj5IQUwKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1NQzwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+PHNwYW4KLXN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPiZuYnNwOzwvc3Bhbj48L3NwYW4+ZHJpdmVyPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw3OSBsZXZlbDEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMzg7dGFiLXN0b3BzOmxpc3QgLjVpbiI+PGI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij5UaGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1NQzwvYj48c3BhbiBjbGFzcz0iYXBwbGUtY29udmVydGVkLXNwYWNlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPiZuYnNwOzwvc3Bhbj48L3NwYW4+ZHJpdmVyPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlRoZQogCiAKIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9sbG93aW5nIGNoYW5nZXMgZG9uZSBvbiB0aGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTCBkcml2ZXJzIHJlcXVpcmUgYW4gdXBkYXRlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbiB0aGUgYXBwbGljYXRpb24gY29kZSBiYXNlZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb24gb2xkZXIgSEFMIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj52ZXJzaW9uczwvc3Bhbj48L3NwYW4+PC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDc5IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzM4O3RhYi1zdG9wczpsaXN0IDEuMGluIj48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5IQUwgU0Q8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iYXBwbGUtY29udmVydGVkLXNwYWNlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+Jm5ic3A7PC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij51cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDc5IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMzg7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPk92ZXJhbGwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uIG9sZGVyIEhBTCA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dmVyc2lvbnM8L3NwYW4+PC9zcGFuPjwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwgU0Q8L3NwYW4+PC9iPjxzcGFuIGNsYXNzPSJhcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4mbmJzcDs8L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+T3ZlcmFsbAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXdvcmsgb2YgdGhlIGRyaXZlciBmb3IgYQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb3JlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVmZmljaWVudCZuYnNwO2ltcGxlbWVudGF0aW9uPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDc5IGxldmVsNAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8zODt0YWItc3RvcHM6bGlzdCAyLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+TW9kaWZ5Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5pdGlhbGl6YXRpb24gQVBJIGFuZCA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5zdHJ1Y3R1cmVzPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDc5IGxldmVsNAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8zODt0YWItc3RvcHM6bGlzdCAyLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+TW9kaWZ5CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVmZmljaWVudCZuYnNwO2ltcGxlbWVudGF0aW9uPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5Nb2RpZnkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbml0aWFsaXphdGlvbiBBUEkgYW5kIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5zdHJ1Y3R1cmVzPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+TW9kaWZ5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVhZCAvIFdyaXRlIHNlcXVlbmNlczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXBhcmF0ZSB0cmFuc2ZlciBwcm9jZXNzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIFNEIENhcmRzIHN0YXRlIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPm1hbmFnZW1lbnQ8L3NwYW4+PC9zcGFuPiZuYnNwOzwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNzkgbGV2ZWw0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzM4O3RhYi1zdG9wczpsaXN0IDIuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5BZGRpbmcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgU0QgQ2FyZHMgc3RhdGUgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPm1hbmFnZW1lbnQ8L3NwYW4+PC9zcGFuPiZuYnNwOzwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGRpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnRlcnJ1cHQgbW9kZSBmb3IgUmVhZCAvCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV3JpdGUgb3BlcmF0aW9uczwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw3OSBsZXZlbDQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMzg7dGFiLXN0b3BzOmxpc3QgMi4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlVwZGF0ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3Bhbgotc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX1NEX0lSUUhhbmRsZXI8L3NwYW4+PC9zcGFuPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdyaXRlIG9wZXJhdGlvbnM8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXBkYXRlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX1NEX0lSUUhhbmRsZXI8L3NwYW4+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGJ5IG9wdGltaXppbmcgdGhlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFuYWdlbWVudCBvZiBpbnRlcnJ1cHQgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+ZXJyb3JzPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFuYWdlbWVudCBvZiBpbnRlcnJ1cHQgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPmVycm9yczwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNzkgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8zODt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+UmVmZXIgdG8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlJlZmVyIHRvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBmb2xsb3dpbmcgZXhhbXBsZSB0bwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZGVudGlmeSB0aGUgY2hhbmdlczogQlNQCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4YW1wbGUgYW5kIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPlVTQl9EZXZpY2U8L3NwYW4+PC9zcGFuPi88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5NU0NfU3RhbmRhbG9uZTwvc3Bhbj48L3NwYW4+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFwcGxpY2F0aW9uPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4YW1wbGUgYW5kIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VVNCX0RldmljZTwvc3Bhbj48L3NwYW4+LzxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+TVNDX1N0YW5kYWxvbmU8L3NwYW4+PC9zcGFuPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcHBsaWNhdGlvbjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw3OSBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8zODt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PGI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SEFMIE5BTkQ8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iYXBwbGUtY29udmVydGVkLXNwYWNlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+Jm5ic3A7PC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij51cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDc5IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMzg7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPk1vZGlmeSA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5OQU5EX0FkZHJlc3NUeXBlRGVmPC9zcGFuPjwvc3Bhbj4sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5OQU5EX0RldmljZUNvbmZpZ1R5cGVEZWY8L3NwYW4+PC9zcGFuPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4KLXN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPk5BTkRfSGFuZGxlVHlwZURlZjwvc3Bhbj48L3NwYW4+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdHVyZXMgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5maWVsZHM8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw3OSBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzM4O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5BZGQgbmV3IDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkhBTF9OQU5EX0NvbmZpZ0RldmljZTwvc3Bhbj48L3NwYW4+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFQSTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTCBOQU5EPC9zcGFuPjwvYj48c3BhbiBjbGFzcz0iYXBwbGUtY29udmVydGVkLXNwYWNlIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Jm5ic3A7PC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPk1vZGlmeSA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPk5BTkRfQWRkcmVzc1R5cGVEZWY8L3NwYW4+PC9zcGFuPiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5OQU5EX0RldmljZUNvbmZpZ1R5cGVEZWY8L3NwYW4+PC9zcGFuPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5OQU5EX0hhbmRsZVR5cGVEZWY8L3NwYW4+PC9zcGFuPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3R1cmVzIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5maWVsZHM8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkIG5ldyA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9OQU5EX0NvbmZpZ0RldmljZTwvc3Bhbj48L3NwYW4+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFQSTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw3OSBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8zODt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJ3aWRvd3M6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxO2Zsb2F0Om5vbmU7d29yZC1zcGFjaW5nOjBweCI+PGI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SEFMIERGU0RNPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4gdXBkYXRlPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNzkgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8zODt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IndpZG93czoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTtmbG9hdDpub25lO3dvcmQtc3BhY2luZzowcHgiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkFkZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9IndpZG93czogMTsgZmxvYXQ6IG5vbmU7IHdvcmQtc3BhY2luZzogMHB4OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTCBERlNETTwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPiB1cGRhdGU8L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9IndpZG93czogMTsgZmxvYXQ6IG5vbmU7IHdvcmQtc3BhY2luZzogMHB4OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1cHBvcnQgb2YgTXVsdGljaGFubmVsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGVsYXkgZmVhdHVyZTwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNzkgbGV2ZWw0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzM4O3RhYi1zdG9wczpsaXN0IDIuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJ3aWRvd3M6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTtmbG9hdDpub25lO3dvcmQtc3BhY2luZzowcHgiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkFkZCA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkhBTF9ERlNETV9Db25maWdNdWx0aUNoYW5uZWxEZWxheTwvc3Bhbj48L3NwYW4+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBUEk8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw3OSBsZXZlbDQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMzg7dGFiLXN0b3BzOmxpc3QgMi4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IndpZG93czoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxO2Zsb2F0Om5vbmU7d29yZC1zcGFjaW5nOjBweCI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+VGhlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGVsYXkgZmVhdHVyZTwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9IndpZG93czogMTsgZmxvYXQ6IG5vbmU7IHdvcmQtc3BhY2luZzogMHB4OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZCA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9ERlNETV9Db25maWdNdWx0aUNoYW5uZWxEZWxheTwvc3Bhbj48L3NwYW4+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBUEk8L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9IndpZG93czogMTsgZmxvYXQ6IG5vbmU7IHdvcmQtc3BhY2luZzogMHB4OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlRoZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9sbG93aW5nIEFQSXMgYXJlIG1vdmVkCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0byBpbnRlcm5hbCBzdGF0aWMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uczogPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5IQUxfREZTRE1fQ2xvY2tJbl9Tb3VyY2VTZWxlY3Rpb248L3NwYW4+PC9zcGFuPiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi1zdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5IQUxfREZTRE1fQ2xvY2tPdXRfU291cmNlU2VsZWN0aW9uPC9zcGFuPjwvc3Bhbj4sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3Bhbgotc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX0RGU0RNX0RhdGFJblhfU291cmNlU2VsZWN0aW9uPC9zcGFuPjwvc3Bhbj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChYPTAsMiw0LDYpLCA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkhBTF9ERlNETV9CaXRTdHJlYW1DbGtEaXN0cmlidXRpb25fQ29uZmlnPC9zcGFuPjwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb25zOiA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9ERlNETV9DbG9ja0luX1NvdXJjZVNlbGVjdGlvbjwvc3Bhbj48L3NwYW4+LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfREZTRE1fQ2xvY2tPdXRfU291cmNlU2VsZWN0aW9uPC9zcGFuPjwvc3Bhbj4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9ERlNETV9EYXRhSW5YX1NvdXJjZVNlbGVjdGlvbjwvc3Bhbj48L3NwYW4+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoWD0wLDIsNCw2KSwgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfREZTRE1fQml0U3RyZWFtQ2xrRGlzdHJpYnV0aW9uX0NvbmZpZzwvc3Bhbj48L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDc5IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzM4O3RhYi1zdG9wczpsaXN0IDEuMGluIj48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5IQUwgSTJTPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPiA8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPnVwZGF0ZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMIEkyUzwvc3Bhbj48L2I+PHNwYW4gY2xhc3M9ImFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPiA8L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0bzttc28tbGlzdDpsNzkKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsMyBsZm8zODt0YWItc3RvcHM6IGxpc3QKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+QWRkJm5ic3A7c3BlY2lmaWMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQmbmJzcDtzcGVjaWZpYwogCiAKIAogCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhbGxiYWNrIEFQSSB0byBtYW5hZ2UgSTJTCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bGwgZHVwbGV4IGVuZCBvZiB0cmFuc2ZlcgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9jZXNzOjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9jZXNzOjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG87bXNvLWxpc3Q6bDc5Ci0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsNCBsZm8zODt0YWItc3RvcHM6IGxpc3QKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMi4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5IQUxfSTJTXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPlR4Q3BsdENhbGxiYWNrKDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX0kyU188c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VHhDcGx0Q2FsbGJhY2soPC9zcGFuPjwvc3Bhbj4pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX0kyU19SeENwbHRDYWxsYmFjaygpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVBJJ3Mgd2lsbCBiZSByZXBsYWNlZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpdGggb25seQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9JMlNFeF9UeFJ4Q3BsdENhbGxiYWNrKCkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBUEkuJm5ic3A7PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFQSS4mbmJzcDs8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNzkgbGV2ZWwxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzM4O3RhYi1zdG9wczpsaXN0IC41aW4iPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAogCiAKIAotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPkhBTAotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPnVwZGF0ZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDc5IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzM4O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPk1vZGlmaXk8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPiBkZWZhdWx0IDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX0RlbGF5PC9zcGFuPjwvc3Bhbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5Nb2RpZml5PC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+IGRlZmF1bHQgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfRGVsYXk8L3NwYW4+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW1wbGVtZW50YXRpb24gdG8gZ3VhcmFudGVlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtaW5pbXVtIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4KLXN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPmRlbGF5PC9zcGFuPjwvc3Bhbj4mbmJzcDs8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWluaW11bSA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+ZGVsYXk8L3NwYW4+PC9zcGFuPiZuYnNwOzwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNzkgbGV2ZWwxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzM4O3RhYi1zdG9wczpsaXN0IC41aW4iPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAogCiAKIAotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPkhBTAotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ29ydGV4PC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+IHVwZGF0ZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDc5IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzM4O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5Nb3ZlIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX01QVV88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5EaXNhYmxlKDwvc3Bhbj48L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi1zdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5IQUxfTVBVX0VuYWJsZTwvc3Bhbj48L3NwYW4+KCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENvcnRleDwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPiB1cGRhdGU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5Nb3ZlIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX01QVV88L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5EaXNhYmxlKDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX01QVV9FbmFibGU8L3NwYW4+PC9zcGFuPigpCiAKIAogCiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyb20gc3RtMzJmNHh4X2hhbF9jb3J0ZXguaCB0bwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RtMzJmNHh4X2hhbF9jb3J0ZXguYzwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDc5IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzM4O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5DbGVhciB0aGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0bTMyZjR4eF9oYWxfY29ydGV4LmM8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5DbGVhciB0aGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdob2xlIE1QVSBjb250cm9sIHJlZ2lzdGVyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiZuYnNwOzxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX01QVV88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5EaXNhYmxlKDwvc3Bhbj48L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVBJPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluJm5ic3A7PHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfTVBVXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkRpc2FibGUoPC9zcGFuPjwvc3Bhbj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBUEk8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDc5IGxldmVsMQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8zODt0YWItc3RvcHM6bGlzdCAuNWluIj48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKIAogCiAKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij5IQUwKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZMQVNIPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+IHVwZGF0ZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDc5IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzM4O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5JU19GTEFTSF88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+QUREUkVTUyg8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZMQVNIPC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+IHVwZGF0ZTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPklTX0ZMQVNIXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BRERSRVNTKDwvc3Bhbj48L3NwYW4+KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFjcm8gdXBkYXRlIHRvIHN1cHBvcnQgT1RQCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByYW5nZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw3OSBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8zODt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5GTEFTSF9Qcm9ncmFtXzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkRvdWJsZVdvcmQoPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4pOiBSZXBsYWNlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByYW5nZTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkZMQVNIX1Byb2dyYW1fPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5Eb3VibGVXb3JkKDwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPik6IFJlcGxhY2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDY0LWJpdCBhY2Nlc3NlcyB3aXRoIDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvdWJsZS13b3JkcyBvcGVyYXRpb25zPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvdWJsZS13b3JkcyBvcGVyYXRpb25zPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw3OSBsZXZlbDEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMzg7dGFiLXN0b3BzOmxpc3QgLjVpbiI+PGI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+TEwKIAogCiAKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij5MTAotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR1BJTzwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iYXBwbGUtY29udmVydGVkLXNwYWNlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+IDwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+dXBkYXRlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNzkgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMzg7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlVwZGF0ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSVNfR1BJT188c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuCi1zdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5QSU4oPC9zcGFuPjwvc3Bhbj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHUElPPC9zcGFuPjwvYj48c3BhbiBjbGFzcz0iYXBwbGUtY29udmVydGVkLXNwYWNlIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+IDwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSVNfR1BJT188c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+UElOKDwvc3Bhbj48L3NwYW4+KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFjcm8gaW1wbGVtZW50YXRpb24gdG8gYmUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vcmUgc2FmZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9yZSBzYWZlPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw3OSBsZXZlbDEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMzg7dGFiLXN0b3BzOmxpc3QgLjVpbiI+PGI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+TEwKIAogCiAKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij5MTAotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUkNDPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJhcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4gPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij51cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw3OSBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8zODt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+VXBkYXRlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJU19SQ0NfUExMUV88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+VkFMVUUoPC9zcGFuPjwvc3Bhbj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSQ0M8L3NwYW4+PC9iPjxzcGFuIGNsYXNzPSJhcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4gPC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXBkYXRlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJU19SQ0NfUExMUV88c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VkFMVUUoPC9zcGFuPjwvc3Bhbj4pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWNybyBpbXBsZW1lbnRhdGlvbjogdGhlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtaW5pbXVtIGFjY2VwdGVkJm5ic3A7dmFsdWUgaXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIgaW5zdGVhZCBvZiA0PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNzkgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMzg7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlJlbmFtZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMiBpbnN0ZWFkIG9mIDQ8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5SZW5hbWUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJDQ19MUFRJTTFDTEtTT1VSQ0VfUENMSwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmaW5lIHRvCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSQ0NfTFBUSU0xQ0xLU09VUkNFX1BDTEsxPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNzkgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMzg7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkZpeAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUkNDX0xQVElNMUNMS1NPVVJDRV9QQ0xLMTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkZpeAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tcGlsYXRpb24gaXNzdWUgdy8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fSEFMX1JDQ19VU0JfT1RHX0ZTX0lTX0NMS188c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+RU5BQkxFRCg8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fSEFMX1JDQ19VU0JfT1RHX0ZTX0lTX0NMS188c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RU5BQkxFRCg8L3NwYW4+PC9zcGFuPikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19IQUxfUkNDX1VTQl9PVEdfRlNfSVNfQ0xLX0RJU0FCTEVEKCkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hY3JvcyBmb3IgU1RNMzJGNDAxeHggZGV2aWNlczwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDc5IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzM4O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5BZGQgdGhlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWNyb3MgZm9yIFNUTTMyRjQwMXh4IGRldmljZXM8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQgdGhlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb2xsb3dpbmcmbmJzcDtpcyBjbG9jawogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5hYmxlZCBtYWNyb3MgZm9yIFNUTTMyRjQwMXh4Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+ZGV2aWNlczwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw3OSBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzM4O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4mbmJzcDtfX0hBTF9SQ0NfU0RJT19JU19DTEtfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5FTkFCTEVEKDwvc3Bhbj48L3NwYW4+KTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw3OSBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzM4O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5fX0hBTF9SQ0NfU1BJNF9JU19DTEtfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5FTkFCTEVEKDwvc3Bhbj48L3NwYW4+KTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw3OSBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzM4O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5fX0hBTF9SQ0NfVElNMTBfSVNfQ0xLXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+RU5BQkxFRCg8L3NwYW4+PC9zcGFuPik8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5kZXZpY2VzPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Jm5ic3A7X19IQUxfUkNDX1NESU9fSVNfQ0xLXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5FTkFCTEVEKDwvc3Bhbj48L3NwYW4+KTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+X19IQUxfUkNDX1NQSTRfSVNfQ0xLXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5FTkFCTEVEKDwvc3Bhbj48L3NwYW4+KTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+X19IQUxfUkNDX1RJTTEwX0lTX0NMS188c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RU5BQkxFRCg8L3NwYW4+PC9zcGFuPik8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNzkgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMzg7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkFkZCB0aGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQgdGhlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb2xsb3dpbmcmbmJzcDtpcyBjbG9jawogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5hYmxlZCBtYWNyb3MgZm9yIFNUTTMyRjQxMHh4Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+ZGV2aWNlczwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw3OSBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzM4O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4mbmJzcDtfX0hBTF9SQ0NfQ1JDX0lTX0NMS188c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkVOQUJMRUQoPC9zcGFuPjwvc3Bhbj4pPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDc5IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMzg7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPl9fSEFMX1JDQ19STkdfSVNfQ0xLXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+RU5BQkxFRCg8L3NwYW4+PC9zcGFuPik8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5kZXZpY2VzPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Jm5ic3A7X19IQUxfUkNDX0NSQ19JU19DTEtfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkVOQUJMRUQoPC9zcGFuPjwvc3Bhbj4pPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5fX0hBTF9SQ0NfUk5HX0lTX0NMS188c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RU5BQkxFRCg8L3NwYW4+PC9zcGFuPik8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNzkgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMzg7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlVwZGF0ZSA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkhBTF9SQ0NfPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+RGVJbml0KDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZSA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9SQ0NfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RGVJbml0KDwvc3Bhbj48L3NwYW4+KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gcmVzZXQgdGhlIFJDQyBjbG9jawogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhdGlvbiB0byB0aGUgZGVmYXVsdAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzZXQgc3RhdGUuPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNzkgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMzg7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlJlbW92ZSBtYWNyb3MKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc2V0IHN0YXRlLjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlJlbW92ZSBtYWNyb3MKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvIGNvbmZpZ3VyZSBCS1BTUkFNIGZyb20KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNUTTMyRjQwMXh4IGRldmljZXMmbmJzcDs8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw3OSBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8zODt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+VXBkYXRlIHRvCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWZlciB0byA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuCi1zdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5BSEJQcmVzY1RhYmxlWzwvc3Bhbj48L3NwYW4+XQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi1zdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5BUEJQcmVzY1RhYmxlPC9zcGFuPjwvc3Bhbj5bXQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU1RNMzJGNDAxeHggZGV2aWNlcyZuYnNwOzwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZSB0bworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmZXIgdG8gPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFIQlByZXNjVGFibGVbPC9zcGFuPjwvc3Bhbj5dCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BUEJQcmVzY1RhYmxlPC9zcGFuPjwvc3Bhbj5bXQogCiAKIAogCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YWJsZXMgZGVmaW5lZCBpbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3lzdGVtX3N0bTMyZjR4eC5jIGZpbGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluc3RlYWQgb2YmbmJzcDs8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkFQQkFIQlByZXNjVGFibGU8L3NwYW4+PC9zcGFuPltdCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnN0ZWFkIG9mJm5ic3A7PHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BUEJBSEJQcmVzY1RhYmxlPC9zcGFuPjwvc3Bhbj5bXQogCiAKIAogCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YWJsZS48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFibGUuPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw3OSBsZXZlbDEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMzg7dGFiLXN0b3BzOmxpc3QgLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0id2lkb3dzOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE7ZmxvYXQ6bm9uZTt3b3JkLXNwYWNpbmc6MHB4Ij48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9IndpZG93czogMTsgZmxvYXQ6IG5vbmU7IHdvcmQtc3BhY2luZzogMHB4OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAogCiAKIAotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+SEFMCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZNUEkyQzwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPiB1cGRhdGU8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNzkgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMzg7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkFkZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGTVBJMkM8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4gdXBkYXRlPC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRk1QSTJDX0ZJUlNUX0FORF9ORVhUX0ZSQU1FCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWZpbmUgaW4mbmJzcDtTZXF1ZW50aWFsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUcmFuc2ZlciBPcHRpb25zPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRyYW5zZmVyIE9wdGlvbnM8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDc5IGxldmVsMQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8zODt0YWItc3RvcHM6bGlzdCAuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJ3aWRvd3M6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTtmbG9hdDpub25lO3dvcmQtc3BhY2luZzowcHgiPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0id2lkb3dzOiAxOyBmbG9hdDogbm9uZTsgd29yZC1zcGFjaW5nOiAwcHg7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMCiAKIAogCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij5IQUwKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQURDIDwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPnVwZGF0ZTwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw3OSBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8zODt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5IQUxfQURDRXhfPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SW5qZWN0ZWRDb25maWdDaGFubmVsKDwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+KTogdXBkYXRlIHRoZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBREMgPC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlPC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9BRENFeF88L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkluamVjdGVkQ29uZmlnQ2hhbm5lbCg8L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4pOiB1cGRhdGUgdGhlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHRlcm5hbCB0cmlnZ2VyIGluamVjdGVkCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25kaXRpb248L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbmRpdGlvbjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNzkgbGV2ZWwxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzM4O3RhYi1zdG9wczpsaXN0IC41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IndpZG93czoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxO2Zsb2F0Om5vbmU7d29yZC1zcGFjaW5nOjBweCI+PGI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJ3aWRvd3M6IDE7IGZsb2F0OiBub25lOyB3b3JkLXNwYWNpbmc6IDBweDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKIAogCiAKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPkhBTAotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBETUEgPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+dXBkYXRlPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDc5IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzM4O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkhBTF9ETUFfPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SW5pdCg8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPik6IHVwZGF0ZSB0bworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBETUEgPC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlPC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9ETUFfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5Jbml0KDwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPik6IHVwZGF0ZSB0bwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hlY2sgY29tcGF0aWJpbGl0eSBiZXR3ZWVuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGSUZPIHRocmVzaG9sZCBsZXZlbCBhbmQgc2l6ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2YgdGhlIG1lbW9yeSBidXJzdCZuYnNwOzwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvZiB0aGUgbWVtb3J5IGJ1cnN0Jm5ic3A7PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw3OSBsZXZlbDEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMzg7dGFiLXN0b3BzOmxpc3QgLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0id2lkb3dzOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE7ZmxvYXQ6bm9uZTt3b3JkLXNwYWNpbmc6MHB4Ij48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9IndpZG93czogMTsgZmxvYXQ6IG5vbmU7IHdvcmQtc3BhY2luZzogMHB4OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAogCiAKIAotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+SEFMCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFFTUEkgPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+dXBkYXRlPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDc5IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzM4O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlFTUElfSGFuZGxlVHlwZURlZjwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+IHN0cnVjdHVyZToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUVNQSSA8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+UVNQSV9IYW5kbGVUeXBlRGVmPC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+IHN0cnVjdHVyZToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVwZGF0ZSB0cmFuc2ZlciBwYXJhbWV0ZXJzIG9uCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBpbnN0ZWFkIG9mIHVpbnQxNl90PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGluc3RlYWQgb2YgdWludDE2X3Q8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDc5IGxldmVsMQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8zODt0YWItc3RvcHM6bGlzdCAuNWluIj48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKIAogCiAKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij5IQUwKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVBUlQvVVNBUlQvSXJEQS9TTUFSVENBUkQgPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+dXBkYXRlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVBUlQvVVNBUlQvSXJEQS9TTUFSVENBUkQgPC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21zby1tYXJnaW4tdG9wLWFsdDphdXRvOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvO21zby1saXN0Omw3OQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsMiBsZm8zODt0YWItc3RvcHM6IGxpc3QKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkRNQSBSZWNlaXZlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkRNQSBSZWNlaXZlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9jZXNzOyB0aGUgY29kZSBoYXMgYmVlbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlZCB0byBjbGVhciB0aGUgVVNBUlQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9WUiZuYnNwO2ZsYWcgYmVmb3JlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbmFibGluZyZuYnNwO0RNQSByZWNlaXZlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0Ljwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDc5IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzM4O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlVBUlRfPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+U2V0Q29uZmlnKDwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+KSB1cGRhdGUgdG8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3QuPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VUFSVF88L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlNldENvbmZpZyg8L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4pIHVwZGF0ZSB0bwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFuYWdlIGNvcnJlY3RseSBVU0FSVDYKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluc3RhbmNlIHRoYXQgaXMgbm90IGF2YWlsYWJsZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb24gU1RNMzJGNDEwVHggZGV2aWNlczwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbiBTVE0zMkY0MTBUeCBkZXZpY2VzPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw3OSBsZXZlbDEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMzg7dGFiLXN0b3BzOmxpc3QgLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0id2lkb3dzOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE7ZmxvYXQ6bm9uZTt3b3JkLXNwYWNpbmc6MHB4Ij48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9IndpZG93czogMTsgZmxvYXQ6IG5vbmU7IHdvcmQtc3BhY2luZzogMHB4OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAorCisKKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDQU4gPC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlPC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlJlbW92ZSBMb2NrCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZWNoYW5pc20gZnJvbSA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9DQU5fVHJhbnNtaXRfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SVQoPC9zcGFuPjwvc3Bhbj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfQ0FOX1JlY2VpdmVfSVQ8L3NwYW4+PC9zcGFuPigpCiAKIAogCiAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij5IQUwKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ0FOIDwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPnVwZGF0ZTwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw3OSBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8zODt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+UmVtb3ZlIExvY2sKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lY2hhbmlzbSBmcm9tIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX0NBTl9UcmFuc21pdF88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5JVCg8L3NwYW4+PC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3Bhbgotc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX0NBTl9SZWNlaXZlX0lUPC9zcGFuPjwvc3Bhbj4oKQotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9jZXNzZXM8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvY2Vzc2VzPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw3OSBsZXZlbDEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMzg7dGFiLXN0b3BzOmxpc3QgLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0id2lkb3dzOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE7ZmxvYXQ6bm9uZTt3b3JkLXNwYWNpbmc6MHB4Ij48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9IndpZG93czogMTsgZmxvYXQ6IG5vbmU7IHdvcmQtc3BhY2luZzogMHB4OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAogCiAKIAotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+SEFMCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRJTSA8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij51cGRhdGU8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUSU0gPC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlPC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0bzttc28tbGlzdDpsNzkKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXZlbDIgbGZvMzg7dGFiLXN0b3BzOiBsaXN0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5BZGQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fSEFMX1RJTV9NT0VfRElTQUJMRV88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+VU5DT05ESVRJT05BTExZKDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fSEFMX1RJTV9NT0VfRElTQUJMRV88c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VU5DT05ESVRJT05BTExZKDwvc3Bhbj48L3NwYW4+KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFjcm8gdG8gZGlzYWJsZSBNYXN0ZXIgb3V0cHV0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aXRob3V0IGNoZWNrIG9uIFRJTSBjaGFubmVsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZS4mbmJzcDs8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw3OSBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8zODt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+VXBkYXRlIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX1RJTUV4Xzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkNvbmZpZ0JyZWFrRGVhZFRpbWUoPC9zcGFuPjwvc3Bhbj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZS4mbmJzcDs8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfVElNRXhfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Q29uZmlnQnJlYWtEZWFkVGltZSg8L3NwYW4+PC9zcGFuPikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvIGZpeCBUSU0gQkRUUiByZWdpc3RlcgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29ycnVwdGlvbi48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvcnJ1cHRpb24uPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw3OSBsZXZlbDEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMzg7dGFiLXN0b3BzOmxpc3QgLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0id2lkb3dzOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE7ZmxvYXQ6bm9uZTt3b3JkLXNwYWNpbmc6MHB4Ij48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9IndpZG93czogMTsgZmxvYXQ6IG5vbmU7IHdvcmQtc3BhY2luZzogMHB4OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAogCiAKIAotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+SEFMCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEkyQyA8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij51cGRhdGU8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNzkgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMzg7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlVwZGF0ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX0kyQ19NYXN0ZXJfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPlRyYW5zbWl0KDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJMkMgPC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlPC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX0kyQ19NYXN0ZXJfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlRyYW5zbWl0KDwvc3Bhbj48L3NwYW4+KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIEhBTF9JMkNfU2xhdmVfVHJhbnNtaXQoKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gYXZvaWQgc2VuZGluZyBleHRyYQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnl0ZXMmbmJzcDthdCB0aGUgZW5kIG9mIHRoZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNtaXQgcHJvY2Vzc2VzPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNzkgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMzg7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlVwZGF0ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX0kyQ19NZW1fPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPlJlYWQoPC9zcGFuPjwvc3Bhbj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc21pdCBwcm9jZXNzZXM8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9JMkNfTWVtXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5SZWFkKDwvc3Bhbj48L3NwYW4+KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVBJIHRvIGZpeCB3cm9uZyBjaGVjayBvbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWlzdXNlZCBwYXJhbWV0ZXIgk1NpemWUPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNzkgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMzg7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlVwZGF0ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSTJDX01hc3RlclJlY2VpdmVfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPlJYTkUoPC9zcGFuPjwvc3Bhbj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtaXN1c2VkIHBhcmFtZXRlciCTU2l6ZZQ8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEkyQ19NYXN0ZXJSZWNlaXZlXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5SWE5FKDwvc3Bhbj48L3NwYW4+KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIEkyQ19NYXN0ZXJSZWNlaXZlX0JURigpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0aWMgQVBJcyB0byBlbmhhbmNlIE1hc3RlcgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VxdWVudGlhbCByZWNlcHRpb24gcHJvY2Vzcy48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VxdWVudGlhbCByZWNlcHRpb24gcHJvY2Vzcy48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDc5IGxldmVsMQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8zODt0YWItc3RvcHM6bGlzdCAuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJ3aWRvd3M6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTtmbG9hdDpub25lO3dvcmQtc3BhY2luZzowcHgiPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0id2lkb3dzOiAxOyBmbG9hdDogbm9uZTsgd29yZC1zcGFjaW5nOiAwcHg7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMCiAKIAogCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij5IQUwKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU1BJIDwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPnVwZGF0ZTwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw3OSBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8zODt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+QWRkIHRyYW5zZmVyCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNQSSA8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkIHRyYW5zZmVyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhYm9ydCBBUElzJm5ic3A7YW5kIGFzc29jaWF0ZWQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhbGxiYWNrcyBpbiBpbnRlcnJ1cHQgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPm1vZGU8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNzkgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8zODt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkhBTF9TUElfPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5BYm9ydCg8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPik8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNzkgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8zODt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkhBTF9TUElfQWJvcnRfPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5JVCg8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPik8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNzkgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8zODt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkhBTF9TUElfPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5BYm9ydENwbHRDYWxsYmFjayg8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPik8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhbGxiYWNrcyBpbiBpbnRlcnJ1cHQgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPm1vZGU8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfU1BJXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWJvcnQoPC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+KTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX1NQSV9BYm9ydF88L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPklUKDwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPik8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9TUElfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BYm9ydENwbHRDYWxsYmFjayg8L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4pPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw3OSBsZXZlbDEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMzg7dGFiLXN0b3BzOmxpc3QgLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0id2lkb3dzOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE7ZmxvYXQ6bm9uZTt3b3JkLXNwYWNpbmc6MHB4Ij48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9IndpZG93czogMTsgZmxvYXQ6IG5vbmU7IHdvcmQtc3BhY2luZzogMHB4OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAogCiAKIAotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+SEFMCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEkyUyA8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij51cGRhdGU8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJMlMgPC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlPC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0bzttc28tbGlzdDpsNzkKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXZlbDIgbGZvMzg7dGFiLXN0b3BzOiBsaXN0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5BZGQmbmJzcDtzcGVjaWZpYworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQmbmJzcDtzcGVjaWZpYwogCiAKIAogCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYWxsYmFjayBBUEkgdG8gbWFuYWdlIEkyUwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVsbCBkdXBsZXggZW5kIG9mIHRyYW5zZmVyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9jZXNzOjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9jZXNzOjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvO21zby1saXN0Omw3OQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWwzIGxmbzM4O3RhYi1zdG9wczogbGlzdAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5IQUxfSTJTXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+VHhDcGx0Q2FsbGJhY2soPC9zcGFuPjwvc3Bhbj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX0kyU188c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VHhDcGx0Q2FsbGJhY2soPC9zcGFuPjwvc3Bhbj4pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCBIQUxfSTJTX1J4Q3BsdENhbGxiYWNrKCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVBJJ3Mgd2lsbCBiZSByZXBsYWNlZCB3aXRoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9ubHkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX0kyU0V4X1R4UnhDcGx0Q2FsbGJhY2soKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBUEkuJm5ic3A7PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFQSS4mbmJzcDs8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21zby1tYXJnaW4tdG9wLWFsdDphdXRvOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvO21zby1saXN0Omw3OQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsMiBsZm8zODt0YWItc3RvcHM6IGxpc3QKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlVwZGF0ZSBJMlMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXBkYXRlIEkyUwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVHJhbnNtaXQvUmVjZWl2ZSBwb2xsaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9jZXNzIHRvIG1hbmFnZSZuYnNwO092ZXJydW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCBVbmRlcnJ1biBlcnJvcnM8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG87bXNvLWxpc3Q6bDc5Ci0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWwyIGxmbzM4O3RhYi1zdG9wczogbGlzdAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+TW92ZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIFVuZGVycnVuIGVycm9yczwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5Nb3ZlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUmbmJzcDtJMlMgY2xvY2sgaW5wdXQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyZXF1ZW5jeSBjYWxjdWxhdGlvbiZuYnNwO3RvCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUwgUkNDIGRyaXZlci48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG87bXNvLWxpc3Q6bDc5Ci0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWwyIGxmbzM4O3RhYi1zdG9wczogbGlzdAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+VXBkYXRlIHRoZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMIFJDQyBkcml2ZXIuPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZSB0aGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTCBJMlNFeCBkcml2ZXIgdG8ga2VlcCBvbmx5Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdWxsIGR1cGxleCBmZWF0dXJlLjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDc5IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzM4O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5IQUxfSTJTXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5Jbml0KDwvc3Bhbj48L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVBJIHVwZGF0ZWQgdG88L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDc5IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMzg7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkZpeCB3cm9uZworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVsbCBkdXBsZXggZmVhdHVyZS48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfSTJTXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5Jbml0KDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVBJIHVwZGF0ZWQgdG88L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Rml4IHdyb25nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEkyUyBjbG9jayBjYWxjdWxhdGlvbiB3aGVuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBDTSBtb2RlIGlzIHVzZWQuPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDc5IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMzg7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlJldHVybgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQQ00gbW9kZSBpcyB1c2VkLjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+UmV0dXJuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRlJm5ic3A7SEFMX0kyU19FUlJPUl9QUkVTQ0FMRVImbmJzcDt3aGVuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBJMlMgY2xvY2sgaXMgd3JvbmdseSA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+Y29uZmlndXJlZDwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBJMlMgY2xvY2sgaXMgd3JvbmdseSA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Y29uZmlndXJlZDwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibWFyZ2luLXRvcDowaW47dGV4dC1hbGlnbjpzdGFydDt3b3JkLXNwYWNpbmc6MHB4IgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTggbGV2ZWwxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzM5O3RhYi1zdG9wczpsaXN0IC41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IndpZG93czoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxO2Zsb2F0Om5vbmU7d29yZC1zcGFjaW5nOjBweCI+PGI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyB0ZXh0LWFsaWduOiBzdGFydDsgd29yZC1zcGFjaW5nOiAwcHg7IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJ3aWRvd3M6IDE7IGZsb2F0OiBub25lOyB3b3JkLXNwYWNpbmc6IDBweDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKIAogCiAKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPkhBTAotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMVERDIDwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPnVwZGF0ZTwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxOCBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8zOTt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1NlZ29lCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVSSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+T3B0aW1pemUgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7U2Vnb2UKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVSSZxdW90OyxzYW5zLXNlcmlmIj5IQUxfTFREQ188L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7U2Vnb2UKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVSSZxdW90OyxzYW5zLXNlcmlmIj5JUlFIYW5kbGVyKDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMVERDIDwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZTwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ij5PcHRpbWl6ZSA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1NlZ29lJnF1b3Q7LFVJOyI+SEFMX0xURENfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7U2Vnb2UmcXVvdDssVUk7Ij5JUlFIYW5kbGVyKDwvc3Bhbj48L3NwYW4+KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gYnkgdXNpbmcgZGlyZWN0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWdpc3RlciByZWFkPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTggbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMzk7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtTZWdvZQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVUkmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlJlbmFtZSB0aGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbGxvd2luZyA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1NlZ29lCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVUkmcXVvdDssc2Fucy1zZXJpZiI+QVBJJ3M8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTggbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8zOTt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtTZWdvZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVJJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkhBTF9MVERDXzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1NlZ29lCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVUkmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+UmVsYW9kKDwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7U2Vnb2UKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVUkmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4pIGJ5IDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtTZWdvZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVUkmcXVvdDssc2Fucy1zZXJpZiI+SEFMX0xURENfUmVsb2FkPC9zcGFuPjwvc3Bhbj4oKSZuYnNwOzwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxOCBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzM5O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1NlZ29lCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVUkmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SEFMX0xURENfPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7U2Vnb2UKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVSSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5TdHJ1Y3RJbml0RnJvbVZpZGVvQ29uZmlnKDwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7U2Vnb2UKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVUkmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4pIGJ5IDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtTZWdvZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVUkmcXVvdDssc2Fucy1zZXJpZiI+SEFMX0xURENFeF9TdHJ1Y3RJbml0RnJvbVZpZGVvQ29uZmlnPC9zcGFuPjwvc3Bhbj4oKTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxOCBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzM5O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1NlZ29lCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVUkmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SEFMX0xURENfPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7U2Vnb2UKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVSSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5TdHJ1Y3RJbml0RnJvbUFkYXB0ZWRDb21tYW5kQ29uZmlnKDwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7U2Vnb2UKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVUkmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4pIGJ5IDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtTZWdvZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVUkmcXVvdDssc2Fucy1zZXJpZiI+SEFMX0xURENFeF9TdHJ1Y3RJbml0RnJvbUFkYXB0ZWRDb21tYW5kQ29uZmlnPC9zcGFuPjwvc3Bhbj4oKTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVnaXN0ZXIgcmVhZDwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsiPlJlbmFtZSB0aGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbGxvd2luZyA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7U2Vnb2UmcXVvdDssVUk7Ij5BUEknczwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsiPkhBTF9MVERDXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyI+UmVsYW9kKDwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsiPikgYnkgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtTZWdvZSZxdW90OyxVSTsiPkhBTF9MVERDX1JlbG9hZDwvc3Bhbj48L3NwYW4+KCkmbmJzcDs8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsiPkhBTF9MVERDXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyI+U3RydWN0SW5pdEZyb21WaWRlb0NvbmZpZyg8L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ij4pIGJ5IDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7U2Vnb2UmcXVvdDssVUk7Ij5IQUxfTFREQ0V4X1N0cnVjdEluaXRGcm9tVmlkZW9Db25maWc8L3NwYW4+PC9zcGFuPigpPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ij5IQUxfTFREQ188L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsiPlN0cnVjdEluaXRGcm9tQWRhcHRlZENvbW1hbmRDb25maWcoPC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyI+KSBieSA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1NlZ29lJnF1b3Q7LFVJOyI+SEFMX0xURENFeF9TdHJ1Y3RJbml0RnJvbUFkYXB0ZWRDb21tYW5kQ29uZmlnPC9zcGFuPjwvc3Bhbj4oKTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxOCBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8zOTt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1NlZ29lCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVSSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+QWRkIG5ldworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsiPkFkZCBuZXcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmluZXMgZm9yIExUREMgbGF5ZXJzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoTFREQ19MQVlFUl8xIC8gTFREQ19MQVlFUl8yKTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDE4IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzM5O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7U2Vnb2UKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVJJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5SZW1vdmUgdW51c2VkCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1NlZ29lCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVUkmcXVvdDssc2Fucy1zZXJpZiI+YXNzZXJ0czwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChMVERDX0xBWUVSXzEgLyBMVERDX0xBWUVSXzIpPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyI+UmVtb3ZlIHVudXNlZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1NlZ29lJnF1b3Q7LFVJOyI+YXNzZXJ0czwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxOCBsZXZlbDEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMzk7dGFiLXN0b3BzOmxpc3QgLjVpbiI+PGI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMCisKKworCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVU0I8L3NwYW4+PC9iPjxzcGFuIGNsYXNzPSJhcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4gPGI+UENEPC9iPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkZsdXNoIGFsbCBUWAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRklGT3Mgb24gVVNCIFJlc2V0PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+UmVtb3ZlIExvY2sKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lY2hhbmlzbSBmcm9tIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX1BDRF9FUF88L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5UcmFuc21pdCg8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9QQ0RfRVBfUmVjZWl2ZTwvc3Bhbj48L3NwYW4+KCkKIAogCiAKIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij5IQUwKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVTQjwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iYXBwbGUtY29udmVydGVkLXNwYWNlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+IDxiPlBDRDwvYj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij51cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxOCBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8zOTt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+Rmx1c2ggYWxsIFRYCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGSUZPcyBvbiBVU0IgUmVzZXQ8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxOCBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8zOTt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+UmVtb3ZlIExvY2sKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lY2hhbmlzbSBmcm9tIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX1BDRF9FUF88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5UcmFuc21pdCg8L3NwYW4+PC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3Bhbgotc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX1BDRF9FUF9SZWNlaXZlPC9zcGFuPjwvc3Bhbj4oKQotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBUEknczwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBUEknczwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1hcmdpbi10b3A6MGluO3RleHQtYWxpZ246c3RhcnQ7d29yZC1zcGFjaW5nOjBweCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDM1IGxldmVsMQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm80MDt0YWItc3RvcHM6bGlzdCAuNWluIj48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyB0ZXh0LWFsaWduOiBzdGFydDsgd29yZC1zcGFjaW5nOiAwcHg7IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5MTAogCiAKIAotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPkxMCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVU0I8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPiA8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPnVwZGF0ZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDM1IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzQwO3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5FbmFibGUgRE1BCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCdXJzdCBtb2RlIGZvciBVU0IgT1RHIEhTPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMzUgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNDA7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0id2lkb3dzOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTtmbG9hdDpub25lO3dvcmQtc3BhY2luZzowcHgiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkZpeCBTRCBjYXJkCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRldGVjdGlvbiA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPmlzc3VlPC9zcGFuPjwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVTQjwvc3Bhbj48L2I+PHNwYW4gY2xhc3M9ImFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPiA8L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5FbmFibGUgRE1BCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCdXJzdCBtb2RlIGZvciBVU0IgT1RHIEhTPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0id2lkb3dzOiAxOyBmbG9hdDogbm9uZTsgd29yZC1zcGFjaW5nOiAwcHg7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Rml4IFNEIGNhcmQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGV0ZWN0aW9uIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5pc3N1ZTwvc3Bhbj48L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMzUgbGV2ZWwxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzQwO3RhYi1zdG9wczpsaXN0IC41aW4iPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkxMCiAKIAogCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+TEwKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNETU1DPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJhcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4mbmJzcDs8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij51cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMzUgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNDA7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkFkZCBuZXcgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5TRE1NQ19DbWRTREVyYXNlU3RhcnRBZGQ8L3NwYW4+PC9zcGFuPiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+U0RNTUNfQ21kU0RFcmFzZUVuZEFkZDwvc3Bhbj48L3NwYW4+LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5TRE1NQ19DbWRPcENvbmRpdGlvbjwvc3Bhbj48L3NwYW4+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4KLXN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPlNETU1DX0NtZFN3aXRjaDwvc3Bhbj48L3NwYW4+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbnM8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU0RNTUM8L3NwYW4+PC9iPjxzcGFuIGNsYXNzPSJhcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4mbmJzcDs8L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQgbmV3IDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+U0RNTUNfQ21kU0RFcmFzZVN0YXJ0QWRkPC9zcGFuPjwvc3Bhbj4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlNETU1DX0NtZFNERXJhc2VFbmRBZGQ8L3NwYW4+PC9zcGFuPiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+U0RNTUNfQ21kT3BDb25kaXRpb248L3NwYW4+PC9zcGFuPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+U0RNTUNfQ21kU3dpdGNoPC9zcGFuPjwvc3Bhbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uczwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1hcmdpbi1yaWdodDo1MDAuMHB0O2JhY2tncm91bmQ6IzMzNjZGRjstbW96LWJhY2tncm91bmQtY2xpcDoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluaXRpYWw7IC1tb3otYmFja2dyb3VuZC1vcmlnaW46Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbml0aWFsOy1tb3otYmFja2dyb3VuZC1pbmxpbmUtcG9saWN5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5pdGlhbDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb24teDowJTtiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA1MCU7YmFja2dyb3VuZC1hdHRhY2htZW50OiBzY3JvbGwiPjxmb250Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yPSIjZmZmZmZmIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0FyaWFsJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDMgc3R5bGU9ImJhY2tncm91bmQ6IHJnYig1MSwgMTAyLCAyNTUpIG5vbmUgcmVwZWF0IHNjcm9sbCAwJSA1MCU7IC1tb3otYmFja2dyb3VuZC1jbGlwOiAtbW96LWluaXRpYWw7IC1tb3otYmFja2dyb3VuZC1vcmlnaW46IC1tb3otaW5pdGlhbDsgLW1vei1iYWNrZ3JvdW5kLWlubGluZS1wb2xpY3k6IC1tb3otaW5pdGlhbDsgbWFyZ2luLXJpZ2h0OiA1MDBwdDsiPjxmb250IGNvbG9yPSIjZmZmZmZmIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7QXJpYWwmcXVvdDssc2Fucy1zZXJpZjsiPlYxLjYuMAogCiAKIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90Oztjb2xvcjp3aGl0ZSI+VjEuNi4wCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyAwNC1Ob3ZlbWJlci0yMDE2PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2ZvbnQ+PC9oMz4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1hcmdpbi10b3A6NC41cHQ7bWFyZ2luLXJpZ2h0OjBpbjttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bWFyZ2luLWxlZnQ6LjI1aW4iPjxiPjx1PjxzcGFuCi1zdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseToKLSZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjpibGFjayI+TWFpbiBDaGFuZ2VzPC9zcGFuPjwvdT48L2I+PG86cD48L286cD48L3A+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibWFyZ2luLXRvcDowaW47dGV4dC1hbGlnbjpzdGFydDt3b3JkLXNwYWNpbmc6MHB4IgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNzEgbGV2ZWwxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzQxO3RhYi1zdG9wczpsaXN0IC41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IndpZG93czoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxO2Zsb2F0Om5vbmU7d29yZC1zcGFjaW5nOjBweCI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij5BZGQ8c3BhbgotY2xhc3M9ImFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj4mbmJzcDs8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPnN1cHBvcnQgb2Y8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJhcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4mbmJzcDs8L3NwYW4+PC9zcGFuPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlNUTTMyRjQxM3h4Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCZuYnNwO1NUTTMyRjQyM3h4PC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8gMDQtTm92ZW1iZXItMjAxNjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2ZvbnQ+PC9oMz4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOiA0LjVwdCAwaW4gNC41cHQgMC4yNWluOyI+PGI+PHU+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsgY29sb3I6IGJsYWNrOyI+TWFpbiBDaGFuZ2VzPC9zcGFuPjwvdT48L2I+PG86cD48L286cD48L3A+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IHRleHQtYWxpZ246IHN0YXJ0OyB3b3JkLXNwYWNpbmc6IDBweDsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9IndpZG93czogMTsgZmxvYXQ6IG5vbmU7IHdvcmQtc3BhY2luZzogMHB4OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZDxzcGFuIGNsYXNzPSJhcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Jm5ic3A7PC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9IiI+c3VwcG9ydCBvZjwvc3Bhbj48c3BhbiBjbGFzcz0iYXBwbGUtY29udmVydGVkLXNwYWNlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPiZuYnNwOzwvc3Bhbj48L3NwYW4+PGI+PHNwYW4gc3R5bGU9IiI+U1RNMzJGNDEzeHgKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kJm5ic3A7U1RNMzJGNDIzeHg8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGV2aWNlczwvc3Bhbj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw3MSBsZXZlbDEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNDE7dGFiLXN0b3BzOmxpc3QgLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPkdlbmVyYWwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+R2VuZXJhbAogCiAKIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZXMgdG8gZml4IGtub3duIGRlZmVjdHMgYW5kCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5oYW5jZW1lbnRzIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPmltcGxlbWVudGF0aW9uPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbmhhbmNlbWVudHMgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPmltcGxlbWVudGF0aW9uPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0id2lkb3dzOiAxOyBmbG9hdDogbm9uZTsgd29yZC1zcGFjaW5nOiAwcHg7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMCiAKIAogCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw3MSBsZXZlbDEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNDE7dGFiLXN0b3BzOmxpc3QgLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0id2lkb3dzOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE7ZmxvYXQ6bm9uZTt3b3JkLXNwYWNpbmc6MHB4Ij48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij5IQUwKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ0FOPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+IHVwZGF0ZTwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw3MSBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm80MTt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+VXBkYXRlIHRvIGFkZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIHN1cHBvcnQgb2YgMyBDQU4gPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPm1hbmFnZW1lbnQ8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENBTjwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPiB1cGRhdGU8L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXBkYXRlIHRvIGFkZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIHN1cHBvcnQgb2YgMyBDQU4gPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPm1hbmFnZW1lbnQ8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNzEgbGV2ZWwxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzQxO3RhYi1zdG9wczpsaXN0IC41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IndpZG93czoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxO2Zsb2F0Om5vbmU7d29yZC1zcGFjaW5nOjBweCI+PGI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJ3aWRvd3M6IDE7IGZsb2F0OiBub25lOyB3b3JkLXNwYWNpbmc6IDBweDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKIAogCiAKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPkhBTAotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDUllQPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+IHVwZGF0ZTwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw3MSBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm80MTt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+VXBkYXRlIHRvIGFkZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIHN1cHBvcnQgb2YgQUVTIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5mZWF0dXJlczwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ1JZUDwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPiB1cGRhdGU8L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXBkYXRlIHRvIGFkZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIHN1cHBvcnQgb2YgQUVTIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5mZWF0dXJlczwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw3MSBsZXZlbDEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNDE7dGFiLXN0b3BzOmxpc3QgLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0id2lkb3dzOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE7ZmxvYXQ6bm9uZTt3b3JkLXNwYWNpbmc6MHB4Ij48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9IndpZG93czogMTsgZmxvYXQ6IG5vbmU7IHdvcmQtc3BhY2luZzogMHB4OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAogCiAKIAotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+SEFMCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERGU0RNPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+IHVwZGF0ZTwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw3MSBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm80MTt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJ3aWRvd3M6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxO2Zsb2F0Om5vbmU7d29yZC1zcGFjaW5nOjBweCI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+QWRkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERGU0RNPC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+IHVwZGF0ZTwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJ3aWRvd3M6IDE7IGZsb2F0OiBub25lOyB3b3JkLXNwYWNpbmc6IDBweDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmaW5pdGlvbnMgZm9yIG5ldyBleHRlcm5hbAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmlnZ2VyIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4KLXN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPmZpbHRlcnM8L3NwYW4+PC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw3MSBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm80MTt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJ3aWRvd3M6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxO2Zsb2F0Om5vbmU7d29yZC1zcGFjaW5nOjBweCI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+QWRkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyaWdnZXIgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPmZpbHRlcnM8L3NwYW4+PC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJ3aWRvd3M6IDE7IGZsb2F0OiBub25lOyB3b3JkLXNwYWNpbmc6IDBweDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmaW5pdGlvbiBmb3IgbmV3IENoYW5uZWxzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQsIDUsIDYgYW5kIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj43PC9zcGFuPjwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNzEgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNDE7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0id2lkb3dzOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTt3b3JkLXNwYWNpbmc6MHB4Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+QWRkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQsIDUsIDYgYW5kIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij43PC9zcGFuPjwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0id2lkb3dzOiAxOyB3b3JkLXNwYWNpbmc6IDBweDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb25zIGFuZCBBUEkgZm9yIEZpbHRlcgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZSBjb25maWd1cmF0aW9uIGFuZCA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPm1hbmFnZW1lbnQ8L3NwYW4+PC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw3MSBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm80MTt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+QWRkIG5ldwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb25zOiZuYnNwOzwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNzEgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm80MTt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkhBTF9ERlNETV9CaXRzdHJlYW1DbG9ja188L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlN0YXJ0KDwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+KTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw3MSBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzQxO3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SEFMX0RGU0RNX0JpdHN0cmVhbUNsb2NrXzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+U3RvcCg8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPik8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNzEgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm80MTt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkhBTF9ERlNETV9CaXRTdHJlYW1DbGtEaXN0cmlidXRpb25fPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5Db25maWcoPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4pJm5ic3A7PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRlIGNvbmZpZ3VyYXRpb24gYW5kIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5tYW5hZ2VtZW50PC9zcGFuPjwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkIG5ldworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb25zOiZuYnNwOzwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfREZTRE1fQml0c3RyZWFtQ2xvY2tfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5TdGFydCg8L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4pPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfREZTRE1fQml0c3RyZWFtQ2xvY2tfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5TdG9wKDwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPik8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9ERlNETV9CaXRTdHJlYW1DbGtEaXN0cmlidXRpb25fPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5Db25maWcoPC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+KSZuYnNwOzwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNzEgbGV2ZWwxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzQxO3RhYi1zdG9wczpsaXN0IC41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IndpZG93czoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxO2Zsb2F0Om5vbmU7d29yZC1zcGFjaW5nOjBweCI+PGI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJ3aWRvd3M6IDE7IGZsb2F0OiBub25lOyB3b3JkLXNwYWNpbmc6IDBweDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKIAogCiAKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPkhBTAotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBETUE8L3NwYW4+PC9iPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw3MSBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm80MTt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJ3aWRvd3M6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxO2Zsb2F0Om5vbmU7d29yZC1zcGFjaW5nOjBweCI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+QWRkIHRoZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBETUE8L3NwYW4+PC9iPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9IndpZG93czogMTsgZmxvYXQ6IG5vbmU7IHdvcmQtc3BhY2luZzogMHB4OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZCB0aGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3VwcG9ydCBvZiBETUEgQ2hhbm5lbHMgZnJvbQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA4IHRvIDE1PC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw3MSBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm80MTt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJ3aWRvd3M6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxO2Zsb2F0Om5vbmU7d29yZC1zcGFjaW5nOjBweCI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+VXBkYXRlIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkhBTF9ETUFfPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkRlSW5pdCg8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOCB0byAxNTwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJ3aWRvd3M6IDE7IGZsb2F0OiBub25lOyB3b3JkLXNwYWNpbmc6IDBweDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfRE1BXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkRlSW5pdCg8L3NwYW4+PC9zcGFuPikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gd2l0aCB0aGUgY2hlY2sgb24KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRE1BIHN0cmVhbSBpbnN0YW5jZTwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBETUEgc3RyZWFtIGluc3RhbmNlPC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNzEgbGV2ZWwxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzQxO3RhYi1zdG9wczpsaXN0IC41aW4iPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAogCiAKIAotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPkhBTAotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRFNJPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+Jm5ic3A7dXBkYXRlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRFNJPC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Jm5ic3A7dXBkYXRlPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9ImNpcmNsZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDE3IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzQyO3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5VcGRhdGUgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5IQUxfRFNJXzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkNvbmZpZ0hvc3RUaW1lb3V0cyg8L3NwYW4+PC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3Bhbgotc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX0RTSV9Jbml0PC9zcGFuPjwvc3Bhbj4oKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iY2lyY2xlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfRFNJXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkNvbmZpZ0hvc3RUaW1lb3V0cyg8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9EU0lfSW5pdDwvc3Bhbj48L3NwYW4+KCkKIAogCiAKIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb25zIHRvIGF2b2lkIHNjcmF0Y2ggaW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERTSV9DQ1IgcmVnaXN0ZXI8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRFNJX0NDUiByZWdpc3Rlcjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTcgbGV2ZWwxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzQyO3RhYi1zdG9wczpsaXN0IC41aW4iPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAogCiAKIAotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPkhBTAotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRkxBU0g8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4gdXBkYXRlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0iY2lyY2xlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTcgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNDI7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkVuaGFuY2UgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5GTEFTSF88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5XYWl0Rm9yTGFzdE9wZXJhdGlvbig8L3NwYW4+PC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGltcGxlbWVudGF0aW9uPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTcgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNDI7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlVwZGF0ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19IQUxfRkxBU0hfR0VUXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5GTEFHKDwvc3Bhbj48L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFjcm8gaW1wbGVtZW50YXRpb248L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRkxBU0g8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4gdXBkYXRlPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9ImNpcmNsZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RW5oYW5jZSA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkZMQVNIXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPldhaXRGb3JMYXN0T3BlcmF0aW9uKDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gaW1wbGVtZW50YXRpb248L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fSEFMX0ZMQVNIX0dFVF88c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RkxBRyg8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hY3JvIGltcGxlbWVudGF0aW9uPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxNyBsZXZlbDEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNDI7dGFiLXN0b3BzOmxpc3QgLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0id2lkb3dzOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE7ZmxvYXQ6bm9uZTt3b3JkLXNwYWNpbmc6MHB4Ij48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9IndpZG93czogMTsgZmxvYXQ6IG5vbmU7IHdvcmQtc3BhY2luZzogMHB4OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAogCiAKIAotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+SEFMCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdQSU88L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iYXBwbGUtY29udmVydGVkLXNwYWNlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+Jm5ic3A7PC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPnVwZGF0ZTwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0iY2lyY2xlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTcgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNDI7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0id2lkb3dzOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTtmbG9hdDpub25lO3dvcmQtc3BhY2luZzowcHgiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkFkZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHUElPPC9zcGFuPjwvYj48c3BhbiBjbGFzcz0iYXBwbGUtY29udmVydGVkLXNwYWNlIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Jm5ic3A7PC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlPC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJjaXJjbGUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9IndpZG93czogMTsgZmxvYXQ6IG5vbmU7IHdvcmQtc3BhY2luZzogMHB4OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcGVjaWZpYyBhbHRlcm5hdGUgZnVuY3Rpb25zCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPmRlZmluaXRpb25zPC9zcGFuPjwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPmRlZmluaXRpb25zPC9zcGFuPjwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxNyBsZXZlbDEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNDI7dGFiLXN0b3BzOmxpc3QgLjVpbiI+PGI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMCiAKIAogCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+SEFMCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJMkMgPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+dXBkYXRlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0iY2lyY2xlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTcgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNDI7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlVwZGF0ZSBJMkNfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkRNQUVycm9yKDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSTJDIDwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJjaXJjbGUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZSBJMkNfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkRNQUVycm9yKDwvc3Bhbj48L3NwYW4+KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gaW1wbGVtZW50YXRpb24gdG8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlnbm9yZSBETUEgRklGTyBlcnJvcjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZ25vcmUgRE1BIEZJRk8gZXJyb3I8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDE3IGxldmVsMQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm80Mjt0YWItc3RvcHM6bGlzdCAuNWluIj48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKIAogCiAKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij5IQUwKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEkyUyA8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij51cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJjaXJjbGUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxNyBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm80Mjt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+RW5oYW5jZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX0kyU188c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuCi1zdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5Jbml0KDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSTJTIDwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJjaXJjbGUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkVuaGFuY2UKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9JMlNfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkluaXQoPC9zcGFuPjwvc3Bhbj4pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbXBsZW1lbnRhdGlvbiB0byB0ZXN0IG9uCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQQ01fU0hPUlQgYW5kIFBDTV9MT05HCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGFuZGFyZHM8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhbmRhcmRzPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxNyBsZXZlbDEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNDI7dGFiLXN0b3BzOmxpc3QgLjVpbiI+PGI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMCiAKIAogCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+SEFMCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJUkRBPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJhcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4mbmJzcDs8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij51cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0iY2lyY2xlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTcgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNDI7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkFkZCBuZXcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElSREE8L3NwYW4+PC9iPjxzcGFuIGNsYXNzPSJhcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4mbmJzcDs8L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iY2lyY2xlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQgbmV3CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbnMgYW5kIGNhbGwgYmFja3MgZm9yCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUcmFuc2ZlciA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+QWJvcnQ8L3NwYW4+PC9zcGFuPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTcgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm80Mjt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkhBTF9JUkRBXzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+QWJvcnQoPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4pPG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTcgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm80Mjt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkhBTF9JUkRBXzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+QWJvcnRUcmFuc21pdCg8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPik8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxNyBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzQyO3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SEFMX0lSREFfPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5BYm9ydFJlY2VpdmUoPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4pPG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTcgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm80Mjt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkhBTF9JUkRBX0Fib3J0Xzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SVQoPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4pPG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTcgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm80Mjt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkhBTF9JUkRBX0Fib3J0VHJhbnNtaXRfPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5JVCg8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPik8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxNyBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzQyO3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SEFMX0lSREFfQWJvcnRSZWNlaXZlXzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SVQoPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4pPG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTcgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm80Mjt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkhBTF9JUkRBXzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+QWJvcnRDcGx0Q2FsbGJhY2soPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4pPG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTcgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm80Mjt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkhBTF9JUkRBXzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+QWJvcnRUcmFuc21pdENwbHRDYWxsYmFjayg8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPik8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVHJhbnNmZXIgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFib3J0PC9zcGFuPjwvc3Bhbj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfSVJEQV88L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFib3J0KDwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPik8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX0lSREFfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BYm9ydFRyYW5zbWl0KDwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPik8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX0lSREFfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BYm9ydFJlY2VpdmUoPC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+KTxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfSVJEQV9BYm9ydF88L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPklUKDwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPik8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX0lSREFfQWJvcnRUcmFuc21pdF88L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPklUKDwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPik8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX0lSREFfQWJvcnRSZWNlaXZlXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SVQoPC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+KTxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfSVJEQV88L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFib3J0Q3BsdENhbGxiYWNrKDwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPik8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX0lSREFfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BYm9ydFRyYW5zbWl0Q3BsdENhbGxiYWNrKDwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPik8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxNDEgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm80Mzt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkhBTF9JUkRBXzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+QWJvcnRSZWNlaXZlQ3BsdENhbGxiYWNrKDwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+KTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX0lSREFfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BYm9ydFJlY2VpdmVDcGx0Q2FsbGJhY2soPC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+KTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTQxIGxldmVsMQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm80Mzt0YWItc3RvcHM6bGlzdCAuNWluIj48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKIAogCiAKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij5IQUwKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBDRDwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iYXBwbGUtY29udmVydGVkLXNwYWNlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+IDwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+dXBkYXRlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUENEPC9zcGFuPjwvYj48c3BhbiBjbGFzcz0iYXBwbGUtY29udmVydGVkLXNwYWNlIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+IDwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJjaXJjbGUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw4MyBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm80NDt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+VXBkYXRlIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX1BDRF88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5HZXRSeENvdW50KDwvc3Bhbj48L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJm5ic3A7ZnVuY3Rpb24gaW1wbGVtZW50YXRpb248L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iY2lyY2xlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfUENEXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkdldFJ4Q291bnQoPC9zcGFuPjwvc3Bhbj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbmJzcDtmdW5jdGlvbiBpbXBsZW1lbnRhdGlvbjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsODMgbGV2ZWwxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzQ0O3RhYi1zdG9wczpsaXN0IC41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IndpZG93czoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxO2Zsb2F0Om5vbmU7d29yZC1zcGFjaW5nOjBweCI+PGI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJ3aWRvd3M6IDE7IGZsb2F0OiBub25lOyB3b3JkLXNwYWNpbmc6IDBweDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKIAogCiAKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPkhBTAotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSQ0M8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iYXBwbGUtY29udmVydGVkLXNwYWNlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+Jm5ic3A7PC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPnVwZGF0ZTwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0iY2lyY2xlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsODMgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNDQ7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0id2lkb3dzOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTtmbG9hdDpub25lO3dvcmQtc3BhY2luZzowcHgiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlVwZGF0ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX0hBTF9SQ0NfSFNFXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+Q09ORklHKDwvc3Bhbj48L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWNybyBpbXBsZW1lbnRhdGlvbjwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw4MyBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm80NDt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJ3aWRvd3M6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxO2Zsb2F0Om5vbmU7d29yZC1zcGFjaW5nOjBweCI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+VXBkYXRlPHNwYW4KLWNsYXNzPSJhcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj4mbmJzcDs8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0id2lkb3dzOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxO2Zsb2F0Om5vbmU7d29yZC1zcGFjaW5nOjBweCI+PC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPl9fSEFMX1JDQ19MU0VfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+Q09ORklHKDwvc3Bhbj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJDQzwvc3Bhbj48L2I+PHNwYW4gY2xhc3M9ImFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPiZuYnNwOzwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZTwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iY2lyY2xlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJ3aWRvd3M6IDE7IGZsb2F0OiBub25lOyB3b3JkLXNwYWNpbmc6IDBweDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19IQUxfUkNDX0hTRV88c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Q09ORklHKDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWNybyBpbXBsZW1lbnRhdGlvbjwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJ3aWRvd3M6IDE7IGZsb2F0OiBub25lOyB3b3JkLXNwYWNpbmc6IDBweDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGU8c3BhbiBjbGFzcz0iYXBwbGUtY29udmVydGVkLXNwYWNlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPiZuYnNwOzxzcGFuIHN0eWxlPSJ3aWRvd3M6IDE7IGZsb2F0OiBub25lOyB3b3JkLXNwYWNpbmc6IDBweDsiPjwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPl9fSEFMX1JDQ19MU0VfPHNwYW4gY2xhc3M9ImdyYW1lIj5DT05GSUcoPC9zcGFuPikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWNybyBpbXBsZW1lbnRhdGlvbjwvc3Bhbj48bzpwPjwvbzpwPjwvc3Bhbj48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDgzIGxldmVsMQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm80NDt0YWItc3RvcHM6bGlzdCAuNWluIj48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKIAogCiAKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij5IQUwKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNNQVJUQ0FSRDwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iYXBwbGUtY29udmVydGVkLXNwYWNlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+Jm5ic3A7PC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+dXBkYXRlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNNQVJUQ0FSRDwvc3Bhbj48L2I+PHNwYW4gY2xhc3M9ImFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPiZuYnNwOzwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxMDcgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNDU7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkFkZCBuZXcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkIG5ldwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb25zIGFuZCBjYWxsIGJhY2tzIGZvcgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVHJhbnNmZXIgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkFib3J0PC9zcGFuPjwvc3Bhbj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDEwNyBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzQ1O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5IQUxfPC9zcGFuPjxzcGFuCi1jbGFzcz0iYXBwbGUtY29udmVydGVkLXNwYWNlIj48c3BhbiBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUm9tYW4mcXVvdDs7Y29sb3I6d2luZG93dGV4dCI+Jm5ic3A7PC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+U01BUlRDQVJEXzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+QWJvcnQoPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4pPG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTA3IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNDU7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkhBTF88L3NwYW4+PHNwYW4KLWNsYXNzPSJhcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPjxzcGFuIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSb21hbiZxdW90Oztjb2xvcjp3aW5kb3d0ZXh0Ij4mbmJzcDs8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5TTUFSVENBUkRfPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5BYm9ydFRyYW5zbWl0KDwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+KTxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDEwNyBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzQ1O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5IQUxfPC9zcGFuPjxzcGFuCi1jbGFzcz0iYXBwbGUtY29udmVydGVkLXNwYWNlIj48c3BhbiBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUm9tYW4mcXVvdDs7Y29sb3I6d2luZG93dGV4dCI+Jm5ic3A7PC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+U01BUlRDQVJEXzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+QWJvcnRSZWNlaXZlKDwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+KTxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDEwNyBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzQ1O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5IQUxfPC9zcGFuPjxzcGFuCi1jbGFzcz0iYXBwbGUtY29udmVydGVkLXNwYWNlIj48c3BhbiBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUm9tYW4mcXVvdDs7Y29sb3I6d2luZG93dGV4dCI+Jm5ic3A7PC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+U01BUlRDQVJEX0Fib3J0Xzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SVQoPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4pPG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTA3IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNDU7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkhBTF88L3NwYW4+PHNwYW4KLWNsYXNzPSJhcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPjxzcGFuIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSb21hbiZxdW90Oztjb2xvcjp3aW5kb3d0ZXh0Ij4mbmJzcDs8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5TTUFSVENBUkRfQWJvcnRUcmFuc21pdF88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPklUKDwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+KTxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDEwNyBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzQ1O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5IQUxfPC9zcGFuPjxzcGFuCi1jbGFzcz0iYXBwbGUtY29udmVydGVkLXNwYWNlIj48c3BhbiBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUm9tYW4mcXVvdDs7Y29sb3I6d2luZG93dGV4dCI+Jm5ic3A7PC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+U01BUlRDQVJEX0Fib3J0UmVjZWl2ZV88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPklUKDwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+KTxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDEwNyBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzQ1O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5IQUxfPC9zcGFuPjxzcGFuCi1jbGFzcz0iYXBwbGUtY29udmVydGVkLXNwYWNlIj48c3BhbiBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUm9tYW4mcXVvdDs7Y29sb3I6d2luZG93dGV4dCI+Jm5ic3A7PC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+U01BUlRDQVJEXzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+QWJvcnRDcGx0Q2FsbGJhY2soPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4pPG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTA3IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNDU7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkhBTF88L3NwYW4+PHNwYW4KLWNsYXNzPSJhcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPjxzcGFuIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSb21hbiZxdW90Oztjb2xvcjp3aW5kb3d0ZXh0Ij4mbmJzcDs8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5TTUFSVENBUkRfPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5BYm9ydFRyYW5zbWl0Q3BsdENhbGxiYWNrKDwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+KTxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDEwNyBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzQ1O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5IQUxfPC9zcGFuPjxzcGFuCi1jbGFzcz0iYXBwbGUtY29udmVydGVkLXNwYWNlIj48c3BhbiBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUm9tYW4mcXVvdDs7Y29sb3I6d2luZG93dGV4dCI+Jm5ic3A7PC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+U01BUlRDQVJEXzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+QWJvcnRSZWNlaXZlQ3BsdENhbGxiYWNrKDwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+KTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVHJhbnNmZXIgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFib3J0PC9zcGFuPjwvc3Bhbj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfPC9zcGFuPjxzcGFuIGNsYXNzPSJhcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPjxzcGFuIHN0eWxlPSIiPiZuYnNwOzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlNNQVJUQ0FSRF88L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFib3J0KDwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPik8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMXzwvc3Bhbj48c3BhbiBjbGFzcz0iYXBwbGUtY29udmVydGVkLXNwYWNlIj48c3BhbiBzdHlsZT0iIj4mbmJzcDs8L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5TTUFSVENBUkRfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BYm9ydFRyYW5zbWl0KDwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPik8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMXzwvc3Bhbj48c3BhbiBjbGFzcz0iYXBwbGUtY29udmVydGVkLXNwYWNlIj48c3BhbiBzdHlsZT0iIj4mbmJzcDs8L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5TTUFSVENBUkRfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BYm9ydFJlY2VpdmUoPC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+KTxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfPC9zcGFuPjxzcGFuIGNsYXNzPSJhcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPjxzcGFuIHN0eWxlPSIiPiZuYnNwOzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlNNQVJUQ0FSRF9BYm9ydF88L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPklUKDwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPik8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMXzwvc3Bhbj48c3BhbiBjbGFzcz0iYXBwbGUtY29udmVydGVkLXNwYWNlIj48c3BhbiBzdHlsZT0iIj4mbmJzcDs8L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5TTUFSVENBUkRfQWJvcnRUcmFuc21pdF88L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPklUKDwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPik8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMXzwvc3Bhbj48c3BhbiBjbGFzcz0iYXBwbGUtY29udmVydGVkLXNwYWNlIj48c3BhbiBzdHlsZT0iIj4mbmJzcDs8L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5TTUFSVENBUkRfQWJvcnRSZWNlaXZlXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SVQoPC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+KTxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfPC9zcGFuPjxzcGFuIGNsYXNzPSJhcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPjxzcGFuIHN0eWxlPSIiPiZuYnNwOzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlNNQVJUQ0FSRF88L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFib3J0Q3BsdENhbGxiYWNrKDwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPik8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMXzwvc3Bhbj48c3BhbiBjbGFzcz0iYXBwbGUtY29udmVydGVkLXNwYWNlIj48c3BhbiBzdHlsZT0iIj4mbmJzcDs8L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5TTUFSVENBUkRfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BYm9ydFRyYW5zbWl0Q3BsdENhbGxiYWNrKDwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPik8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMXzwvc3Bhbj48c3BhbiBjbGFzcz0iYXBwbGUtY29udmVydGVkLXNwYWNlIj48c3BhbiBzdHlsZT0iIj4mbmJzcDs8L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5TTUFSVENBUkRfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BYm9ydFJlY2VpdmVDcGx0Q2FsbGJhY2soPC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+KTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTA3IGxldmVsMQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm80NTt0YWItc3RvcHM6bGlzdCAuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJ3aWRvd3M6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTtmbG9hdDpub25lO3dvcmQtc3BhY2luZzowcHgiPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0id2lkb3dzOiAxOyBmbG9hdDogbm9uZTsgd29yZC1zcGFjaW5nOiAwcHg7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMCiAKIAogCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij5IQUwKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVElNPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPiZuYnNwOzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij51cGRhdGU8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDEwNyBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm80NTt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJ3aWRvd3M6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxO2Zsb2F0Om5vbmU7d29yZC1zcGFjaW5nOjBweCI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+VXBkYXRlIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkhBTF9USU1FeF88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+UmVtYXBDb25maWcoPC9zcGFuPjwvc3Bhbj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRJTTwvc3Bhbj48L2I+PHNwYW4gY2xhc3M9ImFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPiZuYnNwOzwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZTwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJ3aWRvd3M6IDE7IGZsb2F0OiBub25lOyB3b3JkLXNwYWNpbmc6IDBweDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfVElNRXhfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+UmVtYXBDb25maWcoPC9zcGFuPjwvc3Bhbj4pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIHRvIG1hbmFnZSBUSU0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50ZXJuYWwgdHJpZ2dlciByZW1hcDoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTFBUSU0gb3IgVElNM19UUkdPPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExQVElNIG9yIFRJTTNfVFJHTzwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDEwNyBsZXZlbDEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNDU7dGFiLXN0b3BzOmxpc3QgLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0id2lkb3dzOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE7ZmxvYXQ6bm9uZTt3b3JkLXNwYWNpbmc6MHB4Ij48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9IndpZG93czogMTsgZmxvYXQ6IG5vbmU7IHdvcmQtc3BhY2luZzogMHB4OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAogCiAKIAotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+SEFMCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVBUlQ8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJhcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPjxzcGFuCi1zdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj4mbmJzcDs8L3NwYW4+PC9zcGFuPjwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij51cGRhdGU8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDEwNyBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm80NTt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJ3aWRvd3M6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxO2Zsb2F0Om5vbmU7d29yZC1zcGFjaW5nOjBweCI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+QWRkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVBUlQ8c3BhbiBjbGFzcz0iYXBwbGUtY29udmVydGVkLXNwYWNlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPiZuYnNwOzwvc3Bhbj48L3NwYW4+PC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlPC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9IndpZG93czogMTsgZmxvYXQ6IG5vbmU7IHdvcmQtc3BhY2luZzogMHB4OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUcmFuc2ZlciBhYm9ydCBmdW5jdGlvbnMgYW5kCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPmNhbGxiYWNrczwvc3Bhbj48L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5jYWxsYmFja3M8L3NwYW4+PC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDEwNyBsZXZlbDEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNDU7dGFiLXN0b3BzOmxpc3QgLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0id2lkb3dzOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE7ZmxvYXQ6bm9uZTt3b3JkLXNwYWNpbmc6MHB4Ij48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9IndpZG93czogMTsgZmxvYXQ6IG5vbmU7IHdvcmQtc3BhY2luZzogMHB4OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAogCiAKIAotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+SEFMCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVTQVJUPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iYXBwbGUtY29udmVydGVkLXNwYWNlIj48c3Bhbgotc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+Jm5ic3A7PC9zcGFuPjwvc3Bhbj48L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+dXBkYXRlPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxMDcgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNDU7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0id2lkb3dzOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTtmbG9hdDpub25lO3dvcmQtc3BhY2luZzowcHgiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkFkZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVU0FSVDxzcGFuIGNsYXNzPSJhcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Jm5ic3A7PC9zcGFuPjwvc3Bhbj48L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0id2lkb3dzOiAxOyBmbG9hdDogbm9uZTsgd29yZC1zcGFjaW5nOiAwcHg7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRyYW5zZmVyIGFib3J0IGZ1bmN0aW9ucyBhbmQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+Y2FsbGJhY2tzPC9zcGFuPjwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPmNhbGxiYWNrczwvc3Bhbj48L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1hcmdpbi1yaWdodDo1MDAuMHB0O2JhY2tncm91bmQ6IzMzNjZGRjstbW96LWJhY2tncm91bmQtY2xpcDoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluaXRpYWw7IC1tb3otYmFja2dyb3VuZC1vcmlnaW46Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbml0aWFsOy1tb3otYmFja2dyb3VuZC1pbmxpbmUtcG9saWN5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5pdGlhbDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb24teDowJTtiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA1MCU7YmFja2dyb3VuZC1hdHRhY2htZW50OiBzY3JvbGwiPjxmb250Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yPSIjZmZmZmZmIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0FyaWFsJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDMgc3R5bGU9ImJhY2tncm91bmQ6IHJnYig1MSwgMTAyLCAyNTUpIG5vbmUgcmVwZWF0IHNjcm9sbCAwJSA1MCU7IC1tb3otYmFja2dyb3VuZC1jbGlwOiAtbW96LWluaXRpYWw7IC1tb3otYmFja2dyb3VuZC1vcmlnaW46IC1tb3otaW5pdGlhbDsgLW1vei1iYWNrZ3JvdW5kLWlubGluZS1wb2xpY3k6IC1tb3otaW5pdGlhbDsgbWFyZ2luLXJpZ2h0OiA1MDBwdDsiPjxmb250IGNvbG9yPSIjZmZmZmZmIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7QXJpYWwmcXVvdDssc2Fucy1zZXJpZjsiPlYxLjUuMgogCiAKIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90Oztjb2xvcjp3aGl0ZSI+VjEuNS4yCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyAyMi1TZXB0ZW1iZXItMjAxNjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2ZvbnQ+PC9oMz4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOiA0LjVwdCAwaW4gNC41cHQgMC4yNWluOyI+PGI+PHU+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsgY29sb3I6IGJsYWNrOyI+TWFpbiBDaGFuZ2VzPC9zcGFuPjwvdT48L2I+PG86cD48L286cD48L3A+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IHRleHQtYWxpZ246IHN0YXJ0OyB3b3JkLXNwYWNpbmc6IDBweDsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9IndpZG93czogMTsgZmxvYXQ6IG5vbmU7IHdvcmQtc3BhY2luZzogMHB4OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAogCiAKIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8gMjItU2VwdGVtYmVyLTIwMTY8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvZm9udD48L2gzPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tcmlnaHQ6MGluO21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttYXJnaW4tbGVmdDouMjVpbiI+PGI+PHU+PHNwYW4KLXN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OgotJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOmJsYWNrIj5NYWluIENoYW5nZXM8L3NwYW4+PC91PjwvYj48bzpwPjwvbzpwPjwvcD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtYXJnaW4tdG9wOjBpbjt0ZXh0LWFsaWduOnN0YXJ0O3dvcmQtc3BhY2luZzowcHgiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw0NSBsZXZlbDEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNDY7dGFiLXN0b3BzOmxpc3QgLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0id2lkb3dzOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE7ZmxvYXQ6bm9uZTt3b3JkLXNwYWNpbmc6MHB4Ij48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij5IQUwKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSTJDPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+IHVwZGF0ZTwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw0NSBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm80Njt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+Rml4IHdyb25nCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEkyQzwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPiB1cGRhdGU8L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Rml4IHdyb25nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZWhhdmlvciBpbiBjb25zZWN1dGl2ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmZXJzIGluIGNhc2Ugb2Ygc2luZ2xlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBieXRlIHRyYW5zbWlzc2lvbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKE1hc3Rlci9NZW1vcnkgUmVjZWl2ZSA8YnI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnRlcmZhY2VzKTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDQ1IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzQ2O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5VcGRhdGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9JMkNfTWFzdGVyX1RyYW5zbWl0XzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5ETUEoPC9zcGFuPjwvc3Bhbj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnRlcmZhY2VzKTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX0kyQ19NYXN0ZXJfVHJhbnNtaXRfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkRNQSg8L3NwYW4+PC9zcGFuPikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9JMkNfTWFzdGVyX1JlY2VpdmVfRE1BKCkvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUxfSTJDX1NsYXZlX1RyYW5zbWl0X0RNQSgpIDxicj4KQEAgLTIzNDUzLDg4NiArNDg0MiwxOTkgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9JMkNfU2xhdmVfUmVjZWl2ZV9ETUEoKSB0bwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFuYWdlIGFkZHJlc3NpbmcgcGhhc2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRocm91Z2ggaW50ZXJydXB0aW9uIGluc3RlYWQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9mIHBvbGxpbmc8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNDUgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNDY7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkFkZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2YgcG9sbGluZzwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYSZuYnNwO2NoZWNrIG9uIEkyQyBoYW5kbGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRlIGF0IHN0YXJ0IG9mIGFsbCBJMkMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFQSSdzIHRvIGVuc3VyZSB0aGF0IEkyQyBpcyA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+cmVhZHk8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0bzttc28tbGlzdDpsNDUKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXZlbDIgbGZvNDY7dGFiLXN0b3BzOiBsaXN0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5VcGRhdGUgSTJDCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBUEkncyB0byBlbnN1cmUgdGhhdCBJMkMgaXMgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnJlYWR5PC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXBkYXRlIEkyQwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVBJJ3MgKFBvbGxpbmcsIElUIGFuZCBETUEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludGVyZmFjZXMpIHRvIG1hbmFnZSBJMkMgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5YZmVyU2l6ZTwvc3Bhbj48L3NwYW4+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQmbmJzcDs8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3Bhbgotc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+WGZlckNvdW50PC9zcGFuPjwvc3Bhbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludGVyZmFjZXMpIHRvIG1hbmFnZSBJMkMgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5YZmVyU2l6ZTwvc3Bhbj48L3NwYW4+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQmbmJzcDs8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlhmZXJDb3VudDwvc3Bhbj48L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGUgcGFyYW1ldGVycyBpbnN0ZWFkIG9mCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBUEkgc2l6ZSBwYXJhbWV0ZXIgdG8gaGVscAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlciB0byBnZXQgaW5mb3JtYXRpb24gb2YKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvdW50ZXIgaW4gY2FzZSBvZgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3IuJm5ic3A7PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21zby1tYXJnaW4tdG9wLWFsdDphdXRvOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvO21zby1saXN0Omw0NQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsMiBsZm80Njt0YWItc3RvcHM6IGxpc3QKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlVwZGF0ZSBBYm9ydAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3IuJm5ic3A7PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZSBBYm9ydAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb25hbGl0eSB0byBtYW5hZ2UgRE1BCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2UgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3Bhbgotc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+Y2FzZTwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZSA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Y2FzZTwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw0NSBsZXZlbDEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNDY7dGFiLXN0b3BzOmxpc3QgLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0id2lkb3dzOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE7ZmxvYXQ6bm9uZTt3b3JkLXNwYWNpbmc6MHB4Ij48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9IndpZG93czogMTsgZmxvYXQ6IG5vbmU7IHdvcmQtc3BhY2luZzogMHB4OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAogCiAKIAotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+SEFMCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZNUEkyQzwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPiB1cGRhdGU8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNDUgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNDY7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0id2lkb3dzOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTtmbG9hdDpub25lO3dvcmQtc3BhY2luZzowcHgiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlVwZGF0ZSB0bwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlIE93biBBZGRyZXNzPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0id2lkb3dzOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE7ZmxvYXQ6bm9uZTt3b3JkLXNwYWNpbmc6MHB4Ij48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJlZm9yZSZuYnNwO3NldHRpbmcgdGhlIDwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJ3aWRvd3M6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTtmbG9hdDpub25lOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdvcmQtc3BhY2luZzowcHgiPm5ldyBPd24KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBZGRyZXNzPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IndpZG93czogMTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbG9hdDpub25lO3dvcmQtc3BhY2luZzowcHgiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGTVBJMkM8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4gdXBkYXRlPC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9IndpZG93czogMTsgZmxvYXQ6IG5vbmU7IHdvcmQtc3BhY2luZzogMHB4OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZSB0bworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlIE93biBBZGRyZXNzPHNwYW4gc3R5bGU9IndpZG93czogMTsgZmxvYXQ6IG5vbmU7IHdvcmQtc3BhY2luZzogMHB4OyI+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJlZm9yZSZuYnNwO3NldHRpbmcgdGhlIDwvc3Bhbj48c3BhbiBzdHlsZT0id2lkb3dzOiAxOyBmbG9hdDogbm9uZTsgd29yZC1zcGFjaW5nOiAwcHg7Ij5uZXcgT3duCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQWRkcmVzczwvc3Bhbj48c3BhbiBzdHlsZT0id2lkb3dzOiAxOyBmbG9hdDogbm9uZTsgd29yZC1zcGFjaW5nOiAwcHg7Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25maWd1cmF0aW9uOjwvc3Bhbj48bzpwPjwvbzpwPjwvc3Bhbj48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw0NSBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzQ2O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0id2lkb3dzOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxO2Zsb2F0Om5vbmU7d29yZC1zcGFjaW5nOjBweCI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+VXBkYXRlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX0ZNUEkyQ188c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5Jbml0KDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJ3aWRvd3M6IDE7IGZsb2F0OiBub25lOyB3b3JkLXNwYWNpbmc6IDBweDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUxfRk1QSTJDXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5Jbml0KDwvc3Bhbj48L3NwYW4+KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvIGRpc2FibGUgRk1QSTJDX09BUnhfRU4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiaXQgYmVmb3JlIGFueQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYXRpb24gaW4gPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPk9BUng8L3NwYW4+PC9zcGFuPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZ2lzdGVyczwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25maWd1cmF0aW9uIGluIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+T0FSeDwvc3Bhbj48L3NwYW4+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVnaXN0ZXJzPC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNDUgbGV2ZWwxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzQ2O3RhYi1zdG9wczpsaXN0IC41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IndpZG93czoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxO2Zsb2F0Om5vbmU7d29yZC1zcGFjaW5nOjBweCI+PGI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJ3aWRvd3M6IDE7IGZsb2F0OiBub25lOyB3b3JkLXNwYWNpbmc6IDBweDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKIAogCiAKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPkhBTAotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDQU4gPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+dXBkYXRlPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDQ1IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzQ2O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IndpZG93czoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE7ZmxvYXQ6bm9uZTt3b3JkLXNwYWNpbmc6MHB4Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5VcGRhdGUgQ0FOCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENBTiA8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0id2lkb3dzOiAxOyBmbG9hdDogbm9uZTsgd29yZC1zcGFjaW5nOiAwcHg7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXBkYXRlIENBTgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWNlaXZlIHByb2Nlc3NlcyB0byBzZXQgQ0FOCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPlJ4TXNnPC9zcGFuPjwvc3Bhbj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkZJRk9OdW1iZXI8L3NwYW4+PC9zcGFuPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJhbWV0ZXI8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5SeE1zZzwvc3Bhbj48L3NwYW4+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RklGT051bWJlcjwvc3Bhbj48L3NwYW4+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtZXRlcjwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDQ1IGxldmVsMQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm80Njt0YWItc3RvcHM6bGlzdCAuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJ3aWRvd3M6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTtmbG9hdDpub25lO3dvcmQtc3BhY2luZzowcHgiPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0id2lkb3dzOiAxOyBmbG9hdDogbm9uZTsgd29yZC1zcGFjaW5nOiAwcHg7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMCiAKIAogCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij5IQUwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVUFSVCA8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0id2lkb3dzOiAxOyBmbG9hdDogbm9uZTsgd29yZC1zcGFjaW5nOiAwcHg7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXBkYXRlJm5ic3A7VUFSVAogCiAKIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVQVJUIDwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPnVwZGF0ZTwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw0NSBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm80Njt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJ3aWRvd3M6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxO2Zsb2F0Om5vbmU7d29yZC1zcGFjaW5nOjBweCI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+VXBkYXRlJm5ic3A7VUFSVAotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGUgPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IndpZG93czoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxO2Zsb2F0Om5vbmU7d29yZC1zcGFjaW5nOjBweCI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5UeFhmZXJDb3VudDwvc3Bhbj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgUnhYZmVyQ291bnQgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJ3aWRvd3M6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxO2Zsb2F0Om5vbmU7d29yZC1zcGFjaW5nOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHB4Ij48L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5wYXJhbWV0ZXJzCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZSA8L3NwYW4+PHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9IndpZG93czogMTsgZmxvYXQ6IG5vbmU7IHdvcmQtc3BhY2luZzogMHB4OyI+PHNwYW4gc3R5bGU9IiI+VHhYZmVyQ291bnQ8L3NwYW4+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIFJ4WGZlckNvdW50IDxzcGFuIHN0eWxlPSJ3aWRvd3M6IDE7IGZsb2F0OiBub25lOyB3b3JkLXNwYWNpbmc6IDBweDsiPjwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9IiI+cGFyYW1ldGVycwogCiAKIAogCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXMgdm9sYXRpbGUgdG8gYXZvaWQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBldmVudHVhbCZuYnNwO2lzc3VlIHdpdGggPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+SGlnaCBTcGVlZDwvc3Bhbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBldmVudHVhbCZuYnNwO2lzc3VlIHdpdGggPHNwYW4gY2xhc3M9ImdyYW1lIj5IaWdoIFNwZWVkPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGltaXphdGlvbiAmbmJzcDs8L3NwYW4+PG86cD48L286cD48L3NwYW4+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibWFyZ2luLXJpZ2h0OjUwMC4wcHQ7YmFja2dyb3VuZDojMzM2NkZGOy1tb3otYmFja2dyb3VuZC1jbGlwOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5pdGlhbDsgLW1vei1iYWNrZ3JvdW5kLW9yaWdpbjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluaXRpYWw7LW1vei1iYWNrZ3JvdW5kLWlubGluZS1wb2xpY3k6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbml0aWFsOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbi14OjAlO2JhY2tncm91bmQtcG9zaXRpb24teToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDUwJTtiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IHNjcm9sbCI+PGZvbnQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I9IiNmZmZmZmYiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7QXJpYWwmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBzdHlsZT0iYmFja2dyb3VuZDogcmdiKDUxLCAxMDIsIDI1NSkgbm9uZSByZXBlYXQgc2Nyb2xsIDAlIDUwJTsgLW1vei1iYWNrZ3JvdW5kLWNsaXA6IC1tb3otaW5pdGlhbDsgLW1vei1iYWNrZ3JvdW5kLW9yaWdpbjogLW1vei1pbml0aWFsOyAtbW96LWJhY2tncm91bmQtaW5saW5lLXBvbGljeTogLW1vei1pbml0aWFsOyBtYXJnaW4tcmlnaHQ6IDUwMHB0OyI+PGZvbnQgY29sb3I9IiNmZmZmZmYiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtBcmlhbCZxdW90OyxzYW5zLXNlcmlmOyI+VjEuNS4xCiAKIAogCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7O2NvbG9yOndoaXRlIj5WMS41LjEKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvIDAxLUp1bHktMjAxNjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2ZvbnQ+PC9oMz4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOiA0LjVwdCAwaW4gNC41cHQgMC4yNWluOyI+PGI+PHU+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsgY29sb3I6IGJsYWNrOyI+TWFpbiBDaGFuZ2VzPC9zcGFuPjwvdT48L2I+PG86cD48L286cD48L3A+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IHRleHQtYWxpZ246IHN0YXJ0OyB3b3JkLXNwYWNpbmc6IDBweDsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9IndpZG93czogMTsgZmxvYXQ6IG5vbmU7IHdvcmQtc3BhY2luZzogMHB4OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAogCiAKIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8gMDEtSnVseS0yMDE2PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2ZvbnQ+PC9oMz4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1hcmdpbi10b3A6NC41cHQ7bWFyZ2luLXJpZ2h0OjBpbjttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bWFyZ2luLWxlZnQ6LjI1aW4iPjxiPjx1PjxzcGFuCi1zdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseToKLSZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjpibGFjayI+TWFpbiBDaGFuZ2VzPC9zcGFuPjwvdT48L2I+PG86cD48L286cD48L3A+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibWFyZ2luLXRvcDowaW47dGV4dC1hbGlnbjpzdGFydDt3b3JkLXNwYWNpbmc6MHB4IgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsODggbGV2ZWwxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzQ3O3RhYi1zdG9wczpsaXN0IC41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IndpZG93czoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxO2Zsb2F0Om5vbmU7d29yZC1zcGFjaW5nOjBweCI+PGI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+SEFMCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdQSU88L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4gdXBkYXRlPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDg4IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzQ3O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IndpZG93czoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE7ZmxvYXQ6bm9uZTt3b3JkLXNwYWNpbmc6MHB4Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SEFMX0dQSU9fSW5pdDwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+KCkvPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX0dQSU9fPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkRlSW5pdCg8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR1BJTzwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPiB1cGRhdGU8L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0id2lkb3dzOiAxOyBmbG9hdDogbm9uZTsgd29yZC1zcGFjaW5nOiAwcHg7Ij48c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX0dQSU9fSW5pdDwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPigpLzxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX0dQSU9fPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RGVJbml0KDwvc3Bhbj48L3NwYW4+KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBUEknczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlJm5ic3A7R1BJT19HRVRfSU5ERVgoKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWNybyBpbXBsZW1lbnRhdGlvbiB0bwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdXBwb3J0IGFsbCBHUElPJ3M8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3VwcG9ydCBhbGwgR1BJTydzPC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsODggbGV2ZWwxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzQ3O3RhYi1zdG9wczpsaXN0IC41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IndpZG93czoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxO2Zsb2F0Om5vbmU7d29yZC1zcGFjaW5nOjBweCI+PGI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJ3aWRvd3M6IDE7IGZsb2F0OiBub25lOyB3b3JkLXNwYWNpbmc6IDBweDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKIAogCiAKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPkhBTAotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTUEk8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4gdXBkYXRlPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDg4IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzQ3O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IndpZG93czoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE7ZmxvYXQ6bm9uZTt3b3JkLXNwYWNpbmc6MHB4Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5GaXgKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU1BJPC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+IHVwZGF0ZTwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJ3aWRvd3M6IDE7IGZsb2F0OiBub25lOyB3b3JkLXNwYWNpbmc6IDBweDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5GaXgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVncmVzc2lvbiBpc3N1ZToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0b3JlJm5ic3A7PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX1NQSV88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+RE1BUGF1c2UoPC9zcGFuPjwvc3Bhbj4pCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3Bhbgotc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX1NQSV9ETUFSZXN1bWU8L3NwYW4+PC9zcGFuPigpJm5ic3A7PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0id2lkb3dzOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE7ZmxvYXQ6bm9uZTt3b3JkLXNwYWNpbmc6MHB4Ij48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkFQSSdzPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IndpZG93czoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxO2Zsb2F0Om5vbmU7d29yZC1zcGFjaW5nOjBweCI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldG9yZSZuYnNwOzxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX1NQSV88L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5ETUFQYXVzZSg8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX1NQSV9ETUFSZXN1bWU8L3NwYW4+PC9zcGFuPigpJm5ic3A7PHNwYW4gc3R5bGU9IndpZG93czogMTsgZmxvYXQ6IG5vbmU7IHdvcmQtc3BhY2luZzogMHB4OyI+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPkFQSSdzPC9zcGFuPjxzcGFuIHN0eWxlPSJ3aWRvd3M6IDE7IGZsb2F0OiBub25lOyB3b3JkLXNwYWNpbmc6IDBweDsiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvOnA+PC9vOnA+PC9zcGFuPjwvc3Bhbj48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDg4IGxldmVsMQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm80Nzt0YWItc3RvcHM6bGlzdCAuNWluIj48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKIAogCiAKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij5IQUwKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJDQzwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPiB1cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw4OCBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm80Nzt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJ3aWRvd3M6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxO2Zsb2F0Om5vbmU7d29yZC1zcGFjaW5nOjBweCI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+Rml4IEZTTUMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJDQzwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPiB1cGRhdGU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJ3aWRvd3M6IDE7IGZsb2F0OiBub25lOyB3b3JkLXNwYWNpbmc6IDBweDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5GaXggRlNNQwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWNyb3MgY29tcGlsYXRpb24gd2FybmluZ3MKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2l0aCBTVE0zMkY0MTJSeCA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPmRldmljZXM8L3NwYW4+PC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aXRoIFNUTTMyRjQxMlJ4IDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5kZXZpY2VzPC9zcGFuPjwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw4OCBsZXZlbDEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNDc7dGFiLXN0b3BzOmxpc3QgLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0id2lkb3dzOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE7ZmxvYXQ6bm9uZTt3b3JkLXNwYWNpbmc6MHB4Ij48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9IndpZG93czogMTsgZmxvYXQ6IG5vbmU7IHdvcmQtc3BhY2luZzogMHB4OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAogCiAKIAotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+SEFMCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERNQSA8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij51cGRhdGU8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsODggbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNDc7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0id2lkb3dzOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTtmbG9hdDpub25lO3dvcmQtc3BhY2luZzowcHgiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5IQUxfRE1BXzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+UG9sbEZvcnRyYW5zZmVyKDwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+KSBBUEkgY2xlYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXAgPGJyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1zcGVjaWFsLWNoYXJhY3RlcjpsaW5lLWJyZWFrIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLVtpZiAhc3VwcG9ydExpbmVCcmVha05ld0xpbmVdLS0+PGJyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1zcGVjaWFsLWNoYXJhY3RlcjoKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtYnJlYWsiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tW2VuZGlmXS0tPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRE1BIDwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZTwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJ3aWRvd3M6IDE7IGZsb2F0OiBub25lOyB3b3JkLXNwYWNpbmc6IDBweDsiPjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfRE1BXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+UG9sbEZvcnRyYW5zZmVyKDwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPikgQVBJIGNsZWFuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVwIDxiciBzdHlsZT0iIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLVtpZiAhc3VwcG9ydExpbmVCcmVha05ld0xpbmVdLS0+PGJyIHN0eWxlPSIiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tW2VuZGlmXS0tPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDg4IGxldmVsMQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm80Nzt0YWItc3RvcHM6bGlzdCAuNWluIj48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKIAogCiAKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij5IQUwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBQUCA8L3NwYW4+PC9iPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZSg8L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5QUFAgcmVmZXJzIHRvCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSVJEQSwgVUFSVCwgVVNBUlQgYW5kIFNNQVJUQ0FSRCk8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogcmdiKDMxLCA3MywgMTI1KTsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9IndpZG93czogMTsgZmxvYXQ6IG5vbmU7IHdvcmQtc3BhY2luZzogMHB4OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZQogCiAKIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUFBQIDwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+dXBkYXRlKDwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlBQUCByZWZlcnMgdG8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJUkRBLCBVQVJULCBVU0FSVCBhbmQgU01BUlRDQVJEKTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjojMUY0OTdEO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsODggbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNDc7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0id2lkb3dzOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTtmbG9hdDpub25lO3dvcmQtc3BhY2luZzowcHgiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDs7Y29sb3I6YmxhY2siPlVwZGF0ZQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX1BQUF88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SVJRSGFuZGxlcig8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfUFBQXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPklSUUhhbmRsZXIoPC9zcGFuPjwvc3Bhbj4pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvIGFkZCBhIGNoZWNrIG9uIGludGVycnVwdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzb3VyY2UgYmVmb3JlIG1hbmFnaW5nIHRoZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJvcjwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6Ny4wcHQ7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZS1hZGp1c3Q6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vbmU7Zm9udC1zdHJldGNoOiBub3JtYWwiPiZuYnNwOzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJvcjwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogN3B0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZS1hZGp1c3Q6IG5vbmU7IGZvbnQtc3RyZXRjaDogbm9ybWFsOyI+Jm5ic3A7PC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1hcmdpbi10b3A6MGluO3RleHQtYWxpZ246c3RhcnQ7d29yZC1zcGFjaW5nOjBweCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDQwIGxldmVsMQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm80ODt0YWItc3RvcHM6bGlzdCAuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJ3aWRvd3M6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTtmbG9hdDpub25lO3dvcmQtc3BhY2luZzowcHgiPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsgdGV4dC1hbGlnbjogc3RhcnQ7IHdvcmQtc3BhY2luZzogMHB4OyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0id2lkb3dzOiAxOyBmbG9hdDogbm9uZTsgd29yZC1zcGFjaW5nOiAwcHg7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMCiAKIAogCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij5IQUwKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUVNQSSA8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij51cGRhdGU8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNDAgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNDg7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0id2lkb3dzOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTtmbG9hdDpub25lO3dvcmQtc3BhY2luZzowcHgiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkltcGxlbWVudAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBRU1BJIDwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZTwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJ3aWRvd3M6IDE7IGZsb2F0OiBub25lOyB3b3JkLXNwYWNpbmc6IDBweDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5JbXBsZW1lbnQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd29ya2Fyb3VuZCB0byBmaXggdGhlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbWl0YXRpb24mbmJzcDs8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW1pdGF0aW9uJm5ic3A7PC9zcGFuPjxzcGFuIHN0eWxlPSIiPnByb25vdW5jZWQKIAogCiAKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPnByb25vdW5jZWQKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gc3R5bGU9IndpZG93czoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxO2Zsb2F0Om5vbmU7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd29yZC1zcGFjaW5nOjBweCI+aW4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gc3R5bGU9IndpZG93czogMTsgZmxvYXQ6IG5vbmU7IHdvcmQtc3BhY2luZzogMHB4OyI+aW4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUmbmJzcDtFcnJhdGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaGVldCZuYnNwOzIuMS44IHNlY3Rpb246CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSW4gc29tZSBzcGVjaWZpYyBjYXNlcywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBETUEyIGRhdGEgY29ycnVwdGlvbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9jY3VycyB3aGVuIG1hbmFnaW5nIEFIQgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCBBUEIyIHBlcmlwaGVyYWxzIGluIGEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25jdXJyZW50IDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPndheTwvc3Bhbj48L3NwYW4+PC9zcGFuPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uY3VycmVudCA8c3BhbiBjbGFzcz0iZ3JhbWUiPndheTwvc3Bhbj48L3NwYW4+PC9zcGFuPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibWFyZ2luLXJpZ2h0OjUwMC4wcHQ7YmFja2dyb3VuZDojMzM2NkZGOy1tb3otYmFja2dyb3VuZC1jbGlwOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5pdGlhbDsgLW1vei1iYWNrZ3JvdW5kLW9yaWdpbjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluaXRpYWw7LW1vei1iYWNrZ3JvdW5kLWlubGluZS1wb2xpY3k6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbml0aWFsOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbi14OjAlO2JhY2tncm91bmQtcG9zaXRpb24teToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDUwJTtiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IHNjcm9sbCI+PGZvbnQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I9IiNmZmZmZmYiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7QXJpYWwmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBzdHlsZT0iYmFja2dyb3VuZDogcmdiKDUxLCAxMDIsIDI1NSkgbm9uZSByZXBlYXQgc2Nyb2xsIDAlIDUwJTsgLW1vei1iYWNrZ3JvdW5kLWNsaXA6IC1tb3otaW5pdGlhbDsgLW1vei1iYWNrZ3JvdW5kLW9yaWdpbjogLW1vei1pbml0aWFsOyAtbW96LWJhY2tncm91bmQtaW5saW5lLXBvbGljeTogLW1vei1pbml0aWFsOyBtYXJnaW4tcmlnaHQ6IDUwMHB0OyI+PGZvbnQgY29sb3I9IiNmZmZmZmYiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtBcmlhbCZxdW90OyxzYW5zLXNlcmlmOyI+VjEuNS4wCiAKIAogCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7O2NvbG9yOndoaXRlIj5WMS41LjAKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvIDA2LU1heS0yMDE2PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2ZvbnQ+PC9oMz4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1hcmdpbi10b3A6NC41cHQ7bWFyZ2luLXJpZ2h0OjBpbjttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bWFyZ2luLWxlZnQ6LjI1aW4iPjxiPjx1PjxzcGFuCi1zdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseToKLSZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjpibGFjayI+TWFpbiBDaGFuZ2VzPC9zcGFuPjwvdT48L2I+PG86cD48L286cD48L3A+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibWFyZ2luLXRvcDowaW47dGV4dC1hbGlnbjpzdGFydDt3b3JkLXNwYWNpbmc6MHB4IgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsOTQgbGV2ZWwxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzQ5O3RhYi1zdG9wczpsaXN0IC41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9IndpZG93czoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxO2Zsb2F0Om5vbmU7d29yZC1zcGFjaW5nOjBweCI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij5BZGQ8c3BhbgotY2xhc3M9ImFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj4mbmJzcDs8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPnN1cHBvcnQgb2Y8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJhcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4mbmJzcDs8L3NwYW4+PC9zcGFuPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlNUTTMyRjQxMmN4LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8gMDYtTWF5LTIwMTY8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9mb250PjwvaDM+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjogNC41cHQgMGluIDQuNXB0IDAuMjVpbjsiPjxiPjx1PjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7IGNvbG9yOiBibGFjazsiPk1haW4gQ2hhbmdlczwvc3Bhbj48L3U+PC9iPjxvOnA+PC9vOnA+PC9wPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyB0ZXh0LWFsaWduOiBzdGFydDsgd29yZC1zcGFjaW5nOiAwcHg7IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJ3aWRvd3M6IDE7IGZsb2F0OiBub25lOyB3b3JkLXNwYWNpbmc6IDBweDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQ8c3BhbiBjbGFzcz0iYXBwbGUtY29udmVydGVkLXNwYWNlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPiZuYnNwOzwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPnN1cHBvcnQgb2Y8L3NwYW4+PHNwYW4gY2xhc3M9ImFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4mbmJzcDs8L3NwYW4+PC9zcGFuPjxiPjxzcGFuIHN0eWxlPSIiPlNUTTMyRjQxMmN4LAogCiAKIAogCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNUTTMyRjQxMnJ4LCBTVE0zMkY0MTJ2eCBhbmQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU1RNMzJGNDEyengmbmJzcDs8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+ZGV2aWNlczwvc3Bhbj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw5NCBsZXZlbDEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNDk7dGFiLXN0b3BzOmxpc3QgLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPkdlbmVyYWwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU1RNMzJGNDEyengmbmJzcDs8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSIiPmRldmljZXM8L3NwYW4+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+R2VuZXJhbAogCiAKIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZXMgdG8gZml4IGtub3duIGRlZmVjdHMgYW5kCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5oYW5jZW1lbnRzIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPmltcGxlbWVudGF0aW9uPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDk0IGxldmVsMQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm80OTt0YWItc3RvcHM6bGlzdCAuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+QWRkCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3IEhBTCBkcml2ZXIgZm9yIDxiPkRGU0RNIDwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5wZXJpcGhlcmFsPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDk0IGxldmVsMQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm80OTt0YWItc3RvcHM6bGlzdCAuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+RW5oYW5jZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuaGFuY2VtZW50cyA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+aW1wbGVtZW50YXRpb248L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXcgSEFMIGRyaXZlciBmb3IgPGI+REZTRE0gPC9iPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5wZXJpcGhlcmFsPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RW5oYW5jZQogCiAKIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTCBkZWxheSBhbmQgdGltZSBiYXNlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW1wbGVtZW50YXRpb246PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsOTQgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNDk7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkFkZCBuZXcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbXBsZW1lbnRhdGlvbjo8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQgbmV3CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkcml2ZXJzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdG0zMmY0eHhfaGFsX3RpbWViYXNlX3J0Y19hbGFybV90ZW1wbGF0ZS5jCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQKQEAgLTI0MzQzLDMzMTcgKzUwNDUsNzMwIEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcyB0aW1lIGJhc2UgdGljayBzb3VyY2UuIEZvcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9yZSBkZXRhaWxzIGFib3V0IHRoZSB1c2FnZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2YgdGhlc2UgZHJpdmVycywgcGxlYXNlIHJlZmVyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0byBIQUxcPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4KLXN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkhBTF9UaW1lQmFzZV9SVEM8L3NwYW4+PC9zcGFuPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhhbXBsZXMmbmJzcDs8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0id2lkb3dzOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxO2Zsb2F0Om5vbmU7d29yZC1zcGFjaW5nOjBweCI+YW5kCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0byBIQUxcPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfVGltZUJhc2VfUlRDPC9zcGFuPjwvc3Bhbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4YW1wbGVzJm5ic3A7PHNwYW4gc3R5bGU9IndpZG93czogMTsgZmxvYXQ6IG5vbmU7IHdvcmQtc3BhY2luZzogMHB4OyI+YW5kCiAKIAogCiAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkZyZWVSVE9TPC9zcGFuPjwvc3Bhbj4tYmFzZWQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5GcmVlUlRPUzwvc3Bhbj48L3NwYW4+LWJhc2VkCiAKIAogCiAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+YXBwbGljYXRpb25zPC9zcGFuPjwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPmFwcGxpY2F0aW9uczwvc3Bhbj48L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsOTQgbGV2ZWwxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzQ5O3RhYi1zdG9wczpsaXN0IC41aW4iPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+VGhlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlRoZQogCiAKIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9sbG93aW5nIGNoYW5nZXMgZG9uZSBvbiB0aGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTCBkcml2ZXJzIHJlcXVpcmUgYW4gdXBkYXRlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbiB0aGUgYXBwbGljYXRpb24gY29kZSBiYXNlZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb24gSEFMIFYxLjQuNDwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw5NCBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm80OTt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PGk+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SEFMIFVBUlQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbiBIQUwgVjEuNC40PC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTCBVQVJULAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVU0FSVCwgSVJEQSwgU01BUlRDQVJELCBTUEksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEkyPHNwYW4gY2xhc3M9ImdyYW1lIj48c3Bhbgotc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+QyxGTVBJPC9zcGFuPjwvc3Bhbj4yQywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSTI8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QyxGTVBJPC9zcGFuPjwvc3Bhbj4yQywKIAogCiAKIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBRU1BJPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iYXBwbGUtY29udmVydGVkLXNwYWNlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj4mbmJzcDs8L3NwYW4+PC9zcGFuPjwvc3Bhbj48L2k+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUVNQSTxzcGFuIGNsYXNzPSJhcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Jm5ic3A7PC9zcGFuPjwvc3Bhbj48L3NwYW4+PC9pPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4ocmVmZXJlbmNlZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXM8c3BhbiBjbGFzcz0iYXBwbGUtY29udmVydGVkLXNwYWNlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPiZuYnNwOzwvc3Bhbj48L3NwYW4+PGk+UFBQPC9pPjxzcGFuIGNsYXNzPSJhcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Jm5ic3A7PC9zcGFuPjwvc3Bhbj5oZXJlCiAKIAogCiAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPihyZWZlcmVuY2VkCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhczxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJhcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPjxzcGFuCi1zdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj4mbmJzcDs8L3NwYW4+PC9zcGFuPjxpPlBQUDwvaT48c3BhbgotY2xhc3M9ImFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj4mbmJzcDs8L3NwYW4+PC9zcGFuPmhlcmUKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmVsb3cpPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+PGk+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+Jm5ic3A7PC9zcGFuPjwvaT48L3NwYW4+ZHJpdmVyczwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsOTQgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm80OTt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+QWRkIFBQUAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmVsb3cpPHNwYW4gY2xhc3M9ImFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4mbmJzcDs8L3NwYW4+PC9pPjwvc3Bhbj5kcml2ZXJzPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZCBQUFAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3IgbWFuYWdlbWVudCBkdXJpbmcgRE1BCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2Nlc3MuIFRoaXMgcmVxdWlyZXMgdGhlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbGxvd2luZyB1cGRhdGVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uJm5ic3A7dXNlciBhcHBsaWNhdGlvbjo8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsOTQgbGV2ZWw0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzQ5O3RhYi1zdG9wczpsaXN0IDIuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5Db25maWd1cmUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb24mbmJzcDt1c2VyIGFwcGxpY2F0aW9uOjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Q29uZmlndXJlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIGVuYWJsZSB0aGUgUFBQIElSUSBpbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi1zdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5IQUxfUFBQXzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+TXNwSW5pdCg8L3NwYW4+PC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsOTQgbGV2ZWw0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzQ5O3RhYi1zdG9wczpsaXN0IDIuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9QUFBfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+TXNwSW5pdCg8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5JbjxzcGFuIGNsYXNzPSJhcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Jm5ic3A7PC9zcGFuPjwvc3Bhbj5zdG0zMmY0eHhfaXQuYwogCiAKIAogCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkluPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJhcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPjxzcGFuCi1zdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj4mbmJzcDs8L3NwYW4+PC9zcGFuPnN0bTMyZjR4eF9pdC5jCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZSw8c3BhbiBjbGFzcz0iYXBwbGUtY29udmVydGVkLXNwYWNlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPiZuYnNwOzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5QUFBfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SVJRSGFuZGxlcig8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbjo8c3BhbiBjbGFzcz0iYXBwbGUtY29udmVydGVkLXNwYWNlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPiZuYnNwOzwvc3Bhbj48L3NwYW4+YWRkCiAKIAogCiAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlLDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iYXBwbGUtY29udmVydGVkLXNwYWNlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+Jm5ic3A7PC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+UFBQXzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SVJRSGFuZGxlcig8L3NwYW4+PC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbjo8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+PHNwYW4KLXN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPiZuYnNwOzwvc3Bhbj48L3NwYW4+YWRkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYSBjYWxsIHRvIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX1BQUF9JUlFIYW5kbGVyPC9zcGFuPjwvc3Bhbj4oKQogCiAKIAogCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYSBjYWxsIHRvIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5IQUxfUFBQX0lSUUhhbmRsZXI8L3NwYW4+PC9zcGFuPigpCi0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsOTQgbGV2ZWw0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzQ5O3RhYi1zdG9wczpsaXN0IDIuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5BZGQgYW5kCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb248L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkIGFuZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1c3RvbWl6ZSB0aGUgRXJyb3IKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDYWxsYmFjayBBUEk6IDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX1BQUF88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkVycm9yQ2FsbGJhY2soPC9zcGFuPjwvc3Bhbj4pPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENhbGxiYWNrIEFQSTogPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfUFBQXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkVycm9yQ2FsbGJhY2soPC9zcGFuPjwvc3Bhbj4pPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsOTQgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNDk7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxpPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxpPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwgSTJDPC9zcGFuPjwvaT48c3BhbiBjbGFzcz0iYXBwbGUtY29udmVydGVkLXNwYWNlIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+LCBGTVBJMkMgPC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+KHJlZmVyZW5jZWQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFzPHNwYW4gY2xhc3M9ImFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4mbmJzcDs8L3NwYW4+PC9zcGFuPjxpPlBQUDwvaT48c3BhbiBjbGFzcz0iYXBwbGUtY29udmVydGVkLXNwYWNlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPiZuYnNwOzwvc3Bhbj48L3NwYW4+aGVyZQogCiAKIAogCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SEFMIEkyQzwvc3Bhbj48L2k+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJhcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4sIEZNUEkyQyA8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPihyZWZlcmVuY2VkCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhczxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJhcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPjxzcGFuCi1zdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj4mbmJzcDs8L3NwYW4+PC9zcGFuPjxpPlBQUDwvaT48c3BhbgotY2xhc3M9ImFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj4mbmJzcDs8L3NwYW4+PC9zcGFuPmhlcmUKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmVsb3cpPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+PGk+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+Jm5ic3A7PC9zcGFuPjwvaT48L3NwYW4+ZHJpdmVyczo8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDk0IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNDk7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlVwZGF0ZSB0bwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdm9pZCB3YWl0aW5nIG9uPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iYXBwbGUtY29udmVydGVkLXNwYWNlIj48c3Bhbgotc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+Jm5ic3A7PC9zcGFuPjwvc3Bhbj5TVE9QRi9CVEYvQUYKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJlbG93KTxzcGFuIGNsYXNzPSJhcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPjxpPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Jm5ic3A7PC9zcGFuPjwvaT48L3NwYW4+ZHJpdmVyczo8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXBkYXRlIHRvCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF2b2lkIHdhaXRpbmcgb248c3BhbiBjbGFzcz0iYXBwbGUtY29udmVydGVkLXNwYWNlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPiZuYnNwOzwvc3Bhbj48L3NwYW4+U1RPUEYvQlRGL0FGCiAKIAogCiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxhZyB1bmRlciBETUEgSVNSIGJ5IHVzaW5nCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZTxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+PHNwYW4KLXN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPiZuYnNwOzwvc3Bhbj48L3NwYW4+UFBQCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZTxzcGFuIGNsYXNzPSJhcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Jm5ic3A7PC9zcGFuPjwvc3Bhbj5QUFAKIAogCiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5kIG9mIHRyYW5zZmVyIGludGVycnVwdCBpbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgRE1BIHRyYW5zZmVyIHByb2Nlc3MuPHNwYW4KLWNsYXNzPSJhcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj4mbmJzcDs8L3NwYW4+PC9zcGFuPlRoaXMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIERNQSB0cmFuc2ZlciBwcm9jZXNzLjxzcGFuIGNsYXNzPSJhcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Jm5ic3A7PC9zcGFuPjwvc3Bhbj5UaGlzCiAKIAogCiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZXMgdGhlIGZvbGxvd2luZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGVzIG9uJm5ic3A7dXNlcgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcHBsaWNhdGlvbjo8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsOTQgbGV2ZWw0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzQ5O3RhYi1zdG9wczpsaXN0IDIuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5Db25maWd1cmUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXBwbGljYXRpb246PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5Db25maWd1cmUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgZW5hYmxlIHRoZSBQUFAgSVJRIGluCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4KLXN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkhBTF9QUFBfPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5Nc3BJbml0KDwvc3Bhbj48L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw5NCBsZXZlbDQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNDk7dGFiLXN0b3BzOmxpc3QgMi4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX1BQUF88L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5Nc3BJbml0KDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkluPHNwYW4gY2xhc3M9ImFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4mbmJzcDs8L3NwYW4+PC9zcGFuPnN0bTMyZjR4eF9pdC5jCiAKIAogCiAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SW48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+PHNwYW4KLXN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPiZuYnNwOzwvc3Bhbj48L3NwYW4+c3RtMzJmNHh4X2l0LmMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlLDxzcGFuIGNsYXNzPSJhcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Jm5ic3A7PC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlBQUF88L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5JUlFIYW5kbGVyKDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uOjxzcGFuIGNsYXNzPSJhcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Jm5ic3A7PC9zcGFuPjwvc3Bhbj5hZGQKIAogCiAKIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGUsPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJhcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj4mbmJzcDs8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5QUFBfPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5JUlFIYW5kbGVyKDwvc3Bhbj48L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uOjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iYXBwbGUtY29udmVydGVkLXNwYWNlIj48c3Bhbgotc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+Jm5ic3A7PC9zcGFuPjwvc3Bhbj5hZGQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhIGNhbGwgdG8gPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfUFBQX0lSUUhhbmRsZXI8L3NwYW4+PC9zcGFuPigpCiAKIAogCiAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhIGNhbGwgdG8gPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkhBTF9QUFBfSVJRSGFuZGxlcjwvc3Bhbj48L3NwYW4+KCkKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsOTQgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNDk7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxpPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkhBTCBJMkMgPC9zcGFuPjwvaT48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5kcml2ZXI6PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw5NCBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzQ5O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5JMkMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxpPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwgSTJDIDwvc3Bhbj48L2k+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPmRyaXZlcjo8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+STJDCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZmVyIHByb2Nlc3NlcyBJVAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGU6IE5BQ0sgZHVyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkZHJlc3NpbmcgcGhhc2UgaXMgbWFuYWdlZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aHJvdWdoIEkyQyBFcnJvcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnRlcnJ1cHQmbmJzcDtpbnN0ZWFkIG9mCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTCZuYnNwOzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4KLXN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPnN0YXRlPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMJm5ic3A7PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnN0YXRlPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtYXJnaW4tdG9wOjBpbjt0ZXh0LWFsaWduOnN0YXJ0O3dvcmQtc3BhY2luZzowcHgiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTYgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNTA7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxpPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkhBTCBJV0RHPHNwYW4KLWNsYXNzPSJhcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj4mbmJzcDs8L3NwYW4+PC9zcGFuPjwvc3Bhbj48L2k+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+ZHJpdmVyOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyB0ZXh0LWFsaWduOiBzdGFydDsgd29yZC1zcGFjaW5nOiAwcHg7IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTCBJV0RHPHNwYW4gY2xhc3M9ImFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4mbmJzcDs8L3NwYW4+PC9zcGFuPjwvc3Bhbj48L2k+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPmRyaXZlcjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJld29yayBvdmVyYWxsIGRyaXZlciBmb3IKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJldHRlciBpbXBsZW1lbnRhdGlvbjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmV0dGVyIGltcGxlbWVudGF0aW9uPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlJlbW92ZSZuYnNwOzxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX0lXREdfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+U3RhcnQoPC9zcGFuPjwvc3Bhbj4pLDxzcGFuIGNsYXNzPSJhcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Jm5ic3A7PC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9JV0RHX01zcEluaXQ8L3NwYW4+PC9zcGFuPigpCiAKIAogCiAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxNiBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzUwO3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5SZW1vdmUmbmJzcDs8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5IQUxfSVdER188L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+U3RhcnQoPC9zcGFuPjwvc3Bhbj4pLDxzcGFuCi1jbGFzcz0iYXBwbGUtY29udmVydGVkLXNwYWNlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+Jm5ic3A7PC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5IQUxfSVdER19Nc3BJbml0PC9zcGFuPjwvc3Bhbj4oKQotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+Jm5ic3A7PC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5IQUxfSVdER19HZXRTdGF0ZTwvc3Bhbj48L3NwYW4+KCkmbmJzcDtBUElzPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZDxzcGFuIGNsYXNzPSJhcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Jm5ic3A7PC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9JV0RHX0dldFN0YXRlPC9zcGFuPjwvc3Bhbj4oKSZuYnNwO0FQSXM8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTYgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNTA7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxpPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkhBTCBXV0RHPHNwYW4KLWNsYXNzPSJhcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj4mbmJzcDs8L3NwYW4+PC9zcGFuPjwvc3Bhbj48L2k+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+ZHJpdmVyOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTCBXV0RHPHNwYW4gY2xhc3M9ImFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4mbmJzcDs8L3NwYW4+PC9zcGFuPjwvc3Bhbj48L2k+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPmRyaXZlcjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJld29yayBvdmVyYWxsIGRyaXZlciBmb3IKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJldHRlciBpbXBsZW1lbnRhdGlvbjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmV0dGVyIGltcGxlbWVudGF0aW9uPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlJlbW92ZSA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9XV0RHXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlN0YXJ0KDwvc3Bhbj48L3NwYW4+KSw8c3BhbiBjbGFzcz0iYXBwbGUtY29udmVydGVkLXNwYWNlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPiZuYnNwOzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfV1dER19TdGFydF9JVDwvc3Bhbj48L3NwYW4+KCksPHNwYW4gY2xhc3M9ImFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4mbmJzcDs8L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX1dXREdfTXNwRGVJbml0PC9zcGFuPjwvc3Bhbj4oKQogCiAKIAogCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTYgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm81MDt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQ8c3BhbiBjbGFzcz0iYXBwbGUtY29udmVydGVkLXNwYWNlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPiZuYnNwOzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfV1dER19HZXRTdGF0ZTwvc3Bhbj48L3NwYW4+KCkKIAogCiAKIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlJlbW92ZSA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5IQUxfV1dER188L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+U3RhcnQoPC9zcGFuPjwvc3Bhbj4pLDxzcGFuCi1jbGFzcz0iYXBwbGUtY29udmVydGVkLXNwYWNlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+Jm5ic3A7PC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5IQUxfV1dER19TdGFydF9JVDwvc3Bhbj48L3NwYW4+KCksPHNwYW4KLWNsYXNzPSJhcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj4mbmJzcDs8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkhBTF9XV0RHX01zcERlSW5pdDwvc3Bhbj48L3NwYW4+KCkKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQ8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJhcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPiZuYnNwOzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX1dXREdfR2V0U3RhdGU8L3NwYW4+PC9zcGFuPigpCi0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVBJcyZuYnNwOzwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxNiBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzUwO3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5VcGRhdGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlJm5ic3A7PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5IQUxfV1dER188L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlJlZnJlc2goPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+V1dER19IYW5kbGVUeXBlRGVmPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4gKjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWYiPmh3d2RnPC9zcGFuPjwvc3Bhbj4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFQSXMmbmJzcDs8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUmbmJzcDs8L3NwYW4+PHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTFwdDsgZm9udC1mYW1pbHk6ICZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9XV0RHXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMXB0OyBmb250LWZhbWlseTogJnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmOyI+UmVmcmVzaCg8L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDExcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7Ij5XV0RHX0hhbmRsZVR5cGVEZWY8L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDExcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7Ij4gKjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmOyI+aHd3ZGc8L3NwYW4+PC9zcGFuPiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgY291bnRlcikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJm5ic3A7ZnVuY3Rpb24gYW5kIEFQSQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbmJzcDtieSByZW1vdmluZyB0aGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJm5ic3A7ImNvdW50ZXIiIHBhcmFtZXRlcjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbmJzcDsiY291bnRlciIgcGFyYW1ldGVyPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDE2IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzUwO3RhYi1zdG9wczpsaXN0IDEuMGluIj48aT48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5IQUwgUVNQSQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkcml2ZXI6PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iYXBwbGUtY29udmVydGVkLXNwYWNlIj48c3Bhbgotc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+Jm5ic3A7PC9zcGFuPjwvc3Bhbj48L3NwYW4+PC9pPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPiZuYnNwO0VuaGFuY2UKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxpPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwgUVNQSQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkcml2ZXI6PHNwYW4gY2xhc3M9ImFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4mbmJzcDs8L3NwYW4+PC9zcGFuPjwvc3Bhbj48L2k+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPiZuYnNwO0VuaGFuY2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBETUEgdHJhbnNtaXQgcHJvY2VzcwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnkmbmJzcDt1c2luZyZuYnNwO1BQUCBUQwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50ZXJydXB0IGluc3RlYWQgb2Ygd2FpdGluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb24gVEMgZmxhZyB1bmRlciBETUEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElTUi4mbmJzcDtUaGlzIHJlcXVpcmVzIHRoZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9sbG93aW5nIHVwZGF0ZXMgb24mbmJzcDt1c2VyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcHBsaWNhdGlvbjo8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxNiBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzUwO3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5Db25maWd1cmUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFwcGxpY2F0aW9uOjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5Db25maWd1cmUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIGVuYWJsZSB0aGUgUVNQSSZuYnNwO0lSUQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5IQUxfUVNQSV88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+TXNwSW5pdCg8L3NwYW4+PC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb248L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTYgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm81MDt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9RU1BJXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPk1zcEluaXQoPC9zcGFuPjwvc3Bhbj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5JbjxzcGFuIGNsYXNzPSJhcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Jm5ic3A7PC9zcGFuPjwvc3Bhbj5zdG0zMmY0eHhfaXQuYwogCiAKIAogCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGUsPHNwYW4gY2xhc3M9ImFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4mbmJzcDs8L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+UVNQSV88L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5JUlFIYW5kbGVyKDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbjo8c3BhbiBjbGFzcz0iYXBwbGUtY29udmVydGVkLXNwYWNlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPiZuYnNwOzwvc3Bhbj48L3NwYW4+YWRkCiAKIAogCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SW48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJhcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPjxzcGFuCi1zdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj4mbmJzcDs8L3NwYW4+PC9zcGFuPnN0bTMyZjR4eF9pdC5jCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGEgY2FsbCB0byA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9RU1BJX0lSUUhhbmRsZXI8L3NwYW4+PC9zcGFuPigpCiAKIAogCiAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZSw8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJhcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPiZuYnNwOzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+UVNQSV88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SVJRSGFuZGxlcig8L3NwYW4+PC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb246PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iYXBwbGUtY29udmVydGVkLXNwYWNlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj4mbmJzcDs8L3NwYW4+PC9zcGFuPmFkZAotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhIGNhbGwgdG8gPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX1FTUElfSVJRSGFuZGxlcjwvc3Bhbj48L3NwYW4+KCkKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxNiBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm81MDt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PGk+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SEFMIENFQwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkcml2ZXI6PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iYXBwbGUtY29udmVydGVkLXNwYWNlIj48c3Bhbgotc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+Jm5ic3A7PC9zcGFuPjwvc3Bhbj48L3NwYW4+PC9pPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPiZuYnNwO092ZXJhbGwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxpPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwgQ0VDCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRyaXZlcjo8c3BhbiBjbGFzcz0iYXBwbGUtY29udmVydGVkLXNwYWNlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPiZuYnNwOzwvc3Bhbj48L3NwYW4+PC9zcGFuPjwvaT48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Jm5ic3A7T3ZlcmFsbAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZHJpdmVyIHJld29yayB3aXRoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21wYXRpYmlsaXR5IGJyZWFrIHZlcnN1cwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJldmlvdXMgSEFMIHZlcnNpb248L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDE2IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNTA7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlJlbW92ZSBIQUwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByZXZpb3VzIEhBTCB2ZXJzaW9uPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlJlbW92ZSBIQUwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ0VDIHBvbGxpbmcgUHJvY2VzcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbnM6IDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX0NFQ188L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+VHJhbnNtaXQoPC9zcGFuPjwvc3Bhbj4pCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3Bhbgotc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX0NFQ19SZWNlaXZlPC9zcGFuPjwvc3Bhbj4oKTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxNiBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzUwO3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5SZW1vdmUgSEFMCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uczogPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfQ0VDXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlRyYW5zbWl0KDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfQ0VDX1JlY2VpdmU8L3NwYW4+PC9zcGFuPigpPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5SZW1vdmUgSEFMCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENFQyByZWNlaXZlIGludGVycnVwdAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9jZXNzIGZ1bmN0aW9uJm5ic3A7PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX0NFQ19SZWNlaXZlXzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5JVCg8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvY2VzcyBmdW5jdGlvbiZuYnNwOzxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX0NFQ19SZWNlaXZlXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPklUKDwvc3Bhbj48L3NwYW4+KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgZW5hYmxlIHRoZSAicmVjZWl2ZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJm5ic3A7bW9kZSBkdXJpbmcgdGhlIEluaXQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGhhc2U8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTYgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm81MDt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+UmVuYW1lJm5ic3A7PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX0NFQ188L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+R2V0UmVjZWl2ZWRGcmFtZVNpemUoPC9zcGFuPjwvc3Bhbj4pCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5mdW50aW9uPC9zcGFuPjwvc3Bhbj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG8mbmJzcDs8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3Bhbgotc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX0NFQ19HZXRMYXN0UmVjZWl2ZWRGcmFtZVNpemU8L3NwYW4+PC9zcGFuPigpPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDE2IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNTA7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkFkZCBuZXcgSEFMCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFQSXM6IDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi1zdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5IQUxfQ0VDXzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5TZXREZXZpY2VBZGRyZXNzKDwvc3Bhbj48L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4KLXN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkhBTF9DRUNfQ2hhbmdlUnhCdWZmZXI8L3NwYW4+PC9zcGFuPigpPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDE2IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNTA7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlJlbW92ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUmbmJzcDsnPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SW5pdGlhdG9yQWRkcmVzczwvc3Bhbj48L3NwYW4+JwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWVsZCBmcm9tIHRoZSZuYnNwOzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+Q0VDX0luaXRUeXBlRGVmPC9zcGFuPjwvc3Bhbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGhhc2U8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlJlbmFtZSZuYnNwOzxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX0NFQ188L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5HZXRSZWNlaXZlZEZyYW1lU2l6ZSg8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5mdW50aW9uPC9zcGFuPjwvc3Bhbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG8mbmJzcDs8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9DRUNfR2V0TGFzdFJlY2VpdmVkRnJhbWVTaXplPC9zcGFuPjwvc3Bhbj4oKTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkIG5ldyBIQUwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVBJczogPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfQ0VDXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlNldERldmljZUFkZHJlc3MoPC9zcGFuPjwvc3Bhbj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9DRUNfQ2hhbmdlUnhCdWZmZXI8L3NwYW4+PC9zcGFuPigpPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5SZW1vdmUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlJm5ic3A7JzxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SW5pdGlhdG9yQWRkcmVzczwvc3Bhbj48L3NwYW4+JworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWVsZCBmcm9tIHRoZSZuYnNwOzxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Q0VDX0luaXRUeXBlRGVmPC9zcGFuPjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0dXJlJm5ic3A7YW5kIG1hbmFnZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdCZuYnNwO2FzIGEgcGFyYW1ldGVyIGluCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3Bhbgotc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX0NFQ19UcmFuc21pdF88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SVQoPC9zcGFuPjwvc3Bhbj4pCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDE2IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNTA7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkFkZCBuZXcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1ldGVyICc8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5SeEZyYW1lU2l6ZTwvc3Bhbj48L3NwYW4+JwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3Bhbgotc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX0NFQ188L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+UnhDcGx0Q2FsbGJhY2soPC9zcGFuPjwvc3Bhbj4pCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDE2IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNTA7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPk1vdmUgQ0VDIFJ4Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1ZmZlciBwb2ludGVyJm5ic3A7ZnJvbSA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkNFQ19IYW5kbGVUeXBlRGVmPC9zcGFuPjwvc3Bhbj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0dXJlIHRvIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkNFQ19Jbml0VHlwZURlZjwvc3Bhbj48L3NwYW4+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdHVyZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfQ0VDX1RyYW5zbWl0Xzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPklUKDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkIG5ldworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJhbWV0ZXIgJzxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+UnhGcmFtZVNpemU8L3NwYW4+PC9zcGFuPicKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfQ0VDXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlJ4Q3BsdENhbGxiYWNrKDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+TW92ZSBDRUMgUngKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVmZmVyIHBvaW50ZXImbmJzcDtmcm9tIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Q0VDX0hhbmRsZVR5cGVEZWY8L3NwYW4+PC9zcGFuPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3R1cmUgdG8gPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5DRUNfSW5pdFR5cGVEZWY8L3NwYW4+PC9zcGFuPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3R1cmU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtYXJnaW4tdG9wOjBpbjt0ZXh0LWFsaWduOnN0YXJ0O3dvcmQtc3BhY2luZzowcHgiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw3NCBsZXZlbDEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNTE7dGFiLXN0b3BzOmxpc3QgLjVpbiI+PGI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsgdGV4dC1hbGlnbjogc3RhcnQ7IHdvcmQtc3BhY2luZzogMHB4OyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMCiAKIAogCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSQ0MgPC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXBkYXRlIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX1JDQ188L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5DbG9ja0NvbmZpZyg8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIHRvIGFkanVzdCB0aGUgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5TeXN0ZW1Db3JlQ2xvY2s8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlJlbmFtZSBtYWNyb3MKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCBMaXRlcmFsczo8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+UkNDX1BFUklQSENMS19DSzQ4Jm5ic3A7YnkmbmJzcDtSQ0NfUEVSSVBIQ0xLX0M8Yj5MPC9iPks0ODwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SVNfUkNDX0NLNDhDTEtTT1VSQ0UmbmJzcDtieQogCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPkhBTAogCiAKIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUkNDIDwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSVNfUkNDX0M8Yj5MPC9iPks0OENMS1NPVVJDRTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+UkNDX0NLNDhDTEtTT1VSQ0VfUExMU0FJUAogCiAKIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+dXBkYXRlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCiAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnkgUkNDX0M8Yj5MPC9iPks0OENMS1NPVVJDRV9QTExTQUlQPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5SQ0NfU0RJT0NMS1NPVVJDRV9DSzQ4CiAKIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDc0IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzUxO3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwogCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ5IFJDQ19TRElPQ0xLU09VUkNFX0M8Yj5MPC9iPks0ODwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+UkNDX0NLNDhDTEtTT1VSQ0VfUExMUQogCiAKIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKIAotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+VXBkYXRlIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX1JDQ188L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5DbG9ja0NvbmZpZyg8L3NwYW4+PC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIHRvIGFkanVzdCB0aGUgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5TeXN0ZW1Db3JlQ2xvY2s8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDc0IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzUxO3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5SZW5hbWUgbWFjcm9zCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgTGl0ZXJhbHM6PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw3NCBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzUxO3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5SQ0NfUEVSSVBIQ0xLX0NLNDgmbmJzcDtieSZuYnNwO1JDQ19QRVJJUEhDTEtfQzxiPkw8L2I+SzQ4PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDc0IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNTE7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPklTX1JDQ19DSzQ4Q0xLU09VUkNFJm5ic3A7YnkKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJU19SQ0NfQzxiPkw8L2I+SzQ4Q0xLU09VUkNFPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDc0IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNTE7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlJDQ19DSzQ4Q0xLU09VUkNFX1BMTFNBSVAKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBieSBSQ0NfQzxiPkw8L2I+SzQ4Q0xLU09VUkNFX1BMTFNBSVA8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNzQgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm81MTt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+UkNDX1NESU9DTEtTT1VSQ0VfQ0s0OAotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBieSBSQ0NfU0RJT0NMS1NPVVJDRV9DPGI+TDwvYj5LNDg8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNzQgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm81MTt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+UkNDX0NLNDhDTEtTT1VSQ0VfUExMUQotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ5IFJDQ19DPGI+TDwvYj5LNDhDTEtTT1VSQ0VfUExMUTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBieSBSQ0NfQzxiPkw8L2I+SzQ4Q0xLU09VUkNFX1BMTFE8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNzQgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNTE7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXBkYXRlIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX1JDQ0V4Xzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkdldFBlcmlwaENMS0NvbmZpZyg8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9SQ0NFeF9QZXJpcGhDTEtDb25maWc8L3NwYW4+PC9zcGFuPigpCiAKIAogCiAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlVwZGF0ZSA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkhBTF9SQ0NFeF88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5HZXRQZXJpcGhDTEtDb25maWcoPC9zcGFuPjwvc3Bhbj4pCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4KLXN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkhBTF9SQ0NFeF9QZXJpcGhDTEtDb25maWc8L3NwYW4+PC9zcGFuPigpCi0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9ucyB0byBzdXBwb3J0IFRJTSA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPlByZXNjYWxlcjwvc3Bhbj48L3NwYW4+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgU1RNMzJGNDExeHggZGV2aWNlczwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDc0IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzUxO3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkhBTF9SQ0NFeF88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5QZXJpcGhDTEtDb25maWcoPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4pIEFQSTogdXBkYXRlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbnMgdG8gc3VwcG9ydCBUSU0gPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5QcmVzY2FsZXI8L3NwYW4+PC9zcGFuPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIFNUTTMyRjQxMXh4IGRldmljZXM8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfUkNDRXhfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5QZXJpcGhDTEtDb25maWcoPC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+KSBBUEk6IHVwZGF0ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gZml4IHRoZSBSVEMgY2xvY2sKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYXRpb24gaXNzdWU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhdGlvbiBpc3N1ZTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNzQgbGV2ZWwxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzUxO3RhYi1zdG9wczpsaXN0IC41aW4iPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAogCiAKIAotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPkhBTAotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ0VDIDwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPnVwZGF0ZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDc0IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzUxO3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5PdmVyYWxsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDRUMgPC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+T3ZlcmFsbAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZHJpdmVyIHJld29yayB3aXRoJm5ic3A7YnJlYWsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9mIGNvbXBhdGliaWxpdHkgd2l0aCBIQUwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFYxLjQuNDwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNzQgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm81MTt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+UmVtb3ZlIHRoZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUwgQ0VDIHBvbGxpbmcgUHJvY2VzczogPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX0NFQ188L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+VHJhbnNtaXQoPC9zcGFuPjwvc3Bhbj4pCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3Bhbgotc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX0NFQ19SZWNlaXZlPC9zcGFuPjwvc3Bhbj4oKTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVjEuNC40PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlJlbW92ZSB0aGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMIENFQyBwb2xsaW5nIFByb2Nlc3M6IDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX0NFQ188L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5UcmFuc21pdCg8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX0NFQ19SZWNlaXZlPC9zcGFuPjwvc3Bhbj4oKTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0iY2lyY2xlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw5MyBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzUyO3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5SZW1vdmUgdGhlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJjaXJjbGUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5SZW1vdmUgdGhlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTCBDRUMgcmVjZWl2ZSBpbnRlcnJ1cHQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvY2VzcyAoPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX0NFQ19SZWNlaXZlXzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5JVCg8L3NwYW4+PC9zcGFuPikpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2Nlc3MgKDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX0NFQ19SZWNlaXZlXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPklUKDwvc3Bhbj48L3NwYW4+KSkKIAogCiAKIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgbWFuYWdlIHRoZSAiUmVjZWl2ZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9kZSBlbmFibGUgd2l0aGluIHRoZSBJbml0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBoYXNlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDkzIGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNTI7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGhhc2U8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlJlbmFtZSA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9DRUNfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+R2V0UmVjZWl2ZWRGcmFtZVNpemUoPC9zcGFuPjwvc3Bhbj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIHRvJm5ic3A7PHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfQ0VDX0dldExhc3RSZWNlaXZlZEZyYW1lU2l6ZTwvc3Bhbj48L3NwYW4+KCkKIAogCiAKIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlJlbmFtZSA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5IQUxfQ0VDXzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5HZXRSZWNlaXZlZEZyYW1lU2l6ZSg8L3NwYW4+PC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gdG8mbmJzcDs8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5IQUxfQ0VDX0dldExhc3RSZWNlaXZlZEZyYW1lU2l6ZTwvc3Bhbj48L3NwYW4+KCkKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw5MyBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzUyO3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5BZGQgbmV3IEhBTAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBUElzOiA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3Bhbgotc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX0NFQ188L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+U2V0RGV2aWNlQWRkcmVzcyg8L3NwYW4+PC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi1zdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5IQUxfQ0VDX0NoYW5nZVJ4QnVmZmVyPC9zcGFuPjwvc3Bhbj4oKTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw5MyBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzUyO3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5SZW1vdmUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlJm5ic3A7JzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkluaXRpYXRvckFkZHJlc3M8L3NwYW4+PC9zcGFuPicKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmllbGQgZnJvbSB0aGUmbmJzcDs8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkNFQ19Jbml0VHlwZURlZjwvc3Bhbj48L3NwYW4+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQgbmV3IEhBTAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBUElzOiA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9DRUNfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+U2V0RGV2aWNlQWRkcmVzcyg8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX0NFQ19DaGFuZ2VSeEJ1ZmZlcjwvc3Bhbj48L3NwYW4+KCk8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlJlbW92ZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUmbmJzcDsnPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5Jbml0aWF0b3JBZGRyZXNzPC9zcGFuPjwvc3Bhbj4nCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpZWxkIGZyb20gdGhlJm5ic3A7PHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5DRUNfSW5pdFR5cGVEZWY8L3NwYW4+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3R1cmUmbmJzcDthbmQgbWFuYWdlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0Jm5ic3A7YXMgYSBwYXJhbWV0ZXIgaW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi1zdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5IQUxfQ0VDX1RyYW5zbWl0Xzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5JVCg8L3NwYW4+PC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb248L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsOTMgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm81Mjt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+QWRkIG5ldwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJhbWV0ZXIgJzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPlJ4RnJhbWVTaXplPC9zcGFuPjwvc3Bhbj4nCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi1zdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5IQUxfQ0VDXzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5SeENwbHRDYWxsYmFjayg8L3NwYW4+PC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb248L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsOTMgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm81Mjt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+TW92ZSBDRUMgUngKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVmZmVyIHBvaW50ZXImbmJzcDtmcm9tIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+Q0VDX0hhbmRsZVR5cGVEZWY8L3NwYW4+PC9zcGFuPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3R1cmUgdG8gPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+Q0VDX0luaXRUeXBlRGVmPC9zcGFuPjwvc3Bhbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX0NFQ19UcmFuc21pdF88L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5JVCg8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb248L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZCBuZXcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1ldGVyICc8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlJ4RnJhbWVTaXplPC9zcGFuPjwvc3Bhbj4nCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX0NFQ188L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5SeENwbHRDYWxsYmFjayg8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb248L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPk1vdmUgQ0VDIFJ4CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1ZmZlciBwb2ludGVyJm5ic3A7ZnJvbSA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkNFQ19IYW5kbGVUeXBlRGVmPC9zcGFuPjwvc3Bhbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0dXJlIHRvIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Q0VDX0luaXRUeXBlRGVmPC9zcGFuPjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0dXJlPG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsOTMgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNTI7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlVwZGF0ZSBkcml2ZXIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUgZHJpdmVyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0byBpbXBsZW1lbnQgdGhlIG5ldyBDRUMgc3RhdGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hY2hpbmU6PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsOTMgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm81Mjt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFjaGluZTo8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ldyZuYnNwOyI8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnJ4U3RhdGU8L3NwYW4+PC9zcGFuPiI8c3BhbiBjbGFzcz0iYXBwbGUtY29udmVydGVkLXNwYWNlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPiZuYnNwOzwvc3Bhbj48L3NwYW4+ZmllbGQKIAogCiAKIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkFkZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXcmbmJzcDsiPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+cnhTdGF0ZTwvc3Bhbj48L3NwYW4+IjxzcGFuCi1jbGFzcz0iYXBwbGUtY29udmVydGVkLXNwYWNlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+Jm5ic3A7PC9zcGFuPjwvc3Bhbj5maWVsZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkNFQ19IYW5kbGVUeXBlRGVmPC9zcGFuPjwvc3Bhbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0dXJlIHRvIHByb3ZpZGUgdGhlPHNwYW4gY2xhc3M9ImFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4mbmJzcDs8L3NwYW4+PC9zcGFuPkNFQzxzcGFuIGNsYXNzPSJhcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Jm5ic3A7PC9zcGFuPjwvc3Bhbj5zdGF0ZQogCiAKIAogCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi1zdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5DRUNfSGFuZGxlVHlwZURlZjwvc3Bhbj48L3NwYW4+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdHVyZSB0byBwcm92aWRlIHRoZTxzcGFuCi1jbGFzcz0iYXBwbGUtY29udmVydGVkLXNwYWNlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+Jm5ic3A7PC9zcGFuPjwvc3Bhbj5DRUM8c3BhbgotY2xhc3M9ImFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPiZuYnNwOzwvc3Bhbj48L3NwYW4+c3RhdGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5mb3JtYXRpb24gcmVsYXRlZCB0byBSeCA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+T3BlcmF0aW9uczwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5SZW5hbWUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInN0YXRlIiBmaWVsZCBpbiA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkNFQ19IYW5kbGVUeXBlRGVmPC9zcGFuPjwvc3Bhbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0dXJlIHRvICI8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPmdzdGF0ZTwvc3Bhbj48L3NwYW4+IjoKIAogCiAKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmZvcm1hdGlvbiByZWxhdGVkIHRvIFJ4IDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+T3BlcmF0aW9uczwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDkzIGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNTI7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlJlbmFtZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3RhdGUiIGZpZWxkIGluIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkNFQ19IYW5kbGVUeXBlRGVmPC9zcGFuPjwvc3Bhbj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0dXJlIHRvICI8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPmdzdGF0ZTwvc3Bhbj48L3NwYW4+IjoKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ0VDPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iYXBwbGUtY29udmVydGVkLXNwYWNlIj48c3Bhbgotc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+Jm5ic3A7PC9zcGFuPjwvc3Bhbj5zdGF0ZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDRUM8c3BhbiBjbGFzcz0iYXBwbGUtY29udmVydGVkLXNwYWNlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPiZuYnNwOzwvc3Bhbj48L3NwYW4+c3RhdGUKIAogCiAKIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmZvcm1hdGlvbiByZWxhdGVkIHRvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdsb2JhbCBIYW5kbGUgbWFuYWdlbWVudCBhbmQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVHggPHNwYW4gY2xhc3M9ImdyYW1lIj48c3Bhbgotc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+T3BlcmF0aW9uczwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDkzIGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNTI7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlVwZGF0ZSBDRUMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVHggPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPk9wZXJhdGlvbnM8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXBkYXRlIENFQwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9jZXNzIHRvIG1hbmFnZSB0aGUgbmV3Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENFQyBzdGF0ZXMuPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw5MyBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzUyO3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5VcGRhdGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19IQUxfQ0VDX1JFU0VUX0hBTkRMRV88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+U1RBVEUoPC9zcGFuPjwvc3Bhbj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENFQyBzdGF0ZXMuPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19IQUxfQ0VDX1JFU0VUX0hBTkRMRV88c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+U1RBVEUoPC9zcGFuPjwvc3Bhbj4pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hY3JvIHRvIGhhbmRsZSB0aGUgbmV3IENFQwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZSBwYXJhbWV0ZXJzICg8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5nU3RhdGU8L3NwYW4+PC9zcGFuPiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPnJ4U3RhdGU8L3NwYW4+PC9zcGFuPik8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGUgcGFyYW1ldGVycyAoPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5nU3RhdGU8L3NwYW4+PC9zcGFuPiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5yeFN0YXRlPC9zcGFuPjwvc3Bhbj4pPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibWFyZ2luLXRvcDowaW47dGV4dC1hbGlnbjpzdGFydDt3b3JkLXNwYWNpbmc6MHB4IgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNDQgbGV2ZWwxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzUzO3RhYi1zdG9wczpsaXN0IC41aW4iPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+SEFMCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IHRleHQtYWxpZ246IHN0YXJ0OyB3b3JkLXNwYWNpbmc6IDBweDsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAogCiAKIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVUFSVCwgVVNBUlQsIFNNQVJUQ0FSRCBhbmQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElSREEgPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElSREEgPC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+KHJlZmVyZW5jZWQKIAogCiAKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+KHJlZmVyZW5jZWQKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcyA8aT5QUFA8L2k+IGhlcmUgYmVsb3cpPGk+IDwvaT48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj51cGRhdGU8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+IDwvc3Bhbj48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvYj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNDQgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNTM7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlVwZGF0ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUG9sbGluZyBtYW5hZ2VtZW50Ojwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNDQgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm81Mzt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+VGhlIHVzZXIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcyA8aT5QUFA8L2k+IGhlcmUgYmVsb3cpPGk+IDwvaT48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9IiI+IDwvc3Bhbj48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+PG86cD48L286cD48L3NwYW4+PC9iPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXBkYXRlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQb2xsaW5nIG1hbmFnZW1lbnQ6PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlRoZSB1c2VyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRpbWVvdXQgdmFsdWUmbmJzcDttdXN0IGJlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVzdGltYXRlZCBmb3IgdGhlIG92ZXJhbGwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvY2VzcyBkdXJhdGlvbjogPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj50aGU8L3NwYW4+PC9zcGFuPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9jZXNzIGR1cmF0aW9uOiA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dGhlPC9zcGFuPjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGltZW91dCBtZWFzdXJlbWVudCBpcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdW11bGF0aXZlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdW11bGF0aXZlPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDQ0IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzUzO3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5VcGRhdGUgRE1BCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9jZXNzOjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNDQgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm81Mzt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+VXBkYXRlIHRoZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZSBETUEKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2Nlc3M6PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZSB0aGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFuYWdlbWVudCBvZiBQUFAgcGVyaXBoZXJhbAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJvcnMgZHVyaW5nIERNQSBwcm9jZXNzLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHJlcXVpcmVzIHRoZSBmb2xsb3dpbmcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlcyBpbiB1c2VyIGFwcGxpY2F0aW9uOjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw0NCBsZXZlbDQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNTM7dGFiLXN0b3BzOmxpc3QgMi4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkNvbmZpZ3VyZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGVzIGluIHVzZXIgYXBwbGljYXRpb246PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5Db25maWd1cmUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgZW5hYmxlIHRoZSBQUFAgSVJRIGluCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4KLXN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkhBTF9QUFBfPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5Nc3BJbml0KDwvc3Bhbj48L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw0NCBsZXZlbDQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNTM7dGFiLXN0b3BzOmxpc3QgMi4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX1BQUF88L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5Nc3BJbml0KDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkluCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RtMzJmNHh4X2l0LmMgZmlsZSwgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5QUFBfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SVJRSGFuZGxlcig8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbjogYWRkIGEgY2FsbCB0byA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9QUFBfSVJRSGFuZGxlcjwvc3Bhbj48L3NwYW4+KCkKIAogCiAKIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5JbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0bTMyZjR4eF9pdC5jIGZpbGUsIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5QUFBfPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5JUlFIYW5kbGVyKDwvc3Bhbj48L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uOiBhZGQgYSBjYWxsIHRvIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5IQUxfUFBQX0lSUUhhbmRsZXI8L3NwYW4+PC9zcGFuPigpCi0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNDQgbGV2ZWw0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzUzO3RhYi1zdG9wczpsaXN0IDIuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5BZGQgYW5kCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb248L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkIGFuZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1c3RvbWl6ZSB0aGUgRXJyb3IKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDYWxsYmFjayBBUEk6IDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX1BQUF88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkVycm9yQ2FsbGJhY2soPC9zcGFuPjwvc3Bhbj4pPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENhbGxiYWNrIEFQSTogPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfUFBQXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkVycm9yQ2FsbGJhY2soPC9zcGFuPjwvc3Bhbj4pPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDQ0IGxldmVsMQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm81Mzt0YWItc3RvcHM6bGlzdCAuNWluIj48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKIAogCiAKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij5IQUwKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZNQzwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iYXBwbGUtY29udmVydGVkLXNwYWNlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+Jm5ic3A7PC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+dXBkYXRlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDQ0IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzUzO3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5VcGRhdGUgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5GTUNfTk9SU1JBTV88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5Jbml0KDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRk1DPC9zcGFuPjwvYj48c3BhbiBjbGFzcz0iYXBwbGUtY29udmVydGVkLXNwYWNlIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Jm5ic3A7PC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXBkYXRlIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Rk1DX05PUlNSQU1fPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SW5pdCg8L3NwYW4+PC9zcGFuPikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvIHJlbW92ZSB0aGUgQnVyc3QgYWNjZXNzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2RlIGNvbmZpZ3VyYXRpb248L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw0NCBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm81Mzt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+VXBkYXRlIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+Rk1DX1NEUkFNX1RpbWluZ188L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5Jbml0KDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9kZSBjb25maWd1cmF0aW9uPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXBkYXRlIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Rk1DX1NEUkFNX1RpbWluZ188L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5Jbml0KDwvc3Bhbj48L3NwYW4+KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gZml4IGluaXRpYWxpemF0aW9uIGlzc3VlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aGVuIGNvbmZpZ3VyaW5nIDIgU0RSQU0gYmFua3M8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2hlbiBjb25maWd1cmluZyAyIFNEUkFNIGJhbmtzPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw0NCBsZXZlbDEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNTM7dGFiLXN0b3BzOmxpc3QgLjVpbiI+PGI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMCiAKIAogCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+SEFMCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQ0Q8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPiZuYnNwOzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPnVwZGF0ZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw0NCBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm81Mzt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+VXBkYXRlIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SENEX1BvcnRfPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SVJRSGFuZGxlcig8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhDRDwvc3Bhbj48L2I+PHNwYW4gY2xhc3M9ImFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPiZuYnNwOzwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZSA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhDRF9Qb3J0Xzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPklSUUhhbmRsZXIoPC9zcGFuPjwvc3Bhbj4pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0byB1bm1hc2sgZGlzY29ubmVjdCBJVCBvbmx5Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aGVuIHRoZSBwb3J0IGlzIGRpc2FibGVkPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdoZW4gdGhlIHBvcnQgaXMgZGlzYWJsZWQ8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDQ0IGxldmVsMQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm81Mzt0YWItc3RvcHM6bGlzdCAuNWluIj48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKKworCisKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEkyQy9GTVBJMkM8L3NwYW4+PC9iPjxpPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+PC9pPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGU8c3BhbiBjbGFzcz0iYXBwbGUtY29udmVydGVkLXNwYWNlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPiZuYnNwOzwvc3Bhbj48L3NwYW4+UG9sbGluZwogCiAKIAogCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPkhBTAotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSTJDL0ZNUEkyQzwvc3Bhbj48L2I+PGk+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+PC9pPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij51cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw0NCBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm81Mzt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+VXBkYXRlPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+PHNwYW4KLXN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPiZuYnNwOzwvc3Bhbj48L3NwYW4+UG9sbGluZwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYW5hZ2VtZW50Ojwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNDQgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm81Mzt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+VGhlIFRpbWVvdXQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hbmFnZW1lbnQ6PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlRoZSBUaW1lb3V0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIG11c3QgYmUgZXN0aW1hdGVkIGZvcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgb3ZlcmFsbCBwcm9jZXNzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGR1cmF0aW9uOiA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPnRoZTwvc3Bhbj48L3NwYW4+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGR1cmF0aW9uOiA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dGhlPC9zcGFuPjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGltZW91dCBtZWFzdXJlbWVudCBpcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdW11bGF0aXZlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdW11bGF0aXZlPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDQ0IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzUzO3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5BZGQgdGhlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkIHRoZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFuYWdlbWVudCBvZiBBYm9ydAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VydmljZTombmJzcDtBYm9ydCBETUEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZmVyIHRocm91Z2ggPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPmludGVycnVwdDwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw0NCBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzUzO3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5JbiB0aGUgY2FzZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmZXIgdGhyb3VnaCA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+aW50ZXJydXB0PC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SW4gdGhlIGNhc2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2YgTWFzdGVyIEFib3J0IElUIHRyYW5zZmVyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzYWdlOjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNDQgbGV2ZWw0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzUzO3RhYi1zdG9wczpsaXN0IDIuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNhZ2U6PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQmbmJzcDtuZXcKIAogCiAKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5BZGQmbmJzcDtuZXcKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VyIEhBTF9JMkNfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+QWJvcnRDcGx0Q2FsbGJhY2soPC9zcGFuPjwvc3Bhbj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlciBIQUxfSTJDXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BYm9ydENwbHRDYWxsYmFjayg8L3NwYW4+PC9zcGFuPikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0byBpbmZvcm0gdXNlciBvZiB0aGUgZW5kCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2YgYWJvcnQgcHJvY2Vzczwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNDQgbGV2ZWw0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzUzO3RhYi1zdG9wczpsaXN0IDIuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5BIG5ldworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9mIGFib3J0IHByb2Nlc3M8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QSBuZXcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhYm9ydCBzdGF0ZSBpcyBkZWZpbmVkIGluCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJhcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPjxzcGFuCi1zdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj4mbmJzcDs8L3NwYW4+PC9zcGFuPkhBTF9JMkNfU3RhdGVUeXBlRGVmPHNwYW4KLWNsYXNzPSJhcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPiZuYnNwOzwvc3Bhbj48L3NwYW4+c3RydWN0dXJlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZTxzcGFuIGNsYXNzPSJhcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Jm5ic3A7PC9zcGFuPjwvc3Bhbj5IQUxfSTJDX1N0YXRlVHlwZURlZjxzcGFuIGNsYXNzPSJhcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Jm5ic3A7PC9zcGFuPjwvc3Bhbj5zdHJ1Y3R1cmU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw0NCBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm81Mzt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+QWRkIHRoZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZCB0aGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hbmFnZW1lbnQgb2YgSTJDIHBlcmlwaGVyYWwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVycm9ycywgQUNLIGZhaWx1cmUgYW5kIFNUT1AKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbmRpdGlvbiBkZXRlY3Rpb24gZHVyaW5nIERNQQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvY2Vzcy4gVGhpcyByZXF1aXJlcyB0aGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbGxvd2luZyB1cGRhdGVzIG9uIHVzZXIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFwcGxpY2F0aW9uOjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNDQgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm81Mzt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+Q29uZmlndXJlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcHBsaWNhdGlvbjo8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Q29uZmlndXJlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCBlbmFibGUgdGhlIEkyQyBJUlEgaW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX0kyQ188c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPk1zcEluaXQoPC9zcGFuPjwvc3Bhbj4pCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDQ0IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNTM7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkluCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0bTMyZjR4eF9pdC5jIGZpbGUsIEkyQ188c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPklSUUhhbmRsZXIoPC9zcGFuPjwvc3Bhbj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9JMkNfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPk1zcEluaXQoPC9zcGFuPjwvc3Bhbj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5JbgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdG0zMmY0eHhfaXQuYyBmaWxlLCBJMkNfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPklSUUhhbmRsZXIoPC9zcGFuPjwvc3Bhbj4pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uOiBhZGQgYSBjYWxsIHRvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9JMkNfSVJRSGFuZGxlcigpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDQ0IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNTM7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkFkZCBhbmQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb248L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZCBhbmQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VzdG9taXplIHRoZSBFcnJvciBDYWxsYmFjawotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBUEk6IEhBTF9JMkNfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5FcnJvckNhbGxiYWNrKDwvc3Bhbj48L3NwYW4+KTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw0NCBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzUzO3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5SZWZlciB0bworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBUEk6IEhBTF9JMkNfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkVycm9yQ2FsbGJhY2soPC9zcGFuPjwvc3Bhbj4pPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5SZWZlciB0bwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgSTJDX0VFUFJPTSBvcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJMkNfVHdvQm9hcmRzX0NvbURNQSBwcm9qZWN0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4YW1wbGVzIHVzYWdlIG9mIHRoZSA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkFQSTwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4YW1wbGVzIHVzYWdlIG9mIHRoZSA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QVBJPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNDQgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNTM7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPk5BQ0sgZXJyb3IKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5OQUNLIGVycm9yCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkdXJpbmcgYWRkcmVzc2luZyBwaGFzZSBpcwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuZWQgdGhyb3VnaCBpbnRlcnJ1cHQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluc3RlYWQgb2YgcHJldmlvdXNseSB0aHJvdWdoCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJMkMgdHJhbnNmZXIgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkFQSSdzPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw0NCBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm81Mzt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+STJDCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJMkMgdHJhbnNmZXIgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFQSSdzPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5JMkMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkZHJlc3NpbmcgcGhhc2UgaXMgdXBkYXRlZCB0bwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmUgbWFuYWdlZCB1c2luZyBpbnRlcnJ1cHQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluc3RlYWQgb2YmbmJzcDtwb2xsaW5nIChPbmx5Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgSEFMIEkyQyBkcml2ZXIpPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw0NCBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzUzO3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5BZGQgbmV3CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgSEFMIEkyQyBkcml2ZXIpPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZCBuZXcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGljIGZ1bmN0aW9ucyB0byBtYW5hZ2UKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSTJDIFNCLCBBRERSIGFuZCBBREQxMCBmbGFnczwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJMkMgU0IsIEFERFIgYW5kIEFERDEwIGZsYWdzPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw0NCBsZXZlbDEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNTM7dGFiLXN0b3BzOmxpc3QgLjVpbiI+PGI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMCiAKIAogCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+SEFMCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTUEk8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iYXBwbGUtY29udmVydGVkLXNwYWNlIj48c3Bhbgotc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+Jm5ic3A7PC9zcGFuPjwvc3Bhbj48L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij51cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU1BJPHNwYW4gY2xhc3M9ImFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4mbmJzcDs8L3NwYW4+PC9zcGFuPjwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibWFyZ2luLXRvcDowaW47dGV4dC1hbGlnbjpzdGFydDt3aWRvd3M6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxO3dvcmQtc3BhY2luZzowcHgiIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxMzkgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNTQ7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPk92ZXJhbGwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsgdGV4dC1hbGlnbjogc3RhcnQ7IHdpZG93czogMTsgd29yZC1zcGFjaW5nOiAwcHg7IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPk92ZXJhbGwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRyaXZlciBvcHRpbWl6YXRpb24gdG8gaW1wcm92ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGVyZm9ybWFuY2UgaW4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvbGxpbmcvaW50ZXJydXB0IG1vZGUgdG8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlYWNoIG1heGltdW0gcGVyaXBoZXJhbCA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+ZnJlcXVlbmN5PC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDEzOSBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzU0O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5Qb2xsaW5nCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vZGU6PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWFjaCBtYXhpbXVtIHBlcmlwaGVyYWwgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPmZyZXF1ZW5jeTwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlBvbGxpbmcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9kZTo8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvO21zby1saXN0OmwxMzkKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWw0IGxmbzU0O3RhYi1zdG9wczogbGlzdAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlJlcGxhY2UKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgdXNlIG9mIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5TUElfPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5XYWl0T25GbGFnVW5pdFRpbWVvdXQoPC9zcGFuPjwvc3Bhbj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5SZXBsYWNlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIHVzZSBvZiA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlNQSV88L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5XYWl0T25GbGFnVW5pdFRpbWVvdXQoPC9zcGFuPjwvc3Bhbj4pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gYnkgImlmIiBzdGF0ZW1lbnQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0byBjaGVjayBvbiBSWE5FL1RYRSA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+ZmxhZ2U8L3NwYW4+PC9zcGFuPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdoaWxlIHRyYW5zZmVycmluZyBkYXRhPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMy41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gY2hlY2sgb24gUlhORS9UWEUgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5mbGFnZTwvc3Bhbj48L3NwYW4+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2hpbGUgdHJhbnNmZXJyaW5nIGRhdGE8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTMuNXB0OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1hcmdpbi10b3A6MGluO3RleHQtYWxpZ246c3RhcnQ7d2lkb3dzOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTt3b3JkLXNwYWNpbmc6MHB4IiB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw2IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNTU7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsgdGV4dC1hbGlnbjogc3RhcnQ7IHdpZG93czogMTsgd29yZC1zcGFjaW5nOiAwcHg7IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4mbmJzcDtJbnRlcnJ1cHQKIAogCiAKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPiZuYnNwO0ludGVycnVwdAotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2RlOjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2RlOjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG87bXNvLWxpc3Q6bDYKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWw0IGxmbzU1O3RhYi1zdG9wczogbGlzdAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPk1pbmltaXplCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWNjZXNzIG9uIFNQSSA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5yZWdpc3RlcnM8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTMuNXB0O21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+TWluaW1pemUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY2Nlc3Mgb24gU1BJIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5yZWdpc3RlcnM8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMy41cHQ7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDYgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm81NTt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+QWxsIG1vZGVzOjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw2IGxldmVsNAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm81NTt0YWItc3RvcHM6bGlzdCAyLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+QWRkIHRoZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWxsIG1vZGVzOjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkIHRoZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVTRV9TUElfQ1JDIHN3aXRjaCB0bwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1pbmltaXplIHRoZSBudW1iZXIgb2YKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZW1lbnRzIHdoZW4gQ1JDCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FsY3VsYXRpb24gaXMgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+ZGlzYWJsZWQ8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNiBsZXZlbDQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNTU7dGFiLXN0b3BzOmxpc3QgMi4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlVwZGF0ZSZuYnNwO3RpbWVvdXQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYWxjdWxhdGlvbiBpcyA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+ZGlzYWJsZWQ8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUmbmJzcDt0aW1lb3V0CiAKIAogCiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYW5hZ2VtZW50IHRvIGNoZWNrIG9uCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2xvYmFsIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPnByb2Nlc3Nlczwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw2IGxldmVsNAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm81NTt0YWItc3RvcHM6bGlzdCAyLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+VXBkYXRlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2xvYmFsIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5wcm9jZXNzZXM8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJvciBjb2RlIG1hbmFnZW1lbnQgaW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGwgcHJvY2Vzc2VzPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxsIHByb2Nlc3Nlczwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDYgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNTU7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlVwZGF0ZSBETUEKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUgRE1BCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9jZXNzOjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNiBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzU1O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5BZGQgdGhlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZCB0aGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFuYWdlbWVudCBvZiBTUEkgcGVyaXBoZXJhbAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJvcnMgZHVyaW5nIERNQSBwcm9jZXNzLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHJlcXVpcmVzIHRoZSBmb2xsb3dpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlcyBpbiB0aGUgdXNlcgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcHBsaWNhdGlvbjo8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNiBsZXZlbDQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNTU7dGFiLXN0b3BzOmxpc3QgMi4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkNvbmZpZ3VyZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcHBsaWNhdGlvbjo8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkNvbmZpZ3VyZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCBlbmFibGUgdGhlIFNQSSBJUlEgaW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3Bhbgotc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX1NQSV88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPk1zcEluaXQoPC9zcGFuPjwvc3Bhbj4pCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb248L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDYgbGV2ZWw0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzU1O3RhYi1zdG9wczpsaXN0IDIuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9TUElfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+TXNwSW5pdCg8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5JbgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0bTMyZjR4eF9pdC5jIGZpbGUsIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+U1BJXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPklSUUhhbmRsZXIoPC9zcGFuPjwvc3Bhbj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb246IGFkZCBhIGNhbGwgdG8gPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfU1BJX0lSUUhhbmRsZXI8L3NwYW4+PC9zcGFuPigpCiAKIAogCiAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdG0zMmY0eHhfaXQuYyBmaWxlLCA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+U1BJXzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SVJRSGFuZGxlcig8L3NwYW4+PC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbjogYWRkIGEgY2FsbCB0byA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX1NQSV9JUlFIYW5kbGVyPC9zcGFuPjwvc3Bhbj4oKQotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb248L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDYgbGV2ZWw0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzU1O3RhYi1zdG9wczpsaXN0IDIuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5BZGQgYW5kCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb248L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkIGFuZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1c3RvbWl6ZSB0aGUgRXJyb3IKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDYWxsYmFjayBBUEk6IDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX1NQSV88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkVycm9yQ2FsbGJhY2soPC9zcGFuPjwvc3Bhbj4pPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw2IGxldmVsNAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm81NTt0YWItc3RvcHM6bGlzdCAyLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+UmVmZXIgdG8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDYWxsYmFjayBBUEk6IDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX1NQSV88L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5FcnJvckNhbGxiYWNrKDwvc3Bhbj48L3NwYW4+KTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5SZWZlciB0bwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBmb2xsb3dpbmcgZXhhbXBsZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdoaWNoIGRlc2NyaWJlIHRoZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYW5nZXM6IDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5TUElfRnVsbER1cGxleF9Db21ETUE8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFuZ2VzOiA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlNQSV9GdWxsRHVwbGV4X0NvbURNQTwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNiBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm81NTt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+Rml4CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Rml4CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWdyZXNzaW9uIGluIHBvbGxpbmcgbW9kZTo8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDYgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm81NTt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+QWRkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmVwYXJpbmcgZGF0YSB0byB0cmFuc21pdAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBjYXNlIG9mIHNsYXZlIG1vZGUgaW4gPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX1NQSV88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+VHJhbnNtaXRSZWNlaXZlKDwvc3Bhbj48L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQmbmJzcDs8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5IQUxfU1BJX1RyYW5zbWl0PC9zcGFuPjwvc3Bhbj4oKTxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDYgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm81NTt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+QWRkIHRvCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIGNhc2Ugb2Ygc2xhdmUgbW9kZSBpbiA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9TUElfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VHJhbnNtaXRSZWNlaXZlKDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQmbmJzcDs8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9TUElfVHJhbnNtaXQ8L3NwYW4+PC9zcGFuPigpPG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZCB0bwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYW5hZ2UgcHJvcGVybHkgdGhlIG92ZXJydW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxhZyBhdCB0aGUgZW5kIG9mIGEgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX1NQSV88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+VHJhbnNtaXRSZWNlaXZlKDwvc3Bhbj48L3NwYW4+KTxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsYWcgYXQgdGhlIGVuZCBvZiBhIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX1NQSV88L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5UcmFuc21pdFJlY2VpdmUoPC9zcGFuPjwvc3Bhbj4pPG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNiBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm81NTt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+Rml4CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Rml4CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWdyZXNzaW9uIGluIGludGVycnVwdCBtb2RlOjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNiBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzU1O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5BZGQgYSB3YWl0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uIFRYRSBmbGFnIGluIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPlNQSV9DbG9zZVR4Xzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5JU1IoPC9zcGFuPjwvc3Bhbj4pCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCBpbiA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3Bhbgotc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+U1BJX0Nsb3NlVHhSeF9JU1I8L3NwYW4+PC9zcGFuPigpPG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNiBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzU1O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5BZGQgdG8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkIGEgd2FpdAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbiBUWEUgZmxhZyBpbiA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlNQSV9DbG9zZVR4Xzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPklTUig8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIGluIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+U1BJX0Nsb3NlVHhSeF9JU1I8L3NwYW4+PC9zcGFuPigpPG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZCB0bwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYW5hZ2UgcHJvcGVybHkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlJm5ic3A7b3ZlcnJ1biBmbGFnIGluIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPlNQSV9DbG9zZVJ4VHhfPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPklTUig8L3NwYW4+PC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi1zdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5TUElfQ2xvc2VSeF9JU1I8L3NwYW4+PC9zcGFuPigpPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSZuYnNwO292ZXJydW4gZmxhZyBpbiA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlNQSV9DbG9zZVJ4VHhfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SVNSKDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5TUElfQ2xvc2VSeF9JU1I8L3NwYW4+PC9zcGFuPigpPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibWFyZ2luLXRvcDowaW47dGV4dC1hbGlnbjpzdGFydDt3b3JkLXNwYWNpbmc6MHB4IgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTIgbGV2ZWwxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzU2O3RhYi1zdG9wczpsaXN0IC41aW4iPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IHRleHQtYWxpZ246IHN0YXJ0OyB3b3JkLXNwYWNpbmc6IDBweDsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAogCiAKIAotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPkhBTAotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRE1BMkQ8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iYXBwbGUtY29udmVydGVkLXNwYWNlIj48c3Bhbgotc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+Jm5ic3A7PC9zcGFuPjwvc3Bhbj48L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij51cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTIgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNTY7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlVwZGF0ZSB0aGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9ETUEyRF88c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuCi1zdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5EZUluaXQoPC9zcGFuPjwvc3Bhbj4pCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiB0bzo8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDEyIGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNTY7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkFib3J0CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBETUEyRDxzcGFuIGNsYXNzPSJhcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Jm5ic3A7PC9zcGFuPjwvc3Bhbj48L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUgdGhlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUxfRE1BMkRfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkRlSW5pdCg8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIHRvOjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BYm9ydAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2ZlciBpbiBjYXNlIG9mIG9uZ29pbmcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRE1BMkQgdHJhbnNmZXI8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0bzttc28tbGlzdDpsMTIKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsMyBsZm81Njt0YWItc3RvcHM6IGxpc3QKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+UmVzZXQgRE1BMkQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udHJvbCA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuCi1zdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5yZWdpc3RlcnM8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBETUEyRCB0cmFuc2Zlcjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlJlc2V0IERNQTJECisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRyb2wgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnJlZ2lzdGVyczwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0bzttc28tbGlzdDpsMTIKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXZlbDIgbGZvNTY7dGFiLXN0b3BzOiBsaXN0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5VcGRhdGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9ETUEyRF88c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuCi1zdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5BYm9ydCg8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXBkYXRlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUxfRE1BMkRfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFib3J0KDwvc3Bhbj48L3NwYW4+KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gZGlzYWJsZSBETUEyRCBpbnRlcnJ1cHRzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZnRlciBzdG9wcGluZyB0cmFuc2Zlcjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMy41cHQ7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTIgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNTY7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPk9wdGltaXplCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUxfRE1BMkRfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3Bhbgotc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SVJRSGFuZGxlcig8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFmdGVyIHN0b3BwaW5nIHRyYW5zZmVyPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEzLjVwdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+T3B0aW1pemUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9ETUEyRF88c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SVJRSGFuZGxlcig8L3NwYW4+PC9zcGFuPikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ5IHJlYWRpbmcgc3RhdHVzIHJlZ2lzdGVycwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25seSBvbmNlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDEyIGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzU2O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5VcGRhdGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9ETUEyRF88c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuCi1zdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5Qcm9ncmFtTGluZUV2ZW50KDwvc3Bhbj48L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gdG86PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxMiBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzU2O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5SZXR1cm4gSEFMCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbmx5IG9uY2U8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9ETUEyRF88c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+UHJvZ3JhbUxpbmVFdmVudCg8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIHRvOjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5SZXR1cm4gSEFMCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yIHN0YXRlIGluIGNhc2Ugb2Ygd3JvbmcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZSA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPnZhbHVlPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTIgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm81Njt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+RW5hYmxlIGxpbmUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZSA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dmFsdWU8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RW5hYmxlIGxpbmUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50ZXJydXB0IGFmdGVyIHNldHRpbmcgdGhlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUgd2F0ZXJtYXJrIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+Y29uZmlndXJhdGlvbjwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUgd2F0ZXJtYXJrIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5jb25maWd1cmF0aW9uPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTIgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNTY7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkIG5ldworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX0RNQTJEXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5DTFVUTG9hZCg8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZDxzcGFuIGNsYXNzPSJhcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Jm5ic3A7PC9zcGFuPjwvc3Bhbj5IQUxfRE1BMkRfQ0xVVExvYWRfSVQoKTxzcGFuIGNsYXNzPSJhcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Jm5ic3A7PC9zcGFuPjwvc3Bhbj5mdW5jdGlvbnMKIAogCiAKIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+QWRkIG5ldwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX0RNQTJEXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4KLXN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkNMVVRMb2FkKDwvc3Bhbj48L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+PHNwYW4KLXN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPiZuYnNwOzwvc3Bhbj48L3NwYW4+SEFMX0RNQTJEX0NMVVRMb2FkX0lUKCk8c3BhbgotY2xhc3M9ImFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj4mbmJzcDs8L3NwYW4+PC9zcGFuPmZ1bmN0aW9ucwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0byBzdGFydCBETUEyRCBDTFVUIGxvYWRpbmc8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDEyIGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNTY7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkhBTF9ETUEyRF9DTFVUTG9hZGluZ188c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkFib3J0KDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gc3RhcnQgRE1BMkQgQ0xVVCBsb2FkaW5nPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9ETUEyRF9DTFVUTG9hZGluZ188c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWJvcnQoPC9zcGFuPjwvc3Bhbj4pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIHRvIGFib3J0IHRoZSBETUEyRAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDTFVUIGxvYWRpbmc8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTIgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm81Njt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SEFMX0RNQTJEX0NMVVRMb2FkaW5nXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+U3VzcGVuZCg8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ0xVVCBsb2FkaW5nPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfRE1BMkRfQ0xVVExvYWRpbmdfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlN1c3BlbmQoPC9zcGFuPjwvc3Bhbj4pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIHRvIHN1c3BlbmQgdGhlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERNQTJEIENMVVQgbG9hZGluZzwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxMiBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzU2O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5IQUxfRE1BMkRfQ0xVVExvYWRpbmdfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5SZXN1bWUoPC9zcGFuPjwvc3Bhbj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERNQTJEIENMVVQgbG9hZGluZzwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX0RNQTJEX0NMVVRMb2FkaW5nXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5SZXN1bWUoPC9zcGFuPjwvc3Bhbj4pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIHRvIHJlc3VtZSB0aGUgRE1BMkQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ0xVVCBsb2FkaW5nPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENMVVQgbG9hZGluZzwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxMiBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm81Njt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+QWRkIG5ldyBETUEyRAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVhZCB0aW1lIG1hbmFnZW1lbnQ6PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxMiBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzU2O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5IQUxfRE1BMkRfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5FbmFibGVEZWFkVGltZSg8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQgbmV3IERNQTJECisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWFkIHRpbWUgbWFuYWdlbWVudDo8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX0RNQTJEXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5FbmFibGVEZWFkVGltZSg8L3NwYW4+PC9zcGFuPikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gdG8gZW5hYmxlIERNQTJECi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlYWQgdGltZSBmZWF0dXJlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDEyIGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNTY7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkhBTF9ETUEyRF88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkRpc2FibGVEZWFkVGltZSg8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVhZCB0aW1lIGZlYXR1cmU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9ETUEyRF88c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RGlzYWJsZURlYWRUaW1lKDwvc3Bhbj48L3NwYW4+KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiB0byBkaXNhYmxlIERNQTJECi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlYWQgdGltZSBmZWF0dXJlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDEyIGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNTY7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkhBTF9ETUEyRF88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkNvbmZpZ0RlYWRUaW1lKDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWFkIHRpbWUgZmVhdHVyZTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX0RNQTJEXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5Db25maWdEZWFkVGltZSg8L3NwYW4+PC9zcGFuPikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gdG8gY29uZmlndXJlIGRlYWQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGltZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGltZTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxMiBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm81Njt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+VXBkYXRlIHRoZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZSB0aGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWUgb2YgRE1BMkQgSW5wdXQvT3V0cHV0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvciBtb2RlIGRlZmluZXMgdG8gYmUgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPm1vcmUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yIG1vZGUgZGVmaW5lcyB0byBiZSA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+bW9yZQogCiAKIApAQCAtMjc2NjEsNTkyICs1Nzc2LDY4IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VyIChETUEyRF9JTlBVVF9YWFggZm9yCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnB1dCBsYXllcnMgQ29sb3JzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRE1BMkRfT1VUUFVUX1hYWCBmb3Igb3V0cHV0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmcmFtZWJ1ZmZlciBDb2xvcnMpPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyYW1lYnVmZmVyIENvbG9ycyk8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtYXJnaW4tdG9wOjBpbjt0ZXh0LWFsaWduOnN0YXJ0O3dpZG93czoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE7d29yZC1zcGFjaW5nOjBweCIgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTAgbGV2ZWwxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzU3O3RhYi1zdG9wczpsaXN0IC41aW4iPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IHRleHQtYWxpZ246IHN0YXJ0OyB3aWRvd3M6IDE7IHdvcmQtc3BhY2luZzogMHB4OyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMCiAKIAogCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+SEFMCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMVERDPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+PHNwYW4KLXN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPiZuYnNwOzwvc3Bhbj48L3NwYW4+PC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+dXBkYXRlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExUREM8c3BhbiBjbGFzcz0iYXBwbGUtY29udmVydGVkLXNwYWNlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPiZuYnNwOzwvc3Bhbj48L3NwYW4+PC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtYXJnaW4tdG9wOjBpbjt0ZXh0LWFsaWduOnN0YXJ0O3dpZG93czoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE7d29yZC1zcGFjaW5nOjBweCIgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDgxIGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzU4O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5VcGRhdGUgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5IQUxfTFREQ188L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5JUlFIYW5kbGVyKDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyB0ZXh0LWFsaWduOiBzdGFydDsgd2lkb3dzOiAxOyB3b3JkLXNwYWNpbmc6IDBweDsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXBkYXRlIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX0xURENfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SVJRSGFuZGxlcig8L3NwYW4+PC9zcGFuPikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvIG1hbmFnZSB0aGUgY2FzZSBvZiByZWxvYWQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludGVycnVwdDwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDgxIGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzU4O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5BZGQgbmV3Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYWxsYmFjayBBUEkgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5IQUxfTFREQ188L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5SZWxvYWRFdmVudENhbGxiYWNrKDwvc3Bhbj48L3NwYW4+KTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDgxIGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzU4O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5BZGQgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5IQUxfTFREQ188L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5SZWxvYWQoPC9zcGFuPjwvc3Bhbj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnRlcnJ1cHQ8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQgbmV3CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYWxsYmFjayBBUEkgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfTFREQ188L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5SZWxvYWRFdmVudENhbGxiYWNrKDwvc3Bhbj48L3NwYW4+KTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZCA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9MVERDXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlJlbG9hZCg8L3NwYW4+PC9zcGFuPikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvIGNvbmZpZ3VyZSBMVERDIHJlbG9hZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmVhdHVyZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw4MSBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm81ODt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+QWRkIG5ldyBObwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVsb2FkIExUREMgdmFyaWFudCA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+QVBJczwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw4MSBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzU4O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SEFMX0xURENfQ29uZmlnTGF5ZXJfPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5Ob1JlbG9hZCg8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPikgdG8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZlYXR1cmU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQgbmV3IE5vCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWxvYWQgTFREQyB2YXJpYW50IDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BUElzPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX0xURENfQ29uZmlnTGF5ZXJfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5Ob1JlbG9hZCg8L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4pIHRvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyZSB0aGUgTFREQyBMYXllcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY2NvcmRpbmcgdG8gdGhlIHNwZWNpZmllZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aXRob3V0IHJlbG9hZGluZzwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw4MSBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzU4O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SEFMX0xURENfU2V0V2luZG93U2l6ZV88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPk5vUmVsb2FkKDwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+KSB0byBzZXQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2l0aG91dCByZWxvYWRpbmc8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9MVERDX1NldFdpbmRvd1NpemVfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5Ob1JlbG9hZCg8L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4pIHRvIHNldAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgTFREQyB3aW5kb3cgc2l6ZSB3aXRob3V0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbG9hZGluZzwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsODEgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm81ODt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkhBTF9MVERDX1NldFdpbmRvd1Bvc2l0aW9uXzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+Tm9SZWxvYWQoPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4pIHRvIHNldAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWxvYWRpbmc8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9MVERDX1NldFdpbmRvd1Bvc2l0aW9uXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Tm9SZWxvYWQoPC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+KSB0byBzZXQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIExUREMgd2luZG93IHBvc2l0aW9uCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpdGhvdXQgcmVsb2FkaW5nPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDgxIGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNTg7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5IQUxfTFREQ19TZXRQaXhlbEZvcm1hdF88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPk5vUmVsb2FkKDwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+KSB0bworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aXRob3V0IHJlbG9hZGluZzwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX0xURENfU2V0UGl4ZWxGb3JtYXRfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5Ob1JlbG9hZCg8L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4pIHRvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlY29uZmlndXJlIHRoZSBwaXhlbCBmb3JtYXQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2l0aG91dCByZWxvYWRpbmc8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsODEgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm81ODt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkhBTF9MVERDX1NldEFscGhhXzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+Tm9SZWxvYWQoPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4pIHRvCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpdGhvdXQgcmVsb2FkaW5nPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfTFREQ19TZXRBbHBoYV88L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPk5vUmVsb2FkKDwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPikgdG8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVjb25maWd1cmUgdGhlIGxheWVyIGFscGhhCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIHdpdGhvdXQgcmVsb2FkaW5nPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDgxIGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNTg7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5IQUxfTFREQ19TZXRBZGRyZXNzXzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+Tm9SZWxvYWQoPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4pIHRvCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIHdpdGhvdXQgcmVsb2FkaW5nPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfTFREQ19TZXRBZGRyZXNzXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Tm9SZWxvYWQoPC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+KSB0bwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWNvbmZpZ3VyZSB0aGUgZnJhbWUgYnVmZmVyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgd2l0aG91dCByZWxvYWRpbmc8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsODEgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm81ODt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkhBTF9MVERDX1NldFBpdGNoXzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+Tm9SZWxvYWQoPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4pIHRvCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgd2l0aG91dCByZWxvYWRpbmc8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9MVERDX1NldFBpdGNoXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Tm9SZWxvYWQoPC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+KSB0bwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWNvbmZpZ3VyZSB0aGUgcGl0Y2ggZm9yCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNwZWNpZmljIGNhc2VzPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw4MSBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzU4O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SEFMX0xURENfQ29uZmlnQ29sb3JLZXlpbmdfPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5Ob1JlbG9hZCg8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPikgdG8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3BlY2lmaWMgY2FzZXM8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9MVERDX0NvbmZpZ0NvbG9yS2V5aW5nXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Tm9SZWxvYWQoPC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+KSB0bwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25maWd1cmUgdGhlIGNvbG9yIGtleWluZwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aXRob3V0IHJlbG9hZGluZzwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw4MSBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzU4O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SEFMX0xURENfRW5hYmxlQ29sb3JLZXlpbmdfPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5Ob1JlbG9hZCg8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPikgdG8gZW5hYmxlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpdGhvdXQgcmVsb2FkaW5nPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfTFREQ19FbmFibGVDb2xvcktleWluZ188L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPk5vUmVsb2FkKDwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPikgdG8gZW5hYmxlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBjb2xvciBrZXlpbmcgd2l0aG91dAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWxvYWRpbmc8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDgxIGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNTg7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5IQUxfTFREQ19EaXNhYmxlQ29sb3JLZXlpbmdfPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5Ob1JlbG9hZCg8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPikgdG8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVsb2FkaW5nPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfTFREQ19EaXNhYmxlQ29sb3JLZXlpbmdfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5Ob1JlbG9hZCg8L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4pIHRvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGUgdGhlIGNvbG9yIGtleWluZwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aXRob3V0IHJlbG9hZGluZzwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw4MSBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzU4O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SEFMX0xURENfRW5hYmxlQ0xVVF88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPk5vUmVsb2FkKDwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+KSB0byBlbmFibGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2l0aG91dCByZWxvYWRpbmc8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9MVERDX0VuYWJsZUNMVVRfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5Ob1JlbG9hZCg8L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4pIHRvIGVuYWJsZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgY29sb3IgbG9va3VwIHRhYmxlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpdGhvdXQgcmVsb2FkaW5nPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDgxIGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNTg7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5IQUxfTFREQ19EaXNhYmxlQ0xVVF88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPk5vUmVsb2FkKDwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+KSB0bworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aXRob3V0IHJlbG9hZGluZzwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX0xURENfRGlzYWJsZUNMVVRfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5Ob1JlbG9hZCg8L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4pIHRvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGUgdGhlIGNvbG9yIGxvb2t1cAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YWJsZSB3aXRob3V0IHJlbG9hZGluZzwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw4MSBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzU4O3RhYi1zdG9wczpsaXN0IDEuNWluIj48aT48dT48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5Ob3RlOjwvc3Bhbj48L3U+PC9pPjxzcGFuCi1jbGFzcz0iYXBwbGUtY29udmVydGVkLXNwYWNlIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPiZuYnNwOzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+VmFyaWFudAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbnMgd2l0aCCTXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPk5vUmVsb2FkPC9zcGFuPjwvc3Bhbj6UCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhYmxlIHdpdGhvdXQgcmVsb2FkaW5nPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxpPjx1PjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5Ob3RlOjwvc3Bhbj48L3U+PC9pPjxzcGFuIGNsYXNzPSJhcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4mbmJzcDs8L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5WYXJpYW50CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9ucyB3aXRoIJNfPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5Ob1JlbG9hZDwvc3Bhbj48L3NwYW4+lAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3N0IGZpeCBhbGxvd3MgdG8gc2V0IHRoZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMVERDIGNvbmZpZ3VyYXRpb24vc2V0dGluZ3MKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2l0aG91dCBpbW1lZGlhdGUgcmVsb2FkLgpAQCAtMjgyNTYsMjE3ICs1ODQ3LDQ1IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChvbiBvbmUgb3IgYm90aCBsYXllcnMpIHRoZW4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXBwbHlpbmcgKHJlbG9hZCkgdGhlc2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0dGluZ3MgaW4gb25lIHNob3QgYnkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FsbGluZyB0aGUgZnVuY3Rpb24gkzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkhBTF9MVERDXzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5SZWxvYWQ8L3NwYW4+PC9zcGFuPpQ8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FsbGluZyB0aGUgZnVuY3Rpb24gkzxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX0xURENfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+UmVsb2FkPC9zcGFuPjwvc3Bhbj6UPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw4MSBsZXZlbDEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNTg7dGFiLXN0b3BzOmxpc3QgLjVpbiI+PGI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMCiAKIAogCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+SEFMCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSVEM8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iYXBwbGUtY29udmVydGVkLXNwYWNlIj48c3Bhbgotc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+Jm5ic3A7PC9zcGFuPjwvc3Bhbj48L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij51cGRhdGUmbmJzcDs8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsODEgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNTg7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkFkZCBuZXcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJUQzxzcGFuIGNsYXNzPSJhcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Jm5ic3A7PC9zcGFuPjwvc3Bhbj48L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGUmbmJzcDs8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQgbmV3CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aW1lb3V0IGltcGxlbWVudGF0aW9uIGJhc2VkCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbiA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPmNwdTwvc3Bhbj48L3NwYW4+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbiA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPmNwdTwvc3Bhbj48L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjeWNsZXMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciZuYnNwO0FMUkFXRiwmbmJzcDtBTFJCV0YKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCBXVVRXRiBmbGFnczwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgV1VUV0YgZmxhZ3M8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtYXJnaW4tdG9wOjBpbjt0ZXh0LWFsaWduOnN0YXJ0O3dpZG93czoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE7d29yZC1zcGFjaW5nOjBweCIgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsOTIgbGV2ZWwxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzU5O3RhYi1zdG9wczpsaXN0IC41aW4iPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IHRleHQtYWxpZ246IHN0YXJ0OyB3aWRvd3M6IDE7IHdvcmQtc3BhY2luZzogMHB4OyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMCiAKIAogCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+SEFMCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTQUk8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iYXBwbGUtY29udmVydGVkLXNwYWNlIj48c3Bhbgotc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+Jm5ic3A7PC9zcGFuPjwvc3Bhbj48L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij51cGRhdGU8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsOTIgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNTk7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlVwZGF0ZSBTQUkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNBSTxzcGFuIGNsYXNzPSJhcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Jm5ic3A7PC9zcGFuPjwvc3Bhbj48L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZSBTQUkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRlIGluIGNhc2Ugb2YgVElNRU9VVCBlcnJvcgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2l0aGluIHRoZTxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJhcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPjxzcGFuCi1zdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj4mbmJzcDs8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX1NBSV88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5UcmFuc21pdCg8L3NwYW4+PC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8gPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4KLXN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkhBTF9TQUlfUmVjZWl2ZTwvc3Bhbj48L3NwYW4+KCk8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw5MiBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm81OTt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+VXBkYXRlIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX1NBSV9JUlFIYW5kbGVyPC9zcGFuPjwvc3Bhbj46PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw5MiBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzU5O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5BZGQgZXJyb3IKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpdGhpbiB0aGU8c3BhbiBjbGFzcz0iYXBwbGUtY29udmVydGVkLXNwYWNlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPiZuYnNwOzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfU0FJXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlRyYW5zbWl0KDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9TQUlfUmVjZWl2ZTwvc3Bhbj48L3NwYW4+KCk8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfU0FJX0lSUUhhbmRsZXI8L3NwYW4+PC9zcGFuPjo8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkIGVycm9yCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hbmFnZW1lbnQgaW4gY2FzZSBETUEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3JzIHRocm91Z2ggPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPlhmZXJBYm9ydENhbGxiYWNrKDwvc3Bhbj48L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4KLXN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkhBTF9ETUFfQWJvcnRfSVQ8L3NwYW4+PC9zcGFuPigpPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDkyIGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNTk7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkFkZCBlcnJvcgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYW5hZ2VtZW50IGluIGNhc2Ugb2YgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5JVDwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVycm9ycyB0aHJvdWdoIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5YZmVyQWJvcnRDYWxsYmFjayg8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX0RNQV9BYm9ydF9JVDwvc3Bhbj48L3NwYW4+KCk8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZCBlcnJvcgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYW5hZ2VtZW50IGluIGNhc2Ugb2YgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPklUPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsOTIgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNTk7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPk1vdmUgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5TQUlfPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+QmxvY2tTeW5jaHJvQ29uZmlnKDwvc3Bhbj48L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi1zdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5TQUlfR2V0SW5wdXRDbG9jazwvc3Bhbj48L3NwYW4+KCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5Nb3ZlIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+U0FJXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkJsb2NrU3luY2hyb0NvbmZpZyg8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlNBSV9HZXRJbnB1dENsb2NrPC9zcGFuPjwvc3Bhbj4oKQogCiAKIApAQCAtMjg0NzUsMzEzNiArNTg5NCw1NTEgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0bTMyZjR4eF9oYWxfc2FpLmMvLmggZmlsZXMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChleHRlbnNpb24gZmlsZXMgYXJlIGtlcHQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVtcHR5IGZvciBwcm9qZWN0cwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tcGF0aWJpbGl0eSByZWFzb24pPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbXBhdGliaWxpdHkgcmVhc29uKTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1hcmdpbi10b3A6MGluO3RleHQtYWxpZ246c3RhcnQ7d2lkb3dzOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTt3b3JkLXNwYWNpbmc6MHB4IiB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw5IGxldmVsMQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm82MDt0YWItc3RvcHM6bGlzdCAuNWluIj48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyB0ZXh0LWFsaWduOiBzdGFydDsgd2lkb3dzOiAxOyB3b3JkLXNwYWNpbmc6IDBweDsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAogCiAKIAotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPkhBTAotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRENNSTxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJhcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPjxzcGFuCi1zdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj4mbmJzcDs8L3NwYW4+PC9zcGFuPjwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPnVwZGF0ZTxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw5IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzYwO3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5SZW5hbWUgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5EQ01JX0RNQUNvbnZDcGx0PC9zcGFuPjwvc3Bhbj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi1zdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5EQ01JX0RNQVhmZXJDcGx0PC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw5IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzYwO3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5VcGRhdGU8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iYXBwbGUtY29udmVydGVkLXNwYWNlIj48c3Bhbgotc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+Jm5ic3A7PC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkhBTF9EQ01JX1N0YXJ0Xzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkRNQSg8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERDTUk8c3BhbiBjbGFzcz0iYXBwbGUtY29udmVydGVkLXNwYWNlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPiZuYnNwOzwvc3Bhbj48L3NwYW4+PC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlPG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5SZW5hbWUgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5EQ01JX0RNQUNvbnZDcGx0PC9zcGFuPjwvc3Bhbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RENNSV9ETUFYZmVyQ3BsdDwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXBkYXRlPHNwYW4gY2xhc3M9ImFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4mbmJzcDs8L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX0RDTUlfU3RhcnRfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RE1BKDwvc3Bhbj48L3NwYW4+KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gdG8mbmJzcDtFbmFibGUgdGhlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEQ01JIHBlcmlwaGVyYWw8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw5IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzYwO3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5BZGQgbmV3CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEQ01JIHBlcmlwaGVyYWw8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQgbmV3CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aW1lb3V0IGltcGxlbWVudGF0aW9uIGJhc2VkCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbiA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPmNwdTwvc3Bhbj48L3NwYW4+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjeWNsZXMgZm9yIERDTUkgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPnN0b3A8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDkgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNjA7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkFkZCA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkhBTF9EQ01JXzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPlN1c3BlbmQoPC9zcGFuPjwvc3Bhbj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbiA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPmNwdTwvc3Bhbj48L3NwYW4+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjeWNsZXMgZm9yIERDTUkgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnN0b3A8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZCA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9EQ01JXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlN1c3BlbmQoPC9zcGFuPjwvc3Bhbj4pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiB0byBzdXNwZW5kIERDTUkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhcHR1cmU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsOSBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm82MDt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+QWRkIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX0RDTUlfPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+UmVzdW1lKDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FwdHVyZTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZCA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9EQ01JXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlJlc3VtZSg8L3NwYW4+PC9zcGFuPikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIHRvIHJlc3VtZSBjYXB0dXJlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZnRlciBEQ01JIHN1c3BlbmQ8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw5IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzYwO3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5VcGRhdGUgbG9jawotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVjaGFuaXNtIGZvciBEQ01JIHByb2Nlc3M8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw5IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzYwO3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5VcGRhdGUgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5IQUxfRENNSV88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5JUlFIYW5kbGVyKDwvc3Bhbj48L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gdG86PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw5IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNjA7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkFkZCBlcnJvcgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWZ0ZXIgRENNSSBzdXNwZW5kPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXBkYXRlIGxvY2sKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lY2hhbmlzbSBmb3IgRENNSSBwcm9jZXNzPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXBkYXRlIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX0RDTUlfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SVJRSGFuZGxlcig8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIHRvOjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQgZXJyb3IKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFuYWdlbWVudCBpbiBjYXNlIERNQQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJvcnMgdGhyb3VnaCA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+WGZlckFib3J0Q2FsbGJhY2soPC9zcGFuPjwvc3Bhbj4pCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3Bhbgotc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX0RNQV9BYm9ydF9JVDwvc3Bhbj48L3NwYW4+KCk8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsOSBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzYwO3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5PcHRpbWl6ZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJvcnMgdGhyb3VnaCA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+WGZlckFib3J0Q2FsbGJhY2soPC9zcGFuPjwvc3Bhbj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9ETUFfQWJvcnRfSVQ8L3NwYW4+PC9zcGFuPigpPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5PcHRpbWl6ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2RlIGJ5IHVzaW5nIGRpcmVjdAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWdpc3RlciA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPnJlYWQ8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWdpc3RlciA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+cmVhZDwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibWFyZ2luLXRvcDowaW47dGV4dC1hbGlnbjpzdGFydDt3b3JkLXNwYWNpbmc6MHB4IgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNDEgbGV2ZWwxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzYxO3RhYi1zdG9wczpsaXN0IC41aW4iPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IHRleHQtYWxpZ246IHN0YXJ0OyB3b3JkLXNwYWNpbmc6IDBweDsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAogCiAKIAotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPkhBTAotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGk+RE1BPC9pPjwvc3Bhbj48L2I+PGk+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+PC9pPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij51cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw0MSBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm82MTt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+QWRkIG5ldyBBUElzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkhBTF9ETUFfPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+UmVnaXN0ZXJDYWxsYmFjayg8L3NwYW4+PC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3Bhbgotc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX0RNQV9VblJlZ2lzdGVyQ2FsbGJhY2s8L3NwYW4+PC9zcGFuPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGk+RE1BPC9pPjwvc3Bhbj48L2I+PGk+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj48L2k+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZCBuZXcgQVBJcworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfRE1BXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlJlZ2lzdGVyQ2FsbGJhY2soPC9zcGFuPjwvc3Bhbj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfRE1BX1VuUmVnaXN0ZXJDYWxsYmFjazwvc3Bhbj48L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0byByZWdpc3Rlci91bnJlZ2lzdGVyIHRoZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlmZmVyZW50IGNhbGxiYWNrcyBpZGVudGlmaWVkCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBieSB0aGUgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4KLXN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPmVudW08L3NwYW4+PC9zcGFuPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZWRlZiA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3Bhbgotc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX0RNQV9DYWxsYmFja0lEVHlwZURlZjwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNDEgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNjE7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkFkZCBuZXcgQVBJIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX0RNQV9BYm9ydF88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5JVCg8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ5IHRoZSA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPmVudW08L3NwYW4+PC9zcGFuPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZWRlZiA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9ETUFfQ2FsbGJhY2tJRFR5cGVEZWY8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZCBuZXcgQVBJIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX0RNQV9BYm9ydF88L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5JVCg8L3NwYW4+PC9zcGFuPikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvIGFib3J0IERNQSB0cmFuc2ZlciB1bmRlcgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50ZXJydXB0IGNvbnRleHQ8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDQxIGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNjE7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlRoZSBuZXcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludGVycnVwdCBjb250ZXh0PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlRoZSBuZXcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVnaXN0ZXJlZCBBYm9ydCBjYWxsYmFjayBpcwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYWxsZWQgd2hlbiBETUEgdHJhbnNmZXIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWJvcnRpb24gaXMgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5jb21wbGV0ZWQ8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhYm9ydGlvbiBpcyA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Y29tcGxldGVkPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNDEgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNjE7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkFkZCB0aGUgY2hlY2sKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQgdGhlIGNoZWNrCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvZiBjb21wYXRpYmlsaXR5IGJldHdlZW4gRklGTwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhyZXNob2xkIGxldmVsIGFuZCBzaXplIG9mCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgbWVtb3J5IGJ1cnN0IGluIHRoZSA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkhBTF9ETUFfPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SW5pdCg8L3NwYW4+PC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFQSTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDQxIGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzYxO3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5BZGQgbmV3IEVycm9yCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgbWVtb3J5IGJ1cnN0IGluIHRoZSA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9ETUFfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SW5pdCg8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFQSTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZCBuZXcgRXJyb3IKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENvZGVzOiBIQUxfRE1BX0VSUk9SX1BBUkFNLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX0RNQV9FUlJPUl9OT19YRkVSIGFuZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX0RNQV9FUlJPUl9OT1RfU1VQUE9SVEVEPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNDEgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNjE7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlJlbW92ZSBhbGwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9ETUFfRVJST1JfTk9UX1NVUFBPUlRFRDwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlJlbW92ZSBhbGwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERNQSBzdGF0ZXMgcmVsYXRlZCB0bwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUVNMC9NRU0xIGluIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX0RNQV9TdGF0ZVR5cGVEZWY8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNRU0wL01FTTEgaW4gPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfRE1BX1N0YXRlVHlwZURlZjwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw0MSBsZXZlbDEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNjE7dGFiLXN0b3BzOmxpc3QgLjVpbiI+PGI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMCiAKIAogCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+SEFMCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJV0RHPC9zcGFuPjwvYj48aT48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPjwvaT48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+dXBkYXRlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNDEgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNjE7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPk92ZXJhbGwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElXREc8L3NwYW4+PC9iPjxpPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+PC9pPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5PdmVyYWxsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXdvcmsgb2YgdGhlIGRyaXZlciBmb3IgYQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9yZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWZmaWNpZW50Jm5ic3A7aW1wbGVtZW50YXRpb248L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDQxIGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNjE7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlJlbW92ZSB0aGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9sbG93aW5nIEFQSXM6PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDQxIGxldmVsNAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm82MTt0YWItc3RvcHM6bGlzdCAyLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SEFMX0lXREdfPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlN0YXJ0KDwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+KTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNDEgbGV2ZWw0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzYxO3RhYi1zdG9wczpsaXN0IDIuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5IQUxfSVdER188L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+TXNwSW5pdCg8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPik8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDQxIGxldmVsNAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm82MTt0YWItc3RvcHM6bGlzdCAyLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SEFMX0lXREdfPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkdldFN0YXRlKDwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+KTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVmZmljaWVudCZuYnNwO2ltcGxlbWVudGF0aW9uPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlJlbW92ZSB0aGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9sbG93aW5nIEFQSXM6PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfSVdER188L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlN0YXJ0KDwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPik8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX0lXREdfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5Nc3BJbml0KDwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPik8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX0lXREdfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5HZXRTdGF0ZSg8L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4pPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNDEgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm82MTt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+VXBkYXRlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGltcGxlbWVudGF0aW9uOjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw0MSBsZXZlbDQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNjE7dGFiLXN0b3BzOmxpc3QgMi4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkhBTF9JV0RHXzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5Jbml0KDwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+KTogdGhpcworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXBkYXRlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGltcGxlbWVudGF0aW9uOjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX0lXREdfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5Jbml0KDwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPik6IHRoaXMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiBpbnN1cmVzIHRoZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYXRpb24gYW5kIHRoZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXJ0IG9mIHRoZSBJV0RHIGNvdW50ZXI8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDQxIGxldmVsNAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm82MTt0YWItc3RvcHM6bGlzdCAyLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SEFMX0lXREdfPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlJlZnJlc2goPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4pOiB0aGlzCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhcnQgb2YgdGhlIElXREcgY291bnRlcjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfSVdER188L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlJlZnJlc2goPC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+KTogdGhpcwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGluc3VyZXMgdGhlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVsb2FkIG9mIHRoZSBJV0RHIGNvdW50ZXI8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVsb2FkIG9mIHRoZSBJV0RHIGNvdW50ZXI8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw0MSBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzYxO3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5SZWZlciB0bworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+UmVmZXIgdG8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIGZvbGxvd2luZyBleGFtcGxlIHRvCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkZW50aWZ5IHRoZSBjaGFuZ2VzOiA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5JV0RHXzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5FeGFtcGxlPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWRlbnRpZnkgdGhlIGNoYW5nZXM6IDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SVdER188L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5FeGFtcGxlPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDQxIGxldmVsMQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm82MTt0YWItc3RvcHM6bGlzdCAuNWluIj48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKIAogCiAKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij5IQUwKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExQVElNPC9zcGFuPjwvYj48aT48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPjwvaT48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+dXBkYXRlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNDEgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNjE7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlVwZGF0ZSA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkhBTF9MUFRJTV9UaW1lT3V0X1N0YXJ0Xzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPklUKDwvc3Bhbj48L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi1zdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5IQUxfTFBUSU1fQ291bnRlcl9TdGFydF9JVDwvc3Bhbj48L3NwYW4+KAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSBBUElzIHRvIGNvbmZpZ3VyZSA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPldha2VVcDwvc3Bhbj48L3NwYW4+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMUFRJTTwvc3Bhbj48L2I+PGk+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj48L2k+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZSA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9MUFRJTV9UaW1lT3V0X1N0YXJ0Xzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPklUKDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX0xQVElNX0NvdW50ZXJfU3RhcnRfSVQ8L3NwYW4+PC9zcGFuPigKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkgQVBJcyB0byBjb25maWd1cmUgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5XYWtlVXA8L3NwYW4+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGltZXIgRVhUSSBpbnRlcnJ1cHQgdG8gYmUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFibGUgdG8gPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4KLXN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPndha2V1cDwvc3Bhbj48L3NwYW4+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhYmxlIHRvIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+d2FrZXVwPC9zcGFuPjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1DVSBmcm9tIGxvdyBwb3dlciBtb2RlIGJ5Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmVzc2luZyB0aGUgRVhUSSBsaW5lLiA8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw0MSBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm82MTt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+VXBkYXRlIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX0xQVElNX1RpbWVPdXRfU3RvcF88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5JVCg8L3NwYW4+PC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3Bhbgotc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX0xQVElNX0NvdW50ZXJfU3RvcF9JVDwvc3Bhbj48L3NwYW4+KAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSBBUElzIHRvIGRpc2FibGUgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5XYWtlVXA8L3NwYW4+PC9zcGFuPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGltZXIgRVhUSSBpbnRlcnJ1cHQuJm5ic3A7PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByZXNzaW5nIHRoZSBFWFRJIGxpbmUuIDwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZSA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9MUFRJTV9UaW1lT3V0X1N0b3BfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SVQoPC9zcGFuPjwvc3Bhbj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfTFBUSU1fQ291bnRlcl9TdG9wX0lUPC9zcGFuPjwvc3Bhbj4oCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApIEFQSXMgdG8gZGlzYWJsZSA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPldha2VVcDwvc3Bhbj48L3NwYW4+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaW1lciBFWFRJIGludGVycnVwdC4mbmJzcDs8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDQxIGxldmVsMQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm82MTt0YWItc3RvcHM6bGlzdCAuNWluIj48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKIAogCiAKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij5IQUwKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5PUjwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iYXBwbGUtY29udmVydGVkLXNwYWNlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+Jm5ic3A7PC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+dXBkYXRlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDQxIGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzYxO3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5VcGRhdGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5PUl9BRERSX1NISUZUIG1hY3JvIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5pbXBsZW1lbnRhdGlvbjwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5PUjwvc3Bhbj48L2I+PHNwYW4gY2xhc3M9ImFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPiZuYnNwOzwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTk9SX0FERFJfU0hJRlQgbWFjcm8gPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPmltcGxlbWVudGF0aW9uPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDQxIGxldmVsMQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm82MTt0YWItc3RvcHM6bGlzdCAuNWluIj48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKIAogCiAKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij5IQUwKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBDRDwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iYXBwbGUtY29udmVydGVkLXNwYWNlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+Jm5ic3A7PC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+dXBkYXRlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDQxIGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzYxO3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5VcGRhdGUgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5IQUxfUENEXzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPklSUUhhbmRsZXIoPC9zcGFuPjwvc3Bhbj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQQ0Q8L3NwYW4+PC9iPjxzcGFuIGNsYXNzPSJhcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4mbmJzcDs8L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfUENEXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPklSUUhhbmRsZXIoPC9zcGFuPjwvc3Bhbj4pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0byBnZXQgSENMSyBmcmVxdWVuY3kgYmVmb3JlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXR0aW5nIFRSRFQgdmFsdWU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0dGluZyBUUkRUIHZhbHVlPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw0MSBsZXZlbDEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNjE7dGFiLXN0b3BzOmxpc3QgLjVpbiI+PGI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMCiAKIAogCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+SEFMCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBRU1BJPC9zcGFuPjwvYj48aT48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPjwvaT48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+dXBkYXRlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUVNQSTwvc3Bhbj48L2I+PGk+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj48L2k+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibWFyZ2luLXRvcDowaW47dGV4dC1hbGlnbjpzdGFydDt3aWRvd3M6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxO3dvcmQtc3BhY2luZzowcHgiIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxMzggbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNjI7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlVwZGF0ZSB0bworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyB0ZXh0LWFsaWduOiBzdGFydDsgd2lkb3dzOiAxOyB3b3JkLXNwYWNpbmc6IDBweDsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXBkYXRlIHRvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYW5hZ2UgUVNQSSBlcnJvciBtYW5hZ2VtZW50Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkdXJpbmcgRE1BIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5wcm9jZXNzPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxMzggbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNjI7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkltcHJvdmUgdGhlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkdXJpbmcgRE1BIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5wcm9jZXNzPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5JbXByb3ZlIHRoZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRE1BIHRyYW5zbWl0IHByb2Nlc3MgYnkgdXNpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFFTUEkgVEMgaW50ZXJydXB0IGluc3RlYWQgb2YKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdhaXRpbmcgbG9vcCBvbiBUQyBmbGFnIHVuZGVyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBETUEgSVNSPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTM4IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzYyO3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5UaGVzZSB0d28KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERNQSBJU1I8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5UaGVzZSB0d28KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGltcHJvdmVtZW50cyByZXF1aXJlIHRoZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9sbG93aW5nIHVwZGF0ZXMgb24gdXNlcgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXBwbGljYXRpb246PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxMzggbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm82Mjt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXBwbGljYXRpb246PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkNvbmZpZ3VyZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgZW5hYmxlIHRoZSBRU1BJIElSUSBpbiA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9RU1BJXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPk1zcEluaXQoPC9zcGFuPjwvc3Bhbj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5JbgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdG0zMmY0eHhfaXQuYyBmaWxlLCA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlFTUElfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SVJRSGFuZGxlcig8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb246IGFkZCBhIGNhbGwgdG8gPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfUVNQSV9JUlFIYW5kbGVyPC9zcGFuPjwvc3Bhbj4oKQogCiAKIAotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+Q29uZmlndXJlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCBlbmFibGUgdGhlIFFTUEkgSVJRIGluIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkhBTF9RU1BJXzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5Nc3BJbml0KDwvc3Bhbj48L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxMzggbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm82Mjt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RtMzJmNHh4X2l0LmMgZmlsZSwgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+UVNQSV88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SVJRSGFuZGxlcig8L3NwYW4+PC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb246IGFkZCBhIGNhbGwgdG8gPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5IQUxfUVNQSV9JUlFIYW5kbGVyPC9zcGFuPjwvc3Bhbj4oKQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxMzggbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm82Mjt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+QWRkIGFuZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkIGFuZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXN0b21pemUgdGhlIEVycm9yIENhbGxiYWNrCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFQSTogPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX1FTUElfPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkVycm9yQ2FsbGJhY2soPC9zcGFuPjwvc3Bhbj4pPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFQSTogPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfUVNQSV88L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5FcnJvckNhbGxiYWNrKDwvc3Bhbj48L3NwYW4+KTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxMzggbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNjI7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkFkZCB0aGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQgdGhlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYW5hZ2VtZW50IG9mIG5vbi1ibG9ja2luZwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmZXIgYWJvcnQgc2VydmljZTombmJzcDs8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkhBTF9RU1BJX0Fib3J0Xzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPklUKDwvc3Bhbj48L3NwYW4+KS4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZmVyIGFib3J0IHNlcnZpY2U6Jm5ic3A7PHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfUVNQSV9BYm9ydF88L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5JVCg8L3NwYW4+PC9zcGFuPikuCiAKIAogCiAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEluIHRoaXMgY2FzZSB0aGUgdXNlciBtdXN0Ojwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTM4IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNjI7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkFkZCBuZXcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2sgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX1FTUElfPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkFib3J0Q3BsdENhbGxiYWNrKDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSW4gdGhpcyBjYXNlIHRoZSB1c2VyIG11c3Q6PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZCBuZXcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2sgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfUVNQSV88L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BYm9ydENwbHRDYWxsYmFjayg8L3NwYW4+PC9zcGFuPikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gaW5mb3JtIHVzZXIgYXQgdGhlIGVuZCBvZgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhYm9ydCBwcm9jZXNzPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDEzOCBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzYyO3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5BIG5ldyB2YWx1ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvZiBTdGF0ZSBpbiB0aGUgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX1FTUElfU3RhdGVUeXBlRGVmPC9zcGFuPjwvc3Bhbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWJvcnQgcHJvY2Vzczwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QSBuZXcgdmFsdWUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2YgU3RhdGUgaW4gdGhlIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX1FTUElfU3RhdGVUeXBlRGVmPC9zcGFuPjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvdmlkZXMgdGhlIGN1cnJlbnQgc3RhdGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZHVyaW5nIHRoZSBhYm9ydCA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPnBoYXNlPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZHVyaW5nIHRoZSBhYm9ydCA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+cGhhc2U8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxMzggbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNjI7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlBvbGxpbmcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hbmFnZW1lbnQgdXBkYXRlOjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTM4IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNjI7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlRoZSBUaW1lb3V0CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+UG9sbGluZworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFuYWdlbWVudCB1cGRhdGU6PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlRoZSBUaW1lb3V0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIHVzZXIgbXVzdCBiZSBlc3RpbWF0ZWQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIHRoZSBvdmVyYWxsIHByb2Nlc3MKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZHVyYXRpb246IDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+dGhlPC9zcGFuPjwvc3Bhbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZHVyYXRpb246IDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij50aGU8L3NwYW4+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaW1lb3V0IG1lYXN1cmVtZW50IGlzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1bXVsYXRpdmUuJm5ic3A7PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1bXVsYXRpdmUuJm5ic3A7PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDEzOCBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm82Mjt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+UmVmZXIgdG8gdGhlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+UmVmZXIgdG8gdGhlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb2xsb3dpbmcgZXhhbXBsZXMsIHdoaWNoCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmliZSB0aGUgY2hhbmdlczo8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDEzOCBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzYyO3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+UVNQSV9SZWFkV3JpdGVfRE1BPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxMzggbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm82Mjt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlFTUElfTWVtb3J5TWFwcGVkPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxMzggbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm82Mjt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlFTUElfRXhlY3V0ZUluUGxhY2U8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmliZSB0aGUgY2hhbmdlczo8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+UVNQSV9SZWFkV3JpdGVfRE1BPC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+UVNQSV9NZW1vcnlNYXBwZWQ8L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5RU1BJX0V4ZWN1dGVJblBsYWNlPC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1hcmdpbi10b3A6MGluO3RleHQtYWxpZ246c3RhcnQ7d2lkb3dzOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTt3b3JkLXNwYWNpbmc6MHB4IiB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTI1IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzYzO3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5BZGQgdHdvIG5ldwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVBJcyBmb3IgdGhlIFFTUEkgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5maWZvPC9zcGFuPjwvc3Bhbj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRocmVzaG9sZDo8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9ImNpcmNsZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDEyNSBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzYzO3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SEFMX1FTUElfPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5TZXRGaWZvVGhyZXNob2xkKDwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+KToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsgdGV4dC1hbGlnbjogc3RhcnQ7IHdpZG93czogMTsgd29yZC1zcGFjaW5nOiAwcHg7IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZCB0d28gbmV3CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBUElzIGZvciB0aGUgUVNQSSA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPmZpZm88L3NwYW4+PC9zcGFuPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhyZXNob2xkOjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9ImNpcmNsZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfUVNQSV88L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlNldEZpZm9UaHJlc2hvbGQoPC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+KToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uZmlndXJlIHRoZSBGSUZPIHRocmVzaG9sZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvZiB0aGUgUVNQSTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTI1IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNjM7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5IQUxfUVNQSV88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkdldEZpZm9UaHJlc2hvbGQoPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4pOiBnaXZlIHRoZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJyZW50IEZJRk8gdGhyZXNob2xkPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9mIHRoZSBRU1BJPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfUVNQSV88L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkdldEZpZm9UaHJlc2hvbGQoPC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+KTogZ2l2ZSB0aGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudCBGSUZPIHRocmVzaG9sZDwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxMjUgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNjM7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkZpeCB3cm9uZwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YSBzaXplIG1hbmFnZW1lbnQgaW4gPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5IQUxfUVNQSV9SZWNlaXZlXzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkRNQSg8L3NwYW4+PC9zcGFuPik8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkZpeCB3cm9uZworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YSBzaXplIG1hbmFnZW1lbnQgaW4gPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfUVNQSV9SZWNlaXZlXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkRNQSg8L3NwYW4+PC9zcGFuPik8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtYXJnaW4tdG9wOjBpbjt0ZXh0LWFsaWduOnN0YXJ0O3dvcmQtc3BhY2luZzowcHgiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw3MCBsZXZlbDEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNjQ7dGFiLXN0b3BzOmxpc3QgLjVpbiI+PGI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsgdGV4dC1hbGlnbjogc3RhcnQ7IHdvcmQtc3BhY2luZzogMHB4OyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMCiAKIAogCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+SEFMCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBREM8L3NwYW4+PC9iPjxpPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4gPC9zcGFuPjwvaT48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij51cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw3MCBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm82NDt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+QWRkIG5ldwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19IQUxfQURDX1BBVEhfSU5URVJOQUxfVkJBVF88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+RElTQUJMRSg8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFEQzwvc3Bhbj48L2I+PGk+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPiA8L3NwYW4+PC9pPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQgbmV3CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX0hBTF9BRENfUEFUSF9JTlRFUk5BTF9WQkFUXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5ESVNBQkxFKDwvc3Bhbj48L3NwYW4+KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFjcm8mbmJzcDtmb3IgU1RNMzJGNDJ4IGFuZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU1RNMzJGNDN4IGRldmljZXMgdG8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3ZpZGUmbmJzcDt0aGUgcG9zc2liaWxpdHkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvIGNvbnZlcnQgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5WcmVmSW50PC9zcGFuPjwvc3Bhbj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYW5uZWwgd2hlbiBib3RoIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+VnJlZkludDwvc3Bhbj48L3NwYW4+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4KLXN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPlZiYXQ8L3NwYW4+PC9zcGFuPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhbm5lbHMgYXJlIHNlbGVjdGVkLjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0byBjb252ZXJ0IDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VnJlZkludDwvc3Bhbj48L3NwYW4+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFubmVsIHdoZW4gYm90aCA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlZyZWZJbnQ8L3NwYW4+PC9zcGFuPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VmJhdDwvc3Bhbj48L3NwYW4+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFubmVscyBhcmUgc2VsZWN0ZWQuPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw3MCBsZXZlbDEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNjQ7dGFiLXN0b3BzOmxpc3QgLjVpbiI+PGI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMCiAKIAogCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+SEFMCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTUERJRlJYPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+PHNwYW4KLXN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPiZuYnNwOzwvc3Bhbj48L3NwYW4+PC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+dXBkYXRlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDcwIGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzY0O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5PdmVyYWxsIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5kcml2ZXI8L3NwYW4+PC9zcGFuPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU1BESUZSWDxzcGFuIGNsYXNzPSJhcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Jm5ic3A7PC9zcGFuPjwvc3Bhbj48L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5PdmVyYWxsIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5kcml2ZXI8L3NwYW4+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlIGZvciB3YWl0IG9uIGZsYWcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hbmFnZW1lbnQgb3B0aW1pemF0aW9uPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+PHNwYW4KLXN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPiZuYnNwOzwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hbmFnZW1lbnQgb3B0aW1pemF0aW9uPHNwYW4gY2xhc3M9ImFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4mbmJzcDs8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNzAgbGV2ZWwxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzY0O3RhYi1zdG9wczpsaXN0IC41aW4iPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAogCiAKIAotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPkhBTAotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV1dERzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJhcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPjxzcGFuCi1zdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj4mbmJzcDs8L3NwYW4+PC9zcGFuPjwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPnVwZGF0ZSZuYnNwOzwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw3MCBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm82NDt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+T3ZlcmFsbAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV1dERzxzcGFuIGNsYXNzPSJhcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Jm5ic3A7PC9zcGFuPjwvc3Bhbj48L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGUmbmJzcDs8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5PdmVyYWxsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXdvcmsgb2YgdGhlIGRyaXZlciBmb3IgbW9yZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWZmaWNpZW50IGltcGxlbWVudGF0aW9uPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw3MCBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzY0O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5SZW1vdmUgdGhlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbGxvd2luZyBBUElzOjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw3MCBsZXZlbDQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNjQ7dGFiLXN0b3BzOmxpc3QgMi4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkhBTF9XV0RHXzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5TdGFydCg8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPik8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDcwIGxldmVsNAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm82NDt0YWItc3RvcHM6bGlzdCAyLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SEFMX1dXREdfU3RhcnRfPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPklUKDwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+KTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNzAgbGV2ZWw0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzY0O3RhYi1zdG9wczpsaXN0IDIuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5IQUxfV1dER188L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+TXNwRGVJbml0KDwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+KTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNzAgbGV2ZWw0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzY0O3RhYi1zdG9wczpsaXN0IDIuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5IQUxfV1dER188L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+R2V0U3RhdGUoPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4pPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWZmaWNpZW50IGltcGxlbWVudGF0aW9uPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlJlbW92ZSB0aGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9sbG93aW5nIEFQSXM6PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfV1dER188L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlN0YXJ0KDwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPik8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX1dXREdfU3RhcnRfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5JVCg8L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4pPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9XV0RHXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+TXNwRGVJbml0KDwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPik8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX1dXREdfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5HZXRTdGF0ZSg8L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4pPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNzAgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm82NDt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+VXBkYXRlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGltcGxlbWVudGF0aW9uOjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw3MCBsZXZlbDQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNjQ7dGFiLXN0b3BzOmxpc3QgMi4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkhBTF9XV0RHXzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5Jbml0KDwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+KTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDcwIGxldmVsNQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzY0O3RhYi1zdG9wczpsaXN0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMi41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5BJm5ic3A7bmV3CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW1wbGVtZW50YXRpb246PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfV1dER188L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkluaXQoPC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+KTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkEmbmJzcDtuZXcKIAogCiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtZXRlciBpbiB0aGUgSW5pdAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RydWN0dXJlOiZuYnNwOzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+RVdJTW9kZTwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0cnVjdHVyZTombmJzcDs8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkVXSU1vZGU8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNzAgbGV2ZWw0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzY0O3RhYi1zdG9wczpsaXN0IDIuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5IQUxfV1dER188L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+TXNwSW5pdCg8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPik8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDcwIGxldmVsNAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm82NDt0YWItc3RvcHM6bGlzdCAyLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SEFMX1dXREdfPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlJlZnJlc2goPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4pJm5ic3A7PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNzAgbGV2ZWw1Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNjQ7dGFiLXN0b3BzOmxpc3QKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlRoaXMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX1dXREdfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5Nc3BJbml0KDwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPik8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX1dXREdfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5SZWZyZXNoKDwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPikmbmJzcDs8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5UaGlzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiBpbnN1cmVzIHRoZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVsb2FkIG9mIHRoZSA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OgotJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5jb3VudGVyPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw3MCBsZXZlbDUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm82NDt0YWItc3RvcHM6bGlzdAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+VGhlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWxvYWQgb2YgdGhlIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5jb3VudGVyPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5UaGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjb3VudGVyIiBwYXJhbWV0ZXIgaGFzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZWVuIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5yZW1vdmVkPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmVlbiA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+cmVtb3ZlZDwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw3MCBsZXZlbDQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNjQ7dGFiLXN0b3BzOmxpc3QgMi4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkhBTF9XV0RHXzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5JUlFIYW5kbGVyKDwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+KTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNzAgbGV2ZWw0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzY0O3RhYi1zdG9wczpsaXN0IDIuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5IQUxfV1dER188L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+RWFybHlXYWtldXBDYWxsYmFjayg8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPikgaXMgdGhlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3IHByb3RvdHlwZSBvZiA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX1dXREdfV2FrZVVwQ2FsbGJhY2s8L3NwYW4+PC9zcGFuPigpPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfV1dER188L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPklSUUhhbmRsZXIoPC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+KTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfV1dER188L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkVhcmx5V2FrZXVwQ2FsbGJhY2soPC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+KSBpcyB0aGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXcgcHJvdG90eXBlIG9mIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX1dXREdfV2FrZVVwQ2FsbGJhY2s8L3NwYW4+PC9zcGFuPigpPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNzAgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNjQ7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlJlZmVyIHRvIHRoZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlJlZmVyIHRvIHRoZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9sbG93aW5nIGV4YW1wbGUgdG8gaWRlbnRpZnkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBjaGFuZ2VzOiA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPldXREdfPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+RXhhbXBsZTwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBjaGFuZ2VzOiA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPldXREdfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RXhhbXBsZTwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibWFyZ2luLXJpZ2h0OjUwMC4wcHQ7YmFja2dyb3VuZDojMzM2NkZGOy1tb3otYmFja2dyb3VuZC1jbGlwOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5pdGlhbDsgLW1vei1iYWNrZ3JvdW5kLW9yaWdpbjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluaXRpYWw7LW1vei1iYWNrZ3JvdW5kLWlubGluZS1wb2xpY3k6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbml0aWFsOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbi14OjAlO2JhY2tncm91bmQtcG9zaXRpb24teToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDUwJTtiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IHNjcm9sbCI+PGZvbnQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I9IiNmZmZmZmYiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7QXJpYWwmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBzdHlsZT0iYmFja2dyb3VuZDogcmdiKDUxLCAxMDIsIDI1NSkgbm9uZSByZXBlYXQgc2Nyb2xsIDAlIDUwJTsgLW1vei1iYWNrZ3JvdW5kLWNsaXA6IC1tb3otaW5pdGlhbDsgLW1vei1iYWNrZ3JvdW5kLW9yaWdpbjogLW1vei1pbml0aWFsOyAtbW96LWJhY2tncm91bmQtaW5saW5lLXBvbGljeTogLW1vei1pbml0aWFsOyBtYXJnaW4tcmlnaHQ6IDUwMHB0OyI+PGZvbnQgY29sb3I9IiNmZmZmZmYiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtBcmlhbCZxdW90OyxzYW5zLXNlcmlmOyI+VjEuNC40CiAKIAogCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7O2NvbG9yOndoaXRlIj5WMS40LjQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvIDIyLUphbnVhcnktMjAxNjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2ZvbnQ+PC9oMz4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOiA0LjVwdCAwaW4gNC41cHQgMC4yNWluOyI+PGI+PHU+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsgY29sb3I6IGJsYWNrOyI+TWFpbiBDaGFuZ2VzPC9zcGFuPjwvdT48L2I+PC9wPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMCiAKIAogCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyAyMi1KYW51YXJ5LTIwMTY8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvZm9udD48L2gzPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tcmlnaHQ6MGluO21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttYXJnaW4tbGVmdDouMjVpbiI+PGI+PHU+PHNwYW4KLXN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OgotJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOmJsYWNrIj5NYWluIENoYW5nZXM8L3NwYW4+PC91PjwvYj48L3A+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDU0IGxldmVsMQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm82NTt0YWItc3RvcHM6bGlzdCAuNWluIj48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPkhBTAotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR2VuZXJpYyA8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij51cGRhdGU8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNTQgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNjU7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPnN0bTMyZjR4eF9oYWxfY29uZl90ZW1wbGF0ZS5oPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw1NCBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzY1O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5PcHRpbWl6ZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR2VuZXJpYyA8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnN0bTMyZjR4eF9oYWxfY29uZl90ZW1wbGF0ZS5oPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPk9wdGltaXplCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhTRSBTdGFydHVwIFRpbWVvdXQgdmFsdWUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJvbSA1MDAwbXMgdG8gMTAwIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+bXM8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw1NCBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzY1O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5BZGQgbmV3Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmluZSBMU0VfU1RBUlRVUF9USU1FT1VUPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDU0IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNjU7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkFkZCBuZXcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJvbSA1MDAwbXMgdG8gMTAwIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5tczwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQgbmV3CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmluZSBMU0VfU1RBUlRVUF9USU1FT1VUPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQgbmV3CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmluZSBVU0VfU1BJX0NSQyBmb3IgY29kZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGVhbnVwIHdoZW4gdGhlIENSQwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYWxjdWxhdGlvbiBpcyBkaXNhYmxlZC48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FsY3VsYXRpb24gaXMgZGlzYWJsZWQuPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDU0IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzY1O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5VcGRhdGUgSEFMCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXBkYXRlIEhBTAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZHJpdmVycyB0byBzdXBwb3J0IE1JU1JBIEMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIwMDQgcnVsZSA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+MTAuNjwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNTQgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNjU7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkFkZCBuZXcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIwMDQgcnVsZSA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+MTAuNjwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkIG5ldwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVtcGxhdGUmbmJzcDtkcml2ZXIgdG8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyZSA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPnRpbWViYXNlPC9zcGFuPjwvc3Bhbj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzaW5nIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4KLXN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPlRJTUVSIDo8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNTQgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm82NTt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+czwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij50bTMyZjR4eF9oYWxfdGltZWJhc2VfdGltX3RlbXBsYXRlLmM8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyZSA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnRpbWViYXNlPC9zcGFuPjwvc3Bhbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzaW5nIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5USU1FUiA6PC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iIj5zPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij50bTMyZjR4eF9oYWxfdGltZWJhc2VfdGltX3RlbXBsYXRlLmM8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTE1IGxldmVsMQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm82Njt0YWItc3RvcHM6bGlzdCAuNWluIj48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMCiAKIAogCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+SEFMCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDQU4gPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+dXBkYXRlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4gPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTE1IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzY2O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5VcGRhdGUmbmJzcDs8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkhBTF9DQU5fPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+VHJhbnNtaXQoPC9zcGFuPjwvc3Bhbj4pCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4KLXN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkhBTF9DQU5fVHJhbnNtaXRfSVQ8L3NwYW4+PC9zcGFuPigpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDQU4gPC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlPC9zcGFuPjxzcGFuIHN0eWxlPSIiPiA8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXBkYXRlJm5ic3A7PHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfQ0FOXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlRyYW5zbWl0KDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX0NBTl9UcmFuc21pdF9JVDwvc3Bhbj48L3NwYW4+KCkKIAogCiAKIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb25zIHRvJm5ic3A7dW5sb2NrCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9jZXNzIHdoZW4gYWxsIE1haWxib3hlcyBhcmUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1c3k8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVzeTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw4MiBsZXZlbDEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNjc7dGFiLXN0b3BzOmxpc3QgLjVpbiI+PGI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAogCiAKIAotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPkhBTAotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRFNJIDwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPnVwZGF0ZTxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw4MiBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm82Nzt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+VXBkYXRlJm5ic3A7PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5IQUxfRFNJXzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPlNldFBIWVRpbWluZ3MoPC9zcGFuPjwvc3Bhbj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEU0kgPC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlPG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUmbmJzcDs8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9EU0lfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+U2V0UEhZVGltaW5ncyg8L3NwYW4+PC9zcGFuPikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9ucyB0byB1c2UgdGhlIGNvcnJlY3QKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hc2s8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hc2s8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDgyIGxldmVsMQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm82Nzt0YWItc3RvcHM6bGlzdCAuNWluIj48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKIAogCiAKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij5IQUwKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVBUlQgPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+dXBkYXRlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4gPC9zcGFuPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9iPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw4MiBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm82Nzt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+U2V2ZXJhbAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVUFSVCA8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+IDwvc3Bhbj48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+PG86cD48L286cD48L3NwYW4+PC9iPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+U2V2ZXJhbAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlIG9uIEhBTCBVQVJUIGRyaXZlciB0bwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW1wbGVtZW50IHRoZSBuZXcgVUFSVCBzdGF0ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFjaGluZTombmJzcDs8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDgyIGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNjc7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkFkZCBuZXcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmllbGQgaW4gPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+VUFSVF9IYW5kbGVUeXBlRGVmPC9zcGFuPjwvc3Bhbj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0dXJlOiAiPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+cnhTdGF0ZTwvc3Bhbj48L3NwYW4+IiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hY2hpbmU6Jm5ic3A7PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZCBuZXcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmllbGQgaW4gPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VQVJUX0hhbmRsZVR5cGVEZWY8L3NwYW4+PC9zcGFuPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3R1cmU6ICI8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnJ4U3RhdGU8L3NwYW4+PC9zcGFuPiIsCiAKIAogCiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVUFSVCBzdGF0ZSBpbmZvcm1hdGlvbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWxhdGVkIHRvIFJ4IDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+T3BlcmF0aW9uczwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDgyIGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNjc7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlJlbmFtZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3RhdGUiIGZpZWxkIGluIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPlVBUlRfSGFuZGxlVHlwZURlZjwvc3Bhbj48L3NwYW4+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdHVyZSBieSAiPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5nc3RhdGU8L3NwYW4+PC9zcGFuPiI6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbGF0ZWQgdG8gUnggPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPk9wZXJhdGlvbnM8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+UmVuYW1lCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzdGF0ZSIgZmllbGQgaW4gPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VQVJUX0hhbmRsZVR5cGVEZWY8L3NwYW4+PC9zcGFuPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3R1cmUgYnkgIjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Z3N0YXRlPC9zcGFuPjwvc3Bhbj4iOgogCiAKIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVQVJUIHN0YXRlIGluZm9ybWF0aW9uCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbGF0ZWQgdG8gZ2xvYmFsIEhhbmRsZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYW5hZ2VtZW50IGFuZCBUeCA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPk9wZXJhdGlvbnM8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw4MiBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzY3O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5VcGRhdGUgVUFSVAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYW5hZ2VtZW50IGFuZCBUeCA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+T3BlcmF0aW9uczwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUgVUFSVAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9jZXNzIHRvIG1hbmFnZSB0aGUgbmV3Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVBUlQgc3RhdGVzLjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsODIgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm82Nzt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+VXBkYXRlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fSEFMX1VBUlRfUkVTRVRfSEFORExFXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5TVEFURSg8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVUFSVCBzdGF0ZXMuPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19IQUxfVUFSVF9SRVNFVF9IQU5ETEVfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlNUQVRFKDwvc3Bhbj48L3NwYW4+KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWNybyB0byBoYW5kbGUgdGhlIG5ldyBVQVJUCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRlIHBhcmFtZXRlcnMgKDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPmdTdGF0ZTwvc3Bhbj48L3NwYW4+LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+cnhTdGF0ZTwvc3Bhbj48L3NwYW4+KTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZSBwYXJhbWV0ZXJzICg8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPmdTdGF0ZTwvc3Bhbj48L3NwYW4+LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnJ4U3RhdGU8L3NwYW4+PC9zcGFuPik8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsODIgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNjc7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlVwZGF0ZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVUFSVF9CUlJfU0FNUExJTkcxNigpIGFuZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVUFSVF9CUlJfU0FNUExJTkc4KCkgTWFjcm9zIHRvCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaXggd3JvbmcgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5iYXVkcmF0ZTwvc3Bhbj48L3NwYW4+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYWxjdWxhdGlvbi48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZml4IHdyb25nIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+YmF1ZHJhdGU8L3NwYW4+PC9zcGFuPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FsY3VsYXRpb24uPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDY4IGxldmVsMQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm82ODt0YWItc3RvcHM6bGlzdCAuNWluIj48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMCiAKIAogCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+SEFMCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJUkRBIDwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPnVwZGF0ZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+IDwvc3Bhbj48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvYj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNjggbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNjg7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlNldmVyYWwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElSREEgPC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlPC9zcGFuPjxzcGFuIHN0eWxlPSIiPiA8L3NwYW4+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvYj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlNldmVyYWwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZSBvbiBIQUwgSVJEQSBkcml2ZXIgdG8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGltcGxlbWVudCB0aGUgbmV3IFVBUlQgc3RhdGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hY2hpbmU6Jm5ic3A7PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw2OCBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzY4O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5BZGQgbmV3Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpZWxkIGluIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPklSREFfSGFuZGxlVHlwZURlZjwvc3Bhbj48L3NwYW4+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdHVyZTogIjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPnJ4U3RhdGU8L3NwYW4+PC9zcGFuPiIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWNoaW5lOiZuYnNwOzwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQgbmV3CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpZWxkIGluIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SVJEQV9IYW5kbGVUeXBlRGVmPC9zcGFuPjwvc3Bhbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0dXJlOiAiPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5yeFN0YXRlPC9zcGFuPjwvc3Bhbj4iLAogCiAKIAogCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElSREEgc3RhdGUgaW5mb3JtYXRpb24KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVsYXRlZCB0byBSeCA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPk9wZXJhdGlvbnM8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw2OCBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzY4O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5SZW5hbWUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInN0YXRlIiBmaWVsZCBpbiA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5VQVJUX0hhbmRsZVR5cGVEZWY8L3NwYW4+PC9zcGFuPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3R1cmUgYnkgIjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+Z3N0YXRlPC9zcGFuPjwvc3Bhbj4iOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWxhdGVkIHRvIFJ4IDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5PcGVyYXRpb25zPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlJlbmFtZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3RhdGUiIGZpZWxkIGluIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VUFSVF9IYW5kbGVUeXBlRGVmPC9zcGFuPjwvc3Bhbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0dXJlIGJ5ICI8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPmdzdGF0ZTwvc3Bhbj48L3NwYW4+IjoKIAogCiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSVJEQSBzdGF0ZSBpbmZvcm1hdGlvbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWxhdGVkIHRvIGdsb2JhbCBIYW5kbGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFuYWdlbWVudCBhbmQgVHggPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5PcGVyYXRpb25zPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNjggbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm82ODt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+VXBkYXRlIElSREEKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFuYWdlbWVudCBhbmQgVHggPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPk9wZXJhdGlvbnM8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXBkYXRlIElSREEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvY2VzcyB0byBtYW5hZ2UgdGhlIG5ldwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVQVJUIHN0YXRlcy48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDY4IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNjg7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlVwZGF0ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX0hBTF9JUkRBX1JFU0VUX0hBTkRMRV88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+U1RBVEUoPC9zcGFuPjwvc3Bhbj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVBUlQgc3RhdGVzLjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXBkYXRlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fSEFMX0lSREFfUkVTRVRfSEFORExFXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5TVEFURSg8L3NwYW4+PC9zcGFuPikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFjcm8gdG8gaGFuZGxlIHRoZSBuZXcgSVJEQQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZSBwYXJhbWV0ZXJzICg8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5nU3RhdGU8L3NwYW4+PC9zcGFuPiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPnJ4U3RhdGU8L3NwYW4+PC9zcGFuPik8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGUgcGFyYW1ldGVycyAoPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5nU3RhdGU8L3NwYW4+PC9zcGFuPiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5yeFN0YXRlPC9zcGFuPjwvc3Bhbj4pPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDY4IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzY4O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5SZW1vdmFsIG9mCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJUkRBX1RJTUVPVVRfVkFMVUUgZGVmaW5lPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNjggbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNjg7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlVwZGF0ZSBJUkRBXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5CUlIoPC9zcGFuPjwvc3Bhbj4pCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNYWNybyB0byBmaXggd3JvbmcgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5iYXVkcmF0ZTwvc3Bhbj48L3NwYW4+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYWxjdWxhdGlvbjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+UmVtb3ZhbCBvZgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSVJEQV9USU1FT1VUX1ZBTFVFIGRlZmluZTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZSBJUkRBXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5CUlIoPC9zcGFuPjwvc3Bhbj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNYWNybyB0byBmaXggd3JvbmcgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5iYXVkcmF0ZTwvc3Bhbj48L3NwYW4+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYWxjdWxhdGlvbjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNjggbGV2ZWwxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzY4O3RhYi1zdG9wczpsaXN0IC41aW4iPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAogCiAKIAotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPkhBTAotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU01BUlRDQVJEIDwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPnVwZGF0ZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPiA8L3NwYW4+PGI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvYj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNjggbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNjg7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlNldmVyYWwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNNQVJUQ0FSRCA8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+IDwvc3Bhbj48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+PG86cD48L286cD48L3NwYW4+PC9iPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+U2V2ZXJhbAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlIG9uIEhBTCBTTUFSVENBUkQgZHJpdmVyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0byBpbXBsZW1lbnQgdGhlIG5ldyBVQVJUCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZSBtYWNoaW5lOiZuYnNwOzwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNjggbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm82ODt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGUgbWFjaGluZTombmJzcDs8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkIG5ldworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWVsZCBpbiZuYnNwOzxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+U01BUlRDQVJEX0hhbmRsZVR5cGVEZWY8L3NwYW4+PC9zcGFuPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3R1cmU6ICI8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnJ4U3RhdGU8L3NwYW4+PC9zcGFuPiIsCiAKIAogCiAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5TTUFSVENBUkRzdGF0ZTwvc3Bhbj48L3NwYW4+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluZm9ybWF0aW9uIHJlbGF0ZWQgdG8gUnggPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPk9wZXJhdGlvbnM8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+UmVuYW1lCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzdGF0ZSIgZmllbGQgaW4gPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VQVJUX0hhbmRsZVR5cGVEZWY8L3NwYW4+PC9zcGFuPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3R1cmUgYnkgIjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Z3N0YXRlPC9zcGFuPjwvc3Bhbj4iOgogCiAKIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkFkZCBuZXcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmllbGQgaW4mbmJzcDs8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5TTUFSVENBUkRfSGFuZGxlVHlwZURlZjwvc3Bhbj48L3NwYW4+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdHVyZTogIjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPnJ4U3RhdGU8L3NwYW4+PC9zcGFuPiIsCi0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPlNNQVJUQ0FSRHN0YXRlPC9zcGFuPjwvc3Bhbj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5mb3JtYXRpb24gcmVsYXRlZCB0byBSeCA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPk9wZXJhdGlvbnM8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw2OCBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzY4O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5SZW5hbWUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInN0YXRlIiBmaWVsZCBpbiA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5VQVJUX0hhbmRsZVR5cGVEZWY8L3NwYW4+PC9zcGFuPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3R1cmUgYnkgIjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+Z3N0YXRlPC9zcGFuPjwvc3Bhbj4iOgotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+U01BUlRDQVJEc3RhdGU8L3NwYW4+PC9zcGFuPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlNNQVJUQ0FSRHN0YXRlPC9zcGFuPjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5mb3JtYXRpb24gcmVsYXRlZCB0bwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnbG9iYWwgSGFuZGxlIG1hbmFnZW1lbnQgYW5kCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFR4IDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4KLXN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPk9wZXJhdGlvbnM8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw2OCBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzY4O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5VcGRhdGUmbmJzcDtTTUFSVENBUkQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVHggPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPk9wZXJhdGlvbnM8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXBkYXRlJm5ic3A7U01BUlRDQVJECiAKIAogCiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvY2VzcyB0byBtYW5hZ2UgdGhlIG5ldwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVQVJUIHN0YXRlcy48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNjggbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm82ODt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+VXBkYXRlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fSEFMX1NNQVJUQ0FSRF9SRVNFVF9IQU5ETEVfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5TVEFURSg8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVUFSVCBzdGF0ZXMuPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19IQUxfU01BUlRDQVJEX1JFU0VUX0hBTkRMRV88c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+U1RBVEUoPC9zcGFuPjwvc3Bhbj4pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hY3JvIHRvIGhhbmRsZSB0aGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3Jm5ic3A7U01BUlRDQVJEIHN0YXRlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtZXRlcnMgKDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPmdTdGF0ZTwvc3Bhbj48L3NwYW4+LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+cnhTdGF0ZTwvc3Bhbj48L3NwYW4+KTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJhbWV0ZXJzICg8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPmdTdGF0ZTwvc3Bhbj48L3NwYW4+LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnJ4U3RhdGU8L3NwYW4+PC9zcGFuPik8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNjggbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNjg7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlVwZGF0ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU01BUlRDQVJEXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4KLXN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkJSUig8L3NwYW4+PC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hY3JvIHRvIGZpeCB3cm9uZyA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPmJhdWRyYXRlPC9zcGFuPjwvc3Bhbj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhbGN1bGF0aW9uPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNNQVJUQ0FSRF88c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QlJSKDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFjcm8gdG8gZml4IHdyb25nIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+YmF1ZHJhdGU8L3NwYW4+PC9zcGFuPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FsY3VsYXRpb248L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsOTggbGV2ZWwxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzY5O3RhYi1zdG9wczpsaXN0IC41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SEFMJm5ic3A7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJDQzwvc3Bhbj48L2I+PC9zcGFuPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+dXBkYXRlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsOTggbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNjk7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkFkZCBuZXcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gY2xhc3M9ImdyYW1lIj48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMJm5ic3A7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJDQzwvc3Bhbj48L2I+PC9zcGFuPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQgbmV3CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0IGRlZmluZSB2YWx1ZSBmb3IgSFNJCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYWxpYnJhdGlvbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlJDQ19IU0lDQUxJQlJBVElPTl88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+REVGQVVMVCI8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDk4IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzY5O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5PcHRpbWl6ZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlJDQ19IU0lDQUxJQlJBVElPTl88c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+REVGQVVMVCI8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPk9wdGltaXplCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJbnRlcm5hbCBvc2NpbGxhdG9ycyBhbmQgUExMCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGFydHVwIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4KLXN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPnRpbWVvdXQ8L3NwYW4+PC9zcGFuPiZuYnNwOzwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0bzttc28tbGlzdDpsOTggbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNjk7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlVwZGF0ZSB0bworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhcnR1cCA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dGltZW91dDwvc3Bhbj48L3NwYW4+Jm5ic3A7PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXBkYXRlIHRvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdm9pZCB0aGUgZGlzYWJsZSBmb3IgSFNFL0xTRQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3NjaWxsYXRvcnMgYmVmb3JlIHNldHRpbmcgdGhlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXcgUkNDIEhTRS9MU0UgY29uZmlndXJhdGlvbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIGFkZCB0aGUgZm9sbG93aW5nIG5vdGVzIGluCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkhBTF9SQ0NfPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+T3NjQ29uZmlnKDwvc3Bhbj48L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVBJIGRlc2NyaXB0aW9uOjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9SQ0NfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+T3NjQ29uZmlnKDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVBJIGRlc2NyaXB0aW9uOjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dG8iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTAuMHB0Ij4mbmJzcDs8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+Jm5ic3A7Jm5ic3A7Jm5ic3A7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9IiI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsiPiZuYnNwOzwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Jm5ic3A7Jm5ic3A7Jm5ic3A7CiAKIAogCkBAIC0zMTYxNSwxMCArNjQ0OSw4IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZuYnNwOyZuYnNwOyZuYnNwOyAmbmJzcDsmbmJzcDsqCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBub3RlJm5ic3A7Jm5ic3A7IFRyYW5zaXRpb25zIExTRQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCeXBhc3MgdG8gTFNFIE9uIGFuZCBMU0UgT24gdG8gTFNFCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJ5cGFzcyBhcmUgbm90PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0Ij4gPGJyPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+Jm5ic3A7Jm5ic3A7Jm5ic3A7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJ5cGFzcyBhcmUgbm90PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ij4gPGJyPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4mbmJzcDsmbmJzcDsmbmJzcDsKIAogCiAKQEAgLTMxNjMyLDEwICs2NDY0LDggQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbmJzcDsgJm5ic3A7IHN1cHBvcnRlZCBieSB0aGlzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFQSS4gVXNlciBzaG91bGQgcmVxdWVzdCBhCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb24gdG8gTFNFIE9mZjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdCI+IDxicj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPiZuYnNwOyZuYnNwOyZuYnNwOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uIHRvIExTRSBPZmY8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsiPiA8YnI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPiZuYnNwOyZuYnNwOyZuYnNwOwogCiAKIApAQCAtMzE2NDgsMTAgKzY0NzgsOCBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbmJzcDsgJm5ic3A7IGZpcnN0IGFuZCB0aGVuIExTRQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPbiBvciBMU0UgQnlwYXNzLjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdCI+IDxicj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPiZuYnNwOyZuYnNwOyZuYnNwOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPbiBvciBMU0UgQnlwYXNzLjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyI+IDxicj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Jm5ic3A7Jm5ic3A7Jm5ic3A7CiAKIAogCkBAIC0zMTY2NCwxMCArNjQ5Miw4IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAqCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBub3RlJm5ic3A7Jm5ic3A7IFRyYW5zaXRpb24gSFNFCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJ5cGFzcyB0byBIU0UgT24gYW5kIEhTRSBPbiB0byBIU0UKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQnlwYXNzIGFyZSBub3Q8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQiPiA8YnI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj4mbmJzcDsmbmJzcDsmbmJzcDsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQnlwYXNzIGFyZSBub3Q8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsiPiA8YnI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPiZuYnNwOyZuYnNwOyZuYnNwOwogCiAKIApAQCAtMzE2ODEsMTAgKzY1MDcsOCBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZuYnNwOyAmbmJzcDsgc3VwcG9ydGVkIGJ5IHRoaXMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVBJLiBVc2VyIHNob3VsZCByZXF1ZXN0IGEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbiB0byBIU0UgT2ZmPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0Ij4gPGJyPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+Jm5ic3A7Jm5ic3A7Jm5ic3A7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb24gdG8gSFNFIE9mZjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyI+IDxicj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Jm5ic3A7Jm5ic3A7Jm5ic3A7CiAKIAogCkBAIC0zMTY5Niw0MzYgKzY1MjAsODIgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJm5ic3A7ICZuYnNwOyZuYnNwOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZuYnNwOyAmbmJzcDsgZmlyc3QgYW5kIHRoZW4gSFNFCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9uIG9yIEhTRSBCeXBhc3MuPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0Ij4gPC9zcGFuPjxzcGFuCi1zdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT24gb3IgSFNFIEJ5cGFzcy48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsiPiA8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgdHlwZT0iZGlzYyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgdHlwZT0iY2lyY2xlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvO21zby1saXN0Omw1MSBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm83MDt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+T3B0aW1pemUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSZuYnNwOzxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi1zdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5IQUxfUkNDXzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkNsb2NrQ29uZmlnKDwvc3Bhbj48L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVBJIGltcGxlbWVudGF0aW9uLjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSIiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5PcHRpbWl6ZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlJm5ic3A7PHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfUkNDXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkNsb2NrQ29uZmlnKDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVBJIGltcGxlbWVudGF0aW9uLjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgdHlwZT0iZGlzYyI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0bzttc28tbGlzdDpsNjYgbGV2ZWwxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzcxO3RhYi1zdG9wczpsaXN0IC41aW4iPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9IiI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAogCiAKIAotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPkhBTAotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRE1BMkQgPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+dXBkYXRlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJjaXJjbGUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw2NiBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm83MTt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+VXBkYXRlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUxfRE1BMkRfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3Bhbgotc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+QWJvcnQoPC9zcGFuPjwvc3Bhbj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBETUEyRCA8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9ImNpcmNsZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXBkYXRlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUxfRE1BMkRfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFib3J0KDwvc3Bhbj48L3NwYW4+KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRnVuY3Rpb24gdG8gZW5kIGN1cnJlbnQgRE1BMkQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZmVyIHByb3Blcmx5PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNjYgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNzE7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlVwZGF0ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX0RNQTJEXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4KLXN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPlBvbGxGb3JUcmFuc2Zlcig8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZmVyIHByb3Blcmx5PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXBkYXRlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUxfRE1BMkRfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlBvbGxGb3JUcmFuc2Zlcig8L3NwYW4+PC9zcGFuPikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIHRvIGFkZCBwb2xsIGZvcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZCBDTFVUIGxvYWRpbmcgKGxheWVyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwIGFuZCBsYXllciAxKS48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw2NiBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm83MTt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+VXBkYXRlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUxfRE1BMkRfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3Bhbgotc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+UG9sbEZvclRyYW5zZmVyKDwvc3Bhbj48L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gc2V0IHRoZSBjb3JyZXNwb25kaW5nIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+RXJyb3JDb2RlPC9zcGFuPjwvc3Bhbj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIGNhc2Ugb2YgZXJyb3Igb2NjdXJyZW5jZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDY2IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzcxO3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5VcGRhdGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9ETUEyRF88c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuCi1zdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5Db25maWdDTFVUKDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCBhbmQgbGF5ZXIgMSkuPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXBkYXRlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUxfRE1BMkRfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlBvbGxGb3JUcmFuc2Zlcig8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvIHNldCB0aGUgY29ycmVzcG9uZGluZyA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkVycm9yQ29kZTwvc3Bhbj48L3NwYW4+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBjYXNlIG9mIGVycm9yIG9jY3VycmVuY2U8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9ETUEyRF88c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Q29uZmlnQ0xVVCg8L3NwYW4+PC9zcGFuPikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIHRvIGZpeCB3cm9uZyBDTFVUCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplIGFuZCBjb2xvciBtb2RlIHNldHRpbmdzPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNjYgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNzE7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlJlbW92YWwgb2YKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZWxlc3MgbWFjcm8gX19IQUxfRE1BMkRfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkRJU0FCTEUoPC9zcGFuPjwvc3Bhbj4pPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNjYgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNzE7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlVwZGF0ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX0RNQTJEXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4KLXN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPlN1c3BlbmQoPC9zcGFuPjwvc3Bhbj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplIGFuZCBjb2xvciBtb2RlIHNldHRpbmdzPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+UmVtb3ZhbCBvZgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlbGVzcyBtYWNybyBfX0hBTF9ETUEyRF88c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RElTQUJMRSg8L3NwYW4+PC9zcGFuPik8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9ETUEyRF88c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+U3VzcGVuZCg8L3NwYW4+PC9zcGFuPikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvIG1hbmFnZSBjb3JyZWN0bHkgdGhlIGNhc2UKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdoZXJlIG5vIHRyYW5zZmVyIGlzIG9uIGdvaW5nPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNjYgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNzE7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlVwZGF0ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX0RNQTJEXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4KLXN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPlJlc3VtZSg8L3NwYW4+PC9zcGFuPikmbmJzcDt0bworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2hlcmUgbm8gdHJhbnNmZXIgaXMgb24gZ29pbmc8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9ETUEyRF88c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+UmVzdW1lKDwvc3Bhbj48L3NwYW4+KSZuYnNwO3RvCiAKIAogCiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hbmFnZSBjb3JyZWN0bHkgdGhlIGNhc2UKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdoZXJlIG5vIHRyYW5zZmVyIGlzIG9uIGdvaW5nPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNjYgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNzE7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlVwZGF0ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX0RNQTJEX1N0YXJ0XzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5JVCg8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdoZXJlIG5vIHRyYW5zZmVyIGlzIG9uIGdvaW5nPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXBkYXRlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUxfRE1BMkRfU3RhcnRfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPklUKDwvc3Bhbj48L3NwYW4+KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gZW5hYmxlIGFsbCByZXF1aXJlZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50ZXJydXB0cyBiZWZvcmUgZW5hYmxpbmcgdGhlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zlci48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw2NiBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm83MTt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+QWRkCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUxfRE1BMkRfQ0xVVExvYWRfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPklUKDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmZXIuPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUxfRE1BMkRfQ0xVVExvYWRfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPklUKDwvc3Bhbj48L3NwYW4+KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRnVuY3Rpb24gdG8gYWxsb3cgbG9hZGluZyBhCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDTFVUIHdpdGggaW50ZXJydXB0aW9uIG1vZGVsLjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0bzttc28tbGlzdDpsNjYgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNzE7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjcuMHB0O21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemUtYWRqdXN0OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub25lO2ZvbnQtc3RyZXRjaDogbm9ybWFsIj4mbmJzcDs8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlVwZGF0ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX0RNQTJEXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4KLXN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPklSUUhhbmRsZXIoPC9zcGFuPjwvc3Bhbj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDTFVUIHdpdGggaW50ZXJydXB0aW9uIG1vZGVsLjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9IiI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogN3B0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZS1hZGp1c3Q6IG5vbmU7IGZvbnQtc3RyZXRjaDogbm9ybWFsOyI+Jm5ic3A7PC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXBkYXRlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUxfRE1BMkRfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPklSUUhhbmRsZXIoPC9zcGFuPjwvc3Bhbj4pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0byBtYW5hZ2UgdGhlIGZvbGxvd2luZwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZXMmbmJzcDs6PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNy4wcHQ7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZS1hZGp1c3Q6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vbmU7Zm9udC1zdHJldGNoOiBub3JtYWwiPjxicgotc3R5bGU9Im1zby1zcGVjaWFsLWNoYXJhY3RlcjpsaW5lLWJyZWFrIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLVtpZiAhc3VwcG9ydExpbmVCcmVha05ld0xpbmVdLS0+PGJyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1zcGVjaWFsLWNoYXJhY3RlcjoKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtYnJlYWsiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZXMmbmJzcDs6PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDdwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemUtYWRqdXN0OiBub25lOyBmb250LXN0cmV0Y2g6IG5vcm1hbDsiPjxiciBzdHlsZT0iIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLVtpZiAhc3VwcG9ydExpbmVCcmVha05ld0xpbmVdLS0+PGJyIHN0eWxlPSIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tW2VuZGlmXS0tPjxvOnA+PC9vOnA+PC9zcGFuPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvO21zby1saXN0Omw2NiBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzcxO3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5DTFVUCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZmVyIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+Y29tcGxldGU8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0bzttc28tbGlzdDpsNjYgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm83MTt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+Q0xVVCBhY2Nlc3MKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3I8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dG87bXNvLWxpc3Q6bDY2IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNzE7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlRyYW5zZmVyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdhdGVybWFyayA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPnJlYWNoZWQ8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSIiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5DTFVUCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZmVyIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5jb21wbGV0ZTwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Q0xVVCBhY2Nlc3MKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3I8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSIiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5UcmFuc2ZlcgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3YXRlcm1hcmsgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnJlYWNoZWQ8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvO21zby1saXN0Omw2NiBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm83MTt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+QWRkIG5ldwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2FsbGJhY2sgQVBJczo8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkIG5ldworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2FsbGJhY2sgQVBJczo8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dG87bXNvLWxpc3Q6bDY2IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNzE7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPiZuYnNwO0hBTF9ETUEyRF88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkxpbmVFdmVudENhbGxiYWNrKDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Jm5ic3A7SEFMX0RNQTJEXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5MaW5lRXZlbnRDYWxsYmFjayg8L3NwYW4+PC9zcGFuPikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gc2lnbmFsIGEgdHJhbnNmZXIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2F0ZXJtYXJrIHJlYWNoZWQgZXZlbnQ8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dG87bXNvLWxpc3Q6bDY2IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNzE7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPiZuYnNwO0hBTF9ETUEyRF88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkNMVVRMb2FkaW5nQ3BsdENhbGxiYWNrKDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3YXRlcm1hcmsgcmVhY2hlZCBldmVudDwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9IiI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPiZuYnNwO0hBTF9ETUEyRF88c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Q0xVVExvYWRpbmdDcGx0Q2FsbGJhY2soPC9zcGFuPjwvc3Bhbj4pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvIHNpZ25hbCBhIENMVVQgbG9hZGluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21wbGV0ZSBldmVudCA8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgpAQCAtMzIxMzMsMTAxNSArNjYwMywxNTQgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCB0eXBlPSJkaXNjIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCB0eXBlPSJjaXJjbGUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dG87bXNvLWxpc3Q6bDYyIGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzcyO3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5NaXNjZWxsYW5lb3VzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJbXByb3ZlbWVudDo8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9IiI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPk1pc2NlbGxhbmVvdXMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEltcHJvdmVtZW50Ojwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0bzttc28tbGlzdDpsNjIgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm83Mjt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+QWRkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSIiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkhBTF9ETUEyRF9FUlJPUl9DQUUiIG5ldwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWZpbmUgZm9yIENMVVQgQWNjZXNzIGVycm9yCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hbmFnZW1lbnQuPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0bzttc28tbGlzdDpsNjIgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm83Mjt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+QWRkIDwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjcuMHB0O21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplLWFkanVzdDoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub25lO2ZvbnQtc3RyZXRjaDogbm9ybWFsIj4mbmJzcDs8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj4mbmJzcDsmbmJzcDsmbmJzcDs8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPpM8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+YXNzZXJ0X3BhcmFtPC9zcGFuPjwvc3Bhbj6UCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hbmFnZW1lbnQuPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkIDwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiA3cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplLWFkanVzdDogbm9uZTsgZm9udC1zdHJldGNoOiBub3JtYWw7Ij4mbmJzcDs8c3BhbiBjbGFzcz0iZ3JhbWUiPiZuYnNwOyZuYnNwOyZuYnNwOzwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPpM8L3NwYW4+PHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5hc3NlcnRfcGFyYW08L3NwYW4+PC9zcGFuPpQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlZCBmb3IgcGFyYW1ldGVycyBjaGVjayBpcwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub3cgZG9uZSBvbiB0aGUgdG9wIG9mIHRoZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHBvcnRlZCBmdW5jdGlvbnMgOiBiZWZvcmUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9ja2luZyB0aGUgcHJvY2VzcyB1c2luZwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX0hBTF9MT0NLPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19IQUxfTE9DSzwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dG8iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSIiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0bzttc28tbGlzdDpsMTE2IGxldmVsMQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm83Mzt0YWItc3RvcHM6bGlzdCAuNWluIj48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSIiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKIAogCiAKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij5IQUwKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEkyQyZuYnNwOzwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPnVwZGF0ZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSTJDJm5ic3A7PC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0bzttc28tbGlzdDpsMTE2IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzczO3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5BZGQgc3VwcG9ydAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2YgSTJDIHJlcGVhdGVkIHN0YXJ0IGZlYXR1cmU6PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkIHN1cHBvcnQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9mIEkyQyByZXBlYXRlZCBzdGFydCBmZWF0dXJlOjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0bzttc28tbGlzdDpsMTE2IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNzM7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPldpdGggdGhlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbGxvd2luZyBuZXcgQVBJJ3M8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+V2l0aCB0aGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9sbG93aW5nIG5ldyBBUEknczwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvO21zby1saXN0OmwxMTYgbGV2ZWw0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzczO3RhYi1zdG9wczpsaXN0IDIuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5IQUxfSTJDX01hc3Rlcl9TZXF1ZW50aWFsX1RyYW5zbWl0XzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPklUKDwvc3Bhbj48L3NwYW4+KTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dG87bXNvLWxpc3Q6bDExNiBsZXZlbDQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNzM7dGFiLXN0b3BzOmxpc3QgMi4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkhBTF9JMkNfTWFzdGVyX1NlcXVlbnRpYWxfUmVjZWl2ZV88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5JVCg8L3NwYW4+PC9zcGFuPik8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvO21zby1saXN0OmwxMTYgbGV2ZWw0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzczO3RhYi1zdG9wczpsaXN0IDIuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5IQUxfSTJDX01hc3Rlcl9BYm9ydF88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5JVCg8L3NwYW4+PC9zcGFuPik8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvO21zby1saXN0OmwxMTYgbGV2ZWw0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzczO3RhYi1zdG9wczpsaXN0IDIuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5IQUxfSTJDX1NsYXZlX1NlcXVlbnRpYWxfVHJhbnNtaXRfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SVQoPC9zcGFuPjwvc3Bhbj4pPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0bzttc28tbGlzdDpsMTE2IGxldmVsNAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm83Mzt0YWItc3RvcHM6bGlzdCAyLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SEFMX0kyQ19TbGF2ZV9TZXF1ZW50aWFsX1JlY2VpdmVfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SVQoPC9zcGFuPjwvc3Bhbj4pPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0bzttc28tbGlzdDpsMTE2IGxldmVsNAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm83Mzt0YWItc3RvcHM6bGlzdCAyLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SEFMX0kyQ19FbmFibGVMaXN0ZW5fPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SVQoPC9zcGFuPjwvc3Bhbj4pPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0bzttc28tbGlzdDpsMTE2IGxldmVsNAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm83Mzt0YWItc3RvcHM6bGlzdCAyLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SEFMX0kyQ19EaXNhYmxlTGlzdGVuXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPklUKDwvc3Bhbj48L3NwYW4+KTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSIiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfSTJDX01hc3Rlcl9TZXF1ZW50aWFsX1RyYW5zbWl0XzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5JVCg8L3NwYW4+PC9zcGFuPik8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9IiI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9JMkNfTWFzdGVyX1NlcXVlbnRpYWxfUmVjZWl2ZV88c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SVQoPC9zcGFuPjwvc3Bhbj4pPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSIiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfSTJDX01hc3Rlcl9BYm9ydF88c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SVQoPC9zcGFuPjwvc3Bhbj4pPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSIiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfSTJDX1NsYXZlX1NlcXVlbnRpYWxfVHJhbnNtaXRfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPklUKDwvc3Bhbj48L3NwYW4+KTwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX0kyQ19TbGF2ZV9TZXF1ZW50aWFsX1JlY2VpdmVfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPklUKDwvc3Bhbj48L3NwYW4+KTwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX0kyQ19FbmFibGVMaXN0ZW5fPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPklUKDwvc3Bhbj48L3NwYW4+KTwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX0kyQ19EaXNhYmxlTGlzdGVuXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5JVCg8L3NwYW4+PC9zcGFuPik8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvO21zby1saXN0OmwxMTYgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm83Mzt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5BZGQgbmV3CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSIiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ij5BZGQgbmV3CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXIgY2FsbGJhY2tzOjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0bzttc28tbGlzdDpsMTE2IGxldmVsNAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm83Mzt0YWItc3RvcHM6bGlzdCAyLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SEFMX0kyQ188c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5MaXN0ZW5DcGx0Q2FsbGJhY2soPC9zcGFuPjwvc3Bhbj4pPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0bzttc28tbGlzdDpsMTE2IGxldmVsNAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm83Mzt0YWItc3RvcHM6bGlzdCAyLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SEFMX0kyQ188c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5BZGRyQ2FsbGJhY2soPC9zcGFuPjwvc3Bhbj4pPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9IiI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9JMkNfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkxpc3RlbkNwbHRDYWxsYmFjayg8L3NwYW4+PC9zcGFuPik8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9IiI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9JMkNfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZHJDYWxsYmFjayg8L3NwYW4+PC9zcGFuPik8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvO21zby1saXN0OmwxMTYgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNzM7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlVwZGF0ZSB0bworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9IiI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZSB0bwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2VuZXJhdGUgU1RPUCBjb25kaXRpb24gd2hlbiBhCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY2tub3dsZWRnZSBmYWlsdXJlIGVycm9yIGlzIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5kZXRlY3RlZDwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dG87bXNvLWxpc3Q6bDExNiBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm83Mzt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+U2V2ZXJhbAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWNrbm93bGVkZ2UgZmFpbHVyZSBlcnJvciBpcyA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+ZGV0ZWN0ZWQ8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSIiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5TZXZlcmFsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGUgb24gSEFMIEkyQyBkcml2ZXIgdG8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGltcGxlbWVudCB0aGUgbmV3IEkyQyBzdGF0ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFjaGluZTombmJzcDs8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWNoaW5lOiZuYnNwOzwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0bzttc28tbGlzdDpsMTE2IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNzM7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkFkZCBuZXcgQVBJCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSIiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQgbmV3IEFQSQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0byBnZXQgdGhlIEkyQyBtb2RlOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUxfSTJDXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4KLXN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkdldE1vZGUoPC9zcGFuPjwvc3Bhbj4pPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvO21zby1saXN0OmwxMTYgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm83Mzt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+VXBkYXRlIEkyQworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUxfSTJDXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5HZXRNb2RlKDwvc3Bhbj48L3NwYW4+KTwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9IiI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZSBJMkMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvY2VzcyB0byBtYW5hZ2UgdGhlIG5ldwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJMkMgc3RhdGVzLjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJMkMgc3RhdGVzLjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvO21zby1saXN0OmwxMTYgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNzM7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Rml4IHdyb25nIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+YmVoYXZpb3VyPC9zcGFuPjwvc3Bhbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIHNpbmdsZSBieXRlIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij50cmFuc21pc3Npb248L3NwYW4+PC9zcGFuPiZuYnNwOzwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSIiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUgSTJDXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5XYWl0T25GbGFnVW50aWxUaW1lb3V0KDwvc3Bhbj48L3NwYW4+KSZuYnNwO3RvCiAKIAogCiAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkZpeCB3cm9uZyA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPmJlaGF2aW91cjwvc3Bhbj48L3NwYW4+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBzaW5nbGUgYnl0ZSA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+dHJhbnNtaXNzaW9uPC9zcGFuPjwvc3Bhbj4mbmJzcDs8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0bzttc28tbGlzdDpsMTE2IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzczO3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5VcGRhdGUgSTJDXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5XYWl0T25GbGFnVW50aWxUaW1lb3V0KDwvc3Bhbj48L3NwYW4+KSZuYnNwO3RvCi0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hbmFnZSB0aGUgTkFDSyBmZWF0dXJlLjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dG87bXNvLWxpc3Q6bDExNiBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm83Mzt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlVwZGF0ZSZuYnNwOyZuYnNwO0k8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjJDCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYW5hZ2UgdGhlIE5BQ0sgZmVhdHVyZS48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iIj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUmbmJzcDsmbmJzcDtJPC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+MkMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zbWlzc2lvbiBwcm9jZXNzIHRvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdXBwb3J0IHRoZSBjYXNlIGRhdGEgc2l6ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXF1YWwgMDwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwLjBwdDttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXF1YWwgMDwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvO21zby1saXN0Omw3IGxldmVsMQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm83NDt0YWItc3RvcHM6bGlzdCAuNWluIj48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSIiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKIAogCiAKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij5IQUwKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZNUEkyQyA8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij51cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZNUEkyQyA8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvO21zby1saXN0Omw3IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzc0O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5BZGQgc3VwcG9ydAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9IiI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZCBzdXBwb3J0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvZiBGTVBJMkMgcmVwZWF0ZWQgc3RhcnQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZlYXR1cmU6PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmZWF0dXJlOjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0bzttc28tbGlzdDpsNyBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzc0O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5XaXRoIHRoZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb2xsb3dpbmcgbmV3IEFQSSdzPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9IiI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPldpdGggdGhlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbGxvd2luZyBuZXcgQVBJJ3M8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0bzttc28tbGlzdDpsNyBsZXZlbDQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNzQ7dGFiLXN0b3BzOmxpc3QgMi4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkhBTF9GTVBJMkNfTWFzdGVyX1NlcXVlbnRpYWxfVHJhbnNtaXRfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SVQoPC9zcGFuPjwvc3Bhbj4pPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0bzttc28tbGlzdDpsNyBsZXZlbDQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNzQ7dGFiLXN0b3BzOmxpc3QgMi4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkhBTF9GTVBJMkNfTWFzdGVyX1NlcXVlbnRpYWxfUmVjZWl2ZV88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5JVCg8L3NwYW4+PC9zcGFuPik8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvO21zby1saXN0Omw3IGxldmVsNAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm83NDt0YWItc3RvcHM6bGlzdCAyLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SEFMX0ZNUEkyQ19NYXN0ZXJfQWJvcnRfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SVQoPC9zcGFuPjwvc3Bhbj4pPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0bzttc28tbGlzdDpsNyBsZXZlbDQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNzQ7dGFiLXN0b3BzOmxpc3QgMi4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkhBTF9GTVBJMkNfU2xhdmVfU2VxdWVudGlhbF9UcmFuc21pdF88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5JVCg8L3NwYW4+PC9zcGFuPik8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvO21zby1saXN0Omw3IGxldmVsNAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm83NDt0YWItc3RvcHM6bGlzdCAyLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SEFMX0ZNUEkyQ19TbGF2ZV9TZXF1ZW50aWFsX1JlY2VpdmVfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SVQoPC9zcGFuPjwvc3Bhbj4pPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0bzttc28tbGlzdDpsNyBsZXZlbDQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNzQ7dGFiLXN0b3BzOmxpc3QgMi4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkhBTF9GTVBJMkNfRW5hYmxlTGlzdGVuXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPklUKDwvc3Bhbj48L3NwYW4+KTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dG87bXNvLWxpc3Q6bDcgbGV2ZWw0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzc0O3RhYi1zdG9wczpsaXN0IDIuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5IQUxfRk1QSTJDX0Rpc2FibGVMaXN0ZW5fPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SVQoPC9zcGFuPjwvc3Bhbj4pPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9IiI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9GTVBJMkNfTWFzdGVyX1NlcXVlbnRpYWxfVHJhbnNtaXRfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPklUKDwvc3Bhbj48L3NwYW4+KTwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX0ZNUEkyQ19NYXN0ZXJfU2VxdWVudGlhbF9SZWNlaXZlXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5JVCg8L3NwYW4+PC9zcGFuPik8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9IiI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9GTVBJMkNfTWFzdGVyX0Fib3J0XzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5JVCg8L3NwYW4+PC9zcGFuPik8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9IiI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9GTVBJMkNfU2xhdmVfU2VxdWVudGlhbF9UcmFuc21pdF88c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SVQoPC9zcGFuPjwvc3Bhbj4pPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSIiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfRk1QSTJDX1NsYXZlX1NlcXVlbnRpYWxfUmVjZWl2ZV88c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SVQoPC9zcGFuPjwvc3Bhbj4pPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSIiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfRk1QSTJDX0VuYWJsZUxpc3Rlbl88c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SVQoPC9zcGFuPjwvc3Bhbj4pPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSIiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfRk1QSTJDX0Rpc2FibGVMaXN0ZW5fPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPklUKDwvc3Bhbj48L3NwYW4+KTwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dG87bXNvLWxpc3Q6bDcgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm83NDt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5BZGQgbmV3CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSIiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ij5BZGQgbmV3CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXIgY2FsbGJhY2tzOjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0bzttc28tbGlzdDpsNyBsZXZlbDQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNzQ7dGFiLXN0b3BzOmxpc3QgMi4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkhBTF9GTVBJMkNfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+TGlzdGVuQ3BsdENhbGxiYWNrKDwvc3Bhbj48L3NwYW4+KTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dG87bXNvLWxpc3Q6bDcgbGV2ZWw0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzc0O3RhYi1zdG9wczpsaXN0IDIuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5IQUxfRk1QSTJDXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkFkZHJDYWxsYmFjayg8L3NwYW4+PC9zcGFuPik8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX0ZNUEkyQ188c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+TGlzdGVuQ3BsdENhbGxiYWNrKDwvc3Bhbj48L3NwYW4+KTwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX0ZNUEkyQ188c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkckNhbGxiYWNrKDwvc3Bhbj48L3NwYW4+KTwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dG87bXNvLWxpc3Q6bDcgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNzQ7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlNldmVyYWwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSIiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5TZXZlcmFsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGUgb24gSEFMIEkyQyBkcml2ZXIgdG8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGltcGxlbWVudCB0aGUgbmV3IEkyQyBzdGF0ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFjaGluZTombmJzcDs8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWNoaW5lOiZuYnNwOzwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0bzttc28tbGlzdDpsNyBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzc0O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5BZGQgbmV3IEFQSQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkIG5ldyBBUEkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gZ2V0IHRoZSBGTVBJMkMgbW9kZToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX0ZNUEkyQ188c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+R2V0TW9kZSg8L3NwYW4+PC9zcGFuPik8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dG87bXNvLWxpc3Q6bDcgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm83NDt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+VXBkYXRlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9GTVBJMkNfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkdldE1vZGUoPC9zcGFuPjwvc3Bhbj4pPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXBkYXRlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZNUEkyQyBwcm9jZXNzIHRvIG1hbmFnZSB0aGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3IEZNUEkyQyBzdGF0ZXMuPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwLjBwdDttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ldyBGTVBJMkMgc3RhdGVzLjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvO21zby1saXN0OmwxMzQgbGV2ZWwxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzc1O3RhYi1zdG9wczpsaXN0IC41aW4iPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9IiI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAogCiAKIAotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPkhBTAotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU1BJIDwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPnVwZGF0ZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4gPC9zcGFuPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9iPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTUEkgPC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ij4gPC9zcGFuPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2I+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dG87bXNvLWxpc3Q6bDEzNCBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm83NTt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+TWFqb3IgVXBkYXRlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+TWFqb3IgVXBkYXRlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0byBpbXByb3ZlIHBlcmZvcm1hbmNlIGluCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb2xsaW5nL2ludGVycnVwdCBtb2RlIHRvCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWFjaCBtYXggZnJlcXVlbmN5Ojwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlYWNoIG1heCBmcmVxdWVuY3k6PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvO21zby1saXN0OmwxMzQgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm83NTt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+UG9sbGluZyA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+bW9kZQogCiAKIAotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+UG9sbGluZyA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPm1vZGUKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDo8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6PC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0bzttc28tbGlzdDpsMTM0IGxldmVsNAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm83NTt0YWItc3RvcHM6bGlzdCAyLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+UmVwbGFjZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZSBvZiA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+U1BJXzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+V2FpdE9uRmxhZ1VuaXRUaW1lb3V0KDwvc3Bhbj48L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi1zdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5mdW5uY3Rpb248L3NwYW4+PC9zcGFuPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSIiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5SZXBsYWNlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlIG9mIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+U1BJXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPldhaXRPbkZsYWdVbml0VGltZW91dCg8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPmZ1bm5jdGlvbjwvc3Bhbj48L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnkgImlmIiBzdGF0ZW1lbnQgdG8gY2hlY2sKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbiBSWE5FL1RYRSA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+ZmxhZ2U8L3NwYW4+PC9zcGFuPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdoaWxlIHRyYW5zZmVycmluZyBkYXRhLjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dG87bXNvLWxpc3Q6bDEzNCBsZXZlbDQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNzU7dGFiLXN0b3BzOmxpc3QgMi4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlVzZSBBUEkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbiBSWE5FL1RYRSA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPmZsYWdlPC9zcGFuPjwvc3Bhbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aGlsZSB0cmFuc2ZlcnJpbmcgZGF0YS48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9IiI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVzZSBBUEkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhIHBvaW50ZXIgaW5zdGVhZCBvZgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNQSSBoYW5kbGUgZGF0YSBwb2ludGVyLjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTAuMHB0O21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dG87bXNvLWxpc3Q6bDEzNCBsZXZlbDQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNzU7dGFiLXN0b3BzOmxpc3QgMi4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlVzZSBhIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5Hb3RvPC9zcGFuPjwvc3Bhbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTUEkgaGFuZGxlIGRhdGEgcG9pbnRlci48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9IiI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVzZSBhIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+R290bzwvc3Bhbj48L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW1wbGVtZW50YXRpb24gaW5zdGVhZCBvZgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICI8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuCi1zdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5pZi4uPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+ZWxzZTwvc3Bhbj48L3NwYW4+IgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRlbWVudHMuPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5pZi4uPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPmVsc2U8L3NwYW4+PC9zcGFuPiIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZW1lbnRzLjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KQEAgLTMzMTQ5LDEzMiArNjc1OCwyOSBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCB0eXBlPSJzcXVhcmUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHR5cGU9InNxdWFyZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dG87bXNvLWxpc3Q6bDE0MCBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzc2O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkludGVycnVwdAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyI+SW50ZXJydXB0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vZGU8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dG87bXNvLWxpc3Q6bDE0MCBsZXZlbDQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNzY7dGFiLXN0b3BzOmxpc3QgMi4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPk1pbmltaXplCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWNjZXNzIG9uIFNQSSByZWdpc3RlcnMuPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvO21zby1saXN0OmwxNDAgbGV2ZWw0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzc2O3RhYi1zdG9wczpsaXN0IDIuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5TcGxpdCB0aGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+TWluaW1pemUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY2Nlc3Mgb24gU1BJIHJlZ2lzdGVycy48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9IiI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlNwbGl0IHRoZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNQSSBtb2RlcyBpbnRvIGRlZGljYXRlZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRpYyBmdW5jdGlvbnMgdG8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtaW5pbWl6ZSBjaGVja2luZwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRlbWVudHMgdW5kZXIgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkhBTF88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPklSUUhhbmRsZXIoPC9zcGFuPjwvc3Bhbj4pOjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRlbWVudHMgdW5kZXIgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SVJRSGFuZGxlcig8L3NwYW4+PC9zcGFuPik6PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0bzttc28tbGlzdDpsMTQwIGxldmVsNQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzc2O3RhYi1zdG9wczpsaXN0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMi41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9IiI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPjFsaW5lcy8ybGluZXMKIAogCiAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+MWxpbmVzLzJsaW5lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9kZXM8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0bzttc28tbGlzdDpsMTQwIGxldmVsNQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzc2O3RhYi1zdG9wczpsaXN0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMi41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij44IGJpdC8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE2IGJpdHMgZGF0YSBmb3JtYXRzPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDttc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvO21zby1saXN0OmwxNDAgbGV2ZWw1Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNzY7dGFiLXN0b3BzOmxpc3QKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkNSQworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9kZXM8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+OCBiaXQvCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxNiBiaXRzIGRhdGEgZm9ybWF0czwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSIiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5DUkMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhbGN1bGF0aW9uCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbmFibGVkL2Rpc2FibGVkLjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5hYmxlZC9kaXNhYmxlZC48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dG87bXNvLWxpc3Q6bDE0MCBsZXZlbDQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNzY7dGFiLXN0b3BzOmxpc3QgMi4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlJlbW92ZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSIiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ij5SZW1vdmUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3YWl0aW5nIGxvb3AgdW5kZXIgSVNSCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2hlbiA8c3BhbiBjbGFzcz0iZ3JhbWUiPmNsb3NpbmcKIApAQCAtMzMyODMsMTM0ICs2Nzg5LDM0IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbmJzcDt0aGU8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tbXVuaWNhdGlvbi48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0bzttc28tbGlzdDpsMTQwIGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNzY7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkFsbAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2RlczombmJzcDsmbmJzcDs8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWxsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vZGVzOiZuYnNwOyZuYnNwOzwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvO21zby1saXN0OmwxNDAgbGV2ZWw0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzc2O3RhYi1zdG9wczpsaXN0IDIuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5BZGRpbmcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3dpdGNoIFVTRV9TUElfQ1JDIHRvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWluaW1pemUgbnVtYmVyIG9mCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGVtZW50cyB3aGVuIENSQwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhbGN1bGF0aW9uIGlzIGRpc2FibGVkLjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0bzttc28tbGlzdDpsMTQwIGxldmVsNAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm83Njt0YWItc3RvcHM6bGlzdCAyLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+VXBkYXRlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FsY3VsYXRpb24gaXMgZGlzYWJsZWQuPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSIiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaW1lb3V0IG1hbmFnZW1lbnQgdG8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGVjayBvbiBnbG9iYWwgcHJvY2Vzcy48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvO21zby1saXN0OmwxNDAgbGV2ZWw0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzc2O3RhYi1zdG9wczpsaXN0IDIuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5VcGRhdGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGVjayBvbiBnbG9iYWwgcHJvY2Vzcy48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9IiI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVycm9yIGNvZGUgbWFuYWdlbWVudCBpbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsbCBwcm9jZXNzZXMuPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxsIHByb2Nlc3Nlcy48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvO21zby1saXN0OmwxNDAgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNzY7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5BZGQgbm90ZSB0bworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9IiI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsiPkFkZCBub3RlIHRvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgbWF4IGZyZXF1ZW5jaWVzIHJlYWNoZWQgaW4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsbCBtb2Rlcy48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dG87bXNvLWxpc3Q6bDE0MCBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm83Njt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkFkZCBub3RlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhYm91dCBNYXN0ZXIgUmVjZWl2ZSBtb2RlIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+cmVzdHJpY3Rpb25zIDo8L3NwYW4+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSIiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ij5BZGQgbm90ZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWJvdXQgTWFzdGVyIFJlY2VpdmUgbW9kZSA8c3BhbiBjbGFzcz0iZ3JhbWUiPnJlc3RyaWN0aW9ucyA6PC9zcGFuPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOiMwMDIwNTI7bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0bzttc28tbGlzdDpsMTQwCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXZlbDMgbGZvNzY7dGFiLXN0b3BzOiBsaXN0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSb21hbiZxdW90Oztjb2xvcjp3aW5kb3d0ZXh0Ij5NYXN0ZXIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiByZ2IoMCwgMzIsIDgyKTsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ij5NYXN0ZXIKIAogCiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVjZWl2ZSBtb2RlIHJlc3RyaWN0aW9uOjxicj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJm5ic3A7Jm5ic3A7Jm5ic3A7PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPiZuYnNwOyZuYnNwOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbmJzcDsmbmJzcDsmbmJzcDs8c3BhbiBjbGFzcz0iZ3JhbWUiPiZuYnNwOyZuYnNwOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg8L3NwYW4+IykgSW4gTWFzdGVyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuaWRpcmVjdGlvbmFsIHJlY2VpdmUtb25seQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2RlIChNU1RSID0xLCBCSURJTU9ERT0wLApAQCAtMzM0NDUsMzIyNyArNjg1MSw2ODggQEAKIAogCiAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7QXJpYWwmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O0FyaWFsJnF1b3Q7LHNhbnMtc2VyaWY7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dG87bXNvLWxpc3Q6bDk1IGxldmVsMQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm83Nzt0YWItc3RvcHM6bGlzdCAuNWluIj48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSIiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKIAogCiAKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij5IQUwKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNBSSZuYnNwOzwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPnVwZGF0ZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4gPC9zcGFuPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9iPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw5NSBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm83Nzt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+VXBkYXRlIGZvcgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU0FJJm5ic3A7PC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ij4gPC9zcGFuPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2I+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUgZm9yCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wZXIgbWFuYWdlbWVudCBvZiB0aGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4dGVybmFsIHN5bmNocm9uaXphdGlvbiBpbnB1dAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPnNlbGVjdGlvbjwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw5NSBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzc3O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij51cGRhdGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2YmbmJzcDs8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3Bhbgotc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX1NBSV9Jbml0PC9zcGFuPjwvc3Bhbj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCkgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4KLXN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPmZ1bmNpdG9uPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsOTUgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm83Nzt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+dXBkYXRlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmluaXRpb24gb2YgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+U0FJX0Jsb2NrX1N5bmNFeHQ8L3NwYW4+PC9zcGFuPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4KLXN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPlNBSV9CbG9ja19TeW5jaHJvbml6YXRpb248L3NwYW4+PC9zcGFuPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBncm91cHM8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5zZWxlY3Rpb248L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2YmbmJzcDs8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9TQUlfSW5pdDwvc3Bhbj48L3NwYW4+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgpIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+ZnVuY2l0b248L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmluaXRpb24gb2YgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5TQUlfQmxvY2tfU3luY0V4dDwvc3Bhbj48L3NwYW4+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlNBSV9CbG9ja19TeW5jaHJvbml6YXRpb248L3NwYW4+PC9zcGFuPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBncm91cHM8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsOTUgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNzc7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlVwZGF0ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU0FJX1NMT1RBQ1RJVkVfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPlgKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNBSV9TTE9UQUNUSVZFXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5YCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJm5ic3A7ZGVmaW5lczwvc3Bhbj48L3NwYW4+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsOTUgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNzc7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlVwZGF0ZSZuYnNwOzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX1NBSV88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5Jbml0KDwvc3Bhbj48L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gZm9yIHByb3BlciA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPmNvbXBhbmRpbmc8L3NwYW4+PC9zcGFuPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9kZSBtYW5hZ2VtZW50PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsOTUgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNzc7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlVwZGF0ZSA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPlNBSV9UcmFuc21pdF88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5JVHh4Qml0KDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXBkYXRlJm5ic3A7PHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfU0FJXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkluaXQoPC9zcGFuPjwvc3Bhbj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiBmb3IgcHJvcGVyIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Y29tcGFuZGluZzwvc3Bhbj48L3NwYW4+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2RlIG1hbmFnZW1lbnQ8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5TQUlfVHJhbnNtaXRfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SVR4eEJpdCg8L3NwYW4+PC9zcGFuPikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9ucyB0byBhZGQgdGhlIGNoZWNrIG9uCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2ZlciBjb3VudGVyIGJlZm9yZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd3JpdGluZyBuZXcgZGF0YSB0byA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPlNBSXhfRFI8L3NwYW4+PC9zcGFuPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVnaXN0ZXJzPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsOTUgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNzc7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlVwZGF0ZSA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPlNBSV88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5GaWxsRmlmbyg8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdyaXRpbmcgbmV3IGRhdGEgdG8gPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5TQUl4X0RSPC9zcGFuPjwvc3Bhbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZ2lzdGVyczwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZSA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlNBSV88L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5GaWxsRmlmbyg8L3NwYW4+PC9zcGFuPikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIHRvIGF2b2lkIGlzc3VlIHdoZW4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBudW1iZXIgb2YgZGF0YSB0byB0cmFuc21pdAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXMgc21hbGxlciB0aGFuIHRoZSBGSUZPIHNpemU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw5NSBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm83Nzt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+VXBkYXRlIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX1NBSV88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5FbmFibGVSeE11dGVNb2RlKDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXMgc21hbGxlciB0aGFuIHRoZSBGSUZPIHNpemU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfU0FJXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkVuYWJsZVJ4TXV0ZU1vZGUoPC9zcGFuPjwvc3Bhbj4pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiBmb3IgcHJvcGVyIG11dGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hbmFnZW1lbnQ8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsOTUgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNzc7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlVwZGF0ZSA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPlNBSV88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5Jbml0UENNKDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFuYWdlbWVudDwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZSA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlNBSV88L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5Jbml0UENNKDwvc3Bhbj48L3NwYW4+KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gdG8gc3VwcG9ydCAyNGJpdHMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYXRpb248L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhdGlvbjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsOTUgbGV2ZWwxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzc3O3RhYi1zdG9wczpsaXN0IC41aW4iPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAogCiAKIAotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPkhBTAotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRVRIIDwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPnVwZGF0ZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+IDwvc3Bhbj48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvYj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsOTUgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNzc7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlJlbW92YWwgb2YKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVUSCBNQUMgZGVidWcgcmVnaXN0ZXIgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPmRlZmluZXM8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFVEggPC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlPC9zcGFuPjxzcGFuIHN0eWxlPSIiPiA8L3NwYW4+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvYj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlJlbW92YWwgb2YKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVUSCBNQUMgZGVidWcgcmVnaXN0ZXIgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPmRlZmluZXM8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsOTUgbGV2ZWwxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzc3O3RhYi1zdG9wczpsaXN0IC41aW4iPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAogCiAKIAotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPkhBTAotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRkxBU0ggPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+dXBkYXRlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4gPC9zcGFuPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9iPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw5NSBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm83Nzt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+VXBkYXRlIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+RkxBU0hfPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+TWFzc0VyYXNlKDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRkxBU0ggPC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlPC9zcGFuPjxzcGFuIHN0eWxlPSIiPiA8L3NwYW4+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvYj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZSA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkZMQVNIXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPk1hc3NFcmFzZSg8L3NwYW4+PC9zcGFuPikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIHRvIGFwcGx5IGNvcnJlY3RseQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9sdGFnZSByYW5nZSBwYXJhbWV0ZXI8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4gPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2x0YWdlIHJhbmdlIHBhcmFtZXRlcjwvc3Bhbj48c3BhbiBzdHlsZT0iIj4gPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsOTUgbGV2ZWwxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzc3O3RhYi1zdG9wczpsaXN0IC41aW4iPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAogCiAKIAotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPkhBTAotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSTJTIDwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPnVwZGF0ZTwvc3Bhbj48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPiA8L3NwYW4+PC9iPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9iPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw5NSBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm83Nzt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+VXBkYXRlIEkyU188c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+RE1BVHhDcGx0KDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSTJTIDwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZTwvc3Bhbj48Yj48c3BhbiBzdHlsZT0iIj4gPC9zcGFuPjwvYj48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+PG86cD48L286cD48L3NwYW4+PC9iPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXBkYXRlIEkyU188c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RE1BVHhDcGx0KDwvc3Bhbj48L3NwYW4+KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIEkyU19ETUFSeENwbHQoKSB0byBtYW5hZ2UKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3Blcmx5IDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi1zdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5GdWxsRHVwbGV4PC9zcGFuPjwvc3Bhbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3Blcmx5IDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RnVsbER1cGxleDwvc3Bhbj48L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2RlIHdpdGhvdXQgYW55IHJpc2sgb2YKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1pc3NpbmcgZGF0YS48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4gPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtaXNzaW5nIGRhdGEuPC9zcGFuPjxzcGFuIHN0eWxlPSIiPiA8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw5NSBsZXZlbDEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNzc7dGFiLXN0b3BzOmxpc3QgLjVpbiI+PGI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+TEwKIAogCiAKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij5MTAotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRk1DIDwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPnVwZGF0ZTxiPiA8bzpwPjwvbzpwPjwvYj48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDk1IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzc3O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5VcGRhdGUgdGhlIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+Rk1DX05PUlNSQU1fPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SW5pdCg8L3NwYW4+PC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIHRvIHVzZSA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkJ1cnN0QWNjZXNzTW9kZTwvc3Bhbj48L3NwYW4+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWVsZCBwcm9wZXJseTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPiA8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZNQyA8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8Yj4gPG86cD48L286cD48L2I+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXBkYXRlIHRoZSA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkZNQ19OT1JTUkFNXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkluaXQoPC9zcGFuPjwvc3Bhbj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiB0byB1c2UgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5CdXJzdEFjY2Vzc01vZGU8L3NwYW4+PC9zcGFuPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmllbGQgcHJvcGVybHk8L3NwYW4+PHNwYW4gc3R5bGU9IiI+IDwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDk1IGxldmVsMQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm83Nzt0YWItc3RvcHM6bGlzdCAuNWluIj48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5MTAogCiAKIAotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPkxMCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RlNNQyZuYnNwOwogCiAKIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkZTTUMmbmJzcDsKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPjwvc3Bhbj48L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+dXBkYXRlPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+IDwvc3Bhbj48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvYj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsOTUgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNzc7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlVwZGF0ZSB0aGUgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5GU01DX05PUlNSQU1fPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SW5pdCg8L3NwYW4+PC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIHRvIHVzZSA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkJ1cnN0QWNjZXNzTW9kZTwvc3Bhbj48L3NwYW4+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWVsZCBwcm9wZXJseTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj48L3NwYW4+PC9zcGFuPjwvYj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPiA8L3NwYW4+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvYj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZSB0aGUgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5GU01DX05PUlNSQU1fPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SW5pdCg8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIHRvIHVzZSA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkJ1cnN0QWNjZXNzTW9kZTwvc3Bhbj48L3NwYW4+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWVsZCBwcm9wZXJseTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0byI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQiPjxicgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tc3BlY2lhbC1jaGFyYWN0ZXI6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1icmVhayI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS1baWYgIXN1cHBvcnRMaW5lQnJlYWtOZXdMaW5lXS0tPjxicgotc3R5bGU9Im1zby1zcGVjaWFsLWNoYXJhY3RlcjpsaW5lLWJyZWFrIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyI+PGJyIHN0eWxlPSIiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tW2lmICFzdXBwb3J0TGluZUJyZWFrTmV3TGluZV0tLT48YnIgc3R5bGU9IiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS1bZW5kaWZdLS0+PG86cD48L286cD48L3NwYW4+PC9wPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1hcmdpbi1yaWdodDo1MDAuMHB0O2JhY2tncm91bmQ6IzMzNjZGRiI+PGZvbnQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I9IiNmZmZmZmYiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7QXJpYWwmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDMgc3R5bGU9ImJhY2tncm91bmQ6IHJnYig1MSwgMTAyLCAyNTUpIG5vbmUgcmVwZWF0IHNjcm9sbCAwJSA1MCU7IC1tb3otYmFja2dyb3VuZC1jbGlwOiAtbW96LWluaXRpYWw7IC1tb3otYmFja2dyb3VuZC1vcmlnaW46IC1tb3otaW5pdGlhbDsgLW1vei1iYWNrZ3JvdW5kLWlubGluZS1wb2xpY3k6IC1tb3otaW5pdGlhbDsgbWFyZ2luLXJpZ2h0OiA1MDBwdDsiPjxmb250IGNvbG9yPSIjZmZmZmZmIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7QXJpYWwmcXVvdDssc2Fucy1zZXJpZjsiPlYxLjQuNAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8gMTEtRGVjZW1iZXItMjAxNTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2ZvbnQ+PC9oMz4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iIj48Yj48dT48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyBjb2xvcjogYmxhY2s7Ij5NYWluIENoYW5nZXM8L3NwYW4+PC91PjwvYj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyI+PG86cD48L286cD48L3NwYW4+PC9wPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMCiAKIAogCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSb21hbiZxdW90Oztjb2xvcjp3aGl0ZSI+VjEuNC40Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyAxMS1EZWNlbWJlci0yMDE1PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2ZvbnQ+PC9oMz4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dG8iPjxiPjx1PjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjpibGFjayI+TWFpbiBDaGFuZ2VzPC9zcGFuPjwvdT48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTA4IGxldmVsMQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm83ODt0YWItc3RvcHM6bGlzdCAuNWluIj48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPkhBTAotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR2VuZXJpYyA8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij51cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTA4IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzc4O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5VcGRhdGUgSEFMCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHZW5lcmljIDwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZSBIQUwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdlYWsgZW1wdHkgY2FsbGJhY2tzIHRvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmV2ZW50IHVudXNlZCBhcmd1bWVudAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tcGlsYXRpb24gd2FybmluZ3Mgd2l0aCBzb21lCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21waWxlcnMgYnkgY2FsbGluZyB0aGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbGxvd2luZyBsaW5lOjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPiA8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDEwOCBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzc4O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5VTlVTRUQoPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+aHBwcDwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+KTs8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbGxvd2luZyBsaW5lOjwvc3Bhbj48c3BhbiBzdHlsZT0iIj4gPG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VTlVTRUQoPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+aHBwcDwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPik7PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDEwOCBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm83ODt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+U1RNMzJGeHh4X1VzZXJfTWFudWFsLmNobQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlNUTTMyRnh4eF9Vc2VyX01hbnVhbC5jaG0KIAogCiAKIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZXMgcmVnZW5lcmF0ZWQgZm9yIEhBTAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVjEuNC4zPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBWMS40LjM8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDEwOCBsZXZlbDEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNzg7dGFiLXN0b3BzOmxpc3QgLjVpbiI+PGI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMCiAKIAogCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+SEFMCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFVEg8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4gdXBkYXRlJm5ic3A7PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTA4IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzc4O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5VcGRhdGUgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5IQUxfRVRIXzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkluaXQoPC9zcGFuPjwvc3Bhbj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFVEg8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4gdXBkYXRlJm5ic3A7PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXBkYXRlIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX0VUSF88L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5Jbml0KDwvc3Bhbj48L3NwYW4+KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gdG8gYWRkIHRpbWVvdXQgb24gdGhlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTb2Z0d2FyZSByZXNldCBtYW5hZ2VtZW50PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNvZnR3YXJlIHJlc2V0IG1hbmFnZW1lbnQ8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtYXJnaW4tcmlnaHQ6NTAwLjBwdDtiYWNrZ3JvdW5kOiMzMzY2RkY7LW1vei1iYWNrZ3JvdW5kLWNsaXA6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbml0aWFsOyAtbW96LWJhY2tncm91bmQtb3JpZ2luOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5pdGlhbDstbW96LWJhY2tncm91bmQtaW5saW5lLXBvbGljeToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluaXRpYWw7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6MCU7YmFja2dyb3VuZC1wb3NpdGlvbi15OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNTAlO2JhY2tncm91bmQtYXR0YWNobWVudDogc2Nyb2xsIj48Zm9udAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcj0iI2ZmZmZmZiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtBcmlhbCZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzIHN0eWxlPSJiYWNrZ3JvdW5kOiByZ2IoNTEsIDEwMiwgMjU1KSBub25lIHJlcGVhdCBzY3JvbGwgMCUgNTAlOyAtbW96LWJhY2tncm91bmQtY2xpcDogLW1vei1pbml0aWFsOyAtbW96LWJhY2tncm91bmQtb3JpZ2luOiAtbW96LWluaXRpYWw7IC1tb3otYmFja2dyb3VuZC1pbmxpbmUtcG9saWN5OiAtbW96LWluaXRpYWw7IG1hcmdpbi1yaWdodDogNTAwcHQ7Ij48Zm9udCBjb2xvcj0iI2ZmZmZmZiI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O0FyaWFsJnF1b3Q7LHNhbnMtc2VyaWY7Ij5WMS40LjIKIAogCiAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDs7Y29sb3I6d2hpdGUiPlYxLjQuMgotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8gMTAtTm92ZW1iZXItMjAxNTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9mb250PjwvaDM+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1yaWdodDowaW47bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21hcmdpbi1sZWZ0Oi4yNWluIj48Yj48dT48c3Bhbgotc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6Ci0mcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6YmxhY2siPk1haW4gQ2hhbmdlczwvc3Bhbj48L3U+PC9iPjxvOnA+PC9vOnA+PC9wPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1hcmdpbi10b3A6MGluO3RleHQtYWxpZ246c3RhcnQ7d29yZC1zcGFjaW5nOjBweCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDEzNiBsZXZlbDEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNzk7dGFiLXN0b3BzOmxpc3QgLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPkdlbmVyYWwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvIDEwLU5vdmVtYmVyLTIwMTU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9mb250PjwvaDM+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjogNC41cHQgMGluIDQuNXB0IDAuMjVpbjsiPjxiPjx1PjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7IGNvbG9yOiBibGFjazsiPk1haW4gQ2hhbmdlczwvc3Bhbj48L3U+PC9iPjxvOnA+PC9vOnA+PC9wPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyB0ZXh0LWFsaWduOiBzdGFydDsgd29yZC1zcGFjaW5nOiAwcHg7IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5HZW5lcmFsCiAKIAogCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlcyB0byBmaXgga25vd24gZGVmZWN0cyBhbmQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbmhhbmNlbWVudHMgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+aW1wbGVtZW50YXRpb248L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTM2IGxldmVsMQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm83OTt0YWItc3RvcHM6bGlzdCAuNWluIj48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPk9uZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuaGFuY2VtZW50cyA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+aW1wbGVtZW50YXRpb248L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5PbmUKIAogCiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYW5nZSBkb25lIG9uIHRoZSBIQUwgQ1JZUAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZXMgYW4gdXBkYXRlIG9uIHRoZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXBwbGljYXRpb24gY29kZSBiYXNlZCBvbiBIQUwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFYxLjQuMTwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxMzYgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNzk7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlVwZGF0ZSA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkhBTF9DUllQX0RFU0VDQl88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5EZWNyeXB0KDwvc3Bhbj48L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVBJIHRvJm5ic3A7aW52ZXJ0IDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+cFBsYWluRGF0YTwvc3Bhbj48L3NwYW4+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4KLXN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPnBDeXBoZXJEYXRhPC9zcGFuPjwvc3Bhbj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtZXRlcnM8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVjEuNC4xPC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZSA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9DUllQX0RFU0VDQl88L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5EZWNyeXB0KDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVBJIHRvJm5ic3A7aW52ZXJ0IDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+cFBsYWluRGF0YTwvc3Bhbj48L3NwYW4+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5wQ3lwaGVyRGF0YTwvc3Bhbj48L3NwYW4+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJhbWV0ZXJzPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxMzYgbGV2ZWwxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzc5O3RhYi1zdG9wczpsaXN0IC41aW4iPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAogCiAKIAotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPkhBTAotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2VuZXJpYzwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxMzYgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvNzk7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlVwZGF0ZSBIQUwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdlbmVyaWM8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUgSEFMCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3ZWFrIGVtcHR5IGNhbGxiYWNrcyB0bwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJldmVudCB1bnVzZWQgYXJndW1lbnQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbXBpbGF0aW9uIHdhcm5pbmdzIHdpdGggc29tZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tcGlsZXJzIGJ5IGNhbGxpbmcgdGhlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb2xsb3dpbmcgbGluZTo8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTIuMHB0O21zby1saXN0OmwxMzYgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm83OTt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+VU5VU0VEKDwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPmhwcHA8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPik7PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb2xsb3dpbmcgbGluZTo8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogMTJwdDsiPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVOVVNFRCg8L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5ocHBwPC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+KTs8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtYXJnaW4tdG9wOjBpbjt0ZXh0LWFsaWduOnN0YXJ0O3dvcmQtc3BhY2luZzowcHgiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw3MyBsZXZlbDEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvODA7dGFiLXN0b3BzOmxpc3QgLjVpbiI+PGI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsgdGV4dC1hbGlnbjogc3RhcnQ7IHdvcmQtc3BhY2luZzogMHB4OyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMCiAKIAogCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+SEFMCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDT1JURVggPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+dXBkYXRlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDczIGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzgwO3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5SZW1vdmUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENPUlRFWCA8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5SZW1vdmUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGR1cGxpY2F0aW9uIGZvcgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19IQUxfQ09SVEVYX1NZU1RJQ0tDTEtfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkNPTkZJRyg8L3NwYW4+PC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hY3JvPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fSEFMX0NPUlRFWF9TWVNUSUNLQ0xLXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5DT05GSUcoPC9zcGFuPjwvc3Bhbj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWNybzwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1hcmdpbi10b3A6MGluO3RleHQtYWxpZ246c3RhcnQ7d29yZC1zcGFjaW5nOjBweCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDM2IGxldmVsMQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm84MTt0YWItc3RvcHM6bGlzdCAuNWluIj48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyB0ZXh0LWFsaWduOiBzdGFydDsgd29yZC1zcGFjaW5nOiAwcHg7IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKIAogCiAKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij5IQUwKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBU0ggPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+dXBkYXRlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMzYgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvODE7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlJlbmFtZSA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkhBTF9IQVNIX1NUQVRFVHlwZURlZjwvc3Bhbj48L3NwYW4+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0byA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3Bhbgotc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX0hBU0hfU3RhdGVUeXBlRGVmPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwzNiBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm84MTt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+UmVuYW1lIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX0hBU0hfUGhhc2VUeXBlRGVmPC9zcGFuPjwvc3Bhbj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi1zdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5IQUxfSEFTSF9QaGFzZVR5cGVEZWY8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQVNIIDwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlJlbmFtZSA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9IQVNIX1NUQVRFVHlwZURlZjwvc3Bhbj48L3NwYW4+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0byA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9IQVNIX1N0YXRlVHlwZURlZjwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+UmVuYW1lIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX0hBU0hfUGhhc2VUeXBlRGVmPC9zcGFuPjwvc3Bhbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX0hBU0hfUGhhc2VUeXBlRGVmPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDM2IGxldmVsMQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm84MTt0YWItc3RvcHM6bGlzdCAuNWluIj48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKIAogCiAKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij5IQUwKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJDQyA8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij51cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwzNiBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm84MTt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+QWRkIG5ldwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFjcm9zIF9fSEFMX1JDQ188aT5QUFA8L2k+X0lTX0NMS188c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+RU5BQkxFRCg8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJDQyA8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQgbmV3CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWNyb3MgX19IQUxfUkNDXzxpPlBQUDwvaT5fSVNfQ0xLXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5FTkFCTEVEKDwvc3Bhbj48L3NwYW4+KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gY2hlY2sgb24gQ2xvY2sKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuYWJsZS9kaXNhYmxlIHN0YXR1czwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDM2IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzgxO3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5VcGRhdGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fSEFMX1JDQ19VU0JfT1RHX0ZTX0NMS188c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+RElTQUJMRSg8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuYWJsZS9kaXNhYmxlIHN0YXR1czwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19IQUxfUkNDX1VTQl9PVEdfRlNfQ0xLXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5ESVNBQkxFKDwvc3Bhbj48L3NwYW4+KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFjcm8gdG8gcmVtb3ZlIHRoZSBkaXNhYmxlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgdGhlIFNZU0NGRzwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwzNiBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm84MTt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+VXBkYXRlIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX1JDQ188L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5NQ09Db25maWcoPC9zcGFuPjwvc3Bhbj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgdGhlIFNZU0NGRzwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZSA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9SQ0NfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+TUNPQ29uZmlnKDwvc3Bhbj48L3NwYW4+KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVBJIHRvIHVzZSBuZXcgZGVmaW5lcyBmb3IgdGhlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHUElPIFNwZWVkPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMzYgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvODE7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkdlbmVyaWMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdQSU8gU3BlZWQ8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5HZW5lcmljCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGUgdG8gaW1wcm92ZSB0aGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBMTCZuYnNwO1ZDTyBtaW4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlKDEwME1Ieik6IFBMTE4sIFBMTEkyUwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIFBMTFNBSSBtaW4gdmFsdWUgaXMgNTAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluc3RlYWQgb2YgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPjE5Mjwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluc3RlYWQgb2YgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPjE5Mjwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwzNiBsZXZlbDEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvODE7dGFiLXN0b3BzOmxpc3QgLjVpbiI+PGI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMCiAKIAogCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+SEFMCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGTEFTSCA8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij51cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6IzAyMDMwMjttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDM2IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzgxO3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3Bhbgotc3R5bGU9InRleHQtYWxpZ246c3RhcnQ7ZmxvYXQ6bm9uZTt3b3JkLXNwYWNpbmc6MHB4Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjkuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUm9tYW4mcXVvdDs7YmFja2dyb3VuZDp3aGl0ZSI+X19IQUxfRkxBU0hfSU5TVFJVQ1RJT05fQ0FDSEVfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5SRVNFVCg8L3NwYW4+PC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFjcm86IHVwZGF0ZSB0byZuYnNwOzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9InRleHQtYWxpZ246c3RhcnQ7ZmxvYXQ6bm9uZTsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdvcmQtc3BhY2luZzowcHgiPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+cmVzZXQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbmJzcDs8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0idGV4dC1hbGlnbjpzdGFydDtmbG9hdDpub25lO3dvcmQtc3BhY2luZzoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwcHgiPklDUlNUIDwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJ0ZXh0LWFsaWduOnN0YXJ0O2Zsb2F0Om5vbmU7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd29yZC1zcGFjaW5nOjBweCI+Yml0IGluCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGTEFTSCA8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogcmdiKDIsIDMsIDIpOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0idGV4dC1hbGlnbjogc3RhcnQ7IGZsb2F0OiBub25lOyB3b3JkLXNwYWNpbmc6IDBweDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDlwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPl9fSEFMX0ZMQVNIX0lOU1RSVUNUSU9OX0NBQ0hFXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5SRVNFVCg8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFjcm86IHVwZGF0ZSB0byZuYnNwOzxzcGFuIHN0eWxlPSJ0ZXh0LWFsaWduOiBzdGFydDsgZmxvYXQ6IG5vbmU7IHdvcmQtc3BhY2luZzogMHB4OyI+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPnJlc2V0CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJm5ic3A7PC9zcGFuPjxzcGFuIHN0eWxlPSJ0ZXh0LWFsaWduOiBzdGFydDsgZmxvYXQ6IG5vbmU7IHdvcmQtc3BhY2luZzogMHB4OyI+SUNSU1QgPC9zcGFuPjxzcGFuIHN0eWxlPSJ0ZXh0LWFsaWduOiBzdGFydDsgZmxvYXQ6IG5vbmU7IHdvcmQtc3BhY2luZzogMHB4OyI+Yml0IGluCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIEFDUiByZWdpc3RlciBhZnRlcgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldHRpbmcgaXQuPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOiMwMjAzMDI7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwzNiBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm84MTt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+VXBkYXRlIHRvCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0dGluZyBpdC48L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IHJnYigyLCAzLCAyKTsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZSB0bwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3VwcG9ydCB1bnRpbCAxNSBGTEFTSCB3YWl0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZSAoRkxBU0hfTEFURU5DWV8xNSkgZm9yCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTVE0zMkY0NDZ4eCA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+ZGV2aWNlczwvc3Bhbj48L3NwYW4+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTVE0zMkY0NDZ4eCA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+ZGV2aWNlczwvc3Bhbj48L3NwYW4+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iTXNvTGlzdFBhcmFncmFwaCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtYXJnaW4tbGVmdDouNWluO3RleHQtaW5kZW50Oi0uMjVpbjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhYi1zdG9wczpsaXN0IC41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O21zby1iaWRpLWZvbnQtc2l6ZToKLTEyLjBwdDtmb250LWZhbWlseTpXaW5nZGluZ3M7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6V2luZ2RpbmdzOwotbXNvLWJpZGktZm9udC1mYW1pbHk6V2luZ2RpbmdzO2NvbG9yOmJsYWNrIj6nPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6Ny4wcHQ7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6V2luZ2RpbmdzO2NvbG9yOmJsYWNrIj4mbmJzcDsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iTXNvTGlzdFBhcmFncmFwaCIgc3R5bGU9Im1hcmdpbi1sZWZ0OiAwLjVpbjsgdGV4dC1pbmRlbnQ6IC0wLjI1aW47Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogV2luZ2RpbmdzOyBjb2xvcjogYmxhY2s7Ij6nPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDdwdDsgY29sb3I6IGJsYWNrOyI+Jm5ic3A7CiAKIAogCiAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjpibGFjayI+SEFMIENSWVAmbmJzcDs8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6YmxhY2siPnVwZGF0ZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2siPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDExOSBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm84Mjt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+VXBkYXRlIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX0NSWVBfREVTRUNCXzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkRlY3J5cHQoPC9zcGFuPjwvc3Bhbj4pCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBUEkgdG8gZml4IHRoZSBpbnZlcnRlZCA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPnBQbGFpbkRhdGE8L3NwYW4+PC9zcGFuPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi1zdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5wQ3lwaGVyRGF0YTwvc3Bhbj48L3NwYW4+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJhbWV0ZXJzIGlzc3VlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyBjb2xvcjogYmxhY2s7Ij5IQUwgQ1JZUCZuYnNwOzwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsgY29sb3I6IGJsYWNrOyI+dXBkYXRlPC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjogYmxhY2s7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L3A+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZSA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9DUllQX0RFU0VDQl88L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5EZWNyeXB0KDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVBJIHRvIGZpeCB0aGUgaW52ZXJ0ZWQgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5wUGxhaW5EYXRhPC9zcGFuPjwvc3Bhbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnBDeXBoZXJEYXRhPC9zcGFuPjwvc3Bhbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtZXRlcnMgaXNzdWU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDExOSBsZXZlbDEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvODI7dGFiLXN0b3BzOmxpc3QgLjVpbiI+PGI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMCiAKIAogCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+SEFMCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJMlMgPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+dXBkYXRlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTE5IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzgyO3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5VcGRhdGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9JMlNfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3Bhbgotc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SW5pdCg8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEkyUyA8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9JMlNfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkluaXQoPC9zcGFuPjwvc3Bhbj4pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBUEkmbmJzcDt0byBjYWxsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX0hBTF9SQ0NfSTJTX0NPTkZJRygpIG1hY3JvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aGVuIGV4dGVybmFsIEkyUyBjbG9jayBpcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWQ8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWQ8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDExOSBsZXZlbDEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvODI7dGFiLXN0b3BzOmxpc3QgLjVpbiI+PGI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMCiAKIAogCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+SEFMCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMVERDIDwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPnVwZGF0ZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDExOSBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm84Mjt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+VXBkYXRlIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX0xURENfPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+U2V0V2luZG93UG9zaXRpb24oPC9zcGFuPjwvc3Bhbj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMVERDIDwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZSA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9MVERDXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlNldFdpbmRvd1Bvc2l0aW9uKDwvc3Bhbj48L3NwYW4+KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVBJJm5ic3A7dG8gY29uZmlndXJlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJbW1lZGlhdGUmbmJzcDtyZWxvYWQmbmJzcDtyZWdpc3RlcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5zdGVhZCBvZiB2ZXJ0aWNhbCBibGFua2luZwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVsb2FkIHJlZ2lzdGVyLjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVsb2FkIHJlZ2lzdGVyLjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTE5IGxldmVsMQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm84Mjt0YWItc3RvcHM6bGlzdCAuNWluIj48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKIAogCiAKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij5IQUwKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRJTSA8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij51cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxMTkgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvODI7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlVwZGF0ZSA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkhBTF9USU1fPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+Q29uZmlnQ2xvY2tTb3VyY2UoPC9zcGFuPjwvc3Bhbj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUSU0gPC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXBkYXRlIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX1RJTV88L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5Db25maWdDbG9ja1NvdXJjZSg8L3NwYW4+PC9zcGFuPikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFQSSB0byZuYnNwO2NoZWNrIG9ubHkgdGhlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZCBwYXJhbWV0ZXJzPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkIHBhcmFtZXRlcnM8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDExOSBsZXZlbDEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvODI7dGFiLXN0b3BzOmxpc3QgLjVpbiI+PGI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMCiAKIAogCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+SEFMCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOQU5EIDwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPnVwZGF0ZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDExOSBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm84Mjt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+VXBkYXRlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUxfTkFORF9SZWFkX1BhZ2UoKS9IQUxfTkFORF9Xcml0ZV9QYWdlKCkvSEFMX05BTkRfUmVhZF88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+U3BhcmVBcmVhKDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTkFORCA8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9OQU5EX1JlYWRfUGFnZSgpL0hBTF9OQU5EX1dyaXRlX1BhZ2UoKS9IQUxfTkFORF9SZWFkXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5TcGFyZUFyZWEoPC9zcGFuPjwvc3Bhbj4pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBUElzIHRvIG1hbmFnZSBjb3JyZWN0bHkgdGhlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOQU5EIFBhZ2UgYWNjZXNzPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5BTkQgUGFnZSBhY2Nlc3M8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDExOSBsZXZlbDEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvODI7dGFiLXN0b3BzOmxpc3QgLjVpbiI+PGI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMCiAKIAogCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+SEFMCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDQU4gPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+dXBkYXRlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTE5IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzgyO3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5VcGRhdGUgdG8gdXNlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDQU4gPC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXBkYXRlIHRvIHVzZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIj0iIGluc3RlYWQgb2YgInw9IiB0byBjbGVhcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxhZ3MgaW4gdGhlIE1TUiwgVFNSLCBSRjBSCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgUkYxUiByZWdpc3RlcnM8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIFJGMVIgcmVnaXN0ZXJzPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxMTkgbGV2ZWwxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzgyO3RhYi1zdG9wczpsaXN0IC41aW4iPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAogCiAKIAotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPkhBTAotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSENEIDwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPnVwZGF0ZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDExOSBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm84Mjt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+Rml4IHR5cG8gaW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fSEFMX1VTQl9PVEdfSFNfV0FLRVVQX0VYVElfRU5BQkxFX1JJU0lOR19GQUxMSU5HXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5FREdFKDwvc3Bhbj48L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFjcm8gaW1wbGVtZW50YXRpb248L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSENEIDwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkZpeCB0eXBvIGluCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX0hBTF9VU0JfT1RHX0hTX1dBS0VVUF9FWFRJX0VOQUJMRV9SSVNJTkdfRkFMTElOR188c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RURHRSg8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hY3JvIGltcGxlbWVudGF0aW9uPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxMTkgbGV2ZWwxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzgyO3RhYi1zdG9wczpsaXN0IC41aW4iPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAogCiAKIAotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPkhBTAotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUENEIDwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPnVwZGF0ZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDExOSBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm84Mjt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+VXBkYXRlIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX1BDRF88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5JUlFIYW5kbGVyKDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUENEIDwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZSA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9QQ0RfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SVJRSGFuZGxlcig8L3NwYW4+PC9zcGFuPikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFQSSB0byBhdm9pZCBpc3N1ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2hlbiZuYnNwO0RNQSBtb2RlIGVuYWJsZWQgZm9yCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdGF0dXMgUGhhc2UgSU4gc3RhZ2U8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RhdHVzIFBoYXNlIElOIHN0YWdlPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxMTkgbGV2ZWwxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzgyO3RhYi1zdG9wczpsaXN0IC41aW4iPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkxMCiAKIAogCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+TEwKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZNQyA8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij51cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxMTkgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvODI7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlVwZGF0ZSB0aGUgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5GTUNfTk9SU1JBTV9FeHRlbmRlZF9UaW1pbmdfPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SW5pdCg8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZNQyA8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUgdGhlIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Rk1DX05PUlNSQU1fRXh0ZW5kZWRfVGltaW5nXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkluaXQoPC9zcGFuPjwvc3Bhbj4pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBUEkgdG8gcmVtb3ZlIHRoZSBjaGVjawotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb24mbmJzcDs8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3Bhbgotc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+Q0xLREl2aXNvbjwvc3Bhbj48L3NwYW4+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4KLXN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkRhdGFMYXRlbmN5PC9zcGFuPjwvc3Bhbj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtZXRlcnM8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxMTkgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvODI7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlVwZGF0ZSB0aGUgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5GTUNfTk9SU1JBTV88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5Jbml0KDwvc3Bhbj48L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVBJIHRvIGFkZCBhIGNoZWNrIG9uIHRoZSA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPlBhZ2VTaXplPC9zcGFuPjwvc3Bhbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uJm5ic3A7PHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5DTEtESXZpc29uPC9zcGFuPjwvc3Bhbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkRhdGFMYXRlbmN5PC9zcGFuPjwvc3Bhbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtZXRlcnM8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUgdGhlIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Rk1DX05PUlNSQU1fPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SW5pdCg8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFQSSB0byBhZGQgYSBjaGVjayBvbiB0aGUgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5QYWdlU2l6ZTwvc3Bhbj48L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJhbWV0ZXIgZm9yIFNUTTMyRjQyLzQzeHgKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRldmljZXM8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRldmljZXM8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDExOSBsZXZlbDEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvODI7dGFiLXN0b3BzOmxpc3QgLjVpbiI+PGI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+TEwKIAogCiAKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij5MTAotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRlNNQyA8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij51cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxMTkgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvODI7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlVwZGF0ZSB0aGUgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5GU01DX05PUlNSQU1fRXh0ZW5kZWRfVGltaW5nXzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkluaXQoPC9zcGFuPjwvc3Bhbj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGU01DIDwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZSB0aGUgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5GU01DX05PUlNSQU1fRXh0ZW5kZWRfVGltaW5nXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkluaXQoPC9zcGFuPjwvc3Bhbj4pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBUEkgdG8gcmVtb3ZlIHRoZSBjaGVjawotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb24mbmJzcDs8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3Bhbgotc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+Q0xLREl2aXNvbjwvc3Bhbj48L3NwYW4+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4KLXN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkRhdGFMYXRlbmN5PC9zcGFuPjwvc3Bhbj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtZXRlcnM8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb24mbmJzcDs8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkNMS0RJdmlzb248L3NwYW4+PC9zcGFuPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RGF0YUxhdGVuY3k8L3NwYW4+PC9zcGFuPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1ldGVyczwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1hcmdpbi1yaWdodDo1MDAuMHB0O2JhY2tncm91bmQ6IzMzNjZGRjstbW96LWJhY2tncm91bmQtY2xpcDoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluaXRpYWw7IC1tb3otYmFja2dyb3VuZC1vcmlnaW46Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbml0aWFsOy1tb3otYmFja2dyb3VuZC1pbmxpbmUtcG9saWN5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5pdGlhbDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb24teDowJTtiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA1MCU7YmFja2dyb3VuZC1hdHRhY2htZW50OiBzY3JvbGwiPjxmb250Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yPSIjZmZmZmZmIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0FyaWFsJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDMgc3R5bGU9ImJhY2tncm91bmQ6IHJnYig1MSwgMTAyLCAyNTUpIG5vbmUgcmVwZWF0IHNjcm9sbCAwJSA1MCU7IC1tb3otYmFja2dyb3VuZC1jbGlwOiAtbW96LWluaXRpYWw7IC1tb3otYmFja2dyb3VuZC1vcmlnaW46IC1tb3otaW5pdGlhbDsgLW1vei1iYWNrZ3JvdW5kLWlubGluZS1wb2xpY3k6IC1tb3otaW5pdGlhbDsgbWFyZ2luLXJpZ2h0OiA1MDBwdDsiPjxmb250IGNvbG9yPSIjZmZmZmZmIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7QXJpYWwmcXVvdDssc2Fucy1zZXJpZjsiPlYxLjQuMQogCiAKIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90Oztjb2xvcjp3aGl0ZSI+VjEuNC4xCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyAwOS1PY3RvYmVyLTIwMTU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9mb250PjwvaDM+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjogNC41cHQgMGluIDQuNXB0IDAuMjVpbjsiPjxiPjx1PjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7IGNvbG9yOiBibGFjazsiPk1haW4gQ2hhbmdlczwvc3Bhbj48L3U+PC9iPjxvOnA+PC9vOnA+PC9wPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyB0ZXh0LWFsaWduOiBzdGFydDsgd29yZC1zcGFjaW5nOiAwcHg7IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKIAogCiAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvIDA5LU9jdG9iZXItMjAxNTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9mb250PjwvaDM+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1yaWdodDowaW47bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21hcmdpbi1sZWZ0Oi4yNWluIj48Yj48dT48c3Bhbgotc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6Ci0mcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6YmxhY2siPk1haW4gQ2hhbmdlczwvc3Bhbj48L3U+PC9iPjxvOnA+PC9vOnA+PC9wPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1hcmdpbi10b3A6MGluO3RleHQtYWxpZ246c3RhcnQ7d29yZC1zcGFjaW5nOjBweCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDM4IGxldmVsMQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm84Mzt0YWItc3RvcHM6bGlzdCAuNWluIj48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPkhBTAotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRFNJIDwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPnVwZGF0ZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDM4IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzgzO3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5VcGRhdGUgVENDUgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRFNJIDwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZSBUQ0NSCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWdpc3RlciZuYnNwO2Fzc2lnbmVkIHZhbHVlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiZuYnNwOzxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi1zdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5IQUxfRFNJXzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkNvbmZpZ0hvc3RUaW1lb3V0cyg8L3NwYW4+PC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMzggbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvODM7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlVwZGF0ZSBXUENSCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiZuYnNwOzxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX0RTSV88L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5Db25maWdIb3N0VGltZW91dHMoPC9zcGFuPjwvc3Bhbj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZSBXUENSCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWdpc3RlciZuYnNwO2Fzc2lnbmVkIHZhbHVlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3Bhbgotc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX0RTSV88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5Jbml0KDwvc3Bhbj48L3NwYW4+KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX0RTSV88L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5Jbml0KDwvc3Bhbj48L3NwYW4+KSwKIAogCiAKIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5IQUxfRFNJX1NldFNsZXdSYXRlQW5kRGVsYXlUdW5pbmc8L3NwYW4+PC9zcGFuPigpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfRFNJX1NldFNsZXdSYXRlQW5kRGVsYXlUdW5pbmc8L3NwYW4+PC9zcGFuPigpLAogCiAKIAogCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkhBTF9EU0lfU2V0U2xld1JhdGVBbmREZWxheVR1bmluZzwvc3Bhbj48L3NwYW4+KCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9EU0lfU2V0U2xld1JhdGVBbmREZWxheVR1bmluZzwvc3Bhbj48L3NwYW4+KCksCiAKIAogCiAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX0RTSV9TZXRMb3dQb3dlclJYRmlsdGVyPC9zcGFuPjwvc3Bhbj4oKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfRFNJX1NldExvd1Bvd2VyUlhGaWx0ZXI8L3NwYW4+PC9zcGFuPigpCiAKIAogCiAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8gPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4KLXN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkhBTF9EU0lfU2V0U0REPC9zcGFuPjwvc3Bhbj4oKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8gPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfRFNJX1NldFNERDwvc3Bhbj48L3NwYW4+KCksCiAKIAogCiAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX0RTSV9TZXRMYW5lUGluc0NvbmZpZ3VyYXRpb248L3NwYW4+PC9zcGFuPigpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfRFNJX1NldExhbmVQaW5zQ29uZmlndXJhdGlvbjwvc3Bhbj48L3NwYW4+KCksCiAKIAogCiAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX0RTSV9TZXRQSFlUaW1pbmdzPC9zcGFuPjwvc3Bhbj4oKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX0RTSV9TZXRQSFlUaW1pbmdzPC9zcGFuPjwvc3Bhbj4oKSwKIAogCiAKIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5IQUxfRFNJX0ZvcmNlVFhTdG9wTW9kZTwvc3Bhbj48L3NwYW4+KCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9EU0lfRm9yY2VUWFN0b3BNb2RlPC9zcGFuPjwvc3Bhbj4oKSwKIAogCiAKIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5IQUxfRFNJX0ZvcmNlUlhMb3dQb3dlcjwvc3Bhbj48L3NwYW4+KCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9EU0lfRm9yY2VSWExvd1Bvd2VyPC9zcGFuPjwvc3Bhbj4oKSwKIAogCiAKIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5IQUxfRFNJX0ZvcmNlRGF0YUxhbmVzSW5SWDwvc3Bhbj48L3NwYW4+KCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9EU0lfRm9yY2VEYXRhTGFuZXNJblJYPC9zcGFuPjwvc3Bhbj4oKSwKIAogCiAKIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5IQUxfRFNJX1NldFB1bGxEb3duPC9zcGFuPjwvc3Bhbj4oKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfRFNJX1NldFB1bGxEb3duPC9zcGFuPjwvc3Bhbj4oKQogCiAKIAogCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4KLXN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkhBTF9EU0lfU2V0Q29udGVudGlvbkRldGVjdGlvbk9mZjwvc3Bhbj48L3NwYW4+KCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9EU0lfU2V0Q29udGVudGlvbkRldGVjdGlvbk9mZjwvc3Bhbj48L3NwYW4+KCkKIAogCiAKIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb25zPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMzggbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvODM7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlVwZGF0ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRFNJX0hTX1BNX0VOQUJMRSBkZWZpbmUgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPnZhbHVlPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwzOCBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm84Mzt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SW1wbGVtZW50CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbnM8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERTSV9IU19QTV9FTkFCTEUgZGVmaW5lIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij52YWx1ZTwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SW1wbGVtZW50CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3b3JrYXJvdW5kIGZvciB0aGUgaGFyZHdhcmUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbWl0YXRpb246IJNUaGUgdGltZSB0bwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0aXZhdGUgdGhlIGNsb2NrIGJldHdlZW4gSFMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zbWlzc2lvbnMgaXMgbm90Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYWxjdWxhdGVkIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5jb3JyZWN0bHmUPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FsY3VsYXRlZCA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Y29ycmVjdGx5lDwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibWFyZ2luLXJpZ2h0OjUwMC4wcHQ7YmFja2dyb3VuZDojMzM2NkZGOy1tb3otYmFja2dyb3VuZC1jbGlwOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5pdGlhbDsgLW1vei1iYWNrZ3JvdW5kLW9yaWdpbjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluaXRpYWw7LW1vei1iYWNrZ3JvdW5kLWlubGluZS1wb2xpY3k6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbml0aWFsOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbi14OjAlO2JhY2tncm91bmQtcG9zaXRpb24teToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDUwJTtiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IHNjcm9sbCI+PGZvbnQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I9IiNmZmZmZmYiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7QXJpYWwmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBzdHlsZT0iYmFja2dyb3VuZDogcmdiKDUxLCAxMDIsIDI1NSkgbm9uZSByZXBlYXQgc2Nyb2xsIDAlIDUwJTsgLW1vei1iYWNrZ3JvdW5kLWNsaXA6IC1tb3otaW5pdGlhbDsgLW1vei1iYWNrZ3JvdW5kLW9yaWdpbjogLW1vei1pbml0aWFsOyAtbW96LWJhY2tncm91bmQtaW5saW5lLXBvbGljeTogLW1vei1pbml0aWFsOyBtYXJnaW4tcmlnaHQ6IDUwMHB0OyI+PGZvbnQgY29sb3I9IiNmZmZmZmYiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtBcmlhbCZxdW90OyxzYW5zLXNlcmlmOyI+VjEuNC4wCiAKIAogCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7O2NvbG9yOndoaXRlIj5WMS40LjAKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvIDE0LUF1Z3VzdC0yMDE1PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2ZvbnQ+PC9oMz4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1hcmdpbi10b3A6NC41cHQ7bWFyZ2luLXJpZ2h0OjBpbjttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bWFyZ2luLWxlZnQ6LjI1aW4iPjxiPjx1PjxzcGFuCi1zdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseToKLSZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjpibGFjayI+TWFpbiBDaGFuZ2VzPC9zcGFuPjwvdT48L2I+PG86cD48L286cD48L3A+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibWFyZ2luLXRvcDowaW47dGV4dC1hbGlnbjpzdGFydDt3b3JkLXNwYWNpbmc6MHB4IgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTA5IGxldmVsMQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm84NDt0YWItc3RvcHM6bGlzdCAuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+QWRkCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3VwcG9ydCBvZjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iYXBwbGUtY29udmVydGVkLXNwYWNlIj48c3Bhbgotc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+Jm5ic3A7PC9zcGFuPjwvc3Bhbj48Yj5TVE0zMkY0Njl4eDwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+PHNwYW4KLXN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPiwgPGI+U1RNMzJGNDc5eHg8L2I+LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8gMTQtQXVndXN0LTIwMTU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9mb250PjwvaDM+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjogNC41cHQgMGluIDQuNXB0IDAuMjVpbjsiPjxiPjx1PjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7IGNvbG9yOiBibGFjazsiPk1haW4gQ2hhbmdlczwvc3Bhbj48L3U+PC9iPjxvOnA+PC9vOnA+PC9wPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyB0ZXh0LWFsaWduOiBzdGFydDsgd29yZC1zcGFjaW5nOiAwcHg7IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdXBwb3J0IG9mPHNwYW4gY2xhc3M9ImFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4mbmJzcDs8L3NwYW4+PC9zcGFuPjxiPlNUTTMyRjQ2OXh4PC9iPjxzcGFuIGNsYXNzPSJhcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+LCA8Yj5TVE0zMkY0Nzl4eDwvYj4sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxiPlNUTTMyRjQxMEN4LCBTVE0zMkY0MTBSeAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2I+YW5kPGI+IFNUTTMyRjQxMDwvYj48L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+VHgmbmJzcDs8L3NwYW4+PC9iPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGV2aWNlczwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxMDkgbGV2ZWwxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzg0O3RhYi1zdG9wczpsaXN0IC41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij5HZW5lcmFsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYj5hbmQ8Yj4gU1RNMzJGNDEwPC9iPjwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48Yj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlR4Jm5ic3A7PC9zcGFuPjwvYj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXZpY2VzPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+R2VuZXJhbAogCiAKIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZXMgdG8gZml4IGtub3duIGRlZmVjdHMgYW5kCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5oYW5jZW1lbnRzIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPmltcGxlbWVudGF0aW9uPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDEwOSBsZXZlbDEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvODQ7dGFiLXN0b3BzOmxpc3QgLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPkFkZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuaGFuY2VtZW50cyA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+aW1wbGVtZW50YXRpb248L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXcgSEFMIGRyaXZlcnMgZm9yIDxiPkRTSSZuYnNwOzwvYj5hbmQ8Yj4mbmJzcDtMUFRJTQogCiAKIAogCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9iPnBlcmlwaGVyYWxzPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYj5wZXJpcGhlcmFsczwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibWFyZ2luLXRvcDowaW47dGV4dC1hbGlnbjpzdGFydDt3b3JkLXNwYWNpbmc6MHB4IgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMjQgbGV2ZWwxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzg1O3RhYi1zdG9wczpsaXN0IC41aW4iPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IHRleHQtYWxpZ246IHN0YXJ0OyB3b3JkLXNwYWNpbmc6IDBweDsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAogCiAKIAotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPkhBTAotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQURDIDwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPnVwZGF0ZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDI0IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzg1O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5SZW5hbWUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFEQyA8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5SZW5hbWUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFEQ19DTE9DS1BSRVNDQUxFUl9QQ0xLX0RJVjIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmluZSB0bwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQURDX0NMT0NLX1NZTkNfUENMS19ESVYyPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMjQgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvODU7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlJlbmFtZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQURDX0NMT0NLX1NZTkNfUENMS19ESVYyPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+UmVuYW1lCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBRENfQ0xPQ0tQUkVTQ0FMRVJfUENMS19ESVY0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWZpbmUgdG8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFEQ19DTE9DS19TWU5DX1BDTEtfRElWNDwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDI0IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzg1O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5SZW5hbWUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFEQ19DTE9DS19TWU5DX1BDTEtfRElWNDwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlJlbmFtZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQURDX0NMT0NLUFJFU0NBTEVSX1BDTEtfRElWNgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmaW5lIHRvCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBRENfQ0xPQ0tfU1lOQ19QQ0xLX0RJVjY8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwyNCBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm84NTt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+UmVuYW1lCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBRENfQ0xPQ0tfU1lOQ19QQ0xLX0RJVjY8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5SZW5hbWUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFEQ19DTE9DS1BSRVNDQUxFUl9QQ0xLX0RJVjgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmluZSB0bwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQURDX0NMT0NLX1NZTkNfUENMS19ESVY4IDwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBRENfQ0xPQ0tfU1lOQ19QQ0xLX0RJVjggPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwyNCBsZXZlbDEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvODU7dGFiLXN0b3BzOmxpc3QgLjVpbiI+PGI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMCiAKIAogCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+SEFMCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDT1JURVggPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+dXBkYXRlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDI0IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzg1O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5BZGQgc3BlY2lmaWMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFQSSBmb3IgTVBVIG1hbmFnZW1lbnQ8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDI0IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvODU7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPmFkZCA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5NUFVfUmVnaW9uX0luaXRUeXBlRGVmPC9zcGFuPjwvc3Bhbj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0dXJlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDI0IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvODU7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPmFkZCBuZXcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX01QVV88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+Q29uZmlnUmVnaW9uKDwvc3Bhbj48L3NwYW4+KTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ09SVEVYIDwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZCBzcGVjaWZpYworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVBJIGZvciBNUFUgbWFuYWdlbWVudDwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5hZGQgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5NUFVfUmVnaW9uX0luaXRUeXBlRGVmPC9zcGFuPjwvc3Bhbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0dXJlPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5hZGQgbmV3CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX01QVV88L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5Db25maWdSZWdpb24oPC9zcGFuPjwvc3Bhbj4pPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwyNCBsZXZlbDEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvODU7dGFiLXN0b3BzOmxpc3QgLjVpbiI+PGI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMCiAKIAogCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+SEFMCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBETUEgPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+dXBkYXRlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMjQgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvODU7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPk92ZXJhbGwgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPmRyaXZlcjwvc3Bhbj48L3NwYW4+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGUgZm9yIGNvZGUgb3B0aW1pemF0aW9uPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwyNCBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzg1O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5hZGQgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+U3RyZWFtQmFzZUFkZHJlc3M8L3NwYW4+PC9zcGFuPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4KLXN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPlN0cmVhbUluZGV4PC9zcGFuPjwvc3Bhbj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3IGZpZWxkcyBpbiB0aGUgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5ETUFfSGFuZGxlVHlwZURlZjwvc3Bhbj48L3NwYW4+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdHVyZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwyNCBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzg1O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5hZGQgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+RE1BX0Jhc2VfUmVnaXN0ZXJzPC9zcGFuPjwvc3Bhbj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJpdmF0ZSA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuCi1zdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5zdHJ1Y3R1cmU8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwyNCBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzg1O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5hZGQgc3RhdGljCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkRNQV88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+Q2FsY0Jhc2VBbmRCaXRzaGlmdCg8L3NwYW4+PC9zcGFuPik8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMjQgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm84NTt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+dXBkYXRlIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkhBTF9ETUFfPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkluaXQoPC9zcGFuPjwvc3Bhbj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBETUEgPC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+T3ZlcmFsbCA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+ZHJpdmVyPC9zcGFuPjwvc3Bhbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZSBmb3IgY29kZSBvcHRpbWl6YXRpb248L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+YWRkIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+U3RyZWFtQmFzZUFkZHJlc3M8L3NwYW4+PC9zcGFuPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5TdHJlYW1JbmRleDwvc3Bhbj48L3NwYW4+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ldyBmaWVsZHMgaW4gdGhlIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RE1BX0hhbmRsZVR5cGVEZWY8L3NwYW4+PC9zcGFuPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3R1cmU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPmFkZCA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkRNQV9CYXNlX1JlZ2lzdGVyczwvc3Bhbj48L3NwYW4+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByaXZhdGUgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnN0cnVjdHVyZTwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5hZGQgc3RhdGljCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RE1BXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkNhbGNCYXNlQW5kQml0c2hpZnQoPC9zcGFuPjwvc3Bhbj4pPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGUgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfRE1BXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkluaXQoPC9zcGFuPjwvc3Bhbj4pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIHRvIHVzZSB0aGUgbmV3Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkZGVkIHN0YXRpYyBmdW5jdGlvbjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwyNCBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzg1O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij51cGRhdGUgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX0RNQV88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+RGVJbml0KDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZGRlZCBzdGF0aWMgZnVuY3Rpb248L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZSA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9ETUFfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RGVJbml0KDwvc3Bhbj48L3NwYW4+KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiB0byBvcHRpbWl6ZSBjbGVhcgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGFnIG9wZXJhdGlvbnM8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMjQgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm84NTt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+dXBkYXRlIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkhBTF9ETUFfU3RhcnRfPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPklUKDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGFnIG9wZXJhdGlvbnM8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZSA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9ETUFfU3RhcnRfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SVQoPC9zcGFuPjwvc3Bhbj4pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIHRvIG9wdGltaXplCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludGVycnVwdHMgZW5hYmxlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDI0IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvODU7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPnVwZGF0ZSA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5IQUxfRE1BXzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5Qb2xsRm9yVHJhbnNmZXIoPC9zcGFuPjwvc3Bhbj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludGVycnVwdHMgZW5hYmxlPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGUgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfRE1BXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlBvbGxGb3JUcmFuc2Zlcig8L3NwYW4+PC9zcGFuPikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gdG8gb3B0aW1pemUgY2hlY2sKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb24gZmxhZ3M8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDI0IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvODU7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPnVwZGF0ZSA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5IQUxfRE1BXzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5JUlFIYW5kbGVyKDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbiBmbGFnczwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX0RNQV88L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5JUlFIYW5kbGVyKDwvc3Bhbj48L3NwYW4+KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiB0byBvcHRpbWl6ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnRlcnJ1cHQgZmxhZyBtYW5hZ2VtZW50PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludGVycnVwdCBmbGFnIG1hbmFnZW1lbnQ8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDI0IGxldmVsMQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm84NTt0YWItc3RvcHM6bGlzdCAuNWluIj48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKIAogCiAKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij5IQUwKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZMQVNIIDwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPnVwZGF0ZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDI0IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzg1O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij51cGRhdGUgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5IQUxfRkxBU0hfUHJvZ3JhbV88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5JVCg8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZMQVNIIDwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZSA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9GTEFTSF9Qcm9ncmFtXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPklUKDwvc3Bhbj48L3NwYW4+KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gYnkgcmVtb3ZpbmcgdGhlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwZW5kaW5nIGZsYWcgY2xlYXI8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwyNCBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm84NTt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+dXBkYXRlIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX0ZMQVNIXzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPklSUUhhbmRsZXIoPC9zcGFuPjwvc3Bhbj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwZW5kaW5nIGZsYWcgY2xlYXI8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGUgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfRkxBU0hfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SVJRSGFuZGxlcig8L3NwYW4+PC9zcGFuPikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIHRvIGltcHJvdmUgZXJhc2UKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wZXJhdGlvbiBwcm9jZWR1cmU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwyNCBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm84NTt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+dXBkYXRlIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+RkxBU0hfPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+V2FpdEZvckxhc3RPcGVyYXRpb24oPC9zcGFuPjwvc3Bhbj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGVyYXRpb24gcHJvY2VkdXJlPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RkxBU0hfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+V2FpdEZvckxhc3RPcGVyYXRpb24oPC9zcGFuPjwvc3Bhbj4pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiBieSBjaGVja2luZyBvbiBlbmQgb2YKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wZXJhdGlvbiBmbGFnPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wZXJhdGlvbiBmbGFnPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwyNCBsZXZlbDEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvODU7dGFiLXN0b3BzOmxpc3QgLjVpbiI+PGI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMCiAKIAogCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+SEFMCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHUElPIDwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPnVwZGF0ZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDI0IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzg1O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5SZW5hbWUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdQSU8gPC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+UmVuYW1lCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHUElPX1NQRUVEX0xPVyBkZWZpbmUgdG8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fU1BFRURfRlJFUV9MT1c8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwyNCBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm84NTt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+UmVuYW1lCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHUElPX1NQRUVEX0ZSRVFfTE9XPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+UmVuYW1lCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHUElPX1NQRUVEX01FRElVTSBkZWZpbmUgdG8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fU1BFRURfRlJFUV9NRURJVU08L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwyNCBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm84NTt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+UmVuYW1lCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHUElPX1NQRUVEX0ZSRVFfTUVESVVNPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+UmVuYW1lCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHUElPX1NQRUVEX0ZBU1QgZGVmaW5lIHRvCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHUElPX1NQRUVEX0ZSRVFfSElHSDwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDI0IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzg1O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5SZW5hbWUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fU1BFRURfRlJFUV9ISUdIPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+UmVuYW1lCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHUElPX1NQRUVEX0hJR0ggZGVmaW5lIHRvCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHUElPX1NQRUVEX0ZSRVFfVkVSWV9ISUdIPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdQSU9fU1BFRURfRlJFUV9WRVJZX0hJR0g8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDI0IGxldmVsMQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm84NTt0YWItc3RvcHM6bGlzdCAuNWluIj48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKIAogCiAKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij5IQUwKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEkyUyA8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij51cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwyNCBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm84NTt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+TW92ZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSTJTIDwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPk1vdmUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEkyU19DbG9ja19Tb3VyY2UgZGVmaW5lcyB0bwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXh0ZW5zaW9uIGZpbGUgdG8gcHJvcGVybHkgYWRkCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgc3VwcG9ydCBvZiBTVE0zMkY0MTB4eCA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+ZGV2aWNlczwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBzdXBwb3J0IG9mIFNUTTMyRjQxMHh4IDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5kZXZpY2VzPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDI0IGxldmVsMQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm84NTt0YWItc3RvcHM6bGlzdCAuNWluIj48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKIAogCiAKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij5IQUwKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExUREMgPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+dXBkYXRlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMjQgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvODU7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPnJlbmFtZSA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkhBTF9MVERDXzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkxpbmVFdmVuQ2FsbGJhY2soPC9zcGFuPjwvc3Bhbj4pCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiB0byA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkhBTF9MVERDX0xpbmVFdmVudENhbGxiYWNrPC9zcGFuPjwvc3Bhbj4oKTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDI0IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzg1O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5hZGQgbmV3Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3Bhbgotc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX0xURENfPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+U2V0UGl0Y2goPC9zcGFuPjwvc3Bhbj4pPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMjQgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvODU7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPmFkZCBuZXcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9ucyA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkhBTF9MVERDXzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPlN0cnVjdEluaXRGcm9tVmlkZW9Db25maWcoPC9zcGFuPjwvc3Bhbj4pCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4KLXN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkhBTF9MVERDX1N0cnVjdEluaXRGcm9tQWRhcHRlZENvbW1hbmRDb25maWc8L3NwYW4+PC9zcGFuPigpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMVERDIDwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnJlbmFtZSA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9MVERDXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkxpbmVFdmVuQ2FsbGJhY2soPC9zcGFuPjwvc3Bhbj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiB0byA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9MVERDX0xpbmVFdmVudENhbGxiYWNrPC9zcGFuPjwvc3Bhbj4oKTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPmFkZCBuZXcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX0xURENfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+U2V0UGl0Y2goPC9zcGFuPjwvc3Bhbj4pPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+YWRkIG5ldworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb25zIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX0xURENfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+U3RydWN0SW5pdEZyb21WaWRlb0NvbmZpZyg8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9MVERDX1N0cnVjdEluaXRGcm9tQWRhcHRlZENvbW1hbmRDb25maWc8L3NwYW4+PC9zcGFuPigpCiAKIAogCiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFwcGxpY2FibGUgb25seSB0byBTVE0zMkY0Njl4eAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIFNUTTMyRjQ3OXh4IGRldmljZXM8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIFNUTTMyRjQ3OXh4IGRldmljZXM8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDI0IGxldmVsMQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm84NTt0YWItc3RvcHM6bGlzdCAuNWluIj48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKIAogCiAKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij5IQUwKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBXUiA8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij51cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwyNCBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm84NTt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+bW92ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19IQUxfUFdSX1ZPTFRBR0VTQ0FMSU5HXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5DT05GSUcoPC9zcGFuPjwvc3Bhbj4pCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWNybyB0byBleHRlbnNpb24gZmlsZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDI0IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzg1O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5tb3ZlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQV1IgPC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+bW92ZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19IQUxfUFdSX1ZPTFRBR0VTQ0FMSU5HXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5DT05GSUcoPC9zcGFuPjwvc3Bhbj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWNybyB0byBleHRlbnNpb24gZmlsZTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPm1vdmUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBXUl9XQUtFVVBfUElOMiBkZWZpbmUgdG8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4dGVuc2lvbiA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+ZmlsZTwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMjQgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvODU7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPmFkZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXh0ZW5zaW9uIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5maWxlPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5hZGQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBXUl9XQUtFVVBfUElOMyBkZWZpbmUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcHBsaWNhYmxlIG9ubHkgdG8gU1RNMzJGMTB4eAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPmRldmljZXM8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDI0IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzg1O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5hZGQgbmV3Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbnMgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5IQUxfUFdSRXhfPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+RW5hYmxlV2FrZVVwUGluUG9sYXJpdHlSaXNpbmdFZGdlKDwvc3Bhbj48L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi1zdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5IQUxfUFdSRXhfRW5hYmxlV2FrZVVwUGluUG9sYXJpdHlGYWxsaW5nRWRnZTwvc3Bhbj48L3NwYW4+KCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+ZGV2aWNlczwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+YWRkIG5ldworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb25zIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX1BXUkV4Xzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkVuYWJsZVdha2VVcFBpblBvbGFyaXR5UmlzaW5nRWRnZSg8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9QV1JFeF9FbmFibGVXYWtlVXBQaW5Qb2xhcml0eUZhbGxpbmdFZGdlPC9zcGFuPjwvc3Bhbj4oKSwKIAogCiAKIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXBwbGljYWJsZSBvbmx5IHRvIFNUTTMyRjQ2OXh4Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgU1RNMzJGNDc5eHggZGV2aWNlczwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgU1RNMzJGNDc5eHggZGV2aWNlczwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1hcmdpbi10b3A6MGluO3RleHQtYWxpZ246c3RhcnQ7d29yZC1zcGFjaW5nOjBweCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDExMCBsZXZlbDEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvODY7dGFiLXN0b3BzOmxpc3QgLjVpbiI+PGI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsgdGV4dC1hbGlnbjogc3RhcnQ7IHdvcmQtc3BhY2luZzogMHB4OyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMCiAKIAogCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+SEFMCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSVEMgPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+dXBkYXRlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTEwIGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzg2O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5VcGRhdGUgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5IQUxfUlRDRXhfPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+U2V0V2FrZVVwVGltZXIoPC9zcGFuPjwvc3Bhbj4pCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4KLXN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkhBTF9SVENFeF9TZXRXYWtlVXBUaW1lcl9JVDwvc3Bhbj48L3NwYW4+KCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJUQyA8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfUlRDRXhfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+U2V0V2FrZVVwVGltZXIoPC9zcGFuPjwvc3Bhbj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfUlRDRXhfU2V0V2FrZVVwVGltZXJfSVQ8L3NwYW4+PC9zcGFuPigpCiAKIAogCiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9ucyB0byBwcm9wZXJseSBjaGVjayBvbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIFdVVFdGIGZsYWc8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIFdVVFdGIGZsYWc8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDExMCBsZXZlbDEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvODY7dGFiLXN0b3BzOmxpc3QgLjVpbiI+PGI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMCiAKIAogCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+SEFMCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUSU0gPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+dXBkYXRlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTEwIGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzg2O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5hZGQgbmV3Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWZpbmVzIFRJTV9TWVNURU1CUkVBS0lOUFVUXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5IQVJERkFVTFQsJm5ic3A7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUSU0gPC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+YWRkIG5ldworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmaW5lcyBUSU1fU1lTVEVNQlJFQUtJTlBVVF88c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFSREZBVUxULCZuYnNwOwogCiAKIApAQCAtMzY2NzcsMjk3ICs3NTQ0LDc0IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRJTV9TWVNURU1CUkVBS0lOUFVUX0hBUkRGQVVMVF9QVkQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcHBsaWNhYmxlIG9ubHkgdG8gU1RNMzJGNDEweHgKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRldmljZXM8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRldmljZXM8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtYXJnaW4tcmlnaHQ6NTAwLjBwdDtiYWNrZ3JvdW5kOiMzMzY2RkY7LW1vei1iYWNrZ3JvdW5kLWNsaXA6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbml0aWFsOyAtbW96LWJhY2tncm91bmQtb3JpZ2luOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5pdGlhbDstbW96LWJhY2tncm91bmQtaW5saW5lLXBvbGljeToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluaXRpYWw7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6MCU7YmFja2dyb3VuZC1wb3NpdGlvbi15OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNTAlO2JhY2tncm91bmQtYXR0YWNobWVudDogc2Nyb2xsIj48Zm9udAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcj0iI2ZmZmZmZiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtBcmlhbCZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzIHN0eWxlPSJiYWNrZ3JvdW5kOiByZ2IoNTEsIDEwMiwgMjU1KSBub25lIHJlcGVhdCBzY3JvbGwgMCUgNTAlOyAtbW96LWJhY2tncm91bmQtY2xpcDogLW1vei1pbml0aWFsOyAtbW96LWJhY2tncm91bmQtb3JpZ2luOiAtbW96LWluaXRpYWw7IC1tb3otYmFja2dyb3VuZC1pbmxpbmUtcG9saWN5OiAtbW96LWluaXRpYWw7IG1hcmdpbi1yaWdodDogNTAwcHQ7Ij48Zm9udCBjb2xvcj0iI2ZmZmZmZiI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O0FyaWFsJnF1b3Q7LHNhbnMtc2VyaWY7Ij5WMS4zLjIKIAogCiAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDs7Y29sb3I6d2hpdGUiPlYxLjMuMgotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8gMjYtSnVuZS0yMDE1PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2ZvbnQ+PC9oMz4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1hcmdpbi10b3A6NC41cHQ7bWFyZ2luLXJpZ2h0OjBpbjttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bWFyZ2luLWxlZnQ6LjI1aW4iPjxiPjx1PjxzcGFuCi1zdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseToKLSZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjpibGFjayI+TWFpbiBDaGFuZ2VzPC9zcGFuPjwvdT48L2I+PG86cD48L286cD48L3A+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibWFyZ2luLXRvcDowaW47dGV4dC1hbGlnbjpzdGFydDt3b3JkLXNwYWNpbmc6MHB4IgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTI2IGxldmVsMQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm84Nzt0YWItc3RvcHM6bGlzdCAuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+R2VuZXJhbAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8gMjYtSnVuZS0yMDE1PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvZm9udD48L2gzPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW46IDQuNXB0IDBpbiA0LjVwdCAwLjI1aW47Ij48Yj48dT48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyBjb2xvcjogYmxhY2s7Ij5NYWluIENoYW5nZXM8L3NwYW4+PC91PjwvYj48bzpwPjwvbzpwPjwvcD4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsgdGV4dC1hbGlnbjogc3RhcnQ7IHdvcmQtc3BhY2luZzogMHB4OyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+R2VuZXJhbAogCiAKIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZXMgdG8gZml4IGtub3duIGRlZmVjdHMgYW5kCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5oYW5jZW1lbnRzIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPmltcGxlbWVudGF0aW9uPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbmhhbmNlbWVudHMgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPmltcGxlbWVudGF0aW9uPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+T25lCiAKIAogCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxMjYgbGV2ZWwxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzg3O3RhYi1zdG9wczpsaXN0IC41aW4iPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+T25lCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+Y2hhbmdlczwvc3Bhbj48L3NwYW4+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Y2hhbmdlczwvc3Bhbj48L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb25lIG9uIHRoZSBIQUwgbWF5IHJlcXVpcmUgYW4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZSBvbiB0aGUgYXBwbGljYXRpb24gY29kZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFzZWQgb24gSEFMIFYxLjMuMTwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxMjYgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvODc7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkhBU0ggSVQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2Nlc3M6IHVwZGF0ZSB0byBjYWxsIHRoZSA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkhBTF9IQVNIXzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkluQ3BsdENhbGxiYWNrKDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFzZWQgb24gSEFMIFYxLjMuMTwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQVNIIElUCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9jZXNzOiB1cGRhdGUgdG8gY2FsbCB0aGUgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfSEFTSF88L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5JbkNwbHRDYWxsYmFjayg8L3NwYW4+PC9zcGFuPikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF0IHRoZSBlbmQgb2YgdGhlIGNvbXBsZXRlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBidWZmZXIgaW5zdGVhZCBvZiBldmVyeSBlYWNoCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA1MTIgYml0czwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA1MTIgYml0czwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1hcmdpbi10b3A6MGluO3RleHQtYWxpZ246c3RhcnQ7d29yZC1zcGFjaW5nOjBweCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDc1IGxldmVsMQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm84ODt0YWItc3RvcHM6bGlzdCAuNWluIj48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyB0ZXh0LWFsaWduOiBzdGFydDsgd29yZC1zcGFjaW5nOiAwcHg7IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKIAogCiAKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij5IQUwKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJDQyA8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij51cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw3NSBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm84ODt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5IQUxfUkNDRXhfPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+UGVyaXBoQ0xLQ29uZmlnKDwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+KSB1cGRhdGVzOjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNzUgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm84ODt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+VXBkYXRlIHRoZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUkNDIDwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9SQ0NFeF88L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlBlcmlwaENMS0NvbmZpZyg8L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4pIHVwZGF0ZXM6PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZSB0aGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTFNFIGNoZWNrIGNvbmRpdGlvbiBhZnRlcgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrdXAgZG9tYWluIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+cmVzZXQ6PC9zcGFuPjwvc3Bhbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja3VwIGRvbWFpbiA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+cmVzZXQ6PC9zcGFuPjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlIHRvIGNoZWNrJm5ic3A7TFNFCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlYWR5IGZsYWcgd2hlbiBMU0UKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3NjaWxsYXRvciBpcyBhbHJlYWR5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuYWJsZWQgaW5zdGVhZCBvZiBjaGVjayBvbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMU0Ugb3NjaWxsYXRvciBvbmx5IHdoZW4gTFNFCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzIHVzZWQgYXMgUlRDIGNsb2NrIHNvdXJjZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw3NSBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzg4O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5Vc2UgdGhlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzIHVzZWQgYXMgUlRDIGNsb2NrIHNvdXJjZTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXNlIHRoZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByaWdodCBtYWNybyB0byBjaGVjayB0aGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUExMSTJTUSA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuCi1zdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5wYXJhbWV0ZXJzPC9zcGFuPjwvc3Bhbj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQTExJMlNRIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5wYXJhbWV0ZXJzPC9zcGFuPjwvc3Bhbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1hcmdpbi10b3A6MGluO3RleHQtYWxpZ246c3RhcnQ7d29yZC1zcGFjaW5nOjBweCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDU4IGxldmVsMQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm84OTt0YWItc3RvcHM6bGlzdCAuNWluIj48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyB0ZXh0LWFsaWduOiBzdGFydDsgd29yZC1zcGFjaW5nOiAwcHg7IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKIAogCiAKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij5IQUwKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJUQyA8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij51cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw1OCBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm84OTt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+X19IQUxfUlRDX1RBTVBFUl9USU1FU1RBTVBfRVhUSV9HRVRfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkZMQUcoPC9zcGFuPjwvc3Bhbj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSVEMgPC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+X19IQUxfUlRDX1RBTVBFUl9USU1FU1RBTVBfRVhUSV9HRVRfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkZMQUcoPC9zcGFuPjwvc3Bhbj4pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWNybzogZml4IGltcGxlbWVudGF0aW9uCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc3N1ZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw1OCBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm84OTt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+X19IQUxfUlRDX0FMQVJNX0dFVF88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SVQoPC9zcGFuPjwvc3Bhbj4pLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNzdWU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5fX0hBTF9SVENfQUxBUk1fR0VUXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5JVCg8L3NwYW4+PC9zcGFuPiksCiAKIAogCkBAIC0zNjk4NSw3MTEgKzc2MjksMTQ3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fSEFMX1JUQ19UQU1QRVJfQ0xFQVJfRkxBRygpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWNyb3MgaW1wbGVtZW50YXRpb24gY2hhbmdlZDoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbW92ZSB1bnVzZWQgY2FzdDwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDU4IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzg5O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5JU19SVENfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPlRBTVBFUig8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbW92ZSB1bnVzZWQgY2FzdDwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPklTX1JUQ188c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VEFNUEVSKDwvc3Bhbj48L3NwYW4+KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFjcm86IHVwZGF0ZSB0byB1c2UgbGl0ZXJhbAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5zdGVhZCBvZiBoYXJkY29kZWQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlJm5ic3A7PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNTggbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvODk7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkFkZCBuZXcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtZXRlciA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPlNlY29uZEZyYWN0aW9uPC9zcGFuPjwvc3Bhbj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi1zdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5SVENfVGltZVR5cGVEZWY8L3NwYW4+PC9zcGFuPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0dXJlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNTggbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvODk7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SEFMX1JUQ188L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5HZXRUaW1lKDwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+KSBBUEkgdXBkYXRlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSZuYnNwOzwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZCBuZXcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtZXRlciA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlNlY29uZEZyYWN0aW9uPC9zcGFuPjwvc3Bhbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+UlRDX1RpbWVUeXBlRGVmPC9zcGFuPjwvc3Bhbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdHVyZTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9SVENfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5HZXRUaW1lKDwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPikgQVBJIHVwZGF0ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gc3VwcG9ydCB0aGUgbmV3Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJhbWV0ZXImbmJzcDs8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPlNlY29uZEZyYWN0aW9uPC9zcGFuPjwvc3Bhbj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1ldGVyJm5ic3A7PHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5TZWNvbmRGcmFjdGlvbjwvc3Bhbj48L3NwYW4+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw1OCBsZXZlbDEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvODk7dGFiLXN0b3BzOmxpc3QgLjVpbiI+PGI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMCiAKIAogCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+SEFMCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBREMgPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+dXBkYXRlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNTggbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvODk7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkFkZCBuZXcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFEQyA8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQgbmV3CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaXRlcmFsOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQURDX0lOSkVDVEVEX1NPRlRXQVJFX1NUQVJUIHRvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZSB1c2VkIGFzIHBvc3NpYmxlIHZhbHVlIGZvcgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi1zdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5FeHRlcm5hbFRyaWdJbmplY0NvbnZFZGdlPC9zcGFuPjwvc3Bhbj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtZXRlciBpbiB0aGUgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5BRENfSW5pdFR5cGVEZWY8L3NwYW4+PC9zcGFuPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RXh0ZXJuYWxUcmlnSW5qZWNDb252RWRnZTwvc3Bhbj48L3NwYW4+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJhbWV0ZXIgaW4gdGhlIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QURDX0luaXRUeXBlRGVmPC9zcGFuPjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdHVyZSB0byBzZWxlY3QgdGhlIEFEQwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc29mdHdhcmUgdHJpZ2dlciBtb2RlLjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzb2Z0d2FyZSB0cmlnZ2VyIG1vZGUuPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw1OCBsZXZlbDEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvODk7dGFiLXN0b3BzOmxpc3QgLjVpbiI+PGI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMCiAKIAogCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+SEFMCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGTEFTSCA8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij51cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw1OCBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm84OTt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5GTEFTSF9PQl88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5HZXRSRFAoPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4pIEFQSSB1cGRhdGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvIHJldHVybiB1aW50OF90IGluc3RlYWQgb2YgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5GbGFnU3RhdHVzPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw1OCBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm84OTt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+Jm5ic3A7X19IQUxfRkxBU0hfR0VUXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5MQVRFTkNZKDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRkxBU0ggPC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RkxBU0hfT0JfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5HZXRSRFAoPC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+KSBBUEkgdXBkYXRlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0byByZXR1cm4gdWludDhfdCBpbnN0ZWFkIG9mIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RmxhZ1N0YXR1czwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Jm5ic3A7X19IQUxfRkxBU0hfR0VUXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5MQVRFTkNZKDwvc3Bhbj48L3NwYW4+KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3IG1hY3JvIGFkZCB0byBnZXQgdGhlIGZsYXNoCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYXRlbmN5PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhdGVuY3k8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDU4IGxldmVsMQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm84OTt0YWItc3RvcHM6bGlzdCAuNWluIj48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKIAogCiAKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij5IQUwKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNQSSA8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij51cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw1OCBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm84OTt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+Rml4IHRoZSB3cm9uZworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU1BJIDwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkZpeCB0aGUgd3JvbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmluaXRpb24gb2YKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9TUElfRVJST1JfRkxBRyBsaXRlcmFsPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9TUElfRVJST1JfRkxBRyBsaXRlcmFsPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw1OCBsZXZlbDEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvODk7dGFiLXN0b3BzOmxpc3QgLjVpbiI+PGI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMCiAKIAogCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+SEFMCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJMlMgPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+dXBkYXRlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNTggbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvODk7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkhBTF9JMlNfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPlRyYW5zbWl0KDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSTJTIDwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9JMlNfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlRyYW5zbWl0KDwvc3Bhbj48L3NwYW4+KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVBJIHVwZGF0ZSB0byBjaGVjayBvbiBidXN5Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGFnIG9ubHkgZm9yIEkyUyBzbGF2ZSBtb2RlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsYWcgb25seSBmb3IgSTJTIHNsYXZlIG1vZGU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDU4IGxldmVsMQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm84OTt0YWItc3RvcHM6bGlzdCAuNWluIj48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKIAogCiAKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij5IQUwKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENSQyA8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij51cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw1OCBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm84OTt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+X19IQUxfQ1JDX1NFVF88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SURSKDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ1JDIDwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPl9fSEFMX0NSQ19TRVRfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPklEUig8L3NwYW4+PC9zcGFuPikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hY3JvIGltcGxlbWVudGF0aW9uIGNoYW5nZSB0bwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlIFdSSVRFX1JFRygpIGluc3RlYWQgb2YKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1PRElGWV9SRUcoKTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNT0RJRllfUkVHKCk8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDU4IGxldmVsMQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm84OTt0YWItc3RvcHM6bGlzdCAuNWluIj48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKIAogCiAKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij5IQUwKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERNQTJEIDwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPnVwZGF0ZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDU4IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzg5O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5IQUxfRE1BMkRfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkNvbmZpZ0xheWVyKDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRE1BMkQgPC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX0RNQTJEXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5Db25maWdMYXllcig8L3NwYW4+PC9zcGFuPikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFQSSB1cGRhdGUgdG8gdXNlICI9IiBpbnN0ZWFkCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvZiAifD0iIHRvIGVyYXNlIEJHQ09MUiBhbmQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZHQ09MUiByZWdpc3RlcnMgYmVmb3JlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXR0aW5nIHRoZSBuZXcgY29uZmlndXJhdGlvbjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXR0aW5nIHRoZSBuZXcgY29uZmlndXJhdGlvbjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNTggbGV2ZWwxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzg5O3RhYi1zdG9wczpsaXN0IC41aW4iPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAogCiAKIAotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPkhBTAotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFTSCA8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij51cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw1OCBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm84OTt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5IQUxfSEFTSF88Yj5NT0RFPC9iPl9TdGFydF88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5JVCg8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPikmbmJzcDsoPGI+TU9ERQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFTSCA8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfSEFTSF88Yj5NT0RFPC9iPl9TdGFydF88L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPklUKDwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPikmbmJzcDsoPGI+TU9ERQogCiAKIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9iPnN0YW5kcyBmb3IgTUQ1LCBTSEExLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU0hBMjI0IGFuZCBTSEEzNikgdXBkYXRlczo8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDU4IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvODk7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNIQTIyNCBhbmQgU0hBMzYpIHVwZGF0ZXM6PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkZpeCZuYnNwO3Byb2Nlc3NpbmcKIAogCiAKIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkZpeCZuYnNwO3Byb2Nlc3NpbmcKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYWlsIGZvciBzbWFsbCBpbnB1dCA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+YnVmZmVyczwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDU4IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvODk7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlVwZGF0ZSB0bworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYWlsIGZvciBzbWFsbCBpbnB1dCA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+YnVmZmVyczwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUgdG8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5sb2NrIHRoZSBwcm9jZXNzIGFuZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYWxsJm5ic3A7cmV0dXJuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9PSyZuYnNwO2F0IHRoZSBlbmQgb2YKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFTSCBwcm9jZXNzaW5nIHRvIGF2b2lkCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluY29ycmVjdGx5IHJlcGVhdGluZyA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPnNvZnR3YXJlPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNTggbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm84OTt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+VXBkYXRlIHRvCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3Blcmx5IG1hbmFnZSB0aGUgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5IYXNoSVRDb3VudGVyPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNTggbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm84OTt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+VXBkYXRlIHRvCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhbGwgdGhlIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkhBTF9IQVNIXzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5JbkNwbHRDYWxsYmFjayg8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5jb3JyZWN0bHkgcmVwZWF0aW5nIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5zb2Z0d2FyZTwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUgdG8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVybHkgbWFuYWdlIHRoZSA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SGFzaElUQ291bnRlcjwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUgdG8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FsbCB0aGUgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfSEFTSF88L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5JbkNwbHRDYWxsYmFjayg8L3NwYW4+PC9zcGFuPikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXQgdGhlIGVuZCBvZiB0aGUgY29tcGxldGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVmZmVyIGluc3RlYWQgb2YgZXZlcnkgZWFjaAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA1MTIgYml0cyA8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNTEyIGJpdHMgPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDU4IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzg5O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5fX0hBTF9IQVNIX0dFVF88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+RkxBRyg8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5fX0hBTF9IQVNIX0dFVF88c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RkxBRyg8L3NwYW4+PC9zcGFuPikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZSB0byAmbmJzcDtjaGVjayB0aGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0IHJlZ2lzdGVyIHdoZW4gdGhlIERJTk5FCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGFnICZuYnNwO2lzIHNlbGVjdGVkPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNTggbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvODk7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkhBTF9IQVNIX1NIQTFfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkFjY3VtdWxhdGUoPC9zcGFuPjwvc3Bhbj4pCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGVzOjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNTggbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm84OTt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+QWRkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGFnICZuYnNwO2lzIHNlbGVjdGVkPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX0hBU0hfU0hBMV88c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWNjdW11bGF0ZSg8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZXM6PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhJm5ic3A7Y2FsbCB0byB0aGUgbmV3Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElTX0hBU0hfU0hBMV9CVUZGRVJfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPlNJWkUoPC9zcGFuPjwvc3Bhbj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElTX0hBU0hfU0hBMV9CVUZGRVJfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlNJWkUoPC9zcGFuPjwvc3Bhbj4pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hY3JvIHRvIGNoZWNrIHRoZSBzaXplCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtZXRlci4mbmJzcDs8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNTggbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm84OTt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+QWRkIHRoZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb2xsb3dpbmcgbm90ZSBpbiBBUEkgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5kZXNjcmlwdGlvbjwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtZXRlci4mbmJzcDs8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZCB0aGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9sbG93aW5nIG5vdGUgaW4gQVBJIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5kZXNjcmlwdGlvbjwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBzdHlsZT0ibWFyZ2luLWxlZnQ6MS4yNWluIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dG8iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj4mbmJzcDsqCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBzdHlsZT0ibWFyZ2luLWxlZnQ6IDEuMjVpbjsiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9IiI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPiZuYnNwOyoKIAogCiAKIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPm5vdGUmbmJzcDsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPm5vdGUmbmJzcDsKIAogCiAKQEAgLTM3Njk3LDcwNCArNzc3NywxNDAgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSW5wdXQ8L3NwYW4+PC9zcGFuPiBidWZmZXIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplIGluIGJ5dGVzIG11c3QgYmUgYSBtdWx0aXBsZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9mIDQgb3RoZXJ3aXNlIHRoZSBkaWdlc3QKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21wdXRhdGlvbiBpcyBjb3JydXB0ZWQuPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21wdXRhdGlvbiBpcyBjb3JydXB0ZWQuPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibWFyZ2luLXRvcDowaW47dGV4dC1hbGlnbjpzdGFydDt3b3JkLXNwYWNpbmc6MHB4IgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsOTYgbGV2ZWwxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzkwO3RhYi1zdG9wczpsaXN0IC41aW4iPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IHRleHQtYWxpZ246IHN0YXJ0OyB3b3JkLXNwYWNpbmc6IDBweDsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAogCiAKIAotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPkhBTAotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUlRDIDwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPnVwZGF0ZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDk2IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzkwO3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5VcGRhdGUgdG8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJUQyA8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUgdG8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmluZSZuYnNwO2hhcmR3YXJlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmRlcGVuZGVudCBsaXRlcmFscyBuYW1lczo8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5kZXBlbmRlbnQgbGl0ZXJhbHMgbmFtZXM6PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlJlbmFtZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSVENfVEFNUEVSUElOX1BDMTMgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPmJ5CiAKIAogCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsOTYgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm85MDt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+UmVuYW1lCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJUQ19UQU1QRVJQSU5fUEMxMyA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+YnkKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZuYnNwO1JUQzwvc3Bhbj48L3NwYW4+X1RBTVBFUlBJTl9ERUZBVUxUPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDk2IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvOTA7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlJlbmFtZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJm5ic3A7UlRDPC9zcGFuPjwvc3Bhbj5fVEFNUEVSUElOX0RFRkFVTFQ8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlJlbmFtZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSVENfVEFNUEVSUElOX1BBMCBieQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSVENfVEFNUEVSUElOX1BPUzE8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsOTYgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm85MDt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+UmVuYW1lCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJUQ19UQU1QRVJQSU5fUE9TMTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+UmVuYW1lCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJUQ19UQU1QRVJQSU5fUEk4IGJ5Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJUQ19UQU1QRVJQSU5fUE9TMTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw5NiBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzkwO3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5SZW5hbWUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUlRDX1RBTVBFUlBJTl9QT1MxPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5SZW5hbWUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUlRDX1RJTUVTVEFNUFBJTl9QQzEzIGJ5Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJUQ19USU1FU1RBTVBQSU5fREVGQVVMVDwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw5NiBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzkwO3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5SZW5hbWUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUlRDX1RJTUVTVEFNUFBJTl9ERUZBVUxUPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5SZW5hbWUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUlRDX1RJTUVTVEFNUFBJTl9QQTAgYnkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUlRDX1RJTUVTVEFNUFBJTl9QT1MxPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDk2IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvOTA7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlJlbmFtZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSVENfVElNRVNUQU1QUElOX1BPUzE8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlJlbmFtZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSVENfVElNRVNUQU1QUElOX1BJOCBieQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSVENfVElNRVNUQU1QUElOX1BPUzE8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUlRDX1RJTUVTVEFNUFBJTl9QT1MxPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw5NiBsZXZlbDEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvOTA7dGFiLXN0b3BzOmxpc3QgLjVpbiI+PGI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMCiAKIAogCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+SEFMCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFVEggPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+dXBkYXRlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsOTYgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvOTA7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlJlbW92ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZHVwbGljYXRlZCZuYnNwO0lTX0VUSF9EVVBMRVhfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPk1PREUoPC9zcGFuPjwvc3Bhbj4pCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgSVNfRVRIX1JYX01PREUoKSBtYWNyb3M8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw5NiBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm85MDt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+UmVtb3ZlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFVEggPC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+UmVtb3ZlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkdXBsaWNhdGVkJm5ic3A7SVNfRVRIX0RVUExFWF88c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+TU9ERSg8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCBJU19FVEhfUlhfTU9ERSgpIG1hY3Jvczwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlJlbW92ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWxsZWdhbCBzcGFjZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRVRIX01BQ19SRUFEQ09OVFJPTExFUl9GTFVTSElORwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFjcm88L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsOTYgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvOTA7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlVwZGF0ZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFjcm88L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVUSF9NQUNfUkVBRENPTlRST0xMRVJfWFhYCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWZpbmVkIHZhbHVlcyAoWFhYIGNhbiBiZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSURMRSwgUkVBRElOR19EQVRBIGFuZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUkVBRElOR19TVEFUVVMpPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSRUFESU5HX1NUQVRVUyk8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDk2IGxldmVsMQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm85MDt0YWItc3RvcHM6bGlzdCAuNWluIj48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKIAogCiAKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij5IQUwKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBDRCA8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij51cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw5NiBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm85MDt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5IQUxfUENEX0lSUUhhbmRsZXI8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPiBBUEk6IGZpeCB0aGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBDRCA8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfUENEX0lSUUhhbmRsZXI8L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4gQVBJOiBmaXggdGhlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWQgQ29uZmlndXJhdGlvbiBvZgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVHVybmFyb3VuZCBUaW1lPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUdXJuYXJvdW5kIFRpbWU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDk2IGxldmVsMQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm85MDt0YWItc3RvcHM6bGlzdCAuNWluIj48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKIAogCiAKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij5IQUwKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhDRCA8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij51cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw5NiBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm85MDt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+VXBkYXRlIHRvIHVzZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSENEIDwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZSB0byB1c2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvY2FsIHZhcmlhYmxlJm5ic3A7aW4gVVNCCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIb3N0IGNoYW5uZWwgcmUtPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPmFjdGl2YXRpb248L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIb3N0IGNoYW5uZWwgcmUtPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPmFjdGl2YXRpb248L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsOTYgbGV2ZWwxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzkwO3RhYi1zdG9wczpsaXN0IC41aW4iPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkxMCiAKIAogCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+TEwKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZNQyA8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij51cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw5NiBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm85MDt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5GTUNfU0RSQU1fPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+U2VuZENvbW1hbmQoPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4pIEFQSTogcmVtb3ZlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGTUMgPC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Rk1DX1NEUkFNXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+U2VuZENvbW1hbmQoPC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+KSBBUEk6IHJlbW92ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIGZvbGxvd2luZyBsaW5lOiByZXR1cm4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9FUlJPUjs8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9FUlJPUjs8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDk2IGxldmVsMQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm85MDt0YWItc3RvcHM6bGlzdCAuNWluIj48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5MTAogCiAKIAotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPkxMCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVU0IgPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+dXBkYXRlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsOTYgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvOTA7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+VVNCX0ZsdXNoVHhGaWZvPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4mbmJzcDtBUEk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGUgdG8gZmx1c2ggYWxsIFR4IDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5GSUZPPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw5NiBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm85MDt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+VXBkYXRlIHRvIHVzZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVVNCIDwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVTQl9GbHVzaFR4Rmlmbzwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPiZuYnNwO0FQSToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZSB0byBmbHVzaCBhbGwgVHggPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkZJRk88L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZSB0byB1c2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvY2FsIHZhcmlhYmxlJm5ic3A7aW4gVVNCCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIb3N0IGNoYW5uZWwgcmUtPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPmFjdGl2YXRpb248L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIb3N0IGNoYW5uZWwgcmUtPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPmFjdGl2YXRpb248L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1hcmdpbi1yaWdodDo1MDAuMHB0O2JhY2tncm91bmQ6IzMzNjZGRjstbW96LWJhY2tncm91bmQtY2xpcDoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluaXRpYWw7IC1tb3otYmFja2dyb3VuZC1vcmlnaW46Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbml0aWFsOy1tb3otYmFja2dyb3VuZC1pbmxpbmUtcG9saWN5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5pdGlhbDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb24teDowJTtiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA1MCU7YmFja2dyb3VuZC1hdHRhY2htZW50OiBzY3JvbGwiPjxmb250Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yPSIjZmZmZmZmIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0FyaWFsJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDMgc3R5bGU9ImJhY2tncm91bmQ6IHJnYig1MSwgMTAyLCAyNTUpIG5vbmUgcmVwZWF0IHNjcm9sbCAwJSA1MCU7IC1tb3otYmFja2dyb3VuZC1jbGlwOiAtbW96LWluaXRpYWw7IC1tb3otYmFja2dyb3VuZC1vcmlnaW46IC1tb3otaW5pdGlhbDsgLW1vei1iYWNrZ3JvdW5kLWlubGluZS1wb2xpY3k6IC1tb3otaW5pdGlhbDsgbWFyZ2luLXJpZ2h0OiA1MDBwdDsiPjxmb250IGNvbG9yPSIjZmZmZmZmIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7QXJpYWwmcXVvdDssc2Fucy1zZXJpZjsiPlYxLjMuMQogCiAKIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90Oztjb2xvcjp3aGl0ZSI+VjEuMy4xCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyAyNS1NYXJzLTIwMTU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9mb250PjwvaDM+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjogNC41cHQgMGluIDQuNXB0IDAuMjVpbjsiPjxiPjx1PjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7IGNvbG9yOiBibGFjazsiPk1haW4gQ2hhbmdlczwvc3Bhbj48L3U+PC9iPjxvOnA+PC9vOnA+PC9wPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyB0ZXh0LWFsaWduOiBzdGFydDsgd29yZC1zcGFjaW5nOiAwcHg7IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKIAogCiAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvIDI1LU1hcnMtMjAxNTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9mb250PjwvaDM+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1yaWdodDowaW47bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21hcmdpbi1sZWZ0Oi4yNWluIj48Yj48dT48c3Bhbgotc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6Ci0mcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6YmxhY2siPk1haW4gQ2hhbmdlczwvc3Bhbj48L3U+PC9iPjxvOnA+PC9vOnA+PC9wPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1hcmdpbi10b3A6MGluO3RleHQtYWxpZ246c3RhcnQ7d29yZC1zcGFjaW5nOjBweCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDE5IGxldmVsMQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm85MTt0YWItc3RvcHM6bGlzdCAuNWluIj48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPkhBTAotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUFdSIDwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPnVwZGF0ZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDE5IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzkxO3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5GaXgKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBXUiA8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5GaXgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbXBpbGF0aW9uIGlzc3VlIHdpdGgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNUTTMyRjQxN3h4IHByb2R1Y3Q6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGUmbmJzcDs8Yj5TVE0zMkYxN3h4PC9iPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnkgPGI+U1RNMzJGNDE3eHg8L2I+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ5IDxiPlNUTTMyRjQxN3h4PC9iPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTkgbGV2ZWwxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzkxO3RhYi1zdG9wczpsaXN0IC41aW4iPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAogCiAKIAotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPkhBTAotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU1BJIDwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPnVwZGF0ZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDE5IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzkxO3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5SZW1vdmUgdW51c2VkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTUEkgPC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+UmVtb3ZlIHVudXNlZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyaWFibGUgdG8gYXZvaWQgd2FybmluZyB3aXRoCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+VHJ1ZVNUVURJTzwvc3Bhbj48L3NwYW4+Jm5ic3A7PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5UcnVlU1RVRElPPC9zcGFuPjwvc3Bhbj4mbmJzcDs8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDE5IGxldmVsMQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm85MTt0YWItc3RvcHM6bGlzdCAuNWluIj48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKIAogCiAKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij5IQUwKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEkyQyA8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij51cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxOSBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm85MTt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+STJDCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJMkMgPC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+STJDCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQb2xsaW5nL0lUL0RNQSBwcm9jZXNzZXM6IG1vdmUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSZuYnNwO3dhaXQgbG9vcCBvbiBidXN5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGFnIGF0IHRoZSB0b3Agb2YgdGhlCkBAIC0zODQwMywyNDEgKzc5MTksNjQgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjY2VzcyB0byBJMkNfQ1IxIHJlZ2lzdGVyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZWZvcmUgaGFyZHdhcmUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsZWFyaW5nJm5ic3A7U1RPUCBiaXQgYW5kIHRvCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+YXZvaWQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5hdm9pZAogCiAKIAogCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxzbzwvc3Bhbj48L3NwYW4+IHRoZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2FpdGluZyBsb29wIG9uIEJVU1kgZmxhZwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5kZXIgSTJDL0RNQSBJU1IuPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTkgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvOTE7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlVwZGF0ZSBidXN5Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGFnJm5ic3A7VGltZW91dCA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+dmFsdWU8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDE5IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzkxO3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5JMkMgTWFzdGVyCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bmRlciBJMkMvRE1BIElTUi48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUgYnVzeQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxhZyZuYnNwO1RpbWVvdXQgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnZhbHVlPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5JMkMgTWFzdGVyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWNlaXZlIFByb2Nlc3NlcyB1cGRhdGUgdG8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGUgQUNLIGJlZm9yZSA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+Z2VuZXJhdGU8L3NwYW4+PC9zcGFuPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIFNUT1AmbmJzcDs8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzYWJsZSBBQ0sgYmVmb3JlIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5nZW5lcmF0ZTwvc3Bhbj48L3NwYW4+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgU1RPUCZuYnNwOzwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTkgbGV2ZWwxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzkxO3RhYi1zdG9wczpsaXN0IC41aW4iPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAogCiAKIAotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPkhBTAotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgREFDIDwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPnVwZGF0ZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDE5IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzkxO3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5GaXggVjEuMy4wCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEQUMgPC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Rml4IFYxLjMuMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVncmVzc2lvbiBpc3N1ZSB3aXRoIERBQwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc29mdHdhcmUgdHJpZ2dlciA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+Y29uZmlndXJhdGlvbjwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNvZnR3YXJlIHRyaWdnZXIgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPmNvbmZpZ3VyYXRpb248L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1hcmdpbi1yaWdodDo1MDAuMHB0O2JhY2tncm91bmQ6IzMzNjZGRjstbW96LWJhY2tncm91bmQtY2xpcDoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluaXRpYWw7IC1tb3otYmFja2dyb3VuZC1vcmlnaW46Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbml0aWFsOy1tb3otYmFja2dyb3VuZC1pbmxpbmUtcG9saWN5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5pdGlhbDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb24teDowJTtiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA1MCU7YmFja2dyb3VuZC1hdHRhY2htZW50OiBzY3JvbGwiPjxmb250Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yPSIjZmZmZmZmIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0FyaWFsJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDMgc3R5bGU9ImJhY2tncm91bmQ6IHJnYig1MSwgMTAyLCAyNTUpIG5vbmUgcmVwZWF0IHNjcm9sbCAwJSA1MCU7IC1tb3otYmFja2dyb3VuZC1jbGlwOiAtbW96LWluaXRpYWw7IC1tb3otYmFja2dyb3VuZC1vcmlnaW46IC1tb3otaW5pdGlhbDsgLW1vei1iYWNrZ3JvdW5kLWlubGluZS1wb2xpY3k6IC1tb3otaW5pdGlhbDsgbWFyZ2luLXJpZ2h0OiA1MDBwdDsiPjxmb250IGNvbG9yPSIjZmZmZmZmIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7QXJpYWwmcXVvdDssc2Fucy1zZXJpZjsiPlYxLjMuMAogCiAKIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90Oztjb2xvcjp3aGl0ZSI+VjEuMy4wCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyAwOS1NYXJzLTIwMTU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvZm9udD48L2gzPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tcmlnaHQ6MGluO21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttYXJnaW4tbGVmdDouMjVpbiI+PGI+PHU+PHNwYW4KLXN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OgotJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOmJsYWNrIj5NYWluIENoYW5nZXM8L3NwYW4+PC91PjwvYj48bzpwPjwvbzpwPjwvcD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtYXJnaW4tdG9wOjBpbjt0ZXh0LWFsaWduOnN0YXJ0O3dvcmQtc3BhY2luZzowcHgiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw0NiBsZXZlbDEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvOTI7dGFiLXN0b3BzOmxpc3QgLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPkFkZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1cHBvcnQgb2Y8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+PHNwYW4KLXN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPiZuYnNwOzwvc3Bhbj48L3NwYW4+PGI+U1RNMzJGNDQ2eHg8L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJhcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPjxzcGFuCi1zdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj4gPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5kZXZpY2VzPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDQ2IGxldmVsMQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm85Mjt0YWItc3RvcHM6bGlzdCAuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+R2VuZXJhbAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8gMDktTWFycy0yMDE1PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvZm9udD48L2gzPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW46IDQuNXB0IDBpbiA0LjVwdCAwLjI1aW47Ij48Yj48dT48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyBjb2xvcjogYmxhY2s7Ij5NYWluIENoYW5nZXM8L3NwYW4+PC91PjwvYj48bzpwPjwvbzpwPjwvcD4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsgdGV4dC1hbGlnbjogc3RhcnQ7IHdvcmQtc3BhY2luZzogMHB4OyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3VwcG9ydCBvZjxzcGFuIGNsYXNzPSJhcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Jm5ic3A7PC9zcGFuPjwvc3Bhbj48Yj5TVE0zMkY0NDZ4eDwvYj48c3BhbiBjbGFzcz0iYXBwbGUtY29udmVydGVkLXNwYWNlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPiA8L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5kZXZpY2VzPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+R2VuZXJhbAogCiAKIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZXMgdG8gZml4IGtub3duIGRlZmVjdHMgYW5kCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5oYW5jZW1lbnRzIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPmltcGxlbWVudGF0aW9uPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDQ2IGxldmVsMQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm85Mjt0YWItc3RvcHM6bGlzdCAuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+QWRkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5oYW5jZW1lbnRzIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5pbXBsZW1lbnRhdGlvbjwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ldyBIQUwgZHJpdmVycyBmb3IgPGI+Q0VDLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUVNQSSwgRk1QSTJDIDwvYj5hbmQgPGI+U1BESUZSWAogCiAKIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYj5wZXJpcGhlcmFsczwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDQ2IGxldmVsMQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm85Mjt0YWItc3RvcHM6bGlzdCAuNWluIj48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPlR3bworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYj5wZXJpcGhlcmFsczwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5Ud28KIAogCiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYW5nZXMgZG9uZSBvbiB0aGUgSEFMCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlcyBhbiB1cGRhdGUgb24gdGhlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcHBsaWNhdGlvbiBjb2RlIGJhc2VkIG9uIEhBTAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVjEuMi4wPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDQ2IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzkyO3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5PdmVyYWxsIDxiPlNBSTwvYj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFYxLjIuMDwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5PdmVyYWxsIDxiPlNBSTwvYj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxiPmRyaXZlciByZXdvcms8L2I+IHRvIGhhdmUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4aGF1c3RpdmUgc3VwcG9ydCBvZiB0aGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBlcmlwaGVyYWwgZmVhdHVyZXM6IGRldGFpbHMKQEAgLTM4NjUwLDMzNyArNzk4OSw2NSBAQAogCiAKIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aXRoIHByZXZpb3VzIHZlcnNpb24gaXMgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPmltcGFjdGVkPC9zcGFuPjwvc3Bhbj48L2I+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNDYgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvOTI7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxpPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkNSWVAgPC9zcGFuPjwvaT48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5kcml2ZXIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZWQgdG8gc3VwcG9ydCBtdWx0aSA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+aW5zdGFuY2Usc288L3NwYW4+PC9zcGFuPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aXRoIHByZXZpb3VzIHZlcnNpb24gaXMgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPmltcGFjdGVkPC9zcGFuPjwvc3Bhbj48L2I+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48aT48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Q1JZUCA8L3NwYW4+PC9pPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5kcml2ZXIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZWQgdG8gc3VwcG9ydCBtdWx0aSA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+aW5zdGFuY2Usc288L3NwYW4+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlciBtdXN0Jm5ic3A7ZW5zdXJlIHRoYXQgdGhlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXcgcGFyYW1ldGVyJm5ic3A7SW5zdGFuY2UgaXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+aW5pdGFsaXplZDwvc3Bhbj48L3NwYW4+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBoaXMgYXBwbGljYXRpb24oPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5DUllQSGFuZGxlLkluc3RhbmNlPC9zcGFuPjwvc3Bhbj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gQ1JZUCkmbmJzcDs8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5pbml0YWxpemVkPC9zcGFuPjwvc3Bhbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIGhpcyBhcHBsaWNhdGlvbig8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkNSWVBIYW5kbGUuSW5zdGFuY2U8L3NwYW4+PC9zcGFuPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSBDUllQKSZuYnNwOzwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1hcmdpbi10b3A6MGluO3RleHQtYWxpZ246c3RhcnQ7d29yZC1zcGFjaW5nOjBweCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDEwMSBsZXZlbDEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvOTM7dGFiLXN0b3BzOmxpc3QgLjVpbiI+PGI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsgdGV4dC1hbGlnbjogc3RhcnQ7IHdvcmQtc3BhY2luZzogMHB4OyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMCiAKIAogCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+SEFMCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHZW5lcmljIDwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPnVwZGF0ZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxMDEgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvOTM7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPnN0bTMyZjR4eF9oYWxfZGVmLmg8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDEwMSBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzkzO3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5SZW1vdmUgTlVMTAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR2VuZXJpYyA8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5zdG0zMmY0eHhfaGFsX2RlZi5oPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlJlbW92ZSBOVUxMCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmluaXRpb24mbmJzcDthbmQgYWRkCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluY2x1ZGUgZm9yIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPnN0ZGlvLmg8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmNsdWRlIGZvciA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnN0ZGlvLmg8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxMDEgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvOTM7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPnN0bTMyX2hhbF9sZWdhY3kuaDwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTAxIGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvOTM7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlVwZGF0ZSZuYnNwO21ldGhvZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnN0bTMyX2hhbF9sZWdhY3kuaDwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUmbmJzcDttZXRob2QKIAogCiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gbWFuYWdlJm5ic3A7ZGVmZXJlbmNlIGluCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsaWFzIGltcGxlbWVudGF0aW9uIGJldHdlZW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxsIFNUTTMyIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+ZmFtaWxpZXM8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGwgU1RNMzIgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPmZhbWlsaWVzPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTAxIGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzkzO3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5zdG0zMmY0eHhfaGFsX3BwcC5jPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxMDEgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm85Mzt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkhBTF9QUFBfPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5Jbml0KDwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+KTogdXBkYXRlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+c3RtMzJmNHh4X2hhbF9wcHAuYzwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfUFBQXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SW5pdCg8L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4pOiB1cGRhdGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gZm9yY2UgdGhlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9QUFBfU1RBVEVfUkVTRVQgYmVmb3JlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhbGxpbmcgdGhlIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PGk+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX1BQUF9Nc3BJbml0PC9zcGFuPjwvaT48L3NwYW4+PGk+KCk8L2k+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhbGxpbmcgdGhlIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxpPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX1BQUF9Nc3BJbml0PC9zcGFuPjwvaT48L3NwYW4+PGk+KCk8L2k+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibWFyZ2luLXRvcDowaW47dGV4dC1hbGlnbjpzdGFydDt3b3JkLXNwYWNpbmc6MHB4IgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMzQgbGV2ZWwxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzk0O3RhYi1zdG9wczpsaXN0IC41aW4iPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IHRleHQtYWxpZ246IHN0YXJ0OyB3b3JkLXNwYWNpbmc6IDBweDsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAogCiAKIAotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPkhBTAotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUkNDIDwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPnVwZGF0ZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDM0IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzk0O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5BZGQgbmV3Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3Bhbgotc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX1JDQ0V4Xzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkdldFBlcmlwaENMS0ZyZXEoPC9zcGFuPjwvc3Bhbj4pPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMzQgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvOTQ7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPk1vdmUgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5SQ0NfUExMSW5pdFR5cGVEZWY8L3NwYW4+PC9zcGFuPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUkNDIDwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZCBuZXcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX1JDQ0V4Xzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkdldFBlcmlwaENMS0ZyZXEoPC9zcGFuPjwvc3Bhbj4pPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+TW92ZSA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlJDQ19QTExJbml0VHlwZURlZjwvc3Bhbj48L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3R1cmUgdG8gZXh0ZW5zaW9uIGZpbGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCBhZGQgdGhlIG5ldyBQTExSIGZpZWxkCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcGVjaWZpYyB0byBTVE0zMkY0NDZ4eCA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+ZGV2aWNlczwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMzQgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvOTQ7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPk1vdmUgdGhlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcGVjaWZpYyB0byBTVE0zMkY0NDZ4eCA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+ZGV2aWNlczwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+TW92ZSB0aGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbGxvd2luZyBmdW5jdGlvbnMgdG8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4dGVuc2lvbiBmaWxlIGFuZCBhZGQgYQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX193ZWFrIGF0dHJpYnV0ZSBpbiBnZW5lcmljIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5kcml2ZXIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fd2VhayBhdHRyaWJ1dGUgaW4gZ2VuZXJpYyA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+ZHJpdmVyCiAKIAogCkBAIC0zODk4OSwyNTAgKzgwNTYsMzEgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN5c3RlbSBjbG9jayBzb3VyY2UgKDxpPlBMTC9QTExSPC9pPikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkZGVkIGFuZCBvbmx5IGF2YWlsYWJsZSBmb3IKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNUTTMyRjQ0eHggZGV2aWNlcyA8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDM0IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvOTQ7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxpPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5IQUxfUkNDXzwvc3Bhbj48L2k+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PGk+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPk9zY0NvbmZpZyg8L3NwYW4+PC9pPjwvc3Bhbj48aT48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4pPG86cD48L286cD48L3NwYW4+PC9pPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDM0IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvOTQ7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxpPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5IQUxfUkNDXzwvc3Bhbj48L2k+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PGk+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkdldFN5c0Nsb2NrRnJlcSg8L3NwYW4+PC9pPjwvc3Bhbj48aT48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4pPG86cD48L286cD48L3NwYW4+PC9pPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDM0IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvOTQ7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxpPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5IQUxfUkNDXzwvc3Bhbj48L2k+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PGk+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkdldE9zY0NvbmZpZyg8L3NwYW4+PC9pPjwvc3Bhbj48aT48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4pPC9zcGFuPjwvaT48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxpPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfUkNDXzwvc3Bhbj48L2k+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPk9zY0NvbmZpZyg8L3NwYW4+PC9pPjwvc3Bhbj48aT48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+KTxvOnA+PC9vOnA+PC9zcGFuPjwvaT48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBjbGFzcz0ic3BlbGxlIj48aT48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX1JDQ188L3NwYW4+PC9pPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxpPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5HZXRTeXNDbG9ja0ZyZXEoPC9zcGFuPjwvaT48L3NwYW4+PGk+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPik8bzpwPjwvbzpwPjwvc3Bhbj48L2k+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gY2xhc3M9InNwZWxsZSI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9SQ0NfPC9zcGFuPjwvaT48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48aT48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+R2V0T3NjQ29uZmlnKDwvc3Bhbj48L2k+PC9zcGFuPjxpPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4pPC9zcGFuPjwvaT48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwzNCBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm85NDt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+TW92ZSB0aGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5Nb3ZlIHRoZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9sbG93aW5nIG1hY3JvIHRvIGV4dGVuc2lvbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZSBhcyB0aGV5IGhhdmUgZGV2aWNlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXBlbmRlbnQgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3Bhbgotc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+aW1wbGVtZW50YXRpb248L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMzQgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm85NDt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PGk+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+X19IQUxfUkNDX1BMTF88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5DT05GSUcoPC9zcGFuPjwvc3Bhbj4pPC9zcGFuPjwvaT48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4gPG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMzQgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm85NDt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PGk+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+X19IQUxfUkNDX1BMTEkyU188c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5DT05GSUcoPC9zcGFuPjwvc3Bhbj4pPC9zcGFuPjwvaT48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwzNCBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzk0O3RhYi1zdG9wczpsaXN0IDEuNWluIj48aT48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5fX0hBTF9SQ0NfSTJTXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkNPTkZJRyg8L3NwYW4+PC9zcGFuPik8L3NwYW4+PC9pPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXBlbmRlbnQgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPmltcGxlbWVudGF0aW9uPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48aT48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+X19IQUxfUkNDX1BMTF88c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Q09ORklHKDwvc3Bhbj48L3NwYW4+KTwvc3Bhbj48L2k+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPiA8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48aT48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+X19IQUxfUkNDX1BMTEkyU188c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Q09ORklHKDwvc3Bhbj48L3NwYW4+KTwvc3Bhbj48L2k+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPl9fSEFMX1JDQ19JMlNfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkNPTkZJRyg8L3NwYW4+PC9zcGFuPik8L3NwYW4+PC9pPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDM0IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzk0O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5BZGQgbmV3CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkIG5ldwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0dXJlIDxpPlJDQ19QTExJMlNJbml0VHlwZURlZjwvaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRhaW5pbmcgbmV3IDxpPlBMTEkyUzwvaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpdmlzaW9uIGZhY3RvcnMgdXNlZCBvbmx5IHcvCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTVE0zMkY0NDZ4eCA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+ZGV2aWNlczwvc3Bhbj48L3NwYW4+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMzQgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvOTQ7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkFkZCBuZXcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdHVyZSA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48aT48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+UkNDX1BMTFNBSUluaXRUeXBlRGVmPC9zcGFuPjwvaT48L3NwYW4+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTVE0zMkY0NDZ4eCA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+ZGV2aWNlczwvc3Bhbj48L3NwYW4+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQgbmV3CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3R1cmUgPHNwYW4gY2xhc3M9InNwZWxsZSI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5SQ0NfUExMU0FJSW5pdFR5cGVEZWY8L3NwYW4+PC9pPjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRhaW5pbmcgbmV3IDxpPlBMTFNBSTwvaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpdmlzaW9uIGZhY3RvcnMgdXNlZCBvbmx5IHcvCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTVE0zMkY0NDZ4eCA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+ZGV2aWNlczwvc3Bhbj48L3NwYW4+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMzQgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvOTQ7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkFkZCBuZXcgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PGk+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPlJDQ19QZXJpcGhDTEtJbml0VHlwZURlZjwvc3Bhbj48L2k+PC9zcGFuPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU1RNMzJGNDQ2eHggPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPmRldmljZXM8L3NwYW4+PC9zcGFuPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkIG5ldyA8c3BhbiBjbGFzcz0ic3BlbGxlIj48aT48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlJDQ19QZXJpcGhDTEtJbml0VHlwZURlZjwvc3Bhbj48L2k+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gc3VwcG9ydCB0aGUgcGVyaXBoZXJhbAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc291cmNlIGNsb2NrIHNlbGVjdGlvbiBmb3IgKDxpPkkyUywKIApAQCAtMzkyNDAsMjYgKzgwODgsOCBAQAogCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNBSSwgU0RJTywgRk1QSTJDLCBDRUMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNQRElGUlggYW5kIENMSzQ4PC9pPik8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwzNCBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm85NDt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+VXBkYXRlIHRoZSA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48aT48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX1JDQ0V4Xzwvc3Bhbj48L2k+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PGk+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPlBlcmlwaENMS0NvbmZpZyg8L3NwYW4+PC9pPjwvc3Bhbj48aT4pPC9pPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxpPjxzcGFuCi1zdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5IQUxfUkNDRXhfR2V0UGVyaXBoQ0xLQ29uZmlnPC9zcGFuPjwvaT48L3NwYW4+PGk+KCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUgdGhlIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxpPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX1JDQ0V4Xzwvc3Bhbj48L2k+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5QZXJpcGhDTEtDb25maWcoPC9zcGFuPjwvaT48L3NwYW4+PGk+KTwvaT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCA8c3BhbiBjbGFzcz0ic3BlbGxlIj48aT48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9SQ0NFeF9HZXRQZXJpcGhDTEtDb25maWc8L3NwYW4+PC9pPjwvc3Bhbj48aT4oKQogCiAKIApAQCAtMzkyNjcsNzcgKzgwOTcsMTkgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaT5mdW5jdGlvbnMgdG8gc3VwcG9ydCB0aGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ldyBwZXJpcGhlcmFscyBDbG9jayBzb3VyY2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdGlvbjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDM0IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzk0O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5BZGQgPGk+X19IQUxfUkNDX1BMTF88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkNPTkZJRyg8L3NwYW4+PC9zcGFuPik8L2k+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkIDxpPl9fSEFMX1JDQ19QTExfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkNPTkZJRyg8L3NwYW4+PC9zcGFuPik8L2k+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWNybyAodGhlIG51bWJlciBvZiBwYXJhbWV0ZXIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCB0aGUgaW1wbGVtZW50YXRpb24gZGVwZW5kCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbiB0aGUgZGV2aWNlIHBhcnQgbnVtYmVyKTxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDM0IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzk0O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5BZGQgPGk+X19IQUxfUkNDX1BMTEkyU188c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkNPTkZJRyg8L3NwYW4+PC9zcGFuPik8L2k+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkIDxpPl9fSEFMX1JDQ19QTExJMlNfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkNPTkZJRyg8L3NwYW4+PC9zcGFuPik8L2k+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWNybyh0aGUgbnVtYmVyIG9mIHBhcmFtZXRlcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIHRoZSBpbXBsZW1lbnRhdGlvbiBkZXBlbmQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uIGRldmljZSBwYXJ0IG51bWJlcik8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwzNCBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm85NDt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+VXBkYXRlIDxpPl9fSEFMX1JDQ19QTExTQUlfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5DT05GSUcoPC9zcGFuPjwvc3Bhbj4pPC9pPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZSA8aT5fX0hBTF9SQ0NfUExMU0FJXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5DT05GSUcoPC9zcGFuPjwvc3Bhbj4pPC9pPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFjcm8gdG8gc3VwcG9ydCBuZXcgUExMU0FJCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYWN0b3JzIDxpPihQTExTQUlNIGFuZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQTExTQUlQKTwvaT48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwzNCBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm85NDt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+QWRkIG5ldworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZCBuZXcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hY3JvcyBmb3IgY2xvY2sKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuYWJsZS9EaXNhYmxlIGZvciB0aGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbGxvd2luZyBwZXJpcGhlcmFscyA8aT4oQ0VDLApAQCAtMzkzNDUsMzcyICs4MTE3LDg2IEBACiAKIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTUERJRlJYLCBTQUkyLCBRVUFEU1BJKTwvaT48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwzNCBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm85NDt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+QWRkIHRoZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZCB0aGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbGxvd2luZyBuZXcgbWFjcm9zIGZvciBjbG9jawotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc291cmNlIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5zZWxlY3Rpb24KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNvdXJjZSA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+c2VsZWN0aW9uCiAKIAogCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOjwvc3Bhbj48L3NwYW4+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwzNCBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzk0O3RhYi1zdG9wczpsaXN0IDEuNWluIj48aT48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5fX0hBTF9SQ0NfU0FJMV88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5DT05GSUcoPC9zcGFuPjwvc3Bhbj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPl9fSEFMX1JDQ19TQUkxXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5DT05GSUcoPC9zcGFuPjwvc3Bhbj4pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fSEFMX1JDQ19HRVRfU0FJMV9TT1VSQ0UoKTxvOnA+PC9vOnA+PC9zcGFuPjwvaT48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwzNCBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzk0O3RhYi1zdG9wczpsaXN0IDEuNWluIj48aT48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5fX0hBTF9SQ0NfU0FJMl88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5DT05GSUcoPC9zcGFuPjwvc3Bhbj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxpPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5fX0hBTF9SQ0NfU0FJMl88c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Q09ORklHKDwvc3Bhbj48L3NwYW4+KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX0hBTF9SQ0NfR0VUX1NBSTJfU09VUkNFKCk8bzpwPjwvbzpwPjwvc3Bhbj48L2k+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMzQgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm85NDt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PGk+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+X19IQUxfUkNDX0kyUzFfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+Q09ORklHKDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48aT48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+X19IQUxfUkNDX0kyUzFfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkNPTkZJRyg8L3NwYW4+PC9zcGFuPikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19IQUxfUkNDX0dFVF9JMlMxX1NPVVJDRSgpPG86cD48L286cD48L3NwYW4+PC9pPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDM0IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvOTQ7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxpPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPl9fSEFMX1JDQ19JMlMyXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkNPTkZJRyg8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPl9fSEFMX1JDQ19JMlMyXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5DT05GSUcoPC9zcGFuPjwvc3Bhbj4pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fSEFMX1JDQ19HRVRfSTJTMl9TT1VSQ0UoKTxvOnA+PC9vOnA+PC9zcGFuPjwvaT48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwzNCBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzk0O3RhYi1zdG9wczpsaXN0IDEuNWluIj48aT48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5fX0hBTF9SQ0NfQ0VDXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkNPTkZJRyg8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPl9fSEFMX1JDQ19DRUNfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkNPTkZJRyg8L3NwYW4+PC9zcGFuPikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19IQUxfUkNDX19HRVRfQ0VDX1NPVVJDRSgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG86cD48L286cD48L3NwYW4+PC9pPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDM0IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvOTQ7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxpPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPl9fSEFMX1JDQ19GTVBJMkMxXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkNPTkZJRyg8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPl9fSEFMX1JDQ19GTVBJMkMxXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5DT05GSUcoPC9zcGFuPjwvc3Bhbj4pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fSEFMX1JDQ19HRVRfRk1QSTJDMV9TT1VSQ0UoKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvOnA+PC9vOnA+PC9zcGFuPjwvaT48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwzNCBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzk0O3RhYi1zdG9wczpsaXN0IDEuNWluIj48aT48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5fX0hBTF9SQ0NfU0RJT188c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5DT05GSUcoPC9zcGFuPjwvc3Bhbj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxpPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5fX0hBTF9SQ0NfU0RJT188c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Q09ORklHKDwvc3Bhbj48L3NwYW4+KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX0hBTF9SQ0NfR0VUX1NESU9fU09VUkNFKCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bzpwPjwvbzpwPjwvc3Bhbj48L2k+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMzQgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm85NDt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PGk+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+X19IQUxfUkNDX0NMSzQ4XzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkNPTkZJRyg8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPl9fSEFMX1JDQ19DTEs0OF88c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Q09ORklHKDwvc3Bhbj48L3NwYW4+KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX0hBTF9SQ0NfR0VUX0NMSzQ4X1NPVVJDRSgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG86cD48L286cD48L3NwYW4+PC9pPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDM0IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvOTQ7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxpPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPl9fSEFMX1JDQ19TUERJRlJYQ0xLXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkNPTkZJRyg8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPl9fSEFMX1JDQ19TUERJRlJYQ0xLXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5DT05GSUcoPC9zcGFuPjwvc3Bhbj4pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fSEFMX1JDQ19HRVRfU1BESUZSWF9TT1VSQ0UoKTwvc3Bhbj48L2k+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX0hBTF9SQ0NfR0VUX1NQRElGUlhfU09VUkNFKCk8L3NwYW4+PC9pPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDM0IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzk0O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5fX0hBTF9SQ0NfUFBQX0NMS188c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+RU5BQkxFKDwvc3Bhbj48L3NwYW4+KToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5fX0hBTF9SQ0NfUFBQX0NMS188c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RU5BQkxFKDwvc3Bhbj48L3NwYW4+KToKIAogCiAKIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSW1wbGVtZW50IHdvcmthcm91bmQgdG8gY292ZXIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJDQyBsaW1pdGF0aW9uIHJlZ2FyZGluZwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGVyaXBoZXJhbCBlbmFibGUgZGVsYXk8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwzNCBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm85NDt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5IQUxfUkNDXzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPk9zY0NvbmZpZyg8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPikgZml4Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc3N1ZXM6Jm5ic3A7PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwzNCBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzk0O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5BZGQgYSBjaGVjaworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGVyaXBoZXJhbCBlbmFibGUgZGVsYXk8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfUkNDXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+T3NjQ29uZmlnKDwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPikgZml4CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc3N1ZXM6Jm5ic3A7PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZCBhIGNoZWNrCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uIExTRVJEWSBmbGFnIHdoZW4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTFNFX0JZUEFTUyBpcyBzZWxlY3RlZCBhcwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXcgc3RhdGUgZm9yIExTRQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvc2NpbGxhdG9yLjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvc2NpbGxhdG9yLjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwzNCBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm85NDt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+QWRkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXcmbmJzcDtwb3NzaWJsZSB2YWx1ZSZuYnNwOzxpPlJDQ19QRVJJUEhDTEtfUExMSTJTCiAKIAogCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2k+dG8gYmUgc2VsZWN0ZWQgYXM8aT4gPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+UGVyaXBoQ2xvY2tTZWxlY3Rpb248L3NwYW4+PC9zcGFuPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9pPnBhcmFtZXRlciBpbiA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+dGhlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2k+dG8gYmUgc2VsZWN0ZWQgYXM8aT4gPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5QZXJpcGhDbG9ja1NlbGVjdGlvbjwvc3Bhbj48L3NwYW4+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2k+cGFyYW1ldGVyIGluIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij50aGUKIAogCiAKIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZuYnNwOzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5SQ0NfUGVyaXBoQ0xLSW5pdFR5cGVEZWY8L3NwYW4+PC9zcGFuPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZuYnNwOzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5SQ0NfUGVyaXBoQ0xLSW5pdFR5cGVEZWY8L3NwYW4+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0dXJlIHRvIGFsbG93IHRoZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zc2liaWxpdHkgdG8gb3V0cHV0IHRoZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUExMSTJTIG9uIE1DTyB3aXRob3V0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3RpdmF0aW5nIHRoZSBJMlMgb3IgdGhlIFNBSS48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMzQgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvOTQ7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi1zdHlsZT0idGV4dC1hbGlnbjpzdGFydDtmbG9hdDpub25lO3dvcmQtc3BhY2luZzowcHgiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6OS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSb21hbiZxdW90Oztjb2xvcjojMEMwQzBDO2JhY2tncm91bmQ6d2hpdGUiPl9fSEFMX1JDQ19IU0VfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5DT05GSUcoPC9zcGFuPjwvc3Bhbj4pPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6OS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSb21hbiZxdW90Oztjb2xvcjojNjI2MjYyO2JhY2tncm91bmQ6d2hpdGUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbmJzcDs8L3NwYW4+PC9zcGFuPjxpPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPm1hY3JvOiBhZGQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIGNvbW1lbnQgYmVsb3c6PC9zcGFuPjwvaT48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3RpdmF0aW5nIHRoZSBJMlMgb3IgdGhlIFNBSS48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9InRleHQtYWxpZ246IHN0YXJ0OyBmbG9hdDogbm9uZTsgd29yZC1zcGFjaW5nOiAwcHg7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiA5cHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5fX0hBTF9SQ0NfSFNFXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5DT05GSUcoPC9zcGFuPjwvc3Bhbj4pPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDlwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbmJzcDs8L3NwYW4+PC9zcGFuPjxpPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5tYWNybzogYWRkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBjb21tZW50IGJlbG93Ojwvc3Bhbj48L2k+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPSJtYXJnaW4tbGVmdDoxLjI1aW4iPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0byI+PGk+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+Jm5ic3A7KgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9Im1hcmdpbi1sZWZ0OiAxLjI1aW47Ij4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSIiPjxpPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4mbmJzcDsqCiAKIAogCkBAIC0zOTcyNSw2MiArODIxMSwxNiBAQAogCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVc2VyIHNob3VsZCByZXF1ZXN0IGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb24gdG8gSFNFIE9mZiBmaXJzdAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIHRoZW4gSFNFIE9uIG9yIEhTRSBCeXBhc3MuPC9zcGFuPjwvaT48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0Ij48bzpwPjwvbzpwPjwvc3Bhbj48L3A+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgdGhlbiBIU0UgT24gb3IgSFNFIEJ5cGFzcy48L3NwYW4+PC9pPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibWFyZ2luLXRvcDowaW47dGV4dC1hbGlnbjpzdGFydDt3b3JkLXNwYWNpbmc6MHB4IgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDg2IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzk1O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3Bhbgotc3R5bGU9InRleHQtYWxpZ246c3RhcnQ7ZmxvYXQ6bm9uZTt3b3JkLXNwYWNpbmc6MHB4Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjkuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0hlbHZldGljYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUm9tYW4mcXVvdDs7Y29sb3I6IzBDMEMwQztiYWNrZ3JvdW5kOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aGl0ZSI+X19IQUxfUkNDX0xTRV88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O0hlbHZldGljYSZxdW90OyxzYW5zLXNlcmlmIj5DT05GSUcoPC9zcGFuPjwvc3Bhbj4pPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6OS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7SGVsdmV0aWNhJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJvbWFuJnF1b3Q7O2NvbG9yOiM2MjYyNjI7YmFja2dyb3VuZDoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2hpdGUiPiAmbmJzcDs8L3NwYW4+PC9zcGFuPjxpPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5tYWNybzogYWRkCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBjb21tZW50IGJlbG93Ojwvc3Bhbj48L2k+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyB0ZXh0LWFsaWduOiBzdGFydDsgd29yZC1zcGFjaW5nOiAwcHg7IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9InRleHQtYWxpZ246IHN0YXJ0OyBmbG9hdDogbm9uZTsgd29yZC1zcGFjaW5nOiAwcHg7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiA5cHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtIZWx2ZXRpY2EmcXVvdDssc2Fucy1zZXJpZjsiPl9fSEFMX1JDQ19MU0VfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O0hlbHZldGljYSZxdW90OyxzYW5zLXNlcmlmOyI+Q09ORklHKDwvc3Bhbj48L3NwYW4+KTwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiA5cHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtIZWx2ZXRpY2EmcXVvdDssc2Fucy1zZXJpZjsiPiAmbmJzcDs8L3NwYW4+PC9zcGFuPjxpPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5tYWNybzogYWRkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBjb21tZW50IGJlbG93Ojwvc3Bhbj48L2k+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPSJtYXJnaW4tbGVmdDoxLjI1aW4iPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0byI+PGk+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+Jm5ic3A7Jm5ic3A7KgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9Im1hcmdpbi1sZWZ0OiAxLjI1aW47Ij4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSIiPjxpPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4mbmJzcDsmbmJzcDsqCiAKIAogCkBAIC0zOTc5Myw2NzQgKzgyMzMsOTcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVzZXIgc2hvdWxkIHJlcXVlc3QgYQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbiB0byBMU0UgT2ZmIGZpcnN0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgdGhlbiBMU0UgT24gb3IgTFNFIEJ5cGFzcy48L3NwYW4+PC9pPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCB0aGVuIExTRSBPbiBvciBMU0UgQnlwYXNzLjwvc3Bhbj48L2k+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtYXJnaW4tdG9wOjBpbjt0ZXh0LWFsaWduOnN0YXJ0O3dvcmQtc3BhY2luZzowcHgiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNjQgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvOTY7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkFkZCB0aGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsgdGV4dC1hbGlnbjogc3RhcnQ7IHdvcmQtc3BhY2luZzogMHB4OyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQgdGhlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb2xsb3dpbmcgbmV3IG1hY3JvcyBmb3IKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBMTCZuYnNwO3NvdXJjZSBhbmQgUExMTSZuYnNwOzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5zZWxlY3Rpb24KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBMTCZuYnNwO3NvdXJjZSBhbmQgUExMTSZuYnNwOzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5zZWxlY3Rpb24KIAogCiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6PC9zcGFuPjwvc3Bhbj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDY0IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvOTY7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxpPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPl9fSEFMX1JDQ19QTExfUExMU09VUkNFXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkNPTkZJRyg8L3NwYW4+PC9zcGFuPik8bzpwPjwvbzpwPjwvc3Bhbj48L2k+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNjQgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm85Njt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PGk+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+X19IQUxfUkNDX1BMTF9QTExNXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkNPTkZJRyg8L3NwYW4+PC9zcGFuPik8L3NwYW4+PC9pPjxpPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2k+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48aT48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+X19IQUxfUkNDX1BMTF9QTExTT1VSQ0VfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkNPTkZJRyg8L3NwYW4+PC9zcGFuPik8bzpwPjwvbzpwPjwvc3Bhbj48L2k+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPl9fSEFMX1JDQ19QTExfUExMTV88c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Q09ORklHKDwvc3Bhbj48L3NwYW4+KTwvc3Bhbj48L2k+PGk+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9pPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDY0IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzk2O3RhYi1zdG9wczpsaXN0IDEuMGluIj48aT48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5NYWNyb3MKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVuYW1lOjwvc3Bhbj48L2k+PGk+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9pPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNjQgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm85Njt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SEFMX1JDQ19PVEdIU19GT1JDRV88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPlJFU0VUKDwvc3Bhbj48L3NwYW4+KQotYnkmbmJzcDtIQUxfUkNDX1VTQl9PVEdfSFNfRk9SQ0VfUkVTRVQoKTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw2NCBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzk2O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5IQUxfUkNDX09UR0hTX1JFTEVBU0VfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5SRVNFVCg8L3NwYW4+PC9zcGFuPikKLWJ5Jm5ic3A7SEFMX1JDQ19VU0JfT1RHX0hTX1JFTEVBU0VfUkVTRVQoKTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw2NCBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzk2O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5IQUxfUkNDX09UR0hTX0NMS19TTEVFUF88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkVOQUJMRSg8L3NwYW4+PC9zcGFuPikKLWJ5Jm5ic3A7SEFMX1JDQ19VU0JfT1RHX0hTX0NMS19TTEVFUF9FTkFCTEUoKTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw2NCBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzk2O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5IQUxfUkNDX09UR0hTX0NMS19TTEVFUF88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkRJU0FCTEUoPC9zcGFuPjwvc3Bhbj4pCi1ieSZuYnNwO0hBTF9SQ0NfVVNCX09UR19IU19DTEtfU0xFRVBfRElTQUJMRSgpPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDY0IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvOTY7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkhBTF9SQ0NfT1RHSFNVTFBJX0NMS19TTEVFUF88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkVOQUJMRSg8L3NwYW4+PC9zcGFuPikKLWJ5Jm5ic3A7SEFMX1JDQ19VU0JfT1RHX0hTX1VMUElfQ0xLX1NMRUVQX0VOQUJMRSgpPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDY0IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvOTY7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkhBTF9SQ0NfT1RHSFNVTFBJX0NMS19TTEVFUF88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkRJU0FCTEUoPC9zcGFuPjwvc3Bhbj4pCi1ieSZuYnNwO0hBTF9SQ0NfVVNCX09UR19IU19VTFBJX0NMS19TTEVFUF9ESVNBQkxFKCk8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxpPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5NYWNyb3MKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVuYW1lOjwvc3Bhbj48L2k+PGk+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9pPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9SQ0NfT1RHSFNfRk9SQ0VfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlJFU0VUKDwvc3Bhbj48L3NwYW4+KQorYnkmbmJzcDtIQUxfUkNDX1VTQl9PVEdfSFNfRk9SQ0VfUkVTRVQoKTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX1JDQ19PVEdIU19SRUxFQVNFXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5SRVNFVCg8L3NwYW4+PC9zcGFuPikKK2J5Jm5ic3A7SEFMX1JDQ19VU0JfT1RHX0hTX1JFTEVBU0VfUkVTRVQoKTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX1JDQ19PVEdIU19DTEtfU0xFRVBfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkVOQUJMRSg8L3NwYW4+PC9zcGFuPikKK2J5Jm5ic3A7SEFMX1JDQ19VU0JfT1RHX0hTX0NMS19TTEVFUF9FTkFCTEUoKTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX1JDQ19PVEdIU19DTEtfU0xFRVBfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkRJU0FCTEUoPC9zcGFuPjwvc3Bhbj4pCitieSZuYnNwO0hBTF9SQ0NfVVNCX09UR19IU19DTEtfU0xFRVBfRElTQUJMRSgpPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfUkNDX09UR0hTVUxQSV9DTEtfU0xFRVBfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkVOQUJMRSg8L3NwYW4+PC9zcGFuPikKK2J5Jm5ic3A7SEFMX1JDQ19VU0JfT1RHX0hTX1VMUElfQ0xLX1NMRUVQX0VOQUJMRSgpPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfUkNDX09UR0hTVUxQSV9DTEtfU0xFRVBfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkRJU0FCTEUoPC9zcGFuPjwvc3Bhbj4pCitieSZuYnNwO0hBTF9SQ0NfVVNCX09UR19IU19VTFBJX0NMS19TTEVFUF9ESVNBQkxFKCk8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNjQgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvOTY7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkFkZCZuYnNwO19fSEFMX1JDQ19TWVNDTEtfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkNPTkZJRyg8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQmbmJzcDtfX0hBTF9SQ0NfU1lTQ0xLXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5DT05GSUcoPC9zcGFuPjwvc3Bhbj4pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXcgbWFjcm8gdG8gY29uZmlndXJlIHRoZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3lzdGVtIGNsb2NrIHNvdXJjZSAoU1lTQ0xLKTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw2NCBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm85Njt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+X19IQUxfUkNDX0dFVF9TWVNDTEtfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPlNPVVJDRSg8L3NwYW4+PC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZXM6PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw2NCBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzk2O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5BZGQgbmV3IFJDQwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXRlcmFsczo8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNjQgbGV2ZWw0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzk2O3RhYi1zdG9wczpsaXN0IDIuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5SQ0NfU1lTQ0xLU09VUkNFX1NUQVRVU19IU0k8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDY0IGxldmVsNAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm85Njt0YWItc3RvcHM6bGlzdCAyLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+UkNDX1NZU0NMS1NPVVJDRV9TVEFUVVNfSFNFPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw2NCBsZXZlbDQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvOTY7dGFiLXN0b3BzOmxpc3QgMi4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlJDQ19TWVNDTEtTT1VSQ0VfU1RBVFVTX1BMTENMSzwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNjQgbGV2ZWw0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzk2O3RhYi1zdG9wczpsaXN0IDIuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5SQ0NfU1lTQ0xLU09VUkNFX1NUQVRVU19QTExSQ0xLPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3lzdGVtIGNsb2NrIHNvdXJjZSAoU1lTQ0xLKTwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+X19IQUxfUkNDX0dFVF9TWVNDTEtfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlNPVVJDRSg8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZXM6PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZCBuZXcgUkNDCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExpdGVyYWxzOjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+UkNDX1NZU0NMS1NPVVJDRV9TVEFUVVNfSFNJPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlJDQ19TWVNDTEtTT1VSQ0VfU1RBVFVTX0hTRTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5SQ0NfU1lTQ0xLU09VUkNFX1NUQVRVU19QTExDTEs8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+UkNDX1NZU0NMS1NPVVJDRV9TVEFUVVNfUExMUkNMSzwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDY0IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvOTY7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPiZuYnNwO1VwZGF0ZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Jm5ic3A7VXBkYXRlCiAKIAogCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hY3JvIGRlc2NyaXB0aW9uIHRvIHJlZmVyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvIHRoZSBsaXRlcmFscyA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPmFib3ZlPC9zcGFuPjwvc3Bhbj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0byB0aGUgbGl0ZXJhbHMgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPmFib3ZlPC9zcGFuPjwvc3Bhbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNjQgbGV2ZWwxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzk2O3RhYi1zdG9wczpsaXN0IC41aW4iPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAogCiAKIAotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPkhBTAotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUFdSIDwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPnVwZGF0ZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDY0IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzk2O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5BZGQgbmV3Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWZpbmUgUFdSX1dBS0VVUF9QSU4yPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNjQgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvOTY7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkFkZCBuZXcgQVBJCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQV1IgPC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkIG5ldworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmaW5lIFBXUl9XQUtFVVBfUElOMjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZCBuZXcgQVBJCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0byBDb250cm9sL0dldCBWT1MmbmJzcDtiaXRzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvZiBDUiA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuCi1zdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5yZWdpc3Rlcjwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9mIENSIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5yZWdpc3Rlcjwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21zby1tYXJnaW4tdG9wLWFsdDphdXRvOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG87bXNvLWxpc3Q6bDY0Ci0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXZlbDMgbGZvOTY7dGFiLXN0b3BzOiBsaXN0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLjVpbiI+PHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkhBTF9QV1JfSEFMX1BXUkV4Xzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+Q29udHJvbFZvbHRhZ2VTY2FsaW5nKDwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+KTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEzLjVwdDttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0bzttc28tbGlzdDpsNjQKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsMyBsZm85Njt0YWItc3RvcHM6IGxpc3QKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEuNWluIj48c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SEFMX1BXUkV4Xzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+R2V0Vm9sdGFnZVJhbmdlKDwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+KTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEzLjVwdDttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7Ij48c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX1BXUl9IQUxfUFdSRXhfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5Db250cm9sVm9sdGFnZVNjYWxpbmcoPC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+KTwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMy41cHQ7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyI+PHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9QV1JFeF88L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkdldFZvbHRhZ2VSYW5nZSg8L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4pPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEzLjVwdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0bzttc28tbGlzdDpsNjQKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXZlbDIgbGZvOTY7dGFiLXN0b3BzOiBsaXN0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5fX0hBTF9QV1JfPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVk9MVEFHRVNDQUxJTkdfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWYiPkNPTkZJRzwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4oPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4pOiBJbXBsZW1lbnQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+X19IQUxfUFdSXzwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMXB0OyBmb250LWZhbWlseTogJnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmOyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBWT0xUQUdFU0NBTElOR188c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmOyI+Q09ORklHPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+KDwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPik6IEltcGxlbWVudAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd29ya2Fyb3VuZCB0byBjb3ZlciBWT1MKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbWl0YXRpb24gZGVsYXkgd2hlbiBQTEwgaXMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuYWJsZWQgYWZ0ZXIgc2V0dGluZyB0aGUgVk9TCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25maWd1cmF0aW9uPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iLW1vei1iYWNrZ3JvdW5kLWNsaXA6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbml0aWFsOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLW1vei1iYWNrZ3JvdW5kLW9yaWdpbjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluaXRpYWw7LW1vei1iYWNrZ3JvdW5kLWlubGluZS1wb2xpY3k6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbml0aWFsOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbi14OjAlO2JhY2tncm91bmQtcG9zaXRpb24teTo1MCU7YmFja2dyb3VuZC1hdHRhY2htZW50OgotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzY3JvbGwiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJ0ZXh0LWFsaWduOnN0YXJ0O2Zsb2F0Om5vbmU7d29yZC1zcGFjaW5nOjBweCI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtIZWx2ZXRpY2EmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUm9tYW4mcXVvdDs7Y29sb3I6IzAyMDMwMjtiYWNrZ3JvdW5kOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNGQ0ZDRkMiPiA8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvc3Bhbj48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYXRpb248L3NwYW4+PHNwYW4gc3R5bGU9ImJhY2tncm91bmQtYXR0YWNobWVudDogc2Nyb2xsOyI+PHNwYW4gc3R5bGU9InRleHQtYWxpZ246IHN0YXJ0OyBmbG9hdDogbm9uZTsgd29yZC1zcGFjaW5nOiAwcHg7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7SGVsdmV0aWNhJnF1b3Q7LHNhbnMtc2VyaWY7Ij4gPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvc3Bhbj48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDY0IGxldmVsMQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm85Njt0YWItc3RvcHM6bGlzdCAuNWluIj48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij48L3NwYW4+SEFMCiAKIAogCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+PC9zcGFuPkhBTAotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdQSU8gPC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij51cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNjQgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvOTY7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkFkZCB0aGUgbmV3CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR1BJTyA8L2I+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZCB0aGUgbmV3CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBbHRlcm5hdGUgZnVuY3Rpb25zIGxpdGVyYWxzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWxhdGVkIHRvIHJlbWFwIGZvciA8Yj48aT5TUEksCiAKIAogCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVVNBUlQsIEkyQywgU1BESUZSWCwgQ0VDCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIFFTUEk8L2k+PC9iPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDY0IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzk2O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTo3LjVwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSb21hbiZxdW90Ozttc28tYmlkaS1mb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2FsaWJyaSI+SEFMX0dQSU9fPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjcuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUm9tYW4mcXVvdDs7bXNvLWJpZGktZm9udC1mYW1pbHk6Q2FsaWJyaSI+RGVJbml0KDwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6Ny41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJvbWFuJnF1b3Q7O21zby1iaWRpLWZvbnQtZmFtaWx5OkNhbGlicmkiPik6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIFFTUEk8L2k+PC9iPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogNy41cHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfR1BJT188L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogNy41cHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5EZUluaXQoPC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiA3LjVwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPik6CiAKIAogCkBAIC00MDQ2OCwyNzQzICs4MzMxLDU4MiBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUGluIHggaXMgYWxyZWFkeSB1c2VkIGluIEVYVEkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vZGUgb24gYW5vdGhlciBHUElPIFBvcnQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJlZm9yZSBEZS1Jbml0aWFsaXplIHRoZSBFWFRJCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWdpc3Rlcjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+czwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWdpc3Rlcjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMXB0OyBmb250LWZhbWlseTogJnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmOyI+czwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNjQgbGV2ZWwxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzk2O3RhYi1zdG9wczpsaXN0IC41aW4iPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAogCiAKIAotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPkhBTAotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRkxBU0ggPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+dXBkYXRlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOiMwMjAzMDI7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw2NCBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm85Njt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLXN0eWxlPSJ0ZXh0LWFsaWduOnN0YXJ0O2Zsb2F0Om5vbmU7d29yZC1zcGFjaW5nOjBweCI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTo5LjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJvbWFuJnF1b3Q7O2JhY2tncm91bmQ6d2hpdGUiPl9fSEFMX0ZMQVNIX0lOU1RSVUNUSU9OX0NBQ0hFXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+UkVTRVQoPC9zcGFuPjwvc3Bhbj4pCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hY3JvOiB1cGRhdGUgdG8mbmJzcDs8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJ0ZXh0LWFsaWduOnN0YXJ0O2Zsb2F0Om5vbmU7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3b3JkLXNwYWNpbmc6MHB4Ij48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPnJlc2V0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJm5ic3A7PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9InRleHQtYWxpZ246c3RhcnQ7ZmxvYXQ6bm9uZTt3b3JkLXNwYWNpbmc6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHB4Ij5JQ1JTVCA8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0idGV4dC1hbGlnbjpzdGFydDtmbG9hdDpub25lOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdvcmQtc3BhY2luZzowcHgiPmJpdCBpbgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRkxBU0ggPC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IHJnYigyLCAzLCAyKTsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9InRleHQtYWxpZ246IHN0YXJ0OyBmbG9hdDogbm9uZTsgd29yZC1zcGFjaW5nOiAwcHg7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiA5cHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5fX0hBTF9GTEFTSF9JTlNUUlVDVElPTl9DQUNIRV88c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+UkVTRVQoPC9zcGFuPjwvc3Bhbj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hY3JvOiB1cGRhdGUgdG8mbmJzcDs8c3BhbiBzdHlsZT0idGV4dC1hbGlnbjogc3RhcnQ7IGZsb2F0OiBub25lOyB3b3JkLXNwYWNpbmc6IDBweDsiPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj5yZXNldAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZuYnNwOzwvc3Bhbj48c3BhbiBzdHlsZT0idGV4dC1hbGlnbjogc3RhcnQ7IGZsb2F0OiBub25lOyB3b3JkLXNwYWNpbmc6IDBweDsiPklDUlNUIDwvc3Bhbj48c3BhbiBzdHlsZT0idGV4dC1hbGlnbjogc3RhcnQ7IGZsb2F0OiBub25lOyB3b3JkLXNwYWNpbmc6IDBweDsiPmJpdCBpbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBBQ1IgcmVnaXN0ZXIgYWZ0ZXIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXR0aW5nIGl0Ljwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjojMDUwNTA1O21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNjQgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvOTY7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjkuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSb21hbiZxdW90Oztjb2xvcjojMDIwMzAyO2JhY2tncm91bmQ6d2hpdGUiPjxzcGFuCi1zdHlsZT0idGV4dC1hbGlnbjpzdGFydDtmbG9hdDpub25lO3dvcmQtc3BhY2luZzowcHgiPl9fSEFMX0ZMQVNIX0RBVEFfQ0FDSEVfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5SRVNFVCg8L3NwYW4+PC9zcGFuPikmbmJzcDttYWNybzoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXR0aW5nIGl0Ljwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogcmdiKDUsIDUsIDUpOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiA5cHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij48c3BhbiBzdHlsZT0idGV4dC1hbGlnbjogc3RhcnQ7IGZsb2F0OiBub25lOyB3b3JkLXNwYWNpbmc6IDBweDsiPl9fSEFMX0ZMQVNIX0RBVEFfQ0FDSEVfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlJFU0VUKDwvc3Bhbj48L3NwYW4+KSZuYnNwO21hY3JvOgogCiAKIAogCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZSB0byZuYnNwO3Jlc2V0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZuYnNwO0RDUlNUIGJpdCBpbiB0aGUgQUNSCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZ2lzdGVyIGFmdGVyIHNldHRpbmcgaXQuPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVnaXN0ZXIgYWZ0ZXIgc2V0dGluZyBpdC48L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDY0IGxldmVsMQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm85Njt0YWItc3RvcHM6bGlzdCAuNWluIj48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKIAogCiAKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij5IQUwKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFEQyA8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij51cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw2NCBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm85Njt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+QWRkIG5ldworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQURDIDwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZCBuZXcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpdGVyYWw6IEFEQ19TT0ZUV0FSRV9TVEFSVCB0bwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmUgdXNlZCBhcyBwb3NzaWJsZSB2YWx1ZSBmb3IKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSA8c3BhbiBjbGFzcz0ic3BlbGxlIj48aT48c3Bhbgotc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+RXh0ZXJuYWxUcmlnQ29udjwvc3Bhbj48L2k+PC9zcGFuPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1ldGVyIGluIHRoZSA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkFEQ19Jbml0VHlwZURlZjwvc3Bhbj48L3NwYW4+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgPHNwYW4gY2xhc3M9InNwZWxsZSI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5FeHRlcm5hbFRyaWdDb252PC9zcGFuPjwvaT48L3NwYW4+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJhbWV0ZXIgaW4gdGhlIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QURDX0luaXRUeXBlRGVmPC9zcGFuPjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdHVyZSB0byBzZWxlY3QgdGhlIEFEQwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc29mdHdhcmUgdHJpZ2dlciBtb2RlLjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDY0IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzk2O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5JU19BRENfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkNIQU5ORUwoPC9zcGFuPjwvc3Bhbj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzb2Z0d2FyZSB0cmlnZ2VyIG1vZGUuPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SVNfQURDXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5DSEFOTkVMKDwvc3Bhbj48L3NwYW4+KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFjcm8gdXBkYXRlIHRvIGRvbid0IGFzc2VydAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RvcCB0aGUgPGk+QURDX0NIQU5ORUxfVEVNUFNFTlNPUjwvaT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNjQgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvOTY7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SEFMX0FEQ188L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5Qb2xsRm9yQ29udmVyc2lvbig8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPik6IHVwZGF0ZSB0bworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDExcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfQURDXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMXB0OyBmb250LWZhbWlseTogJnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmOyI+UG9sbEZvckNvbnZlcnNpb24oPC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMXB0OyBmb250LWZhbWlseTogJnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmOyI+KTogdXBkYXRlIHRvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYW5hZ2UgcGFydGljdWxhciBjYXNlIHdoZW4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFEQyBjb25maWd1cmVkIGluIERNQSBtb2RlIGFuZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQURDIHNlcXVlbmNlciB3aXRoIHNldmVyYWwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJhbmtzIGFuZCBwb2xsaW5nIGZvciBlbmQgb2YKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVhY2ggY29udmVyc2lvbjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDY0IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzk2O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkhBTF9BRENfU3RhcnQ8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlYWNoIGNvbnZlcnNpb248L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDExcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfQURDX1N0YXJ0PC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMXB0OyBmb250LWZhbWlseTogJnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmOyI+KCkvPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfQURDX1N0YXJ0Xzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZjsiPklUKDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLzxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX0FEQ19TdGFydF9ETUE8L3NwYW4+PC9zcGFuPigpCiAKIAogCiAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPigpLzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZiI+SEFMX0FEQ19TdGFydF88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmIj5JVCg8L3NwYW4+PC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC88c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWYiPkhBTF9BRENfU3RhcnRfRE1BPC9zcGFuPjwvc3Bhbj4oKQotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGU6PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw2NCBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzk2O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij51bmxvY2sgdGhlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGU6PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTFwdDsgZm9udC1mYW1pbHk6ICZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZjsiPnVubG9jayB0aGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvY2VzcyBiZWZvcmUgc3RhcnRpbmcgdGhlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFEQyBzb2Z0d2FyZSBjb252ZXJzaW9uLjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw2NCBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzk2O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5PcHRpbWl6ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgQURDIHN0YWJpbGl6YXRpb24gPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmIj5kZWxheXM8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBREMgc29mdHdhcmUgY29udmVyc2lvbi48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTFwdDsgZm9udC1mYW1pbHk6ICZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZjsiPk9wdGltaXplCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBBREMgc3RhYmlsaXphdGlvbiA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmOyI+ZGVsYXlzPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNjQgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvOTY7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPl9fSEFMX0FEQ19HRVRfSVRfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWYiPlNPVVJDRSg8L3NwYW4+PC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZSBtYWNybyBpbXBsZW1lbnRhdGlvbjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDY0IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzk2O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5BZGQgbW9yZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTFwdDsgZm9udC1mYW1pbHk6ICZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZjsiPl9fSEFMX0FEQ19HRVRfSVRfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZjsiPlNPVVJDRSg8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZSBtYWNybyBpbXBsZW1lbnRhdGlvbjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTFwdDsgZm9udC1mYW1pbHk6ICZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZjsiPkFkZCBtb3JlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXRhaWxzIGluICdIb3cgdG8gdXNlIHRoaXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRyaXZlcicgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWYiPnNlY3Rpb248L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkcml2ZXInIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7Ij5zZWN0aW9uPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDY0IGxldmVsMQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm85Njt0YWItc3RvcHM6bGlzdCAuNWluIj48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKIAogCiAKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij5IQUwKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERBQyA8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij51cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEQUMgPC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21zby1tYXJnaW4tdG9wLWFsdDphdXRvOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvO21zby1saXN0Omw2NAotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsMiBsZm85Njt0YWItc3RvcHM6IGxpc3QKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkFkZCBuZXcgbWFjcm8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkIG5ldyBtYWNybwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gY2hlY2sgaWYgdGhlIHNwZWNpZmllZCBEQUMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludGVycnVwdCBzb3VyY2UgaXMgZW5hYmxlZCBvcgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPmRpc2FibGVkPC9zcGFuPjwvc3Bhbj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPmRpc2FibGVkPC9zcGFuPjwvc3Bhbj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvO21zby1saXN0Omw2NAotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWwzIGxmbzk2O3RhYi1zdG9wczogbGlzdAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5fX0hBTF9EQUNfR0VUX0lUXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+U09VUkNFKDwvc3Bhbj48L3NwYW4+KTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEzLjVwdDttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+X19IQUxfREFDX0dFVF9JVF88c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+U09VUkNFKDwvc3Bhbj48L3NwYW4+KTwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMy41cHQ7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG87bXNvLWxpc3Q6bDY0Ci0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWwyIGxmbzk2O3RhYi1zdG9wczogbGlzdAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEuMGluIj48c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SEFMX0RBQ0V4Xzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlRyaWFuZ2xlV2F2ZUdlbmVyYXRpb24oPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4pIHVwZGF0ZSB0bwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlIERBQyBDUiBiaXQgbWFzayBkZWZpbml0aW9uPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEzLjVwdDttc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG87bXNvLWxpc3Q6bDY0Ci0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWwyIGxmbzk2O3RhYi1zdG9wczogbGlzdAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEuMGluIj48c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SEFMX0RBQ0V4Xzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPk5vaXNlV2F2ZUdlbmVyYXRpb24oPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4pIHVwZGF0ZSB0bwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlIERBQyBDUiBiaXQgbWFzayBkZWZpbml0aW9uPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEzLjVwdDttc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsiPjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfREFDRXhfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5UcmlhbmdsZVdhdmVHZW5lcmF0aW9uKDwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPikgdXBkYXRlIHRvCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2UgREFDIENSIGJpdCBtYXNrIGRlZmluaXRpb248L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTMuNXB0OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7Ij48c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX0RBQ0V4Xzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Tm9pc2VXYXZlR2VuZXJhdGlvbig8L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4pIHVwZGF0ZSB0bworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlIERBQyBDUiBiaXQgbWFzayBkZWZpbml0aW9uPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEzLjVwdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw2NCBsZXZlbDEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvOTY7dGFiLXN0b3BzOmxpc3QgLjVpbiI+PGI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMCiAKIAogCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+SEFMCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDQU4gPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+dXBkYXRlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNjQgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvOTY7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+Q2FuVHhNc2dUeXBlRGVmPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4gc3RydWN0dXJlOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlJm5ic3A7dG8gdXNlPGI+IDwvYj51aW50OF90Jm5ic3A7PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkRhdGFbPC9zcGFuPjwvc3Bhbj44XQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ0FOIDwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkNhblR4TXNnVHlwZURlZjwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPiBzdHJ1Y3R1cmU6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGUmbmJzcDt0byB1c2U8Yj4gPC9iPnVpbnQ4X3QmbmJzcDs8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RGF0YVs8L3NwYW4+PC9zcGFuPjhdCiAKIAogCiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluc3RlYWQgb2YKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90Jm5ic3A7RGF0YVs4XTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDY0IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzk2O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkNhblJ4TXNnVHlwZURlZjwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+IHN0cnVjdHVyZToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZSZuYnNwO3RvIHVzZTxiPiA8L2I+dWludDhfdCZuYnNwOzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5EYXRhWzwvc3Bhbj48L3NwYW4+OF08Yj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90Jm5ic3A7RGF0YVs4XTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkNhblJ4TXNnVHlwZURlZjwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPiBzdHJ1Y3R1cmU6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGUmbmJzcDt0byB1c2U8Yj4gPC9iPnVpbnQ4X3QmbmJzcDs8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RGF0YVs8L3NwYW4+PC9zcGFuPjhdPGI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2I+aW5zdGVhZCBvZgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QmbmJzcDtEYXRhWzhdPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90Jm5ic3A7RGF0YVs4XTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1hcmdpbi10b3A6MGluO3RleHQtYWxpZ246c3RhcnQ7d29yZC1zcGFjaW5nOjBweCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDkxIGxldmVsMQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm85Nzt0YWItc3RvcHM6bGlzdCAuNWluIj48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyB0ZXh0LWFsaWduOiBzdGFydDsgd29yZC1zcGFjaW5nOiAwcHg7IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKIAogCiAKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij5IQUwKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJUQyA8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij51cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw5MSBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm85Nzt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+VXBkYXRlIHRvCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSVEMgPC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXBkYXRlIHRvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2UmbmJzcDtDTVNJUyBtYXNrIGRlZmluaXRpb24KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluc3RlYWQgb2YgaGFyZGNvZGVkIHZhbHVlcyAoPC9zcGFuPjxzcGFuCi1zdHlsZT0idGV4dC1hbGlnbjpzdGFydDtmbG9hdDpub25lO3dvcmQtc3BhY2luZzowcHgiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6OS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7SGVsdmV0aWNhJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSb21hbiZxdW90Oztjb2xvcjojMDcwNzA3O2JhY2tncm91bmQ6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdoaXRlIj5FWFRJX0lNUl9JTTE3LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFWFRJX0lNUl9JTTxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O0hlbHZldGljYSZxdW90OyxzYW5zLXNlcmlmIj4xOS4uPC9zcGFuPjwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPik8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5zdGVhZCBvZiBoYXJkY29kZWQgdmFsdWVzICg8L3NwYW4+PHNwYW4gc3R5bGU9InRleHQtYWxpZ246IHN0YXJ0OyBmbG9hdDogbm9uZTsgd29yZC1zcGFjaW5nOiAwcHg7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiA5cHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtIZWx2ZXRpY2EmcXVvdDssc2Fucy1zZXJpZjsiPkVYVElfSU1SX0lNMTcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVYVElfSU1SX0lNPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O0hlbHZldGljYSZxdW90OyxzYW5zLXNlcmlmOyI+MTkuLjwvc3Bhbj48L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+KTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsOTEgbGV2ZWwxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzk3O3RhYi1zdG9wczpsaXN0IC41aW4iPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAogCiAKIAotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPkhBTAotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTFREQyA8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij51cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw5MSBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm85Nzt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5MVERDXzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlNldENvbmZpZyg8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPikgdXBkYXRlIHRvCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMVERDIDwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkxURENfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5TZXRDb25maWcoPC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+KSB1cGRhdGUgdG8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsbG93IHRoZSBkcmF3aW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvZiZuYnNwO3BhcnRpYWwgYml0bWFwIGluCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3RpdmUgbGF5ZXIuPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGl2ZSBsYXllci48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDkxIGxldmVsMQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm85Nzt0YWItc3RvcHM6bGlzdCAuNWluIj48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKIAogCiAKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij5IQUwKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVTQVJUIDwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPnVwZGF0ZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDkxIGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzk3O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkhBTF9VU0FSVF88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5Jbml0KDwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+KSBmaXggVVNBUlQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVTQVJUIDwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9VU0FSVF88L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkluaXQoPC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+KSBmaXggVVNBUlQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhdWQgcmF0ZSZuYnNwO2NvbmZpZ3VyYXRpb24KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzc3VlOiBVU0FSVCBiYXVkIHJhdGUgaXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR3aWNlIEhpZ2hlciB0aGFuIGV4cGVjdGVkPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR3aWNlIEhpZ2hlciB0aGFuIGV4cGVjdGVkPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw5MSBsZXZlbDEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvOTc7dGFiLXN0b3BzOmxpc3QgLjVpbiI+PGI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMCiAKIAogCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+SEFMCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTTUFSVENBUkQgPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+dXBkYXRlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDkxIGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzk3O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkhBTF9TTUFSVENBUkRfVHJhbnNtaXRfPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SVQoPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4pIHVwZGF0ZSB0bworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU01BUlRDQVJEIDwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9TTUFSVENBUkRfVHJhbnNtaXRfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5JVCg8L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4pIHVwZGF0ZSB0bwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yY2UgdGhlIGRpc2FibGUgZm9yIHRoZSBFUlIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludGVycnVwdCB0byBhdm9pZCB0aGUgT1ZSCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnRlcnJ1cHQ8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw5MSBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm85Nzt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5IQUxfU01BUlRDQVJEXzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPklSUUhhbmRsZXIoPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnRlcnJ1cHQ8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfU01BUlRDQVJEXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SVJRSGFuZGxlcig8L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGUmbmJzcDtjaGVjayBjb25kaXRpb24KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciZuYnNwO3RyYW5zbWlzc2lvbiBlbmQgPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsOTEgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvOTc7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkNsZWFuIHVwOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yJm5ic3A7dHJhbnNtaXNzaW9uIGVuZCA8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5DbGVhbiB1cDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbW92ZSB0aGUmbmJzcDtmb2xsb3dpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpdGVyYWxzIHRoYXQgYXJlbid0IHVzZWQgaW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNtYXJ0Y2FyZCA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuCi1zdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5tb2RlPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDkxIGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvOTc7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlNNQVJUQ0FSRF9QQVJJVFlfTk9ORTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw5MSBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzk3O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5TTUFSVENBUkRfV09SRExFTkdUSF84Qjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw5MSBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzk3O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5TTUFSVENBUkRfU1RPUEJJVFNfMTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw5MSBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzk3O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5TTUFSVENBRFJfU1RPUEJJVFNfMjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc21hcnRjYXJkIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5tb2RlPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMXB0OyBmb250LWZhbWlseTogJnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmOyI+U01BUlRDQVJEX1BBUklUWV9OT05FPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDExcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7Ij5TTUFSVENBUkRfV09SRExFTkdUSF84Qjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMXB0OyBmb250LWZhbWlseTogJnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmOyI+U01BUlRDQVJEX1NUT1BCSVRTXzE8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTFwdDsgZm9udC1mYW1pbHk6ICZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZjsiPlNNQVJUQ0FEUl9TVE9QQklUU18yPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw5MSBsZXZlbDEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvOTc7dGFiLXN0b3BzOmxpc3QgLjVpbiI+PGI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMCiAKIAogCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+SEFMCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTUEkgPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+dXBkYXRlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsOTEgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvOTc7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkhBTF9TUElfVHJhbnNtaXRfRE1BKCkvSEFMX1NQSV9SZWNlaXZlX0RNQSgpL0hBTF9TUElfVGFybnNtaXRSZWNlaXZlXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5ETUEoPC9zcGFuPjwvc3Bhbj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTUEkgPC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX1NQSV9UcmFuc21pdF9ETUEoKS9IQUxfU1BJX1JlY2VpdmVfRE1BKCkvSEFMX1NQSV9UYXJuc21pdFJlY2VpdmVfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkRNQSg8L3NwYW4+PC9zcGFuPikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZSB0byB1bmxvY2sKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSZuYnNwO3Byb2Nlc3MgYmVmb3JlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbmFibGluZyB0aGUgU1BJIHBlcmlwaGVyYWw8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw5MSBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm85Nzt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5IQUxfU1BJX1RyYW5zbWl0Xzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkRNQSg8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPikgdXBkYXRlIHRvCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbmFibGluZyB0aGUgU1BJIHBlcmlwaGVyYWw8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDExcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfU1BJX1RyYW5zbWl0Xzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMXB0OyBmb250LWZhbWlseTogJnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmOyI+RE1BKDwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTFwdDsgZm9udC1mYW1pbHk6ICZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZjsiPikgdXBkYXRlIHRvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYW5hZ2UgY29ycmVjdGx5IHRoZSBETUEgUlgKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cmVhbSBpbiBTUEkgRnVsbCBkdXBsZXggbW9kZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDkxIGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzk3O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5TZWN0aW9uCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJlYW0gaW4gU1BJIEZ1bGwgZHVwbGV4IG1vZGU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5TZWN0aW9uCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTUElfRXhwb3J0ZWRfRnVuY3Rpb25zX0dyb3VwMiZuYnNwO3VwZGF0ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gcmVtb3ZlIGR1cGxpY2F0aW9uIGluICouY2htCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+VU08L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VU08L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsOTEgbGV2ZWwxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzk3O3RhYi1zdG9wczpsaXN0IC41aW4iPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAogCiAKIAotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPkhBTAotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ1JZUCA8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij51cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw5MSBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm85Nzt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+VXBkYXRlIHRvCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYW5hZ2UgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3Bhbgotc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+bXVsdGkgaW5zdGFuY2U8L3NwYW4+PC9zcGFuPjo8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDkxIGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvOTc7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkFkZCBuZXcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1ldGVyIEluc3RhbmNlIGluIHRoZSA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5DUllQX0hhbmRsZVR5cGVEZWY8L3NwYW4+PC9zcGFuPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIYW5kbGUgc3RydWN0dXJlLjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw5MSBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzk3O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5BZGQgbmV3CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDUllQIDwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZSB0bworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFuYWdlIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5tdWx0aSBpbnN0YW5jZTwvc3Bhbj48L3NwYW4+Ojwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQgbmV3CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtZXRlciBJbnN0YW5jZSBpbiB0aGUgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5DUllQX0hhbmRsZVR5cGVEZWY8L3NwYW4+PC9zcGFuPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIYW5kbGUgc3RydWN0dXJlLjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkIG5ldwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJhbWV0ZXIgaW4gYWxsIEhBTCBDUllQCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hY3Jvczwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsOTEgbGV2ZWw0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzk3O3RhYi1zdG9wczpsaXN0IDIuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5leGFtcGxlOiZuYnNwO19fSEFMX0NSWVBfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+RU5BQkxFKDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWNyb3M8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPmV4YW1wbGU6Jm5ic3A7X19IQUxfQ1JZUF88c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RU5BQkxFKDwvc3Bhbj48L3NwYW4+KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZuYnNwO3VwZGF0ZWQgYnkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX0hBTF9DUllQX0VOQUJMRShfX0hBTkRMRV9fKTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX0hBTF9DUllQX0VOQUJMRShfX0hBTkRMRV9fKTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw5MSBsZXZlbDEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvOTc7dGFiLXN0b3BzOmxpc3QgLjVpbiI+PGI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMCiAKIAogCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+SEFMCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEQ01JIDwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPnVwZGF0ZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDkxIGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzk3O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5BZGQgYW4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERDTUkgPC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkIGFuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHRlbnNpb24KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRyaXZlciZuYnNwO3N0bTMyZjR4eF9oYWxfZGNtaV9leC5jL2gKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvIG1hbmFnZSB0aGUgc3VwcG9ydCBvZiBuZXcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJsYWNrIGFuZCBXaGl0ZSBmZWF0dXJlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCbGFjayBhbmQgV2hpdGUgZmVhdHVyZTwvc3Bhbj48c3BhbiBzdHlsZT0iIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDkxIGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzk3O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+QWRkIDxpPiZuYnNwO188L2k+PC9zcGFuPjwvc3Bhbj48aT48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5fd2Vhazwvc3Bhbj48L2k+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+IGF0dHJpYnV0ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxpPjxzcGFuCi1zdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5IQUxfRENNSV9Jbml0PC9zcGFuPjwvaT48L3NwYW4+PGk+KCk8L2k+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQgPGk+Jm5ic3A7XzwvaT48L3NwYW4+PC9zcGFuPjxpPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5fd2Vhazwvc3Bhbj48L2k+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPiBhdHRyaWJ1dGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciA8c3BhbiBjbGFzcz0ic3BlbGxlIj48aT48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9EQ01JX0luaXQ8L3NwYW4+PC9pPjwvc3Bhbj48aT4oKTwvaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGFuZCBhZGQgYSBuZXcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGltcGxlbWVudGF0aW9uIGluIHRoZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXh0ZW5zaW9uIGRyaXZlciB0byBtYW5hZ2UgdGhlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGFjayBhbmQgd2hpdGUgY29uZmlndXJhdGlvbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25seSBhdmFpbGFibGUgaW4gdGhlJm5ic3A7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTVE0zMkY0NDZ4eCBkZXZpY2VzLjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU1RNMzJGNDQ2eHggZGV2aWNlcy48L3NwYW4+PHNwYW4gc3R5bGU9IiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw5MSBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm85Nzt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+TW92ZSA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkRDTUlfSW5pdFR5cGVEZWY8L3NwYW4+PC9zcGFuPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPk1vdmUgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5EQ01JX0luaXRUeXBlRGVmPC9zcGFuPjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdHVyZSB0byBleHRlbnNpb24gZHJpdmVyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgYWRkJm5ic3A7dGhlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb2xsb3dpbmcmbmJzcDtuZXcgZmllbGRzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWxhdGVkIHRvIGJsYWNrIGFuZCB3aGl0ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmVhdHVyZTogPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4KLXN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkJ5dGVTZWxlY3RNb2RlPC9zcGFuPjwvc3Bhbj4sJm5ic3A7PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5CeXRlU2VsZWN0U3RhcnQ8L3NwYW4+PC9zcGFuPiwmbmJzcDs8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkxpbmVTZWxlY3RNb2RlPC9zcGFuPjwvc3Bhbj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3Bhbgotc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+TGluZVNlbGVjdFN0YXJ0PC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmVhdHVyZTogPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5CeXRlU2VsZWN0TW9kZTwvc3Bhbj48L3NwYW4+LCZuYnNwOzxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Qnl0ZVNlbGVjdFN0YXJ0PC9zcGFuPjwvc3Bhbj4sJm5ic3A7PHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5MaW5lU2VsZWN0TW9kZTwvc3Bhbj48L3NwYW4+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5MaW5lU2VsZWN0U3RhcnQ8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsOTEgbGV2ZWwxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzk3O3RhYi1zdG9wczpsaXN0IC41aW4iPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAogCiAKIAotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPkhBTAotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUENEIDwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPnVwZGF0ZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDkxIGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzk3O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5BZGQgdGhlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdXBwb3J0IG9mIExQTSA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+ZmVhdHVyZTwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw5MSBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzk3O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5hZGQgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+UENEX0xQTV9TdGF0ZVR5cGVEZWY8L3NwYW4+PC9zcGFuPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+ZW51bTwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDkxIGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvOTc7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPnVwZGF0ZSA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5QQ0RfSGFuZGxlVHlwZURlZjwvc3Bhbj48L3NwYW4+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQQ0QgPC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkIHRoZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3VwcG9ydCBvZiBMUE0gPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPmZlYXR1cmU8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5hZGQgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5QQ0RfTFBNX1N0YXRlVHlwZURlZjwvc3Bhbj48L3NwYW4+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+ZW51bTwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGUgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5QQ0RfSGFuZGxlVHlwZURlZjwvc3Bhbj48L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdHVyZSB0byBzdXBwb3J0IHRoZSBMUE0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+ZmVhdHVyZTwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDkxIGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvOTc7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPmZlYXR1cmU8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+YWRkIG5ldworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbnMgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfUENERXhfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWN0aXZhdGVMUE0oPC9zcGFuPjwvc3Bhbj4pLAogCiAKIAogCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+YWRkIG5ldwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbnMgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX1BDREV4Xzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5BY3RpdmF0ZUxQTSg8L3NwYW4+PC9zcGFuPiksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX1BDREV4X0RlQWN0aXZhdGVMUE08L3NwYW4+PC9zcGFuPigpCiAKIAogCiAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkhBTF9QQ0RFeF9EZUFjdGl2YXRlTFBNPC9zcGFuPjwvc3Bhbj4oKQotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3Bhbgotc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX1BDREV4X0xQTV9DYWxsYmFjazwvc3Bhbj48L3NwYW4+KCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX1BDREV4X0xQTV9DYWxsYmFjazwvc3Bhbj48L3NwYW4+KCkKIAogCiAKIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiB0aGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RtMzJmNHh4X2hhbF9wY2RfZXguaC8uYwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlczwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlczwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsOTEgbGV2ZWwxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzk3O3RhYi1zdG9wczpsaXN0IC41aW4iPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAogCiAKIAotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPkhBTAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVElNIDwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkJm5ic3A7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRJTTwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPl9USU0xMV9TUERJRlJYCiAKIAogCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUSU0gPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+dXBkYXRlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsOTEgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvOTc7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5BZGQmbmJzcDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVElNPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+X1RJTTExX1NQRElGUlgKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmluZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWZpbmU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDkxIGxldmVsMQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm85Nzt0YWItc3RvcHM6bGlzdCAuNWluIj48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKIAogCiAKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij5IQUwKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNBSSA8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij51cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw5MSBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm85Nzt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+QWRkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTQUkgPC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdG0zMmY0eHhfaGFsX3NhaV9leC5oLy5jCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlcyBmb3IgdGhlIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+U0FJXzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkJsb2NrU3luY2hyb0NvbmZpZyg8L3NwYW4+PC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCB0aGUgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4KLXN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPlNBSV9HZXRJbnB1dENsb2NrPC9zcGFuPjwvc3Bhbj4oKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZXMgZm9yIHRoZSA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlNBSV88L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5CbG9ja1N5bmNocm9Db25maWcoPC9zcGFuPjwvc3Bhbj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgdGhlIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+U0FJX0dldElucHV0Q2xvY2s8L3NwYW4+PC9zcGFuPigpCiAKIAogCiAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hbmFnZW1lbnQ8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw5MSBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm85Nzt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+QWRkIG5ldworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFuYWdlbWVudDwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZCBuZXcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmluZXMgSEFMX1NBSV9FUlJPUl9BRlNERVQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUxfU0FJX0VSUk9SX0xGU0RFVCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9TQUlfRVJST1JfQ05SRUFEWSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9TQUlfRVJST1JfV0NLQ0ZHLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX1NBSV9FUlJPUl9USU1FT1VUIGluIHRoZSA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPlNBSV9FcnJvcl9Db2RlPC9zcGFuPjwvc3Bhbj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyb3VwPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+IDxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDkxIGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzk3O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5BZGQgbmV3CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUxfU0FJX0VSUk9SX1RJTUVPVVQgaW4gdGhlIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+U0FJX0Vycm9yX0NvZGU8L3NwYW4+PC9zcGFuPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JvdXA8L3NwYW4+PHNwYW4gc3R5bGU9IiI+IDxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkIG5ldwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmaW5lcyBTQUlfU1lOQ0VYVF9ESVNBQkxFLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU0FJX1NZTkNFWFRfSU5fRU5BQkxFLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU0FJX1NZTkNFWFRfT1VUQkxPQ0tBX0VOQUJMRSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNBSV9TWU5DRVhUX09VVEJMT0NLQl9FTkFCTEUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciB0aGUgU0FJIEV4dGVybmFsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzeW5jaHJvbml6YXRpb24gPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsOTEgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvOTc7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkFkZCBuZXcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN5bmNocm9uaXphdGlvbiA8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQgbmV3CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWZpbmVzIFNBSV9JMlNfU1RBTkRBUkQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTQUlfSTJTX01TQkpVU1RJRklFRCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNBSV9JMlNfTFNCSlVTVElGSUVELAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU0FJX1BDTV9MT05HIGFuZCBTQUlfUENNX1NIT1JUCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgdGhlIFNBSSBTdXBwb3J0ZWQgcHJvdG9jb2w8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4gPG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsOTEgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvOTc7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkFkZCBuZXcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciB0aGUgU0FJIFN1cHBvcnRlZCBwcm90b2NvbDwvc3Bhbj48c3BhbiBzdHlsZT0iIj4gPG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQgbmV3CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWZpbmVzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTQUlfUFJPVE9DT0xfREFUQVNJWkVfMTZCSVQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTQUlfUFJPVE9DT0xfREFUQVNJWkVfMTZCSVRFWFRFTkRFRCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNBSV9QUk9UT0NPTF9EQVRBU0laRV8yNEJJVAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTQUlfUFJPVE9DT0xfREFUQVNJWkVfMzJCSVQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciBTQUkgcHJvdG9jb2wgZGF0YSA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+c2l6ZTwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsOTEgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvOTc7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkFkZCBTQUkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENhbGxiYWNrIHByb3RvdHlwZSA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+ZGVmaW5pdGlvbjwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsOTEgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvOTc7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlVwZGF0ZSZuYnNwOzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+U0FJX0luaXRUeXBlRGVmPC9zcGFuPjwvc3Bhbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciBTQUkgcHJvdG9jb2wgZGF0YSA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+c2l6ZTwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkIFNBSQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2FsbGJhY2sgcHJvdG90eXBlIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5kZWZpbml0aW9uPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUmbmJzcDs8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlNBSV9Jbml0VHlwZURlZjwvc3Bhbj48L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3R1cmUgYnkgYWRkaW5nIG5ldwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmllbGRzOiA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3Bhbgotc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+U3luY2hyb0V4dDwvc3Bhbj48L3NwYW4+LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5NY2tkaXY8L3NwYW4+PC9zcGFuPiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+TW9ub1N0ZXJlb01vZGU8L3NwYW4+PC9zcGFuPiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+Q29tcGFuZGluZ01vZGU8L3NwYW4+PC9zcGFuPiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+VHJpU3RhdGU8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDkxIGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzk3O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5VcGRhdGUgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5TQUlfSGFuZGxlVHlwZURlZjwvc3Bhbj48L3NwYW4+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3R1cmU6PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw5MSBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzk3O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5yZW1vdmUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDE2X3QgKjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPnBUeEJ1ZmZQdHI8L3NwYW4+PC9zcGFuPiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi1zdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5wUnhCdWZmUHRyPC9zcGFuPjwvc3Bhbj4sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5UeFhmZXJTaXplPC9zcGFuPjwvc3Bhbj4sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5SeFhmZXJTaXplPC9zcGFuPjwvc3Bhbj4sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5UeFhmZXJDb3VudDwvc3Bhbj48L3NwYW4+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3Bhbgotc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+UnhYZmVyQ291bnQ8L3NwYW4+PC9zcGFuPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmllbGRzOiA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlN5bmNocm9FeHQ8L3NwYW4+PC9zcGFuPiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+TWNrZGl2PC9zcGFuPjwvc3Bhbj4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPk1vbm9TdGVyZW9Nb2RlPC9zcGFuPjwvc3Bhbj4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkNvbXBhbmRpbmdNb2RlPC9zcGFuPjwvc3Bhbj4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlRyaVN0YXRlPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5TQUlfSGFuZGxlVHlwZURlZjwvc3Bhbj48L3NwYW4+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3R1cmU6PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnJlbW92ZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MTZfdCAqPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5wVHhCdWZmUHRyPC9zcGFuPjwvc3Bhbj4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICo8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnBSeEJ1ZmZQdHI8L3NwYW4+PC9zcGFuPiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5UeFhmZXJTaXplPC9zcGFuPjwvc3Bhbj4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+UnhYZmVyU2l6ZTwvc3Bhbj48L3NwYW4+LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlR4WGZlckNvdW50PC9zcGFuPjwvc3Bhbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+UnhYZmVyQ291bnQ8L3NwYW4+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgcmVwbGFjZSB0aGVtCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3BlY3RpdmVseSBieSB1aW50OF90ICo8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5wQnVmZlB0cjwvc3Bhbj48L3NwYW4+LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MTZfdCA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5YZmVyU2l6ZTwvc3Bhbj48L3NwYW4+Jm5ic3A7YW5kCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3BlY3RpdmVseSBieSB1aW50OF90ICo8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnBCdWZmUHRyPC9zcGFuPjwvc3Bhbj4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNl90IDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+WGZlclNpemU8L3NwYW4+PC9zcGFuPiZuYnNwO2FuZAogCiAKIAogCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNl90IDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+WGZlckNvdW50PC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsOTEgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm85Nzt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+YWRkIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPm11dGVjYWxsYmFjazwvc3Bhbj48L3NwYW4+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPmZpZWxkPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsOTEgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm85Nzt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+YWRkIHN0cnVjdAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfXzxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi1zdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5TQUlfSGFuZGxlVHlwZURlZjwvc3Bhbj48L3NwYW4+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICo8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3Bhbgotc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+aHNhaTwvc3Bhbj48L3NwYW4+IDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+ZmllbGQ8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MTZfdCA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+WGZlckNvdW50PC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPmFkZCA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPm11dGVjYWxsYmFjazwvc3Bhbj48L3NwYW4+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5maWVsZDwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5hZGQgc3RydWN0CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5TQUlfSGFuZGxlVHlwZURlZjwvc3Bhbj48L3NwYW4+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICo8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPmhzYWk8L3NwYW4+PC9zcGFuPiA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+ZmllbGQ8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw5MSBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm85Nzt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+UmVtb3ZlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+UmVtb3ZlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTQUlfQ0xLU09VUkNFX1BMTFIgYW5kCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTQUlfQ0xPQ0tfUExMU1JDIGRlZmluZXM8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw5MSBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm85Nzt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+QWRkCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTQUlfQ0xLU09VUkNFX05BIGRlZmluZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDkxIGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzk3O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5BZGQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNBSV9DTE9DS19QTExTUkMgZGVmaW5lczwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU0FJX0NMS1NPVVJDRV9OQSBkZWZpbmU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNBSV9BVURJT19GUkVRVUVOQ1lfTUNLRElWCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWZpbmU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw5MSBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm85Nzt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmluZTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU0FJX1NQRElGX1BST1RPQ09MIGRlZmluZTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU0FJX1NZTkNIUk9OT1VTX0VYVCBkZWZpbmU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQgbmV3CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbnMgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfU0FJXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkluaXRQcm90b2NvbCg8L3NwYW4+PC9zcGFuPiksCiAKIAogCiAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9TQUlfQWJvcnQ8L3NwYW4+PC9zcGFuPigpLAogCiAKIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5BZGQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNBSV9TUERJRl9QUk9UT0NPTCBkZWZpbmU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwogCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9TQUlfRW5hYmxlVHhNdXRlTW9kZTwvc3Bhbj48L3NwYW4+KCksCiAKIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw5MSBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm85Nzt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKIAogCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9TQUlfRGlzYWJsZVR4TXV0ZU1vZGU8L3NwYW4+PC9zcGFuPigpLAogCiAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCiAKIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfU0FJX0VuYWJsZVJ4TXV0ZU1vZGU8L3NwYW4+PC9zcGFuPigpLAogCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkFkZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU0FJX1NZTkNIUk9OT1VTX0VYVCBkZWZpbmU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwogCiAKIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw5MSBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm85Nzt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX1NBSV9EaXNhYmxlUnhNdXRlTW9kZTwvc3Bhbj48L3NwYW4+KCk8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfU0FJXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlRyYW5zbWl0KDwvc3Bhbj48L3NwYW4+KSwKIAogCiAKIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX1NBSV9SZWNlaXZlPC9zcGFuPjwvc3Bhbj4oKSwKIAogCiAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+QWRkIG5ldwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb25zIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX1NBSV88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5Jbml0UHJvdG9jb2woPC9zcGFuPjwvc3Bhbj4pLAogCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9TQUlfVHJhbnNtaXRfSVQ8L3NwYW4+PC9zcGFuPigpLAogCiAKIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5IQUxfU0FJX0Fib3J0PC9zcGFuPjwvc3Bhbj4oKSwKIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfU0FJX1JlY2VpdmVfSVQ8L3NwYW4+PC9zcGFuPigpLAogCiAKIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5IQUxfU0FJX0VuYWJsZVR4TXV0ZU1vZGU8L3NwYW4+PC9zcGFuPigpLAogCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9TQUlfVHJhbnNtaXRfRE1BPC9zcGFuPjwvc3Bhbj4oKSwKIAogCiAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX1NBSV9EaXNhYmxlVHhNdXRlTW9kZTwvc3Bhbj48L3NwYW4+KCksCiAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX1NBSV9SZWNlaXZlX0RNQTwvc3Bhbj48L3NwYW4+KCkKIAogCiAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX1NBSV9FbmFibGVSeE11dGVNb2RlPC9zcGFuPjwvc3Bhbj4oKSwKIAotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5IQUxfU0FJX0Rpc2FibGVSeE11dGVNb2RlPC9zcGFuPjwvc3Bhbj4oKTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDkxIGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzk3O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5VcGRhdGUgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5IQUxfU0FJXzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPlRyYW5zbWl0KDwvc3Bhbj48L3NwYW4+KSwKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5IQUxfU0FJX1JlY2VpdmU8L3NwYW4+PC9zcGFuPigpLAotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkhBTF9TQUlfVHJhbnNtaXRfSVQ8L3NwYW4+PC9zcGFuPigpLAotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkhBTF9TQUlfUmVjZWl2ZV9JVDwvc3Bhbj48L3NwYW4+KCksCi0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX1NBSV9UcmFuc21pdF9ETUE8L3NwYW4+PC9zcGFuPigpLAotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkhBTF9TQUlfUmVjZWl2ZV9ETUE8L3NwYW4+PC9zcGFuPigpCi0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9ucyB0byB1c2U8Yj4gdWludDhfdCAqPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+cERhdGE8L3NwYW4+PC9zcGFuPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9iPmluc3RlYWQgb2YgPGI+dWludDE2X3QgKjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPnBEYXRhPC9zcGFuPjwvc3Bhbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9ucyB0byB1c2U8Yj4gdWludDhfdCAqPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5wRGF0YTwvc3Bhbj48L3NwYW4+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2I+aW5zdGVhZCBvZiA8Yj51aW50MTZfdCAqPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5wRGF0YTwvc3Bhbj48L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tJmd0OyBUaGlzIHVwZGF0ZSBpcyBtYWlubHkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW1wYWN0aW5nIHRoZSBjb21wYXRpYmlsaXR5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpdGggcHJldmlvdXMgZHJpdmVyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZlcnNpb24uPC9iPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2ZXJzaW9uLjwvYj48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDkxIGxldmVsMQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm85Nzt0YWItc3RvcHM6bGlzdCAuNWluIj48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKIAogCiAKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij5IQUwKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEkyUyA8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij51cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw5MSBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm85Nzt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+U3BsaXQgdGhlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJMlMgPC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+U3BsaXQgdGhlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb2xsb3dpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9ucyZuYnNwO2JldHdlZW4gR2VuZXJpYwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIEV4dGVuZGVkIEFQSSBiYXNlZCBvbiBmdWxsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkdXBsZXggbWFuYWdlbWVudCBhbmQgYWRkIHRoZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXR0cmlidXRlIF9fd2VhayBpbiB0aGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdlbmVyaWMgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3Bhbgotc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+QVBJPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDkxIGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvOTc7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkhBTF9JMlNfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5Jbml0KDwvc3Bhbj48L3NwYW4+KSwKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUxfSTJTX0RNQVBhdXNlKCksJm5ic3A7SEFMX0kyU19ETUFTdG9wKCksJm5ic3A7SEFMX0kyU19ETUFSZXN1bWUoKSwmbmJzcDtIQUxfSTJTX0lSUUhhbmRsZSgpCi0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdlbmVyaWMgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFQSTwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9JMlNfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkluaXQoPC9zcGFuPjwvc3Bhbj4pLAorSEFMX0kyU19ETUFQYXVzZSgpLCZuYnNwO0hBTF9JMlNfRE1BU3RvcCgpLCZuYnNwO0hBTF9JMlNfRE1BUmVzdW1lKCksJm5ic3A7SEFMX0kyU19JUlFIYW5kbGUoKQorPG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsOTEgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvOTc7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPk1vdmUgdGhlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+TW92ZSB0aGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbGxvd2luZyBzdGF0aWMgZnVuY3Rpb25zCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmcm9tIGdlbmVyaWMgdG8gZXh0ZW5zaW9uIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5kcml2ZXI8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsOTEgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm85Nzt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+Jm5ic3A7STJTXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+RE1BUnhDcGx0KDwvc3Bhbj48L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgSTJTX0RNQVR4Q3BsdCgpPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmcm9tIGdlbmVyaWMgdG8gZXh0ZW5zaW9uIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5kcml2ZXI8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4mbmJzcDtJMlNfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkRNQVJ4Q3BsdCg8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIEkyU19ETUFUeENwbHQoKTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw5MSBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm85Nzt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+UmVtb3ZlIHN0YXRpYwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXR0cmlidXRlIGZyb20gSTJTX1RyYW5zbWl0XzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5JVCg8L3NwYW4+PC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCBJMlNfUmVjZWl2ZV9JVCgpIGZ1bmN0aW9uczwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDkxIGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzk3O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5Nb3ZlIEkyPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPlN4RVhUKDwvc3Bhbj48L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFjcm8gdG8gZXh0ZW5zaW9uIGZpbGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw5MSBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm85Nzt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+QWRkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+UmVtb3ZlIHN0YXRpYworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXR0cmlidXRlIGZyb20gSTJTX1RyYW5zbWl0XzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5JVCg8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCBJMlNfUmVjZWl2ZV9JVCgpIGZ1bmN0aW9uczwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPk1vdmUgSTI8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+U3hFWFQoPC9zcGFuPjwvc3Bhbj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWNybyB0byBleHRlbnNpb24gZmlsZTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSTJTX0NMT0NLX1BMTFIgYW5kCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJMlNfQ0xPQ0tfUExMU1JDIGRlZmluZXMgZm9yCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJMlMgY2xvY2sgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3Bhbgotc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+c291cmNlPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw5MSBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm85Nzt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+QWRkIG5ldwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gSTJTXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5HZXRJbnB1dENsb2NrKDwvc3Bhbj48L3NwYW4+KTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJMlMgY2xvY2sgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnNvdXJjZTwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkIG5ldworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gSTJTXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5HZXRJbnB1dENsb2NrKDwvc3Bhbj48L3NwYW4+KTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsOTEgbGV2ZWwxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzk3O3RhYi1zdG9wczpsaXN0IC41aW4iPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAogCiAKIAotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPkhBTAotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTEwgRk1DIDwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPnVwZGF0ZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw5MSBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm85Nzt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+QWRkIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+V3JpdGVGaWZvPC9zcGFuPjwvc3Bhbj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3Bhbgotc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+UGFnZVNpemU8L3NwYW4+PC9zcGFuPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmllbGRzIGluIHRoZSA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkZNQ19OT1JTUkFNX0luaXRUeXBlRGVmPC9zcGFuPjwvc3Bhbj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdHVyZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDkxIGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzk3O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5BZGQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExMIEZNQyA8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5Xcml0ZUZpZm88L3NwYW4+PC9zcGFuPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+UGFnZVNpemU8L3NwYW4+PC9zcGFuPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmllbGRzIGluIHRoZSA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkZNQ19OT1JTUkFNX0luaXRUeXBlRGVmPC9zcGFuPjwvc3Bhbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdHVyZTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRk1DX1BBR0VfU0laRV9OT05FLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRk1DX1BBR0VfU0laRV8xMjgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGTUNfUEFHRV9TSVpFXzI1NiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZNQ19QQUdFX1NJWkVfMTAyNCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZNQ19XUklURV9GSUZPX0RJU0FCTEUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGTUNfV1JJVEVfRklGT19FTkFCTEUgZGVmaW5lczwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDkxIGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzk3O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRk1DX1dSSVRFX0ZJRk9fRU5BQkxFIGRlZmluZXM8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5GTUNfTk9SU1JBTV88L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5Jbml0KDwvc3Bhbj48L3NwYW4+KSwKIAogCiAKIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+VXBkYXRlIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+Rk1DX05PUlNSQU1fPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SW5pdCg8L3NwYW4+PC9zcGFuPiksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkZNQ19OT1JTUkFNX0RlSW5pdDwvc3Bhbj48L3NwYW4+KCkKIAogCiAKIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5GTUNfTk9SU1JBTV9EZUluaXQ8L3NwYW4+PC9zcGFuPigpCi0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCZuYnNwOzxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi1zdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5GTUNfTk9SU1JBTV9FeHRlbmRlZF9UaW1pbmdfSW5pdDwvc3Bhbj48L3NwYW4+KCkmbmJzcDtmdW5jdGlvbnM8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kJm5ic3A7PHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5GTUNfTk9SU1JBTV9FeHRlbmRlZF9UaW1pbmdfSW5pdDwvc3Bhbj48L3NwYW4+KCkmbmJzcDtmdW5jdGlvbnM8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDkxIGxldmVsMQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm85Nzt0YWItc3RvcHM6bGlzdCAuNWluIj48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKIAogCiAKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij5IQUwKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExMIFVTQiA8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij51cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsOTEgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvOTc7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlVwZGF0ZSA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPlVTQl9PVEdfQ2ZnVHlwZURlZjwvc3Bhbj48L3NwYW4+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3R1cmUgdG8gc3VwcG9ydCBMUE0sIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+bHBtX2VuYWJsZTwvc3Bhbj48L3NwYW4+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWVsZCA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuCi1zdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5hZGRlZDwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsOTEgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvOTc7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlVwZGF0ZSA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPlVTQl88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5Ib3N0SW5pdCg8L3NwYW4+PC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3Bhbgotc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+VVNCX0RldkluaXQ8L3NwYW4+PC9zcGFuPigpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMTCBVU0IgPC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXBkYXRlIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VVNCX09UR19DZmdUeXBlRGVmPC9zcGFuPjwvc3Bhbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdHVyZSB0byBzdXBwb3J0IExQTSwgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5scG1fZW5hYmxlPC9zcGFuPjwvc3Bhbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpZWxkIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5hZGRlZDwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXBkYXRlIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VVNCXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhvc3RJbml0KDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VVNCX0RldkluaXQ8L3NwYW4+PC9zcGFuPigpCiAKIAogCiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9ucyB0byBzdXBwb3J0IHRoZSBWQlVTCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTZW5zaW5nIEIgYWN0aXZhdGlvbjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTZW5zaW5nIEIgYWN0aXZhdGlvbjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1hcmdpbi1yaWdodDo1MDAuMHB0O2JhY2tncm91bmQ6IzMzNjZGRjstbW96LWJhY2tncm91bmQtY2xpcDoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluaXRpYWw7IC1tb3otYmFja2dyb3VuZC1vcmlnaW46Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbml0aWFsOy1tb3otYmFja2dyb3VuZC1pbmxpbmUtcG9saWN5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5pdGlhbDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb24teDowJTtiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA1MCU7YmFja2dyb3VuZC1hdHRhY2htZW50OiBzY3JvbGwiPjxmb250Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yPSIjZmZmZmZmIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0FyaWFsJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDMgc3R5bGU9ImJhY2tncm91bmQ6IHJnYig1MSwgMTAyLCAyNTUpIG5vbmUgcmVwZWF0IHNjcm9sbCAwJSA1MCU7IC1tb3otYmFja2dyb3VuZC1jbGlwOiAtbW96LWluaXRpYWw7IC1tb3otYmFja2dyb3VuZC1vcmlnaW46IC1tb3otaW5pdGlhbDsgLW1vei1iYWNrZ3JvdW5kLWlubGluZS1wb2xpY3k6IC1tb3otaW5pdGlhbDsgbWFyZ2luLXJpZ2h0OiA1MDBwdDsiPjxmb250IGNvbG9yPSIjZmZmZmZmIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7QXJpYWwmcXVvdDssc2Fucy1zZXJpZjsiPlYxLjIuMAogCiAKIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90Oztjb2xvcjp3aGl0ZSI+VjEuMi4wCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyAyNi1EZWNlbWJlci0yMDE0PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2ZvbnQ+PC9oMz4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1hcmdpbi10b3A6NC41cHQ7bWFyZ2luLXJpZ2h0OjBpbjttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bWFyZ2luLWxlZnQ6LjI1aW4iPjxiPjx1PjxzcGFuCi1zdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseToKLSZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjpibGFjayI+TWFpbiBDaGFuZ2VzPC9zcGFuPjwvdT48L2I+PG86cD48L286cD48L3A+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibWFyZ2luLXRvcDowaW47dGV4dC1hbGlnbjpzdGFydDt3b3JkLXNwYWNpbmc6MHB4IgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsODQgbGV2ZWwxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzk4O3RhYi1zdG9wczpsaXN0IC41aW4iPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+TWFpbnRlbmFuY2UKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvIDI2LURlY2VtYmVyLTIwMTQ8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9mb250PjwvaDM+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbjogNC41cHQgMGluIDQuNXB0IDAuMjVpbjsiPjxiPjx1PjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7IGNvbG9yOiBibGFjazsiPk1haW4gQ2hhbmdlczwvc3Bhbj48L3U+PC9iPjxvOnA+PC9vOnA+PC9wPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyB0ZXh0LWFsaWduOiBzdGFydDsgd29yZC1zcGFjaW5nOiAwcHg7IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5NYWludGVuYW5jZQogCiAKIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVsZWFzZSB0byBmaXgga25vd24gZGVmZWN0cwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIGVuaGFuY2VtZW50cyA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+aW1wbGVtZW50YXRpb248L3NwYW4+PC9zcGFuPjwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgZW5oYW5jZW1lbnRzIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5pbXBsZW1lbnRhdGlvbjwvc3Bhbj48L3NwYW4+PC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDExNyBsZXZlbDEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvOTk7dGFiLXN0b3BzOmxpc3QgLjVpbiI+PGI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij5NYWNyb3MKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPk1hY3JvcwogCiAKIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIGxpdGVyYWxzIHJlbmFtaW5nIHRvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbnN1cmUgY29tcGF0aWJsZXMgYWNyb3NzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTVE0zMiBzZXJpZXM8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTVE0zMiBzZXJpZXM8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja3dhcmQgY29tcGF0aWJpbGl0eQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1haW50YWluZWQgdGhhbmtzIHRvIG5ldyBhZGRlZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGUgPGk+c3RtMzJfaGFsX2xlZ2FjeS5oIDwvaT51bmRlcgogCiAKIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC9JbmMvPHNwYW4gY2xhc3M9ImdyYW1lIj48aT48c3Bhbgotc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+TGVnYWN5PC9zcGFuPjwvaT48L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxMTcgbGV2ZWwxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzk5O3RhYi1zdG9wczpsaXN0IC41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij5BZGQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvSW5jLzxzcGFuIGNsYXNzPSJncmFtZSI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5MZWdhY3k8L3NwYW4+PC9pPjwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi5jaG0gVU0gZm9yIGFsbCBkcml2ZXJzLCBhIFVNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXMgcHJvdmlkZWQgZm9yIGVhY2ggc3VwZXJzZXQgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+UlBOPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpcyBwcm92aWRlZCBmb3IgZWFjaCBzdXBlcnNldCA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+UlBOPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXBkYXRlCiAKIAogCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxMTcgbGV2ZWwxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzk5O3RhYi1zdG9wczpsaXN0IC41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij5VcGRhdGUKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkcml2ZXJzIHRvIGJlIEMrKyA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5jb21wbGlhbnQ8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+IDxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDExNyBsZXZlbDEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvOTk7dGFiLXN0b3BzOmxpc3QgLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPlNldmVyYWwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkcml2ZXJzIHRvIGJlIEMrKyA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Y29tcGxpYW50PC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9IiI+IDxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlNldmVyYWwKIAogCiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGUgb24gc291cmNlIGNvZGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtYXR0aW5nLCBmb3IgYmV0dGVyIFVNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2VuZXJhdGlvbiAoPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+aS5lLjwvc3Bhbj48L3NwYW4+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+RG94eWdlbjwvc3Bhbj48L3NwYW4+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFncyB1cGRhdGVkKTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTE3IGxldmVsMQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm85OTt0YWItc3RvcHM6bGlzdCAuNWluIj48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPlR3bworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdlbmVyYXRpb24gKDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5pLmUuPC9zcGFuPjwvc3Bhbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkRveHlnZW48L3NwYW4+PC9zcGFuPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhZ3MgdXBkYXRlZCk8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VHdvCiAKIAogCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFuZ2VzIGRvbmUgb24gdGhlIEhBTAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZXMgYW4gdXBkYXRlIG9uIHRoZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXBwbGljYXRpb24gY29kZSBiYXNlZCBvbiBIQUwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFYxLjEuMDwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxMTcgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvOTk7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxpPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkxTSV9WQUxVRTwvc3Bhbj48L2k+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+IGNvbnN0YW50IGhhcworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVjEuMS4wPC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkxTSV9WQUxVRTwvc3Bhbj48L2k+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPiBjb25zdGFudCBoYXMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJlZW4gY29ycmVjdGVkIGluCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdG0zMmY0eHhfaGFsX2NvbmYuaCBmaWxlLCBpdHMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGNoYW5nZWQgZnJvbSA0MCA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPktIejwvc3Bhbj48L3NwYW4+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0byAzMiA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuCi1zdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5LSHo8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDExNyBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm85OTt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PGk+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+VUFSVDwvc3Bhbj48L2k+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+LCA8aT5VU0FSVDwvaT4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBjaGFuZ2VkIGZyb20gNDAgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5LSHo8L3NwYW4+PC9zcGFuPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gMzIgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPktIejwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48aT48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VUFSVDwvc3Bhbj48L2k+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPiwgPGk+VVNBUlQ8L2k+LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGk+SVJEQTwvaT4gYW5kIDxpPlNNQVJUQ0FSRAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9pPihyZWZlcmVuY2VkIGFzIDxpPlBQUDwvaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlcmUgYmVsb3cpPGk+IDwvaT5kcml2ZXJzOgpAQCAtNDMyMTQsMzc2ICs4OTE2LDgzIEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJU1IsIDxpPlBQUDwvaT4gVEMgaW50ZXJydXB0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpcyB1c2VkIGluc3RlYWQuIEJlbG93IHRoZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlIHRvIGJlIGRvbmUgb24gdXNlcgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXBwbGljYXRpb246PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxMTcgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm85OTt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+Q29uZmlndXJlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcHBsaWNhdGlvbjo8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Q29uZmlndXJlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCBlbmFibGUgdGhlIFVTQVJUIElSUSBpbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX1BQUF88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+TXNwSW5pdCg8L3NwYW4+PC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb248L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTE3IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvOTk7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfUFBQXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPk1zcEluaXQoPC9zcGFuPjwvc3Bhbj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5JbgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdG0zMmY0eHhfaXQuYyBmaWxlLCA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlBQUF88L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5JUlFIYW5kbGVyKDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbjogYWRkIGEgY2FsbCB0byA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9QUFBfSVJRSGFuZGxlcjwvc3Bhbj48L3NwYW4+KCkKIAogCiAKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkluCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0bTMyZjR4eF9pdC5jIGZpbGUsIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPlBQUF88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SVJRSGFuZGxlcig8L3NwYW4+PC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb246IGFkZCBhIGNhbGwgdG8gPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5IQUxfUFBQX0lSUUhhbmRsZXI8L3NwYW4+PC9zcGFuPigpCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDExMiBsZXZlbDEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTAwO3RhYi1zdG9wczpsaXN0IC41aW4iPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKIAogCiAKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij5IQUwKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdlbmVyaWM8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2VuZXJpYzwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw2NSBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMDE7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPnN0bTMyZjR4eF9oYWxfZGVmLmg8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDY1IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTAxO3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5VcGRhdGUgTlVMTAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5zdG0zMmY0eHhfaGFsX2RlZi5oPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZSBOVUxMCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmluaXRpb24gdG8gZml4IEMrKwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21waWxhdGlvbiA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+aXNzdWU8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw2NSBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzEwMTt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+QWRkJm5ic3A7PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5VTlVTRUQoPC9zcGFuPjwvc3Bhbj4pCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hY3JvPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0bzttc28tbGlzdDpsNjUKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsMyBsZm8xMDE7dGFiLXN0b3BzOiBsaXN0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkFkZCBhIG5ldworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21waWxhdGlvbiA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+aXNzdWU8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkJm5ic3A7PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVOVVNFRCg8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFjcm88L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQgYSBuZXcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmaW5lIF9fTk9JTkxJTkUgdG8gYmUgdXNlZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgdGhlJm5ic3A7bm8gaW5saW5lIGNvZGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5kZXBlbmRlbnQgZnJvbSB0b29sIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+Y2hhaW48L3NwYW4+PC9zcGFuPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluZGVwZW5kZW50IGZyb20gdG9vbCA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Y2hhaW48L3NwYW4+PC9zcGFuPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDY1IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzEwMTt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+c3RtMzJmNHh4X2hhbF9jb25mX3RlbXBsYXRlLmg8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDY1IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTAxO3RhYi1zdG9wczpsaXN0IDEuNWluIj48aT48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5MU0lfVkFMVUU8L3NwYW4+PC9pPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPiBjb25zdGFudAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYXMgYmVlbiA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPmNvcnJlY3RlZCw8L3NwYW4+PC9zcGFuPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdHMgdmFsdWUgY2hhbmdlZCBmcm9tIDQwIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPktIejwvc3Bhbj48L3NwYW4+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvIDMyIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi1zdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5LSHo8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnN0bTMyZjR4eF9oYWxfY29uZl90ZW1wbGF0ZS5oPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkxTSV9WQUxVRTwvc3Bhbj48L2k+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPiBjb25zdGFudAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYXMgYmVlbiA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Y29ycmVjdGVkLDwvc3Bhbj48L3NwYW4+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0cyB2YWx1ZSBjaGFuZ2VkIGZyb20gNDAgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5LSHo8L3NwYW4+PC9zcGFuPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0byAzMiA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPktIejwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxMjggbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTAyO3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5VcGRhdGUgYWxsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZSBhbGwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hY3JvcyBhbmQgbGl0ZXJhbHMgbmFtaW5nIHRvCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZSA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPnVwZXI8L3NwYW4+PC9zcGFuPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPmNhc2U8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDEyOCBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMDI7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+RXJyb3JDb2RlPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4gcGFyYW1ldGVyIGluCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPlBQUF9IYW5kbGVUeXBlRGVmPC9zcGFuPjwvc3Bhbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJlIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBlcjwvc3Bhbj48L3NwYW4+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Y2FzZTwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RXJyb3JDb2RlPC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+IHBhcmFtZXRlciBpbgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5QUFBfSGFuZGxlVHlwZURlZjwvc3Bhbj48L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3R1cmUgdXBkYXRlZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG8mbmJzcDt1aW50MzJfdCBpbnN0ZWFkCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvZiZuYnNwOzxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi1zdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5lbnVtPC9zcGFuPjwvc3Bhbj4gPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PGk+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkhBTF9QUFBfRXJyb3JUeXBlRGVmPC9zcGFuPjwvaT48L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9mJm5ic3A7PHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5lbnVtPC9zcGFuPjwvc3Bhbj4gPHNwYW4gY2xhc3M9InNwZWxsZSI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfUFBQX0Vycm9yVHlwZURlZjwvc3Bhbj48L2k+PC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlJlbW92ZSZuYnNwO3RoZQogCiAKIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxMjggbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTAyO3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5SZW1vdmUmbmJzcDt0aGUKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVudXNlZCBGTEFHIGFuZCBJVCBhc3NlcnQgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPm1hY3Jvczwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVudXNlZCBGTEFHIGFuZCBJVCBhc3NlcnQgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPm1hY3Jvczwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxMjggbGV2ZWwxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzEwMjt0YWItc3RvcHM6bGlzdCAuNWluIj48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKIAogCiAKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij5IQUwKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFEQyZuYnNwOzwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPnVwZGF0ZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBREMmbmJzcDs8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG87bXNvLWxpc3Q6bDEyOAotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsMiBsZm8xMDI7dGFiLXN0b3BzOiBsaXN0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5GaXgmbmJzcDt0ZW1wZXJhdHVyZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5GaXgmbmJzcDt0ZW1wZXJhdHVyZQogCiAKIAogCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZW5zb3IgY2hhbm5lbCBjb25maWd1cmF0aW9uCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc3N1ZSBmb3IgU1RNMzJGNDI3LzQzNzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj54eAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNzdWUgZm9yIFNUTTMyRjQyNy80Mzc8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+eHgKIAogCiAKQEAgLTQzNTkyLDM3MjMgKzkwMDEsNzAxIEBACiAKIAogCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXZpY2VzPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRldmljZXM8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDEyOCBsZXZlbDEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTAyO3RhYi1zdG9wczpsaXN0IC41aW4iPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAogCiAKIAotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPkhBTAotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgREFDIDwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPnVwZGF0ZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERBQyA8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG87bXNvLWxpc3Q6bDEyOAotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsMiBsZm8xMDI7dGFiLXN0b3BzOiBsaXN0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMS4waW4iPjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5IQUxfREFDXzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkNvbmZpZ0NoYW5uZWwoPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4pOiB1cGRhdGUgdGhlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyI+PHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9EQUNfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5Db25maWdDaGFubmVsKDwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPik6IHVwZGF0ZSB0aGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjY2VzcyB0byB0aGUgREFDIHBlcmlwaGVyYWwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZ2lzdGVycyB2aWEgdGhlIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+aGRhYzwvc3Bhbj48L3NwYW4+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGUgaW5zdGFuY2U8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxMjggbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTAyO3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkhBTF9EQUNfPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SVJRSGFuZGxlcig8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPik6IHVwZGF0ZSB0bworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVnaXN0ZXJzIHZpYSB0aGUgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5oZGFjPC9zcGFuPjwvc3Bhbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZSBpbnN0YW5jZTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9EQUNfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5JUlFIYW5kbGVyKDwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPik6IHVwZGF0ZSB0bwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hlY2sgb24gYm90aCBEQUNfRkxBR19ETUFVRFIxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgREFDX0ZMQUdfRE1BVURSMjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDEyOCBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMDI7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SEFMX0RBQ0V4Xzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPk5vaXNlV2F2ZUdlbmVyYXRlKDwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+KTogdXBkYXRlIHRvCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgREFDX0ZMQUdfRE1BVURSMjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9EQUNFeF88L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPk5vaXNlV2F2ZUdlbmVyYXRlKDwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPik6IHVwZGF0ZSB0bwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzZXQgREFDIENSIHJlZ2lzdGVyIGJlZm9yZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0dGluZyB0aGUgbmV3IERBQwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhdGlvbjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDEyOCBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMDI7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SEFMX0RBQ0V4Xzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlRyaWFuZ2xlV2F2ZUdlbmVyYXRlKDwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+KTogdXBkYXRlIHRvCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25maWd1cmF0aW9uPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX0RBQ0V4Xzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VHJpYW5nbGVXYXZlR2VuZXJhdGUoPC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+KTogdXBkYXRlIHRvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNldCBEQUMgQ1IgcmVnaXN0ZXIgYmVmb3JlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXR0aW5nIHRoZSBuZXcgREFDCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25maWd1cmF0aW9uPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYXRpb248L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDEyOCBsZXZlbDEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTAyO3RhYi1zdG9wczpsaXN0IC41aW4iPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAogCiAKIAotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPkhBTAotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ0FOJm5ic3A7PC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+dXBkYXRlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENBTiZuYnNwOzwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0bzttc28tbGlzdDpsMTI4Ci0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWwyIGxmbzEwMjt0YWItc3RvcHM6IGxpc3QKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlVubG9jayB0aGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VW5sb2NrIHRoZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ0FOIHByb2Nlc3Mgd2hlbiBjb21tdW5pY2F0aW9uCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJvciA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+b2NjdXJyZWQ8L3NwYW4+PC9zcGFuPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJvciA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+b2NjdXJyZWQ8L3NwYW4+PC9zcGFuPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxMjggbGV2ZWwxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzEwMjt0YWItc3RvcHM6bGlzdCAuNWluIj48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKIAogCiAKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij5IQUwKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENPUlRFWCZuYnNwOzwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPnVwZGF0ZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxMjggbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTAyO3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5BZGQgbmV3IG1hY3JvCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aT5JU19OVklDX0RFVklDRV88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPklSUSg8L3NwYW4+PC9zcGFuPik8L2k+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDT1JURVgmbmJzcDs8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQgbmV3IG1hY3JvCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aT5JU19OVklDX0RFVklDRV88c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SVJRKDwvc3Bhbj48L3NwYW4+KTwvaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvIGNoZWNrIG9uIG5lZ2F0aXZlIHZhbHVlcyBvZgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5JUlFuPC9zcGFuPjwvc3Bhbj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtZXRlcjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPklSUW48L3NwYW4+PC9zcGFuPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1ldGVyPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9Ik1zb0xpc3RQYXJhZ3JhcGgiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibWFyZ2luLWxlZnQ6LjVpbjt0ZXh0LWluZGVudDotLjI1aW47Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YWItc3RvcHM6bGlzdCAuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDttc28tYmlkaS1mb250LXNpemU6Ci0xMi4wcHQ7Zm9udC1mYW1pbHk6V2luZ2RpbmdzO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OldpbmdkaW5nczsKLW1zby1iaWRpLWZvbnQtZmFtaWx5OldpbmdkaW5ncztjb2xvcjpibGFjayI+pzwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjcuMHB0O21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OldpbmdkaW5ncztjb2xvcjpibGFjayI+Jm5ic3A7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9Ik1zb0xpc3RQYXJhZ3JhcGgiIHN0eWxlPSJtYXJnaW4tbGVmdDogMC41aW47IHRleHQtaW5kZW50OiAtMC4yNWluOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6IFdpbmdkaW5nczsgY29sb3I6IGJsYWNrOyI+pzwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiA3cHQ7IGNvbG9yOiBibGFjazsiPiZuYnNwOwogCiAKIAogCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+PGI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6YmxhY2siPkhBTCBDUllQJm5ic3A7PC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOmJsYWNrIj51cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw5MCBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMDM7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SEFMX0NSWVBfREVTRUNCX0RlY3J5cHRfPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+RE1BKDwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+KTogZml4IHRoZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW52ZXJ0ZWQgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4KLXN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPnBQbGFpbkRhdGE8L3NwYW4+PC9zcGFuPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi1zdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5wQ3lwaGVyRGF0YTwvc3Bhbj48L3NwYW4+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJhbWV0ZXJzIGlzc3VlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsOTAgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTAzO3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkNSWVBFeF9HQ01DQ01fPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+U2V0SW5pdFZlY3Rvcig8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPik6IHJlbW92ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlJm5ic3A7PHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4KLXN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPklWU2l6ZTwvc3Bhbj48L3NwYW4+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsgY29sb3I6IGJsYWNrOyI+SEFMIENSWVAmbmJzcDs8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7IGNvbG9yOiBibGFjazsiPnVwZGF0ZTwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6IGJsYWNrOyI+PG86cD48L286cD48L3NwYW4+PC9wPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfQ1JZUF9ERVNFQ0JfRGVjcnlwdF88L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkRNQSg8L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4pOiBmaXggdGhlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnZlcnRlZCA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnBQbGFpbkRhdGE8L3NwYW4+PC9zcGFuPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+cEN5cGhlckRhdGE8L3NwYW4+PC9zcGFuPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1ldGVycyBpc3N1ZTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkNSWVBFeF9HQ01DQ01fPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5TZXRJbml0VmVjdG9yKDwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPik6IHJlbW92ZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlJm5ic3A7PHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5JVlNpemU8L3NwYW4+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1ldGVyIGFzIHRoZSBrZXkgbGVuZ3RoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxOTJiaXRzIGFuZCAyNTZiaXRzIGFyZSBub3QKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1cHBvcnRlZCBieSB0aGlzIHZlcnNpb248L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw5MCBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMDM7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkFkZCZuYnNwO3Jlc3RyaWN0aW9uJm5ic3A7Zm9yCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdXBwb3J0ZWQgYnkgdGhpcyB2ZXJzaW9uPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkJm5ic3A7cmVzdHJpY3Rpb24mbmJzcDtmb3IKIAogCiAKIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIENDTSBFbmNyeXB0L0RlY3J5cHQgQVBJJ3MKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQ8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJvbWFuJnF1b3Q7O2NvbG9yOnJlZCI+IDwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+b25seSA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkRhdGFUeXBlPC9zcGFuPjwvc3Bhbj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVxdWFsIHRvIDhiaXRzIGlzIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5zdXBwb3J0ZWQ8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDkwIGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzEwMzt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5IQUxfQ1JZUEV4X0FFU0dDTV88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5GaW5pc2goPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4pOjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsOTAgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMDM7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkFkZCZuYnNwO3Jlc3RyaWN0aW9uCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGF0PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4gPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5vbmx5IDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RGF0YVR5cGU8L3NwYW4+PC9zcGFuPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXF1YWwgdG8gOGJpdHMgaXMgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnN1cHBvcnRlZDwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX0NSWVBFeF9BRVNHQ01fPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5GaW5pc2goPC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+KTo8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkJm5ic3A7cmVzdHJpY3Rpb24KIAogCiAKIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGF0IHRoZSBpbXBsZW1lbnRhdGlvbiBpcwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW1pdGVkIHRvIDMyYml0cyBpbnB1dHMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YSA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuCi1zdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5sZW5ndGgmbmJzcDsgKDwvc3Bhbj48L3NwYW4+UGxhaW4vQ3lwaGVydGV4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YSA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+bGVuZ3RoJm5ic3A7ICg8L3NwYW4+PC9zcGFuPlBsYWluL0N5cGhlcnRleHQsCiAKIAogCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhlYWRlcikgY29tcGFyZWQgd2l0aCBHQ00gPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+c3RhZGFyZHM8L3NwYW4+PC9zcGFuPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcGVjaWZpY2F0aW9ucyAoODAwLTM4RCk8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsOTAgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMDM7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlVwZGF0ZSBTaXplCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhlYWRlcikgY29tcGFyZWQgd2l0aCBHQ00gPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5zdGFkYXJkczwvc3Bhbj48L3NwYW4+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNwZWNpZmljYXRpb25zICg4MDAtMzhEKTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXBkYXRlIFNpemUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1ldGVyIG9uIDMyYml0cyBpbnN0ZWFkCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9mIDE2Yml0czwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsOTAgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMDM7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkZpeCBpc3N1ZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvZiAxNmJpdHM8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkZpeCBpc3N1ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aXRoIDE2LWJpdCBEYXRhIFR5cGU6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZSB0byB1c2UgaW50cmluc2ljIF9fPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5ST1IoPC9zcGFuPjwvc3Bhbj4pCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluc3RlYWQgb2YgX19SRVYxNigpPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZSB0byB1c2UgaW50cmluc2ljIF9fPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlJPUig8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5zdGVhZCBvZiBfX1JFVjE2KCk8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iTXNvTGlzdFBhcmFncmFwaCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtYXJnaW4tbGVmdDouNWluO3RleHQtaW5kZW50Oi0uMjVpbjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhYi1zdG9wczpsaXN0IC41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O21zby1iaWRpLWZvbnQtc2l6ZToKLTEyLjBwdDtmb250LWZhbWlseTpXaW5nZGluZ3M7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6V2luZ2RpbmdzOwotbXNvLWJpZGktZm9udC1mYW1pbHk6V2luZ2RpbmdzO2NvbG9yOmJsYWNrIj6nPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6Ny4wcHQ7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6V2luZ2RpbmdzO2NvbG9yOmJsYWNrIj4mbmJzcDsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iTXNvTGlzdFBhcmFncmFwaCIgc3R5bGU9Im1hcmdpbi1sZWZ0OiAwLjVpbjsgdGV4dC1pbmRlbnQ6IC0wLjI1aW47Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogV2luZ2RpbmdzOyBjb2xvcjogYmxhY2s7Ij6nPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDdwdDsgY29sb3I6IGJsYWNrOyI+Jm5ic3A7CiAKIAogCiAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjpibGFjayI+SEFMIERDTUkgPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOmJsYWNrIj51cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsgY29sb3I6IGJsYWNrOyI+SEFMIERDTUkgPC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyBjb2xvcjogYmxhY2s7Ij51cGRhdGU8L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOiBibGFjazsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgdHlwZT0ic3F1YXJlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG87bXNvLWxpc3Q6bDUzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWwyIGxmbzEwNDt0YWItc3RvcHM6IGxpc3QKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLjBpbiI+PHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkhBTF9EQ01JXzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkNvbmZpZ0NST1AoPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4pOiBJbnZlcnQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7Ij48c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX0RDTUlfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5Db25maWdDUk9QKDwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPik6IEludmVydAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXNzZXJ0IG1hY3JvcyB0byBjaGVjayBZMCBhbmQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+WXNpemU8L3NwYW4+PC9zcGFuPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1ldGVyczwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPllzaXplPC9zcGFuPjwvc3Bhbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtZXRlcnM8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iTXNvTGlzdFBhcmFncmFwaCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtYXJnaW4tbGVmdDouNWluO3RleHQtaW5kZW50Oi0uMjVpbjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhYi1zdG9wczpsaXN0IC41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O21zby1iaWRpLWZvbnQtc2l6ZToKLTEyLjBwdDtmb250LWZhbWlseTpXaW5nZGluZ3M7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6V2luZ2RpbmdzOwotbXNvLWJpZGktZm9udC1mYW1pbHk6V2luZ2RpbmdzO2NvbG9yOmJsYWNrIj6nPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6Ny4wcHQ7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6V2luZ2RpbmdzO2NvbG9yOmJsYWNrIj4mbmJzcDsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iTXNvTGlzdFBhcmFncmFwaCIgc3R5bGU9Im1hcmdpbi1sZWZ0OiAwLjVpbjsgdGV4dC1pbmRlbnQ6IC0wLjI1aW47Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogV2luZ2RpbmdzOyBjb2xvcjogYmxhY2s7Ij6nPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDdwdDsgY29sb3I6IGJsYWNrOyI+Jm5ic3A7CiAKIAogCiAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjpibGFjayI+SEFMIERNQSA8L3NwYW4+PC9iPjxzcGFuCi1zdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseToKLSZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjpibGFjayI+dXBkYXRlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjayI+PG86cD48L286cD48L3NwYW4+PC9wPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7IGNvbG9yOiBibGFjazsiPkhBTCBETUEgPC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyBjb2xvcjogYmxhY2s7Ij51cGRhdGU8L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOiBibGFjazsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgdHlwZT0ic3F1YXJlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG87bXNvLWxpc3Q6bDQyCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWwyIGxmbzEwNTt0YWItc3RvcHM6IGxpc3QKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLjBpbiI+PHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkhBTF9ETUFfPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SW5pdCg8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPik6Jm5ic3A7VXBkYXRlJm5ic3A7dG8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7Ij48c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX0RNQV88L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkluaXQoPC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+KTombmJzcDtVcGRhdGUmbmJzcDt0bwogCiAKIAogCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGVhciZuYnNwO3RoZSBEQk0gYml0IGluIHRoZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5TeENSPC9zcGFuPjwvc3Bhbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+U3hDUjwvc3Bhbj48L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWdpc3RlciBiZWZvcmUgc2V0dGluZyB0aGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ldyBjb25maWd1cmF0aW9uPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNDIgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTA1O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkRNQV88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5TZXRDb25maWcoPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4pOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3IGNvbmZpZ3VyYXRpb248L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5ETUFfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5TZXRDb25maWcoPC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+KToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkZCZuYnNwO3RvIGNsZWFyJm5ic3A7dGhlIERCTQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYml0IGluIHRoZSA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPlN4Q1I8L3NwYW4+PC9zcGFuPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVnaXN0ZXI8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYml0IGluIHRoZSA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlN4Q1I8L3NwYW4+PC9zcGFuPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVnaXN0ZXI8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iTXNvTGlzdFBhcmFncmFwaCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtYXJnaW4tbGVmdDouNWluO3RleHQtaW5kZW50Oi0uMjVpbjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhYi1zdG9wczpsaXN0IC41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O21zby1iaWRpLWZvbnQtc2l6ZToKLTEyLjBwdDtmb250LWZhbWlseTpXaW5nZGluZ3M7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6V2luZ2RpbmdzOwotbXNvLWJpZGktZm9udC1mYW1pbHk6V2luZ2RpbmdzO2NvbG9yOmJsYWNrIj6nPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6Ny4wcHQ7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6V2luZ2RpbmdzO2NvbG9yOmJsYWNrIj4mbmJzcDsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iTXNvTGlzdFBhcmFncmFwaCIgc3R5bGU9Im1hcmdpbi1sZWZ0OiAwLjVpbjsgdGV4dC1pbmRlbnQ6IC0wLjI1aW47Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogV2luZ2RpbmdzOyBjb2xvcjogYmxhY2s7Ij6nPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDdwdDsgY29sb3I6IGJsYWNrOyI+Jm5ic3A7CiAKIAogCiAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjpibGFjayI+SEFMIEZMQVNIIDwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjpibGFjayI+dXBkYXRlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjayI+PG86cD48L286cD48L3NwYW4+PC9wPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNDcgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTA2O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5BZGQgIkhBTF8iCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsgY29sb3I6IGJsYWNrOyI+SEFMIEZMQVNIIDwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsgY29sb3I6IGJsYWNrOyI+dXBkYXRlPC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjogYmxhY2s7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L3A+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZCAiSEFMXyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByZWZpeCBpbiB0aGUgZGVmaW5lZCB2YWx1ZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciB0aGUgRkxBU0ggZXJyb3IgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPmNvZGU8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNDcgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMDY7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkV4YW1wbGU6Jm5ic3A7PGk+RkxBU0hfRVJST1JfUEdQPC9pPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZW5hbWVkIGJ5Jm5ic3A7PGI+PGk+SEFMXzwvaT48L2I+PGk+RkxBU0hfRVJST1JfUEdQPC9pPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIHRoZSBGTEFTSCBlcnJvciA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Y29kZTwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkV4YW1wbGU6Jm5ic3A7PGk+RkxBU0hfRVJST1JfUEdQPC9pPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZW5hbWVkIGJ5Jm5ic3A7PGI+PGk+SEFMXzwvaT48L2I+PGk+RkxBU0hfRVJST1JfUEdQPC9pPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw0NyBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMDY7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Q2xlYXImbmJzcDt0aGUKIAogCiAKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+Q2xlYXImbmJzcDt0aGUKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZsYXNoIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi1zdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5FcnJvckNvZGU8L3NwYW4+PC9zcGFuPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gdGhlIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi1zdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5GTEFTSF88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5XYWl0Rm9yTGFzdE9wZXJhdGlvbig8L3NwYW4+PC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNDcgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTA2O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5VcGRhdGUgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5GTEFTSF88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5TZXRFcnJvckNvZGUoPC9zcGFuPjwvc3Bhbj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGbGFzaCA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkVycm9yQ29kZTwvc3Bhbj48L3NwYW4+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiB0aGUgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5GTEFTSF88L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5XYWl0Rm9yTGFzdE9wZXJhdGlvbig8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXBkYXRlIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RkxBU0hfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+U2V0RXJyb3JDb2RlKDwvc3Bhbj48L3NwYW4+KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gdG8gdXNlJm5ic3A7Inw9IgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BlcmFudCB0byB1cGRhdGUgdGhlIEZsYXNoIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+RXJyb3JDb2RlPC9zcGFuPjwvc3Bhbj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtZXRlciBpbiB0aGUgRkxBU0ggaGFuZGxlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNDcgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTA2O3RhYi1zdG9wczpsaXN0IDEuMGluIj48aT48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5JU19GTEFTSF88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkFERFJFU1MoPC9zcGFuPjwvc3Bhbj4pPC9zcGFuPjwvaT48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij46IFVwZGF0ZSB0aGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wZXJhbnQgdG8gdXBkYXRlIHRoZSBGbGFzaCA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkVycm9yQ29kZTwvc3Bhbj48L3NwYW4+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJhbWV0ZXIgaW4gdGhlIEZMQVNIIGhhbmRsZTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPklTX0ZMQVNIXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BRERSRVNTKDwvc3Bhbj48L3NwYW4+KTwvc3Bhbj48L2k+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPjogVXBkYXRlIHRoZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFjcm8gY2hlY2sgdXNpbmcmbmJzcDsnJmx0Oz0nCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25kaXRpb24gaW5zdGVhZCBvZiAnJmx0Oyc8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw0NyBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMDY7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxpPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPklTXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+T1BUSU9OQllURSg8L3NwYW4+PC9zcGFuPik8L3NwYW4+PC9pPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjogVXBkYXRlIHRoZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uZGl0aW9uIGluc3RlYWQgb2YgJyZsdDsnPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48aT48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SVNfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPk9QVElPTkJZVEUoPC9zcGFuPjwvc3Bhbj4pPC9zcGFuPjwvaT48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+OiBVcGRhdGUgdGhlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWNybyBjaGVjayB1c2luZyZuYnNwOycmbHQ7PScKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbmRpdGlvbiBpbnN0ZWFkIG9mICcmbHQ7Jzwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDQ3IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzEwNjt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+QWRkJm5ic3A7IkZMQVNIXyIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbmRpdGlvbiBpbnN0ZWFkIG9mICcmbHQ7Jzwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZCZuYnNwOyJGTEFTSF8iCiAKIAogCiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByZWZpeCBpbiB0aGUgZGVmaW5lZCB2YWx1ZXMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9mIEZMQVNIIFR5cGUgUHJvZ3JhbQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1ldGVyPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw0NyBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzEwNjt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+RXhhbXBsZTombmJzcDs8aT5UWVBFUFJPR1JBTV9CWVRFPC9pPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZW5hbWVkIGJ5IDxiPjxpPkZMQVNIXzwvaT48L2I+PGk+VFlQRVBST0dSQU1fQllURTwvaT48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtZXRlcjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5FeGFtcGxlOiZuYnNwOzxpPlRZUEVQUk9HUkFNX0JZVEU8L2k+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbmFtZWQgYnkgPGI+PGk+RkxBU0hfPC9pPjwvYj48aT5UWVBFUFJPR1JBTV9CWVRFPC9pPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw0NyBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMDY7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkFkZCZuYnNwOyJGTEFTSF8iCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkJm5ic3A7IkZMQVNIXyIKIAogCiAKIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJlZml4IGluIHRoZSBkZWZpbmVkIHZhbHVlcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2YgRkxBU0ggVHlwZSBFcmFzZSBwYXJhbWV0ZXI8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDQ3IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTA2O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5FeGFtcGxlOiZuYnNwOzxpPlRZUEVFUkFTRV9TRUNUT1JTPC9pPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZW5hbWVkIGJ5IDxiPjxpPkZMQVNIXzwvaT48L2I+PGk+VFlQRUVSQVNFX1NFQ1RPUlM8L2k+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvZiBGTEFTSCBUeXBlIEVyYXNlIHBhcmFtZXRlcjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5FeGFtcGxlOiZuYnNwOzxpPlRZUEVFUkFTRV9TRUNUT1JTPC9pPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZW5hbWVkIGJ5IDxiPjxpPkZMQVNIXzwvaT48L2I+PGk+VFlQRUVSQVNFX1NFQ1RPUlM8L2k+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDQ3IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzEwNjt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+QWRkJm5ic3A7IkZMQVNIXyIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQmbmJzcDsiRkxBU0hfIgogCiAKIAogCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmVmaXggaW4gdGhlIGRlZmluZWQgdmFsdWVzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvZiBGTEFTSCBWb2x0YWdlIFJhbmdlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJhbWV0ZXI8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDQ3IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTA2O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5FeGFtcGxlOiA8aT5WT0xUQUdFX1JBTkdFXzE8L2k+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbmFtZWQgYnkgPGI+PGk+RkxBU0hfPC9pPjwvYj48aT5WT0xUQUdFX1JBTkdFXzE8L2k+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJhbWV0ZXI8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RXhhbXBsZTogPGk+Vk9MVEFHRV9SQU5HRV8xPC9pPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZW5hbWVkIGJ5IDxiPjxpPkZMQVNIXzwvaT48L2I+PGk+Vk9MVEFHRV9SQU5HRV8xPC9pPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw0NyBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMDY7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkFkZCZuYnNwOyJPQl8iCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkJm5ic3A7Ik9CXyIKIAogCiAKIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJlZml4IGluIHRoZSBkZWZpbmVkIHZhbHVlcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2YgRkxBU0ggV1JQIFN0YXRlIHBhcmFtZXRlcjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNDcgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMDY7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkV4YW1wbGU6IDxpPldSUFNUQVRFX0VOQUJMRTwvaT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVuYW1lZCBieSA8Yj48aT5PQl88L2k+PC9iPjxpPldSUFNUQVRFX0VOQUJMRTwvaT48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9mIEZMQVNIIFdSUCBTdGF0ZSBwYXJhbWV0ZXI8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RXhhbXBsZTogPGk+V1JQU1RBVEVfRU5BQkxFPC9pPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZW5hbWVkIGJ5IDxiPjxpPk9CXzwvaT48L2I+PGk+V1JQU1RBVEVfRU5BQkxFPC9pPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw0NyBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMDY7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkFkZCZuYnNwOyJPQl8iCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkJm5ic3A7Ik9CXyIKIAogCiAKIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJlZml4IGluIHRoZSBkZWZpbmVkIHZhbHVlcwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2YgdGhlIEZMQVNIIFBDUk9QIFN0YXRlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJhbWV0ZXI8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDQ3IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTA2O3RhYi1zdG9wczpsaXN0IDEuNWluIj48aT48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5QQ1JPUFNUQVRFXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkRJU0FCTEU8L3NwYW4+PC9zcGFuPjwvc3Bhbj48L2k+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+Jm5ic3A7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlZDwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+IGJ5IDxiPjxpPk9CXzwvaT48L2I+PGk+UENST1A8Yj5fPC9iPlNUQVRFX0RJU0FCTEU8L2k+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDQ3IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTA2O3RhYi1zdG9wczpsaXN0IDEuNWluIj48aT48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5QQ1JPUFNUQVRFXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkVOQUJMRTwvc3Bhbj48L3NwYW4+PC9zcGFuPjwvaT48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbmJzcDt1cGRhdGVkPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4mbmJzcDtieSA8Yj48aT5PQl88L2k+PC9iPjxpPlBDUk9QPGI+XzwvYj5TVEFURV9FTkFCTEU8L2k+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJhbWV0ZXI8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48aT48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+UENST1BTVEFURV88c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RElTQUJMRTwvc3Bhbj48L3NwYW4+PC9zcGFuPjwvaT48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4mbmJzcDsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGVkPC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+IGJ5IDxiPjxpPk9CXzwvaT48L2I+PGk+UENST1A8Yj5fPC9iPlNUQVRFX0RJU0FCTEU8L2k+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxpPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5QQ1JPUFNUQVRFXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5FTkFCTEU8L3NwYW4+PC9zcGFuPjwvc3Bhbj48L2k+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJm5ic3A7dXBkYXRlZDwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPiZuYnNwO2J5IDxiPjxpPk9CXzwvaT48L2I+PGk+UENST1A8Yj5fPC9iPlNUQVRFX0VOQUJMRTwvaT48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNDcgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTA2O3RhYi1zdG9wczpsaXN0IDEuMGluIj48aT48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5DaGFuZ2UKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxpPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5DaGFuZ2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk9CRVgiIHByZWZpeCBieQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiT1BUSU9OQllURSIgcHJlZml4IGluIHRoZXNlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmluZXM6PC9zcGFuPjwvaT48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNDcgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMDY7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxpPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWZpbmVzOjwvc3Bhbj48L2k+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48aT48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+T0JFWF9QQ1JPUAogCiAKIAotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBieSBPUFRJT05CWVRFX1BDUk9QJm5ic3A7PC9zcGFuPjwvaT48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48aT48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+T0JFWF9CT09UQ09ORklHCiAKIAogCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5PQkVYX1BDUk9QCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnkgT1BUSU9OQllURV9QQ1JPUCZuYnNwOzwvc3Bhbj48L2k+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNDcgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMDY7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxpPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPk9CRVhfQk9PVENPTkZJRwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ5IE9QVElPTkJZVEVfQk9PVENPTkZJRzwvc3Bhbj48L2k+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBieSBPUFRJT05CWVRFX0JPT1RDT05GSUc8L3NwYW4+PC9pPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9Ik1zb0xpc3RQYXJhZ3JhcGgiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibWFyZ2luLWxlZnQ6LjVpbjt0ZXh0LWluZGVudDotLjI1aW47Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YWItc3RvcHM6bGlzdCAuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDttc28tYmlkaS1mb250LXNpemU6Ci0xMi4wcHQ7Zm9udC1mYW1pbHk6V2luZ2RpbmdzO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OldpbmdkaW5nczsKLW1zby1iaWRpLWZvbnQtZmFtaWx5OldpbmdkaW5ncztjb2xvcjpibGFjayI+pzwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjcuMHB0O21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OldpbmdkaW5ncztjb2xvcjpibGFjayI+Jm5ic3A7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9Ik1zb0xpc3RQYXJhZ3JhcGgiIHN0eWxlPSJtYXJnaW4tbGVmdDogMC41aW47IHRleHQtaW5kZW50OiAtMC4yNWluOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6IFdpbmdkaW5nczsgY29sb3I6IGJsYWNrOyI+pzwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiA3cHQ7IGNvbG9yOiBibGFjazsiPiZuYnNwOwogCiAKIAogCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+PGI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6YmxhY2siPkhBTCBFVEggPC9zcGFuPjwvYj48c3Bhbgotc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6Ci0mcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6YmxhY2siPnVwZGF0ZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2siPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDQzIGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzEwNzt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+Rml4IG1hY3JvcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtaW5nIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4KLXN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPnR5cG88L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsgY29sb3I6IGJsYWNrOyI+SEFMIEVUSCA8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7IGNvbG9yOiBibGFjazsiPnVwZGF0ZTwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6IGJsYWNrOyI+PG86cD48L286cD48L3NwYW4+PC9wPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5GaXggbWFjcm9zCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1pbmcgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnR5cG88L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iIHR5cGU9ImRpc2MiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0iZGlzYyI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0iZGlzYyI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOjQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWxpc3Q6bDEwMyBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzEwODt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+VXBkYXRlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fSEFMX0VUSF9FWFRJX1NFVF9SSVNJTkdfRTxiPkdEPC9iPkVfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5UUklHR0VSKDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iZGlzYyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9ImRpc2MiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9ImRpc2MiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX0hBTF9FVEhfRVhUSV9TRVRfUklTSU5HX0U8Yj5HRDwvYj5FXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5UUklHR0VSKDwvc3Bhbj48L3NwYW4+KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBieQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX0hBTF9FVEhfRVhUSV9TRVRfUklTSU5HX0U8Yj5ERzwvYj5FX1RSSUdHRVIoKTxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOjQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWxpc3Q6bDEwMyBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzEwODt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+VXBkYXRlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fSEFMX0VUSF9FWFRJX1NFVF9GQUxMSU5HX0U8Yj5HRDwvYj5FXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+VFJJR0dFUig8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19IQUxfRVRIX0VYVElfU0VUX0ZBTExJTkdfRTxiPkdEPC9iPkVfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlRSSUdHRVIoPC9zcGFuPjwvc3Bhbj4pCiBieSZuYnNwO19fSEFMX0VUSF9FWFRJX1NFVF9GQUxMSU5HX0U8Yj5ERzwvYj5FX1RSSUdHRVIoKSA8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJNc29MaXN0UGFyYWdyYXBoIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1hcmdpbi1sZWZ0Oi41aW47dGV4dC1pbmRlbnQ6LS4yNWluOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFiLXN0b3BzOmxpc3QgLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7bXNvLWJpZGktZm9udC1zaXplOgotMTIuMHB0O2ZvbnQtZmFtaWx5OldpbmdkaW5nczttc28tZmFyZWFzdC1mb250LWZhbWlseTpXaW5nZGluZ3M7Ci1tc28tYmlkaS1mb250LWZhbWlseTpXaW5nZGluZ3M7Y29sb3I6YmxhY2siPqc8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTo3LjBwdDttc28tZmFyZWFzdC1mb250LWZhbWlseTpXaW5nZGluZ3M7Y29sb3I6YmxhY2siPiZuYnNwOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJNc29MaXN0UGFyYWdyYXBoIiBzdHlsZT0ibWFyZ2luLWxlZnQ6IDAuNWluOyB0ZXh0LWluZGVudDogLTAuMjVpbjsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiBXaW5nZGluZ3M7IGNvbG9yOiBibGFjazsiPqc8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogN3B0OyBjb2xvcjogYmxhY2s7Ij4mbmJzcDsKIAogCiAKIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOmJsYWNrIj5IQUwgUFdSJm5ic3A7PC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOmJsYWNrIj51cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwzMSBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMDk7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkFkZCBuZXcgQVBJCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsgY29sb3I6IGJsYWNrOyI+SEFMIFBXUiZuYnNwOzwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsgY29sb3I6IGJsYWNrOyI+dXBkYXRlPC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjogYmxhY2s7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L3A+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZCBuZXcgQVBJCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0byBtYW5hZ2UgU0xFRVBPTkVYSVQgYW5kCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTRVZPTlBFTkQgYml0cyBvZiBTQ1IgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPnJlZ2lzdGVyPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU0VWT05QRU5EIGJpdHMgb2YgU0NSIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5yZWdpc3Rlcjwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21zby1tYXJnaW4tdG9wLWFsdDphdXRvOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG87bXNvLWxpc3Q6bDMxCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXZlbDMgbGZvMTA5O3RhYi1zdG9wczogbGlzdAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMS41aW4iPjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5IQUxfUFdSXzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+RGlzYWJsZVNsZWVwT25FeGl0KDwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+KTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4gPG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvO21zby1saXN0OmwzMQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWwzIGxmbzEwOTt0YWItc3RvcHM6IGxpc3QKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEuNWluIj48c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SEFMX1BXUl88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkVuYWJsZVNsZWVwT25FeGl0KDwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+KTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4gPG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvO21zby1saXN0OmwzMQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWwzIGxmbzEwOTt0YWItc3RvcHM6IGxpc3QKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEuNWluIj48c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SEFMX1BXUl88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkVuYWJsZVNFVk9uUGVuZCg8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPik8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+IDxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0bzttc28tbGlzdDpsMzEKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsMyBsZm8xMDk7dGFiLXN0b3BzOiBsaXN0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLjVpbiI+PHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkhBTF9QV1JfPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5EaXNhYmxlU0VWT25QZW5kKDwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+KTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyI+PHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9QV1JfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5EaXNhYmxlU2xlZXBPbkV4aXQoPC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+KTwvc3Bhbj48c3BhbiBzdHlsZT0iIj4gPG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsiPjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfUFdSXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RW5hYmxlU2xlZXBPbkV4aXQoPC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+KTwvc3Bhbj48c3BhbiBzdHlsZT0iIj4gPG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsiPjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfUFdSXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RW5hYmxlU0VWT25QZW5kKDwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPik8L3NwYW4+PHNwYW4gc3R5bGU9IiI+IDxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7Ij48c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX1BXUl88L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkRpc2FibGVTRVZPblBlbmQoPC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+KTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwzMSBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMDk7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SEFMX1BXUl88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5FbnRlclNUT1BNb2RlKDwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+KTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMzEgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMDk7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlVwZGF0ZSZuYnNwO3RvCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX1BXUl88L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkVudGVyU1RPUE1vZGUoPC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+KTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUmbmJzcDt0bwogCiAKIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGVhciB0aGUgQ09SVEVYIFNMRUVQREVFUAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiaXQgb2YmbmJzcDtTQ1IgcmVnaXN0ZXIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmVmb3JlIGVudGVyaW5nIGluIHNsZWVwIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+bW9kZTwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDMxIGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTA5O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5VcGRhdGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNhZ2Ugb2YgX188c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPldGRSg8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmVmb3JlIGVudGVyaW5nIGluIHNsZWVwIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5tb2RlPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2FnZSBvZiBfXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5XRkUoPC9zcGFuPjwvc3Bhbj4pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIGxvdyBwb3dlciBlbnRyeSBmdW5jdGlvbjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgdGhlcmUgaXMgYSBwZW5kaW5nIGV2ZW50LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYWxsaW5nIF9fV0ZFKCkgd2lsbCBub3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW50ZXIgdGhlIENvcnRleE00IGNvcmUgdG8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2xlZXAgbW9kZS4gVGhlIHNvbHV0aW9uIGlzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvIG1hZGUgdGhlIGNhbGwgYmVsb3c7IHRoZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaXJzdCBfXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4KLXN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPldGRSg8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlyc3QgX188c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+V0ZFKDwvc3Bhbj48L3NwYW4+KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpcyBhbHdheXMgaWdub3JlZCBhbmQgY2xlYXJzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBldmVudCBpZiBvbmUgd2FzIGFscmVhZHkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGVuZGluZywgdGhlIHNlY29uZCBpcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbHdheXMgYXBwbGllZDwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWx3YXlzIGFwcGxpZWQ8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPSJtYXJnaW4tbGVmdDoxLjI1aW4iPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0byI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPl9fU0VWKCk8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdCI+PGJyPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPl9fV0ZFKCk8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdCI+PGJyPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPl9fPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+V0ZFKDwvc3Bhbj48L3NwYW4+KTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0Ij48bzpwPjwvbzpwPjwvc3Bhbj48L3A+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBzdHlsZT0ibWFyZ2luLWxlZnQ6IDEuMjVpbjsiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9IiI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPl9fU0VWKCk8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsiPjxicj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5fX1dGRSgpPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ij48YnI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+X188c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+V0ZFKDwvc3Bhbj48L3NwYW4+KTwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyI+PG86cD48L286cD48L3NwYW4+PC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCB0eXBlPSJzcXVhcmUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0bzttc28tbGlzdDpsMTM3Ci0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWwyIGxmbzExMDt0YWItc3RvcHM6IGxpc3QKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkFkZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3Jm5ic3A7UFZEIGNvbmZpZ3VyYXRpb24gPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPm1vZGVzPC9zcGFuPjwvc3Bhbj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ldyZuYnNwO1BWRCBjb25maWd1cmF0aW9uIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5tb2Rlczwvc3Bhbj48L3NwYW4+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0bzttc28tbGlzdDpsMTM3IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTEwO3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5QV1JfUFZEX01PREVfTk9STUFMPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+IDxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0bzttc28tbGlzdDpsMTM3IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTEwO3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5QV1JfUFZEX01PREVfRVZFTlRfUklTSU5HJm5ic3A7PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+IDxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0bzttc28tbGlzdDpsMTM3IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTEwO3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5QV1JfUFZEX01PREVfRVZFTlRfRkFMTElORzwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0bzttc28tbGlzdDpsMTM3IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTEwO3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5QV1JfUFZEX01PREVfRVZFTlRfUklTSU5HX0ZBTExJTkc8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+UFdSX1BWRF9NT0RFX05PUk1BTDwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyI+IDxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSIiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5QV1JfUFZEX01PREVfRVZFTlRfUklTSU5HJm5ic3A7PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ij4gPG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9IiI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlBXUl9QVkRfTU9ERV9FVkVOVF9GQUxMSU5HPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+UFdSX1BWRF9NT0RFX0VWRU5UX1JJU0lOR19GQUxMSU5HPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG87bXNvLWxpc3Q6bDEzNwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsMiBsZm8xMTA7dGFiLXN0b3BzOiBsaXN0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5BZGQgbmV3Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWNyb3MgdG8gbWFuYWdlIFBWRCA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+VHJpZ2dlcjwvc3Bhbj48L3NwYW4+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkIG5ldworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFjcm9zIHRvIG1hbmFnZSBQVkQgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlRyaWdnZXI8L3NwYW4+PC9zcGFuPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dG87bXNvLWxpc3Q6bDEzNyBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzExMDt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+X19IQUxfUFdSX1BWRF9FWFRJX0VOQUJMRV9SSVNJTkdfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5FREdFKDwvc3Bhbj48L3NwYW4+KTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPiA8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dG87bXNvLWxpc3Q6bDEzNyBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzExMDt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+X19IQUxfUFdSX1BWRF9FWFRJX0RJU0FCTEVfUklTSU5HXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+RURHRSg8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPiA8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dG87bXNvLWxpc3Q6bDEzNyBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzExMDt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+X19IQUxfUFdSX1BWRF9FWFRJX0VOQUJMRV9GQUxMSU5HXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+RURHRSg8L3NwYW4+PC9zcGFuPik8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4gPG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvO21zby1saXN0OmwxMzcgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMTA7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPl9fSEFMX1BXUl9QVkRfRVhUSV9ESVNBQkxFX0ZBTExJTkdfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5FREdFKDwvc3Bhbj48L3NwYW4+KTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0bzttc28tbGlzdDpsMTM3IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTEwO3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5fX0hBTF9QV1JfUFZEX0VYVElfRU5BQkxFX1JJU0lOR19GQUxMSU5HXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+RURHRSg8L3NwYW4+PC9zcGFuPik8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4gPG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvO21zby1saXN0OmwxMzcgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMTA7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPl9fSEFMX1BXUl9QVkRfRVhUSV9ESVNBQkxFX1JJU0lOR19GQUxMSU5HXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+RURHRSg8L3NwYW4+PC9zcGFuPik8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+X19IQUxfUFdSX1BWRF9FWFRJX0VOQUJMRV9SSVNJTkdfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkVER0UoPC9zcGFuPjwvc3Bhbj4pPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ij4gPG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9IiI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPl9fSEFMX1BXUl9QVkRfRVhUSV9ESVNBQkxFX1JJU0lOR188c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RURHRSg8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyI+IDxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSIiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5fX0hBTF9QV1JfUFZEX0VYVElfRU5BQkxFX0ZBTExJTkdfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkVER0UoPC9zcGFuPjwvc3Bhbj4pPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ij4gPG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9IiI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPl9fSEFMX1BXUl9QVkRfRVhUSV9ESVNBQkxFX0ZBTExJTkdfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkVER0UoPC9zcGFuPjwvc3Bhbj4pPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+X19IQUxfUFdSX1BWRF9FWFRJX0VOQUJMRV9SSVNJTkdfRkFMTElOR188c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RURHRSg8L3NwYW4+PC9zcGFuPik8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsiPiA8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+X19IQUxfUFdSX1BWRF9FWFRJX0RJU0FCTEVfUklTSU5HX0ZBTExJTkdfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkVER0UoPC9zcGFuPjwvc3Bhbj4pPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG87bXNvLWxpc3Q6bDEzNwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsMiBsZm8xMTA7dGFiLXN0b3BzOiBsaXN0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5QVkQgbWFjcm9zOjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlBWRCBtYWNyb3M6PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0bzttc28tbGlzdDpsMTM3IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTEwO3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5SZW1vdmUgdGhlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fRVhUSUxJTkVfXyBwYXJhbWV0ZXI8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dG87bXNvLWxpc3Q6bDEzNyBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzExMDt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+VXBkYXRlIHRvCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSIiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5SZW1vdmUgdGhlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fRVhUSUxJTkVfXyBwYXJhbWV0ZXI8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSIiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUgdG8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlIHByZWZpeCAiX19IQUxfUFdSX1BWRF8iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluc3RlYWQgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3Bhbgotc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+b2YgJm5ic3A7cHJlZml4PC9zcGFuPjwvc3Bhbj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIl9fSEFMX1BWRCI8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5zdGVhZCA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+b2YgJm5ic3A7cHJlZml4PC9zcGFuPjwvc3Bhbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIl9fSEFMX1BWRCI8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxMzMgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTExO3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5SZW5hbWUgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfUFdSXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlBWRENvbmZpZyg8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ5Jm5ic3A7PHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfUFdSX0NvbmZpZ1BWRDwvc3Bhbj48L3NwYW4+KCk8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5SZW5hbWUgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfUFdSRXhfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWN0aXZhdGVPdmVyRHJpdmUoPC9zcGFuPjwvc3Bhbj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBieSA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9QV1JFeF9FbmFibGVPdmVyRHJpdmU8L3NwYW4+PC9zcGFuPigpCiAKIAogCiAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlJlbmFtZSA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkhBTF9QV1JfPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+UFZEQ29uZmlnKDwvc3Bhbj48L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnkmbmJzcDs8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3Bhbgotc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX1BXUl9Db25maWdQVkQ8L3NwYW4+PC9zcGFuPigpPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTMzIGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzExMTt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5SZW5hbWUgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfUFdSRXhfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RGVhY3RpdmF0ZU92ZXJEcml2ZSg8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ5IDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX1BXUkV4X0Rpc2FibGVPdmVyRHJpdmU8L3NwYW4+PC9zcGFuPigpCiAKIAogCiAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlJlbmFtZSA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkhBTF9QV1JFeF88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5BY3RpdmF0ZU92ZXJEcml2ZSg8L3NwYW4+PC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ5IDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi1zdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5IQUxfUFdSRXhfRW5hYmxlT3ZlckRyaXZlPC9zcGFuPjwvc3Bhbj4oKQotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTMzIGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzExMTt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+UmVuYW1lIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX1BXUkV4Xzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkRlYWN0aXZhdGVPdmVyRHJpdmUoPC9zcGFuPjwvc3Bhbj4pCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBieSA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3Bhbgotc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX1BXUkV4X0Rpc2FibGVPdmVyRHJpdmU8L3NwYW4+PC9zcGFuPigpCi0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTMzIGxldmVsMQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMTE7dGFiLXN0b3BzOmxpc3QgLjVpbiI+PGI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMCiAKIAogCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+SEFMCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHUElPIDwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPnVwZGF0ZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdQSU8gPC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21zby1tYXJnaW4tdG9wLWFsdDphdXRvOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvO21zby1saXN0OmwxMzMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXZlbDIgbGZvMTExO3RhYi1zdG9wczogbGlzdAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEuMGluIj48c3BhbiBjbGFzcz0ic3BlbGxlIj48aT48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SEFMX0dQSU9fSW5pdDwvc3Bhbj48L2k+PC9zcGFuPjxpPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPigpLzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkhBTF9HUElPXzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5EZUluaXQoPC9zcGFuPjwvc3Bhbj4pOjwvc3Bhbj48L2k+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+IGFkZCBhIGNhbGwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7Ij48c3BhbiBjbGFzcz0ic3BlbGxlIj48aT48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX0dQSU9fSW5pdDwvc3Bhbj48L2k+PC9zcGFuPjxpPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4oKS88c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9HUElPXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkRlSW5pdCg8L3NwYW4+PC9zcGFuPik6PC9zcGFuPjwvaT48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+IGFkZCBhIGNhbGwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvIHRoZSBDTVNJUyZuYnNwO2Fzc2VydCBtYWNybwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gY2hlY2sgR1BJTyBpbnN0YW5jZToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElTX0dQSU9fQUxMX0lOU1RBTkNFKCkmbmJzcDs8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxMzMgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTExO3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PGk+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkhBTF9HUElPXzwvc3Bhbj48L2k+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxpPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5Xcml0ZVBpbig8L3NwYW4+PC9pPjwvc3Bhbj48aT48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4pOjwvc3Bhbj48L2k+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+IHVwZGF0ZSB0bwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd3JpdGUmbmJzcDtpbiBCU1JSIHJlZ2lzdGVyPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTMzIGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzExMTt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+UmVuYW1lIDxpPkdQSU9fR0VUXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+U09VUkNFKDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSVNfR1BJT19BTExfSU5TVEFOQ0UoKSZuYnNwOzwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gY2xhc3M9InNwZWxsZSI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9HUElPXzwvc3Bhbj48L2k+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPldyaXRlUGluKDwvc3Bhbj48L2k+PC9zcGFuPjxpPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4pOjwvc3Bhbj48L2k+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPiB1cGRhdGUgdG8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdyaXRlJm5ic3A7aW4gQlNSUiByZWdpc3Rlcjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlJlbmFtZSA8aT5HUElPX0dFVF88c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+U09VUkNFKDwvc3Bhbj48L3NwYW4+KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9pPmJ5PGk+IEdFVF9HUElPX0lOREVYKCkgPC9pPmFuZAogCiAKIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbW92ZSB0aGlzIGxhdGVyIHRvIGZpbGUmbmJzcDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0bTMyZjR4eF9oYWxfZ3Bpb19leC5oPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTMzIGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzExMTt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+QWRkIG5ldworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RtMzJmNHh4X2hhbF9ncGlvX2V4Lmg8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQgbmV3CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWZpbmUgZm9yIGFsdGVybmF0ZSBmdW5jdGlvbjxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHUElPX0FGNV9TUEkzPC9pPiBmb3IKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNUTTMyRjQyOXh4LzQzOXh4IGFuZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU1RNMzJGNDI3eHgvNDM3eHggPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPmRldmljZXM8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTVE0zMkY0Mjd4eC80Mzd4eCA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+ZGV2aWNlczwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxMzMgbGV2ZWwxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzExMTt0YWItc3RvcHM6bGlzdCAuNWluIj48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKKworCisKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBU0ggPC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48aT48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX0hBU0hfTUQ1X1N0YXJ0XzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5JVCg8L3NwYW4+PC9zcGFuPik6CiAKIAogCiAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+SEFMCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQVNIIDwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPnVwZGF0ZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDEzMyBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMTE7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxpPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkhBTF9IQVNIX01ENV9TdGFydF88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPklUKDwvc3Bhbj48L3NwYW4+KToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPjwvaT48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+Zml4IGlucHV0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZGRyZXNzIG1hbmFnZW1lbnQgaXNzdWU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPjwvaT48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Zml4IGlucHV0CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZGRyZXNzIG1hbmFnZW1lbnQgaXNzdWU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDEzMyBsZXZlbDEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTExO3RhYi1zdG9wczpsaXN0IC41aW4iPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAogCiAKIAotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPkhBTAotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUkNDIDwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPnVwZGF0ZTxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxMzMgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTExO3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5SZW5hbWUgdGhlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb2xsb3dpbmcgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3Bhbgotc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+TWFjcm9zPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDEzMyBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzExMTt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+X19QUFBfQ0xLXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+RU5BQkxFKDwvc3Bhbj48L3NwYW4+KSZuYnNwOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUkNDIDwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZTxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+UmVuYW1lIHRoZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9sbG93aW5nIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5NYWNyb3M8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5fX1BQUF9DTEtfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkVOQUJMRSg8L3NwYW4+PC9zcGFuPikmbmJzcDsKIAogCiAKIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBieQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX0hBTF9SQ0NfUFBQX0NMS19FTkFCTEUoKTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxMzMgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMTE7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPl9fUFBQX0NMS188c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkRJU0FCTEUoPC9zcGFuPjwvc3Bhbj4pJm5ic3A7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fSEFMX1JDQ19QUFBfQ0xLX0VOQUJMRSgpPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5fX1BQUF9DTEtfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkRJU0FCTEUoPC9zcGFuPjwvc3Bhbj4pJm5ic3A7CiAKIAogCiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19IQUxfUkNDX1BQUF9DTEtfRElTQUJMRSgpPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDEzMyBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzExMTt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+X19QUFBfRk9SQ0VfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5SRVNFVCg8L3NwYW4+PC9zcGFuPikmbmJzcDsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19IQUxfUkNDX1BQUF9DTEtfRElTQUJMRSgpPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5fX1BQUF9GT1JDRV88c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+UkVTRVQoPC9zcGFuPjwvc3Bhbj4pJm5ic3A7CiAKIAogCiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19IQUxfUkNDX1BQUF9GT1JDRV9SRVNFVCgpPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDEzMyBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzExMTt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+X19QUFBfUkVMRUFTRV88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPlJFU0VUKDwvc3Bhbj48L3NwYW4+KSZuYnNwOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX0hBTF9SQ0NfUFBQX0ZPUkNFX1JFU0VUKCk8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPl9fUFBQX1JFTEVBU0VfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlJFU0VUKDwvc3Bhbj48L3NwYW4+KSZuYnNwOwogCiAKIAogCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ5Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fSEFMX1JDQ19QUFBfUkVMRUFTRV9SRVNFVCgpPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDEzMyBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzExMTt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+X19QUFBfQ0xLX1NMRUVQXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+RU5BQkxFKDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX0hBTF9SQ0NfUFBQX1JFTEVBU0VfUkVTRVQoKTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+X19QUFBfQ0xLX1NMRUVQXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5FTkFCTEUoPC9zcGFuPjwvc3Bhbj4pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ5Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fSEFMX1JDQ19QUFBfQ0xLX1NMRUVQX0VOQUJMRSgpPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDEzMyBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzExMTt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+X19QUFBfQ0xLX1NMRUVQXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+RElTQUJMRSg8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19IQUxfUkNDX1BQUF9DTEtfU0xFRVBfRU5BQkxFKCk8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPl9fUFBQX0NMS19TTEVFUF88c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RElTQUJMRSg8L3NwYW4+PC9zcGFuPikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19IQUxfUkNDX1BQUF9DTEtfU0xFRVBfRElTQUJMRSgpPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fSEFMX1JDQ19QUFBfQ0xLX1NMRUVQX0RJU0FCTEUoKTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxMzMgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTExO3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5JU19SQ0NfUExMU0FJTl88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+VkFMVUUoPC9zcGFuPjwvc3Bhbj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SVNfUkNDX1BMTFNBSU5fPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlZBTFVFKDwvc3Bhbj48L3NwYW4+KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFjcm86IHVwZGF0ZSB0aGUgY2hlY2sKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbmRpdGlvbjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxMzMgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTExO3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5BZGQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uIG9mIFJDQyBrbm93biA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+TGltaXRhdGlvbnM8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDEzMyBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMTE7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlJlbmFtZSA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkhBTF9SQ0NfPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+QzxiPkM8L2I+U0NhbGxiYWNrKDwvc3Bhbj48L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnkgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4KLXN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkhBTF9SQ0NfQzxiPlM8L2I+U0NhbGxiYWNrPC9zcGFuPjwvc3Bhbj4oKTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDEzMyBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMTE7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SEFMX1JDQ188L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5Pc2NDb25maWcoPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4pIGZpeAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNzdWVzOiZuYnNwOzwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTMzIGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTExO3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5SZW1vdmUgdGhlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25kaXRpb248L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uIG9mIFJDQyBrbm93biA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+TGltaXRhdGlvbnM8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlJlbmFtZSA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9SQ0NfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QzxiPkM8L2I+U0NhbGxiYWNrKDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnkgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfUkNDX0M8Yj5TPC9iPlNDYWxsYmFjazwvc3Bhbj48L3NwYW4+KCk8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfUkNDXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+T3NjQ29uZmlnKDwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPikgZml4CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc3N1ZXM6Jm5ic3A7PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlJlbW92ZSB0aGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzYWJsZSBvZiBIU0UKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3NjaWxsYXRvciZuYnNwO3doZW4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSFNFX0JZUEFTUyBpcyZuYnNwO3VzZWQgYXMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3lzdGVtIGNsb2NrIHNvdXJjZSBvciBhcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQUEwgY2xvY2sgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPnNvdXJjZTwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDEzMyBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzExMTt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+QWRkIGEgY2hlY2sKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUFBMIGNsb2NrIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5zb3VyY2U8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkIGEgY2hlY2sKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb24gSFNFUkRZIGZsYWcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2hlbiZuYnNwO0hTRV9CWVBBU1MgaXMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWQgYXMgbmV3IHN0YXRlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciZuYnNwO0hTRSBvc2NpbGxhdG9yLjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3ImbmJzcDtIU0Ugb3NjaWxsYXRvci48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTMzIGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzExMTt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+UmVuYW1lCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX0hBTF9SQ0NfSTI8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+U0NMSyg8L3NwYW4+PC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ5IF9fSEFMX1JDQ19JMlNfQ29uZmlnKCk8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlJlbmFtZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19IQUxfUkNDX0kyPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlNDTEsoPC9zcGFuPjwvc3Bhbj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBieSBfX0hBTF9SQ0NfSTJTX0NvbmZpZygpPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9Ik1zb0xpc3RQYXJhZ3JhcGgiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibWFyZ2luLWxlZnQ6LjVpbjt0ZXh0LWluZGVudDotLjI1aW47Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YWItc3RvcHM6bGlzdCAuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDttc28tYmlkaS1mb250LXNpemU6Ci0xMi4wcHQ7Zm9udC1mYW1pbHk6V2luZ2RpbmdzO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OldpbmdkaW5nczsKLW1zby1iaWRpLWZvbnQtZmFtaWx5OldpbmdkaW5ncztjb2xvcjpibGFjayI+pzwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjcuMHB0O21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OldpbmdkaW5ncztjb2xvcjpibGFjayI+Jm5ic3A7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9Ik1zb0xpc3RQYXJhZ3JhcGgiIHN0eWxlPSJtYXJnaW4tbGVmdDogMC41aW47IHRleHQtaW5kZW50OiAtMC4yNWluOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6IFdpbmdkaW5nczsgY29sb3I6IGJsYWNrOyI+pzwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiA3cHQ7IGNvbG9yOiBibGFjazsiPiZuYnNwOwogCiAKIAogCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+PGI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6YmxhY2siPkhBTCBJMlMmbmJzcDs8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6YmxhY2siPnVwZGF0ZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2siPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDQ4IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzExMjt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PGk+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SEFMX0kyU188c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkluaXQoPC9zcGFuPjwvc3Bhbj4pPC9zcGFuPjwvaT48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij46IGFkZCBjaGVjaworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7IGNvbG9yOiBibGFjazsiPkhBTCBJMlMmbmJzcDs8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7IGNvbG9yOiBibGFjazsiPnVwZGF0ZTwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6IGJsYWNrOyI+PG86cD48L286cD48L3NwYW4+PC9wPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxpPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfSTJTXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5Jbml0KDwvc3Bhbj48L3NwYW4+KTwvc3Bhbj48L2k+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPjogYWRkIGNoZWNrCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbiBJMlMgaW5zdGFuY2UKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzaW5nJm5ic3A7Q01TSVMgbWFjcm8gPGk+SVNfSTJTX0FMTF9JTlNUQU5DRSgpJm5ic3A7PC9pPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDQ4IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzExMjt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SEFMX0kyU188c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SVJRSGFuZGxlcig8L3NwYW4+PC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZSBmb3IgY29tcGxpYW5jeSB3LyBDKys8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw0OCBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMTI7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkFkZCB1c2UKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9mJm5ic3A7PHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4KLXN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPnRtcHJlZzwvc3Bhbj48L3NwYW4+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXJpYWJsZSBpbiBfX0hBTF9JMlNfQ0xFQVJfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPk9WUkZMQUcoPC9zcGFuPjwvc3Bhbj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2luZyZuYnNwO0NNU0lTIG1hY3JvIDxpPklTX0kyU19BTExfSU5TVEFOQ0UoKSZuYnNwOzwvaT48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfSTJTXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5JUlFIYW5kbGVyKDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlIGZvciBjb21wbGlhbmN5IHcvIEMrKzwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZCB1c2UKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9mJm5ic3A7PHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij50bXByZWc8L3NwYW4+PC9zcGFuPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyaWFibGUgaW4gX19IQUxfSTJTX0NMRUFSXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5PVlJGTEFHKDwvc3Bhbj48L3NwYW4+KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIF9fSEFMX0kyU19DTEVBUl9VRFJGTEFHKCkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hY3JvIGZvciBjb21wbGlhbmN5IHdpdGggQysrPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNDggbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTEyO3RhYi1zdG9wczpsaXN0IDEuMGluIj48aT48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5IQUxfSTJTXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+R2V0RXJyb3IoPC9zcGFuPjwvc3Bhbj4pPC9zcGFuPjwvaT48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij46IHVwZGF0ZSB0bworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFjcm8gZm9yIGNvbXBsaWFuY3kgd2l0aCBDKys8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxpPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfSTJTXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5HZXRFcnJvcig8L3NwYW4+PC9zcGFuPik8L3NwYW4+PC9pPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij46IHVwZGF0ZSB0bwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVpbnQzMl90IGluc3RlYWQgb2YKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9JMlNfRXJyb3JUeXBlRGVmCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbnVtZXJhdGlvbjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbnVtZXJhdGlvbjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJNc29MaXN0UGFyYWdyYXBoIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1hcmdpbi1sZWZ0Oi41aW47dGV4dC1pbmRlbnQ6LS4yNWluOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFiLXN0b3BzOmxpc3QgLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7bXNvLWJpZGktZm9udC1zaXplOgotMTIuMHB0O2ZvbnQtZmFtaWx5OldpbmdkaW5nczttc28tZmFyZWFzdC1mb250LWZhbWlseTpXaW5nZGluZ3M7Ci1tc28tYmlkaS1mb250LWZhbWlseTpXaW5nZGluZ3M7Y29sb3I6YmxhY2siPqc8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTo3LjBwdDttc28tZmFyZWFzdC1mb250LWZhbWlseTpXaW5nZGluZ3M7Y29sb3I6YmxhY2siPiZuYnNwOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJNc29MaXN0UGFyYWdyYXBoIiBzdHlsZT0ibWFyZ2luLWxlZnQ6IDAuNWluOyB0ZXh0LWluZGVudDogLTAuMjVpbjsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiBXaW5nZGluZ3M7IGNvbG9yOiBibGFjazsiPqc8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogN3B0OyBjb2xvcjogYmxhY2s7Ij4mbmJzcDsKIAogCiAKIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOmJsYWNrIj5IQUwgSTJDJm5ic3A7PC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOmJsYWNrIj51cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxMzIgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTEzO3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5VcGRhdGUmbmJzcDt0bworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7IGNvbG9yOiBibGFjazsiPkhBTCBJMkMmbmJzcDs8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7IGNvbG9yOiBibGFjazsiPnVwZGF0ZTwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6IGJsYWNrOyI+PG86cD48L286cD48L3NwYW4+PC9wPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUmbmJzcDt0bwogCiAKIAogCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGVhciZuYnNwO3RoZSBQT1MgYml0IGluIHRoZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ1IxIHJlZ2lzdGVyIGF0IHRoZSBlbmQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9mJm5ic3A7SEFMX0kyQ19NYXN0ZXJfUmVhZF88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SVQoPC9zcGFuPjwvc3Bhbj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvZiZuYnNwO0hBTF9JMkNfTWFzdGVyX1JlYWRfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPklUKDwvc3Bhbj48L3NwYW4+KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIEhBTF9JMkNfTWVtX1JlYWRfSVQoKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvY2Vzczwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxMzIgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTEzO3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5SZW5hbWUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9JMkNFeF9EaWdpdGFsRmlsdGVyXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5Db25maWcoPC9zcGFuPjwvc3Bhbj4pJm5ic3A7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9jZXNzPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+UmVuYW1lCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUxfSTJDRXhfRGlnaXRhbEZpbHRlcl88c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Q29uZmlnKDwvc3Bhbj48L3NwYW4+KSZuYnNwOwogCiAKIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9JMkNFeF9Db25maWdEaWdpdGFsRmlsdGVyKCkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTMyIGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzExMzt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+UmVuYW1lCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUxfSTJDRXhfQW5hbG9nRmlsdGVyXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5Db25maWcoPC9zcGFuPjwvc3Bhbj4pJm5ic3A7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+UmVuYW1lCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUxfSTJDRXhfQW5hbG9nRmlsdGVyXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5Db25maWcoPC9zcGFuPjwvc3Bhbj4pJm5ic3A7CiAKIAogCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBieQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX0kyQ0V4X0NvbmZpZ0FuYWxvZ0ZpbHRlcigpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDEzMiBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMTM7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkFkZCB1c2UKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9mJm5ic3A7PHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4KLXN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPnRtcHJlZzwvc3Bhbj48L3NwYW4+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXJpYWJsZSBpbiBfX0hBTF9JMkNfQ0xFQVJfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkFERFJGTEFHKDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZCB1c2UKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9mJm5ic3A7PHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij50bXByZWc8L3NwYW4+PC9zcGFuPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyaWFibGUgaW4gX19IQUxfSTJDX0NMRUFSXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BRERSRkxBRyg8L3NwYW4+PC9zcGFuPikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCBfX0hBTF9JMkNfQ0xFQVJfU1RPUEZMQUcoKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFjcm8gZm9yJm5ic3A7Y29tcGxpYW5jeSB3aXRoCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDKys8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQysrPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxMzIgbGV2ZWwxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzExMzt0YWItc3RvcHM6bGlzdCAuNWluIj48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKIAogCiAKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij5IQUwKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElyREEgPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+dXBkYXRlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTMyIGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzExMzt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+RE1BIHRyYW5zbWl0CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJckRBIDwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkRNQSB0cmFuc21pdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvY2VzczsgdGhlIGNvZGUgaGFzIGJlZW4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZWQgdG8gYXZvaWQgd2FpdGluZyBvbiBUQwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxhZyB1bmRlciBETUEgSVNSLCBJckRBIFRDCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnRlcnJ1cHQgaXMgdXNlZCBpbnN0ZWFkLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQmVsb3cgdGhlIHVwZGF0ZSB0byBiZSBkb25lIG9uCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VyIGFwcGxpY2F0aW9uOjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTMyIGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTEzO3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5Db25maWd1cmUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXIgYXBwbGljYXRpb246PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkNvbmZpZ3VyZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgZW5hYmxlIHRoZSBVU0FSVCBJUlEgaW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkhBTF9JUkRBXzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5Nc3BJbml0KDwvc3Bhbj48L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxMzIgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMTM7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfSVJEQV88L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5Nc3BJbml0KDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SW4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RtMzJmNHh4X2l0LmMgZmlsZSwgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VQVNSVHhfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SVJRSGFuZGxlcig8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb246IGFkZCBhIGNhbGwgdG8gPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfSVJEQV9JUlFIYW5kbGVyPC9zcGFuPjwvc3Bhbj4oKQogCiAKIAotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RtMzJmNHh4X2l0LmMgZmlsZSwgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+VUFTUlR4Xzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5JUlFIYW5kbGVyKDwvc3Bhbj48L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbjogYWRkIGEgY2FsbCB0byA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkhBTF9JUkRBX0lSUUhhbmRsZXI8L3NwYW4+PC9zcGFuPigpCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDEzMiBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMTM7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPklUIHRyYW5zbWl0CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SVQgdHJhbnNtaXQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2Nlc3M7IHRoZSBjb2RlIGhhcyBiZWVuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGVkIHRvIGF2b2lkIHdhaXRpbmcgb24gVEMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsYWcgdW5kZXIgSVJEQSBJU1IsIElyREEgVEMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludGVycnVwdCBpcyB1c2VkIGluc3RlYWQuIE5vCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbXBhY3Qgb24gdXNlciBhcHBsaWNhdGlvbjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDEzMiBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMTM7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlJlbmFtZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTWFjcm9zOiBhZGQgcHJlZml4ICJfX0hBTCI8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDEzMiBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzExMzt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+X19JUkRBXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+RU5BQkxFKDwvc3Bhbj48L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBieSBfX0hBTF9JUkRBX0VOQUJMRSgpPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDEzMiBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzExMzt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+X19JUkRBXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+RElTQUJMRSg8L3NwYW4+PC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnkgX19IQUxfSVJEQV9ESVNBQkxFKCk8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGltcGFjdCBvbiB1c2VyIGFwcGxpY2F0aW9uPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+UmVuYW1lCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNYWNyb3M6IGFkZCBwcmVmaXggIl9fSEFMIjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5fX0lSREFfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkVOQUJMRSg8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnkgX19IQUxfSVJEQV9FTkFCTEUoKTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+X19JUkRBXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5ESVNBQkxFKDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBieSBfX0hBTF9JUkRBX0RJU0FCTEUoKTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxMzIgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTEzO3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5BZGQgbmV3IHVzZXIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQgbmV3IHVzZXIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hY3JvcyB0byBtYW5hZ2UgdGhlIHNhbXBsZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWV0aG9kIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5mZWF0dXJlPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDEzMiBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzExMzt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+X19IQUxfSVJEQV9PTkVfQklUX1NBTVBMRV88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkVOQUJMRSg8L3NwYW4+PC9zcGFuPik8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTMyIGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTEzO3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5fX0hBTF9JUkRBX09ORV9CSVRfU0FNUExFXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+RElTQUJMRSg8L3NwYW4+PC9zcGFuPik8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1ldGhvZCA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+ZmVhdHVyZTwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPl9fSEFMX0lSREFfT05FX0JJVF9TQU1QTEVfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkVOQUJMRSg8L3NwYW4+PC9zcGFuPik8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPl9fSEFMX0lSREFfT05FX0JJVF9TQU1QTEVfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkRJU0FCTEUoPC9zcGFuPjwvc3Bhbj4pPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDEzMiBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMTM7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48aT48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SEFMX0lSREFfVHJhbnNtaXRfPC9zcGFuPjwvaT48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PGk+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPklUKDwvc3Bhbj48L2k+PC9zcGFuPjxpPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPik6IDwvc3Bhbj48L2k+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+dXBkYXRlIHRvCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBjbGFzcz0ic3BlbGxlIj48aT48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX0lSREFfVHJhbnNtaXRfPC9zcGFuPjwvaT48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48aT48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SVQoPC9zcGFuPjwvaT48L3NwYW4+PGk+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPik6IDwvc3Bhbj48L2k+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZSB0bwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVtb3ZlIHRoZSBlbmFibGUgb2YgdGhlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJpdHkgZXJyb3IgaW50ZXJydXB0PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTMyIGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzExMzt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+QWRkIHVzZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2YmbmJzcDs8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3Bhbgotc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+dG1wcmVnPC9zcGFuPjwvc3Bhbj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhcmlhYmxlIGluIF9fSEFMX0lSREFfQ0xFQVJfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPlBFRkxBRyg8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcml0eSBlcnJvciBpbnRlcnJ1cHQ8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQgdXNlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvZiZuYnNwOzxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dG1wcmVnPC9zcGFuPjwvc3Bhbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhcmlhYmxlIGluIF9fSEFMX0lSREFfQ0xFQVJfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlBFRkxBRyg8L3NwYW4+PC9zcGFuPikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hY3JvIGZvciZuYnNwO2NvbXBsaWFuY3kgd2l0aAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQysrPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDEzMiBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMTM7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48aT48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SEFMXzwvc3Bhbj48L2k+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SVJEQTxpPl9UcmFuc21pdF88L2k+PC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48aT48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+RE1BKDwvc3Bhbj48L2k+PC9zcGFuPjxpPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPikgPC9zcGFuPjwvaT48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij51cGRhdGUgdG8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEMrKzwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gY2xhc3M9InNwZWxsZSI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF88L3NwYW4+PC9pPjwvc3Bhbj48c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SVJEQTxpPl9UcmFuc21pdF88L2k+PC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxpPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5ETUEoPC9zcGFuPjwvaT48L3NwYW4+PGk+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPikgPC9zcGFuPjwvaT48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlIHRvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb2xsb3cgdGhlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByaWdodCZuYnNwO3Byb2NlZHVyZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlRyYW5zbWlzc2lvbiB1c2luZyBETUEiJm5ic3A7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiB0aGUgcmVmZXJlbmNlIG1hbnVhbDwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTMyIGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTEzO3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5BZGQgY2xlYXIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIHRoZSByZWZlcmVuY2UgbWFudWFsPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZCBjbGVhcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgVEMgZmxhZyBpbiB0aGUgU1IKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVnaXN0ZXIgYmVmb3JlIGVuYWJsaW5nIHRoZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBETUEmbmJzcDs8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuCi1zdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj50cmFuc21pdDwvc3Bhbj48L3NwYW4+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3Q8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRE1BJm5ic3A7PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnRyYW5zbWl0PC9zcGFuPjwvc3Bhbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdDwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTMyIGxldmVsMQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMTM7dGFiLXN0b3BzOmxpc3QgLjVpbiI+PGI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMCiAKIAogCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+SEFMCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJV0RHIDwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlJlbmFtZSB0aGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmluZWQgSVdERyBrZXlzOiZuYnNwOzwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5LUl9LRVlfUkVMT0FECiAKIAogCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJV0RHIDwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnkgSVdER19LRVlfUkVMT0FEPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5LUl9LRVlfRU5BQkxFCiAKIAogCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij51cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxMzIgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTEzO3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5SZW5hbWUgdGhlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWZpbmVkIElXREcga2V5czombmJzcDs8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDEzMiBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzExMzt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+S1JfS0VZX1JFTE9BRAotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBieSBJV0RHX0tFWV9SRUxPQUQ8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTMyIGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTEzO3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5LUl9LRVlfRU5BQkxFCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ5IElXREdfS0VZX0VOQUJMRTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxMzIgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMTM7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPktSX0tFWV9FV0EKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnkgSVdER19LRVlfRU5BQkxFPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5LUl9LRVlfRVdBCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ5Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElXREdfS0VZX1dSSVRFX0FDQ0VTU19FTkFCTEU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTMyIGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTEzO3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5LUl9LRVlfRFdBCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElXREdfS0VZX1dSSVRFX0FDQ0VTU19FTkFCTEU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPktSX0tFWV9EV0EKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSVdER19LRVlfV1JJVEVfQUNDRVNTX0RJU0FCTEU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSVdER19LRVlfV1JJVEVfQUNDRVNTX0RJU0FCTEU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTMyIGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzExMzt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4mbmJzcDs8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+QWRkIG5ldworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9IiI+Jm5ic3A7PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQgbmV3CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWNyb3MKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fSEFMX0lXREdfUkVTRVRfSEFORExFXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5TVEFURSg8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fSEFMX0lXREdfUkVTRVRfSEFORExFXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5TVEFURSg8L3NwYW4+PC9zcGFuPikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19IQUxfSVdER19DTEVBUl9GTEFHKCkmbmJzcDs8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxMzIgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTEzO3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5VcGRhdGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fSEFMX0lXREdfRU5BQkxFX1dSSVRFXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5BQ0NFU1MoPC9zcGFuPjwvc3Bhbj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX0hBTF9JV0RHX0NMRUFSX0ZMQUcoKSZuYnNwOzwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19IQUxfSVdER19FTkFCTEVfV1JJVEVfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFDQ0VTUyg8L3NwYW4+PC9zcGFuPikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19IQUxfSVdER19ESVNBQkxFX1dSSVRFX0FDQ0VTUygpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcyBwcml2YXRlIG1hY3JvPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFzIHByaXZhdGUgbWFjcm88L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iTXNvTGlzdFBhcmFncmFwaCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtYXJnaW4tbGVmdDouNWluO3RleHQtaW5kZW50Oi0uMjVpbjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhYi1zdG9wczpsaXN0IC41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O21zby1iaWRpLWZvbnQtc2l6ZToKLTEyLjBwdDtmb250LWZhbWlseTpXaW5nZGluZ3M7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6V2luZ2RpbmdzOwotbXNvLWJpZGktZm9udC1mYW1pbHk6V2luZ2RpbmdzO2NvbG9yOmJsYWNrIj6nPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6Ny4wcHQ7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6V2luZ2RpbmdzO2NvbG9yOmJsYWNrIj4mbmJzcDsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iTXNvTGlzdFBhcmFncmFwaCIgc3R5bGU9Im1hcmdpbi1sZWZ0OiAwLjVpbjsgdGV4dC1pbmRlbnQ6IC0wLjI1aW47Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogV2luZ2RpbmdzOyBjb2xvcjogYmxhY2s7Ij6nPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDdwdDsgY29sb3I6IGJsYWNrOyI+Jm5ic3A7CiAKIAogCiAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjpibGFjayI+SEFMIFNQSSZuYnNwOzwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjpibGFjayI+dXBkYXRlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjayI+PG86cD48L286cD48L3NwYW4+PC9wPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTAyIGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzExNDt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5IQUxfU1BJX1RyYW5zbWl0UmVjZWl2ZV88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5ETUEoPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4pIHVwZGF0ZSB0bworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7IGNvbG9yOiBibGFjazsiPkhBTCBTUEkmbmJzcDs8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7IGNvbG9yOiBibGFjazsiPnVwZGF0ZTwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6IGJsYWNrOyI+PG86cD48L286cD48L3NwYW4+PC9wPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfU1BJX1RyYW5zbWl0UmVjZWl2ZV88L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkRNQSg8L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4pIHVwZGF0ZSB0bwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVtb3ZlIHRoZSAmbmJzcDtETUEgVHggRXJyb3IKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENhbGxiYWNrIGluaXRpYWxpemF0aW9uIHdoZW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNQSSA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3Bhbgotc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+UnhPbmx5PC9zcGFuPjwvc3Bhbj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vZGUgaXMgc2VsZWN0ZWQ8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxMDIgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTE0O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5BZGQgdXNlIG9mIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5VTlVTRUQoPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPnRtcHJlZzwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU1BJIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+UnhPbmx5PC9zcGFuPjwvc3Bhbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vZGUgaXMgc2VsZWN0ZWQ8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQgdXNlIG9mIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VTlVTRUQoPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnRtcHJlZzwvc3Bhbj48L3NwYW4+KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gX19IQUxfU1BJX0NMRUFSX01PREZGTEFHKCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX0hBTF9TUElfQ0xFQVJfT1ZSRkxBRygpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19IQUxfU1BJX0NMRUFSX0ZSRUZMQUcoKSB0bwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZml4ICJVbnVzZWQgdmFyaWFibGUiIHdhcm5pbmcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpdGggPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4KLXN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPlRydWVTVFVESU88L3NwYW4+PC9zcGFuPi48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxMDIgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTE0O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5SZW5hbWUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpdGggPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5UcnVlU1RVRElPPC9zcGFuPjwvc3Bhbj4uPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+UmVuYW1lCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXRlcmFsczogcmVtb3ZlICJEIiBmcm9tCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiRElTQUJMRUQiIGFuZCAiRU5BQkxFRCI8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDEwMiBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzExNDt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkRJU0FCTEVEIiBhbmQgIkVOQUJMRUQiPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlNQSV9USU1PREVfRElTQUJMRTxiPkQ8L2I+Jm5ic3A7YnkKIAogCiAKIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlNQSV9USU1PREVfRElTQUJMRTxiPkQ8L2I+Jm5ic3A7YnkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU1BJX1RJTU9ERV9ESVNBQkxFPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5TUElfVElNT0RFX0VOQUJMRTxiPkQ8L2I+Jm5ic3A7YnkmbmJzcDtTUElfVElNT0RFX0VOQUJMRTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+U1BJX0NSQ0NBTENVTEFUSU9OX0RJU0FCTEU8Yj5EPC9iPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+YnkKIAogCiAKIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTUElfVElNT0RFX0RJU0FCTEU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJm5ic3A7U1BJPC9zcGFuPjwvc3Bhbj5fQ1JDQ0FMQ1VMQVRJT05fRElTQUJMRTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+U1BJX0NSQ0NBTENVTEFUSU9OX0VOQUJMRTxiPkQ8L2I+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5ieQogCiAKIAogCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTAyIGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTE0O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5TUElfVElNT0RFX0VOQUJMRTxiPkQ8L2I+Jm5ic3A7YnkmbmJzcDtTUElfVElNT0RFX0VOQUJMRTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxMDIgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMTQ7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlNQSV9DUkNDQUxDVUxBVElPTl9ESVNBQkxFPGI+RDwvYj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+YnkKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJm5ic3A7U1BJPC9zcGFuPjwvc3Bhbj5fQ1JDQ0FMQ1VMQVRJT05fRElTQUJMRTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxMDIgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMTQ7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlNQSV9DUkNDQUxDVUxBVElPTl9FTkFCTEU8Yj5EPC9iPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5ieQotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbmJzcDtTUEk8L3NwYW4+PC9zcGFuPl9DUkNDQUxDVUxBVElPTl9FTkFCTEU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZuYnNwO1NQSTwvc3Bhbj48L3NwYW4+X0NSQ0NBTENVTEFUSU9OX0VOQUJMRTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxMDIgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTE0O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5BZGQgdXNlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvZiZuYnNwOzxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi1zdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj50bXByZWc8L3NwYW4+PC9zcGFuPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyaWFibGUgaW4gX19IQUxfU1BJX0NMRUFSXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5NT0RGRkxBRyg8L3NwYW4+PC9zcGFuPiksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkIHVzZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2YmbmJzcDs8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnRtcHJlZzwvc3Bhbj48L3NwYW4+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXJpYWJsZSBpbiBfX0hBTF9TUElfQ0xFQVJfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPk1PREZGTEFHKDwvc3Bhbj48L3NwYW4+KSwKIAogCiAKQEAgLTQ3MzE2LDE3NTcgKzk3MDMsMjkwIEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX0hBTF9TUElfQ0xFQVJfRlJFRkxBRygpIGFuZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19IQUxfU1BJX0NMRUFSX09WUkZMQUcoKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFjcm9zIGZvciZuYnNwO2NvbXBsaWFuY3kKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpdGggQysrPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpdGggQysrPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9Ik1zb0xpc3RQYXJhZ3JhcGgiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibWFyZ2luLWxlZnQ6LjVpbjt0ZXh0LWluZGVudDotLjI1aW47Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YWItc3RvcHM6bGlzdCAuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDttc28tYmlkaS1mb250LXNpemU6Ci0xMi4wcHQ7Zm9udC1mYW1pbHk6V2luZ2RpbmdzO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OldpbmdkaW5nczsKLW1zby1iaWRpLWZvbnQtZmFtaWx5OldpbmdkaW5ncztjb2xvcjpibGFjayI+pzwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjcuMHB0O21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OldpbmdkaW5ncztjb2xvcjpibGFjayI+Jm5ic3A7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9Ik1zb0xpc3RQYXJhZ3JhcGgiIHN0eWxlPSJtYXJnaW4tbGVmdDogMC41aW47IHRleHQtaW5kZW50OiAtMC4yNWluOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6IFdpbmdkaW5nczsgY29sb3I6IGJsYWNrOyI+pzwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiA3cHQ7IGNvbG9yOiBibGFjazsiPiZuYnNwOwogCiAKIAogCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+PGI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6YmxhY2siPkhBTCBTRE1NQyA8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6YmxhY2siPnVwZGF0ZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2siPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyBjb2xvcjogYmxhY2s7Ij5IQUwgU0RNTUMgPC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyBjb2xvcjogYmxhY2s7Ij51cGRhdGU8L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOiBibGFjazsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgdHlwZT0ic3F1YXJlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG87bXNvLWxpc3Q6bDIwCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWwyIGxmbzExNTt0YWItc3RvcHM6IGxpc3QKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPklTX1NESU9fQUxMXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5JTlNUQU5DRSg8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SVNfU0RJT19BTExfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPklOU1RBTkNFKDwvc3Bhbj48L3NwYW4+KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJm5ic3A7bWFjcm8gbW92ZWQgdG8gQ01TSVMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVzPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlczwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMjAgbGV2ZWwxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzExNTt0YWItc3RvcHM6bGlzdCAuNWluIj48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKIAogCiAKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij5IQUwKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExUREMgPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+dXBkYXRlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTFREQyA8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG87bXNvLWxpc3Q6bDIwCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWwyIGxmbzExNTt0YWItc3RvcHM6IGxpc3QKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLjBpbiI+PHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkhBTF9MVERDX0NvbmZpZ0NMVVQ8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjogb3B0aW1pemUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7Ij48c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX0xURENfQ29uZmlnQ0xVVDwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPjogb3B0aW1pemUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBmdW5jdGlvbiB3aGVuIHBpeGVsIGZvcm1hdAotaXMmbmJzcDtMVERDX1BJWEVMX0ZPUk1BVF9BTDQ0Jm5ic3A7PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwyMCBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzExNTt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+VXBkYXRlIHRoZQoraXMmbmJzcDtMVERDX1BJWEVMX0ZPUk1BVF9BTDQ0Jm5ic3A7PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZSB0aGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZSBvZiBjb2xvciBsb29rIHVwIHRhYmxlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvIDE2IGluc3RlYWQgb2YgMjU2IHdoZW4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlJm5ic3A7cGl4ZWwgZm9ybWF0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzJm5ic3A7TFREQ19QSVhFTF9GT1JNQVRfQUw0NAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDIwIGxldmVsMQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMTU7dGFiLXN0b3BzOmxpc3QgLjVpbiI+PGI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMCiAKIAogCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+SEFMCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOQU5EIDwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPnVwZGF0ZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDIwIGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzExNTt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+UmVuYW1lIE5BTkQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgc3RydWN0dXJlIHRvIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+TkFORF9BZGRyZXNzVHlwZTxiPkQ8L2I+ZWY8L3NwYW4+PC9zcGFuPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5zdGVhZCBvZiA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPk5BTkRfPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+QWRkcmVzc1R5cGVkZWY8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDIwIGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzExNTt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+VXBkYXRlIHRoZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlZCBhbGdvcml0aG0gb2YgdGhlc2UgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPmZ1bmN0aW9uczwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwyMCBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzExNTt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkhBTF9OQU5EX1JlYWRfPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5QYWdlKDwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+KTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwyMCBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzExNTt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkhBTF9OQU5EX1dyaXRlXzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+UGFnZSg8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPik8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMjAgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMTU7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5IQUxfTkFORF9SZWFkXzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+U3BhcmVBcmVhKDwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+KTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwyMCBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzExNTt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkhBTF9OQU5EX1dyaXRlXzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+U3BhcmVBcmVhKDwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+KTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTkFORCA8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5SZW5hbWUgTkFORAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQWRkcmVzcyBzdHJ1Y3R1cmUgdG8gPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5OQU5EX0FkZHJlc3NUeXBlPGI+RDwvYj5lZjwvc3Bhbj48L3NwYW4+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnN0ZWFkIG9mIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+TkFORF88L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGRyZXNzVHlwZWRlZjwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXBkYXRlIHRoZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlZCBhbGdvcml0aG0gb2YgdGhlc2UgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPmZ1bmN0aW9uczwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9OQU5EX1JlYWRfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5QYWdlKDwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPik8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9OQU5EX1dyaXRlXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+UGFnZSg8L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4pPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfTkFORF9SZWFkXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+U3BhcmVBcmVhKDwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPik8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9OQU5EX1dyaXRlXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+U3BhcmVBcmVhKDwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPik8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21zby1tYXJnaW4tdG9wLWFsdDphdXRvOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvO21zby1saXN0OmwyMAotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsMiBsZm8xMTU7dGFiLXN0b3BzOiBsaXN0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMS4waW4iPjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5IQUxfTkFORF9Xcml0ZV88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5QYWdlKDwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+KTogbW92ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5pdGlhbGl6YXRpb24gb2YgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj50aWNrc3RhcnQ8L3NwYW4+PC9zcGFuPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmVmb3JlIHdoaWxlIGxvb3A8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwyMCBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMTU7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SEFMX05BTkRfRXJhc2VfPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+QmxvY2soPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4pOiBhZGQgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj53aGFpdDwvc3Bhbj48L3NwYW4+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyI+PHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9OQU5EX1dyaXRlXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+UGFnZSg8L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4pOiBtb3ZlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbml0aWFsaXphdGlvbiBvZiA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnRpY2tzdGFydDwvc3Bhbj48L3NwYW4+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZWZvcmUgd2hpbGUgbG9vcDwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9OQU5EX0VyYXNlXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QmxvY2soPC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+KTogYWRkIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+d2hhaXQ8L3NwYW4+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW50aWwgTkFORCBzdGF0dXMgaXMgcmVhZHkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJlZm9yZSBleGl0aW5nIHRoaXMgZnVuY3Rpb248L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmVmb3JlIGV4aXRpbmcgdGhpcyBmdW5jdGlvbjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMjAgbGV2ZWwxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzExNTt0YWItc3RvcHM6bGlzdCAuNWluIj48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKIAogCiAKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij5IQUwKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5PUiA8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij51cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOT1IgPC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21zby1tYXJnaW4tdG9wLWFsdDphdXRvOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvO21zby1saXN0OmwyMAotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsMiBsZm8xMTU7dGFiLXN0b3BzOiBsaXN0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5SZW5hbWUgTk9SCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIHN0cnVjdHVyZSB0byA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPk5PUl9BZGRyZXNzVHlwZTxiPkQ8L2I+ZWY8L3NwYW4+PC9zcGFuPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5zdGVhZCBvZiA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPk5PUl88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5BZGRyZXNzVHlwZWRlZjwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMjAgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTE1O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5OT1IgU3RhdHVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaXRlcmFscyA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuCi1zdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5yZW5hbWVkPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDIwIGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTE1O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5OT1JfU1VDQ0VTUwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBieSBIQUxfTk9SX1NUQVRVU19TVUNDRVNTPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDIwIGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTE1O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5OT1JfT05HT0lORwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBieSBIQUxfTk9SX1NUQVRVU19PTkdPSU5HPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDIwIGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTE1O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5OT1JfRVJST1IKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnkgSEFMX05PUl9TVEFUVVNfRVJST1I8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMjAgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMTU7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPk5PUl9USU1FT1VUCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ5IEhBTF9OT1JfU1RBVFVTX1RJTUVPVVQ8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+UmVuYW1lIE5PUgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQWRkcmVzcyBzdHJ1Y3R1cmUgdG8gPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5OT1JfQWRkcmVzc1R5cGU8Yj5EPC9iPmVmPC9zcGFuPjwvc3Bhbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluc3RlYWQgb2YgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5OT1JfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkcmVzc1R5cGVkZWY8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPk5PUiBTdGF0dXMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpdGVyYWxzIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5yZW5hbWVkPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Tk9SX1NVQ0NFU1MKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnkgSEFMX05PUl9TVEFUVVNfU1VDQ0VTUzwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Tk9SX09OR09JTkcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnkgSEFMX05PUl9TVEFUVVNfT05HT0lORzwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Tk9SX0VSUk9SCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ5IEhBTF9OT1JfU1RBVFVTX0VSUk9SPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5OT1JfVElNRU9VVAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBieSBIQUxfTk9SX1NUQVRVU19USU1FT1VUPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0bzttc28tbGlzdDpsMjAKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXZlbDIgbGZvMTE1O3RhYi1zdG9wczogbGlzdAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEuMGluIj48c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SEFMX05PUl88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5HZXRTdGF0dXMoPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4pIHVwZGF0ZSB0bworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsiPjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfTk9SXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+R2V0U3RhdHVzKDwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPikgdXBkYXRlIHRvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaXggVGltZW91dCBpc3N1ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kJm5ic3A7ZXhpdCBmcm9tIHdhaXRpbmcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvb3Agd2hlbiB0aW1lb3V0IG9jY3VycmVkPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvb3Agd2hlbiB0aW1lb3V0IG9jY3VycmVkPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwyMCBsZXZlbDEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTE1O3RhYi1zdG9wczpsaXN0IC41aW4iPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAogCiAKIAotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPkhBTAotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUENDQVJEIDwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPnVwZGF0ZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwyMCBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMTU7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlJlbmFtZSBQQ0NBUkQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgc3RydWN0dXJlIHRvIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX1BDQ0FSRF9TdGF0dXNUeXBlPGI+RDwvYj5lZjwvc3Bhbj48L3NwYW4+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnN0ZWFkIG9mJm5ic3A7PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5DRl88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5TdGF0dXNUeXBlZGVmPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwyMCBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMTU7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlBDQ0FSRCBTdGF0dXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpdGVyYWxzIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4KLXN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPnJlbmFtZWQ8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMjAgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMTU7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkNGX1NVQ0NFU1MKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnkgSEFMX1BDQ0FSRF9TVEFUVVNfU1VDQ0VTUzwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwyMCBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzExNTt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+Q0ZfT05HT0lORwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBieSBIQUxfUENDQVJEX1NUQVRVU19PTkdPSU5HPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDIwIGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTE1O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5DRl9FUlJPUgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBieSZuYnNwO0hBTF9QQ0NBUkRfU1RBVFVTX0VSUk9SPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDIwIGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTE1O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5DRl9USU1FT1VUCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ5IEhBTF9QQ0NBUkRfU1RBVFVTX1RJTUVPVVQ8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBDQ0FSRCA8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5SZW5hbWUgUENDQVJECisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIHN0cnVjdHVyZSB0byA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9QQ0NBUkRfU3RhdHVzVHlwZTxiPkQ8L2I+ZWY8L3NwYW4+PC9zcGFuPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5zdGVhZCBvZiZuYnNwOzxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Q0ZfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+U3RhdHVzVHlwZWRlZjwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+UENDQVJEIFN0YXR1cworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGl0ZXJhbHMgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnJlbmFtZWQ8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5DRl9TVUNDRVNTCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ5IEhBTF9QQ0NBUkRfU1RBVFVTX1NVQ0NFU1M8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkNGX09OR09JTkcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnkgSEFMX1BDQ0FSRF9TVEFUVVNfT05HT0lORzwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Q0ZfRVJST1IKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnkmbmJzcDtIQUxfUENDQVJEX1NUQVRVU19FUlJPUjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Q0ZfVElNRU9VVAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBieSBIQUxfUENDQVJEX1NUQVRVU19USU1FT1VUPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDIwIGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzExNTt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+VXBkYXRlICJDRiIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUgIkNGIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnkgIlBDQ0FSRCIgaW4mbmJzcDtmdW5jdGlvbnMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+bGl0ZXJhbHM8L3NwYW4+PC9zcGFuPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIG1hY3Jvczwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+bGl0ZXJhbHM8L3NwYW4+PC9zcGFuPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIG1hY3Jvczwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMjAgbGV2ZWwxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzExNTt0YWItc3RvcHM6bGlzdCAuNWluIj48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKIAogCiAKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij5IQUwKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBDRCA8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij51cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwyMCBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMTU7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlJlbmFtZSA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+ZnVuY3Rpb25zPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDIwIGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTE1O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SEFMX1BDRF88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PGI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkFjdGl2ZTwvc3Bhbj48L2I+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlJlbW90ZVdha2V1cCg8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPikgYnkgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX1BDRF88Yj5BY3RpdmF0ZTwvYj5SZW1vdGVXYWtldXA8L3NwYW4+PC9zcGFuPigpPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDIwIGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTE1O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SEFMX1BDRF88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PGI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkRlQWN0aXZlPC9zcGFuPjwvYj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+UmVtb3RlV2FrZXVwKDwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+KSBieSA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5IQUxfUENEXzxiPkRlQWN0aXZhdGU8L2I+UmVtb3RlV2FrZXVwPC9zcGFuPjwvc3Bhbj4oKTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUENEIDwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlJlbmFtZSA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+ZnVuY3Rpb25zPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX1BDRF88L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFjdGl2ZTwvc3Bhbj48L2I+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlJlbW90ZVdha2V1cCg8L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4pIGJ5IDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX1BDRF88Yj5BY3RpdmF0ZTwvYj5SZW1vdGVXYWtldXA8L3NwYW4+PC9zcGFuPigpPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfUENEXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RGVBY3RpdmU8L3NwYW4+PC9iPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5SZW1vdGVXYWtldXAoPC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+KSBieSA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9QQ0RfPGI+RGVBY3RpdmF0ZTwvYj5SZW1vdGVXYWtldXA8L3NwYW4+PC9zcGFuPigpPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDIwIGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzExNTt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+UmVuYW1lIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5saXRlcmFsczwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwyMCBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzExNTt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+VVNCX0ZTX0VYVElfVFJJR0dFUl9SSVNJTkdfRURHRQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlJlbmFtZSA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+bGl0ZXJhbHM8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VU0JfRlNfRVhUSV9UUklHR0VSX1JJU0lOR19FREdFCiAKIAogCiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVVNCX09UR19GU19XQUtFVVBfRVhUSV9SSVNJTkdfRURHRTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwyMCBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzExNTt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+VVNCX0ZTX0VYVElfVFJJR0dFUl9GQUxMSU5HX0VER0UKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVVNCX09UR19GU19XQUtFVVBfRVhUSV9SSVNJTkdfRURHRTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VVNCX0ZTX0VYVElfVFJJR0dFUl9GQUxMSU5HX0VER0UKIAogCiAKIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBieQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVU0JfT1RHX0ZTX1dBS0VVUF9FWFRJX0ZBTExJTkdfRURHRTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwyMCBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzExNTt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+VVNCX0ZTX0VYVElfVFJJR0dFUl9CT1RIXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+RURHRSg8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVVNCX09UR19GU19XQUtFVVBfRVhUSV9GQUxMSU5HX0VER0U8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVTQl9GU19FWFRJX1RSSUdHRVJfQk9USF88c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RURHRSg8L3NwYW4+PC9zcGFuPikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVVNCX09UR19GU19XQUtFVVBfRVhUSV9SSVNJTkdfRkFMTElOR19FREdFPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDIwIGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTE1O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5VU0JfSFNfRVhUSV9UUklHR0VSX1JJU0lOR19FREdFCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVTQl9PVEdfRlNfV0FLRVVQX0VYVElfUklTSU5HX0ZBTExJTkdfRURHRTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VVNCX0hTX0VYVElfVFJJR0dFUl9SSVNJTkdfRURHRQogCiAKIAogCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ5Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVTQl9PVEdfSFNfV0FLRVVQX0VYVElfUklTSU5HX0VER0UmbmJzcDs8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMjAgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMTU7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlVTQl9IU19FWFRJX1RSSUdHRVJfRkFMTElOR19FREdFCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVTQl9PVEdfSFNfV0FLRVVQX0VYVElfUklTSU5HX0VER0UmbmJzcDs8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVTQl9IU19FWFRJX1RSSUdHRVJfRkFMTElOR19FREdFCiAKIAogCiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVVNCX09UR19IU19XQUtFVVBfRVhUSV9GQUxMSU5HX0VER0U8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMjAgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMTU7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlVTQl9IU19FWFRJX1RSSUdHRVJfQk9USF9FREdFCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVTQl9PVEdfSFNfV0FLRVVQX0VYVElfRkFMTElOR19FREdFPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VU0JfSFNfRVhUSV9UUklHR0VSX0JPVEhfRURHRQogCiAKIAogCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ5Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVTQl9PVEdfSFNfV0FLRVVQX0VYVElfUklTSU5HX0ZBTExJTkdfRURHRTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwyMCBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzExNTt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+VVNCX0hTX0VYVElfTElORV9XQUtFVVAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVVNCX09UR19IU19XQUtFVVBfRVhUSV9SSVNJTkdfRkFMTElOR19FREdFPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VU0JfSFNfRVhUSV9MSU5FX1dBS0VVUAogCiAKIAogCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ5Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVTQl9PVEdfSFNfRVhUSV9MSU5FX1dBS0VVUDwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwyMCBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzExNTt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+VVNCX0ZTX0VYVElfTElORV9XQUtFVVAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVVNCX09UR19IU19FWFRJX0xJTkVfV0FLRVVQPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VU0JfRlNfRVhUSV9MSU5FX1dBS0VVUAogCiAKIAogCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ5Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVTQl9PVEdfRlNfRVhUSV9MSU5FX1dBS0VVUDwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVU0JfT1RHX0ZTX0VYVElfTElORV9XQUtFVVA8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMjAgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTE1O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5SZW5hbWUgVVNCCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+UmVuYW1lIFVTQgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRVhUSSBtYWNyb3MgPGk+KEZTLDwvaT4gPGk+SFMKIAogCiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaT5yZWZlcmVuY2VkIGFzIDxiPlNVQkJMT0NLCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2I+aGVyZSBiZWxvdyk8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4gPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMjAgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMTU7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPl9fSEFMX1VTQl88Yj5TVUJCTE9DSzwvYj5fRVhUSV9FTkFCTEVfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5JVCg8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYj5oZXJlIGJlbG93KTwvc3Bhbj48c3BhbiBzdHlsZT0iIj4gPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5fX0hBTF9VU0JfPGI+U1VCQkxPQ0s8L2I+X0VYVElfRU5BQkxFXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5JVCg8L3NwYW4+PC9zcGFuPikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJm5ic3A7YnkmbmJzcDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19IQUxfVVNCX09UR188Yj5TVUJCTE9DSzwvYj5fV0FLRVVQX0VYVElfRU5BQkxFX0lUKCkmbmJzcDsmbmJzcDs8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwyMCBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzExNTt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+X19IQUxfVVNCXzxiPlNVQkJMT0NLPC9iPl9FWFRJX0RJU0FCTEVfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5JVCg8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPl9fSEFMX1VTQl88Yj5TVUJCTE9DSzwvYj5fRVhUSV9ESVNBQkxFXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5JVCg8L3NwYW4+PC9zcGFuPikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnkmbmJzcDtfX0hBTF9VU0JfT1RHXzxiPlNVQkJMT0NLPC9iPl9XQUtFVVBfRVhUSV9ESVNBQkxFX0lUKCk8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwyMCBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzExNTt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+X19IQUxfVVNCXzxiPlNVQkJMT0NLPC9iPl9FWFRJX0dFVF88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkZMQUcoPC9zcGFuPjwvc3Bhbj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5fX0hBTF9VU0JfPGI+U1VCQkxPQ0s8L2I+X0VYVElfR0VUXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5GTEFHKDwvc3Bhbj48L3NwYW4+KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBieSZuYnNwO19fSEFMX1VTQl9PVEdfPGI+U1VCQkxPQ0s8L2I+X1dBS0VVUF9FWFRJX0dFVF9GTEFHKCkmbmJzcDs8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwyMCBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzExNTt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+X19IQUxfVVNCXzxiPlNVQkJMT0NLPC9iPl9FWFRJX0NMRUFSXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+RkxBRyg8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPl9fSEFMX1VTQl88Yj5TVUJCTE9DSzwvYj5fRVhUSV9DTEVBUl88c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RkxBRyg8L3NwYW4+PC9zcGFuPikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnkmbmJzcDtfX0hBTF9VU0JfT1RHXzxiPlNVQkJMT0NLPC9iPl9XQUtFVVBfRVhUSV9DTEVBUl9GTEFHKCk8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwyMCBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzExNTt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+X19IQUxfVVNCXzxiPlNVQkJMT0NLPC9iPl9FWFRJX1NFVF9SSVNJTkdfRUdERV88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPlRSSUdHRVIoPC9zcGFuPjwvc3Bhbj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5fX0hBTF9VU0JfPGI+U1VCQkxPQ0s8L2I+X0VYVElfU0VUX1JJU0lOR19FR0RFXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5UUklHR0VSKDwvc3Bhbj48L3NwYW4+KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBieSZuYnNwO19fSEFMX1VTQl9PVEdfPGI+U1VCQkxPQ0s8L2I+X1dBS0VVUF9FWFRJX0VOQUJMRV9SSVNJTkdfRURHRSgpPG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMjAgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMTU7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPl9fSEFMX1VTQl88Yj5TVUJCTE9DSzwvYj5fRVhUSV9TRVRfRkFMTElOR19FR0RFXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+VFJJR0dFUig8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPl9fSEFMX1VTQl88Yj5TVUJCTE9DSzwvYj5fRVhUSV9TRVRfRkFMTElOR19FR0RFXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5UUklHR0VSKDwvc3Bhbj48L3NwYW4+KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBieSBfX0hBTF9VU0JfT1RHXzxiPlNVQkJMT0NLPC9iPl9XQUtFVVBfRVhUSV9FTkFCTEVfRkFMTElOR19FREdFKCk8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwyMCBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzExNTt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+X19IQUxfVVNCXzxiPlNVQkJMT0NLPC9iPl9FWFRJX1NFVF9GQUxMSU5HUklTSU5HXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+VFJJR0dFUig8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPl9fSEFMX1VTQl88Yj5TVUJCTE9DSzwvYj5fRVhUSV9TRVRfRkFMTElOR1JJU0lOR188c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VFJJR0dFUig8L3NwYW4+PC9zcGFuPikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnkmbmJzcDtfX0hBTF9VU0JfT1RHXzxiPlNVQkJMT0NLPC9iPl9XQUtFVVBfRVhUSV9FTkFCTEVfUklTSU5HX0ZBTExJTkdfRURHRSgpPG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMjAgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMTU7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPl9fSEFMX1VTQl88Yj5TVUJCTE9DSzwvYj5fRVhUSV9HRU5FUkFURV88c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+U1dJVCg8L3NwYW4+PC9zcGFuPikmbmJzcDsKIAogCiAKIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPl9fSEFMX1VTQl88Yj5TVUJCTE9DSzwvYj5fRVhUSV9HRU5FUkFURV88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPlNXSVQoPC9zcGFuPjwvc3Bhbj4pJm5ic3A7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnkmbmJzcDtfX0hBTF9VU0JfT1RHXzxiPlNVQkJMT0NLPC9iPl9XQUtFVVBfRVhUSV9HRU5FUkFURV9TV0lUKCkmbmJzcDsmbmJzcDsmbmJzcDs8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnkmbmJzcDtfX0hBTF9VU0JfT1RHXzxiPlNVQkJMT0NLPC9iPl9XQUtFVVBfRVhUSV9HRU5FUkFURV9TV0lUKCkmbmJzcDsmbmJzcDsmbmJzcDs8L3NwYW4+PHNwYW4gc3R5bGU9IiI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Cis8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxMjcgbGV2ZWwxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzExNjt0YWItc3RvcHM6bGlzdCAuNWluIj48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMCiAKIAogCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+SEFMCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSTkcgPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+dXBkYXRlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTI3IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzExNjt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+QWRkIG5ldyA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+ZnVuY3Rpb25zPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUk5HIDwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZCBuZXcgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPmZ1bmN0aW9uczwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21zby1tYXJnaW4tdG9wLWFsdDphdXRvOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG87bXNvLWxpc3Q6bDEyNwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWwzIGxmbzExNjt0YWItc3RvcHM6IGxpc3QKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEuNWluIj48c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SEFMX1JOR188L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkdlbmVyYXRlUmFuZG9tTnVtYmVyKDwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+KTogdG8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsiPjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfUk5HXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+R2VuZXJhdGVSYW5kb21OdW1iZXIoPC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+KTogdG8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2VuZXJhdGUgYSAzMi1iaXRzIHJhbmRvbQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBudW1iZXIsPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+cmV0dXJuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG51bWJlciw8L3NwYW4+PHNwYW4gc3R5bGU9IiI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnJldHVybgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByYW5kb20gdmFsdWUgaW4gYXJndW1lbnQgYW5kCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBIQUwgc3RhdHVzLjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21zby1tYXJnaW4tdG9wLWFsdDphdXRvOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG87bXNvLWxpc3Q6bDEyNwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWwzIGxmbzExNjt0YWItc3RvcHM6IGxpc3QKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEuNWluIj48c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SEFMX1JOR19HZW5lcmF0ZVJhbmRvbU51bWJlcl88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPklUKDwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+KTogdG8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEhBTCBzdGF0dXMuPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7Ij48c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX1JOR19HZW5lcmF0ZVJhbmRvbU51bWJlcl88L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPklUKDwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPik6IHRvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZuYnNwO3N0YXJ0IGdlbmVyYXRpb24gb2YKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlJm5ic3A7MzItYml0cyByYW5kb20KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbnVtYmVyLCB1c2VyIHNob3VsZCBjYWxsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSZuYnNwOzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkhBTF9STkdfUmVhZExhc3RSYW5kb21OdW1iZXI8L3NwYW4+PC9zcGFuPigpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSZuYnNwOzxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX1JOR19SZWFkTGFzdFJhbmRvbU51bWJlcjwvc3Bhbj48L3NwYW4+KCkKIAogCiAKIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiB1bmRlciB0aGUgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5IQUxfUk5HX1JlYWR5Q2FsbGJhY2s8L3NwYW4+PC9zcGFuPigpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIHVuZGVyIHRoZSA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9STkdfUmVhZHlDYWxsYmFjazwvc3Bhbj48L3NwYW4+KCkKIAogCiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gZ2V0IHRoZSBnZW5lcmF0ZWQgcmFuZG9tCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlLjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvO21zby1saXN0OmwxMjcKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsMyBsZm8xMTY7dGFiLXN0b3BzOiBsaXN0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLjVpbiI+PHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkhBTF9STkdfPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5SZWFkTGFzdFJhbmRvbU51bWJlcig8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPik6Jm5ic3A7dG8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUuPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7Ij48c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX1JOR188L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlJlYWRMYXN0UmFuZG9tTnVtYmVyKDwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPik6Jm5ic3A7dG8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoZSBsYXN0IHJhbmRvbSB2YWx1ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdG9yZWQgaW4gdGhlIFJORyBoYW5kbGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RvcmVkIGluIHRoZSBSTkcgaGFuZGxlPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDEyNyBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMTY7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SEFMX1JOR188L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5HZXRSYW5kb21OdW1iZXIoPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4pOiByZXR1cm4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfUk5HXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+R2V0UmFuZG9tTnVtYmVyKDwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPik6IHJldHVybgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgdXBkYXRlIChvYnNvbGV0ZSksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXBsYWNlZCBieSA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkhBTF9STkdfR2VuZXJhdGVSYW5kb21OdW1iZXI8L3NwYW4+PC9zcGFuPigpPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21zby1tYXJnaW4tdG9wLWFsdDphdXRvOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvO21zby1saXN0OmwxMjcKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXZlbDIgbGZvMTE2O3RhYi1zdG9wczogbGlzdAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEuMGluIj48c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SEFMX1JOR19HZXRSYW5kb21OdW1iZXJfPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SVQoPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4pOiB3cm9uZworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVwbGFjZWQgYnkgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfUk5HX0dlbmVyYXRlUmFuZG9tTnVtYmVyPC9zcGFuPjwvc3Bhbj4oKTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsiPjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfUk5HX0dldFJhbmRvbU51bWJlcl88L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPklUKDwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPik6IHdyb25nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbXBsZW1lbnRhdGlvbiAob2Jzb2xldGUpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVwbGFjZWQgYnkmbmJzcDs8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkhBTF9STkdfR2VuZXJhdGVSYW5kb21OdW1iZXJfSVQ8L3NwYW4+PC9zcGFuPigpPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21zby1tYXJnaW4tdG9wLWFsdDphdXRvOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvO21zby1saXN0OmwxMjcKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXZlbDIgbGZvMTE2O3RhYi1zdG9wczogbGlzdAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+X19IQUxfUk5HX0NMRUFSXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5GTEFHKDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVwbGFjZWQgYnkmbmJzcDs8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9STkdfR2VuZXJhdGVSYW5kb21OdW1iZXJfSVQ8L3NwYW4+PC9zcGFuPigpPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPl9fSEFMX1JOR19DTEVBUl88c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RkxBRyg8L3NwYW4+PC9zcGFuPikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hY3JvIChvYnNvbGV0ZSksIHJlcGxhY2VkIGJ5Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXcgX19IQUxfUk5HX0NMRUFSX0lUKCkgbWFjcm88L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxMjcgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTE2O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5BZGQgbmV3CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXcgX19IQUxfUk5HX0NMRUFSX0lUKCkgbWFjcm88L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQgbmV3CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWZpbmUgZm9yJm5ic3A7Uk5HIHJlYWR5Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnRlcnJ1cHQ6Jm5ic3A7IFJOR19JVF9EUkRZPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludGVycnVwdDombmJzcDsgUk5HX0lUX0RSRFk8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDEyNyBsZXZlbDEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTE2O3RhYi1zdG9wczpsaXN0IC41aW4iPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAorCisKKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUlRDIDwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gY2xhc3M9InNwZWxsZSI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9SVENfPC9zcGFuPjwvaT48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48aT48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+R2V0VGltZSg8L3NwYW4+PC9pPjwvc3Bhbj48aT48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+KSBhbmQgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfUlRDX0dldERhdGU8L3NwYW4+PC9zcGFuPigpOgogCiAKIAogCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPkhBTAotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUlRDIDwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPnVwZGF0ZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDEyNyBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMTY7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48aT48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SEFMX1JUQ188L3NwYW4+PC9pPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48aT48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+R2V0VGltZSg8L3NwYW4+PC9pPjwvc3Bhbj48aT48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4pIGFuZCA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5IQUxfUlRDX0dldERhdGU8L3NwYW4+PC9zcGFuPigpOgotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkZCB0aGUgY29tbWVudCBiZWxvdzwvc3Bhbj48L2k+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZGQgdGhlIGNvbW1lbnQgYmVsb3c8L3NwYW4+PC9pPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBzdHlsZT0ibWFyZ2luLWxlZnQ6MzAuMHB0Ij4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9Im1hcmdpbi1sZWZ0OjMwLjBwdCI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvIj48aT48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPiZuYnNwOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9Im1hcmdpbi1sZWZ0OiAzMHB0OyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPSJtYXJnaW4tbGVmdDogMzBwdDsiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iIj48aT48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Jm5ic3A7CiAKIAogCiAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiBAbm90ZSBZb3UgbXVzdCBjYWxsIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkhBTF9SVENfPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkdldERhdGUoPC9zcGFuPjwvc3Bhbj4pCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFmdGVyIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi1zdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5IQUxfUlRDX0dldFRpbWU8L3NwYW4+PC9zcGFuPigpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogQG5vdGUgWW91IG11c3QgY2FsbCA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9SVENfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+R2V0RGF0ZSg8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWZ0ZXIgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfUlRDX0dldFRpbWU8L3NwYW4+PC9zcGFuPigpCiAKIAogCiAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gdW5sb2NrIHRoZSB2YWx1ZXMgPC9zcGFuPjwvaT48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQiPjxicj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+PGk+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj4mbmJzcDsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gdW5sb2NrIHRoZSB2YWx1ZXMgPC9zcGFuPjwvaT48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyI+PGJyPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj48aT48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Jm5ic3A7CiAKIAogCkBAIC00OTA3NCwxMCArOTk5NCw4IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogaW4gdGhlIGhpZ2hlci1vcmRlcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYWxlbmRhciBzaGFkb3cgcmVnaXN0ZXJzIHRvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuc3VyZSBjb25zaXN0ZW5jeSBiZXR3ZWVuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSB0aW1lIGFuZCBkYXRlIHZhbHVlcy48L3NwYW4+PC9pPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdCI+PGJyPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj48aT48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPiZuYnNwOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgdGltZSBhbmQgZGF0ZSB2YWx1ZXMuPC9zcGFuPjwvaT48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyI+PGJyPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj48aT48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Jm5ic3A7CiAKIAogCkBAIC00OTA4NSwzNjY4ICsxMDAwMyw2MDkgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiBSZWFkaW5nIFJUQyBjdXJyZW50IHRpbWUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9ja3MgdGhlIHZhbHVlcyBpbiBjYWxlbmRhcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaGFkb3cgcmVnaXN0ZXJzIHVudGlsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEN1cnJlbnQgZGF0ZSBpcyByZWFkLiZuYnNwOzwvc3Bhbj48L2k+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0Ij48bzpwPjwvbzpwPjwvc3Bhbj48L3A+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEN1cnJlbnQgZGF0ZSBpcyByZWFkLiZuYnNwOzwvc3Bhbj48L2k+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMzIgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTE3O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5SZW5hbWUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpdGVyYWxzOiBhZGQgcHJlZml4ICJfXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5IQUwiPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDMyIGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTE3O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5GT1JNQVRfQklOJm5ic3A7YnkmbmJzcDtIQUxfRk9STUFUX0JJTjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwzMiBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzExNzt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+Rk9STUFUX0JDRAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBieSZuYnNwO0hBTF9GT1JNQVRfQkNEPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlJlbmFtZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGl0ZXJhbHM6IGFkZCBwcmVmaXggIl9fPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTCI8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5GT1JNQVRfQklOJm5ic3A7YnkmbmJzcDtIQUxfRk9STUFUX0JJTjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Rk9STUFUX0JDRAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBieSZuYnNwO0hBTF9GT1JNQVRfQkNEPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDMyIGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzExNzt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+UmVuYW1lIG1hY3JvcworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlJlbmFtZSBtYWNyb3MKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpPihBTEFSTSw8L2k+IFdBS0VVUFRJTUVSIGFuZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGk+VElNRVNUQU1QIDwvaT5yZWZlcmVuY2VkCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcyA8Yj5TVUJCTE9DSyA8L2I+aGVyZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmVsb3cpPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwzMiBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzExNzt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+X19IQUxfUlRDX0VYVElfRU5BQkxFXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SVQoPC9zcGFuPjwvc3Bhbj4pCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ5Jm5ic3A7IF9fSEFMX1JUQ188Yj5TVUJCTE9DSzwvYj5fRVhUSV9FTkFCTEVfSVQoKTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwzMiBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzExNzt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+X19IQUxfUlRDX0VYVElfRElTQUJMRV88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPklUKDwvc3Bhbj48L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBieSZuYnNwOyBfX0hBTF9SVENfPGI+U1VCQkxPQ0s8L2I+X0VYVElfRElTQUJMRV9JVCgpPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDMyIGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTE3O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5fX0hBTF9SVENfRVhUSV9DTEVBUl88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkZMQUcoPC9zcGFuPjwvc3Bhbj4pCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ5Jm5ic3A7IF9fSEFMX1JUQ188Yj5TVUJCTE9DSzwvYj5fRVhUSV9DTEVBUl9GTEFHKCk8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMzIgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMTc7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPl9fSEFMX1JUQ19FWFRJX0dFTkVSQVRFXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+U1dJVCg8L3NwYW4+PC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnkgX19IQUxfUlRDXzxiPlNVQkJMT0NLPC9iPl9FWFRJX0dFTkVSQVRFX1NXSVQoKTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmVsb3cpPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPl9fSEFMX1JUQ19FWFRJX0VOQUJMRV88c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SVQoPC9zcGFuPjwvc3Bhbj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ5Jm5ic3A7IF9fSEFMX1JUQ188Yj5TVUJCTE9DSzwvYj5fRVhUSV9FTkFCTEVfSVQoKTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+X19IQUxfUlRDX0VYVElfRElTQUJMRV88c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SVQoPC9zcGFuPjwvc3Bhbj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ5Jm5ic3A7IF9fSEFMX1JUQ188Yj5TVUJCTE9DSzwvYj5fRVhUSV9ESVNBQkxFX0lUKCk8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPl9fSEFMX1JUQ19FWFRJX0NMRUFSXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5GTEFHKDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBieSZuYnNwOyBfX0hBTF9SVENfPGI+U1VCQkxPQ0s8L2I+X0VYVElfQ0xFQVJfRkxBRygpPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5fX0hBTF9SVENfRVhUSV9HRU5FUkFURV88c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+U1dJVCg8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnkgX19IQUxfUlRDXzxiPlNVQkJMT0NLPC9iPl9FWFRJX0dFTkVSQVRFX1NXSVQoKTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwzMiBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMTc7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkFkZCBuZXcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQgbmV3CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWNyb3MgPGk+KEFMQVJNLDwvaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdBS0VVUFRJTUVSIGFuZCA8aT5UQU1QRVJfVElNRVNUQU1QCiAKIAogCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2k+cmVmZXJlbmNlZCBhcyA8Yj5TVUJCTE9DSwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9iPmhlcmUgYmVsb3cpPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwzMiBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzExNzt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+X19IQUxfUlRDXzxiPlNVQkJMT0NLPC9iPl9HRVRfSVRfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5TT1VSQ0UoPC9zcGFuPjwvc3Bhbj4pJm5ic3A7PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDMyIGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTE3O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5fX0hBTF9SVENfPGI+U1VCQkxPQ0s8L2I+X0VYVElfRU5BQkxFXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+RVZFTlQoPC9zcGFuPjwvc3Bhbj4pPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDMyIGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTE3O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5fX0hBTF9SVENfPGI+U1VCQkxPQ0s8L2I+X0VYVElfRElTQUJMRV88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkVWRU5UKDwvc3Bhbj48L3NwYW4+KTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwzMiBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzExNzt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+X19IQUxfUlRDXzxiPlNVQkJMT0NLPC9iPl9FWFRJX0VOQUJMRV9GQUxMSU5HXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+RURHRSg8L3NwYW4+PC9zcGFuPik8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMzIgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMTc7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPl9fSEFMX1JUQ188Yj5TVUJCTE9DSzwvYj5fRVhUSV9ESVNBQkxFX0ZBTExJTkdfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5FREdFKDwvc3Bhbj48L3NwYW4+KTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwzMiBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzExNzt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+X19IQUxfUlRDXzxiPlNVQkJMT0NLPC9iPl9FWFRJX0VOQUJMRV9SSVNJTkdfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5FREdFKDwvc3Bhbj48L3NwYW4+KTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwzMiBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzExNzt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+X19IQUxfUlRDXzxiPlNVQkJMT0NLPC9iPl9FWFRJX0RJU0FCTEVfUklTSU5HXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+RURHRSg8L3NwYW4+PC9zcGFuPik8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMzIgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMTc7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPiZuYnNwO19fSEFMX1JUQ188Yj5TVUJCTE9DSzwvYj5fRVhUSV9FTkFCTEVfUklTSU5HX0ZBTExJTkdfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5FREdFKDwvc3Bhbj48L3NwYW4+KTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwzMiBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzExNzt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+Jm5ic3A7X19IQUxfUlRDXzxiPlNVQkJMT0NLPC9iPl9FWFRJX0RJU0FCTEVfUklTSU5HX0ZBTExJTkdfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5FREdFKDwvc3Bhbj48L3NwYW4+KTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwzMiBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzExNzt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+Jm5ic3A7X19IQUxfUlRDXzxiPlNVQkJMT0NLPC9iPl9FWFRJX0dFVF88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkZMQUcoPC9zcGFuPjwvc3Bhbj4pPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2I+aGVyZSBiZWxvdyk8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+X19IQUxfUlRDXzxiPlNVQkJMT0NLPC9iPl9HRVRfSVRfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlNPVVJDRSg8L3NwYW4+PC9zcGFuPikmbmJzcDs8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPl9fSEFMX1JUQ188Yj5TVUJCTE9DSzwvYj5fRVhUSV9FTkFCTEVfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkVWRU5UKDwvc3Bhbj48L3NwYW4+KTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+X19IQUxfUlRDXzxiPlNVQkJMT0NLPC9iPl9FWFRJX0RJU0FCTEVfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkVWRU5UKDwvc3Bhbj48L3NwYW4+KTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+X19IQUxfUlRDXzxiPlNVQkJMT0NLPC9iPl9FWFRJX0VOQUJMRV9GQUxMSU5HXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5FREdFKDwvc3Bhbj48L3NwYW4+KTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+X19IQUxfUlRDXzxiPlNVQkJMT0NLPC9iPl9FWFRJX0RJU0FCTEVfRkFMTElOR188c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RURHRSg8L3NwYW4+PC9zcGFuPik8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPl9fSEFMX1JUQ188Yj5TVUJCTE9DSzwvYj5fRVhUSV9FTkFCTEVfUklTSU5HXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5FREdFKDwvc3Bhbj48L3NwYW4+KTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+X19IQUxfUlRDXzxiPlNVQkJMT0NLPC9iPl9FWFRJX0RJU0FCTEVfUklTSU5HXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5FREdFKDwvc3Bhbj48L3NwYW4+KTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Jm5ic3A7X19IQUxfUlRDXzxiPlNVQkJMT0NLPC9iPl9FWFRJX0VOQUJMRV9SSVNJTkdfRkFMTElOR188c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RURHRSg8L3NwYW4+PC9zcGFuPik8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPiZuYnNwO19fSEFMX1JUQ188Yj5TVUJCTE9DSzwvYj5fRVhUSV9ESVNBQkxFX1JJU0lOR19GQUxMSU5HXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5FREdFKDwvc3Bhbj48L3NwYW4+KTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Jm5ic3A7X19IQUxfUlRDXzxiPlNVQkJMT0NLPC9iPl9FWFRJX0dFVF88c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RkxBRyg8L3NwYW4+PC9zcGFuPik8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDMyIGxldmVsMQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMTc7dGFiLXN0b3BzOmxpc3QgLjVpbiI+PGI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMCiAKIAogCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+SEFMCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTQUkgPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+dXBkYXRlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMzIgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTE3O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5VcGRhdGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNBSV9TVFJFT01PREUgYnkmbmJzcDtTQUlfU1Q8Yj5FPC9iPlJFT01PREU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwzMiBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMTc7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlVwZGF0ZSBGSUZPCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTQUkgPC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXBkYXRlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTQUlfU1RSRU9NT0RFIGJ5Jm5ic3A7U0FJX1NUPGI+RTwvYj5SRU9NT0RFPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXBkYXRlIEZJRk8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXR1cyBMZXZlbCBkZWZpbmVzIGluIHVwcGVyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+Y2FzZTwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMzIgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTE3O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5SZW5hbWUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5jYXNlPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5SZW5hbWUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpdGVyYWxzOiByZW1vdmUgIkQiIGZyb20KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJESVNBQkxFRCIgYW5kICI8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+RU5BQkxFRCI8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMzIgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMTc7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlNBSV9PVVRQVVREUklWRV88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkRJU0FCTEVECisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiRElTQUJMRUQiIGFuZCAiPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkVOQUJMRUQiPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+U0FJX09VVFBVVERSSVZFXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5ESVNBQkxFRAogCiAKIAogCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbmJzcDtieTwvc3Bhbj48L3NwYW4+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNBSV9PVVRQVVREUklWRV9ESVNBQkxFPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDMyIGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTE3O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5TQUlfT1VUUFVURFJJVkVfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5FTkFCTEVECisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNBSV9PVVRQVVREUklWRV9ESVNBQkxFPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5TQUlfT1VUUFVURFJJVkVfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkVOQUJMRUQKIAogCiAKIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJm5ic3A7Ynk8L3NwYW4+PC9zcGFuPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTQUlfT1VUUFVURFJJVkVfRU5BQkxFPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDMyIGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTE3O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5TQUlfTUFTVEVSRElWSURFUl88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkVOQUJMRUQmbmJzcDsmbmJzcDtieTwvc3Bhbj48L3NwYW4+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNBSV9NQVNURVJESVZJREVSX0VOQUJMRTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwzMiBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzExNzt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+U0FJX01BU1RFUkRJVklERVJfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5ESVNBQkxFRCZuYnNwOyZuYnNwO2J5PC9zcGFuPjwvc3Bhbj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU0FJX01BU1RFUkRJVklERVJfRElTQUJMRTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTQUlfT1VUUFVURFJJVkVfRU5BQkxFPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5TQUlfTUFTVEVSRElWSURFUl88c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RU5BQkxFRCZuYnNwOyZuYnNwO2J5PC9zcGFuPjwvc3Bhbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU0FJX01BU1RFUkRJVklERVJfRU5BQkxFPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5TQUlfTUFTVEVSRElWSURFUl88c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RElTQUJMRUQmbmJzcDsmbmJzcDtieTwvc3Bhbj48L3NwYW4+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNBSV9NQVNURVJESVZJREVSX0RJU0FCTEU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMjIgbGV2ZWwxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzExODt0YWItc3RvcHM6bGlzdCAuNWluIj48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMCiAKIAogCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+SEFMCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTRCA8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij51cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwyMiBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMTg7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlJlbmFtZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU0RfQ01EX1NEX0FQUF9TVEFVUyZuYnNwO2J5Jm5ic3A7U0RfQ01EX1NEX0FQUF9TVEE8Yj5UPC9iPlVTPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMjIgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTE4O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PGk+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlNEXzwvc3Bhbj48L2k+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxpPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5Qb3dlck9OKDwvc3Bhbj48L2k+PC9zcGFuPjxpPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPikgPC9zcGFuPjwvaT48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij51cGRhdGVkIHRvCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTRCA8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5SZW5hbWUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNEX0NNRF9TRF9BUFBfU1RBVVMmbmJzcDtieSZuYnNwO1NEX0NNRF9TRF9BUFBfU1RBPGI+VDwvYj5VUzwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gY2xhc3M9InNwZWxsZSI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlNEXzwvc3Bhbj48L2k+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlBvd2VyT04oPC9zcGFuPjwvaT48L3NwYW4+PGk+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPikgPC9zcGFuPjwvaT48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlZCB0bwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWRkIDFtcyByZXF1aXJlZCBwb3dlciB1cAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2FpdGluZyB0aW1lIGJlZm9yZSBzdGFydGluZwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIFNEIGluaXRpYWxpemF0aW9uIHNlcXVlbmNlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgU0QgaW5pdGlhbGl6YXRpb24gc2VxdWVuY2U8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxpPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5TRF9ETUFfUnhDcGx0PC9zcGFuPjwvaT48L3NwYW4+PGk+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPigpLzxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+U0RfRE1BXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlR4Q3BsdCg8L3NwYW4+PC9zcGFuPik6CiAKIAogCiAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMjIgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTE4O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PGk+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlNEX0RNQV9SeENwbHQ8L3NwYW4+PC9pPjwvc3Bhbj48aT48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4oKS88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5TRF9ETUFfPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPlR4Q3BsdCg8L3NwYW4+PC9zcGFuPik6Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj48L2k+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPmFkZCBhIGNhbGwgdG8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX0RNQV9BYm9ydDwvc3Bhbj48L3NwYW4+KCk8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwyMiBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMTg7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48aT48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SEFMX1NEXzwvc3Bhbj48L2k+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxpPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5SZWFkQmxvY2tzKDwvc3Bhbj48L2k+PC9zcGFuPjxpPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPikgPC9zcGFuPjwvaT48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij51cGRhdGUgdG8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj48L2k+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPmFkZCBhIGNhbGwgdG8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX0RNQV9BYm9ydDwvc3Bhbj48L3NwYW4+KCk8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxpPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfU0RfPC9zcGFuPjwvaT48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48aT48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+UmVhZEJsb2Nrcyg8L3NwYW4+PC9pPjwvc3Bhbj48aT48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+KSA8L3NwYW4+PC9pPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGUgdG8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldCZuYnNwO3RoZSZuYnNwO2RlZmluZWQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERBVEFfQkxPQ0tfU0laRSBhcyBTRElPIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+RGF0YUJsb2NrU2l6ZTwvc3Bhbj48L3NwYW4+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJhbWV0ZXI8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwyMiBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMTg7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEQVRBX0JMT0NLX1NJWkUgYXMgU0RJTyA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkRhdGFCbG9ja1NpemU8L3NwYW4+PC9zcGFuPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1ldGVyPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX1NEX1JlYWRCbG9ja3NfRE1BPC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+KCkvPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfU0RfV3JpdGVCbG9ja3NfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RE1BKDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlIHRvIGNhbGwgdGhlIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX0RNQV9TdGFydF9JVDwvc3Bhbj48L3NwYW4+KCkKIAogCiAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5IQUxfU0RfUmVhZEJsb2Nrc19ETUE8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPigpLzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX1NEX1dyaXRlQmxvY2tzXzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkRNQSg8L3NwYW4+PC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZSB0byBjYWxsIHRoZSA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkhBTF9ETUFfU3RhcnRfSVQ8L3NwYW4+PC9zcGFuPigpCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiB3aXRoIERNQSZuYnNwOzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+RGF0YWxlbmd0aDwvc3Bhbj48L3NwYW4+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXQgdG8gPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4KLXN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkJsb2NrU2l6ZTwvc3Bhbj48L3NwYW4+LzQmbmJzcDsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIHdpdGggRE1BJm5ic3A7PHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5EYXRhbGVuZ3RoPC9zcGFuPjwvc3Bhbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldCB0byA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkJsb2NrU2l6ZTwvc3Bhbj48L3NwYW4+LzQmbmJzcDsKIAogCiAKIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXMgdGhlIERNQSZuYnNwO2lzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25maWd1cmVkJm5ic3A7aW4gd29yZCZuYnNwOzwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25maWd1cmVkJm5ic3A7aW4gd29yZCZuYnNwOzwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMjIgbGV2ZWwxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzExODt0YWItc3RvcHM6bGlzdCAuNWluIj48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKIAogCiAKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij5IQUwKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNNQVJUQ0FSRCA8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij51cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij4mbmJzcDs8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMjIgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTE4O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5ETUEgdHJhbnNtaXQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNNQVJUQ0FSRCA8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+Jm5ic3A7PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5ETUEgdHJhbnNtaXQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2Nlc3M7IHRoZSBjb2RlIGhhcyBiZWVuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGVkIHRvIGF2b2lkIHdhaXRpbmcgb24gVEMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsYWcgdW5kZXIgRE1BIElTUiwgU01BUlRDQVJECiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUQyBpbnRlcnJ1cHQgaXMgdXNlZCBpbnN0ZWFkLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQmVsb3cgdGhlIHVwZGF0ZSB0byBiZSBkb25lIG9uCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VyIGFwcGxpY2F0aW9uOjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMjIgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMTg7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkNvbmZpZ3VyZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlciBhcHBsaWNhdGlvbjo8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Q29uZmlndXJlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCBlbmFibGUgdGhlIFVTQVJUIElSUSBpbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX1NBTVJUQ0FSRF88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+TXNwSW5pdCg8L3NwYW4+PC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb248L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMjIgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMTg7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfU0FNUlRDQVJEXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPk1zcEluaXQoPC9zcGFuPjwvc3Bhbj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5JbgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdG0zMmY0eHhfaXQuYyBmaWxlLCA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVBU1JUeF88L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5JUlFIYW5kbGVyKDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbjogYWRkIGEgY2FsbCB0byA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9TTUFSVENBUkRfSVJRSGFuZGxlcjwvc3Bhbj48L3NwYW4+KCkKIAogCiAKIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkluCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0bTMyZjR4eF9pdC5jIGZpbGUsIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPlVBU1JUeF88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SVJRSGFuZGxlcig8L3NwYW4+PC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb246IGFkZCBhIGNhbGwgdG8gPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5IQUxfU01BUlRDQVJEX0lSUUhhbmRsZXI8L3NwYW4+PC9zcGFuPigpCi0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb248L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb248L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMjIgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTE4O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5JVCB0cmFuc21pdAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPklUIHRyYW5zbWl0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9jZXNzOyB0aGUgY29kZSBoYXMgYmVlbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlZCB0byBhdm9pZCB3YWl0aW5nIG9uIFRDCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGFnIHVuZGVyIFNNQVJUQ0FSRAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSVNSLCZuYnNwO1NNQVJUQ0FSRCBUQwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50ZXJydXB0IGlzIHVzZWQgaW5zdGVhZC4gTm8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGltcGFjdCBvbiB1c2VyIGFwcGxpY2F0aW9uPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMjIgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTE4O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5SZW5hbWUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hY3JvczogYWRkIHByZWZpeCAiX188c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMIjwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwyMiBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzExODt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+X19TTUFSVENBUkRfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5FTkFCTEUoPC9zcGFuPjwvc3Bhbj4pCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ5IF9fSEFMX1NNQVJUQ0FSRF9FTkFCTEUoKTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwyMiBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzExODt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+X19TTUFSVENBUkRfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5ESVNBQkxFKDwvc3Bhbj48L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBieSBfX0hBTF9TTUFSVENBUkRfRElTQUJMRSgpPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDIyIGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTE4O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5fX1NNQVJUQ0FSRF9FTkFCTEVfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5JVCg8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGltcGFjdCBvbiB1c2VyIGFwcGxpY2F0aW9uPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+UmVuYW1lCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWNyb3M6IGFkZCBwcmVmaXggIl9fPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTCI8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5fX1NNQVJUQ0FSRF88c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RU5BQkxFKDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBieSBfX0hBTF9TTUFSVENBUkRfRU5BQkxFKCk8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPl9fU01BUlRDQVJEXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5ESVNBQkxFKDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBieSBfX0hBTF9TTUFSVENBUkRfRElTQUJMRSgpPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5fX1NNQVJUQ0FSRF9FTkFCTEVfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPklUKDwvc3Bhbj48L3NwYW4+KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBieQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX0hBTF9TTUFSVENBUkRfRU5BQkxFX0lUKCk8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMjIgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMTg7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPl9fU01BUlRDQVJEX0RJU0FCTEVfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5JVCg8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19IQUxfU01BUlRDQVJEX0VOQUJMRV9JVCgpPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5fX1NNQVJUQ0FSRF9ESVNBQkxFXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5JVCg8L3NwYW4+PC9zcGFuPikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19IQUxfU01BUlRDQVJEX0RJU0FCTEVfSVQoKTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwyMiBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzExODt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+X19TTUFSVENBUkRfRE1BX1JFUVVFU1RfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5FTkFCTEUoPC9zcGFuPjwvc3Bhbj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fSEFMX1NNQVJUQ0FSRF9ESVNBQkxFX0lUKCk8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPl9fU01BUlRDQVJEX0RNQV9SRVFVRVNUXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5FTkFCTEUoPC9zcGFuPjwvc3Bhbj4pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ5Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fSEFMX1NNQVJUQ0FSRF9ETUFfUkVRVUVTVF9FTkFCTEUoKTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwyMiBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzExODt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+X19TTUFSVENBUkRfRE1BX1JFUVVFU1RfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5ESVNBQkxFKDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX0hBTF9TTUFSVENBUkRfRE1BX1JFUVVFU1RfRU5BQkxFKCk8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPl9fU01BUlRDQVJEX0RNQV9SRVFVRVNUXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5ESVNBQkxFKDwvc3Bhbj48L3NwYW4+KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBieQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX0hBTF9TTUFSVENBUkRfRE1BX1JFUVVFU1RfRElTQUJMRSgpPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fSEFMX1NNQVJUQ0FSRF9ETUFfUkVRVUVTVF9ESVNBQkxFKCk8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMjIgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTE4O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5SZW5hbWUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5SZW5hbWUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpdGVyYWxzOiByZW1vdmUgIkQiIGZyb20KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJESVNBQkxFRCIgYW5kICI8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+RU5BQkxFRCI8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMjIgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMTg7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJESVNBQkxFRCIgYW5kICI8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RU5BQkxFRCI8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5TTUFSVENBUkRfTkFDS19FTkFCTEVEJm5ic3A7YnkKIAogCiAKIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlNNQVJUQ0FSRF9OQUNLX0VOQUJMRUQmbmJzcDtieQotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNNQVJUQ0FSRF9OQUNLX0VOQUJMRTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwyMiBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzExODt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+U01BUlRDQVJEX05BQ0tfRElTQUJMRUQmbmJzcDtieSZuYnNwO1NNQVJUQ0FSRF9OQUNLX0RJU0FCTEU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU01BUlRDQVJEX05BQ0tfRU5BQkxFPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5TTUFSVENBUkRfTkFDS19ESVNBQkxFRCZuYnNwO2J5Jm5ic3A7U01BUlRDQVJEX05BQ0tfRElTQUJMRTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwyMiBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMTg7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkFkZCBuZXcgdXNlcgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZCBuZXcgdXNlcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFjcm9zIHRvIG1hbmFnZSB0aGUgc2FtcGxlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXRob2QgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPmZlYXR1cmU8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMjIgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMTg7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPl9fSEFMX1NNQVJUQ0FSRF9PTkVfQklUX1NBTVBMRV88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkVOQUJMRSg8L3NwYW4+PC9zcGFuPik8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMjIgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMTg7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPl9fSEFMX1NNQVJUQ0FSRF9PTkVfQklUX1NBTVBMRV88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkRJU0FCTEUoPC9zcGFuPjwvc3Bhbj4pPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXRob2QgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPmZlYXR1cmU8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5fX0hBTF9TTUFSVENBUkRfT05FX0JJVF9TQU1QTEVfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkVOQUJMRSg8L3NwYW4+PC9zcGFuPik8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPl9fSEFMX1NNQVJUQ0FSRF9PTkVfQklUX1NBTVBMRV88c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RElTQUJMRSg8L3NwYW4+PC9zcGFuPik8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMjIgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTE4O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5BZGQgdXNlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvZiZuYnNwOzxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi1zdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj50bXByZWc8L3NwYW4+PC9zcGFuPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZCB1c2UKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9mJm5ic3A7PHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij50bXByZWc8L3NwYW4+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyaWFibGUgaW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fSEFMX1NNQVJUQ0FSRF9DTEVBUl88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+UEVGTEFHKDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19IQUxfU01BUlRDQVJEX0NMRUFSXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5QRUZMQUcoPC9zcGFuPjwvc3Bhbj4pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWNybyBmb3ImbmJzcDtjb21wbGlhbmN5IHdpdGgKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEMrKzwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwyMiBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMTg7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48aT48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SEFMXzwvc3Bhbj48L2k+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+U01BUlRDQVJEPGk+X1RyYW5zbWl0XzwvaT48L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxpPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5ETUEoPC9zcGFuPjwvaT48L3NwYW4+PGk+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+KSA8L3NwYW4+PC9pPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPnVwZGF0ZSB0bworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQysrPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBjbGFzcz0ic3BlbGxlIj48aT48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMXzwvc3Bhbj48L2k+PC9zcGFuPjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5TTUFSVENBUkQ8aT5fVHJhbnNtaXRfPC9pPjwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48aT48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RE1BKDwvc3Bhbj48L2k+PC9zcGFuPjxpPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4pIDwvc3Bhbj48L2k+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZSB0bwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9sbG93IHRoZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQmbmJzcDtwcm9jZWR1cmUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJUcmFuc21pc3Npb24gdXNpbmcgRE1BIiZuYnNwOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gdGhlIHJlZmVyZW5jZSBtYW51YWw8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDIyIGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTE4O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5BZGQgY2xlYXIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIHRoZSByZWZlcmVuY2UgbWFudWFsPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZCBjbGVhcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgVEMgZmxhZyBpbiB0aGUgU1IKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVnaXN0ZXIgYmVmb3JlIGVuYWJsaW5nIHRoZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBETUEmbmJzcDs8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuCi1zdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj50cmFuc21pdDwvc3Bhbj48L3NwYW4+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3Q8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRE1BJm5ic3A7PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnRyYW5zbWl0PC9zcGFuPjwvc3Bhbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdDwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMjIgbGV2ZWwxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzExODt0YWItc3RvcHM6bGlzdCAuNWluIj48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKIAogCiAKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij5IQUwKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRJTSA8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij51cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwyMiBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMTg7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkFkZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVElNIDwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVElNX0NIQU5ORUxfQUxMIGFzIHBvc3NpYmxlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBmb3IgYWxsIEVuY29kZXIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0YXJ0L1N0b3AgQVBJcyBEZXNjcmlwdGlvbjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDIyIGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzExODt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5IQUxfVElNX09DXzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkNvbmZpZ0NoYW5uZWwoPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4pIHJlbW92ZSBjYWxsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdGFydC9TdG9wIEFQSXMgRGVzY3JpcHRpb248L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfVElNX09DXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Q29uZmlnQ2hhbm5lbCg8L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4pIHJlbW92ZSBjYWxsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0byBJU19USU1fRkFTVF9TVEFURSgpIGFzc2VydAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFjcm88L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMjIgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTE4O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkhBTF9USU1fUFdNXzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkNvbmZpZ0NoYW5uZWwoPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4pIGFkZCBhIGNhbGwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hY3JvPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX1RJTV9QV01fPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5Db25maWdDaGFubmVsKDwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPikgYWRkIGEgY2FsbAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gSVNfVElNX0ZBU1RfU1RBVEUoKSBhc3NlcnQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hY3JvIHRvIGNoZWNrIHRoZSA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPk9DRmFzdE1vZGU8L3NwYW4+PC9zcGFuPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1ldGVyPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMjIgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTE4O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkhBTF9USU1fPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+RE1BRGVsYXlQdWxzZUNwbHQoPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4pIFVwZGF0ZSB0bworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFjcm8gdG8gY2hlY2sgdGhlIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+T0NGYXN0TW9kZTwvc3Bhbj48L3NwYW4+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJhbWV0ZXI8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfVElNXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RE1BRGVsYXlQdWxzZUNwbHQoPC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+KSBVcGRhdGUgdG8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldCB0aGUgVElNIENoYW5uZWwgYmVmb3JlIHRvCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYWxsJm5ic3A7IDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX1RJTV9QV01fUHVsc2VGaW5pc2hlZENhbGxiYWNrPC9zcGFuPjwvc3Bhbj4oKTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDIyIGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzExODt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5IQUxfVElNXzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkRNQUNhcHR1cmVDcGx0KDwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+KSB1cGRhdGUgdG8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhbGwmbmJzcDsgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfVElNX1BXTV9QdWxzZUZpbmlzaGVkQ2FsbGJhY2s8L3NwYW4+PC9zcGFuPigpPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX1RJTV88L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkRNQUNhcHR1cmVDcGx0KDwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPikgdXBkYXRlIHRvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXQgdGhlIFRJTSBDaGFubmVsIGJlZm9yZSB0bwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FsbCZuYnNwOyA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkhBTF9USU1fSUNfQ2FwdHVyZUNhbGxiYWNrPC9zcGFuPjwvc3Bhbj4oKTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDIyIGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzExODt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5USU1fSUN4Xzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkNvbmZpZ0NoYW5uZWwoPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4pJm5ic3A7dXBkYXRlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYWxsJm5ic3A7IDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX1RJTV9JQ19DYXB0dXJlQ2FsbGJhY2s8L3NwYW4+PC9zcGFuPigpPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VElNX0lDeF88L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkNvbmZpZ0NoYW5uZWwoPC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+KSZuYnNwO3VwZGF0ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gZml4IFRpbWVyIENDTVIxIHJlZ2lzdGVyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb3JydXB0aW9uIHdoZW4gc2V0dGluZyA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPklDRmlsdGVyPC9zcGFuPjwvc3Bhbj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtZXRlcjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDIyIGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzExODt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5IQUxfVElNX0RNQUJ1cnN0X1dyaXRlU3RvcDwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+KCkvPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5IQUxfVElNX0RNQUJ1cnN0Xzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPlJlYWRTdG9wKDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29ycnVwdGlvbiB3aGVuIHNldHRpbmcgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5JQ0ZpbHRlcjwvc3Bhbj48L3NwYW4+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJhbWV0ZXI8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfVElNX0RNQUJ1cnN0X1dyaXRlU3RvcDwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPigpLzxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX1RJTV9ETUFCdXJzdF88L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5SZWFkU3RvcCg8L3NwYW4+PC9zcGFuPikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZSB0byBhYm9ydCB0aGUgRE1BCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2ZlciBmb3IgdGhlIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+c3BlY2lmYzwvc3Bhbj48L3NwYW4+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUSU0gY2hhbm5lbDwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDIyIGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzExODt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+QWRkIG5ldworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmZXIgZm9yIHRoZSA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnNwZWNpZmM8L3NwYW4+PC9zcGFuPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVElNIGNoYW5uZWw8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQgbmV3CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiBmb3IgVElNIFNsYXZlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25maWd1cmF0aW9uJm5ic3A7aW4gSVQgbW9kZToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxpPjxzcGFuCi1zdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5IQUxfVElNX1NsYXZlQ29uZmlnU3luY2hyb25pemF0aW9uXzwvc3Bhbj48L2k+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PGk+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPklUKDwvc3Bhbj48L2k+PC9zcGFuPjxpPikmbmJzcDs8L2k+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMjIgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTE4O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkhBTF9USU1FeF88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5Db25maWdCcmVha0RlYWRUaW1lKDwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+KSBhZGQgYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFzc2VydCBjaGVjayBvbiBCcmVhayAmYW1wOyA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkRlYWRUaW1lPC9zcGFuPjwvc3Bhbj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtZXRlcnMgdmFsdWVzPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMjIgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTE4O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkhBTF9USU1FeF9PQ05fU3RhcnRfPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SVQoPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4pIGFkZCB0aGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxpPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX1RJTV9TbGF2ZUNvbmZpZ1N5bmNocm9uaXphdGlvbl88L3NwYW4+PC9pPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxpPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SVQoPC9zcGFuPjwvaT48L3NwYW4+PGk+KSZuYnNwOzwvaT48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfVElNRXhfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5Db25maWdCcmVha0RlYWRUaW1lKDwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPikgYWRkIGFuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhc3NlcnQgY2hlY2sgb24gQnJlYWsgJmFtcDsgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5EZWFkVGltZTwvc3Bhbj48L3NwYW4+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJhbWV0ZXJzIHZhbHVlczwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9USU1FeF9PQ05fU3RhcnRfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5JVCg8L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4pIGFkZCB0aGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuYWJsZSBvZiBCcmVhayBJbnRlcnJ1cHQgZm9yCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGwgb3V0cHV0IG1vZGVzPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDIyIGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzExODt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+QWRkIG5ldworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxsIG91dHB1dCBtb2Rlczwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZCBuZXcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hY3JvcyB0byBFTkFCTEUvRElTQUJMRSBVUlMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJpdCBpbiBUSU0gQ1IxIHJlZ2lzdGVyOjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMjIgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMTg7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPl9fSEFMX1RJTV9VUlNfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5FTkFCTEUoPC9zcGFuPjwvc3Bhbj4pPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDIyIGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTE4O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5fX0hBTF9USU1fVVJTXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+RElTQUJMRSg8L3NwYW4+PC9zcGFuPik8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJpdCBpbiBUSU0gQ1IxIHJlZ2lzdGVyOjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5fX0hBTF9USU1fVVJTXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5FTkFCTEUoPC9zcGFuPjwvc3Bhbj4pPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5fX0hBTF9USU1fVVJTXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5ESVNBQkxFKDwvc3Bhbj48L3NwYW4+KTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwyMiBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMTg7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkFkZCBuZXcgbWFjcm8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciBUSU0gRWRnZSBtb2RpZmljYXRpb248L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij46PC9zcGFuPjxpPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX0hBTF9USU1fU0VUXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+Q0FQVFVSRVBPTEFSSVRZKDwvc3Bhbj48L3NwYW4+KTwvc3Bhbj48L2k+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZCBuZXcgbWFjcm8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciBUSU0gRWRnZSBtb2RpZmljYXRpb248L3NwYW4+PHNwYW4gc3R5bGU9IiI+Ojwvc3Bhbj48aT48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fSEFMX1RJTV9TRVRfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkNBUFRVUkVQT0xBUklUWSg8L3NwYW4+PC9zcGFuPik8L3NwYW4+PC9pPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwyMiBsZXZlbDEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTE4O3RhYi1zdG9wczpsaXN0IC41aW4iPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAogCiAKIAotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPkhBTAotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVUFSVCA8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij51cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVQVJUIDwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0bzttc28tbGlzdDpsMjIKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXZlbDIgbGZvMTE4O3RhYi1zdG9wczogbGlzdAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+QWRkJm5ic3A7SVNfTElOX1dPUkRfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkxFTkdUSCg8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkJm5ic3A7SVNfTElOX1dPUkRfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkxFTkdUSCg8L3NwYW4+PC9zcGFuPikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSVNfTElOX09WRVJTQU1QTElORygpJm5ic3A7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWNyb3M6IHRvIGNoZWNrIHJlc3BlY3RpdmVseQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5Xb3JkTGVuZ3RoPC9zcGFuPjwvc3Bhbj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3Bhbgotc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+T3ZlclNhbXBsaW5nPC9zcGFuPjwvc3Bhbj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtZXRlcnMgaW4gTElOIG1vZGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG87bXNvLWxpc3Q6bDIyCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWwyIGxmbzExODt0YWItc3RvcHM6IGxpc3QKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkRNQSB0cmFuc21pdAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5Xb3JkTGVuZ3RoPC9zcGFuPjwvc3Bhbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPk92ZXJTYW1wbGluZzwvc3Bhbj48L3NwYW4+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJhbWV0ZXJzIGluIExJTiBtb2RlPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkRNQSB0cmFuc21pdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvY2VzczsgdGhlIGNvZGUgaGFzIGJlZW4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZWQgdG8gYXZvaWQgd2FpdGluZyBvbiBUQwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxhZyB1bmRlciBETUEgSVNSLCBVQVJUIFRDCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnRlcnJ1cHQgaXMgdXNlZCBpbnN0ZWFkLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQmVsb3cgdGhlIHVwZGF0ZSB0byBiZSBkb25lIG9uCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VyIGFwcGxpY2F0aW9uOjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMjIgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMTg7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkNvbmZpZ3VyZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlciBhcHBsaWNhdGlvbjo8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Q29uZmlndXJlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCBlbmFibGUgdGhlIFVTQVJUIElSUSBpbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX1VBUlRfPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPk1zcEluaXQoPC9zcGFuPjwvc3Bhbj4pCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDIyIGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTE4O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX1VBUlRfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+TXNwSW5pdCg8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb248L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkluCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0bTMyZjR4eF9pdC5jIGZpbGUsIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VVNBUlR4Xzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPklSUUhhbmRsZXIoPC9zcGFuPjwvc3Bhbj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uOiBhZGQgYSBjYWxsIHRvIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX1VBUlRfSVJRSGFuZGxlcjwvc3Bhbj48L3NwYW4+KCkKIAogCiAKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkluCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0bTMyZjR4eF9pdC5jIGZpbGUsIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPlVTQVJUeF88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SVJRSGFuZGxlcig8L3NwYW4+PC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb246IGFkZCBhIGNhbGwgdG8gPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5IQUxfVUFSVF9JUlFIYW5kbGVyPC9zcGFuPjwvc3Bhbj4oKQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwyMiBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMTg7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPklUIHRyYW5zbWl0CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SVQgdHJhbnNtaXQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2Nlc3M7IHRoZSBjb2RlIGhhcyBiZWVuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGVkIHRvIGF2b2lkIHdhaXRpbmcgb24gVEMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsYWcgdW5kZXIgVUFSVCZuYnNwO0lTUiwgVUFSVAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVEMgaW50ZXJydXB0IGlzIHVzZWQgaW5zdGVhZC4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5vIGltcGFjdCBvbiB1c2VyIGFwcGxpY2F0aW9uPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMjIgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTE4O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5SZW5hbWUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hY3Jvczo8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDIyIGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTE4O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5fX0hBTF9VQVJUX09ORUJJVF88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkVOQUJMRSg8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5vIGltcGFjdCBvbiB1c2VyIGFwcGxpY2F0aW9uPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+UmVuYW1lCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWNyb3M6PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPl9fSEFMX1VBUlRfT05FQklUXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5FTkFCTEUoPC9zcGFuPjwvc3Bhbj4pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ5Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fSEFMX1VBUlRfT05FX0JJVF9TQU1QTEVfRU5BQkxFKCk8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMjIgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMTg7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPl9fSEFMX1VBUlRfT05FQklUXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+RElTQUJMRSg8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19IQUxfVUFSVF9PTkVfQklUX1NBTVBMRV9FTkFCTEUoKTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+X19IQUxfVUFSVF9PTkVCSVRfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkRJU0FCTEUoPC9zcGFuPjwvc3Bhbj4pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ5Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fSEFMX1VBUlRfT05FX0JJVF9TQU1QTEVfRElTQUJMRSgpPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fSEFMX1VBUlRfT05FX0JJVF9TQU1QTEVfRElTQUJMRSgpPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDIyIGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzExODt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5SZW5hbWUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpdGVyYWxzOjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VQVJUX1dBS0VVUE1FVEhPREVfSURMRUxJTkUmbmJzcDtieQogCiAKIAogCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5SZW5hbWUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpdGVyYWxzOjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMjIgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMTg7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlVBUlRfV0FLRVVQTUVUSE9ERV9JRExFTElORSZuYnNwO2J5Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVUFSVF9XQUtFVVBNRVRIT0RfSURMRUxJTkU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMjIgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMTg7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlVBUlRfV0FLRVVQTUVUSE9ERV9BRERSRVNTTUFSSyZuYnNwO2J5Ci1VQVJUX1dBS0VVUE1FVEhPRF9BRERSRVNTTUFSSzwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVUFSVF9XQUtFVVBNRVRIT0RfSURMRUxJTkU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVBUlRfV0FLRVVQTUVUSE9ERV9BRERSRVNTTUFSSyZuYnNwO2J5CitVQVJUX1dBS0VVUE1FVEhPRF9BRERSRVNTTUFSSzwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwyMiBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMTg7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkFkZCB1c2UKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9mJm5ic3A7PHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4KLXN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPnRtcHJlZzwvc3Bhbj48L3NwYW4+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXJpYWJsZSBpbiBfX0hBTF9VQVJUX0NMRUFSXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5QRUZMQUcoPC9zcGFuPjwvc3Bhbj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkIHVzZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2YmbmJzcDs8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnRtcHJlZzwvc3Bhbj48L3NwYW4+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXJpYWJsZSBpbiBfX0hBTF9VQVJUX0NMRUFSXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5QRUZMQUcoPC9zcGFuPjwvc3Bhbj4pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWNybyBmb3ImbmJzcDtjb21wbGlhbmN5IHdpdGgKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEMrKzwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwyMiBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMTg7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48aT48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SEFMX1VBUlRfVHJhbnNtaXRfPC9zcGFuPjwvaT48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PGk+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkRNQSg8L3NwYW4+PC9pPjwvc3Bhbj48aT48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4pIDwvc3Bhbj48L2k+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+dXBkYXRlIHRvCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDKys8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxpPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfVUFSVF9UcmFuc21pdF88L3NwYW4+PC9pPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxpPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5ETUEoPC9zcGFuPjwvaT48L3NwYW4+PGk+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPikgPC9zcGFuPjwvaT48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlIHRvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb2xsb3cgdGhlIHJpZ2h0IHByb2NlZHVyZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlRyYW5zbWlzc2lvbiB1c2luZyBETUEiIGluCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgcmVmZXJlbmNlIG1hbnVhbDwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMjIgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMTg7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkFkZCBjbGVhcgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIHJlZmVyZW5jZSBtYW51YWw8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkIGNsZWFyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBUQyBmbGFnIGluIHRoZSBTUgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWdpc3RlciBiZWZvcmUgZW5hYmxpbmcgdGhlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERNQSZuYnNwOzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4KLXN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPnRyYW5zbWl0PC9zcGFuPjwvc3Bhbj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdDwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBETUEmbmJzcDs8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dHJhbnNtaXQ8L3NwYW4+PC9zcGFuPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwyMiBsZXZlbDEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTE4O3RhYi1zdG9wczpsaXN0IC41aW4iPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAogCiAKIAotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPkhBTAotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVVNBUlQgPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+dXBkYXRlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVVNBUlQgPC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21zby1tYXJnaW4tdG9wLWFsdDphdXRvOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvO21zby1saXN0OmwyMgotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsMiBsZm8xMTg7dGFiLXN0b3BzOiBsaXN0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5ETUEgdHJhbnNtaXQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RE1BIHRyYW5zbWl0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9jZXNzOyB0aGUgY29kZSBoYXMgYmVlbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlZCB0byBhdm9pZCB3YWl0aW5nIG9uIFRDCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGFnIHVuZGVyIERNQSBJU1IsIFVTQVJUIFRDCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnRlcnJ1cHQgaXMgdXNlZCBpbnN0ZWFkLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQmVsb3cgdGhlIHVwZGF0ZSB0byBiZSBkb25lIG9uCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VyIGFwcGxpY2F0aW9uOjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMjIgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMTg7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkNvbmZpZ3VyZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlciBhcHBsaWNhdGlvbjo8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Q29uZmlndXJlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCBlbmFibGUgdGhlIFVTQVJUIElSUSBpbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX1VTQVJUXzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5Nc3BJbml0KDwvc3Bhbj48L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwyMiBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzExODt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9VU0FSVF88L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5Nc3BJbml0KDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SW4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RtMzJmNHh4X2l0LmMgZmlsZSwgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VU0FSVHhfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SVJRSGFuZGxlcig8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb246IGFkZCBhIGNhbGwgdG8gPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfVVNBUlRfSVJRSGFuZGxlcjwvc3Bhbj48L3NwYW4+KCkKIAogCiAKIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkluCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0bTMyZjR4eF9pdC5jIGZpbGUsIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPlVTQVJUeF88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SVJRSGFuZGxlcig8L3NwYW4+PC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb246IGFkZCBhIGNhbGwgdG8gPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5IQUxfVVNBUlRfSVJRSGFuZGxlcjwvc3Bhbj48L3NwYW4+KCkKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwyMiBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMTg7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPklUIHRyYW5zbWl0CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SVQgdHJhbnNtaXQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2Nlc3M7IHRoZSBjb2RlIGhhcyBiZWVuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGVkIHRvIGF2b2lkIHdhaXRpbmcgb24gVEMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsYWcgdW5kZXIgVVNBUlQmbmJzcDtJU1IsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVU0FSVCBUQyBpbnRlcnJ1cHQgaXMgdXNlZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5zdGVhZC4gTm8gaW1wYWN0IG9uIHVzZXIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFwcGxpY2F0aW9uPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMjIgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTE4O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PGk+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkhBTF9VU0FSVF88L3NwYW4+PC9pPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48aT48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SW5pdCg8L3NwYW4+PC9pPjwvc3Bhbj48aT48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4pPC9zcGFuPjwvaT48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4gdXBkYXRlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcHBsaWNhdGlvbjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gY2xhc3M9InNwZWxsZSI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9VU0FSVF88L3NwYW4+PC9pPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxpPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5Jbml0KDwvc3Bhbj48L2k+PC9zcGFuPjxpPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4pPC9zcGFuPjwvaT48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+IHVwZGF0ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG8mbmJzcDtlbmFibGUgdGhlIFVTQVJUCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdmVyc2FtcGxpbmcgYnkgOCBieSBkZWZhdWx0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBvcmRlciB0byByZWFjaCBtYXggVVNBUlQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyZXF1ZW5jaWVzPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMjIgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTE4O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlVTQVJUXzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkRNQVJlY2VpdmVDcGx0KDwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+KSZuYnNwO3VwZGF0ZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJlcXVlbmNpZXM8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VU0FSVF88L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkRNQVJlY2VpdmVDcGx0KDwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPikmbmJzcDt1cGRhdGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvIHNldCB0aGUgbmV3IFVTQVJUIHN0YXRlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZnRlciBjaGVja2luZyBvbiB0aGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9sZCZuYnNwO3N0YXRlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMjIgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTE4O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PGk+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkhBTF9VU0FSVF9UcmFuc21pdF9ETUE8L3NwYW4+PC9pPjwvc3Bhbj48aT48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4oKS88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5IQUxfVVNBUlRfVHJhbnNtaXRSZWNlaXZlXzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5ETUEoPC9zcGFuPjwvc3Bhbj4pCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+PC9pPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij51cGRhdGUgdG8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9sZCZuYnNwO3N0YXRlPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBjbGFzcz0ic3BlbGxlIj48aT48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX1VTQVJUX1RyYW5zbWl0X0RNQTwvc3Bhbj48L2k+PC9zcGFuPjxpPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4oKS88c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9VU0FSVF9UcmFuc21pdFJlY2VpdmVfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RE1BKDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPjwvaT48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlIHRvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb2xsb3cgdGhlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByaWdodCZuYnNwO3Byb2NlZHVyZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlRyYW5zbWlzc2lvbiB1c2luZyBETUEiJm5ic3A7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiB0aGUgcmVmZXJlbmNlIG1hbnVhbDwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMjIgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMTg7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkFkZCBjbGVhcgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gdGhlIHJlZmVyZW5jZSBtYW51YWw8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkIGNsZWFyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBUQyBmbGFnIGluIHRoZSBTUgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWdpc3RlciBiZWZvcmUgZW5hYmxpbmcgdGhlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERNQSZuYnNwOzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4KLXN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPnRyYW5zbWl0PC9zcGFuPjwvc3Bhbj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdDwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBETUEmbmJzcDs8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dHJhbnNtaXQ8L3NwYW4+PC9zcGFuPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDIyIGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzExODt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+UmVuYW1lCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWNyb3M6PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwyMiBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzExODt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+X19VU0FSVF88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkVOQUJMRSg8L3NwYW4+PC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnkgX19IQUxfVVNBUlRfRU5BQkxFKCk8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMjIgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMTg7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPl9fVVNBUlRfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5ESVNBQkxFKDwvc3Bhbj48L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBieSBfX0hBTF9VU0FSVF9ESVNBQkxFKCk8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMjIgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMTg7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPl9fVVNBUlRfRU5BQkxFXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SVQoPC9zcGFuPjwvc3Bhbj4pCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ5IF9fSEFMX1VTQVJUX0VOQUJMRV9JVCgpPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDIyIGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTE4O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5fX1VTQVJUX0RJU0FCTEVfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5JVCg8L3NwYW4+PC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnkgX19IQUxfVVNBUlRfRElTQUJMRV9JVCgpPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+UmVuYW1lCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWNyb3M6PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPl9fVVNBUlRfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkVOQUJMRSg8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnkgX19IQUxfVVNBUlRfRU5BQkxFKCk8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPl9fVVNBUlRfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkRJU0FCTEUoPC9zcGFuPjwvc3Bhbj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ5IF9fSEFMX1VTQVJUX0RJU0FCTEUoKTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+X19VU0FSVF9FTkFCTEVfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPklUKDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBieSBfX0hBTF9VU0FSVF9FTkFCTEVfSVQoKTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+X19VU0FSVF9ESVNBQkxFXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5JVCg8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnkgX19IQUxfVVNBUlRfRElTQUJMRV9JVCgpPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDIyIGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzExODt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+UmVuYW1lCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+UmVuYW1lCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaXRlcmFsczogcmVtb3ZlICJEIiBmcm9tCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiRElTQUJMRUQiIGFuZCAiPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkVOQUJMRUQiPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDIyIGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTE4O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiRElTQUJMRUQiIGFuZCAiPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkVOQUJMRUQiPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VVNBUlRfQ0xPQ0tfRElTQUJMRUQmbmJzcDtieQogCiAKIAogCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+VVNBUlRfQ0xPQ0tfRElTQUJMRUQmbmJzcDtieQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVU0FSVF9DTE9DS19ESVNBQkxFPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VU0FSVF9DTE9DS19FTkFCTEVEJm5ic3A7YnkKIAogCiAKIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVU0FSVF9DTE9DS19ESVNBQkxFPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVVNBUlRfQ0xPQ0tfRU5BQkxFPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VU0FSVE5BQ0tfRU5BQkxFRAogCiAKIAotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMjIgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMTg7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnkgVVNBUlRfTkFDS19FTkFCTEU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVTQVJUTkFDS19ESVNBQkxFRAogCiAKIAotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+VVNBUlRfQ0xPQ0tfRU5BQkxFRCZuYnNwO2J5Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVVNBUlRfQ0xPQ0tfRU5BQkxFPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDIyIGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTE4O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5VU0FSVE5BQ0tfRU5BQkxFRAotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBieSBVU0FSVF9OQUNLX0VOQUJMRTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwyMiBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzExODt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+VVNBUlROQUNLX0RJU0FCTEVECi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ5IFVTQVJUX05BQ0tfRElTQUJMRTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBieSBVU0FSVF9OQUNLX0RJU0FCTEU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMjIgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTE4O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5BZGQgbmV3IHVzZXIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQgbmV3IHVzZXIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hY3JvcyB0byBtYW5hZ2UgdGhlIHNhbXBsZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWV0aG9kIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5mZWF0dXJlPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDIyIGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTE4O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5fX0hBTF9VU0FSVF9PTkVfQklUX1NBTVBMRV88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkVOQUJMRSg8L3NwYW4+PC9zcGFuPik8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMjIgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMTg7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPl9fSEFMX1VTQVJUX09ORV9CSVRfU0FNUExFXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+RElTQUJMRSg8L3NwYW4+PC9zcGFuPik8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1ldGhvZCA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+ZmVhdHVyZTwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPl9fSEFMX1VTQVJUX09ORV9CSVRfU0FNUExFXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5FTkFCTEUoPC9zcGFuPjwvc3Bhbj4pPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5fX0hBTF9VU0FSVF9PTkVfQklUX1NBTVBMRV88c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RElTQUJMRSg8L3NwYW4+PC9zcGFuPik8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMjIgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTE4O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5BZGQgdXNlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvZiZuYnNwOzxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi1zdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj50bXByZWc8L3NwYW4+PC9zcGFuPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyaWFibGUgaW4gX19IQUxfVVNBUlRfQ0xFQVJfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPlBFRkxBRyg8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQgdXNlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvZiZuYnNwOzxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dG1wcmVnPC9zcGFuPjwvc3Bhbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhcmlhYmxlIGluIF9fSEFMX1VTQVJUX0NMRUFSXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5QRUZMQUcoPC9zcGFuPjwvc3Bhbj4pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWNybyBmb3ImbmJzcDtjb21wbGlhbmN5IHdpdGgKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEMrKzwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQysrPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwyMiBsZXZlbDEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTE4O3RhYi1zdG9wczpsaXN0IC41aW4iPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAogCiAKIAotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPkhBTAotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV1dERyA8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij51cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwyMiBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMTg7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkFkZCBuZXcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdXREcgPC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkIG5ldwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1ldGVyIGluCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX0hBTF9XV0RHX0VOQUJMRV88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SVQoPC9zcGFuPjwvc3Bhbj4pCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWNybzwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDIyIGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzExODt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+QWRkIG5ldworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19IQUxfV1dER19FTkFCTEVfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPklUKDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFjcm88L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQgbmV3CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWNyb3MgdG8gbWFuYWdlIFdXREcgSVQgJmFtcDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvcnJlY3Rpb246PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMjIgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMTg7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPl9fSEFMX1dXREdfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5ESVNBQkxFKDwvc3Bhbj48L3NwYW4+KTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwyMiBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzExODt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+X19IQUxfV1dER19ESVNBQkxFXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SVQoPC9zcGFuPjwvc3Bhbj4pPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDIyIGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTE4O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5fX0hBTF9XV0RHX0dFVF88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPklUKDwvc3Bhbj48L3NwYW4+KTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwyMiBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzExODt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+X19IQUxfV1dER19HRVRfSVRfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5TT1VSQ0UoPC9zcGFuPjwvc3Bhbj4pPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb3JyZWN0aW9uOjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5fX0hBTF9XV0RHXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5ESVNBQkxFKDwvc3Bhbj48L3NwYW4+KTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+X19IQUxfV1dER19ESVNBQkxFXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5JVCg8L3NwYW4+PC9zcGFuPik8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPl9fSEFMX1dXREdfR0VUXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5JVCg8L3NwYW4+PC9zcGFuPik8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPl9fSEFMX1dXREdfR0VUX0lUXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5TT1VSQ0UoPC9zcGFuPjwvc3Bhbj4pPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibWFyZ2luLXJpZ2h0OjUwMC4wcHQ7YmFja2dyb3VuZDojMzM2NkZGOy1tb3otYmFja2dyb3VuZC1jbGlwOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5pdGlhbDsgLW1vei1iYWNrZ3JvdW5kLW9yaWdpbjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluaXRpYWw7LW1vei1iYWNrZ3JvdW5kLWlubGluZS1wb2xpY3k6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbml0aWFsOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbi14OjAlO2JhY2tncm91bmQtcG9zaXRpb24teToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDUwJTtiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IHNjcm9sbCI+PGZvbnQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I9IiNmZmZmZmYiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7QXJpYWwmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBzdHlsZT0iYmFja2dyb3VuZDogcmdiKDUxLCAxMDIsIDI1NSkgbm9uZSByZXBlYXQgc2Nyb2xsIDAlIDUwJTsgLW1vei1iYWNrZ3JvdW5kLWNsaXA6IC1tb3otaW5pdGlhbDsgLW1vei1iYWNrZ3JvdW5kLW9yaWdpbjogLW1vei1pbml0aWFsOyAtbW96LWJhY2tncm91bmQtaW5saW5lLXBvbGljeTogLW1vei1pbml0aWFsOyBtYXJnaW4tcmlnaHQ6IDUwMHB0OyI+PGZvbnQgY29sb3I9IiNmZmZmZmYiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtBcmlhbCZxdW90OyxzYW5zLXNlcmlmOyI+VjEuMS4wCiAKIAogCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7O2NvbG9yOndoaXRlIj5WMS4xLjAKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvIDE5LUp1bmUtMjAxNDwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9mb250PjwvaDM+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1yaWdodDowaW47bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21hcmdpbi1sZWZ0Oi4yNWluIj48Yj48dT48c3Bhbgotc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6Ci0mcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6YmxhY2siPk1haW4gQ2hhbmdlczwvc3Bhbj48L3U+PC9iPjxvOnA+PC9vOnA+PC9wPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1hcmdpbi10b3A6MGluO3RleHQtYWxpZ246c3RhcnQ7d29yZC1zcGFjaW5nOjBweCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDEyNCBsZXZlbDEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTE5O3RhYi1zdG9wczpsaXN0IC41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij5BZGQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdXBwb3J0IG9mPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJhcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPjxzcGFuCi1zdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj4mbmJzcDs8L3NwYW4+PC9zcGFuPjxiPlNUTTMyRjQxMXhFPC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iYXBwbGUtY29udmVydGVkLXNwYWNlIj48c3Bhbgotc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+IDwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+ZGV2aWNlczwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8gMTktSnVuZS0yMDE0PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvZm9udD48L2gzPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW46IDQuNXB0IDBpbiA0LjVwdCAwLjI1aW47Ij48Yj48dT48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyBjb2xvcjogYmxhY2s7Ij5NYWluIENoYW5nZXM8L3NwYW4+PC91PjwvYj48bzpwPjwvbzpwPjwvcD4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsgdGV4dC1hbGlnbjogc3RhcnQ7IHdvcmQtc3BhY2luZzogMHB4OyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3VwcG9ydCBvZjxzcGFuIGNsYXNzPSJhcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Jm5ic3A7PC9zcGFuPjwvc3Bhbj48Yj5TVE0zMkY0MTF4RTwvYj48c3BhbiBjbGFzcz0iYXBwbGUtY29udmVydGVkLXNwYWNlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPiA8L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5kZXZpY2VzPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw2MSBsZXZlbDEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTIwO3RhYi1zdG9wczpsaXN0IC41aW4iPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKIAogCiAKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij5IQUwKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdlbmVyaWM8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNjEgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTIwO3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5FbmhhbmNlIEhBTAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVsYXkgYW5kIHRpbWUgYmFzZSA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+aW1wbGVtZW50YXRpb248L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNjEgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMjA7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5TeXN0aWNrPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4gdGltZXIgaXMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdlbmVyaWM8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5FbmhhbmNlIEhBTAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVsYXkgYW5kIHRpbWUgYmFzZSA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+aW1wbGVtZW50YXRpb248L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5TeXN0aWNrPC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+IHRpbWVyIGlzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZWQgYnkgZGVmYXVsdCBhcyBzb3VyY2Ugb2YKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGltZSBiYXNlLCBidXQgdXNlciBjYW4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnR1YWxseSBpbXBsZW1lbnQgaGlzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlciB0aW1lIGJhc2Ugc291cmNlIChhIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+Z2VuZXJhbAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wZXIgdGltZSBiYXNlIHNvdXJjZSAoYSA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Z2VuZXJhbAogCiAKIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHVycG9zZTwvc3Bhbj48L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpbWVyIGZvciBleGFtcGxlIG9yIG90aGVyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpbWUgc291cmNlKTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw2MSBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzEyMDt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+RnVuY3Rpb25zCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpbWUgc291cmNlKTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RnVuY3Rpb25zCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFmZmVjdGluZyB0aW1lIGJhc2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhdGlvbnMgYXJlIGRlY2xhcmVkCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFzIF9fV2VhayB0byBtYWtlIG92ZXJyaWRlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc3NpYmxlIGluIGNhc2Ugb2Ygb3RoZXIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW1wbGVtZW50YXRpb25zIGluIHVzZXIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZSwgZm9yIG1vcmUgZGV0YWlscwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGVhc2UgcmVmZXIgdG8gPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5IQUxfVGltZUJhc2U8L3NwYW4+PC9zcGFuPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleGFtcGxlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsZWFzZSByZWZlciB0byA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9UaW1lQmFzZTwvc3Bhbj48L3NwYW4+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4YW1wbGU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNjEgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTIwO3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5GaXggZmxhZworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkZpeCBmbGFnCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGVhciBwcm9jZWR1cmU6IHVzZSBhdG9taWMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdyaXRlIG9wZXJhdGlvbiAiPSIgaW5zdGVhZCBvZgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVhZHktbW9kaWZ5LXdyaXRlIG9wZXJhdGlvbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInw9IiBvciAiJmFtcDs9Ijwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDYxIGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzEyMDt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+Rml4IG9uCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAifD0iIG9yICImYW1wOz0iPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Rml4IG9uCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaW1lb3V0IG1hbmFnZW1lbnQsIFRpbWVvdXQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIHNldCB0byAwIHBhc3NlZCB0byBBUEkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dG9tYXRpY2FsbHkgZXhpdHMgdGhlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiBhZnRlciBjaGVja2luZyB0aGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsYWcgd2l0aG91dCBhbnkgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPndhaXQ8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDYxIGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzEyMDt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+Q29tbW9uIHVwZGF0ZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxhZyB3aXRob3V0IGFueSA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+d2FpdDwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Q29tbW9uIHVwZGF0ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIHRoZSBmb2xsb3dpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbW11bmljYXRpb24gcGVyaXBoZXJhbHM6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTUEksIFVBUlQsIFVTQVJUIGFuZCBJUkRBPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw2MSBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzEyMDt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+QWRkIERNQQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaXJjdWxhciBtb2RlIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+c3VwcG9ydDwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDYxIGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTIwO3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5SZW1vdmUgbG9jawotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmcm9tIHJlY3Vyc2l2ZSA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPnByb2Nlc3M8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU1BJLCBVQVJULCBVU0FSVCBhbmQgSVJEQTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQgRE1BCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNpcmN1bGFyIG1vZGUgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnN1cHBvcnQ8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+UmVtb3ZlIGxvY2sKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJvbSByZWN1cnNpdmUgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnByb2Nlc3M8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw2MSBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMjA7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkFkZCBuZXcgbWFjcm8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQgbmV3IG1hY3JvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX0hBTF9SRVNFVF9IQU5ETEVfU1RBVEUgdG8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc2V0IGEgZ2l2ZW4gaGFuZGxlIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5zdGF0ZTwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNjEgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTIwO3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5BZGQgYSBuZXcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc2V0IGEgZ2l2ZW4gaGFuZGxlIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5zdGF0ZTwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkIGEgbmV3CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgZm9yIGZ1bmN0aW9ucwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhlY3V0ZWQgZnJvbSBpbnRlcm5hbCBTUkFNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgZGVwZW5kaW5nIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5mcm9tPC9zcGFuPjwvc3Bhbj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENvbXBpbGVyIGltcGxlbWVudGF0aW9uPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNjEgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTIwO3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5XaGVuIFVTRV9SVE9TCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgZGVwZW5kaW5nIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5mcm9tPC9zcGFuPjwvc3Bhbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENvbXBpbGVyIGltcGxlbWVudGF0aW9uPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+V2hlbiBVU0VfUlRPUwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPT0gMSAoaW4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0bTMybDB4eF9oYWxfY29uZi5oKSwgdGhlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX0hBTF88c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuCi1zdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5MT0NLKDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19IQUxfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkxPQ0soPC9zcGFuPjwvc3Bhbj4pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpcyBub3QgZGVmaW5lZCBpbnN0ZWFkIG9mCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZWluZyBkZWZpbmVkIGVtcHR5PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNjEgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTIwO3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5NaXNjZWxsYW5lb3VzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21tZW50cyBhbmQgZm9ybWF0dGluZyB1cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw2MSBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMjA7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPnN0bTMyZjR4eF9oYWxfY29uZl90ZW1wbGF0ZS5oPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw2MSBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzEyMDt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+QWRkIGEgbmV3CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZWluZyBkZWZpbmVkIGVtcHR5PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+TWlzY2VsbGFuZW91cworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tbWVudHMgYW5kIGZvcm1hdHRpbmcgdXBkYXRlPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+c3RtMzJmNHh4X2hhbF9jb25mX3RlbXBsYXRlLmg8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkIGEgbmV3CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmluZSBmb3IgTFNJIGRlZmF1bHQgdmFsdWUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTFNJXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+VkFMVUU8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw2MSBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzEyMDt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+QWRkIGEgbmV3CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExTSV88c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VkFMVUU8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkIGEgbmV3CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmluZSBmb3IgTFNFIGRlZmF1bHQgdmFsdWUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTFNFXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+VkFMVUU8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw2MSBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzEyMDt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+QWRkIGEgbmV3CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExTRV88c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VkFMVUU8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkIGEgbmV3CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmluZSBmb3IgVGljayBpbnRlcnJ1cHQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJpb3JpdHkgVElDS19JTlRfUFJJT1JJVFkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG5lZWRlZCBmb3IgdGhlIGVuaGFuY2VkCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpbWUgYmFzZSBpbXBsZW1lbnRhdGlvbik8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGltZSBiYXNlIGltcGxlbWVudGF0aW9uKTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw2MSBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMjA7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxpPjx1PjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGk+PHU+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkltcG9ydGFudAogCiAKIAogCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSb21hbiZxdW90Oztjb2xvcjp3aW5kb3d0ZXh0Ij5JbXBvcnRhbnQKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5vdGU6PC9zcGFuPjwvdT48L2k+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUm9tYW4mcXVvdDs7Y29sb3I6d2luZG93dGV4dCI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTm90ZTo8L3NwYW4+PC91PjwvaT48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGlhc2VzIGhhcyBiZWVuIGFkZGVkIGZvciBhbnkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFQSSBuYW1pbmcgY2hhbmdlLCB0byBrZWVwCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21wYXRpYmlsaXR5IHdpdGggcHJldmlvdXMgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPnZlcnNpb248L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21wYXRpYmlsaXR5IHdpdGggcHJldmlvdXMgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnZlcnNpb248L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNjEgbGV2ZWwxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzEyMDt0YWItc3RvcHM6bGlzdCAuNWluIj48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKIAogCiAKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij5IQUwKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdQSU8gPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+dXBkYXRlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR1BJTyA8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0iY2lyY2xlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTExIGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzEyMTt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+QWRkIGEgbmV3Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWNybyA8aT5fX0hBTF9HUElPX0VYVElfR0VORVJBVEVfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5TV0lUKDwvc3Bhbj48L3NwYW4+KTwvaT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9ImNpcmNsZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkIGEgbmV3CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWNybyA8aT5fX0hBTF9HUElPX0VYVElfR0VORVJBVEVfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlNXSVQoPC9zcGFuPjwvc3Bhbj4pPC9pPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gbWFuYWdlIHRoZSBnZW5lcmF0aW9uIG9mCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzb2Z0d2FyZSBpbnRlcnJ1cHQgb24gc2VsZWN0ZWQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVYVEkgbGluZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDExMSBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMjE7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SEFMX0dQSU9fPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SW5pdCg8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPik6IHVzZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRVhUSSBsaW5lPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX0dQSU9fPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5Jbml0KDwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPik6IHVzZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVtcG9yYXJ5IHZhcmlhYmxlIHdoZW4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vZGlmeWluZyB0aGUgcmVnaXN0ZXJzLCB0bwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXZvaWQgdW5leHBlY3RlZCB0cmFuc2l0aW9uIGluCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgR1BJTyBwaW4gY29uZmlndXJhdGlvbjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDExMSBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMjE7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlJlbW92ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSVNfR0VUX0dQSU9fUElOIG1hY3JvPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTExIGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzEyMTt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+QWRkIGEgbmV3Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3Bhbgotc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX0dQSU9fPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+TG9ja1Bpbig8L3NwYW4+PC9zcGFuPik8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxMTEgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTIxO3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5Qcml2YXRlIE1hY3JvCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgR1BJTyBwaW4gY29uZmlndXJhdGlvbjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlJlbW92ZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSVNfR0VUX0dQSU9fUElOIG1hY3JvPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkIGEgbmV3CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9HUElPXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkxvY2tQaW4oPC9zcGFuPjwvc3Bhbj4pPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+UHJpdmF0ZSBNYWNybwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19IQUxfR0VUX0dQSU9fU09VUkNFIHJlbmFtZWQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludG8gR0VUX0dQSU9fU09VUkNFPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTExIGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzEyMTt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+QWRkIHRoZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3VwcG9ydCBvZiBTVE0zMkY0MTF4eCA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+ZGV2aWNlcworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50byBHRVRfR1BJT19TT1VSQ0U8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQgdGhlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdXBwb3J0IG9mIFNUTTMyRjQxMXh4IDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5kZXZpY2VzCiAKIAogCkBAIC01Mjc1NCwxMTY5ICsxMDYxMywyMjkgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6PC9zcGFuPjwvc3Bhbj4gYWRkIHRoZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3IEFsdGVybmF0ZSBmdW5jdGlvbnMgdmFsdWVzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWxhdGVkIHRvIG5ldyByZW1hcCBhZGRlZCBmb3IKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNQSSwgVVNBUlQsIEkyQzwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxMTEgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTIxO3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5VcGRhdGUgdGhlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTUEksIFVTQVJULCBJMkM8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUgdGhlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb2xsb3dpbmcgSEFMIEdQSU8gbWFjcm9zCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogcmVuYW1lIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+RVhUSV9MaW5leDwvc3Bhbj48L3NwYW4+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBieSA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3Bhbgotc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+R1BJT19QSU5feDwvc3Bhbj48L3NwYW4+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxMTEgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMjE7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPl9fSEFMX0dQSU9fRVhUSV9DTEVBUl88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPklUKDwvc3Bhbj48L3NwYW4+KTxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDExMSBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzEyMTt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+X19IQUxfR1BJT19FWFRJX0dFVF88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPklUKDwvc3Bhbj48L3NwYW4+KTxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDExMSBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzEyMTt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+X19IQUxfR1BJT19FWFRJX0NMRUFSXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+RkxBRyg8L3NwYW4+PC9zcGFuPik8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxMTEgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMjE7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPl9fSEFMX0dQSU9fRVhUSV9HRVRfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5GTEFHKDwvc3Bhbj48L3NwYW4+KTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IHJlbmFtZSA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkVYVElfTGluZXg8L3NwYW4+PC9zcGFuPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnkgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5HUElPX1BJTl94PC9zcGFuPjwvc3Bhbj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5fX0hBTF9HUElPX0VYVElfQ0xFQVJfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPklUKDwvc3Bhbj48L3NwYW4+KTxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5fX0hBTF9HUElPX0VYVElfR0VUXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5JVCg8L3NwYW4+PC9zcGFuPik8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+X19IQUxfR1BJT19FWFRJX0NMRUFSXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5GTEFHKDwvc3Bhbj48L3NwYW4+KTxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5fX0hBTF9HUElPX0VYVElfR0VUXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5GTEFHKDwvc3Bhbj48L3NwYW4+KTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJNc29MaXN0UGFyYWdyYXBoIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1hcmdpbi1sZWZ0Oi41aW47dGV4dC1pbmRlbnQ6LS4yNWluOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFiLXN0b3BzOmxpc3QgLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7bXNvLWJpZGktZm9udC1zaXplOgotMTIuMHB0O2ZvbnQtZmFtaWx5OldpbmdkaW5nczttc28tZmFyZWFzdC1mb250LWZhbWlseTpXaW5nZGluZ3M7Ci1tc28tYmlkaS1mb250LWZhbWlseTpXaW5nZGluZ3M7Y29sb3I6YmxhY2siPqc8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTo3LjBwdDttc28tZmFyZWFzdC1mb250LWZhbWlseTpXaW5nZGluZ3M7Y29sb3I6YmxhY2siPiZuYnNwOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJNc29MaXN0UGFyYWdyYXBoIiBzdHlsZT0ibWFyZ2luLWxlZnQ6IDAuNWluOyB0ZXh0LWluZGVudDogLTAuMjVpbjsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiBXaW5nZGluZ3M7IGNvbG9yOiBibGFjazsiPqc8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogN3B0OyBjb2xvcjogYmxhY2s7Ij4mbmJzcDsKIAogCiAKIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOmJsYWNrIj5IQUwgRE1BPC9zcGFuPjwvYj48c3Bhbgotc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6Ci0mcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6YmxhY2siPiB1cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJjaXJjbGUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw2MyBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMjI7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkZpeCBpbiA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkhBTF9ETUFfPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+UG9sbEZvclRyYW5zZmVyKDwvc3Bhbj48L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG86PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw2MyBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzEyMjt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+c2V0IERNQQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7IGNvbG9yOiBibGFjazsiPkhBTCBETUE8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7IGNvbG9yOiBibGFjazsiPiB1cGRhdGU8L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOiBibGFjazsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9ImNpcmNsZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Rml4IGluIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX0RNQV88L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5Qb2xsRm9yVHJhbnNmZXIoPC9zcGFuPjwvc3Bhbj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0bzo8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+c2V0IERNQQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJvciBjb2RlIGluIGNhc2Ugb2YKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX0VSUk9SIHN0YXR1cyA8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNjMgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMjI7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPnNldCBIQUwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVW5sb2NrIGJlZm9yZSBETUEgc3RhdGUgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj51cGRhdGU8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUxfRVJST1Igc3RhdHVzIDwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+c2V0IEhBTAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVbmxvY2sgYmVmb3JlIERNQSBzdGF0ZSA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iTXNvTGlzdFBhcmFncmFwaCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtYXJnaW4tbGVmdDouNWluO3RleHQtaW5kZW50Oi0uMjVpbjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhYi1zdG9wczpsaXN0IC41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O21zby1iaWRpLWZvbnQtc2l6ZToKLTEyLjBwdDtmb250LWZhbWlseTpXaW5nZGluZ3M7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6V2luZ2RpbmdzOwotbXNvLWJpZGktZm9udC1mYW1pbHk6V2luZ2RpbmdzO2NvbG9yOmJsYWNrIj6nPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6Ny4wcHQ7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6V2luZ2RpbmdzO2NvbG9yOmJsYWNrIj4mbmJzcDsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iTXNvTGlzdFBhcmFncmFwaCIgc3R5bGU9Im1hcmdpbi1sZWZ0OiAwLjVpbjsgdGV4dC1pbmRlbnQ6IC0wLjI1aW47Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogV2luZ2RpbmdzOyBjb2xvcjogYmxhY2s7Ij6nPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDdwdDsgY29sb3I6IGJsYWNrOyI+Jm5ic3A7CiAKIAogCiAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjpibGFjayI+SEFMIERNQTJEPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOmJsYWNrIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjayI+PG86cD48L286cD48L3NwYW4+PC9wPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0iY2lyY2xlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTIyIGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzEyMzt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+QWRkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsgY29sb3I6IGJsYWNrOyI+SEFMIERNQTJEPC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyBjb2xvcjogYmxhY2s7Ij4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlPC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjogYmxhY2s7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L3A+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJjaXJjbGUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhdGlvbiBvZiBzb3VyY2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkZHJlc3MgaW4gY2FzZSBvZiBBOCBvciBBNAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTTJNX1BGQyBETUEyRCBtb2RlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE0yTV9QRkMgRE1BMkQgbW9kZTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTIyIGxldmVsMQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMjM7dGFiLXN0b3BzOmxpc3QgLjVpbiI+PGI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMCiAKIAogCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+SEFMCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGTEFTSCA8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij51cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGTEFTSCA8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJjaXJjbGUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0iY2lyY2xlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNTAgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTI0O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5GdW5jdGlvbnMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9ImNpcmNsZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9ImNpcmNsZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RnVuY3Rpb25zCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZW9yZ2FuaXphdGlvbiB1cGRhdGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXBlbmRpbmcgb24gdGhlIGZlYXR1cmVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdXBwb3J0ZWQgYnkgZWFjaCBTVE0zMkY0IDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5kZXZpY2U8L3NwYW4+PC9zcGFuPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDUwIGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzEyNDt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+QWRkIG5ldworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3VwcG9ydGVkIGJ5IGVhY2ggU1RNMzJGNCA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+ZGV2aWNlPC9zcGFuPjwvc3Bhbj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZCBuZXcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRyaXZlcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHN0bTMyZjR4eF9oYWxfZmxhc2hfcmFtZnVuYy5oLy5jKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gbWFuYWdlIGZ1bmN0aW9uIGV4ZWN1dGVkCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmcm9tIFJBTSwgdGhlc2UgZnVuY3Rpb25zIGFyZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXZhaWxhYmxlIG9ubHkgZm9yIFNUTTMyRjQxMXh4Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+RGV2aWNlczwvc3Bhbj48L3NwYW4+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJjaXJjbGUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw1MCBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzEyNDt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PGk+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkZMQVNIXzwvc3Bhbj48L2k+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PGk+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlN0b3BGbGFzaEludGVyZmFjZUNsayg8L3NwYW4+PC9pPjwvc3Bhbj48aT48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4pPC9zcGFuPjwvaT48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4mbmJzcDsgOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkRldmljZXM8L3NwYW4+PC9zcGFuPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iY2lyY2xlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gY2xhc3M9InNwZWxsZSI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkZMQVNIXzwvc3Bhbj48L2k+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlN0b3BGbGFzaEludGVyZmFjZUNsayg8L3NwYW4+PC9pPjwvc3Bhbj48aT48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+KTwvc3Bhbj48L2k+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPiZuYnNwOyA6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3AgdGhlIGZsYXNoIGludGVyZmFjZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aGlsZSBTeXN0ZW0gUnVuPG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNTAgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMjQ7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxpPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5GTEFTSF88L3NwYW4+PC9pPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxpPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5TdGFydEZsYXNoSW50ZXJmYWNlQ2xrKDwvc3Bhbj48L2k+PC9zcGFuPjxpPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPik8L3NwYW4+PC9pPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPiA6IFN0b3AgdGhlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxpPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5GTEFTSF88L3NwYW4+PC9pPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxpPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5TdGFydEZsYXNoSW50ZXJmYWNlQ2xrKDwvc3Bhbj48L2k+PC9zcGFuPjxpPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4pPC9zcGFuPjwvaT48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+IDogU3RvcCB0aGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxhc2ggaW50ZXJmYWNlIHdoaWxlIFN5c3RlbQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSdW48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw1MCBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzEyNDt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PGk+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkZMQVNIXzwvc3Bhbj48L2k+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PGk+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkVuYWJsZUZsYXNoU2xlZXBNb2RlKDwvc3Bhbj48L2k+PC9zcGFuPjxpPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPik8L3NwYW4+PC9pPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPiA6IEVuYWJsZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBjbGFzcz0ic3BlbGxlIj48aT48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RkxBU0hfPC9zcGFuPjwvaT48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48aT48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RW5hYmxlRmxhc2hTbGVlcE1vZGUoPC9zcGFuPjwvaT48L3NwYW4+PGk+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPik8L3NwYW4+PC9pPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4gOiBFbmFibGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIGZsYXNoIHNsZWVwIHdoaWxlIFN5c3RlbQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSdW48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw1MCBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzEyNDt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PGk+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkZMQVNIXzwvc3Bhbj48L2k+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PGk+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkRpc2FibGVGbGFzaFNsZWVwTW9kZSg8L3NwYW4+PC9pPjwvc3Bhbj48aT48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4pPC9zcGFuPjwvaT48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4gOiZuYnNwOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBjbGFzcz0ic3BlbGxlIj48aT48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RkxBU0hfPC9zcGFuPjwvaT48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48aT48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RGlzYWJsZUZsYXNoU2xlZXBNb2RlKDwvc3Bhbj48L2k+PC9zcGFuPjxpPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4pPC9zcGFuPjwvaT48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+IDombmJzcDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGlzYWJsZSB0aGUgZmxhc2ggc2xlZXAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2hpbGUgU3lzdGVtIFJ1bjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aGlsZSBTeXN0ZW0gUnVuPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0bzttc28tbGlzdDpsMzAgbGV2ZWwxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzEyNTt0YWItc3RvcHM6bGlzdCAuNWluIj48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSIiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKIAogCiAKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij5IQUwKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBXUiA8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij51cGRhdGU8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUFdSIDwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZTxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIiB0eXBlPSJkaXNjIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9ImNpcmNsZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDEzIGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzEyNjt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxpPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5IQUxfUFdSXzwvc3Bhbj48L2k+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxpPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5QVkRDb25maWcoPC9zcGFuPjwvaT48L3NwYW4+PGk+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+KTwvc3Bhbj48L2k+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+OiBhZGQgY2xlYXIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9ImRpc2MiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJjaXJjbGUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gY2xhc3M9InNwZWxsZSI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9QV1JfPC9zcGFuPjwvaT48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48aT48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+UFZEQ29uZmlnKDwvc3Bhbj48L2k+PC9zcGFuPjxpPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4pPC9zcGFuPjwvaT48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+OiBhZGQgY2xlYXIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9mIHRoZSBFWFRJIHRyaWdnZXIgYmVmb3JlIG5ldwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhdGlvbiA8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTMgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTI2O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5GaXggaW4gPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5IQUxfUFdSXzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkVudGVyU1RBTkRCWU1vZGUoPC9zcGFuPjwvc3Bhbj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25maWd1cmF0aW9uIDwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkZpeCBpbiA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9QV1JfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RW50ZXJTVEFOREJZTW9kZSg8L3NwYW4+PC9zcGFuPikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvIG5vdCBjbGVhciBXYWtldXAgZmxhZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKFdVRiksIHdoaWNoIG5lZWQgdG8gYmUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsZWFyZWQgYXQgYXBwbGljYXRpb24gbGV2ZWwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJlZm9yZSB0byBjYWxsIHRoaXMgZnVuY3Rpb248L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxMyBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMjY7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SEFMX1BXUl88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5FbnRlclNMRUVQTW9kZSg8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPik8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDEzIGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTI2O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5SZW1vdmUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzYWJsZSBhbmQgZW5hYmxlIG9mIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPlN5c1RpY2s8L3NwYW4+PC9zcGFuPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5UaW1lcjwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDEzIGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTI2O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5VcGRhdGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNhZ2Ugb2YgX188c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPldGRSg8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJlZm9yZSB0byBjYWxsIHRoaXMgZnVuY3Rpb248L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfUFdSXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RW50ZXJTTEVFUE1vZGUoPC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+KTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5SZW1vdmUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzYWJsZSBhbmQgZW5hYmxlIG9mIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+U3lzVGljazwvc3Bhbj48L3NwYW4+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5UaW1lcjwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNhZ2Ugb2YgX188c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+V0ZFKDwvc3Bhbj48L3NwYW4+KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBsb3cgcG93ZXIgZW50cnkgZnVuY3Rpb246CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIHRoZXJlIGlzIGEgcGVuZGluZyBldmVudCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FsbGluZyBfX1dGRSgpIHdpbGwgbm90CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudGVyIHRoZSBDb3J0ZXhNNCBjb3JlIHRvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNsZWVwIG1vZGUuIFRoZSBzb2x1dGlvbiBpcwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0byBtYWRlIHRoZSBjYWxsIGJlbG93OyB0aGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlyc3QgX188c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuCi1zdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5XRkUoPC9zcGFuPjwvc3Bhbj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpcnN0IF9fPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPldGRSg8L3NwYW4+PC9zcGFuPikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXMgYWx3YXlzIGlnbm9yZWQgYW5kIGNsZWFycwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgZXZlbnQgaWYgb25lIHdhcyBhbHJlYWR5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBlbmRpbmcsIHRoZSBzZWNvbmQgaXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWx3YXlzIGFwcGxpZWQ8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsd2F5cyBhcHBsaWVkPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBzdHlsZT0ibWFyZ2luLWxlZnQ6MS4yNWluIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dG8iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5fX1NFVigpPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQiPjxicj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5fX1dGRSgpPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQiPjxicj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5fXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPldGRSg8L3NwYW4+PC9zcGFuPik8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdCI+PG86cD48L286cD48L3NwYW4+PC9wPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9Im1hcmdpbi1sZWZ0OiAxLjI1aW47Ij4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSIiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5fX1NFVigpPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ij48YnI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+X19XRkUoKTwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyI+PGJyPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPl9fPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPldGRSg8L3NwYW4+PC9zcGFuPik8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIiB0eXBlPSJkaXNjIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9ImNpcmNsZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDUyIGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzEyNzt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+QWRkIG5ldyBtYWNybworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iZGlzYyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9ImNpcmNsZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkIG5ldyBtYWNybwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIHNvZnR3YXJlIGV2ZW50IGdlbmVyYXRpb24KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fSEFMX1BWRF9FWFRJX0dFTkVSQVRFXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5TV0lUKDwvc3Bhbj48L3NwYW4+KTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDUyIGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzEyNzt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+UmVtb3ZlIHRoZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19IQUxfUFZEX0VYVElfR0VORVJBVEVfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlNXSVQoPC9zcGFuPjwvc3Bhbj4pPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+UmVtb3ZlIHRoZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9sbG93aW5nIGRlZmluZXMgZm9ybSBHZW5lcmljCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkcml2ZXIgYW5kIGFkZCB0aGVtIHVuZGVyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHRlbnNpb24gZHJpdmVyIGJlY2F1c2UgdGhleQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJlIG9ubHkgdXNlZCB3aXRoaW4gZXh0ZW5zaW9uCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbnMuPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw1MiBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzEyNzt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+Q1JfRlBEU19CQjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlZCB3aXRoaW4gPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX1BXUkV4Xzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5FbmFibGVGbGFzaFBvd2VyRG93big8L3NwYW4+PC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb248L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNTIgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMjc7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkNTUl9CUkVfQkI6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZWQgd2l0aGluIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkhBTF9QV1JFeF88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+RW5hYmxlQmtVcFJlZyg8L3NwYW4+PC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb248L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9ucy48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Q1JfRlBEU19CQjoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlZCB3aXRoaW4gPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfUFdSRXhfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RW5hYmxlRmxhc2hQb3dlckRvd24oPC9zcGFuPjwvc3Bhbj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5DU1JfQlJFX0JCOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VkIHdpdGhpbiA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9QV1JFeF88L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5FbmFibGVCa1VwUmVnKDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw1MiBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMjc7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkFkZCB0aGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQgdGhlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdXBwb3J0IG9mIFNUTTMyRjQxMXh4IGRldmljZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkZCB0aGUgZGVmaW5lIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5TVE0zMkY0MTF4RTwvc3Bhbj48L3NwYW4+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw1MiBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzEyNzt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+Rm9yCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZGQgdGhlIGRlZmluZSA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+U1RNMzJGNDExeEU8L3NwYW4+PC9zcGFuPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkZvcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTVE0zMkY0MDF4QywgU1RNMzJGNDAxeEUgYW5kCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNUTTMyRjQxMXhFIGRldmljZXMgYWRkIHRoZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb2xsb3dpbmcgZnVuY3Rpb25zIHVzZWQgdG8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5hYmxlIG9yIGRpc2FibGUgdGhlIGxvdwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2x0YWdlIG1vZGUgZm9yIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+cmVndWxhdG9yczwvc3Bhbj48L3NwYW4+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9sdGFnZSBtb2RlIGZvciA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+cmVndWxhdG9yczwvc3Bhbj48L3NwYW4+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIiB0eXBlPSJkaXNjIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9ImNpcmNsZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0iY2lyY2xlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTIwIGxldmVsNAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMjg7dGFiLXN0b3BzOmxpc3QgMi4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkhBTF9QV1JFeF88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+RW5hYmxlTWFpblJlZ3VsYXRvckxvd1ZvbHRhZ2UoPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4pPG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTIwIGxldmVsNAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMjg7dGFiLXN0b3BzOmxpc3QgMi4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkhBTF9QV1JFeF88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+RGlzYWJsZU1haW5SZWd1bGF0b3JMb3dWb2x0YWdlKDwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+KTxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDEyMCBsZXZlbDQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTI4O3RhYi1zdG9wczpsaXN0IDIuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5IQUxfUFdSRXhfPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkVuYWJsZUxvd1JlZ3VsYXRvckxvd1ZvbHRhZ2UoPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4pPG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTIwIGxldmVsNAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMjg7dGFiLXN0b3BzOmxpc3QgMi4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkhBTF9QV1JFeF88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+RGlzYWJsZUxvd1JlZ3VsYXRvckxvd1ZvbHRhZ2UoPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4pPG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9ImRpc2MiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJjaXJjbGUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9ImNpcmNsZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfUFdSRXhfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5FbmFibGVNYWluUmVndWxhdG9yTG93Vm9sdGFnZSg8L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4pPG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX1BXUkV4Xzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RGlzYWJsZU1haW5SZWd1bGF0b3JMb3dWb2x0YWdlKDwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPik8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfUFdSRXhfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5FbmFibGVMb3dSZWd1bGF0b3JMb3dWb2x0YWdlKDwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPik8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfUFdSRXhfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5EaXNhYmxlTG93UmVndWxhdG9yTG93Vm9sdGFnZSg8L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4pPG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxMjAgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTI4O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5Gb3IKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5Gb3IKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNUTTMyRjQyeHh4LzQzeHh4IGRldmljZXMsIGFkZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYSBuZXcgZnVuY3Rpb24gZm9yIFVuZGVyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEcml2ZXIgbWFuYWdlbWVudCBhcyB0aGUgbWFjcm8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFscmVhZHkgYWRkZWQgZm9yIHRoaXMgbW9kZSBpcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm90IHN1ZmZpY2llbnQ6IDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX1BXUkV4Xzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkVudGVyVW5kZXJEcml2ZVNUT1BNb2RlKDwvc3Bhbj48L3NwYW4+KTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub3Qgc3VmZmljaWVudDogPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfUFdSRXhfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RW50ZXJVbmRlckRyaXZlU1RPUE1vZGUoPC9zcGFuPjwvc3Bhbj4pPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDYwIGxldmVsMQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMjk7dGFiLXN0b3BzOmxpc3QgLjVpbiI+PGI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAogCiAKIAotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPkhBTAotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUkNDIDwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPnVwZGF0ZTxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw2MCBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMjk7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkluIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxpPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5IQUxfUkNDXzwvc3Bhbj48L2k+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PGk+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkNsb2NrQ29uZmlnKDwvc3Bhbj48L2k+PC9zcGFuPjxpPik8L2k+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSQ0MgPC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlPG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5JbiA8c3BhbiBjbGFzcz0ic3BlbGxlIj48aT48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9SQ0NfPC9zcGFuPjwvaT48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48aT48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkNsb2NrQ29uZmlnKDwvc3Bhbj48L2k+PC9zcGFuPjxpPik8L2k+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbjogdXBkYXRlIHRoZSBBSEIgY2xvY2sKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpdmlkZXIgYmVmb3JlIGNsb2NrIHN3aXRjaCB0bwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3IHNvdXJjZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDYwIGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzEyOTt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+QWxsb3cgdG8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ldyBzb3VyY2U8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BbGxvdyB0bwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FsaWJyYXRlIHRoZSBIU0kgd2hlbiBpdCBpcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlZCBhcyBzeXN0ZW0gY2xvY2sgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPnNvdXJjZTwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZWQgYXMgc3lzdGVtIGNsb2NrIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5zb3VyY2U8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlJlbmFtZSB0aGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbGxvd2luZyA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+bWFjcm9zPC9zcGFuPjwvc3Bhbj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxpPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5fX09UR0ZTX0ZPUkNFX1JFU0VUCiAKIAogCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDYwIGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzEyOTt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+UmVuYW1lIHRoZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9sbG93aW5nIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4KLXN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPm1hY3Jvczwvc3Bhbj48L3NwYW4+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw2MCBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzEyOTt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PGk+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+X19PVEdGU19GT1JDRV9SRVNFVAotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4KLXN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPigpJm5ic3A7IGJ5PC9zcGFuPjwvc3Bhbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+KCkmbmJzcDsgYnk8L3NwYW4+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fVVNCX09UR19GU19GT1JDRV9SRVNFVCgpPG86cD48L286cD48L3NwYW4+PC9pPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDYwIGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTI5O3RhYi1zdG9wczpsaXN0IDEuNWluIj48aT48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPl9fT1RHRlNfUkVMRUFTRV9SRVNFVAogCiAKIAotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPl9fT1RHRlNfUkVMRUFTRV9SRVNFVAotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4KLXN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPigpJm5ic3A7IGJ5PC9zcGFuPjwvc3Bhbj4mbmJzcDsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+KCkmbmJzcDsgYnk8L3NwYW4+PC9zcGFuPiZuYnNwOwogX19VU0JfT1RHX0ZTX1JFTEVBU0VfUkVTRVQoKTxvOnA+PC9vOnA+PC9zcGFuPjwvaT48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw2MCBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzEyOTt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PGk+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxpPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5fX09UR0ZTX0NMS19TTEVFUF9FTkFCTEUKIAogCiAKIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5fX09UR0ZTX0NMS19TTEVFUF9FTkFCTEUKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4KLXN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPigpJm5ic3A7IGJ5PC9zcGFuPjwvc3Bhbj4mbmJzcDsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+KCkmbmJzcDsgYnk8L3NwYW4+PC9zcGFuPiZuYnNwOwogX19VU0JfT1RHX0ZTX0NMS19TTEVFUF9FTkFCTEUoKTxvOnA+PC9vOnA+PC9zcGFuPjwvaT48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw2MCBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzEyOTt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PGk+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxpPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5fX09UR0ZTX0NMS19TTEVFUF9ESVNBQkxFCiAKIAogCiAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+X19PVEdGU19DTEtfU0xFRVBfRElTQUJMRQotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCkgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3Bhbgotc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+YnkmbmJzcDsgXzwvc3Bhbj48L3NwYW4+X1VTQl9PVEdfRlNfQ0xLX1NMRUVQX0RJU0FCTEUoKTwvc3Bhbj48L2k+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKSA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+YnkmbmJzcDsgXzwvc3Bhbj48L3NwYW4+X1VTQl9PVEdfRlNfQ0xLX1NMRUVQX0RJU0FCTEUoKTwvc3Bhbj48L2k+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dG8iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iIHR5cGU9ImRpc2MiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0iY2lyY2xlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTUgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTMwO3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5BZGQgbmV3IGZpZWxkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9IiI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9ImRpc2MiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJjaXJjbGUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZCBuZXcgZmllbGQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBMTEkyU00gaW4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJDQ19QTExJMlNJbml0VHlwZURlZgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0dXJlLCB0aGlzIGRpdmlzaW9uCkBAIC01MzkyNSwxODI2ICsxMDg0NCwyMzggQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRldmljZXMgPSZndDsgdGhlIEZXCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21wYXRpYmlsaXR5IGlzIGJyb2tlbiB2cy4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNUTTMyRjQwMXh4IGRldmljZXMgPG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTUgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTMwO3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5VcGRhdGUgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PGk+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkhBTF9SQ0NFeF88L3NwYW4+PC9pPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxpPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5QZXJpcGhDTEtDb25maWcoPC9zcGFuPjwvaT48L3NwYW4+PGk+KTwvaT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCZuYnNwOyA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48aT48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX1JDQ0V4X0dldFBlcmlwaENMS0NvbmZpZzwvc3Bhbj48L2k+PC9zcGFuPjxpPigpPC9pPiZuYnNwOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZSA8c3BhbiBjbGFzcz0ic3BlbGxlIj48aT48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9SQ0NFeF88L3NwYW4+PC9pPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxpPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+UGVyaXBoQ0xLQ29uZmlnKDwvc3Bhbj48L2k+PC9zcGFuPjxpPik8L2k+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQmbmJzcDsgPHNwYW4gY2xhc3M9InNwZWxsZSI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfUkNDRXhfR2V0UGVyaXBoQ0xLQ29uZmlnPC9zcGFuPjwvaT48L3NwYW4+PGk+KCk8L2k+Jm5ic3A7CiAKIAogCiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9ucyB0byBzdXBwb3J0IHRoZSBuZXcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBMTEkyU00gPG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTUgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTMwO3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5BZGQgbmV3CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkIG5ldwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gdG8gbWFuYWdlIHRoZSBuZXcgTFNFCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+bW9kZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPm1vZGUKIAogCiAKIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDo8L3NwYW4+PC9zcGFuPiA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkhBTF9SQ0NFeF9TZWxlY3RMU0VNb2RlPC9zcGFuPjwvc3Bhbj4oKTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0bzttc28tbGlzdDpsMTUgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTMwO3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5SZW9yZ2FuaXplCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgbWFjcm9zIGRlcGVuZGluZyA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+ZnJvbTwvc3Bhbj48L3NwYW4+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOjwvc3Bhbj48L3NwYW4+IDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX1JDQ0V4X1NlbGVjdExTRU1vZGU8L3NwYW4+PC9zcGFuPigpPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+UmVvcmdhbml6ZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIG1hY3JvcyBkZXBlbmRpbmcgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPmZyb208L3NwYW4+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUGFydCBudW1iZXIgdXNlZCBhbmQgbWFrZSB0aGVtCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb3JlIGNsZWFyPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9yZSBjbGVhcjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iTXNvTGlzdFBhcmFncmFwaCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtYXJnaW4tbGVmdDouNWluO3RleHQtaW5kZW50Oi0uMjVpbjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhYi1zdG9wczpsaXN0IC41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OldpbmdkaW5nczsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6V2luZ2RpbmdzO21zby1iaWRpLWZvbnQtZmFtaWx5OldpbmdkaW5nczsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iTXNvTGlzdFBhcmFncmFwaCIgc3R5bGU9Im1hcmdpbi1sZWZ0OiAwLjVpbjsgdGV4dC1pbmRlbnQ6IC0wLjI1aW47Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogV2luZ2RpbmdzOyBjb2xvcjogYmxhY2s7Ij6nPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDdwdDsgY29sb3I6IGJsYWNrOyI+Jm5ic3A7IDwvc3Bhbj48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyBjb2xvcjogYmxhY2s7Ij5IQUwKIAogCiAKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjpibGFjayI+pzwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjcuMHB0O21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXaW5nZGluZ3M7Y29sb3I6YmxhY2siPiZuYnNwOyA8L3NwYW4+PGI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6YmxhY2siPkhBTAotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVBUlQgPC9zcGFuPjwvYj48c3Bhbgotc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOmJsYWNrIj51cGRhdGU8bzpwPjwvbzpwPjwvc3Bhbj48L3A+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVUFSVCA8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7IGNvbG9yOiBibGFjazsiPnVwZGF0ZTxvOnA+PC9vOnA+PC9zcGFuPjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgdHlwZT0ic3F1YXJlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG87bXNvLWxpc3Q6bDEzMQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsMiBsZm8xMzE7dGFiLXN0b3BzOiBsaXN0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5BZGQgbmV3Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWNyb3MgdG8gY29udHJvbCBDVFMgYW5kIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5SVFM8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDEzMSBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMzE7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkFkZCBzcGVjaWZpYworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQgbmV3CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWNyb3MgdG8gY29udHJvbCBDVFMgYW5kIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5SVFM8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZCBzcGVjaWZpYwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFjcm9zIHRvIG1hbmFnZSB0aGUgZmxhZ3MKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsZWFyZWQgb25seSBieSBhIHNvZnR3YXJlIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5zZXF1ZW5jZTwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+IDwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDEzMSBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzEzMTt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PGk+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+X19IQUxfVUFSVF9DTEVBUl88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5QRUZMQUcoPC9zcGFuPjwvc3Bhbj4pPC9zcGFuPjwvaT48aT48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+IDwvc3Bhbj48L2k+PGk+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9pPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDEzMSBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzEzMTt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PGk+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+X19IQUxfVUFSVF9DTEVBUl88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5GRUZMQUcoPC9zcGFuPjwvc3Bhbj4pPC9zcGFuPjwvaT48aT48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+IDwvc3Bhbj48L2k+PGk+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9pPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDEzMSBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzEzMTt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PGk+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+X19IQUxfVUFSVF9DTEVBUl88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5ORUZMQUcoPC9zcGFuPjwvc3Bhbj4pPC9zcGFuPjwvaT48aT48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+IDwvc3Bhbj48L2k+PGk+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9pPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDEzMSBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzEzMTt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PGk+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+X19IQUxfVUFSVF9DTEVBUl88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5PUkVGTEFHKDwvc3Bhbj48L3NwYW4+KTwvc3Bhbj48L2k+PGk+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPiA8L3NwYW4+PC9pPjxpPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvaT48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxMzEgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMzE7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxpPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPl9fSEFMX1VBUlRfQ0xFQVJfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SURMRUZMQUcoPC9zcGFuPjwvc3Bhbj4pPC9zcGFuPjwvaT48aT48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+IDxvOnA+PC9vOnA+PC9zcGFuPjwvaT48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xlYXJlZCBvbmx5IGJ5IGEgc29mdHdhcmUgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnNlcXVlbmNlPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9IiI+IDwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48aT48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+X19IQUxfVUFSVF9DTEVBUl88c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+UEVGTEFHKDwvc3Bhbj48L3NwYW4+KTwvc3Bhbj48L2k+PGk+PHNwYW4gc3R5bGU9IiI+IDwvc3Bhbj48L2k+PGk+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvaT48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48aT48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+X19IQUxfVUFSVF9DTEVBUl88c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RkVGTEFHKDwvc3Bhbj48L3NwYW4+KTwvc3Bhbj48L2k+PGk+PHNwYW4gc3R5bGU9IiI+IDwvc3Bhbj48L2k+PGk+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvaT48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48aT48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+X19IQUxfVUFSVF9DTEVBUl88c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+TkVGTEFHKDwvc3Bhbj48L3NwYW4+KTwvc3Bhbj48L2k+PGk+PHNwYW4gc3R5bGU9IiI+IDwvc3Bhbj48L2k+PGk+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvaT48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48aT48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+X19IQUxfVUFSVF9DTEVBUl88c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+T1JFRkxBRyg8L3NwYW4+PC9zcGFuPik8L3NwYW4+PC9pPjxpPjxzcGFuIHN0eWxlPSIiPiA8L3NwYW4+PC9pPjxpPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2k+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPl9fSEFMX1VBUlRfQ0xFQVJfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPklETEVGTEFHKDwvc3Bhbj48L3NwYW4+KTwvc3Bhbj48L2k+PGk+PHNwYW4gc3R5bGU9IiI+IDxvOnA+PC9vOnA+PC9zcGFuPjwvaT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxMzEgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTMxO3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5BZGQgc2V2ZXJhbAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZCBzZXZlcmFsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbmhhbmNlbWVudHMgd2l0aG91dCBhZmZlY3RpbmcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBkcml2ZXIgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPmZ1bmN0aW9uYWxpdGllczwvc3Bhbj48L3NwYW4+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgZHJpdmVyIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5mdW5jdGlvbmFsaXRpZXM8L3NwYW4+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxMzEgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMzE7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlJlbW92ZSB0aGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+UmVtb3ZlIHRoZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGVjayBvbiBSWE5FIHNldCBhZnRlcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWFkaW5nIHRoZSBEYXRhIGluIHRoZSBEUgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWdpc3Rlcjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4gPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDEzMSBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzEzMTt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+VXBkYXRlIHRoZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWdpc3Rlcjwvc3Bhbj48c3BhbiBzdHlsZT0iIj4gPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXBkYXRlIHRoZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc21pdCBwcm9jZXNzZXMgdG8gdXNlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRYRSBpbnN0ZWFkIG9mIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+VEM8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4gPG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTMxIGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTMxO3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5VcGRhdGUgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48aT48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5IQUxfVUFSVF9UcmFuc21pdF88L3NwYW4+PC9pPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PGk+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SVQoPC9zcGFuPjwvaT48L3NwYW4+PGk+KTwvaT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVFhFIGluc3RlYWQgb2YgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlRDPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9IiI+IDxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUgPHNwYW4gY2xhc3M9InNwZWxsZSI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfVUFSVF9UcmFuc21pdF88L3NwYW4+PC9pPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxpPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SVQoPC9zcGFuPjwvaT48L3NwYW4+PGk+KTwvaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gZW5hYmxlIDxpPlVBUlRfSVRfVFhFPC9pPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnN0ZWFkIG9mIDxpPlVBUlRfSVRfVEM8L2k+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPiA8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnN0ZWFkIG9mIDxpPlVBUlRfSVRfVEM8L2k+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPiA8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJNc29MaXN0UGFyYWdyYXBoIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1hcmdpbi1sZWZ0Oi41aW47dGV4dC1pbmRlbnQ6LS4yNWluOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFiLXN0b3BzOmxpc3QgLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7bXNvLWJpZGktZm9udC1zaXplOgotMTIuMHB0O2ZvbnQtZmFtaWx5OldpbmdkaW5nczttc28tZmFyZWFzdC1mb250LWZhbWlseTpXaW5nZGluZ3M7Ci1tc28tYmlkaS1mb250LWZhbWlseTpXaW5nZGluZ3M7Y29sb3I6YmxhY2siPqc8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTo3LjBwdDttc28tZmFyZWFzdC1mb250LWZhbWlseTpXaW5nZGluZ3M7Y29sb3I6YmxhY2siPiZuYnNwOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJNc29MaXN0UGFyYWdyYXBoIiBzdHlsZT0ibWFyZ2luLWxlZnQ6IDAuNWluOyB0ZXh0LWluZGVudDogLTAuMjVpbjsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiBXaW5nZGluZ3M7IGNvbG9yOiBibGFjazsiPqc8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogN3B0OyBjb2xvcjogYmxhY2s7Ij4mbmJzcDsKIAogCiAKIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOmJsYWNrIj5IQUwgVVNBUlQ8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6YmxhY2siPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxMDAgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTMyO3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5BZGQgc3BlY2lmaWMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyBjb2xvcjogYmxhY2s7Ij5IQUwgVVNBUlQ8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7IGNvbG9yOiBibGFjazsiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGU8L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOiBibGFjazsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkIHNwZWNpZmljCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWNyb3MgdG8gbWFuYWdlIHRoZSBmbGFncwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xlYXJlZCBvbmx5IGJ5IGEgc29mdHdhcmUgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPnNlcXVlbmNlPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4gPG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxMDAgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMzI7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxpPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPl9fSEFMX1VTQVJUX0NMRUFSXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPlBFRkxBRyg8L3NwYW4+PC9zcGFuPik8L3NwYW4+PC9pPjxpPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4gPC9zcGFuPjwvaT48aT48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2k+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTAwIGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTMyO3RhYi1zdG9wczpsaXN0IDEuNWluIj48aT48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5fX0hBTF9VU0FSVF9DTEVBUl88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5GRUZMQUcoPC9zcGFuPjwvc3Bhbj4pPC9zcGFuPjwvaT48aT48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+IDwvc3Bhbj48L2k+PGk+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9pPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDEwMCBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzEzMjt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PGk+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+X19IQUxfVVNBUlRfQ0xFQVJfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+TkVGTEFHKDwvc3Bhbj48L3NwYW4+KTwvc3Bhbj48L2k+PGk+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPiA8L3NwYW4+PC9pPjxpPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvaT48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxMDAgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMzI7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxpPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPl9fSEFMX1VTQVJUX0NMRUFSXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPk9SRUZMQUcoPC9zcGFuPjwvc3Bhbj4pPC9zcGFuPjwvaT48aT48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+IDwvc3Bhbj48L2k+PGk+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9pPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDEwMCBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzEzMjt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PGk+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+X19IQUxfVVNBUlRfQ0xFQVJfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SURMRUZMQUcoPC9zcGFuPjwvc3Bhbj4pPC9zcGFuPjwvaT48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4gPG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsZWFyZWQgb25seSBieSBhIHNvZnR3YXJlIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5zZXF1ZW5jZTwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPiA8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxpPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5fX0hBTF9VU0FSVF9DTEVBUl88c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+UEVGTEFHKDwvc3Bhbj48L3NwYW4+KTwvc3Bhbj48L2k+PGk+PHNwYW4gc3R5bGU9IiI+IDwvc3Bhbj48L2k+PGk+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvaT48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48aT48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+X19IQUxfVVNBUlRfQ0xFQVJfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkZFRkxBRyg8L3NwYW4+PC9zcGFuPik8L3NwYW4+PC9pPjxpPjxzcGFuIHN0eWxlPSIiPiA8L3NwYW4+PC9pPjxpPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2k+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPl9fSEFMX1VTQVJUX0NMRUFSXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5ORUZMQUcoPC9zcGFuPjwvc3Bhbj4pPC9zcGFuPjwvaT48aT48c3BhbiBzdHlsZT0iIj4gPC9zcGFuPjwvaT48aT48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+PG86cD48L286cD48L3NwYW4+PC9pPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxpPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5fX0hBTF9VU0FSVF9DTEVBUl88c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+T1JFRkxBRyg8L3NwYW4+PC9zcGFuPik8L3NwYW4+PC9pPjxpPjxzcGFuIHN0eWxlPSIiPiA8L3NwYW4+PC9pPjxpPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2k+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPl9fSEFMX1VTQVJUX0NMRUFSXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5JRExFRkxBRyg8L3NwYW4+PC9zcGFuPik8L3NwYW4+PC9pPjxzcGFuIHN0eWxlPSIiPiA8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG87bXNvLWxpc3Q6bDEwMAotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsMiBsZm8xMzI7dGFiLXN0b3BzOiBsaXN0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5VcGRhdGUgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PGk+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkhBTF9VU0FSVF9UcmFuc21pdF88L3NwYW4+PC9pPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxpPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5JVCg8L3NwYW4+PC9pPjwvc3Bhbj48aT4pPC9pPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUgPHNwYW4gY2xhc3M9InNwZWxsZSI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfVVNBUlRfVHJhbnNtaXRfPC9zcGFuPjwvaT48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48aT48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPklUKDwvc3Bhbj48L2k+PC9zcGFuPjxpPik8L2k+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0byBlbmFibGUgPGk+VVNBUlRfSVRfVFhFPC9pPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5zdGVhZCBvZiA8aT5VU0FSVF9JVF9UQzwvaT48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4gPG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluc3RlYWQgb2YgPGk+VVNBUlRfSVRfVEM8L2k+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPiA8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJNc29MaXN0UGFyYWdyYXBoIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1hcmdpbi1sZWZ0Oi41aW47dGV4dC1pbmRlbnQ6LS4yNWluOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFiLXN0b3BzOmxpc3QgLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7bXNvLWJpZGktZm9udC1zaXplOgotMTIuMHB0O2ZvbnQtZmFtaWx5OldpbmdkaW5nczttc28tZmFyZWFzdC1mb250LWZhbWlseTpXaW5nZGluZ3M7Ci1tc28tYmlkaS1mb250LWZhbWlseTpXaW5nZGluZ3M7Y29sb3I6YmxhY2siPqc8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTo3LjBwdDttc28tZmFyZWFzdC1mb250LWZhbWlseTpXaW5nZGluZ3M7Y29sb3I6YmxhY2siPiZuYnNwOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJNc29MaXN0UGFyYWdyYXBoIiBzdHlsZT0ibWFyZ2luLWxlZnQ6IDAuNWluOyB0ZXh0LWluZGVudDogLTAuMjVpbjsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiBXaW5nZGluZ3M7IGNvbG9yOiBibGFjazsiPqc8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogN3B0OyBjb2xvcjogYmxhY2s7Ij4mbmJzcDsKIAogCiAKIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOmJsYWNrIj5IQUwgSVJEQTwvc3Bhbj48L2I+PHNwYW4KLXN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OgotJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOmJsYWNrIj4gdXBkYXRlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjayI+PG86cD48L286cD48L3NwYW4+PC9wPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTEzIGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzEzMzt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+QWRkIHNwZWNpZmljCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsgY29sb3I6IGJsYWNrOyI+SEFMIElSREE8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7IGNvbG9yOiBibGFjazsiPiB1cGRhdGU8L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOiBibGFjazsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkIHNwZWNpZmljCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWNyb3MgdG8gbWFuYWdlIHRoZSBmbGFncwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xlYXJlZCBvbmx5IGJ5IGEgc29mdHdhcmUgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPnNlcXVlbmNlPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4gPG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxMTMgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMzM7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxpPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPl9fSEFMX0lSREFfQ0xFQVJfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+UEVGTEFHKDwvc3Bhbj48L3NwYW4+KTwvc3Bhbj48L2k+PGk+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPiA8L3NwYW4+PC9pPjxpPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvaT48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxMTMgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMzM7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxpPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPl9fSEFMXwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElSREEgX0NMRUFSXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkZFRkxBRyg8L3NwYW4+PC9zcGFuPik8L3NwYW4+PC9pPjxpPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4gPC9zcGFuPjwvaT48aT48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2k+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTEzIGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTMzO3RhYi1zdG9wczpsaXN0IDEuNWluIj48aT48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5fX0hBTF8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJUkRBIF9DTEVBUl88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5ORUZMQUcoPC9zcGFuPjwvc3Bhbj4pPC9zcGFuPjwvaT48aT48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+IDwvc3Bhbj48L2k+PGk+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9pPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDExMyBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzEzMzt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PGk+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+X19IQUxfCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSVJEQSBfQ0xFQVJfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+T1JFRkxBRyg8L3NwYW4+PC9zcGFuPik8L3NwYW4+PC9pPjxpPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4gPC9zcGFuPjwvaT48aT48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2k+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTEzIGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTMzO3RhYi1zdG9wczpsaXN0IDEuNWluIj48aT48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5fX0hBTF8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJUkRBIF9DTEVBUl88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5JRExFRkxBRyg8L3NwYW4+PC9zcGFuPik8L3NwYW4+PC9pPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPiA8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsZWFyZWQgb25seSBieSBhIHNvZnR3YXJlIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5zZXF1ZW5jZTwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPiA8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxpPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5fX0hBTF9JUkRBX0NMRUFSXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5QRUZMQUcoPC9zcGFuPjwvc3Bhbj4pPC9zcGFuPjwvaT48aT48c3BhbiBzdHlsZT0iIj4gPC9zcGFuPjwvaT48aT48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+PG86cD48L286cD48L3NwYW4+PC9pPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxpPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5fX0hBTF8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJUkRBIF9DTEVBUl88c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RkVGTEFHKDwvc3Bhbj48L3NwYW4+KTwvc3Bhbj48L2k+PGk+PHNwYW4gc3R5bGU9IiI+IDwvc3Bhbj48L2k+PGk+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvaT48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48aT48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+X19IQUxfCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSVJEQSBfQ0xFQVJfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPk5FRkxBRyg8L3NwYW4+PC9zcGFuPik8L3NwYW4+PC9pPjxpPjxzcGFuIHN0eWxlPSIiPiA8L3NwYW4+PC9pPjxpPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2k+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPl9fSEFMXworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElSREEgX0NMRUFSXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5PUkVGTEFHKDwvc3Bhbj48L3NwYW4+KTwvc3Bhbj48L2k+PGk+PHNwYW4gc3R5bGU9IiI+IDwvc3Bhbj48L2k+PGk+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvaT48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48aT48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+X19IQUxfCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSVJEQSBfQ0xFQVJfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPklETEVGTEFHKDwvc3Bhbj48L3NwYW4+KTwvc3Bhbj48L2k+PHNwYW4gc3R5bGU9IiI+IDwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTEzIGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzEzMzt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+QWRkIHNldmVyYWwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQgc2V2ZXJhbAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5oYW5jZW1lbnRzIHdpdGhvdXQgYWZmZWN0aW5nCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgZHJpdmVyIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5mdW5jdGlvbmFsaXRpZXM8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPiA8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIGRyaXZlciA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+ZnVuY3Rpb25hbGl0aWVzPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9IiI+IDxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9ImNpcmNsZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDk3IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTM0O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5SZW1vdmUgdGhlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9ImNpcmNsZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5SZW1vdmUgdGhlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoZWNrIG9uIFJYTkUgc2V0IGFmdGVyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlYWRpbmcgdGhlIERhdGEgaW4gdGhlIERSCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZ2lzdGVyPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDk3IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTM0O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5VcGRhdGUgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48aT48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5IQUxfSVJEQV9UcmFuc21pdF88L3NwYW4+PC9pPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PGk+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SVQoPC9zcGFuPjwvaT48L3NwYW4+PGk+KTwvaT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVnaXN0ZXI8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZSA8c3BhbiBjbGFzcz0ic3BlbGxlIj48aT48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9JUkRBX1RyYW5zbWl0Xzwvc3Bhbj48L2k+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5JVCg8L3NwYW4+PC9pPjwvc3Bhbj48aT4pPC9pPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0byBlbmFibGUgPGk+SVJEQV9JVF9UWEU8L2k+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluc3RlYWQgb2YgPGk+SVJEQV9JVF9UQzwvaT48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+IDxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluc3RlYWQgb2YgPGk+SVJEQV9JVF9UQzwvaT48L3NwYW4+PHNwYW4gc3R5bGU9IiI+IDxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDk3IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzEzNDt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+QWRkIHRoZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZCB0aGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbGxvd2luZyBBUElzIHVzZWQgd2l0aGluIERNQQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPnByb2Nlc3M8L3NwYW4+PC9zcGFuPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnByb2Nlc3M8L3NwYW4+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJjaXJjbGUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw5NyBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzEzNDt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PGk+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkhBTF9TdGF0dXNUeXBlRGVmPC9zcGFuPjwvaT48L3NwYW4+PGk+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+IDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5IQUxfSVJEQV88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkRNQVBhdXNlKDwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPklSREFfSGFuZGxlVHlwZURlZjwvc3Bhbj48L3NwYW4+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi1zdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5oaXJkYTwvc3Bhbj48L3NwYW4+KTs8L3NwYW4+PC9pPjxpPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4gPC9zcGFuPjwvaT48aT48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2k+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsOTcgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMzQ7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxpPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5IQUxfU3RhdHVzVHlwZURlZjwvc3Bhbj48L2k+PC9zcGFuPjxpPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPiA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX0lSREFfPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5ETUFSZXN1bWUoPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SVJEQV9IYW5kbGVUeXBlRGVmPC9zcGFuPjwvc3Bhbj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4KLXN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPmhpcmRhPC9zcGFuPjwvc3Bhbj4pOzwvc3Bhbj48L2k+PGk+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPiA8L3NwYW4+PC9pPjxpPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvaT48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw5NyBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzEzNDt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PGk+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkhBTF9TdGF0dXNUeXBlRGVmPC9zcGFuPjwvaT48L3NwYW4+PGk+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+IDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5IQUxfSVJEQV88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkRNQVN0b3AoPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SVJEQV9IYW5kbGVUeXBlRGVmPC9zcGFuPjwvc3Bhbj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4KLXN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPmhpcmRhPC9zcGFuPjwvc3Bhbj4pOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9ImNpcmNsZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxpPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfU3RhdHVzVHlwZURlZjwvc3Bhbj48L2k+PC9zcGFuPjxpPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4gPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfSVJEQV88L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5ETUFQYXVzZSg8L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SVJEQV9IYW5kbGVUeXBlRGVmPC9zcGFuPjwvc3Bhbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5oaXJkYTwvc3Bhbj48L3NwYW4+KTs8L3NwYW4+PC9pPjxpPjxzcGFuIHN0eWxlPSIiPiA8L3NwYW4+PC9pPjxpPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2k+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gY2xhc3M9InNwZWxsZSI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9TdGF0dXNUeXBlRGVmPC9zcGFuPjwvaT48L3NwYW4+PGk+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPiA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9JUkRBXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkRNQVJlc3VtZSg8L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SVJEQV9IYW5kbGVUeXBlRGVmPC9zcGFuPjwvc3Bhbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5oaXJkYTwvc3Bhbj48L3NwYW4+KTs8L3NwYW4+PC9pPjxpPjxzcGFuIHN0eWxlPSIiPiA8L3NwYW4+PC9pPjxpPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2k+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gY2xhc3M9InNwZWxsZSI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9TdGF0dXNUeXBlRGVmPC9zcGFuPjwvaT48L3NwYW4+PGk+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPiA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9JUkRBXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkRNQVN0b3AoPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPklSREFfSGFuZGxlVHlwZURlZjwvc3Bhbj48L3NwYW4+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+aGlyZGE8L3NwYW4+PC9zcGFuPik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG86cD48L286cD48L3NwYW4+PC9pPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDk3IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTM0O3RhYi1zdG9wczpsaXN0IDEuNWluIj48aT48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij52b2lkIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5IQUxfSVJEQV88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPlR4SGFsZkNwbHRDYWxsYmFjayg8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5JUkRBX0hhbmRsZVR5cGVEZWY8L3NwYW4+PC9zcGFuPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICo8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3Bhbgotc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+aGlyZGE8L3NwYW4+PC9zcGFuPik7PC9zcGFuPjwvaT48aT48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+IDwvc3Bhbj48L2k+PGk+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9pPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDk3IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTM0O3RhYi1zdG9wczpsaXN0IDEuNWluIj48aT48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij52b2lkIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5IQUxfSVJEQV88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPlJ4SGFsZkNwbHRDYWxsYmFjayg8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5JUkRBX0hhbmRsZVR5cGVEZWY8L3NwYW4+PC9zcGFuPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICo8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3Bhbgotc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+aGlyZGE8L3NwYW4+PC9zcGFuPik7PC9zcGFuPjwvaT48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4gPG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnZvaWQgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfSVJEQV88L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5UeEhhbGZDcGx0Q2FsbGJhY2soPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPklSREFfSGFuZGxlVHlwZURlZjwvc3Bhbj48L3NwYW4+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+aGlyZGE8L3NwYW4+PC9zcGFuPik7PC9zcGFuPjwvaT48aT48c3BhbiBzdHlsZT0iIj4gPC9zcGFuPjwvaT48aT48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+PG86cD48L286cD48L3NwYW4+PC9pPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxpPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij52b2lkIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX0lSREFfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+UnhIYWxmQ3BsdENhbGxiYWNrKDwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5JUkRBX0hhbmRsZVR5cGVEZWY8L3NwYW4+PC9zcGFuPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICo8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPmhpcmRhPC9zcGFuPjwvc3Bhbj4pOzwvc3Bhbj48L2k+PHNwYW4gc3R5bGU9IiI+IDxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9Ik1zb0xpc3RQYXJhZ3JhcGgiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibWFyZ2luLWxlZnQ6LjVpbjt0ZXh0LWluZGVudDotLjI1aW47Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YWItc3RvcHM6bGlzdCAuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDttc28tYmlkaS1mb250LXNpemU6Ci0xMi4wcHQ7Zm9udC1mYW1pbHk6V2luZ2RpbmdzO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OldpbmdkaW5nczsKLW1zby1iaWRpLWZvbnQtZmFtaWx5OldpbmdkaW5ncztjb2xvcjpibGFjayI+pzwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjcuMHB0O21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OldpbmdkaW5ncztjb2xvcjpibGFjayI+Jm5ic3A7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9Ik1zb0xpc3RQYXJhZ3JhcGgiIHN0eWxlPSJtYXJnaW4tbGVmdDogMC41aW47IHRleHQtaW5kZW50OiAtMC4yNWluOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6IFdpbmdkaW5nczsgY29sb3I6IGJsYWNrOyI+pzwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiA3cHQ7IGNvbG9yOiBibGFjazsiPiZuYnNwOwogCiAKIAogCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+PGI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6YmxhY2siPkhBTCBTTUFSVENBUkQ8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6YmxhY2siPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxMjMgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTM1O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5BZGQgc3BlY2lmaWMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyBjb2xvcjogYmxhY2s7Ij5IQUwgU01BUlRDQVJEPC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyBjb2xvcjogYmxhY2s7Ij4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlPC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjogYmxhY2s7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L3A+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZCBzcGVjaWZpYwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFjcm9zIHRvIG1hbmFnZSB0aGUgZmxhZ3MKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsZWFyZWQgb25seSBieSBhIHNvZnR3YXJlIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5zZXF1ZW5jZTwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+IDxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0iY2lyY2xlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTIzIGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTM1O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5fX0hBTF9TTUFSVENBUkRfQ0xFQVJfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5QRUZMQUcoPC9zcGFuPjwvc3Bhbj4pPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPiA8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTIzIGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTM1O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5fX0hBTF9TTUFSVENBUkRfQ0xFQVJfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5GRUZMQUcoPC9zcGFuPjwvc3Bhbj4pPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPiA8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTIzIGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTM1O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5fX0hBTF9TTUFSVENBUkRfQ0xFQVJfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5ORUZMQUcoPC9zcGFuPjwvc3Bhbj4pPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPiA8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTIzIGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTM1O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5fX0hBTF9TTUFSVENBUkRfQ0xFQVJfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5PUkVGTEFHKDwvc3Bhbj48L3NwYW4+KTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4gPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDEyMyBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzEzNTt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PGk+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+X19IQUxfU01BUlRDQVJEX0NMRUFSXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPklETEVGTEFHKDwvc3Bhbj48L3NwYW4+KTwvc3Bhbj48L2k+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+IDwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xlYXJlZCBvbmx5IGJ5IGEgc29mdHdhcmUgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnNlcXVlbmNlPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9IiI+IDxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iY2lyY2xlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPl9fSEFMX1NNQVJUQ0FSRF9DTEVBUl88c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+UEVGTEFHKDwvc3Bhbj48L3NwYW4+KTwvc3Bhbj48c3BhbiBzdHlsZT0iIj4gPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+X19IQUxfU01BUlRDQVJEX0NMRUFSXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5GRUZMQUcoPC9zcGFuPjwvc3Bhbj4pPC9zcGFuPjxzcGFuIHN0eWxlPSIiPiA8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5fX0hBTF9TTUFSVENBUkRfQ0xFQVJfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPk5FRkxBRyg8L3NwYW4+PC9zcGFuPik8L3NwYW4+PHNwYW4gc3R5bGU9IiI+IDwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPl9fSEFMX1NNQVJUQ0FSRF9DTEVBUl88c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+T1JFRkxBRyg8L3NwYW4+PC9zcGFuPik8L3NwYW4+PHNwYW4gc3R5bGU9IiI+IDwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPl9fSEFMX1NNQVJUQ0FSRF9DTEVBUl88c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SURMRUZMQUcoPC9zcGFuPjwvc3Bhbj4pPC9zcGFuPjwvaT48c3BhbiBzdHlsZT0iIj4gPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxMjMgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTM1O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5BZGQgc2V2ZXJhbAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZCBzZXZlcmFsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbmhhbmNlbWVudHMgd2l0aG91dCBhZmZlY3RpbmcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBkcml2ZXIgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPmZ1bmN0aW9uYWxpdGllczwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+IDxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0iY2lyY2xlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTIzIGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTM1O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5BZGQgYSBuZXcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBkcml2ZXIgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPmZ1bmN0aW9uYWxpdGllczwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPiA8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9ImNpcmNsZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQgYSBuZXcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGUgPGk+SEFMX1NNQVJUQ0FSRF9TVEFURV9CVVNZX1RYX1JYPC9pPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgYWxsIHByb2Nlc3NlcyBoYXMgYmVlbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGVkIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4KLXN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPmFjY29yZGluZ2x5PC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+IDxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0bzttc28tbGlzdDpsMTIzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXZlbDMgbGZvMTM1O3RhYi1zdG9wczogbGlzdAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5VcGRhdGUgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48aT48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5IQUxfU01BUlRDQVJEX1RyYW5zbWl0Xzwvc3Bhbj48L2k+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48aT48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5JVCg8L3NwYW4+PC9pPjwvc3Bhbj48aT4pPC9pPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGVkIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5hY2NvcmRpbmdseTwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPiA8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZSA8c3BhbiBjbGFzcz0ic3BlbGxlIj48aT48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9TTUFSVENBUkRfVHJhbnNtaXRfPC9zcGFuPjwvaT48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48aT48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPklUKDwvc3Bhbj48L2k+PC9zcGFuPjxpPik8L2k+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvIGVuYWJsZSA8aT5TTUFSVENBUkRfSVRfVFhFPC9pPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnN0ZWFkIG9mIDxpPlNNQVJUQ0FSRF9JVF9UQzwvaT48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+IDxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluc3RlYWQgb2YgPGk+U01BUlRDQVJEX0lUX1RDPC9pPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj4gPG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMjggbGV2ZWwxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzEzNjt0YWItc3RvcHM6bGlzdCAuNWluIj48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMCiAKIAogCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+SEFMCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTUEk8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4gdXBkYXRlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4gPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwyOCBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMzY7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkJ1Z3MgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPmZpeDwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+IDxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMjggbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMzY7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlNQSQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU1BJPC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+IHVwZGF0ZTwvc3Bhbj48c3BhbiBzdHlsZT0iIj4gPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkJ1Z3MgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPmZpeDwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPiA8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5TUEkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50ZXJmYWNlIGlzIHVzZWQgaW4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3luY2hyb25vdXMgcG9sbGluZyBtb2RlOiBhdAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaWdoIGNsb2NrIHJhdGVzIGxpa2UgU1BJIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPnByZXNjYWxlcjwvc3Bhbj48L3NwYW4+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpZ2ggY2xvY2sgcmF0ZXMgbGlrZSBTUEkgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5wcmVzY2FsZXI8L3NwYW4+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyIGFuZCA0LCBjYWxsaW5nIDxicj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkhBTF9TUElfPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPlRyYW5zbWl0UmVjZWl2ZSg8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfU1BJXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlRyYW5zbWl0UmVjZWl2ZSg8L3NwYW4+PC9zcGFuPikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJucyB3aXRoIGVycm9yCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBTF9USU1FT1VUPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX1RJTUVPVVQ8L3NwYW4+PHNwYW4gc3R5bGU9IiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDI4IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTM2O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48aT48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SEFMX1NQSV9UcmFuc21pdFJlY2VpdmVfPC9zcGFuPjwvaT48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48aT48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+RE1BKDwvc3Bhbj48L2k+PC9zcGFuPjxpPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPik8L3NwYW4+PC9pPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPiBkb2VzIG5vdAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBjbGFzcz0ic3BlbGxlIj48aT48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX1NQSV9UcmFuc21pdFJlY2VpdmVfPC9zcGFuPjwvaT48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48aT48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RE1BKDwvc3Bhbj48L2k+PC9zcGFuPjxpPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4pPC9zcGFuPjwvaT48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+IGRvZXMgbm90CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsZWFuIHVwIHRoZSBUWCBETUEsIHNvIGFueQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdWJzZXF1ZW50IFNQSSBjYWxscyByZXR1cm4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIERNQSBlcnJvcjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4gPG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMjggbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMzY7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxpPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5IQUxfU1BJX1RyYW5zbWl0Xzwvc3Bhbj48L2k+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PGk+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkRNQSg8L3NwYW4+PC9pPjwvc3Bhbj48aT48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4pPC9zcGFuPjwvaT48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4gaXMgZmFpbGluZworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgRE1BIGVycm9yPC9zcGFuPjxzcGFuIHN0eWxlPSIiPiA8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBjbGFzcz0ic3BlbGxlIj48aT48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX1NQSV9UcmFuc21pdF88L3NwYW4+PC9pPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxpPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5ETUEoPC9zcGFuPjwvaT48L3NwYW4+PGk+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPik8L3NwYW4+PC9pPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4gaXMgZmFpbGluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aGVuIGRhdGEgc2l6ZSBpcyBlcXVhbCB0byAxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ5dGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBieXRlPC9zcGFuPjxzcGFuIHN0eWxlPSIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwyOCBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMzY7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkFkZCB0aGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQgdGhlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb2xsb3dpbmcgQVBJcyB1c2VkIHdpdGhpbiB0aGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERNQSA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+cHJvY2Vzczwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+IDwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRE1BIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5wcm9jZXNzPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9IiI+IDwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9ImNpcmNsZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTA0IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTM3O3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48aT48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SEFMX1N0YXR1c1R5cGVEZWY8L3NwYW4+PC9pPjwvc3Bhbj48aT48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4gPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkhBTF9TUElfPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5ETUFQYXVzZSg8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5TUElfSGFuZGxlVHlwZURlZjwvc3Bhbj48L3NwYW4+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi1zdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5oc3BpPC9zcGFuPjwvc3Bhbj4pOzxvOnA+PC9vOnA+PC9zcGFuPjwvaT48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxMDQgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMzc7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxpPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5IQUxfU3RhdHVzVHlwZURlZjwvc3Bhbj48L2k+PC9zcGFuPjxpPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPiA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX1NQSV88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkRNQVJlc3VtZSg8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5TUElfSGFuZGxlVHlwZURlZjwvc3Bhbj48L3NwYW4+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi1zdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5oc3BpPC9zcGFuPjwvc3Bhbj4pOzxvOnA+PC9vOnA+PC9zcGFuPjwvaT48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxMDQgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMzc7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxpPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5IQUxfU3RhdHVzVHlwZURlZjwvc3Bhbj48L2k+PC9zcGFuPjxpPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPiA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX1NQSV88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkRNQVN0b3AoPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+U1BJX0hhbmRsZVR5cGVEZWY8L3NwYW4+PC9zcGFuPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICo8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3Bhbgotc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+aHNwaTwvc3Bhbj48L3NwYW4+KTs8bzpwPjwvbzpwPjwvc3Bhbj48L2k+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTA0IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTM3O3RhYi1zdG9wczpsaXN0IDEuNWluIj48aT48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij52b2lkIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5IQUxfU1BJXzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+VHhIYWxmQ3BsdENhbGxiYWNrKDwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPlNQSV9IYW5kbGVUeXBlRGVmPC9zcGFuPjwvc3Bhbj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4KLXN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPmhzcGk8L3NwYW4+PC9zcGFuPik7PG86cD48L286cD48L3NwYW4+PC9pPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDEwNCBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzEzNzt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PGk+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+dm9pZCA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX1NQSV88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPlJ4SGFsZkNwbHRDYWxsYmFjayg8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5TUElfSGFuZGxlVHlwZURlZjwvc3Bhbj48L3NwYW4+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi1zdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5oc3BpPC9zcGFuPjwvc3Bhbj4pOzxvOnA+PC9vOnA+PC9zcGFuPjwvaT48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxMDQgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMzc7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxpPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPnZvaWQgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkhBTF9TUElfPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5UeFJ4SGFsZkNwbHRDYWxsYmFjayg8L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5TUElfSGFuZGxlVHlwZURlZjwvc3Bhbj48L3NwYW4+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi1zdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5oc3BpPC9zcGFuPjwvc3Bhbj4pOzwvc3Bhbj48L2k+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9ImNpcmNsZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gY2xhc3M9InNwZWxsZSI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9TdGF0dXNUeXBlRGVmPC9zcGFuPjwvaT48L3NwYW4+PGk+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPiA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9TUElfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RE1BUGF1c2UoPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlNQSV9IYW5kbGVUeXBlRGVmPC9zcGFuPjwvc3Bhbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5oc3BpPC9zcGFuPjwvc3Bhbj4pOzxvOnA+PC9vOnA+PC9zcGFuPjwvaT48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBjbGFzcz0ic3BlbGxlIj48aT48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX1N0YXR1c1R5cGVEZWY8L3NwYW4+PC9pPjwvc3Bhbj48aT48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+IDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX1NQSV88L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5ETUFSZXN1bWUoPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlNQSV9IYW5kbGVUeXBlRGVmPC9zcGFuPjwvc3Bhbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5oc3BpPC9zcGFuPjwvc3Bhbj4pOzxvOnA+PC9vOnA+PC9zcGFuPjwvaT48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBjbGFzcz0ic3BlbGxlIj48aT48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX1N0YXR1c1R5cGVEZWY8L3NwYW4+PC9pPjwvc3Bhbj48aT48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+IDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX1NQSV88L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5ETUFTdG9wKDwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5TUElfSGFuZGxlVHlwZURlZjwvc3Bhbj48L3NwYW4+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+aHNwaTwvc3Bhbj48L3NwYW4+KTs8bzpwPjwvbzpwPjwvc3Bhbj48L2k+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnZvaWQgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfU1BJXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlR4SGFsZkNwbHRDYWxsYmFjayg8L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+U1BJX0hhbmRsZVR5cGVEZWY8L3NwYW4+PC9zcGFuPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICo8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPmhzcGk8L3NwYW4+PC9zcGFuPik7PG86cD48L286cD48L3NwYW4+PC9pPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxpPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij52b2lkIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX1NQSV88L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5SeEhhbGZDcGx0Q2FsbGJhY2soPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlNQSV9IYW5kbGVUeXBlRGVmPC9zcGFuPjwvc3Bhbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5oc3BpPC9zcGFuPjwvc3Bhbj4pOzxvOnA+PC9vOnA+PC9zcGFuPjwvaT48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48aT48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dm9pZCA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9TUElfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VHhSeEhhbGZDcGx0Q2FsbGJhY2soPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlNQSV9IYW5kbGVUeXBlRGVmPC9zcGFuPjwvc3Bhbj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5oc3BpPC9zcGFuPjwvc3Bhbj4pOzwvc3Bhbj48L2k+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDc2IGxldmVsMQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMzg7dGFiLXN0b3BzOmxpc3QgLjVpbiI+PGI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAogCiAKIAotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPkhBTAotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUk5HIDwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPnVwZGF0ZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9ImNpcmNsZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNzYgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMzg7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkFkZCBhCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSTkcgPC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9ImNpcmNsZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkFkZCBhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbmRpdGlvbmFsIGRlZmluZSB0byBtYWtlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMgZHJpdmVyIHZpc2libGUgZm9yIGFsbAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTVE0zMkY0eHggZGV2aWNlcyBleGNlcHQKQEAgLTU1NzUyLDY0MSArMTEwODMsMTI0IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERldmljZXMuIDxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0Omw3NiBsZXZlbDEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTM4O3RhYi1zdG9wczpsaXN0IC41aW4iPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAogCiAKIAotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPkhBTAotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ1JDIDwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPnVwZGF0ZTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9ImNpcmNsZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsNzYgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMzg7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlRoZXNlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDUkMgPC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9ImNpcmNsZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlRoZXNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hY3JvcyBhcmUgYWRkZWQgdG8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVhZC93cml0ZSB0aGUgQ1JDIElEUgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWdpc3RlcjogX19IQUxfQ1JDX1NFVF88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPklEUig8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVnaXN0ZXI6IF9fSEFMX0NSQ19TRVRfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPklEUig8L3NwYW4+PC9zcGFuPikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIF9fSEFMX0NSQ19HRVRfSURSKCk8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxMzUgbGV2ZWwxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzEzOTt0YWItc3RvcHM6bGlzdCAuNWluIj48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMCiAKIAogCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+SEFMCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEQUMgPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+dXBkYXRlIDxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxMzUgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTM5O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5FbmhhbmNlIHRoZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgREFDIDwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnVwZGF0ZSA8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkVuaGFuY2UgdGhlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBETUEgY2hhbm5lbCBjb25maWd1cmF0aW9uIHdoZW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZWQgd2l0aCA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuCi1zdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5EQUM8L3NwYW4+PC9zcGFuPiA8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlZCB3aXRoIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5EQUM8L3NwYW4+PC9zcGFuPiA8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTM1IGxldmVsMQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMzk7dGFiLXN0b3BzOmxpc3QgLjVpbiI+PGI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMCiAKIAogCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+SEFMCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUSU0gPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+dXBkYXRlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTM1IGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzEzOTt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5IQUxfVElNXzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPklSUUhhbmRsZXIoPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4pOiB1cGRhdGUgdG8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRJTSA8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfVElNXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SVJRSGFuZGxlcig8L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4pOiB1cGRhdGUgdG8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoZWNrIHRoZSBpbnB1dCBjYXB0dXJlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFubmVsIDMgYW5kIDQgaW4gQ0NNUjIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluc3RlYWQgb2YgQ0NNUjE8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxMzUgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTM5O3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5fX0hBTF9USU1fPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPlBSRVNDQUxFUig8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluc3RlYWQgb2YgQ0NNUjE8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5fX0hBTF9USU1fPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlBSRVNDQUxFUig8L3NwYW4+PC9zcGFuPikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZWQgdG8gdXNlICc9JyBpbnN0ZWFkIG9mCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnfD0nPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDEzNSBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMzk7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkFkZCB0aGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd8PSc8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQgdGhlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb2xsb3dpbmcgbWFjcm8gaW4gVElNIEhBTAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZHJpdmVyPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxMzUgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMzk7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxpPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPl9fPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkhBTF9USU1fPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5HZXRDb21wYXJlKDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZHJpdmVyPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPl9fPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfVElNXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkdldENvbXBhcmUoPC9zcGFuPjwvc3Bhbj4pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG86cD48L286cD48L3NwYW4+PC9pPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDEzNSBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzEzOTt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PGk+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+X188c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX1RJTV88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkdldENvdW50ZXIoPC9zcGFuPjwvc3Bhbj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxpPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5fXzxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX1RJTV88L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5HZXRDb3VudGVyKDwvc3Bhbj48L3NwYW4+KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvOnA+PC9vOnA+PC9zcGFuPjwvaT48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwxMzUgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xMzk7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxpPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPl9fPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkhBTF9USU1fPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5HZXRBdXRvcmVsb2FkKDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48aT48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+X188c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9USU1fPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+R2V0QXV0b3JlbG9hZCg8L3NwYW4+PC9zcGFuPikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bzpwPjwvbzpwPjwvc3Bhbj48L2k+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMTM1IGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTM5O3RhYi1zdG9wczpsaXN0IDEuNWluIj48aT48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5fXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5IQUxfVElNXzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+R2V0Q2xvY2tEaXZpc2lvbig8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPl9fPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfVElNXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkdldENsb2NrRGl2aXNpb24oPC9zcGFuPjwvc3Bhbj4pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG86cD48L286cD48L3NwYW4+PC9pPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDEzNSBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzEzOTt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PGk+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+X188c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX1RJTV88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkdldElDUHJlc2NhbGVyKDwvc3Bhbj48L3NwYW4+KTwvc3Bhbj48L2k+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPl9fPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfVElNXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkdldElDUHJlc2NhbGVyKDwvc3Bhbj48L3NwYW4+KTwvc3Bhbj48L2k+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDEzNSBsZXZlbDEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTM5O3RhYi1zdG9wczpsaXN0IC41aW4iPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAogCiAKIAotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPkhBTAotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU0RNTUMgPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+dXBkYXRlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU0RNTUMgPC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0ic3F1YXJlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDowaW4iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9ImNpcmNsZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206NC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWxpc3Q6bDIzIGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzE0MDt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+VXNlIG9mIENNU0lTCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdGFudHMgaW5zdGVhZCBvZiBtYWdpYyA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+dmFsdWVzPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOjQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1saXN0OmwyMyBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xNDA7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPk1pc2NlbGxhbmVvdXMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9InNxdWFyZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9ImNpcmNsZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVzZSBvZiBDTVNJUworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3RhbnRzIGluc3RlYWQgb2YgbWFnaWMgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnZhbHVlczwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPk1pc2NlbGxhbmVvdXMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZSBpbiBmdW5jdGlvbnMgaW50ZXJuYWwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvZGluZzwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29kaW5nPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwyMyBsZXZlbDEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTQwO3RhYi1zdG9wczpsaXN0IC41aW4iPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAogCiAKIAotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPkhBTAotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTkFORCA8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij51cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJjaXJjbGUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOjQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1saXN0OmwyMyBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xNDA7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDs7Y29sb3I6YmxhY2siPkZpeAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTkFORCA8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iY2lyY2xlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Rml4CiAKIAogCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc3N1ZSBvZiBtYWNyb3MgcmV0dXJuaW5nCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3cm9uZyBhZGRyZXNzIGZvciBOQU5EIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5ibG9ja3M8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206NC41cHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWxpc3Q6bDIzIGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzE0MDt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90Oztjb2xvcjpibGFjayI+Rml4CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3cm9uZyBhZGRyZXNzIGZvciBOQU5EIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5ibG9ja3M8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5GaXgKIAogCiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzc3VlIGZvciByZWFkL3dyaXRlIE5BTkQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZ2Uvc3BhcmUgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPmFyZWE8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWdlL3NwYXJlIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5hcmVhPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDIzIGxldmVsMQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xNDA7dGFiLXN0b3BzOmxpc3QgLjVpbiI+PGI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMCiAKIAogCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+SEFMCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOT1IgPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+dXBkYXRlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0iY2lyY2xlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbTo0LjVwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tbGlzdDpsMjMgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTQwO3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7O2NvbG9yOmJsYWNrIj5BZGQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5PUiA8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iY2lyY2xlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkCiAKIAogCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgTk9SIGFkZHJlc3MgYmFuayBtYWNybwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlZCB3aXRoaW4gdGhlIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5BUEk8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOjQuNXB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1saXN0OmwyMyBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xNDA7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDs7Y29sb3I6YmxhY2siPlVwZGF0ZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlZCB3aXRoaW4gdGhlIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BUEk8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXBkYXRlCiAKIAogCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOT1IgQVBJIGltcGxlbWVudGF0aW9uIHRvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdm9pZCB0aGUgdXNlIG9mIE5PUiBhZGRyZXNzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYW5rIGhhcmQgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3Bhbgotc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+Y29kZWQ8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFuayBoYXJkIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5jb2RlZDwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMjMgbGV2ZWwxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzE0MDt0YWItc3RvcHM6bGlzdCAuNWluIj48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKIAogCiAKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij5IQUwKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhDRCA8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij51cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJjaXJjbGUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwyMyBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xNDA7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+SENEX1N0YXRlVHlwZURlZjwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+IHN0cnVjdHVyZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVtYmVycyA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuCi1zdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5yZW5hbWVkPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwyMyBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xNDA7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5UaGVzZSBtYWNybzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+IGFyZSByZW5hbWVkPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJzcXVhcmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwyMyBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzE0MDt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+X19IQUxfR0VUXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+RkxBRyg8L3NwYW4+PC9zcGFuPl9fSEFORExFX18sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQ0QgPC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+dXBkYXRlPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9ImNpcmNsZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SENEX1N0YXRlVHlwZURlZjwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPiBzdHJ1Y3R1cmUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lbWJlcnMgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnJlbmFtZWQ8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VGhlc2UgbWFjcm88L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4gYXJlIHJlbmFtZWQ8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJzcXVhcmUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+X19IQUxfR0VUXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5GTEFHKDwvc3Bhbj48L3NwYW4+X19IQU5ETEVfXywKIAogCiAKQEAgLTU2Mzk3LDM1MSArMTEyMTEsNjcgQEAKIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBieQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX0hBTF9IQ0RfR0VUX0ZMQUcoX19IQU5ETEVfXywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19JTlRFUlJVUFRfXyk8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMjMgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xNDA7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPl9fSEFMX0NMRUFSXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+RkxBRyg8L3NwYW4+PC9zcGFuPl9fSEFORExFX18sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fSU5URVJSVVBUX18pPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5fX0hBTF9DTEVBUl88c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RkxBRyg8L3NwYW4+PC9zcGFuPl9fSEFORExFX18sCiAKIAogCiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19JTlRFUlJVUFRfXykgYnkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19IQUxfSENEX0NMRUFSX0ZMQUcoX19IQU5ETEVfXywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19JTlRFUlJVUFRfXykmbmJzcDsgPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDIzIGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTQwO3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5fX0hBTF9JU19JTlZBTElEX0lOVEVSUlVQVChfX0hBTkRMRV88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPl8pJm5ic3A7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fSU5URVJSVVBUX18pJm5ic3A7IDwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+X19IQUxfSVNfSU5WQUxJRF9JTlRFUlJVUFQoX19IQU5ETEVfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPl8pJm5ic3A7CiAKIAogCiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ5PC9zcGFuPjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19IQUxfSENEX0lTX0lOVkFMSURfSU5URVJSVVBUKF9fSEFORExFX18pJm5ic3A7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMjMgbGV2ZWwxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzE0MDt0YWItc3RvcHM6bGlzdCAuNWluIj48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKKworCisKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBDRCA8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iY2lyY2xlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfUENEXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+U2V0VHhGaUZvKDwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPikgYW5kIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMX1BDRF9TZXRSeEZpRm88L3NwYW4+PC9zcGFuPigpCiAKIAogCiAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+SEFMCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQQ0QgPC9zcGFuPjwvYj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+dXBkYXRlPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0iY2lyY2xlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMjMgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTQwO3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkhBTF9QQ0RfPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+U2V0VHhGaUZvKDwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbmFtZWQgaW50byA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9QQ0RFeF9TZXRUeEZpRm88L3NwYW4+PC9zcGFuPigpCiAKIAogCiAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPikgYW5kIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX1BDRF9TZXRSeEZpRm88L3NwYW4+PC9zcGFuPigpCi0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbmFtZWQgaW50byA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkhBTF9QQ0RFeF9TZXRUeEZpRm88L3NwYW4+PC9zcGFuPigpCi0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3Bhbgotc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX1BDREV4X1NldFJ4RmlGbzwvc3Bhbj48L3NwYW4+KCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9QQ0RFeF9TZXRSeEZpRm88L3NwYW4+PC9zcGFuPigpCiAKIAogCiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCBtb3ZlZCB0byB0aGUgZXh0ZW5zaW9uCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RtMzJmNHh4X2hhbF9wY2RfZXguaC8uYzwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdG0zMmY0eHhfaGFsX3BjZF9leC5oLy5jPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+UENEX1N0YXRlVHlwZURlZjwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPiBzdHJ1Y3R1cmUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lbWJlcnMgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPnJlbmFtZWQ8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkZpeCBpbmNvcnJlY3QKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hc2tpbmcgb2YgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlR4RklGT0VtcHR5PC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5zdG0zMmY0eHhfbGxfdXNiLmM6CiAKIAogCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDIzIGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzE0MDt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5QQ0RfU3RhdGVUeXBlRGVmPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4gc3RydWN0dXJlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZW1iZXJzIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4KLXN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPnJlbmFtZWQ8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDIzIGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzE0MDt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+Rml4IGluY29ycmVjdAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFza2luZyBvZiA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+VHhGSUZPRW1wdHk8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDIzIGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzE0MDt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+c3RtMzJmNHh4X2xsX3VzYi5jOgotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZml4IGlzc3VlIGluIEhTIG1vZGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwyMyBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xNDA7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPk5ldyBtYWNyb3MgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPmFkZGVkPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDIzIGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTQwO3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5fX0hBTF9QQ0RfSVNfUEhZXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+U1VTUEVOREVEKDwvc3Bhbj48L3NwYW4+KTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwyMyBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzE0MDt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+X19IQUxfVVNCX0hTX0VYVElfR0VORVJBVEVfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5TV0lUKDwvc3Bhbj48L3NwYW4+KTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwyMyBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzE0MDt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+X19IQUxfVVNCX0ZTX0VYVElfR0VORVJBVEVfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5TV0lUKDwvc3Bhbj48L3NwYW4+KTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZml4IGlzc3VlIGluIEhTIG1vZGU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5OZXcgbWFjcm9zIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5hZGRlZDwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPl9fSEFMX1BDRF9JU19QSFlfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlNVU1BFTkRFRCg8L3NwYW4+PC9zcGFuPik8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPl9fSEFMX1VTQl9IU19FWFRJX0dFTkVSQVRFXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5TV0lUKDwvc3Bhbj48L3NwYW4+KTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+X19IQUxfVVNCX0ZTX0VYVElfR0VORVJBVEVfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlNXSVQoPC9zcGFuPjwvc3Bhbj4pPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDIzIGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzE0MDt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlRoZXNlIG1hY3JvPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij4gYXJlIHJlbmFtZWQ8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDIzIGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTQwO3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5fX0hBTF9HRVRfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5GTEFHKDwvc3Bhbj48L3NwYW4+X19IQU5ETEVfXywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlRoZXNlIG1hY3JvPC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+IGFyZSByZW5hbWVkPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPl9fSEFMX0dFVF88c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RkxBRyg8L3NwYW4+PC9zcGFuPl9fSEFORExFX18sCiAKIAogCkBAIC01Njc1Miw4NTEgKzExMjgyLDE0MyBAQAogCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fSEFMX1BDRF9HRVRfRkxBRyhfX0hBTkRMRV9fLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX0lOVEVSUlVQVF9fKTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwyMyBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzE0MDt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+X19IQUxfQ0xFQVJfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5GTEFHKDwvc3Bhbj48L3NwYW4+X19IQU5ETEVfXywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19JTlRFUlJVUFRfXyk8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPl9fSEFMX0NMRUFSXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5GTEFHKDwvc3Bhbj48L3NwYW4+X19IQU5ETEVfXywKIAogCiAKIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX0lOVEVSUlVQVF9fKSBieQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX0hBTF9QQ0RfQ0xFQVJfRkxBRyhfX0hBTkRMRV9fLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX0lOVEVSUlVQVF9fKSZuYnNwOyA8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMjMgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xNDA7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPl9fSEFMX0lTX0lOVkFMSURfSU5URVJSVVBUKF9fSEFORExFXzxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+XykmbmJzcDsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19JTlRFUlJVUFRfXykmbmJzcDsgPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5fX0hBTF9JU19JTlZBTElEX0lOVEVSUlVQVChfX0hBTkRMRV88c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+XykmbmJzcDsKIAogCiAKIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnk8L3NwYW4+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX0hBTF9QQ0RfSVNfSU5WQUxJRF9JTlRFUlJVUFQoX19IQU5ETEVfXykmbmJzcDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwyMyBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzE0MDt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+X19IQUxfUENEX1VOR0FURV9DTE9DSyhfX0hBTkRMRV9fKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5fX0hBTF9QQ0RfVU5HQVRFX0NMT0NLKF9fSEFORExFX18pCiAKIAogCiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19IQUxfUENEX1VOR0FURV9QSFlDTE9DSyhfX0hBTkRMRV9fKTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwyMyBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzE0MDt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+X19IQUxfUENEX0dBVEVfQ0xPQ0soX19IQU5ETEVfXykKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19IQUxfUENEX1VOR0FURV9QSFlDTE9DSyhfX0hBTkRMRV9fKTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+X19IQUxfUENEX0dBVEVfQ0xPQ0soX19IQU5ETEVfXykKIAogCiAKIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBieQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX0hBTF9QQ0RfR0FURV9QSFlDTE9DSyhfX0hBTkRMRV9fKTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX0hBTF9QQ0RfR0FURV9QSFlDTE9DSyhfX0hBTkRMRV9fKTwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMjMgbGV2ZWwxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzE0MDt0YWItc3RvcHM6bGlzdCAuNWluIj48Yj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUwKIAogCiAKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij5IQUwKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVUSCA8L3NwYW4+PC9iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij51cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJjaXJjbGUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwyMyBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xNDA7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlVwZGF0ZSA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkhBTF9FVEhfR2V0UmVjZWl2ZWRGcmFtZV88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5JVCg8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVUSCA8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij51cGRhdGU8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0iY2lyY2xlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5VcGRhdGUgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfRVRIX0dldFJlY2VpdmVkRnJhbWVfPC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SVQoPC9zcGFuPjwvc3Bhbj4pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiB0byByZXR1cm4gSEFMX0VSUk9SCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiB0aGUgcmVjZWl2ZWQgcGFja2V0IGlzIG5vdAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tcGxldGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwyMyBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xNDA7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlVzZSA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkhBTF88L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5EZWxheSg8L3NwYW4+PC9zcGFuPikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluc3RlYWQgb2YgY291bnRpbmcgbG9vcDwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDIzIGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzE0MDt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+Jm5ic3A7X19IQUxfRVRIX01BQ19DTEVBUl88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+RkxBRyg8L3NwYW4+PC9zcGFuPikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbXBsZXRlPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXNlIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SEFMXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkRlbGF5KDwvc3Bhbj48L3NwYW4+KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5zdGVhZCBvZiBjb3VudGluZyBsb29wPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Jm5ic3A7X19IQUxfRVRIX01BQ19DTEVBUl88c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+RkxBRyg8L3NwYW4+PC9zcGFuPikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hY3JvIGlzIHJlbW92ZWQ6IHRoZSBNQUNTUgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVnaXN0ZXIgaXMgcmVhZCBvbmx5PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMjMgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTQwO3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5BZGQgdGhlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWdpc3RlciBpcyByZWFkIG9ubHk8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5BZGQgdGhlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb2xsb3dpbmcgbWFjcm9zIHVzZWQgdG8gV2FrZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXAgdGhlIGRldmljZSBmcm9tIFNUT1AgbW9kZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnkgRXRoZXJuZXQgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPmV2ZW50CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBieSBFdGhlcm5ldCA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+ZXZlbnQKIAogCiAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6PC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDIzIGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTQwO3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5fX0hBTF9FVEhfRVhUSV9FTkFCTEVfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5JVCg8L3NwYW4+PC9zcGFuPik8bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwyMyBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzE0MDt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+X19IQUxfRVRIX0VYVElfRElTQUJMRV88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPklUKDwvc3Bhbj48L3NwYW4+KTxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDIzIGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTQwO3RhYi1zdG9wczpsaXN0IDEuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5fX0hBTF9FVEhfRVhUSV9HRVRfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5GTEFHKDwvc3Bhbj48L3NwYW4+KTxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDIzIGxldmVsMwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTQwO3RhYi1zdG9wczpsaXN0IDEuNWluIj48aT48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5fX0hBTF9FVEhfRVhUSV9DTEVBUl88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5GTEFHKDwvc3Bhbj48L3NwYW4+KTwvc3Bhbj48L2k+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMjMgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xNDA7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPl9fSEFMX0VUSF9FWFRJX1NFVF9SSVNJTkdfRUdERV88c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPlRSSUdHRVIoPC9zcGFuPjwvc3Bhbj4pPG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMjMgbGV2ZWwzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xNDA7dGFiLXN0b3BzOmxpc3QgMS41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPl9fSEFMX0VUSF9FWFRJX1NFVF9GQUxMSU5HX0VHREVfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5UUklHR0VSKDwvc3Bhbj48L3NwYW4+KTwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwyMyBsZXZlbDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzE0MDt0YWItc3RvcHM6bGlzdCAxLjVpbiI+PGk+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+X19IQUxfRVRIX0VYVElfU0VUX0ZBTExJTkdSSVNJTkdfPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+VFJJR0dFUig8L3NwYW4+PC9zcGFuPik8L3NwYW4+PC9pPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOjwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPl9fSEFMX0VUSF9FWFRJX0VOQUJMRV88c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+SVQoPC9zcGFuPjwvc3Bhbj4pPG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPl9fSEFMX0VUSF9FWFRJX0RJU0FCTEVfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPklUKDwvc3Bhbj48L3NwYW4+KTxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5fX0hBTF9FVEhfRVhUSV9HRVRfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkZMQUcoPC9zcGFuPjwvc3Bhbj4pPG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGk+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPl9fSEFMX0VUSF9FWFRJX0NMRUFSXzxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5GTEFHKDwvc3Bhbj48L3NwYW4+KTwvc3Bhbj48L2k+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5fX0hBTF9FVEhfRVhUSV9TRVRfUklTSU5HX0VHREVfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlRSSUdHRVIoPC9zcGFuPjwvc3Bhbj4pPG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPl9fSEFMX0VUSF9FWFRJX1NFVF9GQUxMSU5HX0VHREVfPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlRSSUdHRVIoPC9zcGFuPjwvc3Bhbj4pPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxpPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5fX0hBTF9FVEhfRVhUSV9TRVRfRkFMTElOR1JJU0lOR188c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VFJJR0dFUig8L3NwYW4+PC9zcGFuPik8L3NwYW4+PC9pPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwyMyBsZXZlbDEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTQwO3RhYi1zdG9wczpsaXN0IC41aW4iPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAogCiAKIAotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPkhBTAotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV1dERzwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPiB1cGRhdGUgPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0iY2lyY2xlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMjMgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTQwO3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5VcGRhdGUgbWFjcm8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdXREc8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4gdXBkYXRlIDwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOiAwaW47IiB0eXBlPSJjaXJjbGUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVwZGF0ZSBtYWNybwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1ldGVycyB0byB1c2UgdW5kZXJzY29yZToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fWFhYX188L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMjMgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTQwO3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5Vc2Ugb2YgQ01TSVMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0YW50cyBpbnN0ZWFkIG9mIG1hZ2ljIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj52YWx1ZXM8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDIzIGxldmVsMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxmbzE0MDt0YWItc3RvcHM6bGlzdCAxLjBpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+VXNlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNT0RJRllfUkVHIG1hY3JvIGluIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX1dXREdfPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SW5pdCg8L3NwYW4+PC9zcGFuPik8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwyMyBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xNDA7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPkFkZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSVNfV1dER19BTExfSU5TVEFOQ0UgaW4gPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InNwZWxsZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5IQUxfV1dER188L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJncmFtZSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5Jbml0KDwvc3Bhbj48L3NwYW4+KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIDxzcGFuIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi1zdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5IQUxfV1dER19EZUluaXQ8L3NwYW4+PC9zcGFuPigpPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fWFhYX188L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJjb2xvcjogYmxhY2s7IG1hcmdpbi10b3A6IDQuNXB0OyBtYXJnaW4tYm90dG9tOiA0LjVwdDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5Vc2Ugb2YgQ01TSVMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0YW50cyBpbnN0ZWFkIG9mIG1hZ2ljIDxzcGFuIGNsYXNzPSJncmFtZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij52YWx1ZXM8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVzZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTU9ESUZZX1JFRyBtYWNybyBpbiA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9XV0RHXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkluaXQoPC9zcGFuPjwvc3Bhbj4pPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJU19XV0RHX0FMTF9JTlNUQU5DRSBpbiA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9XV0RHXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkluaXQoPC9zcGFuPjwvc3Bhbj4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgPHNwYW4gY2xhc3M9InNwZWxsZSI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij5IQUxfV1dER19EZUluaXQ8L3NwYW4+PC9zcGFuPigpPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjazttYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwyMyBsZXZlbDEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTQwO3RhYi1zdG9wczpsaXN0IC41aW4iPjxiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTAogCiAKIAotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPkhBTAotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSVdERzwvc3Bhbj48L2I+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPiB1cGRhdGU8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6MGluIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJjaXJjbGUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwyMyBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xNDA7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlVzZSBXUklURV9SRUcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElXREc8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ij4gdXBkYXRlPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBpbjsiIHR5cGU9ImNpcmNsZSI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+VXNlIFdSSVRFX1JFRwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5zdGVhZCBvZiBTRVRfQklUIGZvciBhbGwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElXREcgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPm1hY3Jvczwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMjMgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTQwO3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5fX0hBTF9JV0RHX0NMRUFSX0ZMQUcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElXREcgPHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPm1hY3Jvczwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+X19IQUxfSVdER19DTEVBUl9GTEFHCiAKIAogCiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbW92ZWQ6IG5vIElXREcgZmxhZyBjbGVhcmVkCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBieSBhY2Nlc3MgdG8gU1IgPHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPnJlZ2lzdGVyPC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iY29sb3I6YmxhY2s7bWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tYm90dG9tOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQuNXB0O21zby1saXN0OmwyMyBsZXZlbDIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZm8xNDA7dGFiLXN0b3BzOmxpc3QgMS4waW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPlVzZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTU9ESUZZX1JFRyBtYWNybyBpbiA8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3BlbGxlIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkhBTF9JV0RHXzwvc3Bhbj48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImdyYW1lIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPkluaXQoPC9zcGFuPjwvc3Bhbj4pPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttc28tbGlzdDpsMjMgbGV2ZWwyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTQwO3RhYi1zdG9wczpsaXN0IDEuMGluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc28tZmFyZWFzdC1mb250LWZhbWlseTomcXVvdDtUaW1lcwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7Ij5BZGQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElTX0lXREdfQUxMX0lOU1RBTkNFIGluIDxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzcGVsbGUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SEFMX0lXREdfPC9zcGFuPjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZ3JhbWUiPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+SW5pdCg8L3NwYW4+PC9zcGFuPilBZGQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ5IGFjY2VzcyB0byBTUiA8c3BhbiBjbGFzcz0iZ3JhbWUiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+cmVnaXN0ZXI8L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2xpPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9ImNvbG9yOiBibGFjazsgbWFyZ2luLXRvcDogNC41cHQ7IG1hcmdpbi1ib3R0b206IDQuNXB0OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPlVzZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTU9ESUZZX1JFRyBtYWNybyBpbiA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9JV0RHXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkluaXQoPC9zcGFuPjwvc3Bhbj4pPC9zcGFuPjxzcGFuIHN0eWxlPSIiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+QWRkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJU19JV0RHX0FMTF9JTlNUQU5DRSBpbiA8c3BhbiBjbGFzcz0ic3BlbGxlIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkhBTF9JV0RHXzwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImdyYW1lIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsiPkluaXQoPC9zcGFuPjwvc3Bhbj4pQWRkCiAKIAogCiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBmb2xsb3dpbmcgbWFjcm9zIHVzZWQgdG8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdha2U8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tZmFyZWFzdC1mb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdha2U8L3NwYW4+PHNwYW4gc3R5bGU9IiI+PG86cD48L286cD48L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtYXJnaW4tcmlnaHQ6NTAwLjBwdDtiYWNrZ3JvdW5kOiMzMzY2RkY7LW1vei1iYWNrZ3JvdW5kLWNsaXA6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbml0aWFsOyAtbW96LWJhY2tncm91bmQtb3JpZ2luOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5pdGlhbDstbW96LWJhY2tncm91bmQtaW5saW5lLXBvbGljeToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluaXRpYWw7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6MCU7YmFja2dyb3VuZC1wb3NpdGlvbi15OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNTAlO2JhY2tncm91bmQtYXR0YWNobWVudDogc2Nyb2xsIj48Zm9udAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcj0iI2ZmZmZmZiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtBcmlhbCZxdW90OyxzYW5zLXNlcmlmOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzIHN0eWxlPSJiYWNrZ3JvdW5kOiByZ2IoNTEsIDEwMiwgMjU1KSBub25lIHJlcGVhdCBzY3JvbGwgMCUgNTAlOyAtbW96LWJhY2tncm91bmQtY2xpcDogLW1vei1pbml0aWFsOyAtbW96LWJhY2tncm91bmQtb3JpZ2luOiAtbW96LWluaXRpYWw7IC1tb3otYmFja2dyb3VuZC1pbmxpbmUtcG9saWN5OiAtbW96LWluaXRpYWw7IG1hcmdpbi1yaWdodDogNTAwcHQ7Ij48Zm9udCBjb2xvcj0iI2ZmZmZmZiI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O0FyaWFsJnF1b3Q7LHNhbnMtc2VyaWY7Ij5WMS4wLjAKIAogCiAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDs7Y29sb3I6d2hpdGUiPlYxLjAuMAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8gMTgtRmVicnVhcnktMjAxNDwvc3Bhbj48c3BhbiBzdHlsZT0iIj48bzpwPjwvbzpwPjwvc3Bhbj48L2ZvbnQ+PC9oMz4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOiA0LjVwdCAwaW4gNC41cHQgMC4yNWluOyI+PGI+PHU+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBwdDsgZm9udC1mYW1pbHk6ICZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjsgY29sb3I6IGJsYWNrOyI+TWFpbiBDaGFuZ2VzPC9zcGFuPjwvdT48L2I+PC9wPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luLXRvcDogMGluOyIgdHlwZT0ic3F1YXJlIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0iY29sb3I6IGJsYWNrOyBtYXJnaW4tdG9wOiA0LjVwdDsgbWFyZ2luLWJvdHRvbTogNC41cHQ7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+Rmlyc3QKIAogCiAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvIDE4LUZlYnJ1YXJ5LTIwMTQ8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvZm9udD48L2gzPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibWFyZ2luLXRvcDo0LjVwdDttYXJnaW4tcmlnaHQ6MGluO21hcmdpbi1ib3R0b206Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LjVwdDttYXJnaW4tbGVmdDouMjVpbiI+PGI+PHU+PHNwYW4KLXN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OgotJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOmJsYWNrIj5NYWluIENoYW5nZXM8L3NwYW4+PC91PjwvYj48L3A+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InNxdWFyZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImNvbG9yOmJsYWNrO21hcmdpbi10b3A6NC41cHQ7bWFyZ2luLWJvdHRvbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNC41cHQ7bXNvLWxpc3Q6bDEzMCBsZXZlbDEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGZvMTQxO3RhYi1zdG9wczpsaXN0IC41aW4iPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3IFJvbWFuJnF1b3Q7Ij5GaXJzdAotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9mZmljaWFsIHJlbGVhc2U8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2ZmaWNpYWwgcmVsZWFzZTwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHQ7Ij4mbmJzcDs8L3NwYW4+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImJhY2tncm91bmQ6IzMzNjZGRjstbW96LWJhY2tncm91bmQtY2xpcDoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluaXRpYWw7LW1vei1iYWNrZ3JvdW5kLW9yaWdpbjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluaXRpYWw7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtbW96LWJhY2tncm91bmQtaW5saW5lLXBvbGljeToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluaXRpYWw7YmFja2dyb3VuZC1wb3NpdGlvbi14OjAlOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbi15OjUwJTtiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6c2Nyb2xsIj48Zm9udAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcj0iI2ZmZmZmZiI+PGEgbmFtZT0iTGljZW5zZSI+PC9hPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMi4wcHQ7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOZXcgUm9tYW4mcXVvdDs7IGNvbG9yOndoaXRlIj5MaWNlbnNlPG86cD48L286cD48L3NwYW4+PC9mb250PjwvaDI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvO3RleHQtYWxpZ246anVzdGlmeSI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmIj5SZWRpc3RyaWJ1dGlvbgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiIGFsaWduPSJjZW50ZXIiPjxzcGFuIHN0eWxlPSIiPjxociBhbGlnbj0iY2VudGVyIiBzaXplPSIyIiB3aWR0aD0iMTAwJSI+IDwvc3Bhbj48L2Rpdj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luOiA0LjVwdCAwaW4gNC41cHQgMC4yNWluOyB0ZXh0LWFsaWduOiBjZW50ZXI7IiBhbGlnbj0iY2VudGVyIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyBjb2xvcjogYmxhY2s7Ij5Gb3IKIAogCiAKIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25kaXRpb25zIGFyZSBtZXQ6PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0Ij48bzpwPjwvbzpwPjwvc3Bhbj48L3A+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9sIHN0YXJ0PSIxIiB0eXBlPSIxIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvO3RleHQtYWxpZ246anVzdGlmeTttc28tbGlzdDpsOTkKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWwxIGxmbzE0Mjt0YWItc3RvcHM6bGlzdCAuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+UmVkaXN0cmlidXRpb25zCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9sbG93aW5nIGRpc2NsYWltZXIuPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0bzt0ZXh0LWFsaWduOmp1c3RpZnk7bXNvLWxpc3Q6bDk5Ci0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsMSBsZm8xNDI7dGFiLXN0b3BzOmxpc3QgLjVpbiI+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6Ci0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPlJlZGlzdHJpYnV0aW9ucwotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzdHJpYnV0aW9uLjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O21zby1mYXJlYXN0LWZvbnQtZmFtaWx5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+PG86cD48L286cD48L3NwYW4+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvO3RleHQtYWxpZ246anVzdGlmeTttc28tbGlzdDpsOTkKLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWwxIGxmbzE0Mjt0YWItc3RvcHM6bGlzdCAuNWluIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1mb250LWZhbWlseToKLQotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90OyI+TmVpdGhlcgotCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBuYW1lIG9mIFNUTWljcm9lbGVjdHJvbmljcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vciB0aGUgbmFtZXMgb2YgaXRzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVyaXZlZCA8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDttc28tZmFyZWFzdC1mb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPjxvOnA+PC9vOnA+PC9zcGFuPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vbD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dG87dGV4dC1hbGlnbjpqdXN0aWZ5Ij48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWYiPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi48L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQiPjxicj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJyPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+VEhJUwotCi0KLQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENPUFlSSUdIVCBIT0xERVIgT1IgQ09OVFJJQlVUT1JTCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNVQ0ggREFNQUdFLjwvc3Bhbj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEwLjBwdCI+IDxvOnA+PC9vOnA+PC9zcGFuPjwvcD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0idGV4dC1hbGlnbjpjZW50ZXIiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGlnbj0iY2VudGVyIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6JnF1b3Q7VGltZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3IFJvbWFuJnF1b3Q7O2NvbG9yOmJsYWNrIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGhyIGFsaWduPSJjZW50ZXIiIHdpZHRoPSIxMDAlIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemU9IjIiPiA8L3NwYW4+PC9kaXY+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9Ik1zb05vcm1hbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJtYXJnaW4tdG9wOjQuNXB0O21hcmdpbi1yaWdodDoKLTBpbjttYXJnaW4tYm90dG9tOjQuNXB0O21hcmdpbi1sZWZ0Oi4yNWluO3RleHQtYWxpZ246Y2VudGVyIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ249ImNlbnRlciI+PHNwYW4KLXN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjpibGFjayI+Rm9yCi0KLQotCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tcGxldGUgZG9jdW1lbnRhdGlvbiBvbiA8L3NwYW4+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZiI+U1RNMzI8c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjayI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTWljcm9jb250cm9sbGVycyB2aXNpdCA8L3NwYW4+PHU+PHNwYW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibHVlIj48YQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJodHRwOi8vd3d3LnN0LmNvbS9pbnRlcm5ldC9tY3UvZmFtaWx5LzE0MS5qc3AiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldD0iX2JsYW5rIj53d3cuc3QuY29tL1NUTTMyPC9hPjwvc3Bhbj48L3U+PC9zcGFuPjxzcGFuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjpibGFjayI+PG86cD48L286cD48L3NwYW4+PC9wPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21wbGV0ZSBkb2N1bWVudGF0aW9uIG9uIDwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWlseTogJnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmOyI+U1RNMzI8c3BhbiBzdHlsZT0iY29sb3I6IGJsYWNrOyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTWljcm9jb250cm9sbGVycyB2aXNpdCA8L3NwYW4+PHU+PHNwYW4gc3R5bGU9ImNvbG9yOiBibHVlOyI+PGEgaHJlZj0iaHR0cDovL3d3dy5zdC5jb20vaW50ZXJuZXQvbWN1L2ZhbWlseS8xNDEuanNwIiB0YXJnZXQ9Il9ibGFuayI+d3d3LnN0LmNvbS9TVE0zMjwvYT48L3NwYW4+PC91Pjwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6IGJsYWNrOyI+PG86cD48L286cD48L3NwYW4+PC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90cj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0cgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLXlmdGktaXJvdzoxO21zby15ZnRpLWxhc3Ryb3c6eWVzIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIHN0eWxlPSJ3aWR0aDo4NDMuMjVwdDtwYWRkaW5nOjBpbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDBpbiAwaW4gMGluIiB3aWR0aD0iMTEyNCIgdmFsaWduPSJ0b3AiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiBzdHlsZT0iYmFja2dyb3VuZDojMzM2NkZGIj48c3BhbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOjEyLjBwdDttc28tZmFyZWFzdC1mb250LWZhbWlseToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3Q7VGltZXMgTmV3Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJvbWFuJnF1b3Q7O2NvbG9yOndoaXRlIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L2gyPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyIHN0eWxlPSIiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgc3R5bGU9InBhZGRpbmc6IDBpbjsgd2lkdGg6IDg0My4yNXB0OyIgdmFsaWduPSJ0b3AiIHdpZHRoPSIxMTI0Ij4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDIgc3R5bGU9ImJhY2tncm91bmQ6IHJnYig1MSwgMTAyLCAyNTUpIG5vbmUgcmVwZWF0IHNjcm9sbCAwJSA1MCU7IC1tb3otYmFja2dyb3VuZC1jbGlwOiAtbW96LWluaXRpYWw7IC1tb3otYmFja2dyb3VuZC1vcmlnaW46IC1tb3otaW5pdGlhbDsgLW1vei1iYWNrZ3JvdW5kLWlubGluZS1wb2xpY3k6IC1tb3otaW5pdGlhbDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEycHQ7Ij48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L2gyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3Rib2R5PgpAQCAtNTc2MDUsMTYgKzExNDI3LDEzIEBACiAgICAgICAgICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgICAgICAgPC90Ym9keT4KICAgICAgICAgICAgICAgICAgIDwvdGFibGU+Ci0gICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iTXNvTm9ybWFsIgotICAgICAgICAgICAgICAgICAgICBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxvOnA+PC9vOnA+PC9wPgorICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9IiI+PG86cD48L286cD48L3A+CiAgICAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgIDwvdGJvZHk+CiAgICAgICAgICAgPC90YWJsZT4KICAgICAgICAgPC9kaXY+Ci0gICAgICAgIDxwIGNsYXNzPSJNc29Ob3JtYWwiCi0gICAgICAgICAgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48bzpwPiZuYnNwOzwvbzpwPjwvcD4KKyAgICAgICAgPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9IiI+PG86cD4mbmJzcDs8L286cD48L3A+CiAgICAgICA8L2Rpdj4KICAgICA8L2Rpdj4KLSAgPC9ib2R5PgotPC9odG1sPgorICA8L2JvZHk+PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL1NyYy9MZWdhY3kvc3RtMzJmNHh4X2hhbF9jYW4uYyBiL1NyYy9MZWdhY3kvc3RtMzJmNHh4X2hhbF9jYW4uYwppbmRleCA3YTRjZjUzLi5lMTc1MTQyIDEwMDY0NAotLS0gYS9TcmMvTGVnYWN5L3N0bTMyZjR4eF9oYWxfY2FuLmMKKysrIGIvU3JjL0xlZ2FjeS9zdG0zMmY0eHhfaGFsX2Nhbi5jCkBAIC05LDYgKzksMTcgQEAKICAgKiAgICAgICAgICAgKyBQZXJpcGhlcmFsIENvbnRyb2wgZnVuY3Rpb25zCiAgICogICAgICAgICAgICsgUGVyaXBoZXJhbCBTdGF0ZSBhbmQgRXJyb3IgZnVuY3Rpb25zCiAgICoKKyAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgICogQGF0dGVudGlvbgorICAqCisgICogQ29weXJpZ2h0IChjKSAyMDE2IFNUTWljcm9lbGVjdHJvbmljcy4KKyAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICAqCisgICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciB0ZXJtcyB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlCisgICogaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc29mdHdhcmUgY29tcG9uZW50LgorICAqIElmIG5vIExJQ0VOU0UgZmlsZSBjb21lcyB3aXRoIHRoaXMgc29mdHdhcmUsIGl0IGlzIHByb3ZpZGVkIEFTLUlTLgorICAqCisgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICBAdmVyYmF0aW0KICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIyMjIyBVc2VyIE5PVEUgIyMjIyMKQEAgLTgwLDMzICs5MSw2IEBACiAgIEBlbmR2ZXJiYXRpbQogICAgICAgICAgICAKICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gICogQGF0dGVudGlvbgotICAqCi0gICogPGgyPjxjZW50ZXI+JmNvcHk7IENPUFlSSUdIVChjKSAyMDE3IFNUTWljcm9lbGVjdHJvbmljczwvY2VudGVyPjwvaDI+Ci0gICoKLSAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLAotICAqIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDoKLSAgKiAgIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwKLSAgKiAgICAgIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gICogICAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsCi0gICogICAgICB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uCi0gICogICAgICBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAgKiAgIDMuIE5laXRoZXIgdGhlIG5hbWUgb2YgU1RNaWNyb2VsZWN0cm9uaWNzIG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycwotICAqICAgICAgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlCi0gICogICAgICB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KLSAgKgotICAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIgotICAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKLSAgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIEhPTERFUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCi0gICogRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwKLSAgKiBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUgotICAqIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSCi0gICogQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKLSAgKiBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gICoKLSAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICovCiAKIC8qIEluY2x1ZGVzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCkBAIC0xNjkzLDUgKzE2NzcsMyBAQAogLyoqCiAgICogQH0KICAgKi8KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKiAoQykgQ09QWVJJR0hUIFNUTWljcm9lbGVjdHJvbmljcyAqKioqKkVORCBPRiBGSUxFKioqKi8KZGlmZiAtLWdpdCBhL1NyYy9MZWdhY3kvc3RtMzJmNHh4X2hhbF9ldGguYyBiL1NyYy9MZWdhY3kvc3RtMzJmNHh4X2hhbF9ldGguYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ZGU5NDUzCi0tLSAvZGV2L251bGwKKysrIGIvU3JjL0xlZ2FjeS9zdG0zMmY0eHhfaGFsX2V0aC5jCkBAIC0wLDAgKzEsMjMwNyBAQAorLyoqCisgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICAqIEBmaWxlICAgIHN0bTMyZjR4eF9oYWxfZXRoLmMKKyAgKiBAYXV0aG9yICBNQ0QgQXBwbGljYXRpb24gVGVhbQorICAqIEBicmllZiAgIEVUSCBIQUwgbW9kdWxlIGRyaXZlci4KKyAgKiAgICAgICAgICBUaGlzIGZpbGUgcHJvdmlkZXMgZmlybXdhcmUgZnVuY3Rpb25zIHRvIG1hbmFnZSB0aGUgZm9sbG93aW5nCisgICogICAgICAgICAgZnVuY3Rpb25hbGl0aWVzIG9mIHRoZSBFdGhlcm5ldCAoRVRIKSBwZXJpcGhlcmFsOgorICAqICAgICAgICAgICArIEluaXRpYWxpemF0aW9uIGFuZCBkZS1pbml0aWFsaXphdGlvbiBmdW5jdGlvbnMKKyAgKiAgICAgICAgICAgKyBJTyBvcGVyYXRpb24gZnVuY3Rpb25zCisgICogICAgICAgICAgICsgUGVyaXBoZXJhbCBDb250cm9sIGZ1bmN0aW9ucworICAqICAgICAgICAgICArIFBlcmlwaGVyYWwgU3RhdGUgYW5kIEVycm9ycyBmdW5jdGlvbnMKKyAgKgorICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAgKiBAYXR0ZW50aW9uCisgICoKKyAgKiBDb3B5cmlnaHQgKGMpIDIwMTcgU1RNaWNyb2VsZWN0cm9uaWNzLgorICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgICoKKyAgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIHVuZGVyIHRlcm1zIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUKKyAgKiBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb2Z0d2FyZSBjb21wb25lbnQuCisgICogSWYgbm8gTElDRU5TRSBmaWxlIGNvbWVzIHdpdGggdGhpcyBzb2Z0d2FyZSwgaXQgaXMgcHJvdmlkZWQgQVMtSVMuCisgICoKKyAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgIEB2ZXJiYXRpbQorICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyAgICAgICAgICAgICAgICAgICAgIyMjIyMgSG93IHRvIHVzZSB0aGlzIGRyaXZlciAjIyMjIworICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyAgICBbLi5dCisgICAgICAoIylEZWNsYXJlIGEgRVRIX0hhbmRsZVR5cGVEZWYgaGFuZGxlIHN0cnVjdHVyZSwgZm9yIGV4YW1wbGU6CisgICAgICAgICBFVEhfSGFuZGxlVHlwZURlZiAgaGV0aDsKKworICAgICAgKCMpRmlsbCBwYXJhbWV0ZXJzIG9mIEluaXQgc3RydWN0dXJlIGluIGhldGggaGFuZGxlCisKKyAgICAgICgjKUNhbGwgSEFMX0VUSF9Jbml0KCkgQVBJIHRvIGluaXRpYWxpemUgdGhlIEV0aGVybmV0IHBlcmlwaGVyYWwgKE1BQywgRE1BLCAuLi4pCisKKyAgICAgICgjKUluaXRpYWxpemUgdGhlIEVUSCBsb3cgbGV2ZWwgcmVzb3VyY2VzIHRocm91Z2ggdGhlIEhBTF9FVEhfTXNwSW5pdCgpIEFQSToKKyAgICAgICAgICAoIyMpIEVuYWJsZSB0aGUgRXRoZXJuZXQgaW50ZXJmYWNlIGNsb2NrIHVzaW5nCisgICAgICAgICAgICAgICAoKysrKSBfX0hBTF9SQ0NfRVRITUFDX0NMS19FTkFCTEUoKTsKKyAgICAgICAgICAgICAgICgrKyspIF9fSEFMX1JDQ19FVEhNQUNUWF9DTEtfRU5BQkxFKCk7CisgICAgICAgICAgICAgICAoKysrKSBfX0hBTF9SQ0NfRVRITUFDUlhfQ0xLX0VOQUJMRSgpOworCisgICAgICAgICAgKCMjKSBJbml0aWFsaXplIHRoZSByZWxhdGVkIEdQSU8gY2xvY2tzCisgICAgICAgICAgKCMjKSBDb25maWd1cmUgRXRoZXJuZXQgcGluLW91dAorICAgICAgICAgICgjIykgQ29uZmlndXJlIEV0aGVybmV0IE5WSUMgaW50ZXJydXB0IChJVCBtb2RlKQorCisgICAgICAoIylJbml0aWFsaXplIEV0aGVybmV0IERNQSBEZXNjcmlwdG9ycyBpbiBjaGFpbiBtb2RlIGFuZCBwb2ludCB0byBhbGxvY2F0ZWQgYnVmZmVyczoKKyAgICAgICAgICAoIyMpIEhBTF9FVEhfRE1BVHhEZXNjTGlzdEluaXQoKTsgZm9yIFRyYW5zbWlzc2lvbiBwcm9jZXNzCisgICAgICAgICAgKCMjKSBIQUxfRVRIX0RNQVJ4RGVzY0xpc3RJbml0KCk7IGZvciBSZWNlcHRpb24gcHJvY2VzcworCisgICAgICAoIylFbmFibGUgTUFDIGFuZCBETUEgdHJhbnNtaXNzaW9uIGFuZCByZWNlcHRpb246CisgICAgICAgICAgKCMjKSBIQUxfRVRIX1N0YXJ0KCk7CisKKyAgICAgICgjKVByZXBhcmUgRVRIIERNQSBUWCBEZXNjcmlwdG9ycyBhbmQgZ2l2ZSB0aGUgaGFuZCB0byBFVEggRE1BIHRvIHRyYW5zZmVyCisgICAgICAgICB0aGUgZnJhbWUgdG8gTUFDIFRYIEZJRk86CisgICAgICAgICAoIyMpIEhBTF9FVEhfVHJhbnNtaXRGcmFtZSgpOworCisgICAgICAoIylQb2xsIGZvciBhIHJlY2VpdmVkIGZyYW1lIGluIEVUSCBSWCBETUEgRGVzY3JpcHRvcnMgYW5kIGdldCByZWNlaXZlZAorICAgICAgICAgZnJhbWUgcGFyYW1ldGVycworICAgICAgICAgKCMjKSBIQUxfRVRIX0dldFJlY2VpdmVkRnJhbWUoKTsgKHNob3VsZCBiZSBjYWxsZWQgaW50byBhbiBpbmZpbml0ZSBsb29wKQorCisgICAgICAoIykgR2V0IGEgcmVjZWl2ZWQgZnJhbWUgd2hlbiBhbiBFVEggUlggaW50ZXJydXB0IG9jY3VyczoKKyAgICAgICAgICgjIykgSEFMX0VUSF9HZXRSZWNlaXZlZEZyYW1lX0lUKCk7IChjYWxsZWQgaW4gSVQgbW9kZSBvbmx5KQorCisgICAgICAoIykgQ29tbXVuaWNhdGUgd2l0aCBleHRlcm5hbCBQSFkgZGV2aWNlOgorICAgICAgICAgKCMjKSBSZWFkIGEgc3BlY2lmaWMgcmVnaXN0ZXIgZnJvbSB0aGUgUEhZCisgICAgICAgICAgICAgIEhBTF9FVEhfUmVhZFBIWVJlZ2lzdGVyKCk7CisgICAgICAgICAoIyMpIFdyaXRlIGRhdGEgdG8gYSBzcGVjaWZpYyBSSFkgcmVnaXN0ZXI6CisgICAgICAgICAgICAgIEhBTF9FVEhfV3JpdGVQSFlSZWdpc3RlcigpOworCisgICAgICAoIykgQ29uZmlndXJlIHRoZSBFdGhlcm5ldCBNQUMgYWZ0ZXIgRVRIIHBlcmlwaGVyYWwgaW5pdGlhbGl6YXRpb24KKyAgICAgICAgICBIQUxfRVRIX0NvbmZpZ01BQygpOyBhbGwgTUFDIHBhcmFtZXRlcnMgc2hvdWxkIGJlIGZpbGxlZC4KKworICAgICAgKCMpIENvbmZpZ3VyZSB0aGUgRXRoZXJuZXQgRE1BIGFmdGVyIEVUSCBwZXJpcGhlcmFsIGluaXRpYWxpemF0aW9uCisgICAgICAgICAgSEFMX0VUSF9Db25maWdETUEoKTsgYWxsIERNQSBwYXJhbWV0ZXJzIHNob3VsZCBiZSBmaWxsZWQuCisKKyAgICAgIC1ALSBUaGUgUFRQIHByb3RvY29sIGFuZCB0aGUgRE1BIGRlc2NyaXB0b3JzIHJpbmcgbW9kZSBhcmUgbm90IHN1cHBvcnRlZAorICAgICAgICAgIGluIHRoaXMgZHJpdmVyCisqKiogQ2FsbGJhY2sgcmVnaXN0cmF0aW9uICoqKgorICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKworICBUaGUgY29tcGlsYXRpb24gZGVmaW5lICBVU0VfSEFMX0VUSF9SRUdJU1RFUl9DQUxMQkFDS1Mgd2hlbiBzZXQgdG8gMQorICBhbGxvd3MgdGhlIHVzZXIgdG8gY29uZmlndXJlIGR5bmFtaWNhbGx5IHRoZSBkcml2ZXIgY2FsbGJhY2tzLgorICBVc2UgRnVuY3Rpb24gQHJlZiBIQUxfRVRIX1JlZ2lzdGVyQ2FsbGJhY2soKSB0byByZWdpc3RlciBhbiBpbnRlcnJ1cHQgY2FsbGJhY2suCisKKyAgRnVuY3Rpb24gQHJlZiBIQUxfRVRIX1JlZ2lzdGVyQ2FsbGJhY2soKSBhbGxvd3MgdG8gcmVnaXN0ZXIgZm9sbG93aW5nIGNhbGxiYWNrczoKKyAgICAoKykgVHhDcGx0Q2FsbGJhY2sgICA6IFR4IENvbXBsZXRlIENhbGxiYWNrLgorICAgICgrKSBSeENwbHRDYWxsYmFjayAgIDogUnggQ29tcGxldGUgQ2FsbGJhY2suCisgICAgKCspIERNQUVycm9yQ2FsbGJhY2sgOiBETUEgRXJyb3IgQ2FsbGJhY2suCisgICAgKCspIE1zcEluaXRDYWxsYmFjayAgOiBNc3BJbml0IENhbGxiYWNrLgorICAgICgrKSBNc3BEZUluaXRDYWxsYmFjazogTXNwRGVJbml0IENhbGxiYWNrLgorCisgIFRoaXMgZnVuY3Rpb24gdGFrZXMgYXMgcGFyYW1ldGVycyB0aGUgSEFMIHBlcmlwaGVyYWwgaGFuZGxlLCB0aGUgQ2FsbGJhY2sgSUQKKyAgYW5kIGEgcG9pbnRlciB0byB0aGUgdXNlciBjYWxsYmFjayBmdW5jdGlvbi4KKworICBVc2UgZnVuY3Rpb24gQHJlZiBIQUxfRVRIX1VuUmVnaXN0ZXJDYWxsYmFjaygpIHRvIHJlc2V0IGEgY2FsbGJhY2sgdG8gdGhlIGRlZmF1bHQKKyAgd2VhayBmdW5jdGlvbi4KKyAgQHJlZiBIQUxfRVRIX1VuUmVnaXN0ZXJDYWxsYmFjayB0YWtlcyBhcyBwYXJhbWV0ZXJzIHRoZSBIQUwgcGVyaXBoZXJhbCBoYW5kbGUsCisgIGFuZCB0aGUgQ2FsbGJhY2sgSUQuCisgIFRoaXMgZnVuY3Rpb24gYWxsb3dzIHRvIHJlc2V0IGZvbGxvd2luZyBjYWxsYmFja3M6CisgICAgKCspIFR4Q3BsdENhbGxiYWNrICAgOiBUeCBDb21wbGV0ZSBDYWxsYmFjay4KKyAgICAoKykgUnhDcGx0Q2FsbGJhY2sgICA6IFJ4IENvbXBsZXRlIENhbGxiYWNrLgorICAgICgrKSBETUFFcnJvckNhbGxiYWNrIDogRE1BIEVycm9yIENhbGxiYWNrLgorICAgICgrKSBNc3BJbml0Q2FsbGJhY2sgIDogTXNwSW5pdCBDYWxsYmFjay4KKyAgICAoKykgTXNwRGVJbml0Q2FsbGJhY2s6IE1zcERlSW5pdCBDYWxsYmFjay4KKworICBCeSBkZWZhdWx0LCBhZnRlciB0aGUgSEFMX0VUSF9Jbml0IGFuZCB3aGVuIHRoZSBzdGF0ZSBpcyBIQUxfRVRIX1NUQVRFX1JFU0VUCisgIGFsbCBjYWxsYmFja3MgYXJlIHNldCB0byB0aGUgY29ycmVzcG9uZGluZyB3ZWFrIGZ1bmN0aW9uczoKKyAgZXhhbXBsZXMgQHJlZiBIQUxfRVRIX1R4Q3BsdENhbGxiYWNrKCksIEByZWYgSEFMX0VUSF9SeENwbHRDYWxsYmFjaygpLgorICBFeGNlcHRpb24gZG9uZSBmb3IgTXNwSW5pdCBhbmQgTXNwRGVJbml0IGZ1bmN0aW9ucyB0aGF0IGFyZQorICByZXNldCB0byB0aGUgbGVnYWN5IHdlYWsgZnVuY3Rpb24gaW4gdGhlIEhBTF9FVEhfSW5pdC8gQHJlZiBIQUxfRVRIX0RlSW5pdCBvbmx5IHdoZW4KKyAgdGhlc2UgY2FsbGJhY2tzIGFyZSBudWxsIChub3QgcmVnaXN0ZXJlZCBiZWZvcmVoYW5kKS4KKyAgaWYgbm90LCBNc3BJbml0IG9yIE1zcERlSW5pdCBhcmUgbm90IG51bGwsIHRoZSBIQUxfRVRIX0luaXQvIEByZWYgSEFMX0VUSF9EZUluaXQKKyAga2VlcCBhbmQgdXNlIHRoZSB1c2VyIE1zcEluaXQvTXNwRGVJbml0IGNhbGxiYWNrcyAocmVnaXN0ZXJlZCBiZWZvcmVoYW5kKQorCisgIENhbGxiYWNrcyBjYW4gYmUgcmVnaXN0ZXJlZC91bnJlZ2lzdGVyZWQgaW4gSEFMX0VUSF9TVEFURV9SRUFEWSBzdGF0ZSBvbmx5LgorICBFeGNlcHRpb24gZG9uZSBNc3BJbml0L01zcERlSW5pdCB0aGF0IGNhbiBiZSByZWdpc3RlcmVkL3VucmVnaXN0ZXJlZAorICBpbiBIQUxfRVRIX1NUQVRFX1JFQURZIG9yIEhBTF9FVEhfU1RBVEVfUkVTRVQgc3RhdGUsCisgIHRodXMgcmVnaXN0ZXJlZCAodXNlcikgTXNwSW5pdC9EZUluaXQgY2FsbGJhY2tzIGNhbiBiZSB1c2VkIGR1cmluZyB0aGUgSW5pdC9EZUluaXQuCisgIEluIHRoYXQgY2FzZSBmaXJzdCByZWdpc3RlciB0aGUgTXNwSW5pdC9Nc3BEZUluaXQgdXNlciBjYWxsYmFja3MKKyAgdXNpbmcgQHJlZiBIQUxfRVRIX1JlZ2lzdGVyQ2FsbGJhY2soKSBiZWZvcmUgY2FsbGluZyBAcmVmIEhBTF9FVEhfRGVJbml0CisgIG9yIEhBTF9FVEhfSW5pdCBmdW5jdGlvbi4KKworICBXaGVuIFRoZSBjb21waWxhdGlvbiBkZWZpbmUgVVNFX0hBTF9FVEhfUkVHSVNURVJfQ0FMTEJBQ0tTIGlzIHNldCB0byAwIG9yCisgIG5vdCBkZWZpbmVkLCB0aGUgY2FsbGJhY2sgcmVnaXN0cmF0aW9uIGZlYXR1cmUgaXMgbm90IGF2YWlsYWJsZSBhbmQgYWxsIGNhbGxiYWNrcworICBhcmUgc2V0IHRvIHRoZSBjb3JyZXNwb25kaW5nIHdlYWsgZnVuY3Rpb25zLgorCisgIEBlbmR2ZXJiYXRpbQorICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAgKi8KKworLyogSW5jbHVkZXMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKyNpbmNsdWRlICJzdG0zMmY0eHhfaGFsLmgiCisKKy8qKiBAYWRkdG9ncm91cCBTVE0zMkY0eHhfSEFMX0RyaXZlcgorICAqIEB7CisgICovCisKKy8qKiBAZGVmZ3JvdXAgRVRIIEVUSAorICAqIEBicmllZiBFVEggSEFMIG1vZHVsZSBkcml2ZXIKKyAgKiBAeworICAqLworCisjaWZkZWYgSEFMX0VUSF9MRUdBQ1lfTU9EVUxFX0VOQUJMRUQKKworI2lmIGRlZmluZWQoU1RNMzJGNDA3eHgpIHx8IGRlZmluZWQoU1RNMzJGNDE3eHgpIHx8IGRlZmluZWQoU1RNMzJGNDI3eHgpIHx8IGRlZmluZWQoU1RNMzJGNDM3eHgpIHx8XAorICAgIGRlZmluZWQoU1RNMzJGNDI5eHgpIHx8IGRlZmluZWQoU1RNMzJGNDM5eHgpIHx8IGRlZmluZWQoU1RNMzJGNDY5eHgpIHx8IGRlZmluZWQoU1RNMzJGNDc5eHgpCisKKy8qIFByaXZhdGUgdHlwZWRlZiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisvKiBQcml2YXRlIGRlZmluZSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworLyoqIEBkZWZncm91cCBFVEhfUHJpdmF0ZV9Db25zdGFudHMgRVRIIFByaXZhdGUgQ29uc3RhbnRzCisgICogQHsKKyAgKi8KKyNkZWZpbmUgRVRIX1RJTUVPVVRfU1dSRVNFVCAgICAgICAgICAgICAgIDUwMFUKKyNkZWZpbmUgRVRIX1RJTUVPVVRfTElOS0VEX1NUQVRFICAgICAgICAgIDUwMDBVCisjZGVmaW5lIEVUSF9USU1FT1VUX0FVVE9ORUdPX0NPTVBMRVRFRCAgICA1MDAwVQorCisvKioKKyAgKiBAfQorICAqLworLyogUHJpdmF0ZSBtYWNybyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKy8qIFByaXZhdGUgdmFyaWFibGVzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisvKiBQcml2YXRlIGZ1bmN0aW9uIHByb3RvdHlwZXMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworLyoqIEBkZWZncm91cCBFVEhfUHJpdmF0ZV9GdW5jdGlvbnMgRVRIIFByaXZhdGUgRnVuY3Rpb25zCisgICogQHsKKyAgKi8KK3N0YXRpYyB2b2lkIEVUSF9NQUNETUFDb25maWcoRVRIX0hhbmRsZVR5cGVEZWYgKmhldGgsIHVpbnQzMl90IGVycik7CitzdGF0aWMgdm9pZCBFVEhfTUFDQWRkcmVzc0NvbmZpZyhFVEhfSGFuZGxlVHlwZURlZiAqaGV0aCwgdWludDMyX3QgTWFjQWRkciwgdWludDhfdCAqQWRkcik7CitzdGF0aWMgdm9pZCBFVEhfTUFDUmVjZXB0aW9uRW5hYmxlKEVUSF9IYW5kbGVUeXBlRGVmICpoZXRoKTsKK3N0YXRpYyB2b2lkIEVUSF9NQUNSZWNlcHRpb25EaXNhYmxlKEVUSF9IYW5kbGVUeXBlRGVmICpoZXRoKTsKK3N0YXRpYyB2b2lkIEVUSF9NQUNUcmFuc21pc3Npb25FbmFibGUoRVRIX0hhbmRsZVR5cGVEZWYgKmhldGgpOworc3RhdGljIHZvaWQgRVRIX01BQ1RyYW5zbWlzc2lvbkRpc2FibGUoRVRIX0hhbmRsZVR5cGVEZWYgKmhldGgpOworc3RhdGljIHZvaWQgRVRIX0RNQVRyYW5zbWlzc2lvbkVuYWJsZShFVEhfSGFuZGxlVHlwZURlZiAqaGV0aCk7CitzdGF0aWMgdm9pZCBFVEhfRE1BVHJhbnNtaXNzaW9uRGlzYWJsZShFVEhfSGFuZGxlVHlwZURlZiAqaGV0aCk7CitzdGF0aWMgdm9pZCBFVEhfRE1BUmVjZXB0aW9uRW5hYmxlKEVUSF9IYW5kbGVUeXBlRGVmICpoZXRoKTsKK3N0YXRpYyB2b2lkIEVUSF9ETUFSZWNlcHRpb25EaXNhYmxlKEVUSF9IYW5kbGVUeXBlRGVmICpoZXRoKTsKK3N0YXRpYyB2b2lkIEVUSF9GbHVzaFRyYW5zbWl0RklGTyhFVEhfSGFuZGxlVHlwZURlZiAqaGV0aCk7CitzdGF0aWMgdm9pZCBFVEhfRGVsYXkodWludDMyX3QgbWRlbGF5KTsKKyNpZiAoVVNFX0hBTF9FVEhfUkVHSVNURVJfQ0FMTEJBQ0tTID09IDEpCitzdGF0aWMgdm9pZCBFVEhfSW5pdENhbGxiYWNrc1RvRGVmYXVsdChFVEhfSGFuZGxlVHlwZURlZiAqaGV0aCk7CisjZW5kaWYgLyogVVNFX0hBTF9FVEhfUkVHSVNURVJfQ0FMTEJBQ0tTICovCisKKy8qKgorICAqIEB9CisgICovCisvKiBQcml2YXRlIGZ1bmN0aW9ucyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisvKiogQGRlZmdyb3VwIEVUSF9FeHBvcnRlZF9GdW5jdGlvbnMgRVRIIEV4cG9ydGVkIEZ1bmN0aW9ucworICAqIEB7CisgICovCisKKy8qKiBAZGVmZ3JvdXAgRVRIX0V4cG9ydGVkX0Z1bmN0aW9uc19Hcm91cDEgSW5pdGlhbGl6YXRpb24gYW5kIGRlLWluaXRpYWxpemF0aW9uIGZ1bmN0aW9ucworICAqICBAYnJpZWYgICBJbml0aWFsaXphdGlvbiBhbmQgQ29uZmlndXJhdGlvbiBmdW5jdGlvbnMKKyAgKgorICBAdmVyYmF0aW0KKyAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorICAgICAgICAgICAgIyMjIyMgSW5pdGlhbGl6YXRpb24gYW5kIGRlLWluaXRpYWxpemF0aW9uIGZ1bmN0aW9ucyAjIyMjIworICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgIFsuLl0gIFRoaXMgc2VjdGlvbiBwcm92aWRlcyBmdW5jdGlvbnMgYWxsb3dpbmcgdG86CisgICAgICAoKykgSW5pdGlhbGl6ZSBhbmQgY29uZmlndXJlIHRoZSBFdGhlcm5ldCBwZXJpcGhlcmFsCisgICAgICAoKykgRGUtaW5pdGlhbGl6ZSB0aGUgRXRoZXJuZXQgcGVyaXBoZXJhbAorCisgIEBlbmR2ZXJiYXRpbQorICAqIEB7CisgICovCisKKy8qKgorICAqIEBicmllZiAgSW5pdGlhbGl6ZXMgdGhlIEV0aGVybmV0IE1BQyBhbmQgRE1BIGFjY29yZGluZyB0byBkZWZhdWx0CisgICogICAgICAgICBwYXJhbWV0ZXJzLgorICAqIEBwYXJhbSAgaGV0aCBwb2ludGVyIHRvIGEgRVRIX0hhbmRsZVR5cGVEZWYgc3RydWN0dXJlIHRoYXQgY29udGFpbnMKKyAgKiAgICAgICAgIHRoZSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIGZvciBFVEhFUk5FVCBtb2R1bGUKKyAgKiBAcmV0dmFsIEhBTCBzdGF0dXMKKyAgKi8KK0hBTF9TdGF0dXNUeXBlRGVmIEhBTF9FVEhfSW5pdChFVEhfSGFuZGxlVHlwZURlZiAqaGV0aCkKK3sKKyAgdWludDMyX3QgdG1wcmVnMSA9IDBVLCBwaHlyZWcgPSAwVTsKKyAgdWludDMyX3QgaGNsayA9IDYwMDAwMDAwVTsKKyAgdWludDMyX3QgdGlja3N0YXJ0ID0gMFU7CisgIHVpbnQzMl90IGVyciA9IEVUSF9TVUNDRVNTOworCisgIC8qIENoZWNrIHRoZSBFVEggcGVyaXBoZXJhbCBzdGF0ZSAqLworICBpZihoZXRoID09IE5VTEwpCisgIHsKKyAgICByZXR1cm4gSEFMX0VSUk9SOworICB9CisKKyAgLyogQ2hlY2sgcGFyYW1ldGVycyAqLworICBhc3NlcnRfcGFyYW0oSVNfRVRIX0FVVE9ORUdPVElBVElPTihoZXRoLT5Jbml0LkF1dG9OZWdvdGlhdGlvbikpOworICBhc3NlcnRfcGFyYW0oSVNfRVRIX1JYX01PREUoaGV0aC0+SW5pdC5SeE1vZGUpKTsKKyAgYXNzZXJ0X3BhcmFtKElTX0VUSF9DSEVDS1NVTV9NT0RFKGhldGgtPkluaXQuQ2hlY2tzdW1Nb2RlKSk7CisgIGFzc2VydF9wYXJhbShJU19FVEhfTUVESUFfSU5URVJGQUNFKGhldGgtPkluaXQuTWVkaWFJbnRlcmZhY2UpKTsKKworICBpZihoZXRoLT5TdGF0ZSA9PSBIQUxfRVRIX1NUQVRFX1JFU0VUKQorICB7CisgICAgLyogQWxsb2NhdGUgbG9jayByZXNvdXJjZSBhbmQgaW5pdGlhbGl6ZSBpdCAqLworICAgIGhldGgtPkxvY2sgPSBIQUxfVU5MT0NLRUQ7CisjaWYgKFVTRV9IQUxfRVRIX1JFR0lTVEVSX0NBTExCQUNLUyA9PSAxKQorICAgIEVUSF9Jbml0Q2FsbGJhY2tzVG9EZWZhdWx0KGhldGgpOworCisgICAgaWYoaGV0aC0+TXNwSW5pdENhbGxiYWNrID09IE5VTEwpCisgICAgeworICAgICAgLyogSW5pdCB0aGUgbG93IGxldmVsIGhhcmR3YXJlIDogR1BJTywgQ0xPQ0ssIE5WSUMuICovCisgICAgICBoZXRoLT5Nc3BJbml0Q2FsbGJhY2sgPSBIQUxfRVRIX01zcEluaXQ7CisgICAgfQorICAgIGhldGgtPk1zcEluaXRDYWxsYmFjayhoZXRoKTsKKworI2Vsc2UKKyAgICAvKiBJbml0IHRoZSBsb3cgbGV2ZWwgaGFyZHdhcmUgOiBHUElPLCBDTE9DSywgTlZJQy4gKi8KKyAgICBIQUxfRVRIX01zcEluaXQoaGV0aCk7CisjZW5kaWYgLyogVVNFX0hBTF9FVEhfUkVHSVNURVJfQ0FMTEJBQ0tTICovCisgIH0KKworICAvKiBFbmFibGUgU1lTQ0ZHIENsb2NrICovCisgIF9fSEFMX1JDQ19TWVNDRkdfQ0xLX0VOQUJMRSgpOworCisgIC8qIFNlbGVjdCBNSUkgb3IgUk1JSSBNb2RlKi8KKyAgU1lTQ0ZHLT5QTUMgJj0gfihTWVNDRkdfUE1DX01JSV9STUlJX1NFTCk7CisgIFNZU0NGRy0+UE1DIHw9ICh1aW50MzJfdCloZXRoLT5Jbml0Lk1lZGlhSW50ZXJmYWNlOworCisgIC8qIEV0aGVybmV0IFNvZnR3YXJlIHJlc2V0ICovCisgIC8qIFNldCB0aGUgU1dSIGJpdDogcmVzZXRzIGFsbCBNQUMgc3Vic3lzdGVtIGludGVybmFsIHJlZ2lzdGVycyBhbmQgbG9naWMgKi8KKyAgLyogQWZ0ZXIgcmVzZXQgYWxsIHRoZSByZWdpc3RlcnMgaG9sZHMgdGhlaXIgcmVzcGVjdGl2ZSByZXNldCB2YWx1ZXMgKi8KKyAgKGhldGgtPkluc3RhbmNlKS0+RE1BQk1SIHw9IEVUSF9ETUFCTVJfU1I7CisKKyAgLyogR2V0IHRpY2sgKi8KKyAgdGlja3N0YXJ0ID0gSEFMX0dldFRpY2soKTsKKworICAvKiBXYWl0IGZvciBzb2Z0d2FyZSByZXNldCAqLworICB3aGlsZSAoKChoZXRoLT5JbnN0YW5jZSktPkRNQUJNUiAmIEVUSF9ETUFCTVJfU1IpICE9ICh1aW50MzJfdClSRVNFVCkKKyAgeworICAgIC8qIENoZWNrIGZvciB0aGUgVGltZW91dCAqLworICAgIGlmKChIQUxfR2V0VGljaygpIC0gdGlja3N0YXJ0ICkgPiBFVEhfVElNRU9VVF9TV1JFU0VUKQorICAgIHsKKyAgICAgIGhldGgtPlN0YXRlPSBIQUxfRVRIX1NUQVRFX1RJTUVPVVQ7CisKKyAgICAgIC8qIFByb2Nlc3MgVW5sb2NrZWQgKi8KKyAgICAgIF9fSEFMX1VOTE9DSyhoZXRoKTsKKworICAgICAgLyogTm90ZTogVGhlIFNXUiBpcyBub3QgcGVyZm9ybWVkIGlmIHRoZSBFVEhfUlhfQ0xLIG9yIHRoZSBFVEhfVFhfQ0xLIGFyZQorICAgICAgICAgbm90IGF2YWlsYWJsZSwgcGxlYXNlIGNoZWNrIHlvdXIgZXh0ZXJuYWwgUEhZIG9yIHRoZSBJTyBjb25maWd1cmF0aW9uICovCisgICAgICByZXR1cm4gSEFMX1RJTUVPVVQ7CisgICAgfQorICB9CisKKyAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBNQUMgSW5pdGlhbGl6YXRpb24gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisgIC8qIEdldCB0aGUgRVRIRVJORVQgTUFDTUlJQVIgdmFsdWUgKi8KKyAgdG1wcmVnMSA9IChoZXRoLT5JbnN0YW5jZSktPk1BQ01JSUFSOworICAvKiBDbGVhciBDU1IgQ2xvY2sgUmFuZ2UgQ1JbMjowXSBiaXRzICovCisgIHRtcHJlZzEgJj0gRVRIX01BQ01JSUFSX0NSX01BU0s7CisKKyAgLyogR2V0IGhjbGsgZnJlcXVlbmN5IHZhbHVlICovCisgIGhjbGsgPSBIQUxfUkNDX0dldEhDTEtGcmVxKCk7CisKKyAgLyogU2V0IENSIGJpdHMgZGVwZW5kaW5nIG9uIGhjbGsgdmFsdWUgKi8KKyAgaWYoKGhjbGsgPj0gMjAwMDAwMDBVKSYmKGhjbGsgPCAzNTAwMDAwMFUpKQorICB7CisgICAgLyogQ1NSIENsb2NrIFJhbmdlIGJldHdlZW4gMjAtMzUgTUh6ICovCisgICAgdG1wcmVnMSB8PSAodWludDMyX3QpRVRIX01BQ01JSUFSX0NSX0RpdjE2OworICB9CisgIGVsc2UgaWYoKGhjbGsgPj0gMzUwMDAwMDBVKSYmKGhjbGsgPCA2MDAwMDAwMFUpKQorICB7CisgICAgLyogQ1NSIENsb2NrIFJhbmdlIGJldHdlZW4gMzUtNjAgTUh6ICovCisgICAgdG1wcmVnMSB8PSAodWludDMyX3QpRVRIX01BQ01JSUFSX0NSX0RpdjI2OworICB9CisgIGVsc2UgaWYoKGhjbGsgPj0gNjAwMDAwMDBVKSYmKGhjbGsgPCAxMDAwMDAwMDBVKSkKKyAgeworICAgIC8qIENTUiBDbG9jayBSYW5nZSBiZXR3ZWVuIDYwLTEwMCBNSHogKi8KKyAgICB0bXByZWcxIHw9ICh1aW50MzJfdClFVEhfTUFDTUlJQVJfQ1JfRGl2NDI7CisgIH0KKyAgZWxzZSBpZigoaGNsayA+PSAxMDAwMDAwMDBVKSYmKGhjbGsgPCAxNTAwMDAwMDBVKSkKKyAgeworICAgIC8qIENTUiBDbG9jayBSYW5nZSBiZXR3ZWVuIDEwMC0xNTAgTUh6ICovCisgICAgdG1wcmVnMSB8PSAodWludDMyX3QpRVRIX01BQ01JSUFSX0NSX0RpdjYyOworICB9CisgIGVsc2UgLyogKChoY2xrID49IDE1MDAwMDAwMCkmJihoY2xrIDw9IDE4MzAwMDAwMCkpICovCisgIHsKKyAgICAvKiBDU1IgQ2xvY2sgUmFuZ2UgYmV0d2VlbiAxNTAtMTgzIE1IeiAqLworICAgIHRtcHJlZzEgfD0gKHVpbnQzMl90KUVUSF9NQUNNSUlBUl9DUl9EaXYxMDI7CisgIH0KKworICAvKiBXcml0ZSB0byBFVEhFUk5FVCBNQUMgTUlJQVI6IENvbmZpZ3VyZSB0aGUgRVRIRVJORVQgQ1NSIENsb2NrIFJhbmdlICovCisgIChoZXRoLT5JbnN0YW5jZSktPk1BQ01JSUFSID0gKHVpbnQzMl90KXRtcHJlZzE7CisKKyAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLSBQSFkgaW5pdGlhbGl6YXRpb24gYW5kIGNvbmZpZ3VyYXRpb24gLS0tLS0tLS0tLS0tLS0tLSovCisgIC8qIFB1dCB0aGUgUEhZIGluIHJlc2V0IG1vZGUgKi8KKyAgaWYoKEhBTF9FVEhfV3JpdGVQSFlSZWdpc3RlcihoZXRoLCBQSFlfQkNSLCBQSFlfUkVTRVQpKSAhPSBIQUxfT0spCisgIHsKKyAgICAvKiBJbiBjYXNlIG9mIHdyaXRlIHRpbWVvdXQgKi8KKyAgICBlcnIgPSBFVEhfRVJST1I7CisKKyAgICAvKiBDb25maWcgTUFDIGFuZCBETUEgKi8KKyAgICBFVEhfTUFDRE1BQ29uZmlnKGhldGgsIGVycik7CisKKyAgICAvKiBTZXQgdGhlIEVUSCBwZXJpcGhlcmFsIHN0YXRlIHRvIFJFQURZICovCisgICAgaGV0aC0+U3RhdGUgPSBIQUxfRVRIX1NUQVRFX1JFQURZOworCisgICAgLyogUmV0dXJuIEhBTF9FUlJPUiAqLworICAgIHJldHVybiBIQUxfRVJST1I7CisgIH0KKworICAvKiBEZWxheSB0byBhc3N1cmUgUEhZIHJlc2V0ICovCisgIEhBTF9EZWxheShQSFlfUkVTRVRfREVMQVkpOworCisgIGlmKChoZXRoLT5Jbml0KS5BdXRvTmVnb3RpYXRpb24gIT0gRVRIX0FVVE9ORUdPVElBVElPTl9ESVNBQkxFKQorICB7CisgICAgLyogR2V0IHRpY2sgKi8KKyAgICB0aWNrc3RhcnQgPSBIQUxfR2V0VGljaygpOworCisgICAgLyogV2Ugd2FpdCBmb3IgbGlua2VkIHN0YXR1cyAqLworICAgIGRvCisgICAgeworICAgICAgSEFMX0VUSF9SZWFkUEhZUmVnaXN0ZXIoaGV0aCwgUEhZX0JTUiwgJnBoeXJlZyk7CisKKyAgICAgIC8qIENoZWNrIGZvciB0aGUgVGltZW91dCAqLworICAgICAgaWYoKEhBTF9HZXRUaWNrKCkgLSB0aWNrc3RhcnQgKSA+IEVUSF9USU1FT1VUX0xJTktFRF9TVEFURSkKKyAgICAgIHsKKyAgICAgICAgLyogSW4gY2FzZSBvZiB3cml0ZSB0aW1lb3V0ICovCisgICAgICAgIGVyciA9IEVUSF9FUlJPUjsKKworICAgICAgICAvKiBDb25maWcgTUFDIGFuZCBETUEgKi8KKyAgICAgICAgRVRIX01BQ0RNQUNvbmZpZyhoZXRoLCBlcnIpOworCisgICAgICAgIGhldGgtPlN0YXRlPSBIQUxfRVRIX1NUQVRFX1JFQURZOworCisgICAgICAgIC8qIFByb2Nlc3MgVW5sb2NrZWQgKi8KKyAgICAgICAgX19IQUxfVU5MT0NLKGhldGgpOworCisgICAgICAgIHJldHVybiBIQUxfVElNRU9VVDsKKyAgICAgIH0KKyAgICB9IHdoaWxlICgoKHBoeXJlZyAmIFBIWV9MSU5LRURfU1RBVFVTKSAhPSBQSFlfTElOS0VEX1NUQVRVUykpOworCisKKyAgICAvKiBFbmFibGUgQXV0by1OZWdvdGlhdGlvbiAqLworICAgIGlmKChIQUxfRVRIX1dyaXRlUEhZUmVnaXN0ZXIoaGV0aCwgUEhZX0JDUiwgUEhZX0FVVE9ORUdPVElBVElPTikpICE9IEhBTF9PSykKKyAgICB7CisgICAgICAvKiBJbiBjYXNlIG9mIHdyaXRlIHRpbWVvdXQgKi8KKyAgICAgIGVyciA9IEVUSF9FUlJPUjsKKworICAgICAgLyogQ29uZmlnIE1BQyBhbmQgRE1BICovCisgICAgICBFVEhfTUFDRE1BQ29uZmlnKGhldGgsIGVycik7CisKKyAgICAgIC8qIFNldCB0aGUgRVRIIHBlcmlwaGVyYWwgc3RhdGUgdG8gUkVBRFkgKi8KKyAgICAgIGhldGgtPlN0YXRlID0gSEFMX0VUSF9TVEFURV9SRUFEWTsKKworICAgICAgLyogUmV0dXJuIEhBTF9FUlJPUiAqLworICAgICAgcmV0dXJuIEhBTF9FUlJPUjsKKyAgICB9CisKKyAgICAvKiBHZXQgdGljayAqLworICAgIHRpY2tzdGFydCA9IEhBTF9HZXRUaWNrKCk7CisKKyAgICAvKiBXYWl0IHVudGlsIHRoZSBhdXRvLW5lZ290aWF0aW9uIHdpbGwgYmUgY29tcGxldGVkICovCisgICAgZG8KKyAgICB7CisgICAgICBIQUxfRVRIX1JlYWRQSFlSZWdpc3RlcihoZXRoLCBQSFlfQlNSLCAmcGh5cmVnKTsKKworICAgICAgLyogQ2hlY2sgZm9yIHRoZSBUaW1lb3V0ICovCisgICAgICBpZigoSEFMX0dldFRpY2soKSAtIHRpY2tzdGFydCApID4gRVRIX1RJTUVPVVRfQVVUT05FR09fQ09NUExFVEVEKQorICAgICAgeworICAgICAgICAvKiBJbiBjYXNlIG9mIHdyaXRlIHRpbWVvdXQgKi8KKyAgICAgICAgZXJyID0gRVRIX0VSUk9SOworCisgICAgICAgIC8qIENvbmZpZyBNQUMgYW5kIERNQSAqLworICAgICAgICBFVEhfTUFDRE1BQ29uZmlnKGhldGgsIGVycik7CisKKyAgICAgICAgaGV0aC0+U3RhdGU9IEhBTF9FVEhfU1RBVEVfUkVBRFk7CisKKyAgICAgICAgLyogUHJvY2VzcyBVbmxvY2tlZCAqLworICAgICAgICBfX0hBTF9VTkxPQ0soaGV0aCk7CisKKyAgICAgICAgcmV0dXJuIEhBTF9USU1FT1VUOworICAgICAgfQorCisgICAgfSB3aGlsZSAoKChwaHlyZWcgJiBQSFlfQVVUT05FR09fQ09NUExFVEUpICE9IFBIWV9BVVRPTkVHT19DT01QTEVURSkpOworCisgICAgLyogUmVhZCB0aGUgcmVzdWx0IG9mIHRoZSBhdXRvLW5lZ290aWF0aW9uICovCisgICAgaWYoKEhBTF9FVEhfUmVhZFBIWVJlZ2lzdGVyKGhldGgsIFBIWV9TUiwgJnBoeXJlZykpICE9IEhBTF9PSykKKyAgICB7CisgICAgICAvKiBJbiBjYXNlIG9mIHdyaXRlIHRpbWVvdXQgKi8KKyAgICAgIGVyciA9IEVUSF9FUlJPUjsKKworICAgICAgLyogQ29uZmlnIE1BQyBhbmQgRE1BICovCisgICAgICBFVEhfTUFDRE1BQ29uZmlnKGhldGgsIGVycik7CisKKyAgICAgIC8qIFNldCB0aGUgRVRIIHBlcmlwaGVyYWwgc3RhdGUgdG8gUkVBRFkgKi8KKyAgICAgIGhldGgtPlN0YXRlID0gSEFMX0VUSF9TVEFURV9SRUFEWTsKKworICAgICAgLyogUmV0dXJuIEhBTF9FUlJPUiAqLworICAgICAgcmV0dXJuIEhBTF9FUlJPUjsKKyAgICB9CisKKyAgICAvKiBDb25maWd1cmUgdGhlIE1BQyB3aXRoIHRoZSBEdXBsZXggTW9kZSBmaXhlZCBieSB0aGUgYXV0by1uZWdvdGlhdGlvbiBwcm9jZXNzICovCisgICAgaWYoKHBoeXJlZyAmIFBIWV9EVVBMRVhfU1RBVFVTKSAhPSAodWludDMyX3QpUkVTRVQpCisgICAgeworICAgICAgLyogU2V0IEV0aGVybmV0IGR1cGxleCBtb2RlIHRvIEZ1bGwtZHVwbGV4IGZvbGxvd2luZyB0aGUgYXV0by1uZWdvdGlhdGlvbiAqLworICAgICAgKGhldGgtPkluaXQpLkR1cGxleE1vZGUgPSBFVEhfTU9ERV9GVUxMRFVQTEVYOworICAgIH0KKyAgICBlbHNlCisgICAgeworICAgICAgLyogU2V0IEV0aGVybmV0IGR1cGxleCBtb2RlIHRvIEhhbGYtZHVwbGV4IGZvbGxvd2luZyB0aGUgYXV0by1uZWdvdGlhdGlvbiAqLworICAgICAgKGhldGgtPkluaXQpLkR1cGxleE1vZGUgPSBFVEhfTU9ERV9IQUxGRFVQTEVYOworICAgIH0KKyAgICAvKiBDb25maWd1cmUgdGhlIE1BQyB3aXRoIHRoZSBzcGVlZCBmaXhlZCBieSB0aGUgYXV0by1uZWdvdGlhdGlvbiBwcm9jZXNzICovCisgICAgaWYoKHBoeXJlZyAmIFBIWV9TUEVFRF9TVEFUVVMpID09IFBIWV9TUEVFRF9TVEFUVVMpCisgICAgeworICAgICAgLyogU2V0IEV0aGVybmV0IHNwZWVkIHRvIDEwTSBmb2xsb3dpbmcgdGhlIGF1dG8tbmVnb3RpYXRpb24gKi8KKyAgICAgIChoZXRoLT5Jbml0KS5TcGVlZCA9IEVUSF9TUEVFRF8xME07CisgICAgfQorICAgIGVsc2UKKyAgICB7CisgICAgICAvKiBTZXQgRXRoZXJuZXQgc3BlZWQgdG8gMTAwTSBmb2xsb3dpbmcgdGhlIGF1dG8tbmVnb3RpYXRpb24gKi8KKyAgICAgIChoZXRoLT5Jbml0KS5TcGVlZCA9IEVUSF9TUEVFRF8xMDBNOworICAgIH0KKyAgfQorICBlbHNlIC8qIEF1dG9OZWdvdGlhdGlvbiBEaXNhYmxlICovCisgIHsKKyAgICAvKiBDaGVjayBwYXJhbWV0ZXJzICovCisgICAgYXNzZXJ0X3BhcmFtKElTX0VUSF9TUEVFRChoZXRoLT5Jbml0LlNwZWVkKSk7CisgICAgYXNzZXJ0X3BhcmFtKElTX0VUSF9EVVBMRVhfTU9ERShoZXRoLT5Jbml0LkR1cGxleE1vZGUpKTsKKworICAgIC8qIFNldCBNQUMgU3BlZWQgYW5kIER1cGxleCBNb2RlICovCisgICAgaWYoSEFMX0VUSF9Xcml0ZVBIWVJlZ2lzdGVyKGhldGgsIFBIWV9CQ1IsICgodWludDE2X3QpKChoZXRoLT5Jbml0KS5EdXBsZXhNb2RlID4+IDNVKSB8CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodWludDE2X3QpKChoZXRoLT5Jbml0KS5TcGVlZCA+PiAxVSkpKSAhPSBIQUxfT0spCisgICAgeworICAgICAgLyogSW4gY2FzZSBvZiB3cml0ZSB0aW1lb3V0ICovCisgICAgICBlcnIgPSBFVEhfRVJST1I7CisKKyAgICAgIC8qIENvbmZpZyBNQUMgYW5kIERNQSAqLworICAgICAgRVRIX01BQ0RNQUNvbmZpZyhoZXRoLCBlcnIpOworCisgICAgICAvKiBTZXQgdGhlIEVUSCBwZXJpcGhlcmFsIHN0YXRlIHRvIFJFQURZICovCisgICAgICBoZXRoLT5TdGF0ZSA9IEhBTF9FVEhfU1RBVEVfUkVBRFk7CisKKyAgICAgIC8qIFJldHVybiBIQUxfRVJST1IgKi8KKyAgICAgIHJldHVybiBIQUxfRVJST1I7CisgICAgfQorCisgICAgLyogRGVsYXkgdG8gYXNzdXJlIFBIWSBjb25maWd1cmF0aW9uICovCisgICAgSEFMX0RlbGF5KFBIWV9DT05GSUdfREVMQVkpOworICB9CisKKyAgLyogQ29uZmlnIE1BQyBhbmQgRE1BICovCisgIEVUSF9NQUNETUFDb25maWcoaGV0aCwgZXJyKTsKKworICAvKiBTZXQgRVRIIEhBTCBTdGF0ZSB0byBSZWFkeSAqLworICBoZXRoLT5TdGF0ZT0gSEFMX0VUSF9TVEFURV9SRUFEWTsKKworICAvKiBSZXR1cm4gZnVuY3Rpb24gc3RhdHVzICovCisgIHJldHVybiBIQUxfT0s7Cit9CisKKy8qKgorICAqIEBicmllZiAgRGUtSW5pdGlhbGl6ZXMgdGhlIEVUSCBwZXJpcGhlcmFsLgorICAqIEBwYXJhbSAgaGV0aCBwb2ludGVyIHRvIGEgRVRIX0hhbmRsZVR5cGVEZWYgc3RydWN0dXJlIHRoYXQgY29udGFpbnMKKyAgKiAgICAgICAgIHRoZSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIGZvciBFVEhFUk5FVCBtb2R1bGUKKyAgKiBAcmV0dmFsIEhBTCBzdGF0dXMKKyAgKi8KK0hBTF9TdGF0dXNUeXBlRGVmIEhBTF9FVEhfRGVJbml0KEVUSF9IYW5kbGVUeXBlRGVmICpoZXRoKQoreworICAvKiBTZXQgdGhlIEVUSCBwZXJpcGhlcmFsIHN0YXRlIHRvIEJVU1kgKi8KKyAgaGV0aC0+U3RhdGUgPSBIQUxfRVRIX1NUQVRFX0JVU1k7CisKKyNpZiAoVVNFX0hBTF9FVEhfUkVHSVNURVJfQ0FMTEJBQ0tTID09IDEpCisgIGlmKGhldGgtPk1zcERlSW5pdENhbGxiYWNrID09IE5VTEwpCisgIHsKKyAgICBoZXRoLT5Nc3BEZUluaXRDYWxsYmFjayA9IEhBTF9FVEhfTXNwRGVJbml0OworICB9CisgIC8qIERlLUluaXQgdGhlIGxvdyBsZXZlbCBoYXJkd2FyZSA6IEdQSU8sIENMT0NLLCBOVklDLiAqLworICBoZXRoLT5Nc3BEZUluaXRDYWxsYmFjayhoZXRoKTsKKyNlbHNlCisgIC8qIERlLUluaXQgdGhlIGxvdyBsZXZlbCBoYXJkd2FyZSA6IEdQSU8sIENMT0NLLCBOVklDLiAqLworICBIQUxfRVRIX01zcERlSW5pdChoZXRoKTsKKyNlbmRpZgorCisgIC8qIFNldCBFVEggSEFMIHN0YXRlIHRvIERpc2FibGVkICovCisgIGhldGgtPlN0YXRlPSBIQUxfRVRIX1NUQVRFX1JFU0VUOworCisgIC8qIFJlbGVhc2UgTG9jayAqLworICBfX0hBTF9VTkxPQ0soaGV0aCk7CisKKyAgLyogUmV0dXJuIGZ1bmN0aW9uIHN0YXR1cyAqLworICByZXR1cm4gSEFMX09LOworfQorCisvKioKKyAgKiBAYnJpZWYgIEluaXRpYWxpemVzIHRoZSBETUEgVHggZGVzY3JpcHRvcnMgaW4gY2hhaW4gbW9kZS4KKyAgKiBAcGFyYW0gIGhldGggcG9pbnRlciB0byBhIEVUSF9IYW5kbGVUeXBlRGVmIHN0cnVjdHVyZSB0aGF0IGNvbnRhaW5zCisgICogICAgICAgICB0aGUgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbiBmb3IgRVRIRVJORVQgbW9kdWxlCisgICogQHBhcmFtICBETUFUeERlc2NUYWIgUG9pbnRlciB0byB0aGUgZmlyc3QgVHggZGVzYyBsaXN0CisgICogQHBhcmFtICBUeEJ1ZmYgUG9pbnRlciB0byB0aGUgZmlyc3QgVHhCdWZmZXIgbGlzdAorICAqIEBwYXJhbSAgVHhCdWZmQ291bnQgTnVtYmVyIG9mIHRoZSB1c2VkIFR4IGRlc2MgaW4gdGhlIGxpc3QKKyAgKiBAcmV0dmFsIEhBTCBzdGF0dXMKKyAgKi8KK0hBTF9TdGF0dXNUeXBlRGVmIEhBTF9FVEhfRE1BVHhEZXNjTGlzdEluaXQoRVRIX0hhbmRsZVR5cGVEZWYgKmhldGgsIEVUSF9ETUFEZXNjVHlwZURlZiAqRE1BVHhEZXNjVGFiLCB1aW50OF90ICpUeEJ1ZmYsIHVpbnQzMl90IFR4QnVmZkNvdW50KQoreworICB1aW50MzJfdCBpID0gMFU7CisgIEVUSF9ETUFEZXNjVHlwZURlZiAqZG1hdHhkZXNjOworCisgIC8qIFByb2Nlc3MgTG9ja2VkICovCisgIF9fSEFMX0xPQ0soaGV0aCk7CisKKyAgLyogU2V0IHRoZSBFVEggcGVyaXBoZXJhbCBzdGF0ZSB0byBCVVNZICovCisgIGhldGgtPlN0YXRlID0gSEFMX0VUSF9TVEFURV9CVVNZOworCisgIC8qIFNldCB0aGUgRE1BVHhEZXNjVG9TZXQgcG9pbnRlciB3aXRoIHRoZSBmaXJzdCBvbmUgb2YgdGhlIERNQVR4RGVzY1RhYiBsaXN0ICovCisgIGhldGgtPlR4RGVzYyA9IERNQVR4RGVzY1RhYjsKKworICAvKiBGaWxsIGVhY2ggRE1BVHhEZXNjIGRlc2NyaXB0b3Igd2l0aCB0aGUgcmlnaHQgdmFsdWVzICovCisgIGZvcihpPTBVOyBpIDwgVHhCdWZmQ291bnQ7IGkrKykKKyAgeworICAgIC8qIEdldCB0aGUgcG9pbnRlciBvbiB0aGUgaXRoIG1lbWJlciBvZiB0aGUgVHggRGVzYyBsaXN0ICovCisgICAgZG1hdHhkZXNjID0gRE1BVHhEZXNjVGFiICsgaTsKKworICAgIC8qIFNldCBTZWNvbmQgQWRkcmVzcyBDaGFpbmVkIGJpdCAqLworICAgIGRtYXR4ZGVzYy0+U3RhdHVzID0gRVRIX0RNQVRYREVTQ19UQ0g7CisKKyAgICAvKiBTZXQgQnVmZmVyMSBhZGRyZXNzIHBvaW50ZXIgKi8KKyAgICBkbWF0eGRlc2MtPkJ1ZmZlcjFBZGRyID0gKHVpbnQzMl90KSgmVHhCdWZmW2kqRVRIX1RYX0JVRl9TSVpFXSk7CisKKyAgICBpZiAoKGhldGgtPkluaXQpLkNoZWNrc3VtTW9kZSA9PSBFVEhfQ0hFQ0tTVU1fQllfSEFSRFdBUkUpCisgICAgeworICAgICAgLyogU2V0IHRoZSBETUEgVHggZGVzY3JpcHRvcnMgY2hlY2tzdW0gaW5zZXJ0aW9uICovCisgICAgICBkbWF0eGRlc2MtPlN0YXR1cyB8PSBFVEhfRE1BVFhERVNDX0NIRUNLU1VNVENQVURQSUNNUEZVTEw7CisgICAgfQorCisgICAgLyogSW5pdGlhbGl6ZSB0aGUgbmV4dCBkZXNjcmlwdG9yIHdpdGggdGhlIE5leHQgRGVzY3JpcHRvciBQb2xsaW5nIEVuYWJsZSAqLworICAgIGlmKGkgPCAoVHhCdWZmQ291bnQtMVUpKQorICAgIHsKKyAgICAgIC8qIFNldCBuZXh0IGRlc2NyaXB0b3IgYWRkcmVzcyByZWdpc3RlciB3aXRoIG5leHQgZGVzY3JpcHRvciBiYXNlIGFkZHJlc3MgKi8KKyAgICAgIGRtYXR4ZGVzYy0+QnVmZmVyMk5leHREZXNjQWRkciA9ICh1aW50MzJfdCkoRE1BVHhEZXNjVGFiK2krMVUpOworICAgIH0KKyAgICBlbHNlCisgICAgeworICAgICAgLyogRm9yIGxhc3QgZGVzY3JpcHRvciwgc2V0IG5leHQgZGVzY3JpcHRvciBhZGRyZXNzIHJlZ2lzdGVyIGVxdWFsIHRvIHRoZSBmaXJzdCBkZXNjcmlwdG9yIGJhc2UgYWRkcmVzcyAqLworICAgICAgZG1hdHhkZXNjLT5CdWZmZXIyTmV4dERlc2NBZGRyID0gKHVpbnQzMl90KSBETUFUeERlc2NUYWI7CisgICAgfQorICB9CisKKyAgLyogU2V0IFRyYW5zbWl0IERlc2NyaXB0b3IgTGlzdCBBZGRyZXNzIFJlZ2lzdGVyICovCisgIChoZXRoLT5JbnN0YW5jZSktPkRNQVRETEFSID0gKHVpbnQzMl90KSBETUFUeERlc2NUYWI7CisKKyAgLyogU2V0IEVUSCBIQUwgU3RhdGUgdG8gUmVhZHkgKi8KKyAgaGV0aC0+U3RhdGU9IEhBTF9FVEhfU1RBVEVfUkVBRFk7CisKKyAgLyogUHJvY2VzcyBVbmxvY2tlZCAqLworICBfX0hBTF9VTkxPQ0soaGV0aCk7CisKKyAgLyogUmV0dXJuIGZ1bmN0aW9uIHN0YXR1cyAqLworICByZXR1cm4gSEFMX09LOworfQorCisvKioKKyAgKiBAYnJpZWYgIEluaXRpYWxpemVzIHRoZSBETUEgUnggZGVzY3JpcHRvcnMgaW4gY2hhaW4gbW9kZS4KKyAgKiBAcGFyYW0gIGhldGggcG9pbnRlciB0byBhIEVUSF9IYW5kbGVUeXBlRGVmIHN0cnVjdHVyZSB0aGF0IGNvbnRhaW5zCisgICogICAgICAgICB0aGUgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbiBmb3IgRVRIRVJORVQgbW9kdWxlCisgICogQHBhcmFtICBETUFSeERlc2NUYWIgUG9pbnRlciB0byB0aGUgZmlyc3QgUnggZGVzYyBsaXN0CisgICogQHBhcmFtICBSeEJ1ZmYgUG9pbnRlciB0byB0aGUgZmlyc3QgUnhCdWZmZXIgbGlzdAorICAqIEBwYXJhbSAgUnhCdWZmQ291bnQgTnVtYmVyIG9mIHRoZSB1c2VkIFJ4IGRlc2MgaW4gdGhlIGxpc3QKKyAgKiBAcmV0dmFsIEhBTCBzdGF0dXMKKyAgKi8KK0hBTF9TdGF0dXNUeXBlRGVmIEhBTF9FVEhfRE1BUnhEZXNjTGlzdEluaXQoRVRIX0hhbmRsZVR5cGVEZWYgKmhldGgsIEVUSF9ETUFEZXNjVHlwZURlZiAqRE1BUnhEZXNjVGFiLCB1aW50OF90ICpSeEJ1ZmYsIHVpbnQzMl90IFJ4QnVmZkNvdW50KQoreworICB1aW50MzJfdCBpID0gMFU7CisgIEVUSF9ETUFEZXNjVHlwZURlZiAqRE1BUnhEZXNjOworCisgIC8qIFByb2Nlc3MgTG9ja2VkICovCisgIF9fSEFMX0xPQ0soaGV0aCk7CisKKyAgLyogU2V0IHRoZSBFVEggcGVyaXBoZXJhbCBzdGF0ZSB0byBCVVNZICovCisgIGhldGgtPlN0YXRlID0gSEFMX0VUSF9TVEFURV9CVVNZOworCisgIC8qIFNldCB0aGUgRXRoZXJuZXQgUnhEZXNjIHBvaW50ZXIgd2l0aCB0aGUgZmlyc3Qgb25lIG9mIHRoZSBETUFSeERlc2NUYWIgbGlzdCAqLworICBoZXRoLT5SeERlc2MgPSBETUFSeERlc2NUYWI7CisKKyAgLyogRmlsbCBlYWNoIERNQVJ4RGVzYyBkZXNjcmlwdG9yIHdpdGggdGhlIHJpZ2h0IHZhbHVlcyAqLworICBmb3IoaT0wVTsgaSA8IFJ4QnVmZkNvdW50OyBpKyspCisgIHsKKyAgICAvKiBHZXQgdGhlIHBvaW50ZXIgb24gdGhlIGl0aCBtZW1iZXIgb2YgdGhlIFJ4IERlc2MgbGlzdCAqLworICAgIERNQVJ4RGVzYyA9IERNQVJ4RGVzY1RhYitpOworCisgICAgLyogU2V0IE93biBiaXQgb2YgdGhlIFJ4IGRlc2NyaXB0b3IgU3RhdHVzICovCisgICAgRE1BUnhEZXNjLT5TdGF0dXMgPSBFVEhfRE1BUlhERVNDX09XTjsKKworICAgIC8qIFNldCBCdWZmZXIxIHNpemUgYW5kIFNlY29uZCBBZGRyZXNzIENoYWluZWQgYml0ICovCisgICAgRE1BUnhEZXNjLT5Db250cm9sQnVmZmVyU2l6ZSA9IEVUSF9ETUFSWERFU0NfUkNIIHwgRVRIX1JYX0JVRl9TSVpFOworCisgICAgLyogU2V0IEJ1ZmZlcjEgYWRkcmVzcyBwb2ludGVyICovCisgICAgRE1BUnhEZXNjLT5CdWZmZXIxQWRkciA9ICh1aW50MzJfdCkoJlJ4QnVmZltpKkVUSF9SWF9CVUZfU0laRV0pOworCisgICAgaWYoKGhldGgtPkluaXQpLlJ4TW9kZSA9PSBFVEhfUlhJTlRFUlJVUFRfTU9ERSkKKyAgICB7CisgICAgICAvKiBFbmFibGUgRXRoZXJuZXQgRE1BIFJ4IERlc2NyaXB0b3IgaW50ZXJydXB0ICovCisgICAgICBETUFSeERlc2MtPkNvbnRyb2xCdWZmZXJTaXplICY9IH5FVEhfRE1BUlhERVNDX0RJQzsKKyAgICB9CisKKyAgICAvKiBJbml0aWFsaXplIHRoZSBuZXh0IGRlc2NyaXB0b3Igd2l0aCB0aGUgTmV4dCBEZXNjcmlwdG9yIFBvbGxpbmcgRW5hYmxlICovCisgICAgaWYoaSA8IChSeEJ1ZmZDb3VudC0xVSkpCisgICAgeworICAgICAgLyogU2V0IG5leHQgZGVzY3JpcHRvciBhZGRyZXNzIHJlZ2lzdGVyIHdpdGggbmV4dCBkZXNjcmlwdG9yIGJhc2UgYWRkcmVzcyAqLworICAgICAgRE1BUnhEZXNjLT5CdWZmZXIyTmV4dERlc2NBZGRyID0gKHVpbnQzMl90KShETUFSeERlc2NUYWIraSsxVSk7CisgICAgfQorICAgIGVsc2UKKyAgICB7CisgICAgICAvKiBGb3IgbGFzdCBkZXNjcmlwdG9yLCBzZXQgbmV4dCBkZXNjcmlwdG9yIGFkZHJlc3MgcmVnaXN0ZXIgZXF1YWwgdG8gdGhlIGZpcnN0IGRlc2NyaXB0b3IgYmFzZSBhZGRyZXNzICovCisgICAgICBETUFSeERlc2MtPkJ1ZmZlcjJOZXh0RGVzY0FkZHIgPSAodWludDMyX3QpKERNQVJ4RGVzY1RhYik7CisgICAgfQorICB9CisKKyAgLyogU2V0IFJlY2VpdmUgRGVzY3JpcHRvciBMaXN0IEFkZHJlc3MgUmVnaXN0ZXIgKi8KKyAgKGhldGgtPkluc3RhbmNlKS0+RE1BUkRMQVIgPSAodWludDMyX3QpIERNQVJ4RGVzY1RhYjsKKworICAvKiBTZXQgRVRIIEhBTCBTdGF0ZSB0byBSZWFkeSAqLworICBoZXRoLT5TdGF0ZT0gSEFMX0VUSF9TVEFURV9SRUFEWTsKKworICAvKiBQcm9jZXNzIFVubG9ja2VkICovCisgIF9fSEFMX1VOTE9DSyhoZXRoKTsKKworICAvKiBSZXR1cm4gZnVuY3Rpb24gc3RhdHVzICovCisgIHJldHVybiBIQUxfT0s7Cit9CisKKy8qKgorICAqIEBicmllZiAgSW5pdGlhbGl6ZXMgdGhlIEVUSCBNU1AuCisgICogQHBhcmFtICBoZXRoIHBvaW50ZXIgdG8gYSBFVEhfSGFuZGxlVHlwZURlZiBzdHJ1Y3R1cmUgdGhhdCBjb250YWlucworICAqICAgICAgICAgdGhlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gZm9yIEVUSEVSTkVUIG1vZHVsZQorICAqIEByZXR2YWwgTm9uZQorICAqLworX193ZWFrIHZvaWQgSEFMX0VUSF9Nc3BJbml0KEVUSF9IYW5kbGVUeXBlRGVmICpoZXRoKQoreworICAvKiBQcmV2ZW50IHVudXNlZCBhcmd1bWVudChzKSBjb21waWxhdGlvbiB3YXJuaW5nICovCisgIFVOVVNFRChoZXRoKTsKKyAgLyogTk9URSA6IFRoaXMgZnVuY3Rpb24gU2hvdWxkIG5vdCBiZSBtb2RpZmllZCwgd2hlbiB0aGUgY2FsbGJhY2sgaXMgbmVlZGVkLAorICB0aGUgSEFMX0VUSF9Nc3BJbml0IGNvdWxkIGJlIGltcGxlbWVudGVkIGluIHRoZSB1c2VyIGZpbGUKKyAgKi8KK30KKworLyoqCisgICogQGJyaWVmICBEZUluaXRpYWxpemVzIEVUSCBNU1AuCisgICogQHBhcmFtICBoZXRoIHBvaW50ZXIgdG8gYSBFVEhfSGFuZGxlVHlwZURlZiBzdHJ1Y3R1cmUgdGhhdCBjb250YWlucworICAqICAgICAgICAgdGhlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gZm9yIEVUSEVSTkVUIG1vZHVsZQorICAqIEByZXR2YWwgTm9uZQorICAqLworX193ZWFrIHZvaWQgSEFMX0VUSF9Nc3BEZUluaXQoRVRIX0hhbmRsZVR5cGVEZWYgKmhldGgpCit7CisgIC8qIFByZXZlbnQgdW51c2VkIGFyZ3VtZW50KHMpIGNvbXBpbGF0aW9uIHdhcm5pbmcgKi8KKyAgVU5VU0VEKGhldGgpOworICAvKiBOT1RFIDogVGhpcyBmdW5jdGlvbiBTaG91bGQgbm90IGJlIG1vZGlmaWVkLCB3aGVuIHRoZSBjYWxsYmFjayBpcyBuZWVkZWQsCisgIHRoZSBIQUxfRVRIX01zcERlSW5pdCBjb3VsZCBiZSBpbXBsZW1lbnRlZCBpbiB0aGUgdXNlciBmaWxlCisgICovCit9CisKKyNpZiAoVVNFX0hBTF9FVEhfUkVHSVNURVJfQ0FMTEJBQ0tTID09IDEpCisvKioKKyAgKiBAYnJpZWYgIFJlZ2lzdGVyIGEgVXNlciBFVEggQ2FsbGJhY2sKKyAgKiAgICAgICAgIFRvIGJlIHVzZWQgaW5zdGVhZCBvZiB0aGUgd2VhayBwcmVkZWZpbmVkIGNhbGxiYWNrCisgICogQHBhcmFtIGhldGggZXRoIGhhbmRsZQorICAqIEBwYXJhbSBDYWxsYmFja0lEIElEIG9mIHRoZSBjYWxsYmFjayB0byBiZSByZWdpc3RlcmVkCisgICogICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBvbmUgb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXM6CisgICogICAgICAgICAgQGFyZyBAcmVmIEhBTF9FVEhfVFhfQ09NUExFVEVfQ0JfSUQgVHggQ29tcGxldGUgQ2FsbGJhY2sgSUQKKyAgKiAgICAgICAgICBAYXJnIEByZWYgSEFMX0VUSF9SWF9DT01QTEVURV9DQl9JRCBSeCBDb21wbGV0ZSBDYWxsYmFjayBJRAorICAqICAgICAgICAgIEBhcmcgQHJlZiBIQUxfRVRIX0RNQV9FUlJPUl9DQl9JRCAgIERNQSBFcnJvciBDYWxsYmFjayBJRAorICAqICAgICAgICAgIEBhcmcgQHJlZiBIQUxfRVRIX01TUElOSVRfQ0JfSUQgICAgIE1zcEluaXQgY2FsbGJhY2sgSUQKKyAgKiAgICAgICAgICBAYXJnIEByZWYgSEFMX0VUSF9NU1BERUlOSVRfQ0JfSUQgICBNc3BEZUluaXQgY2FsbGJhY2sgSUQKKyAgKiBAcGFyYW0gcENhbGxiYWNrIHBvaW50ZXIgdG8gdGhlIENhbGxiYWNrIGZ1bmN0aW9uCisgICogQHJldHZhbCBzdGF0dXMKKyAgKi8KK0hBTF9TdGF0dXNUeXBlRGVmIEhBTF9FVEhfUmVnaXN0ZXJDYWxsYmFjayhFVEhfSGFuZGxlVHlwZURlZiAqaGV0aCwgSEFMX0VUSF9DYWxsYmFja0lEVHlwZURlZiBDYWxsYmFja0lELCBwRVRIX0NhbGxiYWNrVHlwZURlZiBwQ2FsbGJhY2spCit7CisgIEhBTF9TdGF0dXNUeXBlRGVmIHN0YXR1cyA9IEhBTF9PSzsKKworICBpZihwQ2FsbGJhY2sgPT0gTlVMTCkKKyAgeworICAgIHJldHVybiBIQUxfRVJST1I7CisgIH0KKyAgLyogUHJvY2VzcyBsb2NrZWQgKi8KKyAgX19IQUxfTE9DSyhoZXRoKTsKKworICBpZihoZXRoLT5TdGF0ZSA9PSBIQUxfRVRIX1NUQVRFX1JFQURZKQorICB7CisgICAgc3dpdGNoIChDYWxsYmFja0lEKQorICAgIHsKKyAgICBjYXNlIEhBTF9FVEhfVFhfQ09NUExFVEVfQ0JfSUQgOgorICAgICAgaGV0aC0+VHhDcGx0Q2FsbGJhY2sgPSBwQ2FsbGJhY2s7CisgICAgICBicmVhazsKKworICAgIGNhc2UgSEFMX0VUSF9SWF9DT01QTEVURV9DQl9JRCA6CisgICAgICBoZXRoLT5SeENwbHRDYWxsYmFjayA9IHBDYWxsYmFjazsKKyAgICAgIGJyZWFrOworCisgICAgY2FzZSBIQUxfRVRIX0RNQV9FUlJPUl9DQl9JRCA6CisgICAgICBoZXRoLT5ETUFFcnJvckNhbGxiYWNrID0gcENhbGxiYWNrOworICAgICAgYnJlYWs7CisKKyAgICBjYXNlIEhBTF9FVEhfTVNQSU5JVF9DQl9JRCA6CisgICAgICBoZXRoLT5Nc3BJbml0Q2FsbGJhY2sgPSBwQ2FsbGJhY2s7CisgICAgICBicmVhazsKKworICAgIGNhc2UgSEFMX0VUSF9NU1BERUlOSVRfQ0JfSUQgOgorICAgICAgaGV0aC0+TXNwRGVJbml0Q2FsbGJhY2sgPSBwQ2FsbGJhY2s7CisgICAgICBicmVhazsKKworICAgIGRlZmF1bHQgOgorICAgICAgLyogUmV0dXJuIGVycm9yIHN0YXR1cyAqLworICAgICAgc3RhdHVzID0gIEhBTF9FUlJPUjsKKyAgICAgIGJyZWFrOworICAgIH0KKyAgfQorICBlbHNlIGlmKGhldGgtPlN0YXRlID09IEhBTF9FVEhfU1RBVEVfUkVTRVQpCisgIHsKKyAgICBzd2l0Y2ggKENhbGxiYWNrSUQpCisgICAgeworICAgIGNhc2UgSEFMX0VUSF9NU1BJTklUX0NCX0lEIDoKKyAgICAgIGhldGgtPk1zcEluaXRDYWxsYmFjayA9IHBDYWxsYmFjazsKKyAgICAgIGJyZWFrOworCisgICAgY2FzZSBIQUxfRVRIX01TUERFSU5JVF9DQl9JRCA6CisgICAgICBoZXRoLT5Nc3BEZUluaXRDYWxsYmFjayA9IHBDYWxsYmFjazsKKyAgICAgIGJyZWFrOworCisgICAgZGVmYXVsdCA6CisgICAgICAvKiBSZXR1cm4gZXJyb3Igc3RhdHVzICovCisgICAgICBzdGF0dXMgPSAgSEFMX0VSUk9SOworICAgICAgYnJlYWs7CisgICAgfQorICB9CisgIGVsc2UKKyAgeworICAgIC8qIFJldHVybiBlcnJvciBzdGF0dXMgKi8KKyAgICBzdGF0dXMgPSAgSEFMX0VSUk9SOworICB9CisKKyAgLyogUmVsZWFzZSBMb2NrICovCisgIF9fSEFMX1VOTE9DSyhoZXRoKTsKKworICByZXR1cm4gc3RhdHVzOworfQorCisvKioKKyAgKiBAYnJpZWYgIFVucmVnaXN0ZXIgYW4gRVRIIENhbGxiYWNrCisgICogICAgICAgICBFVEggY2FsbGFiY2sgaXMgcmVkaXJlY3RlZCB0byB0aGUgd2VhayBwcmVkZWZpbmVkIGNhbGxiYWNrCisgICogQHBhcmFtIGhldGggZXRoIGhhbmRsZQorICAqIEBwYXJhbSBDYWxsYmFja0lEIElEIG9mIHRoZSBjYWxsYmFjayB0byBiZSB1bnJlZ2lzdGVyZWQKKyAgKiAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIG9uZSBvZiB0aGUgZm9sbG93aW5nIHZhbHVlczoKKyAgKiAgICAgICAgICBAYXJnIEByZWYgSEFMX0VUSF9UWF9DT01QTEVURV9DQl9JRCBUeCBDb21wbGV0ZSBDYWxsYmFjayBJRAorICAqICAgICAgICAgIEBhcmcgQHJlZiBIQUxfRVRIX1JYX0NPTVBMRVRFX0NCX0lEIFJ4IENvbXBsZXRlIENhbGxiYWNrIElECisgICogICAgICAgICAgQGFyZyBAcmVmIEhBTF9FVEhfRE1BX0VSUk9SX0NCX0lEICAgICAgRE1BIEVycm9yIENhbGxiYWNrIElECisgICogICAgICAgICAgQGFyZyBAcmVmIEhBTF9FVEhfTVNQSU5JVF9DQl9JRCAgICAgTXNwSW5pdCBjYWxsYmFjayBJRAorICAqICAgICAgICAgIEBhcmcgQHJlZiBIQUxfRVRIX01TUERFSU5JVF9DQl9JRCAgIE1zcERlSW5pdCBjYWxsYmFjayBJRAorICAqIEByZXR2YWwgc3RhdHVzCisgICovCitIQUxfU3RhdHVzVHlwZURlZiBIQUxfRVRIX1VuUmVnaXN0ZXJDYWxsYmFjayhFVEhfSGFuZGxlVHlwZURlZiAqaGV0aCwgSEFMX0VUSF9DYWxsYmFja0lEVHlwZURlZiBDYWxsYmFja0lEKQoreworICBIQUxfU3RhdHVzVHlwZURlZiBzdGF0dXMgPSBIQUxfT0s7CisKKyAgLyogUHJvY2VzcyBsb2NrZWQgKi8KKyAgX19IQUxfTE9DSyhoZXRoKTsKKworICBpZihoZXRoLT5TdGF0ZSA9PSBIQUxfRVRIX1NUQVRFX1JFQURZKQorICB7CisgICAgc3dpdGNoIChDYWxsYmFja0lEKQorICAgIHsKKyAgICBjYXNlIEhBTF9FVEhfVFhfQ09NUExFVEVfQ0JfSUQgOgorICAgICAgaGV0aC0+VHhDcGx0Q2FsbGJhY2sgPSBIQUxfRVRIX1R4Q3BsdENhbGxiYWNrOworICAgICAgYnJlYWs7CisKKyAgICBjYXNlIEhBTF9FVEhfUlhfQ09NUExFVEVfQ0JfSUQgOgorICAgICAgaGV0aC0+UnhDcGx0Q2FsbGJhY2sgPSBIQUxfRVRIX1J4Q3BsdENhbGxiYWNrOworICAgICAgYnJlYWs7CisKKyAgICBjYXNlIEhBTF9FVEhfRE1BX0VSUk9SX0NCX0lEIDoKKyAgICAgIGhldGgtPkRNQUVycm9yQ2FsbGJhY2sgPSBIQUxfRVRIX0Vycm9yQ2FsbGJhY2s7CisgICAgICBicmVhazsKKworICAgIGNhc2UgSEFMX0VUSF9NU1BJTklUX0NCX0lEIDoKKyAgICAgIGhldGgtPk1zcEluaXRDYWxsYmFjayA9IEhBTF9FVEhfTXNwSW5pdDsKKyAgICAgIGJyZWFrOworCisgICAgY2FzZSBIQUxfRVRIX01TUERFSU5JVF9DQl9JRCA6CisgICAgICBoZXRoLT5Nc3BEZUluaXRDYWxsYmFjayA9IEhBTF9FVEhfTXNwRGVJbml0OworICAgICAgYnJlYWs7CisKKyAgICBkZWZhdWx0IDoKKyAgICAgIC8qIFJldHVybiBlcnJvciBzdGF0dXMgKi8KKyAgICAgIHN0YXR1cyA9ICBIQUxfRVJST1I7CisgICAgICBicmVhazsKKyAgICB9CisgIH0KKyAgZWxzZSBpZihoZXRoLT5TdGF0ZSA9PSBIQUxfRVRIX1NUQVRFX1JFU0VUKQorICB7CisgICAgc3dpdGNoIChDYWxsYmFja0lEKQorICAgIHsKKyAgICBjYXNlIEhBTF9FVEhfTVNQSU5JVF9DQl9JRCA6CisgICAgICBoZXRoLT5Nc3BJbml0Q2FsbGJhY2sgPSBIQUxfRVRIX01zcEluaXQ7CisgICAgICBicmVhazsKKworICAgIGNhc2UgSEFMX0VUSF9NU1BERUlOSVRfQ0JfSUQgOgorICAgICAgaGV0aC0+TXNwRGVJbml0Q2FsbGJhY2sgPSBIQUxfRVRIX01zcERlSW5pdDsKKyAgICAgIGJyZWFrOworCisgICAgZGVmYXVsdCA6CisgICAgICAvKiBSZXR1cm4gZXJyb3Igc3RhdHVzICovCisgICAgICBzdGF0dXMgPSAgSEFMX0VSUk9SOworICAgICAgYnJlYWs7CisgICAgfQorICB9CisgIGVsc2UKKyAgeworICAgIC8qIFJldHVybiBlcnJvciBzdGF0dXMgKi8KKyAgICBzdGF0dXMgPSAgSEFMX0VSUk9SOworICB9CisKKyAgLyogUmVsZWFzZSBMb2NrICovCisgIF9fSEFMX1VOTE9DSyhoZXRoKTsKKworICByZXR1cm4gc3RhdHVzOworfQorI2VuZGlmIC8qIFVTRV9IQUxfRVRIX1JFR0lTVEVSX0NBTExCQUNLUyAqLworCisvKioKKyAgKiBAfQorICAqLworCisvKiogQGRlZmdyb3VwIEVUSF9FeHBvcnRlZF9GdW5jdGlvbnNfR3JvdXAyIElPIG9wZXJhdGlvbiBmdW5jdGlvbnMKKyAgKiAgQGJyaWVmICAgRGF0YSB0cmFuc2ZlcnMgZnVuY3Rpb25zCisgICoKKyAgQHZlcmJhdGltCisgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorICAgICAgICAgICAgICAgICAgICAgICAgICAjIyMjIyBJTyBvcGVyYXRpb24gZnVuY3Rpb25zICMjIyMjCisgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorICBbLi5dICBUaGlzIHNlY3Rpb24gcHJvdmlkZXMgZnVuY3Rpb25zIGFsbG93aW5nIHRvOgorICAgICAgICAoKykgVHJhbnNtaXQgYSBmcmFtZQorICAgICAgICAgICAgSEFMX0VUSF9UcmFuc21pdEZyYW1lKCk7CisgICAgICAgICgrKSBSZWNlaXZlIGEgZnJhbWUKKyAgICAgICAgICAgIEhBTF9FVEhfR2V0UmVjZWl2ZWRGcmFtZSgpOworICAgICAgICAgICAgSEFMX0VUSF9HZXRSZWNlaXZlZEZyYW1lX0lUKCk7CisgICAgICAgICgrKSBSZWFkIGZyb20gYW4gRXh0ZXJuYWwgUEhZIHJlZ2lzdGVyCisgICAgICAgICAgICBIQUxfRVRIX1JlYWRQSFlSZWdpc3RlcigpOworICAgICAgICAoKykgV3JpdGUgdG8gYW4gRXh0ZXJuYWwgUEhZIHJlZ2lzdGVyCisgICAgICAgICAgICBIQUxfRVRIX1dyaXRlUEhZUmVnaXN0ZXIoKTsKKworICBAZW5kdmVyYmF0aW0KKworICAqIEB7CisgICovCisKKy8qKgorICAqIEBicmllZiAgU2VuZHMgYW4gRXRoZXJuZXQgZnJhbWUuCisgICogQHBhcmFtICBoZXRoIHBvaW50ZXIgdG8gYSBFVEhfSGFuZGxlVHlwZURlZiBzdHJ1Y3R1cmUgdGhhdCBjb250YWlucworICAqICAgICAgICAgdGhlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gZm9yIEVUSEVSTkVUIG1vZHVsZQorICAqIEBwYXJhbSAgRnJhbWVMZW5ndGggQW1vdW50IG9mIGRhdGEgdG8gYmUgc2VudAorICAqIEByZXR2YWwgSEFMIHN0YXR1cworICAqLworSEFMX1N0YXR1c1R5cGVEZWYgSEFMX0VUSF9UcmFuc21pdEZyYW1lKEVUSF9IYW5kbGVUeXBlRGVmICpoZXRoLCB1aW50MzJfdCBGcmFtZUxlbmd0aCkKK3sKKyAgdWludDMyX3QgYnVmY291bnQgPSAwVSwgc2l6ZSA9IDBVLCBpID0gMFU7CisKKyAgLyogUHJvY2VzcyBMb2NrZWQgKi8KKyAgX19IQUxfTE9DSyhoZXRoKTsKKworICAvKiBTZXQgdGhlIEVUSCBwZXJpcGhlcmFsIHN0YXRlIHRvIEJVU1kgKi8KKyAgaGV0aC0+U3RhdGUgPSBIQUxfRVRIX1NUQVRFX0JVU1k7CisKKyAgaWYgKEZyYW1lTGVuZ3RoID09IDBVKQorICB7CisgICAgLyogU2V0IEVUSCBIQUwgc3RhdGUgdG8gUkVBRFkgKi8KKyAgICBoZXRoLT5TdGF0ZSA9IEhBTF9FVEhfU1RBVEVfUkVBRFk7CisKKyAgICAvKiBQcm9jZXNzIFVubG9ja2VkICovCisgICAgX19IQUxfVU5MT0NLKGhldGgpOworCisgICAgcmV0dXJuICBIQUxfRVJST1I7CisgIH0KKworICAvKiBDaGVjayBpZiB0aGUgZGVzY3JpcHRvciBpcyBvd25lZCBieSB0aGUgRVRIRVJORVQgRE1BICh3aGVuIHNldCkgb3IgQ1BVICh3aGVuIHJlc2V0KSAqLworICBpZigoKGhldGgtPlR4RGVzYyktPlN0YXR1cyAmIEVUSF9ETUFUWERFU0NfT1dOKSAhPSAodWludDMyX3QpUkVTRVQpCisgIHsKKyAgICAvKiBPV04gYml0IHNldCAqLworICAgIGhldGgtPlN0YXRlID0gSEFMX0VUSF9TVEFURV9CVVNZX1RYOworCisgICAgLyogUHJvY2VzcyBVbmxvY2tlZCAqLworICAgIF9fSEFMX1VOTE9DSyhoZXRoKTsKKworICAgIHJldHVybiBIQUxfRVJST1I7CisgIH0KKworICAvKiBHZXQgdGhlIG51bWJlciBvZiBuZWVkZWQgVHggYnVmZmVycyBmb3IgdGhlIGN1cnJlbnQgZnJhbWUgKi8KKyAgaWYgKEZyYW1lTGVuZ3RoID4gRVRIX1RYX0JVRl9TSVpFKQorICB7CisgICAgYnVmY291bnQgPSBGcmFtZUxlbmd0aC9FVEhfVFhfQlVGX1NJWkU7CisgICAgaWYgKEZyYW1lTGVuZ3RoICUgRVRIX1RYX0JVRl9TSVpFKQorICAgIHsKKyAgICAgIGJ1ZmNvdW50Kys7CisgICAgfQorICB9CisgIGVsc2UKKyAgeworICAgIGJ1ZmNvdW50ID0gMVU7CisgIH0KKyAgaWYgKGJ1ZmNvdW50ID09IDFVKQorICB7CisgICAgLyogU2V0IExBU1QgYW5kIEZJUlNUIHNlZ21lbnQgKi8KKyAgICBoZXRoLT5UeERlc2MtPlN0YXR1cyB8PUVUSF9ETUFUWERFU0NfRlN8RVRIX0RNQVRYREVTQ19MUzsKKyAgICAvKiBTZXQgZnJhbWUgc2l6ZSAqLworICAgIGhldGgtPlR4RGVzYy0+Q29udHJvbEJ1ZmZlclNpemUgPSAoRnJhbWVMZW5ndGggJiBFVEhfRE1BVFhERVNDX1RCUzEpOworICAgIC8qIFNldCBPd24gYml0IG9mIHRoZSBUeCBkZXNjcmlwdG9yIFN0YXR1czogZ2l2ZXMgdGhlIGJ1ZmZlciBiYWNrIHRvIEVUSEVSTkVUIERNQSAqLworICAgIGhldGgtPlR4RGVzYy0+U3RhdHVzIHw9IEVUSF9ETUFUWERFU0NfT1dOOworICAgIC8qIFBvaW50IHRvIG5leHQgZGVzY3JpcHRvciAqLworICAgIGhldGgtPlR4RGVzYz0gKEVUSF9ETUFEZXNjVHlwZURlZiAqKShoZXRoLT5UeERlc2MtPkJ1ZmZlcjJOZXh0RGVzY0FkZHIpOworICB9CisgIGVsc2UKKyAgeworICAgIGZvciAoaT0wVTsgaTwgYnVmY291bnQ7IGkrKykKKyAgICB7CisgICAgICAvKiBDbGVhciBGSVJTVCBhbmQgTEFTVCBzZWdtZW50IGJpdHMgKi8KKyAgICAgIGhldGgtPlR4RGVzYy0+U3RhdHVzICY9IH4oRVRIX0RNQVRYREVTQ19GUyB8IEVUSF9ETUFUWERFU0NfTFMpOworCisgICAgICBpZiAoaSA9PSAwVSkKKyAgICAgIHsKKyAgICAgICAgLyogU2V0dGluZyB0aGUgZmlyc3Qgc2VnbWVudCBiaXQgKi8KKyAgICAgICAgaGV0aC0+VHhEZXNjLT5TdGF0dXMgfD0gRVRIX0RNQVRYREVTQ19GUzsKKyAgICAgIH0KKworICAgICAgLyogUHJvZ3JhbSBzaXplICovCisgICAgICBoZXRoLT5UeERlc2MtPkNvbnRyb2xCdWZmZXJTaXplID0gKEVUSF9UWF9CVUZfU0laRSAmIEVUSF9ETUFUWERFU0NfVEJTMSk7CisKKyAgICAgIGlmIChpID09IChidWZjb3VudC0xVSkpCisgICAgICB7CisgICAgICAgIC8qIFNldHRpbmcgdGhlIGxhc3Qgc2VnbWVudCBiaXQgKi8KKyAgICAgICAgaGV0aC0+VHhEZXNjLT5TdGF0dXMgfD0gRVRIX0RNQVRYREVTQ19MUzsKKyAgICAgICAgc2l6ZSA9IEZyYW1lTGVuZ3RoIC0gKGJ1ZmNvdW50LTFVKSpFVEhfVFhfQlVGX1NJWkU7CisgICAgICAgIGhldGgtPlR4RGVzYy0+Q29udHJvbEJ1ZmZlclNpemUgPSAoc2l6ZSAmIEVUSF9ETUFUWERFU0NfVEJTMSk7CisgICAgICB9CisKKyAgICAgIC8qIFNldCBPd24gYml0IG9mIHRoZSBUeCBkZXNjcmlwdG9yIFN0YXR1czogZ2l2ZXMgdGhlIGJ1ZmZlciBiYWNrIHRvIEVUSEVSTkVUIERNQSAqLworICAgICAgaGV0aC0+VHhEZXNjLT5TdGF0dXMgfD0gRVRIX0RNQVRYREVTQ19PV047CisgICAgICAvKiBwb2ludCB0byBuZXh0IGRlc2NyaXB0b3IgKi8KKyAgICAgIGhldGgtPlR4RGVzYyA9IChFVEhfRE1BRGVzY1R5cGVEZWYgKikoaGV0aC0+VHhEZXNjLT5CdWZmZXIyTmV4dERlc2NBZGRyKTsKKyAgICB9CisgIH0KKworICAvKiBXaGVuIFR4IEJ1ZmZlciB1bmF2YWlsYWJsZSBmbGFnIGlzIHNldDogY2xlYXIgaXQgYW5kIHJlc3VtZSB0cmFuc21pc3Npb24gKi8KKyAgaWYgKCgoaGV0aC0+SW5zdGFuY2UpLT5ETUFTUiAmIEVUSF9ETUFTUl9UQlVTKSAhPSAodWludDMyX3QpUkVTRVQpCisgIHsKKyAgICAvKiBDbGVhciBUQlVTIEVUSEVSTkVUIERNQSBmbGFnICovCisgICAgKGhldGgtPkluc3RhbmNlKS0+RE1BU1IgPSBFVEhfRE1BU1JfVEJVUzsKKyAgICAvKiBSZXN1bWUgRE1BIHRyYW5zbWlzc2lvbiovCisgICAgKGhldGgtPkluc3RhbmNlKS0+RE1BVFBEUiA9IDBVOworICB9CisKKyAgLyogU2V0IEVUSCBIQUwgU3RhdGUgdG8gUmVhZHkgKi8KKyAgaGV0aC0+U3RhdGUgPSBIQUxfRVRIX1NUQVRFX1JFQURZOworCisgIC8qIFByb2Nlc3MgVW5sb2NrZWQgKi8KKyAgX19IQUxfVU5MT0NLKGhldGgpOworCisgIC8qIFJldHVybiBmdW5jdGlvbiBzdGF0dXMgKi8KKyAgcmV0dXJuIEhBTF9PSzsKK30KKworLyoqCisgICogQGJyaWVmICBDaGVja3MgZm9yIHJlY2VpdmVkIGZyYW1lcy4KKyAgKiBAcGFyYW0gIGhldGggcG9pbnRlciB0byBhIEVUSF9IYW5kbGVUeXBlRGVmIHN0cnVjdHVyZSB0aGF0IGNvbnRhaW5zCisgICogICAgICAgICB0aGUgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbiBmb3IgRVRIRVJORVQgbW9kdWxlCisgICogQHJldHZhbCBIQUwgc3RhdHVzCisgICovCitIQUxfU3RhdHVzVHlwZURlZiBIQUxfRVRIX0dldFJlY2VpdmVkRnJhbWUoRVRIX0hhbmRsZVR5cGVEZWYgKmhldGgpCit7CisgIHVpbnQzMl90IGZyYW1lbGVuZ3RoID0gMFU7CisKKyAgLyogUHJvY2VzcyBMb2NrZWQgKi8KKyAgX19IQUxfTE9DSyhoZXRoKTsKKworICAvKiBDaGVjayB0aGUgRVRIIHN0YXRlIHRvIEJVU1kgKi8KKyAgaGV0aC0+U3RhdGUgPSBIQUxfRVRIX1NUQVRFX0JVU1k7CisKKyAgLyogQ2hlY2sgaWYgc2VnbWVudCBpcyBub3Qgb3duZWQgYnkgRE1BICovCisgIC8qICgoKGhldGgtPlJ4RGVzYy0+U3RhdHVzICYgRVRIX0RNQVJYREVTQ19PV04pID09ICh1aW50MzJfdClSRVNFVCkgJiYgKChoZXRoLT5SeERlc2MtPlN0YXR1cyAmIEVUSF9ETUFSWERFU0NfTFMpICE9ICh1aW50MzJfdClSRVNFVCkpICovCisgIGlmKCgoaGV0aC0+UnhEZXNjLT5TdGF0dXMgJiBFVEhfRE1BUlhERVNDX09XTikgPT0gKHVpbnQzMl90KVJFU0VUKSkKKyAgeworICAgIC8qIENoZWNrIGlmIGxhc3Qgc2VnbWVudCAqLworICAgIGlmKCgoaGV0aC0+UnhEZXNjLT5TdGF0dXMgJiBFVEhfRE1BUlhERVNDX0xTKSAhPSAodWludDMyX3QpUkVTRVQpKQorICAgIHsKKyAgICAgIC8qIGluY3JlbWVudCBzZWdtZW50IGNvdW50ICovCisgICAgICAoaGV0aC0+UnhGcmFtZUluZm9zKS5TZWdDb3VudCsrOworCisgICAgICAvKiBDaGVjayBpZiBsYXN0IHNlZ21lbnQgaXMgZmlyc3Qgc2VnbWVudDogb25lIHNlZ21lbnQgY29udGFpbnMgdGhlIGZyYW1lICovCisgICAgICBpZiAoKGhldGgtPlJ4RnJhbWVJbmZvcykuU2VnQ291bnQgPT0gMVUpCisgICAgICB7CisgICAgICAgIChoZXRoLT5SeEZyYW1lSW5mb3MpLkZTUnhEZXNjID1oZXRoLT5SeERlc2M7CisgICAgICB9CisKKyAgICAgIGhldGgtPlJ4RnJhbWVJbmZvcy5MU1J4RGVzYyA9IGhldGgtPlJ4RGVzYzsKKworICAgICAgLyogR2V0IHRoZSBGcmFtZSBMZW5ndGggb2YgdGhlIHJlY2VpdmVkIHBhY2tldDogc3Vic3RydWN0IDQgYnl0ZXMgb2YgdGhlIENSQyAqLworICAgICAgZnJhbWVsZW5ndGggPSAoKChoZXRoLT5SeERlc2MpLT5TdGF0dXMgJiBFVEhfRE1BUlhERVNDX0ZMKSA+PiBFVEhfRE1BUlhERVNDX0ZSQU1FTEVOR1RIU0hJRlQpIC0gNFU7CisgICAgICBoZXRoLT5SeEZyYW1lSW5mb3MubGVuZ3RoID0gZnJhbWVsZW5ndGg7CisKKyAgICAgIC8qIEdldCB0aGUgYWRkcmVzcyBvZiB0aGUgYnVmZmVyIHN0YXJ0IGFkZHJlc3MgKi8KKyAgICAgIGhldGgtPlJ4RnJhbWVJbmZvcy5idWZmZXIgPSAoKGhldGgtPlJ4RnJhbWVJbmZvcykuRlNSeERlc2MpLT5CdWZmZXIxQWRkcjsKKyAgICAgIC8qIHBvaW50IHRvIG5leHQgZGVzY3JpcHRvciAqLworICAgICAgaGV0aC0+UnhEZXNjID0gKEVUSF9ETUFEZXNjVHlwZURlZiopICgoaGV0aC0+UnhEZXNjKS0+QnVmZmVyMk5leHREZXNjQWRkcik7CisKKyAgICAgIC8qIFNldCBIQUwgU3RhdGUgdG8gUmVhZHkgKi8KKyAgICAgIGhldGgtPlN0YXRlID0gSEFMX0VUSF9TVEFURV9SRUFEWTsKKworICAgICAgLyogUHJvY2VzcyBVbmxvY2tlZCAqLworICAgICAgX19IQUxfVU5MT0NLKGhldGgpOworCisgICAgICAvKiBSZXR1cm4gZnVuY3Rpb24gc3RhdHVzICovCisgICAgICByZXR1cm4gSEFMX09LOworICAgIH0KKyAgICAvKiBDaGVjayBpZiBmaXJzdCBzZWdtZW50ICovCisgICAgZWxzZSBpZigoaGV0aC0+UnhEZXNjLT5TdGF0dXMgJiBFVEhfRE1BUlhERVNDX0ZTKSAhPSAodWludDMyX3QpUkVTRVQpCisgICAgeworICAgICAgKGhldGgtPlJ4RnJhbWVJbmZvcykuRlNSeERlc2MgPSBoZXRoLT5SeERlc2M7CisgICAgICAoaGV0aC0+UnhGcmFtZUluZm9zKS5MU1J4RGVzYyA9IE5VTEw7CisgICAgICAoaGV0aC0+UnhGcmFtZUluZm9zKS5TZWdDb3VudCA9IDFVOworICAgICAgLyogUG9pbnQgdG8gbmV4dCBkZXNjcmlwdG9yICovCisgICAgICBoZXRoLT5SeERlc2MgPSAoRVRIX0RNQURlc2NUeXBlRGVmKikgKGhldGgtPlJ4RGVzYy0+QnVmZmVyMk5leHREZXNjQWRkcik7CisgICAgfQorICAgIC8qIENoZWNrIGlmIGludGVybWVkaWF0ZSBzZWdtZW50ICovCisgICAgZWxzZQorICAgIHsKKyAgICAgIChoZXRoLT5SeEZyYW1lSW5mb3MpLlNlZ0NvdW50Kys7CisgICAgICAvKiBQb2ludCB0byBuZXh0IGRlc2NyaXB0b3IgKi8KKyAgICAgIGhldGgtPlJ4RGVzYyA9IChFVEhfRE1BRGVzY1R5cGVEZWYqKSAoaGV0aC0+UnhEZXNjLT5CdWZmZXIyTmV4dERlc2NBZGRyKTsKKyAgICB9CisgIH0KKworICAvKiBTZXQgRVRIIEhBTCBTdGF0ZSB0byBSZWFkeSAqLworICBoZXRoLT5TdGF0ZSA9IEhBTF9FVEhfU1RBVEVfUkVBRFk7CisKKyAgLyogUHJvY2VzcyBVbmxvY2tlZCAqLworICBfX0hBTF9VTkxPQ0soaGV0aCk7CisKKyAgLyogUmV0dXJuIGZ1bmN0aW9uIHN0YXR1cyAqLworICByZXR1cm4gSEFMX0VSUk9SOworfQorCisvKioKKyAgKiBAYnJpZWYgIEdldHMgdGhlIFJlY2VpdmVkIGZyYW1lIGluIGludGVycnVwdCBtb2RlLgorICAqIEBwYXJhbSAgaGV0aCBwb2ludGVyIHRvIGEgRVRIX0hhbmRsZVR5cGVEZWYgc3RydWN0dXJlIHRoYXQgY29udGFpbnMKKyAgKiAgICAgICAgIHRoZSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIGZvciBFVEhFUk5FVCBtb2R1bGUKKyAgKiBAcmV0dmFsIEhBTCBzdGF0dXMKKyAgKi8KK0hBTF9TdGF0dXNUeXBlRGVmIEhBTF9FVEhfR2V0UmVjZWl2ZWRGcmFtZV9JVChFVEhfSGFuZGxlVHlwZURlZiAqaGV0aCkKK3sKKyAgdWludDMyX3QgZGVzY3JpcHRvcnNjYW5jb3VudGVyID0gMFU7CisKKyAgLyogUHJvY2VzcyBMb2NrZWQgKi8KKyAgX19IQUxfTE9DSyhoZXRoKTsKKworICAvKiBTZXQgRVRIIEhBTCBTdGF0ZSB0byBCVVNZICovCisgIGhldGgtPlN0YXRlID0gSEFMX0VUSF9TVEFURV9CVVNZOworCisgIC8qIFNjYW4gZGVzY3JpcHRvcnMgb3duZWQgYnkgQ1BVICovCisgIHdoaWxlICgoKGhldGgtPlJ4RGVzYy0+U3RhdHVzICYgRVRIX0RNQVJYREVTQ19PV04pID09ICh1aW50MzJfdClSRVNFVCkgJiYgKGRlc2NyaXB0b3JzY2FuY291bnRlciA8IEVUSF9SWEJVRk5CKSkKKyAgeworICAgIC8qIEp1c3QgZm9yIHNlY3VyaXR5ICovCisgICAgZGVzY3JpcHRvcnNjYW5jb3VudGVyKys7CisKKyAgICAvKiBDaGVjayBpZiBmaXJzdCBzZWdtZW50IGluIGZyYW1lICovCisgICAgLyogKChoZXRoLT5SeERlc2MtPlN0YXR1cyAmIEVUSF9ETUFSWERFU0NfRlMpICE9ICh1aW50MzJfdClSRVNFVCkgJiYgKChoZXRoLT5SeERlc2MtPlN0YXR1cyAmIEVUSF9ETUFSWERFU0NfTFMpID09ICh1aW50MzJfdClSRVNFVCkpICovCisgICAgaWYoKGhldGgtPlJ4RGVzYy0+U3RhdHVzICYgKEVUSF9ETUFSWERFU0NfRlMgfCBFVEhfRE1BUlhERVNDX0xTKSkgPT0gKHVpbnQzMl90KUVUSF9ETUFSWERFU0NfRlMpCisgICAgeworICAgICAgaGV0aC0+UnhGcmFtZUluZm9zLkZTUnhEZXNjID0gaGV0aC0+UnhEZXNjOworICAgICAgaGV0aC0+UnhGcmFtZUluZm9zLlNlZ0NvdW50ID0gMVU7CisgICAgICAvKiBQb2ludCB0byBuZXh0IGRlc2NyaXB0b3IgKi8KKyAgICAgIGhldGgtPlJ4RGVzYyA9IChFVEhfRE1BRGVzY1R5cGVEZWYqKSAoaGV0aC0+UnhEZXNjLT5CdWZmZXIyTmV4dERlc2NBZGRyKTsKKyAgICB9CisgICAgLyogQ2hlY2sgaWYgaW50ZXJtZWRpYXRlIHNlZ21lbnQgKi8KKyAgICAvKiAoKGhldGgtPlJ4RGVzYy0+U3RhdHVzICYgRVRIX0RNQVJYREVTQ19MUykgPT0gKHVpbnQzMl90KVJFU0VUKSYmICgoaGV0aC0+UnhEZXNjLT5TdGF0dXMgJiBFVEhfRE1BUlhERVNDX0ZTKSA9PSAodWludDMyX3QpUkVTRVQpKSAqLworICAgIGVsc2UgaWYgKChoZXRoLT5SeERlc2MtPlN0YXR1cyAmIChFVEhfRE1BUlhERVNDX0xTIHwgRVRIX0RNQVJYREVTQ19GUykpID09ICh1aW50MzJfdClSRVNFVCkKKyAgICB7CisgICAgICAvKiBJbmNyZW1lbnQgc2VnbWVudCBjb3VudCAqLworICAgICAgKGhldGgtPlJ4RnJhbWVJbmZvcy5TZWdDb3VudCkrKzsKKyAgICAgIC8qIFBvaW50IHRvIG5leHQgZGVzY3JpcHRvciAqLworICAgICAgaGV0aC0+UnhEZXNjID0gKEVUSF9ETUFEZXNjVHlwZURlZiopKGhldGgtPlJ4RGVzYy0+QnVmZmVyMk5leHREZXNjQWRkcik7CisgICAgfQorICAgIC8qIFNob3VsZCBiZSBsYXN0IHNlZ21lbnQgKi8KKyAgICBlbHNlCisgICAgeworICAgICAgLyogTGFzdCBzZWdtZW50ICovCisgICAgICBoZXRoLT5SeEZyYW1lSW5mb3MuTFNSeERlc2MgPSBoZXRoLT5SeERlc2M7CisKKyAgICAgIC8qIEluY3JlbWVudCBzZWdtZW50IGNvdW50ICovCisgICAgICAoaGV0aC0+UnhGcmFtZUluZm9zLlNlZ0NvdW50KSsrOworCisgICAgICAvKiBDaGVjayBpZiBsYXN0IHNlZ21lbnQgaXMgZmlyc3Qgc2VnbWVudDogb25lIHNlZ21lbnQgY29udGFpbnMgdGhlIGZyYW1lICovCisgICAgICBpZiAoKGhldGgtPlJ4RnJhbWVJbmZvcy5TZWdDb3VudCkgPT0gMVUpCisgICAgICB7CisgICAgICAgIGhldGgtPlJ4RnJhbWVJbmZvcy5GU1J4RGVzYyA9IGhldGgtPlJ4RGVzYzsKKyAgICAgIH0KKworICAgICAgLyogR2V0IHRoZSBGcmFtZSBMZW5ndGggb2YgdGhlIHJlY2VpdmVkIHBhY2tldDogc3Vic3RydWN0IDQgYnl0ZXMgb2YgdGhlIENSQyAqLworICAgICAgaGV0aC0+UnhGcmFtZUluZm9zLmxlbmd0aCA9ICgoKGhldGgtPlJ4RGVzYyktPlN0YXR1cyAmIEVUSF9ETUFSWERFU0NfRkwpID4+IEVUSF9ETUFSWERFU0NfRlJBTUVMRU5HVEhTSElGVCkgLSA0VTsKKworICAgICAgLyogR2V0IHRoZSBhZGRyZXNzIG9mIHRoZSBidWZmZXIgc3RhcnQgYWRkcmVzcyAqLworICAgICAgaGV0aC0+UnhGcmFtZUluZm9zLmJ1ZmZlciA9KChoZXRoLT5SeEZyYW1lSW5mb3MpLkZTUnhEZXNjKS0+QnVmZmVyMUFkZHI7CisKKyAgICAgIC8qIFBvaW50IHRvIG5leHQgZGVzY3JpcHRvciAqLworICAgICAgaGV0aC0+UnhEZXNjID0gKEVUSF9ETUFEZXNjVHlwZURlZiopIChoZXRoLT5SeERlc2MtPkJ1ZmZlcjJOZXh0RGVzY0FkZHIpOworCisgICAgICAvKiBTZXQgSEFMIFN0YXRlIHRvIFJlYWR5ICovCisgICAgICBoZXRoLT5TdGF0ZSA9IEhBTF9FVEhfU1RBVEVfUkVBRFk7CisKKyAgICAgIC8qIFByb2Nlc3MgVW5sb2NrZWQgKi8KKyAgICAgIF9fSEFMX1VOTE9DSyhoZXRoKTsKKworICAgICAgLyogUmV0dXJuIGZ1bmN0aW9uIHN0YXR1cyAqLworICAgICAgcmV0dXJuIEhBTF9PSzsKKyAgICB9CisgIH0KKworICAvKiBTZXQgSEFMIFN0YXRlIHRvIFJlYWR5ICovCisgIGhldGgtPlN0YXRlID0gSEFMX0VUSF9TVEFURV9SRUFEWTsKKworICAvKiBQcm9jZXNzIFVubG9ja2VkICovCisgIF9fSEFMX1VOTE9DSyhoZXRoKTsKKworICAvKiBSZXR1cm4gZnVuY3Rpb24gc3RhdHVzICovCisgIHJldHVybiBIQUxfRVJST1I7Cit9CisKKy8qKgorICAqIEBicmllZiAgVGhpcyBmdW5jdGlvbiBoYW5kbGVzIEVUSCBpbnRlcnJ1cHQgcmVxdWVzdC4KKyAgKiBAcGFyYW0gIGhldGggcG9pbnRlciB0byBhIEVUSF9IYW5kbGVUeXBlRGVmIHN0cnVjdHVyZSB0aGF0IGNvbnRhaW5zCisgICogICAgICAgICB0aGUgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbiBmb3IgRVRIRVJORVQgbW9kdWxlCisgICogQHJldHZhbCBIQUwgc3RhdHVzCisgICovCit2b2lkIEhBTF9FVEhfSVJRSGFuZGxlcihFVEhfSGFuZGxlVHlwZURlZiAqaGV0aCkKK3sKKyAgLyogRnJhbWUgcmVjZWl2ZWQgKi8KKyAgaWYgKF9fSEFMX0VUSF9ETUFfR0VUX0ZMQUcoaGV0aCwgRVRIX0RNQV9GTEFHX1IpKQorICB7CisjaWYgKFVTRV9IQUxfRVRIX1JFR0lTVEVSX0NBTExCQUNLUyA9PSAxKQorICAgIC8qQ2FsbCByZWdpc3RlcmVkIFJlY2VpdmUgY29tcGxldGUgY2FsbGJhY2sqLworICAgIGhldGgtPlJ4Q3BsdENhbGxiYWNrKGhldGgpOworI2Vsc2UKKyAgICAvKiBSZWNlaXZlIGNvbXBsZXRlIGNhbGxiYWNrICovCisgICAgSEFMX0VUSF9SeENwbHRDYWxsYmFjayhoZXRoKTsKKyNlbmRpZiAvKiBVU0VfSEFMX0VUSF9SRUdJU1RFUl9DQUxMQkFDS1MgKi8KKworICAgICAvKiBDbGVhciB0aGUgRXRoIERNQSBSeCBJVCBwZW5kaW5nIGJpdHMgKi8KKyAgICBfX0hBTF9FVEhfRE1BX0NMRUFSX0lUKGhldGgsIEVUSF9ETUFfSVRfUik7CisKKyAgICAvKiBTZXQgSEFMIFN0YXRlIHRvIFJlYWR5ICovCisgICAgaGV0aC0+U3RhdGUgPSBIQUxfRVRIX1NUQVRFX1JFQURZOworCisgICAgLyogUHJvY2VzcyBVbmxvY2tlZCAqLworICAgIF9fSEFMX1VOTE9DSyhoZXRoKTsKKworICB9CisgIC8qIEZyYW1lIHRyYW5zbWl0dGVkICovCisgIGVsc2UgaWYgKF9fSEFMX0VUSF9ETUFfR0VUX0ZMQUcoaGV0aCwgRVRIX0RNQV9GTEFHX1QpKQorICB7CisjaWYgKFVTRV9IQUxfRVRIX1JFR0lTVEVSX0NBTExCQUNLUyA9PSAxKQorICAgIC8qICBDYWxsIHJlc2dpc3RlcmVkIFRyYW5zZmVyIGNvbXBsZXRlIGNhbGxiYWNrKi8KKyAgICBoZXRoLT5UeENwbHRDYWxsYmFjayhoZXRoKTsKKyNlbHNlCisgICAgLyogVHJhbnNmZXIgY29tcGxldGUgY2FsbGJhY2sgKi8KKyAgICBIQUxfRVRIX1R4Q3BsdENhbGxiYWNrKGhldGgpOworI2VuZGlmIC8qIFVTRV9IQUxfRVRIX1JFR0lTVEVSX0NBTExCQUNLUyAqLworCisgICAgLyogQ2xlYXIgdGhlIEV0aCBETUEgVHggSVQgcGVuZGluZyBiaXRzICovCisgICAgX19IQUxfRVRIX0RNQV9DTEVBUl9JVChoZXRoLCBFVEhfRE1BX0lUX1QpOworCisgICAgLyogU2V0IEhBTCBTdGF0ZSB0byBSZWFkeSAqLworICAgIGhldGgtPlN0YXRlID0gSEFMX0VUSF9TVEFURV9SRUFEWTsKKworICAgIC8qIFByb2Nlc3MgVW5sb2NrZWQgKi8KKyAgICBfX0hBTF9VTkxPQ0soaGV0aCk7CisgIH0KKworICAvKiBDbGVhciB0aGUgaW50ZXJydXB0IGZsYWdzICovCisgIF9fSEFMX0VUSF9ETUFfQ0xFQVJfSVQoaGV0aCwgRVRIX0RNQV9JVF9OSVMpOworCisgIC8qIEVUSCBETUEgRXJyb3IgKi8KKyAgaWYoX19IQUxfRVRIX0RNQV9HRVRfRkxBRyhoZXRoLCBFVEhfRE1BX0ZMQUdfQUlTKSkKKyAgeworI2lmIChVU0VfSEFMX0VUSF9SRUdJU1RFUl9DQUxMQkFDS1MgPT0gMSkKKyAgICBoZXRoLT5ETUFFcnJvckNhbGxiYWNrKGhldGgpOworI2Vsc2UKKyAgICAvKiBFdGhlcm5ldCBFcnJvciBjYWxsYmFjayAqLworICAgIEhBTF9FVEhfRXJyb3JDYWxsYmFjayhoZXRoKTsKKyNlbmRpZiAvKiBVU0VfSEFMX0VUSF9SRUdJU1RFUl9DQUxMQkFDS1MgKi8KKworICAgIC8qIENsZWFyIHRoZSBpbnRlcnJ1cHQgZmxhZ3MgKi8KKyAgICBfX0hBTF9FVEhfRE1BX0NMRUFSX0lUKGhldGgsIEVUSF9ETUFfRkxBR19BSVMpOworCisgICAgLyogU2V0IEhBTCBTdGF0ZSB0byBSZWFkeSAqLworICAgIGhldGgtPlN0YXRlID0gSEFMX0VUSF9TVEFURV9SRUFEWTsKKworICAgIC8qIFByb2Nlc3MgVW5sb2NrZWQgKi8KKyAgICBfX0hBTF9VTkxPQ0soaGV0aCk7CisgIH0KK30KKworLyoqCisgICogQGJyaWVmICBUeCBUcmFuc2ZlciBjb21wbGV0ZWQgY2FsbGJhY2tzLgorICAqIEBwYXJhbSAgaGV0aCBwb2ludGVyIHRvIGEgRVRIX0hhbmRsZVR5cGVEZWYgc3RydWN0dXJlIHRoYXQgY29udGFpbnMKKyAgKiAgICAgICAgIHRoZSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIGZvciBFVEhFUk5FVCBtb2R1bGUKKyAgKiBAcmV0dmFsIE5vbmUKKyAgKi8KK19fd2VhayB2b2lkIEhBTF9FVEhfVHhDcGx0Q2FsbGJhY2soRVRIX0hhbmRsZVR5cGVEZWYgKmhldGgpCit7CisgIC8qIFByZXZlbnQgdW51c2VkIGFyZ3VtZW50KHMpIGNvbXBpbGF0aW9uIHdhcm5pbmcgKi8KKyAgVU5VU0VEKGhldGgpOworICAvKiBOT1RFIDogVGhpcyBmdW5jdGlvbiBTaG91bGQgbm90IGJlIG1vZGlmaWVkLCB3aGVuIHRoZSBjYWxsYmFjayBpcyBuZWVkZWQsCisgIHRoZSBIQUxfRVRIX1R4Q3BsdENhbGxiYWNrIGNvdWxkIGJlIGltcGxlbWVudGVkIGluIHRoZSB1c2VyIGZpbGUKKyAgKi8KK30KKworLyoqCisgICogQGJyaWVmICBSeCBUcmFuc2ZlciBjb21wbGV0ZWQgY2FsbGJhY2tzLgorICAqIEBwYXJhbSAgaGV0aCBwb2ludGVyIHRvIGEgRVRIX0hhbmRsZVR5cGVEZWYgc3RydWN0dXJlIHRoYXQgY29udGFpbnMKKyAgKiAgICAgICAgIHRoZSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIGZvciBFVEhFUk5FVCBtb2R1bGUKKyAgKiBAcmV0dmFsIE5vbmUKKyAgKi8KK19fd2VhayB2b2lkIEhBTF9FVEhfUnhDcGx0Q2FsbGJhY2soRVRIX0hhbmRsZVR5cGVEZWYgKmhldGgpCit7CisgIC8qIFByZXZlbnQgdW51c2VkIGFyZ3VtZW50KHMpIGNvbXBpbGF0aW9uIHdhcm5pbmcgKi8KKyAgVU5VU0VEKGhldGgpOworICAvKiBOT1RFIDogVGhpcyBmdW5jdGlvbiBTaG91bGQgbm90IGJlIG1vZGlmaWVkLCB3aGVuIHRoZSBjYWxsYmFjayBpcyBuZWVkZWQsCisgIHRoZSBIQUxfRVRIX1R4Q3BsdENhbGxiYWNrIGNvdWxkIGJlIGltcGxlbWVudGVkIGluIHRoZSB1c2VyIGZpbGUKKyAgKi8KK30KKworLyoqCisgICogQGJyaWVmICBFdGhlcm5ldCB0cmFuc2ZlciBlcnJvciBjYWxsYmFja3MKKyAgKiBAcGFyYW0gIGhldGggcG9pbnRlciB0byBhIEVUSF9IYW5kbGVUeXBlRGVmIHN0cnVjdHVyZSB0aGF0IGNvbnRhaW5zCisgICogICAgICAgICB0aGUgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbiBmb3IgRVRIRVJORVQgbW9kdWxlCisgICogQHJldHZhbCBOb25lCisgICovCitfX3dlYWsgdm9pZCBIQUxfRVRIX0Vycm9yQ2FsbGJhY2soRVRIX0hhbmRsZVR5cGVEZWYgKmhldGgpCit7CisgIC8qIFByZXZlbnQgdW51c2VkIGFyZ3VtZW50KHMpIGNvbXBpbGF0aW9uIHdhcm5pbmcgKi8KKyAgVU5VU0VEKGhldGgpOworICAvKiBOT1RFIDogVGhpcyBmdW5jdGlvbiBTaG91bGQgbm90IGJlIG1vZGlmaWVkLCB3aGVuIHRoZSBjYWxsYmFjayBpcyBuZWVkZWQsCisgIHRoZSBIQUxfRVRIX1R4Q3BsdENhbGxiYWNrIGNvdWxkIGJlIGltcGxlbWVudGVkIGluIHRoZSB1c2VyIGZpbGUKKyAgKi8KK30KKworLyoqCisgICogQGJyaWVmICBSZWFkcyBhIFBIWSByZWdpc3RlcgorICAqIEBwYXJhbSAgaGV0aCBwb2ludGVyIHRvIGEgRVRIX0hhbmRsZVR5cGVEZWYgc3RydWN0dXJlIHRoYXQgY29udGFpbnMKKyAgKiAgICAgICAgIHRoZSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIGZvciBFVEhFUk5FVCBtb2R1bGUKKyAgKiBAcGFyYW0gUEhZUmVnIFBIWSByZWdpc3RlciBhZGRyZXNzLCBpcyB0aGUgaW5kZXggb2Ygb25lIG9mIHRoZSAzMiBQSFkgcmVnaXN0ZXIuCisgICogICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIG9uZSBvZiB0aGUgZm9sbG93aW5nIHZhbHVlczoKKyAgKiAgICAgICAgICAgICAgICAgICBQSFlfQkNSOiBUcmFuc2NlaXZlciBCYXNpYyBDb250cm9sIFJlZ2lzdGVyLAorICAqICAgICAgICAgICAgICAgICAgIFBIWV9CU1I6IFRyYW5zY2VpdmVyIEJhc2ljIFN0YXR1cyBSZWdpc3Rlci4KKyAgKiAgICAgICAgICAgICAgICAgICBNb3JlIFBIWSByZWdpc3RlciBjb3VsZCBiZSByZWFkIGRlcGVuZGluZyBvbiB0aGUgdXNlZCBQSFkKKyAgKiBAcGFyYW0gUmVnVmFsdWUgUEhZIHJlZ2lzdGVyIHZhbHVlCisgICogQHJldHZhbCBIQUwgc3RhdHVzCisgICovCitIQUxfU3RhdHVzVHlwZURlZiBIQUxfRVRIX1JlYWRQSFlSZWdpc3RlcihFVEhfSGFuZGxlVHlwZURlZiAqaGV0aCwgdWludDE2X3QgUEhZUmVnLCB1aW50MzJfdCAqUmVnVmFsdWUpCit7CisgIHVpbnQzMl90IHRtcHJlZzEgPSAwVTsKKyAgdWludDMyX3QgdGlja3N0YXJ0ID0gMFU7CisKKyAgLyogQ2hlY2sgcGFyYW1ldGVycyAqLworICBhc3NlcnRfcGFyYW0oSVNfRVRIX1BIWV9BRERSRVNTKGhldGgtPkluaXQuUGh5QWRkcmVzcykpOworCisgIC8qIENoZWNrIHRoZSBFVEggcGVyaXBoZXJhbCBzdGF0ZSAqLworICBpZihoZXRoLT5TdGF0ZSA9PSBIQUxfRVRIX1NUQVRFX0JVU1lfUkQpCisgIHsKKyAgICByZXR1cm4gSEFMX0JVU1k7CisgIH0KKyAgLyogU2V0IEVUSCBIQUwgU3RhdGUgdG8gQlVTWV9SRCAqLworICBoZXRoLT5TdGF0ZSA9IEhBTF9FVEhfU1RBVEVfQlVTWV9SRDsKKworICAvKiBHZXQgdGhlIEVUSEVSTkVUIE1BQ01JSUFSIHZhbHVlICovCisgIHRtcHJlZzEgPSBoZXRoLT5JbnN0YW5jZS0+TUFDTUlJQVI7CisKKyAgLyogS2VlcCBvbmx5IHRoZSBDU1IgQ2xvY2sgUmFuZ2UgQ1JbMjowXSBiaXRzIHZhbHVlICovCisgIHRtcHJlZzEgJj0gfkVUSF9NQUNNSUlBUl9DUl9NQVNLOworCisgIC8qIFByZXBhcmUgdGhlIE1JSSBhZGRyZXNzIHJlZ2lzdGVyIHZhbHVlICovCisgIHRtcHJlZzEgfD0oKCh1aW50MzJfdCloZXRoLT5Jbml0LlBoeUFkZHJlc3MgPDwgMTFVKSAmIEVUSF9NQUNNSUlBUl9QQSk7IC8qIFNldCB0aGUgUEhZIGRldmljZSBhZGRyZXNzICAgKi8KKyAgdG1wcmVnMSB8PSgoKHVpbnQzMl90KVBIWVJlZzw8NlUpICYgRVRIX01BQ01JSUFSX01SKTsgICAgICAgICAgICAgICAgICAgLyogU2V0IHRoZSBQSFkgcmVnaXN0ZXIgYWRkcmVzcyAqLworICB0bXByZWcxICY9IH5FVEhfTUFDTUlJQVJfTVc7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBTZXQgdGhlIHJlYWQgbW9kZSAgICAgICAgICAgICovCisgIHRtcHJlZzEgfD0gRVRIX01BQ01JSUFSX01COyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIFNldCB0aGUgTUlJIEJ1c3kgYml0ICAgICAgICAgKi8KKworICAvKiBXcml0ZSB0aGUgcmVzdWx0IHZhbHVlIGludG8gdGhlIE1JSSBBZGRyZXNzIHJlZ2lzdGVyICovCisgIGhldGgtPkluc3RhbmNlLT5NQUNNSUlBUiA9IHRtcHJlZzE7CisKKyAgLyogR2V0IHRpY2sgKi8KKyAgdGlja3N0YXJ0ID0gSEFMX0dldFRpY2soKTsKKworICAvKiBDaGVjayBmb3IgdGhlIEJ1c3kgZmxhZyAqLworICB3aGlsZSgodG1wcmVnMSAmIEVUSF9NQUNNSUlBUl9NQikgPT0gRVRIX01BQ01JSUFSX01CKQorICB7CisgICAgLyogQ2hlY2sgZm9yIHRoZSBUaW1lb3V0ICovCisgICAgaWYoKEhBTF9HZXRUaWNrKCkgLSB0aWNrc3RhcnQgKSA+IFBIWV9SRUFEX1RPKQorICAgIHsKKyAgICAgIGhldGgtPlN0YXRlPSBIQUxfRVRIX1NUQVRFX1JFQURZOworCisgICAgICAvKiBQcm9jZXNzIFVubG9ja2VkICovCisgICAgICBfX0hBTF9VTkxPQ0soaGV0aCk7CisKKyAgICAgIHJldHVybiBIQUxfVElNRU9VVDsKKyAgICB9CisKKyAgICB0bXByZWcxID0gaGV0aC0+SW5zdGFuY2UtPk1BQ01JSUFSOworICB9CisKKyAgLyogR2V0IE1BQ01JSURSIHZhbHVlICovCisgICpSZWdWYWx1ZSA9ICh1aW50MTZfdCkoaGV0aC0+SW5zdGFuY2UtPk1BQ01JSURSKTsKKworICAvKiBTZXQgRVRIIEhBTCBTdGF0ZSB0byBSRUFEWSAqLworICBoZXRoLT5TdGF0ZSA9IEhBTF9FVEhfU1RBVEVfUkVBRFk7CisKKyAgLyogUmV0dXJuIGZ1bmN0aW9uIHN0YXR1cyAqLworICByZXR1cm4gSEFMX09LOworfQorCisvKioKKyAgKiBAYnJpZWYgIFdyaXRlcyB0byBhIFBIWSByZWdpc3Rlci4KKyAgKiBAcGFyYW0gIGhldGggcG9pbnRlciB0byBhIEVUSF9IYW5kbGVUeXBlRGVmIHN0cnVjdHVyZSB0aGF0IGNvbnRhaW5zCisgICogICAgICAgICB0aGUgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbiBmb3IgRVRIRVJORVQgbW9kdWxlCisgICogQHBhcmFtICBQSFlSZWcgUEhZIHJlZ2lzdGVyIGFkZHJlc3MsIGlzIHRoZSBpbmRleCBvZiBvbmUgb2YgdGhlIDMyIFBIWSByZWdpc3Rlci4KKyAgKiAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgb25lIG9mIHRoZSBmb2xsb3dpbmcgdmFsdWVzOgorICAqICAgICAgICAgICAgIFBIWV9CQ1I6IFRyYW5zY2VpdmVyIENvbnRyb2wgUmVnaXN0ZXIuCisgICogICAgICAgICAgICAgTW9yZSBQSFkgcmVnaXN0ZXIgY291bGQgYmUgd3JpdHRlbiBkZXBlbmRpbmcgb24gdGhlIHVzZWQgUEhZCisgICogQHBhcmFtICBSZWdWYWx1ZSB0aGUgdmFsdWUgdG8gd3JpdGUKKyAgKiBAcmV0dmFsIEhBTCBzdGF0dXMKKyAgKi8KK0hBTF9TdGF0dXNUeXBlRGVmIEhBTF9FVEhfV3JpdGVQSFlSZWdpc3RlcihFVEhfSGFuZGxlVHlwZURlZiAqaGV0aCwgdWludDE2X3QgUEhZUmVnLCB1aW50MzJfdCBSZWdWYWx1ZSkKK3sKKyAgdWludDMyX3QgdG1wcmVnMSA9IDBVOworICB1aW50MzJfdCB0aWNrc3RhcnQgPSAwVTsKKworICAvKiBDaGVjayBwYXJhbWV0ZXJzICovCisgIGFzc2VydF9wYXJhbShJU19FVEhfUEhZX0FERFJFU1MoaGV0aC0+SW5pdC5QaHlBZGRyZXNzKSk7CisKKyAgLyogQ2hlY2sgdGhlIEVUSCBwZXJpcGhlcmFsIHN0YXRlICovCisgIGlmKGhldGgtPlN0YXRlID09IEhBTF9FVEhfU1RBVEVfQlVTWV9XUikKKyAgeworICAgIHJldHVybiBIQUxfQlVTWTsKKyAgfQorICAvKiBTZXQgRVRIIEhBTCBTdGF0ZSB0byBCVVNZX1dSICovCisgIGhldGgtPlN0YXRlID0gSEFMX0VUSF9TVEFURV9CVVNZX1dSOworCisgIC8qIEdldCB0aGUgRVRIRVJORVQgTUFDTUlJQVIgdmFsdWUgKi8KKyAgdG1wcmVnMSA9IGhldGgtPkluc3RhbmNlLT5NQUNNSUlBUjsKKworICAvKiBLZWVwIG9ubHkgdGhlIENTUiBDbG9jayBSYW5nZSBDUlsyOjBdIGJpdHMgdmFsdWUgKi8KKyAgdG1wcmVnMSAmPSB+RVRIX01BQ01JSUFSX0NSX01BU0s7CisKKyAgLyogUHJlcGFyZSB0aGUgTUlJIHJlZ2lzdGVyIGFkZHJlc3MgdmFsdWUgKi8KKyAgdG1wcmVnMSB8PSgoKHVpbnQzMl90KWhldGgtPkluaXQuUGh5QWRkcmVzczw8MTFVKSAmIEVUSF9NQUNNSUlBUl9QQSk7IC8qIFNldCB0aGUgUEhZIGRldmljZSBhZGRyZXNzICovCisgIHRtcHJlZzEgfD0oKCh1aW50MzJfdClQSFlSZWc8PDZVKSAmIEVUSF9NQUNNSUlBUl9NUik7ICAgICAgICAgICAgICAgICAvKiBTZXQgdGhlIFBIWSByZWdpc3RlciBhZGRyZXNzICovCisgIHRtcHJlZzEgfD0gRVRIX01BQ01JSUFSX01XOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBTZXQgdGhlIHdyaXRlIG1vZGUgKi8KKyAgdG1wcmVnMSB8PSBFVEhfTUFDTUlJQVJfTUI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIFNldCB0aGUgTUlJIEJ1c3kgYml0ICovCisKKyAgLyogR2l2ZSB0aGUgdmFsdWUgdG8gdGhlIE1JSSBkYXRhIHJlZ2lzdGVyICovCisgIGhldGgtPkluc3RhbmNlLT5NQUNNSUlEUiA9ICh1aW50MTZfdClSZWdWYWx1ZTsKKworICAvKiBXcml0ZSB0aGUgcmVzdWx0IHZhbHVlIGludG8gdGhlIE1JSSBBZGRyZXNzIHJlZ2lzdGVyICovCisgIGhldGgtPkluc3RhbmNlLT5NQUNNSUlBUiA9IHRtcHJlZzE7CisKKyAgLyogR2V0IHRpY2sgKi8KKyAgdGlja3N0YXJ0ID0gSEFMX0dldFRpY2soKTsKKworICAvKiBDaGVjayBmb3IgdGhlIEJ1c3kgZmxhZyAqLworICB3aGlsZSgodG1wcmVnMSAmIEVUSF9NQUNNSUlBUl9NQikgPT0gRVRIX01BQ01JSUFSX01CKQorICB7CisgICAgLyogQ2hlY2sgZm9yIHRoZSBUaW1lb3V0ICovCisgICAgaWYoKEhBTF9HZXRUaWNrKCkgLSB0aWNrc3RhcnQgKSA+IFBIWV9XUklURV9UTykKKyAgICB7CisgICAgICBoZXRoLT5TdGF0ZT0gSEFMX0VUSF9TVEFURV9SRUFEWTsKKworICAgICAgLyogUHJvY2VzcyBVbmxvY2tlZCAqLworICAgICAgX19IQUxfVU5MT0NLKGhldGgpOworCisgICAgICByZXR1cm4gSEFMX1RJTUVPVVQ7CisgICAgfQorCisgICAgdG1wcmVnMSA9IGhldGgtPkluc3RhbmNlLT5NQUNNSUlBUjsKKyAgfQorCisgIC8qIFNldCBFVEggSEFMIFN0YXRlIHRvIFJFQURZICovCisgIGhldGgtPlN0YXRlID0gSEFMX0VUSF9TVEFURV9SRUFEWTsKKworICAvKiBSZXR1cm4gZnVuY3Rpb24gc3RhdHVzICovCisgIHJldHVybiBIQUxfT0s7Cit9CisKKy8qKgorICAqIEB9CisgICovCisKKy8qKiBAZGVmZ3JvdXAgRVRIX0V4cG9ydGVkX0Z1bmN0aW9uc19Hcm91cDMgUGVyaXBoZXJhbCBDb250cm9sIGZ1bmN0aW9ucworICogIEBicmllZiAgICBQZXJpcGhlcmFsIENvbnRyb2wgZnVuY3Rpb25zCisgKgorQHZlcmJhdGltCisgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorICAgICAgICAgICAgICAgICAgIyMjIyMgUGVyaXBoZXJhbCBDb250cm9sIGZ1bmN0aW9ucyAjIyMjIworID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyAgICBbLi5dICBUaGlzIHNlY3Rpb24gcHJvdmlkZXMgZnVuY3Rpb25zIGFsbG93aW5nIHRvOgorICAgICAgKCspIEVuYWJsZSBNQUMgYW5kIERNQSB0cmFuc21pc3Npb24gYW5kIHJlY2VwdGlvbi4KKyAgICAgICAgICBIQUxfRVRIX1N0YXJ0KCk7CisgICAgICAoKykgRGlzYWJsZSBNQUMgYW5kIERNQSB0cmFuc21pc3Npb24gYW5kIHJlY2VwdGlvbi4KKyAgICAgICAgICBIQUxfRVRIX1N0b3AoKTsKKyAgICAgICgrKSBTZXQgdGhlIE1BQyBjb25maWd1cmF0aW9uIGluIHJ1bnRpbWUgbW9kZQorICAgICAgICAgIEhBTF9FVEhfQ29uZmlnTUFDKCk7CisgICAgICAoKykgU2V0IHRoZSBETUEgY29uZmlndXJhdGlvbiBpbiBydW50aW1lIG1vZGUKKyAgICAgICAgICBIQUxfRVRIX0NvbmZpZ0RNQSgpOworCitAZW5kdmVyYmF0aW0KKyAgKiBAeworICAqLworCisgLyoqCisgICogQGJyaWVmICBFbmFibGVzIEV0aGVybmV0IE1BQyBhbmQgRE1BIHJlY2VwdGlvbi90cmFuc21pc3Npb24KKyAgKiBAcGFyYW0gIGhldGggcG9pbnRlciB0byBhIEVUSF9IYW5kbGVUeXBlRGVmIHN0cnVjdHVyZSB0aGF0IGNvbnRhaW5zCisgICogICAgICAgICB0aGUgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbiBmb3IgRVRIRVJORVQgbW9kdWxlCisgICogQHJldHZhbCBIQUwgc3RhdHVzCisgICovCitIQUxfU3RhdHVzVHlwZURlZiBIQUxfRVRIX1N0YXJ0KEVUSF9IYW5kbGVUeXBlRGVmICpoZXRoKQoreworICAvKiBQcm9jZXNzIExvY2tlZCAqLworICBfX0hBTF9MT0NLKGhldGgpOworCisgIC8qIFNldCB0aGUgRVRIIHBlcmlwaGVyYWwgc3RhdGUgdG8gQlVTWSAqLworICBoZXRoLT5TdGF0ZSA9IEhBTF9FVEhfU1RBVEVfQlVTWTsKKworICAvKiBFbmFibGUgdHJhbnNtaXQgc3RhdGUgbWFjaGluZSBvZiB0aGUgTUFDIGZvciB0cmFuc21pc3Npb24gb24gdGhlIE1JSSAqLworICBFVEhfTUFDVHJhbnNtaXNzaW9uRW5hYmxlKGhldGgpOworCisgIC8qIEVuYWJsZSByZWNlaXZlIHN0YXRlIG1hY2hpbmUgb2YgdGhlIE1BQyBmb3IgcmVjZXB0aW9uIGZyb20gdGhlIE1JSSAqLworICBFVEhfTUFDUmVjZXB0aW9uRW5hYmxlKGhldGgpOworCisgIC8qIEZsdXNoIFRyYW5zbWl0IEZJRk8gKi8KKyAgRVRIX0ZsdXNoVHJhbnNtaXRGSUZPKGhldGgpOworCisgIC8qIFN0YXJ0IERNQSB0cmFuc21pc3Npb24gKi8KKyAgRVRIX0RNQVRyYW5zbWlzc2lvbkVuYWJsZShoZXRoKTsKKworICAvKiBTdGFydCBETUEgcmVjZXB0aW9uICovCisgIEVUSF9ETUFSZWNlcHRpb25FbmFibGUoaGV0aCk7CisKKyAgLyogU2V0IHRoZSBFVEggc3RhdGUgdG8gUkVBRFkqLworICBoZXRoLT5TdGF0ZT0gSEFMX0VUSF9TVEFURV9SRUFEWTsKKworICAvKiBQcm9jZXNzIFVubG9ja2VkICovCisgIF9fSEFMX1VOTE9DSyhoZXRoKTsKKworICAvKiBSZXR1cm4gZnVuY3Rpb24gc3RhdHVzICovCisgIHJldHVybiBIQUxfT0s7Cit9CisKKy8qKgorICAqIEBicmllZiAgU3RvcCBFdGhlcm5ldCBNQUMgYW5kIERNQSByZWNlcHRpb24vdHJhbnNtaXNzaW9uCisgICogQHBhcmFtICBoZXRoIHBvaW50ZXIgdG8gYSBFVEhfSGFuZGxlVHlwZURlZiBzdHJ1Y3R1cmUgdGhhdCBjb250YWlucworICAqICAgICAgICAgdGhlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gZm9yIEVUSEVSTkVUIG1vZHVsZQorICAqIEByZXR2YWwgSEFMIHN0YXR1cworICAqLworSEFMX1N0YXR1c1R5cGVEZWYgSEFMX0VUSF9TdG9wKEVUSF9IYW5kbGVUeXBlRGVmICpoZXRoKQoreworICAvKiBQcm9jZXNzIExvY2tlZCAqLworICBfX0hBTF9MT0NLKGhldGgpOworCisgIC8qIFNldCB0aGUgRVRIIHBlcmlwaGVyYWwgc3RhdGUgdG8gQlVTWSAqLworICBoZXRoLT5TdGF0ZSA9IEhBTF9FVEhfU1RBVEVfQlVTWTsKKworICAvKiBTdG9wIERNQSB0cmFuc21pc3Npb24gKi8KKyAgRVRIX0RNQVRyYW5zbWlzc2lvbkRpc2FibGUoaGV0aCk7CisKKyAgLyogU3RvcCBETUEgcmVjZXB0aW9uICovCisgIEVUSF9ETUFSZWNlcHRpb25EaXNhYmxlKGhldGgpOworCisgIC8qIERpc2FibGUgcmVjZWl2ZSBzdGF0ZSBtYWNoaW5lIG9mIHRoZSBNQUMgZm9yIHJlY2VwdGlvbiBmcm9tIHRoZSBNSUkgKi8KKyAgRVRIX01BQ1JlY2VwdGlvbkRpc2FibGUoaGV0aCk7CisKKyAgLyogRmx1c2ggVHJhbnNtaXQgRklGTyAqLworICBFVEhfRmx1c2hUcmFuc21pdEZJRk8oaGV0aCk7CisKKyAgLyogRGlzYWJsZSB0cmFuc21pdCBzdGF0ZSBtYWNoaW5lIG9mIHRoZSBNQUMgZm9yIHRyYW5zbWlzc2lvbiBvbiB0aGUgTUlJICovCisgIEVUSF9NQUNUcmFuc21pc3Npb25EaXNhYmxlKGhldGgpOworCisgIC8qIFNldCB0aGUgRVRIIHN0YXRlKi8KKyAgaGV0aC0+U3RhdGUgPSBIQUxfRVRIX1NUQVRFX1JFQURZOworCisgIC8qIFByb2Nlc3MgVW5sb2NrZWQgKi8KKyAgX19IQUxfVU5MT0NLKGhldGgpOworCisgIC8qIFJldHVybiBmdW5jdGlvbiBzdGF0dXMgKi8KKyAgcmV0dXJuIEhBTF9PSzsKK30KKworLyoqCisgICogQGJyaWVmICBTZXQgRVRIIE1BQyBDb25maWd1cmF0aW9uLgorICAqIEBwYXJhbSAgaGV0aCBwb2ludGVyIHRvIGEgRVRIX0hhbmRsZVR5cGVEZWYgc3RydWN0dXJlIHRoYXQgY29udGFpbnMKKyAgKiAgICAgICAgIHRoZSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIGZvciBFVEhFUk5FVCBtb2R1bGUKKyAgKiBAcGFyYW0gIG1hY2NvbmYgTUFDIENvbmZpZ3VyYXRpb24gc3RydWN0dXJlCisgICogQHJldHZhbCBIQUwgc3RhdHVzCisgICovCitIQUxfU3RhdHVzVHlwZURlZiBIQUxfRVRIX0NvbmZpZ01BQyhFVEhfSGFuZGxlVHlwZURlZiAqaGV0aCwgRVRIX01BQ0luaXRUeXBlRGVmICptYWNjb25mKQoreworICB1aW50MzJfdCB0bXByZWcxID0gMFU7CisKKyAgLyogUHJvY2VzcyBMb2NrZWQgKi8KKyAgX19IQUxfTE9DSyhoZXRoKTsKKworICAvKiBTZXQgdGhlIEVUSCBwZXJpcGhlcmFsIHN0YXRlIHRvIEJVU1kgKi8KKyAgaGV0aC0+U3RhdGU9IEhBTF9FVEhfU1RBVEVfQlVTWTsKKworICBhc3NlcnRfcGFyYW0oSVNfRVRIX1NQRUVEKGhldGgtPkluaXQuU3BlZWQpKTsKKyAgYXNzZXJ0X3BhcmFtKElTX0VUSF9EVVBMRVhfTU9ERShoZXRoLT5Jbml0LkR1cGxleE1vZGUpKTsKKworICBpZiAobWFjY29uZiAhPSBOVUxMKQorICB7CisgICAgLyogQ2hlY2sgdGhlIHBhcmFtZXRlcnMgKi8KKyAgICBhc3NlcnRfcGFyYW0oSVNfRVRIX1dBVENIRE9HKG1hY2NvbmYtPldhdGNoZG9nKSk7CisgICAgYXNzZXJ0X3BhcmFtKElTX0VUSF9KQUJCRVIobWFjY29uZi0+SmFiYmVyKSk7CisgICAgYXNzZXJ0X3BhcmFtKElTX0VUSF9JTlRFUl9GUkFNRV9HQVAobWFjY29uZi0+SW50ZXJGcmFtZUdhcCkpOworICAgIGFzc2VydF9wYXJhbShJU19FVEhfQ0FSUklFUl9TRU5TRShtYWNjb25mLT5DYXJyaWVyU2Vuc2UpKTsKKyAgICBhc3NlcnRfcGFyYW0oSVNfRVRIX1JFQ0VJVkVfT1dOKG1hY2NvbmYtPlJlY2VpdmVPd24pKTsKKyAgICBhc3NlcnRfcGFyYW0oSVNfRVRIX0xPT1BCQUNLX01PREUobWFjY29uZi0+TG9vcGJhY2tNb2RlKSk7CisgICAgYXNzZXJ0X3BhcmFtKElTX0VUSF9DSEVDS1NVTV9PRkZMT0FEKG1hY2NvbmYtPkNoZWNrc3VtT2ZmbG9hZCkpOworICAgIGFzc2VydF9wYXJhbShJU19FVEhfUkVUUllfVFJBTlNNSVNTSU9OKG1hY2NvbmYtPlJldHJ5VHJhbnNtaXNzaW9uKSk7CisgICAgYXNzZXJ0X3BhcmFtKElTX0VUSF9BVVRPTUFUSUNfUEFEQ1JDX1NUUklQKG1hY2NvbmYtPkF1dG9tYXRpY1BhZENSQ1N0cmlwKSk7CisgICAgYXNzZXJ0X3BhcmFtKElTX0VUSF9CQUNLT0ZGX0xJTUlUKG1hY2NvbmYtPkJhY2tPZmZMaW1pdCkpOworICAgIGFzc2VydF9wYXJhbShJU19FVEhfREVGRVJSQUxfQ0hFQ0sobWFjY29uZi0+RGVmZXJyYWxDaGVjaykpOworICAgIGFzc2VydF9wYXJhbShJU19FVEhfUkVDRUlWRV9BTEwobWFjY29uZi0+UmVjZWl2ZUFsbCkpOworICAgIGFzc2VydF9wYXJhbShJU19FVEhfU09VUkNFX0FERFJfRklMVEVSKG1hY2NvbmYtPlNvdXJjZUFkZHJGaWx0ZXIpKTsKKyAgICBhc3NlcnRfcGFyYW0oSVNfRVRIX0NPTlRST0xfRlJBTUVTKG1hY2NvbmYtPlBhc3NDb250cm9sRnJhbWVzKSk7CisgICAgYXNzZXJ0X3BhcmFtKElTX0VUSF9CUk9BRENBU1RfRlJBTUVTX1JFQ0VQVElPTihtYWNjb25mLT5Ccm9hZGNhc3RGcmFtZXNSZWNlcHRpb24pKTsKKyAgICBhc3NlcnRfcGFyYW0oSVNfRVRIX0RFU1RJTkFUSU9OX0FERFJfRklMVEVSKG1hY2NvbmYtPkRlc3RpbmF0aW9uQWRkckZpbHRlcikpOworICAgIGFzc2VydF9wYXJhbShJU19FVEhfUFJPTUlTQ1VPVVNfTU9ERShtYWNjb25mLT5Qcm9taXNjdW91c01vZGUpKTsKKyAgICBhc3NlcnRfcGFyYW0oSVNfRVRIX01VTFRJQ0FTVF9GUkFNRVNfRklMVEVSKG1hY2NvbmYtPk11bHRpY2FzdEZyYW1lc0ZpbHRlcikpOworICAgIGFzc2VydF9wYXJhbShJU19FVEhfVU5JQ0FTVF9GUkFNRVNfRklMVEVSKG1hY2NvbmYtPlVuaWNhc3RGcmFtZXNGaWx0ZXIpKTsKKyAgICBhc3NlcnRfcGFyYW0oSVNfRVRIX1BBVVNFX1RJTUUobWFjY29uZi0+UGF1c2VUaW1lKSk7CisgICAgYXNzZXJ0X3BhcmFtKElTX0VUSF9aRVJPUVVBTlRBX1BBVVNFKG1hY2NvbmYtPlplcm9RdWFudGFQYXVzZSkpOworICAgIGFzc2VydF9wYXJhbShJU19FVEhfUEFVU0VfTE9XX1RIUkVTSE9MRChtYWNjb25mLT5QYXVzZUxvd1RocmVzaG9sZCkpOworICAgIGFzc2VydF9wYXJhbShJU19FVEhfVU5JQ0FTVF9QQVVTRV9GUkFNRV9ERVRFQ1QobWFjY29uZi0+VW5pY2FzdFBhdXNlRnJhbWVEZXRlY3QpKTsKKyAgICBhc3NlcnRfcGFyYW0oSVNfRVRIX1JFQ0VJVkVfRkxPV0NPTlRST0wobWFjY29uZi0+UmVjZWl2ZUZsb3dDb250cm9sKSk7CisgICAgYXNzZXJ0X3BhcmFtKElTX0VUSF9UUkFOU01JVF9GTE9XQ09OVFJPTChtYWNjb25mLT5UcmFuc21pdEZsb3dDb250cm9sKSk7CisgICAgYXNzZXJ0X3BhcmFtKElTX0VUSF9WTEFOX1RBR19DT01QQVJJU09OKG1hY2NvbmYtPlZMQU5UYWdDb21wYXJpc29uKSk7CisgICAgYXNzZXJ0X3BhcmFtKElTX0VUSF9WTEFOX1RBR19JREVOVElGSUVSKG1hY2NvbmYtPlZMQU5UYWdJZGVudGlmaWVyKSk7CisKKyAgICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBFVEhFUk5FVCBNQUNDUiBDb25maWd1cmF0aW9uIC0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKyAgICAvKiBHZXQgdGhlIEVUSEVSTkVUIE1BQ0NSIHZhbHVlICovCisgICAgdG1wcmVnMSA9IChoZXRoLT5JbnN0YW5jZSktPk1BQ0NSOworICAgIC8qIENsZWFyIFdELCBQQ0UsIFBTLCBURSBhbmQgUkUgYml0cyAqLworICAgIHRtcHJlZzEgJj0gRVRIX01BQ0NSX0NMRUFSX01BU0s7CisKKyAgICB0bXByZWcxIHw9ICh1aW50MzJfdCkobWFjY29uZi0+V2F0Y2hkb2cgfAorICAgICAgICAgICAgICAgICAgICAgICAgIG1hY2NvbmYtPkphYmJlciB8CisgICAgICAgICAgICAgICAgICAgICAgICAgbWFjY29uZi0+SW50ZXJGcmFtZUdhcCB8CisgICAgICAgICAgICAgICAgICAgICAgICAgbWFjY29uZi0+Q2FycmllclNlbnNlIHwKKyAgICAgICAgICAgICAgICAgICAgICAgICAoaGV0aC0+SW5pdCkuU3BlZWQgfAorICAgICAgICAgICAgICAgICAgICAgICAgIG1hY2NvbmYtPlJlY2VpdmVPd24gfAorICAgICAgICAgICAgICAgICAgICAgICAgIG1hY2NvbmYtPkxvb3BiYWNrTW9kZSB8CisgICAgICAgICAgICAgICAgICAgICAgICAgKGhldGgtPkluaXQpLkR1cGxleE1vZGUgfAorICAgICAgICAgICAgICAgICAgICAgICAgIG1hY2NvbmYtPkNoZWNrc3VtT2ZmbG9hZCB8CisgICAgICAgICAgICAgICAgICAgICAgICAgbWFjY29uZi0+UmV0cnlUcmFuc21pc3Npb24gfAorICAgICAgICAgICAgICAgICAgICAgICAgIG1hY2NvbmYtPkF1dG9tYXRpY1BhZENSQ1N0cmlwIHwKKyAgICAgICAgICAgICAgICAgICAgICAgICBtYWNjb25mLT5CYWNrT2ZmTGltaXQgfAorICAgICAgICAgICAgICAgICAgICAgICAgIG1hY2NvbmYtPkRlZmVycmFsQ2hlY2spOworCisgICAgLyogV3JpdGUgdG8gRVRIRVJORVQgTUFDQ1IgKi8KKyAgICAoaGV0aC0+SW5zdGFuY2UpLT5NQUNDUiA9ICh1aW50MzJfdCl0bXByZWcxOworCisgICAgLyogV2FpdCB1bnRpbCB0aGUgd3JpdGUgb3BlcmF0aW9uIHdpbGwgYmUgdGFrZW4gaW50byBhY2NvdW50IDoKKyAgICBhdCBsZWFzdCBmb3VyIFRYX0NMSy9SWF9DTEsgY2xvY2sgY3ljbGVzICovCisgICAgdG1wcmVnMSA9IChoZXRoLT5JbnN0YW5jZSktPk1BQ0NSOworICAgIEhBTF9EZWxheShFVEhfUkVHX1dSSVRFX0RFTEFZKTsKKyAgICAoaGV0aC0+SW5zdGFuY2UpLT5NQUNDUiA9IHRtcHJlZzE7CisKKyAgICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIEVUSEVSTkVUIE1BQ0ZGUiBDb25maWd1cmF0aW9uIC0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKyAgICAvKiBXcml0ZSB0byBFVEhFUk5FVCBNQUNGRlIgKi8KKyAgICAoaGV0aC0+SW5zdGFuY2UpLT5NQUNGRlIgPSAodWludDMyX3QpKG1hY2NvbmYtPlJlY2VpdmVBbGwgfAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFjY29uZi0+U291cmNlQWRkckZpbHRlciB8CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWNjb25mLT5QYXNzQ29udHJvbEZyYW1lcyB8CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWNjb25mLT5Ccm9hZGNhc3RGcmFtZXNSZWNlcHRpb24gfAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFjY29uZi0+RGVzdGluYXRpb25BZGRyRmlsdGVyIHwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hY2NvbmYtPlByb21pc2N1b3VzTW9kZSB8CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWNjb25mLT5NdWx0aWNhc3RGcmFtZXNGaWx0ZXIgfAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFjY29uZi0+VW5pY2FzdEZyYW1lc0ZpbHRlcik7CisKKyAgICAgLyogV2FpdCB1bnRpbCB0aGUgd3JpdGUgb3BlcmF0aW9uIHdpbGwgYmUgdGFrZW4gaW50byBhY2NvdW50IDoKKyAgICAgYXQgbGVhc3QgZm91ciBUWF9DTEsvUlhfQ0xLIGNsb2NrIGN5Y2xlcyAqLworICAgICB0bXByZWcxID0gKGhldGgtPkluc3RhbmNlKS0+TUFDRkZSOworICAgICBIQUxfRGVsYXkoRVRIX1JFR19XUklURV9ERUxBWSk7CisgICAgIChoZXRoLT5JbnN0YW5jZSktPk1BQ0ZGUiA9IHRtcHJlZzE7CisKKyAgICAgLyotLS0tLS0tLS0tLS0tLS0gRVRIRVJORVQgTUFDSFRIUiBhbmQgTUFDSFRMUiBDb25maWd1cmF0aW9uIC0tLS0tLS0tLS0tLS0tLSovCisgICAgIC8qIFdyaXRlIHRvIEVUSEVSTkVUIE1BQ0hUSFIgKi8KKyAgICAgKGhldGgtPkluc3RhbmNlKS0+TUFDSFRIUiA9ICh1aW50MzJfdCltYWNjb25mLT5IYXNoVGFibGVIaWdoOworCisgICAgIC8qIFdyaXRlIHRvIEVUSEVSTkVUIE1BQ0hUTFIgKi8KKyAgICAgKGhldGgtPkluc3RhbmNlKS0+TUFDSFRMUiA9ICh1aW50MzJfdCltYWNjb25mLT5IYXNoVGFibGVMb3c7CisgICAgIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gRVRIRVJORVQgTUFDRkNSIENvbmZpZ3VyYXRpb24gLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisgICAgIC8qIEdldCB0aGUgRVRIRVJORVQgTUFDRkNSIHZhbHVlICovCisgICAgIHRtcHJlZzEgPSAoaGV0aC0+SW5zdGFuY2UpLT5NQUNGQ1I7CisgICAgIC8qIENsZWFyIHh4IGJpdHMgKi8KKyAgICAgdG1wcmVnMSAmPSBFVEhfTUFDRkNSX0NMRUFSX01BU0s7CisKKyAgICAgdG1wcmVnMSB8PSAodWludDMyX3QpKChtYWNjb25mLT5QYXVzZVRpbWUgPDwgMTZVKSB8CisgICAgICAgICAgICAgICAgICAgICAgICAgIG1hY2NvbmYtPlplcm9RdWFudGFQYXVzZSB8CisgICAgICAgICAgICAgICAgICAgICAgICAgIG1hY2NvbmYtPlBhdXNlTG93VGhyZXNob2xkIHwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgbWFjY29uZi0+VW5pY2FzdFBhdXNlRnJhbWVEZXRlY3QgfAorICAgICAgICAgICAgICAgICAgICAgICAgICBtYWNjb25mLT5SZWNlaXZlRmxvd0NvbnRyb2wgfAorICAgICAgICAgICAgICAgICAgICAgICAgICBtYWNjb25mLT5UcmFuc21pdEZsb3dDb250cm9sKTsKKworICAgICAvKiBXcml0ZSB0byBFVEhFUk5FVCBNQUNGQ1IgKi8KKyAgICAgKGhldGgtPkluc3RhbmNlKS0+TUFDRkNSID0gKHVpbnQzMl90KXRtcHJlZzE7CisKKyAgICAgLyogV2FpdCB1bnRpbCB0aGUgd3JpdGUgb3BlcmF0aW9uIHdpbGwgYmUgdGFrZW4gaW50byBhY2NvdW50IDoKKyAgICAgYXQgbGVhc3QgZm91ciBUWF9DTEsvUlhfQ0xLIGNsb2NrIGN5Y2xlcyAqLworICAgICB0bXByZWcxID0gKGhldGgtPkluc3RhbmNlKS0+TUFDRkNSOworICAgICBIQUxfRGVsYXkoRVRIX1JFR19XUklURV9ERUxBWSk7CisgICAgIChoZXRoLT5JbnN0YW5jZSktPk1BQ0ZDUiA9IHRtcHJlZzE7CisKKyAgICAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBFVEhFUk5FVCBNQUNWTEFOVFIgQ29uZmlndXJhdGlvbiAtLS0tLS0tLS0tLS0tLS0tLSovCisgICAgIChoZXRoLT5JbnN0YW5jZSktPk1BQ1ZMQU5UUiA9ICh1aW50MzJfdCkobWFjY29uZi0+VkxBTlRhZ0NvbXBhcmlzb24gfAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hY2NvbmYtPlZMQU5UYWdJZGVudGlmaWVyKTsKKworICAgICAgLyogV2FpdCB1bnRpbCB0aGUgd3JpdGUgb3BlcmF0aW9uIHdpbGwgYmUgdGFrZW4gaW50byBhY2NvdW50IDoKKyAgICAgIGF0IGxlYXN0IGZvdXIgVFhfQ0xLL1JYX0NMSyBjbG9jayBjeWNsZXMgKi8KKyAgICAgIHRtcHJlZzEgPSAoaGV0aC0+SW5zdGFuY2UpLT5NQUNWTEFOVFI7CisgICAgICBIQUxfRGVsYXkoRVRIX1JFR19XUklURV9ERUxBWSk7CisgICAgICAoaGV0aC0+SW5zdGFuY2UpLT5NQUNWTEFOVFIgPSB0bXByZWcxOworICB9CisgIGVsc2UgLyogbWFjY29uZiA9PSBOVUxMIDogaGVyZSB3ZSBqdXN0IGNvbmZpZ3VyZSBTcGVlZCBhbmQgRHVwbGV4IG1vZGUgKi8KKyAgeworICAgIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIEVUSEVSTkVUIE1BQ0NSIENvbmZpZ3VyYXRpb24gLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworICAgIC8qIEdldCB0aGUgRVRIRVJORVQgTUFDQ1IgdmFsdWUgKi8KKyAgICB0bXByZWcxID0gKGhldGgtPkluc3RhbmNlKS0+TUFDQ1I7CisKKyAgICAvKiBDbGVhciBGRVMgYW5kIERNIGJpdHMgKi8KKyAgICB0bXByZWcxICY9IH4oMHgwMDAwNDgwMFUpOworCisgICAgdG1wcmVnMSB8PSAodWludDMyX3QpKGhldGgtPkluaXQuU3BlZWQgfCBoZXRoLT5Jbml0LkR1cGxleE1vZGUpOworCisgICAgLyogV3JpdGUgdG8gRVRIRVJORVQgTUFDQ1IgKi8KKyAgICAoaGV0aC0+SW5zdGFuY2UpLT5NQUNDUiA9ICh1aW50MzJfdCl0bXByZWcxOworCisgICAgLyogV2FpdCB1bnRpbCB0aGUgd3JpdGUgb3BlcmF0aW9uIHdpbGwgYmUgdGFrZW4gaW50byBhY2NvdW50OgorICAgIGF0IGxlYXN0IGZvdXIgVFhfQ0xLL1JYX0NMSyBjbG9jayBjeWNsZXMgKi8KKyAgICB0bXByZWcxID0gKGhldGgtPkluc3RhbmNlKS0+TUFDQ1I7CisgICAgSEFMX0RlbGF5KEVUSF9SRUdfV1JJVEVfREVMQVkpOworICAgIChoZXRoLT5JbnN0YW5jZSktPk1BQ0NSID0gdG1wcmVnMTsKKyAgfQorCisgIC8qIFNldCB0aGUgRVRIIHN0YXRlIHRvIFJlYWR5ICovCisgIGhldGgtPlN0YXRlPSBIQUxfRVRIX1NUQVRFX1JFQURZOworCisgIC8qIFByb2Nlc3MgVW5sb2NrZWQgKi8KKyAgX19IQUxfVU5MT0NLKGhldGgpOworCisgIC8qIFJldHVybiBmdW5jdGlvbiBzdGF0dXMgKi8KKyAgcmV0dXJuIEhBTF9PSzsKK30KKworLyoqCisgICogQGJyaWVmICBTZXRzIEVUSCBETUEgQ29uZmlndXJhdGlvbi4KKyAgKiBAcGFyYW0gIGhldGggcG9pbnRlciB0byBhIEVUSF9IYW5kbGVUeXBlRGVmIHN0cnVjdHVyZSB0aGF0IGNvbnRhaW5zCisgICogICAgICAgICB0aGUgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbiBmb3IgRVRIRVJORVQgbW9kdWxlCisgICogQHBhcmFtICBkbWFjb25mIERNQSBDb25maWd1cmF0aW9uIHN0cnVjdHVyZQorICAqIEByZXR2YWwgSEFMIHN0YXR1cworICAqLworSEFMX1N0YXR1c1R5cGVEZWYgSEFMX0VUSF9Db25maWdETUEoRVRIX0hhbmRsZVR5cGVEZWYgKmhldGgsIEVUSF9ETUFJbml0VHlwZURlZiAqZG1hY29uZikKK3sKKyAgdWludDMyX3QgdG1wcmVnMSA9IDBVOworCisgIC8qIFByb2Nlc3MgTG9ja2VkICovCisgIF9fSEFMX0xPQ0soaGV0aCk7CisKKyAgLyogU2V0IHRoZSBFVEggcGVyaXBoZXJhbCBzdGF0ZSB0byBCVVNZICovCisgIGhldGgtPlN0YXRlPSBIQUxfRVRIX1NUQVRFX0JVU1k7CisKKyAgLyogQ2hlY2sgcGFyYW1ldGVycyAqLworICBhc3NlcnRfcGFyYW0oSVNfRVRIX0RST1BfVENQSVBfQ0hFQ0tTVU1fRlJBTUUoZG1hY29uZi0+RHJvcFRDUElQQ2hlY2tzdW1FcnJvckZyYW1lKSk7CisgIGFzc2VydF9wYXJhbShJU19FVEhfUkVDRUlWRV9TVE9SRV9GT1JXQVJEKGRtYWNvbmYtPlJlY2VpdmVTdG9yZUZvcndhcmQpKTsKKyAgYXNzZXJ0X3BhcmFtKElTX0VUSF9GTFVTSF9SRUNFSVZFX0ZSQU1FKGRtYWNvbmYtPkZsdXNoUmVjZWl2ZWRGcmFtZSkpOworICBhc3NlcnRfcGFyYW0oSVNfRVRIX1RSQU5TTUlUX1NUT1JFX0ZPUldBUkQoZG1hY29uZi0+VHJhbnNtaXRTdG9yZUZvcndhcmQpKTsKKyAgYXNzZXJ0X3BhcmFtKElTX0VUSF9UUkFOU01JVF9USFJFU0hPTERfQ09OVFJPTChkbWFjb25mLT5UcmFuc21pdFRocmVzaG9sZENvbnRyb2wpKTsKKyAgYXNzZXJ0X3BhcmFtKElTX0VUSF9GT1JXQVJEX0VSUk9SX0ZSQU1FUyhkbWFjb25mLT5Gb3J3YXJkRXJyb3JGcmFtZXMpKTsKKyAgYXNzZXJ0X3BhcmFtKElTX0VUSF9GT1JXQVJEX1VOREVSU0laRURfR09PRF9GUkFNRVMoZG1hY29uZi0+Rm9yd2FyZFVuZGVyc2l6ZWRHb29kRnJhbWVzKSk7CisgIGFzc2VydF9wYXJhbShJU19FVEhfUkVDRUlWRV9USFJFU0hPTERfQ09OVFJPTChkbWFjb25mLT5SZWNlaXZlVGhyZXNob2xkQ29udHJvbCkpOworICBhc3NlcnRfcGFyYW0oSVNfRVRIX1NFQ09ORF9GUkFNRV9PUEVSQVRFKGRtYWNvbmYtPlNlY29uZEZyYW1lT3BlcmF0ZSkpOworICBhc3NlcnRfcGFyYW0oSVNfRVRIX0FERFJFU1NfQUxJR05FRF9CRUFUUyhkbWFjb25mLT5BZGRyZXNzQWxpZ25lZEJlYXRzKSk7CisgIGFzc2VydF9wYXJhbShJU19FVEhfRklYRURfQlVSU1QoZG1hY29uZi0+Rml4ZWRCdXJzdCkpOworICBhc3NlcnRfcGFyYW0oSVNfRVRIX1JYRE1BX0JVUlNUX0xFTkdUSChkbWFjb25mLT5SeERNQUJ1cnN0TGVuZ3RoKSk7CisgIGFzc2VydF9wYXJhbShJU19FVEhfVFhETUFfQlVSU1RfTEVOR1RIKGRtYWNvbmYtPlR4RE1BQnVyc3RMZW5ndGgpKTsKKyAgYXNzZXJ0X3BhcmFtKElTX0VUSF9FTkhBTkNFRF9ERVNDUklQVE9SX0ZPUk1BVChkbWFjb25mLT5FbmhhbmNlZERlc2NyaXB0b3JGb3JtYXQpKTsKKyAgYXNzZXJ0X3BhcmFtKElTX0VUSF9ETUFfREVTQ19TS0lQX0xFTkdUSChkbWFjb25mLT5EZXNjcmlwdG9yU2tpcExlbmd0aCkpOworICBhc3NlcnRfcGFyYW0oSVNfRVRIX0RNQV9BUkJJVFJBVElPTl9ST1VORFJPQklOX1JYVFgoZG1hY29uZi0+RE1BQXJiaXRyYXRpb24pKTsKKworICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIEVUSEVSTkVUIERNQU9NUiBDb25maWd1cmF0aW9uIC0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKyAgLyogR2V0IHRoZSBFVEhFUk5FVCBETUFPTVIgdmFsdWUgKi8KKyAgdG1wcmVnMSA9IChoZXRoLT5JbnN0YW5jZSktPkRNQU9NUjsKKyAgLyogQ2xlYXIgeHggYml0cyAqLworICB0bXByZWcxICY9IEVUSF9ETUFPTVJfQ0xFQVJfTUFTSzsKKworICB0bXByZWcxIHw9ICh1aW50MzJfdCkoZG1hY29uZi0+RHJvcFRDUElQQ2hlY2tzdW1FcnJvckZyYW1lIHwKKyAgICAgICAgICAgICAgICAgICAgICAgZG1hY29uZi0+UmVjZWl2ZVN0b3JlRm9yd2FyZCB8CisgICAgICAgICAgICAgICAgICAgICAgIGRtYWNvbmYtPkZsdXNoUmVjZWl2ZWRGcmFtZSB8CisgICAgICAgICAgICAgICAgICAgICAgIGRtYWNvbmYtPlRyYW5zbWl0U3RvcmVGb3J3YXJkIHwKKyAgICAgICAgICAgICAgICAgICAgICAgZG1hY29uZi0+VHJhbnNtaXRUaHJlc2hvbGRDb250cm9sIHwKKyAgICAgICAgICAgICAgICAgICAgICAgZG1hY29uZi0+Rm9yd2FyZEVycm9yRnJhbWVzIHwKKyAgICAgICAgICAgICAgICAgICAgICAgZG1hY29uZi0+Rm9yd2FyZFVuZGVyc2l6ZWRHb29kRnJhbWVzIHwKKyAgICAgICAgICAgICAgICAgICAgICAgZG1hY29uZi0+UmVjZWl2ZVRocmVzaG9sZENvbnRyb2wgfAorICAgICAgICAgICAgICAgICAgICAgICBkbWFjb25mLT5TZWNvbmRGcmFtZU9wZXJhdGUpOworCisgIC8qIFdyaXRlIHRvIEVUSEVSTkVUIERNQU9NUiAqLworICAoaGV0aC0+SW5zdGFuY2UpLT5ETUFPTVIgPSAodWludDMyX3QpdG1wcmVnMTsKKworICAvKiBXYWl0IHVudGlsIHRoZSB3cml0ZSBvcGVyYXRpb24gd2lsbCBiZSB0YWtlbiBpbnRvIGFjY291bnQ6CisgIGF0IGxlYXN0IGZvdXIgVFhfQ0xLL1JYX0NMSyBjbG9jayBjeWNsZXMgKi8KKyAgdG1wcmVnMSA9IChoZXRoLT5JbnN0YW5jZSktPkRNQU9NUjsKKyAgSEFMX0RlbGF5KEVUSF9SRUdfV1JJVEVfREVMQVkpOworICAoaGV0aC0+SW5zdGFuY2UpLT5ETUFPTVIgPSB0bXByZWcxOworCisgIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gRVRIRVJORVQgRE1BQk1SIENvbmZpZ3VyYXRpb24gLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworICAoaGV0aC0+SW5zdGFuY2UpLT5ETUFCTVIgPSAodWludDMyX3QpKGRtYWNvbmYtPkFkZHJlc3NBbGlnbmVkQmVhdHMgfAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkbWFjb25mLT5GaXhlZEJ1cnN0IHwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG1hY29uZi0+UnhETUFCdXJzdExlbmd0aCB8IC8qICEhIGlmIDR4UEJMIGlzIHNlbGVjdGVkIGZvciBUeCBvciBSeCBpdCBpcyBhcHBsaWVkIGZvciB0aGUgb3RoZXIgKi8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG1hY29uZi0+VHhETUFCdXJzdExlbmd0aCB8CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRtYWNvbmYtPkVuaGFuY2VkRGVzY3JpcHRvckZvcm1hdCB8CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChkbWFjb25mLT5EZXNjcmlwdG9yU2tpcExlbmd0aCA8PCAyVSkgfAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkbWFjb25mLT5ETUFBcmJpdHJhdGlvbiB8CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVUSF9ETUFCTVJfVVNQKTsgLyogRW5hYmxlIHVzZSBvZiBzZXBhcmF0ZSBQQkwgZm9yIFJ4IGFuZCBUeCAqLworCisgICAvKiBXYWl0IHVudGlsIHRoZSB3cml0ZSBvcGVyYXRpb24gd2lsbCBiZSB0YWtlbiBpbnRvIGFjY291bnQ6CisgICAgICBhdCBsZWFzdCBmb3VyIFRYX0NMSy9SWF9DTEsgY2xvY2sgY3ljbGVzICovCisgICB0bXByZWcxID0gKGhldGgtPkluc3RhbmNlKS0+RE1BQk1SOworICAgSEFMX0RlbGF5KEVUSF9SRUdfV1JJVEVfREVMQVkpOworICAgKGhldGgtPkluc3RhbmNlKS0+RE1BQk1SID0gdG1wcmVnMTsKKworICAgLyogU2V0IHRoZSBFVEggc3RhdGUgdG8gUmVhZHkgKi8KKyAgIGhldGgtPlN0YXRlPSBIQUxfRVRIX1NUQVRFX1JFQURZOworCisgICAvKiBQcm9jZXNzIFVubG9ja2VkICovCisgICBfX0hBTF9VTkxPQ0soaGV0aCk7CisKKyAgIC8qIFJldHVybiBmdW5jdGlvbiBzdGF0dXMgKi8KKyAgIHJldHVybiBIQUxfT0s7Cit9CisKKy8qKgorICAqIEB9CisgICovCisKKy8qKiBAZGVmZ3JvdXAgRVRIX0V4cG9ydGVkX0Z1bmN0aW9uc19Hcm91cDQgUGVyaXBoZXJhbCBTdGF0ZSBmdW5jdGlvbnMKKyAgKiAgQGJyaWVmICAgUGVyaXBoZXJhbCBTdGF0ZSBmdW5jdGlvbnMKKyAgKgorICBAdmVyYmF0aW0KKyAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorICAgICAgICAgICAgICAgICAgICAgICAgICMjIyMjIFBlcmlwaGVyYWwgU3RhdGUgZnVuY3Rpb25zICMjIyMjCisgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyAgWy4uXQorICBUaGlzIHN1YnNlY3Rpb24gcGVybWl0cyB0byBnZXQgaW4gcnVuLXRpbWUgdGhlIHN0YXR1cyBvZiB0aGUgcGVyaXBoZXJhbAorICBhbmQgdGhlIGRhdGEgZmxvdy4KKyAgICAgICAoKykgR2V0IHRoZSBFVEggaGFuZGxlIHN0YXRlOgorICAgICAgICAgICBIQUxfRVRIX0dldFN0YXRlKCk7CisKKworICBAZW5kdmVyYmF0aW0KKyAgKiBAeworICAqLworCisvKioKKyAgKiBAYnJpZWYgIFJldHVybiB0aGUgRVRIIEhBTCBzdGF0ZQorICAqIEBwYXJhbSAgaGV0aCBwb2ludGVyIHRvIGEgRVRIX0hhbmRsZVR5cGVEZWYgc3RydWN0dXJlIHRoYXQgY29udGFpbnMKKyAgKiAgICAgICAgIHRoZSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIGZvciBFVEhFUk5FVCBtb2R1bGUKKyAgKiBAcmV0dmFsIEhBTCBzdGF0ZQorICAqLworSEFMX0VUSF9TdGF0ZVR5cGVEZWYgSEFMX0VUSF9HZXRTdGF0ZShFVEhfSGFuZGxlVHlwZURlZiAqaGV0aCkKK3sKKyAgLyogUmV0dXJuIEVUSCBzdGF0ZSAqLworICByZXR1cm4gaGV0aC0+U3RhdGU7Cit9CisKKy8qKgorICAqIEB9CisgICovCisKKy8qKgorICAqIEB9CisgICovCisKKy8qKiBAYWRkdG9ncm91cCBFVEhfUHJpdmF0ZV9GdW5jdGlvbnMKKyAgKiBAeworICAqLworCisvKioKKyAgKiBAYnJpZWYgIENvbmZpZ3VyZXMgRXRoZXJuZXQgTUFDIGFuZCBETUEgd2l0aCBkZWZhdWx0IHBhcmFtZXRlcnMuCisgICogQHBhcmFtICBoZXRoIHBvaW50ZXIgdG8gYSBFVEhfSGFuZGxlVHlwZURlZiBzdHJ1Y3R1cmUgdGhhdCBjb250YWlucworICAqICAgICAgICAgdGhlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gZm9yIEVUSEVSTkVUIG1vZHVsZQorICAqIEBwYXJhbSAgZXJyIEV0aGVybmV0IEluaXQgZXJyb3IKKyAgKiBAcmV0dmFsIEhBTCBzdGF0dXMKKyAgKi8KK3N0YXRpYyB2b2lkIEVUSF9NQUNETUFDb25maWcoRVRIX0hhbmRsZVR5cGVEZWYgKmhldGgsIHVpbnQzMl90IGVycikKK3sKKyAgRVRIX01BQ0luaXRUeXBlRGVmIG1hY2luaXQ7CisgIEVUSF9ETUFJbml0VHlwZURlZiBkbWFpbml0OworICB1aW50MzJfdCB0bXByZWcxID0gMFU7CisKKyAgaWYgKGVyciAhPSBFVEhfU1VDQ0VTUykgLyogQXV0by1uZWdvdGlhdGlvbiBmYWlsZWQgKi8KKyAgeworICAgIC8qIFNldCBFdGhlcm5ldCBkdXBsZXggbW9kZSB0byBGdWxsLWR1cGxleCAqLworICAgIChoZXRoLT5Jbml0KS5EdXBsZXhNb2RlID0gRVRIX01PREVfRlVMTERVUExFWDsKKworICAgIC8qIFNldCBFdGhlcm5ldCBzcGVlZCB0byAxMDBNICovCisgICAgKGhldGgtPkluaXQpLlNwZWVkID0gRVRIX1NQRUVEXzEwME07CisgIH0KKworICAvKiBFdGhlcm5ldCBNQUMgZGVmYXVsdCBpbml0aWFsaXphdGlvbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyAgbWFjaW5pdC5XYXRjaGRvZyA9IEVUSF9XQVRDSERPR19FTkFCTEU7CisgIG1hY2luaXQuSmFiYmVyID0gRVRIX0pBQkJFUl9FTkFCTEU7CisgIG1hY2luaXQuSW50ZXJGcmFtZUdhcCA9IEVUSF9JTlRFUkZSQU1FR0FQXzk2QklUOworICBtYWNpbml0LkNhcnJpZXJTZW5zZSA9IEVUSF9DQVJSSUVSU0VOQ0VfRU5BQkxFOworICBtYWNpbml0LlJlY2VpdmVPd24gPSBFVEhfUkVDRUlWRU9XTl9FTkFCTEU7CisgIG1hY2luaXQuTG9vcGJhY2tNb2RlID0gRVRIX0xPT1BCQUNLTU9ERV9ESVNBQkxFOworICBpZihoZXRoLT5Jbml0LkNoZWNrc3VtTW9kZSA9PSBFVEhfQ0hFQ0tTVU1fQllfSEFSRFdBUkUpCisgIHsKKyAgICBtYWNpbml0LkNoZWNrc3VtT2ZmbG9hZCA9IEVUSF9DSEVDS1NVTU9GRkxBT0RfRU5BQkxFOworICB9CisgIGVsc2UKKyAgeworICAgIG1hY2luaXQuQ2hlY2tzdW1PZmZsb2FkID0gRVRIX0NIRUNLU1VNT0ZGTEFPRF9ESVNBQkxFOworICB9CisgIG1hY2luaXQuUmV0cnlUcmFuc21pc3Npb24gPSBFVEhfUkVUUllUUkFOU01JU1NJT05fRElTQUJMRTsKKyAgbWFjaW5pdC5BdXRvbWF0aWNQYWRDUkNTdHJpcCA9IEVUSF9BVVRPTUFUSUNQQURDUkNTVFJJUF9ESVNBQkxFOworICBtYWNpbml0LkJhY2tPZmZMaW1pdCA9IEVUSF9CQUNLT0ZGTElNSVRfMTA7CisgIG1hY2luaXQuRGVmZXJyYWxDaGVjayA9IEVUSF9ERUZGRVJSQUxDSEVDS19ESVNBQkxFOworICBtYWNpbml0LlJlY2VpdmVBbGwgPSBFVEhfUkVDRUlWRUFsbF9ESVNBQkxFOworICBtYWNpbml0LlNvdXJjZUFkZHJGaWx0ZXIgPSBFVEhfU09VUkNFQUREUkZJTFRFUl9ESVNBQkxFOworICBtYWNpbml0LlBhc3NDb250cm9sRnJhbWVzID0gRVRIX1BBU1NDT05UUk9MRlJBTUVTX0JMT0NLQUxMOworICBtYWNpbml0LkJyb2FkY2FzdEZyYW1lc1JlY2VwdGlvbiA9IEVUSF9CUk9BRENBU1RGUkFNRVNSRUNFUFRJT05fRU5BQkxFOworICBtYWNpbml0LkRlc3RpbmF0aW9uQWRkckZpbHRlciA9IEVUSF9ERVNUSU5BVElPTkFERFJGSUxURVJfTk9STUFMOworICBtYWNpbml0LlByb21pc2N1b3VzTW9kZSA9IEVUSF9QUk9NSVNDVU9VU19NT0RFX0RJU0FCTEU7CisgIG1hY2luaXQuTXVsdGljYXN0RnJhbWVzRmlsdGVyID0gRVRIX01VTFRJQ0FTVEZSQU1FU0ZJTFRFUl9QRVJGRUNUOworICBtYWNpbml0LlVuaWNhc3RGcmFtZXNGaWx0ZXIgPSBFVEhfVU5JQ0FTVEZSQU1FU0ZJTFRFUl9QRVJGRUNUOworICBtYWNpbml0Lkhhc2hUYWJsZUhpZ2ggPSAweDBVOworICBtYWNpbml0Lkhhc2hUYWJsZUxvdyA9IDB4MFU7CisgIG1hY2luaXQuUGF1c2VUaW1lID0gMHgwVTsKKyAgbWFjaW5pdC5aZXJvUXVhbnRhUGF1c2UgPSBFVEhfWkVST1FVQU5UQVBBVVNFX0RJU0FCTEU7CisgIG1hY2luaXQuUGF1c2VMb3dUaHJlc2hvbGQgPSBFVEhfUEFVU0VMT1dUSFJFU0hPTERfTUlOVVM0OworICBtYWNpbml0LlVuaWNhc3RQYXVzZUZyYW1lRGV0ZWN0ID0gRVRIX1VOSUNBU1RQQVVTRUZSQU1FREVURUNUX0RJU0FCTEU7CisgIG1hY2luaXQuUmVjZWl2ZUZsb3dDb250cm9sID0gRVRIX1JFQ0VJVkVGTE9XQ09OVFJPTF9ESVNBQkxFOworICBtYWNpbml0LlRyYW5zbWl0Rmxvd0NvbnRyb2wgPSBFVEhfVFJBTlNNSVRGTE9XQ09OVFJPTF9ESVNBQkxFOworICBtYWNpbml0LlZMQU5UYWdDb21wYXJpc29uID0gRVRIX1ZMQU5UQUdDT01QQVJJU09OXzE2QklUOworICBtYWNpbml0LlZMQU5UYWdJZGVudGlmaWVyID0gMHgwVTsKKworICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBFVEhFUk5FVCBNQUNDUiBDb25maWd1cmF0aW9uIC0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKyAgLyogR2V0IHRoZSBFVEhFUk5FVCBNQUNDUiB2YWx1ZSAqLworICB0bXByZWcxID0gKGhldGgtPkluc3RhbmNlKS0+TUFDQ1I7CisgIC8qIENsZWFyIFdELCBQQ0UsIFBTLCBURSBhbmQgUkUgYml0cyAqLworICB0bXByZWcxICY9IEVUSF9NQUNDUl9DTEVBUl9NQVNLOworICAvKiBTZXQgdGhlIFdEIGJpdCBhY2NvcmRpbmcgdG8gRVRIIFdhdGNoZG9nIHZhbHVlICovCisgIC8qIFNldCB0aGUgSkQ6IGJpdCBhY2NvcmRpbmcgdG8gRVRIIEphYmJlciB2YWx1ZSAqLworICAvKiBTZXQgdGhlIElGRyBiaXQgYWNjb3JkaW5nIHRvIEVUSCBJbnRlckZyYW1lR2FwIHZhbHVlICovCisgIC8qIFNldCB0aGUgRENSUyBiaXQgYWNjb3JkaW5nIHRvIEVUSCBDYXJyaWVyU2Vuc2UgdmFsdWUgKi8KKyAgLyogU2V0IHRoZSBGRVMgYml0IGFjY29yZGluZyB0byBFVEggU3BlZWQgdmFsdWUgKi8KKyAgLyogU2V0IHRoZSBETyBiaXQgYWNjb3JkaW5nIHRvIEVUSCBSZWNlaXZlT3duIHZhbHVlICovCisgIC8qIFNldCB0aGUgTE0gYml0IGFjY29yZGluZyB0byBFVEggTG9vcGJhY2tNb2RlIHZhbHVlICovCisgIC8qIFNldCB0aGUgRE0gYml0IGFjY29yZGluZyB0byBFVEggTW9kZSB2YWx1ZSAqLworICAvKiBTZXQgdGhlIElQQ08gYml0IGFjY29yZGluZyB0byBFVEggQ2hlY2tzdW1PZmZsb2FkIHZhbHVlICovCisgIC8qIFNldCB0aGUgRFIgYml0IGFjY29yZGluZyB0byBFVEggUmV0cnlUcmFuc21pc3Npb24gdmFsdWUgKi8KKyAgLyogU2V0IHRoZSBBQ1MgYml0IGFjY29yZGluZyB0byBFVEggQXV0b21hdGljUGFkQ1JDU3RyaXAgdmFsdWUgKi8KKyAgLyogU2V0IHRoZSBCTCBiaXQgYWNjb3JkaW5nIHRvIEVUSCBCYWNrT2ZmTGltaXQgdmFsdWUgKi8KKyAgLyogU2V0IHRoZSBEQyBiaXQgYWNjb3JkaW5nIHRvIEVUSCBEZWZlcnJhbENoZWNrIHZhbHVlICovCisgIHRtcHJlZzEgfD0gKHVpbnQzMl90KShtYWNpbml0LldhdGNoZG9nIHwKKyAgICAgICAgICAgICAgICAgICAgICAgbWFjaW5pdC5KYWJiZXIgfAorICAgICAgICAgICAgICAgICAgICAgICBtYWNpbml0LkludGVyRnJhbWVHYXAgfAorICAgICAgICAgICAgICAgICAgICAgICBtYWNpbml0LkNhcnJpZXJTZW5zZSB8CisgICAgICAgICAgICAgICAgICAgICAgIChoZXRoLT5Jbml0KS5TcGVlZCB8CisgICAgICAgICAgICAgICAgICAgICAgIG1hY2luaXQuUmVjZWl2ZU93biB8CisgICAgICAgICAgICAgICAgICAgICAgIG1hY2luaXQuTG9vcGJhY2tNb2RlIHwKKyAgICAgICAgICAgICAgICAgICAgICAgKGhldGgtPkluaXQpLkR1cGxleE1vZGUgfAorICAgICAgICAgICAgICAgICAgICAgICBtYWNpbml0LkNoZWNrc3VtT2ZmbG9hZCB8CisgICAgICAgICAgICAgICAgICAgICAgIG1hY2luaXQuUmV0cnlUcmFuc21pc3Npb24gfAorICAgICAgICAgICAgICAgICAgICAgICBtYWNpbml0LkF1dG9tYXRpY1BhZENSQ1N0cmlwIHwKKyAgICAgICAgICAgICAgICAgICAgICAgbWFjaW5pdC5CYWNrT2ZmTGltaXQgfAorICAgICAgICAgICAgICAgICAgICAgICBtYWNpbml0LkRlZmVycmFsQ2hlY2spOworCisgIC8qIFdyaXRlIHRvIEVUSEVSTkVUIE1BQ0NSICovCisgIChoZXRoLT5JbnN0YW5jZSktPk1BQ0NSID0gKHVpbnQzMl90KXRtcHJlZzE7CisKKyAgLyogV2FpdCB1bnRpbCB0aGUgd3JpdGUgb3BlcmF0aW9uIHdpbGwgYmUgdGFrZW4gaW50byBhY2NvdW50OgorICAgICBhdCBsZWFzdCBmb3VyIFRYX0NMSy9SWF9DTEsgY2xvY2sgY3ljbGVzICovCisgIHRtcHJlZzEgPSAoaGV0aC0+SW5zdGFuY2UpLT5NQUNDUjsKKyAgSEFMX0RlbGF5KEVUSF9SRUdfV1JJVEVfREVMQVkpOworICAoaGV0aC0+SW5zdGFuY2UpLT5NQUNDUiA9IHRtcHJlZzE7CisKKyAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBFVEhFUk5FVCBNQUNGRlIgQ29uZmlndXJhdGlvbiAtLS0tLS0tLS0tLS0tLS0tLS0tLSovCisgIC8qIFNldCB0aGUgUkEgYml0IGFjY29yZGluZyB0byBFVEggUmVjZWl2ZUFsbCB2YWx1ZSAqLworICAvKiBTZXQgdGhlIFNBRiBhbmQgU0FJRiBiaXRzIGFjY29yZGluZyB0byBFVEggU291cmNlQWRkckZpbHRlciB2YWx1ZSAqLworICAvKiBTZXQgdGhlIFBDRiBiaXQgYWNjb3JkaW5nIHRvIEVUSCBQYXNzQ29udHJvbEZyYW1lcyB2YWx1ZSAqLworICAvKiBTZXQgdGhlIERCRiBiaXQgYWNjb3JkaW5nIHRvIEVUSCBCcm9hZGNhc3RGcmFtZXNSZWNlcHRpb24gdmFsdWUgKi8KKyAgLyogU2V0IHRoZSBEQUlGIGJpdCBhY2NvcmRpbmcgdG8gRVRIIERlc3RpbmF0aW9uQWRkckZpbHRlciB2YWx1ZSAqLworICAvKiBTZXQgdGhlIFBSIGJpdCBhY2NvcmRpbmcgdG8gRVRIIFByb21pc2N1b3VzTW9kZSB2YWx1ZSAqLworICAvKiBTZXQgdGhlIFBNLCBITUMgYW5kIEhQRiBiaXRzIGFjY29yZGluZyB0byBFVEggTXVsdGljYXN0RnJhbWVzRmlsdGVyIHZhbHVlICovCisgIC8qIFNldCB0aGUgSFVDIGFuZCBIUEYgYml0cyBhY2NvcmRpbmcgdG8gRVRIIFVuaWNhc3RGcmFtZXNGaWx0ZXIgdmFsdWUgKi8KKyAgLyogV3JpdGUgdG8gRVRIRVJORVQgTUFDRkZSICovCisgIChoZXRoLT5JbnN0YW5jZSktPk1BQ0ZGUiA9ICh1aW50MzJfdCkobWFjaW5pdC5SZWNlaXZlQWxsIHwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWNpbml0LlNvdXJjZUFkZHJGaWx0ZXIgfAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hY2luaXQuUGFzc0NvbnRyb2xGcmFtZXMgfAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hY2luaXQuQnJvYWRjYXN0RnJhbWVzUmVjZXB0aW9uIHwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWNpbml0LkRlc3RpbmF0aW9uQWRkckZpbHRlciB8CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFjaW5pdC5Qcm9taXNjdW91c01vZGUgfAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hY2luaXQuTXVsdGljYXN0RnJhbWVzRmlsdGVyIHwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWNpbml0LlVuaWNhc3RGcmFtZXNGaWx0ZXIpOworCisgICAvKiBXYWl0IHVudGlsIHRoZSB3cml0ZSBvcGVyYXRpb24gd2lsbCBiZSB0YWtlbiBpbnRvIGFjY291bnQ6CisgICAgICBhdCBsZWFzdCBmb3VyIFRYX0NMSy9SWF9DTEsgY2xvY2sgY3ljbGVzICovCisgICB0bXByZWcxID0gKGhldGgtPkluc3RhbmNlKS0+TUFDRkZSOworICAgSEFMX0RlbGF5KEVUSF9SRUdfV1JJVEVfREVMQVkpOworICAgKGhldGgtPkluc3RhbmNlKS0+TUFDRkZSID0gdG1wcmVnMTsKKworICAgLyotLS0tLS0tLS0tLS0tLS0gRVRIRVJORVQgTUFDSFRIUiBhbmQgTUFDSFRMUiBDb25maWd1cmF0aW9uIC0tLS0tLS0tLS0tLS0tKi8KKyAgIC8qIFdyaXRlIHRvIEVUSEVSTkVUIE1BQ0hUSFIgKi8KKyAgIChoZXRoLT5JbnN0YW5jZSktPk1BQ0hUSFIgPSAodWludDMyX3QpbWFjaW5pdC5IYXNoVGFibGVIaWdoOworCisgICAvKiBXcml0ZSB0byBFVEhFUk5FVCBNQUNIVExSICovCisgICAoaGV0aC0+SW5zdGFuY2UpLT5NQUNIVExSID0gKHVpbnQzMl90KW1hY2luaXQuSGFzaFRhYmxlTG93OworICAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBFVEhFUk5FVCBNQUNGQ1IgQ29uZmlndXJhdGlvbiAtLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworICAgLyogR2V0IHRoZSBFVEhFUk5FVCBNQUNGQ1IgdmFsdWUgKi8KKyAgIHRtcHJlZzEgPSAoaGV0aC0+SW5zdGFuY2UpLT5NQUNGQ1I7CisgICAvKiBDbGVhciB4eCBiaXRzICovCisgICB0bXByZWcxICY9IEVUSF9NQUNGQ1JfQ0xFQVJfTUFTSzsKKworICAgLyogU2V0IHRoZSBQVCBiaXQgYWNjb3JkaW5nIHRvIEVUSCBQYXVzZVRpbWUgdmFsdWUgKi8KKyAgIC8qIFNldCB0aGUgRFpQUSBiaXQgYWNjb3JkaW5nIHRvIEVUSCBaZXJvUXVhbnRhUGF1c2UgdmFsdWUgKi8KKyAgIC8qIFNldCB0aGUgUExUIGJpdCBhY2NvcmRpbmcgdG8gRVRIIFBhdXNlTG93VGhyZXNob2xkIHZhbHVlICovCisgICAvKiBTZXQgdGhlIFVQIGJpdCBhY2NvcmRpbmcgdG8gRVRIIFVuaWNhc3RQYXVzZUZyYW1lRGV0ZWN0IHZhbHVlICovCisgICAvKiBTZXQgdGhlIFJGRSBiaXQgYWNjb3JkaW5nIHRvIEVUSCBSZWNlaXZlRmxvd0NvbnRyb2wgdmFsdWUgKi8KKyAgIC8qIFNldCB0aGUgVEZFIGJpdCBhY2NvcmRpbmcgdG8gRVRIIFRyYW5zbWl0Rmxvd0NvbnRyb2wgdmFsdWUgKi8KKyAgIHRtcHJlZzEgfD0gKHVpbnQzMl90KSgobWFjaW5pdC5QYXVzZVRpbWUgPDwgMTZVKSB8CisgICAgICAgICAgICAgICAgICAgICAgICBtYWNpbml0Llplcm9RdWFudGFQYXVzZSB8CisgICAgICAgICAgICAgICAgICAgICAgICBtYWNpbml0LlBhdXNlTG93VGhyZXNob2xkIHwKKyAgICAgICAgICAgICAgICAgICAgICAgIG1hY2luaXQuVW5pY2FzdFBhdXNlRnJhbWVEZXRlY3QgfAorICAgICAgICAgICAgICAgICAgICAgICAgbWFjaW5pdC5SZWNlaXZlRmxvd0NvbnRyb2wgfAorICAgICAgICAgICAgICAgICAgICAgICAgbWFjaW5pdC5UcmFuc21pdEZsb3dDb250cm9sKTsKKworICAgLyogV3JpdGUgdG8gRVRIRVJORVQgTUFDRkNSICovCisgICAoaGV0aC0+SW5zdGFuY2UpLT5NQUNGQ1IgPSAodWludDMyX3QpdG1wcmVnMTsKKworICAgLyogV2FpdCB1bnRpbCB0aGUgd3JpdGUgb3BlcmF0aW9uIHdpbGwgYmUgdGFrZW4gaW50byBhY2NvdW50OgorICAgYXQgbGVhc3QgZm91ciBUWF9DTEsvUlhfQ0xLIGNsb2NrIGN5Y2xlcyAqLworICAgdG1wcmVnMSA9IChoZXRoLT5JbnN0YW5jZSktPk1BQ0ZDUjsKKyAgIEhBTF9EZWxheShFVEhfUkVHX1dSSVRFX0RFTEFZKTsKKyAgIChoZXRoLT5JbnN0YW5jZSktPk1BQ0ZDUiA9IHRtcHJlZzE7CisKKyAgIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gRVRIRVJORVQgTUFDVkxBTlRSIENvbmZpZ3VyYXRpb24gLS0tLS0tLS0tLS0tLS0tLSovCisgICAvKiBTZXQgdGhlIEVUViBiaXQgYWNjb3JkaW5nIHRvIEVUSCBWTEFOVGFnQ29tcGFyaXNvbiB2YWx1ZSAqLworICAgLyogU2V0IHRoZSBWTCBiaXQgYWNjb3JkaW5nIHRvIEVUSCBWTEFOVGFnSWRlbnRpZmllciB2YWx1ZSAqLworICAgKGhldGgtPkluc3RhbmNlKS0+TUFDVkxBTlRSID0gKHVpbnQzMl90KShtYWNpbml0LlZMQU5UYWdDb21wYXJpc29uIHwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFjaW5pdC5WTEFOVGFnSWRlbnRpZmllcik7CisKKyAgICAvKiBXYWl0IHVudGlsIHRoZSB3cml0ZSBvcGVyYXRpb24gd2lsbCBiZSB0YWtlbiBpbnRvIGFjY291bnQ6CisgICAgICAgYXQgbGVhc3QgZm91ciBUWF9DTEsvUlhfQ0xLIGNsb2NrIGN5Y2xlcyAqLworICAgIHRtcHJlZzEgPSAoaGV0aC0+SW5zdGFuY2UpLT5NQUNWTEFOVFI7CisgICAgSEFMX0RlbGF5KEVUSF9SRUdfV1JJVEVfREVMQVkpOworICAgIChoZXRoLT5JbnN0YW5jZSktPk1BQ1ZMQU5UUiA9IHRtcHJlZzE7CisKKyAgICAvKiBFdGhlcm5ldCBETUEgZGVmYXVsdCBpbml0aWFsaXphdGlvbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisgICAgZG1haW5pdC5Ecm9wVENQSVBDaGVja3N1bUVycm9yRnJhbWUgPSBFVEhfRFJPUFRDUElQQ0hFQ0tTVU1FUlJPUkZSQU1FX0VOQUJMRTsKKyAgICBkbWFpbml0LlJlY2VpdmVTdG9yZUZvcndhcmQgPSBFVEhfUkVDRUlWRVNUT1JFRk9SV0FSRF9FTkFCTEU7CisgICAgZG1haW5pdC5GbHVzaFJlY2VpdmVkRnJhbWUgPSBFVEhfRkxVU0hSRUNFSVZFREZSQU1FX0VOQUJMRTsKKyAgICBkbWFpbml0LlRyYW5zbWl0U3RvcmVGb3J3YXJkID0gRVRIX1RSQU5TTUlUU1RPUkVGT1JXQVJEX0VOQUJMRTsKKyAgICBkbWFpbml0LlRyYW5zbWl0VGhyZXNob2xkQ29udHJvbCA9IEVUSF9UUkFOU01JVFRIUkVTSE9MRENPTlRST0xfNjRCWVRFUzsKKyAgICBkbWFpbml0LkZvcndhcmRFcnJvckZyYW1lcyA9IEVUSF9GT1JXQVJERVJST1JGUkFNRVNfRElTQUJMRTsKKyAgICBkbWFpbml0LkZvcndhcmRVbmRlcnNpemVkR29vZEZyYW1lcyA9IEVUSF9GT1JXQVJEVU5ERVJTSVpFREdPT0RGUkFNRVNfRElTQUJMRTsKKyAgICBkbWFpbml0LlJlY2VpdmVUaHJlc2hvbGRDb250cm9sID0gRVRIX1JFQ0VJVkVEVEhSRVNIT0xEQ09OVFJPTF82NEJZVEVTOworICAgIGRtYWluaXQuU2Vjb25kRnJhbWVPcGVyYXRlID0gRVRIX1NFQ09OREZSQU1FT1BFUkFSVEVfRU5BQkxFOworICAgIGRtYWluaXQuQWRkcmVzc0FsaWduZWRCZWF0cyA9IEVUSF9BRERSRVNTQUxJR05FREJFQVRTX0VOQUJMRTsKKyAgICBkbWFpbml0LkZpeGVkQnVyc3QgPSBFVEhfRklYRURCVVJTVF9FTkFCTEU7CisgICAgZG1haW5pdC5SeERNQUJ1cnN0TGVuZ3RoID0gRVRIX1JYRE1BQlVSU1RMRU5HVEhfMzJCRUFUOworICAgIGRtYWluaXQuVHhETUFCdXJzdExlbmd0aCA9IEVUSF9UWERNQUJVUlNUTEVOR1RIXzMyQkVBVDsKKyAgICBkbWFpbml0LkVuaGFuY2VkRGVzY3JpcHRvckZvcm1hdCA9IEVUSF9ETUFFTkhBTkNFRERFU0NSSVBUT1JfRU5BQkxFOworICAgIGRtYWluaXQuRGVzY3JpcHRvclNraXBMZW5ndGggPSAweDBVOworICAgIGRtYWluaXQuRE1BQXJiaXRyYXRpb24gPSBFVEhfRE1BQVJCSVRSQVRJT05fUk9VTkRST0JJTl9SWFRYXzFfMTsKKworICAgIC8qIEdldCB0aGUgRVRIRVJORVQgRE1BT01SIHZhbHVlICovCisgICAgdG1wcmVnMSA9IChoZXRoLT5JbnN0YW5jZSktPkRNQU9NUjsKKyAgICAvKiBDbGVhciB4eCBiaXRzICovCisgICAgdG1wcmVnMSAmPSBFVEhfRE1BT01SX0NMRUFSX01BU0s7CisKKyAgICAvKiBTZXQgdGhlIERUIGJpdCBhY2NvcmRpbmcgdG8gRVRIIERyb3BUQ1BJUENoZWNrc3VtRXJyb3JGcmFtZSB2YWx1ZSAqLworICAgIC8qIFNldCB0aGUgUlNGIGJpdCBhY2NvcmRpbmcgdG8gRVRIIFJlY2VpdmVTdG9yZUZvcndhcmQgdmFsdWUgKi8KKyAgICAvKiBTZXQgdGhlIERGRiBiaXQgYWNjb3JkaW5nIHRvIEVUSCBGbHVzaFJlY2VpdmVkRnJhbWUgdmFsdWUgKi8KKyAgICAvKiBTZXQgdGhlIFRTRiBiaXQgYWNjb3JkaW5nIHRvIEVUSCBUcmFuc21pdFN0b3JlRm9yd2FyZCB2YWx1ZSAqLworICAgIC8qIFNldCB0aGUgVFRDIGJpdCBhY2NvcmRpbmcgdG8gRVRIIFRyYW5zbWl0VGhyZXNob2xkQ29udHJvbCB2YWx1ZSAqLworICAgIC8qIFNldCB0aGUgRkVGIGJpdCBhY2NvcmRpbmcgdG8gRVRIIEZvcndhcmRFcnJvckZyYW1lcyB2YWx1ZSAqLworICAgIC8qIFNldCB0aGUgRlVGIGJpdCBhY2NvcmRpbmcgdG8gRVRIIEZvcndhcmRVbmRlcnNpemVkR29vZEZyYW1lcyB2YWx1ZSAqLworICAgIC8qIFNldCB0aGUgUlRDIGJpdCBhY2NvcmRpbmcgdG8gRVRIIFJlY2VpdmVUaHJlc2hvbGRDb250cm9sIHZhbHVlICovCisgICAgLyogU2V0IHRoZSBPU0YgYml0IGFjY29yZGluZyB0byBFVEggU2Vjb25kRnJhbWVPcGVyYXRlIHZhbHVlICovCisgICAgdG1wcmVnMSB8PSAodWludDMyX3QpKGRtYWluaXQuRHJvcFRDUElQQ2hlY2tzdW1FcnJvckZyYW1lIHwKKyAgICAgICAgICAgICAgICAgICAgICAgICBkbWFpbml0LlJlY2VpdmVTdG9yZUZvcndhcmQgfAorICAgICAgICAgICAgICAgICAgICAgICAgIGRtYWluaXQuRmx1c2hSZWNlaXZlZEZyYW1lIHwKKyAgICAgICAgICAgICAgICAgICAgICAgICBkbWFpbml0LlRyYW5zbWl0U3RvcmVGb3J3YXJkIHwKKyAgICAgICAgICAgICAgICAgICAgICAgICBkbWFpbml0LlRyYW5zbWl0VGhyZXNob2xkQ29udHJvbCB8CisgICAgICAgICAgICAgICAgICAgICAgICAgZG1haW5pdC5Gb3J3YXJkRXJyb3JGcmFtZXMgfAorICAgICAgICAgICAgICAgICAgICAgICAgIGRtYWluaXQuRm9yd2FyZFVuZGVyc2l6ZWRHb29kRnJhbWVzIHwKKyAgICAgICAgICAgICAgICAgICAgICAgICBkbWFpbml0LlJlY2VpdmVUaHJlc2hvbGRDb250cm9sIHwKKyAgICAgICAgICAgICAgICAgICAgICAgICBkbWFpbml0LlNlY29uZEZyYW1lT3BlcmF0ZSk7CisKKyAgICAvKiBXcml0ZSB0byBFVEhFUk5FVCBETUFPTVIgKi8KKyAgICAoaGV0aC0+SW5zdGFuY2UpLT5ETUFPTVIgPSAodWludDMyX3QpdG1wcmVnMTsKKworICAgIC8qIFdhaXQgdW50aWwgdGhlIHdyaXRlIG9wZXJhdGlvbiB3aWxsIGJlIHRha2VuIGludG8gYWNjb3VudDoKKyAgICAgICBhdCBsZWFzdCBmb3VyIFRYX0NMSy9SWF9DTEsgY2xvY2sgY3ljbGVzICovCisgICAgdG1wcmVnMSA9IChoZXRoLT5JbnN0YW5jZSktPkRNQU9NUjsKKyAgICBIQUxfRGVsYXkoRVRIX1JFR19XUklURV9ERUxBWSk7CisgICAgKGhldGgtPkluc3RhbmNlKS0+RE1BT01SID0gdG1wcmVnMTsKKworICAgIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gRVRIRVJORVQgRE1BQk1SIENvbmZpZ3VyYXRpb24gLS0tLS0tLS0tLS0tLS0tLS0tKi8KKyAgICAvKiBTZXQgdGhlIEFBTCBiaXQgYWNjb3JkaW5nIHRvIEVUSCBBZGRyZXNzQWxpZ25lZEJlYXRzIHZhbHVlICovCisgICAgLyogU2V0IHRoZSBGQiBiaXQgYWNjb3JkaW5nIHRvIEVUSCBGaXhlZEJ1cnN0IHZhbHVlICovCisgICAgLyogU2V0IHRoZSBSUEJMIGFuZCA0KlBCTCBiaXRzIGFjY29yZGluZyB0byBFVEggUnhETUFCdXJzdExlbmd0aCB2YWx1ZSAqLworICAgIC8qIFNldCB0aGUgUEJMIGFuZCA0KlBCTCBiaXRzIGFjY29yZGluZyB0byBFVEggVHhETUFCdXJzdExlbmd0aCB2YWx1ZSAqLworICAgIC8qIFNldCB0aGUgRW5oYW5jZWQgRE1BIGRlc2NyaXB0b3JzIGJpdCBhY2NvcmRpbmcgdG8gRVRIIEVuaGFuY2VkRGVzY3JpcHRvckZvcm1hdCB2YWx1ZSovCisgICAgLyogU2V0IHRoZSBEU0wgYml0IGFjY29yZGluZyB0byBFVEggRGVzY2lwdG9yU2tpcExlbmd0aCB2YWx1ZSAqLworICAgIC8qIFNldCB0aGUgUFIgYW5kIERBIGJpdHMgYWNjb3JkaW5nIHRvIEVUSCBETUFBcmJpdHJhdGlvbiB2YWx1ZSAqLworICAgIChoZXRoLT5JbnN0YW5jZSktPkRNQUJNUiA9ICh1aW50MzJfdCkoZG1haW5pdC5BZGRyZXNzQWxpZ25lZEJlYXRzIHwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRtYWluaXQuRml4ZWRCdXJzdCB8CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkbWFpbml0LlJ4RE1BQnVyc3RMZW5ndGggfCAgICAvKiAhISBpZiA0eFBCTCBpcyBzZWxlY3RlZCBmb3IgVHggb3IgUnggaXQgaXMgYXBwbGllZCBmb3IgdGhlIG90aGVyICovCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkbWFpbml0LlR4RE1BQnVyc3RMZW5ndGggfAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG1haW5pdC5FbmhhbmNlZERlc2NyaXB0b3JGb3JtYXQgfAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGRtYWluaXQuRGVzY3JpcHRvclNraXBMZW5ndGggPDwgMlUpIHwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRtYWluaXQuRE1BQXJiaXRyYXRpb24gfAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRVRIX0RNQUJNUl9VU1ApOyAvKiBFbmFibGUgdXNlIG9mIHNlcGFyYXRlIFBCTCBmb3IgUnggYW5kIFR4ICovCisKKyAgICAgLyogV2FpdCB1bnRpbCB0aGUgd3JpdGUgb3BlcmF0aW9uIHdpbGwgYmUgdGFrZW4gaW50byBhY2NvdW50OgorICAgICAgICBhdCBsZWFzdCBmb3VyIFRYX0NMSy9SWF9DTEsgY2xvY2sgY3ljbGVzICovCisgICAgIHRtcHJlZzEgPSAoaGV0aC0+SW5zdGFuY2UpLT5ETUFCTVI7CisgICAgIEhBTF9EZWxheShFVEhfUkVHX1dSSVRFX0RFTEFZKTsKKyAgICAgKGhldGgtPkluc3RhbmNlKS0+RE1BQk1SID0gdG1wcmVnMTsKKworICAgICBpZigoaGV0aC0+SW5pdCkuUnhNb2RlID09IEVUSF9SWElOVEVSUlVQVF9NT0RFKQorICAgICB7CisgICAgICAgLyogRW5hYmxlIHRoZSBFdGhlcm5ldCBSeCBJbnRlcnJ1cHQgKi8KKyAgICAgICBfX0hBTF9FVEhfRE1BX0VOQUJMRV9JVCgoaGV0aCksIEVUSF9ETUFfSVRfTklTIHwgRVRIX0RNQV9JVF9SKTsKKyAgICAgfQorCisgICAgIC8qIEluaXRpYWxpemUgTUFDIGFkZHJlc3MgaW4gZXRoZXJuZXQgTUFDICovCisgICAgIEVUSF9NQUNBZGRyZXNzQ29uZmlnKGhldGgsIEVUSF9NQUNfQUREUkVTUzAsIGhldGgtPkluaXQuTUFDQWRkcik7Cit9CisKKy8qKgorICAqIEBicmllZiAgQ29uZmlndXJlcyB0aGUgc2VsZWN0ZWQgTUFDIGFkZHJlc3MuCisgICogQHBhcmFtICBoZXRoIHBvaW50ZXIgdG8gYSBFVEhfSGFuZGxlVHlwZURlZiBzdHJ1Y3R1cmUgdGhhdCBjb250YWlucworICAqICAgICAgICAgdGhlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gZm9yIEVUSEVSTkVUIG1vZHVsZQorICAqIEBwYXJhbSAgTWFjQWRkciBUaGUgTUFDIGFkZHJlc3MgdG8gY29uZmlndXJlCisgICogICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIG9uZSBvZiB0aGUgZm9sbG93aW5nIHZhbHVlczoKKyAgKiAgICAgICAgICAgICBAYXJnIEVUSF9NQUNfQWRkcmVzczA6IE1BQyBBZGRyZXNzMAorICAqICAgICAgICAgICAgIEBhcmcgRVRIX01BQ19BZGRyZXNzMTogTUFDIEFkZHJlc3MxCisgICogICAgICAgICAgICAgQGFyZyBFVEhfTUFDX0FkZHJlc3MyOiBNQUMgQWRkcmVzczIKKyAgKiAgICAgICAgICAgICBAYXJnIEVUSF9NQUNfQWRkcmVzczM6IE1BQyBBZGRyZXNzMworICAqIEBwYXJhbSAgQWRkciBQb2ludGVyIHRvIE1BQyBhZGRyZXNzIGJ1ZmZlciBkYXRhICg2IGJ5dGVzKQorICAqIEByZXR2YWwgSEFMIHN0YXR1cworICAqLworc3RhdGljIHZvaWQgRVRIX01BQ0FkZHJlc3NDb25maWcoRVRIX0hhbmRsZVR5cGVEZWYgKmhldGgsIHVpbnQzMl90IE1hY0FkZHIsIHVpbnQ4X3QgKkFkZHIpCit7CisgIHVpbnQzMl90IHRtcHJlZzE7CisKKyAgLyogUHJldmVudCB1bnVzZWQgYXJndW1lbnQocykgY29tcGlsYXRpb24gd2FybmluZyAqLworICBVTlVTRUQoaGV0aCk7CisKKyAgLyogQ2hlY2sgdGhlIHBhcmFtZXRlcnMgKi8KKyAgYXNzZXJ0X3BhcmFtKElTX0VUSF9NQUNfQUREUkVTUzAxMjMoTWFjQWRkcikpOworCisgIC8qIENhbGN1bGF0ZSB0aGUgc2VsZWN0ZWQgTUFDIGFkZHJlc3MgaGlnaCByZWdpc3RlciAqLworICB0bXByZWcxID0gKCh1aW50MzJfdClBZGRyWzVVXSA8PCA4VSkgfCAodWludDMyX3QpQWRkcls0VV07CisgIC8qIExvYWQgdGhlIHNlbGVjdGVkIE1BQyBhZGRyZXNzIGhpZ2ggcmVnaXN0ZXIgKi8KKyAgKCooX19JTyB1aW50MzJfdCAqKSgodWludDMyX3QpKEVUSF9NQUNfQUREUl9IQkFTRSArIE1hY0FkZHIpKSkgPSB0bXByZWcxOworICAvKiBDYWxjdWxhdGUgdGhlIHNlbGVjdGVkIE1BQyBhZGRyZXNzIGxvdyByZWdpc3RlciAqLworICB0bXByZWcxID0gKCh1aW50MzJfdClBZGRyWzNVXSA8PCAyNFUpIHwgKCh1aW50MzJfdClBZGRyWzJVXSA8PCAxNlUpIHwgKCh1aW50MzJfdClBZGRyWzFVXSA8PCA4VSkgfCBBZGRyWzBVXTsKKworICAvKiBMb2FkIHRoZSBzZWxlY3RlZCBNQUMgYWRkcmVzcyBsb3cgcmVnaXN0ZXIgKi8KKyAgKCooX19JTyB1aW50MzJfdCAqKSgodWludDMyX3QpKEVUSF9NQUNfQUREUl9MQkFTRSArIE1hY0FkZHIpKSkgPSB0bXByZWcxOworfQorCisvKioKKyAgKiBAYnJpZWYgIEVuYWJsZXMgdGhlIE1BQyB0cmFuc21pc3Npb24uCisgICogQHBhcmFtICBoZXRoIHBvaW50ZXIgdG8gYSBFVEhfSGFuZGxlVHlwZURlZiBzdHJ1Y3R1cmUgdGhhdCBjb250YWlucworICAqICAgICAgICAgdGhlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gZm9yIEVUSEVSTkVUIG1vZHVsZQorICAqIEByZXR2YWwgTm9uZQorICAqLworc3RhdGljIHZvaWQgRVRIX01BQ1RyYW5zbWlzc2lvbkVuYWJsZShFVEhfSGFuZGxlVHlwZURlZiAqaGV0aCkKK3sKKyAgX19JTyB1aW50MzJfdCB0bXByZWcxID0gMFU7CisKKyAgLyogRW5hYmxlIHRoZSBNQUMgdHJhbnNtaXNzaW9uICovCisgIChoZXRoLT5JbnN0YW5jZSktPk1BQ0NSIHw9IEVUSF9NQUNDUl9URTsKKworICAvKiBXYWl0IHVudGlsIHRoZSB3cml0ZSBvcGVyYXRpb24gd2lsbCBiZSB0YWtlbiBpbnRvIGFjY291bnQ6CisgICAgIGF0IGxlYXN0IGZvdXIgVFhfQ0xLL1JYX0NMSyBjbG9jayBjeWNsZXMgKi8KKyAgdG1wcmVnMSA9IChoZXRoLT5JbnN0YW5jZSktPk1BQ0NSOworICBFVEhfRGVsYXkoRVRIX1JFR19XUklURV9ERUxBWSk7CisgIChoZXRoLT5JbnN0YW5jZSktPk1BQ0NSID0gdG1wcmVnMTsKK30KKworLyoqCisgICogQGJyaWVmICBEaXNhYmxlcyB0aGUgTUFDIHRyYW5zbWlzc2lvbi4KKyAgKiBAcGFyYW0gIGhldGggcG9pbnRlciB0byBhIEVUSF9IYW5kbGVUeXBlRGVmIHN0cnVjdHVyZSB0aGF0IGNvbnRhaW5zCisgICogICAgICAgICB0aGUgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbiBmb3IgRVRIRVJORVQgbW9kdWxlCisgICogQHJldHZhbCBOb25lCisgICovCitzdGF0aWMgdm9pZCBFVEhfTUFDVHJhbnNtaXNzaW9uRGlzYWJsZShFVEhfSGFuZGxlVHlwZURlZiAqaGV0aCkKK3sKKyAgX19JTyB1aW50MzJfdCB0bXByZWcxID0gMFU7CisKKyAgLyogRGlzYWJsZSB0aGUgTUFDIHRyYW5zbWlzc2lvbiAqLworICAoaGV0aC0+SW5zdGFuY2UpLT5NQUNDUiAmPSB+RVRIX01BQ0NSX1RFOworCisgIC8qIFdhaXQgdW50aWwgdGhlIHdyaXRlIG9wZXJhdGlvbiB3aWxsIGJlIHRha2VuIGludG8gYWNjb3VudDoKKyAgICAgYXQgbGVhc3QgZm91ciBUWF9DTEsvUlhfQ0xLIGNsb2NrIGN5Y2xlcyAqLworICB0bXByZWcxID0gKGhldGgtPkluc3RhbmNlKS0+TUFDQ1I7CisgIEVUSF9EZWxheShFVEhfUkVHX1dSSVRFX0RFTEFZKTsKKyAgKGhldGgtPkluc3RhbmNlKS0+TUFDQ1IgPSB0bXByZWcxOworfQorCisvKioKKyAgKiBAYnJpZWYgIEVuYWJsZXMgdGhlIE1BQyByZWNlcHRpb24uCisgICogQHBhcmFtICBoZXRoIHBvaW50ZXIgdG8gYSBFVEhfSGFuZGxlVHlwZURlZiBzdHJ1Y3R1cmUgdGhhdCBjb250YWlucworICAqICAgICAgICAgdGhlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gZm9yIEVUSEVSTkVUIG1vZHVsZQorICAqIEByZXR2YWwgTm9uZQorICAqLworc3RhdGljIHZvaWQgRVRIX01BQ1JlY2VwdGlvbkVuYWJsZShFVEhfSGFuZGxlVHlwZURlZiAqaGV0aCkKK3sKKyAgX19JTyB1aW50MzJfdCB0bXByZWcxID0gMFU7CisKKyAgLyogRW5hYmxlIHRoZSBNQUMgcmVjZXB0aW9uICovCisgIChoZXRoLT5JbnN0YW5jZSktPk1BQ0NSIHw9IEVUSF9NQUNDUl9SRTsKKworICAvKiBXYWl0IHVudGlsIHRoZSB3cml0ZSBvcGVyYXRpb24gd2lsbCBiZSB0YWtlbiBpbnRvIGFjY291bnQ6CisgICAgIGF0IGxlYXN0IGZvdXIgVFhfQ0xLL1JYX0NMSyBjbG9jayBjeWNsZXMgKi8KKyAgdG1wcmVnMSA9IChoZXRoLT5JbnN0YW5jZSktPk1BQ0NSOworICBFVEhfRGVsYXkoRVRIX1JFR19XUklURV9ERUxBWSk7CisgIChoZXRoLT5JbnN0YW5jZSktPk1BQ0NSID0gdG1wcmVnMTsKK30KKworLyoqCisgICogQGJyaWVmICBEaXNhYmxlcyB0aGUgTUFDIHJlY2VwdGlvbi4KKyAgKiBAcGFyYW0gIGhldGggcG9pbnRlciB0byBhIEVUSF9IYW5kbGVUeXBlRGVmIHN0cnVjdHVyZSB0aGF0IGNvbnRhaW5zCisgICogICAgICAgICB0aGUgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbiBmb3IgRVRIRVJORVQgbW9kdWxlCisgICogQHJldHZhbCBOb25lCisgICovCitzdGF0aWMgdm9pZCBFVEhfTUFDUmVjZXB0aW9uRGlzYWJsZShFVEhfSGFuZGxlVHlwZURlZiAqaGV0aCkKK3sKKyAgX19JTyB1aW50MzJfdCB0bXByZWcxID0gMFU7CisKKyAgLyogRGlzYWJsZSB0aGUgTUFDIHJlY2VwdGlvbiAqLworICAoaGV0aC0+SW5zdGFuY2UpLT5NQUNDUiAmPSB+RVRIX01BQ0NSX1JFOworCisgIC8qIFdhaXQgdW50aWwgdGhlIHdyaXRlIG9wZXJhdGlvbiB3aWxsIGJlIHRha2VuIGludG8gYWNjb3VudDoKKyAgICAgYXQgbGVhc3QgZm91ciBUWF9DTEsvUlhfQ0xLIGNsb2NrIGN5Y2xlcyAqLworICB0bXByZWcxID0gKGhldGgtPkluc3RhbmNlKS0+TUFDQ1I7CisgIEVUSF9EZWxheShFVEhfUkVHX1dSSVRFX0RFTEFZKTsKKyAgKGhldGgtPkluc3RhbmNlKS0+TUFDQ1IgPSB0bXByZWcxOworfQorCisvKioKKyAgKiBAYnJpZWYgIEVuYWJsZXMgdGhlIERNQSB0cmFuc21pc3Npb24uCisgICogQHBhcmFtICBoZXRoIHBvaW50ZXIgdG8gYSBFVEhfSGFuZGxlVHlwZURlZiBzdHJ1Y3R1cmUgdGhhdCBjb250YWlucworICAqICAgICAgICAgdGhlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gZm9yIEVUSEVSTkVUIG1vZHVsZQorICAqIEByZXR2YWwgTm9uZQorICAqLworc3RhdGljIHZvaWQgRVRIX0RNQVRyYW5zbWlzc2lvbkVuYWJsZShFVEhfSGFuZGxlVHlwZURlZiAqaGV0aCkKK3sKKyAgLyogRW5hYmxlIHRoZSBETUEgdHJhbnNtaXNzaW9uICovCisgIChoZXRoLT5JbnN0YW5jZSktPkRNQU9NUiB8PSBFVEhfRE1BT01SX1NUOworfQorCisvKioKKyAgKiBAYnJpZWYgIERpc2FibGVzIHRoZSBETUEgdHJhbnNtaXNzaW9uLgorICAqIEBwYXJhbSAgaGV0aCBwb2ludGVyIHRvIGEgRVRIX0hhbmRsZVR5cGVEZWYgc3RydWN0dXJlIHRoYXQgY29udGFpbnMKKyAgKiAgICAgICAgIHRoZSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIGZvciBFVEhFUk5FVCBtb2R1bGUKKyAgKiBAcmV0dmFsIE5vbmUKKyAgKi8KK3N0YXRpYyB2b2lkIEVUSF9ETUFUcmFuc21pc3Npb25EaXNhYmxlKEVUSF9IYW5kbGVUeXBlRGVmICpoZXRoKQoreworICAvKiBEaXNhYmxlIHRoZSBETUEgdHJhbnNtaXNzaW9uICovCisgIChoZXRoLT5JbnN0YW5jZSktPkRNQU9NUiAmPSB+RVRIX0RNQU9NUl9TVDsKK30KKworLyoqCisgICogQGJyaWVmICBFbmFibGVzIHRoZSBETUEgcmVjZXB0aW9uLgorICAqIEBwYXJhbSAgaGV0aCBwb2ludGVyIHRvIGEgRVRIX0hhbmRsZVR5cGVEZWYgc3RydWN0dXJlIHRoYXQgY29udGFpbnMKKyAgKiAgICAgICAgIHRoZSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIGZvciBFVEhFUk5FVCBtb2R1bGUKKyAgKiBAcmV0dmFsIE5vbmUKKyAgKi8KK3N0YXRpYyB2b2lkIEVUSF9ETUFSZWNlcHRpb25FbmFibGUoRVRIX0hhbmRsZVR5cGVEZWYgKmhldGgpCit7CisgIC8qIEVuYWJsZSB0aGUgRE1BIHJlY2VwdGlvbiAqLworICAoaGV0aC0+SW5zdGFuY2UpLT5ETUFPTVIgfD0gRVRIX0RNQU9NUl9TUjsKK30KKworLyoqCisgICogQGJyaWVmICBEaXNhYmxlcyB0aGUgRE1BIHJlY2VwdGlvbi4KKyAgKiBAcGFyYW0gIGhldGggcG9pbnRlciB0byBhIEVUSF9IYW5kbGVUeXBlRGVmIHN0cnVjdHVyZSB0aGF0IGNvbnRhaW5zCisgICogICAgICAgICB0aGUgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbiBmb3IgRVRIRVJORVQgbW9kdWxlCisgICogQHJldHZhbCBOb25lCisgICovCitzdGF0aWMgdm9pZCBFVEhfRE1BUmVjZXB0aW9uRGlzYWJsZShFVEhfSGFuZGxlVHlwZURlZiAqaGV0aCkKK3sKKyAgLyogRGlzYWJsZSB0aGUgRE1BIHJlY2VwdGlvbiAqLworICAoaGV0aC0+SW5zdGFuY2UpLT5ETUFPTVIgJj0gfkVUSF9ETUFPTVJfU1I7Cit9CisKKy8qKgorICAqIEBicmllZiAgQ2xlYXJzIHRoZSBFVEhFUk5FVCB0cmFuc21pdCBGSUZPLgorICAqIEBwYXJhbSAgaGV0aCBwb2ludGVyIHRvIGEgRVRIX0hhbmRsZVR5cGVEZWYgc3RydWN0dXJlIHRoYXQgY29udGFpbnMKKyAgKiAgICAgICAgIHRoZSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIGZvciBFVEhFUk5FVCBtb2R1bGUKKyAgKiBAcmV0dmFsIE5vbmUKKyAgKi8KK3N0YXRpYyB2b2lkIEVUSF9GbHVzaFRyYW5zbWl0RklGTyhFVEhfSGFuZGxlVHlwZURlZiAqaGV0aCkKK3sKKyAgX19JTyB1aW50MzJfdCB0bXByZWcxID0gMFU7CisKKyAgLyogU2V0IHRoZSBGbHVzaCBUcmFuc21pdCBGSUZPIGJpdCAqLworICAoaGV0aC0+SW5zdGFuY2UpLT5ETUFPTVIgfD0gRVRIX0RNQU9NUl9GVEY7CisKKyAgLyogV2FpdCB1bnRpbCB0aGUgd3JpdGUgb3BlcmF0aW9uIHdpbGwgYmUgdGFrZW4gaW50byBhY2NvdW50OgorICAgICBhdCBsZWFzdCBmb3VyIFRYX0NMSy9SWF9DTEsgY2xvY2sgY3ljbGVzICovCisgIHRtcHJlZzEgPSAoaGV0aC0+SW5zdGFuY2UpLT5ETUFPTVI7CisgIEVUSF9EZWxheShFVEhfUkVHX1dSSVRFX0RFTEFZKTsKKyAgKGhldGgtPkluc3RhbmNlKS0+RE1BT01SID0gdG1wcmVnMTsKK30KKworLyoqCisgICogQGJyaWVmICBUaGlzIGZ1bmN0aW9uIHByb3ZpZGVzIGRlbGF5IChpbiBtaWxsaXNlY29uZHMpIGJhc2VkIG9uIENQVSBjeWNsZXMgbWV0aG9kLgorICAqIEBwYXJhbSAgbWRlbGF5IHNwZWNpZmllcyB0aGUgZGVsYXkgdGltZSBsZW5ndGgsIGluIG1pbGxpc2Vjb25kcy4KKyAgKiBAcmV0dmFsIE5vbmUKKyAgKi8KK3N0YXRpYyB2b2lkIEVUSF9EZWxheSh1aW50MzJfdCBtZGVsYXkpCit7CisgIF9fSU8gdWludDMyX3QgRGVsYXkgPSBtZGVsYXkgKiAoU3lzdGVtQ29yZUNsb2NrIC8gOFUgLyAxMDAwVSk7CisgIGRvCisgIHsKKyAgICBfX05PUCgpOworICB9CisgIHdoaWxlIChEZWxheSAtLSk7Cit9CisKKyNpZiAoVVNFX0hBTF9FVEhfUkVHSVNURVJfQ0FMTEJBQ0tTID09IDEpCitzdGF0aWMgdm9pZCBFVEhfSW5pdENhbGxiYWNrc1RvRGVmYXVsdChFVEhfSGFuZGxlVHlwZURlZiAqaGV0aCkKK3sKKyAgLyogSW5pdCB0aGUgRVRIIENhbGxiYWNrIHNldHRpbmdzICovCisgIGhldGgtPlR4Q3BsdENhbGxiYWNrICAgICAgID0gSEFMX0VUSF9UeENwbHRDYWxsYmFjazsgLyogTGVnYWN5IHdlYWsgVHhDcGx0Q2FsbGJhY2sgICAqLworICBoZXRoLT5SeENwbHRDYWxsYmFjayAgICAgICA9IEhBTF9FVEhfUnhDcGx0Q2FsbGJhY2s7IC8qIExlZ2FjeSB3ZWFrIFJ4Q3BsdENhbGxiYWNrICAgKi8KKyAgaGV0aC0+RE1BRXJyb3JDYWxsYmFjayAgICAgPSBIQUxfRVRIX0Vycm9yQ2FsbGJhY2s7ICAvKiBMZWdhY3kgd2VhayBETUFFcnJvckNhbGxiYWNrICovCit9CisjZW5kaWYgLyogVVNFX0hBTF9FVEhfUkVHSVNURVJfQ0FMTEJBQ0tTICovCisKKy8qKgorICAqIEB9CisgICovCisKKyNlbmRpZiAvKiBTVE0zMkY0MDV4eCB8fCBTVE0zMkY0MTV4eCB8fCBTVE0zMkY0MDd4eCB8fCBTVE0zMkY0MTd4eCB8fCBTVE0zMkY0Mjd4eCB8fFwKKyAgICAgICAgICBTVE0zMkY0Mzd4eCB8fCBTVE0zMkY0Mjl4eCB8fCBTVE0zMkY0Mzl4eCB8fCBTVE0zMkY0Njl4eCB8fCBTVE0zMkY0Nzl4eCAqLworI2VuZGlmIC8qIEhBTF9FVEhfTEVHQUNZX01PRFVMRV9FTkFCTEVEKi8KKy8qKgorICAqIEB9CisgICovCisKKy8qKgorICAqIEB9CisgICovCmRpZmYgLS1naXQgYS9TcmMvc3RtMzJmNHh4X2hhbC5jIGIvU3JjL3N0bTMyZjR4eF9oYWwuYwppbmRleCBkMGFmZGQzLi5jYjY1MmI4IDEwMDY0NAotLS0gYS9TcmMvc3RtMzJmNHh4X2hhbC5jCisrKyBiL1NyYy9zdG0zMmY0eHhfaGFsLmMKQEAgLTUsNiArNSwxNyBAQAogICAqIEBicmllZiAgIEhBTCBtb2R1bGUgZHJpdmVyLgogICAqICAgICAgICAgIFRoaXMgaXMgdGhlIGNvbW1vbiBwYXJ0IG9mIHRoZSBIQUwgaW5pdGlhbGl6YXRpb24KICAgKgorICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAgKiBAYXR0ZW50aW9uCisgICoKKyAgKiBDb3B5cmlnaHQgKGMpIDIwMTcgU1RNaWNyb2VsZWN0cm9uaWNzLgorICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgICoKKyAgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIHVuZGVyIHRlcm1zIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUKKyAgKiBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb2Z0d2FyZSBjb21wb25lbnQuCisgICogSWYgbm8gTElDRU5TRSBmaWxlIGNvbWVzIHdpdGggdGhpcyBzb2Z0d2FyZSwgaXQgaXMgcHJvdmlkZWQgQVMtSVMuCisgICoKKyAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgIEB2ZXJiYXRpbQogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgICAgICAgICAgICAgICAgICAgICMjIyMjIEhvdyB0byB1c2UgdGhpcyBkcml2ZXIgIyMjIyMKQEAgLTE5LDE3ICszMCw2IEBACiAKICAgQGVuZHZlcmJhdGltCiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICAqIEBhdHRlbnRpb24KLSAgKgotICAqIDxoMj48Y2VudGVyPiZjb3B5OyBDb3B5cmlnaHQgKGMpIDIwMTcgU1RNaWNyb2VsZWN0cm9uaWNzLgotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9jZW50ZXI+PC9oMj4KLSAgKgotICAqIFRoaXMgc29mdHdhcmUgY29tcG9uZW50IGlzIGxpY2Vuc2VkIGJ5IFNUIHVuZGVyIEJTRCAzLUNsYXVzZSBsaWNlbnNlLAotICAqIHRoZSAiTGljZW5zZSI7IFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUKLSAgKiBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQ6Ci0gICogICAgICAgICAgICAgICAgICAgICAgICBvcGVuc291cmNlLm9yZy9saWNlbnNlcy9CU0QtMy1DbGF1c2UKLSAgKgotICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKi8gCiAKIC8qIEluY2x1ZGVzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCkBAIC01MCwxMSArNTAsMTEgQEAKICAgKiBAewogICAqLwogLyoqCi0gICogQGJyaWVmIFNUTTMyRjR4eCBIQUwgRHJpdmVyIHZlcnNpb24gbnVtYmVyIFYxLjcuMTMKKyAgKiBAYnJpZWYgU1RNMzJGNHh4IEhBTCBEcml2ZXIgdmVyc2lvbiBudW1iZXIgVjEuOC4wCiAgICovCiAjZGVmaW5lIF9fU1RNMzJGNHh4X0hBTF9WRVJTSU9OX01BSU4gICAoMHgwMVUpIC8qITwgWzMxOjI0XSBtYWluIHZlcnNpb24gKi8KLSNkZWZpbmUgX19TVE0zMkY0eHhfSEFMX1ZFUlNJT05fU1VCMSAgICgweDA3VSkgLyohPCBbMjM6MTZdIHN1YjEgdmVyc2lvbiAqLwotI2RlZmluZSBfX1NUTTMyRjR4eF9IQUxfVkVSU0lPTl9TVUIyICAgKDB4MERVKSAvKiE8IFsxNTo4XSAgc3ViMiB2ZXJzaW9uICovCisjZGVmaW5lIF9fU1RNMzJGNHh4X0hBTF9WRVJTSU9OX1NVQjEgICAoMHgwOFUpIC8qITwgWzIzOjE2XSBzdWIxIHZlcnNpb24gKi8KKyNkZWZpbmUgX19TVE0zMkY0eHhfSEFMX1ZFUlNJT05fU1VCMiAgICgweDAwVSkgLyohPCBbMTU6OF0gIHN1YjIgdmVyc2lvbiAqLwogI2RlZmluZSBfX1NUTTMyRjR4eF9IQUxfVkVSU0lPTl9SQyAgICAgKDB4MDBVKSAvKiE8IFs3OjBdICByZWxlYXNlIGNhbmRpZGF0ZSAqLyAKICNkZWZpbmUgX19TVE0zMkY0eHhfSEFMX1ZFUlNJT04gICAgICAgICAoKF9fU1RNMzJGNHh4X0hBTF9WRVJTSU9OX01BSU4gPDwgMjRVKVwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8KF9fU1RNMzJGNHh4X0hBTF9WRVJTSU9OX1NVQjEgPDwgMTZVKVwKQEAgLTYxMiw0ICs2MTIsNCBAQAogICAqIEB9CiAgICovCiAKLS8qKioqKioqKioqKioqKioqKioqKioqKiogKEMpIENPUFlSSUdIVCBTVE1pY3JvZWxlY3Ryb25pY3MgKioqKipFTkQgT0YgRklMRSoqKiovCisKZGlmZiAtLWdpdCBhL1NyYy9zdG0zMmY0eHhfaGFsX2FkYy5jIGIvU3JjL3N0bTMyZjR4eF9oYWxfYWRjLmMKaW5kZXggY2YzZGY4MC4uOWMyYmEyOCAxMDA2NDQKLS0tIGEvU3JjL3N0bTMyZjR4eF9oYWxfYWRjLmMKKysrIGIvU3JjL3N0bTMyZjR4eF9oYWxfYWRjLmMKQEAgLTUsOSArNSwyMCBAQAogICAqIEBicmllZiAgIFRoaXMgZmlsZSBwcm92aWRlcyBmaXJtd2FyZSBmdW5jdGlvbnMgdG8gbWFuYWdlIHRoZSBmb2xsb3dpbmcgCiAgICogICAgICAgICAgZnVuY3Rpb25hbGl0aWVzIG9mIHRoZSBBbmFsb2cgdG8gRGlnaXRhbCBDb252ZXJ0ZXIgKEFEQykgcGVyaXBoZXJhbDoKICAgKiAgICAgICAgICAgKyBJbml0aWFsaXphdGlvbiBhbmQgZGUtaW5pdGlhbGl6YXRpb24gZnVuY3Rpb25zCi0gICogICAgICAgICAgICsgSU8gb3BlcmF0aW9uIGZ1bmN0aW9ucwotICAqICAgICAgICAgICArIFN0YXRlIGFuZCBlcnJvcnMgZnVuY3Rpb25zCi0gICogICAgICAgICAKKyAgKiAgICAgICAgICAgKyBQZXJpcGhlcmFsIENvbnRyb2wgZnVuY3Rpb25zCisgICogICAgICAgICAgICsgUGVyaXBoZXJhbCBTdGF0ZSBmdW5jdGlvbnMKKyAgKgorICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAgKiBAYXR0ZW50aW9uCisgICoKKyAgKiBDb3B5cmlnaHQgKGMpIDIwMTcgU1RNaWNyb2VsZWN0cm9uaWNzLgorICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgICoKKyAgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIHVuZGVyIHRlcm1zIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUKKyAgKiBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb2Z0d2FyZSBjb21wb25lbnQuCisgICogSWYgbm8gTElDRU5TRSBmaWxlIGNvbWVzIHdpdGggdGhpcyBzb2Z0d2FyZSwgaXQgaXMgcHJvdmlkZWQgQVMtSVMuCisgICoKKyAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgIEB2ZXJiYXRpbQogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgICAgICAgICAgICAgICAgICAgIyMjIyMgQURDIFBlcmlwaGVyYWwgZmVhdHVyZXMgIyMjIyMKQEAgLTIzMSwxOCArMjQyLDYgQEAKICAgICAgYXJlIHNldCB0byB0aGUgY29ycmVzcG9uZGluZyB3ZWFrIGZ1bmN0aW9ucy4KIAogICAgIEBlbmR2ZXJiYXRpbQotICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAgKiBAYXR0ZW50aW9uCi0gICoKLSAgKiA8aDI+PGNlbnRlcj4mY29weTsgQ29weXJpZ2h0IChjKSAyMDE3IFNUTWljcm9lbGVjdHJvbmljcy4KLSAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvY2VudGVyPjwvaDI+Ci0gICoKLSAgKiBUaGlzIHNvZnR3YXJlIGNvbXBvbmVudCBpcyBsaWNlbnNlZCBieSBTVCB1bmRlciBCU0QgMy1DbGF1c2UgbGljZW5zZSwKLSAgKiB0aGUgIkxpY2Vuc2UiOyBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlCi0gICogTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0OgotICAqICAgICAgICAgICAgICAgICAgICAgICAgb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvQlNELTMtQ2xhdXNlCi0gICoKLSAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICovIAogCiAvKiBJbmNsdWRlcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwpAQCAtMTIwMSwxMyArMTIwMCwxNiBAQAogewogICB1aW50MzJfdCB0bXAxID0gMFUsIHRtcDIgPSAwVTsKICAgCisgIHVpbnQzMl90IHRtcF9zciA9IGhhZGMtPkluc3RhbmNlLT5TUjsKKyAgdWludDMyX3QgdG1wX2NyMSA9IGhhZGMtPkluc3RhbmNlLT5DUjE7CisKICAgLyogQ2hlY2sgdGhlIHBhcmFtZXRlcnMgKi8KICAgYXNzZXJ0X3BhcmFtKElTX0ZVTkNUSU9OQUxfU1RBVEUoaGFkYy0+SW5pdC5Db250aW51b3VzQ29udk1vZGUpKTsKICAgYXNzZXJ0X3BhcmFtKElTX0FEQ19SRUdVTEFSX0xFTkdUSChoYWRjLT5Jbml0Lk5ick9mQ29udmVyc2lvbikpOwogICBhc3NlcnRfcGFyYW0oSVNfQURDX0VPQ1NlbGVjdGlvbihoYWRjLT5Jbml0LkVPQ1NlbGVjdGlvbikpOwogICAKLSAgdG1wMSA9IF9fSEFMX0FEQ19HRVRfRkxBRyhoYWRjLCBBRENfRkxBR19FT0MpOwotICB0bXAyID0gX19IQUxfQURDX0dFVF9JVF9TT1VSQ0UoaGFkYywgQURDX0lUX0VPQyk7CisgIHRtcDEgPSB0bXBfc3IgJiBBRENfRkxBR19FT0M7CisgIHRtcDIgPSB0bXBfY3IxICYgQURDX0lUX0VPQzsKICAgLyogQ2hlY2sgRW5kIG9mIGNvbnZlcnNpb24gZmxhZyBmb3IgcmVndWxhciBjaGFubmVscyAqLwogICBpZih0bXAxICYmIHRtcDIpCiAgIHsKQEAgLTEyNTUsOCArMTI1Nyw4IEBACiAgICAgX19IQUxfQURDX0NMRUFSX0ZMQUcoaGFkYywgQURDX0ZMQUdfU1RSVCB8IEFEQ19GTEFHX0VPQyk7CiAgIH0KICAgCi0gIHRtcDEgPSBfX0hBTF9BRENfR0VUX0ZMQUcoaGFkYywgQURDX0ZMQUdfSkVPQyk7Ci0gIHRtcDIgPSBfX0hBTF9BRENfR0VUX0lUX1NPVVJDRShoYWRjLCBBRENfSVRfSkVPQyk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICB0bXAxID0gdG1wX3NyICYgQURDX0ZMQUdfSkVPQzsKKyAgdG1wMiA9IHRtcF9jcjEgJiBBRENfSVRfSkVPQzsKICAgLyogQ2hlY2sgRW5kIG9mIGNvbnZlcnNpb24gZmxhZyBmb3IgaW5qZWN0ZWQgY2hhbm5lbHMgKi8KICAgaWYodG1wMSAmJiB0bXAyKQogICB7CkBAIC0xMzAyLDggKzEzMDQsOCBAQAogICAgIF9fSEFMX0FEQ19DTEVBUl9GTEFHKGhhZGMsIChBRENfRkxBR19KU1RSVCB8IEFEQ19GTEFHX0pFT0MpKTsKICAgfQogICAKLSAgdG1wMSA9IF9fSEFMX0FEQ19HRVRfRkxBRyhoYWRjLCBBRENfRkxBR19BV0QpOwotICB0bXAyID0gX19IQUxfQURDX0dFVF9JVF9TT1VSQ0UoaGFkYywgQURDX0lUX0FXRCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgdG1wMSA9IHRtcF9zciAmIEFEQ19GTEFHX0FXRDsKKyAgdG1wMiA9IHRtcF9jcjEgJiBBRENfSVRfQVdEOwogICAvKiBDaGVjayBBbmFsb2cgd2F0Y2hkb2cgZmxhZyAqLwogICBpZih0bXAxICYmIHRtcDIpCiAgIHsKQEAgLTEzMjQsOCArMTMyNiw4IEBACiAgICAgfQogICB9CiAgIAotICB0bXAxID0gX19IQUxfQURDX0dFVF9GTEFHKGhhZGMsIEFEQ19GTEFHX09WUik7Ci0gIHRtcDIgPSBfX0hBTF9BRENfR0VUX0lUX1NPVVJDRShoYWRjLCBBRENfSVRfT1ZSKTsKKyAgdG1wMSA9IHRtcF9zciAmIEFEQ19GTEFHX09WUjsKKyAgdG1wMiA9IHRtcF9jcjEgJiBBRENfSVRfT1ZSOwogICAvKiBDaGVjayBPdmVycnVuIGZsYWcgKi8KICAgaWYodG1wMSAmJiB0bXAyKQogICB7CkBAIC0xNjE3LDcgKzE2MTksNyBAQAogLyoqCiAgICogQGJyaWVmICBFcnJvciBBREMgY2FsbGJhY2suCiAgICogQG5vdGUgICBJbiBjYXNlIG9mIGVycm9yIGR1ZSB0byBvdmVycnVuIHdoZW4gdXNpbmcgQURDIHdpdGggRE1BIHRyYW5zZmVyIAotICAqICAgICAgICAgKEhBTCBBREMgaGFuZGxlIHBhcmFtYXRlciAiRXJyb3JDb2RlIiB0byBzdGF0ZSAiSEFMX0FEQ19FUlJPUl9PVlIiKToKKyAgKiAgICAgICAgIChIQUwgQURDIGhhbmRsZSBwYXJhbWV0ZXIgIkVycm9yQ29kZSIgdG8gc3RhdGUgIkhBTF9BRENfRVJST1JfT1ZSIik6CiAgICogICAgICAgICAtIFJlaW5pdGlhbGl6ZSB0aGUgRE1BIHVzaW5nIGZ1bmN0aW9uICJIQUxfQURDX1N0b3BfRE1BKCkiLgogICAqICAgICAgICAgLSBJZiBuZWVkZWQsIHJlc3RhcnQgYSBuZXcgQURDIGNvbnZlcnNpb24gdXNpbmcgZnVuY3Rpb24KICAgKiAgICAgICAgICAgIkhBTF9BRENfU3RhcnRfRE1BKCkiCkBAIC0yMTA2LDQgKzIxMDgsMyBAQAogICAqIEB9CiAgICovIAogCi0vKioqKioqKioqKioqKioqKioqKioqKioqIChDKSBDT1BZUklHSFQgU1RNaWNyb2VsZWN0cm9uaWNzICoqKioqRU5EIE9GIEZJTEUqKioqLwpkaWZmIC0tZ2l0IGEvU3JjL3N0bTMyZjR4eF9oYWxfYWRjX2V4LmMgYi9TcmMvc3RtMzJmNHh4X2hhbF9hZGNfZXguYwppbmRleCBjNTQ4OTUyLi5jOTcxZTIyIDEwMDY0NAotLS0gYS9TcmMvc3RtMzJmNHh4X2hhbF9hZGNfZXguYworKysgYi9TcmMvc3RtMzJmNHh4X2hhbF9hZGNfZXguYwpAQCAtNiw2ICs2LDE3IEBACiAgICogICAgICAgICAgZnVuY3Rpb25hbGl0aWVzIG9mIHRoZSBBREMgZXh0ZW5zaW9uIHBlcmlwaGVyYWw6CiAgICogICAgICAgICAgICsgRXh0ZW5kZWQgZmVhdHVyZXMgZnVuY3Rpb25zCiAgICoKKyAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgICogQGF0dGVudGlvbgorICAqCisgICogQ29weXJpZ2h0IChjKSAyMDE3IFNUTWljcm9lbGVjdHJvbmljcy4KKyAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICAqCisgICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciB0ZXJtcyB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlCisgICogaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc29mdHdhcmUgY29tcG9uZW50LgorICAqIElmIG5vIExJQ0VOU0UgZmlsZSBjb21lcyB3aXRoIHRoaXMgc29mdHdhcmUsIGl0IGlzIHByb3ZpZGVkIEFTLUlTLgorICAqCisgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICBAdmVyYmF0aW0KICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAgICAgICAgICAgICAgICAgICMjIyMjIEhvdyB0byB1c2UgdGhpcyBkcml2ZXIgIyMjIyMKQEAgLTY5LDE4ICs4MCw2IEBACiAKIAogICAgIEBlbmR2ZXJiYXRpbQotICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAgKiBAYXR0ZW50aW9uCi0gICoKLSAgKiA8aDI+PGNlbnRlcj4mY29weTsgQ29weXJpZ2h0IChjKSAyMDE3IFNUTWljcm9lbGVjdHJvbmljcy4KLSAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvY2VudGVyPjwvaDI+Ci0gICoKLSAgKiBUaGlzIHNvZnR3YXJlIGNvbXBvbmVudCBpcyBsaWNlbnNlZCBieSBTVCB1bmRlciBCU0QgMy1DbGF1c2UgbGljZW5zZSwKLSAgKiB0aGUgIkxpY2Vuc2UiOyBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlCi0gICogTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0OgotICAqICAgICAgICAgICAgICAgICAgICAgICAgb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvQlNELTMtQ2xhdXNlCi0gICoKLSAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICovCiAKIC8qIEluY2x1ZGVzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCkBAIC0xMTExLDQgKzExMTAsMyBAQAogICAqIEB9CiAgICovIAogCi0vKioqKioqKioqKioqKioqKioqKioqKioqIChDKSBDT1BZUklHSFQgU1RNaWNyb2VsZWN0cm9uaWNzICoqKioqRU5EIE9GIEZJTEUqKioqLwpkaWZmIC0tZ2l0IGEvU3JjL3N0bTMyZjR4eF9oYWxfY2FuLmMgYi9TcmMvc3RtMzJmNHh4X2hhbF9jYW4uYwppbmRleCAzZTAzNDc1Li40YWJkYzYwIDEwMDY0NAotLS0gYS9TcmMvc3RtMzJmNHh4X2hhbF9jYW4uYworKysgYi9TcmMvc3RtMzJmNHh4X2hhbF9jYW4uYwpAQCAtMTIsNiArMTIsMTcgQEAKICAgKiAgICAgICAgICAgKyBDYWxsYmFja3MgZnVuY3Rpb25zCiAgICogICAgICAgICAgICsgUGVyaXBoZXJhbCBTdGF0ZSBhbmQgRXJyb3IgZnVuY3Rpb25zCiAgICoKKyAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgICogQGF0dGVudGlvbgorICAqCisgICogQ29weXJpZ2h0IChjKSAyMDE2IFNUTWljcm9lbGVjdHJvbmljcy4KKyAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICAqCisgICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciB0ZXJtcyB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlCisgICogaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc29mdHdhcmUgY29tcG9uZW50LgorICAqIElmIG5vIExJQ0VOU0UgZmlsZSBjb21lcyB3aXRoIHRoaXMgc29mdHdhcmUsIGl0IGlzIHByb3ZpZGVkIEFTLUlTLgorICAqCisgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICBAdmVyYmF0aW0KICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAgICAgICAgICAgICAgICAgICAgICAjIyMjIyBIb3cgdG8gdXNlIHRoaXMgZHJpdmVyICMjIyMjCkBAIC0xOTYsMTcgKzIwNyw2IEBACiAKICAgQGVuZHZlcmJhdGltCiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICAqIEBhdHRlbnRpb24KLSAgKgotICAqIDxoMj48Y2VudGVyPiZjb3B5OyBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9jZW50ZXI+PC9oMj4KLSAgKgotICAqIFRoaXMgc29mdHdhcmUgY29tcG9uZW50IGlzIGxpY2Vuc2VkIGJ5IFNUIHVuZGVyIEJTRCAzLUNsYXVzZSBsaWNlbnNlLAotICAqIHRoZSAiTGljZW5zZSI7IFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUKLSAgKiBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQ6Ci0gICogICAgICAgICAgICAgICAgICAgICAgICBvcGVuc291cmNlLm9yZy9saWNlbnNlcy9CU0QtMy1DbGF1c2UKLSAgKgotICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKi8KIAogLyogSW5jbHVkZXMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KQEAgLTY3NSw3ICs2NzUsNyBAQAogCiAvKioKICAgKiBAYnJpZWYgIFVucmVnaXN0ZXIgYSBDQU4gQ2FsbEJhY2suCi0gICogICAgICAgICBDQU4gY2FsbGFiY2sgaXMgcmVkaXJlY3RlZCB0byB0aGUgd2VhayBwcmVkZWZpbmVkIGNhbGxiYWNrCisgICogICAgICAgICBDQU4gY2FsbGJhY2sgaXMgcmVkaXJlY3RlZCB0byB0aGUgd2VhayBwcmVkZWZpbmVkIGNhbGxiYWNrCiAgICogQHBhcmFtICBoY2FuIHBvaW50ZXIgdG8gYSBDQU5fSGFuZGxlVHlwZURlZiBzdHJ1Y3R1cmUgdGhhdCBjb250YWlucwogICAqICAgICAgICAgdGhlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gZm9yIENBTiBtb2R1bGUKICAgKiBAcGFyYW0gIENhbGxiYWNrSUQgSUQgb2YgdGhlIGNhbGxiYWNrIHRvIGJlIHVucmVnaXN0ZXJlZApAQCAtMjQ2MCw1ICsyNDYwLDMgQEAKIC8qKgogICAqIEB9CiAgICovCi0KLS8qKioqKioqKioqKioqKioqKioqKioqKiogKEMpIENPUFlSSUdIVCBTVE1pY3JvZWxlY3Ryb25pY3MgKioqKipFTkQgT0YgRklMRSoqKiovCmRpZmYgLS1naXQgYS9TcmMvc3RtMzJmNHh4X2hhbF9jZWMuYyBiL1NyYy9zdG0zMmY0eHhfaGFsX2NlYy5jCmluZGV4IGM1OTliY2YuLjU2ZTZlODQgMTAwNjQ0Ci0tLSBhL1NyYy9zdG0zMmY0eHhfaGFsX2NlYy5jCisrKyBiL1NyYy9zdG0zMmY0eHhfaGFsX2NlYy5jCkBAIC0xMSw2ICsxMSwxNyBAQAogICAqICAgICAgICAgICArIFBlcmlwaGVyYWwgQ29udHJvbCBmdW5jdGlvbgogICAqCiAgICoKKyAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgICogQGF0dGVudGlvbgorICAqCisgICogQ29weXJpZ2h0IChjKSAyMDE2IFNUTWljcm9lbGVjdHJvbmljcy4KKyAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICAqCisgICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciB0ZXJtcyB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlCisgICogaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc29mdHdhcmUgY29tcG9uZW50LgorICAqIElmIG5vIExJQ0VOU0UgZmlsZSBjb21lcyB3aXRoIHRoaXMgc29mdHdhcmUsIGl0IGlzIHByb3ZpZGVkIEFTLUlTLgorICAqCisgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICBAdmVyYmF0aW0KICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAgICAgICAgICAgICAgICAgICAgICAjIyMjIyBIb3cgdG8gdXNlIHRoaXMgZHJpdmVyICMjIyMjCkBAIC05NiwxNyArMTA3LDYgQEAKICAgYXJlIHNldCB0byB0aGUgY29ycmVzcG9uZGluZyB3ZWFrIGZ1bmN0aW9ucy4KICAgQGVuZHZlcmJhdGltCiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICAqIEBhdHRlbnRpb24KLSAgKgotICAqIDxoMj48Y2VudGVyPiZjb3B5OyBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9jZW50ZXI+PC9oMj4KLSAgKgotICAqIFRoaXMgc29mdHdhcmUgY29tcG9uZW50IGlzIGxpY2Vuc2VkIGJ5IFNUIHVuZGVyIEJTRCAzLUNsYXVzZSBsaWNlbnNlLAotICAqIHRoZSAiTGljZW5zZSI7IFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUKLSAgKiBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQ6Ci0gICogICAgICAgICAgICAgICAgICAgICAgICBvcGVuc291cmNlLm9yZy9saWNlbnNlcy9CU0QtMy1DbGF1c2UKLSAgKgotICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKi8KIAogLyogSW5jbHVkZXMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KQEAgLTQ5Nyw3ICs0OTcsNyBAQAogCiAvKioKICAgKiBAYnJpZWYgIFVucmVnaXN0ZXIgYW4gQ0VDIENhbGxiYWNrCi0gICogICAgICAgICBDRUMgY2FsbGFiY2sgaXMgcmVkaXJlY3RlZCB0byB0aGUgd2VhayBwcmVkZWZpbmVkIGNhbGxiYWNrCisgICogICAgICAgICBDRUMgY2FsbGJhY2sgaXMgcmVkaXJlY3RlZCB0byB0aGUgd2VhayBwcmVkZWZpbmVkIGNhbGxiYWNrCiAgICogQHBhcmFtIGhjZWMgdWFydCBoYW5kbGUKICAgKiBAcGFyYW0gQ2FsbGJhY2tJRCBJRCBvZiB0aGUgY2FsbGJhY2sgdG8gYmUgdW5yZWdpc3RlcmVkCiAgICogICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgb25lIG9mIHRoZSBmb2xsb3dpbmcgdmFsdWVzOgpAQCAtOTk0LDQgKzk5NCwzIEBACiAgICogQH0KICAgKi8KIAotLyoqKioqKioqKioqKioqKioqKioqKioqKiAoQykgQ09QWVJJR0hUIFNUTWljcm9lbGVjdHJvbmljcyAqKioqKkVORCBPRiBGSUxFKioqKi8KZGlmZiAtLWdpdCBhL1NyYy9zdG0zMmY0eHhfaGFsX2NvcnRleC5jIGIvU3JjL3N0bTMyZjR4eF9oYWxfY29ydGV4LmMKaW5kZXggMmVmYjk4Ni4uOTg1MTVjNSAxMDA2NDQKLS0tIGEvU3JjL3N0bTMyZjR4eF9oYWxfY29ydGV4LmMKKysrIGIvU3JjL3N0bTMyZjR4eF9oYWxfY29ydGV4LmMKQEAgLTY4LDE0ICs2OCwxMiBAQAogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKiBAYXR0ZW50aW9uCiAgICoKLSAgKiA8aDI+PGNlbnRlcj4mY29weTsgQ29weXJpZ2h0IChjKSAyMDE3IFNUTWljcm9lbGVjdHJvbmljcy4KLSAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvY2VudGVyPjwvaDI+CisgICogQ29weXJpZ2h0IChjKSAyMDE3IFNUTWljcm9lbGVjdHJvbmljcy4KKyAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAqCi0gICogVGhpcyBzb2Z0d2FyZSBjb21wb25lbnQgaXMgbGljZW5zZWQgYnkgU1QgdW5kZXIgQlNEIDMtQ2xhdXNlIGxpY2Vuc2UsCi0gICogdGhlICJMaWNlbnNlIjsgWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZQotICAqIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdDoKLSAgKiAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZQotICAqCisgICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciB0ZXJtcyB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGluCisgICogdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc29mdHdhcmUgY29tcG9uZW50LgorICAqIElmIG5vIExJQ0VOU0UgZmlsZSBjb21lcyB3aXRoIHRoaXMgc29mdHdhcmUsIGl0IGlzIHByb3ZpZGVkIEFTLUlTLgogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKi8KIApAQCAtNTAyLDQgKzUwMCwzIEBACiAgICogQH0KICAgKi8KIAotLyoqKioqKioqKioqKioqKioqKioqKioqKiAoQykgQ09QWVJJR0hUIFNUTWljcm9lbGVjdHJvbmljcyAqKioqKkVORCBPRiBGSUxFKioqKi8KZGlmZiAtLWdpdCBhL1NyYy9zdG0zMmY0eHhfaGFsX2NyYy5jIGIvU3JjL3N0bTMyZjR4eF9oYWxfY3JjLmMKaW5kZXggNjUyZWVkYS4uMmU4NmIyYiAxMDA2NDQKLS0tIGEvU3JjL3N0bTMyZjR4eF9oYWxfY3JjLmMKKysrIGIvU3JjL3N0bTMyZjR4eF9oYWxfY3JjLmMKQEAgLTksNiArOSwxNyBAQAogICAqICAgICAgICAgICArIFBlcmlwaGVyYWwgQ29udHJvbCBmdW5jdGlvbnMKICAgKiAgICAgICAgICAgKyBQZXJpcGhlcmFsIFN0YXRlIGZ1bmN0aW9ucwogICAqCisgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICAqIEBhdHRlbnRpb24KKyAgKgorICAqIENvcHlyaWdodCAoYykgMjAxNiBTVE1pY3JvZWxlY3Ryb25pY3MuCisgICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAgKgorICAqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgdW5kZXIgdGVybXMgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZQorICAqIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvZnR3YXJlIGNvbXBvbmVudC4KKyAgKiBJZiBubyBMSUNFTlNFIGZpbGUgY29tZXMgd2l0aCB0aGlzIHNvZnR3YXJlLCBpdCBpcyBwcm92aWRlZCBBUy1JUy4KKyAgKgorICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgQHZlcmJhdGltCiAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgICAgICAgICAgICAgICAgICAgIyMjIyMgSG93IHRvIHVzZSB0aGlzIGRyaXZlciAjIyMjIwpAQCAtMjksMTcgKzQwLDYgQEAKIAogICBAZW5kdmVyYmF0aW0KICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gICogQGF0dGVudGlvbgotICAqCi0gICogPGgyPjxjZW50ZXI+JmNvcHk7IENvcHlyaWdodCAoYykgMjAxNiBTVE1pY3JvZWxlY3Ryb25pY3MuCi0gICogQWxsIHJpZ2h0cyByZXNlcnZlZC48L2NlbnRlcj48L2gyPgotICAqCi0gICogVGhpcyBzb2Z0d2FyZSBjb21wb25lbnQgaXMgbGljZW5zZWQgYnkgU1QgdW5kZXIgQlNEIDMtQ2xhdXNlIGxpY2Vuc2UsCi0gICogdGhlICJMaWNlbnNlIjsgWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZQotICAqIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdDoKLSAgKiAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZQotICAqCi0gICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqLwogCiAvKiBJbmNsdWRlcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwpAQCAtMzI2LDUgKzMyNiwzIEBACiAvKioKICAgKiBAfQogICAqLwotCi0vKioqKioqKioqKioqKioqKioqKioqKioqIChDKSBDT1BZUklHSFQgU1RNaWNyb2VsZWN0cm9uaWNzICoqKioqRU5EIE9GIEZJTEUqKioqLwpkaWZmIC0tZ2l0IGEvU3JjL3N0bTMyZjR4eF9oYWxfY3J5cC5jIGIvU3JjL3N0bTMyZjR4eF9oYWxfY3J5cC5jCmluZGV4IGVmYjY0ZTUuLmNjZTBkNDYgMTAwNjQ0Ci0tLSBhL1NyYy9zdG0zMmY0eHhfaGFsX2NyeXAuYworKysgYi9TcmMvc3RtMzJmNHh4X2hhbF9jcnlwLmMKQEAgLTExLDYgKzExLDE3IEBACiAgICogICAgICAgICAgICsgQ1JZUCBJUlEgaGFuZGxlciBtYW5hZ2VtZW50CiAgICogICAgICAgICAgICsgUGVyaXBoZXJhbCBTdGF0ZSBmdW5jdGlvbnMKICAgKgorICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAgKiBAYXR0ZW50aW9uCisgICoKKyAgKiBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgorICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgICoKKyAgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIHVuZGVyIHRlcm1zIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUKKyAgKiBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb2Z0d2FyZSBjb21wb25lbnQuCisgICogSWYgbm8gTElDRU5TRSBmaWxlIGNvbWVzIHdpdGggdGhpcyBzb2Z0d2FyZSwgaXQgaXMgcHJvdmlkZWQgQVMtSVMuCisgICoKKyAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgIEB2ZXJiYXRpbQogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgICAgICAgICAgICAgICAgICAgICMjIyMjIEhvdyB0byB1c2UgdGhpcyBkcml2ZXIgIyMjIyMKQEAgLTE0OCwxMCArMTU5LDEwIEBACiAKICAgVGhlIGNvbXBpbGF0aW9uIGRlZmluZSAgVVNFX0hBTF9DUllQX1JFR0lTVEVSX0NBTExCQUNLUyB3aGVuIHNldCB0byAxCiAgIGFsbG93cyB0aGUgdXNlciB0byBjb25maWd1cmUgZHluYW1pY2FsbHkgdGhlIGRyaXZlciBjYWxsYmFja3MuCi0gIFVzZSBGdW5jdGlvbnMgQHJlZiBIQUxfQ1JZUF9SZWdpc3RlckNhbGxiYWNrKCkgb3IgSEFMX0NSWVBfUmVnaXN0ZXJYWFhDYWxsYmFjaygpCisgIFVzZSBGdW5jdGlvbnMgSEFMX0NSWVBfUmVnaXN0ZXJDYWxsYmFjaygpIG9yIEhBTF9DUllQX1JlZ2lzdGVyWFhYQ2FsbGJhY2soKQogICB0byByZWdpc3RlciBhbiBpbnRlcnJ1cHQgY2FsbGJhY2suCiAKLSAgRnVuY3Rpb24gQHJlZiBIQUxfQ1JZUF9SZWdpc3RlckNhbGxiYWNrKCkgYWxsb3dzIHRvIHJlZ2lzdGVyIGZvbGxvd2luZyBjYWxsYmFja3M6CisgIEZ1bmN0aW9uIEhBTF9DUllQX1JlZ2lzdGVyQ2FsbGJhY2soKSBhbGxvd3MgdG8gcmVnaXN0ZXIgZm9sbG93aW5nIGNhbGxiYWNrczoKICAgICAoKykgSW5DcGx0Q2FsbGJhY2sgICAgIDogIElucHV0IEZJRk8gdHJhbnNmZXIgY29tcGxldGVkIGNhbGxiYWNrLgogICAgICgrKSBPdXRDcGx0Q2FsbGJhY2sgICAgOiBPdXRwdXQgRklGTyB0cmFuc2ZlciBjb21wbGV0ZWQgY2FsbGJhY2suCiAgICAgKCspIEVycm9yQ2FsbGJhY2sgICAgICA6IGNhbGxiYWNrIGZvciBlcnJvciBkZXRlY3Rpb24uCkBAIC0xNjAsOSArMTcxLDkgQEAKICAgVGhpcyBmdW5jdGlvbiB0YWtlcyBhcyBwYXJhbWV0ZXJzIHRoZSBIQUwgcGVyaXBoZXJhbCBoYW5kbGUsIHRoZSBDYWxsYmFjayBJRAogICBhbmQgYSBwb2ludGVyIHRvIHRoZSB1c2VyIGNhbGxiYWNrIGZ1bmN0aW9uLgogCi0gIFVzZSBmdW5jdGlvbiBAcmVmIEhBTF9DUllQX1VuUmVnaXN0ZXJDYWxsYmFjaygpIHRvIHJlc2V0IGEgY2FsbGJhY2sgdG8gdGhlIGRlZmF1bHQKKyAgVXNlIGZ1bmN0aW9uIEhBTF9DUllQX1VuUmVnaXN0ZXJDYWxsYmFjaygpIHRvIHJlc2V0IGEgY2FsbGJhY2sgdG8gdGhlIGRlZmF1bHQKICAgd2VhayBmdW5jdGlvbi4KLSAgQHJlZiBIQUxfQ1JZUF9VblJlZ2lzdGVyQ2FsbGJhY2soKSB0YWtlcyBhcyBwYXJhbWV0ZXJzIHRoZSBIQUwgcGVyaXBoZXJhbCBoYW5kbGUsCisgIEhBTF9DUllQX1VuUmVnaXN0ZXJDYWxsYmFjaygpIHRha2VzIGFzIHBhcmFtZXRlcnMgdGhlIEhBTCBwZXJpcGhlcmFsIGhhbmRsZSwKICAgYW5kIHRoZSBDYWxsYmFjayBJRC4KICAgVGhpcyBmdW5jdGlvbiBhbGxvd3MgdG8gcmVzZXQgZm9sbG93aW5nIGNhbGxiYWNrczoKICAgICAoKykgSW5DcGx0Q2FsbGJhY2sgICAgIDogIElucHV0IEZJRk8gdHJhbnNmZXIgY29tcGxldGVkIGNhbGxiYWNrLgpAQCAtMTcxLDEzICsxODIsMTMgQEAKICAgICAoKykgTXNwSW5pdENhbGxiYWNrICAgIDogQ1JZUCBNc3BJbml0LgogICAgICgrKSBNc3BEZUluaXRDYWxsYmFjayAgOiBDUllQIE1zcERlSW5pdC4KIAotICBCeSBkZWZhdWx0LCBhZnRlciB0aGUgQHJlZiBIQUxfQ1JZUF9Jbml0KCkgYW5kIHdoZW4gdGhlIHN0YXRlIGlzIEhBTF9DUllQX1NUQVRFX1JFU0VUCisgIEJ5IGRlZmF1bHQsIGFmdGVyIHRoZSBIQUxfQ1JZUF9Jbml0KCkgYW5kIHdoZW4gdGhlIHN0YXRlIGlzIEhBTF9DUllQX1NUQVRFX1JFU0VUCiAgIGFsbCBjYWxsYmFja3MgYXJlIHNldCB0byB0aGUgY29ycmVzcG9uZGluZyB3ZWFrIGZ1bmN0aW9ucyA6Ci0gIGV4YW1wbGVzIEByZWYgSEFMX0NSWVBfSW5DcGx0Q2FsbGJhY2soKSAsIEByZWYgSEFMX0NSWVBfT3V0Q3BsdENhbGxiYWNrKCkuCisgIGV4YW1wbGVzIEhBTF9DUllQX0luQ3BsdENhbGxiYWNrKCkgLCBIQUxfQ1JZUF9PdXRDcGx0Q2FsbGJhY2soKS4KICAgRXhjZXB0aW9uIGRvbmUgZm9yIE1zcEluaXQgYW5kIE1zcERlSW5pdCBmdW5jdGlvbnMgdGhhdCBhcmUKLSAgcmVzZXQgdG8gdGhlIGxlZ2FjeSB3ZWFrIGZ1bmN0aW9uIGluIHRoZSBAcmVmIEhBTF9DUllQX0luaXQoKS8gQHJlZiBIQUxfQ1JZUF9EZUluaXQoKSBvbmx5IHdoZW4KKyAgcmVzZXQgdG8gdGhlIGxlZ2FjeSB3ZWFrIGZ1bmN0aW9uIGluIHRoZSBIQUxfQ1JZUF9Jbml0KCkvIEhBTF9DUllQX0RlSW5pdCgpIG9ubHkgd2hlbgogICB0aGVzZSBjYWxsYmFja3MgYXJlIG51bGwgKG5vdCByZWdpc3RlcmVkIGJlZm9yZWhhbmQpLgotICBpZiBub3QsIE1zcEluaXQgb3IgTXNwRGVJbml0IGFyZSBub3QgbnVsbCwgdGhlIEByZWYgSEFMX0NSWVBfSW5pdCgpIC8gQHJlZiBIQUxfQ1JZUF9EZUluaXQoKQorICBpZiBub3QsIE1zcEluaXQgb3IgTXNwRGVJbml0IGFyZSBub3QgbnVsbCwgdGhlIEhBTF9DUllQX0luaXQoKSAvIEhBTF9DUllQX0RlSW5pdCgpCiAgIGtlZXAgYW5kIHVzZSB0aGUgdXNlciBNc3BJbml0L01zcERlSW5pdCBmdW5jdGlvbnMgKHJlZ2lzdGVyZWQgYmVmb3JlaGFuZCkKIAogICBDYWxsYmFja3MgY2FuIGJlIHJlZ2lzdGVyZWQvdW5yZWdpc3RlcmVkIGluIEhBTF9DUllQX1NUQVRFX1JFQURZIHN0YXRlIG9ubHkuCkBAIC0xODUsOCArMTk2LDggQEAKICAgaW4gSEFMX0NSWVBfU1RBVEVfUkVBRFkgb3IgSEFMX0NSWVBfU1RBVEVfUkVTRVQgc3RhdGUsCiAgIHRodXMgcmVnaXN0ZXJlZCAodXNlcikgTXNwSW5pdC9EZUluaXQgY2FsbGJhY2tzIGNhbiBiZSB1c2VkIGR1cmluZyB0aGUgSW5pdC9EZUluaXQuCiAgIEluIHRoYXQgY2FzZSBmaXJzdCByZWdpc3RlciB0aGUgTXNwSW5pdC9Nc3BEZUluaXQgdXNlciBjYWxsYmFja3MKLSAgdXNpbmcgQHJlZiBIQUxfQ1JZUF9SZWdpc3RlckNhbGxiYWNrKCkgYmVmb3JlIGNhbGxpbmcgQHJlZiBIQUxfQ1JZUF9EZUluaXQoKQotICBvciBAcmVmIEhBTF9DUllQX0luaXQoKSBmdW5jdGlvbi4KKyAgdXNpbmcgSEFMX0NSWVBfUmVnaXN0ZXJDYWxsYmFjaygpIGJlZm9yZSBjYWxsaW5nIEhBTF9DUllQX0RlSW5pdCgpCisgIG9yIEhBTF9DUllQX0luaXQoKSBmdW5jdGlvbi4KIAogICBXaGVuIFRoZSBjb21waWxhdGlvbiBkZWZpbmUgVVNFX0hBTF9DUllQX1JFR0lTVEVSX0NBTExCQUNLUyBpcyBzZXQgdG8gMCBvcgogICBub3QgZGVmaW5lZCwgdGhlIGNhbGxiYWNrIHJlZ2lzdHJhdGlvbiBmZWF0dXJlIGlzIG5vdCBhdmFpbGFibGUgYW5kIGFsbCBjYWxsYmFja3MKQEAgLTI0MSwxNyArMjUyLDYgQEAKIAogICBAZW5kdmVyYmF0aW0KICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gICogQGF0dGVudGlvbgotICAqCi0gICogPGgyPjxjZW50ZXI+JmNvcHk7IENvcHlyaWdodCAoYykgMjAxNiBTVE1pY3JvZWxlY3Ryb25pY3MuCi0gICogQWxsIHJpZ2h0cyByZXNlcnZlZC48L2NlbnRlcj48L2gyPgotICAqCi0gICogVGhpcyBzb2Z0d2FyZSBjb21wb25lbnQgaXMgbGljZW5zZWQgYnkgU1QgdW5kZXIgQlNEIDMtQ2xhdXNlIGxpY2Vuc2UsCi0gICogdGhlICJMaWNlbnNlIjsgWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZQotICAqIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdDoKLSAgKiAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZQotICAqCi0gICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqLwogCiAvKiBJbmNsdWRlcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwpAQCAtNDcwLDcgKzQ3MCw3IEBACiAgIH0KICNlbmRpZiAvKiAoVVNFX0hBTF9DUllQX1JFR0lTVEVSX0NBTExCQUNLUykgKi8KIAotICAvKiBTZXQgdGhlIGtleSBzaXplKFRoaXMgYml0IGZpZWxkIGlzIGRvbpJ0IGNhcmUgaW4gdGhlIERFUyBvciBUREVTIG1vZGVzKSBkYXRhIHR5cGUgYW5kIEFsZ29yaXRobSAqLworICAvKiBTZXQgdGhlIGtleSBzaXplKFRoaXMgYml0IGZpZWxkIGlzIGRvbid0IGNhcmUgaW4gdGhlIERFUyBvciBUREVTIG1vZGVzKSBkYXRhIHR5cGUgYW5kIEFsZ29yaXRobSAqLwogI2lmIGRlZmluZWQgKENSWVApCiAKICAgTU9ESUZZX1JFRyhoY3J5cC0+SW5zdGFuY2UtPkNSLCBDUllQX0NSX0RBVEFUWVBFIHwgQ1JZUF9DUl9LRVlTSVpFIHwgQ1JZUF9DUl9BTEdPTU9ERSwKQEAgLTU4OSw3ICs1ODksNyBAQAogICAgIGhjcnlwLT5Jbml0LktleUlWQ29uZmlnU2tpcCA9IHBDb25mLT5LZXlJVkNvbmZpZ1NraXA7CiAgICAgaGNyeXAtPkluaXQuSGVhZGVyV2lkdGhVbml0ID0gcENvbmYtPkhlYWRlcldpZHRoVW5pdDsKIAotICAgIC8qIFNldCB0aGUga2V5IHNpemUoVGhpcyBiaXQgZmllbGQgaXMgZG9uknQgY2FyZSBpbiB0aGUgREVTIG9yIFRERVMgbW9kZXMpIGRhdGEgdHlwZSwgQWxnb01vZGUgYW5kIG9wZXJhdGluZyBtb2RlKi8KKyAgICAvKiBTZXQgdGhlIGtleSBzaXplKFRoaXMgYml0IGZpZWxkIGlzIGRvbid0IGNhcmUgaW4gdGhlIERFUyBvciBUREVTIG1vZGVzKSBkYXRhIHR5cGUsIEFsZ29Nb2RlIGFuZCBvcGVyYXRpbmcgbW9kZSovCiAjaWYgZGVmaW5lZCAoQ1JZUCkKIAogICAgIE1PRElGWV9SRUcoaGNyeXAtPkluc3RhbmNlLT5DUiwgQ1JZUF9DUl9EQVRBVFlQRSB8IENSWVBfQ1JfS0VZU0laRSB8IENSWVBfQ1JfQUxHT01PREUsCkBAIC03MTMwLDQgKzcxMzAsMyBAQAogICAqIEB9CiAgICovCiAKLS8qKioqKioqKioqKioqKioqKioqKioqKiogKEMpIENPUFlSSUdIVCBTVE1pY3JvZWxlY3Ryb25pY3MgKioqKipFTkQgT0YgRklMRSoqKiovCmRpZmYgLS1naXQgYS9TcmMvc3RtMzJmNHh4X2hhbF9jcnlwX2V4LmMgYi9TcmMvc3RtMzJmNHh4X2hhbF9jcnlwX2V4LmMKaW5kZXggNDNiMjM4YS4uM2E4Mjg0NyAxMDA2NDQKLS0tIGEvU3JjL3N0bTMyZjR4eF9oYWxfY3J5cF9leC5jCisrKyBiL1NyYy9zdG0zMmY0eHhfaGFsX2NyeXBfZXguYwpAQCAtNyw2ICs3LDE3IEBACiAgICogICAgICAgICAgZnVuY3Rpb25hbGl0aWVzIG9mIENSWVAgZXh0ZW5zaW9uIHBlcmlwaGVyYWw6CiAgICogICAgICAgICAgICsgRXh0ZW5kZWQgQUVTIHByb2Nlc3NpbmcgZnVuY3Rpb25zCiAgICoKKyAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgICogQGF0dGVudGlvbgorICAqCisgICogQ29weXJpZ2h0IChjKSAyMDE2IFNUTWljcm9lbGVjdHJvbmljcy4KKyAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICAqCisgICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciB0ZXJtcyB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlCisgICogaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc29mdHdhcmUgY29tcG9uZW50LgorICAqIElmIG5vIExJQ0VOU0UgZmlsZSBjb21lcyB3aXRoIHRoaXMgc29mdHdhcmUsIGl0IGlzIHByb3ZpZGVkIEFTLUlTLgorICAqCisgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICBAdmVyYmF0aW0KICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAgICAgICAgICAgICAgICAgICAjIyMjIyBIb3cgdG8gdXNlIHRoaXMgZHJpdmVyICMjIyMjCkBAIC0yMCwxNyArMzEsNiBAQAogCiAgIEBlbmR2ZXJiYXRpbQogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAgKiBAYXR0ZW50aW9uCi0gICoKLSAgKiA8aDI+PGNlbnRlcj4mY29weTsgQ29weXJpZ2h0IChjKSAyMDE2IFNUTWljcm9lbGVjdHJvbmljcy4KLSAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvY2VudGVyPjwvaDI+Ci0gICoKLSAgKiBUaGlzIHNvZnR3YXJlIGNvbXBvbmVudCBpcyBsaWNlbnNlZCBieSBTVCB1bmRlciBCU0QgMy1DbGF1c2UgbGljZW5zZSwKLSAgKiB0aGUgIkxpY2Vuc2UiOyBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlCi0gICogTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0OgotICAqICAgICAgICAgICAgICAgICAgICAgICAgb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvQlNELTMtQ2xhdXNlCi0gICoKLSAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICovCiAKIC8qIEluY2x1ZGVzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCkBAIC0xNzcsNyArMTc3LDcgQEAKICAgICAvKiBTZWxlY3QgZmluYWwgcGhhc2UgKi8KICAgICBNT0RJRllfUkVHKGhjcnlwLT5JbnN0YW5jZS0+Q1IsIENSWVBfQ1JfR0NNX0NDTVBILCBDUllQX1BIQVNFX0ZJTkFMKTsKIAotICAgIC8qQUxHT0RJUiBiaXQgbXVzdCBiZSBzZXQgdG8gkTCSLiovCisgICAgLypBTEdPRElSIGJpdCBtdXN0IGJlIHNldCB0byAnMCcuKi8KICAgICBoY3J5cC0+SW5zdGFuY2UtPkNSICY9ICB+Q1JZUF9DUl9BTEdPRElSOwogCiAgICAgLyogRW5hYmxlIHRoZSBDUllQIHBlcmlwaGVyYWwgKi8KQEAgLTM5NSw3ICszOTUsNyBAQAogICAgIC8qIERpc2FibGUgQ1JZUCB0byBzdGFydCB0aGUgZmluYWwgcGhhc2UgKi8KICAgICBfX0hBTF9DUllQX0RJU0FCTEUoaGNyeXApOwogCi0gICAgLyogU2VsZWN0IGZpbmFsIHBoYXNlICYgQUxHT0RJUiBiaXQgbXVzdCBiZSBzZXQgdG8gkTCSLiAqLworICAgIC8qIFNlbGVjdCBmaW5hbCBwaGFzZSAmIEFMR09ESVIgYml0IG11c3QgYmUgc2V0IHRvICcwJy4gKi8KICAgICBNT0RJRllfUkVHKGhjcnlwLT5JbnN0YW5jZS0+Q1IsIENSWVBfQ1JfR0NNX0NDTVBIIHwgQ1JZUF9DUl9BTEdPRElSLCBDUllQX1BIQVNFX0ZJTkFMIHwgQ1JZUF9PUEVSQVRJTkdNT0RFX0VOQ1JZUFQpOwogCiAgICAgLyogRW5hYmxlIHRoZSBDUllQIHBlcmlwaGVyYWwgKi8KQEAgLTY3OCw0ICs2NzgsMyBAQAogICAqIEB9CiAgICovCiAKLS8qKioqKioqKioqKioqKioqKioqKioqKiogKEMpIENPUFlSSUdIVCBTVE1pY3JvZWxlY3Ryb25pY3MgKioqKipFTkQgT0YgRklMRSoqKiovCmRpZmYgLS1naXQgYS9TcmMvc3RtMzJmNHh4X2hhbF9kYWMuYyBiL1NyYy9zdG0zMmY0eHhfaGFsX2RhYy5jCmluZGV4IDkzOWFkYWYuLjkwMjNlM2UgMTAwNjQ0Ci0tLSBhL1NyYy9zdG0zMmY0eHhfaGFsX2RhYy5jCisrKyBiL1NyYy9zdG0zMmY0eHhfaGFsX2RhYy5jCkBAIC0xMSw2ICsxMSwxNyBAQAogICAqICAgICAgICAgICArIFBlcmlwaGVyYWwgU3RhdGUgYW5kIEVycm9ycyBmdW5jdGlvbnMKICAgKgogICAqCisgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICAqIEBhdHRlbnRpb24KKyAgKgorICAqIENvcHlyaWdodCAoYykgMjAxNiBTVE1pY3JvZWxlY3Ryb25pY3MuCisgICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAgKgorICAqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgdW5kZXIgdGVybXMgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZQorICAqIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvZnR3YXJlIGNvbXBvbmVudC4KKyAgKiBJZiBubyBMSUNFTlNFIGZpbGUgY29tZXMgd2l0aCB0aGlzIHNvZnR3YXJlLCBpdCBpcyBwcm92aWRlZCBBUy1JUy4KKyAgKgorICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgQHZlcmJhdGltCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgICAgICAgICAgICAgICAgICAgICMjIyMjIERBQyBQZXJpcGhlcmFsIGZlYXR1cmVzICMjIyMjCkBAIC0yMDYsMTcgKzIxNyw2IEBACiAKIEBlbmR2ZXJiYXRpbQogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAgKiBAYXR0ZW50aW9uCi0gICoKLSAgKiA8aDI+PGNlbnRlcj4mY29weTsgQ29weXJpZ2h0IChjKSAyMDE2IFNUTWljcm9lbGVjdHJvbmljcy4KLSAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvY2VudGVyPjwvaDI+Ci0gICoKLSAgKiBUaGlzIHNvZnR3YXJlIGNvbXBvbmVudCBpcyBsaWNlbnNlZCBieSBTVCB1bmRlciBCU0QgMy1DbGF1c2UgbGljZW5zZSwKLSAgKiB0aGUgIkxpY2Vuc2UiOyBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlCi0gICogTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0OgotICAqICAgICAgICAgICAgICAgICAgICAgICAgb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvQlNELTMtQ2xhdXNlCi0gICoKLSAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICovCiAKIC8qIEluY2x1ZGVzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCkBAIC01MjIsNyArNTIyLDcgQEAKIEhBTF9TdGF0dXNUeXBlRGVmIEhBTF9EQUNfU3RhcnRfRE1BKERBQ19IYW5kbGVUeXBlRGVmICpoZGFjLCB1aW50MzJfdCBDaGFubmVsLCB1aW50MzJfdCAqcERhdGEsIHVpbnQzMl90IExlbmd0aCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IEFsaWdubWVudCkKIHsKLSAgSEFMX1N0YXR1c1R5cGVEZWYgc3RhdHVzOworICBIQUxfU3RhdHVzVHlwZURlZiBzdGF0dXMgPSBIQUxfT0s7CiAgIHVpbnQzMl90IHRtcHJlZyA9IDBVOwogCiAgIC8qIENoZWNrIHRoZSBwYXJhbWV0ZXJzICovCkBAIC04OTUsNyArODk1LDcgQEAKICAgKi8KIHVpbnQzMl90IEhBTF9EQUNfR2V0VmFsdWUoREFDX0hhbmRsZVR5cGVEZWYgKmhkYWMsIHVpbnQzMl90IENoYW5uZWwpCiB7Ci0gIHVpbnQzMl90IHJlc3VsdDsKKyAgdWludDMyX3QgcmVzdWx0ID0gMDsKIAogICAvKiBDaGVjayB0aGUgcGFyYW1ldGVycyAqLwogICBhc3NlcnRfcGFyYW0oSVNfREFDX0NIQU5ORUwoQ2hhbm5lbCkpOwpAQCAtMTMzOSw0ICsxMzM5LDMgQEAKICAgKiBAfQogICAqLwogCi0vKioqKioqKioqKioqKioqKioqKioqKioqIChDKSBDT1BZUklHSFQgU1RNaWNyb2VsZWN0cm9uaWNzICoqKioqRU5EIE9GIEZJTEUqKioqLwpkaWZmIC0tZ2l0IGEvU3JjL3N0bTMyZjR4eF9oYWxfZGFjX2V4LmMgYi9TcmMvc3RtMzJmNHh4X2hhbF9kYWNfZXguYwppbmRleCA0YTA1OTk4Li4zNDNkZDk4IDEwMDY0NAotLS0gYS9TcmMvc3RtMzJmNHh4X2hhbF9kYWNfZXguYworKysgYi9TcmMvc3RtMzJmNHh4X2hhbF9kYWNfZXguYwpAQCAtNyw2ICs3LDE3IEBACiAgICogICAgICAgICAgZnVuY3Rpb25hbGl0aWVzIG9mIHRoZSBEQUMgcGVyaXBoZXJhbC4KICAgKgogICAqCisgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICAqIEBhdHRlbnRpb24KKyAgKgorICAqIENvcHlyaWdodCAoYykgMjAxNiBTVE1pY3JvZWxlY3Ryb25pY3MuCisgICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAgKgorICAqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgdW5kZXIgdGVybXMgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZQorICAqIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvZnR3YXJlIGNvbXBvbmVudC4KKyAgKiBJZiBubyBMSUNFTlNFIGZpbGUgY29tZXMgd2l0aCB0aGlzIHNvZnR3YXJlLCBpdCBpcyBwcm92aWRlZCBBUy1JUy4KKyAgKgorICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgQHZlcmJhdGltCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgICAgICAgICAgICAgICAgICAgICMjIyMjIEhvdyB0byB1c2UgdGhpcyBkcml2ZXIgIyMjIyMKQEAgLTI5LDE3ICs0MCw2IEBACiAKICBAZW5kdmVyYmF0aW0KICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gICogQGF0dGVudGlvbgotICAqCi0gICogPGgyPjxjZW50ZXI+JmNvcHk7IENvcHlyaWdodCAoYykgMjAxNiBTVE1pY3JvZWxlY3Ryb25pY3MuCi0gICogQWxsIHJpZ2h0cyByZXNlcnZlZC48L2NlbnRlcj48L2gyPgotICAqCi0gICogVGhpcyBzb2Z0d2FyZSBjb21wb25lbnQgaXMgbGljZW5zZWQgYnkgU1QgdW5kZXIgQlNEIDMtQ2xhdXNlIGxpY2Vuc2UsCi0gICogdGhlICJMaWNlbnNlIjsgWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZQotICAqIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdDoKLSAgKiAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZQotICAqCi0gICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqLwogCiAKQEAgLTQ5Myw0ICs0OTMsMyBAQAogICAqIEB9CiAgICovCiAKLS8qKioqKioqKioqKioqKioqKioqKioqKiogKEMpIENPUFlSSUdIVCBTVE1pY3JvZWxlY3Ryb25pY3MgKioqKipFTkQgT0YgRklMRSoqKiovCmRpZmYgLS1naXQgYS9TcmMvc3RtMzJmNHh4X2hhbF9kY21pLmMgYi9TcmMvc3RtMzJmNHh4X2hhbF9kY21pLmMKaW5kZXggYWEyMzdjNi4uZDExN2MwZSAxMDA2NDQKLS0tIGEvU3JjL3N0bTMyZjR4eF9oYWxfZGNtaS5jCisrKyBiL1NyYy9zdG0zMmY0eHhfaGFsX2RjbWkuYwpAQCAtOSw3ICs5LDE3IEBACiAgICogICAgICAgICAgICsgSU8gb3BlcmF0aW9uIGZ1bmN0aW9ucwogICAqICAgICAgICAgICArIFBlcmlwaGVyYWwgQ29udHJvbCBmdW5jdGlvbnMKICAgKiAgICAgICAgICAgKyBQZXJpcGhlcmFsIFN0YXRlIGFuZCBFcnJvciBmdW5jdGlvbnMKLSAgKiAgICAgICAgICAgCisgICoKKyAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgICogQGF0dGVudGlvbgorICAqCisgICogQ29weXJpZ2h0IChjKSAyMDE3IFNUTWljcm9lbGVjdHJvbmljcy4KKyAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICAqCisgICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciB0ZXJtcyB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGluCisgICogdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc29mdHdhcmUgY29tcG9uZW50LgorICAqIElmIG5vIExJQ0VOU0UgZmlsZSBjb21lcyB3aXRoIHRoaXMgc29mdHdhcmUsIGl0IGlzIHByb3ZpZGVkIEFTLUlTLgorICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogIAogICBAdmVyYmF0aW0KICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAgICAgICAgICAgICAgICAgICAgICAjIyMjIyBIb3cgdG8gdXNlIHRoaXMgZHJpdmVyICMjIyMjCkBAIC0xMDksMTcgKzExOSw2IEBACiAJCiAgIEBlbmR2ZXJiYXRpbQogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAgKiBAYXR0ZW50aW9uCi0gICoKLSAgKiA8aDI+PGNlbnRlcj4mY29weTsgQ29weXJpZ2h0IChjKSAyMDE3IFNUTWljcm9lbGVjdHJvbmljcy4KLSAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvY2VudGVyPjwvaDI+Ci0gICoKLSAgKiBUaGlzIHNvZnR3YXJlIGNvbXBvbmVudCBpcyBsaWNlbnNlZCBieSBTVCB1bmRlciBCU0QgMy1DbGF1c2UgbGljZW5zZSwKLSAgKiB0aGUgIkxpY2Vuc2UiOyBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlCi0gICogTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0OgotICAqICAgICAgICAgICAgICAgICAgICAgICAgb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvQlNELTMtQ2xhdXNlCi0gICoKLSAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICovCiAKIC8qIEluY2x1ZGVzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCkBAIC0xMTYwLDUgKzExNTksMyBAQAogLyoqCiAgICogQH0KICAgKi8KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKiAoQykgQ09QWVJJR0hUIFNUTWljcm9lbGVjdHJvbmljcyAqKioqKkVORCBPRiBGSUxFKioqKi8KZGlmZiAtLWdpdCBhL1NyYy9zdG0zMmY0eHhfaGFsX2RjbWlfZXguYyBiL1NyYy9zdG0zMmY0eHhfaGFsX2RjbWlfZXguYwppbmRleCBiMjE0NTRjLi5iYmM2NGM2IDEwMDY0NAotLS0gYS9TcmMvc3RtMzJmNHh4X2hhbF9kY21pX2V4LmMKKysrIGIvU3JjL3N0bTMyZjR4eF9oYWxfZGNtaV9leC5jCkBAIC03LDYgKzcsMTYgQEAKICAgKiAgICAgICAgICBmdW5jdGlvbmFsaXRpZXMgb2YgRENNSSBleHRlbnNpb24gcGVyaXBoZXJhbDoKICAgKiAgICAgICAgICAgKyBFeHRlbnNpb24gZmVhdHVyZXMgZnVuY3Rpb25zCiAgICoKKyAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgICogQGF0dGVudGlvbgorICAqCisgICogQ29weXJpZ2h0IChjKSAyMDE3IFNUTWljcm9lbGVjdHJvbmljcy4KKyAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICAqCisgICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciB0ZXJtcyB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGluCisgICogdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc29mdHdhcmUgY29tcG9uZW50LgorICAqIElmIG5vIExJQ0VOU0UgZmlsZSBjb21lcyB3aXRoIHRoaXMgc29mdHdhcmUsIGl0IGlzIHByb3ZpZGVkIEFTLUlTLgorICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgQHZlcmJhdGltCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgICAgICAgICAgICAgIyMjIyMgRENNSSBwZXJpcGhlcmFsIGV4dGVuc2lvbiBmZWF0dXJlcyAgIyMjIyMKQEAgLTIzLDE3ICszMyw2IEBACiAKICAgQGVuZHZlcmJhdGltCiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICAqIEBhdHRlbnRpb24KLSAgKgotICAqIDxoMj48Y2VudGVyPiZjb3B5OyBDb3B5cmlnaHQgKGMpIDIwMTcgU1RNaWNyb2VsZWN0cm9uaWNzLgotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9jZW50ZXI+PC9oMj4KLSAgKgotICAqIFRoaXMgc29mdHdhcmUgY29tcG9uZW50IGlzIGxpY2Vuc2VkIGJ5IFNUIHVuZGVyIEJTRCAzLUNsYXVzZSBsaWNlbnNlLAotICAqIHRoZSAiTGljZW5zZSI7IFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUKLSAgKiBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQ6Ci0gICogICAgICAgICAgICAgICAgICAgICAgICBvcGVuc291cmNlLm9yZy9saWNlbnNlcy9CU0QtMy1DbGF1c2UKLSAgKgotICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKi8KIAogLyogSW5jbHVkZXMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KQEAgLTE4MSw1ICsxODAsMyBAQAogLyoqCiAgICogQH0KICAgKi8KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKiAoQykgQ09QWVJJR0hUIFNUTWljcm9lbGVjdHJvbmljcyAqKioqKkVORCBPRiBGSUxFKioqKi8KZGlmZiAtLWdpdCBhL1NyYy9zdG0zMmY0eHhfaGFsX2Rmc2RtLmMgYi9TcmMvc3RtMzJmNHh4X2hhbF9kZnNkbS5jCmluZGV4IGM1N2ViZWIuLjc5Yjk0YjEgMTAwNjQ0Ci0tLSBhL1NyYy9zdG0zMmY0eHhfaGFsX2Rmc2RtLmMKKysrIGIvU3JjL3N0bTMyZjR4eF9oYWxfZGZzZG0uYwpAQCAtMTUsNyArMTUsMTggQEAKICAgKiAgICAgICAgICAgKyBFeHRyZW1lcyBkZXRlY3RvciBmZWF0dXJlCiAgICogICAgICAgICAgICsgQ2xvY2sgYWJzZW5jZSBkZXRlY3RvciBmZWF0dXJlCiAgICogICAgICAgICAgICsgQnJlYWsgZ2VuZXJhdGlvbiBvbiBhbmFsb2cgd2F0Y2hkb2cgb3Igc2hvcnQtY2lyY3VpdCBldmVudAotICAqICAgICAgICAgCisgICoKKyAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgICogQGF0dGVudGlvbgorICAqCisgICogQ29weXJpZ2h0IChjKSAyMDE3IFNUTWljcm9lbGVjdHJvbmljcy4KKyAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICAqCisgICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciB0ZXJtcyB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlCisgICogaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc29mdHdhcmUgY29tcG9uZW50LgorICAqIElmIG5vIExJQ0VOU0UgZmlsZSBjb21lcyB3aXRoIHRoaXMgc29mdHdhcmUsIGl0IGlzIHByb3ZpZGVkIEFTLUlTLgorICAqCisgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAgCiAgIEB2ZXJiYXRpbQogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgICAgICAgICAgICAgICAgICAgICMjIyMjIEhvdyB0byB1c2UgdGhpcyBkcml2ZXIgIyMjIyMKQEAgLTI1MSwxNyArMjYyLDYgQEAKIAogICAgIEBlbmR2ZXJiYXRpbQogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAgKiBAYXR0ZW50aW9uCi0gICoKLSAgKiA8aDI+PGNlbnRlcj4mY29weTsgQ29weXJpZ2h0IChjKSAyMDE3IFNUTWljcm9lbGVjdHJvbmljcy4KLSAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvY2VudGVyPjwvaDI+Ci0gICoKLSAgKiBUaGlzIHNvZnR3YXJlIGNvbXBvbmVudCBpcyBsaWNlbnNlZCBieSBTVCB1bmRlciBCU0QgMy1DbGF1c2UgbGljZW5zZSwKLSAgKiB0aGUgIkxpY2Vuc2UiOyBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlCi0gICogTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0OgotICAqICAgICAgICAgICAgICAgICAgICAgICAgb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvQlNELTMtQ2xhdXNlCi0gICoKLSAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICovCiAKIC8qIEluY2x1ZGVzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCkBAIC00NDIxLDUgKzQ0MjEsMyBAQAogLyoqCiAgICogQH0KICAgKi8KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKiAoQykgQ09QWVJJR0hUIFNUTWljcm9lbGVjdHJvbmljcyAqKioqKkVORCBPRiBGSUxFKioqKi8KZGlmZiAtLWdpdCBhL1NyYy9zdG0zMmY0eHhfaGFsX2RtYS5jIGIvU3JjL3N0bTMyZjR4eF9oYWxfZG1hLmMKaW5kZXggOWI0ZjhkOC4uM2RiYjQ3NyAxMDA2NDQKLS0tIGEvU3JjL3N0bTMyZjR4eF9oYWxfZG1hLmMKKysrIGIvU3JjL3N0bTMyZjR4eF9oYWxfZG1hLmMKQEAgLTgzLDEzICs4MywxMiBAQAogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKiBAYXR0ZW50aW9uCiAgICoKLSAgKiA8aDI+PGNlbnRlcj4mY29weTsgQ29weXJpZ2h0IChjKSAyMDE3IFNUTWljcm9lbGVjdHJvbmljcy4KLSAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvY2VudGVyPjwvaDI+CisgICogQ29weXJpZ2h0IChjKSAyMDE3IFNUTWljcm9lbGVjdHJvbmljcy4KKyAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAqCi0gICogVGhpcyBzb2Z0d2FyZSBjb21wb25lbnQgaXMgbGljZW5zZWQgYnkgU1QgdW5kZXIgQlNEIDMtQ2xhdXNlIGxpY2Vuc2UsCi0gICogdGhlICJMaWNlbnNlIjsgWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZQotICAqIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdDoKLSAgKiAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZQorICAqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgdW5kZXIgdGVybXMgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBpbgorICAqIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvZnR3YXJlIGNvbXBvbmVudC4KKyAgKiBJZiBubyBMSUNFTlNFIGZpbGUgY29tZXMgd2l0aCB0aGlzIHNvZnR3YXJlLCBpdCBpcyBwcm92aWRlZCBBUy1JUy4KICAgKgogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKi8gCkBAIC02MDIsNyArNjAxLDcgQEAKICAgKiBAcGFyYW0gIGhkbWEgICAgICAgICAgcG9pbnRlciB0byBhIERNQV9IYW5kbGVUeXBlRGVmIHN0cnVjdHVyZSB0aGF0IGNvbnRhaW5zCiAgICogICAgICAgICAgICAgICAgICAgICAgICB0aGUgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbiBmb3IgdGhlIHNwZWNpZmllZCBETUEgU3RyZWFtLgogICAqIEBwYXJhbSAgQ29tcGxldGVMZXZlbCBTcGVjaWZpZXMgdGhlIERNQSBsZXZlbCBjb21wbGV0ZS4KLSAgKiBAbm90ZSAgIFRoZSBwb2xsaW5nIG1vZGUgaXMga2VwdCBpbiB0aGlzIHZlcnNpb24gZm9yIGxlZ2FjeS4gaXQgaXMgcmVjb21tYW5kZWQgdG8gdXNlIHRoZSBJVCBtb2RlbCBpbnN0ZWFkLgorICAqIEBub3RlICAgVGhlIHBvbGxpbmcgbW9kZSBpcyBrZXB0IGluIHRoaXMgdmVyc2lvbiBmb3IgbGVnYWN5LiBpdCBpcyByZWNvbW1lbmRlZCB0byB1c2UgdGhlIElUIG1vZGVsIGluc3RlYWQuCiAgICogICAgICAgICBUaGlzIG1vZGVsIGNvdWxkIGJlIHVzZWQgZm9yIGRlYnVnIHB1cnBvc2UuCiAgICogQG5vdGUgICBUaGUgSEFMX0RNQV9Qb2xsRm9yVHJhbnNmZXIgQVBJIGNhbm5vdCBiZSB1c2VkIGluIGNpcmN1bGFyIGFuZCBkb3VibGUgYnVmZmVyaW5nIG1vZGUgKGF1dG9tYXRpYyBjaXJjdWxhciBtb2RlKS4gCiAgICogQHBhcmFtICBUaW1lb3V0ICAgICAgIFRpbWVvdXQgZHVyYXRpb24uCkBAIC05NTksOSArOTU4LDkgQEAKICAgKiBAYnJpZWYgIFJlZ2lzdGVyIGNhbGxiYWNrcwogICAqIEBwYXJhbSAgaGRtYSAgICAgICAgICAgICAgICAgcG9pbnRlciB0byBhIERNQV9IYW5kbGVUeXBlRGVmIHN0cnVjdHVyZSB0aGF0IGNvbnRhaW5zCiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gZm9yIHRoZSBzcGVjaWZpZWQgRE1BIFN0cmVhbS4KLSAgKiBAcGFyYW0gIENhbGxiYWNrSUQgICAgICAgICAgIFVzZXIgQ2FsbGJhY2sgaWRlbnRpZmVyCisgICogQHBhcmFtICBDYWxsYmFja0lEICAgICAgICAgICBVc2VyIENhbGxiYWNrIGlkZW50aWZpZXIKICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhIERNQV9IYW5kbGVUeXBlRGVmIHN0cnVjdHVyZSBhcyBwYXJhbWV0ZXIuCi0gICogQHBhcmFtICBwQ2FsbGJhY2sgICAgICAgICAgICBwb2ludGVyIHRvIHByaXZhdGUgY2FsbGJhY3NrIGZ1bmN0aW9uIHdoaWNoIGhhcyBwb2ludGVyIHRvIAorICAqIEBwYXJhbSAgcENhbGxiYWNrICAgICAgICAgICAgcG9pbnRlciB0byBwcml2YXRlIGNhbGxiYWNrIGZ1bmN0aW9uIHdoaWNoIGhhcyBwb2ludGVyIHRvIAogICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGEgRE1BX0hhbmRsZVR5cGVEZWYgc3RydWN0dXJlIGFzIHBhcmFtZXRlci4KICAgKiBAcmV0dmFsIEhBTCBzdGF0dXMKICAgKi8gICAgICAgICAgICAgICAgICAgICAgCkBAIC0xMDAyLDYgKzEwMDEsOCBAQAogICAgICAgYnJlYWs7CiAKICAgICBkZWZhdWx0OgorICAgICAgLyogUmV0dXJuIGVycm9yIHN0YXR1cyAqLworICAgICAgc3RhdHVzID0gIEhBTF9FUlJPUjsKICAgICAgIGJyZWFrOwogICAgIH0KICAgfQpAQCAtMTAyMSw3ICsxMDIyLDcgQEAKICAgKiBAYnJpZWYgIFVuUmVnaXN0ZXIgY2FsbGJhY2tzCiAgICogQHBhcmFtICBoZG1hICAgICAgICAgICAgICAgICBwb2ludGVyIHRvIGEgRE1BX0hhbmRsZVR5cGVEZWYgc3RydWN0dXJlIHRoYXQgY29udGFpbnMKICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbiBmb3IgdGhlIHNwZWNpZmllZCBETUEgU3RyZWFtLgotICAqIEBwYXJhbSAgQ2FsbGJhY2tJRCAgICAgICAgICAgVXNlciBDYWxsYmFjayBpZGVudGlmZXIKKyAgKiBAcGFyYW0gIENhbGxiYWNrSUQgICAgICAgICAgIFVzZXIgQ2FsbGJhY2sgaWRlbnRpZmllcgogICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGEgSEFMX0RNQV9DYWxsYmFja0lEVHlwZURlZiBFTlVNIGFzIHBhcmFtZXRlci4KICAgKiBAcmV0dmFsIEhBTCBzdGF0dXMKICAgKi8gICAgICAgICAgICAgIApAQCAtMTMwMiw0ICsxMzAzLDMgQEAKICAgKiBAfQogICAqLwogCi0vKioqKioqKioqKioqKioqKioqKioqKioqIChDKSBDT1BZUklHSFQgU1RNaWNyb2VsZWN0cm9uaWNzICoqKioqRU5EIE9GIEZJTEUqKioqLwpkaWZmIC0tZ2l0IGEvU3JjL3N0bTMyZjR4eF9oYWxfZG1hMmQuYyBiL1NyYy9zdG0zMmY0eHhfaGFsX2RtYTJkLmMKaW5kZXggZjM1ODJiNi4uNGNmYWM0MCAxMDA2NDQKLS0tIGEvU3JjL3N0bTMyZjR4eF9oYWxfZG1hMmQuYworKysgYi9TcmMvc3RtMzJmNHh4X2hhbF9kbWEyZC5jCkBAIC0xMCw2ICsxMCwxNyBAQAogICAqICAgICAgICAgICArIFBlcmlwaGVyYWwgQ29udHJvbCBmdW5jdGlvbnMKICAgKiAgICAgICAgICAgKyBQZXJpcGhlcmFsIFN0YXRlIGFuZCBFcnJvcnMgZnVuY3Rpb25zCiAgICoKKyAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgICogQGF0dGVudGlvbgorICAqCisgICogQ29weXJpZ2h0IChjKSAyMDE2IFNUTWljcm9lbGVjdHJvbmljcy4KKyAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICAqCisgICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciB0ZXJtcyB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlCisgICogaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc29mdHdhcmUgY29tcG9uZW50LgorICAqIElmIG5vIExJQ0VOU0UgZmlsZSBjb21lcyB3aXRoIHRoaXMgc29mdHdhcmUsIGl0IGlzIHByb3ZpZGVkIEFTLUlTLgorICAqCisgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICBAdmVyYmF0aW0KICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAgICAgICAgICAgICAgICAgICAgICAjIyMjIyBIb3cgdG8gdXNlIHRoaXMgZHJpdmVyICMjIyMjCkBAIC05NCw5ICsxMDUsOSBAQAogICAgICBbLi5dCiAgICAgICAoIykgVGhlIGNvbXBpbGF0aW9uIGRlZmluZSAgVVNFX0hBTF9ETUEyRF9SRUdJU1RFUl9DQUxMQkFDS1Mgd2hlbiBzZXQgdG8gMQogICAgICAgICAgIGFsbG93cyB0aGUgdXNlciB0byBjb25maWd1cmUgZHluYW1pY2FsbHkgdGhlIGRyaXZlciBjYWxsYmFja3MuCi0gICAgICAgICAgVXNlIGZ1bmN0aW9uIEhBTF9ETUEyRF9SZWdpc3RlckNhbGxiYWNrKCkgdG8gcmVnaXN0ZXIgYSB1c2VyIGNhbGxiYWNrLgorICAgICAgICAgIFVzZSBmdW5jdGlvbiBAcmVmIEhBTF9ETUEyRF9SZWdpc3RlckNhbGxiYWNrKCkgdG8gcmVnaXN0ZXIgYSB1c2VyIGNhbGxiYWNrLgogCi0gICAgICAoIykgRnVuY3Rpb24gSEFMX0RNQTJEX1JlZ2lzdGVyQ2FsbGJhY2soKSBhbGxvd3MgdG8gcmVnaXN0ZXIgZm9sbG93aW5nIGNhbGxiYWNrczoKKyAgICAgICgjKSBGdW5jdGlvbiBAcmVmIEhBTF9ETUEyRF9SZWdpc3RlckNhbGxiYWNrKCkgYWxsb3dzIHRvIHJlZ2lzdGVyIGZvbGxvd2luZyBjYWxsYmFja3M6CiAgICAgICAgICAgICAoKykgWGZlckNwbHRDYWxsYmFjayA6IGNhbGxiYWNrIGZvciB0cmFuc2ZlciBjb21wbGV0ZS4KICAgICAgICAgICAgICgrKSBYZmVyRXJyb3JDYWxsYmFjayA6IGNhbGxiYWNrIGZvciB0cmFuc2ZlciBlcnJvci4KICAgICAgICAgICAgICgrKSBMaW5lRXZlbnRDYWxsYmFjayA6IGNhbGxiYWNrIGZvciBsaW5lIGV2ZW50LgpAQCAtMTA2LDkgKzExNyw5IEBACiAgICAgICAgICAgVGhpcyBmdW5jdGlvbiB0YWtlcyBhcyBwYXJhbWV0ZXJzIHRoZSBIQUwgcGVyaXBoZXJhbCBoYW5kbGUsIHRoZSBDYWxsYmFjayBJRAogICAgICAgICAgIGFuZCBhIHBvaW50ZXIgdG8gdGhlIHVzZXIgY2FsbGJhY2sgZnVuY3Rpb24uCiAKLSAgICAgICgjKSBVc2UgZnVuY3Rpb24gSEFMX0RNQTJEX1VuUmVnaXN0ZXJDYWxsYmFjaygpIHRvIHJlc2V0IGEgY2FsbGJhY2sgdG8gdGhlIGRlZmF1bHQKKyAgICAgICgjKSBVc2UgZnVuY3Rpb24gQHJlZiBIQUxfRE1BMkRfVW5SZWdpc3RlckNhbGxiYWNrKCkgdG8gcmVzZXQgYSBjYWxsYmFjayB0byB0aGUgZGVmYXVsdAogICAgICAgICAgIHdlYWsgKHN1cmNoYXJnZWQpIGZ1bmN0aW9uLgotICAgICAgICAgIEhBTF9ETUEyRF9VblJlZ2lzdGVyQ2FsbGJhY2soKSB0YWtlcyBhcyBwYXJhbWV0ZXJzIHRoZSBIQUwgcGVyaXBoZXJhbCBoYW5kbGUsCisgICAgICAgICAgQHJlZiBIQUxfRE1BMkRfVW5SZWdpc3RlckNhbGxiYWNrKCkgdGFrZXMgYXMgcGFyYW1ldGVycyB0aGUgSEFMIHBlcmlwaGVyYWwgaGFuZGxlLAogICAgICAgICAgIGFuZCB0aGUgQ2FsbGJhY2sgSUQuCiAgICAgICAgICAgVGhpcyBmdW5jdGlvbiBhbGxvd3MgdG8gcmVzZXQgZm9sbG93aW5nIGNhbGxiYWNrczoKICAgICAgICAgICAgICgrKSBYZmVyQ3BsdENhbGxiYWNrIDogY2FsbGJhY2sgZm9yIHRyYW5zZmVyIGNvbXBsZXRlLgpAQCAtMTE4LDEzICsxMjksMTMgQEAKICAgICAgICAgICAgICgrKSBNc3BJbml0Q2FsbGJhY2sgICAgOiBETUEyRCBNc3BJbml0LgogICAgICAgICAgICAgKCspIE1zcERlSW5pdENhbGxiYWNrICA6IERNQTJEIE1zcERlSW5pdC4KIAotICAgICAgKCMpIEJ5IGRlZmF1bHQsIGFmdGVyIHRoZSBIQUxfRE1BMkRfSW5pdCBhbmQgaWYgdGhlIHN0YXRlIGlzIEhBTF9ETUEyRF9TVEFURV9SRVNFVAorICAgICAgKCMpIEJ5IGRlZmF1bHQsIGFmdGVyIHRoZSBAcmVmIEhBTF9ETUEyRF9Jbml0IGFuZCBpZiB0aGUgc3RhdGUgaXMgSEFMX0RNQTJEX1NUQVRFX1JFU0VUCiAgICAgICAgICAgYWxsIGNhbGxiYWNrcyBhcmUgcmVzZXQgdG8gdGhlIGNvcnJlc3BvbmRpbmcgbGVnYWN5IHdlYWsgKHN1cmNoYXJnZWQpIGZ1bmN0aW9uczoKLSAgICAgICAgICBleGFtcGxlcyBIQUxfRE1BMkRfTGluZUV2ZW50Q2FsbGJhY2soKSwgSEFMX0RNQTJEX0NMVVRMb2FkaW5nQ3BsdENhbGxiYWNrKCkKKyAgICAgICAgICBleGFtcGxlcyBAcmVmIEhBTF9ETUEyRF9MaW5lRXZlbnRDYWxsYmFjaygpLCBAcmVmIEhBTF9ETUEyRF9DTFVUTG9hZGluZ0NwbHRDYWxsYmFjaygpCiAgICAgICAgICAgRXhjZXB0aW9uIGRvbmUgZm9yIE1zcEluaXQgYW5kIE1zcERlSW5pdCBjYWxsYmFja3MgdGhhdCBhcmUgcmVzcGVjdGl2ZWx5Ci0gICAgICAgICAgcmVzZXQgdG8gdGhlIGxlZ2FjeSB3ZWFrIChzdXJjaGFyZ2VkKSBmdW5jdGlvbnMgaW4gdGhlIEhBTF9ETUEyRF9Jbml0Ci0gICAgICAgICAgYW5kIEhBTF9ETUEyRF9EZUluaXQgb25seSB3aGVuIHRoZXNlIGNhbGxiYWNrcyBhcmUgbnVsbCAobm90IHJlZ2lzdGVyZWQgYmVmb3JlaGFuZCkKLSAgICAgICAgICBJZiBub3QsIE1zcEluaXQgb3IgTXNwRGVJbml0IGFyZSBub3QgbnVsbCwgdGhlIEhBTF9ETUEyRF9Jbml0IGFuZCBIQUxfRE1BMkRfRGVJbml0CisgICAgICAgICAgcmVzZXQgdG8gdGhlIGxlZ2FjeSB3ZWFrIChzdXJjaGFyZ2VkKSBmdW5jdGlvbnMgaW4gdGhlIEByZWYgSEFMX0RNQTJEX0luaXQKKyAgICAgICAgICBhbmQgQHJlZiBIQUxfRE1BMkRfRGVJbml0IG9ubHkgd2hlbiB0aGVzZSBjYWxsYmFja3MgYXJlIG51bGwgKG5vdCByZWdpc3RlcmVkIGJlZm9yZWhhbmQpCisgICAgICAgICAgSWYgbm90LCBNc3BJbml0IG9yIE1zcERlSW5pdCBhcmUgbm90IG51bGwsIHRoZSBAcmVmIEhBTF9ETUEyRF9Jbml0IGFuZCBAcmVmIEhBTF9ETUEyRF9EZUluaXQKICAgICAgICAgICBrZWVwIGFuZCB1c2UgdGhlIHVzZXIgTXNwSW5pdC9Nc3BEZUluaXQgY2FsbGJhY2tzIChyZWdpc3RlcmVkIGJlZm9yZWhhbmQpLgogCiAgICAgICAgICAgRXhjZXB0aW9uIGFzIHdlbGwgZm9yIFRyYW5zZmVyIENvbXBsZXRpb24gYW5kIFRyYW5zZmVyIEVycm9yIGNhbGxiYWNrcyB0aGF0IGFyZSBub3QgZGVmaW5lZApAQCAtMTM1LDggKzE0Niw4IEBACiAgICAgICAgICAgaW4gUkVBRFkgb3IgUkVTRVQgc3RhdGUsIHRodXMgcmVnaXN0ZXJlZCAodXNlcikgTXNwSW5pdC9EZUluaXQgY2FsbGJhY2tzIGNhbiBiZSB1c2VkCiAgICAgICAgICAgZHVyaW5nIHRoZSBJbml0L0RlSW5pdC4KICAgICAgICAgICBJbiB0aGF0IGNhc2UgZmlyc3QgcmVnaXN0ZXIgdGhlIE1zcEluaXQvTXNwRGVJbml0IHVzZXIgY2FsbGJhY2tzCi0gICAgICAgICAgdXNpbmcgSEFMX0RNQTJEX1JlZ2lzdGVyQ2FsbGJhY2sgYmVmb3JlIGNhbGxpbmcgSEFMX0RNQTJEX0RlSW5pdAotICAgICAgICAgIG9yIEhBTF9ETUEyRF9Jbml0IGZ1bmN0aW9uLgorICAgICAgICAgIHVzaW5nIEByZWYgSEFMX0RNQTJEX1JlZ2lzdGVyQ2FsbGJhY2sgYmVmb3JlIGNhbGxpbmcgQHJlZiBIQUxfRE1BMkRfRGVJbml0CisgICAgICAgICAgb3IgQHJlZiBIQUxfRE1BMkRfSW5pdCBmdW5jdGlvbi4KIAogICAgICAgICAgIFdoZW4gVGhlIGNvbXBpbGF0aW9uIGRlZmluZSBVU0VfSEFMX0RNQTJEX1JFR0lTVEVSX0NBTExCQUNLUyBpcyBzZXQgdG8gMCBvcgogICAgICAgICAgIG5vdCBkZWZpbmVkLCB0aGUgY2FsbGJhY2sgcmVnaXN0ZXJpbmcgZmVhdHVyZSBpcyBub3QgYXZhaWxhYmxlCkBAIC0xNDcsMTcgKzE1OCw2IEBACiAKICAgQGVuZHZlcmJhdGltCiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICAqIEBhdHRlbnRpb24KLSAgKgotICAqIDxoMj48Y2VudGVyPiZjb3B5OyBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9jZW50ZXI+PC9oMj4KLSAgKgotICAqIFRoaXMgc29mdHdhcmUgY29tcG9uZW50IGlzIGxpY2Vuc2VkIGJ5IFNUIHVuZGVyIEJTRCAzLUNsYXVzZSBsaWNlbnNlLAotICAqIHRoZSAiTGljZW5zZSI7IFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUKLSAgKiBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQ6Ci0gICogICAgICAgICAgICAgICAgICAgICAgICBvcGVuc291cmNlLm9yZy9saWNlbnNlcy9CU0QtMy1DbGF1c2UKLSAgKgotICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKi8KIAogLyogSW5jbHVkZXMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KQEAgLTIxMjQsNSArMjEyNCwzIEBACiAgICovCiAjZW5kaWYgLyogRE1BMkQgKi8KICNlbmRpZiAvKiBIQUxfRE1BMkRfTU9EVUxFX0VOQUJMRUQgKi8KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKiAoQykgQ09QWVJJR0hUIFNUTWljcm9lbGVjdHJvbmljcyAqKioqKkVORCBPRiBGSUxFKioqKi8KZGlmZiAtLWdpdCBhL1NyYy9zdG0zMmY0eHhfaGFsX2RtYV9leC5jIGIvU3JjL3N0bTMyZjR4eF9oYWxfZG1hX2V4LmMKaW5kZXggNmUwNzM3Ni4uNzE2N2U3NyAxMDA2NDQKLS0tIGEvU3JjL3N0bTMyZjR4eF9oYWxfZG1hX2V4LmMKKysrIGIvU3JjL3N0bTMyZjR4eF9oYWxfZG1hX2V4LmMKQEAgLTI1LDEzICsyNSwxMiBAQAogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKiBAYXR0ZW50aW9uCiAgICoKLSAgKiA8aDI+PGNlbnRlcj4mY29weTsgQ29weXJpZ2h0IChjKSAyMDE3IFNUTWljcm9lbGVjdHJvbmljcy4KLSAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvY2VudGVyPjwvaDI+CisgICogQ29weXJpZ2h0IChjKSAyMDE3IFNUTWljcm9lbGVjdHJvbmljcy4KKyAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAqCi0gICogVGhpcyBzb2Z0d2FyZSBjb21wb25lbnQgaXMgbGljZW5zZWQgYnkgU1QgdW5kZXIgQlNEIDMtQ2xhdXNlIGxpY2Vuc2UsCi0gICogdGhlICJMaWNlbnNlIjsgWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZQotICAqIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdDoKLSAgKiAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZQorICAqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgdW5kZXIgdGVybXMgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBpbgorICAqIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvZnR3YXJlIGNvbXBvbmVudC4KKyAgKiBJZiBubyBMSUNFTlNFIGZpbGUgY29tZXMgd2l0aCB0aGlzIHNvZnR3YXJlLCBpdCBpcyBwcm92aWRlZCBBUy1JUy4KICAgKgogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKi8KQEAgLTMxMiw0ICszMTEsMyBAQAogICAqIEB9CiAgICovCiAKLS8qKioqKioqKioqKioqKioqKioqKioqKiogKEMpIENPUFlSSUdIVCBTVE1pY3JvZWxlY3Ryb25pY3MgKioqKipFTkQgT0YgRklMRSoqKiovCmRpZmYgLS1naXQgYS9TcmMvc3RtMzJmNHh4X2hhbF9kc2kuYyBiL1NyYy9zdG0zMmY0eHhfaGFsX2RzaS5jCmluZGV4IGRhNTdhOGYuLmJkZTY4NjEgMTAwNjQ0Ci0tLSBhL1NyYy9zdG0zMmY0eHhfaGFsX2RzaS5jCisrKyBiL1NyYy9zdG0zMmY0eHhfaGFsX2RzaS5jCkBAIC05LDYgKzksMTcgQEAKICAgKiAgICAgICAgICAgKyBJTyBvcGVyYXRpb24gZnVuY3Rpb25zCiAgICogICAgICAgICAgICsgUGVyaXBoZXJhbCBDb250cm9sIGZ1bmN0aW9ucwogICAqICAgICAgICAgICArIFBlcmlwaGVyYWwgU3RhdGUgYW5kIEVycm9ycyBmdW5jdGlvbnMKKyAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgICogQGF0dGVudGlvbgorICAqCisgICogQ29weXJpZ2h0IChjKSAyMDE2IFNUTWljcm9lbGVjdHJvbmljcy4KKyAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICAqCisgICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciB0ZXJtcyB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlCisgICogaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc29mdHdhcmUgY29tcG9uZW50LgorICAqIElmIG5vIExJQ0VOU0UgZmlsZSBjb21lcyB3aXRoIHRoaXMgc29mdHdhcmUsIGl0IGlzIHByb3ZpZGVkIEFTLUlTLgorICAqCisgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICBAdmVyYmF0aW0KICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAgICAgICAgICAgICAgICAgICAgICAjIyMjIyBIb3cgdG8gdXNlIHRoaXMgZHJpdmVyICMjIyMjCkBAIC0xNDAsMTcgKzE1MSw2IEBACiAKICAgQGVuZHZlcmJhdGltCiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICAqIEBhdHRlbnRpb24KLSAgKgotICAqIDxoMj48Y2VudGVyPiZjb3B5OyBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9jZW50ZXI+PC9oMj4KLSAgKgotICAqIFRoaXMgc29mdHdhcmUgY29tcG9uZW50IGlzIGxpY2Vuc2VkIGJ5IFNUIHVuZGVyIEJTRCAzLUNsYXVzZSBsaWNlbnNlLAotICAqIHRoZSAiTGljZW5zZSI7IFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUKLSAgKiBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQ6Ci0gICogICAgICAgICAgICAgICAgICAgICAgICBvcGVuc291cmNlLm9yZy9saWNlbnNlcy9CU0QtMy1DbGF1c2UKLSAgKgotICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKi8KIAogLyogSW5jbHVkZXMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KQEAgLTIwMCwxMiArMjAwLDE0IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IERhdGExKTsKIAogc3RhdGljIEhBTF9TdGF0dXNUeXBlRGVmIERTSV9TaG9ydFdyaXRlKERTSV9IYW5kbGVUeXBlRGVmICpoZHNpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IENoYW5uZWxJRCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBNb2RlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IFBhcmFtMSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBQYXJhbTIpOwotCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgQ2hhbm5lbElELAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IE1vZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgUGFyYW0xLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IFBhcmFtMik7CiAvKiBQcml2YXRlIGZ1bmN0aW9ucyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworLyoqIEBkZWZncm91cCBEU0lfUHJpdmF0ZV9GdW5jdGlvbnMgRFNJIFByaXZhdGUgRnVuY3Rpb25zCisgICogQHsKKyAgKi8KIC8qKgogICAqIEBicmllZiAgR2VuZXJpYyBEU0kgcGFja2V0IGhlYWRlciBjb25maWd1cmF0aW9uCiAgICogQHBhcmFtICBEU0l4ICBQb2ludGVyIHRvIERTSSByZWdpc3RlciBiYXNlCkBAIC0yNTUsMTAgKzI1NywxMCBAQAogICB0aWNrc3RhcnQgPSBIQUxfR2V0VGljaygpOwogCiAgIC8qIFdhaXQgZm9yIENvbW1hbmQgRklGTyBFbXB0eSAqLwotICB3aGlsZSgoaGRzaS0+SW5zdGFuY2UtPkdQU1IgJiBEU0lfR1BTUl9DTURGRSkgPT0gMFUpCisgIHdoaWxlICgoaGRzaS0+SW5zdGFuY2UtPkdQU1IgJiBEU0lfR1BTUl9DTURGRSkgPT0gMFUpCiAgIHsKICAgICAvKiBDaGVjayBmb3IgdGhlIFRpbWVvdXQgKi8KLSAgICBpZigoSEFMX0dldFRpY2soKSAtIHRpY2tzdGFydCApID4gRFNJX1RJTUVPVVRfVkFMVUUpCisgICAgaWYgKChIQUxfR2V0VGljaygpIC0gdGlja3N0YXJ0KSA+IERTSV9USU1FT1VUX1ZBTFVFKQogICAgIHsKICAgICAgIHJldHVybiBIQUxfVElNRU9VVDsKICAgICB9CkBAIC0yNzEsNiArMjczLDEwIEBACiAgIHJldHVybiBIQUxfT0s7CiB9CiAKKy8qKgorICAqIEB9CisgICovCisKIC8qIEV4cG9ydGVkIGZ1bmN0aW9ucyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAvKiogQGFkZHRvZ3JvdXAgRFNJX0V4cG9ydGVkX0Z1bmN0aW9ucwogICAqIEB7CkBAIC0zNjUsMTEgKzM3MSwxNyBAQAogCiAgIC8qIFNldCB0aGUgUExMIGRpdmlzaW9uIGZhY3RvcnMgKi8KICAgaGRzaS0+SW5zdGFuY2UtPldSUENSICY9IH4oRFNJX1dSUENSX1BMTF9ORElWIHwgRFNJX1dSUENSX1BMTF9JREYgfCBEU0lfV1JQQ1JfUExMX09ERik7Ci0gIGhkc2ktPkluc3RhbmNlLT5XUlBDUiB8PSAoKChQTExJbml0LT5QTExORElWKSA8PCAyVSkgfCAoKFBMTEluaXQtPlBMTElERikgPDwgMTFVKSB8ICgoUExMSW5pdC0+UExMT0RGKSA8PCAxNlUpKTsKKyAgaGRzaS0+SW5zdGFuY2UtPldSUENSIHw9ICgoKFBMTEluaXQtPlBMTE5ESVYpIDw8IERTSV9XUlBDUl9QTExfTkRJVl9Qb3MpIHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoUExMSW5pdC0+UExMSURGKSA8PCBEU0lfV1JQQ1JfUExMX0lERl9Qb3MpIHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoUExMSW5pdC0+UExMT0RGKSA8PCBEU0lfV1JQQ1JfUExMX09ERl9Qb3MpKTsKIAogICAvKiBFbmFibGUgdGhlIERTSSBQTEwgKi8KICAgX19IQUxfRFNJX1BMTF9FTkFCTEUoaGRzaSk7CiAKKyAgLyogUmVxdWlyZXMgbWluIG9mIDQwMHVzIGRlbGF5IGJlZm9yZSByZWFkaW5nIHRoZSBQTExMUyBmbGFnICovCisgIC8qIDFtcyBkZWxheSBpcyBpbnNlcnRlZCB0aGF0IGlzIHRoZSBtaW5pbXVtIEhBTCBkZWxheSBncmFudWxhcml0eSAqLworICBIQUxfRGVsYXkoMSk7CisKICAgLyogR2V0IHRpY2sgKi8KICAgdGlja3N0YXJ0ID0gSEFMX0dldFRpY2soKTsKIApAQCAtNDE5LDcgKzQzMSw3IEBACiAgIGhkc2ktPkluc3RhbmNlLT5JRVJbMVVdID0gMFU7CiAgIGhkc2ktPkVycm9yTXNrID0gMFU7CiAKLSAgLyogSW5pdGlhbGlzZSB0aGUgZXJyb3IgY29kZSAqLworICAvKiBJbml0aWFsaXplIHRoZSBlcnJvciBjb2RlICovCiAgIGhkc2ktPkVycm9yQ29kZSA9IEhBTF9EU0lfRVJST1JfTk9ORTsKIAogICAvKiBJbml0aWFsaXplIHRoZSBEU0kgc3RhdGUqLwpAQCAtNDczLDcgKzQ4NSw3IEBACiAgIEhBTF9EU0lfTXNwRGVJbml0KGhkc2kpOwogI2VuZGlmIC8qIFVTRV9IQUxfRFNJX1JFR0lTVEVSX0NBTExCQUNLUyAqLwogCi0gIC8qIEluaXRpYWxpc2UgdGhlIGVycm9yIGNvZGUgKi8KKyAgLyogSW5pdGlhbGl6ZSB0aGUgZXJyb3IgY29kZSAqLwogICBoZHNpLT5FcnJvckNvZGUgPSBIQUxfRFNJX0VSUk9SX05PTkU7CiAKICAgLyogSW5pdGlhbGl6ZSB0aGUgRFNJIHN0YXRlKi8KQEAgLTY5OCw3ICs3MTAsNyBAQAogCiAvKioKICAgKiBAYnJpZWYgIFVucmVnaXN0ZXIgYSBEU0kgQ2FsbGJhY2sKLSAgKiAgICAgICAgIERTSSBjYWxsYWJjayBpcyByZWRpcmVjdGVkIHRvIHRoZSB3ZWFrIHByZWRlZmluZWQgY2FsbGJhY2sKKyAgKiAgICAgICAgIERTSSBjYWxsYmFjayBpcyByZWRpcmVjdGVkIHRvIHRoZSB3ZWFrIHByZWRlZmluZWQgY2FsbGJhY2sKICAgKiBAcGFyYW0gaGRzaSBkc2kgaGFuZGxlCiAgICogQHBhcmFtIENhbGxiYWNrSUQgSUQgb2YgdGhlIGNhbGxiYWNrIHRvIGJlIHVucmVnaXN0ZXJlZAogICAqICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgb25lIG9mIHRoZSBmb2xsb3dpbmcgdmFsdWVzOgpAQCAtNzMzLDExICs3NDUsMTEgQEAKICAgICAgICAgYnJlYWs7CiAKICAgICAgIGNhc2UgSEFMX0RTSV9NU1BJTklUX0NCX0lEIDoKLSAgICAgICAgaGRzaS0+TXNwSW5pdENhbGxiYWNrID0gSEFMX0RTSV9Nc3BJbml0OyAgICAgICAgICAgICAgICAgICAgIC8qIExlZ2NheSB3ZWFrIE1zcEluaXQgQ2FsbGJhY2sgICAgICovCisgICAgICAgIGhkc2ktPk1zcEluaXRDYWxsYmFjayA9IEhBTF9EU0lfTXNwSW5pdDsgICAgICAgICAgICAgICAgICAgICAvKiBMZWdhY3kgd2VhayBNc3BJbml0IENhbGxiYWNrICAgICAqLwogICAgICAgICBicmVhazsKIAogICAgICAgY2FzZSBIQUxfRFNJX01TUERFSU5JVF9DQl9JRCA6Ci0gICAgICAgIGhkc2ktPk1zcERlSW5pdENhbGxiYWNrID0gSEFMX0RTSV9Nc3BEZUluaXQ7ICAgICAgICAgICAgICAgICAvKiBMZWdjYXkgd2VhayBNc3BEZUluaXQgQ2FsbGJhY2sgICAqLworICAgICAgICBoZHNpLT5Nc3BEZUluaXRDYWxsYmFjayA9IEhBTF9EU0lfTXNwRGVJbml0OyAgICAgICAgICAgICAgICAgLyogTGVnYWN5IHdlYWsgTXNwRGVJbml0IENhbGxiYWNrICAgKi8KICAgICAgICAgYnJlYWs7CiAKICAgICAgIGRlZmF1bHQgOgpAQCAtNzUzLDExICs3NjUsMTEgQEAKICAgICBzd2l0Y2ggKENhbGxiYWNrSUQpCiAgICAgewogICAgICAgY2FzZSBIQUxfRFNJX01TUElOSVRfQ0JfSUQgOgotICAgICAgICBoZHNpLT5Nc3BJbml0Q2FsbGJhY2sgPSBIQUxfRFNJX01zcEluaXQ7ICAgICAgICAgICAgICAgICAgLyogTGVnY2F5IHdlYWsgTXNwSW5pdCBDYWxsYmFjayAgICovCisgICAgICAgIGhkc2ktPk1zcEluaXRDYWxsYmFjayA9IEhBTF9EU0lfTXNwSW5pdDsgICAgICAgICAgICAgICAgICAvKiBMZWdhY3kgd2VhayBNc3BJbml0IENhbGxiYWNrICAgKi8KICAgICAgICAgYnJlYWs7CiAKICAgICAgIGNhc2UgSEFMX0RTSV9NU1BERUlOSVRfQ0JfSUQgOgotICAgICAgICBoZHNpLT5Nc3BEZUluaXRDYWxsYmFjayA9IEhBTF9EU0lfTXNwRGVJbml0OyAgICAgICAgICAgICAgLyogTGVnY2F5IHdlYWsgTXNwRGVJbml0IENhbGxiYWNrICovCisgICAgICAgIGhkc2ktPk1zcERlSW5pdENhbGxiYWNrID0gSEFMX0RTSV9Nc3BEZUluaXQ7ICAgICAgICAgICAgICAvKiBMZWdhY3kgd2VhayBNc3BEZUluaXQgQ2FsbGJhY2sgKi8KICAgICAgICAgYnJlYWs7CiAKICAgICAgIGRlZmF1bHQgOgpAQCAtODA4LDcgKzgyMCw4IEBACiAgICovCiB2b2lkIEhBTF9EU0lfSVJRSGFuZGxlcihEU0lfSGFuZGxlVHlwZURlZiAqaGRzaSkKIHsKLSAgdWludDMyX3QgRXJyb3JTdGF0dXMwLCBFcnJvclN0YXR1czE7CisgIHVpbnQzMl90IEVycm9yU3RhdHVzMDsKKyAgdWludDMyX3QgRXJyb3JTdGF0dXMxOwogCiAgIC8qIFRlYXJpbmcgRWZmZWN0IEludGVycnVwdCBtYW5hZ2VtZW50ICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KICAgaWYgKF9fSEFMX0RTSV9HRVRfRkxBRyhoZHNpLCBEU0lfRkxBR19URSkgIT0gMFUpCkBAIC0xMzY1LDcgKzEzNzgsOCBAQAogICAgICBIaWdoLVNwZWVkIHRyYW5zbWlzc2lvbi4KICAgICAgVG8gZG8gc28sIHRoZSBEU0kgSG9zdCBjYWxjdWxhdGVzIHRoZSB0aW1lIHJlcXVpcmVkIGZvciB0aGUgY2xvY2sgbGFuZSB0byBjaGFuZ2UgZnJvbSBIaWdoU3BlZWQKICAgICAgdG8gTG93LVBvd2VyIGFuZCBmcm9tIExvdy1Qb3dlciB0byBIaWdoLVNwZWVkLgotICAgICBUaGlzIHRpbWluZ3MgYXJlIGNvbmZpZ3VyZWQgYnkgdGhlIEhTMkxQX1RJTUUgYW5kIExQMkhTX1RJTUUgaW4gdGhlIERTSSBIb3N0IENsb2NrIExhbmUgVGltZXIgQ29uZmlndXJhdGlvbiBSZWdpc3RlciAoRFNJX0NMVENSKS4KKyAgICAgVGhpcyB0aW1pbmdzIGFyZSBjb25maWd1cmVkIGJ5IHRoZSBIUzJMUF9USU1FIGFuZCBMUDJIU19USU1FIGluIHRoZSBEU0kgSG9zdCBDbG9jayBMYW5lIFRpbWVyIENvbmZpZ3VyYXRpb24KKyAgICAgUmVnaXN0ZXIgKERTSV9DTFRDUikuCiAgICAgIEJ1dCB0aGUgRFNJIEhvc3QgaXMgbm90IGNhbGN1bGF0aW5nIExQMkhTX1RJTUUgKyBIUzJMUF9USU1FIGJ1dCAyIHggSFMyTFBfVElNRS4KIAogICAgICBXb3JrYXJvdW5kIDogQ29uZmlndXJlIEhTMkxQX1RJTUUgYW5kIExQMkhTX1RJTUUgd2l0aCB0aGUgc2FtZSB2YWx1ZSBiZWluZyB0aGUgbWF4IG9mIEhTMkxQX1RJTUUgb3IgTFAySFNfVElNRS4KQEAgLTE1ODcsNyArMTYwMSw3IEBACiAgIC8qIFByb2Nlc3MgbG9ja2VkICovCiAgIF9fSEFMX0xPQ0soaGRzaSk7CiAKLSAgIHN0YXR1cyA9IERTSV9TaG9ydFdyaXRlKGhkc2ksIENoYW5uZWxJRCwgTW9kZSwgUGFyYW0xLCBQYXJhbTIpOworICBzdGF0dXMgPSBEU0lfU2hvcnRXcml0ZShoZHNpLCBDaGFubmVsSUQsIE1vZGUsIFBhcmFtMSwgUGFyYW0yKTsKIAogICAvKiBQcm9jZXNzIHVubG9ja2VkICovCiAgIF9fSEFMX1VOTE9DSyhoZHNpKTsKQEAgLTE2MTYsNyArMTYzMCw5IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBQYXJhbTEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90ICpQYXJhbWV0ZXJzVGFibGUpCiB7Ci0gIHVpbnQzMl90IHVpY291bnRlciwgbmJCeXRlcywgY291bnQ7CisgIHVpbnQzMl90IHVpY291bnRlcjsKKyAgdWludDMyX3QgbmJCeXRlczsKKyAgdWludDMyX3QgY291bnQ7CiAgIHVpbnQzMl90IHRpY2tzdGFydDsKICAgdWludDMyX3QgZmlmb3dvcmQ7CiAgIHVpbnQ4X3QgKnBwYXJhbXMgPSBQYXJhbWV0ZXJzVGFibGU7CkBAIC0xNzIxLDcgKzE3MzcsNyBAQAogICB7CiAgICAgLyogc2V0IG1heCByZXR1cm4gcGFja2V0IHNpemUgKi8KICAgICBpZiAoRFNJX1Nob3J0V3JpdGUoaGRzaSwgQ2hhbm5lbE5iciwgRFNJX01BWF9SRVRVUk5fUEtUX1NJWkUsICgoZGF0YXNpemUpICYgMHhGRlUpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgKCgoZGF0YXNpemUpID4+IDhVKSAmIDB4RkZVKSkgIT0gSEFMX09LKQorICAgICAgICAgICAgICAgICAgICAgICAoKChkYXRhc2l6ZSkgPj4gOFUpICYgMHhGRlUpKSAhPSBIQUxfT0spCiAgICAgewogICAgICAgLyogUHJvY2VzcyBVbmxvY2tlZCAqLwogICAgICAgX19IQUxfVU5MT0NLKGhkc2kpOwpAQCAtMTc4Miw2ICsxNzk4LDIxIEBACiAKICAgICAgIHJldHVybiBIQUxfVElNRU9VVDsKICAgICB9CisKKyAgICAvKiBTb2Z0d2FyZSB3b3JrYXJvdW5kIHRvIGF2b2lkIEhBTF9USU1FT1VUIHdoZW4gYSBEU0kgcmVhZCBjb21tYW5kIGlzICAgKi8KKyAgICAvKiBpc3N1ZWQgdG8gdGhlIHBhbmVsIGFuZCB0aGUgcmVhZCBkYXRhIGlzIG5vdCBjYXB0dXJlZCBieSB0aGUgRFNJIEhvc3QgKi8KKyAgICAvKiB3aGljaCByZXR1cm5zIFBhY2tldCBTaXplIEVycm9yLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKyAgICAvKiBOZWVkIHRvIGVuc3VyZSB0aGF0IHRoZSBSZWFkIGNvbW1hbmQgaGFzIGZpbmlzaGVkIGJlZm9yZSBjaGVja2luZyBQU0UgKi8KKyAgICBpZiAoKGhkc2ktPkluc3RhbmNlLT5HUFNSICYgRFNJX0dQU1JfUkNCKSA9PSAwVSkKKyAgICB7CisgICAgICBpZiAoKGhkc2ktPkluc3RhbmNlLT5JU1JbMVVdICYgRFNJX0lTUjFfUFNFKSA9PSBEU0lfSVNSMV9QU0UpCisgICAgICB7CisgICAgICAgIC8qIFByb2Nlc3MgVW5sb2NrZWQgKi8KKyAgICAgICAgX19IQUxfVU5MT0NLKGhkc2kpOworCisgICAgICAgIHJldHVybiBIQUxfRVJST1I7CisgICAgICB9CisgICAgfQogICB9CiAKICAgLyogUHJvY2VzcyB1bmxvY2tlZCAqLwpAQCAtMjA3Nyw3ICsyMTA4LDcgQEAKICAgLyogRGUtYXNzZXJ0IHRoZSBVTFBNIHJlcXVlc3RzIGFuZCB0aGUgVUxQTSBleGl0IGJpdHMgKi8KICAgaGRzaS0+SW5zdGFuY2UtPlBVQ1IgPSAwVTsKIAotICAvKiBTd2l0Y2ggdGhlIGxhbmJ5dGVjbG9jayBzb3VyY2UgaW4gdGhlIFJDQyBmcm9tIHN5c3RlbSBQTEwgdG8gRC1QSFkgKi8KKyAgLyogU3dpdGNoIHRoZSBsYW5lIGJ5dGUgY2xvY2sgc291cmNlIGluIHRoZSBSQ0MgZnJvbSBzeXN0ZW0gUExMIHRvIEQtUEhZICovCiAgIF9fSEFMX1JDQ19EU0lfQ09ORklHKFJDQ19EU0lDTEtTT1VSQ0VfRFNJUEhZKTsKIAogICAvKiBSZXN0b3JlIGNsb2NrIGxhbmUgY29uZmlndXJhdGlvbiB0byBIUyAqLwpAQCAtMjcyNyw1ICsyNzU4LDMgQEAKIC8qKgogICAqIEB9CiAgICovCi0KLS8qKioqKioqKioqKioqKioqKioqKioqKiogKEMpIENPUFlSSUdIVCBTVE1pY3JvZWxlY3Ryb25pY3MgKioqKipFTkQgT0YgRklMRSoqKiovCmRpZmYgLS1naXQgYS9TcmMvc3RtMzJmNHh4X2hhbF9ldGguYyBiL1NyYy9zdG0zMmY0eHhfaGFsX2V0aC5jCmluZGV4IGRiYWViM2UuLjljZjNlNmMgMTAwNjQ0Ci0tLSBhL1NyYy9zdG0zMmY0eHhfaGFsX2V0aC5jCisrKyBiL1NyYy9zdG0zMmY0eHhfaGFsX2V0aC5jCkBAIC0zLDEwMiArMywxNTkgQEAKICAgKiBAZmlsZSAgICBzdG0zMmY0eHhfaGFsX2V0aC5jCiAgICogQGF1dGhvciAgTUNEIEFwcGxpY2F0aW9uIFRlYW0KICAgKiBAYnJpZWYgICBFVEggSEFMIG1vZHVsZSBkcml2ZXIuCi0gICogICAgICAgICAgVGhpcyBmaWxlIHByb3ZpZGVzIGZpcm13YXJlIGZ1bmN0aW9ucyB0byBtYW5hZ2UgdGhlIGZvbGxvd2luZyAKKyAgKiAgICAgICAgICBUaGlzIGZpbGUgcHJvdmlkZXMgZmlybXdhcmUgZnVuY3Rpb25zIHRvIG1hbmFnZSB0aGUgZm9sbG93aW5nCiAgICogICAgICAgICAgZnVuY3Rpb25hbGl0aWVzIG9mIHRoZSBFdGhlcm5ldCAoRVRIKSBwZXJpcGhlcmFsOgotICAqICAgICAgICAgICArIEluaXRpYWxpemF0aW9uIGFuZCBkZS1pbml0aWFsaXphdGlvbiBmdW5jdGlvbnMKKyAgKiAgICAgICAgICAgKyBJbml0aWFsaXphdGlvbiBhbmQgZGVpbml0aWFsaXphdGlvbiBmdW5jdGlvbnMKICAgKiAgICAgICAgICAgKyBJTyBvcGVyYXRpb24gZnVuY3Rpb25zCi0gICogICAgICAgICAgICsgUGVyaXBoZXJhbCBDb250cm9sIGZ1bmN0aW9ucyAKKyAgKiAgICAgICAgICAgKyBQZXJpcGhlcmFsIENvbnRyb2wgZnVuY3Rpb25zCiAgICogICAgICAgICAgICsgUGVyaXBoZXJhbCBTdGF0ZSBhbmQgRXJyb3JzIGZ1bmN0aW9ucwogICAqCisgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICAqIEBhdHRlbnRpb24KKyAgKgorICAqIENvcHlyaWdodCAoYykgMjAxNiBTVE1pY3JvZWxlY3Ryb25pY3MuCisgICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAgKgorICAqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgdW5kZXIgdGVybXMgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZQorICAqIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvZnR3YXJlIGNvbXBvbmVudC4KKyAgKiBJZiBubyBMSUNFTlNFIGZpbGUgY29tZXMgd2l0aCB0aGlzIHNvZnR3YXJlLCBpdCBpcyBwcm92aWRlZCBBUy1JUy4KKyAgKgorICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgQHZlcmJhdGltCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgICAgICAgICAgICAgICAgICAjIyMjIyBIb3cgdG8gdXNlIHRoaXMgZHJpdmVyICMjIyMjCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotICAgIFsuLl0KKyAgICAgWy4uXQorICAgICBUaGUgRVRIIEhBTCBkcml2ZXIgY2FuIGJlIHVzZWQgYXMgZm9sbG93czoKKwogICAgICAgKCMpRGVjbGFyZSBhIEVUSF9IYW5kbGVUeXBlRGVmIGhhbmRsZSBzdHJ1Y3R1cmUsIGZvciBleGFtcGxlOgogICAgICAgICAgRVRIX0hhbmRsZVR5cGVEZWYgIGhldGg7Ci0gICAgICAgIAorCiAgICAgICAoIylGaWxsIHBhcmFtZXRlcnMgb2YgSW5pdCBzdHJ1Y3R1cmUgaW4gaGV0aCBoYW5kbGUKLSAgCi0gICAgICAoIylDYWxsIEhBTF9FVEhfSW5pdCgpIEFQSSB0byBpbml0aWFsaXplIHRoZSBFdGhlcm5ldCBwZXJpcGhlcmFsIChNQUMsIERNQSwgLi4uKSAKKworICAgICAgKCMpQ2FsbCBIQUxfRVRIX0luaXQoKSBBUEkgdG8gaW5pdGlhbGl6ZSB0aGUgRXRoZXJuZXQgcGVyaXBoZXJhbCAoTUFDLCBETUEsIC4uLikKIAogICAgICAgKCMpSW5pdGlhbGl6ZSB0aGUgRVRIIGxvdyBsZXZlbCByZXNvdXJjZXMgdGhyb3VnaCB0aGUgSEFMX0VUSF9Nc3BJbml0KCkgQVBJOgotICAgICAgICAgICgjIykgRW5hYmxlIHRoZSBFdGhlcm5ldCBpbnRlcmZhY2UgY2xvY2sgdXNpbmcgCi0gICAgICAgICAgICAgICAoKysrKSBfX0hBTF9SQ0NfRVRITUFDX0NMS19FTkFCTEUoKTsKLSAgICAgICAgICAgICAgICgrKyspIF9fSEFMX1JDQ19FVEhNQUNUWF9DTEtfRU5BQkxFKCk7Ci0gICAgICAgICAgICAgICAoKysrKSBfX0hBTF9SQ0NfRVRITUFDUlhfQ0xLX0VOQUJMRSgpOwotICAgICAgICAgICAKKyAgICAgICAgICAoIyMpIEVuYWJsZSB0aGUgRXRoZXJuZXQgaW50ZXJmYWNlIGNsb2NrIHVzaW5nCisgICAgICAgICAgICAgICAgKCsrKykgIF9fSEFMX1JDQ19FVEgxTUFDX0NMS19FTkFCTEUoKQorICAgICAgICAgICAgICAgICgrKyspICBfX0hBTF9SQ0NfRVRIMVRYX0NMS19FTkFCTEUoKQorICAgICAgICAgICAgICAgICgrKyspICBfX0hBTF9SQ0NfRVRIMVJYX0NMS19FTkFCTEUoKQorCiAgICAgICAgICAgKCMjKSBJbml0aWFsaXplIHRoZSByZWxhdGVkIEdQSU8gY2xvY2tzCi0gICAgICAgICAgKCMjKSBDb25maWd1cmUgRXRoZXJuZXQgcGluLW91dAotICAgICAgICAgICgjIykgQ29uZmlndXJlIEV0aGVybmV0IE5WSUMgaW50ZXJydXB0IChJVCBtb2RlKSAgIAotICAgIAotICAgICAgKCMpSW5pdGlhbGl6ZSBFdGhlcm5ldCBETUEgRGVzY3JpcHRvcnMgaW4gY2hhaW4gbW9kZSBhbmQgcG9pbnQgdG8gYWxsb2NhdGVkIGJ1ZmZlcnM6Ci0gICAgICAgICAgKCMjKSBIQUxfRVRIX0RNQVR4RGVzY0xpc3RJbml0KCk7IGZvciBUcmFuc21pc3Npb24gcHJvY2VzcwotICAgICAgICAgICgjIykgSEFMX0VUSF9ETUFSeERlc2NMaXN0SW5pdCgpOyBmb3IgUmVjZXB0aW9uIHByb2Nlc3MKKyAgICAgICAgICAoIyMpIENvbmZpZ3VyZSBFdGhlcm5ldCBwaW5vdXQKKyAgICAgICAgICAoIyMpIENvbmZpZ3VyZSBFdGhlcm5ldCBOVklDIGludGVycnVwdCAoaW4gSW50ZXJydXB0IG1vZGUpCiAKLSAgICAgICgjKUVuYWJsZSBNQUMgYW5kIERNQSB0cmFuc21pc3Npb24gYW5kIHJlY2VwdGlvbjoKLSAgICAgICAgICAoIyMpIEhBTF9FVEhfU3RhcnQoKTsKKyAgICAgICgjKSBFdGhlcm5ldCBkYXRhIHJlY2VwdGlvbiBpcyBhc3luY2hyb25vdXMsIHNvIGNhbGwgdGhlIGZvbGxvd2luZyBBUEkKKyAgICAgICAgICB0byBzdGFydCB0aGUgbGlzdGVuaW5nIG1vZGU6CisgICAgICAgICAgKCMjKSBIQUxfRVRIX1N0YXJ0KCk6CisgICAgICAgICAgICAgICBUaGlzIEFQSSBzdGFydHMgdGhlIE1BQyBhbmQgRE1BIHRyYW5zbWlzc2lvbiBhbmQgcmVjZXB0aW9uIHByb2Nlc3MsCisgICAgICAgICAgICAgICB3aXRob3V0IGVuYWJsaW5nIGVuZCBvZiB0cmFuc2ZlciBpbnRlcnJ1cHRzLCBpbiB0aGlzIG1vZGUgdXNlcgorICAgICAgICAgICAgICAgaGFzIHRvIHBvbGwgZm9yIGRhdGEgcmVjZXB0aW9uIGJ5IGNhbGxpbmcgSEFMX0VUSF9SZWFkRGF0YSgpCisgICAgICAgICAgKCMjKSBIQUxfRVRIX1N0YXJ0X0lUKCk6CisgICAgICAgICAgICAgICBUaGlzIEFQSSBzdGFydHMgdGhlIE1BQyBhbmQgRE1BIHRyYW5zbWlzc2lvbiBhbmQgcmVjZXB0aW9uIHByb2Nlc3MsCisgICAgICAgICAgICAgICBlbmQgb2YgdHJhbnNmZXIgaW50ZXJydXB0cyBhcmUgZW5hYmxlZCBpbiB0aGlzIG1vZGUsCisgICAgICAgICAgICAgICBIQUxfRVRIX1J4Q3BsdENhbGxiYWNrKCkgd2lsbCBiZSBleGVjdXRlZCB3aGVuIGFuIEV0aGVybmV0IHBhY2tldCBpcyByZWNlaXZlZAogCi0gICAgICAoIylQcmVwYXJlIEVUSCBETUEgVFggRGVzY3JpcHRvcnMgYW5kIGdpdmUgdGhlIGhhbmQgdG8gRVRIIERNQSB0byB0cmFuc2ZlciAKLSAgICAgICAgIHRoZSBmcmFtZSB0byBNQUMgVFggRklGTzoKLSAgICAgICAgICgjIykgSEFMX0VUSF9UcmFuc21pdEZyYW1lKCk7CisgICAgICAoIykgV2hlbiBkYXRhIGlzIHJlY2VpdmVkIHVzZXIgY2FuIGNhbGwgdGhlIGZvbGxvd2luZyBBUEkgdG8gZ2V0IHJlY2VpdmVkIGRhdGE6CisgICAgICAgICAgKCMjKSBIQUxfRVRIX1JlYWREYXRhKCk6IFJlYWQgYSByZWNlaXZlZCBwYWNrZXQKIAotICAgICAgKCMpUG9sbCBmb3IgYSByZWNlaXZlZCBmcmFtZSBpbiBFVEggUlggRE1BIERlc2NyaXB0b3JzIGFuZCBnZXQgcmVjZWl2ZWQgCi0gICAgICAgICBmcmFtZSBwYXJhbWV0ZXJzCi0gICAgICAgICAoIyMpIEhBTF9FVEhfR2V0UmVjZWl2ZWRGcmFtZSgpOyAoc2hvdWxkIGJlIGNhbGxlZCBpbnRvIGFuIGluZmluaXRlIGxvb3ApCisgICAgICAoIykgRm9yIHRyYW5zbWlzc2lvbiBwYXRoLCB0d28gQVBJcyBhcmUgYXZhaWxhYmxlOgorICAgICAgICAgKCMjKSBIQUxfRVRIX1RyYW5zbWl0KCk6IFRyYW5zbWl0IGFuIEVUSCBmcmFtZSBpbiBibG9ja2luZyBtb2RlCisgICAgICAgICAoIyMpIEhBTF9FVEhfVHJhbnNtaXRfSVQoKTogVHJhbnNtaXQgYW4gRVRIIGZyYW1lIGluIGludGVycnVwdCBtb2RlLAorICAgICAgICAgICAgICBIQUxfRVRIX1R4Q3BsdENhbGxiYWNrKCkgd2lsbCBiZSBleGVjdXRlZCB3aGVuIGVuZCBvZiB0cmFuc2ZlciBvY2N1cgogCi0gICAgICAoIykgR2V0IGEgcmVjZWl2ZWQgZnJhbWUgd2hlbiBhbiBFVEggUlggaW50ZXJydXB0IG9jY3VyczoKLSAgICAgICAgICgjIykgSEFMX0VUSF9HZXRSZWNlaXZlZEZyYW1lX0lUKCk7IChjYWxsZWQgaW4gSVQgbW9kZSBvbmx5KQotCi0gICAgICAoIykgQ29tbXVuaWNhdGUgd2l0aCBleHRlcm5hbCBQSFkgZGV2aWNlOgotICAgICAgICAgKCMjKSBSZWFkIGEgc3BlY2lmaWMgcmVnaXN0ZXIgZnJvbSB0aGUgUEhZICAKLSAgICAgICAgICAgICAgSEFMX0VUSF9SZWFkUEhZUmVnaXN0ZXIoKTsKLSAgICAgICAgICgjIykgV3JpdGUgZGF0YSB0byBhIHNwZWNpZmljIFJIWSByZWdpc3RlcjoKLSAgICAgICAgICAgICAgSEFMX0VUSF9Xcml0ZVBIWVJlZ2lzdGVyKCk7CisgICAgICAoIykgQ29tbXVuaWNhdGlvbiB3aXRoIGFuIGV4dGVybmFsIFBIWSBkZXZpY2U6CisgICAgICAgICAoIyMpIEhBTF9FVEhfUmVhZFBIWVJlZ2lzdGVyKCk6IFJlYWQgYSByZWdpc3RlciBmcm9tIGFuIGV4dGVybmFsIFBIWQorICAgICAgICAgKCMjKSBIQUxfRVRIX1dyaXRlUEhZUmVnaXN0ZXIoKTogV3JpdGUgZGF0YSB0byBhbiBleHRlcm5hbCBSSFkgcmVnaXN0ZXIKIAogICAgICAgKCMpIENvbmZpZ3VyZSB0aGUgRXRoZXJuZXQgTUFDIGFmdGVyIEVUSCBwZXJpcGhlcmFsIGluaXRpYWxpemF0aW9uCi0gICAgICAgICAgSEFMX0VUSF9Db25maWdNQUMoKTsgYWxsIE1BQyBwYXJhbWV0ZXJzIHNob3VsZCBiZSBmaWxsZWQuCi0gICAgICAKKyAgICAgICAgICAoIyMpIEhBTF9FVEhfR2V0TUFDQ29uZmlnKCk6IEdldCBNQUMgYWN0dWFsIGNvbmZpZ3VyYXRpb24gaW50byBFVEhfTUFDQ29uZmlnVHlwZURlZgorICAgICAgICAgICgjIykgSEFMX0VUSF9TZXRNQUNDb25maWcoKTogU2V0IE1BQyBjb25maWd1cmF0aW9uIGJhc2VkIG9uIEVUSF9NQUNDb25maWdUeXBlRGVmCisKICAgICAgICgjKSBDb25maWd1cmUgdGhlIEV0aGVybmV0IERNQSBhZnRlciBFVEggcGVyaXBoZXJhbCBpbml0aWFsaXphdGlvbgotICAgICAgICAgIEhBTF9FVEhfQ29uZmlnRE1BKCk7IGFsbCBETUEgcGFyYW1ldGVycyBzaG91bGQgYmUgZmlsbGVkLgotICAgICAgCi0gICAgICAtQC0gVGhlIFBUUCBwcm90b2NvbCBhbmQgdGhlIERNQSBkZXNjcmlwdG9ycyByaW5nIG1vZGUgYXJlIG5vdCBzdXBwb3J0ZWQgCi0gICAgICAgICAgaW4gdGhpcyBkcml2ZXIKLSoqKiBDYWxsYmFjayByZWdpc3RyYXRpb24gKioqCisgICAgICAgICAgKCMjKSBIQUxfRVRIX0dldERNQUNvbmZpZygpOiBHZXQgRE1BIGFjdHVhbCBjb25maWd1cmF0aW9uIGludG8gRVRIX0RNQUNvbmZpZ1R5cGVEZWYKKyAgICAgICAgICAoIyMpIEhBTF9FVEhfU2V0RE1BQ29uZmlnKCk6IFNldCBETUEgY29uZmlndXJhdGlvbiBiYXNlZCBvbiBFVEhfRE1BQ29uZmlnVHlwZURlZgorCisgICAgICAoIykgQ29uZmlndXJlIHRoZSBFdGhlcm5ldCBQVFAgYWZ0ZXIgRVRIIHBlcmlwaGVyYWwgaW5pdGlhbGl6YXRpb24KKyAgICAgICAgICAoIyMpIERlZmluZSBIQUxfRVRIX1VTRV9QVFAgdG8gdXNlIFBUUCBBUElzLgorICAgICAgICAgICgjIykgSEFMX0VUSF9QVFBfR2V0Q29uZmlnKCk6IEdldCBQVFAgYWN0dWFsIGNvbmZpZ3VyYXRpb24gaW50byBFVEhfUFRQX0NvbmZpZ1R5cGVEZWYKKyAgICAgICAgICAoIyMpIEhBTF9FVEhfUFRQX1NldENvbmZpZygpOiBTZXQgUFRQIGNvbmZpZ3VyYXRpb24gYmFzZWQgb24gRVRIX1BUUF9Db25maWdUeXBlRGVmCisgICAgICAgICAgKCMjKSBIQUxfRVRIX1BUUF9HZXRUaW1lKCk6IEdldCBTZWNvbmRzIGFuZCBOYW5vc2Vjb25kcyBmb3IgdGhlIEV0aGVybmV0IFBUUCByZWdpc3RlcnMKKyAgICAgICAgICAoIyMpIEhBTF9FVEhfUFRQX1NldFRpbWUoKTogU2V0IFNlY29uZHMgYW5kIE5hbm9zZWNvbmRzIGZvciB0aGUgRXRoZXJuZXQgUFRQIHJlZ2lzdGVycworICAgICAgICAgICgjIykgSEFMX0VUSF9QVFBfQWRkVGltZU9mZnNldCgpOiBBZGQgU2Vjb25kcyBhbmQgTmFub3NlY29uZHMgb2Zmc2V0IGZvciB0aGUgRXRoZXJuZXQgUFRQIHJlZ2lzdGVycworICAgICAgICAgICgjIykgSEFMX0VUSF9QVFBfSW5zZXJ0VHhUaW1lc3RhbXAoKTogSW5zZXJ0IFRpbWVzdGFtcCBpbiB0cmFuc21pc3Npb24KKyAgICAgICAgICAoIyMpIEhBTF9FVEhfUFRQX0dldFR4VGltZXN0YW1wKCk6IEdldCB0cmFuc21pc3Npb24gdGltZXN0YW1wCisgICAgICAgICAgKCMjKSBIQUxfRVRIX1BUUF9HZXRSeFRpbWVzdGFtcCgpOiBHZXQgcmVjZXB0aW9uIHRpbWVzdGFtcAorCisgICAgICAtQC0gVGhlIEFSUCBvZmZsb2FkIGZlYXR1cmUgaXMgbm90IHN1cHBvcnRlZCBpbiB0aGlzIGRyaXZlci4KKworICAgICAgLUAtIFRoZSBQVFAgb2ZmbG9hZCBmZWF0dXJlIGlzIG5vdCBzdXBwb3J0ZWQgaW4gdGhpcyBkcml2ZXIuCisKKyAgKioqIENhbGxiYWNrIHJlZ2lzdHJhdGlvbiAqKioKICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAKICAgVGhlIGNvbXBpbGF0aW9uIGRlZmluZSAgVVNFX0hBTF9FVEhfUkVHSVNURVJfQ0FMTEJBQ0tTIHdoZW4gc2V0IHRvIDEKICAgYWxsb3dzIHRoZSB1c2VyIHRvIGNvbmZpZ3VyZSBkeW5hbWljYWxseSB0aGUgZHJpdmVyIGNhbGxiYWNrcy4KLSAgVXNlIEZ1bmN0aW9uIEByZWYgSEFMX0VUSF9SZWdpc3RlckNhbGxiYWNrKCkgdG8gcmVnaXN0ZXIgYW4gaW50ZXJydXB0IGNhbGxiYWNrLgorICBVc2UgRnVuY3Rpb24gSEFMX0VUSF9SZWdpc3RlckNhbGxiYWNrKCkgdG8gcmVnaXN0ZXIgYW4gaW50ZXJydXB0IGNhbGxiYWNrLgogCi0gIEZ1bmN0aW9uIEByZWYgSEFMX0VUSF9SZWdpc3RlckNhbGxiYWNrKCkgYWxsb3dzIHRvIHJlZ2lzdGVyIGZvbGxvd2luZyBjYWxsYmFja3M6CisgIEZ1bmN0aW9uIEhBTF9FVEhfUmVnaXN0ZXJDYWxsYmFjaygpIGFsbG93cyB0byByZWdpc3RlciBmb2xsb3dpbmcgY2FsbGJhY2tzOgogICAgICgrKSBUeENwbHRDYWxsYmFjayAgIDogVHggQ29tcGxldGUgQ2FsbGJhY2suCiAgICAgKCspIFJ4Q3BsdENhbGxiYWNrICAgOiBSeCBDb21wbGV0ZSBDYWxsYmFjay4KLSAgICAoKykgRE1BRXJyb3JDYWxsYmFjayA6IERNQSBFcnJvciBDYWxsYmFjay4KKyAgICAoKykgRXJyb3JDYWxsYmFjayAgICA6IEVycm9yIENhbGxiYWNrLgorICAgICgrKSBQTVRDYWxsYmFjayAgICAgIDogUG93ZXIgTWFuYWdlbWVudCBDYWxsYmFjaworICAgICgrKSBFRUVDYWxsYmFjayAgICAgIDogRUVFIENhbGxiYWNrLgorICAgICgrKSBXYWtlVXBDYWxsYmFjayAgIDogV2FrZSBVUCBDYWxsYmFjawogICAgICgrKSBNc3BJbml0Q2FsbGJhY2sgIDogTXNwSW5pdCBDYWxsYmFjay4KICAgICAoKykgTXNwRGVJbml0Q2FsbGJhY2s6IE1zcERlSW5pdCBDYWxsYmFjay4KIAogICBUaGlzIGZ1bmN0aW9uIHRha2VzIGFzIHBhcmFtZXRlcnMgdGhlIEhBTCBwZXJpcGhlcmFsIGhhbmRsZSwgdGhlIENhbGxiYWNrIElECiAgIGFuZCBhIHBvaW50ZXIgdG8gdGhlIHVzZXIgY2FsbGJhY2sgZnVuY3Rpb24uCiAKLSAgVXNlIGZ1bmN0aW9uIEByZWYgSEFMX0VUSF9VblJlZ2lzdGVyQ2FsbGJhY2soKSB0byByZXNldCBhIGNhbGxiYWNrIHRvIHRoZSBkZWZhdWx0CisgIEZvciBzcGVjaWZpYyBjYWxsYmFja3MgUnhBbGxvY2F0ZUNhbGxiYWNrIHVzZSBkZWRpY2F0ZWQgcmVnaXN0ZXIgY2FsbGJhY2tzOgorICByZXNwZWN0aXZlbHkgSEFMX0VUSF9SZWdpc3RlclJ4QWxsb2NhdGVDYWxsYmFjaygpLgorCisgIEZvciBzcGVjaWZpYyBjYWxsYmFja3MgUnhMaW5rQ2FsbGJhY2sgdXNlIGRlZGljYXRlZCByZWdpc3RlciBjYWxsYmFja3M6CisgIHJlc3BlY3RpdmVseSBIQUxfRVRIX1JlZ2lzdGVyUnhMaW5rQ2FsbGJhY2soKS4KKworICBGb3Igc3BlY2lmaWMgY2FsbGJhY2tzIFR4RnJlZUNhbGxiYWNrIHVzZSBkZWRpY2F0ZWQgcmVnaXN0ZXIgY2FsbGJhY2tzOgorICByZXNwZWN0aXZlbHkgSEFMX0VUSF9SZWdpc3RlclR4RnJlZUNhbGxiYWNrKCkuCisKKyAgRm9yIHNwZWNpZmljIGNhbGxiYWNrcyBUeFB0cENhbGxiYWNrIHVzZSBkZWRpY2F0ZWQgcmVnaXN0ZXIgY2FsbGJhY2tzOgorICByZXNwZWN0aXZlbHkgSEFMX0VUSF9SZWdpc3RlclR4UHRwQ2FsbGJhY2soKS4KKworICBVc2UgZnVuY3Rpb24gSEFMX0VUSF9VblJlZ2lzdGVyQ2FsbGJhY2soKSB0byByZXNldCBhIGNhbGxiYWNrIHRvIHRoZSBkZWZhdWx0CiAgIHdlYWsgZnVuY3Rpb24uCi0gIEByZWYgSEFMX0VUSF9VblJlZ2lzdGVyQ2FsbGJhY2sgdGFrZXMgYXMgcGFyYW1ldGVycyB0aGUgSEFMIHBlcmlwaGVyYWwgaGFuZGxlLAorICBIQUxfRVRIX1VuUmVnaXN0ZXJDYWxsYmFjayB0YWtlcyBhcyBwYXJhbWV0ZXJzIHRoZSBIQUwgcGVyaXBoZXJhbCBoYW5kbGUsCiAgIGFuZCB0aGUgQ2FsbGJhY2sgSUQuCiAgIFRoaXMgZnVuY3Rpb24gYWxsb3dzIHRvIHJlc2V0IGZvbGxvd2luZyBjYWxsYmFja3M6CiAgICAgKCspIFR4Q3BsdENhbGxiYWNrICAgOiBUeCBDb21wbGV0ZSBDYWxsYmFjay4KICAgICAoKykgUnhDcGx0Q2FsbGJhY2sgICA6IFJ4IENvbXBsZXRlIENhbGxiYWNrLgotICAgICgrKSBETUFFcnJvckNhbGxiYWNrIDogRE1BIEVycm9yIENhbGxiYWNrLgorICAgICgrKSBFcnJvckNhbGxiYWNrICAgIDogRXJyb3IgQ2FsbGJhY2suCisgICAgKCspIFBNVENhbGxiYWNrICAgICAgOiBQb3dlciBNYW5hZ2VtZW50IENhbGxiYWNrCisgICAgKCspIEVFRUNhbGxiYWNrICAgICAgOiBFRUUgQ2FsbGJhY2suCisgICAgKCspIFdha2VVcENhbGxiYWNrICAgOiBXYWtlIFVQIENhbGxiYWNrCiAgICAgKCspIE1zcEluaXRDYWxsYmFjayAgOiBNc3BJbml0IENhbGxiYWNrLgogICAgICgrKSBNc3BEZUluaXRDYWxsYmFjazogTXNwRGVJbml0IENhbGxiYWNrLgogCisgIEZvciBzcGVjaWZpYyBjYWxsYmFja3MgUnhBbGxvY2F0ZUNhbGxiYWNrIHVzZSBkZWRpY2F0ZWQgdW5yZWdpc3RlciBjYWxsYmFja3M6CisgIHJlc3BlY3RpdmVseSBIQUxfRVRIX1VuUmVnaXN0ZXJSeEFsbG9jYXRlQ2FsbGJhY2soKS4KKworICBGb3Igc3BlY2lmaWMgY2FsbGJhY2tzIFJ4TGlua0NhbGxiYWNrIHVzZSBkZWRpY2F0ZWQgdW5yZWdpc3RlciBjYWxsYmFja3M6CisgIHJlc3BlY3RpdmVseSBIQUxfRVRIX1VuUmVnaXN0ZXJSeExpbmtDYWxsYmFjaygpLgorCisgIEZvciBzcGVjaWZpYyBjYWxsYmFja3MgVHhGcmVlQ2FsbGJhY2sgdXNlIGRlZGljYXRlZCB1bnJlZ2lzdGVyIGNhbGxiYWNrczoKKyAgcmVzcGVjdGl2ZWx5IEhBTF9FVEhfVW5SZWdpc3RlclR4RnJlZUNhbGxiYWNrKCkuCisKKyAgRm9yIHNwZWNpZmljIGNhbGxiYWNrcyBUeFB0cENhbGxiYWNrIHVzZSBkZWRpY2F0ZWQgdW5yZWdpc3RlciBjYWxsYmFja3M6CisgIHJlc3BlY3RpdmVseSBIQUxfRVRIX1VuUmVnaXN0ZXJUeFB0cENhbGxiYWNrKCkuCisKICAgQnkgZGVmYXVsdCwgYWZ0ZXIgdGhlIEhBTF9FVEhfSW5pdCBhbmQgd2hlbiB0aGUgc3RhdGUgaXMgSEFMX0VUSF9TVEFURV9SRVNFVAogICBhbGwgY2FsbGJhY2tzIGFyZSBzZXQgdG8gdGhlIGNvcnJlc3BvbmRpbmcgd2VhayBmdW5jdGlvbnM6Ci0gIGV4YW1wbGVzIEByZWYgSEFMX0VUSF9UeENwbHRDYWxsYmFjaygpLCBAcmVmIEhBTF9FVEhfUnhDcGx0Q2FsbGJhY2soKS4KKyAgZXhhbXBsZXMgSEFMX0VUSF9UeENwbHRDYWxsYmFjaygpLCBIQUxfRVRIX1J4Q3BsdENhbGxiYWNrKCkuCiAgIEV4Y2VwdGlvbiBkb25lIGZvciBNc3BJbml0IGFuZCBNc3BEZUluaXQgZnVuY3Rpb25zIHRoYXQgYXJlCi0gIHJlc2V0IHRvIHRoZSBsZWdhY3kgd2VhayBmdW5jdGlvbiBpbiB0aGUgSEFMX0VUSF9Jbml0LyBAcmVmIEhBTF9FVEhfRGVJbml0IG9ubHkgd2hlbgorICByZXNldCB0byB0aGUgbGVnYWN5IHdlYWsgZnVuY3Rpb24gaW4gdGhlIEhBTF9FVEhfSW5pdC8gSEFMX0VUSF9EZUluaXQgb25seSB3aGVuCiAgIHRoZXNlIGNhbGxiYWNrcyBhcmUgbnVsbCAobm90IHJlZ2lzdGVyZWQgYmVmb3JlaGFuZCkuCi0gIGlmIG5vdCwgTXNwSW5pdCBvciBNc3BEZUluaXQgYXJlIG5vdCBudWxsLCB0aGUgSEFMX0VUSF9Jbml0LyBAcmVmIEhBTF9FVEhfRGVJbml0CisgIGlmIG5vdCwgTXNwSW5pdCBvciBNc3BEZUluaXQgYXJlIG5vdCBudWxsLCB0aGUgSEFMX0VUSF9Jbml0LyBIQUxfRVRIX0RlSW5pdAogICBrZWVwIGFuZCB1c2UgdGhlIHVzZXIgTXNwSW5pdC9Nc3BEZUluaXQgY2FsbGJhY2tzIChyZWdpc3RlcmVkIGJlZm9yZWhhbmQpCiAKICAgQ2FsbGJhY2tzIGNhbiBiZSByZWdpc3RlcmVkL3VucmVnaXN0ZXJlZCBpbiBIQUxfRVRIX1NUQVRFX1JFQURZIHN0YXRlIG9ubHkuCkBAIC0xMDYsNyArMTYzLDcgQEAKICAgaW4gSEFMX0VUSF9TVEFURV9SRUFEWSBvciBIQUxfRVRIX1NUQVRFX1JFU0VUIHN0YXRlLAogICB0aHVzIHJlZ2lzdGVyZWQgKHVzZXIpIE1zcEluaXQvRGVJbml0IGNhbGxiYWNrcyBjYW4gYmUgdXNlZCBkdXJpbmcgdGhlIEluaXQvRGVJbml0LgogICBJbiB0aGF0IGNhc2UgZmlyc3QgcmVnaXN0ZXIgdGhlIE1zcEluaXQvTXNwRGVJbml0IHVzZXIgY2FsbGJhY2tzCi0gIHVzaW5nIEByZWYgSEFMX0VUSF9SZWdpc3RlckNhbGxiYWNrKCkgYmVmb3JlIGNhbGxpbmcgQHJlZiBIQUxfRVRIX0RlSW5pdAorICB1c2luZyBIQUxfRVRIX1JlZ2lzdGVyQ2FsbGJhY2soKSBiZWZvcmUgY2FsbGluZyBIQUxfRVRIX0RlSW5pdAogICBvciBIQUxfRVRIX0luaXQgZnVuY3Rpb24uCiAKICAgV2hlbiBUaGUgY29tcGlsYXRpb24gZGVmaW5lIFVTRV9IQUxfRVRIX1JFR0lTVEVSX0NBTExCQUNLUyBpcyBzZXQgdG8gMCBvcgpAQCAtMTE1LDE3ICsxNzIsNiBAQAogCiAgIEBlbmR2ZXJiYXRpbQogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAgKiBAYXR0ZW50aW9uCi0gICoKLSAgKiA8aDI+PGNlbnRlcj4mY29weTsgQ29weXJpZ2h0IChjKSAyMDE3IFNUTWljcm9lbGVjdHJvbmljcy4KLSAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvY2VudGVyPjwvaDI+Ci0gICoKLSAgKiBUaGlzIHNvZnR3YXJlIGNvbXBvbmVudCBpcyBsaWNlbnNlZCBieSBTVCB1bmRlciBCU0QgMy1DbGF1c2UgbGljZW5zZSwKLSAgKiB0aGUgIkxpY2Vuc2UiOyBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlCi0gICogTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0OgotICAqICAgICAgICAgICAgICAgICAgICAgICAgb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvQlNELTMtQ2xhdXNlCi0gICoKLSAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICovCiAKIC8qIEluY2x1ZGVzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCkBAIC0xMzQsNTMzICsxODAsMjc0IEBACiAvKiogQGFkZHRvZ3JvdXAgU1RNMzJGNHh4X0hBTF9Ecml2ZXIKICAgKiBAewogICAqLworI2lmZGVmIEhBTF9FVEhfTU9EVUxFX0VOQUJMRUQKIAotLyoqIEBkZWZncm91cCBFVEggRVRIIAorI2lmIGRlZmluZWQoRVRIKQorCisvKiogQGRlZmdyb3VwIEVUSCBFVEgKICAgKiBAYnJpZWYgRVRIIEhBTCBtb2R1bGUgZHJpdmVyCiAgICogQHsKICAgKi8KIAotI2lmZGVmIEhBTF9FVEhfTU9EVUxFX0VOQUJMRUQKLQotI2lmIGRlZmluZWQoU1RNMzJGNDA3eHgpIHx8IGRlZmluZWQoU1RNMzJGNDE3eHgpIHx8IGRlZmluZWQoU1RNMzJGNDI3eHgpIHx8IGRlZmluZWQoU1RNMzJGNDM3eHgpIHx8XAotICAgIGRlZmluZWQoU1RNMzJGNDI5eHgpIHx8IGRlZmluZWQoU1RNMzJGNDM5eHgpIHx8IGRlZmluZWQoU1RNMzJGNDY5eHgpIHx8IGRlZmluZWQoU1RNMzJGNDc5eHgpCi0KIC8qIFByaXZhdGUgdHlwZWRlZiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAvKiBQcml2YXRlIGRlZmluZSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwotLyoqIEBkZWZncm91cCBFVEhfUHJpdmF0ZV9Db25zdGFudHMgRVRIIFByaXZhdGUgQ29uc3RhbnRzCisvKiogQGFkZHRvZ3JvdXAgRVRIX1ByaXZhdGVfQ29uc3RhbnRzIEVUSCBQcml2YXRlIENvbnN0YW50cwogICAqIEB7CiAgICovCi0jZGVmaW5lIEVUSF9USU1FT1VUX1NXUkVTRVQgICAgICAgICAgICAgICA1MDBVICAKLSNkZWZpbmUgRVRIX1RJTUVPVVRfTElOS0VEX1NUQVRFICAgICAgICAgIDUwMDBVCi0jZGVmaW5lIEVUSF9USU1FT1VUX0FVVE9ORUdPX0NPTVBMRVRFRCAgICA1MDAwVQorI2RlZmluZSBFVEhfTUFDQ1JfTUFTSyAgICAgICAoKHVpbnQzMl90KTB4RkZGQjdGN0NVKQorI2RlZmluZSBFVEhfTUFDRUNSX01BU0sgICAgICAoKHVpbnQzMl90KTB4M0YwNzdGRkZVKQorI2RlZmluZSBFVEhfTUFDRkZSX01BU0sgICAgICAoKHVpbnQzMl90KTB4ODAwMDA3RkZVKQorI2RlZmluZSBFVEhfTUFDV1RSX01BU0sgICAgICAoKHVpbnQzMl90KTB4MDAwMDAxMEZVKQorI2RlZmluZSBFVEhfTUFDVEZDUl9NQVNLICAgICAoKHVpbnQzMl90KTB4RkZGRjAwRjJVKQorI2RlZmluZSBFVEhfTUFDUkZDUl9NQVNLICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDNVKQorI2RlZmluZSBFVEhfTVRMVFFPTVJfTUFTSyAgICAoKHVpbnQzMl90KTB4MDAwMDAwNzJVKQorI2RlZmluZSBFVEhfTVRMUlFPTVJfTUFTSyAgICAoKHVpbnQzMl90KTB4MDAwMDAwN0JVKQogCisjZGVmaW5lIEVUSF9ETUFNUl9NQVNLICAgICAgICgodWludDMyX3QpMHgwMDAwNzgwMlUpCisjZGVmaW5lIEVUSF9ETUFTQk1SX01BU0sgICAgICgodWludDMyX3QpMHgwMDAwRDAwMVUpCisjZGVmaW5lIEVUSF9ETUFDQ1JfTUFTSyAgICAgICgodWludDMyX3QpMHgwMDAxM0ZGRlUpCisjZGVmaW5lIEVUSF9ETUFDVENSX01BU0sgICAgICgodWludDMyX3QpMHgwMDNGMTAxMFUpCisjZGVmaW5lIEVUSF9ETUFDUkNSX01BU0sgICAgICgodWludDMyX3QpMHg4MDNGMDAwMFUpCisjZGVmaW5lIEVUSF9NQUNQTVRDU1JfTUFTSyAgIChFVEhfTUFDUE1UQ1NSX1BEIHwgRVRIX01BQ1BNVENTUl9XRkUgfCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFVEhfTUFDUE1UQ1NSX01QRSB8IEVUSF9NQUNQTVRDU1JfR1UpCisKKy8qIFRpbWVvdXQgdmFsdWVzICovCisjZGVmaW5lIEVUSF9TV1JFU0VUX1RJTUVPVVQgICAgICAgICAgICAgICAgICgodWludDMyX3QpNTAwVSkKKyNkZWZpbmUgRVRIX01ESU9fQlVTX1RJTUVPVVQgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkxMDAwVSkKKworI2RlZmluZSBFVEhfRE1BUlhERVNDX0VSUk9SU19NQVNLICgodWludDMyX3QpKEVUSF9ETUFSWERFU0NfREJFIHwgRVRIX0RNQVJYREVTQ19SRSB8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFVEhfRE1BUlhERVNDX09FICB8IEVUSF9ETUFSWERFU0NfUldUIHxcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRVRIX0RNQVJYREVTQ19MQyB8IEVUSF9ETUFSWERFU0NfQ0UgfFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFVEhfRE1BUlhERVNDX0RFIHwgRVRIX0RNQVJYREVTQ19JUFY0SENFKSkKKworI2RlZmluZSBFVEhfTUFDX1VTX1RJQ0sgICAgICAgICAgICAgICAoKHVpbnQzMl90KTEwMDAwMDBVKQorCisjZGVmaW5lIEVUSF9NQUNUU0NSX01BU0sgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDg3RkYyRlUpCisKKyNkZWZpbmUgRVRIX1BUUFRTSFJfVkFMVUUgICAgICAgICAgICAoKHVpbnQzMl90KTB4RkZGRkZGRkZVKQorI2RlZmluZSBFVEhfUFRQVFNMUl9WQUxVRSAgICAgICAgICAgICgodWludDMyX3QpMHhCQjlBQ0EwMFUpCisKKy8qIEV0aGVybmV0IE1BQ01JSUFSIHJlZ2lzdGVyIE1hc2sgKi8KKyNkZWZpbmUgRVRIX01BQ01JSUFSX0NSX01BU0sgICAgKCh1aW50MzJfdCkweEZGRkZGRkUzVSkKKworLyogRGVsYXkgdG8gd2FpdCB3aGVuIHdyaXRpbmcgdG8gc29tZSBFdGhlcm5ldCByZWdpc3RlcnMgKi8KKyNkZWZpbmUgRVRIX1JFR19XUklURV9ERUxBWSAoKHVpbnQzMl90KTB4MDAwMDAwMDFVKQorCisvKiBFVEhFUk5FVCBNQUNDUiByZWdpc3RlciBNYXNrICovCisjZGVmaW5lIEVUSF9NQUNDUl9DTEVBUl9NQVNLICAgIDB4RkYyMDgxMEZVCisKKy8qIEVUSEVSTkVUIE1BQ0ZDUiByZWdpc3RlciBNYXNrICovCisjZGVmaW5lIEVUSF9NQUNGQ1JfQ0xFQVJfTUFTSyAgIDB4MDAwMEZGNDFVCisKKy8qIEVUSEVSTkVUIERNQU9NUiByZWdpc3RlciBNYXNrICovCisjZGVmaW5lIEVUSF9ETUFPTVJfQ0xFQVJfTUFTSyAgIDB4RjhERTNGMjNVCisKKy8qIEVUSEVSTkVUIE1BQyBhZGRyZXNzIG9mZnNldHMgKi8KKyNkZWZpbmUgRVRIX01BQ19BRERSX0hCQVNFICAgICh1aW50MzJfdCkoRVRIX01BQ19CQVNFICsgMHg0MFUpICAvKiBFVEhFUk5FVCBNQUMgYWRkcmVzcyBoaWdoIG9mZnNldCAqLworI2RlZmluZSBFVEhfTUFDX0FERFJfTEJBU0UgICAgKHVpbnQzMl90KShFVEhfTUFDX0JBU0UgKyAweDQ0VSkgIC8qIEVUSEVSTkVUIE1BQyBhZGRyZXNzIGxvdyBvZmZzZXQgKi8KKworLyogRVRIRVJORVQgRE1BIFJ4IGRlc2NyaXB0b3JzIEZyYW1lIGxlbmd0aCBTaGlmdCAqLworI2RlZmluZSAgRVRIX0RNQVJYREVTQ19GUkFNRUxFTkdUSFNISUZUICAgICAgICAgICAgMTZVCiAvKioKICAgKiBAfQogICAqLwotLyogUHJpdmF0ZSBtYWNybyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KLS8qIFByaXZhdGUgdmFyaWFibGVzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCi0vKiBQcml2YXRlIGZ1bmN0aW9uIHByb3RvdHlwZXMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwotLyoqIEBkZWZncm91cCBFVEhfUHJpdmF0ZV9GdW5jdGlvbnMgRVRIIFByaXZhdGUgRnVuY3Rpb25zCisKKy8qIFByaXZhdGUgbWFjcm9zIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisvKiogQGRlZmdyb3VwIEVUSF9Qcml2YXRlX01hY3JvcyBFVEggUHJpdmF0ZSBNYWNyb3MKICAgKiBAewogICAqLwotc3RhdGljIHZvaWQgRVRIX01BQ0RNQUNvbmZpZyhFVEhfSGFuZGxlVHlwZURlZiAqaGV0aCwgdWludDMyX3QgZXJyKTsKLXN0YXRpYyB2b2lkIEVUSF9NQUNBZGRyZXNzQ29uZmlnKEVUSF9IYW5kbGVUeXBlRGVmICpoZXRoLCB1aW50MzJfdCBNYWNBZGRyLCB1aW50OF90ICpBZGRyKTsKLXN0YXRpYyB2b2lkIEVUSF9NQUNSZWNlcHRpb25FbmFibGUoRVRIX0hhbmRsZVR5cGVEZWYgKmhldGgpOwotc3RhdGljIHZvaWQgRVRIX01BQ1JlY2VwdGlvbkRpc2FibGUoRVRIX0hhbmRsZVR5cGVEZWYgKmhldGgpOwotc3RhdGljIHZvaWQgRVRIX01BQ1RyYW5zbWlzc2lvbkVuYWJsZShFVEhfSGFuZGxlVHlwZURlZiAqaGV0aCk7Ci1zdGF0aWMgdm9pZCBFVEhfTUFDVHJhbnNtaXNzaW9uRGlzYWJsZShFVEhfSGFuZGxlVHlwZURlZiAqaGV0aCk7Ci1zdGF0aWMgdm9pZCBFVEhfRE1BVHJhbnNtaXNzaW9uRW5hYmxlKEVUSF9IYW5kbGVUeXBlRGVmICpoZXRoKTsKLXN0YXRpYyB2b2lkIEVUSF9ETUFUcmFuc21pc3Npb25EaXNhYmxlKEVUSF9IYW5kbGVUeXBlRGVmICpoZXRoKTsKLXN0YXRpYyB2b2lkIEVUSF9ETUFSZWNlcHRpb25FbmFibGUoRVRIX0hhbmRsZVR5cGVEZWYgKmhldGgpOwotc3RhdGljIHZvaWQgRVRIX0RNQVJlY2VwdGlvbkRpc2FibGUoRVRIX0hhbmRsZVR5cGVEZWYgKmhldGgpOworLyogSGVscGVyIG1hY3JvcyBmb3IgVFggZGVzY3JpcHRvciBoYW5kbGluZyAqLworI2RlZmluZSBJTkNSX1RYX0RFU0NfSU5ERVgoaW54LCBvZmZzZXQpIGRvIHtcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoaW54KSArPSAob2Zmc2V0KTtcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoKGlueCkgPj0gKHVpbnQzMl90KUVUSF9UWF9ERVNDX0NOVCl7XAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGlueCkgPSAoKGlueCkgLSAodWludDMyX3QpRVRIX1RYX0RFU0NfQ05UKTt9XAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gd2hpbGUgKDApCisKKy8qIEhlbHBlciBtYWNyb3MgZm9yIFJYIGRlc2NyaXB0b3IgaGFuZGxpbmcgKi8KKyNkZWZpbmUgSU5DUl9SWF9ERVNDX0lOREVYKGlueCwgb2Zmc2V0KSBkbyB7XAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGlueCkgKz0gKG9mZnNldCk7XAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKChpbngpID49ICh1aW50MzJfdClFVEhfUlhfREVTQ19DTlQpe1wKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChpbngpID0gKChpbngpIC0gKHVpbnQzMl90KUVUSF9SWF9ERVNDX0NOVCk7fVwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IHdoaWxlICgwKQorLyoqCisgICogQH0KKyAgKi8KKy8qIFByaXZhdGUgZnVuY3Rpb24gcHJvdG90eXBlcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisvKiogQGRlZmdyb3VwIEVUSF9Qcml2YXRlX0Z1bmN0aW9ucyAgIEVUSCBQcml2YXRlIEZ1bmN0aW9ucworICAqIEB7CisgICovCitzdGF0aWMgdm9pZCBFVEhfU2V0TUFDQ29uZmlnKEVUSF9IYW5kbGVUeXBlRGVmICpoZXRoLCAgRVRIX01BQ0NvbmZpZ1R5cGVEZWYgKm1hY2NvbmYpOworc3RhdGljIHZvaWQgRVRIX1NldERNQUNvbmZpZyhFVEhfSGFuZGxlVHlwZURlZiAqaGV0aCwgIEVUSF9ETUFDb25maWdUeXBlRGVmICpkbWFjb25mKTsKK3N0YXRpYyB2b2lkIEVUSF9NQUNETUFDb25maWcoRVRIX0hhbmRsZVR5cGVEZWYgKmhldGgpOworc3RhdGljIHZvaWQgRVRIX0RNQVR4RGVzY0xpc3RJbml0KEVUSF9IYW5kbGVUeXBlRGVmICpoZXRoKTsKK3N0YXRpYyB2b2lkIEVUSF9ETUFSeERlc2NMaXN0SW5pdChFVEhfSGFuZGxlVHlwZURlZiAqaGV0aCk7CitzdGF0aWMgdWludDMyX3QgRVRIX1ByZXBhcmVfVHhfRGVzY3JpcHRvcnMoRVRIX0hhbmRsZVR5cGVEZWYgKmhldGgsIEVUSF9UeFBhY2tldENvbmZpZyAqcFR4Q29uZmlnLCB1aW50MzJfdCBJdE1vZGUpOworc3RhdGljIHZvaWQgRVRIX1VwZGF0ZURlc2NyaXB0b3IoRVRIX0hhbmRsZVR5cGVEZWYgKmhldGgpOwogc3RhdGljIHZvaWQgRVRIX0ZsdXNoVHJhbnNtaXRGSUZPKEVUSF9IYW5kbGVUeXBlRGVmICpoZXRoKTsKLXN0YXRpYyB2b2lkIEVUSF9EZWxheSh1aW50MzJfdCBtZGVsYXkpOworc3RhdGljIHZvaWQgRVRIX01BQ0FkZHJlc3NDb25maWcoRVRIX0hhbmRsZVR5cGVEZWYgKmhldGgsIHVpbnQzMl90IE1hY0FkZHIsIHVpbnQ4X3QgKkFkZHIpOworCiAjaWYgKFVTRV9IQUxfRVRIX1JFR0lTVEVSX0NBTExCQUNLUyA9PSAxKQogc3RhdGljIHZvaWQgRVRIX0luaXRDYWxsYmFja3NUb0RlZmF1bHQoRVRIX0hhbmRsZVR5cGVEZWYgKmhldGgpOwogI2VuZGlmIC8qIFVTRV9IQUxfRVRIX1JFR0lTVEVSX0NBTExCQUNLUyAqLwotCiAvKioKICAgKiBAfQogICAqLwotLyogUHJpdmF0ZSBmdW5jdGlvbnMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KIAorLyogRXhwb3J0ZWQgZnVuY3Rpb25zIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAvKiogQGRlZmdyb3VwIEVUSF9FeHBvcnRlZF9GdW5jdGlvbnMgRVRIIEV4cG9ydGVkIEZ1bmN0aW9ucwogICAqIEB7CiAgICovCiAKLS8qKiBAZGVmZ3JvdXAgRVRIX0V4cG9ydGVkX0Z1bmN0aW9uc19Hcm91cDEgSW5pdGlhbGl6YXRpb24gYW5kIGRlLWluaXRpYWxpemF0aW9uIGZ1bmN0aW9ucyAKLSAgKiAgQGJyaWVmICAgSW5pdGlhbGl6YXRpb24gYW5kIENvbmZpZ3VyYXRpb24gZnVuY3Rpb25zIAorLyoqIEBkZWZncm91cCBFVEhfRXhwb3J0ZWRfRnVuY3Rpb25zX0dyb3VwMSBJbml0aWFsaXphdGlvbiBhbmQgZGVpbml0aWFsaXphdGlvbiBmdW5jdGlvbnMKKyAgKiAgQGJyaWVmICAgIEluaXRpYWxpemF0aW9uIGFuZCBDb25maWd1cmF0aW9uIGZ1bmN0aW9ucwogICAqCi0gIEB2ZXJiYXRpbSAgICAKLSAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotICAgICAgICAgICAgIyMjIyMgSW5pdGlhbGl6YXRpb24gYW5kIGRlLWluaXRpYWxpemF0aW9uIGZ1bmN0aW9ucyAjIyMjIwotICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0gIFsuLl0gIFRoaXMgc2VjdGlvbiBwcm92aWRlcyBmdW5jdGlvbnMgYWxsb3dpbmcgdG86Ci0gICAgICAoKykgSW5pdGlhbGl6ZSBhbmQgY29uZmlndXJlIHRoZSBFdGhlcm5ldCBwZXJpcGhlcmFsCi0gICAgICAoKykgRGUtaW5pdGlhbGl6ZSB0aGUgRXRoZXJuZXQgcGVyaXBoZXJhbAorQHZlcmJhdGltCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgICAgICAgICAgICAjIyMjIyBJbml0aWFsaXphdGlvbiBhbmQgQ29uZmlndXJhdGlvbiBmdW5jdGlvbnMgIyMjIyMKKyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgICAgWy4uXSAgVGhpcyBzdWJzZWN0aW9uIHByb3ZpZGVzIGEgc2V0IG9mIGZ1bmN0aW9ucyBhbGxvd2luZyB0byBpbml0aWFsaXplIGFuZAorICAgICAgICAgIGRlaW5pdGlhbGl6ZSB0aGUgRVRIIHBlcmlwaGVyYWw6CiAKLSAgQGVuZHZlcmJhdGltCisgICAgICAoKykgVXNlciBtdXN0IEltcGxlbWVudCBIQUxfRVRIX01zcEluaXQoKSBmdW5jdGlvbiBpbiB3aGljaCBoZSBjb25maWd1cmVzCisgICAgICAgICAgYWxsIHJlbGF0ZWQgcGVyaXBoZXJhbHMgcmVzb3VyY2VzIChDTE9DSywgR1BJTyBhbmQgTlZJQyApLgorCisgICAgICAoKykgQ2FsbCB0aGUgZnVuY3Rpb24gSEFMX0VUSF9Jbml0KCkgdG8gY29uZmlndXJlIHRoZSBzZWxlY3RlZCBkZXZpY2Ugd2l0aAorICAgICAgICAgIHRoZSBzZWxlY3RlZCBjb25maWd1cmF0aW9uOgorICAgICAgICAoKyspIE1BQyBhZGRyZXNzCisgICAgICAgICgrKykgTWVkaWEgaW50ZXJmYWNlIChNSUkgb3IgUk1JSSkKKyAgICAgICAgKCsrKSBSeCBETUEgRGVzY3JpcHRvcnMgVGFiCisgICAgICAgICgrKykgVHggRE1BIERlc2NyaXB0b3JzIFRhYgorICAgICAgICAoKyspIExlbmd0aCBvZiBSeCBCdWZmZXJzCisKKyAgICAgICgrKSBDYWxsIHRoZSBmdW5jdGlvbiBIQUxfRVRIX0RlSW5pdCgpIHRvIHJlc3RvcmUgdGhlIGRlZmF1bHQgY29uZmlndXJhdGlvbgorICAgICAgICAgIG9mIHRoZSBzZWxlY3RlZCBFVEggcGVyaXBoZXJhbC4KKworQGVuZHZlcmJhdGltCiAgICogQHsKICAgKi8KIAogLyoqCi0gICogQGJyaWVmICBJbml0aWFsaXplcyB0aGUgRXRoZXJuZXQgTUFDIGFuZCBETUEgYWNjb3JkaW5nIHRvIGRlZmF1bHQKLSAgKiAgICAgICAgIHBhcmFtZXRlcnMuCi0gICogQHBhcmFtICBoZXRoIHBvaW50ZXIgdG8gYSBFVEhfSGFuZGxlVHlwZURlZiBzdHJ1Y3R1cmUgdGhhdCBjb250YWlucworICAqIEBicmllZiAgSW5pdGlhbGl6ZSB0aGUgRXRoZXJuZXQgcGVyaXBoZXJhbCByZWdpc3RlcnMuCisgICogQHBhcmFtICBoZXRoOiBwb2ludGVyIHRvIGEgRVRIX0hhbmRsZVR5cGVEZWYgc3RydWN0dXJlIHRoYXQgY29udGFpbnMKICAgKiAgICAgICAgIHRoZSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIGZvciBFVEhFUk5FVCBtb2R1bGUKICAgKiBAcmV0dmFsIEhBTCBzdGF0dXMKICAgKi8KIEhBTF9TdGF0dXNUeXBlRGVmIEhBTF9FVEhfSW5pdChFVEhfSGFuZGxlVHlwZURlZiAqaGV0aCkKIHsKLSAgdWludDMyX3QgdG1wcmVnMSA9IDBVLCBwaHlyZWcgPSAwVTsKLSAgdWludDMyX3QgaGNsayA9IDYwMDAwMDAwVTsKLSAgdWludDMyX3QgdGlja3N0YXJ0ID0gMFU7Ci0gIHVpbnQzMl90IGVyciA9IEVUSF9TVUNDRVNTOwotICAKLSAgLyogQ2hlY2sgdGhlIEVUSCBwZXJpcGhlcmFsIHN0YXRlICovCi0gIGlmKGhldGggPT0gTlVMTCkKKyAgdWludDMyX3QgdGlja3N0YXJ0OworCisgIGlmIChoZXRoID09IE5VTEwpCiAgIHsKICAgICByZXR1cm4gSEFMX0VSUk9SOwogICB9Ci0gIAotICAvKiBDaGVjayBwYXJhbWV0ZXJzICovCi0gIGFzc2VydF9wYXJhbShJU19FVEhfQVVUT05FR09USUFUSU9OKGhldGgtPkluaXQuQXV0b05lZ290aWF0aW9uKSk7Ci0gIGFzc2VydF9wYXJhbShJU19FVEhfUlhfTU9ERShoZXRoLT5Jbml0LlJ4TW9kZSkpOwotICBhc3NlcnRfcGFyYW0oSVNfRVRIX0NIRUNLU1VNX01PREUoaGV0aC0+SW5pdC5DaGVja3N1bU1vZGUpKTsKLSAgYXNzZXJ0X3BhcmFtKElTX0VUSF9NRURJQV9JTlRFUkZBQ0UoaGV0aC0+SW5pdC5NZWRpYUludGVyZmFjZSkpOyAgCi0gIAotICBpZihoZXRoLT5TdGF0ZSA9PSBIQUxfRVRIX1NUQVRFX1JFU0VUKQorICBpZiAoaGV0aC0+Z1N0YXRlID09IEhBTF9FVEhfU1RBVEVfUkVTRVQpCiAgIHsKLSAgICAvKiBBbGxvY2F0ZSBsb2NrIHJlc291cmNlIGFuZCBpbml0aWFsaXplIGl0ICovCi0gICAgaGV0aC0+TG9jayA9IEhBTF9VTkxPQ0tFRDsKKyAgICBoZXRoLT5nU3RhdGUgPSBIQUxfRVRIX1NUQVRFX0JVU1k7CisKICNpZiAoVVNFX0hBTF9FVEhfUkVHSVNURVJfQ0FMTEJBQ0tTID09IDEpCisKICAgICBFVEhfSW5pdENhbGxiYWNrc1RvRGVmYXVsdChoZXRoKTsKIAotICAgIGlmKGhldGgtPk1zcEluaXRDYWxsYmFjayA9PSBOVUxMKQorICAgIGlmIChoZXRoLT5Nc3BJbml0Q2FsbGJhY2sgPT0gTlVMTCkKICAgICB7Ci0gICAgICAvKiBJbml0IHRoZSBsb3cgbGV2ZWwgaGFyZHdhcmUgOiBHUElPLCBDTE9DSywgTlZJQy4gKi8KICAgICAgIGhldGgtPk1zcEluaXRDYWxsYmFjayA9IEhBTF9FVEhfTXNwSW5pdDsKICAgICB9Ci0gICAgaGV0aC0+TXNwSW5pdENhbGxiYWNrKGhldGgpOwogCisgICAgLyogSW5pdCB0aGUgbG93IGxldmVsIGhhcmR3YXJlICovCisgICAgaGV0aC0+TXNwSW5pdENhbGxiYWNrKGhldGgpOwogI2Vsc2UKICAgICAvKiBJbml0IHRoZSBsb3cgbGV2ZWwgaGFyZHdhcmUgOiBHUElPLCBDTE9DSywgTlZJQy4gKi8KICAgICBIQUxfRVRIX01zcEluaXQoaGV0aCk7Ci0jZW5kaWYgLyogVVNFX0hBTF9FVEhfUkVHSVNURVJfQ0FMTEJBQ0tTICovCisKKyNlbmRpZiAvKiAoVVNFX0hBTF9FVEhfUkVHSVNURVJfQ0FMTEJBQ0tTKSAqLwogICB9Ci0gIAotICAvKiBFbmFibGUgU1lTQ0ZHIENsb2NrICovCisKICAgX19IQUxfUkNDX1NZU0NGR19DTEtfRU5BQkxFKCk7Ci0gIAorCiAgIC8qIFNlbGVjdCBNSUkgb3IgUk1JSSBNb2RlKi8KICAgU1lTQ0ZHLT5QTUMgJj0gfihTWVNDRkdfUE1DX01JSV9STUlJX1NFTCk7CiAgIFNZU0NGRy0+UE1DIHw9ICh1aW50MzJfdCloZXRoLT5Jbml0Lk1lZGlhSW50ZXJmYWNlOwotICAKKyAgLyogRHVtbXkgcmVhZCB0byBzeW5jIFNZU0NGRyB3aXRoIEVUSCAqLworICAodm9pZClTWVNDRkctPlBNQzsKKwogICAvKiBFdGhlcm5ldCBTb2Z0d2FyZSByZXNldCAqLwogICAvKiBTZXQgdGhlIFNXUiBiaXQ6IHJlc2V0cyBhbGwgTUFDIHN1YnN5c3RlbSBpbnRlcm5hbCByZWdpc3RlcnMgYW5kIGxvZ2ljICovCiAgIC8qIEFmdGVyIHJlc2V0IGFsbCB0aGUgcmVnaXN0ZXJzIGhvbGRzIHRoZWlyIHJlc3BlY3RpdmUgcmVzZXQgdmFsdWVzICovCi0gIChoZXRoLT5JbnN0YW5jZSktPkRNQUJNUiB8PSBFVEhfRE1BQk1SX1NSOwotICAKKyAgU0VUX0JJVChoZXRoLT5JbnN0YW5jZS0+RE1BQk1SLCBFVEhfRE1BQk1SX1NSKTsKKwogICAvKiBHZXQgdGljayAqLwogICB0aWNrc3RhcnQgPSBIQUxfR2V0VGljaygpOwotICAKLSAgLyogV2FpdCBmb3Igc29mdHdhcmUgcmVzZXQgKi8KLSAgd2hpbGUgKCgoaGV0aC0+SW5zdGFuY2UpLT5ETUFCTVIgJiBFVEhfRE1BQk1SX1NSKSAhPSAodWludDMyX3QpUkVTRVQpCi0gIHsKLSAgICAvKiBDaGVjayBmb3IgdGhlIFRpbWVvdXQgKi8KLSAgICBpZigoSEFMX0dldFRpY2soKSAtIHRpY2tzdGFydCApID4gRVRIX1RJTUVPVVRfU1dSRVNFVCkKLSAgICB7ICAgICAKLSAgICAgIGhldGgtPlN0YXRlPSBIQUxfRVRIX1NUQVRFX1RJTUVPVVQ7Ci0gIAotICAgICAgLyogUHJvY2VzcyBVbmxvY2tlZCAqLwotICAgICAgX19IQUxfVU5MT0NLKGhldGgpOwotICAgIAotICAgICAgLyogTm90ZTogVGhlIFNXUiBpcyBub3QgcGVyZm9ybWVkIGlmIHRoZSBFVEhfUlhfQ0xLIG9yIHRoZSBFVEhfVFhfQ0xLIGFyZSAgCi0gICAgICAgICBub3QgYXZhaWxhYmxlLCBwbGVhc2UgY2hlY2sgeW91ciBleHRlcm5hbCBQSFkgb3IgdGhlIElPIGNvbmZpZ3VyYXRpb24gKi8KLSAgICAgIHJldHVybiBIQUxfVElNRU9VVDsKLSAgICB9Ci0gIH0KLSAgCi0gIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gTUFDIEluaXRpYWxpemF0aW9uIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwotICAvKiBHZXQgdGhlIEVUSEVSTkVUIE1BQ01JSUFSIHZhbHVlICovCi0gIHRtcHJlZzEgPSAoaGV0aC0+SW5zdGFuY2UpLT5NQUNNSUlBUjsKLSAgLyogQ2xlYXIgQ1NSIENsb2NrIFJhbmdlIENSWzI6MF0gYml0cyAqLwotICB0bXByZWcxICY9IEVUSF9NQUNNSUlBUl9DUl9NQVNLOwotICAKLSAgLyogR2V0IGhjbGsgZnJlcXVlbmN5IHZhbHVlICovCi0gIGhjbGsgPSBIQUxfUkNDX0dldEhDTEtGcmVxKCk7Ci0gIAotICAvKiBTZXQgQ1IgYml0cyBkZXBlbmRpbmcgb24gaGNsayB2YWx1ZSAqLwotICBpZigoaGNsayA+PSAyMDAwMDAwMFUpJiYoaGNsayA8IDM1MDAwMDAwVSkpCi0gIHsKLSAgICAvKiBDU1IgQ2xvY2sgUmFuZ2UgYmV0d2VlbiAyMC0zNSBNSHogKi8KLSAgICB0bXByZWcxIHw9ICh1aW50MzJfdClFVEhfTUFDTUlJQVJfQ1JfRGl2MTY7Ci0gIH0KLSAgZWxzZSBpZigoaGNsayA+PSAzNTAwMDAwMFUpJiYoaGNsayA8IDYwMDAwMDAwVSkpCi0gIHsKLSAgICAvKiBDU1IgQ2xvY2sgUmFuZ2UgYmV0d2VlbiAzNS02MCBNSHogKi8gCi0gICAgdG1wcmVnMSB8PSAodWludDMyX3QpRVRIX01BQ01JSUFSX0NSX0RpdjI2OwotICB9ICAKLSAgZWxzZSBpZigoaGNsayA+PSA2MDAwMDAwMFUpJiYoaGNsayA8IDEwMDAwMDAwMFUpKQotICB7Ci0gICAgLyogQ1NSIENsb2NrIFJhbmdlIGJldHdlZW4gNjAtMTAwIE1IeiAqLyAKLSAgICB0bXByZWcxIHw9ICh1aW50MzJfdClFVEhfTUFDTUlJQVJfQ1JfRGl2NDI7Ci0gIH0gIAotICBlbHNlIGlmKChoY2xrID49IDEwMDAwMDAwMFUpJiYoaGNsayA8IDE1MDAwMDAwMFUpKQotICB7Ci0gICAgLyogQ1NSIENsb2NrIFJhbmdlIGJldHdlZW4gMTAwLTE1MCBNSHogKi8gCi0gICAgdG1wcmVnMSB8PSAodWludDMyX3QpRVRIX01BQ01JSUFSX0NSX0RpdjYyOwotICB9Ci0gIGVsc2UgLyogKChoY2xrID49IDE1MDAwMDAwMCkmJihoY2xrIDw9IDE4MzAwMDAwMCkpICovCi0gIHsKLSAgICAvKiBDU1IgQ2xvY2sgUmFuZ2UgYmV0d2VlbiAxNTAtMTgzIE1IeiAqLyAKLSAgICB0bXByZWcxIHw9ICh1aW50MzJfdClFVEhfTUFDTUlJQVJfQ1JfRGl2MTAyOyAgICAKLSAgfQotICAKLSAgLyogV3JpdGUgdG8gRVRIRVJORVQgTUFDIE1JSUFSOiBDb25maWd1cmUgdGhlIEVUSEVSTkVUIENTUiBDbG9jayBSYW5nZSAqLwotICAoaGV0aC0+SW5zdGFuY2UpLT5NQUNNSUlBUiA9ICh1aW50MzJfdCl0bXByZWcxOwotICAKLSAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLSBQSFkgaW5pdGlhbGl6YXRpb24gYW5kIGNvbmZpZ3VyYXRpb24gLS0tLS0tLS0tLS0tLS0tLSovCi0gIC8qIFB1dCB0aGUgUEhZIGluIHJlc2V0IG1vZGUgKi8KLSAgaWYoKEhBTF9FVEhfV3JpdGVQSFlSZWdpc3RlcihoZXRoLCBQSFlfQkNSLCBQSFlfUkVTRVQpKSAhPSBIQUxfT0spCi0gIHsKLSAgICAvKiBJbiBjYXNlIG9mIHdyaXRlIHRpbWVvdXQgKi8KLSAgICBlcnIgPSBFVEhfRVJST1I7Ci0gICAgCi0gICAgLyogQ29uZmlnIE1BQyBhbmQgRE1BICovCi0gICAgRVRIX01BQ0RNQUNvbmZpZyhoZXRoLCBlcnIpOwotICAgIAotICAgIC8qIFNldCB0aGUgRVRIIHBlcmlwaGVyYWwgc3RhdGUgdG8gUkVBRFkgKi8KLSAgICBoZXRoLT5TdGF0ZSA9IEhBTF9FVEhfU1RBVEVfUkVBRFk7Ci0gICAgCi0gICAgLyogUmV0dXJuIEhBTF9FUlJPUiAqLwotICAgIHJldHVybiBIQUxfRVJST1I7Ci0gIH0KLSAgCi0gIC8qIERlbGF5IHRvIGFzc3VyZSBQSFkgcmVzZXQgKi8KLSAgSEFMX0RlbGF5KFBIWV9SRVNFVF9ERUxBWSk7Ci0gIAotICBpZigoaGV0aC0+SW5pdCkuQXV0b05lZ290aWF0aW9uICE9IEVUSF9BVVRPTkVHT1RJQVRJT05fRElTQUJMRSkKLSAgewotICAgIC8qIEdldCB0aWNrICovCi0gICAgdGlja3N0YXJ0ID0gSEFMX0dldFRpY2soKTsKLSAgICAKLSAgICAvKiBXZSB3YWl0IGZvciBsaW5rZWQgc3RhdHVzICovCi0gICAgZG8KLSAgICB7Ci0gICAgICBIQUxfRVRIX1JlYWRQSFlSZWdpc3RlcihoZXRoLCBQSFlfQlNSLCAmcGh5cmVnKTsKLSAgICAgIAotICAgICAgLyogQ2hlY2sgZm9yIHRoZSBUaW1lb3V0ICovCi0gICAgICBpZigoSEFMX0dldFRpY2soKSAtIHRpY2tzdGFydCApID4gRVRIX1RJTUVPVVRfTElOS0VEX1NUQVRFKQotICAgICAgewotICAgICAgICAvKiBJbiBjYXNlIG9mIHdyaXRlIHRpbWVvdXQgKi8KLSAgICAgICAgZXJyID0gRVRIX0VSUk9SOwotICAgICAgCi0gICAgICAgIC8qIENvbmZpZyBNQUMgYW5kIERNQSAqLwotICAgICAgICBFVEhfTUFDRE1BQ29uZmlnKGhldGgsIGVycik7Ci0gICAgICAgIAotICAgICAgICBoZXRoLT5TdGF0ZT0gSEFMX0VUSF9TVEFURV9SRUFEWTsKLSAgCi0gICAgICAgIC8qIFByb2Nlc3MgVW5sb2NrZWQgKi8KLSAgICAgICAgX19IQUxfVU5MT0NLKGhldGgpOwotICAgIAotICAgICAgICByZXR1cm4gSEFMX1RJTUVPVVQ7Ci0gICAgICB9Ci0gICAgfSB3aGlsZSAoKChwaHlyZWcgJiBQSFlfTElOS0VEX1NUQVRVUykgIT0gUEhZX0xJTktFRF9TVEFUVVMpKTsKIAotICAgIAotICAgIC8qIEVuYWJsZSBBdXRvLU5lZ290aWF0aW9uICovCi0gICAgaWYoKEhBTF9FVEhfV3JpdGVQSFlSZWdpc3RlcihoZXRoLCBQSFlfQkNSLCBQSFlfQVVUT05FR09USUFUSU9OKSkgIT0gSEFMX09LKQotICAgIHsKLSAgICAgIC8qIEluIGNhc2Ugb2Ygd3JpdGUgdGltZW91dCAqLwotICAgICAgZXJyID0gRVRIX0VSUk9SOwotICAgICAgCi0gICAgICAvKiBDb25maWcgTUFDIGFuZCBETUEgKi8KLSAgICAgIEVUSF9NQUNETUFDb25maWcoaGV0aCwgZXJyKTsKLSAgICAgIAotICAgICAgLyogU2V0IHRoZSBFVEggcGVyaXBoZXJhbCBzdGF0ZSB0byBSRUFEWSAqLwotICAgICAgaGV0aC0+U3RhdGUgPSBIQUxfRVRIX1NUQVRFX1JFQURZOwotICAgICAgCi0gICAgICAvKiBSZXR1cm4gSEFMX0VSUk9SICovCi0gICAgICByZXR1cm4gSEFMX0VSUk9SOyAgIAotICAgIH0KLSAgICAKLSAgICAvKiBHZXQgdGljayAqLwotICAgIHRpY2tzdGFydCA9IEhBTF9HZXRUaWNrKCk7Ci0gICAgCi0gICAgLyogV2FpdCB1bnRpbCB0aGUgYXV0by1uZWdvdGlhdGlvbiB3aWxsIGJlIGNvbXBsZXRlZCAqLwotICAgIGRvCi0gICAgewotICAgICAgSEFMX0VUSF9SZWFkUEhZUmVnaXN0ZXIoaGV0aCwgUEhZX0JTUiwgJnBoeXJlZyk7Ci0gICAgICAKLSAgICAgIC8qIENoZWNrIGZvciB0aGUgVGltZW91dCAqLwotICAgICAgaWYoKEhBTF9HZXRUaWNrKCkgLSB0aWNrc3RhcnQgKSA+IEVUSF9USU1FT1VUX0FVVE9ORUdPX0NPTVBMRVRFRCkKLSAgICAgIHsKLSAgICAgICAgLyogSW4gY2FzZSBvZiB3cml0ZSB0aW1lb3V0ICovCi0gICAgICAgIGVyciA9IEVUSF9FUlJPUjsKLSAgICAgIAotICAgICAgICAvKiBDb25maWcgTUFDIGFuZCBETUEgKi8KLSAgICAgICAgRVRIX01BQ0RNQUNvbmZpZyhoZXRoLCBlcnIpOwotICAgICAgICAKLSAgICAgICAgaGV0aC0+U3RhdGU9IEhBTF9FVEhfU1RBVEVfUkVBRFk7Ci0gIAotICAgICAgICAvKiBQcm9jZXNzIFVubG9ja2VkICovCi0gICAgICAgIF9fSEFMX1VOTE9DSyhoZXRoKTsKLSAgICAKLSAgICAgICAgcmV0dXJuIEhBTF9USU1FT1VUOwotICAgICAgfQotICAgICAgCi0gICAgfSB3aGlsZSAoKChwaHlyZWcgJiBQSFlfQVVUT05FR09fQ09NUExFVEUpICE9IFBIWV9BVVRPTkVHT19DT01QTEVURSkpOwotICAgIAotICAgIC8qIFJlYWQgdGhlIHJlc3VsdCBvZiB0aGUgYXV0by1uZWdvdGlhdGlvbiAqLwotICAgIGlmKChIQUxfRVRIX1JlYWRQSFlSZWdpc3RlcihoZXRoLCBQSFlfU1IsICZwaHlyZWcpKSAhPSBIQUxfT0spCi0gICAgewotICAgICAgLyogSW4gY2FzZSBvZiB3cml0ZSB0aW1lb3V0ICovCi0gICAgICBlcnIgPSBFVEhfRVJST1I7Ci0gICAgICAKLSAgICAgIC8qIENvbmZpZyBNQUMgYW5kIERNQSAqLwotICAgICAgRVRIX01BQ0RNQUNvbmZpZyhoZXRoLCBlcnIpOwotICAgICAgCi0gICAgICAvKiBTZXQgdGhlIEVUSCBwZXJpcGhlcmFsIHN0YXRlIHRvIFJFQURZICovCi0gICAgICBoZXRoLT5TdGF0ZSA9IEhBTF9FVEhfU1RBVEVfUkVBRFk7Ci0gICAgICAKLSAgICAgIC8qIFJldHVybiBIQUxfRVJST1IgKi8KLSAgICAgIHJldHVybiBIQUxfRVJST1I7ICAgCi0gICAgfQotICAgIAotICAgIC8qIENvbmZpZ3VyZSB0aGUgTUFDIHdpdGggdGhlIER1cGxleCBNb2RlIGZpeGVkIGJ5IHRoZSBhdXRvLW5lZ290aWF0aW9uIHByb2Nlc3MgKi8KLSAgICBpZigocGh5cmVnICYgUEhZX0RVUExFWF9TVEFUVVMpICE9ICh1aW50MzJfdClSRVNFVCkKLSAgICB7Ci0gICAgICAvKiBTZXQgRXRoZXJuZXQgZHVwbGV4IG1vZGUgdG8gRnVsbC1kdXBsZXggZm9sbG93aW5nIHRoZSBhdXRvLW5lZ290aWF0aW9uICovCi0gICAgICAoaGV0aC0+SW5pdCkuRHVwbGV4TW9kZSA9IEVUSF9NT0RFX0ZVTExEVVBMRVg7ICAKLSAgICB9Ci0gICAgZWxzZQotICAgIHsKLSAgICAgIC8qIFNldCBFdGhlcm5ldCBkdXBsZXggbW9kZSB0byBIYWxmLWR1cGxleCBmb2xsb3dpbmcgdGhlIGF1dG8tbmVnb3RpYXRpb24gKi8KLSAgICAgIChoZXRoLT5Jbml0KS5EdXBsZXhNb2RlID0gRVRIX01PREVfSEFMRkRVUExFWDsgICAgICAgICAgIAotICAgIH0KLSAgICAvKiBDb25maWd1cmUgdGhlIE1BQyB3aXRoIHRoZSBzcGVlZCBmaXhlZCBieSB0aGUgYXV0by1uZWdvdGlhdGlvbiBwcm9jZXNzICovCi0gICAgaWYoKHBoeXJlZyAmIFBIWV9TUEVFRF9TVEFUVVMpID09IFBIWV9TUEVFRF9TVEFUVVMpCi0gICAgeyAgCi0gICAgICAvKiBTZXQgRXRoZXJuZXQgc3BlZWQgdG8gMTBNIGZvbGxvd2luZyB0aGUgYXV0by1uZWdvdGlhdGlvbiAqLwotICAgICAgKGhldGgtPkluaXQpLlNwZWVkID0gRVRIX1NQRUVEXzEwTTsgCi0gICAgfQotICAgIGVsc2UKLSAgICB7ICAgCi0gICAgICAvKiBTZXQgRXRoZXJuZXQgc3BlZWQgdG8gMTAwTSBmb2xsb3dpbmcgdGhlIGF1dG8tbmVnb3RpYXRpb24gKi8gCi0gICAgICAoaGV0aC0+SW5pdCkuU3BlZWQgPSBFVEhfU1BFRURfMTAwTTsKLSAgICB9Ci0gIH0KLSAgZWxzZSAvKiBBdXRvTmVnb3RpYXRpb24gRGlzYWJsZSAqLworICAvKiBXYWl0IGZvciBzb2Z0d2FyZSByZXNldCAqLworICB3aGlsZSAoUkVBRF9CSVQoaGV0aC0+SW5zdGFuY2UtPkRNQUJNUiwgRVRIX0RNQUJNUl9TUikgPiAwVSkKICAgewotICAgIC8qIENoZWNrIHBhcmFtZXRlcnMgKi8KLSAgICBhc3NlcnRfcGFyYW0oSVNfRVRIX1NQRUVEKGhldGgtPkluaXQuU3BlZWQpKTsKLSAgICBhc3NlcnRfcGFyYW0oSVNfRVRIX0RVUExFWF9NT0RFKGhldGgtPkluaXQuRHVwbGV4TW9kZSkpOwotICAgIAotICAgIC8qIFNldCBNQUMgU3BlZWQgYW5kIER1cGxleCBNb2RlICovCi0gICAgaWYoSEFMX0VUSF9Xcml0ZVBIWVJlZ2lzdGVyKGhldGgsIFBIWV9CQ1IsICgodWludDE2X3QpKChoZXRoLT5Jbml0KS5EdXBsZXhNb2RlID4+IDNVKSB8Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodWludDE2X3QpKChoZXRoLT5Jbml0KS5TcGVlZCA+PiAxVSkpKSAhPSBIQUxfT0spCisgICAgaWYgKCgoSEFMX0dldFRpY2soKSAtIHRpY2tzdGFydCkgPiBFVEhfU1dSRVNFVF9USU1FT1VUKSkKICAgICB7Ci0gICAgICAvKiBJbiBjYXNlIG9mIHdyaXRlIHRpbWVvdXQgKi8KLSAgICAgIGVyciA9IEVUSF9FUlJPUjsKLSAgICAgIAotICAgICAgLyogQ29uZmlnIE1BQyBhbmQgRE1BICovCi0gICAgICBFVEhfTUFDRE1BQ29uZmlnKGhldGgsIGVycik7Ci0gICAgICAKLSAgICAgIC8qIFNldCB0aGUgRVRIIHBlcmlwaGVyYWwgc3RhdGUgdG8gUkVBRFkgKi8KLSAgICAgIGhldGgtPlN0YXRlID0gSEFMX0VUSF9TVEFURV9SRUFEWTsKLSAgICAgIAotICAgICAgLyogUmV0dXJuIEhBTF9FUlJPUiAqLworICAgICAgLyogU2V0IEVycm9yIENvZGUgKi8KKyAgICAgIGhldGgtPkVycm9yQ29kZSA9IEhBTF9FVEhfRVJST1JfVElNRU9VVDsKKyAgICAgIC8qIFNldCBTdGF0ZSBhcyBFcnJvciAqLworICAgICAgaGV0aC0+Z1N0YXRlID0gSEFMX0VUSF9TVEFURV9FUlJPUjsKKyAgICAgIC8qIFJldHVybiBFcnJvciAqLwogICAgICAgcmV0dXJuIEhBTF9FUlJPUjsKLSAgICB9ICAKLSAgICAKLSAgICAvKiBEZWxheSB0byBhc3N1cmUgUEhZIGNvbmZpZ3VyYXRpb24gKi8KLSAgICBIQUxfRGVsYXkoUEhZX0NPTkZJR19ERUxBWSk7CisgICAgfQogICB9Ci0gIAotICAvKiBDb25maWcgTUFDIGFuZCBETUEgKi8KLSAgRVRIX01BQ0RNQUNvbmZpZyhoZXRoLCBlcnIpOwotICAKLSAgLyogU2V0IEVUSCBIQUwgU3RhdGUgdG8gUmVhZHkgKi8KLSAgaGV0aC0+U3RhdGU9IEhBTF9FVEhfU1RBVEVfUkVBRFk7Ci0gIAotICAvKiBSZXR1cm4gZnVuY3Rpb24gc3RhdHVzICovCisKKworICAvKi0tLS0tLS0tLS0tLS0tLS0tLSBNQUMsIE1UTCBhbmQgRE1BIGRlZmF1bHQgQ29uZmlndXJhdGlvbiAtLS0tLS0tLS0tLS0tLS0tKi8KKyAgRVRIX01BQ0RNQUNvbmZpZyhoZXRoKTsKKworCisgIC8qLS0tLS0tLS0tLS0tLS0tLS0tIERNQSBUeCBEZXNjcmlwdG9ycyBDb25maWd1cmF0aW9uIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworICBFVEhfRE1BVHhEZXNjTGlzdEluaXQoaGV0aCk7CisKKyAgLyotLS0tLS0tLS0tLS0tLS0tLS0gRE1BIFJ4IERlc2NyaXB0b3JzIENvbmZpZ3VyYXRpb24gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisgIEVUSF9ETUFSeERlc2NMaXN0SW5pdChoZXRoKTsKKworICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLSBFVEhFUk5FVCBNQUMgQWRkcmVzcyBDb25maWd1cmF0aW9uIC0tLS0tLS0tLS0tLS0tLS0tLSovCisgIEVUSF9NQUNBZGRyZXNzQ29uZmlnKGhldGgsIEVUSF9NQUNfQUREUkVTUzAsIGhldGgtPkluaXQuTUFDQWRkcik7CisKKyAgaGV0aC0+RXJyb3JDb2RlID0gSEFMX0VUSF9FUlJPUl9OT05FOworICBoZXRoLT5nU3RhdGUgPSBIQUxfRVRIX1NUQVRFX1JFQURZOworCiAgIHJldHVybiBIQUxfT0s7CiB9CiAKIC8qKgotICAqIEBicmllZiAgRGUtSW5pdGlhbGl6ZXMgdGhlIEVUSCBwZXJpcGhlcmFsLiAKLSAgKiBAcGFyYW0gIGhldGggcG9pbnRlciB0byBhIEVUSF9IYW5kbGVUeXBlRGVmIHN0cnVjdHVyZSB0aGF0IGNvbnRhaW5zCisgICogQGJyaWVmICBEZUluaXRpYWxpemVzIHRoZSBFVEggcGVyaXBoZXJhbC4KKyAgKiBAcGFyYW0gIGhldGg6IHBvaW50ZXIgdG8gYSBFVEhfSGFuZGxlVHlwZURlZiBzdHJ1Y3R1cmUgdGhhdCBjb250YWlucwogICAqICAgICAgICAgdGhlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gZm9yIEVUSEVSTkVUIG1vZHVsZQogICAqIEByZXR2YWwgSEFMIHN0YXR1cwogICAqLwogSEFMX1N0YXR1c1R5cGVEZWYgSEFMX0VUSF9EZUluaXQoRVRIX0hhbmRsZVR5cGVEZWYgKmhldGgpCiB7CiAgIC8qIFNldCB0aGUgRVRIIHBlcmlwaGVyYWwgc3RhdGUgdG8gQlVTWSAqLwotICBoZXRoLT5TdGF0ZSA9IEhBTF9FVEhfU1RBVEVfQlVTWTsKLSAgCisgIGhldGgtPmdTdGF0ZSA9IEhBTF9FVEhfU1RBVEVfQlVTWTsKKwogI2lmIChVU0VfSEFMX0VUSF9SRUdJU1RFUl9DQUxMQkFDS1MgPT0gMSkKLSAgaWYoaGV0aC0+TXNwRGVJbml0Q2FsbGJhY2sgPT0gTlVMTCkKKworICBpZiAoaGV0aC0+TXNwRGVJbml0Q2FsbGJhY2sgPT0gTlVMTCkKICAgewogICAgIGhldGgtPk1zcERlSW5pdENhbGxiYWNrID0gSEFMX0VUSF9Nc3BEZUluaXQ7CiAgIH0KLSAgLyogRGUtSW5pdCB0aGUgbG93IGxldmVsIGhhcmR3YXJlIDogR1BJTywgQ0xPQ0ssIE5WSUMuICovCisgIC8qIERlSW5pdCB0aGUgbG93IGxldmVsIGhhcmR3YXJlICovCiAgIGhldGgtPk1zcERlSW5pdENhbGxiYWNrKGhldGgpOwogI2Vsc2UKKwogICAvKiBEZS1Jbml0IHRoZSBsb3cgbGV2ZWwgaGFyZHdhcmUgOiBHUElPLCBDTE9DSywgTlZJQy4gKi8KICAgSEFMX0VUSF9Nc3BEZUluaXQoaGV0aCk7Ci0jZW5kaWYKLSAgCisKKyNlbmRpZiAvKiAoVVNFX0hBTF9FVEhfUkVHSVNURVJfQ0FMTEJBQ0tTKSAqLworCiAgIC8qIFNldCBFVEggSEFMIHN0YXRlIHRvIERpc2FibGVkICovCi0gIGhldGgtPlN0YXRlPSBIQUxfRVRIX1NUQVRFX1JFU0VUOworICBoZXRoLT5nU3RhdGUgPSBIQUxfRVRIX1NUQVRFX1JFU0VUOwogCi0gIC8qIFJlbGVhc2UgTG9jayAqLwotICBfX0hBTF9VTkxPQ0soaGV0aCk7Ci0KLSAgLyogUmV0dXJuIGZ1bmN0aW9uIHN0YXR1cyAqLwotICByZXR1cm4gSEFMX09LOwotfQotCi0vKioKLSAgKiBAYnJpZWYgIEluaXRpYWxpemVzIHRoZSBETUEgVHggZGVzY3JpcHRvcnMgaW4gY2hhaW4gbW9kZS4KLSAgKiBAcGFyYW0gIGhldGggcG9pbnRlciB0byBhIEVUSF9IYW5kbGVUeXBlRGVmIHN0cnVjdHVyZSB0aGF0IGNvbnRhaW5zCi0gICogICAgICAgICB0aGUgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbiBmb3IgRVRIRVJORVQgbW9kdWxlICAKLSAgKiBAcGFyYW0gIERNQVR4RGVzY1RhYiBQb2ludGVyIHRvIHRoZSBmaXJzdCBUeCBkZXNjIGxpc3QgCi0gICogQHBhcmFtICBUeEJ1ZmYgUG9pbnRlciB0byB0aGUgZmlyc3QgVHhCdWZmZXIgbGlzdAotICAqIEBwYXJhbSAgVHhCdWZmQ291bnQgTnVtYmVyIG9mIHRoZSB1c2VkIFR4IGRlc2MgaW4gdGhlIGxpc3QKLSAgKiBAcmV0dmFsIEhBTCBzdGF0dXMKLSAgKi8KLUhBTF9TdGF0dXNUeXBlRGVmIEhBTF9FVEhfRE1BVHhEZXNjTGlzdEluaXQoRVRIX0hhbmRsZVR5cGVEZWYgKmhldGgsIEVUSF9ETUFEZXNjVHlwZURlZiAqRE1BVHhEZXNjVGFiLCB1aW50OF90ICpUeEJ1ZmYsIHVpbnQzMl90IFR4QnVmZkNvdW50KQotewotICB1aW50MzJfdCBpID0gMFU7Ci0gIEVUSF9ETUFEZXNjVHlwZURlZiAqZG1hdHhkZXNjOwotICAKLSAgLyogUHJvY2VzcyBMb2NrZWQgKi8KLSAgX19IQUxfTE9DSyhoZXRoKTsKLSAgCi0gIC8qIFNldCB0aGUgRVRIIHBlcmlwaGVyYWwgc3RhdGUgdG8gQlVTWSAqLwotICBoZXRoLT5TdGF0ZSA9IEhBTF9FVEhfU1RBVEVfQlVTWTsKLSAgCi0gIC8qIFNldCB0aGUgRE1BVHhEZXNjVG9TZXQgcG9pbnRlciB3aXRoIHRoZSBmaXJzdCBvbmUgb2YgdGhlIERNQVR4RGVzY1RhYiBsaXN0ICovCi0gIGhldGgtPlR4RGVzYyA9IERNQVR4RGVzY1RhYjsKLSAgCi0gIC8qIEZpbGwgZWFjaCBETUFUeERlc2MgZGVzY3JpcHRvciB3aXRoIHRoZSByaWdodCB2YWx1ZXMgKi8gICAKLSAgZm9yKGk9MFU7IGkgPCBUeEJ1ZmZDb3VudDsgaSsrKQotICB7Ci0gICAgLyogR2V0IHRoZSBwb2ludGVyIG9uIHRoZSBpdGggbWVtYmVyIG9mIHRoZSBUeCBEZXNjIGxpc3QgKi8KLSAgICBkbWF0eGRlc2MgPSBETUFUeERlc2NUYWIgKyBpOwotICAgIAotICAgIC8qIFNldCBTZWNvbmQgQWRkcmVzcyBDaGFpbmVkIGJpdCAqLwotICAgIGRtYXR4ZGVzYy0+U3RhdHVzID0gRVRIX0RNQVRYREVTQ19UQ0g7ICAKLSAgICAKLSAgICAvKiBTZXQgQnVmZmVyMSBhZGRyZXNzIHBvaW50ZXIgKi8KLSAgICBkbWF0eGRlc2MtPkJ1ZmZlcjFBZGRyID0gKHVpbnQzMl90KSgmVHhCdWZmW2kqRVRIX1RYX0JVRl9TSVpFXSk7Ci0gICAgCi0gICAgaWYgKChoZXRoLT5Jbml0KS5DaGVja3N1bU1vZGUgPT0gRVRIX0NIRUNLU1VNX0JZX0hBUkRXQVJFKQotICAgIHsKLSAgICAgIC8qIFNldCB0aGUgRE1BIFR4IGRlc2NyaXB0b3JzIGNoZWNrc3VtIGluc2VydGlvbiAqLwotICAgICAgZG1hdHhkZXNjLT5TdGF0dXMgfD0gRVRIX0RNQVRYREVTQ19DSEVDS1NVTVRDUFVEUElDTVBGVUxMOwotICAgIH0KLSAgICAKLSAgICAvKiBJbml0aWFsaXplIHRoZSBuZXh0IGRlc2NyaXB0b3Igd2l0aCB0aGUgTmV4dCBEZXNjcmlwdG9yIFBvbGxpbmcgRW5hYmxlICovCi0gICAgaWYoaSA8IChUeEJ1ZmZDb3VudC0xVSkpCi0gICAgewotICAgICAgLyogU2V0IG5leHQgZGVzY3JpcHRvciBhZGRyZXNzIHJlZ2lzdGVyIHdpdGggbmV4dCBkZXNjcmlwdG9yIGJhc2UgYWRkcmVzcyAqLwotICAgICAgZG1hdHhkZXNjLT5CdWZmZXIyTmV4dERlc2NBZGRyID0gKHVpbnQzMl90KShETUFUeERlc2NUYWIraSsxVSk7Ci0gICAgfQotICAgIGVsc2UKLSAgICB7Ci0gICAgICAvKiBGb3IgbGFzdCBkZXNjcmlwdG9yLCBzZXQgbmV4dCBkZXNjcmlwdG9yIGFkZHJlc3MgcmVnaXN0ZXIgZXF1YWwgdG8gdGhlIGZpcnN0IGRlc2NyaXB0b3IgYmFzZSBhZGRyZXNzICovIAotICAgICAgZG1hdHhkZXNjLT5CdWZmZXIyTmV4dERlc2NBZGRyID0gKHVpbnQzMl90KSBETUFUeERlc2NUYWI7ICAKLSAgICB9Ci0gIH0KLSAgCi0gIC8qIFNldCBUcmFuc21pdCBEZXNjcmlwdG9yIExpc3QgQWRkcmVzcyBSZWdpc3RlciAqLwotICAoaGV0aC0+SW5zdGFuY2UpLT5ETUFURExBUiA9ICh1aW50MzJfdCkgRE1BVHhEZXNjVGFiOwotICAKLSAgLyogU2V0IEVUSCBIQUwgU3RhdGUgdG8gUmVhZHkgKi8KLSAgaGV0aC0+U3RhdGU9IEhBTF9FVEhfU1RBVEVfUkVBRFk7Ci0gIAotICAvKiBQcm9jZXNzIFVubG9ja2VkICovCi0gIF9fSEFMX1VOTE9DSyhoZXRoKTsKLSAgCi0gIC8qIFJldHVybiBmdW5jdGlvbiBzdGF0dXMgKi8KLSAgcmV0dXJuIEhBTF9PSzsKLX0KLQotLyoqCi0gICogQGJyaWVmICBJbml0aWFsaXplcyB0aGUgRE1BIFJ4IGRlc2NyaXB0b3JzIGluIGNoYWluIG1vZGUuCi0gICogQHBhcmFtICBoZXRoIHBvaW50ZXIgdG8gYSBFVEhfSGFuZGxlVHlwZURlZiBzdHJ1Y3R1cmUgdGhhdCBjb250YWlucwotICAqICAgICAgICAgdGhlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gZm9yIEVUSEVSTkVUIG1vZHVsZSAgCi0gICogQHBhcmFtICBETUFSeERlc2NUYWIgUG9pbnRlciB0byB0aGUgZmlyc3QgUnggZGVzYyBsaXN0IAotICAqIEBwYXJhbSAgUnhCdWZmIFBvaW50ZXIgdG8gdGhlIGZpcnN0IFJ4QnVmZmVyIGxpc3QKLSAgKiBAcGFyYW0gIFJ4QnVmZkNvdW50IE51bWJlciBvZiB0aGUgdXNlZCBSeCBkZXNjIGluIHRoZSBsaXN0Ci0gICogQHJldHZhbCBIQUwgc3RhdHVzCi0gICovCi1IQUxfU3RhdHVzVHlwZURlZiBIQUxfRVRIX0RNQVJ4RGVzY0xpc3RJbml0KEVUSF9IYW5kbGVUeXBlRGVmICpoZXRoLCBFVEhfRE1BRGVzY1R5cGVEZWYgKkRNQVJ4RGVzY1RhYiwgdWludDhfdCAqUnhCdWZmLCB1aW50MzJfdCBSeEJ1ZmZDb3VudCkKLXsKLSAgdWludDMyX3QgaSA9IDBVOwotICBFVEhfRE1BRGVzY1R5cGVEZWYgKkRNQVJ4RGVzYzsKLSAgCi0gIC8qIFByb2Nlc3MgTG9ja2VkICovCi0gIF9fSEFMX0xPQ0soaGV0aCk7Ci0gIAotICAvKiBTZXQgdGhlIEVUSCBwZXJpcGhlcmFsIHN0YXRlIHRvIEJVU1kgKi8KLSAgaGV0aC0+U3RhdGUgPSBIQUxfRVRIX1NUQVRFX0JVU1k7Ci0gIAotICAvKiBTZXQgdGhlIEV0aGVybmV0IFJ4RGVzYyBwb2ludGVyIHdpdGggdGhlIGZpcnN0IG9uZSBvZiB0aGUgRE1BUnhEZXNjVGFiIGxpc3QgKi8KLSAgaGV0aC0+UnhEZXNjID0gRE1BUnhEZXNjVGFiOyAKLSAgCi0gIC8qIEZpbGwgZWFjaCBETUFSeERlc2MgZGVzY3JpcHRvciB3aXRoIHRoZSByaWdodCB2YWx1ZXMgKi8KLSAgZm9yKGk9MFU7IGkgPCBSeEJ1ZmZDb3VudDsgaSsrKQotICB7Ci0gICAgLyogR2V0IHRoZSBwb2ludGVyIG9uIHRoZSBpdGggbWVtYmVyIG9mIHRoZSBSeCBEZXNjIGxpc3QgKi8KLSAgICBETUFSeERlc2MgPSBETUFSeERlc2NUYWIraTsKLSAgICAKLSAgICAvKiBTZXQgT3duIGJpdCBvZiB0aGUgUnggZGVzY3JpcHRvciBTdGF0dXMgKi8KLSAgICBETUFSeERlc2MtPlN0YXR1cyA9IEVUSF9ETUFSWERFU0NfT1dOOwotICAgIAotICAgIC8qIFNldCBCdWZmZXIxIHNpemUgYW5kIFNlY29uZCBBZGRyZXNzIENoYWluZWQgYml0ICovCi0gICAgRE1BUnhEZXNjLT5Db250cm9sQnVmZmVyU2l6ZSA9IEVUSF9ETUFSWERFU0NfUkNIIHwgRVRIX1JYX0JVRl9TSVpFOyAgCi0gICAgCi0gICAgLyogU2V0IEJ1ZmZlcjEgYWRkcmVzcyBwb2ludGVyICovCi0gICAgRE1BUnhEZXNjLT5CdWZmZXIxQWRkciA9ICh1aW50MzJfdCkoJlJ4QnVmZltpKkVUSF9SWF9CVUZfU0laRV0pOwotICAgIAotICAgIGlmKChoZXRoLT5Jbml0KS5SeE1vZGUgPT0gRVRIX1JYSU5URVJSVVBUX01PREUpCi0gICAgewotICAgICAgLyogRW5hYmxlIEV0aGVybmV0IERNQSBSeCBEZXNjcmlwdG9yIGludGVycnVwdCAqLwotICAgICAgRE1BUnhEZXNjLT5Db250cm9sQnVmZmVyU2l6ZSAmPSB+RVRIX0RNQVJYREVTQ19ESUM7Ci0gICAgfQotICAgIAotICAgIC8qIEluaXRpYWxpemUgdGhlIG5leHQgZGVzY3JpcHRvciB3aXRoIHRoZSBOZXh0IERlc2NyaXB0b3IgUG9sbGluZyBFbmFibGUgKi8KLSAgICBpZihpIDwgKFJ4QnVmZkNvdW50LTFVKSkKLSAgICB7Ci0gICAgICAvKiBTZXQgbmV4dCBkZXNjcmlwdG9yIGFkZHJlc3MgcmVnaXN0ZXIgd2l0aCBuZXh0IGRlc2NyaXB0b3IgYmFzZSBhZGRyZXNzICovCi0gICAgICBETUFSeERlc2MtPkJ1ZmZlcjJOZXh0RGVzY0FkZHIgPSAodWludDMyX3QpKERNQVJ4RGVzY1RhYitpKzFVKTsgCi0gICAgfQotICAgIGVsc2UKLSAgICB7Ci0gICAgICAvKiBGb3IgbGFzdCBkZXNjcmlwdG9yLCBzZXQgbmV4dCBkZXNjcmlwdG9yIGFkZHJlc3MgcmVnaXN0ZXIgZXF1YWwgdG8gdGhlIGZpcnN0IGRlc2NyaXB0b3IgYmFzZSBhZGRyZXNzICovIAotICAgICAgRE1BUnhEZXNjLT5CdWZmZXIyTmV4dERlc2NBZGRyID0gKHVpbnQzMl90KShETUFSeERlc2NUYWIpOyAKLSAgICB9Ci0gIH0KLSAgCi0gIC8qIFNldCBSZWNlaXZlIERlc2NyaXB0b3IgTGlzdCBBZGRyZXNzIFJlZ2lzdGVyICovCi0gIChoZXRoLT5JbnN0YW5jZSktPkRNQVJETEFSID0gKHVpbnQzMl90KSBETUFSeERlc2NUYWI7Ci0gIAotICAvKiBTZXQgRVRIIEhBTCBTdGF0ZSB0byBSZWFkeSAqLwotICBoZXRoLT5TdGF0ZT0gSEFMX0VUSF9TVEFURV9SRUFEWTsKLSAgCi0gIC8qIFByb2Nlc3MgVW5sb2NrZWQgKi8KLSAgX19IQUxfVU5MT0NLKGhldGgpOwotICAKICAgLyogUmV0dXJuIGZ1bmN0aW9uIHN0YXR1cyAqLwogICByZXR1cm4gSEFMX09LOwogfQogCiAvKioKICAgKiBAYnJpZWYgIEluaXRpYWxpemVzIHRoZSBFVEggTVNQLgotICAqIEBwYXJhbSAgaGV0aCBwb2ludGVyIHRvIGEgRVRIX0hhbmRsZVR5cGVEZWYgc3RydWN0dXJlIHRoYXQgY29udGFpbnMKKyAgKiBAcGFyYW0gIGhldGg6IHBvaW50ZXIgdG8gYSBFVEhfSGFuZGxlVHlwZURlZiBzdHJ1Y3R1cmUgdGhhdCBjb250YWlucwogICAqICAgICAgICAgdGhlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gZm9yIEVUSEVSTkVUIG1vZHVsZQogICAqIEByZXR2YWwgTm9uZQogICAqLwpAQCAtNjc1LDcgKzQ2Miw3IEBACiAKIC8qKgogICAqIEBicmllZiAgRGVJbml0aWFsaXplcyBFVEggTVNQLgotICAqIEBwYXJhbSAgaGV0aCBwb2ludGVyIHRvIGEgRVRIX0hhbmRsZVR5cGVEZWYgc3RydWN0dXJlIHRoYXQgY29udGFpbnMKKyAgKiBAcGFyYW0gIGhldGg6IHBvaW50ZXIgdG8gYSBFVEhfSGFuZGxlVHlwZURlZiBzdHJ1Y3R1cmUgdGhhdCBjb250YWlucwogICAqICAgICAgICAgdGhlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gZm9yIEVUSEVSTkVUIG1vZHVsZQogICAqIEByZXR2YWwgTm9uZQogICAqLwpAQCAtNjk3LDgwICs0ODQsOTYgQEAKICAgKiAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIG9uZSBvZiB0aGUgZm9sbG93aW5nIHZhbHVlczoKICAgKiAgICAgICAgICBAYXJnIEByZWYgSEFMX0VUSF9UWF9DT01QTEVURV9DQl9JRCBUeCBDb21wbGV0ZSBDYWxsYmFjayBJRAogICAqICAgICAgICAgIEBhcmcgQHJlZiBIQUxfRVRIX1JYX0NPTVBMRVRFX0NCX0lEIFJ4IENvbXBsZXRlIENhbGxiYWNrIElECi0gICogICAgICAgICAgQGFyZyBAcmVmIEhBTF9FVEhfRE1BX0VSUk9SX0NCX0lEICAgRE1BIEVycm9yIENhbGxiYWNrIElECisgICogICAgICAgICAgQGFyZyBAcmVmIEhBTF9FVEhfRVJST1JfQ0JfSUQgICAgICAgRXJyb3IgQ2FsbGJhY2sgSUQKKyAgKiAgICAgICAgICBAYXJnIEByZWYgSEFMX0VUSF9QTVRfQ0JfSUQgICAgICAgICBQb3dlciBNYW5hZ2VtZW50IENhbGxiYWNrIElECisgICogICAgICAgICAgQGFyZyBAcmVmIEhBTF9FVEhfV0FLRVVQX0NCX0lEICAgICAgV2FrZSBVUCBDYWxsYmFjayBJRAogICAqICAgICAgICAgIEBhcmcgQHJlZiBIQUxfRVRIX01TUElOSVRfQ0JfSUQgICAgIE1zcEluaXQgY2FsbGJhY2sgSUQKICAgKiAgICAgICAgICBAYXJnIEByZWYgSEFMX0VUSF9NU1BERUlOSVRfQ0JfSUQgICBNc3BEZUluaXQgY2FsbGJhY2sgSUQKICAgKiBAcGFyYW0gcENhbGxiYWNrIHBvaW50ZXIgdG8gdGhlIENhbGxiYWNrIGZ1bmN0aW9uCiAgICogQHJldHZhbCBzdGF0dXMKICAgKi8KLUhBTF9TdGF0dXNUeXBlRGVmIEhBTF9FVEhfUmVnaXN0ZXJDYWxsYmFjayhFVEhfSGFuZGxlVHlwZURlZiAqaGV0aCwgSEFMX0VUSF9DYWxsYmFja0lEVHlwZURlZiBDYWxsYmFja0lELCBwRVRIX0NhbGxiYWNrVHlwZURlZiBwQ2FsbGJhY2spCitIQUxfU3RhdHVzVHlwZURlZiBIQUxfRVRIX1JlZ2lzdGVyQ2FsbGJhY2soRVRIX0hhbmRsZVR5cGVEZWYgKmhldGgsIEhBTF9FVEhfQ2FsbGJhY2tJRFR5cGVEZWYgQ2FsbGJhY2tJRCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwRVRIX0NhbGxiYWNrVHlwZURlZiBwQ2FsbGJhY2spCiB7CiAgIEhBTF9TdGF0dXNUeXBlRGVmIHN0YXR1cyA9IEhBTF9PSzsKIAotICBpZihwQ2FsbGJhY2sgPT0gTlVMTCkKKyAgaWYgKHBDYWxsYmFjayA9PSBOVUxMKQogICB7CisgICAgLyogVXBkYXRlIHRoZSBlcnJvciBjb2RlICovCisgICAgaGV0aC0+RXJyb3JDb2RlIHw9IEhBTF9FVEhfRVJST1JfSU5WQUxJRF9DQUxMQkFDSzsKKwogICAgIHJldHVybiBIQUxfRVJST1I7CiAgIH0KLSAgLyogUHJvY2VzcyBsb2NrZWQgKi8KLSAgX19IQUxfTE9DSyhoZXRoKTsKIAotICBpZihoZXRoLT5TdGF0ZSA9PSBIQUxfRVRIX1NUQVRFX1JFQURZKQorICBpZiAoaGV0aC0+Z1N0YXRlID09IEhBTF9FVEhfU1RBVEVfUkVBRFkpCiAgIHsKICAgICBzd2l0Y2ggKENhbGxiYWNrSUQpCiAgICAgewotICAgIGNhc2UgSEFMX0VUSF9UWF9DT01QTEVURV9DQl9JRCA6Ci0gICAgICBoZXRoLT5UeENwbHRDYWxsYmFjayA9IHBDYWxsYmFjazsKLSAgICAgIGJyZWFrOworICAgICAgY2FzZSBIQUxfRVRIX1RYX0NPTVBMRVRFX0NCX0lEIDoKKyAgICAgICAgaGV0aC0+VHhDcGx0Q2FsbGJhY2sgPSBwQ2FsbGJhY2s7CisgICAgICAgIGJyZWFrOwogCi0gICAgY2FzZSBIQUxfRVRIX1JYX0NPTVBMRVRFX0NCX0lEIDoKLSAgICAgIGhldGgtPlJ4Q3BsdENhbGxiYWNrID0gcENhbGxiYWNrOwotICAgICAgYnJlYWs7CisgICAgICBjYXNlIEhBTF9FVEhfUlhfQ09NUExFVEVfQ0JfSUQgOgorICAgICAgICBoZXRoLT5SeENwbHRDYWxsYmFjayA9IHBDYWxsYmFjazsKKyAgICAgICAgYnJlYWs7CiAKLSAgICBjYXNlIEhBTF9FVEhfRE1BX0VSUk9SX0NCX0lEIDoKLSAgICAgIGhldGgtPkRNQUVycm9yQ2FsbGJhY2sgPSBwQ2FsbGJhY2s7Ci0gICAgICBicmVhazsKKyAgICAgIGNhc2UgSEFMX0VUSF9FUlJPUl9DQl9JRCA6CisgICAgICAgIGhldGgtPkVycm9yQ2FsbGJhY2sgPSBwQ2FsbGJhY2s7CisgICAgICAgIGJyZWFrOwogCi0gICAgY2FzZSBIQUxfRVRIX01TUElOSVRfQ0JfSUQgOgotICAgICAgaGV0aC0+TXNwSW5pdENhbGxiYWNrID0gcENhbGxiYWNrOwotICAgICAgYnJlYWs7CisgICAgICBjYXNlIEhBTF9FVEhfUE1UX0NCX0lEIDoKKyAgICAgICAgaGV0aC0+UE1UQ2FsbGJhY2sgPSBwQ2FsbGJhY2s7CisgICAgICAgIGJyZWFrOwogCi0gICAgY2FzZSBIQUxfRVRIX01TUERFSU5JVF9DQl9JRCA6Ci0gICAgICBoZXRoLT5Nc3BEZUluaXRDYWxsYmFjayA9IHBDYWxsYmFjazsKLSAgICAgIGJyZWFrOwogCi0gICAgZGVmYXVsdCA6Ci0gICAgICAvKiBSZXR1cm4gZXJyb3Igc3RhdHVzICovCi0gICAgICBzdGF0dXMgPSAgSEFMX0VSUk9SOwotICAgICAgYnJlYWs7CisgICAgICBjYXNlIEhBTF9FVEhfV0FLRVVQX0NCX0lEIDoKKyAgICAgICAgaGV0aC0+V2FrZVVwQ2FsbGJhY2sgPSBwQ2FsbGJhY2s7CisgICAgICAgIGJyZWFrOworCisgICAgICBjYXNlIEhBTF9FVEhfTVNQSU5JVF9DQl9JRCA6CisgICAgICAgIGhldGgtPk1zcEluaXRDYWxsYmFjayA9IHBDYWxsYmFjazsKKyAgICAgICAgYnJlYWs7CisKKyAgICAgIGNhc2UgSEFMX0VUSF9NU1BERUlOSVRfQ0JfSUQgOgorICAgICAgICBoZXRoLT5Nc3BEZUluaXRDYWxsYmFjayA9IHBDYWxsYmFjazsKKyAgICAgICAgYnJlYWs7CisKKyAgICAgIGRlZmF1bHQgOgorICAgICAgICAvKiBVcGRhdGUgdGhlIGVycm9yIGNvZGUgKi8KKyAgICAgICAgaGV0aC0+RXJyb3JDb2RlIHw9IEhBTF9FVEhfRVJST1JfSU5WQUxJRF9DQUxMQkFDSzsKKyAgICAgICAgLyogUmV0dXJuIGVycm9yIHN0YXR1cyAqLworICAgICAgICBzdGF0dXMgPSAgSEFMX0VSUk9SOworICAgICAgICBicmVhazsKICAgICB9CiAgIH0KLSAgZWxzZSBpZihoZXRoLT5TdGF0ZSA9PSBIQUxfRVRIX1NUQVRFX1JFU0VUKQorICBlbHNlIGlmIChoZXRoLT5nU3RhdGUgPT0gSEFMX0VUSF9TVEFURV9SRVNFVCkKICAgewogICAgIHN3aXRjaCAoQ2FsbGJhY2tJRCkKICAgICB7Ci0gICAgY2FzZSBIQUxfRVRIX01TUElOSVRfQ0JfSUQgOgotICAgICAgaGV0aC0+TXNwSW5pdENhbGxiYWNrID0gcENhbGxiYWNrOwotICAgICAgYnJlYWs7CisgICAgICBjYXNlIEhBTF9FVEhfTVNQSU5JVF9DQl9JRCA6CisgICAgICAgIGhldGgtPk1zcEluaXRDYWxsYmFjayA9IHBDYWxsYmFjazsKKyAgICAgICAgYnJlYWs7CiAKLSAgICBjYXNlIEhBTF9FVEhfTVNQREVJTklUX0NCX0lEIDoKLSAgICAgIGhldGgtPk1zcERlSW5pdENhbGxiYWNrID0gcENhbGxiYWNrOwotICAgICAgYnJlYWs7CisgICAgICBjYXNlIEhBTF9FVEhfTVNQREVJTklUX0NCX0lEIDoKKyAgICAgICAgaGV0aC0+TXNwRGVJbml0Q2FsbGJhY2sgPSBwQ2FsbGJhY2s7CisgICAgICAgIGJyZWFrOwogCi0gICAgZGVmYXVsdCA6Ci0gICAgICAvKiBSZXR1cm4gZXJyb3Igc3RhdHVzICovCi0gICAgICBzdGF0dXMgPSAgSEFMX0VSUk9SOwotICAgICAgYnJlYWs7CisgICAgICBkZWZhdWx0IDoKKyAgICAgICAgLyogVXBkYXRlIHRoZSBlcnJvciBjb2RlICovCisgICAgICAgIGhldGgtPkVycm9yQ29kZSB8PSBIQUxfRVRIX0VSUk9SX0lOVkFMSURfQ0FMTEJBQ0s7CisgICAgICAgIC8qIFJldHVybiBlcnJvciBzdGF0dXMgKi8KKyAgICAgICAgc3RhdHVzID0gIEhBTF9FUlJPUjsKKyAgICAgICAgYnJlYWs7CiAgICAgfQogICB9CiAgIGVsc2UKICAgeworICAgIC8qIFVwZGF0ZSB0aGUgZXJyb3IgY29kZSAqLworICAgIGhldGgtPkVycm9yQ29kZSB8PSBIQUxfRVRIX0VSUk9SX0lOVkFMSURfQ0FMTEJBQ0s7CiAgICAgLyogUmV0dXJuIGVycm9yIHN0YXR1cyAqLwogICAgIHN0YXR1cyA9ICBIQUxfRVJST1I7CiAgIH0KIAotICAvKiBSZWxlYXNlIExvY2sgKi8KLSAgX19IQUxfVU5MT0NLKGhldGgpOwotCiAgIHJldHVybiBzdGF0dXM7CiB9CiAKQEAgLTc4Miw3ICs1ODUsOSBAQAogICAqICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgb25lIG9mIHRoZSBmb2xsb3dpbmcgdmFsdWVzOgogICAqICAgICAgICAgIEBhcmcgQHJlZiBIQUxfRVRIX1RYX0NPTVBMRVRFX0NCX0lEIFR4IENvbXBsZXRlIENhbGxiYWNrIElECiAgICogICAgICAgICAgQGFyZyBAcmVmIEhBTF9FVEhfUlhfQ09NUExFVEVfQ0JfSUQgUnggQ29tcGxldGUgQ2FsbGJhY2sgSUQKLSAgKiAgICAgICAgICBAYXJnIEByZWYgSEFMX0VUSF9ETUFfRVJST1JfQ0JfSUQgICAgICBETUEgRXJyb3IgQ2FsbGJhY2sgSUQKKyAgKiAgICAgICAgICBAYXJnIEByZWYgSEFMX0VUSF9FUlJPUl9DQl9JRCAgICAgICBFcnJvciBDYWxsYmFjayBJRAorICAqICAgICAgICAgIEBhcmcgQHJlZiBIQUxfRVRIX1BNVF9DQl9JRCAgICAgICAgIFBvd2VyIE1hbmFnZW1lbnQgQ2FsbGJhY2sgSUQKKyAgKiAgICAgICAgICBAYXJnIEByZWYgSEFMX0VUSF9XQUtFVVBfQ0JfSUQgICAgICBXYWtlIFVQIENhbGxiYWNrIElECiAgICogICAgICAgICAgQGFyZyBAcmVmIEhBTF9FVEhfTVNQSU5JVF9DQl9JRCAgICAgTXNwSW5pdCBjYWxsYmFjayBJRAogICAqICAgICAgICAgIEBhcmcgQHJlZiBIQUxfRVRIX01TUERFSU5JVF9DQl9JRCAgIE1zcERlSW5pdCBjYWxsYmFjayBJRAogICAqIEByZXR2YWwgc3RhdHVzCkBAIC03OTEsNjYgKzU5Niw3NSBAQAogewogICBIQUxfU3RhdHVzVHlwZURlZiBzdGF0dXMgPSBIQUxfT0s7CiAKLSAgLyogUHJvY2VzcyBsb2NrZWQgKi8KLSAgX19IQUxfTE9DSyhoZXRoKTsKLQotICBpZihoZXRoLT5TdGF0ZSA9PSBIQUxfRVRIX1NUQVRFX1JFQURZKQorICBpZiAoaGV0aC0+Z1N0YXRlID09IEhBTF9FVEhfU1RBVEVfUkVBRFkpCiAgIHsKICAgICBzd2l0Y2ggKENhbGxiYWNrSUQpCiAgICAgewotICAgIGNhc2UgSEFMX0VUSF9UWF9DT01QTEVURV9DQl9JRCA6Ci0gICAgICBoZXRoLT5UeENwbHRDYWxsYmFjayA9IEhBTF9FVEhfVHhDcGx0Q2FsbGJhY2s7Ci0gICAgICBicmVhazsKKyAgICAgIGNhc2UgSEFMX0VUSF9UWF9DT01QTEVURV9DQl9JRCA6CisgICAgICAgIGhldGgtPlR4Q3BsdENhbGxiYWNrID0gSEFMX0VUSF9UeENwbHRDYWxsYmFjazsKKyAgICAgICAgYnJlYWs7CiAKLSAgICBjYXNlIEhBTF9FVEhfUlhfQ09NUExFVEVfQ0JfSUQgOgotICAgICAgaGV0aC0+UnhDcGx0Q2FsbGJhY2sgPSBIQUxfRVRIX1J4Q3BsdENhbGxiYWNrOwotICAgICAgYnJlYWs7CisgICAgICBjYXNlIEhBTF9FVEhfUlhfQ09NUExFVEVfQ0JfSUQgOgorICAgICAgICBoZXRoLT5SeENwbHRDYWxsYmFjayA9IEhBTF9FVEhfUnhDcGx0Q2FsbGJhY2s7CisgICAgICAgIGJyZWFrOwogCi0gICAgY2FzZSBIQUxfRVRIX0RNQV9FUlJPUl9DQl9JRCA6Ci0gICAgICBoZXRoLT5ETUFFcnJvckNhbGxiYWNrID0gSEFMX0VUSF9FcnJvckNhbGxiYWNrOwotICAgICAgYnJlYWs7CisgICAgICBjYXNlIEhBTF9FVEhfRVJST1JfQ0JfSUQgOgorICAgICAgICBoZXRoLT5FcnJvckNhbGxiYWNrID0gSEFMX0VUSF9FcnJvckNhbGxiYWNrOworICAgICAgICBicmVhazsKIAotICAgIGNhc2UgSEFMX0VUSF9NU1BJTklUX0NCX0lEIDoKLSAgICAgIGhldGgtPk1zcEluaXRDYWxsYmFjayA9IEhBTF9FVEhfTXNwSW5pdDsKLSAgICAgIGJyZWFrOworICAgICAgY2FzZSBIQUxfRVRIX1BNVF9DQl9JRCA6CisgICAgICAgIGhldGgtPlBNVENhbGxiYWNrID0gSEFMX0VUSF9QTVRDYWxsYmFjazsKKyAgICAgICAgYnJlYWs7CiAKLSAgICBjYXNlIEhBTF9FVEhfTVNQREVJTklUX0NCX0lEIDoKLSAgICAgIGhldGgtPk1zcERlSW5pdENhbGxiYWNrID0gSEFMX0VUSF9Nc3BEZUluaXQ7Ci0gICAgICBicmVhazsKIAotICAgIGRlZmF1bHQgOgotICAgICAgLyogUmV0dXJuIGVycm9yIHN0YXR1cyAqLwotICAgICAgc3RhdHVzID0gIEhBTF9FUlJPUjsKLSAgICAgIGJyZWFrOworICAgICAgY2FzZSBIQUxfRVRIX1dBS0VVUF9DQl9JRCA6CisgICAgICAgIGhldGgtPldha2VVcENhbGxiYWNrID0gSEFMX0VUSF9XYWtlVXBDYWxsYmFjazsKKyAgICAgICAgYnJlYWs7CisKKyAgICAgIGNhc2UgSEFMX0VUSF9NU1BJTklUX0NCX0lEIDoKKyAgICAgICAgaGV0aC0+TXNwSW5pdENhbGxiYWNrID0gSEFMX0VUSF9Nc3BJbml0OworICAgICAgICBicmVhazsKKworICAgICAgY2FzZSBIQUxfRVRIX01TUERFSU5JVF9DQl9JRCA6CisgICAgICAgIGhldGgtPk1zcERlSW5pdENhbGxiYWNrID0gSEFMX0VUSF9Nc3BEZUluaXQ7CisgICAgICAgIGJyZWFrOworCisgICAgICBkZWZhdWx0IDoKKyAgICAgICAgLyogVXBkYXRlIHRoZSBlcnJvciBjb2RlICovCisgICAgICAgIGhldGgtPkVycm9yQ29kZSB8PSBIQUxfRVRIX0VSUk9SX0lOVkFMSURfQ0FMTEJBQ0s7CisgICAgICAgIC8qIFJldHVybiBlcnJvciBzdGF0dXMgKi8KKyAgICAgICAgc3RhdHVzID0gIEhBTF9FUlJPUjsKKyAgICAgICAgYnJlYWs7CiAgICAgfQogICB9Ci0gIGVsc2UgaWYoaGV0aC0+U3RhdGUgPT0gSEFMX0VUSF9TVEFURV9SRVNFVCkKKyAgZWxzZSBpZiAoaGV0aC0+Z1N0YXRlID09IEhBTF9FVEhfU1RBVEVfUkVTRVQpCiAgIHsKICAgICBzd2l0Y2ggKENhbGxiYWNrSUQpCiAgICAgewotICAgIGNhc2UgSEFMX0VUSF9NU1BJTklUX0NCX0lEIDoKLSAgICAgIGhldGgtPk1zcEluaXRDYWxsYmFjayA9IEhBTF9FVEhfTXNwSW5pdDsKLSAgICAgIGJyZWFrOworICAgICAgY2FzZSBIQUxfRVRIX01TUElOSVRfQ0JfSUQgOgorICAgICAgICBoZXRoLT5Nc3BJbml0Q2FsbGJhY2sgPSBIQUxfRVRIX01zcEluaXQ7CisgICAgICAgIGJyZWFrOwogCi0gICAgY2FzZSBIQUxfRVRIX01TUERFSU5JVF9DQl9JRCA6Ci0gICAgICBoZXRoLT5Nc3BEZUluaXRDYWxsYmFjayA9IEhBTF9FVEhfTXNwRGVJbml0OwotICAgICAgYnJlYWs7CisgICAgICBjYXNlIEhBTF9FVEhfTVNQREVJTklUX0NCX0lEIDoKKyAgICAgICAgaGV0aC0+TXNwRGVJbml0Q2FsbGJhY2sgPSBIQUxfRVRIX01zcERlSW5pdDsKKyAgICAgICAgYnJlYWs7CiAKLSAgICBkZWZhdWx0IDoKLSAgICAgIC8qIFJldHVybiBlcnJvciBzdGF0dXMgKi8KLSAgICAgIHN0YXR1cyA9ICBIQUxfRVJST1I7Ci0gICAgICBicmVhazsKKyAgICAgIGRlZmF1bHQgOgorICAgICAgICAvKiBVcGRhdGUgdGhlIGVycm9yIGNvZGUgKi8KKyAgICAgICAgaGV0aC0+RXJyb3JDb2RlIHw9IEhBTF9FVEhfRVJST1JfSU5WQUxJRF9DQUxMQkFDSzsKKyAgICAgICAgLyogUmV0dXJuIGVycm9yIHN0YXR1cyAqLworICAgICAgICBzdGF0dXMgPSAgSEFMX0VSUk9SOworICAgICAgICBicmVhazsKICAgICB9CiAgIH0KICAgZWxzZQogICB7CisgICAgLyogVXBkYXRlIHRoZSBlcnJvciBjb2RlICovCisgICAgaGV0aC0+RXJyb3JDb2RlIHw9IEhBTF9FVEhfRVJST1JfSU5WQUxJRF9DQUxMQkFDSzsKICAgICAvKiBSZXR1cm4gZXJyb3Igc3RhdHVzICovCiAgICAgc3RhdHVzID0gIEhBTF9FUlJPUjsKICAgfQogCi0gIC8qIFJlbGVhc2UgTG9jayAqLwotICBfX0hBTF9VTkxPQ0soaGV0aCk7Ci0KICAgcmV0dXJuIHN0YXR1czsKIH0KICNlbmRpZiAvKiBVU0VfSEFMX0VUSF9SRUdJU1RFUl9DQUxMQkFDS1MgKi8KQEAgLTg1OSwzODUgKzY3MywxMjU2IEBACiAgICogQH0KICAgKi8KIAotLyoqIEBkZWZncm91cCBFVEhfRXhwb3J0ZWRfRnVuY3Rpb25zX0dyb3VwMiBJTyBvcGVyYXRpb24gZnVuY3Rpb25zIAotICAqICBAYnJpZWYgICBEYXRhIHRyYW5zZmVycyBmdW5jdGlvbnMgCisvKiogQGRlZmdyb3VwIEVUSF9FeHBvcnRlZF9GdW5jdGlvbnNfR3JvdXAyIElPIG9wZXJhdGlvbiBmdW5jdGlvbnMKKyAgKiAgQGJyaWVmIEVUSCBUcmFuc21pdCBhbmQgUmVjZWl2ZSBmdW5jdGlvbnMKICAgKgotICBAdmVyYmF0aW0gICAKK0B2ZXJiYXRpbQogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgIyMjIyMgSU8gb3BlcmF0aW9uIGZ1bmN0aW9ucyAjIyMjIwotICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gIAotICBbLi5dICBUaGlzIHNlY3Rpb24gcHJvdmlkZXMgZnVuY3Rpb25zIGFsbG93aW5nIHRvOgotICAgICAgICAoKykgVHJhbnNtaXQgYSBmcmFtZQotICAgICAgICAgICAgSEFMX0VUSF9UcmFuc21pdEZyYW1lKCk7Ci0gICAgICAgICgrKSBSZWNlaXZlIGEgZnJhbWUKLSAgICAgICAgICAgIEhBTF9FVEhfR2V0UmVjZWl2ZWRGcmFtZSgpOwotICAgICAgICAgICAgSEFMX0VUSF9HZXRSZWNlaXZlZEZyYW1lX0lUKCk7Ci0gICAgICAgICgrKSBSZWFkIGZyb20gYW4gRXh0ZXJuYWwgUEhZIHJlZ2lzdGVyCi0gICAgICAgICAgICBIQUxfRVRIX1JlYWRQSFlSZWdpc3RlcigpOwotICAgICAgICAoKykgV3JpdGUgdG8gYW4gRXh0ZXJuYWwgUEhZIHJlZ2lzdGVyCi0gICAgICAgICAgICBIQUxfRVRIX1dyaXRlUEhZUmVnaXN0ZXIoKTsKKyAgICAgICAgICAgICAgICAgICAgICAjIyMjIyBJTyBvcGVyYXRpb24gZnVuY3Rpb25zICMjIyMjCisgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorICBbLi5dCisgICAgVGhpcyBzdWJzZWN0aW9uIHByb3ZpZGVzIGEgc2V0IG9mIGZ1bmN0aW9ucyBhbGxvd2luZyB0byBtYW5hZ2UgdGhlIEVUSAorICAgIGRhdGEgdHJhbnNmZXIuCiAKLSAgQGVuZHZlcmJhdGltCi0gIAorQGVuZHZlcmJhdGltCiAgICogQHsKICAgKi8KIAogLyoqCi0gICogQGJyaWVmICBTZW5kcyBhbiBFdGhlcm5ldCBmcmFtZS4gCi0gICogQHBhcmFtICBoZXRoIHBvaW50ZXIgdG8gYSBFVEhfSGFuZGxlVHlwZURlZiBzdHJ1Y3R1cmUgdGhhdCBjb250YWlucworICAqIEBicmllZiAgRW5hYmxlcyBFdGhlcm5ldCBNQUMgYW5kIERNQSByZWNlcHRpb24gYW5kIHRyYW5zbWlzc2lvbgorICAqIEBwYXJhbSAgaGV0aDogcG9pbnRlciB0byBhIEVUSF9IYW5kbGVUeXBlRGVmIHN0cnVjdHVyZSB0aGF0IGNvbnRhaW5zCiAgICogICAgICAgICB0aGUgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbiBmb3IgRVRIRVJORVQgbW9kdWxlCi0gICogQHBhcmFtICBGcmFtZUxlbmd0aCBBbW91bnQgb2YgZGF0YSB0byBiZSBzZW50CiAgICogQHJldHZhbCBIQUwgc3RhdHVzCiAgICovCi1IQUxfU3RhdHVzVHlwZURlZiBIQUxfRVRIX1RyYW5zbWl0RnJhbWUoRVRIX0hhbmRsZVR5cGVEZWYgKmhldGgsIHVpbnQzMl90IEZyYW1lTGVuZ3RoKQorSEFMX1N0YXR1c1R5cGVEZWYgSEFMX0VUSF9TdGFydChFVEhfSGFuZGxlVHlwZURlZiAqaGV0aCkKIHsKLSAgdWludDMyX3QgYnVmY291bnQgPSAwVSwgc2l6ZSA9IDBVLCBpID0gMFU7Ci0gIAotICAvKiBQcm9jZXNzIExvY2tlZCAqLwotICBfX0hBTF9MT0NLKGhldGgpOwotICAKLSAgLyogU2V0IHRoZSBFVEggcGVyaXBoZXJhbCBzdGF0ZSB0byBCVVNZICovCi0gIGhldGgtPlN0YXRlID0gSEFMX0VUSF9TVEFURV9CVVNZOwotICAKLSAgaWYgKEZyYW1lTGVuZ3RoID09IDBVKSAKKyAgaWYgKGhldGgtPmdTdGF0ZSA9PSBIQUxfRVRIX1NUQVRFX1JFQURZKQogICB7Ci0gICAgLyogU2V0IEVUSCBIQUwgc3RhdGUgdG8gUkVBRFkgKi8KLSAgICBoZXRoLT5TdGF0ZSA9IEhBTF9FVEhfU1RBVEVfUkVBRFk7Ci0gICAgCi0gICAgLyogUHJvY2VzcyBVbmxvY2tlZCAqLwotICAgIF9fSEFMX1VOTE9DSyhoZXRoKTsKLSAgICAKLSAgICByZXR1cm4gIEhBTF9FUlJPUjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKLSAgfSAgCi0gIAotICAvKiBDaGVjayBpZiB0aGUgZGVzY3JpcHRvciBpcyBvd25lZCBieSB0aGUgRVRIRVJORVQgRE1BICh3aGVuIHNldCkgb3IgQ1BVICh3aGVuIHJlc2V0KSAqLwotICBpZigoKGhldGgtPlR4RGVzYyktPlN0YXR1cyAmIEVUSF9ETUFUWERFU0NfT1dOKSAhPSAodWludDMyX3QpUkVTRVQpCi0gIHsgIAotICAgIC8qIE9XTiBiaXQgc2V0ICovCi0gICAgaGV0aC0+U3RhdGUgPSBIQUxfRVRIX1NUQVRFX0JVU1lfVFg7Ci0gICAgCi0gICAgLyogUHJvY2VzcyBVbmxvY2tlZCAqLwotICAgIF9fSEFMX1VOTE9DSyhoZXRoKTsKLSAgICAKLSAgICByZXR1cm4gSEFMX0VSUk9SOwotICB9Ci0gIAotICAvKiBHZXQgdGhlIG51bWJlciBvZiBuZWVkZWQgVHggYnVmZmVycyBmb3IgdGhlIGN1cnJlbnQgZnJhbWUgKi8KLSAgaWYgKEZyYW1lTGVuZ3RoID4gRVRIX1RYX0JVRl9TSVpFKQotICB7Ci0gICAgYnVmY291bnQgPSBGcmFtZUxlbmd0aC9FVEhfVFhfQlVGX1NJWkU7Ci0gICAgaWYgKEZyYW1lTGVuZ3RoICUgRVRIX1RYX0JVRl9TSVpFKSAKLSAgICB7Ci0gICAgICBidWZjb3VudCsrOwotICAgIH0KLSAgfQotICBlbHNlIAotICB7ICAKLSAgICBidWZjb3VudCA9IDFVOwotICB9Ci0gIGlmIChidWZjb3VudCA9PSAxVSkKLSAgewotICAgIC8qIFNldCBMQVNUIGFuZCBGSVJTVCBzZWdtZW50ICovCi0gICAgaGV0aC0+VHhEZXNjLT5TdGF0dXMgfD1FVEhfRE1BVFhERVNDX0ZTfEVUSF9ETUFUWERFU0NfTFM7Ci0gICAgLyogU2V0IGZyYW1lIHNpemUgKi8KLSAgICBoZXRoLT5UeERlc2MtPkNvbnRyb2xCdWZmZXJTaXplID0gKEZyYW1lTGVuZ3RoICYgRVRIX0RNQVRYREVTQ19UQlMxKTsKLSAgICAvKiBTZXQgT3duIGJpdCBvZiB0aGUgVHggZGVzY3JpcHRvciBTdGF0dXM6IGdpdmVzIHRoZSBidWZmZXIgYmFjayB0byBFVEhFUk5FVCBETUEgKi8KLSAgICBoZXRoLT5UeERlc2MtPlN0YXR1cyB8PSBFVEhfRE1BVFhERVNDX09XTjsKLSAgICAvKiBQb2ludCB0byBuZXh0IGRlc2NyaXB0b3IgKi8KLSAgICBoZXRoLT5UeERlc2M9IChFVEhfRE1BRGVzY1R5cGVEZWYgKikoaGV0aC0+VHhEZXNjLT5CdWZmZXIyTmV4dERlc2NBZGRyKTsKKyAgICBoZXRoLT5nU3RhdGUgPSBIQUxfRVRIX1NUQVRFX0JVU1k7CisKKyAgICAvKiBTZXQgbm9tYnJlIG9mIGRlc2NyaXB0b3JzIHRvIGJ1aWxkICovCisgICAgaGV0aC0+UnhEZXNjTGlzdC5SeEJ1aWxkRGVzY0NudCA9IEVUSF9SWF9ERVNDX0NOVDsKKworICAgIC8qIEJ1aWxkIGFsbCBkZXNjcmlwdG9ycyAqLworICAgIEVUSF9VcGRhdGVEZXNjcmlwdG9yKGhldGgpOworCisgICAgLyogRW5hYmxlIHRoZSBNQUMgdHJhbnNtaXNzaW9uICovCisgICAgU0VUX0JJVChoZXRoLT5JbnN0YW5jZS0+TUFDQ1IsIEVUSF9NQUNDUl9URSk7CisKKyAgICAvKiBFbmFibGUgdGhlIE1BQyByZWNlcHRpb24gKi8KKyAgICBTRVRfQklUKGhldGgtPkluc3RhbmNlLT5NQUNDUiwgRVRIX01BQ0NSX1JFKTsKKworICAgIC8qIEZsdXNoIFRyYW5zbWl0IEZJRk8gKi8KKyAgICBFVEhfRmx1c2hUcmFuc21pdEZJRk8oaGV0aCk7CisKKyAgICAvKiBFbmFibGUgdGhlIERNQSB0cmFuc21pc3Npb24gKi8KKyAgICBTRVRfQklUKGhldGgtPkluc3RhbmNlLT5ETUFPTVIsIEVUSF9ETUFPTVJfU1QpOworCisgICAgLyogRW5hYmxlIHRoZSBETUEgcmVjZXB0aW9uICovCisgICAgU0VUX0JJVChoZXRoLT5JbnN0YW5jZS0+RE1BT01SLCBFVEhfRE1BT01SX1NSKTsKKworICAgIGhldGgtPmdTdGF0ZSA9IEhBTF9FVEhfU1RBVEVfU1RBUlRFRDsKKworICAgIHJldHVybiBIQUxfT0s7CiAgIH0KICAgZWxzZQogICB7Ci0gICAgZm9yIChpPTBVOyBpPCBidWZjb3VudDsgaSsrKQorICAgIHJldHVybiBIQUxfRVJST1I7CisgIH0KK30KKworLyoqCisgICogQGJyaWVmICBFbmFibGVzIEV0aGVybmV0IE1BQyBhbmQgRE1BIHJlY2VwdGlvbi90cmFuc21pc3Npb24gaW4gSW50ZXJydXB0IG1vZGUKKyAgKiBAcGFyYW0gIGhldGg6IHBvaW50ZXIgdG8gYSBFVEhfSGFuZGxlVHlwZURlZiBzdHJ1Y3R1cmUgdGhhdCBjb250YWlucworICAqICAgICAgICAgdGhlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gZm9yIEVUSEVSTkVUIG1vZHVsZQorICAqIEByZXR2YWwgSEFMIHN0YXR1cworICAqLworSEFMX1N0YXR1c1R5cGVEZWYgSEFMX0VUSF9TdGFydF9JVChFVEhfSGFuZGxlVHlwZURlZiAqaGV0aCkKK3sKKyAgaWYgKGhldGgtPmdTdGF0ZSA9PSBIQUxfRVRIX1NUQVRFX1JFQURZKQorICB7CisgICAgaGV0aC0+Z1N0YXRlID0gSEFMX0VUSF9TVEFURV9CVVNZOworCisgICAgLyogc2F2ZSBJVCBtb2RlIHRvIEVUSCBIYW5kbGUgKi8KKyAgICBoZXRoLT5SeERlc2NMaXN0Lkl0TW9kZSA9IDFVOworICAgIC8qIERpc2FibGUgTU1DIEludGVycnVwdHMgKi8KKyAgICBTRVRfQklUKGhldGgtPkluc3RhbmNlLT5NQUNJTVIsIEVUSF9NQUNJTVJfVFNUSU0gfCBFVEhfTUFDSU1SX1BNVElNKTsKKworICAgIC8qIERpc2FibGUgUnggTU1DIEludGVycnVwdHMgKi8KKyAgICBTRVRfQklUKGhldGgtPkluc3RhbmNlLT5NTUNSSU1SLCBFVEhfTU1DUklNUl9SR1VGTSB8IEVUSF9NTUNSSU1SX1JGQUVNIHwgXAorICAgICAgICAgICAgRVRIX01NQ1JJTVJfUkZDRU0pOworCisgICAgLyogRGlzYWJsZSBUeCBNTUMgSW50ZXJydXB0cyAqLworICAgIFNFVF9CSVQoaGV0aC0+SW5zdGFuY2UtPk1NQ1RJTVIsIEVUSF9NTUNUSU1SX1RHRk0gfCBFVEhfTU1DVElNUl9UR0ZNU0NNIHwgXAorICAgICAgICAgICAgRVRIX01NQ1RJTVJfVEdGU0NNKTsKKworICAgIC8qIFNldCBub21icmUgb2YgZGVzY3JpcHRvcnMgdG8gYnVpbGQgKi8KKyAgICBoZXRoLT5SeERlc2NMaXN0LlJ4QnVpbGREZXNjQ250ID0gRVRIX1JYX0RFU0NfQ05UOworCisgICAgLyogQnVpbGQgYWxsIGRlc2NyaXB0b3JzICovCisgICAgRVRIX1VwZGF0ZURlc2NyaXB0b3IoaGV0aCk7CisKKyAgICAvKiBFbmFibGUgdGhlIE1BQyB0cmFuc21pc3Npb24gKi8KKyAgICBTRVRfQklUKGhldGgtPkluc3RhbmNlLT5NQUNDUiwgRVRIX01BQ0NSX1RFKTsKKworICAgIC8qIEVuYWJsZSB0aGUgTUFDIHJlY2VwdGlvbiAqLworICAgIFNFVF9CSVQoaGV0aC0+SW5zdGFuY2UtPk1BQ0NSLCBFVEhfTUFDQ1JfUkUpOworCisgICAgLyogRmx1c2ggVHJhbnNtaXQgRklGTyAqLworICAgIEVUSF9GbHVzaFRyYW5zbWl0RklGTyhoZXRoKTsKKworICAgIC8qIEVuYWJsZSB0aGUgRE1BIHRyYW5zbWlzc2lvbiAqLworICAgIFNFVF9CSVQoaGV0aC0+SW5zdGFuY2UtPkRNQU9NUiwgRVRIX0RNQU9NUl9TVCk7CisKKyAgICAvKiBFbmFibGUgdGhlIERNQSByZWNlcHRpb24gKi8KKyAgICBTRVRfQklUKGhldGgtPkluc3RhbmNlLT5ETUFPTVIsIEVUSF9ETUFPTVJfU1IpOworCisgICAgLyogRW5hYmxlIEVUSCBETUEgaW50ZXJydXB0czoKKyAgICAtIFR4IGNvbXBsZXRlIGludGVycnVwdAorICAgIC0gUnggY29tcGxldGUgaW50ZXJydXB0CisgICAgLSBGYXRhbCBidXMgaW50ZXJydXB0CisgICAgKi8KKyAgICBfX0hBTF9FVEhfRE1BX0VOQUJMRV9JVChoZXRoLCAoRVRIX0RNQUlFUl9OSVNFIHwgRVRIX0RNQUlFUl9SSUUgfCBFVEhfRE1BSUVSX1RJRSAgfAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFVEhfRE1BSUVSX0ZCRUlFIHwgRVRIX0RNQUlFUl9BSVNFIHwgRVRIX0RNQUlFUl9SQlVJRSkpOworCisgICAgaGV0aC0+Z1N0YXRlID0gSEFMX0VUSF9TVEFURV9TVEFSVEVEOworICAgIHJldHVybiBIQUxfT0s7CisgIH0KKyAgZWxzZQorICB7CisgICAgcmV0dXJuIEhBTF9FUlJPUjsKKyAgfQorfQorCisvKioKKyAgKiBAYnJpZWYgIFN0b3AgRXRoZXJuZXQgTUFDIGFuZCBETUEgcmVjZXB0aW9uL3RyYW5zbWlzc2lvbgorICAqIEBwYXJhbSAgaGV0aDogcG9pbnRlciB0byBhIEVUSF9IYW5kbGVUeXBlRGVmIHN0cnVjdHVyZSB0aGF0IGNvbnRhaW5zCisgICogICAgICAgICB0aGUgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbiBmb3IgRVRIRVJORVQgbW9kdWxlCisgICogQHJldHZhbCBIQUwgc3RhdHVzCisgICovCitIQUxfU3RhdHVzVHlwZURlZiBIQUxfRVRIX1N0b3AoRVRIX0hhbmRsZVR5cGVEZWYgKmhldGgpCit7CisgIGlmIChoZXRoLT5nU3RhdGUgPT0gSEFMX0VUSF9TVEFURV9TVEFSVEVEKQorICB7CisgICAgLyogU2V0IHRoZSBFVEggcGVyaXBoZXJhbCBzdGF0ZSB0byBCVVNZICovCisgICAgaGV0aC0+Z1N0YXRlID0gSEFMX0VUSF9TVEFURV9CVVNZOworICAgIC8qIERpc2FibGUgdGhlIERNQSB0cmFuc21pc3Npb24gKi8KKyAgICBDTEVBUl9CSVQoaGV0aC0+SW5zdGFuY2UtPk1BQ0NSLCBFVEhfTUFDQ1JfVEUpOworCisgICAgLyogRGlzYWJsZSB0aGUgRE1BIHJlY2VwdGlvbiAqLworICAgIENMRUFSX0JJVChoZXRoLT5JbnN0YW5jZS0+RE1BT01SLCBFVEhfRE1BT01SX1NSKTsKKworICAgIC8qIERpc2FibGUgdGhlIE1BQyByZWNlcHRpb24gKi8KKyAgICBDTEVBUl9CSVQoaGV0aC0+SW5zdGFuY2UtPk1BQ0NSLCBFVEhfTUFDQ1JfUkUpOworCisgICAgLyogRmx1c2ggVHJhbnNtaXQgRklGTyAqLworICAgIEVUSF9GbHVzaFRyYW5zbWl0RklGTyhoZXRoKTsKKworICAgIC8qIERpc2FibGUgdGhlIE1BQyB0cmFuc21pc3Npb24gKi8KKyAgICBDTEVBUl9CSVQoaGV0aC0+SW5zdGFuY2UtPk1BQ0NSLCBFVEhfTUFDQ1JfVEUpOworCisgICAgaGV0aC0+Z1N0YXRlID0gSEFMX0VUSF9TVEFURV9SRUFEWTsKKworICAgIC8qIFJldHVybiBmdW5jdGlvbiBzdGF0dXMgKi8KKyAgICByZXR1cm4gSEFMX09LOworICB9CisgIGVsc2UKKyAgeworICAgIHJldHVybiBIQUxfRVJST1I7CisgIH0KK30KKworLyoqCisgICogQGJyaWVmICBTdG9wIEV0aGVybmV0IE1BQyBhbmQgRE1BIHJlY2VwdGlvbi90cmFuc21pc3Npb24gaW4gSW50ZXJydXB0IG1vZGUKKyAgKiBAcGFyYW0gIGhldGg6IHBvaW50ZXIgdG8gYSBFVEhfSGFuZGxlVHlwZURlZiBzdHJ1Y3R1cmUgdGhhdCBjb250YWlucworICAqICAgICAgICAgdGhlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gZm9yIEVUSEVSTkVUIG1vZHVsZQorICAqIEByZXR2YWwgSEFMIHN0YXR1cworICAqLworSEFMX1N0YXR1c1R5cGVEZWYgSEFMX0VUSF9TdG9wX0lUKEVUSF9IYW5kbGVUeXBlRGVmICpoZXRoKQoreworICBFVEhfRE1BRGVzY1R5cGVEZWYgKmRtYXJ4ZGVzYzsKKyAgdWludDMyX3QgZGVzY2luZGV4OworCisgIGlmIChoZXRoLT5nU3RhdGUgPT0gSEFMX0VUSF9TVEFURV9TVEFSVEVEKQorICB7CisgICAgLyogU2V0IHRoZSBFVEggcGVyaXBoZXJhbCBzdGF0ZSB0byBCVVNZICovCisgICAgaGV0aC0+Z1N0YXRlID0gSEFMX0VUSF9TVEFURV9CVVNZOworCisgICAgX19IQUxfRVRIX0RNQV9ESVNBQkxFX0lUKGhldGgsIChFVEhfRE1BSUVSX05JU0UgfCBFVEhfRE1BSUVSX1JJRSB8IEVUSF9ETUFJRVJfVElFICB8CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFVEhfRE1BSUVSX0ZCRUlFIHwgRVRIX0RNQUlFUl9BSVNFIHwgRVRIX0RNQUlFUl9SQlVJRSkpOworCisgICAgLyogRGlzYWJsZSB0aGUgRE1BIHRyYW5zbWlzc2lvbiAqLworICAgIENMRUFSX0JJVChoZXRoLT5JbnN0YW5jZS0+TUFDQ1IsIEVUSF9NQUNDUl9URSk7CisKKyAgICAvKiBEaXNhYmxlIHRoZSBETUEgcmVjZXB0aW9uICovCisgICAgQ0xFQVJfQklUKGhldGgtPkluc3RhbmNlLT5ETUFPTVIsIEVUSF9ETUFPTVJfU1IpOworCisgICAgLyogRGlzYWJsZSB0aGUgTUFDIHJlY2VwdGlvbiAqLworICAgIENMRUFSX0JJVChoZXRoLT5JbnN0YW5jZS0+TUFDQ1IsIEVUSF9NQUNDUl9SRSk7CisgICAgLyogRmx1c2ggVHJhbnNtaXQgRklGTyAqLworICAgIEVUSF9GbHVzaFRyYW5zbWl0RklGTyhoZXRoKTsKKworICAgIC8qIERpc2FibGUgdGhlIE1BQyB0cmFuc21pc3Npb24gKi8KKyAgICBDTEVBUl9CSVQoaGV0aC0+SW5zdGFuY2UtPk1BQ0NSLCBFVEhfTUFDQ1JfVEUpOworCisgICAgLyogQ2xlYXIgSU9DIGJpdCB0byBhbGwgUnggZGVzY3JpcHRvcnMgKi8KKyAgICBmb3IgKGRlc2NpbmRleCA9IDA7IGRlc2NpbmRleCA8ICh1aW50MzJfdClFVEhfUlhfREVTQ19DTlQ7IGRlc2NpbmRleCsrKQogICAgIHsKLSAgICAgIC8qIENsZWFyIEZJUlNUIGFuZCBMQVNUIHNlZ21lbnQgYml0cyAqLwotICAgICAgaGV0aC0+VHhEZXNjLT5TdGF0dXMgJj0gfihFVEhfRE1BVFhERVNDX0ZTIHwgRVRIX0RNQVRYREVTQ19MUyk7Ci0gICAgICAKLSAgICAgIGlmIChpID09IDBVKSAKKyAgICAgIGRtYXJ4ZGVzYyA9IChFVEhfRE1BRGVzY1R5cGVEZWYgKiloZXRoLT5SeERlc2NMaXN0LlJ4RGVzY1tkZXNjaW5kZXhdOworICAgICAgU0VUX0JJVChkbWFyeGRlc2MtPkRFU0MxLCBFVEhfRE1BUlhERVNDX0RJQyk7CisgICAgfQorCisgICAgaGV0aC0+UnhEZXNjTGlzdC5JdE1vZGUgPSAwVTsKKworICAgIGhldGgtPmdTdGF0ZSA9IEhBTF9FVEhfU1RBVEVfUkVBRFk7CisKKyAgICAvKiBSZXR1cm4gZnVuY3Rpb24gc3RhdHVzICovCisgICAgcmV0dXJuIEhBTF9PSzsKKyAgfQorICBlbHNlCisgIHsKKyAgICByZXR1cm4gSEFMX0VSUk9SOworICB9Cit9CisKKy8qKgorICAqIEBicmllZiAgU2VuZHMgYW4gRXRoZXJuZXQgUGFja2V0IGluIHBvbGxpbmcgbW9kZS4KKyAgKiBAcGFyYW0gIGhldGg6IHBvaW50ZXIgdG8gYSBFVEhfSGFuZGxlVHlwZURlZiBzdHJ1Y3R1cmUgdGhhdCBjb250YWlucworICAqICAgICAgICAgdGhlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gZm9yIEVUSEVSTkVUIG1vZHVsZQorICAqIEBwYXJhbSAgcFR4Q29uZmlnOiBIb2xkIHRoZSBjb25maWd1cmF0aW9uIG9mIHBhY2tldCB0byBiZSB0cmFuc21pdHRlZAorICAqIEBwYXJhbSAgVGltZW91dDogdGltZW91dCB2YWx1ZQorICAqIEByZXR2YWwgSEFMIHN0YXR1cworICAqLworSEFMX1N0YXR1c1R5cGVEZWYgSEFMX0VUSF9UcmFuc21pdChFVEhfSGFuZGxlVHlwZURlZiAqaGV0aCwgRVRIX1R4UGFja2V0Q29uZmlnICpwVHhDb25maWcsIHVpbnQzMl90IFRpbWVvdXQpCit7CisgIHVpbnQzMl90IHRpY2tzdGFydDsKKyAgRVRIX0RNQURlc2NUeXBlRGVmICpkbWF0eGRlc2M7CisKKyAgaWYgKHBUeENvbmZpZyA9PSBOVUxMKQorICB7CisgICAgaGV0aC0+RXJyb3JDb2RlIHw9IEhBTF9FVEhfRVJST1JfUEFSQU07CisgICAgcmV0dXJuIEhBTF9FUlJPUjsKKyAgfQorCisgIGlmIChoZXRoLT5nU3RhdGUgPT0gSEFMX0VUSF9TVEFURV9TVEFSVEVEKQorICB7CisgICAgLyogQ29uZmlnIERNQSBUeCBkZXNjcmlwdG9yIGJ5IFR4IFBhY2tldCBpbmZvICovCisgICAgaWYgKEVUSF9QcmVwYXJlX1R4X0Rlc2NyaXB0b3JzKGhldGgsIHBUeENvbmZpZywgMCkgIT0gSEFMX0VUSF9FUlJPUl9OT05FKQorICAgIHsKKyAgICAgIC8qIFNldCB0aGUgRVRIIGVycm9yIGNvZGUgKi8KKyAgICAgIGhldGgtPkVycm9yQ29kZSB8PSBIQUxfRVRIX0VSUk9SX0JVU1k7CisgICAgICByZXR1cm4gSEFMX0VSUk9SOworICAgIH0KKworICAgIC8qIEVuc3VyZSBjb21wbGV0aW9uIG9mIGRlc2NyaXB0b3IgcHJlcGFyYXRpb24gYmVmb3JlIHRyYW5zbWlzc2lvbiBzdGFydCAqLworICAgIF9fRFNCKCk7CisKKyAgICBkbWF0eGRlc2MgPSAoRVRIX0RNQURlc2NUeXBlRGVmICopKCZoZXRoLT5UeERlc2NMaXN0KS0+VHhEZXNjW2hldGgtPlR4RGVzY0xpc3QuQ3VyVHhEZXNjXTsKKworICAgIC8qIEluY3IgY3VycmVudCB0eCBkZXNjIGluZGV4ICovCisgICAgSU5DUl9UWF9ERVNDX0lOREVYKGhldGgtPlR4RGVzY0xpc3QuQ3VyVHhEZXNjLCAxVSk7CisKKyAgICAvKiBTdGFydCB0cmFuc21pc3Npb24gKi8KKyAgICAvKiBpc3N1ZSBhIHBvbGwgY29tbWFuZCB0byBUeCBETUEgYnkgd3JpdGluZyBhZGRyZXNzIG9mIG5leHQgaW1tZWRpYXRlIGZyZWUgZGVzY3JpcHRvciAqLworICAgIFdSSVRFX1JFRyhoZXRoLT5JbnN0YW5jZS0+RE1BVFBEUiwgKHVpbnQzMl90KShoZXRoLT5UeERlc2NMaXN0LlR4RGVzY1toZXRoLT5UeERlc2NMaXN0LkN1clR4RGVzY10pKTsKKworICAgIHRpY2tzdGFydCA9IEhBTF9HZXRUaWNrKCk7CisKKyAgICAvKiBXYWl0IGZvciBkYXRhIHRvIGJlIHRyYW5zbWl0dGVkIG9yIHRpbWVvdXQgb2NjdXJyZWQgKi8KKyAgICB3aGlsZSAoKGRtYXR4ZGVzYy0+REVTQzAgJiBFVEhfRE1BVFhERVNDX09XTikgIT0gKHVpbnQzMl90KVJFU0VUKQorICAgIHsKKyAgICAgIGlmICgoaGV0aC0+SW5zdGFuY2UtPkRNQVNSICYgRVRIX0RNQVNSX0ZCRVMpICE9ICh1aW50MzJfdClSRVNFVCkKICAgICAgIHsKLSAgICAgICAgLyogU2V0dGluZyB0aGUgZmlyc3Qgc2VnbWVudCBiaXQgKi8KLSAgICAgICAgaGV0aC0+VHhEZXNjLT5TdGF0dXMgfD0gRVRIX0RNQVRYREVTQ19GUzsgIAorICAgICAgICBoZXRoLT5FcnJvckNvZGUgfD0gSEFMX0VUSF9FUlJPUl9ETUE7CisgICAgICAgIGhldGgtPkRNQUVycm9yQ29kZSA9IGhldGgtPkluc3RhbmNlLT5ETUFTUjsKKyAgICAgICAgLyogUmV0dXJuIGZ1bmN0aW9uIHN0YXR1cyAqLworICAgICAgICByZXR1cm4gSEFMX0VSUk9SOwogICAgICAgfQotICAgICAgCi0gICAgICAvKiBQcm9ncmFtIHNpemUgKi8KLSAgICAgIGhldGgtPlR4RGVzYy0+Q29udHJvbEJ1ZmZlclNpemUgPSAoRVRIX1RYX0JVRl9TSVpFICYgRVRIX0RNQVRYREVTQ19UQlMxKTsKLSAgICAgIAotICAgICAgaWYgKGkgPT0gKGJ1ZmNvdW50LTFVKSkKKworICAgICAgLyogQ2hlY2sgZm9yIHRoZSBUaW1lb3V0ICovCisgICAgICBpZiAoVGltZW91dCAhPSBIQUxfTUFYX0RFTEFZKQogICAgICAgewotICAgICAgICAvKiBTZXR0aW5nIHRoZSBsYXN0IHNlZ21lbnQgYml0ICovCi0gICAgICAgIGhldGgtPlR4RGVzYy0+U3RhdHVzIHw9IEVUSF9ETUFUWERFU0NfTFM7Ci0gICAgICAgIHNpemUgPSBGcmFtZUxlbmd0aCAtIChidWZjb3VudC0xVSkqRVRIX1RYX0JVRl9TSVpFOwotICAgICAgICBoZXRoLT5UeERlc2MtPkNvbnRyb2xCdWZmZXJTaXplID0gKHNpemUgJiBFVEhfRE1BVFhERVNDX1RCUzEpOworICAgICAgICBpZiAoKChIQUxfR2V0VGljaygpIC0gdGlja3N0YXJ0KSA+IFRpbWVvdXQpIHx8IChUaW1lb3V0ID09IDBVKSkKKyAgICAgICAgeworICAgICAgICAgIGhldGgtPkVycm9yQ29kZSB8PSBIQUxfRVRIX0VSUk9SX1RJTUVPVVQ7CisgICAgICAgICAgLyogQ2xlYXIgVFggZGVzY3JpcHRvciBzbyB0aGF0IHdlIGNhbiBwcm9jZWVkICovCisgICAgICAgICAgZG1hdHhkZXNjLT5ERVNDMCA9IChFVEhfRE1BVFhERVNDX0ZTIHwgRVRIX0RNQVRYREVTQ19MUyk7CisgICAgICAgICAgcmV0dXJuIEhBTF9FUlJPUjsKKyAgICAgICAgfQogICAgICAgfQotICAgICAgCi0gICAgICAvKiBTZXQgT3duIGJpdCBvZiB0aGUgVHggZGVzY3JpcHRvciBTdGF0dXM6IGdpdmVzIHRoZSBidWZmZXIgYmFjayB0byBFVEhFUk5FVCBETUEgKi8KLSAgICAgIGhldGgtPlR4RGVzYy0+U3RhdHVzIHw9IEVUSF9ETUFUWERFU0NfT1dOOwotICAgICAgLyogcG9pbnQgdG8gbmV4dCBkZXNjcmlwdG9yICovCi0gICAgICBoZXRoLT5UeERlc2MgPSAoRVRIX0RNQURlc2NUeXBlRGVmICopKGhldGgtPlR4RGVzYy0+QnVmZmVyMk5leHREZXNjQWRkcik7CisgICAgfQorCisgICAgLyogUmV0dXJuIGZ1bmN0aW9uIHN0YXR1cyAqLworICAgIHJldHVybiBIQUxfT0s7CisgIH0KKyAgZWxzZQorICB7CisgICAgcmV0dXJuIEhBTF9FUlJPUjsKKyAgfQorfQorCisvKioKKyAgKiBAYnJpZWYgIFNlbmRzIGFuIEV0aGVybmV0IFBhY2tldCBpbiBpbnRlcnJ1cHQgbW9kZS4KKyAgKiBAcGFyYW0gIGhldGg6IHBvaW50ZXIgdG8gYSBFVEhfSGFuZGxlVHlwZURlZiBzdHJ1Y3R1cmUgdGhhdCBjb250YWlucworICAqICAgICAgICAgdGhlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gZm9yIEVUSEVSTkVUIG1vZHVsZQorICAqIEBwYXJhbSAgcFR4Q29uZmlnOiBIb2xkIHRoZSBjb25maWd1cmF0aW9uIG9mIHBhY2tldCB0byBiZSB0cmFuc21pdHRlZAorICAqIEByZXR2YWwgSEFMIHN0YXR1cworICAqLworSEFMX1N0YXR1c1R5cGVEZWYgSEFMX0VUSF9UcmFuc21pdF9JVChFVEhfSGFuZGxlVHlwZURlZiAqaGV0aCwgRVRIX1R4UGFja2V0Q29uZmlnICpwVHhDb25maWcpCit7CisgIGlmIChwVHhDb25maWcgPT0gTlVMTCkKKyAgeworICAgIGhldGgtPkVycm9yQ29kZSB8PSBIQUxfRVRIX0VSUk9SX1BBUkFNOworICAgIHJldHVybiBIQUxfRVJST1I7CisgIH0KKworICBpZiAoaGV0aC0+Z1N0YXRlID09IEhBTF9FVEhfU1RBVEVfU1RBUlRFRCkKKyAgeworICAgIC8qIFNhdmUgdGhlIHBhY2tldCBwb2ludGVyIHRvIHJlbGVhc2UuICAqLworICAgIGhldGgtPlR4RGVzY0xpc3QuQ3VycmVudFBhY2tldEFkZHJlc3MgPSAodWludDMyX3QgKilwVHhDb25maWctPnBEYXRhOworCisgICAgLyogQ29uZmlnIERNQSBUeCBkZXNjcmlwdG9yIGJ5IFR4IFBhY2tldCBpbmZvICovCisgICAgaWYgKEVUSF9QcmVwYXJlX1R4X0Rlc2NyaXB0b3JzKGhldGgsIHBUeENvbmZpZywgMSkgIT0gSEFMX0VUSF9FUlJPUl9OT05FKQorICAgIHsKKyAgICAgIGhldGgtPkVycm9yQ29kZSB8PSBIQUxfRVRIX0VSUk9SX0JVU1k7CisgICAgICByZXR1cm4gSEFMX0VSUk9SOworICAgIH0KKworICAgIC8qIEVuc3VyZSBjb21wbGV0aW9uIG9mIGRlc2NyaXB0b3IgcHJlcGFyYXRpb24gYmVmb3JlIHRyYW5zbWlzc2lvbiBzdGFydCAqLworICAgIF9fRFNCKCk7CisKKyAgICAvKiBJbmNyIGN1cnJlbnQgdHggZGVzYyBpbmRleCAqLworICAgIElOQ1JfVFhfREVTQ19JTkRFWChoZXRoLT5UeERlc2NMaXN0LkN1clR4RGVzYywgMVUpOworCisgICAgLyogU3RhcnQgdHJhbnNtaXNzaW9uICovCisgICAgLyogaXNzdWUgYSBwb2xsIGNvbW1hbmQgdG8gVHggRE1BIGJ5IHdyaXRpbmcgYWRkcmVzcyBvZiBuZXh0IGltbWVkaWF0ZSBmcmVlIGRlc2NyaXB0b3IgKi8KKyAgICBpZiAoKChoZXRoLT5JbnN0YW5jZSktPkRNQVNSICYgRVRIX0RNQVNSX1RCVVMpICE9ICh1aW50MzJfdClSRVNFVCkKKyAgICB7CisgICAgICAvKiBDbGVhciBUQlVTIEVUSEVSTkVUIERNQSBmbGFnICovCisgICAgICAoaGV0aC0+SW5zdGFuY2UpLT5ETUFTUiA9IEVUSF9ETUFTUl9UQlVTOworICAgICAgLyogUmVzdW1lIERNQSB0cmFuc21pc3Npb24qLworICAgICAgKGhldGgtPkluc3RhbmNlKS0+RE1BVFBEUiA9IDBVOworICAgIH0KKworICAgIHJldHVybiBIQUxfT0s7CisKKyAgfQorICBlbHNlCisgIHsKKyAgICByZXR1cm4gSEFMX0VSUk9SOworICB9Cit9CisKKy8qKgorICAqIEBicmllZiAgUmVhZCBhIHJlY2VpdmVkIHBhY2tldC4KKyAgKiBAcGFyYW0gIGhldGg6IHBvaW50ZXIgdG8gYSBFVEhfSGFuZGxlVHlwZURlZiBzdHJ1Y3R1cmUgdGhhdCBjb250YWlucworICAqICAgICAgICAgdGhlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gZm9yIEVUSEVSTkVUIG1vZHVsZQorICAqIEBwYXJhbSAgcEFwcEJ1ZmY6IFBvaW50ZXIgdG8gYW4gYXBwbGljYXRpb24gYnVmZmVyIHRvIHJlY2VpdmUgdGhlIHBhY2tldC4KKyAgKiBAcmV0dmFsIEhBTCBzdGF0dXMKKyAgKi8KK0hBTF9TdGF0dXNUeXBlRGVmIEhBTF9FVEhfUmVhZERhdGEoRVRIX0hhbmRsZVR5cGVEZWYgKmhldGgsIHZvaWQgKipwQXBwQnVmZikKK3sKKyAgdWludDMyX3QgZGVzY2lkeDsKKyAgRVRIX0RNQURlc2NUeXBlRGVmICpkbWFyeGRlc2M7CisgIHVpbnQzMl90IGRlc2NjbnQgPSAwVTsKKyAgdWludDMyX3QgZGVzY2NudG1heDsKKyAgdWludDMyX3QgYnVmZmxlbmd0aDsKKyAgdWludDhfdCByeGRhdGFyZWFkeSA9IDBVOworCisKKyAgaWYgKHBBcHBCdWZmID09IE5VTEwpCisgIHsKKyAgICBoZXRoLT5FcnJvckNvZGUgfD0gSEFMX0VUSF9FUlJPUl9QQVJBTTsKKyAgICByZXR1cm4gSEFMX0VSUk9SOworICB9CisKKyAgaWYgKGhldGgtPmdTdGF0ZSAhPSBIQUxfRVRIX1NUQVRFX1NUQVJURUQpCisgIHsKKyAgICByZXR1cm4gSEFMX0VSUk9SOworICB9CisKKyAgZGVzY2lkeCA9IGhldGgtPlJ4RGVzY0xpc3QuUnhEZXNjSWR4OworICBkbWFyeGRlc2MgPSAoRVRIX0RNQURlc2NUeXBlRGVmICopaGV0aC0+UnhEZXNjTGlzdC5SeERlc2NbZGVzY2lkeF07CisgIGRlc2NjbnRtYXggPSBFVEhfUlhfREVTQ19DTlQgLSBoZXRoLT5SeERlc2NMaXN0LlJ4QnVpbGREZXNjQ250OworCisgIC8qIENoZWNrIGlmIGRlc2NyaXB0b3IgaXMgbm90IG93bmVkIGJ5IERNQSAqLworICB3aGlsZSAoKFJFQURfQklUKGRtYXJ4ZGVzYy0+REVTQzAsIEVUSF9ETUFSWERFU0NfT1dOKSA9PSAodWludDMyX3QpUkVTRVQpICYmIChkZXNjY250IDwgZGVzY2NudG1heCkKKyAgICAgICAgICYmIChyeGRhdGFyZWFkeSA9PSAwVSkpCisgIHsKKyAgICBpZiAoUkVBRF9CSVQoZG1hcnhkZXNjLT5ERVNDMCwgIEVUSF9ETUFSWERFU0NfTFMpICAhPSAodWludDMyX3QpUkVTRVQpCisgICAgeworICAgICAgLyogR2V0IHRpbWVzdGFtcCBoaWdoICovCisgICAgICBoZXRoLT5SeERlc2NMaXN0LlRpbWVTdGFtcC5UaW1lU3RhbXBIaWdoID0gZG1hcnhkZXNjLT5ERVNDNjsKKyAgICAgIC8qIEdldCB0aW1lc3RhbXAgbG93ICovCisgICAgICBoZXRoLT5SeERlc2NMaXN0LlRpbWVTdGFtcC5UaW1lU3RhbXBMb3cgID0gZG1hcnhkZXNjLT5ERVNDNzsKKyAgICB9CisgICAgaWYgKChSRUFEX0JJVChkbWFyeGRlc2MtPkRFU0MwLCBFVEhfRE1BUlhERVNDX0ZTKSAhPSAodWludDMyX3QpUkVTRVQpIHx8IChoZXRoLT5SeERlc2NMaXN0LnBSeFN0YXJ0ICE9IE5VTEwpKQorICAgIHsKKyAgICAgIC8qIENoZWNrIGZpcnN0IGRlc2NyaXB0b3IgKi8KKyAgICAgIGlmIChSRUFEX0JJVChkbWFyeGRlc2MtPkRFU0MwLCBFVEhfRE1BUlhERVNDX0ZTKSAhPSAodWludDMyX3QpUkVTRVQpCisgICAgICB7CisgICAgICAgIGhldGgtPlJ4RGVzY0xpc3QuUnhEZXNjQ250ID0gMDsKKyAgICAgICAgaGV0aC0+UnhEZXNjTGlzdC5SeERhdGFMZW5ndGggPSAwOworICAgICAgfQorCisgICAgICAvKiBDaGVjayBpZiBsYXN0IGRlc2NyaXB0b3IgKi8KKyAgICAgIGJ1ZmZsZW5ndGggPSBoZXRoLT5Jbml0LlJ4QnVmZkxlbjsKKyAgICAgIGlmIChSRUFEX0JJVChkbWFyeGRlc2MtPkRFU0MwLCBFVEhfRE1BUlhERVNDX0xTKSAhPSAodWludDMyX3QpUkVTRVQpCisgICAgICB7CisgICAgICAgIC8qIEdldCB0aGUgRnJhbWUgTGVuZ3RoIG9mIHRoZSByZWNlaXZlZCBwYWNrZXQ6IHN1YnN0cnVjdCA0IGJ5dGVzIG9mIHRoZSBDUkMgKi8KKyAgICAgICAgYnVmZmxlbmd0aCA9ICgoZG1hcnhkZXNjLT5ERVNDMCAmIEVUSF9ETUFSWERFU0NfRkwpID4+IEVUSF9ETUFSWERFU0NfRlJBTUVMRU5HVEhTSElGVCkgLSA0VTsKKworICAgICAgICAvKiBTYXZlIExhc3QgZGVzY3JpcHRvciBpbmRleCAqLworICAgICAgICBoZXRoLT5SeERlc2NMaXN0LnBSeExhc3RSeERlc2MgPSBkbWFyeGRlc2MtPkRFU0MwOworCisgICAgICAgIC8qIFBhY2tldCByZWFkeSAqLworICAgICAgICByeGRhdGFyZWFkeSA9IDE7CisgICAgICB9CisKKyAgICAgIC8qIExpbmsgZGF0YSAqLworICAgICAgV1JJVEVfUkVHKGRtYXJ4ZGVzYy0+QmFja3VwQWRkcjAsIGRtYXJ4ZGVzYy0+REVTQzIpOworI2lmIChVU0VfSEFMX0VUSF9SRUdJU1RFUl9DQUxMQkFDS1MgPT0gMSkKKyAgICAgIC8qQ2FsbCByZWdpc3RlcmVkIExpbmsgY2FsbGJhY2sqLworICAgICAgaGV0aC0+cnhMaW5rQ2FsbGJhY2soJmhldGgtPlJ4RGVzY0xpc3QucFJ4U3RhcnQsICZoZXRoLT5SeERlc2NMaXN0LnBSeEVuZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICh1aW50OF90ICopZG1hcnhkZXNjLT5CYWNrdXBBZGRyMCwgYnVmZmxlbmd0aCk7CisjZWxzZQorICAgICAgLyogTGluayBjYWxsYmFjayAqLworICAgICAgSEFMX0VUSF9SeExpbmtDYWxsYmFjaygmaGV0aC0+UnhEZXNjTGlzdC5wUnhTdGFydCwgJmhldGgtPlJ4RGVzY0xpc3QucFJ4RW5kLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodWludDhfdCAqKWRtYXJ4ZGVzYy0+QmFja3VwQWRkcjAsICh1aW50MTZfdCkgYnVmZmxlbmd0aCk7CisjZW5kaWYgIC8qIFVTRV9IQUxfRVRIX1JFR0lTVEVSX0NBTExCQUNLUyAqLworICAgICAgaGV0aC0+UnhEZXNjTGlzdC5SeERlc2NDbnQrKzsKKyAgICAgIGhldGgtPlJ4RGVzY0xpc3QuUnhEYXRhTGVuZ3RoICs9IGJ1ZmZsZW5ndGg7CisKKyAgICAgIC8qIENsZWFyIGJ1ZmZlciBwb2ludGVyICovCisgICAgICBkbWFyeGRlc2MtPkJhY2t1cEFkZHIwID0gMDsKKyAgICB9CisKKyAgICAvKiBJbmNyZW1lbnQgY3VycmVudCByeCBkZXNjcmlwdG9yIGluZGV4ICovCisgICAgSU5DUl9SWF9ERVNDX0lOREVYKGRlc2NpZHgsIDFVKTsKKyAgICAvKiBHZXQgY3VycmVudCBkZXNjcmlwdG9yIGFkZHJlc3MgKi8KKyAgICBkbWFyeGRlc2MgPSAoRVRIX0RNQURlc2NUeXBlRGVmICopaGV0aC0+UnhEZXNjTGlzdC5SeERlc2NbZGVzY2lkeF07CisgICAgZGVzY2NudCsrOworICB9CisKKyAgaGV0aC0+UnhEZXNjTGlzdC5SeEJ1aWxkRGVzY0NudCArPSBkZXNjY250OworICBpZiAoKGhldGgtPlJ4RGVzY0xpc3QuUnhCdWlsZERlc2NDbnQpICE9IDBVKQorICB7CisgICAgLyogVXBkYXRlIERlc2NyaXB0b3JzICovCisgICAgRVRIX1VwZGF0ZURlc2NyaXB0b3IoaGV0aCk7CisgIH0KKworICBoZXRoLT5SeERlc2NMaXN0LlJ4RGVzY0lkeCA9IGRlc2NpZHg7CisKKyAgaWYgKHJ4ZGF0YXJlYWR5ID09IDFVKQorICB7CisgICAgLyogUmV0dXJuIHJlY2VpdmVkIHBhY2tldCAqLworICAgICpwQXBwQnVmZiA9IGhldGgtPlJ4RGVzY0xpc3QucFJ4U3RhcnQ7CisgICAgLyogUmVzZXQgZmlyc3QgZWxlbWVudCAqLworICAgIGhldGgtPlJ4RGVzY0xpc3QucFJ4U3RhcnQgPSBOVUxMOworCisgICAgcmV0dXJuIEhBTF9PSzsKKyAgfQorCisgIC8qIFBhY2tldCBub3QgcmVhZHkgKi8KKyAgcmV0dXJuIEhBTF9FUlJPUjsKK30KKworLyoqCisgICogQGJyaWVmICBUaGlzIGZ1bmN0aW9uIGdpdmVzIGJhY2sgUnggRGVzYyBvZiB0aGUgbGFzdCByZWNlaXZlZCBQYWNrZXQKKyAgKiAgICAgICAgIHRvIHRoZSBETUEsIHNvIEVUSCBETUEgd2lsbCBiZSBhYmxlIHRvIHVzZSB0aGVzZSBkZXNjcmlwdG9ycworICAqICAgICAgICAgdG8gcmVjZWl2ZSBuZXh0IFBhY2tldHMuCisgICogQHBhcmFtICBoZXRoOiBwb2ludGVyIHRvIGEgRVRIX0hhbmRsZVR5cGVEZWYgc3RydWN0dXJlIHRoYXQgY29udGFpbnMKKyAgKiAgICAgICAgIHRoZSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIGZvciBFVEhFUk5FVCBtb2R1bGUKKyAgKiBAcmV0dmFsIEhBTCBzdGF0dXMKKyAgKi8KK3N0YXRpYyB2b2lkIEVUSF9VcGRhdGVEZXNjcmlwdG9yKEVUSF9IYW5kbGVUeXBlRGVmICpoZXRoKQoreworICB1aW50MzJfdCBkZXNjaWR4OworICB1aW50MzJfdCBkZXNjY291bnQ7CisgIEVUSF9ETUFEZXNjVHlwZURlZiAqZG1hcnhkZXNjOworICB1aW50OF90ICpidWZmID0gTlVMTDsKKyAgdWludDhfdCBhbGxvY1N0YXR1cyA9IDFVOworCisgIGRlc2NpZHggPSBoZXRoLT5SeERlc2NMaXN0LlJ4QnVpbGREZXNjSWR4OworICBkbWFyeGRlc2MgPSAoRVRIX0RNQURlc2NUeXBlRGVmICopaGV0aC0+UnhEZXNjTGlzdC5SeERlc2NbZGVzY2lkeF07CisgIGRlc2Njb3VudCA9IGhldGgtPlJ4RGVzY0xpc3QuUnhCdWlsZERlc2NDbnQ7CisKKyAgd2hpbGUgKChkZXNjY291bnQgPiAwVSkgJiYgKGFsbG9jU3RhdHVzICE9IDBVKSkKKyAgeworICAgIC8qIENoZWNrIGlmIGEgYnVmZmVyJ3MgYXR0YWNoZWQgdGhlIGRlc2NyaXB0b3IgKi8KKyAgICBpZiAoUkVBRF9SRUcoZG1hcnhkZXNjLT5CYWNrdXBBZGRyMCkgPT0gMFUpCisgICAgeworICAgICAgLyogR2V0IGEgbmV3IGJ1ZmZlci4gKi8KKyNpZiAoVVNFX0hBTF9FVEhfUkVHSVNURVJfQ0FMTEJBQ0tTID09IDEpCisgICAgICAvKkNhbGwgcmVnaXN0ZXJlZCBBbGxvY2F0ZSBjYWxsYmFjayovCisgICAgICBoZXRoLT5yeEFsbG9jYXRlQ2FsbGJhY2soJmJ1ZmYpOworI2Vsc2UKKyAgICAgIC8qIEFsbG9jYXRlIGNhbGxiYWNrICovCisgICAgICBIQUxfRVRIX1J4QWxsb2NhdGVDYWxsYmFjaygmYnVmZik7CisjZW5kaWYgIC8qIFVTRV9IQUxfRVRIX1JFR0lTVEVSX0NBTExCQUNLUyAqLworICAgICAgaWYgKGJ1ZmYgPT0gTlVMTCkKKyAgICAgIHsKKyAgICAgICAgYWxsb2NTdGF0dXMgPSAwVTsKKyAgICAgIH0KKyAgICAgIGVsc2UKKyAgICAgIHsKKyAgICAgICAgV1JJVEVfUkVHKGRtYXJ4ZGVzYy0+QmFja3VwQWRkcjAsICh1aW50MzJfdClidWZmKTsKKyAgICAgICAgV1JJVEVfUkVHKGRtYXJ4ZGVzYy0+REVTQzIsICh1aW50MzJfdClidWZmKTsKKyAgICAgIH0KKyAgICB9CisKKyAgICBpZiAoYWxsb2NTdGF0dXMgIT0gMFUpCisgICAgeworICAgICAgLyogRW5zdXJlIHJlc3Qgb2YgZGVzY3JpcHRvciBpcyB3cml0dGVuIHRvIFJBTSBiZWZvcmUgdGhlIE9XTiBiaXQgKi8KKyAgICAgIF9fRE1CKCk7CisKKyAgICAgIFdSSVRFX1JFRyhkbWFyeGRlc2MtPkRFU0MwLCBFVEhfRE1BUlhERVNDX09XTik7CisKKyAgICAgIGlmIChoZXRoLT5SeERlc2NMaXN0Lkl0TW9kZSA9PSAwVSkKKyAgICAgIHsKKyAgICAgICAgV1JJVEVfUkVHKGRtYXJ4ZGVzYy0+REVTQzEsIEVUSF9ETUFSWERFU0NfRElDIHwgMTAwMFUgfCBFVEhfRE1BUlhERVNDX1JDSCk7CisgICAgICB9CisgICAgICBlbHNlCisgICAgICB7CisgICAgICAgIFdSSVRFX1JFRyhkbWFyeGRlc2MtPkRFU0MxLCAxMDAwVSB8IEVUSF9ETUFSWERFU0NfUkNIKTsKKyAgICAgIH0KKworICAgICAgLyogSW5jcmVtZW50IGN1cnJlbnQgcnggZGVzY3JpcHRvciBpbmRleCAqLworICAgICAgSU5DUl9SWF9ERVNDX0lOREVYKGRlc2NpZHgsIDFVKTsKKyAgICAgIC8qIEdldCBjdXJyZW50IGRlc2NyaXB0b3IgYWRkcmVzcyAqLworICAgICAgZG1hcnhkZXNjID0gKEVUSF9ETUFEZXNjVHlwZURlZiAqKWhldGgtPlJ4RGVzY0xpc3QuUnhEZXNjW2Rlc2NpZHhdOworICAgICAgZGVzY2NvdW50LS07CiAgICAgfQogICB9Ci0gIAotICAvKiBXaGVuIFR4IEJ1ZmZlciB1bmF2YWlsYWJsZSBmbGFnIGlzIHNldDogY2xlYXIgaXQgYW5kIHJlc3VtZSB0cmFuc21pc3Npb24gKi8KLSAgaWYgKCgoaGV0aC0+SW5zdGFuY2UpLT5ETUFTUiAmIEVUSF9ETUFTUl9UQlVTKSAhPSAodWludDMyX3QpUkVTRVQpCisKKyAgaWYgKGhldGgtPlJ4RGVzY0xpc3QuUnhCdWlsZERlc2NDbnQgIT0gZGVzY2NvdW50KQogICB7Ci0gICAgLyogQ2xlYXIgVEJVUyBFVEhFUk5FVCBETUEgZmxhZyAqLwotICAgIChoZXRoLT5JbnN0YW5jZSktPkRNQVNSID0gRVRIX0RNQVNSX1RCVVM7Ci0gICAgLyogUmVzdW1lIERNQSB0cmFuc21pc3Npb24qLwotICAgIChoZXRoLT5JbnN0YW5jZSktPkRNQVRQRFIgPSAwVTsKKyAgICAvKiBTZXQgdGhlIFRhaWwgcG9pbnRlciBhZGRyZXNzICovCisgICAgV1JJVEVfUkVHKGhldGgtPkluc3RhbmNlLT5ETUFSUERSLCAwKTsKKworICAgIGhldGgtPlJ4RGVzY0xpc3QuUnhCdWlsZERlc2NJZHggPSBkZXNjaWR4OworICAgIGhldGgtPlJ4RGVzY0xpc3QuUnhCdWlsZERlc2NDbnQgPSBkZXNjY291bnQ7CiAgIH0KLSAgCi0gIC8qIFNldCBFVEggSEFMIFN0YXRlIHRvIFJlYWR5ICovCi0gIGhldGgtPlN0YXRlID0gSEFMX0VUSF9TVEFURV9SRUFEWTsKLSAgCi0gIC8qIFByb2Nlc3MgVW5sb2NrZWQgKi8KLSAgX19IQUxfVU5MT0NLKGhldGgpOwotICAKK30KKworLyoqCisgICogQGJyaWVmICBSZWdpc3RlciB0aGUgUnggYWxsb2MgY2FsbGJhY2suCisgICogQHBhcmFtICBoZXRoOiBwb2ludGVyIHRvIGEgRVRIX0hhbmRsZVR5cGVEZWYgc3RydWN0dXJlIHRoYXQgY29udGFpbnMKKyAgKiAgICAgICAgIHRoZSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIGZvciBFVEhFUk5FVCBtb2R1bGUKKyAgKiBAcGFyYW0gIHJ4QWxsb2NhdGVDYWxsYmFjazogcG9pbnRlciB0byBmdW5jdGlvbiB0byBhbGxvYyBidWZmZXIKKyAgKiBAcmV0dmFsIEhBTCBzdGF0dXMKKyAgKi8KK0hBTF9TdGF0dXNUeXBlRGVmIEhBTF9FVEhfUmVnaXN0ZXJSeEFsbG9jYXRlQ2FsbGJhY2soRVRIX0hhbmRsZVR5cGVEZWYgKmhldGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBFVEhfcnhBbGxvY2F0ZUNhbGxiYWNrVHlwZURlZiByeEFsbG9jYXRlQ2FsbGJhY2spCit7CisgIGlmIChyeEFsbG9jYXRlQ2FsbGJhY2sgPT0gTlVMTCkKKyAgeworICAgIC8qIE5vIGJ1ZmZlciB0byBzYXZlICovCisgICAgcmV0dXJuIEhBTF9FUlJPUjsKKyAgfQorCisgIC8qIFNldCBmdW5jdGlvbiB0byBhbGxvY2F0ZSBidWZmZXIgKi8KKyAgaGV0aC0+cnhBbGxvY2F0ZUNhbGxiYWNrID0gcnhBbGxvY2F0ZUNhbGxiYWNrOworCisgIHJldHVybiBIQUxfT0s7Cit9CisKKy8qKgorICAqIEBicmllZiAgVW5yZWdpc3RlciB0aGUgUnggYWxsb2MgY2FsbGJhY2suCisgICogQHBhcmFtICBoZXRoOiBwb2ludGVyIHRvIGEgRVRIX0hhbmRsZVR5cGVEZWYgc3RydWN0dXJlIHRoYXQgY29udGFpbnMKKyAgKiAgICAgICAgIHRoZSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIGZvciBFVEhFUk5FVCBtb2R1bGUKKyAgKiBAcmV0dmFsIEhBTCBzdGF0dXMKKyAgKi8KK0hBTF9TdGF0dXNUeXBlRGVmIEhBTF9FVEhfVW5SZWdpc3RlclJ4QWxsb2NhdGVDYWxsYmFjayhFVEhfSGFuZGxlVHlwZURlZiAqaGV0aCkKK3sKKyAgLyogU2V0IGZ1bmN0aW9uIHRvIGFsbG9jYXRlIGJ1ZmZlciAqLworICBoZXRoLT5yeEFsbG9jYXRlQ2FsbGJhY2sgPSBIQUxfRVRIX1J4QWxsb2NhdGVDYWxsYmFjazsKKworICByZXR1cm4gSEFMX09LOworfQorCisvKioKKyAgKiBAYnJpZWYgIFJ4IEFsbG9jYXRlIGNhbGxiYWNrLgorICAqIEBwYXJhbSAgYnVmZjogcG9pbnRlciB0byBhbGxvY2F0ZWQgYnVmZmVyCisgICogQHJldHZhbCBOb25lCisgICovCitfX3dlYWsgdm9pZCBIQUxfRVRIX1J4QWxsb2NhdGVDYWxsYmFjayh1aW50OF90ICoqYnVmZikKK3sKKyAgLyogUHJldmVudCB1bnVzZWQgYXJndW1lbnQocykgY29tcGlsYXRpb24gd2FybmluZyAqLworICBVTlVTRUQoYnVmZik7CisgIC8qIE5PVEUgOiBUaGlzIGZ1bmN0aW9uIFNob3VsZCBub3QgYmUgbW9kaWZpZWQsIHdoZW4gdGhlIGNhbGxiYWNrIGlzIG5lZWRlZCwKKyAgdGhlIEhBTF9FVEhfUnhBbGxvY2F0ZUNhbGxiYWNrIGNvdWxkIGJlIGltcGxlbWVudGVkIGluIHRoZSB1c2VyIGZpbGUKKyAgKi8KK30KKworLyoqCisgICogQGJyaWVmICBSeCBMaW5rIGNhbGxiYWNrLgorICAqIEBwYXJhbSAgcFN0YXJ0OiBwb2ludGVyIHRvIHBhY2tldCBzdGFydAorICAqIEBwYXJhbSAgcFN0YXJ0OiBwb2ludGVyIHRvIHBhY2tldCBlbmQKKyAgKiBAcGFyYW0gIGJ1ZmY6IHBvaW50ZXIgdG8gcmVjZWl2ZWQgZGF0YQorICAqIEBwYXJhbSAgTGVuZ3RoOiByZWNlaXZlZCBkYXRhIGxlbmd0aAorICAqIEByZXR2YWwgTm9uZQorICAqLworX193ZWFrIHZvaWQgSEFMX0VUSF9SeExpbmtDYWxsYmFjayh2b2lkICoqcFN0YXJ0LCB2b2lkICoqcEVuZCwgdWludDhfdCAqYnVmZiwgdWludDE2X3QgTGVuZ3RoKQoreworICAvKiBQcmV2ZW50IHVudXNlZCBhcmd1bWVudChzKSBjb21waWxhdGlvbiB3YXJuaW5nICovCisgIFVOVVNFRChwU3RhcnQpOworICBVTlVTRUQocEVuZCk7CisgIFVOVVNFRChidWZmKTsKKyAgVU5VU0VEKExlbmd0aCk7CisgIC8qIE5PVEUgOiBUaGlzIGZ1bmN0aW9uIFNob3VsZCBub3QgYmUgbW9kaWZpZWQsIHdoZW4gdGhlIGNhbGxiYWNrIGlzIG5lZWRlZCwKKyAgdGhlIEhBTF9FVEhfUnhMaW5rQ2FsbGJhY2sgY291bGQgYmUgaW1wbGVtZW50ZWQgaW4gdGhlIHVzZXIgZmlsZQorICAqLworfQorCisvKioKKyAgKiBAYnJpZWYgIFNldCB0aGUgUnggbGluayBkYXRhIGZ1bmN0aW9uLgorICAqIEBwYXJhbSAgaGV0aDogcG9pbnRlciB0byBhIEVUSF9IYW5kbGVUeXBlRGVmIHN0cnVjdHVyZSB0aGF0IGNvbnRhaW5zCisgICogICAgICAgICB0aGUgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbiBmb3IgRVRIRVJORVQgbW9kdWxlCisgICogQHBhcmFtICByeExpbmtDYWxsYmFjazogcG9pbnRlciB0byBmdW5jdGlvbiB0byBsaW5rIGRhdGEKKyAgKiBAcmV0dmFsIEhBTCBzdGF0dXMKKyAgKi8KK0hBTF9TdGF0dXNUeXBlRGVmIEhBTF9FVEhfUmVnaXN0ZXJSeExpbmtDYWxsYmFjayhFVEhfSGFuZGxlVHlwZURlZiAqaGV0aCwgcEVUSF9yeExpbmtDYWxsYmFja1R5cGVEZWYgcnhMaW5rQ2FsbGJhY2spCit7CisgIGlmIChyeExpbmtDYWxsYmFjayA9PSBOVUxMKQorICB7CisgICAgLyogTm8gYnVmZmVyIHRvIHNhdmUgKi8KKyAgICByZXR1cm4gSEFMX0VSUk9SOworICB9CisKKyAgLyogU2V0IGZ1bmN0aW9uIHRvIGxpbmsgZGF0YSAqLworICBoZXRoLT5yeExpbmtDYWxsYmFjayA9IHJ4TGlua0NhbGxiYWNrOworCisgIHJldHVybiBIQUxfT0s7Cit9CisKKy8qKgorICAqIEBicmllZiAgVW5yZWdpc3RlciB0aGUgUnggbGluayBjYWxsYmFjay4KKyAgKiBAcGFyYW0gIGhldGg6IHBvaW50ZXIgdG8gYSBFVEhfSGFuZGxlVHlwZURlZiBzdHJ1Y3R1cmUgdGhhdCBjb250YWlucworICAqICAgICAgICAgdGhlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gZm9yIEVUSEVSTkVUIG1vZHVsZQorICAqIEByZXR2YWwgSEFMIHN0YXR1cworICAqLworSEFMX1N0YXR1c1R5cGVEZWYgSEFMX0VUSF9VblJlZ2lzdGVyUnhMaW5rQ2FsbGJhY2soRVRIX0hhbmRsZVR5cGVEZWYgKmhldGgpCit7CisgIC8qIFNldCBmdW5jdGlvbiB0byBhbGxvY2F0ZSBidWZmZXIgKi8KKyAgaGV0aC0+cnhMaW5rQ2FsbGJhY2sgPSBIQUxfRVRIX1J4TGlua0NhbGxiYWNrOworCisgIHJldHVybiBIQUxfT0s7Cit9CisKKy8qKgorICAqIEBicmllZiAgR2V0IHRoZSBlcnJvciBzdGF0ZSBvZiB0aGUgbGFzdCByZWNlaXZlZCBwYWNrZXQuCisgICogQHBhcmFtICBoZXRoOiBwb2ludGVyIHRvIGEgRVRIX0hhbmRsZVR5cGVEZWYgc3RydWN0dXJlIHRoYXQgY29udGFpbnMKKyAgKiAgICAgICAgIHRoZSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIGZvciBFVEhFUk5FVCBtb2R1bGUKKyAgKiBAcGFyYW0gIHBFcnJvckNvZGU6IHBvaW50ZXIgdG8gdWludDMyX3QgdG8gaG9sZCB0aGUgZXJyb3IgY29kZQorICAqIEByZXR2YWwgSEFMIHN0YXR1cworICAqLworSEFMX1N0YXR1c1R5cGVEZWYgSEFMX0VUSF9HZXRSeERhdGFFcnJvckNvZGUoRVRIX0hhbmRsZVR5cGVEZWYgKmhldGgsIHVpbnQzMl90ICpwRXJyb3JDb2RlKQoreworICAvKiBHZXQgZXJyb3IgYml0cy4gKi8KKyAgKnBFcnJvckNvZGUgPSBSRUFEX0JJVChoZXRoLT5SeERlc2NMaXN0LnBSeExhc3RSeERlc2MsIEVUSF9ETUFSWERFU0NfRVJST1JTX01BU0spOworCisgIHJldHVybiBIQUxfT0s7Cit9CisKKy8qKgorICAqIEBicmllZiAgU2V0IHRoZSBUeCBmcmVlIGZ1bmN0aW9uLgorICAqIEBwYXJhbSAgaGV0aDogcG9pbnRlciB0byBhIEVUSF9IYW5kbGVUeXBlRGVmIHN0cnVjdHVyZSB0aGF0IGNvbnRhaW5zCisgICogICAgICAgICB0aGUgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbiBmb3IgRVRIRVJORVQgbW9kdWxlCisgICogQHBhcmFtICB0eEZyZWVDYWxsYmFjazogcG9pbnRlciB0byBmdW5jdGlvbiB0byByZWxlYXNlIHRoZSBwYWNrZXQKKyAgKiBAcmV0dmFsIEhBTCBzdGF0dXMKKyAgKi8KK0hBTF9TdGF0dXNUeXBlRGVmIEhBTF9FVEhfUmVnaXN0ZXJUeEZyZWVDYWxsYmFjayhFVEhfSGFuZGxlVHlwZURlZiAqaGV0aCwgcEVUSF90eEZyZWVDYWxsYmFja1R5cGVEZWYgdHhGcmVlQ2FsbGJhY2spCit7CisgIGlmICh0eEZyZWVDYWxsYmFjayA9PSBOVUxMKQorICB7CisgICAgLyogTm8gYnVmZmVyIHRvIHNhdmUgKi8KKyAgICByZXR1cm4gSEFMX0VSUk9SOworICB9CisKKyAgLyogU2V0IGZ1bmN0aW9uIHRvIGZyZWUgdHJhbnNtbWl0dGVkIHBhY2tldCAqLworICBoZXRoLT50eEZyZWVDYWxsYmFjayA9IHR4RnJlZUNhbGxiYWNrOworCisgIHJldHVybiBIQUxfT0s7Cit9CisKKy8qKgorICAqIEBicmllZiAgVW5yZWdpc3RlciB0aGUgVHggZnJlZSBjYWxsYmFjay4KKyAgKiBAcGFyYW0gIGhldGg6IHBvaW50ZXIgdG8gYSBFVEhfSGFuZGxlVHlwZURlZiBzdHJ1Y3R1cmUgdGhhdCBjb250YWlucworICAqICAgICAgICAgdGhlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gZm9yIEVUSEVSTkVUIG1vZHVsZQorICAqIEByZXR2YWwgSEFMIHN0YXR1cworICAqLworSEFMX1N0YXR1c1R5cGVEZWYgSEFMX0VUSF9VblJlZ2lzdGVyVHhGcmVlQ2FsbGJhY2soRVRIX0hhbmRsZVR5cGVEZWYgKmhldGgpCit7CisgIC8qIFNldCBmdW5jdGlvbiB0byBhbGxvY2F0ZSBidWZmZXIgKi8KKyAgaGV0aC0+dHhGcmVlQ2FsbGJhY2sgPSBIQUxfRVRIX1R4RnJlZUNhbGxiYWNrOworCisgIHJldHVybiBIQUxfT0s7Cit9CisKKy8qKgorICAqIEBicmllZiAgVHggRnJlZSBjYWxsYmFjay4KKyAgKiBAcGFyYW0gIGJ1ZmY6IHBvaW50ZXIgdG8gYnVmZmVyIHRvIGZyZWUKKyAgKiBAcmV0dmFsIE5vbmUKKyAgKi8KK19fd2VhayB2b2lkIEhBTF9FVEhfVHhGcmVlQ2FsbGJhY2sodWludDMyX3QgKmJ1ZmYpCit7CisgIC8qIFByZXZlbnQgdW51c2VkIGFyZ3VtZW50KHMpIGNvbXBpbGF0aW9uIHdhcm5pbmcgKi8KKyAgVU5VU0VEKGJ1ZmYpOworICAvKiBOT1RFIDogVGhpcyBmdW5jdGlvbiBTaG91bGQgbm90IGJlIG1vZGlmaWVkLCB3aGVuIHRoZSBjYWxsYmFjayBpcyBuZWVkZWQsCisgIHRoZSBIQUxfRVRIX1R4RnJlZUNhbGxiYWNrIGNvdWxkIGJlIGltcGxlbWVudGVkIGluIHRoZSB1c2VyIGZpbGUKKyAgKi8KK30KKworLyoqCisgICogQGJyaWVmICBSZWxlYXNlIHRyYW5zbWl0dGVkIFR4IHBhY2tldHMuCisgICogQHBhcmFtICBoZXRoOiBwb2ludGVyIHRvIGEgRVRIX0hhbmRsZVR5cGVEZWYgc3RydWN0dXJlIHRoYXQgY29udGFpbnMKKyAgKiAgICAgICAgIHRoZSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIGZvciBFVEhFUk5FVCBtb2R1bGUKKyAgKiBAcmV0dmFsIEhBTCBzdGF0dXMKKyAgKi8KK0hBTF9TdGF0dXNUeXBlRGVmIEhBTF9FVEhfUmVsZWFzZVR4UGFja2V0KEVUSF9IYW5kbGVUeXBlRGVmICpoZXRoKQoreworICBFVEhfVHhEZXNjTGlzdFR5cGVEZWYgKmRtYXR4ZGVzY2xpc3QgPSAmaGV0aC0+VHhEZXNjTGlzdDsKKyAgdWludDMyX3QgbnVtT2ZCdWYgPSAgZG1hdHhkZXNjbGlzdC0+QnVmZmVyc0luVXNlOworICB1aW50MzJfdCBpZHggPSAgICAgICBkbWF0eGRlc2NsaXN0LT5yZWxlYXNlSW5kZXg7CisgIHVpbnQ4X3QgcGt0VHhTdGF0dXMgPSAxVTsKKyAgdWludDhfdCBwa3RJblVzZTsKKyNpZmRlZiBIQUxfRVRIX1VTRV9QVFAKKyAgRVRIX1RpbWVTdGFtcFR5cGVEZWYgKnRpbWVzdGFtcCA9ICZoZXRoLT5UeFRpbWVzdGFtcDsKKyNlbmRpZiAvKiBIQUxfRVRIX1VTRV9QVFAgKi8KKworICAvKiBMb29wIHRocm91Z2ggYnVmZmVycyBpbiB1c2UuICAqLworICB3aGlsZSAoKG51bU9mQnVmICE9IDBVKSAmJiAocGt0VHhTdGF0dXMgIT0gMFUpKQorICB7CisgICAgcGt0SW5Vc2UgPSAxVTsKKyAgICBudW1PZkJ1Zi0tOworICAgIC8qIElmIG5vIHBhY2tldCwganVzdCBleGFtaW5lIHRoZSBuZXh0IHBhY2tldC4gICovCisgICAgaWYgKGRtYXR4ZGVzY2xpc3QtPlBhY2tldEFkZHJlc3NbaWR4XSA9PSBOVUxMKQorICAgIHsKKyAgICAgIC8qIE5vIHBhY2tldCBpbiB1c2UsIHNraXAgdG8gbmV4dC4gICovCisgICAgICBpZHggPSAoaWR4ICsgMVUpICYgKEVUSF9UWF9ERVNDX0NOVCAtIDFVKTsKKyAgICAgIHBrdEluVXNlID0gMFU7CisgICAgfQorCisgICAgaWYgKHBrdEluVXNlICE9IDBVKQorICAgIHsKKyAgICAgIC8qIERldGVybWluZSBpZiB0aGUgcGFja2V0IGhhcyBiZWVuIHRyYW5zbWl0dGVkLiAgKi8KKyAgICAgIGlmICgoaGV0aC0+SW5pdC5UeERlc2NbaWR4XS5ERVNDMCAmIEVUSF9ETUFUWERFU0NfT1dOKSA9PSAwVSkKKyAgICAgIHsKKyNpZmRlZiBIQUxfRVRIX1VTRV9QVFAKKyAgICAgICAgLyogR2V0IHRpbWVzdGFtcCBsb3cgKi8KKyAgICAgICAgdGltZXN0YW1wLT5UaW1lU3RhbXBMb3cgPSBoZXRoLT5Jbml0LlR4RGVzY1tpZHhdLkRFU0M2OworICAgICAgICAvKiBHZXQgdGltZXN0YW1wIGhpZ2ggKi8KKyAgICAgICAgdGltZXN0YW1wLT5UaW1lU3RhbXBIaWdoID0gaGV0aC0+SW5pdC5UeERlc2NbaWR4XS5ERVNDNzsKKyNlbmRpZiAvKiBIQUxfRVRIX1VTRV9QVFAgKi8KKworI2lmIChVU0VfSEFMX0VUSF9SRUdJU1RFUl9DQUxMQkFDS1MgPT0gMSkKKyAgICAgICAgLypDYWxsIHJlZ2lzdGVyZWQgY2FsbGJhY2tzKi8KKyNpZmRlZiBIQUxfRVRIX1VTRV9QVFAKKyAgICAgICAgLyogSGFuZGxlIFB0cCAgKi8KKyAgICAgICAgaGV0aC0+dHhQdHBDYWxsYmFjayhkbWF0eGRlc2NsaXN0LT5QYWNrZXRBZGRyZXNzW2lkeF0sIHRpbWVzdGFtcCk7CisjZW5kaWYgIC8qIEhBTF9FVEhfVVNFX1BUUCAqLworICAgICAgICAvKiBSZWxlYXNlIHRoZSBwYWNrZXQuICAqLworICAgICAgICBoZXRoLT50eEZyZWVDYWxsYmFjayhkbWF0eGRlc2NsaXN0LT5QYWNrZXRBZGRyZXNzW2lkeF0pOworI2Vsc2UKKyAgICAgICAgLyogQ2FsbCBjYWxsYmFja3MgKi8KKyNpZmRlZiBIQUxfRVRIX1VTRV9QVFAKKyAgICAgICAgLyogSGFuZGxlIFB0cCAgKi8KKyAgICAgICAgSEFMX0VUSF9UeFB0cENhbGxiYWNrKGRtYXR4ZGVzY2xpc3QtPlBhY2tldEFkZHJlc3NbaWR4XSwgdGltZXN0YW1wKTsKKyNlbmRpZiAgLyogSEFMX0VUSF9VU0VfUFRQICovCisgICAgICAgIC8qIFJlbGVhc2UgdGhlIHBhY2tldC4gICovCisgICAgICAgIEhBTF9FVEhfVHhGcmVlQ2FsbGJhY2soZG1hdHhkZXNjbGlzdC0+UGFja2V0QWRkcmVzc1tpZHhdKTsKKyNlbmRpZiAgLyogVVNFX0hBTF9FVEhfUkVHSVNURVJfQ0FMTEJBQ0tTICovCisKKyAgICAgICAgLyogQ2xlYXIgdGhlIGVudHJ5IGluIHRoZSBpbi11c2UgYXJyYXkuICAqLworICAgICAgICBkbWF0eGRlc2NsaXN0LT5QYWNrZXRBZGRyZXNzW2lkeF0gPSBOVUxMOworCisgICAgICAgIC8qIFVwZGF0ZSB0aGUgdHJhbnNtaXQgcmVsZXNhZSBpbmRleCBhbmQgbnVtYmVyIG9mIGJ1ZmZlcnMgaW4gdXNlLiAgKi8KKyAgICAgICAgaWR4ID0gKGlkeCArIDFVKSAmIChFVEhfVFhfREVTQ19DTlQgLSAxVSk7CisgICAgICAgIGRtYXR4ZGVzY2xpc3QtPkJ1ZmZlcnNJblVzZSA9IG51bU9mQnVmOworICAgICAgICBkbWF0eGRlc2NsaXN0LT5yZWxlYXNlSW5kZXggPSBpZHg7CisgICAgICB9CisgICAgICBlbHNlCisgICAgICB7CisgICAgICAgIC8qIEdldCBvdXQgb2YgdGhlIGxvb3AhICAqLworICAgICAgICBwa3RUeFN0YXR1cyA9IDBVOworICAgICAgfQorICAgIH0KKyAgfQorICByZXR1cm4gSEFMX09LOworfQorCisjaWZkZWYgSEFMX0VUSF9VU0VfUFRQCisvKioKKyAgKiBAYnJpZWYgIFNldCB0aGUgRXRoZXJuZXQgUFRQIGNvbmZpZ3VyYXRpb24uCisgICogQHBhcmFtICBoZXRoOiBwb2ludGVyIHRvIGEgRVRIX0hhbmRsZVR5cGVEZWYgc3RydWN0dXJlIHRoYXQgY29udGFpbnMKKyAgKiAgICAgICAgIHRoZSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIGZvciBFVEhFUk5FVCBtb2R1bGUKKyAgKiBAcGFyYW0gIHB0cGNvbmZpZzogcG9pbnRlciB0byBhIEVUSF9QVFBfQ29uZmlnVHlwZURlZiBzdHJ1Y3R1cmUgdGhhdCBjb250YWlucworICAqICAgICAgICAgdGhlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gZm9yIFBUUAorICAqIEByZXR2YWwgSEFMIHN0YXR1cworICAqLworSEFMX1N0YXR1c1R5cGVEZWYgSEFMX0VUSF9QVFBfU2V0Q29uZmlnKEVUSF9IYW5kbGVUeXBlRGVmICpoZXRoLCBFVEhfUFRQX0NvbmZpZ1R5cGVEZWYgKnB0cGNvbmZpZykKK3sKKyAgdWludDMyX3QgdG1wVFNDUjsKKyAgRVRIX1RpbWVUeXBlRGVmIHRpbWU7CisKKyAgaWYgKHB0cGNvbmZpZyA9PSBOVUxMKQorICB7CisgICAgcmV0dXJuIEhBTF9FUlJPUjsKKyAgfQorCisgIHRtcFRTQ1IgPSBwdHBjb25maWctPlRpbWVzdGFtcCB8CisgICAgICAgICAgICAoKHVpbnQzMl90KXB0cGNvbmZpZy0+VGltZXN0YW1wVXBkYXRlIDw8IEVUSF9QVFBUU0NSX1RTRkNVX1BvcykgfAorICAgICAgICAgICAgKCh1aW50MzJfdClwdHBjb25maWctPlRpbWVzdGFtcEFsbCA8PCBFVEhfUFRQVFNDUl9UU1NBUkZFX1BvcykgfAorICAgICAgICAgICAgKCh1aW50MzJfdClwdHBjb25maWctPlRpbWVzdGFtcFJvbGxvdmVyTW9kZSA8PCBFVEhfUFRQVFNDUl9UU1NTUl9Qb3MpIHwKKyAgICAgICAgICAgICgodWludDMyX3QpcHRwY29uZmlnLT5UaW1lc3RhbXBWMiA8PCBFVEhfUFRQVFNDUl9UU1BUUFBTVjJFX1BvcykgfAorICAgICAgICAgICAgKCh1aW50MzJfdClwdHBjb25maWctPlRpbWVzdGFtcEV0aGVybmV0IDw8IEVUSF9QVFBUU0NSX1RTU1BUUE9FRkVfUG9zKSB8CisgICAgICAgICAgICAoKHVpbnQzMl90KXB0cGNvbmZpZy0+VGltZXN0YW1wSVB2NiA8PCBFVEhfUFRQVFNDUl9UU1NJUFY2RkVfUG9zKSB8CisgICAgICAgICAgICAoKHVpbnQzMl90KXB0cGNvbmZpZy0+VGltZXN0YW1wSVB2NCA8PCBFVEhfUFRQVFNDUl9UU1NJUFY0RkVfUG9zKSB8CisgICAgICAgICAgICAoKHVpbnQzMl90KXB0cGNvbmZpZy0+VGltZXN0YW1wRXZlbnQgPDwgRVRIX1BUUFRTQ1JfVFNTRU1FX1BvcykgfAorICAgICAgICAgICAgKCh1aW50MzJfdClwdHBjb25maWctPlRpbWVzdGFtcE1hc3RlciA8PCBFVEhfUFRQVFNDUl9UU1NNUk1FX1BvcykgfAorICAgICAgICAgICAgKCh1aW50MzJfdClwdHBjb25maWctPlRpbWVzdGFtcEZpbHRlciA8PCBFVEhfUFRQVFNDUl9UU1BGRk1BRV9Qb3MpIHwKKyAgICAgICAgICAgICgodWludDMyX3QpcHRwY29uZmlnLT5UaW1lc3RhbXBDbG9ja1R5cGUgPDwgRVRIX1BUUFRTQ1JfVFNDTlRfUG9zKTsKKworICAvKiBXcml0ZSB0byBNQUNUU0NSICovCisgIE1PRElGWV9SRUcoaGV0aC0+SW5zdGFuY2UtPlBUUFRTQ1IsIEVUSF9NQUNUU0NSX01BU0ssIHRtcFRTQ1IpOworCisgIC8qIEVuYWJsZSBUaW1lc3RhbXAgKi8KKyAgU0VUX0JJVChoZXRoLT5JbnN0YW5jZS0+UFRQVFNDUiwgRVRIX1BUUFRTQ1JfVFNFKTsKKyAgV1JJVEVfUkVHKGhldGgtPkluc3RhbmNlLT5QVFBTU0lSLCBwdHBjb25maWctPlRpbWVzdGFtcFN1YnNlY29uZEluYyk7CisgIFdSSVRFX1JFRyhoZXRoLT5JbnN0YW5jZS0+UFRQVFNBUiwgcHRwY29uZmlnLT5UaW1lc3RhbXBBZGRlbmQpOworCisgIC8qIEVuYWJsZSBUaW1lc3RhbXAgKi8KKyAgaWYgKHB0cGNvbmZpZy0+VGltZXN0YW1wQWRkZW5kVXBkYXRlID09IEVOQUJMRSkKKyAgeworICAgIFNFVF9CSVQoaGV0aC0+SW5zdGFuY2UtPlBUUFRTQ1IsIEVUSF9QVFBUU0NSX1RTQVJVKTsKKyAgICB3aGlsZSAoKGhldGgtPkluc3RhbmNlLT5QVFBUU0NSICYgRVRIX1BUUFRTQ1JfVFNBUlUpICE9IDApIHt9CisgIH0KKworICAvKiBFbmFibGUgVXBkYXRlIG1vZGUgKi8KKyAgaWYgKHB0cGNvbmZpZy0+VGltZXN0YW1wVXBkYXRlTW9kZSA9PSBFTkFCTEUpCisgIHsKKyAgICBTRVRfQklUKGhldGgtPkluc3RhbmNlLT5QVFBUU0NSLCBFVEhfUFRQVFNDUl9UU0ZDVSk7CisgIH0KKworICAvKiBJbml0aWFsaXplIFRpbWUgKi8KKyAgdGltZS5TZWNvbmRzID0gMDsKKyAgdGltZS5OYW5vU2Vjb25kcyA9IDA7CisgIEhBTF9FVEhfUFRQX1NldFRpbWUoaGV0aCwgJnRpbWUpOworCisgIC8qIFB0cCBJbml0ICovCisgIFNFVF9CSVQoaGV0aC0+SW5zdGFuY2UtPlBUUFRTQ1IsIEVUSF9QVFBUU0NSX1RTU1RJKTsKKworICAvKiBTZXQgUFRQIENvbmZpZ3VyYXRpb24gZG9uZSAqLworICBoZXRoLT5Jc1B0cENvbmZpZ3VyZWQgPSBIQUxfRVRIX1BUUF9DT05GSUdVUkFURUQ7CisKICAgLyogUmV0dXJuIGZ1bmN0aW9uIHN0YXR1cyAqLwogICByZXR1cm4gSEFMX09LOwogfQogCiAvKioKLSAgKiBAYnJpZWYgIENoZWNrcyBmb3IgcmVjZWl2ZWQgZnJhbWVzLiAKLSAgKiBAcGFyYW0gIGhldGggcG9pbnRlciB0byBhIEVUSF9IYW5kbGVUeXBlRGVmIHN0cnVjdHVyZSB0aGF0IGNvbnRhaW5zCisgICogQGJyaWVmICBHZXQgdGhlIEV0aGVybmV0IFBUUCBjb25maWd1cmF0aW9uLgorICAqIEBwYXJhbSAgaGV0aDogcG9pbnRlciB0byBhIEVUSF9IYW5kbGVUeXBlRGVmIHN0cnVjdHVyZSB0aGF0IGNvbnRhaW5zCiAgICogICAgICAgICB0aGUgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbiBmb3IgRVRIRVJORVQgbW9kdWxlCisgICogQHBhcmFtICBwdHBjb25maWc6IHBvaW50ZXIgdG8gYSBFVEhfUFRQX0NvbmZpZ1R5cGVEZWYgc3RydWN0dXJlIHRoYXQgY29udGFpbnMKKyAgKiAgICAgICAgIHRoZSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIGZvciBQVFAKICAgKiBAcmV0dmFsIEhBTCBzdGF0dXMKICAgKi8KLUhBTF9TdGF0dXNUeXBlRGVmIEhBTF9FVEhfR2V0UmVjZWl2ZWRGcmFtZShFVEhfSGFuZGxlVHlwZURlZiAqaGV0aCkKK0hBTF9TdGF0dXNUeXBlRGVmIEhBTF9FVEhfUFRQX0dldENvbmZpZyhFVEhfSGFuZGxlVHlwZURlZiAqaGV0aCwgRVRIX1BUUF9Db25maWdUeXBlRGVmICpwdHBjb25maWcpCiB7Ci0gIHVpbnQzMl90IGZyYW1lbGVuZ3RoID0gMFU7Ci0gIAotICAvKiBQcm9jZXNzIExvY2tlZCAqLwotICBfX0hBTF9MT0NLKGhldGgpOwotICAKLSAgLyogQ2hlY2sgdGhlIEVUSCBzdGF0ZSB0byBCVVNZICovCi0gIGhldGgtPlN0YXRlID0gSEFMX0VUSF9TVEFURV9CVVNZOwotICAKLSAgLyogQ2hlY2sgaWYgc2VnbWVudCBpcyBub3Qgb3duZWQgYnkgRE1BICovCi0gIC8qICgoKGhldGgtPlJ4RGVzYy0+U3RhdHVzICYgRVRIX0RNQVJYREVTQ19PV04pID09ICh1aW50MzJfdClSRVNFVCkgJiYgKChoZXRoLT5SeERlc2MtPlN0YXR1cyAmIEVUSF9ETUFSWERFU0NfTFMpICE9ICh1aW50MzJfdClSRVNFVCkpICovCi0gIGlmKCgoaGV0aC0+UnhEZXNjLT5TdGF0dXMgJiBFVEhfRE1BUlhERVNDX09XTikgPT0gKHVpbnQzMl90KVJFU0VUKSkKKyAgaWYgKHB0cGNvbmZpZyA9PSBOVUxMKQogICB7Ci0gICAgLyogQ2hlY2sgaWYgbGFzdCBzZWdtZW50ICovCi0gICAgaWYoKChoZXRoLT5SeERlc2MtPlN0YXR1cyAmIEVUSF9ETUFSWERFU0NfTFMpICE9ICh1aW50MzJfdClSRVNFVCkpIAotICAgIHsKLSAgICAgIC8qIGluY3JlbWVudCBzZWdtZW50IGNvdW50ICovCi0gICAgICAoaGV0aC0+UnhGcmFtZUluZm9zKS5TZWdDb3VudCsrOwotICAgICAgCi0gICAgICAvKiBDaGVjayBpZiBsYXN0IHNlZ21lbnQgaXMgZmlyc3Qgc2VnbWVudDogb25lIHNlZ21lbnQgY29udGFpbnMgdGhlIGZyYW1lICovCi0gICAgICBpZiAoKGhldGgtPlJ4RnJhbWVJbmZvcykuU2VnQ291bnQgPT0gMVUpCi0gICAgICB7Ci0gICAgICAgIChoZXRoLT5SeEZyYW1lSW5mb3MpLkZTUnhEZXNjID1oZXRoLT5SeERlc2M7Ci0gICAgICB9Ci0gICAgICAKLSAgICAgIGhldGgtPlJ4RnJhbWVJbmZvcy5MU1J4RGVzYyA9IGhldGgtPlJ4RGVzYzsKLSAgICAgIAotICAgICAgLyogR2V0IHRoZSBGcmFtZSBMZW5ndGggb2YgdGhlIHJlY2VpdmVkIHBhY2tldDogc3Vic3RydWN0IDQgYnl0ZXMgb2YgdGhlIENSQyAqLwotICAgICAgZnJhbWVsZW5ndGggPSAoKChoZXRoLT5SeERlc2MpLT5TdGF0dXMgJiBFVEhfRE1BUlhERVNDX0ZMKSA+PiBFVEhfRE1BUlhERVNDX0ZSQU1FTEVOR1RIU0hJRlQpIC0gNFU7Ci0gICAgICBoZXRoLT5SeEZyYW1lSW5mb3MubGVuZ3RoID0gZnJhbWVsZW5ndGg7Ci0gICAgICAKLSAgICAgIC8qIEdldCB0aGUgYWRkcmVzcyBvZiB0aGUgYnVmZmVyIHN0YXJ0IGFkZHJlc3MgKi8KLSAgICAgIGhldGgtPlJ4RnJhbWVJbmZvcy5idWZmZXIgPSAoKGhldGgtPlJ4RnJhbWVJbmZvcykuRlNSeERlc2MpLT5CdWZmZXIxQWRkcjsKLSAgICAgIC8qIHBvaW50IHRvIG5leHQgZGVzY3JpcHRvciAqLwotICAgICAgaGV0aC0+UnhEZXNjID0gKEVUSF9ETUFEZXNjVHlwZURlZiopICgoaGV0aC0+UnhEZXNjKS0+QnVmZmVyMk5leHREZXNjQWRkcik7Ci0gICAgICAKLSAgICAgIC8qIFNldCBIQUwgU3RhdGUgdG8gUmVhZHkgKi8KLSAgICAgIGhldGgtPlN0YXRlID0gSEFMX0VUSF9TVEFURV9SRUFEWTsKLSAgICAgIAotICAgICAgLyogUHJvY2VzcyBVbmxvY2tlZCAqLwotICAgICAgX19IQUxfVU5MT0NLKGhldGgpOwotICAgICAgCi0gICAgICAvKiBSZXR1cm4gZnVuY3Rpb24gc3RhdHVzICovCi0gICAgICByZXR1cm4gSEFMX09LOwotICAgIH0KLSAgICAvKiBDaGVjayBpZiBmaXJzdCBzZWdtZW50ICovCi0gICAgZWxzZSBpZigoaGV0aC0+UnhEZXNjLT5TdGF0dXMgJiBFVEhfRE1BUlhERVNDX0ZTKSAhPSAodWludDMyX3QpUkVTRVQpCi0gICAgewotICAgICAgKGhldGgtPlJ4RnJhbWVJbmZvcykuRlNSeERlc2MgPSBoZXRoLT5SeERlc2M7Ci0gICAgICAoaGV0aC0+UnhGcmFtZUluZm9zKS5MU1J4RGVzYyA9IE5VTEw7Ci0gICAgICAoaGV0aC0+UnhGcmFtZUluZm9zKS5TZWdDb3VudCA9IDFVOwotICAgICAgLyogUG9pbnQgdG8gbmV4dCBkZXNjcmlwdG9yICovCi0gICAgICBoZXRoLT5SeERlc2MgPSAoRVRIX0RNQURlc2NUeXBlRGVmKikgKGhldGgtPlJ4RGVzYy0+QnVmZmVyMk5leHREZXNjQWRkcik7Ci0gICAgfQotICAgIC8qIENoZWNrIGlmIGludGVybWVkaWF0ZSBzZWdtZW50ICovIAotICAgIGVsc2UKLSAgICB7Ci0gICAgICAoaGV0aC0+UnhGcmFtZUluZm9zKS5TZWdDb3VudCsrOwotICAgICAgLyogUG9pbnQgdG8gbmV4dCBkZXNjcmlwdG9yICovCi0gICAgICBoZXRoLT5SeERlc2MgPSAoRVRIX0RNQURlc2NUeXBlRGVmKikgKGhldGgtPlJ4RGVzYy0+QnVmZmVyMk5leHREZXNjQWRkcik7Ci0gICAgfSAKKyAgICByZXR1cm4gSEFMX0VSUk9SOwogICB9Ci0gIAotICAvKiBTZXQgRVRIIEhBTCBTdGF0ZSB0byBSZWFkeSAqLwotICBoZXRoLT5TdGF0ZSA9IEhBTF9FVEhfU1RBVEVfUkVBRFk7Ci0gIAotICAvKiBQcm9jZXNzIFVubG9ja2VkICovCi0gIF9fSEFMX1VOTE9DSyhoZXRoKTsKLSAgCisgIHB0cGNvbmZpZy0+VGltZXN0YW1wID0gUkVBRF9CSVQoaGV0aC0+SW5zdGFuY2UtPlBUUFRTQ1IsIEVUSF9QVFBUU0NSX1RTRSk7CisgIHB0cGNvbmZpZy0+VGltZXN0YW1wVXBkYXRlID0gKChSRUFEX0JJVChoZXRoLT5JbnN0YW5jZS0+UFRQVFNDUiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVUSF9QVFBUU0NSX1RTRkNVKSA+PiBFVEhfUFRQVFNDUl9UU0ZDVV9Qb3MpID4gMFUpID8gRU5BQkxFIDogRElTQUJMRTsKKyAgcHRwY29uZmlnLT5UaW1lc3RhbXBBbGwgPSAoKFJFQURfQklUKGhldGgtPkluc3RhbmNlLT5QVFBUU0NSLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRVRIX1BUUFRTQ1JfVFNTQVJGRSkgPj4gRVRIX1BUUFRTQ1JfVFNTQVJGRV9Qb3MpID4gMFUpID8gRU5BQkxFIDogRElTQUJMRTsKKyAgcHRwY29uZmlnLT5UaW1lc3RhbXBSb2xsb3Zlck1vZGUgPSAoKFJFQURfQklUKGhldGgtPkluc3RhbmNlLT5QVFBUU0NSLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRVRIX1BUUFRTQ1JfVFNTU1IpID4+IEVUSF9QVFBUU0NSX1RTU1NSX1BvcykgPiAwVSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IEVOQUJMRSA6IERJU0FCTEU7CisgIHB0cGNvbmZpZy0+VGltZXN0YW1wVjIgPSAoKFJFQURfQklUKGhldGgtPkluc3RhbmNlLT5QVFBUU0NSLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFVEhfUFRQVFNDUl9UU1BUUFBTVjJFKSA+PiBFVEhfUFRQVFNDUl9UU1BUUFBTVjJFX1BvcykgPiAwVSkgPyBFTkFCTEUgOiBESVNBQkxFOworICBwdHBjb25maWctPlRpbWVzdGFtcEV0aGVybmV0ID0gKChSRUFEX0JJVChoZXRoLT5JbnN0YW5jZS0+UFRQVFNDUiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRVRIX1BUUFRTQ1JfVFNTUFRQT0VGRSkgPj4gRVRIX1BUUFRTQ1JfVFNTUFRQT0VGRV9Qb3MpID4gMFUpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IEVOQUJMRSA6IERJU0FCTEU7CisgIHB0cGNvbmZpZy0+VGltZXN0YW1wSVB2NiA9ICgoUkVBRF9CSVQoaGV0aC0+SW5zdGFuY2UtPlBUUFRTQ1IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRVRIX1BUUFRTQ1JfVFNTSVBWNkZFKSA+PiBFVEhfUFRQVFNDUl9UU1NJUFY2RkVfUG9zKSA+IDBVKSA/IEVOQUJMRSA6IERJU0FCTEU7CisgIHB0cGNvbmZpZy0+VGltZXN0YW1wSVB2NCA9ICgoUkVBRF9CSVQoaGV0aC0+SW5zdGFuY2UtPlBUUFRTQ1IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRVRIX1BUUFRTQ1JfVFNTSVBWNEZFKSA+PiBFVEhfUFRQVFNDUl9UU1NJUFY0RkVfUG9zKSA+IDBVKSA/IEVOQUJMRSA6IERJU0FCTEU7CisgIHB0cGNvbmZpZy0+VGltZXN0YW1wRXZlbnQgPSAoKFJFQURfQklUKGhldGgtPkluc3RhbmNlLT5QVFBUU0NSLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFVEhfUFRQVFNDUl9UU1NFTUUpID4+IEVUSF9QVFBUU0NSX1RTU0VNRV9Qb3MpID4gMFUpID8gRU5BQkxFIDogRElTQUJMRTsKKyAgcHRwY29uZmlnLT5UaW1lc3RhbXBNYXN0ZXIgPSAoKFJFQURfQklUKGhldGgtPkluc3RhbmNlLT5QVFBUU0NSLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRVRIX1BUUFRTQ1JfVFNTTVJNRSkgPj4gRVRIX1BUUFRTQ1JfVFNTTVJNRV9Qb3MpID4gMFUpID8gRU5BQkxFIDogRElTQUJMRTsKKyAgcHRwY29uZmlnLT5UaW1lc3RhbXBGaWx0ZXIgPSAoKFJFQURfQklUKGhldGgtPkluc3RhbmNlLT5QVFBUU0NSLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRVRIX1BUUFRTQ1JfVFNQRkZNQUUpID4+IEVUSF9QVFBUU0NSX1RTUEZGTUFFX1BvcykgPiAwVSkgPyBFTkFCTEUgOiBESVNBQkxFOworICBwdHBjb25maWctPlRpbWVzdGFtcENsb2NrVHlwZSA9ICgoUkVBRF9CSVQoaGV0aC0+SW5zdGFuY2UtPlBUUFRTQ1IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFVEhfUFRQVFNDUl9UU0NOVCkgPj4gRVRIX1BUUFRTQ1JfVFNDTlRfUG9zKSA+IDBVKSA/IEVOQUJMRSA6IERJU0FCTEU7CisKICAgLyogUmV0dXJuIGZ1bmN0aW9uIHN0YXR1cyAqLwotICByZXR1cm4gSEFMX0VSUk9SOworICByZXR1cm4gSEFMX09LOwogfQogCiAvKioKLSAgKiBAYnJpZWYgIEdldHMgdGhlIFJlY2VpdmVkIGZyYW1lIGluIGludGVycnVwdCBtb2RlLiAKLSAgKiBAcGFyYW0gIGhldGggcG9pbnRlciB0byBhIEVUSF9IYW5kbGVUeXBlRGVmIHN0cnVjdHVyZSB0aGF0IGNvbnRhaW5zCisgICogQGJyaWVmICBTZXQgU2Vjb25kcyBhbmQgTmFub3NlY29uZHMgZm9yIHRoZSBFdGhlcm5ldCBQVFAgcmVnaXN0ZXJzLgorICAqIEBwYXJhbSAgaGV0aDogcG9pbnRlciB0byBhIEVUSF9IYW5kbGVUeXBlRGVmIHN0cnVjdHVyZSB0aGF0IGNvbnRhaW5zCisgICogICAgICAgICB0aGUgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbiBmb3IgRVRIRVJORVQgbW9kdWxlCisgICogQHBhcmFtICBoZXRoOiBwb2ludGVyIHRvIGEgRVRIX1RpbWVUeXBlRGVmIHN0cnVjdHVyZSB0aGF0IGNvbnRhaW5zCisgICogICAgICAgICB0aW1lIHRvIHNldAorICAqIEByZXR2YWwgSEFMIHN0YXR1cworICAqLworSEFMX1N0YXR1c1R5cGVEZWYgSEFMX0VUSF9QVFBfU2V0VGltZShFVEhfSGFuZGxlVHlwZURlZiAqaGV0aCwgRVRIX1RpbWVUeXBlRGVmICp0aW1lKQoreworICBpZiAoaGV0aC0+SXNQdHBDb25maWd1cmVkID09IEhBTF9FVEhfUFRQX0NPTkZJR1VSQVRFRCkKKyAgeworICAgIC8qIFNldCBTZWNvbmRzICovCisgICAgaGV0aC0+SW5zdGFuY2UtPlBUUFRTSFVSID0gdGltZS0+U2Vjb25kczsKKworICAgIC8qIFNldCBOYW5vU2Vjb25kcyAqLworICAgIGhldGgtPkluc3RhbmNlLT5QVFBUU0xVUiA9IHRpbWUtPk5hbm9TZWNvbmRzOworCisgICAgLyogUmV0dXJuIGZ1bmN0aW9uIHN0YXR1cyAqLworICAgIHJldHVybiBIQUxfT0s7CisgIH0KKyAgZWxzZQorICB7CisgICAgLyogUmV0dXJuIGZ1bmN0aW9uIHN0YXR1cyAqLworICAgIHJldHVybiBIQUxfRVJST1I7CisgIH0KK30KKworLyoqCisgICogQGJyaWVmICBHZXQgU2Vjb25kcyBhbmQgTmFub3NlY29uZHMgZm9yIHRoZSBFdGhlcm5ldCBQVFAgcmVnaXN0ZXJzLgorICAqIEBwYXJhbSAgaGV0aDogcG9pbnRlciB0byBhIEVUSF9IYW5kbGVUeXBlRGVmIHN0cnVjdHVyZSB0aGF0IGNvbnRhaW5zCisgICogICAgICAgICB0aGUgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbiBmb3IgRVRIRVJORVQgbW9kdWxlCisgICogQHBhcmFtICBoZXRoOiBwb2ludGVyIHRvIGEgRVRIX1RpbWVUeXBlRGVmIHN0cnVjdHVyZSB0aGF0IGNvbnRhaW5zCisgICogICAgICAgICB0aW1lIHRvIGdldAorICAqIEByZXR2YWwgSEFMIHN0YXR1cworICAqLworSEFMX1N0YXR1c1R5cGVEZWYgSEFMX0VUSF9QVFBfR2V0VGltZShFVEhfSGFuZGxlVHlwZURlZiAqaGV0aCwgRVRIX1RpbWVUeXBlRGVmICp0aW1lKQoreworICBpZiAoaGV0aC0+SXNQdHBDb25maWd1cmVkID09IEhBTF9FVEhfUFRQX0NPTkZJR1VSQVRFRCkKKyAgeworICAgIC8qIEdldCBTZWNvbmRzICovCisgICAgdGltZS0+U2Vjb25kcyA9IGhldGgtPkluc3RhbmNlLT5QVFBUU0hSOworCisgICAgLyogR2V0IE5hbm9TZWNvbmRzICovCisgICAgdGltZS0+TmFub1NlY29uZHMgPSBoZXRoLT5JbnN0YW5jZS0+UFRQVFNMUjsKKworICAgIC8qIFJldHVybiBmdW5jdGlvbiBzdGF0dXMgKi8KKyAgICByZXR1cm4gSEFMX09LOworICB9CisgIGVsc2UKKyAgeworICAgIC8qIFJldHVybiBmdW5jdGlvbiBzdGF0dXMgKi8KKyAgICByZXR1cm4gSEFMX0VSUk9SOworICB9Cit9CisKKy8qKgorICAqIEBicmllZiAgVXBkYXRlIHRpbWUgZm9yIHRoZSBFdGhlcm5ldCBQVFAgcmVnaXN0ZXJzLgorICAqIEBwYXJhbSAgaGV0aDogcG9pbnRlciB0byBhIEVUSF9IYW5kbGVUeXBlRGVmIHN0cnVjdHVyZSB0aGF0IGNvbnRhaW5zCisgICogICAgICAgICB0aGUgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbiBmb3IgRVRIRVJORVQgbW9kdWxlCisgICogQHBhcmFtICB0aW1ldXBkYXRlOiBwb2ludGVyIHRvIGEgRVRIX1RJTUVVUERBVEVUeXBlRGVmIHN0cnVjdHVyZSB0aGF0IGNvbnRhaW5zCisgICogICAgICAgICB0aGUgdGltZSB1cGRhdGUgaW5mb3JtYXRpb24KKyAgKiBAcmV0dmFsIEhBTCBzdGF0dXMKKyAgKi8KK0hBTF9TdGF0dXNUeXBlRGVmIEhBTF9FVEhfUFRQX0FkZFRpbWVPZmZzZXQoRVRIX0hhbmRsZVR5cGVEZWYgKmhldGgsIEVUSF9QdHBVcGRhdGVUeXBlRGVmIHB0cG9mZnNldHR5cGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVUSF9UaW1lVHlwZURlZiAqdGltZW9mZnNldCkKK3sKKyAgaWYgKGhldGgtPklzUHRwQ29uZmlndXJlZCA9PSBIQUxfRVRIX1BUUF9DT05GSUdVUkFURUQpCisgIHsKKyAgICBpZiAocHRwb2Zmc2V0dHlwZSA9PSAgSEFMX0VUSF9QVFBfTkVHQVRJVkVfVVBEQVRFKQorICAgIHsKKyAgICAgIC8qIFNldCBTZWNvbmRzIHVwZGF0ZSAqLworICAgICAgaGV0aC0+SW5zdGFuY2UtPlBUUFRTSFVSID0gRVRIX1BUUFRTSFJfVkFMVUUgLSB0aW1lb2Zmc2V0LT5TZWNvbmRzICsgMVU7CisKKyAgICAgIGlmIChSRUFEX0JJVChoZXRoLT5JbnN0YW5jZS0+UFRQVFNDUiwgRVRIX1BUUFRTQ1JfVFNTU1IpID09IEVUSF9QVFBUU0NSX1RTU1NSKQorICAgICAgeworICAgICAgICAvKiBTZXQgbmFub1NlY29uZHMgdXBkYXRlICovCisgICAgICAgIGhldGgtPkluc3RhbmNlLT5QVFBUU0xVUiA9IEVUSF9QVFBUU0xSX1ZBTFVFIC0gdGltZW9mZnNldC0+TmFub1NlY29uZHM7CisgICAgICB9CisgICAgICBlbHNlCisgICAgICB7CisgICAgICAgIGhldGgtPkluc3RhbmNlLT5QVFBUU0xVUiA9IEVUSF9QVFBUU0hSX1ZBTFVFIC0gdGltZW9mZnNldC0+TmFub1NlY29uZHMgKyAxVTsKKyAgICAgIH0KKyAgICB9CisgICAgZWxzZQorICAgIHsKKyAgICAgIC8qIFNldCBTZWNvbmRzIHVwZGF0ZSAqLworICAgICAgaGV0aC0+SW5zdGFuY2UtPlBUUFRTSFVSID0gdGltZW9mZnNldC0+U2Vjb25kczsKKyAgICAgIC8qIFNldCBuYW5vU2Vjb25kcyB1cGRhdGUgKi8KKyAgICAgIGhldGgtPkluc3RhbmNlLT5QVFBUU0xVUiA9IHRpbWVvZmZzZXQtPk5hbm9TZWNvbmRzOworICAgIH0KKworICAgIC8qIFJldHVybiBmdW5jdGlvbiBzdGF0dXMgKi8KKyAgICByZXR1cm4gSEFMX09LOworICB9CisgIGVsc2UKKyAgeworICAgIC8qIFJldHVybiBmdW5jdGlvbiBzdGF0dXMgKi8KKyAgICByZXR1cm4gSEFMX0VSUk9SOworICB9Cit9CisKKy8qKgorICAqIEBicmllZiAgSW5zZXJ0IFRpbWVzdGFtcCBpbiB0cmFuc21pc3Npb24uCisgICogQHBhcmFtICBoZXRoOiBwb2ludGVyIHRvIGEgRVRIX0hhbmRsZVR5cGVEZWYgc3RydWN0dXJlIHRoYXQgY29udGFpbnMKKyAgKiAgICAgICAgIHRoZSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIGZvciBFVEhFUk5FVCBtb2R1bGUKKyAgKiBAcGFyYW0gIHR4dGltZXN0YW1wY29uZjogRW5hYmxlIG9yIERpc2FibGUgdGltZXN0YW1wIGluIHRyYW5zbWlzc2lvbgorICAqIEByZXR2YWwgSEFMIHN0YXR1cworICAqLworSEFMX1N0YXR1c1R5cGVEZWYgSEFMX0VUSF9QVFBfSW5zZXJ0VHhUaW1lc3RhbXAoRVRIX0hhbmRsZVR5cGVEZWYgKmhldGgpCit7CisgIEVUSF9UeERlc2NMaXN0VHlwZURlZiAqZG1hdHhkZXNjbGlzdCA9ICZoZXRoLT5UeERlc2NMaXN0OworICB1aW50MzJfdCBkZXNjaWR4ID0gZG1hdHhkZXNjbGlzdC0+Q3VyVHhEZXNjOworICBFVEhfRE1BRGVzY1R5cGVEZWYgKmRtYXR4ZGVzYyA9IChFVEhfRE1BRGVzY1R5cGVEZWYgKilkbWF0eGRlc2NsaXN0LT5UeERlc2NbZGVzY2lkeF07CisKKyAgaWYgKGhldGgtPklzUHRwQ29uZmlndXJlZCA9PSBIQUxfRVRIX1BUUF9DT05GSUdVUkFURUQpCisgIHsKKyAgICAvKiBFbmFibGUgVGltZSBTdGFtcCB0cmFuc21pc3Npb24gKi8KKyAgICBTRVRfQklUKGRtYXR4ZGVzYy0+REVTQzAsIEVUSF9ETUFUWERFU0NfVFRTRSk7CisKKyAgICAvKiBSZXR1cm4gZnVuY3Rpb24gc3RhdHVzICovCisgICAgcmV0dXJuIEhBTF9PSzsKKyAgfQorICBlbHNlCisgIHsKKyAgICAvKiBSZXR1cm4gZnVuY3Rpb24gc3RhdHVzICovCisgICAgcmV0dXJuIEhBTF9FUlJPUjsKKyAgfQorfQorCisvKioKKyAgKiBAYnJpZWYgIEdldCB0cmFuc21pc3Npb24gdGltZXN0YW1wLgorICAqIEBwYXJhbSAgaGV0aDogcG9pbnRlciB0byBhIEVUSF9IYW5kbGVUeXBlRGVmIHN0cnVjdHVyZSB0aGF0IGNvbnRhaW5zCisgICogICAgICAgICB0aGUgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbiBmb3IgRVRIRVJORVQgbW9kdWxlCisgICogQHBhcmFtICB0aW1lc3RhbXA6IHBvaW50ZXIgdG8gRVRIX1RJTUVTVEFNUFR5cGVEZWYgc3RydWN0dXJlIHRoYXQgY29udGFpbnMKKyAgKiAgICAgICAgIHRyYW5zbWlzc2lvbiB0aW1lc3RhbXAKKyAgKiBAcmV0dmFsIEhBTCBzdGF0dXMKKyAgKi8KK0hBTF9TdGF0dXNUeXBlRGVmIEhBTF9FVEhfUFRQX0dldFR4VGltZXN0YW1wKEVUSF9IYW5kbGVUeXBlRGVmICpoZXRoLCBFVEhfVGltZVN0YW1wVHlwZURlZiAqdGltZXN0YW1wKQoreworICBFVEhfVHhEZXNjTGlzdFR5cGVEZWYgKmRtYXR4ZGVzY2xpc3QgPSAmaGV0aC0+VHhEZXNjTGlzdDsKKyAgdWludDMyX3QgaWR4ID0gICAgICAgZG1hdHhkZXNjbGlzdC0+cmVsZWFzZUluZGV4OworICBFVEhfRE1BRGVzY1R5cGVEZWYgKmRtYXR4ZGVzYyA9IChFVEhfRE1BRGVzY1R5cGVEZWYgKilkbWF0eGRlc2NsaXN0LT5UeERlc2NbaWR4XTsKKworICBpZiAoaGV0aC0+SXNQdHBDb25maWd1cmVkID09IEhBTF9FVEhfUFRQX0NPTkZJR1VSQVRFRCkKKyAgeworICAgIC8qIEdldCB0aW1lc3RhbXAgbG93ICovCisgICAgdGltZXN0YW1wLT5UaW1lU3RhbXBMb3cgPSBkbWF0eGRlc2MtPkRFU0MwOworICAgIC8qIEdldCB0aW1lc3RhbXAgaGlnaCAqLworICAgIHRpbWVzdGFtcC0+VGltZVN0YW1wSGlnaCA9IGRtYXR4ZGVzYy0+REVTQzE7CisKKyAgICAvKiBSZXR1cm4gZnVuY3Rpb24gc3RhdHVzICovCisgICAgcmV0dXJuIEhBTF9PSzsKKyAgfQorICBlbHNlCisgIHsKKyAgICAvKiBSZXR1cm4gZnVuY3Rpb24gc3RhdHVzICovCisgICAgcmV0dXJuIEhBTF9FUlJPUjsKKyAgfQorfQorCisvKioKKyAgKiBAYnJpZWYgIEdldCByZWNlaXZlIHRpbWVzdGFtcC4KKyAgKiBAcGFyYW0gIGhldGg6IHBvaW50ZXIgdG8gYSBFVEhfSGFuZGxlVHlwZURlZiBzdHJ1Y3R1cmUgdGhhdCBjb250YWlucworICAqICAgICAgICAgdGhlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gZm9yIEVUSEVSTkVUIG1vZHVsZQorICAqIEBwYXJhbSAgdGltZXN0YW1wOiBwb2ludGVyIHRvIEVUSF9USU1FU1RBTVBUeXBlRGVmIHN0cnVjdHVyZSB0aGF0IGNvbnRhaW5zCisgICogICAgICAgICByZWNlaXZlIHRpbWVzdGFtcAorICAqIEByZXR2YWwgSEFMIHN0YXR1cworICAqLworSEFMX1N0YXR1c1R5cGVEZWYgSEFMX0VUSF9QVFBfR2V0UnhUaW1lc3RhbXAoRVRIX0hhbmRsZVR5cGVEZWYgKmhldGgsIEVUSF9UaW1lU3RhbXBUeXBlRGVmICp0aW1lc3RhbXApCit7CisgIGlmIChoZXRoLT5Jc1B0cENvbmZpZ3VyZWQgPT0gSEFMX0VUSF9QVFBfQ09ORklHVVJBVEVEKQorICB7CisgICAgLyogR2V0IHRpbWVzdGFtcCBsb3cgKi8KKyAgICB0aW1lc3RhbXAtPlRpbWVTdGFtcExvdyA9IGhldGgtPlJ4RGVzY0xpc3QuVGltZVN0YW1wLlRpbWVTdGFtcExvdzsKKyAgICAvKiBHZXQgdGltZXN0YW1wIGhpZ2ggKi8KKyAgICB0aW1lc3RhbXAtPlRpbWVTdGFtcEhpZ2ggPSBoZXRoLT5SeERlc2NMaXN0LlRpbWVTdGFtcC5UaW1lU3RhbXBIaWdoOworCisgICAgLyogUmV0dXJuIGZ1bmN0aW9uIHN0YXR1cyAqLworICAgIHJldHVybiBIQUxfT0s7CisgIH0KKyAgZWxzZQorICB7CisgICAgLyogUmV0dXJuIGZ1bmN0aW9uIHN0YXR1cyAqLworICAgIHJldHVybiBIQUxfRVJST1I7CisgIH0KK30KKworLyoqCisgICogQGJyaWVmICBSZWdpc3RlciB0aGUgVHggUHRwIGNhbGxiYWNrLgorICAqIEBwYXJhbSAgaGV0aDogcG9pbnRlciB0byBhIEVUSF9IYW5kbGVUeXBlRGVmIHN0cnVjdHVyZSB0aGF0IGNvbnRhaW5zCisgICogICAgICAgICB0aGUgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbiBmb3IgRVRIRVJORVQgbW9kdWxlCisgICogQHBhcmFtICB0eFB0cENhbGxiYWNrOiBGdW5jdGlvbiB0byBoYW5kbGUgUHRwIHRyYW5zbWlzc2lvbgorICAqIEByZXR2YWwgSEFMIHN0YXR1cworICAqLworSEFMX1N0YXR1c1R5cGVEZWYgSEFMX0VUSF9SZWdpc3RlclR4UHRwQ2FsbGJhY2soRVRIX0hhbmRsZVR5cGVEZWYgKmhldGgsIHBFVEhfdHhQdHBDYWxsYmFja1R5cGVEZWYgdHhQdHBDYWxsYmFjaykKK3sKKyAgaWYgKHR4UHRwQ2FsbGJhY2sgPT0gTlVMTCkKKyAgeworICAgIC8qIE5vIGJ1ZmZlciB0byBzYXZlICovCisgICAgcmV0dXJuIEhBTF9FUlJPUjsKKyAgfQorICAvKiBTZXQgRnVuY3Rpb24gdG8gaGFuZGxlIFR4IFB0cCAqLworICBoZXRoLT50eFB0cENhbGxiYWNrID0gdHhQdHBDYWxsYmFjazsKKworICByZXR1cm4gSEFMX09LOworfQorCisvKioKKyAgKiBAYnJpZWYgIFVucmVnaXN0ZXIgdGhlIFR4IFB0cCBjYWxsYmFjay4KKyAgKiBAcGFyYW0gIGhldGg6IHBvaW50ZXIgdG8gYSBFVEhfSGFuZGxlVHlwZURlZiBzdHJ1Y3R1cmUgdGhhdCBjb250YWlucwogICAqICAgICAgICAgdGhlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gZm9yIEVUSEVSTkVUIG1vZHVsZQogICAqIEByZXR2YWwgSEFMIHN0YXR1cwogICAqLwotSEFMX1N0YXR1c1R5cGVEZWYgSEFMX0VUSF9HZXRSZWNlaXZlZEZyYW1lX0lUKEVUSF9IYW5kbGVUeXBlRGVmICpoZXRoKQorSEFMX1N0YXR1c1R5cGVEZWYgSEFMX0VUSF9VblJlZ2lzdGVyVHhQdHBDYWxsYmFjayhFVEhfSGFuZGxlVHlwZURlZiAqaGV0aCkKIHsKLSAgdWludDMyX3QgZGVzY3JpcHRvcnNjYW5jb3VudGVyID0gMFU7Ci0gIAotICAvKiBQcm9jZXNzIExvY2tlZCAqLwotICBfX0hBTF9MT0NLKGhldGgpOwotICAKLSAgLyogU2V0IEVUSCBIQUwgU3RhdGUgdG8gQlVTWSAqLwotICBoZXRoLT5TdGF0ZSA9IEhBTF9FVEhfU1RBVEVfQlVTWTsKLSAgCi0gIC8qIFNjYW4gZGVzY3JpcHRvcnMgb3duZWQgYnkgQ1BVICovCi0gIHdoaWxlICgoKGhldGgtPlJ4RGVzYy0+U3RhdHVzICYgRVRIX0RNQVJYREVTQ19PV04pID09ICh1aW50MzJfdClSRVNFVCkgJiYgKGRlc2NyaXB0b3JzY2FuY291bnRlciA8IEVUSF9SWEJVRk5CKSkKLSAgewotICAgIC8qIEp1c3QgZm9yIHNlY3VyaXR5ICovCi0gICAgZGVzY3JpcHRvcnNjYW5jb3VudGVyKys7Ci0gICAgCi0gICAgLyogQ2hlY2sgaWYgZmlyc3Qgc2VnbWVudCBpbiBmcmFtZSAqLwotICAgIC8qICgoaGV0aC0+UnhEZXNjLT5TdGF0dXMgJiBFVEhfRE1BUlhERVNDX0ZTKSAhPSAodWludDMyX3QpUkVTRVQpICYmICgoaGV0aC0+UnhEZXNjLT5TdGF0dXMgJiBFVEhfRE1BUlhERVNDX0xTKSA9PSAodWludDMyX3QpUkVTRVQpKSAqLyAgCi0gICAgaWYoKGhldGgtPlJ4RGVzYy0+U3RhdHVzICYgKEVUSF9ETUFSWERFU0NfRlMgfCBFVEhfRE1BUlhERVNDX0xTKSkgPT0gKHVpbnQzMl90KUVUSF9ETUFSWERFU0NfRlMpCi0gICAgeyAKLSAgICAgIGhldGgtPlJ4RnJhbWVJbmZvcy5GU1J4RGVzYyA9IGhldGgtPlJ4RGVzYzsKLSAgICAgIGhldGgtPlJ4RnJhbWVJbmZvcy5TZWdDb3VudCA9IDFVOyAgIAotICAgICAgLyogUG9pbnQgdG8gbmV4dCBkZXNjcmlwdG9yICovCi0gICAgICBoZXRoLT5SeERlc2MgPSAoRVRIX0RNQURlc2NUeXBlRGVmKikgKGhldGgtPlJ4RGVzYy0+QnVmZmVyMk5leHREZXNjQWRkcik7Ci0gICAgfQotICAgIC8qIENoZWNrIGlmIGludGVybWVkaWF0ZSBzZWdtZW50ICovCi0gICAgLyogKChoZXRoLT5SeERlc2MtPlN0YXR1cyAmIEVUSF9ETUFSWERFU0NfTFMpID09ICh1aW50MzJfdClSRVNFVCkmJiAoKGhldGgtPlJ4RGVzYy0+U3RhdHVzICYgRVRIX0RNQVJYREVTQ19GUykgPT0gKHVpbnQzMl90KVJFU0VUKSkgKi8KLSAgICBlbHNlIGlmICgoaGV0aC0+UnhEZXNjLT5TdGF0dXMgJiAoRVRIX0RNQVJYREVTQ19MUyB8IEVUSF9ETUFSWERFU0NfRlMpKSA9PSAodWludDMyX3QpUkVTRVQpCi0gICAgewotICAgICAgLyogSW5jcmVtZW50IHNlZ21lbnQgY291bnQgKi8KLSAgICAgIChoZXRoLT5SeEZyYW1lSW5mb3MuU2VnQ291bnQpKys7Ci0gICAgICAvKiBQb2ludCB0byBuZXh0IGRlc2NyaXB0b3IgKi8KLSAgICAgIGhldGgtPlJ4RGVzYyA9IChFVEhfRE1BRGVzY1R5cGVEZWYqKShoZXRoLT5SeERlc2MtPkJ1ZmZlcjJOZXh0RGVzY0FkZHIpOwotICAgIH0KLSAgICAvKiBTaG91bGQgYmUgbGFzdCBzZWdtZW50ICovCi0gICAgZWxzZQotICAgIHsgCi0gICAgICAvKiBMYXN0IHNlZ21lbnQgKi8KLSAgICAgIGhldGgtPlJ4RnJhbWVJbmZvcy5MU1J4RGVzYyA9IGhldGgtPlJ4RGVzYzsKLSAgICAgIAotICAgICAgLyogSW5jcmVtZW50IHNlZ21lbnQgY291bnQgKi8KLSAgICAgIChoZXRoLT5SeEZyYW1lSW5mb3MuU2VnQ291bnQpKys7Ci0gICAgICAKLSAgICAgIC8qIENoZWNrIGlmIGxhc3Qgc2VnbWVudCBpcyBmaXJzdCBzZWdtZW50OiBvbmUgc2VnbWVudCBjb250YWlucyB0aGUgZnJhbWUgKi8KLSAgICAgIGlmICgoaGV0aC0+UnhGcmFtZUluZm9zLlNlZ0NvdW50KSA9PSAxVSkKLSAgICAgIHsKLSAgICAgICAgaGV0aC0+UnhGcmFtZUluZm9zLkZTUnhEZXNjID0gaGV0aC0+UnhEZXNjOwotICAgICAgfQotICAgICAgCi0gICAgICAvKiBHZXQgdGhlIEZyYW1lIExlbmd0aCBvZiB0aGUgcmVjZWl2ZWQgcGFja2V0OiBzdWJzdHJ1Y3QgNCBieXRlcyBvZiB0aGUgQ1JDICovCi0gICAgICBoZXRoLT5SeEZyYW1lSW5mb3MubGVuZ3RoID0gKCgoaGV0aC0+UnhEZXNjKS0+U3RhdHVzICYgRVRIX0RNQVJYREVTQ19GTCkgPj4gRVRIX0RNQVJYREVTQ19GUkFNRUxFTkdUSFNISUZUKSAtIDRVOwotICAgICAgCi0gICAgICAvKiBHZXQgdGhlIGFkZHJlc3Mgb2YgdGhlIGJ1ZmZlciBzdGFydCBhZGRyZXNzICovIAotICAgICAgaGV0aC0+UnhGcmFtZUluZm9zLmJ1ZmZlciA9KChoZXRoLT5SeEZyYW1lSW5mb3MpLkZTUnhEZXNjKS0+QnVmZmVyMUFkZHI7Ci0gICAgICAKLSAgICAgIC8qIFBvaW50IHRvIG5leHQgZGVzY3JpcHRvciAqLyAgICAgIAotICAgICAgaGV0aC0+UnhEZXNjID0gKEVUSF9ETUFEZXNjVHlwZURlZiopIChoZXRoLT5SeERlc2MtPkJ1ZmZlcjJOZXh0RGVzY0FkZHIpOwotICAgICAgCi0gICAgICAvKiBTZXQgSEFMIFN0YXRlIHRvIFJlYWR5ICovCi0gICAgICBoZXRoLT5TdGF0ZSA9IEhBTF9FVEhfU1RBVEVfUkVBRFk7Ci0gICAgICAKLSAgICAgIC8qIFByb2Nlc3MgVW5sb2NrZWQgKi8KLSAgICAgIF9fSEFMX1VOTE9DSyhoZXRoKTsKLSAgCi0gICAgICAvKiBSZXR1cm4gZnVuY3Rpb24gc3RhdHVzICovCi0gICAgICByZXR1cm4gSEFMX09LOwotICAgIH0KLSAgfQorICAvKiBTZXQgZnVuY3Rpb24gdG8gYWxsb2NhdGUgYnVmZmVyICovCisgIGhldGgtPnR4UHRwQ2FsbGJhY2sgPSBIQUxfRVRIX1R4UHRwQ2FsbGJhY2s7CiAKLSAgLyogU2V0IEhBTCBTdGF0ZSB0byBSZWFkeSAqLwotICBoZXRoLT5TdGF0ZSA9IEhBTF9FVEhfU1RBVEVfUkVBRFk7Ci0gIAotICAvKiBQcm9jZXNzIFVubG9ja2VkICovCi0gIF9fSEFMX1VOTE9DSyhoZXRoKTsKLSAgCi0gIC8qIFJldHVybiBmdW5jdGlvbiBzdGF0dXMgKi8KLSAgcmV0dXJuIEhBTF9FUlJPUjsKKyAgcmV0dXJuIEhBTF9PSzsKIH0KIAogLyoqCisgICogQGJyaWVmICBUeCBQdHAgY2FsbGJhY2suCisgICogQHBhcmFtICBidWZmOiBwb2ludGVyIHRvIGFwcGxpY2F0aW9uIGJ1ZmZlcgorICAqIEByZXR2YWwgTm9uZQorICAqLworX193ZWFrIHZvaWQgSEFMX0VUSF9UeFB0cENhbGxiYWNrKHVpbnQzMl90ICpidWZmLCBFVEhfVGltZVN0YW1wVHlwZURlZiAqdGltZXN0YW1wKQoreworICAvKiBQcmV2ZW50IHVudXNlZCBhcmd1bWVudChzKSBjb21waWxhdGlvbiB3YXJuaW5nICovCisgIFVOVVNFRChidWZmKTsKKyAgLyogTk9URSA6IFRoaXMgZnVuY3Rpb24gU2hvdWxkIG5vdCBiZSBtb2RpZmllZCwgd2hlbiB0aGUgY2FsbGJhY2sgaXMgbmVlZGVkLAorICB0aGUgSEFMX0VUSF9UeFB0cENhbGxiYWNrIGNvdWxkIGJlIGltcGxlbWVudGVkIGluIHRoZSB1c2VyIGZpbGUKKyAgKi8KK30KKyNlbmRpZiAgLyogSEFMX0VUSF9VU0VfUFRQICovCisKKy8qKgogICAqIEBicmllZiAgVGhpcyBmdW5jdGlvbiBoYW5kbGVzIEVUSCBpbnRlcnJ1cHQgcmVxdWVzdC4KLSAgKiBAcGFyYW0gIGhldGggcG9pbnRlciB0byBhIEVUSF9IYW5kbGVUeXBlRGVmIHN0cnVjdHVyZSB0aGF0IGNvbnRhaW5zCisgICogQHBhcmFtICBoZXRoOiBwb2ludGVyIHRvIGEgRVRIX0hhbmRsZVR5cGVEZWYgc3RydWN0dXJlIHRoYXQgY29udGFpbnMKICAgKiAgICAgICAgIHRoZSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIGZvciBFVEhFUk5FVCBtb2R1bGUKICAgKiBAcmV0dmFsIEhBTCBzdGF0dXMKICAgKi8KIHZvaWQgSEFMX0VUSF9JUlFIYW5kbGVyKEVUSF9IYW5kbGVUeXBlRGVmICpoZXRoKQogewotICAvKiBGcmFtZSByZWNlaXZlZCAqLwotICBpZiAoX19IQUxfRVRIX0RNQV9HRVRfRkxBRyhoZXRoLCBFVEhfRE1BX0ZMQUdfUikpIAorICAvKiBQYWNrZXQgcmVjZWl2ZWQgKi8KKyAgaWYgKF9fSEFMX0VUSF9ETUFfR0VUX0lUKGhldGgsIEVUSF9ETUFTUl9SUykpCiAgIHsKKyAgICBpZiAoX19IQUxfRVRIX0RNQV9HRVRfSVRfU09VUkNFKGhldGgsIEVUSF9ETUFJRVJfUklFKSkKKyAgICB7CisgICAgICAvKiBDbGVhciB0aGUgRXRoIERNQSBSeCBJVCBwZW5kaW5nIGJpdHMgKi8KKyAgICAgIF9fSEFMX0VUSF9ETUFfQ0xFQVJfSVQoaGV0aCwgRVRIX0RNQVNSX1JTIHwgRVRIX0RNQVNSX05JUyk7CisKICNpZiAoVVNFX0hBTF9FVEhfUkVHSVNURVJfQ0FMTEJBQ0tTID09IDEpCi0gICAgLypDYWxsIHJlZ2lzdGVyZWQgUmVjZWl2ZSBjb21wbGV0ZSBjYWxsYmFjayovCi0gICAgaGV0aC0+UnhDcGx0Q2FsbGJhY2soaGV0aCk7CisgICAgICAvKkNhbGwgcmVnaXN0ZXJlZCBSZWNlaXZlIGNvbXBsZXRlIGNhbGxiYWNrKi8KKyAgICAgIGhldGgtPlJ4Q3BsdENhbGxiYWNrKGhldGgpOwogI2Vsc2UKLSAgICAvKiBSZWNlaXZlIGNvbXBsZXRlIGNhbGxiYWNrICovCi0gICAgSEFMX0VUSF9SeENwbHRDYWxsYmFjayhoZXRoKTsKLSNlbmRpZiAvKiBVU0VfSEFMX0VUSF9SRUdJU1RFUl9DQUxMQkFDS1MgKi8KLQotICAgICAvKiBDbGVhciB0aGUgRXRoIERNQSBSeCBJVCBwZW5kaW5nIGJpdHMgKi8KLSAgICBfX0hBTF9FVEhfRE1BX0NMRUFSX0lUKGhldGgsIEVUSF9ETUFfSVRfUik7Ci0KLSAgICAvKiBTZXQgSEFMIFN0YXRlIHRvIFJlYWR5ICovCi0gICAgaGV0aC0+U3RhdGUgPSBIQUxfRVRIX1NUQVRFX1JFQURZOwotICAgIAotICAgIC8qIFByb2Nlc3MgVW5sb2NrZWQgKi8KLSAgICBfX0hBTF9VTkxPQ0soaGV0aCk7Ci0KKyAgICAgIC8qIFJlY2VpdmUgY29tcGxldGUgY2FsbGJhY2sgKi8KKyAgICAgIEhBTF9FVEhfUnhDcGx0Q2FsbGJhY2soaGV0aCk7CisjZW5kaWYgIC8qIFVTRV9IQUxfRVRIX1JFR0lTVEVSX0NBTExCQUNLUyAqLworICAgIH0KICAgfQotICAvKiBGcmFtZSB0cmFuc21pdHRlZCAqLwotICBlbHNlIGlmIChfX0hBTF9FVEhfRE1BX0dFVF9GTEFHKGhldGgsIEVUSF9ETUFfRkxBR19UKSkgCisKKyAgLyogUGFja2V0IHRyYW5zbWl0dGVkICovCisgIGlmIChfX0hBTF9FVEhfRE1BX0dFVF9JVChoZXRoLCBFVEhfRE1BU1JfVFMpKQogICB7CisgICAgaWYgKF9fSEFMX0VUSF9ETUFfR0VUX0lUX1NPVVJDRShoZXRoLCBFVEhfRE1BSUVSX1RJRSkpCisgICAgeworICAgICAgLyogQ2xlYXIgdGhlIEV0aCBETUEgVHggSVQgcGVuZGluZyBiaXRzICovCisgICAgICBfX0hBTF9FVEhfRE1BX0NMRUFSX0lUKGhldGgsIEVUSF9ETUFTUl9UUyB8IEVUSF9ETUFTUl9OSVMpOworCiAjaWYgKFVTRV9IQUxfRVRIX1JFR0lTVEVSX0NBTExCQUNLUyA9PSAxKQotICAgIC8qICBDYWxsIHJlc2dpc3RlcmVkIFRyYW5zZmVyIGNvbXBsZXRlIGNhbGxiYWNrKi8KLSAgICBoZXRoLT5UeENwbHRDYWxsYmFjayhoZXRoKTsKKyAgICAgIC8qQ2FsbCByZWdpc3RlcmVkIFRyYW5zbWl0IGNvbXBsZXRlIGNhbGxiYWNrKi8KKyAgICAgIGhldGgtPlR4Q3BsdENhbGxiYWNrKGhldGgpOwogI2Vsc2UKLSAgICAvKiBUcmFuc2ZlciBjb21wbGV0ZSBjYWxsYmFjayAqLwotICAgIEhBTF9FVEhfVHhDcGx0Q2FsbGJhY2soaGV0aCk7Ci0jZW5kaWYgLyogVVNFX0hBTF9FVEhfUkVHSVNURVJfQ0FMTEJBQ0tTICovCi0KLSAgICAvKiBDbGVhciB0aGUgRXRoIERNQSBUeCBJVCBwZW5kaW5nIGJpdHMgKi8KLSAgICBfX0hBTF9FVEhfRE1BX0NMRUFSX0lUKGhldGgsIEVUSF9ETUFfSVRfVCk7Ci0KLSAgICAvKiBTZXQgSEFMIFN0YXRlIHRvIFJlYWR5ICovCi0gICAgaGV0aC0+U3RhdGUgPSBIQUxfRVRIX1NUQVRFX1JFQURZOwotICAgIAotICAgIC8qIFByb2Nlc3MgVW5sb2NrZWQgKi8KLSAgICBfX0hBTF9VTkxPQ0soaGV0aCk7CisgICAgICAvKiBUcmFuc2ZlciBjb21wbGV0ZSBjYWxsYmFjayAqLworICAgICAgSEFMX0VUSF9UeENwbHRDYWxsYmFjayhoZXRoKTsKKyNlbmRpZiAgLyogVVNFX0hBTF9FVEhfUkVHSVNURVJfQ0FMTEJBQ0tTICovCisgICAgfQogICB9Ci0gIAotICAvKiBDbGVhciB0aGUgaW50ZXJydXB0IGZsYWdzICovCi0gIF9fSEFMX0VUSF9ETUFfQ0xFQVJfSVQoaGV0aCwgRVRIX0RNQV9JVF9OSVMpOwotICAKKworCiAgIC8qIEVUSCBETUEgRXJyb3IgKi8KLSAgaWYoX19IQUxfRVRIX0RNQV9HRVRfRkxBRyhoZXRoLCBFVEhfRE1BX0ZMQUdfQUlTKSkKKyAgaWYgKF9fSEFMX0VUSF9ETUFfR0VUX0lUKGhldGgsIEVUSF9ETUFTUl9BSVMpKQogICB7Ci0jaWYgKFVTRV9IQUxfRVRIX1JFR0lTVEVSX0NBTExCQUNLUyA9PSAxKQotICAgIGhldGgtPkRNQUVycm9yQ2FsbGJhY2soaGV0aCk7Ci0jZWxzZQotICAgIC8qIEV0aGVybmV0IEVycm9yIGNhbGxiYWNrICovCi0gICAgSEFMX0VUSF9FcnJvckNhbGxiYWNrKGhldGgpOwotI2VuZGlmIC8qIFVTRV9IQUxfRVRIX1JFR0lTVEVSX0NBTExCQUNLUyAqLworICAgIGlmIChfX0hBTF9FVEhfRE1BX0dFVF9JVF9TT1VSQ0UoaGV0aCwgRVRIX0RNQUlFUl9BSVNFKSkKKyAgICB7CisgICAgICBoZXRoLT5FcnJvckNvZGUgfD0gSEFMX0VUSF9FUlJPUl9ETUE7CiAKLSAgICAvKiBDbGVhciB0aGUgaW50ZXJydXB0IGZsYWdzICovCi0gICAgX19IQUxfRVRIX0RNQV9DTEVBUl9JVChoZXRoLCBFVEhfRE1BX0ZMQUdfQUlTKTsKLSAgCi0gICAgLyogU2V0IEhBTCBTdGF0ZSB0byBSZWFkeSAqLwotICAgIGhldGgtPlN0YXRlID0gSEFMX0VUSF9TVEFURV9SRUFEWTsKLSAgICAKLSAgICAvKiBQcm9jZXNzIFVubG9ja2VkICovCi0gICAgX19IQUxfVU5MT0NLKGhldGgpOworICAgICAgLyogaWYgZmF0YWwgYnVzIGVycm9yIG9jY3VycmVkICovCisgICAgICBpZiAoX19IQUxfRVRIX0RNQV9HRVRfSVQoaGV0aCwgRVRIX0RNQVNSX0ZCRVMpKQorICAgICAgeworICAgICAgICAvKiBHZXQgRE1BIGVycm9yIGNvZGUgICovCisgICAgICAgIGhldGgtPkRNQUVycm9yQ29kZSA9IFJFQURfQklUKGhldGgtPkluc3RhbmNlLT5ETUFTUiwgKEVUSF9ETUFTUl9GQkVTIHwgRVRIX0RNQVNSX1RQUyB8IEVUSF9ETUFTUl9SUFMpKTsKKworICAgICAgICAvKiBEaXNhYmxlIGFsbCBpbnRlcnJ1cHRzICovCisgICAgICAgIF9fSEFMX0VUSF9ETUFfRElTQUJMRV9JVChoZXRoLCBFVEhfRE1BSUVSX05JU0UgfCBFVEhfRE1BSUVSX0FJU0UpOworCisgICAgICAgIC8qIFNldCBIQUwgc3RhdGUgdG8gRVJST1IgKi8KKyAgICAgICAgaGV0aC0+Z1N0YXRlID0gSEFMX0VUSF9TVEFURV9FUlJPUjsKKyAgICAgIH0KKyAgICAgIGVsc2UKKyAgICAgIHsKKyAgICAgICAgLyogR2V0IERNQSBlcnJvciBzdGF0dXMgICovCisgICAgICAgIGhldGgtPkRNQUVycm9yQ29kZSA9IFJFQURfQklUKGhldGgtPkluc3RhbmNlLT5ETUFTUiwgKEVUSF9ETUFTUl9FVFMgfCBFVEhfRE1BU1JfUldUUyB8CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVUSF9ETUFTUl9SQlVTIHwgRVRIX0RNQVNSX0FJUykpOworCisgICAgICAgIC8qIENsZWFyIHRoZSBpbnRlcnJ1cHQgc3VtbWFyeSBmbGFnICovCisgICAgICAgIF9fSEFMX0VUSF9ETUFfQ0xFQVJfSVQoaGV0aCwgKEVUSF9ETUFTUl9FVFMgfCBFVEhfRE1BU1JfUldUUyB8CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVUSF9ETUFTUl9SQlVTIHwgRVRIX0RNQVNSX0FJUykpOworICAgICAgfQorI2lmIChVU0VfSEFMX0VUSF9SRUdJU1RFUl9DQUxMQkFDS1MgPT0gMSkKKyAgICAgIC8qIENhbGwgcmVnaXN0ZXJlZCBFcnJvciBjYWxsYmFjayovCisgICAgICBoZXRoLT5FcnJvckNhbGxiYWNrKGhldGgpOworI2Vsc2UKKyAgICAgIC8qIEV0aGVybmV0IERNQSBFcnJvciBjYWxsYmFjayAqLworICAgICAgSEFMX0VUSF9FcnJvckNhbGxiYWNrKGhldGgpOworI2VuZGlmICAvKiBVU0VfSEFMX0VUSF9SRUdJU1RFUl9DQUxMQkFDS1MgKi8KKworICAgIH0KKyAgfQorCisKKyAgLyogRVRIIFBNVCBJVCAqLworICBpZiAoX19IQUxfRVRIX01BQ19HRVRfSVQoaGV0aCwgRVRIX01BQ19QTVRfSVQpKQorICB7CisgICAgLyogR2V0IE1BQyBXYWtlLXVwIHNvdXJjZSBhbmQgY2xlYXIgdGhlIHN0YXR1cyByZWdpc3RlciBwZW5kaW5nIGJpdCAqLworICAgIGhldGgtPk1BQ1dha2VVcEV2ZW50ID0gUkVBRF9CSVQoaGV0aC0+SW5zdGFuY2UtPk1BQ1BNVENTUiwgKEVUSF9NQUNQTVRDU1JfV0ZSIHwgRVRIX01BQ1BNVENTUl9NUFIpKTsKKworI2lmIChVU0VfSEFMX0VUSF9SRUdJU1RFUl9DQUxMQkFDS1MgPT0gMSkKKyAgICAvKiBDYWxsIHJlZ2lzdGVyZWQgUE1UIGNhbGxiYWNrKi8KKyAgICBoZXRoLT5QTVRDYWxsYmFjayhoZXRoKTsKKyNlbHNlCisgICAgLyogRXRoZXJuZXQgUE1UIGNhbGxiYWNrICovCisgICAgSEFMX0VUSF9QTVRDYWxsYmFjayhoZXRoKTsKKyNlbmRpZiAgLyogVVNFX0hBTF9FVEhfUkVHSVNURVJfQ0FMTEJBQ0tTICovCisKKyAgICBoZXRoLT5NQUNXYWtlVXBFdmVudCA9ICh1aW50MzJfdCkoMHgwVSk7CisgIH0KKworCisgIC8qIGNoZWNrIEVUSCBXQUtFVVAgZXh0aSBmbGFnICovCisgIGlmIChfX0hBTF9FVEhfV0FLRVVQX0VYVElfR0VUX0ZMQUcoRVRIX1dBS0VVUF9FWFRJX0xJTkUpICE9ICh1aW50MzJfdClSRVNFVCkKKyAgeworICAgIC8qIENsZWFyIEVUSCBXQUtFVVAgRXh0aSBwZW5kaW5nIGJpdCAqLworICAgIF9fSEFMX0VUSF9XQUtFVVBfRVhUSV9DTEVBUl9GTEFHKEVUSF9XQUtFVVBfRVhUSV9MSU5FKTsKKyNpZiAoVVNFX0hBTF9FVEhfUkVHSVNURVJfQ0FMTEJBQ0tTID09IDEpCisgICAgLyogQ2FsbCByZWdpc3RlcmVkIFdha2VVcCBjYWxsYmFjayovCisgICAgaGV0aC0+V2FrZVVwQ2FsbGJhY2soaGV0aCk7CisjZWxzZQorICAgIC8qIEVUSCBXQUtFVVAgY2FsbGJhY2sgKi8KKyAgICBIQUxfRVRIX1dha2VVcENhbGxiYWNrKGhldGgpOworI2VuZGlmIC8qIFVTRV9IQUxfRVRIX1JFR0lTVEVSX0NBTExCQUNLUyAqLwogICB9CiB9CiAKIC8qKgogICAqIEBicmllZiAgVHggVHJhbnNmZXIgY29tcGxldGVkIGNhbGxiYWNrcy4KLSAgKiBAcGFyYW0gIGhldGggcG9pbnRlciB0byBhIEVUSF9IYW5kbGVUeXBlRGVmIHN0cnVjdHVyZSB0aGF0IGNvbnRhaW5zCisgICogQHBhcmFtICBoZXRoOiBwb2ludGVyIHRvIGEgRVRIX0hhbmRsZVR5cGVEZWYgc3RydWN0dXJlIHRoYXQgY29udGFpbnMKICAgKiAgICAgICAgIHRoZSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIGZvciBFVEhFUk5FVCBtb2R1bGUKICAgKiBAcmV0dmFsIE5vbmUKICAgKi8KQEAgLTEyNDcsMTIgKzE5MzIsMTIgQEAKICAgVU5VU0VEKGhldGgpOwogICAvKiBOT1RFIDogVGhpcyBmdW5jdGlvbiBTaG91bGQgbm90IGJlIG1vZGlmaWVkLCB3aGVuIHRoZSBjYWxsYmFjayBpcyBuZWVkZWQsCiAgIHRoZSBIQUxfRVRIX1R4Q3BsdENhbGxiYWNrIGNvdWxkIGJlIGltcGxlbWVudGVkIGluIHRoZSB1c2VyIGZpbGUKLSAgKi8gCisgICovCiB9CiAKIC8qKgogICAqIEBicmllZiAgUnggVHJhbnNmZXIgY29tcGxldGVkIGNhbGxiYWNrcy4KLSAgKiBAcGFyYW0gIGhldGggcG9pbnRlciB0byBhIEVUSF9IYW5kbGVUeXBlRGVmIHN0cnVjdHVyZSB0aGF0IGNvbnRhaW5zCisgICogQHBhcmFtICBoZXRoOiBwb2ludGVyIHRvIGEgRVRIX0hhbmRsZVR5cGVEZWYgc3RydWN0dXJlIHRoYXQgY29udGFpbnMKICAgKiAgICAgICAgIHRoZSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIGZvciBFVEhFUk5FVCBtb2R1bGUKICAgKiBAcmV0dmFsIE5vbmUKICAgKi8KQEAgLTEyNjEsMTMgKzE5NDYsMTMgQEAKICAgLyogUHJldmVudCB1bnVzZWQgYXJndW1lbnQocykgY29tcGlsYXRpb24gd2FybmluZyAqLwogICBVTlVTRUQoaGV0aCk7CiAgIC8qIE5PVEUgOiBUaGlzIGZ1bmN0aW9uIFNob3VsZCBub3QgYmUgbW9kaWZpZWQsIHdoZW4gdGhlIGNhbGxiYWNrIGlzIG5lZWRlZCwKLSAgdGhlIEhBTF9FVEhfVHhDcGx0Q2FsbGJhY2sgY291bGQgYmUgaW1wbGVtZW50ZWQgaW4gdGhlIHVzZXIgZmlsZQotICAqLyAKKyAgdGhlIEhBTF9FVEhfUnhDcGx0Q2FsbGJhY2sgY291bGQgYmUgaW1wbGVtZW50ZWQgaW4gdGhlIHVzZXIgZmlsZQorICAqLwogfQogCiAvKioKICAgKiBAYnJpZWYgIEV0aGVybmV0IHRyYW5zZmVyIGVycm9yIGNhbGxiYWNrcwotICAqIEBwYXJhbSAgaGV0aCBwb2ludGVyIHRvIGEgRVRIX0hhbmRsZVR5cGVEZWYgc3RydWN0dXJlIHRoYXQgY29udGFpbnMKKyAgKiBAcGFyYW0gIGhldGg6IHBvaW50ZXIgdG8gYSBFVEhfSGFuZGxlVHlwZURlZiBzdHJ1Y3R1cmUgdGhhdCBjb250YWlucwogICAqICAgICAgICAgdGhlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gZm9yIEVUSEVSTkVUIG1vZHVsZQogICAqIEByZXR2YWwgTm9uZQogICAqLwpAQCAtMTI3NiwxNTMgKzE5NjEsMTQyIEBACiAgIC8qIFByZXZlbnQgdW51c2VkIGFyZ3VtZW50KHMpIGNvbXBpbGF0aW9uIHdhcm5pbmcgKi8KICAgVU5VU0VEKGhldGgpOwogICAvKiBOT1RFIDogVGhpcyBmdW5jdGlvbiBTaG91bGQgbm90IGJlIG1vZGlmaWVkLCB3aGVuIHRoZSBjYWxsYmFjayBpcyBuZWVkZWQsCi0gIHRoZSBIQUxfRVRIX1R4Q3BsdENhbGxiYWNrIGNvdWxkIGJlIGltcGxlbWVudGVkIGluIHRoZSB1c2VyIGZpbGUKLSAgKi8gCisgIHRoZSBIQUxfRVRIX0Vycm9yQ2FsbGJhY2sgY291bGQgYmUgaW1wbGVtZW50ZWQgaW4gdGhlIHVzZXIgZmlsZQorICAqLwogfQogCiAvKioKLSAgKiBAYnJpZWYgIFJlYWRzIGEgUEhZIHJlZ2lzdGVyCi0gICogQHBhcmFtICBoZXRoIHBvaW50ZXIgdG8gYSBFVEhfSGFuZGxlVHlwZURlZiBzdHJ1Y3R1cmUgdGhhdCBjb250YWlucwotICAqICAgICAgICAgdGhlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gZm9yIEVUSEVSTkVUIG1vZHVsZSAgICAgICAgICAgICAgICAgIAotICAqIEBwYXJhbSBQSFlSZWcgUEhZIHJlZ2lzdGVyIGFkZHJlc3MsIGlzIHRoZSBpbmRleCBvZiBvbmUgb2YgdGhlIDMyIFBIWSByZWdpc3Rlci4gCi0gICogICAgICAgICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIG9uZSBvZiB0aGUgZm9sbG93aW5nIHZhbHVlczogCi0gICogICAgICAgICAgICAgICAgICAgUEhZX0JDUjogVHJhbnNjZWl2ZXIgQmFzaWMgQ29udHJvbCBSZWdpc3RlciwgCi0gICogICAgICAgICAgICAgICAgICAgUEhZX0JTUjogVHJhbnNjZWl2ZXIgQmFzaWMgU3RhdHVzIFJlZ2lzdGVyLiAgIAotICAqICAgICAgICAgICAgICAgICAgIE1vcmUgUEhZIHJlZ2lzdGVyIGNvdWxkIGJlIHJlYWQgZGVwZW5kaW5nIG9uIHRoZSB1c2VkIFBIWQotICAqIEBwYXJhbSBSZWdWYWx1ZSBQSFkgcmVnaXN0ZXIgdmFsdWUgICAgICAgICAgICAgICAgICAKKyAgKiBAYnJpZWYgIEV0aGVybmV0IFBvd2VyIE1hbmFnZW1lbnQgbW9kdWxlIElUIGNhbGxiYWNrCisgICogQHBhcmFtICBoZXRoOiBwb2ludGVyIHRvIGEgRVRIX0hhbmRsZVR5cGVEZWYgc3RydWN0dXJlIHRoYXQgY29udGFpbnMKKyAgKiAgICAgICAgIHRoZSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIGZvciBFVEhFUk5FVCBtb2R1bGUKKyAgKiBAcmV0dmFsIE5vbmUKKyAgKi8KK19fd2VhayB2b2lkIEhBTF9FVEhfUE1UQ2FsbGJhY2soRVRIX0hhbmRsZVR5cGVEZWYgKmhldGgpCit7CisgIC8qIFByZXZlbnQgdW51c2VkIGFyZ3VtZW50KHMpIGNvbXBpbGF0aW9uIHdhcm5pbmcgKi8KKyAgVU5VU0VEKGhldGgpOworICAvKiBOT1RFIDogVGhpcyBmdW5jdGlvbiBTaG91bGQgbm90IGJlIG1vZGlmaWVkLCB3aGVuIHRoZSBjYWxsYmFjayBpcyBuZWVkZWQsCisgIHRoZSBIQUxfRVRIX1BNVENhbGxiYWNrIGNvdWxkIGJlIGltcGxlbWVudGVkIGluIHRoZSB1c2VyIGZpbGUKKyAgKi8KK30KKworCisvKioKKyAgKiBAYnJpZWYgIEVUSCBXQUtFVVAgaW50ZXJydXB0IGNhbGxiYWNrCisgICogQHBhcmFtICBoZXRoOiBwb2ludGVyIHRvIGEgRVRIX0hhbmRsZVR5cGVEZWYgc3RydWN0dXJlIHRoYXQgY29udGFpbnMKKyAgKiAgICAgICAgIHRoZSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIGZvciBFVEhFUk5FVCBtb2R1bGUKKyAgKiBAcmV0dmFsIE5vbmUKKyAgKi8KK19fd2VhayB2b2lkIEhBTF9FVEhfV2FrZVVwQ2FsbGJhY2soRVRIX0hhbmRsZVR5cGVEZWYgKmhldGgpCit7CisgIC8qIFByZXZlbnQgdW51c2VkIGFyZ3VtZW50KHMpIGNvbXBpbGF0aW9uIHdhcm5pbmcgKi8KKyAgVU5VU0VEKGhldGgpOworICAvKiBOT1RFIDogVGhpcyBmdW5jdGlvbiBTaG91bGQgbm90IGJlIG1vZGlmaWVkLCB3aGVuIHRoZSBjYWxsYmFjayBpcyBuZWVkZWQsCisgICAgICAgICAgICB0aGUgSEFMX0VUSF9XYWtlVXBDYWxsYmFjayBjb3VsZCBiZSBpbXBsZW1lbnRlZCBpbiB0aGUgdXNlciBmaWxlCisgICAqLworfQorCisvKioKKyAgKiBAYnJpZWYgIFJlYWQgYSBQSFkgcmVnaXN0ZXIKKyAgKiBAcGFyYW0gIGhldGg6IHBvaW50ZXIgdG8gYSBFVEhfSGFuZGxlVHlwZURlZiBzdHJ1Y3R1cmUgdGhhdCBjb250YWlucworICAqICAgICAgICAgdGhlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gZm9yIEVUSEVSTkVUIG1vZHVsZQorICAqIEBwYXJhbSAgUEhZQWRkcjogUEhZIHBvcnQgYWRkcmVzcywgbXVzdCBiZSBhIHZhbHVlIGZyb20gMCB0byAzMQorICAqIEBwYXJhbSAgUEhZUmVnOiBQSFkgcmVnaXN0ZXIgYWRkcmVzcywgbXVzdCBiZSBhIHZhbHVlIGZyb20gMCB0byAzMQorICAqIEBwYXJhbSBwUmVnVmFsdWU6IHBhcmFtZXRlciB0byBob2xkIHJlYWQgdmFsdWUKICAgKiBAcmV0dmFsIEhBTCBzdGF0dXMKICAgKi8KLUhBTF9TdGF0dXNUeXBlRGVmIEhBTF9FVEhfUmVhZFBIWVJlZ2lzdGVyKEVUSF9IYW5kbGVUeXBlRGVmICpoZXRoLCB1aW50MTZfdCBQSFlSZWcsIHVpbnQzMl90ICpSZWdWYWx1ZSkKK0hBTF9TdGF0dXNUeXBlRGVmIEhBTF9FVEhfUmVhZFBIWVJlZ2lzdGVyKEVUSF9IYW5kbGVUeXBlRGVmICpoZXRoLCB1aW50MzJfdCBQSFlBZGRyLCB1aW50MzJfdCBQSFlSZWcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCAqcFJlZ1ZhbHVlKQogewotICB1aW50MzJfdCB0bXByZWcxID0gMFU7ICAgICAKLSAgdWludDMyX3QgdGlja3N0YXJ0ID0gMFU7Ci0gIAotICAvKiBDaGVjayBwYXJhbWV0ZXJzICovCi0gIGFzc2VydF9wYXJhbShJU19FVEhfUEhZX0FERFJFU1MoaGV0aC0+SW5pdC5QaHlBZGRyZXNzKSk7Ci0gIAotICAvKiBDaGVjayB0aGUgRVRIIHBlcmlwaGVyYWwgc3RhdGUgKi8KLSAgaWYoaGV0aC0+U3RhdGUgPT0gSEFMX0VUSF9TVEFURV9CVVNZX1JEKQotICB7Ci0gICAgcmV0dXJuIEhBTF9CVVNZOwotICB9Ci0gIC8qIFNldCBFVEggSEFMIFN0YXRlIHRvIEJVU1lfUkQgKi8KLSAgaGV0aC0+U3RhdGUgPSBIQUxfRVRIX1NUQVRFX0JVU1lfUkQ7Ci0gIAorICB1aW50MzJfdCB0bXByZWcxOworICB1aW50MzJfdCB0aWNrc3RhcnQ7CisKICAgLyogR2V0IHRoZSBFVEhFUk5FVCBNQUNNSUlBUiB2YWx1ZSAqLwogICB0bXByZWcxID0gaGV0aC0+SW5zdGFuY2UtPk1BQ01JSUFSOwotICAKKwogICAvKiBLZWVwIG9ubHkgdGhlIENTUiBDbG9jayBSYW5nZSBDUlsyOjBdIGJpdHMgdmFsdWUgKi8KICAgdG1wcmVnMSAmPSB+RVRIX01BQ01JSUFSX0NSX01BU0s7Ci0gIAorCiAgIC8qIFByZXBhcmUgdGhlIE1JSSBhZGRyZXNzIHJlZ2lzdGVyIHZhbHVlICovCi0gIHRtcHJlZzEgfD0oKCh1aW50MzJfdCloZXRoLT5Jbml0LlBoeUFkZHJlc3MgPDwgMTFVKSAmIEVUSF9NQUNNSUlBUl9QQSk7IC8qIFNldCB0aGUgUEhZIGRldmljZSBhZGRyZXNzICAgKi8KLSAgdG1wcmVnMSB8PSgoKHVpbnQzMl90KVBIWVJlZzw8NlUpICYgRVRIX01BQ01JSUFSX01SKTsgICAgICAgICAgICAgICAgICAgLyogU2V0IHRoZSBQSFkgcmVnaXN0ZXIgYWRkcmVzcyAqLworICB0bXByZWcxIHw9ICgoUEhZQWRkciA8PCAxMVUpICYgRVRIX01BQ01JSUFSX1BBKTsgICAgICAgICAgICAgICAgICAgICAgICAvKiBTZXQgdGhlIFBIWSBkZXZpY2UgYWRkcmVzcyAgICovCisgIHRtcHJlZzEgfD0gKCgodWludDMyX3QpUEhZUmVnIDw8IDZVKSAmIEVUSF9NQUNNSUlBUl9NUik7ICAgICAgICAgICAgICAgIC8qIFNldCB0aGUgUEhZIHJlZ2lzdGVyIGFkZHJlc3MgKi8KICAgdG1wcmVnMSAmPSB+RVRIX01BQ01JSUFSX01XOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogU2V0IHRoZSByZWFkIG1vZGUgICAgICAgICAgICAqLwogICB0bXByZWcxIHw9IEVUSF9NQUNNSUlBUl9NQjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBTZXQgdGhlIE1JSSBCdXN5IGJpdCAgICAgICAgICovCi0gIAorCiAgIC8qIFdyaXRlIHRoZSByZXN1bHQgdmFsdWUgaW50byB0aGUgTUlJIEFkZHJlc3MgcmVnaXN0ZXIgKi8KICAgaGV0aC0+SW5zdGFuY2UtPk1BQ01JSUFSID0gdG1wcmVnMTsKLSAgCi0gIC8qIEdldCB0aWNrICovCisKKwogICB0aWNrc3RhcnQgPSBIQUxfR2V0VGljaygpOwotICAKKwogICAvKiBDaGVjayBmb3IgdGhlIEJ1c3kgZmxhZyAqLwotICB3aGlsZSgodG1wcmVnMSAmIEVUSF9NQUNNSUlBUl9NQikgPT0gRVRIX01BQ01JSUFSX01CKQorICB3aGlsZSAoKHRtcHJlZzEgJiBFVEhfTUFDTUlJQVJfTUIpID09IEVUSF9NQUNNSUlBUl9NQikKICAgewogICAgIC8qIENoZWNrIGZvciB0aGUgVGltZW91dCAqLwotICAgIGlmKChIQUxfR2V0VGljaygpIC0gdGlja3N0YXJ0ICkgPiBQSFlfUkVBRF9UTykKKyAgICBpZiAoKEhBTF9HZXRUaWNrKCkgLSB0aWNrc3RhcnQpID4gUEhZX1JFQURfVE8pCiAgICAgewotICAgICAgaGV0aC0+U3RhdGU9IEhBTF9FVEhfU1RBVEVfUkVBRFk7Ci0gIAotICAgICAgLyogUHJvY2VzcyBVbmxvY2tlZCAqLwotICAgICAgX19IQUxfVU5MT0NLKGhldGgpOwotICAgIAotICAgICAgcmV0dXJuIEhBTF9USU1FT1VUOworICAgICAgcmV0dXJuIEhBTF9FUlJPUjsKICAgICB9Ci0gICAgCisKICAgICB0bXByZWcxID0gaGV0aC0+SW5zdGFuY2UtPk1BQ01JSUFSOwogICB9Ci0gIAorCiAgIC8qIEdldCBNQUNNSUlEUiB2YWx1ZSAqLwotICAqUmVnVmFsdWUgPSAodWludDE2X3QpKGhldGgtPkluc3RhbmNlLT5NQUNNSUlEUik7Ci0gIAotICAvKiBTZXQgRVRIIEhBTCBTdGF0ZSB0byBSRUFEWSAqLwotICBoZXRoLT5TdGF0ZSA9IEhBTF9FVEhfU1RBVEVfUkVBRFk7Ci0gIAotICAvKiBSZXR1cm4gZnVuY3Rpb24gc3RhdHVzICovCisgICpwUmVnVmFsdWUgPSAodWludDE2X3QpKGhldGgtPkluc3RhbmNlLT5NQUNNSUlEUik7CisKICAgcmV0dXJuIEhBTF9PSzsKIH0KIAorCiAvKioKICAgKiBAYnJpZWYgIFdyaXRlcyB0byBhIFBIWSByZWdpc3Rlci4KLSAgKiBAcGFyYW0gIGhldGggcG9pbnRlciB0byBhIEVUSF9IYW5kbGVUeXBlRGVmIHN0cnVjdHVyZSB0aGF0IGNvbnRhaW5zCi0gICogICAgICAgICB0aGUgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbiBmb3IgRVRIRVJORVQgbW9kdWxlICAKLSAgKiBAcGFyYW0gIFBIWVJlZyBQSFkgcmVnaXN0ZXIgYWRkcmVzcywgaXMgdGhlIGluZGV4IG9mIG9uZSBvZiB0aGUgMzIgUEhZIHJlZ2lzdGVyLiAKLSAgKiAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgb25lIG9mIHRoZSBmb2xsb3dpbmcgdmFsdWVzOiAKLSAgKiAgICAgICAgICAgICBQSFlfQkNSOiBUcmFuc2NlaXZlciBDb250cm9sIFJlZ2lzdGVyLiAgCi0gICogICAgICAgICAgICAgTW9yZSBQSFkgcmVnaXN0ZXIgY291bGQgYmUgd3JpdHRlbiBkZXBlbmRpbmcgb24gdGhlIHVzZWQgUEhZCi0gICogQHBhcmFtICBSZWdWYWx1ZSB0aGUgdmFsdWUgdG8gd3JpdGUKKyAgKiBAcGFyYW0gIGhldGg6IHBvaW50ZXIgdG8gYSBFVEhfSGFuZGxlVHlwZURlZiBzdHJ1Y3R1cmUgdGhhdCBjb250YWlucworICAqICAgICAgICAgdGhlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gZm9yIEVUSEVSTkVUIG1vZHVsZQorICAqIEBwYXJhbSAgUEhZQWRkcjogUEhZIHBvcnQgYWRkcmVzcywgbXVzdCBiZSBhIHZhbHVlIGZyb20gMCB0byAzMQorICAqIEBwYXJhbSAgUEhZUmVnOiBQSFkgcmVnaXN0ZXIgYWRkcmVzcywgbXVzdCBiZSBhIHZhbHVlIGZyb20gMCB0byAzMQorICAqIEBwYXJhbSAgUmVnVmFsdWU6IHRoZSB2YWx1ZSB0byB3cml0ZQogICAqIEByZXR2YWwgSEFMIHN0YXR1cwogICAqLwotSEFMX1N0YXR1c1R5cGVEZWYgSEFMX0VUSF9Xcml0ZVBIWVJlZ2lzdGVyKEVUSF9IYW5kbGVUeXBlRGVmICpoZXRoLCB1aW50MTZfdCBQSFlSZWcsIHVpbnQzMl90IFJlZ1ZhbHVlKQorSEFMX1N0YXR1c1R5cGVEZWYgSEFMX0VUSF9Xcml0ZVBIWVJlZ2lzdGVyKEVUSF9IYW5kbGVUeXBlRGVmICpoZXRoLCB1aW50MzJfdCBQSFlBZGRyLCB1aW50MzJfdCBQSFlSZWcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgUmVnVmFsdWUpCiB7Ci0gIHVpbnQzMl90IHRtcHJlZzEgPSAwVTsKLSAgdWludDMyX3QgdGlja3N0YXJ0ID0gMFU7Ci0gIAotICAvKiBDaGVjayBwYXJhbWV0ZXJzICovCi0gIGFzc2VydF9wYXJhbShJU19FVEhfUEhZX0FERFJFU1MoaGV0aC0+SW5pdC5QaHlBZGRyZXNzKSk7Ci0gIAotICAvKiBDaGVjayB0aGUgRVRIIHBlcmlwaGVyYWwgc3RhdGUgKi8KLSAgaWYoaGV0aC0+U3RhdGUgPT0gSEFMX0VUSF9TVEFURV9CVVNZX1dSKQotICB7Ci0gICAgcmV0dXJuIEhBTF9CVVNZOwotICB9Ci0gIC8qIFNldCBFVEggSEFMIFN0YXRlIHRvIEJVU1lfV1IgKi8KLSAgaGV0aC0+U3RhdGUgPSBIQUxfRVRIX1NUQVRFX0JVU1lfV1I7Ci0gIAorICB1aW50MzJfdCB0bXByZWcxOworICB1aW50MzJfdCB0aWNrc3RhcnQ7CisKICAgLyogR2V0IHRoZSBFVEhFUk5FVCBNQUNNSUlBUiB2YWx1ZSAqLwogICB0bXByZWcxID0gaGV0aC0+SW5zdGFuY2UtPk1BQ01JSUFSOwotICAKKwogICAvKiBLZWVwIG9ubHkgdGhlIENTUiBDbG9jayBSYW5nZSBDUlsyOjBdIGJpdHMgdmFsdWUgKi8KICAgdG1wcmVnMSAmPSB+RVRIX01BQ01JSUFSX0NSX01BU0s7Ci0gIAorCiAgIC8qIFByZXBhcmUgdGhlIE1JSSByZWdpc3RlciBhZGRyZXNzIHZhbHVlICovCi0gIHRtcHJlZzEgfD0oKCh1aW50MzJfdCloZXRoLT5Jbml0LlBoeUFkZHJlc3M8PDExVSkgJiBFVEhfTUFDTUlJQVJfUEEpOyAvKiBTZXQgdGhlIFBIWSBkZXZpY2UgYWRkcmVzcyAqLwotICB0bXByZWcxIHw9KCgodWludDMyX3QpUEhZUmVnPDw2VSkgJiBFVEhfTUFDTUlJQVJfTVIpOyAgICAgICAgICAgICAgICAgLyogU2V0IHRoZSBQSFkgcmVnaXN0ZXIgYWRkcmVzcyAqLworICB0bXByZWcxIHw9ICgoUEhZQWRkciA8PCAxMVUpICYgRVRIX01BQ01JSUFSX1BBKTsgICAgICAgICAgICAgICAgICAgICAgLyogU2V0IHRoZSBQSFkgZGV2aWNlIGFkZHJlc3MgKi8KKyAgdG1wcmVnMSB8PSAoKCh1aW50MzJfdClQSFlSZWcgPDwgNlUpICYgRVRIX01BQ01JSUFSX01SKTsgICAgICAgICAgICAgIC8qIFNldCB0aGUgUEhZIHJlZ2lzdGVyIGFkZHJlc3MgKi8KICAgdG1wcmVnMSB8PSBFVEhfTUFDTUlJQVJfTVc7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIFNldCB0aGUgd3JpdGUgbW9kZSAqLwogICB0bXByZWcxIHw9IEVUSF9NQUNNSUlBUl9NQjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogU2V0IHRoZSBNSUkgQnVzeSBiaXQgKi8KLSAgCisKICAgLyogR2l2ZSB0aGUgdmFsdWUgdG8gdGhlIE1JSSBkYXRhIHJlZ2lzdGVyICovCiAgIGhldGgtPkluc3RhbmNlLT5NQUNNSUlEUiA9ICh1aW50MTZfdClSZWdWYWx1ZTsKLSAgCisKICAgLyogV3JpdGUgdGhlIHJlc3VsdCB2YWx1ZSBpbnRvIHRoZSBNSUkgQWRkcmVzcyByZWdpc3RlciAqLwogICBoZXRoLT5JbnN0YW5jZS0+TUFDTUlJQVIgPSB0bXByZWcxOwotICAKKwogICAvKiBHZXQgdGljayAqLwogICB0aWNrc3RhcnQgPSBIQUxfR2V0VGljaygpOwotICAKKwogICAvKiBDaGVjayBmb3IgdGhlIEJ1c3kgZmxhZyAqLwotICB3aGlsZSgodG1wcmVnMSAmIEVUSF9NQUNNSUlBUl9NQikgPT0gRVRIX01BQ01JSUFSX01CKQorICB3aGlsZSAoKHRtcHJlZzEgJiBFVEhfTUFDTUlJQVJfTUIpID09IEVUSF9NQUNNSUlBUl9NQikKICAgewogICAgIC8qIENoZWNrIGZvciB0aGUgVGltZW91dCAqLwotICAgIGlmKChIQUxfR2V0VGljaygpIC0gdGlja3N0YXJ0ICkgPiBQSFlfV1JJVEVfVE8pCisgICAgaWYgKChIQUxfR2V0VGljaygpIC0gdGlja3N0YXJ0KSA+IFBIWV9XUklURV9UTykKICAgICB7Ci0gICAgICBoZXRoLT5TdGF0ZT0gSEFMX0VUSF9TVEFURV9SRUFEWTsKLSAgCi0gICAgICAvKiBQcm9jZXNzIFVubG9ja2VkICovCi0gICAgICBfX0hBTF9VTkxPQ0soaGV0aCk7Ci0gICAgCi0gICAgICByZXR1cm4gSEFMX1RJTUVPVVQ7CisgICAgICByZXR1cm4gSEFMX0VSUk9SOwogICAgIH0KLSAgICAKKwogICAgIHRtcHJlZzEgPSBoZXRoLT5JbnN0YW5jZS0+TUFDTUlJQVI7CiAgIH0KLSAgCi0gIC8qIFNldCBFVEggSEFMIFN0YXRlIHRvIFJFQURZICovCi0gIGhldGgtPlN0YXRlID0gSEFMX0VUSF9TVEFURV9SRUFEWTsKLSAgCi0gIC8qIFJldHVybiBmdW5jdGlvbiBzdGF0dXMgKi8KLSAgcmV0dXJuIEhBTF9PSzsgCisKKyAgcmV0dXJuIEhBTF9PSzsKIH0KIAogLyoqCkBAIC0xNDMwLDMyMSArMjEwNCw2MDcgQEAKICAgKi8KIAogLyoqIEBkZWZncm91cCBFVEhfRXhwb3J0ZWRfRnVuY3Rpb25zX0dyb3VwMyBQZXJpcGhlcmFsIENvbnRyb2wgZnVuY3Rpb25zCi0gKiAgQGJyaWVmICAgIFBlcmlwaGVyYWwgQ29udHJvbCBmdW5jdGlvbnMgCi0gKgotQHZlcmJhdGltICAgCi0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotICAgICAgICAgICAgICAgICAgIyMjIyMgUGVyaXBoZXJhbCBDb250cm9sIGZ1bmN0aW9ucyAjIyMjIwotID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gIAotICAgIFsuLl0gIFRoaXMgc2VjdGlvbiBwcm92aWRlcyBmdW5jdGlvbnMgYWxsb3dpbmcgdG86Ci0gICAgICAoKykgRW5hYmxlIE1BQyBhbmQgRE1BIHRyYW5zbWlzc2lvbiBhbmQgcmVjZXB0aW9uLgotICAgICAgICAgIEhBTF9FVEhfU3RhcnQoKTsKLSAgICAgICgrKSBEaXNhYmxlIE1BQyBhbmQgRE1BIHRyYW5zbWlzc2lvbiBhbmQgcmVjZXB0aW9uLiAKLSAgICAgICAgICBIQUxfRVRIX1N0b3AoKTsKLSAgICAgICgrKSBTZXQgdGhlIE1BQyBjb25maWd1cmF0aW9uIGluIHJ1bnRpbWUgbW9kZQotICAgICAgICAgIEhBTF9FVEhfQ29uZmlnTUFDKCk7Ci0gICAgICAoKykgU2V0IHRoZSBETUEgY29uZmlndXJhdGlvbiBpbiBydW50aW1lIG1vZGUKLSAgICAgICAgICBIQUxfRVRIX0NvbmZpZ0RNQSgpOworICAqICBAYnJpZWYgICBFVEggY29udHJvbCBmdW5jdGlvbnMKKyAgKgorQHZlcmJhdGltCisgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorICAgICAgICAgICAgICAgICAgICAgICMjIyMjIFBlcmlwaGVyYWwgQ29udHJvbCBmdW5jdGlvbnMgIyMjIyMKKyAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgIFsuLl0KKyAgICBUaGlzIHN1YnNlY3Rpb24gcHJvdmlkZXMgYSBzZXQgb2YgZnVuY3Rpb25zIGFsbG93aW5nIHRvIGNvbnRyb2wgdGhlIEVUSAorICAgIHBlcmlwaGVyYWwuCiAKIEBlbmR2ZXJiYXRpbQogICAqIEB7Ci0gICovIAotCi0gLyoqCi0gICogQGJyaWVmICBFbmFibGVzIEV0aGVybmV0IE1BQyBhbmQgRE1BIHJlY2VwdGlvbi90cmFuc21pc3Npb24gCi0gICogQHBhcmFtICBoZXRoIHBvaW50ZXIgdG8gYSBFVEhfSGFuZGxlVHlwZURlZiBzdHJ1Y3R1cmUgdGhhdCBjb250YWlucwotICAqICAgICAgICAgdGhlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gZm9yIEVUSEVSTkVUIG1vZHVsZQotICAqIEByZXR2YWwgSEFMIHN0YXR1cwogICAqLwotSEFMX1N0YXR1c1R5cGVEZWYgSEFMX0VUSF9TdGFydChFVEhfSGFuZGxlVHlwZURlZiAqaGV0aCkKLXsgIAotICAvKiBQcm9jZXNzIExvY2tlZCAqLwotICBfX0hBTF9MT0NLKGhldGgpOwotICAKLSAgLyogU2V0IHRoZSBFVEggcGVyaXBoZXJhbCBzdGF0ZSB0byBCVVNZICovCi0gIGhldGgtPlN0YXRlID0gSEFMX0VUSF9TVEFURV9CVVNZOwotICAKLSAgLyogRW5hYmxlIHRyYW5zbWl0IHN0YXRlIG1hY2hpbmUgb2YgdGhlIE1BQyBmb3IgdHJhbnNtaXNzaW9uIG9uIHRoZSBNSUkgKi8KLSAgRVRIX01BQ1RyYW5zbWlzc2lvbkVuYWJsZShoZXRoKTsKLSAgCi0gIC8qIEVuYWJsZSByZWNlaXZlIHN0YXRlIG1hY2hpbmUgb2YgdGhlIE1BQyBmb3IgcmVjZXB0aW9uIGZyb20gdGhlIE1JSSAqLwotICBFVEhfTUFDUmVjZXB0aW9uRW5hYmxlKGhldGgpOwotICAKLSAgLyogRmx1c2ggVHJhbnNtaXQgRklGTyAqLwotICBFVEhfRmx1c2hUcmFuc21pdEZJRk8oaGV0aCk7Ci0gIAotICAvKiBTdGFydCBETUEgdHJhbnNtaXNzaW9uICovCi0gIEVUSF9ETUFUcmFuc21pc3Npb25FbmFibGUoaGV0aCk7Ci0gIAotICAvKiBTdGFydCBETUEgcmVjZXB0aW9uICovCi0gIEVUSF9ETUFSZWNlcHRpb25FbmFibGUoaGV0aCk7Ci0gIAotICAvKiBTZXQgdGhlIEVUSCBzdGF0ZSB0byBSRUFEWSovCi0gIGhldGgtPlN0YXRlPSBIQUxfRVRIX1NUQVRFX1JFQURZOwotICAKLSAgLyogUHJvY2VzcyBVbmxvY2tlZCAqLwotICBfX0hBTF9VTkxPQ0soaGV0aCk7Ci0gIAotICAvKiBSZXR1cm4gZnVuY3Rpb24gc3RhdHVzICovCisvKioKKyAgKiBAYnJpZWYgIEdldCB0aGUgY29uZmlndXJhdGlvbiBvZiB0aGUgTUFDIGFuZCBNVEwgc3Vic3lzdGVtcy4KKyAgKiBAcGFyYW0gIGhldGg6IHBvaW50ZXIgdG8gYSBFVEhfSGFuZGxlVHlwZURlZiBzdHJ1Y3R1cmUgdGhhdCBjb250YWlucworICAqICAgICAgICAgdGhlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gZm9yIEVUSEVSTkVUIG1vZHVsZQorICAqIEBwYXJhbSAgbWFjY29uZjogcG9pbnRlciB0byBhIEVUSF9NQUNDb25maWdUeXBlRGVmIHN0cnVjdHVyZSB0aGF0IHdpbGwgaG9sZAorICAqICAgICAgICAgdGhlIGNvbmZpZ3VyYXRpb24gb2YgdGhlIE1BQy4KKyAgKiBAcmV0dmFsIEhBTCBTdGF0dXMKKyAgKi8KK0hBTF9TdGF0dXNUeXBlRGVmIEhBTF9FVEhfR2V0TUFDQ29uZmlnKEVUSF9IYW5kbGVUeXBlRGVmICpoZXRoLCBFVEhfTUFDQ29uZmlnVHlwZURlZiAqbWFjY29uZikKK3sKKyAgaWYgKG1hY2NvbmYgPT0gTlVMTCkKKyAgeworICAgIHJldHVybiBIQUxfRVJST1I7CisgIH0KKworICAvKiBHZXQgTUFDIHBhcmFtZXRlcnMgKi8KKyAgbWFjY29uZi0+RGVmZXJyYWxDaGVjayA9ICgoUkVBRF9CSVQoaGV0aC0+SW5zdGFuY2UtPk1BQ0NSLCBFVEhfTUFDQ1JfREMpID4+IDQpID4gMFUpID8gRU5BQkxFIDogRElTQUJMRTsKKyAgbWFjY29uZi0+QmFja09mZkxpbWl0ID0gUkVBRF9CSVQoaGV0aC0+SW5zdGFuY2UtPk1BQ0NSLCBFVEhfTUFDQ1JfQkwpOworICBtYWNjb25mLT5SZXRyeVRyYW5zbWlzc2lvbiA9ICgoUkVBRF9CSVQoaGV0aC0+SW5zdGFuY2UtPk1BQ0NSLCBFVEhfTUFDQ1JfUkQpID4+IDkpID09IDBVKSA/IEVOQUJMRSA6IERJU0FCTEU7CisgIG1hY2NvbmYtPkNhcnJpZXJTZW5zZUR1cmluZ1RyYW5zbWl0ID0gKChSRUFEX0JJVChoZXRoLT5JbnN0YW5jZS0+TUFDQ1IsIEVUSF9NQUNDUl9DU0QpID4+IDE2KSA+IDBVKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gRU5BQkxFIDogRElTQUJMRTsKKyAgbWFjY29uZi0+UmVjZWl2ZU93biA9ICgoUkVBRF9CSVQoaGV0aC0+SW5zdGFuY2UtPk1BQ0NSLCBFVEhfTUFDQ1JfUk9EKSA+PiAxMykgPT0gMFUpID8gRU5BQkxFIDogRElTQUJMRTsKKyAgbWFjY29uZi0+TG9vcGJhY2tNb2RlID0gKChSRUFEX0JJVChoZXRoLT5JbnN0YW5jZS0+TUFDQ1IsIEVUSF9NQUNDUl9MTSkgPj4gMTIpID4gMFUpID8gRU5BQkxFIDogRElTQUJMRTsKKyAgbWFjY29uZi0+RHVwbGV4TW9kZSA9IFJFQURfQklUKGhldGgtPkluc3RhbmNlLT5NQUNDUiwgRVRIX01BQ0NSX0RNKTsKKyAgbWFjY29uZi0+U3BlZWQgPSBSRUFEX0JJVChoZXRoLT5JbnN0YW5jZS0+TUFDQ1IsIEVUSF9NQUNDUl9GRVMpOworICBtYWNjb25mLT5KYWJiZXIgPSAoKFJFQURfQklUKGhldGgtPkluc3RhbmNlLT5NQUNDUiwgRVRIX01BQ0NSX0pEKSA+PiAyMikgPT0gMFUpID8gRU5BQkxFIDogRElTQUJMRTsKKyAgbWFjY29uZi0+V2F0Y2hkb2cgPSAoKFJFQURfQklUKGhldGgtPkluc3RhbmNlLT5NQUNDUiwgRVRIX01BQ0NSX1dEKSA+PiAyMykgPT0gMFUpID8gRU5BQkxFIDogRElTQUJMRTsKKyAgbWFjY29uZi0+QXV0b21hdGljUGFkQ1JDU3RyaXAgPSAoKFJFQURfQklUKGhldGgtPkluc3RhbmNlLT5NQUNDUiwgRVRIX01BQ0NSX0FQQ1MpID4+IDcpID4gMFUpID8gRU5BQkxFIDogRElTQUJMRTsKKyAgbWFjY29uZi0+SW50ZXJQYWNrZXRHYXBWYWwgPSBSRUFEX0JJVChoZXRoLT5JbnN0YW5jZS0+TUFDQ1IsIEVUSF9NQUNDUl9JRkcpOworICBtYWNjb25mLT5DaGVja3N1bU9mZmxvYWQgPSAoKFJFQURfQklUKGhldGgtPkluc3RhbmNlLT5NQUNDUiwgRVRIX01BQ0NSX0lQQ08pID4+IDI3KSA+IDBVKSA/IEVOQUJMRSA6IERJU0FCTEU7CisKKworICBtYWNjb25mLT5UcmFuc21pdEZsb3dDb250cm9sID0gKChSRUFEX0JJVChoZXRoLT5JbnN0YW5jZS0+TUFDRkNSLCBFVEhfTUFDRkNSX1RGQ0UpID4+IDEpID4gMFUpID8gRU5BQkxFIDogRElTQUJMRTsKKyAgbWFjY29uZi0+WmVyb1F1YW50YVBhdXNlID0gKChSRUFEX0JJVChoZXRoLT5JbnN0YW5jZS0+TUFDRkNSLCBFVEhfTUFDRkNSX1pRUEQpID4+IDcpID09IDBVKSA/IEVOQUJMRSA6IERJU0FCTEU7CisgIG1hY2NvbmYtPlBhdXNlTG93VGhyZXNob2xkID0gUkVBRF9CSVQoaGV0aC0+SW5zdGFuY2UtPk1BQ0ZDUiwgRVRIX01BQ0ZDUl9QTFQpOworICBtYWNjb25mLT5QYXVzZVRpbWUgPSAoUkVBRF9CSVQoaGV0aC0+SW5zdGFuY2UtPk1BQ0ZDUiwgRVRIX01BQ0ZDUl9QVCkgPj4gMTYpOworICBtYWNjb25mLT5SZWNlaXZlRmxvd0NvbnRyb2wgPSAoUkVBRF9CSVQoaGV0aC0+SW5zdGFuY2UtPk1BQ0ZDUiwgRVRIX01BQ0ZDUl9SRkNFKSA+IDBVKSA/IEVOQUJMRSA6IERJU0FCTEU7CisgIG1hY2NvbmYtPlVuaWNhc3RQYXVzZVBhY2tldERldGVjdCA9ICgoUkVBRF9CSVQoaGV0aC0+SW5zdGFuY2UtPk1BQ0ZDUiwgRVRIX01BQ0ZDUl9VUEZEKSA+PiAxKSA+IDBVKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IEVOQUJMRSA6IERJU0FCTEU7CisKICAgcmV0dXJuIEhBTF9PSzsKIH0KIAogLyoqCi0gICogQGJyaWVmICBTdG9wIEV0aGVybmV0IE1BQyBhbmQgRE1BIHJlY2VwdGlvbi90cmFuc21pc3Npb24gCi0gICogQHBhcmFtICBoZXRoIHBvaW50ZXIgdG8gYSBFVEhfSGFuZGxlVHlwZURlZiBzdHJ1Y3R1cmUgdGhhdCBjb250YWlucworICAqIEBicmllZiAgR2V0IHRoZSBjb25maWd1cmF0aW9uIG9mIHRoZSBETUEuCisgICogQHBhcmFtICBoZXRoOiBwb2ludGVyIHRvIGEgRVRIX0hhbmRsZVR5cGVEZWYgc3RydWN0dXJlIHRoYXQgY29udGFpbnMKICAgKiAgICAgICAgIHRoZSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIGZvciBFVEhFUk5FVCBtb2R1bGUKLSAgKiBAcmV0dmFsIEhBTCBzdGF0dXMKKyAgKiBAcGFyYW0gIGRtYWNvbmY6IHBvaW50ZXIgdG8gYSBFVEhfRE1BQ29uZmlnVHlwZURlZiBzdHJ1Y3R1cmUgdGhhdCB3aWxsIGhvbGQKKyAgKiAgICAgICAgIHRoZSBjb25maWd1cmF0aW9uIG9mIHRoZSBFVEggRE1BLgorICAqIEByZXR2YWwgSEFMIFN0YXR1cwogICAqLwotSEFMX1N0YXR1c1R5cGVEZWYgSEFMX0VUSF9TdG9wKEVUSF9IYW5kbGVUeXBlRGVmICpoZXRoKQoteyAgCi0gIC8qIFByb2Nlc3MgTG9ja2VkICovCi0gIF9fSEFMX0xPQ0soaGV0aCk7Ci0gIAotICAvKiBTZXQgdGhlIEVUSCBwZXJpcGhlcmFsIHN0YXRlIHRvIEJVU1kgKi8KLSAgaGV0aC0+U3RhdGUgPSBIQUxfRVRIX1NUQVRFX0JVU1k7Ci0gIAotICAvKiBTdG9wIERNQSB0cmFuc21pc3Npb24gKi8KLSAgRVRIX0RNQVRyYW5zbWlzc2lvbkRpc2FibGUoaGV0aCk7Ci0gIAotICAvKiBTdG9wIERNQSByZWNlcHRpb24gKi8KLSAgRVRIX0RNQVJlY2VwdGlvbkRpc2FibGUoaGV0aCk7Ci0gIAotICAvKiBEaXNhYmxlIHJlY2VpdmUgc3RhdGUgbWFjaGluZSBvZiB0aGUgTUFDIGZvciByZWNlcHRpb24gZnJvbSB0aGUgTUlJICovCi0gIEVUSF9NQUNSZWNlcHRpb25EaXNhYmxlKGhldGgpOwotICAKLSAgLyogRmx1c2ggVHJhbnNtaXQgRklGTyAqLwotICBFVEhfRmx1c2hUcmFuc21pdEZJRk8oaGV0aCk7Ci0gIAotICAvKiBEaXNhYmxlIHRyYW5zbWl0IHN0YXRlIG1hY2hpbmUgb2YgdGhlIE1BQyBmb3IgdHJhbnNtaXNzaW9uIG9uIHRoZSBNSUkgKi8KLSAgRVRIX01BQ1RyYW5zbWlzc2lvbkRpc2FibGUoaGV0aCk7Ci0gIAotICAvKiBTZXQgdGhlIEVUSCBzdGF0ZSovCi0gIGhldGgtPlN0YXRlID0gSEFMX0VUSF9TVEFURV9SRUFEWTsKLSAgCi0gIC8qIFByb2Nlc3MgVW5sb2NrZWQgKi8KLSAgX19IQUxfVU5MT0NLKGhldGgpOwotICAKLSAgLyogUmV0dXJuIGZ1bmN0aW9uIHN0YXR1cyAqLworSEFMX1N0YXR1c1R5cGVEZWYgSEFMX0VUSF9HZXRETUFDb25maWcoRVRIX0hhbmRsZVR5cGVEZWYgKmhldGgsIEVUSF9ETUFDb25maWdUeXBlRGVmICpkbWFjb25mKQoreworICBpZiAoZG1hY29uZiA9PSBOVUxMKQorICB7CisgICAgcmV0dXJuIEhBTF9FUlJPUjsKKyAgfQorCisgIGRtYWNvbmYtPkRNQUFyYml0cmF0aW9uID0gUkVBRF9CSVQoaGV0aC0+SW5zdGFuY2UtPkRNQUJNUiwgRVRIX0RNQUJNUl9EU0wpID4+IDI7CisgIGRtYWNvbmYtPkFkZHJlc3NBbGlnbmVkQmVhdHMgPSAoKFJFQURfQklUKGhldGgtPkluc3RhbmNlLT5ETUFCTVIsIEVUSF9ETUFCTVJfQUFCKSA+PiAxMikgPiAwVSkgPyBFTkFCTEUgOiBESVNBQkxFOworICBkbWFjb25mLT5CdXJzdE1vZGUgPSBSRUFEX0JJVChoZXRoLT5JbnN0YW5jZS0+RE1BQk1SLCBFVEhfRE1BQk1SX0ZCIHwgRVRIX0RNQUJNUl9NQik7CisgIGRtYWNvbmYtPlJ4RE1BQnVyc3RMZW5ndGggPSBSRUFEX0JJVChoZXRoLT5JbnN0YW5jZS0+RE1BQk1SLCBFVEhfRE1BQk1SX1JEUCk7CisgIGRtYWNvbmYtPlR4RE1BQnVyc3RMZW5ndGggPSBSRUFEX0JJVChoZXRoLT5JbnN0YW5jZS0+RE1BQk1SLCBFVEhfRE1BQk1SX1BCTCk7CisgIGRtYWNvbmYtPkVuaGFuY2VkRGVzY3JpcHRvckZvcm1hdCA9ICgoUkVBRF9CSVQoaGV0aC0+SW5zdGFuY2UtPkRNQUJNUiwgRVRIX0RNQUJNUl9FREUpID4+IDcpID4gMFUpID8gRU5BQkxFIDogRElTQUJMRTsKKyAgZG1hY29uZi0+RGVzY3JpcHRvclNraXBMZW5ndGggPSBSRUFEX0JJVChoZXRoLT5JbnN0YW5jZS0+RE1BQk1SLCBFVEhfRE1BQk1SX0RTTCkgPj4gMjsKKworICBkbWFjb25mLT5Ecm9wVENQSVBDaGVja3N1bUVycm9yRnJhbWUgPSAoKFJFQURfQklUKGhldGgtPkluc3RhbmNlLT5ETUFPTVIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRVRIX0RNQU9NUl9EVENFRkQpID4+IDI2KSA+IDBVKSA/IERJU0FCTEUgOiBFTkFCTEU7CisgIGRtYWNvbmYtPlJlY2VpdmVTdG9yZUZvcndhcmQgPSAoKFJFQURfQklUKGhldGgtPkluc3RhbmNlLT5ETUFPTVIsIEVUSF9ETUFPTVJfUlNGKSA+PiAyNSkgPiAwVSkgPyBFTkFCTEUgOiBESVNBQkxFOworICBkbWFjb25mLT5GbHVzaFJ4UGFja2V0ID0gKChSRUFEX0JJVChoZXRoLT5JbnN0YW5jZS0+RE1BT01SLCBFVEhfRE1BT01SX0ZURikgPj4gMjApID4gMFUpID8gRElTQUJMRSA6IEVOQUJMRTsKKyAgZG1hY29uZi0+VHJhbnNtaXRTdG9yZUZvcndhcmQgPSAoKFJFQURfQklUKGhldGgtPkluc3RhbmNlLT5ETUFPTVIsIEVUSF9ETUFPTVJfVFNGKSA+PiAyMSkgPiAwVSkgPyBFTkFCTEUgOiBESVNBQkxFOworICBkbWFjb25mLT5UcmFuc21pdFRocmVzaG9sZENvbnRyb2wgPSBSRUFEX0JJVChoZXRoLT5JbnN0YW5jZS0+RE1BT01SLCBFVEhfRE1BT01SX1RUQyk7CisgIGRtYWNvbmYtPkZvcndhcmRFcnJvckZyYW1lcyA9ICgoUkVBRF9CSVQoaGV0aC0+SW5zdGFuY2UtPkRNQU9NUiwgRVRIX0RNQU9NUl9GRUYpID4+IDcpID4gMFUpID8gRU5BQkxFIDogRElTQUJMRTsKKyAgZG1hY29uZi0+Rm9yd2FyZFVuZGVyc2l6ZWRHb29kRnJhbWVzID0gKChSRUFEX0JJVChoZXRoLT5JbnN0YW5jZS0+RE1BT01SLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVUSF9ETUFPTVJfRlVHRikgPj4gNikgPiAwVSkgPyBFTkFCTEUgOiBESVNBQkxFOworICBkbWFjb25mLT5SZWNlaXZlVGhyZXNob2xkQ29udHJvbCA9IFJFQURfQklUKGhldGgtPkluc3RhbmNlLT5ETUFPTVIsIEVUSF9ETUFPTVJfUlRDKTsKKyAgZG1hY29uZi0+U2Vjb25kRnJhbWVPcGVyYXRlID0gKChSRUFEX0JJVChoZXRoLT5JbnN0YW5jZS0+RE1BT01SLCBFVEhfRE1BT01SX09TRikgPj4gMikgPiAwVSkgPyBFTkFCTEUgOiBESVNBQkxFOwogICByZXR1cm4gSEFMX09LOwogfQogCiAvKioKLSAgKiBAYnJpZWYgIFNldCBFVEggTUFDIENvbmZpZ3VyYXRpb24uCi0gICogQHBhcmFtICBoZXRoIHBvaW50ZXIgdG8gYSBFVEhfSGFuZGxlVHlwZURlZiBzdHJ1Y3R1cmUgdGhhdCBjb250YWlucworICAqIEBicmllZiAgU2V0IHRoZSBNQUMgY29uZmlndXJhdGlvbi4KKyAgKiBAcGFyYW0gIGhldGg6IHBvaW50ZXIgdG8gYSBFVEhfSGFuZGxlVHlwZURlZiBzdHJ1Y3R1cmUgdGhhdCBjb250YWlucwogICAqICAgICAgICAgdGhlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gZm9yIEVUSEVSTkVUIG1vZHVsZQotICAqIEBwYXJhbSAgbWFjY29uZiBNQUMgQ29uZmlndXJhdGlvbiBzdHJ1Y3R1cmUgIAorICAqIEBwYXJhbSAgbWFjY29uZjogcG9pbnRlciB0byBhIEVUSF9NQUNDb25maWdUeXBlRGVmIHN0cnVjdHVyZSB0aGF0IGNvbnRhaW5zCisgICogICAgICAgICB0aGUgY29uZmlndXJhdGlvbiBvZiB0aGUgTUFDLgogICAqIEByZXR2YWwgSEFMIHN0YXR1cwogICAqLwotSEFMX1N0YXR1c1R5cGVEZWYgSEFMX0VUSF9Db25maWdNQUMoRVRIX0hhbmRsZVR5cGVEZWYgKmhldGgsIEVUSF9NQUNJbml0VHlwZURlZiAqbWFjY29uZikKK0hBTF9TdGF0dXNUeXBlRGVmIEhBTF9FVEhfU2V0TUFDQ29uZmlnKEVUSF9IYW5kbGVUeXBlRGVmICpoZXRoLCAgRVRIX01BQ0NvbmZpZ1R5cGVEZWYgKm1hY2NvbmYpCiB7Ci0gIHVpbnQzMl90IHRtcHJlZzEgPSAwVTsKLSAgCi0gIC8qIFByb2Nlc3MgTG9ja2VkICovCi0gIF9fSEFMX0xPQ0soaGV0aCk7Ci0gIAotICAvKiBTZXQgdGhlIEVUSCBwZXJpcGhlcmFsIHN0YXRlIHRvIEJVU1kgKi8KLSAgaGV0aC0+U3RhdGU9IEhBTF9FVEhfU1RBVEVfQlVTWTsKLSAgCi0gIGFzc2VydF9wYXJhbShJU19FVEhfU1BFRUQoaGV0aC0+SW5pdC5TcGVlZCkpOwotICBhc3NlcnRfcGFyYW0oSVNfRVRIX0RVUExFWF9NT0RFKGhldGgtPkluaXQuRHVwbGV4TW9kZSkpOyAKLSAgCi0gIGlmIChtYWNjb25mICE9IE5VTEwpCisgIGlmIChtYWNjb25mID09IE5VTEwpCiAgIHsKLSAgICAvKiBDaGVjayB0aGUgcGFyYW1ldGVycyAqLwotICAgIGFzc2VydF9wYXJhbShJU19FVEhfV0FUQ0hET0cobWFjY29uZi0+V2F0Y2hkb2cpKTsKLSAgICBhc3NlcnRfcGFyYW0oSVNfRVRIX0pBQkJFUihtYWNjb25mLT5KYWJiZXIpKTsKLSAgICBhc3NlcnRfcGFyYW0oSVNfRVRIX0lOVEVSX0ZSQU1FX0dBUChtYWNjb25mLT5JbnRlckZyYW1lR2FwKSk7Ci0gICAgYXNzZXJ0X3BhcmFtKElTX0VUSF9DQVJSSUVSX1NFTlNFKG1hY2NvbmYtPkNhcnJpZXJTZW5zZSkpOwotICAgIGFzc2VydF9wYXJhbShJU19FVEhfUkVDRUlWRV9PV04obWFjY29uZi0+UmVjZWl2ZU93bikpOwotICAgIGFzc2VydF9wYXJhbShJU19FVEhfTE9PUEJBQ0tfTU9ERShtYWNjb25mLT5Mb29wYmFja01vZGUpKTsKLSAgICBhc3NlcnRfcGFyYW0oSVNfRVRIX0NIRUNLU1VNX09GRkxPQUQobWFjY29uZi0+Q2hlY2tzdW1PZmZsb2FkKSk7Ci0gICAgYXNzZXJ0X3BhcmFtKElTX0VUSF9SRVRSWV9UUkFOU01JU1NJT04obWFjY29uZi0+UmV0cnlUcmFuc21pc3Npb24pKTsKLSAgICBhc3NlcnRfcGFyYW0oSVNfRVRIX0FVVE9NQVRJQ19QQURDUkNfU1RSSVAobWFjY29uZi0+QXV0b21hdGljUGFkQ1JDU3RyaXApKTsKLSAgICBhc3NlcnRfcGFyYW0oSVNfRVRIX0JBQ0tPRkZfTElNSVQobWFjY29uZi0+QmFja09mZkxpbWl0KSk7Ci0gICAgYXNzZXJ0X3BhcmFtKElTX0VUSF9ERUZFUlJBTF9DSEVDSyhtYWNjb25mLT5EZWZlcnJhbENoZWNrKSk7Ci0gICAgYXNzZXJ0X3BhcmFtKElTX0VUSF9SRUNFSVZFX0FMTChtYWNjb25mLT5SZWNlaXZlQWxsKSk7Ci0gICAgYXNzZXJ0X3BhcmFtKElTX0VUSF9TT1VSQ0VfQUREUl9GSUxURVIobWFjY29uZi0+U291cmNlQWRkckZpbHRlcikpOwotICAgIGFzc2VydF9wYXJhbShJU19FVEhfQ09OVFJPTF9GUkFNRVMobWFjY29uZi0+UGFzc0NvbnRyb2xGcmFtZXMpKTsKLSAgICBhc3NlcnRfcGFyYW0oSVNfRVRIX0JST0FEQ0FTVF9GUkFNRVNfUkVDRVBUSU9OKG1hY2NvbmYtPkJyb2FkY2FzdEZyYW1lc1JlY2VwdGlvbikpOwotICAgIGFzc2VydF9wYXJhbShJU19FVEhfREVTVElOQVRJT05fQUREUl9GSUxURVIobWFjY29uZi0+RGVzdGluYXRpb25BZGRyRmlsdGVyKSk7Ci0gICAgYXNzZXJ0X3BhcmFtKElTX0VUSF9QUk9NSVNDVU9VU19NT0RFKG1hY2NvbmYtPlByb21pc2N1b3VzTW9kZSkpOwotICAgIGFzc2VydF9wYXJhbShJU19FVEhfTVVMVElDQVNUX0ZSQU1FU19GSUxURVIobWFjY29uZi0+TXVsdGljYXN0RnJhbWVzRmlsdGVyKSk7Ci0gICAgYXNzZXJ0X3BhcmFtKElTX0VUSF9VTklDQVNUX0ZSQU1FU19GSUxURVIobWFjY29uZi0+VW5pY2FzdEZyYW1lc0ZpbHRlcikpOwotICAgIGFzc2VydF9wYXJhbShJU19FVEhfUEFVU0VfVElNRShtYWNjb25mLT5QYXVzZVRpbWUpKTsKLSAgICBhc3NlcnRfcGFyYW0oSVNfRVRIX1pFUk9RVUFOVEFfUEFVU0UobWFjY29uZi0+WmVyb1F1YW50YVBhdXNlKSk7Ci0gICAgYXNzZXJ0X3BhcmFtKElTX0VUSF9QQVVTRV9MT1dfVEhSRVNIT0xEKG1hY2NvbmYtPlBhdXNlTG93VGhyZXNob2xkKSk7Ci0gICAgYXNzZXJ0X3BhcmFtKElTX0VUSF9VTklDQVNUX1BBVVNFX0ZSQU1FX0RFVEVDVChtYWNjb25mLT5VbmljYXN0UGF1c2VGcmFtZURldGVjdCkpOwotICAgIGFzc2VydF9wYXJhbShJU19FVEhfUkVDRUlWRV9GTE9XQ09OVFJPTChtYWNjb25mLT5SZWNlaXZlRmxvd0NvbnRyb2wpKTsKLSAgICBhc3NlcnRfcGFyYW0oSVNfRVRIX1RSQU5TTUlUX0ZMT1dDT05UUk9MKG1hY2NvbmYtPlRyYW5zbWl0Rmxvd0NvbnRyb2wpKTsKLSAgICBhc3NlcnRfcGFyYW0oSVNfRVRIX1ZMQU5fVEFHX0NPTVBBUklTT04obWFjY29uZi0+VkxBTlRhZ0NvbXBhcmlzb24pKTsKLSAgICBhc3NlcnRfcGFyYW0oSVNfRVRIX1ZMQU5fVEFHX0lERU5USUZJRVIobWFjY29uZi0+VkxBTlRhZ0lkZW50aWZpZXIpKTsKLSAgICAKLSAgICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBFVEhFUk5FVCBNQUNDUiBDb25maWd1cmF0aW9uIC0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KLSAgICAvKiBHZXQgdGhlIEVUSEVSTkVUIE1BQ0NSIHZhbHVlICovCi0gICAgdG1wcmVnMSA9IChoZXRoLT5JbnN0YW5jZSktPk1BQ0NSOwotICAgIC8qIENsZWFyIFdELCBQQ0UsIFBTLCBURSBhbmQgUkUgYml0cyAqLwotICAgIHRtcHJlZzEgJj0gRVRIX01BQ0NSX0NMRUFSX01BU0s7Ci0gICAgCi0gICAgdG1wcmVnMSB8PSAodWludDMyX3QpKG1hY2NvbmYtPldhdGNoZG9nIHwgCi0gICAgICAgICAgICAgICAgICAgICAgICAgbWFjY29uZi0+SmFiYmVyIHwgCi0gICAgICAgICAgICAgICAgICAgICAgICAgbWFjY29uZi0+SW50ZXJGcmFtZUdhcCB8Ci0gICAgICAgICAgICAgICAgICAgICAgICAgbWFjY29uZi0+Q2FycmllclNlbnNlIHwKLSAgICAgICAgICAgICAgICAgICAgICAgICAoaGV0aC0+SW5pdCkuU3BlZWQgfCAKLSAgICAgICAgICAgICAgICAgICAgICAgICBtYWNjb25mLT5SZWNlaXZlT3duIHwKLSAgICAgICAgICAgICAgICAgICAgICAgICBtYWNjb25mLT5Mb29wYmFja01vZGUgfAotICAgICAgICAgICAgICAgICAgICAgICAgIChoZXRoLT5Jbml0KS5EdXBsZXhNb2RlIHwgCi0gICAgICAgICAgICAgICAgICAgICAgICAgbWFjY29uZi0+Q2hlY2tzdW1PZmZsb2FkIHwgICAgCi0gICAgICAgICAgICAgICAgICAgICAgICAgbWFjY29uZi0+UmV0cnlUcmFuc21pc3Npb24gfCAKLSAgICAgICAgICAgICAgICAgICAgICAgICBtYWNjb25mLT5BdXRvbWF0aWNQYWRDUkNTdHJpcCB8IAotICAgICAgICAgICAgICAgICAgICAgICAgIG1hY2NvbmYtPkJhY2tPZmZMaW1pdCB8IAotICAgICAgICAgICAgICAgICAgICAgICAgIG1hY2NvbmYtPkRlZmVycmFsQ2hlY2spOwotICAgIAotICAgIC8qIFdyaXRlIHRvIEVUSEVSTkVUIE1BQ0NSICovCi0gICAgKGhldGgtPkluc3RhbmNlKS0+TUFDQ1IgPSAodWludDMyX3QpdG1wcmVnMTsKLSAgICAKLSAgICAvKiBXYWl0IHVudGlsIHRoZSB3cml0ZSBvcGVyYXRpb24gd2lsbCBiZSB0YWtlbiBpbnRvIGFjY291bnQgOgotICAgIGF0IGxlYXN0IGZvdXIgVFhfQ0xLL1JYX0NMSyBjbG9jayBjeWNsZXMgKi8KLSAgICB0bXByZWcxID0gKGhldGgtPkluc3RhbmNlKS0+TUFDQ1I7Ci0gICAgSEFMX0RlbGF5KEVUSF9SRUdfV1JJVEVfREVMQVkpOwotICAgIChoZXRoLT5JbnN0YW5jZSktPk1BQ0NSID0gdG1wcmVnMTsgCi0gICAgCi0gICAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBFVEhFUk5FVCBNQUNGRlIgQ29uZmlndXJhdGlvbiAtLS0tLS0tLS0tLS0tLS0tLS0tLSovIAotICAgIC8qIFdyaXRlIHRvIEVUSEVSTkVUIE1BQ0ZGUiAqLyAgCi0gICAgKGhldGgtPkluc3RhbmNlKS0+TUFDRkZSID0gKHVpbnQzMl90KShtYWNjb25mLT5SZWNlaXZlQWxsIHwgCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWNjb25mLT5Tb3VyY2VBZGRyRmlsdGVyIHwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hY2NvbmYtPlBhc3NDb250cm9sRnJhbWVzIHwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hY2NvbmYtPkJyb2FkY2FzdEZyYW1lc1JlY2VwdGlvbiB8IAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFjY29uZi0+RGVzdGluYXRpb25BZGRyRmlsdGVyIHwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hY2NvbmYtPlByb21pc2N1b3VzTW9kZSB8Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWNjb25mLT5NdWx0aWNhc3RGcmFtZXNGaWx0ZXIgfAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFjY29uZi0+VW5pY2FzdEZyYW1lc0ZpbHRlcik7Ci0gICAgIAotICAgICAvKiBXYWl0IHVudGlsIHRoZSB3cml0ZSBvcGVyYXRpb24gd2lsbCBiZSB0YWtlbiBpbnRvIGFjY291bnQgOgotICAgICBhdCBsZWFzdCBmb3VyIFRYX0NMSy9SWF9DTEsgY2xvY2sgY3ljbGVzICovCi0gICAgIHRtcHJlZzEgPSAoaGV0aC0+SW5zdGFuY2UpLT5NQUNGRlI7Ci0gICAgIEhBTF9EZWxheShFVEhfUkVHX1dSSVRFX0RFTEFZKTsKLSAgICAgKGhldGgtPkluc3RhbmNlKS0+TUFDRkZSID0gdG1wcmVnMTsKLSAgICAgCi0gICAgIC8qLS0tLS0tLS0tLS0tLS0tIEVUSEVSTkVUIE1BQ0hUSFIgYW5kIE1BQ0hUTFIgQ29uZmlndXJhdGlvbiAtLS0tLS0tLS0tLS0tLS0qLwotICAgICAvKiBXcml0ZSB0byBFVEhFUk5FVCBNQUNIVEhSICovCi0gICAgIChoZXRoLT5JbnN0YW5jZSktPk1BQ0hUSFIgPSAodWludDMyX3QpbWFjY29uZi0+SGFzaFRhYmxlSGlnaDsKLSAgICAgCi0gICAgIC8qIFdyaXRlIHRvIEVUSEVSTkVUIE1BQ0hUTFIgKi8KLSAgICAgKGhldGgtPkluc3RhbmNlKS0+TUFDSFRMUiA9ICh1aW50MzJfdCltYWNjb25mLT5IYXNoVGFibGVMb3c7Ci0gICAgIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gRVRIRVJORVQgTUFDRkNSIENvbmZpZ3VyYXRpb24gLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwotICAgICAKLSAgICAgLyogR2V0IHRoZSBFVEhFUk5FVCBNQUNGQ1IgdmFsdWUgKi8gIAotICAgICB0bXByZWcxID0gKGhldGgtPkluc3RhbmNlKS0+TUFDRkNSOwotICAgICAvKiBDbGVhciB4eCBiaXRzICovCi0gICAgIHRtcHJlZzEgJj0gRVRIX01BQ0ZDUl9DTEVBUl9NQVNLOwotICAgICAKLSAgICAgdG1wcmVnMSB8PSAodWludDMyX3QpKChtYWNjb25mLT5QYXVzZVRpbWUgPDwgMTZVKSB8IAotICAgICAgICAgICAgICAgICAgICAgICAgICBtYWNjb25mLT5aZXJvUXVhbnRhUGF1c2UgfAotICAgICAgICAgICAgICAgICAgICAgICAgICBtYWNjb25mLT5QYXVzZUxvd1RocmVzaG9sZCB8Ci0gICAgICAgICAgICAgICAgICAgICAgICAgIG1hY2NvbmYtPlVuaWNhc3RQYXVzZUZyYW1lRGV0ZWN0IHwgCi0gICAgICAgICAgICAgICAgICAgICAgICAgIG1hY2NvbmYtPlJlY2VpdmVGbG93Q29udHJvbCB8Ci0gICAgICAgICAgICAgICAgICAgICAgICAgIG1hY2NvbmYtPlRyYW5zbWl0Rmxvd0NvbnRyb2wpOyAKLSAgICAgCi0gICAgIC8qIFdyaXRlIHRvIEVUSEVSTkVUIE1BQ0ZDUiAqLwotICAgICAoaGV0aC0+SW5zdGFuY2UpLT5NQUNGQ1IgPSAodWludDMyX3QpdG1wcmVnMTsKLSAgICAgCi0gICAgIC8qIFdhaXQgdW50aWwgdGhlIHdyaXRlIG9wZXJhdGlvbiB3aWxsIGJlIHRha2VuIGludG8gYWNjb3VudCA6Ci0gICAgIGF0IGxlYXN0IGZvdXIgVFhfQ0xLL1JYX0NMSyBjbG9jayBjeWNsZXMgKi8KLSAgICAgdG1wcmVnMSA9IChoZXRoLT5JbnN0YW5jZSktPk1BQ0ZDUjsKLSAgICAgSEFMX0RlbGF5KEVUSF9SRUdfV1JJVEVfREVMQVkpOwotICAgICAoaGV0aC0+SW5zdGFuY2UpLT5NQUNGQ1IgPSB0bXByZWcxOwotICAgICAKLSAgICAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBFVEhFUk5FVCBNQUNWTEFOVFIgQ29uZmlndXJhdGlvbiAtLS0tLS0tLS0tLS0tLS0tLSovCi0gICAgIChoZXRoLT5JbnN0YW5jZSktPk1BQ1ZMQU5UUiA9ICh1aW50MzJfdCkobWFjY29uZi0+VkxBTlRhZ0NvbXBhcmlzb24gfCAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWNjb25mLT5WTEFOVGFnSWRlbnRpZmllcik7Ci0gICAgICAKLSAgICAgIC8qIFdhaXQgdW50aWwgdGhlIHdyaXRlIG9wZXJhdGlvbiB3aWxsIGJlIHRha2VuIGludG8gYWNjb3VudCA6Ci0gICAgICBhdCBsZWFzdCBmb3VyIFRYX0NMSy9SWF9DTEsgY2xvY2sgY3ljbGVzICovCi0gICAgICB0bXByZWcxID0gKGhldGgtPkluc3RhbmNlKS0+TUFDVkxBTlRSOwotICAgICAgSEFMX0RlbGF5KEVUSF9SRUdfV1JJVEVfREVMQVkpOwotICAgICAgKGhldGgtPkluc3RhbmNlKS0+TUFDVkxBTlRSID0gdG1wcmVnMTsKKyAgICByZXR1cm4gSEFMX0VSUk9SOwogICB9Ci0gIGVsc2UgLyogbWFjY29uZiA9PSBOVUxMIDogaGVyZSB3ZSBqdXN0IGNvbmZpZ3VyZSBTcGVlZCBhbmQgRHVwbGV4IG1vZGUgKi8KKworICBpZiAoaGV0aC0+Z1N0YXRlID09IEhBTF9FVEhfU1RBVEVfUkVBRFkpCiAgIHsKLSAgICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBFVEhFUk5FVCBNQUNDUiBDb25maWd1cmF0aW9uIC0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KLSAgICAvKiBHZXQgdGhlIEVUSEVSTkVUIE1BQ0NSIHZhbHVlICovCi0gICAgdG1wcmVnMSA9IChoZXRoLT5JbnN0YW5jZSktPk1BQ0NSOwotICAgIAotICAgIC8qIENsZWFyIEZFUyBhbmQgRE0gYml0cyAqLwotICAgIHRtcHJlZzEgJj0gfigweDAwMDA0ODAwVSk7Ci0gICAgCi0gICAgdG1wcmVnMSB8PSAodWludDMyX3QpKGhldGgtPkluaXQuU3BlZWQgfCBoZXRoLT5Jbml0LkR1cGxleE1vZGUpOwotICAgIAotICAgIC8qIFdyaXRlIHRvIEVUSEVSTkVUIE1BQ0NSICovCi0gICAgKGhldGgtPkluc3RhbmNlKS0+TUFDQ1IgPSAodWludDMyX3QpdG1wcmVnMTsKLSAgICAKLSAgICAvKiBXYWl0IHVudGlsIHRoZSB3cml0ZSBvcGVyYXRpb24gd2lsbCBiZSB0YWtlbiBpbnRvIGFjY291bnQ6Ci0gICAgYXQgbGVhc3QgZm91ciBUWF9DTEsvUlhfQ0xLIGNsb2NrIGN5Y2xlcyAqLwotICAgIHRtcHJlZzEgPSAoaGV0aC0+SW5zdGFuY2UpLT5NQUNDUjsKLSAgICBIQUxfRGVsYXkoRVRIX1JFR19XUklURV9ERUxBWSk7Ci0gICAgKGhldGgtPkluc3RhbmNlKS0+TUFDQ1IgPSB0bXByZWcxOworICAgIEVUSF9TZXRNQUNDb25maWcoaGV0aCwgbWFjY29uZik7CisKKyAgICByZXR1cm4gSEFMX09LOwogICB9Ci0gIAotICAvKiBTZXQgdGhlIEVUSCBzdGF0ZSB0byBSZWFkeSAqLwotICBoZXRoLT5TdGF0ZT0gSEFMX0VUSF9TVEFURV9SRUFEWTsKLSAgCi0gIC8qIFByb2Nlc3MgVW5sb2NrZWQgKi8KLSAgX19IQUxfVU5MT0NLKGhldGgpOwotICAKLSAgLyogUmV0dXJuIGZ1bmN0aW9uIHN0YXR1cyAqLwotICByZXR1cm4gSEFMX09LOyAgCisgIGVsc2UKKyAgeworICAgIHJldHVybiBIQUxfRVJST1I7CisgIH0KIH0KIAogLyoqCi0gICogQGJyaWVmICBTZXRzIEVUSCBETUEgQ29uZmlndXJhdGlvbi4KLSAgKiBAcGFyYW0gIGhldGggcG9pbnRlciB0byBhIEVUSF9IYW5kbGVUeXBlRGVmIHN0cnVjdHVyZSB0aGF0IGNvbnRhaW5zCisgICogQGJyaWVmICBTZXQgdGhlIEVUSCBETUEgY29uZmlndXJhdGlvbi4KKyAgKiBAcGFyYW0gIGhldGg6IHBvaW50ZXIgdG8gYSBFVEhfSGFuZGxlVHlwZURlZiBzdHJ1Y3R1cmUgdGhhdCBjb250YWlucwogICAqICAgICAgICAgdGhlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gZm9yIEVUSEVSTkVUIG1vZHVsZQotICAqIEBwYXJhbSAgZG1hY29uZiBETUEgQ29uZmlndXJhdGlvbiBzdHJ1Y3R1cmUgIAorICAqIEBwYXJhbSAgZG1hY29uZjogcG9pbnRlciB0byBhIEVUSF9ETUFDb25maWdUeXBlRGVmIHN0cnVjdHVyZSB0aGF0IHdpbGwgaG9sZAorICAqICAgICAgICAgdGhlIGNvbmZpZ3VyYXRpb24gb2YgdGhlIEVUSCBETUEuCiAgICogQHJldHZhbCBIQUwgc3RhdHVzCiAgICovCi1IQUxfU3RhdHVzVHlwZURlZiBIQUxfRVRIX0NvbmZpZ0RNQShFVEhfSGFuZGxlVHlwZURlZiAqaGV0aCwgRVRIX0RNQUluaXRUeXBlRGVmICpkbWFjb25mKQorSEFMX1N0YXR1c1R5cGVEZWYgSEFMX0VUSF9TZXRETUFDb25maWcoRVRIX0hhbmRsZVR5cGVEZWYgKmhldGgsICBFVEhfRE1BQ29uZmlnVHlwZURlZiAqZG1hY29uZikKIHsKLSAgdWludDMyX3QgdG1wcmVnMSA9IDBVOworICBpZiAoZG1hY29uZiA9PSBOVUxMKQorICB7CisgICAgcmV0dXJuIEhBTF9FUlJPUjsKKyAgfQogCi0gIC8qIFByb2Nlc3MgTG9ja2VkICovCi0gIF9fSEFMX0xPQ0soaGV0aCk7Ci0gIAotICAvKiBTZXQgdGhlIEVUSCBwZXJpcGhlcmFsIHN0YXRlIHRvIEJVU1kgKi8KLSAgaGV0aC0+U3RhdGU9IEhBTF9FVEhfU1RBVEVfQlVTWTsKKyAgaWYgKGhldGgtPmdTdGF0ZSA9PSBIQUxfRVRIX1NUQVRFX1JFQURZKQorICB7CisgICAgRVRIX1NldERNQUNvbmZpZyhoZXRoLCBkbWFjb25mKTsKIAotICAvKiBDaGVjayBwYXJhbWV0ZXJzICovCi0gIGFzc2VydF9wYXJhbShJU19FVEhfRFJPUF9UQ1BJUF9DSEVDS1NVTV9GUkFNRShkbWFjb25mLT5Ecm9wVENQSVBDaGVja3N1bUVycm9yRnJhbWUpKTsKLSAgYXNzZXJ0X3BhcmFtKElTX0VUSF9SRUNFSVZFX1NUT1JFX0ZPUldBUkQoZG1hY29uZi0+UmVjZWl2ZVN0b3JlRm9yd2FyZCkpOwotICBhc3NlcnRfcGFyYW0oSVNfRVRIX0ZMVVNIX1JFQ0VJVkVfRlJBTUUoZG1hY29uZi0+Rmx1c2hSZWNlaXZlZEZyYW1lKSk7Ci0gIGFzc2VydF9wYXJhbShJU19FVEhfVFJBTlNNSVRfU1RPUkVfRk9SV0FSRChkbWFjb25mLT5UcmFuc21pdFN0b3JlRm9yd2FyZCkpOwotICBhc3NlcnRfcGFyYW0oSVNfRVRIX1RSQU5TTUlUX1RIUkVTSE9MRF9DT05UUk9MKGRtYWNvbmYtPlRyYW5zbWl0VGhyZXNob2xkQ29udHJvbCkpOwotICBhc3NlcnRfcGFyYW0oSVNfRVRIX0ZPUldBUkRfRVJST1JfRlJBTUVTKGRtYWNvbmYtPkZvcndhcmRFcnJvckZyYW1lcykpOwotICBhc3NlcnRfcGFyYW0oSVNfRVRIX0ZPUldBUkRfVU5ERVJTSVpFRF9HT09EX0ZSQU1FUyhkbWFjb25mLT5Gb3J3YXJkVW5kZXJzaXplZEdvb2RGcmFtZXMpKTsKLSAgYXNzZXJ0X3BhcmFtKElTX0VUSF9SRUNFSVZFX1RIUkVTSE9MRF9DT05UUk9MKGRtYWNvbmYtPlJlY2VpdmVUaHJlc2hvbGRDb250cm9sKSk7Ci0gIGFzc2VydF9wYXJhbShJU19FVEhfU0VDT05EX0ZSQU1FX09QRVJBVEUoZG1hY29uZi0+U2Vjb25kRnJhbWVPcGVyYXRlKSk7Ci0gIGFzc2VydF9wYXJhbShJU19FVEhfQUREUkVTU19BTElHTkVEX0JFQVRTKGRtYWNvbmYtPkFkZHJlc3NBbGlnbmVkQmVhdHMpKTsKLSAgYXNzZXJ0X3BhcmFtKElTX0VUSF9GSVhFRF9CVVJTVChkbWFjb25mLT5GaXhlZEJ1cnN0KSk7Ci0gIGFzc2VydF9wYXJhbShJU19FVEhfUlhETUFfQlVSU1RfTEVOR1RIKGRtYWNvbmYtPlJ4RE1BQnVyc3RMZW5ndGgpKTsKLSAgYXNzZXJ0X3BhcmFtKElTX0VUSF9UWERNQV9CVVJTVF9MRU5HVEgoZG1hY29uZi0+VHhETUFCdXJzdExlbmd0aCkpOwotICBhc3NlcnRfcGFyYW0oSVNfRVRIX0VOSEFOQ0VEX0RFU0NSSVBUT1JfRk9STUFUKGRtYWNvbmYtPkVuaGFuY2VkRGVzY3JpcHRvckZvcm1hdCkpOwotICBhc3NlcnRfcGFyYW0oSVNfRVRIX0RNQV9ERVNDX1NLSVBfTEVOR1RIKGRtYWNvbmYtPkRlc2NyaXB0b3JTa2lwTGVuZ3RoKSk7Ci0gIGFzc2VydF9wYXJhbShJU19FVEhfRE1BX0FSQklUUkFUSU9OX1JPVU5EUk9CSU5fUlhUWChkbWFjb25mLT5ETUFBcmJpdHJhdGlvbikpOwotICAKKyAgICByZXR1cm4gSEFMX09LOworICB9CisgIGVsc2UKKyAgeworICAgIHJldHVybiBIQUxfRVJST1I7CisgIH0KK30KKworLyoqCisgICogQGJyaWVmICBDb25maWd1cmVzIHRoZSBDbG9jayByYW5nZSBvZiBFVEggTURJTyBpbnRlcmZhY2UuCisgICogQHBhcmFtICBoZXRoOiBwb2ludGVyIHRvIGEgRVRIX0hhbmRsZVR5cGVEZWYgc3RydWN0dXJlIHRoYXQgY29udGFpbnMKKyAgKiAgICAgICAgIHRoZSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIGZvciBFVEhFUk5FVCBtb2R1bGUKKyAgKiBAcmV0dmFsIE5vbmUKKyAgKi8KK3ZvaWQgSEFMX0VUSF9TZXRNRElPQ2xvY2tSYW5nZShFVEhfSGFuZGxlVHlwZURlZiAqaGV0aCkKK3sKKyAgdWludDMyX3QgaGNsazsKKyAgdWludDMyX3QgdG1wcmVnOworCisgIC8qIEdldCB0aGUgRVRIRVJORVQgTUFDTUlJQVIgdmFsdWUgKi8KKyAgdG1wcmVnID0gKGhldGgtPkluc3RhbmNlKS0+TUFDTUlJQVI7CisgIC8qIENsZWFyIENTUiBDbG9jayBSYW5nZSBDUlsyOjBdIGJpdHMgKi8KKyAgdG1wcmVnICY9IEVUSF9NQUNNSUlBUl9DUl9NQVNLOworCisgIC8qIEdldCBoY2xrIGZyZXF1ZW5jeSB2YWx1ZSAqLworICBoY2xrID0gSEFMX1JDQ19HZXRIQ0xLRnJlcSgpOworCisgIC8qIFNldCBDUiBiaXRzIGRlcGVuZGluZyBvbiBoY2xrIHZhbHVlICovCisgIGlmICgoaGNsayA+PSAyMDAwMDAwMFUpICYmIChoY2xrIDwgMzUwMDAwMDBVKSkKKyAgeworICAgIC8qIENTUiBDbG9jayBSYW5nZSBiZXR3ZWVuIDIwLTM1IE1IeiAqLworICAgIHRtcHJlZyB8PSAodWludDMyX3QpRVRIX01BQ01JSUFSX0NSX0RpdjE2OworICB9CisgIGVsc2UgaWYgKChoY2xrID49IDM1MDAwMDAwVSkgJiYgKGhjbGsgPCA2MDAwMDAwMFUpKQorICB7CisgICAgLyogQ1NSIENsb2NrIFJhbmdlIGJldHdlZW4gMzUtNjAgTUh6ICovCisgICAgdG1wcmVnIHw9ICh1aW50MzJfdClFVEhfTUFDTUlJQVJfQ1JfRGl2MjY7CisgIH0KKyAgZWxzZSBpZiAoKGhjbGsgPj0gNjAwMDAwMDBVKSAmJiAoaGNsayA8IDEwMDAwMDAwMFUpKQorICB7CisgICAgLyogQ1NSIENsb2NrIFJhbmdlIGJldHdlZW4gNjAtMTAwIE1IeiAqLworICAgIHRtcHJlZyB8PSAodWludDMyX3QpRVRIX01BQ01JSUFSX0NSX0RpdjQyOworICB9CisgIGVsc2UgaWYgKChoY2xrID49IDEwMDAwMDAwMFUpICYmIChoY2xrIDwgMTUwMDAwMDAwVSkpCisgIHsKKyAgICAvKiBDU1IgQ2xvY2sgUmFuZ2UgYmV0d2VlbiAxMDAtMTUwIE1IeiAqLworICAgIHRtcHJlZyB8PSAodWludDMyX3QpRVRIX01BQ01JSUFSX0NSX0RpdjYyOworICB9CisgIGVsc2UgLyogKChoY2xrID49IDE1MDAwMDAwMCkmJihoY2xrIDw9IDE4MzAwMDAwMCkpKi8KKyAgeworICAgIC8qIENTUiBDbG9jayBSYW5nZSBiZXR3ZWVuIDE1MC0xODMgTUh6ICovCisgICAgdG1wcmVnIHw9ICh1aW50MzJfdClFVEhfTUFDTUlJQVJfQ1JfRGl2MTAyOworICB9CisKKyAgLyogV3JpdGUgdG8gRVRIRVJORVQgTUFDIE1JSUFSOiBDb25maWd1cmUgdGhlIEVUSEVSTkVUIENTUiBDbG9jayBSYW5nZSAqLworICAoaGV0aC0+SW5zdGFuY2UpLT5NQUNNSUlBUiA9ICh1aW50MzJfdCl0bXByZWc7Cit9CisKKy8qKgorICAqIEBicmllZiAgU2V0IHRoZSBFVEggTUFDIChMMikgRmlsdGVycyBjb25maWd1cmF0aW9uLgorICAqIEBwYXJhbSAgaGV0aDogcG9pbnRlciB0byBhIEVUSF9IYW5kbGVUeXBlRGVmIHN0cnVjdHVyZSB0aGF0IGNvbnRhaW5zCisgICogICAgICAgICB0aGUgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbiBmb3IgRVRIRVJORVQgbW9kdWxlCisgICogQHBhcmFtICBwRmlsdGVyQ29uZmlnOiBwb2ludGVyIHRvIGEgRVRIX01BQ0ZpbHRlckNvbmZpZ1R5cGVEZWYgc3RydWN0dXJlIHRoYXQgY29udGFpbnMKKyAgKiAgICAgICAgIHRoZSBjb25maWd1cmF0aW9uIG9mIHRoZSBFVEggTUFDIGZpbHRlcnMuCisgICogQHJldHZhbCBIQUwgc3RhdHVzCisgICovCitIQUxfU3RhdHVzVHlwZURlZiBIQUxfRVRIX1NldE1BQ0ZpbHRlckNvbmZpZyhFVEhfSGFuZGxlVHlwZURlZiAqaGV0aCwgRVRIX01BQ0ZpbHRlckNvbmZpZ1R5cGVEZWYgKnBGaWx0ZXJDb25maWcpCit7CisgIHVpbnQzMl90IGZpbHRlcmNvbmZpZzsKKworICBpZiAocEZpbHRlckNvbmZpZyA9PSBOVUxMKQorICB7CisgICAgcmV0dXJuIEhBTF9FUlJPUjsKKyAgfQorCisgIGZpbHRlcmNvbmZpZyA9ICgodWludDMyX3QpcEZpbHRlckNvbmZpZy0+UHJvbWlzY3VvdXNNb2RlIHwKKyAgICAgICAgICAgICAgICAgICgodWludDMyX3QpcEZpbHRlckNvbmZpZy0+SGFzaFVuaWNhc3QgPDwgMSkgfAorICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdClwRmlsdGVyQ29uZmlnLT5IYXNoTXVsdGljYXN0IDw8IDIpICB8CisgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KXBGaWx0ZXJDb25maWctPkRlc3RBZGRySW52ZXJzZUZpbHRlcmluZyA8PCAzKSB8CisgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KXBGaWx0ZXJDb25maWctPlBhc3NBbGxNdWx0aWNhc3QgPDwgNCkgfAorICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkoKHBGaWx0ZXJDb25maWctPkJyb2FkY2FzdEZpbHRlciA9PSBESVNBQkxFKSA/IDFVIDogMFUpIDw8IDUpIHwKKyAgICAgICAgICAgICAgICAgICgodWludDMyX3QpcEZpbHRlckNvbmZpZy0+U3JjQWRkckludmVyc2VGaWx0ZXJpbmcgPDwgOCkgfAorICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdClwRmlsdGVyQ29uZmlnLT5TcmNBZGRyRmlsdGVyaW5nIDw8IDkpIHwKKyAgICAgICAgICAgICAgICAgICgodWludDMyX3QpcEZpbHRlckNvbmZpZy0+SGFjaE9yUGVyZmVjdEZpbHRlciA8PCAxMCkgfAorICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdClwRmlsdGVyQ29uZmlnLT5SZWNlaXZlQWxsTW9kZSA8PCAzMSkgfAorICAgICAgICAgICAgICAgICAgcEZpbHRlckNvbmZpZy0+Q29udHJvbFBhY2tldHNGaWx0ZXIpOworCisgIE1PRElGWV9SRUcoaGV0aC0+SW5zdGFuY2UtPk1BQ0ZGUiwgRVRIX01BQ0ZGUl9NQVNLLCBmaWx0ZXJjb25maWcpOworCisgIHJldHVybiBIQUxfT0s7Cit9CisKKy8qKgorICAqIEBicmllZiAgR2V0IHRoZSBFVEggTUFDIChMMikgRmlsdGVycyBjb25maWd1cmF0aW9uLgorICAqIEBwYXJhbSAgaGV0aDogcG9pbnRlciB0byBhIEVUSF9IYW5kbGVUeXBlRGVmIHN0cnVjdHVyZSB0aGF0IGNvbnRhaW5zCisgICogICAgICAgICB0aGUgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbiBmb3IgRVRIRVJORVQgbW9kdWxlCisgICogQHBhcmFtICBwRmlsdGVyQ29uZmlnOiBwb2ludGVyIHRvIGEgRVRIX01BQ0ZpbHRlckNvbmZpZ1R5cGVEZWYgc3RydWN0dXJlIHRoYXQgd2lsbCBob2xkCisgICogICAgICAgICB0aGUgY29uZmlndXJhdGlvbiBvZiB0aGUgRVRIIE1BQyBmaWx0ZXJzLgorICAqIEByZXR2YWwgSEFMIHN0YXR1cworICAqLworSEFMX1N0YXR1c1R5cGVEZWYgSEFMX0VUSF9HZXRNQUNGaWx0ZXJDb25maWcoRVRIX0hhbmRsZVR5cGVEZWYgKmhldGgsIEVUSF9NQUNGaWx0ZXJDb25maWdUeXBlRGVmICpwRmlsdGVyQ29uZmlnKQoreworICBpZiAocEZpbHRlckNvbmZpZyA9PSBOVUxMKQorICB7CisgICAgcmV0dXJuIEhBTF9FUlJPUjsKKyAgfQorCisgIHBGaWx0ZXJDb25maWctPlByb21pc2N1b3VzTW9kZSA9ICgoUkVBRF9CSVQoaGV0aC0+SW5zdGFuY2UtPk1BQ0ZGUiwgRVRIX01BQ0ZGUl9QTSkpID4gMFUpID8gRU5BQkxFIDogRElTQUJMRTsKKyAgcEZpbHRlckNvbmZpZy0+SGFzaFVuaWNhc3QgPSAoKFJFQURfQklUKGhldGgtPkluc3RhbmNlLT5NQUNGRlIsIEVUSF9NQUNGRlJfSFUpID4+IDEpID4gMFUpID8gRU5BQkxFIDogRElTQUJMRTsKKyAgcEZpbHRlckNvbmZpZy0+SGFzaE11bHRpY2FzdCA9ICgoUkVBRF9CSVQoaGV0aC0+SW5zdGFuY2UtPk1BQ0ZGUiwgRVRIX01BQ0ZGUl9ITSkgPj4gMikgPiAwVSkgPyBFTkFCTEUgOiBESVNBQkxFOworICBwRmlsdGVyQ29uZmlnLT5EZXN0QWRkckludmVyc2VGaWx0ZXJpbmcgPSAoKFJFQURfQklUKGhldGgtPkluc3RhbmNlLT5NQUNGRlIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRVRIX01BQ0ZGUl9EQUlGKSA+PiAzKSA+IDBVKSA/IEVOQUJMRSA6IERJU0FCTEU7CisgIHBGaWx0ZXJDb25maWctPlBhc3NBbGxNdWx0aWNhc3QgPSAoKFJFQURfQklUKGhldGgtPkluc3RhbmNlLT5NQUNGRlIsIEVUSF9NQUNGRlJfUEFNKSA+PiA0KSA+IDBVKSA/IEVOQUJMRSA6IERJU0FCTEU7CisgIHBGaWx0ZXJDb25maWctPkJyb2FkY2FzdEZpbHRlciA9ICgoUkVBRF9CSVQoaGV0aC0+SW5zdGFuY2UtPk1BQ0ZGUiwgRVRIX01BQ0ZGUl9CRkQpID4+IDUpID09IDBVKSA/IEVOQUJMRSA6IERJU0FCTEU7CisgIHBGaWx0ZXJDb25maWctPkNvbnRyb2xQYWNrZXRzRmlsdGVyID0gUkVBRF9CSVQoaGV0aC0+SW5zdGFuY2UtPk1BQ0ZGUiwgRVRIX01BQ0ZGUl9QQ0YpOworICBwRmlsdGVyQ29uZmlnLT5TcmNBZGRySW52ZXJzZUZpbHRlcmluZyA9ICgoUkVBRF9CSVQoaGV0aC0+SW5zdGFuY2UtPk1BQ0ZGUiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVUSF9NQUNGRlJfU0FJRikgPj4gOCkgPiAwVSkgPyBFTkFCTEUgOiBESVNBQkxFOworICBwRmlsdGVyQ29uZmlnLT5TcmNBZGRyRmlsdGVyaW5nID0gKChSRUFEX0JJVChoZXRoLT5JbnN0YW5jZS0+TUFDRkZSLCBFVEhfTUFDRkZSX1NBRikgPj4gOSkgPiAwVSkgPyBFTkFCTEUgOiBESVNBQkxFOworICBwRmlsdGVyQ29uZmlnLT5IYWNoT3JQZXJmZWN0RmlsdGVyID0gKChSRUFEX0JJVChoZXRoLT5JbnN0YW5jZS0+TUFDRkZSLCBFVEhfTUFDRkZSX0hQRikgPj4gMTApID4gMFUpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IEVOQUJMRSA6IERJU0FCTEU7CisgIHBGaWx0ZXJDb25maWctPlJlY2VpdmVBbGxNb2RlID0gKChSRUFEX0JJVChoZXRoLT5JbnN0YW5jZS0+TUFDRkZSLCBFVEhfTUFDRkZSX1JBKSA+PiAzMSkgPiAwVSkgPyBFTkFCTEUgOiBESVNBQkxFOworCisgIHJldHVybiBIQUxfT0s7Cit9CisKKy8qKgorICAqIEBicmllZiAgU2V0IHRoZSBzb3VyY2UgTUFDIEFkZHJlc3MgdG8gYmUgbWF0Y2hlZC4KKyAgKiBAcGFyYW0gIGhldGg6IHBvaW50ZXIgdG8gYSBFVEhfSGFuZGxlVHlwZURlZiBzdHJ1Y3R1cmUgdGhhdCBjb250YWlucworICAqICAgICAgICAgdGhlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gZm9yIEVUSEVSTkVUIG1vZHVsZQorICAqIEBwYXJhbSAgQWRkck5icjogVGhlIE1BQyBhZGRyZXNzIHRvIGNvbmZpZ3VyZQorICAqICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIG11c3QgYmUgYSB2YWx1ZSBvZiB0aGUgZm9sbG93aW5nOgorICAqICAgICAgICAgICAgRVRIX01BQ19BRERSRVNTMQorICAqICAgICAgICAgICAgRVRIX01BQ19BRERSRVNTMgorICAqICAgICAgICAgICAgRVRIX01BQ19BRERSRVNTMworICAqIEBwYXJhbSAgcE1BQ0FkZHI6IFBvaW50ZXIgdG8gTUFDIGFkZHJlc3MgYnVmZmVyIGRhdGEgKDYgYnl0ZXMpCisgICogQHJldHZhbCBIQUwgc3RhdHVzCisgICovCitIQUxfU3RhdHVzVHlwZURlZiBIQUxfRVRIX1NldFNvdXJjZU1BQ0FkZHJNYXRjaChFVEhfSGFuZGxlVHlwZURlZiAqaGV0aCwgdWludDMyX3QgQWRkck5iciwgdWludDhfdCAqcE1BQ0FkZHIpCit7CisgIHVpbnQzMl90IG1hY2FkZHJscjsKKyAgdWludDMyX3QgbWFjYWRkcmhyOworCisgIGlmIChwTUFDQWRkciA9PSBOVUxMKQorICB7CisgICAgcmV0dXJuIEhBTF9FUlJPUjsKKyAgfQorCisgIC8qIEdldCBtYWMgYWRkciBoaWdoIHJlZyBvZmZzZXQgKi8KKyAgbWFjYWRkcmhyID0gKCh1aW50MzJfdCkgJihoZXRoLT5JbnN0YW5jZS0+TUFDQTBIUikgKyBBZGRyTmJyKTsKKyAgLyogR2V0IG1hYyBhZGRyIGxvdyByZWcgb2Zmc2V0ICovCisgIG1hY2FkZHJsciA9ICgodWludDMyX3QpICYoaGV0aC0+SW5zdGFuY2UtPk1BQ0EwTFIpICsgQWRkck5icik7CisKKyAgLyogU2V0IE1BQyBhZGRyIGJpdHMgMzIgdG8gNDcgKi8KKyAgKCooX19JTyB1aW50MzJfdCAqKW1hY2FkZHJocikgPSAoKCh1aW50MzJfdCkocE1BQ0FkZHJbNV0pIDw8IDgpIHwgKHVpbnQzMl90KXBNQUNBZGRyWzRdKTsKKyAgLyogU2V0IE1BQyBhZGRyIGJpdHMgMCB0byAzMSAqLworICAoKihfX0lPIHVpbnQzMl90ICopbWFjYWRkcmxyKSA9ICgoKHVpbnQzMl90KShwTUFDQWRkclszXSkgPDwgMjQpIHwgKCh1aW50MzJfdCkocE1BQ0FkZHJbMl0pIDw8IDE2KSB8CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpKHBNQUNBZGRyWzFdKSA8PCA4KSB8ICh1aW50MzJfdClwTUFDQWRkclswXSk7CisKKyAgLyogRW5hYmxlIGFkZHJlc3MgYW5kIHNldCBzb3VyY2UgYWRkcmVzcyBiaXQgKi8KKyAgKCooX19JTyB1aW50MzJfdCAqKW1hY2FkZHJocikgfD0gKEVUSF9NQUNBMUhSX0FFIHwgRVRIX01BQ0ExSFJfU0EpOworCisgIHJldHVybiBIQUxfT0s7Cit9CisKKy8qKgorICAqIEBicmllZiAgU2V0IHRoZSBFVEggSGFzaCBUYWJsZSBWYWx1ZS4KKyAgKiBAcGFyYW0gIGhldGg6IHBvaW50ZXIgdG8gYSBFVEhfSGFuZGxlVHlwZURlZiBzdHJ1Y3R1cmUgdGhhdCBjb250YWlucworICAqICAgICAgICAgdGhlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gZm9yIEVUSEVSTkVUIG1vZHVsZQorICAqIEBwYXJhbSAgcEhhc2hUYWJsZTogcG9pbnRlciB0byBhIHRhYmxlIG9mIHR3byAzMiBiaXQgdmFsdWVzLCB0aGF0IGNvbnRhaW5zCisgICogICAgICAgICB0aGUgNjQgYml0cyBvZiB0aGUgaGFzaCB0YWJsZS4KKyAgKiBAcmV0dmFsIEhBTCBzdGF0dXMKKyAgKi8KK0hBTF9TdGF0dXNUeXBlRGVmIEhBTF9FVEhfU2V0SGFzaFRhYmxlKEVUSF9IYW5kbGVUeXBlRGVmICpoZXRoLCB1aW50MzJfdCAqcEhhc2hUYWJsZSkKK3sKKyAgaWYgKHBIYXNoVGFibGUgPT0gTlVMTCkKKyAgeworICAgIHJldHVybiBIQUxfRVJST1I7CisgIH0KKworICBoZXRoLT5JbnN0YW5jZS0+TUFDSFRIUiA9IHBIYXNoVGFibGVbMF07CisgIGhldGgtPkluc3RhbmNlLT5NQUNIVExSID0gcEhhc2hUYWJsZVsxXTsKKworICByZXR1cm4gSEFMX09LOworfQorCisvKioKKyAgKiBAYnJpZWYgIFNldCB0aGUgVkxBTiBJZGVudGlmaWVyIGZvciBSeCBwYWNrZXRzCisgICogQHBhcmFtICBoZXRoOiBwb2ludGVyIHRvIGEgRVRIX0hhbmRsZVR5cGVEZWYgc3RydWN0dXJlIHRoYXQgY29udGFpbnMKKyAgKiAgICAgICAgIHRoZSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIGZvciBFVEhFUk5FVCBtb2R1bGUKKyAgKiBAcGFyYW0gIENvbXBhcmlzb25CaXRzOiAxMiBvciAxNiBiaXQgY29tcGFyaXNvbiBtb2RlCisgICAgICAgICAgICBtdXN0IGJlIGEgdmFsdWUgb2YgQHJlZiBFVEhfVkxBTl9UYWdfQ29tcGFyaXNvbgorICAqIEBwYXJhbSAgVkxBTklkZW50aWZpZXI6IFZMQU4gSWRlbnRpZmllciB2YWx1ZQorICAqIEByZXR2YWwgTm9uZQorICAqLwordm9pZCBIQUxfRVRIX1NldFJ4VkxBTklkZW50aWZpZXIoRVRIX0hhbmRsZVR5cGVEZWYgKmhldGgsIHVpbnQzMl90IENvbXBhcmlzb25CaXRzLCB1aW50MzJfdCBWTEFOSWRlbnRpZmllcikKK3sKKyAgTU9ESUZZX1JFRyhoZXRoLT5JbnN0YW5jZS0+TUFDVkxBTlRSLCBFVEhfTUFDVkxBTlRSX1ZMQU5USSwgVkxBTklkZW50aWZpZXIpOworICBpZiAoQ29tcGFyaXNvbkJpdHMgPT0gRVRIX1ZMQU5UQUdDT01QQVJJU09OXzE2QklUKQorICB7CisgICAgQ0xFQVJfQklUKGhldGgtPkluc3RhbmNlLT5NQUNWTEFOVFIsIEVUSF9NQUNWTEFOVFJfVkxBTlRDKTsKKyAgfQorICBlbHNlCisgIHsKKyAgICBTRVRfQklUKGhldGgtPkluc3RhbmNlLT5NQUNWTEFOVFIsIEVUSF9NQUNWTEFOVFJfVkxBTlRDKTsKKyAgfQorfQorCisvKioKKyAgKiBAYnJpZWYgIEVudGVycyB0aGUgUG93ZXIgZG93biBtb2RlLgorICAqIEBwYXJhbSAgaGV0aDogcG9pbnRlciB0byBhIEVUSF9IYW5kbGVUeXBlRGVmIHN0cnVjdHVyZSB0aGF0IGNvbnRhaW5zCisgICogICAgICAgICB0aGUgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbiBmb3IgRVRIRVJORVQgbW9kdWxlCisgICogQHBhcmFtICBwUG93ZXJEb3duQ29uZmlnOiBhIHBvaW50ZXIgdG8gRVRIX1Bvd2VyRG93bkNvbmZpZ1R5cGVEZWYgc3RydWN0dXJlCisgICogICAgICAgICB0aGF0IGNvbnRhaW5zIHRoZSBQb3dlciBEb3duIGNvbmZpZ3VyYXRpb24KKyAgKiBAcmV0dmFsIE5vbmUuCisgICovCit2b2lkIEhBTF9FVEhfRW50ZXJQb3dlckRvd25Nb2RlKEVUSF9IYW5kbGVUeXBlRGVmICpoZXRoLCBFVEhfUG93ZXJEb3duQ29uZmlnVHlwZURlZiAqcFBvd2VyRG93bkNvbmZpZykKK3sKKyAgdWludDMyX3QgcG93ZXJkb3duY29uZmlnOworCisgIHBvd2VyZG93bmNvbmZpZyA9ICgoKHVpbnQzMl90KXBQb3dlckRvd25Db25maWctPk1hZ2ljUGFja2V0IDw8IEVUSF9NQUNQTVRDU1JfTVBFX1BvcykgfAorICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdClwUG93ZXJEb3duQ29uZmlnLT5XYWtlVXBQYWNrZXQgPDwgRVRIX01BQ1BNVENTUl9XRkVfUG9zKSB8CisgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KXBQb3dlckRvd25Db25maWctPkdsb2JhbFVuaWNhc3QgPDwgRVRIX01BQ1BNVENTUl9HVV9Qb3MpIHwKKyAgICAgICAgICAgICAgICAgICAgIEVUSF9NQUNQTVRDU1JfUEQpOworCisgIE1PRElGWV9SRUcoaGV0aC0+SW5zdGFuY2UtPk1BQ1BNVENTUiwgRVRIX01BQ1BNVENTUl9NQVNLLCBwb3dlcmRvd25jb25maWcpOworfQorCisvKioKKyAgKiBAYnJpZWYgIEV4aXRzIGZyb20gdGhlIFBvd2VyIGRvd24gbW9kZS4KKyAgKiBAcGFyYW0gIGhldGg6IHBvaW50ZXIgdG8gYSBFVEhfSGFuZGxlVHlwZURlZiBzdHJ1Y3R1cmUgdGhhdCBjb250YWlucworICAqICAgICAgICAgdGhlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gZm9yIEVUSEVSTkVUIG1vZHVsZQorICAqIEByZXR2YWwgTm9uZS4KKyAgKi8KK3ZvaWQgSEFMX0VUSF9FeGl0UG93ZXJEb3duTW9kZShFVEhfSGFuZGxlVHlwZURlZiAqaGV0aCkKK3sKKyAgLyogY2xlYXIgd2FrZSB1cCBzb3VyY2VzICovCisgIENMRUFSX0JJVChoZXRoLT5JbnN0YW5jZS0+TUFDUE1UQ1NSLCBFVEhfTUFDUE1UQ1NSX1dGRSB8IEVUSF9NQUNQTVRDU1JfTVBFIHwgRVRIX01BQ1BNVENTUl9HVSk7CisKKyAgaWYgKFJFQURfQklUKGhldGgtPkluc3RhbmNlLT5NQUNQTVRDU1IsIEVUSF9NQUNQTVRDU1JfUEQpICE9IDBVKQorICB7CisgICAgLyogRXhpdCBwb3dlciBkb3duIG1vZGUgKi8KKyAgICBDTEVBUl9CSVQoaGV0aC0+SW5zdGFuY2UtPk1BQ1BNVENTUiwgRVRIX01BQ1BNVENTUl9QRCk7CisgIH0KKworICAvKiBEaXNhYmxlIFBNVCBpbnRlcnJ1cHQgKi8KKyAgU0VUX0JJVChoZXRoLT5JbnN0YW5jZS0+TUFDSU1SLCBFVEhfTUFDSU1SX1BNVElNKTsKK30KKworLyoqCisgICogQGJyaWVmICBTZXQgdGhlIFdha2VVcCBmaWx0ZXIuCisgICogQHBhcmFtICBoZXRoOiBwb2ludGVyIHRvIGEgRVRIX0hhbmRsZVR5cGVEZWYgc3RydWN0dXJlIHRoYXQgY29udGFpbnMKKyAgKiAgICAgICAgIHRoZSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIGZvciBFVEhFUk5FVCBtb2R1bGUKKyAgKiBAcGFyYW0gIHBGaWx0ZXI6IHBvaW50ZXIgdG8gZmlsdGVyIHJlZ2lzdGVycyB2YWx1ZXMKKyAgKiBAcGFyYW0gIENvdW50OiBudW1iZXIgb2YgZmlsdGVyIHJlZ2lzdGVycywgbXVzdCBiZSBmcm9tIDEgdG8gOC4KKyAgKiBAcmV0dmFsIE5vbmUuCisgICovCitIQUxfU3RhdHVzVHlwZURlZiBIQUxfRVRIX1NldFdha2VVcEZpbHRlcihFVEhfSGFuZGxlVHlwZURlZiAqaGV0aCwgdWludDMyX3QgKnBGaWx0ZXIsIHVpbnQzMl90IENvdW50KQoreworICB1aW50MzJfdCByZWdpbmRleDsKKworICBpZiAocEZpbHRlciA9PSBOVUxMKQorICB7CisgICAgcmV0dXJuIEhBTF9FUlJPUjsKKyAgfQorCisgIC8qIFJlc2V0IEZpbHRlciBQb2ludGVyICovCisgIFNFVF9CSVQoaGV0aC0+SW5zdGFuY2UtPk1BQ1BNVENTUiwgRVRIX01BQ1BNVENTUl9XRkZSUFIpOworCisgIC8qIFdha2UgdXAgcGFja2V0IGZpbHRlciBjb25maWcgKi8KKyAgZm9yIChyZWdpbmRleCA9IDA7IHJlZ2luZGV4IDwgQ291bnQ7IHJlZ2luZGV4KyspCisgIHsKKyAgICAvKiBXcml0ZSBmaWx0ZXIgcmVncyAqLworICAgIFdSSVRFX1JFRyhoZXRoLT5JbnN0YW5jZS0+TUFDUldVRkZSLCBwRmlsdGVyW3JlZ2luZGV4XSk7CisgIH0KKworICByZXR1cm4gSEFMX09LOworfQorCisvKioKKyAgKiBAfQorICAqLworCisvKiogQGRlZmdyb3VwIEVUSF9FeHBvcnRlZF9GdW5jdGlvbnNfR3JvdXA0IFBlcmlwaGVyYWwgU3RhdGUgYW5kIEVycm9ycyBmdW5jdGlvbnMKKyAgKiAgQGJyaWVmICAgRVRIIFN0YXRlIGFuZCBFcnJvcnMgZnVuY3Rpb25zCisgICoKK0B2ZXJiYXRpbQorICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyAgICAgICAgICAgICAgICAgIyMjIyMgUGVyaXBoZXJhbCBTdGF0ZSBhbmQgRXJyb3JzIGZ1bmN0aW9ucyAjIyMjIworICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyBbLi5dCisgICBUaGlzIHN1YnNlY3Rpb24gcHJvdmlkZXMgYSBzZXQgb2YgZnVuY3Rpb25zIGFsbG93aW5nIHRvIHJldHVybiB0aGUgU3RhdGUgb2YKKyAgIEVUSCBjb21tdW5pY2F0aW9uIHByb2Nlc3MsIHJldHVybiBQZXJpcGhlcmFsIEVycm9ycyBvY2N1cnJlZCBkdXJpbmcgY29tbXVuaWNhdGlvbgorICAgcHJvY2VzcworCisKK0BlbmR2ZXJiYXRpbQorICAqIEB7CisgICovCisKKy8qKgorICAqIEBicmllZiAgUmV0dXJucyB0aGUgRVRIIHN0YXRlLgorICAqIEBwYXJhbSAgaGV0aDogcG9pbnRlciB0byBhIEVUSF9IYW5kbGVUeXBlRGVmIHN0cnVjdHVyZSB0aGF0IGNvbnRhaW5zCisgICogICAgICAgICB0aGUgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbiBmb3IgRVRIRVJORVQgbW9kdWxlCisgICogQHJldHZhbCBIQUwgc3RhdGUKKyAgKi8KK0hBTF9FVEhfU3RhdGVUeXBlRGVmIEhBTF9FVEhfR2V0U3RhdGUoRVRIX0hhbmRsZVR5cGVEZWYgKmhldGgpCit7CisgIHJldHVybiBoZXRoLT5nU3RhdGU7Cit9CisKKy8qKgorICAqIEBicmllZiAgUmV0dXJucyB0aGUgRVRIIGVycm9yIGNvZGUKKyAgKiBAcGFyYW0gIGhldGg6IHBvaW50ZXIgdG8gYSBFVEhfSGFuZGxlVHlwZURlZiBzdHJ1Y3R1cmUgdGhhdCBjb250YWlucworICAqICAgICAgICAgdGhlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gZm9yIEVUSEVSTkVUIG1vZHVsZQorICAqIEByZXR2YWwgRVRIIEVycm9yIENvZGUKKyAgKi8KK3VpbnQzMl90IEhBTF9FVEhfR2V0RXJyb3IoRVRIX0hhbmRsZVR5cGVEZWYgKmhldGgpCit7CisgIHJldHVybiBoZXRoLT5FcnJvckNvZGU7Cit9CisKKy8qKgorICAqIEBicmllZiAgUmV0dXJucyB0aGUgRVRIIERNQSBlcnJvciBjb2RlCisgICogQHBhcmFtICBoZXRoOiBwb2ludGVyIHRvIGEgRVRIX0hhbmRsZVR5cGVEZWYgc3RydWN0dXJlIHRoYXQgY29udGFpbnMKKyAgKiAgICAgICAgIHRoZSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIGZvciBFVEhFUk5FVCBtb2R1bGUKKyAgKiBAcmV0dmFsIEVUSCBETUEgRXJyb3IgQ29kZQorICAqLwordWludDMyX3QgSEFMX0VUSF9HZXRETUFFcnJvcihFVEhfSGFuZGxlVHlwZURlZiAqaGV0aCkKK3sKKyAgcmV0dXJuIGhldGgtPkRNQUVycm9yQ29kZTsKK30KKworLyoqCisgICogQGJyaWVmICBSZXR1cm5zIHRoZSBFVEggTUFDIGVycm9yIGNvZGUKKyAgKiBAcGFyYW0gIGhldGg6IHBvaW50ZXIgdG8gYSBFVEhfSGFuZGxlVHlwZURlZiBzdHJ1Y3R1cmUgdGhhdCBjb250YWlucworICAqICAgICAgICAgdGhlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gZm9yIEVUSEVSTkVUIG1vZHVsZQorICAqIEByZXR2YWwgRVRIIE1BQyBFcnJvciBDb2RlCisgICovCit1aW50MzJfdCBIQUxfRVRIX0dldE1BQ0Vycm9yKEVUSF9IYW5kbGVUeXBlRGVmICpoZXRoKQoreworICByZXR1cm4gaGV0aC0+TUFDRXJyb3JDb2RlOworfQorCisvKioKKyAgKiBAYnJpZWYgIFJldHVybnMgdGhlIEVUSCBNQUMgV2FrZVVwIGV2ZW50IHNvdXJjZQorICAqIEBwYXJhbSAgaGV0aDogcG9pbnRlciB0byBhIEVUSF9IYW5kbGVUeXBlRGVmIHN0cnVjdHVyZSB0aGF0IGNvbnRhaW5zCisgICogICAgICAgICB0aGUgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbiBmb3IgRVRIRVJORVQgbW9kdWxlCisgICogQHJldHZhbCBFVEggTUFDIFdha2VVcCBldmVudCBzb3VyY2UKKyAgKi8KK3VpbnQzMl90IEhBTF9FVEhfR2V0TUFDV2FrZVVwU291cmNlKEVUSF9IYW5kbGVUeXBlRGVmICpoZXRoKQoreworICByZXR1cm4gaGV0aC0+TUFDV2FrZVVwRXZlbnQ7Cit9CisKKy8qKgorICAqIEB9CisgICovCisKKy8qKgorICAqIEB9CisgICovCisKKy8qKiBAYWRkdG9ncm91cCBFVEhfUHJpdmF0ZV9GdW5jdGlvbnMgICBFVEggUHJpdmF0ZSBGdW5jdGlvbnMKKyAgKiBAeworICAqLworCisvKioKKyAgKiBAYnJpZWYgIENsZWFycyB0aGUgRVRIRVJORVQgdHJhbnNtaXQgRklGTy4KKyAgKiBAcGFyYW0gIGhldGggcG9pbnRlciB0byBhIEVUSF9IYW5kbGVUeXBlRGVmIHN0cnVjdHVyZSB0aGF0IGNvbnRhaW5zCisgICogICAgICAgICB0aGUgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbiBmb3IgRVRIRVJORVQgbW9kdWxlCisgICogQHJldHZhbCBOb25lCisgICovCitzdGF0aWMgdm9pZCBFVEhfRmx1c2hUcmFuc21pdEZJRk8oRVRIX0hhbmRsZVR5cGVEZWYgKmhldGgpCit7CisgIF9fSU8gdWludDMyX3QgdG1wcmVnID0gMDsKKworICAvKiBTZXQgdGhlIEZsdXNoIFRyYW5zbWl0IEZJRk8gYml0ICovCisgIChoZXRoLT5JbnN0YW5jZSktPkRNQU9NUiB8PSBFVEhfRE1BT01SX0ZURjsKKworICAvKiBXYWl0IHVudGlsIHRoZSB3cml0ZSBvcGVyYXRpb24gd2lsbCBiZSB0YWtlbiBpbnRvIGFjY291bnQ6CisgICAgIGF0IGxlYXN0IGZvdXIgVFhfQ0xLL1JYX0NMSyBjbG9jayBjeWNsZXMgKi8KKyAgdG1wcmVnID0gKGhldGgtPkluc3RhbmNlKS0+RE1BT01SOworICBIQUxfRGVsYXkoRVRIX1JFR19XUklURV9ERUxBWSk7CisgIChoZXRoLT5JbnN0YW5jZSktPkRNQU9NUiA9IHRtcHJlZzsKK30KKworc3RhdGljIHZvaWQgRVRIX1NldE1BQ0NvbmZpZyhFVEhfSGFuZGxlVHlwZURlZiAqaGV0aCwgIEVUSF9NQUNDb25maWdUeXBlRGVmICptYWNjb25mKQoreworICB1aW50MzJfdCB0bXByZWcxOworCisgIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIEVUSEVSTkVUIE1BQ0NSIENvbmZpZ3VyYXRpb24gLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworICAvKiBHZXQgdGhlIEVUSEVSTkVUIE1BQ0NSIHZhbHVlICovCisgIHRtcHJlZzEgPSAoaGV0aC0+SW5zdGFuY2UpLT5NQUNDUjsKKyAgLyogQ2xlYXIgV0QsIFBDRSwgUFMsIFRFIGFuZCBSRSBiaXRzICovCisgIHRtcHJlZzEgJj0gRVRIX01BQ0NSX0NMRUFSX01BU0s7CisKKyAgdG1wcmVnMSB8PSAodWludDMyX3QpKCgodWludDMyX3QpKChtYWNjb25mLT5XYXRjaGRvZyA9PSBESVNBQkxFKSA/IDFVIDogMFUpIDw8IDIzVSkgfAorICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkoKG1hY2NvbmYtPkphYmJlciA9PSBESVNBQkxFKSA/IDFVIDogMFUpIDw8IDIyVSkgfAorICAgICAgICAgICAgICAgICAgICAgICAgKHVpbnQzMl90KW1hY2NvbmYtPkludGVyUGFja2V0R2FwVmFsIHwKKyAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpbWFjY29uZi0+Q2FycmllclNlbnNlRHVyaW5nVHJhbnNtaXQgPDwgMTZVKSB8CisgICAgICAgICAgICAgICAgICAgICAgICBtYWNjb25mLT5TcGVlZCB8CisgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KSgobWFjY29uZi0+UmVjZWl2ZU93biA9PSBESVNBQkxFKSA/IDFVIDogMFUpIDw8IDEzVSkgfAorICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCltYWNjb25mLT5Mb29wYmFja01vZGUgPDwgMTJVKSB8CisgICAgICAgICAgICAgICAgICAgICAgICBtYWNjb25mLT5EdXBsZXhNb2RlIHwKKyAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpbWFjY29uZi0+Q2hlY2tzdW1PZmZsb2FkIDw8IDEwVSkgfAorICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkoKG1hY2NvbmYtPlJldHJ5VHJhbnNtaXNzaW9uID09IERJU0FCTEUpID8gMVUgOiAwVSkgPDwgOVUpIHwKKyAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpbWFjY29uZi0+QXV0b21hdGljUGFkQ1JDU3RyaXAgPDwgN1UpIHwKKyAgICAgICAgICAgICAgICAgICAgICAgIG1hY2NvbmYtPkJhY2tPZmZMaW1pdCB8CisgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KW1hY2NvbmYtPkRlZmVycmFsQ2hlY2sgPDwgNFUpKTsKKworICAvKiBXcml0ZSB0byBFVEhFUk5FVCBNQUNDUiAqLworICAoaGV0aC0+SW5zdGFuY2UpLT5NQUNDUiA9ICh1aW50MzJfdCl0bXByZWcxOworCisgIC8qIFdhaXQgdW50aWwgdGhlIHdyaXRlIG9wZXJhdGlvbiB3aWxsIGJlIHRha2VuIGludG8gYWNjb3VudCA6CisgIGF0IGxlYXN0IGZvdXIgVFhfQ0xLL1JYX0NMSyBjbG9jayBjeWNsZXMgKi8KKyAgdG1wcmVnMSA9IChoZXRoLT5JbnN0YW5jZSktPk1BQ0NSOworICBIQUxfRGVsYXkoRVRIX1JFR19XUklURV9ERUxBWSk7CisgIChoZXRoLT5JbnN0YW5jZSktPk1BQ0NSID0gdG1wcmVnMTsKKworICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIEVUSEVSTkVUIE1BQ0ZDUiBDb25maWd1cmF0aW9uIC0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworICAvKiBHZXQgdGhlIEVUSEVSTkVUIE1BQ0ZDUiB2YWx1ZSAqLworICB0bXByZWcxID0gKGhldGgtPkluc3RhbmNlKS0+TUFDRkNSOworICAvKiBDbGVhciB4eCBiaXRzICovCisgIHRtcHJlZzEgJj0gRVRIX01BQ0ZDUl9DTEVBUl9NQVNLOworCisgIHRtcHJlZzEgfD0gKHVpbnQzMl90KSgobWFjY29uZi0+UGF1c2VUaW1lIDw8IDE2VSkgfAorICAgICAgICAgICAgICAgICAgICAgICAgKHVpbnQzMl90KW1hY2NvbmYtPlplcm9RdWFudGFQYXVzZSB8CisgICAgICAgICAgICAgICAgICAgICAgICBtYWNjb25mLT5QYXVzZUxvd1RocmVzaG9sZCB8CisgICAgICAgICAgICAgICAgICAgICAgICAodWludDMyX3QpbWFjY29uZi0+VW5pY2FzdFNsb3dQcm90b2NvbFBhY2tldERldGVjdCB8CisgICAgICAgICAgICAgICAgICAgICAgICAodWludDMyX3QpbWFjY29uZi0+UmVjZWl2ZUZsb3dDb250cm9sIHwKKyAgICAgICAgICAgICAgICAgICAgICAgICh1aW50MzJfdCltYWNjb25mLT5UcmFuc21pdEZsb3dDb250cm9sKTsKKworICAvKiBXcml0ZSB0byBFVEhFUk5FVCBNQUNGQ1IgKi8KKyAgKGhldGgtPkluc3RhbmNlKS0+TUFDRkNSID0gKHVpbnQzMl90KXRtcHJlZzE7CisKKyAgLyogV2FpdCB1bnRpbCB0aGUgd3JpdGUgb3BlcmF0aW9uIHdpbGwgYmUgdGFrZW4gaW50byBhY2NvdW50IDoKKyAgYXQgbGVhc3QgZm91ciBUWF9DTEsvUlhfQ0xLIGNsb2NrIGN5Y2xlcyAqLworICB0bXByZWcxID0gKGhldGgtPkluc3RhbmNlKS0+TUFDRkNSOworICBIQUxfRGVsYXkoRVRIX1JFR19XUklURV9ERUxBWSk7CisgIChoZXRoLT5JbnN0YW5jZSktPk1BQ0ZDUiA9IHRtcHJlZzE7Cit9CisKK3N0YXRpYyB2b2lkIEVUSF9TZXRETUFDb25maWcoRVRIX0hhbmRsZVR5cGVEZWYgKmhldGgsICBFVEhfRE1BQ29uZmlnVHlwZURlZiAqZG1hY29uZikKK3sKKyAgdWludDMyX3QgdG1wcmVnMTsKKwogICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIEVUSEVSTkVUIERNQU9NUiBDb25maWd1cmF0aW9uIC0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICAgLyogR2V0IHRoZSBFVEhFUk5FVCBETUFPTVIgdmFsdWUgKi8KICAgdG1wcmVnMSA9IChoZXRoLT5JbnN0YW5jZSktPkRNQU9NUjsKICAgLyogQ2xlYXIgeHggYml0cyAqLwogICB0bXByZWcxICY9IEVUSF9ETUFPTVJfQ0xFQVJfTUFTSzsKIAotICB0bXByZWcxIHw9ICh1aW50MzJfdCkoZG1hY29uZi0+RHJvcFRDUElQQ2hlY2tzdW1FcnJvckZyYW1lIHwgCi0gICAgICAgICAgICAgICAgICAgICAgIGRtYWNvbmYtPlJlY2VpdmVTdG9yZUZvcndhcmQgfAotICAgICAgICAgICAgICAgICAgICAgICBkbWFjb25mLT5GbHVzaFJlY2VpdmVkRnJhbWUgfAotICAgICAgICAgICAgICAgICAgICAgICBkbWFjb25mLT5UcmFuc21pdFN0b3JlRm9yd2FyZCB8IAotICAgICAgICAgICAgICAgICAgICAgICBkbWFjb25mLT5UcmFuc21pdFRocmVzaG9sZENvbnRyb2wgfAotICAgICAgICAgICAgICAgICAgICAgICBkbWFjb25mLT5Gb3J3YXJkRXJyb3JGcmFtZXMgfAotICAgICAgICAgICAgICAgICAgICAgICBkbWFjb25mLT5Gb3J3YXJkVW5kZXJzaXplZEdvb2RGcmFtZXMgfAotICAgICAgICAgICAgICAgICAgICAgICBkbWFjb25mLT5SZWNlaXZlVGhyZXNob2xkQ29udHJvbCB8Ci0gICAgICAgICAgICAgICAgICAgICAgIGRtYWNvbmYtPlNlY29uZEZyYW1lT3BlcmF0ZSk7CisgIHRtcHJlZzEgfD0gKHVpbnQzMl90KSgoKHVpbnQzMl90KSgoZG1hY29uZi0+RHJvcFRDUElQQ2hlY2tzdW1FcnJvckZyYW1lID09IERJU0FCTEUpID8gMVUgOiAwVSkgPDwgMjZVKSB8CisgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KWRtYWNvbmYtPlJlY2VpdmVTdG9yZUZvcndhcmQgPDwgMjVVKSB8CisgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KSgoZG1hY29uZi0+Rmx1c2hSeFBhY2tldCA9PSBESVNBQkxFKSA/IDFVIDogMFUpIDw8IDIwVSkgfAorICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdClkbWFjb25mLT5UcmFuc21pdFN0b3JlRm9yd2FyZCA8PCAyMVUpIHwKKyAgICAgICAgICAgICAgICAgICAgICAgIGRtYWNvbmYtPlRyYW5zbWl0VGhyZXNob2xkQ29udHJvbCB8CisgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KWRtYWNvbmYtPkZvcndhcmRFcnJvckZyYW1lcyA8PCA3VSkgfAorICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdClkbWFjb25mLT5Gb3J3YXJkVW5kZXJzaXplZEdvb2RGcmFtZXMgPDwgNlUpIHwKKyAgICAgICAgICAgICAgICAgICAgICAgIGRtYWNvbmYtPlJlY2VpdmVUaHJlc2hvbGRDb250cm9sIHwKKyAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpZG1hY29uZi0+U2Vjb25kRnJhbWVPcGVyYXRlIDw8IDJVKSk7CiAKICAgLyogV3JpdGUgdG8gRVRIRVJORVQgRE1BT01SICovCiAgIChoZXRoLT5JbnN0YW5jZSktPkRNQU9NUiA9ICh1aW50MzJfdCl0bXByZWcxOwpAQCAtMTc1NiwzMzIgKzI3MTYsNzkgQEAKICAgKGhldGgtPkluc3RhbmNlKS0+RE1BT01SID0gdG1wcmVnMTsKIAogICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIEVUSEVSTkVUIERNQUJNUiBDb25maWd1cmF0aW9uIC0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KLSAgKGhldGgtPkluc3RhbmNlKS0+RE1BQk1SID0gKHVpbnQzMl90KShkbWFjb25mLT5BZGRyZXNzQWxpZ25lZEJlYXRzIHwgCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRtYWNvbmYtPkZpeGVkQnVyc3QgfAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkbWFjb25mLT5SeERNQUJ1cnN0TGVuZ3RoIHwgLyogISEgaWYgNHhQQkwgaXMgc2VsZWN0ZWQgZm9yIFR4IG9yIFJ4IGl0IGlzIGFwcGxpZWQgZm9yIHRoZSBvdGhlciAqLwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkbWFjb25mLT5UeERNQUJ1cnN0TGVuZ3RoIHwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG1hY29uZi0+RW5oYW5jZWREZXNjcmlwdG9yRm9ybWF0IHwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGRtYWNvbmYtPkRlc2NyaXB0b3JTa2lwTGVuZ3RoIDw8IDJVKSB8Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRtYWNvbmYtPkRNQUFyYml0cmF0aW9uIHwgCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVUSF9ETUFCTVJfVVNQKTsgLyogRW5hYmxlIHVzZSBvZiBzZXBhcmF0ZSBQQkwgZm9yIFJ4IGFuZCBUeCAqLworICAoaGV0aC0+SW5zdGFuY2UpLT5ETUFCTVIgPSAodWludDMyX3QpKCgodWludDMyX3QpZG1hY29uZi0+QWRkcmVzc0FsaWduZWRCZWF0cyA8PCAyNVUpIHwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkbWFjb25mLT5CdXJzdE1vZGUgfAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRtYWNvbmYtPlJ4RE1BQnVyc3RMZW5ndGggfCAvKiAhISBpZiA0eFBCTCBpcyBzZWxlY3RlZCBmb3IgVHggb3IKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUnggaXQgaXMgYXBwbGllZCBmb3IgdGhlIG90aGVyICovCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG1hY29uZi0+VHhETUFCdXJzdExlbmd0aCB8CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdClkbWFjb25mLT5FbmhhbmNlZERlc2NyaXB0b3JGb3JtYXQgPDwgN1UpIHwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZG1hY29uZi0+RGVzY3JpcHRvclNraXBMZW5ndGggPDwgMlUpIHwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkbWFjb25mLT5ETUFBcmJpdHJhdGlvbiB8CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRVRIX0RNQUJNUl9VU1ApOyAvKiBFbmFibGUgdXNlIG9mIHNlcGFyYXRlIFBCTCBmb3IgUnggYW5kIFR4ICovCiAKLSAgIC8qIFdhaXQgdW50aWwgdGhlIHdyaXRlIG9wZXJhdGlvbiB3aWxsIGJlIHRha2VuIGludG8gYWNjb3VudDoKLSAgICAgIGF0IGxlYXN0IGZvdXIgVFhfQ0xLL1JYX0NMSyBjbG9jayBjeWNsZXMgKi8KLSAgIHRtcHJlZzEgPSAoaGV0aC0+SW5zdGFuY2UpLT5ETUFCTVI7Ci0gICBIQUxfRGVsYXkoRVRIX1JFR19XUklURV9ERUxBWSk7Ci0gICAoaGV0aC0+SW5zdGFuY2UpLT5ETUFCTVIgPSB0bXByZWcxOwotCi0gICAvKiBTZXQgdGhlIEVUSCBzdGF0ZSB0byBSZWFkeSAqLwotICAgaGV0aC0+U3RhdGU9IEhBTF9FVEhfU1RBVEVfUkVBRFk7Ci0gICAKLSAgIC8qIFByb2Nlc3MgVW5sb2NrZWQgKi8KLSAgIF9fSEFMX1VOTE9DSyhoZXRoKTsKLSAgIAotICAgLyogUmV0dXJuIGZ1bmN0aW9uIHN0YXR1cyAqLwotICAgcmV0dXJuIEhBTF9PSzsgCisgIC8qIFdhaXQgdW50aWwgdGhlIHdyaXRlIG9wZXJhdGlvbiB3aWxsIGJlIHRha2VuIGludG8gYWNjb3VudDoKKyAgICAgYXQgbGVhc3QgZm91ciBUWF9DTEsvUlhfQ0xLIGNsb2NrIGN5Y2xlcyAqLworICB0bXByZWcxID0gKGhldGgtPkluc3RhbmNlKS0+RE1BQk1SOworICBIQUxfRGVsYXkoRVRIX1JFR19XUklURV9ERUxBWSk7CisgIChoZXRoLT5JbnN0YW5jZSktPkRNQUJNUiA9IHRtcHJlZzE7CiB9CiAKIC8qKgotICAqIEB9Ci0gICovCi0KLS8qKiBAZGVmZ3JvdXAgRVRIX0V4cG9ydGVkX0Z1bmN0aW9uc19Hcm91cDQgUGVyaXBoZXJhbCBTdGF0ZSBmdW5jdGlvbnMgCi0gICogIEBicmllZiAgIFBlcmlwaGVyYWwgU3RhdGUgZnVuY3Rpb25zIAotICAqCi0gIEB2ZXJiYXRpbSAgIAotICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0gICAgICAgICAgICAgICAgICAgICAgICAgIyMjIyMgUGVyaXBoZXJhbCBTdGF0ZSBmdW5jdGlvbnMgIyMjIyMKLSAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAgCi0gIFsuLl0KLSAgVGhpcyBzdWJzZWN0aW9uIHBlcm1pdHMgdG8gZ2V0IGluIHJ1bi10aW1lIHRoZSBzdGF0dXMgb2YgdGhlIHBlcmlwaGVyYWwgCi0gIGFuZCB0aGUgZGF0YSBmbG93LgotICAgICAgICgrKSBHZXQgdGhlIEVUSCBoYW5kbGUgc3RhdGU6Ci0gICAgICAgICAgIEhBTF9FVEhfR2V0U3RhdGUoKTsKLSAgICAgICAgICAgCi0KLSAgQGVuZHZlcmJhdGltCi0gICogQHsKLSAgKi8KLQotLyoqCi0gICogQGJyaWVmICBSZXR1cm4gdGhlIEVUSCBIQUwgc3RhdGUKLSAgKiBAcGFyYW0gIGhldGggcG9pbnRlciB0byBhIEVUSF9IYW5kbGVUeXBlRGVmIHN0cnVjdHVyZSB0aGF0IGNvbnRhaW5zCi0gICogICAgICAgICB0aGUgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbiBmb3IgRVRIRVJORVQgbW9kdWxlCi0gICogQHJldHZhbCBIQUwgc3RhdGUKLSAgKi8KLUhBTF9FVEhfU3RhdGVUeXBlRGVmIEhBTF9FVEhfR2V0U3RhdGUoRVRIX0hhbmRsZVR5cGVEZWYgKmhldGgpCi17ICAKLSAgLyogUmV0dXJuIEVUSCBzdGF0ZSAqLwotICByZXR1cm4gaGV0aC0+U3RhdGU7Ci19Ci0KLS8qKgotICAqIEB9Ci0gICovCi0gIAotLyoqCi0gICogQH0KLSAgKi8KLSAgCi0vKiogQGFkZHRvZ3JvdXAgRVRIX1ByaXZhdGVfRnVuY3Rpb25zCi0gICogQHsKLSAgKi8KLQotLyoqCiAgICogQGJyaWVmICBDb25maWd1cmVzIEV0aGVybmV0IE1BQyBhbmQgRE1BIHdpdGggZGVmYXVsdCBwYXJhbWV0ZXJzLgotICAqIEBwYXJhbSAgaGV0aCBwb2ludGVyIHRvIGEgRVRIX0hhbmRsZVR5cGVEZWYgc3RydWN0dXJlIHRoYXQgY29udGFpbnMKKyAgKiAgICAgICAgIGNhbGxlZCBieSBIQUxfRVRIX0luaXQoKSBBUEkuCisgICogQHBhcmFtICBoZXRoOiBwb2ludGVyIHRvIGEgRVRIX0hhbmRsZVR5cGVEZWYgc3RydWN0dXJlIHRoYXQgY29udGFpbnMKICAgKiAgICAgICAgIHRoZSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIGZvciBFVEhFUk5FVCBtb2R1bGUKLSAgKiBAcGFyYW0gIGVyciBFdGhlcm5ldCBJbml0IGVycm9yCiAgICogQHJldHZhbCBIQUwgc3RhdHVzCiAgICovCi1zdGF0aWMgdm9pZCBFVEhfTUFDRE1BQ29uZmlnKEVUSF9IYW5kbGVUeXBlRGVmICpoZXRoLCB1aW50MzJfdCBlcnIpCitzdGF0aWMgdm9pZCBFVEhfTUFDRE1BQ29uZmlnKEVUSF9IYW5kbGVUeXBlRGVmICpoZXRoKQogewotICBFVEhfTUFDSW5pdFR5cGVEZWYgbWFjaW5pdDsKLSAgRVRIX0RNQUluaXRUeXBlRGVmIGRtYWluaXQ7Ci0gIHVpbnQzMl90IHRtcHJlZzEgPSAwVTsKLSAgCi0gIGlmIChlcnIgIT0gRVRIX1NVQ0NFU1MpIC8qIEF1dG8tbmVnb3RpYXRpb24gZmFpbGVkICovCi0gIHsKLSAgICAvKiBTZXQgRXRoZXJuZXQgZHVwbGV4IG1vZGUgdG8gRnVsbC1kdXBsZXggKi8KLSAgICAoaGV0aC0+SW5pdCkuRHVwbGV4TW9kZSA9IEVUSF9NT0RFX0ZVTExEVVBMRVg7Ci0gICAgCi0gICAgLyogU2V0IEV0aGVybmV0IHNwZWVkIHRvIDEwME0gKi8KLSAgICAoaGV0aC0+SW5pdCkuU3BlZWQgPSBFVEhfU1BFRURfMTAwTTsKLSAgfQotICAKLSAgLyogRXRoZXJuZXQgTUFDIGRlZmF1bHQgaW5pdGlhbGl6YXRpb24gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi0gIG1hY2luaXQuV2F0Y2hkb2cgPSBFVEhfV0FUQ0hET0dfRU5BQkxFOwotICBtYWNpbml0LkphYmJlciA9IEVUSF9KQUJCRVJfRU5BQkxFOwotICBtYWNpbml0LkludGVyRnJhbWVHYXAgPSBFVEhfSU5URVJGUkFNRUdBUF85NkJJVDsKLSAgbWFjaW5pdC5DYXJyaWVyU2Vuc2UgPSBFVEhfQ0FSUklFUlNFTkNFX0VOQUJMRTsKLSAgbWFjaW5pdC5SZWNlaXZlT3duID0gRVRIX1JFQ0VJVkVPV05fRU5BQkxFOwotICBtYWNpbml0Lkxvb3BiYWNrTW9kZSA9IEVUSF9MT09QQkFDS01PREVfRElTQUJMRTsKLSAgaWYoaGV0aC0+SW5pdC5DaGVja3N1bU1vZGUgPT0gRVRIX0NIRUNLU1VNX0JZX0hBUkRXQVJFKQotICB7Ci0gICAgbWFjaW5pdC5DaGVja3N1bU9mZmxvYWQgPSBFVEhfQ0hFQ0tTVU1PRkZMQU9EX0VOQUJMRTsKLSAgfQotICBlbHNlCi0gIHsKLSAgICBtYWNpbml0LkNoZWNrc3VtT2ZmbG9hZCA9IEVUSF9DSEVDS1NVTU9GRkxBT0RfRElTQUJMRTsKLSAgfQotICBtYWNpbml0LlJldHJ5VHJhbnNtaXNzaW9uID0gRVRIX1JFVFJZVFJBTlNNSVNTSU9OX0RJU0FCTEU7Ci0gIG1hY2luaXQuQXV0b21hdGljUGFkQ1JDU3RyaXAgPSBFVEhfQVVUT01BVElDUEFEQ1JDU1RSSVBfRElTQUJMRTsKLSAgbWFjaW5pdC5CYWNrT2ZmTGltaXQgPSBFVEhfQkFDS09GRkxJTUlUXzEwOwotICBtYWNpbml0LkRlZmVycmFsQ2hlY2sgPSBFVEhfREVGRkVSUkFMQ0hFQ0tfRElTQUJMRTsKLSAgbWFjaW5pdC5SZWNlaXZlQWxsID0gRVRIX1JFQ0VJVkVBbGxfRElTQUJMRTsKLSAgbWFjaW5pdC5Tb3VyY2VBZGRyRmlsdGVyID0gRVRIX1NPVVJDRUFERFJGSUxURVJfRElTQUJMRTsKLSAgbWFjaW5pdC5QYXNzQ29udHJvbEZyYW1lcyA9IEVUSF9QQVNTQ09OVFJPTEZSQU1FU19CTE9DS0FMTDsKLSAgbWFjaW5pdC5Ccm9hZGNhc3RGcmFtZXNSZWNlcHRpb24gPSBFVEhfQlJPQURDQVNURlJBTUVTUkVDRVBUSU9OX0VOQUJMRTsKLSAgbWFjaW5pdC5EZXN0aW5hdGlvbkFkZHJGaWx0ZXIgPSBFVEhfREVTVElOQVRJT05BRERSRklMVEVSX05PUk1BTDsKLSAgbWFjaW5pdC5Qcm9taXNjdW91c01vZGUgPSBFVEhfUFJPTUlTQ1VPVVNfTU9ERV9ESVNBQkxFOwotICBtYWNpbml0Lk11bHRpY2FzdEZyYW1lc0ZpbHRlciA9IEVUSF9NVUxUSUNBU1RGUkFNRVNGSUxURVJfUEVSRkVDVDsKLSAgbWFjaW5pdC5VbmljYXN0RnJhbWVzRmlsdGVyID0gRVRIX1VOSUNBU1RGUkFNRVNGSUxURVJfUEVSRkVDVDsKLSAgbWFjaW5pdC5IYXNoVGFibGVIaWdoID0gMHgwVTsKLSAgbWFjaW5pdC5IYXNoVGFibGVMb3cgPSAweDBVOwotICBtYWNpbml0LlBhdXNlVGltZSA9IDB4MFU7Ci0gIG1hY2luaXQuWmVyb1F1YW50YVBhdXNlID0gRVRIX1pFUk9RVUFOVEFQQVVTRV9ESVNBQkxFOwotICBtYWNpbml0LlBhdXNlTG93VGhyZXNob2xkID0gRVRIX1BBVVNFTE9XVEhSRVNIT0xEX01JTlVTNDsKLSAgbWFjaW5pdC5VbmljYXN0UGF1c2VGcmFtZURldGVjdCA9IEVUSF9VTklDQVNUUEFVU0VGUkFNRURFVEVDVF9ESVNBQkxFOwotICBtYWNpbml0LlJlY2VpdmVGbG93Q29udHJvbCA9IEVUSF9SRUNFSVZFRkxPV0NPTlRST0xfRElTQUJMRTsKLSAgbWFjaW5pdC5UcmFuc21pdEZsb3dDb250cm9sID0gRVRIX1RSQU5TTUlURkxPV0NPTlRST0xfRElTQUJMRTsKLSAgbWFjaW5pdC5WTEFOVGFnQ29tcGFyaXNvbiA9IEVUSF9WTEFOVEFHQ09NUEFSSVNPTl8xNkJJVDsKLSAgbWFjaW5pdC5WTEFOVGFnSWRlbnRpZmllciA9IDB4MFU7Ci0gIAotICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBFVEhFUk5FVCBNQUNDUiBDb25maWd1cmF0aW9uIC0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KLSAgLyogR2V0IHRoZSBFVEhFUk5FVCBNQUNDUiB2YWx1ZSAqLwotICB0bXByZWcxID0gKGhldGgtPkluc3RhbmNlKS0+TUFDQ1I7Ci0gIC8qIENsZWFyIFdELCBQQ0UsIFBTLCBURSBhbmQgUkUgYml0cyAqLwotICB0bXByZWcxICY9IEVUSF9NQUNDUl9DTEVBUl9NQVNLOwotICAvKiBTZXQgdGhlIFdEIGJpdCBhY2NvcmRpbmcgdG8gRVRIIFdhdGNoZG9nIHZhbHVlICovCi0gIC8qIFNldCB0aGUgSkQ6IGJpdCBhY2NvcmRpbmcgdG8gRVRIIEphYmJlciB2YWx1ZSAqLwotICAvKiBTZXQgdGhlIElGRyBiaXQgYWNjb3JkaW5nIHRvIEVUSCBJbnRlckZyYW1lR2FwIHZhbHVlICovCi0gIC8qIFNldCB0aGUgRENSUyBiaXQgYWNjb3JkaW5nIHRvIEVUSCBDYXJyaWVyU2Vuc2UgdmFsdWUgKi8KLSAgLyogU2V0IHRoZSBGRVMgYml0IGFjY29yZGluZyB0byBFVEggU3BlZWQgdmFsdWUgKi8gCi0gIC8qIFNldCB0aGUgRE8gYml0IGFjY29yZGluZyB0byBFVEggUmVjZWl2ZU93biB2YWx1ZSAqLyAKLSAgLyogU2V0IHRoZSBMTSBiaXQgYWNjb3JkaW5nIHRvIEVUSCBMb29wYmFja01vZGUgdmFsdWUgKi8KLSAgLyogU2V0IHRoZSBETSBiaXQgYWNjb3JkaW5nIHRvIEVUSCBNb2RlIHZhbHVlICovIAotICAvKiBTZXQgdGhlIElQQ08gYml0IGFjY29yZGluZyB0byBFVEggQ2hlY2tzdW1PZmZsb2FkIHZhbHVlICovCi0gIC8qIFNldCB0aGUgRFIgYml0IGFjY29yZGluZyB0byBFVEggUmV0cnlUcmFuc21pc3Npb24gdmFsdWUgKi8KLSAgLyogU2V0IHRoZSBBQ1MgYml0IGFjY29yZGluZyB0byBFVEggQXV0b21hdGljUGFkQ1JDU3RyaXAgdmFsdWUgKi8KLSAgLyogU2V0IHRoZSBCTCBiaXQgYWNjb3JkaW5nIHRvIEVUSCBCYWNrT2ZmTGltaXQgdmFsdWUgKi8KLSAgLyogU2V0IHRoZSBEQyBiaXQgYWNjb3JkaW5nIHRvIEVUSCBEZWZlcnJhbENoZWNrIHZhbHVlICovCi0gIHRtcHJlZzEgfD0gKHVpbnQzMl90KShtYWNpbml0LldhdGNoZG9nIHwgCi0gICAgICAgICAgICAgICAgICAgICAgIG1hY2luaXQuSmFiYmVyIHwgCi0gICAgICAgICAgICAgICAgICAgICAgIG1hY2luaXQuSW50ZXJGcmFtZUdhcCB8Ci0gICAgICAgICAgICAgICAgICAgICAgIG1hY2luaXQuQ2FycmllclNlbnNlIHwKLSAgICAgICAgICAgICAgICAgICAgICAgKGhldGgtPkluaXQpLlNwZWVkIHwgCi0gICAgICAgICAgICAgICAgICAgICAgIG1hY2luaXQuUmVjZWl2ZU93biB8Ci0gICAgICAgICAgICAgICAgICAgICAgIG1hY2luaXQuTG9vcGJhY2tNb2RlIHwKLSAgICAgICAgICAgICAgICAgICAgICAgKGhldGgtPkluaXQpLkR1cGxleE1vZGUgfCAKLSAgICAgICAgICAgICAgICAgICAgICAgbWFjaW5pdC5DaGVja3N1bU9mZmxvYWQgfCAgICAKLSAgICAgICAgICAgICAgICAgICAgICAgbWFjaW5pdC5SZXRyeVRyYW5zbWlzc2lvbiB8IAotICAgICAgICAgICAgICAgICAgICAgICBtYWNpbml0LkF1dG9tYXRpY1BhZENSQ1N0cmlwIHwgCi0gICAgICAgICAgICAgICAgICAgICAgIG1hY2luaXQuQmFja09mZkxpbWl0IHwgCi0gICAgICAgICAgICAgICAgICAgICAgIG1hY2luaXQuRGVmZXJyYWxDaGVjayk7Ci0gIAotICAvKiBXcml0ZSB0byBFVEhFUk5FVCBNQUNDUiAqLwotICAoaGV0aC0+SW5zdGFuY2UpLT5NQUNDUiA9ICh1aW50MzJfdCl0bXByZWcxOwotICAKLSAgLyogV2FpdCB1bnRpbCB0aGUgd3JpdGUgb3BlcmF0aW9uIHdpbGwgYmUgdGFrZW4gaW50byBhY2NvdW50OgotICAgICBhdCBsZWFzdCBmb3VyIFRYX0NMSy9SWF9DTEsgY2xvY2sgY3ljbGVzICovCi0gIHRtcHJlZzEgPSAoaGV0aC0+SW5zdGFuY2UpLT5NQUNDUjsKLSAgSEFMX0RlbGF5KEVUSF9SRUdfV1JJVEVfREVMQVkpOwotICAoaGV0aC0+SW5zdGFuY2UpLT5NQUNDUiA9IHRtcHJlZzE7IAotICAKLSAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBFVEhFUk5FVCBNQUNGRlIgQ29uZmlndXJhdGlvbiAtLS0tLS0tLS0tLS0tLS0tLS0tLSovIAotICAvKiBTZXQgdGhlIFJBIGJpdCBhY2NvcmRpbmcgdG8gRVRIIFJlY2VpdmVBbGwgdmFsdWUgKi8KLSAgLyogU2V0IHRoZSBTQUYgYW5kIFNBSUYgYml0cyBhY2NvcmRpbmcgdG8gRVRIIFNvdXJjZUFkZHJGaWx0ZXIgdmFsdWUgKi8KLSAgLyogU2V0IHRoZSBQQ0YgYml0IGFjY29yZGluZyB0byBFVEggUGFzc0NvbnRyb2xGcmFtZXMgdmFsdWUgKi8KLSAgLyogU2V0IHRoZSBEQkYgYml0IGFjY29yZGluZyB0byBFVEggQnJvYWRjYXN0RnJhbWVzUmVjZXB0aW9uIHZhbHVlICovCi0gIC8qIFNldCB0aGUgREFJRiBiaXQgYWNjb3JkaW5nIHRvIEVUSCBEZXN0aW5hdGlvbkFkZHJGaWx0ZXIgdmFsdWUgKi8KLSAgLyogU2V0IHRoZSBQUiBiaXQgYWNjb3JkaW5nIHRvIEVUSCBQcm9taXNjdW91c01vZGUgdmFsdWUgKi8KLSAgLyogU2V0IHRoZSBQTSwgSE1DIGFuZCBIUEYgYml0cyBhY2NvcmRpbmcgdG8gRVRIIE11bHRpY2FzdEZyYW1lc0ZpbHRlciB2YWx1ZSAqLwotICAvKiBTZXQgdGhlIEhVQyBhbmQgSFBGIGJpdHMgYWNjb3JkaW5nIHRvIEVUSCBVbmljYXN0RnJhbWVzRmlsdGVyIHZhbHVlICovCi0gIC8qIFdyaXRlIHRvIEVUSEVSTkVUIE1BQ0ZGUiAqLyAgCi0gIChoZXRoLT5JbnN0YW5jZSktPk1BQ0ZGUiA9ICh1aW50MzJfdCkobWFjaW5pdC5SZWNlaXZlQWxsIHwgCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFjaW5pdC5Tb3VyY2VBZGRyRmlsdGVyIHwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWNpbml0LlBhc3NDb250cm9sRnJhbWVzIHwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWNpbml0LkJyb2FkY2FzdEZyYW1lc1JlY2VwdGlvbiB8IAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hY2luaXQuRGVzdGluYXRpb25BZGRyRmlsdGVyIHwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWNpbml0LlByb21pc2N1b3VzTW9kZSB8Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFjaW5pdC5NdWx0aWNhc3RGcmFtZXNGaWx0ZXIgfAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hY2luaXQuVW5pY2FzdEZyYW1lc0ZpbHRlcik7Ci0gICAKLSAgIC8qIFdhaXQgdW50aWwgdGhlIHdyaXRlIG9wZXJhdGlvbiB3aWxsIGJlIHRha2VuIGludG8gYWNjb3VudDoKLSAgICAgIGF0IGxlYXN0IGZvdXIgVFhfQ0xLL1JYX0NMSyBjbG9jayBjeWNsZXMgKi8KLSAgIHRtcHJlZzEgPSAoaGV0aC0+SW5zdGFuY2UpLT5NQUNGRlI7Ci0gICBIQUxfRGVsYXkoRVRIX1JFR19XUklURV9ERUxBWSk7Ci0gICAoaGV0aC0+SW5zdGFuY2UpLT5NQUNGRlIgPSB0bXByZWcxOwotICAgCi0gICAvKi0tLS0tLS0tLS0tLS0tLSBFVEhFUk5FVCBNQUNIVEhSIGFuZCBNQUNIVExSIENvbmZpZ3VyYXRpb24gLS0tLS0tLS0tLS0tLS0qLwotICAgLyogV3JpdGUgdG8gRVRIRVJORVQgTUFDSFRIUiAqLwotICAgKGhldGgtPkluc3RhbmNlKS0+TUFDSFRIUiA9ICh1aW50MzJfdCltYWNpbml0Lkhhc2hUYWJsZUhpZ2g7Ci0gICAKLSAgIC8qIFdyaXRlIHRvIEVUSEVSTkVUIE1BQ0hUTFIgKi8KLSAgIChoZXRoLT5JbnN0YW5jZSktPk1BQ0hUTFIgPSAodWludDMyX3QpbWFjaW5pdC5IYXNoVGFibGVMb3c7Ci0gICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIEVUSEVSTkVUIE1BQ0ZDUiBDb25maWd1cmF0aW9uIC0tLS0tLS0tLS0tLS0tLS0tLS0qLwotICAgCi0gICAvKiBHZXQgdGhlIEVUSEVSTkVUIE1BQ0ZDUiB2YWx1ZSAqLyAgCi0gICB0bXByZWcxID0gKGhldGgtPkluc3RhbmNlKS0+TUFDRkNSOwotICAgLyogQ2xlYXIgeHggYml0cyAqLwotICAgdG1wcmVnMSAmPSBFVEhfTUFDRkNSX0NMRUFSX01BU0s7Ci0gICAKLSAgIC8qIFNldCB0aGUgUFQgYml0IGFjY29yZGluZyB0byBFVEggUGF1c2VUaW1lIHZhbHVlICovCi0gICAvKiBTZXQgdGhlIERaUFEgYml0IGFjY29yZGluZyB0byBFVEggWmVyb1F1YW50YVBhdXNlIHZhbHVlICovCi0gICAvKiBTZXQgdGhlIFBMVCBiaXQgYWNjb3JkaW5nIHRvIEVUSCBQYXVzZUxvd1RocmVzaG9sZCB2YWx1ZSAqLwotICAgLyogU2V0IHRoZSBVUCBiaXQgYWNjb3JkaW5nIHRvIEVUSCBVbmljYXN0UGF1c2VGcmFtZURldGVjdCB2YWx1ZSAqLwotICAgLyogU2V0IHRoZSBSRkUgYml0IGFjY29yZGluZyB0byBFVEggUmVjZWl2ZUZsb3dDb250cm9sIHZhbHVlICovCi0gICAvKiBTZXQgdGhlIFRGRSBiaXQgYWNjb3JkaW5nIHRvIEVUSCBUcmFuc21pdEZsb3dDb250cm9sIHZhbHVlICovIAotICAgdG1wcmVnMSB8PSAodWludDMyX3QpKChtYWNpbml0LlBhdXNlVGltZSA8PCAxNlUpIHwgCi0gICAgICAgICAgICAgICAgICAgICAgICBtYWNpbml0Llplcm9RdWFudGFQYXVzZSB8Ci0gICAgICAgICAgICAgICAgICAgICAgICBtYWNpbml0LlBhdXNlTG93VGhyZXNob2xkIHwKLSAgICAgICAgICAgICAgICAgICAgICAgIG1hY2luaXQuVW5pY2FzdFBhdXNlRnJhbWVEZXRlY3QgfCAKLSAgICAgICAgICAgICAgICAgICAgICAgIG1hY2luaXQuUmVjZWl2ZUZsb3dDb250cm9sIHwKLSAgICAgICAgICAgICAgICAgICAgICAgIG1hY2luaXQuVHJhbnNtaXRGbG93Q29udHJvbCk7IAotICAgCi0gICAvKiBXcml0ZSB0byBFVEhFUk5FVCBNQUNGQ1IgKi8KLSAgIChoZXRoLT5JbnN0YW5jZSktPk1BQ0ZDUiA9ICh1aW50MzJfdCl0bXByZWcxOwotICAgCi0gICAvKiBXYWl0IHVudGlsIHRoZSB3cml0ZSBvcGVyYXRpb24gd2lsbCBiZSB0YWtlbiBpbnRvIGFjY291bnQ6Ci0gICBhdCBsZWFzdCBmb3VyIFRYX0NMSy9SWF9DTEsgY2xvY2sgY3ljbGVzICovCi0gICB0bXByZWcxID0gKGhldGgtPkluc3RhbmNlKS0+TUFDRkNSOwotICAgSEFMX0RlbGF5KEVUSF9SRUdfV1JJVEVfREVMQVkpOwotICAgKGhldGgtPkluc3RhbmNlKS0+TUFDRkNSID0gdG1wcmVnMTsKLSAgIAotICAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBFVEhFUk5FVCBNQUNWTEFOVFIgQ29uZmlndXJhdGlvbiAtLS0tLS0tLS0tLS0tLS0tKi8KLSAgIC8qIFNldCB0aGUgRVRWIGJpdCBhY2NvcmRpbmcgdG8gRVRIIFZMQU5UYWdDb21wYXJpc29uIHZhbHVlICovCi0gICAvKiBTZXQgdGhlIFZMIGJpdCBhY2NvcmRpbmcgdG8gRVRIIFZMQU5UYWdJZGVudGlmaWVyIHZhbHVlICovICAKLSAgIChoZXRoLT5JbnN0YW5jZSktPk1BQ1ZMQU5UUiA9ICh1aW50MzJfdCkobWFjaW5pdC5WTEFOVGFnQ29tcGFyaXNvbiB8IAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWNpbml0LlZMQU5UYWdJZGVudGlmaWVyKTsKLSAgICAKLSAgICAvKiBXYWl0IHVudGlsIHRoZSB3cml0ZSBvcGVyYXRpb24gd2lsbCBiZSB0YWtlbiBpbnRvIGFjY291bnQ6Ci0gICAgICAgYXQgbGVhc3QgZm91ciBUWF9DTEsvUlhfQ0xLIGNsb2NrIGN5Y2xlcyAqLwotICAgIHRtcHJlZzEgPSAoaGV0aC0+SW5zdGFuY2UpLT5NQUNWTEFOVFI7Ci0gICAgSEFMX0RlbGF5KEVUSF9SRUdfV1JJVEVfREVMQVkpOwotICAgIChoZXRoLT5JbnN0YW5jZSktPk1BQ1ZMQU5UUiA9IHRtcHJlZzE7Ci0gICAgCi0gICAgLyogRXRoZXJuZXQgRE1BIGRlZmF1bHQgaW5pdGlhbGl6YXRpb24gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwotICAgIGRtYWluaXQuRHJvcFRDUElQQ2hlY2tzdW1FcnJvckZyYW1lID0gRVRIX0RST1BUQ1BJUENIRUNLU1VNRVJST1JGUkFNRV9FTkFCTEU7Ci0gICAgZG1haW5pdC5SZWNlaXZlU3RvcmVGb3J3YXJkID0gRVRIX1JFQ0VJVkVTVE9SRUZPUldBUkRfRU5BQkxFOwotICAgIGRtYWluaXQuRmx1c2hSZWNlaXZlZEZyYW1lID0gRVRIX0ZMVVNIUkVDRUlWRURGUkFNRV9FTkFCTEU7Ci0gICAgZG1haW5pdC5UcmFuc21pdFN0b3JlRm9yd2FyZCA9IEVUSF9UUkFOU01JVFNUT1JFRk9SV0FSRF9FTkFCTEU7ICAKLSAgICBkbWFpbml0LlRyYW5zbWl0VGhyZXNob2xkQ29udHJvbCA9IEVUSF9UUkFOU01JVFRIUkVTSE9MRENPTlRST0xfNjRCWVRFUzsKLSAgICBkbWFpbml0LkZvcndhcmRFcnJvckZyYW1lcyA9IEVUSF9GT1JXQVJERVJST1JGUkFNRVNfRElTQUJMRTsKLSAgICBkbWFpbml0LkZvcndhcmRVbmRlcnNpemVkR29vZEZyYW1lcyA9IEVUSF9GT1JXQVJEVU5ERVJTSVpFREdPT0RGUkFNRVNfRElTQUJMRTsKLSAgICBkbWFpbml0LlJlY2VpdmVUaHJlc2hvbGRDb250cm9sID0gRVRIX1JFQ0VJVkVEVEhSRVNIT0xEQ09OVFJPTF82NEJZVEVTOwotICAgIGRtYWluaXQuU2Vjb25kRnJhbWVPcGVyYXRlID0gRVRIX1NFQ09OREZSQU1FT1BFUkFSVEVfRU5BQkxFOwotICAgIGRtYWluaXQuQWRkcmVzc0FsaWduZWRCZWF0cyA9IEVUSF9BRERSRVNTQUxJR05FREJFQVRTX0VOQUJMRTsKLSAgICBkbWFpbml0LkZpeGVkQnVyc3QgPSBFVEhfRklYRURCVVJTVF9FTkFCTEU7Ci0gICAgZG1haW5pdC5SeERNQUJ1cnN0TGVuZ3RoID0gRVRIX1JYRE1BQlVSU1RMRU5HVEhfMzJCRUFUOwotICAgIGRtYWluaXQuVHhETUFCdXJzdExlbmd0aCA9IEVUSF9UWERNQUJVUlNUTEVOR1RIXzMyQkVBVDsKLSAgICBkbWFpbml0LkVuaGFuY2VkRGVzY3JpcHRvckZvcm1hdCA9IEVUSF9ETUFFTkhBTkNFRERFU0NSSVBUT1JfRU5BQkxFOwotICAgIGRtYWluaXQuRGVzY3JpcHRvclNraXBMZW5ndGggPSAweDBVOwotICAgIGRtYWluaXQuRE1BQXJiaXRyYXRpb24gPSBFVEhfRE1BQVJCSVRSQVRJT05fUk9VTkRST0JJTl9SWFRYXzFfMTsKLSAgICAKLSAgICAvKiBHZXQgdGhlIEVUSEVSTkVUIERNQU9NUiB2YWx1ZSAqLwotICAgIHRtcHJlZzEgPSAoaGV0aC0+SW5zdGFuY2UpLT5ETUFPTVI7Ci0gICAgLyogQ2xlYXIgeHggYml0cyAqLwotICAgIHRtcHJlZzEgJj0gRVRIX0RNQU9NUl9DTEVBUl9NQVNLOwotICAgIAotICAgIC8qIFNldCB0aGUgRFQgYml0IGFjY29yZGluZyB0byBFVEggRHJvcFRDUElQQ2hlY2tzdW1FcnJvckZyYW1lIHZhbHVlICovCi0gICAgLyogU2V0IHRoZSBSU0YgYml0IGFjY29yZGluZyB0byBFVEggUmVjZWl2ZVN0b3JlRm9yd2FyZCB2YWx1ZSAqLwotICAgIC8qIFNldCB0aGUgREZGIGJpdCBhY2NvcmRpbmcgdG8gRVRIIEZsdXNoUmVjZWl2ZWRGcmFtZSB2YWx1ZSAqLwotICAgIC8qIFNldCB0aGUgVFNGIGJpdCBhY2NvcmRpbmcgdG8gRVRIIFRyYW5zbWl0U3RvcmVGb3J3YXJkIHZhbHVlICovCi0gICAgLyogU2V0IHRoZSBUVEMgYml0IGFjY29yZGluZyB0byBFVEggVHJhbnNtaXRUaHJlc2hvbGRDb250cm9sIHZhbHVlICovCi0gICAgLyogU2V0IHRoZSBGRUYgYml0IGFjY29yZGluZyB0byBFVEggRm9yd2FyZEVycm9yRnJhbWVzIHZhbHVlICovCi0gICAgLyogU2V0IHRoZSBGVUYgYml0IGFjY29yZGluZyB0byBFVEggRm9yd2FyZFVuZGVyc2l6ZWRHb29kRnJhbWVzIHZhbHVlICovCi0gICAgLyogU2V0IHRoZSBSVEMgYml0IGFjY29yZGluZyB0byBFVEggUmVjZWl2ZVRocmVzaG9sZENvbnRyb2wgdmFsdWUgKi8KLSAgICAvKiBTZXQgdGhlIE9TRiBiaXQgYWNjb3JkaW5nIHRvIEVUSCBTZWNvbmRGcmFtZU9wZXJhdGUgdmFsdWUgKi8KLSAgICB0bXByZWcxIHw9ICh1aW50MzJfdCkoZG1haW5pdC5Ecm9wVENQSVBDaGVja3N1bUVycm9yRnJhbWUgfCAKLSAgICAgICAgICAgICAgICAgICAgICAgICBkbWFpbml0LlJlY2VpdmVTdG9yZUZvcndhcmQgfAotICAgICAgICAgICAgICAgICAgICAgICAgIGRtYWluaXQuRmx1c2hSZWNlaXZlZEZyYW1lIHwKLSAgICAgICAgICAgICAgICAgICAgICAgICBkbWFpbml0LlRyYW5zbWl0U3RvcmVGb3J3YXJkIHwgCi0gICAgICAgICAgICAgICAgICAgICAgICAgZG1haW5pdC5UcmFuc21pdFRocmVzaG9sZENvbnRyb2wgfAotICAgICAgICAgICAgICAgICAgICAgICAgIGRtYWluaXQuRm9yd2FyZEVycm9yRnJhbWVzIHwKLSAgICAgICAgICAgICAgICAgICAgICAgICBkbWFpbml0LkZvcndhcmRVbmRlcnNpemVkR29vZEZyYW1lcyB8Ci0gICAgICAgICAgICAgICAgICAgICAgICAgZG1haW5pdC5SZWNlaXZlVGhyZXNob2xkQ29udHJvbCB8Ci0gICAgICAgICAgICAgICAgICAgICAgICAgZG1haW5pdC5TZWNvbmRGcmFtZU9wZXJhdGUpOwotICAgIAotICAgIC8qIFdyaXRlIHRvIEVUSEVSTkVUIERNQU9NUiAqLwotICAgIChoZXRoLT5JbnN0YW5jZSktPkRNQU9NUiA9ICh1aW50MzJfdCl0bXByZWcxOwotICAgIAotICAgIC8qIFdhaXQgdW50aWwgdGhlIHdyaXRlIG9wZXJhdGlvbiB3aWxsIGJlIHRha2VuIGludG8gYWNjb3VudDoKLSAgICAgICBhdCBsZWFzdCBmb3VyIFRYX0NMSy9SWF9DTEsgY2xvY2sgY3ljbGVzICovCi0gICAgdG1wcmVnMSA9IChoZXRoLT5JbnN0YW5jZSktPkRNQU9NUjsKLSAgICBIQUxfRGVsYXkoRVRIX1JFR19XUklURV9ERUxBWSk7Ci0gICAgKGhldGgtPkluc3RhbmNlKS0+RE1BT01SID0gdG1wcmVnMTsKLSAgICAKLSAgICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIEVUSEVSTkVUIERNQUJNUiBDb25maWd1cmF0aW9uIC0tLS0tLS0tLS0tLS0tLS0tLSovCi0gICAgLyogU2V0IHRoZSBBQUwgYml0IGFjY29yZGluZyB0byBFVEggQWRkcmVzc0FsaWduZWRCZWF0cyB2YWx1ZSAqLwotICAgIC8qIFNldCB0aGUgRkIgYml0IGFjY29yZGluZyB0byBFVEggRml4ZWRCdXJzdCB2YWx1ZSAqLwotICAgIC8qIFNldCB0aGUgUlBCTCBhbmQgNCpQQkwgYml0cyBhY2NvcmRpbmcgdG8gRVRIIFJ4RE1BQnVyc3RMZW5ndGggdmFsdWUgKi8KLSAgICAvKiBTZXQgdGhlIFBCTCBhbmQgNCpQQkwgYml0cyBhY2NvcmRpbmcgdG8gRVRIIFR4RE1BQnVyc3RMZW5ndGggdmFsdWUgKi8KLSAgICAvKiBTZXQgdGhlIEVuaGFuY2VkIERNQSBkZXNjcmlwdG9ycyBiaXQgYWNjb3JkaW5nIHRvIEVUSCBFbmhhbmNlZERlc2NyaXB0b3JGb3JtYXQgdmFsdWUqLwotICAgIC8qIFNldCB0aGUgRFNMIGJpdCBhY2NvcmRpbmcgdG8gRVRIIERlc2NpcHRvclNraXBMZW5ndGggdmFsdWUgKi8KLSAgICAvKiBTZXQgdGhlIFBSIGFuZCBEQSBiaXRzIGFjY29yZGluZyB0byBFVEggRE1BQXJiaXRyYXRpb24gdmFsdWUgKi8KLSAgICAoaGV0aC0+SW5zdGFuY2UpLT5ETUFCTVIgPSAodWludDMyX3QpKGRtYWluaXQuQWRkcmVzc0FsaWduZWRCZWF0cyB8IAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG1haW5pdC5GaXhlZEJ1cnN0IHwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRtYWluaXQuUnhETUFCdXJzdExlbmd0aCB8ICAgIC8qICEhIGlmIDR4UEJMIGlzIHNlbGVjdGVkIGZvciBUeCBvciBSeCBpdCBpcyBhcHBsaWVkIGZvciB0aGUgb3RoZXIgKi8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRtYWluaXQuVHhETUFCdXJzdExlbmd0aCB8Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkbWFpbml0LkVuaGFuY2VkRGVzY3JpcHRvckZvcm1hdCB8Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZG1haW5pdC5EZXNjcmlwdG9yU2tpcExlbmd0aCA8PCAyVSkgfAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG1haW5pdC5ETUFBcmJpdHJhdGlvbiB8Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFVEhfRE1BQk1SX1VTUCk7IC8qIEVuYWJsZSB1c2Ugb2Ygc2VwYXJhdGUgUEJMIGZvciBSeCBhbmQgVHggKi8KLSAgICAgCi0gICAgIC8qIFdhaXQgdW50aWwgdGhlIHdyaXRlIG9wZXJhdGlvbiB3aWxsIGJlIHRha2VuIGludG8gYWNjb3VudDoKLSAgICAgICAgYXQgbGVhc3QgZm91ciBUWF9DTEsvUlhfQ0xLIGNsb2NrIGN5Y2xlcyAqLwotICAgICB0bXByZWcxID0gKGhldGgtPkluc3RhbmNlKS0+RE1BQk1SOwotICAgICBIQUxfRGVsYXkoRVRIX1JFR19XUklURV9ERUxBWSk7Ci0gICAgIChoZXRoLT5JbnN0YW5jZSktPkRNQUJNUiA9IHRtcHJlZzE7CisgIEVUSF9NQUNDb25maWdUeXBlRGVmIG1hY0RlZmF1bHRDb25mOworICBFVEhfRE1BQ29uZmlnVHlwZURlZiBkbWFEZWZhdWx0Q29uZjsKIAotICAgICBpZigoaGV0aC0+SW5pdCkuUnhNb2RlID09IEVUSF9SWElOVEVSUlVQVF9NT0RFKQotICAgICB7Ci0gICAgICAgLyogRW5hYmxlIHRoZSBFdGhlcm5ldCBSeCBJbnRlcnJ1cHQgKi8KLSAgICAgICBfX0hBTF9FVEhfRE1BX0VOQUJMRV9JVCgoaGV0aCksIEVUSF9ETUFfSVRfTklTIHwgRVRIX0RNQV9JVF9SKTsKLSAgICAgfQorICAvKi0tLS0tLS0tLS0tLS0tLSBFVEhFUk5FVCBNQUMgcmVnaXN0ZXJzIGRlZmF1bHQgQ29uZmlndXJhdGlvbiAtLS0tLS0tLS0tLS0tLSovCisgIG1hY0RlZmF1bHRDb25mLldhdGNoZG9nID0gRU5BQkxFOworICBtYWNEZWZhdWx0Q29uZi5KYWJiZXIgPSBFTkFCTEU7CisgIG1hY0RlZmF1bHRDb25mLkludGVyUGFja2V0R2FwVmFsID0gRVRIX0lOVEVSRlJBTUVHQVBfOTZCSVQ7CisgIG1hY0RlZmF1bHRDb25mLkNhcnJpZXJTZW5zZUR1cmluZ1RyYW5zbWl0ID0gRElTQUJMRTsKKyAgbWFjRGVmYXVsdENvbmYuUmVjZWl2ZU93biA9IEVOQUJMRTsKKyAgbWFjRGVmYXVsdENvbmYuTG9vcGJhY2tNb2RlID0gRElTQUJMRTsKKyAgbWFjRGVmYXVsdENvbmYuQ2hlY2tzdW1PZmZsb2FkID0gRU5BQkxFOworICBtYWNEZWZhdWx0Q29uZi5SZXRyeVRyYW5zbWlzc2lvbiA9IERJU0FCTEU7CisgIG1hY0RlZmF1bHRDb25mLkF1dG9tYXRpY1BhZENSQ1N0cmlwID0gRElTQUJMRTsKKyAgbWFjRGVmYXVsdENvbmYuQmFja09mZkxpbWl0ID0gRVRIX0JBQ0tPRkZMSU1JVF8xMDsKKyAgbWFjRGVmYXVsdENvbmYuRGVmZXJyYWxDaGVjayA9IERJU0FCTEU7CisgIG1hY0RlZmF1bHRDb25mLlBhdXNlVGltZSA9IDB4MFU7CisgIG1hY0RlZmF1bHRDb25mLlplcm9RdWFudGFQYXVzZSA9IERJU0FCTEU7CisgIG1hY0RlZmF1bHRDb25mLlBhdXNlTG93VGhyZXNob2xkID0gRVRIX1BBVVNFTE9XVEhSRVNIT0xEX01JTlVTNDsKKyAgbWFjRGVmYXVsdENvbmYuUmVjZWl2ZUZsb3dDb250cm9sID0gRElTQUJMRTsKKyAgbWFjRGVmYXVsdENvbmYuVHJhbnNtaXRGbG93Q29udHJvbCA9IERJU0FCTEU7CisgIG1hY0RlZmF1bHRDb25mLlNwZWVkID0gRVRIX1NQRUVEXzEwME07CisgIG1hY0RlZmF1bHRDb25mLkR1cGxleE1vZGUgPSBFVEhfRlVMTERVUExFWF9NT0RFOworICBtYWNEZWZhdWx0Q29uZi5VbmljYXN0U2xvd1Byb3RvY29sUGFja2V0RGV0ZWN0ID0gRElTQUJMRTsKIAotICAgICAvKiBJbml0aWFsaXplIE1BQyBhZGRyZXNzIGluIGV0aGVybmV0IE1BQyAqLyAKLSAgICAgRVRIX01BQ0FkZHJlc3NDb25maWcoaGV0aCwgRVRIX01BQ19BRERSRVNTMCwgaGV0aC0+SW5pdC5NQUNBZGRyKTsKKyAgLyogTUFDIGRlZmF1bHQgY29uZmlndXJhdGlvbiAqLworICBFVEhfU2V0TUFDQ29uZmlnKGhldGgsICZtYWNEZWZhdWx0Q29uZik7CisKKyAgLyotLS0tLS0tLS0tLS0tLS0gRVRIRVJORVQgRE1BIHJlZ2lzdGVycyBkZWZhdWx0IENvbmZpZ3VyYXRpb24gLS0tLS0tLS0tLS0tLS0qLworICBkbWFEZWZhdWx0Q29uZi5Ecm9wVENQSVBDaGVja3N1bUVycm9yRnJhbWUgPSBFTkFCTEU7CisgIGRtYURlZmF1bHRDb25mLlJlY2VpdmVTdG9yZUZvcndhcmQgPSBFTkFCTEU7CisgIGRtYURlZmF1bHRDb25mLkZsdXNoUnhQYWNrZXQgPSBFTkFCTEU7CisgIGRtYURlZmF1bHRDb25mLlRyYW5zbWl0U3RvcmVGb3J3YXJkID0gRU5BQkxFOworICBkbWFEZWZhdWx0Q29uZi5UcmFuc21pdFRocmVzaG9sZENvbnRyb2wgPSBFVEhfVFJBTlNNSVRUSFJFU0hPTERDT05UUk9MXzY0QllURVM7CisgIGRtYURlZmF1bHRDb25mLkZvcndhcmRFcnJvckZyYW1lcyA9IERJU0FCTEU7CisgIGRtYURlZmF1bHRDb25mLkZvcndhcmRVbmRlcnNpemVkR29vZEZyYW1lcyA9IERJU0FCTEU7CisgIGRtYURlZmF1bHRDb25mLlJlY2VpdmVUaHJlc2hvbGRDb250cm9sID0gRVRIX1JFQ0VJVkVEVEhSRVNIT0xEQ09OVFJPTF82NEJZVEVTOworICBkbWFEZWZhdWx0Q29uZi5TZWNvbmRGcmFtZU9wZXJhdGUgPSBFTkFCTEU7CisgIGRtYURlZmF1bHRDb25mLkFkZHJlc3NBbGlnbmVkQmVhdHMgPSBFTkFCTEU7CisgIGRtYURlZmF1bHRDb25mLkJ1cnN0TW9kZSA9IEVUSF9CVVJTVExFTkdUSF9GSVhFRDsKKyAgZG1hRGVmYXVsdENvbmYuUnhETUFCdXJzdExlbmd0aCA9IEVUSF9SWERNQUJVUlNUTEVOR1RIXzMyQkVBVDsKKyAgZG1hRGVmYXVsdENvbmYuVHhETUFCdXJzdExlbmd0aCA9IEVUSF9UWERNQUJVUlNUTEVOR1RIXzMyQkVBVDsKKyAgZG1hRGVmYXVsdENvbmYuRW5oYW5jZWREZXNjcmlwdG9yRm9ybWF0ID0gRU5BQkxFOworICBkbWFEZWZhdWx0Q29uZi5EZXNjcmlwdG9yU2tpcExlbmd0aCA9IDB4MFU7CisgIGRtYURlZmF1bHRDb25mLkRNQUFyYml0cmF0aW9uID0gRVRIX0RNQUFSQklUUkFUSU9OX1JPVU5EUk9CSU5fUlhUWF8xXzE7CisKKyAgLyogRE1BIGRlZmF1bHQgY29uZmlndXJhdGlvbiAqLworICBFVEhfU2V0RE1BQ29uZmlnKGhldGgsICZkbWFEZWZhdWx0Q29uZik7CiB9CiAKIC8qKgpAQCAtMjA5MCw4ICsyNzk3LDggQEAKICAgKiAgICAgICAgIHRoZSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIGZvciBFVEhFUk5FVCBtb2R1bGUKICAgKiBAcGFyYW0gIE1hY0FkZHIgVGhlIE1BQyBhZGRyZXNzIHRvIGNvbmZpZ3VyZQogICAqICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBvbmUgb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXM6Ci0gICogICAgICAgICAgICAgQGFyZyBFVEhfTUFDX0FkZHJlc3MwOiBNQUMgQWRkcmVzczAgCi0gICogICAgICAgICAgICAgQGFyZyBFVEhfTUFDX0FkZHJlc3MxOiBNQUMgQWRkcmVzczEgCisgICogICAgICAgICAgICAgQGFyZyBFVEhfTUFDX0FkZHJlc3MwOiBNQUMgQWRkcmVzczAKKyAgKiAgICAgICAgICAgICBAYXJnIEVUSF9NQUNfQWRkcmVzczE6IE1BQyBBZGRyZXNzMQogICAqICAgICAgICAgICAgIEBhcmcgRVRIX01BQ19BZGRyZXNzMjogTUFDIEFkZHJlc3MyCiAgICogICAgICAgICAgICAgQGFyZyBFVEhfTUFDX0FkZHJlc3MzOiBNQUMgQWRkcmVzczMKICAgKiBAcGFyYW0gIEFkZHIgUG9pbnRlciB0byBNQUMgYWRkcmVzcyBidWZmZXIgZGF0YSAoNiBieXRlcykKQEAgLTIxMDAsMTk0ICsyODA3LDI5MCBAQAogc3RhdGljIHZvaWQgRVRIX01BQ0FkZHJlc3NDb25maWcoRVRIX0hhbmRsZVR5cGVEZWYgKmhldGgsIHVpbnQzMl90IE1hY0FkZHIsIHVpbnQ4X3QgKkFkZHIpCiB7CiAgIHVpbnQzMl90IHRtcHJlZzE7Ci0gIAorCiAgIC8qIFByZXZlbnQgdW51c2VkIGFyZ3VtZW50KHMpIGNvbXBpbGF0aW9uIHdhcm5pbmcgKi8KICAgVU5VU0VEKGhldGgpOwogCi0gIC8qIENoZWNrIHRoZSBwYXJhbWV0ZXJzICovCi0gIGFzc2VydF9wYXJhbShJU19FVEhfTUFDX0FERFJFU1MwMTIzKE1hY0FkZHIpKTsKLSAgCiAgIC8qIENhbGN1bGF0ZSB0aGUgc2VsZWN0ZWQgTUFDIGFkZHJlc3MgaGlnaCByZWdpc3RlciAqLwogICB0bXByZWcxID0gKCh1aW50MzJfdClBZGRyWzVVXSA8PCA4VSkgfCAodWludDMyX3QpQWRkcls0VV07CiAgIC8qIExvYWQgdGhlIHNlbGVjdGVkIE1BQyBhZGRyZXNzIGhpZ2ggcmVnaXN0ZXIgKi8KICAgKCooX19JTyB1aW50MzJfdCAqKSgodWludDMyX3QpKEVUSF9NQUNfQUREUl9IQkFTRSArIE1hY0FkZHIpKSkgPSB0bXByZWcxOwogICAvKiBDYWxjdWxhdGUgdGhlIHNlbGVjdGVkIE1BQyBhZGRyZXNzIGxvdyByZWdpc3RlciAqLwogICB0bXByZWcxID0gKCh1aW50MzJfdClBZGRyWzNVXSA8PCAyNFUpIHwgKCh1aW50MzJfdClBZGRyWzJVXSA8PCAxNlUpIHwgKCh1aW50MzJfdClBZGRyWzFVXSA8PCA4VSkgfCBBZGRyWzBVXTsKLSAgCisKICAgLyogTG9hZCB0aGUgc2VsZWN0ZWQgTUFDIGFkZHJlc3MgbG93IHJlZ2lzdGVyICovCiAgICgqKF9fSU8gdWludDMyX3QgKikoKHVpbnQzMl90KShFVEhfTUFDX0FERFJfTEJBU0UgKyBNYWNBZGRyKSkpID0gdG1wcmVnMTsKIH0KIAogLyoqCi0gICogQGJyaWVmICBFbmFibGVzIHRoZSBNQUMgdHJhbnNtaXNzaW9uLgotICAqIEBwYXJhbSAgaGV0aCBwb2ludGVyIHRvIGEgRVRIX0hhbmRsZVR5cGVEZWYgc3RydWN0dXJlIHRoYXQgY29udGFpbnMKLSAgKiAgICAgICAgIHRoZSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIGZvciBFVEhFUk5FVCBtb2R1bGUgIAotICAqIEByZXR2YWwgTm9uZQotICAqLwotc3RhdGljIHZvaWQgRVRIX01BQ1RyYW5zbWlzc2lvbkVuYWJsZShFVEhfSGFuZGxlVHlwZURlZiAqaGV0aCkKLXsgCi0gIF9fSU8gdWludDMyX3QgdG1wcmVnMSA9IDBVOwotICAKLSAgLyogRW5hYmxlIHRoZSBNQUMgdHJhbnNtaXNzaW9uICovCi0gIChoZXRoLT5JbnN0YW5jZSktPk1BQ0NSIHw9IEVUSF9NQUNDUl9URTsKLSAgCi0gIC8qIFdhaXQgdW50aWwgdGhlIHdyaXRlIG9wZXJhdGlvbiB3aWxsIGJlIHRha2VuIGludG8gYWNjb3VudDoKLSAgICAgYXQgbGVhc3QgZm91ciBUWF9DTEsvUlhfQ0xLIGNsb2NrIGN5Y2xlcyAqLwotICB0bXByZWcxID0gKGhldGgtPkluc3RhbmNlKS0+TUFDQ1I7Ci0gIEVUSF9EZWxheShFVEhfUkVHX1dSSVRFX0RFTEFZKTsKLSAgKGhldGgtPkluc3RhbmNlKS0+TUFDQ1IgPSB0bXByZWcxOwotfQotCi0vKioKLSAgKiBAYnJpZWYgIERpc2FibGVzIHRoZSBNQUMgdHJhbnNtaXNzaW9uLgotICAqIEBwYXJhbSAgaGV0aCBwb2ludGVyIHRvIGEgRVRIX0hhbmRsZVR5cGVEZWYgc3RydWN0dXJlIHRoYXQgY29udGFpbnMKLSAgKiAgICAgICAgIHRoZSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIGZvciBFVEhFUk5FVCBtb2R1bGUgIAotICAqIEByZXR2YWwgTm9uZQotICAqLwotc3RhdGljIHZvaWQgRVRIX01BQ1RyYW5zbWlzc2lvbkRpc2FibGUoRVRIX0hhbmRsZVR5cGVEZWYgKmhldGgpCi17IAotICBfX0lPIHVpbnQzMl90IHRtcHJlZzEgPSAwVTsKLSAgCi0gIC8qIERpc2FibGUgdGhlIE1BQyB0cmFuc21pc3Npb24gKi8KLSAgKGhldGgtPkluc3RhbmNlKS0+TUFDQ1IgJj0gfkVUSF9NQUNDUl9URTsKLSAgCi0gIC8qIFdhaXQgdW50aWwgdGhlIHdyaXRlIG9wZXJhdGlvbiB3aWxsIGJlIHRha2VuIGludG8gYWNjb3VudDoKLSAgICAgYXQgbGVhc3QgZm91ciBUWF9DTEsvUlhfQ0xLIGNsb2NrIGN5Y2xlcyAqLwotICB0bXByZWcxID0gKGhldGgtPkluc3RhbmNlKS0+TUFDQ1I7Ci0gIEVUSF9EZWxheShFVEhfUkVHX1dSSVRFX0RFTEFZKTsKLSAgKGhldGgtPkluc3RhbmNlKS0+TUFDQ1IgPSB0bXByZWcxOwotfQotCi0vKioKLSAgKiBAYnJpZWYgIEVuYWJsZXMgdGhlIE1BQyByZWNlcHRpb24uCi0gICogQHBhcmFtICBoZXRoIHBvaW50ZXIgdG8gYSBFVEhfSGFuZGxlVHlwZURlZiBzdHJ1Y3R1cmUgdGhhdCBjb250YWlucwotICAqICAgICAgICAgdGhlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gZm9yIEVUSEVSTkVUIG1vZHVsZSAgIAotICAqIEByZXR2YWwgTm9uZQotICAqLwotc3RhdGljIHZvaWQgRVRIX01BQ1JlY2VwdGlvbkVuYWJsZShFVEhfSGFuZGxlVHlwZURlZiAqaGV0aCkKLXsgCi0gIF9fSU8gdWludDMyX3QgdG1wcmVnMSA9IDBVOwotICAKLSAgLyogRW5hYmxlIHRoZSBNQUMgcmVjZXB0aW9uICovCi0gIChoZXRoLT5JbnN0YW5jZSktPk1BQ0NSIHw9IEVUSF9NQUNDUl9SRTsKLSAgCi0gIC8qIFdhaXQgdW50aWwgdGhlIHdyaXRlIG9wZXJhdGlvbiB3aWxsIGJlIHRha2VuIGludG8gYWNjb3VudDoKLSAgICAgYXQgbGVhc3QgZm91ciBUWF9DTEsvUlhfQ0xLIGNsb2NrIGN5Y2xlcyAqLwotICB0bXByZWcxID0gKGhldGgtPkluc3RhbmNlKS0+TUFDQ1I7Ci0gIEVUSF9EZWxheShFVEhfUkVHX1dSSVRFX0RFTEFZKTsKLSAgKGhldGgtPkluc3RhbmNlKS0+TUFDQ1IgPSB0bXByZWcxOwotfQotCi0vKioKLSAgKiBAYnJpZWYgIERpc2FibGVzIHRoZSBNQUMgcmVjZXB0aW9uLgotICAqIEBwYXJhbSAgaGV0aCBwb2ludGVyIHRvIGEgRVRIX0hhbmRsZVR5cGVEZWYgc3RydWN0dXJlIHRoYXQgY29udGFpbnMKLSAgKiAgICAgICAgIHRoZSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIGZvciBFVEhFUk5FVCBtb2R1bGUgICAKLSAgKiBAcmV0dmFsIE5vbmUKLSAgKi8KLXN0YXRpYyB2b2lkIEVUSF9NQUNSZWNlcHRpb25EaXNhYmxlKEVUSF9IYW5kbGVUeXBlRGVmICpoZXRoKQoteyAKLSAgX19JTyB1aW50MzJfdCB0bXByZWcxID0gMFU7Ci0gIAotICAvKiBEaXNhYmxlIHRoZSBNQUMgcmVjZXB0aW9uICovCi0gIChoZXRoLT5JbnN0YW5jZSktPk1BQ0NSICY9IH5FVEhfTUFDQ1JfUkU7IAotICAKLSAgLyogV2FpdCB1bnRpbCB0aGUgd3JpdGUgb3BlcmF0aW9uIHdpbGwgYmUgdGFrZW4gaW50byBhY2NvdW50OgotICAgICBhdCBsZWFzdCBmb3VyIFRYX0NMSy9SWF9DTEsgY2xvY2sgY3ljbGVzICovCi0gIHRtcHJlZzEgPSAoaGV0aC0+SW5zdGFuY2UpLT5NQUNDUjsKLSAgRVRIX0RlbGF5KEVUSF9SRUdfV1JJVEVfREVMQVkpOwotICAoaGV0aC0+SW5zdGFuY2UpLT5NQUNDUiA9IHRtcHJlZzE7Ci19Ci0KLS8qKgotICAqIEBicmllZiAgRW5hYmxlcyB0aGUgRE1BIHRyYW5zbWlzc2lvbi4KLSAgKiBAcGFyYW0gIGhldGggcG9pbnRlciB0byBhIEVUSF9IYW5kbGVUeXBlRGVmIHN0cnVjdHVyZSB0aGF0IGNvbnRhaW5zCi0gICogICAgICAgICB0aGUgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbiBmb3IgRVRIRVJORVQgbW9kdWxlICAgCi0gICogQHJldHZhbCBOb25lCi0gICovCi1zdGF0aWMgdm9pZCBFVEhfRE1BVHJhbnNtaXNzaW9uRW5hYmxlKEVUSF9IYW5kbGVUeXBlRGVmICpoZXRoKQotewotICAvKiBFbmFibGUgdGhlIERNQSB0cmFuc21pc3Npb24gKi8KLSAgKGhldGgtPkluc3RhbmNlKS0+RE1BT01SIHw9IEVUSF9ETUFPTVJfU1Q7ICAKLX0KLQotLyoqCi0gICogQGJyaWVmICBEaXNhYmxlcyB0aGUgRE1BIHRyYW5zbWlzc2lvbi4KLSAgKiBAcGFyYW0gIGhldGggcG9pbnRlciB0byBhIEVUSF9IYW5kbGVUeXBlRGVmIHN0cnVjdHVyZSB0aGF0IGNvbnRhaW5zCi0gICogICAgICAgICB0aGUgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbiBmb3IgRVRIRVJORVQgbW9kdWxlICAgCi0gICogQHJldHZhbCBOb25lCi0gICovCi1zdGF0aWMgdm9pZCBFVEhfRE1BVHJhbnNtaXNzaW9uRGlzYWJsZShFVEhfSGFuZGxlVHlwZURlZiAqaGV0aCkKLXsgCi0gIC8qIERpc2FibGUgdGhlIERNQSB0cmFuc21pc3Npb24gKi8KLSAgKGhldGgtPkluc3RhbmNlKS0+RE1BT01SICY9IH5FVEhfRE1BT01SX1NUOwotfQotCi0vKioKLSAgKiBAYnJpZWYgIEVuYWJsZXMgdGhlIERNQSByZWNlcHRpb24uCi0gICogQHBhcmFtICBoZXRoIHBvaW50ZXIgdG8gYSBFVEhfSGFuZGxlVHlwZURlZiBzdHJ1Y3R1cmUgdGhhdCBjb250YWlucwotICAqICAgICAgICAgdGhlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gZm9yIEVUSEVSTkVUIG1vZHVsZSAKLSAgKiBAcmV0dmFsIE5vbmUKLSAgKi8KLXN0YXRpYyB2b2lkIEVUSF9ETUFSZWNlcHRpb25FbmFibGUoRVRIX0hhbmRsZVR5cGVEZWYgKmhldGgpCi17ICAKLSAgLyogRW5hYmxlIHRoZSBETUEgcmVjZXB0aW9uICovCi0gIChoZXRoLT5JbnN0YW5jZSktPkRNQU9NUiB8PSBFVEhfRE1BT01SX1NSOyAgCi19Ci0KLS8qKgotICAqIEBicmllZiAgRGlzYWJsZXMgdGhlIERNQSByZWNlcHRpb24uCi0gICogQHBhcmFtICBoZXRoIHBvaW50ZXIgdG8gYSBFVEhfSGFuZGxlVHlwZURlZiBzdHJ1Y3R1cmUgdGhhdCBjb250YWlucwotICAqICAgICAgICAgdGhlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gZm9yIEVUSEVSTkVUIG1vZHVsZSAKLSAgKiBAcmV0dmFsIE5vbmUKLSAgKi8KLXN0YXRpYyB2b2lkIEVUSF9ETUFSZWNlcHRpb25EaXNhYmxlKEVUSF9IYW5kbGVUeXBlRGVmICpoZXRoKQoteyAKLSAgLyogRGlzYWJsZSB0aGUgRE1BIHJlY2VwdGlvbiAqLwotICAoaGV0aC0+SW5zdGFuY2UpLT5ETUFPTVIgJj0gfkVUSF9ETUFPTVJfU1I7Ci19Ci0KLS8qKgotICAqIEBicmllZiAgQ2xlYXJzIHRoZSBFVEhFUk5FVCB0cmFuc21pdCBGSUZPLgotICAqIEBwYXJhbSAgaGV0aCBwb2ludGVyIHRvIGEgRVRIX0hhbmRsZVR5cGVEZWYgc3RydWN0dXJlIHRoYXQgY29udGFpbnMKKyAgKiBAYnJpZWYgIEluaXRpYWxpemVzIHRoZSBETUEgVHggZGVzY3JpcHRvcnMuCisgICogICAgICAgICBjYWxsZWQgYnkgSEFMX0VUSF9Jbml0KCkgQVBJLgorICAqIEBwYXJhbSAgaGV0aDogcG9pbnRlciB0byBhIEVUSF9IYW5kbGVUeXBlRGVmIHN0cnVjdHVyZSB0aGF0IGNvbnRhaW5zCiAgICogICAgICAgICB0aGUgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbiBmb3IgRVRIRVJORVQgbW9kdWxlCiAgICogQHJldHZhbCBOb25lCiAgICovCi1zdGF0aWMgdm9pZCBFVEhfRmx1c2hUcmFuc21pdEZJRk8oRVRIX0hhbmRsZVR5cGVEZWYgKmhldGgpCitzdGF0aWMgdm9pZCBFVEhfRE1BVHhEZXNjTGlzdEluaXQoRVRIX0hhbmRsZVR5cGVEZWYgKmhldGgpCiB7Ci0gIF9fSU8gdWludDMyX3QgdG1wcmVnMSA9IDBVOwotICAKLSAgLyogU2V0IHRoZSBGbHVzaCBUcmFuc21pdCBGSUZPIGJpdCAqLwotICAoaGV0aC0+SW5zdGFuY2UpLT5ETUFPTVIgfD0gRVRIX0RNQU9NUl9GVEY7Ci0gIAotICAvKiBXYWl0IHVudGlsIHRoZSB3cml0ZSBvcGVyYXRpb24gd2lsbCBiZSB0YWtlbiBpbnRvIGFjY291bnQ6Ci0gICAgIGF0IGxlYXN0IGZvdXIgVFhfQ0xLL1JYX0NMSyBjbG9jayBjeWNsZXMgKi8KLSAgdG1wcmVnMSA9IChoZXRoLT5JbnN0YW5jZSktPkRNQU9NUjsKLSAgRVRIX0RlbGF5KEVUSF9SRUdfV1JJVEVfREVMQVkpOwotICAoaGV0aC0+SW5zdGFuY2UpLT5ETUFPTVIgPSB0bXByZWcxOworICBFVEhfRE1BRGVzY1R5cGVEZWYgKmRtYXR4ZGVzYzsKKyAgdWludDMyX3QgaTsKKworICAvKiBGaWxsIGVhY2ggRE1BVHhEZXNjIGRlc2NyaXB0b3Igd2l0aCB0aGUgcmlnaHQgdmFsdWVzICovCisgIGZvciAoaSA9IDA7IGkgPCAodWludDMyX3QpRVRIX1RYX0RFU0NfQ05UOyBpKyspCisgIHsKKyAgICBkbWF0eGRlc2MgPSBoZXRoLT5Jbml0LlR4RGVzYyArIGk7CisKKyAgICBXUklURV9SRUcoZG1hdHhkZXNjLT5ERVNDMCwgMHgwKTsKKyAgICBXUklURV9SRUcoZG1hdHhkZXNjLT5ERVNDMSwgMHgwKTsKKyAgICBXUklURV9SRUcoZG1hdHhkZXNjLT5ERVNDMiwgMHgwKTsKKyAgICBXUklURV9SRUcoZG1hdHhkZXNjLT5ERVNDMywgMHgwKTsKKworICAgIFdSSVRFX1JFRyhoZXRoLT5UeERlc2NMaXN0LlR4RGVzY1tpXSwgKHVpbnQzMl90KWRtYXR4ZGVzYyk7CisKKyAgICAvKiBTZXQgU2Vjb25kIEFkZHJlc3MgQ2hhaW5lZCBiaXQgKi8KKyAgICBTRVRfQklUKGRtYXR4ZGVzYy0+REVTQzAsIEVUSF9ETUFUWERFU0NfVENIKTsKKworICAgIGlmIChpIDwgKCh1aW50MzJfdClFVEhfVFhfREVTQ19DTlQgLSAxVSkpCisgICAgeworICAgICAgV1JJVEVfUkVHKGRtYXR4ZGVzYy0+REVTQzMsICh1aW50MzJfdCkoaGV0aC0+SW5pdC5UeERlc2MgKyBpICsgMVUpKTsKKyAgICB9CisgICAgZWxzZQorICAgIHsKKyAgICAgIFdSSVRFX1JFRyhkbWF0eGRlc2MtPkRFU0MzLCAodWludDMyX3QpKGhldGgtPkluaXQuVHhEZXNjKSk7CisgICAgfQorCisgICAgLyogU2V0IHRoZSBETUEgVHggZGVzY3JpcHRvcnMgY2hlY2tzdW0gaW5zZXJ0aW9uICovCisgICAgU0VUX0JJVChkbWF0eGRlc2MtPkRFU0MwLCBFVEhfRE1BVFhERVNDX0NIRUNLU1VNVENQVURQSUNNUEZVTEwpOworICB9CisKKyAgaGV0aC0+VHhEZXNjTGlzdC5DdXJUeERlc2MgPSAwOworCisgIC8qIFNldCBUcmFuc21pdCBEZXNjcmlwdG9yIExpc3QgQWRkcmVzcyAqLworICBXUklURV9SRUcoaGV0aC0+SW5zdGFuY2UtPkRNQVRETEFSLCAodWludDMyX3QpIGhldGgtPkluaXQuVHhEZXNjKTsKIH0KIAogLyoqCi0gICogQGJyaWVmICBUaGlzIGZ1bmN0aW9uIHByb3ZpZGVzIGRlbGF5IChpbiBtaWxsaXNlY29uZHMpIGJhc2VkIG9uIENQVSBjeWNsZXMgbWV0aG9kLgotICAqIEBwYXJhbSAgbWRlbGF5IHNwZWNpZmllcyB0aGUgZGVsYXkgdGltZSBsZW5ndGgsIGluIG1pbGxpc2Vjb25kcy4KKyAgKiBAYnJpZWYgIEluaXRpYWxpemVzIHRoZSBETUEgUnggZGVzY3JpcHRvcnMgaW4gY2hhaW4gbW9kZS4KKyAgKiAgICAgICAgIGNhbGxlZCBieSBIQUxfRVRIX0luaXQoKSBBUEkuCisgICogQHBhcmFtICBoZXRoOiBwb2ludGVyIHRvIGEgRVRIX0hhbmRsZVR5cGVEZWYgc3RydWN0dXJlIHRoYXQgY29udGFpbnMKKyAgKiAgICAgICAgIHRoZSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIGZvciBFVEhFUk5FVCBtb2R1bGUKICAgKiBAcmV0dmFsIE5vbmUKICAgKi8KLXN0YXRpYyB2b2lkIEVUSF9EZWxheSh1aW50MzJfdCBtZGVsYXkpCitzdGF0aWMgdm9pZCBFVEhfRE1BUnhEZXNjTGlzdEluaXQoRVRIX0hhbmRsZVR5cGVEZWYgKmhldGgpCiB7Ci0gIF9fSU8gdWludDMyX3QgRGVsYXkgPSBtZGVsYXkgKiAoU3lzdGVtQ29yZUNsb2NrIC8gOFUgLyAxMDAwVSk7Ci0gIGRvIAorICBFVEhfRE1BRGVzY1R5cGVEZWYgKmRtYXJ4ZGVzYzsKKyAgdWludDMyX3QgaTsKKworICBmb3IgKGkgPSAwOyBpIDwgKHVpbnQzMl90KUVUSF9SWF9ERVNDX0NOVDsgaSsrKQogICB7Ci0gICAgX19OT1AoKTsKLSAgfSAKLSAgd2hpbGUgKERlbGF5IC0tKTsKKyAgICBkbWFyeGRlc2MgPSAgaGV0aC0+SW5pdC5SeERlc2MgKyBpOworCisgICAgV1JJVEVfUkVHKGRtYXJ4ZGVzYy0+REVTQzAsIDB4MCk7CisgICAgV1JJVEVfUkVHKGRtYXJ4ZGVzYy0+REVTQzEsIDB4MCk7CisgICAgV1JJVEVfUkVHKGRtYXJ4ZGVzYy0+REVTQzIsIDB4MCk7CisgICAgV1JJVEVfUkVHKGRtYXJ4ZGVzYy0+REVTQzMsIDB4MCk7CisgICAgV1JJVEVfUkVHKGRtYXJ4ZGVzYy0+QmFja3VwQWRkcjAsIDB4MCk7CisgICAgV1JJVEVfUkVHKGRtYXJ4ZGVzYy0+QmFja3VwQWRkcjEsIDB4MCk7CisKKyAgICAvKiBTZXQgT3duIGJpdCBvZiB0aGUgUnggZGVzY3JpcHRvciBTdGF0dXMgKi8KKyAgICBkbWFyeGRlc2MtPkRFU0MwID0gRVRIX0RNQVJYREVTQ19PV047CisKKyAgICAvKiBTZXQgQnVmZmVyMSBzaXplIGFuZCBTZWNvbmQgQWRkcmVzcyBDaGFpbmVkIGJpdCAqLworICAgIGRtYXJ4ZGVzYy0+REVTQzEgPSBFVEhfRE1BUlhERVNDX1JDSCB8IEVUSF9SWF9CVUZfU0laRTsKKworICAgIC8qIEVuYWJsZSBFdGhlcm5ldCBETUEgUnggRGVzY3JpcHRvciBpbnRlcnJ1cHQgKi8KKyAgICBkbWFyeGRlc2MtPkRFU0MxICY9IH5FVEhfRE1BUlhERVNDX0RJQzsKKworICAgIC8qIFNldCBSeCBkZXNjcml0b3JzIGFkZHJlc3NlcyAqLworICAgIFdSSVRFX1JFRyhoZXRoLT5SeERlc2NMaXN0LlJ4RGVzY1tpXSwgKHVpbnQzMl90KWRtYXJ4ZGVzYyk7CisKKyAgICBpZiAoaSA8ICgodWludDMyX3QpRVRIX1JYX0RFU0NfQ05UIC0gMVUpKQorICAgIHsKKyAgICAgIFdSSVRFX1JFRyhkbWFyeGRlc2MtPkRFU0MzLCAodWludDMyX3QpKGhldGgtPkluaXQuUnhEZXNjICsgaSArIDFVKSk7CisgICAgfQorICAgIGVsc2UKKyAgICB7CisgICAgICBXUklURV9SRUcoZG1hcnhkZXNjLT5ERVNDMywgKHVpbnQzMl90KShoZXRoLT5Jbml0LlJ4RGVzYykpOworICAgIH0KKyAgfQorCisgIFdSSVRFX1JFRyhoZXRoLT5SeERlc2NMaXN0LlJ4RGVzY0lkeCwgMCk7CisgIFdSSVRFX1JFRyhoZXRoLT5SeERlc2NMaXN0LlJ4RGVzY0NudCwgMCk7CisgIFdSSVRFX1JFRyhoZXRoLT5SeERlc2NMaXN0LlJ4QnVpbGREZXNjSWR4LCAwKTsKKyAgV1JJVEVfUkVHKGhldGgtPlJ4RGVzY0xpc3QuUnhCdWlsZERlc2NDbnQsIDApOworICBXUklURV9SRUcoaGV0aC0+UnhEZXNjTGlzdC5JdE1vZGUsIDApOworCisgIC8qIFNldCBSZWNlaXZlIERlc2NyaXB0b3IgTGlzdCBBZGRyZXNzICovCisgIFdSSVRFX1JFRyhoZXRoLT5JbnN0YW5jZS0+RE1BUkRMQVIsICh1aW50MzJfdCkgaGV0aC0+SW5pdC5SeERlc2MpOworfQorCisvKioKKyAgKiBAYnJpZWYgIFByZXBhcmUgVHggRE1BIGRlc2NyaXB0b3IgYmVmb3JlIHRyYW5zbWlzc2lvbi4KKyAgKiAgICAgICAgIGNhbGxlZCBieSBIQUxfRVRIX1RyYW5zbWl0X0lUIGFuZCBIQUxfRVRIX1RyYW5zbWl0X0lUKCkgQVBJLgorICAqIEBwYXJhbSAgaGV0aDogcG9pbnRlciB0byBhIEVUSF9IYW5kbGVUeXBlRGVmIHN0cnVjdHVyZSB0aGF0IGNvbnRhaW5zCisgICogICAgICAgICB0aGUgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbiBmb3IgRVRIRVJORVQgbW9kdWxlCisgICogQHBhcmFtICBwVHhDb25maWc6IFR4IHBhY2tldCBjb25maWd1cmF0aW9uCisgICogQHBhcmFtICBJdE1vZGU6IEVuYWJsZSBvciBkaXNhYmxlIFR4IEVPVCBpbnRlcnJlcHQKKyAgKiBAcmV0dmFsIFN0YXR1cworICAqLworc3RhdGljIHVpbnQzMl90IEVUSF9QcmVwYXJlX1R4X0Rlc2NyaXB0b3JzKEVUSF9IYW5kbGVUeXBlRGVmICpoZXRoLCBFVEhfVHhQYWNrZXRDb25maWcgKnBUeENvbmZpZywgdWludDMyX3QgSXRNb2RlKQoreworICBFVEhfVHhEZXNjTGlzdFR5cGVEZWYgKmRtYXR4ZGVzY2xpc3QgPSAmaGV0aC0+VHhEZXNjTGlzdDsKKyAgdWludDMyX3QgZGVzY2lkeCA9IGRtYXR4ZGVzY2xpc3QtPkN1clR4RGVzYzsKKyAgdWludDMyX3QgZmlyc3RkZXNjaWR4ID0gZG1hdHhkZXNjbGlzdC0+Q3VyVHhEZXNjOworICB1aW50MzJfdCBpZHg7CisgIHVpbnQzMl90IGRlc2NuYnIgPSAwOworICBFVEhfRE1BRGVzY1R5cGVEZWYgKmRtYXR4ZGVzYyA9IChFVEhfRE1BRGVzY1R5cGVEZWYgKilkbWF0eGRlc2NsaXN0LT5UeERlc2NbZGVzY2lkeF07CisKKyAgRVRIX0J1ZmZlclR5cGVEZWYgICp0eGJ1ZmZlciA9IHBUeENvbmZpZy0+VHhCdWZmZXI7CisgIHVpbnQzMl90ICAgICAgICAgICBiZF9jb3VudCA9IDA7CisKKyAgLyogQ3VycmVudCBUeCBEZXNjcmlwdG9yIE93bmVkIGJ5IERNQTogY2Fubm90IGJlIHVzZWQgYnkgdGhlIGFwcGxpY2F0aW9uICAqLworICBpZiAoKFJFQURfQklUKGRtYXR4ZGVzYy0+REVTQzAsIEVUSF9ETUFUWERFU0NfT1dOKSA9PSBFVEhfRE1BVFhERVNDX09XTikKKyAgICAgIHx8IChkbWF0eGRlc2NsaXN0LT5QYWNrZXRBZGRyZXNzW2Rlc2NpZHhdICE9IE5VTEwpKQorICB7CisgICAgcmV0dXJuIEhBTF9FVEhfRVJST1JfQlVTWTsKKyAgfQorCisKKyAgZGVzY25iciArPSAxVTsKKworICAvKiBTZXQgaGVhZGVyIG9yIGJ1ZmZlciAxIGFkZHJlc3MgKi8KKyAgV1JJVEVfUkVHKGRtYXR4ZGVzYy0+REVTQzIsICh1aW50MzJfdCl0eGJ1ZmZlci0+YnVmZmVyKTsKKworICAvKiBTZXQgaGVhZGVyIG9yIGJ1ZmZlciAxIExlbmd0aCAqLworICBNT0RJRllfUkVHKGRtYXR4ZGVzYy0+REVTQzEsIEVUSF9ETUFUWERFU0NfVEJTMSwgdHhidWZmZXItPmxlbik7CisKKyAgaWYgKFJFQURfQklUKHBUeENvbmZpZy0+QXR0cmlidXRlcywgRVRIX1RYX1BBQ0tFVFNfRkVBVFVSRVNfQ1NVTSkgIT0gMFUpCisgIHsKKyAgICBNT0RJRllfUkVHKGRtYXR4ZGVzYy0+REVTQzAsIEVUSF9ETUFUWERFU0NfQ0lDLCBwVHhDb25maWctPkNoZWNrc3VtQ3RybCk7CisgIH0KKworICBpZiAoUkVBRF9CSVQocFR4Q29uZmlnLT5BdHRyaWJ1dGVzLCBFVEhfVFhfUEFDS0VUU19GRUFUVVJFU19DUkNQQUQpICE9IDBVKQorICB7CisgICAgTU9ESUZZX1JFRyhkbWF0eGRlc2MtPkRFU0MwLCBFVEhfQ1JDX1BBRF9ESVNBQkxFLCBwVHhDb25maWctPkNSQ1BhZEN0cmwpOworICB9CisKKworICBpZiAoUkVBRF9CSVQocFR4Q29uZmlnLT5BdHRyaWJ1dGVzLCBFVEhfVFhfUEFDS0VUU19GRUFUVVJFU19WTEFOVEFHKSAhPSAwVSkKKyAgeworICAgIC8qIFNldCBWbGFuIFR5cGUgKi8KKyAgICBTRVRfQklUKGRtYXR4ZGVzYy0+REVTQzAsIEVUSF9ETUFUWERFU0NfVkYpOworICB9CisKKyAgLyogTWFyayBpdCBhcyBGaXJzdCBEZXNjcmlwdG9yICovCisgIFNFVF9CSVQoZG1hdHhkZXNjLT5ERVNDMCwgRVRIX0RNQVRYREVTQ19GUyk7CisKKyAgLyogRW5zdXJlIHJlc3Qgb2YgZGVzY3JpcHRvciBpcyB3cml0dGVuIHRvIFJBTSBiZWZvcmUgdGhlIE9XTiBiaXQgKi8KKyAgX19ETUIoKTsKKyAgLyogc2V0IE9XTiBiaXQgb2YgRklSU1QgZGVzY3JpcHRvciAqLworICBTRVRfQklUKGRtYXR4ZGVzYy0+REVTQzAsIEVUSF9ETUFUWERFU0NfT1dOKTsKKworICAvKiBvbmx5IGlmIHRoZSBwYWNrZXQgaXMgc3BsaXQgaW50byBtb3JlIHRoYW4gb25lIGRlc2NyaXB0b3JzID4gMSAqLworICB3aGlsZSAodHhidWZmZXItPm5leHQgIT0gTlVMTCkKKyAgeworICAgIC8qIENsZWFyIHRoZSBMRCBiaXQgb2YgcHJldmlvdXMgZGVzY3JpcHRvciAqLworICAgIENMRUFSX0JJVChkbWF0eGRlc2MtPkRFU0MwLCBFVEhfRE1BVFhERVNDX0xTKTsKKyAgICBpZiAoSXRNb2RlICE9ICgodWludDMyX3QpUkVTRVQpKQorICAgIHsKKyAgICAgIC8qIFNldCBJbnRlcnJ1cHQgb24gY29tcGxldGlvbiBiaXQgKi8KKyAgICAgIFNFVF9CSVQoZG1hdHhkZXNjLT5ERVNDMCwgRVRIX0RNQVRYREVTQ19JQyk7CisgICAgfQorICAgIGVsc2UKKyAgICB7CisgICAgICAvKiBDbGVhciBJbnRlcnJ1cHQgb24gY29tcGxldGlvbiBiaXQgKi8KKyAgICAgIENMRUFSX0JJVChkbWF0eGRlc2MtPkRFU0MwLCBFVEhfRE1BVFhERVNDX0lDKTsKKyAgICB9CisgICAgLyogSW5jcmVtZW50IGN1cnJlbnQgdHggZGVzY3JpcHRvciBpbmRleCAqLworICAgIElOQ1JfVFhfREVTQ19JTkRFWChkZXNjaWR4LCAxVSk7CisgICAgLyogR2V0IGN1cnJlbnQgZGVzY3JpcHRvciBhZGRyZXNzICovCisgICAgZG1hdHhkZXNjID0gKEVUSF9ETUFEZXNjVHlwZURlZiAqKWRtYXR4ZGVzY2xpc3QtPlR4RGVzY1tkZXNjaWR4XTsKKworICAgIC8qIENsZWFyIHRoZSBGRCBiaXQgb2YgbmV3IERlc2NyaXB0b3IgKi8KKyAgICBDTEVBUl9CSVQoZG1hdHhkZXNjLT5ERVNDMCwgRVRIX0RNQVRYREVTQ19GUyk7CisKKyAgICAvKiBDdXJyZW50IFR4IERlc2NyaXB0b3IgT3duZWQgYnkgRE1BOiBjYW5ub3QgYmUgdXNlZCBieSB0aGUgYXBwbGljYXRpb24gICovCisgICAgaWYgKChSRUFEX0JJVChkbWF0eGRlc2MtPkRFU0MwLCBFVEhfRE1BVFhERVNDX09XTikgPT0gRVRIX0RNQVRYREVTQ19PV04pCisgICAgICAgIHx8IChkbWF0eGRlc2NsaXN0LT5QYWNrZXRBZGRyZXNzW2Rlc2NpZHhdICE9IE5VTEwpKQorICAgIHsKKyAgICAgIGRlc2NpZHggPSBmaXJzdGRlc2NpZHg7CisgICAgICBkbWF0eGRlc2MgPSAoRVRIX0RNQURlc2NUeXBlRGVmICopZG1hdHhkZXNjbGlzdC0+VHhEZXNjW2Rlc2NpZHhdOworCisgICAgICAvKiBjbGVhciBwcmV2aW91cyBkZXNjIG93biBiaXQgKi8KKyAgICAgIGZvciAoaWR4ID0gMDsgaWR4IDwgZGVzY25icjsgaWR4ICsrKQorICAgICAgeworICAgICAgICAvKiBFbnN1cmUgcmVzdCBvZiBkZXNjcmlwdG9yIGlzIHdyaXR0ZW4gdG8gUkFNIGJlZm9yZSB0aGUgT1dOIGJpdCAqLworICAgICAgICBfX0RNQigpOworCisgICAgICAgIENMRUFSX0JJVChkbWF0eGRlc2MtPkRFU0MwLCBFVEhfRE1BVFhERVNDX09XTik7CisKKyAgICAgICAgLyogSW5jcmVtZW50IGN1cnJlbnQgdHggZGVzY3JpcHRvciBpbmRleCAqLworICAgICAgICBJTkNSX1RYX0RFU0NfSU5ERVgoZGVzY2lkeCwgMVUpOworICAgICAgICAvKiBHZXQgY3VycmVudCBkZXNjcmlwdG9yIGFkZHJlc3MgKi8KKyAgICAgICAgZG1hdHhkZXNjID0gKEVUSF9ETUFEZXNjVHlwZURlZiAqKWRtYXR4ZGVzY2xpc3QtPlR4RGVzY1tkZXNjaWR4XTsKKyAgICAgIH0KKworICAgICAgcmV0dXJuIEhBTF9FVEhfRVJST1JfQlVTWTsKKyAgICB9CisKKyAgICBkZXNjbmJyICs9IDFVOworCisgICAgLyogR2V0IHRoZSBuZXh0IFR4IGJ1ZmZlciBpbiB0aGUgbGlzdCAqLworICAgIHR4YnVmZmVyID0gdHhidWZmZXItPm5leHQ7CisKKyAgICAvKiBTZXQgaGVhZGVyIG9yIGJ1ZmZlciAxIGFkZHJlc3MgKi8KKyAgICBXUklURV9SRUcoZG1hdHhkZXNjLT5ERVNDMiwgKHVpbnQzMl90KXR4YnVmZmVyLT5idWZmZXIpOworCisgICAgLyogU2V0IGhlYWRlciBvciBidWZmZXIgMSBMZW5ndGggKi8KKyAgICBNT0RJRllfUkVHKGRtYXR4ZGVzYy0+REVTQzEsIEVUSF9ETUFUWERFU0NfVEJTMSwgdHhidWZmZXItPmxlbik7CisKKyAgICBiZF9jb3VudCArPSAxVTsKKworICAgIC8qIEVuc3VyZSByZXN0IG9mIGRlc2NyaXB0b3IgaXMgd3JpdHRlbiB0byBSQU0gYmVmb3JlIHRoZSBPV04gYml0ICovCisgICAgX19ETUIoKTsKKyAgICAvKiBTZXQgT3duIGJpdCAqLworICAgIFNFVF9CSVQoZG1hdHhkZXNjLT5ERVNDMCwgRVRIX0RNQVRYREVTQ19PV04pOworICB9CisKKyAgaWYgKEl0TW9kZSAhPSAoKHVpbnQzMl90KVJFU0VUKSkKKyAgeworICAgIC8qIFNldCBJbnRlcnJ1cHQgb24gY29tcGxldGlvbiBiaXQgKi8KKyAgICBTRVRfQklUKGRtYXR4ZGVzYy0+REVTQzAsIEVUSF9ETUFUWERFU0NfSUMpOworICB9CisgIGVsc2UKKyAgeworICAgIC8qIENsZWFyIEludGVycnVwdCBvbiBjb21wbGV0aW9uIGJpdCAqLworICAgIENMRUFSX0JJVChkbWF0eGRlc2MtPkRFU0MwLCBFVEhfRE1BVFhERVNDX0lDKTsKKyAgfQorCisgIC8qIE1hcmsgaXQgYXMgTEFTVCBkZXNjcmlwdG9yICovCisgIFNFVF9CSVQoZG1hdHhkZXNjLT5ERVNDMCwgRVRIX0RNQVRYREVTQ19MUyk7CisgIC8qIFNhdmUgdGhlIGN1cnJlbnQgcGFja2V0IGFkZHJlc3MgdG8gZXhwb3NlIGl0IHRvIHRoZSBhcHBsaWNhdGlvbiAqLworICBkbWF0eGRlc2NsaXN0LT5QYWNrZXRBZGRyZXNzW2Rlc2NpZHhdID0gZG1hdHhkZXNjbGlzdC0+Q3VycmVudFBhY2tldEFkZHJlc3M7CisKKyAgZG1hdHhkZXNjbGlzdC0+Q3VyVHhEZXNjID0gZGVzY2lkeDsKKworICAvKiBkaXNhYmxlIHRoZSBpbnRlcnJ1cHQgKi8KKyAgX19kaXNhYmxlX2lycSgpOworCisgIGRtYXR4ZGVzY2xpc3QtPkJ1ZmZlcnNJblVzZSArPSBiZF9jb3VudCArIDFVOworCisgIC8qIEVuYWJsZSBpbnRlcnJ1cHRzIGJhY2sgKi8KKyAgX19lbmFibGVfaXJxKCk7CisKKworICAvKiBSZXR1cm4gZnVuY3Rpb24gc3RhdHVzICovCisgIHJldHVybiBIQUxfRVRIX0VSUk9SX05PTkU7CiB9CiAKICNpZiAoVVNFX0hBTF9FVEhfUkVHSVNURVJfQ0FMTEJBQ0tTID09IDEpCiBzdGF0aWMgdm9pZCBFVEhfSW5pdENhbGxiYWNrc1RvRGVmYXVsdChFVEhfSGFuZGxlVHlwZURlZiAqaGV0aCkKIHsKICAgLyogSW5pdCB0aGUgRVRIIENhbGxiYWNrIHNldHRpbmdzICovCi0gIGhldGgtPlR4Q3BsdENhbGxiYWNrICAgICAgID0gSEFMX0VUSF9UeENwbHRDYWxsYmFjazsgLyogTGVnYWN5IHdlYWsgVHhDcGx0Q2FsbGJhY2sgICAqLwotICBoZXRoLT5SeENwbHRDYWxsYmFjayAgICAgICA9IEhBTF9FVEhfUnhDcGx0Q2FsbGJhY2s7IC8qIExlZ2FjeSB3ZWFrIFJ4Q3BsdENhbGxiYWNrICAgKi8KLSAgaGV0aC0+RE1BRXJyb3JDYWxsYmFjayAgICAgPSBIQUxfRVRIX0Vycm9yQ2FsbGJhY2s7ICAvKiBMZWdhY3kgd2VhayBETUFFcnJvckNhbGxiYWNrICovCisgIGhldGgtPlR4Q3BsdENhbGxiYWNrICAgPSBIQUxfRVRIX1R4Q3BsdENhbGxiYWNrOyAgICAvKiBMZWdhY3kgd2VhayBUeENwbHRDYWxsYmFjayAgICovCisgIGhldGgtPlJ4Q3BsdENhbGxiYWNrICAgPSBIQUxfRVRIX1J4Q3BsdENhbGxiYWNrOyAgICAvKiBMZWdhY3kgd2VhayBSeENwbHRDYWxsYmFjayAgICovCisgIGhldGgtPkVycm9yQ2FsbGJhY2sgICAgPSBIQUxfRVRIX0Vycm9yQ2FsbGJhY2s7ICAgICAvKiBMZWdhY3kgd2VhayBFcnJvckNhbGxiYWNrICovCisgIGhldGgtPlBNVENhbGxiYWNrICAgICAgPSBIQUxfRVRIX1BNVENhbGxiYWNrOyAgICAgICAvKiBMZWdhY3kgd2VhayBQTVRDYWxsYmFjayAgICAgICovCisgIGhldGgtPldha2VVcENhbGxiYWNrICAgPSBIQUxfRVRIX1dha2VVcENhbGxiYWNrOyAgICAvKiBMZWdhY3kgd2VhayBXYWtlVXBDYWxsYmFjayAgICovCiB9CiAjZW5kaWYgLyogVVNFX0hBTF9FVEhfUkVHSVNURVJfQ0FMTEJBQ0tTICovCiAKQEAgLTIyOTUsMTUgKzMwOTgsMTUgQEAKICAgKiBAfQogICAqLwogCi0jZW5kaWYgLyogU1RNMzJGNDA1eHggfHwgU1RNMzJGNDE1eHggfHwgU1RNMzJGNDA3eHggfHwgU1RNMzJGNDE3eHggfHwgU1RNMzJGNDI3eHggfHxcCi0gICAgICAgICAgU1RNMzJGNDM3eHggfHwgU1RNMzJGNDI5eHggfHwgU1RNMzJGNDM5eHggfHwgU1RNMzJGNDY5eHggfHwgU1RNMzJGNDc5eHggKi8KKy8qKgorICAqIEB9CisgICovCisKKyNlbmRpZiAvKiBFVEggKi8KKwogI2VuZGlmIC8qIEhBTF9FVEhfTU9EVUxFX0VOQUJMRUQgKi8KLS8qKgotICAqIEB9Ci0gICovCiAKIC8qKgogICAqIEB9CiAgICovCiAKLS8qKioqKioqKioqKioqKioqKioqKioqKiogKEMpIENPUFlSSUdIVCBTVE1pY3JvZWxlY3Ryb25pY3MgKioqKipFTkQgT0YgRklMRSoqKiovCmRpZmYgLS1naXQgYS9TcmMvc3RtMzJmNHh4X2hhbF9leHRpLmMgYi9TcmMvc3RtMzJmNHh4X2hhbF9leHRpLmMKaW5kZXggMDk5YmYxZS4uMDRiNTIxNSAxMDA2NDQKLS0tIGEvU3JjL3N0bTMyZjR4eF9oYWxfZXh0aS5jCisrKyBiL1NyYy9zdG0zMmY0eHhfaGFsX2V4dGkuYwpAQCAtOCw2ICs4LDE3IEBACiAgICogICAgICAgICAgICsgSW5pdGlhbGl6YXRpb24gYW5kIGRlLWluaXRpYWxpemF0aW9uIGZ1bmN0aW9ucwogICAqICAgICAgICAgICArIElPIG9wZXJhdGlvbiBmdW5jdGlvbnMKICAgKgorICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAgKiBAYXR0ZW50aW9uCisgICoKKyAgKiBDb3B5cmlnaHQgKGMpIDIwMTggU1RNaWNyb2VsZWN0cm9uaWNzLgorICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgICoKKyAgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIHVuZGVyIHRlcm1zIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUKKyAgKiBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb2Z0d2FyZSBjb21wb25lbnQuCisgICogSWYgbm8gTElDRU5TRSBmaWxlIGNvbWVzIHdpdGggdGhpcyBzb2Z0d2FyZSwgaXQgaXMgcHJvdmlkZWQgQVMtSVMuCisgICoKKyAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgIEB2ZXJiYXRpbQogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgICAgICAgICAgICAgICAgICAgIyMjIyMgRVhUSSBQZXJpcGhlcmFsIGZlYXR1cmVzICMjIyMjCkBAIC02OSwxOCArODAsNiBAQAogICAgICgjKSBHZW5lcmF0ZSBzb2Z0d2FyZSBpbnRlcnJ1cHQgdXNpbmcgSEFMX0VYVElfR2VuZXJhdGVTV0koKS4KIAogICBAZW5kdmVyYmF0aW0KLSAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gICogQGF0dGVudGlvbgotICAqCi0gICogPGgyPjxjZW50ZXI+JmNvcHk7IENvcHlyaWdodCAoYykgMjAxOCBTVE1pY3JvZWxlY3Ryb25pY3MuCi0gICogQWxsIHJpZ2h0cyByZXNlcnZlZC48L2NlbnRlcj48L2gyPgotICAqCi0gICogVGhpcyBzb2Z0d2FyZSBjb21wb25lbnQgaXMgbGljZW5zZWQgYnkgU1QgdW5kZXIgQlNEIDMtQ2xhdXNlIGxpY2Vuc2UsCi0gICogdGhlICJMaWNlbnNlIjsgWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZQotICAqIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdDoKLSAgKiAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZQotICAqCi0gICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqLwogCiAvKiBJbmNsdWRlcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwpAQCAtMzAxLDggKzMwMCw4IEBACiAgICAgewogICAgICAgYXNzZXJ0X3BhcmFtKElTX0VYVElfR1BJT19QSU4obGluZXBvcykpOwogCi0gICAgICByZWd2YWwgPSBTWVNDRkctPkVYVElDUltsaW5lcG9zID4+IDJ1XTsKLSAgICAgIHBFeHRpQ29uZmlnLT5HUElPU2VsID0gKChyZWd2YWwgPDwgKFNZU0NGR19FWFRJQ1IxX0VYVEkxX1BvcyAqICgzdUwgLSAobGluZXBvcyAmIDB4MDN1KSkpKSA+PiAyNCk7CisgICAgICByZWd2YWwgPSAoU1lTQ0ZHLT5FWFRJQ1JbbGluZXBvcyA+PiAydV0gPDwgMTZ1ICk7CisgICAgICBwRXh0aUNvbmZpZy0+R1BJT1NlbCA9ICgocmVndmFsIDw8IChTWVNDRkdfRVhUSUNSMV9FWFRJMV9Qb3MgKiAoM3VMIC0gKGxpbmVwb3MgJiAweDAzdSkpKSkgPj4gMjh1KTsKICAgICB9CiAgIH0KIApAQCAtNTQ2LDQgKzU0NSwzIEBACiAgICogQH0KICAgKi8KIAotLyoqKioqKioqKioqKioqKioqKioqKioqKiAoQykgQ09QWVJJR0hUIFNUTWljcm9lbGVjdHJvbmljcyAqKioqKkVORCBPRiBGSUxFKioqKi8KZGlmZiAtLWdpdCBhL1NyYy9zdG0zMmY0eHhfaGFsX2ZsYXNoLmMgYi9TcmMvc3RtMzJmNHh4X2hhbF9mbGFzaC5jCmluZGV4IDY5YjQ3YTYuLjI4MzBkYTAgMTAwNjQ0Ci0tLSBhL1NyYy9zdG0zMmY0eHhfaGFsX2ZsYXNoLmMKKysrIGIvU3JjL3N0bTMyZjR4eF9oYWxfZmxhc2guYwpAQCAtNjMsMTQgKzYzLDEyIEBACiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqIEBhdHRlbnRpb24KICAgKgotICAqIDxoMj48Y2VudGVyPiZjb3B5OyBDb3B5cmlnaHQgKGMpIDIwMTcgU1RNaWNyb2VsZWN0cm9uaWNzLgotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9jZW50ZXI+PC9oMj4KKyAgKiBDb3B5cmlnaHQgKGMpIDIwMTcgU1RNaWNyb2VsZWN0cm9uaWNzLgorICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICoKLSAgKiBUaGlzIHNvZnR3YXJlIGNvbXBvbmVudCBpcyBsaWNlbnNlZCBieSBTVCB1bmRlciBCU0QgMy1DbGF1c2UgbGljZW5zZSwKLSAgKiB0aGUgIkxpY2Vuc2UiOyBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlCi0gICogTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0OgotICAqICAgICAgICAgICAgICAgICAgICAgICAgb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvQlNELTMtQ2xhdXNlCi0gICoKKyAgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIHVuZGVyIHRlcm1zIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgaW4KKyAgKiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb2Z0d2FyZSBjb21wb25lbnQuCisgICogSWYgbm8gTElDRU5TRSBmaWxlIGNvbWVzIHdpdGggdGhpcyBzb2Z0d2FyZSwgaXQgaXMgcHJvdmlkZWQgQVMtSVMuCiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqLyAKIApAQCAtNzc1LDQgKzc3MywzIEBACiAgICogQH0KICAgKi8KIAotLyoqKioqKioqKioqKioqKioqKioqKioqKiAoQykgQ09QWVJJR0hUIFNUTWljcm9lbGVjdHJvbmljcyAqKioqKkVORCBPRiBGSUxFKioqKi8KZGlmZiAtLWdpdCBhL1NyYy9zdG0zMmY0eHhfaGFsX2ZsYXNoX2V4LmMgYi9TcmMvc3RtMzJmNHh4X2hhbF9mbGFzaF9leC5jCmluZGV4IDVjNzJlYWEuLmQ5OWVhY2UgMTAwNjQ0Ci0tLSBhL1NyYy9zdG0zMmY0eHhfaGFsX2ZsYXNoX2V4LmMKKysrIGIvU3JjL3N0bTMyZjR4eF9oYWxfZmxhc2hfZXguYwpAQCAtNDksMTQgKzQ5LDEyIEBACiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqIEBhdHRlbnRpb24KICAgKgotICAqIDxoMj48Y2VudGVyPiZjb3B5OyBDb3B5cmlnaHQgKGMpIDIwMTcgU1RNaWNyb2VsZWN0cm9uaWNzLgotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9jZW50ZXI+PC9oMj4KKyAgKiBDb3B5cmlnaHQgKGMpIDIwMTcgU1RNaWNyb2VsZWN0cm9uaWNzLgorICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICoKLSAgKiBUaGlzIHNvZnR3YXJlIGNvbXBvbmVudCBpcyBsaWNlbnNlZCBieSBTVCB1bmRlciBCU0QgMy1DbGF1c2UgbGljZW5zZSwKLSAgKiB0aGUgIkxpY2Vuc2UiOyBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlCi0gICogTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0OgotICAqICAgICAgICAgICAgICAgICAgICAgICAgb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvQlNELTMtQ2xhdXNlCi0gICoKKyAgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIHVuZGVyIHRlcm1zIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgaW4KKyAgKiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb2Z0d2FyZSBjb21wb25lbnQuCisgICogSWYgbm8gTElDRU5TRSBmaWxlIGNvbWVzIHdpdGggdGhpcyBzb2Z0d2FyZSwgaXQgaXMgcHJvdmlkZWQgQVMtSVMuCiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqLwogCkBAIC0xMzQ3LDQgKzEzNDUsMyBAQAogICAqIEB9CiAgICovCiAKLS8qKioqKioqKioqKioqKioqKioqKioqKiogKEMpIENPUFlSSUdIVCBTVE1pY3JvZWxlY3Ryb25pY3MgKioqKipFTkQgT0YgRklMRSoqKiovCmRpZmYgLS1naXQgYS9TcmMvc3RtMzJmNHh4X2hhbF9mbGFzaF9yYW1mdW5jLmMgYi9TcmMvc3RtMzJmNHh4X2hhbF9mbGFzaF9yYW1mdW5jLmMKaW5kZXggMTJkYjQ1OC4uOTUyNTk1YiAxMDA2NDQKLS0tIGEvU3JjL3N0bTMyZjR4eF9oYWxfZmxhc2hfcmFtZnVuYy5jCisrKyBiL1NyYy9zdG0zMmY0eHhfaGFsX2ZsYXNoX3JhbWZ1bmMuYwpAQCAtMzQsMTQgKzM0LDEyIEBACiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqIEBhdHRlbnRpb24KICAgKgotICAqIDxoMj48Y2VudGVyPiZjb3B5OyBDb3B5cmlnaHQgKGMpIDIwMTcgU1RNaWNyb2VsZWN0cm9uaWNzLgotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9jZW50ZXI+PC9oMj4KKyAgKiBDb3B5cmlnaHQgKGMpIDIwMTcgU1RNaWNyb2VsZWN0cm9uaWNzLgorICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICoKLSAgKiBUaGlzIHNvZnR3YXJlIGNvbXBvbmVudCBpcyBsaWNlbnNlZCBieSBTVCB1bmRlciBCU0QgMy1DbGF1c2UgbGljZW5zZSwKLSAgKiB0aGUgIkxpY2Vuc2UiOyBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlCi0gICogTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0OgotICAqICAgICAgICAgICAgICAgICAgICAgICAgb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvQlNELTMtQ2xhdXNlCi0gICoKKyAgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIHVuZGVyIHRlcm1zIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgaW4KKyAgKiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb2Z0d2FyZSBjb21wb25lbnQuCisgICogSWYgbm8gTElDRU5TRSBmaWxlIGNvbWVzIHdpdGggdGhpcyBzb2Z0d2FyZSwgaXQgaXMgcHJvdmlkZWQgQVMtSVMuCiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqLyAKIApAQCAtMTcyLDQgKzE3MCwzIEBACiAgICogQH0KICAgKi8KIAotLyoqKioqKioqKioqKioqKioqKioqKioqKiAoQykgQ09QWVJJR0hUIFNUTWljcm9lbGVjdHJvbmljcyAqKioqKkVORCBPRiBGSUxFKioqKi8KZGlmZiAtLWdpdCBhL1NyYy9zdG0zMmY0eHhfaGFsX2ZtcGkyYy5jIGIvU3JjL3N0bTMyZjR4eF9oYWxfZm1waTJjLmMKaW5kZXggMzA2NDc1OS4uZDA3OWRkMCAxMDA2NDQKLS0tIGEvU3JjL3N0bTMyZjR4eF9oYWxfZm1waTJjLmMKKysrIGIvU3JjL3N0bTMyZjR4eF9oYWxfZm1waTJjLmMKQEAgLTksNiArOSwxNyBAQAogICAqICAgICAgICAgICArIElPIG9wZXJhdGlvbiBmdW5jdGlvbnMKICAgKiAgICAgICAgICAgKyBQZXJpcGhlcmFsIFN0YXRlIGFuZCBFcnJvcnMgZnVuY3Rpb25zCiAgICoKKyAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgICogQGF0dGVudGlvbgorICAqCisgICogQ29weXJpZ2h0IChjKSAyMDE2IFNUTWljcm9lbGVjdHJvbmljcy4KKyAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICAqCisgICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciB0ZXJtcyB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlCisgICogaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc29mdHdhcmUgY29tcG9uZW50LgorICAqIElmIG5vIExJQ0VOU0UgZmlsZSBjb21lcyB3aXRoIHRoaXMgc29mdHdhcmUsIGl0IGlzIHByb3ZpZGVkIEFTLUlTLgorICAqCisgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICBAdmVyYmF0aW0KICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAgICAgICAgICAgICAgICAgICAgICAjIyMjIyBIb3cgdG8gdXNlIHRoaXMgZHJpdmVyICMjIyMjCkBAIC02NiwyMiArNzcsMjIgQEAKICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgIFsuLl0KICAgICAgICgrKSBUcmFuc21pdCBpbiBtYXN0ZXIgbW9kZSBhbiBhbW91bnQgb2YgZGF0YSBpbiBub24tYmxvY2tpbmcgbW9kZSB1c2luZyBIQUxfRk1QSTJDX01hc3Rlcl9UcmFuc21pdF9JVCgpCi0gICAgICAoKykgQXQgdHJhbnNtaXNzaW9uIGVuZCBvZiB0cmFuc2ZlciwgSEFMX0ZNUEkyQ19NYXN0ZXJUeENwbHRDYWxsYmFjaygpIGlzIGV4ZWN1dGVkIGFuZCB1c2VyIGNhbgotICAgICAgICAgICBhZGQgaGlzIG93biBjb2RlIGJ5IGN1c3RvbWl6YXRpb24gb2YgZnVuY3Rpb24gcG9pbnRlciBIQUxfRk1QSTJDX01hc3RlclR4Q3BsdENhbGxiYWNrKCkKKyAgICAgICgrKSBBdCB0cmFuc21pc3Npb24gZW5kIG9mIHRyYW5zZmVyLCBIQUxfRk1QSTJDX01hc3RlclR4Q3BsdENhbGxiYWNrKCkgaXMgZXhlY3V0ZWQgYW5kIHVzZXJzIGNhbgorICAgICAgICAgICBhZGQgdGhlaXIgb3duIGNvZGUgYnkgY3VzdG9taXphdGlvbiBvZiBmdW5jdGlvbiBwb2ludGVyIEhBTF9GTVBJMkNfTWFzdGVyVHhDcGx0Q2FsbGJhY2soKQogICAgICAgKCspIFJlY2VpdmUgaW4gbWFzdGVyIG1vZGUgYW4gYW1vdW50IG9mIGRhdGEgaW4gbm9uLWJsb2NraW5nIG1vZGUgdXNpbmcgSEFMX0ZNUEkyQ19NYXN0ZXJfUmVjZWl2ZV9JVCgpCi0gICAgICAoKykgQXQgcmVjZXB0aW9uIGVuZCBvZiB0cmFuc2ZlciwgSEFMX0ZNUEkyQ19NYXN0ZXJSeENwbHRDYWxsYmFjaygpIGlzIGV4ZWN1dGVkIGFuZCB1c2VyIGNhbgotICAgICAgICAgICBhZGQgaGlzIG93biBjb2RlIGJ5IGN1c3RvbWl6YXRpb24gb2YgZnVuY3Rpb24gcG9pbnRlciBIQUxfRk1QSTJDX01hc3RlclJ4Q3BsdENhbGxiYWNrKCkKKyAgICAgICgrKSBBdCByZWNlcHRpb24gZW5kIG9mIHRyYW5zZmVyLCBIQUxfRk1QSTJDX01hc3RlclJ4Q3BsdENhbGxiYWNrKCkgaXMgZXhlY3V0ZWQgYW5kIHVzZXJzIGNhbgorICAgICAgICAgICBhZGQgdGhlaXIgb3duIGNvZGUgYnkgY3VzdG9taXphdGlvbiBvZiBmdW5jdGlvbiBwb2ludGVyIEhBTF9GTVBJMkNfTWFzdGVyUnhDcGx0Q2FsbGJhY2soKQogICAgICAgKCspIFRyYW5zbWl0IGluIHNsYXZlIG1vZGUgYW4gYW1vdW50IG9mIGRhdGEgaW4gbm9uLWJsb2NraW5nIG1vZGUgdXNpbmcgSEFMX0ZNUEkyQ19TbGF2ZV9UcmFuc21pdF9JVCgpCi0gICAgICAoKykgQXQgdHJhbnNtaXNzaW9uIGVuZCBvZiB0cmFuc2ZlciwgSEFMX0ZNUEkyQ19TbGF2ZVR4Q3BsdENhbGxiYWNrKCkgaXMgZXhlY3V0ZWQgYW5kIHVzZXIgY2FuCi0gICAgICAgICAgIGFkZCBoaXMgb3duIGNvZGUgYnkgY3VzdG9taXphdGlvbiBvZiBmdW5jdGlvbiBwb2ludGVyIEhBTF9GTVBJMkNfU2xhdmVUeENwbHRDYWxsYmFjaygpCisgICAgICAoKykgQXQgdHJhbnNtaXNzaW9uIGVuZCBvZiB0cmFuc2ZlciwgSEFMX0ZNUEkyQ19TbGF2ZVR4Q3BsdENhbGxiYWNrKCkgaXMgZXhlY3V0ZWQgYW5kIHVzZXJzIGNhbgorICAgICAgICAgICBhZGQgdGhlaXIgb3duIGNvZGUgYnkgY3VzdG9taXphdGlvbiBvZiBmdW5jdGlvbiBwb2ludGVyIEhBTF9GTVBJMkNfU2xhdmVUeENwbHRDYWxsYmFjaygpCiAgICAgICAoKykgUmVjZWl2ZSBpbiBzbGF2ZSBtb2RlIGFuIGFtb3VudCBvZiBkYXRhIGluIG5vbi1ibG9ja2luZyBtb2RlIHVzaW5nIEhBTF9GTVBJMkNfU2xhdmVfUmVjZWl2ZV9JVCgpCi0gICAgICAoKykgQXQgcmVjZXB0aW9uIGVuZCBvZiB0cmFuc2ZlciwgSEFMX0ZNUEkyQ19TbGF2ZVJ4Q3BsdENhbGxiYWNrKCkgaXMgZXhlY3V0ZWQgYW5kIHVzZXIgY2FuCi0gICAgICAgICAgIGFkZCBoaXMgb3duIGNvZGUgYnkgY3VzdG9taXphdGlvbiBvZiBmdW5jdGlvbiBwb2ludGVyIEhBTF9GTVBJMkNfU2xhdmVSeENwbHRDYWxsYmFjaygpCi0gICAgICAoKykgSW4gY2FzZSBvZiB0cmFuc2ZlciBFcnJvciwgSEFMX0ZNUEkyQ19FcnJvckNhbGxiYWNrKCkgZnVuY3Rpb24gaXMgZXhlY3V0ZWQgYW5kIHVzZXIgY2FuCi0gICAgICAgICAgIGFkZCBoaXMgb3duIGNvZGUgYnkgY3VzdG9taXphdGlvbiBvZiBmdW5jdGlvbiBwb2ludGVyIEhBTF9GTVBJMkNfRXJyb3JDYWxsYmFjaygpCisgICAgICAoKykgQXQgcmVjZXB0aW9uIGVuZCBvZiB0cmFuc2ZlciwgSEFMX0ZNUEkyQ19TbGF2ZVJ4Q3BsdENhbGxiYWNrKCkgaXMgZXhlY3V0ZWQgYW5kIHVzZXJzIGNhbgorICAgICAgICAgICBhZGQgdGhlaXIgb3duIGNvZGUgYnkgY3VzdG9taXphdGlvbiBvZiBmdW5jdGlvbiBwb2ludGVyIEhBTF9GTVBJMkNfU2xhdmVSeENwbHRDYWxsYmFjaygpCisgICAgICAoKykgSW4gY2FzZSBvZiB0cmFuc2ZlciBFcnJvciwgSEFMX0ZNUEkyQ19FcnJvckNhbGxiYWNrKCkgZnVuY3Rpb24gaXMgZXhlY3V0ZWQgYW5kIHVzZXJzIGNhbgorICAgICAgICAgICBhZGQgdGhlaXIgb3duIGNvZGUgYnkgY3VzdG9taXphdGlvbiBvZiBmdW5jdGlvbiBwb2ludGVyIEhBTF9GTVBJMkNfRXJyb3JDYWxsYmFjaygpCiAgICAgICAoKykgQWJvcnQgYSBtYXN0ZXIgRk1QSTJDIHByb2Nlc3MgY29tbXVuaWNhdGlvbiB3aXRoIEludGVycnVwdCB1c2luZyBIQUxfRk1QSTJDX01hc3Rlcl9BYm9ydF9JVCgpCi0gICAgICAoKykgRW5kIG9mIGFib3J0IHByb2Nlc3MsIEhBTF9GTVBJMkNfQWJvcnRDcGx0Q2FsbGJhY2soKSBpcyBleGVjdXRlZCBhbmQgdXNlciBjYW4KLSAgICAgICAgICAgYWRkIGhpcyBvd24gY29kZSBieSBjdXN0b21pemF0aW9uIG9mIGZ1bmN0aW9uIHBvaW50ZXIgSEFMX0ZNUEkyQ19BYm9ydENwbHRDYWxsYmFjaygpCisgICAgICAoKykgRW5kIG9mIGFib3J0IHByb2Nlc3MsIEhBTF9GTVBJMkNfQWJvcnRDcGx0Q2FsbGJhY2soKSBpcyBleGVjdXRlZCBhbmQgdXNlcnMgY2FuCisgICAgICAgICAgIGFkZCB0aGVpciBvd24gY29kZSBieSBjdXN0b21pemF0aW9uIG9mIGZ1bmN0aW9uIHBvaW50ZXIgSEFMX0ZNUEkyQ19BYm9ydENwbHRDYWxsYmFjaygpCiAgICAgICAoKykgRGlzY2FyZCBhIHNsYXZlIEZNUEkyQyBwcm9jZXNzIGNvbW11bmljYXRpb24gdXNpbmcgX19IQUxfRk1QSTJDX0dFTkVSQVRFX05BQ0soKSBtYWNyby4KICAgICAgICAgICAgVGhpcyBhY3Rpb24gd2lsbCBpbmZvcm0gTWFzdGVyIHRvIGdlbmVyYXRlIGEgU3RvcCBjb25kaXRpb24gdG8gZGlzY2FyZCB0aGUgY29tbXVuaWNhdGlvbi4KIApAQCAtOTQsMTIgKzEwNSwxNCBAQAogICAgIFsuLl0KICAgICAgICgrKSBBIHNwZWNpZmljIG9wdGlvbiBmaWVsZCBtYW5hZ2UgdGhlIGRpZmZlcmVudCBzdGVwcyBvZiBhIHNlcXVlbnRpYWwgdHJhbnNmZXIKICAgICAgICgrKSBPcHRpb24gZmllbGQgdmFsdWVzIGFyZSBkZWZpbmVkIHRocm91Z2ggRk1QSTJDX1hGRVJPUFRJT05TIGFuZCBhcmUgbGlzdGVkIGJlbG93OgotICAgICAgKCsrKSBGTVBJMkNfRklSU1RfQU5EX0xBU1RfRlJBTUU6IE5vIHNlcXVlbnRpYWwgdXNhZ2UsIGZ1bmN0aW9uYWwgaXMgc2FtZSBhcyBhc3NvY2lhdGVkIGludGVyZmFjZXMgaW4gbm8gc2VxdWVudGlhbCBtb2RlCisgICAgICAoKyspIEZNUEkyQ19GSVJTVF9BTkRfTEFTVF9GUkFNRTogTm8gc2VxdWVudGlhbCB1c2FnZSwgZnVuY3Rpb25hbCBpcyBzYW1lIGFzIGFzc29jaWF0ZWQgaW50ZXJmYWNlcyBpbgorICAgICAgICAgICBubyBzZXF1ZW50aWFsIG1vZGUKICAgICAgICgrKykgRk1QSTJDX0ZJUlNUX0ZSQU1FOiBTZXF1ZW50aWFsIHVzYWdlLCB0aGlzIG9wdGlvbiBhbGxvdyB0byBtYW5hZ2UgYSBzZXF1ZW5jZSB3aXRoIHN0YXJ0IGNvbmRpdGlvbiwgYWRkcmVzcwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCBkYXRhIHRvIHRyYW5zZmVyIHdpdGhvdXQgYSBmaW5hbCBzdG9wIGNvbmRpdGlvbgotICAgICAgKCsrKSBGTVBJMkNfRklSU1RfQU5EX05FWFRfRlJBTUU6IFNlcXVlbnRpYWwgdXNhZ2UgKE1hc3RlciBvbmx5KSwgdGhpcyBvcHRpb24gYWxsb3cgdG8gbWFuYWdlIGEgc2VxdWVuY2Ugd2l0aCBzdGFydCBjb25kaXRpb24sIGFkZHJlc3MKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgZGF0YSB0byB0cmFuc2ZlciB3aXRob3V0IGEgZmluYWwgc3RvcCBjb25kaXRpb24sIGFuIHRoZW4gcGVybWl0IGEgY2FsbCB0aGUgc2FtZSBtYXN0ZXIgc2VxdWVudGlhbCBpbnRlcmZhY2UKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXZlcmFsIHRpbWVzIChsaWtlIEhBTF9GTVBJMkNfTWFzdGVyX1NlcV9UcmFuc21pdF9JVCgpIHRoZW4gSEFMX0ZNUEkyQ19NYXN0ZXJfU2VxX1RyYW5zbWl0X0lUKCkKKyAgICAgICgrKykgRk1QSTJDX0ZJUlNUX0FORF9ORVhUX0ZSQU1FOiBTZXF1ZW50aWFsIHVzYWdlIChNYXN0ZXIgb25seSksIHRoaXMgb3B0aW9uIGFsbG93IHRvIG1hbmFnZSBhIHNlcXVlbmNlIHdpdGgKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGFydCBjb25kaXRpb24sIGFkZHJlc3MgYW5kIGRhdGEgdG8gdHJhbnNmZXIgd2l0aG91dCBhIGZpbmFsIHN0b3AgY29uZGl0aW9uLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuIHRoZW4gcGVybWl0IGEgY2FsbCB0aGUgc2FtZSBtYXN0ZXIgc2VxdWVudGlhbCBpbnRlcmZhY2Ugc2V2ZXJhbCB0aW1lcworICAgICAgICAgICAgICAgICAgICAgICAgICAgIChsaWtlIEhBTF9GTVBJMkNfTWFzdGVyX1NlcV9UcmFuc21pdF9JVCgpIHRoZW4gSEFMX0ZNUEkyQ19NYXN0ZXJfU2VxX1RyYW5zbWl0X0lUKCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvciBIQUxfRk1QSTJDX01hc3Rlcl9TZXFfVHJhbnNtaXRfRE1BKCkgdGhlbiBIQUxfRk1QSTJDX01hc3Rlcl9TZXFfVHJhbnNtaXRfRE1BKCkpCiAgICAgICAoKyspIEZNUEkyQ19ORVhUX0ZSQU1FOiBTZXF1ZW50aWFsIHVzYWdlLCB0aGlzIG9wdGlvbiBhbGxvdyB0byBtYW5hZ2UgYSBzZXF1ZW5jZSB3aXRoIGEgcmVzdGFydCBjb25kaXRpb24sIGFkZHJlc3MKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgd2l0aCBuZXcgZGF0YSB0byB0cmFuc2ZlciBpZiB0aGUgZGlyZWN0aW9uIGNoYW5nZSBvciBtYW5hZ2Ugb25seSB0aGUgbmV3IGRhdGEgdG8KQEAgLTEzNSwzMiArMTQ4LDM0IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2VuZXJhdGlvbiBvZiBTVE9QIGNvbmRpdGlvbi4KIAogICAgICAgKCspIERpZmZlcmVudCBzZXF1ZW50aWFsIEZNUEkyQyBpbnRlcmZhY2VzIGFyZSBsaXN0ZWQgYmVsb3c6Ci0gICAgICAoKyspIFNlcXVlbnRpYWwgdHJhbnNtaXQgaW4gbWFzdGVyIEZNUEkyQyBtb2RlIGFuIGFtb3VudCBvZiBkYXRhIGluIG5vbi1ibG9ja2luZyBtb2RlIHVzaW5nIEhBTF9GTVBJMkNfTWFzdGVyX1NlcV9UcmFuc21pdF9JVCgpCi0gICAgICAgICAgICBvciB1c2luZyBIQUxfRk1QSTJDX01hc3Rlcl9TZXFfVHJhbnNtaXRfRE1BKCkKLSAgICAgICgrKyspIEF0IHRyYW5zbWlzc2lvbiBlbmQgb2YgY3VycmVudCBmcmFtZSB0cmFuc2ZlciwgSEFMX0ZNUEkyQ19NYXN0ZXJUeENwbHRDYWxsYmFjaygpIGlzIGV4ZWN1dGVkIGFuZCB1c2VyIGNhbgotICAgICAgICAgICBhZGQgaGlzIG93biBjb2RlIGJ5IGN1c3RvbWl6YXRpb24gb2YgZnVuY3Rpb24gcG9pbnRlciBIQUxfRk1QSTJDX01hc3RlclR4Q3BsdENhbGxiYWNrKCkKLSAgICAgICgrKykgU2VxdWVudGlhbCByZWNlaXZlIGluIG1hc3RlciBGTVBJMkMgbW9kZSBhbiBhbW91bnQgb2YgZGF0YSBpbiBub24tYmxvY2tpbmcgbW9kZSB1c2luZyBIQUxfRk1QSTJDX01hc3Rlcl9TZXFfUmVjZWl2ZV9JVCgpCi0gICAgICAgICAgICBvciB1c2luZyBIQUxfRk1QSTJDX01hc3Rlcl9TZXFfUmVjZWl2ZV9ETUEoKQotICAgICAgKCsrKykgQXQgcmVjZXB0aW9uIGVuZCBvZiBjdXJyZW50IGZyYW1lIHRyYW5zZmVyLCBIQUxfRk1QSTJDX01hc3RlclJ4Q3BsdENhbGxiYWNrKCkgaXMgZXhlY3V0ZWQgYW5kIHVzZXIgY2FuCi0gICAgICAgICAgIGFkZCBoaXMgb3duIGNvZGUgYnkgY3VzdG9taXphdGlvbiBvZiBmdW5jdGlvbiBwb2ludGVyIEhBTF9GTVBJMkNfTWFzdGVyUnhDcGx0Q2FsbGJhY2soKQorICAgICAgKCsrKSBTZXF1ZW50aWFsIHRyYW5zbWl0IGluIG1hc3RlciBGTVBJMkMgbW9kZSBhbiBhbW91bnQgb2YgZGF0YSBpbiBub24tYmxvY2tpbmcgbW9kZSB1c2luZworICAgICAgICAgICAgSEFMX0ZNUEkyQ19NYXN0ZXJfU2VxX1RyYW5zbWl0X0lUKCkgb3IgdXNpbmcgSEFMX0ZNUEkyQ19NYXN0ZXJfU2VxX1RyYW5zbWl0X0RNQSgpCisgICAgICAoKysrKSBBdCB0cmFuc21pc3Npb24gZW5kIG9mIGN1cnJlbnQgZnJhbWUgdHJhbnNmZXIsIEhBTF9GTVBJMkNfTWFzdGVyVHhDcGx0Q2FsbGJhY2soKSBpcyBleGVjdXRlZCBhbmQKKyAgICAgICAgICAgIHVzZXJzIGNhbiBhZGQgdGhlaXIgb3duIGNvZGUgYnkgY3VzdG9taXphdGlvbiBvZiBmdW5jdGlvbiBwb2ludGVyIEhBTF9GTVBJMkNfTWFzdGVyVHhDcGx0Q2FsbGJhY2soKQorICAgICAgKCsrKSBTZXF1ZW50aWFsIHJlY2VpdmUgaW4gbWFzdGVyIEZNUEkyQyBtb2RlIGFuIGFtb3VudCBvZiBkYXRhIGluIG5vbi1ibG9ja2luZyBtb2RlIHVzaW5nCisgICAgICAgICAgICBIQUxfRk1QSTJDX01hc3Rlcl9TZXFfUmVjZWl2ZV9JVCgpIG9yIHVzaW5nIEhBTF9GTVBJMkNfTWFzdGVyX1NlcV9SZWNlaXZlX0RNQSgpCisgICAgICAoKysrKSBBdCByZWNlcHRpb24gZW5kIG9mIGN1cnJlbnQgZnJhbWUgdHJhbnNmZXIsIEhBTF9GTVBJMkNfTWFzdGVyUnhDcGx0Q2FsbGJhY2soKSBpcyBleGVjdXRlZCBhbmQgdXNlcnMgY2FuCisgICAgICAgICAgIGFkZCB0aGVpciBvd24gY29kZSBieSBjdXN0b21pemF0aW9uIG9mIGZ1bmN0aW9uIHBvaW50ZXIgSEFMX0ZNUEkyQ19NYXN0ZXJSeENwbHRDYWxsYmFjaygpCiAgICAgICAoKyspIEFib3J0IGEgbWFzdGVyIElUIG9yIERNQSBGTVBJMkMgcHJvY2VzcyBjb21tdW5pY2F0aW9uIHdpdGggSW50ZXJydXB0IHVzaW5nIEhBTF9GTVBJMkNfTWFzdGVyX0Fib3J0X0lUKCkKLSAgICAgICgrKyspIEVuZCBvZiBhYm9ydCBwcm9jZXNzLCBIQUxfRk1QSTJDX0Fib3J0Q3BsdENhbGxiYWNrKCkgaXMgZXhlY3V0ZWQgYW5kIHVzZXIgY2FuCi0gICAgICAgICAgIGFkZCBoaXMgb3duIGNvZGUgYnkgY3VzdG9taXphdGlvbiBvZiBmdW5jdGlvbiBwb2ludGVyIEhBTF9GTVBJMkNfQWJvcnRDcGx0Q2FsbGJhY2soKQotICAgICAgKCsrKSBFbmFibGUvZGlzYWJsZSB0aGUgQWRkcmVzcyBsaXN0ZW4gbW9kZSBpbiBzbGF2ZSBGTVBJMkMgbW9kZSB1c2luZyBIQUxfRk1QSTJDX0VuYWJsZUxpc3Rlbl9JVCgpIEhBTF9GTVBJMkNfRGlzYWJsZUxpc3Rlbl9JVCgpCi0gICAgICAoKysrKSBXaGVuIGFkZHJlc3Mgc2xhdmUgRk1QSTJDIG1hdGNoLCBIQUxfRk1QSTJDX0FkZHJDYWxsYmFjaygpIGlzIGV4ZWN1dGVkIGFuZCB1c2VyIGNhbgotICAgICAgICAgICBhZGQgaGlzIG93biBjb2RlIHRvIGNoZWNrIHRoZSBBZGRyZXNzIE1hdGNoIENvZGUgYW5kIHRoZSB0cmFuc21pc3Npb24gZGlyZWN0aW9uIHJlcXVlc3QgYnkgbWFzdGVyIChXcml0ZS9SZWFkKS4KLSAgICAgICgrKyspIEF0IExpc3RlbiBtb2RlIGVuZCBIQUxfRk1QSTJDX0xpc3RlbkNwbHRDYWxsYmFjaygpIGlzIGV4ZWN1dGVkIGFuZCB1c2VyIGNhbgotICAgICAgICAgICBhZGQgaGlzIG93biBjb2RlIGJ5IGN1c3RvbWl6YXRpb24gb2YgZnVuY3Rpb24gcG9pbnRlciBIQUxfRk1QSTJDX0xpc3RlbkNwbHRDYWxsYmFjaygpCi0gICAgICAoKyspIFNlcXVlbnRpYWwgdHJhbnNtaXQgaW4gc2xhdmUgRk1QSTJDIG1vZGUgYW4gYW1vdW50IG9mIGRhdGEgaW4gbm9uLWJsb2NraW5nIG1vZGUgdXNpbmcgSEFMX0ZNUEkyQ19TbGF2ZV9TZXFfVHJhbnNtaXRfSVQoKQotICAgICAgICAgICAgb3IgdXNpbmcgSEFMX0ZNUEkyQ19TbGF2ZV9TZXFfVHJhbnNtaXRfRE1BKCkKLSAgICAgICgrKyspIEF0IHRyYW5zbWlzc2lvbiBlbmQgb2YgY3VycmVudCBmcmFtZSB0cmFuc2ZlciwgSEFMX0ZNUEkyQ19TbGF2ZVR4Q3BsdENhbGxiYWNrKCkgaXMgZXhlY3V0ZWQgYW5kIHVzZXIgY2FuCi0gICAgICAgICAgIGFkZCBoaXMgb3duIGNvZGUgYnkgY3VzdG9taXphdGlvbiBvZiBmdW5jdGlvbiBwb2ludGVyIEhBTF9GTVBJMkNfU2xhdmVUeENwbHRDYWxsYmFjaygpCi0gICAgICAoKyspIFNlcXVlbnRpYWwgcmVjZWl2ZSBpbiBzbGF2ZSBGTVBJMkMgbW9kZSBhbiBhbW91bnQgb2YgZGF0YSBpbiBub24tYmxvY2tpbmcgbW9kZSB1c2luZyBIQUxfRk1QSTJDX1NsYXZlX1NlcV9SZWNlaXZlX0lUKCkKLSAgICAgICAgICAgIG9yIHVzaW5nIEhBTF9GTVBJMkNfU2xhdmVfU2VxX1JlY2VpdmVfRE1BKCkKLSAgICAgICgrKyspIEF0IHJlY2VwdGlvbiBlbmQgb2YgY3VycmVudCBmcmFtZSB0cmFuc2ZlciwgSEFMX0ZNUEkyQ19TbGF2ZVJ4Q3BsdENhbGxiYWNrKCkgaXMgZXhlY3V0ZWQgYW5kIHVzZXIgY2FuCi0gICAgICAgICAgIGFkZCBoaXMgb3duIGNvZGUgYnkgY3VzdG9taXphdGlvbiBvZiBmdW5jdGlvbiBwb2ludGVyIEhBTF9GTVBJMkNfU2xhdmVSeENwbHRDYWxsYmFjaygpCi0gICAgICAoKyspIEluIGNhc2Ugb2YgdHJhbnNmZXIgRXJyb3IsIEhBTF9GTVBJMkNfRXJyb3JDYWxsYmFjaygpIGZ1bmN0aW9uIGlzIGV4ZWN1dGVkIGFuZCB1c2VyIGNhbgotICAgICAgICAgICBhZGQgaGlzIG93biBjb2RlIGJ5IGN1c3RvbWl6YXRpb24gb2YgZnVuY3Rpb24gcG9pbnRlciBIQUxfRk1QSTJDX0Vycm9yQ2FsbGJhY2soKQorICAgICAgKCsrKykgRW5kIG9mIGFib3J0IHByb2Nlc3MsIEhBTF9GTVBJMkNfQWJvcnRDcGx0Q2FsbGJhY2soKSBpcyBleGVjdXRlZCBhbmQgdXNlcnMgY2FuCisgICAgICAgICAgIGFkZCB0aGVpciBvd24gY29kZSBieSBjdXN0b21pemF0aW9uIG9mIGZ1bmN0aW9uIHBvaW50ZXIgSEFMX0ZNUEkyQ19BYm9ydENwbHRDYWxsYmFjaygpCisgICAgICAoKyspIEVuYWJsZS9kaXNhYmxlIHRoZSBBZGRyZXNzIGxpc3RlbiBtb2RlIGluIHNsYXZlIEZNUEkyQyBtb2RlIHVzaW5nIEhBTF9GTVBJMkNfRW5hYmxlTGlzdGVuX0lUKCkKKyAgICAgICAgICAgIEhBTF9GTVBJMkNfRGlzYWJsZUxpc3Rlbl9JVCgpCisgICAgICAoKysrKSBXaGVuIGFkZHJlc3Mgc2xhdmUgRk1QSTJDIG1hdGNoLCBIQUxfRk1QSTJDX0FkZHJDYWxsYmFjaygpIGlzIGV4ZWN1dGVkIGFuZCB1c2VycyBjYW4KKyAgICAgICAgICAgYWRkIHRoZWlyIG93biBjb2RlIHRvIGNoZWNrIHRoZSBBZGRyZXNzIE1hdGNoIENvZGUgYW5kIHRoZSB0cmFuc21pc3Npb24gZGlyZWN0aW9uIHJlcXVlc3QgYnkgbWFzdGVyCisgICAgICAgICAgIChXcml0ZS9SZWFkKS4KKyAgICAgICgrKyspIEF0IExpc3RlbiBtb2RlIGVuZCBIQUxfRk1QSTJDX0xpc3RlbkNwbHRDYWxsYmFjaygpIGlzIGV4ZWN1dGVkIGFuZCB1c2VycyBjYW4KKyAgICAgICAgICBhZGQgdGhlaXIgb3duIGNvZGUgYnkgY3VzdG9taXphdGlvbiBvZiBmdW5jdGlvbiBwb2ludGVyIEhBTF9GTVBJMkNfTGlzdGVuQ3BsdENhbGxiYWNrKCkKKyAgICAgICgrKykgU2VxdWVudGlhbCB0cmFuc21pdCBpbiBzbGF2ZSBGTVBJMkMgbW9kZSBhbiBhbW91bnQgb2YgZGF0YSBpbiBub24tYmxvY2tpbmcgbW9kZSB1c2luZworICAgICAgICAgICAgSEFMX0ZNUEkyQ19TbGF2ZV9TZXFfVHJhbnNtaXRfSVQoKSBvciB1c2luZyBIQUxfRk1QSTJDX1NsYXZlX1NlcV9UcmFuc21pdF9ETUEoKQorICAgICAgKCsrKykgQXQgdHJhbnNtaXNzaW9uIGVuZCBvZiBjdXJyZW50IGZyYW1lIHRyYW5zZmVyLCBIQUxfRk1QSTJDX1NsYXZlVHhDcGx0Q2FsbGJhY2soKSBpcyBleGVjdXRlZCBhbmQKKyAgICAgICAgICAgIHVzZXJzIGNhbiBhZGQgdGhlaXIgb3duIGNvZGUgYnkgY3VzdG9taXphdGlvbiBvZiBmdW5jdGlvbiBwb2ludGVyIEhBTF9GTVBJMkNfU2xhdmVUeENwbHRDYWxsYmFjaygpCisgICAgICAoKyspIFNlcXVlbnRpYWwgcmVjZWl2ZSBpbiBzbGF2ZSBGTVBJMkMgbW9kZSBhbiBhbW91bnQgb2YgZGF0YSBpbiBub24tYmxvY2tpbmcgbW9kZSB1c2luZworICAgICAgICAgICAgSEFMX0ZNUEkyQ19TbGF2ZV9TZXFfUmVjZWl2ZV9JVCgpIG9yIHVzaW5nIEhBTF9GTVBJMkNfU2xhdmVfU2VxX1JlY2VpdmVfRE1BKCkKKyAgICAgICgrKyspIEF0IHJlY2VwdGlvbiBlbmQgb2YgY3VycmVudCBmcmFtZSB0cmFuc2ZlciwgSEFMX0ZNUEkyQ19TbGF2ZVJ4Q3BsdENhbGxiYWNrKCkgaXMgZXhlY3V0ZWQgYW5kIHVzZXJzIGNhbgorICAgICAgICAgICBhZGQgdGhlaXIgb3duIGNvZGUgYnkgY3VzdG9taXphdGlvbiBvZiBmdW5jdGlvbiBwb2ludGVyIEhBTF9GTVBJMkNfU2xhdmVSeENwbHRDYWxsYmFjaygpCisgICAgICAoKyspIEluIGNhc2Ugb2YgdHJhbnNmZXIgRXJyb3IsIEhBTF9GTVBJMkNfRXJyb3JDYWxsYmFjaygpIGZ1bmN0aW9uIGlzIGV4ZWN1dGVkIGFuZCB1c2VycyBjYW4KKyAgICAgICAgICAgYWRkIHRoZWlyIG93biBjb2RlIGJ5IGN1c3RvbWl6YXRpb24gb2YgZnVuY3Rpb24gcG9pbnRlciBIQUxfRk1QSTJDX0Vycm9yQ2FsbGJhY2soKQogICAgICAgKCsrKSBEaXNjYXJkIGEgc2xhdmUgRk1QSTJDIHByb2Nlc3MgY29tbXVuaWNhdGlvbiB1c2luZyBfX0hBTF9GTVBJMkNfR0VORVJBVEVfTkFDSygpIG1hY3JvLgogICAgICAgICAgICBUaGlzIGFjdGlvbiB3aWxsIGluZm9ybSBNYXN0ZXIgdG8gZ2VuZXJhdGUgYSBTdG9wIGNvbmRpdGlvbiB0byBkaXNjYXJkIHRoZSBjb21tdW5pY2F0aW9uLgogCkBAIC0xNjksMzkgKzE4NCwzOSBAQAogICAgIFsuLl0KICAgICAgICgrKSBXcml0ZSBhbiBhbW91bnQgb2YgZGF0YSBpbiBub24tYmxvY2tpbmcgbW9kZSB3aXRoIEludGVycnVwdCB0byBhIHNwZWNpZmljIG1lbW9yeSBhZGRyZXNzIHVzaW5nCiAgICAgICAgICAgSEFMX0ZNUEkyQ19NZW1fV3JpdGVfSVQoKQotICAgICAgKCspIEF0IE1lbW9yeSBlbmQgb2Ygd3JpdGUgdHJhbnNmZXIsIEhBTF9GTVBJMkNfTWVtVHhDcGx0Q2FsbGJhY2soKSBpcyBleGVjdXRlZCBhbmQgdXNlciBjYW4KLSAgICAgICAgICAgYWRkIGhpcyBvd24gY29kZSBieSBjdXN0b21pemF0aW9uIG9mIGZ1bmN0aW9uIHBvaW50ZXIgSEFMX0ZNUEkyQ19NZW1UeENwbHRDYWxsYmFjaygpCisgICAgICAoKykgQXQgTWVtb3J5IGVuZCBvZiB3cml0ZSB0cmFuc2ZlciwgSEFMX0ZNUEkyQ19NZW1UeENwbHRDYWxsYmFjaygpIGlzIGV4ZWN1dGVkIGFuZCB1c2VycyBjYW4KKyAgICAgICAgICAgYWRkIHRoZWlyIG93biBjb2RlIGJ5IGN1c3RvbWl6YXRpb24gb2YgZnVuY3Rpb24gcG9pbnRlciBIQUxfRk1QSTJDX01lbVR4Q3BsdENhbGxiYWNrKCkKICAgICAgICgrKSBSZWFkIGFuIGFtb3VudCBvZiBkYXRhIGluIG5vbi1ibG9ja2luZyBtb2RlIHdpdGggSW50ZXJydXB0IGZyb20gYSBzcGVjaWZpYyBtZW1vcnkgYWRkcmVzcyB1c2luZwogICAgICAgICAgIEhBTF9GTVBJMkNfTWVtX1JlYWRfSVQoKQotICAgICAgKCspIEF0IE1lbW9yeSBlbmQgb2YgcmVhZCB0cmFuc2ZlciwgSEFMX0ZNUEkyQ19NZW1SeENwbHRDYWxsYmFjaygpIGlzIGV4ZWN1dGVkIGFuZCB1c2VyIGNhbgotICAgICAgICAgICBhZGQgaGlzIG93biBjb2RlIGJ5IGN1c3RvbWl6YXRpb24gb2YgZnVuY3Rpb24gcG9pbnRlciBIQUxfRk1QSTJDX01lbVJ4Q3BsdENhbGxiYWNrKCkKLSAgICAgICgrKSBJbiBjYXNlIG9mIHRyYW5zZmVyIEVycm9yLCBIQUxfRk1QSTJDX0Vycm9yQ2FsbGJhY2soKSBmdW5jdGlvbiBpcyBleGVjdXRlZCBhbmQgdXNlciBjYW4KLSAgICAgICAgICAgYWRkIGhpcyBvd24gY29kZSBieSBjdXN0b21pemF0aW9uIG9mIGZ1bmN0aW9uIHBvaW50ZXIgSEFMX0ZNUEkyQ19FcnJvckNhbGxiYWNrKCkKKyAgICAgICgrKSBBdCBNZW1vcnkgZW5kIG9mIHJlYWQgdHJhbnNmZXIsIEhBTF9GTVBJMkNfTWVtUnhDcGx0Q2FsbGJhY2soKSBpcyBleGVjdXRlZCBhbmQgdXNlcnMgY2FuCisgICAgICAgICAgIGFkZCB0aGVpciBvd24gY29kZSBieSBjdXN0b21pemF0aW9uIG9mIGZ1bmN0aW9uIHBvaW50ZXIgSEFMX0ZNUEkyQ19NZW1SeENwbHRDYWxsYmFjaygpCisgICAgICAoKykgSW4gY2FzZSBvZiB0cmFuc2ZlciBFcnJvciwgSEFMX0ZNUEkyQ19FcnJvckNhbGxiYWNrKCkgZnVuY3Rpb24gaXMgZXhlY3V0ZWQgYW5kIHVzZXJzIGNhbgorICAgICAgICAgICBhZGQgdGhlaXIgb3duIGNvZGUgYnkgY3VzdG9taXphdGlvbiBvZiBmdW5jdGlvbiBwb2ludGVyIEhBTF9GTVBJMkNfRXJyb3JDYWxsYmFjaygpCiAKICAgICAqKiogRE1BIG1vZGUgSU8gb3BlcmF0aW9uICoqKgogICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgIFsuLl0KICAgICAgICgrKSBUcmFuc21pdCBpbiBtYXN0ZXIgbW9kZSBhbiBhbW91bnQgb2YgZGF0YSBpbiBub24tYmxvY2tpbmcgbW9kZSAoRE1BKSB1c2luZwogICAgICAgICAgIEhBTF9GTVBJMkNfTWFzdGVyX1RyYW5zbWl0X0RNQSgpCi0gICAgICAoKykgQXQgdHJhbnNtaXNzaW9uIGVuZCBvZiB0cmFuc2ZlciwgSEFMX0ZNUEkyQ19NYXN0ZXJUeENwbHRDYWxsYmFjaygpIGlzIGV4ZWN1dGVkIGFuZCB1c2VyIGNhbgotICAgICAgICAgICBhZGQgaGlzIG93biBjb2RlIGJ5IGN1c3RvbWl6YXRpb24gb2YgZnVuY3Rpb24gcG9pbnRlciBIQUxfRk1QSTJDX01hc3RlclR4Q3BsdENhbGxiYWNrKCkKKyAgICAgICgrKSBBdCB0cmFuc21pc3Npb24gZW5kIG9mIHRyYW5zZmVyLCBIQUxfRk1QSTJDX01hc3RlclR4Q3BsdENhbGxiYWNrKCkgaXMgZXhlY3V0ZWQgYW5kIHVzZXJzIGNhbgorICAgICAgICAgICBhZGQgdGhlaXIgb3duIGNvZGUgYnkgY3VzdG9taXphdGlvbiBvZiBmdW5jdGlvbiBwb2ludGVyIEhBTF9GTVBJMkNfTWFzdGVyVHhDcGx0Q2FsbGJhY2soKQogICAgICAgKCspIFJlY2VpdmUgaW4gbWFzdGVyIG1vZGUgYW4gYW1vdW50IG9mIGRhdGEgaW4gbm9uLWJsb2NraW5nIG1vZGUgKERNQSkgdXNpbmcKICAgICAgICAgICBIQUxfRk1QSTJDX01hc3Rlcl9SZWNlaXZlX0RNQSgpCi0gICAgICAoKykgQXQgcmVjZXB0aW9uIGVuZCBvZiB0cmFuc2ZlciwgSEFMX0ZNUEkyQ19NYXN0ZXJSeENwbHRDYWxsYmFjaygpIGlzIGV4ZWN1dGVkIGFuZCB1c2VyIGNhbgotICAgICAgICAgICBhZGQgaGlzIG93biBjb2RlIGJ5IGN1c3RvbWl6YXRpb24gb2YgZnVuY3Rpb24gcG9pbnRlciBIQUxfRk1QSTJDX01hc3RlclJ4Q3BsdENhbGxiYWNrKCkKKyAgICAgICgrKSBBdCByZWNlcHRpb24gZW5kIG9mIHRyYW5zZmVyLCBIQUxfRk1QSTJDX01hc3RlclJ4Q3BsdENhbGxiYWNrKCkgaXMgZXhlY3V0ZWQgYW5kIHVzZXJzIGNhbgorICAgICAgICAgICBhZGQgdGhlaXIgb3duIGNvZGUgYnkgY3VzdG9taXphdGlvbiBvZiBmdW5jdGlvbiBwb2ludGVyIEhBTF9GTVBJMkNfTWFzdGVyUnhDcGx0Q2FsbGJhY2soKQogICAgICAgKCspIFRyYW5zbWl0IGluIHNsYXZlIG1vZGUgYW4gYW1vdW50IG9mIGRhdGEgaW4gbm9uLWJsb2NraW5nIG1vZGUgKERNQSkgdXNpbmcKICAgICAgICAgICBIQUxfRk1QSTJDX1NsYXZlX1RyYW5zbWl0X0RNQSgpCi0gICAgICAoKykgQXQgdHJhbnNtaXNzaW9uIGVuZCBvZiB0cmFuc2ZlciwgSEFMX0ZNUEkyQ19TbGF2ZVR4Q3BsdENhbGxiYWNrKCkgaXMgZXhlY3V0ZWQgYW5kIHVzZXIgY2FuCi0gICAgICAgICAgIGFkZCBoaXMgb3duIGNvZGUgYnkgY3VzdG9taXphdGlvbiBvZiBmdW5jdGlvbiBwb2ludGVyIEhBTF9GTVBJMkNfU2xhdmVUeENwbHRDYWxsYmFjaygpCisgICAgICAoKykgQXQgdHJhbnNtaXNzaW9uIGVuZCBvZiB0cmFuc2ZlciwgSEFMX0ZNUEkyQ19TbGF2ZVR4Q3BsdENhbGxiYWNrKCkgaXMgZXhlY3V0ZWQgYW5kIHVzZXJzIGNhbgorICAgICAgICAgICBhZGQgdGhlaXIgb3duIGNvZGUgYnkgY3VzdG9taXphdGlvbiBvZiBmdW5jdGlvbiBwb2ludGVyIEhBTF9GTVBJMkNfU2xhdmVUeENwbHRDYWxsYmFjaygpCiAgICAgICAoKykgUmVjZWl2ZSBpbiBzbGF2ZSBtb2RlIGFuIGFtb3VudCBvZiBkYXRhIGluIG5vbi1ibG9ja2luZyBtb2RlIChETUEpIHVzaW5nCiAgICAgICAgICAgSEFMX0ZNUEkyQ19TbGF2ZV9SZWNlaXZlX0RNQSgpCi0gICAgICAoKykgQXQgcmVjZXB0aW9uIGVuZCBvZiB0cmFuc2ZlciwgSEFMX0ZNUEkyQ19TbGF2ZVJ4Q3BsdENhbGxiYWNrKCkgaXMgZXhlY3V0ZWQgYW5kIHVzZXIgY2FuCi0gICAgICAgICAgIGFkZCBoaXMgb3duIGNvZGUgYnkgY3VzdG9taXphdGlvbiBvZiBmdW5jdGlvbiBwb2ludGVyIEhBTF9GTVBJMkNfU2xhdmVSeENwbHRDYWxsYmFjaygpCi0gICAgICAoKykgSW4gY2FzZSBvZiB0cmFuc2ZlciBFcnJvciwgSEFMX0ZNUEkyQ19FcnJvckNhbGxiYWNrKCkgZnVuY3Rpb24gaXMgZXhlY3V0ZWQgYW5kIHVzZXIgY2FuCi0gICAgICAgICAgIGFkZCBoaXMgb3duIGNvZGUgYnkgY3VzdG9taXphdGlvbiBvZiBmdW5jdGlvbiBwb2ludGVyIEhBTF9GTVBJMkNfRXJyb3JDYWxsYmFjaygpCisgICAgICAoKykgQXQgcmVjZXB0aW9uIGVuZCBvZiB0cmFuc2ZlciwgSEFMX0ZNUEkyQ19TbGF2ZVJ4Q3BsdENhbGxiYWNrKCkgaXMgZXhlY3V0ZWQgYW5kIHVzZXJzIGNhbgorICAgICAgICAgICBhZGQgdGhlaXIgb3duIGNvZGUgYnkgY3VzdG9taXphdGlvbiBvZiBmdW5jdGlvbiBwb2ludGVyIEhBTF9GTVBJMkNfU2xhdmVSeENwbHRDYWxsYmFjaygpCisgICAgICAoKykgSW4gY2FzZSBvZiB0cmFuc2ZlciBFcnJvciwgSEFMX0ZNUEkyQ19FcnJvckNhbGxiYWNrKCkgZnVuY3Rpb24gaXMgZXhlY3V0ZWQgYW5kIHVzZXJzIGNhbgorICAgICAgICAgICBhZGQgdGhlaXIgb3duIGNvZGUgYnkgY3VzdG9taXphdGlvbiBvZiBmdW5jdGlvbiBwb2ludGVyIEhBTF9GTVBJMkNfRXJyb3JDYWxsYmFjaygpCiAgICAgICAoKykgQWJvcnQgYSBtYXN0ZXIgRk1QSTJDIHByb2Nlc3MgY29tbXVuaWNhdGlvbiB3aXRoIEludGVycnVwdCB1c2luZyBIQUxfRk1QSTJDX01hc3Rlcl9BYm9ydF9JVCgpCi0gICAgICAoKykgRW5kIG9mIGFib3J0IHByb2Nlc3MsIEhBTF9GTVBJMkNfQWJvcnRDcGx0Q2FsbGJhY2soKSBpcyBleGVjdXRlZCBhbmQgdXNlciBjYW4KLSAgICAgICAgICAgYWRkIGhpcyBvd24gY29kZSBieSBjdXN0b21pemF0aW9uIG9mIGZ1bmN0aW9uIHBvaW50ZXIgSEFMX0ZNUEkyQ19BYm9ydENwbHRDYWxsYmFjaygpCisgICAgICAoKykgRW5kIG9mIGFib3J0IHByb2Nlc3MsIEhBTF9GTVBJMkNfQWJvcnRDcGx0Q2FsbGJhY2soKSBpcyBleGVjdXRlZCBhbmQgdXNlcnMgY2FuCisgICAgICAgICAgIGFkZCB0aGVpciBvd24gY29kZSBieSBjdXN0b21pemF0aW9uIG9mIGZ1bmN0aW9uIHBvaW50ZXIgSEFMX0ZNUEkyQ19BYm9ydENwbHRDYWxsYmFjaygpCiAgICAgICAoKykgRGlzY2FyZCBhIHNsYXZlIEZNUEkyQyBwcm9jZXNzIGNvbW11bmljYXRpb24gdXNpbmcgX19IQUxfRk1QSTJDX0dFTkVSQVRFX05BQ0soKSBtYWNyby4KICAgICAgICAgICAgVGhpcyBhY3Rpb24gd2lsbCBpbmZvcm0gTWFzdGVyIHRvIGdlbmVyYXRlIGEgU3RvcCBjb25kaXRpb24gdG8gZGlzY2FyZCB0aGUgY29tbXVuaWNhdGlvbi4KIApAQCAtMjEwLDE0ICsyMjUsMTQgQEAKICAgICBbLi5dCiAgICAgICAoKykgV3JpdGUgYW4gYW1vdW50IG9mIGRhdGEgaW4gbm9uLWJsb2NraW5nIG1vZGUgd2l0aCBETUEgdG8gYSBzcGVjaWZpYyBtZW1vcnkgYWRkcmVzcyB1c2luZwogICAgICAgICAgIEhBTF9GTVBJMkNfTWVtX1dyaXRlX0RNQSgpCi0gICAgICAoKykgQXQgTWVtb3J5IGVuZCBvZiB3cml0ZSB0cmFuc2ZlciwgSEFMX0ZNUEkyQ19NZW1UeENwbHRDYWxsYmFjaygpIGlzIGV4ZWN1dGVkIGFuZCB1c2VyIGNhbgotICAgICAgICAgICBhZGQgaGlzIG93biBjb2RlIGJ5IGN1c3RvbWl6YXRpb24gb2YgZnVuY3Rpb24gcG9pbnRlciBIQUxfRk1QSTJDX01lbVR4Q3BsdENhbGxiYWNrKCkKKyAgICAgICgrKSBBdCBNZW1vcnkgZW5kIG9mIHdyaXRlIHRyYW5zZmVyLCBIQUxfRk1QSTJDX01lbVR4Q3BsdENhbGxiYWNrKCkgaXMgZXhlY3V0ZWQgYW5kIHVzZXJzIGNhbgorICAgICAgICAgICBhZGQgdGhlaXIgb3duIGNvZGUgYnkgY3VzdG9taXphdGlvbiBvZiBmdW5jdGlvbiBwb2ludGVyIEhBTF9GTVBJMkNfTWVtVHhDcGx0Q2FsbGJhY2soKQogICAgICAgKCspIFJlYWQgYW4gYW1vdW50IG9mIGRhdGEgaW4gbm9uLWJsb2NraW5nIG1vZGUgd2l0aCBETUEgZnJvbSBhIHNwZWNpZmljIG1lbW9yeSBhZGRyZXNzIHVzaW5nCiAgICAgICAgICAgSEFMX0ZNUEkyQ19NZW1fUmVhZF9ETUEoKQotICAgICAgKCspIEF0IE1lbW9yeSBlbmQgb2YgcmVhZCB0cmFuc2ZlciwgSEFMX0ZNUEkyQ19NZW1SeENwbHRDYWxsYmFjaygpIGlzIGV4ZWN1dGVkIGFuZCB1c2VyIGNhbgotICAgICAgICAgICBhZGQgaGlzIG93biBjb2RlIGJ5IGN1c3RvbWl6YXRpb24gb2YgZnVuY3Rpb24gcG9pbnRlciBIQUxfRk1QSTJDX01lbVJ4Q3BsdENhbGxiYWNrKCkKLSAgICAgICgrKSBJbiBjYXNlIG9mIHRyYW5zZmVyIEVycm9yLCBIQUxfRk1QSTJDX0Vycm9yQ2FsbGJhY2soKSBmdW5jdGlvbiBpcyBleGVjdXRlZCBhbmQgdXNlciBjYW4KLSAgICAgICAgICAgYWRkIGhpcyBvd24gY29kZSBieSBjdXN0b21pemF0aW9uIG9mIGZ1bmN0aW9uIHBvaW50ZXIgSEFMX0ZNUEkyQ19FcnJvckNhbGxiYWNrKCkKKyAgICAgICgrKSBBdCBNZW1vcnkgZW5kIG9mIHJlYWQgdHJhbnNmZXIsIEhBTF9GTVBJMkNfTWVtUnhDcGx0Q2FsbGJhY2soKSBpcyBleGVjdXRlZCBhbmQgdXNlcnMgY2FuCisgICAgICAgICAgIGFkZCB0aGVpciBvd24gY29kZSBieSBjdXN0b21pemF0aW9uIG9mIGZ1bmN0aW9uIHBvaW50ZXIgSEFMX0ZNUEkyQ19NZW1SeENwbHRDYWxsYmFjaygpCisgICAgICAoKykgSW4gY2FzZSBvZiB0cmFuc2ZlciBFcnJvciwgSEFMX0ZNUEkyQ19FcnJvckNhbGxiYWNrKCkgZnVuY3Rpb24gaXMgZXhlY3V0ZWQgYW5kIHVzZXJzIGNhbgorICAgICAgICAgICBhZGQgdGhlaXIgb3duIGNvZGUgYnkgY3VzdG9taXphdGlvbiBvZiBmdW5jdGlvbiBwb2ludGVyIEhBTF9GTVBJMkNfRXJyb3JDYWxsYmFjaygpCiAKIAogICAgICAqKiogRk1QSTJDIEhBTCBkcml2ZXIgbWFjcm9zIGxpc3QgKioqCkBAIC0zMDIsMTggKzMxNyw2IEBACiAgICAgICAgKEApIFlvdSBjYW4gcmVmZXIgdG8gdGhlIEZNUEkyQyBIQUwgZHJpdmVyIGhlYWRlciBmaWxlIGZvciBtb3JlIHVzZWZ1bCBtYWNyb3MKIAogICBAZW5kdmVyYmF0aW0KLSAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gICogQGF0dGVudGlvbgotICAqCi0gICogPGgyPjxjZW50ZXI+JmNvcHk7IENvcHlyaWdodCAoYykgMjAxNiBTVE1pY3JvZWxlY3Ryb25pY3MuCi0gICogQWxsIHJpZ2h0cyByZXNlcnZlZC48L2NlbnRlcj48L2gyPgotICAqCi0gICogVGhpcyBzb2Z0d2FyZSBjb21wb25lbnQgaXMgbGljZW5zZWQgYnkgU1QgdW5kZXIgQlNEIDMtQ2xhdXNlIGxpY2Vuc2UsCi0gICogdGhlICJMaWNlbnNlIjsgWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZQotICAqIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdDoKLSAgKiAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZQotICAqCi0gICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqLwogCiAvKiBJbmNsdWRlcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwpAQCAtNDI0LDMzICs0MjcsMzMgQEAKIAogLyogUHJpdmF0ZSBmdW5jdGlvbnMgdG8gaGFuZGxlIElUIHRyYW5zZmVyICovCiBzdGF0aWMgSEFMX1N0YXR1c1R5cGVEZWYgRk1QSTJDX1JlcXVlc3RNZW1vcnlXcml0ZShGTVBJMkNfSGFuZGxlVHlwZURlZiAqaGZtcGkyYywgdWludDE2X3QgRGV2QWRkcmVzcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNl90IE1lbUFkZHJlc3MsIHVpbnQxNl90IE1lbUFkZFNpemUsIHVpbnQzMl90IFRpbWVvdXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBUaWNrc3RhcnQpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDE2X3QgTWVtQWRkcmVzcywgdWludDE2X3QgTWVtQWRkU2l6ZSwgdWludDMyX3QgVGltZW91dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IFRpY2tzdGFydCk7CiBzdGF0aWMgSEFMX1N0YXR1c1R5cGVEZWYgRk1QSTJDX1JlcXVlc3RNZW1vcnlSZWFkKEZNUEkyQ19IYW5kbGVUeXBlRGVmICpoZm1waTJjLCB1aW50MTZfdCBEZXZBZGRyZXNzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MTZfdCBNZW1BZGRyZXNzLCB1aW50MTZfdCBNZW1BZGRTaXplLCB1aW50MzJfdCBUaW1lb3V0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBUaWNrc3RhcnQpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MTZfdCBNZW1BZGRyZXNzLCB1aW50MTZfdCBNZW1BZGRTaXplLCB1aW50MzJfdCBUaW1lb3V0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBUaWNrc3RhcnQpOwogCiAvKiBQcml2YXRlIGZ1bmN0aW9ucyBmb3IgRk1QSTJDIHRyYW5zZmVyIElSUSBoYW5kbGVyICovCiBzdGF0aWMgSEFMX1N0YXR1c1R5cGVEZWYgRk1QSTJDX01hc3Rlcl9JU1JfSVQoc3RydWN0IF9fRk1QSTJDX0hhbmRsZVR5cGVEZWYgKmhmbXBpMmMsIHVpbnQzMl90IElURmxhZ3MsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgSVRTb3VyY2VzKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBJVFNvdXJjZXMpOwogc3RhdGljIEhBTF9TdGF0dXNUeXBlRGVmIEZNUEkyQ19TbGF2ZV9JU1JfSVQoc3RydWN0IF9fRk1QSTJDX0hhbmRsZVR5cGVEZWYgKmhmbXBpMmMsIHVpbnQzMl90IElURmxhZ3MsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBJVFNvdXJjZXMpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgSVRTb3VyY2VzKTsKIHN0YXRpYyBIQUxfU3RhdHVzVHlwZURlZiBGTVBJMkNfTWFzdGVyX0lTUl9ETUEoc3RydWN0IF9fRk1QSTJDX0hhbmRsZVR5cGVEZWYgKmhmbXBpMmMsIHVpbnQzMl90IElURmxhZ3MsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IElUU291cmNlcyk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IElUU291cmNlcyk7CiBzdGF0aWMgSEFMX1N0YXR1c1R5cGVEZWYgRk1QSTJDX1NsYXZlX0lTUl9ETUEoc3RydWN0IF9fRk1QSTJDX0hhbmRsZVR5cGVEZWYgKmhmbXBpMmMsIHVpbnQzMl90IElURmxhZ3MsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgSVRTb3VyY2VzKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBJVFNvdXJjZXMpOwogCiAvKiBQcml2YXRlIGZ1bmN0aW9ucyB0byBoYW5kbGUgZmxhZ3MgZHVyaW5nIHBvbGxpbmcgdHJhbnNmZXIgKi8KIHN0YXRpYyBIQUxfU3RhdHVzVHlwZURlZiBGTVBJMkNfV2FpdE9uRmxhZ1VudGlsVGltZW91dChGTVBJMkNfSGFuZGxlVHlwZURlZiAqaGZtcGkyYywgdWludDMyX3QgRmxhZywgRmxhZ1N0YXR1cyBTdGF0dXMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgVGltZW91dCwgdWludDMyX3QgVGlja3N0YXJ0KTsKIHN0YXRpYyBIQUxfU3RhdHVzVHlwZURlZiBGTVBJMkNfV2FpdE9uVFhJU0ZsYWdVbnRpbFRpbWVvdXQoRk1QSTJDX0hhbmRsZVR5cGVEZWYgKmhmbXBpMmMsIHVpbnQzMl90IFRpbWVvdXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IFRpY2tzdGFydCk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IFRpY2tzdGFydCk7CiBzdGF0aWMgSEFMX1N0YXR1c1R5cGVEZWYgRk1QSTJDX1dhaXRPblJYTkVGbGFnVW50aWxUaW1lb3V0KEZNUEkyQ19IYW5kbGVUeXBlRGVmICpoZm1waTJjLCB1aW50MzJfdCBUaW1lb3V0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBUaWNrc3RhcnQpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBUaWNrc3RhcnQpOwogc3RhdGljIEhBTF9TdGF0dXNUeXBlRGVmIEZNUEkyQ19XYWl0T25TVE9QRmxhZ1VudGlsVGltZW91dChGTVBJMkNfSGFuZGxlVHlwZURlZiAqaGZtcGkyYywgdWludDMyX3QgVGltZW91dCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgVGlja3N0YXJ0KTsKLXN0YXRpYyBIQUxfU3RhdHVzVHlwZURlZiBGTVBJMkNfSXNBY2tub3dsZWRnZUZhaWxlZChGTVBJMkNfSGFuZGxlVHlwZURlZiAqaGZtcGkyYywgdWludDMyX3QgVGltZW91dCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBUaWNrc3RhcnQpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBUaWNrc3RhcnQpOworc3RhdGljIEhBTF9TdGF0dXNUeXBlRGVmIEZNUEkyQ19Jc0Vycm9yT2NjdXJyZWQoRk1QSTJDX0hhbmRsZVR5cGVEZWYgKmhmbXBpMmMsIHVpbnQzMl90IFRpbWVvdXQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBUaWNrc3RhcnQpOwogCiAvKiBQcml2YXRlIGZ1bmN0aW9ucyB0byBjZW50cmFsaXplIHRoZSBlbmFibGUvZGlzYWJsZSBvZiBJbnRlcnJ1cHRzICovCiBzdGF0aWMgdm9pZCBGTVBJMkNfRW5hYmxlX0lSUShGTVBJMkNfSGFuZGxlVHlwZURlZiAqaGZtcGkyYywgdWludDE2X3QgSW50ZXJydXB0UmVxdWVzdCk7CkBAIC00NjMsOCArNDY2LDggQEAKIHN0YXRpYyB2b2lkIEZNUEkyQ19GbHVzaF9UWERSKEZNUEkyQ19IYW5kbGVUeXBlRGVmICpoZm1waTJjKTsKIAogLyogUHJpdmF0ZSBmdW5jdGlvbiB0byBoYW5kbGUgIHN0YXJ0LCByZXN0YXJ0IG9yIHN0b3AgYSB0cmFuc2ZlciAqLwotc3RhdGljIHZvaWQgRk1QSTJDX1RyYW5zZmVyQ29uZmlnKEZNUEkyQ19IYW5kbGVUeXBlRGVmICpoZm1waTJjLCB1aW50MTZfdCBEZXZBZGRyZXNzLCB1aW50OF90IFNpemUsIHVpbnQzMl90IE1vZGUsIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IFJlcXVlc3QpOworc3RhdGljIHZvaWQgRk1QSTJDX1RyYW5zZmVyQ29uZmlnKEZNUEkyQ19IYW5kbGVUeXBlRGVmICpoZm1waTJjLCB1aW50MTZfdCBEZXZBZGRyZXNzLCB1aW50OF90IFNpemUsIHVpbnQzMl90IE1vZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgUmVxdWVzdCk7CiAKIC8qIFByaXZhdGUgZnVuY3Rpb24gdG8gQ29udmVydCBTcGVjaWZpYyBvcHRpb25zICovCiBzdGF0aWMgdm9pZCBGTVBJMkNfQ29udmVydE90aGVyWGZlck9wdGlvbnMoRk1QSTJDX0hhbmRsZVR5cGVEZWYgKmhmbXBpMmMpOwpAQCAtNjAzLDcgKzYwNiw3IEBACiAKICAgLyogQ29uZmlndXJlIEZNUEkyQ3g6IER1YWwgbW9kZSBhbmQgT3duIEFkZHJlc3MyICovCiAgIGhmbXBpMmMtPkluc3RhbmNlLT5PQVIyID0gKGhmbXBpMmMtPkluaXQuRHVhbEFkZHJlc3NNb2RlIHwgaGZtcGkyYy0+SW5pdC5Pd25BZGRyZXNzMiB8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGhmbXBpMmMtPkluaXQuT3duQWRkcmVzczJNYXNrcyA8PCA4KSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgIChoZm1waTJjLT5Jbml0Lk93bkFkZHJlc3MyTWFza3MgPDwgOCkpOwogCiAgIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBGTVBJMkN4IENSMSBDb25maWd1cmF0aW9uIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogICAvKiBDb25maWd1cmUgRk1QSTJDeDogR2VuZXJhbGNhbGwgYW5kIE5vU3RyZXRjaCBtb2RlICovCkBAIC0xMTEwLDcgKzExMTMsNyBAQAogICAqIEByZXR2YWwgSEFMIHN0YXR1cwogICAqLwogSEFMX1N0YXR1c1R5cGVEZWYgSEFMX0ZNUEkyQ19NYXN0ZXJfVHJhbnNtaXQoRk1QSTJDX0hhbmRsZVR5cGVEZWYgKmhmbXBpMmMsIHVpbnQxNl90IERldkFkZHJlc3MsIHVpbnQ4X3QgKnBEYXRhLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDE2X3QgU2l6ZSwgdWludDMyX3QgVGltZW91dCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNl90IFNpemUsIHVpbnQzMl90IFRpbWVvdXQpCiB7CiAgIHVpbnQzMl90IHRpY2tzdGFydDsKIApAQCAtMTE0MiwxMyArMTE0NSwxMyBAQAogICAgIHsKICAgICAgIGhmbXBpMmMtPlhmZXJTaXplID0gTUFYX05CWVRFX1NJWkU7CiAgICAgICBGTVBJMkNfVHJhbnNmZXJDb25maWcoaGZtcGkyYywgRGV2QWRkcmVzcywgKHVpbnQ4X3QpaGZtcGkyYy0+WGZlclNpemUsIEZNUEkyQ19SRUxPQURfTU9ERSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBGTVBJMkNfR0VORVJBVEVfU1RBUlRfV1JJVEUpOworICAgICAgICAgICAgICAgICAgICAgICAgIEZNUEkyQ19HRU5FUkFURV9TVEFSVF9XUklURSk7CiAgICAgfQogICAgIGVsc2UKICAgICB7CiAgICAgICBoZm1waTJjLT5YZmVyU2l6ZSA9IGhmbXBpMmMtPlhmZXJDb3VudDsKICAgICAgIEZNUEkyQ19UcmFuc2ZlckNvbmZpZyhoZm1waTJjLCBEZXZBZGRyZXNzLCAodWludDhfdCloZm1waTJjLT5YZmVyU2l6ZSwgRk1QSTJDX0FVVE9FTkRfTU9ERSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBGTVBJMkNfR0VORVJBVEVfU1RBUlRfV1JJVEUpOworICAgICAgICAgICAgICAgICAgICAgICAgIEZNUEkyQ19HRU5FUkFURV9TVEFSVF9XUklURSk7CiAgICAgfQogCiAgICAgd2hpbGUgKGhmbXBpMmMtPlhmZXJDb3VudCA+IDBVKQpAQCAtMTE3OSwxMyArMTE4MiwxMyBAQAogICAgICAgICB7CiAgICAgICAgICAgaGZtcGkyYy0+WGZlclNpemUgPSBNQVhfTkJZVEVfU0laRTsKICAgICAgICAgICBGTVBJMkNfVHJhbnNmZXJDb25maWcoaGZtcGkyYywgRGV2QWRkcmVzcywgKHVpbnQ4X3QpaGZtcGkyYy0+WGZlclNpemUsIEZNUEkyQ19SRUxPQURfTU9ERSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRk1QSTJDX05PX1NUQVJUU1RPUCk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZNUEkyQ19OT19TVEFSVFNUT1ApOwogICAgICAgICB9CiAgICAgICAgIGVsc2UKICAgICAgICAgewogICAgICAgICAgIGhmbXBpMmMtPlhmZXJTaXplID0gaGZtcGkyYy0+WGZlckNvdW50OwogICAgICAgICAgIEZNUEkyQ19UcmFuc2ZlckNvbmZpZyhoZm1waTJjLCBEZXZBZGRyZXNzLCAodWludDhfdCloZm1waTJjLT5YZmVyU2l6ZSwgRk1QSTJDX0FVVE9FTkRfTU9ERSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRk1QSTJDX05PX1NUQVJUU1RPUCk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZNUEkyQ19OT19TVEFSVFNUT1ApOwogICAgICAgICB9CiAgICAgICB9CiAgICAgfQpAQCAtMTIyOSw3ICsxMjMyLDcgQEAKICAgKiBAcmV0dmFsIEhBTCBzdGF0dXMKICAgKi8KIEhBTF9TdGF0dXNUeXBlRGVmIEhBTF9GTVBJMkNfTWFzdGVyX1JlY2VpdmUoRk1QSTJDX0hhbmRsZVR5cGVEZWYgKmhmbXBpMmMsIHVpbnQxNl90IERldkFkZHJlc3MsIHVpbnQ4X3QgKnBEYXRhLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MTZfdCBTaXplLCB1aW50MzJfdCBUaW1lb3V0KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MTZfdCBTaXplLCB1aW50MzJfdCBUaW1lb3V0KQogewogICB1aW50MzJfdCB0aWNrc3RhcnQ7CiAKQEAgLTEyNjEsMTMgKzEyNjQsMTMgQEAKICAgICB7CiAgICAgICBoZm1waTJjLT5YZmVyU2l6ZSA9IE1BWF9OQllURV9TSVpFOwogICAgICAgRk1QSTJDX1RyYW5zZmVyQ29uZmlnKGhmbXBpMmMsIERldkFkZHJlc3MsICh1aW50OF90KWhmbXBpMmMtPlhmZXJTaXplLCBGTVBJMkNfUkVMT0FEX01PREUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgRk1QSTJDX0dFTkVSQVRFX1NUQVJUX1JFQUQpOworICAgICAgICAgICAgICAgICAgICAgICAgIEZNUEkyQ19HRU5FUkFURV9TVEFSVF9SRUFEKTsKICAgICB9CiAgICAgZWxzZQogICAgIHsKICAgICAgIGhmbXBpMmMtPlhmZXJTaXplID0gaGZtcGkyYy0+WGZlckNvdW50OwogICAgICAgRk1QSTJDX1RyYW5zZmVyQ29uZmlnKGhmbXBpMmMsIERldkFkZHJlc3MsICh1aW50OF90KWhmbXBpMmMtPlhmZXJTaXplLCBGTVBJMkNfQVVUT0VORF9NT0RFLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZNUEkyQ19HRU5FUkFURV9TVEFSVF9SRUFEKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICBGTVBJMkNfR0VORVJBVEVfU1RBUlRfUkVBRCk7CiAgICAgfQogCiAgICAgd2hpbGUgKGhmbXBpMmMtPlhmZXJDb3VudCA+IDBVKQpAQCAtMTI5OSwxMyArMTMwMiwxMyBAQAogICAgICAgICB7CiAgICAgICAgICAgaGZtcGkyYy0+WGZlclNpemUgPSBNQVhfTkJZVEVfU0laRTsKICAgICAgICAgICBGTVBJMkNfVHJhbnNmZXJDb25maWcoaGZtcGkyYywgRGV2QWRkcmVzcywgKHVpbnQ4X3QpaGZtcGkyYy0+WGZlclNpemUsIEZNUEkyQ19SRUxPQURfTU9ERSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRk1QSTJDX05PX1NUQVJUU1RPUCk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZNUEkyQ19OT19TVEFSVFNUT1ApOwogICAgICAgICB9CiAgICAgICAgIGVsc2UKICAgICAgICAgewogICAgICAgICAgIGhmbXBpMmMtPlhmZXJTaXplID0gaGZtcGkyYy0+WGZlckNvdW50OwogICAgICAgICAgIEZNUEkyQ19UcmFuc2ZlckNvbmZpZyhoZm1waTJjLCBEZXZBZGRyZXNzLCAodWludDhfdCloZm1waTJjLT5YZmVyU2l6ZSwgRk1QSTJDX0FVVE9FTkRfTU9ERSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRk1QSTJDX05PX1NUQVJUU1RPUCk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZNUEkyQ19OT19TVEFSVFNUT1ApOwogICAgICAgICB9CiAgICAgICB9CiAgICAgfQpAQCAtMTM0Nyw3ICsxMzUwLDcgQEAKICAgKiBAcmV0dmFsIEhBTCBzdGF0dXMKICAgKi8KIEhBTF9TdGF0dXNUeXBlRGVmIEhBTF9GTVBJMkNfU2xhdmVfVHJhbnNtaXQoRk1QSTJDX0hhbmRsZVR5cGVEZWYgKmhmbXBpMmMsIHVpbnQ4X3QgKnBEYXRhLCB1aW50MTZfdCBTaXplLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBUaW1lb3V0KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBUaW1lb3V0KQogewogICB1aW50MzJfdCB0aWNrc3RhcnQ7CiAKQEAgLTE0ODUsNyArMTQ4OCw3IEBACiAgICogQHJldHZhbCBIQUwgc3RhdHVzCiAgICovCiBIQUxfU3RhdHVzVHlwZURlZiBIQUxfRk1QSTJDX1NsYXZlX1JlY2VpdmUoRk1QSTJDX0hhbmRsZVR5cGVEZWYgKmhmbXBpMmMsIHVpbnQ4X3QgKnBEYXRhLCB1aW50MTZfdCBTaXplLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IFRpbWVvdXQpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgVGltZW91dCkKIHsKICAgdWludDMyX3QgdGlja3N0YXJ0OwogCkBAIC0xOTY3LDcgKzE5NzAsNyBAQAogICAgICAgLyogU2VuZCBTbGF2ZSBBZGRyZXNzICovCiAgICAgICAvKiBTZXQgTkJZVEVTIHRvIHdyaXRlIGFuZCBnZW5lcmF0ZSBTVEFSVCBjb25kaXRpb24gKi8KICAgICAgIEZNUEkyQ19UcmFuc2ZlckNvbmZpZyhoZm1waTJjLCBEZXZBZGRyZXNzLCAodWludDhfdCloZm1waTJjLT5YZmVyU2l6ZSwgRk1QSTJDX0FVVE9FTkRfTU9ERSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBGTVBJMkNfR0VORVJBVEVfU1RBUlRfV1JJVEUpOworICAgICAgICAgICAgICAgICAgICAgICAgIEZNUEkyQ19HRU5FUkFURV9TVEFSVF9XUklURSk7CiAKICAgICAgIC8qIFByb2Nlc3MgVW5sb2NrZWQgKi8KICAgICAgIF9fSEFMX1VOTE9DSyhoZm1waTJjKTsKQEAgLTIxMTQsNyArMjExNyw3IEBACiAgICAgICAvKiBTZW5kIFNsYXZlIEFkZHJlc3MgKi8KICAgICAgIC8qIFNldCBOQllURVMgdG8gcmVhZCBhbmQgZ2VuZXJhdGUgU1RBUlQgY29uZGl0aW9uICovCiAgICAgICBGTVBJMkNfVHJhbnNmZXJDb25maWcoaGZtcGkyYywgRGV2QWRkcmVzcywgKHVpbnQ4X3QpaGZtcGkyYy0+WGZlclNpemUsIEZNUEkyQ19BVVRPRU5EX01PREUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgRk1QSTJDX0dFTkVSQVRFX1NUQVJUX1JFQUQpOworICAgICAgICAgICAgICAgICAgICAgICAgIEZNUEkyQ19HRU5FUkFURV9TVEFSVF9SRUFEKTsKIAogICAgICAgLyogUHJvY2VzcyBVbmxvY2tlZCAqLwogICAgICAgX19IQUxfVU5MT0NLKGhmbXBpMmMpOwpAQCAtMjQ0MiwxMyArMjQ0NSwxMyBAQAogICAgICAgICB7CiAgICAgICAgICAgaGZtcGkyYy0+WGZlclNpemUgPSBNQVhfTkJZVEVfU0laRTsKICAgICAgICAgICBGTVBJMkNfVHJhbnNmZXJDb25maWcoaGZtcGkyYywgRGV2QWRkcmVzcywgKHVpbnQ4X3QpaGZtcGkyYy0+WGZlclNpemUsIEZNUEkyQ19SRUxPQURfTU9ERSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRk1QSTJDX05PX1NUQVJUU1RPUCk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZNUEkyQ19OT19TVEFSVFNUT1ApOwogICAgICAgICB9CiAgICAgICAgIGVsc2UKICAgICAgICAgewogICAgICAgICAgIGhmbXBpMmMtPlhmZXJTaXplID0gaGZtcGkyYy0+WGZlckNvdW50OwogICAgICAgICAgIEZNUEkyQ19UcmFuc2ZlckNvbmZpZyhoZm1waTJjLCBEZXZBZGRyZXNzLCAodWludDhfdCloZm1waTJjLT5YZmVyU2l6ZSwgRk1QSTJDX0FVVE9FTkRfTU9ERSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRk1QSTJDX05PX1NUQVJUU1RPUCk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZNUEkyQ19OT19TVEFSVFNUT1ApOwogICAgICAgICB9CiAgICAgICB9CiAKQEAgLTI1NDQsMTMgKzI1NDcsMTMgQEAKICAgICB7CiAgICAgICBoZm1waTJjLT5YZmVyU2l6ZSA9IE1BWF9OQllURV9TSVpFOwogICAgICAgRk1QSTJDX1RyYW5zZmVyQ29uZmlnKGhmbXBpMmMsIERldkFkZHJlc3MsICh1aW50OF90KWhmbXBpMmMtPlhmZXJTaXplLCBGTVBJMkNfUkVMT0FEX01PREUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgRk1QSTJDX0dFTkVSQVRFX1NUQVJUX1JFQUQpOworICAgICAgICAgICAgICAgICAgICAgICAgIEZNUEkyQ19HRU5FUkFURV9TVEFSVF9SRUFEKTsKICAgICB9CiAgICAgZWxzZQogICAgIHsKICAgICAgIGhmbXBpMmMtPlhmZXJTaXplID0gaGZtcGkyYy0+WGZlckNvdW50OwogICAgICAgRk1QSTJDX1RyYW5zZmVyQ29uZmlnKGhmbXBpMmMsIERldkFkZHJlc3MsICh1aW50OF90KWhmbXBpMmMtPlhmZXJTaXplLCBGTVBJMkNfQVVUT0VORF9NT0RFLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZNUEkyQ19HRU5FUkFURV9TVEFSVF9SRUFEKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICBGTVBJMkNfR0VORVJBVEVfU1RBUlRfUkVBRCk7CiAgICAgfQogCiAgICAgZG8KQEAgLTI1ODIsMTMgKzI1ODUsMTMgQEAKICAgICAgICAgewogICAgICAgICAgIGhmbXBpMmMtPlhmZXJTaXplID0gTUFYX05CWVRFX1NJWkU7CiAgICAgICAgICAgRk1QSTJDX1RyYW5zZmVyQ29uZmlnKGhmbXBpMmMsIERldkFkZHJlc3MsICh1aW50OF90KSBoZm1waTJjLT5YZmVyU2l6ZSwgRk1QSTJDX1JFTE9BRF9NT0RFLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGTVBJMkNfTk9fU1RBUlRTVE9QKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRk1QSTJDX05PX1NUQVJUU1RPUCk7CiAgICAgICAgIH0KICAgICAgICAgZWxzZQogICAgICAgICB7CiAgICAgICAgICAgaGZtcGkyYy0+WGZlclNpemUgPSBoZm1waTJjLT5YZmVyQ291bnQ7CiAgICAgICAgICAgRk1QSTJDX1RyYW5zZmVyQ29uZmlnKGhmbXBpMmMsIERldkFkZHJlc3MsICh1aW50OF90KWhmbXBpMmMtPlhmZXJTaXplLCBGTVBJMkNfQVVUT0VORF9NT0RFLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGTVBJMkNfTk9fU1RBUlRTVE9QKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRk1QSTJDX05PX1NUQVJUU1RPUCk7CiAgICAgICAgIH0KICAgICAgIH0KICAgICB9IHdoaWxlIChoZm1waTJjLT5YZmVyQ291bnQgPiAwVSk7CkBAIC0zMTA4LDcgKzMxMTEsNyBAQAogICAqIEByZXR2YWwgSEFMIHN0YXR1cwogICAqLwogSEFMX1N0YXR1c1R5cGVEZWYgSEFMX0ZNUEkyQ19Jc0RldmljZVJlYWR5KEZNUEkyQ19IYW5kbGVUeXBlRGVmICpoZm1waTJjLCB1aW50MTZfdCBEZXZBZGRyZXNzLCB1aW50MzJfdCBUcmlhbHMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgVGltZW91dCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBUaW1lb3V0KQogewogICB1aW50MzJfdCB0aWNrc3RhcnQ7CiAKQEAgLTMyODksNyArMzI5Miw3IEBACiAgICAgICAgZG8gbm90IGdlbmVyYXRlIFJlc3RhcnQgQ29uZGl0aW9uICovCiAgICAgLyogTWVhbiBQcmV2aW91cyBzdGF0ZSBpcyBzYW1lIGFzIGN1cnJlbnQgc3RhdGUgKi8KICAgICBpZiAoKGhmbXBpMmMtPlByZXZpb3VzU3RhdGUgPT0gRk1QSTJDX1NUQVRFX01BU1RFUl9CVVNZX1RYKSAmJiBcCi0gICAgICAoSVNfRk1QSTJDX1RSQU5TRkVSX09USEVSX09QVElPTlNfUkVRVUVTVChYZmVyT3B0aW9ucykgPT0gMCkpCisgICAgICAgIChJU19GTVBJMkNfVFJBTlNGRVJfT1RIRVJfT1BUSU9OU19SRVFVRVNUKFhmZXJPcHRpb25zKSA9PSAwKSkKICAgICB7CiAgICAgICB4ZmVycmVxdWVzdCA9IEZNUEkyQ19OT19TVEFSVFNUT1A7CiAgICAgfQpAQCAtMzM3Nyw3ICszMzgwLDcgQEAKICAgICAgICBkbyBub3QgZ2VuZXJhdGUgUmVzdGFydCBDb25kaXRpb24gKi8KICAgICAvKiBNZWFuIFByZXZpb3VzIHN0YXRlIGlzIHNhbWUgYXMgY3VycmVudCBzdGF0ZSAqLwogICAgIGlmICgoaGZtcGkyYy0+UHJldmlvdXNTdGF0ZSA9PSBGTVBJMkNfU1RBVEVfTUFTVEVSX0JVU1lfVFgpICYmIFwKLSAgICAgIChJU19GTVBJMkNfVFJBTlNGRVJfT1RIRVJfT1BUSU9OU19SRVFVRVNUKFhmZXJPcHRpb25zKSA9PSAwKSkKKyAgICAgICAgKElTX0ZNUEkyQ19UUkFOU0ZFUl9PVEhFUl9PUFRJT05TX1JFUVVFU1QoWGZlck9wdGlvbnMpID09IDApKQogICAgIHsKICAgICAgIHhmZXJyZXF1ZXN0ID0gRk1QSTJDX05PX1NUQVJUU1RPUDsKICAgICB9CkBAIC0zNDY5LDcgKzM0NzIsNyBAQAogICAgICAgLyogU2VuZCBTbGF2ZSBBZGRyZXNzICovCiAgICAgICAvKiBTZXQgTkJZVEVTIHRvIHdyaXRlIGFuZCBnZW5lcmF0ZSBTVEFSVCBjb25kaXRpb24gKi8KICAgICAgIEZNUEkyQ19UcmFuc2ZlckNvbmZpZyhoZm1waTJjLCBEZXZBZGRyZXNzLCAodWludDhfdCloZm1waTJjLT5YZmVyU2l6ZSwgRk1QSTJDX0FVVE9FTkRfTU9ERSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBGTVBJMkNfR0VORVJBVEVfU1RBUlRfV1JJVEUpOworICAgICAgICAgICAgICAgICAgICAgICAgIEZNUEkyQ19HRU5FUkFURV9TVEFSVF9XUklURSk7CiAKICAgICAgIC8qIFByb2Nlc3MgVW5sb2NrZWQgKi8KICAgICAgIF9fSEFMX1VOTE9DSyhoZm1waTJjKTsKQEAgLTM1NDQsNyArMzU0Nyw3IEBACiAgICAgICAgZG8gbm90IGdlbmVyYXRlIFJlc3RhcnQgQ29uZGl0aW9uICovCiAgICAgLyogTWVhbiBQcmV2aW91cyBzdGF0ZSBpcyBzYW1lIGFzIGN1cnJlbnQgc3RhdGUgKi8KICAgICBpZiAoKGhmbXBpMmMtPlByZXZpb3VzU3RhdGUgPT0gRk1QSTJDX1NUQVRFX01BU1RFUl9CVVNZX1JYKSAmJiBcCi0gICAgICAoSVNfRk1QSTJDX1RSQU5TRkVSX09USEVSX09QVElPTlNfUkVRVUVTVChYZmVyT3B0aW9ucykgPT0gMCkpCisgICAgICAgIChJU19GTVBJMkNfVFJBTlNGRVJfT1RIRVJfT1BUSU9OU19SRVFVRVNUKFhmZXJPcHRpb25zKSA9PSAwKSkKICAgICB7CiAgICAgICB4ZmVycmVxdWVzdCA9IEZNUEkyQ19OT19TVEFSVFNUT1A7CiAgICAgfQpAQCAtMzYzMiw3ICszNjM1LDcgQEAKICAgICAgICBkbyBub3QgZ2VuZXJhdGUgUmVzdGFydCBDb25kaXRpb24gKi8KICAgICAvKiBNZWFuIFByZXZpb3VzIHN0YXRlIGlzIHNhbWUgYXMgY3VycmVudCBzdGF0ZSAqLwogICAgIGlmICgoaGZtcGkyYy0+UHJldmlvdXNTdGF0ZSA9PSBGTVBJMkNfU1RBVEVfTUFTVEVSX0JVU1lfUlgpICYmIFwKLSAgICAgIChJU19GTVBJMkNfVFJBTlNGRVJfT1RIRVJfT1BUSU9OU19SRVFVRVNUKFhmZXJPcHRpb25zKSA9PSAwKSkKKyAgICAgICAgKElTX0ZNUEkyQ19UUkFOU0ZFUl9PVEhFUl9PUFRJT05TX1JFUVVFU1QoWGZlck9wdGlvbnMpID09IDApKQogICAgIHsKICAgICAgIHhmZXJyZXF1ZXN0ID0gRk1QSTJDX05PX1NUQVJUU1RPUDsKICAgICB9CkBAIC0zNzI0LDcgKzM3MjcsNyBAQAogICAgICAgLyogU2VuZCBTbGF2ZSBBZGRyZXNzICovCiAgICAgICAvKiBTZXQgTkJZVEVTIHRvIHJlYWQgYW5kIGdlbmVyYXRlIFNUQVJUIGNvbmRpdGlvbiAqLwogICAgICAgRk1QSTJDX1RyYW5zZmVyQ29uZmlnKGhmbXBpMmMsIERldkFkZHJlc3MsICh1aW50OF90KWhmbXBpMmMtPlhmZXJTaXplLCBGTVBJMkNfQVVUT0VORF9NT0RFLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZNUEkyQ19HRU5FUkFURV9TVEFSVF9SRUFEKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICBGTVBJMkNfR0VORVJBVEVfU1RBUlRfUkVBRCk7CiAKICAgICAgIC8qIFByb2Nlc3MgVW5sb2NrZWQgKi8KICAgICAgIF9fSEFMX1VOTE9DSyhoZm1waTJjKTsKQEAgLTQ0NTMsNyArNDQ1Niw3IEBACiAKICAgLyogRk1QSTJDIEJ1cyBlcnJvciBpbnRlcnJ1cHQgb2NjdXJyZWQgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICAgaWYgKChGTVBJMkNfQ0hFQ0tfRkxBRyhpdGZsYWdzLCBGTVBJMkNfRkxBR19CRVJSKSAhPSBSRVNFVCkgJiYgXAotICAgIChGTVBJMkNfQ0hFQ0tfSVRfU09VUkNFKGl0c291cmNlcywgRk1QSTJDX0lUX0VSUkkpICE9IFJFU0VUKSkKKyAgICAgIChGTVBJMkNfQ0hFQ0tfSVRfU09VUkNFKGl0c291cmNlcywgRk1QSTJDX0lUX0VSUkkpICE9IFJFU0VUKSkKICAgewogICAgIGhmbXBpMmMtPkVycm9yQ29kZSB8PSBIQUxfRk1QSTJDX0VSUk9SX0JFUlI7CiAKQEAgLTQ0NjMsNyArNDQ2Niw3IEBACiAKICAgLyogRk1QSTJDIE92ZXItUnVuL1VuZGVyLVJ1biBpbnRlcnJ1cHQgb2NjdXJyZWQgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgIGlmICgoRk1QSTJDX0NIRUNLX0ZMQUcoaXRmbGFncywgRk1QSTJDX0ZMQUdfT1ZSKSAhPSBSRVNFVCkgJiYgXAotICAgIChGTVBJMkNfQ0hFQ0tfSVRfU09VUkNFKGl0c291cmNlcywgRk1QSTJDX0lUX0VSUkkpICE9IFJFU0VUKSkKKyAgICAgIChGTVBJMkNfQ0hFQ0tfSVRfU09VUkNFKGl0c291cmNlcywgRk1QSTJDX0lUX0VSUkkpICE9IFJFU0VUKSkKICAgewogICAgIGhmbXBpMmMtPkVycm9yQ29kZSB8PSBIQUxfRk1QSTJDX0VSUk9SX09WUjsKIApAQCAtNDQ3Myw3ICs0NDc2LDcgQEAKIAogICAvKiBGTVBJMkMgQXJiaXRyYXRpb24gTG9zcyBlcnJvciBpbnRlcnJ1cHQgb2NjdXJyZWQgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgIGlmICgoRk1QSTJDX0NIRUNLX0ZMQUcoaXRmbGFncywgRk1QSTJDX0ZMQUdfQVJMTykgIT0gUkVTRVQpICYmIFwKLSAgICAoRk1QSTJDX0NIRUNLX0lUX1NPVVJDRShpdHNvdXJjZXMsIEZNUEkyQ19JVF9FUlJJKSAhPSBSRVNFVCkpCisgICAgICAoRk1QSTJDX0NIRUNLX0lUX1NPVVJDRShpdHNvdXJjZXMsIEZNUEkyQ19JVF9FUlJJKSAhPSBSRVNFVCkpCiAgIHsKICAgICBoZm1waTJjLT5FcnJvckNvZGUgfD0gSEFMX0ZNUEkyQ19FUlJPUl9BUkxPOwogCkBAIC00NzI4LDcgKzQ3MzEsNyBAQAogICAqIEByZXR2YWwgSEFMIHN0YXR1cwogICAqLwogc3RhdGljIEhBTF9TdGF0dXNUeXBlRGVmIEZNUEkyQ19NYXN0ZXJfSVNSX0lUKHN0cnVjdCBfX0ZNUEkyQ19IYW5kbGVUeXBlRGVmICpoZm1waTJjLCB1aW50MzJfdCBJVEZsYWdzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IElUU291cmNlcykKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBJVFNvdXJjZXMpCiB7CiAgIHVpbnQxNl90IGRldmFkZHJlc3M7CiAgIHVpbnQzMl90IHRtcElURmxhZ3MgPSBJVEZsYWdzOwpAQCAtNDczNyw3ICs0NzQwLDcgQEAKICAgX19IQUxfTE9DSyhoZm1waTJjKTsKIAogICBpZiAoKEZNUEkyQ19DSEVDS19GTEFHKHRtcElURmxhZ3MsIEZNUEkyQ19GTEFHX0FGKSAhPSBSRVNFVCkgJiYgXAotICAgIChGTVBJMkNfQ0hFQ0tfSVRfU09VUkNFKElUU291cmNlcywgRk1QSTJDX0lUX05BQ0tJKSAhPSBSRVNFVCkpCisgICAgICAoRk1QSTJDX0NIRUNLX0lUX1NPVVJDRShJVFNvdXJjZXMsIEZNUEkyQ19JVF9OQUNLSSkgIT0gUkVTRVQpKQogICB7CiAgICAgLyogQ2xlYXIgTkFDSyBGbGFnICovCiAgICAgX19IQUxfRk1QSTJDX0NMRUFSX0ZMQUcoaGZtcGkyYywgRk1QSTJDX0ZMQUdfQUYpOwpAQCAtNDc5NSwxMiArNDc5OCwxMiBAQAogICAgICAgICBpZiAoaGZtcGkyYy0+WGZlck9wdGlvbnMgIT0gRk1QSTJDX05PX09QVElPTl9GUkFNRSkKICAgICAgICAgewogICAgICAgICAgIEZNUEkyQ19UcmFuc2ZlckNvbmZpZyhoZm1waTJjLCBkZXZhZGRyZXNzLCAodWludDhfdCloZm1waTJjLT5YZmVyU2l6ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGZtcGkyYy0+WGZlck9wdGlvbnMsIEZNUEkyQ19OT19TVEFSVFNUT1ApOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZm1waTJjLT5YZmVyT3B0aW9ucywgRk1QSTJDX05PX1NUQVJUU1RPUCk7CiAgICAgICAgIH0KICAgICAgICAgZWxzZQogICAgICAgICB7CiAgICAgICAgICAgRk1QSTJDX1RyYW5zZmVyQ29uZmlnKGhmbXBpMmMsIGRldmFkZHJlc3MsICh1aW50OF90KWhmbXBpMmMtPlhmZXJTaXplLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGTVBJMkNfQVVUT0VORF9NT0RFLCBGTVBJMkNfTk9fU1RBUlRTVE9QKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRk1QSTJDX0FVVE9FTkRfTU9ERSwgRk1QSTJDX05PX1NUQVJUU1RPUCk7CiAgICAgICAgIH0KICAgICAgIH0KICAgICB9CkBAIC00ODUzLDcgKzQ4NTYsNyBAQAogICB9CiAKICAgaWYgKChGTVBJMkNfQ0hFQ0tfRkxBRyh0bXBJVEZsYWdzLCBGTVBJMkNfRkxBR19TVE9QRikgIT0gUkVTRVQpICYmIFwKLSAgICAoRk1QSTJDX0NIRUNLX0lUX1NPVVJDRShJVFNvdXJjZXMsIEZNUEkyQ19JVF9TVE9QSSkgIT0gUkVTRVQpKQorICAgICAgKEZNUEkyQ19DSEVDS19JVF9TT1VSQ0UoSVRTb3VyY2VzLCBGTVBJMkNfSVRfU1RPUEkpICE9IFJFU0VUKSkKICAgewogICAgIC8qIENhbGwgRk1QSTJDIE1hc3RlciBjb21wbGV0ZSBwcm9jZXNzICovCiAgICAgRk1QSTJDX0lUTWFzdGVyQ3BsdChoZm1waTJjLCB0bXBJVEZsYWdzKTsKQEAgLTQ4NzQsNyArNDg3Nyw3IEBACiAgICogQHJldHZhbCBIQUwgc3RhdHVzCiAgICovCiBzdGF0aWMgSEFMX1N0YXR1c1R5cGVEZWYgRk1QSTJDX1NsYXZlX0lTUl9JVChzdHJ1Y3QgX19GTVBJMkNfSGFuZGxlVHlwZURlZiAqaGZtcGkyYywgdWludDMyX3QgSVRGbGFncywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IElUU291cmNlcykKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IElUU291cmNlcykKIHsKICAgdWludDMyX3QgdG1wb3B0aW9ucyA9IGhmbXBpMmMtPlhmZXJPcHRpb25zOwogICB1aW50MzJfdCB0bXBJVEZsYWdzID0gSVRGbGFnczsKQEAgLTQ4ODQsMTQgKzQ4ODcsMTQgQEAKIAogICAvKiBDaGVjayBpZiBTVE9QRiBpcyBzZXQgKi8KICAgaWYgKChGTVBJMkNfQ0hFQ0tfRkxBRyh0bXBJVEZsYWdzLCBGTVBJMkNfRkxBR19TVE9QRikgIT0gUkVTRVQpICYmIFwKLSAgICAoRk1QSTJDX0NIRUNLX0lUX1NPVVJDRShJVFNvdXJjZXMsIEZNUEkyQ19JVF9TVE9QSSkgIT0gUkVTRVQpKQorICAgICAgKEZNUEkyQ19DSEVDS19JVF9TT1VSQ0UoSVRTb3VyY2VzLCBGTVBJMkNfSVRfU1RPUEkpICE9IFJFU0VUKSkKICAgewogICAgIC8qIENhbGwgRk1QSTJDIFNsYXZlIGNvbXBsZXRlIHByb2Nlc3MgKi8KICAgICBGTVBJMkNfSVRTbGF2ZUNwbHQoaGZtcGkyYywgdG1wSVRGbGFncyk7CiAgIH0KIAogICBpZiAoKEZNUEkyQ19DSEVDS19GTEFHKHRtcElURmxhZ3MsIEZNUEkyQ19GTEFHX0FGKSAhPSBSRVNFVCkgJiYgXAotICAgIChGTVBJMkNfQ0hFQ0tfSVRfU09VUkNFKElUU291cmNlcywgRk1QSTJDX0lUX05BQ0tJKSAhPSBSRVNFVCkpCisgICAgICAoRk1QSTJDX0NIRUNLX0lUX1NPVVJDRShJVFNvdXJjZXMsIEZNUEkyQ19JVF9OQUNLSSkgIT0gUkVTRVQpKQogICB7CiAgICAgLyogQ2hlY2sgdGhhdCBGTVBJMkMgdHJhbnNmZXIgZmluaXNoZWQgKi8KICAgICAvKiBpZiB5ZXMsIG5vcm1hbCB1c2UgY2FzZSwgYSBOQUNLIGlzIHNlbnQgYnkgdGhlIE1BU1RFUiB3aGVuIFRyYW5zZmVyIGlzIGZpbmlzaGVkICovCkBAIC01MDE1LDcgKzUwMTgsNyBAQAogICAqIEByZXR2YWwgSEFMIHN0YXR1cwogICAqLwogc3RhdGljIEhBTF9TdGF0dXNUeXBlRGVmIEZNUEkyQ19NYXN0ZXJfSVNSX0RNQShzdHJ1Y3QgX19GTVBJMkNfSGFuZGxlVHlwZURlZiAqaGZtcGkyYywgdWludDMyX3QgSVRGbGFncywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgSVRTb3VyY2VzKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBJVFNvdXJjZXMpCiB7CiAgIHVpbnQxNl90IGRldmFkZHJlc3M7CiAgIHVpbnQzMl90IHhmZXJtb2RlOwpAQCAtNTAyNCw3ICs1MDI3LDcgQEAKICAgX19IQUxfTE9DSyhoZm1waTJjKTsKIAogICBpZiAoKEZNUEkyQ19DSEVDS19GTEFHKElURmxhZ3MsIEZNUEkyQ19GTEFHX0FGKSAhPSBSRVNFVCkgJiYgXAotICAgIChGTVBJMkNfQ0hFQ0tfSVRfU09VUkNFKElUU291cmNlcywgRk1QSTJDX0lUX05BQ0tJKSAhPSBSRVNFVCkpCisgICAgICAoRk1QSTJDX0NIRUNLX0lUX1NPVVJDRShJVFNvdXJjZXMsIEZNUEkyQ19JVF9OQUNLSSkgIT0gUkVTRVQpKQogICB7CiAgICAgLyogQ2xlYXIgTkFDSyBGbGFnICovCiAgICAgX19IQUxfRk1QSTJDX0NMRUFSX0ZMQUcoaGZtcGkyYywgRk1QSTJDX0ZMQUdfQUYpOwpAQCAtNTA0MSw3ICs1MDQ0LDcgQEAKICAgICBGTVBJMkNfRmx1c2hfVFhEUihoZm1waTJjKTsKICAgfQogICBlbHNlIGlmICgoRk1QSTJDX0NIRUNLX0ZMQUcoSVRGbGFncywgRk1QSTJDX0ZMQUdfVENSKSAhPSBSRVNFVCkgJiYgXAotICAgIChGTVBJMkNfQ0hFQ0tfSVRfU09VUkNFKElUU291cmNlcywgRk1QSTJDX0lUX1RDSSkgIT0gUkVTRVQpKQorICAgICAgICAgICAoRk1QSTJDX0NIRUNLX0lUX1NPVVJDRShJVFNvdXJjZXMsIEZNUEkyQ19JVF9UQ0kpICE9IFJFU0VUKSkKICAgewogICAgIC8qIERpc2FibGUgVEMgaW50ZXJydXB0ICovCiAgICAgX19IQUxfRk1QSTJDX0RJU0FCTEVfSVQoaGZtcGkyYywgRk1QSTJDX0lUX1RDSSk7CkBAIC01MTAzLDcgKzUxMDYsNyBAQAogICAgIH0KICAgfQogICBlbHNlIGlmICgoRk1QSTJDX0NIRUNLX0ZMQUcoSVRGbGFncywgRk1QSTJDX0ZMQUdfVEMpICE9IFJFU0VUKSAmJiBcCi0gICAgKEZNUEkyQ19DSEVDS19JVF9TT1VSQ0UoSVRTb3VyY2VzLCBGTVBJMkNfSVRfVENJKSAhPSBSRVNFVCkpCisgICAgICAgICAgIChGTVBJMkNfQ0hFQ0tfSVRfU09VUkNFKElUU291cmNlcywgRk1QSTJDX0lUX1RDSSkgIT0gUkVTRVQpKQogICB7CiAgICAgaWYgKGhmbXBpMmMtPlhmZXJDb3VudCA9PSAwVSkKICAgICB7CkBAIC01MTU1LDcgKzUxNTgsNyBAQAogICAqIEByZXR2YWwgSEFMIHN0YXR1cwogICAqLwogc3RhdGljIEhBTF9TdGF0dXNUeXBlRGVmIEZNUEkyQ19TbGF2ZV9JU1JfRE1BKHN0cnVjdCBfX0ZNUEkyQ19IYW5kbGVUeXBlRGVmICpoZm1waTJjLCB1aW50MzJfdCBJVEZsYWdzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IElUU291cmNlcykKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBJVFNvdXJjZXMpCiB7CiAgIHVpbnQzMl90IHRtcG9wdGlvbnMgPSBoZm1waTJjLT5YZmVyT3B0aW9uczsKICAgdWludDMyX3QgdHJlYXRkbWFuYWNrID0gMFU7CkBAIC01MTY2LDE0ICs1MTY5LDE0IEBACiAKICAgLyogQ2hlY2sgaWYgU1RPUEYgaXMgc2V0ICovCiAgIGlmICgoRk1QSTJDX0NIRUNLX0ZMQUcoSVRGbGFncywgRk1QSTJDX0ZMQUdfU1RPUEYpICE9IFJFU0VUKSAmJiBcCi0gICAgKEZNUEkyQ19DSEVDS19JVF9TT1VSQ0UoSVRTb3VyY2VzLCBGTVBJMkNfSVRfU1RPUEkpICE9IFJFU0VUKSkKKyAgICAgIChGTVBJMkNfQ0hFQ0tfSVRfU09VUkNFKElUU291cmNlcywgRk1QSTJDX0lUX1NUT1BJKSAhPSBSRVNFVCkpCiAgIHsKICAgICAvKiBDYWxsIEZNUEkyQyBTbGF2ZSBjb21wbGV0ZSBwcm9jZXNzICovCiAgICAgRk1QSTJDX0lUU2xhdmVDcGx0KGhmbXBpMmMsIElURmxhZ3MpOwogICB9CiAKICAgaWYgKChGTVBJMkNfQ0hFQ0tfRkxBRyhJVEZsYWdzLCBGTVBJMkNfRkxBR19BRikgIT0gUkVTRVQpICYmIFwKLSAgICAoRk1QSTJDX0NIRUNLX0lUX1NPVVJDRShJVFNvdXJjZXMsIEZNUEkyQ19JVF9OQUNLSSkgIT0gUkVTRVQpKQorICAgICAgKEZNUEkyQ19DSEVDS19JVF9TT1VSQ0UoSVRTb3VyY2VzLCBGTVBJMkNfSVRfTkFDS0kpICE9IFJFU0VUKSkKICAgewogICAgIC8qIENoZWNrIHRoYXQgRk1QSTJDIHRyYW5zZmVyIGZpbmlzaGVkICovCiAgICAgLyogaWYgeWVzLCBub3JtYWwgdXNlIGNhc2UsIGEgTkFDSyBpcyBzZW50IGJ5IHRoZSBNQVNURVIgd2hlbiBUcmFuc2ZlciBpcyBmaW5pc2hlZCAqLwpAQCAtNTI3Miw3ICs1Mjc1LDcgQEAKICAgICB9CiAgIH0KICAgZWxzZSBpZiAoKEZNUEkyQ19DSEVDS19GTEFHKElURmxhZ3MsIEZNUEkyQ19GTEFHX0FERFIpICE9IFJFU0VUKSAmJiBcCi0gICAgKEZNUEkyQ19DSEVDS19JVF9TT1VSQ0UoSVRTb3VyY2VzLCBGTVBJMkNfSVRfQUREUkkpICE9IFJFU0VUKSkKKyAgICAgICAgICAgKEZNUEkyQ19DSEVDS19JVF9TT1VSQ0UoSVRTb3VyY2VzLCBGTVBJMkNfSVRfQUREUkkpICE9IFJFU0VUKSkKICAgewogICAgIEZNUEkyQ19JVEFkZHJDcGx0KGhmbXBpMmMsIElURmxhZ3MpOwogICB9CkBAIC01MzAwLDggKzUzMDMsOCBAQAogICAqIEByZXR2YWwgSEFMIHN0YXR1cwogICAqLwogc3RhdGljIEhBTF9TdGF0dXNUeXBlRGVmIEZNUEkyQ19SZXF1ZXN0TWVtb3J5V3JpdGUoRk1QSTJDX0hhbmRsZVR5cGVEZWYgKmhmbXBpMmMsIHVpbnQxNl90IERldkFkZHJlc3MsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MTZfdCBNZW1BZGRyZXNzLCB1aW50MTZfdCBNZW1BZGRTaXplLCB1aW50MzJfdCBUaW1lb3V0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgVGlja3N0YXJ0KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDE2X3QgTWVtQWRkcmVzcywgdWludDE2X3QgTWVtQWRkU2l6ZSwgdWludDMyX3QgVGltZW91dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IFRpY2tzdGFydCkKIHsKICAgRk1QSTJDX1RyYW5zZmVyQ29uZmlnKGhmbXBpMmMsIERldkFkZHJlc3MsICh1aW50OF90KU1lbUFkZFNpemUsIEZNUEkyQ19SRUxPQURfTU9ERSwgRk1QSTJDX0dFTkVSQVRFX1NUQVJUX1dSSVRFKTsKIApAQCAtNTM1NSw4ICs1MzU4LDggQEAKICAgKiBAcmV0dmFsIEhBTCBzdGF0dXMKICAgKi8KIHN0YXRpYyBIQUxfU3RhdHVzVHlwZURlZiBGTVBJMkNfUmVxdWVzdE1lbW9yeVJlYWQoRk1QSTJDX0hhbmRsZVR5cGVEZWYgKmhmbXBpMmMsIHVpbnQxNl90IERldkFkZHJlc3MsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNl90IE1lbUFkZHJlc3MsIHVpbnQxNl90IE1lbUFkZFNpemUsIHVpbnQzMl90IFRpbWVvdXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IFRpY2tzdGFydCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDE2X3QgTWVtQWRkcmVzcywgdWludDE2X3QgTWVtQWRkU2l6ZSwgdWludDMyX3QgVGltZW91dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgVGlja3N0YXJ0KQogewogICBGTVBJMkNfVHJhbnNmZXJDb25maWcoaGZtcGkyYywgRGV2QWRkcmVzcywgKHVpbnQ4X3QpTWVtQWRkU2l6ZSwgRk1QSTJDX1NPRlRFTkRfTU9ERSwgRk1QSTJDX0dFTkVSQVRFX1NUQVJUX1dSSVRFKTsKIApAQCAtNjM2MywxMSArNjM2NiwxMiBAQAogfQogCiAvKioKLSAgKiBAYnJpZWYgIFRoaXMgZnVuY3Rpb24gaGFuZGxlcyBGTVBJMkMgQ29tbXVuaWNhdGlvbiBUaW1lb3V0LgorICAqIEBicmllZiAgVGhpcyBmdW5jdGlvbiBoYW5kbGVzIEZNUEkyQyBDb21tdW5pY2F0aW9uIFRpbWVvdXQuIEl0IHdhaXRzCisgICogICAgICAgICAgICAgICAgdW50aWwgYSBmbGFnIGlzIG5vIGxvbmdlciBpbiB0aGUgc3BlY2lmaWVkIHN0YXR1cy4KICAgKiBAcGFyYW0gIGhmbXBpMmMgUG9pbnRlciB0byBhIEZNUEkyQ19IYW5kbGVUeXBlRGVmIHN0cnVjdHVyZSB0aGF0IGNvbnRhaW5zCiAgICogICAgICAgICAgICAgICAgdGhlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gZm9yIHRoZSBzcGVjaWZpZWQgRk1QSTJDLgogICAqIEBwYXJhbSAgRmxhZyBTcGVjaWZpZXMgdGhlIEZNUEkyQyBmbGFnIHRvIGNoZWNrLgotICAqIEBwYXJhbSAgU3RhdHVzIFRoZSBuZXcgRmxhZyBzdGF0dXMgKFNFVCBvciBSRVNFVCkuCisgICogQHBhcmFtICBTdGF0dXMgVGhlIGFjdHVhbCBGbGFnIHN0YXR1cyAoU0VUIG9yIFJFU0VUKS4KICAgKiBAcGFyYW0gIFRpbWVvdXQgVGltZW91dCBkdXJhdGlvbgogICAqIEBwYXJhbSAgVGlja3N0YXJ0IFRpY2sgc3RhcnQgdmFsdWUKICAgKiBAcmV0dmFsIEhBTCBzdGF0dXMKQEAgLTY0MDQsMTIgKzY0MDgsMTIgQEAKICAgKiBAcmV0dmFsIEhBTCBzdGF0dXMKICAgKi8KIHN0YXRpYyBIQUxfU3RhdHVzVHlwZURlZiBGTVBJMkNfV2FpdE9uVFhJU0ZsYWdVbnRpbFRpbWVvdXQoRk1QSTJDX0hhbmRsZVR5cGVEZWYgKmhmbXBpMmMsIHVpbnQzMl90IFRpbWVvdXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IFRpY2tzdGFydCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgVGlja3N0YXJ0KQogewogICB3aGlsZSAoX19IQUxfRk1QSTJDX0dFVF9GTEFHKGhmbXBpMmMsIEZNUEkyQ19GTEFHX1RYSVMpID09IFJFU0VUKQogICB7Ci0gICAgLyogQ2hlY2sgaWYgYSBOQUNLIGlzIGRldGVjdGVkICovCi0gICAgaWYgKEZNUEkyQ19Jc0Fja25vd2xlZGdlRmFpbGVkKGhmbXBpMmMsIFRpbWVvdXQsIFRpY2tzdGFydCkgIT0gSEFMX09LKQorICAgIC8qIENoZWNrIGlmIGFuIGVycm9yIGlzIGRldGVjdGVkICovCisgICAgaWYgKEZNUEkyQ19Jc0Vycm9yT2NjdXJyZWQoaGZtcGkyYywgVGltZW91dCwgVGlja3N0YXJ0KSAhPSBIQUxfT0spCiAgICAgewogICAgICAgcmV0dXJuIEhBTF9FUlJPUjsKICAgICB9CkBAIC02NDQyLDEyICs2NDQ2LDEyIEBACiAgICogQHJldHZhbCBIQUwgc3RhdHVzCiAgICovCiBzdGF0aWMgSEFMX1N0YXR1c1R5cGVEZWYgRk1QSTJDX1dhaXRPblNUT1BGbGFnVW50aWxUaW1lb3V0KEZNUEkyQ19IYW5kbGVUeXBlRGVmICpoZm1waTJjLCB1aW50MzJfdCBUaW1lb3V0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBUaWNrc3RhcnQpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IFRpY2tzdGFydCkKIHsKICAgd2hpbGUgKF9fSEFMX0ZNUEkyQ19HRVRfRkxBRyhoZm1waTJjLCBGTVBJMkNfRkxBR19TVE9QRikgPT0gUkVTRVQpCiAgIHsKLSAgICAvKiBDaGVjayBpZiBhIE5BQ0sgaXMgZGV0ZWN0ZWQgKi8KLSAgICBpZiAoRk1QSTJDX0lzQWNrbm93bGVkZ2VGYWlsZWQoaGZtcGkyYywgVGltZW91dCwgVGlja3N0YXJ0KSAhPSBIQUxfT0spCisgICAgLyogQ2hlY2sgaWYgYW4gZXJyb3IgaXMgZGV0ZWN0ZWQgKi8KKyAgICBpZiAoRk1QSTJDX0lzRXJyb3JPY2N1cnJlZChoZm1waTJjLCBUaW1lb3V0LCBUaWNrc3RhcnQpICE9IEhBTF9PSykKICAgICB7CiAgICAgICByZXR1cm4gSEFMX0VSUk9SOwogICAgIH0KQEAgLTY0NzcsMTIgKzY0ODEsMTIgQEAKICAgKiBAcmV0dmFsIEhBTCBzdGF0dXMKICAgKi8KIHN0YXRpYyBIQUxfU3RhdHVzVHlwZURlZiBGTVBJMkNfV2FpdE9uUlhORUZsYWdVbnRpbFRpbWVvdXQoRk1QSTJDX0hhbmRsZVR5cGVEZWYgKmhmbXBpMmMsIHVpbnQzMl90IFRpbWVvdXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IFRpY2tzdGFydCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgVGlja3N0YXJ0KQogewogICB3aGlsZSAoX19IQUxfRk1QSTJDX0dFVF9GTEFHKGhmbXBpMmMsIEZNUEkyQ19GTEFHX1JYTkUpID09IFJFU0VUKQogICB7Ci0gICAgLyogQ2hlY2sgaWYgYSBOQUNLIGlzIGRldGVjdGVkICovCi0gICAgaWYgKEZNUEkyQ19Jc0Fja25vd2xlZGdlRmFpbGVkKGhmbXBpMmMsIFRpbWVvdXQsIFRpY2tzdGFydCkgIT0gSEFMX09LKQorICAgIC8qIENoZWNrIGlmIGFuIGVycm9yIGlzIGRldGVjdGVkICovCisgICAgaWYgKEZNUEkyQ19Jc0Vycm9yT2NjdXJyZWQoaGZtcGkyYywgVGltZW91dCwgVGlja3N0YXJ0KSAhPSBIQUxfT0spCiAgICAgewogICAgICAgcmV0dXJuIEhBTF9FUlJPUjsKICAgICB9CkBAIC02NTMzLDE2ICs2NTM3LDIwIEBACiB9CiAKIC8qKgotICAqIEBicmllZiAgVGhpcyBmdW5jdGlvbiBoYW5kbGVzIEFja25vd2xlZGdlIGZhaWxlZCBkZXRlY3Rpb24gZHVyaW5nIGFuIEZNUEkyQyBDb21tdW5pY2F0aW9uLgorICAqIEBicmllZiAgVGhpcyBmdW5jdGlvbiBoYW5kbGVzIGVycm9ycyBkZXRlY3Rpb24gZHVyaW5nIGFuIEZNUEkyQyBDb21tdW5pY2F0aW9uLgogICAqIEBwYXJhbSAgaGZtcGkyYyBQb2ludGVyIHRvIGEgRk1QSTJDX0hhbmRsZVR5cGVEZWYgc3RydWN0dXJlIHRoYXQgY29udGFpbnMKICAgKiAgICAgICAgICAgICAgICB0aGUgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbiBmb3IgdGhlIHNwZWNpZmllZCBGTVBJMkMuCiAgICogQHBhcmFtICBUaW1lb3V0IFRpbWVvdXQgZHVyYXRpb24KICAgKiBAcGFyYW0gIFRpY2tzdGFydCBUaWNrIHN0YXJ0IHZhbHVlCiAgICogQHJldHZhbCBIQUwgc3RhdHVzCiAgICovCi1zdGF0aWMgSEFMX1N0YXR1c1R5cGVEZWYgRk1QSTJDX0lzQWNrbm93bGVkZ2VGYWlsZWQoRk1QSTJDX0hhbmRsZVR5cGVEZWYgKmhmbXBpMmMsIHVpbnQzMl90IFRpbWVvdXQsIHVpbnQzMl90IFRpY2tzdGFydCkKK3N0YXRpYyBIQUxfU3RhdHVzVHlwZURlZiBGTVBJMkNfSXNFcnJvck9jY3VycmVkKEZNUEkyQ19IYW5kbGVUeXBlRGVmICpoZm1waTJjLCB1aW50MzJfdCBUaW1lb3V0LCB1aW50MzJfdCBUaWNrc3RhcnQpCiB7Ci0gIGlmIChfX0hBTF9GTVBJMkNfR0VUX0ZMQUcoaGZtcGkyYywgRk1QSTJDX0ZMQUdfQUYpID09IFNFVCkKKyAgSEFMX1N0YXR1c1R5cGVEZWYgc3RhdHVzID0gSEFMX09LOworICB1aW50MzJfdCBpdGZsYWcgICA9IGhmbXBpMmMtPkluc3RhbmNlLT5JU1I7CisgIHVpbnQzMl90IGVycm9yX2NvZGUgPSAwOworCisgIGlmIChIQUxfSVNfQklUX1NFVChpdGZsYWcsIEZNUEkyQ19GTEFHX0FGKSkKICAgewogICAgIC8qIEluIGNhc2Ugb2YgU29mdCBFbmQgY29uZGl0aW9uLCBnZW5lcmF0ZSB0aGUgU1RPUCBjb25kaXRpb24gKi8KICAgICBpZiAoRk1QSTJDX0dFVF9TVE9QX01PREUoaGZtcGkyYykgIT0gRk1QSTJDX0FVVE9FTkRfTU9ERSkKQEAgLTY1NTAsNDkgKzY1NTgsOTIgQEAKICAgICAgIC8qIEdlbmVyYXRlIFN0b3AgKi8KICAgICAgIGhmbXBpMmMtPkluc3RhbmNlLT5DUjIgfD0gRk1QSTJDX0NSMl9TVE9QOwogICAgIH0KLSAgICAvKiBXYWl0IHVudGlsIFNUT1AgRmxhZyBpcyByZXNldCAqLworCisgICAgLyogV2FpdCB1bnRpbCBTVE9QIEZsYWcgaXMgc2V0IG9yIHRpbWVvdXQgb2NjdXJyZWQgKi8KICAgICAvKiBBdXRvRW5kIHNob3VsZCBiZSBpbml0aWF0ZSBhZnRlciBBRiAqLwotICAgIHdoaWxlIChfX0hBTF9GTVBJMkNfR0VUX0ZMQUcoaGZtcGkyYywgRk1QSTJDX0ZMQUdfU1RPUEYpID09IFJFU0VUKQorICAgIHdoaWxlICgoX19IQUxfRk1QSTJDX0dFVF9GTEFHKGhmbXBpMmMsIEZNUEkyQ19GTEFHX1NUT1BGKSA9PSBSRVNFVCkgJiYgKHN0YXR1cyA9PSBIQUxfT0spKQogICAgIHsKICAgICAgIC8qIENoZWNrIGZvciB0aGUgVGltZW91dCAqLwogICAgICAgaWYgKFRpbWVvdXQgIT0gSEFMX01BWF9ERUxBWSkKICAgICAgIHsKICAgICAgICAgaWYgKCgoSEFMX0dldFRpY2soKSAtIFRpY2tzdGFydCkgPiBUaW1lb3V0KSB8fCAoVGltZW91dCA9PSAwVSkpCiAgICAgICAgIHsKLSAgICAgICAgICBoZm1waTJjLT5FcnJvckNvZGUgfD0gSEFMX0ZNUEkyQ19FUlJPUl9USU1FT1VUOwotICAgICAgICAgIGhmbXBpMmMtPlN0YXRlID0gSEFMX0ZNUEkyQ19TVEFURV9SRUFEWTsKLSAgICAgICAgICBoZm1waTJjLT5Nb2RlID0gSEFMX0ZNUEkyQ19NT0RFX05PTkU7CisgICAgICAgICAgZXJyb3JfY29kZSB8PSBIQUxfRk1QSTJDX0VSUk9SX1RJTUVPVVQ7CiAKLSAgICAgICAgICAvKiBQcm9jZXNzIFVubG9ja2VkICovCi0gICAgICAgICAgX19IQUxfVU5MT0NLKGhmbXBpMmMpOwotCi0gICAgICAgICAgcmV0dXJuIEhBTF9FUlJPUjsKKyAgICAgICAgICBzdGF0dXMgPSBIQUxfRVJST1I7CiAgICAgICAgIH0KICAgICAgIH0KICAgICB9CiAKKyAgICAvKiBJbiBjYXNlIFNUT1AgRmxhZyBpcyBkZXRlY3RlZCwgY2xlYXIgaXQgKi8KKyAgICBpZiAoc3RhdHVzID09IEhBTF9PSykKKyAgICB7CisgICAgICAvKiBDbGVhciBTVE9QIEZsYWcgKi8KKyAgICAgIF9fSEFMX0ZNUEkyQ19DTEVBUl9GTEFHKGhmbXBpMmMsIEZNUEkyQ19GTEFHX1NUT1BGKTsKKyAgICB9CisKICAgICAvKiBDbGVhciBOQUNLRiBGbGFnICovCiAgICAgX19IQUxfRk1QSTJDX0NMRUFSX0ZMQUcoaGZtcGkyYywgRk1QSTJDX0ZMQUdfQUYpOwogCi0gICAgLyogQ2xlYXIgU1RPUCBGbGFnICovCi0gICAgX19IQUxfRk1QSTJDX0NMRUFSX0ZMQUcoaGZtcGkyYywgRk1QSTJDX0ZMQUdfU1RPUEYpOworICAgIGVycm9yX2NvZGUgfD0gSEFMX0ZNUEkyQ19FUlJPUl9BRjsKIAorICAgIHN0YXR1cyA9IEhBTF9FUlJPUjsKKyAgfQorCisgIC8qIFJlZnJlc2ggQ29udGVudCBvZiBTdGF0dXMgcmVnaXN0ZXIgKi8KKyAgaXRmbGFnID0gaGZtcGkyYy0+SW5zdGFuY2UtPklTUjsKKworICAvKiBUaGVuIHZlcmlmeSBpZiBhbiBhZGRpdGlvbmFsIGVycm9ycyBvY2N1cnMgKi8KKyAgLyogQ2hlY2sgaWYgYSBCdXMgZXJyb3Igb2NjdXJyZWQgKi8KKyAgaWYgKEhBTF9JU19CSVRfU0VUKGl0ZmxhZywgRk1QSTJDX0ZMQUdfQkVSUikpCisgIHsKKyAgICBlcnJvcl9jb2RlIHw9IEhBTF9GTVBJMkNfRVJST1JfQkVSUjsKKworICAgIC8qIENsZWFyIEJFUlIgZmxhZyAqLworICAgIF9fSEFMX0ZNUEkyQ19DTEVBUl9GTEFHKGhmbXBpMmMsIEZNUEkyQ19GTEFHX0JFUlIpOworCisgICAgc3RhdHVzID0gSEFMX0VSUk9SOworICB9CisKKyAgLyogQ2hlY2sgaWYgYW4gT3Zlci1SdW4vVW5kZXItUnVuIGVycm9yIG9jY3VycmVkICovCisgIGlmIChIQUxfSVNfQklUX1NFVChpdGZsYWcsIEZNUEkyQ19GTEFHX09WUikpCisgIHsKKyAgICBlcnJvcl9jb2RlIHw9IEhBTF9GTVBJMkNfRVJST1JfT1ZSOworCisgICAgLyogQ2xlYXIgT1ZSIGZsYWcgKi8KKyAgICBfX0hBTF9GTVBJMkNfQ0xFQVJfRkxBRyhoZm1waTJjLCBGTVBJMkNfRkxBR19PVlIpOworCisgICAgc3RhdHVzID0gSEFMX0VSUk9SOworICB9CisKKyAgLyogQ2hlY2sgaWYgYW4gQXJiaXRyYXRpb24gTG9zcyBlcnJvciBvY2N1cnJlZCAqLworICBpZiAoSEFMX0lTX0JJVF9TRVQoaXRmbGFnLCBGTVBJMkNfRkxBR19BUkxPKSkKKyAgeworICAgIGVycm9yX2NvZGUgfD0gSEFMX0ZNUEkyQ19FUlJPUl9BUkxPOworCisgICAgLyogQ2xlYXIgQVJMTyBmbGFnICovCisgICAgX19IQUxfRk1QSTJDX0NMRUFSX0ZMQUcoaGZtcGkyYywgRk1QSTJDX0ZMQUdfQVJMTyk7CisKKyAgICBzdGF0dXMgPSBIQUxfRVJST1I7CisgIH0KKworICBpZiAoc3RhdHVzICE9IEhBTF9PSykKKyAgewogICAgIC8qIEZsdXNoIFRYIHJlZ2lzdGVyICovCiAgICAgRk1QSTJDX0ZsdXNoX1RYRFIoaGZtcGkyYyk7CiAKICAgICAvKiBDbGVhciBDb25maWd1cmF0aW9uIFJlZ2lzdGVyIDIgKi8KICAgICBGTVBJMkNfUkVTRVRfQ1IyKGhmbXBpMmMpOwogCi0gICAgaGZtcGkyYy0+RXJyb3JDb2RlIHw9IEhBTF9GTVBJMkNfRVJST1JfQUY7CisgICAgaGZtcGkyYy0+RXJyb3JDb2RlIHw9IGVycm9yX2NvZGU7CiAgICAgaGZtcGkyYy0+U3RhdGUgPSBIQUxfRk1QSTJDX1NUQVRFX1JFQURZOwogICAgIGhmbXBpMmMtPk1vZGUgPSBIQUxfRk1QSTJDX01PREVfTk9ORTsKIAogICAgIC8qIFByb2Nlc3MgVW5sb2NrZWQgKi8KICAgICBfX0hBTF9VTkxPQ0soaGZtcGkyYyk7Ci0KLSAgICByZXR1cm4gSEFMX0VSUk9SOwogICB9Ci0gIHJldHVybiBIQUxfT0s7CisKKyAgcmV0dXJuIHN0YXR1czsKIH0KIAogLyoqCkBAIC02NjIyLDE0ICs2NjczLDE2IEBACiAgIGFzc2VydF9wYXJhbShJU19UUkFOU0ZFUl9NT0RFKE1vZGUpKTsKICAgYXNzZXJ0X3BhcmFtKElTX1RSQU5TRkVSX1JFUVVFU1QoUmVxdWVzdCkpOwogCisgIC8qIERlY2xhcmF0aW9uIG9mIHRtcCB0byBwcmV2ZW50IHVuZGVmaW5lZCBiZWhhdmlvciBvZiB2b2xhdGlsZSB1c2FnZSAqLworICB1aW50MzJfdCB0bXAgPSAoKHVpbnQzMl90KSgoKHVpbnQzMl90KURldkFkZHJlc3MgJiBGTVBJMkNfQ1IyX1NBREQpIHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KVNpemUgPDwgRk1QSTJDX0NSMl9OQllURVNfUG9zKSAmIEZNUEkyQ19DUjJfTkJZVEVTKSB8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh1aW50MzJfdClNb2RlIHwgKHVpbnQzMl90KVJlcXVlc3QpICYgKH4weDgwMDAwMDAwVSkpOworCiAgIC8qIHVwZGF0ZSBDUjIgcmVnaXN0ZXIgKi8KLSAgTU9ESUZZX1JFRyhoZm1waTJjLT5JbnN0YW5jZS0+Q1IyLAorICBNT0RJRllfUkVHKGhmbXBpMmMtPkluc3RhbmNlLT5DUjIsIFwKICAgICAgICAgICAgICAoKEZNUEkyQ19DUjJfU0FERCB8IEZNUEkyQ19DUjJfTkJZVEVTIHwgRk1QSTJDX0NSMl9SRUxPQUQgfCBGTVBJMkNfQ1IyX0FVVE9FTkQgfCBcCiAgICAgICAgICAgICAgICAoRk1QSTJDX0NSMl9SRF9XUk4gJiAodWludDMyX3QpKFJlcXVlc3QgPj4gKDMxVSAtIEZNUEkyQ19DUjJfUkRfV1JOX1BvcykpKSB8IFwKLSAgICAgICAgICAgICAgICAgRk1QSTJDX0NSMl9TVEFSVCB8IEZNUEkyQ19DUjJfU1RPUCkpLCBcCi0gICAgICAgICAgICAgKHVpbnQzMl90KSgoKHVpbnQzMl90KURldkFkZHJlc3MgJiBGTVBJMkNfQ1IyX1NBREQpIHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpU2l6ZSA8PCBGTVBJMkNfQ1IyX05CWVRFU19Qb3MpICYgRk1QSTJDX0NSMl9OQllURVMpIHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgKHVpbnQzMl90KU1vZGUgfCAodWludDMyX3QpUmVxdWVzdCkpOworICAgICAgICAgICAgICAgIEZNUEkyQ19DUjJfU1RBUlQgfCBGTVBJMkNfQ1IyX1NUT1ApKSwgdG1wKTsKIH0KIAogLyoqCkBAIC02ODA5LDUgKzY4NjIsMyBAQAogLyoqCiAgICogQH0KICAgKi8KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKiAoQykgQ09QWVJJR0hUIFNUTWljcm9lbGVjdHJvbmljcyAqKioqKkVORCBPRiBGSUxFKioqKi8KZGlmZiAtLWdpdCBhL1NyYy9zdG0zMmY0eHhfaGFsX2ZtcGkyY19leC5jIGIvU3JjL3N0bTMyZjR4eF9oYWxfZm1waTJjX2V4LmMKaW5kZXggMGE4ZjcyYy4uMjY3YTllZiAxMDA2NDQKLS0tIGEvU3JjL3N0bTMyZjR4eF9oYWxfZm1waTJjX2V4LmMKKysrIGIvU3JjL3N0bTMyZjR4eF9oYWxfZm1waTJjX2V4LmMKQEAgLTgsNiArOCwxNyBAQAogICAqICAgICAgICAgICArIEZpbHRlciBNb2RlIEZ1bmN0aW9ucwogICAqICAgICAgICAgICArIEZhc3RNb2RlUGx1cyBGdW5jdGlvbnMKICAgKgorICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAgKiBAYXR0ZW50aW9uCisgICoKKyAgKiBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgorICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgICoKKyAgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIHVuZGVyIHRlcm1zIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUKKyAgKiBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb2Z0d2FyZSBjb21wb25lbnQuCisgICogSWYgbm8gTElDRU5TRSBmaWxlIGNvbWVzIHdpdGggdGhpcyBzb2Z0d2FyZSwgaXQgaXMgcHJvdmlkZWQgQVMtSVMuCisgICoKKyAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgIEB2ZXJiYXRpbQogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgICAgICAgICAgICAgICMjIyMjIEZNUEkyQyBwZXJpcGhlcmFsIEV4dGVuZGVkIGZlYXR1cmVzICAjIyMjIwpAQCAtMjksMTggKzQwLDYgQEAKICAgICAgICAgICAoKyspIEhBTF9GTVBJMkNFeF9FbmFibGVGYXN0TW9kZVBsdXMoKQogICAgICAgICAgICgrKykgSEFMX0ZNUEkyQ0V4X0Rpc2FibGVGYXN0TW9kZVBsdXMoKQogICBAZW5kdmVyYmF0aW0KLSAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gICogQGF0dGVudGlvbgotICAqCi0gICogPGgyPjxjZW50ZXI+JmNvcHk7IENvcHlyaWdodCAoYykgMjAxNiBTVE1pY3JvZWxlY3Ryb25pY3MuCi0gICogQWxsIHJpZ2h0cyByZXNlcnZlZC48L2NlbnRlcj48L2gyPgotICAqCi0gICogVGhpcyBzb2Z0d2FyZSBjb21wb25lbnQgaXMgbGljZW5zZWQgYnkgU1QgdW5kZXIgQlNEIDMtQ2xhdXNlIGxpY2Vuc2UsCi0gICogdGhlICJMaWNlbnNlIjsgWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZQotICAqIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdDoKLSAgKiAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZQotICAqCi0gICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqLwogCiAvKiBJbmNsdWRlcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwpAQCAtMjU3LDUgKzI1NiwzIEBACiAvKioKICAgKiBAfQogICAqLwotCi0vKioqKioqKioqKioqKioqKioqKioqKioqIChDKSBDT1BZUklHSFQgU1RNaWNyb2VsZWN0cm9uaWNzICoqKioqRU5EIE9GIEZJTEUqKioqLwpkaWZmIC0tZ2l0IGEvU3JjL3N0bTMyZjR4eF9oYWxfZm1wc21idXMuYyBiL1NyYy9zdG0zMmY0eHhfaGFsX2ZtcHNtYnVzLmMKaW5kZXggNTc4ZWNjNS4uNzAwZjI1YSAxMDA2NDQKLS0tIGEvU3JjL3N0bTMyZjR4eF9oYWxfZm1wc21idXMuYworKysgYi9TcmMvc3RtMzJmNHh4X2hhbF9mbXBzbWJ1cy5jCkBAIC0xMCw2ICsxMCwxNyBAQAogICAqICAgICAgICAgICArIElPIG9wZXJhdGlvbiBmdW5jdGlvbnMKICAgKiAgICAgICAgICAgKyBQZXJpcGhlcmFsIFN0YXRlIGFuZCBFcnJvcnMgZnVuY3Rpb25zCiAgICoKKyAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgICogQGF0dGVudGlvbgorICAqCisgICogQ29weXJpZ2h0IChjKSAyMDE2IFNUTWljcm9lbGVjdHJvbmljcy4KKyAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICAqCisgICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciB0ZXJtcyB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlCisgICogaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc29mdHdhcmUgY29tcG9uZW50LgorICAqIElmIG5vIExJQ0VOU0UgZmlsZSBjb21lcyB3aXRoIHRoaXMgc29mdHdhcmUsIGl0IGlzIHByb3ZpZGVkIEFTLUlTLgorICAqCisgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICBAdmVyYmF0aW0KICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAgICAgICAgICAgICAgICAgICAgICAjIyMjIyBIb3cgdG8gdXNlIHRoaXMgZHJpdmVyICMjIyMjCkBAIC00NCwzNSArNTUsNDEgQEAKICAgICAqKiogSW50ZXJydXB0IG1vZGUgSU8gb3BlcmF0aW9uICoqKgogICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAgWy4uXQotICAgICAgKCspIFRyYW5zbWl0IGluIG1hc3Rlci9ob3N0IEZNUFNNQlVTIG1vZGUgYW4gYW1vdW50IG9mIGRhdGEgaW4gbm9uLWJsb2NraW5nIG1vZGUgdXNpbmcgSEFMX0ZNUFNNQlVTX01hc3Rlcl9UcmFuc21pdF9JVCgpCi0gICAgICAoKyspIEF0IHRyYW5zbWlzc2lvbiBlbmQgb2YgdHJhbnNmZXIgSEFMX0ZNUFNNQlVTX01hc3RlclR4Q3BsdENhbGxiYWNrKCkgaXMgZXhlY3V0ZWQgYW5kIHVzZXIgY2FuCi0gICAgICAgICAgIGFkZCBoaXMgb3duIGNvZGUgYnkgY3VzdG9taXphdGlvbiBvZiBmdW5jdGlvbiBwb2ludGVyIEhBTF9GTVBTTUJVU19NYXN0ZXJUeENwbHRDYWxsYmFjaygpCi0gICAgICAoKykgUmVjZWl2ZSBpbiBtYXN0ZXIvaG9zdCBGTVBTTUJVUyBtb2RlIGFuIGFtb3VudCBvZiBkYXRhIGluIG5vbi1ibG9ja2luZyBtb2RlIHVzaW5nIEhBTF9GTVBTTUJVU19NYXN0ZXJfUmVjZWl2ZV9JVCgpCi0gICAgICAoKyspIEF0IHJlY2VwdGlvbiBlbmQgb2YgdHJhbnNmZXIgSEFMX0ZNUFNNQlVTX01hc3RlclJ4Q3BsdENhbGxiYWNrKCkgaXMgZXhlY3V0ZWQgYW5kIHVzZXIgY2FuCi0gICAgICAgICAgIGFkZCBoaXMgb3duIGNvZGUgYnkgY3VzdG9taXphdGlvbiBvZiBmdW5jdGlvbiBwb2ludGVyIEhBTF9GTVBTTUJVU19NYXN0ZXJSeENwbHRDYWxsYmFjaygpCisgICAgICAoKykgVHJhbnNtaXQgaW4gbWFzdGVyL2hvc3QgRk1QU01CVVMgbW9kZSBhbiBhbW91bnQgb2YgZGF0YSBpbiBub24tYmxvY2tpbmcgbW9kZQorICAgICAgICAgIHVzaW5nIEhBTF9GTVBTTUJVU19NYXN0ZXJfVHJhbnNtaXRfSVQoKQorICAgICAgKCsrKSBBdCB0cmFuc21pc3Npb24gZW5kIG9mIHRyYW5zZmVyIEhBTF9GTVBTTUJVU19NYXN0ZXJUeENwbHRDYWxsYmFjaygpIGlzIGV4ZWN1dGVkIGFuZCB1c2VycyBjYW4KKyAgICAgICAgICAgYWRkIHRoZWlyIG93biBjb2RlIGJ5IGN1c3RvbWl6YXRpb24gb2YgZnVuY3Rpb24gcG9pbnRlciBIQUxfRk1QU01CVVNfTWFzdGVyVHhDcGx0Q2FsbGJhY2soKQorICAgICAgKCspIFJlY2VpdmUgaW4gbWFzdGVyL2hvc3QgRk1QU01CVVMgbW9kZSBhbiBhbW91bnQgb2YgZGF0YSBpbiBub24tYmxvY2tpbmcgbW9kZQorICAgICAgICAgIHVzaW5nIEhBTF9GTVBTTUJVU19NYXN0ZXJfUmVjZWl2ZV9JVCgpCisgICAgICAoKyspIEF0IHJlY2VwdGlvbiBlbmQgb2YgdHJhbnNmZXIgSEFMX0ZNUFNNQlVTX01hc3RlclJ4Q3BsdENhbGxiYWNrKCkgaXMgZXhlY3V0ZWQgYW5kIHVzZXJzIGNhbgorICAgICAgICAgICBhZGQgdGhlaXIgb3duIGNvZGUgYnkgY3VzdG9taXphdGlvbiBvZiBmdW5jdGlvbiBwb2ludGVyIEhBTF9GTVBTTUJVU19NYXN0ZXJSeENwbHRDYWxsYmFjaygpCiAgICAgICAoKykgQWJvcnQgYSBtYXN0ZXIvaG9zdCBGTVBTTUJVUyBwcm9jZXNzIGNvbW11bmljYXRpb24gd2l0aCBJbnRlcnJ1cHQgdXNpbmcgSEFMX0ZNUFNNQlVTX01hc3Rlcl9BYm9ydF9JVCgpCiAgICAgICAoKyspIFRoZSBhc3NvY2lhdGVkIHByZXZpb3VzIHRyYW5zZmVyIGNhbGxiYWNrIGlzIGNhbGxlZCBhdCB0aGUgZW5kIG9mIGFib3J0IHByb2Nlc3MKICAgICAgICgrKykgbWVhbiBIQUxfRk1QU01CVVNfTWFzdGVyVHhDcGx0Q2FsbGJhY2soKSBpbiBjYXNlIG9mIHByZXZpb3VzIHN0YXRlIHdhcyBtYXN0ZXIgdHJhbnNtaXQKICAgICAgICgrKykgbWVhbiBIQUxfRk1QU01CVVNfTWFzdGVyUnhDcGx0Q2FsbGJhY2soKSBpbiBjYXNlIG9mIHByZXZpb3VzIHN0YXRlIHdhcyBtYXN0ZXIgcmVjZWl2ZQogICAgICAgKCspIEVuYWJsZS9kaXNhYmxlIHRoZSBBZGRyZXNzIGxpc3RlbiBtb2RlIGluIHNsYXZlL2RldmljZSBvciBob3N0L3NsYXZlIEZNUFNNQlVTIG1vZGUKICAgICAgICAgICAgdXNpbmcgSEFMX0ZNUFNNQlVTX0VuYWJsZUxpc3Rlbl9JVCgpIEhBTF9GTVBTTUJVU19EaXNhYmxlTGlzdGVuX0lUKCkKLSAgICAgICgrKykgV2hlbiBhZGRyZXNzIHNsYXZlL2RldmljZSBGTVBTTUJVUyBtYXRjaCwgSEFMX0ZNUFNNQlVTX0FkZHJDYWxsYmFjaygpIGlzIGV4ZWN1dGVkIGFuZCB1c2VyIGNhbgotICAgICAgICAgICBhZGQgaGlzIG93biBjb2RlIHRvIGNoZWNrIHRoZSBBZGRyZXNzIE1hdGNoIENvZGUgYW5kIHRoZSB0cmFuc21pc3Npb24gZGlyZWN0aW9uIHJlcXVlc3QgYnkgbWFzdGVyL2hvc3QgKFdyaXRlL1JlYWQpLgotICAgICAgKCsrKSBBdCBMaXN0ZW4gbW9kZSBlbmQgSEFMX0ZNUFNNQlVTX0xpc3RlbkNwbHRDYWxsYmFjaygpIGlzIGV4ZWN1dGVkIGFuZCB1c2VyIGNhbgotICAgICAgICAgICBhZGQgaGlzIG93biBjb2RlIGJ5IGN1c3RvbWl6YXRpb24gb2YgZnVuY3Rpb24gcG9pbnRlciBIQUxfRk1QU01CVVNfTGlzdGVuQ3BsdENhbGxiYWNrKCkKLSAgICAgICgrKSBUcmFuc21pdCBpbiBzbGF2ZS9kZXZpY2UgRk1QU01CVVMgbW9kZSBhbiBhbW91bnQgb2YgZGF0YSBpbiBub24tYmxvY2tpbmcgbW9kZSB1c2luZyBIQUxfRk1QU01CVVNfU2xhdmVfVHJhbnNtaXRfSVQoKQotICAgICAgKCsrKSBBdCB0cmFuc21pc3Npb24gZW5kIG9mIHRyYW5zZmVyIEhBTF9GTVBTTUJVU19TbGF2ZVR4Q3BsdENhbGxiYWNrKCkgaXMgZXhlY3V0ZWQgYW5kIHVzZXIgY2FuCi0gICAgICAgICAgIGFkZCBoaXMgb3duIGNvZGUgYnkgY3VzdG9taXphdGlvbiBvZiBmdW5jdGlvbiBwb2ludGVyIEhBTF9GTVBTTUJVU19TbGF2ZVR4Q3BsdENhbGxiYWNrKCkKLSAgICAgICgrKSBSZWNlaXZlIGluIHNsYXZlL2RldmljZSBGTVBTTUJVUyBtb2RlIGFuIGFtb3VudCBvZiBkYXRhIGluIG5vbi1ibG9ja2luZyBtb2RlIHVzaW5nIEhBTF9GTVBTTUJVU19TbGF2ZV9SZWNlaXZlX0lUKCkKLSAgICAgICgrKykgQXQgcmVjZXB0aW9uIGVuZCBvZiB0cmFuc2ZlciBIQUxfRk1QU01CVVNfU2xhdmVSeENwbHRDYWxsYmFjaygpIGlzIGV4ZWN1dGVkIGFuZCB1c2VyIGNhbgotICAgICAgICAgICBhZGQgaGlzIG93biBjb2RlIGJ5IGN1c3RvbWl6YXRpb24gb2YgZnVuY3Rpb24gcG9pbnRlciBIQUxfRk1QU01CVVNfU2xhdmVSeENwbHRDYWxsYmFjaygpCi0gICAgICAoKykgRW5hYmxlL0Rpc2FibGUgdGhlIEZNUFNNQlVTIGFsZXJ0IG1vZGUgdXNpbmcgSEFMX0ZNUFNNQlVTX0VuYWJsZUFsZXJ0X0lUKCkgSEFMX0ZNUFNNQlVTX0Rpc2FibGVBbGVydF9JVCgpCi0gICAgICAoKyspIFdoZW4gRk1QU01CVVMgQWxlcnQgaXMgZ2VuZXJhdGVkIEhBTF9GTVBTTUJVU19FcnJvckNhbGxiYWNrKCkgaXMgZXhlY3V0ZWQgYW5kIHVzZXIgY2FuCi0gICAgICAgICAgIGFkZCBoaXMgb3duIGNvZGUgYnkgY3VzdG9taXphdGlvbiBvZiBmdW5jdGlvbiBwb2ludGVyIEhBTF9GTVBTTUJVU19FcnJvckNhbGxiYWNrKCkKKyAgICAgICgrKykgV2hlbiBhZGRyZXNzIHNsYXZlL2RldmljZSBGTVBTTUJVUyBtYXRjaCwgSEFMX0ZNUFNNQlVTX0FkZHJDYWxsYmFjaygpIGlzIGV4ZWN1dGVkIGFuZCB1c2VycyBjYW4KKyAgICAgICAgICAgYWRkIHRoZWlyIG93biBjb2RlIHRvIGNoZWNrIHRoZSBBZGRyZXNzIE1hdGNoIENvZGUgYW5kIHRoZSB0cmFuc21pc3Npb24gZGlyZWN0aW9uCisgICAgICAgICAgIHJlcXVlc3QgYnkgbWFzdGVyL2hvc3QgKFdyaXRlL1JlYWQpLgorICAgICAgKCsrKSBBdCBMaXN0ZW4gbW9kZSBlbmQgSEFMX0ZNUFNNQlVTX0xpc3RlbkNwbHRDYWxsYmFjaygpIGlzIGV4ZWN1dGVkIGFuZCB1c2VycyBjYW4KKyAgICAgICAgICAgYWRkIHRoZWlyIG93biBjb2RlIGJ5IGN1c3RvbWl6YXRpb24gb2YgZnVuY3Rpb24gcG9pbnRlciBIQUxfRk1QU01CVVNfTGlzdGVuQ3BsdENhbGxiYWNrKCkKKyAgICAgICgrKSBUcmFuc21pdCBpbiBzbGF2ZS9kZXZpY2UgRk1QU01CVVMgbW9kZSBhbiBhbW91bnQgb2YgZGF0YSBpbiBub24tYmxvY2tpbmcgbW9kZQorICAgICAgICAgIHVzaW5nIEhBTF9GTVBTTUJVU19TbGF2ZV9UcmFuc21pdF9JVCgpCisgICAgICAoKyspIEF0IHRyYW5zbWlzc2lvbiBlbmQgb2YgdHJhbnNmZXIgSEFMX0ZNUFNNQlVTX1NsYXZlVHhDcGx0Q2FsbGJhY2soKSBpcyBleGVjdXRlZCBhbmQgdXNlcnMgY2FuCisgICAgICAgICAgIGFkZCB0aGVpciBvd24gY29kZSBieSBjdXN0b21pemF0aW9uIG9mIGZ1bmN0aW9uIHBvaW50ZXIgSEFMX0ZNUFNNQlVTX1NsYXZlVHhDcGx0Q2FsbGJhY2soKQorICAgICAgKCspIFJlY2VpdmUgaW4gc2xhdmUvZGV2aWNlIEZNUFNNQlVTIG1vZGUgYW4gYW1vdW50IG9mIGRhdGEgaW4gbm9uLWJsb2NraW5nIG1vZGUKKyAgICAgICAgICB1c2luZyBIQUxfRk1QU01CVVNfU2xhdmVfUmVjZWl2ZV9JVCgpCisgICAgICAoKyspIEF0IHJlY2VwdGlvbiBlbmQgb2YgdHJhbnNmZXIgSEFMX0ZNUFNNQlVTX1NsYXZlUnhDcGx0Q2FsbGJhY2soKSBpcyBleGVjdXRlZCBhbmQgdXNlcnMgY2FuCisgICAgICAgICAgIGFkZCB0aGVpciBvd24gY29kZSBieSBjdXN0b21pemF0aW9uIG9mIGZ1bmN0aW9uIHBvaW50ZXIgSEFMX0ZNUFNNQlVTX1NsYXZlUnhDcGx0Q2FsbGJhY2soKQorICAgICAgKCspIEVuYWJsZS9EaXNhYmxlIHRoZSBGTVBTTUJVUyBhbGVydCBtb2RlIHVzaW5nCisgICAgICAgICAgSEFMX0ZNUFNNQlVTX0VuYWJsZUFsZXJ0X0lUKCkgb3IgSEFMX0ZNUFNNQlVTX0Rpc2FibGVBbGVydF9JVCgpCisgICAgICAoKyspIFdoZW4gRk1QU01CVVMgQWxlcnQgaXMgZ2VuZXJhdGVkIEhBTF9GTVBTTUJVU19FcnJvckNhbGxiYWNrKCkgaXMgZXhlY3V0ZWQgYW5kIHVzZXJzIGNhbgorICAgICAgICAgICBhZGQgdGhlaXIgb3duIGNvZGUgYnkgY3VzdG9taXphdGlvbiBvZiBmdW5jdGlvbiBwb2ludGVyIEhBTF9GTVBTTUJVU19FcnJvckNhbGxiYWNrKCkKICAgICAgICAgICAgdG8gY2hlY2sgdGhlIEFsZXJ0IEVycm9yIENvZGUgdXNpbmcgZnVuY3Rpb24gSEFMX0ZNUFNNQlVTX0dldEVycm9yKCkKICAgICAgICgrKSBHZXQgSEFMIHN0YXRlIG1hY2hpbmUgb3IgZXJyb3IgdmFsdWVzIHVzaW5nIEhBTF9GTVBTTUJVU19HZXRTdGF0ZSgpIG9yIEhBTF9GTVBTTUJVU19HZXRFcnJvcigpCi0gICAgICAoKykgSW4gY2FzZSBvZiB0cmFuc2ZlciBFcnJvciwgSEFMX0ZNUFNNQlVTX0Vycm9yQ2FsbGJhY2soKSBmdW5jdGlvbiBpcyBleGVjdXRlZCBhbmQgdXNlciBjYW4KLSAgICAgICAgICAgYWRkIGhpcyBvd24gY29kZSBieSBjdXN0b21pemF0aW9uIG9mIGZ1bmN0aW9uIHBvaW50ZXIgSEFMX0ZNUFNNQlVTX0Vycm9yQ2FsbGJhY2soKQorICAgICAgKCspIEluIGNhc2Ugb2YgdHJhbnNmZXIgRXJyb3IsIEhBTF9GTVBTTUJVU19FcnJvckNhbGxiYWNrKCkgZnVuY3Rpb24gaXMgZXhlY3V0ZWQgYW5kIHVzZXJzIGNhbgorICAgICAgICAgICBhZGQgdGhlaXIgb3duIGNvZGUgYnkgY3VzdG9taXphdGlvbiBvZiBmdW5jdGlvbiBwb2ludGVyIEhBTF9GTVBTTUJVU19FcnJvckNhbGxiYWNrKCkKICAgICAgICAgICAgdG8gY2hlY2sgdGhlIEVycm9yIENvZGUgdXNpbmcgZnVuY3Rpb24gSEFMX0ZNUFNNQlVTX0dldEVycm9yKCkKIAogICAgICAqKiogRk1QU01CVVMgSEFMIGRyaXZlciBtYWNyb3MgbGlzdCAqKioKQEAgLTE1MCwxOCArMTY3LDYgQEAKICAgICAgICAoQCkgWW91IGNhbiByZWZlciB0byB0aGUgRk1QU01CVVMgSEFMIGRyaXZlciBoZWFkZXIgZmlsZSBmb3IgbW9yZSB1c2VmdWwgbWFjcm9zCiAKICAgQGVuZHZlcmJhdGltCi0gICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICAqIEBhdHRlbnRpb24KLSAgKgotICAqIDxoMj48Y2VudGVyPiZjb3B5OyBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9jZW50ZXI+PC9oMj4KLSAgKgotICAqIFRoaXMgc29mdHdhcmUgY29tcG9uZW50IGlzIGxpY2Vuc2VkIGJ5IFNUIHVuZGVyIEJTRCAzLUNsYXVzZSBsaWNlbnNlLAotICAqIHRoZSAiTGljZW5zZSI7IFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUKLSAgKiBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQ6Ci0gICogICAgICAgICAgICAgICAgICAgICAgICBvcGVuc291cmNlLm9yZy9saWNlbnNlcy9CU0QtMy1DbGF1c2UKLSAgKgotICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKi8KIAogLyogSW5jbHVkZXMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KQEAgLTIwNSw3ICsyMTAsNyBAQAogICAqIEB7CiAgICovCiBzdGF0aWMgSEFMX1N0YXR1c1R5cGVEZWYgRk1QU01CVVNfV2FpdE9uRmxhZ1VudGlsVGltZW91dChGTVBTTUJVU19IYW5kbGVUeXBlRGVmICpoZm1wc21idXMsIHVpbnQzMl90IEZsYWcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGbGFnU3RhdHVzIFN0YXR1cywgdWludDMyX3QgVGltZW91dCk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGbGFnU3RhdHVzIFN0YXR1cywgdWludDMyX3QgVGltZW91dCk7CiAKIHN0YXRpYyB2b2lkIEZNUFNNQlVTX0VuYWJsZV9JUlEoRk1QU01CVVNfSGFuZGxlVHlwZURlZiAqaGZtcHNtYnVzLCB1aW50MzJfdCBJbnRlcnJ1cHRSZXF1ZXN0KTsKIHN0YXRpYyB2b2lkIEZNUFNNQlVTX0Rpc2FibGVfSVJRKEZNUFNNQlVTX0hhbmRsZVR5cGVEZWYgKmhmbXBzbWJ1cywgdWludDMyX3QgSW50ZXJydXB0UmVxdWVzdCk7CkBAIC0yMTcsNyArMjIyLDcgQEAKIHN0YXRpYyB2b2lkIEZNUFNNQlVTX0lURXJyb3JIYW5kbGVyKEZNUFNNQlVTX0hhbmRsZVR5cGVEZWYgKmhmbXBzbWJ1cyk7CiAKIHN0YXRpYyB2b2lkIEZNUFNNQlVTX1RyYW5zZmVyQ29uZmlnKEZNUFNNQlVTX0hhbmRsZVR5cGVEZWYgKmhmbXBzbWJ1cywgIHVpbnQxNl90IERldkFkZHJlc3MsIHVpbnQ4X3QgU2l6ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IE1vZGUsIHVpbnQzMl90IFJlcXVlc3QpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgTW9kZSwgdWludDMyX3QgUmVxdWVzdCk7CiAvKioKICAgKiBAfQogICAqLwpAQCAtNTg4LDggKzU5Myw4IEBACiAgICogQHJldHZhbCBIQUwgc3RhdHVzCiAgICovCiBIQUxfU3RhdHVzVHlwZURlZiBIQUxfRk1QU01CVVNfUmVnaXN0ZXJDYWxsYmFjayhGTVBTTUJVU19IYW5kbGVUeXBlRGVmICpoZm1wc21idXMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUxfRk1QU01CVVNfQ2FsbGJhY2tJRFR5cGVEZWYgQ2FsbGJhY2tJRCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBGTVBTTUJVU19DYWxsYmFja1R5cGVEZWYgcENhbGxiYWNrKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX0ZNUFNNQlVTX0NhbGxiYWNrSURUeXBlRGVmIENhbGxiYWNrSUQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwRk1QU01CVVNfQ2FsbGJhY2tUeXBlRGVmIHBDYWxsYmFjaykKIHsKICAgSEFMX1N0YXR1c1R5cGVEZWYgc3RhdHVzID0gSEFMX09LOwogCkBAIC03MDMsNyArNzA4LDcgQEAKICAgKiBAcmV0dmFsIEhBTCBzdGF0dXMKICAgKi8KIEhBTF9TdGF0dXNUeXBlRGVmIEhBTF9GTVBTTUJVU19VblJlZ2lzdGVyQ2FsbGJhY2soRk1QU01CVVNfSGFuZGxlVHlwZURlZiAqaGZtcHNtYnVzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQUxfRk1QU01CVVNfQ2FsbGJhY2tJRFR5cGVEZWYgQ2FsbGJhY2tJRCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX0ZNUFNNQlVTX0NhbGxiYWNrSURUeXBlRGVmIENhbGxiYWNrSUQpCiB7CiAgIEhBTF9TdGF0dXNUeXBlRGVmIHN0YXR1cyA9IEhBTF9PSzsKIApAQCAtNzk5LDcgKzgwNCw3IEBACiAgICogQHJldHZhbCBIQUwgc3RhdHVzCiAgICovCiBIQUxfU3RhdHVzVHlwZURlZiBIQUxfRk1QU01CVVNfUmVnaXN0ZXJBZGRyQ2FsbGJhY2soRk1QU01CVVNfSGFuZGxlVHlwZURlZiAqaGZtcHNtYnVzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBGTVBTTUJVU19BZGRyQ2FsbGJhY2tUeXBlRGVmIHBDYWxsYmFjaykKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwRk1QU01CVVNfQWRkckNhbGxiYWNrVHlwZURlZiBwQ2FsbGJhY2spCiB7CiAgIEhBTF9TdGF0dXNUeXBlRGVmIHN0YXR1cyA9IEhBTF9PSzsKIApAQCAtOTI0LDcgKzkyOSw3IEBACiAgICogQHJldHZhbCBIQUwgc3RhdHVzCiAgICovCiBIQUxfU3RhdHVzVHlwZURlZiBIQUxfRk1QU01CVVNfTWFzdGVyX1RyYW5zbWl0X0lUKEZNUFNNQlVTX0hhbmRsZVR5cGVEZWYgKmhmbXBzbWJ1cywgdWludDE2X3QgRGV2QWRkcmVzcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDhfdCAqcERhdGEsIHVpbnQxNl90IFNpemUsIHVpbnQzMl90IFhmZXJPcHRpb25zKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90ICpwRGF0YSwgdWludDE2X3QgU2l6ZSwgdWludDMyX3QgWGZlck9wdGlvbnMpCiB7CiAgIHVpbnQzMl90IHRtcDsKIApAQCAtOTc5LDcgKzk4NCw3IEBACiAgICAgICAgICAgKElTX0ZNUFNNQlVTX1RSQU5TRkVSX09USEVSX09QVElPTlNfUkVRVUVTVCh0bXApID09IDApKQogICAgICAgewogICAgICAgICBGTVBTTUJVU19UcmFuc2ZlckNvbmZpZyhoZm1wc21idXMsIERldkFkZHJlc3MsICh1aW50OF90KWhmbXBzbWJ1cy0+WGZlclNpemUsIGhmbXBzbWJ1cy0+WGZlck9wdGlvbnMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZNUFNNQlVTX05PX1NUQVJUU1RPUCk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZNUFNNQlVTX05PX1NUQVJUU1RPUCk7CiAgICAgICB9CiAgICAgICAvKiBFbHNlIHRyYW5zZmVyIGRpcmVjdGlvbiBjaGFuZ2UsIHNvIGdlbmVyYXRlIFJlc3RhcnQgd2l0aCBuZXcgdHJhbnNmZXIgZGlyZWN0aW9uICovCiAgICAgICBlbHNlCkBAIC0xMDg2LDcgKzEwOTEsNyBAQAogICAgICAgICAgIChJU19GTVBTTUJVU19UUkFOU0ZFUl9PVEhFUl9PUFRJT05TX1JFUVVFU1QodG1wKSA9PSAwKSkKICAgICAgIHsKICAgICAgICAgRk1QU01CVVNfVHJhbnNmZXJDb25maWcoaGZtcHNtYnVzLCBEZXZBZGRyZXNzLCAodWludDhfdCloZm1wc21idXMtPlhmZXJTaXplLCBoZm1wc21idXMtPlhmZXJPcHRpb25zLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGTVBTTUJVU19OT19TVEFSVFNUT1ApOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGTVBTTUJVU19OT19TVEFSVFNUT1ApOwogICAgICAgfQogICAgICAgLyogRWxzZSB0cmFuc2ZlciBkaXJlY3Rpb24gY2hhbmdlLCBzbyBnZW5lcmF0ZSBSZXN0YXJ0IHdpdGggbmV3IHRyYW5zZmVyIGRpcmVjdGlvbiAqLwogICAgICAgZWxzZQpAQCAtMTI0OCw3ICsxMjUzLDcgQEAKICAgICB7CiAgICAgICAvKiBTZXQgTkJZVEUgdG8gdHJhbnNtaXQgKi8KICAgICAgIEZNUFNNQlVTX1RyYW5zZmVyQ29uZmlnKGhmbXBzbWJ1cywgMCwgKHVpbnQ4X3QpaGZtcHNtYnVzLT5YZmVyU2l6ZSwgaGZtcHNtYnVzLT5YZmVyT3B0aW9ucywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZNUFNNQlVTX05PX1NUQVJUU1RPUCk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICBGTVBTTUJVU19OT19TVEFSVFNUT1ApOwogCiAgICAgICAvKiBJZiBQRUMgbW9kZSBpcyBlbmFibGUsIHNpemUgdG8gdHJhbnNtaXQgc2hvdWxkIGJlIFNpemUtMSBieXRlLCBjb3JyZXNwb25kaW5nIHRvIFBFQyBieXRlICovCiAgICAgICAvKiBQRUMgYnl0ZSBpcyBhdXRvbWF0aWNhbGx5IHNlbnQgYnkgSFcgYmxvY2ssIG5vIG5lZWQgdG8gbWFuYWdlIGl0IGluIFRyYW5zbWl0IHByb2Nlc3MgKi8KQEAgLTEzMzUsNyArMTM0MCw3IEBACiAgICAgaWYgKCgoRk1QU01CVVNfR0VUX1BFQ19NT0RFKGhmbXBzbWJ1cykgIT0gMFVMKSAmJiAoaGZtcHNtYnVzLT5YZmVyU2l6ZSA9PSAyVSkpIHx8IChoZm1wc21idXMtPlhmZXJTaXplID09IDFVKSkKICAgICB7CiAgICAgICBGTVBTTUJVU19UcmFuc2ZlckNvbmZpZyhoZm1wc21idXMsIDAsICh1aW50OF90KWhmbXBzbWJ1cy0+WGZlclNpemUsIGhmbXBzbWJ1cy0+WGZlck9wdGlvbnMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGTVBTTUJVU19OT19TVEFSVFNUT1ApOworICAgICAgICAgICAgICAgICAgICAgICAgICAgRk1QU01CVVNfTk9fU1RBUlRTVE9QKTsKICAgICB9CiAgICAgZWxzZQogICAgIHsKQEAgLTE1OTksNyArMTYwNCw3IEBACiAKICAgLyogRk1QU01CVVMgaW4gbW9kZSBUcmFuc21pdHRlciAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogICBpZiAoKEZNUFNNQlVTX0NIRUNLX0lUX1NPVVJDRSh0bXBjcjF2YWx1ZSwgKEZNUFNNQlVTX0lUX1RDSSB8IEZNUFNNQlVTX0lUX1NUT1BJIHwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRk1QU01CVVNfSVRfTkFDS0kgfCBGTVBTTUJVU19JVF9UWEkpKSAhPSBSRVNFVCkgJiYKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGTVBTTUJVU19JVF9OQUNLSSB8IEZNUFNNQlVTX0lUX1RYSSkpICE9IFJFU0VUKSAmJgogICAgICAgKChGTVBTTUJVU19DSEVDS19GTEFHKHRtcGlzcnZhbHVlLCBGTVBTTUJVU19GTEFHX1RYSVMpICE9IFJFU0VUKSB8fAogICAgICAgIChGTVBTTUJVU19DSEVDS19GTEFHKHRtcGlzcnZhbHVlLCBGTVBTTUJVU19GTEFHX1RDUikgIT0gUkVTRVQpIHx8CiAgICAgICAgKEZNUFNNQlVTX0NIRUNLX0ZMQUcodG1waXNydmFsdWUsIEZNUFNNQlVTX0ZMQUdfVEMpICE9IFJFU0VUKSB8fApAQCAtMTYyNCw3ICsxNjI5LDcgQEAKIAogICAvKiBGTVBTTUJVUyBpbiBtb2RlIFJlY2VpdmVyIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogICBpZiAoKEZNUFNNQlVTX0NIRUNLX0lUX1NPVVJDRSh0bXBjcjF2YWx1ZSwgKEZNUFNNQlVTX0lUX1RDSSB8IEZNUFNNQlVTX0lUX1NUT1BJIHwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRk1QU01CVVNfSVRfTkFDS0kgfCBGTVBTTUJVU19JVF9SWEkpKSAhPSBSRVNFVCkgJiYKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGTVBTTUJVU19JVF9OQUNLSSB8IEZNUFNNQlVTX0lUX1JYSSkpICE9IFJFU0VUKSAmJgogICAgICAgKChGTVBTTUJVU19DSEVDS19GTEFHKHRtcGlzcnZhbHVlLCBGTVBTTUJVU19GTEFHX1JYTkUpICE9IFJFU0VUKSB8fAogICAgICAgIChGTVBTTUJVU19DSEVDS19GTEFHKHRtcGlzcnZhbHVlLCBGTVBTTUJVU19GTEFHX1RDUikgIT0gUkVTRVQpIHx8CiAgICAgICAgKEZNUFNNQlVTX0NIRUNLX0ZMQUcodG1waXNydmFsdWUsIEZNUFNNQlVTX0ZMQUdfVEMpICE9IFJFU0VUKSB8fApAQCAtMTc0NSw3ICsxNzUwLDcgQEAKICAgKiBAcmV0dmFsIE5vbmUKICAgKi8KIF9fd2VhayB2b2lkIEhBTF9GTVBTTUJVU19BZGRyQ2FsbGJhY2soRk1QU01CVVNfSGFuZGxlVHlwZURlZiAqaGZtcHNtYnVzLCB1aW50OF90IFRyYW5zZmVyRGlyZWN0aW9uLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MTZfdCBBZGRyTWF0Y2hDb2RlKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MTZfdCBBZGRyTWF0Y2hDb2RlKQogewogICAvKiBQcmV2ZW50IHVudXNlZCBhcmd1bWVudChzKSBjb21waWxhdGlvbiB3YXJuaW5nICovCiAgIFVOVVNFRChoZm1wc21idXMpOwpAQCAtMjAwMCw3ICsyMDA1LDcgQEAKICAgICAgIHsKICAgICAgICAgaGZtcHNtYnVzLT5YZmVyU2l6ZSA9IGhmbXBzbWJ1cy0+WGZlckNvdW50OwogICAgICAgICBGTVBTTUJVU19UcmFuc2ZlckNvbmZpZyhoZm1wc21idXMsIERldkFkZHJlc3MsICh1aW50OF90KWhmbXBzbWJ1cy0+WGZlclNpemUsIGhmbXBzbWJ1cy0+WGZlck9wdGlvbnMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZNUFNNQlVTX05PX1NUQVJUU1RPUCk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZNUFNNQlVTX05PX1NUQVJUU1RPUCk7CiAgICAgICAgIC8qIElmIFBFQyBtb2RlIGlzIGVuYWJsZSwgc2l6ZSB0byB0cmFuc21pdCBzaG91bGQgYmUgU2l6ZS0xIGJ5dGUsIGNvcnJlc3BvbmRpbmcgdG8gUEVDIGJ5dGUgKi8KICAgICAgICAgLyogUEVDIGJ5dGUgaXMgYXV0b21hdGljYWxseSBzZW50IGJ5IEhXIGJsb2NrLCBubyBuZWVkIHRvIG1hbmFnZSBpdCBpbiBUcmFuc21pdCBwcm9jZXNzICovCiAgICAgICAgIGlmIChGTVBTTUJVU19HRVRfUEVDX01PREUoaGZtcHNtYnVzKSAhPSAwVUwpCkBAIC0yMjc1LDcgKzIyODAsNyBAQAogICAgICAgICB7CiAgICAgICAgICAgaGZtcHNtYnVzLT5YZmVyU2l6ZSA9IGhmbXBzbWJ1cy0+WGZlckNvdW50OwogICAgICAgICAgIEZNUFNNQlVTX1RyYW5zZmVyQ29uZmlnKGhmbXBzbWJ1cywgMCwgKHVpbnQ4X3QpaGZtcHNtYnVzLT5YZmVyU2l6ZSwgaGZtcHNtYnVzLT5YZmVyT3B0aW9ucywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGTVBTTUJVU19OT19TVEFSVFNUT1ApOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZNUFNNQlVTX05PX1NUQVJUU1RPUCk7CiAgICAgICAgICAgLyogSWYgUEVDIG1vZGUgaXMgZW5hYmxlLCBzaXplIHRvIHRyYW5zbWl0IHNob3VsZCBiZSBTaXplLTEgYnl0ZSwgY29ycmVzcG9uZGluZyB0byBQRUMgYnl0ZSAqLwogICAgICAgICAgIC8qIFBFQyBieXRlIGlzIGF1dG9tYXRpY2FsbHkgc2VudCBieSBIVyBibG9jaywgbm8gbmVlZCB0byBtYW5hZ2UgaXQgaW4gVHJhbnNtaXQgcHJvY2VzcyAqLwogICAgICAgICAgIGlmIChGTVBTTUJVU19HRVRfUEVDX01PREUoaGZtcHNtYnVzKSAhPSAwVUwpCkBAIC0yNjIwLDcgKzI2MjUsNyBAQAogICAqIEByZXR2YWwgSEFMIHN0YXR1cwogICAqLwogc3RhdGljIEhBTF9TdGF0dXNUeXBlRGVmIEZNUFNNQlVTX1dhaXRPbkZsYWdVbnRpbFRpbWVvdXQoRk1QU01CVVNfSGFuZGxlVHlwZURlZiAqaGZtcHNtYnVzLCB1aW50MzJfdCBGbGFnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRmxhZ1N0YXR1cyBTdGF0dXMsIHVpbnQzMl90IFRpbWVvdXQpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGbGFnU3RhdHVzIFN0YXR1cywgdWludDMyX3QgVGltZW91dCkKIHsKICAgdWludDMyX3QgdGlja3N0YXJ0ID0gSEFMX0dldFRpY2soKTsKIApAQCAtMjY3MCw3ICsyNjc1LDcgQEAKICAgKiBAcmV0dmFsIE5vbmUKICAgKi8KIHN0YXRpYyB2b2lkIEZNUFNNQlVTX1RyYW5zZmVyQ29uZmlnKEZNUFNNQlVTX0hhbmRsZVR5cGVEZWYgKmhmbXBzbWJ1cywgIHVpbnQxNl90IERldkFkZHJlc3MsIHVpbnQ4X3QgU2l6ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IE1vZGUsIHVpbnQzMl90IFJlcXVlc3QpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBNb2RlLCB1aW50MzJfdCBSZXF1ZXN0KQogewogICAvKiBDaGVjayB0aGUgcGFyYW1ldGVycyAqLwogICBhc3NlcnRfcGFyYW0oSVNfRk1QU01CVVNfQUxMX0lOU1RBTkNFKGhmbXBzbWJ1cy0+SW5zdGFuY2UpKTsKQEAgLTI3NDIsNSArMjc0NywzIEBACiAvKioKICAgKiBAfQogICAqLwotCi0vKioqKioqKioqKioqKioqKioqKioqKioqIChDKSBDT1BZUklHSFQgU1RNaWNyb2VsZWN0cm9uaWNzICoqKioqRU5EIE9GIEZJTEUqKioqLwpkaWZmIC0tZ2l0IGEvU3JjL3N0bTMyZjR4eF9oYWxfZm1wc21idXNfZXguYyBiL1NyYy9zdG0zMmY0eHhfaGFsX2ZtcHNtYnVzX2V4LmMKaW5kZXggZTUxNDdjYS4uMTRjYTBiNCAxMDA2NDQKLS0tIGEvU3JjL3N0bTMyZjR4eF9oYWxfZm1wc21idXNfZXguYworKysgYi9TcmMvc3RtMzJmNHh4X2hhbF9mbXBzbWJ1c19leC5jCkBAIC03LDYgKzcsMTcgQEAKICAgKiAgICAgICAgICBmdW5jdGlvbmFsaXRpZXMgb2YgRk1QU01CVVMgRXh0ZW5kZWQgcGVyaXBoZXJhbDoKICAgKiAgICAgICAgICAgKyBFeHRlbmRlZCBmZWF0dXJlcyBmdW5jdGlvbnMKICAgKgorICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAgKiBAYXR0ZW50aW9uCisgICoKKyAgKiBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgorICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgICoKKyAgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIHVuZGVyIHRlcm1zIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUKKyAgKiBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb2Z0d2FyZSBjb21wb25lbnQuCisgICogSWYgbm8gTElDRU5TRSBmaWxlIGNvbWVzIHdpdGggdGhpcyBzb2Z0d2FyZSwgaXQgaXMgcHJvdmlkZWQgQVMtSVMuCisgICoKKyAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgIEB2ZXJiYXRpbQogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgICAgICAgICAgICAgICMjIyMjIEZNUFNNQlVTIHBlcmlwaGVyYWwgRXh0ZW5kZWQgZmVhdHVyZXMgICMjIyMjCkBAIC0yMywxOCArMzQsNiBAQAogICAgICAgICAgICgrKykgSEFMX0ZNUFNNQlVTRXhfRW5hYmxlRmFzdE1vZGVQbHVzKCkKICAgICAgICAgICAoKyspIEhBTF9GTVBTTUJVU0V4X0Rpc2FibGVGYXN0TW9kZVBsdXMoKQogICBAZW5kdmVyYmF0aW0KLSAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gICogQGF0dGVudGlvbgotICAqCi0gICogPGgyPjxjZW50ZXI+JmNvcHk7IENvcHlyaWdodCAoYykgMjAxNiBTVE1pY3JvZWxlY3Ryb25pY3MuCi0gICogQWxsIHJpZ2h0cyByZXNlcnZlZC48L2NlbnRlcj48L2gyPgotICAqCi0gICogVGhpcyBzb2Z0d2FyZSBjb21wb25lbnQgaXMgbGljZW5zZWQgYnkgU1QgdW5kZXIgQlNEIDMtQ2xhdXNlIGxpY2Vuc2UsCi0gICogdGhlICJMaWNlbnNlIjsgWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZQotICAqIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdDoKLSAgKiAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZQotICAqCi0gICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqLwogCiAvKiBJbmNsdWRlcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwpAQCAtMTQ0LDUgKzE0MywzIEBACiAvKioKICAgKiBAfQogICAqLwotCi0vKioqKioqKioqKioqKioqKioqKioqKioqIChDKSBDT1BZUklHSFQgU1RNaWNyb2VsZWN0cm9uaWNzICoqKioqRU5EIE9GIEZJTEUqKioqLwpkaWZmIC0tZ2l0IGEvU3JjL3N0bTMyZjR4eF9oYWxfZ3Bpby5jIGIvU3JjL3N0bTMyZjR4eF9oYWxfZ3Bpby5jCmluZGV4IDQ3MjAzMzkuLmIzY2U5YmIgMTAwNjQ0Ci0tLSBhL1NyYy9zdG0zMmY0eHhfaGFsX2dwaW8uYworKysgYi9TcmMvc3RtMzJmNHh4X2hhbF9ncGlvLmMKQEAgLTgsNiArOCwxNyBAQAogICAqICAgICAgICAgICArIEluaXRpYWxpemF0aW9uIGFuZCBkZS1pbml0aWFsaXphdGlvbiBmdW5jdGlvbnMKICAgKiAgICAgICAgICAgKyBJTyBvcGVyYXRpb24gZnVuY3Rpb25zCiAgICoKKyAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgICogQGF0dGVudGlvbgorICAqCisgICogQ29weXJpZ2h0IChjKSAyMDE3IFNUTWljcm9lbGVjdHJvbmljcy4KKyAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICAqCisgICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciB0ZXJtcyB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlCisgICogaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc29mdHdhcmUgY29tcG9uZW50LgorICAqIElmIG5vIExJQ0VOU0UgZmlsZSBjb21lcyB3aXRoIHRoaXMgc29mdHdhcmUsIGl0IGlzIHByb3ZpZGVkIEFTLUlTLgorICAqCisgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICBAdmVyYmF0aW0KICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAgICAgICAgICAgICAgICAgICMjIyMjIEdQSU8gUGVyaXBoZXJhbCBmZWF0dXJlcyAjIyMjIwpAQCAtOTEsMTcgKzEwMiw2IEBACiAgIAogICBAZW5kdmVyYmF0aW0KICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gICogQGF0dGVudGlvbgotICAqCi0gICogPGgyPjxjZW50ZXI+JmNvcHk7IENvcHlyaWdodCAoYykgMjAxNyBTVE1pY3JvZWxlY3Ryb25pY3MuCi0gICogQWxsIHJpZ2h0cyByZXNlcnZlZC48L2NlbnRlcj48L2gyPgotICAqCi0gICogVGhpcyBzb2Z0d2FyZSBjb21wb25lbnQgaXMgbGljZW5zZWQgYnkgU1QgdW5kZXIgQlNEIDMtQ2xhdXNlIGxpY2Vuc2UsCi0gICogdGhlICJMaWNlbnNlIjsgWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZQotICAqIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdDoKLSAgKiAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZQotICAqCi0gICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqLyAKIAogLyogSW5jbHVkZXMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KQEAgLTI0NSwyMyArMjQ1LDYgQEAKICAgICAgICAgdGVtcCB8PSAoKHVpbnQzMl90KShHUElPX0dFVF9JTkRFWChHUElPeCkpIDw8ICg0VSAqIChwb3NpdGlvbiAmIDB4MDNVKSkpOwogICAgICAgICBTWVNDRkctPkVYVElDUltwb3NpdGlvbiA+PiAyVV0gPSB0ZW1wOwogCi0gICAgICAgIC8qIENsZWFyIEVYVEkgbGluZSBjb25maWd1cmF0aW9uICovCi0gICAgICAgIHRlbXAgPSBFWFRJLT5JTVI7Ci0gICAgICAgIHRlbXAgJj0gfigodWludDMyX3QpaW9jdXJyZW50KTsKLSAgICAgICAgaWYoKEdQSU9fSW5pdC0+TW9kZSAmIEVYVElfSVQpICE9IDB4MDBVKQotICAgICAgICB7Ci0gICAgICAgICAgdGVtcCB8PSBpb2N1cnJlbnQ7Ci0gICAgICAgIH0KLSAgICAgICAgRVhUSS0+SU1SID0gdGVtcDsKLQotICAgICAgICB0ZW1wID0gRVhUSS0+RU1SOwotICAgICAgICB0ZW1wICY9IH4oKHVpbnQzMl90KWlvY3VycmVudCk7Ci0gICAgICAgIGlmKChHUElPX0luaXQtPk1vZGUgJiBFWFRJX0VWVCkgIT0gMHgwMFUpCi0gICAgICAgIHsKLSAgICAgICAgICB0ZW1wIHw9IGlvY3VycmVudDsKLSAgICAgICAgfQotICAgICAgICBFWFRJLT5FTVIgPSB0ZW1wOwotCiAgICAgICAgIC8qIENsZWFyIFJpc2luZyBGYWxsaW5nIGVkZ2UgY29uZmlndXJhdGlvbiAqLwogICAgICAgICB0ZW1wID0gRVhUSS0+UlRTUjsKICAgICAgICAgdGVtcCAmPSB+KCh1aW50MzJfdClpb2N1cnJlbnQpOwpAQCAtMjc4LDYgKzI2MSwyMyBAQAogICAgICAgICAgIHRlbXAgfD0gaW9jdXJyZW50OwogICAgICAgICB9CiAgICAgICAgIEVYVEktPkZUU1IgPSB0ZW1wOworCisgICAgICAgIHRlbXAgPSBFWFRJLT5FTVI7CisgICAgICAgIHRlbXAgJj0gfigodWludDMyX3QpaW9jdXJyZW50KTsKKyAgICAgICAgaWYoKEdQSU9fSW5pdC0+TW9kZSAmIEVYVElfRVZUKSAhPSAweDAwVSkKKyAgICAgICAgeworICAgICAgICAgIHRlbXAgfD0gaW9jdXJyZW50OworICAgICAgICB9CisgICAgICAgIEVYVEktPkVNUiA9IHRlbXA7CisKKyAgICAgICAgLyogQ2xlYXIgRVhUSSBsaW5lIGNvbmZpZ3VyYXRpb24gKi8KKyAgICAgICAgdGVtcCA9IEVYVEktPklNUjsKKyAgICAgICAgdGVtcCAmPSB+KCh1aW50MzJfdClpb2N1cnJlbnQpOworICAgICAgICBpZigoR1BJT19Jbml0LT5Nb2RlICYgRVhUSV9JVCkgIT0gMHgwMFUpCisgICAgICAgIHsKKyAgICAgICAgICB0ZW1wIHw9IGlvY3VycmVudDsKKyAgICAgICAgfQorICAgICAgICBFWFRJLT5JTVIgPSB0ZW1wOwogICAgICAgfQogICAgIH0KICAgfQpAQCAtMzIxLDggKzMyMSw4IEBACiAgICAgICAgIEVYVEktPkVNUiAmPSB+KCh1aW50MzJfdClpb2N1cnJlbnQpOwogICAgICAgICAKICAgICAgICAgLyogQ2xlYXIgUmlzaW5nIEZhbGxpbmcgZWRnZSBjb25maWd1cmF0aW9uICovCi0gICAgICAgIEVYVEktPlJUU1IgJj0gfigodWludDMyX3QpaW9jdXJyZW50KTsKICAgICAgICAgRVhUSS0+RlRTUiAmPSB+KCh1aW50MzJfdClpb2N1cnJlbnQpOworICAgICAgICBFWFRJLT5SVFNSICY9IH4oKHVpbnQzMl90KWlvY3VycmVudCk7CiAKICAgICAgICAgLyogQ29uZmlndXJlIHRoZSBFeHRlcm5hbCBJbnRlcnJ1cHQgb3IgZXZlbnQgZm9yIHRoZSBjdXJyZW50IElPICovCiAgICAgICAgIHRtcCA9IDB4MEZVIDw8ICg0VSAqIChwb3NpdGlvbiAmIDB4MDNVKSk7CkBAIC00MzcsNyArNDM3LDcgQEAKICAgLyogQ2hlY2sgdGhlIHBhcmFtZXRlcnMgKi8KICAgYXNzZXJ0X3BhcmFtKElTX0dQSU9fUElOKEdQSU9fUGluKSk7CiAKLSAgLyogZ2V0IGN1cnJlbnQgT3VwdXQgRGF0YSBSZWdpc3RlciB2YWx1ZSAqLworICAvKiBnZXQgY3VycmVudCBPdXRwdXQgRGF0YSBSZWdpc3RlciB2YWx1ZSAqLwogICBvZHIgPSBHUElPeC0+T0RSOwogCiAgIC8qIFNldCBzZWxlY3RlZCBwaW5zIHRoYXQgd2VyZSBhdCBsb3cgbGV2ZWwsIGFuZCByZXNldCBvbmVzIHRoYXQgd2VyZSBoaWdoICovCkBAIC01MzEsNCArNTMxLDMgQEAKICAgKiBAfQogICAqLwogCi0vKioqKioqKioqKioqKioqKioqKioqKioqIChDKSBDT1BZUklHSFQgU1RNaWNyb2VsZWN0cm9uaWNzICoqKioqRU5EIE9GIEZJTEUqKioqLwpkaWZmIC0tZ2l0IGEvU3JjL3N0bTMyZjR4eF9oYWxfaGFzaC5jIGIvU3JjL3N0bTMyZjR4eF9oYWxfaGFzaC5jCmluZGV4IGM5MDFlMTkuLmYzYWFmZTAgMTAwNjQ0Ci0tLSBhL1NyYy9zdG0zMmY0eHhfaGFsX2hhc2guYworKysgYi9TcmMvc3RtMzJmNHh4X2hhbF9oYXNoLmMKQEAgLTEyLDYgKzEyLDE3IEBACiAgICogICAgICAgICAgICsgUGVyaXBoZXJhbCBTdGF0ZSBtZXRob2RzCiAgICogICAgICAgICAgICsgSEFTSCBvciBITUFDIHByb2Nlc3Npbmcgc3VzcGVuc2lvbi9yZXN1bXB0aW9uCiAgICoKKyAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgICogQGF0dGVudGlvbgorICAqCisgICogQ29weXJpZ2h0IChjKSAyMDE2IFNUTWljcm9lbGVjdHJvbmljcy4KKyAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICAqCisgICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciB0ZXJtcyB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlCisgICogaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc29mdHdhcmUgY29tcG9uZW50LgorICAqIElmIG5vIExJQ0VOU0UgZmlsZSBjb21lcyB3aXRoIHRoaXMgc29mdHdhcmUsIGl0IGlzIHByb3ZpZGVkIEFTLUlTLgorICAqCisgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICBAdmVyYmF0aW0KICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAgICAgICAgICAgICAgICAgICAjIyMjIyBIb3cgdG8gdXNlIHRoaXMgZHJpdmVyICMjIyMjCkBAIC0xNDcsOSArMTU4LDkgQEAKICAgICAgWy4uXQogICAgICAgKCMpIFRoZSBjb21waWxhdGlvbiBkZWZpbmUgIFVTRV9IQUxfSEFTSF9SRUdJU1RFUl9DQUxMQkFDS1Mgd2hlbiBzZXQgdG8gMQogICAgICAgICAgIGFsbG93cyB0aGUgdXNlciB0byBjb25maWd1cmUgZHluYW1pY2FsbHkgdGhlIGRyaXZlciBjYWxsYmFja3MuCi0gICAgICAgICAgVXNlIGZ1bmN0aW9uIEByZWYgSEFMX0hBU0hfUmVnaXN0ZXJDYWxsYmFjaygpIHRvIHJlZ2lzdGVyIGEgdXNlciBjYWxsYmFjay4KKyAgICAgICAgICBVc2UgZnVuY3Rpb24gSEFMX0hBU0hfUmVnaXN0ZXJDYWxsYmFjaygpIHRvIHJlZ2lzdGVyIGEgdXNlciBjYWxsYmFjay4KIAotICAgICAgKCMpIEZ1bmN0aW9uIEByZWYgSEFMX0hBU0hfUmVnaXN0ZXJDYWxsYmFjaygpIGFsbG93cyB0byByZWdpc3RlciBmb2xsb3dpbmcgY2FsbGJhY2tzOgorICAgICAgKCMpIEZ1bmN0aW9uIEhBTF9IQVNIX1JlZ2lzdGVyQ2FsbGJhY2soKSBhbGxvd3MgdG8gcmVnaXN0ZXIgZm9sbG93aW5nIGNhbGxiYWNrczoKICAgICAgICAgICAgICgrKSBJbkNwbHRDYWxsYmFjayAgICA6IGNhbGxiYWNrIGZvciBpbnB1dCBjb21wbGV0aW9uLgogICAgICAgICAgICAgKCspIERnc3RDcGx0Q2FsbGJhY2sgIDogY2FsbGJhY2sgZm9yIGRpZ2VzdCBjb21wdXRhdGlvbiBjb21wbGV0aW9uLgogICAgICAgICAgICAgKCspIEVycm9yQ2FsbGJhY2sgICAgIDogY2FsbGJhY2sgZm9yIGVycm9yLgpAQCAtMTU4LDkgKzE2OSw5IEBACiAgICAgICAgICAgVGhpcyBmdW5jdGlvbiB0YWtlcyBhcyBwYXJhbWV0ZXJzIHRoZSBIQUwgcGVyaXBoZXJhbCBoYW5kbGUsIHRoZSBDYWxsYmFjayBJRAogICAgICAgICAgIGFuZCBhIHBvaW50ZXIgdG8gdGhlIHVzZXIgY2FsbGJhY2sgZnVuY3Rpb24uCiAKLSAgICAgICgjKSBVc2UgZnVuY3Rpb24gQHJlZiBIQUxfSEFTSF9VblJlZ2lzdGVyQ2FsbGJhY2soKSB0byByZXNldCBhIGNhbGxiYWNrIHRvIHRoZSBkZWZhdWx0CisgICAgICAoIykgVXNlIGZ1bmN0aW9uIEhBTF9IQVNIX1VuUmVnaXN0ZXJDYWxsYmFjaygpIHRvIHJlc2V0IGEgY2FsbGJhY2sgdG8gdGhlIGRlZmF1bHQKICAgICAgICAgICB3ZWFrIChzdXJjaGFyZ2VkKSBmdW5jdGlvbi4KLSAgICAgICAgICBAcmVmIEhBTF9IQVNIX1VuUmVnaXN0ZXJDYWxsYmFjaygpIHRha2VzIGFzIHBhcmFtZXRlcnMgdGhlIEhBTCBwZXJpcGhlcmFsIGhhbmRsZSwKKyAgICAgICAgICBIQUxfSEFTSF9VblJlZ2lzdGVyQ2FsbGJhY2soKSB0YWtlcyBhcyBwYXJhbWV0ZXJzIHRoZSBIQUwgcGVyaXBoZXJhbCBoYW5kbGUsCiAgICAgICAgICAgYW5kIHRoZSBDYWxsYmFjayBJRC4KICAgICAgICAgICBUaGlzIGZ1bmN0aW9uIGFsbG93cyB0byByZXNldCBmb2xsb3dpbmcgY2FsbGJhY2tzOgogICAgICAgICAgICAgKCspIEluQ3BsdENhbGxiYWNrICAgIDogY2FsbGJhY2sgZm9yIGlucHV0IGNvbXBsZXRpb24uCkBAIC0xNjksMTMgKzE4MCwxMyBAQAogICAgICAgICAgICAgKCspIE1zcEluaXRDYWxsYmFjayAgIDogSEFTSCBNc3BJbml0LgogICAgICAgICAgICAgKCspIE1zcERlSW5pdENhbGxiYWNrIDogSEFTSCBNc3BEZUluaXQuCiAKLSAgICAgICgjKSBCeSBkZWZhdWx0LCBhZnRlciB0aGUgQHJlZiBIQUxfSEFTSF9Jbml0IGFuZCBpZiB0aGUgc3RhdGUgaXMgSEFMX0hBU0hfU1RBVEVfUkVTRVQKKyAgICAgICgjKSBCeSBkZWZhdWx0LCBhZnRlciB0aGUgSEFMX0hBU0hfSW5pdCBhbmQgaWYgdGhlIHN0YXRlIGlzIEhBTF9IQVNIX1NUQVRFX1JFU0VUCiAgICAgICAgICAgYWxsIGNhbGxiYWNrcyBhcmUgcmVzZXQgdG8gdGhlIGNvcnJlc3BvbmRpbmcgbGVnYWN5IHdlYWsgKHN1cmNoYXJnZWQpIGZ1bmN0aW9uczoKLSAgICAgICAgICBleGFtcGxlcyBAcmVmIEhBTF9IQVNIX0luQ3BsdENhbGxiYWNrKCksIEByZWYgSEFMX0hBU0hfRGdzdENwbHRDYWxsYmFjaygpCisgICAgICAgICAgZXhhbXBsZXMgSEFMX0hBU0hfSW5DcGx0Q2FsbGJhY2soKSwgSEFMX0hBU0hfRGdzdENwbHRDYWxsYmFjaygpCiAgICAgICAgICAgRXhjZXB0aW9uIGRvbmUgZm9yIE1zcEluaXQgYW5kIE1zcERlSW5pdCBjYWxsYmFja3MgdGhhdCBhcmUgcmVzcGVjdGl2ZWx5Ci0gICAgICAgICAgcmVzZXQgdG8gdGhlIGxlZ2FjeSB3ZWFrIChzdXJjaGFyZ2VkKSBmdW5jdGlvbnMgaW4gdGhlIEByZWYgSEFMX0hBU0hfSW5pdAotICAgICAgICAgIGFuZCBAcmVmIEhBTF9IQVNIX0RlSW5pdCBvbmx5IHdoZW4gdGhlc2UgY2FsbGJhY2tzIGFyZSBudWxsIChub3QgcmVnaXN0ZXJlZCBiZWZvcmVoYW5kKQotICAgICAgICAgIElmIG5vdCwgTXNwSW5pdCBvciBNc3BEZUluaXQgYXJlIG5vdCBudWxsLCB0aGUgQHJlZiBIQUxfSEFTSF9Jbml0IGFuZCBAcmVmIEhBTF9IQVNIX0RlSW5pdAorICAgICAgICAgIHJlc2V0IHRvIHRoZSBsZWdhY3kgd2VhayAoc3VyY2hhcmdlZCkgZnVuY3Rpb25zIGluIHRoZSBIQUxfSEFTSF9Jbml0CisgICAgICAgICAgYW5kIEhBTF9IQVNIX0RlSW5pdCBvbmx5IHdoZW4gdGhlc2UgY2FsbGJhY2tzIGFyZSBudWxsIChub3QgcmVnaXN0ZXJlZCBiZWZvcmVoYW5kKQorICAgICAgICAgIElmIG5vdCwgTXNwSW5pdCBvciBNc3BEZUluaXQgYXJlIG5vdCBudWxsLCB0aGUgSEFMX0hBU0hfSW5pdCBhbmQgSEFMX0hBU0hfRGVJbml0CiAgICAgICAgICAga2VlcCBhbmQgdXNlIHRoZSB1c2VyIE1zcEluaXQvTXNwRGVJbml0IGNhbGxiYWNrcyAocmVnaXN0ZXJlZCBiZWZvcmVoYW5kKS4KIAogICAgICAgICAgIENhbGxiYWNrcyBjYW4gYmUgcmVnaXN0ZXJlZC91bnJlZ2lzdGVyZWQgaW4gUkVBRFkgc3RhdGUgb25seS4KQEAgLTE4Myw4ICsxOTQsOCBAQAogICAgICAgICAgIGluIFJFQURZIG9yIFJFU0VUIHN0YXRlLCB0aHVzIHJlZ2lzdGVyZWQgKHVzZXIpIE1zcEluaXQvRGVJbml0IGNhbGxiYWNrcyBjYW4gYmUgdXNlZAogICAgICAgICAgIGR1cmluZyB0aGUgSW5pdC9EZUluaXQuCiAgICAgICAgICAgSW4gdGhhdCBjYXNlIGZpcnN0IHJlZ2lzdGVyIHRoZSBNc3BJbml0L01zcERlSW5pdCB1c2VyIGNhbGxiYWNrcwotICAgICAgICAgIHVzaW5nIEByZWYgSEFMX0hBU0hfUmVnaXN0ZXJDYWxsYmFjayBiZWZvcmUgY2FsbGluZyBAcmVmIEhBTF9IQVNIX0RlSW5pdAotICAgICAgICAgIG9yIEByZWYgSEFMX0hBU0hfSW5pdCBmdW5jdGlvbi4KKyAgICAgICAgICB1c2luZyBIQUxfSEFTSF9SZWdpc3RlckNhbGxiYWNrIGJlZm9yZSBjYWxsaW5nIEhBTF9IQVNIX0RlSW5pdAorICAgICAgICAgIG9yIEhBTF9IQVNIX0luaXQgZnVuY3Rpb24uCiAKICAgICAgICAgICBXaGVuIFRoZSBjb21waWxhdGlvbiBkZWZpbmUgVVNFX0hBTF9IQVNIX1JFR0lTVEVSX0NBTExCQUNLUyBpcyBzZXQgdG8gMCBvcgogICAgICAgICAgIG5vdCBkZWZpbmVkLCB0aGUgY2FsbGJhY2sgcmVnaXN0ZXJpbmcgZmVhdHVyZSBpcyBub3QgYXZhaWxhYmxlCkBAIC0xOTIsMTcgKzIwMyw2IEBACiAKICAgQGVuZHZlcmJhdGltCiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICAqIEBhdHRlbnRpb24KLSAgKgotICAqIDxoMj48Y2VudGVyPiZjb3B5OyBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9jZW50ZXI+PC9oMj4KLSAgKgotICAqIFRoaXMgc29mdHdhcmUgY29tcG9uZW50IGlzIGxpY2Vuc2VkIGJ5IFNUIHVuZGVyIEJTRCAzLUNsYXVzZSBsaWNlbnNlLAotICAqIHRoZSAiTGljZW5zZSI7IFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUKLSAgKiBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQ6Ci0gICogICAgICAgICAgICAgICAgICAgICAgICBvcGVuc291cmNlLm9yZy9saWNlbnNlcy9CU0QtMy1DbGF1c2UKLSAgKgotICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKi8KIAogLyogSW5jbHVkZXMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KQEAgLTE3NjksOCArMTc2OSw2IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoKGJ1ZmZlcnNpemUgJSA0VSkgIT0gMFUpID8gKChidWZmZXJzaXplICsgKDRVIC0gKGJ1ZmZlcnNpemUgJSA0VSkpKSAvIDRVKSA6IFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChidWZmZXJzaXplIC8gNFUpKSk7CiAKLQotCiAgICAgICAvKiBFbmFibGUgRE1BIHJlcXVlc3RzICovCiAgICAgICBTRVRfQklUKEhBU0gtPkNSLCBIQVNIX0NSX0RNQUUpOwogCkBAIC0yOTA5LDggKzI5MDcsOCBAQAogICAgICAgICAgICBVcGRhdGUgSGFzaEluQ291bnQgYW5kIHBIYXNoSW5CdWZmUHRyIGFjY29yZGluZ2x5LiAqLwogICAgICAgICBoaGFzaC0+SGFzaEluQ291bnQgPSBTaXplVmFyOwogICAgICAgICBoaGFzaC0+cEhhc2hJbkJ1ZmZQdHIgPSAodWludDhfdCAqKWlucHV0YWRkcjsKLSAgICAgICAgX19IQUxfSEFTSF9TRVRfTkJWQUxJREJJVFMoCi0gICAgICAgICAgU2l6ZVZhcik7ICAvKiBVcGRhdGUgdGhlIGNvbmZpZ3VyYXRpb24gb2YgdGhlIG51bWJlciBvZiB2YWxpZCBiaXRzIGluIGxhc3Qgd29yZCBvZiB0aGUgbWVzc2FnZSAqLworICAgICAgICAvKiBVcGRhdGUgdGhlIGNvbmZpZ3VyYXRpb24gb2YgdGhlIG51bWJlciBvZiB2YWxpZCBiaXRzIGluIGxhc3Qgd29yZCBvZiB0aGUgbWVzc2FnZSAqLworICAgICAgICBfX0hBTF9IQVNIX1NFVF9OQlZBTElEQklUUyhTaXplVmFyKTsKICAgICAgICAgaGhhc2gtPnBIYXNoT3V0QnVmZlB0ciA9IHBPdXRCdWZmZXI7ICAvKiBQb2ludHMgYXQgdGhlIGNvbXB1dGVkIGRpZ2VzdCAqLwogICAgICAgICBpZiAoaW5pdGlhbGl6YXRpb25fc2tpcHBlZCA9PSAxVSkKICAgICAgICAgewpAQCAtMjk3OCwxMSArMjk3NiwxMSBAQAogICBIQUxfU3RhdHVzVHlwZURlZiBzdGF0dXMgOwogICBIQUxfSEFTSF9TdGF0ZVR5cGVEZWYgU3RhdGVfdG1wID0gaGhhc2gtPlN0YXRlOwogCi0gICNpZiBkZWZpbmVkIChIQVNIX0NSX01ETUFUKQorI2lmIGRlZmluZWQgKEhBU0hfQ1JfTURNQVQpCiAgIC8qIE1ha2Ugc3VyZSB0aGUgaW5wdXQgYnVmZmVyIHNpemUgKGluIGJ5dGVzKSBpcyBhIG11bHRpcGxlIG9mIDQgd2hlbiBNRE1BVCBiaXQgaXMgc2V0CiAgICAgIChjYXNlIG9mIG11bHRpLWJ1ZmZlciBIQVNIIHByb2Nlc3NpbmcpICovCiAgIGFzc2VydF9wYXJhbShJU19IQVNIX0RNQV9NVUxUSUJVRkZFUl9TSVpFKFNpemUpKTsKLSAgI2VuZGlmIC8qIE1ETUEgZGVmaW5lZCovCisjZW5kaWYgLyogTURNQSBkZWZpbmVkKi8KICAgLyogSWYgU3RhdGUgaXMgcmVhZHkgb3Igc3VzcGVuZGVkLCBzdGFydCBvciByZXN1bWUgcG9sbGluZy1iYXNlZCBIQVNIIHByb2Nlc3NpbmcgKi8KICAgaWYgKChTdGF0ZV90bXAgPT0gSEFMX0hBU0hfU1RBVEVfUkVBRFkpIHx8IChTdGF0ZV90bXAgPT0gSEFMX0hBU0hfU1RBVEVfU1VTUEVOREVEKSkKICAgewpAQCAtMzQ3OCw2ICszNDc2LDcgQEAKICAgICBzdGF0dXMgPSBIQUxfRE1BX1N0YXJ0X0lUKGhoYXNoLT5oZG1haW4sIGlucHV0YWRkciwgKHVpbnQzMl90KSZIQVNILT5ESU4sICBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKChpbnB1dFNpemUgJSA0VSkgIT0gMFUpID8gKChpbnB1dFNpemUgKyAoNFUgLSAoaW5wdXRTaXplICUgNFUpKSkgLyA0VSkgXAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAoaW5wdXRTaXplIC8gNFUpKSk7CisKICAgICAvKiBFbmFibGUgRE1BIHJlcXVlc3RzICovCiAgICAgU0VUX0JJVChIQVNILT5DUiwgSEFTSF9DUl9ETUFFKTsKIApAQCAtMzUxMyw2ICszNTEyLDMgQEAKICAgKiBAfQogICAqLwogCi0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKiAoQykgQ09QWVJJR0hUIFNUTWljcm9lbGVjdHJvbmljcyAqKioqKkVORCBPRiBGSUxFKioqKi8KZGlmZiAtLWdpdCBhL1NyYy9zdG0zMmY0eHhfaGFsX2hhc2hfZXguYyBiL1NyYy9zdG0zMmY0eHhfaGFsX2hhc2hfZXguYwppbmRleCBlNzMzZjVhLi42M2NiMzhlIDEwMDY0NAotLS0gYS9TcmMvc3RtMzJmNHh4X2hhbF9oYXNoX2V4LmMKKysrIGIvU3JjL3N0bTMyZjR4eF9oYWxfaGFzaF9leC5jCkBAIC0xNCw2ICsxNCwxNyBAQAogICAqICAgICAgICAgYW5kIFNIQS0yNTYuCiAgICoKICAgKgorICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAgKiBAYXR0ZW50aW9uCisgICoKKyAgKiBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgorICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgICoKKyAgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIHVuZGVyIHRlcm1zIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUKKyAgKiBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb2Z0d2FyZSBjb21wb25lbnQuCisgICogSWYgbm8gTElDRU5TRSBmaWxlIGNvbWVzIHdpdGggdGhpcyBzb2Z0d2FyZSwgaXQgaXMgcHJvdmlkZWQgQVMtSVMuCisgICoKKyAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgIEB2ZXJiYXRpbQogID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgICAgICAgICAgICAgICAgICAgICMjIyMjIEhBU0ggcGVyaXBoZXJhbCBleHRlbmRlZCBmZWF0dXJlcyAgIyMjIyMKQEAgLTY5LDE3ICs4MCw2IEBACiAKICAgQGVuZHZlcmJhdGltCiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICAqIEBhdHRlbnRpb24KLSAgKgotICAqIDxoMj48Y2VudGVyPiZjb3B5OyBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9jZW50ZXI+PC9oMj4KLSAgKgotICAqIFRoaXMgc29mdHdhcmUgY29tcG9uZW50IGlzIGxpY2Vuc2VkIGJ5IFNUIHVuZGVyIEJTRCAzLUNsYXVzZSBsaWNlbnNlLAotICAqIHRoZSAiTGljZW5zZSI7IFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUKLSAgKiBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQ6Ci0gICogICAgICAgICAgICAgICAgICAgICAgICBvcGVuc291cmNlLm9yZy9saWNlbnNlcy9CU0QtMy1DbGF1c2UKLSAgKgotICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKi8KIAogLyogSW5jbHVkZXMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KQEAgLTEwMzgsNiArMTAzOCwzIEBACiAgICogQH0KICAgKi8KIAotCi0KLS8qKioqKioqKioqKioqKioqKioqKioqKiogKEMpIENPUFlSSUdIVCBTVE1pY3JvZWxlY3Ryb25pY3MgKioqKipFTkQgT0YgRklMRSoqKiovCmRpZmYgLS1naXQgYS9TcmMvc3RtMzJmNHh4X2hhbF9oY2QuYyBiL1NyYy9zdG0zMmY0eHhfaGFsX2hjZC5jCmluZGV4IDZhYjRhM2QuLmM3YzViNzAgMTAwNjQ0Ci0tLSBhL1NyYy9zdG0zMmY0eHhfaGFsX2hjZC5jCisrKyBiL1NyYy9zdG0zMmY0eHhfaGFsX2hjZC5jCkBAIC0xMCw2ICsxMCwxNyBAQAogICAqICAgICAgICAgICArIFBlcmlwaGVyYWwgQ29udHJvbCBmdW5jdGlvbnMKICAgKiAgICAgICAgICAgKyBQZXJpcGhlcmFsIFN0YXRlIGZ1bmN0aW9ucwogICAqCisgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICAqIEBhdHRlbnRpb24KKyAgKgorICAqIENvcHlyaWdodCAoYykgMjAxNiBTVE1pY3JvZWxlY3Ryb25pY3MuCisgICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAgKgorICAqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgdW5kZXIgdGVybXMgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZQorICAqIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvZnR3YXJlIGNvbXBvbmVudC4KKyAgKiBJZiBubyBMSUNFTlNFIGZpbGUgY29tZXMgd2l0aCB0aGlzIHNvZnR3YXJlLCBpdCBpcyBwcm92aWRlZCBBUy1JUy4KKyAgKgorICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgQHZlcmJhdGltCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgICAgICAgICAgICAgICAgICAjIyMjIyBIb3cgdG8gdXNlIHRoaXMgZHJpdmVyICMjIyMjCkBAIC00MCwxNyArNTEsNiBAQAogCiAgIEBlbmR2ZXJiYXRpbQogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAgKiBAYXR0ZW50aW9uCi0gICoKLSAgKiA8aDI+PGNlbnRlcj4mY29weTsgQ29weXJpZ2h0IChjKSAyMDE2IFNUTWljcm9lbGVjdHJvbmljcy4KLSAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvY2VudGVyPjwvaDI+Ci0gICoKLSAgKiBUaGlzIHNvZnR3YXJlIGNvbXBvbmVudCBpcyBsaWNlbnNlZCBieSBTVCB1bmRlciBCU0QgMy1DbGF1c2UgbGljZW5zZSwKLSAgKiB0aGUgIkxpY2Vuc2UiOyBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlCi0gICogTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0OgotICAqICAgICAgICAgICAgICAgICAgICAgICAgb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvQlNELTMtQ2xhdXNlCi0gICoKLSAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICovCiAKIC8qIEluY2x1ZGVzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCkBAIC0xMTkyLDEzICsxMTkyLDEzIEBACiAgIGlmICgoVVNCeF9IQyhjaF9udW0pLT5IQ0lOVCAmIFVTQl9PVEdfSENJTlRfQUhCRVJSKSA9PSBVU0JfT1RHX0hDSU5UX0FIQkVSUikKICAgewogICAgIF9fSEFMX0hDRF9DTEVBUl9IQ19JTlQoY2hfbnVtLCBVU0JfT1RHX0hDSU5UX0FIQkVSUik7Ci0gICAgX19IQUxfSENEX1VOTUFTS19IQUxUX0hDX0lOVChjaF9udW0pOworICAgIGhoY2QtPmhjW2NoX251bV0uc3RhdGUgPSBIQ19YQUNURVJSOworICAgICh2b2lkKVVTQl9IQ19IYWx0KGhoY2QtPkluc3RhbmNlLCAodWludDhfdCljaF9udW0pOwogICB9CiAgIGVsc2UgaWYgKChVU0J4X0hDKGNoX251bSktPkhDSU5UICYgVVNCX09UR19IQ0lOVF9CQkVSUikgPT0gVVNCX09UR19IQ0lOVF9CQkVSUikKICAgewogICAgIF9fSEFMX0hDRF9DTEVBUl9IQ19JTlQoY2hfbnVtLCBVU0JfT1RHX0hDSU5UX0JCRVJSKTsKICAgICBoaGNkLT5oY1tjaF9udW1dLnN0YXRlID0gSENfQkJMRVJSOwotICAgIF9fSEFMX0hDRF9VTk1BU0tfSEFMVF9IQ19JTlQoY2hfbnVtKTsKICAgICAodm9pZClVU0JfSENfSGFsdChoaGNkLT5JbnN0YW5jZSwgKHVpbnQ4X3QpY2hfbnVtKTsKICAgfQogICBlbHNlIGlmICgoVVNCeF9IQyhjaF9udW0pLT5IQ0lOVCAmIFVTQl9PVEdfSENJTlRfQUNLKSA9PSBVU0JfT1RHX0hDSU5UX0FDSykKQEAgLTEyMDcsMjYgKzEyMDcsMjEgQEAKICAgfQogICBlbHNlIGlmICgoVVNCeF9IQyhjaF9udW0pLT5IQ0lOVCAmIFVTQl9PVEdfSENJTlRfU1RBTEwpID09IFVTQl9PVEdfSENJTlRfU1RBTEwpCiAgIHsKLSAgICBfX0hBTF9IQ0RfVU5NQVNLX0hBTFRfSENfSU5UKGNoX251bSk7Ci0gICAgaGhjZC0+aGNbY2hfbnVtXS5zdGF0ZSA9IEhDX1NUQUxMOwotICAgIF9fSEFMX0hDRF9DTEVBUl9IQ19JTlQoY2hfbnVtLCBVU0JfT1RHX0hDSU5UX05BSyk7CiAgICAgX19IQUxfSENEX0NMRUFSX0hDX0lOVChjaF9udW0sIFVTQl9PVEdfSENJTlRfU1RBTEwpOworICAgIGhoY2QtPmhjW2NoX251bV0uc3RhdGUgPSBIQ19TVEFMTDsKICAgICAodm9pZClVU0JfSENfSGFsdChoaGNkLT5JbnN0YW5jZSwgKHVpbnQ4X3QpY2hfbnVtKTsKICAgfQogICBlbHNlIGlmICgoVVNCeF9IQyhjaF9udW0pLT5IQ0lOVCAmIFVTQl9PVEdfSENJTlRfRFRFUlIpID09IFVTQl9PVEdfSENJTlRfRFRFUlIpCiAgIHsKLSAgICBfX0hBTF9IQ0RfVU5NQVNLX0hBTFRfSENfSU5UKGNoX251bSk7Ci0gICAgaGhjZC0+aGNbY2hfbnVtXS5zdGF0ZSA9IEhDX0RBVEFUR0xFUlI7Ci0gICAgX19IQUxfSENEX0NMRUFSX0hDX0lOVChjaF9udW0sIFVTQl9PVEdfSENJTlRfTkFLKTsKICAgICBfX0hBTF9IQ0RfQ0xFQVJfSENfSU5UKGNoX251bSwgVVNCX09UR19IQ0lOVF9EVEVSUik7CisgICAgaGhjZC0+aGNbY2hfbnVtXS5zdGF0ZSA9IEhDX0RBVEFUR0xFUlI7CiAgICAgKHZvaWQpVVNCX0hDX0hhbHQoaGhjZC0+SW5zdGFuY2UsICh1aW50OF90KWNoX251bSk7CiAgIH0KICAgZWxzZSBpZiAoKFVTQnhfSEMoY2hfbnVtKS0+SENJTlQgJiBVU0JfT1RHX0hDSU5UX1RYRVJSKSA9PSBVU0JfT1RHX0hDSU5UX1RYRVJSKQogICB7Ci0gICAgX19IQUxfSENEX1VOTUFTS19IQUxUX0hDX0lOVChjaF9udW0pOworICAgIF9fSEFMX0hDRF9DTEVBUl9IQ19JTlQoY2hfbnVtLCBVU0JfT1RHX0hDSU5UX1RYRVJSKTsKICAgICBoaGNkLT5oY1tjaF9udW1dLnN0YXRlID0gSENfWEFDVEVSUjsKICAgICAodm9pZClVU0JfSENfSGFsdChoaGNkLT5JbnN0YW5jZSwgKHVpbnQ4X3QpY2hfbnVtKTsKLSAgICBfX0hBTF9IQ0RfQ0xFQVJfSENfSU5UKGNoX251bSwgVVNCX09UR19IQ0lOVF9UWEVSUik7CiAgIH0KICAgZWxzZQogICB7CkBAIC0xMjM1LDcgKzEyMzAsNiBAQAogCiAgIGlmICgoVVNCeF9IQyhjaF9udW0pLT5IQ0lOVCAmIFVTQl9PVEdfSENJTlRfRlJNT1IpID09IFVTQl9PVEdfSENJTlRfRlJNT1IpCiAgIHsKLSAgICBfX0hBTF9IQ0RfVU5NQVNLX0hBTFRfSENfSU5UKGNoX251bSk7CiAgICAgKHZvaWQpVVNCX0hDX0hhbHQoaGhjZC0+SW5zdGFuY2UsICh1aW50OF90KWNoX251bSk7CiAgICAgX19IQUxfSENEX0NMRUFSX0hDX0lOVChjaF9udW0sIFVTQl9PVEdfSENJTlRfRlJNT1IpOwogICB9CkBAIC0xMjU0LDExICsxMjQ4LDExIEBACiAgICAgaWYgKChoaGNkLT5oY1tjaF9udW1dLmVwX3R5cGUgPT0gRVBfVFlQRV9DVFJMKSB8fAogICAgICAgICAoaGhjZC0+aGNbY2hfbnVtXS5lcF90eXBlID09IEVQX1RZUEVfQlVMSykpCiAgICAgewotICAgICAgX19IQUxfSENEX1VOTUFTS19IQUxUX0hDX0lOVChjaF9udW0pOwogICAgICAgKHZvaWQpVVNCX0hDX0hhbHQoaGhjZC0+SW5zdGFuY2UsICh1aW50OF90KWNoX251bSk7CiAgICAgICBfX0hBTF9IQ0RfQ0xFQVJfSENfSU5UKGNoX251bSwgVVNCX09UR19IQ0lOVF9OQUspOwogICAgIH0KLSAgICBlbHNlIGlmIChoaGNkLT5oY1tjaF9udW1dLmVwX3R5cGUgPT0gRVBfVFlQRV9JTlRSKQorICAgIGVsc2UgaWYgKChoaGNkLT5oY1tjaF9udW1dLmVwX3R5cGUgPT0gRVBfVFlQRV9JTlRSKSB8fAorICAgICAgICAgICAgIChoaGNkLT5oY1tjaF9udW1dLmVwX3R5cGUgPT0gRVBfVFlQRV9JU09DKSkKICAgICB7CiAgICAgICBVU0J4X0hDKGNoX251bSktPkhDQ0hBUiB8PSBVU0JfT1RHX0hDQ0hBUl9PRERGUk07CiAgICAgICBoaGNkLT5oY1tjaF9udW1dLnVyYl9zdGF0ZSA9IFVSQl9ET05FOwpAQCAtMTI2OSwxNyArMTI2Myw2IEBACiAgICAgICBIQUxfSENEX0hDX05vdGlmeVVSQkNoYW5nZV9DYWxsYmFjayhoaGNkLCAodWludDhfdCljaF9udW0sIGhoY2QtPmhjW2NoX251bV0udXJiX3N0YXRlKTsKICNlbmRpZiAvKiBVU0VfSEFMX0hDRF9SRUdJU1RFUl9DQUxMQkFDS1MgKi8KICAgICB9Ci0gICAgZWxzZSBpZiAoaGhjZC0+aGNbY2hfbnVtXS5lcF90eXBlID09IEVQX1RZUEVfSVNPQykKLSAgICB7Ci0gICAgICBoaGNkLT5oY1tjaF9udW1dLnVyYl9zdGF0ZSA9IFVSQl9ET05FOwotICAgICAgaGhjZC0+aGNbY2hfbnVtXS50b2dnbGVfaW4gXj0gMVU7Ci0KLSNpZiAoVVNFX0hBTF9IQ0RfUkVHSVNURVJfQ0FMTEJBQ0tTID09IDFVKQotICAgICAgaGhjZC0+SENfTm90aWZ5VVJCQ2hhbmdlQ2FsbGJhY2soaGhjZCwgKHVpbnQ4X3QpY2hfbnVtLCBoaGNkLT5oY1tjaF9udW1dLnVyYl9zdGF0ZSk7Ci0jZWxzZQotICAgICAgSEFMX0hDRF9IQ19Ob3RpZnlVUkJDaGFuZ2VfQ2FsbGJhY2soaGhjZCwgKHVpbnQ4X3QpY2hfbnVtLCBoaGNkLT5oY1tjaF9udW1dLnVyYl9zdGF0ZSk7Ci0jZW5kaWYgLyogVVNFX0hBTF9IQ0RfUkVHSVNURVJfQ0FMTEJBQ0tTICovCi0gICAgfQogICAgIGVsc2UKICAgICB7CiAgICAgICAvKiAuLi4gKi8KQEAgLTEyOTksOCArMTI4Miw2IEBACiAgIH0KICAgZWxzZSBpZiAoKFVTQnhfSEMoY2hfbnVtKS0+SENJTlQgJiBVU0JfT1RHX0hDSU5UX0NISCkgPT0gVVNCX09UR19IQ0lOVF9DSEgpCiAgIHsKLSAgICBfX0hBTF9IQ0RfTUFTS19IQUxUX0hDX0lOVChjaF9udW0pOwotCiAgICAgaWYgKGhoY2QtPmhjW2NoX251bV0uc3RhdGUgPT0gSENfWEZSQykKICAgICB7CiAgICAgICBoaGNkLT5oY1tjaF9udW1dLnVyYl9zdGF0ZSA9IFVSQl9ET05FOwpAQCAtMTM0OSwxNCArMTMzMCwxOCBAQAogICAgICAgLyogLi4uICovCiAgICAgfQogICAgIF9fSEFMX0hDRF9DTEVBUl9IQ19JTlQoY2hfbnVtLCBVU0JfT1RHX0hDSU5UX0NISCk7CisKKyNpZiAoVVNFX0hBTF9IQ0RfUkVHSVNURVJfQ0FMTEJBQ0tTID09IDFVKQorICAgIGhoY2QtPkhDX05vdGlmeVVSQkNoYW5nZUNhbGxiYWNrKGhoY2QsICh1aW50OF90KWNoX251bSwgaGhjZC0+aGNbY2hfbnVtXS51cmJfc3RhdGUpOworI2Vsc2UKICAgICBIQUxfSENEX0hDX05vdGlmeVVSQkNoYW5nZV9DYWxsYmFjayhoaGNkLCAodWludDhfdCljaF9udW0sIGhoY2QtPmhjW2NoX251bV0udXJiX3N0YXRlKTsKKyNlbmRpZiAvKiBVU0VfSEFMX0hDRF9SRUdJU1RFUl9DQUxMQkFDS1MgKi8KICAgfQogICBlbHNlIGlmICgoVVNCeF9IQyhjaF9udW0pLT5IQ0lOVCAmIFVTQl9PVEdfSENJTlRfTkFLKSA9PSBVU0JfT1RHX0hDSU5UX05BSykKICAgewogICAgIGlmIChoaGNkLT5oY1tjaF9udW1dLmVwX3R5cGUgPT0gRVBfVFlQRV9JTlRSKQogICAgIHsKICAgICAgIGhoY2QtPmhjW2NoX251bV0uRXJyQ250ID0gMFU7Ci0gICAgICBfX0hBTF9IQ0RfVU5NQVNLX0hBTFRfSENfSU5UKGNoX251bSk7CiAgICAgICAodm9pZClVU0JfSENfSGFsdChoaGNkLT5JbnN0YW5jZSwgKHVpbnQ4X3QpY2hfbnVtKTsKICAgICB9CiAgICAgZWxzZSBpZiAoKGhoY2QtPmhjW2NoX251bV0uZXBfdHlwZSA9PSBFUF9UWVBFX0NUUkwpIHx8CkBAIC0xMzY3LDcgKzEzNTIsNiBAQAogICAgICAgaWYgKGhoY2QtPkluaXQuZG1hX2VuYWJsZSA9PSAwVSkKICAgICAgIHsKICAgICAgICAgaGhjZC0+aGNbY2hfbnVtXS5zdGF0ZSA9IEhDX05BSzsKLSAgICAgICAgX19IQUxfSENEX1VOTUFTS19IQUxUX0hDX0lOVChjaF9udW0pOwogICAgICAgICAodm9pZClVU0JfSENfSGFsdChoaGNkLT5JbnN0YW5jZSwgKHVpbnQ4X3QpY2hfbnVtKTsKICAgICAgIH0KICAgICB9CkBAIC0xNDAxLDcgKzEzODUsOCBAQAogICBpZiAoKFVTQnhfSEMoY2hfbnVtKS0+SENJTlQgJiBVU0JfT1RHX0hDSU5UX0FIQkVSUikgPT0gVVNCX09UR19IQ0lOVF9BSEJFUlIpCiAgIHsKICAgICBfX0hBTF9IQ0RfQ0xFQVJfSENfSU5UKGNoX251bSwgVVNCX09UR19IQ0lOVF9BSEJFUlIpOwotICAgIF9fSEFMX0hDRF9VTk1BU0tfSEFMVF9IQ19JTlQoY2hfbnVtKTsKKyAgICBoaGNkLT5oY1tjaF9udW1dLnN0YXRlID0gSENfWEFDVEVSUjsKKyAgICAodm9pZClVU0JfSENfSGFsdChoaGNkLT5JbnN0YW5jZSwgKHVpbnQ4X3QpY2hfbnVtKTsKICAgfQogICBlbHNlIGlmICgoVVNCeF9IQyhjaF9udW0pLT5IQ0lOVCAmIFVTQl9PVEdfSENJTlRfQUNLKSA9PSBVU0JfT1RHX0hDSU5UX0FDSykKICAgewpAQCAtMTQxMCwxNiArMTM5NSwxNCBAQAogICAgIGlmIChoaGNkLT5oY1tjaF9udW1dLmRvX3BpbmcgPT0gMVUpCiAgICAgewogICAgICAgaGhjZC0+aGNbY2hfbnVtXS5kb19waW5nID0gMFU7Ci0gICAgICBoaGNkLT5oY1tjaF9udW1dLnVyYl9zdGF0ZSAgPSBVUkJfTk9UUkVBRFk7Ci0gICAgICBfX0hBTF9IQ0RfVU5NQVNLX0hBTFRfSENfSU5UKGNoX251bSk7CisgICAgICBoaGNkLT5oY1tjaF9udW1dLnVyYl9zdGF0ZSA9IFVSQl9OT1RSRUFEWTsKICAgICAgICh2b2lkKVVTQl9IQ19IYWx0KGhoY2QtPkluc3RhbmNlLCAodWludDhfdCljaF9udW0pOwogICAgIH0KICAgfQogICBlbHNlIGlmICgoVVNCeF9IQyhjaF9udW0pLT5IQ0lOVCAmIFVTQl9PVEdfSENJTlRfRlJNT1IpID09IFVTQl9PVEdfSENJTlRfRlJNT1IpCiAgIHsKLSAgICBfX0hBTF9IQ0RfVU5NQVNLX0hBTFRfSENfSU5UKGNoX251bSk7Ci0gICAgKHZvaWQpVVNCX0hDX0hhbHQoaGhjZC0+SW5zdGFuY2UsICh1aW50OF90KWNoX251bSk7CiAgICAgX19IQUxfSENEX0NMRUFSX0hDX0lOVChjaF9udW0sIFVTQl9PVEdfSENJTlRfRlJNT1IpOworICAgICh2b2lkKVVTQl9IQ19IYWx0KGhoY2QtPkluc3RhbmNlLCAodWludDhfdCljaF9udW0pOwogICB9CiAgIGVsc2UgaWYgKChVU0J4X0hDKGNoX251bSktPkhDSU5UICYgVVNCX09UR19IQ0lOVF9YRlJDKSA9PSBVU0JfT1RHX0hDSU5UX1hGUkMpCiAgIHsKQEAgLTE0MzEsMjYgKzE0MTQsMjMgQEAKICAgICAgIGhoY2QtPmhjW2NoX251bV0uZG9fcGluZyA9IDFVOwogICAgICAgX19IQUxfSENEX0NMRUFSX0hDX0lOVChjaF9udW0sIFVTQl9PVEdfSENJTlRfTllFVCk7CiAgICAgfQotICAgIF9fSEFMX0hDRF9VTk1BU0tfSEFMVF9IQ19JTlQoY2hfbnVtKTsKLSAgICAodm9pZClVU0JfSENfSGFsdChoaGNkLT5JbnN0YW5jZSwgKHVpbnQ4X3QpY2hfbnVtKTsKICAgICBfX0hBTF9IQ0RfQ0xFQVJfSENfSU5UKGNoX251bSwgVVNCX09UR19IQ0lOVF9YRlJDKTsKICAgICBoaGNkLT5oY1tjaF9udW1dLnN0YXRlID0gSENfWEZSQzsKKyAgICAodm9pZClVU0JfSENfSGFsdChoaGNkLT5JbnN0YW5jZSwgKHVpbnQ4X3QpY2hfbnVtKTsKICAgfQogICBlbHNlIGlmICgoVVNCeF9IQyhjaF9udW0pLT5IQ0lOVCAmIFVTQl9PVEdfSENJTlRfTllFVCkgPT0gVVNCX09UR19IQ0lOVF9OWUVUKQogICB7CiAgICAgaGhjZC0+aGNbY2hfbnVtXS5zdGF0ZSA9IEhDX05ZRVQ7CiAgICAgaGhjZC0+aGNbY2hfbnVtXS5kb19waW5nID0gMVU7CiAgICAgaGhjZC0+aGNbY2hfbnVtXS5FcnJDbnQgPSAwVTsKLSAgICBfX0hBTF9IQ0RfVU5NQVNLX0hBTFRfSENfSU5UKGNoX251bSk7CiAgICAgKHZvaWQpVVNCX0hDX0hhbHQoaGhjZC0+SW5zdGFuY2UsICh1aW50OF90KWNoX251bSk7CiAgICAgX19IQUxfSENEX0NMRUFSX0hDX0lOVChjaF9udW0sIFVTQl9PVEdfSENJTlRfTllFVCk7CiAgIH0KICAgZWxzZSBpZiAoKFVTQnhfSEMoY2hfbnVtKS0+SENJTlQgJiBVU0JfT1RHX0hDSU5UX1NUQUxMKSA9PSBVU0JfT1RHX0hDSU5UX1NUQUxMKQogICB7CiAgICAgX19IQUxfSENEX0NMRUFSX0hDX0lOVChjaF9udW0sIFVTQl9PVEdfSENJTlRfU1RBTEwpOwotICAgIF9fSEFMX0hDRF9VTk1BU0tfSEFMVF9IQ19JTlQoY2hfbnVtKTsKLSAgICAodm9pZClVU0JfSENfSGFsdChoaGNkLT5JbnN0YW5jZSwgKHVpbnQ4X3QpY2hfbnVtKTsKICAgICBoaGNkLT5oY1tjaF9udW1dLnN0YXRlID0gSENfU1RBTEw7CisgICAgKHZvaWQpVVNCX0hDX0hhbHQoaGhjZC0+SW5zdGFuY2UsICh1aW50OF90KWNoX251bSk7CiAgIH0KICAgZWxzZSBpZiAoKFVTQnhfSEMoY2hfbnVtKS0+SENJTlQgJiBVU0JfT1RHX0hDSU5UX05BSykgPT0gVVNCX09UR19IQ0lOVF9OQUspCiAgIHsKQEAgLTE0NjUsNyArMTQ0NSw2IEBACiAgICAgICB9CiAgICAgfQogCi0gICAgX19IQUxfSENEX1VOTUFTS19IQUxUX0hDX0lOVChjaF9udW0pOwogICAgICh2b2lkKVVTQl9IQ19IYWx0KGhoY2QtPkluc3RhbmNlLCAodWludDhfdCljaF9udW0pOwogICAgIF9fSEFMX0hDRF9DTEVBUl9IQ19JTlQoY2hfbnVtLCBVU0JfT1RHX0hDSU5UX05BSyk7CiAgIH0KQEAgLTE0NzQsNyArMTQ1Myw2IEBACiAgICAgaWYgKGhoY2QtPkluaXQuZG1hX2VuYWJsZSA9PSAwVSkKICAgICB7CiAgICAgICBoaGNkLT5oY1tjaF9udW1dLnN0YXRlID0gSENfWEFDVEVSUjsKLSAgICAgIF9fSEFMX0hDRF9VTk1BU0tfSEFMVF9IQ19JTlQoY2hfbnVtKTsKICAgICAgICh2b2lkKVVTQl9IQ19IYWx0KGhoY2QtPkluc3RhbmNlLCAodWludDhfdCljaF9udW0pOwogICAgIH0KICAgICBlbHNlCkBAIC0xNDg0LDggKzE0NjIsMTIgQEAKICAgICAgIHsKICAgICAgICAgaGhjZC0+aGNbY2hfbnVtXS5FcnJDbnQgPSAwVTsKICAgICAgICAgaGhjZC0+aGNbY2hfbnVtXS51cmJfc3RhdGUgPSBVUkJfRVJST1I7Ci0gICAgICAgIEhBTF9IQ0RfSENfTm90aWZ5VVJCQ2hhbmdlX0NhbGxiYWNrKGhoY2QsICh1aW50OF90KWNoX251bSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGhjZC0+aGNbY2hfbnVtXS51cmJfc3RhdGUpOworCisjaWYgKFVTRV9IQUxfSENEX1JFR0lTVEVSX0NBTExCQUNLUyA9PSAxVSkKKyAgICAgICAgaGhjZC0+SENfTm90aWZ5VVJCQ2hhbmdlQ2FsbGJhY2soaGhjZCwgKHVpbnQ4X3QpY2hfbnVtLCBoaGNkLT5oY1tjaF9udW1dLnVyYl9zdGF0ZSk7CisjZWxzZQorICAgICAgICBIQUxfSENEX0hDX05vdGlmeVVSQkNoYW5nZV9DYWxsYmFjayhoaGNkLCAodWludDhfdCljaF9udW0sIGhoY2QtPmhjW2NoX251bV0udXJiX3N0YXRlKTsKKyNlbmRpZiAvKiBVU0VfSEFMX0hDRF9SRUdJU1RFUl9DQUxMQkFDS1MgKi8KICAgICAgIH0KICAgICAgIGVsc2UKICAgICAgIHsKQEAgLTE0OTYsMTYgKzE0NzgsMTIgQEAKICAgfQogICBlbHNlIGlmICgoVVNCeF9IQyhjaF9udW0pLT5IQ0lOVCAmIFVTQl9PVEdfSENJTlRfRFRFUlIpID09IFVTQl9PVEdfSENJTlRfRFRFUlIpCiAgIHsKLSAgICBfX0hBTF9IQ0RfVU5NQVNLX0hBTFRfSENfSU5UKGNoX251bSk7Ci0gICAgKHZvaWQpVVNCX0hDX0hhbHQoaGhjZC0+SW5zdGFuY2UsICh1aW50OF90KWNoX251bSk7Ci0gICAgX19IQUxfSENEX0NMRUFSX0hDX0lOVChjaF9udW0sIFVTQl9PVEdfSENJTlRfTkFLKTsKLSAgICBfX0hBTF9IQ0RfQ0xFQVJfSENfSU5UKGNoX251bSwgVVNCX09UR19IQ0lOVF9EVEVSUik7CiAgICAgaGhjZC0+aGNbY2hfbnVtXS5zdGF0ZSA9IEhDX0RBVEFUR0xFUlI7CisgICAgKHZvaWQpVVNCX0hDX0hhbHQoaGhjZC0+SW5zdGFuY2UsICh1aW50OF90KWNoX251bSk7CisgICAgX19IQUxfSENEX0NMRUFSX0hDX0lOVChjaF9udW0sIFVTQl9PVEdfSENJTlRfRFRFUlIpOwogICB9CiAgIGVsc2UgaWYgKChVU0J4X0hDKGNoX251bSktPkhDSU5UICYgVVNCX09UR19IQ0lOVF9DSEgpID09IFVTQl9PVEdfSENJTlRfQ0hIKQogICB7Ci0gICAgX19IQUxfSENEX01BU0tfSEFMVF9IQ19JTlQoY2hfbnVtKTsKLQogICAgIGlmIChoaGNkLT5oY1tjaF9udW1dLnN0YXRlID09IEhDX1hGUkMpCiAgICAgewogICAgICAgaGhjZC0+aGNbY2hfbnVtXS51cmJfc3RhdGUgID0gVVJCX0RPTkU7CkBAIC0xNTY2LDcgKzE1NDQsMTIgQEAKICAgICB9CiAKICAgICBfX0hBTF9IQ0RfQ0xFQVJfSENfSU5UKGNoX251bSwgVVNCX09UR19IQ0lOVF9DSEgpOworCisjaWYgKFVTRV9IQUxfSENEX1JFR0lTVEVSX0NBTExCQUNLUyA9PSAxVSkKKyAgICBoaGNkLT5IQ19Ob3RpZnlVUkJDaGFuZ2VDYWxsYmFjayhoaGNkLCAodWludDhfdCljaF9udW0sIGhoY2QtPmhjW2NoX251bV0udXJiX3N0YXRlKTsKKyNlbHNlCiAgICAgSEFMX0hDRF9IQ19Ob3RpZnlVUkJDaGFuZ2VfQ2FsbGJhY2soaGhjZCwgKHVpbnQ4X3QpY2hfbnVtLCBoaGNkLT5oY1tjaF9udW1dLnVyYl9zdGF0ZSk7CisjZW5kaWYgLyogVVNFX0hBTF9IQ0RfUkVHSVNURVJfQ0FMTEJBQ0tTICovCiAgIH0KICAgZWxzZQogICB7CkBAIC0xNzQzLDUgKzE3MjYsMyBAQAogLyoqCiAgICogQH0KICAgKi8KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKiAoQykgQ09QWVJJR0hUIFNUTWljcm9lbGVjdHJvbmljcyAqKioqKkVORCBPRiBGSUxFKioqKi8KZGlmZiAtLWdpdCBhL1NyYy9zdG0zMmY0eHhfaGFsX2kyYy5jIGIvU3JjL3N0bTMyZjR4eF9oYWxfaTJjLmMKaW5kZXggZGZlNWU2Mi4uYzJhOGViNyAxMDA2NDQKLS0tIGEvU3JjL3N0bTMyZjR4eF9oYWxfaTJjLmMKKysrIGIvU3JjL3N0bTMyZjR4eF9oYWxfaTJjLmMKQEAgLTksNiArOSwxNyBAQAogICAqICAgICAgICAgICArIElPIG9wZXJhdGlvbiBmdW5jdGlvbnMKICAgKiAgICAgICAgICAgKyBQZXJpcGhlcmFsIFN0YXRlLCBNb2RlIGFuZCBFcnJvciBmdW5jdGlvbnMKICAgKgorICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAgKiBAYXR0ZW50aW9uCisgICoKKyAgKiBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgorICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgICoKKyAgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIHVuZGVyIHRlcm1zIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUKKyAgKiBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb2Z0d2FyZSBjb21wb25lbnQuCisgICogSWYgbm8gTElDRU5TRSBmaWxlIGNvbWVzIHdpdGggdGhpcyBzb2Z0d2FyZSwgaXQgaXMgcHJvdmlkZWQgQVMtSVMuCisgICoKKyAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgIEB2ZXJiYXRpbQogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgICAgICAgICAgICAgICAgICAgICAgICMjIyMjIEhvdyB0byB1c2UgdGhpcyBkcml2ZXIgIyMjIyMKQEAgLTI4NCwxOCArMjk1LDYgQEAKICAgICAgICAoQCkgWW91IGNhbiByZWZlciB0byB0aGUgSTJDIEhBTCBkcml2ZXIgaGVhZGVyIGZpbGUgZm9yIG1vcmUgdXNlZnVsIG1hY3JvcwogCiAgIEBlbmR2ZXJiYXRpbQotICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAgKiBAYXR0ZW50aW9uCi0gICoKLSAgKiA8aDI+PGNlbnRlcj4mY29weTsgQ29weXJpZ2h0IChjKSAyMDE2IFNUTWljcm9lbGVjdHJvbmljcy4KLSAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvY2VudGVyPjwvaDI+Ci0gICoKLSAgKiBUaGlzIHNvZnR3YXJlIGNvbXBvbmVudCBpcyBsaWNlbnNlZCBieSBTVCB1bmRlciBCU0QgMy1DbGF1c2UgbGljZW5zZSwKLSAgKiB0aGUgIkxpY2Vuc2UiOyBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlCi0gICogTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0OgotICAqICAgICAgICAgICAgICAgICAgICAgICAgb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvQlNELTMtQ2xhdXNlCi0gICoKLSAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICovCiAKIC8qIEluY2x1ZGVzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCkBAIC0zNDIxLDcgKzM0MjAsNyBAQAogewogICAvKiBHZXQgdGljayAqLwogICB1aW50MzJfdCB0aWNrc3RhcnQgPSBIQUxfR2V0VGljaygpOwotICB1aW50MzJfdCBJMkNfVHJpYWxzID0gMVU7CisgIHVpbnQzMl90IEkyQ19UcmlhbHMgPSAwVTsKICAgRmxhZ1N0YXR1cyB0bXAxOwogICBGbGFnU3RhdHVzIHRtcDI7CiAKQEAgLTU2MTIsNyArNTYxMSw5IEBACiAgICAgfQogICAgIGVsc2UKICAgICB7Ci0gICAgICAvKiBEbyBub3RoaW5nICovCisgICAgICAvKiBEaXNhYmxlIEJVRiBpbnRlcnJ1cHQsIHRoaXMgaGVscCB0byB0cmVhdCBjb3JyZWN0bHkgdGhlIGxhc3QgMiBieXRlcworICAgICAgICAgb24gQlRGIHN1YnJvdXRpbmUgaWYgdGhlcmUgaXMgYSByZWNlcHRpb24gZGVsYXkgYmV0d2VlbiBOLTEgYW5kIE4gYnl0ZSAqLworICAgICAgX19IQUxfSTJDX0RJU0FCTEVfSVQoaGkyYywgSTJDX0lUX0JVRik7CiAgICAgfQogICB9CiB9CkBAIC03NTIxLDQgKzc1MjIsMyBAQAogICAqIEB9CiAgICovCiAKLS8qKioqKioqKioqKioqKioqKioqKioqKiogKEMpIENPUFlSSUdIVCBTVE1pY3JvZWxlY3Ryb25pY3MgKioqKipFTkQgT0YgRklMRSoqKiovCmRpZmYgLS1naXQgYS9TcmMvc3RtMzJmNHh4X2hhbF9pMmNfZXguYyBiL1NyYy9zdG0zMmY0eHhfaGFsX2kyY19leC5jCmluZGV4IGVkNTAzMzIuLjY0YWFiYWEgMTAwNjQ0Ci0tLSBhL1NyYy9zdG0zMmY0eHhfaGFsX2kyY19leC5jCisrKyBiL1NyYy9zdG0zMmY0eHhfaGFsX2kyY19leC5jCkBAIC03LDYgKzcsMTcgQEAKICAgKiAgICAgICAgICBmdW5jdGlvbmFsaXRpZXMgb2YgSTJDIGV4dGVuc2lvbiBwZXJpcGhlcmFsOgogICAqICAgICAgICAgICArIEV4dGVuc2lvbiBmZWF0dXJlcyBmdW5jdGlvbnMKICAgKgorICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAgKiBAYXR0ZW50aW9uCisgICoKKyAgKiBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgorICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgICoKKyAgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIHVuZGVyIHRlcm1zIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUKKyAgKiBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb2Z0d2FyZSBjb21wb25lbnQuCisgICogSWYgbm8gTElDRU5TRSBmaWxlIGNvbWVzIHdpdGggdGhpcyBzb2Z0d2FyZSwgaXQgaXMgcHJvdmlkZWQgQVMtSVMuCisgICoKKyAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgIEB2ZXJiYXRpbQogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgICAgICAgICAgICAgICMjIyMjIEkyQyBwZXJpcGhlcmFsIGV4dGVuc2lvbiBmZWF0dXJlcyAgIyMjIyMKQEAgLTI1LDE4ICszNiw2IEBACiAgICAgKCMpIENvbmZpZ3VyZSBJMkMgRGlnaXRhbCBub2lzZSBmaWx0ZXIgdXNpbmcgdGhlIGZ1bmN0aW9uIEhBTF9JMkNfRGlnaXRhbEZpbHRlcl9Db25maWcoKQogCiAgIEBlbmR2ZXJiYXRpbQotICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAgKiBAYXR0ZW50aW9uCi0gICoKLSAgKiA8aDI+PGNlbnRlcj4mY29weTsgQ29weXJpZ2h0IChjKSAyMDE2IFNUTWljcm9lbGVjdHJvbmljcy4KLSAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvY2VudGVyPjwvaDI+Ci0gICoKLSAgKiBUaGlzIHNvZnR3YXJlIGNvbXBvbmVudCBpcyBsaWNlbnNlZCBieSBTVCB1bmRlciBCU0QgMy1DbGF1c2UgbGljZW5zZSwKLSAgKiB0aGUgIkxpY2Vuc2UiOyBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlCi0gICogTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0OgotICAqICAgICAgICAgICAgICAgICAgICAgICAgb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvQlNELTMtQ2xhdXNlCi0gICoKLSAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICovCiAKIC8qIEluY2x1ZGVzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCkBAIC0xODEsNCArMTgwLDMgQEAKICAgKiBAfQogICAqLwogCi0vKioqKioqKioqKioqKioqKioqKioqKioqIChDKSBDT1BZUklHSFQgU1RNaWNyb2VsZWN0cm9uaWNzICoqKioqRU5EIE9GIEZJTEUqKioqLwpkaWZmIC0tZ2l0IGEvU3JjL3N0bTMyZjR4eF9oYWxfaTJzLmMgYi9TcmMvc3RtMzJmNHh4X2hhbF9pMnMuYwppbmRleCAzMzJiNmMyLi43MDBhMGNhIDEwMDY0NAotLS0gYS9TcmMvc3RtMzJmNHh4X2hhbF9pMnMuYworKysgYi9TcmMvc3RtMzJmNHh4X2hhbF9pMnMuYwpAQCAtOCw2ICs4LDE3IEBACiAgICogICAgICAgICAgICsgSW5pdGlhbGl6YXRpb24gYW5kIGRlLWluaXRpYWxpemF0aW9uIGZ1bmN0aW9ucwogICAqICAgICAgICAgICArIElPIG9wZXJhdGlvbiBmdW5jdGlvbnMKICAgKiAgICAgICAgICAgKyBQZXJpcGhlcmFsIFN0YXRlIGFuZCBFcnJvcnMgZnVuY3Rpb25zCisgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICAqIEBhdHRlbnRpb24KKyAgKgorICAqIENvcHlyaWdodCAoYykgMjAxNiBTVE1pY3JvZWxlY3Ryb25pY3MuCisgICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAgKgorICAqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgdW5kZXIgdGVybXMgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZQorICAqIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvZnR3YXJlIGNvbXBvbmVudC4KKyAgKiBJZiBubyBMSUNFTlNFIGZpbGUgY29tZXMgd2l0aCB0aGlzIHNvZnR3YXJlLCBpdCBpcyBwcm92aWRlZCBBUy1JUy4KKyAgKgorICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgQHZlcmJhdGltCiAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgICAgICAgICAgICAgICAgIyMjIyMgSG93IHRvIHVzZSB0aGlzIGRyaXZlciAjIyMjIwpAQCAtMTY5LDE4ICsxODAsNyBAQAogICAgICAgIGFuZCB3ZWFrIChzdXJjaGFyZ2VkKSBjYWxsYmFja3MgYXJlIHVzZWQuCiAKICAgQGVuZHZlcmJhdGltCi0gICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICAqIEBhdHRlbnRpb24KLSAgKgotICAqIDxoMj48Y2VudGVyPiZjb3B5OyBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9jZW50ZXI+PC9oMj4KLSAgKgotICAqIFRoaXMgc29mdHdhcmUgY29tcG9uZW50IGlzIGxpY2Vuc2VkIGJ5IFNUIHVuZGVyIEJTRCAzLUNsYXVzZSBsaWNlbnNlLAotICAqIHRoZSAiTGljZW5zZSI7IFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUKLSAgKiBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQ6Ci0gICogICAgICAgICAgICAgICAgICAgICAgICBvcGVuc291cmNlLm9yZy9saWNlbnNlcy9CU0QtMy1DbGF1c2UKLSAgKgotICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKwogICAqLwogCiAvKiBJbmNsdWRlcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwpAQCAtMjA5Miw0ICsyMDkyLDMgQEAKIAogI2VuZGlmIC8qIEhBTF9JMlNfTU9EVUxFX0VOQUJMRUQgKi8KIAotLyoqKioqKioqKioqKioqKioqKioqKioqKiAoQykgQ09QWVJJR0hUIFNUTWljcm9lbGVjdHJvbmljcyAqKioqKkVORCBPRiBGSUxFKioqKi8KZGlmZiAtLWdpdCBhL1NyYy9zdG0zMmY0eHhfaGFsX2kyc19leC5jIGIvU3JjL3N0bTMyZjR4eF9oYWxfaTJzX2V4LmMKaW5kZXggY2QwZGI1ZS4uNjQzYmY3NCAxMDA2NDQKLS0tIGEvU3JjL3N0bTMyZjR4eF9oYWxfaTJzX2V4LmMKKysrIGIvU3JjL3N0bTMyZjR4eF9oYWxfaTJzX2V4LmMKQEAgLTYsNyArNiwxNyBAQAogICAqICAgICAgICAgIFRoaXMgZmlsZSBwcm92aWRlcyBmaXJtd2FyZSBmdW5jdGlvbnMgdG8gbWFuYWdlIHRoZSBmb2xsb3dpbmcKICAgKiAgICAgICAgICBmdW5jdGlvbmFsaXRpZXMgb2YgSTJTIGV4dGVuc2lvbiBwZXJpcGhlcmFsOgogICAqICAgICAgICAgICArIEV4dGVuc2lvbiBmZWF0dXJlcyBGdW5jdGlvbnMKKyAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgICogQGF0dGVudGlvbgogICAqCisgICogQ29weXJpZ2h0IChjKSAyMDE2IFNUTWljcm9lbGVjdHJvbmljcy4KKyAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICAqCisgICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciB0ZXJtcyB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlCisgICogaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc29mdHdhcmUgY29tcG9uZW50LgorICAqIElmIG5vIExJQ0VOU0UgZmlsZSBjb21lcyB3aXRoIHRoaXMgc29mdHdhcmUsIGl0IGlzIHByb3ZpZGVkIEFTLUlTLgorICAqCisgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICBAdmVyYmF0aW0KICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAgICAgICAgICAgICAgICAgICMjIyMjIEkyUyBFeHRlbnNpb24gZmVhdHVyZXMgIyMjIyMKQEAgLTczLDE4ICs4Myw2IEBACiAgICAgICAgIHwgICAgICAgfCAgICAgICBJMlN4X2V4dCAgICAgICAgfC0tLS0tLS0tLS0tLS0tLS0tLS0+STJTeF9leHRTRChpbi9vdXQpCiAgICAgICAgICArLS0tLS0+fCAgICAgICAgICAgICAgICAgICAgICAgfAogICAgICAgICAgICAgICAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKLSAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gICogQGF0dGVudGlvbgotICAqCi0gICogPGgyPjxjZW50ZXI+JmNvcHk7IENvcHlyaWdodCAoYykgMjAxNiBTVE1pY3JvZWxlY3Ryb25pY3MuCi0gICogQWxsIHJpZ2h0cyByZXNlcnZlZC48L2NlbnRlcj48L2gyPgotICAqCi0gICogVGhpcyBzb2Z0d2FyZSBjb21wb25lbnQgaXMgbGljZW5zZWQgYnkgU1QgdW5kZXIgQlNEIDMtQ2xhdXNlIGxpY2Vuc2UsCi0gICogdGhlICJMaWNlbnNlIjsgWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZQotICAqIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdDoKLSAgKiAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZQotICAqCi0gICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqLwogCiAvKiBJbmNsdWRlcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwpAQCAtMTEzNSw0ICsxMTMzLDMgQEAKICAgKiBAfQogICAqLwogCi0vKioqKioqKioqKioqKioqKioqKioqKioqIChDKSBDT1BZUklHSFQgU1RNaWNyb2VsZWN0cm9uaWNzICoqKioqRU5EIE9GIEZJTEUqKioqLwpkaWZmIC0tZ2l0IGEvU3JjL3N0bTMyZjR4eF9oYWxfaXJkYS5jIGIvU3JjL3N0bTMyZjR4eF9oYWxfaXJkYS5jCmluZGV4IDI5OTc0ZDYuLjU3YzUyYzQgMTAwNjQ0Ci0tLSBhL1NyYy9zdG0zMmY0eHhfaGFsX2lyZGEuYworKysgYi9TcmMvc3RtMzJmNHh4X2hhbF9pcmRhLmMKQEAgLTksNiArOSwxOCBAQAogICAqICAgICAgICAgICArIElPIG9wZXJhdGlvbiBmdW5jdGlvbnMKICAgKiAgICAgICAgICAgKyBQZXJpcGhlcmFsIENvbnRyb2wgZnVuY3Rpb25zCiAgICogICAgICAgICAgICsgUGVyaXBoZXJhbCBTdGF0ZSBhbmQgRXJyb3JzIGZ1bmN0aW9ucworICAqCisgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICAqIEBhdHRlbnRpb24KKyAgKgorICAqIENvcHlyaWdodCAoYykgMjAxNiBTVE1pY3JvZWxlY3Ryb25pY3MuCisgICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAgKgorICAqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgdW5kZXIgdGVybXMgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZQorICAqIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvZnR3YXJlIGNvbXBvbmVudC4KKyAgKiBJZiBubyBMSUNFTlNFIGZpbGUgY29tZXMgd2l0aCB0aGlzIHNvZnR3YXJlLCBpdCBpcyBwcm92aWRlZCBBUy1JUy4KKyAgKgorICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgQHZlcmJhdGltCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgICAgICAgICAgICAgICAgICAgICAgIyMjIyMgSG93IHRvIHVzZSB0aGlzIGRyaXZlciAjIyMjIwpAQCAtMTg1LDE3ICsxOTcsNiBAQAogICAgIHwgICAgMSAgICB8ICAgIDEgICAgICB8ICAgIHwgU0IgfCA4IGJpdCBkYXRhIHwgUEIgfCAxIFNUQiB8ICAgfAogICAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAgKiBAYXR0ZW50aW9uCi0gICoKLSAgKiA8aDI+PGNlbnRlcj4mY29weTsgQ29weXJpZ2h0IChjKSAyMDE2IFNUTWljcm9lbGVjdHJvbmljcy4KLSAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvY2VudGVyPjwvaDI+Ci0gICoKLSAgKiBUaGlzIHNvZnR3YXJlIGNvbXBvbmVudCBpcyBsaWNlbnNlZCBieSBTVCB1bmRlciBCU0QgMy1DbGF1c2UgbGljZW5zZSwKLSAgKiB0aGUgIkxpY2Vuc2UiOyBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlCi0gICogTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0OgotICAqICAgICAgICAgICAgICAgICAgICAgICAgb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvQlNELTMtQ2xhdXNlCi0gICoKLSAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICovCiAKIC8qIEluY2x1ZGVzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCkBAIC03NjcsOSArNzY4LDkgQEAKICAgKiBAcGFyYW0gVGltZW91dCBTcGVjaWZ5IHRpbWVvdXQgdmFsdWUuCiAgICogQHJldHZhbCBIQUwgc3RhdHVzCiAgICovCi1IQUxfU3RhdHVzVHlwZURlZiBIQUxfSVJEQV9UcmFuc21pdChJUkRBX0hhbmRsZVR5cGVEZWYgKmhpcmRhLCB1aW50OF90ICpwRGF0YSwgdWludDE2X3QgU2l6ZSwgdWludDMyX3QgVGltZW91dCkKK0hBTF9TdGF0dXNUeXBlRGVmIEhBTF9JUkRBX1RyYW5zbWl0KElSREFfSGFuZGxlVHlwZURlZiAqaGlyZGEsIGNvbnN0IHVpbnQ4X3QgKnBEYXRhLCB1aW50MTZfdCBTaXplLCB1aW50MzJfdCBUaW1lb3V0KQogewotICB1aW50MTZfdCAqdG1wOworICBjb25zdCB1aW50MTZfdCAqdG1wOwogICB1aW50MzJfdCB0aWNrc3RhcnQgPSAwVTsKIAogICAvKiBDaGVjayB0aGF0IGEgVHggcHJvY2VzcyBpcyBub3QgYWxyZWFkeSBvbmdvaW5nICovCkBAIC04MDAsNyArODAxLDcgQEAKICAgICAgICAgewogICAgICAgICAgIHJldHVybiBIQUxfVElNRU9VVDsKICAgICAgICAgfQotICAgICAgICB0bXAgPSAodWludDE2X3QgKikgcERhdGE7CisgICAgICAgIHRtcCA9IChjb25zdCB1aW50MTZfdCAqKSBwRGF0YTsKICAgICAgICAgaGlyZGEtPkluc3RhbmNlLT5EUiA9ICgqdG1wICYgKHVpbnQxNl90KTB4MDFGRik7CiAgICAgICAgIGlmIChoaXJkYS0+SW5pdC5QYXJpdHkgPT0gSVJEQV9QQVJJVFlfTk9ORSkKICAgICAgICAgewpAQCAtOTQyLDcgKzk0Myw3IEBACiAgICogQHBhcmFtIFNpemUgIEFtb3VudCBvZiBkYXRhIGVsZW1lbnRzICh1OCBvciB1MTYpIHRvIGJlIHNlbnQuCiAgICogQHJldHZhbCBIQUwgc3RhdHVzCiAgICovCi1IQUxfU3RhdHVzVHlwZURlZiBIQUxfSVJEQV9UcmFuc21pdF9JVChJUkRBX0hhbmRsZVR5cGVEZWYgKmhpcmRhLCB1aW50OF90ICpwRGF0YSwgdWludDE2X3QgU2l6ZSkKK0hBTF9TdGF0dXNUeXBlRGVmIEhBTF9JUkRBX1RyYW5zbWl0X0lUKElSREFfSGFuZGxlVHlwZURlZiAqaGlyZGEsIGNvbnN0IHVpbnQ4X3QgKnBEYXRhLCB1aW50MTZfdCBTaXplKQogewogICAvKiBDaGVjayB0aGF0IGEgVHggcHJvY2VzcyBpcyBub3QgYWxyZWFkeSBvbmdvaW5nICovCiAgIGlmIChoaXJkYS0+Z1N0YXRlID09IEhBTF9JUkRBX1NUQVRFX1JFQURZKQpAQCAtMTAxMCw4ICsxMDExLDE2IEBACiAgICAgLyogUHJvY2VzcyBVbmxvY2tlZCAqLwogICAgIF9fSEFMX1VOTE9DSyhoaXJkYSk7CiAKLSAgICAvKiBFbmFibGUgdGhlIElSREEgUGFyaXR5IEVycm9yIGFuZCBEYXRhIFJlZ2lzdGVyIE5vdCBFbXB0eSBJbnRlcnJ1cHRzICovCi0gICAgU0VUX0JJVChoaXJkYS0+SW5zdGFuY2UtPkNSMSwgVVNBUlRfQ1IxX1BFSUUgfCBVU0FSVF9DUjFfUlhORUlFKTsKKyAgICBpZiAoaGlyZGEtPkluaXQuUGFyaXR5ICE9IElSREFfUEFSSVRZX05PTkUpCisgICAgeworICAgICAgLyogRW5hYmxlIHRoZSBJUkRBIFBhcml0eSBFcnJvciBhbmQgRGF0YSBSZWdpc3RlciBOb3QgRW1wdHkgSW50ZXJydXB0cyAqLworICAgICAgU0VUX0JJVChoaXJkYS0+SW5zdGFuY2UtPkNSMSwgVVNBUlRfQ1IxX1BFSUUgfCBVU0FSVF9DUjFfUlhORUlFKTsKKyAgICB9CisgICAgZWxzZQorICAgIHsKKyAgICAgIC8qIEVuYWJsZSB0aGUgSVJEQSBEYXRhIFJlZ2lzdGVyIE5vdCBFbXB0eSBJbnRlcnJ1cHRzICovCisgICAgICAgU0VUX0JJVChoaXJkYS0+SW5zdGFuY2UtPkNSMSwgVVNBUlRfQ1IxX1JYTkVJRSk7IAorICAgIH0KIAogICAgIC8qIEVuYWJsZSB0aGUgSVJEQSBFcnJvciBJbnRlcnJ1cHQ6IChGcmFtZSBlcnJvciwgTm9pc2UgZXJyb3IsIE92ZXJydW4gZXJyb3IpICovCiAgICAgU0VUX0JJVChoaXJkYS0+SW5zdGFuY2UtPkNSMywgVVNBUlRfQ1IzX0VJRSk7CkBAIC0xMDM1LDkgKzEwNDQsOSBAQAogICAqIEBwYXJhbSBTaXplICBBbW91bnQgb2YgZGF0YSBlbGVtZW50cyAodTggb3IgdTE2KSB0byBiZSBzZW50LgogICAqIEByZXR2YWwgSEFMIHN0YXR1cwogICAqLwotSEFMX1N0YXR1c1R5cGVEZWYgSEFMX0lSREFfVHJhbnNtaXRfRE1BKElSREFfSGFuZGxlVHlwZURlZiAqaGlyZGEsIHVpbnQ4X3QgKnBEYXRhLCB1aW50MTZfdCBTaXplKQorSEFMX1N0YXR1c1R5cGVEZWYgSEFMX0lSREFfVHJhbnNtaXRfRE1BKElSREFfSGFuZGxlVHlwZURlZiAqaGlyZGEsIGNvbnN0IHVpbnQ4X3QgKnBEYXRhLCB1aW50MTZfdCBTaXplKQogewotICB1aW50MzJfdCAqdG1wOworICBjb25zdCB1aW50MzJfdCAqdG1wOwogCiAgIC8qIENoZWNrIHRoYXQgYSBUeCBwcm9jZXNzIGlzIG5vdCBhbHJlYWR5IG9uZ29pbmcgKi8KICAgaWYgKGhpcmRhLT5nU3RhdGUgPT0gSEFMX0lSREFfU1RBVEVfUkVBRFkpCkBAIC0xMDcwLDggKzEwNzksOCBAQAogICAgIGhpcmRhLT5oZG1hdHgtPlhmZXJBYm9ydENhbGxiYWNrID0gTlVMTDsKIAogICAgIC8qIEVuYWJsZSB0aGUgSVJEQSB0cmFuc21pdCBETUEgc3RyZWFtICovCi0gICAgdG1wID0gKHVpbnQzMl90ICopJnBEYXRhOwotICAgIEhBTF9ETUFfU3RhcnRfSVQoaGlyZGEtPmhkbWF0eCwgKih1aW50MzJfdCAqKXRtcCwgKHVpbnQzMl90KSZoaXJkYS0+SW5zdGFuY2UtPkRSLCBTaXplKTsKKyAgICB0bXAgPSAoY29uc3QgdWludDMyX3QgKikmcERhdGE7CisgICAgSEFMX0RNQV9TdGFydF9JVChoaXJkYS0+aGRtYXR4LCAqKGNvbnN0IHVpbnQzMl90ICopdG1wLCAodWludDMyX3QpJmhpcmRhLT5JbnN0YW5jZS0+RFIsIFNpemUpOwogCiAgICAgLyogQ2xlYXIgdGhlIFRDIGZsYWcgaW4gdGhlIFNSIHJlZ2lzdGVyIGJ5IHdyaXRpbmcgMCB0byBpdCAqLwogICAgIF9fSEFMX0lSREFfQ0xFQVJfRkxBRyhoaXJkYSwgSVJEQV9GTEFHX1RDKTsKQEAgLTExNDYsOCArMTE1NSwxMSBAQAogICAgIC8qIFByb2Nlc3MgVW5sb2NrZWQgKi8KICAgICBfX0hBTF9VTkxPQ0soaGlyZGEpOwogCi0gICAgLyogRW5hYmxlIHRoZSBJUkRBIFBhcml0eSBFcnJvciBJbnRlcnJ1cHQgKi8KLSAgICBTRVRfQklUKGhpcmRhLT5JbnN0YW5jZS0+Q1IxLCBVU0FSVF9DUjFfUEVJRSk7CisgICAgaWYgKGhpcmRhLT5Jbml0LlBhcml0eSAhPSBJUkRBX1BBUklUWV9OT05FKQorICAgIHsKKyAgICAgIC8qIEVuYWJsZSB0aGUgSVJEQSBQYXJpdHkgRXJyb3IgSW50ZXJydXB0ICovCisgICAgICBTRVRfQklUKGhpcmRhLT5JbnN0YW5jZS0+Q1IxLCBVU0FSVF9DUjFfUEVJRSk7CisgICAgfQogCiAgICAgLyogRW5hYmxlIHRoZSBJUkRBIEVycm9yIEludGVycnVwdDogKEZyYW1lIGVycm9yLCBOb2lzZSBlcnJvciwgT3ZlcnJ1biBlcnJvcikgKi8KICAgICBTRVRfQklUKGhpcmRhLT5JbnN0YW5jZS0+Q1IzLCBVU0FSVF9DUjNfRUlFKTsKQEAgLTEyMjQsNyArMTIzNiwxMCBAQAogICAgIF9fSEFMX0lSREFfQ0xFQVJfT1JFRkxBRyhoaXJkYSk7CiAKICAgICAvKiBSZS1lbmFibGUgUEUgYW5kIEVSUiAoRnJhbWUgZXJyb3IsIG5vaXNlIGVycm9yLCBvdmVycnVuIGVycm9yKSBpbnRlcnJ1cHRzICovCi0gICAgU0VUX0JJVChoaXJkYS0+SW5zdGFuY2UtPkNSMSwgVVNBUlRfQ1IxX1BFSUUpOworICAgIGlmIChoaXJkYS0+SW5pdC5QYXJpdHkgIT0gSVJEQV9QQVJJVFlfTk9ORSkKKyAgICB7ICAgIAorICAgICAgU0VUX0JJVChoaXJkYS0+SW5zdGFuY2UtPkNSMSwgVVNBUlRfQ1IxX1BFSUUpOworICAgIH0KICAgICBTRVRfQklUKGhpcmRhLT5JbnN0YW5jZS0+Q1IzLCBVU0FSVF9DUjNfRUlFKTsKIAogICAgIC8qIEVuYWJsZSB0aGUgSVJEQSBETUEgUnggcmVxdWVzdCAqLwpAQCAtMjIxNSwxMSArMjIzMCwxMiBAQAogfQogCiAvKioKLSAgKiBAYnJpZWYgIFRoaXMgZnVuY3Rpb24gaGFuZGxlcyBJUkRBIENvbW11bmljYXRpb24gVGltZW91dC4KKyAgKiBAYnJpZWYgIFRoaXMgZnVuY3Rpb24gaGFuZGxlcyBJUkRBIENvbW11bmljYXRpb24gVGltZW91dC4gSXQgd2FpdHMKKyAgKiAgICAgICAgIHVudGlsIGEgZmxhZyBpcyBubyBsb25nZXIgaW4gdGhlIHNwZWNpZmllZCBzdGF0dXMuCiAgICogQHBhcmFtICBoaXJkYSAgUG9pbnRlciB0byBhIElSREFfSGFuZGxlVHlwZURlZiBzdHJ1Y3R1cmUgdGhhdCBjb250YWlucwogICAqICAgICAgICAgICAgICAgIHRoZSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIGZvciB0aGUgc3BlY2lmaWVkIElSREEuCiAgICogQHBhcmFtICBGbGFnIHNwZWNpZmllcyB0aGUgSVJEQSBmbGFnIHRvIGNoZWNrLgotICAqIEBwYXJhbSAgU3RhdHVzIFRoZSBuZXcgRmxhZyBzdGF0dXMgKFNFVCBvciBSRVNFVCkuCisgICogQHBhcmFtICBTdGF0dXMgVGhlIGFjdHVhbCBGbGFnIHN0YXR1cyAoU0VUIG9yIFJFU0VUKS4KICAgKiBAcGFyYW0gIFRpY2tzdGFydCBUaWNrIHN0YXJ0IHZhbHVlCiAgICogQHBhcmFtICBUaW1lb3V0IFRpbWVvdXQgZHVyYXRpb24KICAgKiBAcmV0dmFsIEhBTCBzdGF0dXMKQEAgLTI0NTEsMTQgKzI0NjcsMTQgQEAKICAqLwogc3RhdGljIEhBTF9TdGF0dXNUeXBlRGVmIElSREFfVHJhbnNtaXRfSVQoSVJEQV9IYW5kbGVUeXBlRGVmICpoaXJkYSkKIHsKLSAgdWludDE2X3QgKnRtcDsKKyAgY29uc3QgdWludDE2X3QgKnRtcDsKIAogICAvKiBDaGVjayB0aGF0IGEgVHggcHJvY2VzcyBpcyBvbmdvaW5nICovCiAgIGlmIChoaXJkYS0+Z1N0YXRlID09IEhBTF9JUkRBX1NUQVRFX0JVU1lfVFgpCiAgIHsKICAgICBpZiAoaGlyZGEtPkluaXQuV29yZExlbmd0aCA9PSBJUkRBX1dPUkRMRU5HVEhfOUIpCiAgICAgewotICAgICAgdG1wID0gKHVpbnQxNl90ICopIGhpcmRhLT5wVHhCdWZmUHRyOworICAgICAgdG1wID0gKGNvbnN0IHVpbnQxNl90ICopIGhpcmRhLT5wVHhCdWZmUHRyOwogICAgICAgaGlyZGEtPkluc3RhbmNlLT5EUiA9ICh1aW50MTZfdCkoKnRtcCAmICh1aW50MTZfdCkweDAxRkYpOwogICAgICAgaWYgKGhpcmRhLT5Jbml0LlBhcml0eSA9PSBJUkRBX1BBUklUWV9OT05FKQogICAgICAgewpAQCAtMjY2OSw0ICsyNjg1LDMgQEAKICAgKiBAfQogICAqLwogCi0vKioqKioqKioqKioqKioqKioqKioqKioqIChDKSBDT1BZUklHSFQgU1RNaWNyb2VsZWN0cm9uaWNzICoqKioqRU5EIE9GIEZJTEUqKioqLwpkaWZmIC0tZ2l0IGEvU3JjL3N0bTMyZjR4eF9oYWxfaXdkZy5jIGIvU3JjL3N0bTMyZjR4eF9oYWxfaXdkZy5jCmluZGV4IDVmMzc2ZGEuLmMwMWViMjkgMTAwNjQ0Ci0tLSBhL1NyYy9zdG0zMmY0eHhfaGFsX2l3ZGcuYworKysgYi9TcmMvc3RtMzJmNHh4X2hhbF9pd2RnLmMKQEAgLTgsNiArOCwxNyBAQAogICAqICAgICAgICAgICArIEluaXRpYWxpemF0aW9uIGFuZCBTdGFydCBmdW5jdGlvbnMKICAgKiAgICAgICAgICAgKyBJTyBvcGVyYXRpb24gZnVuY3Rpb25zCiAgICoKKyAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgICogQGF0dGVudGlvbgorICAqCisgICogQ29weXJpZ2h0IChjKSAyMDE2IFNUTWljcm9lbGVjdHJvbmljcy4KKyAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICAqCisgICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciB0ZXJtcyB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlCisgICogaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc29mdHdhcmUgY29tcG9uZW50LgorICAqIElmIG5vIExJQ0VOU0UgZmlsZSBjb21lcyB3aXRoIHRoaXMgc29mdHdhcmUsIGl0IGlzIHByb3ZpZGVkIEFTLUlTLgorICAqCisgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICBAdmVyYmF0aW0KICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAgICAgICAgICAgICAgICAgICMjIyMjIElXREcgR2VuZXJpYyBmZWF0dXJlcyAjIyMjIwpAQCAtODAsMTggKzkxLDYgQEAKICAgICAgICAgICB0aGUgcmVsb2FkIHJlZ2lzdGVyCiAKICAgQGVuZHZlcmJhdGltCi0gICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICAqIEBhdHRlbnRpb24KLSAgKgotICAqIDxoMj48Y2VudGVyPiZjb3B5OyBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9jZW50ZXI+PC9oMj4KLSAgKgotICAqIFRoaXMgc29mdHdhcmUgY29tcG9uZW50IGlzIGxpY2Vuc2VkIGJ5IFNUIHVuZGVyIEJTRCAzLUNsYXVzZSBsaWNlbnNlLAotICAqIHRoZSAiTGljZW5zZSI7IFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUKLSAgKiBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQ6Ci0gICogICAgICAgICAgICAgICAgICAgICAgICBvcGVuc291cmNlLm9yZy9saWNlbnNlcy9CU0QtMy1DbGF1c2UKLSAgKgotICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKi8KIAogLyogSW5jbHVkZXMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KQEAgLTExOSw3ICsxMTgsNyBAQAogICAgdGhlIExTSV9WQUxVRSBjb25zdGFudC4gVGhlIHZhbHVlIG9mIHRoaXMgY29uc3RhbnQgY2FuIGJlIGNoYW5nZWQgYnkgdGhlIHVzZXIKICAgIHRvIHRha2UgaW50byBhY2NvdW50IHBvc3NpYmxlIExTSSBjbG9jayBwZXJpb2QgdmFyaWF0aW9ucy4KICAgIFRoZSB0aW1lb3V0IHZhbHVlIGlzIG11bHRpcGxpZWQgYnkgMTAwMCB0byBiZSBjb252ZXJ0ZWQgaW4gbWlsbGlzZWNvbmRzLgotICAgTFNJIHN0YXJ0dXAgdGltZSBpcyBhbHNvIGNvbnNpZGVyZWQgaGVyZSBieSBhZGRpbmcgTFNJX1NUQVJUVVBfVElNRU9VVAorICAgTFNJIHN0YXJ0dXAgdGltZSBpcyBhbHNvIGNvbnNpZGVyZWQgaGVyZSBieSBhZGRpbmcgTFNJX1NUQVJUVVBfVElNRQogICAgY29udmVydGVkIGluIG1pbGxpc2Vjb25kcy4gKi8KICNkZWZpbmUgSEFMX0lXREdfREVGQVVMVF9USU1FT1VUICAgICAgICAoKCg2VUwgKiAyNTZVTCAqIDEwMDBVTCkgLyBMU0lfVkFMVUUpICsgKChMU0lfU1RBUlRVUF9USU1FIC8gMTAwMFVMKSArIDFVTCkpCiAjZGVmaW5lIElXREdfS0VSTkVMX1VQREFURV9GTEFHUyAgICAgICAgKElXREdfU1JfUlZVIHwgSVdER19TUl9QVlUpCkBAIC0yNjEsNSArMjYwLDMgQEAKIC8qKgogICAqIEB9CiAgICovCi0KLS8qKioqKioqKioqKioqKioqKioqKioqKiogKEMpIENPUFlSSUdIVCBTVE1pY3JvZWxlY3Ryb25pY3MgKioqKipFTkQgT0YgRklMRSoqKiovCmRpZmYgLS1naXQgYS9TcmMvc3RtMzJmNHh4X2hhbF9scHRpbS5jIGIvU3JjL3N0bTMyZjR4eF9oYWxfbHB0aW0uYwppbmRleCAwZWQ3NjE3Li43YjU2OTUxIDEwMDY0NAotLS0gYS9TcmMvc3RtMzJmNHh4X2hhbF9scHRpbS5jCisrKyBiL1NyYy9zdG0zMmY0eHhfaGFsX2xwdGltLmMKQEAgLTExLDYgKzExLDE3IEBACiAgICogICAgICAgICAgICsgUmVhZGluZyBvcGVyYXRpb24gZnVuY3Rpb25zLgogICAqICAgICAgICAgICArIFBlcmlwaGVyYWwgU3RhdGUgZnVuY3Rpb25zLgogICAqCisgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICAqIEBhdHRlbnRpb24KKyAgKgorICAqIENvcHlyaWdodCAoYykgMjAxNiBTVE1pY3JvZWxlY3Ryb25pY3MuCisgICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAgKgorICAqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgdW5kZXIgdGVybXMgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZQorICAqIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvZnR3YXJlIGNvbXBvbmVudC4KKyAgKiBJZiBubyBMSUNFTlNFIGZpbGUgY29tZXMgd2l0aCB0aGlzIHNvZnR3YXJlLCBpdCBpcyBwcm92aWRlZCBBUy1JUy4KKyAgKgorICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgQHZlcmJhdGltCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgICAgICAgICAgICAgICAgICAgIyMjIyMgSG93IHRvIHVzZSB0aGlzIGRyaXZlciAjIyMjIwpAQCAtMTQwLDE3ICsxNTEsNiBAQAogCiAgIEBlbmR2ZXJiYXRpbQogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAgKiBAYXR0ZW50aW9uCi0gICoKLSAgKiA8aDI+PGNlbnRlcj4mY29weTsgQ29weXJpZ2h0IChjKSAyMDE2IFNUTWljcm9lbGVjdHJvbmljcy4KLSAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvY2VudGVyPjwvaDI+Ci0gICoKLSAgKiBUaGlzIHNvZnR3YXJlIGNvbXBvbmVudCBpcyBsaWNlbnNlZCBieSBTVCB1bmRlciBCU0QgMy1DbGF1c2UgbGljZW5zZSwKLSAgKiB0aGUgIkxpY2Vuc2UiOyBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlCi0gICogTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0OgotICAqICAgICAgICAgICAgICAgICAgICAgICAgb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvQlNELTMtQ2xhdXNlCi0gICoKLSAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICovCiAKIC8qIEluY2x1ZGVzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCkBAIC00NDQsNyArNDQ0LDcgQEAKICAgKiBAYnJpZWYgIFN0YXJ0IHRoZSBMUFRJTSBQV00gZ2VuZXJhdGlvbi4KICAgKiBAcGFyYW0gIGhscHRpbSBMUFRJTSBoYW5kbGUKICAgKiBAcGFyYW0gIFBlcmlvZCBTcGVjaWZpZXMgdGhlIEF1dG9yZWxvYWQgdmFsdWUuCi0gICogICAgICAgICBUaGlzIHBhcmFtZXRlciBtdXN0IGJlIGEgdmFsdWUgYmV0d2VlbiAweDAwMDAgYW5kIDB4RkZGRi4KKyAgKiAgICAgICAgIFRoaXMgcGFyYW1ldGVyIG11c3QgYmUgYSB2YWx1ZSBiZXR3ZWVuIDB4MDAwMSBhbmQgMHhGRkZGLgogICAqIEBwYXJhbSAgUHVsc2UgU3BlY2lmaWVzIHRoZSBjb21wYXJlIHZhbHVlLgogICAqICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgbXVzdCBiZSBhIHZhbHVlIGJldHdlZW4gMHgwMDAwIGFuZCAweEZGRkYuCiAgICogQHJldHZhbCBIQUwgc3RhdHVzCkBAIC00OTIsNyArNDkyLDcgQEAKICAgLyogU3RhcnQgdGltZXIgaW4gY29udGludW91cyBtb2RlICovCiAgIF9fSEFMX0xQVElNX1NUQVJUX0NPTlRJTlVPVVMoaGxwdGltKTsKIAotICAvKiBDaGFuZ2UgdGhlIFRJTSBzdGF0ZSovCisgIC8qIENoYW5nZSB0aGUgTFBUSU0gc3RhdGUgKi8KICAgaGxwdGltLT5TdGF0ZSA9IEhBTF9MUFRJTV9TVEFURV9SRUFEWTsKIAogICAvKiBSZXR1cm4gZnVuY3Rpb24gc3RhdHVzICovCkBAIC01MDksNyArNTA5LDcgQEAKICAgLyogQ2hlY2sgdGhlIHBhcmFtZXRlcnMgKi8KICAgYXNzZXJ0X3BhcmFtKElTX0xQVElNX0lOU1RBTkNFKGhscHRpbS0+SW5zdGFuY2UpKTsKIAotICAvKiBTZXQgdGhlIExQVElNIHN0YXRlICovCisgIC8qIENoYW5nZSB0aGUgTFBUSU0gc3RhdGUgKi8KICAgaGxwdGltLT5TdGF0ZSA9IEhBTF9MUFRJTV9TVEFURV9CVVNZOwogCiAgIC8qIERpc2FibGUgdGhlIFBlcmlwaGVyYWwgKi8KQEAgLTUyMCw3ICs1MjAsNyBAQAogICAgIHJldHVybiBIQUxfVElNRU9VVDsKICAgfQogCi0gIC8qIENoYW5nZSB0aGUgTFBUSU0gc3RhdGUqLworICAvKiBDaGFuZ2UgdGhlIExQVElNIHN0YXRlICovCiAgIGhscHRpbS0+U3RhdGUgPSBIQUxfTFBUSU1fU1RBVEVfUkVBRFk7CiAKICAgLyogUmV0dXJuIGZ1bmN0aW9uIHN0YXR1cyAqLwpAQCAtNTMxLDcgKzUzMSw3IEBACiAgICogQGJyaWVmICBTdGFydCB0aGUgTFBUSU0gUFdNIGdlbmVyYXRpb24gaW4gaW50ZXJydXB0IG1vZGUuCiAgICogQHBhcmFtICBobHB0aW0gTFBUSU0gaGFuZGxlCiAgICogQHBhcmFtICBQZXJpb2QgU3BlY2lmaWVzIHRoZSBBdXRvcmVsb2FkIHZhbHVlLgotICAqICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgbXVzdCBiZSBhIHZhbHVlIGJldHdlZW4gMHgwMDAwIGFuZCAweEZGRkYKKyAgKiAgICAgICAgIFRoaXMgcGFyYW1ldGVyIG11c3QgYmUgYSB2YWx1ZSBiZXR3ZWVuIDB4MDAwMSBhbmQgMHhGRkZGCiAgICogQHBhcmFtICBQdWxzZSBTcGVjaWZpZXMgdGhlIGNvbXBhcmUgdmFsdWUuCiAgICogICAgICAgICBUaGlzIHBhcmFtZXRlciBtdXN0IGJlIGEgdmFsdWUgYmV0d2VlbiAweDAwMDAgYW5kIDB4RkZGRgogICAqIEByZXR2YWwgSEFMIHN0YXR1cwpAQCAtNjA5LDcgKzYwOSw3IEBACiAgIC8qIFN0YXJ0IHRpbWVyIGluIGNvbnRpbnVvdXMgbW9kZSAqLwogICBfX0hBTF9MUFRJTV9TVEFSVF9DT05USU5VT1VTKGhscHRpbSk7CiAKLSAgLyogQ2hhbmdlIHRoZSBUSU0gc3RhdGUqLworICAvKiBDaGFuZ2UgdGhlIExQVElNIHN0YXRlICovCiAgIGhscHRpbS0+U3RhdGUgPSBIQUxfTFBUSU1fU1RBVEVfUkVBRFk7CiAKICAgLyogUmV0dXJuIGZ1bmN0aW9uIHN0YXR1cyAqLwpAQCAtNjI2LDcgKzYyNiw3IEBACiAgIC8qIENoZWNrIHRoZSBwYXJhbWV0ZXJzICovCiAgIGFzc2VydF9wYXJhbShJU19MUFRJTV9JTlNUQU5DRShobHB0aW0tPkluc3RhbmNlKSk7CiAKLSAgLyogU2V0IHRoZSBMUFRJTSBzdGF0ZSAqLworICAvKiBDaGFuZ2UgdGhlIExQVElNIHN0YXRlICovCiAgIGhscHRpbS0+U3RhdGUgPSBIQUxfTFBUSU1fU1RBVEVfQlVTWTsKIAogICAvKiBEaXNhYmxlIHRoZSBQZXJpcGhlcmFsICovCkBAIC02NTYsNyArNjU2LDcgQEAKICAgICBfX0hBTF9MUFRJTV9ESVNBQkxFX0lUKGhscHRpbSwgTFBUSU1fSVRfRVhUVFJJRyk7CiAgIH0KIAotICAvKiBDaGFuZ2UgdGhlIExQVElNIHN0YXRlKi8KKyAgLyogQ2hhbmdlIHRoZSBMUFRJTSBzdGF0ZSAqLwogICBobHB0aW0tPlN0YXRlID0gSEFMX0xQVElNX1NUQVRFX1JFQURZOwogCiAgIC8qIFJldHVybiBmdW5jdGlvbiBzdGF0dXMgKi8KQEAgLTY2Nyw3ICs2NjcsNyBAQAogICAqIEBicmllZiAgU3RhcnQgdGhlIExQVElNIE9uZSBwdWxzZSBnZW5lcmF0aW9uLgogICAqIEBwYXJhbSAgaGxwdGltIExQVElNIGhhbmRsZQogICAqIEBwYXJhbSAgUGVyaW9kIFNwZWNpZmllcyB0aGUgQXV0b3JlbG9hZCB2YWx1ZS4KLSAgKiAgICAgICAgIFRoaXMgcGFyYW1ldGVyIG11c3QgYmUgYSB2YWx1ZSBiZXR3ZWVuIDB4MDAwMCBhbmQgMHhGRkZGLgorICAqICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgbXVzdCBiZSBhIHZhbHVlIGJldHdlZW4gMHgwMDAxIGFuZCAweEZGRkYuCiAgICogQHBhcmFtICBQdWxzZSBTcGVjaWZpZXMgdGhlIGNvbXBhcmUgdmFsdWUuCiAgICogICAgICAgICBUaGlzIHBhcmFtZXRlciBtdXN0IGJlIGEgdmFsdWUgYmV0d2VlbiAweDAwMDAgYW5kIDB4RkZGRi4KICAgKiBAcmV0dmFsIEhBTCBzdGF0dXMKQEAgLTcxNSw3ICs3MTUsNyBAQAogICAvKiBTdGFydCB0aW1lciBpbiBzaW5nbGUgKG9uZSBzaG90KSBtb2RlICovCiAgIF9fSEFMX0xQVElNX1NUQVJUX1NJTkdMRShobHB0aW0pOwogCi0gIC8qIENoYW5nZSB0aGUgVElNIHN0YXRlKi8KKyAgLyogQ2hhbmdlIHRoZSBMUFRJTSBzdGF0ZSAqLwogICBobHB0aW0tPlN0YXRlID0gSEFMX0xQVElNX1NUQVRFX1JFQURZOwogCiAgIC8qIFJldHVybiBmdW5jdGlvbiBzdGF0dXMgKi8KQEAgLTc0Myw3ICs3NDMsNyBAQAogICAgIHJldHVybiBIQUxfVElNRU9VVDsKICAgfQogCi0gIC8qIENoYW5nZSB0aGUgTFBUSU0gc3RhdGUqLworICAvKiBDaGFuZ2UgdGhlIExQVElNIHN0YXRlICovCiAgIGhscHRpbS0+U3RhdGUgPSBIQUxfTFBUSU1fU1RBVEVfUkVBRFk7CiAKICAgLyogUmV0dXJuIGZ1bmN0aW9uIHN0YXR1cyAqLwpAQCAtNzU0LDcgKzc1NCw3IEBACiAgICogQGJyaWVmICBTdGFydCB0aGUgTFBUSU0gT25lIHB1bHNlIGdlbmVyYXRpb24gaW4gaW50ZXJydXB0IG1vZGUuCiAgICogQHBhcmFtICBobHB0aW0gTFBUSU0gaGFuZGxlCiAgICogQHBhcmFtICBQZXJpb2QgU3BlY2lmaWVzIHRoZSBBdXRvcmVsb2FkIHZhbHVlLgotICAqICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgbXVzdCBiZSBhIHZhbHVlIGJldHdlZW4gMHgwMDAwIGFuZCAweEZGRkYuCisgICogICAgICAgICBUaGlzIHBhcmFtZXRlciBtdXN0IGJlIGEgdmFsdWUgYmV0d2VlbiAweDAwMDEgYW5kIDB4RkZGRi4KICAgKiBAcGFyYW0gIFB1bHNlIFNwZWNpZmllcyB0aGUgY29tcGFyZSB2YWx1ZS4KICAgKiAgICAgICAgIFRoaXMgcGFyYW1ldGVyIG11c3QgYmUgYSB2YWx1ZSBiZXR3ZWVuIDB4MDAwMCBhbmQgMHhGRkZGLgogICAqIEByZXR2YWwgSEFMIHN0YXR1cwpAQCAtODMyLDcgKzgzMiw3IEBACiAgIC8qIFN0YXJ0IHRpbWVyIGluIHNpbmdsZSAob25lIHNob3QpIG1vZGUgKi8KICAgX19IQUxfTFBUSU1fU1RBUlRfU0lOR0xFKGhscHRpbSk7CiAKLSAgLyogQ2hhbmdlIHRoZSBUSU0gc3RhdGUqLworICAvKiBDaGFuZ2UgdGhlIExQVElNIHN0YXRlICovCiAgIGhscHRpbS0+U3RhdGUgPSBIQUxfTFBUSU1fU1RBVEVfUkVBRFk7CiAKICAgLyogUmV0dXJuIGZ1bmN0aW9uIHN0YXR1cyAqLwpAQCAtODUyLDYgKzg1Miw3IEBACiAgIC8qIFNldCB0aGUgTFBUSU0gc3RhdGUgKi8KICAgaGxwdGltLT5TdGF0ZSA9IEhBTF9MUFRJTV9TVEFURV9CVVNZOwogCisKICAgLyogRGlzYWJsZSB0aGUgUGVyaXBoZXJhbCAqLwogICBfX0hBTF9MUFRJTV9ESVNBQkxFKGhscHRpbSk7CiAKQEAgLTg3OSw3ICs4ODAsNyBAQAogICAgIF9fSEFMX0xQVElNX0RJU0FCTEVfSVQoaGxwdGltLCBMUFRJTV9JVF9FWFRUUklHKTsKICAgfQogCi0gIC8qIENoYW5nZSB0aGUgTFBUSU0gc3RhdGUqLworICAvKiBDaGFuZ2UgdGhlIExQVElNIHN0YXRlICovCiAgIGhscHRpbS0+U3RhdGUgPSBIQUxfTFBUSU1fU1RBVEVfUkVBRFk7CiAKICAgLyogUmV0dXJuIGZ1bmN0aW9uIHN0YXR1cyAqLwpAQCAtODkwLDcgKzg5MSw3IEBACiAgICogQGJyaWVmICBTdGFydCB0aGUgTFBUSU0gaW4gU2V0IG9uY2UgbW9kZS4KICAgKiBAcGFyYW0gIGhscHRpbSBMUFRJTSBoYW5kbGUKICAgKiBAcGFyYW0gIFBlcmlvZCBTcGVjaWZpZXMgdGhlIEF1dG9yZWxvYWQgdmFsdWUuCi0gICogICAgICAgICBUaGlzIHBhcmFtZXRlciBtdXN0IGJlIGEgdmFsdWUgYmV0d2VlbiAweDAwMDAgYW5kIDB4RkZGRi4KKyAgKiAgICAgICAgIFRoaXMgcGFyYW1ldGVyIG11c3QgYmUgYSB2YWx1ZSBiZXR3ZWVuIDB4MDAwMSBhbmQgMHhGRkZGLgogICAqIEBwYXJhbSAgUHVsc2UgU3BlY2lmaWVzIHRoZSBjb21wYXJlIHZhbHVlLgogICAqICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgbXVzdCBiZSBhIHZhbHVlIGJldHdlZW4gMHgwMDAwIGFuZCAweEZGRkYuCiAgICogQHJldHZhbCBIQUwgc3RhdHVzCkBAIC05MzgsNyArOTM5LDcgQEAKICAgLyogU3RhcnQgdGltZXIgaW4gc2luZ2xlIChvbmUgc2hvdCkgbW9kZSAqLwogICBfX0hBTF9MUFRJTV9TVEFSVF9TSU5HTEUoaGxwdGltKTsKIAotICAvKiBDaGFuZ2UgdGhlIFRJTSBzdGF0ZSovCisgIC8qIENoYW5nZSB0aGUgTFBUSU0gc3RhdGUgKi8KICAgaGxwdGltLT5TdGF0ZSA9IEhBTF9MUFRJTV9TVEFURV9SRUFEWTsKIAogICAvKiBSZXR1cm4gZnVuY3Rpb24gc3RhdHVzICovCkBAIC05NjYsNyArOTY3LDcgQEAKICAgICByZXR1cm4gSEFMX1RJTUVPVVQ7CiAgIH0KIAotICAvKiBDaGFuZ2UgdGhlIExQVElNIHN0YXRlKi8KKyAgLyogQ2hhbmdlIHRoZSBMUFRJTSBzdGF0ZSAqLwogICBobHB0aW0tPlN0YXRlID0gSEFMX0xQVElNX1NUQVRFX1JFQURZOwogCiAgIC8qIFJldHVybiBmdW5jdGlvbiBzdGF0dXMgKi8KQEAgLTEwNTUsNyArMTA1Niw3IEBACiAgIC8qIFN0YXJ0IHRpbWVyIGluIHNpbmdsZSAob25lIHNob3QpIG1vZGUgKi8KICAgX19IQUxfTFBUSU1fU1RBUlRfU0lOR0xFKGhscHRpbSk7CiAKLSAgLyogQ2hhbmdlIHRoZSBUSU0gc3RhdGUqLworICAvKiBDaGFuZ2UgdGhlIExQVElNIHN0YXRlICovCiAgIGhscHRpbS0+U3RhdGUgPSBIQUxfTFBUSU1fU1RBVEVfUkVBRFk7CiAKICAgLyogUmV0dXJuIGZ1bmN0aW9uIHN0YXR1cyAqLwpAQCAtMTEwMiw3ICsxMTAzLDcgQEAKICAgICBfX0hBTF9MUFRJTV9ESVNBQkxFX0lUKGhscHRpbSwgTFBUSU1fSVRfRVhUVFJJRyk7CiAgIH0KIAotICAvKiBDaGFuZ2UgdGhlIExQVElNIHN0YXRlKi8KKyAgLyogQ2hhbmdlIHRoZSBMUFRJTSBzdGF0ZSAqLwogICBobHB0aW0tPlN0YXRlID0gSEFMX0xQVElNX1NUQVRFX1JFQURZOwogCiAgIC8qIFJldHVybiBmdW5jdGlvbiBzdGF0dXMgKi8KQEAgLTExMTMsNyArMTExNCw3IEBACiAgICogQGJyaWVmICBTdGFydCB0aGUgRW5jb2RlciBpbnRlcmZhY2UuCiAgICogQHBhcmFtICBobHB0aW0gTFBUSU0gaGFuZGxlCiAgICogQHBhcmFtICBQZXJpb2QgU3BlY2lmaWVzIHRoZSBBdXRvcmVsb2FkIHZhbHVlLgotICAqICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgbXVzdCBiZSBhIHZhbHVlIGJldHdlZW4gMHgwMDAwIGFuZCAweEZGRkYuCisgICogICAgICAgICBUaGlzIHBhcmFtZXRlciBtdXN0IGJlIGEgdmFsdWUgYmV0d2VlbiAweDAwMDEgYW5kIDB4RkZGRi4KICAgKiBAcmV0dmFsIEhBTCBzdGF0dXMKICAgKi8KIEhBTF9TdGF0dXNUeXBlRGVmIEhBTF9MUFRJTV9FbmNvZGVyX1N0YXJ0KExQVElNX0hhbmRsZVR5cGVEZWYgKmhscHRpbSwgdWludDMyX3QgUGVyaW9kKQpAQCAtMTE2Myw3ICsxMTY0LDcgQEAKICAgLyogU3RhcnQgdGltZXIgaW4gY29udGludW91cyBtb2RlICovCiAgIF9fSEFMX0xQVElNX1NUQVJUX0NPTlRJTlVPVVMoaGxwdGltKTsKIAotICAvKiBDaGFuZ2UgdGhlIFRJTSBzdGF0ZSovCisgIC8qIENoYW5nZSB0aGUgTFBUSU0gc3RhdGUgKi8KICAgaGxwdGltLT5TdGF0ZSA9IEhBTF9MUFRJTV9TVEFURV9SRUFEWTsKIAogICAvKiBSZXR1cm4gZnVuY3Rpb24gc3RhdHVzICovCkBAIC0xMTk0LDcgKzExOTUsNyBAQAogICAvKiBSZXNldCBFTkMgYml0IHRvIGRpc2FibGUgdGhlIGVuY29kZXIgaW50ZXJmYWNlICovCiAgIGhscHRpbS0+SW5zdGFuY2UtPkNGR1IgJj0gfkxQVElNX0NGR1JfRU5DOwogCi0gIC8qIENoYW5nZSB0aGUgVElNIHN0YXRlKi8KKyAgLyogQ2hhbmdlIHRoZSBMUFRJTSBzdGF0ZSAqLwogICBobHB0aW0tPlN0YXRlID0gSEFMX0xQVElNX1NUQVRFX1JFQURZOwogCiAgIC8qIFJldHVybiBmdW5jdGlvbiBzdGF0dXMgKi8KQEAgLTEyNzMsNyArMTI3NCw3IEBACiAgIC8qIFN0YXJ0IHRpbWVyIGluIGNvbnRpbnVvdXMgbW9kZSAqLwogICBfX0hBTF9MUFRJTV9TVEFSVF9DT05USU5VT1VTKGhscHRpbSk7CiAKLSAgLyogQ2hhbmdlIHRoZSBUSU0gc3RhdGUqLworICAvKiBDaGFuZ2UgdGhlIExQVElNIHN0YXRlICovCiAgIGhscHRpbS0+U3RhdGUgPSBIQUxfTFBUSU1fU1RBVEVfUkVBRFk7CiAKICAgLyogUmV0dXJuIGZ1bmN0aW9uIHN0YXR1cyAqLwpAQCAtMTMxMCw3ICsxMzExLDcgQEAKICAgLyogRGlzYWJsZSAic3dpdGNoIHRvIHVwIGRpcmVjdGlvbiIgaW50ZXJydXB0ICovCiAgIF9fSEFMX0xQVElNX0RJU0FCTEVfSVQoaGxwdGltLCBMUFRJTV9JVF9VUCk7CiAKLSAgLyogQ2hhbmdlIHRoZSBUSU0gc3RhdGUqLworICAvKiBDaGFuZ2UgdGhlIExQVElNIHN0YXRlICovCiAgIGhscHRpbS0+U3RhdGUgPSBIQUxfTFBUSU1fU1RBVEVfUkVBRFk7CiAKICAgLyogUmV0dXJuIGZ1bmN0aW9uIHN0YXR1cyAqLwpAQCAtMTMyMyw3ICsxMzI0LDcgQEAKICAgKiAgICAgICAgIHRyaWdnZXIgZXZlbnQgd2lsbCByZXNldCB0aGUgY291bnRlciBhbmQgdGhlIHRpbWVyIHJlc3RhcnRzLgogICAqIEBwYXJhbSAgaGxwdGltIExQVElNIGhhbmRsZQogICAqIEBwYXJhbSAgUGVyaW9kIFNwZWNpZmllcyB0aGUgQXV0b3JlbG9hZCB2YWx1ZS4KLSAgKiAgICAgICAgIFRoaXMgcGFyYW1ldGVyIG11c3QgYmUgYSB2YWx1ZSBiZXR3ZWVuIDB4MDAwMCBhbmQgMHhGRkZGLgorICAqICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgbXVzdCBiZSBhIHZhbHVlIGJldHdlZW4gMHgwMDAxIGFuZCAweEZGRkYuCiAgICogQHBhcmFtICBUaW1lb3V0IFNwZWNpZmllcyB0aGUgVGltZU91dCB2YWx1ZSB0byByZXNldCB0aGUgY291bnRlci4KICAgKiAgICAgICAgIFRoaXMgcGFyYW1ldGVyIG11c3QgYmUgYSB2YWx1ZSBiZXR3ZWVuIDB4MDAwMCBhbmQgMHhGRkZGLgogICAqIEByZXR2YWwgSEFMIHN0YXR1cwpAQCAtMTM3MSw3ICsxMzcyLDcgQEAKICAgLyogU3RhcnQgdGltZXIgaW4gY29udGludW91cyBtb2RlICovCiAgIF9fSEFMX0xQVElNX1NUQVJUX0NPTlRJTlVPVVMoaGxwdGltKTsKIAotICAvKiBDaGFuZ2UgdGhlIFRJTSBzdGF0ZSovCisgIC8qIENoYW5nZSB0aGUgTFBUSU0gc3RhdGUgKi8KICAgaGxwdGltLT5TdGF0ZSA9IEhBTF9MUFRJTV9TVEFURV9SRUFEWTsKIAogICAvKiBSZXR1cm4gZnVuY3Rpb24gc3RhdHVzICovCkBAIC0xNDAyLDcgKzE0MDMsNyBAQAogICAvKiBSZXNldCBUSU1PVVQgYml0IHRvIGVuYWJsZSB0aGUgdGltZW91dCBmdW5jdGlvbiAqLwogICBobHB0aW0tPkluc3RhbmNlLT5DRkdSICY9IH5MUFRJTV9DRkdSX1RJTU9VVDsKIAotICAvKiBDaGFuZ2UgdGhlIFRJTSBzdGF0ZSovCisgIC8qIENoYW5nZSB0aGUgTFBUSU0gc3RhdGUgKi8KICAgaGxwdGltLT5TdGF0ZSA9IEhBTF9MUFRJTV9TVEFURV9SRUFEWTsKIAogICAvKiBSZXR1cm4gZnVuY3Rpb24gc3RhdHVzICovCkBAIC0xNDE1LDcgKzE0MTYsNyBAQAogICAqICAgICAgICAgdHJpZ2dlciBldmVudCB3aWxsIHJlc2V0IHRoZSBjb3VudGVyIGFuZCB0aGUgdGltZXIgcmVzdGFydHMuCiAgICogQHBhcmFtICBobHB0aW0gTFBUSU0gaGFuZGxlCiAgICogQHBhcmFtICBQZXJpb2QgU3BlY2lmaWVzIHRoZSBBdXRvcmVsb2FkIHZhbHVlLgotICAqICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgbXVzdCBiZSBhIHZhbHVlIGJldHdlZW4gMHgwMDAwIGFuZCAweEZGRkYuCisgICogICAgICAgICBUaGlzIHBhcmFtZXRlciBtdXN0IGJlIGEgdmFsdWUgYmV0d2VlbiAweDAwMDEgYW5kIDB4RkZGRi4KICAgKiBAcGFyYW0gIFRpbWVvdXQgU3BlY2lmaWVzIHRoZSBUaW1lT3V0IHZhbHVlIHRvIHJlc2V0IHRoZSBjb3VudGVyLgogICAqICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgbXVzdCBiZSBhIHZhbHVlIGJldHdlZW4gMHgwMDAwIGFuZCAweEZGRkYuCiAgICogQHJldHZhbCBIQUwgc3RhdHVzCkBAIC0xNDg0LDcgKzE0ODUsNyBAQAogICAvKiBTdGFydCB0aW1lciBpbiBjb250aW51b3VzIG1vZGUgKi8KICAgX19IQUxfTFBUSU1fU1RBUlRfQ09OVElOVU9VUyhobHB0aW0pOwogCi0gIC8qIENoYW5nZSB0aGUgVElNIHN0YXRlKi8KKyAgLyogQ2hhbmdlIHRoZSBMUFRJTSBzdGF0ZSAqLwogICBobHB0aW0tPlN0YXRlID0gSEFMX0xQVElNX1NUQVRFX1JFQURZOwogCiAgIC8qIFJldHVybiBmdW5jdGlvbiBzdGF0dXMgKi8KQEAgLTE1MDEsOCArMTUwMiw2IEBACiAgIC8qIENoZWNrIHRoZSBwYXJhbWV0ZXJzICovCiAgIGFzc2VydF9wYXJhbShJU19MUFRJTV9JTlNUQU5DRShobHB0aW0tPkluc3RhbmNlKSk7CiAKLSAgLyogU2V0IHRoZSBMUFRJTSBzdGF0ZSAqLwotICBobHB0aW0tPlN0YXRlID0gSEFMX0xQVElNX1NUQVRFX0JVU1k7CiAjaWYgZGVmaW5lZChFWFRJX0lNUl9NUjIzKQogICAvKiBEaXNhYmxlIHJpc2luZyBlZGdlIHRyaWdnZXIgb24gdGhlIExQVElNIFdha2UtdXAgVGltZXIgRXh0aSBsaW5lICovCiAgIF9fSEFMX0xQVElNX1dBS0VVUFRJTUVSX0VYVElfRElTQUJMRV9SSVNJTkdfRURHRSgpOwpAQCAtMTUxMSw2ICsxNTEwLDkgQEAKICAgLyogRGlzYWJsZSBFWFRJIExpbmUgaW50ZXJydXB0IG9uIHRoZSBMUFRJTSBXYWtlLXVwIFRpbWVyICovCiAgIF9fSEFMX0xQVElNX1dBS0VVUFRJTUVSX0VYVElfRElTQUJMRV9JVCgpOwogCisgIC8qIFNldCB0aGUgTFBUSU0gc3RhdGUgKi8KKyAgaGxwdGltLT5TdGF0ZSA9IEhBTF9MUFRJTV9TVEFURV9CVVNZOworCiAgIC8qIERpc2FibGUgdGhlIFBlcmlwaGVyYWwgKi8KICAgX19IQUxfTFBUSU1fRElTQUJMRShobHB0aW0pOwogCkBAIC0xNTI1LDcgKzE1MjcsNyBAQAogICAvKiBEaXNhYmxlIENvbXBhcmUgbWF0Y2ggaW50ZXJydXB0ICovCiAgIF9fSEFMX0xQVElNX0RJU0FCTEVfSVQoaGxwdGltLCBMUFRJTV9JVF9DTVBNKTsKIAotICAvKiBDaGFuZ2UgdGhlIFRJTSBzdGF0ZSovCisgIC8qIENoYW5nZSB0aGUgTFBUSU0gc3RhdGUgKi8KICAgaGxwdGltLT5TdGF0ZSA9IEhBTF9MUFRJTV9TVEFURV9SRUFEWTsKIAogICAvKiBSZXR1cm4gZnVuY3Rpb24gc3RhdHVzICovCkBAIC0xNTM2LDcgKzE1MzgsNyBAQAogICAqIEBicmllZiAgU3RhcnQgdGhlIENvdW50ZXIgbW9kZS4KICAgKiBAcGFyYW0gIGhscHRpbSBMUFRJTSBoYW5kbGUKICAgKiBAcGFyYW0gIFBlcmlvZCBTcGVjaWZpZXMgdGhlIEF1dG9yZWxvYWQgdmFsdWUuCi0gICogICAgICAgICBUaGlzIHBhcmFtZXRlciBtdXN0IGJlIGEgdmFsdWUgYmV0d2VlbiAweDAwMDAgYW5kIDB4RkZGRi4KKyAgKiAgICAgICAgIFRoaXMgcGFyYW1ldGVyIG11c3QgYmUgYSB2YWx1ZSBiZXR3ZWVuIDB4MDAwMSBhbmQgMHhGRkZGLgogICAqIEByZXR2YWwgSEFMIHN0YXR1cwogICAqLwogSEFMX1N0YXR1c1R5cGVEZWYgSEFMX0xQVElNX0NvdW50ZXJfU3RhcnQoTFBUSU1fSGFuZGxlVHlwZURlZiAqaGxwdGltLCB1aW50MzJfdCBQZXJpb2QpCkBAIC0xNTc2LDcgKzE1NzgsNyBAQAogICAvKiBTdGFydCB0aW1lciBpbiBjb250aW51b3VzIG1vZGUgKi8KICAgX19IQUxfTFBUSU1fU1RBUlRfQ09OVElOVU9VUyhobHB0aW0pOwogCi0gIC8qIENoYW5nZSB0aGUgVElNIHN0YXRlKi8KKyAgLyogQ2hhbmdlIHRoZSBMUFRJTSBzdGF0ZSAqLwogICBobHB0aW0tPlN0YXRlID0gSEFMX0xQVElNX1NUQVRFX1JFQURZOwogCiAgIC8qIFJldHVybiBmdW5jdGlvbiBzdGF0dXMgKi8KQEAgLTE2MDQsNyArMTYwNiw3IEBACiAgICAgcmV0dXJuIEhBTF9USU1FT1VUOwogICB9CiAKLSAgLyogQ2hhbmdlIHRoZSBUSU0gc3RhdGUqLworICAvKiBDaGFuZ2UgdGhlIExQVElNIHN0YXRlICovCiAgIGhscHRpbS0+U3RhdGUgPSBIQUxfTFBUSU1fU1RBVEVfUkVBRFk7CiAKICAgLyogUmV0dXJuIGZ1bmN0aW9uIHN0YXR1cyAqLwpAQCAtMTYxNSw3ICsxNjE3LDcgQEAKICAgKiBAYnJpZWYgIFN0YXJ0IHRoZSBDb3VudGVyIG1vZGUgaW4gaW50ZXJydXB0IG1vZGUuCiAgICogQHBhcmFtICBobHB0aW0gTFBUSU0gaGFuZGxlCiAgICogQHBhcmFtICBQZXJpb2QgU3BlY2lmaWVzIHRoZSBBdXRvcmVsb2FkIHZhbHVlLgotICAqICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgbXVzdCBiZSBhIHZhbHVlIGJldHdlZW4gMHgwMDAwIGFuZCAweEZGRkYuCisgICogICAgICAgICBUaGlzIHBhcmFtZXRlciBtdXN0IGJlIGEgdmFsdWUgYmV0d2VlbiAweDAwMDEgYW5kIDB4RkZGRi4KICAgKiBAcmV0dmFsIEhBTCBzdGF0dXMKICAgKi8KIEhBTF9TdGF0dXNUeXBlRGVmIEhBTF9MUFRJTV9Db3VudGVyX1N0YXJ0X0lUKExQVElNX0hhbmRsZVR5cGVEZWYgKmhscHRpbSwgdWludDMyX3QgUGVyaW9kKQpAQCAtMTY3OSw3ICsxNjgxLDcgQEAKICAgLyogU3RhcnQgdGltZXIgaW4gY29udGludW91cyBtb2RlICovCiAgIF9fSEFMX0xQVElNX1NUQVJUX0NPTlRJTlVPVVMoaGxwdGltKTsKIAotICAvKiBDaGFuZ2UgdGhlIFRJTSBzdGF0ZSovCisgIC8qIENoYW5nZSB0aGUgTFBUSU0gc3RhdGUgKi8KICAgaGxwdGltLT5TdGF0ZSA9IEhBTF9MUFRJTV9TVEFURV9SRUFEWTsKIAogICAvKiBSZXR1cm4gZnVuY3Rpb24gc3RhdHVzICovCkBAIC0xNjk2LDggKzE2OTgsNiBAQAogICAvKiBDaGVjayB0aGUgcGFyYW1ldGVycyAqLwogICBhc3NlcnRfcGFyYW0oSVNfTFBUSU1fSU5TVEFOQ0UoaGxwdGltLT5JbnN0YW5jZSkpOwogCi0gIC8qIFNldCB0aGUgTFBUSU0gc3RhdGUgKi8KLSAgaGxwdGltLT5TdGF0ZSA9IEhBTF9MUFRJTV9TVEFURV9CVVNZOwogI2lmIGRlZmluZWQoRVhUSV9JTVJfTVIyMykKICAgLyogRGlzYWJsZSByaXNpbmcgZWRnZSB0cmlnZ2VyIG9uIHRoZSBMUFRJTSBXYWtlLXVwIFRpbWVyIEV4dGkgbGluZSAqLwogICBfX0hBTF9MUFRJTV9XQUtFVVBUSU1FUl9FWFRJX0RJU0FCTEVfUklTSU5HX0VER0UoKTsKQEAgLTE3MDYsNiArMTcwNiw5IEBACiAgIC8qIERpc2FibGUgRVhUSSBMaW5lIGludGVycnVwdCBvbiB0aGUgTFBUSU0gV2FrZS11cCBUaW1lciAqLwogICBfX0hBTF9MUFRJTV9XQUtFVVBUSU1FUl9FWFRJX0RJU0FCTEVfSVQoKTsKIAorICAvKiBTZXQgdGhlIExQVElNIHN0YXRlICovCisgIGhscHRpbS0+U3RhdGUgPSBIQUxfTFBUSU1fU1RBVEVfQlVTWTsKKwogICAvKiBEaXNhYmxlIHRoZSBQZXJpcGhlcmFsICovCiAgIF9fSEFMX0xQVElNX0RJU0FCTEUoaGxwdGltKTsKIApAQCAtMTcxOSw3ICsxNzIyLDcgQEAKIAogICAvKiBEaXNhYmxlIEF1dG9yZWxvYWQgbWF0Y2ggaW50ZXJydXB0ICovCiAgIF9fSEFMX0xQVElNX0RJU0FCTEVfSVQoaGxwdGltLCBMUFRJTV9JVF9BUlJNKTsKLSAgLyogQ2hhbmdlIHRoZSBUSU0gc3RhdGUqLworICAvKiBDaGFuZ2UgdGhlIExQVElNIHN0YXRlICovCiAgIGhscHRpbS0+U3RhdGUgPSBIQUxfTFBUSU1fU1RBVEVfUkVBRFk7CiAKICAgLyogUmV0dXJuIGZ1bmN0aW9uIHN0YXR1cyAqLwpAQCAtMjM2OCw5ICsyMzcxLDEyIEBACiAgIHVpbnQzMl90IHRtcENGR1I7CiAgIHVpbnQzMl90IHRtcENNUDsKICAgdWludDMyX3QgdG1wQVJSOworICB1aW50MzJfdCBwcmltYXNrX2JpdDsKICAgdWludDMyX3QgdG1wT1I7CiAKLSAgX19kaXNhYmxlX2lycSgpOworICAvKiBFbnRlciBjcml0aWNhbCBzZWN0aW9uICovCisgIHByaW1hc2tfYml0ID0gX19nZXRfUFJJTUFTSygpOworICBfX3NldF9QUklNQVNLKDEpIDsKIAogICAvKioqKioqKioqKiogU2F2ZSBMUFRJTSBDb25maWcgKioqKioqKioqKiovCiAgIC8qIFNhdmUgTFBUSU0gc291cmNlIGNsb2NrICovCkBAIC0yNDYwLDcgKzI0NjYsOCBAQAogICBobHB0aW0tPkluc3RhbmNlLT5DRkdSID0gdG1wQ0ZHUjsKICAgaGxwdGltLT5JbnN0YW5jZS0+T1IgPSB0bXBPUjsKIAotICBfX2VuYWJsZV9pcnEoKTsKKyAgLyogRXhpdCBjcml0aWNhbCBzZWN0aW9uOiByZXN0b3JlIHByZXZpb3VzIHByaW9yaXR5IG1hc2sgKi8KKyAgX19zZXRfUFJJTUFTSyhwcmltYXNrX2JpdCk7CiB9CiAvKioKICAgKiBAfQpAQCAtMjQ3NSw1ICsyNDgyLDMgQEAKIC8qKgogICAqIEB9CiAgICovCi0KLS8qKioqKioqKioqKioqKioqKioqKioqKiogKEMpIENPUFlSSUdIVCBTVE1pY3JvZWxlY3Ryb25pY3MgKioqKipFTkQgT0YgRklMRSoqKiovCmRpZmYgLS1naXQgYS9TcmMvc3RtMzJmNHh4X2hhbF9sdGRjLmMgYi9TcmMvc3RtMzJmNHh4X2hhbF9sdGRjLmMKaW5kZXggN2U0NDEzMC4uZmNjNWZhMSAxMDA2NDQKLS0tIGEvU3JjL3N0bTMyZjR4eF9oYWxfbHRkYy5jCisrKyBiL1NyYy9zdG0zMmY0eHhfaGFsX2x0ZGMuYwpAQCAtMTAsNiArMTAsMTcgQEAKICAgKiAgICAgICAgICAgKyBQZXJpcGhlcmFsIENvbnRyb2wgZnVuY3Rpb25zCiAgICogICAgICAgICAgICsgUGVyaXBoZXJhbCBTdGF0ZSBhbmQgRXJyb3JzIGZ1bmN0aW9ucwogICAqCisgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICAqIEBhdHRlbnRpb24KKyAgKgorICAqIENvcHlyaWdodCAoYykgMjAxNiBTVE1pY3JvZWxlY3Ryb25pY3MuCisgICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAgKgorICAqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgdW5kZXIgdGVybXMgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZQorICAqIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvZnR3YXJlIGNvbXBvbmVudC4KKyAgKiBJZiBubyBMSUNFTlNFIGZpbGUgY29tZXMgd2l0aCB0aGlzIHNvZnR3YXJlLCBpdCBpcyBwcm92aWRlZCBBUy1JUy4KKyAgKgorICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgQHZlcmJhdGltCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgICAgICAgICAgICAgICAgICAgICAgIyMjIyMgSG93IHRvIHVzZSB0aGlzIGRyaXZlciAjIyMjIwpAQCAtMTQ2LDE3ICsxNTcsNiBAQAogCiAgIEBlbmR2ZXJiYXRpbQogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAgKiBAYXR0ZW50aW9uCi0gICoKLSAgKiA8aDI+PGNlbnRlcj4mY29weTsgQ29weXJpZ2h0IChjKSAyMDE2IFNUTWljcm9lbGVjdHJvbmljcy4KLSAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvY2VudGVyPjwvaDI+Ci0gICoKLSAgKiBUaGlzIHNvZnR3YXJlIGNvbXBvbmVudCBpcyBsaWNlbnNlZCBieSBTVCB1bmRlciBCU0QgMy1DbGF1c2UgbGljZW5zZSwKLSAgKiB0aGUgIkxpY2Vuc2UiOyBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlCi0gICogTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0OgotICAqICAgICAgICAgICAgICAgICAgICAgICAgb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvQlNELTMtQ2xhdXNlCi0gICoKLSAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICovCiAKIC8qIEluY2x1ZGVzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCkBAIC0xNzgsNiArMTc4LDcgQEAKIAogLyogUHJpdmF0ZSB0eXBlZGVmIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KIC8qIFByaXZhdGUgZGVmaW5lIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisjZGVmaW5lIExURENfVElNRU9VVF9WQUxVRSAoKHVpbnQzMl90KTEwMFUpICAvKiAxMDBtcyAqLwogLyogUHJpdmF0ZSBtYWNybyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KIC8qIFByaXZhdGUgdmFyaWFibGVzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAvKiBQcml2YXRlIGZ1bmN0aW9uIHByb3RvdHlwZXMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwpAQCAtMjExLDcgKzIxMiw4IEBACiAgICovCiBIQUxfU3RhdHVzVHlwZURlZiBIQUxfTFREQ19Jbml0KExURENfSGFuZGxlVHlwZURlZiAqaGx0ZGMpCiB7Ci0gIHVpbnQzMl90IHRtcCwgdG1wMTsKKyAgdWludDMyX3QgdG1wOworICB1aW50MzJfdCB0bXAxOwogCiAgIC8qIENoZWNrIHRoZSBMVERDIHBlcmlwaGVyYWwgc3RhdGUgKi8KICAgaWYgKGhsdGRjID09IE5VTEwpCkBAIC0zMjAsNiArMzIyLDQ0IEBACiAKIEhBTF9TdGF0dXNUeXBlRGVmIEhBTF9MVERDX0RlSW5pdChMVERDX0hhbmRsZVR5cGVEZWYgKmhsdGRjKQogeworICB1aW50MzJfdCB0aWNrc3RhcnQ7CisKKyAgLyogQ2hlY2sgdGhlIExUREMgcGVyaXBoZXJhbCBzdGF0ZSAqLworICBpZiAoaGx0ZGMgPT0gTlVMTCkKKyAgeworICAgIHJldHVybiBIQUxfRVJST1I7CisgIH0KKworICAvKiBDaGVjayBmdW5jdGlvbiBwYXJhbWV0ZXJzICovCisgIGFzc2VydF9wYXJhbShJU19MVERDX0FMTF9JTlNUQU5DRShobHRkYy0+SW5zdGFuY2UpKTsKKworICAvKiBEaXNhYmxlIExUREMgTGF5ZXIgMSAqLworICBfX0hBTF9MVERDX0xBWUVSX0RJU0FCTEUoaGx0ZGMsIExURENfTEFZRVJfMSk7CisKKyNpZiBkZWZpbmVkKExURENfTGF5ZXIyX0JBU0UpCisgIC8qIERpc2FibGUgTFREQyBMYXllciAyICovCisgIF9fSEFMX0xURENfTEFZRVJfRElTQUJMRShobHRkYywgTFREQ19MQVlFUl8yKTsKKyNlbmRpZiAvKiBMVERDX0xheWVyMl9CQVNFICovCisKKyAgLyogUmVsb2FkIGR1cmluZyB2ZXJ0aWNhbCBibGFua2luZyBwZXJpb2QgKi8KKyAgX19IQUxfTFREQ19WRVJUSUNBTF9CTEFOS0lOR19SRUxPQURfQ09ORklHKGhsdGRjKTsKKworICAvKiBHZXQgdGljayAqLworICB0aWNrc3RhcnQgPSBIQUxfR2V0VGljaygpOworCisgIC8qIFdhaXQgZm9yIFZTWU5DIEludGVycnVwdCAqLworICB3aGlsZSAoUkVBRF9CSVQoaGx0ZGMtPkluc3RhbmNlLT5DRFNSLCBMVERDX0NEU1JfVlNZTkNTKSA9PSAwVSkKKyAgeworICAgIC8qIENoZWNrIGZvciB0aGUgVGltZW91dCAqLworICAgIGlmICgoSEFMX0dldFRpY2soKSAtIHRpY2tzdGFydCkgPiBMVERDX1RJTUVPVVRfVkFMVUUpCisgICAgeworICAgICAgYnJlYWs7CisgICAgfQorICB9CisKKyAgLyogRGlzYWJsZSBMVERDICAqLworICBfX0hBTF9MVERDX0RJU0FCTEUoaGx0ZGMpOworCiAjaWYgKFVTRV9IQUxfTFREQ19SRUdJU1RFUl9DQUxMQkFDS1MgPT0gMSkKICAgaWYgKGhsdGRjLT5Nc3BEZUluaXRDYWxsYmFjayA9PSBOVUxMKQogICB7CkBAIC0zOTEsNyArNDMxLDggQEAKICAgKiBAcGFyYW0gcENhbGxiYWNrIHBvaW50ZXIgdG8gdGhlIENhbGxiYWNrIGZ1bmN0aW9uCiAgICogQHJldHZhbCBzdGF0dXMKICAgKi8KLUhBTF9TdGF0dXNUeXBlRGVmIEhBTF9MVERDX1JlZ2lzdGVyQ2FsbGJhY2soTFREQ19IYW5kbGVUeXBlRGVmICpobHRkYywgSEFMX0xURENfQ2FsbGJhY2tJRFR5cGVEZWYgQ2FsbGJhY2tJRCwgcExURENfQ2FsbGJhY2tUeXBlRGVmIHBDYWxsYmFjaykKK0hBTF9TdGF0dXNUeXBlRGVmIEhBTF9MVERDX1JlZ2lzdGVyQ2FsbGJhY2soTFREQ19IYW5kbGVUeXBlRGVmICpobHRkYywgSEFMX0xURENfQ2FsbGJhY2tJRFR5cGVEZWYgQ2FsbGJhY2tJRCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcExURENfQ2FsbGJhY2tUeXBlRGVmIHBDYWxsYmFjaykKIHsKICAgSEFMX1N0YXR1c1R5cGVEZWYgc3RhdHVzID0gSEFMX09LOwogCkBAIC00NzMsNyArNTE0LDcgQEAKIAogLyoqCiAgICogQGJyaWVmICBVbnJlZ2lzdGVyIGFuIExUREMgQ2FsbGJhY2sKLSAgKiAgICAgICAgIExUREMgY2FsbGFiY2sgaXMgcmVkaXJlY3RlZCB0byB0aGUgd2VhayBwcmVkZWZpbmVkIGNhbGxiYWNrCisgICogICAgICAgICBMVERDIGNhbGxiYWNrIGlzIHJlZGlyZWN0ZWQgdG8gdGhlIHdlYWsgcHJlZGVmaW5lZCBjYWxsYmFjawogICAqIEBwYXJhbSBobHRkYyBsdGRjIGhhbmRsZQogICAqIEBwYXJhbSBDYWxsYmFja0lEIElEIG9mIHRoZSBjYWxsYmFjayB0byBiZSB1bnJlZ2lzdGVyZWQKICAgKiAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIG9uZSBvZiB0aGUgZm9sbG93aW5nIHZhbHVlczoKQEAgLTg4NywxMSArOTI4LDEzIEBACiAgIHsKICAgICBpZiAoaGx0ZGMtPkxheWVyQ2ZnW0xheWVySWR4XS5QaXhlbEZvcm1hdCA9PSBMVERDX1BJWEVMX0ZPUk1BVF9BTDQ0KQogICAgIHsKLSAgICAgIHRtcCAgPSAoKChjb3VudGVyICsgKDE2VSpjb3VudGVyKSkgPDwgMjRVKSB8ICgodWludDMyX3QpKCpwY29sb3JsdXQpICYgMHhGRlUpIHwgKCh1aW50MzJfdCkoKnBjb2xvcmx1dCkgJiAweEZGMDBVKSB8ICgodWludDMyX3QpKCpwY29sb3JsdXQpICYgMHhGRjAwMDBVKSk7CisgICAgICB0bXAgID0gKCgoY291bnRlciArICgxNlUgKiBjb3VudGVyKSkgPDwgMjRVKSB8ICgodWludDMyX3QpKCpwY29sb3JsdXQpICYgMHhGRlUpIHwgXAorICAgICAgICAgICAgICAoKHVpbnQzMl90KSgqcGNvbG9ybHV0KSAmIDB4RkYwMFUpIHwgKCh1aW50MzJfdCkoKnBjb2xvcmx1dCkgJiAweEZGMDAwMFUpKTsKICAgICB9CiAgICAgZWxzZQogICAgIHsKLSAgICAgIHRtcCAgPSAoKGNvdW50ZXIgPDwgMjRVKSB8ICgodWludDMyX3QpKCpwY29sb3JsdXQpICYgMHhGRlUpIHwgKCh1aW50MzJfdCkoKnBjb2xvcmx1dCkgJiAweEZGMDBVKSB8ICgodWludDMyX3QpKCpwY29sb3JsdXQpICYgMHhGRjAwMDBVKSk7CisgICAgICB0bXAgID0gKChjb3VudGVyIDw8IDI0VSkgfCAoKHVpbnQzMl90KSgqcGNvbG9ybHV0KSAmIDB4RkZVKSB8IFwKKyAgICAgICAgICAgICAgKCh1aW50MzJfdCkoKnBjb2xvcmx1dCkgJiAweEZGMDBVKSB8ICgodWludDMyX3QpKCpwY29sb3JsdXQpICYgMHhGRjAwMDBVKSk7CiAgICAgfQogCiAgICAgcGNvbG9ybHV0Kys7CkBAIC0xMzQ1LDEyICsxMzg4LDE0IEBACiB9CiAKIC8qKgotICAqIEBicmllZiAgRnVuY3Rpb24gdXNlZCB0byByZWNvbmZpZ3VyZSB0aGUgcGl0Y2ggZm9yIHNwZWNpZmljIGNhc2VzIHdoZXJlIHRoZSBhdHRhY2hlZCBMYXllcklkeCBidWZmZXIgaGF2ZSBhIHdpZHRoIHRoYXQgaXMKLSAgKiAgICAgICAgIGxhcmdlciB0aGFuIHRoZSBvbmUgaW50ZW5kZWQgdG8gYmUgZGlzcGxheWVkIG9uIHNjcmVlbi4gRXhhbXBsZSBvZiBhIGJ1ZmZlciA4MDB4NDgwIGF0dGFjaGVkIHRvIGxheWVyIGZvciB3aGljaCB3ZQotICAqICAgICAgICAgd2FudCB0byByZWFkIGFuZCBkaXNwbGF5IG9uIHNjcmVlbiBvbmx5IGEgcG9ydGlvbiAzMjB4MjQwIHRha2VuIGluIHRoZSBjZW50ZXIgb2YgdGhlIGJ1ZmZlci4gVGhlIHBpdGNoIGluIHBpeGVscwotICAqICAgICAgICAgd2lsbCBiZSBpbiB0aGF0IGNhc2UgODAwIHBpeGVscyBhbmQgbm90IDMyMCBwaXhlbHMgYXMgaW5pdGlhbGx5IGNvbmZpZ3VyZWQgYnkgcHJldmlvdXMgY2FsbCB0byBIQUxfTFREQ19Db25maWdMYXllcigpLgotICAqIEBub3RlICAgVGhpcyBmdW5jdGlvbiBzaG91bGQgYmUgY2FsbGVkIG9ubHkgYWZ0ZXIgYSBwcmV2aW91cyBjYWxsIHRvIEhBTF9MVERDX0NvbmZpZ0xheWVyKCkgdG8gbW9kaWZ5IHRoZSBkZWZhdWx0IHBpdGNoCi0gICogICAgICAgICBjb25maWd1cmVkIGJ5IEhBTF9MVERDX0NvbmZpZ0xheWVyKCkgd2hlbiByZXF1aXJlZCAocmVmZXIgdG8gZXhhbXBsZSBkZXNjcmliZWQganVzdCBhYm92ZSkuCisgICogQGJyaWVmICBGdW5jdGlvbiB1c2VkIHRvIHJlY29uZmlndXJlIHRoZSBwaXRjaCBmb3Igc3BlY2lmaWMgY2FzZXMgd2hlcmUgdGhlIGF0dGFjaGVkIExheWVySWR4IGJ1ZmZlciBoYXZlIGEgd2lkdGgKKyAgKiAgICAgICAgIHRoYXQgaXMgbGFyZ2VyIHRoYW4gdGhlIG9uZSBpbnRlbmRlZCB0byBiZSBkaXNwbGF5ZWQgb24gc2NyZWVuLiBFeGFtcGxlIG9mIGEgYnVmZmVyIDgwMHg0ODAgYXR0YWNoZWQgdG8KKyAgKiAgICAgICAgIGxheWVyIGZvciB3aGljaCB3ZSB3YW50IHRvIHJlYWQgYW5kIGRpc3BsYXkgb24gc2NyZWVuIG9ubHkgYSBwb3J0aW9uIDMyMHgyNDAgdGFrZW4gaW4gdGhlIGNlbnRlcgorICAqICAgICAgICAgb2YgdGhlIGJ1ZmZlci4KKyAgKiAgICAgICAgIFRoZSBwaXRjaCBpbiBwaXhlbHMgd2lsbCBiZSBpbiB0aGF0IGNhc2UgODAwIHBpeGVscyBhbmQgbm90IDMyMCBwaXhlbHMgYXMgaW5pdGlhbGx5IGNvbmZpZ3VyZWQgYnkgcHJldmlvdXMKKyAgKiAgICAgICAgIGNhbGwgdG8gSEFMX0xURENfQ29uZmlnTGF5ZXIoKS4KKyAgKiBAbm90ZSAgIFRoaXMgZnVuY3Rpb24gc2hvdWxkIGJlIGNhbGxlZCBvbmx5IGFmdGVyIGEgcHJldmlvdXMgY2FsbCB0byBIQUxfTFREQ19Db25maWdMYXllcigpIHRvIG1vZGlmeSB0aGUgZGVmYXVsdAorICAqICAgICAgICAgcGl0Y2ggY29uZmlndXJlZCBieSBIQUxfTFREQ19Db25maWdMYXllcigpIHdoZW4gcmVxdWlyZWQgKHJlZmVyIHRvIGV4YW1wbGUgZGVzY3JpYmVkIGp1c3QgYWJvdmUpLgogICAqIEBwYXJhbSAgaGx0ZGMgICAgICAgICAgICAgIHBvaW50ZXIgdG8gYSBMVERDX0hhbmRsZVR5cGVEZWYgc3RydWN0dXJlIHRoYXQgY29udGFpbnMKICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbiBmb3IgdGhlIExUREMuCiAgICogQHBhcmFtICBMaW5lUGl0Y2hJblBpeGVscyAgTmV3IGxpbmUgcGl0Y2ggaW4gcGl4ZWxzIHRvIGNvbmZpZ3VyZSBmb3IgTFREQyBsYXllciAnTGF5ZXJJZHgnLgpAQCAtMTUwNCw3ICsxNTQ5LDggQEAKICAgKiAgICAgICAgICAgICAgICAgICAgTFREQ19MQVlFUl8xICgwKSBvciBMVERDX0xBWUVSXzIgKDEpCiAgICogQHJldHZhbCBIQUwgc3RhdHVzCiAgICovCi1IQUxfU3RhdHVzVHlwZURlZiBIQUxfTFREQ19Db25maWdMYXllcl9Ob1JlbG9hZChMVERDX0hhbmRsZVR5cGVEZWYgKmhsdGRjLCBMVERDX0xheWVyQ2ZnVHlwZURlZiAqcExheWVyQ2ZnLCB1aW50MzJfdCBMYXllcklkeCkKK0hBTF9TdGF0dXNUeXBlRGVmIEhBTF9MVERDX0NvbmZpZ0xheWVyX05vUmVsb2FkKExURENfSGFuZGxlVHlwZURlZiAqaGx0ZGMsIExURENfTGF5ZXJDZmdUeXBlRGVmICpwTGF5ZXJDZmcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBMYXllcklkeCkKIHsKICAgLyogQ2hlY2sgdGhlIHBhcmFtZXRlcnMgKi8KICAgYXNzZXJ0X3BhcmFtKElTX0xURENfTEFZRVIoTGF5ZXJJZHgpKTsKQEAgLTE1NTMsNyArMTU5OSw4IEBACiAgICogICAgICAgICAgICAgICAgICAgTFREQ19MQVlFUl8xICgwKSBvciBMVERDX0xBWUVSXzIgKDEpCiAgICogQHJldHZhbCAgSEFMIHN0YXR1cwogICAqLwotSEFMX1N0YXR1c1R5cGVEZWYgSEFMX0xURENfU2V0V2luZG93U2l6ZV9Ob1JlbG9hZChMVERDX0hhbmRsZVR5cGVEZWYgKmhsdGRjLCB1aW50MzJfdCBYU2l6ZSwgdWludDMyX3QgWVNpemUsIHVpbnQzMl90IExheWVySWR4KQorSEFMX1N0YXR1c1R5cGVEZWYgSEFMX0xURENfU2V0V2luZG93U2l6ZV9Ob1JlbG9hZChMVERDX0hhbmRsZVR5cGVEZWYgKmhsdGRjLCB1aW50MzJfdCBYU2l6ZSwgdWludDMyX3QgWVNpemUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IExheWVySWR4KQogewogICBMVERDX0xheWVyQ2ZnVHlwZURlZiAqcExheWVyQ2ZnOwogCkBAIC0xNjA3LDcgKzE2NTQsOCBAQAogICAqICAgICAgICAgICAgICAgICAgICAgICAgIExURENfTEFZRVJfMSAoMCkgb3IgTFREQ19MQVlFUl8yICgxKQogICAqIEByZXR2YWwgIEhBTCBzdGF0dXMKICAgKi8KLUhBTF9TdGF0dXNUeXBlRGVmIEhBTF9MVERDX1NldFdpbmRvd1Bvc2l0aW9uX05vUmVsb2FkKExURENfSGFuZGxlVHlwZURlZiAqaGx0ZGMsIHVpbnQzMl90IFgwLCB1aW50MzJfdCBZMCwgdWludDMyX3QgTGF5ZXJJZHgpCitIQUxfU3RhdHVzVHlwZURlZiBIQUxfTFREQ19TZXRXaW5kb3dQb3NpdGlvbl9Ob1JlbG9hZChMVERDX0hhbmRsZVR5cGVEZWYgKmhsdGRjLCB1aW50MzJfdCBYMCwgdWludDMyX3QgWTAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBMYXllcklkeCkKIHsKICAgTFREQ19MYXllckNmZ1R5cGVEZWYgKnBMYXllckNmZzsKIApAQCAtMTc3NCwxMiArMTgyMiwxNCBAQAogfQogCiAvKioKLSAgKiBAYnJpZWYgIEZ1bmN0aW9uIHVzZWQgdG8gcmVjb25maWd1cmUgdGhlIHBpdGNoIGZvciBzcGVjaWZpYyBjYXNlcyB3aGVyZSB0aGUgYXR0YWNoZWQgTGF5ZXJJZHggYnVmZmVyIGhhdmUgYSB3aWR0aCB0aGF0IGlzCi0gICogICAgICAgICBsYXJnZXIgdGhhbiB0aGUgb25lIGludGVuZGVkIHRvIGJlIGRpc3BsYXllZCBvbiBzY3JlZW4uIEV4YW1wbGUgb2YgYSBidWZmZXIgODAweDQ4MCBhdHRhY2hlZCB0byBsYXllciBmb3Igd2hpY2ggd2UKLSAgKiAgICAgICAgIHdhbnQgdG8gcmVhZCBhbmQgZGlzcGxheSBvbiBzY3JlZW4gb25seSBhIHBvcnRpb24gMzIweDI0MCB0YWtlbiBpbiB0aGUgY2VudGVyIG9mIHRoZSBidWZmZXIuIFRoZSBwaXRjaCBpbiBwaXhlbHMKLSAgKiAgICAgICAgIHdpbGwgYmUgaW4gdGhhdCBjYXNlIDgwMCBwaXhlbHMgYW5kIG5vdCAzMjAgcGl4ZWxzIGFzIGluaXRpYWxseSBjb25maWd1cmVkIGJ5IHByZXZpb3VzIGNhbGwgdG8gSEFMX0xURENfQ29uZmlnTGF5ZXIoKS4KLSAgKiBAbm90ZSAgIFRoaXMgZnVuY3Rpb24gc2hvdWxkIGJlIGNhbGxlZCBvbmx5IGFmdGVyIGEgcHJldmlvdXMgY2FsbCB0byBIQUxfTFREQ19Db25maWdMYXllcigpIHRvIG1vZGlmeSB0aGUgZGVmYXVsdCBwaXRjaAotICAqICAgICAgICAgY29uZmlndXJlZCBieSBIQUxfTFREQ19Db25maWdMYXllcigpIHdoZW4gcmVxdWlyZWQgKHJlZmVyIHRvIGV4YW1wbGUgZGVzY3JpYmVkIGp1c3QgYWJvdmUpLgorICAqIEBicmllZiAgRnVuY3Rpb24gdXNlZCB0byByZWNvbmZpZ3VyZSB0aGUgcGl0Y2ggZm9yIHNwZWNpZmljIGNhc2VzIHdoZXJlIHRoZSBhdHRhY2hlZCBMYXllcklkeCBidWZmZXIgaGF2ZSBhIHdpZHRoCisgICogICAgICAgICB0aGF0IGlzIGxhcmdlciB0aGFuIHRoZSBvbmUgaW50ZW5kZWQgdG8gYmUgZGlzcGxheWVkIG9uIHNjcmVlbi4gRXhhbXBsZSBvZiBhIGJ1ZmZlciA4MDB4NDgwIGF0dGFjaGVkIHRvCisgICogICAgICAgICBsYXllciBmb3Igd2hpY2ggd2Ugd2FudCB0byByZWFkIGFuZCBkaXNwbGF5IG9uIHNjcmVlbiBvbmx5IGEgcG9ydGlvbiAzMjB4MjQwIHRha2VuIGluIHRoZSBjZW50ZXIKKyAgKiAgICAgICAgIG9mIHRoZSBidWZmZXIuCisgICogICAgICAgICBUaGUgcGl0Y2ggaW4gcGl4ZWxzIHdpbGwgYmUgaW4gdGhhdCBjYXNlIDgwMCBwaXhlbHMgYW5kIG5vdCAzMjAgcGl4ZWxzIGFzIGluaXRpYWxseSBjb25maWd1cmVkIGJ5CisgICogICAgICAgICBwcmV2aW91cyBjYWxsIHRvIEhBTF9MVERDX0NvbmZpZ0xheWVyKCkuCisgICogQG5vdGUgICBUaGlzIGZ1bmN0aW9uIHNob3VsZCBiZSBjYWxsZWQgb25seSBhZnRlciBhIHByZXZpb3VzIGNhbGwgdG8gSEFMX0xURENfQ29uZmlnTGF5ZXIoKSB0byBtb2RpZnkgdGhlIGRlZmF1bHQKKyAgKiAgICAgICAgIHBpdGNoIGNvbmZpZ3VyZWQgYnkgSEFMX0xURENfQ29uZmlnTGF5ZXIoKSB3aGVuIHJlcXVpcmVkIChyZWZlciB0byBleGFtcGxlIGRlc2NyaWJlZCBqdXN0IGFib3ZlKS4KICAgKiAgICAgICAgIFZhcmlhbnQgb2YgdGhlIGZ1bmN0aW9uIEhBTF9MVERDX1NldFBpdGNoIHdpdGhvdXQgaW1tZWRpYXRlIHJlbG9hZC4KICAgKiBAcGFyYW0gIGhsdGRjICAgICAgICAgICAgICBwb2ludGVyIHRvIGEgTFREQ19IYW5kbGVUeXBlRGVmIHN0cnVjdHVyZSB0aGF0IGNvbnRhaW5zCiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gZm9yIHRoZSBMVERDLgpAQCAtMjA4Miw3ICsyMTMyLDggQEAKICAgLyogQ29uZmlndXJlIHRoZSBob3Jpem9udGFsIHN0YXJ0IGFuZCBzdG9wIHBvc2l0aW9uICovCiAgIHRtcCA9ICgocExheWVyQ2ZnLT5XaW5kb3dYMSArICgoaGx0ZGMtPkluc3RhbmNlLT5CUENSICYgTFREQ19CUENSX0FIQlApID4+IDE2VSkpIDw8IDE2VSk7CiAgIExURENfTEFZRVIoaGx0ZGMsIExheWVySWR4KS0+V0hQQ1IgJj0gfihMVERDX0x4V0hQQ1JfV0hTVFBPUyB8IExURENfTHhXSFBDUl9XSFNQUE9TKTsKLSAgTFREQ19MQVlFUihobHRkYywgTGF5ZXJJZHgpLT5XSFBDUiA9ICgocExheWVyQ2ZnLT5XaW5kb3dYMCArICgoaGx0ZGMtPkluc3RhbmNlLT5CUENSICYgTFREQ19CUENSX0FIQlApID4+IDE2VSkgKyAxVSkgfCB0bXApOworICBMVERDX0xBWUVSKGhsdGRjLCBMYXllcklkeCktPldIUENSID0gKChwTGF5ZXJDZmctPldpbmRvd1gwICsgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKGhsdGRjLT5JbnN0YW5jZS0+QlBDUiAmIExURENfQlBDUl9BSEJQKSA+PiAxNlUpICsgMVUpIHwgdG1wKTsKIAogICAvKiBDb25maWd1cmUgdGhlIHZlcnRpY2FsIHN0YXJ0IGFuZCBzdG9wIHBvc2l0aW9uICovCiAgIHRtcCA9ICgocExheWVyQ2ZnLT5XaW5kb3dZMSArIChobHRkYy0+SW5zdGFuY2UtPkJQQ1IgJiBMVERDX0JQQ1JfQVZCUCkpIDw8IDE2VSk7CkBAIC0yMDk3LDcgKzIxNDgsOCBAQAogICB0bXAgPSAoKHVpbnQzMl90KShwTGF5ZXJDZmctPkJhY2tjb2xvci5HcmVlbikgPDwgOFUpOwogICB0bXAxID0gKCh1aW50MzJfdCkocExheWVyQ2ZnLT5CYWNrY29sb3IuUmVkKSA8PCAxNlUpOwogICB0bXAyID0gKHBMYXllckNmZy0+QWxwaGEwIDw8IDI0VSk7Ci0gIExURENfTEFZRVIoaGx0ZGMsIExheWVySWR4KS0+RENDUiAmPSB+KExURENfTHhEQ0NSX0RDQkxVRSB8IExURENfTHhEQ0NSX0RDR1JFRU4gfCBMVERDX0x4RENDUl9EQ1JFRCB8IExURENfTHhEQ0NSX0RDQUxQSEEpOworICBMVERDX0xBWUVSKGhsdGRjLCBMYXllcklkeCktPkRDQ1IgJj0gfihMVERDX0x4RENDUl9EQ0JMVUUgfCBMVERDX0x4RENDUl9EQ0dSRUVOIHwgTFREQ19MeERDQ1JfRENSRUQgfAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMVERDX0x4RENDUl9EQ0FMUEhBKTsKICAgTFREQ19MQVlFUihobHRkYywgTGF5ZXJJZHgpLT5EQ0NSID0gKHBMYXllckNmZy0+QmFja2NvbG9yLkJsdWUgfCB0bXAgfCB0bXAxIHwgdG1wMik7CiAKICAgLyogU3BlY2lmaWVzIHRoZSBjb25zdGFudCBhbHBoYSB2YWx1ZSAqLwpAQCAtMjEzNCw3ICsyMTg2LDggQEAKIAogICAvKiBDb25maWd1cmUgdGhlIGNvbG9yIGZyYW1lIGJ1ZmZlciBwaXRjaCBpbiBieXRlICovCiAgIExURENfTEFZRVIoaGx0ZGMsIExheWVySWR4KS0+Q0ZCTFIgICY9IH4oTFREQ19MeENGQkxSX0NGQkxMIHwgTFREQ19MeENGQkxSX0NGQlApOwotICBMVERDX0xBWUVSKGhsdGRjLCBMYXllcklkeCktPkNGQkxSICA9ICgoKHBMYXllckNmZy0+SW1hZ2VXaWR0aCAqIHRtcCkgPDwgMTZVKSB8ICgoKHBMYXllckNmZy0+V2luZG93WDEgLSBwTGF5ZXJDZmctPldpbmRvd1gwKSAqIHRtcCkgICsgM1UpKTsKKyAgTFREQ19MQVlFUihobHRkYywgTGF5ZXJJZHgpLT5DRkJMUiAgPSAoKChwTGF5ZXJDZmctPkltYWdlV2lkdGggKiB0bXApIDw8IDE2VSkgfCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoKHBMYXllckNmZy0+V2luZG93WDEgLSBwTGF5ZXJDZmctPldpbmRvd1gwKSAqIHRtcCkgICsgM1UpKTsKICAgLyogQ29uZmlndXJlIHRoZSBmcmFtZSBidWZmZXIgbGluZSBudW1iZXIgKi8KICAgTFREQ19MQVlFUihobHRkYywgTGF5ZXJJZHgpLT5DRkJMTlIgICY9IH4oTFREQ19MeENGQkxOUl9DRkJMTkJSKTsKICAgTFREQ19MQVlFUihobHRkYywgTGF5ZXJJZHgpLT5DRkJMTlIgID0gKHBMYXllckNmZy0+SW1hZ2VIZWlnaHQpOwpAQCAtMjE2MCw0ICsyMjEzLDMgQEAKICAgKiBAfQogICAqLwogCi0vKioqKioqKioqKioqKioqKioqKioqKioqIChDKSBDT1BZUklHSFQgU1RNaWNyb2VsZWN0cm9uaWNzICoqKioqRU5EIE9GIEZJTEUqKioqLwpkaWZmIC0tZ2l0IGEvU3JjL3N0bTMyZjR4eF9oYWxfbHRkY19leC5jIGIvU3JjL3N0bTMyZjR4eF9oYWxfbHRkY19leC5jCmluZGV4IDhjMzkxOTQuLjJlZTc3OTUgMTAwNjQ0Ci0tLSBhL1NyYy9zdG0zMmY0eHhfaGFsX2x0ZGNfZXguYworKysgYi9TcmMvc3RtMzJmNHh4X2hhbF9sdGRjX2V4LmMKQEAgLTYsMTMgKzYsMTIgQEAKICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICogQGF0dGVudGlvbgogICAqCi0gICogPGgyPjxjZW50ZXI+JmNvcHk7IENvcHlyaWdodCAoYykgMjAxNiBTVE1pY3JvZWxlY3Ryb25pY3MuCi0gICogQWxsIHJpZ2h0cyByZXNlcnZlZC48L2NlbnRlcj48L2gyPgorICAqIENvcHlyaWdodCAoYykgMjAxNiBTVE1pY3JvZWxlY3Ryb25pY3MuCisgICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgKgotICAqIFRoaXMgc29mdHdhcmUgY29tcG9uZW50IGlzIGxpY2Vuc2VkIGJ5IFNUIHVuZGVyIEJTRCAzLUNsYXVzZSBsaWNlbnNlLAotICAqIHRoZSAiTGljZW5zZSI7IFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUKLSAgKiBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQ6Ci0gICogICAgICAgICAgICAgICAgICAgICAgICBvcGVuc291cmNlLm9yZy9saWNlbnNlcy9CU0QtMy1DbGF1c2UKKyAgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIHVuZGVyIHRlcm1zIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUKKyAgKiBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb2Z0d2FyZSBjb21wb25lbnQuCisgICogSWYgbm8gTElDRU5TRSBmaWxlIGNvbWVzIHdpdGggdGhpcyBzb2Z0d2FyZSwgaXQgaXMgcHJvdmlkZWQgQVMtSVMuCiAgICoKICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICovCkBAIC03Niw3ICs3NSw4IEBACiAgICAgICAgICAgICAgICAgICAgICBMVERDX0RFUE9MQVJJVFlfQUwgPC0+IExURENfREVQT0xBUklUWV9BSCAqLwogCiAgIC8qIE5vdGUgMSA6IENvZGUgaW4gbGluZSB3LyBDdXJyZW50IExUREMgc3BlY2lmaWNhdGlvbiAqLwotICBobHRkYy0+SW5pdC5ERVBvbGFyaXR5ID0gKFZpZENmZy0+REVQb2xhcml0eSA9PSBEU0lfREFUQV9FTkFCTEVfQUNUSVZFX0hJR0gpID8gTFREQ19ERVBPTEFSSVRZX0FMIDogTFREQ19ERVBPTEFSSVRZX0FIOworICBobHRkYy0+SW5pdC5ERVBvbGFyaXR5ID0gKFZpZENmZy0+REVQb2xhcml0eSA9PSBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgRFNJX0RBVEFfRU5BQkxFX0FDVElWRV9ISUdIKSA/IExURENfREVQT0xBUklUWV9BTCA6IExURENfREVQT0xBUklUWV9BSDsKICAgaGx0ZGMtPkluaXQuVlNQb2xhcml0eSA9IChWaWRDZmctPlZTUG9sYXJpdHkgPT0gRFNJX1ZTWU5DX0FDVElWRV9ISUdIKSA/IExURENfVlNQT0xBUklUWV9BSCA6IExURENfVlNQT0xBUklUWV9BTDsKICAgaGx0ZGMtPkluaXQuSFNQb2xhcml0eSA9IChWaWRDZmctPkhTUG9sYXJpdHkgPT0gRFNJX0hTWU5DX0FDVElWRV9ISUdIKSA/IExURENfSFNQT0xBUklUWV9BSCA6IExURENfSFNQT0xBUklUWV9BTDsKIApAQCAtODgsOCArODgsMTAgQEAKICAgLyogUmV0cmlldmUgdmVydGljYWwgdGltaW5nIHBhcmFtZXRlcnMgZnJvbSBEU0kgKi8KICAgaGx0ZGMtPkluaXQuVmVydGljYWxTeW5jICAgICAgID0gVmlkQ2ZnLT5WZXJ0aWNhbFN5bmNBY3RpdmUgLSAxVTsKICAgaGx0ZGMtPkluaXQuQWNjdW11bGF0ZWRWQlAgICAgID0gVmlkQ2ZnLT5WZXJ0aWNhbFN5bmNBY3RpdmUgKyBWaWRDZmctPlZlcnRpY2FsQmFja1BvcmNoIC0gMVU7Ci0gIGhsdGRjLT5Jbml0LkFjY3VtdWxhdGVkQWN0aXZlSCA9IFZpZENmZy0+VmVydGljYWxTeW5jQWN0aXZlICsgVmlkQ2ZnLT5WZXJ0aWNhbEJhY2tQb3JjaCArIFZpZENmZy0+VmVydGljYWxBY3RpdmUgLSAxVTsKLSAgaGx0ZGMtPkluaXQuVG90YWxIZWlnaCAgICAgICAgID0gVmlkQ2ZnLT5WZXJ0aWNhbFN5bmNBY3RpdmUgKyBWaWRDZmctPlZlcnRpY2FsQmFja1BvcmNoICsgVmlkQ2ZnLT5WZXJ0aWNhbEFjdGl2ZSArIFZpZENmZy0+VmVydGljYWxGcm9udFBvcmNoIC0gMVU7CisgIGhsdGRjLT5Jbml0LkFjY3VtdWxhdGVkQWN0aXZlSCA9IFZpZENmZy0+VmVydGljYWxTeW5jQWN0aXZlICsgVmlkQ2ZnLT5WZXJ0aWNhbEJhY2tQb3JjaCArIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVmlkQ2ZnLT5WZXJ0aWNhbEFjdGl2ZSAtIDFVOworICBobHRkYy0+SW5pdC5Ub3RhbEhlaWdoICAgICAgICAgPSBWaWRDZmctPlZlcnRpY2FsU3luY0FjdGl2ZSArIFZpZENmZy0+VmVydGljYWxCYWNrUG9yY2ggKyBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZENmZy0+VmVydGljYWxBY3RpdmUgKyBWaWRDZmctPlZlcnRpY2FsRnJvbnRQb3JjaCAtIDFVOwogCiAgIHJldHVybiBIQUxfT0s7CiB9CkBAIC0xMTQsNyArMTE2LDggQEAKICAgICAgICAgICAgICAgICAgICAgIExURENfSFNQT0xBUklUWV9BTCA8LT4gTFREQ19IU1BPTEFSSVRZX0FIKSovCiAKICAgLyogTm90ZSAxIDogQ29kZSBpbiBsaW5lIHcvIEN1cnJlbnQgTFREQyBzcGVjaWZpY2F0aW9uICovCi0gIGhsdGRjLT5Jbml0LkRFUG9sYXJpdHkgPSAoQ21kQ2ZnLT5ERVBvbGFyaXR5ID09IERTSV9EQVRBX0VOQUJMRV9BQ1RJVkVfSElHSCkgPyBMVERDX0RFUE9MQVJJVFlfQUwgOiBMVERDX0RFUE9MQVJJVFlfQUg7CisgIGhsdGRjLT5Jbml0LkRFUG9sYXJpdHkgPSAoQ21kQ2ZnLT5ERVBvbGFyaXR5ID09IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBEU0lfREFUQV9FTkFCTEVfQUNUSVZFX0hJR0gpID8gTFREQ19ERVBPTEFSSVRZX0FMIDogTFREQ19ERVBPTEFSSVRZX0FIOwogICBobHRkYy0+SW5pdC5WU1BvbGFyaXR5ID0gKENtZENmZy0+VlNQb2xhcml0eSA9PSBEU0lfVlNZTkNfQUNUSVZFX0hJR0gpID8gTFREQ19WU1BPTEFSSVRZX0FMIDogTFREQ19WU1BPTEFSSVRZX0FIOwogICBobHRkYy0+SW5pdC5IU1BvbGFyaXR5ID0gKENtZENmZy0+SFNQb2xhcml0eSA9PSBEU0lfSFNZTkNfQUNUSVZFX0hJR0gpID8gTFREQ19IU1BPTEFSSVRZX0FMIDogTFREQ19IU1BPTEFSSVRZX0FIOwogCkBAIC0xNDYsNCArMTQ5LDMgQEAKICAgKiBAfQogICAqLwogCi0vKioqKioqKioqKioqKioqKioqKioqKioqIChDKSBDT1BZUklHSFQgU1RNaWNyb2VsZWN0cm9uaWNzICoqKioqRU5EIE9GIEZJTEUqKioqLwpkaWZmIC0tZ2l0IGEvU3JjL3N0bTMyZjR4eF9oYWxfbW1jLmMgYi9TcmMvc3RtMzJmNHh4X2hhbF9tbWMuYwppbmRleCBiMDgyN2Y3Li40NjZlYWI1IDEwMDY0NAotLS0gYS9TcmMvc3RtMzJmNHh4X2hhbF9tbWMuYworKysgYi9TcmMvc3RtMzJmNHh4X2hhbF9tbWMuYwpAQCAtMTAsNiArMTAsMTcgQEAKICAgKiAgICAgICAgICAgKyBQZXJpcGhlcmFsIENvbnRyb2wgZnVuY3Rpb25zCiAgICogICAgICAgICAgICsgTU1DIGNhcmQgQ29udHJvbCBmdW5jdGlvbnMKICAgKgorICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAgKiBAYXR0ZW50aW9uCisgICoKKyAgKiBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgorICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgICoKKyAgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIHVuZGVyIHRlcm1zIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUKKyAgKiBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb2Z0d2FyZSBjb21wb25lbnQuCisgICogSWYgbm8gTElDRU5TRSBmaWxlIGNvbWVzIHdpdGggdGhpcyBzb2Z0d2FyZSwgaXQgaXMgcHJvdmlkZWQgQVMtSVMuCisgICoKKyAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgIEB2ZXJiYXRpbQogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgICAgICAgICAgICAgICAgICAgICAgICMjIyMjIEhvdyB0byB1c2UgdGhpcyBkcml2ZXIgIyMjIyMKQEAgLTYzLDcgKzc0LDcgQEAKICAgICBTRE1NQyBQZXJpcGhlcmFsIChTVE0zMiBzaWRlKSBhbmQgdGhlIE1NQyBDYXJkLCBhbmQgcHV0IGl0IGludG8gU3RhbmRCeSBTdGF0ZSAoUmVhZHkgZm9yIGRhdGEgdHJhbnNmZXIpLgogICAgIFRoaXMgZnVuY3Rpb24gcHJvdmlkZSB0aGUgZm9sbG93aW5nIG9wZXJhdGlvbnM6CiAKLSAgICAoIykgSW5pdGlhbGl6ZSB0aGUgU0RNTUMgcGVyaXBoZXJhbCBpbnRlcmZhY2Ugd2l0aCBkZWZhdWxsdCBjb25maWd1cmF0aW9uLgorICAgICgjKSBJbml0aWFsaXplIHRoZSBTRE1NQyBwZXJpcGhlcmFsIGludGVyZmFjZSB3aXRoIGRlZmF1bHQgY29uZmlndXJhdGlvbi4KICAgICAgICAgVGhlIGluaXRpYWxpemF0aW9uIHByb2Nlc3MgaXMgZG9uZSBhdCA0MDBLSHouIFlvdSBjYW4gY2hhbmdlIG9yIGFkYXB0CiAgICAgICAgIHRoaXMgZnJlcXVlbmN5IGJ5IGFkanVzdGluZyB0aGUgIkNsb2NrRGl2IiBmaWVsZC4KICAgICAgICAgVGhlIE1NQyBDYXJkIGZyZXF1ZW5jeSAoU0RNTUNfQ0spIGlzIGNvbXB1dGVkIGFzIGZvbGxvd3M6CkBAIC0yMzgsMTcgKzI0OSw2IEBACiAKICAgQGVuZHZlcmJhdGltCiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICAqIEBhdHRlbnRpb24KLSAgKgotICAqIDxoMj48Y2VudGVyPiZjb3B5OyBDb3B5cmlnaHQgKGMpIDIwMTcgU1RNaWNyb2VsZWN0cm9uaWNzLgotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9jZW50ZXI+PC9oMj4KLSAgKgotICAqIFRoaXMgc29mdHdhcmUgY29tcG9uZW50IGlzIGxpY2Vuc2VkIGJ5IFNUIHVuZGVyIEJTRCAzLUNsYXVzZSBsaWNlbnNlLAotICAqIHRoZSAiTGljZW5zZSI7IFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUKLSAgKiBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQ6Ci0gICogICAgICAgICAgICAgICAgICAgICAgIG9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZQotICAqCi0gICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqLwogCiAvKiBJbmNsdWRlcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwpAQCAtMjcyLDcgKzI3MiwzMCBAQAogLyoqIEBhZGR0b2dyb3VwIE1NQ19Qcml2YXRlX0RlZmluZXMKICAgKiBAewogICAqLworI2lmIGRlZmluZWQgKFZERF9WQUxVRSkgJiYgKFZERF9WQUxVRSA8PSAxOTUwVSkKKyNkZWZpbmUgTU1DX1ZPTFRBR0VfUkFOR0UgICAgICAgICAgICAgICBFTU1DX0xPV19WT0xUQUdFX1JBTkdFCiAKKyNkZWZpbmUgTU1DX0VYVF9DU0RfUFdSX0NMXzI2X0lOREVYICAgICAyMDEKKyNkZWZpbmUgTU1DX0VYVF9DU0RfUFdSX0NMXzUyX0lOREVYICAgICAyMDAKKyNkZWZpbmUgTU1DX0VYVF9DU0RfUFdSX0NMX0REUl81Ml9JTkRFWCAyMzgKKworI2RlZmluZSBNTUNfRVhUX0NTRF9QV1JfQ0xfMjZfUE9TICAgICAgIDgKKyNkZWZpbmUgTU1DX0VYVF9DU0RfUFdSX0NMXzUyX1BPUyAgICAgICAwCisjZGVmaW5lIE1NQ19FWFRfQ1NEX1BXUl9DTF9ERFJfNTJfUE9TICAgMTYKKyNlbHNlCisjZGVmaW5lIE1NQ19WT0xUQUdFX1JBTkdFICAgICAgICAgICAgICAgRU1NQ19ISUdIX1ZPTFRBR0VfUkFOR0UKKworI2RlZmluZSBNTUNfRVhUX0NTRF9QV1JfQ0xfMjZfSU5ERVggICAgIDIwMworI2RlZmluZSBNTUNfRVhUX0NTRF9QV1JfQ0xfNTJfSU5ERVggICAgIDIwMgorI2RlZmluZSBNTUNfRVhUX0NTRF9QV1JfQ0xfRERSXzUyX0lOREVYIDIzOQorCisjZGVmaW5lIE1NQ19FWFRfQ1NEX1BXUl9DTF8yNl9QT1MgICAgICAgMjQKKyNkZWZpbmUgTU1DX0VYVF9DU0RfUFdSX0NMXzUyX1BPUyAgICAgICAxNgorI2RlZmluZSBNTUNfRVhUX0NTRF9QV1JfQ0xfRERSXzUyX1BPUyAgIDI0CisjZW5kaWYKKworLyogRnJlcXVlbmNpZXMgdXNlZCBpbiB0aGUgZHJpdmVyIGZvciBjbG9jayBkaXZpZGVyIGNhbGN1bGF0aW9uICovCisjZGVmaW5lIE1NQ19JTklUX0ZSRVEgICAgICAgICAgICAgICAgICAgNDAwMDAwVSAgIC8qIEluaXRpYWxpemF0aW9uIHBoYXNlIDogNDAwIGtIeiBtYXggKi8KIC8qKgogICAqIEB9CiAgICovCkBAIC0yOTYsNiArMzE5LDcgQEAKIHN0YXRpYyB2b2lkICAgICBNTUNfRE1BRXJyb3IoRE1BX0hhbmRsZVR5cGVEZWYgKmhkbWEpOwogc3RhdGljIHZvaWQgICAgIE1NQ19ETUFUeEFib3J0KERNQV9IYW5kbGVUeXBlRGVmICpoZG1hKTsKIHN0YXRpYyB2b2lkICAgICBNTUNfRE1BUnhBYm9ydChETUFfSGFuZGxlVHlwZURlZiAqaGRtYSk7CitzdGF0aWMgdWludDMyX3QgTU1DX1B3ckNsYXNzVXBkYXRlKE1NQ19IYW5kbGVUeXBlRGVmICpobW1jLCB1aW50MzJfdCBXaWRlKTsKIC8qKgogICAqIEB9CiAgICovCkBAIC0zNzUsNyArMzk5LDcgQEAKICAgfQogCiAgIC8qIEluaXRpYWxpemUgdGhlIGVycm9yIGNvZGUgKi8KLSAgaG1tYy0+RXJyb3JDb2RlID0gSEFMX0RNQV9FUlJPUl9OT05FOworICBobW1jLT5FcnJvckNvZGUgPSBIQUxfTU1DX0VSUk9SX05PTkU7CiAKICAgLyogSW5pdGlhbGl6ZSB0aGUgTU1DIG9wZXJhdGlvbiAqLwogICBobW1jLT5Db250ZXh0ID0gTU1DX0NPTlRFWFRfTk9ORTsKQEAgLTM4Myw2ICs0MDcsMTUgQEAKICAgLyogSW5pdGlhbGl6ZSB0aGUgTU1DIHN0YXRlICovCiAgIGhtbWMtPlN0YXRlID0gSEFMX01NQ19TVEFURV9SRUFEWTsKIAorICAvKiBDb25maWd1cmUgYnVzIHdpZHRoICovCisgIGlmIChobW1jLT5Jbml0LkJ1c1dpZGUgIT0gU0RJT19CVVNfV0lERV8xQikKKyAgeworICAgIGlmIChIQUxfTU1DX0NvbmZpZ1dpZGVCdXNPcGVyYXRpb24oaG1tYywgaG1tYy0+SW5pdC5CdXNXaWRlKSAhPSBIQUxfT0spCisgICAgeworICAgICAgcmV0dXJuIEhBTF9FUlJPUjsKKyAgICB9CisgIH0KKwogICByZXR1cm4gSEFMX09LOwogfQogCkBAIC00MjcsNiArNDYwLDkgQEAKICAgLyogRW5hYmxlIE1NQyBDbG9jayAqLwogICBfX0hBTF9NTUNfRU5BQkxFKGhtbWMpOwogCisgIC8qIFJlcXVpcmVkIHBvd2VyIHVwIHdhaXRpbmcgdGltZSBiZWZvcmUgc3RhcnRpbmcgdGhlIE1NQyBpbml0aWFsaXphdGlvbiAgc2VxdWVuY2UgKi8KKyAgSEFMX0RlbGF5KDIpOworCiAgIC8qIElkZW50aWZ5IGNhcmQgb3BlcmF0aW5nIHZvbHRhZ2UgKi8KICAgZXJyb3JzdGF0ZSA9IE1NQ19Qb3dlck9OKGhtbWMpOwogICBpZihlcnJvcnN0YXRlICE9IEhBTF9NTUNfRVJST1JfTk9ORSkKQEAgLTExNTEsNyArMTE4Nyw3IEBACiAKICAgaWYoaG1tYy0+U3RhdGUgPT0gSEFMX01NQ19TVEFURV9SRUFEWSkKICAgewotICAgIGhtbWMtPkVycm9yQ29kZSA9IEhBTF9ETUFfRVJST1JfTk9ORTsKKyAgICBobW1jLT5FcnJvckNvZGUgPSBIQUxfTU1DX0VSUk9SX05PTkU7CiAKICAgICBpZigoQmxvY2tBZGQgKyBOdW1iZXJPZkJsb2NrcykgPiAoaG1tYy0+TW1jQ2FyZC5Mb2dCbG9ja05icikpCiAgICAgewpAQCAtMjEyOSw2ICsyMTY1LDEyMiBAQAogfQogCiAvKioKKyAgKiBAYnJpZWYgIFJldHVybnMgaW5mb3JtYXRpb24gdGhlIGluZm9ybWF0aW9uIG9mIHRoZSBjYXJkIHdoaWNoIGFyZSBzdG9yZWQgb24KKyAgKiAgICAgICAgIHRoZSBFeHRlbmRlZCBDU0QgcmVnaXN0ZXIuCisgICogQHBhcmFtICBobW1jIFBvaW50ZXIgdG8gTU1DIGhhbmRsZQorICAqIEBwYXJhbSAgcEV4dENTRCBQb2ludGVyIHRvIGEgbWVtb3J5IGFyZWEgKDUxMiBieXRlcykgdGhhdCBjb250YWlucyBhbGwgCisgICogICAgICAgICBFeHRlbmRlZCBDU0QgcmVnaXN0ZXIgcGFyYW1ldGVycworICAqIEBwYXJhbSAgVGltZW91dCBTcGVjaWZ5IHRpbWVvdXQgdmFsdWUKKyAgKiBAcmV0dmFsIEhBTCBzdGF0dXMKKyAgKi8KK0hBTF9TdGF0dXNUeXBlRGVmIEhBTF9NTUNfR2V0Q2FyZEV4dENTRChNTUNfSGFuZGxlVHlwZURlZiAqaG1tYywgdWludDMyX3QgKnBFeHRDU0QsIHVpbnQzMl90IFRpbWVvdXQpCit7CisgIFNESU9fRGF0YUluaXRUeXBlRGVmIGNvbmZpZzsKKyAgdWludDMyX3QgZXJyb3JzdGF0ZTsKKyAgdWludDMyX3QgdGlja3N0YXJ0ID0gSEFMX0dldFRpY2soKTsKKyAgdWludDMyX3QgY291bnQ7CisgIHVpbnQzMl90ICp0bXBfYnVmOworCisgIGlmKE5VTEwgPT0gcEV4dENTRCkKKyAgeworICAgIGhtbWMtPkVycm9yQ29kZSB8PSBIQUxfTU1DX0VSUk9SX1BBUkFNOworICAgIHJldHVybiBIQUxfRVJST1I7CisgIH0KKworICBpZihobW1jLT5TdGF0ZSA9PSBIQUxfTU1DX1NUQVRFX1JFQURZKQorICB7CisgICAgaG1tYy0+RXJyb3JDb2RlID0gSEFMX01NQ19FUlJPUl9OT05FOworCisgICAgaG1tYy0+U3RhdGUgPSBIQUxfTU1DX1NUQVRFX0JVU1k7CisKKyAgICAvKiBJbml0aWFsaXplIGRhdGEgY29udHJvbCByZWdpc3RlciAqLworICAgIGhtbWMtPkluc3RhbmNlLT5EQ1RSTCA9IDA7CisKKyAgICAvKiBJbml0aWFpemUgdGhlIGRlc3RpbmF0aW9uIHBvaW50ZXIgKi8KKyAgICB0bXBfYnVmID0gcEV4dENTRDsKKworICAgIC8qIENvbmZpZ3VyZSB0aGUgTU1DIERQU00gKERhdGEgUGF0aCBTdGF0ZSBNYWNoaW5lKSAqLworICAgIGNvbmZpZy5EYXRhVGltZU91dCAgID0gU0RNTUNfREFUQVRJTUVPVVQ7CisgICAgY29uZmlnLkRhdGFMZW5ndGggICAgPSA1MTI7CisgICAgY29uZmlnLkRhdGFCbG9ja1NpemUgPSBTRElPX0RBVEFCTE9DS19TSVpFXzUxMkI7CisgICAgY29uZmlnLlRyYW5zZmVyRGlyICAgPSBTRElPX1RSQU5TRkVSX0RJUl9UT19TRElPOworICAgIGNvbmZpZy5UcmFuc2Zlck1vZGUgID0gU0RJT19UUkFOU0ZFUl9NT0RFX0JMT0NLOworICAgIGNvbmZpZy5EUFNNICAgICAgICAgID0gU0RJT19EUFNNX0VOQUJMRTsKKyAgICAodm9pZClTRElPX0NvbmZpZ0RhdGEoaG1tYy0+SW5zdGFuY2UsICZjb25maWcpOworCisgICAgLyogU2VuZCBFeHRDU0QgUmVhZCBjb21tYW5kIHRvIENhcmQgKi8KKyAgICBlcnJvcnN0YXRlID0gU0RNTUNfQ21kU2VuZEVYVENTRChobW1jLT5JbnN0YW5jZSwgMCk7CisgICAgaWYoZXJyb3JzdGF0ZSAhPSBIQUxfTU1DX0VSUk9SX05PTkUpCisgICAgeworICAgICAgLyogQ2xlYXIgYWxsIHRoZSBzdGF0aWMgZmxhZ3MgKi8KKyAgICAgIF9fSEFMX01NQ19DTEVBUl9GTEFHKGhtbWMsIFNESU9fU1RBVElDX0ZMQUdTKTsKKyAgICAgIGhtbWMtPkVycm9yQ29kZSB8PSBlcnJvcnN0YXRlOworICAgICAgaG1tYy0+U3RhdGUgPSBIQUxfTU1DX1NUQVRFX1JFQURZOworICAgICAgcmV0dXJuIEhBTF9FUlJPUjsKKyAgICB9CisKKyAgICAvKiBQb2xsIG9uIFNETU1DIGZsYWdzICovCisgICAgd2hpbGUoIV9fSEFMX01NQ19HRVRfRkxBRyhobW1jLCBTRElPX0ZMQUdfUlhPVkVSUiB8IFNESU9fRkxBR19EQ1JDRkFJTCB8IFNESU9fRkxBR19EVElNRU9VVCB8IFNESU9fRkxBR19EQVRBRU5EKSkKKyAgICB7CisgICAgICBpZihfX0hBTF9NTUNfR0VUX0ZMQUcoaG1tYywgU0RJT19GTEFHX1JYRklGT0hGKSkKKyAgICAgIHsKKyAgICAgICAgLyogUmVhZCBkYXRhIGZyb20gU0RNTUMgUnggRklGTyAqLworICAgICAgICBmb3IoY291bnQgPSAwVTsgY291bnQgPCA4VTsgY291bnQrKykKKyAgICAgICAgeworICAgICAgICAgICp0bXBfYnVmID0gU0RJT19SZWFkRklGTyhobW1jLT5JbnN0YW5jZSk7CisgICAgICAgICAgdG1wX2J1ZisrOworICAgICAgICB9CisgICAgICB9CisKKyAgICAgIGlmKCgoSEFMX0dldFRpY2soKS10aWNrc3RhcnQpID49ICBUaW1lb3V0KSB8fCAoVGltZW91dCA9PSAwVSkpCisgICAgICB7CisgICAgICAgIC8qIENsZWFyIGFsbCB0aGUgc3RhdGljIGZsYWdzICovCisgICAgICAgIF9fSEFMX01NQ19DTEVBUl9GTEFHKGhtbWMsIFNESU9fU1RBVElDX0ZMQUdTKTsKKyAgICAgICAgaG1tYy0+RXJyb3JDb2RlIHw9IEhBTF9NTUNfRVJST1JfVElNRU9VVDsKKyAgICAgICAgaG1tYy0+U3RhdGU9IEhBTF9NTUNfU1RBVEVfUkVBRFk7CisgICAgICAgIHJldHVybiBIQUxfVElNRU9VVDsKKyAgICAgIH0KKyAgICB9CisKKyAgICAvKiBHZXQgZXJyb3Igc3RhdGUgKi8KKyAgICBpZihfX0hBTF9NTUNfR0VUX0ZMQUcoaG1tYywgU0RJT19GTEFHX0RUSU1FT1VUKSkKKyAgICB7CisgICAgICAvKiBDbGVhciBhbGwgdGhlIHN0YXRpYyBmbGFncyAqLworICAgICAgX19IQUxfTU1DX0NMRUFSX0ZMQUcoaG1tYywgU0RJT19TVEFUSUNfRkxBR1MpOworICAgICAgaG1tYy0+RXJyb3JDb2RlIHw9IEhBTF9NTUNfRVJST1JfREFUQV9USU1FT1VUOworICAgICAgaG1tYy0+U3RhdGUgPSBIQUxfTU1DX1NUQVRFX1JFQURZOworICAgICAgcmV0dXJuIEhBTF9FUlJPUjsKKyAgICB9CisgICAgZWxzZSBpZihfX0hBTF9NTUNfR0VUX0ZMQUcoaG1tYywgU0RJT19GTEFHX0RDUkNGQUlMKSkKKyAgICB7CisgICAgICAvKiBDbGVhciBhbGwgdGhlIHN0YXRpYyBmbGFncyAqLworICAgICAgX19IQUxfTU1DX0NMRUFSX0ZMQUcoaG1tYywgU0RJT19TVEFUSUNfRkxBR1MpOworICAgICAgaG1tYy0+RXJyb3JDb2RlIHw9IEhBTF9NTUNfRVJST1JfREFUQV9DUkNfRkFJTDsKKyAgICAgIGhtbWMtPlN0YXRlID0gSEFMX01NQ19TVEFURV9SRUFEWTsKKyAgICAgIHJldHVybiBIQUxfRVJST1I7CisgICAgfQorICAgIGVsc2UgaWYoX19IQUxfTU1DX0dFVF9GTEFHKGhtbWMsIFNESU9fRkxBR19SWE9WRVJSKSkKKyAgICB7CisgICAgICAvKiBDbGVhciBhbGwgdGhlIHN0YXRpYyBmbGFncyAqLworICAgICAgX19IQUxfTU1DX0NMRUFSX0ZMQUcoaG1tYywgU0RJT19TVEFUSUNfRkxBR1MpOworICAgICAgaG1tYy0+RXJyb3JDb2RlIHw9IEhBTF9NTUNfRVJST1JfUlhfT1ZFUlJVTjsKKyAgICAgIGhtbWMtPlN0YXRlID0gSEFMX01NQ19TVEFURV9SRUFEWTsKKyAgICAgIHJldHVybiBIQUxfRVJST1I7CisgICAgfQorICAgIGVsc2UKKyAgICB7CisgICAgICAvKiBOb3RoaW5nIHRvIGRvICovCisgICAgfQorCisgICAgLyogQ2xlYXIgYWxsIHRoZSBzdGF0aWMgZmxhZ3MgKi8KKyAgICBfX0hBTF9NTUNfQ0xFQVJfRkxBRyhobW1jLCBTRElPX1NUQVRJQ19EQVRBX0ZMQUdTKTsKKyAgICBobW1jLT5TdGF0ZSA9IEhBTF9NTUNfU1RBVEVfUkVBRFk7CisgIH0KKworICByZXR1cm4gSEFMX09LOworfQorCisvKioKICAgKiBAYnJpZWYgIEVuYWJsZXMgd2lkZSBidXMgb3BlcmF0aW9uIGZvciB0aGUgcmVxdWVzdGVkIGNhcmQgaWYgc3VwcG9ydGVkIGJ5CiAgICogICAgICAgICBjYXJkLgogICAqIEBwYXJhbSAgaG1tYzogUG9pbnRlciB0byBNTUMgaGFuZGxlCkBAIC0yMTQxLDEwICsyMjkzLDEwIEBACiAgICovCiBIQUxfU3RhdHVzVHlwZURlZiBIQUxfTU1DX0NvbmZpZ1dpZGVCdXNPcGVyYXRpb24oTU1DX0hhbmRsZVR5cGVEZWYgKmhtbWMsIHVpbnQzMl90IFdpZGVNb2RlKQogewotICBfX0lPIHVpbnQzMl90IGNvdW50ID0gMFU7CisgIHVpbnQzMl90IGNvdW50OwogICBTRElPX0luaXRUeXBlRGVmIEluaXQ7CiAgIHVpbnQzMl90IGVycm9yc3RhdGU7Ci0gIHVpbnQzMl90IHJlc3BvbnNlID0gMFUsIGJ1c3kgPSAwVTsKKyAgdWludDMyX3QgcmVzcG9uc2UgPSAwVTsKIAogICAvKiBDaGVjayB0aGUgcGFyYW1ldGVycyAqLwogICBhc3NlcnRfcGFyYW0oSVNfU0RJT19CVVNfV0lERShXaWRlTW9kZSkpOwpAQCAtMjE1MiwxMTYgKzIzMDQsODQgQEAKICAgLyogQ2hhbmdlIFN0YXRlICovCiAgIGhtbWMtPlN0YXRlID0gSEFMX01NQ19TVEFURV9CVVNZOwogCi0gIC8qIFVwZGF0ZSBDbG9jayBmb3IgQnVzIG1vZGUgdXBkYXRlICovCi0gIEluaXQuQ2xvY2tFZGdlICAgICAgICAgICA9IFNESU9fQ0xPQ0tfRURHRV9SSVNJTkc7Ci0gIEluaXQuQ2xvY2tCeXBhc3MgICAgICAgICA9IFNESU9fQ0xPQ0tfQllQQVNTX0RJU0FCTEU7Ci0gIEluaXQuQ2xvY2tQb3dlclNhdmUgICAgICA9IFNESU9fQ0xPQ0tfUE9XRVJfU0FWRV9ESVNBQkxFOwotICBJbml0LkJ1c1dpZGUgICAgICAgICAgICAgPSBXaWRlTW9kZTsKLSAgSW5pdC5IYXJkd2FyZUZsb3dDb250cm9sID0gU0RJT19IQVJEV0FSRV9GTE9XX0NPTlRST0xfRElTQUJMRTsKLSAgSW5pdC5DbG9ja0RpdiAgICAgICAgICAgID0gU0RJT19JTklUX0NMS19ESVY7Ci0gIC8qIEluaXRpYWxpemUgU0RJTyovCi0gICh2b2lkKVNESU9fSW5pdChobW1jLT5JbnN0YW5jZSwgSW5pdCk7IAorICBlcnJvcnN0YXRlID0gTU1DX1B3ckNsYXNzVXBkYXRlKGhtbWMsIFdpZGVNb2RlKTsKIAotICBpZihXaWRlTW9kZSA9PSBTRElPX0JVU19XSURFXzhCKQorICBpZihlcnJvcnN0YXRlID09IEhBTF9NTUNfRVJST1JfTk9ORSkKICAgewotICAgIGVycm9yc3RhdGUgPSBTRE1NQ19DbWRTd2l0Y2goaG1tYy0+SW5zdGFuY2UsIDB4MDNCNzAyMDBVKTsKLSAgICBpZihlcnJvcnN0YXRlICE9IEhBTF9NTUNfRVJST1JfTk9ORSkKKyAgICBpZihXaWRlTW9kZSA9PSBTRElPX0JVU19XSURFXzhCKQogICAgIHsKLSAgICAgIGhtbWMtPkVycm9yQ29kZSB8PSBlcnJvcnN0YXRlOworICAgICAgZXJyb3JzdGF0ZSA9IFNETU1DX0NtZFN3aXRjaChobW1jLT5JbnN0YW5jZSwgMHgwM0I3MDIwMFUpOwogICAgIH0KLSAgfQotICBlbHNlIGlmKFdpZGVNb2RlID09IFNESU9fQlVTX1dJREVfNEIpCi0gIHsKLSAgICBlcnJvcnN0YXRlID0gU0RNTUNfQ21kU3dpdGNoKGhtbWMtPkluc3RhbmNlLCAweDAzQjcwMTAwVSk7Ci0gICAgaWYoZXJyb3JzdGF0ZSAhPSBIQUxfTU1DX0VSUk9SX05PTkUpCisgICAgZWxzZSBpZihXaWRlTW9kZSA9PSBTRElPX0JVU19XSURFXzRCKQogICAgIHsKLSAgICAgIGhtbWMtPkVycm9yQ29kZSB8PSBlcnJvcnN0YXRlOworICAgICAgZXJyb3JzdGF0ZSA9IFNETU1DX0NtZFN3aXRjaChobW1jLT5JbnN0YW5jZSwgMHgwM0I3MDEwMFUpOwogICAgIH0KLSAgfQotICBlbHNlIGlmKFdpZGVNb2RlID09IFNESU9fQlVTX1dJREVfMUIpCi0gIHsKLSAgICBlcnJvcnN0YXRlID0gU0RNTUNfQ21kU3dpdGNoKGhtbWMtPkluc3RhbmNlLCAweDAzQjcwMDAwVSk7Ci0gICAgaWYoZXJyb3JzdGF0ZSAhPSBIQUxfTU1DX0VSUk9SX05PTkUpCisgICAgZWxzZSBpZihXaWRlTW9kZSA9PSBTRElPX0JVU19XSURFXzFCKQogICAgIHsKLSAgICAgIGhtbWMtPkVycm9yQ29kZSB8PSBlcnJvcnN0YXRlOworICAgICAgZXJyb3JzdGF0ZSA9IFNETU1DX0NtZFN3aXRjaChobW1jLT5JbnN0YW5jZSwgMHgwM0I3MDAwMFUpOwogICAgIH0KLSAgfQotICBlbHNlCi0gIHsKLSAgICAvKiBXaWRlTW9kZSBpcyBub3QgYSB2YWxpZCBhcmd1bWVudCovCi0gICAgaG1tYy0+RXJyb3JDb2RlIHw9IEhBTF9NTUNfRVJST1JfUEFSQU07Ci0gIH0KLQotICAvKiBDaGVjayBmb3Igc3dpdGNoIGVycm9yIGFuZCB2aW9sYXRpb24gb2YgdGhlIHRyaWFsIG51bWJlciBvZiBzZW5kaW5nIENNRCAxMyAqLwotICB3aGlsZShidXN5ID09IDBVKQotICB7Ci0gICAgaWYoY291bnQgPT0gU0RNTUNfTUFYX1RSSUFMKQorICAgIGVsc2UKICAgICB7Ci0gICAgICBobW1jLT5TdGF0ZSA9IEhBTF9NTUNfU1RBVEVfUkVBRFk7Ci0gICAgICBobW1jLT5FcnJvckNvZGUgfD0gSEFMX01NQ19FUlJPUl9SRVFVRVNUX05PVF9BUFBMSUNBQkxFOwotICAgICAgcmV0dXJuIEhBTF9FUlJPUjsKLSAgICB9Ci0gICAgY291bnQrKzsKLQotICAgIC8qIFdoaWxlIGNhcmQgaXMgbm90IHJlYWR5IGZvciBkYXRhIGFuZCB0cmlhbCBudW1iZXIgZm9yIHNlbmRpbmcgQ01EMTMgaXMgbm90IGV4Y2VlZGVkICovCi0gICAgZXJyb3JzdGF0ZSA9IFNETU1DX0NtZFNlbmRTdGF0dXMoaG1tYy0+SW5zdGFuY2UsICh1aW50MzJfdCkoKCh1aW50MzJfdClobW1jLT5NbWNDYXJkLlJlbENhcmRBZGQpIDw8IDE2VSkpOwotICAgIGlmKGVycm9yc3RhdGUgIT0gSEFMX01NQ19FUlJPUl9OT05FKQotICAgIHsKLSAgICAgIGhtbWMtPkVycm9yQ29kZSB8PSBlcnJvcnN0YXRlOworICAgICAgLyogV2lkZU1vZGUgaXMgbm90IGEgdmFsaWQgYXJndW1lbnQqLworICAgICAgZXJyb3JzdGF0ZSA9IEhBTF9NTUNfRVJST1JfUEFSQU07CiAgICAgfQogCi0gICAgLyogR2V0IGNvbW1hbmQgcmVzcG9uc2UgKi8KLSAgICByZXNwb25zZSA9IFNESU9fR2V0UmVzcG9uc2UoaG1tYy0+SW5zdGFuY2UsIFNESU9fUkVTUDEpOwotCi0gICAgLyogR2V0IG9wZXJhdGluZyB2b2x0YWdlKi8KLSAgICBidXN5ID0gKCgocmVzcG9uc2UgPj4gN1UpID09IDFVKSA/IDBVIDogMVUpOwotICB9Ci0KLSAgLyogV2hpbGUgY2FyZCBpcyBub3QgcmVhZHkgZm9yIGRhdGEgYW5kIHRyaWFsIG51bWJlciBmb3Igc2VuZGluZyBDTUQxMyBpcyBub3QgZXhjZWVkZWQgKi8KLSAgY291bnQgPSBTRE1NQ19EQVRBVElNRU9VVDsKLSAgd2hpbGUoKHJlc3BvbnNlICYgMHgwMDAwMDEwMFUpID09IDBVKQotICB7Ci0gICAgaWYoY291bnQgPT0gMFUpCisgICAgLyogQ2hlY2sgZm9yIHN3aXRjaCBlcnJvciBhbmQgdmlvbGF0aW9uIG9mIHRoZSB0cmlhbCBudW1iZXIgb2Ygc2VuZGluZyBDTUQgMTMgKi8KKyAgICBpZihlcnJvcnN0YXRlID09IEhBTF9NTUNfRVJST1JfTk9ORSkKICAgICB7Ci0gICAgICBobW1jLT5TdGF0ZSA9IEhBTF9NTUNfU1RBVEVfUkVBRFk7Ci0gICAgICBobW1jLT5FcnJvckNvZGUgfD0gSEFMX01NQ19FUlJPUl9SRVFVRVNUX05PVF9BUFBMSUNBQkxFOwotICAgICAgcmV0dXJuIEhBTF9FUlJPUjsKKyAgICAgIC8qIFdoaWxlIGNhcmQgaXMgbm90IHJlYWR5IGZvciBkYXRhIGFuZCB0cmlhbCBudW1iZXIgZm9yIHNlbmRpbmcgQ01EMTMgaXMgbm90IGV4Y2VlZGVkICovCisgICAgICBjb3VudCA9IFNETU1DX01BWF9UUklBTDsKKyAgICAgIGRvCisgICAgICB7CisgICAgICAgIGVycm9yc3RhdGUgPSBTRE1NQ19DbWRTZW5kU3RhdHVzKGhtbWMtPkluc3RhbmNlLCAodWludDMyX3QpKCgodWludDMyX3QpaG1tYy0+TW1jQ2FyZC5SZWxDYXJkQWRkKSA8PCAxNlUpKTsKKyAgICAgICAgaWYoZXJyb3JzdGF0ZSAhPSBIQUxfTU1DX0VSUk9SX05PTkUpCisgICAgICAgIHsKKyAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgICAgICAKKyAgICAgICAgLyogR2V0IGNvbW1hbmQgcmVzcG9uc2UgKi8KKyAgICAgICAgcmVzcG9uc2UgPSBTRElPX0dldFJlc3BvbnNlKGhtbWMtPkluc3RhbmNlLCBTRElPX1JFU1AxKTsKKyAgICAgICAgY291bnQtLTsKKyAgICAgIH13aGlsZSgoKHJlc3BvbnNlICYgMHgxMDBVKSA9PSAwVSkgJiYgKGNvdW50ICE9IDBVKSk7CisKKyAgICAgIC8qIENoZWNrIHRoZSBzdGF0dXMgYWZ0ZXIgdGhlIHN3aXRjaCBjb21tYW5kIGV4ZWN1dGlvbiAqLworICAgICAgaWYgKChjb3VudCAhPSAwVSkgJiYgKGVycm9yc3RhdGUgPT0gSEFMX01NQ19FUlJPUl9OT05FKSkKKyAgICAgIHsKKyAgICAgICAgLyogQ2hlY2sgdGhlIGJpdCBTV0lUQ0hfRVJST1Igb2YgdGhlIGRldmljZSBzdGF0dXMgKi8KKyAgICAgICAgaWYgKChyZXNwb25zZSAmIDB4ODBVKSAhPSAwVSkKKyAgICAgICAgeworICAgICAgICAgIGVycm9yc3RhdGUgPSBTRE1NQ19FUlJPUl9HRU5FUkFMX1VOS05PV05fRVJSOworICAgICAgICB9CisgICAgICAgIGVsc2UKKyAgICAgICAgeworICAgICAgICAgIC8qIENvbmZpZ3VyZSB0aGUgU0RJTyBwZXJpcGhlcmFsICovCisgICAgICAgICAgSW5pdCA9IGhtbWMtPkluaXQ7CisgICAgICAgICAgSW5pdC5CdXNXaWRlID0gV2lkZU1vZGU7CisgICAgICAgICAgKHZvaWQpU0RJT19Jbml0KGhtbWMtPkluc3RhbmNlLCBJbml0KTsKKyAgICAgICAgfQorICAgICAgfQorICAgICAgZWxzZSBpZiAoY291bnQgPT0gMFUpCisgICAgICB7CisgICAgICAgIGVycm9yc3RhdGUgPSBTRE1NQ19FUlJPUl9USU1FT1VUOworICAgICAgfQorICAgICAgZWxzZQorICAgICAgeworICAgICAgICAvKiBOb3RoaW5nIHRvIGRvICovCisgICAgICB9CiAgICAgfQotICAgIGNvdW50LS07Ci0KLSAgICAvKiBXaGlsZSBjYXJkIGlzIG5vdCByZWFkeSBmb3IgZGF0YSBhbmQgdHJpYWwgbnVtYmVyIGZvciBzZW5kaW5nIENNRDEzIGlzIG5vdCBleGNlZWRlZCAqLwotICAgIGVycm9yc3RhdGUgPSBTRE1NQ19DbWRTZW5kU3RhdHVzKGhtbWMtPkluc3RhbmNlLCAodWludDMyX3QpKCgodWludDMyX3QpaG1tYy0+TW1jQ2FyZC5SZWxDYXJkQWRkKSA8PCAxNlUpKTsKLSAgICBpZihlcnJvcnN0YXRlICE9IEhBTF9NTUNfRVJST1JfTk9ORSkKLSAgICB7Ci0gICAgICBobW1jLT5FcnJvckNvZGUgfD0gZXJyb3JzdGF0ZTsKLSAgICB9Ci0KLSAgICAvKiBHZXQgY29tbWFuZCByZXNwb25zZSAqLwotICAgIHJlc3BvbnNlID0gU0RJT19HZXRSZXNwb25zZShobW1jLT5JbnN0YW5jZSwgU0RJT19SRVNQMSk7Ci0gIH0KLQotICBpZihobW1jLT5FcnJvckNvZGUgIT0gSEFMX01NQ19FUlJPUl9OT05FKQotICB7Ci0gICAgLyogQ2xlYXIgYWxsIHRoZSBzdGF0aWMgZmxhZ3MgKi8KLSAgICBfX0hBTF9NTUNfQ0xFQVJfRkxBRyhobW1jLCBTRElPX1NUQVRJQ19GTEFHUyk7Ci0gICAgaG1tYy0+U3RhdGUgPSBIQUxfTU1DX1NUQVRFX1JFQURZOwotICAgIHJldHVybiBIQUxfRVJST1I7Ci0gIH0KLSAgZWxzZQotICB7Ci0gICAgLyogQ29uZmlndXJlIHRoZSBTRElPIHBlcmlwaGVyYWwgKi8KLSAgICBJbml0LkNsb2NrRWRnZSAgICAgICAgICAgPSBobW1jLT5Jbml0LkNsb2NrRWRnZTsKLSAgICBJbml0LkNsb2NrQnlwYXNzICAgICAgICAgPSBobW1jLT5Jbml0LkNsb2NrQnlwYXNzOwotICAgIEluaXQuQ2xvY2tQb3dlclNhdmUgICAgICA9IGhtbWMtPkluaXQuQ2xvY2tQb3dlclNhdmU7Ci0gICAgSW5pdC5CdXNXaWRlICAgICAgICAgICAgID0gV2lkZU1vZGU7Ci0gICAgSW5pdC5IYXJkd2FyZUZsb3dDb250cm9sID0gaG1tYy0+SW5pdC5IYXJkd2FyZUZsb3dDb250cm9sOwotICAgIEluaXQuQ2xvY2tEaXYgICAgICAgICAgICA9IGhtbWMtPkluaXQuQ2xvY2tEaXY7Ci0gICAgKHZvaWQpU0RJT19Jbml0KGhtbWMtPkluc3RhbmNlLCBJbml0KTsKICAgfQogCiAgIC8qIENoYW5nZSBTdGF0ZSAqLwogICBobW1jLT5TdGF0ZSA9IEhBTF9NTUNfU1RBVEVfUkVBRFk7CiAKKyAgaWYoZXJyb3JzdGF0ZSAhPSBIQUxfTU1DX0VSUk9SX05PTkUpCisgIHsKKyAgICAvKiBDbGVhciBhbGwgdGhlIHN0YXRpYyBmbGFncyAqLworICAgIF9fSEFMX01NQ19DTEVBUl9GTEFHKGhtbWMsIFNETU1DX1NUQVRJQ19GTEFHUyk7CisgICAgaG1tYy0+RXJyb3JDb2RlIHw9IGVycm9yc3RhdGU7CisgICAgcmV0dXJuIEhBTF9FUlJPUjsKKyAgfQorCiAgIHJldHVybiBIQUxfT0s7CiB9CiAKQEAgLTI2MjIsNyArMjc0Miw4IEBACiB7CiAgIEhBTF9NTUNfQ2FyZENTRFR5cGVEZWYgQ1NEOwogICB1aW50MzJfdCBlcnJvcnN0YXRlOwotICB1aW50MTZfdCBtbWNfcmNhID0gMVU7CisgIHVpbnQxNl90IG1tY19yY2EgPSAyVTsKKyAgTU1DX0luaXRUeXBlRGVmIEluaXQ7CiAKICAgLyogQ2hlY2sgdGhlIHBvd2VyIFN0YXRlICovCiAgIGlmKFNESU9fR2V0UG93ZXJTdGF0ZShobW1jLT5JbnN0YW5jZSkgPT0gMFUpCkBAIC0yNjQ2LDkgKzI3NjcsOSBAQAogICAgIGhtbWMtPkNJRFszVV0gPSBTRElPX0dldFJlc3BvbnNlKGhtbWMtPkluc3RhbmNlLCBTRElPX1JFU1A0KTsKICAgfQogCi0gIC8qIFNlbmQgQ01EMyBTRVRfUkVMX0FERFIgd2l0aCBhcmd1bWVudCAwICovCisgIC8qIFNlbmQgQ01EMyBTRVRfUkVMX0FERFIgd2l0aCBSQ0EgPSAyIChzaG91bGQgYmUgZ3JlYXRlciB0aGFuIDEpICovCiAgIC8qIE1NQyBDYXJkIHB1Ymxpc2hlcyBpdHMgUkNBLiAqLwotICBlcnJvcnN0YXRlID0gU0RNTUNfQ21kU2V0UmVsQWRkKGhtbWMtPkluc3RhbmNlLCAmbW1jX3JjYSk7CisgIGVycm9yc3RhdGUgPSBTRE1NQ19DbWRTZXRSZWxBZGRNbWMoaG1tYy0+SW5zdGFuY2UsIG1tY19yY2EpOwogICBpZihlcnJvcnN0YXRlICE9IEhBTF9NTUNfRVJST1JfTk9ORSkKICAgewogICAgIHJldHVybiBlcnJvcnN0YXRlOwpAQCAtMjY3NSwxMiArMjc5Niw2IEBACiAgIC8qIEdldCB0aGUgQ2FyZCBDbGFzcyAqLwogICBobW1jLT5NbWNDYXJkLkNsYXNzID0gKFNESU9fR2V0UmVzcG9uc2UoaG1tYy0+SW5zdGFuY2UsIFNESU9fUkVTUDIpID4+IDIwVSk7CiAKLSAgLyogR2V0IENTRCBwYXJhbWV0ZXJzICovCi0gIGlmIChIQUxfTU1DX0dldENhcmRDU0QoaG1tYywgJkNTRCkgIT0gSEFMX09LKQotICB7Ci0gICAgcmV0dXJuIGhtbWMtPkVycm9yQ29kZTsKLSAgfQotCiAgIC8qIFNlbGVjdCB0aGUgQ2FyZCAqLwogICBlcnJvcnN0YXRlID0gU0RNTUNfQ21kU2VsRGVzZWwoaG1tYy0+SW5zdGFuY2UsICh1aW50MzJfdCkoKCh1aW50MzJfdClobW1jLT5NbWNDYXJkLlJlbENhcmRBZGQpIDw8IDE2VSkpOwogICBpZihlcnJvcnN0YXRlICE9IEhBTF9NTUNfRVJST1JfTk9ORSkKQEAgLTI2ODgsOCArMjgwMywzNiBAQAogICAgIHJldHVybiBlcnJvcnN0YXRlOwogICB9CiAKLSAgLyogQ29uZmlndXJlIFNESU8gcGVyaXBoZXJhbCBpbnRlcmZhY2UgKi8KLSAgKHZvaWQpU0RJT19Jbml0KGhtbWMtPkluc3RhbmNlLCBobW1jLT5Jbml0KTsKKyAgLyogR2V0IENTRCBwYXJhbWV0ZXJzICovCisgIGlmIChIQUxfTU1DX0dldENhcmRDU0QoaG1tYywgJkNTRCkgIT0gSEFMX09LKQorICB7CisgICAgcmV0dXJuIGhtbWMtPkVycm9yQ29kZTsKKyAgfQorCisgIC8qIFdoaWxlIGNhcmQgaXMgbm90IHJlYWR5IGZvciBkYXRhIGFuZCB0cmlhbCBudW1iZXIgZm9yIHNlbmRpbmcgQ01EMTMgaXMgbm90IGV4Y2VlZGVkICovCisgIGVycm9yc3RhdGUgPSBTRE1NQ19DbWRTZW5kU3RhdHVzKGhtbWMtPkluc3RhbmNlLCAodWludDMyX3QpKCgodWludDMyX3QpaG1tYy0+TW1jQ2FyZC5SZWxDYXJkQWRkKSA8PCAxNlUpKTsKKyAgaWYoZXJyb3JzdGF0ZSAhPSBIQUxfTU1DX0VSUk9SX05PTkUpCisgIHsKKyAgICBobW1jLT5FcnJvckNvZGUgfD0gZXJyb3JzdGF0ZTsKKyAgfQorICAKKyAgLyogR2V0IEV4dGVuZGVkIENTRCBwYXJhbWV0ZXJzICovCisgIGlmIChIQUxfTU1DX0dldENhcmRFeHRDU0QoaG1tYywgaG1tYy0+RXh0X0NTRCwgU0RNTUNfREFUQVRJTUVPVVQpICE9IEhBTF9PSykKKyAgeworICAgIHJldHVybiBobW1jLT5FcnJvckNvZGU7CisgIH0KKworICAvKiBXaGlsZSBjYXJkIGlzIG5vdCByZWFkeSBmb3IgZGF0YSBhbmQgdHJpYWwgbnVtYmVyIGZvciBzZW5kaW5nIENNRDEzIGlzIG5vdCBleGNlZWRlZCAqLworICBlcnJvcnN0YXRlID0gU0RNTUNfQ21kU2VuZFN0YXR1cyhobW1jLT5JbnN0YW5jZSwgKHVpbnQzMl90KSgoKHVpbnQzMl90KWhtbWMtPk1tY0NhcmQuUmVsQ2FyZEFkZCkgPDwgMTZVKSk7CisgIGlmKGVycm9yc3RhdGUgIT0gSEFMX01NQ19FUlJPUl9OT05FKQorICB7CisgICAgaG1tYy0+RXJyb3JDb2RlIHw9IGVycm9yc3RhdGU7CisgIH0KKworICAvKiBDb25maWd1cmUgdGhlIFNESU8gcGVyaXBoZXJhbCAqLworICBJbml0ID0gaG1tYy0+SW5pdDsKKyAgSW5pdC5CdXNXaWRlID0gU0RJT19CVVNfV0lERV8xQjsKKyAgKHZvaWQpU0RJT19Jbml0KGhtbWMtPkluc3RhbmNlLCBJbml0KTsKIAogICAvKiBBbGwgY2FyZHMgYXJlIGluaXRpYWxpemVkICovCiAgIHJldHVybiBIQUxfTU1DX0VSUk9SX05PTkU7CkBAIC0yNzIyLDggKzI4NjUsOCBAQAogICAgICAgcmV0dXJuIEhBTF9NTUNfRVJST1JfSU5WQUxJRF9WT0xUUkFOR0U7CiAgICAgfQogCi0gICAgLyogU0VORCBDTUQxIEFQUF9DTUQgd2l0aCBNTUNfSElHSF9WT0xUQUdFX1JBTkdFKDB4QzBGRjgwMDApIGFzIGFyZ3VtZW50ICovCi0gICAgZXJyb3JzdGF0ZSA9IFNETU1DX0NtZE9wQ29uZGl0aW9uKGhtbWMtPkluc3RhbmNlLCBlTU1DX0hJR0hfVk9MVEFHRV9SQU5HRSk7CisgICAgLyogU0VORCBDTUQxIEFQUF9DTUQgd2l0aCB2b2x0YWdlIHJhbmdlIGFzIGFyZ3VtZW50ICovCisgICAgZXJyb3JzdGF0ZSA9IFNETU1DX0NtZE9wQ29uZGl0aW9uKGhtbWMtPkluc3RhbmNlLCBNTUNfVk9MVEFHRV9SQU5HRSk7CiAgICAgaWYoZXJyb3JzdGF0ZSAhPSBIQUxfTU1DX0VSUk9SX05PTkUpCiAgICAgewogICAgICAgcmV0dXJuIEhBTF9NTUNfRVJST1JfVU5TVVBQT1JURURfRkVBVFVSRTsKQEAgLTI5NTUsNiArMzA5OCw5MyBAQAogfQogCiAvKioKKyAgKiBAYnJpZWYgIFVwZGF0ZSB0aGUgcG93ZXIgY2xhc3Mgb2YgdGhlIGRldmljZS4KKyAgKiBAcGFyYW0gIGhtbWMgTU1DIGhhbmRsZQorICAqIEBwYXJhbSAgV2lkZSBXaWRlIG9mIE1NQyBidXMKKyAgKiBAcGFyYW0gIFNwZWVkIFNwZWVkIG9mIHRoZSBNTUMgYnVzCisgICogQHJldHZhbCBNTUMgQ2FyZCBlcnJvciBzdGF0ZQorICAqLworc3RhdGljIHVpbnQzMl90IE1NQ19Qd3JDbGFzc1VwZGF0ZShNTUNfSGFuZGxlVHlwZURlZiAqaG1tYywgdWludDMyX3QgV2lkZSkKK3sKKyAgdWludDMyX3QgY291bnQ7CisgIHVpbnQzMl90IHJlc3BvbnNlID0gMFU7CisgIHVpbnQzMl90IGVycm9yc3RhdGUgPSBIQUxfTU1DX0VSUk9SX05PTkU7CisgIHVpbnQzMl90IHBvd2VyX2NsYXNzLCBzdXBwb3J0ZWRfcHdyX2NsYXNzOworCisgIGlmKChXaWRlID09IFNESU9fQlVTX1dJREVfOEIpIHx8IChXaWRlID09IFNESU9fQlVTX1dJREVfNEIpKQorICB7CisgICAgcG93ZXJfY2xhc3MgPSAwVTsgLyogRGVmYXVsdCB2YWx1ZSBhZnRlciBwb3dlci1vbiBvciBzb2Z0d2FyZSByZXNldCAqLworCisgICAgLyogUmVhZCB0aGUgUG93ZXJDbGFzcyBmaWVsZCBvZiB0aGUgRXh0ZW5kZWQgQ1NEIHJlZ2lzdGVyICovCisgICAgaWYoTU1DX1JlYWRFeHRDU0QoaG1tYywgJnBvd2VyX2NsYXNzLCAxODcsIFNETU1DX0RBVEFUSU1FT1VUKSAhPSBIQUxfT0spIC8qIEZpZWxkIFBPV0VSX0NMQVNTIFsxODddICovCisgICAgeworICAgICAgZXJyb3JzdGF0ZSA9IFNETU1DX0VSUk9SX0dFTkVSQUxfVU5LTk9XTl9FUlI7CisgICAgfQorICAgIGVsc2UKKyAgICB7CisgICAgICBwb3dlcl9jbGFzcyA9ICgocG93ZXJfY2xhc3MgPj4gMjRVKSAmIDB4MDAwMDAwRkZVKTsKKyAgICB9CisKKyAgICAvKiBHZXQgdGhlIHN1cHBvcnRlZCBQb3dlckNsYXNzIGZpZWxkIG9mIHRoZSBFeHRlbmRlZCBDU0QgcmVnaXN0ZXIgKi8KKyAgICAvKiBGaWVsZCBQV1JfQ0xfMjZfeHh4IFsyMDEgb3IgMjAzXSAqLworICAgIHN1cHBvcnRlZF9wd3JfY2xhc3MgPSAoKGhtbWMtPkV4dF9DU0RbKE1NQ19FWFRfQ1NEX1BXUl9DTF8yNl9JTkRFWC80KV0gPj4gTU1DX0VYVF9DU0RfUFdSX0NMXzI2X1BPUykgJiAweDAwMDAwMEZGVSk7CisKKyAgICBpZihlcnJvcnN0YXRlID09IEhBTF9NTUNfRVJST1JfTk9ORSkKKyAgICB7CisgICAgICBpZihXaWRlID09IFNESU9fQlVTX1dJREVfOEIpCisgICAgICB7CisgICAgICAgIC8qIEJpdCBbNzo0XSA6IHBvd2VyIGNsYXNzIGZvciA4LWJpdHMgYnVzIGNvbmZpZ3VyYXRpb24gLSBCaXQgWzM6MF0gOiBwb3dlciBjbGFzcyBmb3IgNC1iaXRzIGJ1cyBjb25maWd1cmF0aW9uICovCisgICAgICAgIHN1cHBvcnRlZF9wd3JfY2xhc3MgPSAoc3VwcG9ydGVkX3B3cl9jbGFzcyA+PiA0VSk7CisgICAgICB9CisKKyAgICAgIGlmICgocG93ZXJfY2xhc3MgJiAweDBGVSkgIT0gKHN1cHBvcnRlZF9wd3JfY2xhc3MgJiAweDBGVSkpCisgICAgICB7CisgICAgICAgIC8qIE5lZWQgdG8gY2hhbmdlIGN1cnJlbnQgcG93ZXIgY2xhc3MgKi8KKyAgICAgICAgZXJyb3JzdGF0ZSA9IFNETU1DX0NtZFN3aXRjaChobW1jLT5JbnN0YW5jZSwgKDB4MDNCQjAwMDBVIHwgKChzdXBwb3J0ZWRfcHdyX2NsYXNzICYgMHgwRlUpIDw8IDhVKSkpOworCisgICAgICAgIGlmKGVycm9yc3RhdGUgPT0gSEFMX01NQ19FUlJPUl9OT05FKQorICAgICAgICB7CisgICAgICAgICAgLyogV2hpbGUgY2FyZCBpcyBub3QgcmVhZHkgZm9yIGRhdGEgYW5kIHRyaWFsIG51bWJlciBmb3Igc2VuZGluZyBDTUQxMyBpcyBub3QgZXhjZWVkZWQgKi8KKyAgICAgICAgICBjb3VudCA9IFNETU1DX01BWF9UUklBTDsKKyAgICAgICAgICBkbworICAgICAgICAgIHsKKyAgICAgICAgICAgIGVycm9yc3RhdGUgPSBTRE1NQ19DbWRTZW5kU3RhdHVzKGhtbWMtPkluc3RhbmNlLCAodWludDMyX3QpKCgodWludDMyX3QpaG1tYy0+TW1jQ2FyZC5SZWxDYXJkQWRkKSA8PCAxNlUpKTsKKyAgICAgICAgICAgIGlmKGVycm9yc3RhdGUgIT0gSEFMX01NQ19FUlJPUl9OT05FKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgLyogR2V0IGNvbW1hbmQgcmVzcG9uc2UgKi8KKyAgICAgICAgICAgIHJlc3BvbnNlID0gU0RJT19HZXRSZXNwb25zZShobW1jLT5JbnN0YW5jZSwgU0RJT19SRVNQMSk7CisgICAgICAgICAgICBjb3VudC0tOworICAgICAgICAgIH13aGlsZSgoKHJlc3BvbnNlICYgMHgxMDBVKSA9PSAwVSkgJiYgKGNvdW50ICE9IDBVKSk7CisKKyAgICAgICAgICAvKiBDaGVjayB0aGUgc3RhdHVzIGFmdGVyIHRoZSBzd2l0Y2ggY29tbWFuZCBleGVjdXRpb24gKi8KKyAgICAgICAgICBpZiAoKGNvdW50ICE9IDBVKSAmJiAoZXJyb3JzdGF0ZSA9PSBIQUxfTU1DX0VSUk9SX05PTkUpKQorICAgICAgICAgIHsKKyAgICAgICAgICAgIC8qIENoZWNrIHRoZSBiaXQgU1dJVENIX0VSUk9SIG9mIHRoZSBkZXZpY2Ugc3RhdHVzICovCisgICAgICAgICAgICBpZiAoKHJlc3BvbnNlICYgMHg4MFUpICE9IDBVKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICBlcnJvcnN0YXRlID0gU0RNTUNfRVJST1JfVU5TVVBQT1JURURfRkVBVFVSRTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICB9CisgICAgICAgICAgZWxzZSBpZiAoY291bnQgPT0gMFUpCisgICAgICAgICAgeworICAgICAgICAgICAgZXJyb3JzdGF0ZSA9IFNETU1DX0VSUk9SX1RJTUVPVVQ7CisgICAgICAgICAgfQorICAgICAgICAgIGVsc2UKKyAgICAgICAgICB7CisgICAgICAgICAgICAvKiBOb3RoaW5nIHRvIGRvICovCisgICAgICAgICAgfQorICAgICAgICB9CisgICAgICB9CisgICAgfQorICB9CisKKyAgcmV0dXJuIGVycm9yc3RhdGU7Cit9CisKKy8qKgogICAqIEB9CiAgICovCiAKQEAgLTI5NjksNSArMzE5OSwzIEBACiAvKioKICAgKiBAfQogICAqLwotCi0vKioqKioqKioqKioqKioqKioqKioqKioqIChDKSBDT1BZUklHSFQgU1RNaWNyb2VsZWN0cm9uaWNzICoqKioqRU5EIE9GIEZJTEUqKioqLwpkaWZmIC0tZ2l0IGEvU3JjL3N0bTMyZjR4eF9oYWxfbXNwX3RlbXBsYXRlLmMgYi9TcmMvc3RtMzJmNHh4X2hhbF9tc3BfdGVtcGxhdGUuYwppbmRleCA2N2Y2NThjLi44MmRlMTExIDEwMDY0NAotLS0gYS9TcmMvc3RtMzJmNHh4X2hhbF9tc3BfdGVtcGxhdGUuYworKysgYi9TcmMvc3RtMzJmNHh4X2hhbF9tc3BfdGVtcGxhdGUuYwpAQCAtOCwxMyArOCwxMiBAQAogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKiBAYXR0ZW50aW9uCiAgICoKLSAgKiA8aDI+PGNlbnRlcj4mY29weTsgQ29weXJpZ2h0IChjKSAyMDE3IFNUTWljcm9lbGVjdHJvbmljcy4KLSAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvY2VudGVyPjwvaDI+CisgICogQ29weXJpZ2h0IChjKSAyMDE3IFNUTWljcm9lbGVjdHJvbmljcy4KKyAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAqCi0gICogVGhpcyBzb2Z0d2FyZSBjb21wb25lbnQgaXMgbGljZW5zZWQgYnkgU1QgdW5kZXIgQlNEIDMtQ2xhdXNlIGxpY2Vuc2UsCi0gICogdGhlICJMaWNlbnNlIjsgWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZQotICAqIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdDoKLSAgKiAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZQorICAqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgdW5kZXIgdGVybXMgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZQorICAqIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvZnR3YXJlIGNvbXBvbmVudC4KKyAgKiBJZiBubyBMSUNFTlNFIGZpbGUgY29tZXMgd2l0aCB0aGlzIHNvZnR3YXJlLCBpdCBpcyBwcm92aWRlZCBBUy1JUy4KICAgKgogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKi8gCkBAIC05OCw0ICs5Nyw0IEBACiAgICogQH0KICAgKi8KIAotLyoqKioqKioqKioqKioqKioqKioqKioqKiAoQykgQ09QWVJJR0hUIFNUTWljcm9lbGVjdHJvbmljcyAqKioqKkVORCBPRiBGSUxFKioqKi8KKwpkaWZmIC0tZ2l0IGEvU3JjL3N0bTMyZjR4eF9oYWxfbmFuZC5jIGIvU3JjL3N0bTMyZjR4eF9oYWxfbmFuZC5jCmluZGV4IDJiZmY0N2YuLmEwYjg5ZTYgMTAwNjQ0Ci0tLSBhL1NyYy9zdG0zMmY0eHhfaGFsX25hbmQuYworKysgYi9TcmMvc3RtMzJmNHh4X2hhbF9uYW5kLmMKQEAgLTMsNTMgKzMsNjQgQEAKICAgKiBAZmlsZSAgICBzdG0zMmY0eHhfaGFsX25hbmQuYwogICAqIEBhdXRob3IgIE1DRCBBcHBsaWNhdGlvbiBUZWFtCiAgICogQGJyaWVmICAgTkFORCBIQUwgbW9kdWxlIGRyaXZlci4KLSAgKiAgICAgICAgICBUaGlzIGZpbGUgcHJvdmlkZXMgYSBnZW5lcmljIGZpcm13YXJlIHRvIGRyaXZlIE5BTkQgbWVtb3JpZXMgbW91bnRlZCAKKyAgKiAgICAgICAgICBUaGlzIGZpbGUgcHJvdmlkZXMgYSBnZW5lcmljIGZpcm13YXJlIHRvIGRyaXZlIE5BTkQgbWVtb3JpZXMgbW91bnRlZAogICAqICAgICAgICAgIGFzIGV4dGVybmFsIGRldmljZS4KLSAgKiAgICAgICAgIAorICAqCisgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICAqIEBhdHRlbnRpb24KKyAgKgorICAqIENvcHlyaWdodCAoYykgMjAxNiBTVE1pY3JvZWxlY3Ryb25pY3MuCisgICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAgKgorICAqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgdW5kZXIgdGVybXMgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZQorICAqIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvZnR3YXJlIGNvbXBvbmVudC4KKyAgKiBJZiBubyBMSUNFTlNFIGZpbGUgY29tZXMgd2l0aCB0aGlzIHNvZnR3YXJlLCBpdCBpcyBwcm92aWRlZCBBUy1JUy4KKyAgKgorICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgQHZlcmJhdGltCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgICAgICAgICAgICAgICAgICAgICAgICMjIyMjIEhvdyB0byB1c2UgdGhpcyBkcml2ZXIgIyMjIyMKLSAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICAgIAorICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgICBbLi5dCi0gICAgICBUaGlzIGRyaXZlciBpcyBhIGdlbmVyaWMgbGF5ZXJlZCBkcml2ZXIgd2hpY2ggY29udGFpbnMgYSBzZXQgb2YgQVBJcyB1c2VkIHRvIAotICAgICAgY29udHJvbCBOQU5EIGZsYXNoIG1lbW9yaWVzLiBJdCB1c2VzIHRoZSBGTUMvRlNNQyBsYXllciBmdW5jdGlvbnMgdG8gaW50ZXJmYWNlIAorICAgICAgVGhpcyBkcml2ZXIgaXMgYSBnZW5lcmljIGxheWVyZWQgZHJpdmVyIHdoaWNoIGNvbnRhaW5zIGEgc2V0IG9mIEFQSXMgdXNlZCB0bworICAgICAgY29udHJvbCBOQU5EIGZsYXNoIG1lbW9yaWVzLiBJdCB1c2VzIHRoZSBGTUMvRlNNQyBsYXllciBmdW5jdGlvbnMgdG8gaW50ZXJmYWNlCiAgICAgICB3aXRoIE5BTkQgZGV2aWNlcy4gVGhpcyBkcml2ZXIgaXMgdXNlZCBhcyBmb2xsb3dzOgotICAgIAotICAgICAgKCspIE5BTkQgZmxhc2ggbWVtb3J5IGNvbmZpZ3VyYXRpb24gc2VxdWVuY2UgdXNpbmcgdGhlIGZ1bmN0aW9uIEhBTF9OQU5EX0luaXQoKSAKKworICAgICAgKCspIE5BTkQgZmxhc2ggbWVtb3J5IGNvbmZpZ3VyYXRpb24gc2VxdWVuY2UgdXNpbmcgdGhlIGZ1bmN0aW9uIEhBTF9OQU5EX0luaXQoKQogICAgICAgICAgIHdpdGggY29udHJvbCBhbmQgdGltaW5nIHBhcmFtZXRlcnMgZm9yIGJvdGggY29tbW9uIGFuZCBhdHRyaWJ1dGUgc3BhY2VzLgotICAgICAgICAgICAgCisKICAgICAgICgrKSBSZWFkIE5BTkQgZmxhc2ggbWVtb3J5IG1ha2VyIGFuZCBkZXZpY2UgSURzIHVzaW5nIHRoZSBmdW5jdGlvbgotICAgICAgICAgIEhBTF9OQU5EX1JlYWRfSUQoKS4gVGhlIHJlYWQgaW5mb3JtYXRpb24gaXMgc3RvcmVkIGluIHRoZSBOQU5EX0lEX1R5cGVEZWYgCi0gICAgICAgICAgc3RydWN0dXJlIGRlY2xhcmVkIGJ5IHRoZSBmdW5jdGlvbiBjYWxsZXIuIAotICAgICAgICAKKyAgICAgICAgICBIQUxfTkFORF9SZWFkX0lEKCkuIFRoZSByZWFkIGluZm9ybWF0aW9uIGlzIHN0b3JlZCBpbiB0aGUgTkFORF9JRF9UeXBlRGVmCisgICAgICAgICAgc3RydWN0dXJlIGRlY2xhcmVkIGJ5IHRoZSBmdW5jdGlvbiBjYWxsZXIuCisKICAgICAgICgrKSBBY2Nlc3MgTkFORCBmbGFzaCBtZW1vcnkgYnkgcmVhZC93cml0ZSBvcGVyYXRpb25zIHVzaW5nIHRoZSBmdW5jdGlvbnMKLSAgICAgICAgICBIQUxfTkFORF9SZWFkX1BhZ2VfOGIoKS9IQUxfTkFORF9SZWFkX1NwYXJlQXJlYV84YigpLCAKKyAgICAgICAgICBIQUxfTkFORF9SZWFkX1BhZ2VfOGIoKS9IQUxfTkFORF9SZWFkX1NwYXJlQXJlYV84YigpLAogICAgICAgICAgIEhBTF9OQU5EX1dyaXRlX1BhZ2VfOGIoKS9IQUxfTkFORF9Xcml0ZV9TcGFyZUFyZWFfOGIoKSwKLSAgICAgICAgICBIQUxfTkFORF9SZWFkX1BhZ2VfMTZiKCkvSEFMX05BTkRfUmVhZF9TcGFyZUFyZWFfMTZiKCksIAorICAgICAgICAgIEhBTF9OQU5EX1JlYWRfUGFnZV8xNmIoKS9IQUxfTkFORF9SZWFkX1NwYXJlQXJlYV8xNmIoKSwKICAgICAgICAgICBIQUxfTkFORF9Xcml0ZV9QYWdlXzE2YigpL0hBTF9OQU5EX1dyaXRlX1NwYXJlQXJlYV8xNmIoKQotICAgICAgICAgIHRvIHJlYWQvd3JpdGUgcGFnZShzKS9zcGFyZSBhcmVhKHMpLiBUaGVzZSBmdW5jdGlvbnMgdXNlIHNwZWNpZmljIGRldmljZSAKLSAgICAgICAgICBpbmZvcm1hdGlvbiAoQmxvY2ssIHBhZ2Ugc2l6ZS4uKSBwcmVkZWZpbmVkIGJ5IHRoZSB1c2VyIGluIHRoZSBIQUxfTkFORF9JbmZvX1R5cGVEZWYgCisgICAgICAgICAgdG8gcmVhZC93cml0ZSBwYWdlKHMpL3NwYXJlIGFyZWEocykuIFRoZXNlIGZ1bmN0aW9ucyB1c2Ugc3BlY2lmaWMgZGV2aWNlCisgICAgICAgICAgaW5mb3JtYXRpb24gKEJsb2NrLCBwYWdlIHNpemUuLikgcHJlZGVmaW5lZCBieSB0aGUgdXNlciBpbiB0aGUgTkFORF9EZXZpY2VDb25maWdUeXBlRGVmCiAgICAgICAgICAgc3RydWN0dXJlLiBUaGUgcmVhZC93cml0ZSBhZGRyZXNzIGluZm9ybWF0aW9uIGlzIGNvbnRhaW5lZCBieSB0aGUgTmFuZF9BZGRyZXNzX1R5cGVkZWYKICAgICAgICAgICBzdHJ1Y3R1cmUgcGFzc2VkIGFzIHBhcmFtZXRlci4KLSAgICAgICAgCisKICAgICAgICgrKSBQZXJmb3JtIE5BTkQgZmxhc2ggUmVzZXQgY2hpcCBvcGVyYXRpb24gdXNpbmcgdGhlIGZ1bmN0aW9uIEhBTF9OQU5EX1Jlc2V0KCkuCi0gICAgICAgIAorCiAgICAgICAoKykgUGVyZm9ybSBOQU5EIGZsYXNoIGVyYXNlIGJsb2NrIG9wZXJhdGlvbiB1c2luZyB0aGUgZnVuY3Rpb24gSEFMX05BTkRfRXJhc2VfQmxvY2soKS4KLSAgICAgICAgICBUaGUgZXJhc2UgYmxvY2sgYWRkcmVzcyBpbmZvcm1hdGlvbiBpcyBjb250YWluZWQgaW4gdGhlIE5hbmRfQWRkcmVzc19UeXBlZGVmIAorICAgICAgICAgIFRoZSBlcmFzZSBibG9jayBhZGRyZXNzIGluZm9ybWF0aW9uIGlzIGNvbnRhaW5lZCBpbiB0aGUgTmFuZF9BZGRyZXNzX1R5cGVkZWYKICAgICAgICAgICBzdHJ1Y3R1cmUgcGFzc2VkIGFzIHBhcmFtZXRlci4KLSAgICAKKwogICAgICAgKCspIFJlYWQgdGhlIE5BTkQgZmxhc2ggc3RhdHVzIG9wZXJhdGlvbiB1c2luZyB0aGUgZnVuY3Rpb24gSEFMX05BTkRfUmVhZF9TdGF0dXMoKS4KLSAgICAgICAgCisKICAgICAgICgrKSBZb3UgY2FuIGFsc28gY29udHJvbCB0aGUgTkFORCBkZXZpY2UgYnkgY2FsbGluZyB0aGUgY29udHJvbCBBUElzIEhBTF9OQU5EX0VDQ19FbmFibGUoKS8KICAgICAgICAgICBIQUxfTkFORF9FQ0NfRGlzYWJsZSgpIHRvIHJlc3BlY3RpdmVseSBlbmFibGUvZGlzYWJsZSB0aGUgRUNDIGNvZGUgY29ycmVjdGlvbgotICAgICAgICAgIGZlYXR1cmUgb3IgdGhlIGZ1bmN0aW9uIEhBTF9OQU5EX0dldEVDQygpIHRvIGdldCB0aGUgRUNDIGNvcnJlY3Rpb24gY29kZS4gCi0gICAgICAgCisgICAgICAgICAgZmVhdHVyZSBvciB0aGUgZnVuY3Rpb24gSEFMX05BTkRfR2V0RUNDKCkgdG8gZ2V0IHRoZSBFQ0MgY29ycmVjdGlvbiBjb2RlLgorCiAgICAgICAoKykgWW91IGNhbiBtb25pdG9yIHRoZSBOQU5EIGRldmljZSBIQUwgc3RhdGUgYnkgY2FsbGluZyB0aGUgZnVuY3Rpb24KLSAgICAgICAgICBIQUxfTkFORF9HZXRTdGF0ZSgpICAKKyAgICAgICAgICBIQUxfTkFORF9HZXRTdGF0ZSgpCiAKICAgICBbLi5dCiAgICAgICAoQCkgVGhpcyBkcml2ZXIgaXMgYSBzZXQgb2YgZ2VuZXJpYyBBUElzIHdoaWNoIGhhbmRsZSBzdGFuZGFyZCBOQU5EIGZsYXNoIG9wZXJhdGlvbnMuCi0gICAgICAgICAgSWYgYSBOQU5EIGZsYXNoIGRldmljZSBjb250YWlucyBkaWZmZXJlbnQgb3BlcmF0aW9ucyBhbmQvb3IgaW1wbGVtZW50YXRpb25zLCAKKyAgICAgICAgICBJZiBhIE5BTkQgZmxhc2ggZGV2aWNlIGNvbnRhaW5zIGRpZmZlcmVudCBvcGVyYXRpb25zIGFuZC9vciBpbXBsZW1lbnRhdGlvbnMsCiAgICAgICAgICAgaXQgc2hvdWxkIGJlIGltcGxlbWVudGVkIHNlcGFyYXRlbHkuCiAKICAgICAqKiogQ2FsbGJhY2sgcmVnaXN0cmF0aW9uICoqKgpAQCAtNTgsMjUgKzY5LDI1IEBACiAgICAgICBUaGUgY29tcGlsYXRpb24gZGVmaW5lICBVU0VfSEFMX05BTkRfUkVHSVNURVJfQ0FMTEJBQ0tTIHdoZW4gc2V0IHRvIDEKICAgICAgIGFsbG93cyB0aGUgdXNlciB0byBjb25maWd1cmUgZHluYW1pY2FsbHkgdGhlIGRyaXZlciBjYWxsYmFja3MuCiAKLSAgICAgIFVzZSBGdW5jdGlvbnMgQHJlZiBIQUxfTkFORF9SZWdpc3RlckNhbGxiYWNrKCkgdG8gcmVnaXN0ZXIgYSB1c2VyIGNhbGxiYWNrLAorICAgICAgVXNlIEZ1bmN0aW9ucyBIQUxfTkFORF9SZWdpc3RlckNhbGxiYWNrKCkgdG8gcmVnaXN0ZXIgYSB1c2VyIGNhbGxiYWNrLAogICAgICAgaXQgYWxsb3dzIHRvIHJlZ2lzdGVyIGZvbGxvd2luZyBjYWxsYmFja3M6CiAgICAgICAgICgrKSBNc3BJbml0Q2FsbGJhY2sgICAgOiBOQU5EIE1zcEluaXQuCiAgICAgICAgICgrKSBNc3BEZUluaXRDYWxsYmFjayAgOiBOQU5EIE1zcERlSW5pdC4KICAgICAgIFRoaXMgZnVuY3Rpb24gdGFrZXMgYXMgcGFyYW1ldGVycyB0aGUgSEFMIHBlcmlwaGVyYWwgaGFuZGxlLCB0aGUgQ2FsbGJhY2sgSUQKICAgICAgIGFuZCBhIHBvaW50ZXIgdG8gdGhlIHVzZXIgY2FsbGJhY2sgZnVuY3Rpb24uCiAKLSAgICAgIFVzZSBmdW5jdGlvbiBAcmVmIEhBTF9OQU5EX1VuUmVnaXN0ZXJDYWxsYmFjaygpIHRvIHJlc2V0IGEgY2FsbGJhY2sgdG8gdGhlIGRlZmF1bHQKKyAgICAgIFVzZSBmdW5jdGlvbiBIQUxfTkFORF9VblJlZ2lzdGVyQ2FsbGJhY2soKSB0byByZXNldCBhIGNhbGxiYWNrIHRvIHRoZSBkZWZhdWx0CiAgICAgICB3ZWFrIChzdXJjaGFyZ2VkKSBmdW5jdGlvbi4gSXQgYWxsb3dzIHRvIHJlc2V0IGZvbGxvd2luZyBjYWxsYmFja3M6CiAgICAgICAgICgrKSBNc3BJbml0Q2FsbGJhY2sgICAgOiBOQU5EIE1zcEluaXQuCiAgICAgICAgICgrKSBNc3BEZUluaXRDYWxsYmFjayAgOiBOQU5EIE1zcERlSW5pdC4KICAgICAgIFRoaXMgZnVuY3Rpb24pIHRha2VzIGFzIHBhcmFtZXRlcnMgdGhlIEhBTCBwZXJpcGhlcmFsIGhhbmRsZSBhbmQgdGhlIENhbGxiYWNrIElELgogCi0gICAgICBCeSBkZWZhdWx0LCBhZnRlciB0aGUgQHJlZiBIQUxfTkFORF9Jbml0IGFuZCBpZiB0aGUgc3RhdGUgaXMgSEFMX05BTkRfU1RBVEVfUkVTRVQKKyAgICAgIEJ5IGRlZmF1bHQsIGFmdGVyIHRoZSBIQUxfTkFORF9Jbml0IGFuZCBpZiB0aGUgc3RhdGUgaXMgSEFMX05BTkRfU1RBVEVfUkVTRVQKICAgICAgIGFsbCBjYWxsYmFja3MgYXJlIHJlc2V0IHRvIHRoZSBjb3JyZXNwb25kaW5nIGxlZ2FjeSB3ZWFrIChzdXJjaGFyZ2VkKSBmdW5jdGlvbnMuCiAgICAgICBFeGNlcHRpb24gZG9uZSBmb3IgTXNwSW5pdCBhbmQgTXNwRGVJbml0IGNhbGxiYWNrcyB0aGF0IGFyZSByZXNwZWN0aXZlbHkKLSAgICAgIHJlc2V0IHRvIHRoZSBsZWdhY3kgd2VhayAoc3VyY2hhcmdlZCkgZnVuY3Rpb25zIGluIHRoZSBAcmVmIEhBTF9OQU5EX0luaXQKLSAgICAgIGFuZCBAcmVmICBIQUxfTkFORF9EZUluaXQgb25seSB3aGVuIHRoZXNlIGNhbGxiYWNrcyBhcmUgbnVsbCAobm90IHJlZ2lzdGVyZWQgYmVmb3JlaGFuZCkuCi0gICAgICBJZiBub3QsIE1zcEluaXQgb3IgTXNwRGVJbml0IGFyZSBub3QgbnVsbCwgdGhlIEByZWYgSEFMX05BTkRfSW5pdCBhbmQgQHJlZiBIQUxfTkFORF9EZUluaXQKKyAgICAgIHJlc2V0IHRvIHRoZSBsZWdhY3kgd2VhayAoc3VyY2hhcmdlZCkgZnVuY3Rpb25zIGluIHRoZSBIQUxfTkFORF9Jbml0CisgICAgICBhbmQgIEhBTF9OQU5EX0RlSW5pdCBvbmx5IHdoZW4gdGhlc2UgY2FsbGJhY2tzIGFyZSBudWxsIChub3QgcmVnaXN0ZXJlZCBiZWZvcmVoYW5kKS4KKyAgICAgIElmIG5vdCwgTXNwSW5pdCBvciBNc3BEZUluaXQgYXJlIG5vdCBudWxsLCB0aGUgSEFMX05BTkRfSW5pdCBhbmQgSEFMX05BTkRfRGVJbml0CiAgICAgICBrZWVwIGFuZCB1c2UgdGhlIHVzZXIgTXNwSW5pdC9Nc3BEZUluaXQgY2FsbGJhY2tzIChyZWdpc3RlcmVkIGJlZm9yZWhhbmQpCiAKICAgICAgIENhbGxiYWNrcyBjYW4gYmUgcmVnaXN0ZXJlZC91bnJlZ2lzdGVyZWQgaW4gUkVBRFkgc3RhdGUgb25seS4KQEAgLTg0LDggKzk1LDggQEAKICAgICAgIGluIFJFQURZIG9yIFJFU0VUIHN0YXRlLCB0aHVzIHJlZ2lzdGVyZWQgKHVzZXIpIE1zcEluaXQvRGVJbml0IGNhbGxiYWNrcyBjYW4gYmUgdXNlZAogICAgICAgZHVyaW5nIHRoZSBJbml0L0RlSW5pdC4KICAgICAgIEluIHRoYXQgY2FzZSBmaXJzdCByZWdpc3RlciB0aGUgTXNwSW5pdC9Nc3BEZUluaXQgdXNlciBjYWxsYmFja3MKLSAgICAgIHVzaW5nIEByZWYgSEFMX05BTkRfUmVnaXN0ZXJDYWxsYmFjayBiZWZvcmUgY2FsbGluZyBAcmVmIEhBTF9OQU5EX0RlSW5pdAotICAgICAgb3IgQHJlZiBIQUxfTkFORF9Jbml0IGZ1bmN0aW9uLgorICAgICAgdXNpbmcgSEFMX05BTkRfUmVnaXN0ZXJDYWxsYmFjayBiZWZvcmUgY2FsbGluZyBIQUxfTkFORF9EZUluaXQKKyAgICAgIG9yIEhBTF9OQU5EX0luaXQgZnVuY3Rpb24uCiAKICAgICAgIFdoZW4gVGhlIGNvbXBpbGF0aW9uIGRlZmluZSBVU0VfSEFMX05BTkRfUkVHSVNURVJfQ0FMTEJBQ0tTIGlzIHNldCB0byAwIG9yCiAgICAgICBub3QgZGVmaW5lZCwgdGhlIGNhbGxiYWNrIHJlZ2lzdGVyaW5nIGZlYXR1cmUgaXMgbm90IGF2YWlsYWJsZQpAQCAtOTMsNzggKzEwNCw1MCBAQAogCiAgIEBlbmR2ZXJiYXRpbQogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAgKiBAYXR0ZW50aW9uCi0gICoKLSAgKiA8aDI+PGNlbnRlcj4mY29weTsgQ29weXJpZ2h0IChjKSAyMDE3IFNUTWljcm9lbGVjdHJvbmljcy4KLSAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvY2VudGVyPjwvaDI+Ci0gICoKLSAgKiBUaGlzIHNvZnR3YXJlIGNvbXBvbmVudCBpcyBsaWNlbnNlZCBieSBTVCB1bmRlciBCU0QgMy1DbGF1c2UgbGljZW5zZSwKLSAgKiB0aGUgIkxpY2Vuc2UiOyBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlCi0gICogTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0OgotICAqICAgICAgICAgICAgICAgICAgICAgICAgb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvQlNELTMtQ2xhdXNlCi0gICoKLSAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gICovIAorICAqLwogCiAvKiBJbmNsdWRlcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogI2luY2x1ZGUgInN0bTMyZjR4eF9oYWwuaCIKIAorI2lmIGRlZmluZWQoRk1DX0JhbmszKSB8fCBkZWZpbmVkKEZNQ19CYW5rMl8zKSB8fCBkZWZpbmVkKEZTTUNfQmFuazJfMykKKwogLyoqIEBhZGR0b2dyb3VwIFNUTTMyRjR4eF9IQUxfRHJpdmVyCiAgICogQHsKICAgKi8KIAotCiAjaWZkZWYgSEFMX05BTkRfTU9EVUxFX0VOQUJMRUQKIAotI2lmIGRlZmluZWQoU1RNMzJGNDA1eHgpIHx8IGRlZmluZWQoU1RNMzJGNDE1eHgpIHx8IGRlZmluZWQoU1RNMzJGNDA3eHgpIHx8IGRlZmluZWQoU1RNMzJGNDE3eHgpIHx8XAotICAgIGRlZmluZWQoU1RNMzJGNDI3eHgpIHx8IGRlZmluZWQoU1RNMzJGNDM3eHgpIHx8IGRlZmluZWQoU1RNMzJGNDI5eHgpIHx8IGRlZmluZWQoU1RNMzJGNDM5eHgpIHx8XAotICAgIGRlZmluZWQoU1RNMzJGNDQ2eHgpIHx8IGRlZmluZWQoU1RNMzJGNDY5eHgpIHx8IGRlZmluZWQoU1RNMzJGNDc5eHgpCi0KLS8qKiBAZGVmZ3JvdXAgTkFORCBOQU5EIAorLyoqIEBkZWZncm91cCBOQU5EIE5BTkQKICAgKiBAYnJpZWYgTkFORCBIQUwgbW9kdWxlIGRyaXZlcgogICAqIEB7CiAgICovCiAKIC8qIFByaXZhdGUgdHlwZWRlZiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCi0vKiBQcml2YXRlIGRlZmluZSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwotLyoqIEBkZWZncm91cCBOQU5EX1ByaXZhdGVfQ29uc3RhbnRzIE5BTkQgUHJpdmF0ZSBDb25zdGFudHMKLSAgKiBAewotICAqLwotCi0vKioKLSAgKiBAfQotICAqLwotCi0vKiBQcml2YXRlIG1hY3JvIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLyAgICAKLS8qKiBAZGVmZ3JvdXAgTkFORF9Qcml2YXRlX01hY3JvcyBOQU5EIFByaXZhdGUgTWFjcm9zCi0gICogQHsKLSAgKi8KLQotLyoqCi0gICogQH0KLSAgKi8KKy8qIFByaXZhdGUgQ29uc3RhbnRzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisvKiBQcml2YXRlIG1hY3JvIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogLyogUHJpdmF0ZSB2YXJpYWJsZXMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KIC8qIFByaXZhdGUgZnVuY3Rpb24gcHJvdG90eXBlcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCi0vKiBFeHBvcnRlZCBmdW5jdGlvbnMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworLyogRXhwb3J0ZWQgZnVuY3Rpb25zIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKIC8qKiBAZGVmZ3JvdXAgTkFORF9FeHBvcnRlZF9GdW5jdGlvbnMgTkFORCBFeHBvcnRlZCBGdW5jdGlvbnMKICAgKiBAewogICAqLwotICAgIAotLyoqIEBkZWZncm91cCBOQU5EX0V4cG9ydGVkX0Z1bmN0aW9uc19Hcm91cDEgSW5pdGlhbGl6YXRpb24gYW5kIGRlLWluaXRpYWxpemF0aW9uIGZ1bmN0aW9ucyAKLSAgKiBAYnJpZWYgICAgSW5pdGlhbGl6YXRpb24gYW5kIENvbmZpZ3VyYXRpb24gZnVuY3Rpb25zIAorCisvKiogQGRlZmdyb3VwIE5BTkRfRXhwb3J0ZWRfRnVuY3Rpb25zX0dyb3VwMSBJbml0aWFsaXphdGlvbiBhbmQgZGUtaW5pdGlhbGl6YXRpb24gZnVuY3Rpb25zCisgICogQGJyaWVmICAgIEluaXRpYWxpemF0aW9uIGFuZCBDb25maWd1cmF0aW9uIGZ1bmN0aW9ucwogICAqCi0gIEB2ZXJiYXRpbSAgICAKKyAgQHZlcmJhdGltCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgICAgICAgICAgIyMjIyMgTkFORCBJbml0aWFsaXphdGlvbiBhbmQgZGUtaW5pdGlhbGl6YXRpb24gZnVuY3Rpb25zICMjIyMjCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotICBbLi5dICAKKyAgWy4uXQogICAgIFRoaXMgc2VjdGlvbiBwcm92aWRlcyBmdW5jdGlvbnMgYWxsb3dpbmcgdG8gaW5pdGlhbGl6ZS9kZS1pbml0aWFsaXplCiAgICAgdGhlIE5BTkQgbWVtb3J5Ci0gIAorCiBAZW5kdmVyYmF0aW0KICAgKiBAewogICAqLwotICAgIAorCiAvKioKICAgKiBAYnJpZWYgIFBlcmZvcm0gTkFORCBtZW1vcnkgSW5pdGlhbGl6YXRpb24gc2VxdWVuY2UKICAgKiBAcGFyYW0gIGhuYW5kIHBvaW50ZXIgdG8gYSBOQU5EX0hhbmRsZVR5cGVEZWYgc3RydWN0dXJlIHRoYXQgY29udGFpbnMKQEAgLTE3MywyMSArMTU2LDIyIEBACiAgICogQHBhcmFtICBBdHRTcGFjZV9UaW1pbmcgcG9pbnRlciB0byBBdHRyaWJ1dGUgc3BhY2UgdGltaW5nIHN0cnVjdHVyZQogICAqIEByZXR2YWwgSEFMIHN0YXR1cwogICAqLwotSEFMX1N0YXR1c1R5cGVEZWYgIEhBTF9OQU5EX0luaXQoTkFORF9IYW5kbGVUeXBlRGVmICpobmFuZCwgRk1DX05BTkRfUENDX1RpbWluZ1R5cGVEZWYgKkNvbVNwYWNlX1RpbWluZywgRk1DX05BTkRfUENDX1RpbWluZ1R5cGVEZWYgKkF0dFNwYWNlX1RpbWluZykKK0hBTF9TdGF0dXNUeXBlRGVmICBIQUxfTkFORF9Jbml0KE5BTkRfSGFuZGxlVHlwZURlZiAqaG5hbmQsIEZNQ19OQU5EX1BDQ19UaW1pbmdUeXBlRGVmICpDb21TcGFjZV9UaW1pbmcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGTUNfTkFORF9QQ0NfVGltaW5nVHlwZURlZiAqQXR0U3BhY2VfVGltaW5nKQogewogICAvKiBDaGVjayB0aGUgTkFORCBoYW5kbGUgc3RhdGUgKi8KLSAgaWYoaG5hbmQgPT0gTlVMTCkKKyAgaWYgKGhuYW5kID09IE5VTEwpCiAgIHsKLSAgICAgcmV0dXJuIEhBTF9FUlJPUjsKKyAgICByZXR1cm4gSEFMX0VSUk9SOwogICB9CiAKLSAgaWYoaG5hbmQtPlN0YXRlID09IEhBTF9OQU5EX1NUQVRFX1JFU0VUKQorICBpZiAoaG5hbmQtPlN0YXRlID09IEhBTF9OQU5EX1NUQVRFX1JFU0VUKQogICB7CiAgICAgLyogQWxsb2NhdGUgbG9jayByZXNvdXJjZSBhbmQgaW5pdGlhbGl6ZSBpdCAqLwogICAgIGhuYW5kLT5Mb2NrID0gSEFMX1VOTE9DS0VEOwogCiAjaWYgKFVTRV9IQUxfTkFORF9SRUdJU1RFUl9DQUxMQkFDS1MgPT0gMSkKLSAgICBpZihobmFuZC0+TXNwSW5pdENhbGxiYWNrID09IE5VTEwpCisgICAgaWYgKGhuYW5kLT5Nc3BJbml0Q2FsbGJhY2sgPT0gTlVMTCkKICAgICB7CiAgICAgICBobmFuZC0+TXNwSW5pdENhbGxiYWNrID0gSEFMX05BTkRfTXNwSW5pdDsKICAgICB9CkBAIC0xOTgsMjEgKzE4MiwyNSBAQAogI2Vsc2UKICAgICAvKiBJbml0aWFsaXplIHRoZSBsb3cgbGV2ZWwgaGFyZHdhcmUgKE1TUCkgKi8KICAgICBIQUxfTkFORF9Nc3BJbml0KGhuYW5kKTsKLSNlbmRpZgorI2VuZGlmIC8qIChVU0VfSEFMX05BTkRfUkVHSVNURVJfQ0FMTEJBQ0tTKSAqLwogICB9CiAKICAgLyogSW5pdGlhbGl6ZSBOQU5EIGNvbnRyb2wgSW50ZXJmYWNlICovCi0gIEZNQ19OQU5EX0luaXQoaG5hbmQtPkluc3RhbmNlLCAmKGhuYW5kLT5Jbml0KSk7Ci0gIAotICAvKiBJbml0aWFsaXplIE5BTkQgY29tbW9uIHNwYWNlIHRpbWluZyBJbnRlcmZhY2UgKi8gIAotICBGTUNfTkFORF9Db21tb25TcGFjZV9UaW1pbmdfSW5pdChobmFuZC0+SW5zdGFuY2UsIENvbVNwYWNlX1RpbWluZywgaG5hbmQtPkluaXQuTmFuZEJhbmspOwotICAKLSAgLyogSW5pdGlhbGl6ZSBOQU5EIGF0dHJpYnV0ZSBzcGFjZSB0aW1pbmcgSW50ZXJmYWNlICovICAKLSAgRk1DX05BTkRfQXR0cmlidXRlU3BhY2VfVGltaW5nX0luaXQoaG5hbmQtPkluc3RhbmNlLCBBdHRTcGFjZV9UaW1pbmcsIGhuYW5kLT5Jbml0Lk5hbmRCYW5rKTsKLSAgCisgICh2b2lkKUZNQ19OQU5EX0luaXQoaG5hbmQtPkluc3RhbmNlLCAmKGhuYW5kLT5Jbml0KSk7CisKKyAgLyogSW5pdGlhbGl6ZSBOQU5EIGNvbW1vbiBzcGFjZSB0aW1pbmcgSW50ZXJmYWNlICovCisgICh2b2lkKUZNQ19OQU5EX0NvbW1vblNwYWNlX1RpbWluZ19Jbml0KGhuYW5kLT5JbnN0YW5jZSwgQ29tU3BhY2VfVGltaW5nLCBobmFuZC0+SW5pdC5OYW5kQmFuayk7CisKKyAgLyogSW5pdGlhbGl6ZSBOQU5EIGF0dHJpYnV0ZSBzcGFjZSB0aW1pbmcgSW50ZXJmYWNlICovCisgICh2b2lkKUZNQ19OQU5EX0F0dHJpYnV0ZVNwYWNlX1RpbWluZ19Jbml0KGhuYW5kLT5JbnN0YW5jZSwgQXR0U3BhY2VfVGltaW5nLCBobmFuZC0+SW5pdC5OYW5kQmFuayk7CisKICAgLyogRW5hYmxlIHRoZSBOQU5EIGRldmljZSAqLworI2lmIGRlZmluZWQoRk1DX0JhbmsyXzMpIHx8IGRlZmluZWQoRlNNQ19CYW5rMl8zKQogICBfX0ZNQ19OQU5EX0VOQUJMRShobmFuZC0+SW5zdGFuY2UsIGhuYW5kLT5Jbml0Lk5hbmRCYW5rKTsKLSAgCisjZWxzZQorICBfX0ZNQ19OQU5EX0VOQUJMRShobmFuZC0+SW5zdGFuY2UpOworI2VuZGlmCisKICAgLyogVXBkYXRlIHRoZSBOQU5EIGNvbnRyb2xsZXIgc3RhdGUgKi8KICAgaG5hbmQtPlN0YXRlID0gSEFMX05BTkRfU1RBVEVfUkVBRFk7CiAKQEAgLTIyNSwxMCArMjEzLDEwIEBACiAgICogICAgICAgICAgICAgICAgdGhlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gZm9yIE5BTkQgbW9kdWxlLgogICAqIEByZXR2YWwgSEFMIHN0YXR1cwogICAqLwotSEFMX1N0YXR1c1R5cGVEZWYgSEFMX05BTkRfRGVJbml0KE5BTkRfSGFuZGxlVHlwZURlZiAqaG5hbmQpICAKK0hBTF9TdGF0dXNUeXBlRGVmIEhBTF9OQU5EX0RlSW5pdChOQU5EX0hhbmRsZVR5cGVEZWYgKmhuYW5kKQogewogI2lmIChVU0VfSEFMX05BTkRfUkVHSVNURVJfQ0FMTEJBQ0tTID09IDEpCi0gIGlmKGhuYW5kLT5Nc3BEZUluaXRDYWxsYmFjayA9PSBOVUxMKQorICBpZiAoaG5hbmQtPk1zcERlSW5pdENhbGxiYWNrID09IE5VTEwpCiAgIHsKICAgICBobmFuZC0+TXNwRGVJbml0Q2FsbGJhY2sgPSBIQUxfTkFORF9Nc3BEZUluaXQ7CiAgIH0KQEAgLTIzOCwxMCArMjI2LDEwIEBACiAjZWxzZQogICAvKiBJbml0aWFsaXplIHRoZSBsb3cgbGV2ZWwgaGFyZHdhcmUgKE1TUCkgKi8KICAgSEFMX05BTkRfTXNwRGVJbml0KGhuYW5kKTsKLSNlbmRpZgorI2VuZGlmIC8qIChVU0VfSEFMX05BTkRfUkVHSVNURVJfQ0FMTEJBQ0tTKSAqLwogCiAgIC8qIENvbmZpZ3VyZSB0aGUgTkFORCByZWdpc3RlcnMgd2l0aCB0aGVpciByZXNldCB2YWx1ZXMgKi8KLSAgRk1DX05BTkRfRGVJbml0KGhuYW5kLT5JbnN0YW5jZSwgaG5hbmQtPkluaXQuTmFuZEJhbmspOworICAodm9pZClGTUNfTkFORF9EZUluaXQoaG5hbmQtPkluc3RhbmNlLCBobmFuZC0+SW5pdC5OYW5kQmFuayk7CiAKICAgLyogUmVzZXQgdGhlIE5BTkQgY29udHJvbGxlciBzdGF0ZSAqLwogICBobmFuZC0+U3RhdGUgPSBIQUxfTkFORF9TVEFURV9SRVNFVDsKQEAgLTI2Miw5ICsyNTAsMTAgQEAKIHsKICAgLyogUHJldmVudCB1bnVzZWQgYXJndW1lbnQocykgY29tcGlsYXRpb24gd2FybmluZyAqLwogICBVTlVTRUQoaG5hbmQpOworCiAgIC8qIE5PVEUgOiBUaGlzIGZ1bmN0aW9uIFNob3VsZCBub3QgYmUgbW9kaWZpZWQsIHdoZW4gdGhlIGNhbGxiYWNrIGlzIG5lZWRlZCwKICAgICAgICAgICAgIHRoZSBIQUxfTkFORF9Nc3BJbml0IGNvdWxkIGJlIGltcGxlbWVudGVkIGluIHRoZSB1c2VyIGZpbGUKLSAgICovIAorICAgKi8KIH0KIAogLyoqCkBAIC0yNzcsOSArMjY2LDEwIEBACiB7CiAgIC8qIFByZXZlbnQgdW51c2VkIGFyZ3VtZW50KHMpIGNvbXBpbGF0aW9uIHdhcm5pbmcgKi8KICAgVU5VU0VEKGhuYW5kKTsKKwogICAvKiBOT1RFIDogVGhpcyBmdW5jdGlvbiBTaG91bGQgbm90IGJlIG1vZGlmaWVkLCB3aGVuIHRoZSBjYWxsYmFjayBpcyBuZWVkZWQsCiAgICAgICAgICAgICB0aGUgSEFMX05BTkRfTXNwRGVJbml0IGNvdWxkIGJlIGltcGxlbWVudGVkIGluIHRoZSB1c2VyIGZpbGUKLSAgICovIAorICAgKi8KIH0KIAogCkBAIC0yODgsNjQgKzI3OCw4MSBAQAogICAqIEBwYXJhbSAgaG5hbmQgcG9pbnRlciB0byBhIE5BTkRfSGFuZGxlVHlwZURlZiBzdHJ1Y3R1cmUgdGhhdCBjb250YWlucwogICAqICAgICAgICAgICAgICAgIHRoZSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIGZvciBOQU5EIG1vZHVsZS4KICAgKiBAcmV0dmFsIEhBTCBzdGF0dXMKLSovCisgICovCiB2b2lkIEhBTF9OQU5EX0lSUUhhbmRsZXIoTkFORF9IYW5kbGVUeXBlRGVmICpobmFuZCkKIHsKICAgLyogQ2hlY2sgTkFORCBpbnRlcnJ1cHQgUmlzaW5nIGVkZ2UgZmxhZyAqLwotICBpZihfX0ZNQ19OQU5EX0dFVF9GTEFHKGhuYW5kLT5JbnN0YW5jZSwgaG5hbmQtPkluaXQuTmFuZEJhbmssIEZNQ19GTEFHX1JJU0lOR19FREdFKSkKKyAgaWYgKF9fRk1DX05BTkRfR0VUX0ZMQUcoaG5hbmQtPkluc3RhbmNlLCBobmFuZC0+SW5pdC5OYW5kQmFuaywgRk1DX0ZMQUdfUklTSU5HX0VER0UpKQogICB7CiAgICAgLyogTkFORCBpbnRlcnJ1cHQgY2FsbGJhY2sqLwogI2lmIChVU0VfSEFMX05BTkRfUkVHSVNURVJfQ0FMTEJBQ0tTID09IDEpCiAgICAgaG5hbmQtPkl0Q2FsbGJhY2soaG5hbmQpOwogI2Vsc2UKICAgICBIQUxfTkFORF9JVENhbGxiYWNrKGhuYW5kKTsKLSNlbmRpZgorI2VuZGlmIC8qIChVU0VfSEFMX05BTkRfUkVHSVNURVJfQ0FMTEJBQ0tTKSAqLwogCiAgICAgLyogQ2xlYXIgTkFORCBpbnRlcnJ1cHQgUmlzaW5nIGVkZ2UgcGVuZGluZyBiaXQgKi8KKyNpZiBkZWZpbmVkKEZNQ19CYW5rMl8zKSB8fCBkZWZpbmVkKEZTTUNfQmFuazJfMykKICAgICBfX0ZNQ19OQU5EX0NMRUFSX0ZMQUcoaG5hbmQtPkluc3RhbmNlLCBobmFuZC0+SW5pdC5OYW5kQmFuaywgRk1DX0ZMQUdfUklTSU5HX0VER0UpOworI2Vsc2UKKyAgICBfX0ZNQ19OQU5EX0NMRUFSX0ZMQUcoaG5hbmQtPkluc3RhbmNlLCBGTUNfRkxBR19SSVNJTkdfRURHRSk7CisjZW5kaWYgLyogRk1DX0JhbmsyXzMgfHwgRlNNQ19CYW5rMl8zICovCiAgIH0KLSAgCisKICAgLyogQ2hlY2sgTkFORCBpbnRlcnJ1cHQgTGV2ZWwgZmxhZyAqLwotICBpZihfX0ZNQ19OQU5EX0dFVF9GTEFHKGhuYW5kLT5JbnN0YW5jZSwgaG5hbmQtPkluaXQuTmFuZEJhbmssIEZNQ19GTEFHX0xFVkVMKSkKKyAgaWYgKF9fRk1DX05BTkRfR0VUX0ZMQUcoaG5hbmQtPkluc3RhbmNlLCBobmFuZC0+SW5pdC5OYW5kQmFuaywgRk1DX0ZMQUdfTEVWRUwpKQogICB7CiAgICAgLyogTkFORCBpbnRlcnJ1cHQgY2FsbGJhY2sqLwogI2lmIChVU0VfSEFMX05BTkRfUkVHSVNURVJfQ0FMTEJBQ0tTID09IDEpCiAgICAgaG5hbmQtPkl0Q2FsbGJhY2soaG5hbmQpOwogI2Vsc2UKICAgICBIQUxfTkFORF9JVENhbGxiYWNrKGhuYW5kKTsKLSNlbmRpZgorI2VuZGlmIC8qIChVU0VfSEFMX05BTkRfUkVHSVNURVJfQ0FMTEJBQ0tTKSAqLwogCiAgICAgLyogQ2xlYXIgTkFORCBpbnRlcnJ1cHQgTGV2ZWwgcGVuZGluZyBiaXQgKi8KKyNpZiBkZWZpbmVkKEZNQ19CYW5rMl8zKSB8fCBkZWZpbmVkKEZTTUNfQmFuazJfMykKICAgICBfX0ZNQ19OQU5EX0NMRUFSX0ZMQUcoaG5hbmQtPkluc3RhbmNlLCBobmFuZC0+SW5pdC5OYW5kQmFuaywgRk1DX0ZMQUdfTEVWRUwpOworI2Vsc2UKKyAgICBfX0ZNQ19OQU5EX0NMRUFSX0ZMQUcoaG5hbmQtPkluc3RhbmNlLCBGTUNfRkxBR19MRVZFTCk7CisjZW5kaWYgLyogRk1DX0JhbmsyXzMgfHwgRlNNQ19CYW5rMl8zICovCiAgIH0KIAogICAvKiBDaGVjayBOQU5EIGludGVycnVwdCBGYWxsaW5nIGVkZ2UgZmxhZyAqLwotICBpZihfX0ZNQ19OQU5EX0dFVF9GTEFHKGhuYW5kLT5JbnN0YW5jZSwgaG5hbmQtPkluaXQuTmFuZEJhbmssIEZNQ19GTEFHX0ZBTExJTkdfRURHRSkpCisgIGlmIChfX0ZNQ19OQU5EX0dFVF9GTEFHKGhuYW5kLT5JbnN0YW5jZSwgaG5hbmQtPkluaXQuTmFuZEJhbmssIEZNQ19GTEFHX0ZBTExJTkdfRURHRSkpCiAgIHsKICAgICAvKiBOQU5EIGludGVycnVwdCBjYWxsYmFjayovCiAjaWYgKFVTRV9IQUxfTkFORF9SRUdJU1RFUl9DQUxMQkFDS1MgPT0gMSkKICAgICBobmFuZC0+SXRDYWxsYmFjayhobmFuZCk7CiAjZWxzZQogICAgIEhBTF9OQU5EX0lUQ2FsbGJhY2soaG5hbmQpOwotI2VuZGlmCisjZW5kaWYgLyogKFVTRV9IQUxfTkFORF9SRUdJU1RFUl9DQUxMQkFDS1MpICovCiAKICAgICAvKiBDbGVhciBOQU5EIGludGVycnVwdCBGYWxsaW5nIGVkZ2UgcGVuZGluZyBiaXQgKi8KKyNpZiBkZWZpbmVkKEZNQ19CYW5rMl8zKSB8fCBkZWZpbmVkKEZTTUNfQmFuazJfMykKICAgICBfX0ZNQ19OQU5EX0NMRUFSX0ZMQUcoaG5hbmQtPkluc3RhbmNlLCBobmFuZC0+SW5pdC5OYW5kQmFuaywgRk1DX0ZMQUdfRkFMTElOR19FREdFKTsKKyNlbHNlCisgICAgX19GTUNfTkFORF9DTEVBUl9GTEFHKGhuYW5kLT5JbnN0YW5jZSwgRk1DX0ZMQUdfRkFMTElOR19FREdFKTsKKyNlbmRpZiAvKiBGTUNfQmFuazJfMyB8fCBGU01DX0JhbmsyXzMgKi8KICAgfQotICAKKwogICAvKiBDaGVjayBOQU5EIGludGVycnVwdCBGSUZPIGVtcHR5IGZsYWcgKi8KLSAgaWYoX19GTUNfTkFORF9HRVRfRkxBRyhobmFuZC0+SW5zdGFuY2UsIGhuYW5kLT5Jbml0Lk5hbmRCYW5rLCBGTUNfRkxBR19GRU1QVCkpCisgIGlmIChfX0ZNQ19OQU5EX0dFVF9GTEFHKGhuYW5kLT5JbnN0YW5jZSwgaG5hbmQtPkluaXQuTmFuZEJhbmssIEZNQ19GTEFHX0ZFTVBUKSkKICAgewogICAgIC8qIE5BTkQgaW50ZXJydXB0IGNhbGxiYWNrKi8KICNpZiAoVVNFX0hBTF9OQU5EX1JFR0lTVEVSX0NBTExCQUNLUyA9PSAxKQogICAgIGhuYW5kLT5JdENhbGxiYWNrKGhuYW5kKTsKICNlbHNlCiAgICAgSEFMX05BTkRfSVRDYWxsYmFjayhobmFuZCk7Ci0jZW5kaWYKKyNlbmRpZiAvKiAoVVNFX0hBTF9OQU5EX1JFR0lTVEVSX0NBTExCQUNLUykgKi8KIAogICAgIC8qIENsZWFyIE5BTkQgaW50ZXJydXB0IEZJRk8gZW1wdHkgcGVuZGluZyBiaXQgKi8KKyNpZiBkZWZpbmVkKEZNQ19CYW5rMl8zKSB8fCBkZWZpbmVkKEZTTUNfQmFuazJfMykKICAgICBfX0ZNQ19OQU5EX0NMRUFSX0ZMQUcoaG5hbmQtPkluc3RhbmNlLCBobmFuZC0+SW5pdC5OYW5kQmFuaywgRk1DX0ZMQUdfRkVNUFQpOworI2Vsc2UKKyAgICBfX0ZNQ19OQU5EX0NMRUFSX0ZMQUcoaG5hbmQtPkluc3RhbmNlLCBGTUNfRkxBR19GRU1QVCk7CisjZW5kaWYgLyogRk1DX0JhbmsyXzMgfHwgRlNNQ19CYW5rMl8zICovCiAgIH0KKwogfQogCiAvKioKQEAgLTM1OCwyNiArMzY1LDI3IEBACiB7CiAgIC8qIFByZXZlbnQgdW51c2VkIGFyZ3VtZW50KHMpIGNvbXBpbGF0aW9uIHdhcm5pbmcgKi8KICAgVU5VU0VEKGhuYW5kKTsKKwogICAvKiBOT1RFIDogVGhpcyBmdW5jdGlvbiBTaG91bGQgbm90IGJlIG1vZGlmaWVkLCB3aGVuIHRoZSBjYWxsYmFjayBpcyBuZWVkZWQsCiAgICAgICAgICAgICB0aGUgSEFMX05BTkRfSVRDYWxsYmFjayBjb3VsZCBiZSBpbXBsZW1lbnRlZCBpbiB0aGUgdXNlciBmaWxlCiAgICAqLwogfQotIAorCiAvKioKICAgKiBAfQogICAqLwotICAKLS8qKiBAZGVmZ3JvdXAgTkFORF9FeHBvcnRlZF9GdW5jdGlvbnNfR3JvdXAyIElucHV0IGFuZCBPdXRwdXQgZnVuY3Rpb25zIAotICAqIEBicmllZiAgICBJbnB1dCBPdXRwdXQgYW5kIG1lbW9yeSBjb250cm9sIGZ1bmN0aW9ucyAKKworLyoqIEBkZWZncm91cCBOQU5EX0V4cG9ydGVkX0Z1bmN0aW9uc19Hcm91cDIgSW5wdXQgYW5kIE91dHB1dCBmdW5jdGlvbnMKKyAgKiBAYnJpZWYgICAgSW5wdXQgT3V0cHV0IGFuZCBtZW1vcnkgY29udHJvbCBmdW5jdGlvbnMKICAgKgotICBAdmVyYmF0aW0gICAgCisgIEB2ZXJiYXRpbQogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgICAgICAgICAgICAgICAgICAgIyMjIyMgTkFORCBJbnB1dCBhbmQgT3V0cHV0IGZ1bmN0aW9ucyAjIyMjIwogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLSAgWy4uXSAgCi0gICAgVGhpcyBzZWN0aW9uIHByb3ZpZGVzIGZ1bmN0aW9ucyBhbGxvd2luZyB0byB1c2UgYW5kIGNvbnRyb2wgdGhlIE5BTkQgCisgIFsuLl0KKyAgICBUaGlzIHNlY3Rpb24gcHJvdmlkZXMgZnVuY3Rpb25zIGFsbG93aW5nIHRvIHVzZSBhbmQgY29udHJvbCB0aGUgTkFORAogICAgIG1lbW9yeQotICAKKwogQGVuZHZlcmJhdGltCiAgICogQHsKICAgKi8KQEAgLTM5MSw2OSArMzk5LDgxIEBACiAgICovCiBIQUxfU3RhdHVzVHlwZURlZiBIQUxfTkFORF9SZWFkX0lEKE5BTkRfSGFuZGxlVHlwZURlZiAqaG5hbmQsIE5BTkRfSURUeXBlRGVmICpwTkFORF9JRCkKIHsKLSAgX19JTyB1aW50MzJfdCBkYXRhID0gMFU7Ci0gIF9fSU8gdWludDMyX3QgZGF0YTEgPSAwVTsKLSAgdWludDMyX3QgZGV2aWNlYWRkcmVzcyA9IDBVOworICBfX0lPIHVpbnQzMl90IGRhdGEgPSAwOworICBfX0lPIHVpbnQzMl90IGRhdGExID0gMDsKKyAgdWludDMyX3QgZGV2aWNlYWRkcmVzczsKIAotICAvKiBQcm9jZXNzIExvY2tlZCAqLwotICBfX0hBTF9MT0NLKGhuYW5kKTsgIAotICAKICAgLyogQ2hlY2sgdGhlIE5BTkQgY29udHJvbGxlciBzdGF0ZSAqLwotICBpZihobmFuZC0+U3RhdGUgPT0gSEFMX05BTkRfU1RBVEVfQlVTWSkKKyAgaWYgKGhuYW5kLT5TdGF0ZSA9PSBIQUxfTkFORF9TVEFURV9CVVNZKQogICB7Ci0gICAgIHJldHVybiBIQUxfQlVTWTsKKyAgICByZXR1cm4gSEFMX0JVU1k7CiAgIH0KLSAgCi0gIC8qIElkZW50aWZ5IHRoZSBkZXZpY2UgYWRkcmVzcyAqLwotICBpZihobmFuZC0+SW5pdC5OYW5kQmFuayA9PSBGTUNfTkFORF9CQU5LMikKKyAgZWxzZSBpZiAoaG5hbmQtPlN0YXRlID09IEhBTF9OQU5EX1NUQVRFX1JFQURZKQogICB7Ci0gICAgZGV2aWNlYWRkcmVzcyA9IE5BTkRfREVWSUNFMTsKLSAgfQotICBlbHNlCi0gIHsKLSAgICBkZXZpY2VhZGRyZXNzID0gTkFORF9ERVZJQ0UyOwotICB9Ci0gIAotICAvKiBVcGRhdGUgdGhlIE5BTkQgY29udHJvbGxlciBzdGF0ZSAqLyAKLSAgaG5hbmQtPlN0YXRlID0gSEFMX05BTkRfU1RBVEVfQlVTWTsKLSAgCi0gIC8qIFNlbmQgUmVhZCBJRCBjb21tYW5kIHNlcXVlbmNlICovICAgCi0gICooX19JTyB1aW50OF90ICopKCh1aW50MzJfdCkoZGV2aWNlYWRkcmVzcyB8IENNRF9BUkVBKSkgID0gTkFORF9DTURfUkVBRElEOwotICAqKF9fSU8gdWludDhfdCAqKSgodWludDMyX3QpKGRldmljZWFkZHJlc3MgfCBBRERSX0FSRUEpKSA9IDB4MDA7CisgICAgLyogUHJvY2VzcyBMb2NrZWQgKi8KKyAgICBfX0hBTF9MT0NLKGhuYW5kKTsKIAotICAvKiBSZWFkIHRoZSBlbGVjdHJvbmljIHNpZ25hdHVyZSBmcm9tIE5BTkQgZmxhc2ggKi8KLSNpZmRlZiBGU01DX1BDUjJfUFdJRAotICBpZiAoaG5hbmQtPkluaXQuTWVtb3J5RGF0YVdpZHRoID09IEZTTUNfTkFORF9QQ0NfTUVNX0JVU19XSURUSF84KQotI2Vsc2UgLyogRk1DX1BDUjJfUFdJRCBpcyBkZWZpbmVkICovCi0gIGlmIChobmFuZC0+SW5pdC5NZW1vcnlEYXRhV2lkdGggPT0gRk1DX05BTkRfUENDX01FTV9CVVNfV0lEVEhfOCkKKyAgICAvKiBVcGRhdGUgdGhlIE5BTkQgY29udHJvbGxlciBzdGF0ZSAqLworICAgIGhuYW5kLT5TdGF0ZSA9IEhBTF9OQU5EX1NUQVRFX0JVU1k7CisKKyAgICAvKiBJZGVudGlmeSB0aGUgZGV2aWNlIGFkZHJlc3MgKi8KKyNpZiBkZWZpbmVkKEZNQ19CYW5rMl8zKQorICAgIGlmIChobmFuZC0+SW5pdC5OYW5kQmFuayA9PSBGTUNfTkFORF9CQU5LMikKKyAgICB7CisgICAgICBkZXZpY2VhZGRyZXNzID0gTkFORF9ERVZJQ0UxOworICAgIH0KKyAgICBlbHNlCisgICAgeworICAgICAgZGV2aWNlYWRkcmVzcyA9IE5BTkRfREVWSUNFMjsKKyAgICB9CisjZWxzZQorICAgIGRldmljZWFkZHJlc3MgPSBOQU5EX0RFVklDRTsKICNlbmRpZgotICB7Ci0gICAgZGF0YSA9ICooX19JTyB1aW50MzJfdCAqKWRldmljZWFkZHJlc3M7CiAKLSAgICAvKiBSZXR1cm4gdGhlIGRhdGEgcmVhZCAqLwotICAgIHBOQU5EX0lELT5NYWtlcl9JZCAgID0gQUREUl8xU1RfQ1lDTEUoZGF0YSk7Ci0gICAgcE5BTkRfSUQtPkRldmljZV9JZCAgPSBBRERSXzJORF9DWUNMRShkYXRhKTsKLSAgICBwTkFORF9JRC0+VGhpcmRfSWQgICA9IEFERFJfM1JEX0NZQ0xFKGRhdGEpOwotICAgIHBOQU5EX0lELT5Gb3VydGhfSWQgID0gQUREUl80VEhfQ1lDTEUoZGF0YSk7CisgICAgLyogU2VuZCBSZWFkIElEIGNvbW1hbmQgc2VxdWVuY2UgKi8KKyAgICAqKF9fSU8gdWludDhfdCAqKSgodWludDMyX3QpKGRldmljZWFkZHJlc3MgfCBDTURfQVJFQSkpICA9IE5BTkRfQ01EX1JFQURJRDsKKyAgICBfX0RTQigpOworICAgICooX19JTyB1aW50OF90ICopKCh1aW50MzJfdCkoZGV2aWNlYWRkcmVzcyB8IEFERFJfQVJFQSkpID0gMHgwMDsKKyAgICBfX0RTQigpOworCisgICAgLyogUmVhZCB0aGUgZWxlY3Ryb25pYyBzaWduYXR1cmUgZnJvbSBOQU5EIGZsYXNoICovCisjaWZkZWYgRlNNQ19QQ1IyX1BXSUQKKyAgICBpZiAoaG5hbmQtPkluaXQuTWVtb3J5RGF0YVdpZHRoID09IEZTTUNfTkFORF9QQ0NfTUVNX0JVU19XSURUSF84KQorI2Vsc2UgLyogRk1DX1BDUjJfUFdJRCBpcyBkZWZpbmVkICovCisgICAgaWYgKGhuYW5kLT5Jbml0Lk1lbW9yeURhdGFXaWR0aCA9PSBGTUNfTkFORF9QQ0NfTUVNX0JVU19XSURUSF84KQorI2VuZGlmCisgICAgeworICAgICAgZGF0YSA9ICooX19JTyB1aW50MzJfdCAqKWRldmljZWFkZHJlc3M7CisKKyAgICAgIC8qIFJldHVybiB0aGUgZGF0YSByZWFkICovCisgICAgICBwTkFORF9JRC0+TWFrZXJfSWQgICA9IEFERFJfMVNUX0NZQ0xFKGRhdGEpOworICAgICAgcE5BTkRfSUQtPkRldmljZV9JZCAgPSBBRERSXzJORF9DWUNMRShkYXRhKTsKKyAgICAgIHBOQU5EX0lELT5UaGlyZF9JZCAgID0gQUREUl8zUkRfQ1lDTEUoZGF0YSk7CisgICAgICBwTkFORF9JRC0+Rm91cnRoX0lkICA9IEFERFJfNFRIX0NZQ0xFKGRhdGEpOworICAgIH0KKyAgICBlbHNlCisgICAgeworICAgICAgZGF0YSA9ICooX19JTyB1aW50MzJfdCAqKWRldmljZWFkZHJlc3M7CisgICAgICBkYXRhMSA9ICooKF9fSU8gdWludDMyX3QgKilkZXZpY2VhZGRyZXNzICsgNCk7CisKKyAgICAgIC8qIFJldHVybiB0aGUgZGF0YSByZWFkICovCisgICAgICBwTkFORF9JRC0+TWFrZXJfSWQgICA9IEFERFJfMVNUX0NZQ0xFKGRhdGEpOworICAgICAgcE5BTkRfSUQtPkRldmljZV9JZCAgPSBBRERSXzNSRF9DWUNMRShkYXRhKTsKKyAgICAgIHBOQU5EX0lELT5UaGlyZF9JZCAgID0gQUREUl8xU1RfQ1lDTEUoZGF0YTEpOworICAgICAgcE5BTkRfSUQtPkZvdXJ0aF9JZCAgPSBBRERSXzNSRF9DWUNMRShkYXRhMSk7CisgICAgfQorCisgICAgLyogVXBkYXRlIHRoZSBOQU5EIGNvbnRyb2xsZXIgc3RhdGUgKi8KKyAgICBobmFuZC0+U3RhdGUgPSBIQUxfTkFORF9TVEFURV9SRUFEWTsKKworICAgIC8qIFByb2Nlc3MgdW5sb2NrZWQgKi8KKyAgICBfX0hBTF9VTkxPQ0soaG5hbmQpOwogICB9CiAgIGVsc2UKICAgewotICAgIGRhdGEgPSAqKF9fSU8gdWludDMyX3QgKilkZXZpY2VhZGRyZXNzOwotICAgIGRhdGExID0gKigoX19JTyB1aW50MzJfdCAqKWRldmljZWFkZHJlc3MgKyA0VSk7Ci0gICAgCi0gICAgLyogUmV0dXJuIHRoZSBkYXRhIHJlYWQgKi8KLSAgICBwTkFORF9JRC0+TWFrZXJfSWQgICA9IEFERFJfMVNUX0NZQ0xFKGRhdGEpOwotICAgIHBOQU5EX0lELT5EZXZpY2VfSWQgID0gQUREUl8zUkRfQ1lDTEUoZGF0YSk7Ci0gICAgcE5BTkRfSUQtPlRoaXJkX0lkICAgPSBBRERSXzFTVF9DWUNMRShkYXRhMSk7Ci0gICAgcE5BTkRfSUQtPkZvdXJ0aF9JZCAgPSBBRERSXzNSRF9DWUNMRShkYXRhMSk7CisgICAgcmV0dXJuIEhBTF9FUlJPUjsKICAgfQotICAKLSAgLyogVXBkYXRlIHRoZSBOQU5EIGNvbnRyb2xsZXIgc3RhdGUgKi8gCi0gIGhuYW5kLT5TdGF0ZSA9IEhBTF9OQU5EX1NUQVRFX1JFQURZOwotICAKLSAgLyogUHJvY2VzcyB1bmxvY2tlZCAqLwotICBfX0hBTF9VTkxPQ0soaG5hbmQpOwotICAgCisKICAgcmV0dXJuIEhBTF9PSzsKIH0KIApAQCAtNDY1LDM5ICs0ODUsNDggQEAKICAgKi8KIEhBTF9TdGF0dXNUeXBlRGVmIEhBTF9OQU5EX1Jlc2V0KE5BTkRfSGFuZGxlVHlwZURlZiAqaG5hbmQpCiB7Ci0gIHVpbnQzMl90IGRldmljZWFkZHJlc3MgPSAwVTsKLQotICAvKiBQcm9jZXNzIExvY2tlZCAqLwotICBfX0hBTF9MT0NLKGhuYW5kKTsKKyAgdWludDMyX3QgZGV2aWNlYWRkcmVzczsKIAogICAvKiBDaGVjayB0aGUgTkFORCBjb250cm9sbGVyIHN0YXRlICovCi0gIGlmKGhuYW5kLT5TdGF0ZSA9PSBIQUxfTkFORF9TVEFURV9CVVNZKQorICBpZiAoaG5hbmQtPlN0YXRlID09IEhBTF9OQU5EX1NUQVRFX0JVU1kpCiAgIHsKLSAgICAgcmV0dXJuIEhBTF9CVVNZOworICAgIHJldHVybiBIQUxfQlVTWTsKICAgfQotCi0gIC8qIElkZW50aWZ5IHRoZSBkZXZpY2UgYWRkcmVzcyAqLwotICBpZihobmFuZC0+SW5pdC5OYW5kQmFuayA9PSBGTUNfTkFORF9CQU5LMikKKyAgZWxzZSBpZiAoaG5hbmQtPlN0YXRlID09IEhBTF9OQU5EX1NUQVRFX1JFQURZKQogICB7Ci0gICAgZGV2aWNlYWRkcmVzcyA9IE5BTkRfREVWSUNFMTsKKyAgICAvKiBQcm9jZXNzIExvY2tlZCAqLworICAgIF9fSEFMX0xPQ0soaG5hbmQpOworCisgICAgLyogVXBkYXRlIHRoZSBOQU5EIGNvbnRyb2xsZXIgc3RhdGUgKi8KKyAgICBobmFuZC0+U3RhdGUgPSBIQUxfTkFORF9TVEFURV9CVVNZOworCisgICAgLyogSWRlbnRpZnkgdGhlIGRldmljZSBhZGRyZXNzICovCisjaWYgZGVmaW5lZChGTUNfQmFuazJfMykKKyAgICBpZiAoaG5hbmQtPkluaXQuTmFuZEJhbmsgPT0gRk1DX05BTkRfQkFOSzIpCisgICAgeworICAgICAgZGV2aWNlYWRkcmVzcyA9IE5BTkRfREVWSUNFMTsKKyAgICB9CisgICAgZWxzZQorICAgIHsKKyAgICAgIGRldmljZWFkZHJlc3MgPSBOQU5EX0RFVklDRTI7CisgICAgfQorI2Vsc2UKKyAgICBkZXZpY2VhZGRyZXNzID0gTkFORF9ERVZJQ0U7CisjZW5kaWYKKworICAgIC8qIFNlbmQgTkFORCByZXNldCBjb21tYW5kICovCisgICAgKihfX0lPIHVpbnQ4X3QgKikoKHVpbnQzMl90KShkZXZpY2VhZGRyZXNzIHwgQ01EX0FSRUEpKSA9IDB4RkY7CisKKyAgICAvKiBVcGRhdGUgdGhlIE5BTkQgY29udHJvbGxlciBzdGF0ZSAqLworICAgIGhuYW5kLT5TdGF0ZSA9IEhBTF9OQU5EX1NUQVRFX1JFQURZOworCisgICAgLyogUHJvY2VzcyB1bmxvY2tlZCAqLworICAgIF9fSEFMX1VOTE9DSyhobmFuZCk7CiAgIH0KICAgZWxzZQogICB7Ci0gICAgZGV2aWNlYWRkcmVzcyA9IE5BTkRfREVWSUNFMjsKLSAgfSAgCi0gIAotICAvKiBVcGRhdGUgdGhlIE5BTkQgY29udHJvbGxlciBzdGF0ZSAqLwotICBobmFuZC0+U3RhdGUgPSBIQUxfTkFORF9TVEFURV9CVVNZOyAKLSAgCi0gIC8qIFNlbmQgTkFORCByZXNldCBjb21tYW5kICovICAKLSAgKihfX0lPIHVpbnQ4X3QgKikoKHVpbnQzMl90KShkZXZpY2VhZGRyZXNzIHwgQ01EX0FSRUEpKSA9IDB4RkY7Ci0KLQotICAvKiBVcGRhdGUgdGhlIE5BTkQgY29udHJvbGxlciBzdGF0ZSAqLwotICBobmFuZC0+U3RhdGUgPSBIQUxfTkFORF9TVEFURV9SRUFEWTsKLSAgCi0gIC8qIFByb2Nlc3MgdW5sb2NrZWQgKi8KLSAgX19IQUxfVU5MT0NLKGhuYW5kKTsKKyAgICByZXR1cm4gSEFMX0VSUk9SOworICB9CiAKICAgcmV0dXJuIEhBTF9PSzsKIApAQCAtNTE5LDEzOSArNTQ4LDE3NiBAQAogICBobmFuZC0+Q29uZmlnLlBsYW5lU2l6ZSAgICAgICAgICA9IHBEZXZpY2VDb25maWctPlBsYW5lU2l6ZTsKICAgaG5hbmQtPkNvbmZpZy5QbGFuZU5iciAgICAgICAgICAgPSBwRGV2aWNlQ29uZmlnLT5QbGFuZU5icjsKICAgaG5hbmQtPkNvbmZpZy5FeHRyYUNvbW1hbmRFbmFibGUgPSBwRGV2aWNlQ29uZmlnLT5FeHRyYUNvbW1hbmRFbmFibGU7Ci0gIAorCiAgIHJldHVybiBIQUxfT0s7CiB9Ci0gIAorCiAvKioKICAgKiBAYnJpZWYgIFJlYWQgUGFnZShzKSBmcm9tIE5BTkQgbWVtb3J5IGJsb2NrICg4LWJpdHMgYWRkcmVzc2luZykKICAgKiBAcGFyYW0gIGhuYW5kIHBvaW50ZXIgdG8gYSBOQU5EX0hhbmRsZVR5cGVEZWYgc3RydWN0dXJlIHRoYXQgY29udGFpbnMKICAgKiAgICAgICAgICAgICAgICB0aGUgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbiBmb3IgTkFORCBtb2R1bGUuCiAgICogQHBhcmFtICBwQWRkcmVzcyAgcG9pbnRlciB0byBOQU5EIGFkZHJlc3Mgc3RydWN0dXJlCiAgICogQHBhcmFtICBwQnVmZmVyICBwb2ludGVyIHRvIGRlc3RpbmF0aW9uIHJlYWQgYnVmZmVyCi0gICogQHBhcmFtICBOdW1QYWdlVG9SZWFkICBudW1iZXIgb2YgcGFnZXMgdG8gcmVhZCBmcm9tIGJsb2NrIAorICAqIEBwYXJhbSAgTnVtUGFnZVRvUmVhZCAgbnVtYmVyIG9mIHBhZ2VzIHRvIHJlYWQgZnJvbSBibG9jawogICAqIEByZXR2YWwgSEFMIHN0YXR1cwogICAqLwotSEFMX1N0YXR1c1R5cGVEZWYgSEFMX05BTkRfUmVhZF9QYWdlXzhiKE5BTkRfSGFuZGxlVHlwZURlZiAqaG5hbmQsIE5BTkRfQWRkcmVzc1R5cGVEZWYgKnBBZGRyZXNzLCB1aW50OF90ICpwQnVmZmVyLCB1aW50MzJfdCBOdW1QYWdlVG9SZWFkKQoteyAgIAotICBfX0lPIHVpbnQzMl90IGluZGV4ICA9IDBVOwotICB1aW50MzJfdCB0aWNrc3RhcnQgPSAwVTsKLSAgdWludDMyX3QgZGV2aWNlYWRkcmVzcyA9IDBVLCBzaXplID0gMFUsIG51bVBhZ2VzUmVhZCA9IDBVLCBuYW5kYWRkcmVzcyA9IDBVOwotICAKLSAgLyogUHJvY2VzcyBMb2NrZWQgKi8KLSAgX19IQUxfTE9DSyhobmFuZCk7IAotICAKK0hBTF9TdGF0dXNUeXBlRGVmIEhBTF9OQU5EX1JlYWRfUGFnZV84YihOQU5EX0hhbmRsZVR5cGVEZWYgKmhuYW5kLCBOQU5EX0FkZHJlc3NUeXBlRGVmICpwQWRkcmVzcywgdWludDhfdCAqcEJ1ZmZlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBOdW1QYWdlVG9SZWFkKQoreworICB1aW50MzJfdCBpbmRleDsKKyAgdWludDMyX3QgdGlja3N0YXJ0OworICB1aW50MzJfdCBkZXZpY2VhZGRyZXNzOworICB1aW50MzJfdCBudW1wYWdlc3JlYWQgPSAwVTsKKyAgdWludDMyX3QgbmFuZGFkZHJlc3M7CisgIHVpbnQzMl90IG5icGFnZXMgPSBOdW1QYWdlVG9SZWFkOworICB1aW50OF90ICpidWZmID0gcEJ1ZmZlcjsKKwogICAvKiBDaGVjayB0aGUgTkFORCBjb250cm9sbGVyIHN0YXRlICovCi0gIGlmKGhuYW5kLT5TdGF0ZSA9PSBIQUxfTkFORF9TVEFURV9CVVNZKQorICBpZiAoaG5hbmQtPlN0YXRlID09IEhBTF9OQU5EX1NUQVRFX0JVU1kpCiAgIHsKLSAgICAgcmV0dXJuIEhBTF9CVVNZOworICAgIHJldHVybiBIQUxfQlVTWTsKICAgfQotICAKLSAgLyogSWRlbnRpZnkgdGhlIGRldmljZSBhZGRyZXNzICovCi0gIGlmKGhuYW5kLT5Jbml0Lk5hbmRCYW5rID09IEZNQ19OQU5EX0JBTksyKQorICBlbHNlIGlmIChobmFuZC0+U3RhdGUgPT0gSEFMX05BTkRfU1RBVEVfUkVBRFkpCiAgIHsKLSAgICBkZXZpY2VhZGRyZXNzID0gTkFORF9ERVZJQ0UxOworICAgIC8qIFByb2Nlc3MgTG9ja2VkICovCisgICAgX19IQUxfTE9DSyhobmFuZCk7CisKKyAgICAvKiBVcGRhdGUgdGhlIE5BTkQgY29udHJvbGxlciBzdGF0ZSAqLworICAgIGhuYW5kLT5TdGF0ZSA9IEhBTF9OQU5EX1NUQVRFX0JVU1k7CisKKyAgICAvKiBJZGVudGlmeSB0aGUgZGV2aWNlIGFkZHJlc3MgKi8KKyNpZiBkZWZpbmVkKEZNQ19CYW5rMl8zKQorICAgIGlmIChobmFuZC0+SW5pdC5OYW5kQmFuayA9PSBGTUNfTkFORF9CQU5LMikKKyAgICB7CisgICAgICBkZXZpY2VhZGRyZXNzID0gTkFORF9ERVZJQ0UxOworICAgIH0KKyAgICBlbHNlCisgICAgeworICAgICAgZGV2aWNlYWRkcmVzcyA9IE5BTkRfREVWSUNFMjsKKyAgICB9CisjZWxzZQorICAgIGRldmljZWFkZHJlc3MgPSBOQU5EX0RFVklDRTsKKyNlbmRpZgorCisgICAgLyogTkFORCByYXcgYWRkcmVzcyBjYWxjdWxhdGlvbiAqLworICAgIG5hbmRhZGRyZXNzID0gQVJSQVlfQUREUkVTUyhwQWRkcmVzcywgaG5hbmQpOworCisgICAgLyogUGFnZShzKSByZWFkIGxvb3AgKi8KKyAgICB3aGlsZSAoKG5icGFnZXMgIT0gMFUpICYmIChuYW5kYWRkcmVzcyA8ICgoaG5hbmQtPkNvbmZpZy5CbG9ja1NpemUpICogKGhuYW5kLT5Db25maWcuQmxvY2tOYnIpKSkpCisgICAgeworICAgICAgLyogU2VuZCByZWFkIHBhZ2UgY29tbWFuZCBzZXF1ZW5jZSAqLworICAgICAgKihfX0lPIHVpbnQ4X3QgKikoKHVpbnQzMl90KShkZXZpY2VhZGRyZXNzIHwgQ01EX0FSRUEpKSA9IE5BTkRfQ01EX0FSRUFfQTsKKyAgICAgIF9fRFNCKCk7CisKKyAgICAgIC8qIENhcmRzIHdpdGggcGFnZSBzaXplIDw9IDUxMiBieXRlcyAqLworICAgICAgaWYgKChobmFuZC0+Q29uZmlnLlBhZ2VTaXplKSA8PSA1MTJVKQorICAgICAgeworICAgICAgICBpZiAoKChobmFuZC0+Q29uZmlnLkJsb2NrU2l6ZSkgKiAoaG5hbmQtPkNvbmZpZy5CbG9ja05icikpIDw9IDY1NTM1VSkKKyAgICAgICAgeworICAgICAgICAgICooX19JTyB1aW50OF90ICopKCh1aW50MzJfdCkoZGV2aWNlYWRkcmVzcyB8IEFERFJfQVJFQSkpID0gMHgwMFU7CisgICAgICAgICAgX19EU0IoKTsKKyAgICAgICAgICAqKF9fSU8gdWludDhfdCAqKSgodWludDMyX3QpKGRldmljZWFkZHJlc3MgfCBBRERSX0FSRUEpKSA9IEFERFJfMVNUX0NZQ0xFKG5hbmRhZGRyZXNzKTsKKyAgICAgICAgICBfX0RTQigpOworICAgICAgICAgICooX19JTyB1aW50OF90ICopKCh1aW50MzJfdCkoZGV2aWNlYWRkcmVzcyB8IEFERFJfQVJFQSkpID0gQUREUl8yTkRfQ1lDTEUobmFuZGFkZHJlc3MpOworICAgICAgICAgIF9fRFNCKCk7CisgICAgICAgIH0KKyAgICAgICAgZWxzZSAvKiAoKGhuYW5kLT5Db25maWcuQmxvY2tTaXplKSooaG5hbmQtPkNvbmZpZy5CbG9ja05icikpID4gNjU1MzUgKi8KKyAgICAgICAgeworICAgICAgICAgICooX19JTyB1aW50OF90ICopKCh1aW50MzJfdCkoZGV2aWNlYWRkcmVzcyB8IEFERFJfQVJFQSkpID0gMHgwMFU7CisgICAgICAgICAgX19EU0IoKTsKKyAgICAgICAgICAqKF9fSU8gdWludDhfdCAqKSgodWludDMyX3QpKGRldmljZWFkZHJlc3MgfCBBRERSX0FSRUEpKSA9IEFERFJfMVNUX0NZQ0xFKG5hbmRhZGRyZXNzKTsKKyAgICAgICAgICBfX0RTQigpOworICAgICAgICAgICooX19JTyB1aW50OF90ICopKCh1aW50MzJfdCkoZGV2aWNlYWRkcmVzcyB8IEFERFJfQVJFQSkpID0gQUREUl8yTkRfQ1lDTEUobmFuZGFkZHJlc3MpOworICAgICAgICAgIF9fRFNCKCk7CisgICAgICAgICAgKihfX0lPIHVpbnQ4X3QgKikoKHVpbnQzMl90KShkZXZpY2VhZGRyZXNzIHwgQUREUl9BUkVBKSkgPSBBRERSXzNSRF9DWUNMRShuYW5kYWRkcmVzcyk7CisgICAgICAgICAgX19EU0IoKTsKKyAgICAgICAgfQorICAgICAgfQorICAgICAgZWxzZSAvKiAoaG5hbmQtPkNvbmZpZy5QYWdlU2l6ZSkgPiA1MTIgKi8KKyAgICAgIHsKKyAgICAgICAgaWYgKCgoaG5hbmQtPkNvbmZpZy5CbG9ja1NpemUpICogKGhuYW5kLT5Db25maWcuQmxvY2tOYnIpKSA8PSA2NTUzNVUpCisgICAgICAgIHsKKyAgICAgICAgICAqKF9fSU8gdWludDhfdCAqKSgodWludDMyX3QpKGRldmljZWFkZHJlc3MgfCBBRERSX0FSRUEpKSA9IDB4MDBVOworICAgICAgICAgIF9fRFNCKCk7CisgICAgICAgICAgKihfX0lPIHVpbnQ4X3QgKikoKHVpbnQzMl90KShkZXZpY2VhZGRyZXNzIHwgQUREUl9BUkVBKSkgPSAweDAwVTsKKyAgICAgICAgICBfX0RTQigpOworICAgICAgICAgICooX19JTyB1aW50OF90ICopKCh1aW50MzJfdCkoZGV2aWNlYWRkcmVzcyB8IEFERFJfQVJFQSkpID0gQUREUl8xU1RfQ1lDTEUobmFuZGFkZHJlc3MpOworICAgICAgICAgIF9fRFNCKCk7CisgICAgICAgICAgKihfX0lPIHVpbnQ4X3QgKikoKHVpbnQzMl90KShkZXZpY2VhZGRyZXNzIHwgQUREUl9BUkVBKSkgPSBBRERSXzJORF9DWUNMRShuYW5kYWRkcmVzcyk7CisgICAgICAgICAgX19EU0IoKTsKKyAgICAgICAgfQorICAgICAgICBlbHNlIC8qICgoaG5hbmQtPkNvbmZpZy5CbG9ja1NpemUpKihobmFuZC0+Q29uZmlnLkJsb2NrTmJyKSkgPiA2NTUzNSAqLworICAgICAgICB7CisgICAgICAgICAgKihfX0lPIHVpbnQ4X3QgKikoKHVpbnQzMl90KShkZXZpY2VhZGRyZXNzIHwgQUREUl9BUkVBKSkgPSAweDAwVTsKKyAgICAgICAgICBfX0RTQigpOworICAgICAgICAgICooX19JTyB1aW50OF90ICopKCh1aW50MzJfdCkoZGV2aWNlYWRkcmVzcyB8IEFERFJfQVJFQSkpID0gMHgwMFU7CisgICAgICAgICAgX19EU0IoKTsKKyAgICAgICAgICAqKF9fSU8gdWludDhfdCAqKSgodWludDMyX3QpKGRldmljZWFkZHJlc3MgfCBBRERSX0FSRUEpKSA9IEFERFJfMVNUX0NZQ0xFKG5hbmRhZGRyZXNzKTsKKyAgICAgICAgICBfX0RTQigpOworICAgICAgICAgICooX19JTyB1aW50OF90ICopKCh1aW50MzJfdCkoZGV2aWNlYWRkcmVzcyB8IEFERFJfQVJFQSkpID0gQUREUl8yTkRfQ1lDTEUobmFuZGFkZHJlc3MpOworICAgICAgICAgIF9fRFNCKCk7CisgICAgICAgICAgKihfX0lPIHVpbnQ4X3QgKikoKHVpbnQzMl90KShkZXZpY2VhZGRyZXNzIHwgQUREUl9BUkVBKSkgPSBBRERSXzNSRF9DWUNMRShuYW5kYWRkcmVzcyk7CisgICAgICAgICAgX19EU0IoKTsKKyAgICAgICAgfQorICAgICAgfQorCisgICAgICAqKF9fSU8gdWludDhfdCAqKSgodWludDMyX3QpKGRldmljZWFkZHJlc3MgfCBDTURfQVJFQSkpICA9IE5BTkRfQ01EX0FSRUFfVFJVRTE7CisgICAgICBfX0RTQigpOworCisKKyAgICAgIGlmIChobmFuZC0+Q29uZmlnLkV4dHJhQ29tbWFuZEVuYWJsZSA9PSBFTkFCTEUpCisgICAgICB7CisgICAgICAgIC8qIEdldCB0aWNrICovCisgICAgICAgIHRpY2tzdGFydCA9IEhBTF9HZXRUaWNrKCk7CisKKyAgICAgICAgLyogUmVhZCBzdGF0dXMgdW50aWwgTkFORCBpcyByZWFkeSAqLworICAgICAgICB3aGlsZSAoSEFMX05BTkRfUmVhZF9TdGF0dXMoaG5hbmQpICE9IE5BTkRfUkVBRFkpCisgICAgICAgIHsKKyAgICAgICAgICBpZiAoKEhBTF9HZXRUaWNrKCkgLSB0aWNrc3RhcnQpID4gTkFORF9XUklURV9USU1FT1VUKQorICAgICAgICAgIHsKKyAgICAgICAgICAgIC8qIFVwZGF0ZSB0aGUgTkFORCBjb250cm9sbGVyIHN0YXRlICovCisgICAgICAgICAgICBobmFuZC0+U3RhdGUgPSBIQUxfTkFORF9TVEFURV9FUlJPUjsKKworICAgICAgICAgICAgLyogUHJvY2VzcyB1bmxvY2tlZCAqLworICAgICAgICAgICAgX19IQUxfVU5MT0NLKGhuYW5kKTsKKworICAgICAgICAgICAgcmV0dXJuIEhBTF9USU1FT1VUOworICAgICAgICAgIH0KKyAgICAgICAgfQorCisgICAgICAgIC8qIEdvIGJhY2sgdG8gcmVhZCBtb2RlICovCisgICAgICAgICooX19JTyB1aW50OF90ICopKCh1aW50MzJfdCkoZGV2aWNlYWRkcmVzcyB8IENNRF9BUkVBKSkgPSAoKHVpbnQ4X3QpMHgwMCk7CisgICAgICAgIF9fRFNCKCk7CisgICAgICB9CisKKyAgICAgIC8qIEdldCBEYXRhIGludG8gQnVmZmVyICovCisgICAgICBmb3IgKGluZGV4ID0gMFU7IGluZGV4IDwgaG5hbmQtPkNvbmZpZy5QYWdlU2l6ZTsgaW5kZXgrKykKKyAgICAgIHsKKyAgICAgICAgKmJ1ZmYgPSAqKHVpbnQ4X3QgKilkZXZpY2VhZGRyZXNzOworICAgICAgICBidWZmKys7CisgICAgICB9CisKKyAgICAgIC8qIEluY3JlbWVudCByZWFkIHBhZ2VzIG51bWJlciAqLworICAgICAgbnVtcGFnZXNyZWFkKys7CisKKyAgICAgIC8qIERlY3JlbWVudCBwYWdlcyB0byByZWFkICovCisgICAgICBuYnBhZ2VzLS07CisKKyAgICAgIC8qIEluY3JlbWVudCB0aGUgTkFORCBhZGRyZXNzICovCisgICAgICBuYW5kYWRkcmVzcyA9ICh1aW50MzJfdCkobmFuZGFkZHJlc3MgKyAxVSk7CisgICAgfQorCisgICAgLyogVXBkYXRlIHRoZSBOQU5EIGNvbnRyb2xsZXIgc3RhdGUgKi8KKyAgICBobmFuZC0+U3RhdGUgPSBIQUxfTkFORF9TVEFURV9SRUFEWTsKKworICAgIC8qIFByb2Nlc3MgdW5sb2NrZWQgKi8KKyAgICBfX0hBTF9VTkxPQ0soaG5hbmQpOwogICB9CiAgIGVsc2UKICAgewotICAgIGRldmljZWFkZHJlc3MgPSBOQU5EX0RFVklDRTI7CisgICAgcmV0dXJuIEhBTF9FUlJPUjsKICAgfQogCi0gIC8qIFVwZGF0ZSB0aGUgTkFORCBjb250cm9sbGVyIHN0YXRlICovCi0gIGhuYW5kLT5TdGF0ZSA9IEhBTF9OQU5EX1NUQVRFX0JVU1k7Ci0gIAotICAvKiBOQU5EIHJhdyBhZGRyZXNzIGNhbGN1bGF0aW9uICovCi0gIG5hbmRhZGRyZXNzID0gQVJSQVlfQUREUkVTUyhwQWRkcmVzcywgaG5hbmQpOwotCi0gIC8qIFBhZ2UocykgcmVhZCBsb29wICovICAKLSAgd2hpbGUoKE51bVBhZ2VUb1JlYWQgIT0gMFUpICYmIChuYW5kYWRkcmVzcyA8ICgoaG5hbmQtPkNvbmZpZy5CbG9ja1NpemUpICogKGhuYW5kLT5Db25maWcuQmxvY2tOYnIpKSkpCi0gIHsKLSAgICAvKiB1cGRhdGUgdGhlIGJ1ZmZlciBzaXplICovCi0gICAgc2l6ZSA9IChobmFuZC0+Q29uZmlnLlBhZ2VTaXplKSArICgoaG5hbmQtPkNvbmZpZy5QYWdlU2l6ZSkgKiBudW1QYWdlc1JlYWQpOwotICAgIAotICAgIC8qIFNlbmQgcmVhZCBwYWdlIGNvbW1hbmQgc2VxdWVuY2UgKi8KLSAgICAqKF9fSU8gdWludDhfdCAqKSgodWludDMyX3QpKGRldmljZWFkZHJlc3MgfCBDTURfQVJFQSkpID0gTkFORF9DTURfQVJFQV9BOwotICAgCi0gICAgLyogQ2FyZHMgd2l0aCBwYWdlIHNpemUgPD0gNTEyIGJ5dGVzICovCi0gICAgaWYoKGhuYW5kLT5Db25maWcuUGFnZVNpemUpIDw9IDUxMlUpCi0gICAgewotICAgICAgaWYgKCgoaG5hbmQtPkNvbmZpZy5CbG9ja1NpemUpKihobmFuZC0+Q29uZmlnLkJsb2NrTmJyKSkgPD0gNjU1MzVVKQotICAgICAgewotICAgICAgICAqKF9fSU8gdWludDhfdCAqKSgodWludDMyX3QpKGRldmljZWFkZHJlc3MgfCBBRERSX0FSRUEpKSA9IDB4MDA7Ci0gICAgICAgICooX19JTyB1aW50OF90ICopKCh1aW50MzJfdCkoZGV2aWNlYWRkcmVzcyB8IEFERFJfQVJFQSkpID0gQUREUl8xU1RfQ1lDTEUobmFuZGFkZHJlc3MpOwotICAgICAgICAqKF9fSU8gdWludDhfdCAqKSgodWludDMyX3QpKGRldmljZWFkZHJlc3MgfCBBRERSX0FSRUEpKSA9IEFERFJfMk5EX0NZQ0xFKG5hbmRhZGRyZXNzKTsKLSAgICAgIH0KLSAgICAgIGVsc2UgLyogKChobmFuZC0+Q29uZmlnLkJsb2NrU2l6ZSkqKGhuYW5kLT5Db25maWcuQmxvY2tOYnIpKSA+IDY1NTM1ICovCi0gICAgICB7Ci0gICAgICAgICooX19JTyB1aW50OF90ICopKCh1aW50MzJfdCkoZGV2aWNlYWRkcmVzcyB8IEFERFJfQVJFQSkpID0gMHgwMDsKLSAgICAgICAgKihfX0lPIHVpbnQ4X3QgKikoKHVpbnQzMl90KShkZXZpY2VhZGRyZXNzIHwgQUREUl9BUkVBKSkgPSBBRERSXzFTVF9DWUNMRShuYW5kYWRkcmVzcyk7Ci0gICAgICAgICooX19JTyB1aW50OF90ICopKCh1aW50MzJfdCkoZGV2aWNlYWRkcmVzcyB8IEFERFJfQVJFQSkpID0gQUREUl8yTkRfQ1lDTEUobmFuZGFkZHJlc3MpOwotICAgICAgICAqKF9fSU8gdWludDhfdCAqKSgodWludDMyX3QpKGRldmljZWFkZHJlc3MgfCBBRERSX0FSRUEpKSA9IEFERFJfM1JEX0NZQ0xFKG5hbmRhZGRyZXNzKTsKLSAgICAgIH0KLSAgICB9Ci0gICAgZWxzZSAvKiAoaG5hbmQtPkNvbmZpZy5QYWdlU2l6ZSkgPiA1MTIgKi8KLSAgICB7Ci0gICAgICBpZiAoKChobmFuZC0+Q29uZmlnLkJsb2NrU2l6ZSkqKGhuYW5kLT5Db25maWcuQmxvY2tOYnIpKSA8PSA2NTUzNVUpCi0gICAgICB7Ci0gICAgICAgICooX19JTyB1aW50OF90ICopKCh1aW50MzJfdCkoZGV2aWNlYWRkcmVzcyB8IEFERFJfQVJFQSkpID0gMHgwMDsKLSAgICAgICAgKihfX0lPIHVpbnQ4X3QgKikoKHVpbnQzMl90KShkZXZpY2VhZGRyZXNzIHwgQUREUl9BUkVBKSkgPSAweDAwOwotICAgICAgICAqKF9fSU8gdWludDhfdCAqKSgodWludDMyX3QpKGRldmljZWFkZHJlc3MgfCBBRERSX0FSRUEpKSA9IEFERFJfMVNUX0NZQ0xFKG5hbmRhZGRyZXNzKTsKLSAgICAgICAgKihfX0lPIHVpbnQ4X3QgKikoKHVpbnQzMl90KShkZXZpY2VhZGRyZXNzIHwgQUREUl9BUkVBKSkgPSBBRERSXzJORF9DWUNMRShuYW5kYWRkcmVzcyk7Ci0gICAgICB9Ci0gICAgICBlbHNlIC8qICgoaG5hbmQtPkNvbmZpZy5CbG9ja1NpemUpKihobmFuZC0+Q29uZmlnLkJsb2NrTmJyKSkgPiA2NTUzNSAqLwotICAgICAgewotICAgICAgICAqKF9fSU8gdWludDhfdCAqKSgodWludDMyX3QpKGRldmljZWFkZHJlc3MgfCBBRERSX0FSRUEpKSA9IDB4MDA7Ci0gICAgICAgICooX19JTyB1aW50OF90ICopKCh1aW50MzJfdCkoZGV2aWNlYWRkcmVzcyB8IEFERFJfQVJFQSkpID0gMHgwMDsKLSAgICAgICAgKihfX0lPIHVpbnQ4X3QgKikoKHVpbnQzMl90KShkZXZpY2VhZGRyZXNzIHwgQUREUl9BUkVBKSkgPSBBRERSXzFTVF9DWUNMRShuYW5kYWRkcmVzcyk7Ci0gICAgICAgICooX19JTyB1aW50OF90ICopKCh1aW50MzJfdCkoZGV2aWNlYWRkcmVzcyB8IEFERFJfQVJFQSkpID0gQUREUl8yTkRfQ1lDTEUobmFuZGFkZHJlc3MpOwotICAgICAgICAqKF9fSU8gdWludDhfdCAqKSgodWludDMyX3QpKGRldmljZWFkZHJlc3MgfCBBRERSX0FSRUEpKSA9IEFERFJfM1JEX0NZQ0xFKG5hbmRhZGRyZXNzKTsKLSAgICAgIH0KLSAgICB9Ci0gIAotICAgICooX19JTyB1aW50OF90ICopKCh1aW50MzJfdCkoZGV2aWNlYWRkcmVzcyB8IENNRF9BUkVBKSkgID0gTkFORF9DTURfQVJFQV9UUlVFMTsKLSAgICAgIAotICAgIC8qIENoZWNrIGlmIGFuIGV4dHJhIGNvbW1hbmQgaXMgbmVlZGVkIGZvciByZWFkaW5nIHBhZ2VzICAqLwotICAgIGlmKGhuYW5kLT5Db25maWcuRXh0cmFDb21tYW5kRW5hYmxlID09IEVOQUJMRSkKLSAgICB7Ci0gICAgICAvKiBHZXQgdGljayAqLwotICAgICAgdGlja3N0YXJ0ID0gSEFMX0dldFRpY2soKTsKLSAgICAgIAotICAgICAgLyogUmVhZCBzdGF0dXMgdW50aWwgTkFORCBpcyByZWFkeSAqLwotICAgICAgd2hpbGUoSEFMX05BTkRfUmVhZF9TdGF0dXMoaG5hbmQpICE9IE5BTkRfUkVBRFkpCi0gICAgICB7Ci0gICAgICAgIGlmKChIQUxfR2V0VGljaygpIC0gdGlja3N0YXJ0ICkgPiBOQU5EX1dSSVRFX1RJTUVPVVQpCi0gICAgICAgIHsKLSAgICAgICAgICByZXR1cm4gSEFMX1RJTUVPVVQ7IAotICAgICAgICB9Ci0gICAgICB9Ci0gICAgICAKLSAgICAgIC8qIEdvIGJhY2sgdG8gcmVhZCBtb2RlICovCi0gICAgICAqKF9fSU8gdWludDhfdCAqKSgodWludDMyX3QpKGRldmljZWFkZHJlc3MgfCBDTURfQVJFQSkpID0gKCh1aW50OF90KTB4MDApOwotICAgICAgX19EU0IoKTsKLSAgICB9Ci0gICAgCi0gICAgLyogR2V0IERhdGEgaW50byBCdWZmZXIgKi8gICAgCi0gICAgZm9yKDsgaW5kZXggPCBzaXplOyBpbmRleCsrKQotICAgIHsKLSAgICAgICoodWludDhfdCAqKXBCdWZmZXIrKyA9ICoodWludDhfdCAqKWRldmljZWFkZHJlc3M7Ci0gICAgfQotICAgIAotICAgIC8qIEluY3JlbWVudCByZWFkIHBhZ2VzIG51bWJlciAqLwotICAgIG51bVBhZ2VzUmVhZCsrOwotICAgIAotICAgIC8qIERlY3JlbWVudCBwYWdlcyB0byByZWFkICovCi0gICAgTnVtUGFnZVRvUmVhZC0tOwotICAgIAotICAgIC8qIEluY3JlbWVudCB0aGUgTkFORCBhZGRyZXNzICovCi0gICAgbmFuZGFkZHJlc3MgPSAodWludDMyX3QpKG5hbmRhZGRyZXNzICsgMVUpOwotICB9Ci0gIAotICAvKiBVcGRhdGUgdGhlIE5BTkQgY29udHJvbGxlciBzdGF0ZSAqLwotICBobmFuZC0+U3RhdGUgPSBIQUxfTkFORF9TVEFURV9SRUFEWTsKLSAgCi0gIC8qIFByb2Nlc3MgdW5sb2NrZWQgKi8KLSAgX19IQUxfVU5MT0NLKGhuYW5kKTsKLQogICByZXR1cm4gSEFMX09LOwogfQogCkBAIC02NjEsMTQzICs3MjcsMTgwIEBACiAgICogICAgICAgICAgICAgICAgdGhlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gZm9yIE5BTkQgbW9kdWxlLgogICAqIEBwYXJhbSAgcEFkZHJlc3MgIHBvaW50ZXIgdG8gTkFORCBhZGRyZXNzIHN0cnVjdHVyZQogICAqIEBwYXJhbSAgcEJ1ZmZlciAgcG9pbnRlciB0byBkZXN0aW5hdGlvbiByZWFkIGJ1ZmZlci4gcEJ1ZmZlciBzaG91bGQgYmUgMTZiaXRzIGFsaWduZWQKLSAgKiBAcGFyYW0gIE51bVBhZ2VUb1JlYWQgIG51bWJlciBvZiBwYWdlcyB0byByZWFkIGZyb20gYmxvY2sgCisgICogQHBhcmFtICBOdW1QYWdlVG9SZWFkICBudW1iZXIgb2YgcGFnZXMgdG8gcmVhZCBmcm9tIGJsb2NrCiAgICogQHJldHZhbCBIQUwgc3RhdHVzCiAgICovCi1IQUxfU3RhdHVzVHlwZURlZiBIQUxfTkFORF9SZWFkX1BhZ2VfMTZiKE5BTkRfSGFuZGxlVHlwZURlZiAqaG5hbmQsIE5BTkRfQWRkcmVzc1R5cGVEZWYgKnBBZGRyZXNzLCB1aW50MTZfdCAqcEJ1ZmZlciwgdWludDMyX3QgTnVtUGFnZVRvUmVhZCkKLXsgICAKLSAgX19JTyB1aW50MzJfdCBpbmRleCAgPSAwVTsKLSAgdWludDMyX3QgdGlja3N0YXJ0ID0gMFU7Ci0gIHVpbnQzMl90IGRldmljZWFkZHJlc3MgPSAwVSwgc2l6ZSA9IDBVLCBudW1QYWdlc1JlYWQgPSAwVSwgbmFuZGFkZHJlc3MgPSAwVTsKLSAgCi0gIC8qIFByb2Nlc3MgTG9ja2VkICovCi0gIF9fSEFMX0xPQ0soaG5hbmQpOyAKLSAgCitIQUxfU3RhdHVzVHlwZURlZiBIQUxfTkFORF9SZWFkX1BhZ2VfMTZiKE5BTkRfSGFuZGxlVHlwZURlZiAqaG5hbmQsIE5BTkRfQWRkcmVzc1R5cGVEZWYgKnBBZGRyZXNzLCB1aW50MTZfdCAqcEJ1ZmZlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgTnVtUGFnZVRvUmVhZCkKK3sKKyAgdWludDMyX3QgaW5kZXg7CisgIHVpbnQzMl90IHRpY2tzdGFydDsKKyAgdWludDMyX3QgZGV2aWNlYWRkcmVzczsKKyAgdWludDMyX3QgbnVtcGFnZXNyZWFkID0gMFU7CisgIHVpbnQzMl90IG5hbmRhZGRyZXNzOworICB1aW50MzJfdCBuYnBhZ2VzID0gTnVtUGFnZVRvUmVhZDsKKyAgdWludDE2X3QgKmJ1ZmYgPSBwQnVmZmVyOworCiAgIC8qIENoZWNrIHRoZSBOQU5EIGNvbnRyb2xsZXIgc3RhdGUgKi8KLSAgaWYoaG5hbmQtPlN0YXRlID09IEhBTF9OQU5EX1NUQVRFX0JVU1kpCisgIGlmIChobmFuZC0+U3RhdGUgPT0gSEFMX05BTkRfU1RBVEVfQlVTWSkKICAgewotICAgICByZXR1cm4gSEFMX0JVU1k7CisgICAgcmV0dXJuIEhBTF9CVVNZOwogICB9Ci0gIAotICAvKiBJZGVudGlmeSB0aGUgZGV2aWNlIGFkZHJlc3MgKi8KLSAgaWYoaG5hbmQtPkluaXQuTmFuZEJhbmsgPT0gRk1DX05BTkRfQkFOSzIpCisgIGVsc2UgaWYgKGhuYW5kLT5TdGF0ZSA9PSBIQUxfTkFORF9TVEFURV9SRUFEWSkKICAgewotICAgIGRldmljZWFkZHJlc3MgPSBOQU5EX0RFVklDRTE7Ci0gIH0KLSAgZWxzZQotICB7Ci0gICAgZGV2aWNlYWRkcmVzcyA9IE5BTkRfREVWSUNFMjsKLSAgfQorICAgIC8qIFByb2Nlc3MgTG9ja2VkICovCisgICAgX19IQUxfTE9DSyhobmFuZCk7CiAKLSAgLyogVXBkYXRlIHRoZSBOQU5EIGNvbnRyb2xsZXIgc3RhdGUgKi8gCi0gIGhuYW5kLT5TdGF0ZSA9IEhBTF9OQU5EX1NUQVRFX0JVU1k7Ci0gIAotICAvKiBOQU5EIHJhdyBhZGRyZXNzIGNhbGN1bGF0aW9uICovCi0gIG5hbmRhZGRyZXNzID0gQVJSQVlfQUREUkVTUyhwQWRkcmVzcywgaG5hbmQpOwotICAKLSAgLyogUGFnZShzKSByZWFkIGxvb3AgKi8gIAotICB3aGlsZSgoTnVtUGFnZVRvUmVhZCAhPSAwVSkgJiYgKG5hbmRhZGRyZXNzIDwgKChobmFuZC0+Q29uZmlnLkJsb2NrU2l6ZSkgKiAoaG5hbmQtPkNvbmZpZy5CbG9ja05icikpKSkKLSAgewotICAgIC8qIHVwZGF0ZSB0aGUgYnVmZmVyIHNpemUgKi8KLSAgICBzaXplID0gKGhuYW5kLT5Db25maWcuUGFnZVNpemUpICsgKChobmFuZC0+Q29uZmlnLlBhZ2VTaXplKSAqIG51bVBhZ2VzUmVhZCk7Ci0gICAgCi0gICAgLyogU2VuZCByZWFkIHBhZ2UgY29tbWFuZCBzZXF1ZW5jZSAqLwotICAgICooX19JTyB1aW50OF90ICopKCh1aW50MzJfdCkoZGV2aWNlYWRkcmVzcyB8IENNRF9BUkVBKSkgPSBOQU5EX0NNRF9BUkVBX0E7ICAKLSAgICBfX0RTQigpOwotICAgIAotICAgIC8qIENhcmRzIHdpdGggcGFnZSBzaXplIDw9IDUxMiBieXRlcyAqLwotICAgIGlmKChobmFuZC0+Q29uZmlnLlBhZ2VTaXplKSA8PSA1MTJVKQotICAgIHsKLSAgICAgIGlmICgoKGhuYW5kLT5Db25maWcuQmxvY2tTaXplKSooaG5hbmQtPkNvbmZpZy5CbG9ja05icikpIDw9IDY1NTM1VSkKLSAgICAgIHsKLSAgICAgICAgKihfX0lPIHVpbnQ4X3QgKikoKHVpbnQzMl90KShkZXZpY2VhZGRyZXNzIHwgQUREUl9BUkVBKSkgPSAweDAwOwotICAgICAgICAqKF9fSU8gdWludDhfdCAqKSgodWludDMyX3QpKGRldmljZWFkZHJlc3MgfCBBRERSX0FSRUEpKSA9IEFERFJfMVNUX0NZQ0xFKG5hbmRhZGRyZXNzKTsKLSAgICAgICAgKihfX0lPIHVpbnQ4X3QgKikoKHVpbnQzMl90KShkZXZpY2VhZGRyZXNzIHwgQUREUl9BUkVBKSkgPSBBRERSXzJORF9DWUNMRShuYW5kYWRkcmVzcyk7Ci0gICAgICB9Ci0gICAgICBlbHNlIC8qICgoaG5hbmQtPkNvbmZpZy5CbG9ja1NpemUpKihobmFuZC0+Q29uZmlnLkJsb2NrTmJyKSkgPiA2NTUzNSAqLwotICAgICAgewotICAgICAgICAqKF9fSU8gdWludDhfdCAqKSgodWludDMyX3QpKGRldmljZWFkZHJlc3MgfCBBRERSX0FSRUEpKSA9IDB4MDA7Ci0gICAgICAgICooX19JTyB1aW50OF90ICopKCh1aW50MzJfdCkoZGV2aWNlYWRkcmVzcyB8IEFERFJfQVJFQSkpID0gQUREUl8xU1RfQ1lDTEUobmFuZGFkZHJlc3MpOwotICAgICAgICAqKF9fSU8gdWludDhfdCAqKSgodWludDMyX3QpKGRldmljZWFkZHJlc3MgfCBBRERSX0FSRUEpKSA9IEFERFJfMk5EX0NZQ0xFKG5hbmRhZGRyZXNzKTsKLSAgICAgICAgKihfX0lPIHVpbnQ4X3QgKikoKHVpbnQzMl90KShkZXZpY2VhZGRyZXNzIHwgQUREUl9BUkVBKSkgPSBBRERSXzNSRF9DWUNMRShuYW5kYWRkcmVzcyk7Ci0gICAgICB9Ci0gICAgfQotICAgIGVsc2UgLyogKGhuYW5kLT5Db25maWcuUGFnZVNpemUpID4gNTEyICovCi0gICAgewotICAgICAgaWYgKCgoaG5hbmQtPkNvbmZpZy5CbG9ja1NpemUpKihobmFuZC0+Q29uZmlnLkJsb2NrTmJyKSkgPD0gNjU1MzVVKQotICAgICAgewotICAgICAgICAqKF9fSU8gdWludDhfdCAqKSgodWludDMyX3QpKGRldmljZWFkZHJlc3MgfCBBRERSX0FSRUEpKSA9IDB4MDA7Ci0gICAgICAgICooX19JTyB1aW50OF90ICopKCh1aW50MzJfdCkoZGV2aWNlYWRkcmVzcyB8IEFERFJfQVJFQSkpID0gMHgwMDsKLSAgICAgICAgKihfX0lPIHVpbnQ4X3QgKikoKHVpbnQzMl90KShkZXZpY2VhZGRyZXNzIHwgQUREUl9BUkVBKSkgPSBBRERSXzFTVF9DWUNMRShuYW5kYWRkcmVzcyk7Ci0gICAgICAgICooX19JTyB1aW50OF90ICopKCh1aW50MzJfdCkoZGV2aWNlYWRkcmVzcyB8IEFERFJfQVJFQSkpID0gQUREUl8yTkRfQ1lDTEUobmFuZGFkZHJlc3MpOwotICAgICAgfQotICAgICAgZWxzZSAvKiAoKGhuYW5kLT5Db25maWcuQmxvY2tTaXplKSooaG5hbmQtPkNvbmZpZy5CbG9ja05icikpID4gNjU1MzUgKi8KLSAgICAgIHsKLSAgICAgICAgKihfX0lPIHVpbnQ4X3QgKikoKHVpbnQzMl90KShkZXZpY2VhZGRyZXNzIHwgQUREUl9BUkVBKSkgPSAweDAwOwotICAgICAgICAqKF9fSU8gdWludDhfdCAqKSgodWludDMyX3QpKGRldmljZWFkZHJlc3MgfCBBRERSX0FSRUEpKSA9IDB4MDA7Ci0gICAgICAgICooX19JTyB1aW50OF90ICopKCh1aW50MzJfdCkoZGV2aWNlYWRkcmVzcyB8IEFERFJfQVJFQSkpID0gQUREUl8xU1RfQ1lDTEUobmFuZGFkZHJlc3MpOwotICAgICAgICAqKF9fSU8gdWludDhfdCAqKSgodWludDMyX3QpKGRldmljZWFkZHJlc3MgfCBBRERSX0FSRUEpKSA9IEFERFJfMk5EX0NZQ0xFKG5hbmRhZGRyZXNzKTsKLSAgICAgICAgKihfX0lPIHVpbnQ4X3QgKikoKHVpbnQzMl90KShkZXZpY2VhZGRyZXNzIHwgQUREUl9BUkVBKSkgPSBBRERSXzNSRF9DWUNMRShuYW5kYWRkcmVzcyk7Ci0gICAgICB9Ci0gICAgfQotICAKLSAgICAqKF9fSU8gdWludDhfdCAqKSgodWludDMyX3QpKGRldmljZWFkZHJlc3MgfCBDTURfQVJFQSkpICA9IE5BTkRfQ01EX0FSRUFfVFJVRTE7Ci0gICAgCi0gICAgaWYoaG5hbmQtPkNvbmZpZy5FeHRyYUNvbW1hbmRFbmFibGUgPT0gRU5BQkxFKQotICAgIHsKLSAgICAgIC8qIEdldCB0aWNrICovCi0gICAgICB0aWNrc3RhcnQgPSBIQUxfR2V0VGljaygpOwotICAgICAgCi0gICAgICAvKiBSZWFkIHN0YXR1cyB1bnRpbCBOQU5EIGlzIHJlYWR5ICovCi0gICAgICB3aGlsZShIQUxfTkFORF9SZWFkX1N0YXR1cyhobmFuZCkgIT0gTkFORF9SRUFEWSkKLSAgICAgIHsKLSAgICAgICAgaWYoKEhBTF9HZXRUaWNrKCkgLSB0aWNrc3RhcnQgKSA+IE5BTkRfV1JJVEVfVElNRU9VVCkKLSAgICAgICAgewotICAgICAgICAgIHJldHVybiBIQUxfVElNRU9VVDsgCi0gICAgICAgIH0KLSAgICAgIH0KLSAgICAgIAotICAgICAgLyogR28gYmFjayB0byByZWFkIG1vZGUgKi8KLSAgICAgICooX19JTyB1aW50OF90ICopKCh1aW50MzJfdCkoZGV2aWNlYWRkcmVzcyB8IENNRF9BUkVBKSkgPSAoKHVpbnQ4X3QpMHgwMCk7Ci0gICAgfQorICAgIC8qIFVwZGF0ZSB0aGUgTkFORCBjb250cm9sbGVyIHN0YXRlICovCisgICAgaG5hbmQtPlN0YXRlID0gSEFMX05BTkRfU1RBVEVfQlVTWTsKIAotICAgIC8qIENhbGN1bGF0ZSBQYWdlU2l6ZSAqLwotI2lmZGVmIEZTTUNfUENSMl9QV0lECi0gICAgaWYgKGhuYW5kLT5Jbml0Lk1lbW9yeURhdGFXaWR0aCA9PSBGU01DX05BTkRfUENDX01FTV9CVVNfV0lEVEhfOCkKLSNlbHNlIC8qIEZNQ19QQ1IyX1BXSUQgaXMgZGVmaW5lZCAqLwotICAgIGlmIChobmFuZC0+SW5pdC5NZW1vcnlEYXRhV2lkdGggPT0gRk1DX05BTkRfUENDX01FTV9CVVNfV0lEVEhfOCkKLSNlbmRpZgorICAgIC8qIElkZW50aWZ5IHRoZSBkZXZpY2UgYWRkcmVzcyAqLworI2lmIGRlZmluZWQoRk1DX0JhbmsyXzMpCisgICAgaWYgKGhuYW5kLT5Jbml0Lk5hbmRCYW5rID09IEZNQ19OQU5EX0JBTksyKQogICAgIHsKLSAgICAgIHNpemUgPSBzaXplIC8gMlU7CisgICAgICBkZXZpY2VhZGRyZXNzID0gTkFORF9ERVZJQ0UxOwogICAgIH0KICAgICBlbHNlCiAgICAgewotICAgICAgLyogRG8gbm90aGluZyAqLwotICAgICAgLyogS2VlcCB0aGUgc2FtZSBQYWdlU2l6ZSBmb3IgRk1DX05BTkRfTUVNX0JVU19XSURUSF8xNiovCisgICAgICBkZXZpY2VhZGRyZXNzID0gTkFORF9ERVZJQ0UyOwogICAgIH0KLSAgICAKLSAgICAvKiBHZXQgRGF0YSBpbnRvIEJ1ZmZlciAqLyAgICAKLSAgICBmb3IoOyBpbmRleCA8IHNpemU7IGluZGV4KyspCisjZWxzZQorICAgIGRldmljZWFkZHJlc3MgPSBOQU5EX0RFVklDRTsKKyNlbmRpZgorCisgICAgLyogTkFORCByYXcgYWRkcmVzcyBjYWxjdWxhdGlvbiAqLworICAgIG5hbmRhZGRyZXNzID0gQVJSQVlfQUREUkVTUyhwQWRkcmVzcywgaG5hbmQpOworCisgICAgLyogUGFnZShzKSByZWFkIGxvb3AgKi8KKyAgICB3aGlsZSAoKG5icGFnZXMgIT0gMFUpICYmIChuYW5kYWRkcmVzcyA8ICgoaG5hbmQtPkNvbmZpZy5CbG9ja1NpemUpICogKGhuYW5kLT5Db25maWcuQmxvY2tOYnIpKSkpCiAgICAgewotICAgICAgKih1aW50MTZfdCAqKXBCdWZmZXIrKyA9ICoodWludDE2X3QgKilkZXZpY2VhZGRyZXNzOworICAgICAgLyogU2VuZCByZWFkIHBhZ2UgY29tbWFuZCBzZXF1ZW5jZSAqLworICAgICAgKihfX0lPIHVpbnQ4X3QgKikoKHVpbnQzMl90KShkZXZpY2VhZGRyZXNzIHwgQ01EX0FSRUEpKSA9IE5BTkRfQ01EX0FSRUFfQTsKKyAgICAgIF9fRFNCKCk7CisKKyAgICAgIC8qIENhcmRzIHdpdGggcGFnZSBzaXplIDw9IDUxMiBieXRlcyAqLworICAgICAgaWYgKChobmFuZC0+Q29uZmlnLlBhZ2VTaXplKSA8PSA1MTJVKQorICAgICAgeworICAgICAgICBpZiAoKChobmFuZC0+Q29uZmlnLkJsb2NrU2l6ZSkgKiAoaG5hbmQtPkNvbmZpZy5CbG9ja05icikpIDw9IDY1NTM1VSkKKyAgICAgICAgeworICAgICAgICAgICooX19JTyB1aW50OF90ICopKCh1aW50MzJfdCkoZGV2aWNlYWRkcmVzcyB8IEFERFJfQVJFQSkpID0gMHgwMFU7CisgICAgICAgICAgX19EU0IoKTsKKyAgICAgICAgICAqKF9fSU8gdWludDhfdCAqKSgodWludDMyX3QpKGRldmljZWFkZHJlc3MgfCBBRERSX0FSRUEpKSA9IEFERFJfMVNUX0NZQ0xFKG5hbmRhZGRyZXNzKTsKKyAgICAgICAgICBfX0RTQigpOworICAgICAgICAgICooX19JTyB1aW50OF90ICopKCh1aW50MzJfdCkoZGV2aWNlYWRkcmVzcyB8IEFERFJfQVJFQSkpID0gQUREUl8yTkRfQ1lDTEUobmFuZGFkZHJlc3MpOworICAgICAgICAgIF9fRFNCKCk7CisgICAgICAgIH0KKyAgICAgICAgZWxzZSAvKiAoKGhuYW5kLT5Db25maWcuQmxvY2tTaXplKSooaG5hbmQtPkNvbmZpZy5CbG9ja05icikpID4gNjU1MzUgKi8KKyAgICAgICAgeworICAgICAgICAgICooX19JTyB1aW50OF90ICopKCh1aW50MzJfdCkoZGV2aWNlYWRkcmVzcyB8IEFERFJfQVJFQSkpID0gMHgwMFU7CisgICAgICAgICAgX19EU0IoKTsKKyAgICAgICAgICAqKF9fSU8gdWludDhfdCAqKSgodWludDMyX3QpKGRldmljZWFkZHJlc3MgfCBBRERSX0FSRUEpKSA9IEFERFJfMVNUX0NZQ0xFKG5hbmRhZGRyZXNzKTsKKyAgICAgICAgICBfX0RTQigpOworICAgICAgICAgICooX19JTyB1aW50OF90ICopKCh1aW50MzJfdCkoZGV2aWNlYWRkcmVzcyB8IEFERFJfQVJFQSkpID0gQUREUl8yTkRfQ1lDTEUobmFuZGFkZHJlc3MpOworICAgICAgICAgIF9fRFNCKCk7CisgICAgICAgICAgKihfX0lPIHVpbnQ4X3QgKikoKHVpbnQzMl90KShkZXZpY2VhZGRyZXNzIHwgQUREUl9BUkVBKSkgPSBBRERSXzNSRF9DWUNMRShuYW5kYWRkcmVzcyk7CisgICAgICAgICAgX19EU0IoKTsKKyAgICAgICAgfQorICAgICAgfQorICAgICAgZWxzZSAvKiAoaG5hbmQtPkNvbmZpZy5QYWdlU2l6ZSkgPiA1MTIgKi8KKyAgICAgIHsKKyAgICAgICAgaWYgKCgoaG5hbmQtPkNvbmZpZy5CbG9ja1NpemUpICogKGhuYW5kLT5Db25maWcuQmxvY2tOYnIpKSA8PSA2NTUzNVUpCisgICAgICAgIHsKKyAgICAgICAgICAqKF9fSU8gdWludDhfdCAqKSgodWludDMyX3QpKGRldmljZWFkZHJlc3MgfCBBRERSX0FSRUEpKSA9IDB4MDBVOworICAgICAgICAgIF9fRFNCKCk7CisgICAgICAgICAgKihfX0lPIHVpbnQ4X3QgKikoKHVpbnQzMl90KShkZXZpY2VhZGRyZXNzIHwgQUREUl9BUkVBKSkgPSAweDAwVTsKKyAgICAgICAgICBfX0RTQigpOworICAgICAgICAgICooX19JTyB1aW50OF90ICopKCh1aW50MzJfdCkoZGV2aWNlYWRkcmVzcyB8IEFERFJfQVJFQSkpID0gQUREUl8xU1RfQ1lDTEUobmFuZGFkZHJlc3MpOworICAgICAgICAgIF9fRFNCKCk7CisgICAgICAgICAgKihfX0lPIHVpbnQ4X3QgKikoKHVpbnQzMl90KShkZXZpY2VhZGRyZXNzIHwgQUREUl9BUkVBKSkgPSBBRERSXzJORF9DWUNMRShuYW5kYWRkcmVzcyk7CisgICAgICAgICAgX19EU0IoKTsKKyAgICAgICAgfQorICAgICAgICBlbHNlIC8qICgoaG5hbmQtPkNvbmZpZy5CbG9ja1NpemUpKihobmFuZC0+Q29uZmlnLkJsb2NrTmJyKSkgPiA2NTUzNSAqLworICAgICAgICB7CisgICAgICAgICAgKihfX0lPIHVpbnQ4X3QgKikoKHVpbnQzMl90KShkZXZpY2VhZGRyZXNzIHwgQUREUl9BUkVBKSkgPSAweDAwVTsKKyAgICAgICAgICBfX0RTQigpOworICAgICAgICAgICooX19JTyB1aW50OF90ICopKCh1aW50MzJfdCkoZGV2aWNlYWRkcmVzcyB8IEFERFJfQVJFQSkpID0gMHgwMFU7CisgICAgICAgICAgX19EU0IoKTsKKyAgICAgICAgICAqKF9fSU8gdWludDhfdCAqKSgodWludDMyX3QpKGRldmljZWFkZHJlc3MgfCBBRERSX0FSRUEpKSA9IEFERFJfMVNUX0NZQ0xFKG5hbmRhZGRyZXNzKTsKKyAgICAgICAgICBfX0RTQigpOworICAgICAgICAgICooX19JTyB1aW50OF90ICopKCh1aW50MzJfdCkoZGV2aWNlYWRkcmVzcyB8IEFERFJfQVJFQSkpID0gQUREUl8yTkRfQ1lDTEUobmFuZGFkZHJlc3MpOworICAgICAgICAgIF9fRFNCKCk7CisgICAgICAgICAgKihfX0lPIHVpbnQ4X3QgKikoKHVpbnQzMl90KShkZXZpY2VhZGRyZXNzIHwgQUREUl9BUkVBKSkgPSBBRERSXzNSRF9DWUNMRShuYW5kYWRkcmVzcyk7CisgICAgICAgICAgX19EU0IoKTsKKyAgICAgICAgfQorICAgICAgfQorCisgICAgICAqKF9fSU8gdWludDhfdCAqKSgodWludDMyX3QpKGRldmljZWFkZHJlc3MgfCBDTURfQVJFQSkpICA9IE5BTkRfQ01EX0FSRUFfVFJVRTE7CisgICAgICBfX0RTQigpOworCisgICAgICBpZiAoaG5hbmQtPkNvbmZpZy5FeHRyYUNvbW1hbmRFbmFibGUgPT0gRU5BQkxFKQorICAgICAgeworICAgICAgICAvKiBHZXQgdGljayAqLworICAgICAgICB0aWNrc3RhcnQgPSBIQUxfR2V0VGljaygpOworCisgICAgICAgIC8qIFJlYWQgc3RhdHVzIHVudGlsIE5BTkQgaXMgcmVhZHkgKi8KKyAgICAgICAgd2hpbGUgKEhBTF9OQU5EX1JlYWRfU3RhdHVzKGhuYW5kKSAhPSBOQU5EX1JFQURZKQorICAgICAgICB7CisgICAgICAgICAgaWYgKChIQUxfR2V0VGljaygpIC0gdGlja3N0YXJ0KSA+IE5BTkRfV1JJVEVfVElNRU9VVCkKKyAgICAgICAgICB7CisgICAgICAgICAgICAvKiBVcGRhdGUgdGhlIE5BTkQgY29udHJvbGxlciBzdGF0ZSAqLworICAgICAgICAgICAgaG5hbmQtPlN0YXRlID0gSEFMX05BTkRfU1RBVEVfRVJST1I7CisKKyAgICAgICAgICAgIC8qIFByb2Nlc3MgdW5sb2NrZWQgKi8KKyAgICAgICAgICAgIF9fSEFMX1VOTE9DSyhobmFuZCk7CisKKyAgICAgICAgICAgIHJldHVybiBIQUxfVElNRU9VVDsKKyAgICAgICAgICB9CisgICAgICAgIH0KKworICAgICAgICAvKiBHbyBiYWNrIHRvIHJlYWQgbW9kZSAqLworICAgICAgICAqKF9fSU8gdWludDhfdCAqKSgodWludDMyX3QpKGRldmljZWFkZHJlc3MgfCBDTURfQVJFQSkpID0gKCh1aW50OF90KTB4MDApOworICAgICAgICBfX0RTQigpOworICAgICAgfQorCisgICAgICAvKiBDYWxjdWxhdGUgUGFnZVNpemUgKi8KKyNpZiBkZWZpbmVkKEZTTUNfUENSMl9QV0lEKQorICAgIGlmIChobmFuZC0+SW5pdC5NZW1vcnlEYXRhV2lkdGggPT0gRlNNQ19OQU5EX1BDQ19NRU1fQlVTX1dJRFRIXzgpCisjZWxzZQorICAgIGlmIChobmFuZC0+SW5pdC5NZW1vcnlEYXRhV2lkdGggPT0gRk1DX05BTkRfUENDX01FTV9CVVNfV0lEVEhfOCkKKyNlbmRpZiAvKiBGU01DX1BDUjJfUFdJRCAqLworICAgICAgeworICAgICAgICBobmFuZC0+Q29uZmlnLlBhZ2VTaXplID0gaG5hbmQtPkNvbmZpZy5QYWdlU2l6ZSAvIDJVOworICAgICAgfQorICAgICAgZWxzZQorICAgICAgeworICAgICAgICAvKiBEbyBub3RoaW5nICovCisgICAgICAgIC8qIEtlZXAgdGhlIHNhbWUgUGFnZVNpemUgZm9yIEZNQ19OQU5EX01FTV9CVVNfV0lEVEhfMTYqLworICAgICAgfQorCisgICAgICAvKiBHZXQgRGF0YSBpbnRvIEJ1ZmZlciAqLworICAgICAgZm9yIChpbmRleCA9IDBVOyBpbmRleCA8IGhuYW5kLT5Db25maWcuUGFnZVNpemU7IGluZGV4KyspCisgICAgICB7CisgICAgICAgICpidWZmID0gKih1aW50MTZfdCAqKWRldmljZWFkZHJlc3M7CisgICAgICAgIGJ1ZmYrKzsKKyAgICAgIH0KKworICAgICAgLyogSW5jcmVtZW50IHJlYWQgcGFnZXMgbnVtYmVyICovCisgICAgICBudW1wYWdlc3JlYWQrKzsKKworICAgICAgLyogRGVjcmVtZW50IHBhZ2VzIHRvIHJlYWQgKi8KKyAgICAgIG5icGFnZXMtLTsKKworICAgICAgLyogSW5jcmVtZW50IHRoZSBOQU5EIGFkZHJlc3MgKi8KKyAgICAgIG5hbmRhZGRyZXNzID0gKHVpbnQzMl90KShuYW5kYWRkcmVzcyArIDFVKTsKICAgICB9Ci0gICAgCi0gICAgLyogSW5jcmVtZW50IHJlYWQgcGFnZXMgbnVtYmVyICovCi0gICAgbnVtUGFnZXNSZWFkKys7Ci0gICAgCi0gICAgLyogRGVjcmVtZW50IHBhZ2VzIHRvIHJlYWQgKi8KLSAgICBOdW1QYWdlVG9SZWFkLS07Ci0gICAgCi0gICAgLyogSW5jcmVtZW50IHRoZSBOQU5EIGFkZHJlc3MgKi8KLSAgICBuYW5kYWRkcmVzcyA9ICh1aW50MzJfdCkobmFuZGFkZHJlc3MgKyAxVSk7CisKKyAgICAvKiBVcGRhdGUgdGhlIE5BTkQgY29udHJvbGxlciBzdGF0ZSAqLworICAgIGhuYW5kLT5TdGF0ZSA9IEhBTF9OQU5EX1NUQVRFX1JFQURZOworCisgICAgLyogUHJvY2VzcyB1bmxvY2tlZCAqLworICAgIF9fSEFMX1VOTE9DSyhobmFuZCk7CiAgIH0KLSAgCi0gIC8qIFVwZGF0ZSB0aGUgTkFORCBjb250cm9sbGVyIHN0YXRlICovIAotICBobmFuZC0+U3RhdGUgPSBIQUxfTkFORF9TVEFURV9SRUFEWTsKLSAgCi0gIC8qIFByb2Nlc3MgdW5sb2NrZWQgKi8KLSAgX19IQUxfVU5MT0NLKGhuYW5kKTsgIAotICAgIAorICBlbHNlCisgIHsKKyAgICByZXR1cm4gSEFMX0VSUk9SOworICB9CisKICAgcmV0dXJuIEhBTF9PSzsKIH0KIApAQCAtODA2LDEyNyArOTA5LDE2MiBAQAogICAqIEBwYXJhbSAgaG5hbmQgcG9pbnRlciB0byBhIE5BTkRfSGFuZGxlVHlwZURlZiBzdHJ1Y3R1cmUgdGhhdCBjb250YWlucwogICAqICAgICAgICAgICAgICAgIHRoZSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIGZvciBOQU5EIG1vZHVsZS4KICAgKiBAcGFyYW0gIHBBZGRyZXNzICBwb2ludGVyIHRvIE5BTkQgYWRkcmVzcyBzdHJ1Y3R1cmUKLSAgKiBAcGFyYW0gIHBCdWZmZXIgIHBvaW50ZXIgdG8gc291cmNlIGJ1ZmZlciB0byB3cml0ZSAgCi0gICogQHBhcmFtICBOdW1QYWdlVG9Xcml0ZSAgIG51bWJlciBvZiBwYWdlcyB0byB3cml0ZSB0byBibG9jayAKKyAgKiBAcGFyYW0gIHBCdWZmZXIgIHBvaW50ZXIgdG8gc291cmNlIGJ1ZmZlciB0byB3cml0ZQorICAqIEBwYXJhbSAgTnVtUGFnZVRvV3JpdGUgICBudW1iZXIgb2YgcGFnZXMgdG8gd3JpdGUgdG8gYmxvY2sKICAgKiBAcmV0dmFsIEhBTCBzdGF0dXMKICAgKi8KLUhBTF9TdGF0dXNUeXBlRGVmIEhBTF9OQU5EX1dyaXRlX1BhZ2VfOGIoTkFORF9IYW5kbGVUeXBlRGVmICpobmFuZCwgTkFORF9BZGRyZXNzVHlwZURlZiAqcEFkZHJlc3MsIHVpbnQ4X3QgKnBCdWZmZXIsIHVpbnQzMl90IE51bVBhZ2VUb1dyaXRlKQorSEFMX1N0YXR1c1R5cGVEZWYgSEFMX05BTkRfV3JpdGVfUGFnZV84YihOQU5EX0hhbmRsZVR5cGVEZWYgKmhuYW5kLCBOQU5EX0FkZHJlc3NUeXBlRGVmICpwQWRkcmVzcywgdWludDhfdCAqcEJ1ZmZlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgTnVtUGFnZVRvV3JpdGUpCiB7Ci0gIF9fSU8gdWludDMyX3QgaW5kZXggPSAwVTsKLSAgdWludDMyX3QgdGlja3N0YXJ0ID0gMFU7Ci0gIHVpbnQzMl90IGRldmljZWFkZHJlc3MgPSAwVSwgc2l6ZSA9IDBVLCBudW1QYWdlc1dyaXR0ZW4gPSAwVSwgbmFuZGFkZHJlc3MgPSAwVTsKLSAgCi0gIC8qIFByb2Nlc3MgTG9ja2VkICovCi0gIF9fSEFMX0xPQ0soaG5hbmQpOyAgCisgIHVpbnQzMl90IGluZGV4OworICB1aW50MzJfdCB0aWNrc3RhcnQ7CisgIHVpbnQzMl90IGRldmljZWFkZHJlc3M7CisgIHVpbnQzMl90IG51bXBhZ2Vzd3JpdHRlbiA9IDBVOworICB1aW50MzJfdCBuYW5kYWRkcmVzczsKKyAgdWludDMyX3QgbmJwYWdlcyA9IE51bVBhZ2VUb1dyaXRlOworICB1aW50OF90ICpidWZmID0gcEJ1ZmZlcjsKIAogICAvKiBDaGVjayB0aGUgTkFORCBjb250cm9sbGVyIHN0YXRlICovCi0gIGlmKGhuYW5kLT5TdGF0ZSA9PSBIQUxfTkFORF9TVEFURV9CVVNZKQorICBpZiAoaG5hbmQtPlN0YXRlID09IEhBTF9OQU5EX1NUQVRFX0JVU1kpCiAgIHsKLSAgICAgcmV0dXJuIEhBTF9CVVNZOworICAgIHJldHVybiBIQUxfQlVTWTsKICAgfQotICAKLSAgLyogSWRlbnRpZnkgdGhlIGRldmljZSBhZGRyZXNzICovCi0gIGlmKGhuYW5kLT5Jbml0Lk5hbmRCYW5rID09IEZNQ19OQU5EX0JBTksyKQorICBlbHNlIGlmIChobmFuZC0+U3RhdGUgPT0gSEFMX05BTkRfU1RBVEVfUkVBRFkpCiAgIHsKLSAgICBkZXZpY2VhZGRyZXNzID0gTkFORF9ERVZJQ0UxOworICAgIC8qIFByb2Nlc3MgTG9ja2VkICovCisgICAgX19IQUxfTE9DSyhobmFuZCk7CisKKyAgICAvKiBVcGRhdGUgdGhlIE5BTkQgY29udHJvbGxlciBzdGF0ZSAqLworICAgIGhuYW5kLT5TdGF0ZSA9IEhBTF9OQU5EX1NUQVRFX0JVU1k7CisKKyAgICAvKiBJZGVudGlmeSB0aGUgZGV2aWNlIGFkZHJlc3MgKi8KKyNpZiBkZWZpbmVkKEZNQ19CYW5rMl8zKQorICAgIGlmIChobmFuZC0+SW5pdC5OYW5kQmFuayA9PSBGTUNfTkFORF9CQU5LMikKKyAgICB7CisgICAgICBkZXZpY2VhZGRyZXNzID0gTkFORF9ERVZJQ0UxOworICAgIH0KKyAgICBlbHNlCisgICAgeworICAgICAgZGV2aWNlYWRkcmVzcyA9IE5BTkRfREVWSUNFMjsKKyAgICB9CisjZWxzZQorICAgIGRldmljZWFkZHJlc3MgPSBOQU5EX0RFVklDRTsKKyNlbmRpZgorCisgICAgLyogTkFORCByYXcgYWRkcmVzcyBjYWxjdWxhdGlvbiAqLworICAgIG5hbmRhZGRyZXNzID0gQVJSQVlfQUREUkVTUyhwQWRkcmVzcywgaG5hbmQpOworCisgICAgLyogUGFnZShzKSB3cml0ZSBsb29wICovCisgICAgd2hpbGUgKChuYnBhZ2VzICE9IDBVKSAmJiAobmFuZGFkZHJlc3MgPCAoKGhuYW5kLT5Db25maWcuQmxvY2tTaXplKSAqIChobmFuZC0+Q29uZmlnLkJsb2NrTmJyKSkpKQorICAgIHsKKyAgICAgIC8qIFNlbmQgd3JpdGUgcGFnZSBjb21tYW5kIHNlcXVlbmNlICovCisgICAgICAqKF9fSU8gdWludDhfdCAqKSgodWludDMyX3QpKGRldmljZWFkZHJlc3MgfCBDTURfQVJFQSkpID0gTkFORF9DTURfQVJFQV9BOworICAgICAgX19EU0IoKTsKKyAgICAgICooX19JTyB1aW50OF90ICopKCh1aW50MzJfdCkoZGV2aWNlYWRkcmVzcyB8IENNRF9BUkVBKSkgPSBOQU5EX0NNRF9XUklURTA7CisgICAgICBfX0RTQigpOworCisgICAgICAvKiBDYXJkcyB3aXRoIHBhZ2Ugc2l6ZSA8PSA1MTIgYnl0ZXMgKi8KKyAgICAgIGlmICgoaG5hbmQtPkNvbmZpZy5QYWdlU2l6ZSkgPD0gNTEyVSkKKyAgICAgIHsKKyAgICAgICAgaWYgKCgoaG5hbmQtPkNvbmZpZy5CbG9ja1NpemUpICogKGhuYW5kLT5Db25maWcuQmxvY2tOYnIpKSA8PSA2NTUzNVUpCisgICAgICAgIHsKKyAgICAgICAgICAqKF9fSU8gdWludDhfdCAqKSgodWludDMyX3QpKGRldmljZWFkZHJlc3MgfCBBRERSX0FSRUEpKSA9IDB4MDBVOworICAgICAgICAgIF9fRFNCKCk7CisgICAgICAgICAgKihfX0lPIHVpbnQ4X3QgKikoKHVpbnQzMl90KShkZXZpY2VhZGRyZXNzIHwgQUREUl9BUkVBKSkgPSBBRERSXzFTVF9DWUNMRShuYW5kYWRkcmVzcyk7CisgICAgICAgICAgX19EU0IoKTsKKyAgICAgICAgICAqKF9fSU8gdWludDhfdCAqKSgodWludDMyX3QpKGRldmljZWFkZHJlc3MgfCBBRERSX0FSRUEpKSA9IEFERFJfMk5EX0NZQ0xFKG5hbmRhZGRyZXNzKTsKKyAgICAgICAgICBfX0RTQigpOworICAgICAgICB9CisgICAgICAgIGVsc2UgLyogKChobmFuZC0+Q29uZmlnLkJsb2NrU2l6ZSkqKGhuYW5kLT5Db25maWcuQmxvY2tOYnIpKSA+IDY1NTM1ICovCisgICAgICAgIHsKKyAgICAgICAgICAqKF9fSU8gdWludDhfdCAqKSgodWludDMyX3QpKGRldmljZWFkZHJlc3MgfCBBRERSX0FSRUEpKSA9IDB4MDBVOworICAgICAgICAgIF9fRFNCKCk7CisgICAgICAgICAgKihfX0lPIHVpbnQ4X3QgKikoKHVpbnQzMl90KShkZXZpY2VhZGRyZXNzIHwgQUREUl9BUkVBKSkgPSBBRERSXzFTVF9DWUNMRShuYW5kYWRkcmVzcyk7CisgICAgICAgICAgX19EU0IoKTsKKyAgICAgICAgICAqKF9fSU8gdWludDhfdCAqKSgodWludDMyX3QpKGRldmljZWFkZHJlc3MgfCBBRERSX0FSRUEpKSA9IEFERFJfMk5EX0NZQ0xFKG5hbmRhZGRyZXNzKTsKKyAgICAgICAgICBfX0RTQigpOworICAgICAgICAgICooX19JTyB1aW50OF90ICopKCh1aW50MzJfdCkoZGV2aWNlYWRkcmVzcyB8IEFERFJfQVJFQSkpID0gQUREUl8zUkRfQ1lDTEUobmFuZGFkZHJlc3MpOworICAgICAgICAgIF9fRFNCKCk7CisgICAgICAgIH0KKyAgICAgIH0KKyAgICAgIGVsc2UgLyogKGhuYW5kLT5Db25maWcuUGFnZVNpemUpID4gNTEyICovCisgICAgICB7CisgICAgICAgIGlmICgoKGhuYW5kLT5Db25maWcuQmxvY2tTaXplKSAqIChobmFuZC0+Q29uZmlnLkJsb2NrTmJyKSkgPD0gNjU1MzVVKQorICAgICAgICB7CisgICAgICAgICAgKihfX0lPIHVpbnQ4X3QgKikoKHVpbnQzMl90KShkZXZpY2VhZGRyZXNzIHwgQUREUl9BUkVBKSkgPSAweDAwVTsKKyAgICAgICAgICBfX0RTQigpOworICAgICAgICAgICooX19JTyB1aW50OF90ICopKCh1aW50MzJfdCkoZGV2aWNlYWRkcmVzcyB8IEFERFJfQVJFQSkpID0gMHgwMFU7CisgICAgICAgICAgX19EU0IoKTsKKyAgICAgICAgICAqKF9fSU8gdWludDhfdCAqKSgodWludDMyX3QpKGRldmljZWFkZHJlc3MgfCBBRERSX0FSRUEpKSA9IEFERFJfMVNUX0NZQ0xFKG5hbmRhZGRyZXNzKTsKKyAgICAgICAgICBfX0RTQigpOworICAgICAgICAgICooX19JTyB1aW50OF90ICopKCh1aW50MzJfdCkoZGV2aWNlYWRkcmVzcyB8IEFERFJfQVJFQSkpID0gQUREUl8yTkRfQ1lDTEUobmFuZGFkZHJlc3MpOworICAgICAgICAgIF9fRFNCKCk7CisgICAgICAgIH0KKyAgICAgICAgZWxzZSAvKiAoKGhuYW5kLT5Db25maWcuQmxvY2tTaXplKSooaG5hbmQtPkNvbmZpZy5CbG9ja05icikpID4gNjU1MzUgKi8KKyAgICAgICAgeworICAgICAgICAgICooX19JTyB1aW50OF90ICopKCh1aW50MzJfdCkoZGV2aWNlYWRkcmVzcyB8IEFERFJfQVJFQSkpID0gMHgwMFU7CisgICAgICAgICAgX19EU0IoKTsKKyAgICAgICAgICAqKF9fSU8gdWludDhfdCAqKSgodWludDMyX3QpKGRldmljZWFkZHJlc3MgfCBBRERSX0FSRUEpKSA9IDB4MDBVOworICAgICAgICAgIF9fRFNCKCk7CisgICAgICAgICAgKihfX0lPIHVpbnQ4X3QgKikoKHVpbnQzMl90KShkZXZpY2VhZGRyZXNzIHwgQUREUl9BUkVBKSkgPSBBRERSXzFTVF9DWUNMRShuYW5kYWRkcmVzcyk7CisgICAgICAgICAgX19EU0IoKTsKKyAgICAgICAgICAqKF9fSU8gdWludDhfdCAqKSgodWludDMyX3QpKGRldmljZWFkZHJlc3MgfCBBRERSX0FSRUEpKSA9IEFERFJfMk5EX0NZQ0xFKG5hbmRhZGRyZXNzKTsKKyAgICAgICAgICBfX0RTQigpOworICAgICAgICAgICooX19JTyB1aW50OF90ICopKCh1aW50MzJfdCkoZGV2aWNlYWRkcmVzcyB8IEFERFJfQVJFQSkpID0gQUREUl8zUkRfQ1lDTEUobmFuZGFkZHJlc3MpOworICAgICAgICAgIF9fRFNCKCk7CisgICAgICAgIH0KKyAgICAgIH0KKworICAgICAgLyogV3JpdGUgZGF0YSB0byBtZW1vcnkgKi8KKyAgICAgIGZvciAoaW5kZXggPSAwVTsgaW5kZXggPCBobmFuZC0+Q29uZmlnLlBhZ2VTaXplOyBpbmRleCsrKQorICAgICAgeworICAgICAgICAqKF9fSU8gdWludDhfdCAqKWRldmljZWFkZHJlc3MgPSAqYnVmZjsKKyAgICAgICAgYnVmZisrOworICAgICAgICBfX0RTQigpOworICAgICAgfQorCisgICAgICAqKF9fSU8gdWludDhfdCAqKSgodWludDMyX3QpKGRldmljZWFkZHJlc3MgfCBDTURfQVJFQSkpID0gTkFORF9DTURfV1JJVEVfVFJVRTE7CisgICAgICBfX0RTQigpOworCisgICAgICAvKiBHZXQgdGljayAqLworICAgICAgdGlja3N0YXJ0ID0gSEFMX0dldFRpY2soKTsKKworICAgICAgLyogUmVhZCBzdGF0dXMgdW50aWwgTkFORCBpcyByZWFkeSAqLworICAgICAgd2hpbGUgKEhBTF9OQU5EX1JlYWRfU3RhdHVzKGhuYW5kKSAhPSBOQU5EX1JFQURZKQorICAgICAgeworICAgICAgICBpZiAoKEhBTF9HZXRUaWNrKCkgLSB0aWNrc3RhcnQpID4gTkFORF9XUklURV9USU1FT1VUKQorICAgICAgICB7CisgICAgICAgICAgLyogVXBkYXRlIHRoZSBOQU5EIGNvbnRyb2xsZXIgc3RhdGUgKi8KKyAgICAgICAgICBobmFuZC0+U3RhdGUgPSBIQUxfTkFORF9TVEFURV9FUlJPUjsKKworICAgICAgICAgIC8qIFByb2Nlc3MgdW5sb2NrZWQgKi8KKyAgICAgICAgICBfX0hBTF9VTkxPQ0soaG5hbmQpOworCisgICAgICAgICAgcmV0dXJuIEhBTF9USU1FT1VUOworICAgICAgICB9CisgICAgICB9CisKKyAgICAgIC8qIEluY3JlbWVudCB3cml0dGVuIHBhZ2VzIG51bWJlciAqLworICAgICAgbnVtcGFnZXN3cml0dGVuKys7CisKKyAgICAgIC8qIERlY3JlbWVudCBwYWdlcyB0byB3cml0ZSAqLworICAgICAgbmJwYWdlcy0tOworCisgICAgICAvKiBJbmNyZW1lbnQgdGhlIE5BTkQgYWRkcmVzcyAqLworICAgICAgbmFuZGFkZHJlc3MgPSAodWludDMyX3QpKG5hbmRhZGRyZXNzICsgMVUpOworICAgIH0KKworICAgIC8qIFVwZGF0ZSB0aGUgTkFORCBjb250cm9sbGVyIHN0YXRlICovCisgICAgaG5hbmQtPlN0YXRlID0gSEFMX05BTkRfU1RBVEVfUkVBRFk7CisKKyAgICAvKiBQcm9jZXNzIHVubG9ja2VkICovCisgICAgX19IQUxfVU5MT0NLKGhuYW5kKTsKICAgfQogICBlbHNlCiAgIHsKLSAgICBkZXZpY2VhZGRyZXNzID0gTkFORF9ERVZJQ0UyOworICAgIHJldHVybiBIQUxfRVJST1I7CiAgIH0KLSAgCi0gIC8qIFVwZGF0ZSB0aGUgTkFORCBjb250cm9sbGVyIHN0YXRlICovIAotICBobmFuZC0+U3RhdGUgPSBIQUxfTkFORF9TVEFURV9CVVNZOwotICAKLSAgLyogTkFORCByYXcgYWRkcmVzcyBjYWxjdWxhdGlvbiAqLwotICBuYW5kYWRkcmVzcyA9IEFSUkFZX0FERFJFU1MocEFkZHJlc3MsIGhuYW5kKTsKLSAgICAKLSAgLyogUGFnZShzKSB3cml0ZSBsb29wICovCi0gIHdoaWxlKChOdW1QYWdlVG9Xcml0ZSAhPSAwVSkgJiYgKG5hbmRhZGRyZXNzIDwgKChobmFuZC0+Q29uZmlnLkJsb2NrU2l6ZSkgKiAoaG5hbmQtPkNvbmZpZy5CbG9ja05icikpKSkKLSAgewotICAgIC8qIHVwZGF0ZSB0aGUgYnVmZmVyIHNpemUgKi8KLSAgICBzaXplID0gaG5hbmQtPkNvbmZpZy5QYWdlU2l6ZSArICgoaG5hbmQtPkNvbmZpZy5QYWdlU2l6ZSkgKiBudW1QYWdlc1dyaXR0ZW4pOwotICAgIAotICAgIC8qIFNlbmQgd3JpdGUgcGFnZSBjb21tYW5kIHNlcXVlbmNlICovCi0gICAgKihfX0lPIHVpbnQ4X3QgKikoKHVpbnQzMl90KShkZXZpY2VhZGRyZXNzIHwgQ01EX0FSRUEpKSA9IE5BTkRfQ01EX0FSRUFfQTsKLSAgICAqKF9fSU8gdWludDhfdCAqKSgodWludDMyX3QpKGRldmljZWFkZHJlc3MgfCBDTURfQVJFQSkpID0gTkFORF9DTURfV1JJVEUwOwogCi0gICAgLyogQ2FyZHMgd2l0aCBwYWdlIHNpemUgPD0gNTEyIGJ5dGVzICovCi0gICAgaWYoKGhuYW5kLT5Db25maWcuUGFnZVNpemUpIDw9IDUxMlUpCi0gICAgewotICAgICAgaWYgKCgoaG5hbmQtPkNvbmZpZy5CbG9ja1NpemUpKihobmFuZC0+Q29uZmlnLkJsb2NrTmJyKSkgPD0gNjU1MzVVKQotICAgICAgewotICAgICAgICAqKF9fSU8gdWludDhfdCAqKSgodWludDMyX3QpKGRldmljZWFkZHJlc3MgfCBBRERSX0FSRUEpKSA9IDB4MDA7Ci0gICAgICAgICooX19JTyB1aW50OF90ICopKCh1aW50MzJfdCkoZGV2aWNlYWRkcmVzcyB8IEFERFJfQVJFQSkpID0gQUREUl8xU1RfQ1lDTEUobmFuZGFkZHJlc3MpOwotICAgICAgICAqKF9fSU8gdWludDhfdCAqKSgodWludDMyX3QpKGRldmljZWFkZHJlc3MgfCBBRERSX0FSRUEpKSA9IEFERFJfMk5EX0NZQ0xFKG5hbmRhZGRyZXNzKTsKLSAgICAgIH0KLSAgICAgIGVsc2UgLyogKChobmFuZC0+Q29uZmlnLkJsb2NrU2l6ZSkqKGhuYW5kLT5Db25maWcuQmxvY2tOYnIpKSA+IDY1NTM1ICovCi0gICAgICB7Ci0gICAgICAgICooX19JTyB1aW50OF90ICopKCh1aW50MzJfdCkoZGV2aWNlYWRkcmVzcyB8IEFERFJfQVJFQSkpID0gMHgwMDsKLSAgICAgICAgKihfX0lPIHVpbnQ4X3QgKikoKHVpbnQzMl90KShkZXZpY2VhZGRyZXNzIHwgQUREUl9BUkVBKSkgPSBBRERSXzFTVF9DWUNMRShuYW5kYWRkcmVzcyk7Ci0gICAgICAgICooX19JTyB1aW50OF90ICopKCh1aW50MzJfdCkoZGV2aWNlYWRkcmVzcyB8IEFERFJfQVJFQSkpID0gQUREUl8yTkRfQ1lDTEUobmFuZGFkZHJlc3MpOwotICAgICAgICAqKF9fSU8gdWludDhfdCAqKSgodWludDMyX3QpKGRldmljZWFkZHJlc3MgfCBBRERSX0FSRUEpKSA9IEFERFJfM1JEX0NZQ0xFKG5hbmRhZGRyZXNzKTsKLSAgICAgIH0KLSAgICB9Ci0gICAgZWxzZSAvKiAoaG5hbmQtPkNvbmZpZy5QYWdlU2l6ZSkgPiA1MTIgKi8KLSAgICB7Ci0gICAgICBpZiAoKChobmFuZC0+Q29uZmlnLkJsb2NrU2l6ZSkqKGhuYW5kLT5Db25maWcuQmxvY2tOYnIpKSA8PSA2NTUzNVUpCi0gICAgICB7Ci0gICAgICAgICooX19JTyB1aW50OF90ICopKCh1aW50MzJfdCkoZGV2aWNlYWRkcmVzcyB8IEFERFJfQVJFQSkpID0gMHgwMDsKLSAgICAgICAgKihfX0lPIHVpbnQ4X3QgKikoKHVpbnQzMl90KShkZXZpY2VhZGRyZXNzIHwgQUREUl9BUkVBKSkgPSAweDAwOwotICAgICAgICAqKF9fSU8gdWludDhfdCAqKSgodWludDMyX3QpKGRldmljZWFkZHJlc3MgfCBBRERSX0FSRUEpKSA9IEFERFJfMVNUX0NZQ0xFKG5hbmRhZGRyZXNzKTsKLSAgICAgICAgKihfX0lPIHVpbnQ4X3QgKikoKHVpbnQzMl90KShkZXZpY2VhZGRyZXNzIHwgQUREUl9BUkVBKSkgPSBBRERSXzJORF9DWUNMRShuYW5kYWRkcmVzcyk7Ci0gICAgICB9Ci0gICAgICBlbHNlIC8qICgoaG5hbmQtPkNvbmZpZy5CbG9ja1NpemUpKihobmFuZC0+Q29uZmlnLkJsb2NrTmJyKSkgPiA2NTUzNSAqLwotICAgICAgewotICAgICAgICAqKF9fSU8gdWludDhfdCAqKSgodWludDMyX3QpKGRldmljZWFkZHJlc3MgfCBBRERSX0FSRUEpKSA9IDB4MDA7Ci0gICAgICAgICooX19JTyB1aW50OF90ICopKCh1aW50MzJfdCkoZGV2aWNlYWRkcmVzcyB8IEFERFJfQVJFQSkpID0gMHgwMDsKLSAgICAgICAgKihfX0lPIHVpbnQ4X3QgKikoKHVpbnQzMl90KShkZXZpY2VhZGRyZXNzIHwgQUREUl9BUkVBKSkgPSBBRERSXzFTVF9DWUNMRShuYW5kYWRkcmVzcyk7Ci0gICAgICAgICooX19JTyB1aW50OF90ICopKCh1aW50MzJfdCkoZGV2aWNlYWRkcmVzcyB8IEFERFJfQVJFQSkpID0gQUREUl8yTkRfQ1lDTEUobmFuZGFkZHJlc3MpOwotICAgICAgICBfX0RTQigpOwotICAgICAgICAqKF9fSU8gdWludDhfdCAqKSgodWludDMyX3QpKGRldmljZWFkZHJlc3MgfCBBRERSX0FSRUEpKSA9IEFERFJfM1JEX0NZQ0xFKG5hbmRhZGRyZXNzKTsKLSAgICAgICAgX19EU0IoKTsKLSAgICAgIH0KLSAgICB9Ci0gIAotCi0gICAgLyogV3JpdGUgZGF0YSB0byBtZW1vcnkgKi8KLSAgICBmb3IoOyBpbmRleCA8IHNpemU7IGluZGV4KyspCi0gICAgewotICAgICAgKihfX0lPIHVpbnQ4X3QgKilkZXZpY2VhZGRyZXNzID0gKih1aW50OF90ICopcEJ1ZmZlcisrOwotICAgIH0KLSAgIAotICAgICooX19JTyB1aW50OF90ICopKCh1aW50MzJfdCkoZGV2aWNlYWRkcmVzcyB8IENNRF9BUkVBKSkgPSBOQU5EX0NNRF9XUklURV9UUlVFMTsKLQotICAgIC8qIEdldCB0aWNrICovCi0gICAgdGlja3N0YXJ0ID0gSEFMX0dldFRpY2soKTsKLQotICAgIC8qIFJlYWQgc3RhdHVzIHVudGlsIE5BTkQgaXMgcmVhZHkgKi8KLSAgICB3aGlsZShIQUxfTkFORF9SZWFkX1N0YXR1cyhobmFuZCkgIT0gTkFORF9SRUFEWSkKLSAgICB7Ci0gICAgICAKLSAgICAgIGlmKChIQUxfR2V0VGljaygpIC0gdGlja3N0YXJ0ICkgPiBOQU5EX1dSSVRFX1RJTUVPVVQpCi0gICAgICB7Ci0gICAgICAgIHJldHVybiBIQUxfVElNRU9VVDsgCi0gICAgICB9Ci0gICAgfQotIAotICAgIC8qIEluY3JlbWVudCB3cml0dGVuIHBhZ2VzIG51bWJlciAqLwotICAgIG51bVBhZ2VzV3JpdHRlbisrOwotICAgIAotICAgIC8qIERlY3JlbWVudCBwYWdlcyB0byB3cml0ZSAqLwotICAgIE51bVBhZ2VUb1dyaXRlLS07Ci0gICAgCi0gICAgLyogSW5jcmVtZW50IHRoZSBOQU5EIGFkZHJlc3MgKi8KLSAgICBuYW5kYWRkcmVzcyA9ICh1aW50MzJfdCkobmFuZGFkZHJlc3MgKyAxVSk7Ci0gIH0KLSAgCi0gIC8qIFVwZGF0ZSB0aGUgTkFORCBjb250cm9sbGVyIHN0YXRlICovIAotICBobmFuZC0+U3RhdGUgPSBIQUxfTkFORF9TVEFURV9SRUFEWTsKLSAgCi0gIC8qIFByb2Nlc3MgdW5sb2NrZWQgKi8KLSAgX19IQUxfVU5MT0NLKGhuYW5kKTsKLSAgCiAgIHJldHVybiBIQUxfT0s7CiB9CiAKQEAgLTkzNiwyNzYgKzEwNzQsMzUzIEBACiAgICogICAgICAgICAgICAgICAgdGhlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gZm9yIE5BTkQgbW9kdWxlLgogICAqIEBwYXJhbSAgcEFkZHJlc3MgIHBvaW50ZXIgdG8gTkFORCBhZGRyZXNzIHN0cnVjdHVyZQogICAqIEBwYXJhbSAgcEJ1ZmZlciAgcG9pbnRlciB0byBzb3VyY2UgYnVmZmVyIHRvIHdyaXRlLiBwQnVmZmVyIHNob3VsZCBiZSAxNmJpdHMgYWxpZ25lZAotICAqIEBwYXJhbSAgTnVtUGFnZVRvV3JpdGUgICBudW1iZXIgb2YgcGFnZXMgdG8gd3JpdGUgdG8gYmxvY2sgCisgICogQHBhcmFtICBOdW1QYWdlVG9Xcml0ZSAgIG51bWJlciBvZiBwYWdlcyB0byB3cml0ZSB0byBibG9jawogICAqIEByZXR2YWwgSEFMIHN0YXR1cwogICAqLwotSEFMX1N0YXR1c1R5cGVEZWYgSEFMX05BTkRfV3JpdGVfUGFnZV8xNmIoTkFORF9IYW5kbGVUeXBlRGVmICpobmFuZCwgTkFORF9BZGRyZXNzVHlwZURlZiAqcEFkZHJlc3MsIHVpbnQxNl90ICpwQnVmZmVyLCB1aW50MzJfdCBOdW1QYWdlVG9Xcml0ZSkKK0hBTF9TdGF0dXNUeXBlRGVmIEhBTF9OQU5EX1dyaXRlX1BhZ2VfMTZiKE5BTkRfSGFuZGxlVHlwZURlZiAqaG5hbmQsIE5BTkRfQWRkcmVzc1R5cGVEZWYgKnBBZGRyZXNzLCB1aW50MTZfdCAqcEJ1ZmZlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IE51bVBhZ2VUb1dyaXRlKQogewotICBfX0lPIHVpbnQzMl90IGluZGV4ID0gMFU7Ci0gIHVpbnQzMl90IHRpY2tzdGFydCA9IDBVOwotICB1aW50MzJfdCBkZXZpY2VhZGRyZXNzID0gMFUsIHNpemUgPSAwVSwgbnVtUGFnZXNXcml0dGVuID0gMFUsIG5hbmRhZGRyZXNzID0gMFU7Ci0gIAotICAvKiBQcm9jZXNzIExvY2tlZCAqLwotICBfX0hBTF9MT0NLKGhuYW5kKTsgIAorICB1aW50MzJfdCBpbmRleDsKKyAgdWludDMyX3QgdGlja3N0YXJ0OworICB1aW50MzJfdCBkZXZpY2VhZGRyZXNzOworICB1aW50MzJfdCBudW1wYWdlc3dyaXR0ZW4gPSAwVTsKKyAgdWludDMyX3QgbmFuZGFkZHJlc3M7CisgIHVpbnQzMl90IG5icGFnZXMgPSBOdW1QYWdlVG9Xcml0ZTsKKyAgdWludDE2X3QgKmJ1ZmYgPSBwQnVmZmVyOwogCiAgIC8qIENoZWNrIHRoZSBOQU5EIGNvbnRyb2xsZXIgc3RhdGUgKi8KLSAgaWYoaG5hbmQtPlN0YXRlID09IEhBTF9OQU5EX1NUQVRFX0JVU1kpCisgIGlmIChobmFuZC0+U3RhdGUgPT0gSEFMX05BTkRfU1RBVEVfQlVTWSkKICAgewotICAgICByZXR1cm4gSEFMX0JVU1k7CisgICAgcmV0dXJuIEhBTF9CVVNZOwogICB9Ci0gIAotICAvKiBJZGVudGlmeSB0aGUgZGV2aWNlIGFkZHJlc3MgKi8KLSAgaWYoaG5hbmQtPkluaXQuTmFuZEJhbmsgPT0gRk1DX05BTkRfQkFOSzIpCisgIGVsc2UgaWYgKGhuYW5kLT5TdGF0ZSA9PSBIQUxfTkFORF9TVEFURV9SRUFEWSkKICAgewotICAgIGRldmljZWFkZHJlc3MgPSBOQU5EX0RFVklDRTE7Ci0gIH0KLSAgZWxzZQotICB7Ci0gICAgZGV2aWNlYWRkcmVzcyA9IE5BTkRfREVWSUNFMjsKLSAgfQotICAKLSAgLyogVXBkYXRlIHRoZSBOQU5EIGNvbnRyb2xsZXIgc3RhdGUgKi8gCi0gIGhuYW5kLT5TdGF0ZSA9IEhBTF9OQU5EX1NUQVRFX0JVU1k7Ci0gIAotICAvKiBOQU5EIHJhdyBhZGRyZXNzIGNhbGN1bGF0aW9uICovCi0gIG5hbmRhZGRyZXNzID0gQVJSQVlfQUREUkVTUyhwQWRkcmVzcywgaG5hbmQpOwotICAKLSAgLyogUGFnZShzKSB3cml0ZSBsb29wICovCi0gIHdoaWxlKChOdW1QYWdlVG9Xcml0ZSAhPSAwVSkgJiYgKG5hbmRhZGRyZXNzIDwgKChobmFuZC0+Q29uZmlnLkJsb2NrU2l6ZSkgKiAoaG5hbmQtPkNvbmZpZy5CbG9ja05icikpKSkKLSAgewotICAgIC8qIHVwZGF0ZSB0aGUgYnVmZmVyIHNpemUgKi8KLSAgICBzaXplID0gKGhuYW5kLT5Db25maWcuUGFnZVNpemUpICsgKChobmFuZC0+Q29uZmlnLlBhZ2VTaXplKSAqIG51bVBhZ2VzV3JpdHRlbik7Ci0gCi0gICAgLyogU2VuZCB3cml0ZSBwYWdlIGNvbW1hbmQgc2VxdWVuY2UgKi8KLSAgICAqKF9fSU8gdWludDhfdCAqKSgodWludDMyX3QpKGRldmljZWFkZHJlc3MgfCBDTURfQVJFQSkpID0gTkFORF9DTURfQVJFQV9BOwotICAgIF9fRFNCKCk7Ci0gICAgKihfX0lPIHVpbnQ4X3QgKikoKHVpbnQzMl90KShkZXZpY2VhZGRyZXNzIHwgQ01EX0FSRUEpKSA9IE5BTkRfQ01EX1dSSVRFMDsKLSAgICBfX0RTQigpOworICAgIC8qIFByb2Nlc3MgTG9ja2VkICovCisgICAgX19IQUxfTE9DSyhobmFuZCk7CiAKLSAgICAvKiBDYXJkcyB3aXRoIHBhZ2Ugc2l6ZSA8PSA1MTIgYnl0ZXMgKi8KLSAgICBpZigoaG5hbmQtPkNvbmZpZy5QYWdlU2l6ZSkgPD0gNTEyVSkKLSAgICB7Ci0gICAgICBpZiAoKChobmFuZC0+Q29uZmlnLkJsb2NrU2l6ZSkqKGhuYW5kLT5Db25maWcuQmxvY2tOYnIpKSA8PSA2NTUzNVUpCi0gICAgICB7Ci0gICAgICAgICooX19JTyB1aW50OF90ICopKCh1aW50MzJfdCkoZGV2aWNlYWRkcmVzcyB8IEFERFJfQVJFQSkpID0gMHgwMDsKLSAgICAgICAgKihfX0lPIHVpbnQ4X3QgKikoKHVpbnQzMl90KShkZXZpY2VhZGRyZXNzIHwgQUREUl9BUkVBKSkgPSBBRERSXzFTVF9DWUNMRShuYW5kYWRkcmVzcyk7Ci0gICAgICAgICooX19JTyB1aW50OF90ICopKCh1aW50MzJfdCkoZGV2aWNlYWRkcmVzcyB8IEFERFJfQVJFQSkpID0gQUREUl8yTkRfQ1lDTEUobmFuZGFkZHJlc3MpOwotICAgICAgfQotICAgICAgZWxzZSAvKiAoKGhuYW5kLT5Db25maWcuQmxvY2tTaXplKSooaG5hbmQtPkNvbmZpZy5CbG9ja05icikpID4gNjU1MzUgKi8KLSAgICAgIHsKLSAgICAgICAgKihfX0lPIHVpbnQ4X3QgKikoKHVpbnQzMl90KShkZXZpY2VhZGRyZXNzIHwgQUREUl9BUkVBKSkgPSAweDAwOwotICAgICAgICAqKF9fSU8gdWludDhfdCAqKSgodWludDMyX3QpKGRldmljZWFkZHJlc3MgfCBBRERSX0FSRUEpKSA9IEFERFJfMVNUX0NZQ0xFKG5hbmRhZGRyZXNzKTsKLSAgICAgICAgKihfX0lPIHVpbnQ4X3QgKikoKHVpbnQzMl90KShkZXZpY2VhZGRyZXNzIHwgQUREUl9BUkVBKSkgPSBBRERSXzJORF9DWUNMRShuYW5kYWRkcmVzcyk7Ci0gICAgICAgICooX19JTyB1aW50OF90ICopKCh1aW50MzJfdCkoZGV2aWNlYWRkcmVzcyB8IEFERFJfQVJFQSkpID0gQUREUl8zUkRfQ1lDTEUobmFuZGFkZHJlc3MpOwotICAgICAgfQotICAgIH0KLSAgICBlbHNlIC8qIChobmFuZC0+Q29uZmlnLlBhZ2VTaXplKSA+IDUxMiAqLwotICAgIHsKLSAgICAgIGlmICgoKGhuYW5kLT5Db25maWcuQmxvY2tTaXplKSooaG5hbmQtPkNvbmZpZy5CbG9ja05icikpIDw9IDY1NTM1VSkKLSAgICAgIHsKLSAgICAgICAgKihfX0lPIHVpbnQ4X3QgKikoKHVpbnQzMl90KShkZXZpY2VhZGRyZXNzIHwgQUREUl9BUkVBKSkgPSAweDAwOwotICAgICAgICAqKF9fSU8gdWludDhfdCAqKSgodWludDMyX3QpKGRldmljZWFkZHJlc3MgfCBBRERSX0FSRUEpKSA9IDB4MDA7Ci0gICAgICAgICooX19JTyB1aW50OF90ICopKCh1aW50MzJfdCkoZGV2aWNlYWRkcmVzcyB8IEFERFJfQVJFQSkpID0gQUREUl8xU1RfQ1lDTEUobmFuZGFkZHJlc3MpOwotICAgICAgICAqKF9fSU8gdWludDhfdCAqKSgodWludDMyX3QpKGRldmljZWFkZHJlc3MgfCBBRERSX0FSRUEpKSA9IEFERFJfMk5EX0NZQ0xFKG5hbmRhZGRyZXNzKTsKLSAgICAgIH0KLSAgICAgIGVsc2UgLyogKChobmFuZC0+Q29uZmlnLkJsb2NrU2l6ZSkqKGhuYW5kLT5Db25maWcuQmxvY2tOYnIpKSA+IDY1NTM1ICovCi0gICAgICB7Ci0gICAgICAgICooX19JTyB1aW50OF90ICopKCh1aW50MzJfdCkoZGV2aWNlYWRkcmVzcyB8IEFERFJfQVJFQSkpID0gMHgwMDsKLSAgICAgICAgKihfX0lPIHVpbnQ4X3QgKikoKHVpbnQzMl90KShkZXZpY2VhZGRyZXNzIHwgQUREUl9BUkVBKSkgPSAweDAwOwotICAgICAgICAqKF9fSU8gdWludDhfdCAqKSgodWludDMyX3QpKGRldmljZWFkZHJlc3MgfCBBRERSX0FSRUEpKSA9IEFERFJfMVNUX0NZQ0xFKG5hbmRhZGRyZXNzKTsKLSAgICAgICAgKihfX0lPIHVpbnQ4X3QgKikoKHVpbnQzMl90KShkZXZpY2VhZGRyZXNzIHwgQUREUl9BUkVBKSkgPSBBRERSXzJORF9DWUNMRShuYW5kYWRkcmVzcyk7Ci0gICAgICAgICooX19JTyB1aW50OF90ICopKCh1aW50MzJfdCkoZGV2aWNlYWRkcmVzcyB8IEFERFJfQVJFQSkpID0gQUREUl8zUkRfQ1lDTEUobmFuZGFkZHJlc3MpOwotICAgICAgfQotICAgIH0KKyAgICAvKiBVcGRhdGUgdGhlIE5BTkQgY29udHJvbGxlciBzdGF0ZSAqLworICAgIGhuYW5kLT5TdGF0ZSA9IEhBTF9OQU5EX1NUQVRFX0JVU1k7CiAKLSAgICAvKiBDYWxjdWxhdGUgUGFnZVNpemUgKi8KLSNpZmRlZiBGU01DX1BDUjJfUFdJRAotICAgIGlmIChobmFuZC0+SW5pdC5NZW1vcnlEYXRhV2lkdGggPT0gRlNNQ19OQU5EX1BDQ19NRU1fQlVTX1dJRFRIXzgpCi0jZWxzZSAvKiBGTUNfUENSMl9QV0lEIGlzIGRlZmluZWQgKi8KLSAgICBpZiAoaG5hbmQtPkluaXQuTWVtb3J5RGF0YVdpZHRoID09IEZNQ19OQU5EX1BDQ19NRU1fQlVTX1dJRFRIXzgpCi0jZW5kaWYKKyAgICAvKiBJZGVudGlmeSB0aGUgZGV2aWNlIGFkZHJlc3MgKi8KKyNpZiBkZWZpbmVkKEZNQ19CYW5rMl8zKQorICAgIGlmIChobmFuZC0+SW5pdC5OYW5kQmFuayA9PSBGTUNfTkFORF9CQU5LMikKICAgICB7Ci0gICAgICBzaXplID0gc2l6ZSAvIDJVOworICAgICAgZGV2aWNlYWRkcmVzcyA9IE5BTkRfREVWSUNFMTsKICAgICB9CiAgICAgZWxzZQogICAgIHsKLSAgICAgIC8qIERvIG5vdGhpbmcgKi8KLSAgICAgIC8qIEtlZXAgdGhlIHNhbWUgUGFnZVNpemUgZm9yIEZNQ19OQU5EX01FTV9CVVNfV0lEVEhfMTYqLworICAgICAgZGV2aWNlYWRkcmVzcyA9IE5BTkRfREVWSUNFMjsKICAgICB9Ci0gIAotICAgIC8qIFdyaXRlIGRhdGEgdG8gbWVtb3J5ICovCi0gICAgZm9yKDsgaW5kZXggPCBzaXplOyBpbmRleCsrKQotICAgIHsKLSAgICAgICooX19JTyB1aW50MTZfdCAqKWRldmljZWFkZHJlc3MgPSAqKHVpbnQxNl90ICopcEJ1ZmZlcisrOwotICAgIH0KLSAgIAotICAgICooX19JTyB1aW50OF90ICopKCh1aW50MzJfdCkoZGV2aWNlYWRkcmVzcyB8IENNRF9BUkVBKSkgPSBOQU5EX0NNRF9XUklURV9UUlVFMTsKLSAgICAKLSAgICAvKiBHZXQgdGljayAqLwotICAgIHRpY2tzdGFydCA9IEhBTF9HZXRUaWNrKCk7CisjZWxzZQorICAgIGRldmljZWFkZHJlc3MgPSBOQU5EX0RFVklDRTsKKyNlbmRpZgogCi0gICAgLyogUmVhZCBzdGF0dXMgdW50aWwgTkFORCBpcyByZWFkeSAqLwotICAgIHdoaWxlKEhBTF9OQU5EX1JlYWRfU3RhdHVzKGhuYW5kKSAhPSBOQU5EX1JFQURZKQotICAgIHsgCi0gICAgICBpZigoSEFMX0dldFRpY2soKSAtIHRpY2tzdGFydCApID4gTkFORF9XUklURV9USU1FT1VUKQorICAgIC8qIE5BTkQgcmF3IGFkZHJlc3MgY2FsY3VsYXRpb24gKi8KKyAgICBuYW5kYWRkcmVzcyA9IEFSUkFZX0FERFJFU1MocEFkZHJlc3MsIGhuYW5kKTsKKworICAgIC8qIFBhZ2Uocykgd3JpdGUgbG9vcCAqLworICAgIHdoaWxlICgobmJwYWdlcyAhPSAwVSkgJiYgKG5hbmRhZGRyZXNzIDwgKChobmFuZC0+Q29uZmlnLkJsb2NrU2l6ZSkgKiAoaG5hbmQtPkNvbmZpZy5CbG9ja05icikpKSkKKyAgICB7CisgICAgICAvKiBTZW5kIHdyaXRlIHBhZ2UgY29tbWFuZCBzZXF1ZW5jZSAqLworICAgICAgKihfX0lPIHVpbnQ4X3QgKikoKHVpbnQzMl90KShkZXZpY2VhZGRyZXNzIHwgQ01EX0FSRUEpKSA9IE5BTkRfQ01EX0FSRUFfQTsKKyAgICAgIF9fRFNCKCk7CisgICAgICAqKF9fSU8gdWludDhfdCAqKSgodWludDMyX3QpKGRldmljZWFkZHJlc3MgfCBDTURfQVJFQSkpID0gTkFORF9DTURfV1JJVEUwOworICAgICAgX19EU0IoKTsKKworICAgICAgLyogQ2FyZHMgd2l0aCBwYWdlIHNpemUgPD0gNTEyIGJ5dGVzICovCisgICAgICBpZiAoKGhuYW5kLT5Db25maWcuUGFnZVNpemUpIDw9IDUxMlUpCiAgICAgICB7Ci0gICAgICAgIHJldHVybiBIQUxfVElNRU9VVDsgCi0gICAgICB9IAotICAgIH0gICAKLSAKLSAgICAvKiBJbmNyZW1lbnQgd3JpdHRlbiBwYWdlcyBudW1iZXIgKi8KLSAgICBudW1QYWdlc1dyaXR0ZW4rKzsKLSAgICAKLSAgICAvKiBEZWNyZW1lbnQgcGFnZXMgdG8gd3JpdGUgKi8KLSAgICBOdW1QYWdlVG9Xcml0ZS0tOwotICAgIAotICAgIC8qIEluY3JlbWVudCB0aGUgTkFORCBhZGRyZXNzICovCi0gICAgbmFuZGFkZHJlc3MgPSAodWludDMyX3QpKG5hbmRhZGRyZXNzICsgMVUpOworICAgICAgICBpZiAoKChobmFuZC0+Q29uZmlnLkJsb2NrU2l6ZSkgKiAoaG5hbmQtPkNvbmZpZy5CbG9ja05icikpIDw9IDY1NTM1VSkKKyAgICAgICAgeworICAgICAgICAgICooX19JTyB1aW50OF90ICopKCh1aW50MzJfdCkoZGV2aWNlYWRkcmVzcyB8IEFERFJfQVJFQSkpID0gMHgwMFU7CisgICAgICAgICAgX19EU0IoKTsKKyAgICAgICAgICAqKF9fSU8gdWludDhfdCAqKSgodWludDMyX3QpKGRldmljZWFkZHJlc3MgfCBBRERSX0FSRUEpKSA9IEFERFJfMVNUX0NZQ0xFKG5hbmRhZGRyZXNzKTsKKyAgICAgICAgICBfX0RTQigpOworICAgICAgICAgICooX19JTyB1aW50OF90ICopKCh1aW50MzJfdCkoZGV2aWNlYWRkcmVzcyB8IEFERFJfQVJFQSkpID0gQUREUl8yTkRfQ1lDTEUobmFuZGFkZHJlc3MpOworICAgICAgICAgIF9fRFNCKCk7CisgICAgICAgIH0KKyAgICAgICAgZWxzZSAvKiAoKGhuYW5kLT5Db25maWcuQmxvY2tTaXplKSooaG5hbmQtPkNvbmZpZy5CbG9ja05icikpID4gNjU1MzUgKi8KKyAgICAgICAgeworICAgICAgICAgICooX19JTyB1aW50OF90ICopKCh1aW50MzJfdCkoZGV2aWNlYWRkcmVzcyB8IEFERFJfQVJFQSkpID0gMHgwMFU7CisgICAgICAgICAgX19EU0IoKTsKKyAgICAgICAgICAqKF9fSU8gdWludDhfdCAqKSgodWludDMyX3QpKGRldmljZWFkZHJlc3MgfCBBRERSX0FSRUEpKSA9IEFERFJfMVNUX0NZQ0xFKG5hbmRhZGRyZXNzKTsKKyAgICAgICAgICBfX0RTQigpOworICAgICAgICAgICooX19JTyB1aW50OF90ICopKCh1aW50MzJfdCkoZGV2aWNlYWRkcmVzcyB8IEFERFJfQVJFQSkpID0gQUREUl8yTkRfQ1lDTEUobmFuZGFkZHJlc3MpOworICAgICAgICAgIF9fRFNCKCk7CisgICAgICAgICAgKihfX0lPIHVpbnQ4X3QgKikoKHVpbnQzMl90KShkZXZpY2VhZGRyZXNzIHwgQUREUl9BUkVBKSkgPSBBRERSXzNSRF9DWUNMRShuYW5kYWRkcmVzcyk7CisgICAgICAgICAgX19EU0IoKTsKKyAgICAgICAgfQorICAgICAgfQorICAgICAgZWxzZSAvKiAoaG5hbmQtPkNvbmZpZy5QYWdlU2l6ZSkgPiA1MTIgKi8KKyAgICAgIHsKKyAgICAgICAgaWYgKCgoaG5hbmQtPkNvbmZpZy5CbG9ja1NpemUpICogKGhuYW5kLT5Db25maWcuQmxvY2tOYnIpKSA8PSA2NTUzNVUpCisgICAgICAgIHsKKyAgICAgICAgICAqKF9fSU8gdWludDhfdCAqKSgodWludDMyX3QpKGRldmljZWFkZHJlc3MgfCBBRERSX0FSRUEpKSA9IDB4MDBVOworICAgICAgICAgIF9fRFNCKCk7CisgICAgICAgICAgKihfX0lPIHVpbnQ4X3QgKikoKHVpbnQzMl90KShkZXZpY2VhZGRyZXNzIHwgQUREUl9BUkVBKSkgPSAweDAwVTsKKyAgICAgICAgICBfX0RTQigpOworICAgICAgICAgICooX19JTyB1aW50OF90ICopKCh1aW50MzJfdCkoZGV2aWNlYWRkcmVzcyB8IEFERFJfQVJFQSkpID0gQUREUl8xU1RfQ1lDTEUobmFuZGFkZHJlc3MpOworICAgICAgICAgIF9fRFNCKCk7CisgICAgICAgICAgKihfX0lPIHVpbnQ4X3QgKikoKHVpbnQzMl90KShkZXZpY2VhZGRyZXNzIHwgQUREUl9BUkVBKSkgPSBBRERSXzJORF9DWUNMRShuYW5kYWRkcmVzcyk7CisgICAgICAgICAgX19EU0IoKTsKKyAgICAgICAgfQorICAgICAgICBlbHNlIC8qICgoaG5hbmQtPkNvbmZpZy5CbG9ja1NpemUpKihobmFuZC0+Q29uZmlnLkJsb2NrTmJyKSkgPiA2NTUzNSAqLworICAgICAgICB7CisgICAgICAgICAgKihfX0lPIHVpbnQ4X3QgKikoKHVpbnQzMl90KShkZXZpY2VhZGRyZXNzIHwgQUREUl9BUkVBKSkgPSAweDAwVTsKKyAgICAgICAgICBfX0RTQigpOworICAgICAgICAgICooX19JTyB1aW50OF90ICopKCh1aW50MzJfdCkoZGV2aWNlYWRkcmVzcyB8IEFERFJfQVJFQSkpID0gMHgwMFU7CisgICAgICAgICAgX19EU0IoKTsKKyAgICAgICAgICAqKF9fSU8gdWludDhfdCAqKSgodWludDMyX3QpKGRldmljZWFkZHJlc3MgfCBBRERSX0FSRUEpKSA9IEFERFJfMVNUX0NZQ0xFKG5hbmRhZGRyZXNzKTsKKyAgICAgICAgICBfX0RTQigpOworICAgICAgICAgICooX19JTyB1aW50OF90ICopKCh1aW50MzJfdCkoZGV2aWNlYWRkcmVzcyB8IEFERFJfQVJFQSkpID0gQUREUl8yTkRfQ1lDTEUobmFuZGFkZHJlc3MpOworICAgICAgICAgIF9fRFNCKCk7CisgICAgICAgICAgKihfX0lPIHVpbnQ4X3QgKikoKHVpbnQzMl90KShkZXZpY2VhZGRyZXNzIHwgQUREUl9BUkVBKSkgPSBBRERSXzNSRF9DWUNMRShuYW5kYWRkcmVzcyk7CisgICAgICAgICAgX19EU0IoKTsKKyAgICAgICAgfQorICAgICAgfQorCisgICAgICAvKiBDYWxjdWxhdGUgUGFnZVNpemUgKi8KKyNpZiBkZWZpbmVkKEZTTUNfUENSMl9QV0lEKQorICAgIGlmIChobmFuZC0+SW5pdC5NZW1vcnlEYXRhV2lkdGggPT0gRlNNQ19OQU5EX1BDQ19NRU1fQlVTX1dJRFRIXzgpCisjZWxzZQorICAgIGlmIChobmFuZC0+SW5pdC5NZW1vcnlEYXRhV2lkdGggPT0gRk1DX05BTkRfUENDX01FTV9CVVNfV0lEVEhfOCkKKyNlbmRpZiAvKiBGU01DX1BDUjJfUFdJRCAqLworICAgICAgeworICAgICAgICBobmFuZC0+Q29uZmlnLlBhZ2VTaXplID0gaG5hbmQtPkNvbmZpZy5QYWdlU2l6ZSAvIDJVOworICAgICAgfQorICAgICAgZWxzZQorICAgICAgeworICAgICAgICAvKiBEbyBub3RoaW5nICovCisgICAgICAgIC8qIEtlZXAgdGhlIHNhbWUgUGFnZVNpemUgZm9yIEZNQ19OQU5EX01FTV9CVVNfV0lEVEhfMTYqLworICAgICAgfQorCisgICAgICAvKiBXcml0ZSBkYXRhIHRvIG1lbW9yeSAqLworICAgICAgZm9yIChpbmRleCA9IDBVOyBpbmRleCA8IGhuYW5kLT5Db25maWcuUGFnZVNpemU7IGluZGV4KyspCisgICAgICB7CisgICAgICAgICooX19JTyB1aW50MTZfdCAqKWRldmljZWFkZHJlc3MgPSAqYnVmZjsKKyAgICAgICAgYnVmZisrOworICAgICAgICBfX0RTQigpOworICAgICAgfQorCisgICAgICAqKF9fSU8gdWludDhfdCAqKSgodWludDMyX3QpKGRldmljZWFkZHJlc3MgfCBDTURfQVJFQSkpID0gTkFORF9DTURfV1JJVEVfVFJVRTE7CisgICAgICBfX0RTQigpOworCisgICAgICAvKiBHZXQgdGljayAqLworICAgICAgdGlja3N0YXJ0ID0gSEFMX0dldFRpY2soKTsKKworICAgICAgLyogUmVhZCBzdGF0dXMgdW50aWwgTkFORCBpcyByZWFkeSAqLworICAgICAgd2hpbGUgKEhBTF9OQU5EX1JlYWRfU3RhdHVzKGhuYW5kKSAhPSBOQU5EX1JFQURZKQorICAgICAgeworICAgICAgICBpZiAoKEhBTF9HZXRUaWNrKCkgLSB0aWNrc3RhcnQpID4gTkFORF9XUklURV9USU1FT1VUKQorICAgICAgICB7CisgICAgICAgICAgLyogVXBkYXRlIHRoZSBOQU5EIGNvbnRyb2xsZXIgc3RhdGUgKi8KKyAgICAgICAgICBobmFuZC0+U3RhdGUgPSBIQUxfTkFORF9TVEFURV9FUlJPUjsKKworICAgICAgICAgIC8qIFByb2Nlc3MgdW5sb2NrZWQgKi8KKyAgICAgICAgICBfX0hBTF9VTkxPQ0soaG5hbmQpOworCisgICAgICAgICAgcmV0dXJuIEhBTF9USU1FT1VUOworICAgICAgICB9CisgICAgICB9CisKKyAgICAgIC8qIEluY3JlbWVudCB3cml0dGVuIHBhZ2VzIG51bWJlciAqLworICAgICAgbnVtcGFnZXN3cml0dGVuKys7CisKKyAgICAgIC8qIERlY3JlbWVudCBwYWdlcyB0byB3cml0ZSAqLworICAgICAgbmJwYWdlcy0tOworCisgICAgICAvKiBJbmNyZW1lbnQgdGhlIE5BTkQgYWRkcmVzcyAqLworICAgICAgbmFuZGFkZHJlc3MgPSAodWludDMyX3QpKG5hbmRhZGRyZXNzICsgMVUpOworICAgIH0KKworICAgIC8qIFVwZGF0ZSB0aGUgTkFORCBjb250cm9sbGVyIHN0YXRlICovCisgICAgaG5hbmQtPlN0YXRlID0gSEFMX05BTkRfU1RBVEVfUkVBRFk7CisKKyAgICAvKiBQcm9jZXNzIHVubG9ja2VkICovCisgICAgX19IQUxfVU5MT0NLKGhuYW5kKTsKICAgfQotICAKLSAgLyogVXBkYXRlIHRoZSBOQU5EIGNvbnRyb2xsZXIgc3RhdGUgKi8gCi0gIGhuYW5kLT5TdGF0ZSA9IEhBTF9OQU5EX1NUQVRFX1JFQURZOwotICAKLSAgLyogUHJvY2VzcyB1bmxvY2tlZCAqLwotICBfX0hBTF9VTkxPQ0soaG5hbmQpOyAgICAgIAotICAKKyAgZWxzZQorICB7CisgICAgcmV0dXJuIEhBTF9FUlJPUjsKKyAgfQorCiAgIHJldHVybiBIQUxfT0s7CiB9CiAKIC8qKgotICAqIEBicmllZiAgUmVhZCBTcGFyZSBhcmVhKHMpIGZyb20gTkFORCBtZW1vcnkgCisgICogQGJyaWVmICBSZWFkIFNwYXJlIGFyZWEocykgZnJvbSBOQU5EIG1lbW9yeSAoOC1iaXRzIGFkZHJlc3NpbmcpCiAgICogQHBhcmFtICBobmFuZCBwb2ludGVyIHRvIGEgTkFORF9IYW5kbGVUeXBlRGVmIHN0cnVjdHVyZSB0aGF0IGNvbnRhaW5zCiAgICogICAgICAgICAgICAgICAgdGhlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gZm9yIE5BTkQgbW9kdWxlLgogICAqIEBwYXJhbSAgcEFkZHJlc3MgIHBvaW50ZXIgdG8gTkFORCBhZGRyZXNzIHN0cnVjdHVyZQotICAqIEBwYXJhbSAgcEJ1ZmZlciBwb2ludGVyIHRvIHNvdXJjZSBidWZmZXIgdG8gd3JpdGUgIAotICAqIEBwYXJhbSAgTnVtU3BhcmVBcmVhVG9SZWFkIE51bWJlciBvZiBzcGFyZSBhcmVhIHRvIHJlYWQgIAorICAqIEBwYXJhbSAgcEJ1ZmZlciBwb2ludGVyIHRvIHNvdXJjZSBidWZmZXIgdG8gd3JpdGUKKyAgKiBAcGFyYW0gIE51bVNwYXJlQXJlYVRvUmVhZCBOdW1iZXIgb2Ygc3BhcmUgYXJlYSB0byByZWFkCiAgICogQHJldHZhbCBIQUwgc3RhdHVzCi0qLwotSEFMX1N0YXR1c1R5cGVEZWYgSEFMX05BTkRfUmVhZF9TcGFyZUFyZWFfOGIoTkFORF9IYW5kbGVUeXBlRGVmICpobmFuZCwgTkFORF9BZGRyZXNzVHlwZURlZiAqcEFkZHJlc3MsIHVpbnQ4X3QgKnBCdWZmZXIsIHVpbnQzMl90IE51bVNwYXJlQXJlYVRvUmVhZCkKKyAgKi8KK0hBTF9TdGF0dXNUeXBlRGVmIEhBTF9OQU5EX1JlYWRfU3BhcmVBcmVhXzhiKE5BTkRfSGFuZGxlVHlwZURlZiAqaG5hbmQsIE5BTkRfQWRkcmVzc1R5cGVEZWYgKnBBZGRyZXNzLCB1aW50OF90ICpwQnVmZmVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgTnVtU3BhcmVBcmVhVG9SZWFkKQogewotICBfX0lPIHVpbnQzMl90IGluZGV4ID0gMFU7Ci0gIHVpbnQzMl90IHRpY2tzdGFydCA9IDBVOwotICB1aW50MzJfdCBkZXZpY2VhZGRyZXNzID0gMFUsIHNpemUgPSAwVSwgbnVtU3BhcmVBcmVhUmVhZCA9IDBVLCBuYW5kYWRkcmVzcyA9IDBVLCBjb2x1bW5hZGRyZXNzID0gMFU7Ci0gIAotICAvKiBQcm9jZXNzIExvY2tlZCAqLwotICBfX0hBTF9MT0NLKGhuYW5kKTsgIAotICAKKyAgdWludDMyX3QgaW5kZXg7CisgIHVpbnQzMl90IHRpY2tzdGFydDsKKyAgdWludDMyX3QgZGV2aWNlYWRkcmVzczsKKyAgdWludDMyX3QgbnVtc3BhcmVhcmVhcmVhZCA9IDBVOworICB1aW50MzJfdCBuYW5kYWRkcmVzczsKKyAgdWludDMyX3QgY29sdW1uYWRkcmVzczsKKyAgdWludDMyX3QgbmJzcGFyZSA9IE51bVNwYXJlQXJlYVRvUmVhZDsKKyAgdWludDhfdCAqYnVmZiA9IHBCdWZmZXI7CisKICAgLyogQ2hlY2sgdGhlIE5BTkQgY29udHJvbGxlciBzdGF0ZSAqLwotICBpZihobmFuZC0+U3RhdGUgPT0gSEFMX05BTkRfU1RBVEVfQlVTWSkKKyAgaWYgKGhuYW5kLT5TdGF0ZSA9PSBIQUxfTkFORF9TVEFURV9CVVNZKQogICB7Ci0gICAgIHJldHVybiBIQUxfQlVTWTsKKyAgICByZXR1cm4gSEFMX0JVU1k7CiAgIH0KLSAgCi0gIC8qIElkZW50aWZ5IHRoZSBkZXZpY2UgYWRkcmVzcyAqLwotICBpZihobmFuZC0+SW5pdC5OYW5kQmFuayA9PSBGTUNfTkFORF9CQU5LMikKKyAgZWxzZSBpZiAoaG5hbmQtPlN0YXRlID09IEhBTF9OQU5EX1NUQVRFX1JFQURZKQogICB7Ci0gICAgZGV2aWNlYWRkcmVzcyA9IE5BTkRfREVWSUNFMTsKKyAgICAvKiBQcm9jZXNzIExvY2tlZCAqLworICAgIF9fSEFMX0xPQ0soaG5hbmQpOworCisgICAgLyogVXBkYXRlIHRoZSBOQU5EIGNvbnRyb2xsZXIgc3RhdGUgKi8KKyAgICBobmFuZC0+U3RhdGUgPSBIQUxfTkFORF9TVEFURV9CVVNZOworCisgICAgLyogSWRlbnRpZnkgdGhlIGRldmljZSBhZGRyZXNzICovCisjaWYgZGVmaW5lZChGTUNfQmFuazJfMykKKyAgICBpZiAoaG5hbmQtPkluaXQuTmFuZEJhbmsgPT0gRk1DX05BTkRfQkFOSzIpCisgICAgeworICAgICAgZGV2aWNlYWRkcmVzcyA9IE5BTkRfREVWSUNFMTsKKyAgICB9CisgICAgZWxzZQorICAgIHsKKyAgICAgIGRldmljZWFkZHJlc3MgPSBOQU5EX0RFVklDRTI7CisgICAgfQorI2Vsc2UKKyAgICBkZXZpY2VhZGRyZXNzID0gTkFORF9ERVZJQ0U7CisjZW5kaWYKKworICAgIC8qIE5BTkQgcmF3IGFkZHJlc3MgY2FsY3VsYXRpb24gKi8KKyAgICBuYW5kYWRkcmVzcyA9IEFSUkFZX0FERFJFU1MocEFkZHJlc3MsIGhuYW5kKTsKKworICAgIC8qIENvbHVtbiBpbiBwYWdlIGFkZHJlc3MgKi8KKyAgICBjb2x1bW5hZGRyZXNzID0gQ09MVU1OX0FERFJFU1MoaG5hbmQpOworCisgICAgLyogU3BhcmUgYXJlYShzKSByZWFkIGxvb3AgKi8KKyAgICB3aGlsZSAoKG5ic3BhcmUgIT0gMFUpICYmIChuYW5kYWRkcmVzcyA8ICgoaG5hbmQtPkNvbmZpZy5CbG9ja1NpemUpICogKGhuYW5kLT5Db25maWcuQmxvY2tOYnIpKSkpCisgICAgeworICAgICAgLyogQ2FyZHMgd2l0aCBwYWdlIHNpemUgPD0gNTEyIGJ5dGVzICovCisgICAgICBpZiAoKGhuYW5kLT5Db25maWcuUGFnZVNpemUpIDw9IDUxMlUpCisgICAgICB7CisgICAgICAgIC8qIFNlbmQgcmVhZCBzcGFyZSBhcmVhIGNvbW1hbmQgc2VxdWVuY2UgKi8KKyAgICAgICAgKihfX0lPIHVpbnQ4X3QgKikoKHVpbnQzMl90KShkZXZpY2VhZGRyZXNzIHwgQ01EX0FSRUEpKSA9IE5BTkRfQ01EX0FSRUFfQzsKKyAgICAgICAgX19EU0IoKTsKKworICAgICAgICBpZiAoKChobmFuZC0+Q29uZmlnLkJsb2NrU2l6ZSkgKiAoaG5hbmQtPkNvbmZpZy5CbG9ja05icikpIDw9IDY1NTM1VSkKKyAgICAgICAgeworICAgICAgICAgICooX19JTyB1aW50OF90ICopKCh1aW50MzJfdCkoZGV2aWNlYWRkcmVzcyB8IEFERFJfQVJFQSkpID0gMHgwMFU7CisgICAgICAgICAgX19EU0IoKTsKKyAgICAgICAgICAqKF9fSU8gdWludDhfdCAqKSgodWludDMyX3QpKGRldmljZWFkZHJlc3MgfCBBRERSX0FSRUEpKSA9IEFERFJfMVNUX0NZQ0xFKG5hbmRhZGRyZXNzKTsKKyAgICAgICAgICBfX0RTQigpOworICAgICAgICAgICooX19JTyB1aW50OF90ICopKCh1aW50MzJfdCkoZGV2aWNlYWRkcmVzcyB8IEFERFJfQVJFQSkpID0gQUREUl8yTkRfQ1lDTEUobmFuZGFkZHJlc3MpOworICAgICAgICAgIF9fRFNCKCk7CisgICAgICAgIH0KKyAgICAgICAgZWxzZSAvKiAoKGhuYW5kLT5Db25maWcuQmxvY2tTaXplKSooaG5hbmQtPkNvbmZpZy5CbG9ja05icikpID4gNjU1MzUgKi8KKyAgICAgICAgeworICAgICAgICAgICooX19JTyB1aW50OF90ICopKCh1aW50MzJfdCkoZGV2aWNlYWRkcmVzcyB8IEFERFJfQVJFQSkpID0gMHgwMFU7CisgICAgICAgICAgX19EU0IoKTsKKyAgICAgICAgICAqKF9fSU8gdWludDhfdCAqKSgodWludDMyX3QpKGRldmljZWFkZHJlc3MgfCBBRERSX0FSRUEpKSA9IEFERFJfMVNUX0NZQ0xFKG5hbmRhZGRyZXNzKTsKKyAgICAgICAgICBfX0RTQigpOworICAgICAgICAgICooX19JTyB1aW50OF90ICopKCh1aW50MzJfdCkoZGV2aWNlYWRkcmVzcyB8IEFERFJfQVJFQSkpID0gQUREUl8yTkRfQ1lDTEUobmFuZGFkZHJlc3MpOworICAgICAgICAgIF9fRFNCKCk7CisgICAgICAgICAgKihfX0lPIHVpbnQ4X3QgKikoKHVpbnQzMl90KShkZXZpY2VhZGRyZXNzIHwgQUREUl9BUkVBKSkgPSBBRERSXzNSRF9DWUNMRShuYW5kYWRkcmVzcyk7CisgICAgICAgICAgX19EU0IoKTsKKyAgICAgICAgfQorICAgICAgfQorICAgICAgZWxzZSAvKiAoaG5hbmQtPkNvbmZpZy5QYWdlU2l6ZSkgPiA1MTIgKi8KKyAgICAgIHsKKyAgICAgICAgLyogU2VuZCByZWFkIHNwYXJlIGFyZWEgY29tbWFuZCBzZXF1ZW5jZSAqLworICAgICAgICAqKF9fSU8gdWludDhfdCAqKSgodWludDMyX3QpKGRldmljZWFkZHJlc3MgfCBDTURfQVJFQSkpID0gTkFORF9DTURfQVJFQV9BOworICAgICAgICBfX0RTQigpOworCisgICAgICAgIGlmICgoKGhuYW5kLT5Db25maWcuQmxvY2tTaXplKSAqIChobmFuZC0+Q29uZmlnLkJsb2NrTmJyKSkgPD0gNjU1MzVVKQorICAgICAgICB7CisgICAgICAgICAgKihfX0lPIHVpbnQ4X3QgKikoKHVpbnQzMl90KShkZXZpY2VhZGRyZXNzIHwgQUREUl9BUkVBKSkgPSBDT0xVTU5fMVNUX0NZQ0xFKGNvbHVtbmFkZHJlc3MpOworICAgICAgICAgIF9fRFNCKCk7CisgICAgICAgICAgKihfX0lPIHVpbnQ4X3QgKikoKHVpbnQzMl90KShkZXZpY2VhZGRyZXNzIHwgQUREUl9BUkVBKSkgPSBDT0xVTU5fMk5EX0NZQ0xFKGNvbHVtbmFkZHJlc3MpOworICAgICAgICAgIF9fRFNCKCk7CisgICAgICAgICAgKihfX0lPIHVpbnQ4X3QgKikoKHVpbnQzMl90KShkZXZpY2VhZGRyZXNzIHwgQUREUl9BUkVBKSkgPSBBRERSXzFTVF9DWUNMRShuYW5kYWRkcmVzcyk7CisgICAgICAgICAgX19EU0IoKTsKKyAgICAgICAgICAqKF9fSU8gdWludDhfdCAqKSgodWludDMyX3QpKGRldmljZWFkZHJlc3MgfCBBRERSX0FSRUEpKSA9IEFERFJfMk5EX0NZQ0xFKG5hbmRhZGRyZXNzKTsKKyAgICAgICAgICBfX0RTQigpOworICAgICAgICB9CisgICAgICAgIGVsc2UgLyogKChobmFuZC0+Q29uZmlnLkJsb2NrU2l6ZSkqKGhuYW5kLT5Db25maWcuQmxvY2tOYnIpKSA+IDY1NTM1ICovCisgICAgICAgIHsKKyAgICAgICAgICAqKF9fSU8gdWludDhfdCAqKSgodWludDMyX3QpKGRldmljZWFkZHJlc3MgfCBBRERSX0FSRUEpKSA9IENPTFVNTl8xU1RfQ1lDTEUoY29sdW1uYWRkcmVzcyk7CisgICAgICAgICAgX19EU0IoKTsKKyAgICAgICAgICAqKF9fSU8gdWludDhfdCAqKSgodWludDMyX3QpKGRldmljZWFkZHJlc3MgfCBBRERSX0FSRUEpKSA9IENPTFVNTl8yTkRfQ1lDTEUoY29sdW1uYWRkcmVzcyk7CisgICAgICAgICAgX19EU0IoKTsKKyAgICAgICAgICAqKF9fSU8gdWludDhfdCAqKSgodWludDMyX3QpKGRldmljZWFkZHJlc3MgfCBBRERSX0FSRUEpKSA9IEFERFJfMVNUX0NZQ0xFKG5hbmRhZGRyZXNzKTsKKyAgICAgICAgICBfX0RTQigpOworICAgICAgICAgICooX19JTyB1aW50OF90ICopKCh1aW50MzJfdCkoZGV2aWNlYWRkcmVzcyB8IEFERFJfQVJFQSkpID0gQUREUl8yTkRfQ1lDTEUobmFuZGFkZHJlc3MpOworICAgICAgICAgIF9fRFNCKCk7CisgICAgICAgICAgKihfX0lPIHVpbnQ4X3QgKikoKHVpbnQzMl90KShkZXZpY2VhZGRyZXNzIHwgQUREUl9BUkVBKSkgPSBBRERSXzNSRF9DWUNMRShuYW5kYWRkcmVzcyk7CisgICAgICAgICAgX19EU0IoKTsKKyAgICAgICAgfQorICAgICAgfQorCisgICAgICAqKF9fSU8gdWludDhfdCAqKSgodWludDMyX3QpKGRldmljZWFkZHJlc3MgfCBDTURfQVJFQSkpID0gTkFORF9DTURfQVJFQV9UUlVFMTsKKyAgICAgIF9fRFNCKCk7CisKKyAgICAgIGlmIChobmFuZC0+Q29uZmlnLkV4dHJhQ29tbWFuZEVuYWJsZSA9PSBFTkFCTEUpCisgICAgICB7CisgICAgICAgIC8qIEdldCB0aWNrICovCisgICAgICAgIHRpY2tzdGFydCA9IEhBTF9HZXRUaWNrKCk7CisKKyAgICAgICAgLyogUmVhZCBzdGF0dXMgdW50aWwgTkFORCBpcyByZWFkeSAqLworICAgICAgICB3aGlsZSAoSEFMX05BTkRfUmVhZF9TdGF0dXMoaG5hbmQpICE9IE5BTkRfUkVBRFkpCisgICAgICAgIHsKKyAgICAgICAgICBpZiAoKEhBTF9HZXRUaWNrKCkgLSB0aWNrc3RhcnQpID4gTkFORF9XUklURV9USU1FT1VUKQorICAgICAgICAgIHsKKyAgICAgICAgICAgIC8qIFVwZGF0ZSB0aGUgTkFORCBjb250cm9sbGVyIHN0YXRlICovCisgICAgICAgICAgICBobmFuZC0+U3RhdGUgPSBIQUxfTkFORF9TVEFURV9FUlJPUjsKKworICAgICAgICAgICAgLyogUHJvY2VzcyB1bmxvY2tlZCAqLworICAgICAgICAgICAgX19IQUxfVU5MT0NLKGhuYW5kKTsKKworICAgICAgICAgICAgcmV0dXJuIEhBTF9USU1FT1VUOworICAgICAgICAgIH0KKyAgICAgICAgfQorCisgICAgICAgIC8qIEdvIGJhY2sgdG8gcmVhZCBtb2RlICovCisgICAgICAgICooX19JTyB1aW50OF90ICopKCh1aW50MzJfdCkoZGV2aWNlYWRkcmVzcyB8IENNRF9BUkVBKSkgPSAoKHVpbnQ4X3QpMHgwMCk7CisgICAgICAgIF9fRFNCKCk7CisgICAgICB9CisKKyAgICAgIC8qIEdldCBEYXRhIGludG8gQnVmZmVyICovCisgICAgICBmb3IgKGluZGV4ID0gMFU7IGluZGV4IDwgaG5hbmQtPkNvbmZpZy5TcGFyZUFyZWFTaXplOyBpbmRleCsrKQorICAgICAgeworICAgICAgICAqYnVmZiA9ICoodWludDhfdCAqKWRldmljZWFkZHJlc3M7CisgICAgICAgIGJ1ZmYrKzsKKyAgICAgIH0KKworICAgICAgLyogSW5jcmVtZW50IHJlYWQgc3BhcmUgYXJlYXMgbnVtYmVyICovCisgICAgICBudW1zcGFyZWFyZWFyZWFkKys7CisKKyAgICAgIC8qIERlY3JlbWVudCBzcGFyZSBhcmVhcyB0byByZWFkICovCisgICAgICBuYnNwYXJlLS07CisKKyAgICAgIC8qIEluY3JlbWVudCB0aGUgTkFORCBhZGRyZXNzICovCisgICAgICBuYW5kYWRkcmVzcyA9ICh1aW50MzJfdCkobmFuZGFkZHJlc3MgKyAxVSk7CisgICAgfQorCisgICAgLyogVXBkYXRlIHRoZSBOQU5EIGNvbnRyb2xsZXIgc3RhdGUgKi8KKyAgICBobmFuZC0+U3RhdGUgPSBIQUxfTkFORF9TVEFURV9SRUFEWTsKKworICAgIC8qIFByb2Nlc3MgdW5sb2NrZWQgKi8KKyAgICBfX0hBTF9VTkxPQ0soaG5hbmQpOwogICB9CiAgIGVsc2UKICAgewotICAgIGRldmljZWFkZHJlc3MgPSBOQU5EX0RFVklDRTI7CisgICAgcmV0dXJuIEhBTF9FUlJPUjsKICAgfQotICAKLSAgLyogVXBkYXRlIHRoZSBOQU5EIGNvbnRyb2xsZXIgc3RhdGUgKi8KLSAgaG5hbmQtPlN0YXRlID0gSEFMX05BTkRfU1RBVEVfQlVTWTsKLSAgCi0gIC8qIE5BTkQgcmF3IGFkZHJlc3MgY2FsY3VsYXRpb24gKi8KLSAgbmFuZGFkZHJlc3MgPSBBUlJBWV9BRERSRVNTKHBBZGRyZXNzLCBobmFuZCk7Ci0gIAotICAvKiBDb2x1bW4gaW4gcGFnZSBhZGRyZXNzICovCi0gIGNvbHVtbmFkZHJlc3MgPSBDT0xVTU5fQUREUkVTUyhobmFuZCk7Ci0gIAotICAvKiBTcGFyZSBhcmVhKHMpIHJlYWQgbG9vcCAqLyAKLSAgd2hpbGUoKE51bVNwYXJlQXJlYVRvUmVhZCAhPSAwVSkgJiYgKG5hbmRhZGRyZXNzIDwgKChobmFuZC0+Q29uZmlnLkJsb2NrU2l6ZSkgKiAoaG5hbmQtPkNvbmZpZy5CbG9ja05icikpKSkKLSAgeyAgICAgCi0gICAgLyogdXBkYXRlIHRoZSBidWZmZXIgc2l6ZSAqLwotICAgIHNpemUgPSAoaG5hbmQtPkNvbmZpZy5TcGFyZUFyZWFTaXplKSArICgoaG5hbmQtPkNvbmZpZy5TcGFyZUFyZWFTaXplKSAqIG51bVNwYXJlQXJlYVJlYWQpOwogCi0gICAgLyogQ2FyZHMgd2l0aCBwYWdlIHNpemUgPD0gNTEyIGJ5dGVzICovCi0gICAgaWYoKGhuYW5kLT5Db25maWcuUGFnZVNpemUpIDw9IDUxMlUpCi0gICAgewotICAgICAgLyogU2VuZCByZWFkIHNwYXJlIGFyZWEgY29tbWFuZCBzZXF1ZW5jZSAqLyAgICAgCi0gICAgICAqKF9fSU8gdWludDhfdCAqKSgodWludDMyX3QpKGRldmljZWFkZHJlc3MgfCBDTURfQVJFQSkpID0gTkFORF9DTURfQVJFQV9DOwotICAgICAgCi0gICAgICBpZiAoKChobmFuZC0+Q29uZmlnLkJsb2NrU2l6ZSkqKGhuYW5kLT5Db25maWcuQmxvY2tOYnIpKSA8PSA2NTUzNVUpCi0gICAgICB7Ci0gICAgICAgICooX19JTyB1aW50OF90ICopKCh1aW50MzJfdCkoZGV2aWNlYWRkcmVzcyB8IEFERFJfQVJFQSkpID0gMHgwMDsKLSAgICAgICAgKihfX0lPIHVpbnQ4X3QgKikoKHVpbnQzMl90KShkZXZpY2VhZGRyZXNzIHwgQUREUl9BUkVBKSkgPSBBRERSXzFTVF9DWUNMRShuYW5kYWRkcmVzcyk7Ci0gICAgICAgICooX19JTyB1aW50OF90ICopKCh1aW50MzJfdCkoZGV2aWNlYWRkcmVzcyB8IEFERFJfQVJFQSkpID0gQUREUl8yTkRfQ1lDTEUobmFuZGFkZHJlc3MpOwotICAgICAgfQotICAgICAgZWxzZSAvKiAoKGhuYW5kLT5Db25maWcuQmxvY2tTaXplKSooaG5hbmQtPkNvbmZpZy5CbG9ja05icikpID4gNjU1MzUgKi8KLSAgICAgIHsKLSAgICAgICAgKihfX0lPIHVpbnQ4X3QgKikoKHVpbnQzMl90KShkZXZpY2VhZGRyZXNzIHwgQUREUl9BUkVBKSkgPSAweDAwOwotICAgICAgICAqKF9fSU8gdWludDhfdCAqKSgodWludDMyX3QpKGRldmljZWFkZHJlc3MgfCBBRERSX0FSRUEpKSA9IEFERFJfMVNUX0NZQ0xFKG5hbmRhZGRyZXNzKTsKLSAgICAgICAgKihfX0lPIHVpbnQ4X3QgKikoKHVpbnQzMl90KShkZXZpY2VhZGRyZXNzIHwgQUREUl9BUkVBKSkgPSBBRERSXzJORF9DWUNMRShuYW5kYWRkcmVzcyk7Ci0gICAgICAgICooX19JTyB1aW50OF90ICopKCh1aW50MzJfdCkoZGV2aWNlYWRkcmVzcyB8IEFERFJfQVJFQSkpID0gQUREUl8zUkRfQ1lDTEUobmFuZGFkZHJlc3MpOwotICAgICAgfQotICAgIH0KLSAgICBlbHNlIC8qIChobmFuZC0+Q29uZmlnLlBhZ2VTaXplKSA+IDUxMiAqLwotICAgIHsKLSAgICAgIC8qIFNlbmQgcmVhZCBzcGFyZSBhcmVhIGNvbW1hbmQgc2VxdWVuY2UgKi8gCi0gICAgICAqKF9fSU8gdWludDhfdCAqKSgodWludDMyX3QpKGRldmljZWFkZHJlc3MgfCBDTURfQVJFQSkpID0gTkFORF9DTURfQVJFQV9BOwotICAgICAgCi0gICAgICBpZiAoKChobmFuZC0+Q29uZmlnLkJsb2NrU2l6ZSkqKGhuYW5kLT5Db25maWcuQmxvY2tOYnIpKSA8PSA2NTUzNVUpCi0gICAgICB7Ci0gICAgICAgICooX19JTyB1aW50OF90ICopKCh1aW50MzJfdCkoZGV2aWNlYWRkcmVzcyB8IEFERFJfQVJFQSkpID0gQ09MVU1OXzFTVF9DWUNMRShjb2x1bW5hZGRyZXNzKTsKLSAgICAgICAgKihfX0lPIHVpbnQ4X3QgKikoKHVpbnQzMl90KShkZXZpY2VhZGRyZXNzIHwgQUREUl9BUkVBKSkgPSBDT0xVTU5fMk5EX0NZQ0xFKGNvbHVtbmFkZHJlc3MpOwotICAgICAgICAqKF9fSU8gdWludDhfdCAqKSgodWludDMyX3QpKGRldmljZWFkZHJlc3MgfCBBRERSX0FSRUEpKSA9IEFERFJfMVNUX0NZQ0xFKG5hbmRhZGRyZXNzKTsKLSAgICAgICAgKihfX0lPIHVpbnQ4X3QgKikoKHVpbnQzMl90KShkZXZpY2VhZGRyZXNzIHwgQUREUl9BUkVBKSkgPSBBRERSXzJORF9DWUNMRShuYW5kYWRkcmVzcyk7Ci0gICAgICB9Ci0gICAgICBlbHNlIC8qICgoaG5hbmQtPkNvbmZpZy5CbG9ja1NpemUpKihobmFuZC0+Q29uZmlnLkJsb2NrTmJyKSkgPiA2NTUzNSAqLwotICAgICAgewotICAgICAgICAqKF9fSU8gdWludDhfdCAqKSgodWludDMyX3QpKGRldmljZWFkZHJlc3MgfCBBRERSX0FSRUEpKSA9IENPTFVNTl8xU1RfQ1lDTEUoY29sdW1uYWRkcmVzcyk7Ci0gICAgICAgICooX19JTyB1aW50OF90ICopKCh1aW50MzJfdCkoZGV2aWNlYWRkcmVzcyB8IEFERFJfQVJFQSkpID0gQ09MVU1OXzJORF9DWUNMRShjb2x1bW5hZGRyZXNzKTsKLSAgICAgICAgKihfX0lPIHVpbnQ4X3QgKikoKHVpbnQzMl90KShkZXZpY2VhZGRyZXNzIHwgQUREUl9BUkVBKSkgPSBBRERSXzFTVF9DWUNMRShuYW5kYWRkcmVzcyk7Ci0gICAgICAgICooX19JTyB1aW50OF90ICopKCh1aW50MzJfdCkoZGV2aWNlYWRkcmVzcyB8IEFERFJfQVJFQSkpID0gQUREUl8yTkRfQ1lDTEUobmFuZGFkZHJlc3MpOwotICAgICAgICAqKF9fSU8gdWludDhfdCAqKSgodWludDMyX3QpKGRldmljZWFkZHJlc3MgfCBBRERSX0FSRUEpKSA9IEFERFJfM1JEX0NZQ0xFKG5hbmRhZGRyZXNzKTsKLSAgICAgIH0KLSAgICB9Ci0KLSAgICAqKF9fSU8gdWludDhfdCAqKSgodWludDMyX3QpKGRldmljZWFkZHJlc3MgfCBDTURfQVJFQSkpID0gTkFORF9DTURfQVJFQV9UUlVFMTsKLSAgICAKLSAgICBpZihobmFuZC0+Q29uZmlnLkV4dHJhQ29tbWFuZEVuYWJsZSA9PSBFTkFCTEUpCi0gICAgewotICAgICAgLyogR2V0IHRpY2sgKi8KLSAgICAgIHRpY2tzdGFydCA9IEhBTF9HZXRUaWNrKCk7Ci0gICAgICAKLSAgICAgIC8qIFJlYWQgc3RhdHVzIHVudGlsIE5BTkQgaXMgcmVhZHkgKi8KLSAgICAgIHdoaWxlKEhBTF9OQU5EX1JlYWRfU3RhdHVzKGhuYW5kKSAhPSBOQU5EX1JFQURZKQotICAgICAgewotICAgICAgICBpZigoSEFMX0dldFRpY2soKSAtIHRpY2tzdGFydCApID4gTkFORF9XUklURV9USU1FT1VUKQotICAgICAgICB7Ci0gICAgICAgICAgcmV0dXJuIEhBTF9USU1FT1VUOyAKLSAgICAgICAgfQotICAgICAgfQotICAgICAgCi0gICAgICAvKiBHbyBiYWNrIHRvIHJlYWQgbW9kZSAqLwotICAgICAgKihfX0lPIHVpbnQ4X3QgKikoKHVpbnQzMl90KShkZXZpY2VhZGRyZXNzIHwgQ01EX0FSRUEpKSA9ICgodWludDhfdCkweDAwKTsKLSAgICB9Ci0gICAgCi0gICAgLyogR2V0IERhdGEgaW50byBCdWZmZXIgKi8KLSAgICBmb3IoOyBpbmRleCA8IHNpemU7IGluZGV4KyspCi0gICAgewotICAgICAgKih1aW50OF90ICopcEJ1ZmZlcisrID0gKih1aW50OF90ICopZGV2aWNlYWRkcmVzczsKLSAgICB9Ci0gICAgCi0gICAgLyogSW5jcmVtZW50IHJlYWQgc3BhcmUgYXJlYXMgbnVtYmVyICovCi0gICAgbnVtU3BhcmVBcmVhUmVhZCsrOwotICAgIAotICAgIC8qIERlY3JlbWVudCBzcGFyZSBhcmVhcyB0byByZWFkICovCi0gICAgTnVtU3BhcmVBcmVhVG9SZWFkLS07Ci0gICAgCi0gICAgLyogSW5jcmVtZW50IHRoZSBOQU5EIGFkZHJlc3MgKi8KLSAgICBuYW5kYWRkcmVzcyA9ICh1aW50MzJfdCkobmFuZGFkZHJlc3MgKyAxVSk7Ci0gIH0KLSAgCi0gIC8qIFVwZGF0ZSB0aGUgTkFORCBjb250cm9sbGVyIHN0YXRlICovCi0gIGhuYW5kLT5TdGF0ZSA9IEhBTF9OQU5EX1NUQVRFX1JFQURZOwotICAKLSAgLyogUHJvY2VzcyB1bmxvY2tlZCAqLwotICBfX0hBTF9VTkxPQ0soaG5hbmQpOwotCi0gIHJldHVybiBIQUxfT0s7ICAKKyAgcmV0dXJuIEhBTF9PSzsKIH0KIAogLyoqCkBAIC0xMjE0LDI2NSArMTQyOSwzNDcgQEAKICAgKiAgICAgICAgICAgICAgICB0aGUgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbiBmb3IgTkFORCBtb2R1bGUuCiAgICogQHBhcmFtICBwQWRkcmVzcyAgcG9pbnRlciB0byBOQU5EIGFkZHJlc3Mgc3RydWN0dXJlCiAgICogQHBhcmFtICBwQnVmZmVyIHBvaW50ZXIgdG8gc291cmNlIGJ1ZmZlciB0byB3cml0ZS4gcEJ1ZmZlciBzaG91bGQgYmUgMTZiaXRzIGFsaWduZWQuCi0gICogQHBhcmFtICBOdW1TcGFyZUFyZWFUb1JlYWQgTnVtYmVyIG9mIHNwYXJlIGFyZWEgdG8gcmVhZCAgCisgICogQHBhcmFtICBOdW1TcGFyZUFyZWFUb1JlYWQgTnVtYmVyIG9mIHNwYXJlIGFyZWEgdG8gcmVhZAogICAqIEByZXR2YWwgSEFMIHN0YXR1cwotKi8KLUhBTF9TdGF0dXNUeXBlRGVmIEhBTF9OQU5EX1JlYWRfU3BhcmVBcmVhXzE2YihOQU5EX0hhbmRsZVR5cGVEZWYgKmhuYW5kLCBOQU5EX0FkZHJlc3NUeXBlRGVmICpwQWRkcmVzcywgdWludDE2X3QgKnBCdWZmZXIsIHVpbnQzMl90IE51bVNwYXJlQXJlYVRvUmVhZCkKKyAgKi8KK0hBTF9TdGF0dXNUeXBlRGVmIEhBTF9OQU5EX1JlYWRfU3BhcmVBcmVhXzE2YihOQU5EX0hhbmRsZVR5cGVEZWYgKmhuYW5kLCBOQU5EX0FkZHJlc3NUeXBlRGVmICpwQWRkcmVzcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MTZfdCAqcEJ1ZmZlciwgdWludDMyX3QgTnVtU3BhcmVBcmVhVG9SZWFkKQogewotICBfX0lPIHVpbnQzMl90IGluZGV4ID0gMFU7IAotICB1aW50MzJfdCB0aWNrc3RhcnQgPSAwVTsKLSAgdWludDMyX3QgZGV2aWNlYWRkcmVzcyA9IDBVLCBzaXplID0gMFUsIG51bVNwYXJlQXJlYVJlYWQgPSAwVSwgbmFuZGFkZHJlc3MgPSAwVSwgY29sdW1uYWRkcmVzcyA9IDBVOwotICAKLSAgLyogUHJvY2VzcyBMb2NrZWQgKi8KLSAgX19IQUxfTE9DSyhobmFuZCk7Ci0gIAorICB1aW50MzJfdCBpbmRleDsKKyAgdWludDMyX3QgdGlja3N0YXJ0OworICB1aW50MzJfdCBkZXZpY2VhZGRyZXNzOworICB1aW50MzJfdCBudW1zcGFyZWFyZWFyZWFkID0gMFU7CisgIHVpbnQzMl90IG5hbmRhZGRyZXNzOworICB1aW50MzJfdCBjb2x1bW5hZGRyZXNzOworICB1aW50MzJfdCBuYnNwYXJlID0gTnVtU3BhcmVBcmVhVG9SZWFkOworICB1aW50MTZfdCAqYnVmZiA9IHBCdWZmZXI7CisKICAgLyogQ2hlY2sgdGhlIE5BTkQgY29udHJvbGxlciBzdGF0ZSAqLwotICBpZihobmFuZC0+U3RhdGUgPT0gSEFMX05BTkRfU1RBVEVfQlVTWSkKKyAgaWYgKGhuYW5kLT5TdGF0ZSA9PSBIQUxfTkFORF9TVEFURV9CVVNZKQogICB7Ci0gICAgIHJldHVybiBIQUxfQlVTWTsKKyAgICByZXR1cm4gSEFMX0JVU1k7CiAgIH0KLSAgCi0gIC8qIElkZW50aWZ5IHRoZSBkZXZpY2UgYWRkcmVzcyAqLwotICBpZihobmFuZC0+SW5pdC5OYW5kQmFuayA9PSBGTUNfTkFORF9CQU5LMikKKyAgZWxzZSBpZiAoaG5hbmQtPlN0YXRlID09IEhBTF9OQU5EX1NUQVRFX1JFQURZKQogICB7Ci0gICAgZGV2aWNlYWRkcmVzcyA9IE5BTkRfREVWSUNFMTsKKyAgICAvKiBQcm9jZXNzIExvY2tlZCAqLworICAgIF9fSEFMX0xPQ0soaG5hbmQpOworCisgICAgLyogVXBkYXRlIHRoZSBOQU5EIGNvbnRyb2xsZXIgc3RhdGUgKi8KKyAgICBobmFuZC0+U3RhdGUgPSBIQUxfTkFORF9TVEFURV9CVVNZOworCisgICAgLyogSWRlbnRpZnkgdGhlIGRldmljZSBhZGRyZXNzICovCisjaWYgZGVmaW5lZChGTUNfQmFuazJfMykKKyAgICBpZiAoaG5hbmQtPkluaXQuTmFuZEJhbmsgPT0gRk1DX05BTkRfQkFOSzIpCisgICAgeworICAgICAgZGV2aWNlYWRkcmVzcyA9IE5BTkRfREVWSUNFMTsKKyAgICB9CisgICAgZWxzZQorICAgIHsKKyAgICAgIGRldmljZWFkZHJlc3MgPSBOQU5EX0RFVklDRTI7CisgICAgfQorI2Vsc2UKKyAgICBkZXZpY2VhZGRyZXNzID0gTkFORF9ERVZJQ0U7CisjZW5kaWYKKworICAgIC8qIE5BTkQgcmF3IGFkZHJlc3MgY2FsY3VsYXRpb24gKi8KKyAgICBuYW5kYWRkcmVzcyA9IEFSUkFZX0FERFJFU1MocEFkZHJlc3MsIGhuYW5kKTsKKworICAgIC8qIENvbHVtbiBpbiBwYWdlIGFkZHJlc3MgKi8KKyAgICBjb2x1bW5hZGRyZXNzID0gKHVpbnQzMl90KShDT0xVTU5fQUREUkVTUyhobmFuZCkpOworCisgICAgLyogU3BhcmUgYXJlYShzKSByZWFkIGxvb3AgKi8KKyAgICB3aGlsZSAoKG5ic3BhcmUgIT0gMFUpICYmIChuYW5kYWRkcmVzcyA8ICgoaG5hbmQtPkNvbmZpZy5CbG9ja1NpemUpICogKGhuYW5kLT5Db25maWcuQmxvY2tOYnIpKSkpCisgICAgeworICAgICAgLyogQ2FyZHMgd2l0aCBwYWdlIHNpemUgPD0gNTEyIGJ5dGVzICovCisgICAgICBpZiAoKGhuYW5kLT5Db25maWcuUGFnZVNpemUpIDw9IDUxMlUpCisgICAgICB7CisgICAgICAgIC8qIFNlbmQgcmVhZCBzcGFyZSBhcmVhIGNvbW1hbmQgc2VxdWVuY2UgKi8KKyAgICAgICAgKihfX0lPIHVpbnQ4X3QgKikoKHVpbnQzMl90KShkZXZpY2VhZGRyZXNzIHwgQ01EX0FSRUEpKSA9IE5BTkRfQ01EX0FSRUFfQzsKKyAgICAgICAgX19EU0IoKTsKKworICAgICAgICBpZiAoKChobmFuZC0+Q29uZmlnLkJsb2NrU2l6ZSkgKiAoaG5hbmQtPkNvbmZpZy5CbG9ja05icikpIDw9IDY1NTM1VSkKKyAgICAgICAgeworICAgICAgICAgICooX19JTyB1aW50OF90ICopKCh1aW50MzJfdCkoZGV2aWNlYWRkcmVzcyB8IEFERFJfQVJFQSkpID0gMHgwMFU7CisgICAgICAgICAgX19EU0IoKTsKKyAgICAgICAgICAqKF9fSU8gdWludDhfdCAqKSgodWludDMyX3QpKGRldmljZWFkZHJlc3MgfCBBRERSX0FSRUEpKSA9IEFERFJfMVNUX0NZQ0xFKG5hbmRhZGRyZXNzKTsKKyAgICAgICAgICBfX0RTQigpOworICAgICAgICAgICooX19JTyB1aW50OF90ICopKCh1aW50MzJfdCkoZGV2aWNlYWRkcmVzcyB8IEFERFJfQVJFQSkpID0gQUREUl8yTkRfQ1lDTEUobmFuZGFkZHJlc3MpOworICAgICAgICAgIF9fRFNCKCk7CisgICAgICAgIH0KKyAgICAgICAgZWxzZSAvKiAoKGhuYW5kLT5Db25maWcuQmxvY2tTaXplKSooaG5hbmQtPkNvbmZpZy5CbG9ja05icikpID4gNjU1MzUgKi8KKyAgICAgICAgeworICAgICAgICAgICooX19JTyB1aW50OF90ICopKCh1aW50MzJfdCkoZGV2aWNlYWRkcmVzcyB8IEFERFJfQVJFQSkpID0gMHgwMFU7CisgICAgICAgICAgX19EU0IoKTsKKyAgICAgICAgICAqKF9fSU8gdWludDhfdCAqKSgodWludDMyX3QpKGRldmljZWFkZHJlc3MgfCBBRERSX0FSRUEpKSA9IEFERFJfMVNUX0NZQ0xFKG5hbmRhZGRyZXNzKTsKKyAgICAgICAgICBfX0RTQigpOworICAgICAgICAgICooX19JTyB1aW50OF90ICopKCh1aW50MzJfdCkoZGV2aWNlYWRkcmVzcyB8IEFERFJfQVJFQSkpID0gQUREUl8yTkRfQ1lDTEUobmFuZGFkZHJlc3MpOworICAgICAgICAgIF9fRFNCKCk7CisgICAgICAgICAgKihfX0lPIHVpbnQ4X3QgKikoKHVpbnQzMl90KShkZXZpY2VhZGRyZXNzIHwgQUREUl9BUkVBKSkgPSBBRERSXzNSRF9DWUNMRShuYW5kYWRkcmVzcyk7CisgICAgICAgICAgX19EU0IoKTsKKyAgICAgICAgfQorICAgICAgfQorICAgICAgZWxzZSAvKiAoaG5hbmQtPkNvbmZpZy5QYWdlU2l6ZSkgPiA1MTIgKi8KKyAgICAgIHsKKyAgICAgICAgLyogU2VuZCByZWFkIHNwYXJlIGFyZWEgY29tbWFuZCBzZXF1ZW5jZSAqLworICAgICAgICAqKF9fSU8gdWludDhfdCAqKSgodWludDMyX3QpKGRldmljZWFkZHJlc3MgfCBDTURfQVJFQSkpID0gTkFORF9DTURfQVJFQV9BOworICAgICAgICBfX0RTQigpOworCisgICAgICAgIGlmICgoKGhuYW5kLT5Db25maWcuQmxvY2tTaXplKSAqIChobmFuZC0+Q29uZmlnLkJsb2NrTmJyKSkgPD0gNjU1MzVVKQorICAgICAgICB7CisgICAgICAgICAgKihfX0lPIHVpbnQ4X3QgKikoKHVpbnQzMl90KShkZXZpY2VhZGRyZXNzIHwgQUREUl9BUkVBKSkgPSBDT0xVTU5fMVNUX0NZQ0xFKGNvbHVtbmFkZHJlc3MpOworICAgICAgICAgIF9fRFNCKCk7CisgICAgICAgICAgKihfX0lPIHVpbnQ4X3QgKikoKHVpbnQzMl90KShkZXZpY2VhZGRyZXNzIHwgQUREUl9BUkVBKSkgPSBDT0xVTU5fMk5EX0NZQ0xFKGNvbHVtbmFkZHJlc3MpOworICAgICAgICAgIF9fRFNCKCk7CisgICAgICAgICAgKihfX0lPIHVpbnQ4X3QgKikoKHVpbnQzMl90KShkZXZpY2VhZGRyZXNzIHwgQUREUl9BUkVBKSkgPSBBRERSXzFTVF9DWUNMRShuYW5kYWRkcmVzcyk7CisgICAgICAgICAgX19EU0IoKTsKKyAgICAgICAgICAqKF9fSU8gdWludDhfdCAqKSgodWludDMyX3QpKGRldmljZWFkZHJlc3MgfCBBRERSX0FSRUEpKSA9IEFERFJfMk5EX0NZQ0xFKG5hbmRhZGRyZXNzKTsKKyAgICAgICAgICBfX0RTQigpOworICAgICAgICB9CisgICAgICAgIGVsc2UgLyogKChobmFuZC0+Q29uZmlnLkJsb2NrU2l6ZSkqKGhuYW5kLT5Db25maWcuQmxvY2tOYnIpKSA+IDY1NTM1ICovCisgICAgICAgIHsKKyAgICAgICAgICAqKF9fSU8gdWludDhfdCAqKSgodWludDMyX3QpKGRldmljZWFkZHJlc3MgfCBBRERSX0FSRUEpKSA9IENPTFVNTl8xU1RfQ1lDTEUoY29sdW1uYWRkcmVzcyk7CisgICAgICAgICAgX19EU0IoKTsKKyAgICAgICAgICAqKF9fSU8gdWludDhfdCAqKSgodWludDMyX3QpKGRldmljZWFkZHJlc3MgfCBBRERSX0FSRUEpKSA9IENPTFVNTl8yTkRfQ1lDTEUoY29sdW1uYWRkcmVzcyk7CisgICAgICAgICAgX19EU0IoKTsKKyAgICAgICAgICAqKF9fSU8gdWludDhfdCAqKSgodWludDMyX3QpKGRldmljZWFkZHJlc3MgfCBBRERSX0FSRUEpKSA9IEFERFJfMVNUX0NZQ0xFKG5hbmRhZGRyZXNzKTsKKyAgICAgICAgICBfX0RTQigpOworICAgICAgICAgICooX19JTyB1aW50OF90ICopKCh1aW50MzJfdCkoZGV2aWNlYWRkcmVzcyB8IEFERFJfQVJFQSkpID0gQUREUl8yTkRfQ1lDTEUobmFuZGFkZHJlc3MpOworICAgICAgICAgIF9fRFNCKCk7CisgICAgICAgICAgKihfX0lPIHVpbnQ4X3QgKikoKHVpbnQzMl90KShkZXZpY2VhZGRyZXNzIHwgQUREUl9BUkVBKSkgPSBBRERSXzNSRF9DWUNMRShuYW5kYWRkcmVzcyk7CisgICAgICAgICAgX19EU0IoKTsKKyAgICAgICAgfQorICAgICAgfQorCisgICAgICAqKF9fSU8gdWludDhfdCAqKSgodWludDMyX3QpKGRldmljZWFkZHJlc3MgfCBDTURfQVJFQSkpID0gTkFORF9DTURfQVJFQV9UUlVFMTsKKyAgICAgIF9fRFNCKCk7CisKKyAgICAgIGlmIChobmFuZC0+Q29uZmlnLkV4dHJhQ29tbWFuZEVuYWJsZSA9PSBFTkFCTEUpCisgICAgICB7CisgICAgICAgIC8qIEdldCB0aWNrICovCisgICAgICAgIHRpY2tzdGFydCA9IEhBTF9HZXRUaWNrKCk7CisKKyAgICAgICAgLyogUmVhZCBzdGF0dXMgdW50aWwgTkFORCBpcyByZWFkeSAqLworICAgICAgICB3aGlsZSAoSEFMX05BTkRfUmVhZF9TdGF0dXMoaG5hbmQpICE9IE5BTkRfUkVBRFkpCisgICAgICAgIHsKKyAgICAgICAgICBpZiAoKEhBTF9HZXRUaWNrKCkgLSB0aWNrc3RhcnQpID4gTkFORF9XUklURV9USU1FT1VUKQorICAgICAgICAgIHsKKyAgICAgICAgICAgIC8qIFVwZGF0ZSB0aGUgTkFORCBjb250cm9sbGVyIHN0YXRlICovCisgICAgICAgICAgICBobmFuZC0+U3RhdGUgPSBIQUxfTkFORF9TVEFURV9FUlJPUjsKKworICAgICAgICAgICAgLyogUHJvY2VzcyB1bmxvY2tlZCAqLworICAgICAgICAgICAgX19IQUxfVU5MT0NLKGhuYW5kKTsKKworICAgICAgICAgICAgcmV0dXJuIEhBTF9USU1FT1VUOworICAgICAgICAgIH0KKyAgICAgICAgfQorCisgICAgICAgIC8qIEdvIGJhY2sgdG8gcmVhZCBtb2RlICovCisgICAgICAgICooX19JTyB1aW50OF90ICopKCh1aW50MzJfdCkoZGV2aWNlYWRkcmVzcyB8IENNRF9BUkVBKSkgPSAoKHVpbnQ4X3QpMHgwMCk7CisgICAgICAgIF9fRFNCKCk7CisgICAgICB9CisKKyAgICAgIC8qIEdldCBEYXRhIGludG8gQnVmZmVyICovCisgICAgICBmb3IgKGluZGV4ID0gMFU7IGluZGV4IDwgaG5hbmQtPkNvbmZpZy5TcGFyZUFyZWFTaXplOyBpbmRleCsrKQorICAgICAgeworICAgICAgICAqYnVmZiA9ICoodWludDE2X3QgKilkZXZpY2VhZGRyZXNzOworICAgICAgICBidWZmKys7CisgICAgICB9CisKKyAgICAgIC8qIEluY3JlbWVudCByZWFkIHNwYXJlIGFyZWFzIG51bWJlciAqLworICAgICAgbnVtc3BhcmVhcmVhcmVhZCsrOworCisgICAgICAvKiBEZWNyZW1lbnQgc3BhcmUgYXJlYXMgdG8gcmVhZCAqLworICAgICAgbmJzcGFyZS0tOworCisgICAgICAvKiBJbmNyZW1lbnQgdGhlIE5BTkQgYWRkcmVzcyAqLworICAgICAgbmFuZGFkZHJlc3MgPSAodWludDMyX3QpKG5hbmRhZGRyZXNzICsgMVUpOworICAgIH0KKworICAgIC8qIFVwZGF0ZSB0aGUgTkFORCBjb250cm9sbGVyIHN0YXRlICovCisgICAgaG5hbmQtPlN0YXRlID0gSEFMX05BTkRfU1RBVEVfUkVBRFk7CisKKyAgICAvKiBQcm9jZXNzIHVubG9ja2VkICovCisgICAgX19IQUxfVU5MT0NLKGhuYW5kKTsKICAgfQogICBlbHNlCiAgIHsKLSAgICBkZXZpY2VhZGRyZXNzID0gTkFORF9ERVZJQ0UyOworICAgIHJldHVybiBIQUxfRVJST1I7CiAgIH0KLSAgCi0gIC8qIFVwZGF0ZSB0aGUgTkFORCBjb250cm9sbGVyIHN0YXRlICovCi0gIGhuYW5kLT5TdGF0ZSA9IEhBTF9OQU5EX1NUQVRFX0JVU1k7Ci0gIAotICAvKiBOQU5EIHJhdyBhZGRyZXNzIGNhbGN1bGF0aW9uICovCi0gIG5hbmRhZGRyZXNzID0gQVJSQVlfQUREUkVTUyhwQWRkcmVzcywgaG5hbmQpOwotICAKLSAgLyogQ29sdW1uIGluIHBhZ2UgYWRkcmVzcyAqLwotICBjb2x1bW5hZGRyZXNzID0gKHVpbnQzMl90KShDT0xVTU5fQUREUkVTUyhobmFuZCkpOwotICAKLSAgLyogU3BhcmUgYXJlYShzKSByZWFkIGxvb3AgKi8gCi0gIHdoaWxlKChOdW1TcGFyZUFyZWFUb1JlYWQgIT0gMFUpICYmIChuYW5kYWRkcmVzcyA8ICgoaG5hbmQtPkNvbmZpZy5CbG9ja1NpemUpICogKGhuYW5kLT5Db25maWcuQmxvY2tOYnIpKSkpCi0gIHsKLSAgICAvKiB1cGRhdGUgdGhlIGJ1ZmZlciBzaXplICovCi0gICAgc2l6ZSA9IChobmFuZC0+Q29uZmlnLlNwYXJlQXJlYVNpemUpICsgKChobmFuZC0+Q29uZmlnLlNwYXJlQXJlYVNpemUpICogbnVtU3BhcmVBcmVhUmVhZCk7CiAKLSAgICAvKiBDYXJkcyB3aXRoIHBhZ2Ugc2l6ZSA8PSA1MTIgYnl0ZXMgKi8KLSAgICBpZigoaG5hbmQtPkNvbmZpZy5QYWdlU2l6ZSkgPD0gNTEyVSkKLSAgICB7Ci0gICAgICAvKiBTZW5kIHJlYWQgc3BhcmUgYXJlYSBjb21tYW5kIHNlcXVlbmNlICovICAgICAKLSAgICAgICooX19JTyB1aW50OF90ICopKCh1aW50MzJfdCkoZGV2aWNlYWRkcmVzcyB8IENNRF9BUkVBKSkgPSBOQU5EX0NNRF9BUkVBX0M7Ci0gICAgICAKLSAgICAgIGlmICgoKGhuYW5kLT5Db25maWcuQmxvY2tTaXplKSooaG5hbmQtPkNvbmZpZy5CbG9ja05icikpIDw9IDY1NTM1VSkKLSAgICAgIHsKLSAgICAgICAgKihfX0lPIHVpbnQ4X3QgKikoKHVpbnQzMl90KShkZXZpY2VhZGRyZXNzIHwgQUREUl9BUkVBKSkgPSAweDAwOwotICAgICAgICAqKF9fSU8gdWludDhfdCAqKSgodWludDMyX3QpKGRldmljZWFkZHJlc3MgfCBBRERSX0FSRUEpKSA9IEFERFJfMVNUX0NZQ0xFKG5hbmRhZGRyZXNzKTsKLSAgICAgICAgKihfX0lPIHVpbnQ4X3QgKikoKHVpbnQzMl90KShkZXZpY2VhZGRyZXNzIHwgQUREUl9BUkVBKSkgPSBBRERSXzJORF9DWUNMRShuYW5kYWRkcmVzcyk7Ci0gICAgICB9Ci0gICAgICBlbHNlIC8qICgoaG5hbmQtPkNvbmZpZy5CbG9ja1NpemUpKihobmFuZC0+Q29uZmlnLkJsb2NrTmJyKSkgPiA2NTUzNSAqLwotICAgICAgewotICAgICAgICAqKF9fSU8gdWludDhfdCAqKSgodWludDMyX3QpKGRldmljZWFkZHJlc3MgfCBBRERSX0FSRUEpKSA9IDB4MDA7Ci0gICAgICAgICooX19JTyB1aW50OF90ICopKCh1aW50MzJfdCkoZGV2aWNlYWRkcmVzcyB8IEFERFJfQVJFQSkpID0gQUREUl8xU1RfQ1lDTEUobmFuZGFkZHJlc3MpOwotICAgICAgICAqKF9fSU8gdWludDhfdCAqKSgodWludDMyX3QpKGRldmljZWFkZHJlc3MgfCBBRERSX0FSRUEpKSA9IEFERFJfMk5EX0NZQ0xFKG5hbmRhZGRyZXNzKTsKLSAgICAgICAgKihfX0lPIHVpbnQ4X3QgKikoKHVpbnQzMl90KShkZXZpY2VhZGRyZXNzIHwgQUREUl9BUkVBKSkgPSBBRERSXzNSRF9DWUNMRShuYW5kYWRkcmVzcyk7Ci0gICAgICB9Ci0gICAgfQotICAgIGVsc2UgLyogKGhuYW5kLT5Db25maWcuUGFnZVNpemUpID4gNTEyICovCi0gICAgewotICAgICAgLyogU2VuZCByZWFkIHNwYXJlIGFyZWEgY29tbWFuZCBzZXF1ZW5jZSAqLyAgICAgCi0gICAgICAqKF9fSU8gdWludDhfdCAqKSgodWludDMyX3QpKGRldmljZWFkZHJlc3MgfCBDTURfQVJFQSkpID0gTkFORF9DTURfQVJFQV9BOwotICAgICAgCi0gICAgICBpZiAoKChobmFuZC0+Q29uZmlnLkJsb2NrU2l6ZSkqKGhuYW5kLT5Db25maWcuQmxvY2tOYnIpKSA8PSA2NTUzNVUpCi0gICAgICB7Ci0gICAgICAgICooX19JTyB1aW50OF90ICopKCh1aW50MzJfdCkoZGV2aWNlYWRkcmVzcyB8IEFERFJfQVJFQSkpID0gQ09MVU1OXzFTVF9DWUNMRShjb2x1bW5hZGRyZXNzKTsKLSAgICAgICAgKihfX0lPIHVpbnQ4X3QgKikoKHVpbnQzMl90KShkZXZpY2VhZGRyZXNzIHwgQUREUl9BUkVBKSkgPSBDT0xVTU5fMk5EX0NZQ0xFKGNvbHVtbmFkZHJlc3MpOwotICAgICAgICAqKF9fSU8gdWludDhfdCAqKSgodWludDMyX3QpKGRldmljZWFkZHJlc3MgfCBBRERSX0FSRUEpKSA9IEFERFJfMVNUX0NZQ0xFKG5hbmRhZGRyZXNzKTsKLSAgICAgICAgKihfX0lPIHVpbnQ4X3QgKikoKHVpbnQzMl90KShkZXZpY2VhZGRyZXNzIHwgQUREUl9BUkVBKSkgPSBBRERSXzJORF9DWUNMRShuYW5kYWRkcmVzcyk7Ci0gICAgICB9Ci0gICAgICBlbHNlIC8qICgoaG5hbmQtPkNvbmZpZy5CbG9ja1NpemUpKihobmFuZC0+Q29uZmlnLkJsb2NrTmJyKSkgPiA2NTUzNSAqLwotICAgICAgewotICAgICAgICAqKF9fSU8gdWludDhfdCAqKSgodWludDMyX3QpKGRldmljZWFkZHJlc3MgfCBBRERSX0FSRUEpKSA9IENPTFVNTl8xU1RfQ1lDTEUoY29sdW1uYWRkcmVzcyk7Ci0gICAgICAgICooX19JTyB1aW50OF90ICopKCh1aW50MzJfdCkoZGV2aWNlYWRkcmVzcyB8IEFERFJfQVJFQSkpID0gQ09MVU1OXzJORF9DWUNMRShjb2x1bW5hZGRyZXNzKTsKLSAgICAgICAgKihfX0lPIHVpbnQ4X3QgKikoKHVpbnQzMl90KShkZXZpY2VhZGRyZXNzIHwgQUREUl9BUkVBKSkgPSBBRERSXzFTVF9DWUNMRShuYW5kYWRkcmVzcyk7Ci0gICAgICAgICooX19JTyB1aW50OF90ICopKCh1aW50MzJfdCkoZGV2aWNlYWRkcmVzcyB8IEFERFJfQVJFQSkpID0gQUREUl8yTkRfQ1lDTEUobmFuZGFkZHJlc3MpOwotICAgICAgICAqKF9fSU8gdWludDhfdCAqKSgodWludDMyX3QpKGRldmljZWFkZHJlc3MgfCBBRERSX0FSRUEpKSA9IEFERFJfM1JEX0NZQ0xFKG5hbmRhZGRyZXNzKTsKLSAgICAgIH0KLSAgICB9Ci0KLSAgICAqKF9fSU8gdWludDhfdCAqKSgodWludDMyX3QpKGRldmljZWFkZHJlc3MgfCBDTURfQVJFQSkpID0gTkFORF9DTURfQVJFQV9UUlVFMTsKLQotICAgIGlmKGhuYW5kLT5Db25maWcuRXh0cmFDb21tYW5kRW5hYmxlID09IEVOQUJMRSkKLSAgICB7Ci0gICAgICAvKiBHZXQgdGljayAqLwotICAgICAgdGlja3N0YXJ0ID0gSEFMX0dldFRpY2soKTsKLSAgICAgIAotICAgICAgLyogUmVhZCBzdGF0dXMgdW50aWwgTkFORCBpcyByZWFkeSAqLwotICAgICAgd2hpbGUoSEFMX05BTkRfUmVhZF9TdGF0dXMoaG5hbmQpICE9IE5BTkRfUkVBRFkpCi0gICAgICB7Ci0gICAgICAgIGlmKChIQUxfR2V0VGljaygpIC0gdGlja3N0YXJ0ICkgPiBOQU5EX1dSSVRFX1RJTUVPVVQpCi0gICAgICAgIHsKLSAgICAgICAgICByZXR1cm4gSEFMX1RJTUVPVVQ7IAotICAgICAgICB9Ci0gICAgICB9Ci0gICAgICAKLSAgICAgIC8qIEdvIGJhY2sgdG8gcmVhZCBtb2RlICovCi0gICAgICAqKF9fSU8gdWludDhfdCAqKSgodWludDMyX3QpKGRldmljZWFkZHJlc3MgfCBDTURfQVJFQSkpID0gKCh1aW50OF90KTB4MDApOwotICAgIH0KLSAgICAKLSAgICAvKiBHZXQgRGF0YSBpbnRvIEJ1ZmZlciAqLwotICAgIGZvcig7IGluZGV4IDwgc2l6ZTsgaW5kZXgrKykKLSAgICB7Ci0gICAgICAqKHVpbnQxNl90ICopcEJ1ZmZlcisrID0gKih1aW50MTZfdCAqKWRldmljZWFkZHJlc3M7Ci0gICAgfQotICAgIAotICAgIC8qIEluY3JlbWVudCByZWFkIHNwYXJlIGFyZWFzIG51bWJlciAqLwotICAgIG51bVNwYXJlQXJlYVJlYWQrKzsKLSAgICAKLSAgICAvKiBEZWNyZW1lbnQgc3BhcmUgYXJlYXMgdG8gcmVhZCAqLwotICAgIE51bVNwYXJlQXJlYVRvUmVhZC0tOwotICAgIAotICAgIC8qIEluY3JlbWVudCB0aGUgTkFORCBhZGRyZXNzICovCi0gICAgbmFuZGFkZHJlc3MgPSAodWludDMyX3QpKG5hbmRhZGRyZXNzICsgMVUpOwotICB9Ci0gIAotICAvKiBVcGRhdGUgdGhlIE5BTkQgY29udHJvbGxlciBzdGF0ZSAqLwotICBobmFuZC0+U3RhdGUgPSBIQUxfTkFORF9TVEFURV9SRUFEWTsKLSAgCi0gIC8qIFByb2Nlc3MgdW5sb2NrZWQgKi8KLSAgX19IQUxfVU5MT0NLKGhuYW5kKTsgICAgIAotCi0gIHJldHVybiBIQUxfT0s7ICAKKyAgcmV0dXJuIEhBTF9PSzsKIH0KIAogLyoqCi0gICogQGJyaWVmICBXcml0ZSBTcGFyZSBhcmVhKHMpIHRvIE5BTkQgbWVtb3J5IAorICAqIEBicmllZiAgV3JpdGUgU3BhcmUgYXJlYShzKSB0byBOQU5EIG1lbW9yeSAoOC1iaXRzIGFkZHJlc3NpbmcpCiAgICogQHBhcmFtICBobmFuZCBwb2ludGVyIHRvIGEgTkFORF9IYW5kbGVUeXBlRGVmIHN0cnVjdHVyZSB0aGF0IGNvbnRhaW5zCiAgICogICAgICAgICAgICAgICAgdGhlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gZm9yIE5BTkQgbW9kdWxlLgogICAqIEBwYXJhbSAgcEFkZHJlc3MgIHBvaW50ZXIgdG8gTkFORCBhZGRyZXNzIHN0cnVjdHVyZQotICAqIEBwYXJhbSAgcEJ1ZmZlciAgcG9pbnRlciB0byBzb3VyY2UgYnVmZmVyIHRvIHdyaXRlICAKKyAgKiBAcGFyYW0gIHBCdWZmZXIgIHBvaW50ZXIgdG8gc291cmNlIGJ1ZmZlciB0byB3cml0ZQogICAqIEBwYXJhbSAgTnVtU3BhcmVBcmVhVG93cml0ZSAgIG51bWJlciBvZiBzcGFyZSBhcmVhcyB0byB3cml0ZSB0byBibG9jawogICAqIEByZXR2YWwgSEFMIHN0YXR1cwogICAqLwotSEFMX1N0YXR1c1R5cGVEZWYgSEFMX05BTkRfV3JpdGVfU3BhcmVBcmVhXzhiKE5BTkRfSGFuZGxlVHlwZURlZiAqaG5hbmQsIE5BTkRfQWRkcmVzc1R5cGVEZWYgKnBBZGRyZXNzLCB1aW50OF90ICpwQnVmZmVyLCB1aW50MzJfdCBOdW1TcGFyZUFyZWFUb3dyaXRlKQorSEFMX1N0YXR1c1R5cGVEZWYgSEFMX05BTkRfV3JpdGVfU3BhcmVBcmVhXzhiKE5BTkRfSGFuZGxlVHlwZURlZiAqaG5hbmQsIE5BTkRfQWRkcmVzc1R5cGVEZWYgKnBBZGRyZXNzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QgKnBCdWZmZXIsIHVpbnQzMl90IE51bVNwYXJlQXJlYVRvd3JpdGUpCiB7Ci0gIF9fSU8gdWludDMyX3QgaW5kZXggPSAwVTsKLSAgdWludDMyX3QgdGlja3N0YXJ0ID0gMFU7Ci0gIHVpbnQzMl90IGRldmljZWFkZHJlc3MgPSAwVSwgc2l6ZSA9IDBVLCBudW1TcGFyZUFyZWFXcml0dGVuID0gMFUsIG5hbmRhZGRyZXNzID0gMFUsIGNvbHVtbmFkZHJlc3MgPSAwVTsKKyAgdWludDMyX3QgaW5kZXg7CisgIHVpbnQzMl90IHRpY2tzdGFydDsKKyAgdWludDMyX3QgZGV2aWNlYWRkcmVzczsKKyAgdWludDMyX3QgbnVtc3BhcmVhcmVhd3JpdHRlbiA9IDBVOworICB1aW50MzJfdCBuYW5kYWRkcmVzczsKKyAgdWludDMyX3QgY29sdW1uYWRkcmVzczsKKyAgdWludDMyX3QgbmJzcGFyZSA9IE51bVNwYXJlQXJlYVRvd3JpdGU7CisgIHVpbnQ4X3QgKmJ1ZmYgPSBwQnVmZmVyOwogCi0gIC8qIFByb2Nlc3MgTG9ja2VkICovCi0gIF9fSEFMX0xPQ0soaG5hbmQpOyAKLSAgCiAgIC8qIENoZWNrIHRoZSBOQU5EIGNvbnRyb2xsZXIgc3RhdGUgKi8KLSAgaWYoaG5hbmQtPlN0YXRlID09IEhBTF9OQU5EX1NUQVRFX0JVU1kpCisgIGlmIChobmFuZC0+U3RhdGUgPT0gSEFMX05BTkRfU1RBVEVfQlVTWSkKICAgewotICAgICByZXR1cm4gSEFMX0JVU1k7CisgICAgcmV0dXJuIEhBTF9CVVNZOwogICB9Ci0gIAotICAvKiBJZGVudGlmeSB0aGUgZGV2aWNlIGFkZHJlc3MgKi8KLSAgaWYoaG5hbmQtPkluaXQuTmFuZEJhbmsgPT0gRk1DX05BTkRfQkFOSzIpCisgIGVsc2UgaWYgKGhuYW5kLT5TdGF0ZSA9PSBIQUxfTkFORF9TVEFURV9SRUFEWSkKICAgewotICAgIGRldmljZWFkZHJlc3MgPSBOQU5EX0RFVklDRTE7CisgICAgLyogUHJvY2VzcyBMb2NrZWQgKi8KKyAgICBfX0hBTF9MT0NLKGhuYW5kKTsKKworICAgIC8qIFVwZGF0ZSB0aGUgTkFORCBjb250cm9sbGVyIHN0YXRlICovCisgICAgaG5hbmQtPlN0YXRlID0gSEFMX05BTkRfU1RBVEVfQlVTWTsKKworICAgIC8qIElkZW50aWZ5IHRoZSBkZXZpY2UgYWRkcmVzcyAqLworI2lmIGRlZmluZWQoRk1DX0JhbmsyXzMpCisgICAgaWYgKGhuYW5kLT5Jbml0Lk5hbmRCYW5rID09IEZNQ19OQU5EX0JBTksyKQorICAgIHsKKyAgICAgIGRldmljZWFkZHJlc3MgPSBOQU5EX0RFVklDRTE7CisgICAgfQorICAgIGVsc2UKKyAgICB7CisgICAgICBkZXZpY2VhZGRyZXNzID0gTkFORF9ERVZJQ0UyOworICAgIH0KKyNlbHNlCisgICAgZGV2aWNlYWRkcmVzcyA9IE5BTkRfREVWSUNFOworI2VuZGlmCisKKyAgICAvKiBQYWdlIGFkZHJlc3MgY2FsY3VsYXRpb24gKi8KKyAgICBuYW5kYWRkcmVzcyA9IEFSUkFZX0FERFJFU1MocEFkZHJlc3MsIGhuYW5kKTsKKworICAgIC8qIENvbHVtbiBpbiBwYWdlIGFkZHJlc3MgKi8KKyAgICBjb2x1bW5hZGRyZXNzID0gQ09MVU1OX0FERFJFU1MoaG5hbmQpOworCisgICAgLyogU3BhcmUgYXJlYShzKSB3cml0ZSBsb29wICovCisgICAgd2hpbGUgKChuYnNwYXJlICE9IDBVKSAmJiAobmFuZGFkZHJlc3MgPCAoKGhuYW5kLT5Db25maWcuQmxvY2tTaXplKSAqIChobmFuZC0+Q29uZmlnLkJsb2NrTmJyKSkpKQorICAgIHsKKyAgICAgIC8qIENhcmRzIHdpdGggcGFnZSBzaXplIDw9IDUxMiBieXRlcyAqLworICAgICAgaWYgKChobmFuZC0+Q29uZmlnLlBhZ2VTaXplKSA8PSA1MTJVKQorICAgICAgeworICAgICAgICAvKiBTZW5kIHdyaXRlIFNwYXJlIGFyZWEgY29tbWFuZCBzZXF1ZW5jZSAqLworICAgICAgICAqKF9fSU8gdWludDhfdCAqKSgodWludDMyX3QpKGRldmljZWFkZHJlc3MgfCBDTURfQVJFQSkpID0gTkFORF9DTURfQVJFQV9DOworICAgICAgICBfX0RTQigpOworICAgICAgICAqKF9fSU8gdWludDhfdCAqKSgodWludDMyX3QpKGRldmljZWFkZHJlc3MgfCBDTURfQVJFQSkpID0gTkFORF9DTURfV1JJVEUwOworICAgICAgICBfX0RTQigpOworCisgICAgICAgIGlmICgoKGhuYW5kLT5Db25maWcuQmxvY2tTaXplKSAqIChobmFuZC0+Q29uZmlnLkJsb2NrTmJyKSkgPD0gNjU1MzVVKQorICAgICAgICB7CisgICAgICAgICAgKihfX0lPIHVpbnQ4X3QgKikoKHVpbnQzMl90KShkZXZpY2VhZGRyZXNzIHwgQUREUl9BUkVBKSkgPSAweDAwVTsKKyAgICAgICAgICBfX0RTQigpOworICAgICAgICAgICooX19JTyB1aW50OF90ICopKCh1aW50MzJfdCkoZGV2aWNlYWRkcmVzcyB8IEFERFJfQVJFQSkpID0gQUREUl8xU1RfQ1lDTEUobmFuZGFkZHJlc3MpOworICAgICAgICAgIF9fRFNCKCk7CisgICAgICAgICAgKihfX0lPIHVpbnQ4X3QgKikoKHVpbnQzMl90KShkZXZpY2VhZGRyZXNzIHwgQUREUl9BUkVBKSkgPSBBRERSXzJORF9DWUNMRShuYW5kYWRkcmVzcyk7CisgICAgICAgICAgX19EU0IoKTsKKyAgICAgICAgfQorICAgICAgICBlbHNlIC8qICgoaG5hbmQtPkNvbmZpZy5CbG9ja1NpemUpKihobmFuZC0+Q29uZmlnLkJsb2NrTmJyKSkgPiA2NTUzNSAqLworICAgICAgICB7CisgICAgICAgICAgKihfX0lPIHVpbnQ4X3QgKikoKHVpbnQzMl90KShkZXZpY2VhZGRyZXNzIHwgQUREUl9BUkVBKSkgPSAweDAwVTsKKyAgICAgICAgICBfX0RTQigpOworICAgICAgICAgICooX19JTyB1aW50OF90ICopKCh1aW50MzJfdCkoZGV2aWNlYWRkcmVzcyB8IEFERFJfQVJFQSkpID0gQUREUl8xU1RfQ1lDTEUobmFuZGFkZHJlc3MpOworICAgICAgICAgIF9fRFNCKCk7CisgICAgICAgICAgKihfX0lPIHVpbnQ4X3QgKikoKHVpbnQzMl90KShkZXZpY2VhZGRyZXNzIHwgQUREUl9BUkVBKSkgPSBBRERSXzJORF9DWUNMRShuYW5kYWRkcmVzcyk7CisgICAgICAgICAgX19EU0IoKTsKKyAgICAgICAgICAqKF9fSU8gdWludDhfdCAqKSgodWludDMyX3QpKGRldmljZWFkZHJlc3MgfCBBRERSX0FSRUEpKSA9IEFERFJfM1JEX0NZQ0xFKG5hbmRhZGRyZXNzKTsKKyAgICAgICAgICBfX0RTQigpOworICAgICAgICB9CisgICAgICB9CisgICAgICBlbHNlIC8qIChobmFuZC0+Q29uZmlnLlBhZ2VTaXplKSA+IDUxMiAqLworICAgICAgeworICAgICAgICAvKiBTZW5kIHdyaXRlIFNwYXJlIGFyZWEgY29tbWFuZCBzZXF1ZW5jZSAqLworICAgICAgICAqKF9fSU8gdWludDhfdCAqKSgodWludDMyX3QpKGRldmljZWFkZHJlc3MgfCBDTURfQVJFQSkpID0gTkFORF9DTURfQVJFQV9BOworICAgICAgICBfX0RTQigpOworICAgICAgICAqKF9fSU8gdWludDhfdCAqKSgodWludDMyX3QpKGRldmljZWFkZHJlc3MgfCBDTURfQVJFQSkpID0gTkFORF9DTURfV1JJVEUwOworICAgICAgICBfX0RTQigpOworCisgICAgICAgIGlmICgoKGhuYW5kLT5Db25maWcuQmxvY2tTaXplKSAqIChobmFuZC0+Q29uZmlnLkJsb2NrTmJyKSkgPD0gNjU1MzVVKQorICAgICAgICB7CisgICAgICAgICAgKihfX0lPIHVpbnQ4X3QgKikoKHVpbnQzMl90KShkZXZpY2VhZGRyZXNzIHwgQUREUl9BUkVBKSkgPSBDT0xVTU5fMVNUX0NZQ0xFKGNvbHVtbmFkZHJlc3MpOworICAgICAgICAgIF9fRFNCKCk7CisgICAgICAgICAgKihfX0lPIHVpbnQ4X3QgKikoKHVpbnQzMl90KShkZXZpY2VhZGRyZXNzIHwgQUREUl9BUkVBKSkgPSBDT0xVTU5fMk5EX0NZQ0xFKGNvbHVtbmFkZHJlc3MpOworICAgICAgICAgIF9fRFNCKCk7CisgICAgICAgICAgKihfX0lPIHVpbnQ4X3QgKikoKHVpbnQzMl90KShkZXZpY2VhZGRyZXNzIHwgQUREUl9BUkVBKSkgPSBBRERSXzFTVF9DWUNMRShuYW5kYWRkcmVzcyk7CisgICAgICAgICAgX19EU0IoKTsKKyAgICAgICAgICAqKF9fSU8gdWludDhfdCAqKSgodWludDMyX3QpKGRldmljZWFkZHJlc3MgfCBBRERSX0FSRUEpKSA9IEFERFJfMk5EX0NZQ0xFKG5hbmRhZGRyZXNzKTsKKyAgICAgICAgICBfX0RTQigpOworICAgICAgICB9CisgICAgICAgIGVsc2UgLyogKChobmFuZC0+Q29uZmlnLkJsb2NrU2l6ZSkqKGhuYW5kLT5Db25maWcuQmxvY2tOYnIpKSA+IDY1NTM1ICovCisgICAgICAgIHsKKyAgICAgICAgICAqKF9fSU8gdWludDhfdCAqKSgodWludDMyX3QpKGRldmljZWFkZHJlc3MgfCBBRERSX0FSRUEpKSA9IENPTFVNTl8xU1RfQ1lDTEUoY29sdW1uYWRkcmVzcyk7CisgICAgICAgICAgX19EU0IoKTsKKyAgICAgICAgICAqKF9fSU8gdWludDhfdCAqKSgodWludDMyX3QpKGRldmljZWFkZHJlc3MgfCBBRERSX0FSRUEpKSA9IENPTFVNTl8yTkRfQ1lDTEUoY29sdW1uYWRkcmVzcyk7CisgICAgICAgICAgX19EU0IoKTsKKyAgICAgICAgICAqKF9fSU8gdWludDhfdCAqKSgodWludDMyX3QpKGRldmljZWFkZHJlc3MgfCBBRERSX0FSRUEpKSA9IEFERFJfMVNUX0NZQ0xFKG5hbmRhZGRyZXNzKTsKKyAgICAgICAgICBfX0RTQigpOworICAgICAgICAgICooX19JTyB1aW50OF90ICopKCh1aW50MzJfdCkoZGV2aWNlYWRkcmVzcyB8IEFERFJfQVJFQSkpID0gQUREUl8yTkRfQ1lDTEUobmFuZGFkZHJlc3MpOworICAgICAgICAgIF9fRFNCKCk7CisgICAgICAgICAgKihfX0lPIHVpbnQ4X3QgKikoKHVpbnQzMl90KShkZXZpY2VhZGRyZXNzIHwgQUREUl9BUkVBKSkgPSBBRERSXzNSRF9DWUNMRShuYW5kYWRkcmVzcyk7CisgICAgICAgICAgX19EU0IoKTsKKyAgICAgICAgfQorICAgICAgfQorCisgICAgICAvKiBXcml0ZSBkYXRhIHRvIG1lbW9yeSAqLworICAgICAgZm9yIChpbmRleCA9IDBVOyBpbmRleCA8IGhuYW5kLT5Db25maWcuU3BhcmVBcmVhU2l6ZTsgaW5kZXgrKykKKyAgICAgIHsKKyAgICAgICAgKihfX0lPIHVpbnQ4X3QgKilkZXZpY2VhZGRyZXNzID0gKmJ1ZmY7CisgICAgICAgIGJ1ZmYrKzsKKyAgICAgICAgX19EU0IoKTsKKyAgICAgIH0KKworICAgICAgKihfX0lPIHVpbnQ4X3QgKikoKHVpbnQzMl90KShkZXZpY2VhZGRyZXNzIHwgQ01EX0FSRUEpKSA9IE5BTkRfQ01EX1dSSVRFX1RSVUUxOworICAgICAgX19EU0IoKTsKKworICAgICAgLyogR2V0IHRpY2sgKi8KKyAgICAgIHRpY2tzdGFydCA9IEhBTF9HZXRUaWNrKCk7CisKKyAgICAgIC8qIFJlYWQgc3RhdHVzIHVudGlsIE5BTkQgaXMgcmVhZHkgKi8KKyAgICAgIHdoaWxlIChIQUxfTkFORF9SZWFkX1N0YXR1cyhobmFuZCkgIT0gTkFORF9SRUFEWSkKKyAgICAgIHsKKyAgICAgICAgaWYgKChIQUxfR2V0VGljaygpIC0gdGlja3N0YXJ0KSA+IE5BTkRfV1JJVEVfVElNRU9VVCkKKyAgICAgICAgeworICAgICAgICAgIC8qIFVwZGF0ZSB0aGUgTkFORCBjb250cm9sbGVyIHN0YXRlICovCisgICAgICAgICAgaG5hbmQtPlN0YXRlID0gSEFMX05BTkRfU1RBVEVfRVJST1I7CisKKyAgICAgICAgICAvKiBQcm9jZXNzIHVubG9ja2VkICovCisgICAgICAgICAgX19IQUxfVU5MT0NLKGhuYW5kKTsKKworICAgICAgICAgIHJldHVybiBIQUxfVElNRU9VVDsKKyAgICAgICAgfQorICAgICAgfQorCisgICAgICAvKiBJbmNyZW1lbnQgd3JpdHRlbiBzcGFyZSBhcmVhcyBudW1iZXIgKi8KKyAgICAgIG51bXNwYXJlYXJlYXdyaXR0ZW4rKzsKKworICAgICAgLyogRGVjcmVtZW50IHNwYXJlIGFyZWFzIHRvIHdyaXRlICovCisgICAgICBuYnNwYXJlLS07CisKKyAgICAgIC8qIEluY3JlbWVudCB0aGUgTkFORCBhZGRyZXNzICovCisgICAgICBuYW5kYWRkcmVzcyA9ICh1aW50MzJfdCkobmFuZGFkZHJlc3MgKyAxVSk7CisgICAgfQorCisgICAgLyogVXBkYXRlIHRoZSBOQU5EIGNvbnRyb2xsZXIgc3RhdGUgKi8KKyAgICBobmFuZC0+U3RhdGUgPSBIQUxfTkFORF9TVEFURV9SRUFEWTsKKworICAgIC8qIFByb2Nlc3MgdW5sb2NrZWQgKi8KKyAgICBfX0hBTF9VTkxPQ0soaG5hbmQpOwogICB9CiAgIGVsc2UKICAgewotICAgIGRldmljZWFkZHJlc3MgPSBOQU5EX0RFVklDRTI7Ci0gIH0KLSAgCi0gIC8qIFVwZGF0ZSB0aGUgRk1DX05BTkQgY29udHJvbGxlciBzdGF0ZSAqLwotICBobmFuZC0+U3RhdGUgPSBIQUxfTkFORF9TVEFURV9CVVNZOyAgCi0gIAotICAvKiBQYWdlIGFkZHJlc3MgY2FsY3VsYXRpb24gKi8KLSAgbmFuZGFkZHJlc3MgPSBBUlJBWV9BRERSRVNTKHBBZGRyZXNzLCBobmFuZCk7IAotICAKLSAgLyogQ29sdW1uIGluIHBhZ2UgYWRkcmVzcyAqLwotICBjb2x1bW5hZGRyZXNzID0gQ09MVU1OX0FERFJFU1MoaG5hbmQpOwotICAKLSAgLyogU3BhcmUgYXJlYShzKSB3cml0ZSBsb29wICovCi0gIHdoaWxlKChOdW1TcGFyZUFyZWFUb3dyaXRlICE9IDBVKSAmJiAobmFuZGFkZHJlc3MgPCAoKGhuYW5kLT5Db25maWcuQmxvY2tTaXplKSAqIChobmFuZC0+Q29uZmlnLkJsb2NrTmJyKSkpKQotICB7Ci0gICAgLyogdXBkYXRlIHRoZSBidWZmZXIgc2l6ZSAqLwotICAgIHNpemUgPSAoaG5hbmQtPkNvbmZpZy5TcGFyZUFyZWFTaXplKSArICgoaG5hbmQtPkNvbmZpZy5TcGFyZUFyZWFTaXplKSAqIG51bVNwYXJlQXJlYVdyaXR0ZW4pOwotCi0gICAgLyogQ2FyZHMgd2l0aCBwYWdlIHNpemUgPD0gNTEyIGJ5dGVzICovCi0gICAgaWYoKGhuYW5kLT5Db25maWcuUGFnZVNpemUpIDw9IDUxMlUpCi0gICAgewotICAgICAgLyogU2VuZCB3cml0ZSBTcGFyZSBhcmVhIGNvbW1hbmQgc2VxdWVuY2UgKi8KLSAgICAgICooX19JTyB1aW50OF90ICopKCh1aW50MzJfdCkoZGV2aWNlYWRkcmVzcyB8IENNRF9BUkVBKSkgPSBOQU5EX0NNRF9BUkVBX0M7Ci0gICAgICAqKF9fSU8gdWludDhfdCAqKSgodWludDMyX3QpKGRldmljZWFkZHJlc3MgfCBDTURfQVJFQSkpID0gTkFORF9DTURfV1JJVEUwOwotICAgICAgCi0gICAgICBpZiAoKChobmFuZC0+Q29uZmlnLkJsb2NrU2l6ZSkqKGhuYW5kLT5Db25maWcuQmxvY2tOYnIpKSA8PSA2NTUzNVUpCi0gICAgICB7Ci0gICAgICAgICooX19JTyB1aW50OF90ICopKCh1aW50MzJfdCkoZGV2aWNlYWRkcmVzcyB8IEFERFJfQVJFQSkpID0gMHgwMDsKLSAgICAgICAgKihfX0lPIHVpbnQ4X3QgKikoKHVpbnQzMl90KShkZXZpY2VhZGRyZXNzIHwgQUREUl9BUkVBKSkgPSBBRERSXzFTVF9DWUNMRShuYW5kYWRkcmVzcyk7Ci0gICAgICAgICooX19JTyB1aW50OF90ICopKCh1aW50MzJfdCkoZGV2aWNlYWRkcmVzcyB8IEFERFJfQVJFQSkpID0gQUREUl8yTkRfQ1lDTEUobmFuZGFkZHJlc3MpOwotICAgICAgfQotICAgICAgZWxzZSAvKiAoKGhuYW5kLT5Db25maWcuQmxvY2tTaXplKSooaG5hbmQtPkNvbmZpZy5CbG9ja05icikpID4gNjU1MzUgKi8KLSAgICAgIHsKLSAgICAgICAgKihfX0lPIHVpbnQ4X3QgKikoKHVpbnQzMl90KShkZXZpY2VhZGRyZXNzIHwgQUREUl9BUkVBKSkgPSAweDAwOwotICAgICAgICAqKF9fSU8gdWludDhfdCAqKSgodWludDMyX3QpKGRldmljZWFkZHJlc3MgfCBBRERSX0FSRUEpKSA9IEFERFJfMVNUX0NZQ0xFKG5hbmRhZGRyZXNzKTsKLSAgICAgICAgKihfX0lPIHVpbnQ4X3QgKikoKHVpbnQzMl90KShkZXZpY2VhZGRyZXNzIHwgQUREUl9BUkVBKSkgPSBBRERSXzJORF9DWUNMRShuYW5kYWRkcmVzcyk7Ci0gICAgICAgICooX19JTyB1aW50OF90ICopKCh1aW50MzJfdCkoZGV2aWNlYWRkcmVzcyB8IEFERFJfQVJFQSkpID0gQUREUl8zUkRfQ1lDTEUobmFuZGFkZHJlc3MpOwotICAgICAgfQotICAgIH0KLSAgICBlbHNlIC8qIChobmFuZC0+Q29uZmlnLlBhZ2VTaXplKSA+IDUxMiAqLwotICAgIHsKLSAgICAgIC8qIFNlbmQgd3JpdGUgU3BhcmUgYXJlYSBjb21tYW5kIHNlcXVlbmNlICovCi0gICAgICAqKF9fSU8gdWludDhfdCAqKSgodWludDMyX3QpKGRldmljZWFkZHJlc3MgfCBDTURfQVJFQSkpID0gTkFORF9DTURfQVJFQV9BOwotICAgICAgKihfX0lPIHVpbnQ4X3QgKikoKHVpbnQzMl90KShkZXZpY2VhZGRyZXNzIHwgQ01EX0FSRUEpKSA9IE5BTkRfQ01EX1dSSVRFMDsKLSAgICAKLSAgICAgIGlmICgoKGhuYW5kLT5Db25maWcuQmxvY2tTaXplKSooaG5hbmQtPkNvbmZpZy5CbG9ja05icikpIDw9IDY1NTM1VSkKLSAgICAgIHsKLSAgICAgICAgKihfX0lPIHVpbnQ4X3QgKikoKHVpbnQzMl90KShkZXZpY2VhZGRyZXNzIHwgQUREUl9BUkVBKSkgPSBDT0xVTU5fMVNUX0NZQ0xFKGNvbHVtbmFkZHJlc3MpOwotICAgICAgICAqKF9fSU8gdWludDhfdCAqKSgodWludDMyX3QpKGRldmljZWFkZHJlc3MgfCBBRERSX0FSRUEpKSA9IENPTFVNTl8yTkRfQ1lDTEUoY29sdW1uYWRkcmVzcyk7Ci0gICAgICAgICooX19JTyB1aW50OF90ICopKCh1aW50MzJfdCkoZGV2aWNlYWRkcmVzcyB8IEFERFJfQVJFQSkpID0gQUREUl8xU1RfQ1lDTEUobmFuZGFkZHJlc3MpOwotICAgICAgICAqKF9fSU8gdWludDhfdCAqKSgodWludDMyX3QpKGRldmljZWFkZHJlc3MgfCBBRERSX0FSRUEpKSA9IEFERFJfMk5EX0NZQ0xFKG5hbmRhZGRyZXNzKTsKLSAgICAgIH0KLSAgICAgIGVsc2UgLyogKChobmFuZC0+Q29uZmlnLkJsb2NrU2l6ZSkqKGhuYW5kLT5Db25maWcuQmxvY2tOYnIpKSA+IDY1NTM1ICovCi0gICAgICB7Ci0gICAgICAgICooX19JTyB1aW50OF90ICopKCh1aW50MzJfdCkoZGV2aWNlYWRkcmVzcyB8IEFERFJfQVJFQSkpID0gQ09MVU1OXzFTVF9DWUNMRShjb2x1bW5hZGRyZXNzKTsKLSAgICAgICAgKihfX0lPIHVpbnQ4X3QgKikoKHVpbnQzMl90KShkZXZpY2VhZGRyZXNzIHwgQUREUl9BUkVBKSkgPSBDT0xVTU5fMk5EX0NZQ0xFKGNvbHVtbmFkZHJlc3MpOwotICAgICAgICAqKF9fSU8gdWludDhfdCAqKSgodWludDMyX3QpKGRldmljZWFkZHJlc3MgfCBBRERSX0FSRUEpKSA9IEFERFJfMVNUX0NZQ0xFKG5hbmRhZGRyZXNzKTsKLSAgICAgICAgKihfX0lPIHVpbnQ4X3QgKikoKHVpbnQzMl90KShkZXZpY2VhZGRyZXNzIHwgQUREUl9BUkVBKSkgPSBBRERSXzJORF9DWUNMRShuYW5kYWRkcmVzcyk7Ci0gICAgICAgICooX19JTyB1aW50OF90ICopKCh1aW50MzJfdCkoZGV2aWNlYWRkcmVzcyB8IEFERFJfQVJFQSkpID0gQUREUl8zUkRfQ1lDTEUobmFuZGFkZHJlc3MpOwotICAgICAgfQotICAgIH0KLSAgCi0gICAgLyogV3JpdGUgZGF0YSB0byBtZW1vcnkgKi8KLSAgICBmb3IoOyBpbmRleCA8IHNpemU7IGluZGV4KyspCi0gICAgewotICAgICAgKihfX0lPIHVpbnQ4X3QgKilkZXZpY2VhZGRyZXNzID0gKih1aW50OF90ICopcEJ1ZmZlcisrOwotICAgIH0KLSAgIAotICAgICooX19JTyB1aW50OF90ICopKCh1aW50MzJfdCkoZGV2aWNlYWRkcmVzcyB8IENNRF9BUkVBKSkgPSBOQU5EX0NNRF9XUklURV9UUlVFMTsKLSAgICAKLSAgICAvKiBHZXQgdGljayAqLwotICAgIHRpY2tzdGFydCA9IEhBTF9HZXRUaWNrKCk7Ci0gICAgCi0gICAgLyogUmVhZCBzdGF0dXMgdW50aWwgTkFORCBpcyByZWFkeSAqLwotICAgIHdoaWxlKEhBTF9OQU5EX1JlYWRfU3RhdHVzKGhuYW5kKSAhPSBOQU5EX1JFQURZKQotICAgIHsKLSAgICAgIGlmKChIQUxfR2V0VGljaygpIC0gdGlja3N0YXJ0ICkgPiBOQU5EX1dSSVRFX1RJTUVPVVQpCi0gICAgICB7Ci0gICAgICAgIHJldHVybiBIQUxfVElNRU9VVDsgCi0gICAgICB9Ci0gICAgfQotCi0gICAgLyogSW5jcmVtZW50IHdyaXR0ZW4gc3BhcmUgYXJlYXMgbnVtYmVyICovCi0gICAgbnVtU3BhcmVBcmVhV3JpdHRlbisrOwotICAgIAotICAgIC8qIERlY3JlbWVudCBzcGFyZSBhcmVhcyB0byB3cml0ZSAqLwotICAgIE51bVNwYXJlQXJlYVRvd3JpdGUtLTsKLSAgICAKLSAgICAvKiBJbmNyZW1lbnQgdGhlIE5BTkQgYWRkcmVzcyAqLwotICAgIG5hbmRhZGRyZXNzID0gKHVpbnQzMl90KShuYW5kYWRkcmVzcyArIDFVKTsKKyAgICByZXR1cm4gSEFMX0VSUk9SOwogICB9CiAKLSAgLyogVXBkYXRlIHRoZSBOQU5EIGNvbnRyb2xsZXIgc3RhdGUgKi8KLSAgaG5hbmQtPlN0YXRlID0gSEFMX05BTkRfU1RBVEVfUkVBRFk7Ci0KLSAgLyogUHJvY2VzcyB1bmxvY2tlZCAqLwotICBfX0hBTF9VTkxPQ0soaG5hbmQpOwotICAgIAogICByZXR1cm4gSEFMX09LOwogfQogCkBAIC0xNDgxLDEzNSArMTc3OCwxNzcgQEAKICAgKiBAcGFyYW0gIGhuYW5kIHBvaW50ZXIgdG8gYSBOQU5EX0hhbmRsZVR5cGVEZWYgc3RydWN0dXJlIHRoYXQgY29udGFpbnMKICAgKiAgICAgICAgICAgICAgICB0aGUgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbiBmb3IgTkFORCBtb2R1bGUuCiAgICogQHBhcmFtICBwQWRkcmVzcyAgcG9pbnRlciB0byBOQU5EIGFkZHJlc3Mgc3RydWN0dXJlCi0gICogQHBhcmFtICBwQnVmZmVyICBwb2ludGVyIHRvIHNvdXJjZSBidWZmZXIgdG8gd3JpdGUuIHBCdWZmZXIgc2hvdWxkIGJlIDE2Yml0cyBhbGlnbmVkLiAgCisgICogQHBhcmFtICBwQnVmZmVyICBwb2ludGVyIHRvIHNvdXJjZSBidWZmZXIgdG8gd3JpdGUuIHBCdWZmZXIgc2hvdWxkIGJlIDE2Yml0cyBhbGlnbmVkLgogICAqIEBwYXJhbSAgTnVtU3BhcmVBcmVhVG93cml0ZSAgIG51bWJlciBvZiBzcGFyZSBhcmVhcyB0byB3cml0ZSB0byBibG9jawogICAqIEByZXR2YWwgSEFMIHN0YXR1cwogICAqLwotSEFMX1N0YXR1c1R5cGVEZWYgSEFMX05BTkRfV3JpdGVfU3BhcmVBcmVhXzE2YihOQU5EX0hhbmRsZVR5cGVEZWYgKmhuYW5kLCBOQU5EX0FkZHJlc3NUeXBlRGVmICpwQWRkcmVzcywgdWludDE2X3QgKnBCdWZmZXIsIHVpbnQzMl90IE51bVNwYXJlQXJlYVRvd3JpdGUpCitIQUxfU3RhdHVzVHlwZURlZiBIQUxfTkFORF9Xcml0ZV9TcGFyZUFyZWFfMTZiKE5BTkRfSGFuZGxlVHlwZURlZiAqaG5hbmQsIE5BTkRfQWRkcmVzc1R5cGVEZWYgKnBBZGRyZXNzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MTZfdCAqcEJ1ZmZlciwgdWludDMyX3QgTnVtU3BhcmVBcmVhVG93cml0ZSkKIHsKLSAgX19JTyB1aW50MzJfdCBpbmRleCA9IDBVOwotICB1aW50MzJfdCB0aWNrc3RhcnQgPSAwVTsKLSAgdWludDMyX3QgZGV2aWNlYWRkcmVzcyA9IDBVLCBzaXplID0gMFUsIG51bVNwYXJlQXJlYVdyaXR0ZW4gPSAwVSwgbmFuZGFkZHJlc3MgPSAwVSwgY29sdW1uYWRkcmVzcyA9IDBVOworICB1aW50MzJfdCBpbmRleDsKKyAgdWludDMyX3QgdGlja3N0YXJ0OworICB1aW50MzJfdCBkZXZpY2VhZGRyZXNzOworICB1aW50MzJfdCBudW1zcGFyZWFyZWF3cml0dGVuID0gMFU7CisgIHVpbnQzMl90IG5hbmRhZGRyZXNzOworICB1aW50MzJfdCBjb2x1bW5hZGRyZXNzOworICB1aW50MzJfdCBuYnNwYXJlID0gTnVtU3BhcmVBcmVhVG93cml0ZTsKKyAgdWludDE2X3QgKmJ1ZmYgPSBwQnVmZmVyOwogCi0gIC8qIFByb2Nlc3MgTG9ja2VkICovCi0gIF9fSEFMX0xPQ0soaG5hbmQpOyAKLSAgCiAgIC8qIENoZWNrIHRoZSBOQU5EIGNvbnRyb2xsZXIgc3RhdGUgKi8KLSAgaWYoaG5hbmQtPlN0YXRlID09IEhBTF9OQU5EX1NUQVRFX0JVU1kpCisgIGlmIChobmFuZC0+U3RhdGUgPT0gSEFMX05BTkRfU1RBVEVfQlVTWSkKICAgewotICAgICByZXR1cm4gSEFMX0JVU1k7CisgICAgcmV0dXJuIEhBTF9CVVNZOwogICB9Ci0gIAotICAvKiBJZGVudGlmeSB0aGUgZGV2aWNlIGFkZHJlc3MgKi8KLSAgaWYoaG5hbmQtPkluaXQuTmFuZEJhbmsgPT0gRk1DX05BTkRfQkFOSzIpCisgIGVsc2UgaWYgKGhuYW5kLT5TdGF0ZSA9PSBIQUxfTkFORF9TVEFURV9SRUFEWSkKICAgewotICAgIGRldmljZWFkZHJlc3MgPSBOQU5EX0RFVklDRTE7CisgICAgLyogUHJvY2VzcyBMb2NrZWQgKi8KKyAgICBfX0hBTF9MT0NLKGhuYW5kKTsKKworICAgIC8qIFVwZGF0ZSB0aGUgTkFORCBjb250cm9sbGVyIHN0YXRlICovCisgICAgaG5hbmQtPlN0YXRlID0gSEFMX05BTkRfU1RBVEVfQlVTWTsKKworICAgIC8qIElkZW50aWZ5IHRoZSBkZXZpY2UgYWRkcmVzcyAqLworI2lmIGRlZmluZWQoRk1DX0JhbmsyXzMpCisgICAgaWYgKGhuYW5kLT5Jbml0Lk5hbmRCYW5rID09IEZNQ19OQU5EX0JBTksyKQorICAgIHsKKyAgICAgIGRldmljZWFkZHJlc3MgPSBOQU5EX0RFVklDRTE7CisgICAgfQorICAgIGVsc2UKKyAgICB7CisgICAgICBkZXZpY2VhZGRyZXNzID0gTkFORF9ERVZJQ0UyOworICAgIH0KKyNlbHNlCisgICAgZGV2aWNlYWRkcmVzcyA9IE5BTkRfREVWSUNFOworI2VuZGlmCisKKyAgICAvKiBOQU5EIHJhdyBhZGRyZXNzIGNhbGN1bGF0aW9uICovCisgICAgbmFuZGFkZHJlc3MgPSBBUlJBWV9BRERSRVNTKHBBZGRyZXNzLCBobmFuZCk7CisKKyAgICAvKiBDb2x1bW4gaW4gcGFnZSBhZGRyZXNzICovCisgICAgY29sdW1uYWRkcmVzcyA9ICh1aW50MzJfdCkoQ09MVU1OX0FERFJFU1MoaG5hbmQpKTsKKworICAgIC8qIFNwYXJlIGFyZWEocykgd3JpdGUgbG9vcCAqLworICAgIHdoaWxlICgobmJzcGFyZSAhPSAwVSkgJiYgKG5hbmRhZGRyZXNzIDwgKChobmFuZC0+Q29uZmlnLkJsb2NrU2l6ZSkgKiAoaG5hbmQtPkNvbmZpZy5CbG9ja05icikpKSkKKyAgICB7CisgICAgICAvKiBDYXJkcyB3aXRoIHBhZ2Ugc2l6ZSA8PSA1MTIgYnl0ZXMgKi8KKyAgICAgIGlmICgoaG5hbmQtPkNvbmZpZy5QYWdlU2l6ZSkgPD0gNTEyVSkKKyAgICAgIHsKKyAgICAgICAgLyogU2VuZCB3cml0ZSBTcGFyZSBhcmVhIGNvbW1hbmQgc2VxdWVuY2UgKi8KKyAgICAgICAgKihfX0lPIHVpbnQ4X3QgKikoKHVpbnQzMl90KShkZXZpY2VhZGRyZXNzIHwgQ01EX0FSRUEpKSA9IE5BTkRfQ01EX0FSRUFfQzsKKyAgICAgICAgX19EU0IoKTsKKyAgICAgICAgKihfX0lPIHVpbnQ4X3QgKikoKHVpbnQzMl90KShkZXZpY2VhZGRyZXNzIHwgQ01EX0FSRUEpKSA9IE5BTkRfQ01EX1dSSVRFMDsKKyAgICAgICAgX19EU0IoKTsKKworICAgICAgICBpZiAoKChobmFuZC0+Q29uZmlnLkJsb2NrU2l6ZSkgKiAoaG5hbmQtPkNvbmZpZy5CbG9ja05icikpIDw9IDY1NTM1VSkKKyAgICAgICAgeworICAgICAgICAgICooX19JTyB1aW50OF90ICopKCh1aW50MzJfdCkoZGV2aWNlYWRkcmVzcyB8IEFERFJfQVJFQSkpID0gMHgwMFU7CisgICAgICAgICAgX19EU0IoKTsKKyAgICAgICAgICAqKF9fSU8gdWludDhfdCAqKSgodWludDMyX3QpKGRldmljZWFkZHJlc3MgfCBBRERSX0FSRUEpKSA9IEFERFJfMVNUX0NZQ0xFKG5hbmRhZGRyZXNzKTsKKyAgICAgICAgICBfX0RTQigpOworICAgICAgICAgICooX19JTyB1aW50OF90ICopKCh1aW50MzJfdCkoZGV2aWNlYWRkcmVzcyB8IEFERFJfQVJFQSkpID0gQUREUl8yTkRfQ1lDTEUobmFuZGFkZHJlc3MpOworICAgICAgICAgIF9fRFNCKCk7CisgICAgICAgIH0KKyAgICAgICAgZWxzZSAvKiAoKGhuYW5kLT5Db25maWcuQmxvY2tTaXplKSooaG5hbmQtPkNvbmZpZy5CbG9ja05icikpID4gNjU1MzUgKi8KKyAgICAgICAgeworICAgICAgICAgICooX19JTyB1aW50OF90ICopKCh1aW50MzJfdCkoZGV2aWNlYWRkcmVzcyB8IEFERFJfQVJFQSkpID0gMHgwMFU7CisgICAgICAgICAgX19EU0IoKTsKKyAgICAgICAgICAqKF9fSU8gdWludDhfdCAqKSgodWludDMyX3QpKGRldmljZWFkZHJlc3MgfCBBRERSX0FSRUEpKSA9IEFERFJfMVNUX0NZQ0xFKG5hbmRhZGRyZXNzKTsKKyAgICAgICAgICBfX0RTQigpOworICAgICAgICAgICooX19JTyB1aW50OF90ICopKCh1aW50MzJfdCkoZGV2aWNlYWRkcmVzcyB8IEFERFJfQVJFQSkpID0gQUREUl8yTkRfQ1lDTEUobmFuZGFkZHJlc3MpOworICAgICAgICAgIF9fRFNCKCk7CisgICAgICAgICAgKihfX0lPIHVpbnQ4X3QgKikoKHVpbnQzMl90KShkZXZpY2VhZGRyZXNzIHwgQUREUl9BUkVBKSkgPSBBRERSXzNSRF9DWUNMRShuYW5kYWRkcmVzcyk7CisgICAgICAgICAgX19EU0IoKTsKKyAgICAgICAgfQorICAgICAgfQorICAgICAgZWxzZSAvKiAoaG5hbmQtPkNvbmZpZy5QYWdlU2l6ZSkgPiA1MTIgKi8KKyAgICAgIHsKKyAgICAgICAgLyogU2VuZCB3cml0ZSBTcGFyZSBhcmVhIGNvbW1hbmQgc2VxdWVuY2UgKi8KKyAgICAgICAgKihfX0lPIHVpbnQ4X3QgKikoKHVpbnQzMl90KShkZXZpY2VhZGRyZXNzIHwgQ01EX0FSRUEpKSA9IE5BTkRfQ01EX0FSRUFfQTsKKyAgICAgICAgX19EU0IoKTsKKyAgICAgICAgKihfX0lPIHVpbnQ4X3QgKikoKHVpbnQzMl90KShkZXZpY2VhZGRyZXNzIHwgQ01EX0FSRUEpKSA9IE5BTkRfQ01EX1dSSVRFMDsKKyAgICAgICAgX19EU0IoKTsKKworICAgICAgICBpZiAoKChobmFuZC0+Q29uZmlnLkJsb2NrU2l6ZSkgKiAoaG5hbmQtPkNvbmZpZy5CbG9ja05icikpIDw9IDY1NTM1VSkKKyAgICAgICAgeworICAgICAgICAgICooX19JTyB1aW50OF90ICopKCh1aW50MzJfdCkoZGV2aWNlYWRkcmVzcyB8IEFERFJfQVJFQSkpID0gQ09MVU1OXzFTVF9DWUNMRShjb2x1bW5hZGRyZXNzKTsKKyAgICAgICAgICBfX0RTQigpOworICAgICAgICAgICooX19JTyB1aW50OF90ICopKCh1aW50MzJfdCkoZGV2aWNlYWRkcmVzcyB8IEFERFJfQVJFQSkpID0gQ09MVU1OXzJORF9DWUNMRShjb2x1bW5hZGRyZXNzKTsKKyAgICAgICAgICBfX0RTQigpOworICAgICAgICAgICooX19JTyB1aW50OF90ICopKCh1aW50MzJfdCkoZGV2aWNlYWRkcmVzcyB8IEFERFJfQVJFQSkpID0gQUREUl8xU1RfQ1lDTEUobmFuZGFkZHJlc3MpOworICAgICAgICAgIF9fRFNCKCk7CisgICAgICAgICAgKihfX0lPIHVpbnQ4X3QgKikoKHVpbnQzMl90KShkZXZpY2VhZGRyZXNzIHwgQUREUl9BUkVBKSkgPSBBRERSXzJORF9DWUNMRShuYW5kYWRkcmVzcyk7CisgICAgICAgICAgX19EU0IoKTsKKyAgICAgICAgfQorICAgICAgICBlbHNlIC8qICgoaG5hbmQtPkNvbmZpZy5CbG9ja1NpemUpKihobmFuZC0+Q29uZmlnLkJsb2NrTmJyKSkgPiA2NTUzNSAqLworICAgICAgICB7CisgICAgICAgICAgKihfX0lPIHVpbnQ4X3QgKikoKHVpbnQzMl90KShkZXZpY2VhZGRyZXNzIHwgQUREUl9BUkVBKSkgPSBDT0xVTU5fMVNUX0NZQ0xFKGNvbHVtbmFkZHJlc3MpOworICAgICAgICAgIF9fRFNCKCk7CisgICAgICAgICAgKihfX0lPIHVpbnQ4X3QgKikoKHVpbnQzMl90KShkZXZpY2VhZGRyZXNzIHwgQUREUl9BUkVBKSkgPSBDT0xVTU5fMk5EX0NZQ0xFKGNvbHVtbmFkZHJlc3MpOworICAgICAgICAgIF9fRFNCKCk7CisgICAgICAgICAgKihfX0lPIHVpbnQ4X3QgKikoKHVpbnQzMl90KShkZXZpY2VhZGRyZXNzIHwgQUREUl9BUkVBKSkgPSBBRERSXzFTVF9DWUNMRShuYW5kYWRkcmVzcyk7CisgICAgICAgICAgX19EU0IoKTsKKyAgICAgICAgICAqKF9fSU8gdWludDhfdCAqKSgodWludDMyX3QpKGRldmljZWFkZHJlc3MgfCBBRERSX0FSRUEpKSA9IEFERFJfMk5EX0NZQ0xFKG5hbmRhZGRyZXNzKTsKKyAgICAgICAgICBfX0RTQigpOworICAgICAgICAgICooX19JTyB1aW50OF90ICopKCh1aW50MzJfdCkoZGV2aWNlYWRkcmVzcyB8IEFERFJfQVJFQSkpID0gQUREUl8zUkRfQ1lDTEUobmFuZGFkZHJlc3MpOworICAgICAgICAgIF9fRFNCKCk7CisgICAgICAgIH0KKyAgICAgIH0KKworICAgICAgLyogV3JpdGUgZGF0YSB0byBtZW1vcnkgKi8KKyAgICAgIGZvciAoaW5kZXggPSAwVTsgaW5kZXggPCBobmFuZC0+Q29uZmlnLlNwYXJlQXJlYVNpemU7IGluZGV4KyspCisgICAgICB7CisgICAgICAgICooX19JTyB1aW50MTZfdCAqKWRldmljZWFkZHJlc3MgPSAqYnVmZjsKKyAgICAgICAgYnVmZisrOworICAgICAgICBfX0RTQigpOworICAgICAgfQorCisgICAgICAqKF9fSU8gdWludDhfdCAqKSgodWludDMyX3QpKGRldmljZWFkZHJlc3MgfCBDTURfQVJFQSkpID0gTkFORF9DTURfV1JJVEVfVFJVRTE7CisgICAgICBfX0RTQigpOworCisgICAgICAvKiBHZXQgdGljayAqLworICAgICAgdGlja3N0YXJ0ID0gSEFMX0dldFRpY2soKTsKKworICAgICAgLyogUmVhZCBzdGF0dXMgdW50aWwgTkFORCBpcyByZWFkeSAqLworICAgICAgd2hpbGUgKEhBTF9OQU5EX1JlYWRfU3RhdHVzKGhuYW5kKSAhPSBOQU5EX1JFQURZKQorICAgICAgeworICAgICAgICBpZiAoKEhBTF9HZXRUaWNrKCkgLSB0aWNrc3RhcnQpID4gTkFORF9XUklURV9USU1FT1VUKQorICAgICAgICB7CisgICAgICAgICAgLyogVXBkYXRlIHRoZSBOQU5EIGNvbnRyb2xsZXIgc3RhdGUgKi8KKyAgICAgICAgICBobmFuZC0+U3RhdGUgPSBIQUxfTkFORF9TVEFURV9FUlJPUjsKKworICAgICAgICAgIC8qIFByb2Nlc3MgdW5sb2NrZWQgKi8KKyAgICAgICAgICBfX0hBTF9VTkxPQ0soaG5hbmQpOworCisgICAgICAgICAgcmV0dXJuIEhBTF9USU1FT1VUOworICAgICAgICB9CisgICAgICB9CisKKyAgICAgIC8qIEluY3JlbWVudCB3cml0dGVuIHNwYXJlIGFyZWFzIG51bWJlciAqLworICAgICAgbnVtc3BhcmVhcmVhd3JpdHRlbisrOworCisgICAgICAvKiBEZWNyZW1lbnQgc3BhcmUgYXJlYXMgdG8gd3JpdGUgKi8KKyAgICAgIG5ic3BhcmUtLTsKKworICAgICAgLyogSW5jcmVtZW50IHRoZSBOQU5EIGFkZHJlc3MgKi8KKyAgICAgIG5hbmRhZGRyZXNzID0gKHVpbnQzMl90KShuYW5kYWRkcmVzcyArIDFVKTsKKyAgICB9CisKKyAgICAvKiBVcGRhdGUgdGhlIE5BTkQgY29udHJvbGxlciBzdGF0ZSAqLworICAgIGhuYW5kLT5TdGF0ZSA9IEhBTF9OQU5EX1NUQVRFX1JFQURZOworCisgICAgLyogUHJvY2VzcyB1bmxvY2tlZCAqLworICAgIF9fSEFMX1VOTE9DSyhobmFuZCk7CiAgIH0KICAgZWxzZQogICB7Ci0gICAgZGV2aWNlYWRkcmVzcyA9IE5BTkRfREVWSUNFMjsKLSAgfQotICAKLSAgLyogVXBkYXRlIHRoZSBGTUNfTkFORCBjb250cm9sbGVyIHN0YXRlICovCi0gIGhuYW5kLT5TdGF0ZSA9IEhBTF9OQU5EX1NUQVRFX0JVU1k7ICAKLSAgCi0gIC8qIE5BTkQgcmF3IGFkZHJlc3MgY2FsY3VsYXRpb24gKi8KLSAgbmFuZGFkZHJlc3MgPSBBUlJBWV9BRERSRVNTKHBBZGRyZXNzLCBobmFuZCk7Ci0gIAotICAvKiBDb2x1bW4gaW4gcGFnZSBhZGRyZXNzICovCi0gIGNvbHVtbmFkZHJlc3MgPSAodWludDMyX3QpKENPTFVNTl9BRERSRVNTKGhuYW5kKSk7Ci0gIAotICAvKiBTcGFyZSBhcmVhKHMpIHdyaXRlIGxvb3AgKi8KLSAgd2hpbGUoKE51bVNwYXJlQXJlYVRvd3JpdGUgIT0gMFUpICYmIChuYW5kYWRkcmVzcyA8ICgoaG5hbmQtPkNvbmZpZy5CbG9ja1NpemUpICogKGhuYW5kLT5Db25maWcuQmxvY2tOYnIpKSkpCi0gIHsKLSAgICAvKiB1cGRhdGUgdGhlIGJ1ZmZlciBzaXplICovCi0gICAgc2l6ZSA9IChobmFuZC0+Q29uZmlnLlNwYXJlQXJlYVNpemUpICsgKChobmFuZC0+Q29uZmlnLlNwYXJlQXJlYVNpemUpICogbnVtU3BhcmVBcmVhV3JpdHRlbik7Ci0KLSAgICAvKiBDYXJkcyB3aXRoIHBhZ2Ugc2l6ZSA8PSA1MTIgYnl0ZXMgKi8KLSAgICBpZigoaG5hbmQtPkNvbmZpZy5QYWdlU2l6ZSkgPD0gNTEyVSkKLSAgICB7Ci0gICAgICAvKiBTZW5kIHdyaXRlIFNwYXJlIGFyZWEgY29tbWFuZCBzZXF1ZW5jZSAqLwotICAgICAgKihfX0lPIHVpbnQ4X3QgKikoKHVpbnQzMl90KShkZXZpY2VhZGRyZXNzIHwgQ01EX0FSRUEpKSA9IE5BTkRfQ01EX0FSRUFfQzsKLSAgICAgICooX19JTyB1aW50OF90ICopKCh1aW50MzJfdCkoZGV2aWNlYWRkcmVzcyB8IENNRF9BUkVBKSkgPSBOQU5EX0NNRF9XUklURTA7Ci0gICAgCi0gICAgICBpZiAoKChobmFuZC0+Q29uZmlnLkJsb2NrU2l6ZSkqKGhuYW5kLT5Db25maWcuQmxvY2tOYnIpKSA8PSA2NTUzNVUpCi0gICAgICB7Ci0gICAgICAgICooX19JTyB1aW50OF90ICopKCh1aW50MzJfdCkoZGV2aWNlYWRkcmVzcyB8IEFERFJfQVJFQSkpID0gMHgwMDsKLSAgICAgICAgKihfX0lPIHVpbnQ4X3QgKikoKHVpbnQzMl90KShkZXZpY2VhZGRyZXNzIHwgQUREUl9BUkVBKSkgPSBBRERSXzFTVF9DWUNMRShuYW5kYWRkcmVzcyk7Ci0gICAgICAgICooX19JTyB1aW50OF90ICopKCh1aW50MzJfdCkoZGV2aWNlYWRkcmVzcyB8IEFERFJfQVJFQSkpID0gQUREUl8yTkRfQ1lDTEUobmFuZGFkZHJlc3MpOwotICAgICAgfQotICAgICAgZWxzZSAvKiAoKGhuYW5kLT5Db25maWcuQmxvY2tTaXplKSooaG5hbmQtPkNvbmZpZy5CbG9ja05icikpID4gNjU1MzUgKi8KLSAgICAgIHsKLSAgICAgICAgKihfX0lPIHVpbnQ4X3QgKikoKHVpbnQzMl90KShkZXZpY2VhZGRyZXNzIHwgQUREUl9BUkVBKSkgPSAweDAwOwotICAgICAgICAqKF9fSU8gdWludDhfdCAqKSgodWludDMyX3QpKGRldmljZWFkZHJlc3MgfCBBRERSX0FSRUEpKSA9IEFERFJfMVNUX0NZQ0xFKG5hbmRhZGRyZXNzKTsKLSAgICAgICAgKihfX0lPIHVpbnQ4X3QgKikoKHVpbnQzMl90KShkZXZpY2VhZGRyZXNzIHwgQUREUl9BUkVBKSkgPSBBRERSXzJORF9DWUNMRShuYW5kYWRkcmVzcyk7Ci0gICAgICAgICooX19JTyB1aW50OF90ICopKCh1aW50MzJfdCkoZGV2aWNlYWRkcmVzcyB8IEFERFJfQVJFQSkpID0gQUREUl8zUkRfQ1lDTEUobmFuZGFkZHJlc3MpOwotICAgICAgfQotICAgIH0KLSAgICBlbHNlIC8qIChobmFuZC0+Q29uZmlnLlBhZ2VTaXplKSA+IDUxMiAqLwotICAgIHsKLSAgICAgIC8qIFNlbmQgd3JpdGUgU3BhcmUgYXJlYSBjb21tYW5kIHNlcXVlbmNlICovCi0gICAgICAqKF9fSU8gdWludDhfdCAqKSgodWludDMyX3QpKGRldmljZWFkZHJlc3MgfCBDTURfQVJFQSkpID0gTkFORF9DTURfQVJFQV9BOwotICAgICAgKihfX0lPIHVpbnQ4X3QgKikoKHVpbnQzMl90KShkZXZpY2VhZGRyZXNzIHwgQ01EX0FSRUEpKSA9IE5BTkRfQ01EX1dSSVRFMDsKLSAgICAKLSAgICAgIGlmICgoKGhuYW5kLT5Db25maWcuQmxvY2tTaXplKSooaG5hbmQtPkNvbmZpZy5CbG9ja05icikpIDw9IDY1NTM1VSkKLSAgICAgIHsKLSAgICAgICAgKihfX0lPIHVpbnQ4X3QgKikoKHVpbnQzMl90KShkZXZpY2VhZGRyZXNzIHwgQUREUl9BUkVBKSkgPSBDT0xVTU5fMVNUX0NZQ0xFKGNvbHVtbmFkZHJlc3MpOwotICAgICAgICAqKF9fSU8gdWludDhfdCAqKSgodWludDMyX3QpKGRldmljZWFkZHJlc3MgfCBBRERSX0FSRUEpKSA9IENPTFVNTl8yTkRfQ1lDTEUoY29sdW1uYWRkcmVzcyk7Ci0gICAgICAgICooX19JTyB1aW50OF90ICopKCh1aW50MzJfdCkoZGV2aWNlYWRkcmVzcyB8IEFERFJfQVJFQSkpID0gQUREUl8xU1RfQ1lDTEUobmFuZGFkZHJlc3MpOwotICAgICAgICAqKF9fSU8gdWludDhfdCAqKSgodWludDMyX3QpKGRldmljZWFkZHJlc3MgfCBBRERSX0FSRUEpKSA9IEFERFJfMk5EX0NZQ0xFKG5hbmRhZGRyZXNzKTsKLSAgICAgIH0KLSAgICAgIGVsc2UgLyogKChobmFuZC0+Q29uZmlnLkJsb2NrU2l6ZSkqKGhuYW5kLT5Db25maWcuQmxvY2tOYnIpKSA+IDY1NTM1ICovCi0gICAgICB7Ci0gICAgICAgICooX19JTyB1aW50OF90ICopKCh1aW50MzJfdCkoZGV2aWNlYWRkcmVzcyB8IEFERFJfQVJFQSkpID0gQ09MVU1OXzFTVF9DWUNMRShjb2x1bW5hZGRyZXNzKTsKLSAgICAgICAgKihfX0lPIHVpbnQ4X3QgKikoKHVpbnQzMl90KShkZXZpY2VhZGRyZXNzIHwgQUREUl9BUkVBKSkgPSBDT0xVTU5fMk5EX0NZQ0xFKGNvbHVtbmFkZHJlc3MpOwotICAgICAgICAqKF9fSU8gdWludDhfdCAqKSgodWludDMyX3QpKGRldmljZWFkZHJlc3MgfCBBRERSX0FSRUEpKSA9IEFERFJfMVNUX0NZQ0xFKG5hbmRhZGRyZXNzKTsKLSAgICAgICAgKihfX0lPIHVpbnQ4X3QgKikoKHVpbnQzMl90KShkZXZpY2VhZGRyZXNzIHwgQUREUl9BUkVBKSkgPSBBRERSXzJORF9DWUNMRShuYW5kYWRkcmVzcyk7Ci0gICAgICAgICooX19JTyB1aW50OF90ICopKCh1aW50MzJfdCkoZGV2aWNlYWRkcmVzcyB8IEFERFJfQVJFQSkpID0gQUREUl8zUkRfQ1lDTEUobmFuZGFkZHJlc3MpOwotICAgICAgfQotICAgIH0KLSAgCi0gICAgLyogV3JpdGUgZGF0YSB0byBtZW1vcnkgKi8KLSAgICBmb3IoOyBpbmRleCA8IHNpemU7IGluZGV4KyspCi0gICAgewotICAgICAgKihfX0lPIHVpbnQxNl90ICopZGV2aWNlYWRkcmVzcyA9ICoodWludDE2X3QgKilwQnVmZmVyKys7Ci0gICAgfQotICAgCi0gICAgKihfX0lPIHVpbnQ4X3QgKikoKHVpbnQzMl90KShkZXZpY2VhZGRyZXNzIHwgQ01EX0FSRUEpKSA9IE5BTkRfQ01EX1dSSVRFX1RSVUUxOwotICAgCi0gICAgLyogR2V0IHRpY2sgKi8KLSAgICB0aWNrc3RhcnQgPSBIQUxfR2V0VGljaygpOwotCi0gICAgLyogUmVhZCBzdGF0dXMgdW50aWwgTkFORCBpcyByZWFkeSAqLwotICAgIHdoaWxlKEhBTF9OQU5EX1JlYWRfU3RhdHVzKGhuYW5kKSAhPSBOQU5EX1JFQURZKQotICAgIHsgICAgCi0gICAgICBpZigoSEFMX0dldFRpY2soKSAtIHRpY2tzdGFydCApID4gTkFORF9XUklURV9USU1FT1VUKQotICAgICAgewotICAgICAgICByZXR1cm4gSEFMX1RJTUVPVVQ7IAotICAgICAgfQotICAgIH0KLQotICAgIC8qIEluY3JlbWVudCB3cml0dGVuIHNwYXJlIGFyZWFzIG51bWJlciAqLwotICAgIG51bVNwYXJlQXJlYVdyaXR0ZW4rKzsKLSAgICAKLSAgICAvKiBEZWNyZW1lbnQgc3BhcmUgYXJlYXMgdG8gd3JpdGUgKi8KLSAgICBOdW1TcGFyZUFyZWFUb3dyaXRlLS07Ci0gICAgCi0gICAgLyogSW5jcmVtZW50IHRoZSBOQU5EIGFkZHJlc3MgKi8KLSAgICBuYW5kYWRkcmVzcyA9ICh1aW50MzJfdCkobmFuZGFkZHJlc3MgKyAxVSk7CisgICAgcmV0dXJuIEhBTF9FUlJPUjsKICAgfQogCi0gIC8qIFVwZGF0ZSB0aGUgTkFORCBjb250cm9sbGVyIHN0YXRlICovCi0gIGhuYW5kLT5TdGF0ZSA9IEhBTF9OQU5EX1NUQVRFX1JFQURZOwotCi0gIC8qIFByb2Nlc3MgdW5sb2NrZWQgKi8KLSAgX19IQUxfVU5MT0NLKGhuYW5kKTsKLQotICByZXR1cm4gSEFMX09LOyAgCisgIHJldHVybiBIQUxfT0s7CiB9CiAKIC8qKgotICAqIEBicmllZiAgTkFORCBtZW1vcnkgQmxvY2sgZXJhc2UgCisgICogQGJyaWVmICBOQU5EIG1lbW9yeSBCbG9jayBlcmFzZQogICAqIEBwYXJhbSAgaG5hbmQgcG9pbnRlciB0byBhIE5BTkRfSGFuZGxlVHlwZURlZiBzdHJ1Y3R1cmUgdGhhdCBjb250YWlucwogICAqICAgICAgICAgICAgICAgIHRoZSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIGZvciBOQU5EIG1vZHVsZS4KICAgKiBAcGFyYW0gIHBBZGRyZXNzICBwb2ludGVyIHRvIE5BTkQgYWRkcmVzcyBzdHJ1Y3R1cmUKQEAgLTE2MTcsMTAyICsxOTU2LDYwIEBACiAgICovCiBIQUxfU3RhdHVzVHlwZURlZiBIQUxfTkFORF9FcmFzZV9CbG9jayhOQU5EX0hhbmRsZVR5cGVEZWYgKmhuYW5kLCBOQU5EX0FkZHJlc3NUeXBlRGVmICpwQWRkcmVzcykKIHsKLSAgdWludDMyX3QgZGV2aWNlYWRkcmVzcyA9IDBVOwotICB1aW50MzJfdCB0aWNrc3RhcnQgPSAwVTsKLSAgCi0gIC8qIFByb2Nlc3MgTG9ja2VkICovCi0gIF9fSEFMX0xPQ0soaG5hbmQpOwotICAKKyAgdWludDMyX3QgZGV2aWNlYWRkcmVzczsKKwogICAvKiBDaGVjayB0aGUgTkFORCBjb250cm9sbGVyIHN0YXRlICovCi0gIGlmKGhuYW5kLT5TdGF0ZSA9PSBIQUxfTkFORF9TVEFURV9CVVNZKQorICBpZiAoaG5hbmQtPlN0YXRlID09IEhBTF9OQU5EX1NUQVRFX0JVU1kpCiAgIHsKLSAgICAgcmV0dXJuIEhBTF9CVVNZOworICAgIHJldHVybiBIQUxfQlVTWTsKICAgfQotICAKLSAgLyogSWRlbnRpZnkgdGhlIGRldmljZSBhZGRyZXNzICovCi0gIGlmKGhuYW5kLT5Jbml0Lk5hbmRCYW5rID09IEZNQ19OQU5EX0JBTksyKQorICBlbHNlIGlmIChobmFuZC0+U3RhdGUgPT0gSEFMX05BTkRfU1RBVEVfUkVBRFkpCiAgIHsKLSAgICBkZXZpY2VhZGRyZXNzID0gTkFORF9ERVZJQ0UxOwotICB9Ci0gIGVsc2UKLSAgewotICAgIGRldmljZWFkZHJlc3MgPSBOQU5EX0RFVklDRTI7Ci0gIH0KLSAgCi0gIC8qIFVwZGF0ZSB0aGUgTkFORCBjb250cm9sbGVyIHN0YXRlICovCi0gIGhuYW5kLT5TdGF0ZSA9IEhBTF9OQU5EX1NUQVRFX0JVU1k7ICAKLSAgCi0gIC8qIFNlbmQgRXJhc2UgYmxvY2sgY29tbWFuZCBzZXF1ZW5jZSAqLwotICAqKF9fSU8gdWludDhfdCAqKSgodWludDMyX3QpKGRldmljZWFkZHJlc3MgfCBDTURfQVJFQSkpID0gTkFORF9DTURfRVJBU0UwOworICAgIC8qIFByb2Nlc3MgTG9ja2VkICovCisgICAgX19IQUxfTE9DSyhobmFuZCk7CiAKLSAgKihfX0lPIHVpbnQ4X3QgKikoKHVpbnQzMl90KShkZXZpY2VhZGRyZXNzIHwgQUREUl9BUkVBKSkgPSBBRERSXzFTVF9DWUNMRShBUlJBWV9BRERSRVNTKHBBZGRyZXNzLCBobmFuZCkpOwotICAqKF9fSU8gdWludDhfdCAqKSgodWludDMyX3QpKGRldmljZWFkZHJlc3MgfCBBRERSX0FSRUEpKSA9IEFERFJfMk5EX0NZQ0xFKEFSUkFZX0FERFJFU1MocEFkZHJlc3MsIGhuYW5kKSk7Ci0gICooX19JTyB1aW50OF90ICopKCh1aW50MzJfdCkoZGV2aWNlYWRkcmVzcyB8IEFERFJfQVJFQSkpID0gQUREUl8zUkRfQ1lDTEUoQVJSQVlfQUREUkVTUyhwQWRkcmVzcywgaG5hbmQpKTsKLSAgICAKLSAgKihfX0lPIHVpbnQ4X3QgKikoKHVpbnQzMl90KShkZXZpY2VhZGRyZXNzIHwgQ01EX0FSRUEpKSA9IE5BTkRfQ01EX0VSQVNFMTsgCi0gIAotICAvKiBVcGRhdGUgdGhlIE5BTkQgY29udHJvbGxlciBzdGF0ZSAqLwotICBobmFuZC0+U3RhdGUgPSBIQUxfTkFORF9TVEFURV9SRUFEWTsKLSAgCi0gIC8qIEdldCB0aWNrICovCi0gIHRpY2tzdGFydCA9IEhBTF9HZXRUaWNrKCk7Ci0gIAotICAvKiBSZWFkIHN0YXR1cyB1bnRpbCBOQU5EIGlzIHJlYWR5ICovCi0gIHdoaWxlKEhBTF9OQU5EX1JlYWRfU3RhdHVzKGhuYW5kKSAhPSBOQU5EX1JFQURZKQotICB7Ci0gICAgaWYoKEhBTF9HZXRUaWNrKCkgLSB0aWNrc3RhcnQgKSA+IE5BTkRfV1JJVEVfVElNRU9VVCkKKyAgICAvKiBVcGRhdGUgdGhlIE5BTkQgY29udHJvbGxlciBzdGF0ZSAqLworICAgIGhuYW5kLT5TdGF0ZSA9IEhBTF9OQU5EX1NUQVRFX0JVU1k7CisKKyAgICAvKiBJZGVudGlmeSB0aGUgZGV2aWNlIGFkZHJlc3MgKi8KKyNpZiBkZWZpbmVkKEZNQ19CYW5rMl8zKQorICAgIGlmIChobmFuZC0+SW5pdC5OYW5kQmFuayA9PSBGTUNfTkFORF9CQU5LMikKICAgICB7Ci0gICAgICAvKiBQcm9jZXNzIHVubG9ja2VkICovCi0gICAgICBfX0hBTF9VTkxPQ0soaG5hbmQpOyAgICAKLSAgCi0gICAgICByZXR1cm4gSEFMX1RJTUVPVVQ7IAotICAgIH0gCi0gIH0gICAgCi0gCi0gIC8qIFByb2Nlc3MgdW5sb2NrZWQgKi8KLSAgX19IQUxfVU5MT0NLKGhuYW5kKTsgICAgCi0gIAotICByZXR1cm4gSEFMX09LOyAgCi19CisgICAgICBkZXZpY2VhZGRyZXNzID0gTkFORF9ERVZJQ0UxOworICAgIH0KKyAgICBlbHNlCisgICAgeworICAgICAgZGV2aWNlYWRkcmVzcyA9IE5BTkRfREVWSUNFMjsKKyAgICB9CisjZWxzZQorICAgIGRldmljZWFkZHJlc3MgPSBOQU5EX0RFVklDRTsKKyNlbmRpZgogCi0vKioKLSAgKiBAYnJpZWYgIE5BTkQgbWVtb3J5IHJlYWQgc3RhdHVzIAotICAqIEBwYXJhbSAgaG5hbmQgcG9pbnRlciB0byBhIE5BTkRfSGFuZGxlVHlwZURlZiBzdHJ1Y3R1cmUgdGhhdCBjb250YWlucwotICAqICAgICAgICAgICAgICAgIHRoZSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIGZvciBOQU5EIG1vZHVsZS4KLSAgKiBAcmV0dmFsIE5BTkQgc3RhdHVzCi0gICovCi11aW50MzJfdCBIQUxfTkFORF9SZWFkX1N0YXR1cyhOQU5EX0hhbmRsZVR5cGVEZWYgKmhuYW5kKQotewotICB1aW50MzJfdCBkYXRhID0gMFU7Ci0gIHVpbnQzMl90IGRldmljZWFkZHJlc3MgPSAwVTsKLSAgCi0gIC8qIElkZW50aWZ5IHRoZSBkZXZpY2UgYWRkcmVzcyAqLwotICBpZihobmFuZC0+SW5pdC5OYW5kQmFuayA9PSBGTUNfTkFORF9CQU5LMikKLSAgewotICAgIGRldmljZWFkZHJlc3MgPSBOQU5EX0RFVklDRTE7CisgICAgLyogU2VuZCBFcmFzZSBibG9jayBjb21tYW5kIHNlcXVlbmNlICovCisgICAgKihfX0lPIHVpbnQ4X3QgKikoKHVpbnQzMl90KShkZXZpY2VhZGRyZXNzIHwgQ01EX0FSRUEpKSA9IE5BTkRfQ01EX0VSQVNFMDsKKyAgICBfX0RTQigpOworICAgICooX19JTyB1aW50OF90ICopKCh1aW50MzJfdCkoZGV2aWNlYWRkcmVzcyB8IEFERFJfQVJFQSkpID0gQUREUl8xU1RfQ1lDTEUoQVJSQVlfQUREUkVTUyhwQWRkcmVzcywgaG5hbmQpKTsKKyAgICBfX0RTQigpOworICAgICooX19JTyB1aW50OF90ICopKCh1aW50MzJfdCkoZGV2aWNlYWRkcmVzcyB8IEFERFJfQVJFQSkpID0gQUREUl8yTkRfQ1lDTEUoQVJSQVlfQUREUkVTUyhwQWRkcmVzcywgaG5hbmQpKTsKKyAgICBfX0RTQigpOworICAgICooX19JTyB1aW50OF90ICopKCh1aW50MzJfdCkoZGV2aWNlYWRkcmVzcyB8IEFERFJfQVJFQSkpID0gQUREUl8zUkRfQ1lDTEUoQVJSQVlfQUREUkVTUyhwQWRkcmVzcywgaG5hbmQpKTsKKyAgICBfX0RTQigpOworCisgICAgKihfX0lPIHVpbnQ4X3QgKikoKHVpbnQzMl90KShkZXZpY2VhZGRyZXNzIHwgQ01EX0FSRUEpKSA9IE5BTkRfQ01EX0VSQVNFMTsKKyAgICBfX0RTQigpOworCisgICAgLyogVXBkYXRlIHRoZSBOQU5EIGNvbnRyb2xsZXIgc3RhdGUgKi8KKyAgICBobmFuZC0+U3RhdGUgPSBIQUxfTkFORF9TVEFURV9SRUFEWTsKKworICAgIC8qIFByb2Nlc3MgdW5sb2NrZWQgKi8KKyAgICBfX0hBTF9VTkxPQ0soaG5hbmQpOwogICB9CiAgIGVsc2UKICAgewotICAgIGRldmljZWFkZHJlc3MgPSBOQU5EX0RFVklDRTI7Ci0gIH0gCi0KLSAgLyogU2VuZCBSZWFkIHN0YXR1cyBvcGVyYXRpb24gY29tbWFuZCAqLwotICAqKF9fSU8gdWludDhfdCAqKSgodWludDMyX3QpKGRldmljZWFkZHJlc3MgfCBDTURfQVJFQSkpID0gTkFORF9DTURfU1RBVFVTOwotICAKLSAgLyogUmVhZCBzdGF0dXMgcmVnaXN0ZXIgZGF0YSAqLwotICBkYXRhID0gKihfX0lPIHVpbnQ4X3QgKilkZXZpY2VhZGRyZXNzOwotCi0gIC8qIFJldHVybiB0aGUgc3RhdHVzICovCi0gIGlmKChkYXRhICYgTkFORF9FUlJPUikgPT0gTkFORF9FUlJPUikKLSAgewotICAgIHJldHVybiBOQU5EX0VSUk9SOwotICB9IAotICBlbHNlIGlmKChkYXRhICYgTkFORF9SRUFEWSkgPT0gTkFORF9SRUFEWSkKLSAgewotICAgIHJldHVybiBOQU5EX1JFQURZOworICAgIHJldHVybiBIQUxfRVJST1I7CiAgIH0KIAotICByZXR1cm4gTkFORF9CVVNZOyAKKyAgcmV0dXJuIEhBTF9PSzsKIH0KIAogLyoqCkBAIC0xNzI3LDI4ICsyMDI0LDI4IEBACiB1aW50MzJfdCBIQUxfTkFORF9BZGRyZXNzX0luYyhOQU5EX0hhbmRsZVR5cGVEZWYgKmhuYW5kLCBOQU5EX0FkZHJlc3NUeXBlRGVmICpwQWRkcmVzcykKIHsKICAgdWludDMyX3Qgc3RhdHVzID0gTkFORF9WQUxJRF9BRERSRVNTOwotIAorCiAgIC8qIEluY3JlbWVudCBwYWdlIGFkZHJlc3MgKi8KICAgcEFkZHJlc3MtPlBhZ2UrKzsKIAogICAvKiBDaGVjayBOQU5EIGFkZHJlc3MgaXMgdmFsaWQgKi8KLSAgaWYocEFkZHJlc3MtPlBhZ2UgPT0gaG5hbmQtPkNvbmZpZy5CbG9ja1NpemUpCisgIGlmIChwQWRkcmVzcy0+UGFnZSA9PSBobmFuZC0+Q29uZmlnLkJsb2NrU2l6ZSkKICAgewotICAgIHBBZGRyZXNzLT5QYWdlID0gMFU7CisgICAgcEFkZHJlc3MtPlBhZ2UgPSAwOwogICAgIHBBZGRyZXNzLT5CbG9jaysrOwotICAgIAotICAgIGlmKHBBZGRyZXNzLT5CbG9jayA9PSBobmFuZC0+Q29uZmlnLlBsYW5lU2l6ZSkKKworICAgIGlmIChwQWRkcmVzcy0+QmxvY2sgPT0gaG5hbmQtPkNvbmZpZy5QbGFuZVNpemUpCiAgICAgewotICAgICAgcEFkZHJlc3MtPkJsb2NrID0gMFU7CisgICAgICBwQWRkcmVzcy0+QmxvY2sgPSAwOwogICAgICAgcEFkZHJlc3MtPlBsYW5lKys7CiAKLSAgICAgIGlmKHBBZGRyZXNzLT5QbGFuZSA9PSAoaG5hbmQtPkNvbmZpZy5QbGFuZU5icikpCisgICAgICBpZiAocEFkZHJlc3MtPlBsYW5lID09IChobmFuZC0+Q29uZmlnLlBsYW5lTmJyKSkKICAgICAgIHsKICAgICAgICAgc3RhdHVzID0gTkFORF9JTlZBTElEX0FERFJFU1M7CiAgICAgICB9CiAgICAgfQotICB9IAotICAKKyAgfQorCiAgIHJldHVybiAoc3RhdHVzKTsKIH0KIApAQCAtMTc2NSwxMSArMjA2MiwxMiBAQAogICAqIEBwYXJhbSBwQ2FsbGJhY2sgOiBwb2ludGVyIHRvIHRoZSBDYWxsYmFjayBmdW5jdGlvbgogICAqIEByZXR2YWwgc3RhdHVzCiAgICovCi1IQUxfU3RhdHVzVHlwZURlZiBIQUxfTkFORF9SZWdpc3RlckNhbGxiYWNrIChOQU5EX0hhbmRsZVR5cGVEZWYgKmhuYW5kLCBIQUxfTkFORF9DYWxsYmFja0lEVHlwZURlZiBDYWxsYmFja0lkLCBwTkFORF9DYWxsYmFja1R5cGVEZWYgcENhbGxiYWNrKQorSEFMX1N0YXR1c1R5cGVEZWYgSEFMX05BTkRfUmVnaXN0ZXJDYWxsYmFjayhOQU5EX0hhbmRsZVR5cGVEZWYgKmhuYW5kLCBIQUxfTkFORF9DYWxsYmFja0lEVHlwZURlZiBDYWxsYmFja0lkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwTkFORF9DYWxsYmFja1R5cGVEZWYgcENhbGxiYWNrKQogewogICBIQUxfU3RhdHVzVHlwZURlZiBzdGF0dXMgPSBIQUxfT0s7CiAKLSAgaWYocENhbGxiYWNrID09IE5VTEwpCisgIGlmIChwQ2FsbGJhY2sgPT0gTlVMTCkKICAgewogICAgIHJldHVybiBIQUxfRVJST1I7CiAgIH0KQEAgLTE3NzcsMzkgKzIwNzUsMzkgQEAKICAgLyogUHJvY2VzcyBsb2NrZWQgKi8KICAgX19IQUxfTE9DSyhobmFuZCk7CiAKLSAgaWYoaG5hbmQtPlN0YXRlID09IEhBTF9OQU5EX1NUQVRFX1JFQURZKQorICBpZiAoaG5hbmQtPlN0YXRlID09IEhBTF9OQU5EX1NUQVRFX1JFQURZKQogICB7CiAgICAgc3dpdGNoIChDYWxsYmFja0lkKQogICAgIHsKLSAgICBjYXNlIEhBTF9OQU5EX01TUF9JTklUX0NCX0lEIDoKLSAgICAgIGhuYW5kLT5Nc3BJbml0Q2FsbGJhY2sgPSBwQ2FsbGJhY2s7Ci0gICAgICBicmVhazsKLSAgICBjYXNlIEhBTF9OQU5EX01TUF9ERUlOSVRfQ0JfSUQgOgotICAgICAgaG5hbmQtPk1zcERlSW5pdENhbGxiYWNrID0gcENhbGxiYWNrOwotICAgICAgYnJlYWs7Ci0gICAgY2FzZSBIQUxfTkFORF9JVF9DQl9JRCA6Ci0gICAgICBobmFuZC0+SXRDYWxsYmFjayA9IHBDYWxsYmFjazsKLSAgICAgIGJyZWFrOwotICAgIGRlZmF1bHQgOgotICAgICAgLyogdXBkYXRlIHJldHVybiBzdGF0dXMgKi8KLSAgICAgIHN0YXR1cyA9ICBIQUxfRVJST1I7Ci0gICAgICBicmVhazsKKyAgICAgIGNhc2UgSEFMX05BTkRfTVNQX0lOSVRfQ0JfSUQgOgorICAgICAgICBobmFuZC0+TXNwSW5pdENhbGxiYWNrID0gcENhbGxiYWNrOworICAgICAgICBicmVhazsKKyAgICAgIGNhc2UgSEFMX05BTkRfTVNQX0RFSU5JVF9DQl9JRCA6CisgICAgICAgIGhuYW5kLT5Nc3BEZUluaXRDYWxsYmFjayA9IHBDYWxsYmFjazsKKyAgICAgICAgYnJlYWs7CisgICAgICBjYXNlIEhBTF9OQU5EX0lUX0NCX0lEIDoKKyAgICAgICAgaG5hbmQtPkl0Q2FsbGJhY2sgPSBwQ2FsbGJhY2s7CisgICAgICAgIGJyZWFrOworICAgICAgZGVmYXVsdCA6CisgICAgICAgIC8qIHVwZGF0ZSByZXR1cm4gc3RhdHVzICovCisgICAgICAgIHN0YXR1cyA9ICBIQUxfRVJST1I7CisgICAgICAgIGJyZWFrOwogICAgIH0KICAgfQotICBlbHNlIGlmKGhuYW5kLT5TdGF0ZSA9PSBIQUxfTkFORF9TVEFURV9SRVNFVCkKKyAgZWxzZSBpZiAoaG5hbmQtPlN0YXRlID09IEhBTF9OQU5EX1NUQVRFX1JFU0VUKQogICB7CiAgICAgc3dpdGNoIChDYWxsYmFja0lkKQogICAgIHsKLSAgICBjYXNlIEhBTF9OQU5EX01TUF9JTklUX0NCX0lEIDoKLSAgICAgIGhuYW5kLT5Nc3BJbml0Q2FsbGJhY2sgPSBwQ2FsbGJhY2s7Ci0gICAgICBicmVhazsKLSAgICBjYXNlIEhBTF9OQU5EX01TUF9ERUlOSVRfQ0JfSUQgOgotICAgICAgaG5hbmQtPk1zcERlSW5pdENhbGxiYWNrID0gcENhbGxiYWNrOwotICAgICAgYnJlYWs7Ci0gICAgZGVmYXVsdCA6Ci0gICAgICAvKiB1cGRhdGUgcmV0dXJuIHN0YXR1cyAqLwotICAgICAgc3RhdHVzID0gIEhBTF9FUlJPUjsKLSAgICAgIGJyZWFrOworICAgICAgY2FzZSBIQUxfTkFORF9NU1BfSU5JVF9DQl9JRCA6CisgICAgICAgIGhuYW5kLT5Nc3BJbml0Q2FsbGJhY2sgPSBwQ2FsbGJhY2s7CisgICAgICAgIGJyZWFrOworICAgICAgY2FzZSBIQUxfTkFORF9NU1BfREVJTklUX0NCX0lEIDoKKyAgICAgICAgaG5hbmQtPk1zcERlSW5pdENhbGxiYWNrID0gcENhbGxiYWNrOworICAgICAgICBicmVhazsKKyAgICAgIGRlZmF1bHQgOgorICAgICAgICAvKiB1cGRhdGUgcmV0dXJuIHN0YXR1cyAqLworICAgICAgICBzdGF0dXMgPSAgSEFMX0VSUk9SOworICAgICAgICBicmVhazsKICAgICB9CiAgIH0KICAgZWxzZQpAQCAtMTgzNCw0NiArMjEzMiw0NiBAQAogICAqICAgICAgICAgIEBhcmcgQHJlZiBIQUxfTkFORF9JVF9DQl9JRCAgICAgICAgICAgICBOQU5EIElUIGNhbGxiYWNrIElECiAgICogQHJldHZhbCBzdGF0dXMKICAgKi8KLUhBTF9TdGF0dXNUeXBlRGVmIEhBTF9OQU5EX1VuUmVnaXN0ZXJDYWxsYmFjayAoTkFORF9IYW5kbGVUeXBlRGVmICpobmFuZCwgSEFMX05BTkRfQ2FsbGJhY2tJRFR5cGVEZWYgQ2FsbGJhY2tJZCkKK0hBTF9TdGF0dXNUeXBlRGVmIEhBTF9OQU5EX1VuUmVnaXN0ZXJDYWxsYmFjayhOQU5EX0hhbmRsZVR5cGVEZWYgKmhuYW5kLCBIQUxfTkFORF9DYWxsYmFja0lEVHlwZURlZiBDYWxsYmFja0lkKQogewogICBIQUxfU3RhdHVzVHlwZURlZiBzdGF0dXMgPSBIQUxfT0s7CiAKICAgLyogUHJvY2VzcyBsb2NrZWQgKi8KICAgX19IQUxfTE9DSyhobmFuZCk7CiAKLSAgaWYoaG5hbmQtPlN0YXRlID09IEhBTF9OQU5EX1NUQVRFX1JFQURZKQorICBpZiAoaG5hbmQtPlN0YXRlID09IEhBTF9OQU5EX1NUQVRFX1JFQURZKQogICB7CiAgICAgc3dpdGNoIChDYWxsYmFja0lkKQogICAgIHsKLSAgICBjYXNlIEhBTF9OQU5EX01TUF9JTklUX0NCX0lEIDoKLSAgICAgIGhuYW5kLT5Nc3BJbml0Q2FsbGJhY2sgPSBIQUxfTkFORF9Nc3BJbml0OwotICAgICAgYnJlYWs7Ci0gICAgY2FzZSBIQUxfTkFORF9NU1BfREVJTklUX0NCX0lEIDoKLSAgICAgIGhuYW5kLT5Nc3BEZUluaXRDYWxsYmFjayA9IEhBTF9OQU5EX01zcERlSW5pdDsKLSAgICAgIGJyZWFrOwotICAgIGNhc2UgSEFMX05BTkRfSVRfQ0JfSUQgOgotICAgICAgaG5hbmQtPkl0Q2FsbGJhY2sgPSBIQUxfTkFORF9JVENhbGxiYWNrOwotICAgICAgYnJlYWs7Ci0gICAgZGVmYXVsdCA6Ci0gICAgICAvKiB1cGRhdGUgcmV0dXJuIHN0YXR1cyAqLwotICAgICAgc3RhdHVzID0gIEhBTF9FUlJPUjsKLSAgICAgIGJyZWFrOworICAgICAgY2FzZSBIQUxfTkFORF9NU1BfSU5JVF9DQl9JRCA6CisgICAgICAgIGhuYW5kLT5Nc3BJbml0Q2FsbGJhY2sgPSBIQUxfTkFORF9Nc3BJbml0OworICAgICAgICBicmVhazsKKyAgICAgIGNhc2UgSEFMX05BTkRfTVNQX0RFSU5JVF9DQl9JRCA6CisgICAgICAgIGhuYW5kLT5Nc3BEZUluaXRDYWxsYmFjayA9IEhBTF9OQU5EX01zcERlSW5pdDsKKyAgICAgICAgYnJlYWs7CisgICAgICBjYXNlIEhBTF9OQU5EX0lUX0NCX0lEIDoKKyAgICAgICAgaG5hbmQtPkl0Q2FsbGJhY2sgPSBIQUxfTkFORF9JVENhbGxiYWNrOworICAgICAgICBicmVhazsKKyAgICAgIGRlZmF1bHQgOgorICAgICAgICAvKiB1cGRhdGUgcmV0dXJuIHN0YXR1cyAqLworICAgICAgICBzdGF0dXMgPSAgSEFMX0VSUk9SOworICAgICAgICBicmVhazsKICAgICB9CiAgIH0KLSAgZWxzZSBpZihobmFuZC0+U3RhdGUgPT0gSEFMX05BTkRfU1RBVEVfUkVTRVQpCisgIGVsc2UgaWYgKGhuYW5kLT5TdGF0ZSA9PSBIQUxfTkFORF9TVEFURV9SRVNFVCkKICAgewogICAgIHN3aXRjaCAoQ2FsbGJhY2tJZCkKICAgICB7Ci0gICAgY2FzZSBIQUxfTkFORF9NU1BfSU5JVF9DQl9JRCA6Ci0gICAgICBobmFuZC0+TXNwSW5pdENhbGxiYWNrID0gSEFMX05BTkRfTXNwSW5pdDsKLSAgICAgIGJyZWFrOwotICAgIGNhc2UgSEFMX05BTkRfTVNQX0RFSU5JVF9DQl9JRCA6Ci0gICAgICBobmFuZC0+TXNwRGVJbml0Q2FsbGJhY2sgPSBIQUxfTkFORF9Nc3BEZUluaXQ7Ci0gICAgICBicmVhazsKLSAgICBkZWZhdWx0IDoKLSAgICAgIC8qIHVwZGF0ZSByZXR1cm4gc3RhdHVzICovCi0gICAgICBzdGF0dXMgPSAgSEFMX0VSUk9SOwotICAgICAgYnJlYWs7CisgICAgICBjYXNlIEhBTF9OQU5EX01TUF9JTklUX0NCX0lEIDoKKyAgICAgICAgaG5hbmQtPk1zcEluaXRDYWxsYmFjayA9IEhBTF9OQU5EX01zcEluaXQ7CisgICAgICAgIGJyZWFrOworICAgICAgY2FzZSBIQUxfTkFORF9NU1BfREVJTklUX0NCX0lEIDoKKyAgICAgICAgaG5hbmQtPk1zcERlSW5pdENhbGxiYWNrID0gSEFMX05BTkRfTXNwRGVJbml0OworICAgICAgICBicmVhazsKKyAgICAgIGRlZmF1bHQgOgorICAgICAgICAvKiB1cGRhdGUgcmV0dXJuIHN0YXR1cyAqLworICAgICAgICBzdGF0dXMgPSAgSEFMX0VSUk9SOworICAgICAgICBicmVhazsKICAgICB9CiAgIH0KICAgZWxzZQpAQCAtMTg4Niw1MSArMjE4NCw1NyBAQAogICBfX0hBTF9VTkxPQ0soaG5hbmQpOwogICByZXR1cm4gc3RhdHVzOwogfQotI2VuZGlmCisjZW5kaWYgLyogVVNFX0hBTF9OQU5EX1JFR0lTVEVSX0NBTExCQUNLUyAqLwogCiAvKioKICAgKiBAfQogICAqLwogCi0vKiogQGRlZmdyb3VwIE5BTkRfRXhwb3J0ZWRfRnVuY3Rpb25zX0dyb3VwMyBQZXJpcGhlcmFsIENvbnRyb2wgZnVuY3Rpb25zIAotICogIEBicmllZiAgIG1hbmFnZW1lbnQgZnVuY3Rpb25zIAotICoKLUB2ZXJiYXRpbSAgIAorLyoqIEBkZWZncm91cCBOQU5EX0V4cG9ydGVkX0Z1bmN0aW9uc19Hcm91cDMgUGVyaXBoZXJhbCBDb250cm9sIGZ1bmN0aW9ucworICAqICBAYnJpZWYgICBtYW5hZ2VtZW50IGZ1bmN0aW9ucworICAqCitAdmVyYmF0aW0KICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAgICAgICAgICAgICAgICAgICAgICAgIyMjIyMgTkFORCBDb250cm9sIGZ1bmN0aW9ucyAjIyMjIwotICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gIAorICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgWy4uXQogICAgIFRoaXMgc3Vic2VjdGlvbiBwcm92aWRlcyBhIHNldCBvZiBmdW5jdGlvbnMgYWxsb3dpbmcgdG8gY29udHJvbCBkeW5hbWljYWxseQogICAgIHRoZSBOQU5EIGludGVyZmFjZS4KIAogQGVuZHZlcmJhdGltCiAgICogQHsKLSAgKi8gCisgICovCiAKLSAgICAKKwogLyoqCiAgICogQGJyaWVmICBFbmFibGVzIGR5bmFtaWNhbGx5IE5BTkQgRUNDIGZlYXR1cmUuCiAgICogQHBhcmFtICBobmFuZCBwb2ludGVyIHRvIGEgTkFORF9IYW5kbGVUeXBlRGVmIHN0cnVjdHVyZSB0aGF0IGNvbnRhaW5zCiAgICogICAgICAgICAgICAgICAgdGhlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gZm9yIE5BTkQgbW9kdWxlLgogICAqIEByZXR2YWwgSEFMIHN0YXR1cwotICAqLyAgICAKKyAgKi8KIEhBTF9TdGF0dXNUeXBlRGVmICBIQUxfTkFORF9FQ0NfRW5hYmxlKE5BTkRfSGFuZGxlVHlwZURlZiAqaG5hbmQpCiB7CiAgIC8qIENoZWNrIHRoZSBOQU5EIGNvbnRyb2xsZXIgc3RhdGUgKi8KLSAgaWYoaG5hbmQtPlN0YXRlID09IEhBTF9OQU5EX1NUQVRFX0JVU1kpCisgIGlmIChobmFuZC0+U3RhdGUgPT0gSEFMX05BTkRfU1RBVEVfQlVTWSkKICAgewotICAgICByZXR1cm4gSEFMX0JVU1k7CisgICAgcmV0dXJuIEhBTF9CVVNZOworICB9CisgIGVsc2UgaWYgKGhuYW5kLT5TdGF0ZSA9PSBIQUxfTkFORF9TVEFURV9SRUFEWSkKKyAgeworICAgIC8qIFVwZGF0ZSB0aGUgTkFORCBzdGF0ZSAqLworICAgIGhuYW5kLT5TdGF0ZSA9IEhBTF9OQU5EX1NUQVRFX0JVU1k7CisKKyAgICAvKiBFbmFibGUgRUNDIGZlYXR1cmUgKi8KKyAgICAodm9pZClGTUNfTkFORF9FQ0NfRW5hYmxlKGhuYW5kLT5JbnN0YW5jZSwgaG5hbmQtPkluaXQuTmFuZEJhbmspOworCisgICAgLyogVXBkYXRlIHRoZSBOQU5EIHN0YXRlICovCisgICAgaG5hbmQtPlN0YXRlID0gSEFMX05BTkRfU1RBVEVfUkVBRFk7CisgIH0KKyAgZWxzZQorICB7CisgICAgcmV0dXJuIEhBTF9FUlJPUjsKICAgfQogCi0gIC8qIFVwZGF0ZSB0aGUgTkFORCBzdGF0ZSAqLwotICBobmFuZC0+U3RhdGUgPSBIQUxfTkFORF9TVEFURV9CVVNZOwotICAgCi0gIC8qIEVuYWJsZSBFQ0MgZmVhdHVyZSAqLwotICBGTUNfTkFORF9FQ0NfRW5hYmxlKGhuYW5kLT5JbnN0YW5jZSwgaG5hbmQtPkluaXQuTmFuZEJhbmspOwotICAKLSAgLyogVXBkYXRlIHRoZSBOQU5EIHN0YXRlICovCi0gIGhuYW5kLT5TdGF0ZSA9IEhBTF9OQU5EX1NUQVRFX1JFQURZOwotICAKICAgcmV0dXJuIEhBTF9PSzsKIH0KIApAQCAtMTkzOSw3NyArMjI0Myw4OSBAQAogICAqIEBwYXJhbSAgaG5hbmQgcG9pbnRlciB0byBhIE5BTkRfSGFuZGxlVHlwZURlZiBzdHJ1Y3R1cmUgdGhhdCBjb250YWlucwogICAqICAgICAgICAgICAgICAgIHRoZSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIGZvciBOQU5EIG1vZHVsZS4KICAgKiBAcmV0dmFsIEhBTCBzdGF0dXMKLSAgKi8gIAorICAqLwogSEFMX1N0YXR1c1R5cGVEZWYgIEhBTF9OQU5EX0VDQ19EaXNhYmxlKE5BTkRfSGFuZGxlVHlwZURlZiAqaG5hbmQpCiB7CiAgIC8qIENoZWNrIHRoZSBOQU5EIGNvbnRyb2xsZXIgc3RhdGUgKi8KLSAgaWYoaG5hbmQtPlN0YXRlID09IEhBTF9OQU5EX1NUQVRFX0JVU1kpCisgIGlmIChobmFuZC0+U3RhdGUgPT0gSEFMX05BTkRfU1RBVEVfQlVTWSkKICAgewotICAgICByZXR1cm4gSEFMX0JVU1k7CisgICAgcmV0dXJuIEhBTF9CVVNZOworICB9CisgIGVsc2UgaWYgKGhuYW5kLT5TdGF0ZSA9PSBIQUxfTkFORF9TVEFURV9SRUFEWSkKKyAgeworICAgIC8qIFVwZGF0ZSB0aGUgTkFORCBzdGF0ZSAqLworICAgIGhuYW5kLT5TdGF0ZSA9IEhBTF9OQU5EX1NUQVRFX0JVU1k7CisKKyAgICAvKiBEaXNhYmxlIEVDQyBmZWF0dXJlICovCisgICAgKHZvaWQpRk1DX05BTkRfRUNDX0Rpc2FibGUoaG5hbmQtPkluc3RhbmNlLCBobmFuZC0+SW5pdC5OYW5kQmFuayk7CisKKyAgICAvKiBVcGRhdGUgdGhlIE5BTkQgc3RhdGUgKi8KKyAgICBobmFuZC0+U3RhdGUgPSBIQUxfTkFORF9TVEFURV9SRUFEWTsKKyAgfQorICBlbHNlCisgIHsKKyAgICByZXR1cm4gSEFMX0VSUk9SOwogICB9CiAKLSAgLyogVXBkYXRlIHRoZSBOQU5EIHN0YXRlICovCi0gIGhuYW5kLT5TdGF0ZSA9IEhBTF9OQU5EX1NUQVRFX0JVU1k7Ci0gICAgCi0gIC8qIERpc2FibGUgRUNDIGZlYXR1cmUgKi8KLSAgRk1DX05BTkRfRUNDX0Rpc2FibGUoaG5hbmQtPkluc3RhbmNlLCBobmFuZC0+SW5pdC5OYW5kQmFuayk7Ci0gIAotICAvKiBVcGRhdGUgdGhlIE5BTkQgc3RhdGUgKi8KLSAgaG5hbmQtPlN0YXRlID0gSEFMX05BTkRfU1RBVEVfUkVBRFk7Ci0gIAotICByZXR1cm4gSEFMX09LOyAgCisgIHJldHVybiBIQUxfT0s7CiB9CiAKIC8qKgogICAqIEBicmllZiAgRGlzYWJsZXMgZHluYW1pY2FsbHkgTkFORCBFQ0MgZmVhdHVyZS4KICAgKiBAcGFyYW0gIGhuYW5kIHBvaW50ZXIgdG8gYSBOQU5EX0hhbmRsZVR5cGVEZWYgc3RydWN0dXJlIHRoYXQgY29udGFpbnMKICAgKiAgICAgICAgICAgICAgICB0aGUgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbiBmb3IgTkFORCBtb2R1bGUuCi0gICogQHBhcmFtICBFQ0N2YWwgcG9pbnRlciB0byBFQ0MgdmFsdWUgCi0gICogQHBhcmFtICBUaW1lb3V0IG1heGltdW0gdGltZW91dCB0byB3YWl0ICAgIAorICAqIEBwYXJhbSAgRUNDdmFsIHBvaW50ZXIgdG8gRUNDIHZhbHVlCisgICogQHBhcmFtICBUaW1lb3V0IG1heGltdW0gdGltZW91dCB0byB3YWl0CiAgICogQHJldHZhbCBIQUwgc3RhdHVzCiAgICovCiBIQUxfU3RhdHVzVHlwZURlZiAgSEFMX05BTkRfR2V0RUNDKE5BTkRfSGFuZGxlVHlwZURlZiAqaG5hbmQsIHVpbnQzMl90ICpFQ0N2YWwsIHVpbnQzMl90IFRpbWVvdXQpCiB7Ci0gIEhBTF9TdGF0dXNUeXBlRGVmIHN0YXR1cyA9IEhBTF9PSzsKLSAgCi0gIC8qIENoZWNrIHRoZSBOQU5EIGNvbnRyb2xsZXIgc3RhdGUgKi8KLSAgaWYoaG5hbmQtPlN0YXRlID09IEhBTF9OQU5EX1NUQVRFX0JVU1kpCi0gIHsKLSAgICAgcmV0dXJuIEhBTF9CVVNZOwotICB9Ci0gIAotICAvKiBVcGRhdGUgdGhlIE5BTkQgc3RhdGUgKi8KLSAgaG5hbmQtPlN0YXRlID0gSEFMX05BTkRfU1RBVEVfQlVTWTsgIAotICAgCi0gIC8qIEdldCBOQU5EIEVDQyB2YWx1ZSAqLwotICBzdGF0dXMgPSBGTUNfTkFORF9HZXRFQ0MoaG5hbmQtPkluc3RhbmNlLCBFQ0N2YWwsIGhuYW5kLT5Jbml0Lk5hbmRCYW5rLCBUaW1lb3V0KTsKLSAgCi0gIC8qIFVwZGF0ZSB0aGUgTkFORCBzdGF0ZSAqLwotICBobmFuZC0+U3RhdGUgPSBIQUxfTkFORF9TVEFURV9SRUFEWTsKKyAgSEFMX1N0YXR1c1R5cGVEZWYgc3RhdHVzOwogCi0gIHJldHVybiBzdGF0dXM7ICAKKyAgLyogQ2hlY2sgdGhlIE5BTkQgY29udHJvbGxlciBzdGF0ZSAqLworICBpZiAoaG5hbmQtPlN0YXRlID09IEhBTF9OQU5EX1NUQVRFX0JVU1kpCisgIHsKKyAgICByZXR1cm4gSEFMX0JVU1k7CisgIH0KKyAgZWxzZSBpZiAoaG5hbmQtPlN0YXRlID09IEhBTF9OQU5EX1NUQVRFX1JFQURZKQorICB7CisgICAgLyogVXBkYXRlIHRoZSBOQU5EIHN0YXRlICovCisgICAgaG5hbmQtPlN0YXRlID0gSEFMX05BTkRfU1RBVEVfQlVTWTsKKworICAgIC8qIEdldCBOQU5EIEVDQyB2YWx1ZSAqLworICAgIHN0YXR1cyA9IEZNQ19OQU5EX0dldEVDQyhobmFuZC0+SW5zdGFuY2UsIEVDQ3ZhbCwgaG5hbmQtPkluaXQuTmFuZEJhbmssIFRpbWVvdXQpOworCisgICAgLyogVXBkYXRlIHRoZSBOQU5EIHN0YXRlICovCisgICAgaG5hbmQtPlN0YXRlID0gSEFMX05BTkRfU1RBVEVfUkVBRFk7CisgIH0KKyAgZWxzZQorICB7CisgICAgcmV0dXJuIEhBTF9FUlJPUjsKKyAgfQorCisgIHJldHVybiBzdGF0dXM7CiB9CiAKIC8qKgogICAqIEB9CiAgICovCi0gIAotICAgIAotLyoqIEBkZWZncm91cCBOQU5EX0V4cG9ydGVkX0Z1bmN0aW9uc19Hcm91cDQgUGVyaXBoZXJhbCBTdGF0ZSBmdW5jdGlvbnMgCi0gKiAgQGJyaWVmICAgUGVyaXBoZXJhbCBTdGF0ZSBmdW5jdGlvbnMgCi0gKgotQHZlcmJhdGltICAgCisKKworLyoqIEBkZWZncm91cCBOQU5EX0V4cG9ydGVkX0Z1bmN0aW9uc19Hcm91cDQgUGVyaXBoZXJhbCBTdGF0ZSBmdW5jdGlvbnMKKyAgKiAgQGJyaWVmICAgUGVyaXBoZXJhbCBTdGF0ZSBmdW5jdGlvbnMKKyAgKgorQHZlcmJhdGltCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgICAgICAgICAgICAgICAgICAgICAgICMjIyMjIE5BTkQgU3RhdGUgZnVuY3Rpb25zICMjIyMjCi0gID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAgCisgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICBbLi5dCi0gICAgVGhpcyBzdWJzZWN0aW9uIHBlcm1pdHMgdG8gZ2V0IGluIHJ1bi10aW1lIHRoZSBzdGF0dXMgb2YgdGhlIE5BTkQgY29udHJvbGxlciAKKyAgICBUaGlzIHN1YnNlY3Rpb24gcGVybWl0cyB0byBnZXQgaW4gcnVuLXRpbWUgdGhlIHN0YXR1cyBvZiB0aGUgTkFORCBjb250cm9sbGVyCiAgICAgYW5kIHRoZSBkYXRhIGZsb3cuCiAKIEBlbmR2ZXJiYXRpbQogICAqIEB7CiAgICovCi0gIAorCiAvKioKICAgKiBAYnJpZWYgIHJldHVybiB0aGUgTkFORCBzdGF0ZQogICAqIEBwYXJhbSAgaG5hbmQgcG9pbnRlciB0byBhIE5BTkRfSGFuZGxlVHlwZURlZiBzdHJ1Y3R1cmUgdGhhdCBjb250YWlucwpAQCAtMjAyMiw4ICsyMzM4LDUxIEBACiB9CiAKIC8qKgotICAqIEB9Ci0gICovICAKKyAgKiBAYnJpZWYgIE5BTkQgbWVtb3J5IHJlYWQgc3RhdHVzCisgICogQHBhcmFtICBobmFuZCBwb2ludGVyIHRvIGEgTkFORF9IYW5kbGVUeXBlRGVmIHN0cnVjdHVyZSB0aGF0IGNvbnRhaW5zCisgICogICAgICAgICAgICAgICAgdGhlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gZm9yIE5BTkQgbW9kdWxlLgorICAqIEByZXR2YWwgTkFORCBzdGF0dXMKKyAgKi8KK3VpbnQzMl90IEhBTF9OQU5EX1JlYWRfU3RhdHVzKE5BTkRfSGFuZGxlVHlwZURlZiAqaG5hbmQpCit7CisgIHVpbnQzMl90IGRhdGE7CisgIHVpbnQzMl90IGRldmljZWFkZHJlc3M7CisgIFVOVVNFRChobmFuZCk7CisKKyAgLyogSWRlbnRpZnkgdGhlIGRldmljZSBhZGRyZXNzICovCisjaWYgZGVmaW5lZChGTUNfQmFuazJfMykKKyAgaWYgKGhuYW5kLT5Jbml0Lk5hbmRCYW5rID09IEZNQ19OQU5EX0JBTksyKQorICB7CisgICAgZGV2aWNlYWRkcmVzcyA9IE5BTkRfREVWSUNFMTsKKyAgfQorICBlbHNlCisgIHsKKyAgICBkZXZpY2VhZGRyZXNzID0gTkFORF9ERVZJQ0UyOworICB9CisjZWxzZQorICBkZXZpY2VhZGRyZXNzID0gTkFORF9ERVZJQ0U7CisjZW5kaWYKKworICAvKiBTZW5kIFJlYWQgc3RhdHVzIG9wZXJhdGlvbiBjb21tYW5kICovCisgICooX19JTyB1aW50OF90ICopKCh1aW50MzJfdCkoZGV2aWNlYWRkcmVzcyB8IENNRF9BUkVBKSkgPSBOQU5EX0NNRF9TVEFUVVM7CisKKyAgLyogUmVhZCBzdGF0dXMgcmVnaXN0ZXIgZGF0YSAqLworICBkYXRhID0gKihfX0lPIHVpbnQ4X3QgKilkZXZpY2VhZGRyZXNzOworCisgIC8qIFJldHVybiB0aGUgc3RhdHVzICovCisgIGlmICgoZGF0YSAmIE5BTkRfRVJST1IpID09IE5BTkRfRVJST1IpCisgIHsKKyAgICByZXR1cm4gTkFORF9FUlJPUjsKKyAgfQorICBlbHNlIGlmICgoZGF0YSAmIE5BTkRfUkVBRFkpID09IE5BTkRfUkVBRFkpCisgIHsKKyAgICByZXR1cm4gTkFORF9SRUFEWTsKKyAgfQorICBlbHNlCisgIHsKKyAgICByZXR1cm4gTkFORF9CVVNZOworICB9Cit9CiAKIC8qKgogICAqIEB9CkBAIC0yMDMzLDEzICsyMzkyLDE0IEBACiAgICogQH0KICAgKi8KIAotI2VuZGlmIC8qIFNUTTMyRjQwNXh4IHx8IFNUTTMyRjQxNXh4IHx8IFNUTTMyRjQwN3h4IHx8IFNUTTMyRjQxN3h4IHx8XAotICAgICAgICAgIFNUTTMyRjQyN3h4IHx8IFNUTTMyRjQzN3h4IHx8IFNUTTMyRjQyOXh4IHx8IFNUTTMyRjQzOXh4IHx8XAotICAgICAgICAgIFNUTTMyRjQ0Nnh4IHx8IFNUTTMyRjQ2OXh4IHx8IFNUTTMyRjQ3OXh4ICovCisvKioKKyAgKiBAfQorICAqLworCiAjZW5kaWYgLyogSEFMX05BTkRfTU9EVUxFX0VOQUJMRUQgICovCiAKIC8qKgogICAqIEB9CiAgICovCiAKLS8qKioqKioqKioqKioqKioqKioqKioqKiogKEMpIENPUFlSSUdIVCBTVE1pY3JvZWxlY3Ryb25pY3MgKioqKipFTkQgT0YgRklMRSoqKiovCisjZW5kaWYgLyogRk1DX0JhbmszKSB8fCBkZWZpbmVkKEZNQ19CYW5rMl8zKSB8fCBkZWZpbmVkKEZTTUNfQmFuazJfMyAqLwpkaWZmIC0tZ2l0IGEvU3JjL3N0bTMyZjR4eF9oYWxfbm9yLmMgYi9TcmMvc3RtMzJmNHh4X2hhbF9ub3IuYwppbmRleCAzNGEwMDljLi4wYTgyMDQ0IDEwMDY0NAotLS0gYS9TcmMvc3RtMzJmNHh4X2hhbF9ub3IuYworKysgYi9TcmMvc3RtMzJmNHh4X2hhbF9ub3IuYwpAQCAtMyw1MCArMyw2MSBAQAogICAqIEBmaWxlICAgIHN0bTMyZjR4eF9oYWxfbm9yLmMKICAgKiBAYXV0aG9yICBNQ0QgQXBwbGljYXRpb24gVGVhbQogICAqIEBicmllZiAgIE5PUiBIQUwgbW9kdWxlIGRyaXZlci4KLSAgKiAgICAgICAgICBUaGlzIGZpbGUgcHJvdmlkZXMgYSBnZW5lcmljIGZpcm13YXJlIHRvIGRyaXZlIE5PUiBtZW1vcmllcyBtb3VudGVkIAorICAqICAgICAgICAgIFRoaXMgZmlsZSBwcm92aWRlcyBhIGdlbmVyaWMgZmlybXdhcmUgdG8gZHJpdmUgTk9SIG1lbW9yaWVzIG1vdW50ZWQKICAgKiAgICAgICAgICBhcyBleHRlcm5hbCBkZXZpY2UuCi0gICogICAgICAgICAKKyAgKgorICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAgKiBAYXR0ZW50aW9uCisgICoKKyAgKiBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgorICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgICoKKyAgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIHVuZGVyIHRlcm1zIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUKKyAgKiBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb2Z0d2FyZSBjb21wb25lbnQuCisgICogSWYgbm8gTElDRU5TRSBmaWxlIGNvbWVzIHdpdGggdGhpcyBzb2Z0d2FyZSwgaXQgaXMgcHJvdmlkZWQgQVMtSVMuCisgICoKKyAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgIEB2ZXJiYXRpbQogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgICAgICAgICAgICAgICAgICAgICMjIyMjIEhvdyB0byB1c2UgdGhpcyBkcml2ZXIgIyMjIyMKLSAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICAgICAgIAorICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgICBbLi5dCi0gICAgICBUaGlzIGRyaXZlciBpcyBhIGdlbmVyaWMgbGF5ZXJlZCBkcml2ZXIgd2hpY2ggY29udGFpbnMgYSBzZXQgb2YgQVBJcyB1c2VkIHRvIAotICAgICAgY29udHJvbCBOT1IgZmxhc2ggbWVtb3JpZXMuIEl0IHVzZXMgdGhlIEZNQy9GU01DIGxheWVyIGZ1bmN0aW9ucyB0byBpbnRlcmZhY2UgCisgICAgICBUaGlzIGRyaXZlciBpcyBhIGdlbmVyaWMgbGF5ZXJlZCBkcml2ZXIgd2hpY2ggY29udGFpbnMgYSBzZXQgb2YgQVBJcyB1c2VkIHRvCisgICAgICBjb250cm9sIE5PUiBmbGFzaCBtZW1vcmllcy4gSXQgdXNlcyB0aGUgRk1DL0ZTTUMgbGF5ZXIgZnVuY3Rpb25zIHRvIGludGVyZmFjZQogICAgICAgd2l0aCBOT1IgZGV2aWNlcy4gVGhpcyBkcml2ZXIgaXMgdXNlZCBhcyBmb2xsb3dzOgotICAgIAotICAgICAgKCspIE5PUiBmbGFzaCBtZW1vcnkgY29uZmlndXJhdGlvbiBzZXF1ZW5jZSB1c2luZyB0aGUgZnVuY3Rpb24gSEFMX05PUl9Jbml0KCkgCisKKyAgICAgICgrKSBOT1IgZmxhc2ggbWVtb3J5IGNvbmZpZ3VyYXRpb24gc2VxdWVuY2UgdXNpbmcgdGhlIGZ1bmN0aW9uIEhBTF9OT1JfSW5pdCgpCiAgICAgICAgICAgd2l0aCBjb250cm9sIGFuZCB0aW1pbmcgcGFyYW1ldGVycyBmb3IgYm90aCBub3JtYWwgYW5kIGV4dGVuZGVkIG1vZGUuCi0gICAgICAgICAgICAKKwogICAgICAgKCspIFJlYWQgTk9SIGZsYXNoIG1lbW9yeSBtYW51ZmFjdHVyZXIgY29kZSBhbmQgZGV2aWNlIElEcyB1c2luZyB0aGUgZnVuY3Rpb24KLSAgICAgICAgICBIQUxfTk9SX1JlYWRfSUQoKS4gVGhlIHJlYWQgaW5mb3JtYXRpb24gaXMgc3RvcmVkIGluIHRoZSBOT1JfSURfVHlwZURlZiAKLSAgICAgICAgICBzdHJ1Y3R1cmUgZGVjbGFyZWQgYnkgdGhlIGZ1bmN0aW9uIGNhbGxlci4gCi0gICAgICAgIAorICAgICAgICAgIEhBTF9OT1JfUmVhZF9JRCgpLiBUaGUgcmVhZCBpbmZvcm1hdGlvbiBpcyBzdG9yZWQgaW4gdGhlIE5PUl9JRF9UeXBlRGVmCisgICAgICAgICAgc3RydWN0dXJlIGRlY2xhcmVkIGJ5IHRoZSBmdW5jdGlvbiBjYWxsZXIuCisKICAgICAgICgrKSBBY2Nlc3MgTk9SIGZsYXNoIG1lbW9yeSBieSByZWFkL3dyaXRlIGRhdGEgdW5pdCBvcGVyYXRpb25zIHVzaW5nIHRoZSBmdW5jdGlvbnMKICAgICAgICAgICBIQUxfTk9SX1JlYWQoKSwgSEFMX05PUl9Qcm9ncmFtKCkuCi0gICAgICAgIAotICAgICAgKCspIFBlcmZvcm0gTk9SIGZsYXNoIGVyYXNlIGJsb2NrL2NoaXAgb3BlcmF0aW9ucyB1c2luZyB0aGUgZnVuY3Rpb25zIAorCisgICAgICAoKykgUGVyZm9ybSBOT1IgZmxhc2ggZXJhc2UgYmxvY2svY2hpcCBvcGVyYXRpb25zIHVzaW5nIHRoZSBmdW5jdGlvbnMKICAgICAgICAgICBIQUxfTk9SX0VyYXNlX0Jsb2NrKCkgYW5kIEhBTF9OT1JfRXJhc2VfQ2hpcCgpLgotICAgICAgICAKKwogICAgICAgKCspIFJlYWQgdGhlIE5PUiBmbGFzaCBDRkkgKGNvbW1vbiBmbGFzaCBpbnRlcmZhY2UpIElEcyB1c2luZyB0aGUgZnVuY3Rpb24KICAgICAgICAgICBIQUxfTk9SX1JlYWRfQ0ZJKCkuIFRoZSByZWFkIGluZm9ybWF0aW9uIGlzIHN0b3JlZCBpbiB0aGUgTk9SX0NGSV9UeXBlRGVmCiAgICAgICAgICAgc3RydWN0dXJlIGRlY2xhcmVkIGJ5IHRoZSBmdW5jdGlvbiBjYWxsZXIuCi0gICAgICAgIAorCiAgICAgICAoKykgWW91IGNhbiBhbHNvIGNvbnRyb2wgdGhlIE5PUiBkZXZpY2UgYnkgY2FsbGluZyB0aGUgY29udHJvbCBBUElzIEhBTF9OT1JfV3JpdGVPcGVyYXRpb25fRW5hYmxlKCkvCi0gICAgICAgICAgSEFMX05PUl9Xcml0ZU9wZXJhdGlvbl9EaXNhYmxlKCkgdG8gcmVzcGVjdGl2ZWx5IGVuYWJsZS9kaXNhYmxlIHRoZSBOT1Igd3JpdGUgb3BlcmF0aW9uICAKLSAgICAgICAKKyAgICAgICAgICBIQUxfTk9SX1dyaXRlT3BlcmF0aW9uX0Rpc2FibGUoKSB0byByZXNwZWN0aXZlbHkgZW5hYmxlL2Rpc2FibGUgdGhlIE5PUiB3cml0ZSBvcGVyYXRpb24KKwogICAgICAgKCspIFlvdSBjYW4gbW9uaXRvciB0aGUgTk9SIGRldmljZSBIQUwgc3RhdGUgYnkgY2FsbGluZyB0aGUgZnVuY3Rpb24KLSAgICAgICAgICBIQUxfTk9SX0dldFN0YXRlKCkgCisgICAgICAgICAgSEFMX05PUl9HZXRTdGF0ZSgpCiAgICAgWy4uXQogICAgICAoQCkgVGhpcyBkcml2ZXIgaXMgYSBzZXQgb2YgZ2VuZXJpYyBBUElzIHdoaWNoIGhhbmRsZSBzdGFuZGFyZCBOT1IgZmxhc2ggb3BlcmF0aW9ucy4KLSAgICAgICAgIElmIGEgTk9SIGZsYXNoIGRldmljZSBjb250YWlucyBkaWZmZXJlbnQgb3BlcmF0aW9ucyBhbmQvb3IgaW1wbGVtZW50YXRpb25zLCAKKyAgICAgICAgIElmIGEgTk9SIGZsYXNoIGRldmljZSBjb250YWlucyBkaWZmZXJlbnQgb3BlcmF0aW9ucyBhbmQvb3IgaW1wbGVtZW50YXRpb25zLAogICAgICAgICAgaXQgc2hvdWxkIGJlIGltcGxlbWVudGVkIHNlcGFyYXRlbHkuCiAKICAgICAgKioqIE5PUiBIQUwgZHJpdmVyIG1hY3JvcyBsaXN0ICoqKgotICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gCisgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgICBbLi5dCiAgICAgICAgQmVsb3cgdGhlIGxpc3Qgb2YgbW9zdCB1c2VkIG1hY3JvcyBpbiBOT1IgSEFMIGRyaXZlci4KLSAgICAgICAKKwogICAgICAgKCspIE5PUl9XUklURSA6IE5PUiBtZW1vcnkgd3JpdGUgZGF0YSB0byBzcGVjaWZpZWQgYWRkcmVzcwogCiAgICAgKioqIENhbGxiYWNrIHJlZ2lzdHJhdGlvbiAqKioKQEAgLTU1LDI1ICs2NiwyNSBAQAogICAgICAgVGhlIGNvbXBpbGF0aW9uIGRlZmluZSAgVVNFX0hBTF9OT1JfUkVHSVNURVJfQ0FMTEJBQ0tTIHdoZW4gc2V0IHRvIDEKICAgICAgIGFsbG93cyB0aGUgdXNlciB0byBjb25maWd1cmUgZHluYW1pY2FsbHkgdGhlIGRyaXZlciBjYWxsYmFja3MuCiAKLSAgICAgIFVzZSBGdW5jdGlvbnMgQHJlZiBIQUxfTk9SX1JlZ2lzdGVyQ2FsbGJhY2soKSB0byByZWdpc3RlciBhIHVzZXIgY2FsbGJhY2ssCisgICAgICBVc2UgRnVuY3Rpb25zIEhBTF9OT1JfUmVnaXN0ZXJDYWxsYmFjaygpIHRvIHJlZ2lzdGVyIGEgdXNlciBjYWxsYmFjaywKICAgICAgIGl0IGFsbG93cyB0byByZWdpc3RlciBmb2xsb3dpbmcgY2FsbGJhY2tzOgogICAgICAgICAoKykgTXNwSW5pdENhbGxiYWNrICAgIDogTk9SIE1zcEluaXQuCiAgICAgICAgICgrKSBNc3BEZUluaXRDYWxsYmFjayAgOiBOT1IgTXNwRGVJbml0LgogICAgICAgVGhpcyBmdW5jdGlvbiB0YWtlcyBhcyBwYXJhbWV0ZXJzIHRoZSBIQUwgcGVyaXBoZXJhbCBoYW5kbGUsIHRoZSBDYWxsYmFjayBJRAogICAgICAgYW5kIGEgcG9pbnRlciB0byB0aGUgdXNlciBjYWxsYmFjayBmdW5jdGlvbi4KIAotICAgICAgVXNlIGZ1bmN0aW9uIEByZWYgSEFMX05PUl9VblJlZ2lzdGVyQ2FsbGJhY2soKSB0byByZXNldCBhIGNhbGxiYWNrIHRvIHRoZSBkZWZhdWx0CisgICAgICBVc2UgZnVuY3Rpb24gSEFMX05PUl9VblJlZ2lzdGVyQ2FsbGJhY2soKSB0byByZXNldCBhIGNhbGxiYWNrIHRvIHRoZSBkZWZhdWx0CiAgICAgICB3ZWFrIChzdXJjaGFyZ2VkKSBmdW5jdGlvbi4gSXQgYWxsb3dzIHRvIHJlc2V0IGZvbGxvd2luZyBjYWxsYmFja3M6CiAgICAgICAgICgrKSBNc3BJbml0Q2FsbGJhY2sgICAgOiBOT1IgTXNwSW5pdC4KICAgICAgICAgKCspIE1zcERlSW5pdENhbGxiYWNrICA6IE5PUiBNc3BEZUluaXQuCiAgICAgICBUaGlzIGZ1bmN0aW9uKSB0YWtlcyBhcyBwYXJhbWV0ZXJzIHRoZSBIQUwgcGVyaXBoZXJhbCBoYW5kbGUgYW5kIHRoZSBDYWxsYmFjayBJRC4KIAotICAgICAgQnkgZGVmYXVsdCwgYWZ0ZXIgdGhlIEByZWYgSEFMX05PUl9Jbml0IGFuZCBpZiB0aGUgc3RhdGUgaXMgSEFMX05PUl9TVEFURV9SRVNFVAorICAgICAgQnkgZGVmYXVsdCwgYWZ0ZXIgdGhlIEhBTF9OT1JfSW5pdCBhbmQgaWYgdGhlIHN0YXRlIGlzIEhBTF9OT1JfU1RBVEVfUkVTRVQKICAgICAgIGFsbCBjYWxsYmFja3MgYXJlIHJlc2V0IHRvIHRoZSBjb3JyZXNwb25kaW5nIGxlZ2FjeSB3ZWFrIChzdXJjaGFyZ2VkKSBmdW5jdGlvbnMuCiAgICAgICBFeGNlcHRpb24gZG9uZSBmb3IgTXNwSW5pdCBhbmQgTXNwRGVJbml0IGNhbGxiYWNrcyB0aGF0IGFyZSByZXNwZWN0aXZlbHkKLSAgICAgIHJlc2V0IHRvIHRoZSBsZWdhY3kgd2VhayAoc3VyY2hhcmdlZCkgZnVuY3Rpb25zIGluIHRoZSBAcmVmIEhBTF9OT1JfSW5pdAotICAgICAgYW5kIEByZWYgIEhBTF9OT1JfRGVJbml0IG9ubHkgd2hlbiB0aGVzZSBjYWxsYmFja3MgYXJlIG51bGwgKG5vdCByZWdpc3RlcmVkIGJlZm9yZWhhbmQpLgotICAgICAgSWYgbm90LCBNc3BJbml0IG9yIE1zcERlSW5pdCBhcmUgbm90IG51bGwsIHRoZSBAcmVmIEhBTF9OT1JfSW5pdCBhbmQgQHJlZiBIQUxfTk9SX0RlSW5pdAorICAgICAgcmVzZXQgdG8gdGhlIGxlZ2FjeSB3ZWFrIChzdXJjaGFyZ2VkKSBmdW5jdGlvbnMgaW4gdGhlIEhBTF9OT1JfSW5pdAorICAgICAgYW5kICBIQUxfTk9SX0RlSW5pdCBvbmx5IHdoZW4gdGhlc2UgY2FsbGJhY2tzIGFyZSBudWxsIChub3QgcmVnaXN0ZXJlZCBiZWZvcmVoYW5kKS4KKyAgICAgIElmIG5vdCwgTXNwSW5pdCBvciBNc3BEZUluaXQgYXJlIG5vdCBudWxsLCB0aGUgSEFMX05PUl9Jbml0IGFuZCBIQUxfTk9SX0RlSW5pdAogICAgICAga2VlcCBhbmQgdXNlIHRoZSB1c2VyIE1zcEluaXQvTXNwRGVJbml0IGNhbGxiYWNrcyAocmVnaXN0ZXJlZCBiZWZvcmVoYW5kKQogCiAgICAgICBDYWxsYmFja3MgY2FuIGJlIHJlZ2lzdGVyZWQvdW5yZWdpc3RlcmVkIGluIFJFQURZIHN0YXRlIG9ubHkuCkBAIC04MSw4ICs5Miw4IEBACiAgICAgICBpbiBSRUFEWSBvciBSRVNFVCBzdGF0ZSwgdGh1cyByZWdpc3RlcmVkICh1c2VyKSBNc3BJbml0L0RlSW5pdCBjYWxsYmFja3MgY2FuIGJlIHVzZWQKICAgICAgIGR1cmluZyB0aGUgSW5pdC9EZUluaXQuCiAgICAgICBJbiB0aGF0IGNhc2UgZmlyc3QgcmVnaXN0ZXIgdGhlIE1zcEluaXQvTXNwRGVJbml0IHVzZXIgY2FsbGJhY2tzCi0gICAgICB1c2luZyBAcmVmIEhBTF9OT1JfUmVnaXN0ZXJDYWxsYmFjayBiZWZvcmUgY2FsbGluZyBAcmVmIEhBTF9OT1JfRGVJbml0Ci0gICAgICBvciBAcmVmIEhBTF9OT1JfSW5pdCBmdW5jdGlvbi4KKyAgICAgIHVzaW5nIEhBTF9OT1JfUmVnaXN0ZXJDYWxsYmFjayBiZWZvcmUgY2FsbGluZyBIQUxfTk9SX0RlSW5pdAorICAgICAgb3IgSEFMX05PUl9Jbml0IGZ1bmN0aW9uLgogCiAgICAgICBXaGVuIFRoZSBjb21waWxhdGlvbiBkZWZpbmUgVVNFX0hBTF9OT1JfUkVHSVNURVJfQ0FMTEJBQ0tTIGlzIHNldCB0byAwIG9yCiAgICAgICBub3QgZGVmaW5lZCwgdGhlIGNhbGxiYWNrIHJlZ2lzdGVyaW5nIGZlYXR1cmUgaXMgbm90IGF2YWlsYWJsZQpAQCAtOTAsMzggKzEwMSwyNyBAQAogCiAgIEBlbmR2ZXJiYXRpbQogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAgKiBAYXR0ZW50aW9uCi0gICoKLSAgKiA8aDI+PGNlbnRlcj4mY29weTsgQ29weXJpZ2h0IChjKSAyMDE3IFNUTWljcm9lbGVjdHJvbmljcy4KLSAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvY2VudGVyPjwvaDI+Ci0gICoKLSAgKiBUaGlzIHNvZnR3YXJlIGNvbXBvbmVudCBpcyBsaWNlbnNlZCBieSBTVCB1bmRlciBCU0QgMy1DbGF1c2UgbGljZW5zZSwKLSAgKiB0aGUgIkxpY2Vuc2UiOyBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlCi0gICogTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0OgotICAqICAgICAgICAgICAgICAgICAgICAgICAgb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvQlNELTMtQ2xhdXNlCi0gICoKLSAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gICovIAorICAqLwogCiAvKiBJbmNsdWRlcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogI2luY2x1ZGUgInN0bTMyZjR4eF9oYWwuaCIKIAorI2lmIGRlZmluZWQoRk1DX0JhbmsxKSB8fCBkZWZpbmVkKEZTTUNfQmFuazEpCisKIC8qKiBAYWRkdG9ncm91cCBTVE0zMkY0eHhfSEFMX0RyaXZlcgogICAqIEB7CiAgICovCiAKKyNpZmRlZiBIQUxfTk9SX01PRFVMRV9FTkFCTEVECisKIC8qKiBAZGVmZ3JvdXAgTk9SIE5PUgogICAqIEBicmllZiBOT1IgZHJpdmVyIG1vZHVsZXMKICAgKiBAewogICAqLwotI2lmZGVmIEhBTF9OT1JfTU9EVUxFX0VOQUJMRUQKLSNpZiBkZWZpbmVkKFNUTTMyRjQwNXh4KSB8fCBkZWZpbmVkKFNUTTMyRjQxNXh4KSB8fCBkZWZpbmVkKFNUTTMyRjQwN3h4KSB8fCBkZWZpbmVkKFNUTTMyRjQxN3h4KSB8fFwKLSAgICBkZWZpbmVkKFNUTTMyRjQyN3h4KSB8fCBkZWZpbmVkKFNUTTMyRjQzN3h4KSB8fCBkZWZpbmVkKFNUTTMyRjQyOXh4KSB8fCBkZWZpbmVkKFNUTTMyRjQzOXh4KSB8fFwKLSAgICBkZWZpbmVkKFNUTTMyRjQ0Nnh4KSB8fCBkZWZpbmVkKFNUTTMyRjQ2OXh4KSB8fCBkZWZpbmVkKFNUTTMyRjQ3OXh4KSB8fCBkZWZpbmVkKFNUTTMyRjQxMlp4KSB8fFwKLSAgICBkZWZpbmVkKFNUTTMyRjQxMlZ4KSB8fCBkZWZpbmVkKFNUTTMyRjQxMlJ4KSB8fCBkZWZpbmVkKFNUTTMyRjQxM3h4KSB8fCBkZWZpbmVkKFNUTTMyRjQyM3h4KQorCiAvKiBQcml2YXRlIHR5cGVkZWYgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogLyogUHJpdmF0ZSBkZWZpbmUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KLSAgICAgIAorCiAvKiogQGRlZmdyb3VwIE5PUl9Qcml2YXRlX0RlZmluZXMgTk9SIFByaXZhdGUgRGVmaW5lcwogICAqIEB7CiAgICovCkBAIC0xNTEsMTQgKzE1MSw0MCBAQAogI2RlZmluZSBOT1JfQ01EX0RBVEFfQlVGRkVSX0FORF9QUk9HX0NPTkZJUk0gICh1aW50OF90KTB4MjkKICNkZWZpbmUgTk9SX0NNRF9EQVRBX0JMT0NLX0VSQVNFICAgICAgICAgICAgICAodWludDhfdCkweDMwCiAKKyNkZWZpbmUgTk9SX0NNRF9SRUFEX0FSUkFZICAgICAgICAgICAgICAgICAgICAodWludDE2X3QpMHgwMEZGCisjZGVmaW5lIE5PUl9DTURfV09SRF9QUk9HUkFNICAgICAgICAgICAgICAgICAgKHVpbnQxNl90KTB4MDA0MAorI2RlZmluZSBOT1JfQ01EX0JVRkZFUkVEX1BST0dSQU0gICAgICAgICAgICAgICh1aW50MTZfdCkweDAwRTgKKyNkZWZpbmUgTk9SX0NNRF9DT05GSVJNICAgICAgICAgICAgICAgICAgICAgICAodWludDE2X3QpMHgwMEQwCisjZGVmaW5lIE5PUl9DTURfQkxPQ0tfRVJBU0UgICAgICAgICAgICAgICAgICAgKHVpbnQxNl90KTB4MDAyMAorI2RlZmluZSBOT1JfQ01EX0JMT0NLX1VOTE9DSyAgICAgICAgICAgICAgICAgICh1aW50MTZfdCkweDAwNjAKKyNkZWZpbmUgTk9SX0NNRF9SRUFEX1NUQVRVU19SRUcgICAgICAgICAgICAgICAodWludDE2X3QpMHgwMDcwCisjZGVmaW5lIE5PUl9DTURfQ0xFQVJfU1RBVFVTX1JFRyAgICAgICAgICAgICAgKHVpbnQxNl90KTB4MDA1MAorCiAvKiBNYXNrIG9uIE5PUiBTVEFUVVMgUkVHSVNURVIgKi8KKyNkZWZpbmUgTk9SX01BU0tfU1RBVFVTX0RRNCAgICAgICAgICAgICAgICAgICAodWludDE2X3QpMHgwMDEwCiAjZGVmaW5lIE5PUl9NQVNLX1NUQVRVU19EUTUgICAgICAgICAgICAgICAgICAgKHVpbnQxNl90KTB4MDAyMAogI2RlZmluZSBOT1JfTUFTS19TVEFUVVNfRFE2ICAgICAgICAgICAgICAgICAgICh1aW50MTZfdCkweDAwNDAKKyNkZWZpbmUgTk9SX01BU0tfU1RBVFVTX0RRNyAgICAgICAgICAgICAgICAgICAodWludDE2X3QpMHgwMDgwCisKKy8qIEFkZHJlc3Mgb2YgdGhlIHByaW1hcnkgY29tbWFuZCBzZXQgKi8KKyNkZWZpbmUgTk9SX0FERFJFU1NfQ09NTUFORF9TRVQgICAgICAgICAgICAgICAodWludDE2X3QpMHgwMDEzCisKKy8qIENvbW1hbmQgc2V0IGNvZGUgYXNzaWdubWVudCAoZGVmaW5lZCBpbiBKRURFQyBKRVAxMzdCIHZlcnNpb24gbWF5IDIwMDQpICovCisjZGVmaW5lIE5PUl9JTlRFTF9TSEFSUF9FWFRfQ09NTUFORF9TRVQgICAgICAgKHVpbnQxNl90KTB4MDAwMSAvKiBTdXBwb3J0ZWQgaW4gdGhpcyBkcml2ZXIgKi8KKyNkZWZpbmUgTk9SX0FNRF9GVUpJVFNVX0NPTU1BTkRfU0VUICAgICAgICAgICAodWludDE2X3QpMHgwMDAyIC8qIFN1cHBvcnRlZCBpbiB0aGlzIGRyaXZlciAqLworI2RlZmluZSBOT1JfSU5URUxfU1RBTkRBUkRfQ09NTUFORF9TRVQgICAgICAgICh1aW50MTZfdCkweDAwMDMgLyogTm90IFN1cHBvcnRlZCBpbiB0aGlzIGRyaXZlciAqLworI2RlZmluZSBOT1JfQU1EX0ZVSklUU1VfRVhUX0NPTU1BTkRfU0VUICAgICAgICh1aW50MTZfdCkweDAwMDQgLyogTm90IFN1cHBvcnRlZCBpbiB0aGlzIGRyaXZlciAqLworI2RlZmluZSBOT1JfV0lOREJPTkRfU1RBTkRBUkRfQ09NTUFORF9TRVQgICAgICh1aW50MTZfdCkweDAwMDYgLyogTm90IFN1cHBvcnRlZCBpbiB0aGlzIGRyaXZlciAqLworI2RlZmluZSBOT1JfTUlUU1VCSVNISV9TVEFOREFSRF9DT01NQU5EX1NFVCAgICh1aW50MTZfdCkweDAxMDAgLyogTm90IFN1cHBvcnRlZCBpbiB0aGlzIGRyaXZlciAqLworI2RlZmluZSBOT1JfTUlUU1VCSVNISV9FWFRfQ09NTUFORF9TRVQgICAgICAgICh1aW50MTZfdCkweDAxMDEgLyogTm90IFN1cHBvcnRlZCBpbiB0aGlzIGRyaXZlciAqLworI2RlZmluZSBOT1JfUEFHRV9XUklURV9DT01NQU5EX1NFVCAgICAgICAgICAgICh1aW50MTZfdCkweDAxMDIgLyogTm90IFN1cHBvcnRlZCBpbiB0aGlzIGRyaXZlciAqLworI2RlZmluZSBOT1JfSU5URUxfUEVSRk9STUFOQ0VfQ09NTUFORF9TRVQgICAgICh1aW50MTZfdCkweDAyMDAgLyogTm90IFN1cHBvcnRlZCBpbiB0aGlzIGRyaXZlciAqLworI2RlZmluZSBOT1JfSU5URUxfREFUQV9DT01NQU5EX1NFVCAgICAgICAgICAgICh1aW50MTZfdCkweDAyMTAgLyogTm90IFN1cHBvcnRlZCBpbiB0aGlzIGRyaXZlciAqLwogCiAvKioKICAgKiBAfQogICAqLwotICAgICAgCisKIC8qIFByaXZhdGUgbWFjcm8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAvKiBQcml2YXRlIHZhcmlhYmxlcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogLyoqIEBkZWZncm91cCBOT1JfUHJpdmF0ZV9WYXJpYWJsZXMgTk9SIFByaXZhdGUgVmFyaWFibGVzCkBAIC0xNzcsNDQgKzIwMyw0OCBAQAogICAqIEB7CiAgICovCiAKLS8qKiBAZGVmZ3JvdXAgTk9SX0V4cG9ydGVkX0Z1bmN0aW9uc19Hcm91cDEgSW5pdGlhbGl6YXRpb24gYW5kIGRlLWluaXRpYWxpemF0aW9uIGZ1bmN0aW9ucyAKLSAgKiBAYnJpZWYgICAgSW5pdGlhbGl6YXRpb24gYW5kIENvbmZpZ3VyYXRpb24gZnVuY3Rpb25zIAorLyoqIEBkZWZncm91cCBOT1JfRXhwb3J0ZWRfRnVuY3Rpb25zX0dyb3VwMSBJbml0aWFsaXphdGlvbiBhbmQgZGUtaW5pdGlhbGl6YXRpb24gZnVuY3Rpb25zCisgICogQGJyaWVmICAgIEluaXRpYWxpemF0aW9uIGFuZCBDb25maWd1cmF0aW9uIGZ1bmN0aW9ucwogICAqCi0gIEB2ZXJiYXRpbSAgICAKKyAgQHZlcmJhdGltCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgICAgICAgICAjIyMjIyBOT1IgSW5pdGlhbGl6YXRpb24gYW5kIGRlX2luaXRpYWxpemF0aW9uIGZ1bmN0aW9ucyAjIyMjIwogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLSAgWy4uXSAgCisgIFsuLl0KICAgICBUaGlzIHNlY3Rpb24gcHJvdmlkZXMgZnVuY3Rpb25zIGFsbG93aW5nIHRvIGluaXRpYWxpemUvZGUtaW5pdGlhbGl6ZQogICAgIHRoZSBOT1IgbWVtb3J5Ci0gIAorCiBAZW5kdmVyYmF0aW0KICAgKiBAewogICAqLwotICAgIAorCiAvKioKICAgKiBAYnJpZWYgIFBlcmZvcm0gdGhlIE5PUiBtZW1vcnkgSW5pdGlhbGl6YXRpb24gc2VxdWVuY2UKICAgKiBAcGFyYW0gIGhub3IgcG9pbnRlciB0byBhIE5PUl9IYW5kbGVUeXBlRGVmIHN0cnVjdHVyZSB0aGF0IGNvbnRhaW5zCiAgICogICAgICAgICAgICAgICAgdGhlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gZm9yIE5PUiBtb2R1bGUuCi0gICogQHBhcmFtICBUaW1pbmcgcG9pbnRlciB0byBOT1IgY29udHJvbCB0aW1pbmcgc3RydWN0dXJlIAotICAqIEBwYXJhbSAgRXh0VGltaW5nIHBvaW50ZXIgdG8gTk9SIGV4dGVuZGVkIG1vZGUgdGltaW5nIHN0cnVjdHVyZSAgICAKKyAgKiBAcGFyYW0gIFRpbWluZyBwb2ludGVyIHRvIE5PUiBjb250cm9sIHRpbWluZyBzdHJ1Y3R1cmUKKyAgKiBAcGFyYW0gIEV4dFRpbWluZyBwb2ludGVyIHRvIE5PUiBleHRlbmRlZCBtb2RlIHRpbWluZyBzdHJ1Y3R1cmUKICAgKiBAcmV0dmFsIEhBTCBzdGF0dXMKICAgKi8KLUhBTF9TdGF0dXNUeXBlRGVmIEhBTF9OT1JfSW5pdChOT1JfSGFuZGxlVHlwZURlZiAqaG5vciwgRk1DX05PUlNSQU1fVGltaW5nVHlwZURlZiAqVGltaW5nLCBGTUNfTk9SU1JBTV9UaW1pbmdUeXBlRGVmICpFeHRUaW1pbmcpCitIQUxfU3RhdHVzVHlwZURlZiBIQUxfTk9SX0luaXQoTk9SX0hhbmRsZVR5cGVEZWYgKmhub3IsIEZNQ19OT1JTUkFNX1RpbWluZ1R5cGVEZWYgKlRpbWluZywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGTUNfTk9SU1JBTV9UaW1pbmdUeXBlRGVmICpFeHRUaW1pbmcpCiB7CisgIHVpbnQzMl90IGRldmljZWFkZHJlc3M7CisgIEhBTF9TdGF0dXNUeXBlRGVmIHN0YXR1cyA9IEhBTF9PSzsKKwogICAvKiBDaGVjayB0aGUgTk9SIGhhbmRsZSBwYXJhbWV0ZXIgKi8KLSAgaWYoaG5vciA9PSBOVUxMKQorICBpZiAoaG5vciA9PSBOVUxMKQogICB7Ci0gICAgIHJldHVybiBIQUxfRVJST1I7CisgICAgcmV0dXJuIEhBTF9FUlJPUjsKICAgfQotICAKLSAgaWYoaG5vci0+U3RhdGUgPT0gSEFMX05PUl9TVEFURV9SRVNFVCkKKworICBpZiAoaG5vci0+U3RhdGUgPT0gSEFMX05PUl9TVEFURV9SRVNFVCkKICAgewogICAgIC8qIEFsbG9jYXRlIGxvY2sgcmVzb3VyY2UgYW5kIGluaXRpYWxpemUgaXQgKi8KICAgICBobm9yLT5Mb2NrID0gSEFMX1VOTE9DS0VEOwogCiAjaWYgKFVTRV9IQUxfTk9SX1JFR0lTVEVSX0NBTExCQUNLUyA9PSAxKQotICAgIGlmKGhub3ItPk1zcEluaXRDYWxsYmFjayA9PSBOVUxMKQorICAgIGlmIChobm9yLT5Nc3BJbml0Q2FsbGJhY2sgPT0gTlVMTCkKICAgICB7CiAgICAgICBobm9yLT5Nc3BJbml0Q2FsbGJhY2sgPSBIQUxfTk9SX01zcEluaXQ7CiAgICAgfQpAQCAtMjI2LDE1ICsyNTYsMTUgQEAKICAgICBIQUxfTk9SX01zcEluaXQoaG5vcik7CiAjZW5kaWYgLyogKFVTRV9IQUxfTk9SX1JFR0lTVEVSX0NBTExCQUNLUykgKi8KICAgfQotICAKKwogICAvKiBJbml0aWFsaXplIE5PUiBjb250cm9sIEludGVyZmFjZSAqLwotICBGTUNfTk9SU1JBTV9Jbml0KGhub3ItPkluc3RhbmNlLCAmKGhub3ItPkluaXQpKTsKKyAgKHZvaWQpRk1DX05PUlNSQU1fSW5pdChobm9yLT5JbnN0YW5jZSwgJihobm9yLT5Jbml0KSk7CiAKICAgLyogSW5pdGlhbGl6ZSBOT1IgdGltaW5nIEludGVyZmFjZSAqLwotICBGTUNfTk9SU1JBTV9UaW1pbmdfSW5pdChobm9yLT5JbnN0YW5jZSwgVGltaW5nLCBobm9yLT5Jbml0Lk5TQmFuayk7IAorICAodm9pZClGTUNfTk9SU1JBTV9UaW1pbmdfSW5pdChobm9yLT5JbnN0YW5jZSwgVGltaW5nLCBobm9yLT5Jbml0Lk5TQmFuayk7CiAKICAgLyogSW5pdGlhbGl6ZSBOT1IgZXh0ZW5kZWQgbW9kZSB0aW1pbmcgSW50ZXJmYWNlICovCi0gIEZNQ19OT1JTUkFNX0V4dGVuZGVkX1RpbWluZ19Jbml0KGhub3ItPkV4dGVuZGVkLCBFeHRUaW1pbmcsIGhub3ItPkluaXQuTlNCYW5rLCBobm9yLT5Jbml0LkV4dGVuZGVkTW9kZSk7CisgICh2b2lkKUZNQ19OT1JTUkFNX0V4dGVuZGVkX1RpbWluZ19Jbml0KGhub3ItPkV4dGVuZGVkLCBFeHRUaW1pbmcsIGhub3ItPkluaXQuTlNCYW5rLCBobm9yLT5Jbml0LkV4dGVuZGVkTW9kZSk7CiAKICAgLyogRW5hYmxlIHRoZSBOT1JTUkFNIGRldmljZSAqLwogICBfX0ZNQ19OT1JTUkFNX0VOQUJMRShobm9yLT5JbnN0YW5jZSwgaG5vci0+SW5pdC5OU0JhbmspOwpAQCAtMjQ5LDEwICsyNzksNDQgQEAKICAgICB1d05PUk1lbW9yeURhdGFXaWR0aCA9IE5PUl9NRU1PUllfMTZCOwogICB9CiAKLSAgLyogQ2hlY2sgdGhlIE5PUiBjb250cm9sbGVyIHN0YXRlICovCi0gIGhub3ItPlN0YXRlID0gSEFMX05PUl9TVEFURV9SRUFEWTsgCi0gIAotICByZXR1cm4gSEFMX09LOworICAvKiBJbml0aWFsaXplIHRoZSBOT1IgY29udHJvbGxlciBzdGF0ZSAqLworICBobm9yLT5TdGF0ZSA9IEhBTF9OT1JfU1RBVEVfUkVBRFk7CisKKyAgLyogU2VsZWN0IHRoZSBOT1IgZGV2aWNlIGFkZHJlc3MgKi8KKyAgaWYgKGhub3ItPkluaXQuTlNCYW5rID09IEZNQ19OT1JTUkFNX0JBTksxKQorICB7CisgICAgZGV2aWNlYWRkcmVzcyA9IE5PUl9NRU1PUllfQURSRVNTMTsKKyAgfQorICBlbHNlIGlmIChobm9yLT5Jbml0Lk5TQmFuayA9PSBGTUNfTk9SU1JBTV9CQU5LMikKKyAgeworICAgIGRldmljZWFkZHJlc3MgPSBOT1JfTUVNT1JZX0FEUkVTUzI7CisgIH0KKyAgZWxzZSBpZiAoaG5vci0+SW5pdC5OU0JhbmsgPT0gRk1DX05PUlNSQU1fQkFOSzMpCisgIHsKKyAgICBkZXZpY2VhZGRyZXNzID0gTk9SX01FTU9SWV9BRFJFU1MzOworICB9CisgIGVsc2UgLyogRk1DX05PUlNSQU1fQkFOSzQgKi8KKyAgeworICAgIGRldmljZWFkZHJlc3MgPSBOT1JfTUVNT1JZX0FEUkVTUzQ7CisgIH0KKworICBpZiAoaG5vci0+SW5pdC5Xcml0ZU9wZXJhdGlvbiA9PSBGTUNfV1JJVEVfT1BFUkFUSU9OX0RJU0FCTEUpCisgIHsKKyAgICAodm9pZClGTUNfTk9SU1JBTV9Xcml0ZU9wZXJhdGlvbl9EaXNhYmxlKGhub3ItPkluc3RhbmNlLCBobm9yLT5Jbml0Lk5TQmFuayk7CisKKyAgICAvKiBVcGRhdGUgdGhlIE5PUiBjb250cm9sbGVyIHN0YXRlICovCisgICAgaG5vci0+U3RhdGUgPSBIQUxfTk9SX1NUQVRFX1BST1RFQ1RFRDsKKyAgfQorICBlbHNlCisgIHsKKyAgICAvKiBHZXQgdGhlIHZhbHVlIG9mIHRoZSBjb21tYW5kIHNldCAqLworICAgIE5PUl9XUklURShOT1JfQUREUl9TSElGVChkZXZpY2VhZGRyZXNzLCB1d05PUk1lbW9yeURhdGFXaWR0aCwgTk9SX0NNRF9BRERSRVNTX0ZJUlNUX0NGSSksIE5PUl9DTURfREFUQV9DRkkpOworICAgIGhub3ItPkNvbW1hbmRTZXQgPSAqKF9fSU8gdWludDE2X3QgKikgTk9SX0FERFJfU0hJRlQoZGV2aWNlYWRkcmVzcywgdXdOT1JNZW1vcnlEYXRhV2lkdGgsIE5PUl9BRERSRVNTX0NPTU1BTkRfU0VUKTsKKworICAgIHN0YXR1cyA9IEhBTF9OT1JfUmV0dXJuVG9SZWFkTW9kZShobm9yKTsKKyAgfQorCisgIHJldHVybiBzdGF0dXM7CiB9CiAKIC8qKgpAQCAtMjYxLDEwICszMjUsMTAgQEAKICAgKiAgICAgICAgICAgICAgICB0aGUgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbiBmb3IgTk9SIG1vZHVsZS4KICAgKiBAcmV0dmFsIEhBTCBzdGF0dXMKICAgKi8KLUhBTF9TdGF0dXNUeXBlRGVmIEhBTF9OT1JfRGVJbml0KE5PUl9IYW5kbGVUeXBlRGVmICpobm9yKSAgCitIQUxfU3RhdHVzVHlwZURlZiBIQUxfTk9SX0RlSW5pdChOT1JfSGFuZGxlVHlwZURlZiAqaG5vcikKIHsKICNpZiAoVVNFX0hBTF9OT1JfUkVHSVNURVJfQ0FMTEJBQ0tTID09IDEpCi0gIGlmKGhub3ItPk1zcERlSW5pdENhbGxiYWNrID09IE5VTEwpCisgIGlmIChobm9yLT5Nc3BEZUluaXRDYWxsYmFjayA9PSBOVUxMKQogICB7CiAgICAgaG5vci0+TXNwRGVJbml0Q2FsbGJhY2sgPSBIQUxfTk9SX01zcERlSW5pdDsKICAgfQpAQCAtMjc3LDkgKzM0MSw5IEBACiAjZW5kaWYgLyogKFVTRV9IQUxfTk9SX1JFR0lTVEVSX0NBTExCQUNLUykgKi8KIAogICAvKiBDb25maWd1cmUgdGhlIE5PUiByZWdpc3RlcnMgd2l0aCB0aGVpciByZXNldCB2YWx1ZXMgKi8KLSAgRk1DX05PUlNSQU1fRGVJbml0KGhub3ItPkluc3RhbmNlLCBobm9yLT5FeHRlbmRlZCwgaG5vci0+SW5pdC5OU0JhbmspOwotICAKLSAgLyogVXBkYXRlIHRoZSBOT1IgY29udHJvbGxlciBzdGF0ZSAqLworICAodm9pZClGTUNfTk9SU1JBTV9EZUluaXQoaG5vci0+SW5zdGFuY2UsIGhub3ItPkV4dGVuZGVkLCBobm9yLT5Jbml0Lk5TQmFuayk7CisKKyAgLyogUmVzZXQgdGhlIE5PUiBjb250cm9sbGVyIHN0YXRlICovCiAgIGhub3ItPlN0YXRlID0gSEFMX05PUl9TVEFURV9SRVNFVDsKIAogICAvKiBSZWxlYXNlIExvY2sgKi8KQEAgLTI5OCw5ICszNjIsMTAgQEAKIHsKICAgLyogUHJldmVudCB1bnVzZWQgYXJndW1lbnQocykgY29tcGlsYXRpb24gd2FybmluZyAqLwogICBVTlVTRUQoaG5vcik7CisKICAgLyogTk9URSA6IFRoaXMgZnVuY3Rpb24gU2hvdWxkIG5vdCBiZSBtb2RpZmllZCwgd2hlbiB0aGUgY2FsbGJhY2sgaXMgbmVlZGVkLAogICAgICAgICAgICAgdGhlIEhBTF9OT1JfTXNwSW5pdCBjb3VsZCBiZSBpbXBsZW1lbnRlZCBpbiB0aGUgdXNlciBmaWxlCi0gICAqLyAKKyAgICovCiB9CiAKIC8qKgpAQCAtMzEzLDkgKzM3OCwxMCBAQAogewogICAvKiBQcmV2ZW50IHVudXNlZCBhcmd1bWVudChzKSBjb21waWxhdGlvbiB3YXJuaW5nICovCiAgIFVOVVNFRChobm9yKTsKKwogICAvKiBOT1RFIDogVGhpcyBmdW5jdGlvbiBTaG91bGQgbm90IGJlIG1vZGlmaWVkLCB3aGVuIHRoZSBjYWxsYmFjayBpcyBuZWVkZWQsCiAgICAgICAgICAgICB0aGUgSEFMX05PUl9Nc3BEZUluaXQgY291bGQgYmUgaW1wbGVtZW50ZWQgaW4gdGhlIHVzZXIgZmlsZQotICAgKi8gCisgICAqLwogfQogCiAvKioKQEAgLTMzMCwzMCArMzk2LDMwIEBACiAgIC8qIFByZXZlbnQgdW51c2VkIGFyZ3VtZW50KHMpIGNvbXBpbGF0aW9uIHdhcm5pbmcgKi8KICAgVU5VU0VEKGhub3IpOwogICBVTlVTRUQoVGltZW91dCk7Ci0gIAorCiAgIC8qIE5PVEUgOiBUaGlzIGZ1bmN0aW9uIFNob3VsZCBub3QgYmUgbW9kaWZpZWQsIHdoZW4gdGhlIGNhbGxiYWNrIGlzIG5lZWRlZCwKICAgICAgICAgICAgIHRoZSBIQUxfTk9SX01zcFdhaXQgY291bGQgYmUgaW1wbGVtZW50ZWQgaW4gdGhlIHVzZXIgZmlsZQotICAgKi8gCisgICAqLwogfQotICAKKwogLyoqCiAgICogQH0KICAgKi8KIAotLyoqIEBkZWZncm91cCBOT1JfRXhwb3J0ZWRfRnVuY3Rpb25zX0dyb3VwMiBJbnB1dCBhbmQgT3V0cHV0IGZ1bmN0aW9ucyAKLSAgKiBAYnJpZWYgICAgSW5wdXQgT3V0cHV0IGFuZCBtZW1vcnkgY29udHJvbCBmdW5jdGlvbnMgCisvKiogQGRlZmdyb3VwIE5PUl9FeHBvcnRlZF9GdW5jdGlvbnNfR3JvdXAyIElucHV0IGFuZCBPdXRwdXQgZnVuY3Rpb25zCisgICogQGJyaWVmICAgIElucHV0IE91dHB1dCBhbmQgbWVtb3J5IGNvbnRyb2wgZnVuY3Rpb25zCiAgICoKLSAgQHZlcmJhdGltICAgIAorICBAdmVyYmF0aW0KICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAgICAgICAgICAgICAgIyMjIyMgTk9SIElucHV0IGFuZCBPdXRwdXQgZnVuY3Rpb25zICMjIyMjCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotICBbLi5dICAKKyAgWy4uXQogICAgIFRoaXMgc2VjdGlvbiBwcm92aWRlcyBmdW5jdGlvbnMgYWxsb3dpbmcgdG8gdXNlIGFuZCBjb250cm9sIHRoZSBOT1IgbWVtb3J5Ci0gIAorCiBAZW5kdmVyYmF0aW0KICAgKiBAewogICAqLwotICAKKwogLyoqCiAgICogQGJyaWVmICBSZWFkIE5PUiBmbGFzaCBJRHMKICAgKiBAcGFyYW0gIGhub3IgcG9pbnRlciB0byBhIE5PUl9IYW5kbGVUeXBlRGVmIHN0cnVjdHVyZSB0aGF0IGNvbnRhaW5zCkBAIC0zNjMsNTYgKzQyOSw4NyBAQAogICAqLwogSEFMX1N0YXR1c1R5cGVEZWYgSEFMX05PUl9SZWFkX0lEKE5PUl9IYW5kbGVUeXBlRGVmICpobm9yLCBOT1JfSURUeXBlRGVmICpwTk9SX0lEKQogewotICB1aW50MzJfdCBkZXZpY2VhZGRyZXNzID0gMFU7Ci0gIAotICAvKiBQcm9jZXNzIExvY2tlZCAqLwotICBfX0hBTF9MT0NLKGhub3IpOwotICAKLSAgLyogQ2hlY2sgdGhlIE5PUiBjb250cm9sbGVyIHN0YXRlICovCi0gIGlmKGhub3ItPlN0YXRlID09IEhBTF9OT1JfU1RBVEVfQlVTWSkKLSAgewotICAgICByZXR1cm4gSEFMX0JVU1k7Ci0gIH0KLSAgCi0gIC8qIFNlbGVjdCB0aGUgTk9SIGRldmljZSBhZGRyZXNzICovCi0gIGlmIChobm9yLT5Jbml0Lk5TQmFuayA9PSBGTUNfTk9SU1JBTV9CQU5LMSkKLSAgewotICAgIGRldmljZWFkZHJlc3MgPSBOT1JfTUVNT1JZX0FEUkVTUzE7Ci0gIH0KLSAgZWxzZSBpZiAoaG5vci0+SW5pdC5OU0JhbmsgPT0gRk1DX05PUlNSQU1fQkFOSzIpCi0gIHsKLSAgICBkZXZpY2VhZGRyZXNzID0gTk9SX01FTU9SWV9BRFJFU1MyOwotICB9Ci0gIGVsc2UgaWYgKGhub3ItPkluaXQuTlNCYW5rID09IEZNQ19OT1JTUkFNX0JBTkszKQotICB7Ci0gICAgZGV2aWNlYWRkcmVzcyA9IE5PUl9NRU1PUllfQURSRVNTMzsKLSAgfQotICBlbHNlIC8qIEZNQ19OT1JTUkFNX0JBTks0ICovCi0gIHsKLSAgICBkZXZpY2VhZGRyZXNzID0gTk9SX01FTU9SWV9BRFJFU1M0OwotICB9ICAKLSAgICAKLSAgLyogVXBkYXRlIHRoZSBOT1IgY29udHJvbGxlciBzdGF0ZSAqLwotICBobm9yLT5TdGF0ZSA9IEhBTF9OT1JfU1RBVEVfQlVTWTsKLSAgCi0gIC8qIFNlbmQgcmVhZCBJRCBjb21tYW5kICovCi0gIE5PUl9XUklURShOT1JfQUREUl9TSElGVChkZXZpY2VhZGRyZXNzLCB1d05PUk1lbW9yeURhdGFXaWR0aCwgTk9SX0NNRF9BRERSRVNTX0ZJUlNUKSwgTk9SX0NNRF9EQVRBX0ZJUlNUKTsKLSAgTk9SX1dSSVRFKE5PUl9BRERSX1NISUZUKGRldmljZWFkZHJlc3MsIHV3Tk9STWVtb3J5RGF0YVdpZHRoLCBOT1JfQ01EX0FERFJFU1NfU0VDT05EKSwgTk9SX0NNRF9EQVRBX1NFQ09ORCk7Ci0gIE5PUl9XUklURShOT1JfQUREUl9TSElGVChkZXZpY2VhZGRyZXNzLCB1d05PUk1lbW9yeURhdGFXaWR0aCwgTk9SX0NNRF9BRERSRVNTX1RISVJEKSwgTk9SX0NNRF9EQVRBX0FVVE9fU0VMRUNUKTsKKyAgdWludDMyX3QgZGV2aWNlYWRkcmVzczsKKyAgSEFMX05PUl9TdGF0ZVR5cGVEZWYgc3RhdGU7CisgIEhBTF9TdGF0dXNUeXBlRGVmIHN0YXR1cyA9IEhBTF9PSzsKIAotICAvKiBSZWFkIHRoZSBOT1IgSURzICovCi0gIHBOT1JfSUQtPk1hbnVmYWN0dXJlcl9Db2RlID0gKihfX0lPIHVpbnQxNl90ICopIE5PUl9BRERSX1NISUZUKGRldmljZWFkZHJlc3MsIHV3Tk9STWVtb3J5RGF0YVdpZHRoLCBNQ19BRERSRVNTKTsKLSAgcE5PUl9JRC0+RGV2aWNlX0NvZGUxICAgICAgPSAqKF9fSU8gdWludDE2X3QgKikgTk9SX0FERFJfU0hJRlQoZGV2aWNlYWRkcmVzcywgdXdOT1JNZW1vcnlEYXRhV2lkdGgsIERFVklDRV9DT0RFMV9BRERSKTsKLSAgcE5PUl9JRC0+RGV2aWNlX0NvZGUyICAgICAgPSAqKF9fSU8gdWludDE2X3QgKikgTk9SX0FERFJfU0hJRlQoZGV2aWNlYWRkcmVzcywgdXdOT1JNZW1vcnlEYXRhV2lkdGgsIERFVklDRV9DT0RFMl9BRERSKTsKLSAgcE5PUl9JRC0+RGV2aWNlX0NvZGUzICAgICAgPSAqKF9fSU8gdWludDE2X3QgKikgTk9SX0FERFJfU0hJRlQoZGV2aWNlYWRkcmVzcywgdXdOT1JNZW1vcnlEYXRhV2lkdGgsIERFVklDRV9DT0RFM19BRERSKTsKLSAgCiAgIC8qIENoZWNrIHRoZSBOT1IgY29udHJvbGxlciBzdGF0ZSAqLwotICBobm9yLT5TdGF0ZSA9IEhBTF9OT1JfU1RBVEVfUkVBRFk7Ci0gIAotICAvKiBQcm9jZXNzIHVubG9ja2VkICovCi0gIF9fSEFMX1VOTE9DSyhobm9yKTsgICAKLSAgCi0gIHJldHVybiBIQUxfT0s7CisgIHN0YXRlID0gaG5vci0+U3RhdGU7CisgIGlmIChzdGF0ZSA9PSBIQUxfTk9SX1NUQVRFX0JVU1kpCisgIHsKKyAgICByZXR1cm4gSEFMX0JVU1k7CisgIH0KKyAgZWxzZSBpZiAoc3RhdGUgPT0gSEFMX05PUl9TVEFURV9QUk9URUNURUQpCisgIHsKKyAgICByZXR1cm4gSEFMX0VSUk9SOworICB9CisgIGVsc2UgaWYgKHN0YXRlID09IEhBTF9OT1JfU1RBVEVfUkVBRFkpCisgIHsKKyAgICAvKiBQcm9jZXNzIExvY2tlZCAqLworICAgIF9fSEFMX0xPQ0soaG5vcik7CisKKyAgICAvKiBVcGRhdGUgdGhlIE5PUiBjb250cm9sbGVyIHN0YXRlICovCisgICAgaG5vci0+U3RhdGUgPSBIQUxfTk9SX1NUQVRFX0JVU1k7CisKKyAgICAvKiBTZWxlY3QgdGhlIE5PUiBkZXZpY2UgYWRkcmVzcyAqLworICAgIGlmIChobm9yLT5Jbml0Lk5TQmFuayA9PSBGTUNfTk9SU1JBTV9CQU5LMSkKKyAgICB7CisgICAgICBkZXZpY2VhZGRyZXNzID0gTk9SX01FTU9SWV9BRFJFU1MxOworICAgIH0KKyAgICBlbHNlIGlmIChobm9yLT5Jbml0Lk5TQmFuayA9PSBGTUNfTk9SU1JBTV9CQU5LMikKKyAgICB7CisgICAgICBkZXZpY2VhZGRyZXNzID0gTk9SX01FTU9SWV9BRFJFU1MyOworICAgIH0KKyAgICBlbHNlIGlmIChobm9yLT5Jbml0Lk5TQmFuayA9PSBGTUNfTk9SU1JBTV9CQU5LMykKKyAgICB7CisgICAgICBkZXZpY2VhZGRyZXNzID0gTk9SX01FTU9SWV9BRFJFU1MzOworICAgIH0KKyAgICBlbHNlIC8qIEZNQ19OT1JTUkFNX0JBTks0ICovCisgICAgeworICAgICAgZGV2aWNlYWRkcmVzcyA9IE5PUl9NRU1PUllfQURSRVNTNDsKKyAgICB9CisKKyAgICAvKiBTZW5kIHJlYWQgSUQgY29tbWFuZCAqLworICAgIGlmIChobm9yLT5Db21tYW5kU2V0ID09IE5PUl9BTURfRlVKSVRTVV9DT01NQU5EX1NFVCkKKyAgICB7CisgICAgICBOT1JfV1JJVEUoTk9SX0FERFJfU0hJRlQoZGV2aWNlYWRkcmVzcywgdXdOT1JNZW1vcnlEYXRhV2lkdGgsIE5PUl9DTURfQUREUkVTU19GSVJTVCksIE5PUl9DTURfREFUQV9GSVJTVCk7CisgICAgICBOT1JfV1JJVEUoTk9SX0FERFJfU0hJRlQoZGV2aWNlYWRkcmVzcywgdXdOT1JNZW1vcnlEYXRhV2lkdGgsIE5PUl9DTURfQUREUkVTU19TRUNPTkQpLCBOT1JfQ01EX0RBVEFfU0VDT05EKTsKKyAgICAgIE5PUl9XUklURShOT1JfQUREUl9TSElGVChkZXZpY2VhZGRyZXNzLCB1d05PUk1lbW9yeURhdGFXaWR0aCwgTk9SX0NNRF9BRERSRVNTX1RISVJEKSwgTk9SX0NNRF9EQVRBX0FVVE9fU0VMRUNUKTsKKyAgICB9CisgICAgZWxzZSBpZiAoaG5vci0+Q29tbWFuZFNldCA9PSBOT1JfSU5URUxfU0hBUlBfRVhUX0NPTU1BTkRfU0VUKQorICAgIHsKKyAgICAgIE5PUl9XUklURShkZXZpY2VhZGRyZXNzLCBOT1JfQ01EX0RBVEFfQVVUT19TRUxFQ1QpOworICAgIH0KKyAgICBlbHNlCisgICAgeworICAgICAgLyogUHJpbWFyeSBjb21tYW5kIHNldCBub3Qgc3VwcG9ydGVkIGJ5IHRoZSBkcml2ZXIgKi8KKyAgICAgIHN0YXR1cyA9IEhBTF9FUlJPUjsKKyAgICB9CisKKyAgICBpZiAoc3RhdHVzICE9IEhBTF9FUlJPUikKKyAgICB7CisgICAgICAvKiBSZWFkIHRoZSBOT1IgSURzICovCisgICAgICBwTk9SX0lELT5NYW51ZmFjdHVyZXJfQ29kZSA9ICooX19JTyB1aW50MTZfdCAqKSBOT1JfQUREUl9TSElGVChkZXZpY2VhZGRyZXNzLCB1d05PUk1lbW9yeURhdGFXaWR0aCwgTUNfQUREUkVTUyk7CisgICAgICBwTk9SX0lELT5EZXZpY2VfQ29kZTEgICAgICA9ICooX19JTyB1aW50MTZfdCAqKSBOT1JfQUREUl9TSElGVChkZXZpY2VhZGRyZXNzLCB1d05PUk1lbW9yeURhdGFXaWR0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERFVklDRV9DT0RFMV9BRERSKTsKKyAgICAgIHBOT1JfSUQtPkRldmljZV9Db2RlMiAgICAgID0gKihfX0lPIHVpbnQxNl90ICopIE5PUl9BRERSX1NISUZUKGRldmljZWFkZHJlc3MsIHV3Tk9STWVtb3J5RGF0YVdpZHRoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgREVWSUNFX0NPREUyX0FERFIpOworICAgICAgcE5PUl9JRC0+RGV2aWNlX0NvZGUzICAgICAgPSAqKF9fSU8gdWludDE2X3QgKikgTk9SX0FERFJfU0hJRlQoZGV2aWNlYWRkcmVzcywgdXdOT1JNZW1vcnlEYXRhV2lkdGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBERVZJQ0VfQ09ERTNfQUREUik7CisgICAgfQorCisgICAgLyogQ2hlY2sgdGhlIE5PUiBjb250cm9sbGVyIHN0YXRlICovCisgICAgaG5vci0+U3RhdGUgPSBzdGF0ZTsKKworICAgIC8qIFByb2Nlc3MgdW5sb2NrZWQgKi8KKyAgICBfX0hBTF9VTkxPQ0soaG5vcik7CisgIH0KKyAgZWxzZQorICB7CisgICAgcmV0dXJuIEhBTF9FUlJPUjsKKyAgfQorCisgIHJldHVybiBzdGF0dXM7CiB9CiAKIC8qKgpAQCAtNDIzLDQ4NyArNTIwLDY4MSBAQAogICAqLwogSEFMX1N0YXR1c1R5cGVEZWYgSEFMX05PUl9SZXR1cm5Ub1JlYWRNb2RlKE5PUl9IYW5kbGVUeXBlRGVmICpobm9yKQogewotICB1aW50MzJfdCBkZXZpY2VhZGRyZXNzID0gMFU7ICAKLSAgCi0gIC8qIFByb2Nlc3MgTG9ja2VkICovCi0gIF9fSEFMX0xPQ0soaG5vcik7Ci0gIAotICAvKiBDaGVjayB0aGUgTk9SIGNvbnRyb2xsZXIgc3RhdGUgKi8KLSAgaWYoaG5vci0+U3RhdGUgPT0gSEFMX05PUl9TVEFURV9CVVNZKQotICB7Ci0gICAgIHJldHVybiBIQUxfQlVTWTsKLSAgfQotICAKLSAgLyogU2VsZWN0IHRoZSBOT1IgZGV2aWNlIGFkZHJlc3MgKi8KLSAgaWYgKGhub3ItPkluaXQuTlNCYW5rID09IEZNQ19OT1JTUkFNX0JBTksxKQotICB7Ci0gICAgZGV2aWNlYWRkcmVzcyA9IE5PUl9NRU1PUllfQURSRVNTMTsKLSAgfQotICBlbHNlIGlmIChobm9yLT5Jbml0Lk5TQmFuayA9PSBGTUNfTk9SU1JBTV9CQU5LMikKLSAgewotICAgIGRldmljZWFkZHJlc3MgPSBOT1JfTUVNT1JZX0FEUkVTUzI7Ci0gIH0KLSAgZWxzZSBpZiAoaG5vci0+SW5pdC5OU0JhbmsgPT0gRk1DX05PUlNSQU1fQkFOSzMpCi0gIHsKLSAgICBkZXZpY2VhZGRyZXNzID0gTk9SX01FTU9SWV9BRFJFU1MzOwotICB9Ci0gIGVsc2UgLyogRk1DX05PUlNSQU1fQkFOSzQgKi8KLSAgewotICAgIGRldmljZWFkZHJlc3MgPSBOT1JfTUVNT1JZX0FEUkVTUzQ7Ci0gIH0gIAotICAKLSAgTk9SX1dSSVRFKGRldmljZWFkZHJlc3MsIE5PUl9DTURfREFUQV9SRUFEX1JFU0VUKTsKKyAgdWludDMyX3QgZGV2aWNlYWRkcmVzczsKKyAgSEFMX05PUl9TdGF0ZVR5cGVEZWYgc3RhdGU7CisgIEhBTF9TdGF0dXNUeXBlRGVmIHN0YXR1cyA9IEhBTF9PSzsKIAogICAvKiBDaGVjayB0aGUgTk9SIGNvbnRyb2xsZXIgc3RhdGUgKi8KLSAgaG5vci0+U3RhdGUgPSBIQUxfTk9SX1NUQVRFX1JFQURZOwotICAKLSAgLyogUHJvY2VzcyB1bmxvY2tlZCAqLwotICBfX0hBTF9VTkxPQ0soaG5vcik7ICAgCi0gIAotICByZXR1cm4gSEFMX09LOworICBzdGF0ZSA9IGhub3ItPlN0YXRlOworICBpZiAoc3RhdGUgPT0gSEFMX05PUl9TVEFURV9CVVNZKQorICB7CisgICAgcmV0dXJuIEhBTF9CVVNZOworICB9CisgIGVsc2UgaWYgKHN0YXRlID09IEhBTF9OT1JfU1RBVEVfUFJPVEVDVEVEKQorICB7CisgICAgcmV0dXJuIEhBTF9FUlJPUjsKKyAgfQorICBlbHNlIGlmIChzdGF0ZSA9PSBIQUxfTk9SX1NUQVRFX1JFQURZKQorICB7CisgICAgLyogUHJvY2VzcyBMb2NrZWQgKi8KKyAgICBfX0hBTF9MT0NLKGhub3IpOworCisgICAgLyogVXBkYXRlIHRoZSBOT1IgY29udHJvbGxlciBzdGF0ZSAqLworICAgIGhub3ItPlN0YXRlID0gSEFMX05PUl9TVEFURV9CVVNZOworCisgICAgLyogU2VsZWN0IHRoZSBOT1IgZGV2aWNlIGFkZHJlc3MgKi8KKyAgICBpZiAoaG5vci0+SW5pdC5OU0JhbmsgPT0gRk1DX05PUlNSQU1fQkFOSzEpCisgICAgeworICAgICAgZGV2aWNlYWRkcmVzcyA9IE5PUl9NRU1PUllfQURSRVNTMTsKKyAgICB9CisgICAgZWxzZSBpZiAoaG5vci0+SW5pdC5OU0JhbmsgPT0gRk1DX05PUlNSQU1fQkFOSzIpCisgICAgeworICAgICAgZGV2aWNlYWRkcmVzcyA9IE5PUl9NRU1PUllfQURSRVNTMjsKKyAgICB9CisgICAgZWxzZSBpZiAoaG5vci0+SW5pdC5OU0JhbmsgPT0gRk1DX05PUlNSQU1fQkFOSzMpCisgICAgeworICAgICAgZGV2aWNlYWRkcmVzcyA9IE5PUl9NRU1PUllfQURSRVNTMzsKKyAgICB9CisgICAgZWxzZSAvKiBGTUNfTk9SU1JBTV9CQU5LNCAqLworICAgIHsKKyAgICAgIGRldmljZWFkZHJlc3MgPSBOT1JfTUVNT1JZX0FEUkVTUzQ7CisgICAgfQorCisgICAgaWYgKGhub3ItPkNvbW1hbmRTZXQgPT0gTk9SX0FNRF9GVUpJVFNVX0NPTU1BTkRfU0VUKQorICAgIHsKKyAgICAgIE5PUl9XUklURShkZXZpY2VhZGRyZXNzLCBOT1JfQ01EX0RBVEFfUkVBRF9SRVNFVCk7CisgICAgfQorICAgIGVsc2UgaWYgKGhub3ItPkNvbW1hbmRTZXQgPT0gTk9SX0lOVEVMX1NIQVJQX0VYVF9DT01NQU5EX1NFVCkKKyAgICB7CisgICAgICBOT1JfV1JJVEUoZGV2aWNlYWRkcmVzcywgTk9SX0NNRF9SRUFEX0FSUkFZKTsKKyAgICB9CisgICAgZWxzZQorICAgIHsKKyAgICAgIC8qIFByaW1hcnkgY29tbWFuZCBzZXQgbm90IHN1cHBvcnRlZCBieSB0aGUgZHJpdmVyICovCisgICAgICBzdGF0dXMgPSBIQUxfRVJST1I7CisgICAgfQorCisgICAgLyogQ2hlY2sgdGhlIE5PUiBjb250cm9sbGVyIHN0YXRlICovCisgICAgaG5vci0+U3RhdGUgPSBzdGF0ZTsKKworICAgIC8qIFByb2Nlc3MgdW5sb2NrZWQgKi8KKyAgICBfX0hBTF9VTkxPQ0soaG5vcik7CisgIH0KKyAgZWxzZQorICB7CisgICAgcmV0dXJuIEhBTF9FUlJPUjsKKyAgfQorCisgIHJldHVybiBzdGF0dXM7CiB9CiAKIC8qKgotICAqIEBicmllZiAgUmVhZCBkYXRhIGZyb20gTk9SIG1lbW9yeSAKKyAgKiBAYnJpZWYgIFJlYWQgZGF0YSBmcm9tIE5PUiBtZW1vcnkKICAgKiBAcGFyYW0gIGhub3IgcG9pbnRlciB0byBhIE5PUl9IYW5kbGVUeXBlRGVmIHN0cnVjdHVyZSB0aGF0IGNvbnRhaW5zCiAgICogICAgICAgICAgICAgICAgdGhlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gZm9yIE5PUiBtb2R1bGUuCiAgICogQHBhcmFtICBwQWRkcmVzcyBwb2ludGVyIHRvIERldmljZSBhZGRyZXNzCi0gICogQHBhcmFtICBwRGF0YSAgcG9pbnRlciB0byByZWFkIGRhdGEgIAorICAqIEBwYXJhbSAgcERhdGEgIHBvaW50ZXIgdG8gcmVhZCBkYXRhCiAgICogQHJldHZhbCBIQUwgc3RhdHVzCiAgICovCiBIQUxfU3RhdHVzVHlwZURlZiBIQUxfTk9SX1JlYWQoTk9SX0hhbmRsZVR5cGVEZWYgKmhub3IsIHVpbnQzMl90ICpwQWRkcmVzcywgdWludDE2X3QgKnBEYXRhKQogewotICB1aW50MzJfdCBkZXZpY2VhZGRyZXNzID0gMFU7Ci0gIAotICAvKiBQcm9jZXNzIExvY2tlZCAqLwotICBfX0hBTF9MT0NLKGhub3IpOwotICAKLSAgLyogQ2hlY2sgdGhlIE5PUiBjb250cm9sbGVyIHN0YXRlICovCi0gIGlmKGhub3ItPlN0YXRlID09IEhBTF9OT1JfU1RBVEVfQlVTWSkKLSAgewotICAgICByZXR1cm4gSEFMX0JVU1k7Ci0gIH0KLSAgCi0gIC8qIFNlbGVjdCB0aGUgTk9SIGRldmljZSBhZGRyZXNzICovCi0gIGlmIChobm9yLT5Jbml0Lk5TQmFuayA9PSBGTUNfTk9SU1JBTV9CQU5LMSkKLSAgewotICAgIGRldmljZWFkZHJlc3MgPSBOT1JfTUVNT1JZX0FEUkVTUzE7Ci0gIH0KLSAgZWxzZSBpZiAoaG5vci0+SW5pdC5OU0JhbmsgPT0gRk1DX05PUlNSQU1fQkFOSzIpCi0gIHsKLSAgICBkZXZpY2VhZGRyZXNzID0gTk9SX01FTU9SWV9BRFJFU1MyOwotICB9Ci0gIGVsc2UgaWYgKGhub3ItPkluaXQuTlNCYW5rID09IEZNQ19OT1JTUkFNX0JBTkszKQotICB7Ci0gICAgZGV2aWNlYWRkcmVzcyA9IE5PUl9NRU1PUllfQURSRVNTMzsKLSAgfQotICBlbHNlIC8qIEZNQ19OT1JTUkFNX0JBTks0ICovCi0gIHsKLSAgICBkZXZpY2VhZGRyZXNzID0gTk9SX01FTU9SWV9BRFJFU1M0OwotICB9IAotICAgIAotICAvKiBVcGRhdGUgdGhlIE5PUiBjb250cm9sbGVyIHN0YXRlICovCi0gIGhub3ItPlN0YXRlID0gSEFMX05PUl9TVEFURV9CVVNZOwotICAKLSAgLyogU2VuZCByZWFkIGRhdGEgY29tbWFuZCAqLwotICBOT1JfV1JJVEUoTk9SX0FERFJfU0hJRlQoZGV2aWNlYWRkcmVzcywgdXdOT1JNZW1vcnlEYXRhV2lkdGgsIE5PUl9DTURfQUREUkVTU19GSVJTVCksIE5PUl9DTURfREFUQV9GSVJTVCk7IAotICBOT1JfV1JJVEUoTk9SX0FERFJfU0hJRlQoZGV2aWNlYWRkcmVzcywgdXdOT1JNZW1vcnlEYXRhV2lkdGgsIE5PUl9DTURfQUREUkVTU19TRUNPTkQpLCBOT1JfQ01EX0RBVEFfU0VDT05EKTsgIAotICBOT1JfV1JJVEUoTk9SX0FERFJfU0hJRlQoZGV2aWNlYWRkcmVzcywgdXdOT1JNZW1vcnlEYXRhV2lkdGgsIE5PUl9DTURfQUREUkVTU19USElSRCksIE5PUl9DTURfREFUQV9SRUFEX1JFU0VUKTsKKyAgdWludDMyX3QgZGV2aWNlYWRkcmVzczsKKyAgSEFMX05PUl9TdGF0ZVR5cGVEZWYgc3RhdGU7CisgIEhBTF9TdGF0dXNUeXBlRGVmIHN0YXR1cyA9IEhBTF9PSzsKIAotICAvKiBSZWFkIHRoZSBkYXRhICovCi0gICpwRGF0YSA9ICooX19JTyB1aW50MzJfdCAqKSh1aW50MzJfdClwQWRkcmVzczsKLSAgCiAgIC8qIENoZWNrIHRoZSBOT1IgY29udHJvbGxlciBzdGF0ZSAqLwotICBobm9yLT5TdGF0ZSA9IEhBTF9OT1JfU1RBVEVfUkVBRFk7Ci0gIAotICAvKiBQcm9jZXNzIHVubG9ja2VkICovCi0gIF9fSEFMX1VOTE9DSyhobm9yKTsKLSAgCi0gIHJldHVybiBIQUxfT0s7ICAKKyAgc3RhdGUgPSBobm9yLT5TdGF0ZTsKKyAgaWYgKHN0YXRlID09IEhBTF9OT1JfU1RBVEVfQlVTWSkKKyAgeworICAgIHJldHVybiBIQUxfQlVTWTsKKyAgfQorICBlbHNlIGlmIChzdGF0ZSA9PSBIQUxfTk9SX1NUQVRFX1BST1RFQ1RFRCkKKyAgeworICAgIHJldHVybiBIQUxfRVJST1I7CisgIH0KKyAgZWxzZSBpZiAoc3RhdGUgPT0gSEFMX05PUl9TVEFURV9SRUFEWSkKKyAgeworICAgIC8qIFByb2Nlc3MgTG9ja2VkICovCisgICAgX19IQUxfTE9DSyhobm9yKTsKKworICAgIC8qIFVwZGF0ZSB0aGUgTk9SIGNvbnRyb2xsZXIgc3RhdGUgKi8KKyAgICBobm9yLT5TdGF0ZSA9IEhBTF9OT1JfU1RBVEVfQlVTWTsKKworICAgIC8qIFNlbGVjdCB0aGUgTk9SIGRldmljZSBhZGRyZXNzICovCisgICAgaWYgKGhub3ItPkluaXQuTlNCYW5rID09IEZNQ19OT1JTUkFNX0JBTksxKQorICAgIHsKKyAgICAgIGRldmljZWFkZHJlc3MgPSBOT1JfTUVNT1JZX0FEUkVTUzE7CisgICAgfQorICAgIGVsc2UgaWYgKGhub3ItPkluaXQuTlNCYW5rID09IEZNQ19OT1JTUkFNX0JBTksyKQorICAgIHsKKyAgICAgIGRldmljZWFkZHJlc3MgPSBOT1JfTUVNT1JZX0FEUkVTUzI7CisgICAgfQorICAgIGVsc2UgaWYgKGhub3ItPkluaXQuTlNCYW5rID09IEZNQ19OT1JTUkFNX0JBTkszKQorICAgIHsKKyAgICAgIGRldmljZWFkZHJlc3MgPSBOT1JfTUVNT1JZX0FEUkVTUzM7CisgICAgfQorICAgIGVsc2UgLyogRk1DX05PUlNSQU1fQkFOSzQgKi8KKyAgICB7CisgICAgICBkZXZpY2VhZGRyZXNzID0gTk9SX01FTU9SWV9BRFJFU1M0OworICAgIH0KKworICAgIC8qIFNlbmQgcmVhZCBkYXRhIGNvbW1hbmQgKi8KKyAgICBpZiAoaG5vci0+Q29tbWFuZFNldCA9PSBOT1JfQU1EX0ZVSklUU1VfQ09NTUFORF9TRVQpCisgICAgeworICAgICAgTk9SX1dSSVRFKE5PUl9BRERSX1NISUZUKGRldmljZWFkZHJlc3MsIHV3Tk9STWVtb3J5RGF0YVdpZHRoLCBOT1JfQ01EX0FERFJFU1NfRklSU1QpLCBOT1JfQ01EX0RBVEFfRklSU1QpOworICAgICAgTk9SX1dSSVRFKE5PUl9BRERSX1NISUZUKGRldmljZWFkZHJlc3MsIHV3Tk9STWVtb3J5RGF0YVdpZHRoLCBOT1JfQ01EX0FERFJFU1NfU0VDT05EKSwgTk9SX0NNRF9EQVRBX1NFQ09ORCk7CisgICAgICBOT1JfV1JJVEUoTk9SX0FERFJfU0hJRlQoZGV2aWNlYWRkcmVzcywgdXdOT1JNZW1vcnlEYXRhV2lkdGgsIE5PUl9DTURfQUREUkVTU19USElSRCksIE5PUl9DTURfREFUQV9SRUFEX1JFU0VUKTsKKyAgICB9CisgICAgZWxzZSBpZiAoaG5vci0+Q29tbWFuZFNldCA9PSBOT1JfSU5URUxfU0hBUlBfRVhUX0NPTU1BTkRfU0VUKQorICAgIHsKKyAgICAgIE5PUl9XUklURShwQWRkcmVzcywgTk9SX0NNRF9SRUFEX0FSUkFZKTsKKyAgICB9CisgICAgZWxzZQorICAgIHsKKyAgICAgIC8qIFByaW1hcnkgY29tbWFuZCBzZXQgbm90IHN1cHBvcnRlZCBieSB0aGUgZHJpdmVyICovCisgICAgICBzdGF0dXMgPSBIQUxfRVJST1I7CisgICAgfQorCisgICAgaWYgKHN0YXR1cyAhPSBIQUxfRVJST1IpCisgICAgeworICAgICAgLyogUmVhZCB0aGUgZGF0YSAqLworICAgICAgKnBEYXRhID0gKHVpbnQxNl90KSgqKF9fSU8gdWludDMyX3QgKilwQWRkcmVzcyk7CisgICAgfQorCisgICAgLyogQ2hlY2sgdGhlIE5PUiBjb250cm9sbGVyIHN0YXRlICovCisgICAgaG5vci0+U3RhdGUgPSBzdGF0ZTsKKworICAgIC8qIFByb2Nlc3MgdW5sb2NrZWQgKi8KKyAgICBfX0hBTF9VTkxPQ0soaG5vcik7CisgIH0KKyAgZWxzZQorICB7CisgICAgcmV0dXJuIEhBTF9FUlJPUjsKKyAgfQorCisgIHJldHVybiBzdGF0dXM7CiB9CiAKIC8qKgotICAqIEBicmllZiAgUHJvZ3JhbSBkYXRhIHRvIE5PUiBtZW1vcnkgCisgICogQGJyaWVmICBQcm9ncmFtIGRhdGEgdG8gTk9SIG1lbW9yeQogICAqIEBwYXJhbSAgaG5vciBwb2ludGVyIHRvIGEgTk9SX0hhbmRsZVR5cGVEZWYgc3RydWN0dXJlIHRoYXQgY29udGFpbnMKICAgKiAgICAgICAgICAgICAgICB0aGUgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbiBmb3IgTk9SIG1vZHVsZS4KICAgKiBAcGFyYW0gIHBBZGRyZXNzIERldmljZSBhZGRyZXNzCi0gICogQHBhcmFtICBwRGF0YSAgcG9pbnRlciB0byB0aGUgZGF0YSB0byB3cml0ZSAgIAorICAqIEBwYXJhbSAgcERhdGEgIHBvaW50ZXIgdG8gdGhlIGRhdGEgdG8gd3JpdGUKICAgKiBAcmV0dmFsIEhBTCBzdGF0dXMKICAgKi8KIEhBTF9TdGF0dXNUeXBlRGVmIEhBTF9OT1JfUHJvZ3JhbShOT1JfSGFuZGxlVHlwZURlZiAqaG5vciwgdWludDMyX3QgKnBBZGRyZXNzLCB1aW50MTZfdCAqcERhdGEpCiB7Ci0gIHVpbnQzMl90IGRldmljZWFkZHJlc3MgPSAwVTsKLSAgCi0gIC8qIFByb2Nlc3MgTG9ja2VkICovCi0gIF9fSEFMX0xPQ0soaG5vcik7Ci0gIAotICAvKiBDaGVjayB0aGUgTk9SIGNvbnRyb2xsZXIgc3RhdGUgKi8KLSAgaWYoaG5vci0+U3RhdGUgPT0gSEFMX05PUl9TVEFURV9CVVNZKQotICB7Ci0gICAgIHJldHVybiBIQUxfQlVTWTsKLSAgfQotICAKLSAgLyogU2VsZWN0IHRoZSBOT1IgZGV2aWNlIGFkZHJlc3MgKi8KLSAgaWYgKGhub3ItPkluaXQuTlNCYW5rID09IEZNQ19OT1JTUkFNX0JBTksxKQotICB7Ci0gICAgZGV2aWNlYWRkcmVzcyA9IE5PUl9NRU1PUllfQURSRVNTMTsKLSAgfQotICBlbHNlIGlmIChobm9yLT5Jbml0Lk5TQmFuayA9PSBGTUNfTk9SU1JBTV9CQU5LMikKLSAgewotICAgIGRldmljZWFkZHJlc3MgPSBOT1JfTUVNT1JZX0FEUkVTUzI7Ci0gIH0KLSAgZWxzZSBpZiAoaG5vci0+SW5pdC5OU0JhbmsgPT0gRk1DX05PUlNSQU1fQkFOSzMpCi0gIHsKLSAgICBkZXZpY2VhZGRyZXNzID0gTk9SX01FTU9SWV9BRFJFU1MzOwotICB9Ci0gIGVsc2UgLyogRk1DX05PUlNSQU1fQkFOSzQgKi8KLSAgewotICAgIGRldmljZWFkZHJlc3MgPSBOT1JfTUVNT1JZX0FEUkVTUzQ7Ci0gIH0gCi0gICAgCi0gIC8qIFVwZGF0ZSB0aGUgTk9SIGNvbnRyb2xsZXIgc3RhdGUgKi8KLSAgaG5vci0+U3RhdGUgPSBIQUxfTk9SX1NUQVRFX0JVU1k7Ci0gIAotICAvKiBTZW5kIHByb2dyYW0gZGF0YSBjb21tYW5kICovCi0gIE5PUl9XUklURShOT1JfQUREUl9TSElGVChkZXZpY2VhZGRyZXNzLCB1d05PUk1lbW9yeURhdGFXaWR0aCwgTk9SX0NNRF9BRERSRVNTX0ZJUlNUKSwgTk9SX0NNRF9EQVRBX0ZJUlNUKTsKLSAgTk9SX1dSSVRFKE5PUl9BRERSX1NISUZUKGRldmljZWFkZHJlc3MsIHV3Tk9STWVtb3J5RGF0YVdpZHRoLCBOT1JfQ01EX0FERFJFU1NfU0VDT05EKSwgTk9SX0NNRF9EQVRBX1NFQ09ORCk7Ci0gIE5PUl9XUklURShOT1JfQUREUl9TSElGVChkZXZpY2VhZGRyZXNzLCB1d05PUk1lbW9yeURhdGFXaWR0aCwgTk9SX0NNRF9BRERSRVNTX1RISVJEKSwgTk9SX0NNRF9EQVRBX1BST0dSQU0pOworICB1aW50MzJfdCBkZXZpY2VhZGRyZXNzOworICBIQUxfU3RhdHVzVHlwZURlZiBzdGF0dXMgPSBIQUxfT0s7CiAKLSAgLyogV3JpdGUgdGhlIGRhdGEgKi8KLSAgTk9SX1dSSVRFKHBBZGRyZXNzLCAqcERhdGEpOwotICAKICAgLyogQ2hlY2sgdGhlIE5PUiBjb250cm9sbGVyIHN0YXRlICovCi0gIGhub3ItPlN0YXRlID0gSEFMX05PUl9TVEFURV9SRUFEWTsKLSAgCi0gIC8qIFByb2Nlc3MgdW5sb2NrZWQgKi8KLSAgX19IQUxfVU5MT0NLKGhub3IpOwotICAKLSAgcmV0dXJuIEhBTF9PSzsgIAorICBpZiAoaG5vci0+U3RhdGUgPT0gSEFMX05PUl9TVEFURV9CVVNZKQorICB7CisgICAgcmV0dXJuIEhBTF9CVVNZOworICB9CisgIGVsc2UgaWYgKGhub3ItPlN0YXRlID09IEhBTF9OT1JfU1RBVEVfUkVBRFkpCisgIHsKKyAgICAvKiBQcm9jZXNzIExvY2tlZCAqLworICAgIF9fSEFMX0xPQ0soaG5vcik7CisKKyAgICAvKiBVcGRhdGUgdGhlIE5PUiBjb250cm9sbGVyIHN0YXRlICovCisgICAgaG5vci0+U3RhdGUgPSBIQUxfTk9SX1NUQVRFX0JVU1k7CisKKyAgICAvKiBTZWxlY3QgdGhlIE5PUiBkZXZpY2UgYWRkcmVzcyAqLworICAgIGlmIChobm9yLT5Jbml0Lk5TQmFuayA9PSBGTUNfTk9SU1JBTV9CQU5LMSkKKyAgICB7CisgICAgICBkZXZpY2VhZGRyZXNzID0gTk9SX01FTU9SWV9BRFJFU1MxOworICAgIH0KKyAgICBlbHNlIGlmIChobm9yLT5Jbml0Lk5TQmFuayA9PSBGTUNfTk9SU1JBTV9CQU5LMikKKyAgICB7CisgICAgICBkZXZpY2VhZGRyZXNzID0gTk9SX01FTU9SWV9BRFJFU1MyOworICAgIH0KKyAgICBlbHNlIGlmIChobm9yLT5Jbml0Lk5TQmFuayA9PSBGTUNfTk9SU1JBTV9CQU5LMykKKyAgICB7CisgICAgICBkZXZpY2VhZGRyZXNzID0gTk9SX01FTU9SWV9BRFJFU1MzOworICAgIH0KKyAgICBlbHNlIC8qIEZNQ19OT1JTUkFNX0JBTks0ICovCisgICAgeworICAgICAgZGV2aWNlYWRkcmVzcyA9IE5PUl9NRU1PUllfQURSRVNTNDsKKyAgICB9CisKKyAgICAvKiBTZW5kIHByb2dyYW0gZGF0YSBjb21tYW5kICovCisgICAgaWYgKGhub3ItPkNvbW1hbmRTZXQgPT0gTk9SX0FNRF9GVUpJVFNVX0NPTU1BTkRfU0VUKQorICAgIHsKKyAgICAgIE5PUl9XUklURShOT1JfQUREUl9TSElGVChkZXZpY2VhZGRyZXNzLCB1d05PUk1lbW9yeURhdGFXaWR0aCwgTk9SX0NNRF9BRERSRVNTX0ZJUlNUKSwgTk9SX0NNRF9EQVRBX0ZJUlNUKTsKKyAgICAgIE5PUl9XUklURShOT1JfQUREUl9TSElGVChkZXZpY2VhZGRyZXNzLCB1d05PUk1lbW9yeURhdGFXaWR0aCwgTk9SX0NNRF9BRERSRVNTX1NFQ09ORCksIE5PUl9DTURfREFUQV9TRUNPTkQpOworICAgICAgTk9SX1dSSVRFKE5PUl9BRERSX1NISUZUKGRldmljZWFkZHJlc3MsIHV3Tk9STWVtb3J5RGF0YVdpZHRoLCBOT1JfQ01EX0FERFJFU1NfVEhJUkQpLCBOT1JfQ01EX0RBVEFfUFJPR1JBTSk7CisgICAgfQorICAgIGVsc2UgaWYgKGhub3ItPkNvbW1hbmRTZXQgPT0gTk9SX0lOVEVMX1NIQVJQX0VYVF9DT01NQU5EX1NFVCkKKyAgICB7CisgICAgICBOT1JfV1JJVEUocEFkZHJlc3MsIE5PUl9DTURfV09SRF9QUk9HUkFNKTsKKyAgICB9CisgICAgZWxzZQorICAgIHsKKyAgICAgIC8qIFByaW1hcnkgY29tbWFuZCBzZXQgbm90IHN1cHBvcnRlZCBieSB0aGUgZHJpdmVyICovCisgICAgICBzdGF0dXMgPSBIQUxfRVJST1I7CisgICAgfQorCisgICAgaWYgKHN0YXR1cyAhPSBIQUxfRVJST1IpCisgICAgeworICAgICAgLyogV3JpdGUgdGhlIGRhdGEgKi8KKyAgICAgIE5PUl9XUklURShwQWRkcmVzcywgKnBEYXRhKTsKKyAgICB9CisKKyAgICAvKiBDaGVjayB0aGUgTk9SIGNvbnRyb2xsZXIgc3RhdGUgKi8KKyAgICBobm9yLT5TdGF0ZSA9IEhBTF9OT1JfU1RBVEVfUkVBRFk7CisKKyAgICAvKiBQcm9jZXNzIHVubG9ja2VkICovCisgICAgX19IQUxfVU5MT0NLKGhub3IpOworICB9CisgIGVsc2UKKyAgeworICAgIHJldHVybiBIQUxfRVJST1I7CisgIH0KKworICByZXR1cm4gc3RhdHVzOwogfQogCiAvKioKICAgKiBAYnJpZWYgIFJlYWRzIGEgaGFsZi13b3JkIGJ1ZmZlciBmcm9tIHRoZSBOT1IgbWVtb3J5LgogICAqIEBwYXJhbSAgaG5vciBwb2ludGVyIHRvIHRoZSBOT1IgaGFuZGxlCiAgICogQHBhcmFtICB1d0FkZHJlc3MgTk9SIG1lbW9yeSBpbnRlcm5hbCBhZGRyZXNzIHRvIHJlYWQgZnJvbS4KLSAgKiBAcGFyYW0gIHBEYXRhIHBvaW50ZXIgdG8gdGhlIGJ1ZmZlciB0aGF0IHJlY2VpdmVzIHRoZSBkYXRhIHJlYWQgZnJvbSB0aGUgCisgICogQHBhcmFtICBwRGF0YSBwb2ludGVyIHRvIHRoZSBidWZmZXIgdGhhdCByZWNlaXZlcyB0aGUgZGF0YSByZWFkIGZyb20gdGhlCiAgICogICAgICAgICBOT1IgbWVtb3J5LgogICAqIEBwYXJhbSAgdXdCdWZmZXJTaXplICBudW1iZXIgb2YgSGFsZiB3b3JkIHRvIHJlYWQuCiAgICogQHJldHZhbCBIQUwgc3RhdHVzCiAgICovCi1IQUxfU3RhdHVzVHlwZURlZiBIQUxfTk9SX1JlYWRCdWZmZXIoTk9SX0hhbmRsZVR5cGVEZWYgKmhub3IsIHVpbnQzMl90IHV3QWRkcmVzcywgdWludDE2X3QgKnBEYXRhLCB1aW50MzJfdCB1d0J1ZmZlclNpemUpCitIQUxfU3RhdHVzVHlwZURlZiBIQUxfTk9SX1JlYWRCdWZmZXIoTk9SX0hhbmRsZVR5cGVEZWYgKmhub3IsIHVpbnQzMl90IHV3QWRkcmVzcywgdWludDE2X3QgKnBEYXRhLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHV3QnVmZmVyU2l6ZSkKIHsKLSAgdWludDMyX3QgZGV2aWNlYWRkcmVzcyA9IDBVOwotICAKLSAgLyogUHJvY2VzcyBMb2NrZWQgKi8KLSAgX19IQUxfTE9DSyhobm9yKTsKLSAgCisgIHVpbnQzMl90IGRldmljZWFkZHJlc3M7CisgIHVpbnQzMl90IHNpemUgPSB1d0J1ZmZlclNpemU7CisgIHVpbnQzMl90IGFkZHJlc3MgPSB1d0FkZHJlc3M7CisgIHVpbnQxNl90ICpkYXRhID0gcERhdGE7CisgIEhBTF9OT1JfU3RhdGVUeXBlRGVmIHN0YXRlOworICBIQUxfU3RhdHVzVHlwZURlZiBzdGF0dXMgPSBIQUxfT0s7CisKICAgLyogQ2hlY2sgdGhlIE5PUiBjb250cm9sbGVyIHN0YXRlICovCi0gIGlmKGhub3ItPlN0YXRlID09IEhBTF9OT1JfU1RBVEVfQlVTWSkKKyAgc3RhdGUgPSBobm9yLT5TdGF0ZTsKKyAgaWYgKHN0YXRlID09IEhBTF9OT1JfU1RBVEVfQlVTWSkKICAgewotICAgICByZXR1cm4gSEFMX0JVU1k7CisgICAgcmV0dXJuIEhBTF9CVVNZOwogICB9Ci0gIAotICAvKiBTZWxlY3QgdGhlIE5PUiBkZXZpY2UgYWRkcmVzcyAqLwotICBpZiAoaG5vci0+SW5pdC5OU0JhbmsgPT0gRk1DX05PUlNSQU1fQkFOSzEpCisgIGVsc2UgaWYgKHN0YXRlID09IEhBTF9OT1JfU1RBVEVfUFJPVEVDVEVEKQogICB7Ci0gICAgZGV2aWNlYWRkcmVzcyA9IE5PUl9NRU1PUllfQURSRVNTMTsKKyAgICByZXR1cm4gSEFMX0VSUk9SOwogICB9Ci0gIGVsc2UgaWYgKGhub3ItPkluaXQuTlNCYW5rID09IEZNQ19OT1JTUkFNX0JBTksyKQorICBlbHNlIGlmIChzdGF0ZSA9PSBIQUxfTk9SX1NUQVRFX1JFQURZKQogICB7Ci0gICAgZGV2aWNlYWRkcmVzcyA9IE5PUl9NRU1PUllfQURSRVNTMjsKKyAgICAvKiBQcm9jZXNzIExvY2tlZCAqLworICAgIF9fSEFMX0xPQ0soaG5vcik7CisKKyAgICAvKiBVcGRhdGUgdGhlIE5PUiBjb250cm9sbGVyIHN0YXRlICovCisgICAgaG5vci0+U3RhdGUgPSBIQUxfTk9SX1NUQVRFX0JVU1k7CisKKyAgICAvKiBTZWxlY3QgdGhlIE5PUiBkZXZpY2UgYWRkcmVzcyAqLworICAgIGlmIChobm9yLT5Jbml0Lk5TQmFuayA9PSBGTUNfTk9SU1JBTV9CQU5LMSkKKyAgICB7CisgICAgICBkZXZpY2VhZGRyZXNzID0gTk9SX01FTU9SWV9BRFJFU1MxOworICAgIH0KKyAgICBlbHNlIGlmIChobm9yLT5Jbml0Lk5TQmFuayA9PSBGTUNfTk9SU1JBTV9CQU5LMikKKyAgICB7CisgICAgICBkZXZpY2VhZGRyZXNzID0gTk9SX01FTU9SWV9BRFJFU1MyOworICAgIH0KKyAgICBlbHNlIGlmIChobm9yLT5Jbml0Lk5TQmFuayA9PSBGTUNfTk9SU1JBTV9CQU5LMykKKyAgICB7CisgICAgICBkZXZpY2VhZGRyZXNzID0gTk9SX01FTU9SWV9BRFJFU1MzOworICAgIH0KKyAgICBlbHNlIC8qIEZNQ19OT1JTUkFNX0JBTks0ICovCisgICAgeworICAgICAgZGV2aWNlYWRkcmVzcyA9IE5PUl9NRU1PUllfQURSRVNTNDsKKyAgICB9CisKKyAgICAvKiBTZW5kIHJlYWQgZGF0YSBjb21tYW5kICovCisgICAgaWYgKGhub3ItPkNvbW1hbmRTZXQgPT0gTk9SX0FNRF9GVUpJVFNVX0NPTU1BTkRfU0VUKQorICAgIHsKKyAgICAgIE5PUl9XUklURShOT1JfQUREUl9TSElGVChkZXZpY2VhZGRyZXNzLCB1d05PUk1lbW9yeURhdGFXaWR0aCwgTk9SX0NNRF9BRERSRVNTX0ZJUlNUKSwgTk9SX0NNRF9EQVRBX0ZJUlNUKTsKKyAgICAgIE5PUl9XUklURShOT1JfQUREUl9TSElGVChkZXZpY2VhZGRyZXNzLCB1d05PUk1lbW9yeURhdGFXaWR0aCwgTk9SX0NNRF9BRERSRVNTX1NFQ09ORCksIE5PUl9DTURfREFUQV9TRUNPTkQpOworICAgICAgTk9SX1dSSVRFKE5PUl9BRERSX1NISUZUKGRldmljZWFkZHJlc3MsIHV3Tk9STWVtb3J5RGF0YVdpZHRoLCBOT1JfQ01EX0FERFJFU1NfVEhJUkQpLCBOT1JfQ01EX0RBVEFfUkVBRF9SRVNFVCk7CisgICAgfQorICAgIGVsc2UgaWYgKGhub3ItPkNvbW1hbmRTZXQgPT0gTk9SX0lOVEVMX1NIQVJQX0VYVF9DT01NQU5EX1NFVCkKKyAgICB7CisgICAgICBOT1JfV1JJVEUoZGV2aWNlYWRkcmVzcywgTk9SX0NNRF9SRUFEX0FSUkFZKTsKKyAgICB9CisgICAgZWxzZQorICAgIHsKKyAgICAgIC8qIFByaW1hcnkgY29tbWFuZCBzZXQgbm90IHN1cHBvcnRlZCBieSB0aGUgZHJpdmVyICovCisgICAgICBzdGF0dXMgPSBIQUxfRVJST1I7CisgICAgfQorCisgICAgaWYgKHN0YXR1cyAhPSBIQUxfRVJST1IpCisgICAgeworICAgICAgLyogUmVhZCBidWZmZXIgKi8KKyAgICAgIHdoaWxlIChzaXplID4gMFUpCisgICAgICB7CisgICAgICAgICpkYXRhID0gKihfX0lPIHVpbnQxNl90ICopYWRkcmVzczsKKyAgICAgICAgZGF0YSsrOworICAgICAgICBhZGRyZXNzICs9IDJVOworICAgICAgICBzaXplLS07CisgICAgICB9CisgICAgfQorCisgICAgLyogQ2hlY2sgdGhlIE5PUiBjb250cm9sbGVyIHN0YXRlICovCisgICAgaG5vci0+U3RhdGUgPSBzdGF0ZTsKKworICAgIC8qIFByb2Nlc3MgdW5sb2NrZWQgKi8KKyAgICBfX0hBTF9VTkxPQ0soaG5vcik7CiAgIH0KLSAgZWxzZSBpZiAoaG5vci0+SW5pdC5OU0JhbmsgPT0gRk1DX05PUlNSQU1fQkFOSzMpCisgIGVsc2UKICAgewotICAgIGRldmljZWFkZHJlc3MgPSBOT1JfTUVNT1JZX0FEUkVTUzM7CisgICAgcmV0dXJuIEhBTF9FUlJPUjsKICAgfQotICBlbHNlIC8qIEZNQ19OT1JTUkFNX0JBTks0ICovCi0gIHsKLSAgICBkZXZpY2VhZGRyZXNzID0gTk9SX01FTU9SWV9BRFJFU1M0OwotICB9ICAKLSAgICAKLSAgLyogVXBkYXRlIHRoZSBOT1IgY29udHJvbGxlciBzdGF0ZSAqLwotICBobm9yLT5TdGF0ZSA9IEhBTF9OT1JfU1RBVEVfQlVTWTsKLSAgCi0gIC8qIFNlbmQgcmVhZCBkYXRhIGNvbW1hbmQgKi8KLSAgTk9SX1dSSVRFKE5PUl9BRERSX1NISUZUKGRldmljZWFkZHJlc3MsIHV3Tk9STWVtb3J5RGF0YVdpZHRoLCBOT1JfQ01EX0FERFJFU1NfRklSU1QpLCBOT1JfQ01EX0RBVEFfRklSU1QpOyAKLSAgTk9SX1dSSVRFKE5PUl9BRERSX1NISUZUKGRldmljZWFkZHJlc3MsIHV3Tk9STWVtb3J5RGF0YVdpZHRoLCBOT1JfQ01EX0FERFJFU1NfU0VDT05EKSwgTk9SX0NNRF9EQVRBX1NFQ09ORCk7ICAKLSAgTk9SX1dSSVRFKE5PUl9BRERSX1NISUZUKGRldmljZWFkZHJlc3MsIHV3Tk9STWVtb3J5RGF0YVdpZHRoLCBOT1JfQ01EX0FERFJFU1NfVEhJUkQpLCBOT1JfQ01EX0RBVEFfUkVBRF9SRVNFVCk7Ci0gIAotICAvKiBSZWFkIGJ1ZmZlciAqLwotICB3aGlsZSggdXdCdWZmZXJTaXplID4gMFUpIAotICB7Ci0gICAgKnBEYXRhKysgPSAqKF9fSU8gdWludDE2X3QgKil1d0FkZHJlc3M7Ci0gICAgdXdBZGRyZXNzICs9IDJVOwotICAgIHV3QnVmZmVyU2l6ZS0tOwotICB9IAotICAKLSAgLyogQ2hlY2sgdGhlIE5PUiBjb250cm9sbGVyIHN0YXRlICovCi0gIGhub3ItPlN0YXRlID0gSEFMX05PUl9TVEFURV9SRUFEWTsKLSAgCi0gIC8qIFByb2Nlc3MgdW5sb2NrZWQgKi8KLSAgX19IQUxfVU5MT0NLKGhub3IpOwotICAKLSAgcmV0dXJuIEhBTF9PSzsgIAorCisgIHJldHVybiBzdGF0dXM7CiB9CiAKIC8qKgotICAqIEBicmllZiAgV3JpdGVzIGEgaGFsZi13b3JkIGJ1ZmZlciB0byB0aGUgTk9SIG1lbW9yeS4gVGhpcyBmdW5jdGlvbiBtdXN0IGJlIHVzZWQgCi0gICAgICAgICAgICBvbmx5IHdpdGggUzI5R0wxMjhQIE5PUiBtZW1vcnkuIAorICAqIEBicmllZiAgV3JpdGVzIGEgaGFsZi13b3JkIGJ1ZmZlciB0byB0aGUgTk9SIG1lbW9yeS4gVGhpcyBmdW5jdGlvbiBtdXN0IGJlIHVzZWQKKyAgICAgICAgICAgIG9ubHkgd2l0aCBTMjlHTDEyOFAgTk9SIG1lbW9yeS4KICAgKiBAcGFyYW0gIGhub3IgcG9pbnRlciB0byB0aGUgTk9SIGhhbmRsZQotICAqIEBwYXJhbSAgdXdBZGRyZXNzIE5PUiBtZW1vcnkgaW50ZXJuYWwgc3RhcnQgd3JpdGUgYWRkcmVzcyAKLSAgKiBAcGFyYW0gIHBEYXRhIHBvaW50ZXIgdG8gc291cmNlIGRhdGEgYnVmZmVyLiAKKyAgKiBAcGFyYW0gIHV3QWRkcmVzcyBOT1IgbWVtb3J5IGludGVybmFsIHN0YXJ0IHdyaXRlIGFkZHJlc3MKKyAgKiBAcGFyYW0gIHBEYXRhIHBvaW50ZXIgdG8gc291cmNlIGRhdGEgYnVmZmVyLgogICAqIEBwYXJhbSAgdXdCdWZmZXJTaXplIFNpemUgb2YgdGhlIGJ1ZmZlciB0byB3cml0ZQogICAqIEByZXR2YWwgSEFMIHN0YXR1cwotICAqLyAKLUhBTF9TdGF0dXNUeXBlRGVmIEhBTF9OT1JfUHJvZ3JhbUJ1ZmZlcihOT1JfSGFuZGxlVHlwZURlZiAqaG5vciwgdWludDMyX3QgdXdBZGRyZXNzLCB1aW50MTZfdCAqcERhdGEsIHVpbnQzMl90IHV3QnVmZmVyU2l6ZSkKKyAgKi8KK0hBTF9TdGF0dXNUeXBlRGVmIEhBTF9OT1JfUHJvZ3JhbUJ1ZmZlcihOT1JfSGFuZGxlVHlwZURlZiAqaG5vciwgdWludDMyX3QgdXdBZGRyZXNzLCB1aW50MTZfdCAqcERhdGEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgdXdCdWZmZXJTaXplKQogewotICB1aW50MTZfdCAqIHBfY3VycmVudGFkZHJlc3MgPSAodWludDE2X3QgKilOVUxMOwotICB1aW50MTZfdCAqIHBfZW5kYWRkcmVzcyA9ICh1aW50MTZfdCAqKU5VTEw7Ci0gIHVpbnQzMl90IGxhc3Rsb2FkZWRhZGRyZXNzID0gMFUsIGRldmljZWFkZHJlc3MgPSAwVTsKLSAgCi0gIC8qIFByb2Nlc3MgTG9ja2VkICovCi0gIF9fSEFMX0xPQ0soaG5vcik7Ci0gIAorICB1aW50MTZfdCAqcF9jdXJyZW50YWRkcmVzczsKKyAgY29uc3QgdWludDE2X3QgKnBfZW5kYWRkcmVzczsKKyAgdWludDE2X3QgKmRhdGEgPSBwRGF0YTsKKyAgdWludDMyX3QgZGV2aWNlYWRkcmVzczsKKyAgSEFMX1N0YXR1c1R5cGVEZWYgc3RhdHVzID0gSEFMX09LOworCiAgIC8qIENoZWNrIHRoZSBOT1IgY29udHJvbGxlciBzdGF0ZSAqLwotICBpZihobm9yLT5TdGF0ZSA9PSBIQUxfTk9SX1NUQVRFX0JVU1kpCisgIGlmIChobm9yLT5TdGF0ZSA9PSBIQUxfTk9SX1NUQVRFX0JVU1kpCiAgIHsKLSAgICAgcmV0dXJuIEhBTF9CVVNZOworICAgIHJldHVybiBIQUxfQlVTWTsKICAgfQotICAKLSAgLyogU2VsZWN0IHRoZSBOT1IgZGV2aWNlIGFkZHJlc3MgKi8KLSAgaWYgKGhub3ItPkluaXQuTlNCYW5rID09IEZNQ19OT1JTUkFNX0JBTksxKQorICBlbHNlIGlmIChobm9yLT5TdGF0ZSA9PSBIQUxfTk9SX1NUQVRFX1JFQURZKQogICB7Ci0gICAgZGV2aWNlYWRkcmVzcyA9IE5PUl9NRU1PUllfQURSRVNTMTsKLSAgfQotICBlbHNlIGlmIChobm9yLT5Jbml0Lk5TQmFuayA9PSBGTUNfTk9SU1JBTV9CQU5LMikKLSAgewotICAgIGRldmljZWFkZHJlc3MgPSBOT1JfTUVNT1JZX0FEUkVTUzI7Ci0gIH0KLSAgZWxzZSBpZiAoaG5vci0+SW5pdC5OU0JhbmsgPT0gRk1DX05PUlNSQU1fQkFOSzMpCi0gIHsKLSAgICBkZXZpY2VhZGRyZXNzID0gTk9SX01FTU9SWV9BRFJFU1MzOwotICB9Ci0gIGVsc2UgLyogRk1DX05PUlNSQU1fQkFOSzQgKi8KLSAgewotICAgIGRldmljZWFkZHJlc3MgPSBOT1JfTUVNT1JZX0FEUkVTUzQ7Ci0gIH0gIAotICAgIAotICAvKiBVcGRhdGUgdGhlIE5PUiBjb250cm9sbGVyIHN0YXRlICovCi0gIGhub3ItPlN0YXRlID0gSEFMX05PUl9TVEFURV9CVVNZOwotICAKLSAgLyogSW5pdGlhbGl6ZSB2YXJpYWJsZXMgKi8KLSAgcF9jdXJyZW50YWRkcmVzcyAgPSAodWludDE2X3QqKSgodWludDMyX3QpKHV3QWRkcmVzcykpOwotICBwX2VuZGFkZHJlc3MgICAgICA9IHBfY3VycmVudGFkZHJlc3MgKyAodXdCdWZmZXJTaXplLTFVKTsKLSAgbGFzdGxvYWRlZGFkZHJlc3MgPSAodWludDMyX3QpKHV3QWRkcmVzcyk7CisgICAgLyogUHJvY2VzcyBMb2NrZWQgKi8KKyAgICBfX0hBTF9MT0NLKGhub3IpOwogCi0gIC8qIElzc3VlIHVubG9jayBjb21tYW5kIHNlcXVlbmNlICovCi0gIE5PUl9XUklURShOT1JfQUREUl9TSElGVChkZXZpY2VhZGRyZXNzLCB1d05PUk1lbW9yeURhdGFXaWR0aCwgTk9SX0NNRF9BRERSRVNTX0ZJUlNUKSwgTk9SX0NNRF9EQVRBX0ZJUlNUKTsKLSAgTk9SX1dSSVRFKE5PUl9BRERSX1NISUZUKGRldmljZWFkZHJlc3MsIHV3Tk9STWVtb3J5RGF0YVdpZHRoLCBOT1JfQ01EX0FERFJFU1NfU0VDT05EKSwgTk9SX0NNRF9EQVRBX1NFQ09ORCk7IAorICAgIC8qIFVwZGF0ZSB0aGUgTk9SIGNvbnRyb2xsZXIgc3RhdGUgKi8KKyAgICBobm9yLT5TdGF0ZSA9IEhBTF9OT1JfU1RBVEVfQlVTWTsKIAotICAvKiBXcml0ZSBCdWZmZXIgTG9hZCBDb21tYW5kICovCi0gIE5PUl9XUklURShOT1JfQUREUl9TSElGVChkZXZpY2VhZGRyZXNzLCB1d05PUk1lbW9yeURhdGFXaWR0aCwgdXdBZGRyZXNzKSwgTk9SX0NNRF9EQVRBX0JVRkZFUl9BTkRfUFJPRyk7IAotICBOT1JfV1JJVEUoTk9SX0FERFJfU0hJRlQoZGV2aWNlYWRkcmVzcywgdXdOT1JNZW1vcnlEYXRhV2lkdGgsIHV3QWRkcmVzcyksICh1d0J1ZmZlclNpemUgLSAxVSkpOyAKKyAgICAvKiBTZWxlY3QgdGhlIE5PUiBkZXZpY2UgYWRkcmVzcyAqLworICAgIGlmIChobm9yLT5Jbml0Lk5TQmFuayA9PSBGTUNfTk9SU1JBTV9CQU5LMSkKKyAgICB7CisgICAgICBkZXZpY2VhZGRyZXNzID0gTk9SX01FTU9SWV9BRFJFU1MxOworICAgIH0KKyAgICBlbHNlIGlmIChobm9yLT5Jbml0Lk5TQmFuayA9PSBGTUNfTk9SU1JBTV9CQU5LMikKKyAgICB7CisgICAgICBkZXZpY2VhZGRyZXNzID0gTk9SX01FTU9SWV9BRFJFU1MyOworICAgIH0KKyAgICBlbHNlIGlmIChobm9yLT5Jbml0Lk5TQmFuayA9PSBGTUNfTk9SU1JBTV9CQU5LMykKKyAgICB7CisgICAgICBkZXZpY2VhZGRyZXNzID0gTk9SX01FTU9SWV9BRFJFU1MzOworICAgIH0KKyAgICBlbHNlIC8qIEZNQ19OT1JTUkFNX0JBTks0ICovCisgICAgeworICAgICAgZGV2aWNlYWRkcmVzcyA9IE5PUl9NRU1PUllfQURSRVNTNDsKKyAgICB9CiAKLSAgLyogTG9hZCBEYXRhIGludG8gTk9SIEJ1ZmZlciAqLwotICB3aGlsZShwX2N1cnJlbnRhZGRyZXNzIDw9IHBfZW5kYWRkcmVzcykKKyAgICAvKiBJbml0aWFsaXplIHZhcmlhYmxlcyAqLworICAgIHBfY3VycmVudGFkZHJlc3MgID0gKHVpbnQxNl90ICopKGRldmljZWFkZHJlc3MgKyB1d0FkZHJlc3MpOworICAgIHBfZW5kYWRkcmVzcyAgICAgID0gKHVpbnQxNl90ICopKGRldmljZWFkZHJlc3MgKyB1d0FkZHJlc3MgKyAoMlUgKiAodXdCdWZmZXJTaXplIC0gMVUpKSk7CisKKyAgICBpZiAoaG5vci0+Q29tbWFuZFNldCA9PSBOT1JfQU1EX0ZVSklUU1VfQ09NTUFORF9TRVQpCisgICAgeworICAgICAgLyogSXNzdWUgdW5sb2NrIGNvbW1hbmQgc2VxdWVuY2UgKi8KKyAgICAgIE5PUl9XUklURShOT1JfQUREUl9TSElGVChkZXZpY2VhZGRyZXNzLCB1d05PUk1lbW9yeURhdGFXaWR0aCwgTk9SX0NNRF9BRERSRVNTX0ZJUlNUKSwgTk9SX0NNRF9EQVRBX0ZJUlNUKTsKKyAgICAgIE5PUl9XUklURShOT1JfQUREUl9TSElGVChkZXZpY2VhZGRyZXNzLCB1d05PUk1lbW9yeURhdGFXaWR0aCwgTk9SX0NNRF9BRERSRVNTX1NFQ09ORCksIE5PUl9DTURfREFUQV9TRUNPTkQpOworCisgICAgICAvKiBXcml0ZSBCdWZmZXIgTG9hZCBDb21tYW5kICovCisgICAgICBOT1JfV1JJVEUoKGRldmljZWFkZHJlc3MgKyB1d0FkZHJlc3MpLCBOT1JfQ01EX0RBVEFfQlVGRkVSX0FORF9QUk9HKTsKKyAgICAgIE5PUl9XUklURSgoZGV2aWNlYWRkcmVzcyArIHV3QWRkcmVzcyksICh1aW50MTZfdCkodXdCdWZmZXJTaXplIC0gMVUpKTsKKyAgICB9CisgICAgZWxzZSBpZiAoaG5vci0+Q29tbWFuZFNldCA9PSBOT1JfSU5URUxfU0hBUlBfRVhUX0NPTU1BTkRfU0VUKQorICAgIHsKKyAgICAgIC8qIFdyaXRlIEJ1ZmZlciBMb2FkIENvbW1hbmQgKi8KKyAgICAgIE5PUl9XUklURSgoZGV2aWNlYWRkcmVzcyArIHV3QWRkcmVzcyksIE5PUl9DTURfQlVGRkVSRURfUFJPR1JBTSk7CisgICAgICBOT1JfV1JJVEUoKGRldmljZWFkZHJlc3MgKyB1d0FkZHJlc3MpLCAodWludDE2X3QpKHV3QnVmZmVyU2l6ZSAtIDFVKSk7CisgICAgfQorICAgIGVsc2UKKyAgICB7CisgICAgICAvKiBQcmltYXJ5IGNvbW1hbmQgc2V0IG5vdCBzdXBwb3J0ZWQgYnkgdGhlIGRyaXZlciAqLworICAgICAgc3RhdHVzID0gSEFMX0VSUk9SOworICAgIH0KKworICAgIGlmIChzdGF0dXMgIT0gSEFMX0VSUk9SKQorICAgIHsKKyAgICAgIC8qIExvYWQgRGF0YSBpbnRvIE5PUiBCdWZmZXIgKi8KKyAgICAgIHdoaWxlIChwX2N1cnJlbnRhZGRyZXNzIDw9IHBfZW5kYWRkcmVzcykKKyAgICAgIHsKKyAgICAgICAgTk9SX1dSSVRFKHBfY3VycmVudGFkZHJlc3MsICpkYXRhKTsKKworICAgICAgICBkYXRhKys7CisgICAgICAgIHBfY3VycmVudGFkZHJlc3MgKys7CisgICAgICB9CisKKyAgICAgIGlmIChobm9yLT5Db21tYW5kU2V0ID09IE5PUl9BTURfRlVKSVRTVV9DT01NQU5EX1NFVCkKKyAgICAgIHsKKyAgICAgICAgTk9SX1dSSVRFKChkZXZpY2VhZGRyZXNzICsgdXdBZGRyZXNzKSwgTk9SX0NNRF9EQVRBX0JVRkZFUl9BTkRfUFJPR19DT05GSVJNKTsKKyAgICAgIH0KKyAgICAgIGVsc2UgLyogPT4gaG5vci0+Q29tbWFuZFNldCA9PSBOT1JfSU5URUxfU0hBUlBfRVhUX0NPTU1BTkRfU0VUICovCisgICAgICB7CisgICAgICAgIE5PUl9XUklURSgoZGV2aWNlYWRkcmVzcyArIHV3QWRkcmVzcyksIE5PUl9DTURfQ09ORklSTSk7CisgICAgICB9CisgICAgfQorCisgICAgLyogQ2hlY2sgdGhlIE5PUiBjb250cm9sbGVyIHN0YXRlICovCisgICAgaG5vci0+U3RhdGUgPSBIQUxfTk9SX1NUQVRFX1JFQURZOworCisgICAgLyogUHJvY2VzcyB1bmxvY2tlZCAqLworICAgIF9fSEFMX1VOTE9DSyhobm9yKTsKKyAgfQorICBlbHNlCiAgIHsKLSAgICAvKiBTdG9yZSBsYXN0IGxvYWRlZCBhZGRyZXNzICYgZGF0YSB2YWx1ZSAoZm9yIHBvbGxpbmcpICovCi0gICAgIGxhc3Rsb2FkZWRhZGRyZXNzID0gKHVpbnQzMl90KXBfY3VycmVudGFkZHJlc3M7Ci0gCi0gICAgTk9SX1dSSVRFKHBfY3VycmVudGFkZHJlc3MsICpwRGF0YSsrKTsKLSAgICAKLSAgICBwX2N1cnJlbnRhZGRyZXNzICsrOyAKKyAgICByZXR1cm4gSEFMX0VSUk9SOwogICB9CiAKLSAgTk9SX1dSSVRFKCh1aW50MzJfdCkobGFzdGxvYWRlZGFkZHJlc3MpLCBOT1JfQ01EX0RBVEFfQlVGRkVSX0FORF9QUk9HX0NPTkZJUk0pOwotICAKLSAgLyogQ2hlY2sgdGhlIE5PUiBjb250cm9sbGVyIHN0YXRlICovCi0gIGhub3ItPlN0YXRlID0gSEFMX05PUl9TVEFURV9SRUFEWTsKLSAgCi0gIC8qIFByb2Nlc3MgdW5sb2NrZWQgKi8KLSAgX19IQUxfVU5MT0NLKGhub3IpOwotICAKLSAgcmV0dXJuIEhBTF9PSzsgCi0gIAorICByZXR1cm4gc3RhdHVzOworCiB9CiAKIC8qKgotICAqIEBicmllZiAgRXJhc2UgdGhlIHNwZWNpZmllZCBibG9jayBvZiB0aGUgTk9SIG1lbW9yeSAKKyAgKiBAYnJpZWYgIEVyYXNlIHRoZSBzcGVjaWZpZWQgYmxvY2sgb2YgdGhlIE5PUiBtZW1vcnkKICAgKiBAcGFyYW0gIGhub3IgcG9pbnRlciB0byBhIE5PUl9IYW5kbGVUeXBlRGVmIHN0cnVjdHVyZSB0aGF0IGNvbnRhaW5zCiAgICogICAgICAgICAgICAgICAgdGhlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gZm9yIE5PUiBtb2R1bGUuCi0gICogQHBhcmFtICBCbG9ja0FkZHJlc3MgIEJsb2NrIHRvIGVyYXNlIGFkZHJlc3MgCisgICogQHBhcmFtICBCbG9ja0FkZHJlc3MgIEJsb2NrIHRvIGVyYXNlIGFkZHJlc3MKICAgKiBAcGFyYW0gIEFkZHJlc3MgRGV2aWNlIGFkZHJlc3MKICAgKiBAcmV0dmFsIEhBTCBzdGF0dXMKICAgKi8KIEhBTF9TdGF0dXNUeXBlRGVmIEhBTF9OT1JfRXJhc2VfQmxvY2soTk9SX0hhbmRsZVR5cGVEZWYgKmhub3IsIHVpbnQzMl90IEJsb2NrQWRkcmVzcywgdWludDMyX3QgQWRkcmVzcykKIHsKLSAgdWludDMyX3QgZGV2aWNlYWRkcmVzcyA9IDBVOworICB1aW50MzJfdCBkZXZpY2VhZGRyZXNzOworICBIQUxfU3RhdHVzVHlwZURlZiBzdGF0dXMgPSBIQUxfT0s7CiAKLSAgLyogUHJvY2VzcyBMb2NrZWQgKi8KLSAgX19IQUxfTE9DSyhobm9yKTsKLSAgCiAgIC8qIENoZWNrIHRoZSBOT1IgY29udHJvbGxlciBzdGF0ZSAqLwotICBpZihobm9yLT5TdGF0ZSA9PSBIQUxfTk9SX1NUQVRFX0JVU1kpCisgIGlmIChobm9yLT5TdGF0ZSA9PSBIQUxfTk9SX1NUQVRFX0JVU1kpCiAgIHsKLSAgICAgcmV0dXJuIEhBTF9CVVNZOworICAgIHJldHVybiBIQUxfQlVTWTsKICAgfQotICAKLSAgLyogU2VsZWN0IHRoZSBOT1IgZGV2aWNlIGFkZHJlc3MgKi8KLSAgaWYgKGhub3ItPkluaXQuTlNCYW5rID09IEZNQ19OT1JTUkFNX0JBTksxKQorICBlbHNlIGlmIChobm9yLT5TdGF0ZSA9PSBIQUxfTk9SX1NUQVRFX1JFQURZKQogICB7Ci0gICAgZGV2aWNlYWRkcmVzcyA9IE5PUl9NRU1PUllfQURSRVNTMTsKLSAgfQotICBlbHNlIGlmIChobm9yLT5Jbml0Lk5TQmFuayA9PSBGTUNfTk9SU1JBTV9CQU5LMikKLSAgewotICAgIGRldmljZWFkZHJlc3MgPSBOT1JfTUVNT1JZX0FEUkVTUzI7Ci0gIH0KLSAgZWxzZSBpZiAoaG5vci0+SW5pdC5OU0JhbmsgPT0gRk1DX05PUlNSQU1fQkFOSzMpCi0gIHsKLSAgICBkZXZpY2VhZGRyZXNzID0gTk9SX01FTU9SWV9BRFJFU1MzOwotICB9Ci0gIGVsc2UgLyogRk1DX05PUlNSQU1fQkFOSzQgKi8KLSAgewotICAgIGRldmljZWFkZHJlc3MgPSBOT1JfTUVNT1JZX0FEUkVTUzQ7Ci0gIH0KLSAgICAKLSAgLyogVXBkYXRlIHRoZSBOT1IgY29udHJvbGxlciBzdGF0ZSAqLwotICBobm9yLT5TdGF0ZSA9IEhBTF9OT1JfU1RBVEVfQlVTWTsKLSAgCi0gIC8qIFNlbmQgYmxvY2sgZXJhc2UgY29tbWFuZCBzZXF1ZW5jZSAqLwotICBOT1JfV1JJVEUoTk9SX0FERFJfU0hJRlQoZGV2aWNlYWRkcmVzcywgdXdOT1JNZW1vcnlEYXRhV2lkdGgsIE5PUl9DTURfQUREUkVTU19GSVJTVCksIE5PUl9DTURfREFUQV9GSVJTVCk7Ci0gIE5PUl9XUklURShOT1JfQUREUl9TSElGVChkZXZpY2VhZGRyZXNzLCB1d05PUk1lbW9yeURhdGFXaWR0aCwgTk9SX0NNRF9BRERSRVNTX1NFQ09ORCksIE5PUl9DTURfREFUQV9TRUNPTkQpOwotICBOT1JfV1JJVEUoTk9SX0FERFJfU0hJRlQoZGV2aWNlYWRkcmVzcywgdXdOT1JNZW1vcnlEYXRhV2lkdGgsIE5PUl9DTURfQUREUkVTU19USElSRCksIE5PUl9DTURfREFUQV9DSElQX0JMT0NLX0VSQVNFX1RISVJEKTsKLSAgTk9SX1dSSVRFKE5PUl9BRERSX1NISUZUKGRldmljZWFkZHJlc3MsIHV3Tk9STWVtb3J5RGF0YVdpZHRoLCBOT1JfQ01EX0FERFJFU1NfRk9VUlRIKSwgTk9SX0NNRF9EQVRBX0NISVBfQkxPQ0tfRVJBU0VfRk9VUlRIKTsKLSAgTk9SX1dSSVRFKE5PUl9BRERSX1NISUZUKGRldmljZWFkZHJlc3MsIHV3Tk9STWVtb3J5RGF0YVdpZHRoLCBOT1JfQ01EX0FERFJFU1NfRklGVEgpLCBOT1JfQ01EX0RBVEFfQ0hJUF9CTE9DS19FUkFTRV9GSUZUSCk7Ci0gIE5PUl9XUklURSgodWludDMyX3QpKEJsb2NrQWRkcmVzcyArIEFkZHJlc3MpLCBOT1JfQ01EX0RBVEFfQkxPQ0tfRVJBU0UpOworICAgIC8qIFByb2Nlc3MgTG9ja2VkICovCisgICAgX19IQUxfTE9DSyhobm9yKTsKIAotICAvKiBDaGVjayB0aGUgTk9SIG1lbW9yeSBzdGF0dXMgYW5kIHVwZGF0ZSB0aGUgY29udHJvbGxlciBzdGF0ZSAqLwotICBobm9yLT5TdGF0ZSA9IEhBTF9OT1JfU1RBVEVfUkVBRFk7Ci0gICAgCi0gIC8qIFByb2Nlc3MgdW5sb2NrZWQgKi8KLSAgX19IQUxfVU5MT0NLKGhub3IpOwotICAKLSAgcmV0dXJuIEhBTF9PSzsKLSAKKyAgICAvKiBVcGRhdGUgdGhlIE5PUiBjb250cm9sbGVyIHN0YXRlICovCisgICAgaG5vci0+U3RhdGUgPSBIQUxfTk9SX1NUQVRFX0JVU1k7CisKKyAgICAvKiBTZWxlY3QgdGhlIE5PUiBkZXZpY2UgYWRkcmVzcyAqLworICAgIGlmIChobm9yLT5Jbml0Lk5TQmFuayA9PSBGTUNfTk9SU1JBTV9CQU5LMSkKKyAgICB7CisgICAgICBkZXZpY2VhZGRyZXNzID0gTk9SX01FTU9SWV9BRFJFU1MxOworICAgIH0KKyAgICBlbHNlIGlmIChobm9yLT5Jbml0Lk5TQmFuayA9PSBGTUNfTk9SU1JBTV9CQU5LMikKKyAgICB7CisgICAgICBkZXZpY2VhZGRyZXNzID0gTk9SX01FTU9SWV9BRFJFU1MyOworICAgIH0KKyAgICBlbHNlIGlmIChobm9yLT5Jbml0Lk5TQmFuayA9PSBGTUNfTk9SU1JBTV9CQU5LMykKKyAgICB7CisgICAgICBkZXZpY2VhZGRyZXNzID0gTk9SX01FTU9SWV9BRFJFU1MzOworICAgIH0KKyAgICBlbHNlIC8qIEZNQ19OT1JTUkFNX0JBTks0ICovCisgICAgeworICAgICAgZGV2aWNlYWRkcmVzcyA9IE5PUl9NRU1PUllfQURSRVNTNDsKKyAgICB9CisKKyAgICAvKiBTZW5kIGJsb2NrIGVyYXNlIGNvbW1hbmQgc2VxdWVuY2UgKi8KKyAgICBpZiAoaG5vci0+Q29tbWFuZFNldCA9PSBOT1JfQU1EX0ZVSklUU1VfQ09NTUFORF9TRVQpCisgICAgeworICAgICAgTk9SX1dSSVRFKE5PUl9BRERSX1NISUZUKGRldmljZWFkZHJlc3MsIHV3Tk9STWVtb3J5RGF0YVdpZHRoLCBOT1JfQ01EX0FERFJFU1NfRklSU1QpLCBOT1JfQ01EX0RBVEFfRklSU1QpOworICAgICAgTk9SX1dSSVRFKE5PUl9BRERSX1NISUZUKGRldmljZWFkZHJlc3MsIHV3Tk9STWVtb3J5RGF0YVdpZHRoLCBOT1JfQ01EX0FERFJFU1NfU0VDT05EKSwgTk9SX0NNRF9EQVRBX1NFQ09ORCk7CisgICAgICBOT1JfV1JJVEUoTk9SX0FERFJfU0hJRlQoZGV2aWNlYWRkcmVzcywgdXdOT1JNZW1vcnlEYXRhV2lkdGgsIE5PUl9DTURfQUREUkVTU19USElSRCksCisgICAgICAgICAgICAgICAgTk9SX0NNRF9EQVRBX0NISVBfQkxPQ0tfRVJBU0VfVEhJUkQpOworICAgICAgTk9SX1dSSVRFKE5PUl9BRERSX1NISUZUKGRldmljZWFkZHJlc3MsIHV3Tk9STWVtb3J5RGF0YVdpZHRoLCBOT1JfQ01EX0FERFJFU1NfRk9VUlRIKSwKKyAgICAgICAgICAgICAgICBOT1JfQ01EX0RBVEFfQ0hJUF9CTE9DS19FUkFTRV9GT1VSVEgpOworICAgICAgTk9SX1dSSVRFKE5PUl9BRERSX1NISUZUKGRldmljZWFkZHJlc3MsIHV3Tk9STWVtb3J5RGF0YVdpZHRoLCBOT1JfQ01EX0FERFJFU1NfRklGVEgpLAorICAgICAgICAgICAgICAgIE5PUl9DTURfREFUQV9DSElQX0JMT0NLX0VSQVNFX0ZJRlRIKTsKKyAgICAgIE5PUl9XUklURSgodWludDMyX3QpKEJsb2NrQWRkcmVzcyArIEFkZHJlc3MpLCBOT1JfQ01EX0RBVEFfQkxPQ0tfRVJBU0UpOworICAgIH0KKyAgICBlbHNlIGlmIChobm9yLT5Db21tYW5kU2V0ID09IE5PUl9JTlRFTF9TSEFSUF9FWFRfQ09NTUFORF9TRVQpCisgICAgeworICAgICAgTk9SX1dSSVRFKChCbG9ja0FkZHJlc3MgKyBBZGRyZXNzKSwgTk9SX0NNRF9CTE9DS19VTkxPQ0spOworICAgICAgTk9SX1dSSVRFKChCbG9ja0FkZHJlc3MgKyBBZGRyZXNzKSwgTk9SX0NNRF9DT05GSVJNKTsKKyAgICAgIE5PUl9XUklURSgoQmxvY2tBZGRyZXNzICsgQWRkcmVzcyksIE5PUl9DTURfQkxPQ0tfRVJBU0UpOworICAgICAgTk9SX1dSSVRFKChCbG9ja0FkZHJlc3MgKyBBZGRyZXNzKSwgTk9SX0NNRF9DT05GSVJNKTsKKyAgICB9CisgICAgZWxzZQorICAgIHsKKyAgICAgIC8qIFByaW1hcnkgY29tbWFuZCBzZXQgbm90IHN1cHBvcnRlZCBieSB0aGUgZHJpdmVyICovCisgICAgICBzdGF0dXMgPSBIQUxfRVJST1I7CisgICAgfQorCisgICAgLyogQ2hlY2sgdGhlIE5PUiBtZW1vcnkgc3RhdHVzIGFuZCB1cGRhdGUgdGhlIGNvbnRyb2xsZXIgc3RhdGUgKi8KKyAgICBobm9yLT5TdGF0ZSA9IEhBTF9OT1JfU1RBVEVfUkVBRFk7CisKKyAgICAvKiBQcm9jZXNzIHVubG9ja2VkICovCisgICAgX19IQUxfVU5MT0NLKGhub3IpOworICB9CisgIGVsc2UKKyAgeworICAgIHJldHVybiBIQUxfRVJST1I7CisgIH0KKworICByZXR1cm4gc3RhdHVzOworCiB9CiAKIC8qKgogICAqIEBicmllZiAgRXJhc2UgdGhlIGVudGlyZSBOT1IgY2hpcC4KICAgKiBAcGFyYW0gIGhub3IgcG9pbnRlciB0byBhIE5PUl9IYW5kbGVUeXBlRGVmIHN0cnVjdHVyZSB0aGF0IGNvbnRhaW5zCiAgICogICAgICAgICAgICAgICAgdGhlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gZm9yIE5PUiBtb2R1bGUuCi0gICogQHBhcmFtICBBZGRyZXNzICBEZXZpY2UgYWRkcmVzcyAgCisgICogQHBhcmFtICBBZGRyZXNzICBEZXZpY2UgYWRkcmVzcwogICAqIEByZXR2YWwgSEFMIHN0YXR1cwogICAqLwogSEFMX1N0YXR1c1R5cGVEZWYgSEFMX05PUl9FcmFzZV9DaGlwKE5PUl9IYW5kbGVUeXBlRGVmICpobm9yLCB1aW50MzJfdCBBZGRyZXNzKQogewotICB1aW50MzJfdCBkZXZpY2VhZGRyZXNzID0gMFU7Ci0gIAotICAvKiBQcmV2ZW50IHVudXNlZCBhcmd1bWVudChzKSBjb21waWxhdGlvbiB3YXJuaW5nICovCisgIHVpbnQzMl90IGRldmljZWFkZHJlc3M7CisgIEhBTF9TdGF0dXNUeXBlRGVmIHN0YXR1cyA9IEhBTF9PSzsKICAgVU5VU0VEKEFkZHJlc3MpOwotICAKLSAgLyogUHJvY2VzcyBMb2NrZWQgKi8KLSAgX19IQUxfTE9DSyhobm9yKTsKLSAgCisKICAgLyogQ2hlY2sgdGhlIE5PUiBjb250cm9sbGVyIHN0YXRlICovCi0gIGlmKGhub3ItPlN0YXRlID09IEhBTF9OT1JfU1RBVEVfQlVTWSkKKyAgaWYgKGhub3ItPlN0YXRlID09IEhBTF9OT1JfU1RBVEVfQlVTWSkKICAgewotICAgICByZXR1cm4gSEFMX0JVU1k7CisgICAgcmV0dXJuIEhBTF9CVVNZOwogICB9Ci0gIAotICAvKiBTZWxlY3QgdGhlIE5PUiBkZXZpY2UgYWRkcmVzcyAqLwotICBpZiAoaG5vci0+SW5pdC5OU0JhbmsgPT0gRk1DX05PUlNSQU1fQkFOSzEpCisgIGVsc2UgaWYgKGhub3ItPlN0YXRlID09IEhBTF9OT1JfU1RBVEVfUkVBRFkpCiAgIHsKLSAgICBkZXZpY2VhZGRyZXNzID0gTk9SX01FTU9SWV9BRFJFU1MxOworICAgIC8qIFByb2Nlc3MgTG9ja2VkICovCisgICAgX19IQUxfTE9DSyhobm9yKTsKKworICAgIC8qIFVwZGF0ZSB0aGUgTk9SIGNvbnRyb2xsZXIgc3RhdGUgKi8KKyAgICBobm9yLT5TdGF0ZSA9IEhBTF9OT1JfU1RBVEVfQlVTWTsKKworICAgIC8qIFNlbGVjdCB0aGUgTk9SIGRldmljZSBhZGRyZXNzICovCisgICAgaWYgKGhub3ItPkluaXQuTlNCYW5rID09IEZNQ19OT1JTUkFNX0JBTksxKQorICAgIHsKKyAgICAgIGRldmljZWFkZHJlc3MgPSBOT1JfTUVNT1JZX0FEUkVTUzE7CisgICAgfQorICAgIGVsc2UgaWYgKGhub3ItPkluaXQuTlNCYW5rID09IEZNQ19OT1JTUkFNX0JBTksyKQorICAgIHsKKyAgICAgIGRldmljZWFkZHJlc3MgPSBOT1JfTUVNT1JZX0FEUkVTUzI7CisgICAgfQorICAgIGVsc2UgaWYgKGhub3ItPkluaXQuTlNCYW5rID09IEZNQ19OT1JTUkFNX0JBTkszKQorICAgIHsKKyAgICAgIGRldmljZWFkZHJlc3MgPSBOT1JfTUVNT1JZX0FEUkVTUzM7CisgICAgfQorICAgIGVsc2UgLyogRk1DX05PUlNSQU1fQkFOSzQgKi8KKyAgICB7CisgICAgICBkZXZpY2VhZGRyZXNzID0gTk9SX01FTU9SWV9BRFJFU1M0OworICAgIH0KKworICAgIC8qIFNlbmQgTk9SIGNoaXAgZXJhc2UgY29tbWFuZCBzZXF1ZW5jZSAqLworICAgIGlmIChobm9yLT5Db21tYW5kU2V0ID09IE5PUl9BTURfRlVKSVRTVV9DT01NQU5EX1NFVCkKKyAgICB7CisgICAgICBOT1JfV1JJVEUoTk9SX0FERFJfU0hJRlQoZGV2aWNlYWRkcmVzcywgdXdOT1JNZW1vcnlEYXRhV2lkdGgsIE5PUl9DTURfQUREUkVTU19GSVJTVCksIE5PUl9DTURfREFUQV9GSVJTVCk7CisgICAgICBOT1JfV1JJVEUoTk9SX0FERFJfU0hJRlQoZGV2aWNlYWRkcmVzcywgdXdOT1JNZW1vcnlEYXRhV2lkdGgsIE5PUl9DTURfQUREUkVTU19TRUNPTkQpLCBOT1JfQ01EX0RBVEFfU0VDT05EKTsKKyAgICAgIE5PUl9XUklURShOT1JfQUREUl9TSElGVChkZXZpY2VhZGRyZXNzLCB1d05PUk1lbW9yeURhdGFXaWR0aCwgTk9SX0NNRF9BRERSRVNTX1RISVJEKSwKKyAgICAgICAgICAgICAgICBOT1JfQ01EX0RBVEFfQ0hJUF9CTE9DS19FUkFTRV9USElSRCk7CisgICAgICBOT1JfV1JJVEUoTk9SX0FERFJfU0hJRlQoZGV2aWNlYWRkcmVzcywgdXdOT1JNZW1vcnlEYXRhV2lkdGgsIE5PUl9DTURfQUREUkVTU19GT1VSVEgpLAorICAgICAgICAgICAgICAgIE5PUl9DTURfREFUQV9DSElQX0JMT0NLX0VSQVNFX0ZPVVJUSCk7CisgICAgICBOT1JfV1JJVEUoTk9SX0FERFJfU0hJRlQoZGV2aWNlYWRkcmVzcywgdXdOT1JNZW1vcnlEYXRhV2lkdGgsIE5PUl9DTURfQUREUkVTU19GSUZUSCksCisgICAgICAgICAgICAgICAgTk9SX0NNRF9EQVRBX0NISVBfQkxPQ0tfRVJBU0VfRklGVEgpOworICAgICAgTk9SX1dSSVRFKE5PUl9BRERSX1NISUZUKGRldmljZWFkZHJlc3MsIHV3Tk9STWVtb3J5RGF0YVdpZHRoLCBOT1JfQ01EX0FERFJFU1NfU0lYVEgpLCBOT1JfQ01EX0RBVEFfQ0hJUF9FUkFTRSk7CisgICAgfQorICAgIGVsc2UKKyAgICB7CisgICAgICAvKiBQcmltYXJ5IGNvbW1hbmQgc2V0IG5vdCBzdXBwb3J0ZWQgYnkgdGhlIGRyaXZlciAqLworICAgICAgc3RhdHVzID0gSEFMX0VSUk9SOworICAgIH0KKworICAgIC8qIENoZWNrIHRoZSBOT1IgbWVtb3J5IHN0YXR1cyBhbmQgdXBkYXRlIHRoZSBjb250cm9sbGVyIHN0YXRlICovCisgICAgaG5vci0+U3RhdGUgPSBIQUxfTk9SX1NUQVRFX1JFQURZOworCisgICAgLyogUHJvY2VzcyB1bmxvY2tlZCAqLworICAgIF9fSEFMX1VOTE9DSyhobm9yKTsKICAgfQotICBlbHNlIGlmIChobm9yLT5Jbml0Lk5TQmFuayA9PSBGTUNfTk9SU1JBTV9CQU5LMikKKyAgZWxzZQogICB7Ci0gICAgZGV2aWNlYWRkcmVzcyA9IE5PUl9NRU1PUllfQURSRVNTMjsKKyAgICByZXR1cm4gSEFMX0VSUk9SOwogICB9Ci0gIGVsc2UgaWYgKGhub3ItPkluaXQuTlNCYW5rID09IEZNQ19OT1JTUkFNX0JBTkszKQotICB7Ci0gICAgZGV2aWNlYWRkcmVzcyA9IE5PUl9NRU1PUllfQURSRVNTMzsKLSAgfQotICBlbHNlIC8qIEZNQ19OT1JTUkFNX0JBTks0ICovCi0gIHsKLSAgICBkZXZpY2VhZGRyZXNzID0gTk9SX01FTU9SWV9BRFJFU1M0OwotICB9Ci0gICAgCi0gIC8qIFVwZGF0ZSB0aGUgTk9SIGNvbnRyb2xsZXIgc3RhdGUgKi8KLSAgaG5vci0+U3RhdGUgPSBIQUxfTk9SX1NUQVRFX0JVU1k7ICAKLSAgICAKLSAgLyogU2VuZCBOT1IgY2hpcCBlcmFzZSBjb21tYW5kIHNlcXVlbmNlICovCi0gIE5PUl9XUklURShOT1JfQUREUl9TSElGVChkZXZpY2VhZGRyZXNzLCB1d05PUk1lbW9yeURhdGFXaWR0aCwgTk9SX0NNRF9BRERSRVNTX0ZJUlNUKSwgTk9SX0NNRF9EQVRBX0ZJUlNUKTsKLSAgTk9SX1dSSVRFKE5PUl9BRERSX1NISUZUKGRldmljZWFkZHJlc3MsIHV3Tk9STWVtb3J5RGF0YVdpZHRoLCBOT1JfQ01EX0FERFJFU1NfU0VDT05EKSwgTk9SX0NNRF9EQVRBX1NFQ09ORCk7Ci0gIE5PUl9XUklURShOT1JfQUREUl9TSElGVChkZXZpY2VhZGRyZXNzLCB1d05PUk1lbW9yeURhdGFXaWR0aCwgTk9SX0NNRF9BRERSRVNTX1RISVJEKSwgTk9SX0NNRF9EQVRBX0NISVBfQkxPQ0tfRVJBU0VfVEhJUkQpOwotICBOT1JfV1JJVEUoTk9SX0FERFJfU0hJRlQoZGV2aWNlYWRkcmVzcywgdXdOT1JNZW1vcnlEYXRhV2lkdGgsIE5PUl9DTURfQUREUkVTU19GT1VSVEgpLCBOT1JfQ01EX0RBVEFfQ0hJUF9CTE9DS19FUkFTRV9GT1VSVEgpOwotICBOT1JfV1JJVEUoTk9SX0FERFJfU0hJRlQoZGV2aWNlYWRkcmVzcywgdXdOT1JNZW1vcnlEYXRhV2lkdGgsIE5PUl9DTURfQUREUkVTU19GSUZUSCksIE5PUl9DTURfREFUQV9DSElQX0JMT0NLX0VSQVNFX0ZJRlRIKTsgIAotICBOT1JfV1JJVEUoTk9SX0FERFJfU0hJRlQoZGV2aWNlYWRkcmVzcywgdXdOT1JNZW1vcnlEYXRhV2lkdGgsIE5PUl9DTURfQUREUkVTU19TSVhUSCksIE5PUl9DTURfREFUQV9DSElQX0VSQVNFKTsKLSAgCi0gIC8qIENoZWNrIHRoZSBOT1IgbWVtb3J5IHN0YXR1cyBhbmQgdXBkYXRlIHRoZSBjb250cm9sbGVyIHN0YXRlICovCi0gIGhub3ItPlN0YXRlID0gSEFMX05PUl9TVEFURV9SRUFEWTsKLSAgICAKLSAgLyogUHJvY2VzcyB1bmxvY2tlZCAqLwotICBfX0hBTF9VTkxPQ0soaG5vcik7Ci0gIAotICByZXR1cm4gSEFMX09LOyAgCisKKyAgcmV0dXJuIHN0YXR1czsKIH0KIAogLyoqCiAgICogQGJyaWVmICBSZWFkIE5PUiBmbGFzaCBDRkkgSURzCiAgICogQHBhcmFtICBobm9yIHBvaW50ZXIgdG8gYSBOT1JfSGFuZGxlVHlwZURlZiBzdHJ1Y3R1cmUgdGhhdCBjb250YWlucwogICAqICAgICAgICAgICAgICAgIHRoZSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIGZvciBOT1IgbW9kdWxlLgotICAqIEBwYXJhbSAgcE5PUl9DRkkgIHBvaW50ZXIgdG8gTk9SIENGSSBJRHMgc3RydWN0dXJlICAKKyAgKiBAcGFyYW0gIHBOT1JfQ0ZJICBwb2ludGVyIHRvIE5PUiBDRkkgSURzIHN0cnVjdHVyZQogICAqIEByZXR2YWwgSEFMIHN0YXR1cwogICAqLwogSEFMX1N0YXR1c1R5cGVEZWYgSEFMX05PUl9SZWFkX0NGSShOT1JfSGFuZGxlVHlwZURlZiAqaG5vciwgTk9SX0NGSVR5cGVEZWYgKnBOT1JfQ0ZJKQogewotICB1aW50MzJfdCBkZXZpY2VhZGRyZXNzID0gMFU7Ci0gIAotICAvKiBQcm9jZXNzIExvY2tlZCAqLwotICBfX0hBTF9MT0NLKGhub3IpOwotICAKLSAgLyogQ2hlY2sgdGhlIE5PUiBjb250cm9sbGVyIHN0YXRlICovCi0gIGlmKGhub3ItPlN0YXRlID09IEhBTF9OT1JfU1RBVEVfQlVTWSkKLSAgewotICAgICByZXR1cm4gSEFMX0JVU1k7Ci0gIH0KLSAgCi0gIC8qIFNlbGVjdCB0aGUgTk9SIGRldmljZSBhZGRyZXNzICovCi0gIGlmIChobm9yLT5Jbml0Lk5TQmFuayA9PSBGTUNfTk9SU1JBTV9CQU5LMSkKLSAgewotICAgIGRldmljZWFkZHJlc3MgPSBOT1JfTUVNT1JZX0FEUkVTUzE7Ci0gIH0KLSAgZWxzZSBpZiAoaG5vci0+SW5pdC5OU0JhbmsgPT0gRk1DX05PUlNSQU1fQkFOSzIpCi0gIHsKLSAgICBkZXZpY2VhZGRyZXNzID0gTk9SX01FTU9SWV9BRFJFU1MyOwotICB9Ci0gIGVsc2UgaWYgKGhub3ItPkluaXQuTlNCYW5rID09IEZNQ19OT1JTUkFNX0JBTkszKQotICB7Ci0gICAgZGV2aWNlYWRkcmVzcyA9IE5PUl9NRU1PUllfQURSRVNTMzsKLSAgfQotICBlbHNlIC8qIEZNQ19OT1JTUkFNX0JBTks0ICovCi0gIHsKLSAgICBkZXZpY2VhZGRyZXNzID0gTk9SX01FTU9SWV9BRFJFU1M0OwotICB9ICAKLSAgICAKLSAgLyogVXBkYXRlIHRoZSBOT1IgY29udHJvbGxlciBzdGF0ZSAqLwotICBobm9yLT5TdGF0ZSA9IEhBTF9OT1JfU1RBVEVfQlVTWTsKLSAgCi0gIC8qIFNlbmQgcmVhZCBDRkkgcXVlcnkgY29tbWFuZCAqLwotICBOT1JfV1JJVEUoTk9SX0FERFJfU0hJRlQoZGV2aWNlYWRkcmVzcywgdXdOT1JNZW1vcnlEYXRhV2lkdGgsIE5PUl9DTURfQUREUkVTU19GSVJTVF9DRkkpLCBOT1JfQ01EX0RBVEFfQ0ZJKTsKLQotICAvKiByZWFkIHRoZSBOT1IgQ0ZJIGluZm9ybWF0aW9uICovCi0gIHBOT1JfQ0ZJLT5DRklfMSA9ICooX19JTyB1aW50MTZfdCAqKSBOT1JfQUREUl9TSElGVChkZXZpY2VhZGRyZXNzLCB1d05PUk1lbW9yeURhdGFXaWR0aCwgQ0ZJMV9BRERSRVNTKTsKLSAgcE5PUl9DRkktPkNGSV8yID0gKihfX0lPIHVpbnQxNl90ICopIE5PUl9BRERSX1NISUZUKGRldmljZWFkZHJlc3MsIHV3Tk9STWVtb3J5RGF0YVdpZHRoLCBDRkkyX0FERFJFU1MpOwotICBwTk9SX0NGSS0+Q0ZJXzMgPSAqKF9fSU8gdWludDE2X3QgKikgTk9SX0FERFJfU0hJRlQoZGV2aWNlYWRkcmVzcywgdXdOT1JNZW1vcnlEYXRhV2lkdGgsIENGSTNfQUREUkVTUyk7Ci0gIHBOT1JfQ0ZJLT5DRklfNCA9ICooX19JTyB1aW50MTZfdCAqKSBOT1JfQUREUl9TSElGVChkZXZpY2VhZGRyZXNzLCB1d05PUk1lbW9yeURhdGFXaWR0aCwgQ0ZJNF9BRERSRVNTKTsKKyAgdWludDMyX3QgZGV2aWNlYWRkcmVzczsKKyAgSEFMX05PUl9TdGF0ZVR5cGVEZWYgc3RhdGU7CiAKICAgLyogQ2hlY2sgdGhlIE5PUiBjb250cm9sbGVyIHN0YXRlICovCi0gIGhub3ItPlN0YXRlID0gSEFMX05PUl9TVEFURV9SRUFEWTsKLSAgCi0gIC8qIFByb2Nlc3MgdW5sb2NrZWQgKi8KLSAgX19IQUxfVU5MT0NLKGhub3IpOwotICAKKyAgc3RhdGUgPSBobm9yLT5TdGF0ZTsKKyAgaWYgKHN0YXRlID09IEhBTF9OT1JfU1RBVEVfQlVTWSkKKyAgeworICAgIHJldHVybiBIQUxfQlVTWTsKKyAgfQorICBlbHNlIGlmIChzdGF0ZSA9PSBIQUxfTk9SX1NUQVRFX1BST1RFQ1RFRCkKKyAgeworICAgIHJldHVybiBIQUxfRVJST1I7CisgIH0KKyAgZWxzZSBpZiAoc3RhdGUgPT0gSEFMX05PUl9TVEFURV9SRUFEWSkKKyAgeworICAgIC8qIFByb2Nlc3MgTG9ja2VkICovCisgICAgX19IQUxfTE9DSyhobm9yKTsKKworICAgIC8qIFVwZGF0ZSB0aGUgTk9SIGNvbnRyb2xsZXIgc3RhdGUgKi8KKyAgICBobm9yLT5TdGF0ZSA9IEhBTF9OT1JfU1RBVEVfQlVTWTsKKworICAgIC8qIFNlbGVjdCB0aGUgTk9SIGRldmljZSBhZGRyZXNzICovCisgICAgaWYgKGhub3ItPkluaXQuTlNCYW5rID09IEZNQ19OT1JTUkFNX0JBTksxKQorICAgIHsKKyAgICAgIGRldmljZWFkZHJlc3MgPSBOT1JfTUVNT1JZX0FEUkVTUzE7CisgICAgfQorICAgIGVsc2UgaWYgKGhub3ItPkluaXQuTlNCYW5rID09IEZNQ19OT1JTUkFNX0JBTksyKQorICAgIHsKKyAgICAgIGRldmljZWFkZHJlc3MgPSBOT1JfTUVNT1JZX0FEUkVTUzI7CisgICAgfQorICAgIGVsc2UgaWYgKGhub3ItPkluaXQuTlNCYW5rID09IEZNQ19OT1JTUkFNX0JBTkszKQorICAgIHsKKyAgICAgIGRldmljZWFkZHJlc3MgPSBOT1JfTUVNT1JZX0FEUkVTUzM7CisgICAgfQorICAgIGVsc2UgLyogRk1DX05PUlNSQU1fQkFOSzQgKi8KKyAgICB7CisgICAgICBkZXZpY2VhZGRyZXNzID0gTk9SX01FTU9SWV9BRFJFU1M0OworICAgIH0KKworICAgIC8qIFNlbmQgcmVhZCBDRkkgcXVlcnkgY29tbWFuZCAqLworICAgIE5PUl9XUklURShOT1JfQUREUl9TSElGVChkZXZpY2VhZGRyZXNzLCB1d05PUk1lbW9yeURhdGFXaWR0aCwgTk9SX0NNRF9BRERSRVNTX0ZJUlNUX0NGSSksIE5PUl9DTURfREFUQV9DRkkpOworCisgICAgLyogcmVhZCB0aGUgTk9SIENGSSBpbmZvcm1hdGlvbiAqLworICAgIHBOT1JfQ0ZJLT5DRklfMSA9ICooX19JTyB1aW50MTZfdCAqKSBOT1JfQUREUl9TSElGVChkZXZpY2VhZGRyZXNzLCB1d05PUk1lbW9yeURhdGFXaWR0aCwgQ0ZJMV9BRERSRVNTKTsKKyAgICBwTk9SX0NGSS0+Q0ZJXzIgPSAqKF9fSU8gdWludDE2X3QgKikgTk9SX0FERFJfU0hJRlQoZGV2aWNlYWRkcmVzcywgdXdOT1JNZW1vcnlEYXRhV2lkdGgsIENGSTJfQUREUkVTUyk7CisgICAgcE5PUl9DRkktPkNGSV8zID0gKihfX0lPIHVpbnQxNl90ICopIE5PUl9BRERSX1NISUZUKGRldmljZWFkZHJlc3MsIHV3Tk9STWVtb3J5RGF0YVdpZHRoLCBDRkkzX0FERFJFU1MpOworICAgIHBOT1JfQ0ZJLT5DRklfNCA9ICooX19JTyB1aW50MTZfdCAqKSBOT1JfQUREUl9TSElGVChkZXZpY2VhZGRyZXNzLCB1d05PUk1lbW9yeURhdGFXaWR0aCwgQ0ZJNF9BRERSRVNTKTsKKworICAgIC8qIENoZWNrIHRoZSBOT1IgY29udHJvbGxlciBzdGF0ZSAqLworICAgIGhub3ItPlN0YXRlID0gc3RhdGU7CisKKyAgICAvKiBQcm9jZXNzIHVubG9ja2VkICovCisgICAgX19IQUxfVU5MT0NLKGhub3IpOworICB9CisgIGVsc2UKKyAgeworICAgIHJldHVybiBIQUxfRVJST1I7CisgIH0KKwogICByZXR1cm4gSEFMX09LOwogfQogCkBAIC05MTksMTIgKzEyMTAsMTMgQEAKICAgKiBAcGFyYW0gcENhbGxiYWNrIDogcG9pbnRlciB0byB0aGUgQ2FsbGJhY2sgZnVuY3Rpb24KICAgKiBAcmV0dmFsIHN0YXR1cwogICAqLwotSEFMX1N0YXR1c1R5cGVEZWYgSEFMX05PUl9SZWdpc3RlckNhbGxiYWNrIChOT1JfSGFuZGxlVHlwZURlZiAqaG5vciwgSEFMX05PUl9DYWxsYmFja0lEVHlwZURlZiBDYWxsYmFja0lkLCBwTk9SX0NhbGxiYWNrVHlwZURlZiBwQ2FsbGJhY2spCitIQUxfU3RhdHVzVHlwZURlZiBIQUxfTk9SX1JlZ2lzdGVyQ2FsbGJhY2soTk9SX0hhbmRsZVR5cGVEZWYgKmhub3IsIEhBTF9OT1JfQ2FsbGJhY2tJRFR5cGVEZWYgQ2FsbGJhY2tJZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwTk9SX0NhbGxiYWNrVHlwZURlZiBwQ2FsbGJhY2spCiB7CiAgIEhBTF9TdGF0dXNUeXBlRGVmIHN0YXR1cyA9IEhBTF9PSzsKICAgSEFMX05PUl9TdGF0ZVR5cGVEZWYgc3RhdGU7CiAKLSAgaWYocENhbGxiYWNrID09IE5VTEwpCisgIGlmIChwQ2FsbGJhY2sgPT0gTlVMTCkKICAgewogICAgIHJldHVybiBIQUxfRVJST1I7CiAgIH0KQEAgLTkzMywyMCArMTIyNSwyMCBAQAogICBfX0hBTF9MT0NLKGhub3IpOwogCiAgIHN0YXRlID0gaG5vci0+U3RhdGU7Ci0gIGlmKChzdGF0ZSA9PSBIQUxfTk9SX1NUQVRFX1JFQURZKSB8fCAoc3RhdGUgPT0gSEFMX05PUl9TVEFURV9SRVNFVCkgfHwgKHN0YXRlID09IEhBTF9OT1JfU1RBVEVfUFJPVEVDVEVEKSkKKyAgaWYgKChzdGF0ZSA9PSBIQUxfTk9SX1NUQVRFX1JFQURZKSB8fCAoc3RhdGUgPT0gSEFMX05PUl9TVEFURV9SRVNFVCkgfHwgKHN0YXRlID09IEhBTF9OT1JfU1RBVEVfUFJPVEVDVEVEKSkKICAgewogICAgIHN3aXRjaCAoQ2FsbGJhY2tJZCkKICAgICB7Ci0gICAgY2FzZSBIQUxfTk9SX01TUF9JTklUX0NCX0lEIDoKLSAgICAgIGhub3ItPk1zcEluaXRDYWxsYmFjayA9IHBDYWxsYmFjazsKLSAgICAgIGJyZWFrOwotICAgIGNhc2UgSEFMX05PUl9NU1BfREVJTklUX0NCX0lEIDoKLSAgICAgIGhub3ItPk1zcERlSW5pdENhbGxiYWNrID0gcENhbGxiYWNrOwotICAgICAgYnJlYWs7Ci0gICAgZGVmYXVsdCA6Ci0gICAgICAvKiB1cGRhdGUgcmV0dXJuIHN0YXR1cyAqLwotICAgICAgc3RhdHVzID0gIEhBTF9FUlJPUjsKLSAgICAgIGJyZWFrOworICAgICAgY2FzZSBIQUxfTk9SX01TUF9JTklUX0NCX0lEIDoKKyAgICAgICAgaG5vci0+TXNwSW5pdENhbGxiYWNrID0gcENhbGxiYWNrOworICAgICAgICBicmVhazsKKyAgICAgIGNhc2UgSEFMX05PUl9NU1BfREVJTklUX0NCX0lEIDoKKyAgICAgICAgaG5vci0+TXNwRGVJbml0Q2FsbGJhY2sgPSBwQ2FsbGJhY2s7CisgICAgICAgIGJyZWFrOworICAgICAgZGVmYXVsdCA6CisgICAgICAgIC8qIHVwZGF0ZSByZXR1cm4gc3RhdHVzICovCisgICAgICAgIHN0YXR1cyA9ICBIQUxfRVJST1I7CisgICAgICAgIGJyZWFrOwogICAgIH0KICAgfQogICBlbHNlCkBAIC05NzAsNyArMTI2Miw3IEBACiAgICogICAgICAgICAgQGFyZyBAcmVmIEhBTF9OT1JfTVNQX0RFSU5JVF9DQl9JRCAgICAgTk9SIE1zcERlSW5pdCBjYWxsYmFjayBJRAogICAqIEByZXR2YWwgc3RhdHVzCiAgICovCi1IQUxfU3RhdHVzVHlwZURlZiBIQUxfTk9SX1VuUmVnaXN0ZXJDYWxsYmFjayAoTk9SX0hhbmRsZVR5cGVEZWYgKmhub3IsIEhBTF9OT1JfQ2FsbGJhY2tJRFR5cGVEZWYgQ2FsbGJhY2tJZCkKK0hBTF9TdGF0dXNUeXBlRGVmIEhBTF9OT1JfVW5SZWdpc3RlckNhbGxiYWNrKE5PUl9IYW5kbGVUeXBlRGVmICpobm9yLCBIQUxfTk9SX0NhbGxiYWNrSURUeXBlRGVmIENhbGxiYWNrSWQpCiB7CiAgIEhBTF9TdGF0dXNUeXBlRGVmIHN0YXR1cyA9IEhBTF9PSzsKICAgSEFMX05PUl9TdGF0ZVR5cGVEZWYgc3RhdGU7CkBAIC05NzksMjAgKzEyNzEsMjAgQEAKICAgX19IQUxfTE9DSyhobm9yKTsKIAogICBzdGF0ZSA9IGhub3ItPlN0YXRlOwotICBpZigoc3RhdGUgPT0gSEFMX05PUl9TVEFURV9SRUFEWSkgfHwgKHN0YXRlID09IEhBTF9OT1JfU1RBVEVfUkVTRVQpIHx8IChzdGF0ZSA9PSBIQUxfTk9SX1NUQVRFX1BST1RFQ1RFRCkpCisgIGlmICgoc3RhdGUgPT0gSEFMX05PUl9TVEFURV9SRUFEWSkgfHwgKHN0YXRlID09IEhBTF9OT1JfU1RBVEVfUkVTRVQpIHx8IChzdGF0ZSA9PSBIQUxfTk9SX1NUQVRFX1BST1RFQ1RFRCkpCiAgIHsKICAgICBzd2l0Y2ggKENhbGxiYWNrSWQpCiAgICAgewotICAgIGNhc2UgSEFMX05PUl9NU1BfSU5JVF9DQl9JRCA6Ci0gICAgICBobm9yLT5Nc3BJbml0Q2FsbGJhY2sgPSBIQUxfTk9SX01zcEluaXQ7Ci0gICAgICBicmVhazsKLSAgICBjYXNlIEhBTF9OT1JfTVNQX0RFSU5JVF9DQl9JRCA6Ci0gICAgICBobm9yLT5Nc3BEZUluaXRDYWxsYmFjayA9IEhBTF9OT1JfTXNwRGVJbml0OwotICAgICAgYnJlYWs7Ci0gICAgZGVmYXVsdCA6Ci0gICAgICAvKiB1cGRhdGUgcmV0dXJuIHN0YXR1cyAqLwotICAgICAgc3RhdHVzID0gIEhBTF9FUlJPUjsKLSAgICAgIGJyZWFrOworICAgICAgY2FzZSBIQUxfTk9SX01TUF9JTklUX0NCX0lEIDoKKyAgICAgICAgaG5vci0+TXNwSW5pdENhbGxiYWNrID0gSEFMX05PUl9Nc3BJbml0OworICAgICAgICBicmVhazsKKyAgICAgIGNhc2UgSEFMX05PUl9NU1BfREVJTklUX0NCX0lEIDoKKyAgICAgICAgaG5vci0+TXNwRGVJbml0Q2FsbGJhY2sgPSBIQUxfTk9SX01zcERlSW5pdDsKKyAgICAgICAgYnJlYWs7CisgICAgICBkZWZhdWx0IDoKKyAgICAgICAgLyogdXBkYXRlIHJldHVybiBzdGF0dXMgKi8KKyAgICAgICAgc3RhdHVzID0gIEhBTF9FUlJPUjsKKyAgICAgICAgYnJlYWs7CiAgICAgfQogICB9CiAgIGVsc2UKQEAgLTEwMDYsMTQgKzEyOTgsMTUgQEAKICAgcmV0dXJuIHN0YXR1czsKIH0KICNlbmRpZiAvKiAoVVNFX0hBTF9OT1JfUkVHSVNURVJfQ0FMTEJBQ0tTKSAqLworCiAvKioKICAgKiBAfQogICAqLwotICAKKwogLyoqIEBkZWZncm91cCBOT1JfRXhwb3J0ZWRfRnVuY3Rpb25zX0dyb3VwMyBOT1IgQ29udHJvbCBmdW5jdGlvbnMKLSAqICBAYnJpZWYgICBtYW5hZ2VtZW50IGZ1bmN0aW9ucyAKLSAqCi1AdmVyYmF0aW0gICAKKyAgKiAgQGJyaWVmICAgbWFuYWdlbWVudCBmdW5jdGlvbnMKKyAgKgorQHZlcmJhdGltCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgICAgICAgICAgICAgICAgICAgICAgIyMjIyMgTk9SIENvbnRyb2wgZnVuY3Rpb25zICMjIyMjCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpAQCAtMTAyNCw3ICsxMzE3LDcgQEAKIEBlbmR2ZXJiYXRpbQogICAqIEB7CiAgICovCi0gICAgCisKIC8qKgogICAqIEBicmllZiAgRW5hYmxlcyBkeW5hbWljYWxseSBOT1Igd3JpdGUgb3BlcmF0aW9uLgogICAqIEBwYXJhbSAgaG5vciBwb2ludGVyIHRvIGEgTk9SX0hhbmRsZVR5cGVEZWYgc3RydWN0dXJlIHRoYXQgY29udGFpbnMKQEAgLTEwMzMsMTkgKzEzMjYsMzAgQEAKICAgKi8KIEhBTF9TdGF0dXNUeXBlRGVmIEhBTF9OT1JfV3JpdGVPcGVyYXRpb25fRW5hYmxlKE5PUl9IYW5kbGVUeXBlRGVmICpobm9yKQogewotICAvKiBQcm9jZXNzIExvY2tlZCAqLwotICBfX0hBTF9MT0NLKGhub3IpOworICAvKiBDaGVjayB0aGUgTk9SIGNvbnRyb2xsZXIgc3RhdGUgKi8KKyAgaWYgKGhub3ItPlN0YXRlID09IEhBTF9OT1JfU1RBVEVfUFJPVEVDVEVEKQorICB7CisgICAgLyogUHJvY2VzcyBMb2NrZWQgKi8KKyAgICBfX0hBTF9MT0NLKGhub3IpOwogCi0gIC8qIEVuYWJsZSB3cml0ZSBvcGVyYXRpb24gKi8KLSAgRk1DX05PUlNSQU1fV3JpdGVPcGVyYXRpb25fRW5hYmxlKGhub3ItPkluc3RhbmNlLCBobm9yLT5Jbml0Lk5TQmFuayk7IAotICAKLSAgLyogVXBkYXRlIHRoZSBOT1IgY29udHJvbGxlciBzdGF0ZSAqLwotICBobm9yLT5TdGF0ZSA9IEhBTF9OT1JfU1RBVEVfUkVBRFk7Ci0gIAotICAvKiBQcm9jZXNzIHVubG9ja2VkICovCi0gIF9fSEFMX1VOTE9DSyhobm9yKTsgCi0gIAotICByZXR1cm4gSEFMX09LOyAgCisgICAgLyogVXBkYXRlIHRoZSBOT1IgY29udHJvbGxlciBzdGF0ZSAqLworICAgIGhub3ItPlN0YXRlID0gSEFMX05PUl9TVEFURV9CVVNZOworCisgICAgLyogRW5hYmxlIHdyaXRlIG9wZXJhdGlvbiAqLworICAgICh2b2lkKUZNQ19OT1JTUkFNX1dyaXRlT3BlcmF0aW9uX0VuYWJsZShobm9yLT5JbnN0YW5jZSwgaG5vci0+SW5pdC5OU0JhbmspOworCisgICAgLyogVXBkYXRlIHRoZSBOT1IgY29udHJvbGxlciBzdGF0ZSAqLworICAgIGhub3ItPlN0YXRlID0gSEFMX05PUl9TVEFURV9SRUFEWTsKKworICAgIC8qIFByb2Nlc3MgdW5sb2NrZWQgKi8KKyAgICBfX0hBTF9VTkxPQ0soaG5vcik7CisgIH0KKyAgZWxzZQorICB7CisgICAgcmV0dXJuIEhBTF9FUlJPUjsKKyAgfQorCisgIHJldHVybiBIQUxfT0s7CiB9CiAKIC8qKgpAQCAtMTA1Niw0MyArMTM2MCw1MSBAQAogICAqLwogSEFMX1N0YXR1c1R5cGVEZWYgSEFMX05PUl9Xcml0ZU9wZXJhdGlvbl9EaXNhYmxlKE5PUl9IYW5kbGVUeXBlRGVmICpobm9yKQogewotICAvKiBQcm9jZXNzIExvY2tlZCAqLwotICBfX0hBTF9MT0NLKGhub3IpOworICAvKiBDaGVjayB0aGUgTk9SIGNvbnRyb2xsZXIgc3RhdGUgKi8KKyAgaWYgKGhub3ItPlN0YXRlID09IEhBTF9OT1JfU1RBVEVfUkVBRFkpCisgIHsKKyAgICAvKiBQcm9jZXNzIExvY2tlZCAqLworICAgIF9fSEFMX0xPQ0soaG5vcik7CiAKLSAgLyogVXBkYXRlIHRoZSBTUkFNIGNvbnRyb2xsZXIgc3RhdGUgKi8KLSAgaG5vci0+U3RhdGUgPSBIQUxfTk9SX1NUQVRFX0JVU1k7Ci0gICAgCi0gIC8qIERpc2FibGUgd3JpdGUgb3BlcmF0aW9uICovCi0gIEZNQ19OT1JTUkFNX1dyaXRlT3BlcmF0aW9uX0Rpc2FibGUoaG5vci0+SW5zdGFuY2UsIGhub3ItPkluaXQuTlNCYW5rKTsgCi0gIAotICAvKiBVcGRhdGUgdGhlIE5PUiBjb250cm9sbGVyIHN0YXRlICovCi0gIGhub3ItPlN0YXRlID0gSEFMX05PUl9TVEFURV9QUk9URUNURUQ7Ci0gIAotICAvKiBQcm9jZXNzIHVubG9ja2VkICovCi0gIF9fSEFMX1VOTE9DSyhobm9yKTsgCi0gIAotICByZXR1cm4gSEFMX09LOyAgCisgICAgLyogVXBkYXRlIHRoZSBOT1IgY29udHJvbGxlciBzdGF0ZSAqLworICAgIGhub3ItPlN0YXRlID0gSEFMX05PUl9TVEFURV9CVVNZOworCisgICAgLyogRGlzYWJsZSB3cml0ZSBvcGVyYXRpb24gKi8KKyAgICAodm9pZClGTUNfTk9SU1JBTV9Xcml0ZU9wZXJhdGlvbl9EaXNhYmxlKGhub3ItPkluc3RhbmNlLCBobm9yLT5Jbml0Lk5TQmFuayk7CisKKyAgICAvKiBVcGRhdGUgdGhlIE5PUiBjb250cm9sbGVyIHN0YXRlICovCisgICAgaG5vci0+U3RhdGUgPSBIQUxfTk9SX1NUQVRFX1BST1RFQ1RFRDsKKworICAgIC8qIFByb2Nlc3MgdW5sb2NrZWQgKi8KKyAgICBfX0hBTF9VTkxPQ0soaG5vcik7CisgIH0KKyAgZWxzZQorICB7CisgICAgcmV0dXJuIEhBTF9FUlJPUjsKKyAgfQorCisgIHJldHVybiBIQUxfT0s7CiB9CiAKIC8qKgogICAqIEB9Ci0gICovICAKLSAgCi0vKiogQGRlZmdyb3VwIE5PUl9FeHBvcnRlZF9GdW5jdGlvbnNfR3JvdXA0IE5PUiBTdGF0ZSBmdW5jdGlvbnMgCi0gKiAgQGJyaWVmICAgUGVyaXBoZXJhbCBTdGF0ZSBmdW5jdGlvbnMgCi0gKgotQHZlcmJhdGltICAgCisgICovCisKKy8qKiBAZGVmZ3JvdXAgTk9SX0V4cG9ydGVkX0Z1bmN0aW9uc19Hcm91cDQgTk9SIFN0YXRlIGZ1bmN0aW9ucworICAqICBAYnJpZWYgICBQZXJpcGhlcmFsIFN0YXRlIGZ1bmN0aW9ucworICAqCitAdmVyYmF0aW0KICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAgICAgICAgICAgICAgICAgICAgIyMjIyMgTk9SIFN0YXRlIGZ1bmN0aW9ucyAjIyMjIwotICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gIAorICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgWy4uXQotICAgIFRoaXMgc3Vic2VjdGlvbiBwZXJtaXRzIHRvIGdldCBpbiBydW4tdGltZSB0aGUgc3RhdHVzIG9mIHRoZSBOT1IgY29udHJvbGxlciAKKyAgICBUaGlzIHN1YnNlY3Rpb24gcGVybWl0cyB0byBnZXQgaW4gcnVuLXRpbWUgdGhlIHN0YXR1cyBvZiB0aGUgTk9SIGNvbnRyb2xsZXIKICAgICBhbmQgdGhlIGRhdGEgZmxvdy4KIAogQGVuZHZlcmJhdGltCiAgICogQHsKICAgKi8KLSAgCisKIC8qKgogICAqIEBicmllZiAgcmV0dXJuIHRoZSBOT1IgY29udHJvbGxlciBzdGF0ZQogICAqIEBwYXJhbSAgaG5vciBwb2ludGVyIHRvIGEgTk9SX0hhbmRsZVR5cGVEZWYgc3RydWN0dXJlIHRoYXQgY29udGFpbnMKQEAgLTExMDcsNjMgKzE0MTksMTAzIEBACiAvKioKICAgKiBAYnJpZWYgIFJldHVybnMgdGhlIE5PUiBvcGVyYXRpb24gc3RhdHVzLgogICAqIEBwYXJhbSAgaG5vciBwb2ludGVyIHRvIGEgTk9SX0hhbmRsZVR5cGVEZWYgc3RydWN0dXJlIHRoYXQgY29udGFpbnMKLSAgKiAgICAgICAgICAgICAgICB0aGUgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbiBmb3IgTk9SIG1vZHVsZS4gICAKKyAgKiAgICAgICAgICAgICAgICB0aGUgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbiBmb3IgTk9SIG1vZHVsZS4KICAgKiBAcGFyYW0gIEFkZHJlc3MgRGV2aWNlIGFkZHJlc3MKICAgKiBAcGFyYW0gIFRpbWVvdXQgTk9SIHByb2dyYW1taW5nIFRpbWVvdXQKLSAgKiBAcmV0dmFsIE5PUl9TdGF0dXM6IFRoZSByZXR1cm5lZCB2YWx1ZSBjYW4gYmU6IEhBTF9OT1JfU1RBVFVTX1NVQ0NFU1MsIEhBTF9OT1JfU1RBVFVTX0VSUk9SCisgICogQHJldHZhbCBOT1JfU3RhdHVzIFRoZSByZXR1cm5lZCB2YWx1ZSBjYW4gYmU6IEhBTF9OT1JfU1RBVFVTX1NVQ0NFU1MsIEhBTF9OT1JfU1RBVFVTX0VSUk9SCiAgICogICAgICAgICBvciBIQUxfTk9SX1NUQVRVU19USU1FT1VUCiAgICovCiBIQUxfTk9SX1N0YXR1c1R5cGVEZWYgSEFMX05PUl9HZXRTdGF0dXMoTk9SX0hhbmRsZVR5cGVEZWYgKmhub3IsIHVpbnQzMl90IEFkZHJlc3MsIHVpbnQzMl90IFRpbWVvdXQpCi17IAorewogICBIQUxfTk9SX1N0YXR1c1R5cGVEZWYgc3RhdHVzID0gSEFMX05PUl9TVEFUVVNfT05HT0lORzsKLSAgdWludDE2X3QgdG1wU1IxID0gMCwgdG1wU1IyID0gMDsKLSAgdWludDMyX3QgdGlja3N0YXJ0ID0gMFU7CisgIHVpbnQxNl90IHRtcHNyMTsKKyAgdWludDE2X3QgdG1wc3IyOworICB1aW50MzJfdCB0aWNrc3RhcnQ7CiAKICAgLyogUG9sbCBvbiBOT1IgbWVtb3J5IFJlYWR5L0J1c3kgc2lnbmFsIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgIEhBTF9OT1JfTXNwV2FpdChobm9yLCBUaW1lb3V0KTsKLSAgCisKICAgLyogR2V0IHRoZSBOT1IgbWVtb3J5IG9wZXJhdGlvbiBzdGF0dXMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCi0gIAorCiAgIC8qIEdldCB0aWNrICovCiAgIHRpY2tzdGFydCA9IEhBTF9HZXRUaWNrKCk7Ci0gIHdoaWxlKChzdGF0dXMgIT0gSEFMX05PUl9TVEFUVVNfU1VDQ0VTUyApICYmIChzdGF0dXMgIT0gSEFMX05PUl9TVEFUVVNfVElNRU9VVCkpCisKKyAgaWYgKGhub3ItPkNvbW1hbmRTZXQgPT0gTk9SX0FNRF9GVUpJVFNVX0NPTU1BTkRfU0VUKQogICB7Ci0gICAgLyogQ2hlY2sgZm9yIHRoZSBUaW1lb3V0ICovCi0gICAgaWYoVGltZW91dCAhPSBIQUxfTUFYX0RFTEFZKQorICAgIHdoaWxlICgoc3RhdHVzICE9IEhBTF9OT1JfU1RBVFVTX1NVQ0NFU1MpICYmIChzdGF0dXMgIT0gSEFMX05PUl9TVEFUVVNfVElNRU9VVCkpCiAgICAgewotICAgICAgaWYoKFRpbWVvdXQgPT0gMFUpfHwoKEhBTF9HZXRUaWNrKCkgLSB0aWNrc3RhcnQgKSA+IFRpbWVvdXQpKQorICAgICAgLyogQ2hlY2sgZm9yIHRoZSBUaW1lb3V0ICovCisgICAgICBpZiAoVGltZW91dCAhPSBIQUxfTUFYX0RFTEFZKQogICAgICAgewotICAgICAgICBzdGF0dXMgPSBIQUxfTk9SX1NUQVRVU19USU1FT1VUOyAKLSAgICAgIH0gCi0gICAgfSAKKyAgICAgICAgaWYgKCgoSEFMX0dldFRpY2soKSAtIHRpY2tzdGFydCkgPiBUaW1lb3V0KSB8fCAoVGltZW91dCA9PSAwVSkpCisgICAgICAgIHsKKyAgICAgICAgICBzdGF0dXMgPSBIQUxfTk9SX1NUQVRVU19USU1FT1VUOworICAgICAgICB9CisgICAgICB9CiAKLSAgICAvKiBSZWFkIE5PUiBzdGF0dXMgcmVnaXN0ZXIgKERRNiBhbmQgRFE1KSAqLwotICAgIHRtcFNSMSA9ICooX19JTyB1aW50MTZfdCAqKUFkZHJlc3M7Ci0gICAgdG1wU1IyID0gKihfX0lPIHVpbnQxNl90ICopQWRkcmVzczsKKyAgICAgIC8qIFJlYWQgTk9SIHN0YXR1cyByZWdpc3RlciAoRFE2IGFuZCBEUTUpICovCisgICAgICB0bXBzcjEgPSAqKF9fSU8gdWludDE2X3QgKilBZGRyZXNzOworICAgICAgdG1wc3IyID0gKihfX0lPIHVpbnQxNl90ICopQWRkcmVzczsKIAotICAgIC8qIElmIERRNiBkaWQgbm90IHRvZ2dsZSBiZXR3ZWVuIHRoZSB0d28gcmVhZHMgdGhlbiByZXR1cm4gSEFMX05PUl9TVEFUVVNfU1VDQ0VTUyAgKi8KLSAgICBpZigodG1wU1IxICYgTk9SX01BU0tfU1RBVFVTX0RRNikgPT0gKHRtcFNSMiAmIE5PUl9NQVNLX1NUQVRVU19EUTYpKSAKLSAgICB7Ci0gICAgICByZXR1cm4gSEFMX05PUl9TVEFUVVNfU1VDQ0VTUyA7Ci0gICAgfQotICAgIAotICAgIGlmKCh0bXBTUjEgJiBOT1JfTUFTS19TVEFUVVNfRFE1KSA9PSBOT1JfTUFTS19TVEFUVVNfRFE1KQotICAgIHsKLSAgICAgIHN0YXR1cyA9IEhBTF9OT1JfU1RBVFVTX09OR09JTkc7Ci0gICAgfQotICAgIAotICAgIHRtcFNSMSA9ICooX19JTyB1aW50MTZfdCAqKUFkZHJlc3M7Ci0gICAgdG1wU1IyID0gKihfX0lPIHVpbnQxNl90ICopQWRkcmVzczsKKyAgICAgIC8qIElmIERRNiBkaWQgbm90IHRvZ2dsZSBiZXR3ZWVuIHRoZSB0d28gcmVhZHMgdGhlbiByZXR1cm4gSEFMX05PUl9TVEFUVVNfU1VDQ0VTUyAgKi8KKyAgICAgIGlmICgodG1wc3IxICYgTk9SX01BU0tfU1RBVFVTX0RRNikgPT0gKHRtcHNyMiAmIE5PUl9NQVNLX1NUQVRVU19EUTYpKQorICAgICAgeworICAgICAgICByZXR1cm4gSEFMX05PUl9TVEFUVVNfU1VDQ0VTUyA7CisgICAgICB9CiAKLSAgICAvKiBJZiBEUTYgZGlkIG5vdCB0b2dnbGUgYmV0d2VlbiB0aGUgdHdvIHJlYWRzIHRoZW4gcmV0dXJuIEhBTF9OT1JfU1RBVFVTX1NVQ0NFU1MgICovCi0gICAgaWYoKHRtcFNSMSAmIE5PUl9NQVNLX1NUQVRVU19EUTYpID09ICh0bXBTUjIgJiBOT1JfTUFTS19TVEFUVVNfRFE2KSkgCi0gICAgewotICAgICAgcmV0dXJuIEhBTF9OT1JfU1RBVFVTX1NVQ0NFU1M7CisgICAgICBpZiAoKHRtcHNyMSAmIE5PUl9NQVNLX1NUQVRVU19EUTUpID09IE5PUl9NQVNLX1NUQVRVU19EUTUpCisgICAgICB7CisgICAgICAgIHN0YXR1cyA9IEhBTF9OT1JfU1RBVFVTX09OR09JTkc7CisgICAgICB9CisKKyAgICAgIHRtcHNyMSA9ICooX19JTyB1aW50MTZfdCAqKUFkZHJlc3M7CisgICAgICB0bXBzcjIgPSAqKF9fSU8gdWludDE2X3QgKilBZGRyZXNzOworCisgICAgICAvKiBJZiBEUTYgZGlkIG5vdCB0b2dnbGUgYmV0d2VlbiB0aGUgdHdvIHJlYWRzIHRoZW4gcmV0dXJuIEhBTF9OT1JfU1RBVFVTX1NVQ0NFU1MgICovCisgICAgICBpZiAoKHRtcHNyMSAmIE5PUl9NQVNLX1NUQVRVU19EUTYpID09ICh0bXBzcjIgJiBOT1JfTUFTS19TVEFUVVNfRFE2KSkKKyAgICAgIHsKKyAgICAgICAgcmV0dXJuIEhBTF9OT1JfU1RBVFVTX1NVQ0NFU1M7CisgICAgICB9CisgICAgICBpZiAoKHRtcHNyMSAmIE5PUl9NQVNLX1NUQVRVU19EUTUpID09IE5PUl9NQVNLX1NUQVRVU19EUTUpCisgICAgICB7CisgICAgICAgIHJldHVybiBIQUxfTk9SX1NUQVRVU19FUlJPUjsKKyAgICAgIH0KICAgICB9Ci0gICAgaWYoKHRtcFNSMSAmIE5PUl9NQVNLX1NUQVRVU19EUTUpID09IE5PUl9NQVNLX1NUQVRVU19EUTUpCisgIH0KKyAgZWxzZSBpZiAoaG5vci0+Q29tbWFuZFNldCA9PSBOT1JfSU5URUxfU0hBUlBfRVhUX0NPTU1BTkRfU0VUKQorICB7CisgICAgZG8KICAgICB7Ci0gICAgICByZXR1cm4gSEFMX05PUl9TVEFUVVNfRVJST1I7Ci0gICAgfSAKKyAgICAgIE5PUl9XUklURShBZGRyZXNzLCBOT1JfQ01EX1JFQURfU1RBVFVTX1JFRyk7CisgICAgICB0bXBzcjIgPSAqKF9fSU8gdWludDE2X3QgKikoQWRkcmVzcyk7CisKKyAgICAgIC8qIENoZWNrIGZvciB0aGUgVGltZW91dCAqLworICAgICAgaWYgKFRpbWVvdXQgIT0gSEFMX01BWF9ERUxBWSkKKyAgICAgIHsKKyAgICAgICAgaWYgKCgoSEFMX0dldFRpY2soKSAtIHRpY2tzdGFydCkgPiBUaW1lb3V0KSB8fCAoVGltZW91dCA9PSAwVSkpCisgICAgICAgIHsKKyAgICAgICAgICByZXR1cm4gSEFMX05PUl9TVEFUVVNfVElNRU9VVDsKKyAgICAgICAgfQorICAgICAgfQorICAgIH0gd2hpbGUgKCh0bXBzcjIgJiBOT1JfTUFTS19TVEFUVVNfRFE3KSA9PSAwVSk7CisKKyAgICBOT1JfV1JJVEUoQWRkcmVzcywgTk9SX0NNRF9SRUFEX1NUQVRVU19SRUcpOworICAgIHRtcHNyMSA9ICooX19JTyB1aW50MTZfdCAqKShBZGRyZXNzKTsKKyAgICBpZiAoKHRtcHNyMSAgJiAoTk9SX01BU0tfU1RBVFVTX0RRNSB8IE5PUl9NQVNLX1NUQVRVU19EUTQpKSAhPSAwVSkKKyAgICB7CisgICAgICAvKiBDbGVhciB0aGUgU3RhdHVzIFJlZ2lzdGVyICAqLworICAgICAgTk9SX1dSSVRFKEFkZHJlc3MsIE5PUl9DTURfUkVBRF9TVEFUVVNfUkVHKTsKKyAgICAgIHN0YXR1cyA9IEhBTF9OT1JfU1RBVFVTX0VSUk9SOworICAgIH0KKyAgICBlbHNlCisgICAgeworICAgICAgc3RhdHVzID0gSEFMX05PUl9TVEFUVVNfU1VDQ0VTUzsKKyAgICB9CisgIH0KKyAgZWxzZQorICB7CisgICAgLyogUHJpbWFyeSBjb21tYW5kIHNldCBub3Qgc3VwcG9ydGVkIGJ5IHRoZSBkcml2ZXIgKi8KKyAgICBzdGF0dXMgPSBIQUxfTk9SX1NUQVRVU19FUlJPUjsKICAgfQogCiAgIC8qIFJldHVybiB0aGUgb3BlcmF0aW9uIHN0YXR1cyAqLwpAQCAtMTE3NywxNyArMTUyOSwxNSBAQAogLyoqCiAgICogQH0KICAgKi8KLSNlbmRpZiAvKiBTVE0zMkY0MDV4eCB8fCBTVE0zMkY0MTV4eCB8fCBTVE0zMkY0MDd4eCB8fCBTVE0zMkY0MTd4eCB8fCBTVE0zMkY0Mjd4eCB8fFwKLSAgICAgICAgICBTVE0zMkY0Mzd4eCB8fCBTVE0zMkY0Mjl4eCB8fCBTVE0zMkY0Mzl4eCB8fCBTVE0zMkY0NDZ4eCB8fCBTVE0zMkY0Njl4eCB8fFwKLSAgICAgICAgICBTVE0zMkY0Nzl4eCB8fCBTVE0zMkY0MTJaeCB8fCBTVE0zMkY0MTJWeCB8fCBTVE0zMkY0MTJSeCB8fCBTVE0zMkY0MTN4eCB8fFwKLSAgICAgICAgICBTVE0zMkY0MjN4eCAqLworCisvKioKKyAgKiBAfQorICAqLworCiAjZW5kaWYgLyogSEFMX05PUl9NT0RVTEVfRU5BQkxFRCAqLwotLyoqCi0gICogQH0KLSAgKi8KIAogLyoqCiAgICogQH0KICAgKi8KIAotLyoqKioqKioqKioqKioqKioqKioqKioqKiAoQykgQ09QWVJJR0hUIFNUTWljcm9lbGVjdHJvbmljcyAqKioqKkVORCBPRiBGSUxFKioqKi8KKyNlbmRpZiAvKiBGTUNfQmFuazEgfHwgRlNNQ19CYW5rMSAqLwpkaWZmIC0tZ2l0IGEvU3JjL3N0bTMyZjR4eF9oYWxfcGNjYXJkLmMgYi9TcmMvc3RtMzJmNHh4X2hhbF9wY2NhcmQuYwppbmRleCAyZjdkM2UwLi4xNGRlYjQ3IDEwMDY0NAotLS0gYS9TcmMvc3RtMzJmNHh4X2hhbF9wY2NhcmQuYworKysgYi9TcmMvc3RtMzJmNHh4X2hhbF9wY2NhcmQuYwpAQCAtMyw3MiArMyw4MyBAQAogICAqIEBmaWxlICAgIHN0bTMyZjR4eF9oYWxfcGNjYXJkLmMKICAgKiBAYXV0aG9yICBNQ0QgQXBwbGljYXRpb24gVGVhbQogICAqIEBicmllZiAgIFBDQ0FSRCBIQUwgbW9kdWxlIGRyaXZlci4KLSAgKiAgICAgICAgICBUaGlzIGZpbGUgcHJvdmlkZXMgYSBnZW5lcmljIGZpcm13YXJlIHRvIGRyaXZlIFBDQ0FSRCBtZW1vcmllcyBtb3VudGVkIAorICAqICAgICAgICAgIFRoaXMgZmlsZSBwcm92aWRlcyBhIGdlbmVyaWMgZmlybXdhcmUgdG8gZHJpdmUgUENDQVJEIG1lbW9yaWVzIG1vdW50ZWQKICAgKiAgICAgICAgICBhcyBleHRlcm5hbCBkZXZpY2UuCi0gICogICAgICAgICAKKyAgKgorICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAgKiBAYXR0ZW50aW9uCisgICoKKyAgKiBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgorICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgICoKKyAgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIHVuZGVyIHRlcm1zIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUKKyAgKiBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb2Z0d2FyZSBjb21wb25lbnQuCisgICogSWYgbm8gTElDRU5TRSBmaWxlIGNvbWVzIHdpdGggdGhpcyBzb2Z0d2FyZSwgaXQgaXMgcHJvdmlkZWQgQVMtSVMuCisgICoKKyAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgIEB2ZXJiYXRpbQogID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgICAgICAgICAgICAgICAgICAgICAgICMjIyMjIEhvdyB0byB1c2UgdGhpcyBkcml2ZXIgIyMjIyMKLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICAKKyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICBbLi5dCi0gICAgIFRoaXMgZHJpdmVyIGlzIGEgZ2VuZXJpYyBsYXllcmVkIGRyaXZlciB3aGljaCBjb250YWlucyBhIHNldCBvZiBBUElzIHVzZWQgdG8gCi0gICAgIGNvbnRyb2wgUENDQVJEL2NvbXBhY3QgZmxhc2ggbWVtb3JpZXMuIEl0IHVzZXMgdGhlIEZNQy9GU01DIGxheWVyIGZ1bmN0aW9ucyAKKyAgICAgVGhpcyBkcml2ZXIgaXMgYSBnZW5lcmljIGxheWVyZWQgZHJpdmVyIHdoaWNoIGNvbnRhaW5zIGEgc2V0IG9mIEFQSXMgdXNlZCB0bworICAgICAgY29udHJvbCBQQ0NBUkQvY29tcGFjdCBmbGFzaCBtZW1vcmllcy4gSXQgdXNlcyB0aGUgRk1DL0ZTTUMgbGF5ZXIgZnVuY3Rpb25zCiAgICAgIHRvIGludGVyZmFjZSB3aXRoIFBDQ0FSRCBkZXZpY2VzLiBUaGlzIGRyaXZlciBpcyB1c2VkIGZvcjoKLSAgICAKLSAgICAoKykgUENDQVJEL0NvbXBhY3QgRmxhc2ggbWVtb3J5IGNvbmZpZ3VyYXRpb24gc2VxdWVuY2UgdXNpbmcgdGhlIGZ1bmN0aW9uIAorCisgICAgKCspIFBDQ0FSRC9Db21wYWN0IEZsYXNoIG1lbW9yeSBjb25maWd1cmF0aW9uIHNlcXVlbmNlIHVzaW5nIHRoZSBmdW5jdGlvbgogICAgICAgICBIQUxfUENDQVJEX0luaXQoKS9IQUxfQ0ZfSW5pdCgpIHdpdGggY29udHJvbCBhbmQgdGltaW5nIHBhcmFtZXRlcnMgZm9yCiAgICAgICAgIGJvdGggY29tbW9uIGFuZCBhdHRyaWJ1dGUgc3BhY2VzLgotICAgICAgICAgICAgCisKICAgICAoKykgUmVhZCBQQ0NBUkQvQ29tcGFjdCBGbGFzaCBtZW1vcnkgbWFrZXIgYW5kIGRldmljZSBJRHMgdXNpbmcgdGhlIGZ1bmN0aW9uCiAgICAgICAgIEhBTF9QQ0NBUkRfUmVhZF9JRCgpL0hBTF9DRl9SZWFkX0lEKCkuIFRoZSByZWFkIGluZm9ybWF0aW9uIGlzIHN0b3JlZCBpbgotICAgICAgICB0aGUgQ29tcGFjdEZsYXNoX0lEIHN0cnVjdHVyZSBkZWNsYXJlZCBieSB0aGUgZnVuY3Rpb24gY2FsbGVyLiAKLSAgICAgICAgCisgICAgICAgIHRoZSBDb21wYWN0Rmxhc2hfSUQgc3RydWN0dXJlIGRlY2xhcmVkIGJ5IHRoZSBmdW5jdGlvbiBjYWxsZXIuCisKICAgICAoKykgQWNjZXNzIFBDQ0FSRC9Db21wYWN0IEZsYXNoIG1lbW9yeSBieSByZWFkL3dyaXRlIG9wZXJhdGlvbnMgdXNpbmcgdGhlIGZ1bmN0aW9ucwotICAgICAgICBIQUxfUENDQVJEX1JlYWRfU2VjdG9yKCkvIEhBTF9QQ0NBUkRfV3JpdGVfU2VjdG9yKCkgLSAKLSAgICAgICAgSEFMX0NGX1JlYWRfU2VjdG9yKCkvSEFMX0NGX1dyaXRlX1NlY3RvcigpLCB0byByZWFkL3dyaXRlIHNlY3Rvci4gCi0gICAgICAgIAorICAgICAgICBIQUxfUENDQVJEX1JlYWRfU2VjdG9yKCkvIEhBTF9QQ0NBUkRfV3JpdGVfU2VjdG9yKCkgLQorICAgICAgICBIQUxfQ0ZfUmVhZF9TZWN0b3IoKS9IQUxfQ0ZfV3JpdGVfU2VjdG9yKCksIHRvIHJlYWQvd3JpdGUgc2VjdG9yLgorCiAgICAgKCspIFBlcmZvcm0gUENDQVJEL0NvbXBhY3QgRmxhc2ggUmVzZXQgY2hpcCBvcGVyYXRpb24gdXNpbmcgdGhlIGZ1bmN0aW9uCiAgICAgICAgIEhBTF9QQ0NBUkRfUmVzZXQoKS9IQUxfQ0ZfUmVzZXQuCi0gICAgICAgIAotICAgICgrKSBQZXJmb3JtIFBDQ0FSRC9Db21wYWN0IEZsYXNoIGVyYXNlIHNlY3RvciBvcGVyYXRpb24gdXNpbmcgdGhlIGZ1bmN0aW9uIAorCisgICAgKCspIFBlcmZvcm0gUENDQVJEL0NvbXBhY3QgRmxhc2ggZXJhc2Ugc2VjdG9yIG9wZXJhdGlvbiB1c2luZyB0aGUgZnVuY3Rpb24KICAgICAgICAgSEFMX1BDQ0FSRF9FcmFzZV9TZWN0b3IoKS9IQUxfQ0ZfRXJhc2VfU2VjdG9yLgotICAgIAorCiAgICAgKCspIFJlYWQgdGhlIFBDQ0FSRC9Db21wYWN0IEZsYXNoIHN0YXR1cyBvcGVyYXRpb24gdXNpbmcgdGhlIGZ1bmN0aW9uCiAgICAgICAgIEhBTF9QQ0NBUkRfUmVhZFN0YXR1cygpL0hBTF9DRl9SZWFkU3RhdHVzKCkuCi0gICAgIAorCiAgICAgKCspIFlvdSBjYW4gbW9uaXRvciB0aGUgUENDQVJEL0NvbXBhY3QgRmxhc2ggIGRldmljZSBIQUwgc3RhdGUgYnkgY2FsbGluZwogICAgICAgICB0aGUgZnVuY3Rpb24gSEFMX1BDQ0FSRF9HZXRTdGF0ZSgpL0hBTF9DRl9HZXRTdGF0ZSgpCi0gICAgICAgIAorCiAgICBbLi5dCi0gICAgIChAKSBUaGlzIGRyaXZlciBpcyBhIHNldCBvZiBnZW5lcmljIEFQSXMgd2hpY2ggaGFuZGxlIHN0YW5kYXJkIFBDQ0FSRC9jb21wYWN0IGZsYXNoIAotICAgICAgICAgb3BlcmF0aW9ucy4gSWYgYSBQQ0NBUkQvQ29tcGFjdCBGbGFzaCBkZXZpY2UgY29udGFpbnMgZGlmZmVyZW50IG9wZXJhdGlvbnMgCisgICAgIChAKSBUaGlzIGRyaXZlciBpcyBhIHNldCBvZiBnZW5lcmljIEFQSXMgd2hpY2ggaGFuZGxlIHN0YW5kYXJkIFBDQ0FSRC9jb21wYWN0IGZsYXNoCisgICAgICAgICBvcGVyYXRpb25zLiBJZiBhIFBDQ0FSRC9Db21wYWN0IEZsYXNoIGRldmljZSBjb250YWlucyBkaWZmZXJlbnQgb3BlcmF0aW9ucwogICAgICAgICAgYW5kL29yIGltcGxlbWVudGF0aW9ucywgaXQgc2hvdWxkIGJlIGltcGxlbWVudGVkIHNlcGFyYXRlbHkuCi0gICAKKwogICAgICAgKioqIENhbGxiYWNrIHJlZ2lzdHJhdGlvbiAqKioKICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgICBbLi5dCiAgICAgICBUaGUgY29tcGlsYXRpb24gZGVmaW5lICBVU0VfSEFMX1BDQ0FSRF9SRUdJU1RFUl9DQUxMQkFDS1Mgd2hlbiBzZXQgdG8gMQogICAgICAgYWxsb3dzIHRoZSB1c2VyIHRvIGNvbmZpZ3VyZSBkeW5hbWljYWxseSB0aGUgZHJpdmVyIGNhbGxiYWNrcy4KIAotICAgICAgVXNlIEZ1bmN0aW9ucyBAcmVmIEhBTF9QQ0NBUkRfUmVnaXN0ZXJDYWxsYmFjaygpIHRvIHJlZ2lzdGVyIGEgdXNlciBjYWxsYmFjaywKKyAgICAgIFVzZSBGdW5jdGlvbnMgSEFMX1BDQ0FSRF9SZWdpc3RlckNhbGxiYWNrKCkgdG8gcmVnaXN0ZXIgYSB1c2VyIGNhbGxiYWNrLAogICAgICAgaXQgYWxsb3dzIHRvIHJlZ2lzdGVyIGZvbGxvd2luZyBjYWxsYmFja3M6CiAgICAgICAgICgrKSBNc3BJbml0Q2FsbGJhY2sgICAgOiBQQ0NBUkQgTXNwSW5pdC4KICAgICAgICAgKCspIE1zcERlSW5pdENhbGxiYWNrICA6IFBDQ0FSRCBNc3BEZUluaXQuCiAgICAgICBUaGlzIGZ1bmN0aW9uIHRha2VzIGFzIHBhcmFtZXRlcnMgdGhlIEhBTCBwZXJpcGhlcmFsIGhhbmRsZSwgdGhlIENhbGxiYWNrIElECiAgICAgICBhbmQgYSBwb2ludGVyIHRvIHRoZSB1c2VyIGNhbGxiYWNrIGZ1bmN0aW9uLgogCi0gICAgICBVc2UgZnVuY3Rpb24gQHJlZiBIQUxfUENDQVJEX1VuUmVnaXN0ZXJDYWxsYmFjaygpIHRvIHJlc2V0IGEgY2FsbGJhY2sgdG8gdGhlIGRlZmF1bHQKKyAgICAgIFVzZSBmdW5jdGlvbiBIQUxfUENDQVJEX1VuUmVnaXN0ZXJDYWxsYmFjaygpIHRvIHJlc2V0IGEgY2FsbGJhY2sgdG8gdGhlIGRlZmF1bHQKICAgICAgIHdlYWsgKHN1cmNoYXJnZWQpIGZ1bmN0aW9uLiBJdCBhbGxvd3MgdG8gcmVzZXQgZm9sbG93aW5nIGNhbGxiYWNrczoKICAgICAgICAgKCspIE1zcEluaXRDYWxsYmFjayAgICA6IFBDQ0FSRCBNc3BJbml0LgogICAgICAgICAoKykgTXNwRGVJbml0Q2FsbGJhY2sgIDogUENDQVJEIE1zcERlSW5pdC4KICAgICAgIFRoaXMgZnVuY3Rpb24pIHRha2VzIGFzIHBhcmFtZXRlcnMgdGhlIEhBTCBwZXJpcGhlcmFsIGhhbmRsZSBhbmQgdGhlIENhbGxiYWNrIElELgogCi0gICAgICBCeSBkZWZhdWx0LCBhZnRlciB0aGUgQHJlZiBIQUxfUENDQVJEX0luaXQgYW5kIGlmIHRoZSBzdGF0ZSBpcyBIQUxfUENDQVJEX1NUQVRFX1JFU0VUCisgICAgICBCeSBkZWZhdWx0LCBhZnRlciB0aGUgSEFMX1BDQ0FSRF9Jbml0IGFuZCBpZiB0aGUgc3RhdGUgaXMgSEFMX1BDQ0FSRF9TVEFURV9SRVNFVAogICAgICAgYWxsIGNhbGxiYWNrcyBhcmUgcmVzZXQgdG8gdGhlIGNvcnJlc3BvbmRpbmcgbGVnYWN5IHdlYWsgKHN1cmNoYXJnZWQpIGZ1bmN0aW9ucy4KICAgICAgIEV4Y2VwdGlvbiBkb25lIGZvciBNc3BJbml0IGFuZCBNc3BEZUluaXQgY2FsbGJhY2tzIHRoYXQgYXJlIHJlc3BlY3RpdmVseQotICAgICAgcmVzZXQgdG8gdGhlIGxlZ2FjeSB3ZWFrIChzdXJjaGFyZ2VkKSBmdW5jdGlvbnMgaW4gdGhlIEByZWYgSEFMX1BDQ0FSRF9Jbml0Ci0gICAgICBhbmQgQHJlZiAgSEFMX1BDQ0FSRF9EZUluaXQgb25seSB3aGVuIHRoZXNlIGNhbGxiYWNrcyBhcmUgbnVsbCAobm90IHJlZ2lzdGVyZWQgYmVmb3JlaGFuZCkuCi0gICAgICBJZiBub3QsIE1zcEluaXQgb3IgTXNwRGVJbml0IGFyZSBub3QgbnVsbCwgdGhlIEByZWYgSEFMX1BDQ0FSRF9Jbml0IGFuZCBAcmVmIEhBTF9QQ0NBUkRfRGVJbml0CisgICAgICByZXNldCB0byB0aGUgbGVnYWN5IHdlYWsgKHN1cmNoYXJnZWQpIGZ1bmN0aW9ucyBpbiB0aGUgSEFMX1BDQ0FSRF9Jbml0CisgICAgICBhbmQgIEhBTF9QQ0NBUkRfRGVJbml0IG9ubHkgd2hlbiB0aGVzZSBjYWxsYmFja3MgYXJlIG51bGwgKG5vdCByZWdpc3RlcmVkIGJlZm9yZWhhbmQpLgorICAgICAgSWYgbm90LCBNc3BJbml0IG9yIE1zcERlSW5pdCBhcmUgbm90IG51bGwsIHRoZSBIQUxfUENDQVJEX0luaXQgYW5kIEhBTF9QQ0NBUkRfRGVJbml0CiAgICAgICBrZWVwIGFuZCB1c2UgdGhlIHVzZXIgTXNwSW5pdC9Nc3BEZUluaXQgY2FsbGJhY2tzIChyZWdpc3RlcmVkIGJlZm9yZWhhbmQpCiAKICAgICAgIENhbGxiYWNrcyBjYW4gYmUgcmVnaXN0ZXJlZC91bnJlZ2lzdGVyZWQgaW4gUkVBRFkgc3RhdGUgb25seS4KQEAgLTc2LDggKzg3LDggQEAKICAgICAgIGluIFJFQURZIG9yIFJFU0VUIHN0YXRlLCB0aHVzIHJlZ2lzdGVyZWQgKHVzZXIpIE1zcEluaXQvRGVJbml0IGNhbGxiYWNrcyBjYW4gYmUgdXNlZAogICAgICAgZHVyaW5nIHRoZSBJbml0L0RlSW5pdC4KICAgICAgIEluIHRoYXQgY2FzZSBmaXJzdCByZWdpc3RlciB0aGUgTXNwSW5pdC9Nc3BEZUluaXQgdXNlciBjYWxsYmFja3MKLSAgICAgIHVzaW5nIEByZWYgSEFMX1BDQ0FSRF9SZWdpc3RlckNhbGxiYWNrIGJlZm9yZSBjYWxsaW5nIEByZWYgSEFMX1BDQ0FSRF9EZUluaXQKLSAgICAgIG9yIEByZWYgSEFMX1BDQ0FSRF9Jbml0IGZ1bmN0aW9uLgorICAgICAgdXNpbmcgSEFMX1BDQ0FSRF9SZWdpc3RlckNhbGxiYWNrIGJlZm9yZSBjYWxsaW5nIEhBTF9QQ0NBUkRfRGVJbml0CisgICAgICBvciBIQUxfUENDQVJEX0luaXQgZnVuY3Rpb24uCiAKICAgICAgIFdoZW4gVGhlIGNvbXBpbGF0aW9uIGRlZmluZSBVU0VfSEFMX1BDQ0FSRF9SRUdJU1RFUl9DQUxMQkFDS1MgaXMgc2V0IHRvIDAgb3IKICAgICAgIG5vdCBkZWZpbmVkLCB0aGUgY2FsbGJhY2sgcmVnaXN0ZXJpbmcgZmVhdHVyZSBpcyBub3QgYXZhaWxhYmxlCkBAIC04NSwzNiArOTYsMjYgQEAKIAogICBAZW5kdmVyYmF0aW0KICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gICogQGF0dGVudGlvbgotICAqCi0gICogPGgyPjxjZW50ZXI+JmNvcHk7IENvcHlyaWdodCAoYykgMjAxNyBTVE1pY3JvZWxlY3Ryb25pY3MuCi0gICogQWxsIHJpZ2h0cyByZXNlcnZlZC48L2NlbnRlcj48L2gyPgotICAqCi0gICogVGhpcyBzb2Z0d2FyZSBjb21wb25lbnQgaXMgbGljZW5zZWQgYnkgU1QgdW5kZXIgQlNEIDMtQ2xhdXNlIGxpY2Vuc2UsCi0gICogdGhlICJMaWNlbnNlIjsgWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZQotICAqIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdDoKLSAgKiAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZQotICAqCi0gICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICAqLyAKKyAgKi8KIAogLyogSW5jbHVkZXMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICNpbmNsdWRlICJzdG0zMmY0eHhfaGFsLmgiCiAKKyNpZiBkZWZpbmVkKEZNQ19CYW5rNCkgfHwgZGVmaW5lZChGU01DX0Jhbms0KQorCiAvKiogQGFkZHRvZ3JvdXAgU1RNMzJGNHh4X0hBTF9Ecml2ZXIKICAgKiBAewogICAqLwogCiAjaWZkZWYgSEFMX1BDQ0FSRF9NT0RVTEVfRU5BQkxFRAotI2lmIGRlZmluZWQoU1RNMzJGNDA1eHgpIHx8IGRlZmluZWQoU1RNMzJGNDE1eHgpIHx8IGRlZmluZWQoU1RNMzJGNDA3eHgpIHx8IGRlZmluZWQoU1RNMzJGNDE3eHgpIHx8XAotICAgIGRlZmluZWQoU1RNMzJGNDI3eHgpIHx8IGRlZmluZWQoU1RNMzJGNDM3eHgpIHx8IGRlZmluZWQoU1RNMzJGNDI5eHgpIHx8IGRlZmluZWQoU1RNMzJGNDM5eHgpCi0vKiogQGRlZmdyb3VwIFBDQ0FSRCBQQ0NBUkQgIAorCisvKiogQGRlZmdyb3VwIFBDQ0FSRCBQQ0NBUkQKICAgKiBAYnJpZWYgUENDQVJEIEhBTCBtb2R1bGUgZHJpdmVyCiAgICogQHsKICAgKi8KIC8qIFByaXZhdGUgdHlwZWRlZiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAvKiBQcml2YXRlIGRlZmluZSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwotICAgIAorCiAvKiogQGRlZmdyb3VwIFBDQ0FSRF9Qcml2YXRlX0RlZmluZXMgUENDQVJEIFByaXZhdGUgRGVmaW5lcwogICAqIEB7CiAgICovCkBAIC0xMjcsOCArMTI4LDggQEAKICNkZWZpbmUgUENDQVJEX1NUQVRVU19XUklURV9PSyAgICAgICAgICAgICAgICAgKHVpbnQ4X3QpMHg1MAogLyoqCiAgICogQH0KLSAgKi8gCi0gICAgCisgICovCisKIC8qIFByaXZhdGUgbWFjcm8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAvKiBQcml2YXRlIHZhcmlhYmxlcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogLyogUHJpdmF0ZSBmdW5jdGlvbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KQEAgLTEzNyw0NCArMTM4LDQ1IEBACiAgICogQHsKICAgKi8KIAotLyoqIEBkZWZncm91cCBQQ0NBUkRfRXhwb3J0ZWRfRnVuY3Rpb25zX0dyb3VwMSBJbml0aWFsaXphdGlvbiBhbmQgZGUtaW5pdGlhbGl6YXRpb24gZnVuY3Rpb25zIAotICAqIEBicmllZiAgICBJbml0aWFsaXphdGlvbiBhbmQgQ29uZmlndXJhdGlvbiBmdW5jdGlvbnMgCisvKiogQGRlZmdyb3VwIFBDQ0FSRF9FeHBvcnRlZF9GdW5jdGlvbnNfR3JvdXAxIEluaXRpYWxpemF0aW9uIGFuZCBkZS1pbml0aWFsaXphdGlvbiBmdW5jdGlvbnMKKyAgKiBAYnJpZWYgICAgSW5pdGlhbGl6YXRpb24gYW5kIENvbmZpZ3VyYXRpb24gZnVuY3Rpb25zCiAgICoKLSAgQHZlcmJhdGltICAgIAorICBAdmVyYmF0aW0KICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAgICAgICAgIyMjIyMgUENDQVJEIEluaXRpYWxpemF0aW9uIGFuZCBkZS1pbml0aWFsaXphdGlvbiBmdW5jdGlvbnMgIyMjIyMKICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0gIFsuLl0gIAorICBbLi5dCiAgICAgVGhpcyBzZWN0aW9uIHByb3ZpZGVzIGZ1bmN0aW9ucyBhbGxvd2luZyB0byBpbml0aWFsaXplL2RlLWluaXRpYWxpemUKICAgICB0aGUgUENDQVJEIG1lbW9yeQotICAKKwogQGVuZHZlcmJhdGltCiAgICogQHsKICAgKi8KLSAgICAKKwogLyoqCiAgICogQGJyaWVmICBQZXJmb3JtIHRoZSBQQ0NBUkQgbWVtb3J5IEluaXRpYWxpemF0aW9uIHNlcXVlbmNlCiAgICogQHBhcmFtICBocGNjYXJkIHBvaW50ZXIgdG8gYSBQQ0NBUkRfSGFuZGxlVHlwZURlZiBzdHJ1Y3R1cmUgdGhhdCBjb250YWlucwogICAqICAgICAgICAgICAgICAgIHRoZSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIGZvciBQQ0NBUkQgbW9kdWxlLgogICAqIEBwYXJhbSAgQ29tU3BhY2VUaW1pbmcgQ29tbW9uIHNwYWNlIHRpbWluZyBzdHJ1Y3R1cmUKICAgKiBAcGFyYW0gIEF0dFNwYWNlVGltaW5nIEF0dHJpYnV0ZSBzcGFjZSB0aW1pbmcgc3RydWN0dXJlCi0gICogQHBhcmFtICBJT1NwYWNlVGltaW5nIElPIHNwYWNlIHRpbWluZyBzdHJ1Y3R1cmUgICAgIAorICAqIEBwYXJhbSAgSU9TcGFjZVRpbWluZyBJTyBzcGFjZSB0aW1pbmcgc3RydWN0dXJlCiAgICogQHJldHZhbCBIQUwgc3RhdHVzCiAgICovCi1IQUxfU3RhdHVzVHlwZURlZiBIQUxfUENDQVJEX0luaXQoUENDQVJEX0hhbmRsZVR5cGVEZWYgKmhwY2NhcmQsIEZNQ19OQU5EX1BDQ19UaW1pbmdUeXBlRGVmICpDb21TcGFjZVRpbWluZywgRk1DX05BTkRfUENDX1RpbWluZ1R5cGVEZWYgKkF0dFNwYWNlVGltaW5nLCBGTUNfTkFORF9QQ0NfVGltaW5nVHlwZURlZiAqSU9TcGFjZVRpbWluZykKK0hBTF9TdGF0dXNUeXBlRGVmIEhBTF9QQ0NBUkRfSW5pdChQQ0NBUkRfSGFuZGxlVHlwZURlZiAqaHBjY2FyZCwgRk1DX05BTkRfUENDX1RpbWluZ1R5cGVEZWYgKkNvbVNwYWNlVGltaW5nLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZNQ19OQU5EX1BDQ19UaW1pbmdUeXBlRGVmICpBdHRTcGFjZVRpbWluZywgRk1DX05BTkRfUENDX1RpbWluZ1R5cGVEZWYgKklPU3BhY2VUaW1pbmcpCiB7CiAgIC8qIENoZWNrIHRoZSBQQ0NBUkQgY29udHJvbGxlciBzdGF0ZSAqLwotICBpZihocGNjYXJkID09IE5VTEwpCisgIGlmIChocGNjYXJkID09IE5VTEwpCiAgIHsKLSAgICAgcmV0dXJuIEhBTF9FUlJPUjsKKyAgICByZXR1cm4gSEFMX0VSUk9SOwogICB9Ci0gIAotICBpZihocGNjYXJkLT5TdGF0ZSA9PSBIQUxfUENDQVJEX1NUQVRFX1JFU0VUKQotICB7ICAKKworICBpZiAoaHBjY2FyZC0+U3RhdGUgPT0gSEFMX1BDQ0FSRF9TVEFURV9SRVNFVCkKKyAgewogICAgIC8qIEFsbG9jYXRlIGxvY2sgcmVzb3VyY2UgYW5kIGluaXRpYWxpemUgaXQgKi8KICAgICBocGNjYXJkLT5Mb2NrID0gSEFMX1VOTE9DS0VEOwogI2lmIChVU0VfSEFMX1BDQ0FSRF9SRUdJU1RFUl9DQUxMQkFDS1MgPT0gMSkKLSAgICBpZihocGNjYXJkLT5Nc3BJbml0Q2FsbGJhY2sgPT0gTlVMTCkKKyAgICBpZiAoaHBjY2FyZC0+TXNwSW5pdENhbGxiYWNrID09IE5VTEwpCiAgICAgewogICAgICAgaHBjY2FyZC0+TXNwSW5pdENhbGxiYWNrID0gSEFMX1BDQ0FSRF9Nc3BJbml0OwogICAgIH0KQEAgLTE4NywyOCArMTg5LDI4IEBACiAgICAgSEFMX1BDQ0FSRF9Nc3BJbml0KGhwY2NhcmQpOwogI2VuZGlmCiAgIH0KLSAgCisKICAgLyogSW5pdGlhbGl6ZSB0aGUgUENDQVJEIHN0YXRlICovCi0gIGhwY2NhcmQtPlN0YXRlID0gSEFMX1BDQ0FSRF9TVEFURV9CVVNZOyAgICAKKyAgaHBjY2FyZC0+U3RhdGUgPSBIQUxfUENDQVJEX1NUQVRFX0JVU1k7CiAKICAgLyogSW5pdGlhbGl6ZSBQQ0NBUkQgY29udHJvbCBJbnRlcmZhY2UgKi8KICAgRk1DX1BDQ0FSRF9Jbml0KGhwY2NhcmQtPkluc3RhbmNlLCAmKGhwY2NhcmQtPkluaXQpKTsKLSAgCisKICAgLyogSW5pdCBQQ0NBUkQgY29tbW9uIHNwYWNlIHRpbWluZyBJbnRlcmZhY2UgKi8KICAgRk1DX1BDQ0FSRF9Db21tb25TcGFjZV9UaW1pbmdfSW5pdChocGNjYXJkLT5JbnN0YW5jZSwgQ29tU3BhY2VUaW1pbmcpOwotICAKLSAgLyogSW5pdCBQQ0NBUkQgYXR0cmlidXRlIHNwYWNlIHRpbWluZyBJbnRlcmZhY2UgKi8gIAorCisgIC8qIEluaXQgUENDQVJEIGF0dHJpYnV0ZSBzcGFjZSB0aW1pbmcgSW50ZXJmYWNlICovCiAgIEZNQ19QQ0NBUkRfQXR0cmlidXRlU3BhY2VfVGltaW5nX0luaXQoaHBjY2FyZC0+SW5zdGFuY2UsIEF0dFNwYWNlVGltaW5nKTsKLSAgCi0gIC8qIEluaXQgUENDQVJEIElPIHNwYWNlIHRpbWluZyBJbnRlcmZhY2UgKi8gIAorCisgIC8qIEluaXQgUENDQVJEIElPIHNwYWNlIHRpbWluZyBJbnRlcmZhY2UgKi8KICAgRk1DX1BDQ0FSRF9JT1NwYWNlX1RpbWluZ19Jbml0KGhwY2NhcmQtPkluc3RhbmNlLCBJT1NwYWNlVGltaW5nKTsKLSAgCisKICAgLyogRW5hYmxlIHRoZSBQQ0NBUkQgZGV2aWNlICovCi0gIF9fRk1DX1BDQ0FSRF9FTkFCTEUoaHBjY2FyZC0+SW5zdGFuY2UpOyAKLSAgCisgIF9fRk1DX1BDQ0FSRF9FTkFCTEUoaHBjY2FyZC0+SW5zdGFuY2UpOworCiAgIC8qIFVwZGF0ZSB0aGUgUENDQVJEIHN0YXRlICovCi0gIGhwY2NhcmQtPlN0YXRlID0gSEFMX1BDQ0FSRF9TVEFURV9SRUFEWTsgIAotICAKKyAgaHBjY2FyZC0+U3RhdGUgPSBIQUxfUENDQVJEX1NUQVRFX1JFQURZOworCiAgIHJldHVybiBIQUxfT0s7CiAKIH0KQEAgLTIyMiw3ICsyMjQsNyBAQAogSEFMX1N0YXR1c1R5cGVEZWYgIEhBTF9QQ0NBUkRfRGVJbml0KFBDQ0FSRF9IYW5kbGVUeXBlRGVmICpocGNjYXJkKQogewogI2lmIChVU0VfSEFMX1BDQ0FSRF9SRUdJU1RFUl9DQUxMQkFDS1MgPT0gMSkKLSAgaWYoaHBjY2FyZC0+TXNwRGVJbml0Q2FsbGJhY2sgPT0gTlVMTCkKKyAgaWYgKGhwY2NhcmQtPk1zcERlSW5pdENhbGxiYWNrID09IE5VTEwpCiAgIHsKICAgICBocGNjYXJkLT5Nc3BEZUluaXRDYWxsYmFjayA9IEhBTF9QQ0NBUkRfTXNwRGVJbml0OwogICB9CkBAIC0yMzYsMTQgKzIzOCwxNCBAQAogCiAgIC8qIENvbmZpZ3VyZSB0aGUgUENDQVJEIHJlZ2lzdGVycyB3aXRoIHRoZWlyIHJlc2V0IHZhbHVlcyAqLwogICBGTUNfUENDQVJEX0RlSW5pdChocGNjYXJkLT5JbnN0YW5jZSk7Ci0gIAorCiAgIC8qIFVwZGF0ZSB0aGUgUENDQVJEIGNvbnRyb2xsZXIgc3RhdGUgKi8KICAgaHBjY2FyZC0+U3RhdGUgPSBIQUxfUENDQVJEX1NUQVRFX1JFU0VUOwogCiAgIC8qIFJlbGVhc2UgTG9jayAqLwogICBfX0hBTF9VTkxPQ0soaHBjY2FyZCk7CiAKLSAgcmV0dXJuIEhBTF9PSzsgCisgIHJldHVybiBIQUxfT0s7CiB9CiAKIC8qKgpAQCAtMjU4LDcgKzI2MCw3IEBACiAgIFVOVVNFRChocGNjYXJkKTsKICAgLyogTk9URSA6IFRoaXMgZnVuY3Rpb24gU2hvdWxkIG5vdCBiZSBtb2RpZmllZCwgd2hlbiB0aGUgY2FsbGJhY2sgaXMgbmVlZGVkLAogICAgICAgICAgICAgdGhlIEhBTF9QQ0NBUkRfTXNwSW5pdCBjb3VsZCBiZSBpbXBsZW1lbnRlZCBpbiB0aGUgdXNlciBmaWxlCi0gICAqLyAKKyAgICovCiB9CiAKIC8qKgpAQCAtMjczLDkwICsyNzUsOTAgQEAKICAgVU5VU0VEKGhwY2NhcmQpOwogICAvKiBOT1RFIDogVGhpcyBmdW5jdGlvbiBTaG91bGQgbm90IGJlIG1vZGlmaWVkLCB3aGVuIHRoZSBjYWxsYmFjayBpcyBuZWVkZWQsCiAgICAgICAgICAgICB0aGUgSEFMX1BDQ0FSRF9Nc3BEZUluaXQgY291bGQgYmUgaW1wbGVtZW50ZWQgaW4gdGhlIHVzZXIgZmlsZQotICAgKi8gCisgICAqLwogfQogCiAvKioKICAgKiBAfQogICAqLwogCi0vKiogQGRlZmdyb3VwIFBDQ0FSRF9FeHBvcnRlZF9GdW5jdGlvbnNfR3JvdXAyIElucHV0IGFuZCBPdXRwdXQgZnVuY3Rpb25zIAotICAqIEBicmllZiAgICBJbnB1dCBPdXRwdXQgYW5kIG1lbW9yeSBjb250cm9sIGZ1bmN0aW9ucyAKKy8qKiBAZGVmZ3JvdXAgUENDQVJEX0V4cG9ydGVkX0Z1bmN0aW9uc19Hcm91cDIgSW5wdXQgYW5kIE91dHB1dCBmdW5jdGlvbnMKKyAgKiBAYnJpZWYgICAgSW5wdXQgT3V0cHV0IGFuZCBtZW1vcnkgY29udHJvbCBmdW5jdGlvbnMKICAgKgotICBAdmVyYmF0aW0gICAgCisgIEB2ZXJiYXRpbQogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgICAgICAgICAgICAgICAgICAgIyMjIyMgUENDQVJEIElucHV0IGFuZCBPdXRwdXQgZnVuY3Rpb25zICMjIyMjCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotICBbLi5dICAKKyAgWy4uXQogICAgIFRoaXMgc2VjdGlvbiBwcm92aWRlcyBmdW5jdGlvbnMgYWxsb3dpbmcgdG8gdXNlIGFuZCBjb250cm9sIHRoZSBQQ0NBUkQgbWVtb3J5Ci0gIAorCiBAZW5kdmVyYmF0aW0KICAgKiBAewogICAqLwotICAKKwogLyoqCiAgICogQGJyaWVmICBSZWFkIENvbXBhY3QgRmxhc2gncyBJRC4KICAgKiBAcGFyYW0gIGhwY2NhcmQgcG9pbnRlciB0byBhIFBDQ0FSRF9IYW5kbGVUeXBlRGVmIHN0cnVjdHVyZSB0aGF0IGNvbnRhaW5zCiAgICogICAgICAgICAgICAgICAgdGhlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gZm9yIFBDQ0FSRCBtb2R1bGUuCi0gICogQHBhcmFtICBDb21wYWN0Rmxhc2hfSUQgQ29tcGFjdCBmbGFzaCBJRCBzdHJ1Y3R1cmUuICAKLSAgKiBAcGFyYW0gIHBTdGF0dXMgcG9pbnRlciB0byBjb21wYWN0IGZsYXNoIHN0YXR1cyAgICAgICAgIAorICAqIEBwYXJhbSAgQ29tcGFjdEZsYXNoX0lEIENvbXBhY3QgZmxhc2ggSUQgc3RydWN0dXJlLgorICAqIEBwYXJhbSAgcFN0YXR1cyBwb2ludGVyIHRvIGNvbXBhY3QgZmxhc2ggc3RhdHVzCiAgICogQHJldHZhbCBIQUwgc3RhdHVzCi0gICogICAKLSAgKi8gCisgICoKKyAgKi8KIEhBTF9TdGF0dXNUeXBlRGVmIEhBTF9QQ0NBUkRfUmVhZF9JRChQQ0NBUkRfSGFuZGxlVHlwZURlZiAqaHBjY2FyZCwgdWludDhfdCBDb21wYWN0Rmxhc2hfSURbXSwgdWludDhfdCAqcFN0YXR1cykKIHsKICAgdWludDMyX3QgdGltZW91dCA9IFBDQ0FSRF9USU1FT1VUX1JFQURfSUQsIGluZGV4ID0gMFU7CiAgIHVpbnQ4X3Qgc3RhdHVzID0gMDsKLSAgCisKICAgLyogUHJvY2VzcyBMb2NrZWQgKi8KLSAgX19IQUxfTE9DSyhocGNjYXJkKTsgIAotICAKKyAgX19IQUxfTE9DSyhocGNjYXJkKTsKKwogICAvKiBDaGVjayB0aGUgUENDQVJEIGNvbnRyb2xsZXIgc3RhdGUgKi8KLSAgaWYoaHBjY2FyZC0+U3RhdGUgPT0gSEFMX1BDQ0FSRF9TVEFURV9CVVNZKQorICBpZiAoaHBjY2FyZC0+U3RhdGUgPT0gSEFMX1BDQ0FSRF9TVEFURV9CVVNZKQogICB7Ci0gICAgIHJldHVybiBIQUxfQlVTWTsKKyAgICByZXR1cm4gSEFMX0JVU1k7CiAgIH0KLSAgCisKICAgLyogVXBkYXRlIHRoZSBQQ0NBUkQgY29udHJvbGxlciBzdGF0ZSAqLwogICBocGNjYXJkLT5TdGF0ZSA9IEhBTF9QQ0NBUkRfU1RBVEVfQlVTWTsKLSAgCisKICAgLyogSW5pdGlhbGl6ZSB0aGUgUENDQVJEIHN0YXR1cyAqLwotICAqcFN0YXR1cyA9IFBDQ0FSRF9SRUFEWTsgIAotICAKKyAgKnBTdGF0dXMgPSBQQ0NBUkRfUkVBRFk7CisKICAgLyogU2VuZCB0aGUgSWRlbnRpZnkgQ29tbWFuZCAqLwotICAqKF9fSU8gdWludDE2X3QgKikoUENDQVJEX0lPX1NQQUNFX1BSSU1BUllfQUREUiB8IEFUQV9TVEFUVVNfQ01EKSAgPSAweEVDRUM7Ci0gICAgCisgICooX19JTyB1aW50MTZfdCAqKShQQ0NBUkRfSU9fU1BBQ0VfUFJJTUFSWV9BRERSIHwgQVRBX1NUQVRVU19DTUQpICA9ICh1aW50MTZfdCkweEVDRUM7CisKICAgLyogUmVhZCBQQ0NBUkQgSURzIGFuZCB0aW1lb3V0IHRyZWF0bWVudCAqLwotICBkbyAKKyAgZG8KICAgewotICAgICAvKiBSZWFkIHRoZSBQQ0NBUkQgc3RhdHVzICovCi0gICAgIHN0YXR1cyA9ICooX19JTyB1aW50OF90ICopKFBDQ0FSRF9JT19TUEFDRV9QUklNQVJZX0FERFIgfCBBVEFfU1RBVFVTX0NNRF9BTFRFUk5BVEUpOwotICAgICAKLSAgICAgdGltZW91dC0tOwotICB9d2hpbGUoKHN0YXR1cyAhPSBQQ0NBUkRfU1RBVFVTX09LKSAmJiB0aW1lb3V0KTsgCi0gIAotICBpZih0aW1lb3V0ID09IDBVKQorICAgIC8qIFJlYWQgdGhlIFBDQ0FSRCBzdGF0dXMgKi8KKyAgICBzdGF0dXMgPSAqKF9fSU8gdWludDhfdCAqKShQQ0NBUkRfSU9fU1BBQ0VfUFJJTUFSWV9BRERSIHwgQVRBX1NUQVRVU19DTURfQUxURVJOQVRFKTsKKworICAgIHRpbWVvdXQtLTsKKyAgfSB3aGlsZSAoKHN0YXR1cyAhPSBQQ0NBUkRfU1RBVFVTX09LKSAmJiB0aW1lb3V0KTsKKworICBpZiAodGltZW91dCA9PSAwVSkKICAgewogICAgICpwU3RhdHVzID0gUENDQVJEX1RJTUVPVVRfRVJST1I7CiAgIH0KICAgZWxzZQogICB7Ci0gICAgIC8qIFJlYWQgUENDQVJEIElEIGJ5dGVzICovCi0gICAgZm9yKGluZGV4ID0gMFU7IGluZGV4IDwgMTZVOyBpbmRleCsrKQorICAgIC8qIFJlYWQgUENDQVJEIElEIGJ5dGVzICovCisgICAgZm9yIChpbmRleCA9IDBVOyBpbmRleCA8IDE2VTsgaW5kZXgrKykKICAgICB7CiAgICAgICBDb21wYWN0Rmxhc2hfSURbaW5kZXhdID0gKihfX0lPIHVpbnQ4X3QgKikoUENDQVJEX0lPX1NQQUNFX1BSSU1BUllfQUREUiB8IEFUQV9EQVRBKTsKLSAgICB9ICAgIAorICAgIH0KICAgfQotICAKKwogICAvKiBVcGRhdGUgdGhlIFBDQ0FSRCBjb250cm9sbGVyIHN0YXRlICovCiAgIGhwY2NhcmQtPlN0YXRlID0gSEFMX1BDQ0FSRF9TVEFURV9SRUFEWTsKLSAgCisKICAgLyogUHJvY2VzcyB1bmxvY2tlZCAqLwotICBfX0hBTF9VTkxPQ0soaHBjY2FyZCk7ICAKLSAgCisgIF9fSEFMX1VOTE9DSyhocGNjYXJkKTsKKwogICByZXR1cm4gSEFMX09LOwogfQotICAgCisKIC8qKgogICAqIEBicmllZiAgUmVhZCBzZWN0b3IgZnJvbSBQQ0NBUkQgbWVtb3J5CiAgICogQHBhcmFtICBocGNjYXJkIHBvaW50ZXIgdG8gYSBQQ0NBUkRfSGFuZGxlVHlwZURlZiBzdHJ1Y3R1cmUgdGhhdCBjb250YWlucwpAQCAtMzY1LDIxICszNjcsMjIgQEAKICAgKiBAcGFyYW0gIFNlY3RvckFkZHJlc3MgU2VjdG9yIGFkZHJlc3MgdG8gcmVhZAogICAqIEBwYXJhbSAgcFN0YXR1cyBwb2ludGVyIHRvIFBDQ0FSRCBzdGF0dXMKICAgKiBAcmV0dmFsIEhBTCBzdGF0dXMKLSAgKi8gICAgCi1IQUxfU3RhdHVzVHlwZURlZiBIQUxfUENDQVJEX1JlYWRfU2VjdG9yKFBDQ0FSRF9IYW5kbGVUeXBlRGVmICpocGNjYXJkLCB1aW50MTZfdCAqcEJ1ZmZlciwgdWludDE2X3QgU2VjdG9yQWRkcmVzcywgdWludDhfdCAqcFN0YXR1cykKKyAgKi8KK0hBTF9TdGF0dXNUeXBlRGVmIEhBTF9QQ0NBUkRfUmVhZF9TZWN0b3IoUENDQVJEX0hhbmRsZVR5cGVEZWYgKmhwY2NhcmQsIHVpbnQxNl90ICpwQnVmZmVyLCB1aW50MTZfdCBTZWN0b3JBZGRyZXNzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90ICpwU3RhdHVzKQogewogICB1aW50MzJfdCB0aW1lb3V0ID0gUENDQVJEX1RJTUVPVVRfUkVBRF9XUklURV9TRUNUT1IsIGluZGV4ID0gMFU7CiAgIHVpbnQ4X3Qgc3RhdHVzID0gMDsKIAogICAvKiBQcm9jZXNzIExvY2tlZCAqLwogICBfX0hBTF9MT0NLKGhwY2NhcmQpOwotICAKKwogICAvKiBDaGVjayB0aGUgUENDQVJEIGNvbnRyb2xsZXIgc3RhdGUgKi8KLSAgaWYoaHBjY2FyZC0+U3RhdGUgPT0gSEFMX1BDQ0FSRF9TVEFURV9CVVNZKQorICBpZiAoaHBjY2FyZC0+U3RhdGUgPT0gSEFMX1BDQ0FSRF9TVEFURV9CVVNZKQogICB7Ci0gICAgIHJldHVybiBIQUxfQlVTWTsKKyAgICByZXR1cm4gSEFMX0JVU1k7CiAgIH0KLSAgCisKICAgLyogVXBkYXRlIHRoZSBQQ0NBUkQgY29udHJvbGxlciBzdGF0ZSAqLwogICBocGNjYXJkLT5TdGF0ZSA9IEhBTF9QQ0NBUkRfU1RBVEVfQlVTWTsKIApAQCAtMzg3LDIyICszOTAsMjIgQEAKICAgKnBTdGF0dXMgPSBQQ0NBUkRfUkVBRFk7CiAKICAgLyogU2V0IHRoZSBwYXJhbWV0ZXJzIHRvIHdyaXRlIGEgc2VjdG9yICovCi0gICooX19JTyB1aW50MTZfdCAqKShQQ0NBUkRfSU9fU1BBQ0VfUFJJTUFSWV9BRERSIHwgQVRBX0NZTElOREVSX0hJR0gpID0gKHVpbnQxNl90KTB4MDA7CisgICooX19JTyB1aW50MTZfdCAqKShQQ0NBUkRfSU9fU1BBQ0VfUFJJTUFSWV9BRERSIHwgQVRBX0NZTElOREVSX0hJR0gpID0gKHVpbnQxNl90KTB4MDAwMDsKICAgKihfX0lPIHVpbnQxNl90ICopKFBDQ0FSRF9JT19TUEFDRV9QUklNQVJZX0FERFIgfCBBVEFfU0VDVE9SX0NPVU5UKSAgPSAoKHVpbnQxNl90KTB4MDEwMCkgfCAoKHVpbnQxNl90KVNlY3RvckFkZHJlc3MpOwotICAqKF9fSU8gdWludDE2X3QgKikoUENDQVJEX0lPX1NQQUNFX1BSSU1BUllfQUREUiB8IEFUQV9TVEFUVVNfQ01EKSAgICA9ICh1aW50MTZfdCkweEU0QTA7ICAKKyAgKihfX0lPIHVpbnQxNl90ICopKFBDQ0FSRF9JT19TUEFDRV9QUklNQVJZX0FERFIgfCBBVEFfU1RBVFVTX0NNRCkgICAgPSAodWludDE2X3QpMHhFNEEwOwogCiAgIGRvCiAgIHsKICAgICAvKiB3YWl0IHRpbGwgdGhlIFN0YXR1cyA9IDB4ODAgKi8KICAgICBzdGF0dXMgPSAgKihfX0lPIHVpbnQxNl90ICopKFBDQ0FSRF9JT19TUEFDRV9QUklNQVJZX0FERFIgfCBBVEFfU1RBVFVTX0NNRF9BTFRFUk5BVEUpOwogICAgIHRpbWVvdXQtLTsKLSAgfXdoaWxlKChzdGF0dXMgPT0gMHg4MCkgJiYgdGltZW91dCk7Ci0gIAotICBpZih0aW1lb3V0ID09IDBVKQorICB9IHdoaWxlICgoc3RhdHVzID09IDB4ODBVKSAmJiB0aW1lb3V0KTsKKworICBpZiAodGltZW91dCA9PSAwVSkKICAgewogICAgICpwU3RhdHVzID0gUENDQVJEX1RJTUVPVVRfRVJST1I7CiAgIH0KLSAgCisKICAgdGltZW91dCA9IFBDQ0FSRF9USU1FT1VUX1JFQURfV1JJVEVfU0VDVE9SOwogCiAgIGRvCkBAIC00MTAsMjUgKzQxMywyNSBAQAogICAgIC8qIHdhaXQgdGlsbCB0aGUgU3RhdHVzID0gUENDQVJEX1NUQVRVU19PSyAqLwogICAgIHN0YXR1cyA9ICAqKF9fSU8gdWludDE2X3QgKikoUENDQVJEX0lPX1NQQUNFX1BSSU1BUllfQUREUiB8IEFUQV9TVEFUVVNfQ01EX0FMVEVSTkFURSk7CiAgICAgdGltZW91dC0tOwotICB9d2hpbGUoKHN0YXR1cyAhPSBQQ0NBUkRfU1RBVFVTX09LKSAmJiB0aW1lb3V0KTsKLSAgCi0gIGlmKHRpbWVvdXQgPT0gMFUpCisgIH0gd2hpbGUgKChzdGF0dXMgIT0gUENDQVJEX1NUQVRVU19PSykgJiYgdGltZW91dCk7CisKKyAgaWYgKHRpbWVvdXQgPT0gMFUpCiAgIHsKICAgICAqcFN0YXR1cyA9IFBDQ0FSRF9USU1FT1VUX0VSUk9SOwogICB9Ci0gIAorCiAgIC8qIFJlYWQgYnl0ZXMgKi8KLSAgZm9yKDsgaW5kZXggPCBQQ0NBUkRfU0VDVE9SX1NJWkU7IGluZGV4KyspCisgIGZvciAoOyBpbmRleCA8IFBDQ0FSRF9TRUNUT1JfU0laRTsgaW5kZXgrKykKICAgewogICAgICoodWludDE2X3QgKilwQnVmZmVyKysgPSAqKHVpbnQxNl90ICopKFBDQ0FSRF9JT19TUEFDRV9QUklNQVJZX0FERFIpOwotICB9IAorICB9CiAKICAgLyogVXBkYXRlIHRoZSBQQ0NBUkQgY29udHJvbGxlciBzdGF0ZSAqLwogICBocGNjYXJkLT5TdGF0ZSA9IEhBTF9QQ0NBUkRfU1RBVEVfUkVBRFk7Ci0gIAorCiAgIC8qIFByb2Nlc3MgdW5sb2NrZWQgKi8KICAgX19IQUxfVU5MT0NLKGhwY2NhcmQpOwotICAgICAgCisKICAgcmV0dXJuIEhBTF9PSzsKIH0KIApAQCAtNDQyLDQ1ICs0NDUsNDYgQEAKICAgKiBAcGFyYW0gIHBTdGF0dXMgcG9pbnRlciB0byBQQ0NBUkQgc3RhdHVzCiAgICogQHJldHZhbCBIQUwgc3RhdHVzCiAgICovCi1IQUxfU3RhdHVzVHlwZURlZiBIQUxfUENDQVJEX1dyaXRlX1NlY3RvcihQQ0NBUkRfSGFuZGxlVHlwZURlZiAqaHBjY2FyZCwgdWludDE2X3QgKnBCdWZmZXIsIHVpbnQxNl90IFNlY3RvckFkZHJlc3MsICB1aW50OF90ICpwU3RhdHVzKQorSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1BDQ0FSRF9Xcml0ZV9TZWN0b3IoUENDQVJEX0hhbmRsZVR5cGVEZWYgKmhwY2NhcmQsIHVpbnQxNl90ICpwQnVmZmVyLCB1aW50MTZfdCBTZWN0b3JBZGRyZXNzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDhfdCAqcFN0YXR1cykKIHsKICAgdWludDMyX3QgdGltZW91dCA9IFBDQ0FSRF9USU1FT1VUX1JFQURfV1JJVEVfU0VDVE9SLCBpbmRleCA9IDBVOwogICB1aW50OF90IHN0YXR1cyA9IDA7CiAKICAgLyogUHJvY2VzcyBMb2NrZWQgKi8KLSAgX19IQUxfTE9DSyhocGNjYXJkKTsgIAotICAKKyAgX19IQUxfTE9DSyhocGNjYXJkKTsKKwogICAvKiBDaGVjayB0aGUgUENDQVJEIGNvbnRyb2xsZXIgc3RhdGUgKi8KLSAgaWYoaHBjY2FyZC0+U3RhdGUgPT0gSEFMX1BDQ0FSRF9TVEFURV9CVVNZKQorICBpZiAoaHBjY2FyZC0+U3RhdGUgPT0gSEFMX1BDQ0FSRF9TVEFURV9CVVNZKQogICB7Ci0gICAgIHJldHVybiBIQUxfQlVTWTsKKyAgICByZXR1cm4gSEFMX0JVU1k7CiAgIH0KLSAgIAorCiAgIC8qIFVwZGF0ZSB0aGUgUENDQVJEIGNvbnRyb2xsZXIgc3RhdGUgKi8KICAgaHBjY2FyZC0+U3RhdGUgPSBIQUxfUENDQVJEX1NUQVRFX0JVU1k7Ci0gICAgCisKICAgLyogSW5pdGlhbGl6ZSBQQ0NBUkQgc3RhdHVzICovCi0gICpwU3RhdHVzID0gUENDQVJEX1JFQURZOyAgCi0gICAgCisgICpwU3RhdHVzID0gUENDQVJEX1JFQURZOworCiAgIC8qIFNldCB0aGUgcGFyYW1ldGVycyB0byB3cml0ZSBhIHNlY3RvciAqLwotICAqKF9fSU8gdWludDE2X3QgKikoUENDQVJEX0lPX1NQQUNFX1BSSU1BUllfQUREUiB8IEFUQV9DWUxJTkRFUl9ISUdIKSA9ICh1aW50MTZfdCkweDAwOworICAqKF9fSU8gdWludDE2X3QgKikoUENDQVJEX0lPX1NQQUNFX1BSSU1BUllfQUREUiB8IEFUQV9DWUxJTkRFUl9ISUdIKSA9ICh1aW50MTZfdCkweDAwMDA7CiAgICooX19JTyB1aW50MTZfdCAqKShQQ0NBUkRfSU9fU1BBQ0VfUFJJTUFSWV9BRERSIHwgQVRBX1NFQ1RPUl9DT1VOVCkgID0gKCh1aW50MTZfdCkweDAxMDApIHwgKCh1aW50MTZfdClTZWN0b3JBZGRyZXNzKTsKICAgKihfX0lPIHVpbnQxNl90ICopKFBDQ0FSRF9JT19TUEFDRV9QUklNQVJZX0FERFIgfCBBVEFfU1RBVFVTX0NNRCkgICAgPSAodWludDE2X3QpMHgzMEEwOwotICAKKwogICBkbwogICB7CiAgICAgLyogV2FpdCB0aWxsIHRoZSBTdGF0dXMgPSBQQ0NBUkRfU1RBVFVTX09LICovCiAgICAgc3RhdHVzID0gICooX19JTyB1aW50OF90ICopKFBDQ0FSRF9JT19TUEFDRV9QUklNQVJZX0FERFIgfCBBVEFfU1RBVFVTX0NNRF9BTFRFUk5BVEUpOwogICAgIHRpbWVvdXQtLTsKLSAgfXdoaWxlKChzdGF0dXMgIT0gUENDQVJEX1NUQVRVU19PSykgJiYgdGltZW91dCk7Ci0gIAotICBpZih0aW1lb3V0ID09IDBVKQorICB9IHdoaWxlICgoc3RhdHVzICE9IFBDQ0FSRF9TVEFUVVNfT0spICYmIHRpbWVvdXQpOworCisgIGlmICh0aW1lb3V0ID09IDBVKQogICB7CiAgICAgKnBTdGF0dXMgPSBQQ0NBUkRfVElNRU9VVF9FUlJPUjsKICAgfQotICAKKwogICAvKiBXcml0ZSBieXRlcyAqLwotICBmb3IoOyBpbmRleCA8IFBDQ0FSRF9TRUNUT1JfU0laRTsgaW5kZXgrKykKKyAgZm9yICg7IGluZGV4IDwgUENDQVJEX1NFQ1RPUl9TSVpFOyBpbmRleCsrKQogICB7CiAgICAgKih1aW50MTZfdCAqKShQQ0NBUkRfSU9fU1BBQ0VfUFJJTUFSWV9BRERSKSA9ICoodWludDE2X3QgKilwQnVmZmVyKys7CiAgIH0KQEAgLTQ5MCwyNSArNDk0LDI1IEBACiAgICAgLyogV2FpdCB0aWxsIHRoZSBTdGF0dXMgPSBQQ0NBUkRfU1RBVFVTX1dSSVRFX09LICovCiAgICAgc3RhdHVzID0gICooX19JTyB1aW50OF90ICopKFBDQ0FSRF9JT19TUEFDRV9QUklNQVJZX0FERFIgfCBBVEFfU1RBVFVTX0NNRF9BTFRFUk5BVEUpOwogICAgIHRpbWVvdXQtLTsKLSAgfXdoaWxlKChzdGF0dXMgIT0gUENDQVJEX1NUQVRVU19XUklURV9PSykgJiYgdGltZW91dCk7CisgIH0gd2hpbGUgKChzdGF0dXMgIT0gUENDQVJEX1NUQVRVU19XUklURV9PSykgJiYgdGltZW91dCk7CiAKLSAgaWYodGltZW91dCA9PSAwVSkKKyAgaWYgKHRpbWVvdXQgPT0gMFUpCiAgIHsKICAgICAqcFN0YXR1cyA9IFBDQ0FSRF9USU1FT1VUX0VSUk9SOwotICB9ICAKKyAgfQogCiAgIC8qIFVwZGF0ZSB0aGUgUENDQVJEIGNvbnRyb2xsZXIgc3RhdGUgKi8KICAgaHBjY2FyZC0+U3RhdGUgPSBIQUxfUENDQVJEX1NUQVRFX1JFQURZOwotICAKKwogICAvKiBQcm9jZXNzIHVubG9ja2VkICovCi0gIF9fSEFMX1VOTE9DSyhocGNjYXJkKTsgIAotICAKKyAgX19IQUxfVU5MT0NLKGhwY2NhcmQpOworCiAgIHJldHVybiBIQUxfT0s7CiB9CiAKIAogLyoqCi0gICogQGJyaWVmICBFcmFzZSBzZWN0b3IgZnJvbSBQQ0NBUkQgbWVtb3J5IAorICAqIEBicmllZiAgRXJhc2Ugc2VjdG9yIGZyb20gUENDQVJEIG1lbW9yeQogICAqIEBwYXJhbSAgaHBjY2FyZCBwb2ludGVyIHRvIGEgUENDQVJEX0hhbmRsZVR5cGVEZWYgc3RydWN0dXJlIHRoYXQgY29udGFpbnMKICAgKiAgICAgICAgICAgICAgICB0aGUgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbiBmb3IgUENDQVJEIG1vZHVsZS4KICAgKiBAcGFyYW0gIFNlY3RvckFkZHJlc3MgU2VjdG9yIGFkZHJlc3MgdG8gZXJhc2UKQEAgLTUxOSwyMiArNTIzLDIyIEBACiB7CiAgIHVpbnQzMl90IHRpbWVvdXQgPSBQQ0NBUkRfVElNRU9VVF9FUkFTRV9TRUNUT1I7CiAgIHVpbnQ4X3Qgc3RhdHVzID0gMDsKLSAgCisKICAgLyogUHJvY2VzcyBMb2NrZWQgKi8KLSAgX19IQUxfTE9DSyhocGNjYXJkKTsgIAotICAKKyAgX19IQUxfTE9DSyhocGNjYXJkKTsKKwogICAvKiBDaGVjayB0aGUgUENDQVJEIGNvbnRyb2xsZXIgc3RhdGUgKi8KLSAgaWYoaHBjY2FyZC0+U3RhdGUgPT0gSEFMX1BDQ0FSRF9TVEFURV9CVVNZKQorICBpZiAoaHBjY2FyZC0+U3RhdGUgPT0gSEFMX1BDQ0FSRF9TVEFURV9CVVNZKQogICB7Ci0gICAgIHJldHVybiBIQUxfQlVTWTsKKyAgICByZXR1cm4gSEFMX0JVU1k7CiAgIH0KIAogICAvKiBVcGRhdGUgdGhlIFBDQ0FSRCBjb250cm9sbGVyIHN0YXRlICovCiAgIGhwY2NhcmQtPlN0YXRlID0gSEFMX1BDQ0FSRF9TVEFURV9CVVNZOwotICAKLSAgLyogSW5pdGlhbGl6ZSBQQ0NBUkQgc3RhdHVzICovIAorCisgIC8qIEluaXRpYWxpemUgUENDQVJEIHN0YXR1cyAqLwogICAqcFN0YXR1cyA9IFBDQ0FSRF9SRUFEWTsKLSAgICAKKwogICAvKiBTZXQgdGhlIHBhcmFtZXRlcnMgdG8gd3JpdGUgYSBzZWN0b3IgKi8KICAgKihfX0lPIHVpbnQ4X3QgKikoUENDQVJEX0lPX1NQQUNFX1BSSU1BUllfQUREUiB8IEFUQV9DWUxJTkRFUl9MT1cpICA9IDB4MDA7CiAgICooX19JTyB1aW50OF90ICopKFBDQ0FSRF9JT19TUEFDRV9QUklNQVJZX0FERFIgfCBBVEFfQ1lMSU5ERVJfSElHSCkgPSAweDAwOwpAQCAtNTQyLDMyICs1NDYsMzIgQEAKICAgKihfX0lPIHVpbnQ4X3QgKikoUENDQVJEX0lPX1NQQUNFX1BSSU1BUllfQUREUiB8IEFUQV9TRUNUT1JfQ09VTlQpICA9IDB4MDE7CiAgICooX19JTyB1aW50OF90ICopKFBDQ0FSRF9JT19TUEFDRV9QUklNQVJZX0FERFIgfCBBVEFfQ0FSRF9IRUFEKSAgICAgPSAweEEwOwogICAqKF9fSU8gdWludDhfdCAqKShQQ0NBUkRfSU9fU1BBQ0VfUFJJTUFSWV9BRERSIHwgQVRBX1NUQVRVU19DTUQpICAgID0gQVRBX0VSQVNFX1NFQ1RPUl9DTUQ7Ci0gIAorCiAgIC8qIHdhaXQgdGlsbCB0aGUgUENDQVJEIGlzIHJlYWR5ICovCiAgIHN0YXR1cyA9ICAqKF9fSU8gdWludDhfdCAqKShQQ0NBUkRfSU9fU1BBQ0VfUFJJTUFSWV9BRERSIHwgQVRBX1NUQVRVU19DTURfQUxURVJOQVRFKTsKLSAgCi0gIHdoaWxlKChzdGF0dXMgIT0gUENDQVJEX1NUQVRVU19XUklURV9PSykgJiYgdGltZW91dCkKKworICB3aGlsZSAoKHN0YXR1cyAhPSBQQ0NBUkRfU1RBVFVTX1dSSVRFX09LKSAmJiB0aW1lb3V0KQogICB7CiAgICAgc3RhdHVzID0gICooX19JTyB1aW50OF90ICopKFBDQ0FSRF9JT19TUEFDRV9QUklNQVJZX0FERFIgfCBBVEFfU1RBVFVTX0NNRF9BTFRFUk5BVEUpOwogICAgIHRpbWVvdXQtLTsKLSAgfSAKLSAgCi0gIGlmKHRpbWVvdXQgPT0gMFUpCisgIH0KKworICBpZiAodGltZW91dCA9PSAwVSkKICAgewogICAgICpwU3RhdHVzID0gUENDQVJEX1RJTUVPVVRfRVJST1I7CiAgIH0KLSAgCisKICAgLyogQ2hlY2sgdGhlIFBDQ0FSRCBjb250cm9sbGVyIHN0YXRlICovCiAgIGhwY2NhcmQtPlN0YXRlID0gSEFMX1BDQ0FSRF9TVEFURV9SRUFEWTsKLSAgCisKICAgLyogUHJvY2VzcyB1bmxvY2tlZCAqLwotICBfX0hBTF9VTkxPQ0soaHBjY2FyZCk7ICAgCi0gIAorICBfX0hBTF9VTkxPQ0soaHBjY2FyZCk7CisKICAgcmV0dXJuIEhBTF9PSzsKIH0KIAogLyoqCi0gICogQGJyaWVmICBSZXNldCB0aGUgUENDQVJEIG1lbW9yeSAKKyAgKiBAYnJpZWYgIFJlc2V0IHRoZSBQQ0NBUkQgbWVtb3J5CiAgICogQHBhcmFtICBocGNjYXJkIHBvaW50ZXIgdG8gYSBQQ0NBUkRfSGFuZGxlVHlwZURlZiBzdHJ1Y3R1cmUgdGhhdCBjb250YWlucwogICAqICAgICAgICAgICAgICAgIHRoZSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIGZvciBQQ0NBUkQgbW9kdWxlLgogICAqIEByZXR2YWwgSEFMIHN0YXR1cwpAQCAtNTc1LDEyICs1NzksMTIgQEAKIEhBTF9TdGF0dXNUeXBlRGVmIEhBTF9QQ0NBUkRfUmVzZXQoUENDQVJEX0hhbmRsZVR5cGVEZWYgKmhwY2NhcmQpCiB7CiAgIC8qIFByb2Nlc3MgTG9ja2VkICovCi0gIF9fSEFMX0xPQ0soaHBjY2FyZCk7ICAKLSAgCisgIF9fSEFMX0xPQ0soaHBjY2FyZCk7CisKICAgLyogQ2hlY2sgdGhlIFBDQ0FSRCBjb250cm9sbGVyIHN0YXRlICovCi0gIGlmKGhwY2NhcmQtPlN0YXRlID09IEhBTF9QQ0NBUkRfU1RBVEVfQlVTWSkKKyAgaWYgKGhwY2NhcmQtPlN0YXRlID09IEhBTF9QQ0NBUkRfU1RBVEVfQlVTWSkKICAgewotICAgICByZXR1cm4gSEFMX0JVU1k7CisgICAgcmV0dXJuIEhBTF9CVVNZOwogICB9CiAKICAgLyogUHJvdmlkZSBhIFNXIHJlc2V0IGFuZCBSZWFkIGFuZCB2ZXJpZnkgdGhlOgpAQCAtNTkyLDE1ICs1OTYsMTUgQEAKIAogICAvKiBDaGVjayB0aGUgUENDQVJEIGNvbnRyb2xsZXIgc3RhdGUgKi8KICAgaHBjY2FyZC0+U3RhdGUgPSBIQUxfUENDQVJEX1NUQVRFX0JVU1k7Ci0gIAotICAqKF9fSU8gdWludDhfdCAqKShQQ0NBUkRfQVRUUklCVVRFX1NQQUNFX0FERFJFU1MgfCBBVEFfQ0FSRF9DT05GSUdVUkFUSU9OICkgPSAweDAxOwotICAgIAorCisgICooX19JTyB1aW50OF90ICopKFBDQ0FSRF9BVFRSSUJVVEVfU1BBQ0VfQUREUkVTUyB8IEFUQV9DQVJEX0NPTkZJR1VSQVRJT04pID0gMHgwMTsKKwogICAvKiBDaGVjayB0aGUgUENDQVJEIGNvbnRyb2xsZXIgc3RhdGUgKi8KICAgaHBjY2FyZC0+U3RhdGUgPSBIQUxfUENDQVJEX1NUQVRFX1JFQURZOwotICAKKwogICAvKiBQcm9jZXNzIHVubG9ja2VkICovCi0gIF9fSEFMX1VOTE9DSyhocGNjYXJkKTsgIAotICAKKyAgX19IQUxfVU5MT0NLKGhwY2NhcmQpOworCiAgIHJldHVybiBIQUxfT0s7CiB9CiAKQEAgLTYwOSwxMSArNjEzLDExIEBACiAgICogQHBhcmFtICBocGNjYXJkIHBvaW50ZXIgdG8gYSBQQ0NBUkRfSGFuZGxlVHlwZURlZiBzdHJ1Y3R1cmUgdGhhdCBjb250YWlucwogICAqICAgICAgICAgICAgICAgIHRoZSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIGZvciBQQ0NBUkQgbW9kdWxlLgogICAqIEByZXR2YWwgSEFMIHN0YXR1cwotKi8KKyAgKi8KIHZvaWQgSEFMX1BDQ0FSRF9JUlFIYW5kbGVyKFBDQ0FSRF9IYW5kbGVUeXBlRGVmICpocGNjYXJkKQogewogICAvKiBDaGVjayBQQ0NBUkQgaW50ZXJydXB0IFJpc2luZyBlZGdlIGZsYWcgKi8KLSAgaWYoX19GTUNfUENDQVJEX0dFVF9GTEFHKGhwY2NhcmQtPkluc3RhbmNlLCBGTUNfRkxBR19SSVNJTkdfRURHRSkpCisgIGlmIChfX0ZNQ19QQ0NBUkRfR0VUX0ZMQUcoaHBjY2FyZC0+SW5zdGFuY2UsIEZNQ19GTEFHX1JJU0lOR19FREdFKSkKICAgewogICAgIC8qIFBDQ0FSRCBpbnRlcnJ1cHQgY2FsbGJhY2sqLwogI2lmIChVU0VfSEFMX1BDQ0FSRF9SRUdJU1RFUl9DQUxMQkFDS1MgPT0gMSkKQEAgLTYyNSw5ICs2MjksOSBAQAogICAgIC8qIENsZWFyIFBDQ0FSRCBpbnRlcnJ1cHQgUmlzaW5nIGVkZ2UgcGVuZGluZyBiaXQgKi8KICAgICBfX0ZNQ19QQ0NBUkRfQ0xFQVJfRkxBRyhocGNjYXJkLT5JbnN0YW5jZSwgRk1DX0ZMQUdfUklTSU5HX0VER0UpOwogICB9Ci0gIAorCiAgIC8qIENoZWNrIFBDQ0FSRCBpbnRlcnJ1cHQgTGV2ZWwgZmxhZyAqLwotICBpZihfX0ZNQ19QQ0NBUkRfR0VUX0ZMQUcoaHBjY2FyZC0+SW5zdGFuY2UsIEZNQ19GTEFHX0xFVkVMKSkKKyAgaWYgKF9fRk1DX1BDQ0FSRF9HRVRfRkxBRyhocGNjYXJkLT5JbnN0YW5jZSwgRk1DX0ZMQUdfTEVWRUwpKQogICB7CiAgICAgLyogUENDQVJEIGludGVycnVwdCBjYWxsYmFjayovCiAjaWYgKFVTRV9IQUxfUENDQVJEX1JFR0lTVEVSX0NBTExCQUNLUyA9PSAxKQpAQCAtNjQxLDcgKzY0NSw3IEBACiAgIH0KIAogICAvKiBDaGVjayBQQ0NBUkQgaW50ZXJydXB0IEZhbGxpbmcgZWRnZSBmbGFnICovCi0gIGlmKF9fRk1DX1BDQ0FSRF9HRVRfRkxBRyhocGNjYXJkLT5JbnN0YW5jZSwgRk1DX0ZMQUdfRkFMTElOR19FREdFKSkKKyAgaWYgKF9fRk1DX1BDQ0FSRF9HRVRfRkxBRyhocGNjYXJkLT5JbnN0YW5jZSwgRk1DX0ZMQUdfRkFMTElOR19FREdFKSkKICAgewogICAgIC8qIFBDQ0FSRCBpbnRlcnJ1cHQgY2FsbGJhY2sqLwogI2lmIChVU0VfSEFMX1BDQ0FSRF9SRUdJU1RFUl9DQUxMQkFDS1MgPT0gMSkKQEAgLTY1Myw5ICs2NTcsOSBAQAogICAgIC8qIENsZWFyIFBDQ0FSRCBpbnRlcnJ1cHQgRmFsbGluZyBlZGdlIHBlbmRpbmcgYml0ICovCiAgICAgX19GTUNfUENDQVJEX0NMRUFSX0ZMQUcoaHBjY2FyZC0+SW5zdGFuY2UsIEZNQ19GTEFHX0ZBTExJTkdfRURHRSk7CiAgIH0KLSAgCisKICAgLyogQ2hlY2sgUENDQVJEIGludGVycnVwdCBGSUZPIGVtcHR5IGZsYWcgKi8KLSAgaWYoX19GTUNfUENDQVJEX0dFVF9GTEFHKGhwY2NhcmQtPkluc3RhbmNlLCBGTUNfRkxBR19GRU1QVCkpCisgIGlmIChfX0ZNQ19QQ0NBUkRfR0VUX0ZMQUcoaHBjY2FyZC0+SW5zdGFuY2UsIEZNQ19GTEFHX0ZFTVBUKSkKICAgewogICAgIC8qIFBDQ0FSRCBpbnRlcnJ1cHQgY2FsbGJhY2sqLwogI2lmIChVU0VfSEFMX1BDQ0FSRF9SRUdJU1RFUl9DQUxMQkFDS1MgPT0gMSkKQEAgLTY2Niw3ICs2NzAsNyBAQAogCiAgICAgLyogQ2xlYXIgUENDQVJEIGludGVycnVwdCBGSUZPIGVtcHR5IHBlbmRpbmcgYml0ICovCiAgICAgX19GTUNfUENDQVJEX0NMRUFSX0ZMQUcoaHBjY2FyZC0+SW5zdGFuY2UsIEZNQ19GTEFHX0ZFTVBUKTsKLSAgfSAgCisgIH0KIH0KIAogLyoqCkBAIC02OTcsMTEgKzcwMSwxMiBAQAogICAqIEBwYXJhbSBwQ2FsbGJhY2sgOiBwb2ludGVyIHRvIHRoZSBDYWxsYmFjayBmdW5jdGlvbgogICAqIEByZXR2YWwgc3RhdHVzCiAgICovCi1IQUxfU3RhdHVzVHlwZURlZiBIQUxfUENDQVJEX1JlZ2lzdGVyQ2FsbGJhY2sgKFBDQ0FSRF9IYW5kbGVUeXBlRGVmICpocGNjYXJkLCBIQUxfUENDQVJEX0NhbGxiYWNrSURUeXBlRGVmIENhbGxiYWNrSWQsIHBQQ0NBUkRfQ2FsbGJhY2tUeXBlRGVmIHBDYWxsYmFjaykKK0hBTF9TdGF0dXNUeXBlRGVmIEhBTF9QQ0NBUkRfUmVnaXN0ZXJDYWxsYmFjayhQQ0NBUkRfSGFuZGxlVHlwZURlZiAqaHBjY2FyZCwgSEFMX1BDQ0FSRF9DYWxsYmFja0lEVHlwZURlZiBDYWxsYmFja0lkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBQQ0NBUkRfQ2FsbGJhY2tUeXBlRGVmIHBDYWxsYmFjaykKIHsKICAgSEFMX1N0YXR1c1R5cGVEZWYgc3RhdHVzID0gSEFMX09LOwogCi0gIGlmKHBDYWxsYmFjayA9PSBOVUxMKQorICBpZiAocENhbGxiYWNrID09IE5VTEwpCiAgIHsKICAgICByZXR1cm4gSEFMX0VSUk9SOwogICB9CkBAIC03MDksMzkgKzcxNCwzOSBAQAogICAvKiBQcm9jZXNzIGxvY2tlZCAqLwogICBfX0hBTF9MT0NLKGhwY2NhcmQpOwogCi0gIGlmKGhwY2NhcmQtPlN0YXRlID09IEhBTF9QQ0NBUkRfU1RBVEVfUkVBRFkpCisgIGlmIChocGNjYXJkLT5TdGF0ZSA9PSBIQUxfUENDQVJEX1NUQVRFX1JFQURZKQogICB7CiAgICAgc3dpdGNoIChDYWxsYmFja0lkKQogICAgIHsKLSAgICBjYXNlIEhBTF9QQ0NBUkRfTVNQX0lOSVRfQ0JfSUQgOgotICAgICAgaHBjY2FyZC0+TXNwSW5pdENhbGxiYWNrID0gcENhbGxiYWNrOwotICAgICAgYnJlYWs7Ci0gICAgY2FzZSBIQUxfUENDQVJEX01TUF9ERUlOSVRfQ0JfSUQgOgotICAgICAgaHBjY2FyZC0+TXNwRGVJbml0Q2FsbGJhY2sgPSBwQ2FsbGJhY2s7Ci0gICAgICBicmVhazsKLSAgICBjYXNlIEhBTF9QQ0NBUkRfSVRfQ0JfSUQgOgotICAgICAgaHBjY2FyZC0+SXRDYWxsYmFjayA9IHBDYWxsYmFjazsKLSAgICAgIGJyZWFrOwotICAgIGRlZmF1bHQgOgotICAgICAgLyogdXBkYXRlIHJldHVybiBzdGF0dXMgKi8KLSAgICAgIHN0YXR1cyA9ICBIQUxfRVJST1I7Ci0gICAgICBicmVhazsKKyAgICAgIGNhc2UgSEFMX1BDQ0FSRF9NU1BfSU5JVF9DQl9JRCA6CisgICAgICAgIGhwY2NhcmQtPk1zcEluaXRDYWxsYmFjayA9IHBDYWxsYmFjazsKKyAgICAgICAgYnJlYWs7CisgICAgICBjYXNlIEhBTF9QQ0NBUkRfTVNQX0RFSU5JVF9DQl9JRCA6CisgICAgICAgIGhwY2NhcmQtPk1zcERlSW5pdENhbGxiYWNrID0gcENhbGxiYWNrOworICAgICAgICBicmVhazsKKyAgICAgIGNhc2UgSEFMX1BDQ0FSRF9JVF9DQl9JRCA6CisgICAgICAgIGhwY2NhcmQtPkl0Q2FsbGJhY2sgPSBwQ2FsbGJhY2s7CisgICAgICAgIGJyZWFrOworICAgICAgZGVmYXVsdCA6CisgICAgICAgIC8qIHVwZGF0ZSByZXR1cm4gc3RhdHVzICovCisgICAgICAgIHN0YXR1cyA9ICBIQUxfRVJST1I7CisgICAgICAgIGJyZWFrOwogICAgIH0KICAgfQotICBlbHNlIGlmKGhwY2NhcmQtPlN0YXRlID09IEhBTF9QQ0NBUkRfU1RBVEVfUkVTRVQpCisgIGVsc2UgaWYgKGhwY2NhcmQtPlN0YXRlID09IEhBTF9QQ0NBUkRfU1RBVEVfUkVTRVQpCiAgIHsKICAgICBzd2l0Y2ggKENhbGxiYWNrSWQpCiAgICAgewotICAgIGNhc2UgSEFMX1BDQ0FSRF9NU1BfSU5JVF9DQl9JRCA6Ci0gICAgICBocGNjYXJkLT5Nc3BJbml0Q2FsbGJhY2sgPSBwQ2FsbGJhY2s7Ci0gICAgICBicmVhazsKLSAgICBjYXNlIEhBTF9QQ0NBUkRfTVNQX0RFSU5JVF9DQl9JRCA6Ci0gICAgICBocGNjYXJkLT5Nc3BEZUluaXRDYWxsYmFjayA9IHBDYWxsYmFjazsKLSAgICAgIGJyZWFrOwotICAgIGRlZmF1bHQgOgotICAgICAgLyogdXBkYXRlIHJldHVybiBzdGF0dXMgKi8KLSAgICAgIHN0YXR1cyA9ICBIQUxfRVJST1I7Ci0gICAgICBicmVhazsKKyAgICAgIGNhc2UgSEFMX1BDQ0FSRF9NU1BfSU5JVF9DQl9JRCA6CisgICAgICAgIGhwY2NhcmQtPk1zcEluaXRDYWxsYmFjayA9IHBDYWxsYmFjazsKKyAgICAgICAgYnJlYWs7CisgICAgICBjYXNlIEhBTF9QQ0NBUkRfTVNQX0RFSU5JVF9DQl9JRCA6CisgICAgICAgIGhwY2NhcmQtPk1zcERlSW5pdENhbGxiYWNrID0gcENhbGxiYWNrOworICAgICAgICBicmVhazsKKyAgICAgIGRlZmF1bHQgOgorICAgICAgICAvKiB1cGRhdGUgcmV0dXJuIHN0YXR1cyAqLworICAgICAgICBzdGF0dXMgPSAgSEFMX0VSUk9SOworICAgICAgICBicmVhazsKICAgICB9CiAgIH0KICAgZWxzZQpAQCAtNzY2LDQ2ICs3NzEsNDYgQEAKICAgKiAgICAgICAgICBAYXJnIEByZWYgSEFMX1BDQ0FSRF9JVF9DQl9JRCAgICAgICAgICAgICBQQ0NBUkQgSVQgY2FsbGJhY2sgSUQKICAgKiBAcmV0dmFsIHN0YXR1cwogICAqLwotSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1BDQ0FSRF9VblJlZ2lzdGVyQ2FsbGJhY2sgKFBDQ0FSRF9IYW5kbGVUeXBlRGVmICpocGNjYXJkLCBIQUxfUENDQVJEX0NhbGxiYWNrSURUeXBlRGVmIENhbGxiYWNrSWQpCitIQUxfU3RhdHVzVHlwZURlZiBIQUxfUENDQVJEX1VuUmVnaXN0ZXJDYWxsYmFjayhQQ0NBUkRfSGFuZGxlVHlwZURlZiAqaHBjY2FyZCwgSEFMX1BDQ0FSRF9DYWxsYmFja0lEVHlwZURlZiBDYWxsYmFja0lkKQogewogICBIQUxfU3RhdHVzVHlwZURlZiBzdGF0dXMgPSBIQUxfT0s7CiAKICAgLyogUHJvY2VzcyBsb2NrZWQgKi8KICAgX19IQUxfTE9DSyhocGNjYXJkKTsKIAotICBpZihocGNjYXJkLT5TdGF0ZSA9PSBIQUxfUENDQVJEX1NUQVRFX1JFQURZKQorICBpZiAoaHBjY2FyZC0+U3RhdGUgPT0gSEFMX1BDQ0FSRF9TVEFURV9SRUFEWSkKICAgewogICAgIHN3aXRjaCAoQ2FsbGJhY2tJZCkKICAgICB7Ci0gICAgY2FzZSBIQUxfUENDQVJEX01TUF9JTklUX0NCX0lEIDoKLSAgICAgIGhwY2NhcmQtPk1zcEluaXRDYWxsYmFjayA9IEhBTF9QQ0NBUkRfTXNwSW5pdDsKLSAgICAgIGJyZWFrOwotICAgIGNhc2UgSEFMX1BDQ0FSRF9NU1BfREVJTklUX0NCX0lEIDoKLSAgICAgIGhwY2NhcmQtPk1zcERlSW5pdENhbGxiYWNrID0gSEFMX1BDQ0FSRF9Nc3BEZUluaXQ7Ci0gICAgICBicmVhazsKLSAgICBjYXNlIEhBTF9QQ0NBUkRfSVRfQ0JfSUQgOgotICAgICAgaHBjY2FyZC0+SXRDYWxsYmFjayA9IEhBTF9QQ0NBUkRfSVRDYWxsYmFjazsKLSAgICAgIGJyZWFrOwotICAgIGRlZmF1bHQgOgotICAgICAgLyogdXBkYXRlIHJldHVybiBzdGF0dXMgKi8KLSAgICAgIHN0YXR1cyA9ICBIQUxfRVJST1I7Ci0gICAgICBicmVhazsKKyAgICAgIGNhc2UgSEFMX1BDQ0FSRF9NU1BfSU5JVF9DQl9JRCA6CisgICAgICAgIGhwY2NhcmQtPk1zcEluaXRDYWxsYmFjayA9IEhBTF9QQ0NBUkRfTXNwSW5pdDsKKyAgICAgICAgYnJlYWs7CisgICAgICBjYXNlIEhBTF9QQ0NBUkRfTVNQX0RFSU5JVF9DQl9JRCA6CisgICAgICAgIGhwY2NhcmQtPk1zcERlSW5pdENhbGxiYWNrID0gSEFMX1BDQ0FSRF9Nc3BEZUluaXQ7CisgICAgICAgIGJyZWFrOworICAgICAgY2FzZSBIQUxfUENDQVJEX0lUX0NCX0lEIDoKKyAgICAgICAgaHBjY2FyZC0+SXRDYWxsYmFjayA9IEhBTF9QQ0NBUkRfSVRDYWxsYmFjazsKKyAgICAgICAgYnJlYWs7CisgICAgICBkZWZhdWx0IDoKKyAgICAgICAgLyogdXBkYXRlIHJldHVybiBzdGF0dXMgKi8KKyAgICAgICAgc3RhdHVzID0gIEhBTF9FUlJPUjsKKyAgICAgICAgYnJlYWs7CiAgICAgfQogICB9Ci0gIGVsc2UgaWYoaHBjY2FyZC0+U3RhdGUgPT0gSEFMX1BDQ0FSRF9TVEFURV9SRVNFVCkKKyAgZWxzZSBpZiAoaHBjY2FyZC0+U3RhdGUgPT0gSEFMX1BDQ0FSRF9TVEFURV9SRVNFVCkKICAgewogICAgIHN3aXRjaCAoQ2FsbGJhY2tJZCkKICAgICB7Ci0gICAgY2FzZSBIQUxfUENDQVJEX01TUF9JTklUX0NCX0lEIDoKLSAgICAgIGhwY2NhcmQtPk1zcEluaXRDYWxsYmFjayA9IEhBTF9QQ0NBUkRfTXNwSW5pdDsKLSAgICAgIGJyZWFrOwotICAgIGNhc2UgSEFMX1BDQ0FSRF9NU1BfREVJTklUX0NCX0lEIDoKLSAgICAgIGhwY2NhcmQtPk1zcERlSW5pdENhbGxiYWNrID0gSEFMX1BDQ0FSRF9Nc3BEZUluaXQ7Ci0gICAgICBicmVhazsKLSAgICBkZWZhdWx0IDoKLSAgICAgIC8qIHVwZGF0ZSByZXR1cm4gc3RhdHVzICovCi0gICAgICBzdGF0dXMgPSAgSEFMX0VSUk9SOwotICAgICAgYnJlYWs7CisgICAgICBjYXNlIEhBTF9QQ0NBUkRfTVNQX0lOSVRfQ0JfSUQgOgorICAgICAgICBocGNjYXJkLT5Nc3BJbml0Q2FsbGJhY2sgPSBIQUxfUENDQVJEX01zcEluaXQ7CisgICAgICAgIGJyZWFrOworICAgICAgY2FzZSBIQUxfUENDQVJEX01TUF9ERUlOSVRfQ0JfSUQgOgorICAgICAgICBocGNjYXJkLT5Nc3BEZUluaXRDYWxsYmFjayA9IEhBTF9QQ0NBUkRfTXNwRGVJbml0OworICAgICAgICBicmVhazsKKyAgICAgIGRlZmF1bHQgOgorICAgICAgICAvKiB1cGRhdGUgcmV0dXJuIHN0YXR1cyAqLworICAgICAgICBzdGF0dXMgPSAgSEFMX0VSUk9SOworICAgICAgICBicmVhazsKICAgICB9CiAgIH0KICAgZWxzZQpAQCAtODI0LDIxICs4MjksMjEgQEAKICAgKiBAfQogICAqLwogCi0vKiogQGRlZmdyb3VwIFBDQ0FSRF9FeHBvcnRlZF9GdW5jdGlvbnNfR3JvdXAzIFN0YXRlIGZ1bmN0aW9ucyAKLSAqICBAYnJpZWYgICBQZXJpcGhlcmFsIFN0YXRlIGZ1bmN0aW9ucyAKLSAqCi1AdmVyYmF0aW0gICAKKy8qKiBAZGVmZ3JvdXAgUENDQVJEX0V4cG9ydGVkX0Z1bmN0aW9uc19Hcm91cDMgU3RhdGUgZnVuY3Rpb25zCisgICogIEBicmllZiAgIFBlcmlwaGVyYWwgU3RhdGUgZnVuY3Rpb25zCisgICoKK0B2ZXJiYXRpbQogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgICAgICAgICAgICAgICAgICAgICAjIyMjIyBQQ0NBUkQgU3RhdGUgZnVuY3Rpb25zICMjIyMjCi0gID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAgCisgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICBbLi5dCi0gICAgVGhpcyBzdWJzZWN0aW9uIHBlcm1pdHMgdG8gZ2V0IGluIHJ1bi10aW1lIHRoZSBzdGF0dXMgb2YgdGhlIFBDQ0FSRCBjb250cm9sbGVyIAorICAgIFRoaXMgc3Vic2VjdGlvbiBwZXJtaXRzIHRvIGdldCBpbiBydW4tdGltZSB0aGUgc3RhdHVzIG9mIHRoZSBQQ0NBUkQgY29udHJvbGxlcgogICAgIGFuZCB0aGUgZGF0YSBmbG93LgogCiBAZW5kdmVyYmF0aW0KICAgKiBAewotICAqLyAKLSAgCisgICovCisKIC8qKgogICAqIEBicmllZiAgcmV0dXJuIHRoZSBQQ0NBUkQgY29udHJvbGxlciBzdGF0ZQogICAqIEBwYXJhbSAgaHBjY2FyZCBwb2ludGVyIHRvIGEgUENDQVJEX0hhbmRsZVR5cGVEZWYgc3RydWN0dXJlIHRoYXQgY29udGFpbnMKQEAgLTg0OCw5NSArODUzLDk0IEBACiBIQUxfUENDQVJEX1N0YXRlVHlwZURlZiBIQUxfUENDQVJEX0dldFN0YXRlKFBDQ0FSRF9IYW5kbGVUeXBlRGVmICpocGNjYXJkKQogewogICByZXR1cm4gaHBjY2FyZC0+U3RhdGU7Ci19ICAKLSAKK30KKwogLyoqCiAgICogQGJyaWVmICBHZXQgdGhlIGNvbXBhY3QgZmxhc2ggbWVtb3J5IHN0YXR1cwogICAqIEBwYXJhbSAgaHBjY2FyZCBwb2ludGVyIHRvIGEgUENDQVJEX0hhbmRsZVR5cGVEZWYgc3RydWN0dXJlIHRoYXQgY29udGFpbnMKLSAgKiAgICAgICAgICAgICAgICB0aGUgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbiBmb3IgUENDQVJEIG1vZHVsZS4gICAgICAgCisgICogICAgICAgICAgICAgICAgdGhlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gZm9yIFBDQ0FSRCBtb2R1bGUuCiAgICogQHJldHZhbCBOZXcgc3RhdHVzIG9mIHRoZSBQQ0NBUkQgb3BlcmF0aW9uLiBUaGlzIHBhcmFtZXRlciBjYW4gYmU6Ci0gICogICAgICAgICAgLSBDb21wYWN0Rmxhc2hfVElNRU9VVF9FUlJPUjogd2hlbiB0aGUgcHJldmlvdXMgb3BlcmF0aW9uIGdlbmVyYXRlIAorICAqICAgICAgICAgIC0gQ29tcGFjdEZsYXNoX1RJTUVPVVRfRVJST1I6IHdoZW4gdGhlIHByZXZpb3VzIG9wZXJhdGlvbiBnZW5lcmF0ZQogICAqICAgICAgICAgICAgYSBUaW1lb3V0IGVycm9yCi0gICogICAgICAgICAgLSBDb21wYWN0Rmxhc2hfUkVBRFk6IHdoZW4gbWVtb3J5IGlzIHJlYWR5IGZvciB0aGUgbmV4dCBvcGVyYXRpb24gICAgICAgICAgCisgICogICAgICAgICAgLSBDb21wYWN0Rmxhc2hfUkVBRFk6IHdoZW4gbWVtb3J5IGlzIHJlYWR5IGZvciB0aGUgbmV4dCBvcGVyYXRpb24KICAgKi8KIEhBTF9QQ0NBUkRfU3RhdHVzVHlwZURlZiBIQUxfUENDQVJEX0dldFN0YXR1cyhQQ0NBUkRfSGFuZGxlVHlwZURlZiAqaHBjY2FyZCkKIHsKLSAgdWludDMyX3QgdGltZW91dCA9IFBDQ0FSRF9USU1FT1VUX1NUQVRVUywgc3RhdHVzX3BjY2FyZCA9IDBVOyAgCi0gIAorICB1aW50MzJfdCB0aW1lb3V0ID0gUENDQVJEX1RJTUVPVVRfU1RBVFVTLCBzdGF0dXNfcGNjYXJkID0gMFU7CisKICAgLyogQ2hlY2sgdGhlIFBDQ0FSRCBjb250cm9sbGVyIHN0YXRlICovCi0gIGlmKGhwY2NhcmQtPlN0YXRlID09IEhBTF9QQ0NBUkRfU1RBVEVfQlVTWSkKKyAgaWYgKGhwY2NhcmQtPlN0YXRlID09IEhBTF9QQ0NBUkRfU1RBVEVfQlVTWSkKICAgewotICAgICByZXR1cm4gSEFMX1BDQ0FSRF9TVEFUVVNfT05HT0lORzsKKyAgICByZXR1cm4gSEFMX1BDQ0FSRF9TVEFUVVNfT05HT0lORzsKICAgfQogCiAgIHN0YXR1c19wY2NhcmQgPSAgKihfX0lPIHVpbnQ4X3QgKikoUENDQVJEX0lPX1NQQUNFX1BSSU1BUllfQUREUiB8IEFUQV9TVEFUVVNfQ01EX0FMVEVSTkFURSk7Ci0gIAotICB3aGlsZSgoc3RhdHVzX3BjY2FyZCA9PSBQQ0NBUkRfQlVTWSkgJiYgdGltZW91dCkKKworICB3aGlsZSAoKHN0YXR1c19wY2NhcmQgPT0gUENDQVJEX0JVU1kpICYmIHRpbWVvdXQpCiAgIHsKICAgICBzdGF0dXNfcGNjYXJkID0gICooX19JTyB1aW50OF90ICopKFBDQ0FSRF9JT19TUEFDRV9QUklNQVJZX0FERFIgfCBBVEFfU1RBVFVTX0NNRF9BTFRFUk5BVEUpOwogICAgIHRpbWVvdXQtLTsKICAgfQogCi0gIGlmKHRpbWVvdXQgPT0gMFUpCi0gIHsgICAgICAgICAgCi0gICAgc3RhdHVzX3BjY2FyZCA9ICBQQ0NBUkRfVElNRU9VVF9FUlJPUjsgICAgICAKLSAgfSAgIAorICBpZiAodGltZW91dCA9PSAwVSkKKyAgeworICAgIHN0YXR1c19wY2NhcmQgPSAgUENDQVJEX1RJTUVPVVRfRVJST1I7CisgIH0KIAogICAvKiBSZXR1cm4gdGhlIG9wZXJhdGlvbiBzdGF0dXMgKi8KLSAgcmV0dXJuIChIQUxfUENDQVJEX1N0YXR1c1R5cGVEZWYpIHN0YXR1c19wY2NhcmQ7ICAgICAgCisgIHJldHVybiAoSEFMX1BDQ0FSRF9TdGF0dXNUeXBlRGVmKSBzdGF0dXNfcGNjYXJkOwogfQotICAKKwogLyoqCiAgICogQGJyaWVmICBSZWFkcyB0aGUgQ29tcGFjdCBGbGFzaCBtZW1vcnkgc3RhdHVzIHVzaW5nIHRoZSBSZWFkIHN0YXR1cyBjb21tYW5kCiAgICogQHBhcmFtICBocGNjYXJkIHBvaW50ZXIgdG8gYSBQQ0NBUkRfSGFuZGxlVHlwZURlZiBzdHJ1Y3R1cmUgdGhhdCBjb250YWlucwotICAqICAgICAgICAgICAgICAgIHRoZSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIGZvciBQQ0NBUkQgbW9kdWxlLiAgICAgIAorICAqICAgICAgICAgICAgICAgIHRoZSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIGZvciBQQ0NBUkQgbW9kdWxlLgogICAqIEByZXR2YWwgVGhlIHN0YXR1cyBvZiB0aGUgQ29tcGFjdCBGbGFzaCBtZW1vcnkuIFRoaXMgcGFyYW1ldGVyIGNhbiBiZToKICAgKiAgICAgICAgICAtIENvbXBhY3RGbGFzaF9CVVNZOiB3aGVuIG1lbW9yeSBpcyBidXN5Ci0gICogICAgICAgICAgLSBDb21wYWN0Rmxhc2hfUkVBRFk6IHdoZW4gbWVtb3J5IGlzIHJlYWR5IGZvciB0aGUgbmV4dCBvcGVyYXRpb24gICAgCi0gICogICAgICAgICAgLSBDb21wYWN0Rmxhc2hfRVJST1I6IHdoZW4gdGhlIHByZXZpb3VzIG9wZXJhdGlvbiBnZW5lcmF0ZXMgZXJyb3IgICAgICAgICAgICAgICAgCisgICogICAgICAgICAgLSBDb21wYWN0Rmxhc2hfUkVBRFk6IHdoZW4gbWVtb3J5IGlzIHJlYWR5IGZvciB0aGUgbmV4dCBvcGVyYXRpb24KKyAgKiAgICAgICAgICAtIENvbXBhY3RGbGFzaF9FUlJPUjogd2hlbiB0aGUgcHJldmlvdXMgb3BlcmF0aW9uIGdlbmVyYXRlcyBlcnJvcgogICAqLwogSEFMX1BDQ0FSRF9TdGF0dXNUeXBlRGVmIEhBTF9QQ0NBUkRfUmVhZFN0YXR1cyhQQ0NBUkRfSGFuZGxlVHlwZURlZiAqaHBjY2FyZCkKIHsKICAgdWludDhfdCBkYXRhID0gMFUsIHN0YXR1c19wY2NhcmQgPSBQQ0NBUkRfQlVTWTsKLSAgCisKICAgLyogQ2hlY2sgdGhlIFBDQ0FSRCBjb250cm9sbGVyIHN0YXRlICovCi0gIGlmKGhwY2NhcmQtPlN0YXRlID09IEhBTF9QQ0NBUkRfU1RBVEVfQlVTWSkKKyAgaWYgKGhwY2NhcmQtPlN0YXRlID09IEhBTF9QQ0NBUkRfU1RBVEVfQlVTWSkKICAgewotICAgICByZXR1cm4gSEFMX1BDQ0FSRF9TVEFUVVNfT05HT0lORzsKLSAgfSAKKyAgICByZXR1cm4gSEFMX1BDQ0FSRF9TVEFUVVNfT05HT0lORzsKKyAgfQogCiAgIC8qIFJlYWQgc3RhdHVzIG9wZXJhdGlvbiAqLwogICBkYXRhID0gICooX19JTyB1aW50OF90ICopKFBDQ0FSRF9JT19TUEFDRV9QUklNQVJZX0FERFIgfCBBVEFfU1RBVFVTX0NNRF9BTFRFUk5BVEUpOwogCi0gIGlmKChkYXRhICYgUENDQVJEX1RJTUVPVVRfRVJST1IpID09IFBDQ0FSRF9USU1FT1VUX0VSUk9SKQorICBpZiAoKGRhdGEgJiBQQ0NBUkRfVElNRU9VVF9FUlJPUikgPT0gUENDQVJEX1RJTUVPVVRfRVJST1IpCiAgIHsKICAgICBzdGF0dXNfcGNjYXJkID0gUENDQVJEX1RJTUVPVVRfRVJST1I7Ci0gIH0gCi0gIGVsc2UgaWYoKGRhdGEgJiBQQ0NBUkRfUkVBRFkpID09IFBDQ0FSRF9SRUFEWSkKKyAgfQorICBlbHNlIGlmICgoZGF0YSAmIFBDQ0FSRF9SRUFEWSkgPT0gUENDQVJEX1JFQURZKQogICB7CiAgICAgc3RhdHVzX3BjY2FyZCA9IFBDQ0FSRF9SRUFEWTsKICAgfQotICAKKwogICByZXR1cm4gKEhBTF9QQ0NBUkRfU3RhdHVzVHlwZURlZikgc3RhdHVzX3BjY2FyZDsKLX0gIAotIAorfQorCiAvKioKICAgKiBAfQogICAqLwotICAKKwogLyoqCiAgICogQH0KICAgKi8KLSNlbmRpZiAvKiBTVE0zMkY0MDV4eCB8fCBTVE0zMkY0MTV4eCB8fCBTVE0zMkY0MDd4eCB8fCBTVE0zMkY0MTd4eCB8fFwKLSAgICAgICAgICBTVE0zMkY0Mjd4eCB8fCBTVE0zMkY0Mzd4eCB8fCBTVE0zMkY0Mjl4eCB8fCBTVE0zMkY0Mzl4eCAqLworCisvKioKKyAgKiBAfQorICAqLworCiAjZW5kaWYgLyogSEFMX1BDQ0FSRF9NT0RVTEVfRU5BQkxFRCAqLwogCiAvKioKICAgKiBAfQogICAqLwogCi0vKioKLSAgKiBAfQotICAqLwotCi0vKioqKioqKioqKioqKioqKioqKioqKioqIChDKSBDT1BZUklHSFQgU1RNaWNyb2VsZWN0cm9uaWNzICoqKioqRU5EIE9GIEZJTEUqKioqLworI2VuZGlmIC8qICBGTUNfQmFuazQgfHwgRlNNQ19CYW5rNCAqLwpkaWZmIC0tZ2l0IGEvU3JjL3N0bTMyZjR4eF9oYWxfcGNkLmMgYi9TcmMvc3RtMzJmNHh4X2hhbF9wY2QuYwppbmRleCBhYTk3MDJlLi43ZTQ2NTkyIDEwMDY0NAotLS0gYS9TcmMvc3RtMzJmNHh4X2hhbF9wY2QuYworKysgYi9TcmMvc3RtMzJmNHh4X2hhbF9wY2QuYwpAQCAtMTAsNiArMTAsMTcgQEAKICAgKiAgICAgICAgICAgKyBQZXJpcGhlcmFsIENvbnRyb2wgZnVuY3Rpb25zCiAgICogICAgICAgICAgICsgUGVyaXBoZXJhbCBTdGF0ZSBmdW5jdGlvbnMKICAgKgorICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAgKiBAYXR0ZW50aW9uCisgICoKKyAgKiBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgorICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgICoKKyAgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIHVuZGVyIHRlcm1zIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUKKyAgKiBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb2Z0d2FyZSBjb21wb25lbnQuCisgICogSWYgbm8gTElDRU5TRSBmaWxlIGNvbWVzIHdpdGggdGhpcyBzb2Z0d2FyZSwgaXQgaXMgcHJvdmlkZWQgQVMtSVMuCisgICoKKyAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgIEB2ZXJiYXRpbQogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgICAgICAgICAgICAgICAgICAgIyMjIyMgSG93IHRvIHVzZSB0aGlzIGRyaXZlciAjIyMjIwpAQCAtNDEsMTcgKzUyLDYgQEAKIAogICBAZW5kdmVyYmF0aW0KICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gICogQGF0dGVudGlvbgotICAqCi0gICogPGgyPjxjZW50ZXI+JmNvcHk7IENvcHlyaWdodCAoYykgMjAxNiBTVE1pY3JvZWxlY3Ryb25pY3MuCi0gICogQWxsIHJpZ2h0cyByZXNlcnZlZC48L2NlbnRlcj48L2gyPgotICAqCi0gICogVGhpcyBzb2Z0d2FyZSBjb21wb25lbnQgaXMgbGljZW5zZWQgYnkgU1QgdW5kZXIgQlNEIDMtQ2xhdXNlIGxpY2Vuc2UsCi0gICogdGhlICJMaWNlbnNlIjsgWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZQotICAqIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdDoKLSAgKiAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZQotICAqCi0gICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqLwogCiAvKiBJbmNsdWRlcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwpAQCAtNDIyLDcgKzQyMiw3IEBACiAKIC8qKgogICAqIEBicmllZiAgVW5yZWdpc3RlciBhbiBVU0IgUENEIENhbGxiYWNrCi0gICogICAgICAgICBVU0IgUENEIGNhbGxhYmNrIGlzIHJlZGlyZWN0ZWQgdG8gdGhlIHdlYWsgcHJlZGVmaW5lZCBjYWxsYmFjaworICAqICAgICAgICAgVVNCIFBDRCBjYWxsYmFjayBpcyByZWRpcmVjdGVkIHRvIHRoZSB3ZWFrIHByZWRlZmluZWQgY2FsbGJhY2sKICAgKiBAcGFyYW0gIGhwY2QgVVNCIFBDRCBoYW5kbGUKICAgKiBAcGFyYW0gIENhbGxiYWNrSUQgSUQgb2YgdGhlIGNhbGxiYWNrIHRvIGJlIHVucmVnaXN0ZXJlZAogICAqICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIG9uZSBvZiB0aGUgZm9sbG93aW5nIHZhbHVlczoKQEAgLTEwNjEsNyArMTA2MSw3IEBACiAgIHVpbnQzMl90IGVwaW50OwogICB1aW50MzJfdCBlcG51bTsKICAgdWludDMyX3QgZmlmb2VtcHR5bXNrOwotICB1aW50MzJfdCB0ZW1wOworICB1aW50MzJfdCBSZWdWYWw7CiAKICAgLyogZW5zdXJlIHRoYXQgd2UgYXJlIGluIGRldmljZSBtb2RlICovCiAgIGlmIChVU0JfR2V0TW9kZShocGNkLT5JbnN0YW5jZSkgPT0gVVNCX09UR19NT0RFX0RFVklDRSkKQEAgLTEwNzIsNiArMTA3Miw5IEBACiAgICAgICByZXR1cm47CiAgICAgfQogCisgICAgLyogc3RvcmUgY3VycmVudCBmcmFtZSBudW1iZXIgKi8KKyAgICBocGNkLT5GcmFtZU51bWJlciA9IChVU0J4X0RFVklDRS0+RFNUUyAmIFVTQl9PVEdfRFNUU19GTlNPRl9Nc2spID4+IFVTQl9PVEdfRFNUU19GTlNPRl9Qb3M7CisKICAgICBpZiAoX19IQUxfUENEX0dFVF9GTEFHKGhwY2QsIFVTQl9PVEdfR0lOVFNUU19NTUlTKSkKICAgICB7CiAgICAgICAvKiBpbmNvcnJlY3QgbW9kZSwgYWNrbm93bGVkZ2UgdGhlIGludGVycnVwdCAqLwpAQCAtMTA4MywzMCArMTA4NiwzMSBAQAogICAgIHsKICAgICAgIFVTQl9NQVNLX0lOVEVSUlVQVChocGNkLT5JbnN0YW5jZSwgVVNCX09UR19HSU5UU1RTX1JYRkxWTCk7CiAKLSAgICAgIHRlbXAgPSBVU0J4LT5HUlhTVFNQOworICAgICAgUmVnVmFsID0gVVNCeC0+R1JYU1RTUDsKIAotICAgICAgZXAgPSAmaHBjZC0+T1VUX2VwW3RlbXAgJiBVU0JfT1RHX0dSWFNUU1BfRVBOVU1dOworICAgICAgZXAgPSAmaHBjZC0+T1VUX2VwW1JlZ1ZhbCAmIFVTQl9PVEdfR1JYU1RTUF9FUE5VTV07CiAKLSAgICAgIGlmICgoKHRlbXAgJiBVU0JfT1RHX0dSWFNUU1BfUEtUU1RTKSA+PiAxNykgPT0gIFNUU19EQVRBX1VQRFQpCisgICAgICBpZiAoKChSZWdWYWwgJiBVU0JfT1RHX0dSWFNUU1BfUEtUU1RTKSA+PiAxNykgPT0gIFNUU19EQVRBX1VQRFQpCiAgICAgICB7Ci0gICAgICAgIGlmICgodGVtcCAmIFVTQl9PVEdfR1JYU1RTUF9CQ05UKSAhPSAwVSkKKyAgICAgICAgaWYgKChSZWdWYWwgJiBVU0JfT1RHX0dSWFNUU1BfQkNOVCkgIT0gMFUpCiAgICAgICAgIHsKICAgICAgICAgICAodm9pZClVU0JfUmVhZFBhY2tldChVU0J4LCBlcC0+eGZlcl9idWZmLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh1aW50MTZfdCkoKHRlbXAgJiBVU0JfT1RHX0dSWFNUU1BfQkNOVCkgPj4gNCkpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh1aW50MTZfdCkoKFJlZ1ZhbCAmIFVTQl9PVEdfR1JYU1RTUF9CQ05UKSA+PiA0KSk7CiAKLSAgICAgICAgICBlcC0+eGZlcl9idWZmICs9ICh0ZW1wICYgVVNCX09UR19HUlhTVFNQX0JDTlQpID4+IDQ7Ci0gICAgICAgICAgZXAtPnhmZXJfY291bnQgKz0gKHRlbXAgJiBVU0JfT1RHX0dSWFNUU1BfQkNOVCkgPj4gNDsKKyAgICAgICAgICBlcC0+eGZlcl9idWZmICs9IChSZWdWYWwgJiBVU0JfT1RHX0dSWFNUU1BfQkNOVCkgPj4gNDsKKyAgICAgICAgICBlcC0+eGZlcl9jb3VudCArPSAoUmVnVmFsICYgVVNCX09UR19HUlhTVFNQX0JDTlQpID4+IDQ7CiAgICAgICAgIH0KICAgICAgIH0KLSAgICAgIGVsc2UgaWYgKCgodGVtcCAmIFVTQl9PVEdfR1JYU1RTUF9QS1RTVFMpID4+IDE3KSA9PSAgU1RTX1NFVFVQX1VQRFQpCisgICAgICBlbHNlIGlmICgoKFJlZ1ZhbCAmIFVTQl9PVEdfR1JYU1RTUF9QS1RTVFMpID4+IDE3KSA9PSBTVFNfU0VUVVBfVVBEVCkKICAgICAgIHsKICAgICAgICAgKHZvaWQpVVNCX1JlYWRQYWNrZXQoVVNCeCwgKHVpbnQ4X3QgKilocGNkLT5TZXR1cCwgOFUpOwotICAgICAgICBlcC0+eGZlcl9jb3VudCArPSAodGVtcCAmIFVTQl9PVEdfR1JYU1RTUF9CQ05UKSA+PiA0OworICAgICAgICBlcC0+eGZlcl9jb3VudCArPSAoUmVnVmFsICYgVVNCX09UR19HUlhTVFNQX0JDTlQpID4+IDQ7CiAgICAgICB9CiAgICAgICBlbHNlCiAgICAgICB7CiAgICAgICAgIC8qIC4uLiAqLwogICAgICAgfQorCiAgICAgICBVU0JfVU5NQVNLX0lOVEVSUlVQVChocGNkLT5JbnN0YW5jZSwgVVNCX09UR19HSU5UU1RTX1JYRkxWTCk7CiAgICAgfQogCkBAIC0xMTQxLDYgKzExNDUsMzAgQEAKICAgICAgICAgICAgIENMRUFSX09VVF9FUF9JTlRSKGVwbnVtLCBVU0JfT1RHX0RPRVBJTlRfT1RFUERJUyk7CiAgICAgICAgICAgfQogCisgICAgICAgICAgLyogQ2xlYXIgT1VUIEVuZHBvaW50IGRpc2FibGUgaW50ZXJydXB0ICovCisgICAgICAgICAgaWYgKChlcGludCAmIFVTQl9PVEdfRE9FUElOVF9FUERJU0QpID09IFVTQl9PVEdfRE9FUElOVF9FUERJU0QpCisgICAgICAgICAgeworICAgICAgICAgICAgaWYgKChVU0J4LT5HSU5UU1RTICYgVVNCX09UR19HSU5UU1RTX0JPVVROQUtFRkYpID09IFVTQl9PVEdfR0lOVFNUU19CT1VUTkFLRUZGKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICBVU0J4X0RFVklDRS0+RENUTCB8PSBVU0JfT1RHX0RDVExfQ0dPTkFLOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBlcCA9ICZocGNkLT5PVVRfZXBbZXBudW1dOworCisgICAgICAgICAgICBpZiAoZXAtPmlzX2lzb19pbmNvbXBsZXRlID09IDFVKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICBlcC0+aXNfaXNvX2luY29tcGxldGUgPSAwVTsKKworI2lmIChVU0VfSEFMX1BDRF9SRUdJU1RFUl9DQUxMQkFDS1MgPT0gMVUpCisgICAgICAgICAgICAgIGhwY2QtPklTT09VVEluY29tcGxldGVDYWxsYmFjayhocGNkLCAodWludDhfdCllcG51bSk7CisjZWxzZQorICAgICAgICAgICAgICBIQUxfUENEX0lTT09VVEluY29tcGxldGVDYWxsYmFjayhocGNkLCAodWludDhfdCllcG51bSk7CisjZW5kaWYgLyogVVNFX0hBTF9QQ0RfUkVHSVNURVJfQ0FMTEJBQ0tTICovCisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIENMRUFSX09VVF9FUF9JTlRSKGVwbnVtLCBVU0JfT1RHX0RPRVBJTlRfRVBESVNEKTsKKyAgICAgICAgICB9CisKICAgICAgICAgICAvKiBDbGVhciBTdGF0dXMgUGhhc2UgUmVjZWl2ZWQgaW50ZXJydXB0ICovCiAgICAgICAgICAgaWYgKChlcGludCAmIFVTQl9PVEdfRE9FUElOVF9PVEVQU1BSKSA9PSBVU0JfT1RHX0RPRVBJTlRfT1RFUFNQUikKICAgICAgICAgICB7CkBAIC0xMjEwLDYgKzEyMzgsMjEgQEAKICAgICAgICAgICB9CiAgICAgICAgICAgaWYgKChlcGludCAmIFVTQl9PVEdfRElFUElOVF9FUERJU0QpID09IFVTQl9PVEdfRElFUElOVF9FUERJU0QpCiAgICAgICAgICAgeworICAgICAgICAgICAgKHZvaWQpVVNCX0ZsdXNoVHhGaWZvKFVTQngsIGVwbnVtKTsKKworICAgICAgICAgICAgZXAgPSAmaHBjZC0+SU5fZXBbZXBudW1dOworCisgICAgICAgICAgICBpZiAoZXAtPmlzX2lzb19pbmNvbXBsZXRlID09IDFVKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICBlcC0+aXNfaXNvX2luY29tcGxldGUgPSAwVTsKKworI2lmIChVU0VfSEFMX1BDRF9SRUdJU1RFUl9DQUxMQkFDS1MgPT0gMVUpCisgICAgICAgICAgICAgIGhwY2QtPklTT0lOSW5jb21wbGV0ZUNhbGxiYWNrKGhwY2QsICh1aW50OF90KWVwbnVtKTsKKyNlbHNlCisgICAgICAgICAgICAgIEhBTF9QQ0RfSVNPSU5JbmNvbXBsZXRlQ2FsbGJhY2soaHBjZCwgKHVpbnQ4X3QpZXBudW0pOworI2VuZGlmIC8qIFVTRV9IQUxfUENEX1JFR0lTVEVSX0NBTExCQUNLUyAqLworICAgICAgICAgICAgfQorCiAgICAgICAgICAgICBDTEVBUl9JTl9FUF9JTlRSKGVwbnVtLCBVU0JfT1RHX0RJRVBJTlRfRVBESVNEKTsKICAgICAgICAgICB9CiAgICAgICAgICAgaWYgKChlcGludCAmIFVTQl9PVEdfRElFUElOVF9UWEZFKSA9PSBVU0JfT1RHX0RJRVBJTlRfVFhGRSkKQEAgLTEzMDAsNyArMTM0Myw2IEBACiAgICAgICB7CiAgICAgICAgIFVTQnhfSU5FUChpKS0+RElFUElOVCA9IDB4RkI3RlU7CiAgICAgICAgIFVTQnhfSU5FUChpKS0+RElFUENUTCAmPSB+VVNCX09UR19ESUVQQ1RMX1NUQUxMOwotICAgICAgICBVU0J4X0lORVAoaSktPkRJRVBDVEwgfD0gVVNCX09UR19ESUVQQ1RMX1NOQUs7CiAgICAgICAgIFVTQnhfT1VURVAoaSktPkRPRVBJTlQgPSAweEZCN0ZVOwogICAgICAgICBVU0J4X09VVEVQKGkpLT5ET0VQQ1RMICY9IH5VU0JfT1RHX0RPRVBDVExfU1RBTEw7CiAgICAgICAgIFVTQnhfT1VURVAoaSktPkRPRVBDVEwgfD0gVVNCX09UR19ET0VQQ1RMX1NOQUs7CkBAIC0xMzcyLDE4ICsxNDE0LDM3IEBACiAgICAgICBfX0hBTF9QQ0RfQ0xFQVJfRkxBRyhocGNkLCBVU0JfT1RHX0dJTlRTVFNfU09GKTsKICAgICB9CiAKKyAgICAvKiBIYW5kbGUgR2xvYmFsIE9VVCBOQUsgZWZmZWN0aXZlIEludGVycnVwdCAqLworICAgIGlmIChfX0hBTF9QQ0RfR0VUX0ZMQUcoaHBjZCwgVVNCX09UR19HSU5UU1RTX0JPVVROQUtFRkYpKQorICAgIHsKKyAgICAgIFVTQngtPkdJTlRNU0sgJj0gflVTQl9PVEdfR0lOVE1TS19HT05BS0VGRk07CisKKyAgICAgIGZvciAoZXBudW0gPSAxVTsgZXBudW0gPCBocGNkLT5Jbml0LmRldl9lbmRwb2ludHM7IGVwbnVtKyspCisgICAgICB7CisgICAgICAgIGlmIChocGNkLT5PVVRfZXBbZXBudW1dLmlzX2lzb19pbmNvbXBsZXRlID09IDFVKQorICAgICAgICB7CisgICAgICAgICAgLyogQWJvcnQgY3VycmVudCB0cmFuc2FjdGlvbiBhbmQgZGlzYWJsZSB0aGUgRVAgKi8KKyAgICAgICAgICAodm9pZClIQUxfUENEX0VQX0Fib3J0KGhwY2QsICh1aW50OF90KWVwbnVtKTsKKyAgICAgICAgfQorICAgICAgfQorICAgIH0KKwogICAgIC8qIEhhbmRsZSBJbmNvbXBsZXRlIElTTyBJTiBJbnRlcnJ1cHQgKi8KICAgICBpZiAoX19IQUxfUENEX0dFVF9GTEFHKGhwY2QsIFVTQl9PVEdfR0lOVFNUU19JSVNPSVhGUikpCiAgICAgewotICAgICAgLyogS2VlcCBhcHBsaWNhdGlvbiBjaGVja2luZyB0aGUgY29ycmVzcG9uZGluZyBJc28gSU4gZW5kcG9pbnQKLSAgICAgIGNhdXNpbmcgdGhlIGluY29tcGxldGUgSW50ZXJydXB0ICovCi0gICAgICBlcG51bSA9IDBVOworICAgICAgZm9yIChlcG51bSA9IDFVOyBlcG51bSA8IGhwY2QtPkluaXQuZGV2X2VuZHBvaW50czsgZXBudW0rKykKKyAgICAgIHsKKyAgICAgICAgUmVnVmFsID0gVVNCeF9JTkVQKGVwbnVtKS0+RElFUENUTDsKIAotI2lmIChVU0VfSEFMX1BDRF9SRUdJU1RFUl9DQUxMQkFDS1MgPT0gMVUpCi0gICAgICBocGNkLT5JU09JTkluY29tcGxldGVDYWxsYmFjayhocGNkLCAodWludDhfdCllcG51bSk7Ci0jZWxzZQotICAgICAgSEFMX1BDRF9JU09JTkluY29tcGxldGVDYWxsYmFjayhocGNkLCAodWludDhfdCllcG51bSk7Ci0jZW5kaWYgLyogVVNFX0hBTF9QQ0RfUkVHSVNURVJfQ0FMTEJBQ0tTICovCisgICAgICAgIGlmICgoaHBjZC0+SU5fZXBbZXBudW1dLnR5cGUgPT0gRVBfVFlQRV9JU09DKSAmJgorICAgICAgICAgICAgKChSZWdWYWwgJiBVU0JfT1RHX0RJRVBDVExfRVBFTkEpID09IFVTQl9PVEdfRElFUENUTF9FUEVOQSkpCisgICAgICAgIHsKKyAgICAgICAgICBocGNkLT5JTl9lcFtlcG51bV0uaXNfaXNvX2luY29tcGxldGUgPSAxVTsKKworICAgICAgICAgIC8qIEFib3J0IGN1cnJlbnQgdHJhbnNhY3Rpb24gYW5kIGRpc2FibGUgdGhlIEVQICovCisgICAgICAgICAgKHZvaWQpSEFMX1BDRF9FUF9BYm9ydChocGNkLCAodWludDhfdCkoZXBudW0gfCAweDgwVSkpOworICAgICAgICB9CisgICAgICB9CiAKICAgICAgIF9fSEFMX1BDRF9DTEVBUl9GTEFHKGhwY2QsIFVTQl9PVEdfR0lOVFNUU19JSVNPSVhGUik7CiAgICAgfQpAQCAtMTM5MSwxNSArMTQ1MiwyNSBAQAogICAgIC8qIEhhbmRsZSBJbmNvbXBsZXRlIElTTyBPVVQgSW50ZXJydXB0ICovCiAgICAgaWYgKF9fSEFMX1BDRF9HRVRfRkxBRyhocGNkLCBVU0JfT1RHX0dJTlRTVFNfUFhGUl9JTkNPTVBJU09PVVQpKQogICAgIHsKLSAgICAgIC8qIEtlZXAgYXBwbGljYXRpb24gY2hlY2tpbmcgdGhlIGNvcnJlc3BvbmRpbmcgSXNvIE9VVCBlbmRwb2ludAotICAgICAgY2F1c2luZyB0aGUgaW5jb21wbGV0ZSBJbnRlcnJ1cHQgKi8KLSAgICAgIGVwbnVtID0gMFU7CisgICAgICBmb3IgKGVwbnVtID0gMVU7IGVwbnVtIDwgaHBjZC0+SW5pdC5kZXZfZW5kcG9pbnRzOyBlcG51bSsrKQorICAgICAgeworICAgICAgICBSZWdWYWwgPSBVU0J4X09VVEVQKGVwbnVtKS0+RE9FUENUTDsKIAotI2lmIChVU0VfSEFMX1BDRF9SRUdJU1RFUl9DQUxMQkFDS1MgPT0gMVUpCi0gICAgICBocGNkLT5JU09PVVRJbmNvbXBsZXRlQ2FsbGJhY2soaHBjZCwgKHVpbnQ4X3QpZXBudW0pOwotI2Vsc2UKLSAgICAgIEhBTF9QQ0RfSVNPT1VUSW5jb21wbGV0ZUNhbGxiYWNrKGhwY2QsICh1aW50OF90KWVwbnVtKTsKLSNlbmRpZiAvKiBVU0VfSEFMX1BDRF9SRUdJU1RFUl9DQUxMQkFDS1MgKi8KKyAgICAgICAgaWYgKChocGNkLT5PVVRfZXBbZXBudW1dLnR5cGUgPT0gRVBfVFlQRV9JU09DKSAmJgorICAgICAgICAgICAgKChSZWdWYWwgJiBVU0JfT1RHX0RPRVBDVExfRVBFTkEpID09IFVTQl9PVEdfRE9FUENUTF9FUEVOQSkgJiYKKyAgICAgICAgICAgICgoUmVnVmFsICYgKDB4MVUgPDwgMTYpKSA9PSAoaHBjZC0+RnJhbWVOdW1iZXIgJiAweDFVKSkpCisgICAgICAgIHsKKyAgICAgICAgICBocGNkLT5PVVRfZXBbZXBudW1dLmlzX2lzb19pbmNvbXBsZXRlID0gMVU7CisKKyAgICAgICAgICBVU0J4LT5HSU5UTVNLIHw9IFVTQl9PVEdfR0lOVE1TS19HT05BS0VGRk07CisKKyAgICAgICAgICBpZiAoKFVTQngtPkdJTlRTVFMgJiBVU0JfT1RHX0dJTlRTVFNfQk9VVE5BS0VGRikgPT0gMFUpCisgICAgICAgICAgeworICAgICAgICAgICAgVVNCeF9ERVZJQ0UtPkRDVEwgfD0gVVNCX09UR19EQ1RMX1NHT05BSzsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgfQogCiAgICAgICBfX0hBTF9QQ0RfQ0xFQVJfRkxBRyhocGNkLCBVU0JfT1RHX0dJTlRTVFNfUFhGUl9JTkNPTVBJU09PVVQpOwogICAgIH0KQEAgLTE0MTksOSArMTQ5MCw5IEBACiAgICAgLyogSGFuZGxlIERpc2Nvbm5lY3Rpb24gZXZlbnQgSW50ZXJydXB0ICovCiAgICAgaWYgKF9fSEFMX1BDRF9HRVRfRkxBRyhocGNkLCBVU0JfT1RHX0dJTlRTVFNfT1RHSU5UKSkKICAgICB7Ci0gICAgICB0ZW1wID0gaHBjZC0+SW5zdGFuY2UtPkdPVEdJTlQ7CisgICAgICBSZWdWYWwgPSBocGNkLT5JbnN0YW5jZS0+R09UR0lOVDsKIAotICAgICAgaWYgKCh0ZW1wICYgVVNCX09UR19HT1RHSU5UX1NFREVUKSA9PSBVU0JfT1RHX0dPVEdJTlRfU0VERVQpCisgICAgICBpZiAoKFJlZ1ZhbCAmIFVTQl9PVEdfR09UR0lOVF9TRURFVCkgPT0gVVNCX09UR19HT1RHSU5UX1NFREVUKQogICAgICAgewogI2lmIChVU0VfSEFMX1BDRF9SRUdJU1RFUl9DQUxMQkFDS1MgPT0gMVUpCiAgICAgICAgIGhwY2QtPkRpc2Nvbm5lY3RDYWxsYmFjayhocGNkKTsKQEAgLTE0MjksNyArMTUwMCw3IEBACiAgICAgICAgIEhBTF9QQ0RfRGlzY29ubmVjdENhbGxiYWNrKGhwY2QpOwogI2VuZGlmIC8qIFVTRV9IQUxfUENEX1JFR0lTVEVSX0NBTExCQUNLUyAqLwogICAgICAgfQotICAgICAgaHBjZC0+SW5zdGFuY2UtPkdPVEdJTlQgfD0gdGVtcDsKKyAgICAgIGhwY2QtPkluc3RhbmNlLT5HT1RHSU5UIHw9IFJlZ1ZhbDsKICAgICB9CiAgIH0KIH0KQEAgLTE5NTUsNiArMjAyNiwzMiBAQAogfQogCiAvKioKKyAgICogQGJyaWVmICBBYm9ydCBhbiBVU0IgRVAgdHJhbnNhY3Rpb24uCisgICAqIEBwYXJhbSAgaHBjZCBQQ0QgaGFuZGxlCisgICAqIEBwYXJhbSAgZXBfYWRkciBlbmRwb2ludCBhZGRyZXNzCisgICAqIEByZXR2YWwgSEFMIHN0YXR1cworICAgKi8KK0hBTF9TdGF0dXNUeXBlRGVmIEhBTF9QQ0RfRVBfQWJvcnQoUENEX0hhbmRsZVR5cGVEZWYgKmhwY2QsIHVpbnQ4X3QgZXBfYWRkcikKK3sKKyAgSEFMX1N0YXR1c1R5cGVEZWYgcmV0OworICBQQ0RfRVBUeXBlRGVmICplcDsKKworICBpZiAoKDB4ODBVICYgZXBfYWRkcikgPT0gMHg4MFUpCisgIHsKKyAgICBlcCA9ICZocGNkLT5JTl9lcFtlcF9hZGRyICYgRVBfQUREUl9NU0tdOworICB9CisgIGVsc2UKKyAgeworICAgIGVwID0gJmhwY2QtPk9VVF9lcFtlcF9hZGRyICYgRVBfQUREUl9NU0tdOworICB9CisKKyAgLyogU3RvcCBYZmVyICovCisgIHJldCA9IFVTQl9FUFN0b3BYZmVyKGhwY2QtPkluc3RhbmNlLCBlcCk7CisKKyAgcmV0dXJuIHJldDsKK30KKworLyoqCiAgICogQGJyaWVmICBGbHVzaCBhbiBlbmRwb2ludAogICAqIEBwYXJhbSAgaHBjZCBQQ0QgaGFuZGxlCiAgICogQHBhcmFtICBlcF9hZGRyIGVuZHBvaW50IGFkZHJlc3MKQEAgLTIwMjgsNiArMjEyNSwzMyBAQAogfQogCiAvKioKKyAgKiBAYnJpZWYgIFNldCB0aGUgVVNCIERldmljZSBoaWdoIHNwZWVkIHRlc3QgbW9kZS4KKyAgKiBAcGFyYW0gIGhwY2QgUENEIGhhbmRsZQorICAqIEBwYXJhbSAgdGVzdG1vZGUgVVNCIERldmljZSBoaWdoIHNwZWVkIHRlc3QgbW9kZQorICAqIEByZXR2YWwgSEFMIHN0YXR1cworICAqLworSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1BDRF9TZXRUZXN0TW9kZShQQ0RfSGFuZGxlVHlwZURlZiAqaHBjZCwgdWludDhfdCB0ZXN0bW9kZSkKK3sKKyAgVVNCX09UR19HbG9iYWxUeXBlRGVmICpVU0J4ID0gaHBjZC0+SW5zdGFuY2U7CisgIHVpbnQzMl90IFVTQnhfQkFTRSA9ICh1aW50MzJfdClVU0J4OworCisgIHN3aXRjaCAodGVzdG1vZGUpCisgIHsKKyAgICBjYXNlIFRFU1RfSjoKKyAgICBjYXNlIFRFU1RfSzoKKyAgICBjYXNlIFRFU1RfU0UwX05BSzoKKyAgICBjYXNlIFRFU1RfUEFDS0VUOgorICAgIGNhc2UgVEVTVF9GT1JDRV9FTjoKKyAgICAgIFVTQnhfREVWSUNFLT5EQ1RMIHw9ICh1aW50MzJfdCl0ZXN0bW9kZSA8PCA0OworICAgICAgYnJlYWs7CisKKyAgICBkZWZhdWx0OgorICAgICAgYnJlYWs7CisgIH0KKworICByZXR1cm4gSEFMX09LOworfQorLyoqCiAgICogQH0KICAgKi8KIApAQCAtMjEwOCw2ICsyMjMyLDcgQEAKICAgKi8KIHN0YXRpYyBIQUxfU3RhdHVzVHlwZURlZiBQQ0RfRVBfT3V0WGZyQ29tcGxldGVfaW50KFBDRF9IYW5kbGVUeXBlRGVmICpocGNkLCB1aW50MzJfdCBlcG51bSkKIHsKKyAgVVNCX09UR19FUFR5cGVEZWYgKmVwOwogICBVU0JfT1RHX0dsb2JhbFR5cGVEZWYgKlVTQnggPSBocGNkLT5JbnN0YW5jZTsKICAgdWludDMyX3QgVVNCeF9CQVNFID0gKHVpbnQzMl90KVVTQng7CiAgIHVpbnQzMl90IGdTTlBTaUQgPSAqKF9fSU8gdWludDMyX3QgKikoJlVTQngtPkNJRCArIDB4MVUpOwpAQCAtMjEzOCwxOCArMjI2MywyNCBAQAogICAgICAgfQogICAgICAgZWxzZQogICAgICAgewotICAgICAgICAvKiBvdXQgZGF0YSBwYWNrZXQgcmVjZWl2ZWQgb3ZlciBFUDAgKi8KLSAgICAgICAgaHBjZC0+T1VUX2VwW2VwbnVtXS54ZmVyX2NvdW50ID0KLSAgICAgICAgICBocGNkLT5PVVRfZXBbZXBudW1dLm1heHBhY2tldCAtCi0gICAgICAgICAgKFVTQnhfT1VURVAoZXBudW0pLT5ET0VQVFNJWiAmIFVTQl9PVEdfRE9FUFRTSVpfWEZSU0laKTsKKyAgICAgICAgZXAgPSAmaHBjZC0+T1VUX2VwW2VwbnVtXTsKIAotICAgICAgICBocGNkLT5PVVRfZXBbZXBudW1dLnhmZXJfYnVmZiArPSBocGNkLT5PVVRfZXBbZXBudW1dLm1heHBhY2tldDsKKyAgICAgICAgLyogb3V0IGRhdGEgcGFja2V0IHJlY2VpdmVkIG92ZXIgRVAgKi8KKyAgICAgICAgZXAtPnhmZXJfY291bnQgPSBlcC0+eGZlcl9zaXplIC0gKFVTQnhfT1VURVAoZXBudW0pLT5ET0VQVFNJWiAmIFVTQl9PVEdfRE9FUFRTSVpfWEZSU0laKTsKIAotICAgICAgICBpZiAoKGVwbnVtID09IDBVKSAmJiAoaHBjZC0+T1VUX2VwW2VwbnVtXS54ZmVyX2xlbiA9PSAwVSkpCisgICAgICAgIGlmIChlcG51bSA9PSAwVSkKICAgICAgICAgewotICAgICAgICAgIC8qIHRoaXMgaXMgWkxQLCBzbyBwcmVwYXJlIEVQMCBmb3IgbmV4dCBzZXR1cCAqLwotICAgICAgICAgICh2b2lkKVVTQl9FUDBfT3V0U3RhcnQoaHBjZC0+SW5zdGFuY2UsIDFVLCAodWludDhfdCAqKWhwY2QtPlNldHVwKTsKKyAgICAgICAgICBpZiAoZXAtPnhmZXJfbGVuID09IDBVKQorICAgICAgICAgIHsKKyAgICAgICAgICAgIC8qIHRoaXMgaXMgWkxQLCBzbyBwcmVwYXJlIEVQMCBmb3IgbmV4dCBzZXR1cCAqLworICAgICAgICAgICAgKHZvaWQpVVNCX0VQMF9PdXRTdGFydChocGNkLT5JbnN0YW5jZSwgMVUsICh1aW50OF90ICopaHBjZC0+U2V0dXApOworICAgICAgICAgIH0KKyAgICAgICAgICBlbHNlCisgICAgICAgICAgeworICAgICAgICAgICAgZXAtPnhmZXJfYnVmZiArPSBlcC0+eGZlcl9jb3VudDsKKyAgICAgICAgICB9CiAgICAgICAgIH0KKwogI2lmIChVU0VfSEFMX1BDRF9SRUdJU1RFUl9DQUxMQkFDS1MgPT0gMVUpCiAgICAgICAgIGhwY2QtPkRhdGFPdXRTdGFnZUNhbGxiYWNrKGhwY2QsICh1aW50OF90KWVwbnVtKTsKICNlbHNlCkBAIC0yMjU0LDUgKzIzODUsMyBAQAogLyoqCiAgICogQH0KICAgKi8KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKiAoQykgQ09QWVJJR0hUIFNUTWljcm9lbGVjdHJvbmljcyAqKioqKkVORCBPRiBGSUxFKioqKi8KZGlmZiAtLWdpdCBhL1NyYy9zdG0zMmY0eHhfaGFsX3BjZF9leC5jIGIvU3JjL3N0bTMyZjR4eF9oYWxfcGNkX2V4LmMKaW5kZXggN2M3Njk3Yy4uMjkyZmFmMSAxMDA2NDQKLS0tIGEvU3JjL3N0bTMyZjR4eF9oYWxfcGNkX2V4LmMKKysrIGIvU3JjL3N0bTMyZjR4eF9oYWxfcGNkX2V4LmMKQEAgLTEwLDEzICsxMCwxMiBAQAogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKiBAYXR0ZW50aW9uCiAgICoKLSAgKiA8aDI+PGNlbnRlcj4mY29weTsgQ29weXJpZ2h0IChjKSAyMDE2IFNUTWljcm9lbGVjdHJvbmljcy4KLSAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvY2VudGVyPjwvaDI+CisgICogQ29weXJpZ2h0IChjKSAyMDE2IFNUTWljcm9lbGVjdHJvbmljcy4KKyAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAqCi0gICogVGhpcyBzb2Z0d2FyZSBjb21wb25lbnQgaXMgbGljZW5zZWQgYnkgU1QgdW5kZXIgQlNEIDMtQ2xhdXNlIGxpY2Vuc2UsCi0gICogdGhlICJMaWNlbnNlIjsgWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZQotICAqIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdDoKLSAgKiAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZQorICAqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgdW5kZXIgdGVybXMgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZQorICAqIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvZnR3YXJlIGNvbXBvbmVudC4KKyAgKiBJZiBubyBMSUNFTlNFIGZpbGUgY29tZXMgd2l0aCB0aGlzIHNvZnR3YXJlLCBpdCBpcyBwcm92aWRlZCBBUy1JUy4KICAgKgogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKi8KQEAgLTE2NCwyNiArMTYzLDEwIEBACiAgIC8qIEVuYWJsZSBEQ0QgOiBEYXRhIENvbnRhY3QgRGV0ZWN0ICovCiAgIFVTQngtPkdDQ0ZHIHw9IFVTQl9PVEdfR0NDRkdfRENERU47CiAKLSAgLyogV2FpdCBEZXRlY3QgZmxhZyBvciBhIHRpbWVvdXQgaXMgaGFwcGVuICovCi0gIHdoaWxlICgoVVNCeC0+R0NDRkcgJiBVU0JfT1RHX0dDQ0ZHX0RDREVUKSA9PSAwVSkKLSAgewotICAgIC8qIENoZWNrIGZvciB0aGUgVGltZW91dCAqLwotICAgIGlmICgoSEFMX0dldFRpY2soKSAtIHRpY2tzdGFydCkgPiAxMDAwVSkKLSAgICB7Ci0jaWYgKFVTRV9IQUxfUENEX1JFR0lTVEVSX0NBTExCQUNLUyA9PSAxVSkKLSAgICAgIGhwY2QtPkJDRENhbGxiYWNrKGhwY2QsIFBDRF9CQ0RfRVJST1IpOwotI2Vsc2UKLSAgICAgIEhBTF9QQ0RFeF9CQ0RfQ2FsbGJhY2soaHBjZCwgUENEX0JDRF9FUlJPUik7Ci0jZW5kaWYgLyogVVNFX0hBTF9QQ0RfUkVHSVNURVJfQ0FMTEJBQ0tTICovCisgIC8qIFdhaXQgZm9yIE1pbiBEQ0QgVGltZW91dCAqLworICBIQUxfRGVsYXkoMzAwVSk7CiAKLSAgICAgIHJldHVybjsKLSAgICB9Ci0gIH0KLQotICAvKiBSaWdodCByZXNwb25zZSBnb3QgKi8KLSAgSEFMX0RlbGF5KDIwMFUpOwotCi0gIC8qIENoZWNrIERldGVjdCBmbGFnKi8KKyAgLyogQ2hlY2sgRGV0ZWN0IGZsYWcgKi8KICAgaWYgKChVU0J4LT5HQ0NGRyAmIFVTQl9PVEdfR0NDRkdfRENERVQpID09IFVTQl9PVEdfR0NDRkdfRENERVQpCiAgIHsKICNpZiAoVVNFX0hBTF9QQ0RfUkVHSVNURVJfQ0FMTEJBQ0tTID09IDFVKQpAQCAtMTkzLDcgKzE3Niw3IEBACiAjZW5kaWYgLyogVVNFX0hBTF9QQ0RfUkVHSVNURVJfQ0FMTEJBQ0tTICovCiAgIH0KIAotICAvKlByaW1hcnkgZGV0ZWN0aW9uOiBjaGVja3MgaWYgY29ubmVjdGVkIHRvIFN0YW5kYXJkIERvd25zdHJlYW0gUG9ydAorICAvKiBQcmltYXJ5IGRldGVjdGlvbjogY2hlY2tzIGlmIGNvbm5lY3RlZCB0byBTdGFuZGFyZCBEb3duc3RyZWFtIFBvcnQKICAgKHdpdGhvdXQgY2hhcmdpbmcgY2FwYWJpbGl0eSkgKi8KICAgVVNCeC0+R0NDRkcgJj0gfiBVU0JfT1RHX0dDQ0ZHX0RDREVOOwogICBIQUxfRGVsYXkoNTBVKTsKQEAgLTIyOSw3ICsyMTIsNyBAQAogICAgIH0KICAgICBlbHNlCiAgICAgewotICAgICAgLyogY2FzZSBDaGFyZ2luZyBEb3duc3RyZWFtIFBvcnQgICovCisgICAgICAvKiBjYXNlIENoYXJnaW5nIERvd25zdHJlYW0gUG9ydCAqLwogI2lmIChVU0VfSEFMX1BDRF9SRUdJU1RFUl9DQUxMQkFDS1MgPT0gMVUpCiAgICAgICBocGNkLT5CQ0RDYWxsYmFjayhocGNkLCBQQ0RfQkNEX0NIQVJHSU5HX0RPV05TVFJFQU1fUE9SVCk7CiAjZWxzZQpAQCAtMjQxLDExICsyMjQsMjMgQEAKICAgLyogQmF0dGVyeSBDaGFyZ2luZyBjYXBhYmlsaXR5IGRpc2NvdmVyeSBmaW5pc2hlZCAqLwogICAodm9pZClIQUxfUENERXhfRGVBY3RpdmF0ZUJDRChocGNkKTsKIAorICAvKiBDaGVjayBmb3IgdGhlIFRpbWVvdXQsIGVsc2Ugc3RhcnQgVVNCIERldmljZSAqLworICBpZiAoKEhBTF9HZXRUaWNrKCkgLSB0aWNrc3RhcnQpID4gMTAwMFUpCisgIHsKICNpZiAoVVNFX0hBTF9QQ0RfUkVHSVNURVJfQ0FMTEJBQ0tTID09IDFVKQotICBocGNkLT5CQ0RDYWxsYmFjayhocGNkLCBQQ0RfQkNEX0RJU0NPVkVSWV9DT01QTEVURUQpOworICAgIGhwY2QtPkJDRENhbGxiYWNrKGhwY2QsIFBDRF9CQ0RfRVJST1IpOwogI2Vsc2UKLSAgSEFMX1BDREV4X0JDRF9DYWxsYmFjayhocGNkLCBQQ0RfQkNEX0RJU0NPVkVSWV9DT01QTEVURUQpOworICAgIEhBTF9QQ0RFeF9CQ0RfQ2FsbGJhY2soaHBjZCwgUENEX0JDRF9FUlJPUik7CiAjZW5kaWYgLyogVVNFX0hBTF9QQ0RfUkVHSVNURVJfQ0FMTEJBQ0tTICovCisgIH0KKyAgZWxzZQorICB7CisjaWYgKFVTRV9IQUxfUENEX1JFR0lTVEVSX0NBTExCQUNLUyA9PSAxVSkKKyAgICBocGNkLT5CQ0RDYWxsYmFjayhocGNkLCBQQ0RfQkNEX0RJU0NPVkVSWV9DT01QTEVURUQpOworI2Vsc2UKKyAgICBIQUxfUENERXhfQkNEX0NhbGxiYWNrKGhwY2QsIFBDRF9CQ0RfRElTQ09WRVJZX0NPTVBMRVRFRCk7CisjZW5kaWYgLyogVVNFX0hBTF9QQ0RfUkVHSVNURVJfQ0FMTEJBQ0tTICovCisgIH0KIH0KIAogLyoqCkBAIC0zNDQsNSArMzM5LDMgQEAKIC8qKgogICAqIEB9CiAgICovCi0KLS8qKioqKioqKioqKioqKioqKioqKioqKiogKEMpIENPUFlSSUdIVCBTVE1pY3JvZWxlY3Ryb25pY3MgKioqKipFTkQgT0YgRklMRSoqKiovCmRpZmYgLS1naXQgYS9TcmMvc3RtMzJmNHh4X2hhbF9wd3IuYyBiL1NyYy9zdG0zMmY0eHhfaGFsX3B3ci5jCmluZGV4IGY4OTVhMjYuLmI0YmI0ODMgMTAwNjQ0Ci0tLSBhL1NyYy9zdG0zMmY0eHhfaGFsX3B3ci5jCisrKyBiL1NyYy9zdG0zMmY0eHhfaGFsX3B3ci5jCkBAIC0xMSwxNCArMTEsMTIgQEAKICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICogQGF0dGVudGlvbgogICAqCi0gICogPGgyPjxjZW50ZXI+JmNvcHk7IENvcHlyaWdodCAoYykgMjAxNyBTVE1pY3JvZWxlY3Ryb25pY3MuCi0gICogQWxsIHJpZ2h0cyByZXNlcnZlZC48L2NlbnRlcj48L2gyPgorICAqIENvcHlyaWdodCAoYykgMjAxNyBTVE1pY3JvZWxlY3Ryb25pY3MuCisgICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgKgotICAqIFRoaXMgc29mdHdhcmUgY29tcG9uZW50IGlzIGxpY2Vuc2VkIGJ5IFNUIHVuZGVyIEJTRCAzLUNsYXVzZSBsaWNlbnNlLAotICAqIHRoZSAiTGljZW5zZSI7IFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUKLSAgKiBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQ6Ci0gICogICAgICAgICAgICAgICAgICAgICAgICBvcGVuc291cmNlLm9yZy9saWNlbnNlcy9CU0QtMy1DbGF1c2UKLSAgKgorICAqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgdW5kZXIgdGVybXMgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBpbgorICAqIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvZnR3YXJlIGNvbXBvbmVudC4KKyAgKiBJZiBubyBMSUNFTlNFIGZpbGUgY29tZXMgd2l0aCB0aGlzIHNvZnR3YXJlLCBpdCBpcyBwcm92aWRlZCBBUy1JUy4KICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICovIAogCkBAIC01NzEsNSArNTY5LDMgQEAKIC8qKgogICAqIEB9CiAgICovCi0KLS8qKioqKioqKioqKioqKioqKioqKioqKiogKEMpIENPUFlSSUdIVCBTVE1pY3JvZWxlY3Ryb25pY3MgKioqKipFTkQgT0YgRklMRSoqKiovCmRpZmYgLS1naXQgYS9TcmMvc3RtMzJmNHh4X2hhbF9wd3JfZXguYyBiL1NyYy9zdG0zMmY0eHhfaGFsX3B3cl9leC5jCmluZGV4IDBkMjYwODMuLjc3ZjljMzUgMTAwNjQ0Ci0tLSBhL1NyYy9zdG0zMmY0eHhfaGFsX3B3cl9leC5jCisrKyBiL1NyYy9zdG0zMmY0eHhfaGFsX3B3cl9leC5jCkBAIC0xMCwxNCArMTAsMTIgQEAKICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICogQGF0dGVudGlvbgogICAqCi0gICogPGgyPjxjZW50ZXI+JmNvcHk7IENvcHlyaWdodCAoYykgMjAxNyBTVE1pY3JvZWxlY3Ryb25pY3MuCi0gICogQWxsIHJpZ2h0cyByZXNlcnZlZC48L2NlbnRlcj48L2gyPgorICAqIENvcHlyaWdodCAoYykgMjAxNyBTVE1pY3JvZWxlY3Ryb25pY3MuCisgICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgKgotICAqIFRoaXMgc29mdHdhcmUgY29tcG9uZW50IGlzIGxpY2Vuc2VkIGJ5IFNUIHVuZGVyIEJTRCAzLUNsYXVzZSBsaWNlbnNlLAotICAqIHRoZSAiTGljZW5zZSI7IFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUKLSAgKiBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQ6Ci0gICogICAgICAgICAgICAgICAgICAgICAgICBvcGVuc291cmNlLm9yZy9saWNlbnNlcy9CU0QtMy1DbGF1c2UKLSAgKgorICAqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgdW5kZXIgdGVybXMgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBpbgorICAqIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvZnR3YXJlIGNvbXBvbmVudC4KKyAgKiBJZiBubyBMSUNFTlNFIGZpbGUgY29tZXMgd2l0aCB0aGlzIHNvZnR3YXJlLCBpdCBpcyBwcm92aWRlZCBBUy1JUy4KICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICovIAogCkBAIC02MDAsNSArNTk4LDMgQEAKIC8qKgogICAqIEB9CiAgICovCi0KLS8qKioqKioqKioqKioqKioqKioqKioqKiogKEMpIENPUFlSSUdIVCBTVE1pY3JvZWxlY3Ryb25pY3MgKioqKipFTkQgT0YgRklMRSoqKiovCmRpZmYgLS1naXQgYS9TcmMvc3RtMzJmNHh4X2hhbF9xc3BpLmMgYi9TcmMvc3RtMzJmNHh4X2hhbF9xc3BpLmMKaW5kZXggNTc2M2QwNy4uYTMzMjZmMiAxMDA2NDQKLS0tIGEvU3JjL3N0bTMyZjR4eF9oYWxfcXNwaS5jCisrKyBiL1NyYy9zdG0zMmY0eHhfaGFsX3FzcGkuYwpAQCAtMTQsNiArMTQsMTcgQEAKICAgKiAgICAgICAgICAgKyBFcnJvcnMgbWFuYWdlbWVudCBhbmQgYWJvcnQgZnVuY3Rpb25hbGl0eQogICAqCiAgICoKKyAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgICogQGF0dGVudGlvbgorICAqCisgICogQ29weXJpZ2h0IChjKSAyMDE2IFNUTWljcm9lbGVjdHJvbmljcy4KKyAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICAqCisgICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciB0ZXJtcyB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlCisgICogaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc29mdHdhcmUgY29tcG9uZW50LgorICAqIElmIG5vIExJQ0VOU0UgZmlsZSBjb21lcyB3aXRoIHRoaXMgc29mdHdhcmUsIGl0IGlzIHByb3ZpZGVkIEFTLUlTLgorICAqCisgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICBAdmVyYmF0aW0KICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAgICAgICAgICAgICAgICAgICAgICAjIyMjIyBIb3cgdG8gdXNlIHRoaXMgZHJpdmVyICMjIyMjCkBAIC0xMTEsNyArMTIyLDcgQEAKICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAgWy4uXQogICAgICAgKCMpIEhBTF9RU1BJX0dldEVycm9yKCkgZnVuY3Rpb24gZ2l2ZXMgdGhlIGVycm9yIHJhaXNlZCBkdXJpbmcgdGhlIGxhc3Qgb3BlcmF0aW9uLgotICAgICAgKCMpIEhBTF9RU1BJX0Fib3J0KCkgYW5kIEhBTF9RU1BJX0Fib3J0SVQoKSBmdW5jdGlvbnMgYWJvcnRzIGFueSBvbi1nb2luZyBvcGVyYXRpb24gYW5kCisgICAgICAoIykgSEFMX1FTUElfQWJvcnQoKSBhbmQgSEFMX1FTUElfQWJvcnRfSVQoKSBmdW5jdGlvbnMgYWJvcnRzIGFueSBvbi1nb2luZyBvcGVyYXRpb24gYW5kCiAgICAgICAgICAgZmx1c2hlcyB0aGUgZmlmbyA6CiAgICAgICAgICAoKyspIEluIHBvbGxpbmcgbW9kZSwgdGhlIG91dHB1dCBvZiB0aGUgZnVuY3Rpb24gaXMgZG9uZSB3aGVuIHRoZSB0cmFuc2ZlcgogICAgICAgICAgICAgICBjb21wbGV0ZSBiaXQgaXMgc2V0IGFuZCB0aGUgYnVzeSBiaXQgY2xlYXJlZC4KQEAgLTE5NCwxNyArMjA1LDYgQEAKIAogICBAZW5kdmVyYmF0aW0KICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gICogQGF0dGVudGlvbgotICAqCi0gICogPGgyPjxjZW50ZXI+JmNvcHk7IENvcHlyaWdodCAoYykgMjAxNiBTVE1pY3JvZWxlY3Ryb25pY3MuCi0gICogQWxsIHJpZ2h0cyByZXNlcnZlZC48L2NlbnRlcj48L2gyPgotICAqCi0gICogVGhpcyBzb2Z0d2FyZSBjb21wb25lbnQgaXMgbGljZW5zZWQgYnkgU1QgdW5kZXIgQlNEIDMtQ2xhdXNlIGxpY2Vuc2UsCi0gICogdGhlICJMaWNlbnNlIjsgWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZQotICAqIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdDoKLSAgKiAgICAgICAgICAgICAgICAgICAgICAgb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvQlNELTMtQ2xhdXNlCi0gICoKLSAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICovCiAKIC8qIEluY2x1ZGVzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCkBAIC0yODYsNyArMjg2LDcgQEAKIC8qKgogICAqIEBicmllZiBJbml0aWFsaXplIHRoZSBRU1BJIG1vZGUgYWNjb3JkaW5nIHRvIHRoZSBzcGVjaWZpZWQgcGFyYW1ldGVycwogICAqICAgICAgICBpbiB0aGUgUVNQSV9Jbml0VHlwZURlZiBhbmQgaW5pdGlhbGl6ZSB0aGUgYXNzb2NpYXRlZCBoYW5kbGUuCi0gICogQHBhcmFtIGhxc3BpIDogUVNQSSBoYW5kbGUKKyAgKiBAcGFyYW0gaHFzcGkgUVNQSSBoYW5kbGUKICAgKiBAcmV0dmFsIEhBTCBzdGF0dXMKICAgKi8KIEhBTF9TdGF0dXNUeXBlRGVmIEhBTF9RU1BJX0luaXQoUVNQSV9IYW5kbGVUeXBlRGVmICpocXNwaSkKQEAgLTM4Nyw3ICszODcsNyBAQAogCiAvKioKICAgKiBAYnJpZWYgRGUtSW5pdGlhbGl6ZSB0aGUgUVNQSSBwZXJpcGhlcmFsLgotICAqIEBwYXJhbSBocXNwaSA6IFFTUEkgaGFuZGxlCisgICogQHBhcmFtIGhxc3BpIFFTUEkgaGFuZGxlCiAgICogQHJldHZhbCBIQUwgc3RhdHVzCiAgICovCiBIQUxfU3RhdHVzVHlwZURlZiBIQUxfUVNQSV9EZUluaXQoUVNQSV9IYW5kbGVUeXBlRGVmICpocXNwaSkKQEAgLTQyOCw3ICs0MjgsNyBAQAogCiAvKioKICAgKiBAYnJpZWYgSW5pdGlhbGl6ZSB0aGUgUVNQSSBNU1AuCi0gICogQHBhcmFtIGhxc3BpIDogUVNQSSBoYW5kbGUKKyAgKiBAcGFyYW0gaHFzcGkgUVNQSSBoYW5kbGUKICAgKiBAcmV0dmFsIE5vbmUKICAgKi8KIF9fd2VhayB2b2lkIEhBTF9RU1BJX01zcEluaXQoUVNQSV9IYW5kbGVUeXBlRGVmICpocXNwaSkKQEAgLTQ0Myw3ICs0NDMsNyBAQAogCiAvKioKICAgKiBAYnJpZWYgRGVJbml0aWFsaXplIHRoZSBRU1BJIE1TUC4KLSAgKiBAcGFyYW0gaHFzcGkgOiBRU1BJIGhhbmRsZQorICAqIEBwYXJhbSBocXNwaSBRU1BJIGhhbmRsZQogICAqIEByZXR2YWwgTm9uZQogICAqLwogX193ZWFrIHZvaWQgSEFMX1FTUElfTXNwRGVJbml0KFFTUElfSGFuZGxlVHlwZURlZiAqaHFzcGkpCkBAIC00ODIsNyArNDgyLDcgQEAKIAogLyoqCiAgICogQGJyaWVmIEhhbmRsZSBRU1BJIGludGVycnVwdCByZXF1ZXN0LgotICAqIEBwYXJhbSBocXNwaSA6IFFTUEkgaGFuZGxlCisgICogQHBhcmFtIGhxc3BpIFFTUEkgaGFuZGxlCiAgICogQHJldHZhbCBOb25lCiAgICovCiB2b2lkIEhBTF9RU1BJX0lSUUhhbmRsZXIoUVNQSV9IYW5kbGVUeXBlRGVmICpocXNwaSkKQEAgLTc3Miw5ICs3NzIsOSBAQAogCiAvKioKICAgKiBAYnJpZWYgU2V0IHRoZSBjb21tYW5kIGNvbmZpZ3VyYXRpb24uCi0gICogQHBhcmFtIGhxc3BpIDogUVNQSSBoYW5kbGUKKyAgKiBAcGFyYW0gaHFzcGkgUVNQSSBoYW5kbGUKICAgKiBAcGFyYW0gY21kIDogc3RydWN0dXJlIHRoYXQgY29udGFpbnMgdGhlIGNvbW1hbmQgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbgotICAqIEBwYXJhbSBUaW1lb3V0IDogVGltZW91dCBkdXJhdGlvbgorICAqIEBwYXJhbSBUaW1lb3V0IFRpbWVvdXQgZHVyYXRpb24KICAgKiBAbm90ZSAgIFRoaXMgZnVuY3Rpb24gaXMgdXNlZCBvbmx5IGluIEluZGlyZWN0IFJlYWQgb3IgV3JpdGUgTW9kZXMKICAgKiBAcmV0dmFsIEhBTCBzdGF0dXMKICAgKi8KQEAgLTg2MiwxNSArODYyLDE0IEBACiAKIC8qKgogICAqIEBicmllZiBTZXQgdGhlIGNvbW1hbmQgY29uZmlndXJhdGlvbiBpbiBpbnRlcnJ1cHQgbW9kZS4KLSAgKiBAcGFyYW0gaHFzcGkgOiBRU1BJIGhhbmRsZQotICAqIEBwYXJhbSBjbWQgOiBzdHJ1Y3R1cmUgdGhhdCBjb250YWlucyB0aGUgY29tbWFuZCBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uCisgICogQHBhcmFtIGhxc3BpIFFTUEkgaGFuZGxlCisgICogQHBhcmFtIGNtZCBzdHJ1Y3R1cmUgdGhhdCBjb250YWlucyB0aGUgY29tbWFuZCBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uCiAgICogQG5vdGUgICBUaGlzIGZ1bmN0aW9uIGlzIHVzZWQgb25seSBpbiBJbmRpcmVjdCBSZWFkIG9yIFdyaXRlIE1vZGVzCiAgICogQHJldHZhbCBIQUwgc3RhdHVzCiAgICovCiBIQUxfU3RhdHVzVHlwZURlZiBIQUxfUVNQSV9Db21tYW5kX0lUKFFTUElfSGFuZGxlVHlwZURlZiAqaHFzcGksIFFTUElfQ29tbWFuZFR5cGVEZWYgKmNtZCkKIHsKICAgSEFMX1N0YXR1c1R5cGVEZWYgc3RhdHVzOwotICB1aW50MzJfdCB0aWNrc3RhcnQgPSBIQUxfR2V0VGljaygpOwogCiAgIC8qIENoZWNrIHRoZSBwYXJhbWV0ZXJzICovCiAgIGFzc2VydF9wYXJhbShJU19RU1BJX0lOU1RSVUNUSU9OX01PREUoY21kLT5JbnN0cnVjdGlvbk1vZGUpKTsKQEAgLTk2MSwxMSArOTYwLDEwIEBACiAKIC8qKgogICAqIEBicmllZiBUcmFuc21pdCBhbiBhbW91bnQgb2YgZGF0YSBpbiBibG9ja2luZyBtb2RlLgotICAqIEBwYXJhbSBocXNwaSA6IFFTUEkgaGFuZGxlCi0gICogQHBhcmFtIHBEYXRhIDogcG9pbnRlciB0byBkYXRhIGJ1ZmZlcgotICAqIEBwYXJhbSBUaW1lb3V0IDogVGltZW91dCBkdXJhdGlvbgorICAqIEBwYXJhbSBocXNwaSBRU1BJIGhhbmRsZQorICAqIEBwYXJhbSBwRGF0YSBwb2ludGVyIHRvIGRhdGEgYnVmZmVyCisgICogQHBhcmFtIFRpbWVvdXQgVGltZW91dCBkdXJhdGlvbgogICAqIEBub3RlICAgVGhpcyBmdW5jdGlvbiBpcyB1c2VkIG9ubHkgaW4gSW5kaXJlY3QgV3JpdGUgTW9kZQotICAKICAgKiBAcmV0dmFsIEhBTCBzdGF0dXMKICAgKi8KIEhBTF9TdGF0dXNUeXBlRGVmIEhBTF9RU1BJX1RyYW5zbWl0KFFTUElfSGFuZGxlVHlwZURlZiAqaHFzcGksIHVpbnQ4X3QgKnBEYXRhLCB1aW50MzJfdCBUaW1lb3V0KQpAQCAtMTA0Nyw5ICsxMDQ1LDkgQEAKIAogLyoqCiAgICogQGJyaWVmIFJlY2VpdmUgYW4gYW1vdW50IG9mIGRhdGEgaW4gYmxvY2tpbmcgbW9kZS4KLSAgKiBAcGFyYW0gaHFzcGkgOiBRU1BJIGhhbmRsZQotICAqIEBwYXJhbSBwRGF0YSA6IHBvaW50ZXIgdG8gZGF0YSBidWZmZXIKLSAgKiBAcGFyYW0gVGltZW91dCA6IFRpbWVvdXQgZHVyYXRpb24KKyAgKiBAcGFyYW0gaHFzcGkgUVNQSSBoYW5kbGUKKyAgKiBAcGFyYW0gcERhdGEgcG9pbnRlciB0byBkYXRhIGJ1ZmZlcgorICAqIEBwYXJhbSBUaW1lb3V0IFRpbWVvdXQgZHVyYXRpb24KICAgKiBAbm90ZSAgIFRoaXMgZnVuY3Rpb24gaXMgdXNlZCBvbmx5IGluIEluZGlyZWN0IFJlYWQgTW9kZQogICAqIEByZXR2YWwgSEFMIHN0YXR1cwogICAqLwpAQCAtMTEzNSw4ICsxMTMzLDggQEAKIAogLyoqCiAgICogQGJyaWVmICBTZW5kIGFuIGFtb3VudCBvZiBkYXRhIGluIG5vbi1ibG9ja2luZyBtb2RlIHdpdGggaW50ZXJydXB0LgotICAqIEBwYXJhbSAgaHFzcGkgOiBRU1BJIGhhbmRsZQotICAqIEBwYXJhbSAgcERhdGEgOiBwb2ludGVyIHRvIGRhdGEgYnVmZmVyCisgICogQHBhcmFtICBocXNwaSBRU1BJIGhhbmRsZQorICAqIEBwYXJhbSAgcERhdGEgcG9pbnRlciB0byBkYXRhIGJ1ZmZlcgogICAqIEBub3RlICAgVGhpcyBmdW5jdGlvbiBpcyB1c2VkIG9ubHkgaW4gSW5kaXJlY3QgV3JpdGUgTW9kZQogICAqIEByZXR2YWwgSEFMIHN0YXR1cwogICAqLwpAQCAtMTE5NSw4ICsxMTkzLDggQEAKIAogLyoqCiAgICogQGJyaWVmICBSZWNlaXZlIGFuIGFtb3VudCBvZiBkYXRhIGluIG5vbi1ibG9ja2luZyBtb2RlIHdpdGggaW50ZXJydXB0LgotICAqIEBwYXJhbSAgaHFzcGkgOiBRU1BJIGhhbmRsZQotICAqIEBwYXJhbSAgcERhdGEgOiBwb2ludGVyIHRvIGRhdGEgYnVmZmVyCisgICogQHBhcmFtICBocXNwaSBRU1BJIGhhbmRsZQorICAqIEBwYXJhbSAgcERhdGEgcG9pbnRlciB0byBkYXRhIGJ1ZmZlcgogICAqIEBub3RlICAgVGhpcyBmdW5jdGlvbiBpcyB1c2VkIG9ubHkgaW4gSW5kaXJlY3QgUmVhZCBNb2RlCiAgICogQHJldHZhbCBIQUwgc3RhdHVzCiAgICovCkBAIC0xMjU5LDggKzEyNTcsOCBAQAogCiAvKioKICAgKiBAYnJpZWYgIFNlbmQgYW4gYW1vdW50IG9mIGRhdGEgaW4gbm9uLWJsb2NraW5nIG1vZGUgd2l0aCBETUEuCi0gICogQHBhcmFtICBocXNwaSA6IFFTUEkgaGFuZGxlCi0gICogQHBhcmFtICBwRGF0YSA6IHBvaW50ZXIgdG8gZGF0YSBidWZmZXIKKyAgKiBAcGFyYW0gIGhxc3BpIFFTUEkgaGFuZGxlCisgICogQHBhcmFtICBwRGF0YSBwb2ludGVyIHRvIGRhdGEgYnVmZmVyCiAgICogQG5vdGUgICBUaGlzIGZ1bmN0aW9uIGlzIHVzZWQgb25seSBpbiBJbmRpcmVjdCBXcml0ZSBNb2RlCiAgICogQG5vdGUgICBJZiBETUEgcGVyaXBoZXJhbCBhY2Nlc3MgaXMgY29uZmlndXJlZCBhcyBoYWxmd29yZCwgdGhlIG51bWJlcgogICAqICAgICAgICAgb2YgZGF0YSBhbmQgdGhlIGZpZm8gdGhyZXNob2xkIHNob3VsZCBiZSBhbGlnbmVkIG9uIGhhbGZ3b3JkCkBAIC0xNDI2LDggKzE0MjQsOCBAQAogCiAvKioKICAgKiBAYnJpZWYgIFJlY2VpdmUgYW4gYW1vdW50IG9mIGRhdGEgaW4gbm9uLWJsb2NraW5nIG1vZGUgd2l0aCBETUEuCi0gICogQHBhcmFtICBocXNwaSA6IFFTUEkgaGFuZGxlCi0gICogQHBhcmFtICBwRGF0YSA6IHBvaW50ZXIgdG8gZGF0YSBidWZmZXIuCisgICogQHBhcmFtICBocXNwaSBRU1BJIGhhbmRsZQorICAqIEBwYXJhbSAgcERhdGEgcG9pbnRlciB0byBkYXRhIGJ1ZmZlci4KICAgKiBAbm90ZSAgIFRoaXMgZnVuY3Rpb24gaXMgdXNlZCBvbmx5IGluIEluZGlyZWN0IFJlYWQgTW9kZQogICAqIEBub3RlICAgSWYgRE1BIHBlcmlwaGVyYWwgYWNjZXNzIGlzIGNvbmZpZ3VyZWQgYXMgaGFsZndvcmQsIHRoZSBudW1iZXIKICAgKiAgICAgICAgIG9mIGRhdGEgYW5kIHRoZSBmaWZvIHRocmVzaG9sZCBzaG91bGQgYmUgYWxpZ25lZCBvbiBoYWxmd29yZApAQCAtMTYzNCwxMCArMTYzMiwxMCBAQAogCiAvKioKICAgKiBAYnJpZWYgIENvbmZpZ3VyZSB0aGUgUVNQSSBBdXRvbWF0aWMgUG9sbGluZyBNb2RlIGluIGJsb2NraW5nIG1vZGUuCi0gICogQHBhcmFtICBocXNwaSA6IFFTUEkgaGFuZGxlCi0gICogQHBhcmFtICBjbWQgOiBzdHJ1Y3R1cmUgdGhhdCBjb250YWlucyB0aGUgY29tbWFuZCBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uLgotICAqIEBwYXJhbSAgY2ZnIDogc3RydWN0dXJlIHRoYXQgY29udGFpbnMgdGhlIHBvbGxpbmcgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbi4KLSAgKiBAcGFyYW0gIFRpbWVvdXQgOiBUaW1lb3V0IGR1cmF0aW9uCisgICogQHBhcmFtICBocXNwaSBRU1BJIGhhbmRsZQorICAqIEBwYXJhbSAgY21kIHN0cnVjdHVyZSB0aGF0IGNvbnRhaW5zIHRoZSBjb21tYW5kIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24uCisgICogQHBhcmFtICBjZmcgc3RydWN0dXJlIHRoYXQgY29udGFpbnMgdGhlIHBvbGxpbmcgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbi4KKyAgKiBAcGFyYW0gIFRpbWVvdXQgVGltZW91dCBkdXJhdGlvbgogICAqIEBub3RlICAgVGhpcyBmdW5jdGlvbiBpcyB1c2VkIG9ubHkgaW4gQXV0b21hdGljIFBvbGxpbmcgTW9kZQogICAqIEByZXR2YWwgSEFMIHN0YXR1cwogICAqLwpAQCAtMTczNSw5ICsxNzMzLDkgQEAKIAogLyoqCiAgICogQGJyaWVmICBDb25maWd1cmUgdGhlIFFTUEkgQXV0b21hdGljIFBvbGxpbmcgTW9kZSBpbiBub24tYmxvY2tpbmcgbW9kZS4KLSAgKiBAcGFyYW0gIGhxc3BpIDogUVNQSSBoYW5kbGUKLSAgKiBAcGFyYW0gIGNtZCA6IHN0cnVjdHVyZSB0aGF0IGNvbnRhaW5zIHRoZSBjb21tYW5kIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24uCi0gICogQHBhcmFtICBjZmcgOiBzdHJ1Y3R1cmUgdGhhdCBjb250YWlucyB0aGUgcG9sbGluZyBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uLgorICAqIEBwYXJhbSAgaHFzcGkgUVNQSSBoYW5kbGUKKyAgKiBAcGFyYW0gIGNtZCBzdHJ1Y3R1cmUgdGhhdCBjb250YWlucyB0aGUgY29tbWFuZCBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uLgorICAqIEBwYXJhbSAgY2ZnIHN0cnVjdHVyZSB0aGF0IGNvbnRhaW5zIHRoZSBwb2xsaW5nIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24uCiAgICogQG5vdGUgICBUaGlzIGZ1bmN0aW9uIGlzIHVzZWQgb25seSBpbiBBdXRvbWF0aWMgUG9sbGluZyBNb2RlCiAgICogQHJldHZhbCBIQUwgc3RhdHVzCiAgICovCkBAIC0xODM4LDkgKzE4MzYsOSBAQAogCiAvKioKICAgKiBAYnJpZWYgIENvbmZpZ3VyZSB0aGUgTWVtb3J5IE1hcHBlZCBtb2RlLgotICAqIEBwYXJhbSAgaHFzcGkgOiBRU1BJIGhhbmRsZQotICAqIEBwYXJhbSAgY21kIDogc3RydWN0dXJlIHRoYXQgY29udGFpbnMgdGhlIGNvbW1hbmQgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbi4KLSAgKiBAcGFyYW0gIGNmZyA6IHN0cnVjdHVyZSB0aGF0IGNvbnRhaW5zIHRoZSBtZW1vcnkgbWFwcGVkIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24uCisgICogQHBhcmFtICBocXNwaSBRU1BJIGhhbmRsZQorICAqIEBwYXJhbSAgY21kIHN0cnVjdHVyZSB0aGF0IGNvbnRhaW5zIHRoZSBjb21tYW5kIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24uCisgICogQHBhcmFtICBjZmcgc3RydWN0dXJlIHRoYXQgY29udGFpbnMgdGhlIG1lbW9yeSBtYXBwZWQgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbi4KICAgKiBAbm90ZSAgIFRoaXMgZnVuY3Rpb24gaXMgdXNlZCBvbmx5IGluIE1lbW9yeSBtYXBwZWQgTW9kZQogICAqIEByZXR2YWwgSEFMIHN0YXR1cwogICAqLwpAQCAtMTkyNyw3ICsxOTI1LDcgQEAKIAogLyoqCiAgICogQGJyaWVmICBUcmFuc2ZlciBFcnJvciBjYWxsYmFjay4KLSAgKiBAcGFyYW0gIGhxc3BpIDogUVNQSSBoYW5kbGUKKyAgKiBAcGFyYW0gIGhxc3BpIFFTUEkgaGFuZGxlCiAgICogQHJldHZhbCBOb25lCiAgICovCiBfX3dlYWsgdm9pZCBIQUxfUVNQSV9FcnJvckNhbGxiYWNrKFFTUElfSGFuZGxlVHlwZURlZiAqaHFzcGkpCkBAIC0xOTQyLDcgKzE5NDAsNyBAQAogCiAvKioKICAgKiBAYnJpZWYgIEFib3J0IGNvbXBsZXRlZCBjYWxsYmFjay4KLSAgKiBAcGFyYW0gIGhxc3BpIDogUVNQSSBoYW5kbGUKKyAgKiBAcGFyYW0gIGhxc3BpIFFTUEkgaGFuZGxlCiAgICogQHJldHZhbCBOb25lCiAgICovCiBfX3dlYWsgdm9pZCBIQUxfUVNQSV9BYm9ydENwbHRDYWxsYmFjayhRU1BJX0hhbmRsZVR5cGVEZWYgKmhxc3BpKQpAQCAtMTk1Nyw3ICsxOTU1LDcgQEAKIAogLyoqCiAgICogQGJyaWVmICBDb21tYW5kIGNvbXBsZXRlZCBjYWxsYmFjay4KLSAgKiBAcGFyYW0gIGhxc3BpIDogUVNQSSBoYW5kbGUKKyAgKiBAcGFyYW0gIGhxc3BpIFFTUEkgaGFuZGxlCiAgICogQHJldHZhbCBOb25lCiAgICovCiBfX3dlYWsgdm9pZCBIQUxfUVNQSV9DbWRDcGx0Q2FsbGJhY2soUVNQSV9IYW5kbGVUeXBlRGVmICpocXNwaSkKQEAgLTE5NzIsNyArMTk3MCw3IEBACiAKIC8qKgogICAqIEBicmllZiAgUnggVHJhbnNmZXIgY29tcGxldGVkIGNhbGxiYWNrLgotICAqIEBwYXJhbSAgaHFzcGkgOiBRU1BJIGhhbmRsZQorICAqIEBwYXJhbSAgaHFzcGkgUVNQSSBoYW5kbGUKICAgKiBAcmV0dmFsIE5vbmUKICAgKi8KIF9fd2VhayB2b2lkIEhBTF9RU1BJX1J4Q3BsdENhbGxiYWNrKFFTUElfSGFuZGxlVHlwZURlZiAqaHFzcGkpCkBAIC0xOTg3LDcgKzE5ODUsNyBAQAogCiAvKioKICAgKiBAYnJpZWYgIFR4IFRyYW5zZmVyIGNvbXBsZXRlZCBjYWxsYmFjay4KLSAgKiBAcGFyYW0gIGhxc3BpIDogUVNQSSBoYW5kbGUKKyAgKiBAcGFyYW0gIGhxc3BpIFFTUEkgaGFuZGxlCiAgICogQHJldHZhbCBOb25lCiAgICovCiBfX3dlYWsgdm9pZCBIQUxfUVNQSV9UeENwbHRDYWxsYmFjayhRU1BJX0hhbmRsZVR5cGVEZWYgKmhxc3BpKQpAQCAtMjAwMiw3ICsyMDAwLDcgQEAKIAogLyoqCiAgICogQGJyaWVmICBSeCBIYWxmIFRyYW5zZmVyIGNvbXBsZXRlZCBjYWxsYmFjay4KLSAgKiBAcGFyYW0gIGhxc3BpIDogUVNQSSBoYW5kbGUKKyAgKiBAcGFyYW0gIGhxc3BpIFFTUEkgaGFuZGxlCiAgICogQHJldHZhbCBOb25lCiAgICovCiBfX3dlYWsgdm9pZCBIQUxfUVNQSV9SeEhhbGZDcGx0Q2FsbGJhY2soUVNQSV9IYW5kbGVUeXBlRGVmICpocXNwaSkKQEAgLTIwMTcsNyArMjAxNSw3IEBACiAKIC8qKgogICAqIEBicmllZiAgVHggSGFsZiBUcmFuc2ZlciBjb21wbGV0ZWQgY2FsbGJhY2suCi0gICogQHBhcmFtICBocXNwaSA6IFFTUEkgaGFuZGxlCisgICogQHBhcmFtICBocXNwaSBRU1BJIGhhbmRsZQogICAqIEByZXR2YWwgTm9uZQogICAqLwogX193ZWFrIHZvaWQgSEFMX1FTUElfVHhIYWxmQ3BsdENhbGxiYWNrKFFTUElfSGFuZGxlVHlwZURlZiAqaHFzcGkpCkBAIC0yMDMyLDcgKzIwMzAsNyBAQAogCiAvKioKICAgKiBAYnJpZWYgIEZJRk8gVGhyZXNob2xkIGNhbGxiYWNrLgotICAqIEBwYXJhbSAgaHFzcGkgOiBRU1BJIGhhbmRsZQorICAqIEBwYXJhbSAgaHFzcGkgUVNQSSBoYW5kbGUKICAgKiBAcmV0dmFsIE5vbmUKICAgKi8KIF9fd2VhayB2b2lkIEhBTF9RU1BJX0ZpZm9UaHJlc2hvbGRDYWxsYmFjayhRU1BJX0hhbmRsZVR5cGVEZWYgKmhxc3BpKQpAQCAtMjA0Nyw3ICsyMDQ1LDcgQEAKIAogLyoqCiAgICogQGJyaWVmICBTdGF0dXMgTWF0Y2ggY2FsbGJhY2suCi0gICogQHBhcmFtICBocXNwaSA6IFFTUEkgaGFuZGxlCisgICogQHBhcmFtICBocXNwaSBRU1BJIGhhbmRsZQogICAqIEByZXR2YWwgTm9uZQogICAqLwogX193ZWFrIHZvaWQgSEFMX1FTUElfU3RhdHVzTWF0Y2hDYWxsYmFjayhRU1BJX0hhbmRsZVR5cGVEZWYgKmhxc3BpKQpAQCAtMjA2Miw3ICsyMDYwLDcgQEAKIAogLyoqCiAgICogQGJyaWVmICBUaW1lb3V0IGNhbGxiYWNrLgotICAqIEBwYXJhbSAgaHFzcGkgOiBRU1BJIGhhbmRsZQorICAqIEBwYXJhbSAgaHFzcGkgUVNQSSBoYW5kbGUKICAgKiBAcmV0dmFsIE5vbmUKICAgKi8KIF9fd2VhayB2b2lkIEhBTF9RU1BJX1RpbWVPdXRDYWxsYmFjayhRU1BJX0hhbmRsZVR5cGVEZWYgKmhxc3BpKQpAQCAtMjA3OCw4ICsyMDc2LDggQEAKIC8qKgogICAqIEBicmllZiAgUmVnaXN0ZXIgYSBVc2VyIFFTUEkgQ2FsbGJhY2sKICAgKiAgICAgICAgIFRvIGJlIHVzZWQgaW5zdGVhZCBvZiB0aGUgd2VhayAoc3VyY2hhcmdlZCkgcHJlZGVmaW5lZCBjYWxsYmFjawotICAqIEBwYXJhbSBocXNwaSA6IFFTUEkgaGFuZGxlCi0gICogQHBhcmFtIENhbGxiYWNrSWQgOiBJRCBvZiB0aGUgY2FsbGJhY2sgdG8gYmUgcmVnaXN0ZXJlZAorICAqIEBwYXJhbSBocXNwaSBRU1BJIGhhbmRsZQorICAqIEBwYXJhbSBDYWxsYmFja0lkIElEIG9mIHRoZSBjYWxsYmFjayB0byBiZSByZWdpc3RlcmVkCiAgICogICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBvbmUgb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXM6CiAgICogICAgICAgICAgQGFyZyBAcmVmIEhBTF9RU1BJX0VSUk9SX0NCX0lEICAgICAgICAgIFFTUEkgRXJyb3IgQ2FsbGJhY2sgSUQKICAgKiAgICAgICAgICBAYXJnIEByZWYgSEFMX1FTUElfQUJPUlRfQ0JfSUQgICAgICAgICAgUVNQSSBBYm9ydCBDYWxsYmFjayBJRApAQCAtMjA5Myw3ICsyMDkxLDcgQEAKICAgKiAgICAgICAgICBAYXJnIEByZWYgSEFMX1FTUElfVElNRU9VVF9DQl9JRCAgICAgICAgUVNQSSBUaW1lb3V0IENhbGxiYWNrIElECiAgICogICAgICAgICAgQGFyZyBAcmVmIEhBTF9RU1BJX01TUF9JTklUX0NCX0lEICAgICAgIFFTUEkgTXNwSW5pdCBjYWxsYmFjayBJRAogICAqICAgICAgICAgIEBhcmcgQHJlZiBIQUxfUVNQSV9NU1BfREVJTklUX0NCX0lEICAgICBRU1BJIE1zcERlSW5pdCBjYWxsYmFjayBJRAotICAqIEBwYXJhbSBwQ2FsbGJhY2sgOiBwb2ludGVyIHRvIHRoZSBDYWxsYmFjayBmdW5jdGlvbgorICAqIEBwYXJhbSBwQ2FsbGJhY2sgcG9pbnRlciB0byB0aGUgQ2FsbGJhY2sgZnVuY3Rpb24KICAgKiBAcmV0dmFsIHN0YXR1cwogICAqLwogSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1FTUElfUmVnaXN0ZXJDYWxsYmFjayAoUVNQSV9IYW5kbGVUeXBlRGVmICpocXNwaSwgSEFMX1FTUElfQ2FsbGJhY2tJRFR5cGVEZWYgQ2FsbGJhY2tJZCwgcFFTUElfQ2FsbGJhY2tUeXBlRGVmIHBDYWxsYmFjaykKQEAgLTIxOTIsOCArMjE5MCw4IEBACiAvKioKICAgKiBAYnJpZWYgIFVucmVnaXN0ZXIgYSBVc2VyIFFTUEkgQ2FsbGJhY2sKICAgKiAgICAgICAgIFFTUEkgQ2FsbGJhY2sgaXMgcmVkaXJlY3RlZCB0byB0aGUgd2VhayAoc3VyY2hhcmdlZCkgcHJlZGVmaW5lZCBjYWxsYmFjawotICAqIEBwYXJhbSBocXNwaSA6IFFTUEkgaGFuZGxlCi0gICogQHBhcmFtIENhbGxiYWNrSWQgOiBJRCBvZiB0aGUgY2FsbGJhY2sgdG8gYmUgdW5yZWdpc3RlcmVkCisgICogQHBhcmFtIGhxc3BpIFFTUEkgaGFuZGxlCisgICogQHBhcmFtIENhbGxiYWNrSWQgSUQgb2YgdGhlIGNhbGxiYWNrIHRvIGJlIHVucmVnaXN0ZXJlZAogICAqICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgb25lIG9mIHRoZSBmb2xsb3dpbmcgdmFsdWVzOgogICAqICAgICAgICAgIEBhcmcgQHJlZiBIQUxfUVNQSV9FUlJPUl9DQl9JRCAgICAgICAgICBRU1BJIEVycm9yIENhbGxiYWNrIElECiAgICogICAgICAgICAgQGFyZyBAcmVmIEhBTF9RU1BJX0FCT1JUX0NCX0lEICAgICAgICAgIFFTUEkgQWJvcnQgQ2FsbGJhY2sgSUQKQEAgLTIzMjAsNyArMjMxOCw3IEBACiAKIC8qKgogICAqIEBicmllZiAgUmV0dXJuIHRoZSBRU1BJIGhhbmRsZSBzdGF0ZS4KLSAgKiBAcGFyYW0gIGhxc3BpIDogUVNQSSBoYW5kbGUKKyAgKiBAcGFyYW0gIGhxc3BpIFFTUEkgaGFuZGxlCiAgICogQHJldHZhbCBIQUwgc3RhdGUKICAgKi8KIEhBTF9RU1BJX1N0YXRlVHlwZURlZiBIQUxfUVNQSV9HZXRTdGF0ZShRU1BJX0hhbmRsZVR5cGVEZWYgKmhxc3BpKQpAQCAtMjMzMSw3ICsyMzI5LDcgQEAKIAogLyoqCiAqIEBicmllZiAgUmV0dXJuIHRoZSBRU1BJIGVycm9yIGNvZGUuCi0qIEBwYXJhbSAgaHFzcGkgOiBRU1BJIGhhbmRsZQorKiBAcGFyYW0gIGhxc3BpIFFTUEkgaGFuZGxlCiAqIEByZXR2YWwgUVNQSSBFcnJvciBDb2RlCiAqLwogdWludDMyX3QgSEFMX1FTUElfR2V0RXJyb3IoUVNQSV9IYW5kbGVUeXBlRGVmICpocXNwaSkKQEAgLTIzNDEsNyArMjMzOSw3IEBACiAKIC8qKgogKiBAYnJpZWYgIEFib3J0IHRoZSBjdXJyZW50IHRyYW5zbWlzc2lvbi4KLSogQHBhcmFtICBocXNwaSA6IFFTUEkgaGFuZGxlCisqIEBwYXJhbSAgaHFzcGkgUVNQSSBoYW5kbGUKICogQHJldHZhbCBIQUwgc3RhdHVzCiAqLwogSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1FTUElfQWJvcnQoUVNQSV9IYW5kbGVUeXBlRGVmICpocXNwaSkKQEAgLTIzNjgsMjUgKzIzNjYsMzMgQEAKICAgICAgIH0KICAgICB9CiAKLSAgICAvKiBDb25maWd1cmUgUVNQSTogQ1IgcmVnaXN0ZXIgd2l0aCBBYm9ydCByZXF1ZXN0ICovCi0gICAgU0VUX0JJVChocXNwaS0+SW5zdGFuY2UtPkNSLCBRVUFEU1BJX0NSX0FCT1JUKTsKLQotICAgIC8qIFdhaXQgdW50aWwgVEMgZmxhZyBpcyBzZXQgdG8gZ28gYmFjayBpbiBpZGxlIHN0YXRlICovCi0gICAgc3RhdHVzID0gUVNQSV9XYWl0RmxhZ1N0YXRlVW50aWxUaW1lb3V0KGhxc3BpLCBRU1BJX0ZMQUdfVEMsIFNFVCwgdGlja3N0YXJ0LCBocXNwaS0+VGltZW91dCk7Ci0KLSAgICBpZiAoc3RhdHVzID09IEhBTF9PSykKKyAgICBpZiAoX19IQUxfUVNQSV9HRVRfRkxBRyhocXNwaSwgUVNQSV9GTEFHX0JVU1kpICE9IFJFU0VUKQogICAgIHsKLSAgICAgIF9fSEFMX1FTUElfQ0xFQVJfRkxBRyhocXNwaSwgUVNQSV9GTEFHX1RDKTsKKyAgICAgIC8qIENvbmZpZ3VyZSBRU1BJOiBDUiByZWdpc3RlciB3aXRoIEFib3J0IHJlcXVlc3QgKi8KKyAgICAgIFNFVF9CSVQoaHFzcGktPkluc3RhbmNlLT5DUiwgUVVBRFNQSV9DUl9BQk9SVCk7CisgICAgICAKKyAgICAgIC8qIFdhaXQgdW50aWwgVEMgZmxhZyBpcyBzZXQgdG8gZ28gYmFjayBpbiBpZGxlIHN0YXRlICovCisgICAgICBzdGF0dXMgPSBRU1BJX1dhaXRGbGFnU3RhdGVVbnRpbFRpbWVvdXQoaHFzcGksIFFTUElfRkxBR19UQywgU0VULCB0aWNrc3RhcnQsIGhxc3BpLT5UaW1lb3V0KTsKKyAgICAgIAorICAgICAgaWYgKHN0YXR1cyA9PSBIQUxfT0spCisgICAgICB7CisgICAgICAgIF9fSEFMX1FTUElfQ0xFQVJfRkxBRyhocXNwaSwgUVNQSV9GTEFHX1RDKTsKKyAgICAgICAgCisgICAgICAgIC8qIFdhaXQgdW50aWwgQlVTWSBmbGFnIGlzIHJlc2V0ICovCisgICAgICAgIHN0YXR1cyA9IFFTUElfV2FpdEZsYWdTdGF0ZVVudGlsVGltZW91dChocXNwaSwgUVNQSV9GTEFHX0JVU1ksIFJFU0VULCB0aWNrc3RhcnQsIGhxc3BpLT5UaW1lb3V0KTsKKyAgICAgIH0KIAotICAgICAgLyogV2FpdCB1bnRpbCBCVVNZIGZsYWcgaXMgcmVzZXQgKi8KLSAgICAgIHN0YXR1cyA9IFFTUElfV2FpdEZsYWdTdGF0ZVVudGlsVGltZW91dChocXNwaSwgUVNQSV9GTEFHX0JVU1ksIFJFU0VULCB0aWNrc3RhcnQsIGhxc3BpLT5UaW1lb3V0KTsKKyAgICAgIGlmIChzdGF0dXMgPT0gSEFMX09LKQorICAgICAgeworICAgICAgICAvKiBSZXNldCBmdW5jdGlvbmFsIG1vZGUgY29uZmlndXJhdGlvbiB0byBpbmRpcmVjdCB3cml0ZSBtb2RlIGJ5IGRlZmF1bHQgKi8KKyAgICAgICAgQ0xFQVJfQklUKGhxc3BpLT5JbnN0YW5jZS0+Q0NSLCBRVUFEU1BJX0NDUl9GTU9ERSk7CisgICAgICAgIAorICAgICAgICAvKiBVcGRhdGUgc3RhdGUgKi8KKyAgICAgICAgaHFzcGktPlN0YXRlID0gSEFMX1FTUElfU1RBVEVfUkVBRFk7CisgICAgICB9CiAgICAgfQotCi0gICAgaWYgKHN0YXR1cyA9PSBIQUxfT0spCisgICAgZWxzZQogICAgIHsKLSAgICAgIC8qIFJlc2V0IGZ1bmN0aW9uYWwgbW9kZSBjb25maWd1cmF0aW9uIHRvIGluZGlyZWN0IHdyaXRlIG1vZGUgYnkgZGVmYXVsdCAqLwotICAgICAgQ0xFQVJfQklUKGhxc3BpLT5JbnN0YW5jZS0+Q0NSLCBRVUFEU1BJX0NDUl9GTU9ERSk7Ci0KICAgICAgIC8qIFVwZGF0ZSBzdGF0ZSAqLwogICAgICAgaHFzcGktPlN0YXRlID0gSEFMX1FTUElfU1RBVEVfUkVBRFk7CiAgICAgfQpAQCAtMjM5Nyw3ICsyNDAzLDcgQEAKIAogLyoqCiAqIEBicmllZiAgQWJvcnQgdGhlIGN1cnJlbnQgdHJhbnNtaXNzaW9uIChub24tYmxvY2tpbmcgZnVuY3Rpb24pCi0qIEBwYXJhbSAgaHFzcGkgOiBRU1BJIGhhbmRsZQorKiBAcGFyYW0gIGhxc3BpIFFTUEkgaGFuZGxlCiAqIEByZXR2YWwgSEFMIHN0YXR1cwogKi8KIEhBTF9TdGF0dXNUeXBlRGVmIEhBTF9RU1BJX0Fib3J0X0lUKFFTUElfSGFuZGxlVHlwZURlZiAqaHFzcGkpCkBAIC0yNDM4LDIyICsyNDQ0LDMwIEBACiAgICAgfQogICAgIGVsc2UKICAgICB7Ci0gICAgICAvKiBDbGVhciBpbnRlcnJ1cHQgKi8KLSAgICAgIF9fSEFMX1FTUElfQ0xFQVJfRkxBRyhocXNwaSwgUVNQSV9GTEFHX1RDKTsKLQotICAgICAgLyogRW5hYmxlIHRoZSBRU1BJIFRyYW5zZmVyIENvbXBsZXRlIEludGVycnVwdCAqLwotICAgICAgX19IQUxfUVNQSV9FTkFCTEVfSVQoaHFzcGksIFFTUElfSVRfVEMpOwotCi0gICAgICAvKiBDb25maWd1cmUgUVNQSTogQ1IgcmVnaXN0ZXIgd2l0aCBBYm9ydCByZXF1ZXN0ICovCi0gICAgICBTRVRfQklUKGhxc3BpLT5JbnN0YW5jZS0+Q1IsIFFVQURTUElfQ1JfQUJPUlQpOworICAgICAgaWYgKF9fSEFMX1FTUElfR0VUX0ZMQUcoaHFzcGksIFFTUElfRkxBR19CVVNZKSAhPSBSRVNFVCkKKyAgICAgIHsKKyAgICAgICAgLyogQ2xlYXIgaW50ZXJydXB0ICovCisgICAgICAgIF9fSEFMX1FTUElfQ0xFQVJfRkxBRyhocXNwaSwgUVNQSV9GTEFHX1RDKTsKKyAgICAgICAgCisgICAgICAgIC8qIEVuYWJsZSB0aGUgUVNQSSBUcmFuc2ZlciBDb21wbGV0ZSBJbnRlcnJ1cHQgKi8KKyAgICAgICAgX19IQUxfUVNQSV9FTkFCTEVfSVQoaHFzcGksIFFTUElfSVRfVEMpOworICAgICAgICAKKyAgICAgICAgLyogQ29uZmlndXJlIFFTUEk6IENSIHJlZ2lzdGVyIHdpdGggQWJvcnQgcmVxdWVzdCAqLworICAgICAgICBTRVRfQklUKGhxc3BpLT5JbnN0YW5jZS0+Q1IsIFFVQURTUElfQ1JfQUJPUlQpOworICAgICAgfSAgICAKKyAgICAgIGVsc2UKKyAgICAgIHsKKyAgICAgICAgLyogQ2hhbmdlIHN0YXRlIG9mIFFTUEkgKi8KKyAgICAgICAgaHFzcGktPlN0YXRlID0gSEFMX1FTUElfU1RBVEVfUkVBRFk7CisgICAgICB9CiAgICAgfQogICB9CiAgIHJldHVybiBzdGF0dXM7CiB9CiAKIC8qKiBAYnJpZWYgU2V0IFFTUEkgdGltZW91dC4KLSAgKiBAcGFyYW0gIGhxc3BpIDogUVNQSSBoYW5kbGUuCi0gICogQHBhcmFtICBUaW1lb3V0IDogVGltZW91dCBmb3IgdGhlIFFTUEkgbWVtb3J5IGFjY2Vzcy4KKyAgKiBAcGFyYW0gIGhxc3BpIFFTUEkgaGFuZGxlLgorICAqIEBwYXJhbSAgVGltZW91dCBUaW1lb3V0IGZvciB0aGUgUVNQSSBtZW1vcnkgYWNjZXNzLgogICAqIEByZXR2YWwgTm9uZQogICAqLwogdm9pZCBIQUxfUVNQSV9TZXRUaW1lb3V0KFFTUElfSGFuZGxlVHlwZURlZiAqaHFzcGksIHVpbnQzMl90IFRpbWVvdXQpCkBAIC0yNDYyLDggKzI0NzYsOCBAQAogfQogCiAvKiogQGJyaWVmIFNldCBRU1BJIEZpZm8gdGhyZXNob2xkLgotICAqIEBwYXJhbSAgaHFzcGkgOiBRU1BJIGhhbmRsZS4KLSAgKiBAcGFyYW0gIFRocmVzaG9sZCA6IFRocmVzaG9sZCBvZiB0aGUgRmlmbyAodmFsdWUgYmV0d2VlbiAxIGFuZCAxNikuCisgICogQHBhcmFtICBocXNwaSBRU1BJIGhhbmRsZS4KKyAgKiBAcGFyYW0gIFRocmVzaG9sZCBUaHJlc2hvbGQgb2YgdGhlIEZpZm8gKHZhbHVlIGJldHdlZW4gMSBhbmQgMTYpLgogICAqIEByZXR2YWwgSEFMIHN0YXR1cwogICAqLwogSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1FTUElfU2V0Rmlmb1RocmVzaG9sZChRU1BJX0hhbmRsZVR5cGVEZWYgKmhxc3BpLCB1aW50MzJfdCBUaHJlc2hvbGQpCkBAIC0yNDk1LDcgKzI1MDksNyBAQAogfQogCiAvKiogQGJyaWVmIEdldCBRU1BJIEZpZm8gdGhyZXNob2xkLgotICAqIEBwYXJhbSAgaHFzcGkgOiBRU1BJIGhhbmRsZS4KKyAgKiBAcGFyYW0gIGhxc3BpIFFTUEkgaGFuZGxlLgogICAqIEByZXR2YWwgRmlmbyB0aHJlc2hvbGQgKHZhbHVlIGJldHdlZW4gMSBhbmQgMTYpCiAgICovCiB1aW50MzJfdCBIQUxfUVNQSV9HZXRGaWZvVGhyZXNob2xkKFFTUElfSGFuZGxlVHlwZURlZiAqaHFzcGkpCkBAIC0yNTA0LDggKzI1MTgsOCBAQAogfQogCiAvKiogQGJyaWVmICBTZXQgRmxhc2hJRC4KLSAgKiBAcGFyYW0gIGhxc3BpIDogUVNQSSBoYW5kbGUuCi0gICogQHBhcmFtICBGbGFzaElEIDogSW5kZXggb2YgdGhlIGZsYXNoIG1lbW9yeSB0byBiZSBhY2Nlc3NlZC4KKyAgKiBAcGFyYW0gIGhxc3BpIFFTUEkgaGFuZGxlLgorICAqIEBwYXJhbSAgRmxhc2hJRCBJbmRleCBvZiB0aGUgZmxhc2ggbWVtb3J5IHRvIGJlIGFjY2Vzc2VkLgogICAqICAgICAgICAgICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIG9mIEByZWYgUVNQSV9GbGFzaF9TZWxlY3QuCiAgICogQG5vdGUgICBUaGUgRmxhc2hJRCBpcyBpZ25vcmVkIHdoZW4gZHVhbCBmbGFzaCBtb2RlIGlzIGVuYWJsZWQuCiAgICogQHJldHZhbCBIQUwgc3RhdHVzCkBAIC0yNTU0LDcgKzI1NjgsNyBAQAogCiAvKioKICAgKiBAYnJpZWYgIERNQSBRU1BJIHJlY2VpdmUgcHJvY2VzcyBjb21wbGV0ZSBjYWxsYmFjay4KLSAgKiBAcGFyYW0gIGhkbWEgOiBETUEgaGFuZGxlCisgICogQHBhcmFtICBoZG1hIERNQSBoYW5kbGUKICAgKiBAcmV0dmFsIE5vbmUKICAgKi8KIHN0YXRpYyB2b2lkIFFTUElfRE1BUnhDcGx0KERNQV9IYW5kbGVUeXBlRGVmICpoZG1hKQpAQCAtMjU2OCw3ICsyNTgyLDcgQEAKIAogLyoqCiAgICogQGJyaWVmICBETUEgUVNQSSB0cmFuc21pdCBwcm9jZXNzIGNvbXBsZXRlIGNhbGxiYWNrLgotICAqIEBwYXJhbSAgaGRtYSA6IERNQSBoYW5kbGUKKyAgKiBAcGFyYW0gIGhkbWEgRE1BIGhhbmRsZQogICAqIEByZXR2YWwgTm9uZQogICAqLwogc3RhdGljIHZvaWQgUVNQSV9ETUFUeENwbHQoRE1BX0hhbmRsZVR5cGVEZWYgKmhkbWEpCkBAIC0yNTgyLDcgKzI1OTYsNyBAQAogCiAvKioKICAgKiBAYnJpZWYgIERNQSBRU1BJIHJlY2VpdmUgcHJvY2VzcyBoYWxmIGNvbXBsZXRlIGNhbGxiYWNrLgotICAqIEBwYXJhbSAgaGRtYSA6IERNQSBoYW5kbGUKKyAgKiBAcGFyYW0gIGhkbWEgRE1BIGhhbmRsZQogICAqIEByZXR2YWwgTm9uZQogICAqLwogc3RhdGljIHZvaWQgUVNQSV9ETUFSeEhhbGZDcGx0KERNQV9IYW5kbGVUeXBlRGVmICpoZG1hKQpAQCAtMjU5OCw3ICsyNjEyLDcgQEAKIAogLyoqCiAgICogQGJyaWVmICBETUEgUVNQSSB0cmFuc21pdCBwcm9jZXNzIGhhbGYgY29tcGxldGUgY2FsbGJhY2suCi0gICogQHBhcmFtICBoZG1hIDogRE1BIGhhbmRsZQorICAqIEBwYXJhbSAgaGRtYSBETUEgaGFuZGxlCiAgICogQHJldHZhbCBOb25lCiAgICovCiBzdGF0aWMgdm9pZCBRU1BJX0RNQVR4SGFsZkNwbHQoRE1BX0hhbmRsZVR5cGVEZWYgKmhkbWEpCkBAIC0yNjE0LDcgKzI2MjgsNyBAQAogCiAvKioKICAgKiBAYnJpZWYgIERNQSBRU1BJIGNvbW11bmljYXRpb24gZXJyb3IgY2FsbGJhY2suCi0gICogQHBhcmFtICBoZG1hIDogRE1BIGhhbmRsZQorICAqIEBwYXJhbSAgaGRtYSBETUEgaGFuZGxlCiAgICogQHJldHZhbCBOb25lCiAgICovCiBzdGF0aWMgdm9pZCBRU1BJX0RNQUVycm9yKERNQV9IYW5kbGVUeXBlRGVmICpoZG1hKQpAQCAtMjYzOSw3ICsyNjUzLDcgQEAKIAogLyoqCiAgICogQGJyaWVmICBETUEgUVNQSSBhYm9ydCBjb21wbGV0ZSBjYWxsYmFjay4KLSAgKiBAcGFyYW0gIGhkbWEgOiBETUEgaGFuZGxlCisgICogQHBhcmFtICBoZG1hIERNQSBoYW5kbGUKICAgKiBAcmV0dmFsIE5vbmUKICAgKi8KIHN0YXRpYyB2b2lkIFFTUElfRE1BQWJvcnRDcGx0KERNQV9IYW5kbGVUeXBlRGVmICpoZG1hKQpAQCAtMjY3OCwxMSArMjY5MiwxMSBAQAogCiAvKioKICAgKiBAYnJpZWYgIFdhaXQgZm9yIGEgZmxhZyBzdGF0ZSB1bnRpbCB0aW1lb3V0LgotICAqIEBwYXJhbSAgaHFzcGkgOiBRU1BJIGhhbmRsZQotICAqIEBwYXJhbSAgRmxhZyA6IEZsYWcgY2hlY2tlZAotICAqIEBwYXJhbSAgU3RhdGUgOiBWYWx1ZSBvZiB0aGUgZmxhZyBleHBlY3RlZAotICAqIEBwYXJhbSAgVGlja3N0YXJ0IDogVGljayBzdGFydCB2YWx1ZQotICAqIEBwYXJhbSAgVGltZW91dCA6IER1cmF0aW9uIG9mIHRoZSB0aW1lb3V0CisgICogQHBhcmFtICBocXNwaSBRU1BJIGhhbmRsZQorICAqIEBwYXJhbSAgRmxhZyBGbGFnIGNoZWNrZWQKKyAgKiBAcGFyYW0gIFN0YXRlIFZhbHVlIG9mIHRoZSBmbGFnIGV4cGVjdGVkCisgICogQHBhcmFtICBUaWNrc3RhcnQgVGljayBzdGFydCB2YWx1ZQorICAqIEBwYXJhbSAgVGltZW91dCBEdXJhdGlvbiBvZiB0aGUgdGltZW91dAogICAqIEByZXR2YWwgSEFMIHN0YXR1cwogICAqLwogc3RhdGljIEhBTF9TdGF0dXNUeXBlRGVmIFFTUElfV2FpdEZsYWdTdGF0ZVVudGlsVGltZW91dChRU1BJX0hhbmRsZVR5cGVEZWYgKmhxc3BpLCB1aW50MzJfdCBGbGFnLApAQCAtMjczMyw5ICsyNzQ3LDkgQEAKIAogLyoqCiAgICogQGJyaWVmICBDb25maWd1cmUgdGhlIGNvbW11bmljYXRpb24gcmVnaXN0ZXJzLgotICAqIEBwYXJhbSAgaHFzcGkgOiBRU1BJIGhhbmRsZQotICAqIEBwYXJhbSAgY21kIDogc3RydWN0dXJlIHRoYXQgY29udGFpbnMgdGhlIGNvbW1hbmQgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbgotICAqIEBwYXJhbSAgRnVuY3Rpb25hbE1vZGUgOiBmdW5jdGlvbmFsIG1vZGUgdG8gY29uZmlndXJlZAorICAqIEBwYXJhbSAgaHFzcGkgUVNQSSBoYW5kbGUKKyAgKiBAcGFyYW0gIGNtZCBzdHJ1Y3R1cmUgdGhhdCBjb250YWlucyB0aGUgY29tbWFuZCBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uCisgICogQHBhcmFtICBGdW5jdGlvbmFsTW9kZSBmdW5jdGlvbmFsIG1vZGUgdG8gY29uZmlndXJlZAogICAqICAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgb25lIG9mIHRoZSBmb2xsb3dpbmcgdmFsdWVzOgogICAqICAgICAgICAgICAgQGFyZyBRU1BJX0ZVTkNUSU9OQUxfTU9ERV9JTkRJUkVDVF9XUklURTogSW5kaXJlY3Qgd3JpdGUgbW9kZQogICAqICAgICAgICAgICAgQGFyZyBRU1BJX0ZVTkNUSU9OQUxfTU9ERV9JTkRJUkVDVF9SRUFEOiBJbmRpcmVjdCByZWFkIG1vZGUKQEAgLTI4OTksNSArMjkxMywzIEBACiAgICovCiAKICNlbmRpZiAvKiBkZWZpbmVkKFFVQURTUEkpICovCi0KLS8qKioqKioqKioqKioqKioqKioqKioqKiogKEMpIENPUFlSSUdIVCBTVE1pY3JvZWxlY3Ryb25pY3MgKioqKipFTkQgT0YgRklMRSoqKiovCmRpZmYgLS1naXQgYS9TcmMvc3RtMzJmNHh4X2hhbF9yY2MuYyBiL1NyYy9zdG0zMmY0eHhfaGFsX3JjYy5jCmluZGV4IDU1MmVmMTguLmYxODczNDggMTAwNjQ0Ci0tLSBhL1NyYy9zdG0zMmY0eHhfaGFsX3JjYy5jCisrKyBiL1NyYy9zdG0zMmY0eHhfaGFsX3JjYy5jCkBAIC01NCwxNCArNTQsMTIgQEAKICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICogQGF0dGVudGlvbgogICAqCi0gICogPGgyPjxjZW50ZXI+JmNvcHk7IENvcHlyaWdodCAoYykgMjAxNyBTVE1pY3JvZWxlY3Ryb25pY3MuCi0gICogQWxsIHJpZ2h0cyByZXNlcnZlZC48L2NlbnRlcj48L2gyPgorICAqIENvcHlyaWdodCAoYykgMjAxNyBTVE1pY3JvZWxlY3Ryb25pY3MuCisgICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgKgotICAqIFRoaXMgc29mdHdhcmUgY29tcG9uZW50IGlzIGxpY2Vuc2VkIGJ5IFNUIHVuZGVyIEJTRCAzLUNsYXVzZSBsaWNlbnNlLAotICAqIHRoZSAiTGljZW5zZSI7IFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUKLSAgKiBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQ6Ci0gICogICAgICAgICAgICAgICAgICAgICAgICBvcGVuc291cmNlLm9yZy9saWNlbnNlcy9CU0QtMy1DbGF1c2UKLSAgKgorICAqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgdW5kZXIgdGVybXMgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBpbgorICAqIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvZnR3YXJlIGNvbXBvbmVudC4KKyAgKiBJZiBubyBMSUNFTlNFIGZpbGUgY29tZXMgd2l0aCB0aGlzIHNvZnR3YXJlLCBpdCBpcyBwcm92aWRlZCBBUy1JUy4KICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICovCiAKQEAgLTExMjIsNCArMTEyMCwzIEBACiAgICogQH0KICAgKi8KIAotLyoqKioqKioqKioqKioqKioqKioqKioqKiAoQykgQ09QWVJJR0hUIFNUTWljcm9lbGVjdHJvbmljcyAqKioqKkVORCBPRiBGSUxFKioqKi8KZGlmZiAtLWdpdCBhL1NyYy9zdG0zMmY0eHhfaGFsX3JjY19leC5jIGIvU3JjL3N0bTMyZjR4eF9oYWxfcmNjX2V4LmMKaW5kZXggZTQyYjg1MC4uNTA3NjYyOCAxMDA2NDQKLS0tIGEvU3JjL3N0bTMyZjR4eF9oYWxfcmNjX2V4LmMKKysrIGIvU3JjL3N0bTMyZjR4eF9oYWxfcmNjX2V4LmMKQEAgLTEwLDE0ICsxMCwxMiBAQAogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKiBAYXR0ZW50aW9uCiAgICoKLSAgKiA8aDI+PGNlbnRlcj4mY29weTsgQ29weXJpZ2h0IChjKSAyMDE3IFNUTWljcm9lbGVjdHJvbmljcy4KLSAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvY2VudGVyPjwvaDI+CisgICogQ29weXJpZ2h0IChjKSAyMDE3IFNUTWljcm9lbGVjdHJvbmljcy4KKyAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAqCi0gICogVGhpcyBzb2Z0d2FyZSBjb21wb25lbnQgaXMgbGljZW5zZWQgYnkgU1QgdW5kZXIgQlNEIDMtQ2xhdXNlIGxpY2Vuc2UsCi0gICogdGhlICJMaWNlbnNlIjsgWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZQotICAqIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdDoKLSAgKiAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZQotICAqCisgICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciB0ZXJtcyB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGluCisgICogdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc29mdHdhcmUgY29tcG9uZW50LgorICAqIElmIG5vIExJQ0VOU0UgZmlsZSBjb21lcyB3aXRoIHRoaXMgc29mdHdhcmUsIGl0IGlzIHByb3ZpZGVkIEFTLUlTLgogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKi8KIApAQCAtMzc4NCw0ICszNzgyLDMgQEAKICAgKiBAfQogICAqLwogCi0vKioqKioqKioqKioqKioqKioqKioqKioqIChDKSBDT1BZUklHSFQgU1RNaWNyb2VsZWN0cm9uaWNzICoqKioqRU5EIE9GIEZJTEUqKioqLwpkaWZmIC0tZ2l0IGEvU3JjL3N0bTMyZjR4eF9oYWxfcm5nLmMgYi9TcmMvc3RtMzJmNHh4X2hhbF9ybmcuYwppbmRleCBhOWIyMzM4Li5iZDUwNDM4IDEwMDY0NAotLS0gYS9TcmMvc3RtMzJmNHh4X2hhbF9ybmcuYworKysgYi9TcmMvc3RtMzJmNHh4X2hhbF9ybmcuYwpAQCAtOSw2ICs5LDE3IEBACiAgICogICAgICAgICAgICsgUGVyaXBoZXJhbCBDb250cm9sIGZ1bmN0aW9ucwogICAqICAgICAgICAgICArIFBlcmlwaGVyYWwgU3RhdGUgZnVuY3Rpb25zCiAgICoKKyAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgICogQGF0dGVudGlvbgorICAqCisgICogQ29weXJpZ2h0IChjKSAyMDE2IFNUTWljcm9lbGVjdHJvbmljcy4KKyAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICAqCisgICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciB0ZXJtcyB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlCisgICogaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc29mdHdhcmUgY29tcG9uZW50LgorICAqIElmIG5vIExJQ0VOU0UgZmlsZSBjb21lcyB3aXRoIHRoaXMgc29mdHdhcmUsIGl0IGlzIHByb3ZpZGVkIEFTLUlTLgorICAqCisgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICBAdmVyYmF0aW0KICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAgICAgICAgICAgICAgICAgICAjIyMjIyBIb3cgdG8gdXNlIHRoaXMgZHJpdmVyICMjIyMjCkBAIC03OSwxNyArOTAsNiBAQAogCiAgIEBlbmR2ZXJiYXRpbQogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAgKiBAYXR0ZW50aW9uCi0gICoKLSAgKiA8aDI+PGNlbnRlcj4mY29weTsgQ29weXJpZ2h0IChjKSAyMDE2IFNUTWljcm9lbGVjdHJvbmljcy4KLSAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvY2VudGVyPjwvaDI+Ci0gICoKLSAgKiBUaGlzIHNvZnR3YXJlIGNvbXBvbmVudCBpcyBsaWNlbnNlZCBieSBTVCB1bmRlciBCU0QgMy1DbGF1c2UgbGljZW5zZSwKLSAgKiB0aGUgIkxpY2Vuc2UiOyBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlCi0gICogTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0OgotICAqICAgICAgICAgICAgICAgICAgICAgICAgb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvQlNELTMtQ2xhdXNlCi0gICoKLSAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICovCiAKIC8qIEluY2x1ZGVzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCkBAIC0zNjksNyArMzY5LDcgQEAKIAogLyoqCiAgICogQGJyaWVmICBVbnJlZ2lzdGVyIGFuIFJORyBDYWxsYmFjawotICAqICAgICAgICAgUk5HIGNhbGxhYmNrIGlzIHJlZGlyZWN0ZWQgdG8gdGhlIHdlYWsgcHJlZGVmaW5lZCBjYWxsYmFjaworICAqICAgICAgICAgUk5HIGNhbGxiYWNrIGlzIHJlZGlyZWN0ZWQgdG8gdGhlIHdlYWsgcHJlZGVmaW5lZCBjYWxsYmFjawogICAqIEBwYXJhbSAgaHJuZyBSTkcgaGFuZGxlCiAgICogQHBhcmFtICBDYWxsYmFja0lEIElEIG9mIHRoZSBjYWxsYmFjayB0byBiZSB1bnJlZ2lzdGVyZWQKICAgKiAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBvbmUgb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXM6CkBAIC04NjUsNCArODY1LDMgQEAKICAgKiBAfQogICAqLwogCi0vKioqKioqKioqKioqKioqKioqKioqKioqIChDKSBDT1BZUklHSFQgU1RNaWNyb2VsZWN0cm9uaWNzICoqKioqRU5EIE9GIEZJTEUqKioqLwpkaWZmIC0tZ2l0IGEvU3JjL3N0bTMyZjR4eF9oYWxfcnRjLmMgYi9TcmMvc3RtMzJmNHh4X2hhbF9ydGMuYwppbmRleCAwMGY5ZTRiLi4yZDJiZTY2IDEwMDY0NAotLS0gYS9TcmMvc3RtMzJmNHh4X2hhbF9ydGMuYworKysgYi9TcmMvc3RtMzJmNHh4X2hhbF9ydGMuYwpAQCAtNCwyMSArNCwzMiBAQAogICAqIEBhdXRob3IgIE1DRCBBcHBsaWNhdGlvbiBUZWFtCiAgICogQGJyaWVmICAgUlRDIEhBTCBtb2R1bGUgZHJpdmVyLgogICAqICAgICAgICAgIFRoaXMgZmlsZSBwcm92aWRlcyBmaXJtd2FyZSBmdW5jdGlvbnMgdG8gbWFuYWdlIHRoZSBmb2xsb3dpbmcKLSAgKiAgICAgICAgICBmdW5jdGlvbmFsaXRpZXMgb2YgdGhlIFJlYWwgVGltZSBDbG9jayAoUlRDKSBwZXJpcGhlcmFsOgorICAqICAgICAgICAgIGZ1bmN0aW9uYWxpdGllcyBvZiB0aGUgUmVhbC1UaW1lIENsb2NrIChSVEMpIHBlcmlwaGVyYWw6CiAgICogICAgICAgICAgICsgSW5pdGlhbGl6YXRpb24gYW5kIGRlLWluaXRpYWxpemF0aW9uIGZ1bmN0aW9ucwotICAqICAgICAgICAgICArIFJUQyBUaW1lIGFuZCBEYXRlIGZ1bmN0aW9ucwotICAqICAgICAgICAgICArIFJUQyBBbGFybSBmdW5jdGlvbnMKKyAgKiAgICAgICAgICAgKyBSVEMgQ2FsZW5kYXIgKFRpbWUgYW5kIERhdGUpIGNvbmZpZ3VyYXRpb24gZnVuY3Rpb25zCisgICogICAgICAgICAgICsgUlRDIEFsYXJtcyAoQWxhcm0gQSBhbmQgQWxhcm0gQikgY29uZmlndXJhdGlvbiBmdW5jdGlvbnMKICAgKiAgICAgICAgICAgKyBQZXJpcGhlcmFsIENvbnRyb2wgZnVuY3Rpb25zCiAgICogICAgICAgICAgICsgUGVyaXBoZXJhbCBTdGF0ZSBmdW5jdGlvbnMKICAgKgorICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAgKiBAYXR0ZW50aW9uCisgICoKKyAgKiBDb3B5cmlnaHQgKGMpIDIwMTcgU1RNaWNyb2VsZWN0cm9uaWNzLgorICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgICoKKyAgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIHVuZGVyIHRlcm1zIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUKKyAgKiBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb2Z0d2FyZSBjb21wb25lbnQuCisgICogSWYgbm8gTElDRU5TRSBmaWxlIGNvbWVzIHdpdGggdGhpcyBzb2Z0d2FyZSwgaXQgaXMgcHJvdmlkZWQgQVMtSVMuCisgICoKKyAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgIEB2ZXJiYXRpbQogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLSAgICAgICAgICAgICAgIyMjIyMgQmFja3VwIERvbWFpbiBPcGVyYXRpbmcgQ29uZGl0aW9uICMjIyMjCisgICAgICAgICAgICAgICAjIyMjIyBSVEMgYW5kIEJhY2t1cCBEb21haW4gT3BlcmF0aW5nIENvbmRpdGlvbiAjIyMjIwogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgWy4uXSBUaGUgcmVhbC10aW1lIGNsb2NrIChSVEMpLCB0aGUgUlRDIGJhY2t1cCByZWdpc3RlcnMsIGFuZCB0aGUgYmFja3VwCiAgICAgICAgU1JBTSAoQktQIFNSQU0pIGNhbiBiZSBwb3dlcmVkIGZyb20gdGhlIFZCQVQgdm9sdGFnZSB3aGVuIHRoZSBtYWluCiAgICAgICAgVkREIHN1cHBseSBpcyBwb3dlcmVkIG9mZi4KLSAgICAgICBUbyByZXRhaW4gdGhlIGNvbnRlbnQgb2YgdGhlIFJUQyBiYWNrdXAgcmVnaXN0ZXJzLCBiYWNrdXAgU1JBTSwgYW5kIHN1cHBseQorICAgICAgIFRvIHJldGFpbiB0aGUgY29udGVudCBvZiB0aGUgUlRDIGJhY2t1cCByZWdpc3RlcnMsIEJLUCBTUkFNLCBhbmQgc3VwcGx5CiAgICAgICAgdGhlIFJUQyB3aGVuIFZERCBpcyB0dXJuZWQgb2ZmLCBWQkFUIHBpbiBjYW4gYmUgY29ubmVjdGVkIHRvIGFuIG9wdGlvbmFsCiAgICAgICAgc3RhbmRieSB2b2x0YWdlIHN1cHBsaWVkIGJ5IGEgYmF0dGVyeSBvciBieSBhbm90aGVyIHNvdXJjZS4KIApAQCAtMjYsNyArMzcsNyBAQAogICAgICAgIG9mZiwgdGhlIFZCQVQgcGluIHBvd2VycyB0aGUgZm9sbG93aW5nIGJsb2NrczoKICAgICAoIykgVGhlIFJUQwogICAgICgjKSBUaGUgTFNFIG9zY2lsbGF0b3IKLSAgICAoIykgVGhlIGJhY2t1cCBTUkFNIHdoZW4gdGhlIGxvdyBwb3dlciBiYWNrdXAgcmVndWxhdG9yIGlzIGVuYWJsZWQKKyAgICAoIykgVGhlIEJLUCBTUkFNIHdoZW4gdGhlIGxvdyBwb3dlciBiYWNrdXAgcmVndWxhdG9yIGlzIGVuYWJsZWQKICAgICAoIykgUEMxMyB0byBQQzE1IEkvT3MsIHBsdXMgUEk4IEkvTyAod2hlbiBhdmFpbGFibGUpCiAKICAgWy4uXSBXaGVuIHRoZSBiYWNrdXAgZG9tYWluIGlzIHN1cHBsaWVkIGJ5IFZERCAoYW5hbG9nIHN3aXRjaCBjb25uZWN0ZWQgdG8gVkREKSwKQEAgLTQ0LDkgKzU1LDEwIEBACiAgICAgICAgICAgICAgICAgICAgIyMjIyMgQmFja3VwIERvbWFpbiBSZXNldCAjIyMjIwogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgWy4uXSBUaGUgYmFja3VwIGRvbWFpbiByZXNldCBzZXRzIGFsbCBSVEMgcmVnaXN0ZXJzIGFuZCB0aGUgUkNDX0JEQ1IgcmVnaXN0ZXIKLSAgICAgICB0byB0aGVpciByZXNldCB2YWx1ZXMuIFRoZSBCS1BTUkFNIGlzIG5vdCBhZmZlY3RlZCBieSB0aGlzIHJlc2V0LiBUaGUgb25seQotICAgICAgIHdheSB0byByZXNldCB0aGUgQktQU1JBTSBpcyB0aHJvdWdoIHRoZSBGbGFzaCBpbnRlcmZhY2UgYnkgcmVxdWVzdGluZwotICAgICAgIGEgcHJvdGVjdGlvbiBsZXZlbCBjaGFuZ2UgZnJvbSAxIHRvIDAuCisgICAgICAgdG8gdGhlaXIgcmVzZXQgdmFsdWVzLgorICAgICAgIFRoZSBCS1AgU1JBTSBpcyBub3QgYWZmZWN0ZWQgYnkgdGhpcyByZXNldC4gVGhlIG9ubHkgd2F5IHRvIHJlc2V0IHRoZSBCS1AKKyAgICAgICBTUkFNIGlzIHRocm91Z2ggdGhlIEZsYXNoIGludGVyZmFjZSBieSByZXF1ZXN0aW5nIGEgcHJvdGVjdGlvbiBsZXZlbAorICAgICAgIGNoYW5nZSBmcm9tIDEgdG8gMC4KICAgWy4uXSBBIGJhY2t1cCBkb21haW4gcmVzZXQgaXMgZ2VuZXJhdGVkIHdoZW4gb25lIG9mIHRoZSBmb2xsb3dpbmcgZXZlbnRzIG9jY3VyczoKICAgICAoIykgU29mdHdhcmUgcmVzZXQsIHRyaWdnZXJlZCBieSBzZXR0aW5nIHRoZSBCRFJTVCBiaXQgaW4gdGhlCiAgICAgICAgIFJDQyBCYWNrdXAgZG9tYWluIGNvbnRyb2wgcmVnaXN0ZXIgKFJDQ19CRENSKS4KQEAgLTU0LDE5ICs2NiwxOCBAQAogCiAgICAgICAgICAgICAgICAgICAgIyMjIyMgQmFja3VwIERvbWFpbiBBY2Nlc3MgIyMjIyMKICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0gIFsuLl0gQWZ0ZXIgcmVzZXQsIHRoZSBiYWNrdXAgZG9tYWluIChSVEMgcmVnaXN0ZXJzLCBSVEMgYmFja3VwIGRhdGEKLSAgICAgICByZWdpc3RlcnMgYW5kIGJhY2t1cCBTUkFNKSBpcyBwcm90ZWN0ZWQgYWdhaW5zdCBwb3NzaWJsZSB1bndhbnRlZCB3cml0ZQotICAgICAgIGFjY2Vzc2VzLgorICBbLi5dIEFmdGVyIHJlc2V0LCB0aGUgYmFja3VwIGRvbWFpbiAoUlRDIHJlZ2lzdGVycywgUlRDIGJhY2t1cCBkYXRhIHJlZ2lzdGVycworICAgICAgIGFuZCBCS1AgU1JBTSkgaXMgcHJvdGVjdGVkIGFnYWluc3QgcG9zc2libGUgdW53YW50ZWQgd3JpdGUgYWNjZXNzZXMuCiAgIFsuLl0gVG8gZW5hYmxlIGFjY2VzcyB0byB0aGUgUlRDIERvbWFpbiBhbmQgUlRDIHJlZ2lzdGVycywgcHJvY2VlZCBhcyBmb2xsb3dzOgogICAgICgrKSBFbmFibGUgdGhlIFBvd2VyIENvbnRyb2xsZXIgKFBXUikgQVBCMSBpbnRlcmZhY2UgY2xvY2sgdXNpbmcgdGhlCi0gICAgICAgIF9fSEFMX1JDQ19QV1JfQ0xLX0VOQUJMRSgpIGZ1bmN0aW9uLgorICAgICAgICBfX0hBTF9SQ0NfUFdSX0NMS19FTkFCTEUoKSBtYWNyby4KICAgICAoKykgRW5hYmxlIGFjY2VzcyB0byBSVEMgZG9tYWluIHVzaW5nIHRoZSBIQUxfUFdSX0VuYWJsZUJrVXBBY2Nlc3MoKSBmdW5jdGlvbi4KLSAgICAoKykgU2VsZWN0IHRoZSBSVEMgY2xvY2sgc291cmNlIHVzaW5nIHRoZSBfX0hBTF9SQ0NfUlRDX0NPTkZJRygpIGZ1bmN0aW9uLgotICAgICgrKSBFbmFibGUgUlRDIENsb2NrIHVzaW5nIHRoZSBfX0hBTF9SQ0NfUlRDX0VOQUJMRSgpIGZ1bmN0aW9uLgorICAgICgrKSBTZWxlY3QgdGhlIFJUQyBjbG9jayBzb3VyY2UgdXNpbmcgdGhlIF9fSEFMX1JDQ19SVENfQ09ORklHKCkgbWFjcm8uCisgICAgKCspIEVuYWJsZSBSVEMgQ2xvY2sgdXNpbmcgdGhlIF9fSEFMX1JDQ19SVENfRU5BQkxFKCkgbWFjcm8uCiAKLQotICAgICAgICAgICAgICAgICAgIyMjIyMgSG93IHRvIHVzZSB0aGlzIGRyaXZlciAjIyMjIwotICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgICAgICAgICAgICAgICAgICAgICAgICAjIyMjIyBIb3cgdG8gdXNlIHRoaXMgZHJpdmVyICMjIyMjCisgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICBbLi5dCiAgICAgKCspIEVuYWJsZSB0aGUgUlRDIGRvbWFpbiBhY2Nlc3MgKHNlZSBkZXNjcmlwdGlvbiBpbiB0aGUgc2VjdGlvbiBhYm92ZSkuCiAgICAgKCspIENvbmZpZ3VyZSB0aGUgUlRDIFByZXNjYWxlciAoQXN5bmNocm9ub3VzIGFuZCBTeW5jaHJvbm91cykgYW5kIFJUQyBob3VyCkBAIC03NywxMyArODgsMjEgQEAKICAgWy4uXQogICAgICgrKSBUbyBjb25maWd1cmUgdGhlIFJUQyBDYWxlbmRhciAoVGltZSBhbmQgRGF0ZSkgdXNlIHRoZSBIQUxfUlRDX1NldFRpbWUoKQogICAgICAgICBhbmQgSEFMX1JUQ19TZXREYXRlKCkgZnVuY3Rpb25zLgotICAgICgrKSBUbyByZWFkIHRoZSBSVEMgQ2FsZW5kYXIsIHVzZSB0aGUgSEFMX1JUQ19HZXRUaW1lKCkgYW5kIEhBTF9SVENfR2V0RGF0ZSgpIGZ1bmN0aW9ucy4KKyAgICAoKykgVG8gcmVhZCB0aGUgUlRDIENhbGVuZGFyLCB1c2UgdGhlIEhBTF9SVENfR2V0VGltZSgpIGFuZCBIQUxfUlRDX0dldERhdGUoKQorICAgICAgICBmdW5jdGlvbnMuCisgICAgKCspIFRvIG1hbmFnZSB0aGUgUlRDIHN1bW1lciBvciB3aW50ZXIgdGltZSBjaGFuZ2UsIHVzZSB0aGUgZm9sbG93aW5nCisgICAgICAgIGZ1bmN0aW9uczoKKyAgICAgICAgKCsrKSBIQUxfUlRDX0RTVF9BZGQxSG91cigpIG9yIEhBTF9SVENfRFNUX1N1YjFIb3VyIHRvIGFkZCBvciBzdWJ0cmFjdAorICAgICAgICAgICAgIDEgaG91ciBmcm9tIHRoZSBjYWxlbmRhciB0aW1lLgorICAgICAgICAoKyspIEhBTF9SVENfRFNUX1NldFN0b3JlT3BlcmF0aW9uKCkgb3IgSEFMX1JUQ19EU1RfQ2xlYXJTdG9yZU9wZXJhdGlvbgorICAgICAgICAgICAgIHRvIG1lbW9yaXplIHdoZXRoZXIgdGhlIHRpbWUgY2hhbmdlIGhhcyBiZWVuIHBlcmZvcm1lZCBvciBub3QuCiAKICAgKioqIEFsYXJtIGNvbmZpZ3VyYXRpb24gKioqCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PQogICBbLi5dCiAgICAgKCspIFRvIGNvbmZpZ3VyZSB0aGUgUlRDIEFsYXJtIHVzZSB0aGUgSEFMX1JUQ19TZXRBbGFybSgpIGZ1bmN0aW9uLgotICAgICAgICBZb3UgY2FuIGFsc28gY29uZmlndXJlIHRoZSBSVEMgQWxhcm0gd2l0aCBpbnRlcnJ1cHQgbW9kZSB1c2luZyB0aGUgSEFMX1JUQ19TZXRBbGFybV9JVCgpIGZ1bmN0aW9uLgorICAgICAgICBZb3UgY2FuIGFsc28gY29uZmlndXJlIHRoZSBSVEMgQWxhcm0gd2l0aCBpbnRlcnJ1cHQgbW9kZSB1c2luZyB0aGUKKyAgICAgICAgSEFMX1JUQ19TZXRBbGFybV9JVCgpIGZ1bmN0aW9uLgogICAgICgrKSBUbyByZWFkIHRoZSBSVEMgQWxhcm0sIHVzZSB0aGUgSEFMX1JUQ19HZXRBbGFybSgpIGZ1bmN0aW9uLgogCiAgICAgICAgICAgICAgICAgICAjIyMjIyBSVEMgYW5kIGxvdyBwb3dlciBtb2RlcyAjIyMjIwpAQCAtOTEsMzAgKzExMCwyOCBAQAogICBbLi5dIFRoZSBNQ1UgY2FuIGJlIHdva2VuIHVwIGZyb20gYSBsb3cgcG93ZXIgbW9kZSBieSBhbiBSVEMgYWx0ZXJuYXRlCiAgICAgICAgZnVuY3Rpb24uCiAgIFsuLl0gVGhlIFJUQyBhbHRlcm5hdGUgZnVuY3Rpb25zIGFyZSB0aGUgUlRDIGFsYXJtcyAoQWxhcm0gQSBhbmQgQWxhcm0gQiksCi0gICAgICAgUlRDIHdha2UtdXAsIFJUQyB0YW1wZXIgZXZlbnQgZGV0ZWN0aW9uIGFuZCBSVEMgdGltZSBzdGFtcCBldmVudCBkZXRlY3Rpb24uCisgICAgICAgUlRDIHdha2V1cCwgUlRDIHRhbXBlciBldmVudCBkZXRlY3Rpb24gYW5kIFJUQyB0aW1lc3RhbXAgZXZlbnQgZGV0ZWN0aW9uLgogICAgICAgIFRoZXNlIFJUQyBhbHRlcm5hdGUgZnVuY3Rpb25zIGNhbiB3YWtlIHVwIHRoZSBzeXN0ZW0gZnJvbSB0aGUgU3RvcCBhbmQKICAgICAgICBTdGFuZGJ5IGxvdyBwb3dlciBtb2Rlcy4KICAgWy4uXSBUaGUgc3lzdGVtIGNhbiBhbHNvIHdha2UgdXAgZnJvbSBsb3cgcG93ZXIgbW9kZXMgd2l0aG91dCBkZXBlbmRpbmcKLSAgICAgICBvbiBhbiBleHRlcm5hbCBpbnRlcnJ1cHQgKEF1dG8td2FrZS11cCBtb2RlKSwgYnkgdXNpbmcgdGhlIFJUQyBhbGFybQotICAgICAgIG9yIHRoZSBSVEMgd2FrZS11cCBldmVudHMuCisgICAgICAgb24gYW4gZXh0ZXJuYWwgaW50ZXJydXB0IChBdXRvLXdha2V1cCBtb2RlKSwgYnkgdXNpbmcgdGhlIFJUQyBhbGFybQorICAgICAgIG9yIHRoZSBSVEMgd2FrZXVwIGV2ZW50cy4KICAgWy4uXSBUaGUgUlRDIHByb3ZpZGVzIGEgcHJvZ3JhbW1hYmxlIHRpbWUgYmFzZSBmb3Igd2FraW5nIHVwIGZyb20gdGhlCiAgICAgICAgU3RvcCBvciBTdGFuZGJ5IG1vZGUgYXQgcmVndWxhciBpbnRlcnZhbHMuCi0gICAgICAgV2FrZS11cCBmcm9tIFNUT1AgYW5kIFNUQU5EQlkgbW9kZXMgaXMgcG9zc2libGUgb25seSB3aGVuIHRoZSBSVEMgY2xvY2sgc291cmNlCi0gICAgICAgaXMgTFNFIG9yIExTSS4KKyAgICAgICBXYWtldXAgZnJvbSBTVE9QIGFuZCBTVEFOREJZIG1vZGVzIGlzIHBvc3NpYmxlIG9ubHkgd2hlbiB0aGUgUlRDIGNsb2NrCisgICAgICAgc291cmNlIGlzIExTRSBvciBMU0kuCiAKICAgKioqIENhbGxiYWNrIHJlZ2lzdHJhdGlvbiAqKioKICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0KICAgWy4uXQogICBUaGUgY29tcGlsYXRpb24gZGVmaW5lICBVU0VfSEFMX1JUQ19SRUdJU1RFUl9DQUxMQkFDS1Mgd2hlbiBzZXQgdG8gMQogICBhbGxvd3MgdGhlIHVzZXIgdG8gY29uZmlndXJlIGR5bmFtaWNhbGx5IHRoZSBkcml2ZXIgY2FsbGJhY2tzLgogICBVc2UgRnVuY3Rpb24gSEFMX1JUQ19SZWdpc3RlckNhbGxiYWNrKCkgdG8gcmVnaXN0ZXIgYW4gaW50ZXJydXB0IGNhbGxiYWNrLgotCiAgIFsuLl0KICAgRnVuY3Rpb24gSEFMX1JUQ19SZWdpc3RlckNhbGxiYWNrKCkgYWxsb3dzIHRvIHJlZ2lzdGVyIGZvbGxvd2luZyBjYWxsYmFja3M6CiAgICAgKCspIEFsYXJtQUV2ZW50Q2FsbGJhY2sgICAgICAgICAgOiBSVEMgQWxhcm0gQSBFdmVudCBjYWxsYmFjay4KICAgICAoKykgQWxhcm1CRXZlbnRDYWxsYmFjayAgICAgICAgICA6IFJUQyBBbGFybSBCIEV2ZW50IGNhbGxiYWNrLgotICAgICgrKSBUaW1lU3RhbXBFdmVudENhbGxiYWNrICAgICAgIDogUlRDIFRpbWVTdGFtcCBFdmVudCBjYWxsYmFjay4KKyAgICAoKykgVGltZVN0YW1wRXZlbnRDYWxsYmFjayAgICAgICA6IFJUQyBUaW1lc3RhbXAgRXZlbnQgY2FsbGJhY2suCiAgICAgKCspIFdha2VVcFRpbWVyRXZlbnRDYWxsYmFjayAgICAgOiBSVEMgV2FrZVVwVGltZXIgRXZlbnQgY2FsbGJhY2suCiAgICAgKCspIFRhbXBlcjFFdmVudENhbGxiYWNrICAgICAgICAgOiBSVEMgVGFtcGVyIDEgRXZlbnQgY2FsbGJhY2suCiAgICAgKCspIFRhbXBlcjJFdmVudENhbGxiYWNrICAgICAgICAgOiBSVEMgVGFtcGVyIDIgRXZlbnQgY2FsbGJhY2suCkBAIC0xMjMsNyArMTQwLDYgQEAKICAgWy4uXQogICBUaGlzIGZ1bmN0aW9uIHRha2VzIGFzIHBhcmFtZXRlcnMgdGhlIEhBTCBwZXJpcGhlcmFsIGhhbmRsZSwgdGhlIENhbGxiYWNrIElECiAgIGFuZCBhIHBvaW50ZXIgdG8gdGhlIHVzZXIgY2FsbGJhY2sgZnVuY3Rpb24uCi0KICAgWy4uXQogICBVc2UgZnVuY3Rpb24gSEFMX1JUQ19VblJlZ2lzdGVyQ2FsbGJhY2soKSB0byByZXNldCBhIGNhbGxiYWNrIHRvIHRoZSBkZWZhdWx0CiAgIHdlYWsgZnVuY3Rpb24uCkBAIC0xMzIsNDkgKzE0OCwzNiBAQAogICBUaGlzIGZ1bmN0aW9uIGFsbG93cyB0byByZXNldCBmb2xsb3dpbmcgY2FsbGJhY2tzOgogICAgICgrKSBBbGFybUFFdmVudENhbGxiYWNrICAgICAgICAgIDogUlRDIEFsYXJtIEEgRXZlbnQgY2FsbGJhY2suCiAgICAgKCspIEFsYXJtQkV2ZW50Q2FsbGJhY2sgICAgICAgICAgOiBSVEMgQWxhcm0gQiBFdmVudCBjYWxsYmFjay4KLSAgICAoKykgVGltZVN0YW1wRXZlbnRDYWxsYmFjayAgICAgICA6IFJUQyBUaW1lU3RhbXAgRXZlbnQgY2FsbGJhY2suCisgICAgKCspIFRpbWVTdGFtcEV2ZW50Q2FsbGJhY2sgICAgICAgOiBSVEMgVGltZXN0YW1wIEV2ZW50IGNhbGxiYWNrLgogICAgICgrKSBXYWtlVXBUaW1lckV2ZW50Q2FsbGJhY2sgICAgIDogUlRDIFdha2VVcFRpbWVyIEV2ZW50IGNhbGxiYWNrLgogICAgICgrKSBUYW1wZXIxRXZlbnRDYWxsYmFjayAgICAgICAgIDogUlRDIFRhbXBlciAxIEV2ZW50IGNhbGxiYWNrLgogICAgICgrKSBUYW1wZXIyRXZlbnRDYWxsYmFjayAgICAgICAgIDogUlRDIFRhbXBlciAyIEV2ZW50IGNhbGxiYWNrLgogICAgICgrKSBNc3BJbml0Q2FsbGJhY2sgICAgICAgICAgICAgIDogUlRDIE1zcEluaXQgY2FsbGJhY2suCiAgICAgKCspIE1zcERlSW5pdENhbGxiYWNrICAgICAgICAgICAgOiBSVEMgTXNwRGVJbml0IGNhbGxiYWNrLgotCiAgIFsuLl0KICAgQnkgZGVmYXVsdCwgYWZ0ZXIgdGhlIEhBTF9SVENfSW5pdCgpIGFuZCB3aGVuIHRoZSBzdGF0ZSBpcyBIQUxfUlRDX1NUQVRFX1JFU0VULAotICBhbGwgY2FsbGJhY2tzIGFyZSBzZXQgdG8gdGhlIGNvcnJlc3BvbmRpbmcgd2VhayBmdW5jdGlvbnMgOgorICBhbGwgY2FsbGJhY2tzIGFyZSBzZXQgdG8gdGhlIGNvcnJlc3BvbmRpbmcgd2VhayBmdW5jdGlvbnM6CiAgIGV4YW1wbGVzIEFsYXJtQUV2ZW50Q2FsbGJhY2soKSwgV2FrZVVwVGltZXJFdmVudENhbGxiYWNrKCkuCi0gIEV4Y2VwdGlvbiBkb25lIGZvciBNc3BJbml0IGFuZCBNc3BEZUluaXQgY2FsbGJhY2tzIHRoYXQgYXJlIHJlc2V0IHRvIHRoZSBsZWdhY3kgd2VhayBmdW5jdGlvbgotICBpbiB0aGUgSEFMX1JUQ19Jbml0KCkvSEFMX1JUQ19EZUluaXQoKSBvbmx5IHdoZW4gdGhlc2UgY2FsbGJhY2tzIGFyZSBudWxsCi0gIChub3QgcmVnaXN0ZXJlZCBiZWZvcmVoYW5kKS4KLSAgSWYgbm90LCBNc3BJbml0IG9yIE1zcERlSW5pdCBhcmUgbm90IG51bGwsIEhBTF9SVENfSW5pdCgpL0hBTF9SVENfRGVJbml0KCkKLSAga2VlcCBhbmQgdXNlIHRoZSB1c2VyIE1zcEluaXQvTXNwRGVJbml0IGNhbGxiYWNrcyAocmVnaXN0ZXJlZCBiZWZvcmVoYW5kKQotCisgIEV4Y2VwdGlvbiBkb25lIGZvciBNc3BJbml0KCkgYW5kIE1zcERlSW5pdCgpIGNhbGxiYWNrcyB0aGF0IGFyZSByZXNldCB0byB0aGUKKyAgbGVnYWN5IHdlYWsgZnVuY3Rpb24gaW4gdGhlIEhBTF9SVENfSW5pdCgpL0hBTF9SVENfRGVJbml0KCkgb25seQorICB3aGVuIHRoZXNlIGNhbGxiYWNrcyBhcmUgbnVsbCAobm90IHJlZ2lzdGVyZWQgYmVmb3JlaGFuZCkuCisgIElmIG5vdCwgTXNwSW5pdCgpIG9yIE1zcERlSW5pdCgpIGFyZSBub3QgbnVsbCwgSEFMX1JUQ19Jbml0KCkvSEFMX1JUQ19EZUluaXQoKQorICBrZWVwIGFuZCB1c2UgdGhlIHVzZXIgTXNwSW5pdCgpL01zcERlSW5pdCgpIGNhbGxiYWNrcyAocmVnaXN0ZXJlZCBiZWZvcmVoYW5kKS4KICAgWy4uXQogICBDYWxsYmFja3MgY2FuIGJlIHJlZ2lzdGVyZWQvdW5yZWdpc3RlcmVkIGluIEhBTF9SVENfU1RBVEVfUkVBRFkgc3RhdGUgb25seS4KLSAgRXhjZXB0aW9uIGRvbmUgTXNwSW5pdC9Nc3BEZUluaXQgdGhhdCBjYW4gYmUgcmVnaXN0ZXJlZC91bnJlZ2lzdGVyZWQKLSAgaW4gSEFMX1JUQ19TVEFURV9SRUFEWSBvciBIQUxfUlRDX1NUQVRFX1JFU0VUIHN0YXRlLAotICB0aHVzIHJlZ2lzdGVyZWQgKHVzZXIpIE1zcEluaXQvRGVJbml0IGNhbGxiYWNrcyBjYW4gYmUgdXNlZCBkdXJpbmcgdGhlIEluaXQvRGVJbml0LgotICBJbiB0aGF0IGNhc2UgZmlyc3QgcmVnaXN0ZXIgdGhlIE1zcEluaXQvTXNwRGVJbml0IHVzZXIgY2FsbGJhY2tzCisgIEV4Y2VwdGlvbiBkb25lIE1zcEluaXQoKS9Nc3BEZUluaXQoKSB0aGF0IGNhbiBiZSByZWdpc3RlcmVkL3VucmVnaXN0ZXJlZAorICBpbiBIQUxfUlRDX1NUQVRFX1JFQURZIG9yIEhBTF9SVENfU1RBVEVfUkVTRVQgc3RhdGUuCisgIFRodXMgcmVnaXN0ZXJlZCAodXNlcikgTXNwSW5pdCgpL01zcERlSW5pdCgpIGNhbGxiYWNrcyBjYW4gYmUgdXNlZCBkdXJpbmcgdGhlCisgIEluaXQvRGVJbml0LgorICBJbiB0aGF0IGNhc2UgZmlyc3QgcmVnaXN0ZXIgdGhlIE1zcEluaXQoKS9Nc3BEZUluaXQoKSB1c2VyIGNhbGxiYWNrcwogICB1c2luZyBIQUxfUlRDX1JlZ2lzdGVyQ2FsbGJhY2soKSBiZWZvcmUgY2FsbGluZyBIQUxfUlRDX0RlSW5pdCgpCi0gIG9yIEhBTF9SVENfSW5pdCgpIGZ1bmN0aW9uLgotCisgIG9yIEhBTF9SVENfSW5pdCgpIGZ1bmN0aW9ucy4KICAgWy4uXQogICBXaGVuIFRoZSBjb21waWxhdGlvbiBkZWZpbmUgVVNFX0hBTF9SVENfUkVHSVNURVJfQ0FMTEJBQ0tTIGlzIHNldCB0byAwIG9yCi0gIG5vdCBkZWZpbmVkLCB0aGUgY2FsbGJhY2sgcmVnaXN0cmF0aW9uIGZlYXR1cmUgaXMgbm90IGF2YWlsYWJsZSBhbmQgYWxsIGNhbGxiYWNrcwotICBhcmUgc2V0IHRvIHRoZSBjb3JyZXNwb25kaW5nIHdlYWsgZnVuY3Rpb25zLgotICAgQGVuZHZlcmJhdGltCisgIG5vdCBkZWZpbmVkLCB0aGUgY2FsbGJhY2sgcmVnaXN0cmF0aW9uIGZlYXR1cmUgaXMgbm90IGF2YWlsYWJsZSBhbmQgYWxsCisgIGNhbGxiYWNrcyBhcmUgc2V0IHRvIHRoZSBjb3JyZXNwb25kaW5nIHdlYWsgZnVuY3Rpb25zLgogCi0gICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICAqIEBhdHRlbnRpb24KLSAgKgotICAqIDxoMj48Y2VudGVyPiZjb3B5OyBDb3B5cmlnaHQgKGMpIDIwMTcgU1RNaWNyb2VsZWN0cm9uaWNzLgotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9jZW50ZXI+PC9oMj4KLSAgKgotICAqIFRoaXMgc29mdHdhcmUgY29tcG9uZW50IGlzIGxpY2Vuc2VkIGJ5IFNUIHVuZGVyIEJTRCAzLUNsYXVzZSBsaWNlbnNlLAotICAqIHRoZSAiTGljZW5zZSI7IFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUKLSAgKiBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQ6Ci0gICogICAgICAgICAgICAgICAgICAgICAgICBvcGVuc291cmNlLm9yZy9saWNlbnNlcy9CU0QtMy1DbGF1c2UKLSAgKgorICBAZW5kdmVyYmF0aW0KICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICovCiAKQEAgLTE4Niw3ICsxODksNyBAQAogICAqLwogCiAvKiogQGRlZmdyb3VwIFJUQyBSVEMKLSAgKiBAYnJpZWYgUlRDIEhBTCBtb2R1bGUgZHJpdmVyCisgICogQGJyaWVmICAgIFJUQyBIQUwgbW9kdWxlIGRyaXZlcgogICAqIEB7CiAgICovCiAKQEAgLTIwNCw4ICsyMDcsOCBAQAogICAqLwogCiAvKiogQGRlZmdyb3VwIFJUQ19FeHBvcnRlZF9GdW5jdGlvbnNfR3JvdXAxIEluaXRpYWxpemF0aW9uIGFuZCBkZS1pbml0aWFsaXphdGlvbiBmdW5jdGlvbnMKLSAqICBAYnJpZWYgICAgSW5pdGlhbGl6YXRpb24gYW5kIENvbmZpZ3VyYXRpb24gZnVuY3Rpb25zCi0gKgorICAqIEBicmllZiAgICBJbml0aWFsaXphdGlvbiBhbmQgQ29uZmlndXJhdGlvbiBmdW5jdGlvbnMKKyAgKgogQHZlcmJhdGltCiAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgICAgICAgICAgICAjIyMjIyBJbml0aWFsaXphdGlvbiBhbmQgZGUtaW5pdGlhbGl6YXRpb24gZnVuY3Rpb25zICMjIyMjCkBAIC0yMTYsNyArMjE5LDcgQEAKICAgICAgICAgIFJUQyByZWdpc3RlcnMgc3luY2hyb25pemF0aW9uIGNoZWNrIGFuZCByZWZlcmVuY2UgY2xvY2sgZGV0ZWN0aW9uIGVuYWJsZS4KICAgICAgICAgICgjKSBUaGUgUlRDIFByZXNjYWxlciBpcyBwcm9ncmFtbWVkIHRvIGdlbmVyYXRlIHRoZSBSVEMgMUh6IHRpbWUgYmFzZS4KICAgICAgICAgICAgICBJdCBpcyBzcGxpdCBpbnRvIDIgcHJvZ3JhbW1hYmxlIHByZXNjYWxlcnMgdG8gbWluaW1pemUgcG93ZXIgY29uc3VtcHRpb24uCi0gICAgICAgICAgICAgKCsrKSBBIDctYml0IGFzeW5jaHJvbm91cyBwcmVzY2FsZXIgYW5kIGEgMTMtYml0IHN5bmNocm9ub3VzIHByZXNjYWxlci4KKyAgICAgICAgICAgICAoKyspIEEgNy1iaXQgYXN5bmNocm9ub3VzIHByZXNjYWxlciBhbmQgYSAxNS1iaXQgc3luY2hyb25vdXMgcHJlc2NhbGVyLgogICAgICAgICAgICAgICgrKykgV2hlbiBib3RoIHByZXNjYWxlcnMgYXJlIHVzZWQsIGl0IGlzIHJlY29tbWVuZGVkIHRvIGNvbmZpZ3VyZSB0aGUKICAgICAgICAgICAgICAgICAgYXN5bmNocm9ub3VzIHByZXNjYWxlciB0byBhIGhpZ2ggdmFsdWUgdG8gbWluaW1pemUgcG93ZXIgY29uc3VtcHRpb24uCiAgICAgICAgICAoIykgQWxsIFJUQyByZWdpc3RlcnMgYXJlIFdyaXRlIHByb3RlY3RlZC4gV3JpdGluZyB0byB0aGUgUlRDIHJlZ2lzdGVycwpAQCAtMjI2LDExICsyMjksMTEgQEAKICAgICAgICAgICAgICBhbmQgaXRzIHZhbHVlIGNhbiBiZSB1cGRhdGVkLiBXaGVuIHRoZSBpbml0aWFsaXphdGlvbiBzZXF1ZW5jZSBpcwogICAgICAgICAgICAgIGNvbXBsZXRlLCB0aGUgY2FsZW5kYXIgcmVzdGFydHMgY291bnRpbmcgYWZ0ZXIgNCBSVENDTEsgY3ljbGVzLgogICAgICAgICAgKCMpIFRvIHJlYWQgdGhlIGNhbGVuZGFyIHRocm91Z2ggdGhlIHNoYWRvdyByZWdpc3RlcnMgYWZ0ZXIgQ2FsZW5kYXIKLSAgICAgICAgICAgICBpbml0aWFsaXphdGlvbiwgY2FsZW5kYXIgdXBkYXRlIG9yIGFmdGVyIHdha2UtdXAgZnJvbSBsb3cgcG93ZXIgbW9kZXMKKyAgICAgICAgICAgICBpbml0aWFsaXphdGlvbiwgY2FsZW5kYXIgdXBkYXRlIG9yIGFmdGVyIHdha2V1cCBmcm9tIGxvdyBwb3dlciBtb2RlcwogICAgICAgICAgICAgIHRoZSBzb2Z0d2FyZSBtdXN0IGZpcnN0IGNsZWFyIHRoZSBSU0YgZmxhZy4gVGhlIHNvZnR3YXJlIG11c3QgdGhlbgogICAgICAgICAgICAgIHdhaXQgdW50aWwgaXQgaXMgc2V0IGFnYWluIGJlZm9yZSByZWFkaW5nIHRoZSBjYWxlbmRhciwgd2hpY2ggbWVhbnMKICAgICAgICAgICAgICB0aGF0IHRoZSBjYWxlbmRhciByZWdpc3RlcnMgaGF2ZSBiZWVuIGNvcnJlY3RseSBjb3BpZWQgaW50byB0aGUKLSAgICAgICAgICAgICBSVENfVFIgYW5kIFJUQ19EUiBzaGFkb3cgcmVnaXN0ZXJzLlRoZSBIQUxfUlRDX1dhaXRGb3JTeW5jaHJvKCkgZnVuY3Rpb24KKyAgICAgICAgICAgICBSVENfVFIgYW5kIFJUQ19EUiBzaGFkb3cgcmVnaXN0ZXJzLiBUaGUgSEFMX1JUQ19XYWl0Rm9yU3luY2hybygpIGZ1bmN0aW9uCiAgICAgICAgICAgICAgaW1wbGVtZW50cyB0aGUgYWJvdmUgc29mdHdhcmUgc2VxdWVuY2UgKFJTRiBjbGVhciBhbmQgUlNGIGNoZWNrKS4KIAogQGVuZHZlcmJhdGltCkBAIC0yNDUsMjIgKzI0OCwyNSBAQAogICAqLwogSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1JUQ19Jbml0KFJUQ19IYW5kbGVUeXBlRGVmICpocnRjKQogewotICAvKiBDaGVjayB0aGUgUlRDIHBlcmlwaGVyYWwgc3RhdGUgKi8KLSAgaWYoaHJ0YyA9PSBOVUxMKQorICBIQUxfU3RhdHVzVHlwZURlZiBzdGF0dXMgPSBIQUxfRVJST1I7CisKKyAgLyogQ2hlY2sgUlRDIGhhbmRsZXIgdmFsaWRpdHkgKi8KKyAgaWYgKGhydGMgPT0gTlVMTCkKICAgewotICAgICByZXR1cm4gSEFMX0VSUk9SOworICAgIHJldHVybiBIQUxfRVJST1I7CiAgIH0KIAogICAvKiBDaGVjayB0aGUgcGFyYW1ldGVycyAqLworICBhc3NlcnRfcGFyYW0oSVNfUlRDX0FMTF9JTlNUQU5DRShocnRjLT5JbnN0YW5jZSkpOwogICBhc3NlcnRfcGFyYW0oSVNfUlRDX0hPVVJfRk9STUFUKGhydGMtPkluaXQuSG91ckZvcm1hdCkpOwogICBhc3NlcnRfcGFyYW0oSVNfUlRDX0FTWU5DSF9QUkVESVYoaHJ0Yy0+SW5pdC5Bc3luY2hQcmVkaXYpKTsKICAgYXNzZXJ0X3BhcmFtKElTX1JUQ19TWU5DSF9QUkVESVYoaHJ0Yy0+SW5pdC5TeW5jaFByZWRpdikpOwotICBhc3NlcnRfcGFyYW0gKElTX1JUQ19PVVRQVVQoaHJ0Yy0+SW5pdC5PdXRQdXQpKTsKLSAgYXNzZXJ0X3BhcmFtIChJU19SVENfT1VUUFVUX1BPTChocnRjLT5Jbml0Lk91dFB1dFBvbGFyaXR5KSk7CisgIGFzc2VydF9wYXJhbShJU19SVENfT1VUUFVUKGhydGMtPkluaXQuT3V0UHV0KSk7CisgIGFzc2VydF9wYXJhbShJU19SVENfT1VUUFVUX1BPTChocnRjLT5Jbml0Lk91dFB1dFBvbGFyaXR5KSk7CiAgIGFzc2VydF9wYXJhbShJU19SVENfT1VUUFVUX1RZUEUoaHJ0Yy0+SW5pdC5PdXRQdXRUeXBlKSk7CiAKICNpZiAoVVNFX0hBTF9SVENfUkVHSVNURVJfQ0FMTEJBQ0tTID09IDEpCi0gIGlmKGhydGMtPlN0YXRlID09IEhBTF9SVENfU1RBVEVfUkVTRVQpCisgIGlmIChocnRjLT5TdGF0ZSA9PSBIQUxfUlRDX1NUQVRFX1JFU0VUKQogICB7CiAgICAgLyogQWxsb2NhdGUgbG9jayByZXNvdXJjZSBhbmQgaW5pdGlhbGl6ZSBpdCAqLwogICAgIGhydGMtPkxvY2sgPSBIQUxfVU5MT0NLRUQ7CkBAIC0yNzAsMjIgKzI3NiwyNCBAQAogICAgIGhydGMtPlRpbWVTdGFtcEV2ZW50Q2FsbGJhY2sgICAgICAgPSAgSEFMX1JUQ0V4X1RpbWVTdGFtcEV2ZW50Q2FsbGJhY2s7ICAgLyogTGVnYWN5IHdlYWsgVGltZVN0YW1wRXZlbnRDYWxsYmFjayAgICovCiAgICAgaHJ0Yy0+V2FrZVVwVGltZXJFdmVudENhbGxiYWNrICAgICA9ICBIQUxfUlRDRXhfV2FrZVVwVGltZXJFdmVudENhbGxiYWNrOyAvKiBMZWdhY3kgd2VhayBXYWtlVXBUaW1lckV2ZW50Q2FsbGJhY2sgKi8KICAgICBocnRjLT5UYW1wZXIxRXZlbnRDYWxsYmFjayAgICAgICAgID0gIEhBTF9SVENFeF9UYW1wZXIxRXZlbnRDYWxsYmFjazsgICAgIC8qIExlZ2FjeSB3ZWFrIFRhbXBlcjFFdmVudENhbGxiYWNrICAgICAqLworI2lmIGRlZmluZWQoUlRDX1RBTVBFUjJfU1VQUE9SVCkKICAgICBocnRjLT5UYW1wZXIyRXZlbnRDYWxsYmFjayAgICAgICAgID0gIEhBTF9SVENFeF9UYW1wZXIyRXZlbnRDYWxsYmFjazsgICAgIC8qIExlZ2FjeSB3ZWFrIFRhbXBlcjJFdmVudENhbGxiYWNrICAgICAqLworI2VuZGlmIC8qIFJUQ19UQU1QRVIyX1NVUFBPUlQgKi8KIAotICAgIGlmKGhydGMtPk1zcEluaXRDYWxsYmFjayA9PSBOVUxMKQorICAgIGlmIChocnRjLT5Nc3BJbml0Q2FsbGJhY2sgPT0gTlVMTCkKICAgICB7CiAgICAgICBocnRjLT5Nc3BJbml0Q2FsbGJhY2sgPSBIQUxfUlRDX01zcEluaXQ7CiAgICAgfQogICAgIC8qIEluaXQgdGhlIGxvdyBsZXZlbCBoYXJkd2FyZSAqLwogICAgIGhydGMtPk1zcEluaXRDYWxsYmFjayhocnRjKTsKIAotICAgIGlmKGhydGMtPk1zcERlSW5pdENhbGxiYWNrID09IE5VTEwpCisgICAgaWYgKGhydGMtPk1zcERlSW5pdENhbGxiYWNrID09IE5VTEwpCiAgICAgewogICAgICAgaHJ0Yy0+TXNwRGVJbml0Q2FsbGJhY2sgPSBIQUxfUlRDX01zcERlSW5pdDsKICAgICB9CiAgIH0KLSNlbHNlCi0gIGlmKGhydGMtPlN0YXRlID09IEhBTF9SVENfU1RBVEVfUkVTRVQpCisjZWxzZSAvKiBVU0VfSEFMX1JUQ19SRUdJU1RFUl9DQUxMQkFDS1MgKi8KKyAgaWYgKGhydGMtPlN0YXRlID09IEhBTF9SVENfU1RBVEVfUkVTRVQpCiAgIHsKICAgICAvKiBBbGxvY2F0ZSBsb2NrIHJlc291cmNlIGFuZCBpbml0aWFsaXplIGl0ICovCiAgICAgaHJ0Yy0+TG9jayA9IEhBTF9VTkxPQ0tFRDsKQEAgLTI5Myw3ICszMDEsNyBAQAogICAgIC8qIEluaXRpYWxpemUgUlRDIE1TUCAqLwogICAgIEhBTF9SVENfTXNwSW5pdChocnRjKTsKICAgfQotI2VuZGlmIC8qIChVU0VfSEFMX1JUQ19SRUdJU1RFUl9DQUxMQkFDS1MpICovCisjZW5kaWYgLyogVVNFX0hBTF9SVENfUkVHSVNURVJfQ0FMTEJBQ0tTICovCiAKICAgLyogU2V0IFJUQyBzdGF0ZSAqLwogICBocnRjLT5TdGF0ZSA9IEhBTF9SVENfU1RBVEVfQlVTWTsKQEAgLTMwMSwxOCArMzA5LDEwIEBACiAgIC8qIERpc2FibGUgdGhlIHdyaXRlIHByb3RlY3Rpb24gZm9yIFJUQyByZWdpc3RlcnMgKi8KICAgX19IQUxfUlRDX1dSSVRFUFJPVEVDVElPTl9ESVNBQkxFKGhydGMpOwogCi0gIC8qIFNldCBJbml0aWFsaXphdGlvbiBtb2RlICovCi0gIGlmKFJUQ19FbnRlckluaXRNb2RlKGhydGMpICE9IEhBTF9PSykKLSAgewotICAgIC8qIEVuYWJsZSB0aGUgd3JpdGUgcHJvdGVjdGlvbiBmb3IgUlRDIHJlZ2lzdGVycyAqLwotICAgIF9fSEFMX1JUQ19XUklURVBST1RFQ1RJT05fRU5BQkxFKGhydGMpOworICAvKiBFbnRlciBJbml0aWFsaXphdGlvbiBtb2RlICovCisgIHN0YXR1cyA9IFJUQ19FbnRlckluaXRNb2RlKGhydGMpOwogCi0gICAgLyogU2V0IFJUQyBzdGF0ZSAqLwotICAgIGhydGMtPlN0YXRlID0gSEFMX1JUQ19TVEFURV9FUlJPUjsKLQotICAgIHJldHVybiBIQUxfRVJST1I7Ci0gIH0KLSAgZWxzZQorICBpZiAoc3RhdHVzID09IEhBTF9PSykKICAgewogICAgIC8qIENsZWFyIFJUQ19DUiBGTVQsIE9TRUwgYW5kIFBPTCBCaXRzICovCiAgICAgaHJ0Yy0+SW5zdGFuY2UtPkNSICY9ICgodWludDMyX3QpfihSVENfQ1JfRk1UIHwgUlRDX0NSX09TRUwgfCBSVENfQ1JfUE9MKSk7CkBAIC0zMjEsNDggKzMyMSwzOSBAQAogCiAgICAgLyogQ29uZmlndXJlIHRoZSBSVEMgUFJFUiAqLwogICAgIGhydGMtPkluc3RhbmNlLT5QUkVSID0gKHVpbnQzMl90KShocnRjLT5Jbml0LlN5bmNoUHJlZGl2KTsKLSAgICBocnRjLT5JbnN0YW5jZS0+UFJFUiB8PSAodWludDMyX3QpKGhydGMtPkluaXQuQXN5bmNoUHJlZGl2IDw8IDE2VSk7CisgICAgaHJ0Yy0+SW5zdGFuY2UtPlBSRVIgfD0gKHVpbnQzMl90KShocnRjLT5Jbml0LkFzeW5jaFByZWRpdiA8PCBSVENfUFJFUl9QUkVESVZfQV9Qb3MpOwogCiAgICAgLyogRXhpdCBJbml0aWFsaXphdGlvbiBtb2RlICovCi0gICAgaHJ0Yy0+SW5zdGFuY2UtPklTUiAmPSAodWludDMyX3QpflJUQ19JU1JfSU5JVDsKKyAgICBzdGF0dXMgPSBSVENfRXhpdEluaXRNb2RlKGhydGMpOworICB9CiAKLSAgICAvKiBJZiAgQ1JfQllQU0hBRCBiaXQgPSAwLCB3YWl0IGZvciBzeW5jaHJvIGVsc2UgdGhpcyBjaGVjayBpcyBub3QgbmVlZGVkICovCi0gICAgaWYoKGhydGMtPkluc3RhbmNlLT5DUiAmIFJUQ19DUl9CWVBTSEFEKSA9PSBSRVNFVCkKLSAgICB7Ci0gICAgICBpZihIQUxfUlRDX1dhaXRGb3JTeW5jaHJvKGhydGMpICE9IEhBTF9PSykKLSAgICAgIHsKLSAgICAgICAgLyogRW5hYmxlIHRoZSB3cml0ZSBwcm90ZWN0aW9uIGZvciBSVEMgcmVnaXN0ZXJzICovCi0gICAgICAgIF9fSEFMX1JUQ19XUklURVBST1RFQ1RJT05fRU5BQkxFKGhydGMpOwotCi0gICAgICAgIGhydGMtPlN0YXRlID0gSEFMX1JUQ19TVEFURV9FUlJPUjsKLQotICAgICAgICByZXR1cm4gSEFMX0VSUk9SOwotICAgICAgfQotICAgIH0KLQotICAgIGhydGMtPkluc3RhbmNlLT5UQUZDUiAmPSAodWludDMyX3QpflJUQ19UQUZDUl9BTEFSTU9VVFRZUEU7CisgIGlmIChzdGF0dXMgPT0gSEFMX09LKQorICB7CisgICAgaHJ0Yy0+SW5zdGFuY2UtPlRBRkNSICY9ICh1aW50MzJfdCl+UlRDX09VVFBVVF9UWVBFX1BVU0hQVUxMOwogICAgIGhydGMtPkluc3RhbmNlLT5UQUZDUiB8PSAodWludDMyX3QpKGhydGMtPkluaXQuT3V0UHV0VHlwZSk7CiAKLSAgICAvKiBFbmFibGUgdGhlIHdyaXRlIHByb3RlY3Rpb24gZm9yIFJUQyByZWdpc3RlcnMgKi8KLSAgICBfX0hBTF9SVENfV1JJVEVQUk9URUNUSU9OX0VOQUJMRShocnRjKTsKLQotICAgIC8qIFNldCBSVEMgc3RhdGUgKi8KICAgICBocnRjLT5TdGF0ZSA9IEhBTF9SVENfU1RBVEVfUkVBRFk7Ci0KLSAgICByZXR1cm4gSEFMX09LOwogICB9CisKKyAgLyogRW5hYmxlIHRoZSB3cml0ZSBwcm90ZWN0aW9uIGZvciBSVEMgcmVnaXN0ZXJzICovCisgIF9fSEFMX1JUQ19XUklURVBST1RFQ1RJT05fRU5BQkxFKGhydGMpOworCisgIHJldHVybiBzdGF0dXM7CiB9CiAKIC8qKgogICAqIEBicmllZiAgRGVJbml0aWFsaXplcyB0aGUgUlRDIHBlcmlwaGVyYWwKICAgKiBAcGFyYW0gIGhydGMgcG9pbnRlciB0byBhIFJUQ19IYW5kbGVUeXBlRGVmIHN0cnVjdHVyZSB0aGF0IGNvbnRhaW5zCiAgICogICAgICAgICAgICAgICAgdGhlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gZm9yIFJUQy4KLSAgKiBAbm90ZSAgIFRoaXMgZnVuY3Rpb24gZG9lc24ndCByZXNldCB0aGUgUlRDIEJhY2t1cCBEYXRhIHJlZ2lzdGVycy4KKyAgKiBAbm90ZSAgIFRoaXMgZnVuY3Rpb24gZG9lcyBub3QgcmVzZXQgdGhlIFJUQyBCYWNrdXAgRGF0YSByZWdpc3RlcnMuCiAgICogQHJldHZhbCBIQUwgc3RhdHVzCiAgICovCiBIQUxfU3RhdHVzVHlwZURlZiBIQUxfUlRDX0RlSW5pdChSVENfSGFuZGxlVHlwZURlZiAqaHJ0YykKIHsKLSAgdWludDMyX3QgdGlja3N0YXJ0ID0gMFU7CisgIEhBTF9TdGF0dXNUeXBlRGVmIHN0YXR1cyA9IEhBTF9FUlJPUjsKKworICAvKiBDaGVjayB0aGUgcGFyYW1ldGVycyAqLworICBhc3NlcnRfcGFyYW0oSVNfUlRDX0FMTF9JTlNUQU5DRShocnRjLT5JbnN0YW5jZSkpOwogCiAgIC8qIFNldCBSVEMgc3RhdGUgKi8KICAgaHJ0Yy0+U3RhdGUgPSBIQUxfUlRDX1NUQVRFX0JVU1k7CkBAIC0zNzAsMTE2ICszNjEsNzYgQEAKICAgLyogRGlzYWJsZSB0aGUgd3JpdGUgcHJvdGVjdGlvbiBmb3IgUlRDIHJlZ2lzdGVycyAqLwogICBfX0hBTF9SVENfV1JJVEVQUk9URUNUSU9OX0RJU0FCTEUoaHJ0Yyk7CiAKLSAgLyogU2V0IEluaXRpYWxpemF0aW9uIG1vZGUgKi8KLSAgaWYoUlRDX0VudGVySW5pdE1vZGUoaHJ0YykgIT0gSEFMX09LKQotICB7Ci0gICAgLyogRW5hYmxlIHRoZSB3cml0ZSBwcm90ZWN0aW9uIGZvciBSVEMgcmVnaXN0ZXJzICovCi0gICAgX19IQUxfUlRDX1dSSVRFUFJPVEVDVElPTl9FTkFCTEUoaHJ0Yyk7CisgIC8qIEVudGVyIEluaXRpYWxpemF0aW9uIG1vZGUgKi8KKyAgc3RhdHVzID0gUlRDX0VudGVySW5pdE1vZGUoaHJ0Yyk7CiAKLSAgICAvKiBTZXQgUlRDIHN0YXRlICovCi0gICAgaHJ0Yy0+U3RhdGUgPSBIQUxfUlRDX1NUQVRFX0VSUk9SOwotCi0gICAgcmV0dXJuIEhBTF9FUlJPUjsKLSAgfQotICBlbHNlCisgIGlmIChzdGF0dXMgPT0gSEFMX09LKQogICB7Ci0gICAgLyogUmVzZXQgVFIsIERSIGFuZCBDUiByZWdpc3RlcnMgKi8KKyAgICAvKiBSZXNldCBSVEMgcmVnaXN0ZXJzICovCiAgICAgaHJ0Yy0+SW5zdGFuY2UtPlRSID0gMHgwMDAwMDAwMFU7Ci0gICAgaHJ0Yy0+SW5zdGFuY2UtPkRSID0gMHgwMDAwMjEwMVU7Ci0gICAgLyogUmVzZXQgQWxsIENSIGJpdHMgZXhjZXB0IENSWzI6MF0gKi8KLSAgICBocnRjLT5JbnN0YW5jZS0+Q1IgJj0gMHgwMDAwMDAwN1U7Ci0KLSAgICAvKiBHZXQgdGljayAqLwotICAgIHRpY2tzdGFydCA9IEhBTF9HZXRUaWNrKCk7Ci0KLSAgICAvKiBXYWl0IHRpbGwgV1VUV0YgZmxhZyBpcyBzZXQgYW5kIGlmIFRpbWUgb3V0IGlzIHJlYWNoZWQgZXhpdCAqLwotICAgIHdoaWxlKCgoaHJ0Yy0+SW5zdGFuY2UtPklTUikgJiBSVENfSVNSX1dVVFdGKSA9PSAodWludDMyX3QpUkVTRVQpCi0gICAgewotICAgICAgaWYoKEhBTF9HZXRUaWNrKCkgLSB0aWNrc3RhcnQgKSA+IFJUQ19USU1FT1VUX1ZBTFVFKQotICAgICAgewotICAgICAgICAvKiBFbmFibGUgdGhlIHdyaXRlIHByb3RlY3Rpb24gZm9yIFJUQyByZWdpc3RlcnMgKi8KLSAgICAgICAgX19IQUxfUlRDX1dSSVRFUFJPVEVDVElPTl9FTkFCTEUoaHJ0Yyk7Ci0KLSAgICAgICAgLyogU2V0IFJUQyBzdGF0ZSAqLwotICAgICAgICBocnRjLT5TdGF0ZSA9IEhBTF9SVENfU1RBVEVfVElNRU9VVDsKLQotICAgICAgICByZXR1cm4gSEFMX1RJTUVPVVQ7Ci0gICAgICB9Ci0gICAgfQotCi0gICAgLyogUmVzZXQgYWxsIFJUQyBDUiByZWdpc3RlciBiaXRzICovCi0gICAgaHJ0Yy0+SW5zdGFuY2UtPkNSICY9IDB4MDAwMDAwMDBVOwotICAgIGhydGMtPkluc3RhbmNlLT5XVVRSID0gMHgwMDAwRkZGRlU7Ci0gICAgaHJ0Yy0+SW5zdGFuY2UtPlBSRVIgPSAweDAwN0YwMEZGVTsKKyAgICBocnRjLT5JbnN0YW5jZS0+RFIgPSAoUlRDX0RSX1dEVV8wIHwgUlRDX0RSX01VXzAgfCBSVENfRFJfRFVfMCk7CisgICAgaHJ0Yy0+SW5zdGFuY2UtPkNSICAmPSAweDAwMDAwMDAwVTsKKyAgICBocnRjLT5JbnN0YW5jZS0+V1VUUiA9IFJUQ19XVVRSX1dVVDsKKyAgICBocnRjLT5JbnN0YW5jZS0+UFJFUiA9ICh1aW50MzJfdCkoUlRDX1BSRVJfUFJFRElWX0EgfCAweDAwMDAwMEZGVSk7CiAgICAgaHJ0Yy0+SW5zdGFuY2UtPkNBTElCUiA9IDB4MDAwMDAwMDBVOwotICAgIGhydGMtPkluc3RhbmNlLT5BTFJNQVIgPSAweDAwMDAwMDAwVTsKLSAgICBocnRjLT5JbnN0YW5jZS0+QUxSTUJSID0gMHgwMDAwMDAwMFU7Ci0gICAgaHJ0Yy0+SW5zdGFuY2UtPlNISUZUUiA9IDB4MDAwMDAwMDBVOwotICAgIGhydGMtPkluc3RhbmNlLT5DQUxSID0gMHgwMDAwMDAwMFU7CisgICAgaHJ0Yy0+SW5zdGFuY2UtPkFMUk1BUiAgID0gMHgwMDAwMDAwMFU7CisgICAgaHJ0Yy0+SW5zdGFuY2UtPkFMUk1CUiAgID0gMHgwMDAwMDAwMFU7CisgICAgaHJ0Yy0+SW5zdGFuY2UtPkNBTFIgICAgID0gMHgwMDAwMDAwMFU7CisgICAgaHJ0Yy0+SW5zdGFuY2UtPlNISUZUUiAgID0gMHgwMDAwMDAwMFU7CiAgICAgaHJ0Yy0+SW5zdGFuY2UtPkFMUk1BU1NSID0gMHgwMDAwMDAwMFU7CiAgICAgaHJ0Yy0+SW5zdGFuY2UtPkFMUk1CU1NSID0gMHgwMDAwMDAwMFU7CiAKLSAgICAvKiBSZXNldCBJU1IgcmVnaXN0ZXIgYW5kIGV4aXQgaW5pdGlhbGl6YXRpb24gbW9kZSAqLwotICAgIGhydGMtPkluc3RhbmNlLT5JU1IgPSAweDAwMDAwMDAwVTsKLQotICAgIC8qIFJlc2V0IFRhbXBlciBhbmQgYWx0ZXJuYXRlIGZ1bmN0aW9ucyBjb25maWd1cmF0aW9uIHJlZ2lzdGVyICovCi0gICAgaHJ0Yy0+SW5zdGFuY2UtPlRBRkNSID0gMHgwMDAwMDAwMFU7Ci0KLSAgICAvKiBJZiAgUlRDX0NSX0JZUFNIQUQgYml0ID0gMCwgd2FpdCBmb3Igc3luY2hybyBlbHNlIHRoaXMgY2hlY2sgaXMgbm90IG5lZWRlZCAqLwotICAgIGlmKChocnRjLT5JbnN0YW5jZS0+Q1IgJiBSVENfQ1JfQllQU0hBRCkgPT0gUkVTRVQpCi0gICAgewotICAgICAgaWYoSEFMX1JUQ19XYWl0Rm9yU3luY2hybyhocnRjKSAhPSBIQUxfT0spCi0gICAgICB7Ci0gICAgICAgIC8qIEVuYWJsZSB0aGUgd3JpdGUgcHJvdGVjdGlvbiBmb3IgUlRDIHJlZ2lzdGVycyAqLwotICAgICAgICBfX0hBTF9SVENfV1JJVEVQUk9URUNUSU9OX0VOQUJMRShocnRjKTsKLQotICAgICAgICBocnRjLT5TdGF0ZSA9IEhBTF9SVENfU1RBVEVfRVJST1I7Ci0KLSAgICAgICAgcmV0dXJuIEhBTF9FUlJPUjsKLSAgICAgIH0KLSAgICB9CisgICAgLyogRXhpdCBJbml0aWFsaXphdGlvbiBtb2RlICovCisgICAgc3RhdHVzID0gUlRDX0V4aXRJbml0TW9kZShocnRjKTsKICAgfQogCiAgIC8qIEVuYWJsZSB0aGUgd3JpdGUgcHJvdGVjdGlvbiBmb3IgUlRDIHJlZ2lzdGVycyAqLwogICBfX0hBTF9SVENfV1JJVEVQUk9URUNUSU9OX0VOQUJMRShocnRjKTsKIAotI2lmIChVU0VfSEFMX1JUQ19SRUdJU1RFUl9DQUxMQkFDS1MgPT0gMSkKLSAgaWYoaHJ0Yy0+TXNwRGVJbml0Q2FsbGJhY2sgPT0gTlVMTCkKKyAgaWYgKHN0YXR1cyA9PSBIQUxfT0spCiAgIHsKLSAgICBocnRjLT5Nc3BEZUluaXRDYWxsYmFjayA9IEhBTF9SVENfTXNwRGVJbml0OworICAgIC8qIFJlc2V0IFRhbXBlciBhbmQgYWx0ZXJuYXRlIGZ1bmN0aW9ucyBjb25maWd1cmF0aW9uIHJlZ2lzdGVyICovCisgICAgaHJ0Yy0+SW5zdGFuY2UtPlRBRkNSID0gMHgwMDAwMDAwMFU7CisKKyNpZiAoVVNFX0hBTF9SVENfUkVHSVNURVJfQ0FMTEJBQ0tTID09IDEpCisgICAgaWYgKGhydGMtPk1zcERlSW5pdENhbGxiYWNrID09IE5VTEwpCisgICAgeworICAgICAgaHJ0Yy0+TXNwRGVJbml0Q2FsbGJhY2sgPSBIQUxfUlRDX01zcERlSW5pdDsKKyAgICB9CisKKyAgICAvKiBEZUluaXQgdGhlIGxvdyBsZXZlbCBoYXJkd2FyZTogQ0xPQ0ssIE5WSUMuKi8KKyAgICBocnRjLT5Nc3BEZUluaXRDYWxsYmFjayhocnRjKTsKKyNlbHNlIC8qIFVTRV9IQUxfUlRDX1JFR0lTVEVSX0NBTExCQUNLUyAqLworICAgIC8qIERlLUluaXRpYWxpemUgUlRDIE1TUCAqLworICAgIEhBTF9SVENfTXNwRGVJbml0KGhydGMpOworI2VuZGlmIC8qIFVTRV9IQUxfUlRDX1JFR0lTVEVSX0NBTExCQUNLUyAqLworCisgICAgaHJ0Yy0+U3RhdGUgPSBIQUxfUlRDX1NUQVRFX1JFU0VUOwogICB9CiAKLSAgLyogRGVJbml0IHRoZSBsb3cgbGV2ZWwgaGFyZHdhcmU6IENMT0NLLCBOVklDLiovCi0gIGhydGMtPk1zcERlSW5pdENhbGxiYWNrKGhydGMpOwotCi0jZWxzZQotICAvKiBEZS1Jbml0aWFsaXplIFJUQyBNU1AgKi8KLSAgSEFMX1JUQ19Nc3BEZUluaXQoaHJ0Yyk7Ci0jZW5kaWYgLyogKFVTRV9IQUxfUlRDX1JFR0lTVEVSX0NBTExCQUNLUykgKi8KLQotICBocnRjLT5TdGF0ZSA9IEhBTF9SVENfU1RBVEVfUkVTRVQ7Ci0KICAgLyogUmVsZWFzZSBMb2NrICovCiAgIF9fSEFMX1VOTE9DSyhocnRjKTsKIAotICByZXR1cm4gSEFMX09LOworICByZXR1cm4gc3RhdHVzOwogfQogCiAjaWYgKFVTRV9IQUxfUlRDX1JFR0lTVEVSX0NBTExCQUNLUyA9PSAxKQogLyoqCi0gICogQGJyaWVmICBSZWdpc3RlciBhIFVzZXIgUlRDIENhbGxiYWNrCisgICogQGJyaWVmICBSZWdpc3RlcnMgYSBVc2VyIFJUQyBDYWxsYmFjawogICAqICAgICAgICAgVG8gYmUgdXNlZCBpbnN0ZWFkIG9mIHRoZSB3ZWFrIHByZWRlZmluZWQgY2FsbGJhY2sKLSAgKiBAcGFyYW0gIGhydGMgUlRDIGhhbmRsZQorICAqIEBwYXJhbSAgaHJ0YyBwb2ludGVyIHRvIGEgUlRDX0hhbmRsZVR5cGVEZWYgc3RydWN0dXJlIHRoYXQgY29udGFpbnMKKyAgKiAgICAgICAgICAgICAgICB0aGUgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbiBmb3IgUlRDLgogICAqIEBwYXJhbSAgQ2FsbGJhY2tJRCBJRCBvZiB0aGUgY2FsbGJhY2sgdG8gYmUgcmVnaXN0ZXJlZAogICAqICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIG9uZSBvZiB0aGUgZm9sbG93aW5nIHZhbHVlczoKICAgKiAgICAgICAgICBAYXJnIEByZWYgSEFMX1JUQ19BTEFSTV9BX0VWRU5UX0NCX0lEICAgICAgICAgIEFsYXJtIEEgRXZlbnQgQ2FsbGJhY2sgSUQKICAgKiAgICAgICAgICBAYXJnIEByZWYgSEFMX1JUQ19BTEFSTV9CX0VWRU5UX0NCX0lEICAgICAgICAgIEFsYXJtIEIgRXZlbnQgQ2FsbGJhY2sgSUQKLSAgKiAgICAgICAgICBAYXJnIEByZWYgSEFMX1JUQ19USU1FU1RBTVBfRVZFTlRfQ0JfSUQgICAgICAgIFRpbWVTdGFtcCBFdmVudCBDYWxsYmFjayBJRAotICAqICAgICAgICAgIEBhcmcgQHJlZiBIQUxfUlRDX1dBS0VVUFRJTUVSX0VWRU5UX0NCX0lEICAgICAgV2FrZS1VcCBUaW1lciBFdmVudCBDYWxsYmFjayBJRAorICAqICAgICAgICAgIEBhcmcgQHJlZiBIQUxfUlRDX1RJTUVTVEFNUF9FVkVOVF9DQl9JRCAgICAgICAgVGltZXN0YW1wIEV2ZW50IENhbGxiYWNrIElECisgICogICAgICAgICAgQGFyZyBAcmVmIEhBTF9SVENfV0FLRVVQVElNRVJfRVZFTlRfQ0JfSUQgICAgICBXYWtldXAgVGltZXIgRXZlbnQgQ2FsbGJhY2sgSUQKICAgKiAgICAgICAgICBAYXJnIEByZWYgSEFMX1JUQ19UQU1QRVIxX0VWRU5UX0NCX0lEICAgICAgICAgIFRhbXBlciAxIENhbGxiYWNrIElECiAgICogICAgICAgICAgQGFyZyBAcmVmIEhBTF9SVENfVEFNUEVSMl9FVkVOVF9DQl9JRCAgICAgICAgICBUYW1wZXIgMiBDYWxsYmFjayBJRAogICAqICAgICAgICAgIEBhcmcgQHJlZiBIQUxfUlRDX01TUElOSVRfQ0JfSUQgICAgICAgICAgICAgICAgTXNwIEluaXQgY2FsbGJhY2sgSUQKICAgKiAgICAgICAgICBAYXJnIEByZWYgSEFMX1JUQ19NU1BERUlOSVRfQ0JfSUQgICAgICAgICAgICAgIE1zcCBEZUluaXQgY2FsbGJhY2sgSUQKKyAgKiBAbm90ZSAgIEhBTF9SVENfVEFNUEVSMl9FVkVOVF9DQl9JRCBpcyBub3QgYXBwbGljYWJsZSB0byBhbGwgZGV2aWNlcy4KICAgKiBAcGFyYW0gIHBDYWxsYmFjayBwb2ludGVyIHRvIHRoZSBDYWxsYmFjayBmdW5jdGlvbgogICAqIEByZXR2YWwgSEFMIHN0YXR1cwogICAqLwpAQCAtNDg3LDcgKzQzOCw3IEBACiB7CiAgIEhBTF9TdGF0dXNUeXBlRGVmIHN0YXR1cyA9IEhBTF9PSzsKIAotICBpZihwQ2FsbGJhY2sgPT0gTlVMTCkKKyAgaWYgKHBDYWxsYmFjayA9PSBOVUxMKQogICB7CiAgICAgcmV0dXJuIEhBTF9FUlJPUjsKICAgfQpAQCAtNDk1LDY0ICs0NDYsNjYgQEAKICAgLyogUHJvY2VzcyBsb2NrZWQgKi8KICAgX19IQUxfTE9DSyhocnRjKTsKIAotICBpZihIQUxfUlRDX1NUQVRFX1JFQURZID09IGhydGMtPlN0YXRlKQorICBpZiAoSEFMX1JUQ19TVEFURV9SRUFEWSA9PSBocnRjLT5TdGF0ZSkKICAgewogICAgIHN3aXRjaCAoQ2FsbGJhY2tJRCkKICAgICB7Ci0gICAgY2FzZSBIQUxfUlRDX0FMQVJNX0FfRVZFTlRfQ0JfSUQgOgotICAgICAgaHJ0Yy0+QWxhcm1BRXZlbnRDYWxsYmFjayA9IHBDYWxsYmFjazsKLSAgICAgIGJyZWFrOworICAgICAgY2FzZSBIQUxfUlRDX0FMQVJNX0FfRVZFTlRfQ0JfSUQgOgorICAgICAgICBocnRjLT5BbGFybUFFdmVudENhbGxiYWNrID0gcENhbGxiYWNrOworICAgICAgICBicmVhazsKIAotICAgIGNhc2UgSEFMX1JUQ19BTEFSTV9CX0VWRU5UX0NCX0lEIDoKLSAgICAgIGhydGMtPkFsYXJtQkV2ZW50Q2FsbGJhY2sgPSBwQ2FsbGJhY2s7Ci0gICAgICBicmVhazsKKyAgICAgIGNhc2UgSEFMX1JUQ19BTEFSTV9CX0VWRU5UX0NCX0lEIDoKKyAgICAgICAgaHJ0Yy0+QWxhcm1CRXZlbnRDYWxsYmFjayA9IHBDYWxsYmFjazsKKyAgICAgICAgYnJlYWs7CiAKLSAgICBjYXNlIEhBTF9SVENfVElNRVNUQU1QX0VWRU5UX0NCX0lEIDoKLSAgICAgIGhydGMtPlRpbWVTdGFtcEV2ZW50Q2FsbGJhY2sgPSBwQ2FsbGJhY2s7Ci0gICAgICBicmVhazsKKyAgICAgIGNhc2UgSEFMX1JUQ19USU1FU1RBTVBfRVZFTlRfQ0JfSUQgOgorICAgICAgICBocnRjLT5UaW1lU3RhbXBFdmVudENhbGxiYWNrID0gcENhbGxiYWNrOworICAgICAgICBicmVhazsKIAotICAgIGNhc2UgSEFMX1JUQ19XQUtFVVBUSU1FUl9FVkVOVF9DQl9JRCA6Ci0gICAgICBocnRjLT5XYWtlVXBUaW1lckV2ZW50Q2FsbGJhY2sgPSBwQ2FsbGJhY2s7Ci0gICAgICBicmVhazsKKyAgICAgIGNhc2UgSEFMX1JUQ19XQUtFVVBUSU1FUl9FVkVOVF9DQl9JRCA6CisgICAgICAgIGhydGMtPldha2VVcFRpbWVyRXZlbnRDYWxsYmFjayA9IHBDYWxsYmFjazsKKyAgICAgICAgYnJlYWs7CiAKLSAgICBjYXNlIEhBTF9SVENfVEFNUEVSMV9FVkVOVF9DQl9JRCA6Ci0gICAgICBocnRjLT5UYW1wZXIxRXZlbnRDYWxsYmFjayA9IHBDYWxsYmFjazsKLSAgICAgIGJyZWFrOworICAgICAgY2FzZSBIQUxfUlRDX1RBTVBFUjFfRVZFTlRfQ0JfSUQgOgorICAgICAgICBocnRjLT5UYW1wZXIxRXZlbnRDYWxsYmFjayA9IHBDYWxsYmFjazsKKyAgICAgICAgYnJlYWs7CiAKLSAgICBjYXNlIEhBTF9SVENfVEFNUEVSMl9FVkVOVF9DQl9JRCA6Ci0gICAgICBocnRjLT5UYW1wZXIyRXZlbnRDYWxsYmFjayA9IHBDYWxsYmFjazsKLSAgICAgIGJyZWFrOworI2lmIGRlZmluZWQoUlRDX1RBTVBFUjJfU1VQUE9SVCkKKyAgICAgIGNhc2UgSEFMX1JUQ19UQU1QRVIyX0VWRU5UX0NCX0lEIDoKKyAgICAgICAgaHJ0Yy0+VGFtcGVyMkV2ZW50Q2FsbGJhY2sgPSBwQ2FsbGJhY2s7CisgICAgICAgIGJyZWFrOworI2VuZGlmIC8qIFJUQ19UQU1QRVIyX1NVUFBPUlQgKi8KIAotICAgY2FzZSBIQUxfUlRDX01TUElOSVRfQ0JfSUQgOgotICAgICAgaHJ0Yy0+TXNwSW5pdENhbGxiYWNrID0gcENhbGxiYWNrOwotICAgICAgYnJlYWs7CisgICAgICBjYXNlIEhBTF9SVENfTVNQSU5JVF9DQl9JRCA6CisgICAgICAgIGhydGMtPk1zcEluaXRDYWxsYmFjayA9IHBDYWxsYmFjazsKKyAgICAgICAgYnJlYWs7CiAKLSAgIGNhc2UgSEFMX1JUQ19NU1BERUlOSVRfQ0JfSUQgOgotICAgICAgaHJ0Yy0+TXNwRGVJbml0Q2FsbGJhY2sgPSBwQ2FsbGJhY2s7Ci0gICAgICBicmVhazsKKyAgICAgIGNhc2UgSEFMX1JUQ19NU1BERUlOSVRfQ0JfSUQgOgorICAgICAgICBocnRjLT5Nc3BEZUluaXRDYWxsYmFjayA9IHBDYWxsYmFjazsKKyAgICAgICAgYnJlYWs7CiAKLSAgICBkZWZhdWx0IDoKLSAgICAgLyogUmV0dXJuIGVycm9yIHN0YXR1cyAqLwotICAgICAgc3RhdHVzID0gIEhBTF9FUlJPUjsKLSAgICAgIGJyZWFrOworICAgICAgZGVmYXVsdCA6CisgICAgICAgIC8qIFJldHVybiBlcnJvciBzdGF0dXMgKi8KKyAgICAgICAgc3RhdHVzID0gIEhBTF9FUlJPUjsKKyAgICAgICAgYnJlYWs7CiAgICAgfQogICB9Ci0gIGVsc2UgaWYoSEFMX1JUQ19TVEFURV9SRVNFVCA9PSBocnRjLT5TdGF0ZSkKKyAgZWxzZSBpZiAoSEFMX1JUQ19TVEFURV9SRVNFVCA9PSBocnRjLT5TdGF0ZSkKICAgewogICAgIHN3aXRjaCAoQ2FsbGJhY2tJRCkKICAgICB7Ci0gICAgY2FzZSBIQUxfUlRDX01TUElOSVRfQ0JfSUQgOgotICAgICAgaHJ0Yy0+TXNwSW5pdENhbGxiYWNrID0gcENhbGxiYWNrOwotICAgICAgYnJlYWs7CisgICAgICBjYXNlIEhBTF9SVENfTVNQSU5JVF9DQl9JRCA6CisgICAgICAgIGhydGMtPk1zcEluaXRDYWxsYmFjayA9IHBDYWxsYmFjazsKKyAgICAgICAgYnJlYWs7CiAKLSAgIGNhc2UgSEFMX1JUQ19NU1BERUlOSVRfQ0JfSUQgOgotICAgICAgaHJ0Yy0+TXNwRGVJbml0Q2FsbGJhY2sgPSBwQ2FsbGJhY2s7Ci0gICAgICBicmVhazsKKyAgICAgIGNhc2UgSEFMX1JUQ19NU1BERUlOSVRfQ0JfSUQgOgorICAgICAgICBocnRjLT5Nc3BEZUluaXRDYWxsYmFjayA9IHBDYWxsYmFjazsKKyAgICAgICAgYnJlYWs7CiAKLSAgICBkZWZhdWx0IDoKLSAgICAgLyogUmV0dXJuIGVycm9yIHN0YXR1cyAqLwotICAgICAgc3RhdHVzID0gIEhBTF9FUlJPUjsKLSAgICAgIGJyZWFrOworICAgICAgZGVmYXVsdCA6CisgICAgICAgIC8qIFJldHVybiBlcnJvciBzdGF0dXMgKi8KKyAgICAgICAgc3RhdHVzID0gIEhBTF9FUlJPUjsKKyAgICAgICAgYnJlYWs7CiAgICAgfQogICB9CiAgIGVsc2UKQEAgLTU2OCwxOSArNTIxLDIxIEBACiB9CiAKIC8qKgotICAqIEBicmllZiAgVW5yZWdpc3RlciBhbiBSVEMgQ2FsbGJhY2sKKyAgKiBAYnJpZWYgIFVucmVnaXN0ZXJzIGFuIFJUQyBDYWxsYmFjawogICAqICAgICAgICAgUlRDIGNhbGxhYmNrIGlzIHJlZGlyZWN0ZWQgdG8gdGhlIHdlYWsgcHJlZGVmaW5lZCBjYWxsYmFjawotICAqIEBwYXJhbSAgaHJ0YyBSVEMgaGFuZGxlCisgICogQHBhcmFtICBocnRjIHBvaW50ZXIgdG8gYSBSVENfSGFuZGxlVHlwZURlZiBzdHJ1Y3R1cmUgdGhhdCBjb250YWlucworICAqICAgICAgICAgICAgICAgIHRoZSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIGZvciBSVEMuCiAgICogQHBhcmFtICBDYWxsYmFja0lEIElEIG9mIHRoZSBjYWxsYmFjayB0byBiZSB1bnJlZ2lzdGVyZWQKICAgKiAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBvbmUgb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXM6CiAgICogICAgICAgICAgQGFyZyBAcmVmIEhBTF9SVENfQUxBUk1fQV9FVkVOVF9DQl9JRCAgICAgICAgICBBbGFybSBBIEV2ZW50IENhbGxiYWNrIElECiAgICogICAgICAgICAgQGFyZyBAcmVmIEhBTF9SVENfQUxBUk1fQl9FVkVOVF9DQl9JRCAgICAgICAgICBBbGFybSBCIEV2ZW50IENhbGxiYWNrIElECi0gICogICAgICAgICAgQGFyZyBAcmVmIEhBTF9SVENfVElNRVNUQU1QX0VWRU5UX0NCX0lEICAgICAgICBUaW1lU3RhbXAgRXZlbnQgQ2FsbGJhY2sgSUQKLSAgKiAgICAgICAgICBAYXJnIEByZWYgSEFMX1JUQ19XQUtFVVBUSU1FUl9FVkVOVF9DQl9JRCAgICAgIFdha2UtVXAgVGltZXIgRXZlbnQgQ2FsbGJhY2sgSUQKKyAgKiAgICAgICAgICBAYXJnIEByZWYgSEFMX1JUQ19USU1FU1RBTVBfRVZFTlRfQ0JfSUQgICAgICAgIFRpbWVzdGFtcCBFdmVudCBDYWxsYmFjayBJRAorICAqICAgICAgICAgIEBhcmcgQHJlZiBIQUxfUlRDX1dBS0VVUFRJTUVSX0VWRU5UX0NCX0lEICAgICAgV2FrZXVwIFRpbWVyIEV2ZW50IENhbGxiYWNrIElECiAgICogICAgICAgICAgQGFyZyBAcmVmIEhBTF9SVENfVEFNUEVSMV9FVkVOVF9DQl9JRCAgICAgICAgICBUYW1wZXIgMSBDYWxsYmFjayBJRAogICAqICAgICAgICAgIEBhcmcgQHJlZiBIQUxfUlRDX1RBTVBFUjJfRVZFTlRfQ0JfSUQgICAgICAgICAgVGFtcGVyIDIgQ2FsbGJhY2sgSUQKICAgKiAgICAgICAgICBAYXJnIEByZWYgSEFMX1JUQ19NU1BJTklUX0NCX0lEIE1zcCBJbml0IGNhbGxiYWNrIElECiAgICogICAgICAgICAgQGFyZyBAcmVmIEhBTF9SVENfTVNQREVJTklUX0NCX0lEIE1zcCBEZUluaXQgY2FsbGJhY2sgSUQKKyAgKiBAbm90ZSAgIEhBTF9SVENfVEFNUEVSMl9FVkVOVF9DQl9JRCBpcyBub3QgYXBwbGljYWJsZSB0byBhbGwgZGV2aWNlcy4KICAgKiBAcmV0dmFsIEhBTCBzdGF0dXMKICAgKi8KIEhBTF9TdGF0dXNUeXBlRGVmIEhBTF9SVENfVW5SZWdpc3RlckNhbGxiYWNrKFJUQ19IYW5kbGVUeXBlRGVmICpocnRjLCBIQUxfUlRDX0NhbGxiYWNrSURUeXBlRGVmIENhbGxiYWNrSUQpCkBAIC01OTAsNjQgKzU0NSw2NiBAQAogICAvKiBQcm9jZXNzIGxvY2tlZCAqLwogICBfX0hBTF9MT0NLKGhydGMpOwogCi0gIGlmKEhBTF9SVENfU1RBVEVfUkVBRFkgPT0gaHJ0Yy0+U3RhdGUpCisgIGlmIChIQUxfUlRDX1NUQVRFX1JFQURZID09IGhydGMtPlN0YXRlKQogICB7CiAgICAgc3dpdGNoIChDYWxsYmFja0lEKQogICAgIHsKLSAgICBjYXNlIEhBTF9SVENfQUxBUk1fQV9FVkVOVF9DQl9JRCA6Ci0gICAgICBocnRjLT5BbGFybUFFdmVudENhbGxiYWNrID0gSEFMX1JUQ19BbGFybUFFdmVudENhbGxiYWNrOyAgICAgICAgIC8qIExlZ2FjeSB3ZWFrIEFsYXJtQUV2ZW50Q2FsbGJhY2sgICAgKi8KLSAgICAgIGJyZWFrOworICAgICAgY2FzZSBIQUxfUlRDX0FMQVJNX0FfRVZFTlRfQ0JfSUQgOgorICAgICAgICBocnRjLT5BbGFybUFFdmVudENhbGxiYWNrID0gSEFMX1JUQ19BbGFybUFFdmVudENhbGxiYWNrOyAgICAgICAgICAgICAvKiBMZWdhY3kgd2VhayBBbGFybUFFdmVudENhbGxiYWNrICAgICovCisgICAgICAgIGJyZWFrOwogCi0gICAgY2FzZSBIQUxfUlRDX0FMQVJNX0JfRVZFTlRfQ0JfSUQgOgotICAgICAgaHJ0Yy0+QWxhcm1CRXZlbnRDYWxsYmFjayA9IEhBTF9SVENFeF9BbGFybUJFdmVudENhbGxiYWNrOyAgICAgICAgICAvKiBMZWdhY3kgd2VhayBBbGFybUJFdmVudENhbGxiYWNrICovCi0gICAgICBicmVhazsKKyAgICAgIGNhc2UgSEFMX1JUQ19BTEFSTV9CX0VWRU5UX0NCX0lEIDoKKyAgICAgICAgaHJ0Yy0+QWxhcm1CRXZlbnRDYWxsYmFjayA9IEhBTF9SVENFeF9BbGFybUJFdmVudENhbGxiYWNrOyAgICAgICAgICAgLyogTGVnYWN5IHdlYWsgQWxhcm1CRXZlbnRDYWxsYmFjayAqLworICAgICAgICBicmVhazsKIAotICAgIGNhc2UgSEFMX1JUQ19USU1FU1RBTVBfRVZFTlRfQ0JfSUQgOgotICAgICAgaHJ0Yy0+VGltZVN0YW1wRXZlbnRDYWxsYmFjayA9IEhBTF9SVENFeF9UaW1lU3RhbXBFdmVudENhbGxiYWNrOyAgICAvKiBMZWdhY3kgd2VhayBUaW1lU3RhbXBFdmVudENhbGxiYWNrICAgICovCi0gICAgICBicmVhazsKKyAgICAgIGNhc2UgSEFMX1JUQ19USU1FU1RBTVBfRVZFTlRfQ0JfSUQgOgorICAgICAgICBocnRjLT5UaW1lU3RhbXBFdmVudENhbGxiYWNrID0gSEFMX1JUQ0V4X1RpbWVTdGFtcEV2ZW50Q2FsbGJhY2s7ICAgICAvKiBMZWdhY3kgd2VhayBUaW1lU3RhbXBFdmVudENhbGxiYWNrICAgICovCisgICAgICAgIGJyZWFrOwogCi0gICAgY2FzZSBIQUxfUlRDX1dBS0VVUFRJTUVSX0VWRU5UX0NCX0lEIDoKLSAgICAgIGhydGMtPldha2VVcFRpbWVyRXZlbnRDYWxsYmFjayA9IEhBTF9SVENFeF9XYWtlVXBUaW1lckV2ZW50Q2FsbGJhY2s7IC8qIExlZ2FjeSB3ZWFrIFdha2VVcFRpbWVyRXZlbnRDYWxsYmFjayAqLwotICAgICAgYnJlYWs7CisgICAgICBjYXNlIEhBTF9SVENfV0FLRVVQVElNRVJfRVZFTlRfQ0JfSUQgOgorICAgICAgICBocnRjLT5XYWtlVXBUaW1lckV2ZW50Q2FsbGJhY2sgPSBIQUxfUlRDRXhfV2FrZVVwVGltZXJFdmVudENhbGxiYWNrOyAvKiBMZWdhY3kgd2VhayBXYWtlVXBUaW1lckV2ZW50Q2FsbGJhY2sgKi8KKyAgICAgICAgYnJlYWs7CiAKLSAgICBjYXNlIEhBTF9SVENfVEFNUEVSMV9FVkVOVF9DQl9JRCA6Ci0gICAgICBocnRjLT5UYW1wZXIxRXZlbnRDYWxsYmFjayA9IEhBTF9SVENFeF9UYW1wZXIxRXZlbnRDYWxsYmFjazsgICAgICAgICAvKiBMZWdhY3kgd2VhayBUYW1wZXIxRXZlbnRDYWxsYmFjayAgICovCi0gICAgICBicmVhazsKKyAgICAgIGNhc2UgSEFMX1JUQ19UQU1QRVIxX0VWRU5UX0NCX0lEIDoKKyAgICAgICAgaHJ0Yy0+VGFtcGVyMUV2ZW50Q2FsbGJhY2sgPSBIQUxfUlRDRXhfVGFtcGVyMUV2ZW50Q2FsbGJhY2s7ICAgICAgICAgLyogTGVnYWN5IHdlYWsgVGFtcGVyMUV2ZW50Q2FsbGJhY2sgICAqLworICAgICAgICBicmVhazsKIAotICAgIGNhc2UgSEFMX1JUQ19UQU1QRVIyX0VWRU5UX0NCX0lEIDoKLSAgICAgIGhydGMtPlRhbXBlcjJFdmVudENhbGxiYWNrID0gSEFMX1JUQ0V4X1RhbXBlcjJFdmVudENhbGxiYWNrOyAgICAgICAgIC8qIExlZ2FjeSB3ZWFrIFRhbXBlcjJFdmVudENhbGxiYWNrICAgICAgICAgKi8KLSAgICAgIGJyZWFrOworI2lmIGRlZmluZWQoUlRDX1RBTVBFUjJfU1VQUE9SVCkKKyAgICAgIGNhc2UgSEFMX1JUQ19UQU1QRVIyX0VWRU5UX0NCX0lEIDoKKyAgICAgICAgaHJ0Yy0+VGFtcGVyMkV2ZW50Q2FsbGJhY2sgPSBIQUxfUlRDRXhfVGFtcGVyMkV2ZW50Q2FsbGJhY2s7ICAgICAgICAgLyogTGVnYWN5IHdlYWsgVGFtcGVyMkV2ZW50Q2FsbGJhY2sgICAgICAgICAqLworICAgICAgICBicmVhazsKKyNlbmRpZiAvKiBSVENfVEFNUEVSMl9TVVBQT1JUICovCiAKLSAgICBjYXNlIEhBTF9SVENfTVNQSU5JVF9DQl9JRCA6Ci0gICAgICBocnRjLT5Nc3BJbml0Q2FsbGJhY2sgPSBIQUxfUlRDX01zcEluaXQ7Ci0gICAgICBicmVhazsKKyAgICAgIGNhc2UgSEFMX1JUQ19NU1BJTklUX0NCX0lEIDoKKyAgICAgICAgaHJ0Yy0+TXNwSW5pdENhbGxiYWNrID0gSEFMX1JUQ19Nc3BJbml0OworICAgICAgICBicmVhazsKIAotICAgIGNhc2UgSEFMX1JUQ19NU1BERUlOSVRfQ0JfSUQgOgotICAgICAgaHJ0Yy0+TXNwRGVJbml0Q2FsbGJhY2sgPSBIQUxfUlRDX01zcERlSW5pdDsKLSAgICAgIGJyZWFrOworICAgICAgY2FzZSBIQUxfUlRDX01TUERFSU5JVF9DQl9JRCA6CisgICAgICAgIGhydGMtPk1zcERlSW5pdENhbGxiYWNrID0gSEFMX1JUQ19Nc3BEZUluaXQ7CisgICAgICAgIGJyZWFrOwogCi0gICAgZGVmYXVsdCA6Ci0gICAgIC8qIFJldHVybiBlcnJvciBzdGF0dXMgKi8KLSAgICAgIHN0YXR1cyA9ICBIQUxfRVJST1I7Ci0gICAgICBicmVhazsKKyAgICAgIGRlZmF1bHQgOgorICAgICAgICAvKiBSZXR1cm4gZXJyb3Igc3RhdHVzICovCisgICAgICAgIHN0YXR1cyA9ICBIQUxfRVJST1I7CisgICAgICAgIGJyZWFrOwogICAgIH0KICAgfQotICBlbHNlIGlmKEhBTF9SVENfU1RBVEVfUkVTRVQgPT0gaHJ0Yy0+U3RhdGUpCisgIGVsc2UgaWYgKEhBTF9SVENfU1RBVEVfUkVTRVQgPT0gaHJ0Yy0+U3RhdGUpCiAgIHsKICAgICBzd2l0Y2ggKENhbGxiYWNrSUQpCiAgICAgewotICAgIGNhc2UgSEFMX1JUQ19NU1BJTklUX0NCX0lEIDoKLSAgICAgIGhydGMtPk1zcEluaXRDYWxsYmFjayA9IEhBTF9SVENfTXNwSW5pdDsKLSAgICAgIGJyZWFrOworICAgICAgY2FzZSBIQUxfUlRDX01TUElOSVRfQ0JfSUQgOgorICAgICAgICBocnRjLT5Nc3BJbml0Q2FsbGJhY2sgPSBIQUxfUlRDX01zcEluaXQ7CisgICAgICAgIGJyZWFrOwogCi0gICAgY2FzZSBIQUxfUlRDX01TUERFSU5JVF9DQl9JRCA6Ci0gICAgICBocnRjLT5Nc3BEZUluaXRDYWxsYmFjayA9IEhBTF9SVENfTXNwRGVJbml0OwotICAgICAgYnJlYWs7CisgICAgICBjYXNlIEhBTF9SVENfTVNQREVJTklUX0NCX0lEIDoKKyAgICAgICAgaHJ0Yy0+TXNwRGVJbml0Q2FsbGJhY2sgPSBIQUxfUlRDX01zcERlSW5pdDsKKyAgICAgICAgYnJlYWs7CiAKLSAgICBkZWZhdWx0IDoKLSAgICAgLyogUmV0dXJuIGVycm9yIHN0YXR1cyAqLwotICAgICAgc3RhdHVzID0gIEhBTF9FUlJPUjsKLSAgICAgIGJyZWFrOworICAgICAgZGVmYXVsdCA6CisgICAgICAgIC8qIFJldHVybiBlcnJvciBzdGF0dXMgKi8KKyAgICAgICAgc3RhdHVzID0gIEhBTF9FUlJPUjsKKyAgICAgICAgYnJlYWs7CiAgICAgfQogICB9CiAgIGVsc2UKQEAgLTY2OSwxMiArNjI2LDEzIEBACiAgICogICAgICAgICAgICAgICAgdGhlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gZm9yIFJUQy4KICAgKiBAcmV0dmFsIE5vbmUKICAgKi8KLV9fd2VhayB2b2lkIEhBTF9SVENfTXNwSW5pdChSVENfSGFuZGxlVHlwZURlZiogaHJ0YykKK19fd2VhayB2b2lkIEhBTF9SVENfTXNwSW5pdChSVENfSGFuZGxlVHlwZURlZiAqaHJ0YykKIHsKICAgLyogUHJldmVudCB1bnVzZWQgYXJndW1lbnQocykgY29tcGlsYXRpb24gd2FybmluZyAqLwogICBVTlVTRUQoaHJ0Yyk7Ci0gIC8qIE5PVEUgOiBUaGlzIGZ1bmN0aW9uIFNob3VsZCBub3QgYmUgbW9kaWZpZWQsIHdoZW4gdGhlIGNhbGxiYWNrIGlzIG5lZWRlZCwKLSAgICAgICAgICAgIHRoZSBIQUxfUlRDX01zcEluaXQgY291bGQgYmUgaW1wbGVtZW50ZWQgaW4gdGhlIHVzZXIgZmlsZQorCisgIC8qIE5PVEU6IFRoaXMgZnVuY3Rpb24gc2hvdWxkIG5vdCBiZSBtb2RpZmllZCwgd2hlbiB0aGUgY2FsbGJhY2sgaXMgbmVlZGVkLAorICAgICAgICAgICB0aGUgSEFMX1JUQ19Nc3BJbml0IGNvdWxkIGJlIGltcGxlbWVudGVkIGluIHRoZSB1c2VyIGZpbGUKICAgICovCiB9CiAKQEAgLTY4NCwxMiArNjQyLDEzIEBACiAgICogICAgICAgICAgICAgICAgdGhlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gZm9yIFJUQy4KICAgKiBAcmV0dmFsIE5vbmUKICAgKi8KLV9fd2VhayB2b2lkIEhBTF9SVENfTXNwRGVJbml0KFJUQ19IYW5kbGVUeXBlRGVmKiBocnRjKQorX193ZWFrIHZvaWQgSEFMX1JUQ19Nc3BEZUluaXQoUlRDX0hhbmRsZVR5cGVEZWYgKmhydGMpCiB7CiAgIC8qIFByZXZlbnQgdW51c2VkIGFyZ3VtZW50KHMpIGNvbXBpbGF0aW9uIHdhcm5pbmcgKi8KICAgVU5VU0VEKGhydGMpOwotICAvKiBOT1RFIDogVGhpcyBmdW5jdGlvbiBTaG91bGQgbm90IGJlIG1vZGlmaWVkLCB3aGVuIHRoZSBjYWxsYmFjayBpcyBuZWVkZWQsCi0gICAgICAgICAgICB0aGUgSEFMX1JUQ19Nc3BEZUluaXQgY291bGQgYmUgaW1wbGVtZW50ZWQgaW4gdGhlIHVzZXIgZmlsZQorCisgIC8qIE5PVEU6IFRoaXMgZnVuY3Rpb24gc2hvdWxkIG5vdCBiZSBtb2RpZmllZCwgd2hlbiB0aGUgY2FsbGJhY2sgaXMgbmVlZGVkLAorICAgICAgICAgICB0aGUgSEFMX1JUQ19Nc3BEZUluaXQgY291bGQgYmUgaW1wbGVtZW50ZWQgaW4gdGhlIHVzZXIgZmlsZQogICAgKi8KIH0KIApAQCAtNjk4LDggKzY1Nyw4IEBACiAgICovCiAKIC8qKiBAZGVmZ3JvdXAgUlRDX0V4cG9ydGVkX0Z1bmN0aW9uc19Hcm91cDIgUlRDIFRpbWUgYW5kIERhdGUgZnVuY3Rpb25zCi0gKiAgQGJyaWVmICAgUlRDIFRpbWUgYW5kIERhdGUgZnVuY3Rpb25zCi0gKgorICAqIEBicmllZiAgICBSVEMgVGltZSBhbmQgRGF0ZSBmdW5jdGlvbnMKKyAgKgogQHZlcmJhdGltCiAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgICAgICAgICAgICAgICAjIyMjIyBSVEMgVGltZSBhbmQgRGF0ZSBmdW5jdGlvbnMgIyMjIyMKQEAgLTcxNiw2ICs2NzUsOCBAQAogICAqIEBwYXJhbSAgaHJ0YyBwb2ludGVyIHRvIGEgUlRDX0hhbmRsZVR5cGVEZWYgc3RydWN0dXJlIHRoYXQgY29udGFpbnMKICAgKiAgICAgICAgICAgICAgICB0aGUgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbiBmb3IgUlRDLgogICAqIEBwYXJhbSAgc1RpbWUgUG9pbnRlciB0byBUaW1lIHN0cnVjdHVyZQorICAqIEBub3RlICAgRGF5TGlnaHRTYXZpbmcgYW5kIFN0b3JlT3BlcmF0aW9uIGludGVyZmFjZXMgYXJlIGRlcHJlY2F0ZWQuCisgICogICAgICAgICBUbyBtYW5hZ2UgRGF5bGlnaHQgU2F2aW5nIFRpbWUsIHBsZWFzZSB1c2UgSEFMX1JUQ19EU1RfeHh4IGZ1bmN0aW9ucy4KICAgKiBAcGFyYW0gIEZvcm1hdCBTcGVjaWZpZXMgdGhlIGZvcm1hdCBvZiB0aGUgZW50ZXJlZCBwYXJhbWV0ZXJzLgogICAqICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBvbmUgb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXM6CiAgICogICAgICAgICAgICBAYXJnIFJUQ19GT1JNQVRfQklOOiBCaW5hcnkgZGF0YSBmb3JtYXQKQEAgLTcyNSw4ICs2ODYsOSBAQAogSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1JUQ19TZXRUaW1lKFJUQ19IYW5kbGVUeXBlRGVmICpocnRjLCBSVENfVGltZVR5cGVEZWYgKnNUaW1lLCB1aW50MzJfdCBGb3JtYXQpCiB7CiAgIHVpbnQzMl90IHRtcHJlZyA9IDBVOworICBIQUxfU3RhdHVzVHlwZURlZiBzdGF0dXM7CiAKLSAvKiBDaGVjayB0aGUgcGFyYW1ldGVycyAqLworICAvKiBDaGVjayB0aGUgcGFyYW1ldGVycyAqLwogICBhc3NlcnRfcGFyYW0oSVNfUlRDX0ZPUk1BVChGb3JtYXQpKTsKICAgYXNzZXJ0X3BhcmFtKElTX1JUQ19EQVlMSUdIVF9TQVZJTkcoc1RpbWUtPkRheUxpZ2h0U2F2aW5nKSk7CiAgIGFzc2VydF9wYXJhbShJU19SVENfU1RPUkVfT1BFUkFUSU9OKHNUaW1lLT5TdG9yZU9wZXJhdGlvbikpOwpAQCAtNzM2LDkgKzY5OCw5IEBACiAKICAgaHJ0Yy0+U3RhdGUgPSBIQUxfUlRDX1NUQVRFX0JVU1k7CiAKLSAgaWYoRm9ybWF0ID09IFJUQ19GT1JNQVRfQklOKQorICBpZiAoRm9ybWF0ID09IFJUQ19GT1JNQVRfQklOKQogICB7Ci0gICAgaWYoKGhydGMtPkluc3RhbmNlLT5DUiAmIFJUQ19DUl9GTVQpICE9ICh1aW50MzJfdClSRVNFVCkKKyAgICBpZiAoKGhydGMtPkluc3RhbmNlLT5DUiAmIFJUQ19DUl9GTVQpICE9IDBVKQogICAgIHsKICAgICAgIGFzc2VydF9wYXJhbShJU19SVENfSE9VUjEyKHNUaW1lLT5Ib3VycykpOwogICAgICAgYXNzZXJ0X3BhcmFtKElTX1JUQ19IT1VSRk9STUFUMTIoc1RpbWUtPlRpbWVGb3JtYXQpKTsKQEAgLTc1MSwxNCArNzEzLDE0IEBACiAgICAgYXNzZXJ0X3BhcmFtKElTX1JUQ19NSU5VVEVTKHNUaW1lLT5NaW51dGVzKSk7CiAgICAgYXNzZXJ0X3BhcmFtKElTX1JUQ19TRUNPTkRTKHNUaW1lLT5TZWNvbmRzKSk7CiAKLSAgICB0bXByZWcgPSAodWludDMyX3QpKCgodWludDMyX3QpUlRDX0J5dGVUb0JjZDIoc1RpbWUtPkhvdXJzKSA8PCAxNlUpIHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdClSVENfQnl0ZVRvQmNkMihzVGltZS0+TWludXRlcykgPDwgOFUpIHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdClSVENfQnl0ZVRvQmNkMihzVGltZS0+U2Vjb25kcykpIHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3Qpc1RpbWUtPlRpbWVGb3JtYXQpIDw8IDE2VSkpOworICAgIHRtcHJlZyA9ICh1aW50MzJfdCkoKCAodWludDMyX3QpUlRDX0J5dGVUb0JjZDIoc1RpbWUtPkhvdXJzKSAgIDw8IFJUQ19UUl9IVV9Qb3MpICB8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICggKHVpbnQzMl90KVJUQ19CeXRlVG9CY2QyKHNUaW1lLT5NaW51dGVzKSA8PCBSVENfVFJfTU5VX1BvcykgfCBcCisgICAgICAgICAgICAgICAgICAgICAgICAoICh1aW50MzJfdClSVENfQnl0ZVRvQmNkMihzVGltZS0+U2Vjb25kcykpICAgICAgICAgICAgICAgICAgIHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3Qpc1RpbWUtPlRpbWVGb3JtYXQpICAgICAgICAgICAgIDw8IFJUQ19UUl9QTV9Qb3MpKTsKICAgfQogICBlbHNlCiAgIHsKLSAgICBpZigoaHJ0Yy0+SW5zdGFuY2UtPkNSICYgUlRDX0NSX0ZNVCkgIT0gKHVpbnQzMl90KVJFU0VUKQorICAgIGlmICgoaHJ0Yy0+SW5zdGFuY2UtPkNSICYgUlRDX0NSX0ZNVCkgIT0gMFUpCiAgICAgewogICAgICAgYXNzZXJ0X3BhcmFtKElTX1JUQ19IT1VSMTIoUlRDX0JjZDJUb0J5dGUoc1RpbWUtPkhvdXJzKSkpOwogICAgICAgYXNzZXJ0X3BhcmFtKElTX1JUQ19IT1VSRk9STUFUMTIoc1RpbWUtPlRpbWVGb3JtYXQpKTsKQEAgLTc3MCw2OSArNzMyLDQ1IEBACiAgICAgfQogICAgIGFzc2VydF9wYXJhbShJU19SVENfTUlOVVRFUyhSVENfQmNkMlRvQnl0ZShzVGltZS0+TWludXRlcykpKTsKICAgICBhc3NlcnRfcGFyYW0oSVNfUlRDX1NFQ09ORFMoUlRDX0JjZDJUb0J5dGUoc1RpbWUtPlNlY29uZHMpKSk7Ci0gICAgdG1wcmVnID0gKCgodWludDMyX3QpKHNUaW1lLT5Ib3VycykgPDwgMTZVKSB8IFwKLSAgICAgICAgICAgICAgKCh1aW50MzJfdCkoc1RpbWUtPk1pbnV0ZXMpIDw8IDhVKSB8IFwKLSAgICAgICAgICAgICAgKCh1aW50MzJfdClzVGltZS0+U2Vjb25kcykgfCBcCi0gICAgICAgICAgICAgICgodWludDMyX3QpKHNUaW1lLT5UaW1lRm9ybWF0KSA8PCAxNlUpKTsKKyAgICB0bXByZWcgPSAoKCh1aW50MzJfdCkoc1RpbWUtPkhvdXJzKSAgICAgIDw8IFJUQ19UUl9IVV9Qb3MpICB8IFwKKyAgICAgICAgICAgICAgKCh1aW50MzJfdCkoc1RpbWUtPk1pbnV0ZXMpICAgIDw8IFJUQ19UUl9NTlVfUG9zKSB8IFwKKyAgICAgICAgICAgICAgKCh1aW50MzJfdCkgc1RpbWUtPlNlY29uZHMpICAgICAgICAgICAgICAgICAgICAgICB8IFwKKyAgICAgICAgICAgICAgKCh1aW50MzJfdCkoc1RpbWUtPlRpbWVGb3JtYXQpIDw8IFJUQ19UUl9QTV9Qb3MpKTsKICAgfQogCiAgIC8qIERpc2FibGUgdGhlIHdyaXRlIHByb3RlY3Rpb24gZm9yIFJUQyByZWdpc3RlcnMgKi8KICAgX19IQUxfUlRDX1dSSVRFUFJPVEVDVElPTl9ESVNBQkxFKGhydGMpOwogCi0gIC8qIFNldCBJbml0aWFsaXphdGlvbiBtb2RlICovCi0gIGlmKFJUQ19FbnRlckluaXRNb2RlKGhydGMpICE9IEhBTF9PSykKLSAgewotICAgIC8qIEVuYWJsZSB0aGUgd3JpdGUgcHJvdGVjdGlvbiBmb3IgUlRDIHJlZ2lzdGVycyAqLwotICAgIF9fSEFMX1JUQ19XUklURVBST1RFQ1RJT05fRU5BQkxFKGhydGMpOworICAvKiBFbnRlciBJbml0aWFsaXphdGlvbiBtb2RlICovCisgIHN0YXR1cyA9IFJUQ19FbnRlckluaXRNb2RlKGhydGMpOwogCi0gICAgLyogU2V0IFJUQyBzdGF0ZSAqLwotICAgIGhydGMtPlN0YXRlID0gSEFMX1JUQ19TVEFURV9FUlJPUjsKLQotICAgIC8qIFByb2Nlc3MgVW5sb2NrZWQgKi8KLSAgICBfX0hBTF9VTkxPQ0soaHJ0Yyk7Ci0KLSAgICByZXR1cm4gSEFMX0VSUk9SOwotICB9Ci0gIGVsc2UKKyAgaWYgKHN0YXR1cyA9PSBIQUxfT0spCiAgIHsKICAgICAvKiBTZXQgdGhlIFJUQ19UUiByZWdpc3RlciAqLwogICAgIGhydGMtPkluc3RhbmNlLT5UUiA9ICh1aW50MzJfdCkodG1wcmVnICYgUlRDX1RSX1JFU0VSVkVEX01BU0spOwogCi0gICAgLyogVGhpcyBpbnRlcmZhY2UgaXMgZGVwcmVjYXRlZC4gVG8gbWFuYWdlIERheWxpZ2h0IFNhdmluZyBUaW1lLCBwbGVhc2UgdXNlIEhBTF9SVENfRFNUX3h4eCBmdW5jdGlvbnMgKi8KLSAgICBocnRjLT5JbnN0YW5jZS0+Q1IgJj0gKHVpbnQzMl90KX5SVENfQ1JfQkNLOworICAgIC8qIENsZWFyIHRoZSBiaXRzIHRvIGJlIGNvbmZpZ3VyZWQgKERlcHJlY2F0ZWQuIFVzZSBIQUxfUlRDX0RTVF94eHggZnVuY3Rpb25zIGluc3RlYWQpICovCisgICAgaHJ0Yy0+SW5zdGFuY2UtPkNSICY9ICh1aW50MzJfdCl+UlRDX0NSX0JLUDsKIAotICAgIC8qIFRoaXMgaW50ZXJmYWNlIGlzIGRlcHJlY2F0ZWQuIFRvIG1hbmFnZSBEYXlsaWdodCBTYXZpbmcgVGltZSwgcGxlYXNlIHVzZSBIQUxfUlRDX0RTVF94eHggZnVuY3Rpb25zICovCisgICAgLyogQ29uZmlndXJlIHRoZSBSVENfQ1IgcmVnaXN0ZXIgKERlcHJlY2F0ZWQuIFVzZSBIQUxfUlRDX0RTVF94eHggZnVuY3Rpb25zIGluc3RlYWQpICovCiAgICAgaHJ0Yy0+SW5zdGFuY2UtPkNSIHw9ICh1aW50MzJfdCkoc1RpbWUtPkRheUxpZ2h0U2F2aW5nIHwgc1RpbWUtPlN0b3JlT3BlcmF0aW9uKTsKIAogICAgIC8qIEV4aXQgSW5pdGlhbGl6YXRpb24gbW9kZSAqLwotICAgIGhydGMtPkluc3RhbmNlLT5JU1IgJj0gKHVpbnQzMl90KX5SVENfSVNSX0lOSVQ7Ci0KLSAgICAvKiBJZiAgQ1JfQllQU0hBRCBiaXQgPSAwLCB3YWl0IGZvciBzeW5jaHJvIGVsc2UgdGhpcyBjaGVjayBpcyBub3QgbmVlZGVkICovCi0gICAgaWYoKGhydGMtPkluc3RhbmNlLT5DUiAmIFJUQ19DUl9CWVBTSEFEKSA9PSBSRVNFVCkKLSAgICB7Ci0gICAgICBpZihIQUxfUlRDX1dhaXRGb3JTeW5jaHJvKGhydGMpICE9IEhBTF9PSykKLSAgICAgIHsKLSAgICAgICAgLyogRW5hYmxlIHRoZSB3cml0ZSBwcm90ZWN0aW9uIGZvciBSVEMgcmVnaXN0ZXJzICovCi0gICAgICAgIF9fSEFMX1JUQ19XUklURVBST1RFQ1RJT05fRU5BQkxFKGhydGMpOwotCi0gICAgICAgIGhydGMtPlN0YXRlID0gSEFMX1JUQ19TVEFURV9FUlJPUjsKLQotICAgICAgICAvKiBQcm9jZXNzIFVubG9ja2VkICovCi0gICAgICAgIF9fSEFMX1VOTE9DSyhocnRjKTsKLQotICAgICAgICByZXR1cm4gSEFMX0VSUk9SOwotICAgICAgfQotICAgIH0KLQotICAgIC8qIEVuYWJsZSB0aGUgd3JpdGUgcHJvdGVjdGlvbiBmb3IgUlRDIHJlZ2lzdGVycyAqLwotICAgIF9fSEFMX1JUQ19XUklURVBST1RFQ1RJT05fRU5BQkxFKGhydGMpOwotCi0gICBocnRjLT5TdGF0ZSA9IEhBTF9SVENfU1RBVEVfUkVBRFk7Ci0KLSAgIF9fSEFMX1VOTE9DSyhocnRjKTsKLQotICAgcmV0dXJuIEhBTF9PSzsKKyAgICBzdGF0dXMgPSBSVENfRXhpdEluaXRNb2RlKGhydGMpOwogICB9CisKKyAgaWYgKHN0YXR1cyA9PSBIQUxfT0spCisgIHsKKyAgICBocnRjLT5TdGF0ZSA9IEhBTF9SVENfU1RBVEVfUkVBRFk7CisgIH0KKworICAvKiBFbmFibGUgdGhlIHdyaXRlIHByb3RlY3Rpb24gZm9yIFJUQyByZWdpc3RlcnMgKi8KKyAgX19IQUxfUlRDX1dSSVRFUFJPVEVDVElPTl9FTkFCTEUoaHJ0Yyk7CisKKyAgLyogUHJvY2VzcyBVbmxvY2tlZCAqLworICBfX0hBTF9VTkxPQ0soaHJ0Yyk7CisKKyAgcmV0dXJuIHN0YXR1czsKIH0KIAogLyoqCkBAIC04NDQsMTMgKzc4MiwxOSBAQAogICAqICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBvbmUgb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXM6CiAgICogICAgICAgICAgICBAYXJnIFJUQ19GT1JNQVRfQklOOiBCaW5hcnkgZGF0YSBmb3JtYXQKICAgKiAgICAgICAgICAgIEBhcmcgUlRDX0ZPUk1BVF9CQ0Q6IEJDRCBkYXRhIGZvcm1hdAotICAqIEBub3RlICBZb3UgY2FuIHVzZSBTdWJTZWNvbmRzIGFuZCBTZWNvbmRGcmFjdGlvbiAoc1RpbWUgc3RydWN0dXJlIGZpZWxkcyByZXR1cm5lZCkgdG8gY29udmVydCBTdWJTZWNvbmRzCi0gICogICAgICAgIHZhbHVlIGluIHNlY29uZCBmcmFjdGlvbiByYXRpbyB3aXRoIHRpbWUgdW5pdCBmb2xsb3dpbmcgZ2VuZXJpYyBmb3JtdWxhOgotICAqICAgICAgICBTZWNvbmQgZnJhY3Rpb24gcmF0aW8gKiB0aW1lX3VuaXQ9IFsoU2Vjb25kRnJhY3Rpb24tU3ViU2Vjb25kcykvKFNlY29uZEZyYWN0aW9uKzEpXSAqIHRpbWVfdW5pdAotICAqICAgICAgICBUaGlzIGNvbnZlcnNpb24gY2FuIGJlIHBlcmZvcm1lZCBvbmx5IGlmIG5vIHNoaWZ0IG9wZXJhdGlvbiBpcyBwZW5kaW5nIChpZS4gU0hGUD0wKSB3aGVuIFBSRURJVl9TID49IFNTCi0gICogQG5vdGUgWW91IG11c3QgY2FsbCBIQUxfUlRDX0dldERhdGUoKSBhZnRlciBIQUxfUlRDX0dldFRpbWUoKSB0byB1bmxvY2sgdGhlIHZhbHVlcwotICAqICAgICAgICBpbiB0aGUgaGlnaGVyLW9yZGVyIGNhbGVuZGFyIHNoYWRvdyByZWdpc3RlcnMgdG8gZW5zdXJlIGNvbnNpc3RlbmN5IGJldHdlZW4gdGhlIHRpbWUgYW5kIGRhdGUgdmFsdWVzLgotICAqICAgICAgICBSZWFkaW5nIFJUQyBjdXJyZW50IHRpbWUgbG9ja3MgdGhlIHZhbHVlcyBpbiBjYWxlbmRhciBzaGFkb3cgcmVnaXN0ZXJzIHVudGlsIGN1cnJlbnQgZGF0ZSBpcyByZWFkLgorICAqIEBub3RlICBZb3UgY2FuIHVzZSBTdWJTZWNvbmRzIGFuZCBTZWNvbmRGcmFjdGlvbiAoc1RpbWUgc3RydWN0dXJlIGZpZWxkcworICAqICAgICAgICByZXR1cm5lZCkgdG8gY29udmVydCBTdWJTZWNvbmRzIHZhbHVlIGluIHNlY29uZCBmcmFjdGlvbiByYXRpbyB3aXRoCisgICogICAgICAgIHRpbWUgdW5pdCBmb2xsb3dpbmcgZ2VuZXJpYyBmb3JtdWxhOgorICAqICAgICAgICBTZWNvbmQgZnJhY3Rpb24gcmF0aW8gKiB0aW1lX3VuaXQgPQorICAqICAgICAgICAgICBbKFNlY29uZEZyYWN0aW9uIC0gU3ViU2Vjb25kcykgLyAoU2Vjb25kRnJhY3Rpb24gKyAxKV0gKiB0aW1lX3VuaXQKKyAgKiAgICAgICAgVGhpcyBjb252ZXJzaW9uIGNhbiBiZSBwZXJmb3JtZWQgb25seSBpZiBubyBzaGlmdCBvcGVyYXRpb24gaXMgcGVuZGluZworICAqICAgICAgICAoaWUuIFNIRlA9MCkgd2hlbiBQUkVESVZfUyA+PSBTUworICAqIEBub3RlICBZb3UgbXVzdCBjYWxsIEhBTF9SVENfR2V0RGF0ZSgpIGFmdGVyIEhBTF9SVENfR2V0VGltZSgpIHRvIHVubG9jayB0aGUKKyAgKiAgICAgICAgdmFsdWVzIGluIHRoZSBoaWdoZXItb3JkZXIgY2FsZW5kYXIgc2hhZG93IHJlZ2lzdGVycyB0byBlbnN1cmUKKyAgKiAgICAgICAgY29uc2lzdGVuY3kgYmV0d2VlbiB0aGUgdGltZSBhbmQgZGF0ZSB2YWx1ZXMuCisgICogICAgICAgIFJlYWRpbmcgUlRDIGN1cnJlbnQgdGltZSBsb2NrcyB0aGUgdmFsdWVzIGluIGNhbGVuZGFyIHNoYWRvdyByZWdpc3RlcnMKKyAgKiAgICAgICAgdW50aWwgY3VycmVudCBkYXRlIGlzIHJlYWQgdG8gZW5zdXJlIGNvbnNpc3RlbmN5IGJldHdlZW4gdGhlIHRpbWUgYW5kCisgICogICAgICAgIGRhdGUgdmFsdWVzLgogICAqIEByZXR2YWwgSEFMIHN0YXR1cwogICAqLwogSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1JUQ19HZXRUaW1lKFJUQ19IYW5kbGVUeXBlRGVmICpocnRjLCBSVENfVGltZVR5cGVEZWYgKnNUaW1lLCB1aW50MzJfdCBGb3JtYXQpCkBAIC04NjAsNyArODA0LDcgQEAKICAgLyogQ2hlY2sgdGhlIHBhcmFtZXRlcnMgKi8KICAgYXNzZXJ0X3BhcmFtKElTX1JUQ19GT1JNQVQoRm9ybWF0KSk7CiAKLSAgLyogR2V0IHN1YnNlY29uZHMgc3RydWN0dXJlIGZpZWxkIGZyb20gdGhlIGNvcnJlc3BvbmRpbmcgcmVnaXN0ZXIgKi8KKyAgLyogR2V0IHN1YnNlY29uZHMgdmFsdWUgZnJvbSB0aGUgY29ycmVzcG9uZGluZyByZWdpc3RlciAqLwogICBzVGltZS0+U3ViU2Vjb25kcyA9ICh1aW50MzJfdCkoaHJ0Yy0+SW5zdGFuY2UtPlNTUik7CiAKICAgLyogR2V0IFNlY29uZEZyYWN0aW9uIHN0cnVjdHVyZSBmaWVsZCBmcm9tIHRoZSBjb3JyZXNwb25kaW5nIHJlZ2lzdGVyIGZpZWxkKi8KQEAgLTg3MCwxMyArODE0LDEzIEBACiAgIHRtcHJlZyA9ICh1aW50MzJfdCkoaHJ0Yy0+SW5zdGFuY2UtPlRSICYgUlRDX1RSX1JFU0VSVkVEX01BU0spOwogCiAgIC8qIEZpbGwgdGhlIHN0cnVjdHVyZSBmaWVsZHMgd2l0aCB0aGUgcmVhZCBwYXJhbWV0ZXJzICovCi0gIHNUaW1lLT5Ib3VycyA9ICh1aW50OF90KSgodG1wcmVnICYgKFJUQ19UUl9IVCB8IFJUQ19UUl9IVSkpID4+IDE2VSk7Ci0gIHNUaW1lLT5NaW51dGVzID0gKHVpbnQ4X3QpKCh0bXByZWcgJiAoUlRDX1RSX01OVCB8IFJUQ19UUl9NTlUpKSA+PiA4VSk7Ci0gIHNUaW1lLT5TZWNvbmRzID0gKHVpbnQ4X3QpKHRtcHJlZyAmIChSVENfVFJfU1QgfCBSVENfVFJfU1UpKTsKLSAgc1RpbWUtPlRpbWVGb3JtYXQgPSAodWludDhfdCkoKHRtcHJlZyAmIChSVENfVFJfUE0pKSA+PiAxNlUpOworICBzVGltZS0+SG91cnMgICAgICA9ICh1aW50OF90KSgodG1wcmVnICYgKFJUQ19UUl9IVCAgfCBSVENfVFJfSFUpKSAgPj4gUlRDX1RSX0hVX1Bvcyk7CisgIHNUaW1lLT5NaW51dGVzICAgID0gKHVpbnQ4X3QpKCh0bXByZWcgJiAoUlRDX1RSX01OVCB8IFJUQ19UUl9NTlUpKSA+PiBSVENfVFJfTU5VX1Bvcyk7CisgIHNUaW1lLT5TZWNvbmRzICAgID0gKHVpbnQ4X3QpKCB0bXByZWcgJiAoUlRDX1RSX1NUICB8IFJUQ19UUl9TVSkpOworICBzVGltZS0+VGltZUZvcm1hdCA9ICh1aW50OF90KSgodG1wcmVnICYgKFJUQ19UUl9QTSkpICAgICAgICAgICAgICAgPj4gUlRDX1RSX1BNX1Bvcyk7CiAKICAgLyogQ2hlY2sgdGhlIGlucHV0IHBhcmFtZXRlcnMgZm9ybWF0ICovCi0gIGlmKEZvcm1hdCA9PSBSVENfRk9STUFUX0JJTikKKyAgaWYgKEZvcm1hdCA9PSBSVENfRk9STUFUX0JJTikKICAgewogICAgIC8qIENvbnZlcnQgdGhlIHRpbWUgc3RydWN0dXJlIHBhcmFtZXRlcnMgdG8gQmluYXJ5IGZvcm1hdCAqLwogICAgIHNUaW1lLT5Ib3VycyA9ICh1aW50OF90KVJUQ19CY2QyVG9CeXRlKHNUaW1lLT5Ib3Vycyk7CkBAIC05MDEsMzIgKzg0NSwzMyBAQAogSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1JUQ19TZXREYXRlKFJUQ19IYW5kbGVUeXBlRGVmICpocnRjLCBSVENfRGF0ZVR5cGVEZWYgKnNEYXRlLCB1aW50MzJfdCBGb3JtYXQpCiB7CiAgIHVpbnQzMl90IGRhdGV0bXByZWcgPSAwVTsKKyAgSEFMX1N0YXR1c1R5cGVEZWYgc3RhdHVzOwogCi0gLyogQ2hlY2sgdGhlIHBhcmFtZXRlcnMgKi8KKyAgLyogQ2hlY2sgdGhlIHBhcmFtZXRlcnMgKi8KICAgYXNzZXJ0X3BhcmFtKElTX1JUQ19GT1JNQVQoRm9ybWF0KSk7CiAKLSAvKiBQcm9jZXNzIExvY2tlZCAqLwotIF9fSEFMX0xPQ0soaHJ0Yyk7CisgIC8qIFByb2Nlc3MgTG9ja2VkICovCisgIF9fSEFMX0xPQ0soaHJ0Yyk7CiAKICAgaHJ0Yy0+U3RhdGUgPSBIQUxfUlRDX1NUQVRFX0JVU1k7CiAKLSAgaWYoKEZvcm1hdCA9PSBSVENfRk9STUFUX0JJTikgJiYgKChzRGF0ZS0+TW9udGggJiAweDEwVSkgPT0gMHgxMFUpKQorICBpZiAoKEZvcm1hdCA9PSBSVENfRk9STUFUX0JJTikgJiYgKChzRGF0ZS0+TW9udGggJiAweDEwVSkgPT0gMHgxMFUpKQogICB7CiAgICAgc0RhdGUtPk1vbnRoID0gKHVpbnQ4X3QpKChzRGF0ZS0+TW9udGggJiAodWludDhfdCl+KDB4MTBVKSkgKyAodWludDhfdCkweDBBVSk7CiAgIH0KIAogICBhc3NlcnRfcGFyYW0oSVNfUlRDX1dFRUtEQVkoc0RhdGUtPldlZWtEYXkpKTsKIAotICBpZihGb3JtYXQgPT0gUlRDX0ZPUk1BVF9CSU4pCisgIGlmIChGb3JtYXQgPT0gUlRDX0ZPUk1BVF9CSU4pCiAgIHsKICAgICBhc3NlcnRfcGFyYW0oSVNfUlRDX1lFQVIoc0RhdGUtPlllYXIpKTsKICAgICBhc3NlcnRfcGFyYW0oSVNfUlRDX01PTlRIKHNEYXRlLT5Nb250aCkpOwogICAgIGFzc2VydF9wYXJhbShJU19SVENfREFURShzRGF0ZS0+RGF0ZSkpOwogCi0gICBkYXRldG1wcmVnID0gKCgodWludDMyX3QpUlRDX0J5dGVUb0JjZDIoc0RhdGUtPlllYXIpIDw8IDE2VSkgfCBcCi0gICAgICAgICAgICAgICAgICgodWludDMyX3QpUlRDX0J5dGVUb0JjZDIoc0RhdGUtPk1vbnRoKSA8PCA4VSkgfCBcCi0gICAgICAgICAgICAgICAgICgodWludDMyX3QpUlRDX0J5dGVUb0JjZDIoc0RhdGUtPkRhdGUpKSB8IFwKLSAgICAgICAgICAgICAgICAgKCh1aW50MzJfdClzRGF0ZS0+V2Vla0RheSA8PCAxM1UpKTsKKyAgICBkYXRldG1wcmVnID0gKCgodWludDMyX3QpUlRDX0J5dGVUb0JjZDIoc0RhdGUtPlllYXIpICA8PCBSVENfRFJfWVVfUG9zKSB8IFwKKyAgICAgICAgICAgICAgICAgICgodWludDMyX3QpUlRDX0J5dGVUb0JjZDIoc0RhdGUtPk1vbnRoKSA8PCBSVENfRFJfTVVfUG9zKSB8IFwKKyAgICAgICAgICAgICAgICAgICgodWludDMyX3QpUlRDX0J5dGVUb0JjZDIoc0RhdGUtPkRhdGUpKSAgICAgICAgICAgICAgICAgICB8IFwKKyAgICAgICAgICAgICAgICAgICgodWludDMyX3Qpc0RhdGUtPldlZWtEYXkgICAgICAgICAgICAgICA8PCBSVENfRFJfV0RVX1BvcykpOwogICB9CiAgIGVsc2UKICAgewpAQCAtOTM0LDY0ICs4NzksMzkgQEAKICAgICBhc3NlcnRfcGFyYW0oSVNfUlRDX01PTlRIKFJUQ19CY2QyVG9CeXRlKHNEYXRlLT5Nb250aCkpKTsKICAgICBhc3NlcnRfcGFyYW0oSVNfUlRDX0RBVEUoUlRDX0JjZDJUb0J5dGUoc0RhdGUtPkRhdGUpKSk7CiAKLSAgICBkYXRldG1wcmVnID0gKCgoKHVpbnQzMl90KXNEYXRlLT5ZZWFyKSA8PCAxNlUpIHwgXAotICAgICAgICAgICAgICAgICAgKCgodWludDMyX3Qpc0RhdGUtPk1vbnRoKSA8PCA4VSkgfCBcCi0gICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KXNEYXRlLT5EYXRlKSB8IFwKLSAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KXNEYXRlLT5XZWVrRGF5KSA8PCAxM1UpKTsKKyAgICBkYXRldG1wcmVnID0gKCgoKHVpbnQzMl90KXNEYXRlLT5ZZWFyKSAgICA8PCBSVENfRFJfWVVfUG9zKSB8IFwKKyAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KXNEYXRlLT5Nb250aCkgICA8PCBSVENfRFJfTVVfUG9zKSB8IFwKKyAgICAgICAgICAgICAgICAgICgodWludDMyX3QpIHNEYXRlLT5EYXRlKSAgICAgICAgICAgICAgICAgICAgICB8IFwKKyAgICAgICAgICAgICAgICAgICgoKHVpbnQzMl90KXNEYXRlLT5XZWVrRGF5KSA8PCBSVENfRFJfV0RVX1BvcykpOwogICB9CiAKICAgLyogRGlzYWJsZSB0aGUgd3JpdGUgcHJvdGVjdGlvbiBmb3IgUlRDIHJlZ2lzdGVycyAqLwogICBfX0hBTF9SVENfV1JJVEVQUk9URUNUSU9OX0RJU0FCTEUoaHJ0Yyk7CiAKLSAgLyogU2V0IEluaXRpYWxpemF0aW9uIG1vZGUgKi8KLSAgaWYoUlRDX0VudGVySW5pdE1vZGUoaHJ0YykgIT0gSEFMX09LKQotICB7Ci0gICAgLyogRW5hYmxlIHRoZSB3cml0ZSBwcm90ZWN0aW9uIGZvciBSVEMgcmVnaXN0ZXJzICovCi0gICAgX19IQUxfUlRDX1dSSVRFUFJPVEVDVElPTl9FTkFCTEUoaHJ0Yyk7CisgIC8qIEVudGVyIEluaXRpYWxpemF0aW9uIG1vZGUgKi8KKyAgc3RhdHVzID0gUlRDX0VudGVySW5pdE1vZGUoaHJ0Yyk7CiAKLSAgICAvKiBTZXQgUlRDIHN0YXRlKi8KLSAgICBocnRjLT5TdGF0ZSA9IEhBTF9SVENfU1RBVEVfRVJST1I7Ci0KLSAgICAvKiBQcm9jZXNzIFVubG9ja2VkICovCi0gICAgX19IQUxfVU5MT0NLKGhydGMpOwotCi0gICAgcmV0dXJuIEhBTF9FUlJPUjsKLSAgfQotICBlbHNlCisgIGlmIChzdGF0dXMgPT0gSEFMX09LKQogICB7CiAgICAgLyogU2V0IHRoZSBSVENfRFIgcmVnaXN0ZXIgKi8KICAgICBocnRjLT5JbnN0YW5jZS0+RFIgPSAodWludDMyX3QpKGRhdGV0bXByZWcgJiBSVENfRFJfUkVTRVJWRURfTUFTSyk7CiAKICAgICAvKiBFeGl0IEluaXRpYWxpemF0aW9uIG1vZGUgKi8KLSAgICBocnRjLT5JbnN0YW5jZS0+SVNSICY9ICh1aW50MzJfdCl+UlRDX0lTUl9JTklUOwotCi0gICAgLyogSWYgIENSX0JZUFNIQUQgYml0ID0gMCwgd2FpdCBmb3Igc3luY2hybyBlbHNlIHRoaXMgY2hlY2sgaXMgbm90IG5lZWRlZCAqLwotICAgIGlmKChocnRjLT5JbnN0YW5jZS0+Q1IgJiBSVENfQ1JfQllQU0hBRCkgPT0gUkVTRVQpCi0gICAgewotICAgICAgaWYoSEFMX1JUQ19XYWl0Rm9yU3luY2hybyhocnRjKSAhPSBIQUxfT0spCi0gICAgICB7Ci0gICAgICAgIC8qIEVuYWJsZSB0aGUgd3JpdGUgcHJvdGVjdGlvbiBmb3IgUlRDIHJlZ2lzdGVycyAqLwotICAgICAgICBfX0hBTF9SVENfV1JJVEVQUk9URUNUSU9OX0VOQUJMRShocnRjKTsKLQotICAgICAgICBocnRjLT5TdGF0ZSA9IEhBTF9SVENfU1RBVEVfRVJST1I7Ci0KLSAgICAgICAgLyogUHJvY2VzcyBVbmxvY2tlZCAqLwotICAgICAgICBfX0hBTF9VTkxPQ0soaHJ0Yyk7Ci0KLSAgICAgICAgcmV0dXJuIEhBTF9FUlJPUjsKLSAgICAgIH0KLSAgICB9Ci0KLSAgICAvKiBFbmFibGUgdGhlIHdyaXRlIHByb3RlY3Rpb24gZm9yIFJUQyByZWdpc3RlcnMgKi8KLSAgICBfX0hBTF9SVENfV1JJVEVQUk9URUNUSU9OX0VOQUJMRShocnRjKTsKLQotICAgIGhydGMtPlN0YXRlID0gSEFMX1JUQ19TVEFURV9SRUFEWSA7Ci0KLSAgICAvKiBQcm9jZXNzIFVubG9ja2VkICovCi0gICAgX19IQUxfVU5MT0NLKGhydGMpOwotCi0gICAgcmV0dXJuIEhBTF9PSzsKKyAgICBzdGF0dXMgPSBSVENfRXhpdEluaXRNb2RlKGhydGMpOwogICB9CisKKyAgaWYgKHN0YXR1cyA9PSBIQUxfT0spCisgIHsKKyAgICBocnRjLT5TdGF0ZSA9IEhBTF9SVENfU1RBVEVfUkVBRFk7CisgIH0KKworICAvKiBFbmFibGUgdGhlIHdyaXRlIHByb3RlY3Rpb24gZm9yIFJUQyByZWdpc3RlcnMgKi8KKyAgX19IQUxfUlRDX1dSSVRFUFJPVEVDVElPTl9FTkFCTEUoaHJ0Yyk7CisKKyAgLyogUHJvY2VzcyBVbmxvY2tlZCAqLworICBfX0hBTF9VTkxPQ0soaHJ0Yyk7CisKKyAgcmV0dXJuIHN0YXR1czsKIH0KIAogLyoqCkBAIC0xMDAzLDkgKzkyMywxMiBAQAogICAqICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBvbmUgb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXM6CiAgICogICAgICAgICAgICBAYXJnIFJUQ19GT1JNQVRfQklOOiAgQmluYXJ5IGRhdGEgZm9ybWF0CiAgICogICAgICAgICAgICBAYXJnIFJUQ19GT1JNQVRfQkNEOiAgQkNEIGRhdGEgZm9ybWF0Ci0gICogQG5vdGUgWW91IG11c3QgY2FsbCBIQUxfUlRDX0dldERhdGUoKSBhZnRlciBIQUxfUlRDX0dldFRpbWUoKSB0byB1bmxvY2sgdGhlIHZhbHVlcwotICAqIGluIHRoZSBoaWdoZXItb3JkZXIgY2FsZW5kYXIgc2hhZG93IHJlZ2lzdGVycyB0byBlbnN1cmUgY29uc2lzdGVuY3kgYmV0d2VlbiB0aGUgdGltZSBhbmQgZGF0ZSB2YWx1ZXMuCi0gICogUmVhZGluZyBSVEMgY3VycmVudCB0aW1lIGxvY2tzIHRoZSB2YWx1ZXMgaW4gY2FsZW5kYXIgc2hhZG93IHJlZ2lzdGVycyB1bnRpbCBDdXJyZW50IGRhdGUgaXMgcmVhZC4KKyAgKiBAbm90ZSAgWW91IG11c3QgY2FsbCBIQUxfUlRDX0dldERhdGUoKSBhZnRlciBIQUxfUlRDX0dldFRpbWUoKSB0byB1bmxvY2sgdGhlCisgICogICAgICAgIHZhbHVlcyBpbiB0aGUgaGlnaGVyLW9yZGVyIGNhbGVuZGFyIHNoYWRvdyByZWdpc3RlcnMgdG8gZW5zdXJlCisgICogICAgICAgIGNvbnNpc3RlbmN5IGJldHdlZW4gdGhlIHRpbWUgYW5kIGRhdGUgdmFsdWVzLgorICAqICAgICAgICBSZWFkaW5nIFJUQyBjdXJyZW50IHRpbWUgbG9ja3MgdGhlIHZhbHVlcyBpbiBjYWxlbmRhciBzaGFkb3cgcmVnaXN0ZXJzCisgICogICAgICAgIHVudGlsIGN1cnJlbnQgZGF0ZSBpcyByZWFkIHRvIGVuc3VyZSBjb25zaXN0ZW5jeSBiZXR3ZWVuIHRoZSB0aW1lIGFuZAorICAqICAgICAgICBkYXRlIHZhbHVlcy4KICAgKiBAcmV0dmFsIEhBTCBzdGF0dXMKICAgKi8KIEhBTF9TdGF0dXNUeXBlRGVmIEhBTF9SVENfR2V0RGF0ZShSVENfSGFuZGxlVHlwZURlZiAqaHJ0YywgUlRDX0RhdGVUeXBlRGVmICpzRGF0ZSwgdWludDMyX3QgRm9ybWF0KQpAQCAtMTAxOSwxOCArOTQyLDE4IEBACiAgIGRhdGV0bXByZWcgPSAodWludDMyX3QpKGhydGMtPkluc3RhbmNlLT5EUiAmIFJUQ19EUl9SRVNFUlZFRF9NQVNLKTsKIAogICAvKiBGaWxsIHRoZSBzdHJ1Y3R1cmUgZmllbGRzIHdpdGggdGhlIHJlYWQgcGFyYW1ldGVycyAqLwotICBzRGF0ZS0+WWVhciA9ICh1aW50OF90KSgoZGF0ZXRtcHJlZyAmIChSVENfRFJfWVQgfCBSVENfRFJfWVUpKSA+PiAxNlUpOwotICBzRGF0ZS0+TW9udGggPSAodWludDhfdCkoKGRhdGV0bXByZWcgJiAoUlRDX0RSX01UIHwgUlRDX0RSX01VKSkgPj4gOFUpOwotICBzRGF0ZS0+RGF0ZSA9ICh1aW50OF90KShkYXRldG1wcmVnICYgKFJUQ19EUl9EVCB8IFJUQ19EUl9EVSkpOwotICBzRGF0ZS0+V2Vla0RheSA9ICh1aW50OF90KSgoZGF0ZXRtcHJlZyAmIChSVENfRFJfV0RVKSkgPj4gMTNVKTsKKyAgc0RhdGUtPlllYXIgICAgPSAodWludDhfdCkoKGRhdGV0bXByZWcgJiAoUlRDX0RSX1lUIHwgUlRDX0RSX1lVKSkgPj4gUlRDX0RSX1lVX1Bvcyk7CisgIHNEYXRlLT5Nb250aCAgID0gKHVpbnQ4X3QpKChkYXRldG1wcmVnICYgKFJUQ19EUl9NVCB8IFJUQ19EUl9NVSkpID4+IFJUQ19EUl9NVV9Qb3MpOworICBzRGF0ZS0+RGF0ZSAgICA9ICh1aW50OF90KSAoZGF0ZXRtcHJlZyAmIChSVENfRFJfRFQgfCBSVENfRFJfRFUpKTsKKyAgc0RhdGUtPldlZWtEYXkgPSAodWludDhfdCkoKGRhdGV0bXByZWcgJiAoUlRDX0RSX1dEVSkpICAgICAgICAgICAgPj4gUlRDX0RSX1dEVV9Qb3MpOwogCiAgIC8qIENoZWNrIHRoZSBpbnB1dCBwYXJhbWV0ZXJzIGZvcm1hdCAqLwotICBpZihGb3JtYXQgPT0gUlRDX0ZPUk1BVF9CSU4pCisgIGlmIChGb3JtYXQgPT0gUlRDX0ZPUk1BVF9CSU4pCiAgIHsKICAgICAvKiBDb252ZXJ0IHRoZSBkYXRlIHN0cnVjdHVyZSBwYXJhbWV0ZXJzIHRvIEJpbmFyeSBmb3JtYXQgKi8KLSAgICBzRGF0ZS0+WWVhciA9ICh1aW50OF90KVJUQ19CY2QyVG9CeXRlKHNEYXRlLT5ZZWFyKTsKKyAgICBzRGF0ZS0+WWVhciAgPSAodWludDhfdClSVENfQmNkMlRvQnl0ZShzRGF0ZS0+WWVhcik7CiAgICAgc0RhdGUtPk1vbnRoID0gKHVpbnQ4X3QpUlRDX0JjZDJUb0J5dGUoc0RhdGUtPk1vbnRoKTsKLSAgICBzRGF0ZS0+RGF0ZSA9ICh1aW50OF90KVJUQ19CY2QyVG9CeXRlKHNEYXRlLT5EYXRlKTsKKyAgICBzRGF0ZS0+RGF0ZSAgPSAodWludDhfdClSVENfQmNkMlRvQnl0ZShzRGF0ZS0+RGF0ZSk7CiAgIH0KICAgcmV0dXJuIEhBTF9PSzsKIH0KQEAgLTEwNDAsOCArOTYzLDggQEAKICAgKi8KIAogLyoqIEBkZWZncm91cCBSVENfRXhwb3J0ZWRfRnVuY3Rpb25zX0dyb3VwMyBSVEMgQWxhcm0gZnVuY3Rpb25zCi0gKiAgQGJyaWVmICAgUlRDIEFsYXJtIGZ1bmN0aW9ucwotICoKKyAgKiBAYnJpZWYgICAgUlRDIEFsYXJtIGZ1bmN0aW9ucworICAqCiBAdmVyYmF0aW0KICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAgICAgICAgICAgICAgICMjIyMjIFJUQyBBbGFybSBmdW5jdGlvbnMgIyMjIyMKQEAgLTEwNjEsMTIgKzk4NCwxNiBAQAogICAqICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBvbmUgb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXM6CiAgICogICAgICAgICAgICAgQGFyZyBSVENfRk9STUFUX0JJTjogQmluYXJ5IGRhdGEgZm9ybWF0CiAgICogICAgICAgICAgICAgQGFyZyBSVENfRk9STUFUX0JDRDogQkNEIGRhdGEgZm9ybWF0CisgICogQG5vdGUgICBUaGUgQWxhcm0gcmVnaXN0ZXIgY2FuIG9ubHkgYmUgd3JpdHRlbiB3aGVuIHRoZSBjb3JyZXNwb25kaW5nIEFsYXJtCisgICogICAgICAgICBpcyBkaXNhYmxlZCAoVXNlIHRoZSBIQUxfUlRDX0RlYWN0aXZhdGVBbGFybSgpKS4KKyAgKiBAbm90ZSAgIFRoZSBIQUxfUlRDX1NldFRpbWUoKSBtdXN0IGJlIGNhbGxlZCBiZWZvcmUgZW5hYmxpbmcgdGhlIEFsYXJtIGZlYXR1cmUuCiAgICogQHJldHZhbCBIQUwgc3RhdHVzCiAgICovCiBIQUxfU3RhdHVzVHlwZURlZiBIQUxfUlRDX1NldEFsYXJtKFJUQ19IYW5kbGVUeXBlRGVmICpocnRjLCBSVENfQWxhcm1UeXBlRGVmICpzQWxhcm0sIHVpbnQzMl90IEZvcm1hdCkKIHsKICAgdWludDMyX3QgdGlja3N0YXJ0ID0gMFU7Ci0gIHVpbnQzMl90IHRtcHJlZyA9IDBVLCBzdWJzZWNvbmR0bXByZWcgPSAwVTsKKyAgdWludDMyX3QgdG1wcmVnID0gMFU7CisgIHVpbnQzMl90IHN1YnNlY29uZHRtcHJlZyA9IDBVOwogCiAgIC8qIENoZWNrIHRoZSBwYXJhbWV0ZXJzICovCiAgIGFzc2VydF9wYXJhbShJU19SVENfRk9STUFUKEZvcm1hdCkpOwpAQCAtMTA3OSwxMSArMTAwNiwxNCBAQAogICAvKiBQcm9jZXNzIExvY2tlZCAqLwogICBfX0hBTF9MT0NLKGhydGMpOwogCisgIC8qIENoYW5nZSBSVEMgc3RhdGUgdG8gQlVTWSAqLwogICBocnRjLT5TdGF0ZSA9IEhBTF9SVENfU1RBVEVfQlVTWTsKIAotICBpZihGb3JtYXQgPT0gUlRDX0ZPUk1BVF9CSU4pCisgIC8qIENoZWNrIHRoZSBkYXRhIGZvcm1hdCAoYmluYXJ5IG9yIEJDRCkgYW5kIHN0b3JlIHRoZSBBbGFybSB0aW1lIGFuZCBkYXRlCisgICAgIGNvbmZpZ3VyYXRpb24gYWNjb3JkaW5nbHkgKi8KKyAgaWYgKEZvcm1hdCA9PSBSVENfRk9STUFUX0JJTikKICAgewotICAgIGlmKChocnRjLT5JbnN0YW5jZS0+Q1IgJiBSVENfQ1JfRk1UKSAhPSAodWludDMyX3QpUkVTRVQpCisgICAgaWYgKChocnRjLT5JbnN0YW5jZS0+Q1IgJiBSVENfQ1JfRk1UKSAhPSAwVSkKICAgICB7CiAgICAgICBhc3NlcnRfcGFyYW0oSVNfUlRDX0hPVVIxMihzQWxhcm0tPkFsYXJtVGltZS5Ib3VycykpOwogICAgICAgYXNzZXJ0X3BhcmFtKElTX1JUQ19IT1VSRk9STUFUMTIoc0FsYXJtLT5BbGFybVRpbWUuVGltZUZvcm1hdCkpOwpAQCAtMTA5Niw3ICsxMDI2LDcgQEAKICAgICBhc3NlcnRfcGFyYW0oSVNfUlRDX01JTlVURVMoc0FsYXJtLT5BbGFybVRpbWUuTWludXRlcykpOwogICAgIGFzc2VydF9wYXJhbShJU19SVENfU0VDT05EUyhzQWxhcm0tPkFsYXJtVGltZS5TZWNvbmRzKSk7CiAKLSAgICBpZihzQWxhcm0tPkFsYXJtRGF0ZVdlZWtEYXlTZWwgPT0gUlRDX0FMQVJNREFURVdFRUtEQVlTRUxfREFURSkKKyAgICBpZiAoc0FsYXJtLT5BbGFybURhdGVXZWVrRGF5U2VsID09IFJUQ19BTEFSTURBVEVXRUVLREFZU0VMX0RBVEUpCiAgICAgewogICAgICAgYXNzZXJ0X3BhcmFtKElTX1JUQ19BTEFSTV9EQVRFX1dFRUtEQVlfREFURShzQWxhcm0tPkFsYXJtRGF0ZVdlZWtEYXkpKTsKICAgICB9CkBAIC0xMTA1LDE3ICsxMDM1LDE3IEBACiAgICAgICBhc3NlcnRfcGFyYW0oSVNfUlRDX0FMQVJNX0RBVEVfV0VFS0RBWV9XRUVLREFZKHNBbGFybS0+QWxhcm1EYXRlV2Vla0RheSkpOwogICAgIH0KIAotICAgIHRtcHJlZyA9ICgoKHVpbnQzMl90KVJUQ19CeXRlVG9CY2QyKHNBbGFybS0+QWxhcm1UaW1lLkhvdXJzKSA8PCAxNlUpIHwgXAotICAgICAgICAgICAgICAoKHVpbnQzMl90KVJUQ19CeXRlVG9CY2QyKHNBbGFybS0+QWxhcm1UaW1lLk1pbnV0ZXMpIDw8IDhVKSB8IFwKLSAgICAgICAgICAgICAgKCh1aW50MzJfdClSVENfQnl0ZVRvQmNkMihzQWxhcm0tPkFsYXJtVGltZS5TZWNvbmRzKSkgfCBcCi0gICAgICAgICAgICAgICgodWludDMyX3QpKHNBbGFybS0+QWxhcm1UaW1lLlRpbWVGb3JtYXQpIDw8IDE2VSkgfCBcCi0gICAgICAgICAgICAgICgodWludDMyX3QpUlRDX0J5dGVUb0JjZDIoc0FsYXJtLT5BbGFybURhdGVXZWVrRGF5KSA8PCAyNFUpIHwgXAotICAgICAgICAgICAgICAoKHVpbnQzMl90KXNBbGFybS0+QWxhcm1EYXRlV2Vla0RheVNlbCkgfCBcCisgICAgdG1wcmVnID0gKCgodWludDMyX3QpUlRDX0J5dGVUb0JjZDIoc0FsYXJtLT5BbGFybVRpbWUuSG91cnMpICAgPDwgUlRDX0FMUk1BUl9IVV9Qb3MpICB8IFwKKyAgICAgICAgICAgICAgKCh1aW50MzJfdClSVENfQnl0ZVRvQmNkMihzQWxhcm0tPkFsYXJtVGltZS5NaW51dGVzKSA8PCBSVENfQUxSTUFSX01OVV9Qb3MpIHwgXAorICAgICAgICAgICAgICAoKHVpbnQzMl90KVJUQ19CeXRlVG9CY2QyKHNBbGFybS0+QWxhcm1UaW1lLlNlY29uZHMpKSAgICAgICAgICAgICAgICAgICAgICAgfCBcCisgICAgICAgICAgICAgICgodWludDMyX3QpKHNBbGFybS0+QWxhcm1UaW1lLlRpbWVGb3JtYXQpICAgICAgICAgICAgPDwgUlRDX1RSX1BNX1BvcykgICAgICB8IFwKKyAgICAgICAgICAgICAgKCh1aW50MzJfdClSVENfQnl0ZVRvQmNkMihzQWxhcm0tPkFsYXJtRGF0ZVdlZWtEYXkpICA8PCBSVENfQUxSTUFSX0RVX1BvcykgIHwgXAorICAgICAgICAgICAgICAoKHVpbnQzMl90KXNBbGFybS0+QWxhcm1EYXRlV2Vla0RheVNlbCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBcCiAgICAgICAgICAgICAgICgodWludDMyX3Qpc0FsYXJtLT5BbGFybU1hc2spKTsKICAgfQogICBlbHNlCiAgIHsKLSAgICBpZigoaHJ0Yy0+SW5zdGFuY2UtPkNSICYgUlRDX0NSX0ZNVCkgIT0gKHVpbnQzMl90KVJFU0VUKQorICAgIGlmICgoaHJ0Yy0+SW5zdGFuY2UtPkNSICYgUlRDX0NSX0ZNVCkgIT0gMFUpCiAgICAgewogICAgICAgYXNzZXJ0X3BhcmFtKElTX1JUQ19IT1VSMTIoUlRDX0JjZDJUb0J5dGUoc0FsYXJtLT5BbGFybVRpbWUuSG91cnMpKSk7CiAgICAgICBhc3NlcnRfcGFyYW0oSVNfUlRDX0hPVVJGT1JNQVQxMihzQWxhcm0tPkFsYXJtVGltZS5UaW1lRm9ybWF0KSk7CkBAIC0xMTI5LDcgKzEwNTksNyBAQAogICAgIGFzc2VydF9wYXJhbShJU19SVENfTUlOVVRFUyhSVENfQmNkMlRvQnl0ZShzQWxhcm0tPkFsYXJtVGltZS5NaW51dGVzKSkpOwogICAgIGFzc2VydF9wYXJhbShJU19SVENfU0VDT05EUyhSVENfQmNkMlRvQnl0ZShzQWxhcm0tPkFsYXJtVGltZS5TZWNvbmRzKSkpOwogCi0gICAgaWYoc0FsYXJtLT5BbGFybURhdGVXZWVrRGF5U2VsID09IFJUQ19BTEFSTURBVEVXRUVLREFZU0VMX0RBVEUpCisgICAgaWYgKHNBbGFybS0+QWxhcm1EYXRlV2Vla0RheVNlbCA9PSBSVENfQUxBUk1EQVRFV0VFS0RBWVNFTF9EQVRFKQogICAgIHsKICAgICAgIGFzc2VydF9wYXJhbShJU19SVENfQUxBUk1fREFURV9XRUVLREFZX0RBVEUoUlRDX0JjZDJUb0J5dGUoc0FsYXJtLT5BbGFybURhdGVXZWVrRGF5KSkpOwogICAgIH0KQEAgLTExMzgsMzcgKzEwNjgsNDEgQEAKICAgICAgIGFzc2VydF9wYXJhbShJU19SVENfQUxBUk1fREFURV9XRUVLREFZX1dFRUtEQVkoUlRDX0JjZDJUb0J5dGUoc0FsYXJtLT5BbGFybURhdGVXZWVrRGF5KSkpOwogICAgIH0KIAotICAgIHRtcHJlZyA9ICgoKHVpbnQzMl90KShzQWxhcm0tPkFsYXJtVGltZS5Ib3VycykgPDwgMTZVKSB8IFwKLSAgICAgICAgICAgICAgKCh1aW50MzJfdCkoc0FsYXJtLT5BbGFybVRpbWUuTWludXRlcykgPDwgOFUpIHwgXAotICAgICAgICAgICAgICAoKHVpbnQzMl90KSBzQWxhcm0tPkFsYXJtVGltZS5TZWNvbmRzKSB8IFwKLSAgICAgICAgICAgICAgKCh1aW50MzJfdCkoc0FsYXJtLT5BbGFybVRpbWUuVGltZUZvcm1hdCkgPDwgMTZVKSB8IFwKLSAgICAgICAgICAgICAgKCh1aW50MzJfdCkoc0FsYXJtLT5BbGFybURhdGVXZWVrRGF5KSA8PCAyNFUpIHwgXAotICAgICAgICAgICAgICAoKHVpbnQzMl90KXNBbGFybS0+QWxhcm1EYXRlV2Vla0RheVNlbCkgfCBcCi0gICAgICAgICAgICAgICgodWludDMyX3Qpc0FsYXJtLT5BbGFybU1hc2spKTsKKyAgICB0bXByZWcgPSAoKCh1aW50MzJfdCkoc0FsYXJtLT5BbGFybVRpbWUuSG91cnMpICAgICAgPDwgUlRDX0FMUk1BUl9IVV9Qb3MpICB8IFwKKyAgICAgICAgICAgICAgKCh1aW50MzJfdCkoc0FsYXJtLT5BbGFybVRpbWUuTWludXRlcykgICAgPDwgUlRDX0FMUk1BUl9NTlVfUG9zKSB8IFwKKyAgICAgICAgICAgICAgKCh1aW50MzJfdCkgc0FsYXJtLT5BbGFybVRpbWUuU2Vjb25kcykgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFwKKyAgICAgICAgICAgICAgKCh1aW50MzJfdCkoc0FsYXJtLT5BbGFybVRpbWUuVGltZUZvcm1hdCkgPDwgUlRDX1RSX1BNX1BvcykgICAgICB8IFwKKyAgICAgICAgICAgICAgKCh1aW50MzJfdCkoc0FsYXJtLT5BbGFybURhdGVXZWVrRGF5KSAgICAgPDwgUlRDX0FMUk1BUl9EVV9Qb3MpICB8IFwKKyAgICAgICAgICAgICAgKCh1aW50MzJfdCkgc0FsYXJtLT5BbGFybURhdGVXZWVrRGF5U2VsKSAgICAgICAgICAgICAgICAgICAgICAgICB8IFwKKyAgICAgICAgICAgICAgKCh1aW50MzJfdCkgc0FsYXJtLT5BbGFybU1hc2spKTsKICAgfQogCi0gIC8qIENvbmZpZ3VyZSB0aGUgQWxhcm0gQSBvciBBbGFybSBCIFN1YiBTZWNvbmQgcmVnaXN0ZXJzICovCi0gIHN1YnNlY29uZHRtcHJlZyA9ICh1aW50MzJfdCkoKHVpbnQzMl90KShzQWxhcm0tPkFsYXJtVGltZS5TdWJTZWNvbmRzKSB8ICh1aW50MzJfdCkoc0FsYXJtLT5BbGFybVN1YlNlY29uZE1hc2spKTsKKyAgLyogU3RvcmUgdGhlIEFsYXJtIHN1YnNlY29uZHMgY29uZmlndXJhdGlvbiAqLworICBzdWJzZWNvbmR0bXByZWcgPSAodWludDMyX3QpKCh1aW50MzJfdCkoc0FsYXJtLT5BbGFybVRpbWUuU3ViU2Vjb25kcykgfCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHVpbnQzMl90KShzQWxhcm0tPkFsYXJtU3ViU2Vjb25kTWFzaykpOwogCiAgIC8qIERpc2FibGUgdGhlIHdyaXRlIHByb3RlY3Rpb24gZm9yIFJUQyByZWdpc3RlcnMgKi8KICAgX19IQUxfUlRDX1dSSVRFUFJPVEVDVElPTl9ESVNBQkxFKGhydGMpOwogCiAgIC8qIENvbmZpZ3VyZSB0aGUgQWxhcm0gcmVnaXN0ZXIgKi8KLSAgaWYoc0FsYXJtLT5BbGFybSA9PSBSVENfQUxBUk1fQSkKKyAgaWYgKHNBbGFybS0+QWxhcm0gPT0gUlRDX0FMQVJNX0EpCiAgIHsKLSAgICAvKiBEaXNhYmxlIHRoZSBBbGFybSBBIGludGVycnVwdCAqLworICAgIC8qIERpc2FibGUgdGhlIEFsYXJtIEEgKi8KICAgICBfX0hBTF9SVENfQUxBUk1BX0RJU0FCTEUoaHJ0Yyk7CiAKLSAgICAvKiBJbiBjYXNlIG9mIGludGVycnVwdCBtb2RlIGlzIHVzZWQsIHRoZSBpbnRlcnJ1cHQgc291cmNlIG11c3QgZGlzYWJsZWQgKi8KKyAgICAvKiBJbiBjYXNlIGludGVycnVwdCBtb2RlIGlzIHVzZWQsIHRoZSBpbnRlcnJ1cHQgc291cmNlIG11c3QgYmUgZGlzYWJsZWQgKi8KICAgICBfX0hBTF9SVENfQUxBUk1fRElTQUJMRV9JVChocnRjLCBSVENfSVRfQUxSQSk7CiAKKyAgICAvKiBDbGVhciB0aGUgQWxhcm0gZmxhZyAqLworICAgIF9fSEFMX1JUQ19BTEFSTV9DTEVBUl9GTEFHKGhydGMsIFJUQ19GTEFHX0FMUkFGKTsKKwogICAgIC8qIEdldCB0aWNrICovCiAgICAgdGlja3N0YXJ0ID0gSEFMX0dldFRpY2soKTsKIAotICAgIC8qIFdhaXQgdGlsbCBSVEMgQUxSQVdGIGZsYWcgaXMgc2V0IGFuZCBpZiBUaW1lIG91dCBpcyByZWFjaGVkIGV4aXQgKi8KLSAgICB3aGlsZShfX0hBTF9SVENfQUxBUk1fR0VUX0ZMQUcoaHJ0YywgUlRDX0ZMQUdfQUxSQVdGKSA9PSBSRVNFVCkKKyAgICAvKiBXYWl0IHRpbGwgUlRDIEFMUkFXRiBmbGFnIGlzIHNldCBhbmQgaWYgdGltZW91dCBpcyByZWFjaGVkIGV4aXQgKi8KKyAgICB3aGlsZSAoX19IQUxfUlRDX0FMQVJNX0dFVF9GTEFHKGhydGMsIFJUQ19GTEFHX0FMUkFXRikgPT0gMFUpCiAgICAgewotICAgICAgaWYoKEhBTF9HZXRUaWNrKCkgLSB0aWNrc3RhcnQgKSA+IFJUQ19USU1FT1VUX1ZBTFVFKQorICAgICAgaWYgKChIQUxfR2V0VGljaygpIC0gdGlja3N0YXJ0KSA+IFJUQ19USU1FT1VUX1ZBTFVFKQogICAgICAgewogICAgICAgICAvKiBFbmFibGUgdGhlIHdyaXRlIHByb3RlY3Rpb24gZm9yIFJUQyByZWdpc3RlcnMgKi8KICAgICAgICAgX19IQUxfUlRDX1dSSVRFUFJPVEVDVElPTl9FTkFCTEUoaHJ0Yyk7CkBAIC0xMTgzLDI2ICsxMTE3LDI5IEBACiAgICAgfQogCiAgICAgaHJ0Yy0+SW5zdGFuY2UtPkFMUk1BUiA9ICh1aW50MzJfdCl0bXByZWc7Ci0gICAgLyogQ29uZmlndXJlIHRoZSBBbGFybSBBIFN1YiBTZWNvbmQgcmVnaXN0ZXIgKi8KKyAgICAvKiBDb25maWd1cmUgdGhlIEFsYXJtIEEgU3Vic2Vjb25kcyByZWdpc3RlciAqLwogICAgIGhydGMtPkluc3RhbmNlLT5BTFJNQVNTUiA9IHN1YnNlY29uZHRtcHJlZzsKICAgICAvKiBDb25maWd1cmUgdGhlIEFsYXJtIHN0YXRlOiBFbmFibGUgQWxhcm0gKi8KICAgICBfX0hBTF9SVENfQUxBUk1BX0VOQUJMRShocnRjKTsKICAgfQogICBlbHNlCiAgIHsKLSAgICAvKiBEaXNhYmxlIHRoZSBBbGFybSBCIGludGVycnVwdCAqLworICAgIC8qIERpc2FibGUgdGhlIEFsYXJtIEIgKi8KICAgICBfX0hBTF9SVENfQUxBUk1CX0RJU0FCTEUoaHJ0Yyk7CiAKLSAgICAvKiBJbiBjYXNlIG9mIGludGVycnVwdCBtb2RlIGlzIHVzZWQsIHRoZSBpbnRlcnJ1cHQgc291cmNlIG11c3QgZGlzYWJsZWQgKi8KKyAgICAvKiBJbiBjYXNlIGludGVycnVwdCBtb2RlIGlzIHVzZWQsIHRoZSBpbnRlcnJ1cHQgc291cmNlIG11c3QgYmUgZGlzYWJsZWQgKi8KICAgICBfX0hBTF9SVENfQUxBUk1fRElTQUJMRV9JVChocnRjLCBSVENfSVRfQUxSQik7CiAKKyAgICAvKiBDbGVhciB0aGUgQWxhcm0gZmxhZyAqLworICAgIF9fSEFMX1JUQ19BTEFSTV9DTEVBUl9GTEFHKGhydGMsIFJUQ19GTEFHX0FMUkJGKTsKKwogICAgIC8qIEdldCB0aWNrICovCiAgICAgdGlja3N0YXJ0ID0gSEFMX0dldFRpY2soKTsKIAotICAgIC8qIFdhaXQgdGlsbCBSVEMgQUxSQldGIGZsYWcgaXMgc2V0IGFuZCBpZiBUaW1lIG91dCBpcyByZWFjaGVkIGV4aXQgKi8KLSAgICB3aGlsZShfX0hBTF9SVENfQUxBUk1fR0VUX0ZMQUcoaHJ0YywgUlRDX0ZMQUdfQUxSQldGKSA9PSBSRVNFVCkKKyAgICAvKiBXYWl0IHRpbGwgUlRDIEFMUkJXRiBmbGFnIGlzIHNldCBhbmQgaWYgdGltZW91dCBpcyByZWFjaGVkIGV4aXQgKi8KKyAgICB3aGlsZSAoX19IQUxfUlRDX0FMQVJNX0dFVF9GTEFHKGhydGMsIFJUQ19GTEFHX0FMUkJXRikgPT0gMFUpCiAgICAgewotICAgICAgaWYoKEhBTF9HZXRUaWNrKCkgLSB0aWNrc3RhcnQgKSA+IFJUQ19USU1FT1VUX1ZBTFVFKQorICAgICAgaWYgKChIQUxfR2V0VGljaygpIC0gdGlja3N0YXJ0KSA+IFJUQ19USU1FT1VUX1ZBTFVFKQogICAgICAgewogICAgICAgICAvKiBFbmFibGUgdGhlIHdyaXRlIHByb3RlY3Rpb24gZm9yIFJUQyByZWdpc3RlcnMgKi8KICAgICAgICAgX19IQUxfUlRDX1dSSVRFUFJPVEVDVElPTl9FTkFCTEUoaHJ0Yyk7CkBAIC0xMjE3LDcgKzExNTQsNyBAQAogICAgIH0KIAogICAgIGhydGMtPkluc3RhbmNlLT5BTFJNQlIgPSAodWludDMyX3QpdG1wcmVnOwotICAgIC8qIENvbmZpZ3VyZSB0aGUgQWxhcm0gQiBTdWIgU2Vjb25kIHJlZ2lzdGVyICovCisgICAgLyogQ29uZmlndXJlIHRoZSBBbGFybSBCIFN1YnNlY29uZHMgcmVnaXN0ZXIgKi8KICAgICBocnRjLT5JbnN0YW5jZS0+QUxSTUJTU1IgPSBzdWJzZWNvbmR0bXByZWc7CiAgICAgLyogQ29uZmlndXJlIHRoZSBBbGFybSBzdGF0ZTogRW5hYmxlIEFsYXJtICovCiAgICAgX19IQUxfUlRDX0FMQVJNQl9FTkFCTEUoaHJ0Yyk7CkBAIC0xMjI2LDcgKzExNjMsNyBAQAogICAvKiBFbmFibGUgdGhlIHdyaXRlIHByb3RlY3Rpb24gZm9yIFJUQyByZWdpc3RlcnMgKi8KICAgX19IQUxfUlRDX1dSSVRFUFJPVEVDVElPTl9FTkFCTEUoaHJ0Yyk7CiAKLSAgLyogQ2hhbmdlIFJUQyBzdGF0ZSAqLworICAvKiBDaGFuZ2UgUlRDIHN0YXRlIGJhY2sgdG8gUkVBRFkgKi8KICAgaHJ0Yy0+U3RhdGUgPSBIQUxfUlRDX1NUQVRFX1JFQURZOwogCiAgIC8qIFByb2Nlc3MgVW5sb2NrZWQgKi8KQEAgLTEyMzYsNyArMTE3Myw3IEBACiB9CiAKIC8qKgotICAqIEBicmllZiAgU2V0cyB0aGUgc3BlY2lmaWVkIFJUQyBBbGFybSB3aXRoIEludGVycnVwdAorICAqIEBicmllZiAgU2V0cyB0aGUgc3BlY2lmaWVkIFJUQyBBbGFybSB3aXRoIEludGVycnVwdC4KICAgKiBAcGFyYW0gIGhydGMgcG9pbnRlciB0byBhIFJUQ19IYW5kbGVUeXBlRGVmIHN0cnVjdHVyZSB0aGF0IGNvbnRhaW5zCiAgICogICAgICAgICAgICAgICAgdGhlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gZm9yIFJUQy4KICAgKiBAcGFyYW0gIHNBbGFybSBQb2ludGVyIHRvIEFsYXJtIHN0cnVjdHVyZQpAQCAtMTI0NCwxMiArMTE4MSwxNiBAQAogICAqICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBvbmUgb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXM6CiAgICogICAgICAgICAgICAgQGFyZyBSVENfRk9STUFUX0JJTjogQmluYXJ5IGRhdGEgZm9ybWF0CiAgICogICAgICAgICAgICAgQGFyZyBSVENfRk9STUFUX0JDRDogQkNEIGRhdGEgZm9ybWF0CisgICogQG5vdGUgICBUaGUgQWxhcm0gcmVnaXN0ZXIgY2FuIG9ubHkgYmUgd3JpdHRlbiB3aGVuIHRoZSBjb3JyZXNwb25kaW5nIEFsYXJtCisgICogICAgICAgICBpcyBkaXNhYmxlZCAoVXNlIHRoZSBIQUxfUlRDX0RlYWN0aXZhdGVBbGFybSgpKS4KKyAgKiBAbm90ZSAgIFRoZSBIQUxfUlRDX1NldFRpbWUoKSBtdXN0IGJlIGNhbGxlZCBiZWZvcmUgZW5hYmxpbmcgdGhlIEFsYXJtIGZlYXR1cmUuCiAgICogQHJldHZhbCBIQUwgc3RhdHVzCiAgICovCiBIQUxfU3RhdHVzVHlwZURlZiBIQUxfUlRDX1NldEFsYXJtX0lUKFJUQ19IYW5kbGVUeXBlRGVmICpocnRjLCBSVENfQWxhcm1UeXBlRGVmICpzQWxhcm0sIHVpbnQzMl90IEZvcm1hdCkKIHsKLSAgdWludDMyX3QgdG1wcmVnID0gMFUsIHN1YnNlY29uZHRtcHJlZyA9IDBVOwotICBfX0lPIHVpbnQzMl90IGNvdW50ID0gUlRDX1RJTUVPVVRfVkFMVUUgICogKFN5c3RlbUNvcmVDbG9jayAvIDMyVSAvIDEwMDBVKSA7CisgIF9fSU8gdWludDMyX3QgY291bnQgID0gUlRDX1RJTUVPVVRfVkFMVUUgKiAoU3lzdGVtQ29yZUNsb2NrIC8gMzJVIC8gMTAwMFUpOworICAgICAgIHVpbnQzMl90IHRtcHJlZyA9IDBVOworICAgICAgIHVpbnQzMl90IHN1YnNlY29uZHRtcHJlZyA9IDBVOwogCiAgIC8qIENoZWNrIHRoZSBwYXJhbWV0ZXJzICovCiAgIGFzc2VydF9wYXJhbShJU19SVENfRk9STUFUKEZvcm1hdCkpOwpAQCAtMTI2MiwxMSArMTIwMywxNCBAQAogICAvKiBQcm9jZXNzIExvY2tlZCAqLwogICBfX0hBTF9MT0NLKGhydGMpOwogCisgIC8qIENoYW5nZSBSVEMgc3RhdGUgdG8gQlVTWSAqLwogICBocnRjLT5TdGF0ZSA9IEhBTF9SVENfU1RBVEVfQlVTWTsKIAotICBpZihGb3JtYXQgPT0gUlRDX0ZPUk1BVF9CSU4pCisgIC8qIENoZWNrIHRoZSBkYXRhIGZvcm1hdCAoYmluYXJ5IG9yIEJDRCkgYW5kIHN0b3JlIHRoZSBBbGFybSB0aW1lIGFuZCBkYXRlCisgICAgIGNvbmZpZ3VyYXRpb24gYWNjb3JkaW5nbHkgKi8KKyAgaWYgKEZvcm1hdCA9PSBSVENfRk9STUFUX0JJTikKICAgewotICAgIGlmKChocnRjLT5JbnN0YW5jZS0+Q1IgJiBSVENfQ1JfRk1UKSAhPSAodWludDMyX3QpUkVTRVQpCisgICAgaWYgKChocnRjLT5JbnN0YW5jZS0+Q1IgJiBSVENfQ1JfRk1UKSAhPSAwVSkKICAgICB7CiAgICAgICBhc3NlcnRfcGFyYW0oSVNfUlRDX0hPVVIxMihzQWxhcm0tPkFsYXJtVGltZS5Ib3VycykpOwogICAgICAgYXNzZXJ0X3BhcmFtKElTX1JUQ19IT1VSRk9STUFUMTIoc0FsYXJtLT5BbGFybVRpbWUuVGltZUZvcm1hdCkpOwpAQCAtMTI3OSw3ICsxMjIzLDcgQEAKICAgICBhc3NlcnRfcGFyYW0oSVNfUlRDX01JTlVURVMoc0FsYXJtLT5BbGFybVRpbWUuTWludXRlcykpOwogICAgIGFzc2VydF9wYXJhbShJU19SVENfU0VDT05EUyhzQWxhcm0tPkFsYXJtVGltZS5TZWNvbmRzKSk7CiAKLSAgICBpZihzQWxhcm0tPkFsYXJtRGF0ZVdlZWtEYXlTZWwgPT0gUlRDX0FMQVJNREFURVdFRUtEQVlTRUxfREFURSkKKyAgICBpZiAoc0FsYXJtLT5BbGFybURhdGVXZWVrRGF5U2VsID09IFJUQ19BTEFSTURBVEVXRUVLREFZU0VMX0RBVEUpCiAgICAgewogICAgICAgYXNzZXJ0X3BhcmFtKElTX1JUQ19BTEFSTV9EQVRFX1dFRUtEQVlfREFURShzQWxhcm0tPkFsYXJtRGF0ZVdlZWtEYXkpKTsKICAgICB9CkBAIC0xMjg3LDE3ICsxMjMxLDE4IEBACiAgICAgewogICAgICAgYXNzZXJ0X3BhcmFtKElTX1JUQ19BTEFSTV9EQVRFX1dFRUtEQVlfV0VFS0RBWShzQWxhcm0tPkFsYXJtRGF0ZVdlZWtEYXkpKTsKICAgICB9Ci0gICAgdG1wcmVnID0gKCgodWludDMyX3QpUlRDX0J5dGVUb0JjZDIoc0FsYXJtLT5BbGFybVRpbWUuSG91cnMpIDw8IDE2VSkgfCBcCi0gICAgICAgICAgICAgICgodWludDMyX3QpUlRDX0J5dGVUb0JjZDIoc0FsYXJtLT5BbGFybVRpbWUuTWludXRlcykgPDwgOFUpIHwgXAotICAgICAgICAgICAgICAoKHVpbnQzMl90KVJUQ19CeXRlVG9CY2QyKHNBbGFybS0+QWxhcm1UaW1lLlNlY29uZHMpKSB8IFwKLSAgICAgICAgICAgICAgKCh1aW50MzJfdCkoc0FsYXJtLT5BbGFybVRpbWUuVGltZUZvcm1hdCkgPDwgMTZVKSB8IFwKLSAgICAgICAgICAgICAgKCh1aW50MzJfdClSVENfQnl0ZVRvQmNkMihzQWxhcm0tPkFsYXJtRGF0ZVdlZWtEYXkpIDw8IDI0VSkgfCBcCi0gICAgICAgICAgICAgICgodWludDMyX3Qpc0FsYXJtLT5BbGFybURhdGVXZWVrRGF5U2VsKSB8IFwKKworICAgIHRtcHJlZyA9ICgoKHVpbnQzMl90KVJUQ19CeXRlVG9CY2QyKHNBbGFybS0+QWxhcm1UaW1lLkhvdXJzKSAgIDw8IFJUQ19BTFJNQVJfSFVfUG9zKSAgfCBcCisgICAgICAgICAgICAgICgodWludDMyX3QpUlRDX0J5dGVUb0JjZDIoc0FsYXJtLT5BbGFybVRpbWUuTWludXRlcykgPDwgUlRDX0FMUk1BUl9NTlVfUG9zKSB8IFwKKyAgICAgICAgICAgICAgKCh1aW50MzJfdClSVENfQnl0ZVRvQmNkMihzQWxhcm0tPkFsYXJtVGltZS5TZWNvbmRzKSkgICAgICAgICAgICAgICAgICAgICAgIHwgXAorICAgICAgICAgICAgICAoKHVpbnQzMl90KShzQWxhcm0tPkFsYXJtVGltZS5UaW1lRm9ybWF0KSAgICAgICAgICAgIDw8IFJUQ19UUl9QTV9Qb3MpICAgICAgfCBcCisgICAgICAgICAgICAgICgodWludDMyX3QpUlRDX0J5dGVUb0JjZDIoc0FsYXJtLT5BbGFybURhdGVXZWVrRGF5KSAgPDwgUlRDX0FMUk1BUl9EVV9Qb3MpICB8IFwKKyAgICAgICAgICAgICAgKCh1aW50MzJfdClzQWxhcm0tPkFsYXJtRGF0ZVdlZWtEYXlTZWwpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgXAogICAgICAgICAgICAgICAoKHVpbnQzMl90KXNBbGFybS0+QWxhcm1NYXNrKSk7CiAgIH0KICAgZWxzZQogICB7Ci0gICAgaWYoKGhydGMtPkluc3RhbmNlLT5DUiAmIFJUQ19DUl9GTVQpICE9ICh1aW50MzJfdClSRVNFVCkKKyAgICBpZiAoKGhydGMtPkluc3RhbmNlLT5DUiAmIFJUQ19DUl9GTVQpICE9IDBVKQogICAgIHsKICAgICAgIGFzc2VydF9wYXJhbShJU19SVENfSE9VUjEyKFJUQ19CY2QyVG9CeXRlKHNBbGFybS0+QWxhcm1UaW1lLkhvdXJzKSkpOwogICAgICAgYXNzZXJ0X3BhcmFtKElTX1JUQ19IT1VSRk9STUFUMTIoc0FsYXJtLT5BbGFybVRpbWUuVGltZUZvcm1hdCkpOwpAQCAtMTMxMSw3ICsxMjU2LDcgQEAKICAgICBhc3NlcnRfcGFyYW0oSVNfUlRDX01JTlVURVMoUlRDX0JjZDJUb0J5dGUoc0FsYXJtLT5BbGFybVRpbWUuTWludXRlcykpKTsKICAgICBhc3NlcnRfcGFyYW0oSVNfUlRDX1NFQ09ORFMoUlRDX0JjZDJUb0J5dGUoc0FsYXJtLT5BbGFybVRpbWUuU2Vjb25kcykpKTsKIAotICAgIGlmKHNBbGFybS0+QWxhcm1EYXRlV2Vla0RheVNlbCA9PSBSVENfQUxBUk1EQVRFV0VFS0RBWVNFTF9EQVRFKQorICAgIGlmIChzQWxhcm0tPkFsYXJtRGF0ZVdlZWtEYXlTZWwgPT0gUlRDX0FMQVJNREFURVdFRUtEQVlTRUxfREFURSkKICAgICB7CiAgICAgICBhc3NlcnRfcGFyYW0oSVNfUlRDX0FMQVJNX0RBVEVfV0VFS0RBWV9EQVRFKFJUQ19CY2QyVG9CeXRlKHNBbGFybS0+QWxhcm1EYXRlV2Vla0RheSkpKTsKICAgICB9CkBAIC0xMzE5LDMwICsxMjY0LDMzIEBACiAgICAgewogICAgICAgYXNzZXJ0X3BhcmFtKElTX1JUQ19BTEFSTV9EQVRFX1dFRUtEQVlfV0VFS0RBWShSVENfQmNkMlRvQnl0ZShzQWxhcm0tPkFsYXJtRGF0ZVdlZWtEYXkpKSk7CiAgICAgfQotICAgIHRtcHJlZyA9ICgoKHVpbnQzMl90KShzQWxhcm0tPkFsYXJtVGltZS5Ib3VycykgPDwgMTZVKSB8IFwKLSAgICAgICAgICAgICAgKCh1aW50MzJfdCkoc0FsYXJtLT5BbGFybVRpbWUuTWludXRlcykgPDwgOFUpIHwgXAotICAgICAgICAgICAgICAoKHVpbnQzMl90KSBzQWxhcm0tPkFsYXJtVGltZS5TZWNvbmRzKSB8IFwKLSAgICAgICAgICAgICAgKCh1aW50MzJfdCkoc0FsYXJtLT5BbGFybVRpbWUuVGltZUZvcm1hdCkgPDwgMTZVKSB8IFwKLSAgICAgICAgICAgICAgKCh1aW50MzJfdCkoc0FsYXJtLT5BbGFybURhdGVXZWVrRGF5KSA8PCAyNFUpIHwgXAotICAgICAgICAgICAgICAoKHVpbnQzMl90KXNBbGFybS0+QWxhcm1EYXRlV2Vla0RheVNlbCkgfCBcCi0gICAgICAgICAgICAgICgodWludDMyX3Qpc0FsYXJtLT5BbGFybU1hc2spKTsKKworICAgIHRtcHJlZyA9ICgoKHVpbnQzMl90KShzQWxhcm0tPkFsYXJtVGltZS5Ib3VycykgICAgICA8PCBSVENfQUxSTUFSX0hVX1BvcykgIHwgXAorICAgICAgICAgICAgICAoKHVpbnQzMl90KShzQWxhcm0tPkFsYXJtVGltZS5NaW51dGVzKSAgICA8PCBSVENfQUxSTUFSX01OVV9Qb3MpIHwgXAorICAgICAgICAgICAgICAoKHVpbnQzMl90KSBzQWxhcm0tPkFsYXJtVGltZS5TZWNvbmRzKSAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgXAorICAgICAgICAgICAgICAoKHVpbnQzMl90KShzQWxhcm0tPkFsYXJtVGltZS5UaW1lRm9ybWF0KSA8PCBSVENfVFJfUE1fUG9zKSAgICAgIHwgXAorICAgICAgICAgICAgICAoKHVpbnQzMl90KShzQWxhcm0tPkFsYXJtRGF0ZVdlZWtEYXkpICAgICA8PCBSVENfQUxSTUFSX0RVX1BvcykgIHwgXAorICAgICAgICAgICAgICAoKHVpbnQzMl90KSBzQWxhcm0tPkFsYXJtRGF0ZVdlZWtEYXlTZWwpICAgICAgICAgICAgICAgICAgICAgICAgIHwgXAorICAgICAgICAgICAgICAoKHVpbnQzMl90KSBzQWxhcm0tPkFsYXJtTWFzaykpOwogICB9Ci0gIC8qIENvbmZpZ3VyZSB0aGUgQWxhcm0gQSBvciBBbGFybSBCIFN1YiBTZWNvbmQgcmVnaXN0ZXJzICovCi0gIHN1YnNlY29uZHRtcHJlZyA9ICh1aW50MzJfdCkoKHVpbnQzMl90KShzQWxhcm0tPkFsYXJtVGltZS5TdWJTZWNvbmRzKSB8ICh1aW50MzJfdCkoc0FsYXJtLT5BbGFybVN1YlNlY29uZE1hc2spKTsKKworICAvKiBTdG9yZSB0aGUgQWxhcm0gc3Vic2Vjb25kcyBjb25maWd1cmF0aW9uICovCisgIHN1YnNlY29uZHRtcHJlZyA9ICh1aW50MzJfdCkoKHVpbnQzMl90KShzQWxhcm0tPkFsYXJtVGltZS5TdWJTZWNvbmRzKSB8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodWludDMyX3QpKHNBbGFybS0+QWxhcm1TdWJTZWNvbmRNYXNrKSk7CiAKICAgLyogRGlzYWJsZSB0aGUgd3JpdGUgcHJvdGVjdGlvbiBmb3IgUlRDIHJlZ2lzdGVycyAqLwogICBfX0hBTF9SVENfV1JJVEVQUk9URUNUSU9OX0RJU0FCTEUoaHJ0Yyk7CiAKICAgLyogQ29uZmlndXJlIHRoZSBBbGFybSByZWdpc3RlciAqLwotICBpZihzQWxhcm0tPkFsYXJtID09IFJUQ19BTEFSTV9BKQorICBpZiAoc0FsYXJtLT5BbGFybSA9PSBSVENfQUxBUk1fQSkKICAgewotICAgIC8qIERpc2FibGUgdGhlIEFsYXJtIEEgaW50ZXJydXB0ICovCisgICAgLyogRGlzYWJsZSB0aGUgQWxhcm0gQSAqLwogICAgIF9fSEFMX1JUQ19BTEFSTUFfRElTQUJMRShocnRjKTsKIAotICAgIC8qIENsZWFyIGZsYWcgYWxhcm0gQSAqLworICAgIC8qIENsZWFyIHRoZSBBbGFybSBmbGFnICovCiAgICAgX19IQUxfUlRDX0FMQVJNX0NMRUFSX0ZMQUcoaHJ0YywgUlRDX0ZMQUdfQUxSQUYpOwogCi0gICAgLyogV2FpdCB0aWxsIFJUQyBBTFJBV0YgZmxhZyBpcyBzZXQgYW5kIGlmIFRpbWUgb3V0IGlzIHJlYWNoZWQgZXhpdCAqLworICAgIC8qIFdhaXQgdGlsbCBSVEMgQUxSQVdGIGZsYWcgaXMgc2V0IGFuZCBpZiB0aW1lb3V0IGlzIHJlYWNoZWQgZXhpdCAqLwogICAgIGRvCiAgICAgewogICAgICAgaWYgKGNvdW50LS0gPT0gMFUpCkBAIC0xMzU3LDI2ICsxMzA1LDI4IEBACiAKICAgICAgICAgcmV0dXJuIEhBTF9USU1FT1VUOwogICAgICAgfQotICAgIH0KLSAgICB3aGlsZSAoX19IQUxfUlRDX0FMQVJNX0dFVF9GTEFHKGhydGMsIFJUQ19GTEFHX0FMUkFXRikgPT0gUkVTRVQpOworICAgIH0gd2hpbGUgKF9fSEFMX1JUQ19BTEFSTV9HRVRfRkxBRyhocnRjLCBSVENfRkxBR19BTFJBV0YpID09IDBVKTsKIAogICAgIGhydGMtPkluc3RhbmNlLT5BTFJNQVIgPSAodWludDMyX3QpdG1wcmVnOwotICAgIC8qIENvbmZpZ3VyZSB0aGUgQWxhcm0gQSBTdWIgU2Vjb25kIHJlZ2lzdGVyICovCisgICAgLyogQ29uZmlndXJlIHRoZSBBbGFybSBBIFN1YnNlY29uZHMgcmVnaXN0ZXIgKi8KICAgICBocnRjLT5JbnN0YW5jZS0+QUxSTUFTU1IgPSBzdWJzZWNvbmR0bXByZWc7CiAgICAgLyogQ29uZmlndXJlIHRoZSBBbGFybSBzdGF0ZTogRW5hYmxlIEFsYXJtICovCiAgICAgX19IQUxfUlRDX0FMQVJNQV9FTkFCTEUoaHJ0Yyk7CiAgICAgLyogQ29uZmlndXJlIHRoZSBBbGFybSBpbnRlcnJ1cHQgKi8KLSAgICBfX0hBTF9SVENfQUxBUk1fRU5BQkxFX0lUKGhydGMsUlRDX0lUX0FMUkEpOworICAgIF9fSEFMX1JUQ19BTEFSTV9FTkFCTEVfSVQoaHJ0YywgUlRDX0lUX0FMUkEpOwogICB9CiAgIGVsc2UKICAgewotICAgIC8qIERpc2FibGUgdGhlIEFsYXJtIEIgaW50ZXJydXB0ICovCisgICAgLyogRGlzYWJsZSB0aGUgQWxhcm0gQiAqLwogICAgIF9fSEFMX1JUQ19BTEFSTUJfRElTQUJMRShocnRjKTsKIAotICAgIC8qIENsZWFyIGZsYWcgYWxhcm0gQiAqLworICAgIC8qIENsZWFyIHRoZSBBbGFybSBmbGFnICovCiAgICAgX19IQUxfUlRDX0FMQVJNX0NMRUFSX0ZMQUcoaHJ0YywgUlRDX0ZMQUdfQUxSQkYpOwogCi0gICAgLyogV2FpdCB0aWxsIFJUQyBBTFJCV0YgZmxhZyBpcyBzZXQgYW5kIGlmIFRpbWUgb3V0IGlzIHJlYWNoZWQgZXhpdCAqLworICAgIC8qIFJlbG9hZCB0aGUgY291bnRlciAqLworICAgIGNvdW50ID0gUlRDX1RJTUVPVVRfVkFMVUUgKiAoU3lzdGVtQ29yZUNsb2NrIC8gMzJVIC8gMTAwMFUpOworCisgICAgLyogV2FpdCB0aWxsIFJUQyBBTFJCV0YgZmxhZyBpcyBzZXQgYW5kIGlmIHRpbWVvdXQgaXMgcmVhY2hlZCBleGl0ICovCiAgICAgZG8KICAgICB7CiAgICAgICBpZiAoY291bnQtLSA9PSAwVSkKQEAgLTEzOTEsMTEgKzEzNDEsMTAgQEAKIAogICAgICAgICByZXR1cm4gSEFMX1RJTUVPVVQ7CiAgICAgICB9Ci0gICAgfQotICAgIHdoaWxlIChfX0hBTF9SVENfQUxBUk1fR0VUX0ZMQUcoaHJ0YywgUlRDX0ZMQUdfQUxSQldGKSA9PSBSRVNFVCk7CisgICAgfSB3aGlsZSAoX19IQUxfUlRDX0FMQVJNX0dFVF9GTEFHKGhydGMsIFJUQ19GTEFHX0FMUkJXRikgPT0gMFUpOwogCiAgICAgaHJ0Yy0+SW5zdGFuY2UtPkFMUk1CUiA9ICh1aW50MzJfdCl0bXByZWc7Ci0gICAgLyogQ29uZmlndXJlIHRoZSBBbGFybSBCIFN1YiBTZWNvbmQgcmVnaXN0ZXIgKi8KKyAgICAvKiBDb25maWd1cmUgdGhlIEFsYXJtIEIgU3Vic2Vjb25kcyByZWdpc3RlciAqLwogICAgIGhydGMtPkluc3RhbmNlLT5BTFJNQlNTUiA9IHN1YnNlY29uZHRtcHJlZzsKICAgICAvKiBDb25maWd1cmUgdGhlIEFsYXJtIHN0YXRlOiBFbmFibGUgQWxhcm0gKi8KICAgICBfX0hBTF9SVENfQUxBUk1CX0VOQUJMRShocnRjKTsKQEAgLTE0MDUsMTIgKzEzNTQsMTIgQEAKIAogICAvKiBSVEMgQWxhcm0gSW50ZXJydXB0IENvbmZpZ3VyYXRpb246IEVYVEkgY29uZmlndXJhdGlvbiAqLwogICBfX0hBTF9SVENfQUxBUk1fRVhUSV9FTkFCTEVfSVQoKTsKLQotICBFWFRJLT5SVFNSIHw9IFJUQ19FWFRJX0xJTkVfQUxBUk1fRVZFTlQ7CisgIF9fSEFMX1JUQ19BTEFSTV9FWFRJX0VOQUJMRV9SSVNJTkdfRURHRSgpOwogCiAgIC8qIEVuYWJsZSB0aGUgd3JpdGUgcHJvdGVjdGlvbiBmb3IgUlRDIHJlZ2lzdGVycyAqLwogICBfX0hBTF9SVENfV1JJVEVQUk9URUNUSU9OX0VOQUJMRShocnRjKTsKIAorICAvKiBDaGFuZ2UgUlRDIHN0YXRlIGJhY2sgdG8gUkVBRFkgKi8KICAgaHJ0Yy0+U3RhdGUgPSBIQUxfUlRDX1NUQVRFX1JFQURZOwogCiAgIC8qIFByb2Nlc3MgVW5sb2NrZWQgKi8KQEAgLTE0MjAsMTMgKzEzNjksMTMgQEAKIH0KIAogLyoqCi0gICogQGJyaWVmICBEZWFjdGl2YXRlIHRoZSBzcGVjaWZpZWQgUlRDIEFsYXJtCisgICogQGJyaWVmICBEZWFjdGl2YXRlcyB0aGUgc3BlY2lmaWVkIFJUQyBBbGFybS4KICAgKiBAcGFyYW0gIGhydGMgcG9pbnRlciB0byBhIFJUQ19IYW5kbGVUeXBlRGVmIHN0cnVjdHVyZSB0aGF0IGNvbnRhaW5zCiAgICogICAgICAgICAgICAgICAgdGhlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gZm9yIFJUQy4KICAgKiBAcGFyYW0gIEFsYXJtIFNwZWNpZmllcyB0aGUgQWxhcm0uCiAgICogICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIG9uZSBvZiB0aGUgZm9sbG93aW5nIHZhbHVlczoKLSAgKiAgICAgICAgICAgIEBhcmcgUlRDX0FMQVJNX0E6ICBBbGFybUEKLSAgKiAgICAgICAgICAgIEBhcmcgUlRDX0FMQVJNX0I6ICBBbGFybUIKKyAgKiAgICAgICAgICAgIEBhcmcgUlRDX0FMQVJNX0E6IEFsYXJtIEEKKyAgKiAgICAgICAgICAgIEBhcmcgUlRDX0FMQVJNX0I6IEFsYXJtIEIKICAgKiBAcmV0dmFsIEhBTCBzdGF0dXMKICAgKi8KIEhBTF9TdGF0dXNUeXBlRGVmIEhBTF9SVENfRGVhY3RpdmF0ZUFsYXJtKFJUQ19IYW5kbGVUeXBlRGVmICpocnRjLCB1aW50MzJfdCBBbGFybSkKQEAgLTE0NDQsMjEgKzEzOTMsMjEgQEAKICAgLyogRGlzYWJsZSB0aGUgd3JpdGUgcHJvdGVjdGlvbiBmb3IgUlRDIHJlZ2lzdGVycyAqLwogICBfX0hBTF9SVENfV1JJVEVQUk9URUNUSU9OX0RJU0FCTEUoaHJ0Yyk7CiAKLSAgaWYoQWxhcm0gPT0gUlRDX0FMQVJNX0EpCisgIGlmIChBbGFybSA9PSBSVENfQUxBUk1fQSkKICAgewotICAgIC8qIEFsYXJtQSAqLworICAgIC8qIERpc2FibGUgQWxhcm0gQSAqLwogICAgIF9fSEFMX1JUQ19BTEFSTUFfRElTQUJMRShocnRjKTsKIAotICAgIC8qIEluIGNhc2Ugb2YgaW50ZXJydXB0IG1vZGUgaXMgdXNlZCwgdGhlIGludGVycnVwdCBzb3VyY2UgbXVzdCBkaXNhYmxlZCAqLworICAgIC8qIEluIGNhc2UgaW50ZXJydXB0IG1vZGUgaXMgdXNlZCwgdGhlIGludGVycnVwdCBzb3VyY2UgbXVzdCBiZSBkaXNhYmxlZCAqLwogICAgIF9fSEFMX1JUQ19BTEFSTV9ESVNBQkxFX0lUKGhydGMsIFJUQ19JVF9BTFJBKTsKIAogICAgIC8qIEdldCB0aWNrICovCiAgICAgdGlja3N0YXJ0ID0gSEFMX0dldFRpY2soKTsKIAotICAgIC8qIFdhaXQgdGlsbCBSVEMgQUxSeFdGIGZsYWcgaXMgc2V0IGFuZCBpZiBUaW1lIG91dCBpcyByZWFjaGVkIGV4aXQgKi8KLSAgICB3aGlsZShfX0hBTF9SVENfQUxBUk1fR0VUX0ZMQUcoaHJ0YywgUlRDX0ZMQUdfQUxSQVdGKSA9PSBSRVNFVCkKKyAgICAvKiBXYWl0IHRpbGwgUlRDIEFMUnhXRiBmbGFnIGlzIHNldCBhbmQgaWYgdGltZW91dCBpcyByZWFjaGVkIGV4aXQgKi8KKyAgICB3aGlsZSAoX19IQUxfUlRDX0FMQVJNX0dFVF9GTEFHKGhydGMsIFJUQ19GTEFHX0FMUkFXRikgPT0gMFUpCiAgICAgewotICAgICAgaWYoKEhBTF9HZXRUaWNrKCkgLSB0aWNrc3RhcnQgKSA+IFJUQ19USU1FT1VUX1ZBTFVFKQorICAgICAgaWYgKChIQUxfR2V0VGljaygpIC0gdGlja3N0YXJ0KSA+IFJUQ19USU1FT1VUX1ZBTFVFKQogICAgICAgewogICAgICAgICAvKiBFbmFibGUgdGhlIHdyaXRlIHByb3RlY3Rpb24gZm9yIFJUQyByZWdpc3RlcnMgKi8KICAgICAgICAgX19IQUxfUlRDX1dSSVRFUFJPVEVDVElPTl9FTkFCTEUoaHJ0Yyk7CkBAIC0xNDc0LDE5ICsxNDIzLDE5IEBACiAgIH0KICAgZWxzZQogICB7Ci0gICAgLyogQWxhcm1CICovCisgICAgLyogRGlzYWJsZSBBbGFybSBCICovCiAgICAgX19IQUxfUlRDX0FMQVJNQl9ESVNBQkxFKGhydGMpOwogCi0gICAgLyogSW4gY2FzZSBvZiBpbnRlcnJ1cHQgbW9kZSBpcyB1c2VkLCB0aGUgaW50ZXJydXB0IHNvdXJjZSBtdXN0IGRpc2FibGVkICovCi0gICAgX19IQUxfUlRDX0FMQVJNX0RJU0FCTEVfSVQoaHJ0YyxSVENfSVRfQUxSQik7CisgICAgLyogSW4gY2FzZSBpbnRlcnJ1cHQgbW9kZSBpcyB1c2VkLCB0aGUgaW50ZXJydXB0IHNvdXJjZSBtdXN0IGJlIGRpc2FibGVkICovCisgICAgX19IQUxfUlRDX0FMQVJNX0RJU0FCTEVfSVQoaHJ0YywgUlRDX0lUX0FMUkIpOwogCiAgICAgLyogR2V0IHRpY2sgKi8KICAgICB0aWNrc3RhcnQgPSBIQUxfR2V0VGljaygpOwogCi0gICAgLyogV2FpdCB0aWxsIFJUQyBBTFJ4V0YgZmxhZyBpcyBzZXQgYW5kIGlmIFRpbWUgb3V0IGlzIHJlYWNoZWQgZXhpdCAqLwotICAgIHdoaWxlKF9fSEFMX1JUQ19BTEFSTV9HRVRfRkxBRyhocnRjLCBSVENfRkxBR19BTFJCV0YpID09IFJFU0VUKQorICAgIC8qIFdhaXQgdGlsbCBSVEMgQUxSeFdGIGZsYWcgaXMgc2V0IGFuZCBpZiB0aW1lb3V0IGlzIHJlYWNoZWQgZXhpdCAqLworICAgIHdoaWxlIChfX0hBTF9SVENfQUxBUk1fR0VUX0ZMQUcoaHJ0YywgUlRDX0ZMQUdfQUxSQldGKSA9PSAwVSkKICAgICB7Ci0gICAgICBpZigoSEFMX0dldFRpY2soKSAtIHRpY2tzdGFydCApID4gUlRDX1RJTUVPVVRfVkFMVUUpCisgICAgICBpZiAoKEhBTF9HZXRUaWNrKCkgLSB0aWNrc3RhcnQpID4gUlRDX1RJTUVPVVRfVkFMVUUpCiAgICAgICB7CiAgICAgICAgIC8qIEVuYWJsZSB0aGUgd3JpdGUgcHJvdGVjdGlvbiBmb3IgUlRDIHJlZ2lzdGVycyAqLwogICAgICAgICBfX0hBTF9SVENfV1JJVEVQUk9URUNUSU9OX0VOQUJMRShocnRjKTsKQEAgLTE1MDAsNiArMTQ0OSw3IEBACiAgICAgICB9CiAgICAgfQogICB9CisKICAgLyogRW5hYmxlIHRoZSB3cml0ZSBwcm90ZWN0aW9uIGZvciBSVEMgcmVnaXN0ZXJzICovCiAgIF9fSEFMX1JUQ19XUklURVBST1RFQ1RJT05fRU5BQkxFKGhydGMpOwogCkBAIC0xNTE4LDggKzE0NjgsOCBAQAogICAqIEBwYXJhbSAgc0FsYXJtIFBvaW50ZXIgdG8gRGF0ZSBzdHJ1Y3R1cmUKICAgKiBAcGFyYW0gIEFsYXJtIFNwZWNpZmllcyB0aGUgQWxhcm0uCiAgICogICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIG9uZSBvZiB0aGUgZm9sbG93aW5nIHZhbHVlczoKLSAgKiAgICAgICAgICAgICBAYXJnIFJUQ19BTEFSTV9BOiBBbGFybUEKLSAgKiAgICAgICAgICAgICBAYXJnIFJUQ19BTEFSTV9COiBBbGFybUIKKyAgKiAgICAgICAgICAgIEBhcmcgUlRDX0FMQVJNX0E6IEFsYXJtIEEKKyAgKiAgICAgICAgICAgIEBhcmcgUlRDX0FMQVJNX0I6IEFsYXJtIEIKICAgKiBAcGFyYW0gIEZvcm1hdCBTcGVjaWZpZXMgdGhlIGZvcm1hdCBvZiB0aGUgZW50ZXJlZCBwYXJhbWV0ZXJzLgogICAqICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBvbmUgb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXM6CiAgICogICAgICAgICAgICAgQGFyZyBSVENfRk9STUFUX0JJTjogQmluYXJ5IGRhdGEgZm9ybWF0CkBAIC0xNTI4LDE5ICsxNDc4LDE5IEBACiAgICovCiBIQUxfU3RhdHVzVHlwZURlZiBIQUxfUlRDX0dldEFsYXJtKFJUQ19IYW5kbGVUeXBlRGVmICpocnRjLCBSVENfQWxhcm1UeXBlRGVmICpzQWxhcm0sIHVpbnQzMl90IEFsYXJtLCB1aW50MzJfdCBGb3JtYXQpCiB7Ci0gIHVpbnQzMl90IHRtcHJlZyA9IDBVLCBzdWJzZWNvbmR0bXByZWcgPSAwVTsKKyAgdWludDMyX3QgdG1wcmVnID0gMFU7CisgIHVpbnQzMl90IHN1YnNlY29uZHRtcHJlZyA9IDBVOwogCiAgIC8qIENoZWNrIHRoZSBwYXJhbWV0ZXJzICovCiAgIGFzc2VydF9wYXJhbShJU19SVENfRk9STUFUKEZvcm1hdCkpOwogICBhc3NlcnRfcGFyYW0oSVNfUlRDX0FMQVJNKEFsYXJtKSk7CiAKLSAgaWYoQWxhcm0gPT0gUlRDX0FMQVJNX0EpCisgIGlmIChBbGFybSA9PSBSVENfQUxBUk1fQSkKICAgewotICAgIC8qIEFsYXJtQSAqLwogICAgIHNBbGFybS0+QWxhcm0gPSBSVENfQUxBUk1fQTsKIAogICAgIHRtcHJlZyA9ICh1aW50MzJfdCkoaHJ0Yy0+SW5zdGFuY2UtPkFMUk1BUik7Ci0gICAgc3Vic2Vjb25kdG1wcmVnID0gKHVpbnQzMl90KSgoaHJ0Yy0+SW5zdGFuY2UtPkFMUk1BU1NSICkgJiBSVENfQUxSTUFTU1JfU1MpOworICAgIHN1YnNlY29uZHRtcHJlZyA9ICh1aW50MzJfdCkoKGhydGMtPkluc3RhbmNlLT5BTFJNQVNTUikgJiBSVENfQUxSTUFTU1JfU1MpOwogICB9CiAgIGVsc2UKICAgewpAQCAtMTU1MSw2NyArMTUwMSw2NyBAQAogICB9CiAKICAgLyogRmlsbCB0aGUgc3RydWN0dXJlIHdpdGggdGhlIHJlYWQgcGFyYW1ldGVycyAqLwotICBzQWxhcm0tPkFsYXJtVGltZS5Ib3VycyA9ICh1aW50MzJfdCkoKHRtcHJlZyAmIChSVENfQUxSTUFSX0hUIHwgUlRDX0FMUk1BUl9IVSkpID4+IDE2VSk7Ci0gIHNBbGFybS0+QWxhcm1UaW1lLk1pbnV0ZXMgPSAodWludDMyX3QpKCh0bXByZWcgJiAoUlRDX0FMUk1BUl9NTlQgfCBSVENfQUxSTUFSX01OVSkpID4+IDhVKTsKLSAgc0FsYXJtLT5BbGFybVRpbWUuU2Vjb25kcyA9ICh1aW50MzJfdCkodG1wcmVnICYgKFJUQ19BTFJNQVJfU1QgfCBSVENfQUxSTUFSX1NVKSk7Ci0gIHNBbGFybS0+QWxhcm1UaW1lLlRpbWVGb3JtYXQgPSAodWludDMyX3QpKCh0bXByZWcgJiBSVENfQUxSTUFSX1BNKSA+PiAxNlUpOworICBzQWxhcm0tPkFsYXJtVGltZS5Ib3VycyAgICAgID0gKHVpbnQ4X3QpICgodG1wcmVnICYgKFJUQ19BTFJNQVJfSFQgIHwgUlRDX0FMUk1BUl9IVSkpICA+PiBSVENfQUxSTUFSX0hVX1Bvcyk7CisgIHNBbGFybS0+QWxhcm1UaW1lLk1pbnV0ZXMgICAgPSAodWludDhfdCkgKCh0bXByZWcgJiAoUlRDX0FMUk1BUl9NTlQgfCBSVENfQUxSTUFSX01OVSkpID4+IFJUQ19BTFJNQVJfTU5VX1Bvcyk7CisgIHNBbGFybS0+QWxhcm1UaW1lLlNlY29uZHMgICAgPSAodWludDhfdCkgKCB0bXByZWcgJiAoUlRDX0FMUk1BUl9TVCAgfCBSVENfQUxSTUFSX1NVKSk7CisgIHNBbGFybS0+QWxhcm1UaW1lLlRpbWVGb3JtYXQgPSAodWludDhfdCkgKCh0bXByZWcgJiBSVENfQUxSTUFSX1BNKSAgICAgICAgICAgICAgICAgICAgID4+IFJUQ19UUl9QTV9Qb3MpOwogICBzQWxhcm0tPkFsYXJtVGltZS5TdWJTZWNvbmRzID0gKHVpbnQzMl90KSBzdWJzZWNvbmR0bXByZWc7Ci0gIHNBbGFybS0+QWxhcm1EYXRlV2Vla0RheSA9ICh1aW50MzJfdCkoKHRtcHJlZyAmIChSVENfQUxSTUFSX0RUIHwgUlRDX0FMUk1BUl9EVSkpID4+IDI0VSk7Ci0gIHNBbGFybS0+QWxhcm1EYXRlV2Vla0RheVNlbCA9ICh1aW50MzJfdCkodG1wcmVnICYgUlRDX0FMUk1BUl9XRFNFTCk7Ci0gIHNBbGFybS0+QWxhcm1NYXNrID0gKHVpbnQzMl90KSh0bXByZWcgJiBSVENfQUxBUk1NQVNLX0FMTCk7CisgIHNBbGFybS0+QWxhcm1EYXRlV2Vla0RheSAgICAgPSAodWludDhfdCkgKCh0bXByZWcgJiAoUlRDX0FMUk1BUl9EVCAgfCBSVENfQUxSTUFSX0RVKSkgID4+IFJUQ19BTFJNQVJfRFVfUG9zKTsKKyAgc0FsYXJtLT5BbGFybURhdGVXZWVrRGF5U2VsICA9ICh1aW50MzJfdCkgKHRtcHJlZyAmIFJUQ19BTFJNQVJfV0RTRUwpOworICBzQWxhcm0tPkFsYXJtTWFzayAgICAgICAgICAgID0gKHVpbnQzMl90KSAodG1wcmVnICYgUlRDX0FMQVJNTUFTS19BTEwpOwogCi0gIGlmKEZvcm1hdCA9PSBSVENfRk9STUFUX0JJTikKKyAgaWYgKEZvcm1hdCA9PSBSVENfRk9STUFUX0JJTikKICAgewotICAgIHNBbGFybS0+QWxhcm1UaW1lLkhvdXJzID0gUlRDX0JjZDJUb0J5dGUoc0FsYXJtLT5BbGFybVRpbWUuSG91cnMpOworICAgIHNBbGFybS0+QWxhcm1UaW1lLkhvdXJzICAgPSBSVENfQmNkMlRvQnl0ZShzQWxhcm0tPkFsYXJtVGltZS5Ib3Vycyk7CiAgICAgc0FsYXJtLT5BbGFybVRpbWUuTWludXRlcyA9IFJUQ19CY2QyVG9CeXRlKHNBbGFybS0+QWxhcm1UaW1lLk1pbnV0ZXMpOwogICAgIHNBbGFybS0+QWxhcm1UaW1lLlNlY29uZHMgPSBSVENfQmNkMlRvQnl0ZShzQWxhcm0tPkFsYXJtVGltZS5TZWNvbmRzKTsKLSAgICBzQWxhcm0tPkFsYXJtRGF0ZVdlZWtEYXkgPSBSVENfQmNkMlRvQnl0ZShzQWxhcm0tPkFsYXJtRGF0ZVdlZWtEYXkpOworICAgIHNBbGFybS0+QWxhcm1EYXRlV2Vla0RheSAgPSBSVENfQmNkMlRvQnl0ZShzQWxhcm0tPkFsYXJtRGF0ZVdlZWtEYXkpOwogICB9CiAKICAgcmV0dXJuIEhBTF9PSzsKIH0KIAogLyoqCi0gICogQGJyaWVmICBUaGlzIGZ1bmN0aW9uIGhhbmRsZXMgQWxhcm0gaW50ZXJydXB0IHJlcXVlc3QuCisgICogQGJyaWVmICBIYW5kbGVzIEFsYXJtIGludGVycnVwdCByZXF1ZXN0LgogICAqIEBwYXJhbSAgaHJ0YyBwb2ludGVyIHRvIGEgUlRDX0hhbmRsZVR5cGVEZWYgc3RydWN0dXJlIHRoYXQgY29udGFpbnMKICAgKiAgICAgICAgICAgICAgICB0aGUgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbiBmb3IgUlRDLgogICAqIEByZXR2YWwgTm9uZQogICAqLwotdm9pZCBIQUxfUlRDX0FsYXJtSVJRSGFuZGxlcihSVENfSGFuZGxlVHlwZURlZiogaHJ0YykKK3ZvaWQgSEFMX1JUQ19BbGFybUlSUUhhbmRsZXIoUlRDX0hhbmRsZVR5cGVEZWYgKmhydGMpCiB7Ci0gIC8qIEdldCB0aGUgQWxhcm1BIGludGVycnVwdCBzb3VyY2UgZW5hYmxlIHN0YXR1cyAqLwotICBpZihfX0hBTF9SVENfQUxBUk1fR0VUX0lUX1NPVVJDRShocnRjLCBSVENfSVRfQUxSQSkgIT0gKHVpbnQzMl90KVJFU0VUKQorICAvKiBHZXQgdGhlIEFsYXJtIEEgaW50ZXJydXB0IHNvdXJjZSBlbmFibGUgc3RhdHVzICovCisgIGlmIChfX0hBTF9SVENfQUxBUk1fR0VUX0lUX1NPVVJDRShocnRjLCBSVENfSVRfQUxSQSkgIT0gMFUpCiAgIHsKLSAgICAvKiBHZXQgdGhlIHBlbmRpbmcgc3RhdHVzIG9mIHRoZSBBbGFybUEgSW50ZXJydXB0ICovCi0gICAgaWYoX19IQUxfUlRDX0FMQVJNX0dFVF9GTEFHKGhydGMsIFJUQ19GTEFHX0FMUkFGKSAhPSAodWludDMyX3QpUkVTRVQpCisgICAgLyogR2V0IHRoZSBwZW5kaW5nIHN0YXR1cyBvZiB0aGUgQWxhcm0gQSBJbnRlcnJ1cHQgKi8KKyAgICBpZiAoX19IQUxfUlRDX0FMQVJNX0dFVF9GTEFHKGhydGMsIFJUQ19GTEFHX0FMUkFGKSAhPSAwVSkKICAgICB7Ci0gICAgICAvKiBBbGFybUEgY2FsbGJhY2sgKi8KLSAgICAjaWYgKFVTRV9IQUxfUlRDX1JFR0lTVEVSX0NBTExCQUNLUyA9PSAxKQorICAgICAgLyogQWxhcm0gQSBjYWxsYmFjayAqLworI2lmIChVU0VfSEFMX1JUQ19SRUdJU1RFUl9DQUxMQkFDS1MgPT0gMSkKICAgICAgIGhydGMtPkFsYXJtQUV2ZW50Q2FsbGJhY2soaHJ0Yyk7Ci0gICAgI2Vsc2UKKyNlbHNlCiAgICAgICBIQUxfUlRDX0FsYXJtQUV2ZW50Q2FsbGJhY2soaHJ0Yyk7Ci0gICAgI2VuZGlmIC8qIFVTRV9IQUxfUlRDX1JFR0lTVEVSX0NBTExCQUNLUyAqLworI2VuZGlmIC8qIFVTRV9IQUxfUlRDX1JFR0lTVEVSX0NBTExCQUNLUyAqLwogCi0gICAgICAvKiBDbGVhciB0aGUgQWxhcm1BIGludGVycnVwdCBwZW5kaW5nIGJpdCAqLwotICAgICAgX19IQUxfUlRDX0FMQVJNX0NMRUFSX0ZMQUcoaHJ0YyxSVENfRkxBR19BTFJBRik7CisgICAgICAvKiBDbGVhciB0aGUgQWxhcm0gQSBpbnRlcnJ1cHQgcGVuZGluZyBiaXQgKi8KKyAgICAgIF9fSEFMX1JUQ19BTEFSTV9DTEVBUl9GTEFHKGhydGMsIFJUQ19GTEFHX0FMUkFGKTsKICAgICB9CiAgIH0KIAotICAvKiBHZXQgdGhlIEFsYXJtQiBpbnRlcnJ1cHQgc291cmNlIGVuYWJsZSBzdGF0dXMgKi8KLSAgaWYoX19IQUxfUlRDX0FMQVJNX0dFVF9JVF9TT1VSQ0UoaHJ0YywgUlRDX0lUX0FMUkIpICE9ICh1aW50MzJfdClSRVNFVCkKKyAgLyogR2V0IHRoZSBBbGFybSBCIGludGVycnVwdCBzb3VyY2UgZW5hYmxlIHN0YXR1cyAqLworICBpZiAoX19IQUxfUlRDX0FMQVJNX0dFVF9JVF9TT1VSQ0UoaHJ0YywgUlRDX0lUX0FMUkIpICE9IDBVKQogICB7Ci0gICAgLyogR2V0IHRoZSBwZW5kaW5nIHN0YXR1cyBvZiB0aGUgQWxhcm1CIEludGVycnVwdCAqLwotICAgIGlmKF9fSEFMX1JUQ19BTEFSTV9HRVRfRkxBRyhocnRjLCBSVENfRkxBR19BTFJCRikgIT0gKHVpbnQzMl90KVJFU0VUKQorICAgIC8qIEdldCB0aGUgcGVuZGluZyBzdGF0dXMgb2YgdGhlIEFsYXJtIEIgSW50ZXJydXB0ICovCisgICAgaWYgKF9fSEFMX1JUQ19BTEFSTV9HRVRfRkxBRyhocnRjLCBSVENfRkxBR19BTFJCRikgIT0gMFUpCiAgICAgewotICAgICAgLyogQWxhcm1CIGNhbGxiYWNrICovCi0gICAgI2lmIChVU0VfSEFMX1JUQ19SRUdJU1RFUl9DQUxMQkFDS1MgPT0gMSkKKyAgICAgIC8qIEFsYXJtIEIgY2FsbGJhY2sgKi8KKyNpZiAoVVNFX0hBTF9SVENfUkVHSVNURVJfQ0FMTEJBQ0tTID09IDEpCiAgICAgICBocnRjLT5BbGFybUJFdmVudENhbGxiYWNrKGhydGMpOwotICAgICNlbHNlCisjZWxzZQogICAgICAgSEFMX1JUQ0V4X0FsYXJtQkV2ZW50Q2FsbGJhY2soaHJ0Yyk7Ci0gICAgI2VuZGlmIC8qIFVTRV9IQUxfUlRDX1JFR0lTVEVSX0NBTExCQUNLUyAqLworI2VuZGlmIC8qIFVTRV9IQUxfUlRDX1JFR0lTVEVSX0NBTExCQUNLUyAqLwogCi0gICAgICAvKiBDbGVhciB0aGUgQWxhcm1CIGludGVycnVwdCBwZW5kaW5nIGJpdCAqLwotICAgICAgX19IQUxfUlRDX0FMQVJNX0NMRUFSX0ZMQUcoaHJ0YyxSVENfRkxBR19BTFJCRik7CisgICAgICAvKiBDbGVhciB0aGUgQWxhcm0gQiBpbnRlcnJ1cHQgcGVuZGluZyBiaXQgKi8KKyAgICAgIF9fSEFMX1JUQ19BTEFSTV9DTEVBUl9GTEFHKGhydGMsIFJUQ19GTEFHX0FMUkJGKTsKICAgICB9CiAgIH0KIApAQCAtMTYzMiwxMyArMTU4MiwxNCBAQAogewogICAvKiBQcmV2ZW50IHVudXNlZCBhcmd1bWVudChzKSBjb21waWxhdGlvbiB3YXJuaW5nICovCiAgIFVOVVNFRChocnRjKTsKLSAgLyogTk9URSA6IFRoaXMgZnVuY3Rpb24gc2hvdWxkIG5vdCBiZSBtb2RpZmllZCwgd2hlbiB0aGUgY2FsbGJhY2sgaXMgbmVlZGVkLAotICAgICAgICAgICAgdGhlIEhBTF9SVENfQWxhcm1BRXZlbnRDYWxsYmFjayBjb3VsZCBiZSBpbXBsZW1lbnRlZCBpbiB0aGUgdXNlciBmaWxlCisKKyAgLyogTk9URTogVGhpcyBmdW5jdGlvbiBzaG91bGQgbm90IGJlIG1vZGlmaWVkLCB3aGVuIHRoZSBjYWxsYmFjayBpcyBuZWVkZWQsCisgICAgICAgICAgIHRoZSBIQUxfUlRDX0FsYXJtQUV2ZW50Q2FsbGJhY2sgY291bGQgYmUgaW1wbGVtZW50ZWQgaW4gdGhlIHVzZXIgZmlsZQogICAgKi8KIH0KIAogLyoqCi0gICogQGJyaWVmICBUaGlzIGZ1bmN0aW9uIGhhbmRsZXMgQWxhcm1BIFBvbGxpbmcgcmVxdWVzdC4KKyAgKiBAYnJpZWYgIEhhbmRsZXMgQWxhcm0gQSBQb2xsaW5nIHJlcXVlc3QuCiAgICogQHBhcmFtICBocnRjIHBvaW50ZXIgdG8gYSBSVENfSGFuZGxlVHlwZURlZiBzdHJ1Y3R1cmUgdGhhdCBjb250YWlucwogICAqICAgICAgICAgICAgICAgIHRoZSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIGZvciBSVEMuCiAgICogQHBhcmFtICBUaW1lb3V0IFRpbWVvdXQgZHVyYXRpb24KQEAgLTE2NDgsMTQgKzE1OTksMTUgQEAKIHsKICAgdWludDMyX3QgdGlja3N0YXJ0ID0gMFU7CiAKLSAgICAvKiBHZXQgdGljayAqLwotICAgIHRpY2tzdGFydCA9IEhBTF9HZXRUaWNrKCk7CisgIC8qIEdldCB0aWNrICovCisgIHRpY2tzdGFydCA9IEhBTF9HZXRUaWNrKCk7CiAKLSAgd2hpbGUoX19IQUxfUlRDX0FMQVJNX0dFVF9GTEFHKGhydGMsIFJUQ19GTEFHX0FMUkFGKSA9PSBSRVNFVCkKKyAgLyogV2FpdCB0aWxsIFJUQyBBTFJBRiBmbGFnIGlzIHNldCBhbmQgaWYgdGltZW91dCBpcyByZWFjaGVkIGV4aXQgKi8KKyAgd2hpbGUgKF9fSEFMX1JUQ19BTEFSTV9HRVRfRkxBRyhocnRjLCBSVENfRkxBR19BTFJBRikgPT0gMFUpCiAgIHsKLSAgICBpZihUaW1lb3V0ICE9IEhBTF9NQVhfREVMQVkpCisgICAgaWYgKFRpbWVvdXQgIT0gSEFMX01BWF9ERUxBWSkKICAgICB7Ci0gICAgICBpZigoVGltZW91dCA9PSAwVSl8fCgoSEFMX0dldFRpY2soKSAtIHRpY2tzdGFydCApID4gVGltZW91dCkpCisgICAgICBpZiAoKFRpbWVvdXQgPT0gMFUpIHx8ICgoSEFMX0dldFRpY2soKSAtIHRpY2tzdGFydCkgPiBUaW1lb3V0KSkKICAgICAgIHsKICAgICAgICAgaHJ0Yy0+U3RhdGUgPSBIQUxfUlRDX1NUQVRFX1RJTUVPVVQ7CiAgICAgICAgIHJldHVybiBIQUxfVElNRU9VVDsKQEAgLTE2NjMsNyArMTYxNSw3IEBACiAgICAgfQogICB9CiAKLSAgLyogQ2xlYXIgdGhlIEFsYXJtIGludGVycnVwdCBwZW5kaW5nIGJpdCAqLworICAvKiBDbGVhciB0aGUgQWxhcm0gZmxhZyAqLwogICBfX0hBTF9SVENfQUxBUk1fQ0xFQVJfRkxBRyhocnRjLCBSVENfRkxBR19BTFJBRik7CiAKICAgLyogQ2hhbmdlIFJUQyBzdGF0ZSAqLwpAQCAtMTY3Nyw4ICsxNjI5LDggQEAKICAgKi8KIAogLyoqIEBkZWZncm91cCBSVENfRXhwb3J0ZWRfRnVuY3Rpb25zX0dyb3VwNCBQZXJpcGhlcmFsIENvbnRyb2wgZnVuY3Rpb25zCi0gKiAgQGJyaWVmICAgUGVyaXBoZXJhbCBDb250cm9sIGZ1bmN0aW9ucwotICoKKyAgKiBAYnJpZWYgICAgUGVyaXBoZXJhbCBDb250cm9sIGZ1bmN0aW9ucworICAqCiBAdmVyYmF0aW0KICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAgICAgICAgICAgICAgICAgICAjIyMjIyBQZXJpcGhlcmFsIENvbnRyb2wgZnVuY3Rpb25zICMjIyMjCkBAIC0xNjg2LDYgKzE2MzgsNyBAQAogICAgIFsuLl0KICAgICBUaGlzIHN1YnNlY3Rpb24gcHJvdmlkZXMgZnVuY3Rpb25zIGFsbG93aW5nIHRvCiAgICAgICAoKykgV2FpdCBmb3IgUlRDIFRpbWUgYW5kIERhdGUgU3luY2hyb25pemF0aW9uCisgICAgICAoKykgTWFuYWdlIFJUQyBTdW1tZXIgb3IgV2ludGVyIHRpbWUgY2hhbmdlCiAKIEBlbmR2ZXJiYXRpbQogICAqIEB7CkBAIC0xNjk3LDcgKzE2NTAsNyBAQAogICAqIEBub3RlICAgVGhlIFJUQyBSZXN5bmNocm9uaXphdGlvbiBtb2RlIGlzIHdyaXRlIHByb3RlY3RlZCwgdXNlIHRoZQogICAqICAgICAgICAgX19IQUxfUlRDX1dSSVRFUFJPVEVDVElPTl9ESVNBQkxFKCkgYmVmb3JlIGNhbGxpbmcgdGhpcyBmdW5jdGlvbi4KICAgKiBAbm90ZSAgIFRvIHJlYWQgdGhlIGNhbGVuZGFyIHRocm91Z2ggdGhlIHNoYWRvdyByZWdpc3RlcnMgYWZ0ZXIgQ2FsZW5kYXIKLSAgKiAgICAgICAgIGluaXRpYWxpemF0aW9uLCBjYWxlbmRhciB1cGRhdGUgb3IgYWZ0ZXIgd2FrZS11cCBmcm9tIGxvdyBwb3dlciBtb2RlcworICAqICAgICAgICAgaW5pdGlhbGl6YXRpb24sIGNhbGVuZGFyIHVwZGF0ZSBvciBhZnRlciB3YWtldXAgZnJvbSBsb3cgcG93ZXIgbW9kZXMKICAgKiAgICAgICAgIHRoZSBzb2Z0d2FyZSBtdXN0IGZpcnN0IGNsZWFyIHRoZSBSU0YgZmxhZy4KICAgKiAgICAgICAgIFRoZSBzb2Z0d2FyZSBtdXN0IHRoZW4gd2FpdCB1bnRpbCBpdCBpcyBzZXQgYWdhaW4gYmVmb3JlIHJlYWRpbmcKICAgKiAgICAgICAgIHRoZSBjYWxlbmRhciwgd2hpY2ggbWVhbnMgdGhhdCB0aGUgY2FsZW5kYXIgcmVnaXN0ZXJzIGhhdmUgYmVlbgpAQCAtMTcwNiwyMCArMTY1OSwyMCBAQAogICAqICAgICAgICAgICAgICAgIHRoZSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIGZvciBSVEMuCiAgICogQHJldHZhbCBIQUwgc3RhdHVzCiAgICovCi1IQUxfU3RhdHVzVHlwZURlZiBIQUxfUlRDX1dhaXRGb3JTeW5jaHJvKFJUQ19IYW5kbGVUeXBlRGVmKiBocnRjKQorSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1JUQ19XYWl0Rm9yU3luY2hybyhSVENfSGFuZGxlVHlwZURlZiAqaHJ0YykKIHsKICAgdWludDMyX3QgdGlja3N0YXJ0ID0gMFU7CiAKICAgLyogQ2xlYXIgUlNGIGZsYWcgKi8KICAgaHJ0Yy0+SW5zdGFuY2UtPklTUiAmPSAodWludDMyX3QpUlRDX1JTRl9NQVNLOwogCi0gICAgLyogR2V0IHRpY2sgKi8KLSAgICB0aWNrc3RhcnQgPSBIQUxfR2V0VGljaygpOworICAvKiBHZXQgdGljayAqLworICB0aWNrc3RhcnQgPSBIQUxfR2V0VGljaygpOwogCiAgIC8qIFdhaXQgdGhlIHJlZ2lzdGVycyB0byBiZSBzeW5jaHJvbmlzZWQgKi8KLSAgd2hpbGUoKGhydGMtPkluc3RhbmNlLT5JU1IgJiBSVENfSVNSX1JTRikgPT0gKHVpbnQzMl90KVJFU0VUKQorICB3aGlsZSAoKGhydGMtPkluc3RhbmNlLT5JU1IgJiBSVENfSVNSX1JTRikgPT0gMFUpCiAgIHsKLSAgICBpZigoSEFMX0dldFRpY2soKSAtIHRpY2tzdGFydCApID4gUlRDX1RJTUVPVVRfVkFMVUUpCisgICAgaWYgKChIQUxfR2V0VGljaygpIC0gdGlja3N0YXJ0KSA+IFJUQ19USU1FT1VUX1ZBTFVFKQogICAgIHsKICAgICAgIHJldHVybiBIQUxfVElNRU9VVDsKICAgICB9CkBAIC0xNzI5LDEyICsxNjgyLDc3IEBACiB9CiAKIC8qKgorICAqIEBicmllZiAgRGF5bGlnaHQgU2F2aW5nIFRpbWUsIGFkZHMgb25lIGhvdXIgdG8gdGhlIGNhbGVuZGFyIGluIG9uZQorICAqICAgICAgICAgc2luZ2xlIG9wZXJhdGlvbiB3aXRob3V0IGdvaW5nIHRocm91Z2ggdGhlIGluaXRpYWxpemF0aW9uIHByb2NlZHVyZS4KKyAgKiBAcGFyYW0gIGhydGMgcG9pbnRlciB0byBhIFJUQ19IYW5kbGVUeXBlRGVmIHN0cnVjdHVyZSB0aGF0IGNvbnRhaW5zCisgICogICAgICAgICAgICAgICAgdGhlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gZm9yIFJUQy4KKyAgKiBAcmV0dmFsIE5vbmUKKyAgKi8KK3ZvaWQgSEFMX1JUQ19EU1RfQWRkMUhvdXIoUlRDX0hhbmRsZVR5cGVEZWYgKmhydGMpCit7CisgIF9fSEFMX1JUQ19XUklURVBST1RFQ1RJT05fRElTQUJMRShocnRjKTsKKyAgU0VUX0JJVChocnRjLT5JbnN0YW5jZS0+Q1IsIFJUQ19DUl9BREQxSCk7CisgIF9fSEFMX1JUQ19XUklURVBST1RFQ1RJT05fRU5BQkxFKGhydGMpOworfQorCisvKioKKyAgKiBAYnJpZWYgIERheWxpZ2h0IFNhdmluZyBUaW1lLCBzdWJ0cmFjdHMgb25lIGhvdXIgZnJvbSB0aGUgY2FsZW5kYXIgaW4gb25lCisgICogICAgICAgICBzaW5nbGUgb3BlcmF0aW9uIHdpdGhvdXQgZ29pbmcgdGhyb3VnaCB0aGUgaW5pdGlhbGl6YXRpb24gcHJvY2VkdXJlLgorICAqIEBwYXJhbSAgaHJ0YyBwb2ludGVyIHRvIGEgUlRDX0hhbmRsZVR5cGVEZWYgc3RydWN0dXJlIHRoYXQgY29udGFpbnMKKyAgKiAgICAgICAgICAgICAgICB0aGUgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbiBmb3IgUlRDLgorICAqIEByZXR2YWwgTm9uZQorICAqLwordm9pZCBIQUxfUlRDX0RTVF9TdWIxSG91cihSVENfSGFuZGxlVHlwZURlZiAqaHJ0YykKK3sKKyAgX19IQUxfUlRDX1dSSVRFUFJPVEVDVElPTl9ESVNBQkxFKGhydGMpOworICBTRVRfQklUKGhydGMtPkluc3RhbmNlLT5DUiwgUlRDX0NSX1NVQjFIKTsKKyAgX19IQUxfUlRDX1dSSVRFUFJPVEVDVElPTl9FTkFCTEUoaHJ0Yyk7Cit9CisKKy8qKgorICAqIEBicmllZiAgRGF5bGlnaHQgU2F2aW5nIFRpbWUsIHNldHMgdGhlIHN0b3JlIG9wZXJhdGlvbiBiaXQuCisgICogQG5vdGUgICBJdCBjYW4gYmUgdXNlZCBieSB0aGUgc29mdHdhcmUgaW4gb3JkZXIgdG8gbWVtb3JpemUgdGhlIERTVCBzdGF0dXMuCisgICogQHBhcmFtICBocnRjIHBvaW50ZXIgdG8gYSBSVENfSGFuZGxlVHlwZURlZiBzdHJ1Y3R1cmUgdGhhdCBjb250YWlucworICAqICAgICAgICAgICAgICAgIHRoZSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIGZvciBSVEMuCisgICogQHJldHZhbCBOb25lCisgICovCit2b2lkIEhBTF9SVENfRFNUX1NldFN0b3JlT3BlcmF0aW9uKFJUQ19IYW5kbGVUeXBlRGVmICpocnRjKQoreworICBfX0hBTF9SVENfV1JJVEVQUk9URUNUSU9OX0RJU0FCTEUoaHJ0Yyk7CisgIFNFVF9CSVQoaHJ0Yy0+SW5zdGFuY2UtPkNSLCBSVENfQ1JfQktQKTsKKyAgX19IQUxfUlRDX1dSSVRFUFJPVEVDVElPTl9FTkFCTEUoaHJ0Yyk7Cit9CisKKy8qKgorICAqIEBicmllZiAgRGF5bGlnaHQgU2F2aW5nIFRpbWUsIGNsZWFycyB0aGUgc3RvcmUgb3BlcmF0aW9uIGJpdC4KKyAgKiBAcGFyYW0gIGhydGMgcG9pbnRlciB0byBhIFJUQ19IYW5kbGVUeXBlRGVmIHN0cnVjdHVyZSB0aGF0IGNvbnRhaW5zCisgICogICAgICAgICAgICAgICAgdGhlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gZm9yIFJUQy4KKyAgKiBAcmV0dmFsIE5vbmUKKyAgKi8KK3ZvaWQgSEFMX1JUQ19EU1RfQ2xlYXJTdG9yZU9wZXJhdGlvbihSVENfSGFuZGxlVHlwZURlZiAqaHJ0YykKK3sKKyAgX19IQUxfUlRDX1dSSVRFUFJPVEVDVElPTl9ESVNBQkxFKGhydGMpOworICBDTEVBUl9CSVQoaHJ0Yy0+SW5zdGFuY2UtPkNSLCBSVENfQ1JfQktQKTsKKyAgX19IQUxfUlRDX1dSSVRFUFJPVEVDVElPTl9FTkFCTEUoaHJ0Yyk7Cit9CisKKy8qKgorICAqIEBicmllZiAgRGF5bGlnaHQgU2F2aW5nIFRpbWUsIHJlYWRzIHRoZSBzdG9yZSBvcGVyYXRpb24gYml0LgorICAqIEBwYXJhbSAgaHJ0YyBSVEMgaGFuZGxlCisgICogQHJldHZhbCBvcGVyYXRpb24gc2VlIFJUQ19TdG9yZU9wZXJhdGlvbl9EZWZpbml0aW9ucworICAqLwordWludDMyX3QgSEFMX1JUQ19EU1RfUmVhZFN0b3JlT3BlcmF0aW9uKFJUQ19IYW5kbGVUeXBlRGVmICpocnRjKQoreworICByZXR1cm4gUkVBRF9CSVQoaHJ0Yy0+SW5zdGFuY2UtPkNSLCBSVENfQ1JfQktQKTsKK30KKworLyoqCiAgICogQH0KICAgKi8KIAogLyoqIEBkZWZncm91cCBSVENfRXhwb3J0ZWRfRnVuY3Rpb25zX0dyb3VwNSBQZXJpcGhlcmFsIFN0YXRlIGZ1bmN0aW9ucwotICogIEBicmllZiAgIFBlcmlwaGVyYWwgU3RhdGUgZnVuY3Rpb25zCi0gKgorICAqIEBicmllZiAgICBQZXJpcGhlcmFsIFN0YXRlIGZ1bmN0aW9ucworICAqCiBAdmVyYmF0aW0KICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAgICAgICAgICAgICAgICAgICAjIyMjIyBQZXJpcGhlcmFsIFN0YXRlIGZ1bmN0aW9ucyAjIyMjIwpAQCAtMTc1Miw3NiArMTc3MCwyNCBAQAogICAqICAgICAgICAgICAgICAgIHRoZSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIGZvciBSVEMuCiAgICogQHJldHZhbCBIQUwgc3RhdGUKICAgKi8KLUhBTF9SVENTdGF0ZVR5cGVEZWYgSEFMX1JUQ19HZXRTdGF0ZShSVENfSGFuZGxlVHlwZURlZiogaHJ0YykKK0hBTF9SVENTdGF0ZVR5cGVEZWYgSEFMX1JUQ19HZXRTdGF0ZShSVENfSGFuZGxlVHlwZURlZiAqaHJ0YykKIHsKICAgcmV0dXJuIGhydGMtPlN0YXRlOwogfQogCiAvKioKLSAgKiBAYnJpZWYgIERheWxpZ2h0IFNhdmluZyBUaW1lLCBBZGQgb25lIGhvdXIgdG8gdGhlIGNhbGVuZGFyIGluIG9uZSBzaW5nbGUgb3BlcmF0aW9uCi0gICogICAgICAgICB3aXRob3V0IGdvaW5nIHRocm91Z2ggdGhlIGluaXRpYWxpemF0aW9uIHByb2NlZHVyZS4KLSAgKiBAcGFyYW0gIGhydGMgUlRDIGhhbmRsZQotICAqIEByZXR2YWwgTm9uZQorICAqIEB9CiAgICovCi12b2lkIEhBTF9SVENfRFNUX0FkZDFIb3VyKFJUQ19IYW5kbGVUeXBlRGVmICpocnRjKQotewotICBfX0hBTF9SVENfV1JJVEVQUk9URUNUSU9OX0RJU0FCTEUoaHJ0Yyk7Ci0gIFNFVF9CSVQoaHJ0Yy0+SW5zdGFuY2UtPkNSLCBSVENfQ1JfQUREMUgpOwotICBfX0hBTF9SVENfV1JJVEVQUk9URUNUSU9OX0VOQUJMRShocnRjKTsKLX0KIAotLyoqCi0gICogQGJyaWVmICBEYXlsaWdodCBTYXZpbmcgVGltZSwgU3Vic3RyYWN0IG9uZSBob3VyIGZyb20gdGhlIGNhbGVuZGFyIGluIG9uZQotICAqICAgICAgICAgc2luZ2xlIG9wZXJhdGlvbiB3aXRob3V0IGdvaW5nIHRocm91Z2ggdGhlIGluaXRpYWxpemF0aW9uIHByb2NlZHVyZS4KLSAgKiBAcGFyYW0gIGhydGMgUlRDIGhhbmRsZQotICAqIEByZXR2YWwgTm9uZQotICAqLwotdm9pZCBIQUxfUlRDX0RTVF9TdWIxSG91cihSVENfSGFuZGxlVHlwZURlZiAqaHJ0YykKLXsKLSAgX19IQUxfUlRDX1dSSVRFUFJPVEVDVElPTl9ESVNBQkxFKGhydGMpOwotICBTRVRfQklUKGhydGMtPkluc3RhbmNlLT5DUiwgUlRDX0NSX1NVQjFIKTsKLSAgX19IQUxfUlRDX1dSSVRFUFJPVEVDVElPTl9FTkFCTEUoaHJ0Yyk7Ci19Ci0KLS8qKgotICAqIEBicmllZiAgRGF5bGlnaHQgU2F2aW5nIFRpbWUsIFNldCB0aGUgc3RvcmUgb3BlcmF0aW9uIGJpdC4KLSAgKiBAbm90ZSAgIEl0IGNhbiBiZSB1c2VkIGJ5IHRoZSBzb2Z0d2FyZSBpbiBvcmRlciB0byBtZW1vcml6ZSB0aGUgRFNUIHN0YXR1cy4KLSAgKiBAcGFyYW0gIGhydGMgUlRDIGhhbmRsZQotICAqIEByZXR2YWwgTm9uZQotICAqLwotdm9pZCBIQUxfUlRDX0RTVF9TZXRTdG9yZU9wZXJhdGlvbihSVENfSGFuZGxlVHlwZURlZiAqaHJ0YykKLXsKLSAgX19IQUxfUlRDX1dSSVRFUFJPVEVDVElPTl9ESVNBQkxFKGhydGMpOwotICBTRVRfQklUKGhydGMtPkluc3RhbmNlLT5DUiwgUlRDX0NSX0JLUCk7Ci0gIF9fSEFMX1JUQ19XUklURVBST1RFQ1RJT05fRU5BQkxFKGhydGMpOwotfQotCi0vKioKLSAgKiBAYnJpZWYgIERheWxpZ2h0IFNhdmluZyBUaW1lLCBDbGVhciB0aGUgc3RvcmUgb3BlcmF0aW9uIGJpdC4KLSAgKiBAcGFyYW0gIGhydGMgUlRDIGhhbmRsZQotICAqIEByZXR2YWwgTm9uZQotICAqLwotdm9pZCBIQUxfUlRDX0RTVF9DbGVhclN0b3JlT3BlcmF0aW9uKFJUQ19IYW5kbGVUeXBlRGVmICpocnRjKQotewotICBfX0hBTF9SVENfV1JJVEVQUk9URUNUSU9OX0RJU0FCTEUoaHJ0Yyk7Ci0gIENMRUFSX0JJVChocnRjLT5JbnN0YW5jZS0+Q1IsIFJUQ19DUl9CS1ApOwotICBfX0hBTF9SVENfV1JJVEVQUk9URUNUSU9OX0VOQUJMRShocnRjKTsKLX0KLQotLyoqCi0gICogQGJyaWVmICBEYXlsaWdodCBTYXZpbmcgVGltZSwgUmVhZCB0aGUgc3RvcmUgb3BlcmF0aW9uIGJpdC4KLSAgKiBAcGFyYW0gIGhydGMgUlRDIGhhbmRsZQotICAqIEByZXR2YWwgb3BlcmF0aW9uIHNlZSBSVENfU3RvcmVPcGVyYXRpb25fRGVmaW5pdGlvbnMKLSAgKi8KLXVpbnQzMl90IEhBTF9SVENfRFNUX1JlYWRTdG9yZU9wZXJhdGlvbihSVENfSGFuZGxlVHlwZURlZiAqaHJ0YykKLXsKLSAgcmV0dXJuIFJFQURfQklUKGhydGMtPkluc3RhbmNlLT5DUiwgUlRDX0NSX0JLUCk7Ci19CiAKIC8qKgogICAqIEB9CiAgICovCiAKKy8qKiBAYWRkdG9ncm91cCBSVENfUHJpdmF0ZV9GdW5jdGlvbnMKKyAgKiBAeworICAqLworCiAvKioKICAgKiBAYnJpZWYgIEVudGVycyB0aGUgUlRDIEluaXRpYWxpemF0aW9uIG1vZGUuCiAgICogQG5vdGUgICBUaGUgUlRDIEluaXRpYWxpemF0aW9uIG1vZGUgaXMgd3JpdGUgcHJvdGVjdGVkLCB1c2UgdGhlCkBAIC0xODMwLDYxICsxNzk2LDkwIEBACiAgICogICAgICAgICAgICAgICAgdGhlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gZm9yIFJUQy4KICAgKiBAcmV0dmFsIEhBTCBzdGF0dXMKICAgKi8KLUhBTF9TdGF0dXNUeXBlRGVmIFJUQ19FbnRlckluaXRNb2RlKFJUQ19IYW5kbGVUeXBlRGVmKiBocnRjKQorSEFMX1N0YXR1c1R5cGVEZWYgUlRDX0VudGVySW5pdE1vZGUoUlRDX0hhbmRsZVR5cGVEZWYgKmhydGMpCiB7CiAgIHVpbnQzMl90IHRpY2tzdGFydCA9IDBVOworICBIQUxfU3RhdHVzVHlwZURlZiBzdGF0dXMgPSBIQUxfT0s7CiAKLSAgLyogQ2hlY2sgaWYgdGhlIEluaXRpYWxpemF0aW9uIG1vZGUgaXMgc2V0ICovCi0gIGlmKChocnRjLT5JbnN0YW5jZS0+SVNSICYgUlRDX0lTUl9JTklURikgPT0gKHVpbnQzMl90KVJFU0VUKQorICAvKiBDaGVjayB0aGF0IEluaXRpYWxpemF0aW9uIG1vZGUgaXMgbm90IGFscmVhZHkgc2V0ICovCisgIGlmIChSRUFEX0JJVChocnRjLT5JbnN0YW5jZS0+SVNSLCBSVENfSVNSX0lOSVRGKSA9PSAwVSkKICAgewotICAgIC8qIFNldCB0aGUgSW5pdGlhbGl6YXRpb24gbW9kZSAqLwotICAgIGhydGMtPkluc3RhbmNlLT5JU1IgPSAodWludDMyX3QpUlRDX0lOSVRfTUFTSzsKKyAgICAvKiBTZXQgSU5JVCBiaXQgdG8gZW50ZXIgSW5pdGlhbGl6YXRpb24gbW9kZSAqLworICAgIFNFVF9CSVQoaHJ0Yy0+SW5zdGFuY2UtPklTUiwgUlRDX0lTUl9JTklUKTsKIAogICAgIC8qIEdldCB0aWNrICovCiAgICAgdGlja3N0YXJ0ID0gSEFMX0dldFRpY2soKTsKIAotICAgIC8qIFdhaXQgdGlsbCBSVEMgaXMgaW4gSU5JVCBzdGF0ZSBhbmQgaWYgVGltZSBvdXQgaXMgcmVhY2hlZCBleGl0ICovCi0gICAgd2hpbGUoKGhydGMtPkluc3RhbmNlLT5JU1IgJiBSVENfSVNSX0lOSVRGKSA9PSAodWludDMyX3QpUkVTRVQpCisgICAgLyogV2FpdCB0aWxsIFJUQyBpcyBpbiBJTklUIHN0YXRlIGFuZCBpZiB0aW1lb3V0IGlzIHJlYWNoZWQgZXhpdCAqLworICAgIHdoaWxlICgoUkVBRF9CSVQoaHJ0Yy0+SW5zdGFuY2UtPklTUiwgUlRDX0lTUl9JTklURikgPT0gMFUpICYmIChzdGF0dXMgIT0gSEFMX0VSUk9SKSkKICAgICB7Ci0gICAgICBpZigoSEFMX0dldFRpY2soKSAtIHRpY2tzdGFydCApID4gUlRDX1RJTUVPVVRfVkFMVUUpCisgICAgICBpZiAoKEhBTF9HZXRUaWNrKCkgLSB0aWNrc3RhcnQpID4gUlRDX1RJTUVPVVRfVkFMVUUpCiAgICAgICB7Ci0gICAgICAgIHJldHVybiBIQUxfVElNRU9VVDsKKyAgICAgICAgLyogU2V0IFJUQyBzdGF0ZSAqLworICAgICAgICBocnRjLT5TdGF0ZSA9IEhBTF9SVENfU1RBVEVfRVJST1I7CisgICAgICAgIHN0YXR1cyA9IEhBTF9FUlJPUjsKICAgICAgIH0KICAgICB9CiAgIH0KIAotICByZXR1cm4gSEFMX09LOworICByZXR1cm4gc3RhdHVzOwogfQogCi0KIC8qKgotICAqIEBicmllZiAgQ29udmVydHMgYSAyIGRpZ2l0IGRlY2ltYWwgdG8gQkNEIGZvcm1hdC4KLSAgKiBAcGFyYW0gIFZhbHVlIEJ5dGUgdG8gYmUgY29udmVydGVkCi0gICogQHJldHZhbCBDb252ZXJ0ZWQgYnl0ZQorICAqIEBicmllZiAgRXhpdHMgdGhlIFJUQyBJbml0aWFsaXphdGlvbiBtb2RlLgorICAqIEBwYXJhbSAgaHJ0YyBwb2ludGVyIHRvIGEgUlRDX0hhbmRsZVR5cGVEZWYgc3RydWN0dXJlIHRoYXQgY29udGFpbnMKKyAgKiAgICAgICAgICAgICAgICB0aGUgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbiBmb3IgUlRDLgorICAqIEByZXR2YWwgSEFMIHN0YXR1cwogICAqLwotdWludDhfdCBSVENfQnl0ZVRvQmNkMih1aW50OF90IFZhbHVlKQorSEFMX1N0YXR1c1R5cGVEZWYgUlRDX0V4aXRJbml0TW9kZShSVENfSGFuZGxlVHlwZURlZiAqaHJ0YykKIHsKLSAgdWludDMyX3QgYmNkaGlnaCA9IDBVOworICBIQUxfU3RhdHVzVHlwZURlZiBzdGF0dXMgPSBIQUxfT0s7CiAKLSAgd2hpbGUoVmFsdWUgPj0gMTBVKQorICAvKiBDbGVhciBJTklUIGJpdCB0byBleGl0IEluaXRpYWxpemF0aW9uIG1vZGUgKi8KKyAgQ0xFQVJfQklUKGhydGMtPkluc3RhbmNlLT5JU1IsIFJUQ19JU1JfSU5JVCk7CisKKyAgLyogSWYgQ1JfQllQU0hBRCBiaXQgPSAwLCB3YWl0IGZvciBzeW5jaHJvICovCisgIGlmIChSRUFEX0JJVChocnRjLT5JbnN0YW5jZS0+Q1IsIFJUQ19DUl9CWVBTSEFEKSA9PSAwVSkKICAgewotICAgIGJjZGhpZ2grKzsKLSAgICBWYWx1ZSAtPSAxMFU7CisgICAgaWYgKEhBTF9SVENfV2FpdEZvclN5bmNocm8oaHJ0YykgIT0gSEFMX09LKQorICAgIHsKKyAgICAgIC8qIFNldCBSVEMgc3RhdGUgKi8KKyAgICAgIGhydGMtPlN0YXRlID0gSEFMX1JUQ19TVEFURV9FUlJPUjsKKyAgICAgIHN0YXR1cyA9IEhBTF9FUlJPUjsKKyAgICB9CiAgIH0KIAotICByZXR1cm4gICgodWludDhfdCkoYmNkaGlnaCA8PCA0VSkgfCBWYWx1ZSk7CisgIHJldHVybiBzdGF0dXM7CiB9CiAKIC8qKgotICAqIEBicmllZiAgQ29udmVydHMgZnJvbSAyIGRpZ2l0IEJDRCB0byBCaW5hcnkuCi0gICogQHBhcmFtICBWYWx1ZSBCQ0QgdmFsdWUgdG8gYmUgY29udmVydGVkCisgICogQGJyaWVmICBDb252ZXJ0cyBhIDItZGlnaXQgbnVtYmVyIGZyb20gZGVjaW1hbCB0byBCQ0QgZm9ybWF0LgorICAqIEBwYXJhbSAgbnVtYmVyIGRlY2ltYWwtZm9ybWF0dGVkIG51bWJlciAoZnJvbSAwIHRvIDk5KSB0byBiZSBjb252ZXJ0ZWQKKyAgKiBAcmV0dmFsIENvbnZlcnRlZCBieXRlCisgICovCit1aW50OF90IFJUQ19CeXRlVG9CY2QyKHVpbnQ4X3QgbnVtYmVyKQoreworICB1aW50OF90IGJjZGhpZ2ggPSAwVTsKKworICB3aGlsZSAobnVtYmVyID49IDEwVSkKKyAgeworICAgIGJjZGhpZ2grKzsKKyAgICBudW1iZXIgLT0gMTBVOworICB9CisKKyAgcmV0dXJuICgodWludDhfdCkoYmNkaGlnaCA8PCA0VSkgfCBudW1iZXIpOworfQorCisvKioKKyAgKiBAYnJpZWYgIENvbnZlcnRzIGEgMi1kaWdpdCBudW1iZXIgZnJvbSBCQ0QgdG8gZGVjaW1hbCBmb3JtYXQuCisgICogQHBhcmFtICBudW1iZXIgQkNELWZvcm1hdHRlZCBudW1iZXIgKGZyb20gMDAgdG8gOTkpIHRvIGJlIGNvbnZlcnRlZAogICAqIEByZXR2YWwgQ29udmVydGVkIHdvcmQKICAgKi8KLXVpbnQ4X3QgUlRDX0JjZDJUb0J5dGUodWludDhfdCBWYWx1ZSkKK3VpbnQ4X3QgUlRDX0JjZDJUb0J5dGUodWludDhfdCBudW1iZXIpCiB7Ci0gIHVpbnQzMl90IHRtcCA9IDBVOwotICB0bXAgPSAoKHVpbnQ4X3QpKFZhbHVlICYgKHVpbnQ4X3QpMHhGMCkgPj4gKHVpbnQ4X3QpMHg0KSAqIDEwOwotICByZXR1cm4gKHRtcCArIChWYWx1ZSAmICh1aW50OF90KTB4MEYpKTsKKyAgdWludDhfdCB0bXAgPSAwVTsKKyAgdG1wID0gKCh1aW50OF90KShudW1iZXIgJiAodWludDhfdCkweEYwKSA+PiAodWludDhfdCkweDQpICogMTA7CisgIHJldHVybiAodG1wICsgKG51bWJlciAmICh1aW50OF90KTB4MEYpKTsKIH0KIAogLyoqCkBAIC0xODk5LDUgKzE4OTQsMyBAQAogLyoqCiAgICogQH0KICAgKi8KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKiAoQykgQ09QWVJJR0hUIFNUTWljcm9lbGVjdHJvbmljcyAqKioqKkVORCBPRiBGSUxFKioqKi8KZGlmZiAtLWdpdCBhL1NyYy9zdG0zMmY0eHhfaGFsX3J0Y19leC5jIGIvU3JjL3N0bTMyZjR4eF9oYWxfcnRjX2V4LmMKaW5kZXggOGUwN2I0ZS4uZWI1NzA4ZiAxMDA2NDQKLS0tIGEvU3JjL3N0bTMyZjR4eF9oYWxfcnRjX2V4LmMKKysrIGIvU3JjL3N0bTMyZjR4eF9oYWxfcnRjX2V4LmMKQEAgLTIsNTggKzIsNzYgQEAKICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICogQGZpbGUgICAgc3RtMzJmNHh4X2hhbF9ydGNfZXguYwogICAqIEBhdXRob3IgIE1DRCBBcHBsaWNhdGlvbiBUZWFtCi0gICogQGJyaWVmICAgUlRDIEhBTCBtb2R1bGUgZHJpdmVyLgorICAqIEBicmllZiAgIEV4dGVuZGVkIFJUQyBIQUwgbW9kdWxlIGRyaXZlci4KICAgKiAgICAgICAgICBUaGlzIGZpbGUgcHJvdmlkZXMgZmlybXdhcmUgZnVuY3Rpb25zIHRvIG1hbmFnZSB0aGUgZm9sbG93aW5nCi0gICogICAgICAgICAgZnVuY3Rpb25hbGl0aWVzIG9mIHRoZSBSZWFsIFRpbWUgQ2xvY2sgKFJUQykgRXh0ZW5zaW9uIHBlcmlwaGVyYWw6Ci0gICogICAgICAgICAgICsgUlRDIFRpbWUgU3RhbXAgZnVuY3Rpb25zCisgICogICAgICAgICAgZnVuY3Rpb25hbGl0aWVzIG9mIHRoZSBSZWFsLVRpbWUgQ2xvY2sgKFJUQykgRXh0ZW5kZWQgcGVyaXBoZXJhbDoKKyAgKiAgICAgICAgICAgKyBSVEMgVGltZXN0YW1wIGZ1bmN0aW9ucwogICAqICAgICAgICAgICArIFJUQyBUYW1wZXIgZnVuY3Rpb25zCi0gICogICAgICAgICAgICsgUlRDIFdha2UtdXAgZnVuY3Rpb25zCi0gICogICAgICAgICAgICsgRXh0ZW5zaW9uIENvbnRyb2wgZnVuY3Rpb25zCi0gICogICAgICAgICAgICsgRXh0ZW5zaW9uIFJUQyBmZWF0dXJlcyBmdW5jdGlvbnMKKyAgKiAgICAgICAgICAgKyBSVEMgV2FrZXVwIGZ1bmN0aW9ucworICAqICAgICAgICAgICArIEV4dGVuZGVkIENvbnRyb2wgZnVuY3Rpb25zCisgICogICAgICAgICAgICsgRXh0ZW5kZWQgUlRDIGZlYXR1cmVzIGZ1bmN0aW9ucwogICAqCisgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICAqIEBhdHRlbnRpb24KKyAgKgorICAqIENvcHlyaWdodCAoYykgMjAxNyBTVE1pY3JvZWxlY3Ryb25pY3MuCisgICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAgKgorICAqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgdW5kZXIgdGVybXMgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZQorICAqIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvZnR3YXJlIGNvbXBvbmVudC4KKyAgKiBJZiBubyBMSUNFTlNFIGZpbGUgY29tZXMgd2l0aCB0aGlzIHNvZnR3YXJlLCBpdCBpcyBwcm92aWRlZCBBUy1JUy4KKyAgKgorICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgQHZlcmJhdGltCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotICAgICAgICAgICAgICAgICAgIyMjIyMgSG93IHRvIHVzZSB0aGlzIGRyaXZlciAjIyMjIworICAgICAgICAgICAgICAgICAgICAgICAgIyMjIyMgSG93IHRvIHVzZSB0aGlzIGRyaXZlciAjIyMjIwogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgWy4uXQogICAgICgrKSBFbmFibGUgdGhlIFJUQyBkb21haW4gYWNjZXNzLgogICAgICgrKSBDb25maWd1cmUgdGhlIFJUQyBQcmVzY2FsZXIgKEFzeW5jaHJvbm91cyBhbmQgU3luY2hyb25vdXMpIGFuZCBSVEMgaG91cgogICAgICAgICBmb3JtYXQgdXNpbmcgdGhlIEhBTF9SVENfSW5pdCgpIGZ1bmN0aW9uLgogCi0gICoqKiBSVEMgV2FrZS11cCBjb25maWd1cmF0aW9uICoqKgorICAqKiogUlRDIFdha2V1cCBjb25maWd1cmF0aW9uICoqKgogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICBbLi5dCi0gICAgKCspIFRvIGNvbmZpZ3VyZSB0aGUgUlRDIFdha2UtdXAgQ2xvY2sgc291cmNlIGFuZCBDb3VudGVyIHVzZSB0aGUgSEFMX1JUQ0V4X1NldFdha2VVcFRpbWVyKCkKLSAgICAgICAgZnVuY3Rpb24uIFlvdSBjYW4gYWxzbyBjb25maWd1cmUgdGhlIFJUQyBXYWtlLXVwIHRpbWVyIGluIGludGVycnVwdCBtb2RlCi0gICAgICAgIHVzaW5nIHRoZSBIQUxfUlRDRXhfU2V0V2FrZVVwVGltZXJfSVQoKSBmdW5jdGlvbi4KLSAgICAoKykgVG8gcmVhZCB0aGUgUlRDIFdha2UtdXAgQ291bnRlciByZWdpc3RlciwgdXNlIHRoZSBIQUxfUlRDRXhfR2V0V2FrZVVwVGltZXIoKQorICAgICgrKSBUbyBjb25maWd1cmUgdGhlIFJUQyBXYWtldXAgQ2xvY2sgc291cmNlIGFuZCBDb3VudGVyIHVzZSB0aGUKKyAgICAgICAgSEFMX1JUQ0V4X1NldFdha2VVcFRpbWVyKCkgZnVuY3Rpb24uCisgICAgICAgIFlvdSBjYW4gYWxzbyBjb25maWd1cmUgdGhlIFJUQyBXYWtldXAgdGltZXIgaW4gaW50ZXJydXB0IG1vZGUgdXNpbmcgdGhlCisgICAgICAgIEhBTF9SVENFeF9TZXRXYWtlVXBUaW1lcl9JVCgpIGZ1bmN0aW9uLgorICAgICgrKSBUbyByZWFkIHRoZSBSVEMgV2FrZXVwIENvdW50ZXIgcmVnaXN0ZXIsIHVzZSB0aGUgSEFMX1JUQ0V4X0dldFdha2VVcFRpbWVyKCkKICAgICAgICAgZnVuY3Rpb24uCiAKLSAgKioqIFRpbWVTdGFtcCBjb25maWd1cmF0aW9uICoqKgorICAqKiogVGltZXN0YW1wIGNvbmZpZ3VyYXRpb24gKioqCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgWy4uXQotICAgICgrKSBDb25maWd1cmUgdGhlIFJUQ19BRnggdHJpZ2dlciBhbmQgZW5hYmxlIHRoZSBSVEMgVGltZVN0YW1wIHVzaW5nIHRoZQotICAgICAgICBIQUxfUlRDRXhfU2V0VGltZVN0YW1wKCkgZnVuY3Rpb24uIFlvdSBjYW4gYWxzbyBjb25maWd1cmUgdGhlIFJUQyBUaW1lU3RhbXAgd2l0aAotICAgICAgICBpbnRlcnJ1cHQgbW9kZSB1c2luZyB0aGUgSEFMX1JUQ0V4X1NldFRpbWVTdGFtcF9JVCgpIGZ1bmN0aW9uLgotICAgICgrKSBUbyByZWFkIHRoZSBSVEMgVGltZVN0YW1wIFRpbWUgYW5kIERhdGUgcmVnaXN0ZXIsIHVzZSB0aGUgSEFMX1JUQ0V4X0dldFRpbWVTdGFtcCgpCi0gICAgICAgIGZ1bmN0aW9uLgotICAgICgrKSBUaGUgVElNRVNUQU1QIGFsdGVybmF0ZSBmdW5jdGlvbiBjYW4gYmUgbWFwcGVkIGVpdGhlciB0byBSVENfQUYxIChQQzEzKQotICAgICAgICBvciBSVENfQUYyIChQSTggb3IgUEEwIG9ubHkgZm9yIFNUTTMyRjQ0Nnh4IGRldmljZXMpIGRlcGVuZGluZyBvbiB0aGUgdmFsdWUgb2YgVFNJTlNFTCBiaXQgaW4KLSAgICAgICAgUlRDX1RBRkNSIHJlZ2lzdGVyLiBUaGUgY29ycmVzcG9uZGluZyBwaW4gaXMgYWxzbyBzZWxlY3RlZCBieSBIQUxfUlRDRXhfU2V0VGltZVN0YW1wKCkKLSAgICAgICAgb3IgSEFMX1JUQ0V4X1NldFRpbWVTdGFtcF9JVCgpIGZ1bmN0aW9uLgorICAgICgrKSBUbyBjb25maWd1cmUgdGhlIFJUQyBUaW1lc3RhbXAgdXNlIHRoZSBIQUxfUlRDRXhfU2V0VGltZVN0YW1wKCkgZnVuY3Rpb24uCisgICAgICAgIFlvdSBjYW4gYWxzbyBjb25maWd1cmUgdGhlIFJUQyBUaW1lc3RhbXAgd2l0aCBpbnRlcnJ1cHQgbW9kZSB1c2luZyB0aGUKKyAgICAgICAgSEFMX1JUQ0V4X1NldFRpbWVTdGFtcF9JVCgpIGZ1bmN0aW9uLgorICAgICgrKSBUbyByZWFkIHRoZSBSVEMgVGltZXN0YW1wIFRpbWUgYW5kIERhdGUgcmVnaXN0ZXIsIHVzZSB0aGUKKyAgICAgICAgSEFMX1JUQ0V4X0dldFRpbWVTdGFtcCgpIGZ1bmN0aW9uLgorICAgICgrKSBUaGUgVGltZXN0YW1wIGFsdGVybmF0ZSBmdW5jdGlvbiBjYW4gYmUgbWFwcGVkIGVpdGhlciB0byBSVENfQUYxIChQQzEzKQorICAgICAgICBvciBSVENfQUYyIChQSTgpIGRlcGVuZGluZyBvbiB0aGUgdmFsdWUgb2YgVFNJTlNFTCBiaXQgaW4gUlRDX1RBRkNSCisgICAgICAgIHJlZ2lzdGVyLgorICAgICAgICBGb3IgU1RNMzJGNDQ2eHggZGV2aWNlcyBSVENfQUYyIGNvcnJlc3BvbmRzIHRvIHBpbiBQQTAgYW5kIG5vdCB0byBwaW4gUEk4LgorICAgICAgICBUaGUgY29ycmVzcG9uZGluZyBwaW4gaXMgYWxzbyBzZWxlY3RlZCBieSBIQUxfUlRDRXhfU2V0VGltZVN0YW1wKCkKKyAgICAgICAgb3IgSEFMX1JUQ0V4X1NldFRpbWVTdGFtcF9JVCgpIGZ1bmN0aW9ucy4KIAogICAqKiogVGFtcGVyIGNvbmZpZ3VyYXRpb24gKioqCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgWy4uXQotICAgICgrKSBFbmFibGUgdGhlIFJUQyBUYW1wZXIgYW5kIGNvbmZpZ3VyZSB0aGUgVGFtcGVyIGZpbHRlciBjb3VudCwgdHJpZ2dlciBFZGdlCi0gICAgICAgIG9yIExldmVsIGFjY29yZGluZyB0byB0aGUgVGFtcGVyIGZpbHRlciAoaWYgZXF1YWwgdG8gMCBFZGdlIGVsc2UgTGV2ZWwpCi0gICAgICAgIHZhbHVlLCBzYW1wbGluZyBmcmVxdWVuY3ksIHByZWNoYXJnZSBvciBkaXNjaGFyZ2UgYW5kIFB1bGwtVVAgdXNpbmcgdGhlCi0gICAgICAgIEhBTF9SVENFeF9TZXRUYW1wZXIoKSBmdW5jdGlvbi4gWW91IGNhbiBjb25maWd1cmUgUlRDIFRhbXBlciBpbiBpbnRlcnJ1cHQKLSAgICAgICAgbW9kZSB1c2luZyBIQUxfUlRDRXhfU2V0VGFtcGVyX0lUKCkgZnVuY3Rpb24uCisgICAgKCspIFRvIEVuYWJsZSB0aGUgUlRDIFRhbXBlciBhbmQgY29uZmlndXJlIHRoZSBUYW1wZXIgZmlsdGVyIGNvdW50LCB0cmlnZ2VyCisgICAgICAgIEVkZ2Ugb3IgTGV2ZWwgYWNjb3JkaW5nIHRvIHRoZSBUYW1wZXIgZmlsdGVyIHZhbHVlIChpZiBlcXVhbCB0byAwIEVkZ2UKKyAgICAgICAgZWxzZSBMZXZlbCksIHNhbXBsaW5nIGZyZXF1ZW5jeSwgcHJlY2hhcmdlIG9yIGRpc2NoYXJnZSBhbmQgUHVsbC1VUCB1c2UKKyAgICAgICAgdGhlIEhBTF9SVENFeF9TZXRUYW1wZXIoKSBmdW5jdGlvbi4KKyAgICAgICAgWW91IGNhbiBjb25maWd1cmUgUlRDIFRhbXBlciBpbiBpbnRlcnJ1cHQgbW9kZSB1c2luZyBIQUxfUlRDRXhfU2V0VGFtcGVyX0lUKCkKKyAgICAgICAgZnVuY3Rpb24uCiAgICAgKCspIFRoZSBUQU1QRVIxIGFsdGVybmF0ZSBmdW5jdGlvbiBjYW4gYmUgbWFwcGVkIGVpdGhlciB0byBSVENfQUYxIChQQzEzKQotICAgICAgICBvciBSVENfQUYyIChQSTggb3IgUEEwIG9ubHkgZm9yIFNUTTMyRjQ0Nnh4IGRldmljZXMpIGRlcGVuZGluZyBvbiB0aGUgdmFsdWUgb2YgVEFNUDFJTlNFTCBiaXQgaW4KLSAgICAgICAgUlRDX1RBRkNSIHJlZ2lzdGVyLiBUaGUgY29ycmVzcG9uZGluZyBwaW4gaXMgYWxzbyBzZWxlY3RlZCBieSBIQUxfUlRDRXhfU2V0VGFtcGVyKCkKLSAgICAgICAgb3IgSEFMX1JUQ0V4X1NldFRhbXBlcl9JVCgpIGZ1bmN0aW9uLgorICAgICAgICBvciBSVENfQUYyIChQSTgpIGRlcGVuZGluZyBvbiB0aGUgdmFsdWUgb2YgVEFNUDFJTlNFTCBiaXQgaW4gUlRDX1RBRkNSCisgICAgICAgIHJlZ2lzdGVyLgorICAgICAgICBUaGUgY29ycmVzcG9uZGluZyBwaW4gaXMgYWxzbyBzZWxlY3RlZCBieSBIQUxfUlRDRXhfU2V0VGFtcGVyKCkKKyAgICAgICAgb3IgSEFMX1JUQ0V4X1NldFRhbXBlcl9JVCgpIGZ1bmN0aW9ucy4KKyAgICAoKykgVGhlIFRBTVBFUjIgYWx0ZXJuYXRlIGZ1bmN0aW9uIGlzIG1hcHBlZCB0byBSVENfQUYyIChQSTgpLgorICAgICAgICBGb3IgU1RNMzJGNDQ2eHggZGV2aWNlcyBSVENfQUYyIGNvcnJlc3BvbmRzIHRvIHBpbiBQQTAgYW5kIG5vdCB0byBwaW4gUEk4LgogCiAgICoqKiBCYWNrdXAgRGF0YSBSZWdpc3RlcnMgY29uZmlndXJhdGlvbiAqKioKICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpAQCAtNjMsMTggKzgxLDQ0IEBACiAgICAgKCspIFRvIHJlYWQgdGhlIFJUQyBCYWNrdXAgRGF0YSByZWdpc3RlcnMsIHVzZSB0aGUgSEFMX1JUQ0V4X0JLVVBSZWFkKCkKICAgICAgICAgZnVuY3Rpb24uCiAKLSAgIEBlbmR2ZXJiYXRpbQotICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAgKiBAYXR0ZW50aW9uCi0gICoKLSAgKiA8aDI+PGNlbnRlcj4mY29weTsgQ29weXJpZ2h0IChjKSAyMDE3IFNUTWljcm9lbGVjdHJvbmljcy4KLSAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvY2VudGVyPjwvaDI+Ci0gICoKLSAgKiBUaGlzIHNvZnR3YXJlIGNvbXBvbmVudCBpcyBsaWNlbnNlZCBieSBTVCB1bmRlciBCU0QgMy1DbGF1c2UgbGljZW5zZSwKLSAgKiB0aGUgIkxpY2Vuc2UiOyBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlCi0gICogTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0OgotICAqICAgICAgICAgICAgICAgICAgICAgICAgb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvQlNELTMtQ2xhdXNlCi0gICoKKyAgKioqIENvYXJzZSBEaWdpdGFsIENhbGlicmF0aW9uIGNvbmZpZ3VyYXRpb24gKioqCisgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorICBbLi5dCisgICAgKCspIFRoZSBDb2Fyc2UgRGlnaXRhbCBDYWxpYnJhdGlvbiBjYW4gYmUgdXNlZCB0byBjb21wZW5zYXRlIGNyeXN0YWwgaW5hY2N1cmFjeQorICAgICAgICBieSBzZXR0aW5nIHRoZSBEQ1MgYml0IGluIFJUQ19DQUxJQlIgcmVnaXN0ZXIuCisgICAgKCspIFdoZW4gcG9zaXRpdmUgY2FsaWJyYXRpb24gaXMgZW5hYmxlZCAoRENTID0g4oCYMOKAmSksIDIgYXN5bmNocm9ub3VzIHByZXNjYWxlcgorICAgICAgICBjbG9jayBjeWNsZXMgYXJlIGFkZGVkIGV2ZXJ5IG1pbnV0ZSBkdXJpbmcgMnhEQyBtaW51dGVzLgorICAgICAgICBUaGlzIGNhdXNlcyB0aGUgY2FsZW5kYXIgdG8gYmUgdXBkYXRlZCBzb29uZXIsIHRoZXJlYnkgYWRqdXN0aW5nIHRoZQorICAgICAgICBlZmZlY3RpdmUgUlRDIGZyZXF1ZW5jeSB0byBiZSBhIGJpdCBoaWdoZXIuCisgICAgKCspIFdoZW4gbmVnYXRpdmUgY2FsaWJyYXRpb24gaXMgZW5hYmxlZCAoRENTID0g4oCYMeKAmSksIDEgYXN5bmNocm9ub3VzIHByZXNjYWxlcgorICAgICAgICBjbG9jayBjeWNsZSBpcyByZW1vdmVkIGV2ZXJ5IG1pbnV0ZSBkdXJpbmcgMnhEQyBtaW51dGVzLgorICAgICAgICBUaGlzIGNhdXNlcyB0aGUgY2FsZW5kYXIgdG8gYmUgdXBkYXRlZCBsYXRlciwgdGhlcmVieSBhZGp1c3RpbmcgdGhlCisgICAgICAgIGVmZmVjdGl2ZSBSVEMgZnJlcXVlbmN5IHRvIGJlIGEgYml0IGxvd2VyLgorICAgICgrKSBEQyBpcyBjb25maWd1cmVkIHRocm91Z2ggYml0cyBEQ1s0OjBdIG9mIFJUQ19DQUxJQlIgcmVnaXN0ZXIuIFRoaXMgbnVtYmVyCisgICAgICAgIHJhbmdlcyBmcm9tIDAgdG8gMzEgY29ycmVzcG9uZGluZyB0byBhIHRpbWUgaW50ZXJ2YWwgKDJ4REMpIHJhbmdpbmcgZnJvbQorICAgICAgICAwIHRvIDYyLgorICAgICgrKSBJbiBvcmRlciB0byBtZWFzdXJlIHRoZSBjbG9jayBkZXZpYXRpb24sIGEgNTEyIEh6IGNsb2NrIGlzIG91dHB1dCBmb3IKKyAgICAgICAgY2FsaWJyYXRpb24uCisgICAgKCspIFRoZSBSVEMgQ29hcnNlIERpZ2l0YWwgQ2FsaWJyYXRpb24gdmFsdWUgYW5kIHNpZ24gY2FuIGJlIGNhbGlicmF0ZWQgdXNpbmcKKyAgICAgICAgdGhlIEhBTF9SVENFeF9TZXRDb2Fyc2VDYWxpYigpIGZ1bmN0aW9uLgorCisgICoqKiBTbW9vdGggRGlnaXRhbCBDYWxpYnJhdGlvbiBjb25maWd1cmF0aW9uICoqKgorICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyAgWy4uXQorICAgICgrKSBSVEMgZnJlcXVlbmN5IGNhbiBiZSBkaWdpdGFsbHkgY2FsaWJyYXRlZCB3aXRoIGEgcmVzb2x1dGlvbiBvZiBhYm91dAorICAgICAgICAwLjk1NCBwcG0gd2l0aCBhIHJhbmdlIGZyb20gLTQ4Ny4xIHBwbSB0byArNDg4LjUgcHBtLgorICAgICAgICBUaGUgY29ycmVjdGlvbiBvZiB0aGUgZnJlcXVlbmN5IGlzIHBlcmZvcm1lZCB1c2luZyBhIHNlcmllcyBvZiBzbWFsbAorICAgICAgICBhZGp1c3RtZW50cyAoYWRkaW5nIGFuZC9vciBzdWJ0cmFjdGluZyBpbmRpdmlkdWFsIFJUQ0NMSyBwdWxzZXMpLgorICAgICgrKSBUaGUgc21vb3RoIGRpZ2l0YWwgY2FsaWJyYXRpb24gaXMgcGVyZm9ybWVkIGR1cmluZyBhIGN5Y2xlIG9mIGFib3V0IDJeMjAKKyAgICAgICAgUlRDQ0xLIHB1bHNlcyAob3IgMzIgc2Vjb25kcykgd2hlbiB0aGUgaW5wdXQgZnJlcXVlbmN5IGlzIDMyLDc2OCBIei4KKyAgICAgICAgVGhpcyBjeWNsZSBpcyBtYWludGFpbmVkIGJ5IGEgMjAtYml0IGNvdW50ZXIgY2xvY2tlZCBieSBSVENDTEsuCisgICAgKCspIFRoZSBzbW9vdGggY2FsaWJyYXRpb24gcmVnaXN0ZXIgKFJUQ19DQUxSKSBzcGVjaWZpZXMgdGhlIG51bWJlciBvZiBSVENDTEsKKyAgICAgICAgY2xvY2sgY3ljbGVzIHRvIGJlIG1hc2tlZCBkdXJpbmcgdGhlIDMyLXNlY29uZCBjeWNsZS4KKyAgICAoKykgVGhlIFJUQyBTbW9vdGggRGlnaXRhbCBDYWxpYnJhdGlvbiB2YWx1ZSBhbmQgdGhlIGNvcnJlc3BvbmRpbmcgY2FsaWJyYXRpb24KKyAgICAgICAgY3ljbGUgcGVyaW9kICgzMnMsIDE2cywgb3IgOHMpIGNhbiBiZSBjYWxpYnJhdGVkIHVzaW5nIHRoZQorICAgICAgICBIQUxfUlRDRXhfU2V0U21vb3RoQ2FsaWIoKSBmdW5jdGlvbi4KKworICBAZW5kdmVyYmF0aW0KICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICovCiAKQEAgLTg2LDcgKzEzMCw3IEBACiAgICovCiAKIC8qKiBAZGVmZ3JvdXAgUlRDRXggUlRDRXgKLSAgKiBAYnJpZWYgUlRDIEhBTCBtb2R1bGUgZHJpdmVyCisgICogQGJyaWVmICAgIFJUQyBFeHRlbmRlZCBIQUwgbW9kdWxlIGRyaXZlcgogICAqIEB7CiAgICovCiAKQEAgLTk3LDE1MCArMTQxLDkwIEBACiAvKiBQcml2YXRlIG1hY3JvIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogLyogUHJpdmF0ZSB2YXJpYWJsZXMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KIC8qIFByaXZhdGUgZnVuY3Rpb24gcHJvdG90eXBlcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCi0vKiBQcml2YXRlIGZ1bmN0aW9ucyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworLyogRXhwb3J0ZWQgZnVuY3Rpb25zIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KIAogLyoqIEBkZWZncm91cCBSVENFeF9FeHBvcnRlZF9GdW5jdGlvbnMgUlRDRXggRXhwb3J0ZWQgRnVuY3Rpb25zCiAgICogQHsKICAgKi8KIAotLyoqIEBkZWZncm91cCBSVENFeF9FeHBvcnRlZF9GdW5jdGlvbnNfR3JvdXAxIFJUQyBUaW1lU3RhbXAgYW5kIFRhbXBlciBmdW5jdGlvbnMKLSAqICBAYnJpZWYgICBSVEMgVGltZVN0YW1wIGFuZCBUYW1wZXIgZnVuY3Rpb25zCi0gKgorLyoqIEBkZWZncm91cCBSVENFeF9FeHBvcnRlZF9GdW5jdGlvbnNfR3JvdXAxIFJUQyBUaW1lc3RhbXAgYW5kIFRhbXBlciBmdW5jdGlvbnMKKyAgKiBAYnJpZWYgICAgUlRDIFRpbWVzdGFtcCBhbmQgVGFtcGVyIGZ1bmN0aW9ucworICAqCiBAdmVyYmF0aW0KICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0gICAgICAgICAgICAgICAgICMjIyMjIFJUQyBUaW1lU3RhbXAgYW5kIFRhbXBlciBmdW5jdGlvbnMgIyMjIyMKKyAgICAgICAgICAgICAgICAgIyMjIyMgUlRDIFRpbWVzdGFtcCBhbmQgVGFtcGVyIGZ1bmN0aW9ucyAjIyMjIwogID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIAotIFsuLl0gVGhpcyBzZWN0aW9uIHByb3ZpZGVzIGZ1bmN0aW9ucyBhbGxvd2luZyB0byBjb25maWd1cmUgVGltZVN0YW1wIGZlYXR1cmUKKyBbLi5dIFRoaXMgc2VjdGlvbiBwcm92aWRlcyBmdW5jdGlvbnMgYWxsb3dpbmcgdG8gY29uZmlndXJlIFRpbWVzdGFtcCBmZWF0dXJlCiAKIEBlbmR2ZXJiYXRpbQogICAqIEB7CiAgICovCiAKIC8qKgotICAqIEBicmllZiAgU2V0cyBUaW1lU3RhbXAuCi0gICogQG5vdGUgICBUaGlzIEFQSSBtdXN0IGJlIGNhbGxlZCBiZWZvcmUgZW5hYmxpbmcgdGhlIFRpbWVTdGFtcCBmZWF0dXJlLgorICAqIEBicmllZiAgU2V0cyBUaW1lc3RhbXAuCisgICogQG5vdGUgICBUaGlzIEFQSSBtdXN0IGJlIGNhbGxlZCBiZWZvcmUgZW5hYmxpbmcgdGhlIFRpbWVzdGFtcCBmZWF0dXJlLgogICAqIEBwYXJhbSAgaHJ0YyBwb2ludGVyIHRvIGEgUlRDX0hhbmRsZVR5cGVEZWYgc3RydWN0dXJlIHRoYXQgY29udGFpbnMKICAgKiAgICAgICAgICAgICAgICB0aGUgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbiBmb3IgUlRDLgotICAqIEBwYXJhbSAgVGltZVN0YW1wRWRnZSBTcGVjaWZpZXMgdGhlIHBpbiBlZGdlIG9uIHdoaWNoIHRoZSBUaW1lU3RhbXAgaXMKKyAgKiBAcGFyYW0gIFJUQ19UaW1lU3RhbXBFZGdlIFNwZWNpZmllcyB0aGUgcGluIGVkZ2Ugb24gd2hpY2ggdGhlIFRpbWVzdGFtcCBpcwogICAqICAgICAgICAgYWN0aXZhdGVkLgogICAqICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBvbmUgb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXM6Ci0gICogICAgICAgICAgICAgQGFyZyBSVENfVElNRVNUQU1QRURHRV9SSVNJTkc6IHRoZSBUaW1lIHN0YW1wIGV2ZW50IG9jY3VycyBvbiB0aGUKLSAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByaXNpbmcgZWRnZSBvZiB0aGUgcmVsYXRlZCBwaW4uCi0gICogICAgICAgICAgICAgQGFyZyBSVENfVElNRVNUQU1QRURHRV9GQUxMSU5HOiB0aGUgVGltZSBzdGFtcCBldmVudCBvY2N1cnMgb24gdGhlCi0gICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhbGxpbmcgZWRnZSBvZiB0aGUgcmVsYXRlZCBwaW4uCi0gICogQHBhcmFtICBSVENfVGltZVN0YW1wUGluIHNwZWNpZmllcyB0aGUgUlRDIFRpbWVTdGFtcCBQaW4uCisgICogICAgICAgICAgICAgQGFyZyBSVENfVElNRVNUQU1QRURHRV9SSVNJTkc6IHRoZSBUaW1lc3RhbXAgZXZlbnQgb2NjdXJzIG9uCisgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIHJpc2luZyBlZGdlIG9mIHRoZSByZWxhdGVkIHBpbi4KKyAgKiAgICAgICAgICAgICBAYXJnIFJUQ19USU1FU1RBTVBFREdFX0ZBTExJTkc6IHRoZSBUaW1lc3RhbXAgZXZlbnQgb2NjdXJzIG9uCisgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIGZhbGxpbmcgZWRnZSBvZiB0aGUgcmVsYXRlZCBwaW4uCisgICogQHBhcmFtICBSVENfVGltZVN0YW1wUGluIFNwZWNpZmllcyB0aGUgUlRDIFRpbWVzdGFtcCBQaW4uCiAgICogICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIG9uZSBvZiB0aGUgZm9sbG93aW5nIHZhbHVlczoKLSAgKiAgICAgICAgICAgICBAYXJnIFJUQ19USU1FU1RBTVBQSU5fREVGQVVMVDogUEMxMyBpcyBzZWxlY3RlZCBhcyBSVEMgVGltZVN0YW1wIFBpbi4KLSAgKiAgICAgICAgICAgICBAYXJnIFJUQ19USU1FU1RBTVBQSU5fUE9TMTogUEk4L1BBMCBpcyBzZWxlY3RlZCBhcyBSVEMgVGltZVN0YW1wIFBpbi4KLSAgKiAgICAgICAgICAgICAobm90IGFwcGxpY2FibGUgaW4gdGhlIGNhc2Ugb2YgU1RNMzJGNDEyeHgsIFNUTTMyRjQxM3h4IGFuZCBTVE0zMkY0MjN4eCBkZXZpY2VzKQotICAqICAgICAgICAgICAgIChQSTggZm9yIGFsbCBTVE0zMiBkZXZpY2VzIGV4Y2VwdCBmb3IgU1RNMzJGNDQ2eHggZGV2aWNlcyB0aGUgUEEwIGlzIHVzZWQpCi0gICogICAgICAgICAgICAgQGFyZyBSVENfVElNRVNUQU1QUElOX1BBMDogUEEwIGlzIHNlbGVjdGVkIGFzIFJUQyBUaW1lU3RhbXAgUGluIG9ubHkgZm9yIFNUTTMyRjQ0Nnh4IGRldmljZXMKKyAgKiAgICAgICAgICAgICBAYXJnIFJUQ19USU1FU1RBTVBQSU5fREVGQVVMVDogUEMxMyBpcyBzZWxlY3RlZCBhcyBSVEMgVGltZXN0YW1wIFBpbi4KKyAgKiAgICAgICAgICAgICBAYXJnIFJUQ19USU1FU1RBTVBQSU5fUE9TMTogUEk4IGlzIHNlbGVjdGVkIGFzIFJUQyBUaW1lc3RhbXAgUGluLgorICAqIEBub3RlIFJUQ19USU1FU1RBTVBQSU5fUE9TMSBjb3JyZXNwb25kcyB0byBwaW4gUEEwIGluIHRoZSBjYXNlIG9mCisgICogICAgICAgU1RNMzJGNDQ2eHggZGV2aWNlcy4KKyAgKiBAbm90ZSBSVENfVElNRVNUQU1QUElOX1BPUzEgaXMgbm90IGFwcGxpY2FibGUgdG8gdGhlIGZvbGxvd2luZyBsaXN0IG9mIGRldmljZXM6CisgICogICAgICAgU1RNMzJGNDEyeHgsIFNUTTMyRjQxM3h4IGFuZCBTVE0zMkY0MjN4eC4KICAgKiBAcmV0dmFsIEhBTCBzdGF0dXMKICAgKi8KLUhBTF9TdGF0dXNUeXBlRGVmIEhBTF9SVENFeF9TZXRUaW1lU3RhbXAoUlRDX0hhbmRsZVR5cGVEZWYgKmhydGMsIHVpbnQzMl90IFRpbWVTdGFtcEVkZ2UsIHVpbnQzMl90IFJUQ19UaW1lU3RhbXBQaW4pCitIQUxfU3RhdHVzVHlwZURlZiBIQUxfUlRDRXhfU2V0VGltZVN0YW1wKFJUQ19IYW5kbGVUeXBlRGVmICpocnRjLCB1aW50MzJfdCBSVENfVGltZVN0YW1wRWRnZSwgdWludDMyX3QgUlRDX1RpbWVTdGFtcFBpbikKIHsKICAgdWludDMyX3QgdG1wcmVnID0gMFU7CiAKICAgLyogQ2hlY2sgdGhlIHBhcmFtZXRlcnMgKi8KLSAgYXNzZXJ0X3BhcmFtKElTX1RJTUVTVEFNUF9FREdFKFRpbWVTdGFtcEVkZ2UpKTsKKyAgYXNzZXJ0X3BhcmFtKElTX1RJTUVTVEFNUF9FREdFKFJUQ19UaW1lU3RhbXBFZGdlKSk7CiAgIGFzc2VydF9wYXJhbShJU19SVENfVElNRVNUQU1QX1BJTihSVENfVGltZVN0YW1wUGluKSk7CiAKICAgLyogUHJvY2VzcyBMb2NrZWQgKi8KICAgX19IQUxfTE9DSyhocnRjKTsKIAorICAvKiBDaGFuZ2UgUlRDIHN0YXRlIHRvIEJVU1kgKi8KICAgaHJ0Yy0+U3RhdGUgPSBIQUxfUlRDX1NUQVRFX0JVU1k7CiAKLSAgLyogR2V0IHRoZSBSVENfQ1IgcmVnaXN0ZXIgYW5kIGNsZWFyIHRoZSBiaXRzIHRvIGJlIGNvbmZpZ3VyZWQgKi8KLSAgdG1wcmVnID0gKHVpbnQzMl90KShocnRjLT5JbnN0YW5jZS0+Q1IgJiAodWludDMyX3QpfihSVENfQ1JfVFNFREdFIHwgUlRDX0NSX1RTRSkpOwotCi0gIHRtcHJlZ3w9IFRpbWVTdGFtcEVkZ2U7Ci0KLSAgLyogRGlzYWJsZSB0aGUgd3JpdGUgcHJvdGVjdGlvbiBmb3IgUlRDIHJlZ2lzdGVycyAqLwotICBfX0hBTF9SVENfV1JJVEVQUk9URUNUSU9OX0RJU0FCTEUoaHJ0Yyk7Ci0KICAgaHJ0Yy0+SW5zdGFuY2UtPlRBRkNSICY9ICh1aW50MzJfdCl+UlRDX1RBRkNSX1RTSU5TRUw7CiAgIGhydGMtPkluc3RhbmNlLT5UQUZDUiB8PSAodWludDMyX3QpKFJUQ19UaW1lU3RhbXBQaW4pOwogCi0gIC8qIENvbmZpZ3VyZSB0aGUgVGltZSBTdGFtcCBUU0VER0UgYW5kIEVuYWJsZSBiaXRzICovCi0gIGhydGMtPkluc3RhbmNlLT5DUiA9ICh1aW50MzJfdCl0bXByZWc7Ci0KLSAgX19IQUxfUlRDX1RJTUVTVEFNUF9FTkFCTEUoaHJ0Yyk7Ci0KLSAgLyogRW5hYmxlIHRoZSB3cml0ZSBwcm90ZWN0aW9uIGZvciBSVEMgcmVnaXN0ZXJzICovCi0gIF9fSEFMX1JUQ19XUklURVBST1RFQ1RJT05fRU5BQkxFKGhydGMpOwotCi0gIC8qIENoYW5nZSBSVEMgc3RhdGUgKi8KLSAgaHJ0Yy0+U3RhdGUgPSBIQUxfUlRDX1NUQVRFX1JFQURZOwotCi0gIC8qIFByb2Nlc3MgVW5sb2NrZWQgKi8KLSAgX19IQUxfVU5MT0NLKGhydGMpOwotCi0gIHJldHVybiBIQUxfT0s7Ci19Ci0KLS8qKgotICAqIEBicmllZiAgU2V0cyBUaW1lU3RhbXAgd2l0aCBJbnRlcnJ1cHQuCi0gICogQHBhcmFtICBocnRjIHBvaW50ZXIgdG8gYSBSVENfSGFuZGxlVHlwZURlZiBzdHJ1Y3R1cmUgdGhhdCBjb250YWlucwotICAqICAgICAgICAgICAgICAgIHRoZSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIGZvciBSVEMuCi0gICogQG5vdGUgICBUaGlzIEFQSSBtdXN0IGJlIGNhbGxlZCBiZWZvcmUgZW5hYmxpbmcgdGhlIFRpbWVTdGFtcCBmZWF0dXJlLgotICAqIEBwYXJhbSAgVGltZVN0YW1wRWRnZSBTcGVjaWZpZXMgdGhlIHBpbiBlZGdlIG9uIHdoaWNoIHRoZSBUaW1lU3RhbXAgaXMKLSAgKiAgICAgICAgIGFjdGl2YXRlZC4KLSAgKiAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgb25lIG9mIHRoZSBmb2xsb3dpbmcgdmFsdWVzOgotICAqICAgICAgICAgICAgIEBhcmcgUlRDX1RJTUVTVEFNUEVER0VfUklTSU5HOiB0aGUgVGltZSBzdGFtcCBldmVudCBvY2N1cnMgb24gdGhlCi0gICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmlzaW5nIGVkZ2Ugb2YgdGhlIHJlbGF0ZWQgcGluLgotICAqICAgICAgICAgICAgIEBhcmcgUlRDX1RJTUVTVEFNUEVER0VfRkFMTElORzogdGhlIFRpbWUgc3RhbXAgZXZlbnQgb2NjdXJzIG9uIHRoZQotICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYWxsaW5nIGVkZ2Ugb2YgdGhlIHJlbGF0ZWQgcGluLgotICAqIEBwYXJhbSAgUlRDX1RpbWVTdGFtcFBpbiBTcGVjaWZpZXMgdGhlIFJUQyBUaW1lU3RhbXAgUGluLgotICAqICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBvbmUgb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXM6Ci0gICogICAgICAgICAgICAgQGFyZyBSVENfVElNRVNUQU1QUElOX0RFRkFVTFQ6IFBDMTMgaXMgc2VsZWN0ZWQgYXMgUlRDIFRpbWVTdGFtcCBQaW4uCi0gICogICAgICAgICAgICAgQGFyZyBSVENfVElNRVNUQU1QUElOX1BJODogUEk4IGlzIHNlbGVjdGVkIGFzIFJUQyBUaW1lU3RhbXAgUGluLiAobm90IGFwcGxpY2FibGUgaW4gdGhlIGNhc2Ugb2YgU1RNMzJGNDQ2eHgsIFNUTTMyRjQxMnh4LCBTVE0zMkY0MTN4eCBhbmQgU1RNMzJGNDIzeHggZGV2aWNlcykKLSAgKiAgICAgICAgICAgICBAYXJnIFJUQ19USU1FU1RBTVBQSU5fUEEwOiBQQTAgaXMgc2VsZWN0ZWQgYXMgUlRDIFRpbWVTdGFtcCBQaW4gb25seSBmb3IgU1RNMzJGNDQ2eHggZGV2aWNlcwotICAqIEByZXR2YWwgSEFMIHN0YXR1cwotICAqLwotSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1JUQ0V4X1NldFRpbWVTdGFtcF9JVChSVENfSGFuZGxlVHlwZURlZiAqaHJ0YywgdWludDMyX3QgVGltZVN0YW1wRWRnZSwgdWludDMyX3QgUlRDX1RpbWVTdGFtcFBpbikKLXsKLSAgdWludDMyX3QgdG1wcmVnID0gMFU7Ci0KLSAgLyogQ2hlY2sgdGhlIHBhcmFtZXRlcnMgKi8KLSAgYXNzZXJ0X3BhcmFtKElTX1RJTUVTVEFNUF9FREdFKFRpbWVTdGFtcEVkZ2UpKTsKLSAgYXNzZXJ0X3BhcmFtKElTX1JUQ19USU1FU1RBTVBfUElOKFJUQ19UaW1lU3RhbXBQaW4pKTsKLQotICAvKiBQcm9jZXNzIExvY2tlZCAqLwotICBfX0hBTF9MT0NLKGhydGMpOwotCi0gIGhydGMtPlN0YXRlID0gSEFMX1JUQ19TVEFURV9CVVNZOwotCiAgIC8qIEdldCB0aGUgUlRDX0NSIHJlZ2lzdGVyIGFuZCBjbGVhciB0aGUgYml0cyB0byBiZSBjb25maWd1cmVkICovCiAgIHRtcHJlZyA9ICh1aW50MzJfdCkoaHJ0Yy0+SW5zdGFuY2UtPkNSICYgKHVpbnQzMl90KX4oUlRDX0NSX1RTRURHRSB8IFJUQ19DUl9UU0UpKTsKIAotICB0bXByZWcgfD0gVGltZVN0YW1wRWRnZTsKKyAgLyogQ29uZmlndXJlIHRoZSBUaW1lc3RhbXAgVFNFREdFIGJpdCAqLworICB0bXByZWcgfD0gUlRDX1RpbWVTdGFtcEVkZ2U7CiAKICAgLyogRGlzYWJsZSB0aGUgd3JpdGUgcHJvdGVjdGlvbiBmb3IgUlRDIHJlZ2lzdGVycyAqLwogICBfX0hBTF9SVENfV1JJVEVQUk9URUNUSU9OX0RJU0FCTEUoaHJ0Yyk7CiAKLSAgLyogQ29uZmlndXJlIHRoZSBUaW1lIFN0YW1wIFRTRURHRSBhbmQgRW5hYmxlIGJpdHMgKi8KKyAgLyogQ29weSB0aGUgZGVzaXJlZCBjb25maWd1cmF0aW9uIGludG8gdGhlIENSIHJlZ2lzdGVyICovCiAgIGhydGMtPkluc3RhbmNlLT5DUiA9ICh1aW50MzJfdCl0bXByZWc7CiAKLSAgaHJ0Yy0+SW5zdGFuY2UtPlRBRkNSICY9ICh1aW50MzJfdCl+UlRDX1RBRkNSX1RTSU5TRUw7Ci0gIGhydGMtPkluc3RhbmNlLT5UQUZDUiB8PSAodWludDMyX3QpKFJUQ19UaW1lU3RhbXBQaW4pOwotCiAgIC8qIENsZWFyIFJUQyBUaW1lc3RhbXAgZmxhZyAqLwogICBfX0hBTF9SVENfVElNRVNUQU1QX0NMRUFSX0ZMQUcoaHJ0YywgUlRDX0ZMQUdfVFNGKTsKIAorICAvKiBDbGVhciBSVEMgVGltZXN0YW1wIG92ZXJydW4gRmxhZyAqLworICBfX0hBTF9SVENfVElNRVNUQU1QX0NMRUFSX0ZMQUcoaHJ0YywgUlRDX0ZMQUdfVFNPVkYpOworCisgIC8qIEVuYWJsZSB0aGUgVGltZXN0YW1wIHNhdmluZyAqLwogICBfX0hBTF9SVENfVElNRVNUQU1QX0VOQUJMRShocnRjKTsKIAotICAvKiBFbmFibGUgSVQgdGltZXN0YW1wICovCi0gIF9fSEFMX1JUQ19USU1FU1RBTVBfRU5BQkxFX0lUKGhydGMsUlRDX0lUX1RTKTsKLQotICAvKiBSVEMgdGltZXN0YW1wIEludGVycnVwdCBDb25maWd1cmF0aW9uOiBFWFRJIGNvbmZpZ3VyYXRpb24gKi8KLSAgX19IQUxfUlRDX1RBTVBFUl9USU1FU1RBTVBfRVhUSV9FTkFCTEVfSVQoKTsKLQotICBFWFRJLT5SVFNSIHw9IFJUQ19FWFRJX0xJTkVfVEFNUEVSX1RJTUVTVEFNUF9FVkVOVDsKLQogICAvKiBFbmFibGUgdGhlIHdyaXRlIHByb3RlY3Rpb24gZm9yIFJUQyByZWdpc3RlcnMgKi8KICAgX19IQUxfUlRDX1dSSVRFUFJPVEVDVElPTl9FTkFCTEUoaHJ0Yyk7CiAKKyAgLyogQ2hhbmdlIFJUQyBzdGF0ZSBiYWNrIHRvIFJFQURZICovCiAgIGhydGMtPlN0YXRlID0gSEFMX1JUQ19TVEFURV9SRUFEWTsKIAogICAvKiBQcm9jZXNzIFVubG9ja2VkICovCkBAIC0yNTAsNyArMjM0LDg2IEBACiB9CiAKIC8qKgotICAqIEBicmllZiAgRGVhY3RpdmF0ZXMgVGltZVN0YW1wLgorICAqIEBicmllZiAgU2V0cyBUaW1lc3RhbXAgd2l0aCBJbnRlcnJ1cHQuCisgICogQHBhcmFtICBocnRjIHBvaW50ZXIgdG8gYSBSVENfSGFuZGxlVHlwZURlZiBzdHJ1Y3R1cmUgdGhhdCBjb250YWlucworICAqICAgICAgICAgICAgICAgIHRoZSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIGZvciBSVEMuCisgICogQG5vdGUgICBUaGlzIEFQSSBtdXN0IGJlIGNhbGxlZCBiZWZvcmUgZW5hYmxpbmcgdGhlIFRpbWVzdGFtcCBmZWF0dXJlLgorICAqIEBwYXJhbSAgUlRDX1RpbWVTdGFtcEVkZ2UgU3BlY2lmaWVzIHRoZSBwaW4gZWRnZSBvbiB3aGljaCB0aGUgVGltZXN0YW1wIGlzCisgICogICAgICAgICBhY3RpdmF0ZWQuCisgICogICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIG9uZSBvZiB0aGUgZm9sbG93aW5nIHZhbHVlczoKKyAgKiAgICAgICAgICAgICBAYXJnIFJUQ19USU1FU1RBTVBFREdFX1JJU0lORzogdGhlIFRpbWVzdGFtcCBldmVudCBvY2N1cnMgb24KKyAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgcmlzaW5nIGVkZ2Ugb2YgdGhlIHJlbGF0ZWQgcGluLgorICAqICAgICAgICAgICAgIEBhcmcgUlRDX1RJTUVTVEFNUEVER0VfRkFMTElORzogdGhlIFRpbWVzdGFtcCBldmVudCBvY2N1cnMgb24KKyAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgZmFsbGluZyBlZGdlIG9mIHRoZSByZWxhdGVkIHBpbi4KKyAgKiBAcGFyYW0gIFJUQ19UaW1lU3RhbXBQaW4gU3BlY2lmaWVzIHRoZSBSVEMgVGltZXN0YW1wIFBpbi4KKyAgKiAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgb25lIG9mIHRoZSBmb2xsb3dpbmcgdmFsdWVzOgorICAqICAgICAgICAgICAgIEBhcmcgUlRDX1RJTUVTVEFNUFBJTl9ERUZBVUxUOiBQQzEzIGlzIHNlbGVjdGVkIGFzIFJUQyBUaW1lc3RhbXAgUGluLgorICAqICAgICAgICAgICAgIEBhcmcgUlRDX1RJTUVTVEFNUFBJTl9QT1MxOiBQSTggaXMgc2VsZWN0ZWQgYXMgUlRDIFRpbWVzdGFtcCBQaW4uCisgICogQG5vdGUgUlRDX1RJTUVTVEFNUFBJTl9QT1MxIGNvcnJlc3BvbmRzIHRvIHBpbiBQQTAgaW4gdGhlIGNhc2Ugb2YKKyAgKiAgICAgICBTVE0zMkY0NDZ4eCBkZXZpY2VzLgorICAqIEBub3RlIFJUQ19USU1FU1RBTVBQSU5fUE9TMSBpcyBub3QgYXBwbGljYWJsZSB0byB0aGUgZm9sbG93aW5nIGxpc3Qgb2YgZGV2aWNlczoKKyAgKiAgICAgICBTVE0zMkY0MTJ4eCwgU1RNMzJGNDEzeHggYW5kIFNUTTMyRjQyM3h4LgorICAqIEByZXR2YWwgSEFMIHN0YXR1cworICAqLworSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1JUQ0V4X1NldFRpbWVTdGFtcF9JVChSVENfSGFuZGxlVHlwZURlZiAqaHJ0YywgdWludDMyX3QgUlRDX1RpbWVTdGFtcEVkZ2UsIHVpbnQzMl90IFJUQ19UaW1lU3RhbXBQaW4pCit7CisgIHVpbnQzMl90IHRtcHJlZyA9IDBVOworCisgIC8qIENoZWNrIHRoZSBwYXJhbWV0ZXJzICovCisgIGFzc2VydF9wYXJhbShJU19USU1FU1RBTVBfRURHRShSVENfVGltZVN0YW1wRWRnZSkpOworICBhc3NlcnRfcGFyYW0oSVNfUlRDX1RJTUVTVEFNUF9QSU4oUlRDX1RpbWVTdGFtcFBpbikpOworCisgIC8qIFByb2Nlc3MgTG9ja2VkICovCisgIF9fSEFMX0xPQ0soaHJ0Yyk7CisKKyAgLyogQ2hhbmdlIFJUQyBzdGF0ZSB0byBCVVNZICovCisgIGhydGMtPlN0YXRlID0gSEFMX1JUQ19TVEFURV9CVVNZOworCisgIGhydGMtPkluc3RhbmNlLT5UQUZDUiAmPSAodWludDMyX3QpflJUQ19UQUZDUl9UU0lOU0VMOworICBocnRjLT5JbnN0YW5jZS0+VEFGQ1IgfD0gKHVpbnQzMl90KShSVENfVGltZVN0YW1wUGluKTsKKworICAvKiBHZXQgdGhlIFJUQ19DUiByZWdpc3RlciBhbmQgY2xlYXIgdGhlIGJpdHMgdG8gYmUgY29uZmlndXJlZCAqLworICB0bXByZWcgPSAodWludDMyX3QpKGhydGMtPkluc3RhbmNlLT5DUiAmICh1aW50MzJfdCl+KFJUQ19DUl9UU0VER0UgfCBSVENfQ1JfVFNFKSk7CisKKyAgLyogQ29uZmlndXJlIHRoZSBUaW1lc3RhbXAgVFNFREdFIGJpdCAqLworICB0bXByZWcgfD0gUlRDX1RpbWVTdGFtcEVkZ2U7CisKKyAgLyogRGlzYWJsZSB0aGUgd3JpdGUgcHJvdGVjdGlvbiBmb3IgUlRDIHJlZ2lzdGVycyAqLworICBfX0hBTF9SVENfV1JJVEVQUk9URUNUSU9OX0RJU0FCTEUoaHJ0Yyk7CisKKyAgLyogQ29weSB0aGUgZGVzaXJlZCBjb25maWd1cmF0aW9uIGludG8gdGhlIENSIHJlZ2lzdGVyICovCisgIGhydGMtPkluc3RhbmNlLT5DUiA9ICh1aW50MzJfdCl0bXByZWc7CisKKyAgLyogQ2xlYXIgUlRDIFRpbWVzdGFtcCBmbGFnICovCisgIF9fSEFMX1JUQ19USU1FU1RBTVBfQ0xFQVJfRkxBRyhocnRjLCBSVENfRkxBR19UU0YpOworCisgIC8qIENsZWFyIFJUQyBUaW1lc3RhbXAgb3ZlcnJ1biBGbGFnICovCisgIF9fSEFMX1JUQ19USU1FU1RBTVBfQ0xFQVJfRkxBRyhocnRjLCBSVENfRkxBR19UU09WRik7CisKKyAgLyogRW5hYmxlIHRoZSBUaW1lc3RhbXAgc2F2aW5nICovCisgIF9fSEFMX1JUQ19USU1FU1RBTVBfRU5BQkxFKGhydGMpOworCisgIC8qIEVuYWJsZSBJVCBUaW1lc3RhbXAgKi8KKyAgX19IQUxfUlRDX1RJTUVTVEFNUF9FTkFCTEVfSVQoaHJ0YywgUlRDX0lUX1RTKTsKKworICAvKiBFbmFibGUgdGhlIHdyaXRlIHByb3RlY3Rpb24gZm9yIFJUQyByZWdpc3RlcnMgKi8KKyAgX19IQUxfUlRDX1dSSVRFUFJPVEVDVElPTl9FTkFCTEUoaHJ0Yyk7CisKKyAgLyogUlRDIFRpbWVzdGFtcCBJbnRlcnJ1cHQgQ29uZmlndXJhdGlvbjogRVhUSSBjb25maWd1cmF0aW9uICovCisgIF9fSEFMX1JUQ19UQU1QRVJfVElNRVNUQU1QX0VYVElfRU5BQkxFX0lUKCk7CisgIF9fSEFMX1JUQ19UQU1QRVJfVElNRVNUQU1QX0VYVElfRU5BQkxFX1JJU0lOR19FREdFKCk7CisKKyAgLyogQ2hhbmdlIFJUQyBzdGF0ZSBiYWNrIHRvIFJFQURZICovCisgIGhydGMtPlN0YXRlID0gSEFMX1JUQ19TVEFURV9SRUFEWTsKKworICAvKiBQcm9jZXNzIFVubG9ja2VkICovCisgIF9fSEFMX1VOTE9DSyhocnRjKTsKKworICByZXR1cm4gSEFMX09LOworfQorCisvKioKKyAgKiBAYnJpZWYgIERlYWN0aXZhdGVzIFRpbWVzdGFtcC4KICAgKiBAcGFyYW0gIGhydGMgcG9pbnRlciB0byBhIFJUQ19IYW5kbGVUeXBlRGVmIHN0cnVjdHVyZSB0aGF0IGNvbnRhaW5zCiAgICogICAgICAgICAgICAgICAgdGhlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gZm9yIFJUQy4KICAgKiBAcmV0dmFsIEhBTCBzdGF0dXMKQEAgLTI3Myw3ICszMzYsNyBAQAogICAvKiBHZXQgdGhlIFJUQ19DUiByZWdpc3RlciBhbmQgY2xlYXIgdGhlIGJpdHMgdG8gYmUgY29uZmlndXJlZCAqLwogICB0bXByZWcgPSAodWludDMyX3QpKGhydGMtPkluc3RhbmNlLT5DUiAmICh1aW50MzJfdCl+KFJUQ19DUl9UU0VER0UgfCBSVENfQ1JfVFNFKSk7CiAKLSAgLyogQ29uZmlndXJlIHRoZSBUaW1lIFN0YW1wIFRTRURHRSBhbmQgRW5hYmxlIGJpdHMgKi8KKyAgLyogQ29uZmlndXJlIHRoZSBUaW1lc3RhbXAgVFNFREdFIGFuZCBFbmFibGUgYml0cyAqLwogICBocnRjLT5JbnN0YW5jZS0+Q1IgPSAodWludDMyX3QpdG1wcmVnOwogCiAgIC8qIEVuYWJsZSB0aGUgd3JpdGUgcHJvdGVjdGlvbiBmb3IgUlRDIHJlZ2lzdGVycyAqLwpAQCAtMjg4LDcwICszNTEsNzEgQEAKIH0KIAogLyoqCi0gICogQGJyaWVmICBHZXRzIHRoZSBSVEMgVGltZVN0YW1wIHZhbHVlLgorICAqIEBicmllZiAgR2V0cyB0aGUgUlRDIFRpbWVzdGFtcCB2YWx1ZS4KICAgKiBAcGFyYW0gIGhydGMgcG9pbnRlciB0byBhIFJUQ19IYW5kbGVUeXBlRGVmIHN0cnVjdHVyZSB0aGF0IGNvbnRhaW5zCiAgICogICAgICAgICAgICAgICAgdGhlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gZm9yIFJUQy4KICAgKiBAcGFyYW0gIHNUaW1lU3RhbXAgUG9pbnRlciB0byBUaW1lIHN0cnVjdHVyZQogICAqIEBwYXJhbSAgc1RpbWVTdGFtcERhdGUgUG9pbnRlciB0byBEYXRlIHN0cnVjdHVyZQogICAqIEBwYXJhbSAgRm9ybWF0IHNwZWNpZmllcyB0aGUgZm9ybWF0IG9mIHRoZSBlbnRlcmVkIHBhcmFtZXRlcnMuCiAgICogICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIG9uZSBvZiB0aGUgZm9sbG93aW5nIHZhbHVlczoKLSAgKiAgICAgICAgICAgICBSVENfRk9STUFUX0JJTjogQmluYXJ5IGRhdGEgZm9ybWF0Ci0gICogICAgICAgICAgICAgUlRDX0ZPUk1BVF9CQ0Q6IEJDRCBkYXRhIGZvcm1hdAorICAqICAgICAgICAgICAgIEBhcmcgUlRDX0ZPUk1BVF9CSU46IEJpbmFyeSBkYXRhIGZvcm1hdAorICAqICAgICAgICAgICAgIEBhcmcgUlRDX0ZPUk1BVF9CQ0Q6IEJDRCBkYXRhIGZvcm1hdAogICAqIEByZXR2YWwgSEFMIHN0YXR1cwogICAqLwotSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1JUQ0V4X0dldFRpbWVTdGFtcChSVENfSGFuZGxlVHlwZURlZiAqaHJ0YywgUlRDX1RpbWVUeXBlRGVmKiBzVGltZVN0YW1wLCBSVENfRGF0ZVR5cGVEZWYqIHNUaW1lU3RhbXBEYXRlLCB1aW50MzJfdCBGb3JtYXQpCitIQUxfU3RhdHVzVHlwZURlZiBIQUxfUlRDRXhfR2V0VGltZVN0YW1wKFJUQ19IYW5kbGVUeXBlRGVmICpocnRjLCBSVENfVGltZVR5cGVEZWYgKnNUaW1lU3RhbXAsIFJUQ19EYXRlVHlwZURlZiAqc1RpbWVTdGFtcERhdGUsIHVpbnQzMl90IEZvcm1hdCkKIHsKLSAgdWludDMyX3QgdG1wdGltZSA9IDBVLCB0bXBkYXRlID0gMFU7CisgIHVpbnQzMl90IHRtcHRpbWUgPSAwVTsKKyAgdWludDMyX3QgdG1wZGF0ZSA9IDBVOwogCiAgIC8qIENoZWNrIHRoZSBwYXJhbWV0ZXJzICovCiAgIGFzc2VydF9wYXJhbShJU19SVENfRk9STUFUKEZvcm1hdCkpOwogCi0gIC8qIEdldCB0aGUgVGltZVN0YW1wIHRpbWUgYW5kIGRhdGUgcmVnaXN0ZXJzIHZhbHVlcyAqLworICAvKiBHZXQgdGhlIFRpbWVzdGFtcCB0aW1lIGFuZCBkYXRlIHJlZ2lzdGVycyB2YWx1ZXMgKi8KICAgdG1wdGltZSA9ICh1aW50MzJfdCkoaHJ0Yy0+SW5zdGFuY2UtPlRTVFIgJiBSVENfVFJfUkVTRVJWRURfTUFTSyk7CiAgIHRtcGRhdGUgPSAodWludDMyX3QpKGhydGMtPkluc3RhbmNlLT5UU0RSICYgUlRDX0RSX1JFU0VSVkVEX01BU0spOwogCiAgIC8qIEZpbGwgdGhlIFRpbWUgc3RydWN0dXJlIGZpZWxkcyB3aXRoIHRoZSByZWFkIHBhcmFtZXRlcnMgKi8KLSAgc1RpbWVTdGFtcC0+SG91cnMgPSAodWludDhfdCkoKHRtcHRpbWUgJiAoUlRDX1RSX0hUIHwgUlRDX1RSX0hVKSkgPj4gMTZVKTsKLSAgc1RpbWVTdGFtcC0+TWludXRlcyA9ICh1aW50OF90KSgodG1wdGltZSAmIChSVENfVFJfTU5UIHwgUlRDX1RSX01OVSkpID4+IDhVKTsKLSAgc1RpbWVTdGFtcC0+U2Vjb25kcyA9ICh1aW50OF90KSh0bXB0aW1lICYgKFJUQ19UUl9TVCB8IFJUQ19UUl9TVSkpOwotICBzVGltZVN0YW1wLT5UaW1lRm9ybWF0ID0gKHVpbnQ4X3QpKCh0bXB0aW1lICYgKFJUQ19UUl9QTSkpID4+IDE2VSk7CisgIHNUaW1lU3RhbXAtPkhvdXJzICAgICAgPSAodWludDhfdCkoKHRtcHRpbWUgJiAoUlRDX1RTVFJfSFQgIHwgUlRDX1RTVFJfSFUpKSAgPj4gUlRDX1RTVFJfSFVfUG9zKTsKKyAgc1RpbWVTdGFtcC0+TWludXRlcyAgICA9ICh1aW50OF90KSgodG1wdGltZSAmIChSVENfVFNUUl9NTlQgfCBSVENfVFNUUl9NTlUpKSA+PiBSVENfVFNUUl9NTlVfUG9zKTsKKyAgc1RpbWVTdGFtcC0+U2Vjb25kcyAgICA9ICh1aW50OF90KSgodG1wdGltZSAmIChSVENfVFNUUl9TVCAgfCBSVENfVFNUUl9TVSkpICA+PiBSVENfVFNUUl9TVV9Qb3MpOworICBzVGltZVN0YW1wLT5UaW1lRm9ybWF0ID0gKHVpbnQ4X3QpKCh0bXB0aW1lICYgKFJUQ19UU1RSX1BNKSkgICAgICAgICAgICAgICAgID4+IFJUQ19UU1RSX1BNX1Bvcyk7CiAgIHNUaW1lU3RhbXAtPlN1YlNlY29uZHMgPSAodWludDMyX3QpIGhydGMtPkluc3RhbmNlLT5UU1NTUjsKIAogICAvKiBGaWxsIHRoZSBEYXRlIHN0cnVjdHVyZSBmaWVsZHMgd2l0aCB0aGUgcmVhZCBwYXJhbWV0ZXJzICovCi0gIHNUaW1lU3RhbXBEYXRlLT5ZZWFyID0gMFU7Ci0gIHNUaW1lU3RhbXBEYXRlLT5Nb250aCA9ICh1aW50OF90KSgodG1wZGF0ZSAmIChSVENfRFJfTVQgfCBSVENfRFJfTVUpKSA+PiA4VSk7Ci0gIHNUaW1lU3RhbXBEYXRlLT5EYXRlID0gKHVpbnQ4X3QpKHRtcGRhdGUgJiAoUlRDX0RSX0RUIHwgUlRDX0RSX0RVKSk7Ci0gIHNUaW1lU3RhbXBEYXRlLT5XZWVrRGF5ID0gKHVpbnQ4X3QpKCh0bXBkYXRlICYgKFJUQ19EUl9XRFUpKSA+PiAxM1UpOworICBzVGltZVN0YW1wRGF0ZS0+WWVhciAgICA9IDBVOworICBzVGltZVN0YW1wRGF0ZS0+TW9udGggICA9ICh1aW50OF90KSgodG1wZGF0ZSAmIChSVENfVFNEUl9NVCB8IFJUQ19UU0RSX01VKSkgPj4gUlRDX1RTRFJfTVVfUG9zKTsKKyAgc1RpbWVTdGFtcERhdGUtPkRhdGUgICAgPSAodWludDhfdCkoKHRtcGRhdGUgJiAoUlRDX1RTRFJfRFQgfCBSVENfVFNEUl9EVSkpID4+IFJUQ19UU0RSX0RVX1Bvcyk7CisgIHNUaW1lU3RhbXBEYXRlLT5XZWVrRGF5ID0gKHVpbnQ4X3QpKCh0bXBkYXRlICYgKFJUQ19UU0RSX1dEVSkpICAgICAgICAgICAgICA+PiBSVENfVFNEUl9XRFVfUG9zKTsKIAogICAvKiBDaGVjayB0aGUgaW5wdXQgcGFyYW1ldGVycyBmb3JtYXQgKi8KLSAgaWYoRm9ybWF0ID09IFJUQ19GT1JNQVRfQklOKQorICBpZiAoRm9ybWF0ID09IFJUQ19GT1JNQVRfQklOKQogICB7Ci0gICAgLyogQ29udmVydCB0aGUgVGltZVN0YW1wIHN0cnVjdHVyZSBwYXJhbWV0ZXJzIHRvIEJpbmFyeSBmb3JtYXQgKi8KLSAgICBzVGltZVN0YW1wLT5Ib3VycyA9ICh1aW50OF90KVJUQ19CY2QyVG9CeXRlKHNUaW1lU3RhbXAtPkhvdXJzKTsKKyAgICAvKiBDb252ZXJ0IHRoZSBUaW1lc3RhbXAgc3RydWN0dXJlIHBhcmFtZXRlcnMgdG8gQmluYXJ5IGZvcm1hdCAqLworICAgIHNUaW1lU3RhbXAtPkhvdXJzICAgPSAodWludDhfdClSVENfQmNkMlRvQnl0ZShzVGltZVN0YW1wLT5Ib3Vycyk7CiAgICAgc1RpbWVTdGFtcC0+TWludXRlcyA9ICh1aW50OF90KVJUQ19CY2QyVG9CeXRlKHNUaW1lU3RhbXAtPk1pbnV0ZXMpOwogICAgIHNUaW1lU3RhbXAtPlNlY29uZHMgPSAodWludDhfdClSVENfQmNkMlRvQnl0ZShzVGltZVN0YW1wLT5TZWNvbmRzKTsKIAogICAgIC8qIENvbnZlcnQgdGhlIERhdGVUaW1lU3RhbXAgc3RydWN0dXJlIHBhcmFtZXRlcnMgdG8gQmluYXJ5IGZvcm1hdCAqLwotICAgIHNUaW1lU3RhbXBEYXRlLT5Nb250aCA9ICh1aW50OF90KVJUQ19CY2QyVG9CeXRlKHNUaW1lU3RhbXBEYXRlLT5Nb250aCk7Ci0gICAgc1RpbWVTdGFtcERhdGUtPkRhdGUgPSAodWludDhfdClSVENfQmNkMlRvQnl0ZShzVGltZVN0YW1wRGF0ZS0+RGF0ZSk7CisgICAgc1RpbWVTdGFtcERhdGUtPk1vbnRoICAgPSAodWludDhfdClSVENfQmNkMlRvQnl0ZShzVGltZVN0YW1wRGF0ZS0+TW9udGgpOworICAgIHNUaW1lU3RhbXBEYXRlLT5EYXRlICAgID0gKHVpbnQ4X3QpUlRDX0JjZDJUb0J5dGUoc1RpbWVTdGFtcERhdGUtPkRhdGUpOwogICAgIHNUaW1lU3RhbXBEYXRlLT5XZWVrRGF5ID0gKHVpbnQ4X3QpUlRDX0JjZDJUb0J5dGUoc1RpbWVTdGFtcERhdGUtPldlZWtEYXkpOwogICB9CiAKLSAgLyogQ2xlYXIgdGhlIFRJTUVTVEFNUCBGbGFnICovCisgIC8qIENsZWFyIHRoZSBUaW1lc3RhbXAgRmxhZyAqLwogICBfX0hBTF9SVENfVElNRVNUQU1QX0NMRUFSX0ZMQUcoaHJ0YywgUlRDX0ZMQUdfVFNGKTsKIAogICByZXR1cm4gSEFMX09LOwogfQogCiAvKioKLSAgKiBAYnJpZWYgIFNldHMgVGFtcGVyCi0gICogQG5vdGUgICBCeSBjYWxsaW5nIHRoaXMgQVBJIHdlIGRpc2FibGUgdGhlIHRhbXBlciBpbnRlcnJ1cHQgZm9yIGFsbCB0YW1wZXJzLgorICAqIEBicmllZiAgU2V0cyBUYW1wZXIuCisgICogQG5vdGUgICBCeSBjYWxsaW5nIHRoaXMgQVBJIHRoZSB0YW1wZXIgZ2xvYmFsIGludGVycnVwdCB3aWxsIGJlIGRpc2FibGVkLgogICAqIEBwYXJhbSAgaHJ0YyBwb2ludGVyIHRvIGEgUlRDX0hhbmRsZVR5cGVEZWYgc3RydWN0dXJlIHRoYXQgY29udGFpbnMKICAgKiAgICAgICAgICAgICAgICB0aGUgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbiBmb3IgUlRDLgogICAqIEBwYXJhbSAgc1RhbXBlciBQb2ludGVyIHRvIFRhbXBlciBTdHJ1Y3R1cmUuCiAgICogQHJldHZhbCBIQUwgc3RhdHVzCiAgICovCi1IQUxfU3RhdHVzVHlwZURlZiBIQUxfUlRDRXhfU2V0VGFtcGVyKFJUQ19IYW5kbGVUeXBlRGVmICpocnRjLCBSVENfVGFtcGVyVHlwZURlZiogc1RhbXBlcikKK0hBTF9TdGF0dXNUeXBlRGVmIEhBTF9SVENFeF9TZXRUYW1wZXIoUlRDX0hhbmRsZVR5cGVEZWYgKmhydGMsIFJUQ19UYW1wZXJUeXBlRGVmICpzVGFtcGVyKQogewogICB1aW50MzJfdCB0bXByZWcgPSAwVTsKIApAQCAtMzYwLDYgKzQyNCw3IEBACiAgIGFzc2VydF9wYXJhbShJU19SVENfVEFNUEVSX1BJTihzVGFtcGVyLT5QaW5TZWxlY3Rpb24pKTsKICAgYXNzZXJ0X3BhcmFtKElTX1JUQ19UQU1QRVJfVFJJR0dFUihzVGFtcGVyLT5UcmlnZ2VyKSk7CiAgIGFzc2VydF9wYXJhbShJU19SVENfVEFNUEVSX0ZJTFRFUihzVGFtcGVyLT5GaWx0ZXIpKTsKKyAgYXNzZXJ0X3BhcmFtKElTX1JUQ19UQU1QRVJfRklMVEVSX0NPTkZJR19DT1JSRUNUKHNUYW1wZXItPkZpbHRlciwgc1RhbXBlci0+VHJpZ2dlcikpOwogICBhc3NlcnRfcGFyYW0oSVNfUlRDX1RBTVBFUl9TQU1QTElOR19GUkVRKHNUYW1wZXItPlNhbXBsaW5nRnJlcXVlbmN5KSk7CiAgIGFzc2VydF9wYXJhbShJU19SVENfVEFNUEVSX1BSRUNIQVJHRV9EVVJBVElPTihzVGFtcGVyLT5QcmVjaGFyZ2VEdXJhdGlvbikpOwogICBhc3NlcnRfcGFyYW0oSVNfUlRDX1RBTVBFUl9QVUxMVVBfU1RBVEUoc1RhbXBlci0+VGFtcGVyUHVsbFVwKSk7CkBAIC0zNzAsMjAgKzQzNSw0NiBAQAogCiAgIGhydGMtPlN0YXRlID0gSEFMX1JUQ19TVEFURV9CVVNZOwogCi0gIGlmKHNUYW1wZXItPlRyaWdnZXIgIT0gUlRDX1RBTVBFUlRSSUdHRVJfUklTSU5HRURHRSkKKyAgLyogQ29weSBjb250cm9sIHJlZ2lzdGVyIGludG8gdGVtcG9yYXJ5IHZhcmlhYmxlICovCisgIHRtcHJlZyA9IGhydGMtPkluc3RhbmNlLT5UQUZDUjsKKworICAvKiBFbmFibGUgc2VsZWN0ZWQgdGFtcGVyICovCisgIHRtcHJlZyB8PSAoc1RhbXBlci0+VGFtcGVyKTsKKworICAvKiBDb25maWd1cmUgdGhlIHRhbXBlciB0cmlnZ2VyIGJpdCAodGhpcyBiaXQgaXMganVzdCBvbiB0aGUgcmlnaHQgb2YgdGhlCisgICAgICAgdGFtcGVyIGVuYWJsZSBiaXQsIGhlbmNlIHRoZSBvbmUtdGltZSByaWdodCBzaGlmdCBiZWZvcmUgdXBkYXRpbmcgaXQpICovCisgIGlmIChzVGFtcGVyLT5UcmlnZ2VyID09IFJUQ19UQU1QRVJUUklHR0VSX0ZBTExJTkdFREdFKQogICB7Ci0gICAgc1RhbXBlci0+VHJpZ2dlciA9ICh1aW50MzJfdCkoc1RhbXBlci0+VGFtcGVyIDw8IDFVKTsKKyAgICAvKiBTZXQgdGhlIHRhbXBlciB0cmlnZ2VyIGJpdCAoY2FzZSBvZiBmYWxsaW5nIGVkZ2Ugb3IgaGlnaCBsZXZlbCkgKi8KKyAgICB0bXByZWcgfD0gKHVpbnQzMl90KShzVGFtcGVyLT5UYW1wZXIgPDwgMVUpOworICB9CisgIGVsc2UKKyAgeworICAgIC8qIENsZWFyIHRoZSB0YW1wZXIgdHJpZ2dlciBiaXQgKGNhc2Ugb2YgcmlzaW5nIGVkZ2Ugb3IgbG93IGxldmVsKSAqLworICAgIHRtcHJlZyAmPSAodWludDMyX3QpfihzVGFtcGVyLT5UYW1wZXIgPDwgMVUpOwogICB9CiAKLSAgdG1wcmVnID0gKCh1aW50MzJfdClzVGFtcGVyLT5UYW1wZXIgfCAodWludDMyX3Qpc1RhbXBlci0+UGluU2VsZWN0aW9uIHwgKHVpbnQzMl90KXNUYW1wZXItPlRyaWdnZXIgIHxcCi0gICAgICAgICAgICAodWludDMyX3Qpc1RhbXBlci0+RmlsdGVyIHwgKHVpbnQzMl90KXNUYW1wZXItPlNhbXBsaW5nRnJlcXVlbmN5IHwgKHVpbnQzMl90KXNUYW1wZXItPlByZWNoYXJnZUR1cmF0aW9uIHxcCi0gICAgICAgICAgICAodWludDMyX3Qpc1RhbXBlci0+VGFtcGVyUHVsbFVwIHwgc1RhbXBlci0+VGltZVN0YW1wT25UYW1wZXJEZXRlY3Rpb24pOworICAvKiBDbGVhciByZW1haW5pbmcgZmllbGRzIGJlZm9yZSBzZXR0aW5nIHRoZW0gKi8KKyAgdG1wcmVnICY9IH4oUlRDX1RBTVBFUkZJTFRFUl9NQVNLICAgICAgICAgICAgICB8IFwKKyAgICAgICAgICAgICAgUlRDX1RBTVBFUlNBTVBMSU5HRlJFUV9SVENDTEtfTUFTSyB8IFwKKyAgICAgICAgICAgICAgUlRDX1RBTVBFUlBSRUNIQVJHRURVUkFUSU9OX01BU0sgICB8IFwKKyAgICAgICAgICAgICAgUlRDX1RBTVBFUl9QVUxMVVBfTUFTSyAgICAgICAgICAgICB8IFwKKyAgICAgICAgICAgICAgUlRDX1RBRkNSX1RBTVAxSU5TRUwgICAgICAgICAgICAgICB8IFwKKyAgICAgICAgICAgICAgUlRDX1RJTUVTVEFNUE9OVEFNUEVSREVURUNUSU9OX01BU0spOwogCi0gIGhydGMtPkluc3RhbmNlLT5UQUZDUiAmPSAodWludDMyX3QpfigodWludDMyX3Qpc1RhbXBlci0+VGFtcGVyIHwgKHVpbnQzMl90KShzVGFtcGVyLT5UYW1wZXIgPDwgMVUpIHwgKHVpbnQzMl90KVJUQ19UQUZDUl9UQU1QVFMgfFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh1aW50MzJfdClSVENfVEFGQ1JfVEFNUEZSRVEgfCAodWludDMyX3QpUlRDX1RBRkNSX1RBTVBGTFQgfCAodWludDMyX3QpUlRDX1RBRkNSX1RBTVBQUkNIIHxcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodWludDMyX3QpUlRDX1RBRkNSX1RBTVBQVURJUyB8ICh1aW50MzJfdClSVENfVEFGQ1JfVEFNUElOU0VMIHwgKHVpbnQzMl90KVJUQ19UQUZDUl9UQU1QSUUpOworICAvKiBTZXQgcmVtYWluaW5nIHBhcmFtZXRlcnMgb2YgZGVzaXJlZCBjb25maWd1cmF0aW9uIGludG8gdGVtcG9yYXJ5IHZhcmlhYmxlICovCisgIHRtcHJlZyB8PSAoKHVpbnQzMl90KXNUYW1wZXItPkZpbHRlciAgICAgICAgICAgIHwgXAorICAgICAgICAgICAgICh1aW50MzJfdClzVGFtcGVyLT5TYW1wbGluZ0ZyZXF1ZW5jeSB8IFwKKyAgICAgICAgICAgICAodWludDMyX3Qpc1RhbXBlci0+UHJlY2hhcmdlRHVyYXRpb24gfCBcCisgICAgICAgICAgICAgKHVpbnQzMl90KXNUYW1wZXItPlRhbXBlclB1bGxVcCAgICAgIHwgXAorICAgICAgICAgICAgICh1aW50MzJfdClzVGFtcGVyLT5QaW5TZWxlY3Rpb24gICAgICB8IFwKKyAgICAgICAgICAgICAodWludDMyX3Qpc1RhbXBlci0+VGltZVN0YW1wT25UYW1wZXJEZXRlY3Rpb24pOwogCi0gIGhydGMtPkluc3RhbmNlLT5UQUZDUiB8PSB0bXByZWc7CisgIC8qIERpc2FibGUgdGFtcGVyIGdsb2JhbCBpbnRlcnJ1cHQgaW4gY2FzZSBpdCBpcyBlbmFibGVkICovCisgIHRtcHJlZyAmPSAodWludDMyX3QpflJUQ19UQUZDUl9UQU1QSUU7CisKKyAgLyogQ29weSBkZXNpcmVkIGNvbmZpZ3VyYXRpb24gaW50byBjb25maWd1cmF0aW9uIHJlZ2lzdGVyICovCisgIGhydGMtPkluc3RhbmNlLT5UQUZDUiA9IHRtcHJlZzsKIAogICBocnRjLT5TdGF0ZSA9IEhBTF9SVENfU1RBVEVfUkVBRFk7CiAKQEAgLTM5NSwxMyArNDg2LDEzIEBACiAKIC8qKgogICAqIEBicmllZiAgU2V0cyBUYW1wZXIgd2l0aCBpbnRlcnJ1cHQuCi0gICogQG5vdGUgICBCeSBjYWxsaW5nIHRoaXMgQVBJIHdlIGZvcmNlIHRoZSB0YW1wZXIgaW50ZXJydXB0IGZvciBhbGwgdGFtcGVycy4KKyAgKiBAbm90ZSAgIEJ5IGNhbGxpbmcgdGhpcyBBUEkgdGhlIHRhbXBlciBnbG9iYWwgaW50ZXJydXB0IHdpbGwgYmUgZW5hYmxlZC4KICAgKiBAcGFyYW0gIGhydGMgcG9pbnRlciB0byBhIFJUQ19IYW5kbGVUeXBlRGVmIHN0cnVjdHVyZSB0aGF0IGNvbnRhaW5zCiAgICogICAgICAgICAgICAgICAgdGhlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gZm9yIFJUQy4KICAgKiBAcGFyYW0gIHNUYW1wZXIgUG9pbnRlciB0byBSVEMgVGFtcGVyLgogICAqIEByZXR2YWwgSEFMIHN0YXR1cwogICAqLwotSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1JUQ0V4X1NldFRhbXBlcl9JVChSVENfSGFuZGxlVHlwZURlZiAqaHJ0YywgUlRDX1RhbXBlclR5cGVEZWYqIHNUYW1wZXIpCitIQUxfU3RhdHVzVHlwZURlZiBIQUxfUlRDRXhfU2V0VGFtcGVyX0lUKFJUQ19IYW5kbGVUeXBlRGVmICpocnRjLCBSVENfVGFtcGVyVHlwZURlZiAqc1RhbXBlcikKIHsKICAgdWludDMyX3QgdG1wcmVnID0gMFU7CiAKQEAgLTQxMCw2ICs1MDEsNyBAQAogICBhc3NlcnRfcGFyYW0oSVNfUlRDX1RBTVBFUl9QSU4oc1RhbXBlci0+UGluU2VsZWN0aW9uKSk7CiAgIGFzc2VydF9wYXJhbShJU19SVENfVEFNUEVSX1RSSUdHRVIoc1RhbXBlci0+VHJpZ2dlcikpOwogICBhc3NlcnRfcGFyYW0oSVNfUlRDX1RBTVBFUl9GSUxURVIoc1RhbXBlci0+RmlsdGVyKSk7CisgIGFzc2VydF9wYXJhbShJU19SVENfVEFNUEVSX0ZJTFRFUl9DT05GSUdfQ09SUkVDVChzVGFtcGVyLT5GaWx0ZXIsIHNUYW1wZXItPlRyaWdnZXIpKTsKICAgYXNzZXJ0X3BhcmFtKElTX1JUQ19UQU1QRVJfU0FNUExJTkdfRlJFUShzVGFtcGVyLT5TYW1wbGluZ0ZyZXF1ZW5jeSkpOwogICBhc3NlcnRfcGFyYW0oSVNfUlRDX1RBTVBFUl9QUkVDSEFSR0VfRFVSQVRJT04oc1RhbXBlci0+UHJlY2hhcmdlRHVyYXRpb24pKTsKICAgYXNzZXJ0X3BhcmFtKElTX1JUQ19UQU1QRVJfUFVMTFVQX1NUQVRFKHNUYW1wZXItPlRhbXBlclB1bGxVcCkpOwpAQCAtNDIwLDQwICs1MTIsNTAgQEAKIAogICBocnRjLT5TdGF0ZSA9IEhBTF9SVENfU1RBVEVfQlVTWTsKIAotICAvKiBDb25maWd1cmUgdGhlIHRhbXBlciB0cmlnZ2VyICovCi0gIGlmKHNUYW1wZXItPlRyaWdnZXIgIT0gUlRDX1RBTVBFUlRSSUdHRVJfUklTSU5HRURHRSkKKyAgLyogQ29weSBjb250cm9sIHJlZ2lzdGVyIGludG8gdGVtcG9yYXJ5IHZhcmlhYmxlICovCisgIHRtcHJlZyA9IGhydGMtPkluc3RhbmNlLT5UQUZDUjsKKworICAvKiBFbmFibGUgc2VsZWN0ZWQgdGFtcGVyICovCisgIHRtcHJlZyB8PSAoc1RhbXBlci0+VGFtcGVyKTsKKworICAvKiBDb25maWd1cmUgdGhlIHRhbXBlciB0cmlnZ2VyIGJpdCAodGhpcyBiaXQgaXMganVzdCBvbiB0aGUgcmlnaHQgb2YgdGhlCisgICAgICAgdGFtcGVyIGVuYWJsZSBiaXQsIGhlbmNlIHRoZSBvbmUtdGltZSByaWdodCBzaGlmdCBiZWZvcmUgdXBkYXRpbmcgaXQpICovCisgIGlmIChzVGFtcGVyLT5UcmlnZ2VyID09IFJUQ19UQU1QRVJUUklHR0VSX0ZBTExJTkdFREdFKQogICB7Ci0gICAgc1RhbXBlci0+VHJpZ2dlciA9ICh1aW50MzJfdCkoc1RhbXBlci0+VGFtcGVyIDw8IDFVKTsKLSAgfQotCi0gIHRtcHJlZyA9ICgodWludDMyX3Qpc1RhbXBlci0+VGFtcGVyIHwgKHVpbnQzMl90KXNUYW1wZXItPlBpblNlbGVjdGlvbiB8ICh1aW50MzJfdClzVGFtcGVyLT5UcmlnZ2VyICB8XAotICAgICAgICAgICAgKHVpbnQzMl90KXNUYW1wZXItPkZpbHRlciB8ICh1aW50MzJfdClzVGFtcGVyLT5TYW1wbGluZ0ZyZXF1ZW5jeSB8ICh1aW50MzJfdClzVGFtcGVyLT5QcmVjaGFyZ2VEdXJhdGlvbiB8XAotICAgICAgICAgICAgKHVpbnQzMl90KXNUYW1wZXItPlRhbXBlclB1bGxVcCB8IHNUYW1wZXItPlRpbWVTdGFtcE9uVGFtcGVyRGV0ZWN0aW9uKTsKLQotICBocnRjLT5JbnN0YW5jZS0+VEFGQ1IgJj0gKHVpbnQzMl90KX4oKHVpbnQzMl90KXNUYW1wZXItPlRhbXBlciB8ICh1aW50MzJfdCkoc1RhbXBlci0+VGFtcGVyIDw8IDFVKSB8ICh1aW50MzJfdClSVENfVEFGQ1JfVEFNUFRTIHxcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodWludDMyX3QpUlRDX1RBRkNSX1RBTVBGUkVRIHwgKHVpbnQzMl90KVJUQ19UQUZDUl9UQU1QRkxUIHwgKHVpbnQzMl90KVJUQ19UQUZDUl9UQU1QUFJDSCB8XAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHVpbnQzMl90KVJUQ19UQUZDUl9UQU1QUFVESVMgfCAodWludDMyX3QpUlRDX1RBRkNSX1RBTVBJTlNFTCk7Ci0KLSAgaHJ0Yy0+SW5zdGFuY2UtPlRBRkNSIHw9IHRtcHJlZzsKLQotICAvKiBDb25maWd1cmUgdGhlIFRhbXBlciBJbnRlcnJ1cHQgaW4gdGhlIFJUQ19UQUZDUiAqLwotICBocnRjLT5JbnN0YW5jZS0+VEFGQ1IgfD0gKHVpbnQzMl90KVJUQ19UQUZDUl9UQU1QSUU7Ci0KLSAgaWYoc1RhbXBlci0+VGFtcGVyID09IFJUQ19UQU1QRVJfMSkKLSAgewotICAgIC8qIENsZWFyIFJUQyBUYW1wZXIgMSBmbGFnICovCi0gICAgX19IQUxfUlRDX1RBTVBFUl9DTEVBUl9GTEFHKGhydGMsIFJUQ19GTEFHX1RBTVAxRik7CisgICAgLyogU2V0IHRoZSB0YW1wZXIgdHJpZ2dlciBiaXQgKGNhc2Ugb2YgZmFsbGluZyBlZGdlIG9yIGhpZ2ggbGV2ZWwpICovCisgICAgdG1wcmVnIHw9ICh1aW50MzJfdCkoc1RhbXBlci0+VGFtcGVyIDw8IDFVKTsKICAgfQogICBlbHNlCiAgIHsKLSAgICAvKiBDbGVhciBSVEMgVGFtcGVyIDIgZmxhZyAqLwotICAgIF9fSEFMX1JUQ19UQU1QRVJfQ0xFQVJfRkxBRyhocnRjLCBSVENfRkxBR19UQU1QMkYpOworICAgIC8qIENsZWFyIHRoZSB0YW1wZXIgdHJpZ2dlciBiaXQgKGNhc2Ugb2YgcmlzaW5nIGVkZ2Ugb3IgbG93IGxldmVsKSAqLworICAgIHRtcHJlZyAmPSAodWludDMyX3QpfihzVGFtcGVyLT5UYW1wZXIgPDwgMVUpOwogICB9CiAKKyAgLyogQ2xlYXIgcmVtYWluaW5nIGZpZWxkcyBiZWZvcmUgc2V0dGluZyB0aGVtICovCisgIHRtcHJlZyAmPSB+KFJUQ19UQU1QRVJGSUxURVJfTUFTSyAgICAgICAgICAgICAgfCBcCisgICAgICAgICAgICAgIFJUQ19UQU1QRVJTQU1QTElOR0ZSRVFfUlRDQ0xLX01BU0sgfCBcCisgICAgICAgICAgICAgIFJUQ19UQU1QRVJQUkVDSEFSR0VEVVJBVElPTl9NQVNLICAgfCBcCisgICAgICAgICAgICAgIFJUQ19UQU1QRVJfUFVMTFVQX01BU0sgICAgICAgICAgICAgfCBcCisgICAgICAgICAgICAgIFJUQ19UQUZDUl9UQU1QMUlOU0VMICAgICAgICAgICAgICAgfCBcCisgICAgICAgICAgICAgIFJUQ19USU1FU1RBTVBPTlRBTVBFUkRFVEVDVElPTl9NQVNLKTsKKworICAvKiBTZXQgcmVtYWluaW5nIHBhcmFtZXRlcnMgb2YgZGVzaXJlZCBjb25maWd1cmF0aW9uIGludG8gdGVtcG9yYXJ5IHZhcmlhYmxlICovCisgIHRtcHJlZyB8PSAoKHVpbnQzMl90KXNUYW1wZXItPkZpbHRlciAgICAgICAgICAgIHwgXAorICAgICAgICAgICAgICh1aW50MzJfdClzVGFtcGVyLT5TYW1wbGluZ0ZyZXF1ZW5jeSB8IFwKKyAgICAgICAgICAgICAodWludDMyX3Qpc1RhbXBlci0+UHJlY2hhcmdlRHVyYXRpb24gfCBcCisgICAgICAgICAgICAgKHVpbnQzMl90KXNUYW1wZXItPlRhbXBlclB1bGxVcCAgICAgIHwgXAorICAgICAgICAgICAgICh1aW50MzJfdClzVGFtcGVyLT5QaW5TZWxlY3Rpb24gICAgICB8IFwKKyAgICAgICAgICAgICAodWludDMyX3Qpc1RhbXBlci0+VGltZVN0YW1wT25UYW1wZXJEZXRlY3Rpb24pOworCisgIC8qIEVuYWJsZSBnbG9iYWwgdGFtcGVyIGludGVycnVwdCAqLworICB0bXByZWcgfD0gKHVpbnQzMl90KVJUQ19UQUZDUl9UQU1QSUU7CisKKyAgLyogQ29weSBkZXNpcmVkIGNvbmZpZ3VyYXRpb24gaW50byBjb25maWd1cmF0aW9uIHJlZ2lzdGVyICovCisgIGhydGMtPkluc3RhbmNlLT5UQUZDUiA9IHRtcHJlZzsKKwogICAvKiBSVEMgVGFtcGVyIEludGVycnVwdCBDb25maWd1cmF0aW9uOiBFWFRJIGNvbmZpZ3VyYXRpb24gKi8KICAgX19IQUxfUlRDX1RBTVBFUl9USU1FU1RBTVBfRVhUSV9FTkFCTEVfSVQoKTsKLQotICBFWFRJLT5SVFNSIHw9IFJUQ19FWFRJX0xJTkVfVEFNUEVSX1RJTUVTVEFNUF9FVkVOVDsKKyAgX19IQUxfUlRDX1RBTVBFUl9USU1FU1RBTVBfRVhUSV9FTkFCTEVfUklTSU5HX0VER0UoKTsKIAogICBocnRjLT5TdGF0ZSA9IEhBTF9SVENfU1RBVEVfUkVBRFk7CiAKQEAgLTQ2NSwxMCArNTY3LDE0IEBACiAKIC8qKgogICAqIEBicmllZiAgRGVhY3RpdmF0ZXMgVGFtcGVyLgorICAqIEBub3RlICAgVGhlIHRhbXBlciBnbG9iYWwgaW50ZXJydXB0IGJpdCB3aWxsIHJlbWFpbiB1bmNoYW5nZWQuCiAgICogQHBhcmFtICBocnRjIHBvaW50ZXIgdG8gYSBSVENfSGFuZGxlVHlwZURlZiBzdHJ1Y3R1cmUgdGhhdCBjb250YWlucwogICAqICAgICAgICAgICAgICAgIHRoZSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIGZvciBSVEMuCiAgICogQHBhcmFtICBUYW1wZXIgU2VsZWN0ZWQgdGFtcGVyIHBpbi4KLSAgKiAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgUlRDX1RhbXBlcl8xIGFuZC9vciBSVENfVEFNUEVSXzIuCisgICogICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGFueSBjb21iaW5hdGlvbiBvZiB0aGUgZm9sbG93aW5nIHZhbHVlczoKKyAgKiAgICAgICAgICAgIEBhcmcgUlRDX1RBTVBFUl8xOiAgVGFtcGVyIDEKKyAgKiAgICAgICAgICAgIEBhcmcgUlRDX1RBTVBFUl8yOiAgVGFtcGVyIDIKKyAgKiBAbm90ZSAgIFJUQ19UQU1QRVJfMiBpcyBub3QgYXBwbGljYWJsZSB0byBhbGwgZGV2aWNlcy4KICAgKiBAcmV0dmFsIEhBTCBzdGF0dXMKICAgKi8KIEhBTF9TdGF0dXNUeXBlRGVmIEhBTF9SVENFeF9EZWFjdGl2YXRlVGFtcGVyKFJUQ19IYW5kbGVUeXBlRGVmICpocnRjLCB1aW50MzJfdCBUYW1wZXIpCkBAIC00OTIsMzYgKzU5OCwzNiBAQAogfQogCiAvKioKLSAgKiBAYnJpZWYgIFRoaXMgZnVuY3Rpb24gaGFuZGxlcyBUaW1lU3RhbXAgaW50ZXJydXB0IHJlcXVlc3QuCisgICogQGJyaWVmICBIYW5kbGVzIFRpbWVzdGFtcCBhbmQgVGFtcGVyIGludGVycnVwdCByZXF1ZXN0LgogICAqIEBwYXJhbSAgaHJ0YyBwb2ludGVyIHRvIGEgUlRDX0hhbmRsZVR5cGVEZWYgc3RydWN0dXJlIHRoYXQgY29udGFpbnMKICAgKiAgICAgICAgICAgICAgICB0aGUgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbiBmb3IgUlRDLgogICAqIEByZXR2YWwgTm9uZQogICAqLwogdm9pZCBIQUxfUlRDRXhfVGFtcGVyVGltZVN0YW1wSVJRSGFuZGxlcihSVENfSGFuZGxlVHlwZURlZiAqaHJ0YykKIHsKLSAgLyogR2V0IHRoZSBUaW1lU3RhbXAgaW50ZXJydXB0IHNvdXJjZSBlbmFibGUgc3RhdHVzICovCi0gIGlmKF9fSEFMX1JUQ19USU1FU1RBTVBfR0VUX0lUX1NPVVJDRShocnRjLCBSVENfSVRfVFMpICE9ICh1aW50MzJfdClSRVNFVCkKKyAgLyogR2V0IHRoZSBUaW1lc3RhbXAgaW50ZXJydXB0IHNvdXJjZSBlbmFibGUgc3RhdHVzICovCisgIGlmIChfX0hBTF9SVENfVElNRVNUQU1QX0dFVF9JVF9TT1VSQ0UoaHJ0YywgUlRDX0lUX1RTKSAhPSAwVSkKICAgewotICAgIC8qIEdldCB0aGUgcGVuZGluZyBzdGF0dXMgb2YgdGhlIFRJTUVTVEFNUCBJbnRlcnJ1cHQgKi8KLSAgICBpZihfX0hBTF9SVENfVElNRVNUQU1QX0dFVF9GTEFHKGhydGMsIFJUQ19GTEFHX1RTRikgIT0gKHVpbnQzMl90KVJFU0VUKQorICAgIC8qIEdldCB0aGUgcGVuZGluZyBzdGF0dXMgb2YgdGhlIFRpbWVzdGFtcCBJbnRlcnJ1cHQgKi8KKyAgICBpZiAoX19IQUxfUlRDX1RJTUVTVEFNUF9HRVRfRkxBRyhocnRjLCBSVENfRkxBR19UU0YpICE9IDBVKQogICAgIHsKLSAgICAgIC8qIFRJTUVTVEFNUCBjYWxsYmFjayAqLworICAgICAgLyogVGltZXN0YW1wIGNhbGxiYWNrICovCiAjaWYgKFVTRV9IQUxfUlRDX1JFR0lTVEVSX0NBTExCQUNLUyA9PSAxKQogICAgICAgaHJ0Yy0+VGltZVN0YW1wRXZlbnRDYWxsYmFjayhocnRjKTsKICNlbHNlCiAgICAgICBIQUxfUlRDRXhfVGltZVN0YW1wRXZlbnRDYWxsYmFjayhocnRjKTsKICNlbmRpZiAvKiBVU0VfSEFMX1JUQ19SRUdJU1RFUl9DQUxMQkFDS1MgKi8KIAotICAgICAgLyogQ2xlYXIgdGhlIFRJTUVTVEFNUCBpbnRlcnJ1cHQgcGVuZGluZyBiaXQgKi8KLSAgICAgIF9fSEFMX1JUQ19USU1FU1RBTVBfQ0xFQVJfRkxBRyhocnRjLFJUQ19GTEFHX1RTRik7CisgICAgICAvKiBDbGVhciB0aGUgVGltZXN0YW1wIGludGVycnVwdCBwZW5kaW5nIGJpdCAqLworICAgICAgX19IQUxfUlRDX1RJTUVTVEFNUF9DTEVBUl9GTEFHKGhydGMsIFJUQ19GTEFHX1RTRik7CiAgICAgfQogICB9CiAKLSAgLyogR2V0IHRoZSBUYW1wZXIxIGludGVycnVwdCBzb3VyY2UgZW5hYmxlIHN0YXR1cyAqLwotICBpZihfX0hBTF9SVENfVEFNUEVSX0dFVF9JVF9TT1VSQ0UoaHJ0YywgUlRDX0lUX1RBTVApICE9ICh1aW50MzJfdClSRVNFVCkKKyAgLyogR2V0IHRoZSBUYW1wZXIgMSBpbnRlcnJ1cHQgc291cmNlIGVuYWJsZSBzdGF0dXMgKi8KKyAgaWYgKF9fSEFMX1JUQ19UQU1QRVJfR0VUX0lUX1NPVVJDRShocnRjLCBSVENfSVRfVEFNUCkgIT0gMFUpCiAgIHsKLSAgICAvKiBHZXQgdGhlIHBlbmRpbmcgc3RhdHVzIG9mIHRoZSBUYW1wZXIxIEludGVycnVwdCAqLwotICAgIGlmKF9fSEFMX1JUQ19UQU1QRVJfR0VUX0ZMQUcoaHJ0YywgUlRDX0ZMQUdfVEFNUDFGKSAhPSAodWludDMyX3QpUkVTRVQpCisgICAgLyogR2V0IHRoZSBwZW5kaW5nIHN0YXR1cyBvZiB0aGUgVGFtcGVyIDEgSW50ZXJydXB0ICovCisgICAgaWYgKF9fSEFMX1JUQ19UQU1QRVJfR0VUX0ZMQUcoaHJ0YywgUlRDX0ZMQUdfVEFNUDFGKSAhPSAwVSkKICAgICB7CiAgICAgICAvKiBUYW1wZXIgY2FsbGJhY2sgKi8KICNpZiAoVVNFX0hBTF9SVENfUkVHSVNURVJfQ0FMTEJBQ0tTID09IDEpCkBAIC01MzEsMTUgKzYzNywxNiBAQAogI2VuZGlmIC8qIFVTRV9IQUxfUlRDX1JFR0lTVEVSX0NBTExCQUNLUyAqLwogCiAgICAgICAvKiBDbGVhciB0aGUgVGFtcGVyIGludGVycnVwdCBwZW5kaW5nIGJpdCAqLwotICAgICAgX19IQUxfUlRDX1RBTVBFUl9DTEVBUl9GTEFHKGhydGMsUlRDX0ZMQUdfVEFNUDFGKTsKKyAgICAgIF9fSEFMX1JUQ19UQU1QRVJfQ0xFQVJfRkxBRyhocnRjLCBSVENfRkxBR19UQU1QMUYpOwogICAgIH0KICAgfQogCi0gIC8qIEdldCB0aGUgVGFtcGVyMiBpbnRlcnJ1cHQgc291cmNlIGVuYWJsZSBzdGF0dXMgKi8KLSAgaWYoX19IQUxfUlRDX1RBTVBFUl9HRVRfSVRfU09VUkNFKGhydGMsIFJUQ19JVF9UQU1QKSAhPSAodWludDMyX3QpUkVTRVQpCisjaWYgZGVmaW5lZChSVENfVEFNUEVSMl9TVVBQT1JUKQorICAvKiBHZXQgdGhlIFRhbXBlciAyIGludGVycnVwdCBzb3VyY2UgZW5hYmxlIHN0YXR1cyAqLworICBpZiAoX19IQUxfUlRDX1RBTVBFUl9HRVRfSVRfU09VUkNFKGhydGMsIFJUQ19JVF9UQU1QKSAhPSAwVSkKICAgewotICAgIC8qIEdldCB0aGUgcGVuZGluZyBzdGF0dXMgb2YgdGhlIFRhbXBlcjIgSW50ZXJydXB0ICovCi0gICAgaWYoX19IQUxfUlRDX1RBTVBFUl9HRVRfRkxBRyhocnRjLCBSVENfRkxBR19UQU1QMkYpICE9ICh1aW50MzJfdClSRVNFVCkKKyAgICAvKiBHZXQgdGhlIHBlbmRpbmcgc3RhdHVzIG9mIHRoZSBUYW1wZXIgMiBJbnRlcnJ1cHQgKi8KKyAgICBpZiAoX19IQUxfUlRDX1RBTVBFUl9HRVRfRkxBRyhocnRjLCBSVENfRkxBR19UQU1QMkYpICE9IDBVKQogICAgIHsKICAgICAgIC8qIFRhbXBlciBjYWxsYmFjayAqLwogI2lmIChVU0VfSEFMX1JUQ19SRUdJU1RFUl9DQUxMQkFDS1MgPT0gMSkKQEAgLTU1Miw4ICs2NTksOSBAQAogICAgICAgX19IQUxfUlRDX1RBTVBFUl9DTEVBUl9GTEFHKGhydGMsIFJUQ19GTEFHX1RBTVAyRik7CiAgICAgfQogICB9CisjZW5kaWYgLyogUlRDX1RBTVBFUjJfU1VQUE9SVCAqLwogCi0gIC8qIENsZWFyIHRoZSBFWFRJJ3MgRmxhZyBmb3IgUlRDIFRpbWVTdGFtcCBhbmQgVGFtcGVyICovCisgIC8qIENsZWFyIHRoZSBFWFRJJ3MgRmxhZyBmb3IgUlRDIFRpbWVzdGFtcCBhbmQgVGFtcGVyICovCiAgIF9fSEFMX1JUQ19UQU1QRVJfVElNRVNUQU1QX0VYVElfQ0xFQVJfRkxBRygpOwogCiAgIC8qIENoYW5nZSBSVEMgc3RhdGUgKi8KQEAgLTU2MSw3ICs2NjksNyBAQAogfQogCiAvKioKLSAgKiBAYnJpZWYgIFRpbWVTdGFtcCBjYWxsYmFjay4KKyAgKiBAYnJpZWYgIFRpbWVzdGFtcCBjYWxsYmFjay4KICAgKiBAcGFyYW0gIGhydGMgcG9pbnRlciB0byBhIFJUQ19IYW5kbGVUeXBlRGVmIHN0cnVjdHVyZSB0aGF0IGNvbnRhaW5zCiAgICogICAgICAgICAgICAgICAgdGhlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gZm9yIFJUQy4KICAgKiBAcmV0dmFsIE5vbmUKQEAgLTU3MCw4ICs2NzgsOSBAQAogewogICAvKiBQcmV2ZW50IHVudXNlZCBhcmd1bWVudChzKSBjb21waWxhdGlvbiB3YXJuaW5nICovCiAgIFVOVVNFRChocnRjKTsKLSAgLyogTk9URSA6IFRoaXMgZnVuY3Rpb24gU2hvdWxkIG5vdCBiZSBtb2RpZmllZCwgd2hlbiB0aGUgY2FsbGJhY2sgaXMgbmVlZGVkLAotICAgICAgICAgICAgdGhlIEhBTF9SVENfVGltZVN0YW1wRXZlbnRDYWxsYmFjayBjb3VsZCBiZSBpbXBsZW1lbnRlZCBpbiB0aGUgdXNlciBmaWxlCisKKyAgLyogTk9URTogVGhpcyBmdW5jdGlvbiBzaG91bGQgbm90IGJlIG1vZGlmaWVkLCB3aGVuIHRoZSBjYWxsYmFjayBpcyBuZWVkZWQsCisgICAgICAgICAgIHRoZSBIQUxfUlRDRXhfVGltZVN0YW1wRXZlbnRDYWxsYmFjayBjb3VsZCBiZSBpbXBsZW1lbnRlZCBpbiB0aGUgdXNlciBmaWxlCiAgICovCiB9CiAKQEAgLTU4NSwxMSArNjk0LDEzIEBACiB7CiAgIC8qIFByZXZlbnQgdW51c2VkIGFyZ3VtZW50KHMpIGNvbXBpbGF0aW9uIHdhcm5pbmcgKi8KICAgVU5VU0VEKGhydGMpOwotICAvKiBOT1RFIDogVGhpcyBmdW5jdGlvbiBTaG91bGQgbm90IGJlIG1vZGlmaWVkLCB3aGVuIHRoZSBjYWxsYmFjayBpcyBuZWVkZWQsCi0gICAgICAgICAgICB0aGUgSEFMX1JUQ19UYW1wZXIxRXZlbnRDYWxsYmFjayBjb3VsZCBiZSBpbXBsZW1lbnRlZCBpbiB0aGUgdXNlciBmaWxlCisKKyAgLyogTk9URTogVGhpcyBmdW5jdGlvbiBzaG91bGQgbm90IGJlIG1vZGlmaWVkLCB3aGVuIHRoZSBjYWxsYmFjayBpcyBuZWVkZWQsCisgICAgICAgICAgIHRoZSBIQUxfUlRDRXhfVGFtcGVyMUV2ZW50Q2FsbGJhY2sgY291bGQgYmUgaW1wbGVtZW50ZWQgaW4gdGhlIHVzZXIgZmlsZQogICAgKi8KIH0KIAorI2lmIGRlZmluZWQoUlRDX1RBTVBFUjJfU1VQUE9SVCkKIC8qKgogICAqIEBicmllZiAgVGFtcGVyIDIgY2FsbGJhY2suCiAgICogQHBhcmFtICBocnRjIHBvaW50ZXIgdG8gYSBSVENfSGFuZGxlVHlwZURlZiBzdHJ1Y3R1cmUgdGhhdCBjb250YWlucwpAQCAtNjAwLDEzICs3MTEsMTUgQEAKIHsKICAgLyogUHJldmVudCB1bnVzZWQgYXJndW1lbnQocykgY29tcGlsYXRpb24gd2FybmluZyAqLwogICBVTlVTRUQoaHJ0Yyk7Ci0gIC8qIE5PVEUgOiBUaGlzIGZ1bmN0aW9uIFNob3VsZCBub3QgYmUgbW9kaWZpZWQsIHdoZW4gdGhlIGNhbGxiYWNrIGlzIG5lZWRlZCwKLSAgICAgICAgICAgIHRoZSBIQUxfUlRDX1RhbXBlcjJFdmVudENhbGxiYWNrIGNvdWxkIGJlIGltcGxlbWVudGVkIGluIHRoZSB1c2VyIGZpbGUKKworICAvKiBOT1RFOiBUaGlzIGZ1bmN0aW9uIHNob3VsZCBub3QgYmUgbW9kaWZpZWQsIHdoZW4gdGhlIGNhbGxiYWNrIGlzIG5lZWRlZCwKKyAgICAgICAgICAgdGhlIEhBTF9SVENFeF9UYW1wZXIyRXZlbnRDYWxsYmFjayBjb3VsZCBiZSBpbXBsZW1lbnRlZCBpbiB0aGUgdXNlciBmaWxlCiAgICAqLwogfQorI2VuZGlmIC8qIFJUQ19UQU1QRVIyX1NVUFBPUlQgKi8KIAogLyoqCi0gICogQGJyaWVmICBUaGlzIGZ1bmN0aW9uIGhhbmRsZXMgVGltZVN0YW1wIHBvbGxpbmcgcmVxdWVzdC4KKyAgKiBAYnJpZWYgIEhhbmRsZXMgVGltZXN0YW1wIHBvbGxpbmcgcmVxdWVzdC4KICAgKiBAcGFyYW0gIGhydGMgcG9pbnRlciB0byBhIFJUQ19IYW5kbGVUeXBlRGVmIHN0cnVjdHVyZSB0aGF0IGNvbnRhaW5zCiAgICogICAgICAgICAgICAgICAgdGhlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gZm9yIFJUQy4KICAgKiBAcGFyYW0gIFRpbWVvdXQgVGltZW91dCBkdXJhdGlvbgpAQCAtNjE5LDI3ICs3MzIsMjcgQEAKICAgLyogR2V0IHRpY2sgKi8KICAgdGlja3N0YXJ0ID0gSEFMX0dldFRpY2soKTsKIAotICB3aGlsZShfX0hBTF9SVENfVElNRVNUQU1QX0dFVF9GTEFHKGhydGMsIFJUQ19GTEFHX1RTRikgPT0gUkVTRVQpCisgIHdoaWxlIChfX0hBTF9SVENfVElNRVNUQU1QX0dFVF9GTEFHKGhydGMsIFJUQ19GTEFHX1RTRikgPT0gMFUpCiAgIHsKLSAgICBpZihfX0hBTF9SVENfVElNRVNUQU1QX0dFVF9GTEFHKGhydGMsIFJUQ19GTEFHX1RTT1ZGKSAhPSBSRVNFVCkKKyAgICBpZiAoVGltZW91dCAhPSBIQUxfTUFYX0RFTEFZKQogICAgIHsKLSAgICAgIC8qIENsZWFyIHRoZSBUSU1FU1RBTVAgT3ZlcnJ1biBGbGFnICovCi0gICAgICBfX0hBTF9SVENfVElNRVNUQU1QX0NMRUFSX0ZMQUcoaHJ0YywgUlRDX0ZMQUdfVFNPVkYpOwotCi0gICAgICAvKiBDaGFuZ2UgVElNRVNUQU1QIHN0YXRlICovCi0gICAgICBocnRjLT5TdGF0ZSA9IEhBTF9SVENfU1RBVEVfRVJST1I7Ci0KLSAgICAgIHJldHVybiBIQUxfRVJST1I7Ci0gICAgfQotCi0gICAgaWYoVGltZW91dCAhPSBIQUxfTUFYX0RFTEFZKQotICAgIHsKLSAgICAgIGlmKChUaW1lb3V0ID09IDBVKXx8KChIQUxfR2V0VGljaygpIC0gdGlja3N0YXJ0ICkgPiBUaW1lb3V0KSkKKyAgICAgIGlmICgoVGltZW91dCA9PSAwVSkgfHwgKChIQUxfR2V0VGljaygpIC0gdGlja3N0YXJ0KSA+IFRpbWVvdXQpKQogICAgICAgewogICAgICAgICBocnRjLT5TdGF0ZSA9IEhBTF9SVENfU1RBVEVfVElNRU9VVDsKICAgICAgICAgcmV0dXJuIEhBTF9USU1FT1VUOwogICAgICAgfQogICAgIH0KKworICAgIGlmIChfX0hBTF9SVENfVElNRVNUQU1QX0dFVF9GTEFHKGhydGMsIFJUQ19GTEFHX1RTT1ZGKSAhPSAwVSkKKyAgICB7CisgICAgICAvKiBDbGVhciB0aGUgVGltZXN0YW1wIE92ZXJydW4gRmxhZyAqLworICAgICAgX19IQUxfUlRDX1RJTUVTVEFNUF9DTEVBUl9GTEFHKGhydGMsIFJUQ19GTEFHX1RTT1ZGKTsKKworICAgICAgLyogQ2hhbmdlIFRpbWVzdGFtcCBzdGF0ZSAqLworICAgICAgaHJ0Yy0+U3RhdGUgPSBIQUxfUlRDX1NUQVRFX0VSUk9SOworCisgICAgICByZXR1cm4gSEFMX0VSUk9SOworICAgIH0KICAgfQogCiAgIC8qIENoYW5nZSBSVEMgc3RhdGUgKi8KQEAgLTY0OSw3ICs3NjIsNyBAQAogfQogCiAvKioKLSAgKiBAYnJpZWYgIFRoaXMgZnVuY3Rpb24gaGFuZGxlcyBUYW1wZXIxIFBvbGxpbmcuCisgICogQGJyaWVmICBIYW5kbGVzIFRhbXBlciAxIFBvbGxpbmcuCiAgICogQHBhcmFtICBocnRjIHBvaW50ZXIgdG8gYSBSVENfSGFuZGxlVHlwZURlZiBzdHJ1Y3R1cmUgdGhhdCBjb250YWlucwogICAqICAgICAgICAgICAgICAgIHRoZSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIGZvciBSVEMuCiAgICogQHBhcmFtICBUaW1lb3V0IFRpbWVvdXQgZHVyYXRpb24KQEAgLTY2MywxMSArNzc2LDExIEBACiAgIHRpY2tzdGFydCA9IEhBTF9HZXRUaWNrKCk7CiAKICAgLyogR2V0IHRoZSBzdGF0dXMgb2YgdGhlIEludGVycnVwdCAqLwotICB3aGlsZShfX0hBTF9SVENfVEFNUEVSX0dFVF9GTEFHKGhydGMsIFJUQ19GTEFHX1RBTVAxRik9PSBSRVNFVCkKKyAgd2hpbGUgKF9fSEFMX1JUQ19UQU1QRVJfR0VUX0ZMQUcoaHJ0YywgUlRDX0ZMQUdfVEFNUDFGKSA9PSAwVSkKICAgewotICAgIGlmKFRpbWVvdXQgIT0gSEFMX01BWF9ERUxBWSkKKyAgICBpZiAoVGltZW91dCAhPSBIQUxfTUFYX0RFTEFZKQogICAgIHsKLSAgICAgIGlmKChUaW1lb3V0ID09IDBVKXx8KChIQUxfR2V0VGljaygpIC0gdGlja3N0YXJ0ICkgPiBUaW1lb3V0KSkKKyAgICAgIGlmICgoVGltZW91dCA9PSAwVSkgfHwgKChIQUxfR2V0VGljaygpIC0gdGlja3N0YXJ0KSA+IFRpbWVvdXQpKQogICAgICAgewogICAgICAgICBocnRjLT5TdGF0ZSA9IEhBTF9SVENfU1RBVEVfVElNRU9VVDsKICAgICAgICAgcmV0dXJuIEhBTF9USU1FT1VUOwpAQCAtNjc2LDcgKzc4OSw3IEBACiAgIH0KIAogICAvKiBDbGVhciB0aGUgVGFtcGVyIEZsYWcgKi8KLSAgX19IQUxfUlRDX1RBTVBFUl9DTEVBUl9GTEFHKGhydGMsUlRDX0ZMQUdfVEFNUDFGKTsKKyAgX19IQUxfUlRDX1RBTVBFUl9DTEVBUl9GTEFHKGhydGMsIFJUQ19GTEFHX1RBTVAxRik7CiAKICAgLyogQ2hhbmdlIFJUQyBzdGF0ZSAqLwogICBocnRjLT5TdGF0ZSA9IEhBTF9SVENfU1RBVEVfUkVBRFk7CkBAIC02ODQsOCArNzk3LDkgQEAKICAgcmV0dXJuIEhBTF9PSzsKIH0KIAorI2lmIGRlZmluZWQoUlRDX1RBTVBFUjJfU1VQUE9SVCkKIC8qKgotICAqIEBicmllZiAgVGhpcyBmdW5jdGlvbiBoYW5kbGVzIFRhbXBlcjIgUG9sbGluZy4KKyAgKiBAYnJpZWYgIEhhbmRsZXMgVGFtcGVyIDIgUG9sbGluZy4KICAgKiBAcGFyYW0gIGhydGMgcG9pbnRlciB0byBhIFJUQ19IYW5kbGVUeXBlRGVmIHN0cnVjdHVyZSB0aGF0IGNvbnRhaW5zCiAgICogICAgICAgICAgICAgICAgdGhlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gZm9yIFJUQy4KICAgKiBAcGFyYW0gIFRpbWVvdXQgVGltZW91dCBkdXJhdGlvbgpAQCAtNjk5LDExICs4MTMsMTEgQEAKICAgdGlja3N0YXJ0ID0gSEFMX0dldFRpY2soKTsKIAogICAvKiBHZXQgdGhlIHN0YXR1cyBvZiB0aGUgSW50ZXJydXB0ICovCi0gIHdoaWxlKF9fSEFMX1JUQ19UQU1QRVJfR0VUX0ZMQUcoaHJ0YywgUlRDX0ZMQUdfVEFNUDJGKSA9PSBSRVNFVCkKKyAgd2hpbGUgKF9fSEFMX1JUQ19UQU1QRVJfR0VUX0ZMQUcoaHJ0YywgUlRDX0ZMQUdfVEFNUDJGKSA9PSAwVSkKICAgewotICAgIGlmKFRpbWVvdXQgIT0gSEFMX01BWF9ERUxBWSkKKyAgICBpZiAoVGltZW91dCAhPSBIQUxfTUFYX0RFTEFZKQogICAgIHsKLSAgICAgIGlmKChUaW1lb3V0ID09IDBVKXx8KChIQUxfR2V0VGljaygpIC0gdGlja3N0YXJ0ICkgPiBUaW1lb3V0KSkKKyAgICAgIGlmICgoVGltZW91dCA9PSAwVSkgfHwgKChIQUxfR2V0VGljaygpIC0gdGlja3N0YXJ0KSA+IFRpbWVvdXQpKQogICAgICAgewogICAgICAgICBocnRjLT5TdGF0ZSA9IEhBTF9SVENfU1RBVEVfVElNRU9VVDsKICAgICAgICAgcmV0dXJuIEhBTF9USU1FT1VUOwpAQCAtNzEyLDM4ICs4MjYsMzkgQEAKICAgfQogCiAgIC8qIENsZWFyIHRoZSBUYW1wZXIgRmxhZyAqLwotICBfX0hBTF9SVENfVEFNUEVSX0NMRUFSX0ZMQUcoaHJ0YyxSVENfRkxBR19UQU1QMkYpOworICBfX0hBTF9SVENfVEFNUEVSX0NMRUFSX0ZMQUcoaHJ0YywgUlRDX0ZMQUdfVEFNUDJGKTsKIAogICAvKiBDaGFuZ2UgUlRDIHN0YXRlICovCiAgIGhydGMtPlN0YXRlID0gSEFMX1JUQ19TVEFURV9SRUFEWTsKIAogICByZXR1cm4gSEFMX09LOwogfQorI2VuZGlmIC8qIFJUQ19UQU1QRVIyX1NVUFBPUlQgKi8KIAogLyoqCiAgICogQH0KICAgKi8KIAotLyoqIEBkZWZncm91cCBSVENFeF9FeHBvcnRlZF9GdW5jdGlvbnNfR3JvdXAyIFJUQyBXYWtlLXVwIGZ1bmN0aW9ucwotICogIEBicmllZiAgIFJUQyBXYWtlLXVwIGZ1bmN0aW9ucwotICoKKy8qKiBAZGVmZ3JvdXAgUlRDRXhfRXhwb3J0ZWRfRnVuY3Rpb25zX0dyb3VwMiBSVEMgV2FrZXVwIGZ1bmN0aW9ucworICAqIEBicmllZiAgICBSVEMgV2FrZXVwIGZ1bmN0aW9ucworICAqCiBAdmVyYmF0aW0KICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0gICAgICAgICAgICAgICAgICAgICAgICAjIyMjIyBSVEMgV2FrZS11cCBmdW5jdGlvbnMgIyMjIyMKKyAgICAgICAgICAgICAgICAgICAgICAgICMjIyMjIFJUQyBXYWtldXAgZnVuY3Rpb25zICMjIyMjCiAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogCi0gWy4uXSBUaGlzIHNlY3Rpb24gcHJvdmlkZXMgZnVuY3Rpb25zIGFsbG93aW5nIHRvIGNvbmZpZ3VyZSBXYWtlLXVwIGZlYXR1cmUKKyBbLi5dIFRoaXMgc2VjdGlvbiBwcm92aWRlcyBmdW5jdGlvbnMgYWxsb3dpbmcgdG8gY29uZmlndXJlIFdha2V1cCBmZWF0dXJlCiAKIEBlbmR2ZXJiYXRpbQogICAqIEB7CiAgICovCiAKIC8qKgotICAqIEBicmllZiAgU2V0cyB3YWtlIHVwIHRpbWVyLgorICAqIEBicmllZiAgU2V0cyB3YWtldXAgdGltZXIuCiAgICogQHBhcmFtICBocnRjIHBvaW50ZXIgdG8gYSBSVENfSGFuZGxlVHlwZURlZiBzdHJ1Y3R1cmUgdGhhdCBjb250YWlucwogICAqICAgICAgICAgICAgICAgIHRoZSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIGZvciBSVEMuCi0gICogQHBhcmFtICBXYWtlVXBDb3VudGVyIFdha2UgdXAgY291bnRlcgotICAqIEBwYXJhbSAgV2FrZVVwQ2xvY2sgV2FrZSB1cCBjbG9jaworICAqIEBwYXJhbSAgV2FrZVVwQ291bnRlciBXYWtldXAgY291bnRlcgorICAqIEBwYXJhbSAgV2FrZVVwQ2xvY2sgV2FrZXVwIGNsb2NrCiAgICogQHJldHZhbCBIQUwgc3RhdHVzCiAgICovCiBIQUxfU3RhdHVzVHlwZURlZiBIQUxfUlRDRXhfU2V0V2FrZVVwVGltZXIoUlRDX0hhbmRsZVR5cGVEZWYgKmhydGMsIHVpbnQzMl90IFdha2VVcENvdW50ZXIsIHVpbnQzMl90IFdha2VVcENsb2NrKQpAQCAtNzYyLDE1ICs4NzcsMTUgQEAKICAgLyogRGlzYWJsZSB0aGUgd3JpdGUgcHJvdGVjdGlvbiBmb3IgUlRDIHJlZ2lzdGVycyAqLwogICBfX0hBTF9SVENfV1JJVEVQUk9URUNUSU9OX0RJU0FCTEUoaHJ0Yyk7CiAKLSAgLypDaGVjayBSVEMgV1VUV0YgZmxhZyBpcyByZXNldCBvbmx5IHdoZW4gd2FrZSB1cCB0aW1lciBlbmFibGVkKi8KLSAgaWYoKGhydGMtPkluc3RhbmNlLT5DUiAmIFJUQ19DUl9XVVRFKSAhPSBSRVNFVCkKKyAgLyogQ2hlY2sgUlRDIFdVVFdGIGZsYWcgaXMgcmVzZXQgb25seSB3aGVuIHdha2V1cCB0aW1lciBlbmFibGVkKi8KKyAgaWYgKChocnRjLT5JbnN0YW5jZS0+Q1IgJiBSVENfQ1JfV1VURSkgIT0gMFUpCiAgIHsKICAgICB0aWNrc3RhcnQgPSBIQUxfR2V0VGljaygpOwogCi0gICAgLyogV2FpdCB0aWxsIFJUQyBXVVRXRiBmbGFnIGlzIHJlc2V0IGFuZCBpZiBUaW1lIG91dCBpcyByZWFjaGVkIGV4aXQgKi8KLSAgICB3aGlsZShfX0hBTF9SVENfV0FLRVVQVElNRVJfR0VUX0ZMQUcoaHJ0YywgUlRDX0ZMQUdfV1VUV0YpID09IFNFVCkKKyAgICAvKiBXYWl0IHRpbGwgUlRDIFdVVFdGIGZsYWcgaXMgcmVzZXQgYW5kIGlmIHRpbWVvdXQgaXMgcmVhY2hlZCBleGl0ICovCisgICAgd2hpbGUgKF9fSEFMX1JUQ19XQUtFVVBUSU1FUl9HRVRfRkxBRyhocnRjLCBSVENfRkxBR19XVVRXRikgIT0gMFUpCiAgICAgewotICAgICAgaWYoKEhBTF9HZXRUaWNrKCkgLSB0aWNrc3RhcnQgKSA+IFJUQ19USU1FT1VUX1ZBTFVFKQorICAgICAgaWYgKChIQUxfR2V0VGljaygpIC0gdGlja3N0YXJ0KSA+IFJUQ19USU1FT1VUX1ZBTFVFKQogICAgICAgewogICAgICAgICAvKiBFbmFibGUgdGhlIHdyaXRlIHByb3RlY3Rpb24gZm9yIFJUQyByZWdpc3RlcnMgKi8KICAgICAgICAgX19IQUxfUlRDX1dSSVRFUFJPVEVDVElPTl9FTkFCTEUoaHJ0Yyk7CkBAIC03ODUsMTQgKzkwMCwxOSBAQAogICAgIH0KICAgfQogCisgIC8qIERpc2FibGUgdGhlIFdha2V1cCB0aW1lciAqLwogICBfX0hBTF9SVENfV0FLRVVQVElNRVJfRElTQUJMRShocnRjKTsKIAorICAvKiBDbGVhciB0aGUgV2FrZXVwIGZsYWcgKi8KKyAgX19IQUxfUlRDX1dBS0VVUFRJTUVSX0NMRUFSX0ZMQUcoaHJ0YywgUlRDX0ZMQUdfV1VURik7CisKKyAgLyogR2V0IHRpY2sgKi8KICAgdGlja3N0YXJ0ID0gSEFMX0dldFRpY2soKTsKIAotICAvKiBXYWl0IHRpbGwgUlRDIFdVVFdGIGZsYWcgaXMgc2V0IGFuZCBpZiBUaW1lIG91dCBpcyByZWFjaGVkIGV4aXQgKi8KLSAgd2hpbGUoX19IQUxfUlRDX1dBS0VVUFRJTUVSX0dFVF9GTEFHKGhydGMsIFJUQ19GTEFHX1dVVFdGKSA9PSBSRVNFVCkKKyAgLyogV2FpdCB0aWxsIFJUQyBXVVRXRiBmbGFnIGlzIHNldCBhbmQgaWYgdGltZW91dCBpcyByZWFjaGVkIGV4aXQgKi8KKyAgd2hpbGUgKF9fSEFMX1JUQ19XQUtFVVBUSU1FUl9HRVRfRkxBRyhocnRjLCBSVENfRkxBR19XVVRXRikgPT0gMFUpCiAgIHsKLSAgICBpZigoSEFMX0dldFRpY2soKSAtIHRpY2tzdGFydCApID4gUlRDX1RJTUVPVVRfVkFMVUUpCisgICAgaWYgKChIQUxfR2V0VGljaygpIC0gdGlja3N0YXJ0KSA+IFJUQ19USU1FT1VUX1ZBTFVFKQogICAgIHsKICAgICAgIC8qIEVuYWJsZSB0aGUgd3JpdGUgcHJvdGVjdGlvbiBmb3IgUlRDIHJlZ2lzdGVycyAqLwogICAgICAgX19IQUxfUlRDX1dSSVRFUFJPVEVDVElPTl9FTkFCTEUoaHJ0Yyk7CkBAIC04MDYsMTYgKzkyNiwxNiBAQAogICAgIH0KICAgfQogCi0gIC8qIENsZWFyIHRoZSBXYWtlLXVwIFRpbWVyIGNsb2NrIHNvdXJjZSBiaXRzIGluIENSIHJlZ2lzdGVyICovCisgIC8qIENsZWFyIHRoZSBXYWtldXAgVGltZXIgY2xvY2sgc291cmNlIGJpdHMgaW4gQ1IgcmVnaXN0ZXIgKi8KICAgaHJ0Yy0+SW5zdGFuY2UtPkNSICY9ICh1aW50MzJfdCl+UlRDX0NSX1dVQ0tTRUw7CiAKICAgLyogQ29uZmlndXJlIHRoZSBjbG9jayBzb3VyY2UgKi8KICAgaHJ0Yy0+SW5zdGFuY2UtPkNSIHw9ICh1aW50MzJfdClXYWtlVXBDbG9jazsKIAotICAvKiBDb25maWd1cmUgdGhlIFdha2UtdXAgVGltZXIgY291bnRlciAqLworICAvKiBDb25maWd1cmUgdGhlIFdha2V1cCBUaW1lciBjb3VudGVyICovCiAgIGhydGMtPkluc3RhbmNlLT5XVVRSID0gKHVpbnQzMl90KVdha2VVcENvdW50ZXI7CiAKLSAgIC8qIEVuYWJsZSB0aGUgV2FrZS11cCBUaW1lciAqLworICAvKiBFbmFibGUgdGhlIFdha2V1cCBUaW1lciAqLwogICBfX0hBTF9SVENfV0FLRVVQVElNRVJfRU5BQkxFKGhydGMpOwogCiAgIC8qIEVuYWJsZSB0aGUgd3JpdGUgcHJvdGVjdGlvbiBmb3IgUlRDIHJlZ2lzdGVycyAqLwpAQCAtODMwLDE2ICs5NTAsMTYgQEAKIH0KIAogLyoqCi0gICogQGJyaWVmICBTZXRzIHdha2UgdXAgdGltZXIgd2l0aCBpbnRlcnJ1cHQKKyAgKiBAYnJpZWYgIFNldHMgd2FrZXVwIHRpbWVyIHdpdGggaW50ZXJydXB0LgogICAqIEBwYXJhbSAgaHJ0YyBwb2ludGVyIHRvIGEgUlRDX0hhbmRsZVR5cGVEZWYgc3RydWN0dXJlIHRoYXQgY29udGFpbnMKICAgKiAgICAgICAgICAgICAgICB0aGUgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbiBmb3IgUlRDLgotICAqIEBwYXJhbSAgV2FrZVVwQ291bnRlciBXYWtlIHVwIGNvdW50ZXIKLSAgKiBAcGFyYW0gIFdha2VVcENsb2NrIFdha2UgdXAgY2xvY2sKKyAgKiBAcGFyYW0gIFdha2VVcENvdW50ZXIgV2FrZXVwIGNvdW50ZXIKKyAgKiBAcGFyYW0gIFdha2VVcENsb2NrIFdha2V1cCBjbG9jawogICAqIEByZXR2YWwgSEFMIHN0YXR1cwogICAqLwogSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1JUQ0V4X1NldFdha2VVcFRpbWVyX0lUKFJUQ19IYW5kbGVUeXBlRGVmICpocnRjLCB1aW50MzJfdCBXYWtlVXBDb3VudGVyLCB1aW50MzJfdCBXYWtlVXBDbG9jaykKIHsKLSAgX19JTyB1aW50MzJfdCBjb3VudDsKKyAgX19JTyB1aW50MzJfdCBjb3VudCAgPSBSVENfVElNRU9VVF9WQUxVRSAqIChTeXN0ZW1Db3JlQ2xvY2sgLyAzMlUgLyAxMDAwVSk7CiAKICAgLyogQ2hlY2sgdGhlIHBhcmFtZXRlcnMgKi8KICAgYXNzZXJ0X3BhcmFtKElTX1JUQ19XQUtFVVBfQ0xPQ0soV2FrZVVwQ2xvY2spKTsKQEAgLTg1MywxNCArOTczLDEzIEBACiAgIC8qIERpc2FibGUgdGhlIHdyaXRlIHByb3RlY3Rpb24gZm9yIFJUQyByZWdpc3RlcnMgKi8KICAgX19IQUxfUlRDX1dSSVRFUFJPVEVDVElPTl9ESVNBQkxFKGhydGMpOwogCi0gIC8qIENoZWNrIFJUQyBXVVRXRiBmbGFnIGlzIHJlc2V0IG9ubHkgd2hlbiB3YWtlIHVwIHRpbWVyIGVuYWJsZWQgKi8KLSAgaWYoKGhydGMtPkluc3RhbmNlLT5DUiAmIFJUQ19DUl9XVVRFKSAhPSBSRVNFVCkKKyAgLyogQ2hlY2sgUlRDIFdVVFdGIGZsYWcgaXMgcmVzZXQgb25seSB3aGVuIHdha2V1cCB0aW1lciBlbmFibGVkICovCisgIGlmICgoaHJ0Yy0+SW5zdGFuY2UtPkNSICYgUlRDX0NSX1dVVEUpICE9IDBVKQogICB7Ci0gICAgLyogV2FpdCB0aWxsIFJUQyBXVVRXRiBmbGFnIGlzIHJlc2V0IGFuZCBpZiBUaW1lIG91dCBpcyByZWFjaGVkIGV4aXQgKi8KLSAgICBjb3VudCA9IFJUQ19USU1FT1VUX1ZBTFVFICAqIChTeXN0ZW1Db3JlQ2xvY2sgLyAzMlUgLyAxMDAwVSk7CisgICAgLyogV2FpdCB0aWxsIFJUQyBXVVRXRiBmbGFnIGlzIHJlc2V0IGFuZCBpZiB0aW1lb3V0IGlzIHJlYWNoZWQgZXhpdCAqLwogICAgIGRvCiAgICAgewotICAgICAgaWYoY291bnQtLSA9PSAwVSkKKyAgICAgIGlmIChjb3VudC0tID09IDBVKQogICAgICAgewogICAgICAgICAvKiBFbmFibGUgdGhlIHdyaXRlIHByb3RlY3Rpb24gZm9yIFJUQyByZWdpc3RlcnMgKi8KICAgICAgICAgX19IQUxfUlRDX1dSSVRFUFJPVEVDVElPTl9FTkFCTEUoaHJ0Yyk7CkBAIC04NzIsMTcgKzk5MSwyMiBAQAogCiAgICAgICAgIHJldHVybiBIQUxfVElNRU9VVDsKICAgICAgIH0KLSAgICB9Ci0gICAgd2hpbGUoX19IQUxfUlRDX1dBS0VVUFRJTUVSX0dFVF9GTEFHKGhydGMsIFJUQ19GTEFHX1dVVFdGKSA9PSBTRVQpOworICAgIH0gd2hpbGUgKF9fSEFMX1JUQ19XQUtFVVBUSU1FUl9HRVRfRkxBRyhocnRjLCBSVENfRkxBR19XVVRXRikgIT0gMFUpOwogICB9CiAKKyAgLyogRGlzYWJsZSB0aGUgV2FrZXVwIHRpbWVyICovCiAgIF9fSEFMX1JUQ19XQUtFVVBUSU1FUl9ESVNBQkxFKGhydGMpOwogCi0gIC8qIFdhaXQgdGlsbCBSVEMgV1VUV0YgZmxhZyBpcyBzZXQgYW5kIGlmIFRpbWUgb3V0IGlzIHJlYWNoZWQgZXhpdCAqLwotICBjb3VudCA9IFJUQ19USU1FT1VUX1ZBTFVFICAqIChTeXN0ZW1Db3JlQ2xvY2sgLyAzMlUgLyAxMDAwVSk7CisgIC8qIENsZWFyIHRoZSBXYWtldXAgZmxhZyAqLworICBfX0hBTF9SVENfV0FLRVVQVElNRVJfQ0xFQVJfRkxBRyhocnRjLCBSVENfRkxBR19XVVRGKTsKKworICAvKiBSZWxvYWQgdGhlIGNvdW50ZXIgKi8KKyAgY291bnQgPSBSVENfVElNRU9VVF9WQUxVRSAqIChTeXN0ZW1Db3JlQ2xvY2sgLyAzMlUgLyAxMDAwVSk7CisKKyAgLyogV2FpdCB0aWxsIFJUQyBXVVRXRiBmbGFnIGlzIHNldCBhbmQgaWYgdGltZW91dCBpcyByZWFjaGVkIGV4aXQgKi8KICAgZG8KICAgewotICAgIGlmKGNvdW50LS0gPT0gMFUpCisgICAgaWYgKGNvdW50LS0gPT0gMFUpCiAgICAgewogICAgICAgLyogRW5hYmxlIHRoZSB3cml0ZSBwcm90ZWN0aW9uIGZvciBSVEMgcmVnaXN0ZXJzICovCiAgICAgICBfX0hBTF9SVENfV1JJVEVQUk9URUNUSU9OX0VOQUJMRShocnRjKTsKQEAgLTg5NCwzMCArMTAxOCwyNSBAQAogCiAgICAgICByZXR1cm4gSEFMX1RJTUVPVVQ7CiAgICAgfQotICB9Ci0gIHdoaWxlKF9fSEFMX1JUQ19XQUtFVVBUSU1FUl9HRVRfRkxBRyhocnRjLCBSVENfRkxBR19XVVRXRikgPT0gUkVTRVQpOworICB9IHdoaWxlIChfX0hBTF9SVENfV0FLRVVQVElNRVJfR0VUX0ZMQUcoaHJ0YywgUlRDX0ZMQUdfV1VUV0YpID09IDBVKTsKIAotICAvKiBDb25maWd1cmUgdGhlIFdha2UtdXAgVGltZXIgY291bnRlciAqLwotICBocnRjLT5JbnN0YW5jZS0+V1VUUiA9ICh1aW50MzJfdClXYWtlVXBDb3VudGVyOwotCi0gIC8qIENsZWFyIHRoZSBXYWtlLXVwIFRpbWVyIGNsb2NrIHNvdXJjZSBiaXRzIGluIENSIHJlZ2lzdGVyICovCisgIC8qIENsZWFyIHRoZSBXYWtldXAgVGltZXIgY2xvY2sgc291cmNlIGJpdHMgaW4gQ1IgcmVnaXN0ZXIgKi8KICAgaHJ0Yy0+SW5zdGFuY2UtPkNSICY9ICh1aW50MzJfdCl+UlRDX0NSX1dVQ0tTRUw7CiAKICAgLyogQ29uZmlndXJlIHRoZSBjbG9jayBzb3VyY2UgKi8KICAgaHJ0Yy0+SW5zdGFuY2UtPkNSIHw9ICh1aW50MzJfdClXYWtlVXBDbG9jazsKIAotICAvKiBSVEMgV2FrZVVwVGltZXIgSW50ZXJydXB0IENvbmZpZ3VyYXRpb246IEVYVEkgY29uZmlndXJhdGlvbiAqLworICAvKiBDb25maWd1cmUgdGhlIFdha2V1cCBUaW1lciBjb3VudGVyICovCisgIGhydGMtPkluc3RhbmNlLT5XVVRSID0gKHVpbnQzMl90KVdha2VVcENvdW50ZXI7CisKKyAgLyogUlRDIHdha2V1cCB0aW1lciBJbnRlcnJ1cHQgQ29uZmlndXJhdGlvbjogRVhUSSBjb25maWd1cmF0aW9uICovCiAgIF9fSEFMX1JUQ19XQUtFVVBUSU1FUl9FWFRJX0VOQUJMRV9JVCgpOworICBfX0hBTF9SVENfV0FLRVVQVElNRVJfRVhUSV9FTkFCTEVfUklTSU5HX0VER0UoKTsKIAotICBFWFRJLT5SVFNSIHw9IFJUQ19FWFRJX0xJTkVfV0FLRVVQVElNRVJfRVZFTlQ7CisgIC8qIENvbmZpZ3VyZSB0aGUgaW50ZXJydXB0IGluIHRoZSBSVENfQ1IgcmVnaXN0ZXIgKi8KKyAgX19IQUxfUlRDX1dBS0VVUFRJTUVSX0VOQUJMRV9JVChocnRjLCBSVENfSVRfV1VUKTsKIAotICAvKiBDbGVhciBSVEMgV2FrZSBVcCB0aW1lciBGbGFnICovCi0gIF9fSEFMX1JUQ19XQUtFVVBUSU1FUl9DTEVBUl9GTEFHKGhydGMsIFJUQ19GTEFHX1dVVEYpOwotCi0gIC8qIENvbmZpZ3VyZSB0aGUgSW50ZXJydXB0IGluIHRoZSBSVENfQ1IgcmVnaXN0ZXIgKi8KLSAgX19IQUxfUlRDX1dBS0VVUFRJTUVSX0VOQUJMRV9JVChocnRjLFJUQ19JVF9XVVQpOwotCi0gIC8qIEVuYWJsZSB0aGUgV2FrZS11cCBUaW1lciAqLworICAvKiBFbmFibGUgdGhlIFdha2V1cCBUaW1lciAqLwogICBfX0hBTF9SVENfV0FLRVVQVElNRVJfRU5BQkxFKGhydGMpOwogCiAgIC8qIEVuYWJsZSB0aGUgd3JpdGUgcHJvdGVjdGlvbiBmb3IgUlRDIHJlZ2lzdGVycyAqLwpAQCAtOTMyLDEyICsxMDUxLDEyIEBACiB9CiAKIC8qKgotICAqIEBicmllZiAgRGVhY3RpdmF0ZXMgd2FrZSB1cCB0aW1lciBjb3VudGVyLgorICAqIEBicmllZiAgRGVhY3RpdmF0ZXMgd2FrZXVwIHRpbWVyIGNvdW50ZXIuCiAgICogQHBhcmFtICBocnRjIHBvaW50ZXIgdG8gYSBSVENfSGFuZGxlVHlwZURlZiBzdHJ1Y3R1cmUgdGhhdCBjb250YWlucwogICAqICAgICAgICAgICAgICAgIHRoZSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIGZvciBSVEMuCiAgICogQHJldHZhbCBIQUwgc3RhdHVzCiAgICovCi11aW50MzJfdCBIQUxfUlRDRXhfRGVhY3RpdmF0ZVdha2VVcFRpbWVyKFJUQ19IYW5kbGVUeXBlRGVmICpocnRjKQorSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1JUQ0V4X0RlYWN0aXZhdGVXYWtlVXBUaW1lcihSVENfSGFuZGxlVHlwZURlZiAqaHJ0YykKIHsKICAgdWludDMyX3QgdGlja3N0YXJ0ID0gMFU7CiAKQEAgLTk0OSwxOSArMTA2OCwxOSBAQAogICAvKiBEaXNhYmxlIHRoZSB3cml0ZSBwcm90ZWN0aW9uIGZvciBSVEMgcmVnaXN0ZXJzICovCiAgIF9fSEFMX1JUQ19XUklURVBST1RFQ1RJT05fRElTQUJMRShocnRjKTsKIAotICAvKiBEaXNhYmxlIHRoZSBXYWtlLXVwIFRpbWVyICovCisgIC8qIERpc2FibGUgdGhlIFdha2V1cCBUaW1lciAqLwogICBfX0hBTF9SVENfV0FLRVVQVElNRVJfRElTQUJMRShocnRjKTsKIAogICAvKiBJbiBjYXNlIG9mIGludGVycnVwdCBtb2RlIGlzIHVzZWQsIHRoZSBpbnRlcnJ1cHQgc291cmNlIG11c3QgZGlzYWJsZWQgKi8KLSAgX19IQUxfUlRDX1dBS0VVUFRJTUVSX0RJU0FCTEVfSVQoaHJ0YyxSVENfSVRfV1VUKTsKKyAgX19IQUxfUlRDX1dBS0VVUFRJTUVSX0RJU0FCTEVfSVQoaHJ0YywgUlRDX0lUX1dVVCk7CiAKICAgLyogR2V0IHRpY2sgKi8KICAgdGlja3N0YXJ0ID0gSEFMX0dldFRpY2soKTsKIAotICAvKiBXYWl0IHRpbGwgUlRDIFdVVFdGIGZsYWcgaXMgc2V0IGFuZCBpZiBUaW1lIG91dCBpcyByZWFjaGVkIGV4aXQgKi8KLSAgd2hpbGUoX19IQUxfUlRDX1dBS0VVUFRJTUVSX0dFVF9GTEFHKGhydGMsIFJUQ19GTEFHX1dVVFdGKSA9PSBSRVNFVCkKKyAgLyogV2FpdCB0aWxsIFJUQyBXVVRXRiBmbGFnIGlzIHNldCBhbmQgaWYgdGltZW91dCBpcyByZWFjaGVkIGV4aXQgKi8KKyAgd2hpbGUgKF9fSEFMX1JUQ19XQUtFVVBUSU1FUl9HRVRfRkxBRyhocnRjLCBSVENfRkxBR19XVVRXRikgPT0gMFUpCiAgIHsKLSAgICBpZigoSEFMX0dldFRpY2soKSAtIHRpY2tzdGFydCApID4gUlRDX1RJTUVPVVRfVkFMVUUpCisgICAgaWYgKChIQUxfR2V0VGljaygpIC0gdGlja3N0YXJ0KSA+IFJUQ19USU1FT1VUX1ZBTFVFKQogICAgIHsKICAgICAgIC8qIEVuYWJsZSB0aGUgd3JpdGUgcHJvdGVjdGlvbiBmb3IgUlRDIHJlZ2lzdGVycyAqLwogICAgICAgX19IQUxfUlRDX1dSSVRFUFJPVEVDVElPTl9FTkFCTEUoaHJ0Yyk7CkBAIC05ODcsNyArMTEwNiw3IEBACiB9CiAKIC8qKgotICAqIEBicmllZiAgR2V0cyB3YWtlIHVwIHRpbWVyIGNvdW50ZXIuCisgICogQGJyaWVmICBHZXRzIHdha2V1cCB0aW1lciBjb3VudGVyLgogICAqIEBwYXJhbSAgaHJ0YyBwb2ludGVyIHRvIGEgUlRDX0hhbmRsZVR5cGVEZWYgc3RydWN0dXJlIHRoYXQgY29udGFpbnMKICAgKiAgICAgICAgICAgICAgICB0aGUgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbiBmb3IgUlRDLgogICAqIEByZXR2YWwgQ291bnRlciB2YWx1ZQpAQCAtOTk5LDggKzExMTgsOCBAQAogfQogCiAvKioKLSAgKiBAYnJpZWYgIFRoaXMgZnVuY3Rpb24gaGFuZGxlcyBXYWtlIFVwIFRpbWVyIGludGVycnVwdCByZXF1ZXN0LgotICAqIEBub3RlICAgVW5saWtlIGFsYXJtIGludGVycnVwdCBsaW5lIChzaGFyZWQgYnkgQWxhcm1BIGFuZCBBbGFybUIpIGFuZCB0YW1wZXIKKyAgKiBAYnJpZWYgIEhhbmRsZXMgV2FrZXVwIFRpbWVyIGludGVycnVwdCByZXF1ZXN0LgorICAqIEBub3RlICAgVW5saWtlIGFsYXJtIGludGVycnVwdCBsaW5lIChzaGFyZWQgYnkgQWxhcm1zIEEgYW5kIEIpIG9yIHRhbXBlcgogICAqICAgICAgICAgaW50ZXJydXB0IGxpbmUgKHNoYXJlZCBieSB0aW1lc3RhbXAgYW5kIHRhbXBlcnMpIHdha2V1cCB0aW1lcgogICAqICAgICAgICAgaW50ZXJydXB0IGxpbmUgaXMgZXhjbHVzaXZlIHRvIHRoZSB3YWtldXAgdGltZXIuCiAgICogICAgICAgICBUaGVyZSBpcyBubyBuZWVkIGluIHRoaXMgY2FzZSB0byBjaGVjayBvbiB0aGUgaW50ZXJydXB0IGVuYWJsZQpAQCAtMTAxMSwxNyArMTEzMCwxNyBAQAogICAqLwogdm9pZCBIQUxfUlRDRXhfV2FrZVVwVGltZXJJUlFIYW5kbGVyKFJUQ19IYW5kbGVUeXBlRGVmICpocnRjKQogewotICAvKiBHZXQgdGhlIHBlbmRpbmcgc3RhdHVzIG9mIHRoZSBXQUtFVVBUSU1FUiBJbnRlcnJ1cHQgKi8KLSAgaWYoX19IQUxfUlRDX1dBS0VVUFRJTUVSX0dFVF9GTEFHKGhydGMsIFJUQ19GTEFHX1dVVEYpICE9ICh1aW50MzJfdClSRVNFVCkKKyAgLyogR2V0IHRoZSBwZW5kaW5nIHN0YXR1cyBvZiB0aGUgV2FrZXVwIHRpbWVyIEludGVycnVwdCAqLworICBpZiAoX19IQUxfUlRDX1dBS0VVUFRJTUVSX0dFVF9GTEFHKGhydGMsIFJUQ19GTEFHX1dVVEYpICE9IDBVKQogICB7Ci0gICAgLyogV0FLRVVQVElNRVIgY2FsbGJhY2sgKi8KKyAgICAvKiBXYWtldXAgdGltZXIgY2FsbGJhY2sgKi8KICNpZiAoVVNFX0hBTF9SVENfUkVHSVNURVJfQ0FMTEJBQ0tTID09IDEpCiAgICAgaHJ0Yy0+V2FrZVVwVGltZXJFdmVudENhbGxiYWNrKGhydGMpOwogI2Vsc2UKICAgICBIQUxfUlRDRXhfV2FrZVVwVGltZXJFdmVudENhbGxiYWNrKGhydGMpOwogI2VuZGlmIC8qIFVTRV9IQUxfUlRDX1JFR0lTVEVSX0NBTExCQUNLUyAqLwogCi0gICAgLyogQ2xlYXIgdGhlIFdBS0VVUFRJTUVSIGludGVycnVwdCBwZW5kaW5nIGJpdCAqLworICAgIC8qIENsZWFyIHRoZSBXYWtldXAgdGltZXIgaW50ZXJydXB0IHBlbmRpbmcgYml0ICovCiAgICAgX19IQUxfUlRDX1dBS0VVUFRJTUVSX0NMRUFSX0ZMQUcoaHJ0YywgUlRDX0ZMQUdfV1VURik7CiAgIH0KIApAQCAtMTAzMyw3ICsxMTUyLDcgQEAKIH0KIAogLyoqCi0gICogQGJyaWVmICBXYWtlIFVwIFRpbWVyIGNhbGxiYWNrLgorICAqIEBicmllZiAgV2FrZXVwIFRpbWVyIGNhbGxiYWNrLgogICAqIEBwYXJhbSAgaHJ0YyBwb2ludGVyIHRvIGEgUlRDX0hhbmRsZVR5cGVEZWYgc3RydWN0dXJlIHRoYXQgY29udGFpbnMKICAgKiAgICAgICAgICAgICAgICB0aGUgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbiBmb3IgUlRDLgogICAqIEByZXR2YWwgTm9uZQpAQCAtMTA0MiwxMyArMTE2MSwxNCBAQAogewogICAvKiBQcmV2ZW50IHVudXNlZCBhcmd1bWVudChzKSBjb21waWxhdGlvbiB3YXJuaW5nICovCiAgIFVOVVNFRChocnRjKTsKLSAgLyogTk9URSA6IFRoaXMgZnVuY3Rpb24gU2hvdWxkIG5vdCBiZSBtb2RpZmllZCwgd2hlbiB0aGUgY2FsbGJhY2sgaXMgbmVlZGVkLAotICAgICAgICAgICAgdGhlIEhBTF9SVENfV2FrZVVwVGltZXJFdmVudENhbGxiYWNrIGNvdWxkIGJlIGltcGxlbWVudGVkIGluIHRoZSB1c2VyIGZpbGUKKworICAvKiBOT1RFOiBUaGlzIGZ1bmN0aW9uIHNob3VsZCBub3QgYmUgbW9kaWZpZWQsIHdoZW4gdGhlIGNhbGxiYWNrIGlzIG5lZWRlZCwKKyAgICAgICAgICAgdGhlIEhBTF9SVENFeF9XYWtlVXBUaW1lckV2ZW50Q2FsbGJhY2sgY291bGQgYmUgaW1wbGVtZW50ZWQgaW4gdGhlIHVzZXIgZmlsZQogICAgKi8KIH0KIAogLyoqCi0gICogQGJyaWVmICBUaGlzIGZ1bmN0aW9uIGhhbmRsZXMgV2FrZSBVcCBUaW1lciBQb2xsaW5nLgorICAqIEBicmllZiAgSGFuZGxlcyBXYWtldXAgVGltZXIgUG9sbGluZy4KICAgKiBAcGFyYW0gIGhydGMgcG9pbnRlciB0byBhIFJUQ19IYW5kbGVUeXBlRGVmIHN0cnVjdHVyZSB0aGF0IGNvbnRhaW5zCiAgICogICAgICAgICAgICAgICAgdGhlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gZm9yIFJUQy4KICAgKiBAcGFyYW0gIFRpbWVvdXQgVGltZW91dCBkdXJhdGlvbgpAQCAtMTA2MSwyMCArMTE4MSwxOSBAQAogICAvKiBHZXQgdGljayAqLwogICB0aWNrc3RhcnQgPSBIQUxfR2V0VGljaygpOwogCi0gIHdoaWxlKF9fSEFMX1JUQ19XQUtFVVBUSU1FUl9HRVRfRkxBRyhocnRjLCBSVENfRkxBR19XVVRGKSA9PSBSRVNFVCkKKyAgd2hpbGUgKF9fSEFMX1JUQ19XQUtFVVBUSU1FUl9HRVRfRkxBRyhocnRjLCBSVENfRkxBR19XVVRGKSA9PSAwVSkKICAgewotICAgIGlmKFRpbWVvdXQgIT0gSEFMX01BWF9ERUxBWSkKKyAgICBpZiAoVGltZW91dCAhPSBIQUxfTUFYX0RFTEFZKQogICAgIHsKLSAgICAgIGlmKChUaW1lb3V0ID09IDBVKXx8KChIQUxfR2V0VGljaygpIC0gdGlja3N0YXJ0ICkgPiBUaW1lb3V0KSkKKyAgICAgIGlmICgoVGltZW91dCA9PSAwVSkgfHwgKChIQUxfR2V0VGljaygpIC0gdGlja3N0YXJ0KSA+IFRpbWVvdXQpKQogICAgICAgewogICAgICAgICBocnRjLT5TdGF0ZSA9IEhBTF9SVENfU1RBVEVfVElNRU9VVDsKLQogICAgICAgICByZXR1cm4gSEFMX1RJTUVPVVQ7CiAgICAgICB9CiAgICAgfQogICB9CiAKLSAgLyogQ2xlYXIgdGhlIFdBS0VVUFRJTUVSIEZsYWcgKi8KKyAgLyogQ2xlYXIgdGhlIFdha2V1cCB0aW1lciBGbGFnICovCiAgIF9fSEFMX1JUQ19XQUtFVVBUSU1FUl9DTEVBUl9GTEFHKGhydGMsIFJUQ19GTEFHX1dVVEYpOwogCiAgIC8qIENoYW5nZSBSVEMgc3RhdGUgKi8KQEAgLTEwODcsMTMgKzEyMDYsMTIgQEAKICAgKiBAfQogICAqLwogCi0KLS8qKiBAZGVmZ3JvdXAgUlRDRXhfRXhwb3J0ZWRfRnVuY3Rpb25zX0dyb3VwMyBFeHRlbnNpb24gUGVyaXBoZXJhbCBDb250cm9sIGZ1bmN0aW9ucwotICogIEBicmllZiAgIEV4dGVuc2lvbiBQZXJpcGhlcmFsIENvbnRyb2wgZnVuY3Rpb25zCi0gKgorLyoqIEBkZWZncm91cCBSVENFeF9FeHBvcnRlZF9GdW5jdGlvbnNfR3JvdXAzIEV4dGVuZGVkIFBlcmlwaGVyYWwgQ29udHJvbCBmdW5jdGlvbnMKKyAgKiBAYnJpZWYgICAgRXh0ZW5kZWQgUGVyaXBoZXJhbCBDb250cm9sIGZ1bmN0aW9ucworICAqCiBAdmVyYmF0aW0KICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0gICAgICAgICAgICAgICMjIyMjIEV4dGVuc2lvbiBQZXJpcGhlcmFsIENvbnRyb2wgZnVuY3Rpb25zICMjIyMjCisgICAgICAgICAgICAgICMjIyMjIEV4dGVuZGVkIFBlcmlwaGVyYWwgQ29udHJvbCBmdW5jdGlvbnMgIyMjIyMKICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAgWy4uXQogICAgIFRoaXMgc3Vic2VjdGlvbiBwcm92aWRlcyBmdW5jdGlvbnMgYWxsb3dpbmcgdG8KQEAgLTExMTksOCArMTIzNyw4IEBACiAgICogQHBhcmFtICBocnRjIHBvaW50ZXIgdG8gYSBSVENfSGFuZGxlVHlwZURlZiBzdHJ1Y3R1cmUgdGhhdCBjb250YWlucwogICAqICAgICAgICAgICAgICAgIHRoZSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIGZvciBSVEMuCiAgICogQHBhcmFtICBCYWNrdXBSZWdpc3RlciBSVEMgQmFja3VwIGRhdGEgUmVnaXN0ZXIgbnVtYmVyLgotICAqICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZTogUlRDX0JLUF9EUnggd2hlcmUgeCBjYW4gYmUgZnJvbSAwIHRvIDE5IHRvCi0gICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcGVjaWZ5IHRoZSByZWdpc3Rlci4KKyAgKiAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmU6IFJUQ19CS1BfRFJ4ICh3aGVyZSB4IGNhbiBiZSBmcm9tIDAgdG8gMTkpCisgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0byBzcGVjaWZ5IHRoZSByZWdpc3Rlci4KICAgKiBAcGFyYW0gIERhdGEgRGF0YSB0byBiZSB3cml0dGVuIGluIHRoZSBzcGVjaWZpZWQgUlRDIEJhY2t1cCBkYXRhIHJlZ2lzdGVyLgogICAqIEByZXR2YWwgTm9uZQogICAqLwpAQCAtMTEzMSw3ICsxMjQ5LDcgQEAKICAgLyogQ2hlY2sgdGhlIHBhcmFtZXRlcnMgKi8KICAgYXNzZXJ0X3BhcmFtKElTX1JUQ19CS1AoQmFja3VwUmVnaXN0ZXIpKTsKIAotICB0bXAgPSAodWludDMyX3QpJihocnRjLT5JbnN0YW5jZS0+QktQMFIpOworICB0bXAgPSAodWludDMyX3QpICYgKGhydGMtPkluc3RhbmNlLT5CS1AwUik7CiAgIHRtcCArPSAoQmFja3VwUmVnaXN0ZXIgKiA0VSk7CiAKICAgLyogV3JpdGUgdGhlIHNwZWNpZmllZCByZWdpc3RlciAqLwpAQCAtMTE0Myw4ICsxMjYxLDggQEAKICAgKiBAcGFyYW0gIGhydGMgcG9pbnRlciB0byBhIFJUQ19IYW5kbGVUeXBlRGVmIHN0cnVjdHVyZSB0aGF0IGNvbnRhaW5zCiAgICogICAgICAgICAgICAgICAgdGhlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gZm9yIFJUQy4KICAgKiBAcGFyYW0gIEJhY2t1cFJlZ2lzdGVyIFJUQyBCYWNrdXAgZGF0YSBSZWdpc3RlciBudW1iZXIuCi0gICogICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlOiBSVENfQktQX0RSeCB3aGVyZSB4IGNhbiBiZSBmcm9tIDAgdG8gMTkgdG8KLSAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNwZWNpZnkgdGhlIHJlZ2lzdGVyLgorICAqICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZTogUlRDX0JLUF9EUnggKHdoZXJlIHggY2FuIGJlIGZyb20gMCB0byAxOSkKKyAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvIHNwZWNpZnkgdGhlIHJlZ2lzdGVyLgogICAqIEByZXR2YWwgUmVhZCB2YWx1ZQogICAqLwogdWludDMyX3QgSEFMX1JUQ0V4X0JLVVBSZWFkKFJUQ19IYW5kbGVUeXBlRGVmICpocnRjLCB1aW50MzJfdCBCYWNrdXBSZWdpc3RlcikKQEAgLTExNTQsNyArMTI3Miw3IEBACiAgIC8qIENoZWNrIHRoZSBwYXJhbWV0ZXJzICovCiAgIGFzc2VydF9wYXJhbShJU19SVENfQktQKEJhY2t1cFJlZ2lzdGVyKSk7CiAKLSAgdG1wID0gKHVpbnQzMl90KSYoaHJ0Yy0+SW5zdGFuY2UtPkJLUDBSKTsKKyAgdG1wID0gKHVpbnQzMl90KSAmIChocnRjLT5JbnN0YW5jZS0+QktQMFIpOwogICB0bXAgKz0gKEJhY2t1cFJlZ2lzdGVyICogNFUpOwogCiAgIC8qIFJlYWQgdGhlIHNwZWNpZmllZCByZWdpc3RlciAqLwpAQCAtMTE2Niw3ICsxMjg0LDcgQEAKICAgKiBAcGFyYW0gIGhydGMgcG9pbnRlciB0byBhIFJUQ19IYW5kbGVUeXBlRGVmIHN0cnVjdHVyZSB0aGF0IGNvbnRhaW5zCiAgICogICAgICAgICAgICAgICAgdGhlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gZm9yIFJUQy4KICAgKiBAcGFyYW0gIENhbGliU2lnbiBTcGVjaWZpZXMgdGhlIHNpZ24gb2YgdGhlIGNvYXJzZSBjYWxpYnJhdGlvbiB2YWx1ZS4KLSAgKiAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgIG9uZSBvZiB0aGUgZm9sbG93aW5nIHZhbHVlcyA6CisgICogICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlICBvbmUgb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXM6CiAgICogICAgICAgICAgICAgQGFyZyBSVENfQ0FMSUJTSUdOX1BPU0lUSVZFOiBUaGUgdmFsdWUgc2lnbiBpcyBwb3NpdGl2ZQogICAqICAgICAgICAgICAgIEBhcmcgUlRDX0NBTElCU0lHTl9ORUdBVElWRTogVGhlIHZhbHVlIHNpZ24gaXMgbmVnYXRpdmUKICAgKiBAcGFyYW0gIFZhbHVlIHZhbHVlIG9mIGNvYXJzZSBjYWxpYnJhdGlvbiBleHByZXNzZWQgaW4gcHBtIChjb2RlZCBvbiA1IGJpdHMpLgpAQCAtMTE3OCw4ICsxMjk2LDEwIEBACiAgICogICAgICAgICBzaWduIHdpdGggYSA0LXBwbSBzdGVwLgogICAqIEByZXR2YWwgSEFMIHN0YXR1cwogICAqLwotSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1JUQ0V4X1NldENvYXJzZUNhbGliKFJUQ19IYW5kbGVUeXBlRGVmKiBocnRjLCB1aW50MzJfdCBDYWxpYlNpZ24sIHVpbnQzMl90IFZhbHVlKQorSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1JUQ0V4X1NldENvYXJzZUNhbGliKFJUQ19IYW5kbGVUeXBlRGVmICpocnRjLCB1aW50MzJfdCBDYWxpYlNpZ24sIHVpbnQzMl90IFZhbHVlKQogeworICBIQUxfU3RhdHVzVHlwZURlZiBzdGF0dXM7CisKICAgLyogQ2hlY2sgdGhlIHBhcmFtZXRlcnMgKi8KICAgYXNzZXJ0X3BhcmFtKElTX1JUQ19DQUxJQl9TSUdOKENhbGliU2lnbikpOwogICBhc3NlcnRfcGFyYW0oSVNfUlRDX0NBTElCX1ZBTFVFKFZhbHVlKSk7CkBAIC0xMTkyLDQyICsxMzEyLDMzIEBACiAgIC8qIERpc2FibGUgdGhlIHdyaXRlIHByb3RlY3Rpb24gZm9yIFJUQyByZWdpc3RlcnMgKi8KICAgX19IQUxfUlRDX1dSSVRFUFJPVEVDVElPTl9ESVNBQkxFKGhydGMpOwogCi0gIC8qIFNldCBJbml0aWFsaXphdGlvbiBtb2RlICovCi0gIGlmKFJUQ19FbnRlckluaXRNb2RlKGhydGMpICE9IEhBTF9PSykKLSAgewotICAgIC8qIEVuYWJsZSB0aGUgd3JpdGUgcHJvdGVjdGlvbiBmb3IgUlRDIHJlZ2lzdGVycyAqLwotICAgIF9fSEFMX1JUQ19XUklURVBST1RFQ1RJT05fRU5BQkxFKGhydGMpOworICAvKiBFbnRlciBJbml0aWFsaXphdGlvbiBtb2RlICovCisgIHN0YXR1cyA9IFJUQ19FbnRlckluaXRNb2RlKGhydGMpOwogCi0gICAgLyogU2V0IFJUQyBzdGF0ZSovCi0gICAgaHJ0Yy0+U3RhdGUgPSBIQUxfUlRDX1NUQVRFX0VSUk9SOwotCi0gICAgLyogUHJvY2VzcyBVbmxvY2tlZCAqLwotICAgIF9fSEFMX1VOTE9DSyhocnRjKTsKLQotICAgIHJldHVybiBIQUxfRVJST1I7Ci0gIH0KLSAgZWxzZQorICBpZiAoc3RhdHVzID09IEhBTF9PSykKICAgewogICAgIC8qIEVuYWJsZSB0aGUgQ29hcnNlIENhbGlicmF0aW9uICovCiAgICAgX19IQUxfUlRDX0NPQVJTRV9DQUxJQl9FTkFCTEUoaHJ0Yyk7CiAKICAgICAvKiBTZXQgdGhlIGNvYXJzZSBjYWxpYnJhdGlvbiB2YWx1ZSAqLwotICAgIGhydGMtPkluc3RhbmNlLT5DQUxJQlIgPSAodWludDMyX3QpKENhbGliU2lnbnxWYWx1ZSk7CisgICAgaHJ0Yy0+SW5zdGFuY2UtPkNBTElCUiA9ICh1aW50MzJfdCkoQ2FsaWJTaWduIHwgVmFsdWUpOwogCiAgICAgLyogRXhpdCBJbml0aWFsaXphdGlvbiBtb2RlICovCi0gICAgaHJ0Yy0+SW5zdGFuY2UtPklTUiAmPSAodWludDMyX3QpflJUQ19JU1JfSU5JVDsKKyAgICBzdGF0dXMgPSBSVENfRXhpdEluaXRNb2RlKGhydGMpOworICB9CisKKyAgaWYgKHN0YXR1cyA9PSBIQUxfT0spCisgIHsKKyAgICBocnRjLT5TdGF0ZSA9IEhBTF9SVENfU1RBVEVfUkVBRFk7CiAgIH0KIAogICAvKiBFbmFibGUgdGhlIHdyaXRlIHByb3RlY3Rpb24gZm9yIFJUQyByZWdpc3RlcnMgKi8KICAgX19IQUxfUlRDX1dSSVRFUFJPVEVDVElPTl9FTkFCTEUoaHJ0Yyk7CiAKLSAgLyogQ2hhbmdlIHN0YXRlICovCi0gIGhydGMtPlN0YXRlID0gSEFMX1JUQ19TVEFURV9SRUFEWTsKLQogICAvKiBQcm9jZXNzIFVubG9ja2VkICovCiAgIF9fSEFMX1VOTE9DSyhocnRjKTsKIAotICByZXR1cm4gSEFMX09LOworICByZXR1cm4gc3RhdHVzOwogfQogCiAvKioKQEAgLTEyMzYsOCArMTM0NywxMCBAQAogICAqICAgICAgICAgICAgICAgIHRoZSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIGZvciBSVEMuCiAgICogQHJldHZhbCBIQUwgc3RhdHVzCiAgICovCi1IQUxfU3RhdHVzVHlwZURlZiBIQUxfUlRDRXhfRGVhY3RpdmF0ZUNvYXJzZUNhbGliKFJUQ19IYW5kbGVUeXBlRGVmKiBocnRjKQorSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1JUQ0V4X0RlYWN0aXZhdGVDb2Fyc2VDYWxpYihSVENfSGFuZGxlVHlwZURlZiAqaHJ0YykKIHsKKyAgSEFMX1N0YXR1c1R5cGVEZWYgc3RhdHVzOworCiAgIC8qIFByb2Nlc3MgTG9ja2VkICovCiAgIF9fSEFMX0xPQ0soaHJ0Yyk7CiAKQEAgLTEyNDYsMzkgKzEzNTksMzAgQEAKICAgLyogRGlzYWJsZSB0aGUgd3JpdGUgcHJvdGVjdGlvbiBmb3IgUlRDIHJlZ2lzdGVycyAqLwogICBfX0hBTF9SVENfV1JJVEVQUk9URUNUSU9OX0RJU0FCTEUoaHJ0Yyk7CiAKLSAgLyogU2V0IEluaXRpYWxpemF0aW9uIG1vZGUgKi8KLSAgaWYoUlRDX0VudGVySW5pdE1vZGUoaHJ0YykgIT0gSEFMX09LKQorICAvKiBFbnRlciBJbml0aWFsaXphdGlvbiBtb2RlICovCisgIHN0YXR1cyA9IFJUQ19FbnRlckluaXRNb2RlKGhydGMpOworCisgIGlmIChzdGF0dXMgPT0gSEFMX09LKQogICB7Ci0gICAgLyogRW5hYmxlIHRoZSB3cml0ZSBwcm90ZWN0aW9uIGZvciBSVEMgcmVnaXN0ZXJzICovCi0gICAgX19IQUxfUlRDX1dSSVRFUFJPVEVDVElPTl9FTkFCTEUoaHJ0Yyk7Ci0KLSAgICAvKiBTZXQgUlRDIHN0YXRlKi8KLSAgICBocnRjLT5TdGF0ZSA9IEhBTF9SVENfU1RBVEVfRVJST1I7Ci0KLSAgICAvKiBQcm9jZXNzIFVubG9ja2VkICovCi0gICAgX19IQUxfVU5MT0NLKGhydGMpOwotCi0gICAgcmV0dXJuIEhBTF9FUlJPUjsKLSAgfQotICBlbHNlCi0gIHsKLSAgICAvKiBFbmFibGUgdGhlIENvYXJzZSBDYWxpYnJhdGlvbiAqLworICAgIC8qIERpc2FibGUgdGhlIENvYXJzZSBDYWxpYnJhdGlvbiAqLwogICAgIF9fSEFMX1JUQ19DT0FSU0VfQ0FMSUJfRElTQUJMRShocnRjKTsKIAogICAgIC8qIEV4aXQgSW5pdGlhbGl6YXRpb24gbW9kZSAqLwotICAgIGhydGMtPkluc3RhbmNlLT5JU1IgJj0gKHVpbnQzMl90KX5SVENfSVNSX0lOSVQ7CisgICAgc3RhdHVzID0gUlRDX0V4aXRJbml0TW9kZShocnRjKTsKKyAgfQorCisgIGlmIChzdGF0dXMgPT0gSEFMX09LKQorICB7CisgICAgaHJ0Yy0+U3RhdGUgPSBIQUxfUlRDX1NUQVRFX1JFQURZOwogICB9CiAKICAgLyogRW5hYmxlIHRoZSB3cml0ZSBwcm90ZWN0aW9uIGZvciBSVEMgcmVnaXN0ZXJzICovCiAgIF9fSEFMX1JUQ19XUklURVBST1RFQ1RJT05fRU5BQkxFKGhydGMpOwogCi0gIC8qIENoYW5nZSBzdGF0ZSAqLwotICBocnRjLT5TdGF0ZSA9IEhBTF9SVENfU1RBVEVfUkVBRFk7Ci0KICAgLyogUHJvY2VzcyBVbmxvY2tlZCAqLwogICBfX0hBTF9VTkxPQ0soaHJ0Yyk7CiAKLSAgcmV0dXJuIEhBTF9PSzsKKyAgcmV0dXJuIHN0YXR1czsKIH0KIAogLyoqCkBAIC0xMjg2LDcgKzEzOTAsNyBAQAogICAqIEBwYXJhbSAgaHJ0YyBwb2ludGVyIHRvIGEgUlRDX0hhbmRsZVR5cGVEZWYgc3RydWN0dXJlIHRoYXQgY29udGFpbnMKICAgKiAgICAgICAgICAgICAgICB0aGUgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbiBmb3IgUlRDLgogICAqIEBwYXJhbSAgU21vb3RoQ2FsaWJQZXJpb2QgU2VsZWN0IHRoZSBTbW9vdGggQ2FsaWJyYXRpb24gUGVyaW9kLgotICAqICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBjYW4gYmUgb25lIG9mIHRoZSBmb2xsb3dpbmcgdmFsdWVzIDoKKyAgKiAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgY2FuIGJlIG9uZSBvZiB0aGUgZm9sbG93aW5nIHZhbHVlczoKICAgKiAgICAgICAgICAgICBAYXJnIFJUQ19TTU9PVEhDQUxJQl9QRVJJT0RfMzJTRUM6IFRoZSBzbW9vdGggY2FsaWJyYXRpb24gcGVyaW9kIGlzIDMycy4KICAgKiAgICAgICAgICAgICBAYXJnIFJUQ19TTU9PVEhDQUxJQl9QRVJJT0RfMTZTRUM6IFRoZSBzbW9vdGggY2FsaWJyYXRpb24gcGVyaW9kIGlzIDE2cy4KICAgKiAgICAgICAgICAgICBAYXJnIFJUQ19TTU9PVEhDQUxJQl9QRVJJT0RfOFNFQzogVGhlIHNtb290aCBjYWxpYnJhdGlvbiBwZXJpb2QgaXMgOHMuCkBAIC0xMjk0LDIxICsxMzk4LDIxIEBACiAgICogICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIG9uZSBvZiB0aGUgZm9sbG93aW5nIHZhbHVlczoKICAgKiAgICAgICAgICAgICBAYXJnIFJUQ19TTU9PVEhDQUxJQl9QTFVTUFVMU0VTX1NFVDogQWRkIG9uZSBSVENDTEsgcHVsc2UgZXZlcnkgMioxMSBwdWxzZXMuCiAgICogICAgICAgICAgICAgQGFyZyBSVENfU01PT1RIQ0FMSUJfUExVU1BVTFNFU19SRVNFVDogTm8gUlRDQ0xLIHB1bHNlcyBhcmUgYWRkZWQuCi0gICogQHBhcmFtICBTbW91dGhDYWxpYk1pbnVzUHVsc2VzVmFsdWUgU2VsZWN0IHRoZSB2YWx1ZSBvZiBDQUxNWzgwXSBiaXRzLgorICAqIEBwYXJhbSAgU21vb3RoQ2FsaWJNaW51c1B1bHNlc1ZhbHVlIFNlbGVjdCB0aGUgdmFsdWUgb2YgQ0FMTVs4OjBdIGJpdHMuCiAgICogICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIG9uZSBhbnkgdmFsdWUgZnJvbSAwIHRvIDB4MDAwMDAxRkYuCiAgICogQG5vdGUgICBUbyBkZWFjdGl2YXRlIHRoZSBzbW9vdGggY2FsaWJyYXRpb24sIHRoZSBmaWVsZCBTbW9vdGhDYWxpYlBsdXNQdWxzZXMKICAgKiAgICAgICAgIG11c3QgYmUgZXF1YWwgdG8gU01PT1RIQ0FMSUJfUExVU1BVTFNFU19SRVNFVCBhbmQgdGhlIGZpZWxkCi0gICogICAgICAgICBTbW91dGhDYWxpYk1pbnVzUHVsc2VzVmFsdWUgbXVzdCBiZSBlcXVhbCB0byAwLgorICAqICAgICAgICAgU21vb3RoQ2FsaWJNaW51c1B1bHNlc1ZhbHVlIG11c3QgYmUgZXF1YWwgdG8gMC4KICAgKiBAcmV0dmFsIEhBTCBzdGF0dXMKICAgKi8KLUhBTF9TdGF0dXNUeXBlRGVmIEhBTF9SVENFeF9TZXRTbW9vdGhDYWxpYihSVENfSGFuZGxlVHlwZURlZiogaHJ0YywgdWludDMyX3QgU21vb3RoQ2FsaWJQZXJpb2QsIHVpbnQzMl90IFNtb290aENhbGliUGx1c1B1bHNlcywgdWludDMyX3QgU21vdXRoQ2FsaWJNaW51c1B1bHNlc1ZhbHVlKQorSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1JUQ0V4X1NldFNtb290aENhbGliKFJUQ19IYW5kbGVUeXBlRGVmICpocnRjLCB1aW50MzJfdCBTbW9vdGhDYWxpYlBlcmlvZCwgdWludDMyX3QgU21vb3RoQ2FsaWJQbHVzUHVsc2VzLCB1aW50MzJfdCBTbW9vdGhDYWxpYk1pbnVzUHVsc2VzVmFsdWUpCiB7CiAgIHVpbnQzMl90IHRpY2tzdGFydCA9IDBVOwogCiAgIC8qIENoZWNrIHRoZSBwYXJhbWV0ZXJzICovCiAgIGFzc2VydF9wYXJhbShJU19SVENfU01PT1RIX0NBTElCX1BFUklPRChTbW9vdGhDYWxpYlBlcmlvZCkpOwogICBhc3NlcnRfcGFyYW0oSVNfUlRDX1NNT09USF9DQUxJQl9QTFVTKFNtb290aENhbGliUGx1c1B1bHNlcykpOwotICBhc3NlcnRfcGFyYW0oSVNfUlRDX1NNT09USF9DQUxJQl9NSU5VUyhTbW91dGhDYWxpYk1pbnVzUHVsc2VzVmFsdWUpKTsKKyAgYXNzZXJ0X3BhcmFtKElTX1JUQ19TTU9PVEhfQ0FMSUJfTUlOVVMoU21vb3RoQ2FsaWJNaW51c1B1bHNlc1ZhbHVlKSk7CiAKICAgLyogUHJvY2VzcyBMb2NrZWQgKi8KICAgX19IQUxfTE9DSyhocnRjKTsKQEAgLTEzMTksMTUgKzE0MjMsMTUgQEAKICAgX19IQUxfUlRDX1dSSVRFUFJPVEVDVElPTl9ESVNBQkxFKGhydGMpOwogCiAgIC8qIGNoZWNrIGlmIGEgY2FsaWJyYXRpb24gaXMgcGVuZGluZyovCi0gIGlmKChocnRjLT5JbnN0YW5jZS0+SVNSICYgUlRDX0lTUl9SRUNBTFBGKSAhPSBSRVNFVCkKKyAgaWYgKChocnRjLT5JbnN0YW5jZS0+SVNSICYgUlRDX0lTUl9SRUNBTFBGKSAhPSAwVSkKICAgewotICAvKiBHZXQgdGljayAqLwotICB0aWNrc3RhcnQgPSBIQUxfR2V0VGljaygpOworICAgIC8qIEdldCB0aWNrICovCisgICAgdGlja3N0YXJ0ID0gSEFMX0dldFRpY2soKTsKIAogICAgIC8qIGNoZWNrIGlmIGEgY2FsaWJyYXRpb24gaXMgcGVuZGluZyovCi0gICAgd2hpbGUoKGhydGMtPkluc3RhbmNlLT5JU1IgJiBSVENfSVNSX1JFQ0FMUEYpICE9IFJFU0VUKQorICAgIHdoaWxlICgoaHJ0Yy0+SW5zdGFuY2UtPklTUiAmIFJUQ19JU1JfUkVDQUxQRikgIT0gMFUpCiAgICAgewotICAgICAgaWYoKEhBTF9HZXRUaWNrKCkgLSB0aWNrc3RhcnQgKSA+IFJUQ19USU1FT1VUX1ZBTFVFKQorICAgICAgaWYgKChIQUxfR2V0VGljaygpIC0gdGlja3N0YXJ0KSA+IFJUQ19USU1FT1VUX1ZBTFVFKQogICAgICAgewogICAgICAgICAvKiBFbmFibGUgdGhlIHdyaXRlIHByb3RlY3Rpb24gZm9yIFJUQyByZWdpc3RlcnMgKi8KICAgICAgICAgX19IQUxfUlRDX1dSSVRFUFJPVEVDVElPTl9FTkFCTEUoaHJ0Yyk7CkBAIC0xMzQ0LDcgKzE0NDgsOSBAQAogICB9CiAKICAgLyogQ29uZmlndXJlIHRoZSBTbW9vdGggY2FsaWJyYXRpb24gc2V0dGluZ3MgKi8KLSAgaHJ0Yy0+SW5zdGFuY2UtPkNBTFIgPSAodWludDMyX3QpKCh1aW50MzJfdClTbW9vdGhDYWxpYlBlcmlvZCB8ICh1aW50MzJfdClTbW9vdGhDYWxpYlBsdXNQdWxzZXMgfCAodWludDMyX3QpU21vdXRoQ2FsaWJNaW51c1B1bHNlc1ZhbHVlKTsKKyAgaHJ0Yy0+SW5zdGFuY2UtPkNBTFIgPSAodWludDMyX3QpKCh1aW50MzJfdClTbW9vdGhDYWxpYlBlcmlvZCAgICAgfCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodWludDMyX3QpU21vb3RoQ2FsaWJQbHVzUHVsc2VzIHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHVpbnQzMl90KVNtb290aENhbGliTWludXNQdWxzZXNWYWx1ZSk7CiAKICAgLyogRW5hYmxlIHRoZSB3cml0ZSBwcm90ZWN0aW9uIGZvciBSVEMgcmVnaXN0ZXJzICovCiAgIF9fSEFMX1JUQ19XUklURVBST1RFQ1RJT05fRU5BQkxFKGhydGMpOwpAQCAtMTM2NCwxNCArMTQ3MCwxNCBAQAogICAqIEBwYXJhbSAgaHJ0YyBwb2ludGVyIHRvIGEgUlRDX0hhbmRsZVR5cGVEZWYgc3RydWN0dXJlIHRoYXQgY29udGFpbnMKICAgKiAgICAgICAgICAgICAgICB0aGUgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbiBmb3IgUlRDLgogICAqIEBwYXJhbSAgU2hpZnRBZGQxUyBTZWxlY3QgdG8gYWRkIG9yIG5vdCAxIHNlY29uZCB0byB0aGUgdGltZSBjYWxlbmRhci4KLSAgKiAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgb25lIG9mIHRoZSBmb2xsb3dpbmcgdmFsdWVzIDoKKyAgKiAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgb25lIG9mIHRoZSBmb2xsb3dpbmcgdmFsdWVzOgogICAqICAgICAgICAgICAgIEBhcmcgUlRDX1NISUZUQUREMVNfU0VUOiBBZGQgb25lIHNlY29uZCB0byB0aGUgY2xvY2sgY2FsZW5kYXIuCiAgICogICAgICAgICAgICAgQGFyZyBSVENfU0hJRlRBREQxU19SRVNFVDogTm8gZWZmZWN0LgogICAqIEBwYXJhbSAgU2hpZnRTdWJGUyBTZWxlY3QgdGhlIG51bWJlciBvZiBTZWNvbmQgRnJhY3Rpb25zIHRvIHN1YnN0aXR1dGUuCiAgICogICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIG9uZSBhbnkgdmFsdWUgZnJvbSAwIHRvIDB4N0ZGRi4KICAgKiBAcmV0dmFsIEhBTCBzdGF0dXMKICAgKi8KLUhBTF9TdGF0dXNUeXBlRGVmIEhBTF9SVENFeF9TZXRTeW5jaHJvU2hpZnQoUlRDX0hhbmRsZVR5cGVEZWYqIGhydGMsIHVpbnQzMl90IFNoaWZ0QWRkMVMsIHVpbnQzMl90IFNoaWZ0U3ViRlMpCitIQUxfU3RhdHVzVHlwZURlZiBIQUxfUlRDRXhfU2V0U3luY2hyb1NoaWZ0KFJUQ19IYW5kbGVUeXBlRGVmICpocnRjLCB1aW50MzJfdCBTaGlmdEFkZDFTLCB1aW50MzJfdCBTaGlmdFN1YkZTKQogewogICB1aW50MzJfdCB0aWNrc3RhcnQgPSAwVTsKIApAQCAtMTM5MCw1OSArMTQ5Niw1OSBAQAogICAvKiBHZXQgdGljayAqLwogICB0aWNrc3RhcnQgPSBIQUxfR2V0VGljaygpOwogCi0gICAgLyogV2FpdCB1bnRpbCB0aGUgc2hpZnQgaXMgY29tcGxldGVkKi8KLSAgICB3aGlsZSgoaHJ0Yy0+SW5zdGFuY2UtPklTUiAmIFJUQ19JU1JfU0hQRikgIT0gUkVTRVQpCi0gICAgewotICAgICAgaWYoKEhBTF9HZXRUaWNrKCkgLSB0aWNrc3RhcnQgKSA+IFJUQ19USU1FT1VUX1ZBTFVFKQotICAgICAgewotICAgICAgICAvKiBFbmFibGUgdGhlIHdyaXRlIHByb3RlY3Rpb24gZm9yIFJUQyByZWdpc3RlcnMgKi8KLSAgICAgICAgX19IQUxfUlRDX1dSSVRFUFJPVEVDVElPTl9FTkFCTEUoaHJ0Yyk7Ci0KLSAgICAgICAgaHJ0Yy0+U3RhdGUgPSBIQUxfUlRDX1NUQVRFX1RJTUVPVVQ7Ci0KLSAgICAgICAgLyogUHJvY2VzcyBVbmxvY2tlZCAqLwotICAgICAgICBfX0hBTF9VTkxPQ0soaHJ0Yyk7Ci0KLSAgICAgICAgcmV0dXJuIEhBTF9USU1FT1VUOwotICAgICAgfQotICAgIH0KLQotICAgIC8qIENoZWNrIGlmIHRoZSByZWZlcmVuY2UgY2xvY2sgZGV0ZWN0aW9uIGlzIGRpc2FibGVkICovCi0gICAgaWYoKGhydGMtPkluc3RhbmNlLT5DUiAmIFJUQ19DUl9SRUZDS09OKSA9PSBSRVNFVCkKLSAgICB7Ci0gICAgICAvKiBDb25maWd1cmUgdGhlIFNoaWZ0IHNldHRpbmdzICovCi0gICAgICBocnRjLT5JbnN0YW5jZS0+U0hJRlRSID0gKHVpbnQzMl90KSh1aW50MzJfdCkoU2hpZnRTdWJGUykgfCAodWludDMyX3QpKFNoaWZ0QWRkMVMpOwotCi0gICAgICAvKiBJZiAgUlRDX0NSX0JZUFNIQUQgYml0ID0gMCwgd2FpdCBmb3Igc3luY2hybyBlbHNlIHRoaXMgY2hlY2sgaXMgbm90IG5lZWRlZCAqLwotICAgICAgaWYoKGhydGMtPkluc3RhbmNlLT5DUiAmIFJUQ19DUl9CWVBTSEFEKSA9PSBSRVNFVCkKLSAgICAgIHsKLSAgICAgICAgaWYoSEFMX1JUQ19XYWl0Rm9yU3luY2hybyhocnRjKSAhPSBIQUxfT0spCi0gICAgICAgIHsKLSAgICAgICAgICAvKiBFbmFibGUgdGhlIHdyaXRlIHByb3RlY3Rpb24gZm9yIFJUQyByZWdpc3RlcnMgKi8KLSAgICAgICAgICBfX0hBTF9SVENfV1JJVEVQUk9URUNUSU9OX0VOQUJMRShocnRjKTsKLQotICAgICAgICAgIGhydGMtPlN0YXRlID0gSEFMX1JUQ19TVEFURV9FUlJPUjsKLQotICAgICAgICAgIC8qIFByb2Nlc3MgVW5sb2NrZWQgKi8KLSAgICAgICAgICBfX0hBTF9VTkxPQ0soaHJ0Yyk7Ci0KLSAgICAgICAgICByZXR1cm4gSEFMX0VSUk9SOwotICAgICAgICB9Ci0gICAgICB9Ci0gICAgfQotICAgIGVsc2UKKyAgLyogV2FpdCB1bnRpbCB0aGUgc2hpZnQgaXMgY29tcGxldGVkICovCisgIHdoaWxlICgoaHJ0Yy0+SW5zdGFuY2UtPklTUiAmIFJUQ19JU1JfU0hQRikgIT0gMFUpCisgIHsKKyAgICBpZiAoKEhBTF9HZXRUaWNrKCkgLSB0aWNrc3RhcnQpID4gUlRDX1RJTUVPVVRfVkFMVUUpCiAgICAgewogICAgICAgLyogRW5hYmxlIHRoZSB3cml0ZSBwcm90ZWN0aW9uIGZvciBSVEMgcmVnaXN0ZXJzICovCiAgICAgICBfX0hBTF9SVENfV1JJVEVQUk9URUNUSU9OX0VOQUJMRShocnRjKTsKIAotICAgICAgLyogQ2hhbmdlIFJUQyBzdGF0ZSAqLwotICAgICAgaHJ0Yy0+U3RhdGUgPSBIQUxfUlRDX1NUQVRFX0VSUk9SOworICAgICAgaHJ0Yy0+U3RhdGUgPSBIQUxfUlRDX1NUQVRFX1RJTUVPVVQ7CiAKICAgICAgIC8qIFByb2Nlc3MgVW5sb2NrZWQgKi8KICAgICAgIF9fSEFMX1VOTE9DSyhocnRjKTsKIAotICAgICAgcmV0dXJuIEhBTF9FUlJPUjsKKyAgICAgIHJldHVybiBIQUxfVElNRU9VVDsKICAgICB9CisgIH0KKworICAvKiBDaGVjayBpZiB0aGUgcmVmZXJlbmNlIGNsb2NrIGRldGVjdGlvbiBpcyBkaXNhYmxlZCAqLworICBpZiAoKGhydGMtPkluc3RhbmNlLT5DUiAmIFJUQ19DUl9SRUZDS09OKSA9PSAwVSkKKyAgeworICAgIC8qIENvbmZpZ3VyZSB0aGUgU2hpZnQgc2V0dGluZ3MgKi8KKyAgICBocnRjLT5JbnN0YW5jZS0+U0hJRlRSID0gKHVpbnQzMl90KSh1aW50MzJfdCkoU2hpZnRTdWJGUykgfCAodWludDMyX3QpKFNoaWZ0QWRkMVMpOworCisgICAgLyogSWYgIFJUQ19DUl9CWVBTSEFEIGJpdCA9IDAsIHdhaXQgZm9yIHN5bmNocm8gZWxzZSB0aGlzIGNoZWNrIGlzIG5vdCBuZWVkZWQgKi8KKyAgICBpZiAoKGhydGMtPkluc3RhbmNlLT5DUiAmIFJUQ19DUl9CWVBTSEFEKSA9PSAwVSkKKyAgICB7CisgICAgICBpZiAoSEFMX1JUQ19XYWl0Rm9yU3luY2hybyhocnRjKSAhPSBIQUxfT0spCisgICAgICB7CisgICAgICAgIC8qIEVuYWJsZSB0aGUgd3JpdGUgcHJvdGVjdGlvbiBmb3IgUlRDIHJlZ2lzdGVycyAqLworICAgICAgICBfX0hBTF9SVENfV1JJVEVQUk9URUNUSU9OX0VOQUJMRShocnRjKTsKKworICAgICAgICBocnRjLT5TdGF0ZSA9IEhBTF9SVENfU1RBVEVfRVJST1I7CisKKyAgICAgICAgLyogUHJvY2VzcyBVbmxvY2tlZCAqLworICAgICAgICBfX0hBTF9VTkxPQ0soaHJ0Yyk7CisKKyAgICAgICAgcmV0dXJuIEhBTF9FUlJPUjsKKyAgICAgIH0KKyAgICB9CisgIH0KKyAgZWxzZQorICB7CisgICAgLyogRW5hYmxlIHRoZSB3cml0ZSBwcm90ZWN0aW9uIGZvciBSVEMgcmVnaXN0ZXJzICovCisgICAgX19IQUxfUlRDX1dSSVRFUFJPVEVDVElPTl9FTkFCTEUoaHJ0Yyk7CisKKyAgICAvKiBDaGFuZ2UgUlRDIHN0YXRlICovCisgICAgaHJ0Yy0+U3RhdGUgPSBIQUxfUlRDX1NUQVRFX0VSUk9SOworCisgICAgLyogUHJvY2VzcyBVbmxvY2tlZCAqLworICAgIF9fSEFMX1VOTE9DSyhocnRjKTsKKworICAgIHJldHVybiBIQUxfRVJST1I7CisgIH0KIAogICAvKiBFbmFibGUgdGhlIHdyaXRlIHByb3RlY3Rpb24gZm9yIFJUQyByZWdpc3RlcnMgKi8KICAgX19IQUxfUlRDX1dSSVRFUFJPVEVDVElPTl9FTkFCTEUoaHJ0Yyk7CkBAIC0xNDYwLDEzICsxNTY2LDEzIEBACiAgICogQGJyaWVmICBDb25maWd1cmVzIHRoZSBDYWxpYnJhdGlvbiBQaW5vdXQgKFJUQ19DQUxJQikgU2VsZWN0aW9uICgxSHogb3IgNTEySHopLgogICAqIEBwYXJhbSAgaHJ0YyBwb2ludGVyIHRvIGEgUlRDX0hhbmRsZVR5cGVEZWYgc3RydWN0dXJlIHRoYXQgY29udGFpbnMKICAgKiAgICAgICAgICAgICAgICB0aGUgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbiBmb3IgUlRDLgotICAqIEBwYXJhbSAgQ2FsaWJPdXRwdXQgU2VsZWN0IHRoZSBDYWxpYnJhdGlvbiBvdXRwdXQgU2VsZWN0aW9uIC4KKyAgKiBAcGFyYW0gIENhbGliT3V0cHV0IFNlbGVjdCB0aGUgQ2FsaWJyYXRpb24gb3V0cHV0IFNlbGVjdGlvbi4KICAgKiAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgb25lIG9mIHRoZSBmb2xsb3dpbmcgdmFsdWVzOgogICAqICAgICAgICAgICAgIEBhcmcgUlRDX0NBTElCT1VUUFVUXzUxMkhaOiBBIHNpZ25hbCBoYXMgYSByZWd1bGFyIHdhdmVmb3JtIGF0IDUxMkh6LgogICAqICAgICAgICAgICAgIEBhcmcgUlRDX0NBTElCT1VUUFVUXzFIWjogQSBzaWduYWwgaGFzIGEgcmVndWxhciB3YXZlZm9ybSBhdCAxSHouCiAgICogQHJldHZhbCBIQUwgc3RhdHVzCiAgICovCi1IQUxfU3RhdHVzVHlwZURlZiBIQUxfUlRDRXhfU2V0Q2FsaWJyYXRpb25PdXRQdXQoUlRDX0hhbmRsZVR5cGVEZWYqIGhydGMsIHVpbnQzMl90IENhbGliT3V0cHV0KQorSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1JUQ0V4X1NldENhbGlicmF0aW9uT3V0UHV0KFJUQ19IYW5kbGVUeXBlRGVmICpocnRjLCB1aW50MzJfdCBDYWxpYk91dHB1dCkKIHsKICAgLyogQ2hlY2sgdGhlIHBhcmFtZXRlcnMgKi8KICAgYXNzZXJ0X3BhcmFtKElTX1JUQ19DQUxJQl9PVVRQVVQoQ2FsaWJPdXRwdXQpKTsKQEAgLTE1MDUsNyArMTYxMSw3IEBACiAgICogICAgICAgICAgICAgICAgdGhlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gZm9yIFJUQy4KICAgKiBAcmV0dmFsIEhBTCBzdGF0dXMKICAgKi8KLUhBTF9TdGF0dXNUeXBlRGVmIEhBTF9SVENFeF9EZWFjdGl2YXRlQ2FsaWJyYXRpb25PdXRQdXQoUlRDX0hhbmRsZVR5cGVEZWYqIGhydGMpCitIQUxfU3RhdHVzVHlwZURlZiBIQUxfUlRDRXhfRGVhY3RpdmF0ZUNhbGlicmF0aW9uT3V0UHV0KFJUQ19IYW5kbGVUeXBlRGVmICpocnRjKQogewogICAvKiBQcm9jZXNzIExvY2tlZCAqLwogICBfX0hBTF9MT0NLKGhydGMpOwpAQCAtMTUzNSw4ICsxNjQxLDEwIEBACiAgICogICAgICAgICAgICAgICAgdGhlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gZm9yIFJUQy4KICAgKiBAcmV0dmFsIEhBTCBzdGF0dXMKICAgKi8KLUhBTF9TdGF0dXNUeXBlRGVmIEhBTF9SVENFeF9TZXRSZWZDbG9jayhSVENfSGFuZGxlVHlwZURlZiogaHJ0YykKK0hBTF9TdGF0dXNUeXBlRGVmIEhBTF9SVENFeF9TZXRSZWZDbG9jayhSVENfSGFuZGxlVHlwZURlZiAqaHJ0YykKIHsKKyAgSEFMX1N0YXR1c1R5cGVEZWYgc3RhdHVzOworCiAgIC8qIFByb2Nlc3MgTG9ja2VkICovCiAgIF9fSEFMX0xPQ0soaHJ0Yyk7CiAKQEAgLTE1NDUsMzggKzE2NTMsMzAgQEAKICAgLyogRGlzYWJsZSB0aGUgd3JpdGUgcHJvdGVjdGlvbiBmb3IgUlRDIHJlZ2lzdGVycyAqLwogICBfX0hBTF9SVENfV1JJVEVQUk9URUNUSU9OX0RJU0FCTEUoaHJ0Yyk7CiAKLSAgLyogU2V0IEluaXRpYWxpemF0aW9uIG1vZGUgKi8KLSAgaWYoUlRDX0VudGVySW5pdE1vZGUoaHJ0YykgIT0gSEFMX09LKQorICAvKiBFbnRlciBJbml0aWFsaXphdGlvbiBtb2RlICovCisgIHN0YXR1cyA9IFJUQ19FbnRlckluaXRNb2RlKGhydGMpOworCisgIGlmIChzdGF0dXMgPT0gSEFMX09LKQogICB7Ci0gICAgLyogRW5hYmxlIHRoZSB3cml0ZSBwcm90ZWN0aW9uIGZvciBSVEMgcmVnaXN0ZXJzICovCi0gICAgX19IQUxfUlRDX1dSSVRFUFJPVEVDVElPTl9FTkFCTEUoaHJ0Yyk7Ci0KLSAgICAvKiBTZXQgUlRDIHN0YXRlKi8KLSAgICBocnRjLT5TdGF0ZSA9IEhBTF9SVENfU1RBVEVfRVJST1I7Ci0KLSAgICAvKiBQcm9jZXNzIFVubG9ja2VkICovCi0gICAgX19IQUxfVU5MT0NLKGhydGMpOwotCi0gICAgcmV0dXJuIEhBTF9FUlJPUjsKLSAgfQotICBlbHNlCi0gIHsKKyAgICAvKiBFbmFibGUgdGhlIHJlZmVyZW5jZSBjbG9jayBkZXRlY3Rpb24gKi8KICAgICBfX0hBTF9SVENfQ0xPQ0tSRUZfREVURUNUSU9OX0VOQUJMRShocnRjKTsKIAogICAgIC8qIEV4aXQgSW5pdGlhbGl6YXRpb24gbW9kZSAqLwotICAgIGhydGMtPkluc3RhbmNlLT5JU1IgJj0gKHVpbnQzMl90KX5SVENfSVNSX0lOSVQ7CisgICAgc3RhdHVzID0gUlRDX0V4aXRJbml0TW9kZShocnRjKTsKKyAgfQorCisgIGlmIChzdGF0dXMgPT0gSEFMX09LKQorICB7CisgICAgaHJ0Yy0+U3RhdGUgPSBIQUxfUlRDX1NUQVRFX1JFQURZOwogICB9CiAKICAgLyogRW5hYmxlIHRoZSB3cml0ZSBwcm90ZWN0aW9uIGZvciBSVEMgcmVnaXN0ZXJzICovCiAgIF9fSEFMX1JUQ19XUklURVBST1RFQ1RJT05fRU5BQkxFKGhydGMpOwogCi0gICAvKiBDaGFuZ2UgUlRDIHN0YXRlICovCi0gIGhydGMtPlN0YXRlID0gSEFMX1JUQ19TVEFURV9SRUFEWTsKLQogICAvKiBQcm9jZXNzIFVubG9ja2VkICovCiAgIF9fSEFMX1VOTE9DSyhocnRjKTsKIAotICByZXR1cm4gSEFMX09LOworICByZXR1cm4gc3RhdHVzOwogfQogCiAvKioKQEAgLTE1ODUsOCArMTY4NSwxMCBAQAogICAqICAgICAgICAgICAgICAgIHRoZSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIGZvciBSVEMuCiAgICogQHJldHZhbCBIQUwgc3RhdHVzCiAgICovCi1IQUxfU3RhdHVzVHlwZURlZiBIQUxfUlRDRXhfRGVhY3RpdmF0ZVJlZkNsb2NrKFJUQ19IYW5kbGVUeXBlRGVmKiBocnRjKQorSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1JUQ0V4X0RlYWN0aXZhdGVSZWZDbG9jayhSVENfSGFuZGxlVHlwZURlZiAqaHJ0YykKIHsKKyAgSEFMX1N0YXR1c1R5cGVEZWYgc3RhdHVzOworCiAgIC8qIFByb2Nlc3MgTG9ja2VkICovCiAgIF9fSEFMX0xPQ0soaHJ0Yyk7CiAKQEAgLTE1OTUsMzggKzE2OTcsMzAgQEAKICAgLyogRGlzYWJsZSB0aGUgd3JpdGUgcHJvdGVjdGlvbiBmb3IgUlRDIHJlZ2lzdGVycyAqLwogICBfX0hBTF9SVENfV1JJVEVQUk9URUNUSU9OX0RJU0FCTEUoaHJ0Yyk7CiAKLSAgLyogU2V0IEluaXRpYWxpemF0aW9uIG1vZGUgKi8KLSAgaWYoUlRDX0VudGVySW5pdE1vZGUoaHJ0YykgIT0gSEFMX09LKQorICAvKiBFbnRlciBJbml0aWFsaXphdGlvbiBtb2RlICovCisgIHN0YXR1cyA9IFJUQ19FbnRlckluaXRNb2RlKGhydGMpOworCisgIGlmIChzdGF0dXMgPT0gSEFMX09LKQogICB7Ci0gICAgLyogRW5hYmxlIHRoZSB3cml0ZSBwcm90ZWN0aW9uIGZvciBSVEMgcmVnaXN0ZXJzICovCi0gICAgX19IQUxfUlRDX1dSSVRFUFJPVEVDVElPTl9FTkFCTEUoaHJ0Yyk7Ci0KLSAgICAvKiBTZXQgUlRDIHN0YXRlKi8KLSAgICBocnRjLT5TdGF0ZSA9IEhBTF9SVENfU1RBVEVfRVJST1I7Ci0KLSAgICAvKiBQcm9jZXNzIFVubG9ja2VkICovCi0gICAgX19IQUxfVU5MT0NLKGhydGMpOwotCi0gICAgcmV0dXJuIEhBTF9FUlJPUjsKLSAgfQotICBlbHNlCi0gIHsKKyAgICAvKiBEaXNhYmxlIHRoZSByZWZlcmVuY2UgY2xvY2sgZGV0ZWN0aW9uICovCiAgICAgX19IQUxfUlRDX0NMT0NLUkVGX0RFVEVDVElPTl9ESVNBQkxFKGhydGMpOwogCiAgICAgLyogRXhpdCBJbml0aWFsaXphdGlvbiBtb2RlICovCi0gICAgaHJ0Yy0+SW5zdGFuY2UtPklTUiAmPSAodWludDMyX3QpflJUQ19JU1JfSU5JVDsKKyAgICBzdGF0dXMgPSBSVENfRXhpdEluaXRNb2RlKGhydGMpOworICB9CisKKyAgaWYgKHN0YXR1cyA9PSBIQUxfT0spCisgIHsKKyAgICBocnRjLT5TdGF0ZSA9IEhBTF9SVENfU1RBVEVfUkVBRFk7CiAgIH0KIAogICAvKiBFbmFibGUgdGhlIHdyaXRlIHByb3RlY3Rpb24gZm9yIFJUQyByZWdpc3RlcnMgKi8KICAgX19IQUxfUlRDX1dSSVRFUFJPVEVDVElPTl9FTkFCTEUoaHJ0Yyk7CiAKLSAgLyogQ2hhbmdlIFJUQyBzdGF0ZSAqLwotICBocnRjLT5TdGF0ZSA9IEhBTF9SVENfU1RBVEVfUkVBRFk7Ci0KICAgLyogUHJvY2VzcyBVbmxvY2tlZCAqLwogICBfX0hBTF9VTkxPQ0soaHJ0Yyk7CiAKLSAgcmV0dXJuIEhBTF9PSzsKKyAgcmV0dXJuIHN0YXR1czsKIH0KIAogLyoqCkBAIC0xNjM3LDcgKzE3MzEsNyBAQAogICAqICAgICAgICAgZGlyZWN0bHkgZnJvbSB0aGUgQ2FsZW5kYXIgY291bnRlci4KICAgKiBAcmV0dmFsIEhBTCBzdGF0dXMKICAgKi8KLUhBTF9TdGF0dXNUeXBlRGVmIEhBTF9SVENFeF9FbmFibGVCeXBhc3NTaGFkb3coUlRDX0hhbmRsZVR5cGVEZWYqIGhydGMpCitIQUxfU3RhdHVzVHlwZURlZiBIQUxfUlRDRXhfRW5hYmxlQnlwYXNzU2hhZG93KFJUQ19IYW5kbGVUeXBlRGVmICpocnRjKQogewogICAvKiBQcm9jZXNzIExvY2tlZCAqLwogICBfX0hBTF9MT0NLKGhydGMpOwpAQCAtMTY3MCw3ICsxNzY0LDcgQEAKICAgKiAgICAgICAgIGRpcmVjdGx5IGZyb20gdGhlIENhbGVuZGFyIGNvdW50ZXIuCiAgICogQHJldHZhbCBIQUwgc3RhdHVzCiAgICovCi1IQUxfU3RhdHVzVHlwZURlZiBIQUxfUlRDRXhfRGlzYWJsZUJ5cGFzc1NoYWRvdyhSVENfSGFuZGxlVHlwZURlZiogaHJ0YykKK0hBTF9TdGF0dXNUeXBlRGVmIEhBTF9SVENFeF9EaXNhYmxlQnlwYXNzU2hhZG93KFJUQ19IYW5kbGVUeXBlRGVmICpocnRjKQogewogICAvKiBQcm9jZXNzIExvY2tlZCAqLwogICBfX0hBTF9MT0NLKGhydGMpOwpAQCAtMTY5OSw5ICsxNzkzLDkgQEAKICAgKiBAfQogICAqLwogCi0gIC8qKiBAZGVmZ3JvdXAgUlRDRXhfRXhwb3J0ZWRfRnVuY3Rpb25zX0dyb3VwNCBFeHRlbmRlZCBmZWF0dXJlcyBmdW5jdGlvbnMKLSAqICBAYnJpZWYgICAgRXh0ZW5kZWQgZmVhdHVyZXMgZnVuY3Rpb25zCi0gKgorLyoqIEBkZWZncm91cCBSVENFeF9FeHBvcnRlZF9GdW5jdGlvbnNfR3JvdXA0IEV4dGVuZGVkIGZlYXR1cmVzIGZ1bmN0aW9ucworICAqIEBicmllZiAgICBFeHRlbmRlZCBmZWF0dXJlcyBmdW5jdGlvbnMKKyAgKgogQHZlcmJhdGltCiAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgICAgICAgICAgICAgICAjIyMjIyBFeHRlbmRlZCBmZWF0dXJlcyBmdW5jdGlvbnMgIyMjIyMKQEAgLTE3MjQsMTMgKzE4MTgsMTQgQEAKIHsKICAgLyogUHJldmVudCB1bnVzZWQgYXJndW1lbnQocykgY29tcGlsYXRpb24gd2FybmluZyAqLwogICBVTlVTRUQoaHJ0Yyk7Ci0gIC8qIE5PVEUgOiBUaGlzIGZ1bmN0aW9uIFNob3VsZCBub3QgYmUgbW9kaWZpZWQsIHdoZW4gdGhlIGNhbGxiYWNrIGlzIG5lZWRlZCwKLSAgICAgICAgICAgIHRoZSBIQUxfUlRDX0FsYXJtQkV2ZW50Q2FsbGJhY2sgY291bGQgYmUgaW1wbGVtZW50ZWQgaW4gdGhlIHVzZXIgZmlsZQorCisgIC8qIE5PVEU6IFRoaXMgZnVuY3Rpb24gc2hvdWxkIG5vdCBiZSBtb2RpZmllZCwgd2hlbiB0aGUgY2FsbGJhY2sgaXMgbmVlZGVkLAorICAgICAgICAgICB0aGUgSEFMX1JUQ0V4X0FsYXJtQkV2ZW50Q2FsbGJhY2sgY291bGQgYmUgaW1wbGVtZW50ZWQgaW4gdGhlIHVzZXIgZmlsZQogICAgKi8KIH0KIAogLyoqCi0gICogQGJyaWVmICBUaGlzIGZ1bmN0aW9uIGhhbmRsZXMgQWxhcm1CIFBvbGxpbmcgcmVxdWVzdC4KKyAgKiBAYnJpZWYgIEhhbmRsZXMgQWxhcm0gQiBQb2xsaW5nIHJlcXVlc3QuCiAgICogQHBhcmFtICBocnRjIHBvaW50ZXIgdG8gYSBSVENfSGFuZGxlVHlwZURlZiBzdHJ1Y3R1cmUgdGhhdCBjb250YWlucwogICAqICAgICAgICAgICAgICAgIHRoZSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIGZvciBSVEMuCiAgICogQHBhcmFtICBUaW1lb3V0IFRpbWVvdXQgZHVyYXRpb24KQEAgLTE3NDMsMTEgKzE4MzgsMTIgQEAKICAgLyogR2V0IHRpY2sgKi8KICAgdGlja3N0YXJ0ID0gSEFMX0dldFRpY2soKTsKIAotICB3aGlsZShfX0hBTF9SVENfQUxBUk1fR0VUX0ZMQUcoaHJ0YywgUlRDX0ZMQUdfQUxSQkYpID09IFJFU0VUKQorICAvKiBXYWl0IHRpbGwgUlRDIEFMUkJGIGZsYWcgaXMgc2V0IGFuZCBpZiB0aW1lb3V0IGlzIHJlYWNoZWQgZXhpdCAqLworICB3aGlsZSAoX19IQUxfUlRDX0FMQVJNX0dFVF9GTEFHKGhydGMsIFJUQ19GTEFHX0FMUkJGKSA9PSAwVSkKICAgewotICAgIGlmKFRpbWVvdXQgIT0gSEFMX01BWF9ERUxBWSkKKyAgICBpZiAoVGltZW91dCAhPSBIQUxfTUFYX0RFTEFZKQogICAgIHsKLSAgICAgIGlmKChUaW1lb3V0ID09IDBVKXx8KChIQUxfR2V0VGljaygpIC0gdGlja3N0YXJ0ICkgPiBUaW1lb3V0KSkKKyAgICAgIGlmICgoVGltZW91dCA9PSAwVSkgfHwgKChIQUxfR2V0VGljaygpIC0gdGlja3N0YXJ0KSA+IFRpbWVvdXQpKQogICAgICAgewogICAgICAgICBocnRjLT5TdGF0ZSA9IEhBTF9SVENfU1RBVEVfVElNRU9VVDsKICAgICAgICAgcmV0dXJuIEhBTF9USU1FT1VUOwpAQCAtMTc1NSw3ICsxODUxLDcgQEAKICAgICB9CiAgIH0KIAotICAvKiBDbGVhciB0aGUgQWxhcm0gRmxhZyAqLworICAvKiBDbGVhciB0aGUgQWxhcm0gZmxhZyAqLwogICBfX0hBTF9SVENfQUxBUk1fQ0xFQVJfRkxBRyhocnRjLCBSVENfRkxBR19BTFJCRik7CiAKICAgLyogQ2hhbmdlIFJUQyBzdGF0ZSAqLwpAQCAtMTc4MCw1ICsxODc2LDMgQEAKIC8qKgogICAqIEB9CiAgICovCi0KLS8qKioqKioqKioqKioqKioqKioqKioqKiogKEMpIENPUFlSSUdIVCBTVE1pY3JvZWxlY3Ryb25pY3MgKioqKipFTkQgT0YgRklMRSoqKiovCmRpZmYgLS1naXQgYS9TcmMvc3RtMzJmNHh4X2hhbF9zYWkuYyBiL1NyYy9zdG0zMmY0eHhfaGFsX3NhaS5jCmluZGV4IDdkMTU3Y2MuLjE5ZTM3NDggMTAwNjQ0Ci0tLSBhL1NyYy9zdG0zMmY0eHhfaGFsX3NhaS5jCisrKyBiL1NyYy9zdG0zMmY0eHhfaGFsX3NhaS5jCkBAIC0xMCw2ICsxMCwxNyBAQAogICAqICAgICAgICAgICArIFBlcmlwaGVyYWwgQ29udHJvbCBmdW5jdGlvbnMKICAgKiAgICAgICAgICAgKyBQZXJpcGhlcmFsIFN0YXRlIGZ1bmN0aW9ucwogICAqCisgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICAqIEBhdHRlbnRpb24KKyAgKgorICAqIENvcHlyaWdodCAoYykgMjAxNyBTVE1pY3JvZWxlY3Ryb25pY3MuCisgICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAgKgorICAqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgdW5kZXIgdGVybXMgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZQorICAqIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvZnR3YXJlIGNvbXBvbmVudC4KKyAgKiBJZiBubyBMSUNFTlNFIGZpbGUgY29tZXMgd2l0aCB0aGlzIHNvZnR3YXJlLCBpdCBpcyBwcm92aWRlZCBBUy1JUy4KKyAgKgorICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgQHZlcmJhdGltCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgICAgICAgICAgICAgICAgIyMjIyMgSG93IHRvIHVzZSB0aGlzIGRyaXZlciAjIyMjIwpAQCAtMTk5LDE4ICsyMTAsNiBAQAogICAgIGFuZCB3ZWFrIChzdXJjaGFyZ2VkKSBjYWxsYmFja3MgYXJlIHVzZWQuCiAKICAgQGVuZHZlcmJhdGltCi0gICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICAqIEBhdHRlbnRpb24KLSAgKgotICAqIDxoMj48Y2VudGVyPiZjb3B5OyBDb3B5cmlnaHQgKGMpIDIwMTcgU1RNaWNyb2VsZWN0cm9uaWNzLgotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9jZW50ZXI+PC9oMj4KLSAgKgotICAqIFRoaXMgc29mdHdhcmUgY29tcG9uZW50IGlzIGxpY2Vuc2VkIGJ5IFNUIHVuZGVyIEJTRCAzLUNsYXVzZSBsaWNlbnNlLAotICAqIHRoZSAiTGljZW5zZSI7IFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUKLSAgKiBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQ6Ci0gICogICAgICAgICAgICAgICAgICAgICAgICBvcGVuc291cmNlLm9yZy9saWNlbnNlcy9CU0QtMy1DbGF1c2UKLSAgKgotICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKi8KIAogLyogSW5jbHVkZXMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KQEAgLTI1NTMsNCArMjU1MiwzIEBACiAgICogQH0KICAgKi8KIAotLyoqKioqKioqKioqKioqKioqKioqKioqKiAoQykgQ09QWVJJR0hUIFNUTWljcm9lbGVjdHJvbmljcyAqKioqKkVORCBPRiBGSUxFKioqKi8KZGlmZiAtLWdpdCBhL1NyYy9zdG0zMmY0eHhfaGFsX3NhaV9leC5jIGIvU3JjL3N0bTMyZjR4eF9oYWxfc2FpX2V4LmMKaW5kZXggMTIwYTI3Ny4uNzhhNzNmOCAxMDA2NDQKLS0tIGEvU3JjL3N0bTMyZjR4eF9oYWxfc2FpX2V4LmMKKysrIGIvU3JjL3N0bTMyZjR4eF9oYWxfc2FpX2V4LmMKQEAgLTcsNiArNywxNyBAQAogICAqICAgICAgICAgIGZ1bmN0aW9uYWxpdGllcyBvZiBTQUkgZXh0ZW5zaW9uIHBlcmlwaGVyYWw6CiAgICogICAgICAgICAgICsgRXh0ZW5zaW9uIGZlYXR1cmVzIGZ1bmN0aW9ucwogICAqCisgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICAqIEBhdHRlbnRpb24KKyAgKgorICAqIENvcHlyaWdodCAoYykgMjAxNyBTVE1pY3JvZWxlY3Ryb25pY3MuCisgICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAgKgorICAqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgdW5kZXIgdGVybXMgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZQorICAqIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvZnR3YXJlIGNvbXBvbmVudC4KKyAgKiBJZiBubyBMSUNFTlNFIGZpbGUgY29tZXMgd2l0aCB0aGlzIHNvZnR3YXJlLCBpdCBpcyBwcm92aWRlZCBBUy1JUy4KKyAgKgorICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgQHZlcmJhdGltCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgICAgICAgICAgICAgIyMjIyMgU0FJIHBlcmlwaGVyYWwgZXh0ZW5zaW9uIGZlYXR1cmVzICAjIyMjIwpAQCAtMjMsMTcgKzM0LDYgQEAKIAogICBAZW5kdmVyYmF0aW0KICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gICogQGF0dGVudGlvbgotICAqCi0gICogPGgyPjxjZW50ZXI+JmNvcHk7IENvcHlyaWdodCAoYykgMjAxNyBTVE1pY3JvZWxlY3Ryb25pY3MuCi0gICogQWxsIHJpZ2h0cyByZXNlcnZlZC48L2NlbnRlcj48L2gyPgotICAqCi0gICogVGhpcyBzb2Z0d2FyZSBjb21wb25lbnQgaXMgbGljZW5zZWQgYnkgU1QgdW5kZXIgQlNEIDMtQ2xhdXNlIGxpY2Vuc2UsCi0gICogdGhlICJMaWNlbnNlIjsgWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZQotICAqIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdDoKLSAgKiAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZQotICAqCi0gICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqLwogCiAvKiBJbmNsdWRlcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwpAQCAtMzA4LDQgKzMwOCwzIEBACiAgICogQH0KICAgKi8KIAotLyoqKioqKioqKioqKioqKioqKioqKioqKiAoQykgQ09QWVJJR0hUIFNUTWljcm9lbGVjdHJvbmljcyAqKioqKkVORCBPRiBGSUxFKioqKi8KZGlmZiAtLWdpdCBhL1NyYy9zdG0zMmY0eHhfaGFsX3NkLmMgYi9TcmMvc3RtMzJmNHh4X2hhbF9zZC5jCmluZGV4IDBjN2IxM2IuLmY0MTQ1ZTkgMTAwNjQ0Ci0tLSBhL1NyYy9zdG0zMmY0eHhfaGFsX3NkLmMKKysrIGIvU3JjL3N0bTMyZjR4eF9oYWxfc2QuYwpAQCAtMTAsNiArMTAsMTcgQEAKICAgKiAgICAgICAgICAgKyBQZXJpcGhlcmFsIENvbnRyb2wgZnVuY3Rpb25zCiAgICogICAgICAgICAgICsgUGVyaXBoZXJhbCBTdGF0ZSBmdW5jdGlvbnMKICAgKgorICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAgKiBAYXR0ZW50aW9uCisgICoKKyAgKiBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgorICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgICoKKyAgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIHVuZGVyIHRlcm1zIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUKKyAgKiBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb2Z0d2FyZSBjb21wb25lbnQuCisgICogSWYgbm8gTElDRU5TRSBmaWxlIGNvbWVzIHdpdGggdGhpcyBzb2Z0d2FyZSwgaXQgaXMgcHJvdmlkZWQgQVMtSVMuCisgICoKKyAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgIEB2ZXJiYXRpbQogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgICAgICAgICAgICAgICAgICAgICAgICMjIyMjIEhvdyB0byB1c2UgdGhpcyBkcml2ZXIgIyMjIyMKQEAgLTI0MiwxNyArMjUzLDYgQEAKIAogICBAZW5kdmVyYmF0aW0KICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gICogQGF0dGVudGlvbgotICAqCi0gICogPGgyPjxjZW50ZXI+JmNvcHk7IENvcHlyaWdodCAoYykgMjAxNyBTVE1pY3JvZWxlY3Ryb25pY3MuCi0gICogQWxsIHJpZ2h0cyByZXNlcnZlZC48L2NlbnRlcj48L2gyPgotICAqCi0gICogVGhpcyBzb2Z0d2FyZSBjb21wb25lbnQgaXMgbGljZW5zZWQgYnkgU1QgdW5kZXIgQlNEIDMtQ2xhdXNlIGxpY2Vuc2UsCi0gICogdGhlICJMaWNlbnNlIjsgWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZQotICAqIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdDoKLSAgKiAgICAgICAgICAgICAgICAgICAgICAgb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvQlNELTMtQ2xhdXNlCi0gICoKLSAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICovCiAKIC8qIEluY2x1ZGVzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCkBAIC00MzAsNiArNDMwLDkgQEAKICAgLyogRW5hYmxlIFNESU8gQ2xvY2sgKi8KICAgX19IQUxfU0RfRU5BQkxFKGhzZCk7CiAKKyAgLyogUmVxdWlyZWQgcG93ZXIgdXAgd2FpdGluZyB0aW1lIGJlZm9yZSBzdGFydGluZyB0aGUgU0QgaW5pdGlhbGl6YXRpb24gIHNlcXVlbmNlICovCisgIEhBTF9EZWxheSgyKTsKKwogICAvKiBJZGVudGlmeSBjYXJkIG9wZXJhdGluZyB2b2x0YWdlICovCiAgIGVycm9yc3RhdGUgPSBTRF9Qb3dlck9OKGhzZCk7CiAgIGlmKGVycm9yc3RhdGUgIT0gSEFMX1NEX0VSUk9SX05PTkUpCkBAIC0zMjcyLDUgKzMyNzUsMyBAQAogICAqLwogCiAjZW5kaWYgLyogU0RJTyAqLwotCi0vKioqKioqKioqKioqKioqKioqKioqKioqIChDKSBDT1BZUklHSFQgU1RNaWNyb2VsZWN0cm9uaWNzICoqKioqRU5EIE9GIEZJTEUqKioqLwpkaWZmIC0tZ2l0IGEvU3JjL3N0bTMyZjR4eF9oYWxfc2RyYW0uYyBiL1NyYy9zdG0zMmY0eHhfaGFsX3NkcmFtLmMKaW5kZXggZGEzNGY0Ny4uMzE2MzNhMiAxMDA2NDQKLS0tIGEvU3JjL3N0bTMyZjR4eF9oYWxfc2RyYW0uYworKysgYi9TcmMvc3RtMzJmNHh4X2hhbF9zZHJhbS5jCkBAIC0zLDU3ICszLDY4IEBACiAgICogQGZpbGUgICAgc3RtMzJmNHh4X2hhbF9zZHJhbS5jCiAgICogQGF1dGhvciAgTUNEIEFwcGxpY2F0aW9uIFRlYW0KICAgKiBAYnJpZWYgICBTRFJBTSBIQUwgbW9kdWxlIGRyaXZlci4KLSAgKiAgICAgICAgICBUaGlzIGZpbGUgcHJvdmlkZXMgYSBnZW5lcmljIGZpcm13YXJlIHRvIGRyaXZlIFNEUkFNIG1lbW9yaWVzIG1vdW50ZWQgCisgICogICAgICAgICAgVGhpcyBmaWxlIHByb3ZpZGVzIGEgZ2VuZXJpYyBmaXJtd2FyZSB0byBkcml2ZSBTRFJBTSBtZW1vcmllcyBtb3VudGVkCiAgICogICAgICAgICAgYXMgZXh0ZXJuYWwgZGV2aWNlLgotICAqICAgICAgICAgCisgICoKKyAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgICogQGF0dGVudGlvbgorICAqCisgICogQ29weXJpZ2h0IChjKSAyMDE2IFNUTWljcm9lbGVjdHJvbmljcy4KKyAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICAqCisgICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciB0ZXJtcyB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlCisgICogaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc29mdHdhcmUgY29tcG9uZW50LgorICAqIElmIG5vIExJQ0VOU0UgZmlsZSBjb21lcyB3aXRoIHRoaXMgc29mdHdhcmUsIGl0IGlzIHByb3ZpZGVkIEFTLUlTLgorICAqCisgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICBAdmVyYmF0aW0KICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAgICAgICAgICAgICAgICAgICAgICMjIyMjIEhvdyB0byB1c2UgdGhpcyBkcml2ZXIgIyMjIyMKLSAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IAorICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgWy4uXQotICAgIFRoaXMgZHJpdmVyIGlzIGEgZ2VuZXJpYyBsYXllcmVkIGRyaXZlciB3aGljaCBjb250YWlucyBhIHNldCBvZiBBUElzIHVzZWQgdG8gCi0gICAgY29udHJvbCBTRFJBTSBtZW1vcmllcy4gSXQgdXNlcyB0aGUgRk1DIGxheWVyIGZ1bmN0aW9ucyB0byBpbnRlcmZhY2UgCi0gICAgd2l0aCBTRFJBTSBkZXZpY2VzLiAgCisgICAgVGhpcyBkcml2ZXIgaXMgYSBnZW5lcmljIGxheWVyZWQgZHJpdmVyIHdoaWNoIGNvbnRhaW5zIGEgc2V0IG9mIEFQSXMgdXNlZCB0bworICAgIGNvbnRyb2wgU0RSQU0gbWVtb3JpZXMuIEl0IHVzZXMgdGhlIEZNQyBsYXllciBmdW5jdGlvbnMgdG8gaW50ZXJmYWNlCisgICAgd2l0aCBTRFJBTSBkZXZpY2VzLgogICAgIFRoZSBmb2xsb3dpbmcgc2VxdWVuY2Ugc2hvdWxkIGJlIGZvbGxvd2VkIHRvIGNvbmZpZ3VyZSB0aGUgRk1DIHRvIGludGVyZmFjZQotICAgIHdpdGggU0RSQU0gbWVtb3JpZXM6IAotICAgICAgCisgICAgd2l0aCBTRFJBTSBtZW1vcmllczoKKwogICAgKCMpIERlY2xhcmUgYSBTRFJBTV9IYW5kbGVUeXBlRGVmIGhhbmRsZSBzdHJ1Y3R1cmUsIGZvciBleGFtcGxlOgotICAgICAgICAgIFNEUkFNX0hhbmRsZVR5cGVEZWYgIGhkc3JhbSAKLSAgICAgICAgICAKLSAgICAgICAoKyspIEZpbGwgdGhlIFNEUkFNX0hhbmRsZVR5cGVEZWYgaGFuZGxlICJJbml0IiBmaWVsZCB3aXRoIHRoZSBhbGxvd2VkIAorICAgICAgICAgIFNEUkFNX0hhbmRsZVR5cGVEZWYgIGhzZHJhbQorCisgICAgICAgKCsrKSBGaWxsIHRoZSBTRFJBTV9IYW5kbGVUeXBlRGVmIGhhbmRsZSAiSW5pdCIgZmllbGQgd2l0aCB0aGUgYWxsb3dlZAogICAgICAgICAgICAgdmFsdWVzIG9mIHRoZSBzdHJ1Y3R1cmUgbWVtYmVyLgotICAgICAgICAgICAgCi0gICAgICAgKCsrKSBGaWxsIHRoZSBTRFJBTV9IYW5kbGVUeXBlRGVmIGhhbmRsZSAiSW5zdGFuY2UiIGZpZWxkIHdpdGggYSBwcmVkZWZpbmVkIAotICAgICAgICAgICAgYmFzZSByZWdpc3RlciBpbnN0YW5jZSBmb3IgTk9SIG9yIFNEUkFNIGRldmljZSAKLSAgICAgICAgICAgICAKKworICAgICAgICgrKykgRmlsbCB0aGUgU0RSQU1fSGFuZGxlVHlwZURlZiBoYW5kbGUgIkluc3RhbmNlIiBmaWVsZCB3aXRoIGEgcHJlZGVmaW5lZAorICAgICAgICAgICAgYmFzZSByZWdpc3RlciBpbnN0YW5jZSBmb3IgTk9SIG9yIFNEUkFNIGRldmljZQorCiAgICAoIykgRGVjbGFyZSBhIEZNQ19TRFJBTV9UaW1pbmdUeXBlRGVmIHN0cnVjdHVyZTsgZm9yIGV4YW1wbGU6CiAgICAgICAgICAgRk1DX1NEUkFNX1RpbWluZ1R5cGVEZWYgIFRpbWluZzsKICAgICAgIGFuZCBmaWxsIGl0cyBmaWVsZHMgd2l0aCB0aGUgYWxsb3dlZCB2YWx1ZXMgb2YgdGhlIHN0cnVjdHVyZSBtZW1iZXIuCi0gICAgICAKKwogICAgKCMpIEluaXRpYWxpemUgdGhlIFNEUkFNIENvbnRyb2xsZXIgYnkgY2FsbGluZyB0aGUgZnVuY3Rpb24gSEFMX1NEUkFNX0luaXQoKS4gVGhpcyBmdW5jdGlvbgogICAgICAgIHBlcmZvcm1zIHRoZSBmb2xsb3dpbmcgc2VxdWVuY2U6Ci0gICAgICAgICAgCisKICAgICAgICAoIyMpIE1TUCBoYXJkd2FyZSBsYXllciBjb25maWd1cmF0aW9uIHVzaW5nIHRoZSBmdW5jdGlvbiBIQUxfU0RSQU1fTXNwSW5pdCgpCi0gICAgICAgKCMjKSBDb250cm9sIHJlZ2lzdGVyIGNvbmZpZ3VyYXRpb24gdXNpbmcgdGhlIEZNQyBTRFJBTSBpbnRlcmZhY2UgZnVuY3Rpb24gCisgICAgICAgKCMjKSBDb250cm9sIHJlZ2lzdGVyIGNvbmZpZ3VyYXRpb24gdXNpbmcgdGhlIEZNQyBTRFJBTSBpbnRlcmZhY2UgZnVuY3Rpb24KICAgICAgICAgICAgIEZNQ19TRFJBTV9Jbml0KCkKLSAgICAgICAoIyMpIFRpbWluZyByZWdpc3RlciBjb25maWd1cmF0aW9uIHVzaW5nIHRoZSBGTUMgU0RSQU0gaW50ZXJmYWNlIGZ1bmN0aW9uIAorICAgICAgICgjIykgVGltaW5nIHJlZ2lzdGVyIGNvbmZpZ3VyYXRpb24gdXNpbmcgdGhlIEZNQyBTRFJBTSBpbnRlcmZhY2UgZnVuY3Rpb24KICAgICAgICAgICAgIEZNQ19TRFJBTV9UaW1pbmdfSW5pdCgpCiAgICAgICAgKCMjKSBQcm9ncmFtIHRoZSBTRFJBTSBleHRlcm5hbCBkZXZpY2UgYnkgYXBwbHlpbmcgaXRzIGluaXRpYWxpemF0aW9uIHNlcXVlbmNlCiAgICAgICAgICAgICBhY2NvcmRpbmcgdG8gdGhlIGRldmljZSBwbHVnZ2VkIGluIHlvdXIgaGFyZHdhcmUuIFRoaXMgc3RlcCBpcyBtYW5kYXRvcnkKLSAgICAgICAgICAgIGZvciBhY2Nlc3NpbmcgdGhlIFNEUkFNIGRldmljZS4gICAKKyAgICAgICAgICAgIGZvciBhY2Nlc3NpbmcgdGhlIFNEUkFNIGRldmljZS4KIAotICAgKCMpIEF0IHRoaXMgc3RhZ2UgeW91IGNhbiBwZXJmb3JtIHJlYWQvd3JpdGUgYWNjZXNzZXMgZnJvbS90byB0aGUgbWVtb3J5IGNvbm5lY3RlZCAKKyAgICgjKSBBdCB0aGlzIHN0YWdlIHlvdSBjYW4gcGVyZm9ybSByZWFkL3dyaXRlIGFjY2Vzc2VzIGZyb20vdG8gdGhlIG1lbW9yeSBjb25uZWN0ZWQKICAgICAgICB0byB0aGUgU0RSQU0gQmFuay4gWW91IGNhbiBwZXJmb3JtIGVpdGhlciBwb2xsaW5nIG9yIERNQSB0cmFuc2ZlciB1c2luZyB0aGUKICAgICAgICBmb2xsb3dpbmcgQVBJczoKICAgICAgICAoKyspIEhBTF9TRFJBTV9SZWFkKCkvSEFMX1NEUkFNX1dyaXRlKCkgZm9yIHBvbGxpbmcgcmVhZC93cml0ZSBhY2Nlc3MKICAgICAgICAoKyspIEhBTF9TRFJBTV9SZWFkX0RNQSgpL0hBTF9TRFJBTV9Xcml0ZV9ETUEoKSBmb3IgRE1BIHJlYWQvd3JpdGUgdHJhbnNmZXIKLSAgICAgICAKKwogICAgKCMpIFlvdSBjYW4gYWxzbyBjb250cm9sIHRoZSBTRFJBTSBkZXZpY2UgYnkgY2FsbGluZyB0aGUgY29udHJvbCBBUElzIEhBTF9TRFJBTV9Xcml0ZU9wZXJhdGlvbl9FbmFibGUoKS8KLSAgICAgICBIQUxfU0RSQU1fV3JpdGVPcGVyYXRpb25fRGlzYWJsZSgpIHRvIHJlc3BlY3RpdmVseSBlbmFibGUvZGlzYWJsZSB0aGUgU0RSQU0gd3JpdGUgb3BlcmF0aW9uIG9yIAorICAgICAgIEhBTF9TRFJBTV9Xcml0ZU9wZXJhdGlvbl9EaXNhYmxlKCkgdG8gcmVzcGVjdGl2ZWx5IGVuYWJsZS9kaXNhYmxlIHRoZSBTRFJBTSB3cml0ZSBvcGVyYXRpb24gb3IKICAgICAgICB0aGUgZnVuY3Rpb24gSEFMX1NEUkFNX1NlbmRDb21tYW5kKCkgdG8gc2VuZCBhIHNwZWNpZmllZCBjb21tYW5kIHRvIHRoZSBTRFJBTQotICAgICAgIGRldmljZS4gVGhlIGNvbW1hbmQgdG8gYmUgc2VudCBtdXN0IGJlIGNvbmZpZ3VyZWQgd2l0aCB0aGUgRk1DX1NEUkFNX0NvbW1hbmRUeXBlRGVmIAotICAgICAgIHN0cnVjdHVyZS4gICAKLSAgICAgICAKKyAgICAgICBkZXZpY2UuIFRoZSBjb21tYW5kIHRvIGJlIHNlbnQgbXVzdCBiZSBjb25maWd1cmVkIHdpdGggdGhlIEZNQ19TRFJBTV9Db21tYW5kVHlwZURlZgorICAgICAgIHN0cnVjdHVyZS4KKwogICAgKCMpIFlvdSBjYW4gY29udGludW91c2x5IG1vbml0b3IgdGhlIFNEUkFNIGRldmljZSBIQUwgc3RhdGUgYnkgY2FsbGluZyB0aGUgZnVuY3Rpb24KICAgICAgICBIQUxfU0RSQU1fR2V0U3RhdGUoKQogCkBAIC02MywyNSArNzQsMjUgQEAKICAgICAgIFRoZSBjb21waWxhdGlvbiBkZWZpbmUgIFVTRV9IQUxfU0RSQU1fUkVHSVNURVJfQ0FMTEJBQ0tTIHdoZW4gc2V0IHRvIDEKICAgICAgIGFsbG93cyB0aGUgdXNlciB0byBjb25maWd1cmUgZHluYW1pY2FsbHkgdGhlIGRyaXZlciBjYWxsYmFja3MuCiAKLSAgICAgIFVzZSBGdW5jdGlvbnMgQHJlZiBIQUxfU0RSQU1fUmVnaXN0ZXJDYWxsYmFjaygpIHRvIHJlZ2lzdGVyIGEgdXNlciBjYWxsYmFjaywKKyAgICAgIFVzZSBGdW5jdGlvbnMgSEFMX1NEUkFNX1JlZ2lzdGVyQ2FsbGJhY2soKSB0byByZWdpc3RlciBhIHVzZXIgY2FsbGJhY2ssCiAgICAgICBpdCBhbGxvd3MgdG8gcmVnaXN0ZXIgZm9sbG93aW5nIGNhbGxiYWNrczoKICAgICAgICAgKCspIE1zcEluaXRDYWxsYmFjayAgICA6IFNEUkFNIE1zcEluaXQuCiAgICAgICAgICgrKSBNc3BEZUluaXRDYWxsYmFjayAgOiBTRFJBTSBNc3BEZUluaXQuCiAgICAgICBUaGlzIGZ1bmN0aW9uIHRha2VzIGFzIHBhcmFtZXRlcnMgdGhlIEhBTCBwZXJpcGhlcmFsIGhhbmRsZSwgdGhlIENhbGxiYWNrIElECiAgICAgICBhbmQgYSBwb2ludGVyIHRvIHRoZSB1c2VyIGNhbGxiYWNrIGZ1bmN0aW9uLgogCi0gICAgICBVc2UgZnVuY3Rpb24gQHJlZiBIQUxfU0RSQU1fVW5SZWdpc3RlckNhbGxiYWNrKCkgdG8gcmVzZXQgYSBjYWxsYmFjayB0byB0aGUgZGVmYXVsdAorICAgICAgVXNlIGZ1bmN0aW9uIEhBTF9TRFJBTV9VblJlZ2lzdGVyQ2FsbGJhY2soKSB0byByZXNldCBhIGNhbGxiYWNrIHRvIHRoZSBkZWZhdWx0CiAgICAgICB3ZWFrIChzdXJjaGFyZ2VkKSBmdW5jdGlvbi4gSXQgYWxsb3dzIHRvIHJlc2V0IGZvbGxvd2luZyBjYWxsYmFja3M6CiAgICAgICAgICgrKSBNc3BJbml0Q2FsbGJhY2sgICAgOiBTRFJBTSBNc3BJbml0LgogICAgICAgICAoKykgTXNwRGVJbml0Q2FsbGJhY2sgIDogU0RSQU0gTXNwRGVJbml0LgogICAgICAgVGhpcyBmdW5jdGlvbikgdGFrZXMgYXMgcGFyYW1ldGVycyB0aGUgSEFMIHBlcmlwaGVyYWwgaGFuZGxlIGFuZCB0aGUgQ2FsbGJhY2sgSUQuCiAKLSAgICAgIEJ5IGRlZmF1bHQsIGFmdGVyIHRoZSBAcmVmIEhBTF9TRFJBTV9Jbml0IGFuZCBpZiB0aGUgc3RhdGUgaXMgSEFMX1NEUkFNX1NUQVRFX1JFU0VUCisgICAgICBCeSBkZWZhdWx0LCBhZnRlciB0aGUgSEFMX1NEUkFNX0luaXQgYW5kIGlmIHRoZSBzdGF0ZSBpcyBIQUxfU0RSQU1fU1RBVEVfUkVTRVQKICAgICAgIGFsbCBjYWxsYmFja3MgYXJlIHJlc2V0IHRvIHRoZSBjb3JyZXNwb25kaW5nIGxlZ2FjeSB3ZWFrIChzdXJjaGFyZ2VkKSBmdW5jdGlvbnMuCiAgICAgICBFeGNlcHRpb24gZG9uZSBmb3IgTXNwSW5pdCBhbmQgTXNwRGVJbml0IGNhbGxiYWNrcyB0aGF0IGFyZSByZXNwZWN0aXZlbHkKLSAgICAgIHJlc2V0IHRvIHRoZSBsZWdhY3kgd2VhayAoc3VyY2hhcmdlZCkgZnVuY3Rpb25zIGluIHRoZSBAcmVmIEhBTF9TRFJBTV9Jbml0Ci0gICAgICBhbmQgQHJlZiAgSEFMX1NEUkFNX0RlSW5pdCBvbmx5IHdoZW4gdGhlc2UgY2FsbGJhY2tzIGFyZSBudWxsIChub3QgcmVnaXN0ZXJlZCBiZWZvcmVoYW5kKS4KLSAgICAgIElmIG5vdCwgTXNwSW5pdCBvciBNc3BEZUluaXQgYXJlIG5vdCBudWxsLCB0aGUgQHJlZiBIQUxfU0RSQU1fSW5pdCBhbmQgQHJlZiBIQUxfU0RSQU1fRGVJbml0CisgICAgICByZXNldCB0byB0aGUgbGVnYWN5IHdlYWsgKHN1cmNoYXJnZWQpIGZ1bmN0aW9ucyBpbiB0aGUgSEFMX1NEUkFNX0luaXQKKyAgICAgIGFuZCAgSEFMX1NEUkFNX0RlSW5pdCBvbmx5IHdoZW4gdGhlc2UgY2FsbGJhY2tzIGFyZSBudWxsIChub3QgcmVnaXN0ZXJlZCBiZWZvcmVoYW5kKS4KKyAgICAgIElmIG5vdCwgTXNwSW5pdCBvciBNc3BEZUluaXQgYXJlIG5vdCBudWxsLCB0aGUgSEFMX1NEUkFNX0luaXQgYW5kIEhBTF9TRFJBTV9EZUluaXQKICAgICAgIGtlZXAgYW5kIHVzZSB0aGUgdXNlciBNc3BJbml0L01zcERlSW5pdCBjYWxsYmFja3MgKHJlZ2lzdGVyZWQgYmVmb3JlaGFuZCkKIAogICAgICAgQ2FsbGJhY2tzIGNhbiBiZSByZWdpc3RlcmVkL3VucmVnaXN0ZXJlZCBpbiBSRUFEWSBzdGF0ZSBvbmx5LgpAQCAtODksOCArMTAwLDggQEAKICAgICAgIGluIFJFQURZIG9yIFJFU0VUIHN0YXRlLCB0aHVzIHJlZ2lzdGVyZWQgKHVzZXIpIE1zcEluaXQvRGVJbml0IGNhbGxiYWNrcyBjYW4gYmUgdXNlZAogICAgICAgZHVyaW5nIHRoZSBJbml0L0RlSW5pdC4KICAgICAgIEluIHRoYXQgY2FzZSBmaXJzdCByZWdpc3RlciB0aGUgTXNwSW5pdC9Nc3BEZUluaXQgdXNlciBjYWxsYmFja3MKLSAgICAgIHVzaW5nIEByZWYgSEFMX1NEUkFNX1JlZ2lzdGVyQ2FsbGJhY2sgYmVmb3JlIGNhbGxpbmcgQHJlZiBIQUxfU0RSQU1fRGVJbml0Ci0gICAgICBvciBAcmVmIEhBTF9TRFJBTV9Jbml0IGZ1bmN0aW9uLgorICAgICAgdXNpbmcgSEFMX1NEUkFNX1JlZ2lzdGVyQ2FsbGJhY2sgYmVmb3JlIGNhbGxpbmcgSEFMX1NEUkFNX0RlSW5pdAorICAgICAgb3IgSEFMX1NEUkFNX0luaXQgZnVuY3Rpb24uCiAKICAgICAgIFdoZW4gVGhlIGNvbXBpbGF0aW9uIGRlZmluZSBVU0VfSEFMX1NEUkFNX1JFR0lTVEVSX0NBTExCQUNLUyBpcyBzZXQgdG8gMCBvcgogICAgICAgbm90IGRlZmluZWQsIHRoZSBjYWxsYmFjayByZWdpc3RlcmluZyBmZWF0dXJlIGlzIG5vdCBhdmFpbGFibGUKQEAgLTk4LDgwICsxMDksNzQgQEAKIAogICBAZW5kdmVyYmF0aW0KICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gICogQGF0dGVudGlvbgotICAqCi0gICogPGgyPjxjZW50ZXI+JmNvcHk7IENvcHlyaWdodCAoYykgMjAxNyBTVE1pY3JvZWxlY3Ryb25pY3MuCi0gICogQWxsIHJpZ2h0cyByZXNlcnZlZC48L2NlbnRlcj48L2gyPgotICAqCi0gICogVGhpcyBzb2Z0d2FyZSBjb21wb25lbnQgaXMgbGljZW5zZWQgYnkgU1QgdW5kZXIgQlNEIDMtQ2xhdXNlIGxpY2Vuc2UsCi0gICogdGhlICJMaWNlbnNlIjsgWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZQotICAqIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdDoKLSAgKiAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZQotICAqCi0gICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICAqLyAKKyAgKi8KIAogLyogSW5jbHVkZXMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICNpbmNsdWRlICJzdG0zMmY0eHhfaGFsLmgiCiAKKyNpZiBkZWZpbmVkKEZNQ19CYW5rNV82KQorCiAvKiogQGFkZHRvZ3JvdXAgU1RNMzJGNHh4X0hBTF9Ecml2ZXIKICAgKiBAewogICAqLwogCisjaWZkZWYgSEFMX1NEUkFNX01PRFVMRV9FTkFCTEVECisKIC8qKiBAZGVmZ3JvdXAgU0RSQU0gU0RSQU0KICAgKiBAYnJpZWYgU0RSQU0gZHJpdmVyIG1vZHVsZXMKICAgKiBAewogICAqLwotI2lmZGVmIEhBTF9TRFJBTV9NT0RVTEVfRU5BQkxFRAotI2lmIGRlZmluZWQoU1RNMzJGNDI3eHgpIHx8IGRlZmluZWQoU1RNMzJGNDM3eHgpIHx8IGRlZmluZWQoU1RNMzJGNDI5eHgpIHx8IGRlZmluZWQoU1RNMzJGNDM5eHgpIHx8XAotICAgIGRlZmluZWQoU1RNMzJGNDQ2eHgpIHx8IGRlZmluZWQoU1RNMzJGNDY5eHgpIHx8IGRlZmluZWQoU1RNMzJGNDc5eHgpCiAKIC8qIFByaXZhdGUgdHlwZWRlZiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAvKiBQcml2YXRlIGRlZmluZSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwotLyogUHJpdmF0ZSBtYWNybyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8gICAgCisvKiBQcml2YXRlIG1hY3JvIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogLyogUHJpdmF0ZSB2YXJpYWJsZXMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KLS8qIFByaXZhdGUgZnVuY3Rpb25zIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisvKiBQcml2YXRlIGZ1bmN0aW9uIHByb3RvdHlwZXMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworc3RhdGljIHZvaWQgU0RSQU1fRE1BQ3BsdChETUFfSGFuZGxlVHlwZURlZiAqaGRtYSk7CitzdGF0aWMgdm9pZCBTRFJBTV9ETUFDcGx0UHJvdChETUFfSGFuZGxlVHlwZURlZiAqaGRtYSk7CitzdGF0aWMgdm9pZCBTRFJBTV9ETUFFcnJvcihETUFfSGFuZGxlVHlwZURlZiAqaGRtYSk7CisKIC8qIEV4cG9ydGVkIGZ1bmN0aW9ucyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAvKiogQGRlZmdyb3VwIFNEUkFNX0V4cG9ydGVkX0Z1bmN0aW9ucyBTRFJBTSBFeHBvcnRlZCBGdW5jdGlvbnMKICAgKiBAewogICAqLwotICAKLS8qKiBAZGVmZ3JvdXAgU0RSQU1fRXhwb3J0ZWRfRnVuY3Rpb25zX0dyb3VwMSBJbml0aWFsaXphdGlvbiBhbmQgZGUtaW5pdGlhbGl6YXRpb24gZnVuY3Rpb25zIAotICAqIEBicmllZiAgICBJbml0aWFsaXphdGlvbiBhbmQgQ29uZmlndXJhdGlvbiBmdW5jdGlvbnMgCisKKy8qKiBAZGVmZ3JvdXAgU0RSQU1fRXhwb3J0ZWRfRnVuY3Rpb25zX0dyb3VwMSBJbml0aWFsaXphdGlvbiBhbmQgZGUtaW5pdGlhbGl6YXRpb24gZnVuY3Rpb25zCisgICogQGJyaWVmICAgIEluaXRpYWxpemF0aW9uIGFuZCBDb25maWd1cmF0aW9uIGZ1bmN0aW9ucwogICAqCi0gIEB2ZXJiYXRpbSAgICAKKyAgQHZlcmJhdGltCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgICAgICAgICAjIyMjIyBTRFJBTSBJbml0aWFsaXphdGlvbiBhbmQgZGVfaW5pdGlhbGl6YXRpb24gZnVuY3Rpb25zICMjIyMjCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotICBbLi5dICAKKyAgWy4uXQogICAgIFRoaXMgc2VjdGlvbiBwcm92aWRlcyBmdW5jdGlvbnMgYWxsb3dpbmcgdG8gaW5pdGlhbGl6ZS9kZS1pbml0aWFsaXplCiAgICAgdGhlIFNEUkFNIG1lbW9yeQotICAKKwogQGVuZHZlcmJhdGltCiAgICogQHsKICAgKi8KLSAgICAKKwogLyoqCiAgICogQGJyaWVmICBQZXJmb3JtcyB0aGUgU0RSQU0gZGV2aWNlIGluaXRpYWxpemF0aW9uIHNlcXVlbmNlLgogICAqIEBwYXJhbSAgaHNkcmFtIHBvaW50ZXIgdG8gYSBTRFJBTV9IYW5kbGVUeXBlRGVmIHN0cnVjdHVyZSB0aGF0IGNvbnRhaW5zCiAgICogICAgICAgICAgICAgICAgdGhlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gZm9yIFNEUkFNIG1vZHVsZS4KLSAgKiBAcGFyYW0gIFRpbWluZyBQb2ludGVyIHRvIFNEUkFNIGNvbnRyb2wgdGltaW5nIHN0cnVjdHVyZSAKKyAgKiBAcGFyYW0gIFRpbWluZyBQb2ludGVyIHRvIFNEUkFNIGNvbnRyb2wgdGltaW5nIHN0cnVjdHVyZQogICAqIEByZXR2YWwgSEFMIHN0YXR1cwogICAqLwogSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1NEUkFNX0luaXQoU0RSQU1fSGFuZGxlVHlwZURlZiAqaHNkcmFtLCBGTUNfU0RSQU1fVGltaW5nVHlwZURlZiAqVGltaW5nKQoteyAgIAorewogICAvKiBDaGVjayB0aGUgU0RSQU0gaGFuZGxlIHBhcmFtZXRlciAqLwotICBpZihoc2RyYW0gPT0gTlVMTCkKKyAgaWYgKGhzZHJhbSA9PSBOVUxMKQogICB7CiAgICAgcmV0dXJuIEhBTF9FUlJPUjsKICAgfQotICAKLSAgaWYoaHNkcmFtLT5TdGF0ZSA9PSBIQUxfU0RSQU1fU1RBVEVfUkVTRVQpCi0gIHsgIAorCisgIGlmIChoc2RyYW0tPlN0YXRlID09IEhBTF9TRFJBTV9TVEFURV9SRVNFVCkKKyAgewogICAgIC8qIEFsbG9jYXRlIGxvY2sgcmVzb3VyY2UgYW5kIGluaXRpYWxpemUgaXQgKi8KICAgICBoc2RyYW0tPkxvY2sgPSBIQUxfVU5MT0NLRUQ7CiAjaWYgKFVTRV9IQUxfU0RSQU1fUkVHSVNURVJfQ0FMTEJBQ0tTID09IDEpCi0gICAgaWYoaHNkcmFtLT5Nc3BJbml0Q2FsbGJhY2sgPT0gTlVMTCkKKyAgICBpZiAoaHNkcmFtLT5Nc3BJbml0Q2FsbGJhY2sgPT0gTlVMTCkKICAgICB7CiAgICAgICBoc2RyYW0tPk1zcEluaXRDYWxsYmFjayA9IEhBTF9TRFJBTV9Nc3BJbml0OwogICAgIH0KQEAgLTE4NCwyMSArMTg5LDIwIEBACiAjZWxzZQogICAgIC8qIEluaXRpYWxpemUgdGhlIGxvdyBsZXZlbCBoYXJkd2FyZSAoTVNQKSAqLwogICAgIEhBTF9TRFJBTV9Nc3BJbml0KGhzZHJhbSk7Ci0jZW5kaWYKKyNlbmRpZiAvKiBVU0VfSEFMX1NEUkFNX1JFR0lTVEVSX0NBTExCQUNLUyAqLwogICB9Ci0gIAorCiAgIC8qIEluaXRpYWxpemUgdGhlIFNEUkFNIGNvbnRyb2xsZXIgc3RhdGUgKi8KICAgaHNkcmFtLT5TdGF0ZSA9IEhBTF9TRFJBTV9TVEFURV9CVVNZOwotICAKKwogICAvKiBJbml0aWFsaXplIFNEUkFNIGNvbnRyb2wgSW50ZXJmYWNlICovCi0gIEZNQ19TRFJBTV9Jbml0KGhzZHJhbS0+SW5zdGFuY2UsICYoaHNkcmFtLT5Jbml0KSk7Ci0gIAorICAodm9pZClGTUNfU0RSQU1fSW5pdChoc2RyYW0tPkluc3RhbmNlLCAmKGhzZHJhbS0+SW5pdCkpOworCiAgIC8qIEluaXRpYWxpemUgU0RSQU0gdGltaW5nIEludGVyZmFjZSAqLwotICBGTUNfU0RSQU1fVGltaW5nX0luaXQoaHNkcmFtLT5JbnN0YW5jZSwgVGltaW5nLCBoc2RyYW0tPkluaXQuU0RCYW5rKTsgCi0gIAorICAodm9pZClGTUNfU0RSQU1fVGltaW5nX0luaXQoaHNkcmFtLT5JbnN0YW5jZSwgVGltaW5nLCBoc2RyYW0tPkluaXQuU0RCYW5rKTsKICAgLyogVXBkYXRlIHRoZSBTRFJBTSBjb250cm9sbGVyIHN0YXRlICovCiAgIGhzZHJhbS0+U3RhdGUgPSBIQUxfU0RSQU1fU1RBVEVfUkVBRFk7Ci0gIAorCiAgIHJldHVybiBIQUxfT0s7CiB9CiAKQEAgLTIxMSw3ICsyMTUsNyBAQAogSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1NEUkFNX0RlSW5pdChTRFJBTV9IYW5kbGVUeXBlRGVmICpoc2RyYW0pCiB7CiAjaWYgKFVTRV9IQUxfU0RSQU1fUkVHSVNURVJfQ0FMTEJBQ0tTID09IDEpCi0gIGlmKGhzZHJhbS0+TXNwRGVJbml0Q2FsbGJhY2sgPT0gTlVMTCkKKyAgaWYgKGhzZHJhbS0+TXNwRGVJbml0Q2FsbGJhY2sgPT0gTlVMTCkKICAgewogICAgIGhzZHJhbS0+TXNwRGVJbml0Q2FsbGJhY2sgPSBIQUxfU0RSQU1fTXNwRGVJbml0OwogICB9CkBAIC0yMjEsMTAgKzIyNSwxMCBAQAogI2Vsc2UKICAgLyogSW5pdGlhbGl6ZSB0aGUgbG93IGxldmVsIGhhcmR3YXJlIChNU1ApICovCiAgIEhBTF9TRFJBTV9Nc3BEZUluaXQoaHNkcmFtKTsKLSNlbmRpZgorI2VuZGlmIC8qIFVTRV9IQUxfU0RSQU1fUkVHSVNURVJfQ0FMTEJBQ0tTICovCiAKICAgLyogQ29uZmlndXJlIHRoZSBTRFJBTSByZWdpc3RlcnMgd2l0aCB0aGVpciByZXNldCB2YWx1ZXMgKi8KLSAgRk1DX1NEUkFNX0RlSW5pdChoc2RyYW0tPkluc3RhbmNlLCBoc2RyYW0tPkluaXQuU0RCYW5rKTsKKyAgKHZvaWQpRk1DX1NEUkFNX0RlSW5pdChoc2RyYW0tPkluc3RhbmNlLCBoc2RyYW0tPkluaXQuU0RCYW5rKTsKIAogICAvKiBSZXNldCB0aGUgU0RSQU0gY29udHJvbGxlciBzdGF0ZSAqLwogICBoc2RyYW0tPlN0YXRlID0gSEFMX1NEUkFNX1NUQVRFX1JFU0VUOwpAQCAtMjQ1LDkgKzI0OSwxMCBAQAogewogICAvKiBQcmV2ZW50IHVudXNlZCBhcmd1bWVudChzKSBjb21waWxhdGlvbiB3YXJuaW5nICovCiAgIFVOVVNFRChoc2RyYW0pOworCiAgIC8qIE5PVEU6IFRoaXMgZnVuY3Rpb24gU2hvdWxkIG5vdCBiZSBtb2RpZmllZCwgd2hlbiB0aGUgY2FsbGJhY2sgaXMgbmVlZGVkLAogICAgICAgICAgICAgdGhlIEhBTF9TRFJBTV9Nc3BJbml0IGNvdWxkIGJlIGltcGxlbWVudGVkIGluIHRoZSB1c2VyIGZpbGUKLSAgICovIAorICAgKi8KIH0KIAogLyoqCkBAIC0yNjAsOSArMjY1LDEwIEBACiB7CiAgIC8qIFByZXZlbnQgdW51c2VkIGFyZ3VtZW50KHMpIGNvbXBpbGF0aW9uIHdhcm5pbmcgKi8KICAgVU5VU0VEKGhzZHJhbSk7CisKICAgLyogTk9URTogVGhpcyBmdW5jdGlvbiBTaG91bGQgbm90IGJlIG1vZGlmaWVkLCB3aGVuIHRoZSBjYWxsYmFjayBpcyBuZWVkZWQsCiAgICAgICAgICAgICB0aGUgSEFMX1NEUkFNX01zcERlSW5pdCBjb3VsZCBiZSBpbXBsZW1lbnRlZCBpbiB0aGUgdXNlciBmaWxlCi0gICAqLyAKKyAgICovCiB9CiAKIC8qKgpAQCAtMjcwLDE4ICsyNzYsMTggQEAKICAgKiBAcGFyYW0gIGhzZHJhbSBwb2ludGVyIHRvIGEgU0RSQU1fSGFuZGxlVHlwZURlZiBzdHJ1Y3R1cmUgdGhhdCBjb250YWlucwogICAqICAgICAgICAgICAgICAgIHRoZSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIGZvciBTRFJBTSBtb2R1bGUuCiAgICogQHJldHZhbCBIQUwgc3RhdHVzCi0qLworICAqLwogdm9pZCBIQUxfU0RSQU1fSVJRSGFuZGxlcihTRFJBTV9IYW5kbGVUeXBlRGVmICpoc2RyYW0pCiB7CiAgIC8qIENoZWNrIFNEUkFNIGludGVycnVwdCBSaXNpbmcgZWRnZSBmbGFnICovCi0gIGlmKF9fRk1DX1NEUkFNX0dFVF9GTEFHKGhzZHJhbS0+SW5zdGFuY2UsIEZNQ19TRFJBTV9GTEFHX1JFRlJFU0hfSVQpKQorICBpZiAoX19GTUNfU0RSQU1fR0VUX0ZMQUcoaHNkcmFtLT5JbnN0YW5jZSwgRk1DX1NEUkFNX0ZMQUdfUkVGUkVTSF9JVCkpCiAgIHsKICAgICAvKiBTRFJBTSByZWZyZXNoIGVycm9yIGludGVycnVwdCBjYWxsYmFjayAqLwogI2lmIChVU0VfSEFMX1NEUkFNX1JFR0lTVEVSX0NBTExCQUNLUyA9PSAxKQogICAgIGhzZHJhbS0+UmVmcmVzaEVycm9yQ2FsbGJhY2soaHNkcmFtKTsKICNlbHNlCiAgICAgSEFMX1NEUkFNX1JlZnJlc2hFcnJvckNhbGxiYWNrKGhzZHJhbSk7Ci0jZW5kaWYKKyNlbmRpZiAvKiBVU0VfSEFMX1NEUkFNX1JFR0lTVEVSX0NBTExCQUNLUyAqLwogCiAgICAgLyogQ2xlYXIgU0RSQU0gcmVmcmVzaCBlcnJvciBpbnRlcnJ1cHQgcGVuZGluZyBiaXQgKi8KICAgICBfX0ZNQ19TRFJBTV9DTEVBUl9GTEFHKGhzZHJhbS0+SW5zdGFuY2UsIEZNQ19TRFJBTV9GTEFHX1JFRlJFU0hfRVJST1IpOwpAQCAtMjkxLDE2ICsyOTcsMTcgQEAKIC8qKgogICAqIEBicmllZiAgU0RSQU0gUmVmcmVzaCBlcnJvciBjYWxsYmFjay4KICAgKiBAcGFyYW0gIGhzZHJhbSBwb2ludGVyIHRvIGEgU0RSQU1fSGFuZGxlVHlwZURlZiBzdHJ1Y3R1cmUgdGhhdCBjb250YWlucwotICAqICAgICAgICAgICAgICAgIHRoZSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIGZvciBTRFJBTSBtb2R1bGUuIAorICAqICAgICAgICAgICAgICAgIHRoZSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIGZvciBTRFJBTSBtb2R1bGUuCiAgICogQHJldHZhbCBOb25lCiAgICovCiBfX3dlYWsgdm9pZCBIQUxfU0RSQU1fUmVmcmVzaEVycm9yQ2FsbGJhY2soU0RSQU1fSGFuZGxlVHlwZURlZiAqaHNkcmFtKQogewogICAvKiBQcmV2ZW50IHVudXNlZCBhcmd1bWVudChzKSBjb21waWxhdGlvbiB3YXJuaW5nICovCiAgIFVOVVNFRChoc2RyYW0pOworCiAgIC8qIE5PVEU6IFRoaXMgZnVuY3Rpb24gU2hvdWxkIG5vdCBiZSBtb2RpZmllZCwgd2hlbiB0aGUgY2FsbGJhY2sgaXMgbmVlZGVkLAogICAgICAgICAgICAgdGhlIEhBTF9TRFJBTV9SZWZyZXNoRXJyb3JDYWxsYmFjayBjb3VsZCBiZSBpbXBsZW1lbnRlZCBpbiB0aGUgdXNlciBmaWxlCi0gICAqLyAKKyAgICovCiB9CiAKIC8qKgpAQCAtMzEzLDkgKzMyMCwxMCBAQAogewogICAvKiBQcmV2ZW50IHVudXNlZCBhcmd1bWVudChzKSBjb21waWxhdGlvbiB3YXJuaW5nICovCiAgIFVOVVNFRChoZG1hKTsKKwogICAvKiBOT1RFOiBUaGlzIGZ1bmN0aW9uIFNob3VsZCBub3QgYmUgbW9kaWZpZWQsIHdoZW4gdGhlIGNhbGxiYWNrIGlzIG5lZWRlZCwKICAgICAgICAgICAgIHRoZSBIQUxfU0RSQU1fRE1BX1hmZXJDcGx0Q2FsbGJhY2sgY291bGQgYmUgaW1wbGVtZW50ZWQgaW4gdGhlIHVzZXIgZmlsZQotICAgKi8gCisgICAqLwogfQogCiAvKioKQEAgLTMyNywyNCArMzM1LDI2IEBACiB7CiAgIC8qIFByZXZlbnQgdW51c2VkIGFyZ3VtZW50KHMpIGNvbXBpbGF0aW9uIHdhcm5pbmcgKi8KICAgVU5VU0VEKGhkbWEpOworCiAgIC8qIE5PVEU6IFRoaXMgZnVuY3Rpb24gU2hvdWxkIG5vdCBiZSBtb2RpZmllZCwgd2hlbiB0aGUgY2FsbGJhY2sgaXMgbmVlZGVkLAogICAgICAgICAgICAgdGhlIEhBTF9TRFJBTV9ETUFfWGZlckVycm9yQ2FsbGJhY2sgY291bGQgYmUgaW1wbGVtZW50ZWQgaW4gdGhlIHVzZXIgZmlsZQotICAgKi8gCisgICAqLwogfQorCiAvKioKICAgKiBAfQogICAqLwogCi0vKiogQGRlZmdyb3VwIFNEUkFNX0V4cG9ydGVkX0Z1bmN0aW9uc19Hcm91cDIgSW5wdXQgYW5kIE91dHB1dCBmdW5jdGlvbnMgCi0gICogQGJyaWVmICAgIElucHV0IE91dHB1dCBhbmQgbWVtb3J5IGNvbnRyb2wgZnVuY3Rpb25zIAorLyoqIEBkZWZncm91cCBTRFJBTV9FeHBvcnRlZF9GdW5jdGlvbnNfR3JvdXAyIElucHV0IGFuZCBPdXRwdXQgZnVuY3Rpb25zCisgICogQGJyaWVmICAgIElucHV0IE91dHB1dCBhbmQgbWVtb3J5IGNvbnRyb2wgZnVuY3Rpb25zCiAgICoKLSAgQHZlcmJhdGltICAgIAorICBAdmVyYmF0aW0KICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAgICAgICAgICAgICAgICAgICMjIyMjIFNEUkFNIElucHV0IGFuZCBPdXRwdXQgZnVuY3Rpb25zICMjIyMjCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotICBbLi5dICAKKyAgWy4uXQogICAgIFRoaXMgc2VjdGlvbiBwcm92aWRlcyBmdW5jdGlvbnMgYWxsb3dpbmcgdG8gdXNlIGFuZCBjb250cm9sIHRoZSBTRFJBTSBtZW1vcnkKLSAgCisKIEBlbmR2ZXJiYXRpbQogICAqIEB7CiAgICovCkBAIC0zNTQsMjg5ICszNjQsMzc3IEBACiAgICogQHBhcmFtICBoc2RyYW0gcG9pbnRlciB0byBhIFNEUkFNX0hhbmRsZVR5cGVEZWYgc3RydWN0dXJlIHRoYXQgY29udGFpbnMKICAgKiAgICAgICAgICAgICAgICB0aGUgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbiBmb3IgU0RSQU0gbW9kdWxlLgogICAqIEBwYXJhbSAgcEFkZHJlc3MgUG9pbnRlciB0byByZWFkIHN0YXJ0IGFkZHJlc3MKLSAgKiBAcGFyYW0gIHBEc3RCdWZmZXIgUG9pbnRlciB0byBkZXN0aW5hdGlvbiBidWZmZXIgIAorICAqIEBwYXJhbSAgcERzdEJ1ZmZlciBQb2ludGVyIHRvIGRlc3RpbmF0aW9uIGJ1ZmZlcgogICAqIEBwYXJhbSAgQnVmZmVyU2l6ZSBTaXplIG9mIHRoZSBidWZmZXIgdG8gcmVhZCBmcm9tIG1lbW9yeQogICAqIEByZXR2YWwgSEFMIHN0YXR1cwogICAqLwotSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1NEUkFNX1JlYWRfOGIoU0RSQU1fSGFuZGxlVHlwZURlZiAqaHNkcmFtLCB1aW50MzJfdCAqcEFkZHJlc3MsIHVpbnQ4X3QgKnBEc3RCdWZmZXIsIHVpbnQzMl90IEJ1ZmZlclNpemUpCitIQUxfU3RhdHVzVHlwZURlZiBIQUxfU0RSQU1fUmVhZF84YihTRFJBTV9IYW5kbGVUeXBlRGVmICpoc2RyYW0sIHVpbnQzMl90ICpwQWRkcmVzcywgdWludDhfdCAqcERzdEJ1ZmZlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IEJ1ZmZlclNpemUpCiB7CisgIHVpbnQzMl90IHNpemU7CiAgIF9fSU8gdWludDhfdCAqcFNkcmFtQWRkcmVzcyA9ICh1aW50OF90ICopcEFkZHJlc3M7Ci0gIAotICAvKiBQcm9jZXNzIExvY2tlZCAqLwotICBfX0hBTF9MT0NLKGhzZHJhbSk7Ci0gIAorICB1aW50OF90ICpwZGVzdGJ1ZmYgPSBwRHN0QnVmZmVyOworICBIQUxfU0RSQU1fU3RhdGVUeXBlRGVmIHN0YXRlID0gaHNkcmFtLT5TdGF0ZTsKKwogICAvKiBDaGVjayB0aGUgU0RSQU0gY29udHJvbGxlciBzdGF0ZSAqLwotICBpZihoc2RyYW0tPlN0YXRlID09IEhBTF9TRFJBTV9TVEFURV9CVVNZKQorICBpZiAoc3RhdGUgPT0gSEFMX1NEUkFNX1NUQVRFX0JVU1kpCiAgIHsKICAgICByZXR1cm4gSEFMX0JVU1k7CiAgIH0KLSAgZWxzZSBpZihoc2RyYW0tPlN0YXRlID09IEhBTF9TRFJBTV9TVEFURV9QUkVDSEFSR0VEKQorICBlbHNlIGlmICgoc3RhdGUgPT0gSEFMX1NEUkFNX1NUQVRFX1JFQURZKSB8fCAoc3RhdGUgPT0gSEFMX1NEUkFNX1NUQVRFX1dSSVRFX1BST1RFQ1RFRCkpCiAgIHsKLSAgICByZXR1cm4gIEhBTF9FUlJPUjsgCi0gIH0gIAotICAKLSAgLyogUmVhZCBkYXRhIGZyb20gc291cmNlICovCi0gIGZvcig7IEJ1ZmZlclNpemUgIT0gMFU7IEJ1ZmZlclNpemUtLSkKLSAgewotICAgICpwRHN0QnVmZmVyID0gKihfX0lPIHVpbnQ4X3QgKilwU2RyYW1BZGRyZXNzOyAgCi0gICAgcERzdEJ1ZmZlcisrOwotICAgIHBTZHJhbUFkZHJlc3MrKzsKKyAgICAvKiBQcm9jZXNzIExvY2tlZCAqLworICAgIF9fSEFMX0xPQ0soaHNkcmFtKTsKKworICAgIC8qIFVwZGF0ZSB0aGUgU0RSQU0gY29udHJvbGxlciBzdGF0ZSAqLworICAgIGhzZHJhbS0+U3RhdGUgPSBIQUxfU0RSQU1fU1RBVEVfQlVTWTsKKworICAgIC8qIFJlYWQgZGF0YSBmcm9tIHNvdXJjZSAqLworICAgIGZvciAoc2l6ZSA9IEJ1ZmZlclNpemU7IHNpemUgIT0gMFU7IHNpemUtLSkKKyAgICB7CisgICAgICAqcGRlc3RidWZmID0gKihfX0lPIHVpbnQ4X3QgKilwU2RyYW1BZGRyZXNzOworICAgICAgcGRlc3RidWZmKys7CisgICAgICBwU2RyYW1BZGRyZXNzKys7CisgICAgfQorCisgICAgLyogVXBkYXRlIHRoZSBTRFJBTSBjb250cm9sbGVyIHN0YXRlICovCisgICAgaHNkcmFtLT5TdGF0ZSA9IHN0YXRlOworCisgICAgLyogUHJvY2VzcyBVbmxvY2tlZCAqLworICAgIF9fSEFMX1VOTE9DSyhoc2RyYW0pOwogICB9Ci0gIAotICAvKiBQcm9jZXNzIFVubG9ja2VkICovCi0gIF9fSEFMX1VOTE9DSyhoc2RyYW0pOwotICAKLSAgcmV0dXJuIEhBTF9PSzsgCisgIGVsc2UKKyAgeworICAgIHJldHVybiAgSEFMX0VSUk9SOworICB9CisKKyAgcmV0dXJuIEhBTF9PSzsKIH0KLSAKKwogLyoqCiAgICogQGJyaWVmICBXcml0ZXMgOC1iaXQgZGF0YSBidWZmZXIgdG8gU0RSQU0gbWVtb3J5LgogICAqIEBwYXJhbSAgaHNkcmFtIHBvaW50ZXIgdG8gYSBTRFJBTV9IYW5kbGVUeXBlRGVmIHN0cnVjdHVyZSB0aGF0IGNvbnRhaW5zCiAgICogICAgICAgICAgICAgICAgdGhlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gZm9yIFNEUkFNIG1vZHVsZS4KICAgKiBAcGFyYW0gIHBBZGRyZXNzIFBvaW50ZXIgdG8gd3JpdGUgc3RhcnQgYWRkcmVzcwotICAqIEBwYXJhbSAgcFNyY0J1ZmZlciBQb2ludGVyIHRvIHNvdXJjZSBidWZmZXIgdG8gd3JpdGUgIAorICAqIEBwYXJhbSAgcFNyY0J1ZmZlciBQb2ludGVyIHRvIHNvdXJjZSBidWZmZXIgdG8gd3JpdGUKICAgKiBAcGFyYW0gIEJ1ZmZlclNpemUgU2l6ZSBvZiB0aGUgYnVmZmVyIHRvIHdyaXRlIHRvIG1lbW9yeQogICAqIEByZXR2YWwgSEFMIHN0YXR1cwogICAqLwotSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1NEUkFNX1dyaXRlXzhiKFNEUkFNX0hhbmRsZVR5cGVEZWYgKmhzZHJhbSwgdWludDMyX3QgKnBBZGRyZXNzLCB1aW50OF90ICpwU3JjQnVmZmVyLCB1aW50MzJfdCBCdWZmZXJTaXplKQorSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1NEUkFNX1dyaXRlXzhiKFNEUkFNX0hhbmRsZVR5cGVEZWYgKmhzZHJhbSwgdWludDMyX3QgKnBBZGRyZXNzLCB1aW50OF90ICpwU3JjQnVmZmVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IEJ1ZmZlclNpemUpCiB7CisgIHVpbnQzMl90IHNpemU7CiAgIF9fSU8gdWludDhfdCAqcFNkcmFtQWRkcmVzcyA9ICh1aW50OF90ICopcEFkZHJlc3M7Ci0gIHVpbnQzMl90IHRtcCA9IDBVOwotICAKLSAgLyogUHJvY2VzcyBMb2NrZWQgKi8KLSAgX19IQUxfTE9DSyhoc2RyYW0pOwotICAKKyAgdWludDhfdCAqcHNyY2J1ZmYgPSBwU3JjQnVmZmVyOworCiAgIC8qIENoZWNrIHRoZSBTRFJBTSBjb250cm9sbGVyIHN0YXRlICovCi0gIHRtcCA9IGhzZHJhbS0+U3RhdGU7Ci0gIAotICBpZih0bXAgPT0gSEFMX1NEUkFNX1NUQVRFX0JVU1kpCisgIGlmIChoc2RyYW0tPlN0YXRlID09IEhBTF9TRFJBTV9TVEFURV9CVVNZKQogICB7CiAgICAgcmV0dXJuIEhBTF9CVVNZOwogICB9Ci0gIGVsc2UgaWYoKHRtcCA9PSBIQUxfU0RSQU1fU1RBVEVfUFJFQ0hBUkdFRCkgfHwgKHRtcCA9PSBIQUxfU0RSQU1fU1RBVEVfV1JJVEVfUFJPVEVDVEVEKSkKKyAgZWxzZSBpZiAoaHNkcmFtLT5TdGF0ZSA9PSBIQUxfU0RSQU1fU1RBVEVfUkVBRFkpCiAgIHsKLSAgICByZXR1cm4gIEhBTF9FUlJPUjsgCisgICAgLyogUHJvY2VzcyBMb2NrZWQgKi8KKyAgICBfX0hBTF9MT0NLKGhzZHJhbSk7CisKKyAgICAvKiBVcGRhdGUgdGhlIFNEUkFNIGNvbnRyb2xsZXIgc3RhdGUgKi8KKyAgICBoc2RyYW0tPlN0YXRlID0gSEFMX1NEUkFNX1NUQVRFX0JVU1k7CisKKyAgICAvKiBXcml0ZSBkYXRhIHRvIG1lbW9yeSAqLworICAgIGZvciAoc2l6ZSA9IEJ1ZmZlclNpemU7IHNpemUgIT0gMFU7IHNpemUtLSkKKyAgICB7CisgICAgICAqKF9fSU8gdWludDhfdCAqKXBTZHJhbUFkZHJlc3MgPSAqcHNyY2J1ZmY7CisgICAgICBwc3JjYnVmZisrOworICAgICAgcFNkcmFtQWRkcmVzcysrOworICAgIH0KKworICAgIC8qIFVwZGF0ZSB0aGUgU0RSQU0gY29udHJvbGxlciBzdGF0ZSAqLworICAgIGhzZHJhbS0+U3RhdGUgPSBIQUxfU0RSQU1fU1RBVEVfUkVBRFk7CisKKyAgICAvKiBQcm9jZXNzIFVubG9ja2VkICovCisgICAgX19IQUxfVU5MT0NLKGhzZHJhbSk7CiAgIH0KLSAgCi0gIC8qIFdyaXRlIGRhdGEgdG8gbWVtb3J5ICovCi0gIGZvcig7IEJ1ZmZlclNpemUgIT0gMFU7IEJ1ZmZlclNpemUtLSkKKyAgZWxzZQogICB7Ci0gICAgKihfX0lPIHVpbnQ4X3QgKilwU2RyYW1BZGRyZXNzID0gKnBTcmNCdWZmZXI7Ci0gICAgcFNyY0J1ZmZlcisrOwotICAgIHBTZHJhbUFkZHJlc3MrKzsKKyAgICByZXR1cm4gIEhBTF9FUlJPUjsKICAgfQotICAKLSAgLyogUHJvY2VzcyBVbmxvY2tlZCAqLwotICBfX0hBTF9VTkxPQ0soaHNkcmFtKTsgICAgCi0gIAotICByZXR1cm4gSEFMX09LOyAgIAorCisgIHJldHVybiBIQUxfT0s7CiB9CiAKIC8qKgotICAqIEBicmllZiAgUmVhZHMgMTYtYml0IGRhdGEgYnVmZmVyIGZyb20gdGhlIFNEUkFNIG1lbW9yeS4gCisgICogQGJyaWVmICBSZWFkcyAxNi1iaXQgZGF0YSBidWZmZXIgZnJvbSB0aGUgU0RSQU0gbWVtb3J5LgogICAqIEBwYXJhbSAgaHNkcmFtIHBvaW50ZXIgdG8gYSBTRFJBTV9IYW5kbGVUeXBlRGVmIHN0cnVjdHVyZSB0aGF0IGNvbnRhaW5zCiAgICogICAgICAgICAgICAgICAgdGhlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gZm9yIFNEUkFNIG1vZHVsZS4KICAgKiBAcGFyYW0gIHBBZGRyZXNzIFBvaW50ZXIgdG8gcmVhZCBzdGFydCBhZGRyZXNzCi0gICogQHBhcmFtICBwRHN0QnVmZmVyIFBvaW50ZXIgdG8gZGVzdGluYXRpb24gYnVmZmVyICAKKyAgKiBAcGFyYW0gIHBEc3RCdWZmZXIgUG9pbnRlciB0byBkZXN0aW5hdGlvbiBidWZmZXIKICAgKiBAcGFyYW0gIEJ1ZmZlclNpemUgU2l6ZSBvZiB0aGUgYnVmZmVyIHRvIHJlYWQgZnJvbSBtZW1vcnkKICAgKiBAcmV0dmFsIEhBTCBzdGF0dXMKICAgKi8KLUhBTF9TdGF0dXNUeXBlRGVmIEhBTF9TRFJBTV9SZWFkXzE2YihTRFJBTV9IYW5kbGVUeXBlRGVmICpoc2RyYW0sIHVpbnQzMl90ICpwQWRkcmVzcywgdWludDE2X3QgKnBEc3RCdWZmZXIsIHVpbnQzMl90IEJ1ZmZlclNpemUpCitIQUxfU3RhdHVzVHlwZURlZiBIQUxfU0RSQU1fUmVhZF8xNmIoU0RSQU1fSGFuZGxlVHlwZURlZiAqaHNkcmFtLCB1aW50MzJfdCAqcEFkZHJlc3MsIHVpbnQxNl90ICpwRHN0QnVmZmVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IEJ1ZmZlclNpemUpCiB7Ci0gIF9fSU8gdWludDE2X3QgKnBTZHJhbUFkZHJlc3MgPSAodWludDE2X3QgKilwQWRkcmVzczsKLSAgCi0gIC8qIFByb2Nlc3MgTG9ja2VkICovCi0gIF9fSEFMX0xPQ0soaHNkcmFtKTsKLSAgCisgIHVpbnQzMl90IHNpemU7CisgIF9fSU8gdWludDMyX3QgKnBTZHJhbUFkZHJlc3MgPSBwQWRkcmVzczsKKyAgdWludDE2X3QgKnBkZXN0YnVmZiA9IHBEc3RCdWZmZXI7CisgIEhBTF9TRFJBTV9TdGF0ZVR5cGVEZWYgc3RhdGUgPSBoc2RyYW0tPlN0YXRlOworCiAgIC8qIENoZWNrIHRoZSBTRFJBTSBjb250cm9sbGVyIHN0YXRlICovCi0gIGlmKGhzZHJhbS0+U3RhdGUgPT0gSEFMX1NEUkFNX1NUQVRFX0JVU1kpCisgIGlmIChzdGF0ZSA9PSBIQUxfU0RSQU1fU1RBVEVfQlVTWSkKICAgewogICAgIHJldHVybiBIQUxfQlVTWTsKICAgfQotICBlbHNlIGlmKGhzZHJhbS0+U3RhdGUgPT0gSEFMX1NEUkFNX1NUQVRFX1BSRUNIQVJHRUQpCisgIGVsc2UgaWYgKChzdGF0ZSA9PSBIQUxfU0RSQU1fU1RBVEVfUkVBRFkpIHx8IChzdGF0ZSA9PSBIQUxfU0RSQU1fU1RBVEVfV1JJVEVfUFJPVEVDVEVEKSkKICAgewotICAgIHJldHVybiAgSEFMX0VSUk9SOyAKLSAgfSAgCi0gIAotICAvKiBSZWFkIGRhdGEgZnJvbSBzb3VyY2UgKi8KLSAgZm9yKDsgQnVmZmVyU2l6ZSAhPSAwVTsgQnVmZmVyU2l6ZS0tKQotICB7Ci0gICAgKnBEc3RCdWZmZXIgPSAqKF9fSU8gdWludDE2X3QgKilwU2RyYW1BZGRyZXNzOyAgCi0gICAgcERzdEJ1ZmZlcisrOwotICAgIHBTZHJhbUFkZHJlc3MrKzsgICAgICAgICAgICAgICAKKyAgICAvKiBQcm9jZXNzIExvY2tlZCAqLworICAgIF9fSEFMX0xPQ0soaHNkcmFtKTsKKworICAgIC8qIFVwZGF0ZSB0aGUgU0RSQU0gY29udHJvbGxlciBzdGF0ZSAqLworICAgIGhzZHJhbS0+U3RhdGUgPSBIQUxfU0RSQU1fU1RBVEVfQlVTWTsKKworICAgIC8qIFJlYWQgZGF0YSBmcm9tIG1lbW9yeSAqLworICAgIGZvciAoc2l6ZSA9IEJ1ZmZlclNpemU7IHNpemUgPj0gMlUgOyBzaXplIC09IDJVKQorICAgIHsKKyAgICAgICpwZGVzdGJ1ZmYgPSAodWludDE2X3QpKCgqcFNkcmFtQWRkcmVzcykgJiAweDAwMDBGRkZGVSk7CisgICAgICBwZGVzdGJ1ZmYrKzsKKyAgICAgICpwZGVzdGJ1ZmYgPSAodWludDE2X3QpKCgoKnBTZHJhbUFkZHJlc3MpICYgMHhGRkZGMDAwMFUpID4+IDE2VSk7CisgICAgICBwZGVzdGJ1ZmYrKzsKKyAgICAgIHBTZHJhbUFkZHJlc3MrKzsKKyAgICB9CisKKyAgICAvKiBSZWFkIGxhc3QgMTYtYml0cyBpZiBzaXplIGlzIG5vdCAzMi1iaXRzIG11bHRpcGxlICovCisgICAgaWYgKChCdWZmZXJTaXplICUgMlUpICE9IDBVKQorICAgIHsKKyAgICAgICpwZGVzdGJ1ZmYgPSAodWludDE2X3QpKCgqcFNkcmFtQWRkcmVzcykgJiAweDAwMDBGRkZGVSk7CisgICAgfQorCisgICAgLyogVXBkYXRlIHRoZSBTRFJBTSBjb250cm9sbGVyIHN0YXRlICovCisgICAgaHNkcmFtLT5TdGF0ZSA9IHN0YXRlOworCisgICAgLyogUHJvY2VzcyBVbmxvY2tlZCAqLworICAgIF9fSEFMX1VOTE9DSyhoc2RyYW0pOwogICB9Ci0gIAotICAvKiBQcm9jZXNzIFVubG9ja2VkICovCi0gIF9fSEFMX1VOTE9DSyhoc2RyYW0pOyAgICAgICAKLSAgCi0gIHJldHVybiBIQUxfT0s7IAorICBlbHNlCisgIHsKKyAgICByZXR1cm4gIEhBTF9FUlJPUjsKKyAgfQorCisgIHJldHVybiBIQUxfT0s7CiB9CiAKIC8qKgotICAqIEBicmllZiAgV3JpdGVzIDE2LWJpdCBkYXRhIGJ1ZmZlciB0byBTRFJBTSBtZW1vcnkuIAorICAqIEBicmllZiAgV3JpdGVzIDE2LWJpdCBkYXRhIGJ1ZmZlciB0byBTRFJBTSBtZW1vcnkuCiAgICogQHBhcmFtICBoc2RyYW0gcG9pbnRlciB0byBhIFNEUkFNX0hhbmRsZVR5cGVEZWYgc3RydWN0dXJlIHRoYXQgY29udGFpbnMKICAgKiAgICAgICAgICAgICAgICB0aGUgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbiBmb3IgU0RSQU0gbW9kdWxlLgogICAqIEBwYXJhbSAgcEFkZHJlc3MgUG9pbnRlciB0byB3cml0ZSBzdGFydCBhZGRyZXNzCi0gICogQHBhcmFtICBwU3JjQnVmZmVyIFBvaW50ZXIgdG8gc291cmNlIGJ1ZmZlciB0byB3cml0ZSAgCisgICogQHBhcmFtICBwU3JjQnVmZmVyIFBvaW50ZXIgdG8gc291cmNlIGJ1ZmZlciB0byB3cml0ZQogICAqIEBwYXJhbSAgQnVmZmVyU2l6ZSBTaXplIG9mIHRoZSBidWZmZXIgdG8gd3JpdGUgdG8gbWVtb3J5CiAgICogQHJldHZhbCBIQUwgc3RhdHVzCiAgICovCi1IQUxfU3RhdHVzVHlwZURlZiBIQUxfU0RSQU1fV3JpdGVfMTZiKFNEUkFNX0hhbmRsZVR5cGVEZWYgKmhzZHJhbSwgdWludDMyX3QgKnBBZGRyZXNzLCB1aW50MTZfdCAqcFNyY0J1ZmZlciwgdWludDMyX3QgQnVmZmVyU2l6ZSkKK0hBTF9TdGF0dXNUeXBlRGVmIEhBTF9TRFJBTV9Xcml0ZV8xNmIoU0RSQU1fSGFuZGxlVHlwZURlZiAqaHNkcmFtLCB1aW50MzJfdCAqcEFkZHJlc3MsIHVpbnQxNl90ICpwU3JjQnVmZmVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBCdWZmZXJTaXplKQogewotICBfX0lPIHVpbnQxNl90ICpwU2RyYW1BZGRyZXNzID0gKHVpbnQxNl90ICopcEFkZHJlc3M7Ci0gIHVpbnQzMl90IHRtcCA9IDBVOwotICAKLSAgLyogUHJvY2VzcyBMb2NrZWQgKi8KLSAgX19IQUxfTE9DSyhoc2RyYW0pOwotICAKKyAgdWludDMyX3Qgc2l6ZTsKKyAgX19JTyB1aW50MzJfdCAqcHNkcmFtYWRkcmVzcyA9IHBBZGRyZXNzOworICB1aW50MTZfdCAqcHNyY2J1ZmYgPSBwU3JjQnVmZmVyOworCiAgIC8qIENoZWNrIHRoZSBTRFJBTSBjb250cm9sbGVyIHN0YXRlICovCi0gIHRtcCA9IGhzZHJhbS0+U3RhdGU7Ci0gIAotICBpZih0bXAgPT0gSEFMX1NEUkFNX1NUQVRFX0JVU1kpCisgIGlmIChoc2RyYW0tPlN0YXRlID09IEhBTF9TRFJBTV9TVEFURV9CVVNZKQogICB7CiAgICAgcmV0dXJuIEhBTF9CVVNZOwogICB9Ci0gIGVsc2UgaWYoKHRtcCA9PSBIQUxfU0RSQU1fU1RBVEVfUFJFQ0hBUkdFRCkgfHwgKHRtcCA9PSBIQUxfU0RSQU1fU1RBVEVfV1JJVEVfUFJPVEVDVEVEKSkKKyAgZWxzZSBpZiAoaHNkcmFtLT5TdGF0ZSA9PSBIQUxfU0RSQU1fU1RBVEVfUkVBRFkpCiAgIHsKLSAgICByZXR1cm4gIEhBTF9FUlJPUjsgCisgICAgLyogUHJvY2VzcyBMb2NrZWQgKi8KKyAgICBfX0hBTF9MT0NLKGhzZHJhbSk7CisKKyAgICAvKiBVcGRhdGUgdGhlIFNEUkFNIGNvbnRyb2xsZXIgc3RhdGUgKi8KKyAgICBoc2RyYW0tPlN0YXRlID0gSEFMX1NEUkFNX1NUQVRFX0JVU1k7CisKKyAgICAvKiBXcml0ZSBkYXRhIHRvIG1lbW9yeSAqLworICAgIGZvciAoc2l6ZSA9IEJ1ZmZlclNpemU7IHNpemUgPj0gMlUgOyBzaXplIC09IDJVKQorICAgIHsKKyAgICAgICpwc2RyYW1hZGRyZXNzID0gKHVpbnQzMl90KSgqcHNyY2J1ZmYpOworICAgICAgcHNyY2J1ZmYrKzsKKyAgICAgICpwc2RyYW1hZGRyZXNzIHw9ICgodWludDMyX3QpKCpwc3JjYnVmZikgPDwgMTZVKTsKKyAgICAgIHBzcmNidWZmKys7CisgICAgICBwc2RyYW1hZGRyZXNzKys7CisgICAgfQorCisgICAgLyogV3JpdGUgbGFzdCAxNi1iaXRzIGlmIHNpemUgaXMgbm90IDMyLWJpdHMgbXVsdGlwbGUgKi8KKyAgICBpZiAoKEJ1ZmZlclNpemUgJSAyVSkgIT0gMFUpCisgICAgeworICAgICAgKnBzZHJhbWFkZHJlc3MgPSAoKHVpbnQzMl90KSgqcHNyY2J1ZmYpICYgMHgwMDAwRkZGRlUpIHwgKCgqcHNkcmFtYWRkcmVzcykgJiAweEZGRkYwMDAwVSk7CisgICAgfQorCisgICAgLyogVXBkYXRlIHRoZSBTRFJBTSBjb250cm9sbGVyIHN0YXRlICovCisgICAgaHNkcmFtLT5TdGF0ZSA9IEhBTF9TRFJBTV9TVEFURV9SRUFEWTsKKworICAgIC8qIFByb2Nlc3MgVW5sb2NrZWQgKi8KKyAgICBfX0hBTF9VTkxPQ0soaHNkcmFtKTsKICAgfQotICAKLSAgLyogV3JpdGUgZGF0YSB0byBtZW1vcnkgKi8KLSAgZm9yKDsgQnVmZmVyU2l6ZSAhPSAwVTsgQnVmZmVyU2l6ZS0tKQorICBlbHNlCiAgIHsKLSAgICAqKF9fSU8gdWludDE2X3QgKilwU2RyYW1BZGRyZXNzID0gKnBTcmNCdWZmZXI7Ci0gICAgcFNyY0J1ZmZlcisrOwotICAgIHBTZHJhbUFkZHJlc3MrKzsgICAgICAgICAgICAKKyAgICByZXR1cm4gIEhBTF9FUlJPUjsKICAgfQotICAKLSAgLyogUHJvY2VzcyBVbmxvY2tlZCAqLwotICBfX0hBTF9VTkxPQ0soaHNkcmFtKTsgICAgCi0gIAotICByZXR1cm4gSEFMX09LOyAgIAorCisgIHJldHVybiBIQUxfT0s7CiB9CiAKIC8qKgotICAqIEBicmllZiAgUmVhZHMgMzItYml0IGRhdGEgYnVmZmVyIGZyb20gdGhlIFNEUkFNIG1lbW9yeS4gCisgICogQGJyaWVmICBSZWFkcyAzMi1iaXQgZGF0YSBidWZmZXIgZnJvbSB0aGUgU0RSQU0gbWVtb3J5LgogICAqIEBwYXJhbSAgaHNkcmFtIHBvaW50ZXIgdG8gYSBTRFJBTV9IYW5kbGVUeXBlRGVmIHN0cnVjdHVyZSB0aGF0IGNvbnRhaW5zCiAgICogICAgICAgICAgICAgICAgdGhlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gZm9yIFNEUkFNIG1vZHVsZS4KICAgKiBAcGFyYW0gIHBBZGRyZXNzIFBvaW50ZXIgdG8gcmVhZCBzdGFydCBhZGRyZXNzCi0gICogQHBhcmFtICBwRHN0QnVmZmVyIFBvaW50ZXIgdG8gZGVzdGluYXRpb24gYnVmZmVyICAKKyAgKiBAcGFyYW0gIHBEc3RCdWZmZXIgUG9pbnRlciB0byBkZXN0aW5hdGlvbiBidWZmZXIKICAgKiBAcGFyYW0gIEJ1ZmZlclNpemUgU2l6ZSBvZiB0aGUgYnVmZmVyIHRvIHJlYWQgZnJvbSBtZW1vcnkKICAgKiBAcmV0dmFsIEhBTCBzdGF0dXMKICAgKi8KLUhBTF9TdGF0dXNUeXBlRGVmIEhBTF9TRFJBTV9SZWFkXzMyYihTRFJBTV9IYW5kbGVUeXBlRGVmICpoc2RyYW0sIHVpbnQzMl90ICpwQWRkcmVzcywgdWludDMyX3QgKnBEc3RCdWZmZXIsIHVpbnQzMl90IEJ1ZmZlclNpemUpCitIQUxfU3RhdHVzVHlwZURlZiBIQUxfU0RSQU1fUmVhZF8zMmIoU0RSQU1fSGFuZGxlVHlwZURlZiAqaHNkcmFtLCB1aW50MzJfdCAqcEFkZHJlc3MsIHVpbnQzMl90ICpwRHN0QnVmZmVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IEJ1ZmZlclNpemUpCiB7CisgIHVpbnQzMl90IHNpemU7CiAgIF9fSU8gdWludDMyX3QgKnBTZHJhbUFkZHJlc3MgPSAodWludDMyX3QgKilwQWRkcmVzczsKLSAgCi0gIC8qIFByb2Nlc3MgTG9ja2VkICovCi0gIF9fSEFMX0xPQ0soaHNkcmFtKTsKLSAgCisgIHVpbnQzMl90ICpwZGVzdGJ1ZmYgPSBwRHN0QnVmZmVyOworICBIQUxfU0RSQU1fU3RhdGVUeXBlRGVmIHN0YXRlID0gaHNkcmFtLT5TdGF0ZTsKKwogICAvKiBDaGVjayB0aGUgU0RSQU0gY29udHJvbGxlciBzdGF0ZSAqLwotICBpZihoc2RyYW0tPlN0YXRlID09IEhBTF9TRFJBTV9TVEFURV9CVVNZKQorICBpZiAoc3RhdGUgPT0gSEFMX1NEUkFNX1NUQVRFX0JVU1kpCiAgIHsKICAgICByZXR1cm4gSEFMX0JVU1k7CiAgIH0KLSAgZWxzZSBpZihoc2RyYW0tPlN0YXRlID09IEhBTF9TRFJBTV9TVEFURV9QUkVDSEFSR0VEKQorICBlbHNlIGlmICgoc3RhdGUgPT0gSEFMX1NEUkFNX1NUQVRFX1JFQURZKSB8fCAoc3RhdGUgPT0gSEFMX1NEUkFNX1NUQVRFX1dSSVRFX1BST1RFQ1RFRCkpCiAgIHsKLSAgICByZXR1cm4gIEhBTF9FUlJPUjsgCi0gIH0gIAotICAKLSAgLyogUmVhZCBkYXRhIGZyb20gc291cmNlICovCi0gIGZvcig7IEJ1ZmZlclNpemUgIT0gMFU7IEJ1ZmZlclNpemUtLSkKLSAgewotICAgICpwRHN0QnVmZmVyID0gKihfX0lPIHVpbnQzMl90ICopcFNkcmFtQWRkcmVzczsgIAotICAgIHBEc3RCdWZmZXIrKzsKLSAgICBwU2RyYW1BZGRyZXNzKys7ICAgICAgICAgICAgICAgCisgICAgLyogUHJvY2VzcyBMb2NrZWQgKi8KKyAgICBfX0hBTF9MT0NLKGhzZHJhbSk7CisKKyAgICAvKiBVcGRhdGUgdGhlIFNEUkFNIGNvbnRyb2xsZXIgc3RhdGUgKi8KKyAgICBoc2RyYW0tPlN0YXRlID0gSEFMX1NEUkFNX1NUQVRFX0JVU1k7CisKKyAgICAvKiBSZWFkIGRhdGEgZnJvbSBzb3VyY2UgKi8KKyAgICBmb3IgKHNpemUgPSBCdWZmZXJTaXplOyBzaXplICE9IDBVOyBzaXplLS0pCisgICAgeworICAgICAgKnBkZXN0YnVmZiA9ICooX19JTyB1aW50MzJfdCAqKXBTZHJhbUFkZHJlc3M7CisgICAgICBwZGVzdGJ1ZmYrKzsKKyAgICAgIHBTZHJhbUFkZHJlc3MrKzsKKyAgICB9CisKKyAgICAvKiBVcGRhdGUgdGhlIFNEUkFNIGNvbnRyb2xsZXIgc3RhdGUgKi8KKyAgICBoc2RyYW0tPlN0YXRlID0gc3RhdGU7CisKKyAgICAvKiBQcm9jZXNzIFVubG9ja2VkICovCisgICAgX19IQUxfVU5MT0NLKGhzZHJhbSk7CiAgIH0KLSAgCi0gIC8qIFByb2Nlc3MgVW5sb2NrZWQgKi8KLSAgX19IQUxfVU5MT0NLKGhzZHJhbSk7ICAgICAgIAotICAKLSAgcmV0dXJuIEhBTF9PSzsgCisgIGVsc2UKKyAgeworICAgIHJldHVybiAgSEFMX0VSUk9SOworICB9CisKKyAgcmV0dXJuIEhBTF9PSzsKIH0KIAogLyoqCi0gICogQGJyaWVmICBXcml0ZXMgMzItYml0IGRhdGEgYnVmZmVyIHRvIFNEUkFNIG1lbW9yeS4gCisgICogQGJyaWVmICBXcml0ZXMgMzItYml0IGRhdGEgYnVmZmVyIHRvIFNEUkFNIG1lbW9yeS4KICAgKiBAcGFyYW0gIGhzZHJhbSBwb2ludGVyIHRvIGEgU0RSQU1fSGFuZGxlVHlwZURlZiBzdHJ1Y3R1cmUgdGhhdCBjb250YWlucwogICAqICAgICAgICAgICAgICAgIHRoZSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIGZvciBTRFJBTSBtb2R1bGUuCiAgICogQHBhcmFtICBwQWRkcmVzcyBQb2ludGVyIHRvIHdyaXRlIHN0YXJ0IGFkZHJlc3MKLSAgKiBAcGFyYW0gIHBTcmNCdWZmZXIgUG9pbnRlciB0byBzb3VyY2UgYnVmZmVyIHRvIHdyaXRlICAKKyAgKiBAcGFyYW0gIHBTcmNCdWZmZXIgUG9pbnRlciB0byBzb3VyY2UgYnVmZmVyIHRvIHdyaXRlCiAgICogQHBhcmFtICBCdWZmZXJTaXplIFNpemUgb2YgdGhlIGJ1ZmZlciB0byB3cml0ZSB0byBtZW1vcnkKICAgKiBAcmV0dmFsIEhBTCBzdGF0dXMKICAgKi8KLUhBTF9TdGF0dXNUeXBlRGVmIEhBTF9TRFJBTV9Xcml0ZV8zMmIoU0RSQU1fSGFuZGxlVHlwZURlZiAqaHNkcmFtLCB1aW50MzJfdCAqcEFkZHJlc3MsIHVpbnQzMl90ICpwU3JjQnVmZmVyLCB1aW50MzJfdCBCdWZmZXJTaXplKQorSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1NEUkFNX1dyaXRlXzMyYihTRFJBTV9IYW5kbGVUeXBlRGVmICpoc2RyYW0sIHVpbnQzMl90ICpwQWRkcmVzcywgdWludDMyX3QgKnBTcmNCdWZmZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IEJ1ZmZlclNpemUpCiB7Ci0gIF9fSU8gdWludDMyX3QgKnBTZHJhbUFkZHJlc3MgPSAodWludDMyX3QgKilwQWRkcmVzczsKLSAgdWludDMyX3QgdG1wID0gMFU7Ci0gIAotICAvKiBQcm9jZXNzIExvY2tlZCAqLwotICBfX0hBTF9MT0NLKGhzZHJhbSk7Ci0gIAorICB1aW50MzJfdCBzaXplOworICBfX0lPIHVpbnQzMl90ICpwU2RyYW1BZGRyZXNzID0gcEFkZHJlc3M7CisgIHVpbnQzMl90ICpwc3JjYnVmZiA9IHBTcmNCdWZmZXI7CisKICAgLyogQ2hlY2sgdGhlIFNEUkFNIGNvbnRyb2xsZXIgc3RhdGUgKi8KLSAgdG1wID0gaHNkcmFtLT5TdGF0ZTsKLSAgCi0gIGlmKHRtcCA9PSBIQUxfU0RSQU1fU1RBVEVfQlVTWSkKKyAgaWYgKGhzZHJhbS0+U3RhdGUgPT0gSEFMX1NEUkFNX1NUQVRFX0JVU1kpCiAgIHsKICAgICByZXR1cm4gSEFMX0JVU1k7CiAgIH0KLSAgZWxzZSBpZigodG1wID09IEhBTF9TRFJBTV9TVEFURV9QUkVDSEFSR0VEKSB8fCAodG1wID09IEhBTF9TRFJBTV9TVEFURV9XUklURV9QUk9URUNURUQpKQorICBlbHNlIGlmIChoc2RyYW0tPlN0YXRlID09IEhBTF9TRFJBTV9TVEFURV9SRUFEWSkKICAgewotICAgIHJldHVybiAgSEFMX0VSUk9SOyAKKyAgICAvKiBQcm9jZXNzIExvY2tlZCAqLworICAgIF9fSEFMX0xPQ0soaHNkcmFtKTsKKworICAgIC8qIFVwZGF0ZSB0aGUgU0RSQU0gY29udHJvbGxlciBzdGF0ZSAqLworICAgIGhzZHJhbS0+U3RhdGUgPSBIQUxfU0RSQU1fU1RBVEVfQlVTWTsKKworICAgIC8qIFdyaXRlIGRhdGEgdG8gbWVtb3J5ICovCisgICAgZm9yIChzaXplID0gQnVmZmVyU2l6ZTsgc2l6ZSAhPSAwVTsgc2l6ZS0tKQorICAgIHsKKyAgICAgICpwU2RyYW1BZGRyZXNzID0gKnBzcmNidWZmOworICAgICAgcHNyY2J1ZmYrKzsKKyAgICAgIHBTZHJhbUFkZHJlc3MrKzsKKyAgICB9CisKKyAgICAvKiBVcGRhdGUgdGhlIFNEUkFNIGNvbnRyb2xsZXIgc3RhdGUgKi8KKyAgICBoc2RyYW0tPlN0YXRlID0gSEFMX1NEUkFNX1NUQVRFX1JFQURZOworCisgICAgLyogUHJvY2VzcyBVbmxvY2tlZCAqLworICAgIF9fSEFMX1VOTE9DSyhoc2RyYW0pOwogICB9Ci0gIAotICAvKiBXcml0ZSBkYXRhIHRvIG1lbW9yeSAqLwotICBmb3IoOyBCdWZmZXJTaXplICE9IDBVOyBCdWZmZXJTaXplLS0pCisgIGVsc2UKICAgewotICAgICooX19JTyB1aW50MzJfdCAqKXBTZHJhbUFkZHJlc3MgPSAqcFNyY0J1ZmZlcjsKLSAgICBwU3JjQnVmZmVyKys7Ci0gICAgcFNkcmFtQWRkcmVzcysrOyAgICAgICAgICAKKyAgICByZXR1cm4gIEhBTF9FUlJPUjsKICAgfQotICAKLSAgLyogUHJvY2VzcyBVbmxvY2tlZCAqLwotICBfX0hBTF9VTkxPQ0soaHNkcmFtKTsgICAgCi0gIAotICByZXR1cm4gSEFMX09LOyAgCisKKyAgcmV0dXJuIEhBTF9PSzsKIH0KIAogLyoqCi0gICogQGJyaWVmICBSZWFkcyBhIFdvcmRzIGRhdGEgZnJvbSB0aGUgU0RSQU0gbWVtb3J5IHVzaW5nIERNQSB0cmFuc2Zlci4gCisgICogQGJyaWVmICBSZWFkcyBhIFdvcmRzIGRhdGEgZnJvbSB0aGUgU0RSQU0gbWVtb3J5IHVzaW5nIERNQSB0cmFuc2Zlci4KICAgKiBAcGFyYW0gIGhzZHJhbSBwb2ludGVyIHRvIGEgU0RSQU1fSGFuZGxlVHlwZURlZiBzdHJ1Y3R1cmUgdGhhdCBjb250YWlucwogICAqICAgICAgICAgICAgICAgIHRoZSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIGZvciBTRFJBTSBtb2R1bGUuCiAgICogQHBhcmFtICBwQWRkcmVzcyBQb2ludGVyIHRvIHJlYWQgc3RhcnQgYWRkcmVzcwotICAqIEBwYXJhbSAgcERzdEJ1ZmZlciBQb2ludGVyIHRvIGRlc3RpbmF0aW9uIGJ1ZmZlciAgCisgICogQHBhcmFtICBwRHN0QnVmZmVyIFBvaW50ZXIgdG8gZGVzdGluYXRpb24gYnVmZmVyCiAgICogQHBhcmFtICBCdWZmZXJTaXplIFNpemUgb2YgdGhlIGJ1ZmZlciB0byByZWFkIGZyb20gbWVtb3J5CiAgICogQHJldHZhbCBIQUwgc3RhdHVzCiAgICovCi1IQUxfU3RhdHVzVHlwZURlZiBIQUxfU0RSQU1fUmVhZF9ETUEoU0RSQU1fSGFuZGxlVHlwZURlZiAqaHNkcmFtLCB1aW50MzJfdCAqcEFkZHJlc3MsIHVpbnQzMl90ICpwRHN0QnVmZmVyLCB1aW50MzJfdCBCdWZmZXJTaXplKQorSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1NEUkFNX1JlYWRfRE1BKFNEUkFNX0hhbmRsZVR5cGVEZWYgKmhzZHJhbSwgdWludDMyX3QgKnBBZGRyZXNzLCB1aW50MzJfdCAqcERzdEJ1ZmZlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBCdWZmZXJTaXplKQogewotICB1aW50MzJfdCB0bXAgPSAwVTsKLSAgICAKLSAgLyogUHJvY2VzcyBMb2NrZWQgKi8KLSAgX19IQUxfTE9DSyhoc2RyYW0pOwotICAKLSAgLyogQ2hlY2sgdGhlIFNEUkFNIGNvbnRyb2xsZXIgc3RhdGUgKi8gIAotICB0bXAgPSBoc2RyYW0tPlN0YXRlOwotICAKLSAgaWYodG1wID09IEhBTF9TRFJBTV9TVEFURV9CVVNZKQorICBIQUxfU3RhdHVzVHlwZURlZiBzdGF0dXM7CisgIEhBTF9TRFJBTV9TdGF0ZVR5cGVEZWYgc3RhdGUgPSBoc2RyYW0tPlN0YXRlOworCisgIC8qIENoZWNrIHRoZSBTRFJBTSBjb250cm9sbGVyIHN0YXRlICovCisgIGlmIChzdGF0ZSA9PSBIQUxfU0RSQU1fU1RBVEVfQlVTWSkKICAgewotICAgIHJldHVybiBIQUxfQlVTWTsKKyAgICBzdGF0dXMgPSBIQUxfQlVTWTsKICAgfQotICBlbHNlIGlmKHRtcCA9PSBIQUxfU0RSQU1fU1RBVEVfUFJFQ0hBUkdFRCkKKyAgZWxzZSBpZiAoKHN0YXRlID09IEhBTF9TRFJBTV9TVEFURV9SRUFEWSkgfHwgKHN0YXRlID09IEhBTF9TRFJBTV9TVEFURV9XUklURV9QUk9URUNURUQpKQogICB7Ci0gICAgcmV0dXJuICBIQUxfRVJST1I7IAotICB9ICAKLSAgCi0gIC8qIENvbmZpZ3VyZSBETUEgdXNlciBjYWxsYmFja3MgKi8KLSAgaHNkcmFtLT5oZG1hLT5YZmVyQ3BsdENhbGxiYWNrICA9IEhBTF9TRFJBTV9ETUFfWGZlckNwbHRDYWxsYmFjazsKLSAgaHNkcmFtLT5oZG1hLT5YZmVyRXJyb3JDYWxsYmFjayA9IEhBTF9TRFJBTV9ETUFfWGZlckVycm9yQ2FsbGJhY2s7Ci0gIAotICAvKiBFbmFibGUgdGhlIERNQSBTdHJlYW0gKi8KLSAgSEFMX0RNQV9TdGFydF9JVChoc2RyYW0tPmhkbWEsICh1aW50MzJfdClwQWRkcmVzcywgKHVpbnQzMl90KXBEc3RCdWZmZXIsICh1aW50MzJfdClCdWZmZXJTaXplKTsKLSAgCi0gIC8qIFByb2Nlc3MgVW5sb2NrZWQgKi8KLSAgX19IQUxfVU5MT0NLKGhzZHJhbSk7ICAKLSAgCi0gIHJldHVybiBIQUxfT0s7IAorICAgIC8qIFByb2Nlc3MgTG9ja2VkICovCisgICAgX19IQUxfTE9DSyhoc2RyYW0pOworCisgICAgLyogVXBkYXRlIHRoZSBTRFJBTSBjb250cm9sbGVyIHN0YXRlICovCisgICAgaHNkcmFtLT5TdGF0ZSA9IEhBTF9TRFJBTV9TVEFURV9CVVNZOworCisgICAgLyogQ29uZmlndXJlIERNQSB1c2VyIGNhbGxiYWNrcyAqLworICAgIGlmIChzdGF0ZSA9PSBIQUxfU0RSQU1fU1RBVEVfUkVBRFkpCisgICAgeworICAgICAgaHNkcmFtLT5oZG1hLT5YZmVyQ3BsdENhbGxiYWNrID0gU0RSQU1fRE1BQ3BsdDsKKyAgICB9CisgICAgZWxzZQorICAgIHsKKyAgICAgIGhzZHJhbS0+aGRtYS0+WGZlckNwbHRDYWxsYmFjayA9IFNEUkFNX0RNQUNwbHRQcm90OworICAgIH0KKyAgICBoc2RyYW0tPmhkbWEtPlhmZXJFcnJvckNhbGxiYWNrID0gU0RSQU1fRE1BRXJyb3I7CisKKyAgICAvKiBFbmFibGUgdGhlIERNQSBTdHJlYW0gKi8KKyAgICBzdGF0dXMgPSBIQUxfRE1BX1N0YXJ0X0lUKGhzZHJhbS0+aGRtYSwgKHVpbnQzMl90KXBBZGRyZXNzLCAodWludDMyX3QpcERzdEJ1ZmZlciwgKHVpbnQzMl90KUJ1ZmZlclNpemUpOworCisgICAgLyogUHJvY2VzcyBVbmxvY2tlZCAqLworICAgIF9fSEFMX1VOTE9DSyhoc2RyYW0pOworICB9CisgIGVsc2UKKyAgeworICAgIHN0YXR1cyA9IEhBTF9FUlJPUjsKKyAgfQorCisgIHJldHVybiBzdGF0dXM7CiB9CiAKIC8qKgpAQCAtNjQ0LDQwICs3NDIsNDQgQEAKICAgKiBAcGFyYW0gIGhzZHJhbSBwb2ludGVyIHRvIGEgU0RSQU1fSGFuZGxlVHlwZURlZiBzdHJ1Y3R1cmUgdGhhdCBjb250YWlucwogICAqICAgICAgICAgICAgICAgIHRoZSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIGZvciBTRFJBTSBtb2R1bGUuCiAgICogQHBhcmFtICBwQWRkcmVzcyBQb2ludGVyIHRvIHdyaXRlIHN0YXJ0IGFkZHJlc3MKLSAgKiBAcGFyYW0gIHBTcmNCdWZmZXIgUG9pbnRlciB0byBzb3VyY2UgYnVmZmVyIHRvIHdyaXRlICAKKyAgKiBAcGFyYW0gIHBTcmNCdWZmZXIgUG9pbnRlciB0byBzb3VyY2UgYnVmZmVyIHRvIHdyaXRlCiAgICogQHBhcmFtICBCdWZmZXJTaXplIFNpemUgb2YgdGhlIGJ1ZmZlciB0byB3cml0ZSB0byBtZW1vcnkKICAgKiBAcmV0dmFsIEhBTCBzdGF0dXMKICAgKi8KLUhBTF9TdGF0dXNUeXBlRGVmIEhBTF9TRFJBTV9Xcml0ZV9ETUEoU0RSQU1fSGFuZGxlVHlwZURlZiAqaHNkcmFtLCB1aW50MzJfdCAqcEFkZHJlc3MsIHVpbnQzMl90ICpwU3JjQnVmZmVyLCB1aW50MzJfdCBCdWZmZXJTaXplKQorSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1NEUkFNX1dyaXRlX0RNQShTRFJBTV9IYW5kbGVUeXBlRGVmICpoc2RyYW0sIHVpbnQzMl90ICpwQWRkcmVzcywgdWludDMyX3QgKnBTcmNCdWZmZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IEJ1ZmZlclNpemUpCiB7Ci0gIHVpbnQzMl90IHRtcCA9IDBVOwotICAKLSAgLyogUHJvY2VzcyBMb2NrZWQgKi8KLSAgX19IQUxfTE9DSyhoc2RyYW0pOwotICAKLSAgLyogQ2hlY2sgdGhlIFNEUkFNIGNvbnRyb2xsZXIgc3RhdGUgKi8gIAotICB0bXAgPSBoc2RyYW0tPlN0YXRlOwotICAKLSAgaWYodG1wID09IEhBTF9TRFJBTV9TVEFURV9CVVNZKQorICBIQUxfU3RhdHVzVHlwZURlZiBzdGF0dXM7CisKKyAgLyogQ2hlY2sgdGhlIFNEUkFNIGNvbnRyb2xsZXIgc3RhdGUgKi8KKyAgaWYgKGhzZHJhbS0+U3RhdGUgPT0gSEFMX1NEUkFNX1NUQVRFX0JVU1kpCiAgIHsKLSAgICByZXR1cm4gSEFMX0JVU1k7CisgICAgc3RhdHVzID0gSEFMX0JVU1k7CiAgIH0KLSAgZWxzZSBpZigodG1wID09IEhBTF9TRFJBTV9TVEFURV9QUkVDSEFSR0VEKSB8fCAodG1wID09IEhBTF9TRFJBTV9TVEFURV9XUklURV9QUk9URUNURUQpKQorICBlbHNlIGlmIChoc2RyYW0tPlN0YXRlID09IEhBTF9TRFJBTV9TVEFURV9SRUFEWSkKICAgewotICAgIHJldHVybiAgSEFMX0VSUk9SOyAKLSAgfSAgCi0gIAotICAvKiBDb25maWd1cmUgRE1BIHVzZXIgY2FsbGJhY2tzICovCi0gIGhzZHJhbS0+aGRtYS0+WGZlckNwbHRDYWxsYmFjayAgPSBIQUxfU0RSQU1fRE1BX1hmZXJDcGx0Q2FsbGJhY2s7Ci0gIGhzZHJhbS0+aGRtYS0+WGZlckVycm9yQ2FsbGJhY2sgPSBIQUxfU0RSQU1fRE1BX1hmZXJFcnJvckNhbGxiYWNrOwotICAKLSAgLyogRW5hYmxlIHRoZSBETUEgU3RyZWFtICovCi0gIEhBTF9ETUFfU3RhcnRfSVQoaHNkcmFtLT5oZG1hLCAodWludDMyX3QpcFNyY0J1ZmZlciwgKHVpbnQzMl90KXBBZGRyZXNzLCAodWludDMyX3QpQnVmZmVyU2l6ZSk7Ci0gIAotICAvKiBQcm9jZXNzIFVubG9ja2VkICovCi0gIF9fSEFMX1VOTE9DSyhoc2RyYW0pOwotICAKLSAgcmV0dXJuIEhBTF9PSzsKKyAgICAvKiBQcm9jZXNzIExvY2tlZCAqLworICAgIF9fSEFMX0xPQ0soaHNkcmFtKTsKKworICAgIC8qIFVwZGF0ZSB0aGUgU0RSQU0gY29udHJvbGxlciBzdGF0ZSAqLworICAgIGhzZHJhbS0+U3RhdGUgPSBIQUxfU0RSQU1fU1RBVEVfQlVTWTsKKworICAgIC8qIENvbmZpZ3VyZSBETUEgdXNlciBjYWxsYmFja3MgKi8KKyAgICBoc2RyYW0tPmhkbWEtPlhmZXJDcGx0Q2FsbGJhY2sgPSBTRFJBTV9ETUFDcGx0OworICAgIGhzZHJhbS0+aGRtYS0+WGZlckVycm9yQ2FsbGJhY2sgPSBTRFJBTV9ETUFFcnJvcjsKKworICAgIC8qIEVuYWJsZSB0aGUgRE1BIFN0cmVhbSAqLworICAgIHN0YXR1cyA9IEhBTF9ETUFfU3RhcnRfSVQoaHNkcmFtLT5oZG1hLCAodWludDMyX3QpcFNyY0J1ZmZlciwgKHVpbnQzMl90KXBBZGRyZXNzLCAodWludDMyX3QpQnVmZmVyU2l6ZSk7CisKKyAgICAvKiBQcm9jZXNzIFVubG9ja2VkICovCisgICAgX19IQUxfVU5MT0NLKGhzZHJhbSk7CisgIH0KKyAgZWxzZQorICB7CisgICAgc3RhdHVzID0gSEFMX0VSUk9SOworICB9CisKKyAgcmV0dXJuIHN0YXR1czsKIH0KIAogI2lmIChVU0VfSEFMX1NEUkFNX1JFR0lTVEVSX0NBTExCQUNLUyA9PSAxKQpAQCAtNjkzLDUzICs3OTUsNTQgQEAKICAgKiBAcGFyYW0gcENhbGxiYWNrIDogcG9pbnRlciB0byB0aGUgQ2FsbGJhY2sgZnVuY3Rpb24KICAgKiBAcmV0dmFsIHN0YXR1cwogICAqLwotSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1NEUkFNX1JlZ2lzdGVyQ2FsbGJhY2sgKFNEUkFNX0hhbmRsZVR5cGVEZWYgKmhzZHJhbSwgSEFMX1NEUkFNX0NhbGxiYWNrSURUeXBlRGVmIENhbGxiYWNrSWQsIHBTRFJBTV9DYWxsYmFja1R5cGVEZWYgcENhbGxiYWNrKQorSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1NEUkFNX1JlZ2lzdGVyQ2FsbGJhY2soU0RSQU1fSGFuZGxlVHlwZURlZiAqaHNkcmFtLCBIQUxfU0RSQU1fQ2FsbGJhY2tJRFR5cGVEZWYgQ2FsbGJhY2tJZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBTRFJBTV9DYWxsYmFja1R5cGVEZWYgcENhbGxiYWNrKQogewogICBIQUxfU3RhdHVzVHlwZURlZiBzdGF0dXMgPSBIQUxfT0s7CiAgIEhBTF9TRFJBTV9TdGF0ZVR5cGVEZWYgc3RhdGU7Ci0gIAotICBpZihwQ2FsbGJhY2sgPT0gTlVMTCkKKworICBpZiAocENhbGxiYWNrID09IE5VTEwpCiAgIHsKICAgICByZXR1cm4gSEFMX0VSUk9SOwogICB9CiAKICAgLyogUHJvY2VzcyBsb2NrZWQgKi8KICAgX19IQUxfTE9DSyhoc2RyYW0pOwotICAKKwogICBzdGF0ZSA9IGhzZHJhbS0+U3RhdGU7Ci0gIGlmKChzdGF0ZSA9PSBIQUxfU0RSQU1fU1RBVEVfUkVBRFkpIHx8IChzdGF0ZSA9PSBIQUxfU0RSQU1fU1RBVEVfV1JJVEVfUFJPVEVDVEVEKSkKKyAgaWYgKChzdGF0ZSA9PSBIQUxfU0RSQU1fU1RBVEVfUkVBRFkpIHx8IChzdGF0ZSA9PSBIQUxfU0RSQU1fU1RBVEVfV1JJVEVfUFJPVEVDVEVEKSkKICAgewogICAgIHN3aXRjaCAoQ2FsbGJhY2tJZCkKICAgICB7Ci0gICAgY2FzZSBIQUxfU0RSQU1fTVNQX0lOSVRfQ0JfSUQgOgotICAgICAgaHNkcmFtLT5Nc3BJbml0Q2FsbGJhY2sgPSBwQ2FsbGJhY2s7Ci0gICAgICBicmVhazsKLSAgICBjYXNlIEhBTF9TRFJBTV9NU1BfREVJTklUX0NCX0lEIDoKLSAgICAgIGhzZHJhbS0+TXNwRGVJbml0Q2FsbGJhY2sgPSBwQ2FsbGJhY2s7Ci0gICAgICBicmVhazsKLSAgICBjYXNlIEhBTF9TRFJBTV9SRUZSRVNIX0VSUl9DQl9JRCA6Ci0gICAgICBoc2RyYW0tPlJlZnJlc2hFcnJvckNhbGxiYWNrID0gcENhbGxiYWNrOwotICAgICAgYnJlYWs7Ci0gICAgZGVmYXVsdCA6Ci0gICAgICAvKiB1cGRhdGUgcmV0dXJuIHN0YXR1cyAqLwotICAgICAgc3RhdHVzID0gIEhBTF9FUlJPUjsKLSAgICAgIGJyZWFrOworICAgICAgY2FzZSBIQUxfU0RSQU1fTVNQX0lOSVRfQ0JfSUQgOgorICAgICAgICBoc2RyYW0tPk1zcEluaXRDYWxsYmFjayA9IHBDYWxsYmFjazsKKyAgICAgICAgYnJlYWs7CisgICAgICBjYXNlIEhBTF9TRFJBTV9NU1BfREVJTklUX0NCX0lEIDoKKyAgICAgICAgaHNkcmFtLT5Nc3BEZUluaXRDYWxsYmFjayA9IHBDYWxsYmFjazsKKyAgICAgICAgYnJlYWs7CisgICAgICBjYXNlIEhBTF9TRFJBTV9SRUZSRVNIX0VSUl9DQl9JRCA6CisgICAgICAgIGhzZHJhbS0+UmVmcmVzaEVycm9yQ2FsbGJhY2sgPSBwQ2FsbGJhY2s7CisgICAgICAgIGJyZWFrOworICAgICAgZGVmYXVsdCA6CisgICAgICAgIC8qIHVwZGF0ZSByZXR1cm4gc3RhdHVzICovCisgICAgICAgIHN0YXR1cyA9ICBIQUxfRVJST1I7CisgICAgICAgIGJyZWFrOwogICAgIH0KICAgfQotICBlbHNlIGlmKGhzZHJhbS0+U3RhdGUgPT0gSEFMX1NEUkFNX1NUQVRFX1JFU0VUKQorICBlbHNlIGlmIChoc2RyYW0tPlN0YXRlID09IEhBTF9TRFJBTV9TVEFURV9SRVNFVCkKICAgewogICAgIHN3aXRjaCAoQ2FsbGJhY2tJZCkKICAgICB7Ci0gICAgY2FzZSBIQUxfU0RSQU1fTVNQX0lOSVRfQ0JfSUQgOgotICAgICAgaHNkcmFtLT5Nc3BJbml0Q2FsbGJhY2sgPSBwQ2FsbGJhY2s7Ci0gICAgICBicmVhazsKLSAgICBjYXNlIEhBTF9TRFJBTV9NU1BfREVJTklUX0NCX0lEIDoKLSAgICAgIGhzZHJhbS0+TXNwRGVJbml0Q2FsbGJhY2sgPSBwQ2FsbGJhY2s7Ci0gICAgICBicmVhazsKLSAgICBkZWZhdWx0IDoKLSAgICAgIC8qIHVwZGF0ZSByZXR1cm4gc3RhdHVzICovCi0gICAgICBzdGF0dXMgPSAgSEFMX0VSUk9SOwotICAgICAgYnJlYWs7CisgICAgICBjYXNlIEhBTF9TRFJBTV9NU1BfSU5JVF9DQl9JRCA6CisgICAgICAgIGhzZHJhbS0+TXNwSW5pdENhbGxiYWNrID0gcENhbGxiYWNrOworICAgICAgICBicmVhazsKKyAgICAgIGNhc2UgSEFMX1NEUkFNX01TUF9ERUlOSVRfQ0JfSUQgOgorICAgICAgICBoc2RyYW0tPk1zcERlSW5pdENhbGxiYWNrID0gcENhbGxiYWNrOworICAgICAgICBicmVhazsKKyAgICAgIGRlZmF1bHQgOgorICAgICAgICAvKiB1cGRhdGUgcmV0dXJuIHN0YXR1cyAqLworICAgICAgICBzdGF0dXMgPSAgSEFMX0VSUk9SOworICAgICAgICBicmVhazsKICAgICB9CiAgIH0KICAgZWxzZQpAQCAtNzY2LDU0ICs4NjksNTQgQEAKICAgKiAgICAgICAgICBAYXJnIEByZWYgSEFMX1NEUkFNX0RNQV9YRkVSX0VSUl9DQl9JRCAgIFNEUkFNIERNQSBYZmVyIEVycm9yIGNhbGxiYWNrIElECiAgICogQHJldHZhbCBzdGF0dXMKICAgKi8KLUhBTF9TdGF0dXNUeXBlRGVmIEhBTF9TRFJBTV9VblJlZ2lzdGVyQ2FsbGJhY2sgKFNEUkFNX0hhbmRsZVR5cGVEZWYgKmhzZHJhbSwgSEFMX1NEUkFNX0NhbGxiYWNrSURUeXBlRGVmIENhbGxiYWNrSWQpCitIQUxfU3RhdHVzVHlwZURlZiBIQUxfU0RSQU1fVW5SZWdpc3RlckNhbGxiYWNrKFNEUkFNX0hhbmRsZVR5cGVEZWYgKmhzZHJhbSwgSEFMX1NEUkFNX0NhbGxiYWNrSURUeXBlRGVmIENhbGxiYWNrSWQpCiB7CiAgIEhBTF9TdGF0dXNUeXBlRGVmIHN0YXR1cyA9IEhBTF9PSzsKICAgSEFMX1NEUkFNX1N0YXRlVHlwZURlZiBzdGF0ZTsKLSAgCisKICAgLyogUHJvY2VzcyBsb2NrZWQgKi8KICAgX19IQUxfTE9DSyhoc2RyYW0pOwotICAKKwogICBzdGF0ZSA9IGhzZHJhbS0+U3RhdGU7Ci0gIGlmKChzdGF0ZSA9PSBIQUxfU0RSQU1fU1RBVEVfUkVBRFkpIHx8IChzdGF0ZSA9PSBIQUxfU0RSQU1fU1RBVEVfV1JJVEVfUFJPVEVDVEVEKSkKKyAgaWYgKChzdGF0ZSA9PSBIQUxfU0RSQU1fU1RBVEVfUkVBRFkpIHx8IChzdGF0ZSA9PSBIQUxfU0RSQU1fU1RBVEVfV1JJVEVfUFJPVEVDVEVEKSkKICAgewogICAgIHN3aXRjaCAoQ2FsbGJhY2tJZCkKICAgICB7Ci0gICAgY2FzZSBIQUxfU0RSQU1fTVNQX0lOSVRfQ0JfSUQgOgotICAgICAgaHNkcmFtLT5Nc3BJbml0Q2FsbGJhY2sgPSBIQUxfU0RSQU1fTXNwSW5pdDsKLSAgICAgIGJyZWFrOwotICAgIGNhc2UgSEFMX1NEUkFNX01TUF9ERUlOSVRfQ0JfSUQgOgotICAgICAgaHNkcmFtLT5Nc3BEZUluaXRDYWxsYmFjayA9IEhBTF9TRFJBTV9Nc3BEZUluaXQ7Ci0gICAgICBicmVhazsKLSAgICBjYXNlIEhBTF9TRFJBTV9SRUZSRVNIX0VSUl9DQl9JRCA6Ci0gICAgICBoc2RyYW0tPlJlZnJlc2hFcnJvckNhbGxiYWNrID0gSEFMX1NEUkFNX1JlZnJlc2hFcnJvckNhbGxiYWNrOwotICAgICAgYnJlYWs7Ci0gICAgY2FzZSBIQUxfU0RSQU1fRE1BX1hGRVJfQ1BMVF9DQl9JRCA6Ci0gICAgICBoc2RyYW0tPkRtYVhmZXJDcGx0Q2FsbGJhY2sgPSBIQUxfU0RSQU1fRE1BX1hmZXJDcGx0Q2FsbGJhY2s7Ci0gICAgICBicmVhazsKLSAgICBjYXNlIEhBTF9TRFJBTV9ETUFfWEZFUl9FUlJfQ0JfSUQgOgotICAgICAgaHNkcmFtLT5EbWFYZmVyRXJyb3JDYWxsYmFjayA9IEhBTF9TRFJBTV9ETUFfWGZlckVycm9yQ2FsbGJhY2s7Ci0gICAgICBicmVhazsKLSAgICBkZWZhdWx0IDoKLSAgICAgIC8qIHVwZGF0ZSByZXR1cm4gc3RhdHVzICovCi0gICAgICBzdGF0dXMgPSAgSEFMX0VSUk9SOwotICAgICAgYnJlYWs7CisgICAgICBjYXNlIEhBTF9TRFJBTV9NU1BfSU5JVF9DQl9JRCA6CisgICAgICAgIGhzZHJhbS0+TXNwSW5pdENhbGxiYWNrID0gSEFMX1NEUkFNX01zcEluaXQ7CisgICAgICAgIGJyZWFrOworICAgICAgY2FzZSBIQUxfU0RSQU1fTVNQX0RFSU5JVF9DQl9JRCA6CisgICAgICAgIGhzZHJhbS0+TXNwRGVJbml0Q2FsbGJhY2sgPSBIQUxfU0RSQU1fTXNwRGVJbml0OworICAgICAgICBicmVhazsKKyAgICAgIGNhc2UgSEFMX1NEUkFNX1JFRlJFU0hfRVJSX0NCX0lEIDoKKyAgICAgICAgaHNkcmFtLT5SZWZyZXNoRXJyb3JDYWxsYmFjayA9IEhBTF9TRFJBTV9SZWZyZXNoRXJyb3JDYWxsYmFjazsKKyAgICAgICAgYnJlYWs7CisgICAgICBjYXNlIEhBTF9TRFJBTV9ETUFfWEZFUl9DUExUX0NCX0lEIDoKKyAgICAgICAgaHNkcmFtLT5EbWFYZmVyQ3BsdENhbGxiYWNrID0gSEFMX1NEUkFNX0RNQV9YZmVyQ3BsdENhbGxiYWNrOworICAgICAgICBicmVhazsKKyAgICAgIGNhc2UgSEFMX1NEUkFNX0RNQV9YRkVSX0VSUl9DQl9JRCA6CisgICAgICAgIGhzZHJhbS0+RG1hWGZlckVycm9yQ2FsbGJhY2sgPSBIQUxfU0RSQU1fRE1BX1hmZXJFcnJvckNhbGxiYWNrOworICAgICAgICBicmVhazsKKyAgICAgIGRlZmF1bHQgOgorICAgICAgICAvKiB1cGRhdGUgcmV0dXJuIHN0YXR1cyAqLworICAgICAgICBzdGF0dXMgPSAgSEFMX0VSUk9SOworICAgICAgICBicmVhazsKICAgICB9CiAgIH0KLSAgZWxzZSBpZihoc2RyYW0tPlN0YXRlID09IEhBTF9TRFJBTV9TVEFURV9SRVNFVCkKKyAgZWxzZSBpZiAoaHNkcmFtLT5TdGF0ZSA9PSBIQUxfU0RSQU1fU1RBVEVfUkVTRVQpCiAgIHsKICAgICBzd2l0Y2ggKENhbGxiYWNrSWQpCiAgICAgewotICAgIGNhc2UgSEFMX1NEUkFNX01TUF9JTklUX0NCX0lEIDoKLSAgICAgIGhzZHJhbS0+TXNwSW5pdENhbGxiYWNrID0gSEFMX1NEUkFNX01zcEluaXQ7Ci0gICAgICBicmVhazsKLSAgICBjYXNlIEhBTF9TRFJBTV9NU1BfREVJTklUX0NCX0lEIDoKLSAgICAgIGhzZHJhbS0+TXNwRGVJbml0Q2FsbGJhY2sgPSBIQUxfU0RSQU1fTXNwRGVJbml0OwotICAgICAgYnJlYWs7Ci0gICAgZGVmYXVsdCA6Ci0gICAgICAvKiB1cGRhdGUgcmV0dXJuIHN0YXR1cyAqLwotICAgICAgc3RhdHVzID0gIEhBTF9FUlJPUjsKLSAgICAgIGJyZWFrOworICAgICAgY2FzZSBIQUxfU0RSQU1fTVNQX0lOSVRfQ0JfSUQgOgorICAgICAgICBoc2RyYW0tPk1zcEluaXRDYWxsYmFjayA9IEhBTF9TRFJBTV9Nc3BJbml0OworICAgICAgICBicmVhazsKKyAgICAgIGNhc2UgSEFMX1NEUkFNX01TUF9ERUlOSVRfQ0JfSUQgOgorICAgICAgICBoc2RyYW0tPk1zcERlSW5pdENhbGxiYWNrID0gSEFMX1NEUkFNX01zcERlSW5pdDsKKyAgICAgICAgYnJlYWs7CisgICAgICBkZWZhdWx0IDoKKyAgICAgICAgLyogdXBkYXRlIHJldHVybiBzdGF0dXMgKi8KKyAgICAgICAgc3RhdHVzID0gIEhBTF9FUlJPUjsKKyAgICAgICAgYnJlYWs7CiAgICAgfQogICB9CiAgIGVsc2UKQEAgLTgzOCwzNCArOTQxLDM1IEBACiAgICogQHBhcmFtIHBDYWxsYmFjayA6IHBvaW50ZXIgdG8gdGhlIENhbGxiYWNrIGZ1bmN0aW9uCiAgICogQHJldHZhbCBzdGF0dXMKICAgKi8KLUhBTF9TdGF0dXNUeXBlRGVmIEhBTF9TRFJBTV9SZWdpc3RlckRtYUNhbGxiYWNrKFNEUkFNX0hhbmRsZVR5cGVEZWYgKmhzZHJhbSwgSEFMX1NEUkFNX0NhbGxiYWNrSURUeXBlRGVmIENhbGxiYWNrSWQsIHBTRFJBTV9EbWFDYWxsYmFja1R5cGVEZWYgcENhbGxiYWNrKQorSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1NEUkFNX1JlZ2lzdGVyRG1hQ2FsbGJhY2soU0RSQU1fSGFuZGxlVHlwZURlZiAqaHNkcmFtLCBIQUxfU0RSQU1fQ2FsbGJhY2tJRFR5cGVEZWYgQ2FsbGJhY2tJZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBTRFJBTV9EbWFDYWxsYmFja1R5cGVEZWYgcENhbGxiYWNrKQogewogICBIQUxfU3RhdHVzVHlwZURlZiBzdGF0dXMgPSBIQUxfT0s7CiAgIEhBTF9TRFJBTV9TdGF0ZVR5cGVEZWYgc3RhdGU7Ci0gIAotICBpZihwQ2FsbGJhY2sgPT0gTlVMTCkKKworICBpZiAocENhbGxiYWNrID09IE5VTEwpCiAgIHsKICAgICByZXR1cm4gSEFMX0VSUk9SOwogICB9CiAKICAgLyogUHJvY2VzcyBsb2NrZWQgKi8KICAgX19IQUxfTE9DSyhoc2RyYW0pOwotICAKKwogICBzdGF0ZSA9IGhzZHJhbS0+U3RhdGU7Ci0gIGlmKChzdGF0ZSA9PSBIQUxfU0RSQU1fU1RBVEVfUkVBRFkpIHx8IChzdGF0ZSA9PSBIQUxfU0RSQU1fU1RBVEVfV1JJVEVfUFJPVEVDVEVEKSkKKyAgaWYgKChzdGF0ZSA9PSBIQUxfU0RSQU1fU1RBVEVfUkVBRFkpIHx8IChzdGF0ZSA9PSBIQUxfU0RSQU1fU1RBVEVfV1JJVEVfUFJPVEVDVEVEKSkKICAgewogICAgIHN3aXRjaCAoQ2FsbGJhY2tJZCkKICAgICB7Ci0gICAgY2FzZSBIQUxfU0RSQU1fRE1BX1hGRVJfQ1BMVF9DQl9JRCA6Ci0gICAgICBoc2RyYW0tPkRtYVhmZXJDcGx0Q2FsbGJhY2sgPSBwQ2FsbGJhY2s7Ci0gICAgICBicmVhazsKLSAgICBjYXNlIEhBTF9TRFJBTV9ETUFfWEZFUl9FUlJfQ0JfSUQgOgotICAgICAgaHNkcmFtLT5EbWFYZmVyRXJyb3JDYWxsYmFjayA9IHBDYWxsYmFjazsKLSAgICAgIGJyZWFrOwotICAgIGRlZmF1bHQgOgotICAgICAgLyogdXBkYXRlIHJldHVybiBzdGF0dXMgKi8KLSAgICAgIHN0YXR1cyA9ICBIQUxfRVJST1I7Ci0gICAgICBicmVhazsKKyAgICAgIGNhc2UgSEFMX1NEUkFNX0RNQV9YRkVSX0NQTFRfQ0JfSUQgOgorICAgICAgICBoc2RyYW0tPkRtYVhmZXJDcGx0Q2FsbGJhY2sgPSBwQ2FsbGJhY2s7CisgICAgICAgIGJyZWFrOworICAgICAgY2FzZSBIQUxfU0RSQU1fRE1BX1hGRVJfRVJSX0NCX0lEIDoKKyAgICAgICAgaHNkcmFtLT5EbWFYZmVyRXJyb3JDYWxsYmFjayA9IHBDYWxsYmFjazsKKyAgICAgICAgYnJlYWs7CisgICAgICBkZWZhdWx0IDoKKyAgICAgICAgLyogdXBkYXRlIHJldHVybiBzdGF0dXMgKi8KKyAgICAgICAgc3RhdHVzID0gIEhBTF9FUlJPUjsKKyAgICAgICAgYnJlYWs7CiAgICAgfQogICB9CiAgIGVsc2UKQEAgLTg3OCwxOSArOTgyLDE5IEBACiAgIF9fSEFMX1VOTE9DSyhoc2RyYW0pOwogICByZXR1cm4gc3RhdHVzOwogfQotI2VuZGlmCisjZW5kaWYgLyogVVNFX0hBTF9TRFJBTV9SRUdJU1RFUl9DQUxMQkFDS1MgKi8KIAogLyoqCiAgICogQH0KICAgKi8KLSAgCi0vKiogQGRlZmdyb3VwIFNEUkFNX0V4cG9ydGVkX0Z1bmN0aW9uc19Hcm91cDMgQ29udHJvbCBmdW5jdGlvbnMgCi0gKiAgQGJyaWVmICAgbWFuYWdlbWVudCBmdW5jdGlvbnMgCi0gKgotQHZlcmJhdGltICAgCisKKy8qKiBAZGVmZ3JvdXAgU0RSQU1fRXhwb3J0ZWRfRnVuY3Rpb25zX0dyb3VwMyBDb250cm9sIGZ1bmN0aW9ucworICAqICBAYnJpZWYgICBtYW5hZ2VtZW50IGZ1bmN0aW9ucworICAqCitAdmVyYmF0aW0KICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAgICAgICAgICAgICAgICAgICAgICAgIyMjIyMgU0RSQU0gQ29udHJvbCBmdW5jdGlvbnMgIyMjIyMKLSAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICAKKyAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgIFsuLl0KICAgICBUaGlzIHN1YnNlY3Rpb24gcHJvdmlkZXMgYSBzZXQgb2YgZnVuY3Rpb25zIGFsbG93aW5nIHRvIGNvbnRyb2wgZHluYW1pY2FsbHkKICAgICB0aGUgU0RSQU0gaW50ZXJmYWNlLgpAQCAtOTA2LDIzICsxMDEwLDI5IEBACiAgICogQHJldHZhbCBIQUwgc3RhdHVzCiAgICovCiBIQUxfU3RhdHVzVHlwZURlZiBIQUxfU0RSQU1fV3JpdGVQcm90ZWN0aW9uX0VuYWJsZShTRFJBTV9IYW5kbGVUeXBlRGVmICpoc2RyYW0pCi17IAotICAvKiBDaGVjayB0aGUgU0RSQU0gY29udHJvbGxlciBzdGF0ZSAqLyAKLSAgaWYoaHNkcmFtLT5TdGF0ZSA9PSBIQUxfU0RSQU1fU1RBVEVfQlVTWSkKK3sKKyAgLyogQ2hlY2sgdGhlIFNEUkFNIGNvbnRyb2xsZXIgc3RhdGUgKi8KKyAgaWYgKGhzZHJhbS0+U3RhdGUgPT0gSEFMX1NEUkFNX1NUQVRFX0JVU1kpCiAgIHsKICAgICByZXR1cm4gSEFMX0JVU1k7CiAgIH0KLSAgCi0gIC8qIFVwZGF0ZSB0aGUgU0RSQU0gc3RhdGUgKi8KLSAgaHNkcmFtLT5TdGF0ZSA9IEhBTF9TRFJBTV9TVEFURV9CVVNZOwotICAKLSAgLyogRW5hYmxlIHdyaXRlIHByb3RlY3Rpb24gKi8KLSAgRk1DX1NEUkFNX1dyaXRlUHJvdGVjdGlvbl9FbmFibGUoaHNkcmFtLT5JbnN0YW5jZSwgaHNkcmFtLT5Jbml0LlNEQmFuayk7Ci0gIAotICAvKiBVcGRhdGUgdGhlIFNEUkFNIHN0YXRlICovCi0gIGhzZHJhbS0+U3RhdGUgPSBIQUxfU0RSQU1fU1RBVEVfV1JJVEVfUFJPVEVDVEVEOwotICAKLSAgcmV0dXJuIEhBTF9PSzsgIAorICBlbHNlIGlmIChoc2RyYW0tPlN0YXRlID09IEhBTF9TRFJBTV9TVEFURV9SRUFEWSkKKyAgeworICAgIC8qIFVwZGF0ZSB0aGUgU0RSQU0gc3RhdGUgKi8KKyAgICBoc2RyYW0tPlN0YXRlID0gSEFMX1NEUkFNX1NUQVRFX0JVU1k7CisKKyAgICAvKiBFbmFibGUgd3JpdGUgcHJvdGVjdGlvbiAqLworICAgICh2b2lkKUZNQ19TRFJBTV9Xcml0ZVByb3RlY3Rpb25fRW5hYmxlKGhzZHJhbS0+SW5zdGFuY2UsIGhzZHJhbS0+SW5pdC5TREJhbmspOworCisgICAgLyogVXBkYXRlIHRoZSBTRFJBTSBzdGF0ZSAqLworICAgIGhzZHJhbS0+U3RhdGUgPSBIQUxfU0RSQU1fU1RBVEVfV1JJVEVfUFJPVEVDVEVEOworICB9CisgIGVsc2UKKyAgeworICAgIHJldHVybiBIQUxfRVJST1I7CisgIH0KKworICByZXR1cm4gSEFMX09LOwogfQogCiAvKioKQEAgLTkzMywyMSArMTA0MywyOSBAQAogICAqLwogSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1NEUkFNX1dyaXRlUHJvdGVjdGlvbl9EaXNhYmxlKFNEUkFNX0hhbmRsZVR5cGVEZWYgKmhzZHJhbSkKIHsKKyAgSEFMX1NEUkFNX1N0YXRlVHlwZURlZiBzdGF0ZSA9IGhzZHJhbS0+U3RhdGU7CisKICAgLyogQ2hlY2sgdGhlIFNEUkFNIGNvbnRyb2xsZXIgc3RhdGUgKi8KLSAgaWYoaHNkcmFtLT5TdGF0ZSA9PSBIQUxfU0RSQU1fU1RBVEVfQlVTWSkKKyAgaWYgKHN0YXRlID09IEhBTF9TRFJBTV9TVEFURV9CVVNZKQogICB7CiAgICAgcmV0dXJuIEhBTF9CVVNZOwogICB9Ci0gIAotICAvKiBVcGRhdGUgdGhlIFNEUkFNIHN0YXRlICovCi0gIGhzZHJhbS0+U3RhdGUgPSBIQUxfU0RSQU1fU1RBVEVfQlVTWTsKLSAgCi0gIC8qIERpc2FibGUgd3JpdGUgcHJvdGVjdGlvbiAqLwotICBGTUNfU0RSQU1fV3JpdGVQcm90ZWN0aW9uX0Rpc2FibGUoaHNkcmFtLT5JbnN0YW5jZSwgaHNkcmFtLT5Jbml0LlNEQmFuayk7Ci0gIAotICAvKiBVcGRhdGUgdGhlIFNEUkFNIHN0YXRlICovCi0gIGhzZHJhbS0+U3RhdGUgPSBIQUxfU0RSQU1fU1RBVEVfUkVBRFk7Ci0gIAorICBlbHNlIGlmIChzdGF0ZSA9PSBIQUxfU0RSQU1fU1RBVEVfV1JJVEVfUFJPVEVDVEVEKQorICB7CisgICAgLyogVXBkYXRlIHRoZSBTRFJBTSBzdGF0ZSAqLworICAgIGhzZHJhbS0+U3RhdGUgPSBIQUxfU0RSQU1fU1RBVEVfQlVTWTsKKworICAgIC8qIERpc2FibGUgd3JpdGUgcHJvdGVjdGlvbiAqLworICAgICh2b2lkKUZNQ19TRFJBTV9Xcml0ZVByb3RlY3Rpb25fRGlzYWJsZShoc2RyYW0tPkluc3RhbmNlLCBoc2RyYW0tPkluaXQuU0RCYW5rKTsKKworICAgIC8qIFVwZGF0ZSB0aGUgU0RSQU0gc3RhdGUgKi8KKyAgICBoc2RyYW0tPlN0YXRlID0gSEFMX1NEUkFNX1NUQVRFX1JFQURZOworICB9CisgIGVsc2UKKyAgeworICAgIHJldHVybiBIQUxfRVJST1I7CisgIH0KKwogICByZXR1cm4gSEFMX09LOwogfQogCkBAIC05NTgsODUgKzEwNzYsMTA2IEBACiAgICogQHBhcmFtICBDb21tYW5kIFNEUkFNIGNvbW1hbmQgc3RydWN0dXJlCiAgICogQHBhcmFtICBUaW1lb3V0IFRpbWVvdXQgZHVyYXRpb24KICAgKiBAcmV0dmFsIEhBTCBzdGF0dXMKLSAgKi8gIAotSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1NEUkFNX1NlbmRDb21tYW5kKFNEUkFNX0hhbmRsZVR5cGVEZWYgKmhzZHJhbSwgRk1DX1NEUkFNX0NvbW1hbmRUeXBlRGVmICpDb21tYW5kLCB1aW50MzJfdCBUaW1lb3V0KQorICAqLworSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1NEUkFNX1NlbmRDb21tYW5kKFNEUkFNX0hhbmRsZVR5cGVEZWYgKmhzZHJhbSwgRk1DX1NEUkFNX0NvbW1hbmRUeXBlRGVmICpDb21tYW5kLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IFRpbWVvdXQpCiB7CisgIEhBTF9TRFJBTV9TdGF0ZVR5cGVEZWYgc3RhdGUgPSBoc2RyYW0tPlN0YXRlOworCiAgIC8qIENoZWNrIHRoZSBTRFJBTSBjb250cm9sbGVyIHN0YXRlICovCi0gIGlmKGhzZHJhbS0+U3RhdGUgPT0gSEFMX1NEUkFNX1NUQVRFX0JVU1kpCisgIGlmIChzdGF0ZSA9PSBIQUxfU0RSQU1fU1RBVEVfQlVTWSkKICAgewogICAgIHJldHVybiBIQUxfQlVTWTsKICAgfQotICAKLSAgLyogVXBkYXRlIHRoZSBTRFJBTSBzdGF0ZSAqLwotICBoc2RyYW0tPlN0YXRlID0gSEFMX1NEUkFNX1NUQVRFX0JVU1k7Ci0gIAotICAvKiBTZW5kIFNEUkFNIGNvbW1hbmQgKi8KLSAgRk1DX1NEUkFNX1NlbmRDb21tYW5kKGhzZHJhbS0+SW5zdGFuY2UsIENvbW1hbmQsIFRpbWVvdXQpOwotICAKLSAgLyogVXBkYXRlIHRoZSBTRFJBTSBjb250cm9sbGVyIHN0YXRlICovCi0gIGlmKENvbW1hbmQtPkNvbW1hbmRNb2RlID09IEZNQ19TRFJBTV9DTURfUEFMTCkKKyAgZWxzZSBpZiAoKHN0YXRlID09IEhBTF9TRFJBTV9TVEFURV9SRUFEWSkgfHwgKHN0YXRlID09IEhBTF9TRFJBTV9TVEFURV9QUkVDSEFSR0VEKSkKICAgewotICAgIGhzZHJhbS0+U3RhdGUgPSBIQUxfU0RSQU1fU1RBVEVfUFJFQ0hBUkdFRDsKKyAgICAvKiBVcGRhdGUgdGhlIFNEUkFNIHN0YXRlICovCisgICAgaHNkcmFtLT5TdGF0ZSA9IEhBTF9TRFJBTV9TVEFURV9CVVNZOworCisgICAgLyogU2VuZCBTRFJBTSBjb21tYW5kICovCisgICAgKHZvaWQpRk1DX1NEUkFNX1NlbmRDb21tYW5kKGhzZHJhbS0+SW5zdGFuY2UsIENvbW1hbmQsIFRpbWVvdXQpOworCisgICAgLyogVXBkYXRlIHRoZSBTRFJBTSBjb250cm9sbGVyIHN0YXRlIHN0YXRlICovCisgICAgaWYgKENvbW1hbmQtPkNvbW1hbmRNb2RlID09IEZNQ19TRFJBTV9DTURfUEFMTCkKKyAgICB7CisgICAgICBoc2RyYW0tPlN0YXRlID0gSEFMX1NEUkFNX1NUQVRFX1BSRUNIQVJHRUQ7CisgICAgfQorICAgIGVsc2UKKyAgICB7CisgICAgICBoc2RyYW0tPlN0YXRlID0gSEFMX1NEUkFNX1NUQVRFX1JFQURZOworICAgIH0KICAgfQogICBlbHNlCiAgIHsKLSAgICBoc2RyYW0tPlN0YXRlID0gSEFMX1NEUkFNX1NUQVRFX1JFQURZOworICAgIHJldHVybiBIQUxfRVJST1I7CiAgIH0KLSAgCi0gIHJldHVybiBIQUxfT0s7ICAKKworICByZXR1cm4gSEFMX09LOwogfQogCiAvKioKICAgKiBAYnJpZWYgIFByb2dyYW1zIHRoZSBTRFJBTSBNZW1vcnkgUmVmcmVzaCByYXRlLgogICAqIEBwYXJhbSAgaHNkcmFtIHBvaW50ZXIgdG8gYSBTRFJBTV9IYW5kbGVUeXBlRGVmIHN0cnVjdHVyZSB0aGF0IGNvbnRhaW5zCi0gICogICAgICAgICAgICAgICAgdGhlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gZm9yIFNEUkFNIG1vZHVsZS4gIAotICAqIEBwYXJhbSAgUmVmcmVzaFJhdGUgVGhlIFNEUkFNIHJlZnJlc2ggcmF0ZSB2YWx1ZSAgICAgICAKKyAgKiAgICAgICAgICAgICAgICB0aGUgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbiBmb3IgU0RSQU0gbW9kdWxlLgorICAqIEBwYXJhbSAgUmVmcmVzaFJhdGUgVGhlIFNEUkFNIHJlZnJlc2ggcmF0ZSB2YWx1ZQogICAqIEByZXR2YWwgSEFMIHN0YXR1cwogICAqLwogSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1NEUkFNX1Byb2dyYW1SZWZyZXNoUmF0ZShTRFJBTV9IYW5kbGVUeXBlRGVmICpoc2RyYW0sIHVpbnQzMl90IFJlZnJlc2hSYXRlKQogewogICAvKiBDaGVjayB0aGUgU0RSQU0gY29udHJvbGxlciBzdGF0ZSAqLwotICBpZihoc2RyYW0tPlN0YXRlID09IEhBTF9TRFJBTV9TVEFURV9CVVNZKQorICBpZiAoaHNkcmFtLT5TdGF0ZSA9PSBIQUxfU0RSQU1fU1RBVEVfQlVTWSkKICAgewogICAgIHJldHVybiBIQUxfQlVTWTsKLSAgfSAKLSAgCi0gIC8qIFVwZGF0ZSB0aGUgU0RSQU0gc3RhdGUgKi8KLSAgaHNkcmFtLT5TdGF0ZSA9IEhBTF9TRFJBTV9TVEFURV9CVVNZOwotICAKLSAgLyogUHJvZ3JhbSB0aGUgcmVmcmVzaCByYXRlICovCi0gIEZNQ19TRFJBTV9Qcm9ncmFtUmVmcmVzaFJhdGUoaHNkcmFtLT5JbnN0YW5jZSAsUmVmcmVzaFJhdGUpOwotICAKLSAgLyogVXBkYXRlIHRoZSBTRFJBTSBzdGF0ZSAqLwotICBoc2RyYW0tPlN0YXRlID0gSEFMX1NEUkFNX1NUQVRFX1JFQURZOwotICAKLSAgcmV0dXJuIEhBTF9PSzsgICAKKyAgfQorICBlbHNlIGlmIChoc2RyYW0tPlN0YXRlID09IEhBTF9TRFJBTV9TVEFURV9SRUFEWSkKKyAgeworICAgIC8qIFVwZGF0ZSB0aGUgU0RSQU0gc3RhdGUgKi8KKyAgICBoc2RyYW0tPlN0YXRlID0gSEFMX1NEUkFNX1NUQVRFX0JVU1k7CisKKyAgICAvKiBQcm9ncmFtIHRoZSByZWZyZXNoIHJhdGUgKi8KKyAgICAodm9pZClGTUNfU0RSQU1fUHJvZ3JhbVJlZnJlc2hSYXRlKGhzZHJhbS0+SW5zdGFuY2UsIFJlZnJlc2hSYXRlKTsKKworICAgIC8qIFVwZGF0ZSB0aGUgU0RSQU0gc3RhdGUgKi8KKyAgICBoc2RyYW0tPlN0YXRlID0gSEFMX1NEUkFNX1NUQVRFX1JFQURZOworICB9CisgIGVsc2UKKyAgeworICAgIHJldHVybiBIQUxfRVJST1I7CisgIH0KKworICByZXR1cm4gSEFMX09LOwogfQogCiAvKioKICAgKiBAYnJpZWYgIFNldHMgdGhlIE51bWJlciBvZiBjb25zZWN1dGl2ZSBTRFJBTSBNZW1vcnkgYXV0byBSZWZyZXNoIGNvbW1hbmRzLgogICAqIEBwYXJhbSAgaHNkcmFtIHBvaW50ZXIgdG8gYSBTRFJBTV9IYW5kbGVUeXBlRGVmIHN0cnVjdHVyZSB0aGF0IGNvbnRhaW5zCi0gICogICAgICAgICAgICAgICAgdGhlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gZm9yIFNEUkFNIG1vZHVsZS4gIAotICAqIEBwYXJhbSAgQXV0b1JlZnJlc2hOdW1iZXIgVGhlIFNEUkFNIGF1dG8gUmVmcmVzaCBudW1iZXIgICAgICAgCisgICogICAgICAgICAgICAgICAgdGhlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gZm9yIFNEUkFNIG1vZHVsZS4KKyAgKiBAcGFyYW0gIEF1dG9SZWZyZXNoTnVtYmVyIFRoZSBTRFJBTSBhdXRvIFJlZnJlc2ggbnVtYmVyCiAgICogQHJldHZhbCBIQUwgc3RhdHVzCiAgICovCiBIQUxfU3RhdHVzVHlwZURlZiBIQUxfU0RSQU1fU2V0QXV0b1JlZnJlc2hOdW1iZXIoU0RSQU1fSGFuZGxlVHlwZURlZiAqaHNkcmFtLCB1aW50MzJfdCBBdXRvUmVmcmVzaE51bWJlcikKIHsKICAgLyogQ2hlY2sgdGhlIFNEUkFNIGNvbnRyb2xsZXIgc3RhdGUgKi8KLSAgaWYoaHNkcmFtLT5TdGF0ZSA9PSBIQUxfU0RSQU1fU1RBVEVfQlVTWSkKKyAgaWYgKGhzZHJhbS0+U3RhdGUgPT0gSEFMX1NEUkFNX1NUQVRFX0JVU1kpCiAgIHsKICAgICByZXR1cm4gSEFMX0JVU1k7Ci0gIH0gCi0gIAotICAvKiBVcGRhdGUgdGhlIFNEUkFNIHN0YXRlICovCi0gIGhzZHJhbS0+U3RhdGUgPSBIQUxfU0RSQU1fU1RBVEVfQlVTWTsKLSAgCi0gIC8qIFNldCB0aGUgQXV0by1SZWZyZXNoIG51bWJlciAqLwotICBGTUNfU0RSQU1fU2V0QXV0b1JlZnJlc2hOdW1iZXIoaHNkcmFtLT5JbnN0YW5jZSAsQXV0b1JlZnJlc2hOdW1iZXIpOwotICAKLSAgLyogVXBkYXRlIHRoZSBTRFJBTSBzdGF0ZSAqLwotICBoc2RyYW0tPlN0YXRlID0gSEFMX1NEUkFNX1NUQVRFX1JFQURZOwotICAKKyAgfQorICBlbHNlIGlmIChoc2RyYW0tPlN0YXRlID09IEhBTF9TRFJBTV9TVEFURV9SRUFEWSkKKyAgeworICAgIC8qIFVwZGF0ZSB0aGUgU0RSQU0gc3RhdGUgKi8KKyAgICBoc2RyYW0tPlN0YXRlID0gSEFMX1NEUkFNX1NUQVRFX0JVU1k7CisKKyAgICAvKiBTZXQgdGhlIEF1dG8tUmVmcmVzaCBudW1iZXIgKi8KKyAgICAodm9pZClGTUNfU0RSQU1fU2V0QXV0b1JlZnJlc2hOdW1iZXIoaHNkcmFtLT5JbnN0YW5jZSwgQXV0b1JlZnJlc2hOdW1iZXIpOworCisgICAgLyogVXBkYXRlIHRoZSBTRFJBTSBzdGF0ZSAqLworICAgIGhzZHJhbS0+U3RhdGUgPSBIQUxfU0RSQU1fU1RBVEVfUkVBRFk7CisgIH0KKyAgZWxzZQorICB7CisgICAgcmV0dXJuIEhBTF9FUlJPUjsKKyAgfQorCiAgIHJldHVybiBIQUxfT0s7CiB9CiAKQEAgLTEwNDQsMjcgKzExODMsMjcgQEAKICAgKiBAYnJpZWYgIFJldHVybnMgdGhlIFNEUkFNIG1lbW9yeSBjdXJyZW50IG1vZGUuCiAgICogQHBhcmFtICBoc2RyYW0gcG9pbnRlciB0byBhIFNEUkFNX0hhbmRsZVR5cGVEZWYgc3RydWN0dXJlIHRoYXQgY29udGFpbnMKICAgKiAgICAgICAgICAgICAgICB0aGUgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbiBmb3IgU0RSQU0gbW9kdWxlLgotICAqIEByZXR2YWwgVGhlIFNEUkFNIG1lbW9yeSBtb2RlLiAgICAgICAgCisgICogQHJldHZhbCBUaGUgU0RSQU0gbWVtb3J5IG1vZGUuCiAgICovCiB1aW50MzJfdCBIQUxfU0RSQU1fR2V0TW9kZVN0YXR1cyhTRFJBTV9IYW5kbGVUeXBlRGVmICpoc2RyYW0pCiB7CiAgIC8qIFJldHVybiB0aGUgU0RSQU0gbWVtb3J5IGN1cnJlbnQgbW9kZSAqLwotICByZXR1cm4oRk1DX1NEUkFNX0dldE1vZGVTdGF0dXMoaHNkcmFtLT5JbnN0YW5jZSwgaHNkcmFtLT5Jbml0LlNEQmFuaykpOworICByZXR1cm4gKEZNQ19TRFJBTV9HZXRNb2RlU3RhdHVzKGhzZHJhbS0+SW5zdGFuY2UsIGhzZHJhbS0+SW5pdC5TREJhbmspKTsKIH0KIAogLyoqCiAgICogQH0KICAgKi8KLSAgCi0vKiogQGRlZmdyb3VwIFNEUkFNX0V4cG9ydGVkX0Z1bmN0aW9uc19Hcm91cDQgU3RhdGUgZnVuY3Rpb25zIAotICogIEBicmllZiAgIFBlcmlwaGVyYWwgU3RhdGUgZnVuY3Rpb25zIAotICoKLUB2ZXJiYXRpbSAgIAorCisvKiogQGRlZmdyb3VwIFNEUkFNX0V4cG9ydGVkX0Z1bmN0aW9uc19Hcm91cDQgU3RhdGUgZnVuY3Rpb25zCisgICogIEBicmllZiAgIFBlcmlwaGVyYWwgU3RhdGUgZnVuY3Rpb25zCisgICoKK0B2ZXJiYXRpbQogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgICAgICAgICAgICAgICAgICAgICAjIyMjIyBTRFJBTSBTdGF0ZSBmdW5jdGlvbnMgIyMjIyMKLSAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICAKKyAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgIFsuLl0KLSAgICBUaGlzIHN1YnNlY3Rpb24gcGVybWl0cyB0byBnZXQgaW4gcnVuLXRpbWUgdGhlIHN0YXR1cyBvZiB0aGUgU0RSQU0gY29udHJvbGxlciAKKyAgICBUaGlzIHN1YnNlY3Rpb24gcGVybWl0cyB0byBnZXQgaW4gcnVuLXRpbWUgdGhlIHN0YXR1cyBvZiB0aGUgU0RSQU0gY29udHJvbGxlcgogICAgIGFuZCB0aGUgZGF0YSBmbG93LgogCiBAZW5kdmVyYmF0aW0KQEAgLTEwODQsMTkgKzEyMjMsODYgQEAKIAogLyoqCiAgICogQH0KLSAgKi8gICAgCisgICovCiAKIC8qKgogICAqIEB9CiAgICovCi0jZW5kaWYgLyogU1RNMzJGNDI3eHggfHwgU1RNMzJGNDM3eHggfHwgU1RNMzJGNDI5eHggfHwgU1RNMzJGNDM5eHggfHwgU1RNMzJGNDQ2eHggfHwgU1RNMzJGNDY5eHggfHwgU1RNMzJGNDc5eHggKi8KKworLyoqCisgICogQGJyaWVmICBETUEgU0RSQU0gcHJvY2VzcyBjb21wbGV0ZSBjYWxsYmFjay4KKyAgKiBAcGFyYW0gIGhkbWEgOiBETUEgaGFuZGxlCisgICogQHJldHZhbCBOb25lCisgICovCitzdGF0aWMgdm9pZCBTRFJBTV9ETUFDcGx0KERNQV9IYW5kbGVUeXBlRGVmICpoZG1hKQoreworICBTRFJBTV9IYW5kbGVUeXBlRGVmICpoc2RyYW0gPSAoU0RSQU1fSGFuZGxlVHlwZURlZiAqKShoZG1hLT5QYXJlbnQpOworCisgIC8qIERpc2FibGUgdGhlIERNQSBjaGFubmVsICovCisgIF9fSEFMX0RNQV9ESVNBQkxFKGhkbWEpOworCisgIC8qIFVwZGF0ZSB0aGUgU0RSQU0gY29udHJvbGxlciBzdGF0ZSAqLworICBoc2RyYW0tPlN0YXRlID0gSEFMX1NEUkFNX1NUQVRFX1JFQURZOworCisjaWYgKFVTRV9IQUxfU0RSQU1fUkVHSVNURVJfQ0FMTEJBQ0tTID09IDEpCisgIGhzZHJhbS0+RG1hWGZlckNwbHRDYWxsYmFjayhoZG1hKTsKKyNlbHNlCisgIEhBTF9TRFJBTV9ETUFfWGZlckNwbHRDYWxsYmFjayhoZG1hKTsKKyNlbmRpZiAvKiBVU0VfSEFMX1NEUkFNX1JFR0lTVEVSX0NBTExCQUNLUyAqLworfQorCisvKioKKyAgKiBAYnJpZWYgIERNQSBTUkFNIHByb2Nlc3MgY29tcGxldGUgY2FsbGJhY2suCisgICogQHBhcmFtICBoZG1hIDogRE1BIGhhbmRsZQorICAqIEByZXR2YWwgTm9uZQorICAqLworc3RhdGljIHZvaWQgU0RSQU1fRE1BQ3BsdFByb3QoRE1BX0hhbmRsZVR5cGVEZWYgKmhkbWEpCit7CisgIFNEUkFNX0hhbmRsZVR5cGVEZWYgKmhzZHJhbSA9IChTRFJBTV9IYW5kbGVUeXBlRGVmICopKGhkbWEtPlBhcmVudCk7CisKKyAgLyogRGlzYWJsZSB0aGUgRE1BIGNoYW5uZWwgKi8KKyAgX19IQUxfRE1BX0RJU0FCTEUoaGRtYSk7CisKKyAgLyogVXBkYXRlIHRoZSBTRFJBTSBjb250cm9sbGVyIHN0YXRlICovCisgIGhzZHJhbS0+U3RhdGUgPSBIQUxfU0RSQU1fU1RBVEVfV1JJVEVfUFJPVEVDVEVEOworCisjaWYgKFVTRV9IQUxfU0RSQU1fUkVHSVNURVJfQ0FMTEJBQ0tTID09IDEpCisgIGhzZHJhbS0+RG1hWGZlckNwbHRDYWxsYmFjayhoZG1hKTsKKyNlbHNlCisgIEhBTF9TRFJBTV9ETUFfWGZlckNwbHRDYWxsYmFjayhoZG1hKTsKKyNlbmRpZiAvKiBVU0VfSEFMX1NEUkFNX1JFR0lTVEVSX0NBTExCQUNLUyAqLworfQorCisvKioKKyAgKiBAYnJpZWYgIERNQSBTRFJBTSBlcnJvciBjYWxsYmFjay4KKyAgKiBAcGFyYW0gIGhkbWEgOiBETUEgaGFuZGxlCisgICogQHJldHZhbCBOb25lCisgICovCitzdGF0aWMgdm9pZCBTRFJBTV9ETUFFcnJvcihETUFfSGFuZGxlVHlwZURlZiAqaGRtYSkKK3sKKyAgU0RSQU1fSGFuZGxlVHlwZURlZiAqaHNkcmFtID0gKFNEUkFNX0hhbmRsZVR5cGVEZWYgKikoaGRtYS0+UGFyZW50KTsKKworICAvKiBEaXNhYmxlIHRoZSBETUEgY2hhbm5lbCAqLworICBfX0hBTF9ETUFfRElTQUJMRShoZG1hKTsKKworICAvKiBVcGRhdGUgdGhlIFNEUkFNIGNvbnRyb2xsZXIgc3RhdGUgKi8KKyAgaHNkcmFtLT5TdGF0ZSA9IEhBTF9TRFJBTV9TVEFURV9FUlJPUjsKKworI2lmIChVU0VfSEFMX1NEUkFNX1JFR0lTVEVSX0NBTExCQUNLUyA9PSAxKQorICBoc2RyYW0tPkRtYVhmZXJFcnJvckNhbGxiYWNrKGhkbWEpOworI2Vsc2UKKyAgSEFMX1NEUkFNX0RNQV9YZmVyRXJyb3JDYWxsYmFjayhoZG1hKTsKKyNlbmRpZiAvKiBVU0VfSEFMX1NEUkFNX1JFR0lTVEVSX0NBTExCQUNLUyAqLworfQorCisvKioKKyAgKiBAfQorICAqLworCiAjZW5kaWYgLyogSEFMX1NEUkFNX01PRFVMRV9FTkFCTEVEICovCi0vKioKLSAgKiBAfQotICAqLwogCiAvKioKICAgKiBAfQogICAqLwogCi0vKioqKioqKioqKioqKioqKioqKioqKioqIChDKSBDT1BZUklHSFQgU1RNaWNyb2VsZWN0cm9uaWNzICoqKioqRU5EIE9GIEZJTEUqKioqLworI2VuZGlmIC8qIEZNQ19CYW5rNV82ICovCmRpZmYgLS1naXQgYS9TcmMvc3RtMzJmNHh4X2hhbF9zbWFydGNhcmQuYyBiL1NyYy9zdG0zMmY0eHhfaGFsX3NtYXJ0Y2FyZC5jCmluZGV4IDY3NDY3NDQuLjQwYTM2N2EgMTAwNjQ0Ci0tLSBhL1NyYy9zdG0zMmY0eHhfaGFsX3NtYXJ0Y2FyZC5jCisrKyBiL1NyYy9zdG0zMmY0eHhfaGFsX3NtYXJ0Y2FyZC5jCkBAIC0xMCw2ICsxMCwxNyBAQAogICAqICAgICAgICAgICArIFBlcmlwaGVyYWwgQ29udHJvbCBmdW5jdGlvbnMKICAgKiAgICAgICAgICAgKyBQZXJpcGhlcmFsIFN0YXRlIGFuZCBFcnJvciBmdW5jdGlvbnMKICAgKgorICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAgKiBAYXR0ZW50aW9uCisgICoKKyAgKiBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgorICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgICoKKyAgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIHVuZGVyIHRlcm1zIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUKKyAgKiBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb2Z0d2FyZSBjb21wb25lbnQuCisgICogSWYgbm8gTElDRU5TRSBmaWxlIGNvbWVzIHdpdGggdGhpcyBzb2Z0d2FyZSwgaXQgaXMgcHJvdmlkZWQgQVMtSVMuCisgICoKKyAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgIEB2ZXJiYXRpbQogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgICAgICAgICAgICAgICAgICAgICMjIyMjIEhvdyB0byB1c2UgdGhpcyBkcml2ZXIgIyMjIyMKQEAgLTE1OSwxNyArMTcwLDYgQEAKIAogICBAZW5kdmVyYmF0aW0KICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gICogQGF0dGVudGlvbgotICAqCi0gICogPGgyPjxjZW50ZXI+JmNvcHk7IENvcHlyaWdodCAoYykgMjAxNiBTVE1pY3JvZWxlY3Ryb25pY3MuCi0gICogQWxsIHJpZ2h0cyByZXNlcnZlZC48L2NlbnRlcj48L2gyPgotICAqCi0gICogVGhpcyBzb2Z0d2FyZSBjb21wb25lbnQgaXMgbGljZW5zZWQgYnkgU1QgdW5kZXIgQlNEIDMtQ2xhdXNlIGxpY2Vuc2UsCi0gICogdGhlICJMaWNlbnNlIjsgWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZQotICAqIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdDoKLSAgKiAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZQotICAqCi0gICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqLwogCiAvKiBJbmNsdWRlcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwpAQCAtNzU2LDkgKzc1Niw5IEBACiAgICogQHBhcmFtICBUaW1lb3V0IFRpbWVvdXQgZHVyYXRpb24KICAgKiBAcmV0dmFsIEhBTCBzdGF0dXMKICAgKi8KLUhBTF9TdGF0dXNUeXBlRGVmIEhBTF9TTUFSVENBUkRfVHJhbnNtaXQoU01BUlRDQVJEX0hhbmRsZVR5cGVEZWYgKmhzYywgdWludDhfdCAqcERhdGEsIHVpbnQxNl90IFNpemUsIHVpbnQzMl90IFRpbWVvdXQpCitIQUxfU3RhdHVzVHlwZURlZiBIQUxfU01BUlRDQVJEX1RyYW5zbWl0KFNNQVJUQ0FSRF9IYW5kbGVUeXBlRGVmICpoc2MsIGNvbnN0IHVpbnQ4X3QgKnBEYXRhLCB1aW50MTZfdCBTaXplLCB1aW50MzJfdCBUaW1lb3V0KQogewotICB1aW50OF90ICp0bXAgPSBwRGF0YTsKKyAgY29uc3QgdWludDhfdCAqdG1wID0gcERhdGE7CiAgIHVpbnQzMl90IHRpY2tzdGFydCA9IDBVOwogCiAgIGlmKGhzYy0+Z1N0YXRlID09IEhBTF9TTUFSVENBUkRfU1RBVEVfUkVBRFkpCkBAIC04NzYsNyArODc2LDcgQEAKICAgKiBAcGFyYW0gIFNpemUgICBBbW91bnQgb2YgZGF0YSB0byBiZSBzZW50CiAgICogQHJldHZhbCBIQUwgc3RhdHVzCiAgICovCi1IQUxfU3RhdHVzVHlwZURlZiBIQUxfU01BUlRDQVJEX1RyYW5zbWl0X0lUKFNNQVJUQ0FSRF9IYW5kbGVUeXBlRGVmICpoc2MsIHVpbnQ4X3QgKnBEYXRhLCB1aW50MTZfdCBTaXplKQorSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1NNQVJUQ0FSRF9UcmFuc21pdF9JVChTTUFSVENBUkRfSGFuZGxlVHlwZURlZiAqaHNjLCBjb25zdCB1aW50OF90ICpwRGF0YSwgdWludDE2X3QgU2l6ZSkKIHsKICAgLyogQ2hlY2sgdGhhdCBhIFR4IHByb2Nlc3MgaXMgbm90IGFscmVhZHkgb25nb2luZyAqLwogICBpZihoc2MtPmdTdGF0ZSA9PSBIQUxfU01BUlRDQVJEX1NUQVRFX1JFQURZKQpAQCAtOTY5LDkgKzk2OSw5IEBACiAgICogQHBhcmFtICBTaXplICAgQW1vdW50IG9mIGRhdGEgdG8gYmUgc2VudAogICAqIEByZXR2YWwgSEFMIHN0YXR1cwogICAqLwotSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1NNQVJUQ0FSRF9UcmFuc21pdF9ETUEoU01BUlRDQVJEX0hhbmRsZVR5cGVEZWYgKmhzYywgdWludDhfdCAqcERhdGEsIHVpbnQxNl90IFNpemUpCitIQUxfU3RhdHVzVHlwZURlZiBIQUxfU01BUlRDQVJEX1RyYW5zbWl0X0RNQShTTUFSVENBUkRfSGFuZGxlVHlwZURlZiAqaHNjLCBjb25zdCB1aW50OF90ICpwRGF0YSwgdWludDE2X3QgU2l6ZSkKIHsKLSAgdWludDMyX3QgKnRtcDsKKyAgY29uc3QgdWludDMyX3QgKnRtcDsKIAogICAvKiBDaGVjayB0aGF0IGEgVHggcHJvY2VzcyBpcyBub3QgYWxyZWFkeSBvbmdvaW5nICovCiAgIGlmKGhzYy0+Z1N0YXRlID09IEhBTF9TTUFSVENBUkRfU1RBVEVfUkVBRFkpCkBAIC0xMDAxLDggKzEwMDEsOCBAQAogICAgIGhzYy0+aGRtYXR4LT5YZmVyQWJvcnRDYWxsYmFjayA9IE5VTEw7CiAKICAgICAvKiBFbmFibGUgdGhlIFNNQVJUQ0FSRCB0cmFuc21pdCBETUEgc3RyZWFtICovCi0gICAgdG1wID0gKHVpbnQzMl90KikmcERhdGE7Ci0gICAgSEFMX0RNQV9TdGFydF9JVChoc2MtPmhkbWF0eCwgKih1aW50MzJfdCopdG1wLCAodWludDMyX3QpJmhzYy0+SW5zdGFuY2UtPkRSLCBTaXplKTsKKyAgICB0bXAgPSAoY29uc3QgdWludDMyX3QqKSZwRGF0YTsKKyAgICBIQUxfRE1BX1N0YXJ0X0lUKGhzYy0+aGRtYXR4LCAqKGNvbnN0IHVpbnQzMl90Kil0bXAsICh1aW50MzJfdCkmaHNjLT5JbnN0YW5jZS0+RFIsIFNpemUpOwogCiAgICAgIC8qIENsZWFyIHRoZSBUQyBmbGFnIGluIHRoZSBTUiByZWdpc3RlciBieSB3cml0aW5nIDAgdG8gaXQgKi8KICAgICBfX0hBTF9TTUFSVENBUkRfQ0xFQVJfRkxBRyhoc2MsIFNNQVJUQ0FSRF9GTEFHX1RDKTsKQEAgLTE5MjEsMTEgKzE5MjEsMTIgQEAKIH0KIAogLyoqCi0gICogQGJyaWVmICBUaGlzIGZ1bmN0aW9uIGhhbmRsZXMgU01BUlRDQVJEIENvbW11bmljYXRpb24gVGltZW91dC4KKyAgKiBAYnJpZWYgIFRoaXMgZnVuY3Rpb24gaGFuZGxlcyBTTUFSVENBUkQgQ29tbXVuaWNhdGlvbiBUaW1lb3V0LiBJdCB3YWl0cworICAqICAgICAgICAgdW50aWwgYSBmbGFnIGlzIG5vIGxvbmdlciBpbiB0aGUgc3BlY2lmaWVkIHN0YXR1cy4KICAgKiBAcGFyYW0gIGhzYyAgICBQb2ludGVyIHRvIGEgU01BUlRDQVJEX0hhbmRsZVR5cGVEZWYgc3RydWN0dXJlIHRoYXQgY29udGFpbnMKICAgKiAgICAgICAgICAgICAgICB0aGUgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbiBmb3IgU01BUlRDQVJEIG1vZHVsZS4KICAgKiBAcGFyYW0gIEZsYWcgICBTcGVjaWZpZXMgdGhlIFNNQVJUQ0FSRCBmbGFnIHRvIGNoZWNrLgotICAqIEBwYXJhbSAgU3RhdHVzIFRoZSBuZXcgRmxhZyBzdGF0dXMgKFNFVCBvciBSRVNFVCkuCisgICogQHBhcmFtICBTdGF0dXMgVGhlIGFjdHVhbCBGbGFnIHN0YXR1cyAoU0VUIG9yIFJFU0VUKS4KICAgKiBAcGFyYW0gIFRpbWVvdXQgVGltZW91dCBkdXJhdGlvbgogICAqIEBwYXJhbSAgVGlja3N0YXJ0IFRpY2sgc3RhcnQgdmFsdWUKICAgKiBAcmV0dmFsIEhBTCBzdGF0dXMKQEAgLTIzNjAsNCArMjM2MSw0IEBACiAgICogQH0KICAgKi8KIAotLyoqKioqKioqKioqKioqKioqKioqKioqKiAoQykgQ09QWVJJR0hUIFNUTWljcm9lbGVjdHJvbmljcyAqKioqKkVORCBPRiBGSUxFKioqKi8KKwpkaWZmIC0tZ2l0IGEvU3JjL3N0bTMyZjR4eF9oYWxfc21idXMuYyBiL1NyYy9zdG0zMmY0eHhfaGFsX3NtYnVzLmMKaW5kZXggMDlkZjM3OS4uMjVjNzJmZCAxMDA2NDQKLS0tIGEvU3JjL3N0bTMyZjR4eF9oYWxfc21idXMuYworKysgYi9TcmMvc3RtMzJmNHh4X2hhbF9zbWJ1cy5jCkBAIC0xMCw2ICsxMCwxNyBAQAogICAqICAgICAgICAgICArIElPIG9wZXJhdGlvbiBmdW5jdGlvbnMKICAgKiAgICAgICAgICAgKyBQZXJpcGhlcmFsIFN0YXRlLCBNb2RlIGFuZCBFcnJvciBmdW5jdGlvbnMKICAgKgorICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAgKiBAYXR0ZW50aW9uCisgICoKKyAgKiBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgorICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgICoKKyAgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIHVuZGVyIHRlcm1zIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUKKyAgKiBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb2Z0d2FyZSBjb21wb25lbnQuCisgICogSWYgbm8gTElDRU5TRSBmaWxlIGNvbWVzIHdpdGggdGhpcyBzb2Z0d2FyZSwgaXQgaXMgcHJvdmlkZWQgQVMtSVMuCisgICoKKyAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgIEB2ZXJiYXRpbQogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgICAgICAgICAgICAgICAgICAgICAgICMjIyMjIEhvdyB0byB1c2UgdGhpcyBkcml2ZXIgIyMjIyMKQEAgLTE1MiwxOCArMTYzLDYgQEAKICAgICAgYXJlIHNldCB0byB0aGUgY29ycmVzcG9uZGluZyB3ZWFrIGZ1bmN0aW9ucy4KIAogICBAZW5kdmVyYmF0aW0KLSAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gICogQGF0dGVudGlvbgotICAqCi0gICogPGgyPjxjZW50ZXI+JmNvcHk7IENvcHlyaWdodCAoYykgMjAxNiBTVE1pY3JvZWxlY3Ryb25pY3MuCi0gICogQWxsIHJpZ2h0cyByZXNlcnZlZC48L2NlbnRlcj48L2gyPgotICAqCi0gICogVGhpcyBzb2Z0d2FyZSBjb21wb25lbnQgaXMgbGljZW5zZWQgYnkgU1QgdW5kZXIgQlNEIDMtQ2xhdXNlIGxpY2Vuc2UsCi0gICogdGhlICJMaWNlbnNlIjsgWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZQotICAqIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdDoKLSAgKiAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZQotICAqCi0gICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqLwogCiAvKiBJbmNsdWRlcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwpAQCAtMjc4Myw0ICsyNzgyLDMgQEAKICAgKiBAfQogICAqLwogCi0vKioqKioqKioqKioqKioqKioqKioqKioqIChDKSBDT1BZUklHSFQgU1RNaWNyb2VsZWN0cm9uaWNzICoqKioqRU5EIE9GIEZJTEUqKioqLwpkaWZmIC0tZ2l0IGEvU3JjL3N0bTMyZjR4eF9oYWxfc3BkaWZyeC5jIGIvU3JjL3N0bTMyZjR4eF9oYWxfc3BkaWZyeC5jCmluZGV4IDUwZmFjNWUuLmRhN2MzMDIgMTAwNjQ0Ci0tLSBhL1NyYy9zdG0zMmY0eHhfaGFsX3NwZGlmcnguYworKysgYi9TcmMvc3RtMzJmNHh4X2hhbF9zcGRpZnJ4LmMKQEAgLTgsNiArOCwxOCBAQAogICAqICAgICAgICAgICArIERhdGEgdHJhbnNmZXJzIGZ1bmN0aW9ucwogICAqICAgICAgICAgICArIERNQSB0cmFuc2ZlcnMgbWFuYWdlbWVudAogICAqICAgICAgICAgICArIEludGVycnVwdHMgYW5kIGZsYWdzIG1hbmFnZW1lbnQKKyAgKgorICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAgKiBAYXR0ZW50aW9uCisgICoKKyAgKiBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgorICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgICoKKyAgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIHVuZGVyIHRlcm1zIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUKKyAgKiBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb2Z0d2FyZSBjb21wb25lbnQuCisgICogSWYgbm8gTElDRU5TRSBmaWxlIGNvbWVzIHdpdGggdGhpcyBzb2Z0d2FyZSwgaXQgaXMgcHJvdmlkZWQgQVMtSVMuCisgICoKKyAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgIEB2ZXJiYXRpbQogID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgICAgICAgICAgICAgICAgICMjIyMjIEhvdyB0byB1c2UgdGhpcyBkcml2ZXIgIyMjIyMKQEAgLTE0MiwxOCArMTU0LDYgQEAKICAgYXJlIHNldCB0byB0aGUgY29ycmVzcG9uZGluZyB3ZWFrIGZ1bmN0aW9ucy4KIAogICBAZW5kdmVyYmF0aW0KLSAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gICogQGF0dGVudGlvbgotICAqCi0gICogPGgyPjxjZW50ZXI+JmNvcHk7IENvcHlyaWdodCAoYykgMjAxNiBTVE1pY3JvZWxlY3Ryb25pY3MuCi0gICogQWxsIHJpZ2h0cyByZXNlcnZlZC48L2NlbnRlcj48L2gyPgotICAqCi0gICogVGhpcyBzb2Z0d2FyZSBjb21wb25lbnQgaXMgbGljZW5zZWQgYnkgU1QgdW5kZXIgQlNEIDMtQ2xhdXNlIGxpY2Vuc2UsCi0gICogdGhlICJMaWNlbnNlIjsgWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZQotICAqIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdDoKLSAgKiAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZQotICAqCi0gICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqLwogCiAvKiBJbmNsdWRlcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwpAQCAtMTg4LDcgKzE4OCw4IEBACiBzdGF0aWMgdm9pZCAgU1BESUZSWF9ETUFFcnJvcihETUFfSGFuZGxlVHlwZURlZiAqaGRtYSk7CiBzdGF0aWMgdm9pZCAgU1BESUZSWF9SZWNlaXZlQ29udHJvbEZsb3dfSVQoU1BESUZSWF9IYW5kbGVUeXBlRGVmICpoc3BkaWYpOwogc3RhdGljIHZvaWQgIFNQRElGUlhfUmVjZWl2ZURhdGFGbG93X0lUKFNQRElGUlhfSGFuZGxlVHlwZURlZiAqaHNwZGlmKTsKLXN0YXRpYyBIQUxfU3RhdHVzVHlwZURlZiAgU1BESUZSWF9XYWl0T25GbGFnVW50aWxUaW1lb3V0KFNQRElGUlhfSGFuZGxlVHlwZURlZiAqaHNwZGlmLCB1aW50MzJfdCBGbGFnLCBGbGFnU3RhdHVzIFN0YXR1cywgdWludDMyX3QgVGltZW91dCwgdWludDMyX3QgdGlja3N0YXJ0KTsKK3N0YXRpYyBIQUxfU3RhdHVzVHlwZURlZiAgU1BESUZSWF9XYWl0T25GbGFnVW50aWxUaW1lb3V0KFNQRElGUlhfSGFuZGxlVHlwZURlZiAqaHNwZGlmLCB1aW50MzJfdCBGbGFnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRmxhZ1N0YXR1cyBTdGF0dXMsIHVpbnQzMl90IFRpbWVvdXQsIHVpbnQzMl90IHRpY2tzdGFydCk7CiAvKioKICAgKiBAfQogICAqLwpAQCAtMjM4LDcgKzIzOSw3IEBACiAgIHVpbnQzMl90IHRtcHJlZzsKIAogICAvKiBDaGVjayB0aGUgU1BESUZSWCBoYW5kbGUgYWxsb2NhdGlvbiAqLwotICBpZihoc3BkaWYgPT0gTlVMTCkKKyAgaWYgKGhzcGRpZiA9PSBOVUxMKQogICB7CiAgICAgcmV0dXJuIEhBTF9FUlJPUjsKICAgfQpAQCAtMjU2LDcgKzI1Nyw3IEBACiAgIGFzc2VydF9wYXJhbShJU19QQVJJVFlfRVJST1JfTUFTSyhoc3BkaWYtPkluaXQuUGFyaXR5RXJyb3JNYXNrKSk7CiAKICNpZiAoVVNFX0hBTF9TUERJRlJYX1JFR0lTVEVSX0NBTExCQUNLUyA9PSAxKQotICBpZihoc3BkaWYtPlN0YXRlID09IEhBTF9TUERJRlJYX1NUQVRFX1JFU0VUKQorICBpZiAoaHNwZGlmLT5TdGF0ZSA9PSBIQUxfU1BESUZSWF9TVEFURV9SRVNFVCkKICAgewogICAgIC8qIEFsbG9jYXRlIGxvY2sgcmVzb3VyY2UgYW5kIGluaXRpYWxpemUgaXQgKi8KICAgICBoc3BkaWYtPkxvY2sgPSBIQUxfVU5MT0NLRUQ7CkBAIC0yNjcsNyArMjY4LDcgQEAKICAgICBoc3BkaWYtPkN4Q3BsdENhbGxiYWNrICAgICAgPSBIQUxfU1BESUZSWF9DeENwbHRDYWxsYmFjazsgICAgIC8qIExlZ2FjeSB3ZWFrIEN4Q3BsdENhbGxiYWNrICAgICAqLwogICAgIGhzcGRpZi0+RXJyb3JDYWxsYmFjayAgICAgICA9IEhBTF9TUERJRlJYX0Vycm9yQ2FsbGJhY2s7ICAgICAgLyogTGVnYWN5IHdlYWsgRXJyb3JDYWxsYmFjayAgICAgICovCiAKLSAgICBpZihoc3BkaWYtPk1zcEluaXRDYWxsYmFjayA9PSBOVUxMKQorICAgIGlmIChoc3BkaWYtPk1zcEluaXRDYWxsYmFjayA9PSBOVUxMKQogICAgIHsKICAgICAgIGhzcGRpZi0+TXNwSW5pdENhbGxiYWNrID0gSEFMX1NQRElGUlhfTXNwSW5pdDsgLyogTGVnYWN5IHdlYWsgTXNwSW5pdCAgKi8KICAgICB9CkBAIC0yNzYsNyArMjc3LDcgQEAKICAgICBoc3BkaWYtPk1zcEluaXRDYWxsYmFjayhoc3BkaWYpOwogICB9CiAjZWxzZQotICBpZihoc3BkaWYtPlN0YXRlID09IEhBTF9TUERJRlJYX1NUQVRFX1JFU0VUKQorICBpZiAoaHNwZGlmLT5TdGF0ZSA9PSBIQUxfU1BESUZSWF9TVEFURV9SRVNFVCkKICAgewogICAgIC8qIEFsbG9jYXRlIGxvY2sgcmVzb3VyY2UgYW5kIGluaXRpYWxpemUgaXQgKi8KICAgICBoc3BkaWYtPkxvY2sgPSBIQUxfVU5MT0NLRUQ7CkBAIC0zMTAsNyArMzExLDcgQEAKICAgICAgICAgICAgICBoc3BkaWYtPkluaXQuQ2hhbm5lbFN0YXR1c01hc2sgfAogICAgICAgICAgICAgIGhzcGRpZi0+SW5pdC5WYWxpZGl0eUJpdE1hc2sgfAogICAgICAgICAgICAgIGhzcGRpZi0+SW5pdC5QYXJpdHlFcnJvck1hc2sKLSAgICAgICAgICAgICApOworICAgICAgICAgICAgKTsKIAogCiAgIGhzcGRpZi0+SW5zdGFuY2UtPkNSID0gdG1wcmVnOwpAQCAtMzMxLDcgKzMzMiw3IEBACiBIQUxfU3RhdHVzVHlwZURlZiBIQUxfU1BESUZSWF9EZUluaXQoU1BESUZSWF9IYW5kbGVUeXBlRGVmICpoc3BkaWYpCiB7CiAgIC8qIENoZWNrIHRoZSBTUERJRlJYIGhhbmRsZSBhbGxvY2F0aW9uICovCi0gIGlmKGhzcGRpZiA9PSBOVUxMKQorICBpZiAoaHNwZGlmID09IE5VTEwpCiAgIHsKICAgICByZXR1cm4gSEFMX0VSUk9SOwogICB9CkBAIC0zNDUsNyArMzQ2LDcgQEAKICAgX19IQUxfU1BESUZSWF9JRExFKGhzcGRpZik7CiAKICNpZiAoVVNFX0hBTF9TUERJRlJYX1JFR0lTVEVSX0NBTExCQUNLUyA9PSAxKQotICBpZihoc3BkaWYtPk1zcERlSW5pdENhbGxiYWNrID09IE5VTEwpCisgIGlmIChoc3BkaWYtPk1zcERlSW5pdENhbGxiYWNrID09IE5VTEwpCiAgIHsKICAgICBoc3BkaWYtPk1zcERlSW5pdENhbGxiYWNrID0gSEFMX1NQRElGUlhfTXNwRGVJbml0OyAvKiBMZWdhY3kgd2VhayBNc3BEZUluaXQgICovCiAgIH0KQEAgLTQxNSwxMSArNDE2LDEyIEBACiAgICogQHBhcmFtICBwQ2FsbGJhY2sgcG9pbnRlciB0byB0aGUgQ2FsbGJhY2sgZnVuY3Rpb24KICAgKiBAcmV0dmFsIEhBTCBzdGF0dXMKICAgKi8KLUhBTF9TdGF0dXNUeXBlRGVmIEhBTF9TUERJRlJYX1JlZ2lzdGVyQ2FsbGJhY2soU1BESUZSWF9IYW5kbGVUeXBlRGVmICpoc3BkaWYsIEhBTF9TUERJRlJYX0NhbGxiYWNrSURUeXBlRGVmIENhbGxiYWNrSUQsIHBTUERJRlJYX0NhbGxiYWNrVHlwZURlZiBwQ2FsbGJhY2spCitIQUxfU3RhdHVzVHlwZURlZiBIQUxfU1BESUZSWF9SZWdpc3RlckNhbGxiYWNrKFNQRElGUlhfSGFuZGxlVHlwZURlZiAqaHNwZGlmLCBIQUxfU1BESUZSWF9DYWxsYmFja0lEVHlwZURlZiBDYWxsYmFja0lELAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwU1BESUZSWF9DYWxsYmFja1R5cGVEZWYgcENhbGxiYWNrKQogewogICBIQUxfU3RhdHVzVHlwZURlZiBzdGF0dXMgPSBIQUxfT0s7CiAKLSAgaWYocENhbGxiYWNrID09IE5VTEwpCisgIGlmIChwQ2FsbGJhY2sgPT0gTlVMTCkKICAgewogICAgIC8qIFVwZGF0ZSB0aGUgZXJyb3IgY29kZSAqLwogICAgIGhzcGRpZi0+RXJyb3JDb2RlIHw9IEhBTF9TUERJRlJYX0VSUk9SX0lOVkFMSURfQ0FMTEJBQ0s7CkBAIC00MjgsNyArNDMwLDcgQEAKICAgLyogUHJvY2VzcyBsb2NrZWQgKi8KICAgX19IQUxfTE9DSyhoc3BkaWYpOwogCi0gIGlmKEhBTF9TUERJRlJYX1NUQVRFX1JFQURZID09IGhzcGRpZi0+U3RhdGUpCisgIGlmIChIQUxfU1BESUZSWF9TVEFURV9SRUFEWSA9PSBoc3BkaWYtPlN0YXRlKQogICB7CiAgICAgc3dpdGNoIChDYWxsYmFja0lEKQogICAgIHsKQEAgLTQ2OCw3ICs0NzAsNyBAQAogICAgICAgICBicmVhazsKICAgICB9CiAgIH0KLSAgZWxzZSBpZihIQUxfU1BESUZSWF9TVEFURV9SRVNFVCA9PSBoc3BkaWYtPlN0YXRlKQorICBlbHNlIGlmIChIQUxfU1BESUZSWF9TVEFURV9SRVNFVCA9PSBoc3BkaWYtPlN0YXRlKQogICB7CiAgICAgc3dpdGNoIChDYWxsYmFja0lEKQogICAgIHsKQEAgLTQ4Myw3ICs0ODUsNyBAQAogICAgICAgZGVmYXVsdCA6CiAgICAgICAgIC8qIFVwZGF0ZSB0aGUgZXJyb3IgY29kZSAqLwogICAgICAgICBoc3BkaWYtPkVycm9yQ29kZSB8PSBIQUxfU1BESUZSWF9FUlJPUl9JTlZBTElEX0NBTExCQUNLOwotICAgICAgIC8qIFJldHVybiBlcnJvciBzdGF0dXMgKi8KKyAgICAgICAgLyogUmV0dXJuIGVycm9yIHN0YXR1cyAqLwogICAgICAgICBzdGF0dXMgPSAgSEFMX0VSUk9SOwogICAgICAgICBicmVhazsKICAgICB9CkBAIC01MDMsNyArNTA1LDcgQEAKIAogLyoqCiAgICogQGJyaWVmICBVbnJlZ2lzdGVyIGEgU1BESUZSWCBDYWxsYmFjawotICAqICAgICAgICAgU1BESUZSWCBjYWxsYWJjayBpcyByZWRpcmVjdGVkIHRvIHRoZSB3ZWFrIHByZWRlZmluZWQgY2FsbGJhY2sKKyAgKiAgICAgICAgIFNQRElGUlggY2FsbGJhY2sgaXMgcmVkaXJlY3RlZCB0byB0aGUgd2VhayBwcmVkZWZpbmVkIGNhbGxiYWNrCiAgICogQHBhcmFtICBoc3BkaWYgU1BESUZSWCBoYW5kbGUKICAgKiBAcGFyYW0gIENhbGxiYWNrSUQgSUQgb2YgdGhlIGNhbGxiYWNrIHRvIGJlIHVucmVnaXN0ZXJlZAogICAqICAgICAgICAgVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIG9uZSBvZiB0aGUgZm9sbG93aW5nIHZhbHVlczoKQEAgLTUxNiwxNCArNTE4LDE1IEBACiAgICogICAgICAgICAgQGFyZyBAcmVmIEhBTF9TUERJRlJYX01TUERFSU5JVF9DQl9JRCAgTXNwRGVJbml0IGNhbGxiYWNrIElECiAgICogQHJldHZhbCBIQUwgc3RhdHVzCiAgICovCi1IQUxfU3RhdHVzVHlwZURlZiBIQUxfU1BESUZSWF9VblJlZ2lzdGVyQ2FsbGJhY2soU1BESUZSWF9IYW5kbGVUeXBlRGVmICpoc3BkaWYsIEhBTF9TUERJRlJYX0NhbGxiYWNrSURUeXBlRGVmIENhbGxiYWNrSUQpCitIQUxfU3RhdHVzVHlwZURlZiBIQUxfU1BESUZSWF9VblJlZ2lzdGVyQ2FsbGJhY2soU1BESUZSWF9IYW5kbGVUeXBlRGVmICpoc3BkaWYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFMX1NQRElGUlhfQ2FsbGJhY2tJRFR5cGVEZWYgQ2FsbGJhY2tJRCkKIHsKLUhBTF9TdGF0dXNUeXBlRGVmIHN0YXR1cyA9IEhBTF9PSzsKKyAgSEFMX1N0YXR1c1R5cGVEZWYgc3RhdHVzID0gSEFMX09LOwogCiAgIC8qIFByb2Nlc3MgbG9ja2VkICovCiAgIF9fSEFMX0xPQ0soaHNwZGlmKTsKIAotICBpZihIQUxfU1BESUZSWF9TVEFURV9SRUFEWSA9PSBoc3BkaWYtPlN0YXRlKQorICBpZiAoSEFMX1NQRElGUlhfU1RBVEVfUkVBRFkgPT0gaHNwZGlmLT5TdGF0ZSkKICAgewogICAgIHN3aXRjaCAoQ2FsbGJhY2tJRCkKICAgICB7CkBAIC01NTAsMTIgKzU1MywxMiBAQAogICAgICAgZGVmYXVsdCA6CiAgICAgICAgIC8qIFVwZGF0ZSB0aGUgZXJyb3IgY29kZSAqLwogICAgICAgICBoc3BkaWYtPkVycm9yQ29kZSB8PSBIQUxfU1BESUZSWF9FUlJPUl9JTlZBTElEX0NBTExCQUNLOwotICAgICAgIC8qIFJldHVybiBlcnJvciBzdGF0dXMgKi8KKyAgICAgICAgLyogUmV0dXJuIGVycm9yIHN0YXR1cyAqLwogICAgICAgICBzdGF0dXMgPSAgSEFMX0VSUk9SOwogICAgICAgICBicmVhazsKICAgICB9CiAgIH0KLSAgZWxzZSBpZihIQUxfU1BESUZSWF9TVEFURV9SRVNFVCA9PSBoc3BkaWYtPlN0YXRlKQorICBlbHNlIGlmIChIQUxfU1BESUZSWF9TVEFURV9SRVNFVCA9PSBoc3BkaWYtPlN0YXRlKQogICB7CiAgICAgc3dpdGNoIChDYWxsYmFja0lEKQogICAgIHsKQEAgLTYwMSw3ICs2MDQsNyBAQAogICB1aW50MzJfdCB0bXByZWc7CiAKICAgLyogQ2hlY2sgdGhlIFNQRElGUlggaGFuZGxlIGFsbG9jYXRpb24gKi8KLSAgaWYoaHNwZGlmID09IE5VTEwpCisgIGlmIChoc3BkaWYgPT0gTlVMTCkKICAgewogICAgIHJldHVybiBIQUxfRVJST1I7CiAgIH0KQEAgLTYxNyw5ICs2MjAsOSBAQAogICAvKiBSZXNldCB0aGUgb2xkIFNQRElGUlggQ1IgY29uZmlndXJhdGlvbiAqLwogICB0bXByZWcgPSBoc3BkaWYtPkluc3RhbmNlLT5DUjsKIAotICBpZigoKHRtcHJlZyAmIFNQRElGUlhfU1RBVEVfUkNWKSA9PSBTUERJRlJYX1NUQVRFX1JDVikgJiYKLSAgICAgKCgodG1wcmVnICYgU1BESUZSWF9DUl9EUkZNVCkgIT0gc0RhdGFGb3JtYXQuRGF0YUZvcm1hdCkgfHwKLSAgICAgICgodG1wcmVnICYgU1BESUZSWF9DUl9SWFNURU8pICE9IHNEYXRhRm9ybWF0LlN0ZXJlb01vZGUpKSkKKyAgaWYgKCgodG1wcmVnICYgU1BESUZSWF9TVEFURV9SQ1YpID09IFNQRElGUlhfU1RBVEVfUkNWKSAmJgorICAgICAgKCgodG1wcmVnICYgU1BESUZSWF9DUl9EUkZNVCkgIT0gc0RhdGFGb3JtYXQuRGF0YUZvcm1hdCkgfHwKKyAgICAgICAoKHRtcHJlZyAmIFNQRElGUlhfQ1JfUlhTVEVPKSAhPSBzRGF0YUZvcm1hdC5TdGVyZW9Nb2RlKSkpCiAgIHsKICAgICByZXR1cm4gSEFMX0VSUk9SOwogICB9CkBAIC02ODMsOCArNjg2LDggQEAKICAgICAgICAgKCsrKSBIQUxfU1BESUZSWF9DeENwbHRDYWxsYmFjaygpCiAKIEBlbmR2ZXJiYXRpbQotKiBAewotKi8KKyAgKiBAeworICAqLwogCiAvKioKICAgKiBAYnJpZWYgIFJlY2VpdmVzIGFuIGFtb3VudCBvZiBkYXRhIChEYXRhIEZsb3cpIGluIGJsb2NraW5nIG1vZGUuCkBAIC02OTUsMTggKzY5OCwxOSBAQAogICAqIEBwYXJhbSAgVGltZW91dCBUaW1lb3V0IGR1cmF0aW9uCiAgICogQHJldHZhbCBIQUwgc3RhdHVzCiAgICovCi1IQUxfU3RhdHVzVHlwZURlZiBIQUxfU1BESUZSWF9SZWNlaXZlRGF0YUZsb3coU1BESUZSWF9IYW5kbGVUeXBlRGVmICpoc3BkaWYsIHVpbnQzMl90ICpwRGF0YSwgdWludDE2X3QgU2l6ZSwgdWludDMyX3QgVGltZW91dCkKK0hBTF9TdGF0dXNUeXBlRGVmIEhBTF9TUERJRlJYX1JlY2VpdmVEYXRhRmxvdyhTUERJRlJYX0hhbmRsZVR5cGVEZWYgKmhzcGRpZiwgdWludDMyX3QgKnBEYXRhLCB1aW50MTZfdCBTaXplLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IFRpbWVvdXQpCiB7CiAgIHVpbnQzMl90IHRpY2tzdGFydDsKICAgdWludDE2X3Qgc2l6ZUNvdW50ZXIgPSBTaXplOwogICB1aW50MzJfdCAqcFRtcEJ1ZiA9IHBEYXRhOwogCi0gIGlmKChwRGF0YSA9PSBOVUxMICkgfHwgKFNpemUgPT0gMFUpKQorICBpZiAoKHBEYXRhID09IE5VTEwpIHx8IChTaXplID09IDBVKSkKICAgewogICAgIHJldHVybiAgSEFMX0VSUk9SOwogICB9CiAKLSAgaWYoaHNwZGlmLT5TdGF0ZSA9PSBIQUxfU1BESUZSWF9TVEFURV9SRUFEWSkKKyAgaWYgKGhzcGRpZi0+U3RhdGUgPT0gSEFMX1NQRElGUlhfU1RBVEVfUkVBRFkpCiAgIHsKICAgICAvKiBQcm9jZXNzIExvY2tlZCAqLwogICAgIF9fSEFMX0xPQ0soaHNwZGlmKTsKQEAgLTcyMCw3ICs3MjQsNyBAQAogICAgIHRpY2tzdGFydCA9IEhBTF9HZXRUaWNrKCk7CiAKICAgICAvKiBXYWl0IHVudGlsIFNZTkNEIGZsYWcgaXMgc2V0ICovCi0gICAgaWYoU1BESUZSWF9XYWl0T25GbGFnVW50aWxUaW1lb3V0KGhzcGRpZiwgU1BESUZSWF9GTEFHX1NZTkNELCBSRVNFVCwgVGltZW91dCwgdGlja3N0YXJ0KSAhPSBIQUxfT0spCisgICAgaWYgKFNQRElGUlhfV2FpdE9uRmxhZ1VudGlsVGltZW91dChoc3BkaWYsIFNQRElGUlhfRkxBR19TWU5DRCwgUkVTRVQsIFRpbWVvdXQsIHRpY2tzdGFydCkgIT0gSEFMX09LKQogICAgIHsKICAgICAgIHJldHVybiBIQUxfVElNRU9VVDsKICAgICB9CkBAIC03MjksMTMgKzczMywxMyBAQAogICAgIF9fSEFMX1NQRElGUlhfUkNWKGhzcGRpZik7CiAKICAgICAvKiBSZWNlaXZlIGRhdGEgZmxvdyAqLwotICAgIHdoaWxlKHNpemVDb3VudGVyID4gMFUpCisgICAgd2hpbGUgKHNpemVDb3VudGVyID4gMFUpCiAgICAgewogICAgICAgLyogR2V0IHRpY2sgKi8KICAgICAgIHRpY2tzdGFydCA9IEhBTF9HZXRUaWNrKCk7CiAKICAgICAgIC8qIFdhaXQgdW50aWwgUlhORSBmbGFnIGlzIHNldCAqLwotICAgICAgaWYoU1BESUZSWF9XYWl0T25GbGFnVW50aWxUaW1lb3V0KGhzcGRpZiwgU1BESUZSWF9GTEFHX1JYTkUsIFJFU0VULCBUaW1lb3V0LCB0aWNrc3RhcnQpICE9IEhBTF9PSykKKyAgICAgIGlmIChTUERJRlJYX1dhaXRPbkZsYWdVbnRpbFRpbWVvdXQoaHNwZGlmLCBTUERJRlJYX0ZMQUdfUlhORSwgUkVTRVQsIFRpbWVvdXQsIHRpY2tzdGFydCkgIT0gSEFMX09LKQogICAgICAgewogICAgICAgICByZXR1cm4gSEFMX1RJTUVPVVQ7CiAgICAgICB9CkBAIC03NjgsMTggKzc3MiwxOSBAQAogICAqIEBwYXJhbSAgVGltZW91dCBUaW1lb3V0IGR1cmF0aW9uCiAgICogQHJldHZhbCBIQUwgc3RhdHVzCiAgICovCi1IQUxfU3RhdHVzVHlwZURlZiBIQUxfU1BESUZSWF9SZWNlaXZlQ29udHJvbEZsb3coU1BESUZSWF9IYW5kbGVUeXBlRGVmICpoc3BkaWYsIHVpbnQzMl90ICpwRGF0YSwgdWludDE2X3QgU2l6ZSwgdWludDMyX3QgVGltZW91dCkKK0hBTF9TdGF0dXNUeXBlRGVmIEhBTF9TUERJRlJYX1JlY2VpdmVDb250cm9sRmxvdyhTUERJRlJYX0hhbmRsZVR5cGVEZWYgKmhzcGRpZiwgdWludDMyX3QgKnBEYXRhLCB1aW50MTZfdCBTaXplLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IFRpbWVvdXQpCiB7CiAgIHVpbnQzMl90IHRpY2tzdGFydDsKICAgdWludDE2X3Qgc2l6ZUNvdW50ZXIgPSBTaXplOwogICB1aW50MzJfdCAqcFRtcEJ1ZiA9IHBEYXRhOwogCi0gIGlmKChwRGF0YSA9PSBOVUxMICkgfHwgKFNpemUgPT0gMFUpKQorICBpZiAoKHBEYXRhID09IE5VTEwpIHx8IChTaXplID09IDBVKSkKICAgewogICAgIHJldHVybiAgSEFMX0VSUk9SOwogICB9CiAKLSAgaWYoaHNwZGlmLT5TdGF0ZSA9PSBIQUxfU1BESUZSWF9TVEFURV9SRUFEWSkKKyAgaWYgKGhzcGRpZi0+U3RhdGUgPT0gSEFMX1NQRElGUlhfU1RBVEVfUkVBRFkpCiAgIHsKICAgICAvKiBQcm9jZXNzIExvY2tlZCAqLwogICAgIF9fSEFMX0xPQ0soaHNwZGlmKTsKQEAgLTc5Myw3ICs3OTgsNyBAQAogICAgIHRpY2tzdGFydCA9IEhBTF9HZXRUaWNrKCk7CiAKICAgICAvKiBXYWl0IHVudGlsIFNZTkNEIGZsYWcgaXMgc2V0ICovCi0gICAgaWYoU1BESUZSWF9XYWl0T25GbGFnVW50aWxUaW1lb3V0KGhzcGRpZiwgU1BESUZSWF9GTEFHX1NZTkNELCBSRVNFVCwgVGltZW91dCwgdGlja3N0YXJ0KSAhPSBIQUxfT0spCisgICAgaWYgKFNQRElGUlhfV2FpdE9uRmxhZ1VudGlsVGltZW91dChoc3BkaWYsIFNQRElGUlhfRkxBR19TWU5DRCwgUkVTRVQsIFRpbWVvdXQsIHRpY2tzdGFydCkgIT0gSEFMX09LKQogICAgIHsKICAgICAgIHJldHVybiBIQUxfVElNRU9VVDsKICAgICB9CkBAIC04MDIsMTMgKzgwNywxMyBAQAogICAgIF9fSEFMX1NQRElGUlhfUkNWKGhzcGRpZik7CiAKICAgICAvKiBSZWNlaXZlIGNvbnRyb2wgZmxvdyAqLwotICAgIHdoaWxlKHNpemVDb3VudGVyID4gMFUpCisgICAgd2hpbGUgKHNpemVDb3VudGVyID4gMFUpCiAgICAgewogICAgICAgLyogR2V0IHRpY2sgKi8KICAgICAgIHRpY2tzdGFydCA9IEhBTF9HZXRUaWNrKCk7CiAKICAgICAgIC8qIFdhaXQgdW50aWwgQ1NSTkUgZmxhZyBpcyBzZXQgKi8KLSAgICAgIGlmKFNQRElGUlhfV2FpdE9uRmxhZ1VudGlsVGltZW91dChoc3BkaWYsIFNQRElGUlhfRkxBR19DU1JORSwgUkVTRVQsIFRpbWVvdXQsIHRpY2tzdGFydCkgIT0gSEFMX09LKQorICAgICAgaWYgKFNQRElGUlhfV2FpdE9uRmxhZ1VudGlsVGltZW91dChoc3BkaWYsIFNQRElGUlhfRkxBR19DU1JORSwgUkVTRVQsIFRpbWVvdXQsIHRpY2tzdGFydCkgIT0gSEFMX09LKQogICAgICAgewogICAgICAgICByZXR1cm4gSEFMX1RJTUVPVVQ7CiAgICAgICB9CkBAIC04NDUsOSArODUwLDkgQEAKIAogICBjb25zdCBIQUxfU1BESUZSWF9TdGF0ZVR5cGVEZWYgdGVtcFN0YXRlID0gaHNwZGlmLT5TdGF0ZTsKIAotICBpZigodGVtcFN0YXRlID09IEhBTF9TUERJRlJYX1NUQVRFX1JFQURZKSB8fCAodGVtcFN0YXRlID09IEhBTF9TUERJRlJYX1NUQVRFX0JVU1lfQ1gpKQorICBpZiAoKHRlbXBTdGF0ZSA9PSBIQUxfU1BESUZSWF9TVEFURV9SRUFEWSkgfHwgKHRlbXBTdGF0ZSA9PSBIQUxfU1BESUZSWF9TVEFURV9CVVNZX0NYKSkKICAgewotICAgIGlmKChwRGF0YSA9PSBOVUxMKSB8fCAoU2l6ZSA9PSAwVSkpCisgICAgaWYgKChwRGF0YSA9PSBOVUxMKSB8fCAoU2l6ZSA9PSAwVSkpCiAgICAgewogICAgICAgcmV0dXJuIEhBTF9FUlJPUjsKICAgICB9CkBAIC04NzMsNyArODc4LDcgQEAKICAgICAvKiBFbmFibGUgdGhlIFNQRElGUlggUlhORSBpbnRlcnJ1cHQgKi8KICAgICBfX0hBTF9TUERJRlJYX0VOQUJMRV9JVChoc3BkaWYsIFNQRElGUlhfSVRfUlhORSk7CiAKLSAgICBpZigoU1BESUZSWC0+Q1IgJiBTUERJRlJYX0NSX1NQRElGRU4pICE9IFNQRElGUlhfU1RBVEVfUkNWKQorICAgIGlmICgoU1BESUZSWC0+Q1IgJiBTUERJRlJYX0NSX1NQRElGRU4pICE9IFNQRElGUlhfU1RBVEVfUkNWKQogICAgIHsKICAgICAgIC8qIFN0YXJ0IHN5bmNocm9uaXphdGlvbiAqLwogICAgICAgX19IQUxfU1BESUZSWF9TWU5DKGhzcGRpZik7CkBAIC04OTIsNyArODk3LDcgQEAKICAgICAgICAgICBfX0hBTF9TUERJRlJYX0RJU0FCTEVfSVQoaHNwZGlmLCBTUERJRlJYX0lUX1NZTkNESUUpOwogICAgICAgICAgIF9fSEFMX1NQRElGUlhfRElTQUJMRV9JVChoc3BkaWYsIFNQRElGUlhfSVRfSUZFSUUpOwogCi0gICAgICAgICAgaHNwZGlmLT5TdGF0ZT0gSEFMX1NQRElGUlhfU1RBVEVfUkVBRFk7CisgICAgICAgICAgaHNwZGlmLT5TdGF0ZSA9IEhBTF9TUERJRlJYX1NUQVRFX1JFQURZOwogCiAgICAgICAgICAgLyogUHJvY2VzcyBVbmxvY2tlZCAqLwogICAgICAgICAgIF9fSEFMX1VOTE9DSyhoc3BkaWYpOwpAQCAtOTMwLDkgKzkzNSw5IEBACiAKICAgY29uc3QgSEFMX1NQRElGUlhfU3RhdGVUeXBlRGVmIHRlbXBTdGF0ZSA9IGhzcGRpZi0+U3RhdGU7CiAKLSAgaWYoKHRlbXBTdGF0ZSA9PSBIQUxfU1BESUZSWF9TVEFURV9SRUFEWSkgfHwgKHRlbXBTdGF0ZSA9PSBIQUxfU1BESUZSWF9TVEFURV9CVVNZX1JYKSkKKyAgaWYgKCh0ZW1wU3RhdGUgPT0gSEFMX1NQRElGUlhfU1RBVEVfUkVBRFkpIHx8ICh0ZW1wU3RhdGUgPT0gSEFMX1NQRElGUlhfU1RBVEVfQlVTWV9SWCkpCiAgIHsKLSAgICBpZigocERhdGEgPT0gTlVMTCApIHx8IChTaXplID09IDBVKSkKKyAgICBpZiAoKHBEYXRhID09IE5VTEwpIHx8IChTaXplID09IDBVKSkKICAgICB7CiAgICAgICByZXR1cm4gSEFMX0VSUk9SOwogICAgIH0KQEAgLTk1OCw3ICs5NjMsNyBAQAogICAgIC8qIEVuYWJsZSB0aGUgU1BESUZSWCBDU1JORSBpbnRlcnJ1cHQgKi8KICAgICBfX0hBTF9TUERJRlJYX0VOQUJMRV9JVChoc3BkaWYsIFNQRElGUlhfSVRfQ1NSTkUpOwogCi0gICAgaWYoKFNQRElGUlgtPkNSICYgU1BESUZSWF9DUl9TUERJRkVOKSAhPSBTUERJRlJYX1NUQVRFX1JDVikKKyAgICBpZiAoKFNQRElGUlgtPkNSICYgU1BESUZSWF9DUl9TUERJRkVOKSAhPSBTUERJRlJYX1NUQVRFX1JDVikKICAgICB7CiAgICAgICAvKiBTdGFydCBzeW5jaHJvbml6YXRpb24gKi8KICAgICAgIF9fSEFMX1NQRElGUlhfU1lOQyhoc3BkaWYpOwpAQCAtOTc3LDcgKzk4Miw3IEBACiAgICAgICAgICAgX19IQUxfU1BESUZSWF9ESVNBQkxFX0lUKGhzcGRpZiwgU1BESUZSWF9JVF9TWU5DRElFKTsKICAgICAgICAgICBfX0hBTF9TUERJRlJYX0RJU0FCTEVfSVQoaHNwZGlmLCBTUERJRlJYX0lUX0lGRUlFKTsKIAotICAgICAgICAgIGhzcGRpZi0+U3RhdGU9IEhBTF9TUERJRlJYX1NUQVRFX1JFQURZOworICAgICAgICAgIGhzcGRpZi0+U3RhdGUgPSBIQUxfU1BESUZSWF9TVEFURV9SRUFEWTsKIAogICAgICAgICAgIC8qIFByb2Nlc3MgVW5sb2NrZWQgKi8KICAgICAgICAgICBfX0hBTF9VTkxPQ0soaHNwZGlmKTsKQEAgLTEwMTUsMTIgKzEwMjAsMTIgQEAKIAogICBjb25zdCBIQUxfU1BESUZSWF9TdGF0ZVR5cGVEZWYgdGVtcFN0YXRlID0gaHNwZGlmLT5TdGF0ZTsKIAotICBpZigocERhdGEgPT0gTlVMTCkgfHwgKFNpemUgPT0gMFUpKQorICBpZiAoKHBEYXRhID09IE5VTEwpIHx8IChTaXplID09IDBVKSkKICAgewogICAgIHJldHVybiAgSEFMX0VSUk9SOwogICB9CiAKLSAgaWYoKHRlbXBTdGF0ZSA9PSBIQUxfU1BESUZSWF9TVEFURV9SRUFEWSkgfHwgKHRlbXBTdGF0ZSA9PSBIQUxfU1BESUZSWF9TVEFURV9CVVNZX0NYKSkKKyAgaWYgKCh0ZW1wU3RhdGUgPT0gSEFMX1NQRElGUlhfU1RBVEVfUkVBRFkpIHx8ICh0ZW1wU3RhdGUgPT0gSEFMX1NQRElGUlhfU1RBVEVfQlVTWV9DWCkpCiAgIHsKICAgICAvKiBQcm9jZXNzIExvY2tlZCAqLwogICAgIF9fSEFMX0xPQ0soaHNwZGlmKTsKQEAgLTEwNDIsNyArMTA0Nyw3IEBACiAgICAgaHNwZGlmLT5oZG1hRHJSeC0+WGZlckVycm9yQ2FsbGJhY2sgPSBTUERJRlJYX0RNQUVycm9yOwogCiAgICAgLyogRW5hYmxlIHRoZSBETUEgcmVxdWVzdCAqLwotICAgIGlmKEhBTF9ETUFfU3RhcnRfSVQoaHNwZGlmLT5oZG1hRHJSeCwgKHVpbnQzMl90KSZoc3BkaWYtPkluc3RhbmNlLT5EUiwgKHVpbnQzMl90KWhzcGRpZi0+cFJ4QnVmZlB0ciwgU2l6ZSkgIT0gSEFMX09LKQorICAgIGlmIChIQUxfRE1BX1N0YXJ0X0lUKGhzcGRpZi0+aGRtYURyUngsICh1aW50MzJfdCkmaHNwZGlmLT5JbnN0YW5jZS0+RFIsICh1aW50MzJfdCloc3BkaWYtPnBSeEJ1ZmZQdHIsIFNpemUpICE9IEhBTF9PSykKICAgICB7CiAgICAgICAvKiBTZXQgU1BESUZSWCBlcnJvciAqLwogICAgICAgaHNwZGlmLT5FcnJvckNvZGUgPSBIQUxfU1BESUZSWF9FUlJPUl9ETUE7CkBAIC0xMDU5LDcgKzEwNjQsNyBAQAogICAgIC8qIEVuYWJsZSBSWERNQUVOIGJpdCBpbiBTUERJRlJYIENSIHJlZ2lzdGVyIGZvciBkYXRhIGZsb3cgcmVjZXB0aW9uKi8KICAgICBoc3BkaWYtPkluc3RhbmNlLT5DUiB8PSBTUERJRlJYX0NSX1JYRE1BRU47CiAKLSAgICBpZigoU1BESUZSWC0+Q1IgJiBTUERJRlJYX0NSX1NQRElGRU4pICE9IFNQRElGUlhfU1RBVEVfUkNWKQorICAgIGlmICgoU1BESUZSWC0+Q1IgJiBTUERJRlJYX0NSX1NQRElGRU4pICE9IFNQRElGUlhfU1RBVEVfUkNWKQogICAgIHsKICAgICAgIC8qIFN0YXJ0IHN5bmNocm9uaXphdGlvbiAqLwogICAgICAgX19IQUxfU1BESUZSWF9TWU5DKGhzcGRpZik7CkBAIC0xMDc4LDcgKzEwODMsNyBAQAogICAgICAgICAgIF9fSEFMX1NQRElGUlhfRElTQUJMRV9JVChoc3BkaWYsIFNQRElGUlhfSVRfU1lOQ0RJRSk7CiAgICAgICAgICAgX19IQUxfU1BESUZSWF9ESVNBQkxFX0lUKGhzcGRpZiwgU1BESUZSWF9JVF9JRkVJRSk7CiAKLSAgICAgICAgICBoc3BkaWYtPlN0YXRlPSBIQUxfU1BESUZSWF9TVEFURV9SRUFEWTsKKyAgICAgICAgICBoc3BkaWYtPlN0YXRlID0gSEFMX1NQRElGUlhfU1RBVEVfUkVBRFk7CiAKICAgICAgICAgICAvKiBQcm9jZXNzIFVubG9ja2VkICovCiAgICAgICAgICAgX19IQUxfVU5MT0NLKGhzcGRpZik7CkBAIC0xMTE2LDEyICsxMTIxLDEyIEBACiAKICAgY29uc3QgSEFMX1NQRElGUlhfU3RhdGVUeXBlRGVmIHRlbXBTdGF0ZSA9IGhzcGRpZi0+U3RhdGU7CiAKLSAgaWYoKHBEYXRhID09IE5VTEwpIHx8IChTaXplID09IDBVKSkKKyAgaWYgKChwRGF0YSA9PSBOVUxMKSB8fCAoU2l6ZSA9PSAwVSkpCiAgIHsKICAgICByZXR1cm4gIEhBTF9FUlJPUjsKICAgfQogCi0gIGlmKCh0ZW1wU3RhdGUgPT0gSEFMX1NQRElGUlhfU1RBVEVfUkVBRFkpIHx8ICh0ZW1wU3RhdGUgPT0gSEFMX1NQRElGUlhfU1RBVEVfQlVTWV9SWCkpCisgIGlmICgodGVtcFN0YXRlID09IEhBTF9TUERJRlJYX1NUQVRFX1JFQURZKSB8fCAodGVtcFN0YXRlID09IEhBTF9TUERJRlJYX1NUQVRFX0JVU1lfUlgpKQogICB7CiAgICAgaHNwZGlmLT5wQ3NCdWZmUHRyID0gcERhdGE7CiAgICAgaHNwZGlmLT5Dc1hmZXJTaXplID0gU2l6ZTsKQEAgLTExNDMsNyArMTE0OCw3IEBACiAgICAgaHNwZGlmLT5oZG1hQ3NSeC0+WGZlckVycm9yQ2FsbGJhY2sgPSBTUERJRlJYX0RNQUVycm9yOwogCiAgICAgLyogRW5hYmxlIHRoZSBETUEgcmVxdWVzdCAqLwotICAgIGlmKEhBTF9ETUFfU3RhcnRfSVQoaHNwZGlmLT5oZG1hQ3NSeCwgKHVpbnQzMl90KSZoc3BkaWYtPkluc3RhbmNlLT5DU1IsICh1aW50MzJfdCloc3BkaWYtPnBDc0J1ZmZQdHIsIFNpemUpICE9IEhBTF9PSykKKyAgICBpZiAoSEFMX0RNQV9TdGFydF9JVChoc3BkaWYtPmhkbWFDc1J4LCAodWludDMyX3QpJmhzcGRpZi0+SW5zdGFuY2UtPkNTUiwgKHVpbnQzMl90KWhzcGRpZi0+cENzQnVmZlB0ciwgU2l6ZSkgIT0gSEFMX09LKQogICAgIHsKICAgICAgIC8qIFNldCBTUERJRlJYIGVycm9yICovCiAgICAgICBoc3BkaWYtPkVycm9yQ29kZSA9IEhBTF9TUERJRlJYX0VSUk9SX0RNQTsKQEAgLTExNjAsNyArMTE2NSw3IEBACiAgICAgLyogRW5hYmxlIENCRE1BRU4gYml0IGluIFNQRElGUlggQ1IgcmVnaXN0ZXIgZm9yIGNvbnRyb2wgZmxvdyByZWNlcHRpb24qLwogICAgIGhzcGRpZi0+SW5zdGFuY2UtPkNSIHw9IFNQRElGUlhfQ1JfQ0JETUFFTjsKIAotICAgIGlmKChTUERJRlJYLT5DUiAmIFNQRElGUlhfQ1JfU1BESUZFTikgIT0gU1BESUZSWF9TVEFURV9SQ1YpCisgICAgaWYgKChTUERJRlJYLT5DUiAmIFNQRElGUlhfQ1JfU1BESUZFTikgIT0gU1BESUZSWF9TVEFURV9SQ1YpCiAgICAgewogICAgICAgLyogU3RhcnQgc3luY2hyb25pemF0aW9uICovCiAgICAgICBfX0hBTF9TUERJRlJYX1NZTkMoaHNwZGlmKTsKQEAgLTExNzksNyArMTE4NCw3IEBACiAgICAgICAgICAgX19IQUxfU1BESUZSWF9ESVNBQkxFX0lUKGhzcGRpZiwgU1BESUZSWF9JVF9TWU5DRElFKTsKICAgICAgICAgICBfX0hBTF9TUERJRlJYX0RJU0FCTEVfSVQoaHNwZGlmLCBTUERJRlJYX0lUX0lGRUlFKTsKIAotICAgICAgICAgIGhzcGRpZi0+U3RhdGU9IEhBTF9TUERJRlJYX1NUQVRFX1JFQURZOworICAgICAgICAgIGhzcGRpZi0+U3RhdGUgPSBIQUxfU1BESUZSWF9TVEFURV9SRUFEWTsKIAogICAgICAgICAgIC8qIFByb2Nlc3MgVW5sb2NrZWQgKi8KICAgICAgICAgICBfX0hBTF9VTkxPQ0soaHNwZGlmKTsKQEAgLTEyNDQsMjEgKzEyNDksMjEgQEAKICAgdWludDMyX3QgaXRTb3VyY2UgPSBoc3BkaWYtPkluc3RhbmNlLT5JTVI7CiAKICAgLyogU1BESUZSWCBpbiBtb2RlIERhdGEgRmxvdyBSZWNlcHRpb24gKi8KLSAgaWYoKChpdEZsYWcgJiBTUERJRlJYX0ZMQUdfUlhORSkgPT0gU1BESUZSWF9GTEFHX1JYTkUpICYmICgoaXRTb3VyY2UgJiAgU1BESUZSWF9JVF9SWE5FKSA9PSBTUERJRlJYX0lUX1JYTkUpKQorICBpZiAoKChpdEZsYWcgJiBTUERJRlJYX0ZMQUdfUlhORSkgPT0gU1BESUZSWF9GTEFHX1JYTkUpICYmICgoaXRTb3VyY2UgJiAgU1BESUZSWF9JVF9SWE5FKSA9PSBTUERJRlJYX0lUX1JYTkUpKQogICB7CiAgICAgX19IQUxfU1BESUZSWF9DTEVBUl9JVChoc3BkaWYsIFNQRElGUlhfSVRfUlhORSk7CiAgICAgU1BESUZSWF9SZWNlaXZlRGF0YUZsb3dfSVQoaHNwZGlmKTsKICAgfQogCiAgIC8qIFNQRElGUlggaW4gbW9kZSBDb250cm9sIEZsb3cgUmVjZXB0aW9uICovCi0gIGlmKCgoaXRGbGFnICYgU1BESUZSWF9GTEFHX0NTUk5FKSA9PSBTUERJRlJYX0ZMQUdfQ1NSTkUpICYmICgoaXRTb3VyY2UgJiAgU1BESUZSWF9JVF9DU1JORSkgPT0gU1BESUZSWF9JVF9DU1JORSkpCisgIGlmICgoKGl0RmxhZyAmIFNQRElGUlhfRkxBR19DU1JORSkgPT0gU1BESUZSWF9GTEFHX0NTUk5FKSAmJiAoKGl0U291cmNlICYgIFNQRElGUlhfSVRfQ1NSTkUpID09IFNQRElGUlhfSVRfQ1NSTkUpKQogICB7CiAgICAgX19IQUxfU1BESUZSWF9DTEVBUl9JVChoc3BkaWYsIFNQRElGUlhfSVRfQ1NSTkUpOwogICAgIFNQRElGUlhfUmVjZWl2ZUNvbnRyb2xGbG93X0lUKGhzcGRpZik7CiAgIH0KIAogICAvKiBTUERJRlJYIE92ZXJydW4gZXJyb3IgaW50ZXJydXB0IG9jY3VycmVkICovCi0gIGlmKCgoaXRGbGFnICYgU1BESUZSWF9GTEFHX09WUikgPT0gU1BESUZSWF9GTEFHX09WUikgJiYgKChpdFNvdXJjZSAmICBTUERJRlJYX0lUX09WUklFKSA9PSBTUERJRlJYX0lUX09WUklFKSkKKyAgaWYgKCgoaXRGbGFnICYgU1BESUZSWF9GTEFHX09WUikgPT0gU1BESUZSWF9GTEFHX09WUikgJiYgKChpdFNvdXJjZSAmICBTUERJRlJYX0lUX09WUklFKSA9PSBTUERJRlJYX0lUX09WUklFKSkKICAgewogICAgIF9fSEFMX1NQRElGUlhfQ0xFQVJfSVQoaHNwZGlmLCBTUERJRlJYX0lUX09WUklFKTsKIApAQCAtMTI3MCw3ICsxMjc1LDcgQEAKICAgfQogCiAgIC8qIFNQRElGUlggUGFyaXR5IGVycm9yIGludGVycnVwdCBvY2N1cnJlZCAqLwotICBpZigoKGl0RmxhZyAmIFNQRElGUlhfRkxBR19QRVJSKSA9PSBTUERJRlJYX0ZMQUdfUEVSUikgJiYgKChpdFNvdXJjZSAmICBTUERJRlJYX0lUX1BFUlJJRSkgPT0gU1BESUZSWF9JVF9QRVJSSUUpKQorICBpZiAoKChpdEZsYWcgJiBTUERJRlJYX0ZMQUdfUEVSUikgPT0gU1BESUZSWF9GTEFHX1BFUlIpICYmICgoaXRTb3VyY2UgJiAgU1BESUZSWF9JVF9QRVJSSUUpID09IFNQRElGUlhfSVRfUEVSUklFKSkKICAgewogICAgIF9fSEFMX1NQRElGUlhfQ0xFQVJfSVQoaHNwZGlmLCBTUERJRlJYX0lUX1BFUlJJRSk7CiAKQEAgLTEzODEsNyArMTM4Niw3IEBACiAgICogQHBhcmFtICBoc3BkaWYgU1BESUZSWCBoYW5kbGUKICAgKiBAcmV0dmFsIEhBTCBzdGF0ZQogICAqLwotSEFMX1NQRElGUlhfU3RhdGVUeXBlRGVmIEhBTF9TUERJRlJYX0dldFN0YXRlKFNQRElGUlhfSGFuZGxlVHlwZURlZiBjb25zdCAqIGNvbnN0IGhzcGRpZikKK0hBTF9TUERJRlJYX1N0YXRlVHlwZURlZiBIQUxfU1BESUZSWF9HZXRTdGF0ZShTUERJRlJYX0hhbmRsZVR5cGVEZWYgY29uc3QgKmNvbnN0IGhzcGRpZikKIHsKICAgcmV0dXJuIGhzcGRpZi0+U3RhdGU7CiB9CkBAIC0xMzkxLDcgKzEzOTYsNyBAQAogICAqIEBwYXJhbSAgaHNwZGlmIFNQRElGUlggaGFuZGxlCiAgICogQHJldHZhbCBTUERJRlJYIEVycm9yIENvZGUKICAgKi8KLXVpbnQzMl90IEhBTF9TUERJRlJYX0dldEVycm9yKFNQRElGUlhfSGFuZGxlVHlwZURlZiBjb25zdCAqIGNvbnN0IGhzcGRpZikKK3VpbnQzMl90IEhBTF9TUERJRlJYX0dldEVycm9yKFNQRElGUlhfSGFuZGxlVHlwZURlZiBjb25zdCAqY29uc3QgaHNwZGlmKQogewogICByZXR1cm4gaHNwZGlmLT5FcnJvckNvZGU7CiB9CkBAIC0xNDA3LDEwICsxNDEyLDEwIEBACiAgICovCiBzdGF0aWMgdm9pZCBTUERJRlJYX0RNQVJ4Q3BsdChETUFfSGFuZGxlVHlwZURlZiAqaGRtYSkKIHsKLSAgU1BESUZSWF9IYW5kbGVUeXBlRGVmKiBoc3BkaWYgPSAoIFNQRElGUlhfSGFuZGxlVHlwZURlZiogKSgoRE1BX0hhbmRsZVR5cGVEZWYqICloZG1hKS0+UGFyZW50OworICBTUERJRlJYX0hhbmRsZVR5cGVEZWYgKmhzcGRpZiA9IChTUERJRlJYX0hhbmRsZVR5cGVEZWYgKikoKERNQV9IYW5kbGVUeXBlRGVmICopaGRtYSktPlBhcmVudDsKIAogICAvKiBEaXNhYmxlIFJ4IERNQSBSZXF1ZXN0ICovCi0gIGlmKGhkbWEtPkluaXQuTW9kZSAhPSBETUFfQ0lSQ1VMQVIpCisgIGlmIChoZG1hLT5Jbml0Lk1vZGUgIT0gRE1BX0NJUkNVTEFSKQogICB7CiAgICAgaHNwZGlmLT5JbnN0YW5jZS0+Q1IgJj0gKHVpbnQxNl90KSh+U1BESUZSWF9DUl9SWERNQUVOKTsKICAgICBoc3BkaWYtPlJ4WGZlckNvdW50ID0gMDsKQEAgLTE0MzAsNyArMTQzNSw3IEBACiAgICovCiBzdGF0aWMgdm9pZCBTUERJRlJYX0RNQVJ4SGFsZkNwbHQoRE1BX0hhbmRsZVR5cGVEZWYgKmhkbWEpCiB7Ci0gIFNQRElGUlhfSGFuZGxlVHlwZURlZiogaHNwZGlmID0gKFNQRElGUlhfSGFuZGxlVHlwZURlZiopKChETUFfSGFuZGxlVHlwZURlZiopaGRtYSktPlBhcmVudDsKKyAgU1BESUZSWF9IYW5kbGVUeXBlRGVmICpoc3BkaWYgPSAoU1BESUZSWF9IYW5kbGVUeXBlRGVmICopKChETUFfSGFuZGxlVHlwZURlZiAqKWhkbWEpLT5QYXJlbnQ7CiAKICNpZiAoVVNFX0hBTF9TUERJRlJYX1JFR0lTVEVSX0NBTExCQUNLUyA9PSAxKQogICBoc3BkaWYtPlJ4SGFsZkNwbHRDYWxsYmFjayhoc3BkaWYpOwpAQCAtMTQ0Nyw3ICsxNDUyLDcgQEAKICAgKi8KIHN0YXRpYyB2b2lkIFNQRElGUlhfRE1BQ3hDcGx0KERNQV9IYW5kbGVUeXBlRGVmICpoZG1hKQogewotICBTUERJRlJYX0hhbmRsZVR5cGVEZWYqIGhzcGRpZiA9ICggU1BESUZSWF9IYW5kbGVUeXBlRGVmKiApKChETUFfSGFuZGxlVHlwZURlZiogKWhkbWEpLT5QYXJlbnQ7CisgIFNQRElGUlhfSGFuZGxlVHlwZURlZiAqaHNwZGlmID0gKFNQRElGUlhfSGFuZGxlVHlwZURlZiAqKSgoRE1BX0hhbmRsZVR5cGVEZWYgKiloZG1hKS0+UGFyZW50OwogCiAgIC8qIERpc2FibGUgQ2IgRE1BIFJlcXVlc3QgKi8KICAgaHNwZGlmLT5JbnN0YW5jZS0+Q1IgJj0gKHVpbnQxNl90KSh+U1BESUZSWF9DUl9DQkRNQUVOKTsKQEAgLTE0NjgsNyArMTQ3Myw3IEBACiAgICovCiBzdGF0aWMgdm9pZCBTUERJRlJYX0RNQUN4SGFsZkNwbHQoRE1BX0hhbmRsZVR5cGVEZWYgKmhkbWEpCiB7Ci0gIFNQRElGUlhfSGFuZGxlVHlwZURlZiogaHNwZGlmID0gKFNQRElGUlhfSGFuZGxlVHlwZURlZiopKChETUFfSGFuZGxlVHlwZURlZiopaGRtYSktPlBhcmVudDsKKyAgU1BESUZSWF9IYW5kbGVUeXBlRGVmICpoc3BkaWYgPSAoU1BESUZSWF9IYW5kbGVUeXBlRGVmICopKChETUFfSGFuZGxlVHlwZURlZiAqKWhkbWEpLT5QYXJlbnQ7CiAKICNpZiAoVVNFX0hBTF9TUERJRlJYX1JFR0lTVEVSX0NBTExCQUNLUyA9PSAxKQogICBoc3BkaWYtPkN4SGFsZkNwbHRDYWxsYmFjayhoc3BkaWYpOwpAQCAtMTQ4NCwxMyArMTQ4OSwxMyBAQAogICAqLwogc3RhdGljIHZvaWQgU1BESUZSWF9ETUFFcnJvcihETUFfSGFuZGxlVHlwZURlZiAqaGRtYSkKIHsKLSAgU1BESUZSWF9IYW5kbGVUeXBlRGVmKiBoc3BkaWYgPSAoIFNQRElGUlhfSGFuZGxlVHlwZURlZiogKSgoRE1BX0hhbmRsZVR5cGVEZWYqICloZG1hKS0+UGFyZW50OworICBTUERJRlJYX0hhbmRsZVR5cGVEZWYgKmhzcGRpZiA9IChTUERJRlJYX0hhbmRsZVR5cGVEZWYgKikoKERNQV9IYW5kbGVUeXBlRGVmICopaGRtYSktPlBhcmVudDsKIAogICAvKiBEaXNhYmxlIFJ4IGFuZCBDYiBETUEgUmVxdWVzdCAqLwogICBoc3BkaWYtPkluc3RhbmNlLT5DUiAmPSAodWludDE2X3QpKH4oU1BESUZSWF9DUl9SWERNQUVOIHwgU1BESUZSWF9DUl9DQkRNQUVOKSk7CiAgIGhzcGRpZi0+UnhYZmVyQ291bnQgPSAwOwogCi0gIGhzcGRpZi0+U3RhdGU9IEhBTF9TUERJRlJYX1NUQVRFX1JFQURZOworICBoc3BkaWYtPlN0YXRlID0gSEFMX1NQRElGUlhfU1RBVEVfUkVBRFk7CiAKICAgLyogU2V0IHRoZSBlcnJvciBjb2RlIGFuZCBleGVjdXRlIGVycm9yIGNhbGxiYWNrKi8KICAgaHNwZGlmLT5FcnJvckNvZGUgfD0gSEFMX1NQRElGUlhfRVJST1JfRE1BOwpAQCAtMTUxNiw3ICsxNTIxLDcgQEAKICAgaHNwZGlmLT5wUnhCdWZmUHRyKys7CiAgIGhzcGRpZi0+UnhYZmVyQ291bnQtLTsKIAotICBpZihoc3BkaWYtPlJ4WGZlckNvdW50ID09IDBVKQorICBpZiAoaHNwZGlmLT5SeFhmZXJDb3VudCA9PSAwVSkKICAgewogICAgIC8qIERpc2FibGUgUlhORS9QRSBhbmQgT1ZSIGludGVycnVwdHMgKi8KICAgICBfX0hBTF9TUERJRlJYX0RJU0FCTEVfSVQoaHNwZGlmLCBTUERJRlJYX0lUX09WUklFIHwgU1BESUZSWF9JVF9QRVJSSUUgfCBTUERJRlJYX0lUX1JYTkUpOwpAQCAtMTUyNyw5ICsxNTMyLDkgQEAKICAgICBfX0hBTF9VTkxPQ0soaHNwZGlmKTsKIAogI2lmIChVU0VfSEFMX1NQRElGUlhfUkVHSVNURVJfQ0FMTEJBQ0tTID09IDEpCi0gIGhzcGRpZi0+UnhDcGx0Q2FsbGJhY2soaHNwZGlmKTsKKyAgICBoc3BkaWYtPlJ4Q3BsdENhbGxiYWNrKGhzcGRpZik7CiAjZWxzZQotICBIQUxfU1BESUZSWF9SeENwbHRDYWxsYmFjayhoc3BkaWYpOworICAgIEhBTF9TUERJRlJYX1J4Q3BsdENhbGxiYWNrKGhzcGRpZik7CiAjZW5kaWYgLyogVVNFX0hBTF9TUERJRlJYX1JFR0lTVEVSX0NBTExCQUNLUyAqLwogICB9CiB9CkBAIC0xNTQ2LDcgKzE1NTEsNyBAQAogICBoc3BkaWYtPnBDc0J1ZmZQdHIrKzsKICAgaHNwZGlmLT5Dc1hmZXJDb3VudC0tOwogCi0gIGlmKGhzcGRpZi0+Q3NYZmVyQ291bnQgPT0gMFUpCisgIGlmIChoc3BkaWYtPkNzWGZlckNvdW50ID09IDBVKQogICB7CiAgICAgLyogRGlzYWJsZSBDU1JORSBpbnRlcnJ1cHQgKi8KICAgICBfX0hBTF9TUERJRlJYX0RJU0FCTEVfSVQoaHNwZGlmLCBTUERJRlJYX0lUX0NTUk5FKTsKQEAgLTE1NTcsOSArMTU2Miw5IEBACiAgICAgX19IQUxfVU5MT0NLKGhzcGRpZik7CiAKICNpZiAoVVNFX0hBTF9TUERJRlJYX1JFR0lTVEVSX0NBTExCQUNLUyA9PSAxKQotICBoc3BkaWYtPkN4Q3BsdENhbGxiYWNrKGhzcGRpZik7CisgICAgaHNwZGlmLT5DeENwbHRDYWxsYmFjayhoc3BkaWYpOwogI2Vsc2UKLSAgSEFMX1NQRElGUlhfQ3hDcGx0Q2FsbGJhY2soaHNwZGlmKTsKKyAgICBIQUxfU1BESUZSWF9DeENwbHRDYWxsYmFjayhoc3BkaWYpOwogI2VuZGlmIC8qIFVTRV9IQUxfU1BESUZSWF9SRUdJU1RFUl9DQUxMQkFDS1MgKi8KICAgfQogfQpAQCAtMTU3MywxNSArMTU3OCwxNiBAQAogICAqIEBwYXJhbSB0aWNrc3RhcnQgVGljayBzdGFydCB2YWx1ZQogICAqIEByZXR2YWwgSEFMIHN0YXR1cwogICAqLwotc3RhdGljIEhBTF9TdGF0dXNUeXBlRGVmIFNQRElGUlhfV2FpdE9uRmxhZ1VudGlsVGltZW91dChTUERJRlJYX0hhbmRsZVR5cGVEZWYgKmhzcGRpZiwgdWludDMyX3QgRmxhZywgRmxhZ1N0YXR1cyBTdGF0dXMsIHVpbnQzMl90IFRpbWVvdXQsIHVpbnQzMl90IHRpY2tzdGFydCkKK3N0YXRpYyBIQUxfU3RhdHVzVHlwZURlZiBTUERJRlJYX1dhaXRPbkZsYWdVbnRpbFRpbWVvdXQoU1BESUZSWF9IYW5kbGVUeXBlRGVmICpoc3BkaWYsIHVpbnQzMl90IEZsYWcsIEZsYWdTdGF0dXMgU3RhdHVzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBUaW1lb3V0LCB1aW50MzJfdCB0aWNrc3RhcnQpCiB7CiAgIC8qIFdhaXQgdW50aWwgZmxhZyBpcyBzZXQgKi8KLSAgd2hpbGUoX19IQUxfU1BESUZSWF9HRVRfRkxBRyhoc3BkaWYsIEZsYWcpID09IFN0YXR1cykKKyAgd2hpbGUgKF9fSEFMX1NQRElGUlhfR0VUX0ZMQUcoaHNwZGlmLCBGbGFnKSA9PSBTdGF0dXMpCiAgIHsKICAgICAvKiBDaGVjayBmb3IgdGhlIFRpbWVvdXQgKi8KLSAgICBpZihUaW1lb3V0ICE9IEhBTF9NQVhfREVMQVkpCisgICAgaWYgKFRpbWVvdXQgIT0gSEFMX01BWF9ERUxBWSkKICAgICB7Ci0gICAgICBpZigoKEhBTF9HZXRUaWNrKCkgLSB0aWNrc3RhcnQgKSA+IFRpbWVvdXQpIHx8IChUaW1lb3V0ID09IDBVKSkKKyAgICAgIGlmICgoKEhBTF9HZXRUaWNrKCkgLSB0aWNrc3RhcnQpID4gVGltZW91dCkgfHwgKFRpbWVvdXQgPT0gMFUpKQogICAgICAgewogICAgICAgICAvKiBEaXNhYmxlIFRYRSwgUlhORSwgUEUgYW5kIEVSUiAoRnJhbWUgZXJyb3IsIG5vaXNlIGVycm9yLCBvdmVycnVuIGVycm9yKSBpbnRlcnJ1cHRzIGZvciB0aGUgaW50ZXJydXB0IHByb2Nlc3MgKi8KICAgICAgICAgX19IQUxfU1BESUZSWF9ESVNBQkxFX0lUKGhzcGRpZiwgU1BESUZSWF9JVF9SWE5FKTsKQEAgLTE1OTIsNyArMTU5OCw3IEBACiAgICAgICAgIF9fSEFMX1NQRElGUlhfRElTQUJMRV9JVChoc3BkaWYsIFNQRElGUlhfSVRfU1lOQ0RJRSk7CiAgICAgICAgIF9fSEFMX1NQRElGUlhfRElTQUJMRV9JVChoc3BkaWYsIFNQRElGUlhfSVRfSUZFSUUpOwogCi0gICAgICAgIGhzcGRpZi0+U3RhdGU9IEhBTF9TUERJRlJYX1NUQVRFX1JFQURZOworICAgICAgICBoc3BkaWYtPlN0YXRlID0gSEFMX1NQRElGUlhfU1RBVEVfUkVBRFk7CiAKICAgICAgICAgLyogUHJvY2VzcyBVbmxvY2tlZCAqLwogICAgICAgICBfX0hBTF9VTkxPQ0soaHNwZGlmKTsKQEAgLTE2MTksNSArMTYyNSwzIEBACiAvKioKICAgKiBAfQogICAqLwotCi0vKioqKioqKioqKioqKioqKioqKioqKioqIChDKSBDT1BZUklHSFQgU1RNaWNyb2VsZWN0cm9uaWNzICoqKioqRU5EIE9GIEZJTEUqKioqLwpkaWZmIC0tZ2l0IGEvU3JjL3N0bTMyZjR4eF9oYWxfc3BpLmMgYi9TcmMvc3RtMzJmNHh4X2hhbF9zcGkuYwppbmRleCBlMTVmZmNkLi42MmQ1ZDY1IDEwMDY0NAotLS0gYS9TcmMvc3RtMzJmNHh4X2hhbF9zcGkuYworKysgYi9TcmMvc3RtMzJmNHh4X2hhbF9zcGkuYwpAQCAtOSw3ICs5LDE3IEBACiAgICogICAgICAgICAgICsgSU8gb3BlcmF0aW9uIGZ1bmN0aW9ucwogICAqICAgICAgICAgICArIFBlcmlwaGVyYWwgQ29udHJvbCBmdW5jdGlvbnMKICAgKiAgICAgICAgICAgKyBQZXJpcGhlcmFsIFN0YXRlIGZ1bmN0aW9ucworICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAgKiBAYXR0ZW50aW9uCiAgICoKKyAgKiBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgorICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgICoKKyAgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIHVuZGVyIHRlcm1zIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUKKyAgKiBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb2Z0d2FyZSBjb21wb25lbnQuCisgICogSWYgbm8gTElDRU5TRSBmaWxlIGNvbWVzIHdpdGggdGhpcyBzb2Z0d2FyZSwgaXQgaXMgcHJvdmlkZWQgQVMtSVMuCisgICoKKyAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgIEB2ZXJiYXRpbQogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgICAgICAgICAgICAgICAgICAgICAgICMjIyMjIEhvdyB0byB1c2UgdGhpcyBkcml2ZXIgIyMjIyMKQEAgLTE4NCwxOCArMTk0LDYgQEAKICAgICAgICAgICAgICgjKSBSWCBwcm9jZXNzZXMgYXJlIEhBTF9TUElfUmVjZWl2ZSgpLCBIQUxfU1BJX1JlY2VpdmVfSVQoKSBhbmQgSEFMX1NQSV9SZWNlaXZlX0RNQSgpCiAgICAgICAgICAgICAoIykgVFggcHJvY2Vzc2VzIGFyZSBIQUxfU1BJX1RyYW5zbWl0KCksIEhBTF9TUElfVHJhbnNtaXRfSVQoKSBhbmQgSEFMX1NQSV9UcmFuc21pdF9ETUEoKQogCi0gICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICAqIEBhdHRlbnRpb24KLSAgKgotICAqIDxoMj48Y2VudGVyPiZjb3B5OyBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9jZW50ZXI+PC9oMj4KLSAgKgotICAqIFRoaXMgc29mdHdhcmUgY29tcG9uZW50IGlzIGxpY2Vuc2VkIGJ5IFNUIHVuZGVyIEJTRCAzLUNsYXVzZSBsaWNlbnNlLAotICAqIHRoZSAiTGljZW5zZSI7IFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUKLSAgKiBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQ6Ci0gICogICAgICAgICAgICAgICAgICAgICAgICBvcGVuc291cmNlLm9yZy9saWNlbnNlcy9CU0QtMy1DbGF1c2UKLSAgKgotICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKi8KIAogLyogSW5jbHVkZXMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KQEAgLTMxNTYsNyArMzE1NCw3IEBACiAgICovCiBzdGF0aWMgdm9pZCBTUElfMmxpbmVzUnhJU1JfOEJJVENSQyhzdHJ1Y3QgX19TUElfSGFuZGxlVHlwZURlZiAqaHNwaSkKIHsKLSAgX19JTyB1aW50OF90ICAqIHB0bXByZWc4OworICBfX0lPIHVpbnQ4X3QgICpwdG1wcmVnODsKICAgX19JTyB1aW50OF90ICB0bXByZWc4ID0gMDsKIAogICAvKiBJbml0aWFsaXplIHRoZSA4Yml0IHRlbXBvcmFyeSBwb2ludGVyICovCkBAIC0zMjU5LDcgKzMyNTcsNyBAQAogICAvKiBSZWFkIDE2Yml0IENSQyB0byBmbHVzaCBEYXRhIFJlZ2lzdGVyICovCiAgIHRtcHJlZyA9IFJFQURfUkVHKGhzcGktPkluc3RhbmNlLT5EUik7CiAgIC8qIFRvIGF2b2lkIEdDQyB3YXJuaW5nICovCi0gIFVOVVNFRCh0bXByZWcpOyAgCisgIFVOVVNFRCh0bXByZWcpOwogCiAgIC8qIERpc2FibGUgUlhORSBpbnRlcnJ1cHQgKi8KICAgX19IQUxfU1BJX0RJU0FCTEVfSVQoaHNwaSwgU1BJX0lUX1JYTkUpOwpAQCAtMzMxNCw3ICszMzEyLDcgQEAKICAgKi8KIHN0YXRpYyB2b2lkIFNQSV9SeElTUl84QklUQ1JDKHN0cnVjdCBfX1NQSV9IYW5kbGVUeXBlRGVmICpoc3BpKQogewotICBfX0lPIHVpbnQ4X3QgICogcHRtcHJlZzg7CisgIF9fSU8gdWludDhfdCAgKnB0bXByZWc4OwogICBfX0lPIHVpbnQ4X3QgIHRtcHJlZzggPSAwOwogCiAgIC8qIEluaXRpYWxpemUgdGhlIDhiaXQgdGVtcG9yYXJ5IHBvaW50ZXIgKi8KQEAgLTM1MjYsNyArMzUyNCw3IEBACiAgICAgICAgIHJldHVybiBIQUxfVElNRU9VVDsKICAgICAgIH0KICAgICAgIC8qIElmIFN5c3RpY2sgaXMgZGlzYWJsZWQgb3Igbm90IGluY3JlbWVudGVkLCBkZWFjdGl2YXRlIHRpbWVvdXQgdG8gZ28gaW4gZGlzYWJsZSBsb29wIHByb2NlZHVyZSAqLwotICAgICAgaWYoY291bnQgPT0gMFUpCisgICAgICBpZiAoY291bnQgPT0gMFUpCiAgICAgICB7CiAgICAgICAgIHRtcF90aW1lb3V0ID0gMFU7CiAgICAgICB9CkBAIC0zOTE1LDQgKzM5MTMsMyBAQAogICAqIEB9CiAgICovCiAKLS8qKioqKioqKioqKioqKioqKioqKioqKiogKEMpIENPUFlSSUdIVCBTVE1pY3JvZWxlY3Ryb25pY3MgKioqKipFTkQgT0YgRklMRSoqKiovCmRpZmYgLS1naXQgYS9TcmMvc3RtMzJmNHh4X2hhbF9zcmFtLmMgYi9TcmMvc3RtMzJmNHh4X2hhbF9zcmFtLmMKaW5kZXggNzUyMDU2OS4uZWYyZWFmMCAxMDA2NDQKLS0tIGEvU3JjL3N0bTMyZjR4eF9oYWxfc3JhbS5jCisrKyBiL1NyYy9zdG0zMmY0eHhfaGFsX3NyYW0uYwpAQCAtMyw1OCArMyw2OSBAQAogICAqIEBmaWxlICAgIHN0bTMyZjR4eF9oYWxfc3JhbS5jCiAgICogQGF1dGhvciAgTUNEIEFwcGxpY2F0aW9uIFRlYW0KICAgKiBAYnJpZWYgICBTUkFNIEhBTCBtb2R1bGUgZHJpdmVyLgotICAqICAgICAgICAgIFRoaXMgZmlsZSBwcm92aWRlcyBhIGdlbmVyaWMgZmlybXdhcmUgdG8gZHJpdmUgU1JBTSBtZW1vcmllcyAgCisgICogICAgICAgICAgVGhpcyBmaWxlIHByb3ZpZGVzIGEgZ2VuZXJpYyBmaXJtd2FyZSB0byBkcml2ZSBTUkFNIG1lbW9yaWVzCiAgICogICAgICAgICAgbW91bnRlZCBhcyBleHRlcm5hbCBkZXZpY2UuCi0gICogICAgICAgICAKKyAgKgorICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAgKiBAYXR0ZW50aW9uCisgICoKKyAgKiBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgorICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgICoKKyAgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIHVuZGVyIHRlcm1zIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUKKyAgKiBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb2Z0d2FyZSBjb21wb25lbnQuCisgICogSWYgbm8gTElDRU5TRSBmaWxlIGNvbWVzIHdpdGggdGhpcyBzb2Z0d2FyZSwgaXQgaXMgcHJvdmlkZWQgQVMtSVMuCisgICoKKyAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgIEB2ZXJiYXRpbQogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIyMjIyMgSG93IHRvIHVzZSB0aGlzIGRyaXZlciAjIyMjIwotICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gIAorICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgWy4uXQotICAgIFRoaXMgZHJpdmVyIGlzIGEgZ2VuZXJpYyBsYXllcmVkIGRyaXZlciB3aGljaCBjb250YWlucyBhIHNldCBvZiBBUElzIHVzZWQgdG8gCi0gICAgY29udHJvbCBTUkFNIG1lbW9yaWVzLiBJdCB1c2VzIHRoZSBGTUMgbGF5ZXIgZnVuY3Rpb25zIHRvIGludGVyZmFjZSAKLSAgICB3aXRoIFNSQU0gZGV2aWNlcy4gIAorICAgIFRoaXMgZHJpdmVyIGlzIGEgZ2VuZXJpYyBsYXllcmVkIGRyaXZlciB3aGljaCBjb250YWlucyBhIHNldCBvZiBBUElzIHVzZWQgdG8KKyAgICBjb250cm9sIFNSQU0gbWVtb3JpZXMuIEl0IHVzZXMgdGhlIEZNQyBsYXllciBmdW5jdGlvbnMgdG8gaW50ZXJmYWNlCisgICAgd2l0aCBTUkFNIGRldmljZXMuCiAgICAgVGhlIGZvbGxvd2luZyBzZXF1ZW5jZSBzaG91bGQgYmUgZm9sbG93ZWQgdG8gY29uZmlndXJlIHRoZSBGTUMvRlNNQyB0byBpbnRlcmZhY2UKLSAgICB3aXRoIFNSQU0vUFNSQU0gbWVtb3JpZXM6IAotICAgICAgCisgICAgd2l0aCBTUkFNL1BTUkFNIG1lbW9yaWVzOgorCiAgICAoIykgRGVjbGFyZSBhIFNSQU1fSGFuZGxlVHlwZURlZiBoYW5kbGUgc3RydWN0dXJlLCBmb3IgZXhhbXBsZToKLSAgICAgICAgICBTUkFNX0hhbmRsZVR5cGVEZWYgIGhzcmFtOyBhbmQ6IAotICAgICAgICAgIAotICAgICAgICgrKykgRmlsbCB0aGUgU1JBTV9IYW5kbGVUeXBlRGVmIGhhbmRsZSAiSW5pdCIgZmllbGQgd2l0aCB0aGUgYWxsb3dlZCAKKyAgICAgICAgICBTUkFNX0hhbmRsZVR5cGVEZWYgIGhzcmFtOyBhbmQ6CisKKyAgICAgICAoKyspIEZpbGwgdGhlIFNSQU1fSGFuZGxlVHlwZURlZiBoYW5kbGUgIkluaXQiIGZpZWxkIHdpdGggdGhlIGFsbG93ZWQKICAgICAgICAgICAgIHZhbHVlcyBvZiB0aGUgc3RydWN0dXJlIG1lbWJlci4KLSAgICAgICAgICAgIAotICAgICAgICgrKykgRmlsbCB0aGUgU1JBTV9IYW5kbGVUeXBlRGVmIGhhbmRsZSAiSW5zdGFuY2UiIGZpZWxkIHdpdGggYSBwcmVkZWZpbmVkIAotICAgICAgICAgICAgYmFzZSByZWdpc3RlciBpbnN0YW5jZSBmb3IgTk9SIG9yIFNSQU0gZGV2aWNlIAotICAgICAgICAgICAgICAgICAgICAgICAgIAorCisgICAgICAgKCsrKSBGaWxsIHRoZSBTUkFNX0hhbmRsZVR5cGVEZWYgaGFuZGxlICJJbnN0YW5jZSIgZmllbGQgd2l0aCBhIHByZWRlZmluZWQKKyAgICAgICAgICAgIGJhc2UgcmVnaXN0ZXIgaW5zdGFuY2UgZm9yIE5PUiBvciBTUkFNIGRldmljZQorCiAgICAgICAgKCsrKSBGaWxsIHRoZSBTUkFNX0hhbmRsZVR5cGVEZWYgaGFuZGxlICJFeHRlbmRlZCIgZmllbGQgd2l0aCBhIHByZWRlZmluZWQKLSAgICAgICAgICAgIGJhc2UgcmVnaXN0ZXIgaW5zdGFuY2UgZm9yIE5PUiBvciBTUkFNIGV4dGVuZGVkIG1vZGUgCi0gICAgICAgICAgICAgCi0gICAoIykgRGVjbGFyZSB0d28gRk1DX05PUlNSQU1fVGltaW5nVHlwZURlZiBzdHJ1Y3R1cmVzLCBmb3IgYm90aCBub3JtYWwgYW5kIGV4dGVuZGVkIAorICAgICAgICAgICAgYmFzZSByZWdpc3RlciBpbnN0YW5jZSBmb3IgTk9SIG9yIFNSQU0gZXh0ZW5kZWQgbW9kZQorCisgICAoIykgRGVjbGFyZSB0d28gRk1DX05PUlNSQU1fVGltaW5nVHlwZURlZiBzdHJ1Y3R1cmVzLCBmb3IgYm90aCBub3JtYWwgYW5kIGV4dGVuZGVkCiAgICAgICAgbW9kZSB0aW1pbmdzOyBmb3IgZXhhbXBsZToKICAgICAgICAgICBGTUNfTk9SU1JBTV9UaW1pbmdUeXBlRGVmICBUaW1pbmcgYW5kIEZNQ19OT1JTUkFNX1RpbWluZ1R5cGVEZWYgIEV4VGltaW5nOwogICAgICAgYW5kIGZpbGwgaXRzIGZpZWxkcyB3aXRoIHRoZSBhbGxvd2VkIHZhbHVlcyBvZiB0aGUgc3RydWN0dXJlIG1lbWJlci4KLSAgICAgIAorCiAgICAoIykgSW5pdGlhbGl6ZSB0aGUgU1JBTSBDb250cm9sbGVyIGJ5IGNhbGxpbmcgdGhlIGZ1bmN0aW9uIEhBTF9TUkFNX0luaXQoKS4gVGhpcyBmdW5jdGlvbgogICAgICAgIHBlcmZvcm1zIHRoZSBmb2xsb3dpbmcgc2VxdWVuY2U6Ci0gICAgICAgICAgCi0gICAgICAgKCMjKSBNU1AgaGFyZHdhcmUgbGF5ZXIgY29uZmlndXJhdGlvbiB1c2luZyB0aGUgZnVuY3Rpb24gSEFMX1NSQU1fTXNwSW5pdCgpCi0gICAgICAgKCMjKSBDb250cm9sIHJlZ2lzdGVyIGNvbmZpZ3VyYXRpb24gdXNpbmcgdGhlIEZNQyBOT1JTUkFNIGludGVyZmFjZSBmdW5jdGlvbiAKLSAgICAgICAgICAgIEZNQ19OT1JTUkFNX0luaXQoKQotICAgICAgICgjIykgVGltaW5nIHJlZ2lzdGVyIGNvbmZpZ3VyYXRpb24gdXNpbmcgdGhlIEZNQyBOT1JTUkFNIGludGVyZmFjZSBmdW5jdGlvbiAKLSAgICAgICAgICAgIEZNQ19OT1JTUkFNX1RpbWluZ19Jbml0KCkKLSAgICAgICAoIyMpIEV4dGVuZGVkIG1vZGUgVGltaW5nIHJlZ2lzdGVyIGNvbmZpZ3VyYXRpb24gdXNpbmcgdGhlIEZNQyBOT1JTUkFNIGludGVyZmFjZSBmdW5jdGlvbiAKLSAgICAgICAgICAgIEZNQ19OT1JTUkFNX0V4dGVuZGVkX1RpbWluZ19Jbml0KCkKLSAgICAgICAoIyMpIEVuYWJsZSB0aGUgU1JBTSBkZXZpY2UgdXNpbmcgdGhlIG1hY3JvIF9fRk1DX05PUlNSQU1fRU5BQkxFKCkgICAgCiAKLSAgICgjKSBBdCB0aGlzIHN0YWdlIHlvdSBjYW4gcGVyZm9ybSByZWFkL3dyaXRlIGFjY2Vzc2VzIGZyb20vdG8gdGhlIG1lbW9yeSBjb25uZWN0ZWQgCisgICAgICAgKCMjKSBNU1AgaGFyZHdhcmUgbGF5ZXIgY29uZmlndXJhdGlvbiB1c2luZyB0aGUgZnVuY3Rpb24gSEFMX1NSQU1fTXNwSW5pdCgpCisgICAgICAgKCMjKSBDb250cm9sIHJlZ2lzdGVyIGNvbmZpZ3VyYXRpb24gdXNpbmcgdGhlIEZNQyBOT1JTUkFNIGludGVyZmFjZSBmdW5jdGlvbgorICAgICAgICAgICAgRk1DX05PUlNSQU1fSW5pdCgpCisgICAgICAgKCMjKSBUaW1pbmcgcmVnaXN0ZXIgY29uZmlndXJhdGlvbiB1c2luZyB0aGUgRk1DIE5PUlNSQU0gaW50ZXJmYWNlIGZ1bmN0aW9uCisgICAgICAgICAgICBGTUNfTk9SU1JBTV9UaW1pbmdfSW5pdCgpCisgICAgICAgKCMjKSBFeHRlbmRlZCBtb2RlIFRpbWluZyByZWdpc3RlciBjb25maWd1cmF0aW9uIHVzaW5nIHRoZSBGTUMgTk9SU1JBTSBpbnRlcmZhY2UgZnVuY3Rpb24KKyAgICAgICAgICAgIEZNQ19OT1JTUkFNX0V4dGVuZGVkX1RpbWluZ19Jbml0KCkKKyAgICAgICAoIyMpIEVuYWJsZSB0aGUgU1JBTSBkZXZpY2UgdXNpbmcgdGhlIG1hY3JvIF9fRk1DX05PUlNSQU1fRU5BQkxFKCkKKworICAgKCMpIEF0IHRoaXMgc3RhZ2UgeW91IGNhbiBwZXJmb3JtIHJlYWQvd3JpdGUgYWNjZXNzZXMgZnJvbS90byB0aGUgbWVtb3J5IGNvbm5lY3RlZAogICAgICAgIHRvIHRoZSBOT1IvU1JBTSBCYW5rLiBZb3UgY2FuIHBlcmZvcm0gZWl0aGVyIHBvbGxpbmcgb3IgRE1BIHRyYW5zZmVyIHVzaW5nIHRoZQogICAgICAgIGZvbGxvd2luZyBBUElzOgogICAgICAgICgrKykgSEFMX1NSQU1fUmVhZCgpL0hBTF9TUkFNX1dyaXRlKCkgZm9yIHBvbGxpbmcgcmVhZC93cml0ZSBhY2Nlc3MKICAgICAgICAoKyspIEhBTF9TUkFNX1JlYWRfRE1BKCkvSEFMX1NSQU1fV3JpdGVfRE1BKCkgZm9yIERNQSByZWFkL3dyaXRlIHRyYW5zZmVyCi0gICAgICAgCisKICAgICgjKSBZb3UgY2FuIGFsc28gY29udHJvbCB0aGUgU1JBTSBkZXZpY2UgYnkgY2FsbGluZyB0aGUgY29udHJvbCBBUElzIEhBTF9TUkFNX1dyaXRlT3BlcmF0aW9uX0VuYWJsZSgpLwotICAgICAgIEhBTF9TUkFNX1dyaXRlT3BlcmF0aW9uX0Rpc2FibGUoKSB0byByZXNwZWN0aXZlbHkgZW5hYmxlL2Rpc2FibGUgdGhlIFNSQU0gd3JpdGUgb3BlcmF0aW9uICAKLSAgICAgICAKKyAgICAgICBIQUxfU1JBTV9Xcml0ZU9wZXJhdGlvbl9EaXNhYmxlKCkgdG8gcmVzcGVjdGl2ZWx5IGVuYWJsZS9kaXNhYmxlIHRoZSBTUkFNIHdyaXRlIG9wZXJhdGlvbgorCiAgICAoIykgWW91IGNhbiBjb250aW51b3VzbHkgbW9uaXRvciB0aGUgU1JBTSBkZXZpY2UgSEFMIHN0YXRlIGJ5IGNhbGxpbmcgdGhlIGZ1bmN0aW9uCiAgICAgICAgSEFMX1NSQU1fR2V0U3RhdGUoKQogCkBAIC02NCwyNSArNzUsMjUgQEAKICAgICAgIFRoZSBjb21waWxhdGlvbiBkZWZpbmUgIFVTRV9IQUxfU1JBTV9SRUdJU1RFUl9DQUxMQkFDS1Mgd2hlbiBzZXQgdG8gMQogICAgICAgYWxsb3dzIHRoZSB1c2VyIHRvIGNvbmZpZ3VyZSBkeW5hbWljYWxseSB0aGUgZHJpdmVyIGNhbGxiYWNrcy4KIAotICAgICAgVXNlIEZ1bmN0aW9ucyBAcmVmIEhBTF9TUkFNX1JlZ2lzdGVyQ2FsbGJhY2soKSB0byByZWdpc3RlciBhIHVzZXIgY2FsbGJhY2ssCisgICAgICBVc2UgRnVuY3Rpb25zIEhBTF9TUkFNX1JlZ2lzdGVyQ2FsbGJhY2soKSB0byByZWdpc3RlciBhIHVzZXIgY2FsbGJhY2ssCiAgICAgICBpdCBhbGxvd3MgdG8gcmVnaXN0ZXIgZm9sbG93aW5nIGNhbGxiYWNrczoKICAgICAgICAgKCspIE1zcEluaXRDYWxsYmFjayAgICA6IFNSQU0gTXNwSW5pdC4KICAgICAgICAgKCspIE1zcERlSW5pdENhbGxiYWNrICA6IFNSQU0gTXNwRGVJbml0LgogICAgICAgVGhpcyBmdW5jdGlvbiB0YWtlcyBhcyBwYXJhbWV0ZXJzIHRoZSBIQUwgcGVyaXBoZXJhbCBoYW5kbGUsIHRoZSBDYWxsYmFjayBJRAogICAgICAgYW5kIGEgcG9pbnRlciB0byB0aGUgdXNlciBjYWxsYmFjayBmdW5jdGlvbi4KIAotICAgICAgVXNlIGZ1bmN0aW9uIEByZWYgSEFMX1NSQU1fVW5SZWdpc3RlckNhbGxiYWNrKCkgdG8gcmVzZXQgYSBjYWxsYmFjayB0byB0aGUgZGVmYXVsdAorICAgICAgVXNlIGZ1bmN0aW9uIEhBTF9TUkFNX1VuUmVnaXN0ZXJDYWxsYmFjaygpIHRvIHJlc2V0IGEgY2FsbGJhY2sgdG8gdGhlIGRlZmF1bHQKICAgICAgIHdlYWsgKHN1cmNoYXJnZWQpIGZ1bmN0aW9uLiBJdCBhbGxvd3MgdG8gcmVzZXQgZm9sbG93aW5nIGNhbGxiYWNrczoKICAgICAgICAgKCspIE1zcEluaXRDYWxsYmFjayAgICA6IFNSQU0gTXNwSW5pdC4KICAgICAgICAgKCspIE1zcERlSW5pdENhbGxiYWNrICA6IFNSQU0gTXNwRGVJbml0LgogICAgICAgVGhpcyBmdW5jdGlvbikgdGFrZXMgYXMgcGFyYW1ldGVycyB0aGUgSEFMIHBlcmlwaGVyYWwgaGFuZGxlIGFuZCB0aGUgQ2FsbGJhY2sgSUQuCiAKLSAgICAgIEJ5IGRlZmF1bHQsIGFmdGVyIHRoZSBAcmVmIEhBTF9TUkFNX0luaXQgYW5kIGlmIHRoZSBzdGF0ZSBpcyBIQUxfU1JBTV9TVEFURV9SRVNFVAorICAgICAgQnkgZGVmYXVsdCwgYWZ0ZXIgdGhlIEhBTF9TUkFNX0luaXQgYW5kIGlmIHRoZSBzdGF0ZSBpcyBIQUxfU1JBTV9TVEFURV9SRVNFVAogICAgICAgYWxsIGNhbGxiYWNrcyBhcmUgcmVzZXQgdG8gdGhlIGNvcnJlc3BvbmRpbmcgbGVnYWN5IHdlYWsgKHN1cmNoYXJnZWQpIGZ1bmN0aW9ucy4KICAgICAgIEV4Y2VwdGlvbiBkb25lIGZvciBNc3BJbml0IGFuZCBNc3BEZUluaXQgY2FsbGJhY2tzIHRoYXQgYXJlIHJlc3BlY3RpdmVseQotICAgICAgcmVzZXQgdG8gdGhlIGxlZ2FjeSB3ZWFrIChzdXJjaGFyZ2VkKSBmdW5jdGlvbnMgaW4gdGhlIEByZWYgSEFMX1NSQU1fSW5pdAotICAgICAgYW5kIEByZWYgIEhBTF9TUkFNX0RlSW5pdCBvbmx5IHdoZW4gdGhlc2UgY2FsbGJhY2tzIGFyZSBudWxsIChub3QgcmVnaXN0ZXJlZCBiZWZvcmVoYW5kKS4KLSAgICAgIElmIG5vdCwgTXNwSW5pdCBvciBNc3BEZUluaXQgYXJlIG5vdCBudWxsLCB0aGUgQHJlZiBIQUxfU1JBTV9Jbml0IGFuZCBAcmVmIEhBTF9TUkFNX0RlSW5pdAorICAgICAgcmVzZXQgdG8gdGhlIGxlZ2FjeSB3ZWFrIChzdXJjaGFyZ2VkKSBmdW5jdGlvbnMgaW4gdGhlIEhBTF9TUkFNX0luaXQKKyAgICAgIGFuZCAgSEFMX1NSQU1fRGVJbml0IG9ubHkgd2hlbiB0aGVzZSBjYWxsYmFja3MgYXJlIG51bGwgKG5vdCByZWdpc3RlcmVkIGJlZm9yZWhhbmQpLgorICAgICAgSWYgbm90LCBNc3BJbml0IG9yIE1zcERlSW5pdCBhcmUgbm90IG51bGwsIHRoZSBIQUxfU1JBTV9Jbml0IGFuZCBIQUxfU1JBTV9EZUluaXQKICAgICAgIGtlZXAgYW5kIHVzZSB0aGUgdXNlciBNc3BJbml0L01zcERlSW5pdCBjYWxsYmFja3MgKHJlZ2lzdGVyZWQgYmVmb3JlaGFuZCkKIAogICAgICAgQ2FsbGJhY2tzIGNhbiBiZSByZWdpc3RlcmVkL3VucmVnaXN0ZXJlZCBpbiBSRUFEWSBzdGF0ZSBvbmx5LgpAQCAtOTAsOCArMTAxLDggQEAKICAgICAgIGluIFJFQURZIG9yIFJFU0VUIHN0YXRlLCB0aHVzIHJlZ2lzdGVyZWQgKHVzZXIpIE1zcEluaXQvRGVJbml0IGNhbGxiYWNrcyBjYW4gYmUgdXNlZAogICAgICAgZHVyaW5nIHRoZSBJbml0L0RlSW5pdC4KICAgICAgIEluIHRoYXQgY2FzZSBmaXJzdCByZWdpc3RlciB0aGUgTXNwSW5pdC9Nc3BEZUluaXQgdXNlciBjYWxsYmFja3MKLSAgICAgIHVzaW5nIEByZWYgSEFMX1NSQU1fUmVnaXN0ZXJDYWxsYmFjayBiZWZvcmUgY2FsbGluZyBAcmVmIEhBTF9TUkFNX0RlSW5pdAotICAgICAgb3IgQHJlZiBIQUxfU1JBTV9Jbml0IGZ1bmN0aW9uLgorICAgICAgdXNpbmcgSEFMX1NSQU1fUmVnaXN0ZXJDYWxsYmFjayBiZWZvcmUgY2FsbGluZyBIQUxfU1JBTV9EZUluaXQKKyAgICAgIG9yIEhBTF9TUkFNX0luaXQgZnVuY3Rpb24uCiAKICAgICAgIFdoZW4gVGhlIGNvbXBpbGF0aW9uIGRlZmluZSBVU0VfSEFMX1NSQU1fUkVHSVNURVJfQ0FMTEJBQ0tTIGlzIHNldCB0byAwIG9yCiAgICAgICBub3QgZGVmaW5lZCwgdGhlIGNhbGxiYWNrIHJlZ2lzdGVyaW5nIGZlYXR1cmUgaXMgbm90IGF2YWlsYWJsZQpAQCAtOTksNTcgKzExMCw0OSBAQAogCiAgIEBlbmR2ZXJiYXRpbQogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAgKiBAYXR0ZW50aW9uCi0gICoKLSAgKiA8aDI+PGNlbnRlcj4mY29weTsgQ29weXJpZ2h0IChjKSAyMDE3IFNUTWljcm9lbGVjdHJvbmljcy4KLSAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvY2VudGVyPjwvaDI+Ci0gICoKLSAgKiBUaGlzIHNvZnR3YXJlIGNvbXBvbmVudCBpcyBsaWNlbnNlZCBieSBTVCB1bmRlciBCU0QgMy1DbGF1c2UgbGljZW5zZSwKLSAgKiB0aGUgIkxpY2Vuc2UiOyBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlCi0gICogTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0OgotICAqICAgICAgICAgICAgICAgICAgICAgICAgb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvQlNELTMtQ2xhdXNlCi0gICoKLSAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gICovIAorICAqLwogCiAvKiBJbmNsdWRlcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogI2luY2x1ZGUgInN0bTMyZjR4eF9oYWwuaCIKIAorI2lmIGRlZmluZWQoRk1DX0JhbmsxKSB8fCBkZWZpbmVkKEZTTUNfQmFuazEpCisKIC8qKiBAYWRkdG9ncm91cCBTVE0zMkY0eHhfSEFMX0RyaXZlcgogICAqIEB7CiAgICovCiAKKyNpZmRlZiBIQUxfU1JBTV9NT0RVTEVfRU5BQkxFRAorCiAvKiogQGRlZmdyb3VwIFNSQU0gU1JBTQogICAqIEBicmllZiBTUkFNIGRyaXZlciBtb2R1bGVzCiAgICogQHsKICAgKi8KLSNpZmRlZiBIQUxfU1JBTV9NT0RVTEVfRU5BQkxFRAotCi0jaWYgZGVmaW5lZChTVE0zMkY0MDV4eCkgfHwgZGVmaW5lZChTVE0zMkY0MTV4eCkgfHwgZGVmaW5lZChTVE0zMkY0MDd4eCkgfHwgZGVmaW5lZChTVE0zMkY0MTd4eCkgfHxcCi0gICAgZGVmaW5lZChTVE0zMkY0Mjd4eCkgfHwgZGVmaW5lZChTVE0zMkY0Mzd4eCkgfHwgZGVmaW5lZChTVE0zMkY0Mjl4eCkgfHwgZGVmaW5lZChTVE0zMkY0Mzl4eCkgfHxcCi0gICAgZGVmaW5lZChTVE0zMkY0NDZ4eCkgfHwgZGVmaW5lZChTVE0zMkY0Njl4eCkgfHwgZGVmaW5lZChTVE0zMkY0Nzl4eCkgfHwgZGVmaW5lZChTVE0zMkY0MTJaeCkgfHxcCi0gICAgZGVmaW5lZChTVE0zMkY0MTJWeCkgfHwgZGVmaW5lZChTVE0zMkY0MTJSeCkgfHwgZGVmaW5lZChTVE0zMkY0MTN4eCkgfHwgZGVmaW5lZChTVE0zMkY0MjN4eCkKIAogLyogUHJpdmF0ZSB0eXBlZGVmIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KIC8qIFByaXZhdGUgZGVmaW5lIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCi0vKiBQcml2YXRlIG1hY3JvIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLyAgICAKKy8qIFByaXZhdGUgbWFjcm8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAvKiBQcml2YXRlIHZhcmlhYmxlcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwotLyogUHJpdmF0ZSBmdW5jdGlvbnMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKy8qIFByaXZhdGUgZnVuY3Rpb24gcHJvdG90eXBlcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCitzdGF0aWMgdm9pZCBTUkFNX0RNQUNwbHQoRE1BX0hhbmRsZVR5cGVEZWYgKmhkbWEpOworc3RhdGljIHZvaWQgU1JBTV9ETUFDcGx0UHJvdChETUFfSGFuZGxlVHlwZURlZiAqaGRtYSk7CitzdGF0aWMgdm9pZCBTUkFNX0RNQUVycm9yKERNQV9IYW5kbGVUeXBlRGVmICpoZG1hKTsKIAogLyogRXhwb3J0ZWQgZnVuY3Rpb25zIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKwogLyoqIEBkZWZncm91cCBTUkFNX0V4cG9ydGVkX0Z1bmN0aW9ucyBTUkFNIEV4cG9ydGVkIEZ1bmN0aW9ucwogICAqIEB7CiAgICovCi0vKiogQGRlZmdyb3VwIFNSQU1fRXhwb3J0ZWRfRnVuY3Rpb25zX0dyb3VwMSBJbml0aWFsaXphdGlvbiBhbmQgZGUtaW5pdGlhbGl6YXRpb24gZnVuY3Rpb25zIAotICAqIEBicmllZiAgICBJbml0aWFsaXphdGlvbiBhbmQgQ29uZmlndXJhdGlvbiBmdW5jdGlvbnMgCisKKy8qKiBAZGVmZ3JvdXAgU1JBTV9FeHBvcnRlZF9GdW5jdGlvbnNfR3JvdXAxIEluaXRpYWxpemF0aW9uIGFuZCBkZS1pbml0aWFsaXphdGlvbiBmdW5jdGlvbnMKKyAgKiBAYnJpZWYgICAgSW5pdGlhbGl6YXRpb24gYW5kIENvbmZpZ3VyYXRpb24gZnVuY3Rpb25zLgogICAqCi0gIEB2ZXJiYXRpbSAgICAKKyAgQHZlcmJhdGltCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgICAgICAgICAjIyMjIyBTUkFNIEluaXRpYWxpemF0aW9uIGFuZCBkZV9pbml0aWFsaXphdGlvbiBmdW5jdGlvbnMgIyMjIyMKICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAgWy4uXSAgVGhpcyBzZWN0aW9uIHByb3ZpZGVzIGZ1bmN0aW9ucyBhbGxvd2luZyB0byBpbml0aWFsaXplL2RlLWluaXRpYWxpemUKICAgICAgICAgICB0aGUgU1JBTSBtZW1vcnkKLSAgCisKIEBlbmR2ZXJiYXRpbQogICAqIEB7CiAgICovCkBAIC0xNTgsMjUgKzE2MSwyNiBAQAogICAqIEBicmllZiAgUGVyZm9ybXMgdGhlIFNSQU0gZGV2aWNlIGluaXRpYWxpemF0aW9uIHNlcXVlbmNlCiAgICogQHBhcmFtICBoc3JhbSBwb2ludGVyIHRvIGEgU1JBTV9IYW5kbGVUeXBlRGVmIHN0cnVjdHVyZSB0aGF0IGNvbnRhaW5zCiAgICogICAgICAgICAgICAgICAgdGhlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gZm9yIFNSQU0gbW9kdWxlLgotICAqIEBwYXJhbSAgVGltaW5nIFBvaW50ZXIgdG8gU1JBTSBjb250cm9sIHRpbWluZyBzdHJ1Y3R1cmUgCi0gICogQHBhcmFtICBFeHRUaW1pbmcgUG9pbnRlciB0byBTUkFNIGV4dGVuZGVkIG1vZGUgdGltaW5nIHN0cnVjdHVyZSAgCisgICogQHBhcmFtICBUaW1pbmcgUG9pbnRlciB0byBTUkFNIGNvbnRyb2wgdGltaW5nIHN0cnVjdHVyZQorICAqIEBwYXJhbSAgRXh0VGltaW5nIFBvaW50ZXIgdG8gU1JBTSBleHRlbmRlZCBtb2RlIHRpbWluZyBzdHJ1Y3R1cmUKICAgKiBAcmV0dmFsIEhBTCBzdGF0dXMKICAgKi8KLUhBTF9TdGF0dXNUeXBlRGVmIEhBTF9TUkFNX0luaXQoU1JBTV9IYW5kbGVUeXBlRGVmICpoc3JhbSwgRk1DX05PUlNSQU1fVGltaW5nVHlwZURlZiAqVGltaW5nLCBGTUNfTk9SU1JBTV9UaW1pbmdUeXBlRGVmICpFeHRUaW1pbmcpCi17IAorSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1NSQU1fSW5pdChTUkFNX0hhbmRsZVR5cGVEZWYgKmhzcmFtLCBGTUNfTk9SU1JBTV9UaW1pbmdUeXBlRGVmICpUaW1pbmcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZNQ19OT1JTUkFNX1RpbWluZ1R5cGVEZWYgKkV4dFRpbWluZykKK3sKICAgLyogQ2hlY2sgdGhlIFNSQU0gaGFuZGxlIHBhcmFtZXRlciAqLwotICBpZihoc3JhbSA9PSBOVUxMKQorICBpZiAoaHNyYW0gPT0gTlVMTCkKICAgewotICAgICByZXR1cm4gSEFMX0VSUk9SOworICAgIHJldHVybiBIQUxfRVJST1I7CiAgIH0KLSAgCi0gIGlmKGhzcmFtLT5TdGF0ZSA9PSBIQUxfU1JBTV9TVEFURV9SRVNFVCkKLSAgeyAgCisKKyAgaWYgKGhzcmFtLT5TdGF0ZSA9PSBIQUxfU1JBTV9TVEFURV9SRVNFVCkKKyAgewogICAgIC8qIEFsbG9jYXRlIGxvY2sgcmVzb3VyY2UgYW5kIGluaXRpYWxpemUgaXQgKi8KICAgICBoc3JhbS0+TG9jayA9IEhBTF9VTkxPQ0tFRDsKIAogI2lmIChVU0VfSEFMX1NSQU1fUkVHSVNURVJfQ0FMTEJBQ0tTID09IDEpCi0gICAgaWYoaHNyYW0tPk1zcEluaXRDYWxsYmFjayA9PSBOVUxMKQorICAgIGlmIChoc3JhbS0+TXNwSW5pdENhbGxiYWNrID09IE5VTEwpCiAgICAgewogICAgICAgaHNyYW0tPk1zcEluaXRDYWxsYmFjayA9IEhBTF9TUkFNX01zcEluaXQ7CiAgICAgfQpAQCAtMTg4LDIxICsxOTIsMjUgQEAKICNlbHNlCiAgICAgLyogSW5pdGlhbGl6ZSB0aGUgbG93IGxldmVsIGhhcmR3YXJlIChNU1ApICovCiAgICAgSEFMX1NSQU1fTXNwSW5pdChoc3JhbSk7Ci0jZW5kaWYKKyNlbmRpZiAvKiBVU0VfSEFMX1NSQU1fUkVHSVNURVJfQ0FMTEJBQ0tTICovCiAgIH0KLSAgCisKICAgLyogSW5pdGlhbGl6ZSBTUkFNIGNvbnRyb2wgSW50ZXJmYWNlICovCi0gIEZNQ19OT1JTUkFNX0luaXQoaHNyYW0tPkluc3RhbmNlLCAmKGhzcmFtLT5Jbml0KSk7CisgICh2b2lkKUZNQ19OT1JTUkFNX0luaXQoaHNyYW0tPkluc3RhbmNlLCAmKGhzcmFtLT5Jbml0KSk7CiAKICAgLyogSW5pdGlhbGl6ZSBTUkFNIHRpbWluZyBJbnRlcmZhY2UgKi8KLSAgRk1DX05PUlNSQU1fVGltaW5nX0luaXQoaHNyYW0tPkluc3RhbmNlLCBUaW1pbmcsIGhzcmFtLT5Jbml0Lk5TQmFuayk7IAorICAodm9pZClGTUNfTk9SU1JBTV9UaW1pbmdfSW5pdChoc3JhbS0+SW5zdGFuY2UsIFRpbWluZywgaHNyYW0tPkluaXQuTlNCYW5rKTsKIAogICAvKiBJbml0aWFsaXplIFNSQU0gZXh0ZW5kZWQgbW9kZSB0aW1pbmcgSW50ZXJmYWNlICovCi0gIEZNQ19OT1JTUkFNX0V4dGVuZGVkX1RpbWluZ19Jbml0KGhzcmFtLT5FeHRlbmRlZCwgRXh0VGltaW5nLCBoc3JhbS0+SW5pdC5OU0JhbmssICBoc3JhbS0+SW5pdC5FeHRlbmRlZE1vZGUpOyAgCi0gIAorICAodm9pZClGTUNfTk9SU1JBTV9FeHRlbmRlZF9UaW1pbmdfSW5pdChoc3JhbS0+RXh0ZW5kZWQsIEV4dFRpbWluZywgaHNyYW0tPkluaXQuTlNCYW5rLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoc3JhbS0+SW5pdC5FeHRlbmRlZE1vZGUpOworCiAgIC8qIEVuYWJsZSB0aGUgTk9SU1JBTSBkZXZpY2UgKi8KLSAgX19GTUNfTk9SU1JBTV9FTkFCTEUoaHNyYW0tPkluc3RhbmNlLCBoc3JhbS0+SW5pdC5OU0JhbmspOyAKLSAgCisgIF9fRk1DX05PUlNSQU1fRU5BQkxFKGhzcmFtLT5JbnN0YW5jZSwgaHNyYW0tPkluaXQuTlNCYW5rKTsKKworICAvKiBJbml0aWFsaXplIHRoZSBTUkFNIGNvbnRyb2xsZXIgc3RhdGUgKi8KKyAgaHNyYW0tPlN0YXRlID0gSEFMX1NSQU1fU1RBVEVfUkVBRFk7CisKICAgcmV0dXJuIEhBTF9PSzsKIH0KIApAQCAtMjEyLDEwICsyMjAsMTAgQEAKICAgKiAgICAgICAgICAgICAgICB0aGUgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbiBmb3IgU1JBTSBtb2R1bGUuCiAgICogQHJldHZhbCBIQUwgc3RhdHVzCiAgICovCi1IQUxfU3RhdHVzVHlwZURlZiAgSEFMX1NSQU1fRGVJbml0KFNSQU1fSGFuZGxlVHlwZURlZiAqaHNyYW0pCi17IAorSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1NSQU1fRGVJbml0KFNSQU1fSGFuZGxlVHlwZURlZiAqaHNyYW0pCit7CiAjaWYgKFVTRV9IQUxfU1JBTV9SRUdJU1RFUl9DQUxMQkFDS1MgPT0gMSkKLSAgaWYoaHNyYW0tPk1zcERlSW5pdENhbGxiYWNrID09IE5VTEwpCisgIGlmIChoc3JhbS0+TXNwRGVJbml0Q2FsbGJhY2sgPT0gTlVMTCkKICAgewogICAgIGhzcmFtLT5Nc3BEZUluaXRDYWxsYmFjayA9IEhBTF9TUkFNX01zcERlSW5pdDsKICAgfQpAQCAtMjI1LDEzICsyMzMsMTQgQEAKICNlbHNlCiAgIC8qIERlLUluaXRpYWxpemUgdGhlIGxvdyBsZXZlbCBoYXJkd2FyZSAoTVNQKSAqLwogICBIQUxfU1JBTV9Nc3BEZUluaXQoaHNyYW0pOwotI2VuZGlmCisjZW5kaWYgLyogVVNFX0hBTF9TUkFNX1JFR0lTVEVSX0NBTExCQUNLUyAqLwogCiAgIC8qIENvbmZpZ3VyZSB0aGUgU1JBTSByZWdpc3RlcnMgd2l0aCB0aGVpciByZXNldCB2YWx1ZXMgKi8KLSAgRk1DX05PUlNSQU1fRGVJbml0KGhzcmFtLT5JbnN0YW5jZSwgaHNyYW0tPkV4dGVuZGVkLCBoc3JhbS0+SW5pdC5OU0JhbmspOworICAodm9pZClGTUNfTk9SU1JBTV9EZUluaXQoaHNyYW0tPkluc3RhbmNlLCBoc3JhbS0+RXh0ZW5kZWQsIGhzcmFtLT5Jbml0Lk5TQmFuayk7CiAKKyAgLyogUmVzZXQgdGhlIFNSQU0gY29udHJvbGxlciBzdGF0ZSAqLwogICBoc3JhbS0+U3RhdGUgPSBIQUxfU1JBTV9TVEFURV9SRVNFVDsKLSAgCisKICAgLyogUmVsZWFzZSBMb2NrICovCiAgIF9fSEFMX1VOTE9DSyhoc3JhbSk7CiAKQEAgLTI0OCw5ICsyNTcsMTAgQEAKIHsKICAgLyogUHJldmVudCB1bnVzZWQgYXJndW1lbnQocykgY29tcGlsYXRpb24gd2FybmluZyAqLwogICBVTlVTRUQoaHNyYW0pOwotICAgIC8qIE5PVEUgOiBUaGlzIGZ1bmN0aW9uIFNob3VsZCBub3QgYmUgbW9kaWZpZWQsIHdoZW4gdGhlIGNhbGxiYWNrIGlzIG5lZWRlZCwKKworICAvKiBOT1RFIDogVGhpcyBmdW5jdGlvbiBTaG91bGQgbm90IGJlIG1vZGlmaWVkLCB3aGVuIHRoZSBjYWxsYmFjayBpcyBuZWVkZWQsCiAgICAgICAgICAgICB0aGUgSEFMX1NSQU1fTXNwSW5pdCBjb3VsZCBiZSBpbXBsZW1lbnRlZCBpbiB0aGUgdXNlciBmaWxlCi0gICAqLyAKKyAgICovCiB9CiAKIC8qKgpAQCAtMjYzLDkgKzI3MywxMCBAQAogewogICAvKiBQcmV2ZW50IHVudXNlZCBhcmd1bWVudChzKSBjb21waWxhdGlvbiB3YXJuaW5nICovCiAgIFVOVVNFRChoc3JhbSk7CisKICAgLyogTk9URSA6IFRoaXMgZnVuY3Rpb24gU2hvdWxkIG5vdCBiZSBtb2RpZmllZCwgd2hlbiB0aGUgY2FsbGJhY2sgaXMgbmVlZGVkLAogICAgICAgICAgICAgdGhlIEhBTF9TUkFNX01zcERlSW5pdCBjb3VsZCBiZSBpbXBsZW1lbnRlZCBpbiB0aGUgdXNlciBmaWxlCi0gICAqLyAKKyAgICovCiB9CiAKIC8qKgpAQCAtMjc4LDkgKzI4OSwxMCBAQAogewogICAvKiBQcmV2ZW50IHVudXNlZCBhcmd1bWVudChzKSBjb21waWxhdGlvbiB3YXJuaW5nICovCiAgIFVOVVNFRChoZG1hKTsKKwogICAvKiBOT1RFIDogVGhpcyBmdW5jdGlvbiBTaG91bGQgbm90IGJlIG1vZGlmaWVkLCB3aGVuIHRoZSBjYWxsYmFjayBpcyBuZWVkZWQsCiAgICAgICAgICAgICB0aGUgSEFMX1NSQU1fRE1BX1hmZXJDcGx0Q2FsbGJhY2sgY291bGQgYmUgaW1wbGVtZW50ZWQgaW4gdGhlIHVzZXIgZmlsZQotICAgKi8gCisgICAqLwogfQogCiAvKioKQEAgLTI5MywyNTcgKzMwNSwzMzcgQEAKIHsKICAgLyogUHJldmVudCB1bnVzZWQgYXJndW1lbnQocykgY29tcGlsYXRpb24gd2FybmluZyAqLwogICBVTlVTRUQoaGRtYSk7Ci0gICAgLyogTk9URSA6IFRoaXMgZnVuY3Rpb24gU2hvdWxkIG5vdCBiZSBtb2RpZmllZCwgd2hlbiB0aGUgY2FsbGJhY2sgaXMgbmVlZGVkLAorCisgIC8qIE5PVEUgOiBUaGlzIGZ1bmN0aW9uIFNob3VsZCBub3QgYmUgbW9kaWZpZWQsIHdoZW4gdGhlIGNhbGxiYWNrIGlzIG5lZWRlZCwKICAgICAgICAgICAgIHRoZSBIQUxfU1JBTV9ETUFfWGZlckVycm9yQ2FsbGJhY2sgY291bGQgYmUgaW1wbGVtZW50ZWQgaW4gdGhlIHVzZXIgZmlsZQotICAgKi8gCisgICAqLwogfQogCiAvKioKICAgKiBAfQogICAqLwogCi0vKiogQGRlZmdyb3VwIFNSQU1fRXhwb3J0ZWRfRnVuY3Rpb25zX0dyb3VwMiBJbnB1dCBhbmQgT3V0cHV0IGZ1bmN0aW9ucyAKLSAgKiBAYnJpZWYgICAgSW5wdXQgT3V0cHV0IGFuZCBtZW1vcnkgY29udHJvbCBmdW5jdGlvbnMgCisvKiogQGRlZmdyb3VwIFNSQU1fRXhwb3J0ZWRfRnVuY3Rpb25zX0dyb3VwMiBJbnB1dCBPdXRwdXQgYW5kIG1lbW9yeSBjb250cm9sIGZ1bmN0aW9ucworICAqIEBicmllZiAgICBJbnB1dCBPdXRwdXQgYW5kIG1lbW9yeSBjb250cm9sIGZ1bmN0aW9ucwogICAqCi0gIEB2ZXJiYXRpbSAgICAKKyAgQHZlcmJhdGltCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgICAgICAgICAgICAgICAgIyMjIyMgU1JBTSBJbnB1dCBhbmQgT3V0cHV0IGZ1bmN0aW9ucyAjIyMjIwogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLSAgWy4uXSAgCisgIFsuLl0KICAgICBUaGlzIHNlY3Rpb24gcHJvdmlkZXMgZnVuY3Rpb25zIGFsbG93aW5nIHRvIHVzZSBhbmQgY29udHJvbCB0aGUgU1JBTSBtZW1vcnkKLSAgCisKIEBlbmR2ZXJiYXRpbQogICAqIEB7CiAgICovCiAKIC8qKgotICAqIEBicmllZiAgUmVhZHMgOC1iaXQgYnVmZmVyIGZyb20gU1JBTSBtZW1vcnkuIAorICAqIEBicmllZiAgUmVhZHMgOC1iaXQgYnVmZmVyIGZyb20gU1JBTSBtZW1vcnkuCiAgICogQHBhcmFtICBoc3JhbSBwb2ludGVyIHRvIGEgU1JBTV9IYW5kbGVUeXBlRGVmIHN0cnVjdHVyZSB0aGF0IGNvbnRhaW5zCiAgICogICAgICAgICAgICAgICAgdGhlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gZm9yIFNSQU0gbW9kdWxlLgogICAqIEBwYXJhbSAgcEFkZHJlc3MgUG9pbnRlciB0byByZWFkIHN0YXJ0IGFkZHJlc3MKLSAgKiBAcGFyYW0gIHBEc3RCdWZmZXIgUG9pbnRlciB0byBkZXN0aW5hdGlvbiBidWZmZXIgIAorICAqIEBwYXJhbSAgcERzdEJ1ZmZlciBQb2ludGVyIHRvIGRlc3RpbmF0aW9uIGJ1ZmZlcgogICAqIEBwYXJhbSAgQnVmZmVyU2l6ZSBTaXplIG9mIHRoZSBidWZmZXIgdG8gcmVhZCBmcm9tIG1lbW9yeQogICAqIEByZXR2YWwgSEFMIHN0YXR1cwogICAqLwotSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1NSQU1fUmVhZF84YihTUkFNX0hhbmRsZVR5cGVEZWYgKmhzcmFtLCB1aW50MzJfdCAqcEFkZHJlc3MsIHVpbnQ4X3QgKnBEc3RCdWZmZXIsIHVpbnQzMl90IEJ1ZmZlclNpemUpCitIQUxfU3RhdHVzVHlwZURlZiBIQUxfU1JBTV9SZWFkXzhiKFNSQU1fSGFuZGxlVHlwZURlZiAqaHNyYW0sIHVpbnQzMl90ICpwQWRkcmVzcywgdWludDhfdCAqcERzdEJ1ZmZlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgQnVmZmVyU2l6ZSkKIHsKLSAgX19JTyB1aW50OF90ICogcFNyYW1BZGRyZXNzID0gKHVpbnQ4X3QgKilwQWRkcmVzczsKLSAgCi0gIC8qIFByb2Nlc3MgTG9ja2VkICovCi0gIF9fSEFMX0xPQ0soaHNyYW0pOwotICAKLSAgLyogVXBkYXRlIHRoZSBTUkFNIGNvbnRyb2xsZXIgc3RhdGUgKi8KLSAgaHNyYW0tPlN0YXRlID0gSEFMX1NSQU1fU1RBVEVfQlVTWTsgIAotICAKLSAgLyogUmVhZCBkYXRhIGZyb20gbWVtb3J5ICovCi0gIGZvcig7IEJ1ZmZlclNpemUgIT0gMFU7IEJ1ZmZlclNpemUtLSkKLSAgewotICAgICpwRHN0QnVmZmVyID0gKihfX0lPIHVpbnQ4X3QgKilwU3JhbUFkZHJlc3M7Ci0gICAgcERzdEJ1ZmZlcisrOwotICAgIHBTcmFtQWRkcmVzcysrOwotICB9Ci0gIAotICAvKiBVcGRhdGUgdGhlIFNSQU0gY29udHJvbGxlciBzdGF0ZSAqLwotICBoc3JhbS0+U3RhdGUgPSBIQUxfU1JBTV9TVEFURV9SRUFEWTsgICAgCisgIHVpbnQzMl90IHNpemU7CisgIF9fSU8gdWludDhfdCAqcHNyYW1hZGRyZXNzID0gKHVpbnQ4X3QgKilwQWRkcmVzczsKKyAgdWludDhfdCAqcGRlc3RidWZmID0gcERzdEJ1ZmZlcjsKKyAgSEFMX1NSQU1fU3RhdGVUeXBlRGVmIHN0YXRlID0gaHNyYW0tPlN0YXRlOwogCi0gIC8qIFByb2Nlc3MgdW5sb2NrZWQgKi8KLSAgX19IQUxfVU5MT0NLKGhzcmFtKTsgCi0gICAgCi0gIHJldHVybiBIQUxfT0s7ICAgCisgIC8qIENoZWNrIHRoZSBTUkFNIGNvbnRyb2xsZXIgc3RhdGUgKi8KKyAgaWYgKChzdGF0ZSA9PSBIQUxfU1JBTV9TVEFURV9SRUFEWSkgfHwgKHN0YXRlID09IEhBTF9TUkFNX1NUQVRFX1BST1RFQ1RFRCkpCisgIHsKKyAgICAvKiBQcm9jZXNzIExvY2tlZCAqLworICAgIF9fSEFMX0xPQ0soaHNyYW0pOworCisgICAgLyogVXBkYXRlIHRoZSBTUkFNIGNvbnRyb2xsZXIgc3RhdGUgKi8KKyAgICBoc3JhbS0+U3RhdGUgPSBIQUxfU1JBTV9TVEFURV9CVVNZOworCisgICAgLyogUmVhZCBkYXRhIGZyb20gbWVtb3J5ICovCisgICAgZm9yIChzaXplID0gQnVmZmVyU2l6ZTsgc2l6ZSAhPSAwVTsgc2l6ZS0tKQorICAgIHsKKyAgICAgICpwZGVzdGJ1ZmYgPSAqcHNyYW1hZGRyZXNzOworICAgICAgcGRlc3RidWZmKys7CisgICAgICBwc3JhbWFkZHJlc3MrKzsKKyAgICB9CisKKyAgICAvKiBVcGRhdGUgdGhlIFNSQU0gY29udHJvbGxlciBzdGF0ZSAqLworICAgIGhzcmFtLT5TdGF0ZSA9IHN0YXRlOworCisgICAgLyogUHJvY2VzcyB1bmxvY2tlZCAqLworICAgIF9fSEFMX1VOTE9DSyhoc3JhbSk7CisgIH0KKyAgZWxzZQorICB7CisgICAgcmV0dXJuIEhBTF9FUlJPUjsKKyAgfQorCisgIHJldHVybiBIQUxfT0s7CiB9CiAKIC8qKgotICAqIEBicmllZiAgV3JpdGVzIDgtYml0IGJ1ZmZlciB0byBTUkFNIG1lbW9yeS4gCisgICogQGJyaWVmICBXcml0ZXMgOC1iaXQgYnVmZmVyIHRvIFNSQU0gbWVtb3J5LgogICAqIEBwYXJhbSAgaHNyYW0gcG9pbnRlciB0byBhIFNSQU1fSGFuZGxlVHlwZURlZiBzdHJ1Y3R1cmUgdGhhdCBjb250YWlucwogICAqICAgICAgICAgICAgICAgIHRoZSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIGZvciBTUkFNIG1vZHVsZS4KICAgKiBAcGFyYW0gIHBBZGRyZXNzIFBvaW50ZXIgdG8gd3JpdGUgc3RhcnQgYWRkcmVzcwotICAqIEBwYXJhbSAgcFNyY0J1ZmZlciBQb2ludGVyIHRvIHNvdXJjZSBidWZmZXIgdG8gd3JpdGUgIAorICAqIEBwYXJhbSAgcFNyY0J1ZmZlciBQb2ludGVyIHRvIHNvdXJjZSBidWZmZXIgdG8gd3JpdGUKICAgKiBAcGFyYW0gIEJ1ZmZlclNpemUgU2l6ZSBvZiB0aGUgYnVmZmVyIHRvIHdyaXRlIHRvIG1lbW9yeQogICAqIEByZXR2YWwgSEFMIHN0YXR1cwogICAqLwotSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1NSQU1fV3JpdGVfOGIoU1JBTV9IYW5kbGVUeXBlRGVmICpoc3JhbSwgdWludDMyX3QgKnBBZGRyZXNzLCB1aW50OF90ICpwU3JjQnVmZmVyLCB1aW50MzJfdCBCdWZmZXJTaXplKQorSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1NSQU1fV3JpdGVfOGIoU1JBTV9IYW5kbGVUeXBlRGVmICpoc3JhbSwgdWludDMyX3QgKnBBZGRyZXNzLCB1aW50OF90ICpwU3JjQnVmZmVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgQnVmZmVyU2l6ZSkKIHsKLSAgX19JTyB1aW50OF90ICogcFNyYW1BZGRyZXNzID0gKHVpbnQ4X3QgKilwQWRkcmVzczsKLSAgCisgIHVpbnQzMl90IHNpemU7CisgIF9fSU8gdWludDhfdCAqcHNyYW1hZGRyZXNzID0gKHVpbnQ4X3QgKilwQWRkcmVzczsKKyAgdWludDhfdCAqcHNyY2J1ZmYgPSBwU3JjQnVmZmVyOworCiAgIC8qIENoZWNrIHRoZSBTUkFNIGNvbnRyb2xsZXIgc3RhdGUgKi8KLSAgaWYoaHNyYW0tPlN0YXRlID09IEhBTF9TUkFNX1NUQVRFX1BST1RFQ1RFRCkKKyAgaWYgKGhzcmFtLT5TdGF0ZSA9PSBIQUxfU1JBTV9TVEFURV9SRUFEWSkKICAgewotICAgIHJldHVybiAgSEFMX0VSUk9SOyAKKyAgICAvKiBQcm9jZXNzIExvY2tlZCAqLworICAgIF9fSEFMX0xPQ0soaHNyYW0pOworCisgICAgLyogVXBkYXRlIHRoZSBTUkFNIGNvbnRyb2xsZXIgc3RhdGUgKi8KKyAgICBoc3JhbS0+U3RhdGUgPSBIQUxfU1JBTV9TVEFURV9CVVNZOworCisgICAgLyogV3JpdGUgZGF0YSB0byBtZW1vcnkgKi8KKyAgICBmb3IgKHNpemUgPSBCdWZmZXJTaXplOyBzaXplICE9IDBVOyBzaXplLS0pCisgICAgeworICAgICAgKnBzcmFtYWRkcmVzcyA9ICpwc3JjYnVmZjsKKyAgICAgIHBzcmNidWZmKys7CisgICAgICBwc3JhbWFkZHJlc3MrKzsKKyAgICB9CisKKyAgICAvKiBVcGRhdGUgdGhlIFNSQU0gY29udHJvbGxlciBzdGF0ZSAqLworICAgIGhzcmFtLT5TdGF0ZSA9IEhBTF9TUkFNX1NUQVRFX1JFQURZOworCisgICAgLyogUHJvY2VzcyB1bmxvY2tlZCAqLworICAgIF9fSEFMX1VOTE9DSyhoc3JhbSk7CiAgIH0KLSAgCi0gIC8qIFByb2Nlc3MgTG9ja2VkICovCi0gIF9fSEFMX0xPQ0soaHNyYW0pOwotICAKLSAgLyogVXBkYXRlIHRoZSBTUkFNIGNvbnRyb2xsZXIgc3RhdGUgKi8KLSAgaHNyYW0tPlN0YXRlID0gSEFMX1NSQU1fU1RBVEVfQlVTWTsgCi0KLSAgLyogV3JpdGUgZGF0YSB0byBtZW1vcnkgKi8KLSAgZm9yKDsgQnVmZmVyU2l6ZSAhPSAwVTsgQnVmZmVyU2l6ZS0tKQorICBlbHNlCiAgIHsKLSAgICAqKF9fSU8gdWludDhfdCAqKXBTcmFtQWRkcmVzcyA9ICpwU3JjQnVmZmVyOyAKLSAgICBwU3JjQnVmZmVyKys7Ci0gICAgcFNyYW1BZGRyZXNzKys7ICAgIAotICB9ICAgIAorICAgIHJldHVybiBIQUxfRVJST1I7CisgIH0KIAotICAvKiBVcGRhdGUgdGhlIFNSQU0gY29udHJvbGxlciBzdGF0ZSAqLwotICBoc3JhbS0+U3RhdGUgPSBIQUxfU1JBTV9TVEFURV9SRUFEWTsgCi0gIAotICAvKiBQcm9jZXNzIHVubG9ja2VkICovCi0gIF9fSEFMX1VOTE9DSyhoc3JhbSk7Ci0gICAgCi0gIHJldHVybiBIQUxfT0s7ICAgCisgIHJldHVybiBIQUxfT0s7CiB9CiAKIC8qKgotICAqIEBicmllZiAgUmVhZHMgMTYtYml0IGJ1ZmZlciBmcm9tIFNSQU0gbWVtb3J5LiAKKyAgKiBAYnJpZWYgIFJlYWRzIDE2LWJpdCBidWZmZXIgZnJvbSBTUkFNIG1lbW9yeS4KICAgKiBAcGFyYW0gIGhzcmFtIHBvaW50ZXIgdG8gYSBTUkFNX0hhbmRsZVR5cGVEZWYgc3RydWN0dXJlIHRoYXQgY29udGFpbnMKICAgKiAgICAgICAgICAgICAgICB0aGUgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbiBmb3IgU1JBTSBtb2R1bGUuCiAgICogQHBhcmFtICBwQWRkcmVzcyBQb2ludGVyIHRvIHJlYWQgc3RhcnQgYWRkcmVzcwotICAqIEBwYXJhbSAgcERzdEJ1ZmZlciBQb2ludGVyIHRvIGRlc3RpbmF0aW9uIGJ1ZmZlciAgCisgICogQHBhcmFtICBwRHN0QnVmZmVyIFBvaW50ZXIgdG8gZGVzdGluYXRpb24gYnVmZmVyCiAgICogQHBhcmFtICBCdWZmZXJTaXplIFNpemUgb2YgdGhlIGJ1ZmZlciB0byByZWFkIGZyb20gbWVtb3J5CiAgICogQHJldHZhbCBIQUwgc3RhdHVzCiAgICovCi1IQUxfU3RhdHVzVHlwZURlZiBIQUxfU1JBTV9SZWFkXzE2YihTUkFNX0hhbmRsZVR5cGVEZWYgKmhzcmFtLCB1aW50MzJfdCAqcEFkZHJlc3MsIHVpbnQxNl90ICpwRHN0QnVmZmVyLCB1aW50MzJfdCBCdWZmZXJTaXplKQorSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1NSQU1fUmVhZF8xNmIoU1JBTV9IYW5kbGVUeXBlRGVmICpoc3JhbSwgdWludDMyX3QgKnBBZGRyZXNzLCB1aW50MTZfdCAqcERzdEJ1ZmZlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IEJ1ZmZlclNpemUpCiB7Ci0gIF9fSU8gdWludDE2X3QgKiBwU3JhbUFkZHJlc3MgPSAodWludDE2X3QgKilwQWRkcmVzczsKLSAgCi0gIC8qIFByb2Nlc3MgTG9ja2VkICovCi0gIF9fSEFMX0xPQ0soaHNyYW0pOwotICAKLSAgLyogVXBkYXRlIHRoZSBTUkFNIGNvbnRyb2xsZXIgc3RhdGUgKi8KLSAgaHNyYW0tPlN0YXRlID0gSEFMX1NSQU1fU1RBVEVfQlVTWTsgIAotICAKLSAgLyogUmVhZCBkYXRhIGZyb20gbWVtb3J5ICovCi0gIGZvcig7IEJ1ZmZlclNpemUgIT0gMFU7IEJ1ZmZlclNpemUtLSkKLSAgewotICAgICpwRHN0QnVmZmVyID0gKihfX0lPIHVpbnQxNl90ICopcFNyYW1BZGRyZXNzOwotICAgIHBEc3RCdWZmZXIrKzsKLSAgICBwU3JhbUFkZHJlc3MrKzsKLSAgfQotICAKLSAgLyogVXBkYXRlIHRoZSBTUkFNIGNvbnRyb2xsZXIgc3RhdGUgKi8KLSAgaHNyYW0tPlN0YXRlID0gSEFMX1NSQU1fU1RBVEVfUkVBRFk7ICAgIAorICB1aW50MzJfdCBzaXplOworICBfX0lPIHVpbnQzMl90ICpwc3JhbWFkZHJlc3MgPSBwQWRkcmVzczsKKyAgdWludDE2X3QgKnBkZXN0YnVmZiA9IHBEc3RCdWZmZXI7CisgIHVpbnQ4X3QgbGltaXQ7CisgIEhBTF9TUkFNX1N0YXRlVHlwZURlZiBzdGF0ZSA9IGhzcmFtLT5TdGF0ZTsKIAotICAvKiBQcm9jZXNzIHVubG9ja2VkICovCi0gIF9fSEFMX1VOTE9DSyhoc3JhbSk7IAotICAgIAotICByZXR1cm4gSEFMX09LOyAgCisgIC8qIENoZWNrIHRoZSBTUkFNIGNvbnRyb2xsZXIgc3RhdGUgKi8KKyAgaWYgKChzdGF0ZSA9PSBIQUxfU1JBTV9TVEFURV9SRUFEWSkgfHwgKHN0YXRlID09IEhBTF9TUkFNX1NUQVRFX1BST1RFQ1RFRCkpCisgIHsKKyAgICAvKiBQcm9jZXNzIExvY2tlZCAqLworICAgIF9fSEFMX0xPQ0soaHNyYW0pOworCisgICAgLyogVXBkYXRlIHRoZSBTUkFNIGNvbnRyb2xsZXIgc3RhdGUgKi8KKyAgICBoc3JhbS0+U3RhdGUgPSBIQUxfU1JBTV9TVEFURV9CVVNZOworCisgICAgLyogQ2hlY2sgaWYgdGhlIHNpemUgaXMgYSAzMi1iaXRzIG11bHRpcGxlICovCisgICAgbGltaXQgPSAoKChCdWZmZXJTaXplICUgMlUpICE9IDBVKSA/IDFVIDogMFUpOworCisgICAgLyogUmVhZCBkYXRhIGZyb20gbWVtb3J5ICovCisgICAgZm9yIChzaXplID0gQnVmZmVyU2l6ZTsgc2l6ZSAhPSBsaW1pdDsgc2l6ZSAtPSAyVSkKKyAgICB7CisgICAgICAqcGRlc3RidWZmID0gKHVpbnQxNl90KSgoKnBzcmFtYWRkcmVzcykgJiAweDAwMDBGRkZGVSk7CisgICAgICBwZGVzdGJ1ZmYrKzsKKyAgICAgICpwZGVzdGJ1ZmYgPSAodWludDE2X3QpKCgoKnBzcmFtYWRkcmVzcykgJiAweEZGRkYwMDAwVSkgPj4gMTZVKTsKKyAgICAgIHBkZXN0YnVmZisrOworICAgICAgcHNyYW1hZGRyZXNzKys7CisgICAgfQorCisgICAgLyogUmVhZCBsYXN0IDE2LWJpdHMgaWYgc2l6ZSBpcyBub3QgMzItYml0cyBtdWx0aXBsZSAqLworICAgIGlmIChsaW1pdCAhPSAwVSkKKyAgICB7CisgICAgICAqcGRlc3RidWZmID0gKHVpbnQxNl90KSgoKnBzcmFtYWRkcmVzcykgJiAweDAwMDBGRkZGVSk7CisgICAgfQorCisgICAgLyogVXBkYXRlIHRoZSBTUkFNIGNvbnRyb2xsZXIgc3RhdGUgKi8KKyAgICBoc3JhbS0+U3RhdGUgPSBzdGF0ZTsKKworICAgIC8qIFByb2Nlc3MgdW5sb2NrZWQgKi8KKyAgICBfX0hBTF9VTkxPQ0soaHNyYW0pOworICB9CisgIGVsc2UKKyAgeworICAgIHJldHVybiBIQUxfRVJST1I7CisgIH0KKworICByZXR1cm4gSEFMX09LOwogfQogCiAvKioKLSAgKiBAYnJpZWYgIFdyaXRlcyAxNi1iaXQgYnVmZmVyIHRvIFNSQU0gbWVtb3J5LiAKKyAgKiBAYnJpZWYgIFdyaXRlcyAxNi1iaXQgYnVmZmVyIHRvIFNSQU0gbWVtb3J5LgogICAqIEBwYXJhbSAgaHNyYW0gcG9pbnRlciB0byBhIFNSQU1fSGFuZGxlVHlwZURlZiBzdHJ1Y3R1cmUgdGhhdCBjb250YWlucwogICAqICAgICAgICAgICAgICAgIHRoZSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIGZvciBTUkFNIG1vZHVsZS4KICAgKiBAcGFyYW0gIHBBZGRyZXNzIFBvaW50ZXIgdG8gd3JpdGUgc3RhcnQgYWRkcmVzcwotICAqIEBwYXJhbSAgcFNyY0J1ZmZlciBQb2ludGVyIHRvIHNvdXJjZSBidWZmZXIgdG8gd3JpdGUgIAorICAqIEBwYXJhbSAgcFNyY0J1ZmZlciBQb2ludGVyIHRvIHNvdXJjZSBidWZmZXIgdG8gd3JpdGUKICAgKiBAcGFyYW0gIEJ1ZmZlclNpemUgU2l6ZSBvZiB0aGUgYnVmZmVyIHRvIHdyaXRlIHRvIG1lbW9yeQogICAqIEByZXR2YWwgSEFMIHN0YXR1cwogICAqLwotSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1NSQU1fV3JpdGVfMTZiKFNSQU1fSGFuZGxlVHlwZURlZiAqaHNyYW0sIHVpbnQzMl90ICpwQWRkcmVzcywgdWludDE2X3QgKnBTcmNCdWZmZXIsIHVpbnQzMl90IEJ1ZmZlclNpemUpCitIQUxfU3RhdHVzVHlwZURlZiBIQUxfU1JBTV9Xcml0ZV8xNmIoU1JBTV9IYW5kbGVUeXBlRGVmICpoc3JhbSwgdWludDMyX3QgKnBBZGRyZXNzLCB1aW50MTZfdCAqcFNyY0J1ZmZlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBCdWZmZXJTaXplKQogewotICBfX0lPIHVpbnQxNl90ICogcFNyYW1BZGRyZXNzID0gKHVpbnQxNl90ICopcEFkZHJlc3M7IAotICAKKyAgdWludDMyX3Qgc2l6ZTsKKyAgX19JTyB1aW50MzJfdCAqcHNyYW1hZGRyZXNzID0gcEFkZHJlc3M7CisgIHVpbnQxNl90ICpwc3JjYnVmZiA9IHBTcmNCdWZmZXI7CisgIHVpbnQ4X3QgbGltaXQ7CisKICAgLyogQ2hlY2sgdGhlIFNSQU0gY29udHJvbGxlciBzdGF0ZSAqLwotICBpZihoc3JhbS0+U3RhdGUgPT0gSEFMX1NSQU1fU1RBVEVfUFJPVEVDVEVEKQorICBpZiAoaHNyYW0tPlN0YXRlID09IEhBTF9TUkFNX1NUQVRFX1JFQURZKQogICB7Ci0gICAgcmV0dXJuICBIQUxfRVJST1I7IAorICAgIC8qIFByb2Nlc3MgTG9ja2VkICovCisgICAgX19IQUxfTE9DSyhoc3JhbSk7CisKKyAgICAvKiBVcGRhdGUgdGhlIFNSQU0gY29udHJvbGxlciBzdGF0ZSAqLworICAgIGhzcmFtLT5TdGF0ZSA9IEhBTF9TUkFNX1NUQVRFX0JVU1k7CisKKyAgICAvKiBDaGVjayBpZiB0aGUgc2l6ZSBpcyBhIDMyLWJpdHMgbXVsdGlwbGUgKi8KKyAgICBsaW1pdCA9ICgoKEJ1ZmZlclNpemUgJSAyVSkgIT0gMFUpID8gMVUgOiAwVSk7CisKKyAgICAvKiBXcml0ZSBkYXRhIHRvIG1lbW9yeSAqLworICAgIGZvciAoc2l6ZSA9IEJ1ZmZlclNpemU7IHNpemUgIT0gbGltaXQ7IHNpemUgLT0gMlUpCisgICAgeworICAgICAgKnBzcmFtYWRkcmVzcyA9ICh1aW50MzJfdCkoKnBzcmNidWZmKTsKKyAgICAgIHBzcmNidWZmKys7CisgICAgICAqcHNyYW1hZGRyZXNzIHw9ICgodWludDMyX3QpKCpwc3JjYnVmZikgPDwgMTZVKTsKKyAgICAgIHBzcmNidWZmKys7CisgICAgICBwc3JhbWFkZHJlc3MrKzsKKyAgICB9CisKKyAgICAvKiBXcml0ZSBsYXN0IDE2LWJpdHMgaWYgc2l6ZSBpcyBub3QgMzItYml0cyBtdWx0aXBsZSAqLworICAgIGlmIChsaW1pdCAhPSAwVSkKKyAgICB7CisgICAgICAqcHNyYW1hZGRyZXNzID0gKCh1aW50MzJfdCkoKnBzcmNidWZmKSAmIDB4MDAwMEZGRkZVKSB8ICgoKnBzcmFtYWRkcmVzcykgJiAweEZGRkYwMDAwVSk7CisgICAgfQorCisgICAgLyogVXBkYXRlIHRoZSBTUkFNIGNvbnRyb2xsZXIgc3RhdGUgKi8KKyAgICBoc3JhbS0+U3RhdGUgPSBIQUxfU1JBTV9TVEFURV9SRUFEWTsKKworICAgIC8qIFByb2Nlc3MgdW5sb2NrZWQgKi8KKyAgICBfX0hBTF9VTkxPQ0soaHNyYW0pOwogICB9Ci0gIAotICAvKiBQcm9jZXNzIExvY2tlZCAqLwotICBfX0hBTF9MT0NLKGhzcmFtKTsKLSAgCi0gIC8qIFVwZGF0ZSB0aGUgU1JBTSBjb250cm9sbGVyIHN0YXRlICovCi0gIGhzcmFtLT5TdGF0ZSA9IEhBTF9TUkFNX1NUQVRFX0JVU1k7IAotCi0gIC8qIFdyaXRlIGRhdGEgdG8gbWVtb3J5ICovCi0gIGZvcig7IEJ1ZmZlclNpemUgIT0gMFU7IEJ1ZmZlclNpemUtLSkKKyAgZWxzZQogICB7Ci0gICAgKihfX0lPIHVpbnQxNl90ICopcFNyYW1BZGRyZXNzID0gKnBTcmNCdWZmZXI7IAotICAgIHBTcmNCdWZmZXIrKzsKLSAgICBwU3JhbUFkZHJlc3MrKzsgICAgCi0gIH0gICAgCisgICAgcmV0dXJuIEhBTF9FUlJPUjsKKyAgfQogCi0gIC8qIFVwZGF0ZSB0aGUgU1JBTSBjb250cm9sbGVyIHN0YXRlICovCi0gIGhzcmFtLT5TdGF0ZSA9IEhBTF9TUkFNX1NUQVRFX1JFQURZOyAKLSAgCi0gIC8qIFByb2Nlc3MgdW5sb2NrZWQgKi8KLSAgX19IQUxfVU5MT0NLKGhzcmFtKTsKLSAgICAKLSAgcmV0dXJuIEhBTF9PSzsgIAorICByZXR1cm4gSEFMX09LOwogfQogCiAvKioKLSAgKiBAYnJpZWYgIFJlYWRzIDMyLWJpdCBidWZmZXIgZnJvbSBTUkFNIG1lbW9yeS4gCisgICogQGJyaWVmICBSZWFkcyAzMi1iaXQgYnVmZmVyIGZyb20gU1JBTSBtZW1vcnkuCiAgICogQHBhcmFtICBoc3JhbSBwb2ludGVyIHRvIGEgU1JBTV9IYW5kbGVUeXBlRGVmIHN0cnVjdHVyZSB0aGF0IGNvbnRhaW5zCiAgICogICAgICAgICAgICAgICAgdGhlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gZm9yIFNSQU0gbW9kdWxlLgogICAqIEBwYXJhbSAgcEFkZHJlc3MgUG9pbnRlciB0byByZWFkIHN0YXJ0IGFkZHJlc3MKLSAgKiBAcGFyYW0gIHBEc3RCdWZmZXIgUG9pbnRlciB0byBkZXN0aW5hdGlvbiBidWZmZXIgIAorICAqIEBwYXJhbSAgcERzdEJ1ZmZlciBQb2ludGVyIHRvIGRlc3RpbmF0aW9uIGJ1ZmZlcgogICAqIEBwYXJhbSAgQnVmZmVyU2l6ZSBTaXplIG9mIHRoZSBidWZmZXIgdG8gcmVhZCBmcm9tIG1lbW9yeQogICAqIEByZXR2YWwgSEFMIHN0YXR1cwogICAqLwotSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1NSQU1fUmVhZF8zMmIoU1JBTV9IYW5kbGVUeXBlRGVmICpoc3JhbSwgdWludDMyX3QgKnBBZGRyZXNzLCB1aW50MzJfdCAqcERzdEJ1ZmZlciwgdWludDMyX3QgQnVmZmVyU2l6ZSkKK0hBTF9TdGF0dXNUeXBlRGVmIEhBTF9TUkFNX1JlYWRfMzJiKFNSQU1fSGFuZGxlVHlwZURlZiAqaHNyYW0sIHVpbnQzMl90ICpwQWRkcmVzcywgdWludDMyX3QgKnBEc3RCdWZmZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBCdWZmZXJTaXplKQogewotICAvKiBQcm9jZXNzIExvY2tlZCAqLwotICBfX0hBTF9MT0NLKGhzcmFtKTsKLSAgCi0gIC8qIFVwZGF0ZSB0aGUgU1JBTSBjb250cm9sbGVyIHN0YXRlICovCi0gIGhzcmFtLT5TdGF0ZSA9IEhBTF9TUkFNX1NUQVRFX0JVU1k7ICAKLSAgCi0gIC8qIFJlYWQgZGF0YSBmcm9tIG1lbW9yeSAqLwotICBmb3IoOyBCdWZmZXJTaXplICE9IDBVOyBCdWZmZXJTaXplLS0pCi0gIHsKLSAgICAqcERzdEJ1ZmZlciA9ICooX19JTyB1aW50MzJfdCAqKXBBZGRyZXNzOwotICAgIHBEc3RCdWZmZXIrKzsKLSAgICBwQWRkcmVzcysrOwotICB9Ci0gIAotICAvKiBVcGRhdGUgdGhlIFNSQU0gY29udHJvbGxlciBzdGF0ZSAqLwotICBoc3JhbS0+U3RhdGUgPSBIQUxfU1JBTV9TVEFURV9SRUFEWTsgICAgCisgIHVpbnQzMl90IHNpemU7CisgIF9fSU8gdWludDMyX3QgKnBzcmFtYWRkcmVzcyA9IHBBZGRyZXNzOworICB1aW50MzJfdCAqcGRlc3RidWZmID0gcERzdEJ1ZmZlcjsKKyAgSEFMX1NSQU1fU3RhdGVUeXBlRGVmIHN0YXRlID0gaHNyYW0tPlN0YXRlOwogCi0gIC8qIFByb2Nlc3MgdW5sb2NrZWQgKi8KLSAgX19IQUxfVU5MT0NLKGhzcmFtKTsgCi0gICAgCi0gIHJldHVybiBIQUxfT0s7ICAKKyAgLyogQ2hlY2sgdGhlIFNSQU0gY29udHJvbGxlciBzdGF0ZSAqLworICBpZiAoKHN0YXRlID09IEhBTF9TUkFNX1NUQVRFX1JFQURZKSB8fCAoc3RhdGUgPT0gSEFMX1NSQU1fU1RBVEVfUFJPVEVDVEVEKSkKKyAgeworICAgIC8qIFByb2Nlc3MgTG9ja2VkICovCisgICAgX19IQUxfTE9DSyhoc3JhbSk7CisKKyAgICAvKiBVcGRhdGUgdGhlIFNSQU0gY29udHJvbGxlciBzdGF0ZSAqLworICAgIGhzcmFtLT5TdGF0ZSA9IEhBTF9TUkFNX1NUQVRFX0JVU1k7CisKKyAgICAvKiBSZWFkIGRhdGEgZnJvbSBtZW1vcnkgKi8KKyAgICBmb3IgKHNpemUgPSBCdWZmZXJTaXplOyBzaXplICE9IDBVOyBzaXplLS0pCisgICAgeworICAgICAgKnBkZXN0YnVmZiA9ICpwc3JhbWFkZHJlc3M7CisgICAgICBwZGVzdGJ1ZmYrKzsKKyAgICAgIHBzcmFtYWRkcmVzcysrOworICAgIH0KKworICAgIC8qIFVwZGF0ZSB0aGUgU1JBTSBjb250cm9sbGVyIHN0YXRlICovCisgICAgaHNyYW0tPlN0YXRlID0gc3RhdGU7CisKKyAgICAvKiBQcm9jZXNzIHVubG9ja2VkICovCisgICAgX19IQUxfVU5MT0NLKGhzcmFtKTsKKyAgfQorICBlbHNlCisgIHsKKyAgICByZXR1cm4gSEFMX0VSUk9SOworICB9CisKKyAgcmV0dXJuIEhBTF9PSzsKIH0KIAogLyoqCi0gICogQGJyaWVmICBXcml0ZXMgMzItYml0IGJ1ZmZlciB0byBTUkFNIG1lbW9yeS4gCisgICogQGJyaWVmICBXcml0ZXMgMzItYml0IGJ1ZmZlciB0byBTUkFNIG1lbW9yeS4KICAgKiBAcGFyYW0gIGhzcmFtIHBvaW50ZXIgdG8gYSBTUkFNX0hhbmRsZVR5cGVEZWYgc3RydWN0dXJlIHRoYXQgY29udGFpbnMKICAgKiAgICAgICAgICAgICAgICB0aGUgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbiBmb3IgU1JBTSBtb2R1bGUuCiAgICogQHBhcmFtICBwQWRkcmVzcyBQb2ludGVyIHRvIHdyaXRlIHN0YXJ0IGFkZHJlc3MKLSAgKiBAcGFyYW0gIHBTcmNCdWZmZXIgUG9pbnRlciB0byBzb3VyY2UgYnVmZmVyIHRvIHdyaXRlICAKKyAgKiBAcGFyYW0gIHBTcmNCdWZmZXIgUG9pbnRlciB0byBzb3VyY2UgYnVmZmVyIHRvIHdyaXRlCiAgICogQHBhcmFtICBCdWZmZXJTaXplIFNpemUgb2YgdGhlIGJ1ZmZlciB0byB3cml0ZSB0byBtZW1vcnkKICAgKiBAcmV0dmFsIEhBTCBzdGF0dXMKICAgKi8KLUhBTF9TdGF0dXNUeXBlRGVmIEhBTF9TUkFNX1dyaXRlXzMyYihTUkFNX0hhbmRsZVR5cGVEZWYgKmhzcmFtLCB1aW50MzJfdCAqcEFkZHJlc3MsIHVpbnQzMl90ICpwU3JjQnVmZmVyLCB1aW50MzJfdCBCdWZmZXJTaXplKQorSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1NSQU1fV3JpdGVfMzJiKFNSQU1fSGFuZGxlVHlwZURlZiAqaHNyYW0sIHVpbnQzMl90ICpwQWRkcmVzcywgdWludDMyX3QgKnBTcmNCdWZmZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgQnVmZmVyU2l6ZSkKIHsKKyAgdWludDMyX3Qgc2l6ZTsKKyAgX19JTyB1aW50MzJfdCAqcHNyYW1hZGRyZXNzID0gcEFkZHJlc3M7CisgIHVpbnQzMl90ICpwc3JjYnVmZiA9IHBTcmNCdWZmZXI7CisKICAgLyogQ2hlY2sgdGhlIFNSQU0gY29udHJvbGxlciBzdGF0ZSAqLwotICBpZihoc3JhbS0+U3RhdGUgPT0gSEFMX1NSQU1fU1RBVEVfUFJPVEVDVEVEKQorICBpZiAoaHNyYW0tPlN0YXRlID09IEhBTF9TUkFNX1NUQVRFX1JFQURZKQogICB7Ci0gICAgcmV0dXJuICBIQUxfRVJST1I7IAorICAgIC8qIFByb2Nlc3MgTG9ja2VkICovCisgICAgX19IQUxfTE9DSyhoc3JhbSk7CisKKyAgICAvKiBVcGRhdGUgdGhlIFNSQU0gY29udHJvbGxlciBzdGF0ZSAqLworICAgIGhzcmFtLT5TdGF0ZSA9IEhBTF9TUkFNX1NUQVRFX0JVU1k7CisKKyAgICAvKiBXcml0ZSBkYXRhIHRvIG1lbW9yeSAqLworICAgIGZvciAoc2l6ZSA9IEJ1ZmZlclNpemU7IHNpemUgIT0gMFU7IHNpemUtLSkKKyAgICB7CisgICAgICAqcHNyYW1hZGRyZXNzID0gKnBzcmNidWZmOworICAgICAgcHNyY2J1ZmYrKzsKKyAgICAgIHBzcmFtYWRkcmVzcysrOworICAgIH0KKworICAgIC8qIFVwZGF0ZSB0aGUgU1JBTSBjb250cm9sbGVyIHN0YXRlICovCisgICAgaHNyYW0tPlN0YXRlID0gSEFMX1NSQU1fU1RBVEVfUkVBRFk7CisKKyAgICAvKiBQcm9jZXNzIHVubG9ja2VkICovCisgICAgX19IQUxfVU5MT0NLKGhzcmFtKTsKICAgfQotICAKLSAgLyogUHJvY2VzcyBMb2NrZWQgKi8KLSAgX19IQUxfTE9DSyhoc3JhbSk7Ci0gIAotICAvKiBVcGRhdGUgdGhlIFNSQU0gY29udHJvbGxlciBzdGF0ZSAqLwotICBoc3JhbS0+U3RhdGUgPSBIQUxfU1JBTV9TVEFURV9CVVNZOyAKLQotICAvKiBXcml0ZSBkYXRhIHRvIG1lbW9yeSAqLwotICBmb3IoOyBCdWZmZXJTaXplICE9IDBVOyBCdWZmZXJTaXplLS0pCisgIGVsc2UKICAgewotICAgICooX19JTyB1aW50MzJfdCAqKXBBZGRyZXNzID0gKnBTcmNCdWZmZXI7IAotICAgIHBTcmNCdWZmZXIrKzsKLSAgICBwQWRkcmVzcysrOyAgICAKLSAgfSAgICAKKyAgICByZXR1cm4gSEFMX0VSUk9SOworICB9CiAKLSAgLyogVXBkYXRlIHRoZSBTUkFNIGNvbnRyb2xsZXIgc3RhdGUgKi8KLSAgaHNyYW0tPlN0YXRlID0gSEFMX1NSQU1fU1RBVEVfUkVBRFk7IAotICAKLSAgLyogUHJvY2VzcyB1bmxvY2tlZCAqLwotICBfX0hBTF9VTkxPQ0soaHNyYW0pOwotICAgIAotICByZXR1cm4gSEFMX09LOyAgIAorICByZXR1cm4gSEFMX09LOwogfQogCiAvKioKQEAgLTU1MSwzMiArNjQzLDQ4IEBACiAgICogQHBhcmFtICBoc3JhbSBwb2ludGVyIHRvIGEgU1JBTV9IYW5kbGVUeXBlRGVmIHN0cnVjdHVyZSB0aGF0IGNvbnRhaW5zCiAgICogICAgICAgICAgICAgICAgdGhlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gZm9yIFNSQU0gbW9kdWxlLgogICAqIEBwYXJhbSAgcEFkZHJlc3MgUG9pbnRlciB0byByZWFkIHN0YXJ0IGFkZHJlc3MKLSAgKiBAcGFyYW0gIHBEc3RCdWZmZXIgUG9pbnRlciB0byBkZXN0aW5hdGlvbiBidWZmZXIgIAorICAqIEBwYXJhbSAgcERzdEJ1ZmZlciBQb2ludGVyIHRvIGRlc3RpbmF0aW9uIGJ1ZmZlcgogICAqIEBwYXJhbSAgQnVmZmVyU2l6ZSBTaXplIG9mIHRoZSBidWZmZXIgdG8gcmVhZCBmcm9tIG1lbW9yeQogICAqIEByZXR2YWwgSEFMIHN0YXR1cwogICAqLwotSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1NSQU1fUmVhZF9ETUEoU1JBTV9IYW5kbGVUeXBlRGVmICpoc3JhbSwgdWludDMyX3QgKnBBZGRyZXNzLCB1aW50MzJfdCAqcERzdEJ1ZmZlciwgdWludDMyX3QgQnVmZmVyU2l6ZSkKK0hBTF9TdGF0dXNUeXBlRGVmIEhBTF9TUkFNX1JlYWRfRE1BKFNSQU1fSGFuZGxlVHlwZURlZiAqaHNyYW0sIHVpbnQzMl90ICpwQWRkcmVzcywgdWludDMyX3QgKnBEc3RCdWZmZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBCdWZmZXJTaXplKQogewotICAvKiBQcm9jZXNzIExvY2tlZCAqLwotICBfX0hBTF9MT0NLKGhzcmFtKTsgIAotICAKLSAgLyogVXBkYXRlIHRoZSBTUkFNIGNvbnRyb2xsZXIgc3RhdGUgKi8KLSAgaHNyYW0tPlN0YXRlID0gSEFMX1NSQU1fU1RBVEVfQlVTWTsgICAKLSAgCi0gIC8qIENvbmZpZ3VyZSBETUEgdXNlciBjYWxsYmFja3MgKi8KLSAgaHNyYW0tPmhkbWEtPlhmZXJDcGx0Q2FsbGJhY2sgID0gSEFMX1NSQU1fRE1BX1hmZXJDcGx0Q2FsbGJhY2s7Ci0gIGhzcmFtLT5oZG1hLT5YZmVyRXJyb3JDYWxsYmFjayA9IEhBTF9TUkFNX0RNQV9YZmVyRXJyb3JDYWxsYmFjazsKKyAgSEFMX1N0YXR1c1R5cGVEZWYgc3RhdHVzOworICBIQUxfU1JBTV9TdGF0ZVR5cGVEZWYgc3RhdGUgPSBoc3JhbS0+U3RhdGU7CiAKLSAgLyogRW5hYmxlIHRoZSBETUEgU3RyZWFtICovCi0gIEhBTF9ETUFfU3RhcnRfSVQoaHNyYW0tPmhkbWEsICh1aW50MzJfdClwQWRkcmVzcywgKHVpbnQzMl90KXBEc3RCdWZmZXIsICh1aW50MzJfdClCdWZmZXJTaXplKTsKLSAgCi0gIC8qIFVwZGF0ZSB0aGUgU1JBTSBjb250cm9sbGVyIHN0YXRlICovCi0gIGhzcmFtLT5TdGF0ZSA9IEhBTF9TUkFNX1NUQVRFX1JFQURZOyAKLSAgCi0gIC8qIFByb2Nlc3MgdW5sb2NrZWQgKi8KLSAgX19IQUxfVU5MT0NLKGhzcmFtKTsgIAotICAKLSAgcmV0dXJuIEhBTF9PSzsgCisgIC8qIENoZWNrIHRoZSBTUkFNIGNvbnRyb2xsZXIgc3RhdGUgKi8KKyAgaWYgKChzdGF0ZSA9PSBIQUxfU1JBTV9TVEFURV9SRUFEWSkgfHwgKHN0YXRlID09IEhBTF9TUkFNX1NUQVRFX1BST1RFQ1RFRCkpCisgIHsKKyAgICAvKiBQcm9jZXNzIExvY2tlZCAqLworICAgIF9fSEFMX0xPQ0soaHNyYW0pOworCisgICAgLyogVXBkYXRlIHRoZSBTUkFNIGNvbnRyb2xsZXIgc3RhdGUgKi8KKyAgICBoc3JhbS0+U3RhdGUgPSBIQUxfU1JBTV9TVEFURV9CVVNZOworCisgICAgLyogQ29uZmlndXJlIERNQSB1c2VyIGNhbGxiYWNrcyAqLworICAgIGlmIChzdGF0ZSA9PSBIQUxfU1JBTV9TVEFURV9SRUFEWSkKKyAgICB7CisgICAgICBoc3JhbS0+aGRtYS0+WGZlckNwbHRDYWxsYmFjayA9IFNSQU1fRE1BQ3BsdDsKKyAgICB9CisgICAgZWxzZQorICAgIHsKKyAgICAgIGhzcmFtLT5oZG1hLT5YZmVyQ3BsdENhbGxiYWNrID0gU1JBTV9ETUFDcGx0UHJvdDsKKyAgICB9CisgICAgaHNyYW0tPmhkbWEtPlhmZXJFcnJvckNhbGxiYWNrID0gU1JBTV9ETUFFcnJvcjsKKworICAgIC8qIEVuYWJsZSB0aGUgRE1BIFN0cmVhbSAqLworICAgIHN0YXR1cyA9IEhBTF9ETUFfU3RhcnRfSVQoaHNyYW0tPmhkbWEsICh1aW50MzJfdClwQWRkcmVzcywgKHVpbnQzMl90KXBEc3RCdWZmZXIsICh1aW50MzJfdClCdWZmZXJTaXplKTsKKworICAgIC8qIFByb2Nlc3MgdW5sb2NrZWQgKi8KKyAgICBfX0hBTF9VTkxPQ0soaHNyYW0pOworICB9CisgIGVsc2UKKyAgeworICAgIHN0YXR1cyA9IEhBTF9FUlJPUjsKKyAgfQorCisgIHJldHVybiBzdGF0dXM7CiB9CiAKIC8qKgpAQCAtNTg0LDM4ICs2OTIsNDAgQEAKICAgKiBAcGFyYW0gIGhzcmFtIHBvaW50ZXIgdG8gYSBTUkFNX0hhbmRsZVR5cGVEZWYgc3RydWN0dXJlIHRoYXQgY29udGFpbnMKICAgKiAgICAgICAgICAgICAgICB0aGUgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbiBmb3IgU1JBTSBtb2R1bGUuCiAgICogQHBhcmFtICBwQWRkcmVzcyBQb2ludGVyIHRvIHdyaXRlIHN0YXJ0IGFkZHJlc3MKLSAgKiBAcGFyYW0gIHBTcmNCdWZmZXIgUG9pbnRlciB0byBzb3VyY2UgYnVmZmVyIHRvIHdyaXRlICAKKyAgKiBAcGFyYW0gIHBTcmNCdWZmZXIgUG9pbnRlciB0byBzb3VyY2UgYnVmZmVyIHRvIHdyaXRlCiAgICogQHBhcmFtICBCdWZmZXJTaXplIFNpemUgb2YgdGhlIGJ1ZmZlciB0byB3cml0ZSB0byBtZW1vcnkKICAgKiBAcmV0dmFsIEhBTCBzdGF0dXMKICAgKi8KLUhBTF9TdGF0dXNUeXBlRGVmIEhBTF9TUkFNX1dyaXRlX0RNQShTUkFNX0hhbmRsZVR5cGVEZWYgKmhzcmFtLCB1aW50MzJfdCAqcEFkZHJlc3MsIHVpbnQzMl90ICpwU3JjQnVmZmVyLCB1aW50MzJfdCBCdWZmZXJTaXplKQorSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1NSQU1fV3JpdGVfRE1BKFNSQU1fSGFuZGxlVHlwZURlZiAqaHNyYW0sIHVpbnQzMl90ICpwQWRkcmVzcywgdWludDMyX3QgKnBTcmNCdWZmZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgQnVmZmVyU2l6ZSkKIHsKLSAgLyogQ2hlY2sgdGhlIFNSQU0gY29udHJvbGxlciBzdGF0ZSAqLwotICBpZihoc3JhbS0+U3RhdGUgPT0gSEFMX1NSQU1fU1RBVEVfUFJPVEVDVEVEKQotICB7Ci0gICAgcmV0dXJuICBIQUxfRVJST1I7IAotICB9Ci0gIAotICAvKiBQcm9jZXNzIExvY2tlZCAqLwotICBfX0hBTF9MT0NLKGhzcmFtKTsKLSAgCi0gIC8qIFVwZGF0ZSB0aGUgU1JBTSBjb250cm9sbGVyIHN0YXRlICovCi0gIGhzcmFtLT5TdGF0ZSA9IEhBTF9TUkFNX1NUQVRFX0JVU1k7IAotICAKLSAgLyogQ29uZmlndXJlIERNQSB1c2VyIGNhbGxiYWNrcyAqLwotICBoc3JhbS0+aGRtYS0+WGZlckNwbHRDYWxsYmFjayAgPSBIQUxfU1JBTV9ETUFfWGZlckNwbHRDYWxsYmFjazsKLSAgaHNyYW0tPmhkbWEtPlhmZXJFcnJvckNhbGxiYWNrID0gSEFMX1NSQU1fRE1BX1hmZXJFcnJvckNhbGxiYWNrOworICBIQUxfU3RhdHVzVHlwZURlZiBzdGF0dXM7CiAKLSAgLyogRW5hYmxlIHRoZSBETUEgU3RyZWFtICovCi0gIEhBTF9ETUFfU3RhcnRfSVQoaHNyYW0tPmhkbWEsICh1aW50MzJfdClwU3JjQnVmZmVyLCAodWludDMyX3QpcEFkZHJlc3MsICh1aW50MzJfdClCdWZmZXJTaXplKTsKLSAgCi0gIC8qIFVwZGF0ZSB0aGUgU1JBTSBjb250cm9sbGVyIHN0YXRlICovCi0gIGhzcmFtLT5TdGF0ZSA9IEhBTF9TUkFNX1NUQVRFX1JFQURZOyAgCi0gIAotICAvKiBQcm9jZXNzIHVubG9ja2VkICovCi0gIF9fSEFMX1VOTE9DSyhoc3JhbSk7ICAKLSAgCi0gIHJldHVybiBIQUxfT0s7CisgIC8qIENoZWNrIHRoZSBTUkFNIGNvbnRyb2xsZXIgc3RhdGUgKi8KKyAgaWYgKGhzcmFtLT5TdGF0ZSA9PSBIQUxfU1JBTV9TVEFURV9SRUFEWSkKKyAgeworICAgIC8qIFByb2Nlc3MgTG9ja2VkICovCisgICAgX19IQUxfTE9DSyhoc3JhbSk7CisKKyAgICAvKiBVcGRhdGUgdGhlIFNSQU0gY29udHJvbGxlciBzdGF0ZSAqLworICAgIGhzcmFtLT5TdGF0ZSA9IEhBTF9TUkFNX1NUQVRFX0JVU1k7CisKKyAgICAvKiBDb25maWd1cmUgRE1BIHVzZXIgY2FsbGJhY2tzICovCisgICAgaHNyYW0tPmhkbWEtPlhmZXJDcGx0Q2FsbGJhY2sgPSBTUkFNX0RNQUNwbHQ7CisgICAgaHNyYW0tPmhkbWEtPlhmZXJFcnJvckNhbGxiYWNrID0gU1JBTV9ETUFFcnJvcjsKKworICAgIC8qIEVuYWJsZSB0aGUgRE1BIFN0cmVhbSAqLworICAgIHN0YXR1cyA9IEhBTF9ETUFfU3RhcnRfSVQoaHNyYW0tPmhkbWEsICh1aW50MzJfdClwU3JjQnVmZmVyLCAodWludDMyX3QpcEFkZHJlc3MsICh1aW50MzJfdClCdWZmZXJTaXplKTsKKworICAgIC8qIFByb2Nlc3MgdW5sb2NrZWQgKi8KKyAgICBfX0hBTF9VTkxPQ0soaHNyYW0pOworICB9CisgIGVsc2UKKyAgeworICAgIHN0YXR1cyA9IEhBTF9FUlJPUjsKKyAgfQorCisgIHJldHVybiBzdGF0dXM7CiB9CiAKICNpZiAoVVNFX0hBTF9TUkFNX1JFR0lTVEVSX0NBTExCQUNLUyA9PSAxKQpAQCAtNjMwLDEyICs3NDAsMTMgQEAKICAgKiBAcGFyYW0gcENhbGxiYWNrIDogcG9pbnRlciB0byB0aGUgQ2FsbGJhY2sgZnVuY3Rpb24KICAgKiBAcmV0dmFsIHN0YXR1cwogICAqLwotSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1NSQU1fUmVnaXN0ZXJDYWxsYmFjayAoU1JBTV9IYW5kbGVUeXBlRGVmICpoc3JhbSwgSEFMX1NSQU1fQ2FsbGJhY2tJRFR5cGVEZWYgQ2FsbGJhY2tJZCwgcFNSQU1fQ2FsbGJhY2tUeXBlRGVmIHBDYWxsYmFjaykKK0hBTF9TdGF0dXNUeXBlRGVmIEhBTF9TUkFNX1JlZ2lzdGVyQ2FsbGJhY2soU1JBTV9IYW5kbGVUeXBlRGVmICpoc3JhbSwgSEFMX1NSQU1fQ2FsbGJhY2tJRFR5cGVEZWYgQ2FsbGJhY2tJZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcFNSQU1fQ2FsbGJhY2tUeXBlRGVmIHBDYWxsYmFjaykKIHsKICAgSEFMX1N0YXR1c1R5cGVEZWYgc3RhdHVzID0gSEFMX09LOwogICBIQUxfU1JBTV9TdGF0ZVR5cGVEZWYgc3RhdGU7CiAKLSAgaWYocENhbGxiYWNrID09IE5VTEwpCisgIGlmIChwQ2FsbGJhY2sgPT0gTlVMTCkKICAgewogICAgIHJldHVybiBIQUxfRVJST1I7CiAgIH0KQEAgLTY0NCwyMCArNzU1LDIwIEBACiAgIF9fSEFMX0xPQ0soaHNyYW0pOwogCiAgIHN0YXRlID0gaHNyYW0tPlN0YXRlOwotICBpZigoc3RhdGUgPT0gSEFMX1NSQU1fU1RBVEVfUkVBRFkpIHx8IChzdGF0ZSA9PSBIQUxfU1JBTV9TVEFURV9SRVNFVCkgfHwgKHN0YXRlID09IEhBTF9TUkFNX1NUQVRFX1BST1RFQ1RFRCkpCisgIGlmICgoc3RhdGUgPT0gSEFMX1NSQU1fU1RBVEVfUkVBRFkpIHx8IChzdGF0ZSA9PSBIQUxfU1JBTV9TVEFURV9SRVNFVCkgfHwgKHN0YXRlID09IEhBTF9TUkFNX1NUQVRFX1BST1RFQ1RFRCkpCiAgIHsKICAgICBzd2l0Y2ggKENhbGxiYWNrSWQpCiAgICAgewotICAgIGNhc2UgSEFMX1NSQU1fTVNQX0lOSVRfQ0JfSUQgOgotICAgICAgaHNyYW0tPk1zcEluaXRDYWxsYmFjayA9IHBDYWxsYmFjazsKLSAgICAgIGJyZWFrOwotICAgIGNhc2UgSEFMX1NSQU1fTVNQX0RFSU5JVF9DQl9JRCA6Ci0gICAgICBoc3JhbS0+TXNwRGVJbml0Q2FsbGJhY2sgPSBwQ2FsbGJhY2s7Ci0gICAgICBicmVhazsKLSAgICBkZWZhdWx0IDoKLSAgICAgIC8qIHVwZGF0ZSByZXR1cm4gc3RhdHVzICovCi0gICAgICBzdGF0dXMgPSAgSEFMX0VSUk9SOwotICAgICAgYnJlYWs7CisgICAgICBjYXNlIEhBTF9TUkFNX01TUF9JTklUX0NCX0lEIDoKKyAgICAgICAgaHNyYW0tPk1zcEluaXRDYWxsYmFjayA9IHBDYWxsYmFjazsKKyAgICAgICAgYnJlYWs7CisgICAgICBjYXNlIEhBTF9TUkFNX01TUF9ERUlOSVRfQ0JfSUQgOgorICAgICAgICBoc3JhbS0+TXNwRGVJbml0Q2FsbGJhY2sgPSBwQ2FsbGJhY2s7CisgICAgICAgIGJyZWFrOworICAgICAgZGVmYXVsdCA6CisgICAgICAgIC8qIHVwZGF0ZSByZXR1cm4gc3RhdHVzICovCisgICAgICAgIHN0YXR1cyA9ICBIQUxfRVJST1I7CisgICAgICAgIGJyZWFrOwogICAgIH0KICAgfQogICBlbHNlCkBAIC02ODMsNyArNzk0LDcgQEAKICAgKiAgICAgICAgICBAYXJnIEByZWYgSEFMX1NSQU1fRE1BX1hGRVJfRVJSX0NCX0lEICAgU1JBTSBETUEgWGZlciBFcnJvciBjYWxsYmFjayBJRAogICAqIEByZXR2YWwgc3RhdHVzCiAgICovCi1IQUxfU3RhdHVzVHlwZURlZiBIQUxfU1JBTV9VblJlZ2lzdGVyQ2FsbGJhY2sgKFNSQU1fSGFuZGxlVHlwZURlZiAqaHNyYW0sIEhBTF9TUkFNX0NhbGxiYWNrSURUeXBlRGVmIENhbGxiYWNrSWQpCitIQUxfU3RhdHVzVHlwZURlZiBIQUxfU1JBTV9VblJlZ2lzdGVyQ2FsbGJhY2soU1JBTV9IYW5kbGVUeXBlRGVmICpoc3JhbSwgSEFMX1NSQU1fQ2FsbGJhY2tJRFR5cGVEZWYgQ2FsbGJhY2tJZCkKIHsKICAgSEFMX1N0YXR1c1R5cGVEZWYgc3RhdHVzID0gSEFMX09LOwogICBIQUxfU1JBTV9TdGF0ZVR5cGVEZWYgc3RhdGU7CkBAIC02OTIsNDIgKzgwMyw0MiBAQAogICBfX0hBTF9MT0NLKGhzcmFtKTsKIAogICBzdGF0ZSA9IGhzcmFtLT5TdGF0ZTsKLSAgaWYoKHN0YXRlID09IEhBTF9TUkFNX1NUQVRFX1JFQURZKSB8fCAoc3RhdGUgPT0gSEFMX1NSQU1fU1RBVEVfUFJPVEVDVEVEKSkKKyAgaWYgKChzdGF0ZSA9PSBIQUxfU1JBTV9TVEFURV9SRUFEWSkgfHwgKHN0YXRlID09IEhBTF9TUkFNX1NUQVRFX1BST1RFQ1RFRCkpCiAgIHsKICAgICBzd2l0Y2ggKENhbGxiYWNrSWQpCiAgICAgewotICAgIGNhc2UgSEFMX1NSQU1fTVNQX0lOSVRfQ0JfSUQgOgotICAgICAgaHNyYW0tPk1zcEluaXRDYWxsYmFjayA9IEhBTF9TUkFNX01zcEluaXQ7Ci0gICAgICBicmVhazsKLSAgICBjYXNlIEhBTF9TUkFNX01TUF9ERUlOSVRfQ0JfSUQgOgotICAgICAgaHNyYW0tPk1zcERlSW5pdENhbGxiYWNrID0gSEFMX1NSQU1fTXNwRGVJbml0OwotICAgICAgYnJlYWs7Ci0gICAgY2FzZSBIQUxfU1JBTV9ETUFfWEZFUl9DUExUX0NCX0lEIDoKLSAgICAgIGhzcmFtLT5EbWFYZmVyQ3BsdENhbGxiYWNrID0gSEFMX1NSQU1fRE1BX1hmZXJDcGx0Q2FsbGJhY2s7Ci0gICAgICBicmVhazsKLSAgICBjYXNlIEhBTF9TUkFNX0RNQV9YRkVSX0VSUl9DQl9JRCA6Ci0gICAgICBoc3JhbS0+RG1hWGZlckVycm9yQ2FsbGJhY2sgPSBIQUxfU1JBTV9ETUFfWGZlckVycm9yQ2FsbGJhY2s7Ci0gICAgICBicmVhazsKLSAgICBkZWZhdWx0IDoKLSAgICAgIC8qIHVwZGF0ZSByZXR1cm4gc3RhdHVzICovCi0gICAgICBzdGF0dXMgPSAgSEFMX0VSUk9SOwotICAgICAgYnJlYWs7CisgICAgICBjYXNlIEhBTF9TUkFNX01TUF9JTklUX0NCX0lEIDoKKyAgICAgICAgaHNyYW0tPk1zcEluaXRDYWxsYmFjayA9IEhBTF9TUkFNX01zcEluaXQ7CisgICAgICAgIGJyZWFrOworICAgICAgY2FzZSBIQUxfU1JBTV9NU1BfREVJTklUX0NCX0lEIDoKKyAgICAgICAgaHNyYW0tPk1zcERlSW5pdENhbGxiYWNrID0gSEFMX1NSQU1fTXNwRGVJbml0OworICAgICAgICBicmVhazsKKyAgICAgIGNhc2UgSEFMX1NSQU1fRE1BX1hGRVJfQ1BMVF9DQl9JRCA6CisgICAgICAgIGhzcmFtLT5EbWFYZmVyQ3BsdENhbGxiYWNrID0gSEFMX1NSQU1fRE1BX1hmZXJDcGx0Q2FsbGJhY2s7CisgICAgICAgIGJyZWFrOworICAgICAgY2FzZSBIQUxfU1JBTV9ETUFfWEZFUl9FUlJfQ0JfSUQgOgorICAgICAgICBoc3JhbS0+RG1hWGZlckVycm9yQ2FsbGJhY2sgPSBIQUxfU1JBTV9ETUFfWGZlckVycm9yQ2FsbGJhY2s7CisgICAgICAgIGJyZWFrOworICAgICAgZGVmYXVsdCA6CisgICAgICAgIC8qIHVwZGF0ZSByZXR1cm4gc3RhdHVzICovCisgICAgICAgIHN0YXR1cyA9ICBIQUxfRVJST1I7CisgICAgICAgIGJyZWFrOwogICAgIH0KICAgfQotICBlbHNlIGlmKHN0YXRlID09IEhBTF9TUkFNX1NUQVRFX1JFU0VUKQorICBlbHNlIGlmIChzdGF0ZSA9PSBIQUxfU1JBTV9TVEFURV9SRVNFVCkKICAgewogICAgIHN3aXRjaCAoQ2FsbGJhY2tJZCkKICAgICB7Ci0gICAgY2FzZSBIQUxfU1JBTV9NU1BfSU5JVF9DQl9JRCA6Ci0gICAgICBoc3JhbS0+TXNwSW5pdENhbGxiYWNrID0gSEFMX1NSQU1fTXNwSW5pdDsKLSAgICAgIGJyZWFrOwotICAgIGNhc2UgSEFMX1NSQU1fTVNQX0RFSU5JVF9DQl9JRCA6Ci0gICAgICBoc3JhbS0+TXNwRGVJbml0Q2FsbGJhY2sgPSBIQUxfU1JBTV9Nc3BEZUluaXQ7Ci0gICAgICBicmVhazsKLSAgICBkZWZhdWx0IDoKLSAgICAgIC8qIHVwZGF0ZSByZXR1cm4gc3RhdHVzICovCi0gICAgICBzdGF0dXMgPSAgSEFMX0VSUk9SOwotICAgICAgYnJlYWs7CisgICAgICBjYXNlIEhBTF9TUkFNX01TUF9JTklUX0NCX0lEIDoKKyAgICAgICAgaHNyYW0tPk1zcEluaXRDYWxsYmFjayA9IEhBTF9TUkFNX01zcEluaXQ7CisgICAgICAgIGJyZWFrOworICAgICAgY2FzZSBIQUxfU1JBTV9NU1BfREVJTklUX0NCX0lEIDoKKyAgICAgICAgaHNyYW0tPk1zcERlSW5pdENhbGxiYWNrID0gSEFMX1NSQU1fTXNwRGVJbml0OworICAgICAgICBicmVhazsKKyAgICAgIGRlZmF1bHQgOgorICAgICAgICAvKiB1cGRhdGUgcmV0dXJuIHN0YXR1cyAqLworICAgICAgICBzdGF0dXMgPSAgSEFMX0VSUk9SOworICAgICAgICBicmVhazsKICAgICB9CiAgIH0KICAgZWxzZQpAQCAtNzUyLDEyICs4NjMsMTMgQEAKICAgKiBAcGFyYW0gcENhbGxiYWNrIDogcG9pbnRlciB0byB0aGUgQ2FsbGJhY2sgZnVuY3Rpb24KICAgKiBAcmV0dmFsIHN0YXR1cwogICAqLwotSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1NSQU1fUmVnaXN0ZXJEbWFDYWxsYmFjayhTUkFNX0hhbmRsZVR5cGVEZWYgKmhzcmFtLCBIQUxfU1JBTV9DYWxsYmFja0lEVHlwZURlZiBDYWxsYmFja0lkLCBwU1JBTV9EbWFDYWxsYmFja1R5cGVEZWYgcENhbGxiYWNrKQorSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1NSQU1fUmVnaXN0ZXJEbWFDYWxsYmFjayhTUkFNX0hhbmRsZVR5cGVEZWYgKmhzcmFtLCBIQUxfU1JBTV9DYWxsYmFja0lEVHlwZURlZiBDYWxsYmFja0lkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwU1JBTV9EbWFDYWxsYmFja1R5cGVEZWYgcENhbGxiYWNrKQogewogICBIQUxfU3RhdHVzVHlwZURlZiBzdGF0dXMgPSBIQUxfT0s7CiAgIEhBTF9TUkFNX1N0YXRlVHlwZURlZiBzdGF0ZTsKIAotICBpZihwQ2FsbGJhY2sgPT0gTlVMTCkKKyAgaWYgKHBDYWxsYmFjayA9PSBOVUxMKQogICB7CiAgICAgcmV0dXJuIEhBTF9FUlJPUjsKICAgfQpAQCAtNzY2LDIwICs4NzgsMjAgQEAKICAgX19IQUxfTE9DSyhoc3JhbSk7CiAKICAgc3RhdGUgPSBoc3JhbS0+U3RhdGU7Ci0gIGlmKChzdGF0ZSA9PSBIQUxfU1JBTV9TVEFURV9SRUFEWSkgfHwgKHN0YXRlID09IEhBTF9TUkFNX1NUQVRFX1BST1RFQ1RFRCkpCisgIGlmICgoc3RhdGUgPT0gSEFMX1NSQU1fU1RBVEVfUkVBRFkpIHx8IChzdGF0ZSA9PSBIQUxfU1JBTV9TVEFURV9QUk9URUNURUQpKQogICB7CiAgICAgc3dpdGNoIChDYWxsYmFja0lkKQogICAgIHsKLSAgICBjYXNlIEhBTF9TUkFNX0RNQV9YRkVSX0NQTFRfQ0JfSUQgOgotICAgICAgaHNyYW0tPkRtYVhmZXJDcGx0Q2FsbGJhY2sgPSBwQ2FsbGJhY2s7Ci0gICAgICBicmVhazsKLSAgICBjYXNlIEhBTF9TUkFNX0RNQV9YRkVSX0VSUl9DQl9JRCA6Ci0gICAgICBoc3JhbS0+RG1hWGZlckVycm9yQ2FsbGJhY2sgPSBwQ2FsbGJhY2s7Ci0gICAgICBicmVhazsKLSAgICBkZWZhdWx0IDoKLSAgICAgIC8qIHVwZGF0ZSByZXR1cm4gc3RhdHVzICovCi0gICAgICBzdGF0dXMgPSAgSEFMX0VSUk9SOwotICAgICAgYnJlYWs7CisgICAgICBjYXNlIEhBTF9TUkFNX0RNQV9YRkVSX0NQTFRfQ0JfSUQgOgorICAgICAgICBoc3JhbS0+RG1hWGZlckNwbHRDYWxsYmFjayA9IHBDYWxsYmFjazsKKyAgICAgICAgYnJlYWs7CisgICAgICBjYXNlIEhBTF9TUkFNX0RNQV9YRkVSX0VSUl9DQl9JRCA6CisgICAgICAgIGhzcmFtLT5EbWFYZmVyRXJyb3JDYWxsYmFjayA9IHBDYWxsYmFjazsKKyAgICAgICAgYnJlYWs7CisgICAgICBkZWZhdWx0IDoKKyAgICAgICAgLyogdXBkYXRlIHJldHVybiBzdGF0dXMgKi8KKyAgICAgICAgc3RhdHVzID0gIEhBTF9FUlJPUjsKKyAgICAgICAgYnJlYWs7CiAgICAgfQogICB9CiAgIGVsc2UKQEAgLTc5MiwxOCArOTA0LDE5IEBACiAgIF9fSEFMX1VOTE9DSyhoc3JhbSk7CiAgIHJldHVybiBzdGF0dXM7CiB9Ci0jZW5kaWYKKyNlbmRpZiAvKiBVU0VfSEFMX1NSQU1fUkVHSVNURVJfQ0FMTEJBQ0tTICovCisKIC8qKgogICAqIEB9CiAgICovCi0gIAotLyoqIEBkZWZncm91cCBTUkFNX0V4cG9ydGVkX0Z1bmN0aW9uc19Hcm91cDMgQ29udHJvbCBmdW5jdGlvbnMgCi0gKiAgQGJyaWVmICAgbWFuYWdlbWVudCBmdW5jdGlvbnMgCi0gKgotQHZlcmJhdGltICAgCisKKy8qKiBAZGVmZ3JvdXAgU1JBTV9FeHBvcnRlZF9GdW5jdGlvbnNfR3JvdXAzIENvbnRyb2wgZnVuY3Rpb25zCisgICogIEBicmllZiAgIENvbnRyb2wgZnVuY3Rpb25zCisgICoKK0B2ZXJiYXRpbQogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgICAgICAgICAgICAgICAgICAgICAgICMjIyMjIFNSQU0gQ29udHJvbCBmdW5jdGlvbnMgIyMjIyMKLSAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICAKKyAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgIFsuLl0KICAgICBUaGlzIHN1YnNlY3Rpb24gcHJvdmlkZXMgYSBzZXQgb2YgZnVuY3Rpb25zIGFsbG93aW5nIHRvIGNvbnRyb2wgZHluYW1pY2FsbHkKICAgICB0aGUgU1JBTSBpbnRlcmZhY2UuCkBAIC04MTEsNyArOTI0LDcgQEAKIEBlbmR2ZXJiYXRpbQogICAqIEB7CiAgICovCi0gICAgCisKIC8qKgogICAqIEBicmllZiAgRW5hYmxlcyBkeW5hbWljYWxseSBTUkFNIHdyaXRlIG9wZXJhdGlvbi4KICAgKiBAcGFyYW0gIGhzcmFtIHBvaW50ZXIgdG8gYSBTUkFNX0hhbmRsZVR5cGVEZWYgc3RydWN0dXJlIHRoYXQgY29udGFpbnMKQEAgLTgyMCwxOSArOTMzLDMwIEBACiAgICovCiBIQUxfU3RhdHVzVHlwZURlZiBIQUxfU1JBTV9Xcml0ZU9wZXJhdGlvbl9FbmFibGUoU1JBTV9IYW5kbGVUeXBlRGVmICpoc3JhbSkKIHsKLSAgLyogUHJvY2VzcyBMb2NrZWQgKi8KLSAgX19IQUxfTE9DSyhoc3JhbSk7CisgIC8qIENoZWNrIHRoZSBTUkFNIGNvbnRyb2xsZXIgc3RhdGUgKi8KKyAgaWYgKGhzcmFtLT5TdGF0ZSA9PSBIQUxfU1JBTV9TVEFURV9QUk9URUNURUQpCisgIHsKKyAgICAvKiBQcm9jZXNzIExvY2tlZCAqLworICAgIF9fSEFMX0xPQ0soaHNyYW0pOwogCi0gIC8qIEVuYWJsZSB3cml0ZSBvcGVyYXRpb24gKi8KLSAgRk1DX05PUlNSQU1fV3JpdGVPcGVyYXRpb25fRW5hYmxlKGhzcmFtLT5JbnN0YW5jZSwgaHNyYW0tPkluaXQuTlNCYW5rKTsgCi0gIAotICAvKiBVcGRhdGUgdGhlIFNSQU0gY29udHJvbGxlciBzdGF0ZSAqLwotICBoc3JhbS0+U3RhdGUgPSBIQUxfU1JBTV9TVEFURV9SRUFEWTsKLSAgCi0gIC8qIFByb2Nlc3MgdW5sb2NrZWQgKi8KLSAgX19IQUxfVU5MT0NLKGhzcmFtKTsgCi0gIAotICByZXR1cm4gSEFMX09LOyAgCisgICAgLyogVXBkYXRlIHRoZSBTUkFNIGNvbnRyb2xsZXIgc3RhdGUgKi8KKyAgICBoc3JhbS0+U3RhdGUgPSBIQUxfU1JBTV9TVEFURV9CVVNZOworCisgICAgLyogRW5hYmxlIHdyaXRlIG9wZXJhdGlvbiAqLworICAgICh2b2lkKUZNQ19OT1JTUkFNX1dyaXRlT3BlcmF0aW9uX0VuYWJsZShoc3JhbS0+SW5zdGFuY2UsIGhzcmFtLT5Jbml0Lk5TQmFuayk7CisKKyAgICAvKiBVcGRhdGUgdGhlIFNSQU0gY29udHJvbGxlciBzdGF0ZSAqLworICAgIGhzcmFtLT5TdGF0ZSA9IEhBTF9TUkFNX1NUQVRFX1JFQURZOworCisgICAgLyogUHJvY2VzcyB1bmxvY2tlZCAqLworICAgIF9fSEFMX1VOTE9DSyhoc3JhbSk7CisgIH0KKyAgZWxzZQorICB7CisgICAgcmV0dXJuIEhBTF9FUlJPUjsKKyAgfQorCisgIHJldHVybiBIQUxfT0s7CiB9CiAKIC8qKgpAQCAtODQzLDQzICs5NjcsNTEgQEAKICAgKi8KIEhBTF9TdGF0dXNUeXBlRGVmIEhBTF9TUkFNX1dyaXRlT3BlcmF0aW9uX0Rpc2FibGUoU1JBTV9IYW5kbGVUeXBlRGVmICpoc3JhbSkKIHsKLSAgLyogUHJvY2VzcyBMb2NrZWQgKi8KLSAgX19IQUxfTE9DSyhoc3JhbSk7CisgIC8qIENoZWNrIHRoZSBTUkFNIGNvbnRyb2xsZXIgc3RhdGUgKi8KKyAgaWYgKGhzcmFtLT5TdGF0ZSA9PSBIQUxfU1JBTV9TVEFURV9SRUFEWSkKKyAgeworICAgIC8qIFByb2Nlc3MgTG9ja2VkICovCisgICAgX19IQUxfTE9DSyhoc3JhbSk7CiAKLSAgLyogVXBkYXRlIHRoZSBTUkFNIGNvbnRyb2xsZXIgc3RhdGUgKi8KLSAgaHNyYW0tPlN0YXRlID0gSEFMX1NSQU1fU1RBVEVfQlVTWTsKLSAgICAKLSAgLyogRGlzYWJsZSB3cml0ZSBvcGVyYXRpb24gKi8KLSAgRk1DX05PUlNSQU1fV3JpdGVPcGVyYXRpb25fRGlzYWJsZShoc3JhbS0+SW5zdGFuY2UsIGhzcmFtLT5Jbml0Lk5TQmFuayk7IAotICAKLSAgLyogVXBkYXRlIHRoZSBTUkFNIGNvbnRyb2xsZXIgc3RhdGUgKi8KLSAgaHNyYW0tPlN0YXRlID0gSEFMX1NSQU1fU1RBVEVfUFJPVEVDVEVEOwotICAKLSAgLyogUHJvY2VzcyB1bmxvY2tlZCAqLwotICBfX0hBTF9VTkxPQ0soaHNyYW0pOyAKLSAgCi0gIHJldHVybiBIQUxfT0s7ICAKKyAgICAvKiBVcGRhdGUgdGhlIFNSQU0gY29udHJvbGxlciBzdGF0ZSAqLworICAgIGhzcmFtLT5TdGF0ZSA9IEhBTF9TUkFNX1NUQVRFX0JVU1k7CisKKyAgICAvKiBEaXNhYmxlIHdyaXRlIG9wZXJhdGlvbiAqLworICAgICh2b2lkKUZNQ19OT1JTUkFNX1dyaXRlT3BlcmF0aW9uX0Rpc2FibGUoaHNyYW0tPkluc3RhbmNlLCBoc3JhbS0+SW5pdC5OU0JhbmspOworCisgICAgLyogVXBkYXRlIHRoZSBTUkFNIGNvbnRyb2xsZXIgc3RhdGUgKi8KKyAgICBoc3JhbS0+U3RhdGUgPSBIQUxfU1JBTV9TVEFURV9QUk9URUNURUQ7CisKKyAgICAvKiBQcm9jZXNzIHVubG9ja2VkICovCisgICAgX19IQUxfVU5MT0NLKGhzcmFtKTsKKyAgfQorICBlbHNlCisgIHsKKyAgICByZXR1cm4gSEFMX0VSUk9SOworICB9CisKKyAgcmV0dXJuIEhBTF9PSzsKIH0KIAogLyoqCiAgICogQH0KICAgKi8KIAotLyoqIEBkZWZncm91cCBTUkFNX0V4cG9ydGVkX0Z1bmN0aW9uc19Hcm91cDQgU3RhdGUgZnVuY3Rpb25zIAotICogIEBicmllZiAgIFBlcmlwaGVyYWwgU3RhdGUgZnVuY3Rpb25zIAotICoKLUB2ZXJiYXRpbSAgIAorLyoqIEBkZWZncm91cCBTUkFNX0V4cG9ydGVkX0Z1bmN0aW9uc19Hcm91cDQgUGVyaXBoZXJhbCBTdGF0ZSBmdW5jdGlvbnMKKyAgKiAgQGJyaWVmICAgUGVyaXBoZXJhbCBTdGF0ZSBmdW5jdGlvbnMKKyAgKgorQHZlcmJhdGltCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgICAgICAgICAgICAgICAgICAgICMjIyMjIFNSQU0gU3RhdGUgZnVuY3Rpb25zICMjIyMjCi0gID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAgCisgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICBbLi5dCi0gICAgVGhpcyBzdWJzZWN0aW9uIHBlcm1pdHMgdG8gZ2V0IGluIHJ1bi10aW1lIHRoZSBzdGF0dXMgb2YgdGhlIFNSQU0gY29udHJvbGxlciAKKyAgICBUaGlzIHN1YnNlY3Rpb24gcGVybWl0cyB0byBnZXQgaW4gcnVuLXRpbWUgdGhlIHN0YXR1cyBvZiB0aGUgU1JBTSBjb250cm9sbGVyCiAgICAgYW5kIHRoZSBkYXRhIGZsb3cuCiAKIEBlbmR2ZXJiYXRpbQogICAqIEB7CiAgICovCi0gIAorCiAvKioKICAgKiBAYnJpZWYgIFJldHVybnMgdGhlIFNSQU0gY29udHJvbGxlciBzdGF0ZQogICAqIEBwYXJhbSAgaHNyYW0gcG9pbnRlciB0byBhIFNSQU1fSGFuZGxlVHlwZURlZiBzdHJ1Y3R1cmUgdGhhdCBjb250YWlucwpAQCAtODkwLDYgKzEwMjIsNyBAQAogewogICByZXR1cm4gaHNyYW0tPlN0YXRlOwogfQorCiAvKioKICAgKiBAfQogICAqLwpAQCAtODk3LDE2ICsxMDMwLDgxIEBACiAvKioKICAgKiBAfQogICAqLwotI2VuZGlmIC8qIFNUTTMyRjQwNXh4IHx8IFNUTTMyRjQxNXh4IHx8IFNUTTMyRjQwN3h4IHx8IFNUTTMyRjQxN3h4IHx8IFNUTTMyRjQyN3h4IHx8IFNUTTMyRjQzN3h4IHx8XAotICAgICAgICAgIFNUTTMyRjQyOXh4IHx8IFNUTTMyRjQzOXh4IHx8IFNUTTMyRjQ0Nnh4IHx8IFNUTTMyRjQ2OXh4IHx8IFNUTTMyRjQ3OXh4IHx8IFNUTTMyRjQxMlp4IHx8XAotICAgICAgICAgIFNUTTMyRjQxMlZ4IHx8IFNUTTMyRjQxMlJ4IHx8IFNUTTMyRjQxMkN4IHx8IFNUTTMyRjQxM3h4IHx8IFNUTTMyRjQyM3h4ICovCisKKy8qKgorICAqIEBicmllZiAgRE1BIFNSQU0gcHJvY2VzcyBjb21wbGV0ZSBjYWxsYmFjay4KKyAgKiBAcGFyYW0gIGhkbWEgOiBETUEgaGFuZGxlCisgICogQHJldHZhbCBOb25lCisgICovCitzdGF0aWMgdm9pZCBTUkFNX0RNQUNwbHQoRE1BX0hhbmRsZVR5cGVEZWYgKmhkbWEpCit7CisgIFNSQU1fSGFuZGxlVHlwZURlZiAqaHNyYW0gPSAoU1JBTV9IYW5kbGVUeXBlRGVmICopKGhkbWEtPlBhcmVudCk7CisKKyAgLyogRGlzYWJsZSB0aGUgRE1BIGNoYW5uZWwgKi8KKyAgX19IQUxfRE1BX0RJU0FCTEUoaGRtYSk7CisKKyAgLyogVXBkYXRlIHRoZSBTUkFNIGNvbnRyb2xsZXIgc3RhdGUgKi8KKyAgaHNyYW0tPlN0YXRlID0gSEFMX1NSQU1fU1RBVEVfUkVBRFk7CisKKyNpZiAoVVNFX0hBTF9TUkFNX1JFR0lTVEVSX0NBTExCQUNLUyA9PSAxKQorICBoc3JhbS0+RG1hWGZlckNwbHRDYWxsYmFjayhoZG1hKTsKKyNlbHNlCisgIEhBTF9TUkFNX0RNQV9YZmVyQ3BsdENhbGxiYWNrKGhkbWEpOworI2VuZGlmIC8qIFVTRV9IQUxfU1JBTV9SRUdJU1RFUl9DQUxMQkFDS1MgKi8KK30KKworLyoqCisgICogQGJyaWVmICBETUEgU1JBTSBwcm9jZXNzIGNvbXBsZXRlIGNhbGxiYWNrLgorICAqIEBwYXJhbSAgaGRtYSA6IERNQSBoYW5kbGUKKyAgKiBAcmV0dmFsIE5vbmUKKyAgKi8KK3N0YXRpYyB2b2lkIFNSQU1fRE1BQ3BsdFByb3QoRE1BX0hhbmRsZVR5cGVEZWYgKmhkbWEpCit7CisgIFNSQU1fSGFuZGxlVHlwZURlZiAqaHNyYW0gPSAoU1JBTV9IYW5kbGVUeXBlRGVmICopKGhkbWEtPlBhcmVudCk7CisKKyAgLyogRGlzYWJsZSB0aGUgRE1BIGNoYW5uZWwgKi8KKyAgX19IQUxfRE1BX0RJU0FCTEUoaGRtYSk7CisKKyAgLyogVXBkYXRlIHRoZSBTUkFNIGNvbnRyb2xsZXIgc3RhdGUgKi8KKyAgaHNyYW0tPlN0YXRlID0gSEFMX1NSQU1fU1RBVEVfUFJPVEVDVEVEOworCisjaWYgKFVTRV9IQUxfU1JBTV9SRUdJU1RFUl9DQUxMQkFDS1MgPT0gMSkKKyAgaHNyYW0tPkRtYVhmZXJDcGx0Q2FsbGJhY2soaGRtYSk7CisjZWxzZQorICBIQUxfU1JBTV9ETUFfWGZlckNwbHRDYWxsYmFjayhoZG1hKTsKKyNlbmRpZiAvKiBVU0VfSEFMX1NSQU1fUkVHSVNURVJfQ0FMTEJBQ0tTICovCit9CisKKy8qKgorICAqIEBicmllZiAgRE1BIFNSQU0gZXJyb3IgY2FsbGJhY2suCisgICogQHBhcmFtICBoZG1hIDogRE1BIGhhbmRsZQorICAqIEByZXR2YWwgTm9uZQorICAqLworc3RhdGljIHZvaWQgU1JBTV9ETUFFcnJvcihETUFfSGFuZGxlVHlwZURlZiAqaGRtYSkKK3sKKyAgU1JBTV9IYW5kbGVUeXBlRGVmICpoc3JhbSA9IChTUkFNX0hhbmRsZVR5cGVEZWYgKikoaGRtYS0+UGFyZW50KTsKKworICAvKiBEaXNhYmxlIHRoZSBETUEgY2hhbm5lbCAqLworICBfX0hBTF9ETUFfRElTQUJMRShoZG1hKTsKKworICAvKiBVcGRhdGUgdGhlIFNSQU0gY29udHJvbGxlciBzdGF0ZSAqLworICBoc3JhbS0+U3RhdGUgPSBIQUxfU1JBTV9TVEFURV9FUlJPUjsKKworI2lmIChVU0VfSEFMX1NSQU1fUkVHSVNURVJfQ0FMTEJBQ0tTID09IDEpCisgIGhzcmFtLT5EbWFYZmVyRXJyb3JDYWxsYmFjayhoZG1hKTsKKyNlbHNlCisgIEhBTF9TUkFNX0RNQV9YZmVyRXJyb3JDYWxsYmFjayhoZG1hKTsKKyNlbmRpZiAvKiBVU0VfSEFMX1NSQU1fUkVHSVNURVJfQ0FMTEJBQ0tTICovCit9CisKKy8qKgorICAqIEB9CisgICovCisKICNlbmRpZiAvKiBIQUxfU1JBTV9NT0RVTEVfRU5BQkxFRCAqLwotLyoqCi0gICogQH0KLSAgKi8KIAogLyoqCiAgICogQH0KICAgKi8KIAotLyoqKioqKioqKioqKioqKioqKioqKioqKiAoQykgQ09QWVJJR0hUIFNUTWljcm9lbGVjdHJvbmljcyAqKioqKkVORCBPRiBGSUxFKioqKi8KKyNlbmRpZiAvKiBGTUNfQmFuazEgfHwgRlNNQ19CYW5rMSAqLwpkaWZmIC0tZ2l0IGEvU3JjL3N0bTMyZjR4eF9oYWxfdGltLmMgYi9TcmMvc3RtMzJmNHh4X2hhbF90aW0uYwppbmRleCBmM2Q0NmNkLi4xY2ExNzgxIDEwMDY0NAotLS0gYS9TcmMvc3RtMzJmNHh4X2hhbF90aW0uYworKysgYi9TcmMvc3RtMzJmNHh4X2hhbF90aW0uYwpAQCAtMjksNiArMjksMTcgQEAKICAgKiAgICAgICAgICAgKyBDb21tdXRhdGlvbiBFdmVudCBjb25maWd1cmF0aW9uIHdpdGggSW50ZXJydXB0aW9uIGFuZCBETUEKICAgKiAgICAgICAgICAgKyBUSU0gT0NSZWYgY2xlYXIgY29uZmlndXJhdGlvbgogICAqICAgICAgICAgICArIFRJTSBFeHRlcm5hbCBDbG9jayBjb25maWd1cmF0aW9uCisgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICAqIEBhdHRlbnRpb24KKyAgKgorICAqIENvcHlyaWdodCAoYykgMjAxNiBTVE1pY3JvZWxlY3Ryb25pY3MuCisgICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAgKgorICAqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgdW5kZXIgdGVybXMgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZQorICAqIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvZnR3YXJlIGNvbXBvbmVudC4KKyAgKiBJZiBubyBMSUNFTlNFIGZpbGUgY29tZXMgd2l0aCB0aGlzIHNvZnR3YXJlLCBpdCBpcyBwcm92aWRlZCBBUy1JUy4KKyAgKgorICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgQHZlcmJhdGltCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgICAgICAgICAgICAgICAgICAgICMjIyMjIFRJTUVSIEdlbmVyaWMgZmVhdHVyZXMgIyMjIyMKQEAgLTE2OSwxNyArMTgwLDYgQEAKIAogICBAZW5kdmVyYmF0aW0KICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gICogQGF0dGVudGlvbgotICAqCi0gICogPGgyPjxjZW50ZXI+JmNvcHk7IENvcHlyaWdodCAoYykgMjAxNiBTVE1pY3JvZWxlY3Ryb25pY3MuCi0gICogQWxsIHJpZ2h0cyByZXNlcnZlZC48L2NlbnRlcj48L2gyPgotICAqCi0gICogVGhpcyBzb2Z0d2FyZSBjb21wb25lbnQgaXMgbGljZW5zZWQgYnkgU1QgdW5kZXIgQlNEIDMtQ2xhdXNlIGxpY2Vuc2UsCi0gICogdGhlICJMaWNlbnNlIjsgWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZQotICAqIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdDoKLSAgKiAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZQotICAqCi0gICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqLwogCiAvKiBJbmNsdWRlcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwpAQCAtNDQ3MCwxMyArNDQ3MCwxMSBAQAogSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1RJTV9ETUFCdXJzdF9Xcml0ZVN0YXJ0KFRJTV9IYW5kbGVUeXBlRGVmICpodGltLCB1aW50MzJfdCBCdXJzdEJhc2VBZGRyZXNzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IEJ1cnN0UmVxdWVzdFNyYywgdWludDMyX3QgKkJ1cnN0QnVmZmVyLCB1aW50MzJfdCAgQnVyc3RMZW5ndGgpCiB7Ci0gIEhBTF9TdGF0dXNUeXBlRGVmIHN0YXR1cyA9IEhBTF9PSzsKKyAgSEFMX1N0YXR1c1R5cGVEZWYgc3RhdHVzOwogCi0gIGlmIChzdGF0dXMgPT0gSEFMX09LKQotICB7Ci0gICAgc3RhdHVzID0gSEFMX1RJTV9ETUFCdXJzdF9NdWx0aVdyaXRlU3RhcnQoaHRpbSwgQnVyc3RCYXNlQWRkcmVzcywgQnVyc3RSZXF1ZXN0U3JjLCBCdXJzdEJ1ZmZlciwgQnVyc3RMZW5ndGgsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChCdXJzdExlbmd0aCkgPj4gOFUpICsgMVUpOwotICB9CisgIHN0YXR1cyA9IEhBTF9USU1fRE1BQnVyc3RfTXVsdGlXcml0ZVN0YXJ0KGh0aW0sIEJ1cnN0QmFzZUFkZHJlc3MsIEJ1cnN0UmVxdWVzdFNyYywgQnVyc3RCdWZmZXIsIEJ1cnN0TGVuZ3RoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEJ1cnN0TGVuZ3RoKSA+PiA4VSkgKyAxVSk7CisKIAogCiAgIHJldHVybiBzdGF0dXM7CkBAIC00ODA5LDEzICs0ODA3LDExIEBACiBIQUxfU3RhdHVzVHlwZURlZiBIQUxfVElNX0RNQUJ1cnN0X1JlYWRTdGFydChUSU1fSGFuZGxlVHlwZURlZiAqaHRpbSwgdWludDMyX3QgQnVyc3RCYXNlQWRkcmVzcywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IEJ1cnN0UmVxdWVzdFNyYywgdWludDMyX3QgICpCdXJzdEJ1ZmZlciwgdWludDMyX3QgIEJ1cnN0TGVuZ3RoKQogewotICBIQUxfU3RhdHVzVHlwZURlZiBzdGF0dXMgPSBIQUxfT0s7CisgIEhBTF9TdGF0dXNUeXBlRGVmIHN0YXR1czsKIAotICBpZiAoc3RhdHVzID09IEhBTF9PSykKLSAgewotICAgIHN0YXR1cyA9IEhBTF9USU1fRE1BQnVyc3RfTXVsdGlSZWFkU3RhcnQoaHRpbSwgQnVyc3RCYXNlQWRkcmVzcywgQnVyc3RSZXF1ZXN0U3JjLCBCdXJzdEJ1ZmZlciwgQnVyc3RMZW5ndGgsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEJ1cnN0TGVuZ3RoKSA+PiA4VSkgKyAxVSk7Ci0gIH0KKyAgc3RhdHVzID0gSEFMX1RJTV9ETUFCdXJzdF9NdWx0aVJlYWRTdGFydChodGltLCBCdXJzdEJhc2VBZGRyZXNzLCBCdXJzdFJlcXVlc3RTcmMsIEJ1cnN0QnVmZmVyLCBCdXJzdExlbmd0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEJ1cnN0TGVuZ3RoKSA+PiA4VSkgKyAxVSk7CisKIAogICByZXR1cm4gc3RhdHVzOwogfQpAQCAtNzYyMyw0ICs3NjE5LDMgQEAKIC8qKgogICAqIEB9CiAgICovCi0vKioqKioqKioqKioqKioqKioqKioqKioqIChDKSBDT1BZUklHSFQgU1RNaWNyb2VsZWN0cm9uaWNzICoqKioqRU5EIE9GIEZJTEUqKioqLwpkaWZmIC0tZ2l0IGEvU3JjL3N0bTMyZjR4eF9oYWxfdGltX2V4LmMgYi9TcmMvc3RtMzJmNHh4X2hhbF90aW1fZXguYwppbmRleCBiYmE0NGYxLi4wOTIxNzVmIDEwMDY0NAotLS0gYS9TcmMvc3RtMzJmNHh4X2hhbF90aW1fZXguYworKysgYi9TcmMvc3RtMzJmNHh4X2hhbF90aW1fZXguYwpAQCAtMTAsNiArMTAsMTcgQEAKICAgKiAgICAgICAgICAgKyBUaW1lIENvbXBsZW1lbnRhcnkgc2lnbmFsIGJyZWFrIGFuZCBkZWFkIHRpbWUgY29uZmlndXJhdGlvbgogICAqICAgICAgICAgICArIFRpbWUgTWFzdGVyIGFuZCBTbGF2ZSBzeW5jaHJvbml6YXRpb24gY29uZmlndXJhdGlvbgogICAqICAgICAgICAgICArIFRpbWVyIHJlbWFwcGluZyBjYXBhYmlsaXRpZXMgY29uZmlndXJhdGlvbgorICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAgKiBAYXR0ZW50aW9uCisgICoKKyAgKiBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgorICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgICoKKyAgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIHVuZGVyIHRlcm1zIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUKKyAgKiBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb2Z0d2FyZSBjb21wb25lbnQuCisgICogSWYgbm8gTElDRU5TRSBmaWxlIGNvbWVzIHdpdGggdGhpcyBzb2Z0d2FyZSwgaXQgaXMgcHJvdmlkZWQgQVMtSVMuCisgICoKKyAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgIEB2ZXJiYXRpbQogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgICAgICAgICAgICAgICAgICAgICAjIyMjIyBUSU1FUiBFeHRlbmRlZCBmZWF0dXJlcyAjIyMjIwpAQCAtNjQsMTcgKzc1LDYgQEAKIAogICBAZW5kdmVyYmF0aW0KICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gICogQGF0dGVudGlvbgotICAqCi0gICogPGgyPjxjZW50ZXI+JmNvcHk7IENvcHlyaWdodCAoYykgMjAxNiBTVE1pY3JvZWxlY3Ryb25pY3MuCi0gICogQWxsIHJpZ2h0cyByZXNlcnZlZC48L2NlbnRlcj48L2gyPgotICAqCi0gICogVGhpcyBzb2Z0d2FyZSBjb21wb25lbnQgaXMgbGljZW5zZWQgYnkgU1QgdW5kZXIgQlNEIDMtQ2xhdXNlIGxpY2Vuc2UsCi0gICogdGhlICJMaWNlbnNlIjsgWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZQotICAqIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdDoKLSAgKiAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZQotICAqCi0gICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqLwogCiAvKiBJbmNsdWRlcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwpAQCAtMjA5OCwxMSArMjA5OCwxMiBAQAogICAqLwogSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1RJTUV4X1JlbWFwQ29uZmlnKFRJTV9IYW5kbGVUeXBlRGVmICpodGltLCB1aW50MzJfdCBSZW1hcCkKIHsKLSAgX19IQUxfTE9DSyhodGltKTsKIAogICAvKiBDaGVjayBwYXJhbWV0ZXJzICovCiAgIGFzc2VydF9wYXJhbShJU19USU1fUkVNQVAoaHRpbS0+SW5zdGFuY2UsIFJlbWFwKSk7CiAKKyAgX19IQUxfTE9DSyhodGltKTsKKwogI2lmIGRlZmluZWQoTFBUSU1fT1JfVElNMV9JVFIyX1JNUCkgJiYgZGVmaW5lZChMUFRJTV9PUl9USU01X0lUUjFfUk1QKSAmJiBkZWZpbmVkKExQVElNX09SX1RJTTlfSVRSMV9STVApCiAgIGlmICgoUmVtYXAgJiBMUFRJTV9SRU1BUF9NQVNLKSA9PSBMUFRJTV9SRU1BUF9NQVNLKQogICB7CkBAIC0yMjQ5LDcgKzIyNTAsNyBAQAogICAqLwogCiAvKiBQcml2YXRlIGZ1bmN0aW9ucyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwotLyoqIEBkZWZncm91cCBUSU1FeF9Qcml2YXRlX0Z1bmN0aW9ucyBUSU1FeCBQcml2YXRlIEZ1bmN0aW9ucworLyoqIEBkZWZncm91cCBUSU1FeF9Qcml2YXRlX0Z1bmN0aW9ucyBUSU0gRXh0ZW5kZWQgUHJpdmF0ZSBGdW5jdGlvbnMKICAgKiBAewogICAqLwogCkBAIC0yNDI1LDUgKzI0MjYsMyBAQAogLyoqCiAgICogQH0KICAgKi8KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKiAoQykgQ09QWVJJR0hUIFNUTWljcm9lbGVjdHJvbmljcyAqKioqKkVORCBPRiBGSUxFKioqKi8KZGlmZiAtLWdpdCBhL1NyYy9zdG0zMmY0eHhfaGFsX3RpbWViYXNlX3J0Y19hbGFybV90ZW1wbGF0ZS5jIGIvU3JjL3N0bTMyZjR4eF9oYWxfdGltZWJhc2VfcnRjX2FsYXJtX3RlbXBsYXRlLmMKaW5kZXggZGRkNzhhNS4uZTEzYzcyMSAxMDA2NDQKLS0tIGEvU3JjL3N0bTMyZjR4eF9oYWxfdGltZWJhc2VfcnRjX2FsYXJtX3RlbXBsYXRlLmMKKysrIGIvU3JjL3N0bTMyZjR4eF9oYWxfdGltZWJhc2VfcnRjX2FsYXJtX3RlbXBsYXRlLmMKQEAgLTksNyArOSwxOSBAQAogICAqICAgICAgICAgICArIEludGlhbGl6ZXMgdGhlIFJUQyBwZXJpcGhlcmFsIHRvIGluY3JlbWVudCB0aGUgc2Vjb25kcyByZWdpc3RlcnMgZWFjaCAxbXMKICAgKiAgICAgICAgICAgKyBUaGUgYWxhcm0gaXMgY29uZmlndXJlZCB0byBhc3NlcnQgYW4gaW50ZXJydXB0IHdoZW4gdGhlIFJUQyByZWFjaGVzIDFtcyAKICAgKiAgICAgICAgICAgKyBIQUxfSW5jVGljayBpcyBjYWxsZWQgYXQgZWFjaCBBbGFybSBldmVudCBhbmQgdGhlIHRpbWUgaXMgcmVzZXQgdG8gMDA6MDA6MDAKLSAgKiAgICAgICAgICAgKyBIU0UgKGRlZmF1bHQpLCBMU0Ugb3IgTFNJIGNhbiBiZSBzZWxlY3RlZCBhcyBSVEMgY2xvY2sgc291cmNlICAKKyAgKiAgICAgICAgICAgKyBIU0UgKGRlZmF1bHQpLCBMU0Ugb3IgTFNJIGNhbiBiZSBzZWxlY3RlZCBhcyBSVEMgY2xvY2sgc291cmNlCisgICoKKyAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgICogQGF0dGVudGlvbgorICAqCisgICogQ29weXJpZ2h0IChjKSAyMDE3IFNUTWljcm9lbGVjdHJvbmljcy4KKyAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICAqCisgICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciB0ZXJtcyB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlCisgICogaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc29mdHdhcmUgY29tcG9uZW50LgorICAqIElmIG5vIExJQ0VOU0UgZmlsZSBjb21lcyB3aXRoIHRoaXMgc29mdHdhcmUsIGl0IGlzIHByb3ZpZGVkIEFTLUlTLgorICAqCisgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogIEB2ZXJiYXRpbQogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgICAgICAgICAgICAgICAgICAgICAgICMjIyMjIEhvdyB0byB1c2UgdGhpcyBkcml2ZXIgIyMjIyMKQEAgLTMwLDE3ICs0Miw2IEBACiAKICAgQGVuZHZlcmJhdGltCiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICAqIEBhdHRlbnRpb24KLSAgKgotICAqIDxoMj48Y2VudGVyPiZjb3B5OyBDb3B5cmlnaHQgKGMpIDIwMTcgU1RNaWNyb2VsZWN0cm9uaWNzLgotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9jZW50ZXI+PC9oMj4KLSAgKgotICAqIFRoaXMgc29mdHdhcmUgY29tcG9uZW50IGlzIGxpY2Vuc2VkIGJ5IFNUIHVuZGVyIEJTRCAzLUNsYXVzZSBsaWNlbnNlLAotICAqIHRoZSAiTGljZW5zZSI7IFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUKLSAgKiBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQ6Ci0gICogICAgICAgICAgICAgICAgICAgICAgICBvcGVuc291cmNlLm9yZy9saWNlbnNlcy9CU0QtMy1DbGF1c2UKLSAgKgotICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKi8KIAogLyogSW5jbHVkZXMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KQEAgLTMxNCw0ICszMTUsNCBAQAogICAqIEB9CiAgICovCiAKLS8qKioqKioqKioqKioqKioqKioqKioqKiogKEMpIENPUFlSSUdIVCBTVE1pY3JvZWxlY3Ryb25pY3MgKioqKipFTkQgT0YgRklMRSoqKiovCisKZGlmZiAtLWdpdCBhL1NyYy9zdG0zMmY0eHhfaGFsX3RpbWViYXNlX3J0Y193YWtldXBfdGVtcGxhdGUuYyBiL1NyYy9zdG0zMmY0eHhfaGFsX3RpbWViYXNlX3J0Y193YWtldXBfdGVtcGxhdGUuYwppbmRleCAwMTY2M2U3Li41MGY5ZDdmIDEwMDY0NAotLS0gYS9TcmMvc3RtMzJmNHh4X2hhbF90aW1lYmFzZV9ydGNfd2FrZXVwX3RlbXBsYXRlLmMKKysrIGIvU3JjL3N0bTMyZjR4eF9oYWxfdGltZWJhc2VfcnRjX3dha2V1cF90ZW1wbGF0ZS5jCkBAIC0xMSw2ICsxMSwxOCBAQAogICAqICAgICAgICAgICArIFRoZSB3YWtldXAgZmVhdHVyZSBpcyBjb25maWd1cmVkIHRvIGFzc2VydCBhbiBpbnRlcnJ1cHQgZWFjaCAxbXMgCiAgICogICAgICAgICAgICsgSEFMX0luY1RpY2sgaXMgY2FsbGVkIGluc2lkZSB0aGUgSEFMX1JUQ0V4X1dha2VVcFRpbWVyRXZlbnRDYWxsYmFjawogICAqICAgICAgICAgICArIEhTRSAoZGVmYXVsdCksIExTRSBvciBMU0kgY2FuIGJlIHNlbGVjdGVkIGFzIFJUQyBjbG9jayBzb3VyY2UKKyAgKgorICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAgKiBAYXR0ZW50aW9uCisgICoKKyAgKiBDb3B5cmlnaHQgKGMpIDIwMTcgU1RNaWNyb2VsZWN0cm9uaWNzLgorICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgICoKKyAgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIHVuZGVyIHRlcm1zIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUKKyAgKiBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb2Z0d2FyZSBjb21wb25lbnQuCisgICogSWYgbm8gTElDRU5TRSBmaWxlIGNvbWVzIHdpdGggdGhpcyBzb2Z0d2FyZSwgaXQgaXMgcHJvdmlkZWQgQVMtSVMuCisgICoKKyAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgQHZlcmJhdGltCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgICAgICAgICAgICAgICAgICAgICAgIyMjIyMgSG93IHRvIHVzZSB0aGlzIGRyaXZlciAjIyMjIwpAQCAtMzEsMTcgKzQzLDYgQEAKIAogICBAZW5kdmVyYmF0aW0KICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gICogQGF0dGVudGlvbgotICAqCi0gICogPGgyPjxjZW50ZXI+JmNvcHk7IENvcHlyaWdodCAoYykgMjAxNyBTVE1pY3JvZWxlY3Ryb25pY3MuCi0gICogQWxsIHJpZ2h0cyByZXNlcnZlZC48L2NlbnRlcj48L2gyPgotICAqCi0gICogVGhpcyBzb2Z0d2FyZSBjb21wb25lbnQgaXMgbGljZW5zZWQgYnkgU1QgdW5kZXIgQlNEIDMtQ2xhdXNlIGxpY2Vuc2UsCi0gICogdGhlICJMaWNlbnNlIjsgWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZQotICAqIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdDoKLSAgKiAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZQotICAqCi0gICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqLwogCiAvKiBJbmNsdWRlcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwpAQCAtMjg5LDQgKzI5MCw0IEBACiAgICogQH0KICAgKi8KIAotLyoqKioqKioqKioqKioqKioqKioqKioqKiAoQykgQ09QWVJJR0hUIFNUTWljcm9lbGVjdHJvbmljcyAqKioqKkVORCBPRiBGSUxFKioqKi8KKwpkaWZmIC0tZ2l0IGEvU3JjL3N0bTMyZjR4eF9oYWxfdGltZWJhc2VfdGltX3RlbXBsYXRlLmMgYi9TcmMvc3RtMzJmNHh4X2hhbF90aW1lYmFzZV90aW1fdGVtcGxhdGUuYwppbmRleCBkYTYxZTljLi5hZmZiODg0IDEwMDY0NAotLS0gYS9TcmMvc3RtMzJmNHh4X2hhbF90aW1lYmFzZV90aW1fdGVtcGxhdGUuYworKysgYi9TcmMvc3RtMzJmNHh4X2hhbF90aW1lYmFzZV90aW1fdGVtcGxhdGUuYwpAQCAtMTIsMTMgKzEyLDEyIEBACiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqIEBhdHRlbnRpb24KICAgKgotICAqIDxoMj48Y2VudGVyPiZjb3B5OyBDb3B5cmlnaHQgKGMpIDIwMTcgU1RNaWNyb2VsZWN0cm9uaWNzLgotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9jZW50ZXI+PC9oMj4KKyAgKiBDb3B5cmlnaHQgKGMpIDIwMTcgU1RNaWNyb2VsZWN0cm9uaWNzLgorICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICoKLSAgKiBUaGlzIHNvZnR3YXJlIGNvbXBvbmVudCBpcyBsaWNlbnNlZCBieSBTVCB1bmRlciBCU0QgMy1DbGF1c2UgbGljZW5zZSwKLSAgKiB0aGUgIkxpY2Vuc2UiOyBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlCi0gICogTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0OgotICAqICAgICAgICAgICAgICAgICAgICAgICAgb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvQlNELTMtQ2xhdXNlCisgICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciB0ZXJtcyB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlCisgICogaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc29mdHdhcmUgY29tcG9uZW50LgorICAqIElmIG5vIExJQ0VOU0UgZmlsZSBjb21lcyB3aXRoIHRoaXMgc29mdHdhcmUsIGl0IGlzIHByb3ZpZGVkIEFTLUlTLgogICAqCiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqLwpAQCAtMTc1LDQgKzE3NCw0IEBACiAgICogQH0KICAgKi8gCiAKLS8qKioqKioqKioqKioqKioqKioqKioqKiogKEMpIENPUFlSSUdIVCBTVE1pY3JvZWxlY3Ryb25pY3MgKioqKipFTkQgT0YgRklMRSoqKiovCisKZGlmZiAtLWdpdCBhL1NyYy9zdG0zMmY0eHhfaGFsX3VhcnQuYyBiL1NyYy9zdG0zMmY0eHhfaGFsX3VhcnQuYwppbmRleCA1ZTUzODEzLi4zNmI3MzE3IDEwMDY0NAotLS0gYS9TcmMvc3RtMzJmNHh4X2hhbF91YXJ0LmMKKysrIGIvU3JjL3N0bTMyZjR4eF9oYWxfdWFydC5jCkBAIC05LDYgKzksMTggQEAKICAgKiAgICAgICAgICAgKyBJTyBvcGVyYXRpb24gZnVuY3Rpb25zCiAgICogICAgICAgICAgICsgUGVyaXBoZXJhbCBDb250cm9sIGZ1bmN0aW9ucwogICAqICAgICAgICAgICArIFBlcmlwaGVyYWwgU3RhdGUgYW5kIEVycm9ycyBmdW5jdGlvbnMKKyAgKgorICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAgKiBAYXR0ZW50aW9uCisgICoKKyAgKiBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgorICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgICoKKyAgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIHVuZGVyIHRlcm1zIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUKKyAgKiBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb2Z0d2FyZSBjb21wb25lbnQuCisgICogSWYgbm8gTElDRU5TRSBmaWxlIGNvbWVzIHdpdGggdGhpcyBzb2Z0d2FyZSwgaXQgaXMgcHJvdmlkZWQgQVMtSVMuCisgICoKKyAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgIEB2ZXJiYXRpbQogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgICAgICAgICAgICAgICAgICAgICAgICMjIyMjIEhvdyB0byB1c2UgdGhpcyBkcml2ZXIgIyMjIyMKQEAgLTI0MCwxNyArMjUyLDYgQEAKICAgICB8ICAgIDEgICAgfCAgICAxICAgICAgfCAgICB8IFNCIHwgOCBiaXQgZGF0YSB8IFBCIHwgU1RCIHwgICAgIHwKICAgICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gICogQGF0dGVudGlvbgotICAqCi0gICogPGgyPjxjZW50ZXI+JmNvcHk7IENvcHlyaWdodCAoYykgMjAxNiBTVE1pY3JvZWxlY3Ryb25pY3MuCi0gICogQWxsIHJpZ2h0cyByZXNlcnZlZC48L2NlbnRlcj48L2gyPgotICAqCi0gICogVGhpcyBzb2Z0d2FyZSBjb21wb25lbnQgaXMgbGljZW5zZWQgYnkgU1QgdW5kZXIgQlNEIDMtQ2xhdXNlIGxpY2Vuc2UsCi0gICogdGhlICJMaWNlbnNlIjsgWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZQotICAqIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdDoKLSAgKiAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZQotICAqCi0gICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqLwogCiAvKiBJbmNsdWRlcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwpAQCAtMTEzMiwxMCArMTEzMywxMCBAQAogICAqIEBwYXJhbSAgVGltZW91dCBUaW1lb3V0IGR1cmF0aW9uCiAgICogQHJldHZhbCBIQUwgc3RhdHVzCiAgICovCi1IQUxfU3RhdHVzVHlwZURlZiBIQUxfVUFSVF9UcmFuc21pdChVQVJUX0hhbmRsZVR5cGVEZWYgKmh1YXJ0LCB1aW50OF90ICpwRGF0YSwgdWludDE2X3QgU2l6ZSwgdWludDMyX3QgVGltZW91dCkKK0hBTF9TdGF0dXNUeXBlRGVmIEhBTF9VQVJUX1RyYW5zbWl0KFVBUlRfSGFuZGxlVHlwZURlZiAqaHVhcnQsIGNvbnN0IHVpbnQ4X3QgKnBEYXRhLCB1aW50MTZfdCBTaXplLCB1aW50MzJfdCBUaW1lb3V0KQogewotICB1aW50OF90ICAqcGRhdGE4Yml0czsKLSAgdWludDE2X3QgKnBkYXRhMTZiaXRzOworICBjb25zdCB1aW50OF90ICAqcGRhdGE4Yml0czsKKyAgY29uc3QgdWludDE2X3QgKnBkYXRhMTZiaXRzOwogICB1aW50MzJfdCB0aWNrc3RhcnQgPSAwVTsKIAogICAvKiBDaGVjayB0aGF0IGEgVHggcHJvY2VzcyBpcyBub3QgYWxyZWFkeSBvbmdvaW5nICovCkBAIC0xMTYyLDcgKzExNjMsNyBAQAogICAgIGlmICgoaHVhcnQtPkluaXQuV29yZExlbmd0aCA9PSBVQVJUX1dPUkRMRU5HVEhfOUIpICYmIChodWFydC0+SW5pdC5QYXJpdHkgPT0gVUFSVF9QQVJJVFlfTk9ORSkpCiAgICAgewogICAgICAgcGRhdGE4Yml0cyAgPSBOVUxMOwotICAgICAgcGRhdGExNmJpdHMgPSAodWludDE2X3QgKikgcERhdGE7CisgICAgICBwZGF0YTE2Yml0cyA9IChjb25zdCB1aW50MTZfdCAqKSBwRGF0YTsKICAgICB9CiAgICAgZWxzZQogICAgIHsKQEAgLTEzMTEsNyArMTMxMiw3IEBACiAgICogQHBhcmFtICBTaXplICBBbW91bnQgb2YgZGF0YSBlbGVtZW50cyAodTggb3IgdTE2KSB0byBiZSBzZW50CiAgICogQHJldHZhbCBIQUwgc3RhdHVzCiAgICovCi1IQUxfU3RhdHVzVHlwZURlZiBIQUxfVUFSVF9UcmFuc21pdF9JVChVQVJUX0hhbmRsZVR5cGVEZWYgKmh1YXJ0LCB1aW50OF90ICpwRGF0YSwgdWludDE2X3QgU2l6ZSkKK0hBTF9TdGF0dXNUeXBlRGVmIEhBTF9VQVJUX1RyYW5zbWl0X0lUKFVBUlRfSGFuZGxlVHlwZURlZiAqaHVhcnQsIGNvbnN0IHVpbnQ4X3QgKnBEYXRhLCB1aW50MTZfdCBTaXplKQogewogICAvKiBDaGVjayB0aGF0IGEgVHggcHJvY2VzcyBpcyBub3QgYWxyZWFkeSBvbmdvaW5nICovCiAgIGlmIChodWFydC0+Z1N0YXRlID09IEhBTF9VQVJUX1NUQVRFX1JFQURZKQpAQCAtMTM5MSw5ICsxMzkyLDkgQEAKICAgKiBAcGFyYW0gIFNpemUgIEFtb3VudCBvZiBkYXRhIGVsZW1lbnRzICh1OCBvciB1MTYpIHRvIGJlIHNlbnQKICAgKiBAcmV0dmFsIEhBTCBzdGF0dXMKICAgKi8KLUhBTF9TdGF0dXNUeXBlRGVmIEhBTF9VQVJUX1RyYW5zbWl0X0RNQShVQVJUX0hhbmRsZVR5cGVEZWYgKmh1YXJ0LCB1aW50OF90ICpwRGF0YSwgdWludDE2X3QgU2l6ZSkKK0hBTF9TdGF0dXNUeXBlRGVmIEhBTF9VQVJUX1RyYW5zbWl0X0RNQShVQVJUX0hhbmRsZVR5cGVEZWYgKmh1YXJ0LCBjb25zdCB1aW50OF90ICpwRGF0YSwgdWludDE2X3QgU2l6ZSkKIHsKLSAgdWludDMyX3QgKnRtcDsKKyAgY29uc3QgdWludDMyX3QgKnRtcDsKIAogICAvKiBDaGVjayB0aGF0IGEgVHggcHJvY2VzcyBpcyBub3QgYWxyZWFkeSBvbmdvaW5nICovCiAgIGlmIChodWFydC0+Z1N0YXRlID09IEhBTF9VQVJUX1NUQVRFX1JFQURZKQpAQCAtMTQyNiw4ICsxNDI3LDggQEAKICAgICBodWFydC0+aGRtYXR4LT5YZmVyQWJvcnRDYWxsYmFjayA9IE5VTEw7CiAKICAgICAvKiBFbmFibGUgdGhlIFVBUlQgdHJhbnNtaXQgRE1BIHN0cmVhbSAqLwotICAgIHRtcCA9ICh1aW50MzJfdCAqKSZwRGF0YTsKLSAgICBIQUxfRE1BX1N0YXJ0X0lUKGh1YXJ0LT5oZG1hdHgsICoodWludDMyX3QgKil0bXAsICh1aW50MzJfdCkmaHVhcnQtPkluc3RhbmNlLT5EUiwgU2l6ZSk7CisgICAgdG1wID0gKGNvbnN0IHVpbnQzMl90ICopJnBEYXRhOworICAgIEhBTF9ETUFfU3RhcnRfSVQoaHVhcnQtPmhkbWF0eCwgKihjb25zdCB1aW50MzJfdCAqKXRtcCwgKHVpbnQzMl90KSZodWFydC0+SW5zdGFuY2UtPkRSLCBTaXplKTsKIAogICAgIC8qIENsZWFyIHRoZSBUQyBmbGFnIGluIHRoZSBTUiByZWdpc3RlciBieSB3cml0aW5nIDAgdG8gaXQgKi8KICAgICBfX0hBTF9VQVJUX0NMRUFSX0ZMQUcoaHVhcnQsIFVBUlRfRkxBR19UQyk7CkBAIC0xNTQzLDcgKzE1NDQsMTAgQEAKICAgICBfX0hBTF9VQVJUX0NMRUFSX09SRUZMQUcoaHVhcnQpOwogCiAgICAgLyogUmUtZW5hYmxlIFBFIGFuZCBFUlIgKEZyYW1lIGVycm9yLCBub2lzZSBlcnJvciwgb3ZlcnJ1biBlcnJvcikgaW50ZXJydXB0cyAqLwotICAgIEFUT01JQ19TRVRfQklUKGh1YXJ0LT5JbnN0YW5jZS0+Q1IxLCBVU0FSVF9DUjFfUEVJRSk7CisgICAgaWYgKGh1YXJ0LT5Jbml0LlBhcml0eSAhPSBVQVJUX1BBUklUWV9OT05FKQorICAgIHsKKyAgICAgIEFUT01JQ19TRVRfQklUKGh1YXJ0LT5JbnN0YW5jZS0+Q1IxLCBVU0FSVF9DUjFfUEVJRSk7CisgICAgfQogICAgIEFUT01JQ19TRVRfQklUKGh1YXJ0LT5JbnN0YW5jZS0+Q1IzLCBVU0FSVF9DUjNfRUlFKTsKIAogICAgIC8qIEVuYWJsZSB0aGUgVUFSVCBETUEgUnggcmVxdWVzdCAqLwpAQCAtMzE1NywxMSArMzE2MSwxMiBAQAogfQogCiAvKioKLSAgKiBAYnJpZWYgIFRoaXMgZnVuY3Rpb24gaGFuZGxlcyBVQVJUIENvbW11bmljYXRpb24gVGltZW91dC4KKyAgKiBAYnJpZWYgIFRoaXMgZnVuY3Rpb24gaGFuZGxlcyBVQVJUIENvbW11bmljYXRpb24gVGltZW91dC4gSXQgd2FpdHMKKyAgKiAgICAgICAgIHVudGlsIGEgZmxhZyBpcyBubyBsb25nZXIgaW4gdGhlIHNwZWNpZmllZCBzdGF0dXMuCiAgICogQHBhcmFtICBodWFydCAgUG9pbnRlciB0byBhIFVBUlRfSGFuZGxlVHlwZURlZiBzdHJ1Y3R1cmUgdGhhdCBjb250YWlucwogICAqICAgICAgICAgICAgICAgIHRoZSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIGZvciB0aGUgc3BlY2lmaWVkIFVBUlQgbW9kdWxlLgogICAqIEBwYXJhbSAgRmxhZyBzcGVjaWZpZXMgdGhlIFVBUlQgZmxhZyB0byBjaGVjay4KLSAgKiBAcGFyYW0gIFN0YXR1cyBUaGUgbmV3IEZsYWcgc3RhdHVzIChTRVQgb3IgUkVTRVQpLgorICAqIEBwYXJhbSAgU3RhdHVzIFRoZSBhY3R1YWwgRmxhZyBzdGF0dXMgKFNFVCBvciBSRVNFVCkuCiAgICogQHBhcmFtICBUaWNrc3RhcnQgVGljayBzdGFydCB2YWx1ZQogICAqIEBwYXJhbSAgVGltZW91dCBUaW1lb3V0IGR1cmF0aW9uCiAgICogQHJldHZhbCBIQUwgc3RhdHVzCkBAIC0zMjE3LDggKzMyMjIsMTEgQEAKICAgLyogUHJvY2VzcyBVbmxvY2tlZCAqLwogICBfX0hBTF9VTkxPQ0soaHVhcnQpOwogCi0gIC8qIEVuYWJsZSB0aGUgVUFSVCBQYXJpdHkgRXJyb3IgSW50ZXJydXB0ICovCi0gIF9fSEFMX1VBUlRfRU5BQkxFX0lUKGh1YXJ0LCBVQVJUX0lUX1BFKTsKKyAgaWYgKGh1YXJ0LT5Jbml0LlBhcml0eSAhPSBVQVJUX1BBUklUWV9OT05FKQorICB7CisgICAgLyogRW5hYmxlIHRoZSBVQVJUIFBhcml0eSBFcnJvciBJbnRlcnJ1cHQgKi8KKyAgICBfX0hBTF9VQVJUX0VOQUJMRV9JVChodWFydCwgVUFSVF9JVF9QRSk7CisgIH0KIAogICAvKiBFbmFibGUgdGhlIFVBUlQgRXJyb3IgSW50ZXJydXB0OiAoRnJhbWUgZXJyb3IsIG5vaXNlIGVycm9yLCBvdmVycnVuIGVycm9yKSAqLwogICBfX0hBTF9VQVJUX0VOQUJMRV9JVChodWFydCwgVUFSVF9JVF9FUlIpOwpAQCAtMzI3Miw4ICszMjgwLDExIEBACiAgIC8qIFByb2Nlc3MgVW5sb2NrZWQgKi8KICAgX19IQUxfVU5MT0NLKGh1YXJ0KTsKIAotICAvKiBFbmFibGUgdGhlIFVBUlQgUGFyaXR5IEVycm9yIEludGVycnVwdCAqLwotICBBVE9NSUNfU0VUX0JJVChodWFydC0+SW5zdGFuY2UtPkNSMSwgVVNBUlRfQ1IxX1BFSUUpOworICBpZiAoaHVhcnQtPkluaXQuUGFyaXR5ICE9IFVBUlRfUEFSSVRZX05PTkUpCisgIHsKKyAgICAvKiBFbmFibGUgdGhlIFVBUlQgUGFyaXR5IEVycm9yIEludGVycnVwdCAqLworICAgIEFUT01JQ19TRVRfQklUKGh1YXJ0LT5JbnN0YW5jZS0+Q1IxLCBVU0FSVF9DUjFfUEVJRSk7CisgIH0KIAogICAvKiBFbmFibGUgdGhlIFVBUlQgRXJyb3IgSW50ZXJydXB0OiAoRnJhbWUgZXJyb3IsIG5vaXNlIGVycm9yLCBvdmVycnVuIGVycm9yKSAqLwogICBBVE9NSUNfU0VUX0JJVChodWFydC0+SW5zdGFuY2UtPkNSMywgVVNBUlRfQ1IzX0VJRSk7CkBAIC0zNTAwLDE0ICszNTExLDE0IEBACiAgICovCiBzdGF0aWMgSEFMX1N0YXR1c1R5cGVEZWYgVUFSVF9UcmFuc21pdF9JVChVQVJUX0hhbmRsZVR5cGVEZWYgKmh1YXJ0KQogewotICB1aW50MTZfdCAqdG1wOworICBjb25zdCB1aW50MTZfdCAqdG1wOwogCiAgIC8qIENoZWNrIHRoYXQgYSBUeCBwcm9jZXNzIGlzIG9uZ29pbmcgKi8KICAgaWYgKGh1YXJ0LT5nU3RhdGUgPT0gSEFMX1VBUlRfU1RBVEVfQlVTWV9UWCkKICAgewogICAgIGlmICgoaHVhcnQtPkluaXQuV29yZExlbmd0aCA9PSBVQVJUX1dPUkRMRU5HVEhfOUIpICYmIChodWFydC0+SW5pdC5QYXJpdHkgPT0gVUFSVF9QQVJJVFlfTk9ORSkpCiAgICAgewotICAgICAgdG1wID0gKHVpbnQxNl90ICopIGh1YXJ0LT5wVHhCdWZmUHRyOworICAgICAgdG1wID0gKGNvbnN0IHVpbnQxNl90ICopIGh1YXJ0LT5wVHhCdWZmUHRyOwogICAgICAgaHVhcnQtPkluc3RhbmNlLT5EUiA9ICh1aW50MTZfdCkoKnRtcCAmICh1aW50MTZfdCkweDAxRkYpOwogICAgICAgaHVhcnQtPnBUeEJ1ZmZQdHIgKz0gMlU7CiAgICAgfQpAQCAtMzUxOCw3ICszNTI5LDcgQEAKIAogICAgIGlmICgtLWh1YXJ0LT5UeFhmZXJDb3VudCA9PSAwVSkKICAgICB7Ci0gICAgICAvKiBEaXNhYmxlIHRoZSBVQVJUIFRyYW5zbWl0IENvbXBsZXRlIEludGVycnVwdCAqLworICAgICAgLyogRGlzYWJsZSB0aGUgVUFSVCBUcmFuc21pdCBEYXRhIFJlZ2lzdGVyIEVtcHR5IEludGVycnVwdCAqLwogICAgICAgX19IQUxfVUFSVF9ESVNBQkxFX0lUKGh1YXJ0LCBVQVJUX0lUX1RYRSk7CiAKICAgICAgIC8qIEVuYWJsZSB0aGUgVUFSVCBUcmFuc21pdCBDb21wbGV0ZSBJbnRlcnJ1cHQgKi8KQEAgLTM3MzgsNCArMzc0OSwzIEBACiAgICogQH0KICAgKi8KIAotLyoqKioqKioqKioqKioqKioqKioqKioqKiAoQykgQ09QWVJJR0hUIFNUTWljcm9lbGVjdHJvbmljcyAqKioqKkVORCBPRiBGSUxFKioqKi8KZGlmZiAtLWdpdCBhL1NyYy9zdG0zMmY0eHhfaGFsX3VzYXJ0LmMgYi9TcmMvc3RtMzJmNHh4X2hhbF91c2FydC5jCmluZGV4IDBhZjA1ODIuLjhkNzFkNTkgMTAwNjQ0Ci0tLSBhL1NyYy9zdG0zMmY0eHhfaGFsX3VzYXJ0LmMKKysrIGIvU3JjL3N0bTMyZjR4eF9oYWxfdXNhcnQuYwpAQCAtOSw2ICs5LDE4IEBACiAgICogICAgICAgICAgICsgSW5pdGlhbGl6YXRpb24gYW5kIGRlLWluaXRpYWxpemF0aW9uIGZ1bmN0aW9ucwogICAqICAgICAgICAgICArIElPIG9wZXJhdGlvbiBmdW5jdGlvbnMKICAgKiAgICAgICAgICAgKyBQZXJpcGhlcmFsIENvbnRyb2wgZnVuY3Rpb25zCisgICoKKyAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgICogQGF0dGVudGlvbgorICAqCisgICogQ29weXJpZ2h0IChjKSAyMDE2IFNUTWljcm9lbGVjdHJvbmljcy4KKyAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICAqCisgICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciB0ZXJtcyB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlCisgICogaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc29mdHdhcmUgY29tcG9uZW50LgorICAqIElmIG5vIExJQ0VOU0UgZmlsZSBjb21lcyB3aXRoIHRoaXMgc29mdHdhcmUsIGl0IGlzIHByb3ZpZGVkIEFTLUlTLgorICAqCisgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICBAdmVyYmF0aW0KICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAgICAgICAgICAgICAgICAgICAgICAjIyMjIyBIb3cgdG8gdXNlIHRoaXMgZHJpdmVyICMjIyMjCkBAIC0xODIsMTcgKzE5NCw2IEBACiAgICAgfCAgICAxICAgIHwgICAgMSAgICAgIHwgICAgfCBTQiB8IDggYml0IGRhdGEgfCBQQiB8IFNUQiB8ICAgICB8CiAgICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICAqIEBhdHRlbnRpb24KLSAgKgotICAqIDxoMj48Y2VudGVyPiZjb3B5OyBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9jZW50ZXI+PC9oMj4KLSAgKgotICAqIFRoaXMgc29mdHdhcmUgY29tcG9uZW50IGlzIGxpY2Vuc2VkIGJ5IFNUIHVuZGVyIEJTRCAzLUNsYXVzZSBsaWNlbnNlLAotICAqIHRoZSAiTGljZW5zZSI7IFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUKLSAgKiBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQ6Ci0gICogICAgICAgICAgICAgICAgICAgICAgICBvcGVuc291cmNlLm9yZy9saWNlbnNlcy9CU0QtMy1DbGF1c2UKLSAgKgotICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKi8KIAogLyogSW5jbHVkZXMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KQEAgLTc0NiwxMCArNzQ3LDEwIEBACiAgICogQHBhcmFtICBUaW1lb3V0IFRpbWVvdXQgZHVyYXRpb24uCiAgICogQHJldHZhbCBIQUwgc3RhdHVzCiAgICovCi1IQUxfU3RhdHVzVHlwZURlZiBIQUxfVVNBUlRfVHJhbnNtaXQoVVNBUlRfSGFuZGxlVHlwZURlZiAqaHVzYXJ0LCB1aW50OF90ICpwVHhEYXRhLCB1aW50MTZfdCBTaXplLCB1aW50MzJfdCBUaW1lb3V0KQorSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1VTQVJUX1RyYW5zbWl0KFVTQVJUX0hhbmRsZVR5cGVEZWYgKmh1c2FydCwgY29uc3QgdWludDhfdCAqcFR4RGF0YSwgdWludDE2X3QgU2l6ZSwgdWludDMyX3QgVGltZW91dCkKIHsKLSAgdWludDhfdCAgKnB0eGRhdGE4Yml0czsKLSAgdWludDE2X3QgKnB0eGRhdGExNmJpdHM7CisgIGNvbnN0IHVpbnQ4X3QgICpwdHhkYXRhOGJpdHM7CisgIGNvbnN0IHVpbnQxNl90ICpwdHhkYXRhMTZiaXRzOwogICB1aW50MzJfdCB0aWNrc3RhcnQ7CiAKICAgaWYgKGh1c2FydC0+U3RhdGUgPT0gSEFMX1VTQVJUX1NUQVRFX1JFQURZKQpAQCAtNzc1LDcgKzc3Niw3IEBACiAgICAgaWYgKChodXNhcnQtPkluaXQuV29yZExlbmd0aCA9PSBVU0FSVF9XT1JETEVOR1RIXzlCKSAmJiAoaHVzYXJ0LT5Jbml0LlBhcml0eSA9PSBVU0FSVF9QQVJJVFlfTk9ORSkpCiAgICAgewogICAgICAgcHR4ZGF0YThiaXRzICA9IE5VTEw7Ci0gICAgICBwdHhkYXRhMTZiaXRzID0gKHVpbnQxNl90ICopIHBUeERhdGE7CisgICAgICBwdHhkYXRhMTZiaXRzID0gKGNvbnN0IHVpbnQxNl90ICopIHBUeERhdGE7CiAgICAgfQogICAgIGVsc2UKICAgICB7CkBAIC05MzYsMTMgKzkzNywxMyBAQAogICAqIEBwYXJhbSAgVGltZW91dCBUaW1lb3V0IGR1cmF0aW9uCiAgICogQHJldHZhbCBIQUwgc3RhdHVzCiAgICovCi1IQUxfU3RhdHVzVHlwZURlZiBIQUxfVVNBUlRfVHJhbnNtaXRSZWNlaXZlKFVTQVJUX0hhbmRsZVR5cGVEZWYgKmh1c2FydCwgdWludDhfdCAqcFR4RGF0YSwgdWludDhfdCAqcFJ4RGF0YSwKK0hBTF9TdGF0dXNUeXBlRGVmIEhBTF9VU0FSVF9UcmFuc21pdFJlY2VpdmUoVVNBUlRfSGFuZGxlVHlwZURlZiAqaHVzYXJ0LCBjb25zdCB1aW50OF90ICpwVHhEYXRhLCB1aW50OF90ICpwUnhEYXRhLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MTZfdCBTaXplLCB1aW50MzJfdCBUaW1lb3V0KQogewogICB1aW50OF90ICAqcHJ4ZGF0YThiaXRzOwogICB1aW50MTZfdCAqcHJ4ZGF0YTE2Yml0czsKLSAgdWludDhfdCAgKnB0eGRhdGE4Yml0czsKLSAgdWludDE2X3QgKnB0eGRhdGExNmJpdHM7CisgIGNvbnN0IHVpbnQ4X3QgICpwdHhkYXRhOGJpdHM7CisgIGNvbnN0IHVpbnQxNl90ICpwdHhkYXRhMTZiaXRzOwogICB1aW50MTZfdCByeGRhdGFjb3VudDsKICAgdWludDMyX3QgdGlja3N0YXJ0OwogCkBAIC05ODIsNyArOTgzLDcgQEAKICAgICB7CiAgICAgICBwcnhkYXRhOGJpdHMgID0gTlVMTDsKICAgICAgIHB0eGRhdGE4Yml0cyAgPSBOVUxMOwotICAgICAgcHR4ZGF0YTE2Yml0cyA9ICh1aW50MTZfdCAqKSBwVHhEYXRhOworICAgICAgcHR4ZGF0YTE2Yml0cyA9IChjb25zdCB1aW50MTZfdCAqKSBwVHhEYXRhOwogICAgICAgcHJ4ZGF0YTE2Yml0cyA9ICh1aW50MTZfdCAqKSBwUnhEYXRhOwogICAgIH0KICAgICBlbHNlCkBAIC0xMDc2LDcgKzEwNzcsNyBAQAogICAqIEByZXR2YWwgSEFMIHN0YXR1cwogICAqIEBub3RlICAgVGhlIFVTQVJUIGVycm9ycyBhcmUgbm90IG1hbmFnZWQgdG8gYXZvaWQgdGhlIG92ZXJydW4gZXJyb3IuCiAgICovCi1IQUxfU3RhdHVzVHlwZURlZiBIQUxfVVNBUlRfVHJhbnNtaXRfSVQoVVNBUlRfSGFuZGxlVHlwZURlZiAqaHVzYXJ0LCB1aW50OF90ICpwVHhEYXRhLCB1aW50MTZfdCBTaXplKQorSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1VTQVJUX1RyYW5zbWl0X0lUKFVTQVJUX0hhbmRsZVR5cGVEZWYgKmh1c2FydCwgY29uc3QgdWludDhfdCAqcFR4RGF0YSwgdWludDE2X3QgU2l6ZSkKIHsKICAgaWYgKGh1c2FydC0+U3RhdGUgPT0gSEFMX1VTQVJUX1NUQVRFX1JFQURZKQogICB7CkBAIC0xMTUwLDggKzExNTEsMTYgQEAKICAgICAvKiBQcm9jZXNzIFVubG9ja2VkICovCiAgICAgX19IQUxfVU5MT0NLKGh1c2FydCk7CiAKLSAgICAvKiBFbmFibGUgdGhlIFVTQVJUIFBhcml0eSBFcnJvciBhbmQgRGF0YSBSZWdpc3RlciBub3QgZW1wdHkgSW50ZXJydXB0cyAqLwotICAgIFNFVF9CSVQoaHVzYXJ0LT5JbnN0YW5jZS0+Q1IxLCBVU0FSVF9DUjFfUEVJRSB8IFVTQVJUX0NSMV9SWE5FSUUpOworICAgIGlmIChodXNhcnQtPkluaXQuUGFyaXR5ICE9IFVTQVJUX1BBUklUWV9OT05FKQorICAgIHsKKyAgICAgIC8qIEVuYWJsZSB0aGUgVVNBUlQgUGFyaXR5IEVycm9yIGFuZCBEYXRhIFJlZ2lzdGVyIG5vdCBlbXB0eSBJbnRlcnJ1cHRzICovCisgICAgICBTRVRfQklUKGh1c2FydC0+SW5zdGFuY2UtPkNSMSwgVVNBUlRfQ1IxX1BFSUUgfCBVU0FSVF9DUjFfUlhORUlFKTsKKyAgICB9CisgICAgZWxzZQorICAgIHsKKyAgICAgIC8qIEVuYWJsZSB0aGUgVVNBUlQgRGF0YSBSZWdpc3RlciBub3QgZW1wdHkgSW50ZXJydXB0cyAqLworICAgICAgU0VUX0JJVChodXNhcnQtPkluc3RhbmNlLT5DUjEsIFVTQVJUX0NSMV9SWE5FSUUpOworICAgIH0KIAogICAgIC8qIEVuYWJsZSB0aGUgVVNBUlQgRXJyb3IgSW50ZXJydXB0OiAoRnJhbWUgZXJyb3IsIG5vaXNlIGVycm9yLCBvdmVycnVuIGVycm9yKSAqLwogICAgIFNFVF9CSVQoaHVzYXJ0LT5JbnN0YW5jZS0+Q1IzLCBVU0FSVF9DUjNfRUlFKTsKQEAgLTExNzksNyArMTE4OCw3IEBACiAgICogQHBhcmFtICBTaXplICAgIEFtb3VudCBvZiBkYXRhIGVsZW1lbnRzICh1OCBvciB1MTYpIHRvIGJlIHNlbnQgKHNhbWUgYW1vdW50IHRvIGJlIHJlY2VpdmVkKS4KICAgKiBAcmV0dmFsIEhBTCBzdGF0dXMKICAgKi8KLUhBTF9TdGF0dXNUeXBlRGVmIEhBTF9VU0FSVF9UcmFuc21pdFJlY2VpdmVfSVQoVVNBUlRfSGFuZGxlVHlwZURlZiAqaHVzYXJ0LCB1aW50OF90ICpwVHhEYXRhLCB1aW50OF90ICpwUnhEYXRhLAorSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1VTQVJUX1RyYW5zbWl0UmVjZWl2ZV9JVChVU0FSVF9IYW5kbGVUeXBlRGVmICpodXNhcnQsIGNvbnN0IHVpbnQ4X3QgKnBUeERhdGEsIHVpbnQ4X3QgKnBSeERhdGEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNl90IFNpemUpCiB7CiAgIGlmIChodXNhcnQtPlN0YXRlID09IEhBTF9VU0FSVF9TVEFURV9SRUFEWSkKQEAgLTEyMDcsOCArMTIxNiwxMSBAQAogICAgIC8qIEVuYWJsZSB0aGUgVVNBUlQgRGF0YSBSZWdpc3RlciBub3QgZW1wdHkgSW50ZXJydXB0ICovCiAgICAgU0VUX0JJVChodXNhcnQtPkluc3RhbmNlLT5DUjEsIFVTQVJUX0NSMV9SWE5FSUUpOwogCi0gICAgLyogRW5hYmxlIHRoZSBVU0FSVCBQYXJpdHkgRXJyb3IgSW50ZXJydXB0ICovCi0gICAgU0VUX0JJVChodXNhcnQtPkluc3RhbmNlLT5DUjEsIFVTQVJUX0NSMV9QRUlFKTsKKyAgICBpZiAoaHVzYXJ0LT5Jbml0LlBhcml0eSAhPSBVU0FSVF9QQVJJVFlfTk9ORSkKKyAgICB7CisgICAgICAvKiBFbmFibGUgdGhlIFVTQVJUIFBhcml0eSBFcnJvciBJbnRlcnJ1cHQgKi8KKyAgICAgIFNFVF9CSVQoaHVzYXJ0LT5JbnN0YW5jZS0+Q1IxLCBVU0FSVF9DUjFfUEVJRSk7CisgICAgfQogCiAgICAgLyogRW5hYmxlIHRoZSBVU0FSVCBFcnJvciBJbnRlcnJ1cHQ6IChGcmFtZSBlcnJvciwgbm9pc2UgZXJyb3IsIG92ZXJydW4gZXJyb3IpICovCiAgICAgU0VUX0JJVChodXNhcnQtPkluc3RhbmNlLT5DUjMsIFVTQVJUX0NSM19FSUUpOwpAQCAtMTIzNSw5ICsxMjQ3LDkgQEAKICAgKiBAcGFyYW0gIFNpemUgICAgQW1vdW50IG9mIGRhdGEgZWxlbWVudHMgKHU4IG9yIHUxNikgdG8gYmUgc2VudC4KICAgKiBAcmV0dmFsIEhBTCBzdGF0dXMKICAgKi8KLUhBTF9TdGF0dXNUeXBlRGVmIEhBTF9VU0FSVF9UcmFuc21pdF9ETUEoVVNBUlRfSGFuZGxlVHlwZURlZiAqaHVzYXJ0LCB1aW50OF90ICpwVHhEYXRhLCB1aW50MTZfdCBTaXplKQorSEFMX1N0YXR1c1R5cGVEZWYgSEFMX1VTQVJUX1RyYW5zbWl0X0RNQShVU0FSVF9IYW5kbGVUeXBlRGVmICpodXNhcnQsIGNvbnN0IHVpbnQ4X3QgKnBUeERhdGEsIHVpbnQxNl90IFNpemUpCiB7Ci0gIHVpbnQzMl90ICp0bXA7CisgIGNvbnN0IHVpbnQzMl90ICp0bXA7CiAKICAgaWYgKGh1c2FydC0+U3RhdGUgPT0gSEFMX1VTQVJUX1NUQVRFX1JFQURZKQogICB7CkBAIC0xMjY4LDggKzEyODAsOCBAQAogICAgIGh1c2FydC0+aGRtYXR4LT5YZmVyQWJvcnRDYWxsYmFjayA9IE5VTEw7CiAKICAgICAvKiBFbmFibGUgdGhlIFVTQVJUIHRyYW5zbWl0IERNQSBzdHJlYW0gKi8KLSAgICB0bXAgPSAodWludDMyX3QgKikmcFR4RGF0YTsKLSAgICBIQUxfRE1BX1N0YXJ0X0lUKGh1c2FydC0+aGRtYXR4LCAqKHVpbnQzMl90ICopdG1wLCAodWludDMyX3QpJmh1c2FydC0+SW5zdGFuY2UtPkRSLCBTaXplKTsKKyAgICB0bXAgPSAoY29uc3QgdWludDMyX3QgKikmcFR4RGF0YTsKKyAgICBIQUxfRE1BX1N0YXJ0X0lUKGh1c2FydC0+aGRtYXR4LCAqKGNvbnN0IHVpbnQzMl90ICopdG1wLCAodWludDMyX3QpJmh1c2FydC0+SW5zdGFuY2UtPkRSLCBTaXplKTsKIAogICAgIC8qIENsZWFyIHRoZSBUQyBmbGFnIGluIHRoZSBTUiByZWdpc3RlciBieSB3cml0aW5nIDAgdG8gaXQgKi8KICAgICBfX0hBTF9VU0FSVF9DTEVBUl9GTEFHKGh1c2FydCwgVVNBUlRfRkxBR19UQyk7CkBAIC0xMzYyLDggKzEzNzQsMTEgQEAKICAgICAvKiBQcm9jZXNzIFVubG9ja2VkICovCiAgICAgX19IQUxfVU5MT0NLKGh1c2FydCk7CiAKLSAgICAvKiBFbmFibGUgdGhlIFVTQVJUIFBhcml0eSBFcnJvciBJbnRlcnJ1cHQgKi8KLSAgICBTRVRfQklUKGh1c2FydC0+SW5zdGFuY2UtPkNSMSwgVVNBUlRfQ1IxX1BFSUUpOworICAgIGlmIChodXNhcnQtPkluaXQuUGFyaXR5ICE9IFVTQVJUX1BBUklUWV9OT05FKQorICAgIHsKKyAgICAgIC8qIEVuYWJsZSB0aGUgVVNBUlQgUGFyaXR5IEVycm9yIEludGVycnVwdCAqLworICAgICAgU0VUX0JJVChodXNhcnQtPkluc3RhbmNlLT5DUjEsIFVTQVJUX0NSMV9QRUlFKTsKKyAgICB9CiAKICAgICAvKiBFbmFibGUgdGhlIFVTQVJUIEVycm9yIEludGVycnVwdDogKEZyYW1lIGVycm9yLCBub2lzZSBlcnJvciwgb3ZlcnJ1biBlcnJvcikgKi8KICAgICBTRVRfQklUKGh1c2FydC0+SW5zdGFuY2UtPkNSMywgVVNBUlRfQ1IzX0VJRSk7CkBAIC0xMzk3LDEwICsxNDEyLDEwIEBACiAgICogQG5vdGUgICBXaGVuIHRoZSBVU0FSVCBwYXJpdHkgaXMgZW5hYmxlZCAoUENFID0gMSkgdGhlIGRhdGEgcmVjZWl2ZWQgY29udGFpbiB0aGUgcGFyaXR5IGJpdC4KICAgKiBAcmV0dmFsIEhBTCBzdGF0dXMKICAgKi8KLUhBTF9TdGF0dXNUeXBlRGVmIEhBTF9VU0FSVF9UcmFuc21pdFJlY2VpdmVfRE1BKFVTQVJUX0hhbmRsZVR5cGVEZWYgKmh1c2FydCwgdWludDhfdCAqcFR4RGF0YSwgdWludDhfdCAqcFJ4RGF0YSwKK0hBTF9TdGF0dXNUeXBlRGVmIEhBTF9VU0FSVF9UcmFuc21pdFJlY2VpdmVfRE1BKFVTQVJUX0hhbmRsZVR5cGVEZWYgKmh1c2FydCwgY29uc3QgdWludDhfdCAqcFR4RGF0YSwgdWludDhfdCAqcFJ4RGF0YSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNl90IFNpemUpCiB7Ci0gIHVpbnQzMl90ICp0bXA7CisgIGNvbnN0IHVpbnQzMl90ICp0bXA7CiAKICAgaWYgKGh1c2FydC0+U3RhdGUgPT0gSEFMX1VTQVJUX1NUQVRFX1JFQURZKQogICB7CkBAIC0xNDQyLDExICsxNDU3LDExIEBACiAKICAgICAvKiBFbmFibGUgdGhlIFVTQVJUIHJlY2VpdmUgRE1BIHN0cmVhbSAqLwogICAgIHRtcCA9ICh1aW50MzJfdCAqKSZwUnhEYXRhOwotICAgIEhBTF9ETUFfU3RhcnRfSVQoaHVzYXJ0LT5oZG1hcngsICh1aW50MzJfdCkmaHVzYXJ0LT5JbnN0YW5jZS0+RFIsICoodWludDMyX3QgKil0bXAsIFNpemUpOworICAgIEhBTF9ETUFfU3RhcnRfSVQoaHVzYXJ0LT5oZG1hcngsICh1aW50MzJfdCkmaHVzYXJ0LT5JbnN0YW5jZS0+RFIsICooY29uc3QgdWludDMyX3QgKil0bXAsIFNpemUpOwogCiAgICAgLyogRW5hYmxlIHRoZSBVU0FSVCB0cmFuc21pdCBETUEgc3RyZWFtICovCi0gICAgdG1wID0gKHVpbnQzMl90ICopJnBUeERhdGE7Ci0gICAgSEFMX0RNQV9TdGFydF9JVChodXNhcnQtPmhkbWF0eCwgKih1aW50MzJfdCAqKXRtcCwgKHVpbnQzMl90KSZodXNhcnQtPkluc3RhbmNlLT5EUiwgU2l6ZSk7CisgICAgdG1wID0gKGNvbnN0IHVpbnQzMl90ICopJnBUeERhdGE7CisgICAgSEFMX0RNQV9TdGFydF9JVChodXNhcnQtPmhkbWF0eCwgKihjb25zdCB1aW50MzJfdCAqKXRtcCwgKHVpbnQzMl90KSZodXNhcnQtPkluc3RhbmNlLT5EUiwgU2l6ZSk7CiAKICAgICAvKiBDbGVhciB0aGUgVEMgZmxhZyBpbiB0aGUgU1IgcmVnaXN0ZXIgYnkgd3JpdGluZyAwIHRvIGl0ICovCiAgICAgX19IQUxfVVNBUlRfQ0xFQVJfRkxBRyhodXNhcnQsIFVTQVJUX0ZMQUdfVEMpOwpAQCAtMTQ1Nyw4ICsxNDcyLDExIEBACiAgICAgLyogUHJvY2VzcyBVbmxvY2tlZCAqLwogICAgIF9fSEFMX1VOTE9DSyhodXNhcnQpOwogCi0gICAgLyogRW5hYmxlIHRoZSBVU0FSVCBQYXJpdHkgRXJyb3IgSW50ZXJydXB0ICovCi0gICAgU0VUX0JJVChodXNhcnQtPkluc3RhbmNlLT5DUjEsIFVTQVJUX0NSMV9QRUlFKTsKKyAgICBpZiAoaHVzYXJ0LT5Jbml0LlBhcml0eSAhPSBVU0FSVF9QQVJJVFlfTk9ORSkKKyAgICB7CisgICAgICAvKiBFbmFibGUgdGhlIFVTQVJUIFBhcml0eSBFcnJvciBJbnRlcnJ1cHQgKi8KKyAgICAgIFNFVF9CSVQoaHVzYXJ0LT5JbnN0YW5jZS0+Q1IxLCBVU0FSVF9DUjFfUEVJRSk7CisgICAgfQogCiAgICAgLyogRW5hYmxlIHRoZSBVU0FSVCBFcnJvciBJbnRlcnJ1cHQ6IChGcmFtZSBlcnJvciwgbm9pc2UgZXJyb3IsIG92ZXJydW4gZXJyb3IpICovCiAgICAgU0VUX0JJVChodXNhcnQtPkluc3RhbmNlLT5DUjMsIFVTQVJUX0NSM19FSUUpOwpAQCAtMjI5MSwxMSArMjMwOSwxMiBAQAogfQogCiAvKioKLSAgKiBAYnJpZWYgIFRoaXMgZnVuY3Rpb24gaGFuZGxlcyBVU0FSVCBDb21tdW5pY2F0aW9uIFRpbWVvdXQuCisgICogQGJyaWVmICBUaGlzIGZ1bmN0aW9uIGhhbmRsZXMgVVNBUlQgQ29tbXVuaWNhdGlvbiBUaW1lb3V0LiBJdCB3YWl0cworICAqICAgICAgICAgdW50aWwgYSBmbGFnIGlzIG5vIGxvbmdlciBpbiB0aGUgc3BlY2lmaWVkIHN0YXR1cy4KICAgKiBAcGFyYW0gIGh1c2FydCBQb2ludGVyIHRvIGEgVVNBUlRfSGFuZGxlVHlwZURlZiBzdHJ1Y3R1cmUgdGhhdCBjb250YWlucwogICAqICAgICAgICAgICAgICAgIHRoZSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIGZvciB0aGUgc3BlY2lmaWVkIFVTQVJUIG1vZHVsZS4KICAgKiBAcGFyYW0gIEZsYWcgc3BlY2lmaWVzIHRoZSBVU0FSVCBmbGFnIHRvIGNoZWNrLgotICAqIEBwYXJhbSAgU3RhdHVzIFRoZSBuZXcgRmxhZyBzdGF0dXMgKFNFVCBvciBSRVNFVCkuCisgICogQHBhcmFtICBTdGF0dXMgVGhlIGFjdHVhbCBGbGFnIHN0YXR1cyAoU0VUIG9yIFJFU0VUKS4KICAgKiBAcGFyYW0gIFRpY2tzdGFydCBUaWNrIHN0YXJ0IHZhbHVlLgogICAqIEBwYXJhbSAgVGltZW91dCBUaW1lb3V0IGR1cmF0aW9uLgogICAqIEByZXR2YWwgSEFMIHN0YXR1cwpAQCAtMjQ4MCwxMyArMjQ5OSwxMyBAQAogICAqLwogc3RhdGljIEhBTF9TdGF0dXNUeXBlRGVmIFVTQVJUX1RyYW5zbWl0X0lUKFVTQVJUX0hhbmRsZVR5cGVEZWYgKmh1c2FydCkKIHsKLSAgdWludDE2X3QgKnRtcDsKKyAgY29uc3QgdWludDE2X3QgKnRtcDsKIAogICBpZiAoaHVzYXJ0LT5TdGF0ZSA9PSBIQUxfVVNBUlRfU1RBVEVfQlVTWV9UWCkKICAgewogICAgIGlmICgoaHVzYXJ0LT5Jbml0LldvcmRMZW5ndGggPT0gVVNBUlRfV09SRExFTkdUSF85QikgJiYgKGh1c2FydC0+SW5pdC5QYXJpdHkgPT0gVVNBUlRfUEFSSVRZX05PTkUpKQogICAgIHsKLSAgICAgIHRtcCA9ICh1aW50MTZfdCAqKSBodXNhcnQtPnBUeEJ1ZmZQdHI7CisgICAgICB0bXAgPSAoY29uc3QgdWludDE2X3QgKikgaHVzYXJ0LT5wVHhCdWZmUHRyOwogICAgICAgaHVzYXJ0LT5JbnN0YW5jZS0+RFIgPSAodWludDE2X3QpKCp0bXAgJiAodWludDE2X3QpMHgwMUZGKTsKICAgICAgIGh1c2FydC0+cFR4QnVmZlB0ciArPSAyVTsKICAgICB9CkBAIC0yNjIyLDggKzI2NDEsOCBAQAogICAqLwogc3RhdGljIEhBTF9TdGF0dXNUeXBlRGVmIFVTQVJUX1RyYW5zbWl0UmVjZWl2ZV9JVChVU0FSVF9IYW5kbGVUeXBlRGVmICpodXNhcnQpCiB7Ci0gIHVpbnQ4X3QgICpwZGF0YThiaXRzOwotICB1aW50MTZfdCAqcGRhdGExNmJpdHM7CisgIGNvbnN0IHVpbnQxNl90ICpwZGF0YXR4MTZiaXRzOworICB1aW50MTZfdCAqcGRhdGFyeDE2Yml0czsKIAogICBpZiAoaHVzYXJ0LT5TdGF0ZSA9PSBIQUxfVVNBUlRfU1RBVEVfQlVTWV9UWF9SWCkKICAgewpAQCAtMjYzMyw5ICsyNjUyLDggQEAKICAgICAgIHsKICAgICAgICAgaWYgKChodXNhcnQtPkluaXQuV29yZExlbmd0aCA9PSBVU0FSVF9XT1JETEVOR1RIXzlCKSAmJiAoaHVzYXJ0LT5Jbml0LlBhcml0eSA9PSBVU0FSVF9QQVJJVFlfTk9ORSkpCiAgICAgICAgIHsKLSAgICAgICAgICBwZGF0YThiaXRzICA9IE5VTEw7Ci0gICAgICAgICAgcGRhdGExNmJpdHMgPSAodWludDE2X3QgKikgaHVzYXJ0LT5wVHhCdWZmUHRyOwotICAgICAgICAgIGh1c2FydC0+SW5zdGFuY2UtPkRSID0gKHVpbnQxNl90KSgqcGRhdGExNmJpdHMgJiAodWludDE2X3QpMHgwMUZGKTsKKyAgICAgICAgICBwZGF0YXR4MTZiaXRzID0gKGNvbnN0IHVpbnQxNl90ICopIGh1c2FydC0+cFR4QnVmZlB0cjsKKyAgICAgICAgICBodXNhcnQtPkluc3RhbmNlLT5EUiA9ICh1aW50MTZfdCkoKnBkYXRhdHgxNmJpdHMgJiAodWludDE2X3QpMHgwMUZGKTsKICAgICAgICAgICBodXNhcnQtPnBUeEJ1ZmZQdHIgKz0gMlU7CiAgICAgICAgIH0KICAgICAgICAgZWxzZQpAQCAtMjY1OSwyMiArMjY3NywxOSBAQAogICAgICAgewogICAgICAgICBpZiAoKGh1c2FydC0+SW5pdC5Xb3JkTGVuZ3RoID09IFVTQVJUX1dPUkRMRU5HVEhfOUIpICYmIChodXNhcnQtPkluaXQuUGFyaXR5ID09IFVTQVJUX1BBUklUWV9OT05FKSkKICAgICAgICAgewotICAgICAgICAgIHBkYXRhOGJpdHMgID0gTlVMTDsKLSAgICAgICAgICBwZGF0YTE2Yml0cyA9ICh1aW50MTZfdCAqKSBodXNhcnQtPnBSeEJ1ZmZQdHI7Ci0gICAgICAgICAgKnBkYXRhMTZiaXRzID0gKHVpbnQxNl90KShodXNhcnQtPkluc3RhbmNlLT5EUiAmICh1aW50MTZfdCkweDAxRkYpOworICAgICAgICAgIHBkYXRhcngxNmJpdHMgPSAodWludDE2X3QgKikgaHVzYXJ0LT5wUnhCdWZmUHRyOworICAgICAgICAgICpwZGF0YXJ4MTZiaXRzID0gKHVpbnQxNl90KShodXNhcnQtPkluc3RhbmNlLT5EUiAmICh1aW50MTZfdCkweDAxRkYpOwogICAgICAgICAgIGh1c2FydC0+cFJ4QnVmZlB0ciArPSAyVTsKICAgICAgICAgfQogICAgICAgICBlbHNlCiAgICAgICAgIHsKLSAgICAgICAgICBwZGF0YThiaXRzID0gKHVpbnQ4X3QgKikgaHVzYXJ0LT5wUnhCdWZmUHRyOwotICAgICAgICAgIHBkYXRhMTZiaXRzICA9IE5VTEw7CiAgICAgICAgICAgaWYgKChodXNhcnQtPkluaXQuV29yZExlbmd0aCA9PSBVU0FSVF9XT1JETEVOR1RIXzlCKSB8fCAoKGh1c2FydC0+SW5pdC5Xb3JkTGVuZ3RoID09IFVTQVJUX1dPUkRMRU5HVEhfOEIpICYmIChodXNhcnQtPkluaXQuUGFyaXR5ID09IFVTQVJUX1BBUklUWV9OT05FKSkpCiAgICAgICAgICAgewotICAgICAgICAgICAgKnBkYXRhOGJpdHMgPSAodWludDhfdCkoaHVzYXJ0LT5JbnN0YW5jZS0+RFIgJiAodWludDhfdCkweDAwRkYpOworICAgICAgICAgICAgKmh1c2FydC0+cFJ4QnVmZlB0ciA9ICh1aW50OF90KShodXNhcnQtPkluc3RhbmNlLT5EUiAmICh1aW50OF90KTB4MDBGRik7CiAgICAgICAgICAgfQogICAgICAgICAgIGVsc2UKICAgICAgICAgICB7Ci0gICAgICAgICAgICAqcGRhdGE4Yml0cyA9ICh1aW50OF90KShodXNhcnQtPkluc3RhbmNlLT5EUiAmICh1aW50OF90KTB4MDA3Rik7CisgICAgICAgICAgICAqaHVzYXJ0LT5wUnhCdWZmUHRyID0gKHVpbnQ4X3QpKGh1c2FydC0+SW5zdGFuY2UtPkRSICYgKHVpbnQ4X3QpMHgwMDdGKTsKICAgICAgICAgICB9CiAgICAgICAgICAgaHVzYXJ0LT5wUnhCdWZmUHRyICs9IDFVOwogICAgICAgICB9CkBAIC0yODIxLDQgKzI4MzYsMyBAQAogICAqIEB9CiAgICovCiAKLS8qKioqKioqKioqKioqKioqKioqKioqKiogKEMpIENPUFlSSUdIVCBTVE1pY3JvZWxlY3Ryb25pY3MgKioqKipFTkQgT0YgRklMRSoqKiovCmRpZmYgLS1naXQgYS9TcmMvc3RtMzJmNHh4X2hhbF93d2RnLmMgYi9TcmMvc3RtMzJmNHh4X2hhbF93d2RnLmMKaW5kZXggZDFlMmZhMC4uMjE2ZWEyYiAxMDA2NDQKLS0tIGEvU3JjL3N0bTMyZjR4eF9oYWxfd3dkZy5jCisrKyBiL1NyYy9zdG0zMmY0eHhfaGFsX3d3ZGcuYwpAQCAtNyw2ICs3LDE3IEBACiAgICogICAgICAgICAgZnVuY3Rpb25hbGl0aWVzIG9mIHRoZSBXaW5kb3cgV2F0Y2hkb2cgKFdXREcpIHBlcmlwaGVyYWw6CiAgICogICAgICAgICAgICsgSW5pdGlhbGl6YXRpb24gYW5kIENvbmZpZ3VyYXRpb24gZnVuY3Rpb25zCiAgICogICAgICAgICAgICsgSU8gb3BlcmF0aW9uIGZ1bmN0aW9ucworICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAgKiBAYXR0ZW50aW9uCisgICoKKyAgKiBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgorICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgICoKKyAgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIHVuZGVyIHRlcm1zIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUKKyAgKiBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb2Z0d2FyZSBjb21wb25lbnQuCisgICogSWYgbm8gTElDRU5TRSBmaWxlIGNvbWVzIHdpdGggdGhpcyBzb2Z0d2FyZSwgaXQgaXMgcHJvdmlkZWQgQVMtSVMuCisgICoKKyAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgIEB2ZXJiYXRpbQogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgICAgICAgICAgICAgICAgICAgICAjIyMjIyBXV0RHIFNwZWNpZmljIGZlYXR1cmVzICMjIyMjCkBAIC00MCw3ICs1MSw3IEBACiAgICAgICAgICgrKykgbWF4IHRpbWUgKG1TKSA9IDEwMDAgKiAoQ291bnRlciAtIDB4NDApIC8gV1dERyBjbG9jawogICAgICgrKSBUeXBpY2FsIHZhbHVlczoKICAgICAgICAgKCsrKSBDb3VudGVyIG1pbiAoVFs1OzBdID0gMHgwMCkgYXQgNDJNSHogKFBDTEsxKSB3aXRoIHplcm8gcHJlc2NhbGVyOgotICAgICAgICAgICAgIG1heCB0aW1lb3V0IGJlZm9yZSByZXNldDogYXBwcm94aW1hdGVseSA5Ny41MrVzCisgICAgICAgICAgICAgbWF4IHRpbWVvdXQgYmVmb3JlIHJlc2V0OiBhcHByb3hpbWF0ZWx5IDk3LjUydXMKICAgICAgICAgKCsrKSBDb3VudGVyIG1heCAoVFs1OzBdID0gMHgzRikgYXQgNDJNSHogKFBDTEsxKSB3aXRoIHByZXNjYWxlcgogICAgICAgICAgICAgIGRpdmlkaW5nIGJ5IDg6CiAgICAgICAgICAgICAgbWF4IHRpbWVvdXQgYmVmb3JlIHJlc2V0OiBhcHByb3hpbWF0ZWx5IDQ5LjkzbXMKQEAgLTU1LDcgKzY2LDcgQEAKICAgICAoKykgRW5hYmxlIFdXREcgQVBCMSBjbG9jayB1c2luZyBfX0hBTF9SQ0NfV1dER19DTEtfRU5BQkxFKCkuCiAgICAgKCspIENvbmZpZ3VyZSB0aGUgV1dERyBwcmVzY2FsZXIsIHJlZnJlc2ggd2luZG93IHZhbHVlLCBjb3VudGVyIHZhbHVlIGFuZCBlYXJseQogICAgICAgICBpbnRlcnJ1cHQgc3RhdHVzIHVzaW5nIEhBTF9XV0RHX0luaXQoKSBmdW5jdGlvbi4gVGhpcyB3aWxsIGF1dG9tYXRpY2FsbHkKLSAgICAgICAgZW5hYmxlIFdXREcgYW5kIHN0YXJ0IGl0cyBkb3duY291bnRlci4gVGltZSByZWZlcmVuY2UgY2FuIGJlIHRha2VuIGZyb20gCisgICAgICAgIGVuYWJsZSBXV0RHIGFuZCBzdGFydCBpdHMgZG93bmNvdW50ZXIuIFRpbWUgcmVmZXJlbmNlIGNhbiBiZSB0YWtlbiBmcm9tCiAgICAgICAgIGZ1bmN0aW9uIGV4aXQuIENhcmUgbXVzdCBiZSB0YWtlbiB0byBwcm92aWRlIGEgY291bnRlciB2YWx1ZQogICAgICAgICBncmVhdGVyIHRoYW4gMHg0MCB0byBwcmV2ZW50IGdlbmVyYXRpb24gb2YgaW1tZWRpYXRlIHJlc2V0LgogICAgICgrKSBJZiB0aGUgRWFybHkgV2FrZXVwIEludGVycnVwdCAoRVdJKSBmZWF0dXJlIGlzIGVuYWJsZWQsIGFuIGludGVycnVwdCBpcwpAQCAtMTEyLDE3ICsxMjMsNiBAQAogCiAgIEBlbmR2ZXJiYXRpbQogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAgKiBAYXR0ZW50aW9uCi0gICoKLSAgKiA8aDI+PGNlbnRlcj4mY29weTsgQ29weXJpZ2h0IChjKSAyMDE2IFNUTWljcm9lbGVjdHJvbmljcy4KLSAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvY2VudGVyPjwvaDI+Ci0gICoKLSAgKiBUaGlzIHNvZnR3YXJlIGNvbXBvbmVudCBpcyBsaWNlbnNlZCBieSBTVCB1bmRlciBCU0QgMy1DbGF1c2UgbGljZW5zZSwKLSAgKiB0aGUgIkxpY2Vuc2UiOyBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlCi0gICogTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0OgotICAqICAgICAgICAgICAgICAgICAgICAgICAgb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvQlNELTMtQ2xhdXNlCi0gICoKLSAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICovCiAKIC8qIEluY2x1ZGVzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCkBAIC00MTgsNSArNDE4LDMgQEAKIC8qKgogICAqIEB9CiAgICovCi0KLS8qKioqKioqKioqKioqKioqKioqKioqKiogKEMpIENPUFlSSUdIVCBTVE1pY3JvZWxlY3Ryb25pY3MgKioqKipFTkQgT0YgRklMRSoqKiovCmRpZmYgLS1naXQgYS9TcmMvc3RtMzJmNHh4X2xsX2FkYy5jIGIvU3JjL3N0bTMyZjR4eF9sbF9hZGMuYwppbmRleCA1NzEwZTI2Li41Zjg4MGZmIDEwMDY0NAotLS0gYS9TcmMvc3RtMzJmNHh4X2xsX2FkYy5jCisrKyBiL1NyYy9zdG0zMmY0eHhfbGxfYWRjLmMKQEAgLTYsMTMgKzYsMTIgQEAKICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICogQGF0dGVudGlvbgogICAqCi0gICogPGgyPjxjZW50ZXI+JmNvcHk7IENvcHlyaWdodCAoYykgMjAxNyBTVE1pY3JvZWxlY3Ryb25pY3MuCi0gICogQWxsIHJpZ2h0cyByZXNlcnZlZC48L2NlbnRlcj48L2gyPgorICAqIENvcHlyaWdodCAoYykgMjAxNyBTVE1pY3JvZWxlY3Ryb25pY3MuCisgICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgKgotICAqIFRoaXMgc29mdHdhcmUgY29tcG9uZW50IGlzIGxpY2Vuc2VkIGJ5IFNUIHVuZGVyIEJTRCAzLUNsYXVzZSBsaWNlbnNlLAotICAqIHRoZSAiTGljZW5zZSI7IFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUKLSAgKiBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQ6Ci0gICogICAgICAgICAgICAgICAgICAgICAgICBvcGVuc291cmNlLm9yZy9saWNlbnNlcy9CU0QtMy1DbGF1c2UKKyAgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIHVuZGVyIHRlcm1zIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUKKyAgKiBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb2Z0d2FyZSBjb21wb25lbnQuCisgICogSWYgbm8gTElDRU5TRSBmaWxlIGNvbWVzIHdpdGggdGhpcyBzb2Z0d2FyZSwgaXQgaXMgcHJvdmlkZWQgQVMtSVMuCiAgICoKICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICovCkBAIC05MjEsNCArOTIwLDMgQEAKIAogI2VuZGlmIC8qIFVTRV9GVUxMX0xMX0RSSVZFUiAqLwogCi0vKioqKioqKioqKioqKioqKioqKioqKioqIChDKSBDT1BZUklHSFQgU1RNaWNyb2VsZWN0cm9uaWNzICoqKioqRU5EIE9GIEZJTEUqKioqLwpkaWZmIC0tZ2l0IGEvU3JjL3N0bTMyZjR4eF9sbF9jcmMuYyBiL1NyYy9zdG0zMmY0eHhfbGxfY3JjLmMKaW5kZXggMzcyZTJmMi4uMTEzODc5MyAxMDA2NDQKLS0tIGEvU3JjL3N0bTMyZjR4eF9sbF9jcmMuYworKysgYi9TcmMvc3RtMzJmNHh4X2xsX2NyYy5jCkBAIC02LDEzICs2LDEyIEBACiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqIEBhdHRlbnRpb24KICAgKgotICAqIDxoMj48Y2VudGVyPiZjb3B5OyBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9jZW50ZXI+PC9oMj4KKyAgKiBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgorICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICoKLSAgKiBUaGlzIHNvZnR3YXJlIGNvbXBvbmVudCBpcyBsaWNlbnNlZCBieSBTVCB1bmRlciBCU0QgMy1DbGF1c2UgbGljZW5zZSwKLSAgKiB0aGUgIkxpY2Vuc2UiOyBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlCi0gICogTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0OgotICAqICAgICAgICAgICAgICAgICAgICAgICAgb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvQlNELTMtQ2xhdXNlCisgICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciB0ZXJtcyB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlCisgICogaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc29mdHdhcmUgY29tcG9uZW50LgorICAqIElmIG5vIExJQ0VOU0UgZmlsZSBjb21lcyB3aXRoIHRoaXMgc29mdHdhcmUsIGl0IGlzIHByb3ZpZGVkIEFTLUlTLgogICAqCiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqLwpAQCAtMjYsNyArMjUsNyBAQAogI2luY2x1ZGUgInN0bTMyX2Fzc2VydC5oIgogI2Vsc2UKICNkZWZpbmUgYXNzZXJ0X3BhcmFtKGV4cHIpICgodm9pZCkwVSkKLSNlbmRpZi8qIFVTRV9GVUxMX0FTU0VSVCAqLworI2VuZGlmIC8qIFVTRV9GVUxMX0FTU0VSVCAqLwogCiAvKiogQGFkZHRvZ3JvdXAgU1RNMzJGNHh4X0xMX0RyaXZlcgogICAqIEB7CkBAIC0xMDIsNiArMTAxLDMgQEAKICAgKi8KIAogI2VuZGlmIC8qIFVTRV9GVUxMX0xMX0RSSVZFUiAqLwotCi0vKioqKioqKioqKioqKioqKioqKioqKioqIChDKSBDT1BZUklHSFQgU1RNaWNyb2VsZWN0cm9uaWNzICoqKioqRU5EIE9GIEZJTEUqKioqLwotCmRpZmYgLS1naXQgYS9TcmMvc3RtMzJmNHh4X2xsX2RhYy5jIGIvU3JjL3N0bTMyZjR4eF9sbF9kYWMuYwppbmRleCAxMzE2NTA0Li4wYTVjMmZmIDEwMDY0NAotLS0gYS9TcmMvc3RtMzJmNHh4X2xsX2RhYy5jCisrKyBiL1NyYy9zdG0zMmY0eHhfbGxfZGFjLmMKQEAgLTYsMTMgKzYsMTIgQEAKICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICogQGF0dGVudGlvbgogICAqCi0gICogPGgyPjxjZW50ZXI+JmNvcHk7IENvcHlyaWdodCAoYykgMjAxNiBTVE1pY3JvZWxlY3Ryb25pY3MuCi0gICogQWxsIHJpZ2h0cyByZXNlcnZlZC48L2NlbnRlcj48L2gyPgorICAqIENvcHlyaWdodCAoYykgMjAxNiBTVE1pY3JvZWxlY3Ryb25pY3MuCisgICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgKgotICAqIFRoaXMgc29mdHdhcmUgY29tcG9uZW50IGlzIGxpY2Vuc2VkIGJ5IFNUIHVuZGVyIEJTRCAzLUNsYXVzZSBsaWNlbnNlLAotICAqIHRoZSAiTGljZW5zZSI7IFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUKLSAgKiBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQ6Ci0gICogICAgICAgICAgICAgICAgICAgICAgICBvcGVuc291cmNlLm9yZy9saWNlbnNlcy9CU0QtMy1DbGF1c2UKKyAgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIHVuZGVyIHRlcm1zIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUKKyAgKiBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb2Z0d2FyZSBjb21wb25lbnQuCisgICogSWYgbm8gTElDRU5TRSBmaWxlIGNvbWVzIHdpdGggdGhpcyBzb2Z0d2FyZSwgaXQgaXMgcHJvdmlkZWQgQVMtSVMuCiAgICoKICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICovCkBAIC0yNzksNCArMjc4LDMgQEAKIAogI2VuZGlmIC8qIFVTRV9GVUxMX0xMX0RSSVZFUiAqLwogCi0vKioqKioqKioqKioqKioqKioqKioqKioqIChDKSBDT1BZUklHSFQgU1RNaWNyb2VsZWN0cm9uaWNzICoqKioqRU5EIE9GIEZJTEUqKioqLwpkaWZmIC0tZ2l0IGEvU3JjL3N0bTMyZjR4eF9sbF9kbWEuYyBiL1NyYy9zdG0zMmY0eHhfbGxfZG1hLmMKaW5kZXggZTRjYmFlNC4uYTgzYzA4NiAxMDA2NDQKLS0tIGEvU3JjL3N0bTMyZjR4eF9sbF9kbWEuYworKysgYi9TcmMvc3RtMzJmNHh4X2xsX2RtYS5jCkBAIC02LDEzICs2LDEyIEBACiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqIEBhdHRlbnRpb24KICAgKgotICAqIDxoMj48Y2VudGVyPiZjb3B5OyBDb3B5cmlnaHQgKGMpIDIwMTcgU1RNaWNyb2VsZWN0cm9uaWNzLgotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9jZW50ZXI+PC9oMj4KKyAgKiBDb3B5cmlnaHQgKGMpIDIwMTcgU1RNaWNyb2VsZWN0cm9uaWNzLgorICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICoKLSAgKiBUaGlzIHNvZnR3YXJlIGNvbXBvbmVudCBpcyBsaWNlbnNlZCBieSBTVCB1bmRlciBCU0QgMy1DbGF1c2UgbGljZW5zZSwKLSAgKiB0aGUgIkxpY2Vuc2UiOyBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlCi0gICogTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0OgotICAqICAgICAgICAgICAgICAgICAgICAgICAgb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvQlNELTMtQ2xhdXNlCisgICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciB0ZXJtcyB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGluCisgICogdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc29mdHdhcmUgY29tcG9uZW50LgorICAqIElmIG5vIExJQ0VOU0UgZmlsZSBjb21lcyB3aXRoIHRoaXMgc29mdHdhcmUsIGl0IGlzIHByb3ZpZGVkIEFTLUlTLgogICAqCiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqLwpAQCAtNDIyLDQgKzQyMSwzIEBACiAKICNlbmRpZiAvKiBVU0VfRlVMTF9MTF9EUklWRVIgKi8KIAotLyoqKioqKioqKioqKioqKioqKioqKioqKiAoQykgQ09QWVJJR0hUIFNUTWljcm9lbGVjdHJvbmljcyAqKioqKkVORCBPRiBGSUxFKioqKi8KZGlmZiAtLWdpdCBhL1NyYy9zdG0zMmY0eHhfbGxfZG1hMmQuYyBiL1NyYy9zdG0zMmY0eHhfbGxfZG1hMmQuYwppbmRleCA5Mjk0MWM0Li45ZjZjOGY1IDEwMDY0NAotLS0gYS9TcmMvc3RtMzJmNHh4X2xsX2RtYTJkLmMKKysrIGIvU3JjL3N0bTMyZjR4eF9sbF9kbWEyZC5jCkBAIC02LDEzICs2LDEyIEBACiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqIEBhdHRlbnRpb24KICAgKgotICAqIDxoMj48Y2VudGVyPiZjb3B5OyBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9jZW50ZXI+PC9oMj4KKyAgKiBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgorICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICoKLSAgKiBUaGlzIHNvZnR3YXJlIGNvbXBvbmVudCBpcyBsaWNlbnNlZCBieSBTVCB1bmRlciBCU0QgMy1DbGF1c2UgbGljZW5zZSwKLSAgKiB0aGUgIkxpY2Vuc2UiOyBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlCi0gICogTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0OgotICAqICAgICAgICAgICAgICAgICAgICAgICAgb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvQlNELTMtQ2xhdXNlCisgICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciB0ZXJtcyB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlCisgICogaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc29mdHdhcmUgY29tcG9uZW50LgorICAqIElmIG5vIExJQ0VOU0UgZmlsZSBjb21lcyB3aXRoIHRoaXMgc29mdHdhcmUsIGl0IGlzIHByb3ZpZGVkIEFTLUlTLgogICAqCiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqLwpAQCAtNTkzLDYgKzU5MiwzIEBACiAgICovCiAKICNlbmRpZiAvKiBVU0VfRlVMTF9MTF9EUklWRVIgKi8KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKiAoQykgQ09QWVJJR0hUIFNUTWljcm9lbGVjdHJvbmljcyAqKioqKkVORCBPRiBGSUxFKioqKi8KLQpkaWZmIC0tZ2l0IGEvU3JjL3N0bTMyZjR4eF9sbF9leHRpLmMgYi9TcmMvc3RtMzJmNHh4X2xsX2V4dGkuYwppbmRleCAzMWQ3MGFjLi5jZTJmN2IwIDEwMDY0NAotLS0gYS9TcmMvc3RtMzJmNHh4X2xsX2V4dGkuYworKysgYi9TcmMvc3RtMzJmNHh4X2xsX2V4dGkuYwpAQCAtNiwxMyArNiwxMiBAQAogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKiBAYXR0ZW50aW9uCiAgICoKLSAgKiA8aDI+PGNlbnRlcj4mY29weTsgQ29weXJpZ2h0IChjKSAyMDE2IFNUTWljcm9lbGVjdHJvbmljcy4KLSAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvY2VudGVyPjwvaDI+CisgICogQ29weXJpZ2h0IChjKSAyMDE2IFNUTWljcm9lbGVjdHJvbmljcy4KKyAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAqCi0gICogVGhpcyBzb2Z0d2FyZSBjb21wb25lbnQgaXMgbGljZW5zZWQgYnkgU1QgdW5kZXIgQlNEIDMtQ2xhdXNlIGxpY2Vuc2UsCi0gICogdGhlICJMaWNlbnNlIjsgWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZQotICAqIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdDoKLSAgKiAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZQorICAqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgdW5kZXIgdGVybXMgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZQorICAqIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvZnR3YXJlIGNvbXBvbmVudC4KKyAgKiBJZiBubyBMSUNFTlNFIGZpbGUgY29tZXMgd2l0aCB0aGlzIHNvZnR3YXJlLCBpdCBpcyBwcm92aWRlZCBBUy1JUy5DbGF1c2UKICAgKgogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKi8KQEAgLTIxMSw0ICsyMTAsMyBAQAogCiAjZW5kaWYgLyogVVNFX0ZVTExfTExfRFJJVkVSICovCiAKLS8qKioqKioqKioqKioqKioqKioqKioqKiogKEMpIENPUFlSSUdIVCBTVE1pY3JvZWxlY3Ryb25pY3MgKioqKipFTkQgT0YgRklMRSoqKiovCmRpZmYgLS1naXQgYS9TcmMvc3RtMzJmNHh4X2xsX2ZtYy5jIGIvU3JjL3N0bTMyZjR4eF9sbF9mbWMuYwppbmRleCAyZTRkYWRiLi4xYmRmOWRlIDEwMDY0NAotLS0gYS9TcmMvc3RtMzJmNHh4X2xsX2ZtYy5jCisrKyBiL1NyYy9zdG0zMmY0eHhfbGxfZm1jLmMKQEAgLTMsMjcgKzMsMzggQEAKICAgKiBAZmlsZSAgICBzdG0zMmY0eHhfbGxfZm1jLmMKICAgKiBAYXV0aG9yICBNQ0QgQXBwbGljYXRpb24gVGVhbQogICAqIEBicmllZiAgIEZNQyBMb3cgTGF5ZXIgSEFMIG1vZHVsZSBkcml2ZXIuCi0gICogICAgCi0gICogICAgICAgICAgVGhpcyBmaWxlIHByb3ZpZGVzIGZpcm13YXJlIGZ1bmN0aW9ucyB0byBtYW5hZ2UgdGhlIGZvbGxvd2luZyAKKyAgKgorICAqICAgICAgICAgIFRoaXMgZmlsZSBwcm92aWRlcyBmaXJtd2FyZSBmdW5jdGlvbnMgdG8gbWFuYWdlIHRoZSBmb2xsb3dpbmcKICAgKiAgICAgICAgICBmdW5jdGlvbmFsaXRpZXMgb2YgdGhlIEZsZXhpYmxlIE1lbW9yeSBDb250cm9sbGVyIChGTUMpIHBlcmlwaGVyYWwgbWVtb3JpZXM6CiAgICogICAgICAgICAgICsgSW5pdGlhbGl6YXRpb24vZGUtaW5pdGlhbGl6YXRpb24gZnVuY3Rpb25zCi0gICogICAgICAgICAgICsgUGVyaXBoZXJhbCBDb250cm9sIGZ1bmN0aW9ucyAKKyAgKiAgICAgICAgICAgKyBQZXJpcGhlcmFsIENvbnRyb2wgZnVuY3Rpb25zCiAgICogICAgICAgICAgICsgUGVyaXBoZXJhbCBTdGF0ZSBmdW5jdGlvbnMKLSAgKiAgICAgICAgIAorICAqCisgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICAqIEBhdHRlbnRpb24KKyAgKgorICAqIENvcHlyaWdodCAoYykgMjAxNiBTVE1pY3JvZWxlY3Ryb25pY3MuCisgICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAgKgorICAqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgdW5kZXIgdGVybXMgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZQorICAqIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvZnR3YXJlIGNvbXBvbmVudC4KKyAgKiBJZiBubyBMSUNFTlNFIGZpbGUgY29tZXMgd2l0aCB0aGlzIHNvZnR3YXJlLCBpdCBpcyBwcm92aWRlZCBBUy1JUy4KKyAgKgorICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgQHZlcmJhdGltCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgICAgICAgICAgICAgICAgICAgICAgIyMjIyMgRk1DIHBlcmlwaGVyYWwgZmVhdHVyZXMgIyMjIyMKICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0gIFsuLl0gVGhlIEZsZXhpYmxlIG1lbW9yeSBjb250cm9sbGVyIChGTUMpIGluY2x1ZGVzIHRocmVlIG1lbW9yeSBjb250cm9sbGVyczoKKyAgWy4uXSBUaGUgRmxleGlibGUgbWVtb3J5IGNvbnRyb2xsZXIgKEZNQykgaW5jbHVkZXMgZm9sbG93aW5nIG1lbW9yeSBjb250cm9sbGVyczoKICAgICAgICAoKykgVGhlIE5PUi9QU1JBTSBtZW1vcnkgY29udHJvbGxlcgogICAgICAgICgrKSBUaGUgTkFORC9QQyBDYXJkIG1lbW9yeSBjb250cm9sbGVyCi0gICAgICAgKCspIFRoZSBTeW5jaHJvbm91cyBEUkFNIChTRFJBTSkgY29udHJvbGxlciAKLSAgICAgICAKKyAgICAgICAoKykgVGhlIFN5bmNocm9ub3VzIERSQU0gKFNEUkFNKSBjb250cm9sbGVyCisKICAgWy4uXSBUaGUgRk1DIGZ1bmN0aW9uYWwgYmxvY2sgbWFrZXMgdGhlIGludGVyZmFjZSB3aXRoIHN5bmNocm9ub3VzIGFuZCBhc3luY2hyb25vdXMgc3RhdGljCiAgICAgICAgbWVtb3JpZXMsIFNEUkFNIG1lbW9yaWVzLCBhbmQgMTYtYml0IFBDIG1lbW9yeSBjYXJkcy4gSXRzIG1haW4gcHVycG9zZXMgYXJlOgogICAgICAgICgrKSB0byB0cmFuc2xhdGUgQUhCIHRyYW5zYWN0aW9ucyBpbnRvIHRoZSBhcHByb3ByaWF0ZSBleHRlcm5hbCBkZXZpY2UgcHJvdG9jb2wKICAgICAgICAoKykgdG8gbWVldCB0aGUgYWNjZXNzIHRpbWUgcmVxdWlyZW1lbnRzIG9mIHRoZSBleHRlcm5hbCBtZW1vcnkgZGV2aWNlcwotICAgCisKICAgWy4uXSBBbGwgZXh0ZXJuYWwgbWVtb3JpZXMgc2hhcmUgdGhlIGFkZHJlc3NlcywgZGF0YSBhbmQgY29udHJvbCBzaWduYWxzIHdpdGggdGhlIGNvbnRyb2xsZXIuCiAgICAgICAgRWFjaCBleHRlcm5hbCBkZXZpY2UgaXMgYWNjZXNzZWQgYnkgbWVhbnMgb2YgYSB1bmlxdWUgQ2hpcCBTZWxlY3QuIFRoZSBGTUMgcGVyZm9ybXMKICAgICAgICBvbmx5IG9uZSBhY2Nlc3MgYXQgYSB0aW1lIHRvIGFuIGV4dGVybmFsIGRldmljZS4KQEAgLTM5LDIxICs1MCwxMCBAQAogICAgICAgICAoKykgSW50ZXJmYWNlIHdpdGggc3luY2hyb25vdXMgRFJBTSAoU0RSQU0pIG1lbW9yaWVzCiAgICAgICAgICgrKSBJbmRlcGVuZGVudCBDaGlwIFNlbGVjdCBjb250cm9sIGZvciBlYWNoIG1lbW9yeSBiYW5rCiAgICAgICAgICgrKSBJbmRlcGVuZGVudCBjb25maWd1cmF0aW9uIGZvciBlYWNoIG1lbW9yeSBiYW5rCi0gICAgICAgICAgICAgICAgICAgIAorCiAgIEBlbmR2ZXJiYXRpbQogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAgKiBAYXR0ZW50aW9uCi0gICoKLSAgKiA8aDI+PGNlbnRlcj4mY29weTsgQ29weXJpZ2h0IChjKSAyMDE3IFNUTWljcm9lbGVjdHJvbmljcy4KLSAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvY2VudGVyPjwvaDI+Ci0gICoKLSAgKiBUaGlzIHNvZnR3YXJlIGNvbXBvbmVudCBpcyBsaWNlbnNlZCBieSBTVCB1bmRlciBCU0QgMy1DbGF1c2UgbGljZW5zZSwKLSAgKiB0aGUgIkxpY2Vuc2UiOyBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlCi0gICogTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0OgotICAqICAgICAgICAgICAgICAgICAgICAgICAgb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvQlNELTMtQ2xhdXNlCi0gICoKLSAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gICovIAorICAqLwogCiAvKiBJbmNsdWRlcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogI2luY2x1ZGUgInN0bTMyZjR4eF9oYWwuaCIKQEAgLTYxLDc5ICs2MSwxODcgQEAKIC8qKiBAYWRkdG9ncm91cCBTVE0zMkY0eHhfSEFMX0RyaXZlcgogICAqIEB7CiAgICovCisjaWYgZGVmaW5lZChIQUxfTk9SX01PRFVMRV9FTkFCTEVEKSB8fCBkZWZpbmVkKEhBTF9TUkFNX01PRFVMRV9FTkFCTEVEKSB8fCAoZGVmaW5lZChIQUxfTkFORF9NT0RVTEVfRU5BQkxFRCkpIHx8IGRlZmluZWQoSEFMX1BDQ0FSRF9NT0RVTEVfRU5BQkxFRCkgfHwgZGVmaW5lZChIQUxfU0RSQU1fTU9EVUxFX0VOQUJMRUQpCiAKIC8qKiBAZGVmZ3JvdXAgRk1DX0xMICBGTUMgTG93IExheWVyCiAgICogQGJyaWVmIEZNQyBkcml2ZXIgbW9kdWxlcwogICAqIEB7CiAgICovCiAKLSNpZiBkZWZpbmVkIChIQUxfU1JBTV9NT0RVTEVfRU5BQkxFRCkgfHwgZGVmaW5lZChIQUxfTk9SX01PRFVMRV9FTkFCTEVEKSB8fCBkZWZpbmVkKEhBTF9OQU5EX01PRFVMRV9FTkFCTEVEKSB8fCBkZWZpbmVkKEhBTF9QQ0NBUkRfTU9EVUxFX0VOQUJMRUQpIHx8IGRlZmluZWQoSEFMX1NEUkFNX01PRFVMRV9FTkFCTEVEKQotCi0jaWYgZGVmaW5lZChTVE0zMkY0Mjd4eCkgfHwgZGVmaW5lZChTVE0zMkY0Mzd4eCkgfHwgZGVmaW5lZChTVE0zMkY0Mjl4eCkgfHwgZGVmaW5lZChTVE0zMkY0Mzl4eCkgfHwgZGVmaW5lZChTVE0zMkY0NDZ4eCkgfHwgZGVmaW5lZChTVE0zMkY0Njl4eCkgfHwgZGVmaW5lZChTVE0zMkY0Nzl4eCkKLQogLyogUHJpdmF0ZSB0eXBlZGVmIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KIC8qIFByaXZhdGUgZGVmaW5lIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKy8qKiBAZGVmZ3JvdXAgRk1DX0xMX1ByaXZhdGVfQ29uc3RhbnRzIEZNQyBMb3cgTGF5ZXIgUHJpdmF0ZSBDb25zdGFudHMKKyAgKiBAeworICAqLworCisvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBGTUMgcmVnaXN0ZXJzIGJpdCBtYXNrIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLworCisjaWYgZGVmaW5lZChGTUNfQmFuazEpCisvKiAtLS0gQkNSIFJlZ2lzdGVyIC0tLSovCisvKiBCQ1IgcmVnaXN0ZXIgY2xlYXIgbWFzayAqLworCisvKiAtLS0gQlRSIFJlZ2lzdGVyIC0tLSovCisvKiBCVFIgcmVnaXN0ZXIgY2xlYXIgbWFzayAqLworI2RlZmluZSBCVFJfQ0xFQVJfTUFTSyAgICAoKHVpbnQzMl90KShGTUNfQlRSMV9BRERTRVQgfCBGTUNfQlRSMV9BRERITEQgIHxcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZNQ19CVFIxX0RBVEFTVCB8IEZNQ19CVFIxX0JVU1RVUk4gfFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRk1DX0JUUjFfQ0xLRElWIHwgRk1DX0JUUjFfREFUTEFUICB8XAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGTUNfQlRSMV9BQ0NNT0QpKQorCisvKiAtLS0gQldUUiBSZWdpc3RlciAtLS0qLworLyogQldUUiByZWdpc3RlciBjbGVhciBtYXNrICovCisjZGVmaW5lIEJXVFJfQ0xFQVJfTUFTSyAgICgodWludDMyX3QpKEZNQ19CV1RSMV9BRERTRVQgfCBGTUNfQldUUjFfQURESExEICB8XAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGTUNfQldUUjFfREFUQVNUIHwgRk1DX0JXVFIxX0JVU1RVUk4gfFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRk1DX0JXVFIxX0FDQ01PRCkpCisjZW5kaWYgLyogRk1DX0JhbmsxICovCisjaWYgZGVmaW5lZChGTUNfQmFuazMpIHx8IGRlZmluZWQoRk1DX0JhbmsyXzMpCisKKyNpZiBkZWZpbmVkIChGTUNfUENSX1BXQUlURU4pCisvKiAtLS0gUENSIFJlZ2lzdGVyIC0tLSovCisvKiBQQ1IgcmVnaXN0ZXIgY2xlYXIgbWFzayAqLworI2RlZmluZSBQQ1JfQ0xFQVJfTUFTSyAgICAoKHVpbnQzMl90KShGTUNfUENSX1BXQUlURU4gfCBGTUNfUENSX1BCS0VOICB8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRk1DX1BDUl9QVFlQICAgIHwgRk1DX1BDUl9QV0lEICAgfCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZNQ19QQ1JfRUNDRU4gICB8IEZNQ19QQ1JfVENMUiAgIHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGTUNfUENSX1RBUiAgICAgfCBGTUNfUENSX0VDQ1BTKSkKKy8qIC0tLSBQTUVNIFJlZ2lzdGVyIC0tLSovCisvKiBQTUVNIHJlZ2lzdGVyIGNsZWFyIG1hc2sgKi8KKyNkZWZpbmUgUE1FTV9DTEVBUl9NQVNLICAgKCh1aW50MzJfdCkoRk1DX1BNRU1fTUVNU0VUMiAgfCBGTUNfUE1FTV9NRU1XQUlUMiB8XAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGTUNfUE1FTV9NRU1IT0xEMiB8IEZNQ19QTUVNX01FTUhJWjIpKQorCisvKiAtLS0gUEFUVCBSZWdpc3RlciAtLS0qLworLyogUEFUVCByZWdpc3RlciBjbGVhciBtYXNrICovCisjZGVmaW5lIFBBVFRfQ0xFQVJfTUFTSyAgICgodWludDMyX3QpKEZNQ19QQVRUX0FUVFNFVDIgIHwgRk1DX1BBVFRfQVRUV0FJVDIgfFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRk1DX1BBVFRfQVRUSE9MRDIgfCBGTUNfUEFUVF9BVFRISVoyKSkKKyNlbHNlCisvKiAtLS0gUENSIFJlZ2lzdGVyIC0tLSovCisvKiBQQ1IgcmVnaXN0ZXIgY2xlYXIgbWFzayAqLworI2RlZmluZSBQQ1JfQ0xFQVJfTUFTSyAgICAoKHVpbnQzMl90KShGTUNfUENSMl9QV0FJVEVOIHwgRk1DX1BDUjJfUEJLRU4gIHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGTUNfUENSMl9QVFlQICAgIHwgRk1DX1BDUjJfUFdJRCAgIHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGTUNfUENSMl9FQ0NFTiAgIHwgRk1DX1BDUjJfVENMUiAgIHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGTUNfUENSMl9UQVIgICAgIHwgRk1DX1BDUjJfRUNDUFMpKQorLyogLS0tIFBNRU0gUmVnaXN0ZXIgLS0tKi8KKy8qIFBNRU0gcmVnaXN0ZXIgY2xlYXIgbWFzayAqLworI2RlZmluZSBQTUVNX0NMRUFSX01BU0sgICAoKHVpbnQzMl90KShGTUNfUE1FTTJfTUVNU0VUMiAgfCBGTUNfUE1FTTJfTUVNV0FJVDIgfFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRk1DX1BNRU0yX01FTUhPTEQyIHwgRk1DX1BNRU0yX01FTUhJWjIpKQorCisvKiAtLS0gUEFUVCBSZWdpc3RlciAtLS0qLworLyogUEFUVCByZWdpc3RlciBjbGVhciBtYXNrICovCisjZGVmaW5lIFBBVFRfQ0xFQVJfTUFTSyAgICgodWludDMyX3QpKEZNQ19QQVRUMl9BVFRTRVQyICB8IEZNQ19QQVRUMl9BVFRXQUlUMiB8XAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGTUNfUEFUVDJfQVRUSE9MRDIgfCBGTUNfUEFUVDJfQVRUSElaMikpCisKKyNlbmRpZiAvKiBGTUNfUENSX1BXQUlURU4gKi8KKyNlbmRpZiAvKiBGTUNfQmFuazMpIHx8IGRlZmluZWQoRk1DX0JhbmsyXzMgKi8KKyNpZiBkZWZpbmVkKEZNQ19CYW5rNCkKKy8qIC0tLSBQQ1IgUmVnaXN0ZXIgLS0tKi8KKy8qIFBDUiByZWdpc3RlciBjbGVhciBtYXNrICovCisjZGVmaW5lIFBDUjRfQ0xFQVJfTUFTSyAgICgodWludDMyX3QpKEZNQ19QQ1I0X1BXQUlURU4gfCBGTUNfUENSNF9QQktFTiAgfCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZNQ19QQ1I0X1BUWVAgICAgfCBGTUNfUENSNF9QV0lEICAgfCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZNQ19QQ1I0X0VDQ0VOICAgfCBGTUNfUENSNF9UQ0xSICAgfCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZNQ19QQ1I0X1RBUiAgICAgfCBGTUNfUENSNF9FQ0NQUykpCisvKiAtLS0gUE1FTSBSZWdpc3RlciAtLS0qLworLyogUE1FTSByZWdpc3RlciBjbGVhciBtYXNrICovCisjZGVmaW5lIFBNRU00X0NMRUFSX01BU0sgICgodWludDMyX3QpKEZNQ19QTUVNNF9NRU1TRVQ0ICB8IEZNQ19QTUVNNF9NRU1XQUlUNCB8XAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGTUNfUE1FTTRfTUVNSE9MRDQgfCBGTUNfUE1FTTRfTUVNSElaNCkpCisKKy8qIC0tLSBQQVRUIFJlZ2lzdGVyIC0tLSovCisvKiBQQVRUIHJlZ2lzdGVyIGNsZWFyIG1hc2sgKi8KKyNkZWZpbmUgUEFUVDRfQ0xFQVJfTUFTSyAgKCh1aW50MzJfdCkoRk1DX1BBVFQ0X0FUVFNFVDQgIHwgRk1DX1BBVFQ0X0FUVFdBSVQ0IHxcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZNQ19QQVRUNF9BVFRIT0xENCB8IEZNQ19QQVRUNF9BVFRISVo0KSkKKworLyogLS0tIFBJTzQgUmVnaXN0ZXIgLS0tKi8KKy8qIFBJTzQgcmVnaXN0ZXIgY2xlYXIgbWFzayAqLworI2RlZmluZSBQSU80X0NMRUFSX01BU0sgICAoKHVpbnQzMl90KShGTUNfUElPNF9JT1NFVDQgIHwgRk1DX1BJTzRfSU9XQUlUNCB8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRk1DX1BJTzRfSU9IT0xENCB8IEZNQ19QSU80X0lPSElaNCkpCisKKyNlbmRpZiAvKiBGTUNfQmFuazQgKi8KKyNpZiBkZWZpbmVkKEZNQ19CYW5rNV82KQorCisvKiAtLS0gU0RDUiBSZWdpc3RlciAtLS0qLworLyogU0RDUiByZWdpc3RlciBjbGVhciBtYXNrICovCisjZGVmaW5lIFNEQ1JfQ0xFQVJfTUFTSyAgICgodWludDMyX3QpKEZNQ19TRENSMV9OQyAgICB8IEZNQ19TRENSMV9OUiAgICAgfCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZNQ19TRENSMV9NV0lEICB8IEZNQ19TRENSMV9OQiAgICAgfCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZNQ19TRENSMV9DQVMgICB8IEZNQ19TRENSMV9XUCAgICAgfCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZNQ19TRENSMV9TRENMSyB8IEZNQ19TRENSMV9SQlVSU1QgfCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZNQ19TRENSMV9SUElQRSkpCisKKy8qIC0tLSBTRFRSIFJlZ2lzdGVyIC0tLSovCisvKiBTRFRSIHJlZ2lzdGVyIGNsZWFyIG1hc2sgKi8KKyNkZWZpbmUgU0RUUl9DTEVBUl9NQVNLICAgKCh1aW50MzJfdCkoRk1DX1NEVFIxX1RNUkQgIHwgRk1DX1NEVFIxX1RYU1IgICB8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRk1DX1NEVFIxX1RSQVMgIHwgRk1DX1NEVFIxX1RSQyAgICB8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRk1DX1NEVFIxX1RXUiAgIHwgRk1DX1NEVFIxX1RSUCAgICB8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRk1DX1NEVFIxX1RSQ0QpKQorI2VuZGlmIC8qIEZNQ19CYW5rNV82ICovCisKKy8qKgorICAqIEB9CisgICovCisKIC8qIFByaXZhdGUgbWFjcm8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAvKiBQcml2YXRlIHZhcmlhYmxlcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogLyogUHJpdmF0ZSBmdW5jdGlvbiBwcm90b3R5cGVzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KLS8qIFByaXZhdGUgZnVuY3Rpb25zIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCi0vKiogQGFkZHRvZ3JvdXAgRk1DX0xMX1ByaXZhdGVfRnVuY3Rpb25zCisvKiBFeHBvcnRlZCBmdW5jdGlvbnMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisvKiogQGRlZmdyb3VwIEZNQ19MTF9FeHBvcnRlZF9GdW5jdGlvbnMgRk1DIExvdyBMYXllciBFeHBvcnRlZCBGdW5jdGlvbnMKICAgKiBAewogICAqLwogCi0vKiogQGFkZHRvZ3JvdXAgRk1DX0xMX05PUlNSQU0KLSAgKiBAYnJpZWYgIE5PUlNSQU0gQ29udHJvbGxlciBmdW5jdGlvbnMgCisjaWYgZGVmaW5lZChGTUNfQmFuazEpCisKKy8qKiBAZGVmZ3JvdXAgRk1DX0xMX0V4cG9ydGVkX0Z1bmN0aW9uc19OT1JTUkFNIEZNQyBMb3cgTGF5ZXIgTk9SIFNSQU0gRXhwb3J0ZWQgRnVuY3Rpb25zCisgICogQGJyaWVmICBOT1JTUkFNIENvbnRyb2xsZXIgZnVuY3Rpb25zCiAgICoKLSAgQHZlcmJhdGltIAotICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gICAKKyAgQHZlcmJhdGltCisgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgICAgICAgICAgICAgICAgICMjIyMjIEhvdyB0byB1c2UgTk9SU1JBTSBkZXZpY2UgZHJpdmVyICMjIyMjCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotIAotICBbLi5dIAorCisgIFsuLl0KICAgICBUaGlzIGRyaXZlciBjb250YWlucyBhIHNldCBvZiBBUElzIHRvIGludGVyZmFjZSB3aXRoIHRoZSBGTUMgTk9SU1JBTSBiYW5rcyBpbiBvcmRlcgogICAgIHRvIHJ1biB0aGUgTk9SU1JBTSBleHRlcm5hbCBkZXZpY2VzLgotICAgICAgCi0gICAgKCspIEZNQyBOT1JTUkFNIGJhbmsgcmVzZXQgdXNpbmcgdGhlIGZ1bmN0aW9uIEZNQ19OT1JTUkFNX0RlSW5pdCgpIAorCisgICAgKCspIEZNQyBOT1JTUkFNIGJhbmsgcmVzZXQgdXNpbmcgdGhlIGZ1bmN0aW9uIEZNQ19OT1JTUkFNX0RlSW5pdCgpCiAgICAgKCspIEZNQyBOT1JTUkFNIGJhbmsgY29udHJvbCBjb25maWd1cmF0aW9uIHVzaW5nIHRoZSBmdW5jdGlvbiBGTUNfTk9SU1JBTV9Jbml0KCkKICAgICAoKykgRk1DIE5PUlNSQU0gYmFuayB0aW1pbmcgY29uZmlndXJhdGlvbiB1c2luZyB0aGUgZnVuY3Rpb24gRk1DX05PUlNSQU1fVGltaW5nX0luaXQoKQotICAgICgrKSBGTUMgTk9SU1JBTSBiYW5rIGV4dGVuZGVkIHRpbWluZyBjb25maWd1cmF0aW9uIHVzaW5nIHRoZSBmdW5jdGlvbiAKKyAgICAoKykgRk1DIE5PUlNSQU0gYmFuayBleHRlbmRlZCB0aW1pbmcgY29uZmlndXJhdGlvbiB1c2luZyB0aGUgZnVuY3Rpb24KICAgICAgICAgRk1DX05PUlNSQU1fRXh0ZW5kZWRfVGltaW5nX0luaXQoKQogICAgICgrKSBGTUMgTk9SU1JBTSBiYW5rIGVuYWJsZS9kaXNhYmxlIHdyaXRlIG9wZXJhdGlvbiB1c2luZyB0aGUgZnVuY3Rpb25zCiAgICAgICAgIEZNQ19OT1JTUkFNX1dyaXRlT3BlcmF0aW9uX0VuYWJsZSgpL0ZNQ19OT1JTUkFNX1dyaXRlT3BlcmF0aW9uX0Rpc2FibGUoKQotICAgICAgICAKIAogQGVuZHZlcmJhdGltCiAgICogQHsKICAgKi8KLSAgICAgICAKLS8qKiBAYWRkdG9ncm91cCBGTUNfTExfTk9SU1JBTV9Qcml2YXRlX0Z1bmN0aW9uc19Hcm91cDEKLSAgKiBAYnJpZWYgICAgSW5pdGlhbGl6YXRpb24gYW5kIENvbmZpZ3VyYXRpb24gZnVuY3Rpb25zIAorCisvKiogQGRlZmdyb3VwIEZNQ19MTF9OT1JTUkFNX0V4cG9ydGVkX0Z1bmN0aW9uc19Hcm91cDEgSW5pdGlhbGl6YXRpb24gYW5kIGRlLWluaXRpYWxpemF0aW9uIGZ1bmN0aW9ucworICAqIEBicmllZiAgICBJbml0aWFsaXphdGlvbiBhbmQgQ29uZmlndXJhdGlvbiBmdW5jdGlvbnMKICAgKgotICBAdmVyYmF0aW0gICAgCisgIEB2ZXJiYXRpbQogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgICAgICAgICAgICAgIyMjIyMgSW5pdGlhbGl6YXRpb24gYW5kIGRlX2luaXRpYWxpemF0aW9uIGZ1bmN0aW9ucyAjIyMjIwogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLSAgWy4uXSAgCisgIFsuLl0KICAgICBUaGlzIHNlY3Rpb24gcHJvdmlkZXMgZnVuY3Rpb25zIGFsbG93aW5nIHRvOgogICAgICgrKSBJbml0aWFsaXplIGFuZCBjb25maWd1cmUgdGhlIEZNQyBOT1JTUkFNIGludGVyZmFjZQotICAgICgrKSBEZS1pbml0aWFsaXplIHRoZSBGTUMgTk9SU1JBTSBpbnRlcmZhY2UgCi0gICAgKCspIENvbmZpZ3VyZSB0aGUgRk1DIGNsb2NrIGFuZCBhc3NvY2lhdGVkIEdQSU9zICAgIAotIAorICAgICgrKSBEZS1pbml0aWFsaXplIHRoZSBGTUMgTk9SU1JBTSBpbnRlcmZhY2UKKyAgICAoKykgQ29uZmlndXJlIHRoZSBGTUMgY2xvY2sgYW5kIGFzc29jaWF0ZWQgR1BJT3MKKwogQGVuZHZlcmJhdGltCiAgICogQHsKICAgKi8KLSAgCisKIC8qKgogICAqIEBicmllZiAgSW5pdGlhbGl6ZSB0aGUgRk1DX05PUlNSQU0gZGV2aWNlIGFjY29yZGluZyB0byB0aGUgc3BlY2lmaWVkCiAgICogICAgICAgICBjb250cm9sIHBhcmFtZXRlcnMgaW4gdGhlIEZNQ19OT1JTUkFNX0luaXRUeXBlRGVmCiAgICogQHBhcmFtICBEZXZpY2UgUG9pbnRlciB0byBOT1JTUkFNIGRldmljZSBpbnN0YW5jZQotICAqIEBwYXJhbSAgSW5pdCBQb2ludGVyIHRvIE5PUlNSQU0gSW5pdGlhbGl6YXRpb24gc3RydWN0dXJlICAgCisgICogQHBhcmFtICBJbml0IFBvaW50ZXIgdG8gTk9SU1JBTSBJbml0aWFsaXphdGlvbiBzdHJ1Y3R1cmUKICAgKiBAcmV0dmFsIEhBTCBzdGF0dXMKICAgKi8KLUhBTF9TdGF0dXNUeXBlRGVmICBGTUNfTk9SU1JBTV9Jbml0KEZNQ19OT1JTUkFNX1R5cGVEZWYgKkRldmljZSwgRk1DX05PUlNSQU1fSW5pdFR5cGVEZWYqIEluaXQpCi17IAotICB1aW50MzJfdCB0bXByID0gMFU7Ci0gICAgCitIQUxfU3RhdHVzVHlwZURlZiAgRk1DX05PUlNSQU1fSW5pdChGTUNfTk9SU1JBTV9UeXBlRGVmICpEZXZpY2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGTUNfTk9SU1JBTV9Jbml0VHlwZURlZiAqSW5pdCkKK3sKKyAgdWludDMyX3QgZmxhc2hhY2Nlc3M7CisgIHVpbnQzMl90IGJ0Y3JfcmVnOworICB1aW50MzJfdCBtYXNrOworCiAgIC8qIENoZWNrIHRoZSBwYXJhbWV0ZXJzICovCiAgIGFzc2VydF9wYXJhbShJU19GTUNfTk9SU1JBTV9ERVZJQ0UoRGV2aWNlKSk7CiAgIGFzc2VydF9wYXJhbShJU19GTUNfTk9SU1JBTV9CQU5LKEluaXQtPk5TQmFuaykpOwpAQCAtMTQyLDEzMSArMjUwLDEzOSBAQAogICBhc3NlcnRfcGFyYW0oSVNfRk1DX05PUlNSQU1fTUVNT1JZX1dJRFRIKEluaXQtPk1lbW9yeURhdGFXaWR0aCkpOwogICBhc3NlcnRfcGFyYW0oSVNfRk1DX0JVUlNUTU9ERShJbml0LT5CdXJzdEFjY2Vzc01vZGUpKTsKICAgYXNzZXJ0X3BhcmFtKElTX0ZNQ19XQUlUX1BPTEFSSVRZKEluaXQtPldhaXRTaWduYWxQb2xhcml0eSkpOwotI2lmIGRlZmluZWQoU1RNMzJGNDI3eHgpIHx8IGRlZmluZWQoU1RNMzJGNDM3eHgpIHx8IGRlZmluZWQoU1RNMzJGNDI5eHgpIHx8IGRlZmluZWQoU1RNMzJGNDM5eHgpCisjaWYgZGVmaW5lZChGTUNfQkNSMV9XUkFQTU9EKQogICBhc3NlcnRfcGFyYW0oSVNfRk1DX1dSQVBfTU9ERShJbml0LT5XcmFwTW9kZSkpOwotI2VuZGlmIC8qIFNUTTMyRjQyN3h4IHx8IFNUTTMyRjQzN3h4IHx8IFNUTTMyRjQyOXh4IHx8IFNUTTMyRjQzOXh4ICovCisjZW5kaWYgLyogRk1DX0JDUjFfV1JBUE1PRCAqLwogICBhc3NlcnRfcGFyYW0oSVNfRk1DX1dBSVRfU0lHTkFMX0FDVElWRShJbml0LT5XYWl0U2lnbmFsQWN0aXZlKSk7CiAgIGFzc2VydF9wYXJhbShJU19GTUNfV1JJVEVfT1BFUkFUSU9OKEluaXQtPldyaXRlT3BlcmF0aW9uKSk7CiAgIGFzc2VydF9wYXJhbShJU19GTUNfV0FJVEVfU0lHTkFMKEluaXQtPldhaXRTaWduYWwpKTsKICAgYXNzZXJ0X3BhcmFtKElTX0ZNQ19FWFRFTkRFRF9NT0RFKEluaXQtPkV4dGVuZGVkTW9kZSkpOwogICBhc3NlcnRfcGFyYW0oSVNfRk1DX0FTWU5XQUlUKEluaXQtPkFzeW5jaHJvbm91c1dhaXQpKTsKICAgYXNzZXJ0X3BhcmFtKElTX0ZNQ19XUklURV9CVVJTVChJbml0LT5Xcml0ZUJ1cnN0KSk7CisjaWYgZGVmaW5lZChGTUNfQkNSMV9DQ0xLRU4pCiAgIGFzc2VydF9wYXJhbShJU19GTUNfQ09OVElOT1VTX0NMT0NLKEluaXQtPkNvbnRpbnVvdXNDbG9jaykpOwotICBhc3NlcnRfcGFyYW0oSVNfRk1DX1BBR0VTSVpFKEluaXQtPlBhZ2VTaXplKSk7Ci0jaWYgZGVmaW5lZCAoU1RNMzJGNDQ2eHgpIHx8IGRlZmluZWQoU1RNMzJGNDY5eHgpIHx8IGRlZmluZWQoU1RNMzJGNDc5eHgpCisjZW5kaWYKKyNpZiBkZWZpbmVkKEZNQ19CQ1IxX1dGRElTKQogICBhc3NlcnRfcGFyYW0oSVNfRk1DX1dSSVRFX0ZJRk8oSW5pdC0+V3JpdGVGaWZvKSk7Ci0jZW5kaWYgLyogU1RNMzJGNDQ2eHggfHwgU1RNMzJGNDY5eHggfHwgU1RNMzJGNDc5eHggKi8KKyNlbmRpZiAvKiBGTUNfQkNSMV9XRkRJUyAqLworICBhc3NlcnRfcGFyYW0oSVNfRk1DX1BBR0VTSVpFKEluaXQtPlBhZ2VTaXplKSk7CiAKLSAgLyogR2V0IHRoZSBCVENSIHJlZ2lzdGVyIHZhbHVlICovCi0gIHRtcHIgPSBEZXZpY2UtPkJUQ1JbSW5pdC0+TlNCYW5rXTsKKyAgLyogRGlzYWJsZSBOT1JTUkFNIERldmljZSAqLworICBfX0ZNQ19OT1JTUkFNX0RJU0FCTEUoRGV2aWNlLCBJbml0LT5OU0JhbmspOwogCi0jaWYgZGVmaW5lZChTVE0zMkY0Mjd4eCkgfHwgZGVmaW5lZChTVE0zMkY0Mzd4eCkgfHwgZGVmaW5lZChTVE0zMkY0Mjl4eCkgfHwgZGVmaW5lZChTVE0zMkY0Mzl4eCkKLSAgLyogQ2xlYXIgTUJLRU4sIE1VWEVOLCBNVFlQLCBNV0lELCBGQUNDRU4sIEJVUlNURU4sIFdBSVRQT0wsIFdSQVBNT0QsIFdBSVRDRkcsIFdSRU4sCi0gICAgICAgICAgIFdBSVRFTiwgRVhUTU9ELCBBU1lOQ1dBSVQsIENQU0laRSwgQ0JVUlNUUlcgYW5kIENDTEtFTiBiaXRzICovCi0gIHRtcHIgJj0gKCh1aW50MzJfdCl+KEZNQ19CQ1IxX01CS0VOICAgICB8IEZNQ19CQ1IxX01VWEVOICAgIHwgRk1DX0JDUjFfTVRZUCAgICAgfCBcCi0gICAgICAgICAgICAgICAgICAgICAgIEZNQ19CQ1IxX01XSUQgICAgICB8IEZNQ19CQ1IxX0ZBQ0NFTiAgIHwgRk1DX0JDUjFfQlVSU1RFTiAgfCBcCi0gICAgICAgICAgICAgICAgICAgICAgIEZNQ19CQ1IxX1dBSVRQT0wgICB8IEZNQ19CQ1IxX1dSQVBNT0QgIHwgRk1DX0JDUjFfV0FJVENGRyAgfCBcCi0gICAgICAgICAgICAgICAgICAgICAgIEZNQ19CQ1IxX1dSRU4gICAgICB8IEZNQ19CQ1IxX1dBSVRFTiAgIHwgRk1DX0JDUjFfRVhUTU9EICAgfCBcCi0gICAgICAgICAgICAgICAgICAgICAgIEZNQ19CQ1IxX0FTWU5DV0FJVCB8IEZNQ19CQ1IxX0NQU0laRSAgIHwgRk1DX0JDUjFfQ0JVUlNUUlcgfCBcCi0gICAgICAgICAgICAgICAgICAgICAgIEZNQ19CQ1IxX0NDTEtFTikpOwotICAKICAgLyogU2V0IE5PUlNSQU0gZGV2aWNlIGNvbnRyb2wgcGFyYW1ldGVycyAqLwotICB0bXByIHw9ICh1aW50MzJfdCkoSW5pdC0+RGF0YUFkZHJlc3NNdXggICAgICAgfFwKLSAgICAgICAgICAgICAgICAgICAgSW5pdC0+TWVtb3J5VHlwZSAgICAgICAgICAgfFwKLSAgICAgICAgICAgICAgICAgICAgSW5pdC0+TWVtb3J5RGF0YVdpZHRoICAgICAgfFwKLSAgICAgICAgICAgICAgICAgICAgSW5pdC0+QnVyc3RBY2Nlc3NNb2RlICAgICAgfFwKLSAgICAgICAgICAgICAgICAgICAgSW5pdC0+V2FpdFNpZ25hbFBvbGFyaXR5ICAgfFwKLSAgICAgICAgICAgICAgICAgICAgSW5pdC0+V3JhcE1vZGUgICAgICAgICAgICAgfFwKLSAgICAgICAgICAgICAgICAgICAgSW5pdC0+V2FpdFNpZ25hbEFjdGl2ZSAgICAgfFwKLSAgICAgICAgICAgICAgICAgICAgSW5pdC0+V3JpdGVPcGVyYXRpb24gICAgICAgfFwKLSAgICAgICAgICAgICAgICAgICAgSW5pdC0+V2FpdFNpZ25hbCAgICAgICAgICAgfFwKLSAgICAgICAgICAgICAgICAgICAgSW5pdC0+RXh0ZW5kZWRNb2RlICAgICAgICAgfFwKLSAgICAgICAgICAgICAgICAgICAgSW5pdC0+QXN5bmNocm9ub3VzV2FpdCAgICAgfFwKLSAgICAgICAgICAgICAgICAgICAgSW5pdC0+UGFnZVNpemUgICAgICAgICAgICAgfFwKLSAgICAgICAgICAgICAgICAgICAgSW5pdC0+V3JpdGVCdXJzdCAgICAgICAgICAgfFwKLSAgICAgICAgICAgICAgICAgICAgSW5pdC0+Q29udGludW91c0Nsb2NrKTsKLSNlbHNlIC8qIGRlZmluZWQoU1RNMzJGNDQ2eHgpIHx8IGRlZmluZWQoU1RNMzJGNDY5eHgpIHx8IGRlZmluZWQoU1RNMzJGNDc5eHgpICovCi0gIC8qIENsZWFyIE1CS0VOLCBNVVhFTiwgTVRZUCwgTVdJRCwgRkFDQ0VOLCBCVVJTVEVOLCBXQUlUUE9MLCBDUFNJWkUsIFdBSVRDRkcsIFdSRU4sCi0gICAgICAgICAgIFdBSVRFTiwgRVhUTU9ELCBBU1lOQ1dBSVQsIENCVVJTVFJXLCBDQ0xLRU4gYW5kIFdGRElTIGJpdHMgKi8KLSAgdG1wciAmPSAoKHVpbnQzMl90KX4oRk1DX0JDUjFfTUJLRU4gICAgIHwgRk1DX0JDUjFfTVVYRU4gICAgfCBGTUNfQkNSMV9NVFlQICAgICB8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgRk1DX0JDUjFfTVdJRCAgICAgIHwgRk1DX0JDUjFfRkFDQ0VOICAgfCBGTUNfQkNSMV9CVVJTVEVOICB8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgRk1DX0JDUjFfV0FJVFBPTCAgIHwgRk1DX0JDUjFfV0FJVENGRyAgfCBGTUNfQkNSMV9DUFNJWkUgICB8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgRk1DX0JDUjFfV1JFTiAgICAgIHwgRk1DX0JDUjFfV0FJVEVOICAgfCBGTUNfQkNSMV9FWFRNT0QgICB8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgRk1DX0JDUjFfQVNZTkNXQUlUIHwgRk1DX0JDUjFfQ0JVUlNUUlcgfCBGTUNfQkNSMV9DQ0xLRU4gICB8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgRk1DX0JDUjFfV0ZESVMpKTsKLSAgCi0gIC8qIFNldCBOT1JTUkFNIGRldmljZSBjb250cm9sIHBhcmFtZXRlcnMgKi8KLSAgdG1wciB8PSAodWludDMyX3QpKEluaXQtPkRhdGFBZGRyZXNzTXV4ICAgICAgIHxcCi0gICAgICAgICAgICAgICAgICAgIEluaXQtPk1lbW9yeVR5cGUgICAgICAgICAgIHxcCi0gICAgICAgICAgICAgICAgICAgIEluaXQtPk1lbW9yeURhdGFXaWR0aCAgICAgIHxcCi0gICAgICAgICAgICAgICAgICAgIEluaXQtPkJ1cnN0QWNjZXNzTW9kZSAgICAgIHxcCi0gICAgICAgICAgICAgICAgICAgIEluaXQtPldhaXRTaWduYWxQb2xhcml0eSAgIHxcCi0gICAgICAgICAgICAgICAgICAgIEluaXQtPldhaXRTaWduYWxBY3RpdmUgICAgIHxcCi0gICAgICAgICAgICAgICAgICAgIEluaXQtPldyaXRlT3BlcmF0aW9uICAgICAgIHxcCi0gICAgICAgICAgICAgICAgICAgIEluaXQtPldhaXRTaWduYWwgICAgICAgICAgIHxcCi0gICAgICAgICAgICAgICAgICAgIEluaXQtPkV4dGVuZGVkTW9kZSAgICAgICAgIHxcCi0gICAgICAgICAgICAgICAgICAgIEluaXQtPkFzeW5jaHJvbm91c1dhaXQgICAgIHxcCi0gICAgICAgICAgICAgICAgICAgIEluaXQtPldyaXRlQnVyc3QgICAgICAgICAgIHxcCi0gICAgICAgICAgICAgICAgICAgIEluaXQtPkNvbnRpbnVvdXNDbG9jayAgICAgIHxcCi0gICAgICAgICAgICAgICAgICAgIEluaXQtPlBhZ2VTaXplICAgICAgICAgICAgIHxcCi0gICAgICAgICAgICAgICAgICAgIEluaXQtPldyaXRlRmlmbyk7Ci0jZW5kaWYgLyogIGRlZmluZWQoU1RNMzJGNDI3eHgpIHx8IGRlZmluZWQoU1RNMzJGNDM3eHgpIHx8IGRlZmluZWQoU1RNMzJGNDI5eHgpIHx8IGRlZmluZWQoU1RNMzJGNDM5eHgpICovCi0gICAgICAgICAgICAgICAgICAgIAotICBpZihJbml0LT5NZW1vcnlUeXBlID09IEZNQ19NRU1PUllfVFlQRV9OT1IpCisgIGlmIChJbml0LT5NZW1vcnlUeXBlID09IEZNQ19NRU1PUllfVFlQRV9OT1IpCiAgIHsKLSAgICB0bXByIHw9ICh1aW50MzJfdClGTUNfTk9SU1JBTV9GTEFTSF9BQ0NFU1NfRU5BQkxFOworICAgIGZsYXNoYWNjZXNzID0gRk1DX05PUlNSQU1fRkxBU0hfQUNDRVNTX0VOQUJMRTsKICAgfQotICAKLSAgRGV2aWNlLT5CVENSW0luaXQtPk5TQmFua10gPSB0bXByOworICBlbHNlCisgIHsKKyAgICBmbGFzaGFjY2VzcyA9IEZNQ19OT1JTUkFNX0ZMQVNIX0FDQ0VTU19ESVNBQkxFOworICB9CiAKKyAgYnRjcl9yZWcgPSAoZmxhc2hhY2Nlc3MgICAgICAgICAgICAgICAgICAgfCBcCisgICAgICAgICAgICAgIEluaXQtPkRhdGFBZGRyZXNzTXV4ICAgICAgICAgIHwgXAorICAgICAgICAgICAgICBJbml0LT5NZW1vcnlUeXBlICAgICAgICAgICAgICB8IFwKKyAgICAgICAgICAgICAgSW5pdC0+TWVtb3J5RGF0YVdpZHRoICAgICAgICAgfCBcCisgICAgICAgICAgICAgIEluaXQtPkJ1cnN0QWNjZXNzTW9kZSAgICAgICAgIHwgXAorICAgICAgICAgICAgICBJbml0LT5XYWl0U2lnbmFsUG9sYXJpdHkgICAgICB8IFwKKyAgICAgICAgICAgICAgSW5pdC0+V2FpdFNpZ25hbEFjdGl2ZSAgICAgICAgfCBcCisgICAgICAgICAgICAgIEluaXQtPldyaXRlT3BlcmF0aW9uICAgICAgICAgIHwgXAorICAgICAgICAgICAgICBJbml0LT5XYWl0U2lnbmFsICAgICAgICAgICAgICB8IFwKKyAgICAgICAgICAgICAgSW5pdC0+RXh0ZW5kZWRNb2RlICAgICAgICAgICAgfCBcCisgICAgICAgICAgICAgIEluaXQtPkFzeW5jaHJvbm91c1dhaXQgICAgICAgIHwgXAorICAgICAgICAgICAgICBJbml0LT5Xcml0ZUJ1cnN0KTsKKworI2lmIGRlZmluZWQoRk1DX0JDUjFfV1JBUE1PRCkKKyAgYnRjcl9yZWcgfD0gSW5pdC0+V3JhcE1vZGU7CisjZW5kaWYgLyogRk1DX0JDUjFfV1JBUE1PRCAqLworI2lmIGRlZmluZWQoRk1DX0JDUjFfQ0NMS0VOKQorICBidGNyX3JlZyB8PSBJbml0LT5Db250aW51b3VzQ2xvY2s7CisjZW5kaWYgLyogRk1DX0JDUjFfQ0NMS0VOICovCisjaWYgZGVmaW5lZChGTUNfQkNSMV9XRkRJUykKKyAgYnRjcl9yZWcgfD0gSW5pdC0+V3JpdGVGaWZvOworI2VuZGlmIC8qIEZNQ19CQ1IxX1dGRElTICovCisgIGJ0Y3JfcmVnIHw9IEluaXQtPlBhZ2VTaXplOworCisgIG1hc2sgPSAoRk1DX0JDUjFfTUJLRU4gICAgICAgICAgICAgICAgfAorICAgICAgICAgIEZNQ19CQ1IxX01VWEVOICAgICAgICAgICAgICAgIHwKKyAgICAgICAgICBGTUNfQkNSMV9NVFlQICAgICAgICAgICAgICAgICB8CisgICAgICAgICAgRk1DX0JDUjFfTVdJRCAgICAgICAgICAgICAgICAgfAorICAgICAgICAgIEZNQ19CQ1IxX0ZBQ0NFTiAgICAgICAgICAgICAgIHwKKyAgICAgICAgICBGTUNfQkNSMV9CVVJTVEVOICAgICAgICAgICAgICB8CisgICAgICAgICAgRk1DX0JDUjFfV0FJVFBPTCAgICAgICAgICAgICAgfAorICAgICAgICAgIEZNQ19CQ1IxX1dBSVRDRkcgICAgICAgICAgICAgIHwKKyAgICAgICAgICBGTUNfQkNSMV9XUkVOICAgICAgICAgICAgICAgICB8CisgICAgICAgICAgRk1DX0JDUjFfV0FJVEVOICAgICAgICAgICAgICAgfAorICAgICAgICAgIEZNQ19CQ1IxX0VYVE1PRCAgICAgICAgICAgICAgIHwKKyAgICAgICAgICBGTUNfQkNSMV9BU1lOQ1dBSVQgICAgICAgICAgICB8CisgICAgICAgICAgRk1DX0JDUjFfQ0JVUlNUUlcpOworCisjaWYgZGVmaW5lZChGTUNfQkNSMV9XUkFQTU9EKQorICBtYXNrIHw9IEZNQ19CQ1IxX1dSQVBNT0Q7CisjZW5kaWYgLyogRk1DX0JDUjFfV1JBUE1PRCAqLworI2lmIGRlZmluZWQoRk1DX0JDUjFfQ0NMS0VOKQorICBtYXNrIHw9IEZNQ19CQ1IxX0NDTEtFTjsKKyNlbmRpZgorI2lmIGRlZmluZWQoRk1DX0JDUjFfV0ZESVMpCisgIG1hc2sgfD0gRk1DX0JDUjFfV0ZESVM7CisjZW5kaWYgLyogRk1DX0JDUjFfV0ZESVMgKi8KKyAgbWFzayB8PSBGTUNfQkNSMV9DUFNJWkU7CisKKyAgTU9ESUZZX1JFRyhEZXZpY2UtPkJUQ1JbSW5pdC0+TlNCYW5rXSwgbWFzaywgYnRjcl9yZWcpOworCisjaWYgZGVmaW5lZChGTUNfQkNSMV9DQ0xLRU4pCiAgIC8qIENvbmZpZ3VyZSBzeW5jaHJvbm91cyBtb2RlIHdoZW4gQ29udGludW91cyBjbG9jayBpcyBlbmFibGVkIGZvciBiYW5rMi4uNCAqLwotICBpZigoSW5pdC0+Q29udGludW91c0Nsb2NrID09IEZNQ19DT05USU5VT1VTX0NMT0NLX1NZTkNfQVNZTkMpICYmIChJbml0LT5OU0JhbmsgIT0gRk1DX05PUlNSQU1fQkFOSzEpKQotICB7IAotICAgIERldmljZS0+QlRDUltGTUNfTk9SU1JBTV9CQU5LMV0gfD0gKHVpbnQzMl90KShJbml0LT5Db250aW51b3VzQ2xvY2spOwotICB9Ci0KLSNpZiBkZWZpbmVkKFNUTTMyRjQ0Nnh4KSB8fCBkZWZpbmVkKFNUTTMyRjQ2OXh4KSB8fCBkZWZpbmVkKFNUTTMyRjQ3OXh4KQotICBpZihJbml0LT5OU0JhbmsgIT0gRk1DX05PUlNSQU1fQkFOSzEpCisgIGlmICgoSW5pdC0+Q29udGludW91c0Nsb2NrID09IEZNQ19DT05USU5VT1VTX0NMT0NLX1NZTkNfQVNZTkMpICYmIChJbml0LT5OU0JhbmsgIT0gRk1DX05PUlNSQU1fQkFOSzEpKQogICB7Ci0gICAgRGV2aWNlLT5CVENSW0ZNQ19OT1JTUkFNX0JBTksxXSB8PSAodWludDMyX3QpKEluaXQtPldyaXRlRmlmbyk7ICAgICAgICAgICAgICAKKyAgICBNT0RJRllfUkVHKERldmljZS0+QlRDUltGTUNfTk9SU1JBTV9CQU5LMV0sIEZNQ19CQ1IxX0NDTEtFTiwgSW5pdC0+Q29udGludW91c0Nsb2NrKTsKICAgfQotI2VuZGlmIC8qIFNUTTMyRjQ0Nnh4IHx8IFNUTTMyRjQ2OXh4IHx8IFNUTTMyRjQ3OXh4ICovCi0gIAorI2VuZGlmCisjaWYgZGVmaW5lZChGTUNfQkNSMV9XRkRJUykKKworICBpZiAoSW5pdC0+TlNCYW5rICE9IEZNQ19OT1JTUkFNX0JBTksxKQorICB7CisgICAgLyogQ29uZmlndXJlIFdyaXRlIEZJRk8gbW9kZSB3aGVuIFdyaXRlIEZpZm8gaXMgZW5hYmxlZCBmb3IgYmFuazIuLjQgKi8KKyAgICBTRVRfQklUKERldmljZS0+QlRDUltGTUNfTk9SU1JBTV9CQU5LMV0sICh1aW50MzJfdCkoSW5pdC0+V3JpdGVGaWZvKSk7CisgIH0KKyNlbmRpZiAvKiBGTUNfQkNSMV9XRkRJUyAqLworCiAgIHJldHVybiBIQUxfT0s7CiB9CiAKIC8qKgotICAqIEBicmllZiAgRGVJbml0aWFsaXplIHRoZSBGTUNfTk9SU1JBTSBwZXJpcGhlcmFsIAorICAqIEBicmllZiAgRGVJbml0aWFsaXplIHRoZSBGTUNfTk9SU1JBTSBwZXJpcGhlcmFsCiAgICogQHBhcmFtICBEZXZpY2UgUG9pbnRlciB0byBOT1JTUkFNIGRldmljZSBpbnN0YW5jZQotICAqIEBwYXJhbSAgRXhEZXZpY2UgUG9pbnRlciB0byBOT1JTUkFNIGV4dGVuZGVkIG1vZGUgZGV2aWNlIGluc3RhbmNlICAKLSAgKiBAcGFyYW0gIEJhbmsgTk9SU1JBTSBiYW5rIG51bWJlciAgCisgICogQHBhcmFtICBFeERldmljZSBQb2ludGVyIHRvIE5PUlNSQU0gZXh0ZW5kZWQgbW9kZSBkZXZpY2UgaW5zdGFuY2UKKyAgKiBAcGFyYW0gIEJhbmsgTk9SU1JBTSBiYW5rIG51bWJlcgogICAqIEByZXR2YWwgSEFMIHN0YXR1cwogICAqLwotSEFMX1N0YXR1c1R5cGVEZWYgRk1DX05PUlNSQU1fRGVJbml0KEZNQ19OT1JTUkFNX1R5cGVEZWYgKkRldmljZSwgRk1DX05PUlNSQU1fRVhURU5ERURfVHlwZURlZiAqRXhEZXZpY2UsIHVpbnQzMl90IEJhbmspCitIQUxfU3RhdHVzVHlwZURlZiBGTUNfTk9SU1JBTV9EZUluaXQoRk1DX05PUlNSQU1fVHlwZURlZiAqRGV2aWNlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZNQ19OT1JTUkFNX0VYVEVOREVEX1R5cGVEZWYgKkV4RGV2aWNlLCB1aW50MzJfdCBCYW5rKQogewogICAvKiBDaGVjayB0aGUgcGFyYW1ldGVycyAqLwogICBhc3NlcnRfcGFyYW0oSVNfRk1DX05PUlNSQU1fREVWSUNFKERldmljZSkpOwogICBhc3NlcnRfcGFyYW0oSVNfRk1DX05PUlNSQU1fRVhURU5ERURfREVWSUNFKEV4RGV2aWNlKSk7CiAgIGFzc2VydF9wYXJhbShJU19GTUNfTk9SU1JBTV9CQU5LKEJhbmspKTsKLSAgCisKICAgLyogRGlzYWJsZSB0aGUgRk1DX05PUlNSQU0gZGV2aWNlICovCiAgIF9fRk1DX05PUlNSQU1fRElTQUJMRShEZXZpY2UsIEJhbmspOwotICAKKwogICAvKiBEZS1pbml0aWFsaXplIHRoZSBGTUNfTk9SU1JBTSBkZXZpY2UgKi8KICAgLyogRk1DX05PUlNSQU1fQkFOSzEgKi8KLSAgaWYoQmFuayA9PSBGTUNfTk9SU1JBTV9CQU5LMSkKKyAgaWYgKEJhbmsgPT0gRk1DX05PUlNSQU1fQkFOSzEpCiAgIHsKICAgICBEZXZpY2UtPkJUQ1JbQmFua10gPSAweDAwMDAzMERCVTsKICAgfQogICAvKiBGTUNfTk9SU1JBTV9CQU5LMiwgRk1DX05PUlNSQU1fQkFOSzMgb3IgRk1DX05PUlNSQU1fQkFOSzQgKi8KICAgZWxzZQotICB7ICAgCisgIHsKICAgICBEZXZpY2UtPkJUQ1JbQmFua10gPSAweDAwMDAzMEQyVTsKICAgfQotICAKKwogICBEZXZpY2UtPkJUQ1JbQmFuayArIDFVXSA9IDB4MEZGRkZGRkZVOwotICBFeERldmljZS0+QldUUltCYW5rXSAgICA9IDB4MEZGRkZGRkZVOwotICAgCisgIEV4RGV2aWNlLT5CV1RSW0JhbmtdICAgPSAweDBGRkZGRkZGVTsKKwogICByZXR1cm4gSEFMX09LOwogfQogCkBAIC0yNzUsMTMgKzM5MSwxNiBAQAogICAqICAgICAgICAgcGFyYW1ldGVycyBpbiB0aGUgRk1DX05PUlNSQU1fVGltaW5nVHlwZURlZgogICAqIEBwYXJhbSAgRGV2aWNlIFBvaW50ZXIgdG8gTk9SU1JBTSBkZXZpY2UgaW5zdGFuY2UKICAgKiBAcGFyYW0gIFRpbWluZyBQb2ludGVyIHRvIE5PUlNSQU0gVGltaW5nIHN0cnVjdHVyZQotICAqIEBwYXJhbSAgQmFuayBOT1JTUkFNIGJhbmsgbnVtYmVyICAKKyAgKiBAcGFyYW0gIEJhbmsgTk9SU1JBTSBiYW5rIG51bWJlcgogICAqIEByZXR2YWwgSEFMIHN0YXR1cwogICAqLwotSEFMX1N0YXR1c1R5cGVEZWYgRk1DX05PUlNSQU1fVGltaW5nX0luaXQoRk1DX05PUlNSQU1fVHlwZURlZiAqRGV2aWNlLCBGTUNfTk9SU1JBTV9UaW1pbmdUeXBlRGVmICpUaW1pbmcsIHVpbnQzMl90IEJhbmspCitIQUxfU3RhdHVzVHlwZURlZiBGTUNfTk9SU1JBTV9UaW1pbmdfSW5pdChGTUNfTk9SU1JBTV9UeXBlRGVmICpEZXZpY2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGTUNfTk9SU1JBTV9UaW1pbmdUeXBlRGVmICpUaW1pbmcsIHVpbnQzMl90IEJhbmspCiB7Ci0gIHVpbnQzMl90IHRtcHIgPSAwVTsKLSAgCisjaWYgZGVmaW5lZChGTUNfQkNSMV9DQ0xLRU4pCisgIHVpbnQzMl90IHRtcHI7CisjZW5kaWYKKwogICAvKiBDaGVjayB0aGUgcGFyYW1ldGVycyAqLwogICBhc3NlcnRfcGFyYW0oSVNfRk1DX05PUlNSQU1fREVWSUNFKERldmljZSkpOwogICBhc3NlcnRfcGFyYW0oSVNfRk1DX0FERFJFU1NfU0VUVVBfVElNRShUaW1pbmctPkFkZHJlc3NTZXR1cFRpbWUpKTsKQEAgLTI5MiwzNSArNDExLDI3IEBACiAgIGFzc2VydF9wYXJhbShJU19GTUNfREFUQV9MQVRFTkNZKFRpbWluZy0+RGF0YUxhdGVuY3kpKTsKICAgYXNzZXJ0X3BhcmFtKElTX0ZNQ19BQ0NFU1NfTU9ERShUaW1pbmctPkFjY2Vzc01vZGUpKTsKICAgYXNzZXJ0X3BhcmFtKElTX0ZNQ19OT1JTUkFNX0JBTksoQmFuaykpOwotICAKLSAgLyogR2V0IHRoZSBCVENSIHJlZ2lzdGVyIHZhbHVlICovCi0gIHRtcHIgPSBEZXZpY2UtPkJUQ1JbQmFuayArIDFVXTsKIAotICAvKiBDbGVhciBBRERTRVQsIEFEREhMRCwgREFUQVNULCBCVVNUVVJOLCBDTEtESVYsIERBVExBVCBhbmQgQUNDTU9EIGJpdHMgKi8KLSAgdG1wciAmPSAoKHVpbnQzMl90KX4oRk1DX0JUUjFfQUREU0VUICB8IEZNQ19CVFIxX0FEREhMRCB8IEZNQ19CVFIxX0RBVEFTVCB8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgRk1DX0JUUjFfQlVTVFVSTiB8IEZNQ19CVFIxX0NMS0RJViB8IEZNQ19CVFIxX0RBVExBVCB8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgRk1DX0JUUjFfQUNDTU9EKSk7Ci0gIAotICAvKiBTZXQgRk1DX05PUlNSQU0gZGV2aWNlIHRpbWluZyBwYXJhbWV0ZXJzICovICAKLSAgdG1wciB8PSAodWludDMyX3QpKFRpbWluZy0+QWRkcmVzc1NldHVwVGltZSAgICAgICAgICAgICAgICAgICB8XAotICAgICAgICAgICAgICAgICAgICAoKFRpbWluZy0+QWRkcmVzc0hvbGRUaW1lKSA8PCA0VSkgICAgICAgICAgIHxcCi0gICAgICAgICAgICAgICAgICAgICgoVGltaW5nLT5EYXRhU2V0dXBUaW1lKSA8PCA4VSkgICAgICAgICAgICAgfFwKLSAgICAgICAgICAgICAgICAgICAgKChUaW1pbmctPkJ1c1R1cm5Bcm91bmREdXJhdGlvbikgPDwgMTZVKSAgICB8XAotICAgICAgICAgICAgICAgICAgICAoKChUaW1pbmctPkNMS0RpdmlzaW9uKSAtIDFVKSA8PCAyMFUpICAgICAgICAgfFwKLSAgICAgICAgICAgICAgICAgICAgKCgoVGltaW5nLT5EYXRhTGF0ZW5jeSkgLSAyVSkgPDwgMjRVKSAgICAgICAgIHxcCi0gICAgICAgICAgICAgICAgICAgIChUaW1pbmctPkFjY2Vzc01vZGUpKTsKLSAgCi0gIERldmljZS0+QlRDUltCYW5rICsgMVVdID0gdG1wcjsKLSAgCisgIC8qIFNldCBGTUNfTk9SU1JBTSBkZXZpY2UgdGltaW5nIHBhcmFtZXRlcnMgKi8KKyAgTU9ESUZZX1JFRyhEZXZpY2UtPkJUQ1JbQmFuayArIDFVXSwgQlRSX0NMRUFSX01BU0ssIChUaW1pbmctPkFkZHJlc3NTZXR1cFRpbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoVGltaW5nLT5BZGRyZXNzSG9sZFRpbWUpICAgICAgICA8PCBGTUNfQlRSMV9BRERITERfUG9zKSAgfAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoVGltaW5nLT5EYXRhU2V0dXBUaW1lKSAgICAgICAgICA8PCBGTUNfQlRSMV9EQVRBU1RfUG9zKSAgfAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoVGltaW5nLT5CdXNUdXJuQXJvdW5kRHVyYXRpb24pICA8PCBGTUNfQlRSMV9CVVNUVVJOX1BvcykgfAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoKFRpbWluZy0+Q0xLRGl2aXNpb24pIC0gMVUpICAgICA8PCBGTUNfQlRSMV9DTEtESVZfUG9zKSAgfAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoKFRpbWluZy0+RGF0YUxhdGVuY3kpIC0gMlUpICAgICA8PCBGTUNfQlRSMV9EQVRMQVRfUG9zKSAgfAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChUaW1pbmctPkFjY2Vzc01vZGUpKSk7CisKKyNpZiBkZWZpbmVkKEZNQ19CQ1IxX0NDTEtFTikKICAgLyogQ29uZmlndXJlIENsb2NrIGRpdmlzaW9uIHZhbHVlIChpbiBOT1JTUkFNIGJhbmsgMSkgd2hlbiBjb250aW51b3VzIGNsb2NrIGlzIGVuYWJsZWQgKi8KLSAgaWYoSEFMX0lTX0JJVF9TRVQoRGV2aWNlLT5CVENSW0ZNQ19OT1JTUkFNX0JBTksxXSwgRk1DX0JDUjFfQ0NMS0VOKSkKKyAgaWYgKEhBTF9JU19CSVRfU0VUKERldmljZS0+QlRDUltGTUNfTk9SU1JBTV9CQU5LMV0sIEZNQ19CQ1IxX0NDTEtFTikpCiAgIHsKLSAgICB0bXByID0gKHVpbnQzMl90KShEZXZpY2UtPkJUQ1JbRk1DX05PUlNSQU1fQkFOSzEgKyAxVV0gJiB+KDB4MEZVIDw8IDIwVSkpOyAKLSAgICB0bXByIHw9ICh1aW50MzJfdCkoKChUaW1pbmctPkNMS0RpdmlzaW9uKSAtIDFVKSA8PCAyMFUpOwotICAgIERldmljZS0+QlRDUltGTUNfTk9SU1JBTV9CQU5LMSArIDFVXSA9IHRtcHI7Ci0gIH0gIAotICAKLSAgcmV0dXJuIEhBTF9PSzsgICAKKyAgICB0bXByID0gKHVpbnQzMl90KShEZXZpY2UtPkJUQ1JbRk1DX05PUlNSQU1fQkFOSzEgKyAxVV0gJiB+KCgweDBGVSkgPDwgRk1DX0JUUjFfQ0xLRElWX1BvcykpOworICAgIHRtcHIgfD0gKHVpbnQzMl90KSgoKFRpbWluZy0+Q0xLRGl2aXNpb24pIC0gMVUpIDw8IEZNQ19CVFIxX0NMS0RJVl9Qb3MpOworICAgIE1PRElGWV9SRUcoRGV2aWNlLT5CVENSW0ZNQ19OT1JTUkFNX0JBTksxICsgMVVdLCBGTUNfQlRSMV9DTEtESVYsIHRtcHIpOworICB9CisKKyNlbmRpZgorICByZXR1cm4gSEFMX09LOwogfQogCiAvKioKQEAgLTMyOCw2MSArNDM5LDU3IEBACiAgICogICAgICAgICBwYXJhbWV0ZXJzIGluIHRoZSBGTUNfTk9SU1JBTV9UaW1pbmdUeXBlRGVmCiAgICogQHBhcmFtICBEZXZpY2UgUG9pbnRlciB0byBOT1JTUkFNIGRldmljZSBpbnN0YW5jZQogICAqIEBwYXJhbSAgVGltaW5nIFBvaW50ZXIgdG8gTk9SU1JBTSBUaW1pbmcgc3RydWN0dXJlCi0gICogQHBhcmFtICBCYW5rIE5PUlNSQU0gYmFuayBudW1iZXIgIAorICAqIEBwYXJhbSAgQmFuayBOT1JTUkFNIGJhbmsgbnVtYmVyCisgICogQHBhcmFtICBFeHRlbmRlZE1vZGUgRk1DIEV4dGVuZGVkIE1vZGUKKyAgKiAgICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gYmUgb25lIG9mIHRoZSBmb2xsb3dpbmcgdmFsdWVzOgorICAqICAgICAgICAgICAgQGFyZyBGTUNfRVhURU5ERURfTU9ERV9ESVNBQkxFCisgICogICAgICAgICAgICBAYXJnIEZNQ19FWFRFTkRFRF9NT0RFX0VOQUJMRQogICAqIEByZXR2YWwgSEFMIHN0YXR1cwogICAqLwotSEFMX1N0YXR1c1R5cGVEZWYgIEZNQ19OT1JTUkFNX0V4dGVuZGVkX1RpbWluZ19Jbml0KEZNQ19OT1JTUkFNX0VYVEVOREVEX1R5cGVEZWYgKkRldmljZSwgRk1DX05PUlNSQU1fVGltaW5nVHlwZURlZiAqVGltaW5nLCB1aW50MzJfdCBCYW5rLCB1aW50MzJfdCBFeHRlbmRlZE1vZGUpCi17ICAKLSAgdWludDMyX3QgdG1wciA9IDBVOwotIAorSEFMX1N0YXR1c1R5cGVEZWYgRk1DX05PUlNSQU1fRXh0ZW5kZWRfVGltaW5nX0luaXQoRk1DX05PUlNSQU1fRVhURU5ERURfVHlwZURlZiAqRGV2aWNlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRk1DX05PUlNSQU1fVGltaW5nVHlwZURlZiAqVGltaW5nLCB1aW50MzJfdCBCYW5rLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgRXh0ZW5kZWRNb2RlKQorewogICAvKiBDaGVjayB0aGUgcGFyYW1ldGVycyAqLwogICBhc3NlcnRfcGFyYW0oSVNfRk1DX0VYVEVOREVEX01PREUoRXh0ZW5kZWRNb2RlKSk7Ci0gIAorCiAgIC8qIFNldCBOT1JTUkFNIGRldmljZSB0aW1pbmcgcmVnaXN0ZXIgZm9yIHdyaXRlIGNvbmZpZ3VyYXRpb24sIGlmIGV4dGVuZGVkIG1vZGUgaXMgdXNlZCAqLwotICBpZihFeHRlbmRlZE1vZGUgPT0gRk1DX0VYVEVOREVEX01PREVfRU5BQkxFKQorICBpZiAoRXh0ZW5kZWRNb2RlID09IEZNQ19FWFRFTkRFRF9NT0RFX0VOQUJMRSkKICAgewogICAgIC8qIENoZWNrIHRoZSBwYXJhbWV0ZXJzICovCi0gICAgYXNzZXJ0X3BhcmFtKElTX0ZNQ19OT1JTUkFNX0VYVEVOREVEX0RFVklDRShEZXZpY2UpKTsgIAorICAgIGFzc2VydF9wYXJhbShJU19GTUNfTk9SU1JBTV9FWFRFTkRFRF9ERVZJQ0UoRGV2aWNlKSk7CiAgICAgYXNzZXJ0X3BhcmFtKElTX0ZNQ19BRERSRVNTX1NFVFVQX1RJTUUoVGltaW5nLT5BZGRyZXNzU2V0dXBUaW1lKSk7CiAgICAgYXNzZXJ0X3BhcmFtKElTX0ZNQ19BRERSRVNTX0hPTERfVElNRShUaW1pbmctPkFkZHJlc3NIb2xkVGltZSkpOwogICAgIGFzc2VydF9wYXJhbShJU19GTUNfREFUQVNFVFVQX1RJTUUoVGltaW5nLT5EYXRhU2V0dXBUaW1lKSk7CiAgICAgYXNzZXJ0X3BhcmFtKElTX0ZNQ19UVVJOQVJPVU5EX1RJTUUoVGltaW5nLT5CdXNUdXJuQXJvdW5kRHVyYXRpb24pKTsKICAgICBhc3NlcnRfcGFyYW0oSVNfRk1DX0FDQ0VTU19NT0RFKFRpbWluZy0+QWNjZXNzTW9kZSkpOwotICAgIGFzc2VydF9wYXJhbShJU19GTUNfTk9SU1JBTV9CQU5LKEJhbmspKTsgIAotICAgIAotICAgIC8qIEdldCB0aGUgQldUUiByZWdpc3RlciB2YWx1ZSAqLwotICAgIHRtcHIgPSBEZXZpY2UtPkJXVFJbQmFua107CisgICAgYXNzZXJ0X3BhcmFtKElTX0ZNQ19OT1JTUkFNX0JBTksoQmFuaykpOwogCi0gICAgLyogQ2xlYXIgQUREU0VULCBBRERITEQsIERBVEFTVCwgQlVTVFVSTiBhbmQgQUNDTU9EIGJpdHMgKi8KLSAgICB0bXByICY9ICgodWludDMyX3QpfihGTUNfQldUUjFfQUREU0VUICB8IEZNQ19CV1RSMV9BRERITEQgfCBGTUNfQldUUjFfREFUQVNUIHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgIEZNQ19CV1RSMV9CVVNUVVJOIHwgRk1DX0JXVFIxX0FDQ01PRCkpOwotICAgIAotICAgIHRtcHIgfD0gKHVpbnQzMl90KShUaW1pbmctPkFkZHJlc3NTZXR1cFRpbWUgICAgICAgICAgICAgICAgICB8XAotICAgICAgICAgICAgICAgICAgICAgICgoVGltaW5nLT5BZGRyZXNzSG9sZFRpbWUpIDw8IDRVKSAgICAgICAgICB8XAotICAgICAgICAgICAgICAgICAgICAgICgoVGltaW5nLT5EYXRhU2V0dXBUaW1lKSA8PCA4VSkgICAgICAgICAgICB8XAotICAgICAgICAgICAgICAgICAgICAgICgoVGltaW5nLT5CdXNUdXJuQXJvdW5kRHVyYXRpb24pIDw8IDE2VSkgICB8XAotICAgICAgICAgICAgICAgICAgICAgIChUaW1pbmctPkFjY2Vzc01vZGUpKTsKLQotICAgIERldmljZS0+QldUUltCYW5rXSA9IHRtcHI7CisgICAgLyogU2V0IE5PUlNSQU0gZGV2aWNlIHRpbWluZyByZWdpc3RlciBmb3Igd3JpdGUgY29uZmlndXJhdGlvbiwgaWYgZXh0ZW5kZWQgbW9kZSBpcyB1c2VkICovCisgICAgTU9ESUZZX1JFRyhEZXZpY2UtPkJXVFJbQmFua10sIEJXVFJfQ0xFQVJfTUFTSywgKFRpbWluZy0+QWRkcmVzc1NldHVwVGltZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChUaW1pbmctPkFkZHJlc3NIb2xkVGltZSkgICAgICAgIDw8IEZNQ19CV1RSMV9BRERITERfUG9zKSAgfAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKFRpbWluZy0+RGF0YVNldHVwVGltZSkgICAgICAgICAgPDwgRk1DX0JXVFIxX0RBVEFTVF9Qb3MpICB8CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRpbWluZy0+QWNjZXNzTW9kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChUaW1pbmctPkJ1c1R1cm5Bcm91bmREdXJhdGlvbikgIDw8IEZNQ19CV1RSMV9CVVNUVVJOX1BvcykpKTsKICAgfQogICBlbHNlCiAgIHsKICAgICBEZXZpY2UtPkJXVFJbQmFua10gPSAweDBGRkZGRkZGVTsKLSAgfSAgIAotICAKLSAgcmV0dXJuIEhBTF9PSzsgIAorICB9CisKKyAgcmV0dXJuIEhBTF9PSzsKIH0KIC8qKgogICAqIEB9CiAgICovCi0gIAorCiAvKiogQGFkZHRvZ3JvdXAgRk1DX0xMX05PUlNSQU1fUHJpdmF0ZV9GdW5jdGlvbnNfR3JvdXAyCi0gKiAgQGJyaWVmICAgbWFuYWdlbWVudCBmdW5jdGlvbnMgCi0gKgotQHZlcmJhdGltICAgCisgICogIEBicmllZiAgIG1hbmFnZW1lbnQgZnVuY3Rpb25zCisgICoKK0B2ZXJiYXRpbQogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgICAgICAgICAgICAgICAgICAgICAjIyMjIyBGTUNfTk9SU1JBTSBDb250cm9sIGZ1bmN0aW9ucyAjIyMjIwotICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gIAorICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgWy4uXQogICAgIFRoaXMgc3Vic2VjdGlvbiBwcm92aWRlcyBhIHNldCBvZiBmdW5jdGlvbnMgYWxsb3dpbmcgdG8gY29udHJvbCBkeW5hbWljYWxseQogICAgIHRoZSBGTUMgTk9SU1JBTSBpbnRlcmZhY2UuCkBAIC0zOTAsMTAgKzQ5NywxMSBAQAogQGVuZHZlcmJhdGltCiAgICogQHsKICAgKi8KKwogLyoqCiAgICogQGJyaWVmICBFbmFibGVzIGR5bmFtaWNhbGx5IEZNQ19OT1JTUkFNIHdyaXRlIG9wZXJhdGlvbi4KICAgKiBAcGFyYW0gIERldmljZSBQb2ludGVyIHRvIE5PUlNSQU0gZGV2aWNlIGluc3RhbmNlCi0gICogQHBhcmFtICBCYW5rIE5PUlNSQU0gYmFuayBudW1iZXIgICAKKyAgKiBAcGFyYW0gIEJhbmsgTk9SU1JBTSBiYW5rIG51bWJlcgogICAqIEByZXR2YWwgSEFMIHN0YXR1cwogICAqLwogSEFMX1N0YXR1c1R5cGVEZWYgRk1DX05PUlNSQU1fV3JpdGVPcGVyYXRpb25fRW5hYmxlKEZNQ19OT1JTUkFNX1R5cGVEZWYgKkRldmljZSwgdWludDMyX3QgQmFuaykKQEAgLTQwMSwyOSArNTA5LDI5IEBACiAgIC8qIENoZWNrIHRoZSBwYXJhbWV0ZXJzICovCiAgIGFzc2VydF9wYXJhbShJU19GTUNfTk9SU1JBTV9ERVZJQ0UoRGV2aWNlKSk7CiAgIGFzc2VydF9wYXJhbShJU19GTUNfTk9SU1JBTV9CQU5LKEJhbmspKTsKLSAgCi0gIC8qIEVuYWJsZSB3cml0ZSBvcGVyYXRpb24gKi8KLSAgRGV2aWNlLT5CVENSW0JhbmtdIHw9IEZNQ19XUklURV9PUEVSQVRJT05fRU5BQkxFOyAKIAotICByZXR1cm4gSEFMX09LOyAgCisgIC8qIEVuYWJsZSB3cml0ZSBvcGVyYXRpb24gKi8KKyAgU0VUX0JJVChEZXZpY2UtPkJUQ1JbQmFua10sIEZNQ19XUklURV9PUEVSQVRJT05fRU5BQkxFKTsKKworICByZXR1cm4gSEFMX09LOwogfQogCiAvKioKICAgKiBAYnJpZWYgIERpc2FibGVzIGR5bmFtaWNhbGx5IEZNQ19OT1JTUkFNIHdyaXRlIG9wZXJhdGlvbi4KICAgKiBAcGFyYW0gIERldmljZSBQb2ludGVyIHRvIE5PUlNSQU0gZGV2aWNlIGluc3RhbmNlCi0gICogQHBhcmFtICBCYW5rIE5PUlNSQU0gYmFuayBudW1iZXIgICAKKyAgKiBAcGFyYW0gIEJhbmsgTk9SU1JBTSBiYW5rIG51bWJlcgogICAqIEByZXR2YWwgSEFMIHN0YXR1cwogICAqLwogSEFMX1N0YXR1c1R5cGVEZWYgRk1DX05PUlNSQU1fV3JpdGVPcGVyYXRpb25fRGlzYWJsZShGTUNfTk9SU1JBTV9UeXBlRGVmICpEZXZpY2UsIHVpbnQzMl90IEJhbmspCi17IAorewogICAvKiBDaGVjayB0aGUgcGFyYW1ldGVycyAqLwogICBhc3NlcnRfcGFyYW0oSVNfRk1DX05PUlNSQU1fREVWSUNFKERldmljZSkpOwogICBhc3NlcnRfcGFyYW0oSVNfRk1DX05PUlNSQU1fQkFOSyhCYW5rKSk7Ci0gICAgCi0gIC8qIERpc2FibGUgd3JpdGUgb3BlcmF0aW9uICovCi0gIERldmljZS0+QlRDUltCYW5rXSAmPSB+Rk1DX1dSSVRFX09QRVJBVElPTl9FTkFCTEU7IAogCi0gIHJldHVybiBIQUxfT0s7ICAKKyAgLyogRGlzYWJsZSB3cml0ZSBvcGVyYXRpb24gKi8KKyAgQ0xFQVJfQklUKERldmljZS0+QlRDUltCYW5rXSwgRk1DX1dSSVRFX09QRVJBVElPTl9FTkFCTEUpOworCisgIHJldHVybiBIQUxfT0s7CiB9CiAKIC8qKgpAQCAtNDMzLDMxNyArNTQxLDUyIEBACiAvKioKICAgKiBAfQogICAqLworI2VuZGlmIC8qIEZNQ19CYW5rMSAqLwogCi0vKiogQGFkZHRvZ3JvdXAgRk1DX0xMX05BTkQKLSAgKiBAYnJpZWYgICAgTkFORCBDb250cm9sbGVyIGZ1bmN0aW9ucyAKKyNpZiBkZWZpbmVkKEZNQ19CYW5rMykgfHwgZGVmaW5lZChGTUNfQmFuazJfMykKKworLyoqIEBkZWZncm91cCBGTUNfTExfRXhwb3J0ZWRfRnVuY3Rpb25zX05BTkQgRk1DIExvdyBMYXllciBOQU5EIEV4cG9ydGVkIEZ1bmN0aW9ucworICAqIEBicmllZiAgICBOQU5EIENvbnRyb2xsZXIgZnVuY3Rpb25zCiAgICoKLSAgQHZlcmJhdGltIAorICBAdmVyYmF0aW0KICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAgICAgICAgICAgICAgICAgICMjIyMjIEhvdyB0byB1c2UgTkFORCBkZXZpY2UgZHJpdmVyICMjIyMjCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICBbLi5dCiAgICAgVGhpcyBkcml2ZXIgY29udGFpbnMgYSBzZXQgb2YgQVBJcyB0byBpbnRlcmZhY2Ugd2l0aCB0aGUgRk1DIE5BTkQgYmFua3MgaW4gb3JkZXIKICAgICB0byBydW4gdGhlIE5BTkQgZXh0ZXJuYWwgZGV2aWNlcy4KLSAgCi0gICAgKCspIEZNQyBOQU5EIGJhbmsgcmVzZXQgdXNpbmcgdGhlIGZ1bmN0aW9uIEZNQ19OQU5EX0RlSW5pdCgpIAorCisgICAgKCspIEZNQyBOQU5EIGJhbmsgcmVzZXQgdXNpbmcgdGhlIGZ1bmN0aW9uIEZNQ19OQU5EX0RlSW5pdCgpCiAgICAgKCspIEZNQyBOQU5EIGJhbmsgY29udHJvbCBjb25maWd1cmF0aW9uIHVzaW5nIHRoZSBmdW5jdGlvbiBGTUNfTkFORF9Jbml0KCkKLSAgICAoKykgRk1DIE5BTkQgYmFuayBjb21tb24gc3BhY2UgdGltaW5nIGNvbmZpZ3VyYXRpb24gdXNpbmcgdGhlIGZ1bmN0aW9uIAorICAgICgrKSBGTUMgTkFORCBiYW5rIGNvbW1vbiBzcGFjZSB0aW1pbmcgY29uZmlndXJhdGlvbiB1c2luZyB0aGUgZnVuY3Rpb24KICAgICAgICAgRk1DX05BTkRfQ29tbW9uU3BhY2VfVGltaW5nX0luaXQoKQotICAgICgrKSBGTUMgTkFORCBiYW5rIGF0dHJpYnV0ZSBzcGFjZSB0aW1pbmcgY29uZmlndXJhdGlvbiB1c2luZyB0aGUgZnVuY3Rpb24gCisgICAgKCspIEZNQyBOQU5EIGJhbmsgYXR0cmlidXRlIHNwYWNlIHRpbWluZyBjb25maWd1cmF0aW9uIHVzaW5nIHRoZSBmdW5jdGlvbgogICAgICAgICBGTUNfTkFORF9BdHRyaWJ1dGVTcGFjZV9UaW1pbmdfSW5pdCgpCiAgICAgKCspIEZNQyBOQU5EIGJhbmsgZW5hYmxlL2Rpc2FibGUgRUNDIGNvcnJlY3Rpb24gZmVhdHVyZSB1c2luZyB0aGUgZnVuY3Rpb25zCiAgICAgICAgIEZNQ19OQU5EX0VDQ19FbmFibGUoKS9GTUNfTkFORF9FQ0NfRGlzYWJsZSgpCi0gICAgKCspIEZNQyBOQU5EIGJhbmsgZ2V0IEVDQyBjb3JyZWN0aW9uIGNvZGUgdXNpbmcgdGhlIGZ1bmN0aW9uIEZNQ19OQU5EX0dldEVDQygpICAgIAorICAgICgrKSBGTUMgTkFORCBiYW5rIGdldCBFQ0MgY29ycmVjdGlvbiBjb2RlIHVzaW5nIHRoZSBmdW5jdGlvbiBGTUNfTkFORF9HZXRFQ0MoKQogCiBAZW5kdmVyYmF0aW0KICAgKiBAewogICAqLwotIAotI2lmIGRlZmluZWQoU1RNMzJGNDQ2eHgpIHx8IGRlZmluZWQoU1RNMzJGNDY5eHgpIHx8IGRlZmluZWQoU1RNMzJGNDc5eHgpCi0vKiogQGRlZmdyb3VwIEhBTF9GTUNfTkFORF9Hcm91cDEgSW5pdGlhbGl6YXRpb24vZGUtaW5pdGlhbGl6YXRpb24gZnVuY3Rpb25zIAotICogIEBicmllZiAgICBJbml0aWFsaXphdGlvbiBhbmQgQ29uZmlndXJhdGlvbiBmdW5jdGlvbnMgCi0gKgotQHZlcmJhdGltICAgIAorCisvKiogQGRlZmdyb3VwIEZNQ19MTF9OQU5EX0V4cG9ydGVkX0Z1bmN0aW9uc19Hcm91cDEgSW5pdGlhbGl6YXRpb24gYW5kIGRlLWluaXRpYWxpemF0aW9uIGZ1bmN0aW9ucworICAqICBAYnJpZWYgICAgSW5pdGlhbGl6YXRpb24gYW5kIENvbmZpZ3VyYXRpb24gZnVuY3Rpb25zCisgICoKK0B2ZXJiYXRpbQogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgICAgICAgICAgICAgIyMjIyMgSW5pdGlhbGl6YXRpb24gYW5kIGRlX2luaXRpYWxpemF0aW9uIGZ1bmN0aW9ucyAjIyMjIwogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLSAgWy4uXSAgCi0gICAgVGhpcyBzZWN0aW9uIHByb3ZpZGVzIGZ1bmN0aW9ucyBhbGxvd2luZyB0bzoKLSAgICAoKykgSW5pdGlhbGl6ZSBhbmQgY29uZmlndXJlIHRoZSBGTUMgTkFORCBpbnRlcmZhY2UKLSAgICAoKykgRGUtaW5pdGlhbGl6ZSB0aGUgRk1DIE5BTkQgaW50ZXJmYWNlIAotICAgICgrKSBDb25maWd1cmUgdGhlIEZNQyBjbG9jayBhbmQgYXNzb2NpYXRlZCBHUElPcwotICAgICAgICAKLUBlbmR2ZXJiYXRpbQotICAqIEB7Ci0gICovCi0KLS8qKgotICAqIEBicmllZiAgSW5pdGlhbGl6ZXMgdGhlIEZNQ19OQU5EIGRldmljZSBhY2NvcmRpbmcgdG8gdGhlIHNwZWNpZmllZAotICAqICAgICAgICAgY29udHJvbCBwYXJhbWV0ZXJzIGluIHRoZSBGTUNfTkFORF9IYW5kbGVUeXBlRGVmCi0gICogQHBhcmFtICBEZXZpY2UgUG9pbnRlciB0byBOQU5EIGRldmljZSBpbnN0YW5jZQotICAqIEBwYXJhbSAgSW5pdCBQb2ludGVyIHRvIE5BTkQgSW5pdGlhbGl6YXRpb24gc3RydWN0dXJlCi0gICogQHJldHZhbCBIQUwgc3RhdHVzCi0gICovCi1IQUxfU3RhdHVzVHlwZURlZiBGTUNfTkFORF9Jbml0KEZNQ19OQU5EX1R5cGVEZWYgKkRldmljZSwgRk1DX05BTkRfSW5pdFR5cGVEZWYgKkluaXQpCi17Ci0gIHVpbnQzMl90IHRtcHIgID0gMFU7IAotICAgIAotICAvKiBDaGVjayB0aGUgcGFyYW1ldGVycyAqLwotICBhc3NlcnRfcGFyYW0oSVNfRk1DX05BTkRfREVWSUNFKERldmljZSkpOwotICBhc3NlcnRfcGFyYW0oSVNfRk1DX05BTkRfQkFOSyhJbml0LT5OYW5kQmFuaykpOwotICBhc3NlcnRfcGFyYW0oSVNfRk1DX1dBSVRfRkVBVFVSRShJbml0LT5XYWl0ZmVhdHVyZSkpOwotICBhc3NlcnRfcGFyYW0oSVNfRk1DX05BTkRfTUVNT1JZX1dJRFRIKEluaXQtPk1lbW9yeURhdGFXaWR0aCkpOwotICBhc3NlcnRfcGFyYW0oSVNfRk1DX0VDQ19TVEFURShJbml0LT5FY2NDb21wdXRhdGlvbikpOwotICBhc3NlcnRfcGFyYW0oSVNfRk1DX0VDQ1BBR0VfU0laRShJbml0LT5FQ0NQYWdlU2l6ZSkpOwotICBhc3NlcnRfcGFyYW0oSVNfRk1DX1RDTFJfVElNRShJbml0LT5UQ0xSU2V0dXBUaW1lKSk7Ci0gIGFzc2VydF9wYXJhbShJU19GTUNfVEFSX1RJTUUoSW5pdC0+VEFSU2V0dXBUaW1lKSk7ICAgCi0gIAotICAvKiBHZXQgdGhlIE5BTkQgYmFuayByZWdpc3RlciB2YWx1ZSAqLwotICB0bXByID0gRGV2aWNlLT5QQ1I7Ci0gIAotICAvKiBDbGVhciBQV0FJVEVOLCBQQktFTiwgUFRZUCwgUFdJRCwgRUNDRU4sIFRDTFIsIFRBUiBhbmQgRUNDUFMgYml0cyAqLwotICB0bXByICY9ICgodWludDMyX3QpfihGTUNfUENSX1BXQUlURU4gIHwgRk1DX1BDUl9QQktFTiB8IEZNQ19QQ1JfUFRZUCB8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgRk1DX1BDUl9QV0lEIHwgRk1DX1BDUl9FQ0NFTiB8IEZNQ19QQ1JfVENMUiB8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgRk1DX1BDUl9UQVIgfCBGTUNfUENSX0VDQ1BTKSk7ICAKLSAgCi0gIC8qIFNldCBOQU5EIGRldmljZSBjb250cm9sIHBhcmFtZXRlcnMgKi8KLSAgdG1wciB8PSAodWludDMyX3QpKEluaXQtPldhaXRmZWF0dXJlICAgICAgICAgICAgICAgIHxcCi0gICAgICAgICAgICAgICAgICAgICBGTUNfUENSX01FTU9SWV9UWVBFX05BTkQgICAgICAgICB8XAotICAgICAgICAgICAgICAgICAgICAgSW5pdC0+TWVtb3J5RGF0YVdpZHRoICAgICAgICAgICAgfFwKLSAgICAgICAgICAgICAgICAgICAgIEluaXQtPkVjY0NvbXB1dGF0aW9uICAgICAgICAgICAgIHxcCi0gICAgICAgICAgICAgICAgICAgICBJbml0LT5FQ0NQYWdlU2l6ZSAgICAgICAgICAgICAgICB8XAotICAgICAgICAgICAgICAgICAgICAgKChJbml0LT5UQ0xSU2V0dXBUaW1lKSA8PCA5VSkgICAgfFwKLSAgICAgICAgICAgICAgICAgICAgICgoSW5pdC0+VEFSU2V0dXBUaW1lKSA8PCAxM1UpKTsKLQotICAvKiBOQU5EIGJhbmsgcmVnaXN0ZXJzIGNvbmZpZ3VyYXRpb24gKi8KLSAgRGV2aWNlLT5QQ1IgID0gdG1wcjsKLQotICByZXR1cm4gSEFMX09LOwotfQotCi0vKioKLSAgKiBAYnJpZWYgIEluaXRpYWxpemVzIHRoZSBGTUNfTkFORCBDb21tb24gc3BhY2UgVGltaW5nIGFjY29yZGluZyB0byB0aGUgc3BlY2lmaWVkCi0gICogICAgICAgICBwYXJhbWV0ZXJzIGluIHRoZSBGTUNfTkFORF9QQ0NfVGltaW5nVHlwZURlZgotICAqIEBwYXJhbSAgRGV2aWNlIFBvaW50ZXIgdG8gTkFORCBkZXZpY2UgaW5zdGFuY2UKLSAgKiBAcGFyYW0gIFRpbWluZyBQb2ludGVyIHRvIE5BTkQgdGltaW5nIHN0cnVjdHVyZQotICAqIEBwYXJhbSAgQmFuayBOQU5EIGJhbmsgbnVtYmVyICAgCi0gICogQHJldHZhbCBIQUwgc3RhdHVzCi0gICovCi1IQUxfU3RhdHVzVHlwZURlZiBGTUNfTkFORF9Db21tb25TcGFjZV9UaW1pbmdfSW5pdChGTUNfTkFORF9UeXBlRGVmICpEZXZpY2UsIEZNQ19OQU5EX1BDQ19UaW1pbmdUeXBlRGVmICpUaW1pbmcsIHVpbnQzMl90IEJhbmspCi17Ci0gIHVpbnQzMl90IHRtcHIgPSAwVTsgIAotICAKLSAgLyogQ2hlY2sgdGhlIHBhcmFtZXRlcnMgKi8KLSAgYXNzZXJ0X3BhcmFtKElTX0ZNQ19OQU5EX0RFVklDRShEZXZpY2UpKTsKLSAgYXNzZXJ0X3BhcmFtKElTX0ZNQ19TRVRVUF9USU1FKFRpbWluZy0+U2V0dXBUaW1lKSk7Ci0gIGFzc2VydF9wYXJhbShJU19GTUNfV0FJVF9USU1FKFRpbWluZy0+V2FpdFNldHVwVGltZSkpOwotICBhc3NlcnRfcGFyYW0oSVNfRk1DX0hPTERfVElNRShUaW1pbmctPkhvbGRTZXR1cFRpbWUpKTsKLSAgYXNzZXJ0X3BhcmFtKElTX0ZNQ19ISVpfVElNRShUaW1pbmctPkhpWlNldHVwVGltZSkpOwotICBhc3NlcnRfcGFyYW0oSVNfRk1DX05BTkRfQkFOSyhCYW5rKSk7Ci0gIAotICAvKiBHZXQgdGhlIE5BTkQgYmFuayAyIHJlZ2lzdGVyIHZhbHVlICovCi0gIHRtcHIgPSBEZXZpY2UtPlBNRU07Ci0KLSAgCi0gIC8qIENsZWFyIE1FTVNFVHgsIE1FTVdBSVR4LCBNRU1IT0xEeCBhbmQgTUVNSElaeCBiaXRzICovCi0gIHRtcHIgJj0gKCh1aW50MzJfdCl+KEZNQ19QTUVNX01FTVNFVDIgIHwgRk1DX1BNRU1fTUVNV0FJVDIgfCBGTUNfUE1FTV9NRU1IT0xEMiB8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgRk1DX1BNRU1fTUVNSElaMikpOyAKLSAgCi0gIC8qIFNldCBGTUNfTkFORCBkZXZpY2UgdGltaW5nIHBhcmFtZXRlcnMgKi8KLSAgdG1wciB8PSAodWludDMyX3QpKFRpbWluZy0+U2V0dXBUaW1lICAgICAgICAgICAgICAgICAgICAgfFwKLSAgICAgICAgICAgICAgICAgICAgICAgKChUaW1pbmctPldhaXRTZXR1cFRpbWUpIDw8IDhVKSAgICAgfFwKLSAgICAgICAgICAgICAgICAgICAgICAgKChUaW1pbmctPkhvbGRTZXR1cFRpbWUpIDw8IDE2VSkgICAgfFwKLSAgICAgICAgICAgICAgICAgICAgICAgKChUaW1pbmctPkhpWlNldHVwVGltZSkgPDwgMjRVKQotICAgICAgICAgICAgICAgICAgICAgICApOwotICAgICAgICAgICAgICAgICAgICAgICAKLSAgLyogTkFORCBiYW5rICByZWdpc3RlcnMgY29uZmlndXJhdGlvbiAqLwotICBEZXZpY2UtPlBNRU0gPSB0bXByOwotCi0gIHJldHVybiBIQUxfT0s7ICAKLX0KLQotLyoqCi0gICogQGJyaWVmICBJbml0aWFsaXplcyB0aGUgRk1DX05BTkQgQXR0cmlidXRlIHNwYWNlIFRpbWluZyBhY2NvcmRpbmcgdG8gdGhlIHNwZWNpZmllZAotICAqICAgICAgICAgcGFyYW1ldGVycyBpbiB0aGUgRk1DX05BTkRfUENDX1RpbWluZ1R5cGVEZWYKLSAgKiBAcGFyYW0gIERldmljZSBQb2ludGVyIHRvIE5BTkQgZGV2aWNlIGluc3RhbmNlCi0gICogQHBhcmFtICBUaW1pbmcgUG9pbnRlciB0byBOQU5EIHRpbWluZyBzdHJ1Y3R1cmUKLSAgKiBAcGFyYW0gIEJhbmsgTkFORCBiYW5rIG51bWJlciAKLSAgKiBAcmV0dmFsIEhBTCBzdGF0dXMKLSAgKi8KLUhBTF9TdGF0dXNUeXBlRGVmIEZNQ19OQU5EX0F0dHJpYnV0ZVNwYWNlX1RpbWluZ19Jbml0KEZNQ19OQU5EX1R5cGVEZWYgKkRldmljZSwgRk1DX05BTkRfUENDX1RpbWluZ1R5cGVEZWYgKlRpbWluZywgdWludDMyX3QgQmFuaykKLXsKLSAgdWludDMyX3QgdG1wciA9IDBVOyAgCi0gIAotICAvKiBDaGVjayB0aGUgcGFyYW1ldGVycyAqLyAKLSAgYXNzZXJ0X3BhcmFtKElTX0ZNQ19OQU5EX0RFVklDRShEZXZpY2UpKTsgCi0gIGFzc2VydF9wYXJhbShJU19GTUNfU0VUVVBfVElNRShUaW1pbmctPlNldHVwVGltZSkpOwotICBhc3NlcnRfcGFyYW0oSVNfRk1DX1dBSVRfVElNRShUaW1pbmctPldhaXRTZXR1cFRpbWUpKTsKLSAgYXNzZXJ0X3BhcmFtKElTX0ZNQ19IT0xEX1RJTUUoVGltaW5nLT5Ib2xkU2V0dXBUaW1lKSk7Ci0gIGFzc2VydF9wYXJhbShJU19GTUNfSElaX1RJTUUoVGltaW5nLT5IaVpTZXR1cFRpbWUpKTsKLSAgYXNzZXJ0X3BhcmFtKElTX0ZNQ19OQU5EX0JBTksoQmFuaykpOwotCi0gIC8qIEdldCB0aGUgTkFORCBiYW5rICByZWdpc3RlciB2YWx1ZSAqLwotICB0bXByID0gRGV2aWNlLT5QQVRUOwotCi0gIC8qIENsZWFyIEFUVFNFVHgsIEFUVFdBSVR4LCBBVFRIT0xEeCBhbmQgQVRUSElaeCBiaXRzICovCi0gIHRtcHIgJj0gKCh1aW50MzJfdCl+KEZNQ19QQVRUX0FUVFNFVDIgIHwgRk1DX1BBVFRfQVRUV0FJVDIgfCBGTUNfUEFUVF9BVFRIT0xEMiB8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgRk1DX1BBVFRfQVRUSElaMikpOwotICAKLSAgLyogU2V0IEZNQ19OQU5EIGRldmljZSB0aW1pbmcgcGFyYW1ldGVycyAqLwotICB0bXByIHw9ICh1aW50MzJfdCkoVGltaW5nLT5TZXR1cFRpbWUgICAgICAgICAgICAgICAgIHxcCi0gICAgICAgICAgICAgICAgICAgKChUaW1pbmctPldhaXRTZXR1cFRpbWUpIDw8IDhVKSAgICAgfFwKLSAgICAgICAgICAgICAgICAgICAoKFRpbWluZy0+SG9sZFNldHVwVGltZSkgPDwgMTZVKSAgICB8XAotICAgICAgICAgICAgICAgICAgICgoVGltaW5nLT5IaVpTZXR1cFRpbWUpIDw8IDI0VSkpOwotCi0gIC8qIE5BTkQgYmFuayByZWdpc3RlcnMgY29uZmlndXJhdGlvbiAqLwotICBEZXZpY2UtPlBBVFQgPSB0bXByOyAKLSAKLSAgcmV0dXJuIEhBTF9PSzsKLX0KLQotCi0vKioKLSAgKiBAYnJpZWYgIERlSW5pdGlhbGl6ZXMgdGhlIEZNQ19OQU5EIGRldmljZSAKLSAgKiBAcGFyYW0gIERldmljZSBQb2ludGVyIHRvIE5BTkQgZGV2aWNlIGluc3RhbmNlCi0gICogQHBhcmFtICBCYW5rIE5BTkQgYmFuayBudW1iZXIKLSAgKiBAcmV0dmFsIEhBTCBzdGF0dXMKLSAgKi8KLUhBTF9TdGF0dXNUeXBlRGVmIEZNQ19OQU5EX0RlSW5pdChGTUNfTkFORF9UeXBlRGVmICpEZXZpY2UsIHVpbnQzMl90IEJhbmspCi17Ci0gIC8qIENoZWNrIHRoZSBwYXJhbWV0ZXJzICovIAotICBhc3NlcnRfcGFyYW0oSVNfRk1DX05BTkRfREVWSUNFKERldmljZSkpOyAKLSAgYXNzZXJ0X3BhcmFtKElTX0ZNQ19OQU5EX0JBTksoQmFuaykpOwotICAKLSAgLyogRGlzYWJsZSB0aGUgTkFORCBCYW5rICovCi0gIF9fRk1DX05BTkRfRElTQUJMRShEZXZpY2UsIEJhbmspOwotICAKLSAgLyogRGUtaW5pdGlhbGl6ZSB0aGUgTkFORCBCYW5rICovCi0gIC8qIFNldCB0aGUgRk1DX05BTkRfQkFOSyByZWdpc3RlcnMgdG8gdGhlaXIgcmVzZXQgdmFsdWVzICovCi0gIERldmljZS0+UENSICA9IDB4MDAwMDAwMThVOwotICBEZXZpY2UtPlNSICAgPSAweDAwMDAwMDQwVTsKLSAgRGV2aWNlLT5QTUVNID0gMHhGQ0ZDRkNGQ1U7Ci0gIERldmljZS0+UEFUVCA9IDB4RkNGQ0ZDRkNVOwotCi0gIHJldHVybiBIQUxfT0s7Ci19Ci0KLS8qKgotICAqIEB9Ci0gICovCi0gIAotICAKLS8qKiBAZGVmZ3JvdXAgSEFMX0ZNQ19OQU5EX0dyb3VwMiBDb250cm9sIGZ1bmN0aW9ucyAKLSAqICBAYnJpZWYgICBtYW5hZ2VtZW50IGZ1bmN0aW9ucyAKLSAqCi1AdmVyYmF0aW0gICAKLSAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0gICAgICAgICAgICAgICAgICAgICAgICMjIyMjIEZNQ19OQU5EIENvbnRyb2wgZnVuY3Rpb25zICMjIyMjCi0gID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAgCiAgIFsuLl0KLSAgICBUaGlzIHN1YnNlY3Rpb24gcHJvdmlkZXMgYSBzZXQgb2YgZnVuY3Rpb25zIGFsbG93aW5nIHRvIGNvbnRyb2wgZHluYW1pY2FsbHkKLSAgICB0aGUgRk1DIE5BTkQgaW50ZXJmYWNlLgotCi1AZW5kdmVyYmF0aW0KLSAgKiBAewotICAqLyAKLQotICAgIAotLyoqCi0gICogQGJyaWVmICBFbmFibGVzIGR5bmFtaWNhbGx5IEZNQ19OQU5EIEVDQyBmZWF0dXJlLgotICAqIEBwYXJhbSAgRGV2aWNlIFBvaW50ZXIgdG8gTkFORCBkZXZpY2UgaW5zdGFuY2UKLSAgKiBAcGFyYW0gIEJhbmsgTkFORCBiYW5rIG51bWJlcgotICAqIEByZXR2YWwgSEFMIHN0YXR1cwotICAqLyAgICAKLUhBTF9TdGF0dXNUeXBlRGVmIEZNQ19OQU5EX0VDQ19FbmFibGUoRk1DX05BTkRfVHlwZURlZiAqRGV2aWNlLCB1aW50MzJfdCBCYW5rKQotewotICAvKiBDaGVjayB0aGUgcGFyYW1ldGVycyAqLyAKLSAgYXNzZXJ0X3BhcmFtKElTX0ZNQ19OQU5EX0RFVklDRShEZXZpY2UpKTsgCi0gIGFzc2VydF9wYXJhbShJU19GTUNfTkFORF9CQU5LKEJhbmspKTsKLQotICAvKiBFbmFibGUgRUNDIGZlYXR1cmUgKi8KLSAgRGV2aWNlLT5QQ1IgfD0gRk1DX1BDUl9FQ0NFTjsKLQotICByZXR1cm4gSEFMX09LOyAgCi19Ci0KLQotLyoqCi0gICogQGJyaWVmICBEaXNhYmxlcyBkeW5hbWljYWxseSBGTUNfTkFORCBFQ0MgZmVhdHVyZS4KLSAgKiBAcGFyYW0gIERldmljZSBQb2ludGVyIHRvIE5BTkQgZGV2aWNlIGluc3RhbmNlCi0gICogQHBhcmFtICBCYW5rIE5BTkQgYmFuayBudW1iZXIKLSAgKiBAcmV0dmFsIEhBTCBzdGF0dXMKLSAgKi8gIAotSEFMX1N0YXR1c1R5cGVEZWYgRk1DX05BTkRfRUNDX0Rpc2FibGUoRk1DX05BTkRfVHlwZURlZiAqRGV2aWNlLCB1aW50MzJfdCBCYW5rKSAgCi17ICAKLSAgLyogQ2hlY2sgdGhlIHBhcmFtZXRlcnMgKi8gCi0gIGFzc2VydF9wYXJhbShJU19GTUNfTkFORF9ERVZJQ0UoRGV2aWNlKSk7IAotICBhc3NlcnRfcGFyYW0oSVNfRk1DX05BTkRfQkFOSyhCYW5rKSk7Ci0gIAotICAvKiBEaXNhYmxlIEVDQyBmZWF0dXJlICovCi0gIERldmljZS0+UENSICY9IH5GTUNfUENSX0VDQ0VOOwotCi0gIHJldHVybiBIQUxfT0s7ICAKLX0KLQotLyoqCi0gICogQGJyaWVmICBEaXNhYmxlcyBkeW5hbWljYWxseSBGTUNfTkFORCBFQ0MgZmVhdHVyZS4KLSAgKiBAcGFyYW0gIERldmljZSBQb2ludGVyIHRvIE5BTkQgZGV2aWNlIGluc3RhbmNlCi0gICogQHBhcmFtICBFQ0N2YWwgUG9pbnRlciB0byBFQ0MgdmFsdWUKLSAgKiBAcGFyYW0gIEJhbmsgTkFORCBiYW5rIG51bWJlcgotICAqIEBwYXJhbSAgVGltZW91dCBUaW1lb3V0IHdhaXQgdmFsdWUgIAotICAqIEByZXR2YWwgSEFMIHN0YXR1cwotICAqLwotSEFMX1N0YXR1c1R5cGVEZWYgRk1DX05BTkRfR2V0RUNDKEZNQ19OQU5EX1R5cGVEZWYgKkRldmljZSwgdWludDMyX3QgKkVDQ3ZhbCwgdWludDMyX3QgQmFuaywgdWludDMyX3QgVGltZW91dCkKLXsKLSAgdWludDMyX3QgdGlja3N0YXJ0ID0gMFU7Ci0gIAotICAvKiBDaGVjayB0aGUgcGFyYW1ldGVycyAqLyAKLSAgYXNzZXJ0X3BhcmFtKElTX0ZNQ19OQU5EX0RFVklDRShEZXZpY2UpKTsgCi0gIGFzc2VydF9wYXJhbShJU19GTUNfTkFORF9CQU5LKEJhbmspKTsKLSAgCi0gIC8qIEdldCB0aWNrICovIAotICB0aWNrc3RhcnQgPSBIQUxfR2V0VGljaygpOwotICAKLSAgLyogV2FpdCB1bnRpbCBGSUZPIGlzIGVtcHR5ICovCi0gIHdoaWxlKF9fRk1DX05BTkRfR0VUX0ZMQUcoRGV2aWNlLCBCYW5rLCBGTUNfRkxBR19GRU1QVCkgPT0gUkVTRVQpCi0gIHsKLSAgICAvKiBDaGVjayBmb3IgdGhlIFRpbWVvdXQgKi8KLSAgICBpZihUaW1lb3V0ICE9IEhBTF9NQVhfREVMQVkpCi0gICAgewotICAgICAgaWYoKFRpbWVvdXQgPT0gMFUpfHwoKEhBTF9HZXRUaWNrKCkgLSB0aWNrc3RhcnQgKSA+IFRpbWVvdXQpKQotICAgICAgewotICAgICAgICByZXR1cm4gSEFMX1RJTUVPVVQ7Ci0gICAgICB9Ci0gICAgfSAgCi0gIH0KLSAgCi0gIC8qIEdldCB0aGUgRUNDUiByZWdpc3RlciB2YWx1ZSAqLwotICAqRUNDdmFsID0gKHVpbnQzMl90KURldmljZS0+RUNDUjsKLQotICByZXR1cm4gSEFMX09LOyAgCi19Ci0KLS8qKgotICAqIEB9Ci0gICovCi0KLSNlbHNlIC8qIGRlZmluZWQoU1RNMzJGNDI3eHgpIHx8IGRlZmluZWQoU1RNMzJGNDM3eHgpIHx8IGRlZmluZWQoU1RNMzJGNDI5eHgpIHx8IGRlZmluZWQoU1RNMzJGNDM5eHgpICovCi0vKiogQGRlZmdyb3VwIEhBTF9GTUNfTkFORF9Hcm91cDEgSW5pdGlhbGl6YXRpb24vZGUtaW5pdGlhbGl6YXRpb24gZnVuY3Rpb25zIAotICogIEBicmllZiAgICBJbml0aWFsaXphdGlvbiBhbmQgQ29uZmlndXJhdGlvbiBmdW5jdGlvbnMgCi0gKgotQHZlcmJhdGltICAgIAotICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLSAgICAgICAgICAgICAgIyMjIyMgSW5pdGlhbGl6YXRpb24gYW5kIGRlX2luaXRpYWxpemF0aW9uIGZ1bmN0aW9ucyAjIyMjIwotICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLSAgWy4uXSAgCiAgICAgVGhpcyBzZWN0aW9uIHByb3ZpZGVzIGZ1bmN0aW9ucyBhbGxvd2luZyB0bzoKICAgICAoKykgSW5pdGlhbGl6ZSBhbmQgY29uZmlndXJlIHRoZSBGTUMgTkFORCBpbnRlcmZhY2UKLSAgICAoKykgRGUtaW5pdGlhbGl6ZSB0aGUgRk1DIE5BTkQgaW50ZXJmYWNlIAorICAgICgrKSBEZS1pbml0aWFsaXplIHRoZSBGTUMgTkFORCBpbnRlcmZhY2UKICAgICAoKykgQ29uZmlndXJlIHRoZSBGTUMgY2xvY2sgYW5kIGFzc29jaWF0ZWQgR1BJT3MKLSAgICAgICAgCisKIEBlbmR2ZXJiYXRpbQogICAqIEB7CiAgICovCisKIC8qKgogICAqIEBicmllZiAgSW5pdGlhbGl6ZXMgdGhlIEZNQ19OQU5EIGRldmljZSBhY2NvcmRpbmcgdG8gdGhlIHNwZWNpZmllZAogICAqICAgICAgICAgY29udHJvbCBwYXJhbWV0ZXJzIGluIHRoZSBGTUNfTkFORF9IYW5kbGVUeXBlRGVmCkBAIC03NTMsOCArNTk2LDYgQEAKICAgKi8KIEhBTF9TdGF0dXNUeXBlRGVmIEZNQ19OQU5EX0luaXQoRk1DX05BTkRfVHlwZURlZiAqRGV2aWNlLCBGTUNfTkFORF9Jbml0VHlwZURlZiAqSW5pdCkKIHsKLSAgdWludDMyX3QgdG1wciAgPSAwVTsgCi0gICAgCiAgIC8qIENoZWNrIHRoZSBwYXJhbWV0ZXJzICovCiAgIGFzc2VydF9wYXJhbShJU19GTUNfTkFORF9ERVZJQ0UoRGV2aWNlKSk7CiAgIGFzc2VydF9wYXJhbShJU19GTUNfTkFORF9CQU5LKEluaXQtPk5hbmRCYW5rKSk7CkBAIC03NjMsNDYgKzYwNCw0NCBAQAogICBhc3NlcnRfcGFyYW0oSVNfRk1DX0VDQ19TVEFURShJbml0LT5FY2NDb21wdXRhdGlvbikpOwogICBhc3NlcnRfcGFyYW0oSVNfRk1DX0VDQ1BBR0VfU0laRShJbml0LT5FQ0NQYWdlU2l6ZSkpOwogICBhc3NlcnRfcGFyYW0oSVNfRk1DX1RDTFJfVElNRShJbml0LT5UQ0xSU2V0dXBUaW1lKSk7Ci0gIGFzc2VydF9wYXJhbShJU19GTUNfVEFSX1RJTUUoSW5pdC0+VEFSU2V0dXBUaW1lKSk7ICAgCisgIGFzc2VydF9wYXJhbShJU19GTUNfVEFSX1RJTUUoSW5pdC0+VEFSU2V0dXBUaW1lKSk7CiAKLSAgaWYoSW5pdC0+TmFuZEJhbmsgPT0gRk1DX05BTkRfQkFOSzIpCi0gIHsKLSAgICAvKiBHZXQgdGhlIE5BTkQgYmFuayAyIHJlZ2lzdGVyIHZhbHVlICovCi0gICAgdG1wciA9IERldmljZS0+UENSMjsKLSAgfQotICBlbHNlCi0gIHsKLSAgICAvKiBHZXQgdGhlIE5BTkQgYmFuayAzIHJlZ2lzdGVyIHZhbHVlICovCi0gICAgdG1wciA9IERldmljZS0+UENSMzsKLSAgfQotICAKLSAgLyogQ2xlYXIgUFdBSVRFTiwgUEJLRU4sIFBUWVAsIFBXSUQsIEVDQ0VOLCBUQ0xSLCBUQVIgYW5kIEVDQ1BTIGJpdHMgKi8KLSAgdG1wciAmPSAoKHVpbnQzMl90KX4oRk1DX1BDUjJfUFdBSVRFTiAgfCBGTUNfUENSMl9QQktFTiB8IEZNQ19QQ1IyX1BUWVAgfCBcCi0gICAgICAgICAgICAgICAgICAgICAgIEZNQ19QQ1IyX1BXSUQgfCBGTUNfUENSMl9FQ0NFTiB8IEZNQ19QQ1IyX1RDTFIgfCBcCi0gICAgICAgICAgICAgICAgICAgICAgIEZNQ19QQ1IyX1RBUiB8IEZNQ19QQ1IyX0VDQ1BTKSk7ICAKLSAgCisjaWYgZGVmaW5lZChGTUNfQmFuazJfMykKICAgLyogU2V0IE5BTkQgZGV2aWNlIGNvbnRyb2wgcGFyYW1ldGVycyAqLwotICB0bXByIHw9ICh1aW50MzJfdCkoSW5pdC0+V2FpdGZlYXR1cmUgICAgICAgICAgICAgICAgIHxcCi0gICAgICAgICAgICAgICAgICAgICBGTUNfUENSX01FTU9SWV9UWVBFX05BTkQgICAgICAgICAgfFwKLSAgICAgICAgICAgICAgICAgICAgIEluaXQtPk1lbW9yeURhdGFXaWR0aCAgICAgICAgICAgICB8XAotICAgICAgICAgICAgICAgICAgICAgSW5pdC0+RWNjQ29tcHV0YXRpb24gICAgICAgICAgICAgIHxcCi0gICAgICAgICAgICAgICAgICAgICBJbml0LT5FQ0NQYWdlU2l6ZSAgICAgICAgICAgICAgICAgfFwKLSAgICAgICAgICAgICAgICAgICAgICgoSW5pdC0+VENMUlNldHVwVGltZSkgPDwgOVUpICAgICB8XAotICAgICAgICAgICAgICAgICAgICAgKChJbml0LT5UQVJTZXR1cFRpbWUpIDw8IDEzVSkpOyAgIAotICAKLSAgaWYoSW5pdC0+TmFuZEJhbmsgPT0gRk1DX05BTkRfQkFOSzIpCisgIGlmIChJbml0LT5OYW5kQmFuayA9PSBGTUNfTkFORF9CQU5LMikKICAgewogICAgIC8qIE5BTkQgYmFuayAyIHJlZ2lzdGVycyBjb25maWd1cmF0aW9uICovCi0gICAgRGV2aWNlLT5QQ1IyICA9IHRtcHI7CisgICAgTU9ESUZZX1JFRyhEZXZpY2UtPlBDUjIsIFBDUl9DTEVBUl9NQVNLLCAoSW5pdC0+V2FpdGZlYXR1cmUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGTUNfUENSX01FTU9SWV9UWVBFX05BTkQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEluaXQtPk1lbW9yeURhdGFXaWR0aCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSW5pdC0+RWNjQ29tcHV0YXRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJbml0LT5FQ0NQYWdlU2l6ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSW5pdC0+VENMUlNldHVwVGltZSkgPDwgRk1DX1BDUjJfVENMUl9Qb3MpICB8CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJbml0LT5UQVJTZXR1cFRpbWUpICA8PCBGTUNfUENSMl9UQVJfUG9zKSkpOwogICB9CiAgIGVsc2UKICAgewogICAgIC8qIE5BTkQgYmFuayAzIHJlZ2lzdGVycyBjb25maWd1cmF0aW9uICovCi0gICAgRGV2aWNlLT5QQ1IzICA9IHRtcHI7CisgICAgTU9ESUZZX1JFRyhEZXZpY2UtPlBDUjMsIFBDUl9DTEVBUl9NQVNLLCAoSW5pdC0+V2FpdGZlYXR1cmUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGTUNfUENSX01FTU9SWV9UWVBFX05BTkQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEluaXQtPk1lbW9yeURhdGFXaWR0aCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSW5pdC0+RWNjQ29tcHV0YXRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJbml0LT5FQ0NQYWdlU2l6ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSW5pdC0+VENMUlNldHVwVGltZSkgPDwgRk1DX1BDUjJfVENMUl9Qb3MpICB8CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJbml0LT5UQVJTZXR1cFRpbWUpICA8PCBGTUNfUENSMl9UQVJfUG9zKSkpOwogICB9Ci0gIAotICByZXR1cm4gSEFMX09LOworI2Vsc2UKKyAgLyogTkFORCBiYW5rIDMgcmVnaXN0ZXJzIGNvbmZpZ3VyYXRpb24gKi8KKyAgTU9ESUZZX1JFRyhEZXZpY2UtPlBDUiwgUENSX0NMRUFSX01BU0ssIChJbml0LT5XYWl0ZmVhdHVyZSAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRk1DX1BDUl9NRU1PUllfVFlQRV9OQU5EICAgICAgICAgICAgICAgICAgICAgfAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEluaXQtPk1lbW9yeURhdGFXaWR0aCAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJbml0LT5FY2NDb21wdXRhdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICB8CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSW5pdC0+RUNDUGFnZVNpemUgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSW5pdC0+VENMUlNldHVwVGltZSkgPDwgRk1DX1BDUl9UQ0xSX1BvcykgIHwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEluaXQtPlRBUlNldHVwVGltZSkgIDw8IEZNQ19QQ1JfVEFSX1BvcykpKTsKKyNlbmRpZgogCisgIHJldHVybiBIQUxfT0s7CiB9CiAKIC8qKgpAQCAtODEwLDEzICs2NDksMTIgQEAKICAgKiAgICAgICAgIHBhcmFtZXRlcnMgaW4gdGhlIEZNQ19OQU5EX1BDQ19UaW1pbmdUeXBlRGVmCiAgICogQHBhcmFtICBEZXZpY2UgUG9pbnRlciB0byBOQU5EIGRldmljZSBpbnN0YW5jZQogICAqIEBwYXJhbSAgVGltaW5nIFBvaW50ZXIgdG8gTkFORCB0aW1pbmcgc3RydWN0dXJlCi0gICogQHBhcmFtICBCYW5rIE5BTkQgYmFuayBudW1iZXIgICAKKyAgKiBAcGFyYW0gIEJhbmsgTkFORCBiYW5rIG51bWJlcgogICAqIEByZXR2YWwgSEFMIHN0YXR1cwogICAqLwotSEFMX1N0YXR1c1R5cGVEZWYgRk1DX05BTkRfQ29tbW9uU3BhY2VfVGltaW5nX0luaXQoRk1DX05BTkRfVHlwZURlZiAqRGV2aWNlLCBGTUNfTkFORF9QQ0NfVGltaW5nVHlwZURlZiAqVGltaW5nLCB1aW50MzJfdCBCYW5rKQorSEFMX1N0YXR1c1R5cGVEZWYgRk1DX05BTkRfQ29tbW9uU3BhY2VfVGltaW5nX0luaXQoRk1DX05BTkRfVHlwZURlZiAqRGV2aWNlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRk1DX05BTkRfUENDX1RpbWluZ1R5cGVEZWYgKlRpbWluZywgdWludDMyX3QgQmFuaykKIHsKLSAgdWludDMyX3QgdG1wciA9IDBVOyAgCi0gIAogICAvKiBDaGVjayB0aGUgcGFyYW1ldGVycyAqLwogICBhc3NlcnRfcGFyYW0oSVNfRk1DX05BTkRfREVWSUNFKERldmljZSkpOwogICBhc3NlcnRfcGFyYW0oSVNfRk1DX1NFVFVQX1RJTUUoVGltaW5nLT5TZXR1cFRpbWUpKTsKQEAgLTgyNCw0MSArNjYyLDM3IEBACiAgIGFzc2VydF9wYXJhbShJU19GTUNfSE9MRF9USU1FKFRpbWluZy0+SG9sZFNldHVwVGltZSkpOwogICBhc3NlcnRfcGFyYW0oSVNfRk1DX0hJWl9USU1FKFRpbWluZy0+SGlaU2V0dXBUaW1lKSk7CiAgIGFzc2VydF9wYXJhbShJU19GTUNfTkFORF9CQU5LKEJhbmspKTsKLSAgCi0gIGlmKEJhbmsgPT0gRk1DX05BTkRfQkFOSzIpCi0gIHsKLSAgICAvKiBHZXQgdGhlIE5BTkQgYmFuayAyIHJlZ2lzdGVyIHZhbHVlICovCi0gICAgdG1wciA9IERldmljZS0+UE1FTTI7Ci0gIH0KLSAgZWxzZQotICB7Ci0gICAgLyogR2V0IHRoZSBOQU5EIGJhbmsgMyByZWdpc3RlciB2YWx1ZSAqLwotICAgIHRtcHIgPSBEZXZpY2UtPlBNRU0zOwotICB9IAotICAKLSAgLyogQ2xlYXIgTUVNU0VUeCwgTUVNV0FJVHgsIE1FTUhPTER4IGFuZCBNRU1ISVp4IGJpdHMgKi8KLSAgdG1wciAmPSAoKHVpbnQzMl90KX4oRk1DX1BNRU0yX01FTVNFVDIgIHwgRk1DX1BNRU0yX01FTVdBSVQyIHwgRk1DX1BNRU0yX01FTUhPTEQyIHwgXAotICAgICAgICAgICAgICAgICAgICAgICBGTUNfUE1FTTJfTUVNSElaMikpOyAKLSAgCisKKyNpZiBkZWZpbmVkKEZNQ19CYW5rMl8zKQogICAvKiBTZXQgRk1DX05BTkQgZGV2aWNlIHRpbWluZyBwYXJhbWV0ZXJzICovCi0gIHRtcHIgfD0gKHVpbnQzMl90KShUaW1pbmctPlNldHVwVGltZSAgICAgICAgICAgICAgICAgICAgIHxcCi0gICAgICAgICAgICAgICAgICAgICAgICgoVGltaW5nLT5XYWl0U2V0dXBUaW1lKSA8PCA4VSkgICAgIHxcCi0gICAgICAgICAgICAgICAgICAgICAgICgoVGltaW5nLT5Ib2xkU2V0dXBUaW1lKSA8PCAxNlUpICAgIHxcCi0gICAgICAgICAgICAgICAgICAgICAgICgoVGltaW5nLT5IaVpTZXR1cFRpbWUpIDw8IDI0VSkKLSAgICAgICAgICAgICAgICAgICAgICAgKTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAKLSAgaWYoQmFuayA9PSBGTUNfTkFORF9CQU5LMikKKyAgaWYgKEJhbmsgPT0gRk1DX05BTkRfQkFOSzIpCiAgIHsKICAgICAvKiBOQU5EIGJhbmsgMiByZWdpc3RlcnMgY29uZmlndXJhdGlvbiAqLwotICAgIERldmljZS0+UE1FTTIgPSB0bXByOworICAgIE1PRElGWV9SRUcoRGV2aWNlLT5QTUVNMiwgUE1FTV9DTEVBUl9NQVNLLCAoVGltaW5nLT5TZXR1cFRpbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKFRpbWluZy0+V2FpdFNldHVwVGltZSkgPDwgRk1DX1BNRU0yX01FTVdBSVQyX1BvcykgfAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChUaW1pbmctPkhvbGRTZXR1cFRpbWUpIDw8IEZNQ19QTUVNMl9NRU1IT0xEMl9Qb3MpIHwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoVGltaW5nLT5IaVpTZXR1cFRpbWUpICA8PCBGTUNfUE1FTTJfTUVNSElaMl9Qb3MpKSk7CiAgIH0KICAgZWxzZQogICB7CiAgICAgLyogTkFORCBiYW5rIDMgcmVnaXN0ZXJzIGNvbmZpZ3VyYXRpb24gKi8KLSAgICBEZXZpY2UtPlBNRU0zID0gdG1wcjsKLSAgfSAgCi0gIAotICByZXR1cm4gSEFMX09LOyAgCisgICAgTU9ESUZZX1JFRyhEZXZpY2UtPlBNRU0zLCBQTUVNX0NMRUFSX01BU0ssIChUaW1pbmctPlNldHVwVGltZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoVGltaW5nLT5XYWl0U2V0dXBUaW1lKSA8PCBGTUNfUE1FTTJfTUVNV0FJVDJfUG9zKSB8CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKFRpbWluZy0+SG9sZFNldHVwVGltZSkgPDwgRk1DX1BNRU0yX01FTUhPTEQyX1BvcykgfAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChUaW1pbmctPkhpWlNldHVwVGltZSkgIDw8IEZNQ19QTUVNMl9NRU1ISVoyX1BvcykpKTsKKyAgfQorI2Vsc2UKKyAgLyogUHJldmVudCB1bnVzZWQgYXJndW1lbnQocykgY29tcGlsYXRpb24gd2FybmluZyBpZiBubyBhc3NlcnRfcGFyYW0gY2hlY2sgKi8KKyAgVU5VU0VEKEJhbmspOworCisgIC8qIE5BTkQgYmFuayAzIHJlZ2lzdGVycyBjb25maWd1cmF0aW9uICovCisgIE1PRElGWV9SRUcoRGV2aWNlLT5QTUVNLCBQTUVNX0NMRUFSX01BU0ssIChUaW1pbmctPlNldHVwVGltZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoVGltaW5nLT5XYWl0U2V0dXBUaW1lKSA8PCBGTUNfUE1FTV9NRU1XQUlUMl9Qb3MpIHwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoVGltaW5nLT5Ib2xkU2V0dXBUaW1lKSA8PCBGTUNfUE1FTV9NRU1IT0xEMl9Qb3MpIHwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoVGltaW5nLT5IaVpTZXR1cFRpbWUpICA8PCBGTUNfUE1FTV9NRU1ISVoyX1BvcykpKTsKKyNlbmRpZgorCisgIHJldHVybiBIQUxfT0s7CiB9CiAKIC8qKgpAQCAtODY2LDkwICs3MDAsOTcgQEAKICAgKiAgICAgICAgIHBhcmFtZXRlcnMgaW4gdGhlIEZNQ19OQU5EX1BDQ19UaW1pbmdUeXBlRGVmCiAgICogQHBhcmFtICBEZXZpY2UgUG9pbnRlciB0byBOQU5EIGRldmljZSBpbnN0YW5jZQogICAqIEBwYXJhbSAgVGltaW5nIFBvaW50ZXIgdG8gTkFORCB0aW1pbmcgc3RydWN0dXJlCi0gICogQHBhcmFtICBCYW5rIE5BTkQgYmFuayBudW1iZXIgCisgICogQHBhcmFtICBCYW5rIE5BTkQgYmFuayBudW1iZXIKICAgKiBAcmV0dmFsIEhBTCBzdGF0dXMKICAgKi8KLUhBTF9TdGF0dXNUeXBlRGVmIEZNQ19OQU5EX0F0dHJpYnV0ZVNwYWNlX1RpbWluZ19Jbml0KEZNQ19OQU5EX1R5cGVEZWYgKkRldmljZSwgRk1DX05BTkRfUENDX1RpbWluZ1R5cGVEZWYgKlRpbWluZywgdWludDMyX3QgQmFuaykKK0hBTF9TdGF0dXNUeXBlRGVmIEZNQ19OQU5EX0F0dHJpYnV0ZVNwYWNlX1RpbWluZ19Jbml0KEZNQ19OQU5EX1R5cGVEZWYgKkRldmljZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZNQ19OQU5EX1BDQ19UaW1pbmdUeXBlRGVmICpUaW1pbmcsIHVpbnQzMl90IEJhbmspCiB7Ci0gIHVpbnQzMl90IHRtcHIgPSAwVTsgIAotICAKLSAgLyogQ2hlY2sgdGhlIHBhcmFtZXRlcnMgKi8gCi0gIGFzc2VydF9wYXJhbShJU19GTUNfTkFORF9ERVZJQ0UoRGV2aWNlKSk7IAorICAvKiBDaGVjayB0aGUgcGFyYW1ldGVycyAqLworICBhc3NlcnRfcGFyYW0oSVNfRk1DX05BTkRfREVWSUNFKERldmljZSkpOwogICBhc3NlcnRfcGFyYW0oSVNfRk1DX1NFVFVQX1RJTUUoVGltaW5nLT5TZXR1cFRpbWUpKTsKICAgYXNzZXJ0X3BhcmFtKElTX0ZNQ19XQUlUX1RJTUUoVGltaW5nLT5XYWl0U2V0dXBUaW1lKSk7CiAgIGFzc2VydF9wYXJhbShJU19GTUNfSE9MRF9USU1FKFRpbWluZy0+SG9sZFNldHVwVGltZSkpOwogICBhc3NlcnRfcGFyYW0oSVNfRk1DX0hJWl9USU1FKFRpbWluZy0+SGlaU2V0dXBUaW1lKSk7CiAgIGFzc2VydF9wYXJhbShJU19GTUNfTkFORF9CQU5LKEJhbmspKTsKLSAgCi0gIGlmKEJhbmsgPT0gRk1DX05BTkRfQkFOSzIpCi0gIHsKLSAgICAvKiBHZXQgdGhlIE5BTkQgYmFuayAyIHJlZ2lzdGVyIHZhbHVlICovCi0gICAgdG1wciA9IERldmljZS0+UEFUVDI7Ci0gIH0KLSAgZWxzZQotICB7Ci0gICAgLyogR2V0IHRoZSBOQU5EIGJhbmsgMyByZWdpc3RlciB2YWx1ZSAqLwotICAgIHRtcHIgPSBEZXZpY2UtPlBBVFQzOwotICB9IAotICAKLSAgLyogQ2xlYXIgQVRUU0VUeCwgQVRUV0FJVHgsIEFUVEhPTER4IGFuZCBBVFRISVp4IGJpdHMgKi8KLSAgdG1wciAmPSAoKHVpbnQzMl90KX4oRk1DX1BBVFQyX0FUVFNFVDIgIHwgRk1DX1BBVFQyX0FUVFdBSVQyIHwgRk1DX1BBVFQyX0FUVEhPTEQyIHwgXAotICAgICAgICAgICAgICAgICAgICAgICBGTUNfUEFUVDJfQVRUSElaMikpOwotICAKKworI2lmIGRlZmluZWQoRk1DX0JhbmsyXzMpCiAgIC8qIFNldCBGTUNfTkFORCBkZXZpY2UgdGltaW5nIHBhcmFtZXRlcnMgKi8KLSAgdG1wciB8PSAodWludDMyX3QpKFRpbWluZy0+U2V0dXBUaW1lICAgICAgICAgICAgICAgICAgfFwKLSAgICAgICAgICAgICAgICAgICAoKFRpbWluZy0+V2FpdFNldHVwVGltZSkgPDwgOFUpICAgICAgfFwKLSAgICAgICAgICAgICAgICAgICAoKFRpbWluZy0+SG9sZFNldHVwVGltZSkgPDwgMTZVKSAgICAgfFwKLSAgICAgICAgICAgICAgICAgICAoKFRpbWluZy0+SGlaU2V0dXBUaW1lKSA8PCAyNFUpKTsKLSAgICAgICAgICAgICAgICAgICAgICAgCi0gIGlmKEJhbmsgPT0gRk1DX05BTkRfQkFOSzIpCisgIGlmIChCYW5rID09IEZNQ19OQU5EX0JBTksyKQogICB7CiAgICAgLyogTkFORCBiYW5rIDIgcmVnaXN0ZXJzIGNvbmZpZ3VyYXRpb24gKi8KLSAgICBEZXZpY2UtPlBBVFQyID0gdG1wcjsKKyAgICBNT0RJRllfUkVHKERldmljZS0+UEFUVDIsIFBBVFRfQ0xFQVJfTUFTSywgKFRpbWluZy0+U2V0dXBUaW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChUaW1pbmctPldhaXRTZXR1cFRpbWUpIDw8IEZNQ19QQVRUMl9BVFRXQUlUMl9Qb3MpIHwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoVGltaW5nLT5Ib2xkU2V0dXBUaW1lKSA8PCBGTUNfUEFUVDJfQVRUSE9MRDJfUG9zKSB8CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKFRpbWluZy0+SGlaU2V0dXBUaW1lKSAgPDwgRk1DX1BBVFQyX0FUVEhJWjJfUG9zKSkpOwogICB9CiAgIGVsc2UKICAgewogICAgIC8qIE5BTkQgYmFuayAzIHJlZ2lzdGVycyBjb25maWd1cmF0aW9uICovCi0gICAgRGV2aWNlLT5QQVRUMyA9IHRtcHI7Ci0gIH0gICAKLSAgCisgICAgTU9ESUZZX1JFRyhEZXZpY2UtPlBBVFQzLCBQQVRUX0NMRUFSX01BU0ssIChUaW1pbmctPlNldHVwVGltZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoVGltaW5nLT5XYWl0U2V0dXBUaW1lKSA8PCBGTUNfUEFUVDJfQVRUV0FJVDJfUG9zKSB8CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKFRpbWluZy0+SG9sZFNldHVwVGltZSkgPDwgRk1DX1BBVFQyX0FUVEhPTEQyX1BvcykgfAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChUaW1pbmctPkhpWlNldHVwVGltZSkgIDw8IEZNQ19QQVRUMl9BVFRISVoyX1BvcykpKTsKKyAgfQorI2Vsc2UKKyAgLyogUHJldmVudCB1bnVzZWQgYXJndW1lbnQocykgY29tcGlsYXRpb24gd2FybmluZyBpZiBubyBhc3NlcnRfcGFyYW0gY2hlY2sgKi8KKyAgVU5VU0VEKEJhbmspOworCisgIC8qIE5BTkQgYmFuayAzIHJlZ2lzdGVycyBjb25maWd1cmF0aW9uICovCisgIE1PRElGWV9SRUcoRGV2aWNlLT5QQVRULCBQQVRUX0NMRUFSX01BU0ssIChUaW1pbmctPlNldHVwVGltZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoVGltaW5nLT5XYWl0U2V0dXBUaW1lKSA8PCBGTUNfUEFUVF9BVFRXQUlUMl9Qb3MpIHwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoVGltaW5nLT5Ib2xkU2V0dXBUaW1lKSA8PCBGTUNfUEFUVF9BVFRIT0xEMl9Qb3MpIHwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoVGltaW5nLT5IaVpTZXR1cFRpbWUpICA8PCBGTUNfUEFUVF9BVFRISVoyX1BvcykpKTsKKyNlbmRpZgorCiAgIHJldHVybiBIQUxfT0s7CiB9CiAKIC8qKgotICAqIEBicmllZiAgRGVJbml0aWFsaXplcyB0aGUgRk1DX05BTkQgZGV2aWNlIAorICAqIEBicmllZiAgRGVJbml0aWFsaXplcyB0aGUgRk1DX05BTkQgZGV2aWNlCiAgICogQHBhcmFtICBEZXZpY2UgUG9pbnRlciB0byBOQU5EIGRldmljZSBpbnN0YW5jZQogICAqIEBwYXJhbSAgQmFuayBOQU5EIGJhbmsgbnVtYmVyCiAgICogQHJldHZhbCBIQUwgc3RhdHVzCiAgICovCiBIQUxfU3RhdHVzVHlwZURlZiBGTUNfTkFORF9EZUluaXQoRk1DX05BTkRfVHlwZURlZiAqRGV2aWNlLCB1aW50MzJfdCBCYW5rKQogewotICAvKiBDaGVjayB0aGUgcGFyYW1ldGVycyAqLyAKLSAgYXNzZXJ0X3BhcmFtKElTX0ZNQ19OQU5EX0RFVklDRShEZXZpY2UpKTsgCisgIC8qIENoZWNrIHRoZSBwYXJhbWV0ZXJzICovCisgIGFzc2VydF9wYXJhbShJU19GTUNfTkFORF9ERVZJQ0UoRGV2aWNlKSk7CiAgIGFzc2VydF9wYXJhbShJU19GTUNfTkFORF9CQU5LKEJhbmspKTsKLSAgICAgIAorCiAgIC8qIERpc2FibGUgdGhlIE5BTkQgQmFuayAqLwogICBfX0ZNQ19OQU5EX0RJU0FCTEUoRGV2aWNlLCBCYW5rKTsKLSAKKwogICAvKiBEZS1pbml0aWFsaXplIHRoZSBOQU5EIEJhbmsgKi8KLSAgaWYoQmFuayA9PSBGTUNfTkFORF9CQU5LMikKKyNpZiBkZWZpbmVkKEZNQ19CYW5rMl8zKQorICBpZiAoQmFuayA9PSBGTUNfTkFORF9CQU5LMikKICAgewogICAgIC8qIFNldCB0aGUgRk1DX05BTkRfQkFOSzIgcmVnaXN0ZXJzIHRvIHRoZWlyIHJlc2V0IHZhbHVlcyAqLwotICAgIERldmljZS0+UENSMiAgPSAweDAwMDAwMDE4VTsKLSAgICBEZXZpY2UtPlNSMiAgID0gMHgwMDAwMDA0MFU7Ci0gICAgRGV2aWNlLT5QTUVNMiA9IDB4RkNGQ0ZDRkNVOwotICAgIERldmljZS0+UEFUVDIgPSAweEZDRkNGQ0ZDVTsgIAorICAgIFdSSVRFX1JFRyhEZXZpY2UtPlBDUjIsICAweDAwMDAwMDE4VSk7CisgICAgV1JJVEVfUkVHKERldmljZS0+U1IyLCAgIDB4MDAwMDAwNDBVKTsKKyAgICBXUklURV9SRUcoRGV2aWNlLT5QTUVNMiwgMHhGQ0ZDRkNGQ1UpOworICAgIFdSSVRFX1JFRyhEZXZpY2UtPlBBVFQyLCAweEZDRkNGQ0ZDVSk7CiAgIH0KLSAgLyogRk1DX0JhbmszX05BTkQgKi8gIAorICAvKiBGTUNfQmFuazNfTkFORCAqLwogICBlbHNlCiAgIHsKICAgICAvKiBTZXQgdGhlIEZNQ19OQU5EX0JBTkszIHJlZ2lzdGVycyB0byB0aGVpciByZXNldCB2YWx1ZXMgKi8KLSAgICBEZXZpY2UtPlBDUjMgID0gMHgwMDAwMDAxOFU7Ci0gICAgRGV2aWNlLT5TUjMgICA9IDB4MDAwMDAwNDBVOwotICAgIERldmljZS0+UE1FTTMgPSAweEZDRkNGQ0ZDVTsKLSAgICBEZXZpY2UtPlBBVFQzID0gMHhGQ0ZDRkNGQ1U7IAorICAgIFdSSVRFX1JFRyhEZXZpY2UtPlBDUjMsICAweDAwMDAwMDE4VSk7CisgICAgV1JJVEVfUkVHKERldmljZS0+U1IzLCAgIDB4MDAwMDAwNDBVKTsKKyAgICBXUklURV9SRUcoRGV2aWNlLT5QTUVNMywgMHhGQ0ZDRkNGQ1UpOworICAgIFdSSVRFX1JFRyhEZXZpY2UtPlBBVFQzLCAweEZDRkNGQ0ZDVSk7CiAgIH0KLSAgCisjZWxzZQorICAvKiBQcmV2ZW50IHVudXNlZCBhcmd1bWVudChzKSBjb21waWxhdGlvbiB3YXJuaW5nIGlmIG5vIGFzc2VydF9wYXJhbSBjaGVjayAqLworICBVTlVTRUQoQmFuayk7CisKKyAgLyogU2V0IHRoZSBGTUNfTkFORF9CQU5LMyByZWdpc3RlcnMgdG8gdGhlaXIgcmVzZXQgdmFsdWVzICovCisgIFdSSVRFX1JFRyhEZXZpY2UtPlBDUiwgIDB4MDAwMDAwMThVKTsKKyAgV1JJVEVfUkVHKERldmljZS0+U1IsICAgMHgwMDAwMDA0MFUpOworICBXUklURV9SRUcoRGV2aWNlLT5QTUVNLCAweEZDRkNGQ0ZDVSk7CisgIFdSSVRFX1JFRyhEZXZpY2UtPlBBVFQsIDB4RkNGQ0ZDRkNVKTsKKyNlbmRpZgorCiAgIHJldHVybiBIQUxfT0s7CiB9CiAKQEAgLTk1Nyw2OCArNzk4LDg1IEBACiAgICogQH0KICAgKi8KIAotLyoqIEBhZGR0b2dyb3VwIEZNQ19MTF9OQU5EX1ByaXZhdGVfRnVuY3Rpb25zX0dyb3VwMgotICAqICBAYnJpZWYgICBtYW5hZ2VtZW50IGZ1bmN0aW9ucyAKKy8qKiBAZGVmZ3JvdXAgSEFMX0ZNQ19OQU5EX0dyb3VwMiBQZXJpcGhlcmFsIENvbnRyb2wgZnVuY3Rpb25zCisgICogIEBicmllZiAgIG1hbmFnZW1lbnQgZnVuY3Rpb25zCiAgICoKLUB2ZXJiYXRpbSAgIAorQHZlcmJhdGltCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgICAgICAgICAgICAgICAgICAgICAjIyMjIyBGTUNfTkFORCBDb250cm9sIGZ1bmN0aW9ucyAjIyMjIwotICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gIAorICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgWy4uXQogICAgIFRoaXMgc3Vic2VjdGlvbiBwcm92aWRlcyBhIHNldCBvZiBmdW5jdGlvbnMgYWxsb3dpbmcgdG8gY29udHJvbCBkeW5hbWljYWxseQogICAgIHRoZSBGTUMgTkFORCBpbnRlcmZhY2UuCiAKIEBlbmR2ZXJiYXRpbQogICAqIEB7Ci0gICovIAorICAqLworCisKIC8qKgogICAqIEBicmllZiAgRW5hYmxlcyBkeW5hbWljYWxseSBGTUNfTkFORCBFQ0MgZmVhdHVyZS4KICAgKiBAcGFyYW0gIERldmljZSBQb2ludGVyIHRvIE5BTkQgZGV2aWNlIGluc3RhbmNlCiAgICogQHBhcmFtICBCYW5rIE5BTkQgYmFuayBudW1iZXIKICAgKiBAcmV0dmFsIEhBTCBzdGF0dXMKLSAgKi8gICAgCisgICovCiBIQUxfU3RhdHVzVHlwZURlZiBGTUNfTkFORF9FQ0NfRW5hYmxlKEZNQ19OQU5EX1R5cGVEZWYgKkRldmljZSwgdWludDMyX3QgQmFuaykKIHsKLSAgLyogQ2hlY2sgdGhlIHBhcmFtZXRlcnMgKi8gCi0gIGFzc2VydF9wYXJhbShJU19GTUNfTkFORF9ERVZJQ0UoRGV2aWNlKSk7IAorICAvKiBDaGVjayB0aGUgcGFyYW1ldGVycyAqLworICBhc3NlcnRfcGFyYW0oSVNfRk1DX05BTkRfREVWSUNFKERldmljZSkpOwogICBhc3NlcnRfcGFyYW0oSVNfRk1DX05BTkRfQkFOSyhCYW5rKSk7Ci0gICAgCisKICAgLyogRW5hYmxlIEVDQyBmZWF0dXJlICovCi0gIGlmKEJhbmsgPT0gRk1DX05BTkRfQkFOSzIpCisjaWYgZGVmaW5lZChGTUNfQmFuazJfMykKKyAgaWYgKEJhbmsgPT0gRk1DX05BTkRfQkFOSzIpCiAgIHsKLSAgICBEZXZpY2UtPlBDUjIgfD0gRk1DX1BDUjJfRUNDRU47CisgICAgU0VUX0JJVChEZXZpY2UtPlBDUjIsIEZNQ19QQ1IyX0VDQ0VOKTsKICAgfQogICBlbHNlCiAgIHsKLSAgICBEZXZpY2UtPlBDUjMgfD0gRk1DX1BDUjNfRUNDRU47Ci0gIH0gCi0gIAotICByZXR1cm4gSEFMX09LOyAgCisgICAgU0VUX0JJVChEZXZpY2UtPlBDUjMsIEZNQ19QQ1IyX0VDQ0VOKTsKKyAgfQorI2Vsc2UKKyAgLyogUHJldmVudCB1bnVzZWQgYXJndW1lbnQocykgY29tcGlsYXRpb24gd2FybmluZyBpZiBubyBhc3NlcnRfcGFyYW0gY2hlY2sgKi8KKyAgVU5VU0VEKEJhbmspOworCisgIFNFVF9CSVQoRGV2aWNlLT5QQ1IsIEZNQ19QQ1JfRUNDRU4pOworI2VuZGlmCisKKyAgcmV0dXJuIEhBTF9PSzsKIH0KIAorCiAvKioKICAgKiBAYnJpZWYgIERpc2FibGVzIGR5bmFtaWNhbGx5IEZNQ19OQU5EIEVDQyBmZWF0dXJlLgogICAqIEBwYXJhbSAgRGV2aWNlIFBvaW50ZXIgdG8gTkFORCBkZXZpY2UgaW5zdGFuY2UKICAgKiBAcGFyYW0gIEJhbmsgTkFORCBiYW5rIG51bWJlcgogICAqIEByZXR2YWwgSEFMIHN0YXR1cwotICAqLyAgCi1IQUxfU3RhdHVzVHlwZURlZiBGTUNfTkFORF9FQ0NfRGlzYWJsZShGTUNfTkFORF9UeXBlRGVmICpEZXZpY2UsIHVpbnQzMl90IEJhbmspICAKLXsgIAotICAvKiBDaGVjayB0aGUgcGFyYW1ldGVycyAqLyAKLSAgYXNzZXJ0X3BhcmFtKElTX0ZNQ19OQU5EX0RFVklDRShEZXZpY2UpKTsgCisgICovCitIQUxfU3RhdHVzVHlwZURlZiBGTUNfTkFORF9FQ0NfRGlzYWJsZShGTUNfTkFORF9UeXBlRGVmICpEZXZpY2UsIHVpbnQzMl90IEJhbmspCit7CisgIC8qIENoZWNrIHRoZSBwYXJhbWV0ZXJzICovCisgIGFzc2VydF9wYXJhbShJU19GTUNfTkFORF9ERVZJQ0UoRGV2aWNlKSk7CiAgIGFzc2VydF9wYXJhbShJU19GTUNfTkFORF9CQU5LKEJhbmspKTsKLSAgICAKKwogICAvKiBEaXNhYmxlIEVDQyBmZWF0dXJlICovCi0gIGlmKEJhbmsgPT0gRk1DX05BTkRfQkFOSzIpCisjaWYgZGVmaW5lZChGTUNfQmFuazJfMykKKyAgaWYgKEJhbmsgPT0gRk1DX05BTkRfQkFOSzIpCiAgIHsKLSAgICBEZXZpY2UtPlBDUjIgJj0gfkZNQ19QQ1IyX0VDQ0VOOworICAgIENMRUFSX0JJVChEZXZpY2UtPlBDUjIsIEZNQ19QQ1IyX0VDQ0VOKTsKICAgfQogICBlbHNlCiAgIHsKLSAgICBEZXZpY2UtPlBDUjMgJj0gfkZNQ19QQ1IzX0VDQ0VOOwotICB9IAorICAgIENMRUFSX0JJVChEZXZpY2UtPlBDUjMsIEZNQ19QQ1IyX0VDQ0VOKTsKKyAgfQorI2Vsc2UKKyAgLyogUHJldmVudCB1bnVzZWQgYXJndW1lbnQocykgY29tcGlsYXRpb24gd2FybmluZyBpZiBubyBhc3NlcnRfcGFyYW0gY2hlY2sgKi8KKyAgVU5VU0VEKEJhbmspOwogCi0gIHJldHVybiBIQUxfT0s7ICAKKyAgQ0xFQVJfQklUKERldmljZS0+UENSLCBGTUNfUENSX0VDQ0VOKTsKKyNlbmRpZgorCisgIHJldHVybiBIQUxfT0s7CiB9CiAKIC8qKgpAQCAtMTAyNiwxMjkgKzg4NCwxMzMgQEAKICAgKiBAcGFyYW0gIERldmljZSBQb2ludGVyIHRvIE5BTkQgZGV2aWNlIGluc3RhbmNlCiAgICogQHBhcmFtICBFQ0N2YWwgUG9pbnRlciB0byBFQ0MgdmFsdWUKICAgKiBAcGFyYW0gIEJhbmsgTkFORCBiYW5rIG51bWJlcgotICAqIEBwYXJhbSAgVGltZW91dCBUaW1lb3V0IHdhaXQgdmFsdWUgIAorICAqIEBwYXJhbSAgVGltZW91dCBUaW1lb3V0IHdhaXQgdmFsdWUKICAgKiBAcmV0dmFsIEhBTCBzdGF0dXMKICAgKi8KLUhBTF9TdGF0dXNUeXBlRGVmIEZNQ19OQU5EX0dldEVDQyhGTUNfTkFORF9UeXBlRGVmICpEZXZpY2UsIHVpbnQzMl90ICpFQ0N2YWwsIHVpbnQzMl90IEJhbmssIHVpbnQzMl90IFRpbWVvdXQpCitIQUxfU3RhdHVzVHlwZURlZiBGTUNfTkFORF9HZXRFQ0MoRk1DX05BTkRfVHlwZURlZiAqRGV2aWNlLCB1aW50MzJfdCAqRUNDdmFsLCB1aW50MzJfdCBCYW5rLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IFRpbWVvdXQpCiB7Ci0gIHVpbnQzMl90IHRpY2tzdGFydCA9IDBVOworICB1aW50MzJfdCB0aWNrc3RhcnQ7CiAKLSAgLyogQ2hlY2sgdGhlIHBhcmFtZXRlcnMgKi8gCi0gIGFzc2VydF9wYXJhbShJU19GTUNfTkFORF9ERVZJQ0UoRGV2aWNlKSk7IAorICAvKiBDaGVjayB0aGUgcGFyYW1ldGVycyAqLworICBhc3NlcnRfcGFyYW0oSVNfRk1DX05BTkRfREVWSUNFKERldmljZSkpOwogICBhc3NlcnRfcGFyYW0oSVNfRk1DX05BTkRfQkFOSyhCYW5rKSk7CiAKLSAgLyogR2V0IHRpY2sgKi8gCisgIC8qIEdldCB0aWNrICovCiAgIHRpY2tzdGFydCA9IEhBTF9HZXRUaWNrKCk7CiAKICAgLyogV2FpdCB1bnRpbCBGSUZPIGlzIGVtcHR5ICovCi0gIHdoaWxlKF9fRk1DX05BTkRfR0VUX0ZMQUcoRGV2aWNlLCBCYW5rLCBGTUNfRkxBR19GRU1QVCkgPT0gUkVTRVQpCisgIHdoaWxlIChfX0ZNQ19OQU5EX0dFVF9GTEFHKERldmljZSwgQmFuaywgRk1DX0ZMQUdfRkVNUFQpID09IFJFU0VUKQogICB7CiAgICAgLyogQ2hlY2sgZm9yIHRoZSBUaW1lb3V0ICovCi0gICAgaWYoVGltZW91dCAhPSBIQUxfTUFYX0RFTEFZKQorICAgIGlmIChUaW1lb3V0ICE9IEhBTF9NQVhfREVMQVkpCiAgICAgewotICAgICAgaWYoKFRpbWVvdXQgPT0gMFUpfHwoKEhBTF9HZXRUaWNrKCkgLSB0aWNrc3RhcnQgKSA+IFRpbWVvdXQpKQorICAgICAgaWYgKCgoSEFMX0dldFRpY2soKSAtIHRpY2tzdGFydCkgPiBUaW1lb3V0KSB8fCAoVGltZW91dCA9PSAwVSkpCiAgICAgICB7CiAgICAgICAgIHJldHVybiBIQUxfVElNRU9VVDsKICAgICAgIH0KLSAgICB9ICAKKyAgICB9CiAgIH0KLSAgICAgCi0gIGlmKEJhbmsgPT0gRk1DX05BTkRfQkFOSzIpCi0gIHsgICAgCisKKyNpZiBkZWZpbmVkKEZNQ19CYW5rMl8zKQorICBpZiAoQmFuayA9PSBGTUNfTkFORF9CQU5LMikKKyAgewogICAgIC8qIEdldCB0aGUgRUNDUjIgcmVnaXN0ZXIgdmFsdWUgKi8KICAgICAqRUNDdmFsID0gKHVpbnQzMl90KURldmljZS0+RUNDUjI7CiAgIH0KICAgZWxzZQotICB7ICAgIAorICB7CiAgICAgLyogR2V0IHRoZSBFQ0NSMyByZWdpc3RlciB2YWx1ZSAqLwogICAgICpFQ0N2YWwgPSAodWludDMyX3QpRGV2aWNlLT5FQ0NSMzsKICAgfQorI2Vsc2UKKyAgLyogUHJldmVudCB1bnVzZWQgYXJndW1lbnQocykgY29tcGlsYXRpb24gd2FybmluZyBpZiBubyBhc3NlcnRfcGFyYW0gY2hlY2sgKi8KKyAgVU5VU0VEKEJhbmspOwogCi0gIHJldHVybiBIQUxfT0s7ICAKKyAgLyogR2V0IHRoZSBFQ0NSIHJlZ2lzdGVyIHZhbHVlICovCisgICpFQ0N2YWwgPSAodWludDMyX3QpRGV2aWNlLT5FQ0NSOworI2VuZGlmCisKKyAgcmV0dXJuIEhBTF9PSzsKIH0KIAogLyoqCiAgICogQH0KICAgKi8KKyNlbmRpZiAvKiBGTUNfQmFuazMpIHx8IGRlZmluZWQoRk1DX0JhbmsyXzMgKi8KIAotI2VuZGlmIC8qIGRlZmluZWQoU1RNMzJGNDQ2eHgpIHx8IGRlZmluZWQoU1RNMzJGNDY5eHgpIHx8IGRlZmluZWQoU1RNMzJGNDc5eHgpICovCi0vKioKLSAgKiBAfQotICAqLworI2lmIGRlZmluZWQoRk1DX0Jhbms0KQogCi0jaWYgZGVmaW5lZChTVE0zMkY0Mjd4eCkgfHwgZGVmaW5lZChTVE0zMkY0Mzd4eCkgfHwgZGVmaW5lZChTVE0zMkY0Mjl4eCkgfHwgZGVmaW5lZChTVE0zMkY0Mzl4eCkKIC8qKiBAYWRkdG9ncm91cCBGTUNfTExfUENDQVJECi0gICogQGJyaWVmICAgIFBDQ0FSRCBDb250cm9sbGVyIGZ1bmN0aW9ucyAKKyAgKiBAYnJpZWYgICAgUENDQVJEIENvbnRyb2xsZXIgZnVuY3Rpb25zCiAgICoKLSAgQHZlcmJhdGltIAotICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gIAorICBAdmVyYmF0aW0KKyAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAgICAgICAgICAgICAgICAgICMjIyMjIEhvdyB0byB1c2UgUENDQVJEIGRldmljZSBkcml2ZXIgIyMjIyMKICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgIFsuLl0KICAgICBUaGlzIGRyaXZlciBjb250YWlucyBhIHNldCBvZiBBUElzIHRvIGludGVyZmFjZSB3aXRoIHRoZSBGTUMgUENDQVJEIGJhbmsgaW4gb3JkZXIKICAgICB0byBydW4gdGhlIFBDQ0FSRC9jb21wYWN0IGZsYXNoIGV4dGVybmFsIGRldmljZXMuCi0gIAotICAgICgrKSBGTUMgUENDQVJEIGJhbmsgcmVzZXQgdXNpbmcgdGhlIGZ1bmN0aW9uIEZNQ19QQ0NBUkRfRGVJbml0KCkgCisKKyAgICAoKykgRk1DIFBDQ0FSRCBiYW5rIHJlc2V0IHVzaW5nIHRoZSBmdW5jdGlvbiBGTUNfUENDQVJEX0RlSW5pdCgpCiAgICAgKCspIEZNQyBQQ0NBUkQgYmFuayBjb250cm9sIGNvbmZpZ3VyYXRpb24gdXNpbmcgdGhlIGZ1bmN0aW9uIEZNQ19QQ0NBUkRfSW5pdCgpCi0gICAgKCspIEZNQyBQQ0NBUkQgYmFuayBjb21tb24gc3BhY2UgdGltaW5nIGNvbmZpZ3VyYXRpb24gdXNpbmcgdGhlIGZ1bmN0aW9uIAorICAgICgrKSBGTUMgUENDQVJEIGJhbmsgY29tbW9uIHNwYWNlIHRpbWluZyBjb25maWd1cmF0aW9uIHVzaW5nIHRoZSBmdW5jdGlvbgogICAgICAgICBGTUNfUENDQVJEX0NvbW1vblNwYWNlX1RpbWluZ19Jbml0KCkKLSAgICAoKykgRk1DIFBDQ0FSRCBiYW5rIGF0dHJpYnV0ZSBzcGFjZSB0aW1pbmcgY29uZmlndXJhdGlvbiB1c2luZyB0aGUgZnVuY3Rpb24gCisgICAgKCspIEZNQyBQQ0NBUkQgYmFuayBhdHRyaWJ1dGUgc3BhY2UgdGltaW5nIGNvbmZpZ3VyYXRpb24gdXNpbmcgdGhlIGZ1bmN0aW9uCiAgICAgICAgIEZNQ19QQ0NBUkRfQXR0cmlidXRlU3BhY2VfVGltaW5nX0luaXQoKQotICAgICgrKSBGTUMgUENDQVJEIGJhbmsgSU8gc3BhY2UgdGltaW5nIGNvbmZpZ3VyYXRpb24gdXNpbmcgdGhlIGZ1bmN0aW9uIAorICAgICgrKSBGTUMgUENDQVJEIGJhbmsgSU8gc3BhY2UgdGltaW5nIGNvbmZpZ3VyYXRpb24gdXNpbmcgdGhlIGZ1bmN0aW9uCiAgICAgICAgIEZNQ19QQ0NBUkRfSU9TcGFjZV9UaW1pbmdfSW5pdCgpCiBAZW5kdmVyYmF0aW0KICAgKiBAewogICAqLwotICAKKwogLyoqIEBhZGR0b2dyb3VwIEZNQ19MTF9QQ0NBUkRfUHJpdmF0ZV9GdW5jdGlvbnNfR3JvdXAxCi0gICogIEBicmllZiAgICBJbml0aWFsaXphdGlvbiBhbmQgQ29uZmlndXJhdGlvbiBmdW5jdGlvbnMgCisgICogIEBicmllZiAgICBJbml0aWFsaXphdGlvbiBhbmQgQ29uZmlndXJhdGlvbiBmdW5jdGlvbnMKICAgKgotQHZlcmJhdGltICAgIAorQHZlcmJhdGltCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgICAgICAgICAgICAjIyMjIyBJbml0aWFsaXphdGlvbiBhbmQgZGVfaW5pdGlhbGl6YXRpb24gZnVuY3Rpb25zICMjIyMjCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotICBbLi5dICAKKyAgWy4uXQogICAgIFRoaXMgc2VjdGlvbiBwcm92aWRlcyBmdW5jdGlvbnMgYWxsb3dpbmcgdG86CiAgICAgKCspIEluaXRpYWxpemUgYW5kIGNvbmZpZ3VyZSB0aGUgRk1DIFBDQ0FSRCBpbnRlcmZhY2UKLSAgICAoKykgRGUtaW5pdGlhbGl6ZSB0aGUgRk1DIFBDQ0FSRCBpbnRlcmZhY2UgCisgICAgKCspIERlLWluaXRpYWxpemUgdGhlIEZNQyBQQ0NBUkQgaW50ZXJmYWNlCiAgICAgKCspIENvbmZpZ3VyZSB0aGUgRk1DIGNsb2NrIGFuZCBhc3NvY2lhdGVkIEdQSU9zCi0gICAgICAgIAorCiBAZW5kdmVyYmF0aW0KICAgKiBAewogICAqLwotICAKKwogLyoqCiAgICogQGJyaWVmICBJbml0aWFsaXplcyB0aGUgRk1DX1BDQ0FSRCBkZXZpY2UgYWNjb3JkaW5nIHRvIHRoZSBzcGVjaWZpZWQKICAgKiAgICAgICAgIGNvbnRyb2wgcGFyYW1ldGVycyBpbiB0aGUgRk1DX1BDQ0FSRF9IYW5kbGVUeXBlRGVmCiAgICogQHBhcmFtICBEZXZpY2UgUG9pbnRlciB0byBQQ0NBUkQgZGV2aWNlIGluc3RhbmNlCi0gICogQHBhcmFtICBJbml0IFBvaW50ZXIgdG8gUENDQVJEIEluaXRpYWxpemF0aW9uIHN0cnVjdHVyZSAgIAorICAqIEBwYXJhbSAgSW5pdCBQb2ludGVyIHRvIFBDQ0FSRCBJbml0aWFsaXphdGlvbiBzdHJ1Y3R1cmUKICAgKiBAcmV0dmFsIEhBTCBzdGF0dXMKICAgKi8KIEhBTF9TdGF0dXNUeXBlRGVmIEZNQ19QQ0NBUkRfSW5pdChGTUNfUENDQVJEX1R5cGVEZWYgKkRldmljZSwgRk1DX1BDQ0FSRF9Jbml0VHlwZURlZiAqSW5pdCkKIHsKLSAgdWludDMyX3QgdG1wciA9IDBVOwotCi0gIC8qIENoZWNrIHRoZSBwYXJhbWV0ZXJzICovIAorICAvKiBDaGVjayB0aGUgcGFyYW1ldGVycyAqLwogICBhc3NlcnRfcGFyYW0oSVNfRk1DX1BDQ0FSRF9ERVZJQ0UoRGV2aWNlKSk7CisjaWYgZGVmaW5lZChGTUNfQmFuazMpIHx8IGRlZmluZWQoRk1DX0JhbmsyXzMpCiAgIGFzc2VydF9wYXJhbShJU19GTUNfV0FJVF9GRUFUVVJFKEluaXQtPldhaXRmZWF0dXJlKSk7CiAgIGFzc2VydF9wYXJhbShJU19GTUNfVENMUl9USU1FKEluaXQtPlRDTFJTZXR1cFRpbWUpKTsKLSAgYXNzZXJ0X3BhcmFtKElTX0ZNQ19UQVJfVElNRShJbml0LT5UQVJTZXR1cFRpbWUpKTsgICAgIAotICAKLSAgLyogR2V0IFBDQ0FSRCBjb250cm9sIHJlZ2lzdGVyIHZhbHVlICovCi0gIHRtcHIgPSBEZXZpY2UtPlBDUjQ7Ci0gIAotICAvKiBDbGVhciBUQVIsIFRDTFIsIFBXQUlURU4gYW5kIFBXSUQgYml0cyAqLwotICB0bXByICY9ICgodWludDMyX3QpfihGTUNfUENSNF9UQVIgIHwgRk1DX1BDUjRfVENMUiB8IEZNQ19QQ1I0X1BXQUlURU4gfCBcCi0gICAgICAgICAgICAgICAgICAgICAgIEZNQ19QQ1I0X1BXSUQgfCBGTUNfUENSNF9QVFlQKSk7Ci0gIAorICBhc3NlcnRfcGFyYW0oSVNfRk1DX1RBUl9USU1FKEluaXQtPlRBUlNldHVwVGltZSkpOworI2VuZGlmIC8qIEZNQ19CYW5rMykgfHwgZGVmaW5lZChGTUNfQmFuazJfMyAqLworCiAgIC8qIFNldCBGTUNfUENDQVJEIGRldmljZSBjb250cm9sIHBhcmFtZXRlcnMgKi8KLSAgdG1wciB8PSAodWludDMyX3QpKEluaXQtPldhaXRmZWF0dXJlICAgICAgICAgICAgICB8XAotICAgICAgICAgICAgICAgICAgICAgRk1DX05BTkRfUENDX01FTV9CVVNfV0lEVEhfMTYgIHxcCi0gICAgICAgICAgICAgICAgICAgIChJbml0LT5UQ0xSU2V0dXBUaW1lIDw8IDlVKSAgICAgfFwKLSAgICAgICAgICAgICAgICAgICAgKEluaXQtPlRBUlNldHVwVGltZSA8PCAxM1UpKTsKLSAgCi0gIERldmljZS0+UENSNCA9IHRtcHI7Ci0gIAorICBNT0RJRllfUkVHKERldmljZS0+UENSNCwKKyAgICAgICAgICAgICAoRk1DX1BDUjRfUFRZUCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAgICAgICAgICAgICAgRk1DX1BDUjRfUFdBSVRFTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAgICAgICAgICAgICAgRk1DX1BDUjRfUFdJRCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAgICAgICAgICAgICAgRk1DX1BDUjRfVENMUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAgICAgICAgICAgICAgRk1DX1BDUjRfVEFSKSwKKyAgICAgICAgICAgICAoRk1DX1BDUl9NRU1PUllfVFlQRV9QQ0NBUkQgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAgICAgICAgICAgICAgSW5pdC0+V2FpdGZlYXR1cmUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAgICAgICAgICAgICAgRk1DX05BTkRfUENDX01FTV9CVVNfV0lEVEhfMTYgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAgICAgICAgICAgICAgKEluaXQtPlRDTFJTZXR1cFRpbWUgPDwgRk1DX1BDUjRfVENMUl9Qb3MpICAgfAorICAgICAgICAgICAgICAoSW5pdC0+VEFSU2V0dXBUaW1lICA8PCBGTUNfUENSNF9UQVJfUG9zKSkpOworCiAgIHJldHVybiBIQUxfT0s7CiB9CiAKQEAgLTExNTYsNjggKzEwMTgsNTYgQEAKICAgKiBAYnJpZWYgIEluaXRpYWxpemVzIHRoZSBGTUNfUENDQVJEIENvbW1vbiBzcGFjZSBUaW1pbmcgYWNjb3JkaW5nIHRvIHRoZSBzcGVjaWZpZWQKICAgKiAgICAgICAgIHBhcmFtZXRlcnMgaW4gdGhlIEZNQ19OQU5EX1BDQ19UaW1pbmdUeXBlRGVmCiAgICogQHBhcmFtICBEZXZpY2UgUG9pbnRlciB0byBQQ0NBUkQgZGV2aWNlIGluc3RhbmNlCi0gICogQHBhcmFtICBUaW1pbmcgUG9pbnRlciB0byBQQ0NBUkQgdGltaW5nIHN0cnVjdHVyZSAKKyAgKiBAcGFyYW0gIFRpbWluZyBQb2ludGVyIHRvIFBDQ0FSRCB0aW1pbmcgc3RydWN0dXJlCiAgICogQHJldHZhbCBIQUwgc3RhdHVzCiAgICovCi1IQUxfU3RhdHVzVHlwZURlZiBGTUNfUENDQVJEX0NvbW1vblNwYWNlX1RpbWluZ19Jbml0KEZNQ19QQ0NBUkRfVHlwZURlZiAqRGV2aWNlLCBGTUNfTkFORF9QQ0NfVGltaW5nVHlwZURlZiAqVGltaW5nKQorSEFMX1N0YXR1c1R5cGVEZWYgRk1DX1BDQ0FSRF9Db21tb25TcGFjZV9UaW1pbmdfSW5pdChGTUNfUENDQVJEX1R5cGVEZWYgKkRldmljZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRk1DX05BTkRfUENDX1RpbWluZ1R5cGVEZWYgKlRpbWluZykKIHsKLSAgdWludDMyX3QgdG1wciA9IDBVOwotICAKICAgLyogQ2hlY2sgdGhlIHBhcmFtZXRlcnMgKi8KICAgYXNzZXJ0X3BhcmFtKElTX0ZNQ19QQ0NBUkRfREVWSUNFKERldmljZSkpOworI2lmIGRlZmluZWQoRk1DX0JhbmszKSB8fCBkZWZpbmVkKEZNQ19CYW5rMl8zKQogICBhc3NlcnRfcGFyYW0oSVNfRk1DX1NFVFVQX1RJTUUoVGltaW5nLT5TZXR1cFRpbWUpKTsKICAgYXNzZXJ0X3BhcmFtKElTX0ZNQ19XQUlUX1RJTUUoVGltaW5nLT5XYWl0U2V0dXBUaW1lKSk7CiAgIGFzc2VydF9wYXJhbShJU19GTUNfSE9MRF9USU1FKFRpbWluZy0+SG9sZFNldHVwVGltZSkpOwogICBhc3NlcnRfcGFyYW0oSVNfRk1DX0hJWl9USU1FKFRpbWluZy0+SGlaU2V0dXBUaW1lKSk7CisjZW5kaWYgLyogRk1DX0JhbmszKSB8fCBkZWZpbmVkKEZNQ19CYW5rMl8zICovCiAKLSAgLyogR2V0IFBDQ0FSRCBjb21tb24gc3BhY2UgdGltaW5nIHJlZ2lzdGVyIHZhbHVlICovCi0gIHRtcHIgPSBEZXZpY2UtPlBNRU00OwotICAKLSAgLyogQ2xlYXIgTUVNU0VUeCwgTUVNV0FJVHgsIE1FTUhPTER4IGFuZCBNRU1ISVp4IGJpdHMgKi8KLSAgdG1wciAmPSAoKHVpbnQzMl90KX4oRk1DX1BNRU00X01FTVNFVDQgIHwgRk1DX1BNRU00X01FTVdBSVQ0IHwgRk1DX1BNRU00X01FTUhPTEQ0IHwgXAotICAgICAgICAgICAgICAgICAgICAgICBGTUNfUE1FTTRfTUVNSElaNCkpOyAKICAgLyogU2V0IFBDQ0FSRCB0aW1pbmcgcGFyYW1ldGVycyAqLwotICB0bXByIHw9ICh1aW50MzJfdCkoVGltaW5nLT5TZXR1cFRpbWUgICAgICAgICAgICAgICAgICB8XAotICAgICAgICAgICAgICAgICAgICAoKFRpbWluZy0+V2FpdFNldHVwVGltZSkgPDwgOFUpICAgICB8XAotICAgICAgICAgICAgICAgICAgICAoKFRpbWluZy0+SG9sZFNldHVwVGltZSkgPDwgMTZVKSAgICB8XAotICAgICAgICAgICAgICAgICAgICAoKFRpbWluZy0+SGlaU2V0dXBUaW1lKSA8PCAyNFUpKTsgCisgIE1PRElGWV9SRUcoRGV2aWNlLT5QTUVNNCwgUE1FTTRfQ0xFQVJfTUFTSywKKyAgICAgICAgICAgICAoVGltaW5nLT5TZXR1cFRpbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorICAgICAgICAgICAgICAoKFRpbWluZy0+V2FpdFNldHVwVGltZSkgPDwgRk1DX1BNRU00X01FTVdBSVQ0X1BvcykgIHwKKyAgICAgICAgICAgICAgKChUaW1pbmctPkhvbGRTZXR1cFRpbWUpIDw8IEZNQ19QTUVNNF9NRU1IT0xENF9Qb3MpICB8CisgICAgICAgICAgICAgICgoVGltaW5nLT5IaVpTZXR1cFRpbWUpICA8PCBGTUNfUE1FTTRfTUVNSElaNF9Qb3MpKSk7CiAKLSAgRGV2aWNlLT5QTUVNNCA9IHRtcHI7Ci0gIAotICByZXR1cm4gSEFMX09LOyAgCisgIHJldHVybiBIQUxfT0s7CiB9CiAKIC8qKgogICAqIEBicmllZiAgSW5pdGlhbGl6ZXMgdGhlIEZNQ19QQ0NBUkQgQXR0cmlidXRlIHNwYWNlIFRpbWluZyBhY2NvcmRpbmcgdG8gdGhlIHNwZWNpZmllZAogICAqICAgICAgICAgcGFyYW1ldGVycyBpbiB0aGUgRk1DX05BTkRfUENDX1RpbWluZ1R5cGVEZWYKICAgKiBAcGFyYW0gIERldmljZSBQb2ludGVyIHRvIFBDQ0FSRCBkZXZpY2UgaW5zdGFuY2UKLSAgKiBAcGFyYW0gIFRpbWluZyBQb2ludGVyIHRvIFBDQ0FSRCB0aW1pbmcgc3RydWN0dXJlICAKKyAgKiBAcGFyYW0gIFRpbWluZyBQb2ludGVyIHRvIFBDQ0FSRCB0aW1pbmcgc3RydWN0dXJlCiAgICogQHJldHZhbCBIQUwgc3RhdHVzCiAgICovCi1IQUxfU3RhdHVzVHlwZURlZiBGTUNfUENDQVJEX0F0dHJpYnV0ZVNwYWNlX1RpbWluZ19Jbml0KEZNQ19QQ0NBUkRfVHlwZURlZiAqRGV2aWNlLCBGTUNfTkFORF9QQ0NfVGltaW5nVHlwZURlZiAqVGltaW5nKQorSEFMX1N0YXR1c1R5cGVEZWYgRk1DX1BDQ0FSRF9BdHRyaWJ1dGVTcGFjZV9UaW1pbmdfSW5pdChGTUNfUENDQVJEX1R5cGVEZWYgKkRldmljZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRk1DX05BTkRfUENDX1RpbWluZ1R5cGVEZWYgKlRpbWluZykKIHsKLSAgdWludDMyX3QgdG1wciA9IDBVOwotICAKLSAgLyogQ2hlY2sgdGhlIHBhcmFtZXRlcnMgKi8gCi0gIGFzc2VydF9wYXJhbShJU19GTUNfUENDQVJEX0RFVklDRShEZXZpY2UpKTsgCisgIC8qIENoZWNrIHRoZSBwYXJhbWV0ZXJzICovCisgIGFzc2VydF9wYXJhbShJU19GTUNfUENDQVJEX0RFVklDRShEZXZpY2UpKTsKKyNpZiBkZWZpbmVkKEZNQ19CYW5rMykgfHwgZGVmaW5lZChGTUNfQmFuazJfMykKICAgYXNzZXJ0X3BhcmFtKElTX0ZNQ19TRVRVUF9USU1FKFRpbWluZy0+U2V0dXBUaW1lKSk7CiAgIGFzc2VydF9wYXJhbShJU19GTUNfV0FJVF9USU1FKFRpbWluZy0+V2FpdFNldHVwVGltZSkpOwogICBhc3NlcnRfcGFyYW0oSVNfRk1DX0hPTERfVElNRShUaW1pbmctPkhvbGRTZXR1cFRpbWUpKTsKICAgYXNzZXJ0X3BhcmFtKElTX0ZNQ19ISVpfVElNRShUaW1pbmctPkhpWlNldHVwVGltZSkpOworI2VuZGlmIC8qIEZNQ19CYW5rMykgfHwgZGVmaW5lZChGTUNfQmFuazJfMyAqLwogCi0gIC8qIEdldCBQQ0NBUkQgdGltaW5nIHBhcmFtZXRlcnMgKi8KLSAgdG1wciA9IERldmljZS0+UEFUVDQ7Ci0KLSAgLyogQ2xlYXIgQVRUU0VUeCwgQVRUV0FJVHgsIEFUVEhPTER4IGFuZCBBVFRISVp4IGJpdHMgKi8KLSAgdG1wciAmPSAoKHVpbnQzMl90KX4oRk1DX1BBVFQ0X0FUVFNFVDQgIHwgRk1DX1BBVFQ0X0FUVFdBSVQ0IHwgRk1DX1BBVFQ0X0FUVEhPTEQ0IHwgXAotICAgICAgICAgICAgICAgICAgICAgICBGTUNfUEFUVDRfQVRUSElaNCkpOwotICAKICAgLyogU2V0IFBDQ0FSRCB0aW1pbmcgcGFyYW1ldGVycyAqLwotICB0bXByIHw9ICh1aW50MzJfdCkoVGltaW5nLT5TZXR1cFRpbWUgICAgICAgICAgICAgICAgIHxcCi0gICAgICAgICAgICAgICAgICAgKChUaW1pbmctPldhaXRTZXR1cFRpbWUpIDw8IDhVKSAgICAgfFwKLSAgICAgICAgICAgICAgICAgICAoKFRpbWluZy0+SG9sZFNldHVwVGltZSkgPDwgMTZVKSAgICB8XAotICAgICAgICAgICAgICAgICAgICgoVGltaW5nLT5IaVpTZXR1cFRpbWUpIDw8IDI0VSkpOwotICBEZXZpY2UtPlBBVFQ0ID0gdG1wcjsKKyAgTU9ESUZZX1JFRyhEZXZpY2UtPlBBVFQ0LCBQQVRUNF9DTEVBUl9NQVNLLAorICAgICAgICAgICAgIChUaW1pbmctPlNldHVwVGltZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CisgICAgICAgICAgICAgICgoVGltaW5nLT5XYWl0U2V0dXBUaW1lKSA8PCBGTUNfUEFUVDRfQVRUV0FJVDRfUG9zKSAgfAorICAgICAgICAgICAgICAoKFRpbWluZy0+SG9sZFNldHVwVGltZSkgPDwgRk1DX1BBVFQ0X0FUVEhPTEQ0X1BvcykgIHwKKyAgICAgICAgICAgICAgKChUaW1pbmctPkhpWlNldHVwVGltZSkgIDw8IEZNQ19QQVRUNF9BVFRISVo0X1BvcykpKTsKIAogICByZXR1cm4gSEFMX09LOwogfQpAQCAtMTIyNiwxMDIgKzEwNzYsOTYgQEAKICAgKiBAYnJpZWYgIEluaXRpYWxpemVzIHRoZSBGTUNfUENDQVJEIElPIHNwYWNlIFRpbWluZyBhY2NvcmRpbmcgdG8gdGhlIHNwZWNpZmllZAogICAqICAgICAgICAgcGFyYW1ldGVycyBpbiB0aGUgRk1DX05BTkRfUENDX1RpbWluZ1R5cGVEZWYKICAgKiBAcGFyYW0gIERldmljZSBQb2ludGVyIHRvIFBDQ0FSRCBkZXZpY2UgaW5zdGFuY2UKLSAgKiBAcGFyYW0gIFRpbWluZyBQb2ludGVyIHRvIFBDQ0FSRCB0aW1pbmcgc3RydWN0dXJlICAKKyAgKiBAcGFyYW0gIFRpbWluZyBQb2ludGVyIHRvIFBDQ0FSRCB0aW1pbmcgc3RydWN0dXJlCiAgICogQHJldHZhbCBIQUwgc3RhdHVzCiAgICovCi1IQUxfU3RhdHVzVHlwZURlZiBGTUNfUENDQVJEX0lPU3BhY2VfVGltaW5nX0luaXQoRk1DX1BDQ0FSRF9UeXBlRGVmICpEZXZpY2UsIEZNQ19OQU5EX1BDQ19UaW1pbmdUeXBlRGVmICpUaW1pbmcpCitIQUxfU3RhdHVzVHlwZURlZiBGTUNfUENDQVJEX0lPU3BhY2VfVGltaW5nX0luaXQoRk1DX1BDQ0FSRF9UeXBlRGVmICpEZXZpY2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRk1DX05BTkRfUENDX1RpbWluZ1R5cGVEZWYgKlRpbWluZykKIHsKLSAgdWludDMyX3QgdG1wciA9IDA7Ci0gIAotICAvKiBDaGVjayB0aGUgcGFyYW1ldGVycyAqLyAgCisgIC8qIENoZWNrIHRoZSBwYXJhbWV0ZXJzICovCiAgIGFzc2VydF9wYXJhbShJU19GTUNfUENDQVJEX0RFVklDRShEZXZpY2UpKTsKKyNpZiBkZWZpbmVkKEZNQ19CYW5rMykgfHwgZGVmaW5lZChGTUNfQmFuazJfMykKICAgYXNzZXJ0X3BhcmFtKElTX0ZNQ19TRVRVUF9USU1FKFRpbWluZy0+U2V0dXBUaW1lKSk7CiAgIGFzc2VydF9wYXJhbShJU19GTUNfV0FJVF9USU1FKFRpbWluZy0+V2FpdFNldHVwVGltZSkpOwogICBhc3NlcnRfcGFyYW0oSVNfRk1DX0hPTERfVElNRShUaW1pbmctPkhvbGRTZXR1cFRpbWUpKTsKICAgYXNzZXJ0X3BhcmFtKElTX0ZNQ19ISVpfVElNRShUaW1pbmctPkhpWlNldHVwVGltZSkpOworI2VuZGlmIC8qIEZNQ19CYW5rMykgfHwgZGVmaW5lZChGTUNfQmFuazJfMyAqLwogCi0gIC8qIEdldCBGTUNfUENDQVJEIGRldmljZSB0aW1pbmcgcGFyYW1ldGVycyAqLwotICB0bXByID0gRGV2aWNlLT5QSU80OwotCi0gIC8qIENsZWFyIElPU0VUNCwgSU9XQUlUNCwgSU9IT0xENCBhbmQgSU9ISVo0IGJpdHMgKi8KLSAgdG1wciAmPSAoKHVpbnQzMl90KX4oRk1DX1BJTzRfSU9TRVQ0ICB8IEZNQ19QSU80X0lPV0FJVDQgfCBGTUNfUElPNF9JT0hPTEQ0IHwgXAotICAgICAgICAgICAgICAgICAgICAgICBGTUNfUElPNF9JT0hJWjQpKTsKLSAgCiAgIC8qIFNldCBGTUNfUENDQVJEIGRldmljZSB0aW1pbmcgcGFyYW1ldGVycyAqLwotICB0bXByIHw9ICh1aW50MzJfdCkoVGltaW5nLT5TZXR1cFRpbWUgICAgICAgICAgICAgICAgICAgfFwKLSAgICAgICAgICAgICAgICAgICAgICgoVGltaW5nLT5XYWl0U2V0dXBUaW1lKSA8PCA4VSkgICAgIHxcCi0gICAgICAgICAgICAgICAgICAgICAoKFRpbWluZy0+SG9sZFNldHVwVGltZSkgPDwgMTZVKSAgICB8XAotICAgICAgICAgICAgICAgICAgICAgKChUaW1pbmctPkhpWlNldHVwVGltZSkgPDwgMjRVKSk7ICAgCi0gIAotICBEZXZpY2UtPlBJTzQgPSB0bXByOwotIAorICBNT0RJRllfUkVHKERldmljZS0+UElPNCwgUElPNF9DTEVBUl9NQVNLLAorICAgICAgICAgICAgIChUaW1pbmctPlNldHVwVGltZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CisgICAgICAgICAgICAgIChUaW1pbmctPldhaXRTZXR1cFRpbWUgICA8PCBGTUNfUElPNF9JT1dBSVQ0X1BvcykgfAorICAgICAgICAgICAgICAoVGltaW5nLT5Ib2xkU2V0dXBUaW1lICAgPDwgRk1DX1BJTzRfSU9IT0xENF9Qb3MpIHwKKyAgICAgICAgICAgICAgKFRpbWluZy0+SGlaU2V0dXBUaW1lICAgIDw8IEZNQ19QSU80X0lPSElaNF9Qb3MpKSk7CisKICAgcmV0dXJuIEhBTF9PSzsKIH0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKwogLyoqCi0gICogQGJyaWVmICBEZUluaXRpYWxpemVzIHRoZSBGTUNfUENDQVJEIGRldmljZSAKKyAgKiBAYnJpZWYgIERlSW5pdGlhbGl6ZXMgdGhlIEZNQ19QQ0NBUkQgZGV2aWNlCiAgICogQHBhcmFtICBEZXZpY2UgUG9pbnRlciB0byBQQ0NBUkQgZGV2aWNlIGluc3RhbmNlCiAgICogQHJldHZhbCBIQUwgc3RhdHVzCiAgICovCiBIQUxfU3RhdHVzVHlwZURlZiBGTUNfUENDQVJEX0RlSW5pdChGTUNfUENDQVJEX1R5cGVEZWYgKkRldmljZSkKIHsKLSAgLyogQ2hlY2sgdGhlIHBhcmFtZXRlcnMgKi8gIAorICAvKiBDaGVjayB0aGUgcGFyYW1ldGVycyAqLwogICBhc3NlcnRfcGFyYW0oSVNfRk1DX1BDQ0FSRF9ERVZJQ0UoRGV2aWNlKSk7Ci0gICAgCisKICAgLyogRGlzYWJsZSB0aGUgRk1DX1BDQ0FSRCBkZXZpY2UgKi8KICAgX19GTUNfUENDQVJEX0RJU0FCTEUoRGV2aWNlKTsKLSAgCisKICAgLyogRGUtaW5pdGlhbGl6ZSB0aGUgRk1DX1BDQ0FSRCBkZXZpY2UgKi8KLSAgRGV2aWNlLT5QQ1I0ICAgID0gMHgwMDAwMDAxOFU7IAotICBEZXZpY2UtPlNSNCAgICAgPSAweDAwMDAwMDAwVTsJCisgIERldmljZS0+UENSNCAgICA9IDB4MDAwMDAwMThVOworICBEZXZpY2UtPlNSNCAgICAgPSAweDAwMDAwMDQwVTsKICAgRGV2aWNlLT5QTUVNNCAgID0gMHhGQ0ZDRkNGQ1U7CiAgIERldmljZS0+UEFUVDQgICA9IDB4RkNGQ0ZDRkNVOwogICBEZXZpY2UtPlBJTzQgICAgPSAweEZDRkNGQ0ZDVTsKLSAgCisKICAgcmV0dXJuIEhBTF9PSzsKIH0KIAogLyoqCiAgICogQH0KICAgKi8KLSNlbmRpZiAvKiBTVE0zMkY0Mjd4eCB8fCBTVE0zMkY0Mzd4eCB8fCBTVE0zMkY0Mjl4eCB8fCBTVE0zMkY0Mzl4eCAqLworI2VuZGlmIC8qIEZNQ19CYW5rNCAqLwogCisjaWYgZGVmaW5lZChGTUNfQmFuazVfNikKIAotLyoqIEBhZGR0b2dyb3VwIEZNQ19MTF9TRFJBTQotICAqIEBicmllZiAgICBTRFJBTSBDb250cm9sbGVyIGZ1bmN0aW9ucyAKKy8qKiBAZGVmZ3JvdXAgRk1DX0xMX1NEUkFNCisgICogQGJyaWVmICAgIFNEUkFNIENvbnRyb2xsZXIgZnVuY3Rpb25zCiAgICoKLSAgQHZlcmJhdGltIAorICBAdmVyYmF0aW0KICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAgICAgICAgICAgICAgICAgICAjIyMjIyBIb3cgdG8gdXNlIFNEUkFNIGRldmljZSBkcml2ZXIgIyMjIyMKICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0gIFsuLl0gCisgIFsuLl0KICAgICBUaGlzIGRyaXZlciBjb250YWlucyBhIHNldCBvZiBBUElzIHRvIGludGVyZmFjZSB3aXRoIHRoZSBGTUMgU0RSQU0gYmFua3MgaW4gb3JkZXIKICAgICB0byBydW4gdGhlIFNEUkFNIGV4dGVybmFsIGRldmljZXMuCi0gICAgCi0gICAgKCspIEZNQyBTRFJBTSBiYW5rIHJlc2V0IHVzaW5nIHRoZSBmdW5jdGlvbiBGTUNfU0RSQU1fRGVJbml0KCkgCisKKyAgICAoKykgRk1DIFNEUkFNIGJhbmsgcmVzZXQgdXNpbmcgdGhlIGZ1bmN0aW9uIEZNQ19TRFJBTV9EZUluaXQoKQogICAgICgrKSBGTUMgU0RSQU0gYmFuayBjb250cm9sIGNvbmZpZ3VyYXRpb24gdXNpbmcgdGhlIGZ1bmN0aW9uIEZNQ19TRFJBTV9Jbml0KCkKICAgICAoKykgRk1DIFNEUkFNIGJhbmsgdGltaW5nIGNvbmZpZ3VyYXRpb24gdXNpbmcgdGhlIGZ1bmN0aW9uIEZNQ19TRFJBTV9UaW1pbmdfSW5pdCgpCiAgICAgKCspIEZNQyBTRFJBTSBiYW5rIGVuYWJsZS9kaXNhYmxlIHdyaXRlIG9wZXJhdGlvbiB1c2luZyB0aGUgZnVuY3Rpb25zCi0gICAgICAgIEZNQ19TRFJBTV9Xcml0ZU9wZXJhdGlvbl9FbmFibGUoKS9GTUNfU0RSQU1fV3JpdGVPcGVyYXRpb25fRGlzYWJsZSgpICAgCi0gICAgKCspIEZNQyBTRFJBTSBiYW5rIHNlbmQgY29tbWFuZCB1c2luZyB0aGUgZnVuY3Rpb24gRk1DX1NEUkFNX1NlbmRDb21tYW5kKCkgICAgICAKLSAgICAgICAKKyAgICAgICAgRk1DX1NEUkFNX1dyaXRlT3BlcmF0aW9uX0VuYWJsZSgpL0ZNQ19TRFJBTV9Xcml0ZU9wZXJhdGlvbl9EaXNhYmxlKCkKKyAgICAoKykgRk1DIFNEUkFNIGJhbmsgc2VuZCBjb21tYW5kIHVzaW5nIHRoZSBmdW5jdGlvbiBGTUNfU0RSQU1fU2VuZENvbW1hbmQoKQorCiBAZW5kdmVyYmF0aW0KICAgKiBAewogICAqLwotICAgICAgICAgCisKIC8qKiBAYWRkdG9ncm91cCBGTUNfTExfU0RSQU1fUHJpdmF0ZV9GdW5jdGlvbnNfR3JvdXAxCi0gICogIEBicmllZiAgICBJbml0aWFsaXphdGlvbiBhbmQgQ29uZmlndXJhdGlvbiBmdW5jdGlvbnMgCisgICogIEBicmllZiAgICBJbml0aWFsaXphdGlvbiBhbmQgQ29uZmlndXJhdGlvbiBmdW5jdGlvbnMKICAgKgotQHZlcmJhdGltICAgIAorQHZlcmJhdGltCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgICAgICAgICAgICAjIyMjIyBJbml0aWFsaXphdGlvbiBhbmQgZGVfaW5pdGlhbGl6YXRpb24gZnVuY3Rpb25zICMjIyMjCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotICBbLi5dICAKKyAgWy4uXQogICAgIFRoaXMgc2VjdGlvbiBwcm92aWRlcyBmdW5jdGlvbnMgYWxsb3dpbmcgdG86CiAgICAgKCspIEluaXRpYWxpemUgYW5kIGNvbmZpZ3VyZSB0aGUgRk1DIFNEUkFNIGludGVyZmFjZQotICAgICgrKSBEZS1pbml0aWFsaXplIHRoZSBGTUMgU0RSQU0gaW50ZXJmYWNlIAorICAgICgrKSBEZS1pbml0aWFsaXplIHRoZSBGTUMgU0RSQU0gaW50ZXJmYWNlCiAgICAgKCspIENvbmZpZ3VyZSB0aGUgRk1DIGNsb2NrIGFuZCBhc3NvY2lhdGVkIEdQSU9zCi0gICAgICAgIAorCiBAZW5kdmVyYmF0aW0KICAgKiBAewogICAqLwpAQCAtMTMzMCwxNCArMTE3NCwxMSBAQAogICAqIEBicmllZiAgSW5pdGlhbGl6ZXMgdGhlIEZNQ19TRFJBTSBkZXZpY2UgYWNjb3JkaW5nIHRvIHRoZSBzcGVjaWZpZWQKICAgKiAgICAgICAgIGNvbnRyb2wgcGFyYW1ldGVycyBpbiB0aGUgRk1DX1NEUkFNX0luaXRUeXBlRGVmCiAgICogQHBhcmFtICBEZXZpY2UgUG9pbnRlciB0byBTRFJBTSBkZXZpY2UgaW5zdGFuY2UKLSAgKiBAcGFyYW0gIEluaXQgUG9pbnRlciB0byBTRFJBTSBJbml0aWFsaXphdGlvbiBzdHJ1Y3R1cmUgICAKKyAgKiBAcGFyYW0gIEluaXQgUG9pbnRlciB0byBTRFJBTSBJbml0aWFsaXphdGlvbiBzdHJ1Y3R1cmUKICAgKiBAcmV0dmFsIEhBTCBzdGF0dXMKICAgKi8KIEhBTF9TdGF0dXNUeXBlRGVmIEZNQ19TRFJBTV9Jbml0KEZNQ19TRFJBTV9UeXBlRGVmICpEZXZpY2UsIEZNQ19TRFJBTV9Jbml0VHlwZURlZiAqSW5pdCkKIHsKLSAgdWludDMyX3QgdG1wcjEgPSAwVTsKLSAgdWludDMyX3QgdG1wcjIgPSAwVTsKLSAgICAKICAgLyogQ2hlY2sgdGhlIHBhcmFtZXRlcnMgKi8KICAgYXNzZXJ0X3BhcmFtKElTX0ZNQ19TRFJBTV9ERVZJQ0UoRGV2aWNlKSk7CiAgIGFzc2VydF9wYXJhbShJU19GTUNfU0RSQU1fQkFOSyhJbml0LT5TREJhbmspKTsKQEAgLTEzNDksNzYgKzExOTAsNTggQEAKICAgYXNzZXJ0X3BhcmFtKElTX0ZNQ19XUklURV9QUk9URUNUSU9OKEluaXQtPldyaXRlUHJvdGVjdGlvbikpOwogICBhc3NlcnRfcGFyYW0oSVNfRk1DX1NEQ0xPQ0tfUEVSSU9EKEluaXQtPlNEQ2xvY2tQZXJpb2QpKTsKICAgYXNzZXJ0X3BhcmFtKElTX0ZNQ19SRUFEX0JVUlNUKEluaXQtPlJlYWRCdXJzdCkpOwotICBhc3NlcnRfcGFyYW0oSVNfRk1DX1JFQURQSVBFX0RFTEFZKEluaXQtPlJlYWRQaXBlRGVsYXkpKTsgICAKKyAgYXNzZXJ0X3BhcmFtKElTX0ZNQ19SRUFEUElQRV9ERUxBWShJbml0LT5SZWFkUGlwZURlbGF5KSk7CiAKICAgLyogU2V0IFNEUkFNIGJhbmsgY29uZmlndXJhdGlvbiBwYXJhbWV0ZXJzICovCi0gIGlmIChJbml0LT5TREJhbmsgIT0gRk1DX1NEUkFNX0JBTksyKSAKLSAgeyAgICAKLSAgICB0bXByMSA9IERldmljZS0+U0RDUltGTUNfU0RSQU1fQkFOSzFdOwotICAgIAotICAgIC8qIENsZWFyIE5DLCBOUiwgTVdJRCwgTkIsIENBUywgV1AsIFNEQ0xLLCBSQlVSU1QsIGFuZCBSUElQRSBiaXRzICovCi0gICAgdG1wcjEgJj0gKCh1aW50MzJfdCl+KEZNQ19TRENSMV9OQyAgfCBGTUNfU0RDUjFfTlIgfCBGTUNfU0RDUjFfTVdJRCB8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICBGTUNfU0RDUjFfTkIgIHwgRk1DX1NEQ1IxX0NBUyB8IEZNQ19TRENSMV9XUCB8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICBGTUNfU0RDUjFfU0RDTEsgfCBGTUNfU0RDUjFfUkJVUlNUIHwgRk1DX1NEQ1IxX1JQSVBFKSk7Ci0gIAotICAKLSAgICB0bXByMSB8PSAodWludDMyX3QpKEluaXQtPkNvbHVtbkJpdHNOdW1iZXIgICB8XAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJbml0LT5Sb3dCaXRzTnVtYmVyICAgICAgfFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSW5pdC0+TWVtb3J5RGF0YVdpZHRoICAgIHxcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEluaXQtPkludGVybmFsQmFua051bWJlciB8XAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJbml0LT5DQVNMYXRlbmN5ICAgICAgICAgfFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSW5pdC0+V3JpdGVQcm90ZWN0aW9uICAgIHxcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEluaXQtPlNEQ2xvY2tQZXJpb2QgICAgICB8XAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJbml0LT5SZWFkQnVyc3QgICAgICAgICAgfFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSW5pdC0+UmVhZFBpcGVEZWxheQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApOwotICAgIERldmljZS0+U0RDUltGTUNfU0RSQU1fQkFOSzFdID0gdG1wcjE7Ci0gIH0KLSAgZWxzZSAvKiBGTUNfQmFuazJfU0RSQU0gKi8gICAgICAgICAgICAgICAgICAgICAgCisgIGlmIChJbml0LT5TREJhbmsgPT0gRk1DX1NEUkFNX0JBTksxKQogICB7Ci0gICAgdG1wcjEgPSBEZXZpY2UtPlNEQ1JbRk1DX1NEUkFNX0JBTksxXTsKLSAgICAKLSAgICAvKiBDbGVhciBOQywgTlIsIE1XSUQsIE5CLCBDQVMsIFdQLCBTRENMSywgUkJVUlNULCBhbmQgUlBJUEUgYml0cyAqLwotICAgIHRtcHIxICY9ICgodWludDMyX3QpfihGTUNfU0RDUjFfU0RDTEsgfCBGTUNfU0RDUjFfUkJVUlNUIHwgRk1DX1NEQ1IxX1JQSVBFKSk7Ci0gICAgCi0gICAgdG1wcjEgfD0gKHVpbnQzMl90KShJbml0LT5TRENsb2NrUGVyaW9kICAgICAgfFwKLSAgICAgICAgICAgICAgICAgICAgICAgIEluaXQtPlJlYWRCdXJzdCAgICAgICAgICB8XAotICAgICAgICAgICAgICAgICAgICAgICAgSW5pdC0+UmVhZFBpcGVEZWxheSk7ICAKLSAgICAKLSAgICB0bXByMiA9IERldmljZS0+U0RDUltGTUNfU0RSQU1fQkFOSzJdOwotICAgIAotICAgIC8qIENsZWFyIE5DLCBOUiwgTVdJRCwgTkIsIENBUywgV1AsIFNEQ0xLLCBSQlVSU1QsIGFuZCBSUElQRSBiaXRzICovCi0gICAgdG1wcjIgJj0gKCh1aW50MzJfdCl+KEZNQ19TRENSMV9OQyAgfCBGTUNfU0RDUjFfTlIgfCBGTUNfU0RDUjFfTVdJRCB8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgRk1DX1NEQ1IxX05CICB8IEZNQ19TRENSMV9DQVMgfCBGTUNfU0RDUjFfV1AgfCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgIEZNQ19TRENSMV9TRENMSyB8IEZNQ19TRENSMV9SQlVSU1QgfCBGTUNfU0RDUjFfUlBJUEUpKTsKKyAgICBNT0RJRllfUkVHKERldmljZS0+U0RDUltGTUNfU0RSQU1fQkFOSzFdLAorICAgICAgICAgICAgICAgU0RDUl9DTEVBUl9NQVNLLAorICAgICAgICAgICAgICAgKEluaXQtPkNvbHVtbkJpdHNOdW1iZXIgICB8CisgICAgICAgICAgICAgICAgSW5pdC0+Um93Qml0c051bWJlciAgICAgIHwKKyAgICAgICAgICAgICAgICBJbml0LT5NZW1vcnlEYXRhV2lkdGggICAgfAorICAgICAgICAgICAgICAgIEluaXQtPkludGVybmFsQmFua051bWJlciB8CisgICAgICAgICAgICAgICAgSW5pdC0+Q0FTTGF0ZW5jeSAgICAgICAgIHwKKyAgICAgICAgICAgICAgICBJbml0LT5Xcml0ZVByb3RlY3Rpb24gICAgfAorICAgICAgICAgICAgICAgIEluaXQtPlNEQ2xvY2tQZXJpb2QgICAgICB8CisgICAgICAgICAgICAgICAgSW5pdC0+UmVhZEJ1cnN0ICAgICAgICAgIHwKKyAgICAgICAgICAgICAgICBJbml0LT5SZWFkUGlwZURlbGF5KSk7CisgIH0KKyAgZWxzZSAvKiBGTUNfQmFuazJfU0RSQU0gKi8KKyAgeworICAgIE1PRElGWV9SRUcoRGV2aWNlLT5TRENSW0ZNQ19TRFJBTV9CQU5LMV0sCisgICAgICAgICAgICAgICBGTUNfU0RDUjFfU0RDTEsgICAgICAgICAgIHwKKyAgICAgICAgICAgICAgIEZNQ19TRENSMV9SQlVSU1QgICAgICAgICAgfAorICAgICAgICAgICAgICAgRk1DX1NEQ1IxX1JQSVBFLAorICAgICAgICAgICAgICAgKEluaXQtPlNEQ2xvY2tQZXJpb2QgICAgICB8CisgICAgICAgICAgICAgICAgSW5pdC0+UmVhZEJ1cnN0ICAgICAgICAgIHwKKyAgICAgICAgICAgICAgICBJbml0LT5SZWFkUGlwZURlbGF5KSk7CiAKLSAgICB0bXByMiB8PSAodWludDMyX3QpKEluaXQtPkNvbHVtbkJpdHNOdW1iZXIgICB8XAotICAgICAgICAgICAgICAgICAgICAgICBJbml0LT5Sb3dCaXRzTnVtYmVyICAgICAgfFwKLSAgICAgICAgICAgICAgICAgICAgICAgSW5pdC0+TWVtb3J5RGF0YVdpZHRoICAgIHxcCi0gICAgICAgICAgICAgICAgICAgICAgIEluaXQtPkludGVybmFsQmFua051bWJlciB8XAotICAgICAgICAgICAgICAgICAgICAgICBJbml0LT5DQVNMYXRlbmN5ICAgICAgICAgfFwKLSAgICAgICAgICAgICAgICAgICAgICAgSW5pdC0+V3JpdGVQcm90ZWN0aW9uKTsKKyAgICBNT0RJRllfUkVHKERldmljZS0+U0RDUltGTUNfU0RSQU1fQkFOSzJdLAorICAgICAgICAgICAgICAgU0RDUl9DTEVBUl9NQVNLLAorICAgICAgICAgICAgICAgKEluaXQtPkNvbHVtbkJpdHNOdW1iZXIgICB8CisgICAgICAgICAgICAgICAgSW5pdC0+Um93Qml0c051bWJlciAgICAgIHwKKyAgICAgICAgICAgICAgICBJbml0LT5NZW1vcnlEYXRhV2lkdGggICAgfAorICAgICAgICAgICAgICAgIEluaXQtPkludGVybmFsQmFua051bWJlciB8CisgICAgICAgICAgICAgICAgSW5pdC0+Q0FTTGF0ZW5jeSAgICAgICAgIHwKKyAgICAgICAgICAgICAgICBJbml0LT5Xcml0ZVByb3RlY3Rpb24pKTsKKyAgfQogCi0gICAgRGV2aWNlLT5TRENSW0ZNQ19TRFJBTV9CQU5LMV0gPSB0bXByMTsKLSAgICBEZXZpY2UtPlNEQ1JbRk1DX1NEUkFNX0JBTksyXSA9IHRtcHIyOwotICB9ICAKLSAgCiAgIHJldHVybiBIQUxfT0s7CiB9CiAKKwogLyoqCiAgICogQGJyaWVmICBJbml0aWFsaXplcyB0aGUgRk1DX1NEUkFNIGRldmljZSB0aW1pbmcgYWNjb3JkaW5nIHRvIHRoZSBzcGVjaWZpZWQKICAgKiAgICAgICAgIHBhcmFtZXRlcnMgaW4gdGhlIEZNQ19TRFJBTV9UaW1pbmdUeXBlRGVmCiAgICogQHBhcmFtICBEZXZpY2UgUG9pbnRlciB0byBTRFJBTSBkZXZpY2UgaW5zdGFuY2UKICAgKiBAcGFyYW0gIFRpbWluZyBQb2ludGVyIHRvIFNEUkFNIFRpbWluZyBzdHJ1Y3R1cmUKLSAgKiBAcGFyYW0gIEJhbmsgU0RSQU0gYmFuayBudW1iZXIgICAKKyAgKiBAcGFyYW0gIEJhbmsgU0RSQU0gYmFuayBudW1iZXIKICAgKiBAcmV0dmFsIEhBTCBzdGF0dXMKICAgKi8KLUhBTF9TdGF0dXNUeXBlRGVmIEZNQ19TRFJBTV9UaW1pbmdfSW5pdChGTUNfU0RSQU1fVHlwZURlZiAqRGV2aWNlLCBGTUNfU0RSQU1fVGltaW5nVHlwZURlZiAqVGltaW5nLCB1aW50MzJfdCBCYW5rKQorSEFMX1N0YXR1c1R5cGVEZWYgRk1DX1NEUkFNX1RpbWluZ19Jbml0KEZNQ19TRFJBTV9UeXBlRGVmICpEZXZpY2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRk1DX1NEUkFNX1RpbWluZ1R5cGVEZWYgKlRpbWluZywgdWludDMyX3QgQmFuaykKIHsKLSAgdWludDMyX3QgdG1wcjEgPSAwVTsKLSAgdWludDMyX3QgdG1wcjIgPSAwVTsKLSAgICAKICAgLyogQ2hlY2sgdGhlIHBhcmFtZXRlcnMgKi8KICAgYXNzZXJ0X3BhcmFtKElTX0ZNQ19TRFJBTV9ERVZJQ0UoRGV2aWNlKSk7CiAgIGFzc2VydF9wYXJhbShJU19GTUNfTE9BRFRPQUNUSVZFX0RFTEFZKFRpbWluZy0+TG9hZFRvQWN0aXZlRGVsYXkpKTsKQEAgLTE0MjksNTcgKzEyNTIsNDIgQEAKICAgYXNzZXJ0X3BhcmFtKElTX0ZNQ19SUF9ERUxBWShUaW1pbmctPlJQRGVsYXkpKTsKICAgYXNzZXJ0X3BhcmFtKElTX0ZNQ19SQ0RfREVMQVkoVGltaW5nLT5SQ0REZWxheSkpOwogICBhc3NlcnRfcGFyYW0oSVNfRk1DX1NEUkFNX0JBTksoQmFuaykpOwotICAKLSAgLyogU2V0IFNEUkFNIGRldmljZSB0aW1pbmcgcGFyYW1ldGVycyAqLyAKLSAgaWYgKEJhbmsgIT0gRk1DX1NEUkFNX0JBTksyKSAKLSAgeyAKLSAgICB0bXByMSA9IERldmljZS0+U0RUUltGTUNfU0RSQU1fQkFOSzFdOwotICAgIAotICAgIC8qIENsZWFyIFRNUkQsIFRYU1IsIFRSQVMsIFRSQywgVFdSLCBUUlAgYW5kIFRSQ0QgYml0cyAqLwotICAgIHRtcHIxICY9ICgodWludDMyX3QpfihGTUNfU0RUUjFfVE1SRCAgfCBGTUNfU0RUUjFfVFhTUiB8IEZNQ19TRFRSMV9UUkFTIHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICBGTUNfU0RUUjFfVFJDICB8IEZNQ19TRFRSMV9UV1IgfCBGTUNfU0RUUjFfVFJQIHwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICBGTUNfU0RUUjFfVFJDRCkpOwotICAgIAotICAgIHRtcHIxIHw9ICh1aW50MzJfdCkoKChUaW1pbmctPkxvYWRUb0FjdGl2ZURlbGF5KS0xVSkgICAgICAgICAgIHxcCi0gICAgICAgICAgICAgICAgICAgICAgICgoKFRpbWluZy0+RXhpdFNlbGZSZWZyZXNoRGVsYXkpLTFVKSA8PCA0VSkgfFwKLSAgICAgICAgICAgICAgICAgICAgICAgKCgoVGltaW5nLT5TZWxmUmVmcmVzaFRpbWUpLTFVKSA8PCA4VSkgICAgICB8XAotICAgICAgICAgICAgICAgICAgICAgICAoKChUaW1pbmctPlJvd0N5Y2xlRGVsYXkpLTFVKSA8PCAxMlUpICAgICAgIHxcCi0gICAgICAgICAgICAgICAgICAgICAgICgoKFRpbWluZy0+V3JpdGVSZWNvdmVyeVRpbWUpLTFVKSA8PDE2VSkgICAgfFwKLSAgICAgICAgICAgICAgICAgICAgICAgKCgoVGltaW5nLT5SUERlbGF5KS0xVSkgPDwgMjBVKSAgICAgICAgICAgICB8XAotICAgICAgICAgICAgICAgICAgICAgICAoKChUaW1pbmctPlJDRERlbGF5KS0xVSkgPDwgMjRVKSk7Ci0gICAgRGV2aWNlLT5TRFRSW0ZNQ19TRFJBTV9CQU5LMV0gPSB0bXByMTsKLSAgfQotICAgZWxzZSAvKiBGTUNfQmFuazJfU0RSQU0gKi8KLSAgewotICAgIHRtcHIxID0gRGV2aWNlLT5TRFRSW0ZNQ19TRFJBTV9CQU5LMV07Ci0gICAgCi0gICAgLyogQ2xlYXIgVFJDIGFuZCBUUlAgYml0cyAqLwotICAgIHRtcHIxICY9ICgodWludDMyX3QpfihGTUNfU0RUUjFfVFJDIHwgRk1DX1NEVFIxX1RSUCkpOwotICAgIAotICAgIHRtcHIxIHw9ICh1aW50MzJfdCkoKCgoVGltaW5nLT5Sb3dDeWNsZURlbGF5KS0xVSkgPDwgMTJVKSAgICAgICB8XAotICAgICAgICAgICAgICAgICAgICAgICAgKCgoVGltaW5nLT5SUERlbGF5KS0xVSkgPDwgMjBVKSk7IAotICAgIAotICAgIHRtcHIyID0gRGV2aWNlLT5TRFRSW0ZNQ19TRFJBTV9CQU5LMl07Ci0gICAgCi0gICAgLyogQ2xlYXIgVE1SRCwgVFhTUiwgVFJBUywgVFJDLCBUV1IsIFRSUCBhbmQgVFJDRCBiaXRzICovCi0gICAgdG1wcjIgJj0gKCh1aW50MzJfdCl+KEZNQ19TRFRSMV9UTVJEICB8IEZNQ19TRFRSMV9UWFNSIHwgRk1DX1NEVFIxX1RSQVMgfCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgIEZNQ19TRFRSMV9UUkMgIHwgRk1DX1NEVFIxX1RXUiB8IEZNQ19TRFRSMV9UUlAgfCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgIEZNQ19TRFRSMV9UUkNEKSk7Ci0gICAgCi0gICAgdG1wcjIgfD0gKHVpbnQzMl90KSgoKChUaW1pbmctPkxvYWRUb0FjdGl2ZURlbGF5KS0xVSkgICAgICAgICAgIHxcCi0gICAgICAgICAgICAgICAgICAgICAgICgoKFRpbWluZy0+RXhpdFNlbGZSZWZyZXNoRGVsYXkpLTFVKSA8PCA0VSkgIHxcCi0gICAgICAgICAgICAgICAgICAgICAgICgoKFRpbWluZy0+U2VsZlJlZnJlc2hUaW1lKS0xVSkgPDwgOFUpICAgICAgIHxcCi0gICAgICAgICAgICAgICAgICAgICAgICgoKFRpbWluZy0+V3JpdGVSZWNvdmVyeVRpbWUpLTFVKSA8PDE2VSkgICAgIHxcCi0gICAgICAgICAgICAgICAgICAgICAgICgoKFRpbWluZy0+UkNERGVsYXkpLTFVKSA8PCAyNFUpKSk7ICAgCiAKLSAgICBEZXZpY2UtPlNEVFJbRk1DX1NEUkFNX0JBTksxXSA9IHRtcHIxOwotICAgIERldmljZS0+U0RUUltGTUNfU0RSQU1fQkFOSzJdID0gdG1wcjI7CisgIC8qIFNldCBTRFJBTSBkZXZpY2UgdGltaW5nIHBhcmFtZXRlcnMgKi8KKyAgaWYgKEJhbmsgPT0gRk1DX1NEUkFNX0JBTksxKQorICB7CisgICAgTU9ESUZZX1JFRyhEZXZpY2UtPlNEVFJbRk1DX1NEUkFNX0JBTksxXSwKKyAgICAgICAgICAgICAgIFNEVFJfQ0xFQVJfTUFTSywKKyAgICAgICAgICAgICAgICgoKFRpbWluZy0+TG9hZFRvQWN0aXZlRGVsYXkpIC0gMVUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CisgICAgICAgICAgICAgICAgKCgoVGltaW5nLT5FeGl0U2VsZlJlZnJlc2hEZWxheSkgLSAxVSkgPDwgRk1DX1NEVFIxX1RYU1JfUG9zKSB8CisgICAgICAgICAgICAgICAgKCgoVGltaW5nLT5TZWxmUmVmcmVzaFRpbWUpIC0gMVUpICAgICAgPDwgRk1DX1NEVFIxX1RSQVNfUG9zKSB8CisgICAgICAgICAgICAgICAgKCgoVGltaW5nLT5Sb3dDeWNsZURlbGF5KSAtIDFVKSAgICAgICAgPDwgRk1DX1NEVFIxX1RSQ19Qb3MpICB8CisgICAgICAgICAgICAgICAgKCgoVGltaW5nLT5Xcml0ZVJlY292ZXJ5VGltZSkgLSAxVSkgICAgPDwgRk1DX1NEVFIxX1RXUl9Qb3MpICB8CisgICAgICAgICAgICAgICAgKCgoVGltaW5nLT5SUERlbGF5KSAtIDFVKSAgICAgICAgICAgICAgPDwgRk1DX1NEVFIxX1RSUF9Qb3MpICB8CisgICAgICAgICAgICAgICAgKCgoVGltaW5nLT5SQ0REZWxheSkgLSAxVSkgICAgICAgICAgICAgPDwgRk1DX1NEVFIxX1RSQ0RfUG9zKSkpOwogICB9CisgIGVsc2UgLyogRk1DX0JhbmsyX1NEUkFNICovCisgIHsKKyAgICBNT0RJRllfUkVHKERldmljZS0+U0RUUltGTUNfU0RSQU1fQkFOSzFdLAorICAgICAgICAgICAgICAgRk1DX1NEVFIxX1RSQyB8CisgICAgICAgICAgICAgICBGTUNfU0RUUjFfVFJQLAorICAgICAgICAgICAgICAgKCgoVGltaW5nLT5Sb3dDeWNsZURlbGF5KSAtIDFVKSAgICAgICAgIDw8IEZNQ19TRFRSMV9UUkNfUG9zKSAgfAorICAgICAgICAgICAgICAgKCgoVGltaW5nLT5SUERlbGF5KSAtIDFVKSAgICAgICAgICAgICAgIDw8IEZNQ19TRFRSMV9UUlBfUG9zKSk7CisKKyAgICBNT0RJRllfUkVHKERldmljZS0+U0RUUltGTUNfU0RSQU1fQkFOSzJdLAorICAgICAgICAgICAgICAgU0RUUl9DTEVBUl9NQVNLLAorICAgICAgICAgICAgICAgKCgoVGltaW5nLT5Mb2FkVG9BY3RpdmVEZWxheSkgLSAxVSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAgICAgICAgICAgICAgICAoKChUaW1pbmctPkV4aXRTZWxmUmVmcmVzaERlbGF5KSAtIDFVKSA8PCBGTUNfU0RUUjFfVFhTUl9Qb3MpIHwKKyAgICAgICAgICAgICAgICAoKChUaW1pbmctPlNlbGZSZWZyZXNoVGltZSkgLSAxVSkgICAgICA8PCBGTUNfU0RUUjFfVFJBU19Qb3MpIHwKKyAgICAgICAgICAgICAgICAoKChUaW1pbmctPldyaXRlUmVjb3ZlcnlUaW1lKSAtIDFVKSAgICA8PCBGTUNfU0RUUjFfVFdSX1BvcykgIHwKKyAgICAgICAgICAgICAgICAoKChUaW1pbmctPlJDRERlbGF5KSAtIDFVKSAgICAgICAgICAgICA8PCBGTUNfU0RUUjFfVFJDRF9Qb3MpKSk7CisgIH0KKwogICByZXR1cm4gSEFMX09LOwogfQogCiAvKioKLSAgKiBAYnJpZWYgIERlSW5pdGlhbGl6ZXMgdGhlIEZNQ19TRFJBTSBwZXJpcGhlcmFsIAorICAqIEBicmllZiAgRGVJbml0aWFsaXplcyB0aGUgRk1DX1NEUkFNIHBlcmlwaGVyYWwKICAgKiBAcGFyYW0gIERldmljZSBQb2ludGVyIHRvIFNEUkFNIGRldmljZSBpbnN0YW5jZQogICAqIEByZXR2YWwgSEFMIHN0YXR1cwogICAqLwpAQCAtMTQ4OCwxMCArMTI5NiwxMCBAQAogICAvKiBDaGVjayB0aGUgcGFyYW1ldGVycyAqLwogICBhc3NlcnRfcGFyYW0oSVNfRk1DX1NEUkFNX0RFVklDRShEZXZpY2UpKTsKICAgYXNzZXJ0X3BhcmFtKElTX0ZNQ19TRFJBTV9CQU5LKEJhbmspKTsKLSAgCisKICAgLyogRGUtaW5pdGlhbGl6ZSB0aGUgU0RSQU0gZGV2aWNlICovCiAgIERldmljZS0+U0RDUltCYW5rXSA9IDB4MDAwMDAyRDBVOwotICBEZXZpY2UtPlNEVFJbQmFua10gPSAweDBGRkZGRkZGVTsgICAgCisgIERldmljZS0+U0RUUltCYW5rXSA9IDB4MEZGRkZGRkZVOwogICBEZXZpY2UtPlNEQ01SICAgICAgPSAweDAwMDAwMDAwVTsKICAgRGV2aWNlLT5TRFJUUiAgICAgID0gMHgwMDAwMDAwMFU7CiAgIERldmljZS0+U0RTUiAgICAgICA9IDB4MDAwMDAwMDBVOwpAQCAtMTUwMiwxNCArMTMxMCwxNCBAQAogLyoqCiAgICogQH0KICAgKi8KLSAgCisKIC8qKiBAYWRkdG9ncm91cCBGTUNfTExfU0RSQU1Qcml2YXRlX0Z1bmN0aW9uc19Hcm91cDIKLSAgKiAgQGJyaWVmICAgbWFuYWdlbWVudCBmdW5jdGlvbnMgCisgICogIEBicmllZiAgIG1hbmFnZW1lbnQgZnVuY3Rpb25zCiAgICoKLUB2ZXJiYXRpbSAgIAorQHZlcmJhdGltCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgICAgICAgICAgICAgICAgICAgICMjIyMjIEZNQ19TRFJBTSBDb250cm9sIGZ1bmN0aW9ucyAjIyMjIwotICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gIAorICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgWy4uXQogICAgIFRoaXMgc3Vic2VjdGlvbiBwcm92aWRlcyBhIHNldCBvZiBmdW5jdGlvbnMgYWxsb3dpbmcgdG8gY29udHJvbCBkeW5hbWljYWxseQogICAgIHRoZSBGTUMgU0RSQU0gaW50ZXJmYWNlLgpAQCAtMTUxNywyMiArMTMyNSwyMyBAQAogQGVuZHZlcmJhdGltCiAgICogQHsKICAgKi8KKwogLyoqCiAgICogQGJyaWVmICBFbmFibGVzIGR5bmFtaWNhbGx5IEZNQ19TRFJBTSB3cml0ZSBwcm90ZWN0aW9uLgogICAqIEBwYXJhbSAgRGV2aWNlIFBvaW50ZXIgdG8gU0RSQU0gZGV2aWNlIGluc3RhbmNlCi0gICogQHBhcmFtICBCYW5rIFNEUkFNIGJhbmsgbnVtYmVyIAorICAqIEBwYXJhbSAgQmFuayBTRFJBTSBiYW5rIG51bWJlcgogICAqIEByZXR2YWwgSEFMIHN0YXR1cwogICAqLwogSEFMX1N0YXR1c1R5cGVEZWYgRk1DX1NEUkFNX1dyaXRlUHJvdGVjdGlvbl9FbmFibGUoRk1DX1NEUkFNX1R5cGVEZWYgKkRldmljZSwgdWludDMyX3QgQmFuaykKLXsgCit7CiAgIC8qIENoZWNrIHRoZSBwYXJhbWV0ZXJzICovCiAgIGFzc2VydF9wYXJhbShJU19GTUNfU0RSQU1fREVWSUNFKERldmljZSkpOwogICBhc3NlcnRfcGFyYW0oSVNfRk1DX1NEUkFNX0JBTksoQmFuaykpOwotICAKKwogICAvKiBFbmFibGUgd3JpdGUgcHJvdGVjdGlvbiAqLwotICBEZXZpY2UtPlNEQ1JbQmFua10gfD0gRk1DX1NEUkFNX1dSSVRFX1BST1RFQ1RJT05fRU5BQkxFOwotICAKLSAgcmV0dXJuIEhBTF9PSzsgIAorICBTRVRfQklUKERldmljZS0+U0RDUltCYW5rXSwgRk1DX1NEUkFNX1dSSVRFX1BST1RFQ1RJT05fRU5BQkxFKTsKKworICByZXR1cm4gSEFMX09LOwogfQogCiAvKioKQEAgLTE1NDUsNjQgKzEzNTQsNTggQEAKICAgLyogQ2hlY2sgdGhlIHBhcmFtZXRlcnMgKi8KICAgYXNzZXJ0X3BhcmFtKElTX0ZNQ19TRFJBTV9ERVZJQ0UoRGV2aWNlKSk7CiAgIGFzc2VydF9wYXJhbShJU19GTUNfU0RSQU1fQkFOSyhCYW5rKSk7Ci0gIAorCiAgIC8qIERpc2FibGUgd3JpdGUgcHJvdGVjdGlvbiAqLwotICBEZXZpY2UtPlNEQ1JbQmFua10gJj0gfkZNQ19TRFJBTV9XUklURV9QUk9URUNUSU9OX0VOQUJMRTsKLSAgCisgIENMRUFSX0JJVChEZXZpY2UtPlNEQ1JbQmFua10sIEZNQ19TRFJBTV9XUklURV9QUk9URUNUSU9OX0VOQUJMRSk7CisKICAgcmV0dXJuIEhBTF9PSzsKIH0KLSAgCisKIC8qKgogICAqIEBicmllZiAgU2VuZCBDb21tYW5kIHRvIHRoZSBGTUMgU0RSQU0gYmFuawogICAqIEBwYXJhbSAgRGV2aWNlIFBvaW50ZXIgdG8gU0RSQU0gZGV2aWNlIGluc3RhbmNlCi0gICogQHBhcmFtICBDb21tYW5kIFBvaW50ZXIgdG8gU0RSQU0gY29tbWFuZCBzdHJ1Y3R1cmUgICAKKyAgKiBAcGFyYW0gIENvbW1hbmQgUG9pbnRlciB0byBTRFJBTSBjb21tYW5kIHN0cnVjdHVyZQogICAqIEBwYXJhbSAgVGltaW5nIFBvaW50ZXIgdG8gU0RSQU0gVGltaW5nIHN0cnVjdHVyZQogICAqIEBwYXJhbSAgVGltZW91dCBUaW1lb3V0IHdhaXQgdmFsdWUKICAgKiBAcmV0dmFsIEhBTCBzdGF0ZQotICAqLyAgCi1IQUxfU3RhdHVzVHlwZURlZiBGTUNfU0RSQU1fU2VuZENvbW1hbmQoRk1DX1NEUkFNX1R5cGVEZWYgKkRldmljZSwgRk1DX1NEUkFNX0NvbW1hbmRUeXBlRGVmICpDb21tYW5kLCB1aW50MzJfdCBUaW1lb3V0KQorICAqLworSEFMX1N0YXR1c1R5cGVEZWYgRk1DX1NEUkFNX1NlbmRDb21tYW5kKEZNQ19TRFJBTV9UeXBlRGVmICpEZXZpY2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRk1DX1NEUkFNX0NvbW1hbmRUeXBlRGVmICpDb21tYW5kLCB1aW50MzJfdCBUaW1lb3V0KQogewotICBfX0lPIHVpbnQzMl90IHRtcHIgPSAwVTsKICAgdWludDMyX3QgdGlja3N0YXJ0ID0gMFU7Ci0gIAogICAvKiBDaGVjayB0aGUgcGFyYW1ldGVycyAqLwogICBhc3NlcnRfcGFyYW0oSVNfRk1DX1NEUkFNX0RFVklDRShEZXZpY2UpKTsKICAgYXNzZXJ0X3BhcmFtKElTX0ZNQ19DT01NQU5EX01PREUoQ29tbWFuZC0+Q29tbWFuZE1vZGUpKTsKICAgYXNzZXJ0X3BhcmFtKElTX0ZNQ19DT01NQU5EX1RBUkdFVChDb21tYW5kLT5Db21tYW5kVGFyZ2V0KSk7CiAgIGFzc2VydF9wYXJhbShJU19GTUNfQVVUT1JFRlJFU0hfTlVNQkVSKENvbW1hbmQtPkF1dG9SZWZyZXNoTnVtYmVyKSk7Ci0gIGFzc2VydF9wYXJhbShJU19GTUNfTU9ERV9SRUdJU1RFUihDb21tYW5kLT5Nb2RlUmVnaXN0ZXJEZWZpbml0aW9uKSk7ICAKKyAgYXNzZXJ0X3BhcmFtKElTX0ZNQ19NT0RFX1JFR0lTVEVSKENvbW1hbmQtPk1vZGVSZWdpc3RlckRlZmluaXRpb24pKTsKIAogICAvKiBTZXQgY29tbWFuZCByZWdpc3RlciAqLwotICB0bXByID0gKHVpbnQzMl90KSgoQ29tbWFuZC0+Q29tbWFuZE1vZGUpICAgICAgICAgICAgICAgICAgfFwKLSAgICAgICAgICAgICAgICAgICAgKENvbW1hbmQtPkNvbW1hbmRUYXJnZXQpICAgICAgICAgICAgICAgIHxcCi0gICAgICAgICAgICAgICAgICAgICgoKENvbW1hbmQtPkF1dG9SZWZyZXNoTnVtYmVyKS0xVSkgPDwgNVUpIHxcCi0gICAgICAgICAgICAgICAgICAgICgoQ29tbWFuZC0+TW9kZVJlZ2lzdGVyRGVmaW5pdGlvbikgPDwgOVUpCi0gICAgICAgICAgICAgICAgICAgICk7Ci0gICAgCi0gIERldmljZS0+U0RDTVIgPSB0bXByOwotCi0gIC8qIEdldCB0aWNrICovIAorICBNT0RJRllfUkVHKERldmljZS0+U0RDTVIsIChGTUNfU0RDTVJfTU9ERSB8IEZNQ19TRENNUl9DVEIyIHwgRk1DX1NEQ01SX0NUQjEgfCBGTUNfU0RDTVJfTlJGUyB8IEZNQ19TRENNUl9NUkQpLAorICAgICAgICAgICAgICgoQ29tbWFuZC0+Q29tbWFuZE1vZGUpIHwgKENvbW1hbmQtPkNvbW1hbmRUYXJnZXQpIHwKKyAgICAgICAgICAgICAgKCgoQ29tbWFuZC0+QXV0b1JlZnJlc2hOdW1iZXIpIC0gMVUpIDw8IEZNQ19TRENNUl9OUkZTX1BvcykgfAorICAgICAgICAgICAgICAoKENvbW1hbmQtPk1vZGVSZWdpc3RlckRlZmluaXRpb24pIDw8IEZNQ19TRENNUl9NUkRfUG9zKSkpOworICAvKiBHZXQgdGljayAqLwogICB0aWNrc3RhcnQgPSBIQUxfR2V0VGljaygpOwogCi0gIC8qIFdhaXQgdW50aWwgY29tbWFuZCBpcyBzZW5kICovCi0gIHdoaWxlKEhBTF9JU19CSVRfU0VUKERldmljZS0+U0RTUiwgRk1DX1NEU1JfQlVTWSkpCisgIC8qIHdhaXQgdW50aWwgY29tbWFuZCBpcyBzZW5kICovCisgIHdoaWxlIChIQUxfSVNfQklUX1NFVChEZXZpY2UtPlNEU1IsIEZNQ19TRFNSX0JVU1kpKQogICB7CiAgICAgLyogQ2hlY2sgZm9yIHRoZSBUaW1lb3V0ICovCi0gICAgaWYoVGltZW91dCAhPSBIQUxfTUFYX0RFTEFZKQorICAgIGlmIChUaW1lb3V0ICE9IEhBTF9NQVhfREVMQVkpCiAgICAgewotICAgICAgaWYoKFRpbWVvdXQgPT0gMFUpfHwoKEhBTF9HZXRUaWNrKCkgLSB0aWNrc3RhcnQgKSA+IFRpbWVvdXQpKQorICAgICAgaWYgKChUaW1lb3V0ID09IDBVKSB8fCAoKEhBTF9HZXRUaWNrKCkgLSB0aWNrc3RhcnQpID4gVGltZW91dCkpCiAgICAgICB7CiAgICAgICAgIHJldHVybiBIQUxfVElNRU9VVDsKICAgICAgIH0KICAgICB9CiAgIH0KLQogICByZXR1cm4gSEFMX09LOwogfQogCiAvKioKICAgKiBAYnJpZWYgIFByb2dyYW0gdGhlIFNEUkFNIE1lbW9yeSBSZWZyZXNoIHJhdGUuCi0gICogQHBhcmFtICBEZXZpY2UgUG9pbnRlciB0byBTRFJBTSBkZXZpY2UgaW5zdGFuY2UgIAorICAqIEBwYXJhbSAgRGV2aWNlIFBvaW50ZXIgdG8gU0RSQU0gZGV2aWNlIGluc3RhbmNlCiAgICogQHBhcmFtICBSZWZyZXNoUmF0ZSBUaGUgU0RSQU0gcmVmcmVzaCByYXRlIHZhbHVlLgogICAqIEByZXR2YWwgSEFMIHN0YXRlCiAgICovCkBAIC0xNjExLDU4ICsxNDE0LDU5IEBACiAgIC8qIENoZWNrIHRoZSBwYXJhbWV0ZXJzICovCiAgIGFzc2VydF9wYXJhbShJU19GTUNfU0RSQU1fREVWSUNFKERldmljZSkpOwogICBhc3NlcnRfcGFyYW0oSVNfRk1DX1JFRlJFU0hfUkFURShSZWZyZXNoUmF0ZSkpOwotICAKKwogICAvKiBTZXQgdGhlIHJlZnJlc2ggcmF0ZSBpbiBjb21tYW5kIHJlZ2lzdGVyICovCi0gIERldmljZS0+U0RSVFIgfD0gKFJlZnJlc2hSYXRlPDwxVSk7Ci0gIAotICByZXR1cm4gSEFMX09LOyAgIAorICBNT0RJRllfUkVHKERldmljZS0+U0RSVFIsIEZNQ19TRFJUUl9DT1VOVCwgKFJlZnJlc2hSYXRlIDw8IEZNQ19TRFJUUl9DT1VOVF9Qb3MpKTsKKworICByZXR1cm4gSEFMX09LOwogfQogCiAvKioKICAgKiBAYnJpZWYgIFNldCB0aGUgTnVtYmVyIG9mIGNvbnNlY3V0aXZlIFNEUkFNIE1lbW9yeSBhdXRvIFJlZnJlc2ggY29tbWFuZHMuCi0gICogQHBhcmFtICBEZXZpY2UgUG9pbnRlciB0byBTRFJBTSBkZXZpY2UgaW5zdGFuY2UgIAotICAqIEBwYXJhbSAgQXV0b1JlZnJlc2hOdW1iZXIgU3BlY2lmaWVzIHRoZSBhdXRvIFJlZnJlc2ggbnVtYmVyLiAgICAgICAKKyAgKiBAcGFyYW0gIERldmljZSBQb2ludGVyIHRvIFNEUkFNIGRldmljZSBpbnN0YW5jZQorICAqIEBwYXJhbSAgQXV0b1JlZnJlc2hOdW1iZXIgU3BlY2lmaWVzIHRoZSBhdXRvIFJlZnJlc2ggbnVtYmVyLgogICAqIEByZXR2YWwgTm9uZQogICAqLwotSEFMX1N0YXR1c1R5cGVEZWYgRk1DX1NEUkFNX1NldEF1dG9SZWZyZXNoTnVtYmVyKEZNQ19TRFJBTV9UeXBlRGVmICpEZXZpY2UsIHVpbnQzMl90IEF1dG9SZWZyZXNoTnVtYmVyKQorSEFMX1N0YXR1c1R5cGVEZWYgRk1DX1NEUkFNX1NldEF1dG9SZWZyZXNoTnVtYmVyKEZNQ19TRFJBTV9UeXBlRGVmICpEZXZpY2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgQXV0b1JlZnJlc2hOdW1iZXIpCiB7CiAgIC8qIENoZWNrIHRoZSBwYXJhbWV0ZXJzICovCiAgIGFzc2VydF9wYXJhbShJU19GTUNfU0RSQU1fREVWSUNFKERldmljZSkpOwogICBhc3NlcnRfcGFyYW0oSVNfRk1DX0FVVE9SRUZSRVNIX05VTUJFUihBdXRvUmVmcmVzaE51bWJlcikpOwotICAKLSAgLyogU2V0IHRoZSBBdXRvLXJlZnJlc2ggbnVtYmVyIGluIGNvbW1hbmQgcmVnaXN0ZXIgKi8KLSAgRGV2aWNlLT5TRENNUiB8PSAoQXV0b1JlZnJlc2hOdW1iZXIgPDwgNVUpOyAKIAotICByZXR1cm4gSEFMX09LOyAgCisgIC8qIFNldCB0aGUgQXV0by1yZWZyZXNoIG51bWJlciBpbiBjb21tYW5kIHJlZ2lzdGVyICovCisgIE1PRElGWV9SRUcoRGV2aWNlLT5TRENNUiwgRk1DX1NEQ01SX05SRlMsICgoQXV0b1JlZnJlc2hOdW1iZXIgLSAxVSkgPDwgRk1DX1NEQ01SX05SRlNfUG9zKSk7CisKKyAgcmV0dXJuIEhBTF9PSzsKIH0KIAogLyoqCiAgICogQGJyaWVmICBSZXR1cm5zIHRoZSBpbmRpY2F0ZWQgRk1DIFNEUkFNIGJhbmsgbW9kZSBzdGF0dXMuCi0gICogQHBhcmFtICBEZXZpY2UgUG9pbnRlciB0byBTRFJBTSBkZXZpY2UgaW5zdGFuY2UgIAotICAqIEBwYXJhbSAgQmFuayBEZWZpbmVzIHRoZSBGTUMgU0RSQU0gYmFuay4gVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIAotICAqICAgICAgICAgICAgICAgICAgICAgRk1DX0JhbmsxX1NEUkFNIG9yIEZNQ19CYW5rMl9TRFJBTS4gCisgICogQHBhcmFtICBEZXZpY2UgUG9pbnRlciB0byBTRFJBTSBkZXZpY2UgaW5zdGFuY2UKKyAgKiBAcGFyYW0gIEJhbmsgRGVmaW5lcyB0aGUgRk1DIFNEUkFNIGJhbmsuIFRoaXMgcGFyYW1ldGVyIGNhbiBiZQorICAqICAgICAgICAgICAgICAgICAgICAgRk1DX0JhbmsxX1NEUkFNIG9yIEZNQ19CYW5rMl9TRFJBTS4KICAgKiBAcmV0dmFsIFRoZSBGTUMgU0RSQU0gYmFuayBtb2RlIHN0YXR1cywgY291bGQgYmUgb24gb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXM6Ci0gICogICAgICAgICBGTUNfU0RSQU1fTk9STUFMX01PREUsIEZNQ19TRFJBTV9TRUxGX1JFRlJFU0hfTU9ERSBvciAKLSAgKiAgICAgICAgIEZNQ19TRFJBTV9QT1dFUl9ET1dOX01PREUuICAgICAgICAgICAKKyAgKiAgICAgICAgIEZNQ19TRFJBTV9OT1JNQUxfTU9ERSwgRk1DX1NEUkFNX1NFTEZfUkVGUkVTSF9NT0RFIG9yCisgICogICAgICAgICBGTUNfU0RSQU1fUE9XRVJfRE9XTl9NT0RFLgogICAqLwogdWludDMyX3QgRk1DX1NEUkFNX0dldE1vZGVTdGF0dXMoRk1DX1NEUkFNX1R5cGVEZWYgKkRldmljZSwgdWludDMyX3QgQmFuaykKIHsKLSAgdWludDMyX3QgdG1wcmVnID0gMFU7Ci0gIAorICB1aW50MzJfdCB0bXByZWc7CisKICAgLyogQ2hlY2sgdGhlIHBhcmFtZXRlcnMgKi8KICAgYXNzZXJ0X3BhcmFtKElTX0ZNQ19TRFJBTV9ERVZJQ0UoRGV2aWNlKSk7CiAgIGFzc2VydF9wYXJhbShJU19GTUNfU0RSQU1fQkFOSyhCYW5rKSk7CiAKICAgLyogR2V0IHRoZSBjb3JyZXNwb25kaW5nIGJhbmsgbW9kZSAqLwotICBpZihCYW5rID09IEZNQ19TRFJBTV9CQU5LMSkKKyAgaWYgKEJhbmsgPT0gRk1DX1NEUkFNX0JBTksxKQogICB7Ci0gICAgdG1wcmVnID0gKHVpbnQzMl90KShEZXZpY2UtPlNEU1IgJiBGTUNfU0RTUl9NT0RFUzEpOyAKKyAgICB0bXByZWcgPSAodWludDMyX3QpKERldmljZS0+U0RTUiAmIEZNQ19TRFNSX01PREVTMSk7CiAgIH0KICAgZWxzZQogICB7CiAgICAgdG1wcmVnID0gKCh1aW50MzJfdCkoRGV2aWNlLT5TRFNSICYgRk1DX1NEU1JfTU9ERVMyKSA+PiAyVSk7CiAgIH0KLSAgCisKICAgLyogUmV0dXJuIHRoZSBtb2RlIHN0YXR1cyAqLwogICByZXR1cm4gdG1wcmVnOwogfQpAQCAtMTY3NSwxMSArMTQ3OSw3IEBACiAgICogQH0KICAgKi8KIAotLyoqCi0gICogQH0KLSAgKi8KLSNlbmRpZiAvKiBTVE0zMkY0Mjd4eCB8fCBTVE0zMkY0Mzd4eCB8fCBTVE0zMkY0Mjl4eCB8fCBTVE0zMkY0Mzl4eCB8fCBTVE0zMkY0NDZ4eCB8fCBTVE0zMkY0Njl4eCB8fCBTVE0zMkY0Nzl4eCAqLwotI2VuZGlmIC8qIEhBTF9TUkFNX01PRFVMRV9FTkFCTEVEIHx8IEhBTF9OT1JfTU9EVUxFX0VOQUJMRUQgfHwgSEFMX05BTkRfTU9EVUxFX0VOQUJMRUQgfHwgSEFMX1BDQ0FSRF9NT0RVTEVfRU5BQkxFRCB8fCBIQUxfU0RSQU1fTU9EVUxFX0VOQUJMRUQgKi8KKyNlbmRpZiAvKiBGTUNfQmFuazVfNiAqLwogCiAvKioKICAgKiBAfQpAQCAtMTY4OSw0ICsxNDg5LDEwIEBACiAgICogQH0KICAgKi8KIAotLyoqKioqKioqKioqKioqKioqKioqKioqKiAoQykgQ09QWVJJR0hUIFNUTWljcm9lbGVjdHJvbmljcyAqKioqKkVORCBPRiBGSUxFKioqKi8KKyNlbmRpZiAvKiBIQUxfTk9SX01PRFVMRV9FTkFCTEVEICovCisvKioKKyAgKiBAfQorICAqLworLyoqCisgICogQH0KKyAgKi8KZGlmZiAtLWdpdCBhL1NyYy9zdG0zMmY0eHhfbGxfZm1waTJjLmMgYi9TcmMvc3RtMzJmNHh4X2xsX2ZtcGkyYy5jCmluZGV4IDhmY2IyYTEuLjA0OTY2ZWEgMTAwNjQ0Ci0tLSBhL1NyYy9zdG0zMmY0eHhfbGxfZm1waTJjLmMKKysrIGIvU3JjL3N0bTMyZjR4eF9sbF9mbXBpMmMuYwpAQCAtNiwxMyArNiwxMiBAQAogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKiBAYXR0ZW50aW9uCiAgICoKLSAgKiA8aDI+PGNlbnRlcj4mY29weTsgQ29weXJpZ2h0IChjKSAyMDE2IFNUTWljcm9lbGVjdHJvbmljcy4KLSAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvY2VudGVyPjwvaDI+CisgICogQ29weXJpZ2h0IChjKSAyMDE2IFNUTWljcm9lbGVjdHJvbmljcy4KKyAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAqCi0gICogVGhpcyBzb2Z0d2FyZSBjb21wb25lbnQgaXMgbGljZW5zZWQgYnkgU1QgdW5kZXIgQlNEIDMtQ2xhdXNlIGxpY2Vuc2UsCi0gICogdGhlICJMaWNlbnNlIjsgWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZQotICAqIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdDoKLSAgKiAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZQorICAqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgdW5kZXIgdGVybXMgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZQorICAqIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvZnR3YXJlIGNvbXBvbmVudC4KKyAgKiBJZiBubyBMSUNFTlNFIGZpbGUgY29tZXMgd2l0aCB0aGlzIHNvZnR3YXJlLCBpdCBpcyBwcm92aWRlZCBBUy1JUy4KICAgKgogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKi8KQEAgLTIxNiw1ICsyMTUsMyBAQAogCiAjZW5kaWYgLyogRk1QSTJDX0NSMV9QRSAqLwogI2VuZGlmIC8qIFVTRV9GVUxMX0xMX0RSSVZFUiAqLwotCi0vKioqKioqKioqKioqKioqKioqKioqKioqIChDKSBDT1BZUklHSFQgU1RNaWNyb2VsZWN0cm9uaWNzICoqKioqRU5EIE9GIEZJTEUqKioqLwpkaWZmIC0tZ2l0IGEvU3JjL3N0bTMyZjR4eF9sbF9mc21jLmMgYi9TcmMvc3RtMzJmNHh4X2xsX2ZzbWMuYwppbmRleCA5ODY4MTM3Li44MTcyODcxIDEwMDY0NAotLS0gYS9TcmMvc3RtMzJmNHh4X2xsX2ZzbWMuYworKysgYi9TcmMvc3RtMzJmNHh4X2xsX2ZzbWMuYwpAQCAtMyw1NSArMyw1NSBAQAogICAqIEBmaWxlICAgIHN0bTMyZjR4eF9sbF9mc21jLmMKICAgKiBAYXV0aG9yICBNQ0QgQXBwbGljYXRpb24gVGVhbQogICAqIEBicmllZiAgIEZTTUMgTG93IExheWVyIEhBTCBtb2R1bGUgZHJpdmVyLgotICAqICAgIAotICAqICAgICAgICAgIFRoaXMgZmlsZSBwcm92aWRlcyBmaXJtd2FyZSBmdW5jdGlvbnMgdG8gbWFuYWdlIHRoZSBmb2xsb3dpbmcgCi0gICogICAgICAgICAgZnVuY3Rpb25hbGl0aWVzIG9mIHRoZSBGbGV4aWJsZSBTdGF0aWMgTWVtb3J5IENvbnRyb2xsZXIgKEZTTUMpIHBlcmlwaGVyYWwgbWVtb3JpZXM6CisgICoKKyAgKiAgICAgICAgICBUaGlzIGZpbGUgcHJvdmlkZXMgZmlybXdhcmUgZnVuY3Rpb25zIHRvIG1hbmFnZSB0aGUgZm9sbG93aW5nCisgICogICAgICAgICAgZnVuY3Rpb25hbGl0aWVzIG9mIHRoZSBGbGV4aWJsZSBNZW1vcnkgQ29udHJvbGxlciAoRlNNQykgcGVyaXBoZXJhbCBtZW1vcmllczoKICAgKiAgICAgICAgICAgKyBJbml0aWFsaXphdGlvbi9kZS1pbml0aWFsaXphdGlvbiBmdW5jdGlvbnMKLSAgKiAgICAgICAgICAgKyBQZXJpcGhlcmFsIENvbnRyb2wgZnVuY3Rpb25zIAorICAqICAgICAgICAgICArIFBlcmlwaGVyYWwgQ29udHJvbCBmdW5jdGlvbnMKICAgKiAgICAgICAgICAgKyBQZXJpcGhlcmFsIFN0YXRlIGZ1bmN0aW9ucwotICAqICAgICAgICAgCi0gIEB2ZXJiYXRpbQotICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLSAgICAgICAgICAgICAgICAgICAgICAgICMjIyMjIEZTTUMgcGVyaXBoZXJhbCBmZWF0dXJlcyAjIyMjIwotICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gICAgICAgICAgICAgICAgICAKLSAgICBbLi5dIFRoZSBGbGV4aWJsZSBzdGF0aWMgbWVtb3J5IGNvbnRyb2xsZXIgKEZTTUMpIGluY2x1ZGVzIHR3byBtZW1vcnkgY29udHJvbGxlcnM6Ci0gICAgICAgICAoKykgVGhlIE5PUi9QU1JBTSBtZW1vcnkgY29udHJvbGxlcgotICAgICAgICAgKCspIFRoZSBOQU5EL1BDIENhcmQgbWVtb3J5IGNvbnRyb2xsZXIKLSAgICAgICAKLSAgICBbLi5dIFRoZSBGU01DIGZ1bmN0aW9uYWwgYmxvY2sgbWFrZXMgdGhlIGludGVyZmFjZSB3aXRoIHN5bmNocm9ub3VzIGFuZCBhc3luY2hyb25vdXMgc3RhdGljCi0gICAgICAgICBtZW1vcmllcywgU0RSQU0gbWVtb3JpZXMsIGFuZCAxNi1iaXQgUEMgbWVtb3J5IGNhcmRzLiBJdHMgbWFpbiBwdXJwb3NlcyBhcmU6Ci0gICAgICAgICAoKykgdG8gdHJhbnNsYXRlIEFIQiB0cmFuc2FjdGlvbnMgaW50byB0aGUgYXBwcm9wcmlhdGUgZXh0ZXJuYWwgZGV2aWNlIHByb3RvY29sLgotICAgICAgICAgKCspIHRvIG1lZXQgdGhlIGFjY2VzcyB0aW1lIHJlcXVpcmVtZW50cyBvZiB0aGUgZXh0ZXJuYWwgbWVtb3J5IGRldmljZXMuCi0gICAKLSAgICBbLi5dIEFsbCBleHRlcm5hbCBtZW1vcmllcyBzaGFyZSB0aGUgYWRkcmVzc2VzLCBkYXRhIGFuZCBjb250cm9sIHNpZ25hbHMgd2l0aCB0aGUgY29udHJvbGxlci4KLSAgICAgICAgIEVhY2ggZXh0ZXJuYWwgZGV2aWNlIGlzIGFjY2Vzc2VkIGJ5IG1lYW5zIG9mIGEgdW5pcXVlIENoaXAgU2VsZWN0LiBUaGUgRlNNQyBwZXJmb3JtcwotICAgICAgICAgb25seSBvbmUgYWNjZXNzIGF0IGEgdGltZSB0byBhbiBleHRlcm5hbCBkZXZpY2UuCi0gICAgICAgICBUaGUgbWFpbiBmZWF0dXJlcyBvZiB0aGUgRlNNQyBjb250cm9sbGVyIGFyZSB0aGUgZm9sbG93aW5nOgotICAgICAgICAgICgrKSBJbnRlcmZhY2Ugd2l0aCBzdGF0aWMtbWVtb3J5IG1hcHBlZCBkZXZpY2VzIGluY2x1ZGluZzoKLSAgICAgICAgICAgICAoKyspIFN0YXRpYyByYW5kb20gYWNjZXNzIG1lbW9yeSAoU1JBTSkuCi0gICAgICAgICAgICAgKCsrKSBSZWFkLW9ubHkgbWVtb3J5IChST00pLgotICAgICAgICAgICAgICgrKykgTk9SIEZsYXNoIG1lbW9yeS9PbmVOQU5EIEZsYXNoIG1lbW9yeS4KLSAgICAgICAgICAgICAoKyspIFBTUkFNICg0IG1lbW9yeSBiYW5rcykuCi0gICAgICAgICAgICAgKCsrKSAxNi1iaXQgUEMgQ2FyZCBjb21wYXRpYmxlIGRldmljZXMuCi0gICAgICAgICAgICAgKCsrKSBUd28gYmFua3Mgb2YgTkFORCBGbGFzaCBtZW1vcnkgd2l0aCBFQ0MgaGFyZHdhcmUgdG8gY2hlY2sgdXAgdG8gOCBLYnl0ZXMgb2YKLSAgICAgICAgICAgICAgICAgIGRhdGEuCi0gICAgICAgICAgKCspIEluZGVwZW5kZW50IENoaXAgU2VsZWN0IGNvbnRyb2wgZm9yIGVhY2ggbWVtb3J5IGJhbmsuCi0gICAgICAgICAgKCspIEluZGVwZW5kZW50IGNvbmZpZ3VyYXRpb24gZm9yIGVhY2ggbWVtb3J5IGJhbmsuICAgICAgICAgIAotICAgICAgICAKLSAgQGVuZHZlcmJhdGltCisgICoKICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICogQGF0dGVudGlvbgogICAqCi0gICogPGgyPjxjZW50ZXI+JmNvcHk7IENvcHlyaWdodCAoYykgMjAxNyBTVE1pY3JvZWxlY3Ryb25pY3MuCi0gICogQWxsIHJpZ2h0cyByZXNlcnZlZC48L2NlbnRlcj48L2gyPgorICAqIENvcHlyaWdodCAoYykgMjAxNiBTVE1pY3JvZWxlY3Ryb25pY3MuCisgICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgKgotICAqIFRoaXMgc29mdHdhcmUgY29tcG9uZW50IGlzIGxpY2Vuc2VkIGJ5IFNUIHVuZGVyIEJTRCAzLUNsYXVzZSBsaWNlbnNlLAotICAqIHRoZSAiTGljZW5zZSI7IFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUKLSAgKiBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQ6Ci0gICogICAgICAgICAgICAgICAgICAgICAgICBvcGVuc291cmNlLm9yZy9saWNlbnNlcy9CU0QtMy1DbGF1c2UKKyAgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIHVuZGVyIHRlcm1zIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUKKyAgKiBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb2Z0d2FyZSBjb21wb25lbnQuCisgICogSWYgbm8gTElDRU5TRSBmaWxlIGNvbWVzIHdpdGggdGhpcyBzb2Z0d2FyZSwgaXQgaXMgcHJvdmlkZWQgQVMtSVMuCiAgICoKICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gICovIAorICBAdmVyYmF0aW0KKyAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgICAgICAgICAgICAgICAgICAgICAgICAjIyMjIyBGU01DIHBlcmlwaGVyYWwgZmVhdHVyZXMgIyMjIyMKKyAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgIFsuLl0gVGhlIEZsZXhpYmxlIG1lbW9yeSBjb250cm9sbGVyIChGU01DKSBpbmNsdWRlcyBmb2xsb3dpbmcgbWVtb3J5IGNvbnRyb2xsZXJzOgorICAgICAgICgrKSBUaGUgTk9SL1BTUkFNIG1lbW9yeSBjb250cm9sbGVyCisgICAgICAgKCspIFRoZSBOQU5EL1BDIENhcmQgbWVtb3J5IGNvbnRyb2xsZXIKKworICBbLi5dIFRoZSBGU01DIGZ1bmN0aW9uYWwgYmxvY2sgbWFrZXMgdGhlIGludGVyZmFjZSB3aXRoIHN5bmNocm9ub3VzIGFuZCBhc3luY2hyb25vdXMgc3RhdGljCisgICAgICAgbWVtb3JpZXMgYW5kIDE2LWJpdCBQQyBtZW1vcnkgY2FyZHMuIEl0cyBtYWluIHB1cnBvc2VzIGFyZToKKyAgICAgICAoKykgdG8gdHJhbnNsYXRlIEFIQiB0cmFuc2FjdGlvbnMgaW50byB0aGUgYXBwcm9wcmlhdGUgZXh0ZXJuYWwgZGV2aWNlIHByb3RvY29sCisgICAgICAgKCspIHRvIG1lZXQgdGhlIGFjY2VzcyB0aW1lIHJlcXVpcmVtZW50cyBvZiB0aGUgZXh0ZXJuYWwgbWVtb3J5IGRldmljZXMKKworICBbLi5dIEFsbCBleHRlcm5hbCBtZW1vcmllcyBzaGFyZSB0aGUgYWRkcmVzc2VzLCBkYXRhIGFuZCBjb250cm9sIHNpZ25hbHMgd2l0aCB0aGUgY29udHJvbGxlci4KKyAgICAgICBFYWNoIGV4dGVybmFsIGRldmljZSBpcyBhY2Nlc3NlZCBieSBtZWFucyBvZiBhIHVuaXF1ZSBDaGlwIFNlbGVjdC4gVGhlIEZTTUMgcGVyZm9ybXMKKyAgICAgICBvbmx5IG9uZSBhY2Nlc3MgYXQgYSB0aW1lIHRvIGFuIGV4dGVybmFsIGRldmljZS4KKyAgICAgICBUaGUgbWFpbiBmZWF0dXJlcyBvZiB0aGUgRlNNQyBjb250cm9sbGVyIGFyZSB0aGUgZm9sbG93aW5nOgorICAgICAgICAoKykgSW50ZXJmYWNlIHdpdGggc3RhdGljLW1lbW9yeSBtYXBwZWQgZGV2aWNlcyBpbmNsdWRpbmc6CisgICAgICAgICAgICgrKykgU3RhdGljIHJhbmRvbSBhY2Nlc3MgbWVtb3J5IChTUkFNKQorICAgICAgICAgICAoKyspIFJlYWQtb25seSBtZW1vcnkgKFJPTSkKKyAgICAgICAgICAgKCsrKSBOT1IgRmxhc2ggbWVtb3J5L09uZU5BTkQgRmxhc2ggbWVtb3J5CisgICAgICAgICAgICgrKykgUFNSQU0gKDQgbWVtb3J5IGJhbmtzKQorICAgICAgICAgICAoKyspIDE2LWJpdCBQQyBDYXJkIGNvbXBhdGlibGUgZGV2aWNlcworICAgICAgICAgICAoKyspIFR3byBiYW5rcyBvZiBOQU5EIEZsYXNoIG1lbW9yeSB3aXRoIEVDQyBoYXJkd2FyZSB0byBjaGVjayB1cCB0byA4IEtieXRlcyBvZgorICAgICAgICAgICAgICAgIGRhdGEKKyAgICAgICAgKCspIEluZGVwZW5kZW50IENoaXAgU2VsZWN0IGNvbnRyb2wgZm9yIGVhY2ggbWVtb3J5IGJhbmsKKyAgICAgICAgKCspIEluZGVwZW5kZW50IGNvbmZpZ3VyYXRpb24gZm9yIGVhY2ggbWVtb3J5IGJhbmsKKworICBAZW5kdmVyYmF0aW0KKyAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgICovCiAKIC8qIEluY2x1ZGVzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAjaW5jbHVkZSAic3RtMzJmNHh4X2hhbC5oIgpAQCAtNTksNDEgKzU5LDEzMSBAQAogLyoqIEBhZGR0b2dyb3VwIFNUTTMyRjR4eF9IQUxfRHJpdmVyCiAgICogQHsKICAgKi8KKyNpZiBkZWZpbmVkKEhBTF9OT1JfTU9EVUxFX0VOQUJMRUQpIHx8IGRlZmluZWQoSEFMX1NSQU1fTU9EVUxFX0VOQUJMRUQpIHx8IGRlZmluZWQoSEFMX05BTkRfTU9EVUxFX0VOQUJMRUQpIHx8IGRlZmluZWQoSEFMX1BDQ0FSRF9NT0RVTEVfRU5BQkxFRCkKIAogLyoqIEBkZWZncm91cCBGU01DX0xMICBGU01DIExvdyBMYXllcgogICAqIEBicmllZiBGU01DIGRyaXZlciBtb2R1bGVzCiAgICogQHsKICAgKi8KIAotI2lmIGRlZmluZWQgKEhBTF9TUkFNX01PRFVMRV9FTkFCTEVEKSB8fCBkZWZpbmVkKEhBTF9OT1JfTU9EVUxFX0VOQUJMRUQpIHx8IGRlZmluZWQoSEFMX05BTkRfTU9EVUxFX0VOQUJMRUQpIHx8IGRlZmluZWQoSEFMX1BDQ0FSRF9NT0RVTEVfRU5BQkxFRCkKLSNpZiBkZWZpbmVkKFNUTTMyRjQwNXh4KSB8fCBkZWZpbmVkKFNUTTMyRjQxNXh4KSB8fCBkZWZpbmVkKFNUTTMyRjQwN3h4KSB8fCBkZWZpbmVkKFNUTTMyRjQxN3h4KSB8fCBkZWZpbmVkKFNUTTMyRjQxMlp4KSB8fFwKLSAgICBkZWZpbmVkKFNUTTMyRjQxMlZ4KSB8fCBkZWZpbmVkKFNUTTMyRjQxMlJ4KSB8fCBkZWZpbmVkKFNUTTMyRjQxM3h4KSB8fCBkZWZpbmVkKFNUTTMyRjQyM3h4KQogLyogUHJpdmF0ZSB0eXBlZGVmIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KIC8qIFByaXZhdGUgZGVmaW5lIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCi0vKiBQcml2YXRlIG1hY3JvIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwotLyogUHJpdmF0ZSB2YXJpYWJsZXMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KLS8qIFByaXZhdGUgZnVuY3Rpb24gcHJvdG90eXBlcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCi0vKiBQcml2YXRlIGZ1bmN0aW9ucyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwotLyoqIEBhZGR0b2dyb3VwIEZTTUNfTExfUHJpdmF0ZV9GdW5jdGlvbnMKKworLyoqIEBkZWZncm91cCBGU01DX0xMX1ByaXZhdGVfQ29uc3RhbnRzIEZTTUMgTG93IExheWVyIFByaXZhdGUgQ29uc3RhbnRzCiAgICogQHsKICAgKi8KIAotLyoqIEBhZGR0b2dyb3VwIEZTTUNfTExfTk9SU1JBTQotICAqIEBicmllZiAgICBOT1JTUkFNIENvbnRyb2xsZXIgZnVuY3Rpb25zIAorLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gRlNNQyByZWdpc3RlcnMgYml0IG1hc2sgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCisKKyNpZiBkZWZpbmVkKEZTTUNfQmFuazEpCisvKiAtLS0gQkNSIFJlZ2lzdGVyIC0tLSovCisvKiBCQ1IgcmVnaXN0ZXIgY2xlYXIgbWFzayAqLworCisvKiAtLS0gQlRSIFJlZ2lzdGVyIC0tLSovCisvKiBCVFIgcmVnaXN0ZXIgY2xlYXIgbWFzayAqLworI2RlZmluZSBCVFJfQ0xFQVJfTUFTSyAgICAoKHVpbnQzMl90KShGU01DX0JUUjFfQUREU0VUIHwgRlNNQ19CVFIxX0FEREhMRCAgfFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRlNNQ19CVFIxX0RBVEFTVCB8IEZTTUNfQlRSMV9CVVNUVVJOIHxcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZTTUNfQlRSMV9DTEtESVYgfCBGU01DX0JUUjFfREFUTEFUICB8XAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGU01DX0JUUjFfQUNDTU9EKSkKKworLyogLS0tIEJXVFIgUmVnaXN0ZXIgLS0tKi8KKy8qIEJXVFIgcmVnaXN0ZXIgY2xlYXIgbWFzayAqLworI2RlZmluZSBCV1RSX0NMRUFSX01BU0sgICAoKHVpbnQzMl90KShGU01DX0JXVFIxX0FERFNFVCB8IEZTTUNfQldUUjFfQURESExEICB8XAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGU01DX0JXVFIxX0RBVEFTVCB8IEZTTUNfQldUUjFfQlVTVFVSTiB8XAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGU01DX0JXVFIxX0FDQ01PRCkpCisjZW5kaWYgLyogRlNNQ19CYW5rMSAqLworI2lmIGRlZmluZWQoRlNNQ19CYW5rMl8zKQorCisjaWYgZGVmaW5lZCAoRlNNQ19QQ1JfUFdBSVRFTikKKy8qIC0tLSBQQ1IgUmVnaXN0ZXIgLS0tKi8KKy8qIFBDUiByZWdpc3RlciBjbGVhciBtYXNrICovCisjZGVmaW5lIFBDUl9DTEVBUl9NQVNLICAgICgodWludDMyX3QpKEZTTUNfUENSX1BXQUlURU4gfCBGU01DX1BDUl9QQktFTiAgfCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZTTUNfUENSX1BUWVAgICAgfCBGU01DX1BDUl9QV0lEICAgfCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZTTUNfUENSX0VDQ0VOICAgfCBGU01DX1BDUl9UQ0xSICAgfCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZTTUNfUENSX1RBUiAgICAgfCBGU01DX1BDUl9FQ0NQUykpCisvKiAtLS0gUE1FTSBSZWdpc3RlciAtLS0qLworLyogUE1FTSByZWdpc3RlciBjbGVhciBtYXNrICovCisjZGVmaW5lIFBNRU1fQ0xFQVJfTUFTSyAgICgodWludDMyX3QpKEZTTUNfUE1FTV9NRU1TRVQyICB8IEZTTUNfUE1FTV9NRU1XQUlUMiB8XAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGU01DX1BNRU1fTUVNSE9MRDIgfCBGU01DX1BNRU1fTUVNSElaMikpCisKKy8qIC0tLSBQQVRUIFJlZ2lzdGVyIC0tLSovCisvKiBQQVRUIHJlZ2lzdGVyIGNsZWFyIG1hc2sgKi8KKyNkZWZpbmUgUEFUVF9DTEVBUl9NQVNLICAgKCh1aW50MzJfdCkoRlNNQ19QQVRUX0FUVFNFVDIgIHwgRlNNQ19QQVRUX0FUVFdBSVQyIHxcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZTTUNfUEFUVF9BVFRIT0xEMiB8IEZTTUNfUEFUVF9BVFRISVoyKSkKKyNlbHNlCisvKiAtLS0gUENSIFJlZ2lzdGVyIC0tLSovCisvKiBQQ1IgcmVnaXN0ZXIgY2xlYXIgbWFzayAqLworI2RlZmluZSBQQ1JfQ0xFQVJfTUFTSyAgICAoKHVpbnQzMl90KShGU01DX1BDUjJfUFdBSVRFTiB8IEZTTUNfUENSMl9QQktFTiAgfCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZTTUNfUENSMl9QVFlQICAgIHwgRlNNQ19QQ1IyX1BXSUQgICB8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRlNNQ19QQ1IyX0VDQ0VOICAgfCBGU01DX1BDUjJfVENMUiAgIHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGU01DX1BDUjJfVEFSICAgICB8IEZTTUNfUENSMl9FQ0NQUykpCisvKiAtLS0gUE1FTSBSZWdpc3RlciAtLS0qLworLyogUE1FTSByZWdpc3RlciBjbGVhciBtYXNrICovCisjZGVmaW5lIFBNRU1fQ0xFQVJfTUFTSyAgICgodWludDMyX3QpKEZTTUNfUE1FTTJfTUVNU0VUMiAgfCBGU01DX1BNRU0yX01FTVdBSVQyIHxcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZTTUNfUE1FTTJfTUVNSE9MRDIgfCBGU01DX1BNRU0yX01FTUhJWjIpKQorCisvKiAtLS0gUEFUVCBSZWdpc3RlciAtLS0qLworLyogUEFUVCByZWdpc3RlciBjbGVhciBtYXNrICovCisjZGVmaW5lIFBBVFRfQ0xFQVJfTUFTSyAgICgodWludDMyX3QpKEZTTUNfUEFUVDJfQVRUU0VUMiAgfCBGU01DX1BBVFQyX0FUVFdBSVQyIHxcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZTTUNfUEFUVDJfQVRUSE9MRDIgfCBGU01DX1BBVFQyX0FUVEhJWjIpKQorCisjZW5kaWYgLyogRlNNQ19QQ1JfUFdBSVRFTiAqLworI2VuZGlmIC8qIEZTTUNfQmFuazJfMyAqLworI2lmIGRlZmluZWQoRlNNQ19CYW5rNCkKKy8qIC0tLSBQQ1IgUmVnaXN0ZXIgLS0tKi8KKy8qIFBDUiByZWdpc3RlciBjbGVhciBtYXNrICovCisjZGVmaW5lIFBDUjRfQ0xFQVJfTUFTSyAgICgodWludDMyX3QpKEZTTUNfUENSNF9QV0FJVEVOIHwgRlNNQ19QQ1I0X1BCS0VOICB8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRlNNQ19QQ1I0X1BUWVAgICAgfCBGU01DX1BDUjRfUFdJRCAgIHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGU01DX1BDUjRfRUNDRU4gICB8IEZTTUNfUENSNF9UQ0xSICAgfCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZTTUNfUENSNF9UQVIgICAgIHwgRlNNQ19QQ1I0X0VDQ1BTKSkKKy8qIC0tLSBQTUVNIFJlZ2lzdGVyIC0tLSovCisvKiBQTUVNIHJlZ2lzdGVyIGNsZWFyIG1hc2sgKi8KKyNkZWZpbmUgUE1FTTRfQ0xFQVJfTUFTSyAgKCh1aW50MzJfdCkoRlNNQ19QTUVNNF9NRU1TRVQ0ICB8IEZTTUNfUE1FTTRfTUVNV0FJVDQgfFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRlNNQ19QTUVNNF9NRU1IT0xENCB8IEZTTUNfUE1FTTRfTUVNSElaNCkpCisKKy8qIC0tLSBQQVRUIFJlZ2lzdGVyIC0tLSovCisvKiBQQVRUIHJlZ2lzdGVyIGNsZWFyIG1hc2sgKi8KKyNkZWZpbmUgUEFUVDRfQ0xFQVJfTUFTSyAgKCh1aW50MzJfdCkoRlNNQ19QQVRUNF9BVFRTRVQ0ICB8IEZTTUNfUEFUVDRfQVRUV0FJVDQgfFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRlNNQ19QQVRUNF9BVFRIT0xENCB8IEZTTUNfUEFUVDRfQVRUSElaNCkpCisKKy8qIC0tLSBQSU80IFJlZ2lzdGVyIC0tLSovCisvKiBQSU80IHJlZ2lzdGVyIGNsZWFyIG1hc2sgKi8KKyNkZWZpbmUgUElPNF9DTEVBUl9NQVNLICAgKCh1aW50MzJfdCkoRlNNQ19QSU80X0lPU0VUNCAgfCBGU01DX1BJTzRfSU9XQUlUNCB8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRlNNQ19QSU80X0lPSE9MRDQgfCBGU01DX1BJTzRfSU9ISVo0KSkKKworI2VuZGlmIC8qIEZTTUNfQmFuazQgKi8KKworLyoqCisgICogQH0KKyAgKi8KKworLyogUHJpdmF0ZSBtYWNybyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKy8qIFByaXZhdGUgdmFyaWFibGVzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisvKiBQcml2YXRlIGZ1bmN0aW9uIHByb3RvdHlwZXMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworLyogRXhwb3J0ZWQgZnVuY3Rpb25zIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworLyoqIEBkZWZncm91cCBGU01DX0xMX0V4cG9ydGVkX0Z1bmN0aW9ucyBGU01DIExvdyBMYXllciBFeHBvcnRlZCBGdW5jdGlvbnMKKyAgKiBAeworICAqLworCisjaWYgZGVmaW5lZChGU01DX0JhbmsxKQorCisvKiogQGRlZmdyb3VwIEZTTUNfTExfRXhwb3J0ZWRfRnVuY3Rpb25zX05PUlNSQU0gRlNNQyBMb3cgTGF5ZXIgTk9SIFNSQU0gRXhwb3J0ZWQgRnVuY3Rpb25zCisgICogQGJyaWVmICBOT1JTUkFNIENvbnRyb2xsZXIgZnVuY3Rpb25zCiAgICoKLSAgQHZlcmJhdGltIAorICBAdmVyYmF0aW0KICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAgICAgICAgICAgICAgICAgIyMjIyMgSG93IHRvIHVzZSBOT1JTUkFNIGRldmljZSBkcml2ZXIgIyMjIyMKICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0gCi0gIFsuLl0gCisKKyAgWy4uXQogICAgIFRoaXMgZHJpdmVyIGNvbnRhaW5zIGEgc2V0IG9mIEFQSXMgdG8gaW50ZXJmYWNlIHdpdGggdGhlIEZTTUMgTk9SU1JBTSBiYW5rcyBpbiBvcmRlcgogICAgIHRvIHJ1biB0aGUgTk9SU1JBTSBleHRlcm5hbCBkZXZpY2VzLgotICAgICAgCi0gICAgKCspIEZTTUMgTk9SU1JBTSBiYW5rIHJlc2V0IHVzaW5nIHRoZSBmdW5jdGlvbiBGU01DX05PUlNSQU1fRGVJbml0KCkgCisKKyAgICAoKykgRlNNQyBOT1JTUkFNIGJhbmsgcmVzZXQgdXNpbmcgdGhlIGZ1bmN0aW9uIEZTTUNfTk9SU1JBTV9EZUluaXQoKQogICAgICgrKSBGU01DIE5PUlNSQU0gYmFuayBjb250cm9sIGNvbmZpZ3VyYXRpb24gdXNpbmcgdGhlIGZ1bmN0aW9uIEZTTUNfTk9SU1JBTV9Jbml0KCkKICAgICAoKykgRlNNQyBOT1JTUkFNIGJhbmsgdGltaW5nIGNvbmZpZ3VyYXRpb24gdXNpbmcgdGhlIGZ1bmN0aW9uIEZTTUNfTk9SU1JBTV9UaW1pbmdfSW5pdCgpCi0gICAgKCspIEZTTUMgTk9SU1JBTSBiYW5rIGV4dGVuZGVkIHRpbWluZyBjb25maWd1cmF0aW9uIHVzaW5nIHRoZSBmdW5jdGlvbiAKKyAgICAoKykgRlNNQyBOT1JTUkFNIGJhbmsgZXh0ZW5kZWQgdGltaW5nIGNvbmZpZ3VyYXRpb24gdXNpbmcgdGhlIGZ1bmN0aW9uCiAgICAgICAgIEZTTUNfTk9SU1JBTV9FeHRlbmRlZF9UaW1pbmdfSW5pdCgpCiAgICAgKCspIEZTTUMgTk9SU1JBTSBiYW5rIGVuYWJsZS9kaXNhYmxlIHdyaXRlIG9wZXJhdGlvbiB1c2luZyB0aGUgZnVuY3Rpb25zCiAgICAgICAgIEZTTUNfTk9SU1JBTV9Xcml0ZU9wZXJhdGlvbl9FbmFibGUoKS9GU01DX05PUlNSQU1fV3JpdGVPcGVyYXRpb25fRGlzYWJsZSgpCkBAIC0xMDEsMzUgKzE5MSwzOCBAQAogQGVuZHZlcmJhdGltCiAgICogQHsKICAgKi8KLSAgICAgICAKLS8qKiBAYWRkdG9ncm91cCBGU01DX0xMX05PUlNSQU1fUHJpdmF0ZV9GdW5jdGlvbnNfR3JvdXAxCi0gICogQGJyaWVmICAgIEluaXRpYWxpemF0aW9uIGFuZCBDb25maWd1cmF0aW9uIGZ1bmN0aW9ucyAKKworLyoqIEBkZWZncm91cCBGU01DX0xMX05PUlNSQU1fRXhwb3J0ZWRfRnVuY3Rpb25zX0dyb3VwMSBJbml0aWFsaXphdGlvbiBhbmQgZGUtaW5pdGlhbGl6YXRpb24gZnVuY3Rpb25zCisgICogQGJyaWVmICAgIEluaXRpYWxpemF0aW9uIGFuZCBDb25maWd1cmF0aW9uIGZ1bmN0aW9ucwogICAqCi0gIEB2ZXJiYXRpbSAgICAKKyAgQHZlcmJhdGltCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgICAgICAgICAgICAjIyMjIyBJbml0aWFsaXphdGlvbiBhbmQgZGVfaW5pdGlhbGl6YXRpb24gZnVuY3Rpb25zICMjIyMjCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotICBbLi5dICAKKyAgWy4uXQogICAgIFRoaXMgc2VjdGlvbiBwcm92aWRlcyBmdW5jdGlvbnMgYWxsb3dpbmcgdG86CiAgICAgKCspIEluaXRpYWxpemUgYW5kIGNvbmZpZ3VyZSB0aGUgRlNNQyBOT1JTUkFNIGludGVyZmFjZQotICAgICgrKSBEZS1pbml0aWFsaXplIHRoZSBGU01DIE5PUlNSQU0gaW50ZXJmYWNlIAotICAgICgrKSBDb25maWd1cmUgdGhlIEZTTUMgY2xvY2sgYW5kIGFzc29jaWF0ZWQgR1BJT3MgICAgCi0gCisgICAgKCspIERlLWluaXRpYWxpemUgdGhlIEZTTUMgTk9SU1JBTSBpbnRlcmZhY2UKKyAgICAoKykgQ29uZmlndXJlIHRoZSBGU01DIGNsb2NrIGFuZCBhc3NvY2lhdGVkIEdQSU9zCisKIEBlbmR2ZXJiYXRpbQogICAqIEB7CiAgICovCi0gIAorCiAvKioKICAgKiBAYnJpZWYgIEluaXRpYWxpemUgdGhlIEZTTUNfTk9SU1JBTSBkZXZpY2UgYWNjb3JkaW5nIHRvIHRoZSBzcGVjaWZpZWQKICAgKiAgICAgICAgIGNvbnRyb2wgcGFyYW1ldGVycyBpbiB0aGUgRlNNQ19OT1JTUkFNX0luaXRUeXBlRGVmCiAgICogQHBhcmFtICBEZXZpY2UgUG9pbnRlciB0byBOT1JTUkFNIGRldmljZSBpbnN0YW5jZQotICAqIEBwYXJhbSAgSW5pdCBQb2ludGVyIHRvIE5PUlNSQU0gSW5pdGlhbGl6YXRpb24gc3RydWN0dXJlICAgCisgICogQHBhcmFtICBJbml0IFBvaW50ZXIgdG8gTk9SU1JBTSBJbml0aWFsaXphdGlvbiBzdHJ1Y3R1cmUKICAgKiBAcmV0dmFsIEhBTCBzdGF0dXMKICAgKi8KLUhBTF9TdGF0dXNUeXBlRGVmICBGU01DX05PUlNSQU1fSW5pdChGU01DX05PUlNSQU1fVHlwZURlZiAqRGV2aWNlLCBGU01DX05PUlNSQU1fSW5pdFR5cGVEZWYqIEluaXQpCi17IAotICB1aW50MzJfdCB0bXByID0gMFU7Ci0gICAgCitIQUxfU3RhdHVzVHlwZURlZiAgRlNNQ19OT1JTUkFNX0luaXQoRlNNQ19OT1JTUkFNX1R5cGVEZWYgKkRldmljZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZTTUNfTk9SU1JBTV9Jbml0VHlwZURlZiAqSW5pdCkKK3sKKyAgdWludDMyX3QgZmxhc2hhY2Nlc3M7CisgIHVpbnQzMl90IGJ0Y3JfcmVnOworICB1aW50MzJfdCBtYXNrOworCiAgIC8qIENoZWNrIHRoZSBwYXJhbWV0ZXJzICovCiAgIGFzc2VydF9wYXJhbShJU19GU01DX05PUlNSQU1fREVWSUNFKERldmljZSkpOwogICBhc3NlcnRfcGFyYW0oSVNfRlNNQ19OT1JTUkFNX0JBTksoSW5pdC0+TlNCYW5rKSk7CkBAIC0xMzgsMTA0ICsyMzEsMTE1IEBACiAgIGFzc2VydF9wYXJhbShJU19GU01DX05PUlNSQU1fTUVNT1JZX1dJRFRIKEluaXQtPk1lbW9yeURhdGFXaWR0aCkpOwogICBhc3NlcnRfcGFyYW0oSVNfRlNNQ19CVVJTVE1PREUoSW5pdC0+QnVyc3RBY2Nlc3NNb2RlKSk7CiAgIGFzc2VydF9wYXJhbShJU19GU01DX1dBSVRfUE9MQVJJVFkoSW5pdC0+V2FpdFNpZ25hbFBvbGFyaXR5KSk7Ci0jaWYgZGVmaW5lZChTVE0zMkY0MDV4eCkgfHwgZGVmaW5lZChTVE0zMkY0MTV4eCkgfHwgZGVmaW5lZChTVE0zMkY0MDd4eCkgfHwgZGVmaW5lZChTVE0zMkY0MTd4eCkKKyNpZiBkZWZpbmVkKEZTTUNfQkNSMV9XUkFQTU9EKQogICBhc3NlcnRfcGFyYW0oSVNfRlNNQ19XUkFQX01PREUoSW5pdC0+V3JhcE1vZGUpKTsKLSNlbmRpZiAvKiBTVE0zMkY0MDV4eCB8fCBTVE0zMkY0MTV4eCB8fCBTVE0zMkY0MDd4eCB8fCBTVE0zMkY0MTd4eCAqLworI2VuZGlmIC8qIEZTTUNfQkNSMV9XUkFQTU9EICovCiAgIGFzc2VydF9wYXJhbShJU19GU01DX1dBSVRfU0lHTkFMX0FDVElWRShJbml0LT5XYWl0U2lnbmFsQWN0aXZlKSk7CiAgIGFzc2VydF9wYXJhbShJU19GU01DX1dSSVRFX09QRVJBVElPTihJbml0LT5Xcml0ZU9wZXJhdGlvbikpOwogICBhc3NlcnRfcGFyYW0oSVNfRlNNQ19XQUlURV9TSUdOQUwoSW5pdC0+V2FpdFNpZ25hbCkpOwogICBhc3NlcnRfcGFyYW0oSVNfRlNNQ19FWFRFTkRFRF9NT0RFKEluaXQtPkV4dGVuZGVkTW9kZSkpOwogICBhc3NlcnRfcGFyYW0oSVNfRlNNQ19BU1lOV0FJVChJbml0LT5Bc3luY2hyb25vdXNXYWl0KSk7CiAgIGFzc2VydF9wYXJhbShJU19GU01DX1dSSVRFX0JVUlNUKEluaXQtPldyaXRlQnVyc3QpKTsKLSAgYXNzZXJ0X3BhcmFtKElTX0ZTTUNfUEFHRVNJWkUoSW5pdC0+UGFnZVNpemUpKTsKLSNpZiBkZWZpbmVkKFNUTTMyRjQxMlp4KSB8fCBkZWZpbmVkKFNUTTMyRjQxMlZ4KSB8fCBkZWZpbmVkKFNUTTMyRjQxMlJ4KSB8fCBkZWZpbmVkKFNUTTMyRjQxM3h4KSB8fCBkZWZpbmVkKFNUTTMyRjQyM3h4KQotICBhc3NlcnRfcGFyYW0oSVNfRlNNQ19XUklURV9GSUZPKEluaXQtPldyaXRlRmlmbykpOworI2lmIGRlZmluZWQoRlNNQ19CQ1IxX0NDTEtFTikKICAgYXNzZXJ0X3BhcmFtKElTX0ZTTUNfQ09OVElOT1VTX0NMT0NLKEluaXQtPkNvbnRpbnVvdXNDbG9jaykpOwotI2VuZGlmIC8qIFNUTTMyRjQxMlp4IHx8IFNUTTMyRjQxMlZ4IHx8IFNUTTMyRjQxM3h4IHx8IFNUTTMyRjQyM3h4ICovCi0gIAotICAvKiBHZXQgdGhlIEJUQ1IgcmVnaXN0ZXIgdmFsdWUgKi8KLSAgdG1wciA9IERldmljZS0+QlRDUltJbml0LT5OU0JhbmtdOworI2VuZGlmCisjaWYgZGVmaW5lZChGU01DX0JDUjFfV0ZESVMpCisgIGFzc2VydF9wYXJhbShJU19GU01DX1dSSVRFX0ZJRk8oSW5pdC0+V3JpdGVGaWZvKSk7CisjZW5kaWYgLyogRlNNQ19CQ1IxX1dGRElTICovCisgIGFzc2VydF9wYXJhbShJU19GU01DX1BBR0VTSVpFKEluaXQtPlBhZ2VTaXplKSk7CiAKLSNpZiBkZWZpbmVkKFNUTTMyRjQwNXh4KSB8fCBkZWZpbmVkKFNUTTMyRjQxNXh4KSB8fCBkZWZpbmVkKFNUTTMyRjQwN3h4KSB8fCBkZWZpbmVkKFNUTTMyRjQxN3h4KQotICAvKiBDbGVhciBNQktFTiwgTVVYRU4sIE1UWVAsIE1XSUQsIEZBQ0NFTiwgQlVSU1RFTiwgV0FJVFBPTCwgV1JBUE1PRCwgV0FJVENGRywgV1JFTiwKLSAgICAgICAgICAgV0FJVEVOLCBFWFRNT0QsIEFTWU5DV0FJVCwgQ1BTSVpFIGFuZCBDQlVSU1RSVyBiaXRzICovCi0gIHRtcHIgJj0gKCh1aW50MzJfdCl+KEZTTUNfQkNSMV9NQktFTiAgICAgfCBGU01DX0JDUjFfTVVYRU4gICAgfCBGU01DX0JDUjFfTVRZUCAgICAgfCBcCi0gICAgICAgICAgICAgICAgICAgICAgIEZTTUNfQkNSMV9NV0lEICAgICAgfCBGU01DX0JDUjFfRkFDQ0VOICAgfCBGU01DX0JDUjFfQlVSU1RFTiAgfCBcCi0gICAgICAgICAgICAgICAgICAgICAgIEZTTUNfQkNSMV9XQUlUUE9MICAgfCBGU01DX0JDUjFfV1JBUE1PRCAgfCBGU01DX0JDUjFfV0FJVENGRyAgfCBcCi0gICAgICAgICAgICAgICAgICAgICAgIEZTTUNfQkNSMV9XUkVOICAgICAgfCBGU01DX0JDUjFfV0FJVEVOICAgfCBGU01DX0JDUjFfRVhUTU9EICAgfCBcCi0gICAgICAgICAgICAgICAgICAgICAgIEZTTUNfQkNSMV9BU1lOQ1dBSVQgfCBGU01DX0JDUjFfQ1BTSVpFICAgfCBGU01DX0JDUjFfQ0JVUlNUUlcpKTsKKyAgLyogRGlzYWJsZSBOT1JTUkFNIERldmljZSAqLworICBfX0ZTTUNfTk9SU1JBTV9ESVNBQkxFKERldmljZSwgSW5pdC0+TlNCYW5rKTsKKwogICAvKiBTZXQgTk9SU1JBTSBkZXZpY2UgY29udHJvbCBwYXJhbWV0ZXJzICovCi0gIHRtcHIgfD0gKHVpbnQzMl90KShJbml0LT5EYXRhQWRkcmVzc011eCAgICAgICB8XAotICAgICAgICAgICAgICAgICAgICAgSW5pdC0+TWVtb3J5VHlwZSAgICAgICAgICAgfFwKLSAgICAgICAgICAgICAgICAgICAgIEluaXQtPk1lbW9yeURhdGFXaWR0aCAgICAgIHxcCi0gICAgICAgICAgICAgICAgICAgICBJbml0LT5CdXJzdEFjY2Vzc01vZGUgICAgICB8XAotICAgICAgICAgICAgICAgICAgICAgSW5pdC0+V2FpdFNpZ25hbFBvbGFyaXR5ICAgfFwKLSAgICAgICAgICAgICAgICAgICAgIEluaXQtPldyYXBNb2RlICAgICAgICAgICAgIHxcCi0gICAgICAgICAgICAgICAgICAgICBJbml0LT5XYWl0U2lnbmFsQWN0aXZlICAgICB8XAotICAgICAgICAgICAgICAgICAgICAgSW5pdC0+V3JpdGVPcGVyYXRpb24gICAgICAgfFwKLSAgICAgICAgICAgICAgICAgICAgIEluaXQtPldhaXRTaWduYWwgICAgICAgICAgIHxcCi0gICAgICAgICAgICAgICAgICAgICBJbml0LT5FeHRlbmRlZE1vZGUgICAgICAgICB8XAotICAgICAgICAgICAgICAgICAgICAgSW5pdC0+QXN5bmNocm9ub3VzV2FpdCAgICAgfFwKLSAgICAgICAgICAgICAgICAgICAgIEluaXQtPlBhZ2VTaXplICAgICAgICAgICAgIHxcCi0gICAgICAgICAgICAgICAgICAgICBJbml0LT5Xcml0ZUJ1cnN0Ci0gICAgICAgICAgICAgICAgICAgICApOwotI2Vsc2UgLyogU1RNMzJGNDEyWnggfHwgU1RNMzJGNDEyVnggfHwgU1RNMzJGNDEyUnggfHwgU1RNMzJGNDEzeHggfHwgU1RNMzJGNDIzeHggKi8KLSAgLyogQ2xlYXIgTUJLRU4sIE1VWEVOLCBNVFlQLCBNV0lELCBGQUNDRU4sIEJVUlNURU4sIFdBSVRQT0wsIFdBSVRDRkcsIFdSRU4sCi0gICAgICAgICAgIFdBSVRFTiwgRVhUTU9ELCBBU1lOQ1dBSVQsQ1BTSVpFLCAgQ0JVUlNUUlcsIENDTEtFTiBhbmQgV0ZESVMgYml0cyAqLwotICB0bXByICY9ICgodWludDMyX3QpfihGU01DX0JDUjFfTUJLRU4gICAgIHwgRlNNQ19CQ1IxX01VWEVOICAgIHwgRlNNQ19CQ1IxX01UWVAgICAgICB8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgRlNNQ19CQ1IxX01XSUQgICAgICB8IEZTTUNfQkNSMV9GQUNDRU4gICB8IEZTTUNfQkNSMV9CVVJTVEVOICAgfCBcCi0gICAgICAgICAgICAgICAgICAgICAgIEZTTUNfQkNSMV9XQUlUUE9MICAgfCBGU01DX0JDUjFfV0FJVENGRyAgfCBGU01DX0JDUjFfV1JFTiAgICAgIHwgXAotICAgICAgICAgICAgICAgICAgICAgICBGU01DX0JDUjFfV0FJVEVOICAgIHwgRlNNQ19CQ1IxX0VYVE1PRCAgIHwgRlNNQ19CQ1IxX0FTWU5DV0FJVCB8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgRlNNQ19CQ1IxX0NQU0laRSAgICB8IEZTTUNfQkNSMV9DQlVSU1RSVyB8IEZTTUNfQkNSMV9DQ0xLRU4gICAgfCBcCi0gICAgICAgICAgICAgICAgICAgICAgIEZTTUNfQkNSMV9XRkRJUykpOwotICAvKiBTZXQgTk9SU1JBTSBkZXZpY2UgY29udHJvbCBwYXJhbWV0ZXJzICovCi0gIHRtcHIgfD0gKHVpbnQzMl90KShJbml0LT5EYXRhQWRkcmVzc011eCAgICAgICB8XAotICAgICAgICAgICAgICAgICAgICAgSW5pdC0+TWVtb3J5VHlwZSAgICAgICAgICAgfFwKLSAgICAgICAgICAgICAgICAgICAgIEluaXQtPk1lbW9yeURhdGFXaWR0aCAgICAgIHxcCi0gICAgICAgICAgICAgICAgICAgICBJbml0LT5CdXJzdEFjY2Vzc01vZGUgICAgICB8XAotICAgICAgICAgICAgICAgICAgICAgSW5pdC0+V2FpdFNpZ25hbFBvbGFyaXR5ICAgfFwKLSAgICAgICAgICAgICAgICAgICAgIEluaXQtPldhaXRTaWduYWxBY3RpdmUgICAgIHxcCi0gICAgICAgICAgICAgICAgICAgICBJbml0LT5Xcml0ZU9wZXJhdGlvbiAgICAgICB8XAotICAgICAgICAgICAgICAgICAgICAgSW5pdC0+V2FpdFNpZ25hbCAgICAgICAgICAgfFwKLSAgICAgICAgICAgICAgICAgICAgIEluaXQtPkV4dGVuZGVkTW9kZSAgICAgICAgIHxcCi0gICAgICAgICAgICAgICAgICAgICBJbml0LT5Bc3luY2hyb25vdXNXYWl0ICAgICB8XAotICAgICAgICAgICAgICAgICAgICAgSW5pdC0+V3JpdGVCdXJzdCAgICAgICAgICAgfFwKLSAgICAgICAgICAgICAgICAgICAgIEluaXQtPkNvbnRpbnVvdXNDbG9jayAgICAgIHxcCi0gICAgICAgICAgICAgICAgICAgICBJbml0LT5QYWdlU2l6ZSAgICAgICAgICAgICB8XAotICAgICAgICAgICAgICAgICAgICAgSW5pdC0+V3JpdGVGaWZvKTsKLSNlbmRpZiAvKiBTVE0zMkY0MDV4eCB8fCBTVE0zMkY0MTV4eCB8fCBTVE0zMkY0MDd4eCB8fCBTVE0zMkY0MTd4eCAqLyAKLSAgICAgICAgICAgIAotICBpZihJbml0LT5NZW1vcnlUeXBlID09IEZTTUNfTUVNT1JZX1RZUEVfTk9SKQorICBpZiAoSW5pdC0+TWVtb3J5VHlwZSA9PSBGU01DX01FTU9SWV9UWVBFX05PUikKICAgewotICAgIHRtcHIgfD0gKHVpbnQzMl90KUZTTUNfTk9SU1JBTV9GTEFTSF9BQ0NFU1NfRU5BQkxFOworICAgIGZsYXNoYWNjZXNzID0gRlNNQ19OT1JTUkFNX0ZMQVNIX0FDQ0VTU19FTkFCTEU7CisgIH0KKyAgZWxzZQorICB7CisgICAgZmxhc2hhY2Nlc3MgPSBGU01DX05PUlNSQU1fRkxBU0hfQUNDRVNTX0RJU0FCTEU7CiAgIH0KIAotICBEZXZpY2UtPkJUQ1JbSW5pdC0+TlNCYW5rXSA9IHRtcHI7CisgIGJ0Y3JfcmVnID0gKGZsYXNoYWNjZXNzICAgICAgICAgICAgICAgICAgIHwgXAorICAgICAgICAgICAgICBJbml0LT5EYXRhQWRkcmVzc011eCAgICAgICAgICB8IFwKKyAgICAgICAgICAgICAgSW5pdC0+TWVtb3J5VHlwZSAgICAgICAgICAgICAgfCBcCisgICAgICAgICAgICAgIEluaXQtPk1lbW9yeURhdGFXaWR0aCAgICAgICAgIHwgXAorICAgICAgICAgICAgICBJbml0LT5CdXJzdEFjY2Vzc01vZGUgICAgICAgICB8IFwKKyAgICAgICAgICAgICAgSW5pdC0+V2FpdFNpZ25hbFBvbGFyaXR5ICAgICAgfCBcCisgICAgICAgICAgICAgIEluaXQtPldhaXRTaWduYWxBY3RpdmUgICAgICAgIHwgXAorICAgICAgICAgICAgICBJbml0LT5Xcml0ZU9wZXJhdGlvbiAgICAgICAgICB8IFwKKyAgICAgICAgICAgICAgSW5pdC0+V2FpdFNpZ25hbCAgICAgICAgICAgICAgfCBcCisgICAgICAgICAgICAgIEluaXQtPkV4dGVuZGVkTW9kZSAgICAgICAgICAgIHwgXAorICAgICAgICAgICAgICBJbml0LT5Bc3luY2hyb25vdXNXYWl0ICAgICAgICB8IFwKKyAgICAgICAgICAgICAgSW5pdC0+V3JpdGVCdXJzdCk7CiAKLSNpZiBkZWZpbmVkKFNUTTMyRjQxMlp4KSB8fCBkZWZpbmVkKFNUTTMyRjQxMlZ4KSB8fCBkZWZpbmVkKFNUTTMyRjQxMlJ4KSB8fCBkZWZpbmVkKFNUTTMyRjQxM3h4KSB8fCBkZWZpbmVkKFNUTTMyRjQyM3h4KQorI2lmIGRlZmluZWQoRlNNQ19CQ1IxX1dSQVBNT0QpCisgIGJ0Y3JfcmVnIHw9IEluaXQtPldyYXBNb2RlOworI2VuZGlmIC8qIEZTTUNfQkNSMV9XUkFQTU9EICovCisjaWYgZGVmaW5lZChGU01DX0JDUjFfQ0NMS0VOKQorICBidGNyX3JlZyB8PSBJbml0LT5Db250aW51b3VzQ2xvY2s7CisjZW5kaWYgLyogRlNNQ19CQ1IxX0NDTEtFTiAqLworI2lmIGRlZmluZWQoRlNNQ19CQ1IxX1dGRElTKQorICBidGNyX3JlZyB8PSBJbml0LT5Xcml0ZUZpZm87CisjZW5kaWYgLyogRlNNQ19CQ1IxX1dGRElTICovCisgIGJ0Y3JfcmVnIHw9IEluaXQtPlBhZ2VTaXplOworCisgIG1hc2sgPSAoRlNNQ19CQ1IxX01CS0VOICAgICAgICAgICAgICAgIHwKKyAgICAgICAgICBGU01DX0JDUjFfTVVYRU4gICAgICAgICAgICAgICAgfAorICAgICAgICAgIEZTTUNfQkNSMV9NVFlQICAgICAgICAgICAgICAgICB8CisgICAgICAgICAgRlNNQ19CQ1IxX01XSUQgICAgICAgICAgICAgICAgIHwKKyAgICAgICAgICBGU01DX0JDUjFfRkFDQ0VOICAgICAgICAgICAgICAgfAorICAgICAgICAgIEZTTUNfQkNSMV9CVVJTVEVOICAgICAgICAgICAgICB8CisgICAgICAgICAgRlNNQ19CQ1IxX1dBSVRQT0wgICAgICAgICAgICAgIHwKKyAgICAgICAgICBGU01DX0JDUjFfV0FJVENGRyAgICAgICAgICAgICAgfAorICAgICAgICAgIEZTTUNfQkNSMV9XUkVOICAgICAgICAgICAgICAgICB8CisgICAgICAgICAgRlNNQ19CQ1IxX1dBSVRFTiAgICAgICAgICAgICAgIHwKKyAgICAgICAgICBGU01DX0JDUjFfRVhUTU9EICAgICAgICAgICAgICAgfAorICAgICAgICAgIEZTTUNfQkNSMV9BU1lOQ1dBSVQgICAgICAgICAgICB8CisgICAgICAgICAgRlNNQ19CQ1IxX0NCVVJTVFJXKTsKKworI2lmIGRlZmluZWQoRlNNQ19CQ1IxX1dSQVBNT0QpCisgIG1hc2sgfD0gRlNNQ19CQ1IxX1dSQVBNT0Q7CisjZW5kaWYgLyogRlNNQ19CQ1IxX1dSQVBNT0QgKi8KKyNpZiBkZWZpbmVkKEZTTUNfQkNSMV9DQ0xLRU4pCisgIG1hc2sgfD0gRlNNQ19CQ1IxX0NDTEtFTjsKKyNlbmRpZgorI2lmIGRlZmluZWQoRlNNQ19CQ1IxX1dGRElTKQorICBtYXNrIHw9IEZTTUNfQkNSMV9XRkRJUzsKKyNlbmRpZiAvKiBGU01DX0JDUjFfV0ZESVMgKi8KKyAgbWFzayB8PSBGU01DX0JDUjFfQ1BTSVpFOworCisgIE1PRElGWV9SRUcoRGV2aWNlLT5CVENSW0luaXQtPk5TQmFua10sIG1hc2ssIGJ0Y3JfcmVnKTsKKworI2lmIGRlZmluZWQoRlNNQ19CQ1IxX0NDTEtFTikKICAgLyogQ29uZmlndXJlIHN5bmNocm9ub3VzIG1vZGUgd2hlbiBDb250aW51b3VzIGNsb2NrIGlzIGVuYWJsZWQgZm9yIGJhbmsyLi40ICovCi0gIGlmKChJbml0LT5Db250aW51b3VzQ2xvY2sgPT0gRlNNQ19DT05USU5VT1VTX0NMT0NLX1NZTkNfQVNZTkMpICYmIChJbml0LT5OU0JhbmsgIT0gRlNNQ19OT1JTUkFNX0JBTksxKSkKKyAgaWYgKChJbml0LT5Db250aW51b3VzQ2xvY2sgPT0gRlNNQ19DT05USU5VT1VTX0NMT0NLX1NZTkNfQVNZTkMpICYmIChJbml0LT5OU0JhbmsgIT0gRlNNQ19OT1JTUkFNX0JBTksxKSkKICAgewotICAgIERldmljZS0+QlRDUltGU01DX05PUlNSQU1fQkFOSzFdIHw9ICh1aW50MzJfdCkoSW5pdC0+Q29udGludW91c0Nsb2NrKTsKKyAgICBNT0RJRllfUkVHKERldmljZS0+QlRDUltGU01DX05PUlNSQU1fQkFOSzFdLCBGU01DX0JDUjFfQ0NMS0VOLCBJbml0LT5Db250aW51b3VzQ2xvY2spOwogICB9CisjZW5kaWYKKyNpZiBkZWZpbmVkKEZTTUNfQkNSMV9XRkRJUykKIAotICBpZihJbml0LT5OU0JhbmsgIT0gRlNNQ19OT1JTUkFNX0JBTksxKQorICBpZiAoSW5pdC0+TlNCYW5rICE9IEZTTUNfTk9SU1JBTV9CQU5LMSkKICAgewotICAgIERldmljZS0+QlRDUltGU01DX05PUlNSQU1fQkFOSzFdIHw9ICh1aW50MzJfdCkoSW5pdC0+V3JpdGVGaWZvKTsKKyAgICAvKiBDb25maWd1cmUgV3JpdGUgRklGTyBtb2RlIHdoZW4gV3JpdGUgRmlmbyBpcyBlbmFibGVkIGZvciBiYW5rMi4uNCAqLworICAgIFNFVF9CSVQoRGV2aWNlLT5CVENSW0ZTTUNfTk9SU1JBTV9CQU5LMV0sICh1aW50MzJfdCkoSW5pdC0+V3JpdGVGaWZvKSk7CiAgIH0KLSNlbmRpZiAvKiBTVE0zMkY0MTJaeCB8fCBTVE0zMkY0MTJWeCB8fCBTVE0zMkY0MTJSeCB8fCBTVE0zMkY0MTN4eCB8fCBTVE0zMkY0MjN4eCAqLworI2VuZGlmIC8qIEZTTUNfQkNSMV9XRkRJUyAqLwogCiAgIHJldHVybiBIQUxfT0s7CiB9CiAKIC8qKgotICAqIEBicmllZiAgRGVJbml0aWFsaXplIHRoZSBGU01DX05PUlNSQU0gcGVyaXBoZXJhbCAKKyAgKiBAYnJpZWYgIERlSW5pdGlhbGl6ZSB0aGUgRlNNQ19OT1JTUkFNIHBlcmlwaGVyYWwKICAgKiBAcGFyYW0gIERldmljZSBQb2ludGVyIHRvIE5PUlNSQU0gZGV2aWNlIGluc3RhbmNlCi0gICogQHBhcmFtICBFeERldmljZSBQb2ludGVyIHRvIE5PUlNSQU0gZXh0ZW5kZWQgbW9kZSBkZXZpY2UgaW5zdGFuY2UgIAotICAqIEBwYXJhbSAgQmFuayBOT1JTUkFNIGJhbmsgbnVtYmVyICAKKyAgKiBAcGFyYW0gIEV4RGV2aWNlIFBvaW50ZXIgdG8gTk9SU1JBTSBleHRlbmRlZCBtb2RlIGRldmljZSBpbnN0YW5jZQorICAqIEBwYXJhbSAgQmFuayBOT1JTUkFNIGJhbmsgbnVtYmVyCiAgICogQHJldHZhbCBIQUwgc3RhdHVzCiAgICovCi1IQUxfU3RhdHVzVHlwZURlZiBGU01DX05PUlNSQU1fRGVJbml0KEZTTUNfTk9SU1JBTV9UeXBlRGVmICpEZXZpY2UsIEZTTUNfTk9SU1JBTV9FWFRFTkRFRF9UeXBlRGVmICpFeERldmljZSwgdWludDMyX3QgQmFuaykKK0hBTF9TdGF0dXNUeXBlRGVmIEZTTUNfTk9SU1JBTV9EZUluaXQoRlNNQ19OT1JTUkFNX1R5cGVEZWYgKkRldmljZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGU01DX05PUlNSQU1fRVhURU5ERURfVHlwZURlZiAqRXhEZXZpY2UsIHVpbnQzMl90IEJhbmspCiB7CiAgIC8qIENoZWNrIHRoZSBwYXJhbWV0ZXJzICovCiAgIGFzc2VydF9wYXJhbShJU19GU01DX05PUlNSQU1fREVWSUNFKERldmljZSkpOwpAQCAtMjQ0LDM4ICszNDgsNDAgQEAKIAogICAvKiBEaXNhYmxlIHRoZSBGU01DX05PUlNSQU0gZGV2aWNlICovCiAgIF9fRlNNQ19OT1JTUkFNX0RJU0FCTEUoRGV2aWNlLCBCYW5rKTsKLSAgCisKICAgLyogRGUtaW5pdGlhbGl6ZSB0aGUgRlNNQ19OT1JTUkFNIGRldmljZSAqLwogICAvKiBGU01DX05PUlNSQU1fQkFOSzEgKi8KLSAgaWYoQmFuayA9PSBGU01DX05PUlNSQU1fQkFOSzEpCisgIGlmIChCYW5rID09IEZTTUNfTk9SU1JBTV9CQU5LMSkKICAgewotICAgIERldmljZS0+QlRDUltCYW5rXSA9IDB4MDAwMDMwREJVOyAgICAKKyAgICBEZXZpY2UtPkJUQ1JbQmFua10gPSAweDAwMDAzMERCVTsKICAgfQogICAvKiBGU01DX05PUlNSQU1fQkFOSzIsIEZTTUNfTk9SU1JBTV9CQU5LMyBvciBGU01DX05PUlNSQU1fQkFOSzQgKi8KICAgZWxzZQotICB7ICAgCi0gICAgRGV2aWNlLT5CVENSW0JhbmtdID0gMHgwMDAwMzBEMlU7IAorICB7CisgICAgRGV2aWNlLT5CVENSW0JhbmtdID0gMHgwMDAwMzBEMlU7CiAgIH0KLSAgCisKICAgRGV2aWNlLT5CVENSW0JhbmsgKyAxVV0gPSAweDBGRkZGRkZGVTsKLSAgRXhEZXZpY2UtPkJXVFJbQmFua10gICAgPSAweDBGRkZGRkZGVTsKLSAgIAorICBFeERldmljZS0+QldUUltCYW5rXSAgID0gMHgwRkZGRkZGRlU7CisKICAgcmV0dXJuIEhBTF9PSzsKIH0KIAotCiAvKioKICAgKiBAYnJpZWYgIEluaXRpYWxpemUgdGhlIEZTTUNfTk9SU1JBTSBUaW1pbmcgYWNjb3JkaW5nIHRvIHRoZSBzcGVjaWZpZWQKICAgKiAgICAgICAgIHBhcmFtZXRlcnMgaW4gdGhlIEZTTUNfTk9SU1JBTV9UaW1pbmdUeXBlRGVmCiAgICogQHBhcmFtICBEZXZpY2UgUG9pbnRlciB0byBOT1JTUkFNIGRldmljZSBpbnN0YW5jZQogICAqIEBwYXJhbSAgVGltaW5nIFBvaW50ZXIgdG8gTk9SU1JBTSBUaW1pbmcgc3RydWN0dXJlCi0gICogQHBhcmFtICBCYW5rIE5PUlNSQU0gYmFuayBudW1iZXIgIAorICAqIEBwYXJhbSAgQmFuayBOT1JTUkFNIGJhbmsgbnVtYmVyCiAgICogQHJldHZhbCBIQUwgc3RhdHVzCiAgICovCi1IQUxfU3RhdHVzVHlwZURlZiBGU01DX05PUlNSQU1fVGltaW5nX0luaXQoRlNNQ19OT1JTUkFNX1R5cGVEZWYgKkRldmljZSwgRlNNQ19OT1JTUkFNX1RpbWluZ1R5cGVEZWYgKlRpbWluZywgdWludDMyX3QgQmFuaykKK0hBTF9TdGF0dXNUeXBlRGVmIEZTTUNfTk9SU1JBTV9UaW1pbmdfSW5pdChGU01DX05PUlNSQU1fVHlwZURlZiAqRGV2aWNlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRlNNQ19OT1JTUkFNX1RpbWluZ1R5cGVEZWYgKlRpbWluZywgdWludDMyX3QgQmFuaykKIHsKLSAgdWludDMyX3QgdG1wciA9IDBVOwotICAKKyNpZiBkZWZpbmVkKEZTTUNfQkNSMV9DQ0xLRU4pCisgIHVpbnQzMl90IHRtcHI7CisjZW5kaWYKKwogICAvKiBDaGVjayB0aGUgcGFyYW1ldGVycyAqLwogICBhc3NlcnRfcGFyYW0oSVNfRlNNQ19OT1JTUkFNX0RFVklDRShEZXZpY2UpKTsKICAgYXNzZXJ0X3BhcmFtKElTX0ZTTUNfQUREUkVTU19TRVRVUF9USU1FKFRpbWluZy0+QWRkcmVzc1NldHVwVGltZSkpOwpAQCAtMjg2LDM2ICszOTIsMjYgQEAKICAgYXNzZXJ0X3BhcmFtKElTX0ZTTUNfREFUQV9MQVRFTkNZKFRpbWluZy0+RGF0YUxhdGVuY3kpKTsKICAgYXNzZXJ0X3BhcmFtKElTX0ZTTUNfQUNDRVNTX01PREUoVGltaW5nLT5BY2Nlc3NNb2RlKSk7CiAgIGFzc2VydF9wYXJhbShJU19GU01DX05PUlNSQU1fQkFOSyhCYW5rKSk7Ci0gIAotICAvKiBHZXQgdGhlIEJUQ1IgcmVnaXN0ZXIgdmFsdWUgKi8KLSAgdG1wciA9IERldmljZS0+QlRDUltCYW5rICsgMVVdOwogCi0gIC8qIENsZWFyIEFERFNFVCwgQURESExELCBEQVRBU1QsIEJVU1RVUk4sIENMS0RJViwgREFUTEFUIGFuZCBBQ0NNT0QgYml0cyAqLwotICB0bXByICY9ICgodWludDMyX3QpfihGU01DX0JUUjFfQUREU0VUICB8IEZTTUNfQlRSMV9BRERITEQgfCBGU01DX0JUUjFfREFUQVNUIHwgXAotICAgICAgICAgICAgICAgICAgICAgICBGU01DX0JUUjFfQlVTVFVSTiB8IEZTTUNfQlRSMV9DTEtESVYgfCBGU01DX0JUUjFfREFUTEFUIHwgXAotICAgICAgICAgICAgICAgICAgICAgICBGU01DX0JUUjFfQUNDTU9EKSk7Ci0gIAotICAvKiBTZXQgRlNNQ19OT1JTUkFNIGRldmljZSB0aW1pbmcgcGFyYW1ldGVycyAqLyAgCi0gIHRtcHIgfD0gKHVpbnQzMl90KShUaW1pbmctPkFkZHJlc3NTZXR1cFRpbWUgICAgICAgICAgICAgICAgICB8XAotICAgICAgICAgICAgICAgICAgICAoKFRpbWluZy0+QWRkcmVzc0hvbGRUaW1lKSA8PCA0VSkgICAgICAgICAgfFwKLSAgICAgICAgICAgICAgICAgICAgKChUaW1pbmctPkRhdGFTZXR1cFRpbWUpIDw8IDhVKSAgICAgICAgICAgIHxcCi0gICAgICAgICAgICAgICAgICAgICgoVGltaW5nLT5CdXNUdXJuQXJvdW5kRHVyYXRpb24pIDw8IDE2VSkgICB8XAotICAgICAgICAgICAgICAgICAgICAoKChUaW1pbmctPkNMS0RpdmlzaW9uKS0xVSkgPDwgMjBVKSAgICAgICAgfFwKLSAgICAgICAgICAgICAgICAgICAgKCgoVGltaW5nLT5EYXRhTGF0ZW5jeSktMlUpIDw8IDI0VSkgICAgICAgIHxcCi0gICAgICAgICAgICAgICAgICAgIChUaW1pbmctPkFjY2Vzc01vZGUpKTsKLSAgCi0gIERldmljZS0+QlRDUltCYW5rICsgMV0gPSB0bXByOyAKKyAgLyogU2V0IEZTTUNfTk9SU1JBTSBkZXZpY2UgdGltaW5nIHBhcmFtZXRlcnMgKi8KKyAgTU9ESUZZX1JFRyhEZXZpY2UtPkJUQ1JbQmFuayArIDFVXSwgQlRSX0NMRUFSX01BU0ssIChUaW1pbmctPkFkZHJlc3NTZXR1cFRpbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoVGltaW5nLT5BZGRyZXNzSG9sZFRpbWUpICAgICAgICA8PCBGU01DX0JUUjFfQURESExEX1BvcykgIHwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKFRpbWluZy0+RGF0YVNldHVwVGltZSkgICAgICAgICAgPDwgRlNNQ19CVFIxX0RBVEFTVF9Qb3MpICB8CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChUaW1pbmctPkJ1c1R1cm5Bcm91bmREdXJhdGlvbikgIDw8IEZTTUNfQlRSMV9CVVNUVVJOX1BvcykgfAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoKFRpbWluZy0+Q0xLRGl2aXNpb24pIC0gMVUpICAgICA8PCBGU01DX0JUUjFfQ0xLRElWX1BvcykgIHwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKChUaW1pbmctPkRhdGFMYXRlbmN5KSAtIDJVKSAgICAgPDwgRlNNQ19CVFIxX0RBVExBVF9Qb3MpICB8CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKFRpbWluZy0+QWNjZXNzTW9kZSkpKTsKIAotI2lmIGRlZmluZWQoU1RNMzJGNDEyWngpIHx8IGRlZmluZWQoU1RNMzJGNDEyVngpIHx8IGRlZmluZWQoU1RNMzJGNDEyUngpIHx8IGRlZmluZWQoU1RNMzJGNDEzeHgpIHx8IGRlZmluZWQoU1RNMzJGNDIzeHgpCisjaWYgZGVmaW5lZChGU01DX0JDUjFfQ0NMS0VOKQogICAvKiBDb25maWd1cmUgQ2xvY2sgZGl2aXNpb24gdmFsdWUgKGluIE5PUlNSQU0gYmFuayAxKSB3aGVuIGNvbnRpbnVvdXMgY2xvY2sgaXMgZW5hYmxlZCAqLwotICBpZihIQUxfSVNfQklUX1NFVChEZXZpY2UtPkJUQ1JbRlNNQ19OT1JTUkFNX0JBTksxXSwgRlNNQ19CQ1IxX0NDTEtFTikpCisgIGlmIChIQUxfSVNfQklUX1NFVChEZXZpY2UtPkJUQ1JbRlNNQ19OT1JTUkFNX0JBTksxXSwgRlNNQ19CQ1IxX0NDTEtFTikpCiAgIHsKLSAgICB0bXByID0gKHVpbnQzMl90KShEZXZpY2UtPkJUQ1JbRlNNQ19OT1JTUkFNX0JBTksxICsgMVVdICYgfigweDBGVSA8PCAyMFUpKTsgCi0gICAgdG1wciB8PSAodWludDMyX3QpKCgoVGltaW5nLT5DTEtEaXZpc2lvbiktMVUpIDw8IDIwVSk7Ci0gICAgRGV2aWNlLT5CVENSW0ZTTUNfTk9SU1JBTV9CQU5LMSArIDFVXSA9IHRtcHI7CisgICAgdG1wciA9ICh1aW50MzJfdCkoRGV2aWNlLT5CVENSW0ZTTUNfTk9SU1JBTV9CQU5LMSArIDFVXSAmIH4oKDB4MEZVKSA8PCBGU01DX0JUUjFfQ0xLRElWX1BvcykpOworICAgIHRtcHIgfD0gKHVpbnQzMl90KSgoKFRpbWluZy0+Q0xLRGl2aXNpb24pIC0gMVUpIDw8IEZTTUNfQlRSMV9DTEtESVZfUG9zKTsKKyAgICBNT0RJRllfUkVHKERldmljZS0+QlRDUltGU01DX05PUlNSQU1fQkFOSzEgKyAxVV0sIEZTTUNfQlRSMV9DTEtESVYsIHRtcHIpOwogICB9Ci0jZW5kaWYgLyogU1RNMzJGNDEyWnggfHwgU1RNMzJGNDEyVnggfHwgU1RNMzJGNDEyUnggfHwgU1RNMzJGNDEzeHggfHwgU1RNMzJGNDIzeHggKi8KIAorI2VuZGlmCiAgIHJldHVybiBIQUxfT0s7CiB9CiAKQEAgLTMyNCwxOCArNDIwLDIyIEBACiAgICogICAgICAgICBwYXJhbWV0ZXJzIGluIHRoZSBGU01DX05PUlNSQU1fVGltaW5nVHlwZURlZgogICAqIEBwYXJhbSAgRGV2aWNlIFBvaW50ZXIgdG8gTk9SU1JBTSBkZXZpY2UgaW5zdGFuY2UKICAgKiBAcGFyYW0gIFRpbWluZyBQb2ludGVyIHRvIE5PUlNSQU0gVGltaW5nIHN0cnVjdHVyZQotICAqIEBwYXJhbSAgQmFuayBOT1JTUkFNIGJhbmsgbnVtYmVyICAKKyAgKiBAcGFyYW0gIEJhbmsgTk9SU1JBTSBiYW5rIG51bWJlcgorICAqIEBwYXJhbSAgRXh0ZW5kZWRNb2RlIEZTTUMgRXh0ZW5kZWQgTW9kZQorICAqICAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBvbmUgb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXM6CisgICogICAgICAgICAgICBAYXJnIEZTTUNfRVhURU5ERURfTU9ERV9ESVNBQkxFCisgICogICAgICAgICAgICBAYXJnIEZTTUNfRVhURU5ERURfTU9ERV9FTkFCTEUKICAgKiBAcmV0dmFsIEhBTCBzdGF0dXMKICAgKi8KLUhBTF9TdGF0dXNUeXBlRGVmICBGU01DX05PUlNSQU1fRXh0ZW5kZWRfVGltaW5nX0luaXQoRlNNQ19OT1JTUkFNX0VYVEVOREVEX1R5cGVEZWYgKkRldmljZSwgRlNNQ19OT1JTUkFNX1RpbWluZ1R5cGVEZWYgKlRpbWluZywgdWludDMyX3QgQmFuaywgdWludDMyX3QgRXh0ZW5kZWRNb2RlKQorSEFMX1N0YXR1c1R5cGVEZWYgRlNNQ19OT1JTUkFNX0V4dGVuZGVkX1RpbWluZ19Jbml0KEZTTUNfTk9SU1JBTV9FWFRFTkRFRF9UeXBlRGVmICpEZXZpY2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGU01DX05PUlNSQU1fVGltaW5nVHlwZURlZiAqVGltaW5nLCB1aW50MzJfdCBCYW5rLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgRXh0ZW5kZWRNb2RlKQogewotICB1aW50MzJfdCB0bXByID0gMFU7Ci0gIAogICAvKiBDaGVjayB0aGUgcGFyYW1ldGVycyAqLwogICBhc3NlcnRfcGFyYW0oSVNfRlNNQ19FWFRFTkRFRF9NT0RFKEV4dGVuZGVkTW9kZSkpOwogCiAgIC8qIFNldCBOT1JTUkFNIGRldmljZSB0aW1pbmcgcmVnaXN0ZXIgZm9yIHdyaXRlIGNvbmZpZ3VyYXRpb24sIGlmIGV4dGVuZGVkIG1vZGUgaXMgdXNlZCAqLwotICBpZihFeHRlbmRlZE1vZGUgPT0gRlNNQ19FWFRFTkRFRF9NT0RFX0VOQUJMRSkKKyAgaWYgKEV4dGVuZGVkTW9kZSA9PSBGU01DX0VYVEVOREVEX01PREVfRU5BQkxFKQogICB7CiAgICAgLyogQ2hlY2sgdGhlIHBhcmFtZXRlcnMgKi8KICAgICBhc3NlcnRfcGFyYW0oSVNfRlNNQ19OT1JTUkFNX0VYVEVOREVEX0RFVklDRShEZXZpY2UpKTsKQEAgLTM0NSwzNyArNDQ1LDI5IEBACiAgICAgYXNzZXJ0X3BhcmFtKElTX0ZTTUNfVFVSTkFST1VORF9USU1FKFRpbWluZy0+QnVzVHVybkFyb3VuZER1cmF0aW9uKSk7CiAgICAgYXNzZXJ0X3BhcmFtKElTX0ZTTUNfQUNDRVNTX01PREUoVGltaW5nLT5BY2Nlc3NNb2RlKSk7CiAgICAgYXNzZXJ0X3BhcmFtKElTX0ZTTUNfTk9SU1JBTV9CQU5LKEJhbmspKTsKLSAgCi0gICAgLyogR2V0IHRoZSBCV1RSIHJlZ2lzdGVyIHZhbHVlICovCi0gICAgdG1wciA9IERldmljZS0+QldUUltCYW5rXTsKLSAgICAKLSAgICAvKiBDbGVhciBBRERTRVQsIEFEREhMRCwgREFUQVNULCBCVVNUVVJOIGFuZCBBQ0NNT0QgYml0cyAqLwotICAgIHRtcHIgJj0gKCh1aW50MzJfdCl+KEZTTUNfQldUUjFfQUREU0VUICB8IEZTTUNfQldUUjFfQURESExEIHwgRlNNQ19CV1RSMV9EQVRBU1QgfCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgRlNNQ19CV1RSMV9CVVNUVVJOIHwgRlNNQ19CV1RSMV9BQ0NNT0QpKTsKIAotICAgIHRtcHIgfD0gKHVpbnQzMl90KShUaW1pbmctPkFkZHJlc3NTZXR1cFRpbWUgICAgICAgICAgICAgICAgICB8XAotICAgICAgICAgICAgICAgICAgICAgICgoVGltaW5nLT5BZGRyZXNzSG9sZFRpbWUpIDw8IDRVKSAgICAgICAgICB8XAotICAgICAgICAgICAgICAgICAgICAgICgoVGltaW5nLT5EYXRhU2V0dXBUaW1lKSA8PCA4VSkgICAgICAgICAgICB8XAotICAgICAgICAgICAgICAgICAgICAgICgoVGltaW5nLT5CdXNUdXJuQXJvdW5kRHVyYXRpb24pIDw8IDE2VSkgICB8XAotICAgICAgICAgICAgICAgICAgICAgIChUaW1pbmctPkFjY2Vzc01vZGUpKTsKLSAgICAKLSAgICBEZXZpY2UtPkJXVFJbQmFua10gPSB0bXByOworICAgIC8qIFNldCBOT1JTUkFNIGRldmljZSB0aW1pbmcgcmVnaXN0ZXIgZm9yIHdyaXRlIGNvbmZpZ3VyYXRpb24sIGlmIGV4dGVuZGVkIG1vZGUgaXMgdXNlZCAqLworICAgIE1PRElGWV9SRUcoRGV2aWNlLT5CV1RSW0JhbmtdLCBCV1RSX0NMRUFSX01BU0ssIChUaW1pbmctPkFkZHJlc3NTZXR1cFRpbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoVGltaW5nLT5BZGRyZXNzSG9sZFRpbWUpICAgICAgICA8PCBGU01DX0JXVFIxX0FEREhMRF9Qb3MpICB8CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoVGltaW5nLT5EYXRhU2V0dXBUaW1lKSAgICAgICAgICA8PCBGU01DX0JXVFIxX0RBVEFTVF9Qb3MpICB8CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRpbWluZy0+QWNjZXNzTW9kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChUaW1pbmctPkJ1c1R1cm5Bcm91bmREdXJhdGlvbikgIDw8IEZTTUNfQldUUjFfQlVTVFVSTl9Qb3MpKSk7CiAgIH0KLSAgZWxzZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgZWxzZQogICB7CiAgICAgRGV2aWNlLT5CV1RSW0JhbmtdID0gMHgwRkZGRkZGRlU7Ci0gIH0gICAKLSAgCi0gIHJldHVybiBIQUxfT0s7ICAKKyAgfQorCisgIHJldHVybiBIQUxfT0s7CiB9CiAvKioKICAgKiBAfQogICAqLwotICAKKwogLyoqIEBhZGR0b2dyb3VwIEZTTUNfTExfTk9SU1JBTV9Qcml2YXRlX0Z1bmN0aW9uc19Hcm91cDIKLSAgKiAgQGJyaWVmICAgbWFuYWdlbWVudCBmdW5jdGlvbnMgCisgICogIEBicmllZiAgIG1hbmFnZW1lbnQgZnVuY3Rpb25zCiAgICoKLUB2ZXJiYXRpbSAgIAorQHZlcmJhdGltCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgICAgICAgICAgICAgICAgICAgICMjIyMjIEZTTUNfTk9SU1JBTSBDb250cm9sIGZ1bmN0aW9ucyAjIyMjIwogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KQEAgLTM4NiwxMSArNDc4LDExIEBACiBAZW5kdmVyYmF0aW0KICAgKiBAewogICAqLwotICAgIAorCiAvKioKICAgKiBAYnJpZWYgIEVuYWJsZXMgZHluYW1pY2FsbHkgRlNNQ19OT1JTUkFNIHdyaXRlIG9wZXJhdGlvbi4KICAgKiBAcGFyYW0gIERldmljZSBQb2ludGVyIHRvIE5PUlNSQU0gZGV2aWNlIGluc3RhbmNlCi0gICogQHBhcmFtICBCYW5rIE5PUlNSQU0gYmFuayBudW1iZXIgICAKKyAgKiBAcGFyYW0gIEJhbmsgTk9SU1JBTSBiYW5rIG51bWJlcgogICAqIEByZXR2YWwgSEFMIHN0YXR1cwogICAqLwogSEFMX1N0YXR1c1R5cGVEZWYgRlNNQ19OT1JTUkFNX1dyaXRlT3BlcmF0aW9uX0VuYWJsZShGU01DX05PUlNSQU1fVHlwZURlZiAqRGV2aWNlLCB1aW50MzJfdCBCYW5rKQpAQCAtNDAwLDE1ICs0OTIsMTUgQEAKICAgYXNzZXJ0X3BhcmFtKElTX0ZTTUNfTk9SU1JBTV9CQU5LKEJhbmspKTsKIAogICAvKiBFbmFibGUgd3JpdGUgb3BlcmF0aW9uICovCi0gIERldmljZS0+QlRDUltCYW5rXSB8PSBGU01DX1dSSVRFX09QRVJBVElPTl9FTkFCTEU7IAorICBTRVRfQklUKERldmljZS0+QlRDUltCYW5rXSwgRlNNQ19XUklURV9PUEVSQVRJT05fRU5BQkxFKTsKIAotICByZXR1cm4gSEFMX09LOyAgCisgIHJldHVybiBIQUxfT0s7CiB9CiAKIC8qKgogICAqIEBicmllZiAgRGlzYWJsZXMgZHluYW1pY2FsbHkgRlNNQ19OT1JTUkFNIHdyaXRlIG9wZXJhdGlvbi4KICAgKiBAcGFyYW0gIERldmljZSBQb2ludGVyIHRvIE5PUlNSQU0gZGV2aWNlIGluc3RhbmNlCi0gICogQHBhcmFtICBCYW5rIE5PUlNSQU0gYmFuayBudW1iZXIgICAKKyAgKiBAcGFyYW0gIEJhbmsgTk9SU1JBTSBiYW5rIG51bWJlcgogICAqIEByZXR2YWwgSEFMIHN0YXR1cwogICAqLwogSEFMX1N0YXR1c1R5cGVEZWYgRlNNQ19OT1JTUkFNX1dyaXRlT3BlcmF0aW9uX0Rpc2FibGUoRlNNQ19OT1JTUkFNX1R5cGVEZWYgKkRldmljZSwgdWludDMyX3QgQmFuaykKQEAgLTQxNiwxMiArNTA4LDEzIEBACiAgIC8qIENoZWNrIHRoZSBwYXJhbWV0ZXJzICovCiAgIGFzc2VydF9wYXJhbShJU19GU01DX05PUlNSQU1fREVWSUNFKERldmljZSkpOwogICBhc3NlcnRfcGFyYW0oSVNfRlNNQ19OT1JTUkFNX0JBTksoQmFuaykpOwotICAKKwogICAvKiBEaXNhYmxlIHdyaXRlIG9wZXJhdGlvbiAqLwotICBEZXZpY2UtPkJUQ1JbQmFua10gJj0gfkZTTUNfV1JJVEVfT1BFUkFUSU9OX0VOQUJMRTsgCisgIENMRUFSX0JJVChEZXZpY2UtPkJUQ1JbQmFua10sIEZTTUNfV1JJVEVfT1BFUkFUSU9OX0VOQUJMRSk7CiAKLSAgcmV0dXJuIEhBTF9PSzsgIAorICByZXR1cm4gSEFMX09LOwogfQorCiAvKioKICAgKiBAfQogICAqLwpAQCAtNDI5LDUwICs1MjIsNTIgQEAKIC8qKgogICAqIEB9CiAgICovCisjZW5kaWYgLyogRlNNQ19CYW5rMSAqLwogCi0jaWYgZGVmaW5lZChTVE0zMkY0MDV4eCkgfHwgZGVmaW5lZChTVE0zMkY0MTV4eCkgfHwgZGVmaW5lZChTVE0zMkY0MDd4eCkgfHwgZGVmaW5lZChTVE0zMkY0MTd4eCkKLS8qKiBAYWRkdG9ncm91cCBGU01DX0xMX05BTkQKLSAgKiBAYnJpZWYgICAgTkFORCBDb250cm9sbGVyIGZ1bmN0aW9ucyAKKyNpZiBkZWZpbmVkKEZTTUNfQmFuazJfMykKKworLyoqIEBkZWZncm91cCBGU01DX0xMX0V4cG9ydGVkX0Z1bmN0aW9uc19OQU5EIEZTTUMgTG93IExheWVyIE5BTkQgRXhwb3J0ZWQgRnVuY3Rpb25zCisgICogQGJyaWVmICAgIE5BTkQgQ29udHJvbGxlciBmdW5jdGlvbnMKICAgKgotICBAdmVyYmF0aW0gCi0gID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAgIAorICBAdmVyYmF0aW0KKyAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAgICAgICAgICAgICAgICAgICMjIyMjIEhvdyB0byB1c2UgTkFORCBkZXZpY2UgZHJpdmVyICMjIyMjCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICBbLi5dCiAgICAgVGhpcyBkcml2ZXIgY29udGFpbnMgYSBzZXQgb2YgQVBJcyB0byBpbnRlcmZhY2Ugd2l0aCB0aGUgRlNNQyBOQU5EIGJhbmtzIGluIG9yZGVyCiAgICAgdG8gcnVuIHRoZSBOQU5EIGV4dGVybmFsIGRldmljZXMuCi0gIAotICAgICgrKSBGU01DIE5BTkQgYmFuayByZXNldCB1c2luZyB0aGUgZnVuY3Rpb24gRlNNQ19OQU5EX0RlSW5pdCgpIAorCisgICAgKCspIEZTTUMgTkFORCBiYW5rIHJlc2V0IHVzaW5nIHRoZSBmdW5jdGlvbiBGU01DX05BTkRfRGVJbml0KCkKICAgICAoKykgRlNNQyBOQU5EIGJhbmsgY29udHJvbCBjb25maWd1cmF0aW9uIHVzaW5nIHRoZSBmdW5jdGlvbiBGU01DX05BTkRfSW5pdCgpCi0gICAgKCspIEZTTUMgTkFORCBiYW5rIGNvbW1vbiBzcGFjZSB0aW1pbmcgY29uZmlndXJhdGlvbiB1c2luZyB0aGUgZnVuY3Rpb24gCisgICAgKCspIEZTTUMgTkFORCBiYW5rIGNvbW1vbiBzcGFjZSB0aW1pbmcgY29uZmlndXJhdGlvbiB1c2luZyB0aGUgZnVuY3Rpb24KICAgICAgICAgRlNNQ19OQU5EX0NvbW1vblNwYWNlX1RpbWluZ19Jbml0KCkKLSAgICAoKykgRlNNQyBOQU5EIGJhbmsgYXR0cmlidXRlIHNwYWNlIHRpbWluZyBjb25maWd1cmF0aW9uIHVzaW5nIHRoZSBmdW5jdGlvbiAKKyAgICAoKykgRlNNQyBOQU5EIGJhbmsgYXR0cmlidXRlIHNwYWNlIHRpbWluZyBjb25maWd1cmF0aW9uIHVzaW5nIHRoZSBmdW5jdGlvbgogICAgICAgICBGU01DX05BTkRfQXR0cmlidXRlU3BhY2VfVGltaW5nX0luaXQoKQogICAgICgrKSBGU01DIE5BTkQgYmFuayBlbmFibGUvZGlzYWJsZSBFQ0MgY29ycmVjdGlvbiBmZWF0dXJlIHVzaW5nIHRoZSBmdW5jdGlvbnMKICAgICAgICAgRlNNQ19OQU5EX0VDQ19FbmFibGUoKS9GU01DX05BTkRfRUNDX0Rpc2FibGUoKQotICAgICgrKSBGU01DIE5BTkQgYmFuayBnZXQgRUNDIGNvcnJlY3Rpb24gY29kZSB1c2luZyB0aGUgZnVuY3Rpb24gRlNNQ19OQU5EX0dldEVDQygpICAKKyAgICAoKykgRlNNQyBOQU5EIGJhbmsgZ2V0IEVDQyBjb3JyZWN0aW9uIGNvZGUgdXNpbmcgdGhlIGZ1bmN0aW9uIEZTTUNfTkFORF9HZXRFQ0MoKQogCiBAZW5kdmVyYmF0aW0KICAgKiBAewogICAqLwotICAgIAotLyoqIEBhZGR0b2dyb3VwIEZTTUNfTExfTkFORF9Qcml2YXRlX0Z1bmN0aW9uc19Hcm91cDEKLSAgKiAgQGJyaWVmICAgIEluaXRpYWxpemF0aW9uIGFuZCBDb25maWd1cmF0aW9uIGZ1bmN0aW9ucyAKKworLyoqIEBkZWZncm91cCBGU01DX0xMX05BTkRfRXhwb3J0ZWRfRnVuY3Rpb25zX0dyb3VwMSBJbml0aWFsaXphdGlvbiBhbmQgZGUtaW5pdGlhbGl6YXRpb24gZnVuY3Rpb25zCisgICogIEBicmllZiAgICBJbml0aWFsaXphdGlvbiBhbmQgQ29uZmlndXJhdGlvbiBmdW5jdGlvbnMKICAgKgotQHZlcmJhdGltICAgIAorQHZlcmJhdGltCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgICAgICAgICAgICAjIyMjIyBJbml0aWFsaXphdGlvbiBhbmQgZGVfaW5pdGlhbGl6YXRpb24gZnVuY3Rpb25zICMjIyMjCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotICBbLi5dICAKKyAgWy4uXQogICAgIFRoaXMgc2VjdGlvbiBwcm92aWRlcyBmdW5jdGlvbnMgYWxsb3dpbmcgdG86CiAgICAgKCspIEluaXRpYWxpemUgYW5kIGNvbmZpZ3VyZSB0aGUgRlNNQyBOQU5EIGludGVyZmFjZQotICAgICgrKSBEZS1pbml0aWFsaXplIHRoZSBGU01DIE5BTkQgaW50ZXJmYWNlIAorICAgICgrKSBEZS1pbml0aWFsaXplIHRoZSBGU01DIE5BTkQgaW50ZXJmYWNlCiAgICAgKCspIENvbmZpZ3VyZSB0aGUgRlNNQyBjbG9jayBhbmQgYXNzb2NpYXRlZCBHUElPcwotICAgICAgICAKKwogQGVuZHZlcmJhdGltCiAgICogQHsKICAgKi8KLSAgCisKIC8qKgogICAqIEBicmllZiAgSW5pdGlhbGl6ZXMgdGhlIEZTTUNfTkFORCBkZXZpY2UgYWNjb3JkaW5nIHRvIHRoZSBzcGVjaWZpZWQKICAgKiAgICAgICAgIGNvbnRyb2wgcGFyYW1ldGVycyBpbiB0aGUgRlNNQ19OQU5EX0hhbmRsZVR5cGVEZWYKQEAgLTQ4Miw1MyArNTc3LDQwIEBACiAgICovCiBIQUxfU3RhdHVzVHlwZURlZiBGU01DX05BTkRfSW5pdChGU01DX05BTkRfVHlwZURlZiAqRGV2aWNlLCBGU01DX05BTkRfSW5pdFR5cGVEZWYgKkluaXQpCiB7Ci0gIHVpbnQzMl90IHRtcHIgID0gMFU7IAotICAgIAogICAvKiBDaGVjayB0aGUgcGFyYW1ldGVycyAqLworICBhc3NlcnRfcGFyYW0oSVNfRlNNQ19OQU5EX0RFVklDRShEZXZpY2UpKTsKICAgYXNzZXJ0X3BhcmFtKElTX0ZTTUNfTkFORF9CQU5LKEluaXQtPk5hbmRCYW5rKSk7CiAgIGFzc2VydF9wYXJhbShJU19GU01DX1dBSVRfRkVBVFVSRShJbml0LT5XYWl0ZmVhdHVyZSkpOwogICBhc3NlcnRfcGFyYW0oSVNfRlNNQ19OQU5EX01FTU9SWV9XSURUSChJbml0LT5NZW1vcnlEYXRhV2lkdGgpKTsKICAgYXNzZXJ0X3BhcmFtKElTX0ZTTUNfRUNDX1NUQVRFKEluaXQtPkVjY0NvbXB1dGF0aW9uKSk7CiAgIGFzc2VydF9wYXJhbShJU19GU01DX0VDQ1BBR0VfU0laRShJbml0LT5FQ0NQYWdlU2l6ZSkpOwogICBhc3NlcnRfcGFyYW0oSVNfRlNNQ19UQ0xSX1RJTUUoSW5pdC0+VENMUlNldHVwVGltZSkpOwotICBhc3NlcnRfcGFyYW0oSVNfRlNNQ19UQVJfVElNRShJbml0LT5UQVJTZXR1cFRpbWUpKTsgICAKKyAgYXNzZXJ0X3BhcmFtKElTX0ZTTUNfVEFSX1RJTUUoSW5pdC0+VEFSU2V0dXBUaW1lKSk7CiAKLSAgICBpZihJbml0LT5OYW5kQmFuayA9PSBGU01DX05BTkRfQkFOSzIpCi0gIHsKLSAgICAvKiBHZXQgdGhlIE5BTkQgYmFuayAyIHJlZ2lzdGVyIHZhbHVlICovCi0gICAgdG1wciA9IERldmljZS0+UENSMjsKLSAgfQotICBlbHNlCi0gIHsKLSAgICAvKiBHZXQgdGhlIE5BTkQgYmFuayAzIHJlZ2lzdGVyIHZhbHVlICovCi0gICAgdG1wciA9IERldmljZS0+UENSMzsKLSAgfQotICAKLSAgLyogQ2xlYXIgUFdBSVRFTiwgUEJLRU4sIFBUWVAsIFBXSUQsIEVDQ0VOLCBUQ0xSLCBUQVIgYW5kIEVDQ1BTIGJpdHMgKi8KLSAgdG1wciAmPSAoKHVpbnQzMl90KX4oRlNNQ19QQ1IyX1BXQUlURU4gIHwgRlNNQ19QQ1IyX1BCS0VOIHwgRlNNQ19QQ1IyX1BUWVAgfCBcCi0gICAgICAgICAgICAgICAgICAgICAgIEZTTUNfUENSMl9QV0lEIHwgRlNNQ19QQ1IyX0VDQ0VOIHwgRlNNQ19QQ1IyX1RDTFIgfCBcCi0gICAgICAgICAgICAgICAgICAgICAgIEZTTUNfUENSMl9UQVIgfCBGU01DX1BDUjJfRUNDUFMpKTsgIAotICAKICAgLyogU2V0IE5BTkQgZGV2aWNlIGNvbnRyb2wgcGFyYW1ldGVycyAqLwotICB0bXByIHw9ICh1aW50MzJfdCkoSW5pdC0+V2FpdGZlYXR1cmUgICAgICAgICAgICAgICAgfFwKLSAgICAgICAgICAgICAgICAgICAgIEZTTUNfUENSX01FTU9SWV9UWVBFX05BTkQgICAgICAgIHxcCi0gICAgICAgICAgICAgICAgICAgICBJbml0LT5NZW1vcnlEYXRhV2lkdGggICAgICAgICAgICB8XAotICAgICAgICAgICAgICAgICAgICAgSW5pdC0+RWNjQ29tcHV0YXRpb24gICAgICAgICAgICAgfFwKLSAgICAgICAgICAgICAgICAgICAgIEluaXQtPkVDQ1BhZ2VTaXplICAgICAgICAgICAgICAgIHxcCi0gICAgICAgICAgICAgICAgICAgICAoKEluaXQtPlRDTFJTZXR1cFRpbWUpIDw8IDlVKSAgICB8XAotICAgICAgICAgICAgICAgICAgICAgKChJbml0LT5UQVJTZXR1cFRpbWUpIDw8IDEzVSkpOyAgIAotICAKLSAgaWYoSW5pdC0+TmFuZEJhbmsgPT0gRlNNQ19OQU5EX0JBTksyKQorICBpZiAoSW5pdC0+TmFuZEJhbmsgPT0gRlNNQ19OQU5EX0JBTksyKQogICB7CiAgICAgLyogTkFORCBiYW5rIDIgcmVnaXN0ZXJzIGNvbmZpZ3VyYXRpb24gKi8KLSAgICBEZXZpY2UtPlBDUjIgID0gdG1wcjsKKyAgICBNT0RJRllfUkVHKERldmljZS0+UENSMiwgUENSX0NMRUFSX01BU0ssIChJbml0LT5XYWl0ZmVhdHVyZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZTTUNfUENSX01FTU9SWV9UWVBFX05BTkQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEluaXQtPk1lbW9yeURhdGFXaWR0aCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSW5pdC0+RWNjQ29tcHV0YXRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJbml0LT5FQ0NQYWdlU2l6ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoSW5pdC0+VENMUlNldHVwVGltZSkgPDwgRlNNQ19QQ1IyX1RDTFJfUG9zKSB8CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJbml0LT5UQVJTZXR1cFRpbWUpICA8PCBGU01DX1BDUjJfVEFSX1BvcykpKTsKICAgfQogICBlbHNlCiAgIHsKICAgICAvKiBOQU5EIGJhbmsgMyByZWdpc3RlcnMgY29uZmlndXJhdGlvbiAqLwotICAgIERldmljZS0+UENSMyAgPSB0bXByOworICAgIE1PRElGWV9SRUcoRGV2aWNlLT5QQ1IzLCBQQ1JfQ0xFQVJfTUFTSywgKEluaXQtPldhaXRmZWF0dXJlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRlNNQ19QQ1JfTUVNT1JZX1RZUEVfTkFORCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSW5pdC0+TWVtb3J5RGF0YVdpZHRoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJbml0LT5FY2NDb21wdXRhdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEluaXQtPkVDQ1BhZ2VTaXplICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJbml0LT5UQ0xSU2V0dXBUaW1lKSA8PCBGU01DX1BDUjJfVENMUl9Qb3MpICB8CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChJbml0LT5UQVJTZXR1cFRpbWUpICA8PCBGU01DX1BDUjJfVEFSX1BvcykpKTsKICAgfQotICAKKwogICByZXR1cm4gSEFMX09LOwogfQogCkBAIC01MzcsNTMgKzYxOSwzOSBAQAogICAqICAgICAgICAgcGFyYW1ldGVycyBpbiB0aGUgRlNNQ19OQU5EX1BDQ19UaW1pbmdUeXBlRGVmCiAgICogQHBhcmFtICBEZXZpY2UgUG9pbnRlciB0byBOQU5EIGRldmljZSBpbnN0YW5jZQogICAqIEBwYXJhbSAgVGltaW5nIFBvaW50ZXIgdG8gTkFORCB0aW1pbmcgc3RydWN0dXJlCi0gICogQHBhcmFtICBCYW5rIE5BTkQgYmFuayBudW1iZXIgICAKKyAgKiBAcGFyYW0gIEJhbmsgTkFORCBiYW5rIG51bWJlcgogICAqIEByZXR2YWwgSEFMIHN0YXR1cwogICAqLwotSEFMX1N0YXR1c1R5cGVEZWYgRlNNQ19OQU5EX0NvbW1vblNwYWNlX1RpbWluZ19Jbml0KEZTTUNfTkFORF9UeXBlRGVmICpEZXZpY2UsIEZTTUNfTkFORF9QQ0NfVGltaW5nVHlwZURlZiAqVGltaW5nLCB1aW50MzJfdCBCYW5rKQorSEFMX1N0YXR1c1R5cGVEZWYgRlNNQ19OQU5EX0NvbW1vblNwYWNlX1RpbWluZ19Jbml0KEZTTUNfTkFORF9UeXBlRGVmICpEZXZpY2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGU01DX05BTkRfUENDX1RpbWluZ1R5cGVEZWYgKlRpbWluZywgdWludDMyX3QgQmFuaykKIHsKLSAgdWludDMyX3QgdG1wciA9IDBVOyAgCi0gIAogICAvKiBDaGVjayB0aGUgcGFyYW1ldGVycyAqLworICBhc3NlcnRfcGFyYW0oSVNfRlNNQ19OQU5EX0RFVklDRShEZXZpY2UpKTsKICAgYXNzZXJ0X3BhcmFtKElTX0ZTTUNfU0VUVVBfVElNRShUaW1pbmctPlNldHVwVGltZSkpOwogICBhc3NlcnRfcGFyYW0oSVNfRlNNQ19XQUlUX1RJTUUoVGltaW5nLT5XYWl0U2V0dXBUaW1lKSk7CiAgIGFzc2VydF9wYXJhbShJU19GU01DX0hPTERfVElNRShUaW1pbmctPkhvbGRTZXR1cFRpbWUpKTsKICAgYXNzZXJ0X3BhcmFtKElTX0ZTTUNfSElaX1RJTUUoVGltaW5nLT5IaVpTZXR1cFRpbWUpKTsKLSAgCi0gIGlmKEJhbmsgPT0gRlNNQ19OQU5EX0JBTksyKQotICB7Ci0gICAgLyogR2V0IHRoZSBOQU5EIGJhbmsgMiByZWdpc3RlciB2YWx1ZSAqLwotICAgIHRtcHIgPSBEZXZpY2UtPlBNRU0yOwotICB9Ci0gIGVsc2UKLSAgewotICAgIC8qIEdldCB0aGUgTkFORCBiYW5rIDMgcmVnaXN0ZXIgdmFsdWUgKi8KLSAgICB0bXByID0gRGV2aWNlLT5QTUVNMzsKLSAgfSAKLSAgCi0gIC8qIENsZWFyIE1FTVNFVHgsIE1FTVdBSVR4LCBNRU1IT0xEeCBhbmQgTUVNSElaeCBiaXRzICovCi0gIHRtcHIgJj0gKCh1aW50MzJfdCl+KEZTTUNfUE1FTTJfTUVNU0VUMiAgfCBGU01DX1BNRU0yX01FTVdBSVQyIHwgRlNNQ19QTUVNMl9NRU1IT0xEMiB8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgRlNNQ19QTUVNMl9NRU1ISVoyKSk7Ci0gIAorICBhc3NlcnRfcGFyYW0oSVNfRlNNQ19OQU5EX0JBTksoQmFuaykpOworCiAgIC8qIFNldCBGU01DX05BTkQgZGV2aWNlIHRpbWluZyBwYXJhbWV0ZXJzICovCi0gIHRtcHIgfD0gKHVpbnQzMl90KShUaW1pbmctPlNldHVwVGltZSAgICAgICAgICAgICAgICAgICAgIHxcCi0gICAgICAgICAgICAgICAgICAgICAgICgoVGltaW5nLT5XYWl0U2V0dXBUaW1lKSA8PCA4VSkgICAgIHxcCi0gICAgICAgICAgICAgICAgICAgICAgICgoVGltaW5nLT5Ib2xkU2V0dXBUaW1lKSA8PCAxNlUpICAgIHxcCi0gICAgICAgICAgICAgICAgICAgICAgICgoVGltaW5nLT5IaVpTZXR1cFRpbWUpIDw8IDI0VSkKLSAgICAgICAgICAgICAgICAgICAgICAgKTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAKLSAgaWYoQmFuayA9PSBGU01DX05BTkRfQkFOSzIpCisgIGlmIChCYW5rID09IEZTTUNfTkFORF9CQU5LMikKICAgewogICAgIC8qIE5BTkQgYmFuayAyIHJlZ2lzdGVycyBjb25maWd1cmF0aW9uICovCi0gICAgRGV2aWNlLT5QTUVNMiA9IHRtcHI7CisgICAgTU9ESUZZX1JFRyhEZXZpY2UtPlBNRU0yLCBQTUVNX0NMRUFSX01BU0ssIChUaW1pbmctPlNldHVwVGltZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoVGltaW5nLT5XYWl0U2V0dXBUaW1lKSA8PCBGU01DX1BNRU0yX01FTVdBSVQyX1BvcykgfAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChUaW1pbmctPkhvbGRTZXR1cFRpbWUpIDw8IEZTTUNfUE1FTTJfTUVNSE9MRDJfUG9zKSB8CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKFRpbWluZy0+SGlaU2V0dXBUaW1lKSAgPDwgRlNNQ19QTUVNMl9NRU1ISVoyX1BvcykpKTsKICAgfQogICBlbHNlCiAgIHsKICAgICAvKiBOQU5EIGJhbmsgMyByZWdpc3RlcnMgY29uZmlndXJhdGlvbiAqLwotICAgIERldmljZS0+UE1FTTMgPSB0bXByOwotICB9ICAKLSAgCi0gIHJldHVybiBIQUxfT0s7ICAKKyAgICBNT0RJRllfUkVHKERldmljZS0+UE1FTTMsIFBNRU1fQ0xFQVJfTUFTSywgKFRpbWluZy0+U2V0dXBUaW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChUaW1pbmctPldhaXRTZXR1cFRpbWUpIDw8IEZTTUNfUE1FTTJfTUVNV0FJVDJfUG9zKSB8CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKFRpbWluZy0+SG9sZFNldHVwVGltZSkgPDwgRlNNQ19QTUVNMl9NRU1IT0xEMl9Qb3MpIHwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoVGltaW5nLT5IaVpTZXR1cFRpbWUpICA8PCBGU01DX1BNRU0yX01FTUhJWjJfUG9zKSkpOworICB9CisKKyAgcmV0dXJuIEhBTF9PSzsKIH0KIAogLyoqCkBAIC01OTEsOTUgKzY1OSw4NiBAQAogICAqICAgICAgICAgcGFyYW1ldGVycyBpbiB0aGUgRlNNQ19OQU5EX1BDQ19UaW1pbmdUeXBlRGVmCiAgICogQHBhcmFtICBEZXZpY2UgUG9pbnRlciB0byBOQU5EIGRldmljZSBpbnN0YW5jZQogICAqIEBwYXJhbSAgVGltaW5nIFBvaW50ZXIgdG8gTkFORCB0aW1pbmcgc3RydWN0dXJlCi0gICogQHBhcmFtICBCYW5rIE5BTkQgYmFuayBudW1iZXIgCisgICogQHBhcmFtICBCYW5rIE5BTkQgYmFuayBudW1iZXIKICAgKiBAcmV0dmFsIEhBTCBzdGF0dXMKICAgKi8KLUhBTF9TdGF0dXNUeXBlRGVmIEZTTUNfTkFORF9BdHRyaWJ1dGVTcGFjZV9UaW1pbmdfSW5pdChGU01DX05BTkRfVHlwZURlZiAqRGV2aWNlLCBGU01DX05BTkRfUENDX1RpbWluZ1R5cGVEZWYgKlRpbWluZywgdWludDMyX3QgQmFuaykKK0hBTF9TdGF0dXNUeXBlRGVmIEZTTUNfTkFORF9BdHRyaWJ1dGVTcGFjZV9UaW1pbmdfSW5pdChGU01DX05BTkRfVHlwZURlZiAqRGV2aWNlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRlNNQ19OQU5EX1BDQ19UaW1pbmdUeXBlRGVmICpUaW1pbmcsIHVpbnQzMl90IEJhbmspCiB7Ci0gIHVpbnQzMl90IHRtcHIgPSAwVTsgIAotICAKLSAgLyogQ2hlY2sgdGhlIHBhcmFtZXRlcnMgKi8gIAorICAvKiBDaGVjayB0aGUgcGFyYW1ldGVycyAqLworICBhc3NlcnRfcGFyYW0oSVNfRlNNQ19OQU5EX0RFVklDRShEZXZpY2UpKTsKICAgYXNzZXJ0X3BhcmFtKElTX0ZTTUNfU0VUVVBfVElNRShUaW1pbmctPlNldHVwVGltZSkpOwogICBhc3NlcnRfcGFyYW0oSVNfRlNNQ19XQUlUX1RJTUUoVGltaW5nLT5XYWl0U2V0dXBUaW1lKSk7CiAgIGFzc2VydF9wYXJhbShJU19GU01DX0hPTERfVElNRShUaW1pbmctPkhvbGRTZXR1cFRpbWUpKTsKICAgYXNzZXJ0X3BhcmFtKElTX0ZTTUNfSElaX1RJTUUoVGltaW5nLT5IaVpTZXR1cFRpbWUpKTsKLSAgCi0gIGlmKEJhbmsgPT0gRlNNQ19OQU5EX0JBTksyKQotICB7Ci0gICAgLyogR2V0IHRoZSBOQU5EIGJhbmsgMiByZWdpc3RlciB2YWx1ZSAqLwotICAgIHRtcHIgPSBEZXZpY2UtPlBBVFQyOwotICB9Ci0gIGVsc2UKLSAgewotICAgIC8qIEdldCB0aGUgTkFORCBiYW5rIDMgcmVnaXN0ZXIgdmFsdWUgKi8KLSAgICB0bXByID0gRGV2aWNlLT5QQVRUMzsKLSAgfSAKLSAgCi0gIC8qIENsZWFyIEFUVFNFVHgsIEFUVFdBSVR4LCBBVFRIT0xEeCBhbmQgQVRUSElaeCBiaXRzICovCi0gIHRtcHIgJj0gKCh1aW50MzJfdCl+KEZTTUNfUEFUVDJfQVRUU0VUMiAgfCBGU01DX1BBVFQyX0FUVFdBSVQyIHwgRlNNQ19QQVRUMl9BVFRIT0xEMiB8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgRlNNQ19QQVRUMl9BVFRISVoyKSk7Ci0gIAorICBhc3NlcnRfcGFyYW0oSVNfRlNNQ19OQU5EX0JBTksoQmFuaykpOworCiAgIC8qIFNldCBGU01DX05BTkQgZGV2aWNlIHRpbWluZyBwYXJhbWV0ZXJzICovCi0gIHRtcHIgfD0gKHVpbnQzMl90KShUaW1pbmctPlNldHVwVGltZSAgICAgICAgICAgICAgICAgICAgIHxcCi0gICAgICAgICAgICAgICAgICAgICAgICgoVGltaW5nLT5XYWl0U2V0dXBUaW1lKSA8PCA4VSkgICAgIHxcCi0gICAgICAgICAgICAgICAgICAgICAgICgoVGltaW5nLT5Ib2xkU2V0dXBUaW1lKSA8PCAxNlUpICAgIHxcCi0gICAgICAgICAgICAgICAgICAgICAgICgoVGltaW5nLT5IaVpTZXR1cFRpbWUpIDw8IDI0VSkKLSAgICAgICAgICAgICAgICAgICAgICAgKTsKLSAgICAgICAgICAgICAgICAgICAgICAgCi0gIGlmKEJhbmsgPT0gRlNNQ19OQU5EX0JBTksyKQorICBpZiAoQmFuayA9PSBGU01DX05BTkRfQkFOSzIpCiAgIHsKICAgICAvKiBOQU5EIGJhbmsgMiByZWdpc3RlcnMgY29uZmlndXJhdGlvbiAqLwotICAgIERldmljZS0+UEFUVDIgPSB0bXByOworICAgIE1PRElGWV9SRUcoRGV2aWNlLT5QQVRUMiwgUEFUVF9DTEVBUl9NQVNLLCAoVGltaW5nLT5TZXR1cFRpbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKFRpbWluZy0+V2FpdFNldHVwVGltZSkgPDwgRlNNQ19QQVRUMl9BVFRXQUlUMl9Qb3MpIHwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoVGltaW5nLT5Ib2xkU2V0dXBUaW1lKSA8PCBGU01DX1BBVFQyX0FUVEhPTEQyX1BvcykgfAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChUaW1pbmctPkhpWlNldHVwVGltZSkgIDw8IEZTTUNfUEFUVDJfQVRUSElaMl9Qb3MpKSk7CiAgIH0KICAgZWxzZQogICB7CiAgICAgLyogTkFORCBiYW5rIDMgcmVnaXN0ZXJzIGNvbmZpZ3VyYXRpb24gKi8KLSAgICBEZXZpY2UtPlBBVFQzID0gdG1wcjsKLSAgfSAgIAotICAKKyAgICBNT0RJRllfUkVHKERldmljZS0+UEFUVDMsIFBBVFRfQ0xFQVJfTUFTSywgKFRpbWluZy0+U2V0dXBUaW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChUaW1pbmctPldhaXRTZXR1cFRpbWUpIDw8IEZTTUNfUEFUVDJfQVRUV0FJVDJfUG9zKSB8CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKFRpbWluZy0+SG9sZFNldHVwVGltZSkgPDwgRlNNQ19QQVRUMl9BVFRIT0xEMl9Qb3MpIHwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoVGltaW5nLT5IaVpTZXR1cFRpbWUpICA8PCBGU01DX1BBVFQyX0FUVEhJWjJfUG9zKSkpOworICB9CisKICAgcmV0dXJuIEhBTF9PSzsKIH0KIAogLyoqCi0gICogQGJyaWVmICBEZUluaXRpYWxpemVzIHRoZSBGU01DX05BTkQgZGV2aWNlIAorICAqIEBicmllZiAgRGVJbml0aWFsaXplcyB0aGUgRlNNQ19OQU5EIGRldmljZQogICAqIEBwYXJhbSAgRGV2aWNlIFBvaW50ZXIgdG8gTkFORCBkZXZpY2UgaW5zdGFuY2UKICAgKiBAcGFyYW0gIEJhbmsgTkFORCBiYW5rIG51bWJlcgogICAqIEByZXR2YWwgSEFMIHN0YXR1cwogICAqLwogSEFMX1N0YXR1c1R5cGVEZWYgRlNNQ19OQU5EX0RlSW5pdChGU01DX05BTkRfVHlwZURlZiAqRGV2aWNlLCB1aW50MzJfdCBCYW5rKQogeworICAvKiBDaGVjayB0aGUgcGFyYW1ldGVycyAqLworICBhc3NlcnRfcGFyYW0oSVNfRlNNQ19OQU5EX0RFVklDRShEZXZpY2UpKTsKKyAgYXNzZXJ0X3BhcmFtKElTX0ZTTUNfTkFORF9CQU5LKEJhbmspKTsKKwogICAvKiBEaXNhYmxlIHRoZSBOQU5EIEJhbmsgKi8KICAgX19GU01DX05BTkRfRElTQUJMRShEZXZpY2UsIEJhbmspOwotIAorCiAgIC8qIERlLWluaXRpYWxpemUgdGhlIE5BTkQgQmFuayAqLwotICBpZihCYW5rID09IEZTTUNfTkFORF9CQU5LMikKKyAgaWYgKEJhbmsgPT0gRlNNQ19OQU5EX0JBTksyKQogICB7CiAgICAgLyogU2V0IHRoZSBGU01DX05BTkRfQkFOSzIgcmVnaXN0ZXJzIHRvIHRoZWlyIHJlc2V0IHZhbHVlcyAqLwotICAgIERldmljZS0+UENSMiAgPSAweDAwMDAwMDE4VTsKLSAgICBEZXZpY2UtPlNSMiAgID0gMHgwMDAwMDA0MFU7Ci0gICAgRGV2aWNlLT5QTUVNMiA9IDB4RkNGQ0ZDRkNVOwotICAgIERldmljZS0+UEFUVDIgPSAweEZDRkNGQ0ZDVTsgIAorICAgIFdSSVRFX1JFRyhEZXZpY2UtPlBDUjIsICAweDAwMDAwMDE4VSk7CisgICAgV1JJVEVfUkVHKERldmljZS0+U1IyLCAgIDB4MDAwMDAwNDBVKTsKKyAgICBXUklURV9SRUcoRGV2aWNlLT5QTUVNMiwgMHhGQ0ZDRkNGQ1UpOworICAgIFdSSVRFX1JFRyhEZXZpY2UtPlBBVFQyLCAweEZDRkNGQ0ZDVSk7CiAgIH0KLSAgLyogRlNNQ19CYW5rM19OQU5EICovICAKKyAgLyogRlNNQ19CYW5rM19OQU5EICovCiAgIGVsc2UKICAgewogICAgIC8qIFNldCB0aGUgRlNNQ19OQU5EX0JBTkszIHJlZ2lzdGVycyB0byB0aGVpciByZXNldCB2YWx1ZXMgKi8KLSAgICBEZXZpY2UtPlBDUjMgID0gMHgwMDAwMDAxOFU7Ci0gICAgRGV2aWNlLT5TUjMgICA9IDB4MDAwMDAwNDBVOwotICAgIERldmljZS0+UE1FTTMgPSAweEZDRkNGQ0ZDVTsKLSAgICBEZXZpY2UtPlBBVFQzID0gMHhGQ0ZDRkNGQ1U7IAorICAgIFdSSVRFX1JFRyhEZXZpY2UtPlBDUjMsICAweDAwMDAwMDE4VSk7CisgICAgV1JJVEVfUkVHKERldmljZS0+U1IzLCAgIDB4MDAwMDAwNDBVKTsKKyAgICBXUklURV9SRUcoRGV2aWNlLT5QTUVNMywgMHhGQ0ZDRkNGQ1UpOworICAgIFdSSVRFX1JFRyhEZXZpY2UtPlBBVFQzLCAweEZDRkNGQ0ZDVSk7CiAgIH0KLSAgCisKICAgcmV0dXJuIEhBTF9PSzsKIH0KKwogLyoqCiAgICogQH0KICAgKi8KLSAgCi0vKiogQGFkZHRvZ3JvdXAgRlNNQ19MTF9OQU5EX1ByaXZhdGVfRnVuY3Rpb25zX0dyb3VwMgotICAqICBAYnJpZWYgICBtYW5hZ2VtZW50IGZ1bmN0aW9ucyAKKworLyoqIEBkZWZncm91cCBIQUxfRlNNQ19OQU5EX0dyb3VwMiBQZXJpcGhlcmFsIENvbnRyb2wgZnVuY3Rpb25zCisgICogIEBicmllZiAgIG1hbmFnZW1lbnQgZnVuY3Rpb25zCiAgICoKLUB2ZXJiYXRpbSAgIAorQHZlcmJhdGltCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgICAgICAgICAgICAgICAgICAgICAjIyMjIyBGU01DX05BTkQgQ29udHJvbCBmdW5jdGlvbnMgIyMjIyMKICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkBAIC02ODksNDggKzc0OCw1OCBAQAogCiBAZW5kdmVyYmF0aW0KICAgKiBAewotICAqLyAKLSAgICAKKyAgKi8KKworCiAvKioKICAgKiBAYnJpZWYgIEVuYWJsZXMgZHluYW1pY2FsbHkgRlNNQ19OQU5EIEVDQyBmZWF0dXJlLgogICAqIEBwYXJhbSAgRGV2aWNlIFBvaW50ZXIgdG8gTkFORCBkZXZpY2UgaW5zdGFuY2UKICAgKiBAcGFyYW0gIEJhbmsgTkFORCBiYW5rIG51bWJlcgogICAqIEByZXR2YWwgSEFMIHN0YXR1cwotICAqLyAgICAKLUhBTF9TdGF0dXNUeXBlRGVmICBGU01DX05BTkRfRUNDX0VuYWJsZShGU01DX05BTkRfVHlwZURlZiAqRGV2aWNlLCB1aW50MzJfdCBCYW5rKQorICAqLworSEFMX1N0YXR1c1R5cGVEZWYgRlNNQ19OQU5EX0VDQ19FbmFibGUoRlNNQ19OQU5EX1R5cGVEZWYgKkRldmljZSwgdWludDMyX3QgQmFuaykKIHsKKyAgLyogQ2hlY2sgdGhlIHBhcmFtZXRlcnMgKi8KKyAgYXNzZXJ0X3BhcmFtKElTX0ZTTUNfTkFORF9ERVZJQ0UoRGV2aWNlKSk7CisgIGFzc2VydF9wYXJhbShJU19GU01DX05BTkRfQkFOSyhCYW5rKSk7CisKICAgLyogRW5hYmxlIEVDQyBmZWF0dXJlICovCi0gIGlmKEJhbmsgPT0gRlNNQ19OQU5EX0JBTksyKQorICBpZiAoQmFuayA9PSBGU01DX05BTkRfQkFOSzIpCiAgIHsKLSAgICBEZXZpY2UtPlBDUjIgfD0gRlNNQ19QQ1IyX0VDQ0VOOworICAgIFNFVF9CSVQoRGV2aWNlLT5QQ1IyLCBGU01DX1BDUjJfRUNDRU4pOwogICB9CiAgIGVsc2UKICAgewotICAgIERldmljZS0+UENSMyB8PSBGU01DX1BDUjNfRUNDRU47Ci0gIH0gCi0gIAotICByZXR1cm4gSEFMX09LOyAgCisgICAgU0VUX0JJVChEZXZpY2UtPlBDUjMsIEZTTUNfUENSMl9FQ0NFTik7CisgIH0KKworICByZXR1cm4gSEFMX09LOwogfQogCisKIC8qKgogICAqIEBicmllZiAgRGlzYWJsZXMgZHluYW1pY2FsbHkgRlNNQ19OQU5EIEVDQyBmZWF0dXJlLgogICAqIEBwYXJhbSAgRGV2aWNlIFBvaW50ZXIgdG8gTkFORCBkZXZpY2UgaW5zdGFuY2UKICAgKiBAcGFyYW0gIEJhbmsgTkFORCBiYW5rIG51bWJlcgogICAqIEByZXR2YWwgSEFMIHN0YXR1cwotICAqLyAgCi1IQUxfU3RhdHVzVHlwZURlZiBGU01DX05BTkRfRUNDX0Rpc2FibGUoRlNNQ19OQU5EX1R5cGVEZWYgKkRldmljZSwgdWludDMyX3QgQmFuaykgIAoteyAgCisgICovCitIQUxfU3RhdHVzVHlwZURlZiBGU01DX05BTkRfRUNDX0Rpc2FibGUoRlNNQ19OQU5EX1R5cGVEZWYgKkRldmljZSwgdWludDMyX3QgQmFuaykKK3sKKyAgLyogQ2hlY2sgdGhlIHBhcmFtZXRlcnMgKi8KKyAgYXNzZXJ0X3BhcmFtKElTX0ZTTUNfTkFORF9ERVZJQ0UoRGV2aWNlKSk7CisgIGFzc2VydF9wYXJhbShJU19GU01DX05BTkRfQkFOSyhCYW5rKSk7CisKICAgLyogRGlzYWJsZSBFQ0MgZmVhdHVyZSAqLwotICBpZihCYW5rID09IEZTTUNfTkFORF9CQU5LMikKKyAgaWYgKEJhbmsgPT0gRlNNQ19OQU5EX0JBTksyKQogICB7Ci0gICAgRGV2aWNlLT5QQ1IyICY9IH5GU01DX1BDUjJfRUNDRU47CisgICAgQ0xFQVJfQklUKERldmljZS0+UENSMiwgRlNNQ19QQ1IyX0VDQ0VOKTsKICAgfQogICBlbHNlCiAgIHsKLSAgICBEZXZpY2UtPlBDUjMgJj0gfkZTTUNfUENSM19FQ0NFTjsKLSAgfSAKKyAgICBDTEVBUl9CSVQoRGV2aWNlLT5QQ1IzLCBGU01DX1BDUjJfRUNDRU4pOworICB9CiAKLSAgcmV0dXJuIEhBTF9PSzsgIAorICByZXR1cm4gSEFMX09LOwogfQogCiAvKioKQEAgLTczOCwxMjcgKzgwNywxMjUgQEAKICAgKiBAcGFyYW0gIERldmljZSBQb2ludGVyIHRvIE5BTkQgZGV2aWNlIGluc3RhbmNlCiAgICogQHBhcmFtICBFQ0N2YWwgUG9pbnRlciB0byBFQ0MgdmFsdWUKICAgKiBAcGFyYW0gIEJhbmsgTkFORCBiYW5rIG51bWJlcgotICAqIEBwYXJhbSAgVGltZW91dCBUaW1lb3V0IHdhaXQgdmFsdWUgIAorICAqIEBwYXJhbSAgVGltZW91dCBUaW1lb3V0IHdhaXQgdmFsdWUKICAgKiBAcmV0dmFsIEhBTCBzdGF0dXMKICAgKi8KLUhBTF9TdGF0dXNUeXBlRGVmIEZTTUNfTkFORF9HZXRFQ0MoRlNNQ19OQU5EX1R5cGVEZWYgKkRldmljZSwgdWludDMyX3QgKkVDQ3ZhbCwgdWludDMyX3QgQmFuaywgdWludDMyX3QgVGltZW91dCkKK0hBTF9TdGF0dXNUeXBlRGVmIEZTTUNfTkFORF9HZXRFQ0MoRlNNQ19OQU5EX1R5cGVEZWYgKkRldmljZSwgdWludDMyX3QgKkVDQ3ZhbCwgdWludDMyX3QgQmFuaywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBUaW1lb3V0KQogewotICB1aW50MzJfdCB0aWNrc3RhcnQgPSAwVTsKLSAgCi0gIC8qIENoZWNrIHRoZSBwYXJhbWV0ZXJzICovIAotICBhc3NlcnRfcGFyYW0oSVNfRlNNQ19OQU5EX0RFVklDRShEZXZpY2UpKTsgCisgIHVpbnQzMl90IHRpY2tzdGFydDsKKworICAvKiBDaGVjayB0aGUgcGFyYW1ldGVycyAqLworICBhc3NlcnRfcGFyYW0oSVNfRlNNQ19OQU5EX0RFVklDRShEZXZpY2UpKTsKICAgYXNzZXJ0X3BhcmFtKElTX0ZTTUNfTkFORF9CQU5LKEJhbmspKTsKIAotICAvKiBHZXQgdGljayAqLyAKKyAgLyogR2V0IHRpY2sgKi8KICAgdGlja3N0YXJ0ID0gSEFMX0dldFRpY2soKTsKIAogICAvKiBXYWl0IHVudGlsIEZJRk8gaXMgZW1wdHkgKi8KLSAgd2hpbGUoX19GU01DX05BTkRfR0VUX0ZMQUcoRGV2aWNlLCBCYW5rLCBGU01DX0ZMQUdfRkVNUFQpID09IFJFU0VUKQorICB3aGlsZSAoX19GU01DX05BTkRfR0VUX0ZMQUcoRGV2aWNlLCBCYW5rLCBGU01DX0ZMQUdfRkVNUFQpID09IFJFU0VUKQogICB7CiAgICAgLyogQ2hlY2sgZm9yIHRoZSBUaW1lb3V0ICovCi0gICAgaWYoVGltZW91dCAhPSBIQUxfTUFYX0RFTEFZKQorICAgIGlmIChUaW1lb3V0ICE9IEhBTF9NQVhfREVMQVkpCiAgICAgewotICAgICAgaWYoKFRpbWVvdXQgPT0gMFUpfHwoKEhBTF9HZXRUaWNrKCkgLSB0aWNrc3RhcnQgKSA+IFRpbWVvdXQpKQorICAgICAgaWYgKCgoSEFMX0dldFRpY2soKSAtIHRpY2tzdGFydCkgPiBUaW1lb3V0KSB8fCAoVGltZW91dCA9PSAwVSkpCiAgICAgICB7CiAgICAgICAgIHJldHVybiBIQUxfVElNRU9VVDsKICAgICAgIH0KLSAgICB9ICAgCisgICAgfQogICB9Ci0gICAgIAotICBpZihCYW5rID09IEZTTUNfTkFORF9CQU5LMikKLSAgeyAgICAKKworICBpZiAoQmFuayA9PSBGU01DX05BTkRfQkFOSzIpCisgIHsKICAgICAvKiBHZXQgdGhlIEVDQ1IyIHJlZ2lzdGVyIHZhbHVlICovCiAgICAgKkVDQ3ZhbCA9ICh1aW50MzJfdClEZXZpY2UtPkVDQ1IyOwogICB9CiAgIGVsc2UKLSAgeyAgICAKKyAgewogICAgIC8qIEdldCB0aGUgRUNDUjMgcmVnaXN0ZXIgdmFsdWUgKi8KICAgICAqRUNDdmFsID0gKHVpbnQzMl90KURldmljZS0+RUNDUjM7CiAgIH0KIAotICByZXR1cm4gSEFMX09LOyAgCisgIHJldHVybiBIQUxfT0s7CiB9CiAKIC8qKgogICAqIEB9CiAgICovCi0gIAotLyoqCi0gICogQH0KLSAgKi8KLSAgICAKKyNlbmRpZiAvKiBGU01DX0JhbmsyXzMgKi8KKworI2lmIGRlZmluZWQoRlNNQ19CYW5rNCkKKwogLyoqIEBhZGR0b2dyb3VwIEZTTUNfTExfUENDQVJECi0gICogQGJyaWVmICAgIFBDQ0FSRCBDb250cm9sbGVyIGZ1bmN0aW9ucyAKKyAgKiBAYnJpZWYgICAgUENDQVJEIENvbnRyb2xsZXIgZnVuY3Rpb25zCiAgICoKLSAgQHZlcmJhdGltIAorICBAdmVyYmF0aW0KICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAgICAgICAgICAgICAgICAgICMjIyMjIEhvdyB0byB1c2UgUENDQVJEIGRldmljZSBkcml2ZXIgIyMjIyMKICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgIFsuLl0KICAgICBUaGlzIGRyaXZlciBjb250YWlucyBhIHNldCBvZiBBUElzIHRvIGludGVyZmFjZSB3aXRoIHRoZSBGU01DIFBDQ0FSRCBiYW5rIGluIG9yZGVyCiAgICAgdG8gcnVuIHRoZSBQQ0NBUkQvY29tcGFjdCBmbGFzaCBleHRlcm5hbCBkZXZpY2VzLgotICAKLSAgICAoKykgRlNNQyBQQ0NBUkQgYmFuayByZXNldCB1c2luZyB0aGUgZnVuY3Rpb24gRlNNQ19QQ0NBUkRfRGVJbml0KCkgCisKKyAgICAoKykgRlNNQyBQQ0NBUkQgYmFuayByZXNldCB1c2luZyB0aGUgZnVuY3Rpb24gRlNNQ19QQ0NBUkRfRGVJbml0KCkKICAgICAoKykgRlNNQyBQQ0NBUkQgYmFuayBjb250cm9sIGNvbmZpZ3VyYXRpb24gdXNpbmcgdGhlIGZ1bmN0aW9uIEZTTUNfUENDQVJEX0luaXQoKQotICAgICgrKSBGU01DIFBDQ0FSRCBiYW5rIGNvbW1vbiBzcGFjZSB0aW1pbmcgY29uZmlndXJhdGlvbiB1c2luZyB0aGUgZnVuY3Rpb24gCisgICAgKCspIEZTTUMgUENDQVJEIGJhbmsgY29tbW9uIHNwYWNlIHRpbWluZyBjb25maWd1cmF0aW9uIHVzaW5nIHRoZSBmdW5jdGlvbgogICAgICAgICBGU01DX1BDQ0FSRF9Db21tb25TcGFjZV9UaW1pbmdfSW5pdCgpCi0gICAgKCspIEZTTUMgUENDQVJEIGJhbmsgYXR0cmlidXRlIHNwYWNlIHRpbWluZyBjb25maWd1cmF0aW9uIHVzaW5nIHRoZSBmdW5jdGlvbiAKKyAgICAoKykgRlNNQyBQQ0NBUkQgYmFuayBhdHRyaWJ1dGUgc3BhY2UgdGltaW5nIGNvbmZpZ3VyYXRpb24gdXNpbmcgdGhlIGZ1bmN0aW9uCiAgICAgICAgIEZTTUNfUENDQVJEX0F0dHJpYnV0ZVNwYWNlX1RpbWluZ19Jbml0KCkKLSAgICAoKykgRlNNQyBQQ0NBUkQgYmFuayBJTyBzcGFjZSB0aW1pbmcgY29uZmlndXJhdGlvbiB1c2luZyB0aGUgZnVuY3Rpb24gCisgICAgKCspIEZTTUMgUENDQVJEIGJhbmsgSU8gc3BhY2UgdGltaW5nIGNvbmZpZ3VyYXRpb24gdXNpbmcgdGhlIGZ1bmN0aW9uCiAgICAgICAgIEZTTUNfUENDQVJEX0lPU3BhY2VfVGltaW5nX0luaXQoKQotICAgICAgIAogQGVuZHZlcmJhdGltCiAgICogQHsKICAgKi8KLSAgCisKIC8qKiBAYWRkdG9ncm91cCBGU01DX0xMX1BDQ0FSRF9Qcml2YXRlX0Z1bmN0aW9uc19Hcm91cDEKLSAgKiAgQGJyaWVmICAgSW5pdGlhbGl6YXRpb24gYW5kIENvbmZpZ3VyYXRpb24gZnVuY3Rpb25zIAorICAqICBAYnJpZWYgICAgSW5pdGlhbGl6YXRpb24gYW5kIENvbmZpZ3VyYXRpb24gZnVuY3Rpb25zCiAgICoKLUB2ZXJiYXRpbSAgICAKK0B2ZXJiYXRpbQogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgICAgICAgICAgICAgIyMjIyMgSW5pdGlhbGl6YXRpb24gYW5kIGRlX2luaXRpYWxpemF0aW9uIGZ1bmN0aW9ucyAjIyMjIwogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLSAgWy4uXSAgCisgIFsuLl0KICAgICBUaGlzIHNlY3Rpb24gcHJvdmlkZXMgZnVuY3Rpb25zIGFsbG93aW5nIHRvOgogICAgICgrKSBJbml0aWFsaXplIGFuZCBjb25maWd1cmUgdGhlIEZTTUMgUENDQVJEIGludGVyZmFjZQotICAgICgrKSBEZS1pbml0aWFsaXplIHRoZSBGU01DIFBDQ0FSRCBpbnRlcmZhY2UgCisgICAgKCspIERlLWluaXRpYWxpemUgdGhlIEZTTUMgUENDQVJEIGludGVyZmFjZQogICAgICgrKSBDb25maWd1cmUgdGhlIEZTTUMgY2xvY2sgYW5kIGFzc29jaWF0ZWQgR1BJT3MKLSAgICAgICAgCisKIEBlbmR2ZXJiYXRpbQogICAqIEB7CiAgICovCi0gIAorCiAvKioKICAgKiBAYnJpZWYgIEluaXRpYWxpemVzIHRoZSBGU01DX1BDQ0FSRCBkZXZpY2UgYWNjb3JkaW5nIHRvIHRoZSBzcGVjaWZpZWQKICAgKiAgICAgICAgIGNvbnRyb2wgcGFyYW1ldGVycyBpbiB0aGUgRlNNQ19QQ0NBUkRfSGFuZGxlVHlwZURlZgogICAqIEBwYXJhbSAgRGV2aWNlIFBvaW50ZXIgdG8gUENDQVJEIGRldmljZSBpbnN0YW5jZQotICAqIEBwYXJhbSAgSW5pdCBQb2ludGVyIHRvIFBDQ0FSRCBJbml0aWFsaXphdGlvbiBzdHJ1Y3R1cmUgICAKKyAgKiBAcGFyYW0gIEluaXQgUG9pbnRlciB0byBQQ0NBUkQgSW5pdGlhbGl6YXRpb24gc3RydWN0dXJlCiAgICogQHJldHZhbCBIQUwgc3RhdHVzCiAgICovCiBIQUxfU3RhdHVzVHlwZURlZiBGU01DX1BDQ0FSRF9Jbml0KEZTTUNfUENDQVJEX1R5cGVEZWYgKkRldmljZSwgRlNNQ19QQ0NBUkRfSW5pdFR5cGVEZWYgKkluaXQpCiB7Ci0gIHVpbnQzMl90IHRtcHIgPSAwVTsKLSAgCi0gIC8qIENoZWNrIHRoZSBwYXJhbWV0ZXJzICovIAorICAvKiBDaGVjayB0aGUgcGFyYW1ldGVycyAqLworICBhc3NlcnRfcGFyYW0oSVNfRlNNQ19QQ0NBUkRfREVWSUNFKERldmljZSkpOworI2lmIGRlZmluZWQoRlNNQ19CYW5rMl8zKQogICBhc3NlcnRfcGFyYW0oSVNfRlNNQ19XQUlUX0ZFQVRVUkUoSW5pdC0+V2FpdGZlYXR1cmUpKTsKICAgYXNzZXJ0X3BhcmFtKElTX0ZTTUNfVENMUl9USU1FKEluaXQtPlRDTFJTZXR1cFRpbWUpKTsKLSAgYXNzZXJ0X3BhcmFtKElTX0ZTTUNfVEFSX1RJTUUoSW5pdC0+VEFSU2V0dXBUaW1lKSk7ICAgICAKLSAgCi0gIC8qIEdldCBQQ0NBUkQgY29udHJvbCByZWdpc3RlciB2YWx1ZSAqLwotICB0bXByID0gRGV2aWNlLT5QQ1I0OwotICAKLSAgLyogQ2xlYXIgVEFSLCBUQ0xSLCBQV0FJVEVOIGFuZCBQV0lEIGJpdHMgKi8KLSAgdG1wciAmPSAoKHVpbnQzMl90KX4oRlNNQ19QQ1I0X1RBUiAgfCBGU01DX1BDUjRfVENMUiB8IEZTTUNfUENSNF9QV0FJVEVOIHwgXAotICAgICAgICAgICAgICAgICAgICAgICBGU01DX1BDUjRfUFdJRCB8IEZTTUNfUENSNF9QVFlQKSk7Ci0gIAorICBhc3NlcnRfcGFyYW0oSVNfRlNNQ19UQVJfVElNRShJbml0LT5UQVJTZXR1cFRpbWUpKTsKKyNlbmRpZiAvKiBGU01DX0JhbmsyXzMgKi8KKwogICAvKiBTZXQgRlNNQ19QQ0NBUkQgZGV2aWNlIGNvbnRyb2wgcGFyYW1ldGVycyAqLwotICB0bXByIHw9ICh1aW50MzJfdCkoSW5pdC0+V2FpdGZlYXR1cmUgICAgICAgICAgICAgICB8XAotICAgICAgICAgICAgICAgICAgICAgRlNNQ19OQU5EX1BDQ19NRU1fQlVTX1dJRFRIXzE2ICB8XAotICAgICAgICAgICAgICAgICAgICAgKEluaXQtPlRDTFJTZXR1cFRpbWUgPDwgOVUpICAgICB8XAotICAgICAgICAgICAgICAgICAgICAgKEluaXQtPlRBUlNldHVwVGltZSA8PCAxM1UpKTsKLSAgCi0gIERldmljZS0+UENSNCA9IHRtcHI7Ci0gIAorICBNT0RJRllfUkVHKERldmljZS0+UENSNCwKKyAgICAgICAgICAgICAoRlNNQ19QQ1I0X1BUWVAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CisgICAgICAgICAgICAgIEZTTUNfUENSNF9QV0FJVEVOICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorICAgICAgICAgICAgICBGU01DX1BDUjRfUFdJRCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAgICAgICAgICAgICAgRlNNQ19QQ1I0X1RDTFIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CisgICAgICAgICAgICAgIEZTTUNfUENSNF9UQVIpLAorICAgICAgICAgICAgIChGU01DX1BDUl9NRU1PUllfVFlQRV9QQ0NBUkQgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAgICAgICAgICAgICAgSW5pdC0+V2FpdGZlYXR1cmUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAgICAgICAgICAgICAgRlNNQ19OQU5EX1BDQ19NRU1fQlVTX1dJRFRIXzE2ICAgICAgICAgICAgICAgICAgICAgICAgICB8CisgICAgICAgICAgICAgIChJbml0LT5UQ0xSU2V0dXBUaW1lIDw8IEZTTUNfUENSNF9UQ0xSX1BvcykgICB8CisgICAgICAgICAgICAgIChJbml0LT5UQVJTZXR1cFRpbWUgIDw8IEZTTUNfUENSNF9UQVJfUG9zKSkpOworCiAgIHJldHVybiBIQUxfT0s7CiB9CiAKQEAgLTg2Niw2NyArOTMzLDU3IEBACiAgICogQGJyaWVmICBJbml0aWFsaXplcyB0aGUgRlNNQ19QQ0NBUkQgQ29tbW9uIHNwYWNlIFRpbWluZyBhY2NvcmRpbmcgdG8gdGhlIHNwZWNpZmllZAogICAqICAgICAgICAgcGFyYW1ldGVycyBpbiB0aGUgRlNNQ19OQU5EX1BDQ19UaW1pbmdUeXBlRGVmCiAgICogQHBhcmFtICBEZXZpY2UgUG9pbnRlciB0byBQQ0NBUkQgZGV2aWNlIGluc3RhbmNlCi0gICogQHBhcmFtICBUaW1pbmcgUG9pbnRlciB0byBQQ0NBUkQgdGltaW5nIHN0cnVjdHVyZSAKKyAgKiBAcGFyYW0gIFRpbWluZyBQb2ludGVyIHRvIFBDQ0FSRCB0aW1pbmcgc3RydWN0dXJlCiAgICogQHJldHZhbCBIQUwgc3RhdHVzCiAgICovCi1IQUxfU3RhdHVzVHlwZURlZiBGU01DX1BDQ0FSRF9Db21tb25TcGFjZV9UaW1pbmdfSW5pdChGU01DX1BDQ0FSRF9UeXBlRGVmICpEZXZpY2UsIEZTTUNfTkFORF9QQ0NfVGltaW5nVHlwZURlZiAqVGltaW5nKQorSEFMX1N0YXR1c1R5cGVEZWYgRlNNQ19QQ0NBUkRfQ29tbW9uU3BhY2VfVGltaW5nX0luaXQoRlNNQ19QQ0NBUkRfVHlwZURlZiAqRGV2aWNlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGU01DX05BTkRfUENDX1RpbWluZ1R5cGVEZWYgKlRpbWluZykKIHsKLSAgdWludDMyX3QgdG1wciA9IDBVOwotICAKICAgLyogQ2hlY2sgdGhlIHBhcmFtZXRlcnMgKi8KKyAgYXNzZXJ0X3BhcmFtKElTX0ZTTUNfUENDQVJEX0RFVklDRShEZXZpY2UpKTsKKyNpZiBkZWZpbmVkKEZTTUNfQmFuazJfMykKICAgYXNzZXJ0X3BhcmFtKElTX0ZTTUNfU0VUVVBfVElNRShUaW1pbmctPlNldHVwVGltZSkpOwogICBhc3NlcnRfcGFyYW0oSVNfRlNNQ19XQUlUX1RJTUUoVGltaW5nLT5XYWl0U2V0dXBUaW1lKSk7CiAgIGFzc2VydF9wYXJhbShJU19GU01DX0hPTERfVElNRShUaW1pbmctPkhvbGRTZXR1cFRpbWUpKTsKICAgYXNzZXJ0X3BhcmFtKElTX0ZTTUNfSElaX1RJTUUoVGltaW5nLT5IaVpTZXR1cFRpbWUpKTsKKyNlbmRpZiAvKiBGU01DX0JhbmsyXzMgKi8KIAotICAvKiBHZXQgUENDQVJEIGNvbW1vbiBzcGFjZSB0aW1pbmcgcmVnaXN0ZXIgdmFsdWUgKi8KLSAgdG1wciA9IERldmljZS0+UE1FTTQ7Ci0gIAotICAvKiBDbGVhciBNRU1TRVR4LCBNRU1XQUlUeCwgTUVNSE9MRHggYW5kIE1FTUhJWnggYml0cyAqLwotICB0bXByICY9ICgodWludDMyX3QpfihGU01DX1BNRU00X01FTVNFVDQgIHwgRlNNQ19QTUVNNF9NRU1XQUlUNCB8IEZTTUNfUE1FTTRfTUVNSE9MRDQgfCBcCi0gICAgICAgICAgICAgICAgICAgICAgIEZTTUNfUE1FTTRfTUVNSElaNCkpOwogICAvKiBTZXQgUENDQVJEIHRpbWluZyBwYXJhbWV0ZXJzICovCi0gIHRtcHIgfD0gKHVpbnQzMl90KSgoVGltaW5nLT5TZXR1cFRpbWUgICAgICAgICAgICAgICAgIHxcCi0gICAgICAgICAgICAgICAgICAgICgoVGltaW5nLT5XYWl0U2V0dXBUaW1lKSA8PCA4VSkgICAgIHxcCi0gICAgICAgICAgICAgICAgICAgIChUaW1pbmctPkhvbGRTZXR1cFRpbWUpIDw8IDE2VSkgICAgIHxcCi0gICAgICAgICAgICAgICAgICAgICgoVGltaW5nLT5IaVpTZXR1cFRpbWUpIDw8IDI0VSkpOwotICAKLSAgRGV2aWNlLT5QTUVNNCA9IHRtcHI7Ci0gIAotICByZXR1cm4gSEFMX09LOyAgCisgIE1PRElGWV9SRUcoRGV2aWNlLT5QTUVNNCwgUE1FTTRfQ0xFQVJfTUFTSywKKyAgICAgICAgICAgICAoVGltaW5nLT5TZXR1cFRpbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorICAgICAgICAgICAgICAoKFRpbWluZy0+V2FpdFNldHVwVGltZSkgPDwgRlNNQ19QTUVNNF9NRU1XQUlUNF9Qb3MpICB8CisgICAgICAgICAgICAgICgoVGltaW5nLT5Ib2xkU2V0dXBUaW1lKSA8PCBGU01DX1BNRU00X01FTUhPTEQ0X1BvcykgIHwKKyAgICAgICAgICAgICAgKChUaW1pbmctPkhpWlNldHVwVGltZSkgIDw8IEZTTUNfUE1FTTRfTUVNSElaNF9Qb3MpKSk7CisKKyAgcmV0dXJuIEhBTF9PSzsKIH0KIAogLyoqCiAgICogQGJyaWVmICBJbml0aWFsaXplcyB0aGUgRlNNQ19QQ0NBUkQgQXR0cmlidXRlIHNwYWNlIFRpbWluZyBhY2NvcmRpbmcgdG8gdGhlIHNwZWNpZmllZAogICAqICAgICAgICAgcGFyYW1ldGVycyBpbiB0aGUgRlNNQ19OQU5EX1BDQ19UaW1pbmdUeXBlRGVmCiAgICogQHBhcmFtICBEZXZpY2UgUG9pbnRlciB0byBQQ0NBUkQgZGV2aWNlIGluc3RhbmNlCi0gICogQHBhcmFtICBUaW1pbmcgUG9pbnRlciB0byBQQ0NBUkQgdGltaW5nIHN0cnVjdHVyZSAgCisgICogQHBhcmFtICBUaW1pbmcgUG9pbnRlciB0byBQQ0NBUkQgdGltaW5nIHN0cnVjdHVyZQogICAqIEByZXR2YWwgSEFMIHN0YXR1cwogICAqLwotSEFMX1N0YXR1c1R5cGVEZWYgRlNNQ19QQ0NBUkRfQXR0cmlidXRlU3BhY2VfVGltaW5nX0luaXQoRlNNQ19QQ0NBUkRfVHlwZURlZiAqRGV2aWNlLCBGU01DX05BTkRfUENDX1RpbWluZ1R5cGVEZWYgKlRpbWluZykKK0hBTF9TdGF0dXNUeXBlRGVmIEZTTUNfUENDQVJEX0F0dHJpYnV0ZVNwYWNlX1RpbWluZ19Jbml0KEZTTUNfUENDQVJEX1R5cGVEZWYgKkRldmljZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRlNNQ19OQU5EX1BDQ19UaW1pbmdUeXBlRGVmICpUaW1pbmcpCiB7Ci0gIHVpbnQzMl90IHRtcHIgPSAwVTsKLQotICAvKiBDaGVjayB0aGUgcGFyYW1ldGVycyAqLyAgCisgIC8qIENoZWNrIHRoZSBwYXJhbWV0ZXJzICovCisgIGFzc2VydF9wYXJhbShJU19GU01DX1BDQ0FSRF9ERVZJQ0UoRGV2aWNlKSk7CisjaWYgZGVmaW5lZChGU01DX0JhbmsyXzMpCiAgIGFzc2VydF9wYXJhbShJU19GU01DX1NFVFVQX1RJTUUoVGltaW5nLT5TZXR1cFRpbWUpKTsKICAgYXNzZXJ0X3BhcmFtKElTX0ZTTUNfV0FJVF9USU1FKFRpbWluZy0+V2FpdFNldHVwVGltZSkpOwogICBhc3NlcnRfcGFyYW0oSVNfRlNNQ19IT0xEX1RJTUUoVGltaW5nLT5Ib2xkU2V0dXBUaW1lKSk7CiAgIGFzc2VydF9wYXJhbShJU19GU01DX0hJWl9USU1FKFRpbWluZy0+SGlaU2V0dXBUaW1lKSk7CisjZW5kaWYgLyogRlNNQ19CYW5rMl8zICovCiAKLSAgLyogR2V0IFBDQ0FSRCB0aW1pbmcgcGFyYW1ldGVycyAqLwotICB0bXByID0gRGV2aWNlLT5QQVRUNDsKLQotICAvKiBDbGVhciBBVFRTRVR4LCBBVFRXQUlUeCwgQVRUSE9MRHggYW5kIEFUVEhJWnggYml0cyAqLwotICB0bXByICY9ICgodWludDMyX3QpfihGU01DX1BBVFQ0X0FUVFNFVDQgIHwgRlNNQ19QQVRUNF9BVFRXQUlUNCB8IEZTTUNfUEFUVDRfQVRUSE9MRDQgfCBcCi0gICAgICAgICAgICAgICAgICAgICAgIEZTTUNfUEFUVDRfQVRUSElaNCkpOwotICAKICAgLyogU2V0IFBDQ0FSRCB0aW1pbmcgcGFyYW1ldGVycyAqLwotICB0bXByIHw9ICh1aW50MzJfdCkoVGltaW5nLT5TZXR1cFRpbWUgICAgICAgICAgICAgICAgIHxcCi0gICAgICAgICAgICAgICAgICAgKChUaW1pbmctPldhaXRTZXR1cFRpbWUpIDw8IDhVKSAgICAgfFwKLSAgICAgICAgICAgICAgICAgICAoKFRpbWluZy0+SG9sZFNldHVwVGltZSkgPDwgMTZVKSAgICB8XAotICAgICAgICAgICAgICAgICAgICgoVGltaW5nLT5IaVpTZXR1cFRpbWUpIDw8IDI0VSkpOwotICBEZXZpY2UtPlBBVFQ0ID0gdG1wcjsgCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgIE1PRElGWV9SRUcoRGV2aWNlLT5QQVRUNCwgUEFUVDRfQ0xFQVJfTUFTSywKKyAgICAgICAgICAgICAoVGltaW5nLT5TZXR1cFRpbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorICAgICAgICAgICAgICAoKFRpbWluZy0+V2FpdFNldHVwVGltZSkgPDwgRlNNQ19QQVRUNF9BVFRXQUlUNF9Qb3MpICB8CisgICAgICAgICAgICAgICgoVGltaW5nLT5Ib2xkU2V0dXBUaW1lKSA8PCBGU01DX1BBVFQ0X0FUVEhPTEQ0X1BvcykgIHwKKyAgICAgICAgICAgICAgKChUaW1pbmctPkhpWlNldHVwVGltZSkgIDw8IEZTTUNfUEFUVDRfQVRUSElaNF9Qb3MpKSk7CisKICAgcmV0dXJuIEhBTF9PSzsKIH0KIApAQCAtOTM0LDcwICs5OTEsNTkgQEAKICAgKiBAYnJpZWYgIEluaXRpYWxpemVzIHRoZSBGU01DX1BDQ0FSRCBJTyBzcGFjZSBUaW1pbmcgYWNjb3JkaW5nIHRvIHRoZSBzcGVjaWZpZWQKICAgKiAgICAgICAgIHBhcmFtZXRlcnMgaW4gdGhlIEZTTUNfTkFORF9QQ0NfVGltaW5nVHlwZURlZgogICAqIEBwYXJhbSAgRGV2aWNlIFBvaW50ZXIgdG8gUENDQVJEIGRldmljZSBpbnN0YW5jZQotICAqIEBwYXJhbSAgVGltaW5nIFBvaW50ZXIgdG8gUENDQVJEIHRpbWluZyBzdHJ1Y3R1cmUgIAorICAqIEBwYXJhbSAgVGltaW5nIFBvaW50ZXIgdG8gUENDQVJEIHRpbWluZyBzdHJ1Y3R1cmUKICAgKiBAcmV0dmFsIEhBTCBzdGF0dXMKICAgKi8KLUhBTF9TdGF0dXNUeXBlRGVmIEZTTUNfUENDQVJEX0lPU3BhY2VfVGltaW5nX0luaXQoRlNNQ19QQ0NBUkRfVHlwZURlZiAqRGV2aWNlLCBGU01DX05BTkRfUENDX1RpbWluZ1R5cGVEZWYgKlRpbWluZykKK0hBTF9TdGF0dXNUeXBlRGVmIEZTTUNfUENDQVJEX0lPU3BhY2VfVGltaW5nX0luaXQoRlNNQ19QQ0NBUkRfVHlwZURlZiAqRGV2aWNlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZTTUNfTkFORF9QQ0NfVGltaW5nVHlwZURlZiAqVGltaW5nKQogewotICB1aW50MzJfdCB0bXByID0gMFU7Ci0gIAotICAvKiBDaGVjayB0aGUgcGFyYW1ldGVycyAqLyAgCisgIC8qIENoZWNrIHRoZSBwYXJhbWV0ZXJzICovCisgIGFzc2VydF9wYXJhbShJU19GU01DX1BDQ0FSRF9ERVZJQ0UoRGV2aWNlKSk7CisjaWYgZGVmaW5lZChGU01DX0JhbmsyXzMpCiAgIGFzc2VydF9wYXJhbShJU19GU01DX1NFVFVQX1RJTUUoVGltaW5nLT5TZXR1cFRpbWUpKTsKICAgYXNzZXJ0X3BhcmFtKElTX0ZTTUNfV0FJVF9USU1FKFRpbWluZy0+V2FpdFNldHVwVGltZSkpOwogICBhc3NlcnRfcGFyYW0oSVNfRlNNQ19IT0xEX1RJTUUoVGltaW5nLT5Ib2xkU2V0dXBUaW1lKSk7CiAgIGFzc2VydF9wYXJhbShJU19GU01DX0hJWl9USU1FKFRpbWluZy0+SGlaU2V0dXBUaW1lKSk7CisjZW5kaWYgLyogRlNNQ19CYW5rMl8zICovCiAKLSAgLyogR2V0IEZTTUNfUENDQVJEIGRldmljZSB0aW1pbmcgcGFyYW1ldGVycyAqLwotICB0bXByID0gRGV2aWNlLT5QSU80OwotCi0gIC8qIENsZWFyIElPU0VUNCwgSU9XQUlUNCwgSU9IT0xENCBhbmQgSU9ISVo0IGJpdHMgKi8KLSAgdG1wciAmPSAoKHVpbnQzMl90KX4oRlNNQ19QSU80X0lPU0VUNCAgfCBGU01DX1BJTzRfSU9XQUlUNCB8IEZTTUNfUElPNF9JT0hPTEQ0IHwgXAotICAgICAgICAgICAgICAgICAgICAgICBGU01DX1BJTzRfSU9ISVo0KSk7Ci0gIAogICAvKiBTZXQgRlNNQ19QQ0NBUkQgZGV2aWNlIHRpbWluZyBwYXJhbWV0ZXJzICovCi0gIHRtcHIgfD0gKHVpbnQzMl90KShUaW1pbmctPlNldHVwVGltZSAgICAgICAgICAgICAgICAgICB8XAotICAgICAgICAgICAgICAgICAgICAgKChUaW1pbmctPldhaXRTZXR1cFRpbWUpIDw8IDhVKSAgICAgfFwKLSAgICAgICAgICAgICAgICAgICAgICgoVGltaW5nLT5Ib2xkU2V0dXBUaW1lKSA8PCAxNlUpICAgIHxcCi0gICAgICAgICAgICAgICAgICAgICAoKFRpbWluZy0+SGlaU2V0dXBUaW1lKSA8PCAyNFUpKTsgICAKLSAgCi0gIERldmljZS0+UElPNCA9IHRtcHI7Ci0gIAorICBNT0RJRllfUkVHKERldmljZS0+UElPNCwgUElPNF9DTEVBUl9NQVNLLAorICAgICAgICAgICAgIChUaW1pbmctPlNldHVwVGltZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CisgICAgICAgICAgICAgIChUaW1pbmctPldhaXRTZXR1cFRpbWUgICA8PCBGU01DX1BJTzRfSU9XQUlUNF9Qb3MpIHwKKyAgICAgICAgICAgICAgKFRpbWluZy0+SG9sZFNldHVwVGltZSAgIDw8IEZTTUNfUElPNF9JT0hPTEQ0X1BvcykgfAorICAgICAgICAgICAgICAoVGltaW5nLT5IaVpTZXR1cFRpbWUgICAgPDwgRlNNQ19QSU80X0lPSElaNF9Qb3MpKSk7CisKICAgcmV0dXJuIEhBTF9PSzsKIH0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKwogLyoqCi0gICogQGJyaWVmICBEZUluaXRpYWxpemVzIHRoZSBGU01DX1BDQ0FSRCBkZXZpY2UgCisgICogQGJyaWVmICBEZUluaXRpYWxpemVzIHRoZSBGU01DX1BDQ0FSRCBkZXZpY2UKICAgKiBAcGFyYW0gIERldmljZSBQb2ludGVyIHRvIFBDQ0FSRCBkZXZpY2UgaW5zdGFuY2UKICAgKiBAcmV0dmFsIEhBTCBzdGF0dXMKICAgKi8KIEhBTF9TdGF0dXNUeXBlRGVmIEZTTUNfUENDQVJEX0RlSW5pdChGU01DX1BDQ0FSRF9UeXBlRGVmICpEZXZpY2UpCiB7CisgIC8qIENoZWNrIHRoZSBwYXJhbWV0ZXJzICovCisgIGFzc2VydF9wYXJhbShJU19GU01DX1BDQ0FSRF9ERVZJQ0UoRGV2aWNlKSk7CisKICAgLyogRGlzYWJsZSB0aGUgRlNNQ19QQ0NBUkQgZGV2aWNlICovCiAgIF9fRlNNQ19QQ0NBUkRfRElTQUJMRShEZXZpY2UpOwotICAKKwogICAvKiBEZS1pbml0aWFsaXplIHRoZSBGU01DX1BDQ0FSRCBkZXZpY2UgKi8KLSAgRGV2aWNlLT5QQ1I0ICAgID0gMHgwMDAwMDAxOFU7IAotICBEZXZpY2UtPlNSNCAgICAgPSAweDAwMDAwMDAwVTsJCisgIERldmljZS0+UENSNCAgICA9IDB4MDAwMDAwMThVOworICBEZXZpY2UtPlNSNCAgICAgPSAweDAwMDAwMDQwVTsKICAgRGV2aWNlLT5QTUVNNCAgID0gMHhGQ0ZDRkNGQ1U7CiAgIERldmljZS0+UEFUVDQgICA9IDB4RkNGQ0ZDRkNVOwogICBEZXZpY2UtPlBJTzQgICAgPSAweEZDRkNGQ0ZDVTsKLSAgCisKICAgcmV0dXJuIEhBTF9PSzsKIH0KLS8qKgotICAqIEB9Ci0gICovCiAKIC8qKgogICAqIEB9CiAgICovCi0jZW5kaWYgLyogU1RNMzJGNDA1eHggfHwgU1RNMzJGNDE1eHggfHwgU1RNMzJGNDA3eHggfHwgU1RNMzJGNDE3eHggKi8KKyNlbmRpZiAvKiBGU01DX0Jhbms0ICovCiAKLS8qKgotICAqIEB9Ci0gICovCi0jZW5kaWYgLyogU1RNMzJGNDA1eHggfHwgU1RNMzJGNDE1eHggfHwgU1RNMzJGNDA3eHggfHwgU1RNMzJGNDE3eHggfHwgU1RNMzJGNDEyWnggfHwgU1RNMzJGNDEyVnggfHwgU1RNMzJGNDEzeHggfHwgU1RNMzJGNDIzeHggKi8KLSNlbmRpZiAvKiBIQUxfU1JBTV9NT0RVTEVfRU5BQkxFRCB8fCBIQUxfTk9SX01PRFVMRV9FTkFCTEVEIHx8IEhBTF9OQU5EX01PRFVMRV9FTkFCTEVEIHx8IEhBTF9QQ0NBUkRfTU9EVUxFX0VOQUJMRUQgKi8KIAogLyoqCiAgICogQH0KQEAgLTEwMDYsNCArMTA1MiwxMSBAQAogLyoqCiAgICogQH0KICAgKi8KLS8qKioqKioqKioqKioqKioqKioqKioqKiogKEMpIENPUFlSSUdIVCBTVE1pY3JvZWxlY3Ryb25pY3MgKioqKipFTkQgT0YgRklMRSoqKiovCisKKyNlbmRpZiAvKiBIQUxfTk9SX01PRFVMRV9FTkFCTEVEICovCisvKioKKyAgKiBAfQorICAqLworLyoqCisgICogQH0KKyAgKi8KZGlmZiAtLWdpdCBhL1NyYy9zdG0zMmY0eHhfbGxfZ3Bpby5jIGIvU3JjL3N0bTMyZjR4eF9sbF9ncGlvLmMKaW5kZXggYmZkY2IxZS4uNGQxMDBiNSAxMDA2NDQKLS0tIGEvU3JjL3N0bTMyZjR4eF9sbF9ncGlvLmMKKysrIGIvU3JjL3N0bTMyZjR4eF9sbF9ncGlvLmMKQEAgLTYsMTMgKzYsMTIgQEAKICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICogQGF0dGVudGlvbgogICAqCi0gICogPGgyPjxjZW50ZXI+JmNvcHk7IENvcHlyaWdodCAoYykgMjAxNyBTVE1pY3JvZWxlY3Ryb25pY3MuCi0gICogQWxsIHJpZ2h0cyByZXNlcnZlZC48L2NlbnRlcj48L2gyPgorICAqIENvcHlyaWdodCAoYykgMjAxNyBTVE1pY3JvZWxlY3Ryb25pY3MuCisgICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgKgotICAqIFRoaXMgc29mdHdhcmUgY29tcG9uZW50IGlzIGxpY2Vuc2VkIGJ5IFNUIHVuZGVyIEJTRCAzLUNsYXVzZSBsaWNlbnNlLAotICAqIHRoZSAiTGljZW5zZSI7IFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUKLSAgKiBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQ6Ci0gICogICAgICAgICAgICAgICAgICAgICAgICBvcGVuc291cmNlLm9yZy9saWNlbnNlcy9CU0QtMy1DbGF1c2UKKyAgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIHVuZGVyIHRlcm1zIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUKKyAgKiBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb2Z0d2FyZSBjb21wb25lbnQuCisgICogSWYgbm8gTElDRU5TRSBmaWxlIGNvbWVzIHdpdGggdGhpcyBzb2Z0d2FyZSwgaXQgaXMgcHJvdmlkZWQgQVMtSVMuCiAgICoKICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICovCkBAIC0zMDIsNCArMzAxLDMgQEAKIAogI2VuZGlmIC8qIFVTRV9GVUxMX0xMX0RSSVZFUiAqLwogCi0vKioqKioqKioqKioqKioqKioqKioqKioqIChDKSBDT1BZUklHSFQgU1RNaWNyb2VsZWN0cm9uaWNzICoqKioqRU5EIE9GIEZJTEUqKioqLwpkaWZmIC0tZ2l0IGEvU3JjL3N0bTMyZjR4eF9sbF9pMmMuYyBiL1NyYy9zdG0zMmY0eHhfbGxfaTJjLmMKaW5kZXggMTI1ZmIyYy4uZDI1ZTU5MCAxMDA2NDQKLS0tIGEvU3JjL3N0bTMyZjR4eF9sbF9pMmMuYworKysgYi9TcmMvc3RtMzJmNHh4X2xsX2kyYy5jCkBAIC02LDEzICs2LDEyIEBACiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqIEBhdHRlbnRpb24KICAgKgotICAqIDxoMj48Y2VudGVyPiZjb3B5OyBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9jZW50ZXI+PC9oMj4KKyAgKiBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgorICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICoKLSAgKiBUaGlzIHNvZnR3YXJlIGNvbXBvbmVudCBpcyBsaWNlbnNlZCBieSBTVCB1bmRlciBCU0QgMy1DbGF1c2UgbGljZW5zZSwKLSAgKiB0aGUgIkxpY2Vuc2UiOyBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlCi0gICogTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0OgotICAqICAgICAgICAgICAgICAgICAgICAgICAgb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvQlNELTMtQ2xhdXNlCisgICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciB0ZXJtcyB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlCisgICogaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc29mdHdhcmUgY29tcG9uZW50LgorICAqIElmIG5vIExJQ0VOU0UgZmlsZSBjb21lcyB3aXRoIHRoaXMgc29mdHdhcmUsIGl0IGlzIHByb3ZpZGVkIEFTLUlTLgogICAqCiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqLwpAQCAtMjUwLDQgKzI0OSwzIEBACiAKICNlbmRpZiAvKiBVU0VfRlVMTF9MTF9EUklWRVIgKi8KIAotLyoqKioqKioqKioqKioqKioqKioqKioqKiAoQykgQ09QWVJJR0hUIFNUTWljcm9lbGVjdHJvbmljcyAqKioqKkVORCBPRiBGSUxFKioqKi8KZGlmZiAtLWdpdCBhL1NyYy9zdG0zMmY0eHhfbGxfbHB0aW0uYyBiL1NyYy9zdG0zMmY0eHhfbGxfbHB0aW0uYwppbmRleCA3ODA5NjFkLi45MzM2YjVjIDEwMDY0NAotLS0gYS9TcmMvc3RtMzJmNHh4X2xsX2xwdGltLmMKKysrIGIvU3JjL3N0bTMyZjR4eF9sbF9scHRpbS5jCkBAIC02LDEzICs2LDEyIEBACiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqIEBhdHRlbnRpb24KICAgKgotICAqIDxoMj48Y2VudGVyPiZjb3B5OyBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9jZW50ZXI+PC9oMj4KKyAgKiBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgorICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICoKLSAgKiBUaGlzIHNvZnR3YXJlIGNvbXBvbmVudCBpcyBsaWNlbnNlZCBieSBTVCB1bmRlciBCU0QgMy1DbGF1c2UgbGljZW5zZSwKLSAgKiB0aGUgIkxpY2Vuc2UiOyBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlCi0gICogTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0OgotICAqICAgICAgICAgICAgICAgICAgICAgICAgb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvQlNELTMtQ2xhdXNlCisgICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciB0ZXJtcyB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlCisgICogaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc29mdHdhcmUgY29tcG9uZW50LgorICAqIElmIG5vIExJQ0VOU0UgZmlsZSBjb21lcyB3aXRoIHRoaXMgc29mdHdhcmUsIGl0IGlzIHByb3ZpZGVkIEFTLUlTLgogICAqCiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqLwpAQCAtMTg5LDEyICsxODgsMTUgQEAKICAgdWludDMyX3QgdG1wQ0ZHUjsKICAgdWludDMyX3QgdG1wQ01QOwogICB1aW50MzJfdCB0bXBBUlI7CisgIHVpbnQzMl90IHByaW1hc2tfYml0OwogICB1aW50MzJfdCB0bXBPUjsKIAogICAvKiBDaGVjayB0aGUgcGFyYW1ldGVycyAqLwogICBhc3NlcnRfcGFyYW0oSVNfTFBUSU1fSU5TVEFOQ0UoTFBUSU14KSk7CiAKLSAgX19kaXNhYmxlX2lycSgpOworICAvKiBFbnRlciBjcml0aWNhbCBzZWN0aW9uICovCisgIHByaW1hc2tfYml0ID0gX19nZXRfUFJJTUFTSygpOworICBfX3NldF9QUklNQVNLKDEpIDsKIAogICAvKioqKioqKioqKiBTYXZlIExQVElNIENvbmZpZyAqKioqKioqKiovCiAgIC8qIFNhdmUgTFBUSU0gc291cmNlIGNsb2NrICovCkBAIC0yNzQsNyArMjc2LDggQEAKICAgTFBUSU14LT5DRkdSID0gdG1wQ0ZHUjsKICAgTFBUSU14LT5PUiA9IHRtcE9SOwogCi0gIF9fZW5hYmxlX2lycSgpOworICAvKiBFeGl0IGNyaXRpY2FsIHNlY3Rpb246IHJlc3RvcmUgcHJldmlvdXMgcHJpb3JpdHkgbWFzayAqLworICBfX3NldF9QUklNQVNLKHByaW1hc2tfYml0KTsKIH0KIAogLyoqCkBAIC0yOTYsNSArMjk5LDMgQEAKICAgKi8KIAogI2VuZGlmIC8qIFVTRV9GVUxMX0xMX0RSSVZFUiAqLwotCi0vKioqKioqKioqKioqKioqKioqKioqKioqIChDKSBDT1BZUklHSFQgU1RNaWNyb2VsZWN0cm9uaWNzICoqKioqRU5EIE9GIEZJTEUqKioqLwpkaWZmIC0tZ2l0IGEvU3JjL3N0bTMyZjR4eF9sbF9wd3IuYyBiL1NyYy9zdG0zMmY0eHhfbGxfcHdyLmMKaW5kZXggZmUwNGJjNC4uMGM2ZjYxZSAxMDA2NDQKLS0tIGEvU3JjL3N0bTMyZjR4eF9sbF9wd3IuYworKysgYi9TcmMvc3RtMzJmNHh4X2xsX3B3ci5jCkBAIC02LDE0ICs2LDEyIEBACiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqIEBhdHRlbnRpb24KICAgKgotICAqIDxoMj48Y2VudGVyPiZjb3B5OyBDb3B5cmlnaHQgKGMpIDIwMTcgU1RNaWNyb2VsZWN0cm9uaWNzLgotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9jZW50ZXI+PC9oMj4KKyAgKiBDb3B5cmlnaHQgKGMpIDIwMTcgU1RNaWNyb2VsZWN0cm9uaWNzLgorICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICoKLSAgKiBUaGlzIHNvZnR3YXJlIGNvbXBvbmVudCBpcyBsaWNlbnNlZCBieSBTVCB1bmRlciBCU0QgMy1DbGF1c2UgbGljZW5zZSwKLSAgKiB0aGUgIkxpY2Vuc2UiOyBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlCi0gICogTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0OgotICAqICAgICAgICAgICAgICAgICAgICAgICAgb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvQlNELTMtQ2xhdXNlCi0gICoKKyAgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIHVuZGVyIHRlcm1zIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgaW4KKyAgKiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb2Z0d2FyZSBjb21wb25lbnQuCisgICogSWYgbm8gTElDRU5TRSBmaWxlIGNvbWVzIHdpdGggdGhpcyBzb2Z0d2FyZSwgaXQgaXMgcHJvdmlkZWQgQVMtSVMuCiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqLwogI2lmIGRlZmluZWQoVVNFX0ZVTExfTExfRFJJVkVSKQpAQCAtODEsNSArNzksMyBAQAogICAqLwogCiAjZW5kaWYgLyogVVNFX0ZVTExfTExfRFJJVkVSICovCi0KLS8qKioqKioqKioqKioqKioqKioqKioqKiogKEMpIENPUFlSSUdIVCBTVE1pY3JvZWxlY3Ryb25pY3MgKioqKipFTkQgT0YgRklMRSoqKiovCmRpZmYgLS1naXQgYS9TcmMvc3RtMzJmNHh4X2xsX3JjYy5jIGIvU3JjL3N0bTMyZjR4eF9sbF9yY2MuYwppbmRleCBlYTE4YWRjLi5lZmEzZTU3IDEwMDY0NAotLS0gYS9TcmMvc3RtMzJmNHh4X2xsX3JjYy5jCisrKyBiL1NyYy9zdG0zMmY0eHhfbGxfcmNjLmMKQEAgLTYsMTQgKzYsMTIgQEAKICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICogQGF0dGVudGlvbgogICAqCi0gICogPGgyPjxjZW50ZXI+JmNvcHk7IENvcHlyaWdodCAoYykgMjAxNyBTVE1pY3JvZWxlY3Ryb25pY3MuCi0gICogQWxsIHJpZ2h0cyByZXNlcnZlZC48L2NlbnRlcj48L2gyPgorICAqIENvcHlyaWdodCAoYykgMjAxNyBTVE1pY3JvZWxlY3Ryb25pY3MuCisgICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgKgotICAqIFRoaXMgc29mdHdhcmUgY29tcG9uZW50IGlzIGxpY2Vuc2VkIGJ5IFNUIHVuZGVyIEJTRCAzLUNsYXVzZSBsaWNlbnNlLAotICAqIHRoZSAiTGljZW5zZSI7IFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUKLSAgKiBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQ6Ci0gICogICAgICAgICAgICAgICAgICAgICAgICBvcGVuc291cmNlLm9yZy9saWNlbnNlcy9CU0QtMy1DbGF1c2UKLSAgKgorICAqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgdW5kZXIgdGVybXMgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBpbgorICAqIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvZnR3YXJlIGNvbXBvbmVudC4KKyAgKiBJZiBubyBMSUNFTlNFIGZpbGUgY29tZXMgd2l0aCB0aGlzIHNvZnR3YXJlLCBpdCBpcyBwcm92aWRlZCBBUy1JUy4KICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICovCiAjaWYgZGVmaW5lZChVU0VfRlVMTF9MTF9EUklWRVIpCkBAIC0xNjYwLDQgKzE2NTgsMyBAQAogCiAjZW5kaWYgLyogVVNFX0ZVTExfTExfRFJJVkVSICovCiAKLS8qKioqKioqKioqKioqKioqKioqKioqKiogKEMpIENPUFlSSUdIVCBTVE1pY3JvZWxlY3Ryb25pY3MgKioqKipFTkQgT0YgRklMRSoqKiovCmRpZmYgLS1naXQgYS9TcmMvc3RtMzJmNHh4X2xsX3JuZy5jIGIvU3JjL3N0bTMyZjR4eF9sbF9ybmcuYwppbmRleCAxYjIwMmM5Li4zMzNkNjNjIDEwMDY0NAotLS0gYS9TcmMvc3RtMzJmNHh4X2xsX3JuZy5jCisrKyBiL1NyYy9zdG0zMmY0eHhfbGxfcm5nLmMKQEAgLTYsMTMgKzYsMTIgQEAKICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICogQGF0dGVudGlvbgogICAqCi0gICogPGgyPjxjZW50ZXI+JmNvcHk7IENvcHlyaWdodCAoYykgMjAxNiBTVE1pY3JvZWxlY3Ryb25pY3MuCi0gICogQWxsIHJpZ2h0cyByZXNlcnZlZC48L2NlbnRlcj48L2gyPgorICAqIENvcHlyaWdodCAoYykgMjAxNiBTVE1pY3JvZWxlY3Ryb25pY3MuCisgICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgKgotICAqIFRoaXMgc29mdHdhcmUgY29tcG9uZW50IGlzIGxpY2Vuc2VkIGJ5IFNUIHVuZGVyIEJTRCAzLUNsYXVzZSBsaWNlbnNlLAotICAqIHRoZSAiTGljZW5zZSI7IFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUKLSAgKiBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQ6Ci0gICogICAgICAgICAgICAgICAgICAgICAgICBvcGVuc291cmNlLm9yZy9saWNlbnNlcy9CU0QtMy1DbGF1c2UKKyAgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIHVuZGVyIHRlcm1zIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUKKyAgKiBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb2Z0d2FyZSBjb21wb25lbnQuCisgICogSWYgbm8gTElDRU5TRSBmaWxlIGNvbWVzIHdpdGggdGhpcyBzb2Z0d2FyZSwgaXQgaXMgcHJvdmlkZWQgQVMtSVMuCiAgICoKICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICovCkBAIC02MiwyMiArNjEsMzIgQEAKICAgKi8KIEVycm9yU3RhdHVzIExMX1JOR19EZUluaXQoUk5HX1R5cGVEZWYgKlJOR3gpCiB7CisgIEVycm9yU3RhdHVzIHN0YXR1cyA9IFNVQ0NFU1M7CisKICAgLyogQ2hlY2sgdGhlIHBhcmFtZXRlcnMgKi8KICAgYXNzZXJ0X3BhcmFtKElTX1JOR19BTExfSU5TVEFOQ0UoUk5HeCkpOworICBpZiAoUk5HeCA9PSBSTkcpCisgIHsKICNpZiAhZGVmaW5lZChSQ0NfQUhCMl9TVVBQT1JUKQotICAvKiBFbmFibGUgUk5HIHJlc2V0IHN0YXRlICovCi0gIExMX0FIQjFfR1JQMV9Gb3JjZVJlc2V0KExMX0FIQjFfR1JQMV9QRVJJUEhfUk5HKTsKKyAgICAvKiBFbmFibGUgUk5HIHJlc2V0IHN0YXRlICovCisgICAgTExfQUhCMV9HUlAxX0ZvcmNlUmVzZXQoTExfQUhCMV9HUlAxX1BFUklQSF9STkcpOwogCi0gIC8qIFJlbGVhc2UgUk5HIGZyb20gcmVzZXQgc3RhdGUgKi8KLSAgTExfQUhCMV9HUlAxX1JlbGVhc2VSZXNldChMTF9BSEIxX0dSUDFfUEVSSVBIX1JORyk7CisgICAgLyogUmVsZWFzZSBSTkcgZnJvbSByZXNldCBzdGF0ZSAqLworICAgIExMX0FIQjFfR1JQMV9SZWxlYXNlUmVzZXQoTExfQUhCMV9HUlAxX1BFUklQSF9STkcpOwogI2Vsc2UKLSAgLyogRW5hYmxlIFJORyByZXNldCBzdGF0ZSAqLwotICBMTF9BSEIyX0dSUDFfRm9yY2VSZXNldChMTF9BSEIyX0dSUDFfUEVSSVBIX1JORyk7CisgICAgLyogRW5hYmxlIFJORyByZXNldCBzdGF0ZSAqLworICAgIExMX0FIQjJfR1JQMV9Gb3JjZVJlc2V0KExMX0FIQjJfR1JQMV9QRVJJUEhfUk5HKTsKIAogICAvKiBSZWxlYXNlIFJORyBmcm9tIHJlc2V0IHN0YXRlICovCi0gIExMX0FIQjJfR1JQMV9SZWxlYXNlUmVzZXQoTExfQUhCMl9HUlAxX1BFUklQSF9STkcpOworICAgIExMX0FIQjJfR1JQMV9SZWxlYXNlUmVzZXQoTExfQUhCMl9HUlAxX1BFUklQSF9STkcpOwogI2VuZGlmIC8qICFSQ0NfQUhCMl9TVVBQT1JUICovCi0gIHJldHVybiAoU1VDQ0VTUyk7CisgIH0KKyAgZWxzZQorICB7CisgICAgc3RhdHVzID0gRVJST1I7CisgIH0KKworICByZXR1cm4gc3RhdHVzOwogfQogCiAvKioKQEAgLTEwMCw1ICsxMDksMyBAQAogCiAjZW5kaWYgLyogVVNFX0ZVTExfTExfRFJJVkVSICovCiAKLS8qKioqKioqKioqKioqKioqKioqKioqKiogKEMpIENPUFlSSUdIVCBTVE1pY3JvZWxlY3Ryb25pY3MgKioqKipFTkQgT0YgRklMRSoqKiovCi0KZGlmZiAtLWdpdCBhL1NyYy9zdG0zMmY0eHhfbGxfcnRjLmMgYi9TcmMvc3RtMzJmNHh4X2xsX3J0Yy5jCmluZGV4IDE0YzNjZmEuLmYzZWUzY2UgMTAwNjQ0Ci0tLSBhL1NyYy9zdG0zMmY0eHhfbGxfcnRjLmMKKysrIGIvU3JjL3N0bTMyZjR4eF9sbF9ydGMuYwpAQCAtNiwxMyArNiwxMiBAQAogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKiBAYXR0ZW50aW9uCiAgICoKLSAgKiA8aDI+PGNlbnRlcj4mY29weTsgQ29weXJpZ2h0IChjKSAyMDE3IFNUTWljcm9lbGVjdHJvbmljcy4KLSAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvY2VudGVyPjwvaDI+CisgICogQ29weXJpZ2h0IChjKSAyMDE3IFNUTWljcm9lbGVjdHJvbmljcy4KKyAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAqCi0gICogVGhpcyBzb2Z0d2FyZSBjb21wb25lbnQgaXMgbGljZW5zZWQgYnkgU1QgdW5kZXIgQlNEIDMtQ2xhdXNlIGxpY2Vuc2UsCi0gICogdGhlICJMaWNlbnNlIjsgWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZQotICAqIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdDoKLSAgKiAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZQorICAqIFRoaXMgc29mdHdhcmUgaXMgbGljZW5zZWQgdW5kZXIgdGVybXMgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZQorICAqIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvZnR3YXJlIGNvbXBvbmVudC4KKyAgKiBJZiBubyBMSUNFTlNFIGZpbGUgY29tZXMgd2l0aCB0aGlzIHNvZnR3YXJlLCBpdCBpcyBwcm92aWRlZCBBUy1JUy4KICAgKgogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKi8KQEAgLTg1LDExICs4NCwxMSBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8fCAoKF9fVkFMVUVfXykgPT0gTExfUlRDX1dFRUtEQVlfU0FUVVJEQVkpIFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfHwgKChfX1ZBTFVFX18pID09IExMX1JUQ19XRUVLREFZX1NVTkRBWSkpCiAKLSNkZWZpbmUgSVNfTExfUlRDX0RBWShfX0RBWV9fKSAgICAoKChfX0RBWV9fKSA+PSAxVSkgJiYgKChfX0RBWV9fKSA8PSAzMVUpKQorI2RlZmluZSBJU19MTF9SVENfREFZKF9fREFZX18pICAgICAoKChfX0RBWV9fKSA+PSAxVSkgJiYgKChfX0RBWV9fKSA8PSAzMVUpKQogCiAjZGVmaW5lIElTX0xMX1JUQ19NT05USChfX01PTlRIX18pICgoKF9fTU9OVEhfXykgPj0gMVUpICYmICgoX19NT05USF9fKSA8PSAxMlUpKQogCi0jZGVmaW5lIElTX0xMX1JUQ19ZRUFSKF9fWUVBUl9fKSAoKF9fWUVBUl9fKSA8PSA5OVUpCisjZGVmaW5lIElTX0xMX1JUQ19ZRUFSKF9fWUVBUl9fKSAgICgoX19ZRUFSX18pIDw9IDk5VSkKIAogI2RlZmluZSBJU19MTF9SVENfQUxNQV9NQVNLKF9fVkFMVUVfXykgKCgoX19WQUxVRV9fKSA9PSBMTF9SVENfQUxNQV9NQVNLX05PTkUpIFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8fCAoKF9fVkFMVUVfXykgPT0gTExfUlRDX0FMTUFfTUFTS19EQVRFV0VFS0RBWSkgXApAQCAtMTA1LDE0ICsxMDQsMTIgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8fCAoKF9fVkFMVUVfXykgPT0gTExfUlRDX0FMTUJfTUFTS19TRUNPTkRTKSBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfHwgKChfX1ZBTFVFX18pID09IExMX1JUQ19BTE1CX01BU0tfQUxMKSkKIAotCiAjZGVmaW5lIElTX0xMX1JUQ19BTE1BX0RBVEVfV0VFS0RBWV9TRUwoX19TRUxfXykgKCgoX19TRUxfXykgPT0gTExfUlRDX0FMTUFfREFURVdFRUtEQVlTRUxfREFURSkgfHwgXAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fU0VMX18pID09IExMX1JUQ19BTE1BX0RBVEVXRUVLREFZU0VMX1dFRUtEQVkpKQogCiAjZGVmaW5lIElTX0xMX1JUQ19BTE1CX0RBVEVfV0VFS0RBWV9TRUwoX19TRUxfXykgKCgoX19TRUxfXykgPT0gTExfUlRDX0FMTUJfREFURVdFRUtEQVlTRUxfREFURSkgfHwgXAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKF9fU0VMX18pID09IExMX1JUQ19BTE1CX0RBVEVXRUVLREFZU0VMX1dFRUtEQVkpKQogCi0KIC8qKgogICAqIEB9CiAgICovCkBAIC0xMjgsNyArMTI1LDcgQEAKIAogLyoqCiAgICogQGJyaWVmICBEZS1Jbml0aWFsaXplcyB0aGUgUlRDIHJlZ2lzdGVycyB0byB0aGVpciBkZWZhdWx0IHJlc2V0IHZhbHVlcy4KLSAgKiBAbm90ZSAgIFRoaXMgZnVuY3Rpb24gZG9lc24ndCByZXNldCB0aGUgUlRDIENsb2NrIHNvdXJjZSBhbmQgUlRDIEJhY2t1cCBEYXRhCisgICogQG5vdGUgICBUaGlzIGZ1bmN0aW9uIGRvZXMgbm90IHJlc2V0IHRoZSBSVEMgQ2xvY2sgc291cmNlIGFuZCBSVEMgQmFja3VwIERhdGEKICAgKiAgICAgICAgIHJlZ2lzdGVycy4KICAgKiBAcGFyYW0gIFJUQ3ggUlRDIEluc3RhbmNlCiAgICogQHJldHZhbCBBbiBFcnJvclN0YXR1cyBlbnVtZXJhdGlvbiB2YWx1ZToKQEAgLTE1MCwyMSArMTQ3LDE3IEBACiAgIHsKICAgICAvKiBSZXNldCBUUiwgRFIgYW5kIENSIHJlZ2lzdGVycyAqLwogICAgIExMX1JUQ19Xcml0ZVJlZyhSVEN4LCBUUiwgICAgICAgMHgwMDAwMDAwMFUpOwotI2lmIGRlZmluZWQoUlRDX1dBS0VVUF9TVVBQT1JUKQogICAgIExMX1JUQ19Xcml0ZVJlZyhSVEN4LCBXVVRSLCAgICAgUlRDX1dVVFJfV1VUKTsKLSNlbmRpZiAvKiBSVENfV0FLRVVQX1NVUFBPUlQgKi8KLSAgICBMTF9SVENfV3JpdGVSZWcoUlRDeCwgRFIgICwgICAgIChSVENfRFJfV0RVXzAgfCBSVENfRFJfTVVfMCB8IFJUQ19EUl9EVV8wKSk7CisgICAgTExfUlRDX1dyaXRlUmVnKFJUQ3gsIERSLCAgICAgIChSVENfRFJfV0RVXzAgfCBSVENfRFJfTVVfMCB8IFJUQ19EUl9EVV8wKSk7CisKICAgICAvKiBSZXNldCBBbGwgQ1IgYml0cyBleGNlcHQgQ1JbMjowXSAqLwotI2lmIGRlZmluZWQoUlRDX1dBS0VVUF9TVVBQT1JUKQogICAgIExMX1JUQ19Xcml0ZVJlZyhSVEN4LCBDUiwgKExMX1JUQ19SZWFkUmVnKFJUQ3gsIENSKSAmIFJUQ19DUl9XVUNLU0VMKSk7Ci0jZWxzZQotICAgIExMX1JUQ19Xcml0ZVJlZyhSVEN4LCBDUiwgMHgwMDAwMDAwMFUpOwotI2VuZGlmIC8qIFJUQ19XQUtFVVBfU1VQUE9SVCAqLwotICAgIExMX1JUQ19Xcml0ZVJlZyhSVEN4LCBQUkVSLCAgICAgKFJUQ19QUkVSX1BSRURJVl9BIHwgUlRDX1NZTkNIX1BSRVNDX0RFRkFVTFQpKTsKKworICAgIExMX1JUQ19Xcml0ZVJlZyhSVEN4LCBQUkVSLCAgICAoUlRDX1BSRVJfUFJFRElWX0EgfCBSVENfU1lOQ0hfUFJFU0NfREVGQVVMVCkpOwogICAgIExMX1JUQ19Xcml0ZVJlZyhSVEN4LCBBTFJNQVIsICAgMHgwMDAwMDAwMFUpOwogICAgIExMX1JUQ19Xcml0ZVJlZyhSVEN4LCBBTFJNQlIsICAgMHgwMDAwMDAwMFUpOwotICAgIExMX1JUQ19Xcml0ZVJlZyhSVEN4LCBTSElGVFIsICAgMHgwMDAwMDAwMFUpOwogICAgIExMX1JUQ19Xcml0ZVJlZyhSVEN4LCBDQUxSLCAgICAgMHgwMDAwMDAwMFUpOworICAgIExMX1JUQ19Xcml0ZVJlZyhSVEN4LCBTSElGVFIsICAgMHgwMDAwMDAwMFUpOwogICAgIExMX1JUQ19Xcml0ZVJlZyhSVEN4LCBBTFJNQVNTUiwgMHgwMDAwMDAwMFUpOwogICAgIExMX1JUQ19Xcml0ZVJlZyhSVEN4LCBBTFJNQlNTUiwgMHgwMDAwMDAwMFUpOwogCkBAIC0zNjgsNyArMzYxLDcgQEAKIAogICBpZiAoKFJUQ19Gb3JtYXQgPT0gTExfUlRDX0ZPUk1BVF9CSU4pICYmICgoUlRDX0RhdGVTdHJ1Y3QtPk1vbnRoICYgMHgxMFUpID09IDB4MTBVKSkKICAgewotICAgIFJUQ19EYXRlU3RydWN0LT5Nb250aCA9IChSVENfRGF0ZVN0cnVjdC0+TW9udGggJiAodWludDMyX3QpfigweDEwVSkpICsgMHgwQVU7CisgICAgUlRDX0RhdGVTdHJ1Y3QtPk1vbnRoID0gKHVpbnQ4X3QpKFJUQ19EYXRlU3RydWN0LT5Nb250aCAmICh1aW50OF90KX4oMHgxMFUpKSArIDB4MEFVOwogICB9CiAgIGlmIChSVENfRm9ybWF0ID09IExMX1JUQ19GT1JNQVRfQklOKQogICB7CkBAIC03ODMsNyArNzc2LDcgQEAKICAgKiAgICAgICAgIHN5bmNocm9uaXplZCB3aXRoIFJUQyBBUEIgY2xvY2suCiAgICogQG5vdGUgICBUaGUgUlRDIFJlc3luY2hyb25pemF0aW9uIG1vZGUgaXMgd3JpdGUgcHJvdGVjdGVkLCB1c2UgdGhlCiAgICogICAgICAgICBAcmVmIExMX1JUQ19EaXNhYmxlV3JpdGVQcm90ZWN0aW9uIGJlZm9yZSBjYWxsaW5nIHRoaXMgZnVuY3Rpb24uCi0gICogQG5vdGUgICBUbyByZWFkIHRoZSBjYWxlbmRhciB0aHJvdWdoIHRoZSBzaGFkb3cgcmVnaXN0ZXJzIGFmdGVyIENhbGVuZGFyCisgICogQG5vdGUgICBUbyByZWFkIHRoZSBjYWxlbmRhciB0aHJvdWdoIHRoZSBzaGFkb3cgcmVnaXN0ZXJzIGFmdGVyIGNhbGVuZGFyCiAgICogICAgICAgICBpbml0aWFsaXphdGlvbiwgY2FsZW5kYXIgdXBkYXRlIG9yIGFmdGVyIHdha2V1cCBmcm9tIGxvdyBwb3dlciBtb2RlcwogICAqICAgICAgICAgdGhlIHNvZnR3YXJlIG11c3QgZmlyc3QgY2xlYXIgdGhlIFJTRiBmbGFnLgogICAqICAgICAgICAgVGhlIHNvZnR3YXJlIG11c3QgdGhlbiB3YWl0IHVudGlsIGl0IGlzIHNldCBhZ2FpbiBiZWZvcmUgcmVhZGluZwpAQCAtODA4LDcgKzgwMSw3IEBACiAKICAgLyogV2FpdCB0aGUgcmVnaXN0ZXJzIHRvIGJlIHN5bmNocm9uaXNlZCAqLwogICB0bXAgPSBMTF9SVENfSXNBY3RpdmVGbGFnX1JTKFJUQ3gpOwotICB3aGlsZSAoKHRpbWVvdXQgIT0gMFUpICYmICh0bXAgIT0gMFUpKQorICB3aGlsZSAoKHRpbWVvdXQgIT0gMFUpICYmICh0bXAgIT0gMVUpKQogICB7CiAgICAgaWYgKExMX1NZU1RJQ0tfSXNBY3RpdmVDb3VudGVyRmxhZygpID09IDFVKQogICAgIHsKQEAgLTgyMSwyNCArODE0LDYgQEAKICAgICB9CiAgIH0KIAotICBpZiAoc3RhdHVzICE9IEVSUk9SKQotICB7Ci0gICAgdGltZW91dCA9IFJUQ19TWU5DSFJPX1RJTUVPVVQ7Ci0gICAgdG1wID0gTExfUlRDX0lzQWN0aXZlRmxhZ19SUyhSVEN4KTsKLSAgICB3aGlsZSAoKHRpbWVvdXQgIT0gMFUpICYmICh0bXAgIT0gMVUpKQotICAgIHsKLSAgICAgIGlmIChMTF9TWVNUSUNLX0lzQWN0aXZlQ291bnRlckZsYWcoKSA9PSAxVSkKLSAgICAgIHsKLSAgICAgICAgdGltZW91dC0tOwotICAgICAgfQotICAgICAgdG1wID0gTExfUlRDX0lzQWN0aXZlRmxhZ19SUyhSVEN4KTsKLSAgICAgIGlmICh0aW1lb3V0ID09IDBVKQotICAgICAgewotICAgICAgICBzdGF0dXMgPSBFUlJPUjsKLSAgICAgIH0KLSAgICB9Ci0gIH0KLQogICByZXR1cm4gKHN0YXR1cyk7CiB9CiAKQEAgLTg2MSw1ICs4MzYsMyBAQAogICAqLwogCiAjZW5kaWYgLyogVVNFX0ZVTExfTExfRFJJVkVSICovCi0KLS8qKioqKioqKioqKioqKioqKioqKioqKiogKEMpIENPUFlSSUdIVCBTVE1pY3JvZWxlY3Ryb25pY3MgKioqKipFTkQgT0YgRklMRSoqKiovCmRpZmYgLS1naXQgYS9TcmMvc3RtMzJmNHh4X2xsX3NkbW1jLmMgYi9TcmMvc3RtMzJmNHh4X2xsX3NkbW1jLmMKaW5kZXggZmY4OTQzNS4uYWI0ODMwMyAxMDA2NDQKLS0tIGEvU3JjL3N0bTMyZjR4eF9sbF9zZG1tYy5jCisrKyBiL1NyYy9zdG0zMmY0eHhfbGxfc2RtbWMuYwpAQCAtMTEsNiArMTEsMTcgQEAKICAgKiAgICAgICAgICAgKyBQZXJpcGhlcmFsIENvbnRyb2wgZnVuY3Rpb25zIAogICAqICAgICAgICAgICArIFBlcmlwaGVyYWwgU3RhdGUgZnVuY3Rpb25zCiAgICogICAgICAgICAKKyAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgICogQGF0dGVudGlvbgorICAqCisgICogQ29weXJpZ2h0IChjKSAyMDE2IFNUTWljcm9lbGVjdHJvbmljcy4KKyAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICAqCisgICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciB0ZXJtcyB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlCisgICogaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc29mdHdhcmUgY29tcG9uZW50LgorICAqIElmIG5vIExJQ0VOU0UgZmlsZSBjb21lcyB3aXRoIHRoaXMgc29mdHdhcmUsIGl0IGlzIHByb3ZpZGVkIEFTLUlTLgorICAqCisgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICBAdmVyYmF0aW0KICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAgICAgICAgICAgICAgICAgICAgICMjIyMjIFNETU1DIHBlcmlwaGVyYWwgZmVhdHVyZXMgIyMjIyMKQEAgLTE0MiwxNyArMTUzLDYgQEAKICAgCiAgIEBlbmR2ZXJiYXRpbQogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAgKiBAYXR0ZW50aW9uCi0gICoKLSAgKiA8aDI+PGNlbnRlcj4mY29weTsgQ29weXJpZ2h0IChjKSAyMDE3IFNUTWljcm9lbGVjdHJvbmljcy4KLSAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvY2VudGVyPjwvaDI+Ci0gICoKLSAgKiBUaGlzIHNvZnR3YXJlIGNvbXBvbmVudCBpcyBsaWNlbnNlZCBieSBTVCB1bmRlciBCU0QgMy1DbGF1c2UgbGljZW5zZSwKLSAgKiB0aGUgIkxpY2Vuc2UiOyBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlCi0gICogTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0OgotICAqICAgICAgICAgICAgICAgICAgICAgICBvcGVuc291cmNlLm9yZy9saWNlbnNlcy9CU0QtMy1DbGF1c2UKLSAgKgotICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKi8gCiAKIC8qIEluY2x1ZGVzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCkBAIC0xNzcsMTEgKzE3Nyw2IEBACiAvKiBQcml2YXRlIHZhcmlhYmxlcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogLyogUHJpdmF0ZSBmdW5jdGlvbiBwcm90b3R5cGVzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KIHN0YXRpYyB1aW50MzJfdCBTRE1NQ19HZXRDbWRFcnJvcihTRElPX1R5cGVEZWYgKlNESU94KTsKLXN0YXRpYyB1aW50MzJfdCBTRE1NQ19HZXRDbWRSZXNwMShTRElPX1R5cGVEZWYgKlNESU94LCB1aW50OF90IFNEX0NNRCwgdWludDMyX3QgVGltZW91dCk7Ci1zdGF0aWMgdWludDMyX3QgU0RNTUNfR2V0Q21kUmVzcDIoU0RJT19UeXBlRGVmICpTRElPeCk7Ci1zdGF0aWMgdWludDMyX3QgU0RNTUNfR2V0Q21kUmVzcDMoU0RJT19UeXBlRGVmICpTRElPeCk7Ci1zdGF0aWMgdWludDMyX3QgU0RNTUNfR2V0Q21kUmVzcDcoU0RJT19UeXBlRGVmICpTRElPeCk7Ci1zdGF0aWMgdWludDMyX3QgU0RNTUNfR2V0Q21kUmVzcDYoU0RJT19UeXBlRGVmICpTRElPeCwgdWludDhfdCBTRF9DTUQsIHVpbnQxNl90ICpwUkNBKTsKIAogLyogRXhwb3J0ZWQgZnVuY3Rpb25zIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KIApAQCAtMzExLDEwICszMDYsNiBAQAogICAvKiBTZXQgcG93ZXIgc3RhdGUgdG8gT04gKi8gCiAgIFNESU94LT5QT1dFUiA9IFNESU9fUE9XRVJfUFdSQ1RSTDsKIAotICAvKiAxbXM6IHJlcXVpcmVkIHBvd2VyIHVwIHdhaXRpbmcgdGltZSBiZWZvcmUgc3RhcnRpbmcgdGhlIFNEIGluaXRpYWxpemF0aW9uCi0gIHNlcXVlbmNlICovCi0gIEhBTF9EZWxheSgyKTsKLSAgCiAgIHJldHVybiBIQUxfT0s7CiB9CiAKQEAgLTEwMjcsNiArMTAxOCwzMSBAQAogfQogCiAvKioKKyAgKiBAYnJpZWYgIFNlbmQgdGhlIFNldCBSZWxhdGl2ZSBBZGRyZXNzIGNvbW1hbmQgdG8gTU1DIGNhcmQgKG5vdCBTRCBjYXJkKS4KKyAgKiBAcGFyYW0gIFNESU94IFBvaW50ZXIgdG8gU0RJTyByZWdpc3RlciBiYXNlCisgICogQHBhcmFtICBSQ0EgQ2FyZCBSQ0EKKyAgKiBAcmV0dmFsIEhBTCBzdGF0dXMKKyAgKi8KK3VpbnQzMl90IFNETU1DX0NtZFNldFJlbEFkZE1tYyhTRElPX1R5cGVEZWYgKlNESU94LCB1aW50MTZfdCBSQ0EpCit7CisgIFNESU9fQ21kSW5pdFR5cGVEZWYgIHNkbW1jX2NtZGluaXQ7CisgIHVpbnQzMl90IGVycm9yc3RhdGU7CisKKyAgLyogU2VuZCBDTUQzIFNEX0NNRF9TRVRfUkVMX0FERFIgKi8KKyAgc2RtbWNfY21kaW5pdC5Bcmd1bWVudCAgICAgICAgID0gKCh1aW50MzJfdClSQ0EgPDwgMTZVKTsKKyAgc2RtbWNfY21kaW5pdC5DbWRJbmRleCAgICAgICAgID0gU0RNTUNfQ01EX1NFVF9SRUxfQUREUjsKKyAgc2RtbWNfY21kaW5pdC5SZXNwb25zZSAgICAgICAgID0gU0RJT19SRVNQT05TRV9TSE9SVDsKKyAgc2RtbWNfY21kaW5pdC5XYWl0Rm9ySW50ZXJydXB0ID0gU0RJT19XQUlUX05POworICBzZG1tY19jbWRpbml0LkNQU00gICAgICAgICAgICAgPSBTRElPX0NQU01fRU5BQkxFOworICAodm9pZClTRElPX1NlbmRDb21tYW5kKFNESU94LCAmc2RtbWNfY21kaW5pdCk7CisKKyAgLyogQ2hlY2sgZm9yIGVycm9yIGNvbmRpdGlvbnMgKi8KKyAgZXJyb3JzdGF0ZSA9IFNETU1DX0dldENtZFJlc3AxKFNESU94LCBTRE1NQ19DTURfU0VUX1JFTF9BRERSLCBTRElPX0NNRFRJTUVPVVQpOworCisgIHJldHVybiBlcnJvcnN0YXRlOworfQorCisvKioKICAgKiBAYnJpZWYgIFNlbmQgdGhlIFN0YXR1cyBjb21tYW5kIGFuZCBjaGVjayB0aGUgcmVzcG9uc2UuCiAgICogQHBhcmFtICBTRElPeDogUG9pbnRlciB0byBTRElPIHJlZ2lzdGVyIGJhc2UgCiAgICogQHBhcmFtICBBcmd1bWVudDogQ29tbWFuZCBBcmd1bWVudApAQCAtMTEyNSw0NyArMTE0MSw1NCBAQAogfQogCiAvKioKLSAgKiBAfQorICAqIEBicmllZiAgU2VuZCB0aGUgU2VuZCBFWFRfQ1NEIGNvbW1hbmQgYW5kIGNoZWNrIHRoZSByZXNwb25zZS4KKyAgKiBAcGFyYW0gIFNESU94IFBvaW50ZXIgdG8gU0RNTUMgcmVnaXN0ZXIgYmFzZQorICAqIEBwYXJhbSAgQXJndW1lbnQgQ29tbWFuZCBBcmd1bWVudAorICAqIEByZXR2YWwgSEFMIHN0YXR1cwogICAqLwotCi0vKiBQcml2YXRlIGZ1bmN0aW9uIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLyAgCi0vKiogQGFkZHRvZ3JvdXAgU0RfUHJpdmF0ZV9GdW5jdGlvbnMKLSAgKiBAewotICAqLwotICAgIAotLyoqCi0gICogQGJyaWVmICBDaGVja3MgZm9yIGVycm9yIGNvbmRpdGlvbnMgZm9yIENNRDAuCi0gICogQHBhcmFtICBoc2Q6IFNEIGhhbmRsZQotICAqIEByZXR2YWwgU0QgQ2FyZCBlcnJvciBzdGF0ZQotICAqLwotc3RhdGljIHVpbnQzMl90IFNETU1DX0dldENtZEVycm9yKFNESU9fVHlwZURlZiAqU0RJT3gpCit1aW50MzJfdCBTRE1NQ19DbWRTZW5kRVhUQ1NEKFNESU9fVHlwZURlZiAqU0RJT3gsIHVpbnQzMl90IEFyZ3VtZW50KQogewotICAvKiA4IGlzIHRoZSBudW1iZXIgb2YgcmVxdWlyZWQgaW5zdHJ1Y3Rpb25zIGN5Y2xlcyBmb3IgdGhlIGJlbG93IGxvb3Agc3RhdGVtZW50LgotICBUaGUgU0RJT19DTURUSU1FT1VUIGlzIGV4cHJlc3NlZCBpbiBtcyAqLwotICB1aW50MzJfdCBjb3VudCA9IFNESU9fQ01EVElNRU9VVCAqIChTeXN0ZW1Db3JlQ2xvY2sgLyA4VSAvMTAwMFUpOwotICAKLSAgZG8KLSAgewotICAgIGlmIChjb3VudC0tID09IDBVKQotICAgIHsKLSAgICAgIHJldHVybiBTRE1NQ19FUlJPUl9USU1FT1VUOwotICAgIH0KLSAgICAKLSAgfXdoaWxlKCFfX1NESU9fR0VUX0ZMQUcoU0RJT3gsIFNESU9fRkxBR19DTURTRU5UKSk7Ci0gIAotICAvKiBDbGVhciBhbGwgdGhlIHN0YXRpYyBmbGFncyAqLwotICBfX1NESU9fQ0xFQVJfRkxBRyhTRElPeCwgU0RJT19TVEFUSUNfQ01EX0ZMQUdTKTsKLSAgCi0gIHJldHVybiBTRE1NQ19FUlJPUl9OT05FOworICBTRElPX0NtZEluaXRUeXBlRGVmICBzZG1tY19jbWRpbml0OworICB1aW50MzJfdCBlcnJvcnN0YXRlOworCisgIC8qIFNlbmQgQ01EOSBTRU5EX0NTRCAqLworICBzZG1tY19jbWRpbml0LkFyZ3VtZW50ICAgICAgICAgPSBBcmd1bWVudDsKKyAgc2RtbWNfY21kaW5pdC5DbWRJbmRleCAgICAgICAgID0gU0RNTUNfQ01EX0hTX1NFTkRfRVhUX0NTRDsKKyAgc2RtbWNfY21kaW5pdC5SZXNwb25zZSAgICAgICAgID0gU0RJT19SRVNQT05TRV9TSE9SVDsKKyAgc2RtbWNfY21kaW5pdC5XYWl0Rm9ySW50ZXJydXB0ID0gU0RJT19XQUlUX05POworICBzZG1tY19jbWRpbml0LkNQU00gICAgICAgICAgICAgPSBTRElPX0NQU01fRU5BQkxFOworICAodm9pZClTRElPX1NlbmRDb21tYW5kKFNESU94LCAmc2RtbWNfY21kaW5pdCk7CisKKyAgLyogQ2hlY2sgZm9yIGVycm9yIGNvbmRpdGlvbnMgKi8KKyAgZXJyb3JzdGF0ZSA9IFNETU1DX0dldENtZFJlc3AxKFNESU94LCBTRE1NQ19DTURfSFNfU0VORF9FWFRfQ1NELFNESU9fQ01EVElNRU9VVCk7CisKKyAgcmV0dXJuIGVycm9yc3RhdGU7CiB9CiAKIC8qKgorICAqIEB9CisgICovCisKKy8qKiBAZGVmZ3JvdXAgSEFMX1NETU1DX0xMX0dyb3VwNSBSZXNwb25zZXMgbWFuYWdlbWVudCBmdW5jdGlvbnMKKyAqICBAYnJpZWYgICBSZXNwb25zZXMgZnVuY3Rpb25zCisgKgorQHZlcmJhdGltCisgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorICAgICAgICAgICAgICAgICAgICMjIyMjIFJlc3BvbnNlcyBtYW5hZ2VtZW50IGZ1bmN0aW9ucyAjIyMjIworID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyAgICBbLi5dCisgICAgVGhpcyBzdWJzZWN0aW9uIHByb3ZpZGVzIGEgc2V0IG9mIGZ1bmN0aW9ucyBhbGxvd2luZyB0byBtYW5hZ2UgdGhlIG5lZWRlZCByZXNwb25zZXMuCisKK0BlbmR2ZXJiYXRpbQorICAqIEB7CisgICovCisvKioKICAgKiBAYnJpZWYgIENoZWNrcyBmb3IgZXJyb3IgY29uZGl0aW9ucyBmb3IgUjEgcmVzcG9uc2UuCi0gICogQHBhcmFtICBoc2Q6IFNEIGhhbmRsZQorICAqIEBwYXJhbSAgU0RJT3ggUG9pbnRlciB0byBTRE1NQyByZWdpc3RlciBiYXNlCiAgICogQHBhcmFtICBTRF9DTUQ6IFRoZSBzZW50IGNvbW1hbmQgaW5kZXggIAogICAqIEByZXR2YWwgU0QgQ2FyZCBlcnJvciBzdGF0ZQogICAqLwotc3RhdGljIHVpbnQzMl90IFNETU1DX0dldENtZFJlc3AxKFNESU9fVHlwZURlZiAqU0RJT3gsIHVpbnQ4X3QgU0RfQ01ELCB1aW50MzJfdCBUaW1lb3V0KQordWludDMyX3QgU0RNTUNfR2V0Q21kUmVzcDEoU0RJT19UeXBlRGVmICpTRElPeCwgdWludDhfdCBTRF9DTUQsIHVpbnQzMl90IFRpbWVvdXQpCiB7CiAgIHVpbnQzMl90IHJlc3BvbnNlX3IxOwogICB1aW50MzJfdCBzdGFfcmVnOwpAQCAtMTI5NywxMCArMTMyMCwxMCBAQAogCiAvKioKICAgKiBAYnJpZWYgIENoZWNrcyBmb3IgZXJyb3IgY29uZGl0aW9ucyBmb3IgUjIgKENJRCBvciBDU0QpIHJlc3BvbnNlLgotICAqIEBwYXJhbSAgaHNkOiBTRCBoYW5kbGUKKyAgKiBAcGFyYW0gIFNESU94IFBvaW50ZXIgdG8gU0RNTUMgcmVnaXN0ZXIgYmFzZQogICAqIEByZXR2YWwgU0QgQ2FyZCBlcnJvciBzdGF0ZQogICAqLwotc3RhdGljIHVpbnQzMl90IFNETU1DX0dldENtZFJlc3AyKFNESU9fVHlwZURlZiAqU0RJT3gpCit1aW50MzJfdCBTRE1NQ19HZXRDbWRSZXNwMihTRElPX1R5cGVEZWYgKlNESU94KQogewogICB1aW50MzJfdCBzdGFfcmVnOwogICAvKiA4IGlzIHRoZSBudW1iZXIgb2YgcmVxdWlyZWQgaW5zdHJ1Y3Rpb25zIGN5Y2xlcyBmb3IgdGhlIGJlbG93IGxvb3Agc3RhdGVtZW50LgpAQCAtMTM0MSwxMCArMTM2NCwxMCBAQAogCiAvKioKICAgKiBAYnJpZWYgIENoZWNrcyBmb3IgZXJyb3IgY29uZGl0aW9ucyBmb3IgUjMgKE9DUikgcmVzcG9uc2UuCi0gICogQHBhcmFtICBoc2Q6IFNEIGhhbmRsZQorICAqIEBwYXJhbSAgU0RJT3ggUG9pbnRlciB0byBTRE1NQyByZWdpc3RlciBiYXNlCiAgICogQHJldHZhbCBTRCBDYXJkIGVycm9yIHN0YXRlCiAgICovCi1zdGF0aWMgdWludDMyX3QgU0RNTUNfR2V0Q21kUmVzcDMoU0RJT19UeXBlRGVmICpTRElPeCkKK3VpbnQzMl90IFNETU1DX0dldENtZFJlc3AzKFNESU9fVHlwZURlZiAqU0RJT3gpCiB7CiAgIHVpbnQzMl90IHN0YV9yZWc7CiAgIC8qIDggaXMgdGhlIG51bWJlciBvZiByZXF1aXJlZCBpbnN0cnVjdGlvbnMgY3ljbGVzIGZvciB0aGUgYmVsb3cgbG9vcCBzdGF0ZW1lbnQuCkBAIC0xMzc4LDEzICsxNDAxLDEzIEBACiAKIC8qKgogICAqIEBicmllZiAgQ2hlY2tzIGZvciBlcnJvciBjb25kaXRpb25zIGZvciBSNiAoUkNBKSByZXNwb25zZS4KLSAgKiBAcGFyYW0gIGhzZDogU0QgaGFuZGxlCisgICogQHBhcmFtICBTRElPeCBQb2ludGVyIHRvIFNETU1DIHJlZ2lzdGVyIGJhc2UKICAgKiBAcGFyYW0gIFNEX0NNRDogVGhlIHNlbnQgY29tbWFuZCBpbmRleAogICAqIEBwYXJhbSAgcFJDQTogUG9pbnRlciB0byB0aGUgdmFyaWFibGUgdGhhdCB3aWxsIGNvbnRhaW4gdGhlIFNEIGNhcmQgcmVsYXRpdmUgCiAgICogICAgICAgICBhZGRyZXNzIFJDQSAgIAogICAqIEByZXR2YWwgU0QgQ2FyZCBlcnJvciBzdGF0ZQogICAqLwotc3RhdGljIHVpbnQzMl90IFNETU1DX0dldENtZFJlc3A2KFNESU9fVHlwZURlZiAqU0RJT3gsIHVpbnQ4X3QgU0RfQ01ELCB1aW50MTZfdCAqcFJDQSkKK3VpbnQzMl90IFNETU1DX0dldENtZFJlc3A2KFNESU9fVHlwZURlZiAqU0RJT3gsIHVpbnQ4X3QgU0RfQ01ELCB1aW50MTZfdCAqcFJDQSkKIHsKICAgdWludDMyX3QgcmVzcG9uc2VfcjE7CiAgIHVpbnQzMl90IHN0YV9yZWc7CkBAIC0xNDU0LDEwICsxNDc3LDEwIEBACiAKIC8qKgogICAqIEBicmllZiAgQ2hlY2tzIGZvciBlcnJvciBjb25kaXRpb25zIGZvciBSNyByZXNwb25zZS4KLSAgKiBAcGFyYW0gIGhzZDogU0QgaGFuZGxlCisgICogQHBhcmFtICBTRElPeCBQb2ludGVyIHRvIFNETU1DIHJlZ2lzdGVyIGJhc2UKICAgKiBAcmV0dmFsIFNEIENhcmQgZXJyb3Igc3RhdGUKICAgKi8KLXN0YXRpYyB1aW50MzJfdCBTRE1NQ19HZXRDbWRSZXNwNyhTRElPX1R5cGVEZWYgKlNESU94KQordWludDMyX3QgU0RNTUNfR2V0Q21kUmVzcDcoU0RJT19UeXBlRGVmICpTRElPeCkKIHsKICAgdWludDMyX3Qgc3RhX3JlZzsKICAgLyogOCBpcyB0aGUgbnVtYmVyIG9mIHJlcXVpcmVkIGluc3RydWN0aW9ucyBjeWNsZXMgZm9yIHRoZSBiZWxvdyBsb29wIHN0YXRlbWVudC4KQEAgLTE1MDQsMjggKzE1MjcsMzggQEAKIH0KIAogLyoqCi0gICogQGJyaWVmICBTZW5kIHRoZSBTZW5kIEVYVF9DU0QgY29tbWFuZCBhbmQgY2hlY2sgdGhlIHJlc3BvbnNlLgotICAqIEBwYXJhbSAgU0RJT3g6IFBvaW50ZXIgdG8gU0RNTUMgcmVnaXN0ZXIgYmFzZQotICAqIEBwYXJhbSAgQXJndW1lbnQ6IENvbW1hbmQgQXJndW1lbnQKLSAgKiBAcmV0dmFsIEhBTCBzdGF0dXMKKyAgKiBAfQogICAqLwotdWludDMyX3QgU0RNTUNfQ21kU2VuZEVYVENTRChTRElPX1R5cGVEZWYgKlNESU94LCB1aW50MzJfdCBBcmd1bWVudCkKKworLyogUHJpdmF0ZSBmdW5jdGlvbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8gIAorLyoqIEBhZGR0b2dyb3VwIFNEX1ByaXZhdGVfRnVuY3Rpb25zCisgICogQHsKKyAgKi8KKyAgICAKKy8qKgorICAqIEBicmllZiAgQ2hlY2tzIGZvciBlcnJvciBjb25kaXRpb25zIGZvciBDTUQwLgorICAqIEBwYXJhbSAgU0RJT3ggUG9pbnRlciB0byBTRE1NQyByZWdpc3RlciBiYXNlCisgICogQHJldHZhbCBTRCBDYXJkIGVycm9yIHN0YXRlCisgICovCitzdGF0aWMgdWludDMyX3QgU0RNTUNfR2V0Q21kRXJyb3IoU0RJT19UeXBlRGVmICpTRElPeCkKIHsKLSAgU0RJT19DbWRJbml0VHlwZURlZiAgc2RtbWNfY21kaW5pdDsKLSAgdWludDMyX3QgZXJyb3JzdGF0ZTsKLQotICAvKiBTZW5kIENNRDkgU0VORF9DU0QgKi8KLSAgc2RtbWNfY21kaW5pdC5Bcmd1bWVudCAgICAgICAgID0gQXJndW1lbnQ7Ci0gIHNkbW1jX2NtZGluaXQuQ21kSW5kZXggICAgICAgICA9IFNETU1DX0NNRF9IU19TRU5EX0VYVF9DU0Q7Ci0gIHNkbW1jX2NtZGluaXQuUmVzcG9uc2UgICAgICAgICA9IFNESU9fUkVTUE9OU0VfU0hPUlQ7Ci0gIHNkbW1jX2NtZGluaXQuV2FpdEZvckludGVycnVwdCA9IFNESU9fV0FJVF9OTzsKLSAgc2RtbWNfY21kaW5pdC5DUFNNICAgICAgICAgICAgID0gU0RJT19DUFNNX0VOQUJMRTsKLSAgKHZvaWQpU0RJT19TZW5kQ29tbWFuZChTRElPeCwgJnNkbW1jX2NtZGluaXQpOwotCi0gIC8qIENoZWNrIGZvciBlcnJvciBjb25kaXRpb25zICovCi0gIGVycm9yc3RhdGUgPSBTRE1NQ19HZXRDbWRSZXNwMShTRElPeCwgU0RNTUNfQ01EX0hTX1NFTkRfRVhUX0NTRCxTRElPX0NNRFRJTUVPVVQpOwotCi0gIHJldHVybiBlcnJvcnN0YXRlOworICAvKiA4IGlzIHRoZSBudW1iZXIgb2YgcmVxdWlyZWQgaW5zdHJ1Y3Rpb25zIGN5Y2xlcyBmb3IgdGhlIGJlbG93IGxvb3Agc3RhdGVtZW50LgorICBUaGUgU0RJT19DTURUSU1FT1VUIGlzIGV4cHJlc3NlZCBpbiBtcyAqLworICB1aW50MzJfdCBjb3VudCA9IFNESU9fQ01EVElNRU9VVCAqIChTeXN0ZW1Db3JlQ2xvY2sgLyA4VSAvMTAwMFUpOworICAKKyAgZG8KKyAgeworICAgIGlmIChjb3VudC0tID09IDBVKQorICAgIHsKKyAgICAgIHJldHVybiBTRE1NQ19FUlJPUl9USU1FT1VUOworICAgIH0KKyAgICAKKyAgfXdoaWxlKCFfX1NESU9fR0VUX0ZMQUcoU0RJT3gsIFNESU9fRkxBR19DTURTRU5UKSk7CisgIAorICAvKiBDbGVhciBhbGwgdGhlIHN0YXRpYyBmbGFncyAqLworICBfX1NESU9fQ0xFQVJfRkxBRyhTRElPeCwgU0RJT19TVEFUSUNfQ01EX0ZMQUdTKTsKKyAgCisgIHJldHVybiBTRE1NQ19FUlJPUl9OT05FOwogfQogCiAKQEAgLTE1NDMsNSArMTU3NiwzIEBACiAgICovCiAKICNlbmRpZiAvKiBTRElPICovCi0KLS8qKioqKioqKioqKioqKioqKioqKioqKiogKEMpIENPUFlSSUdIVCBTVE1pY3JvZWxlY3Ryb25pY3MgKioqKipFTkQgT0YgRklMRSoqKiovCmRpZmYgLS1naXQgYS9TcmMvc3RtMzJmNHh4X2xsX3NwaS5jIGIvU3JjL3N0bTMyZjR4eF9sbF9zcGkuYwppbmRleCAyZmRlMTgwLi4wMmEwNzQwIDEwMDY0NAotLS0gYS9TcmMvc3RtMzJmNHh4X2xsX3NwaS5jCisrKyBiL1NyYy9zdG0zMmY0eHhfbGxfc3BpLmMKQEAgLTYsMTMgKzYsMTIgQEAKICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICogQGF0dGVudGlvbgogICAqCi0gICogPGgyPjxjZW50ZXI+JmNvcHk7IENvcHlyaWdodCAoYykgMjAxNiBTVE1pY3JvZWxlY3Ryb25pY3MuCi0gICogQWxsIHJpZ2h0cyByZXNlcnZlZC48L2NlbnRlcj48L2gyPgorICAqIENvcHlyaWdodCAoYykgMjAxNiBTVE1pY3JvZWxlY3Ryb25pY3MuCisgICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgKgotICAqIFRoaXMgc29mdHdhcmUgY29tcG9uZW50IGlzIGxpY2Vuc2VkIGJ5IFNUIHVuZGVyIEJTRCAzLUNsYXVzZSBsaWNlbnNlLAotICAqIHRoZSAiTGljZW5zZSI7IFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUKLSAgKiBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQ6Ci0gICogICAgICAgICAgICAgICAgICAgICAgICBvcGVuc291cmNlLm9yZy9saWNlbnNlcy9CU0QtMy1DbGF1c2UKKyAgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIHVuZGVyIHRlcm1zIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUKKyAgKiBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb2Z0d2FyZSBjb21wb25lbnQuCisgICogSWYgbm8gTElDRU5TRSBmaWxlIGNvbWVzIHdpdGggdGhpcyBzb2Z0d2FyZSwgaXQgaXMgcHJvdmlkZWQgQVMtSVMuCiAgICoKICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICovCkBAIC02MjMsNCArNjIyLDMgQEAKIAogI2VuZGlmIC8qIFVTRV9GVUxMX0xMX0RSSVZFUiAqLwogCi0vKioqKioqKioqKioqKioqKioqKioqKioqIChDKSBDT1BZUklHSFQgU1RNaWNyb2VsZWN0cm9uaWNzICoqKioqRU5EIE9GIEZJTEUqKioqLwpkaWZmIC0tZ2l0IGEvU3JjL3N0bTMyZjR4eF9sbF90aW0uYyBiL1NyYy9zdG0zMmY0eHhfbGxfdGltLmMKaW5kZXggMDg5YzVhZC4uYjI3MmI2MiAxMDA2NDQKLS0tIGEvU3JjL3N0bTMyZjR4eF9sbF90aW0uYworKysgYi9TcmMvc3RtMzJmNHh4X2xsX3RpbS5jCkBAIC02LDEzICs2LDEyIEBACiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqIEBhdHRlbnRpb24KICAgKgotICAqIDxoMj48Y2VudGVyPiZjb3B5OyBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9jZW50ZXI+PC9oMj4KKyAgKiBDb3B5cmlnaHQgKGMpIDIwMTYgU1RNaWNyb2VsZWN0cm9uaWNzLgorICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICoKLSAgKiBUaGlzIHNvZnR3YXJlIGNvbXBvbmVudCBpcyBsaWNlbnNlZCBieSBTVCB1bmRlciBCU0QgMy1DbGF1c2UgbGljZW5zZSwKLSAgKiB0aGUgIkxpY2Vuc2UiOyBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlCi0gICogTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0OgotICAqICAgICAgICAgICAgICAgICAgICAgICAgb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvQlNELTMtQ2xhdXNlCisgICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciB0ZXJtcyB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlCisgICogaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc29mdHdhcmUgY29tcG9uZW50LgorICAqIElmIG5vIExJQ0VOU0UgZmlsZSBjb21lcyB3aXRoIHRoaXMgc29mdHdhcmUsIGl0IGlzIHByb3ZpZGVkIEFTLUlTLgogICAqCiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqLwpAQCAtMTE4OCw0ICsxMTg3LDMgQEAKIAogI2VuZGlmIC8qIFVTRV9GVUxMX0xMX0RSSVZFUiAqLwogCi0vKioqKioqKioqKioqKioqKioqKioqKioqIChDKSBDT1BZUklHSFQgU1RNaWNyb2VsZWN0cm9uaWNzICoqKioqRU5EIE9GIEZJTEUqKioqLwpkaWZmIC0tZ2l0IGEvU3JjL3N0bTMyZjR4eF9sbF91c2FydC5jIGIvU3JjL3N0bTMyZjR4eF9sbF91c2FydC5jCmluZGV4IDE1MGQ4YmIuLjNjZjY4ZTMgMTAwNjQ0Ci0tLSBhL1NyYy9zdG0zMmY0eHhfbGxfdXNhcnQuYworKysgYi9TcmMvc3RtMzJmNHh4X2xsX3VzYXJ0LmMKQEAgLTYsMTMgKzYsMTIgQEAKICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICogQGF0dGVudGlvbgogICAqCi0gICogPGgyPjxjZW50ZXI+JmNvcHk7IENvcHlyaWdodCAoYykgMjAxNiBTVE1pY3JvZWxlY3Ryb25pY3MuCi0gICogQWxsIHJpZ2h0cyByZXNlcnZlZC48L2NlbnRlcj48L2gyPgorICAqIENvcHlyaWdodCAoYykgMjAxNiBTVE1pY3JvZWxlY3Ryb25pY3MuCisgICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgKgotICAqIFRoaXMgc29mdHdhcmUgY29tcG9uZW50IGlzIGxpY2Vuc2VkIGJ5IFNUIHVuZGVyIEJTRCAzLUNsYXVzZSBsaWNlbnNlLAotICAqIHRoZSAiTGljZW5zZSI7IFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUKLSAgKiBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQ6Ci0gICogICAgICAgICAgICAgICAgICAgICAgICBvcGVuc291cmNlLm9yZy9saWNlbnNlcy9CU0QtMy1DbGF1c2UKKyAgKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIHVuZGVyIHRlcm1zIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUKKyAgKiBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb2Z0d2FyZSBjb21wb25lbnQuCisgICogSWYgbm8gTElDRU5TRSBmaWxlIGNvbWVzIHdpdGggdGhpcyBzb2Z0d2FyZSwgaXQgaXMgcHJvdmlkZWQgQVMtSVMuCiAgICoKICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgICovCkBAIC00OTgsNSArNDk3LDQgQEAKIAogI2VuZGlmIC8qIFVTRV9GVUxMX0xMX0RSSVZFUiAqLwogCi0vKioqKioqKioqKioqKioqKioqKioqKioqIChDKSBDT1BZUklHSFQgU1RNaWNyb2VsZWN0cm9uaWNzICoqKioqRU5EIE9GIEZJTEUqKioqLwogCmRpZmYgLS1naXQgYS9TcmMvc3RtMzJmNHh4X2xsX3VzYi5jIGIvU3JjL3N0bTMyZjR4eF9sbF91c2IuYwppbmRleCBjZGQ4MzdkLi4xZGY1ZmNmIDEwMDY0NAotLS0gYS9TcmMvc3RtMzJmNHh4X2xsX3VzYi5jCisrKyBiL1NyYy9zdG0zMmY0eHhfbGxfdXNiLmMKQEAgLTExLDYgKzExLDE3IEBACiAgICogICAgICAgICAgICsgUGVyaXBoZXJhbCBDb250cm9sIGZ1bmN0aW9ucwogICAqICAgICAgICAgICArIFBlcmlwaGVyYWwgU3RhdGUgZnVuY3Rpb25zCiAgICoKKyAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgICogQGF0dGVudGlvbgorICAqCisgICogQ29weXJpZ2h0IChjKSAyMDE2IFNUTWljcm9lbGVjdHJvbmljcy4KKyAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICAqCisgICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciB0ZXJtcyB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlCisgICogaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc29mdHdhcmUgY29tcG9uZW50LgorICAqIElmIG5vIExJQ0VOU0UgZmlsZSBjb21lcyB3aXRoIHRoaXMgc29mdHdhcmUsIGl0IGlzIHByb3ZpZGVkIEFTLUlTLgorICAqCisgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICBAdmVyYmF0aW0KICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAgICAgICAgICAgICAgICAgICMjIyMjIEhvdyB0byB1c2UgdGhpcyBkcml2ZXIgIyMjIyMKQEAgLTIzLDE3ICszNCw3IEBACiAgICAgICAoIykgVGhlIHVwcGVyIEhBTCBIQ0QvUENEIGRyaXZlciB3aWxsIGNhbGwgdGhlIHJpZ2h0IHJvdXRpbmVzIGZvciBpdHMgaW50ZXJuYWwgcHJvY2Vzc2VzLgogCiAgIEBlbmR2ZXJiYXRpbQotICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAgKiBAYXR0ZW50aW9uCi0gICoKLSAgKiA8aDI+PGNlbnRlcj4mY29weTsgQ29weXJpZ2h0IChjKSAyMDE2IFNUTWljcm9lbGVjdHJvbmljcy4KLSAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvY2VudGVyPjwvaDI+Ci0gICoKLSAgKiBUaGlzIHNvZnR3YXJlIGNvbXBvbmVudCBpcyBsaWNlbnNlZCBieSBTVCB1bmRlciBCU0QgMy1DbGF1c2UgbGljZW5zZSwKLSAgKiB0aGUgIkxpY2Vuc2UiOyBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlCi0gICogTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0OgotICAqICAgICAgICAgICAgICAgICAgICAgICAgb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvQlNELTMtQ2xhdXNlCi0gICoKKwogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgKi8KIApAQCAtODIsNyArODMsNiBAQAogSEFMX1N0YXR1c1R5cGVEZWYgVVNCX0NvcmVJbml0KFVTQl9PVEdfR2xvYmFsVHlwZURlZiAqVVNCeCwgVVNCX09UR19DZmdUeXBlRGVmIGNmZykKIHsKICAgSEFMX1N0YXR1c1R5cGVEZWYgcmV0OwotCiAgIGlmIChjZmcucGh5X2l0ZmFjZSA9PSBVU0JfT1RHX1VMUElfUEhZKQogICB7CiAgICAgVVNCeC0+R0NDRkcgJj0gfihVU0JfT1RHX0dDQ0ZHX1BXUkRXTik7CkBAIC00NjIsNyArNDYyLDcgQEAKIH0KIAogLyoqCi0gICogQGJyaWVmICBVU0JfT1RHX0ZsdXNoVHhGaWZvIDogRmx1c2ggYSBUeCBGSUZPCisgICogQGJyaWVmICBVU0JfRmx1c2hUeEZpZm8gRmx1c2ggYSBUeCBGSUZPCiAgICogQHBhcmFtICBVU0J4ICBTZWxlY3RlZCBkZXZpY2UKICAgKiBAcGFyYW0gIG51bSAgRklGTyBudW1iZXIKICAgKiAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBiZSBhIHZhbHVlIGZyb20gMSB0byAxNQpAQCAtNDczLDExICs0NzMsMjYgQEAKIHsKICAgX19JTyB1aW50MzJfdCBjb3VudCA9IDBVOwogCisgIC8qIFdhaXQgZm9yIEFIQiBtYXN0ZXIgSURMRSBzdGF0ZS4gKi8KKyAgZG8KKyAgeworICAgIGNvdW50Kys7CisKKyAgICBpZiAoY291bnQgPiAyMDAwMDBVKQorICAgIHsKKyAgICAgIHJldHVybiBIQUxfVElNRU9VVDsKKyAgICB9CisgIH0gd2hpbGUgKChVU0J4LT5HUlNUQ1RMICYgVVNCX09UR19HUlNUQ1RMX0FIQklETCkgPT0gMFUpOworCisgIC8qIEZsdXNoIFRYIEZpZm8gKi8KKyAgY291bnQgPSAwVTsKICAgVVNCeC0+R1JTVENUTCA9IChVU0JfT1RHX0dSU1RDVExfVFhGRkxTSCB8IChudW0gPDwgNikpOwogCiAgIGRvCiAgIHsKLSAgICBpZiAoKytjb3VudCA+IDIwMDAwMFUpCisgICAgY291bnQrKzsKKworICAgIGlmIChjb3VudCA+IDIwMDAwMFUpCiAgICAgewogICAgICAgcmV0dXJuIEhBTF9USU1FT1VUOwogICAgIH0KQEAgLTQ4Nyw3ICs1MDIsNyBAQAogfQogCiAvKioKLSAgKiBAYnJpZWYgIFVTQl9GbHVzaFJ4RmlmbyA6IEZsdXNoIFJ4IEZJRk8KKyAgKiBAYnJpZWYgIFVTQl9GbHVzaFJ4RmlmbyAgRmx1c2ggUnggRklGTwogICAqIEBwYXJhbSAgVVNCeCAgU2VsZWN0ZWQgZGV2aWNlCiAgICogQHJldHZhbCBIQUwgc3RhdHVzCiAgICovCkBAIC00OTUsMTEgKzUxMCwyNiBAQAogewogICBfX0lPIHVpbnQzMl90IGNvdW50ID0gMFU7CiAKKyAgLyogV2FpdCBmb3IgQUhCIG1hc3RlciBJRExFIHN0YXRlLiAqLworICBkbworICB7CisgICAgY291bnQrKzsKKworICAgIGlmIChjb3VudCA+IDIwMDAwMFUpCisgICAgeworICAgICAgcmV0dXJuIEhBTF9USU1FT1VUOworICAgIH0KKyAgfSB3aGlsZSAoKFVTQngtPkdSU1RDVEwgJiBVU0JfT1RHX0dSU1RDVExfQUhCSURMKSA9PSAwVSk7CisKKyAgLyogRmx1c2ggUlggRmlmbyAqLworICBjb3VudCA9IDBVOwogICBVU0J4LT5HUlNUQ1RMID0gVVNCX09UR19HUlNUQ1RMX1JYRkZMU0g7CiAKICAgZG8KICAgewotICAgIGlmICgrK2NvdW50ID4gMjAwMDAwVSkKKyAgICBjb3VudCsrOworCisgICAgaWYgKGNvdW50ID4gMjAwMDAwVSkKICAgICB7CiAgICAgICByZXR1cm4gSEFMX1RJTUVPVVQ7CiAgICAgfQpAQCAtODM0LDggKzg2NCwxMCBAQAogICAgIGVsc2UKICAgICB7CiAgICAgICBwa3RjbnQgPSAodWludDE2X3QpKChlcC0+eGZlcl9sZW4gKyBlcC0+bWF4cGFja2V0IC0gMVUpIC8gZXAtPm1heHBhY2tldCk7CisgICAgICBlcC0+eGZlcl9zaXplID0gZXAtPm1heHBhY2tldCAqIHBrdGNudDsKKwogICAgICAgVVNCeF9PVVRFUChlcG51bSktPkRPRVBUU0laIHw9IFVTQl9PVEdfRE9FUFRTSVpfUEtUQ05UICYgKCh1aW50MzJfdClwa3RjbnQgPDwgMTkpOwotICAgICAgVVNCeF9PVVRFUChlcG51bSktPkRPRVBUU0laIHw9IFVTQl9PVEdfRE9FUFRTSVpfWEZSU0laICYgKGVwLT5tYXhwYWNrZXQgKiBwa3RjbnQpOworICAgICAgVVNCeF9PVVRFUChlcG51bSktPkRPRVBUU0laIHw9IFVTQl9PVEdfRE9FUFRTSVpfWEZSU0laICYgZXAtPnhmZXJfc2l6ZTsKICAgICB9CiAKICAgICBpZiAoZG1hID09IDFVKQpAQCAtOTQzLDggKzk3NSwxMSBAQAogICAgICAgZXAtPnhmZXJfbGVuID0gZXAtPm1heHBhY2tldDsKICAgICB9CiAKKyAgICAvKiBTdG9yZSB0cmFuc2ZlciBzaXplLCBmb3IgRVAwIHRoaXMgaXMgZXF1YWwgdG8gZW5kcG9pbnQgbWF4IHBhY2tldCBzaXplICovCisgICAgZXAtPnhmZXJfc2l6ZSA9IGVwLT5tYXhwYWNrZXQ7CisKICAgICBVU0J4X09VVEVQKGVwbnVtKS0+RE9FUFRTSVogfD0gKFVTQl9PVEdfRE9FUFRTSVpfUEtUQ05UICYgKDFVIDw8IDE5KSk7Ci0gICAgVVNCeF9PVVRFUChlcG51bSktPkRPRVBUU0laIHw9IChVU0JfT1RHX0RPRVBUU0laX1hGUlNJWiAmIChlcC0+bWF4cGFja2V0KSk7CisgICAgVVNCeF9PVVRFUChlcG51bSktPkRPRVBUU0laIHw9IChVU0JfT1RHX0RPRVBUU0laX1hGUlNJWiAmIGVwLT54ZmVyX3NpemUpOwogCiAgICAgaWYgKGRtYSA9PSAxVSkKICAgICB7CkBAIC05NjEsNiArOTk2LDY0IEBACiAgIHJldHVybiBIQUxfT0s7CiB9CiAKKworLyoqCisgICAqIEBicmllZiAgVVNCX0VQU3RvcHRYZmVyICBTdG9wIHRyYW5zZmVyIG9uIGFuIEVQCisgICAqIEBwYXJhbSAgVVNCeCAgdXNiIGRldmljZSBpbnN0YW5jZQorICAgKiBAcGFyYW0gIGVwIHBvaW50ZXIgdG8gZW5kcG9pbnQgc3RydWN0dXJlCisgICAqIEByZXR2YWwgSEFMIHN0YXR1cworICAgKi8KK0hBTF9TdGF0dXNUeXBlRGVmIFVTQl9FUFN0b3BYZmVyKFVTQl9PVEdfR2xvYmFsVHlwZURlZiAqVVNCeCwgVVNCX09UR19FUFR5cGVEZWYgKmVwKQoreworICBfX0lPIHVpbnQzMl90IGNvdW50ID0gMFU7CisgIEhBTF9TdGF0dXNUeXBlRGVmIHJldCA9IEhBTF9PSzsKKyAgdWludDMyX3QgVVNCeF9CQVNFID0gKHVpbnQzMl90KVVTQng7CisKKyAgLyogSU4gZW5kcG9pbnQgKi8KKyAgaWYgKGVwLT5pc19pbiA9PSAxVSkKKyAgeworICAgIC8qIEVQIGVuYWJsZSwgSU4gZGF0YSBpbiBGSUZPICovCisgICAgaWYgKCgoVVNCeF9JTkVQKGVwLT5udW0pLT5ESUVQQ1RMKSAmIFVTQl9PVEdfRElFUENUTF9FUEVOQSkgPT0gVVNCX09UR19ESUVQQ1RMX0VQRU5BKQorICAgIHsKKyAgICAgIFVTQnhfSU5FUChlcC0+bnVtKS0+RElFUENUTCB8PSAoVVNCX09UR19ESUVQQ1RMX1NOQUspOworICAgICAgVVNCeF9JTkVQKGVwLT5udW0pLT5ESUVQQ1RMIHw9IChVU0JfT1RHX0RJRVBDVExfRVBESVMpOworCisgICAgICBkbworICAgICAgeworICAgICAgICBjb3VudCsrOworCisgICAgICAgIGlmIChjb3VudCA+IDEwMDAwVSkKKyAgICAgICAgeworICAgICAgICAgIHJldCA9IEhBTF9FUlJPUjsKKyAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgICAgfSB3aGlsZSAoKChVU0J4X0lORVAoZXAtPm51bSktPkRJRVBDVEwpICYgVVNCX09UR19ESUVQQ1RMX0VQRU5BKSA9PSAgVVNCX09UR19ESUVQQ1RMX0VQRU5BKTsKKyAgICB9CisgIH0KKyAgZWxzZSAvKiBPVVQgZW5kcG9pbnQgKi8KKyAgeworICAgIGlmICgoKFVTQnhfT1VURVAoZXAtPm51bSktPkRPRVBDVEwpICYgVVNCX09UR19ET0VQQ1RMX0VQRU5BKSA9PSBVU0JfT1RHX0RPRVBDVExfRVBFTkEpCisgICAgeworICAgICAgVVNCeF9PVVRFUChlcC0+bnVtKS0+RE9FUENUTCB8PSAoVVNCX09UR19ET0VQQ1RMX1NOQUspOworICAgICAgVVNCeF9PVVRFUChlcC0+bnVtKS0+RE9FUENUTCB8PSAoVVNCX09UR19ET0VQQ1RMX0VQRElTKTsKKworICAgICAgZG8KKyAgICAgIHsKKyAgICAgICAgY291bnQrKzsKKworICAgICAgICBpZiAoY291bnQgPiAxMDAwMFUpCisgICAgICAgIHsKKyAgICAgICAgICByZXQgPSBIQUxfRVJST1I7CisgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICAgIH0gd2hpbGUgKCgoVVNCeF9PVVRFUChlcC0+bnVtKS0+RE9FUENUTCkgJiBVU0JfT1RHX0RPRVBDVExfRVBFTkEpID09ICBVU0JfT1RHX0RPRVBDVExfRVBFTkEpOworICAgIH0KKyAgfQorCisgIHJldHVybiByZXQ7Cit9CisKKwogLyoqCiAgICogQGJyaWVmICBVU0JfV3JpdGVQYWNrZXQgOiBXcml0ZXMgYSBwYWNrZXQgaW50byB0aGUgVHggRklGTyBhc3NvY2lhdGVkCiAgICogICAgICAgICB3aXRoIHRoZSBFUC9jaGFubmVsCkBAIC0xMzcwLDcgKzE0NjMsOSBAQAogICAvKiBXYWl0IGZvciBBSEIgbWFzdGVyIElETEUgc3RhdGUuICovCiAgIGRvCiAgIHsKLSAgICBpZiAoKytjb3VudCA+IDIwMDAwMFUpCisgICAgY291bnQrKzsKKworICAgIGlmIChjb3VudCA+IDIwMDAwMFUpCiAgICAgewogICAgICAgcmV0dXJuIEhBTF9USU1FT1VUOwogICAgIH0KQEAgLTEzODIsNyArMTQ3Nyw5IEBACiAKICAgZG8KICAgewotICAgIGlmICgrK2NvdW50ID4gMjAwMDAwVSkKKyAgICBjb3VudCsrOworCisgICAgaWYgKGNvdW50ID4gMjAwMDAwVSkKICAgICB7CiAgICAgICByZXR1cm4gSEFMX1RJTUVPVVQ7CiAgICAgfQpAQCAtMTQwMSw2ICsxNDk4LDcgQEAKICAgKi8KIEhBTF9TdGF0dXNUeXBlRGVmIFVTQl9Ib3N0SW5pdChVU0JfT1RHX0dsb2JhbFR5cGVEZWYgKlVTQngsIFVTQl9PVEdfQ2ZnVHlwZURlZiBjZmcpCiB7CisgIEhBTF9TdGF0dXNUeXBlRGVmIHJldCA9IEhBTF9PSzsKICAgdWludDMyX3QgVVNCeF9CQVNFID0gKHVpbnQzMl90KVVTQng7CiAgIHVpbnQzMl90IGk7CiAKQEAgLTE0NDQsOCArMTU0MiwxNSBAQAogICB9CiAKICAgLyogTWFrZSBzdXJlIHRoZSBGSUZPcyBhcmUgZmx1c2hlZC4gKi8KLSAgKHZvaWQpVVNCX0ZsdXNoVHhGaWZvKFVTQngsIDB4MTBVKTsgLyogYWxsIFR4IEZJRk9zICovCi0gICh2b2lkKVVTQl9GbHVzaFJ4RmlmbyhVU0J4KTsKKyAgaWYgKFVTQl9GbHVzaFR4RmlmbyhVU0J4LCAweDEwVSkgIT0gSEFMX09LKSAvKiBhbGwgVHggRklGT3MgKi8KKyAgeworICAgIHJldCA9IEhBTF9FUlJPUjsKKyAgfQorCisgIGlmIChVU0JfRmx1c2hSeEZpZm8oVVNCeCkgIT0gSEFMX09LKQorICB7CisgICAgcmV0ID0gSEFMX0VSUk9SOworICB9CiAKICAgLyogQ2xlYXIgYWxsIHBlbmRpbmcgSEMgSW50ZXJydXB0cyAqLwogICBmb3IgKGkgPSAwVTsgaSA8IGNmZy5Ib3N0X2NoYW5uZWxzOyBpKyspCkBAIC0xNDg2LDcgKzE1OTEsNyBAQAogICAgICAgICAgICAgICAgICAgICBVU0JfT1RHX0dJTlRNU0tfU09GTSAgICAgICAgICAgICB8IFVTQl9PVEdfR0lOVFNUU19ESVNDSU5UIHwgXAogICAgICAgICAgICAgICAgICAgICBVU0JfT1RHX0dJTlRNU0tfUFhGUk1fSUlTT09YRlJNICB8IFVTQl9PVEdfR0lOVE1TS19XVUlNKTsKIAotICByZXR1cm4gSEFMX09LOworICByZXR1cm4gcmV0OwogfQogCiAvKioKQEAgLTE3MDMsNiArMTgwOCw5IEBACiAgICAgICBicmVhazsKICAgfQogCisgIC8qIEVuYWJsZSBob3N0IGNoYW5uZWwgSGFsdCBpbnRlcnJ1cHQgKi8KKyAgVVNCeF9IQygodWludDMyX3QpY2hfbnVtKS0+SENJTlRNU0sgfD0gVVNCX09UR19IQ0lOVE1TS19DSEhNOworCiAgIC8qIEVuYWJsZSB0aGUgdG9wIGxldmVsIGhvc3QgY2hhbm5lbCBpbnRlcnJ1cHQuICovCiAgIFVTQnhfSE9TVC0+SEFJTlRNU0sgfD0gMVVMIDw8IChjaF9udW0gJiAweEZVKTsKIApAQCAtMTczNiw5ICsxODQ0LDkgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCgodWludDMyX3QpZXBfdHlwZSA8PCAxOCkgJiBVU0JfT1RHX0hDQ0hBUl9FUFRZUCkgfAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KW1wcyAmIFVTQl9PVEdfSENDSEFSX01QU0laKSB8IEhDY2hhckVwRGlyIHwgSENjaGFyTG93U3BlZWQ7CiAKLSAgaWYgKGVwX3R5cGUgPT0gRVBfVFlQRV9JTlRSKQorICBpZiAoKGVwX3R5cGUgPT0gRVBfVFlQRV9JTlRSKSB8fCAoZXBfdHlwZSA9PSBFUF9UWVBFX0lTT0MpKQogICB7Ci0gICAgVVNCeF9IQygodWludDMyX3QpY2hfbnVtKS0+SENDSEFSIHw9IFVTQl9PVEdfSENDSEFSX09EREZSTSA7CisgICAgVVNCeF9IQygodWludDMyX3QpY2hfbnVtKS0+SENDSEFSIHw9IFVTQl9PVEdfSENDSEFSX09EREZSTTsKICAgfQogCiAgIHJldHVybiByZXQ7CkBAIC0xOTExLDcgKzIwMTksNyBAQAogewogICB1aW50MzJfdCBVU0J4X0JBU0UgPSAodWludDMyX3QpVVNCeDsKICAgdWludDMyX3QgaGNudW0gPSAodWludDMyX3QpaGNfbnVtOwotICB1aW50MzJfdCBjb3VudCA9IDBVOworICBfX0lPIHVpbnQzMl90IGNvdW50ID0gMFU7CiAgIHVpbnQzMl90IEhjRXBUeXBlID0gKFVTQnhfSEMoaGNudW0pLT5IQ0NIQVIgJiBVU0JfT1RHX0hDQ0hBUl9FUFRZUCkgPj4gMTg7CiAgIHVpbnQzMl90IENoYW5uZWxFbmEgPSAoVVNCeF9IQyhoY251bSktPkhDQ0hBUiAmIFVTQl9PVEdfSENDSEFSX0NIRU5BKSA+PiAzMTsKIApAQCAtMTkzMiwxMCArMjA0MCwxMSBAQAogICAgICAgewogICAgICAgICBVU0J4X0hDKGhjbnVtKS0+SENDSEFSICY9IH5VU0JfT1RHX0hDQ0hBUl9DSEVOQTsKICAgICAgICAgVVNCeF9IQyhoY251bSktPkhDQ0hBUiB8PSBVU0JfT1RHX0hDQ0hBUl9DSEVOQTsKLSAgICAgICAgVVNCeF9IQyhoY251bSktPkhDQ0hBUiAmPSB+VVNCX09UR19IQ0NIQVJfRVBESVI7CiAgICAgICAgIGRvCiAgICAgICAgIHsKLSAgICAgICAgICBpZiAoKytjb3VudCA+IDEwMDBVKQorICAgICAgICAgIGNvdW50Kys7CisKKyAgICAgICAgICBpZiAoY291bnQgPiAxMDAwVSkKICAgICAgICAgICB7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICB9CkBAIC0xOTU1LDEwICsyMDY0LDExIEBACiAgICAgewogICAgICAgVVNCeF9IQyhoY251bSktPkhDQ0hBUiAmPSB+VVNCX09UR19IQ0NIQVJfQ0hFTkE7CiAgICAgICBVU0J4X0hDKGhjbnVtKS0+SENDSEFSIHw9IFVTQl9PVEdfSENDSEFSX0NIRU5BOwotICAgICAgVVNCeF9IQyhoY251bSktPkhDQ0hBUiAmPSB+VVNCX09UR19IQ0NIQVJfRVBESVI7CiAgICAgICBkbwogICAgICAgewotICAgICAgICBpZiAoKytjb3VudCA+IDEwMDBVKQorICAgICAgICBjb3VudCsrOworCisgICAgICAgIGlmIChjb3VudCA+IDEwMDBVKQogICAgICAgICB7CiAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KQEAgLTIwMDYsMTYgKzIxMTYsMjQgQEAKICAgKi8KIEhBTF9TdGF0dXNUeXBlRGVmIFVTQl9TdG9wSG9zdChVU0JfT1RHX0dsb2JhbFR5cGVEZWYgKlVTQngpCiB7CisgIEhBTF9TdGF0dXNUeXBlRGVmIHJldCA9IEhBTF9PSzsKICAgdWludDMyX3QgVVNCeF9CQVNFID0gKHVpbnQzMl90KVVTQng7Ci0gIHVpbnQzMl90IGNvdW50ID0gMFU7CisgIF9fSU8gdWludDMyX3QgY291bnQgPSAwVTsKICAgdWludDMyX3QgdmFsdWU7CiAgIHVpbnQzMl90IGk7CiAKICAgKHZvaWQpVVNCX0Rpc2FibGVHbG9iYWxJbnQoVVNCeCk7CiAKLSAgLyogRmx1c2ggRklGTyAqLwotICAodm9pZClVU0JfRmx1c2hUeEZpZm8oVVNCeCwgMHgxMFUpOwotICAodm9pZClVU0JfRmx1c2hSeEZpZm8oVVNCeCk7CisgIC8qIEZsdXNoIFVTQiBGSUZPICovCisgIGlmIChVU0JfRmx1c2hUeEZpZm8oVVNCeCwgMHgxMFUpICE9IEhBTF9PSykgLyogYWxsIFR4IEZJRk9zICovCisgIHsKKyAgICByZXQgPSBIQUxfRVJST1I7CisgIH0KKworICBpZiAoVVNCX0ZsdXNoUnhGaWZvKFVTQngpICE9IEhBTF9PSykKKyAgeworICAgIHJldCA9IEhBTF9FUlJPUjsKKyAgfQogCiAgIC8qIEZsdXNoIG91dCBhbnkgbGVmdG92ZXIgcXVldWVkIHJlcXVlc3RzLiAqLwogICBmb3IgKGkgPSAwVTsgaSA8PSAxNVU7IGkrKykKQEAgLTIwMzgsNyArMjE1Niw5IEBACiAKICAgICBkbwogICAgIHsKLSAgICAgIGlmICgrK2NvdW50ID4gMTAwMFUpCisgICAgICBjb3VudCsrOworCisgICAgICBpZiAoY291bnQgPiAxMDAwVSkKICAgICAgIHsKICAgICAgICAgYnJlYWs7CiAgICAgICB9CkBAIC0yMDUxLDcgKzIxNzEsNyBAQAogCiAgICh2b2lkKVVTQl9FbmFibGVHbG9iYWxJbnQoVVNCeCk7CiAKLSAgcmV0dXJuIEhBTF9PSzsKKyAgcmV0dXJuIHJldDsKIH0KIAogLyoqCkBAIC0yMTAyLDUgKzIyMjIsMyBAQAogLyoqCiAgICogQH0KICAgKi8KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKiAoQykgQ09QWVJJR0hUIFNUTWljcm9lbGVjdHJvbmljcyAqKioqKkVORCBPRiBGSUxFKioqKi8KZGlmZiAtLWdpdCBhL1NyYy9zdG0zMmY0eHhfbGxfdXRpbHMuYyBiL1NyYy9zdG0zMmY0eHhfbGxfdXRpbHMuYwppbmRleCA5NmY2NTI3Li4zNGRmNmVhIDEwMDY0NAotLS0gYS9TcmMvc3RtMzJmNHh4X2xsX3V0aWxzLmMKKysrIGIvU3JjL3N0bTMyZjR4eF9sbF91dGlscy5jCkBAIC02LDEzICs2LDEyIEBACiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqIEBhdHRlbnRpb24KICAgKgotICAqIDxoMj48Y2VudGVyPiZjb3B5OyBDb3B5cmlnaHQgKGMpIDIwMTcgU1RNaWNyb2VsZWN0cm9uaWNzLgotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9jZW50ZXI+PC9oMj4KKyAgKiBDb3B5cmlnaHQgKGMpIDIwMTcgU1RNaWNyb2VsZWN0cm9uaWNzLgorICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICoKLSAgKiBUaGlzIHNvZnR3YXJlIGNvbXBvbmVudCBpcyBsaWNlbnNlZCBieSBTVCB1bmRlciBCU0QgMy1DbGF1c2UgbGljZW5zZSwKLSAgKiB0aGUgIkxpY2Vuc2UiOyBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlCi0gICogTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0OgotICAqICAgICAgICAgICAgICAgICAgICAgICAgb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvQlNELTMtQ2xhdXNlCisgICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciB0ZXJtcyB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlCisgICogaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc29mdHdhcmUgY29tcG9uZW50LgorICAqIElmIG5vIExJQ0VOU0UgZmlsZSBjb21lcyB3aXRoIHRoaXMgc29mdHdhcmUsIGl0IGlzIHByb3ZpZGVkIEFTLUlTLgogICAqCiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAqLwpAQCAtNzQ4LDUgKzc0NywzIEBACiAvKioKICAgKiBAfQogICAqLwotCi0vKioqKioqKioqKioqKioqKioqKioqKioqIChDKSBDT1BZUklHSFQgU1RNaWNyb2VsZWN0cm9uaWNzICoqKioqRU5EIE9GIEZJTEUqKioqLwo=