From mboxrd@z Thu Jan 1 00:00:00 1970 From: Igal.Liberman Subject: [RFC,v2,03/12] soc/fman: Add the FMan port FLIB headers Date: Wed, 1 Apr 2015 14:36:23 +0300 Message-ID: <1427888183-24179-1-git-send-email-igal.liberman@freescale.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Cc: scottwood@freescale.com, Igal Liberman , madalin.bucur@freescale.com To: , , Return-path: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: linuxppc-dev-bounces+glppe-linuxppc-embedded-2=m.gmane.org@lists.ozlabs.org Sender: "Linuxppc-dev" List-Id: netdev.vger.kernel.org RnJvbTogSWdhbCBMaWJlcm1hbiA8SWdhbC5MaWJlcm1hbkBmcmVlc2NhbGUuY29tPgoKVGhlIEZN YW4gUG9ydCBGbGliIHByb3ZpZGVzIGJhc2ljIEFQSSB1c2VkIGJ5IHRoZSBkcml2ZXJzIHRvCmNv bmZpZ3VyZSBhbmQgY29udHJvbCB0aGUgRk1hbiBQb3J0IGhhcmR3YXJlLgoKU2lnbmVkLW9mZi1i eTogSWdhbCBMaWJlcm1hbiA8SWdhbC5MaWJlcm1hbkBmcmVlc2NhbGUuY29tPgotLS0KIGRyaXZl cnMvc29jL2ZzbC9mbWFuL2ZsaWIvZm1hbl9jb21tb24uaCAgIHwgICA3MyArKysrKwogZHJpdmVy cy9zb2MvZnNsL2ZtYW4vZmxpYi9mc2xfZm1hbl9wb3J0LmggfCAgNDYyICsrKysrKysrKysrKysr KysrKysrKysrKysrKysrCiBkcml2ZXJzL3NvYy9mc2wvZm1hbi9mbGliL2ZzbF9mbWFuX3NwLmgg ICB8ICAgNjYgKysrKysKIDMgZmlsZXMgY2hhbmdlZCwgNjAxIGluc2VydGlvbnMoKykKIGNyZWF0 ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL3NvYy9mc2wvZm1hbi9mbGliL2ZtYW5fY29tbW9uLmgKIGNy ZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL3NvYy9mc2wvZm1hbi9mbGliL2ZzbF9mbWFuX3BvcnQu aAogY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvc29jL2ZzbC9mbWFuL2ZsaWIvZnNsX2ZtYW5f c3AuaAoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvc29jL2ZzbC9mbWFuL2ZsaWIvZm1hbl9jb21tb24u aCBiL2RyaXZlcnMvc29jL2ZzbC9mbWFuL2ZsaWIvZm1hbl9jb21tb24uaApuZXcgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCAwMDAwMDAwLi5lMTg2ZWQ5Ci0tLSAvZGV2L251bGwKKysrIGIvZHJpdmVy cy9zb2MvZnNsL2ZtYW4vZmxpYi9mbWFuX2NvbW1vbi5oCkBAIC0wLDAgKzEsNzMgQEAKKy8qCisg KiBDb3B5cmlnaHQgMjAwOCAtIDIwMTUgRnJlZXNjYWxlIFNlbWljb25kdWN0b3IgSW5jLgorICoK KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6CisgKiAgICAgKiBSZWRpc3RyaWJ1 dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICoJ IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh aW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKgkgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0 aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICoJIGRvY3VtZW50YXRp b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u CisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yIG5v ciB0aGUKKyAqCSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9y c2Ugb3IgcHJvbW90ZSBwcm9kdWN0cworICoJIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdp dGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIEFMVEVSTkFU SVZFTFksIHRoaXMgc29mdHdhcmUgbWF5IGJlIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBv ZiB0aGUKKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlICgiR1BMIikgYXMgcHVibGlzaGVk IGJ5IHRoZSBGcmVlIFNvZnR3YXJlCisgKiBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAyIG9m IHRoYXQgTGljZW5zZSBvciAoYXQgeW91ciBvcHRpb24pIGFueQorICogbGF0ZXIgdmVyc2lvbi4K KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEZyZWVzY2FsZSBTZW1pY29uZHVj dG9yIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVT IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Ug QVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBGcmVlc2NhbGUgU2VtaWNvbmR1 Y3RvciBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJ TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP UiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT UyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAorICogT04gQU5ZIFRIRU9SWSBPRiBM SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQK KyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTCisgKiBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIF9fRk1BTl9D T01NT05fSAorI2RlZmluZSBfX0ZNQU5fQ09NTU9OX0gKKworLyogTklBIERlc2NyaXB0aW9uICov CisjZGVmaW5lIE5JQV9PUkRFUl9SRVNUT1IJCQkweDAwODAwMDAwCisjZGVmaW5lIE5JQV9FTkdf Rk1fQ1RMCQkJCTB4MDAwMDAwMDAKKyNkZWZpbmUgTklBX0VOR19QUlMJCQkJMHgwMDQ0MDAwMAor I2RlZmluZSBOSUFfRU5HX0tHCQkJCTB4MDA0ODAwMDAKKyNkZWZpbmUgTklBX0VOR19QTENSCQkJ CTB4MDA0QzAwMDAKKyNkZWZpbmUgTklBX0VOR19CTUkJCQkJMHgwMDUwMDAwMAorI2RlZmluZSBO SUFfRU5HX1FNSV9FTlEJCQkJMHgwMDU0MDAwMAorI2RlZmluZSBOSUFfRU5HX1FNSV9ERVEJCQkJ MHgwMDU4MDAwMAorI2RlZmluZSBOSUFfRU5HX01BU0sJCQkJMHgwMDdDMDAwMAorCisjZGVmaW5l IE5JQV9GTV9DVExfQUNfQ0MJCQkweDAwMDAwMDA2CisjZGVmaW5lIE5JQV9GTV9DVExfQUNfSEMJ CQkweDAwMDAwMDBDCisjZGVmaW5lIE5JQV9GTV9DVExfQUNfSU5EX01PREVfVFgJCTB4MDAwMDAw MDgKKyNkZWZpbmUgTklBX0ZNX0NUTF9BQ19JTkRfTU9ERV9SWAkJMHgwMDAwMDAwQQorI2RlZmlu ZSBOSUFfRk1fQ1RMX0FDX0ZSQUcJCQkweDAwMDAwMDBlCisjZGVmaW5lIE5JQV9GTV9DVExfQUNf UFJFX0ZFVENICQkJMHgwMDAwMDAxMAorI2RlZmluZSBOSUFfRk1fQ1RMX0FDX1BPU1RfRkVUQ0hf UENECQkweDAwMDAwMDEyCisjZGVmaW5lIE5JQV9GTV9DVExfQUNfUE9TVF9GRVRDSF9QQ0RfVURQ X0xFTgkweDAwMDAwMDE4CisjZGVmaW5lIE5JQV9GTV9DVExfQUNfUE9TVF9GRVRDSF9OT19QQ0QJ CTB4MDAwMDAwMTIKKyNkZWZpbmUgTklBX0ZNX0NUTF9BQ19GUkFHX0NIRUNLCQkweDAwMDAwMDE0 CisjZGVmaW5lIE5JQV9GTV9DVExfQUNfUFJFX0NDCQkJMHgwMDAwMDAyMAorCisjZGVmaW5lIE5J QV9CTUlfQUNfRU5RX0ZSQU1FCQkJMHgwMDAwMDAwMgorI2RlZmluZSBOSUFfQk1JX0FDX1RYX1JF TEVBU0UJCQkweDAwMDAwMkMwCisjZGVmaW5lIE5JQV9CTUlfQUNfUkVMRUFTRQkJCTB4MDAwMDAw QzAKKyNkZWZpbmUgTklBX0JNSV9BQ19ESVNDQVJECQkJMHgwMDAwMDBDMQorI2RlZmluZSBOSUFf Qk1JX0FDX1RYCQkJCTB4MDAwMDAyNzQKKyNkZWZpbmUgTklBX0JNSV9BQ19GRVRDSAkJCTB4MDAw MDAyMDgKKyNkZWZpbmUgTklBX0JNSV9BQ19NQVNLCQkJCTB4MDAwMDAzRkYKKworI2RlZmluZSBO SUFfS0dfRElSRUNUCQkJCTB4MDAwMDAxMDAKKyNkZWZpbmUgTklBX0tHX0NDX0VOCQkJCTB4MDAw MDAyMDAKKyNkZWZpbmUgTklBX1BMQ1JfQUJTT0xVVEUJCQkweDAwMDA4MDAwCisKKyNkZWZpbmUg TklBX0JNSV9BQ19FTlFfRlJBTUVfV0lUSE9VVF9ETUEJMHgwMDAwMDIwMgorI2RlZmluZSBOSUFf Qk1JX0FDX0ZFVENIX0FMTF9GUkFNRQkJMHgwMDAwMDIwYworCisjZW5kaWYJLyogX19GTUFOX0NP TU1PTl9IICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL3NvYy9mc2wvZm1hbi9mbGliL2ZzbF9mbWFu X3BvcnQuaCBiL2RyaXZlcnMvc29jL2ZzbC9mbWFuL2ZsaWIvZnNsX2ZtYW5fcG9ydC5oCm5ldyBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg5MDNjOTkKLS0tIC9kZXYvbnVsbAorKysg Yi9kcml2ZXJzL3NvYy9mc2wvZm1hbi9mbGliL2ZzbF9mbWFuX3BvcnQuaApAQCAtMCwwICsxLDQ2 MiBAQAorLyoKKyAqIENvcHlyaWdodCAyMDA4IC0gMjAxNSBGcmVlc2NhbGUgU2VtaWNvbmR1Y3Rv ciBJbmMuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDoKKyAqICAgICAq IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w eXJpZ2h0CisgKgkgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv d2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqCSBub3RpY2UsIHRoaXMgbGlz dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKgkg ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp c3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgRnJlZXNjYWxlIFNlbWlj b25kdWN0b3Igbm9yIHRoZQorICoJIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVz ZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzCisgKgkgZGVyaXZlZCBmcm9tIHRoaXMg c29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgor ICogQUxURVJOQVRJVkVMWSwgdGhpcyBzb2Z0d2FyZSBtYXkgYmUgZGlzdHJpYnV0ZWQgdW5kZXIg dGhlIHRlcm1zIG9mIHRoZQorICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgKCJHUEwiKSBh cyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIGVpdGhlciB2 ZXJzaW9uIDIgb2YgdGhhdCBMaWNlbnNlIG9yIChhdCB5b3VyIG9wdGlvbikgYW55CisgKiBsYXRl ciB2ZXJzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgRnJlZXNjYWxl IFNlbWljb25kdWN0b3IgYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBX QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAq IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM QVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEZyZWVzY2Fs ZSBTZW1pY29uZHVjdG9yIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJ TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUwor ICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElU VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7 IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5ECisgKiBPTiBBTlkg VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU WSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKKyAqIFNPRlRXQVJFLCBFVkVOIElG IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5k ZWYgX19GU0xfRk1BTl9QT1JUX0gKKyNkZWZpbmUgX19GU0xfRk1BTl9QT1JUX0gKKworI2luY2x1 ZGUgImZzbF9mbWFuX3NwLmgiCisKKy8qIFJlZ2lzdGVycyBiaXQgZmllbGRzICovCisKKy8qIEJN SSBkZWZpbmVzICovCisjZGVmaW5lIEJNSV9FQkRfRU4JCQkJMHg4MDAwMDAwMAorCisjZGVmaW5l IEJNSV9QT1JUX0NGR19FTgkJCQkweDgwMDAwMDAwCisjZGVmaW5lIEJNSV9QT1JUX0NGR19GRE9W UgkJCTB4MDIwMDAwMDAKKyNkZWZpbmUgQk1JX1BPUlRfQ0ZHX0lNCQkJCTB4MDEwMDAwMDAKKwor I2RlZmluZSBCTUlfUE9SVF9TVEFUVVNfQlNZCQkJMHg4MDAwMDAwMAorCisjZGVmaW5lIEJNSV9E TUFfQVRUUl9TV1BfU0hJRlQJCQlGTUFOX1NQX0RNQV9BVFRSX1NXUF9TSElGVAorI2RlZmluZSBC TUlfRE1BX0FUVFJfSUNfU1RBU0hfT04JCTB4MTAwMDAwMDAKKyNkZWZpbmUgQk1JX0RNQV9BVFRS X0hEUl9TVEFTSF9PTgkJMHgwNDAwMDAwMAorI2RlZmluZSBCTUlfRE1BX0FUVFJfU0dfU1RBU0hf T04JCTB4MDEwMDAwMDAKKyNkZWZpbmUgQk1JX0RNQV9BVFRSX1dSSVRFX09QVElNSVpFCQlGTUFO X1NQX0RNQV9BVFRSX1dSSVRFX09QVElNSVpFCisKKyNkZWZpbmUgQk1JX1JYX0ZJRk9fUFJJX0VM RVZBVElPTl9TSElGVAkxNgorI2RlZmluZSBCTUlfUlhfRklGT19USFJFU0hPTERfRVRIRQkJMHg4 MDAwMDAwMAorCisjZGVmaW5lIEJNSV9UWF9GUkFNRV9FTkRfQ1NfSUdOT1JFX1NISUZUCTI0Cisj ZGVmaW5lIEJNSV9SWF9GUkFNRV9FTkRfQ1NfSUdOT1JFX1NISUZUCTI0CisjZGVmaW5lIEJNSV9S WF9GUkFNRV9FTkRfQ1VUX1NISUZUCQkxNgorCisjZGVmaW5lIEJNSV9JQ19UT19FWFRfU0hJRlQJ CQlGTUFOX1NQX0lDX1RPX0VYVF9TSElGVAorI2RlZmluZSBCTUlfSUNfRlJPTV9JTlRfU0hJRlQJ CQlGTUFOX1NQX0lDX0ZST01fSU5UX1NISUZUCisKKyNkZWZpbmUgQk1JX0lOVF9CVUZfTUFSR19T SElGVAkJCTI4CisjZGVmaW5lIEJNSV9FWFRfQlVGX01BUkdfU1RBUlRfU0hJRlQJCUZNQU5fU1Bf RVhUX0JVRl9NQVJHX1NUQVJUX1NISUZUCisKKyNkZWZpbmUgQk1JX0NNRF9NUl9MRUFDCQkJCTB4 MDAyMDAwMDAKKyNkZWZpbmUgQk1JX0NNRF9NUl9TTEVBQwkJCTB4MDAxMDAwMDAKKyNkZWZpbmUg Qk1JX0NNRF9NUl9NQQkJCQkweDAwMDgwMDAwCisjZGVmaW5lIEJNSV9DTURfTVJfREVBUwkJCQkw eDAwMDQwMDAwCisjZGVmaW5lIEJNSV9DTURfUlhfTVJfREVGCQkJKEJNSV9DTURfTVJfTEVBQyB8 IFwKKwkJCQkJCUJNSV9DTURfTVJfU0xFQUMgfCBcCisJCQkJCQlCTUlfQ01EX01SX01BIHwgXAor CQkJCQkJQk1JX0NNRF9NUl9ERUFTKQorI2RlZmluZSBCTUlfQ01EX1RYX01SX0RFRgkJCTAKKyNk ZWZpbmUgQk1JX0NNRF9PUF9NUl9ERUYJCQkoQk1JX0NNRF9NUl9ERUFTIHwgXAorCQkJCQkJQk1J X0NNRF9NUl9NQSkKKworI2RlZmluZSBCTUlfQ01EX0FUVFJfT1JERVIJCQkweDgwMDAwMDAwCisj ZGVmaW5lIEJNSV9DTURfQVRUUl9TWU5DCQkJMHgwMjAwMDAwMAorI2RlZmluZSBCTUlfQ01EX0FU VFJfQ09MT1JfU0hJRlQJCTI2CisKKyNkZWZpbmUgQk1JX0ZJRk9fUElQRUxJTkVfREVQVEhfU0hJ RlQJCTEyCisjZGVmaW5lIEJNSV9ORVhUX0VOR19GRF9CSVRTX1NISUZUCQkyNAorI2RlZmluZSBC TUlfRlJBTUVfRU5EX0NTX0lHTk9SRV9TSElGVAkJMjQKKworI2RlZmluZSBCTUlfQ09VTlRFUlNf RU4JCQkJMHg4MDAwMDAwMAorCisjZGVmaW5lIEJNSV9FWFRfQlVGX1BPT0xfVkFMSUQJCQlGTUFO X1NQX0VYVF9CVUZfUE9PTF9WQUxJRAorI2RlZmluZSBCTUlfRVhUX0JVRl9QT09MX0VOX0NPVU5U RVIJCUZNQU5fU1BfRVhUX0JVRl9QT09MX0VOX0NPVU5URVIKKyNkZWZpbmUgQk1JX0VYVF9CVUZf UE9PTF9CQUNLVVAJCUZNQU5fU1BfRVhUX0JVRl9QT09MX0JBQ0tVUAorI2RlZmluZSBCTUlfRVhU X0JVRl9QT09MX0lEX1NISUZUCQkxNgorI2RlZmluZSBCTUlfRVhUX0JVRl9QT09MX0lEX01BU0sJ CTB4MDAzRjAwMDAKKyNkZWZpbmUgQk1JX1BPT0xfREVQX05VTV9PRl9QT09MU19TSElGVAkJMTYK KworI2RlZmluZSBCTUlfVFhfRklGT19NSU5fRklMTF9TSElGVAkJMTYKKyNkZWZpbmUgQk1JX1RY X0ZJRk9fUElQRUxJTkVfREVQVEhfU0hJRlQJMTIKKworI2RlZmluZSBNQVhfUEVSRk9STUFOQ0Vf VEFTS19DT01QCQk2NAorI2RlZmluZSBNQVhfUEVSRk9STUFOQ0VfUlhfUVVFVUVfQ09NUAkJNjQK KyNkZWZpbmUgTUFYX1BFUkZPUk1BTkNFX1RYX1FVRVVFX0NPTVAJCTgKKyNkZWZpbmUgTUFYX1BF UkZPUk1BTkNFX0RNQV9DT01QCQkxNgorI2RlZmluZSBNQVhfUEVSRk9STUFOQ0VfRklGT19DT01Q CQkxMDI0CisKKyNkZWZpbmUgQk1JX1BFUkZPUk1BTkNFX1RBU0tfQ09NUF9TSElGVAkJMjQKKyNk ZWZpbmUgQk1JX1BFUkZPUk1BTkNFX1FVRVVFX0NPTVBfU0hJRlQJMTYKKyNkZWZpbmUgQk1JX1BF UkZPUk1BTkNFX0RNQV9DT01QX1NISUZUCQkxMgorCisjZGVmaW5lIEJNSV9TR19ESVNBQkxFCQkJ CUZNQU5fU1BfU0dfRElTQUJMRQorCisvKiBRTUkgZGVmaW5lcyAqLworI2RlZmluZSBRTUlfUE9S VF9DRkdfRU4JCQkJMHg4MDAwMDAwMAorI2RlZmluZSBRTUlfUE9SVF9DRkdfRU5fQ09VTlRFUlMJ CTB4MTAwMDAwMDAKKworI2RlZmluZSBRTUlfUE9SVF9TVEFUVVNfREVRX1ROVU1fQlNZCQkweDgw MDAwMDAwCisjZGVmaW5lIFFNSV9QT1JUX1NUQVRVU19ERVFfRkRfQlNZCQkweDIwMDAwMDAwCisK KyNkZWZpbmUgUU1JX0RFUV9DRkdfUFJJCQkJCTB4ODAwMDAwMDAKKyNkZWZpbmUgUU1JX0RFUV9D RkdfVFlQRTEJCQkweDEwMDAwMDAwCisjZGVmaW5lIFFNSV9ERVFfQ0ZHX1RZUEUyCQkJMHgyMDAw MDAwMAorI2RlZmluZSBRTUlfREVRX0NGR19UWVBFMwkJCTB4MzAwMDAwMDAKKyNkZWZpbmUgUU1J X0RFUV9DRkdfUFJFRkVUQ0hfUEFSVElBTAkJMHgwMTAwMDAwMAorI2RlZmluZSBRTUlfREVRX0NG R19QUkVGRVRDSF9GVUxMCQkweDAzMDAwMDAwCisjZGVmaW5lIFFNSV9ERVFfQ0ZHX1NQX01BU0sJ CQkweGYKKyNkZWZpbmUgUU1JX0RFUV9DRkdfU1BfU0hJRlQJCQkyMAorCisvKiBHZW5lcmFsIHBv cnQgZGVmaW5lcyAqLworI2RlZmluZSBGTUFOX1BPUlRfRVhUX1BPT0xTX05VTShmbV9yZXZfbWFq KSBcCisJCSgoKGZtX3Jldl9tYWopID09IDQpID8gNCA6IDgpCisjZGVmaW5lIEZNQU5fUE9SVF9N QVhfRVhUX1BPT0xTX05VTQk4CisjZGVmaW5lIEZNQU5fUE9SVF9PQlNfRVhUX1BPT0xTX05VTQky CisjZGVmaW5lIEZNQU5fUE9SVF9DR19NQVBfTlVNCQk4CisjZGVmaW5lIEZNQU5fUE9SVF9QUlNf UkVTVUxUX1dPUkRTX05VTQk4CisjZGVmaW5lIEZNQU5fUE9SVF9CTUlfRklGT19VTklUUwkweDEw MAorI2RlZmluZSBGTUFOX1BPUlRfSUNfT0ZGU0VUX1VOSVRTCTB4MTAKKworLyogRk0gUG9ydCBS ZWdpc3RlciBNYXAgKi8KKworLyogQk1JIFJ4IHBvcnQgcmVnaXN0ZXIgbWFwICovCitzdHJ1Y3Qg Zm1hbl9wb3J0X3J4X2JtaV9yZWdzIHsKKwl1aW50MzJfdCBmbWJtX3JjZmc7CQkvKiBSeCBDb25m aWd1cmF0aW9uICovCisJdWludDMyX3QgZm1ibV9yc3Q7CQkvKiBSeCBTdGF0dXMgKi8KKwl1aW50 MzJfdCBmbWJtX3JkYTsJCS8qIFJ4IERNQSBhdHRyaWJ1dGVzKi8KKwl1aW50MzJfdCBmbWJtX3Jm cDsJCS8qIFJ4IEZJRk8gUGFyYW1ldGVycyovCisJdWludDMyX3QgZm1ibV9yZmVkOwkJLyogUngg RnJhbWUgRW5kIERhdGEqLworCXVpbnQzMl90IGZtYm1fcmljcDsJCS8qIFJ4IEludGVybmFsIENv bnRleHQgUGFyYW1ldGVycyovCisJdWludDMyX3QgZm1ibV9yaW07CQkvKiBSeCBJbnRlcm5hbCBC dWZmZXIgTWFyZ2lucyovCisJdWludDMyX3QgZm1ibV9yZWJtOwkJLyogUnggRXh0ZXJuYWwgQnVm ZmVyIE1hcmdpbnMqLworCXVpbnQzMl90IGZtYm1fcmZuZTsJCS8qIFJ4IEZyYW1lIE5leHQgRW5n aW5lKi8KKwl1aW50MzJfdCBmbWJtX3JmY2E7CQkvKiBSeCBGcmFtZSBDb21tYW5kIEF0dHJpYnV0 ZXMuKi8KKwl1aW50MzJfdCBmbWJtX3JmcG5lOwkJLyogUnggRnJhbWUgUGFyc2VyIE5leHQgRW5n aW5lKi8KKwl1aW50MzJfdCBmbWJtX3Jwc287CQkvKiBSeCBQYXJzZSBTdGFydCBPZmZzZXQqLwor CXVpbnQzMl90IGZtYm1fcnBwOwkJLyogUnggUG9saWNlciBQcm9maWxlICAqLworCXVpbnQzMl90 IGZtYm1fcmNjYjsJCS8qIFJ4IENvYXJzZSBDbGFzc2lmaWNhdGlvbiBCYXNlICovCisJdWludDMy X3QgZm1ibV9yZXRoOwkJLyogUnggRXhjZXNzaXZlIFRocmVzaG9sZCAqLworCXVpbnQzMl90IHJl c2VydmVkMDAzY1sxXTsJLyogKDB4MDNDIDB4MDNGKSAqLworCXVpbnQzMl90IGZtYm1fcnByYWlb Rk1BTl9QT1JUX1BSU19SRVNVTFRfV09SRFNfTlVNXTsKKwkJCQkJLyogUnggUGFyc2UgUmVzdWx0 cyBBcnJheSBJbml0Ki8KKwl1aW50MzJfdCBmbWJtX3JmcWlkOwkJLyogUnggRnJhbWUgUXVldWUg SUQqLworCXVpbnQzMl90IGZtYm1fcmVmcWlkOwkJLyogUnggRXJyb3IgRnJhbWUgUXVldWUgSUQq LworCXVpbnQzMl90IGZtYm1fcmZzZG07CQkvKiBSeCBGcmFtZSBTdGF0dXMgRGlzY2FyZCBNYXNr Ki8KKwl1aW50MzJfdCBmbWJtX3Jmc2VtOwkJLyogUnggRnJhbWUgU3RhdHVzIEVycm9yIE1hc2sq LworCXVpbnQzMl90IGZtYm1fcmZlbmU7CQkvKiBSeCBGcmFtZSBFbnF1ZXVlIE5leHQgRW5naW5l ICovCisJdWludDMyX3QgcmVzZXJ2ZWQwMDc0WzB4Ml07CS8qICgweDA3NC0weDA3QykgICovCisJ dWludDMyX3QgZm1ibV9yY21uZTsgLyogUnggRnJhbWUgQ29udGludW91cyBNb2RlIE5leHQgRW5n aW5lICovCisJdWludDMyX3QgcmVzZXJ2ZWQwMDgwWzB4MjBdOy8qICgweDA4MCAweDBGRikgICov CisJdWludDMyX3QgZm1ibV9lYm1waVtGTUFOX1BPUlRfTUFYX0VYVF9QT09MU19OVU1dOworCQkJ CQkvKiBCdWZmZXIgTWFuYWdlciBwb29sIEluZm9ybWF0aW9uLSovCisJdWludDMyX3QgZm1ibV9h Y250W0ZNQU5fUE9SVF9NQVhfRVhUX1BPT0xTX05VTV07CisJCQkJCS8qIEFsbG9jYXRlIENvdW50 ZXItKi8KKwl1aW50MzJfdCByZXNlcnZlZDAxMzBbOF07CisJCQkJCS8qIDB4MTMwLzB4MTQwIC0g MHgxNUYgcmVzZXJ2ZWQgLSovCisJdWludDMyX3QgZm1ibV9yY2dtW0ZNQU5fUE9SVF9DR19NQVBf TlVNXTsKKwkJCQkJLyogQ29uZ2VzdGlvbiBHcm91cCBNYXAqLworCXVpbnQzMl90IGZtYm1fbXBk OwkJLyogQk0gUG9vbCBEZXBsZXRpb24gICovCisJdWludDMyX3QgcmVzZXJ2ZWQwMTg0WzB4MUZd OwkvKiAoMHgxODQgMHgxRkYpICovCisJdWludDMyX3QgZm1ibV9yc3RjOwkJLyogUnggU3RhdGlz dGljcyBDb3VudGVycyovCisJdWludDMyX3QgZm1ibV9yZnJjOwkJLyogUnggRnJhbWUgQ291bnRl ciovCisJdWludDMyX3QgZm1ibV9yZmJjOwkJLyogUnggQmFkIEZyYW1lcyBDb3VudGVyKi8KKwl1 aW50MzJfdCBmbWJtX3JsZmM7CQkvKiBSeCBMYXJnZSBGcmFtZXMgQ291bnRlciovCisJdWludDMy X3QgZm1ibV9yZmZjOwkJLyogUnggRmlsdGVyIEZyYW1lcyBDb3VudGVyKi8KKwl1aW50MzJfdCBm bWJtX3JmZGM7CQkvKiBSeCBGcmFtZSBEaXNjYXJkIENvdW50ZXIqLworCXVpbnQzMl90IGZtYm1f cmZsZGVjOwkJLyogUnggRnJhbWVzIExpc3QgRE1BIEVycm9yIENvdW50ZXIqLworCXVpbnQzMl90 IGZtYm1fcm9kYzsJCS8qIFJ4IE91dCBvZiBCdWZmZXJzIERpc2NhcmQgbm50ciovCisJdWludDMy X3QgZm1ibV9yYmRjOwkJLyogUnggQnVmZmVycyBEZWFsbG9jYXRlIENvdW50ZXIqLworCXVpbnQz Ml90IHJlc2VydmVkMDIyNFsweDE3XTsJLyogKDB4MjI0IDB4MjdGKSAqLworCXVpbnQzMl90IGZt Ym1fcnBjOwkJLyogUnggUGVyZm9ybWFuY2UgQ291bnRlcnMqLworCXVpbnQzMl90IGZtYm1fcnBj cDsJCS8qIFJ4IFBlcmZvcm1hbmNlIENvdW50IFBhcmFtZXRlcnMqLworCXVpbnQzMl90IGZtYm1f cmNjbjsJCS8qIFJ4IEN5Y2xlIENvdW50ZXIqLworCXVpbnQzMl90IGZtYm1fcnR1YzsJCS8qIFJ4 IFRhc2tzIFV0aWxpemF0aW9uIENvdW50ZXIqLworCXVpbnQzMl90IGZtYm1fcnJxdWM7CQkvKiBS eCBSZWNlaXZlIFF1ZXVlIFV0aWxpemF0aW9uIGNudHIqLworCXVpbnQzMl90IGZtYm1fcmR1YzsJ CS8qIFJ4IERNQSBVdGlsaXphdGlvbiBDb3VudGVyKi8KKwl1aW50MzJfdCBmbWJtX3JmdWM7CQkv KiBSeCBGSUZPIFV0aWxpemF0aW9uIENvdW50ZXIqLworCXVpbnQzMl90IGZtYm1fcnBhYzsJCS8q IFJ4IFBhdXNlIEFjdGl2YXRpb24gQ291bnRlciovCisJdWludDMyX3QgcmVzZXJ2ZWQwMmEwWzB4 MThdOwkvKiAoMHgyQTAgMHgyRkYpICovCisJdWludDMyX3QgZm1ibV9yZGJnOwkJLyogUnggRGVi dWctKi8KK307CisKKy8qIEJNSSBUeCBwb3J0IHJlZ2lzdGVyIG1hcCAqLworc3RydWN0IGZtYW5f cG9ydF90eF9ibWlfcmVncyB7CisJdWludDMyX3QgZm1ibV90Y2ZnOwkJLyogVHggQ29uZmlndXJh dGlvbiAqLworCXVpbnQzMl90IGZtYm1fdHN0OwkJLyogVHggU3RhdHVzICovCisJdWludDMyX3Qg Zm1ibV90ZGE7CQkvKiBUeCBETUEgYXR0cmlidXRlcyAqLworCXVpbnQzMl90IGZtYm1fdGZwOwkJ LyogVHggRklGTyBQYXJhbWV0ZXJzICovCisJdWludDMyX3QgZm1ibV90ZmVkOwkJLyogVHggRnJh bWUgRW5kIERhdGEgKi8KKwl1aW50MzJfdCBmbWJtX3RpY3A7CQkvKiBUeCBJbnRlcm5hbCBDb250 ZXh0IFBhcmFtZXRlcnMgKi8KKwl1aW50MzJfdCBmbWJtX3RmZG5lOwkJLyogVHggRnJhbWUgRGVx dWV1ZSBOZXh0IEVuZ2luZS4gKi8KKwl1aW50MzJfdCBmbWJtX3RmY2E7CQkvKiBUeCBGcmFtZSBD b21tYW5kIGF0dHJpYnV0ZS4gKi8KKwl1aW50MzJfdCBmbWJtX3RjZnFpZDsJCS8qIFR4IENvbmZp cm1hdGlvbiBGcmFtZSBRdWV1ZSBJRC4gKi8KKwl1aW50MzJfdCBmbWJtX3RlZnFpZDsJCS8qIFR4 IEZyYW1lIEVycm9yIFF1ZXVlIElEICovCisJdWludDMyX3QgZm1ibV90ZmVuZTsJCS8qIFR4IEZy YW1lIEVucXVldWUgTmV4dCBFbmdpbmUgKi8KKwl1aW50MzJfdCBmbWJtX3RybG10czsJCS8qIFR4 IFJhdGUgTGltaXRlciBTY2FsZSAqLworCXVpbnQzMl90IGZtYm1fdHJsbXQ7CQkvKiBUeCBSYXRl IExpbWl0ZXIgKi8KKwl1aW50MzJfdCByZXNlcnZlZDAwMzRbMHgwZV07CS8qICgweDAzNC0weDZj KSAqLworCXVpbnQzMl90IGZtYm1fdGNjYjsJCS8qIFR4IENvYXJzZSBDbGFzc2lmaWNhdGlvbiBi YXNlICovCisJdWludDMyX3QgZm1ibV90Zm5lOwkJLyogVHggRnJhbWUgTmV4dCBFbmdpbmUgKi8K KwkvKiBUeCBQcmlvcml0eSBiYXNlZCBGbG93IENvbnRyb2wgKFBGQykgTWFwcGluZyAqLworCXVp bnQzMl90IGZtYm1fdHBmY21bMHgwMl07CisJLyogVHggRnJhbWUgQ29udGludW91cyBNb2RlIE5l eHQgRW5naW5lICovCisJdWludDMyX3QgZm1ibV90Y21uZTsKKwl1aW50MzJfdCByZXNlcnZlZDAw ODBbMHg2MF07CS8qICgweDA4MC0weDIwMCkgKi8KKwl1aW50MzJfdCBmbWJtX3RzdGM7CQkvKiBU eCBTdGF0aXN0aWNzIENvdW50ZXJzICovCisJdWludDMyX3QgZm1ibV90ZnJjOwkJLyogVHggRnJh bWUgQ291bnRlciAqLworCXVpbnQzMl90IGZtYm1fdGZkYzsJCS8qIFR4IEZyYW1lcyBEaXNjYXJk IENvdW50ZXIgKi8KKwl1aW50MzJfdCBmbWJtX3RmbGVkYzsJCS8qIFR4IEZyYW1lIGxlbiBlcnJv ciBkaXNjYXJkIGNudHIgKi8KKwl1aW50MzJfdCBmbWJtX3RmdWZkYzsJCS8qIFR4IEZyYW1lIHVu c3BydCBmcm10IGRpc2NhcmQgY250ciovCisJdWludDMyX3QgZm1ibV90YmRjOwkJLyogVHggQnVm ZmVycyBEZWFsbG9jYXRlIENvdW50ZXIgKi8KKwl1aW50MzJfdCByZXNlcnZlZDAyMThbMHgxQV07 CS8qICgweDIxOC0weDI4MCkgKi8KKwl1aW50MzJfdCBmbWJtX3RwYzsJCS8qIFR4IFBlcmZvcm1h bmNlIENvdW50ZXJzKi8KKwl1aW50MzJfdCBmbWJtX3RwY3A7CQkvKiBUeCBQZXJmb3JtYW5jZSBD b3VudCBQYXJhbWV0ZXJzKi8KKwl1aW50MzJfdCBmbWJtX3RjY247CQkvKiBUeCBDeWNsZSBDb3Vu dGVyKi8KKwl1aW50MzJfdCBmbWJtX3R0dWM7CQkvKiBUeCBUYXNrcyBVdGlsaXphdGlvbiBDb3Vu dGVyKi8KKwl1aW50MzJfdCBmbWJtX3R0Y3F1YzsJCS8qIFR4IFRyYW5zbWl0IGNvbmYgUSB1dGls IENvdW50ZXIqLworCXVpbnQzMl90IGZtYm1fdGR1YzsJCS8qIFR4IERNQSBVdGlsaXphdGlvbiBD b3VudGVyKi8KKwl1aW50MzJfdCBmbWJtX3RmdWM7CQkvKiBUeCBGSUZPIFV0aWxpemF0aW9uIENv dW50ZXIqLworfTsKKworLyogQk1JIE8vSCBwb3J0IHJlZ2lzdGVyIG1hcCAqLworc3RydWN0IGZt YW5fcG9ydF9vaF9ibWlfcmVncyB7CisJdWludDMyX3QgZm1ibV9vY2ZnOwkJLyogTy9IIENvbmZp Z3VyYXRpb24gICovCisJdWludDMyX3QgZm1ibV9vc3Q7CQkvKiBPL0ggU3RhdHVzICovCisJdWlu dDMyX3QgZm1ibV9vZGE7CQkvKiBPL0ggRE1BIGF0dHJpYnV0ZXMgICovCisJdWludDMyX3QgZm1i bV9vaWNwOwkJLyogTy9IIEludGVybmFsIENvbnRleHQgUGFyYW1ldGVycyAqLworCXVpbnQzMl90 IGZtYm1fb2ZkbmU7CQkvKiBPL0ggRnJhbWUgRGVxdWV1ZSBOZXh0IEVuZ2luZSAgKi8KKwl1aW50 MzJfdCBmbWJtX29mbmU7CQkvKiBPL0ggRnJhbWUgTmV4dCBFbmdpbmUgICovCisJdWludDMyX3Qg Zm1ibV9vZmNhOwkJLyogTy9IIEZyYW1lIENvbW1hbmQgQXR0cmlidXRlcy4gICovCisJdWludDMy X3QgZm1ibV9vZnBuZTsJCS8qIE8vSCBGcmFtZSBQYXJzZXIgTmV4dCBFbmdpbmUJICovCisJdWlu dDMyX3QgZm1ibV9vcHNvOwkJLyogTy9IIFBhcnNlIFN0YXJ0IE9mZnNldCAgKi8KKwl1aW50MzJf dCBmbWJtX29wcDsJCS8qIE8vSCBQb2xpY2VyIFByb2ZpbGUgKi8KKwl1aW50MzJfdCBmbWJtX29j Y2I7CQkvKiBPL0ggQ29hcnNlIENsYXNzaWZpY2F0aW9uIGJhc2UgKi8KKwl1aW50MzJfdCBmbWJt X29pbTsJCS8qIE8vSCBJbnRlcm5hbCBtYXJnaW5zKi8KKwl1aW50MzJfdCBmbWJtX29mcDsJCS8q IE8vSCBGaWZvIFBhcmFtZXRlcnMqLworCXVpbnQzMl90IGZtYm1fb2ZlZDsJCS8qIE8vSCBGcmFt ZSBFbmQgRGF0YSovCisJdWludDMyX3QgcmVzZXJ2ZWQwMDMwWzJdOwkvKiAoMHgwMzggLSAweDAz RikgKi8KKwl1aW50MzJfdCBmbWJtX29wcmFpW0ZNQU5fUE9SVF9QUlNfUkVTVUxUX1dPUkRTX05V TV07CisJCQkJLyogTy9IIFBhcnNlIFJlc3VsdHMgQXJyYXkgSW5pdGlhbGl6YXRpb24gICovCisJ dWludDMyX3QgZm1ibV9vZnFpZDsJCS8qIE8vSCBGcmFtZSBRdWV1ZSBJRCAgKi8KKwl1aW50MzJf dCBmbWJtX29lZnFpZDsJCS8qIE8vSCBFcnJvciBGcmFtZSBRdWV1ZSBJRCAgKi8KKwl1aW50MzJf dCBmbWJtX29mc2RtOwkJLyogTy9IIEZyYW1lIFN0YXR1cyBEaXNjYXJkIE1hc2sgICovCisJdWlu dDMyX3QgZm1ibV9vZnNlbTsJCS8qIE8vSCBGcmFtZSBTdGF0dXMgRXJyb3IgTWFzawkqLworCXVp bnQzMl90IGZtYm1fb2ZlbmU7CQkvKiBPL0ggRnJhbWUgRW5xdWV1ZSBOZXh0IEVuZ2luZSAgKi8K Kwl1aW50MzJfdCBmbWJtX29ybG10czsJCS8qIE8vSCBSYXRlIExpbWl0ZXIgU2NhbGUgICovCisJ dWludDMyX3QgZm1ibV9vcmxtdDsJCS8qIE8vSCBSYXRlIExpbWl0ZXIgICovCisJdWludDMyX3Qg Zm1ibV9vY21uZTsJCS8qIE8vSCBDb250aW51b3VzIE1vZGUgTmV4dCBFbmdpbmUgICovCisJdWlu dDMyX3QgcmVzZXJ2ZWQwMDgwWzB4MjBdOwkvKiAweDA4MCAtIDB4MEZGIFJlc2VydmVkICovCisJ dWludDMyX3QgZm1ibV9vZWJtcGlbMl07CS8qIEJ1ZiBNbmdyIE9ic2VydmVkIFBvb2wgSW5mbyAq LworCXVpbnQzMl90IHJlc2VydmVkMDEwOFsweDE2XTsJLyogMHgxMDggLSAweDE1RiBSZXNlcnZl ZCAqLworCXVpbnQzMl90IGZtYm1fb2NnbTsJCS8qIE9ic2VydmVkIENvbmdlc3Rpb24gR3JvdXAg TWFwICovCisJdWludDMyX3QgcmVzZXJ2ZWQwMTY0WzB4N107CS8qIDB4MTY0IC0gMHgxN0YgUmVz ZXJ2ZWQgKi8KKwl1aW50MzJfdCBmbWJtX29tcGQ7CQkvKiBPYnNlcnZlZCBCTWFuIFBvb2wgRGVw bGV0aW9uICovCisJdWludDMyX3QgcmVzZXJ2ZWQwMTg0WzB4MUZdOwkvKiAweDE4NCAtIDB4MUZG IFJlc2VydmVkICovCisJdWludDMyX3QgZm1ibV9vc3RjOwkJLyogTy9IIFN0YXRpc3RpY3MgQ291 bnRlcnMgICovCisJdWludDMyX3QgZm1ibV9vZnJjOwkJLyogTy9IIEZyYW1lIENvdW50ZXIgICov CisJdWludDMyX3QgZm1ibV9vZmRjOwkJLyogTy9IIEZyYW1lcyBEaXNjYXJkIENvdW50ZXIgICov CisJdWludDMyX3QgZm1ibV9vZmxlZGM7CQkvKiBPL0ggRnJhbWVzIExlbiBFcnIgRGlzY2FyZCBD bnRyICovCisJdWludDMyX3QgZm1ibV9vZnVmZGM7CQkvKiBPL0ggRnJhbWVzIFVuc3BydGQgRGlz Y2FyZCBDdXRyICAqLworCXVpbnQzMl90IGZtYm1fb2ZmYzsJCS8qIE8vSCBGaWx0ZXIgRnJhbWVz IENvdW50ZXIgICovCisJdWludDMyX3QgZm1ibV9vZndkYzsJCS8qIFJ4IEZyYW1lcyBXUkVEIERp c2NhcmQgQ291bnRlciAgKi8KKwl1aW50MzJfdCBmbWJtX29mbGRlYzsJCS8qIE8vSCBGcmFtZXMg TGlzdCBETUEgRXJyb3IgQ250ciAqLworCXVpbnQzMl90IGZtYm1fb2JkYzsJCS8qIE8vSCBCdWZm ZXJzIERlYWxsb2NhdGUgQ291bnRlciAqLworCXVpbnQzMl90IHJlc2VydmVkMDIxOFsweDE3XTsJ LyogKDB4MjE4IC0gMHgyN0YpICovCisJdWludDMyX3QgZm1ibV9vcGM7CQkvKiBPL0ggUGVyZm9y bWFuY2UgQ291bnRlcnMgICovCisJdWludDMyX3QgZm1ibV9vcGNwOwkJLyogTy9IIFBlcmZvcm1h bmNlIENvdW50IFBhcmFtZXRlcnMgKi8KKwl1aW50MzJfdCBmbWJtX29jY247CQkvKiBPL0ggQ3lj bGUgQ291bnRlciAgKi8KKwl1aW50MzJfdCBmbWJtX290dWM7CQkvKiBPL0ggVGFza3MgVXRpbGl6 YXRpb24gQ291bnRlciAgKi8KKwl1aW50MzJfdCBmbWJtX29kdWM7CQkvKiBPL0ggRE1BIFV0aWxp emF0aW9uIENvdW50ZXIgKi8KKwl1aW50MzJfdCBmbWJtX29mdWM7CQkvKiBPL0ggRklGTyBVdGls aXphdGlvbiBDb3VudGVyICovCit9OworCisvKiBCTUkgcG9ydCByZWdpc3RlciBtYXAgKi8KK3Vu aW9uIGZtYW5fcG9ydF9ibWlfcmVncyB7CisJc3RydWN0IGZtYW5fcG9ydF9yeF9ibWlfcmVncyBy eDsKKwlzdHJ1Y3QgZm1hbl9wb3J0X3R4X2JtaV9yZWdzIHR4OworCXN0cnVjdCBmbWFuX3BvcnRf b2hfYm1pX3JlZ3Mgb2g7Cit9OworCisvKiBRTUkgcG9ydCByZWdpc3RlciBtYXAgKi8KK3N0cnVj dCBmbWFuX3BvcnRfcW1pX3JlZ3MgeworCXVpbnQzMl90IGZtcW1fcG5jOwkJLyogUG9ydElEIG4g Q29uZmlndXJhdGlvbiBSZWdpc3RlciAqLworCXVpbnQzMl90IGZtcW1fcG5zOwkJLyogUG9ydElE IG4gU3RhdHVzIFJlZ2lzdGVyICovCisJdWludDMyX3QgZm1xbV9wbnRzOwkJLyogUG9ydElEIG4g VGFzayBTdGF0dXMgUmVnaXN0ZXIgKi8KKwl1aW50MzJfdCByZXNlcnZlZDAwY1s0XTsJLyogMHhu MDBDIC0gMHhuMDFCICovCisJdWludDMyX3QgZm1xbV9wbmVuOwkJLyogUG9ydElEIG4gRW5xdWV1 ZSBOSUEgUmVnaXN0ZXIgKi8KKwl1aW50MzJfdCBmbXFtX3BuZXRmYzsJCS8qIFBvcnRJRCBuIEVu cSBUb3RhbCBGcmFtZSBDb3VudGVyICovCisJdWludDMyX3QgcmVzZXJ2ZWQwMjRbMl07CS8qIDB4 bjAyNCAtIDB4MDJCICovCisJdWludDMyX3QgZm1xbV9wbmRuOwkJLyogUG9ydElEIG4gRGVxdWV1 ZSBOSUEgUmVnaXN0ZXIgKi8KKwl1aW50MzJfdCBmbXFtX3BuZGM7CQkvKiBQb3J0SUQgbiBEZXF1 ZXVlIENvbmZpZyBSZWdpc3RlciAqLworCXVpbnQzMl90IGZtcW1fcG5kdGZjOwkJLyogUG9ydElE IG4gRGVxdWV1ZSB0b3QgRnJhbWUgY250ciAqLworCXVpbnQzMl90IGZtcW1fcG5kZmRjOwkJLyog UG9ydElEIG4gRGVxdWV1ZSBGUUlEIERmbHQgQ250ciAqLworCXVpbnQzMl90IGZtcW1fcG5kY2M7 CQkvKiBQb3J0SUQgbiBEZXF1ZXVlIENvbmZpcm0gQ291bnRlciAqLworfTsKKworZW51bSBmbWFu X3BvcnRfZG1hX3N3YXAgeworCUVfRk1BTl9QT1JUX0RNQV9OT19TV0FQLAkvKiBObyBzd2FwLCB0 cmFuc2ZlciBkYXRhIGFzIGlzICovCisJRV9GTUFOX1BPUlRfRE1BX1NXQVBfTEUsCisJLyogVGhl IHRyYW5zZmVycmVkIGRhdGEgc2hvdWxkIGJlIHN3YXBwZWQgaW4gUFBDIExpdHRsZSBFbmRpYW4g bW9kZSAqLworCUVfRk1BTl9QT1JUX0RNQV9TV0FQX0JFCisJLyogVGhlIHRyYW5zZmVycmVkIGRh dGEgc2hvdWxkIGJlIHN3YXBwZWQgaW4gQmlnIEVuZGlhbiBtb2RlICovCit9OworCisvKiBEZWZh dWx0IHBvcnQgY29sb3IgKi8KK2VudW0gZm1hbl9wb3J0X2NvbG9yIHsKKwlFX0ZNQU5fUE9SVF9D T0xPUl9HUkVFTiwJLyogRGVmYXVsdCBwb3J0IGNvbG9yIGlzIGdyZWVuICovCisJRV9GTUFOX1BP UlRfQ09MT1JfWUVMTE9XLAkvKiBEZWZhdWx0IHBvcnQgY29sb3IgaXMgeWVsbG93ICovCisJRV9G TUFOX1BPUlRfQ09MT1JfUkVELAkJLyogRGVmYXVsdCBwb3J0IGNvbG9yIGlzIHJlZCAqLworCUVf Rk1BTl9QT1JUX0NPTE9SX09WRVJSSURFCS8qIElnbm9yZSBjb2xvciAqLworfTsKKworLyogUU1J IGRlcXVldWUgZnJvbSB0aGUgU1AgY2hhbm5lbCAtIHR5cGVzICovCitlbnVtIGZtYW5fcG9ydF9k ZXFfdHlwZSB7CisJRV9GTUFOX1BPUlRfREVRX0JZX1BSSSwKKwkvKiBQcmlvcml0eSBwcmVjZWRl bmNlIGFuZCBJbnRyYS1DbGFzcyBzY2hlZHVsaW5nICovCisJRV9GTUFOX1BPUlRfREVRX0FDVElW RV9GUSwKKwkvKiBBY3RpdmUgRlEgcHJlY2VkZW5jZSBhbmQgSW50cmEtQ2xhc3Mgc2NoZWR1bGlu ZyAqLworCUVfRk1BTl9QT1JUX0RFUV9BQ1RJVkVfRlFfTk9fSUNTCisJLyogQWN0aXZlIEZRIHBy ZWNlZGVuY2UgYW5kIG92ZXJyaWRlIEludHJhLUNsYXNzIHNjaGVkdWxpbmcgKi8KK307CisKKy8q IFFNSSBkZXF1ZXVlIHByZWZldGNoIG1vZGVzICovCitlbnVtIGZtYW5fcG9ydF9kZXFfcHJlZmV0 Y2ggeworCUVfRk1BTl9QT1JUX0RFUV9OT19QUkVGRVRDSCwgLyogTm8gcHJlZmV0Y2ggbW9kZSAq LworCUVfRk1BTl9QT1JUX0RFUV9QQVJUX1BSRUZFVENILCAvKiBQYXJ0aWFsIHByZWZldGNoIG1v ZGUgKi8KKwlFX0ZNQU5fUE9SVF9ERVFfRlVMTF9QUkVGRVRDSCAvKiBGdWxsIHByZWZldGNoIG1v ZGUgKi8KK307CisKKy8qIFBhcmFtZXRlcnMgZm9yIGRlZmluaW5nIHBlcmZvcm1hbmNlIGNvdW50 ZXJzIGJlaGF2aW9yICovCitzdHJ1Y3QgZm1hbl9wb3J0X3BlcmZfY250X3BhcmFtcyB7CisJdWlu dDhfdCB0YXNrX3ZhbDsJLyogVGFzayBjb21wYXJlIHZhbHVlICovCisJdWludDhfdCBxdWV1ZV92 YWw7CisJLyogUnggb3IgVHggY29uZiBxdWV1ZSBjb21wYXJlIHZhbHVlICh1bnVzZWQgZm9yIE8v SCBwb3J0cykgKi8KKwl1aW50OF90IGRtYV92YWw7CS8qIERtYSBjb21wYXJlIHZhbHVlICovCisJ dWludDMyX3QgZmlmb192YWw7CS8qIEZpZm8gY29tcGFyZSB2YWx1ZSAoaW4gYnl0ZXMpICovCit9 OworCisvKiBGTSBQb3J0IGNvbmZpZ3VyYXRpb24gc3RydWN0dXJlLCB1c2VkIGF0IGluaXQgKi8K K3N0cnVjdCBmbWFuX3BvcnRfY2ZnIHsKKwlzdHJ1Y3QgZm1hbl9wb3J0X3BlcmZfY250X3BhcmFt cyBwZXJmX2NudF9wYXJhbXM7CisJLyogQk1JIHBhcmFtZXRlcnMgKi8KKwllbnVtIGZtYW5fcG9y dF9kbWFfc3dhcCBkbWFfc3dhcF9kYXRhOworCWJvb2wgZG1hX2ljX3N0YXNoX29uOworCWJvb2wg ZG1hX2hlYWRlcl9zdGFzaF9vbjsKKwlib29sIGRtYV9zZ19zdGFzaF9vbjsKKwlib29sIGRtYV93 cml0ZV9vcHRpbWl6ZTsKKwl1aW50MTZfdCBpY19leHRfb2Zmc2V0OworCXVpbnQ4X3QgaWNfaW50 X29mZnNldDsKKwl1aW50MTZfdCBpY19zaXplOworCWVudW0gZm1hbl9wb3J0X2NvbG9yIGNvbG9y OworCWJvb2wgc3luY19yZXE7CisJYm9vbCBkaXNjYXJkX292ZXJyaWRlOworCXVpbnQ4X3QgY2hl Y2tzdW1fYnl0ZXNfaWdub3JlOworCXVpbnQ4X3QgcnhfY3V0X2VuZF9ieXRlczsKKwl1aW50MzJf dCByeF9wcmlfZWxldmF0aW9uOworCXVpbnQzMl90IHJ4X2ZpZm9fdGhyOworCXVpbnQ4X3Qgcnhf ZmRfYml0czsKKwl1aW50OF90IGludF9idWZfc3RhcnRfbWFyZ2luOworCXVpbnQxNl90IGV4dF9i dWZfc3RhcnRfbWFyZ2luOworCXVpbnQxNl90IGV4dF9idWZfZW5kX21hcmdpbjsKKwl1aW50MzJf dCB0eF9maWZvX21pbl9sZXZlbDsKKwl1aW50MzJfdCB0eF9maWZvX2xvd19jb21mX2xldmVsOwor CXVpbnQ4X3QgdHhfZmlmb19kZXFfcGlwZWxpbmVfZGVwdGg7CisJYm9vbCBzdGF0c19jb3VudGVy c19lbmFibGU7CisJYm9vbCBwZXJmX2NvdW50ZXJzX2VuYWJsZTsKKwkvKiBRTUkgcGFyYW1ldGVy cyAqLworCWJvb2wgZGVxX2hpZ2hfcHJpOworCWVudW0gZm1hbl9wb3J0X2RlcV90eXBlIGRlcV90 eXBlOworCWVudW0gZm1hbl9wb3J0X2RlcV9wcmVmZXRjaCBkZXFfcHJlZmV0Y2hfb3B0OworCXVp bnQxNl90IGRlcV9ieXRlX2NudDsKKwlib29sIHF1ZXVlX2NvdW50ZXJzX2VuYWJsZTsKKwlib29s IG5vX3NjYXR0ZXJfZ2F0aGVyOworCWludCBlcnJhdGFfQTAwNjY3NTsKKwlpbnQgZXJyYXRhX0Ew MDYzMjA7CisJaW50IGV4Y2Vzc2l2ZV90aHJlc2hvbGRfcmVnaXN0ZXI7CisJaW50IGZtYm1fcmVi bV9oYXNfc2dkOworCWludCBmbWJtX3RmbmVfaGFzX2ZlYXR1cmVzOworCWludCBxbWlfZGVxX29w dGlvbnNfc3VwcG9ydDsKK307CisKK2VudW0gZm1hbl9wb3J0X3R5cGUgeworCUVfRk1BTl9QT1JU X1RZUEVfT1AgPSAwLAorCS8qIE9mZmxpbmUgcGFyc2luZyBwb3J0LCBzaGFyZXMgaWQtcyB3aXRo CisJICogaG9zdCBjb21tYW5kLCBzbyBtdXN0IGhhdmUgZXhjbHVzaXZlIGlkLXMKKwkgKi8KKwlF X0ZNQU5fUE9SVF9UWVBFX1JYLAkgICAgLyogMUcgUnggcG9ydCAqLworCUVfRk1BTl9QT1JUX1RZ UEVfUlhfMTBHLCAgICAvKiAxMEcgUnggcG9ydCAqLworCUVfRk1BTl9QT1JUX1RZUEVfVFgsCSAg ICAvKiAxRyBUeCBwb3J0ICovCisJRV9GTUFOX1BPUlRfVFlQRV9UWF8xMEcsICAgICAvKiAxMEcg VHggcG9ydCAqLworCUVfRk1BTl9QT1JUX1RZUEVfRFVNTVkKK307CisKK3N0cnVjdCBmbWFuX3Bv cnRfcGFyYW1zIHsKKwl1aW50MzJfdCBkaXNjYXJkX21hc2s7CisJdWludDMyX3QgZXJyX21hc2s7 CisJdWludDMyX3QgZGZsdF9mcWlkOworCXVpbnQzMl90IGVycl9mcWlkOworCXVpbnQ4X3QgZGVx X3NwOworCWJvb2wgZG9udF9yZWxlYXNlX2J1ZjsKK307CisKKy8qIFBvcnQgY29udGV4dCAtIHVz ZWQgYnkgbW9zdCBBUEkgZnVuY3Rpb25zICovCitzdHJ1Y3QgZm1hbl9wb3J0IHsKKwllbnVtIGZt YW5fcG9ydF90eXBlIHR5cGU7CisJdWludDhfdCBmbV9yZXZfbWFqOworCXVpbnQ4X3QgZm1fcmV2 X21pbjsKKwl1bmlvbiBmbWFuX3BvcnRfYm1pX3JlZ3MgX19pb21lbSAqYm1pX3JlZ3M7CisJc3Ry dWN0IGZtYW5fcG9ydF9xbWlfcmVncyBfX2lvbWVtICpxbWlfcmVnczsKKwl1aW50OF90IGV4dF9w b29sc19udW07Cit9OworCisvKiBFeHRlcm5hbCBidWZmZXIgcG9vbHMgY29uZmlndXJhdGlvbiAq Lworc3RydWN0IGZtYW5fcG9ydF9icG9vbHMgeworCXVpbnQ4X3QgY291bnQ7CQkJLyogTnVtIG9m IHBvb2xzIHRvIHNldCB1cCAqLworCWJvb2wgY291bnRlcnNfZW5hYmxlOwkJLyogRW5hYmxlIGFs bG9jYXRlIGNvdW50ZXJzICovCisJdWludDhfdCBncnBfYnBfZGVwbGV0ZWRfbnVtOworCS8qIE51 bWJlciBvZiBkZXBsZXRlZCBwb29scyAtIGlmIHJlYWNoZWQgdGhlIEJNSSBpbmRpY2F0ZXMKKwkg KiB0aGUgTUFDIHRvIHNlbmQgYSBwYXVzZSBmcmFtZQorCSAqLworCXN0cnVjdCB7CisJCXVpbnQ4 X3QgYnBpZDsJCS8qIEJNIHBvb2wgSUQgKi8KKwkJdWludDE2X3Qgc2l6ZTsKKwkJLyogUG9vbCdz IHNpemUgLSBtdXN0IGJlIGluIGFzY2VuZGluZyBvcmRlciAqLworCQlib29sIGlzX2JhY2t1cDsK KwkJLyogSWYgdGhpcyBpcyBhIGJhY2t1cCBwb29sICovCisJCWJvb2wgZ3JwX2JwX2RlcGxldGVk OworCQkvKiBDb25zaWRlciB0aGlzIGJ1ZmZlciBpbiBtdWx0aXBsZSBwb29scyBkZXBsZXRpb24g Y3JpdGVyaWEqLworCQlib29sIHNpbmdsZV9icF9kZXBsZXRlZDsKKwkJLyogQ29uc2lkZXIgdGhp cyBidWZmZXIgaW4gc2luZ2xlIHBvb2wgZGVwbGV0aW9uIGNyaXRlcmlhICovCisJfSBicG9vbFtG TUFOX1BPUlRfTUFYX0VYVF9QT09MU19OVU1dOworfTsKKworCisvKiAgIEZNIFBvcnQgQVBJICov Cit2b2lkIGZtYW5fcG9ydF9kZWZjb25maWcoc3RydWN0IGZtYW5fcG9ydF9jZmcgKmNmZywgZW51 bSBmbWFuX3BvcnRfdHlwZSB0eXBlKTsKK2ludCBmbWFuX3BvcnRfaW5pdChzdHJ1Y3QgZm1hbl9w b3J0ICpwb3J0LAorCQkgICBzdHJ1Y3QgZm1hbl9wb3J0X2NmZyAqY2ZnLCBzdHJ1Y3QgZm1hbl9w b3J0X3BhcmFtcyAqcGFyYW1zKTsKK2ludCBmbWFuX3BvcnRfZW5hYmxlKHN0cnVjdCBmbWFuX3Bv cnQgKnBvcnQpOworaW50IGZtYW5fcG9ydF9kaXNhYmxlKGNvbnN0IHN0cnVjdCBmbWFuX3BvcnQg KnBvcnQpOworaW50IGZtYW5fcG9ydF9zZXRfYnBvb2xzKGNvbnN0IHN0cnVjdCBmbWFuX3BvcnQg KnBvcnQsCisJCQkgY29uc3Qgc3RydWN0IGZtYW5fcG9ydF9icG9vbHMgKmJwKTsKK2ludCBmbWFu X3BvcnRfc2V0X3BlcmZfY250X3BhcmFtcyhzdHJ1Y3QgZm1hbl9wb3J0ICpwb3J0LAorCQkJCSAg c3RydWN0IGZtYW5fcG9ydF9wZXJmX2NudF9wYXJhbXMgKnBhcmFtcyk7CisKKyNlbmRpZgkvKiBf X0ZTTF9GTUFOX1BPUlRfSCAqLwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zb2MvZnNsL2ZtYW4vZmxp Yi9mc2xfZm1hbl9zcC5oIGIvZHJpdmVycy9zb2MvZnNsL2ZtYW4vZmxpYi9mc2xfZm1hbl9zcC5o Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBmN2JjZTEKLS0tIC9kZXYvbnVs bAorKysgYi9kcml2ZXJzL3NvYy9mc2wvZm1hbi9mbGliL2ZzbF9mbWFuX3NwLmgKQEAgLTAsMCAr MSw2NiBAQAorLyoKKyAqIENvcHlyaWdodCAyMDA4IC0gMjAxNSBGcmVlc2NhbGUgU2VtaWNvbmR1 Y3RvciBJbmMuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0 ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDoKKyAqICAg ICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg Y29weXJpZ2h0CisgKgkgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv bGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqCSBub3RpY2UsIHRoaXMg bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg KgkgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl IGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgRnJlZXNjYWxlIFNl bWljb25kdWN0b3Igbm9yIHRoZQorICoJIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJl IHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzCisgKgkgZGVyaXZlZCBmcm9tIHRo aXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisg KgorICogQUxURVJOQVRJVkVMWSwgdGhpcyBzb2Z0d2FyZSBtYXkgYmUgZGlzdHJpYnV0ZWQgdW5k ZXIgdGhlIHRlcm1zIG9mIHRoZQorICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgKCJHUEwi KSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIGVpdGhl ciB2ZXJzaW9uIDIgb2YgdGhhdCBMaWNlbnNlIG9yIChhdCB5b3VyIG9wdGlvbikgYW55CisgKiBs YXRlciB2ZXJzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgRnJlZXNj YWxlIFNlbWljb25kdWN0b3IgYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElF RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQK KyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ Q1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEZyZWVz Y2FsZSBTZW1pY29uZHVjdG9yIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNU LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF UworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJT VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5ECisgKiBPTiBB TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ TElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKKyAqIFNPRlRXQVJFLCBFVkVO IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNp Zm5kZWYgX19GU0xfRk1BTl9TUF9ICisjZGVmaW5lIF9fRlNMX0ZNQU5fU1BfSAorCisjaW5jbHVk ZSAiY29tbW9uL2dlbmVyYWwuaCIKKyNpbmNsdWRlICJmc2xfZm1hbi5oIgorCisvKiBSZWdpc3Rl cnMgYml0IGZpZWxkcyAqLworI2RlZmluZSBGTUFOX1NQX0VYVF9CVUZfUE9PTF9FTl9DT1VOVEVS CSAgICAweDQwMDAwMDAwCisjZGVmaW5lIEZNQU5fU1BfRVhUX0JVRl9QT09MX1ZBTElECQkgICAg MHg4MDAwMDAwMAorI2RlZmluZSBGTUFOX1NQX0VYVF9CVUZfUE9PTF9CQUNLVVAJCSAgICAweDIw MDAwMDAwCisjZGVmaW5lIEZNQU5fU1BfRE1BX0FUVFJfV1JJVEVfT1BUSU1JWkUJICAgIDB4MDAx MDAwMDAKKyNkZWZpbmUgRk1BTl9TUF9TR19ESVNBQkxFCQkJICAgIDB4ODAwMDAwMDAKKworLyog c2hpZnRzICovCisjZGVmaW5lIEZNQU5fU1BfRVhUX0JVRl9QT09MX0lEX1NISUZUCQkgICAgMTYK KyNkZWZpbmUgRk1BTl9TUF9QT09MX0RFUF9OVU1fT0ZfUE9PTFNfU0hJRlQJICAgIDE2CisjZGVm aW5lIEZNQU5fU1BfRVhUX0JVRl9NQVJHX1NUQVJUX1NISUZUCSAgICAxNgorI2RlZmluZSBGTUFO X1NQX0VYVF9CVUZfTUFSR19FTkRfU0hJRlQJCSAgICAwCisjZGVmaW5lIEZNQU5fU1BfRE1BX0FU VFJfU1dQX1NISUZUCQkgICAgMzAKKyNkZWZpbmUgRk1BTl9TUF9ETUFfQVRUUl9JQ19DQUNIRV9T SElGVAkgICAgMjgKKyNkZWZpbmUgRk1BTl9TUF9ETUFfQVRUUl9IRFJfQ0FDSEVfU0hJRlQJICAg IDI2CisjZGVmaW5lIEZNQU5fU1BfRE1BX0FUVFJfU0dfQ0FDSEVfU0hJRlQJICAgIDI0CisjZGVm aW5lIEZNQU5fU1BfSUNfVE9fRVhUX1NISUZUCQkgICAgMTYKKyNkZWZpbmUgRk1BTl9TUF9JQ19G Uk9NX0lOVF9TSElGVAkJICAgIDgKKyNkZWZpbmUgRk1BTl9TUF9JQ19TSVpFX1NISUZUCQkJICAg IDAKKworLyogZGVmYXVsdHMgKi8KKyNkZWZpbmUgREVGQVVMVF9GTUFOX1NQX0RNQV9TV0FQX0RB VEEJCQkgICAgICBGTUFOX0RNQV9OT19TV1AKKyNkZWZpbmUgREVGQVVMVF9GTUFOX1NQX0RNQV9J TlRfQ09OVEVYVF9DQUNIRV9BVFRSCSAgICAgIEZNQU5fRE1BX05PX1NUQVNICisjZGVmaW5lIERF RkFVTFRfRk1BTl9TUF9ETUFfSEVBREVSX0NBQ0hFX0FUVFIJCSAgICAgIEZNQU5fRE1BX05PX1NU QVNICisjZGVmaW5lIERFRkFVTFRfRk1BTl9TUF9ETUFfU0NBVFRFUl9HQVRIRVJfQ0FDSEVfQVRU UgkgICAgICBGTUFOX0RNQV9OT19TVEFTSAorI2RlZmluZSBERUZBVUxUX0ZNQU5fU1BfRE1BX1dS SVRFX09QVElNSVpFCQkgICAgICB0cnVlCisjZGVmaW5lIERFRkFVTFRfRk1BTl9TUF9OT19TQ0FU VEVSX0dBVEhFUgkJICAgICAgZmFsc2UKKworI2VuZGlmCS8qIF9fRlNMX0ZNQU5fU1BfSCAqLwot LSAKMS43LjkuNQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KTGludXhwcGMtZGV2IG1haWxpbmcgbGlzdApMaW51eHBwYy1kZXZAbGlzdHMub3psYWJzLm9y ZwpodHRwczovL2xpc3RzLm96bGFicy5vcmcvbGlzdGluZm8vbGludXhwcGMtZGV2