LyoqDQogKiBAZmlsZSAgICAgbW9ycGhvX3JlY3RfaW50LmgNCiAqIEBicmllZiAgICCL6Yxgg2aBW4NegsyNXJGikcyS6ItgDQogKiBAdmVyc2lvbiAgMS4wLjANCiAqIEBkYXRlICAgICAyMDA4LTA2LTA5DQogKg0KICogQ29weXJpZ2h0IChDKSAyMDA2LTIwMTIgTW9ycGhvLCBJbmMuDQogKi8NCg0KI2lmbmRlZiBNT1JQSE9fUkVDVF9JTlRfSA0KI2RlZmluZSBNT1JQSE9fUkVDVF9JTlRfSA0KDQojaWZkZWYgX19jcGx1c3BsdXMNCmV4dGVybiAiQyIgew0KI2VuZGlmDQoNCi8qKiCL6Yxgg2aBW4NeLiAqLw0KdHlwZWRlZiBzdHJ1Y3Qgew0KICAgIGludCBzeDsgLyoqPCBsZWZ0ICovDQogICAgaW50IHN5OyAvKio8IHRvcCAqLw0KICAgIGludCBleDsgLyoqPCByaWdodCAqLw0KICAgIGludCBleTsgLyoqPCBib3R0b20gKi8NCn0gbW9ycGhvX1JlY3RJbnQ7DQoNCi8qKiCL6Yxgl8yI5iByZWN0IILMjbaP443AlVcgKGwsdCkggsaJRYm6jcCVVyAocixiKSCC8JDdkuiCt4LpLiAqLw0KI2RlZmluZSBtb3JwaG9fUmVjdEludF9zZXRSZWN0KHJlY3QsbCx0LHIsYikgZG8geyBcDQoJKHJlY3QpLT5zeD0obCk7XA0KCShyZWN0KS0+c3k9KHQpO1wNCgkocmVjdCktPmV4PShyKTtcDQoJKHJlY3QpLT5leT0oYik7XA0KICAgIH0gd2hpbGUoMCkNCg0KI2lmZGVmIF9fY3BsdXNwbHVzDQp9DQojZW5kaWYNCg0KI2VuZGlmIC8qICNpZm5kZWYgTU9SUEhPX1JFQ1RfSU5UX0ggKi8NCg==