LyoqCiAqIFRoaXMgZmlsZSBoYXMgbm8gY29weXJpZ2h0IGFzc2lnbmVkIGFuZCBpcyBwbGFjZWQgaW4gdGhlIFB1YmxpYyBEb21haW4uCiAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSB3NjQgbWluZ3ctcnVudGltZSBwYWNrYWdlLgogKiBObyB3YXJyYW50eSBpcyBnaXZlbjsgcmVmZXIgdG8gdGhlIGZpbGUgRElTQ0xBSU1FUiB3aXRoaW4gdGhpcyBwYWNrYWdlLgogKi8KI2lmbmRlZiBfX0dCMTgwMzBfSAojZGVmaW5lIF9fR0IxODAzMF9ICgojZGVmaW5lIE5MU19DUF9DUElORk8gMHgxMDAwMDAwMAojZGVmaW5lIE5MU19DUF9NQlRPV0MgMHg0MDAwMDAwMAojZGVmaW5lIE5MU19DUF9XQ1RPTUIgMHg4MDAwMDAwMAoKU1REQVBJXyhEV09SRCkgTmxzRGxsQ29kZVBhZ2VUcmFuc2xhdGlvbihEV09SRCBDb2RlUGFnZSxEV09SRCBkd0ZsYWdzLExQU1RSIGxwTXVsdGlCeXRlU3RyLGludCBjY2hNdWx0aUJ5dGUsTFBXU1RSIGxwV2lkZUNoYXJTdHIsaW50IGNjaFdpZGVDaGFyLExQQ1BJTkZPIGxwQ1BJbmZvKTsKU1REQVBJXyhEV09SRCkgQnl0ZXNUb1VuaWNvZGUoQllURSAqbHBNdWx0aUJ5dGVTdHIsVUlOVCBjY2hNdWx0aUJ5dGUsVUlOVCAqcGNjaExlZnRPdmVyQnl0ZXMsTFBXU1RSIGxwV2lkZUNoYXJTdHIsVUlOVCBjY2hXaWRlQ2hhcik7CtxTVERBUElfKERXT1JEKSBVbmljb2RlVG9CeXRlcyhMUFdTVFIgbHBXaWRlQ2hhclN0cixVSU5UIGNjaFdpZGVDaGFyLExQU1RSIGxwTXVsdGlCeXRlU3RyLFVJTlQgY2NoTXVsdGlCeXRlKTsKCiNlbmRpZgo=