LyoKICogKEMpIENvcHlyaWdodCAyMDAyCiAqIERhbmllbCBFbmdzdHL2bSwgT21pY3JvbiBDZXRpIEFCLCBkYW5pZWxAb21pY3Jvbi5zZS4KICoKICogU2VlIGZpbGUgQ1JFRElUUyBmb3IgbGlzdCBvZiBwZW9wbGUgd2hvIGNvbnRyaWJ1dGVkIHRvIHRoaXMKICogcHJvamVjdC4KICoKICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcwogKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZgogKiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICoKICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KICoKICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKICogRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwKICogTUEgMDIxMTEtMTMwNyBVU0EKICovCgoKLyogaTgyNTQuaCBJbnRlbCA4MjU0IFBJVCByZWdpc3RlcnMgKi8KCgojaWZuZGVmIF9BU01JMzg2X0k4MjU0X0hfCiNkZWZpbmUgX0FTTUkzODZfSTg5NTRfSF8gICAgICAgMQoKCiNkZWZpbmUgUElUX1QwCQkweDAwCQkvKiBQSVQgY2hhbm5lbCAwIGNvdW50L3N0YXR1cyAqLwojZGVmaW5lIFBJVF9UMQkJMHgwMQkJLyogUElUIGNoYW5uZWwgMSBjb3VudC9zdGF0dXMgKi8KI2RlZmluZSBQSVRfVDIJCTB4MDIJCS8qIFBJVCBjaGFubmVsIDIgY291bnQvc3RhdHVzICovCiNkZWZpbmUgUElUX0NPTU1BTkQJMHgwMwkJLyogUElUIG1vZGUgY29udHJvbCwgbGF0Y2ggYW5kIHJlYWQgYmFjayAqLwoKLyogUElUIENvbW1hbmQgUmVnaXN0ZXIgQml0IERlZmluaXRpb25zICovCgojZGVmaW5lIFBJVF9DTURfQ1RSMAkweDAwCQkvKiBTZWxlY3QgUElUIGNvdW50ZXIgMCAqLwojZGVmaW5lIFBJVF9DTURfQ1RSMQkweDQwCQkvKiBTZWxlY3QgUElUIGNvdW50ZXIgMSAqLwojZGVmaW5lIFBJVF9DTURfQ1RSMgkweDgwCQkvKiBTZWxlY3QgUElUIGNvdW50ZXIgMiAqLwoKI2RlZmluZSBQSVRfQ01EX0xBVENICTB4MDAJCS8qIENvdW50ZXIgTGF0Y2ggQ29tbWFuZCAqLwojZGVmaW5lIFBJVF9DTURfTE9XCTB4MTAJCS8qIEFjY2VzcyBjb3VudGVyIGJpdHMgNy0wICovCiNkZWZpbmUgUElUX0NNRF9ISUdICTB4MjAJCS8qIEFjY2VzcyBjb3VudGVyIGJpdHMgMTUtOCAqLwojZGVmaW5lIFBJVF9DTURfQk9USAkweDMwCQkvKiBBY2Nlc3MgY291bnRlciBiaXRzIDE1LTAgaW4gdHdvIGFjY2Vzc2VzICovCgojZGVmaW5lIFBJVF9DTURfTU9ERTAJMHgwMAkJLyogU2VsZWN0IG1vZGUgMCAqLwojZGVmaW5lIFBJVF9DTURfTU9ERTEJMHgwMgkJLyogU2VsZWN0IG1vZGUgMSAqLwojZGVmaW5lIFBJVF9DTURfTU9ERTIJMHgwNAkJLyogU2VsZWN0IG1vZGUgMiAqLwojZGVmaW5lIFBJVF9DTURfTU9ERTMJMHgwNgkJLyogU2VsZWN0IG1vZGUgMyAqLwojZGVmaW5lIFBJVF9DTURfTU9ERTQJMHgwOAkJLyogU2VsZWN0IG1vZGUgNCAqLwojZGVmaW5lIFBJVF9DTURfTU9ERTUJMHgwQQkJLyogU2VsZWN0IG1vZGUgNSAqLwoKI2VuZGlmCg==