LyoKKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKiogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoKKiogIENvcHlyaWdodCCpIDE5OTMsIDE5OTQJCQkJCQkgICAgKgoqKiAgYnkgRGlnaXRhbCBFcXVpcG1lbnQgQ29ycG9yYXRpb24sIE1heW5hcmQsIE1hc3NhY2h1c2V0dHMuCQkgICAgKgoqKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKgoqKiAgQWxsIFJpZ2h0cyBSZXNlcnZlZAkJCQkJCQkgICAgKgoqKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKgoqKiAgUGVybWlzc2lvbiAgaXMgIGhlcmVieSAgZ3JhbnRlZCAgdG8gIHVzZSwgY29weSwgbW9kaWZ5IGFuZCBkaXN0cmlidXRlICAgKgoqKiAgdGhpcyAgc29mdHdhcmUgIGFuZCAgaXRzICBkb2N1bWVudGF0aW9uLCAgaW4gIGJvdGggIHNvdXJjZSAgY29kZSAgYW5kICAgKgoqKiAgb2JqZWN0ICBjb2RlICBmb3JtLCAgYW5kIHdpdGhvdXQgZmVlLCBmb3IgdGhlIHB1cnBvc2Ugb2YgZGlzdHJpYnV0aW9uICAgKgoqKiAgb2YgdGhpcyBzb2Z0d2FyZSAgb3IgIG1vZGlmaWNhdGlvbnMgIG9mIHRoaXMgc29mdHdhcmUgd2l0aGluIHByb2R1Y3RzICAgKgoqKiAgaW5jb3Jwb3JhdGluZyAgYW4gIGludGVncmF0ZWQgICBjaXJjdWl0ICBpbXBsZW1lbnRpbmcgIERpZ2l0YWwncyAgQVhQICAgKgoqKiAgYXJjaGl0ZWN0dXJlLCAgcmVnYXJkbGVzcyAgb2YgdGhlICBzb3VyY2Ugb2Ygc3VjaCBpbnRlZ3JhdGVkIGNpcmN1aXQsICAgKgoqKiAgcHJvdmlkZWQgdGhhdCB0aGUgIGFib3ZlIGNvcHlyaWdodCAgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlICAgKgoqKiAgYXBwZWFyICBpbiAgYWxsIGNvcGllcywgIGFuZCAgdGhhdCAgdGhlICBuYW1lICBvZiAgRGlnaXRhbCAgRXF1aXBtZW50ICAgKgoqKiAgQ29ycG9yYXRpb24gIG5vdCAgYmUgIHVzZWQgIGluIGFkdmVydGlzaW5nIG9yIHB1YmxpY2l0eSBwZXJ0YWluaW5nIHRvICAgKgoqKiAgZGlzdHJpYnV0aW9uIG9mIHRoZSAgZG9jdW1lbnQgIG9yICBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljLCB3cml0dGVuICAgKgoqKiAgcHJpb3IgcGVybWlzc2lvbi4JCQkJCQkJICAgICoKKiogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoKKiogIERpZ2l0YWwgIEVxdWlwbWVudCAgQ29ycG9yYXRpb24gICBkaXNjbGFpbXMgIGFsbCAgIHdhcnJhbnRpZXMgIGFuZC9vciAgICoKKiogIGd1YXJhbnRlZXMgIHdpdGggIHJlZ2FyZCAgdG8gIHRoaXMgIHNvZnR3YXJlLCAgaW5jbHVkaW5nICBhbGwgaW1wbGllZCAgICoKKiogIHdhcnJhbnRpZXMgb2YgZml0bmVzcyBmb3IgIGEgIHBhcnRpY3VsYXIgcHVycG9zZSBhbmQgbWVyY2hhbnRhYmlsaXR5LCAgICoKKiogIGFuZCBtYWtlcyAgbm8gIHJlcHJlc2VudGF0aW9ucyAgcmVnYXJkaW5nICB0aGUgdXNlIG9mLCBvciB0aGUgcmVzdWx0cyAgICoKKiogIG9mIHRoZSB1c2Ugb2YsIHRoZSBzb2Z0d2FyZSBhbmQgZG9jdW1lbnRhdGlvbiBpbiB0ZXJtcyBvZiBjb3JyZWN0bmVzcywgICoKKiogIGFjY3VyYWN5LCAgcmVsaWFiaWxpdHksICBjdXJyZW50bmVzcyAgb3IgIG90aGVyd2lzZTsgIGFuZCB5b3UgcmVseSBvbiAgICoKKiogIHRoZSBzb2Z0d2FyZSwgZG9jdW1lbnRhdGlvbiBhbmQgcmVzdWx0cyBzb2xlbHkgYXQgeW91ciBvd24gcmlzay4JICAgICoKKiogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoKKiogIEFYUCBpcyBhIHRyYWRlbWFyayBvZiBEaWdpdGFsIEVxdWlwbWVudCBDb3Jwb3JhdGlvbi4JCSAgICAqCioqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiovCgovKgoqKiAgU2VnMCBhbmQgU2VnMSBWaXJ0dWFsIEFkZHJlc3MgKFZBKSBGb3JtYXQKKioKKioJICBMb2MJU2l6ZQlOYW1lCUZ1bmN0aW9uCioqCSAtLS0tLQktLS0tCS0tLS0JLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCioqCTw0MjozMz4gIDEwCVNFRzEJRmlyc3QgbGV2ZWwgcGFnZSB0YWJsZSBvZmZzZXQKKioJPDMyOjIzPiAgMTAJU0VHMglTZWNvbmQgbGV2ZWwgcGFnZSB0YWJsZSBvZmZzZXQKKioJPDIyOjEzPiAgMTAJU0VHMwlUaGlyZCBsZXZlbCBwYWdlIHRhYmxlIG9mZnNldAoqKgk8MTI6MDA+ICAxMwlPRkZTRVQJQnl0ZSB3aXRoaW4gcGFnZSBvZmZzZXQKKi8KCiNkZWZpbmUgVkFfVl9TRUcxCTMzCiNkZWZpbmUJVkFfTV9TRUcxCSgweDNGRjw8VkFfVl9TRUcxKQojZGVmaW5lIFZBX1ZfU0VHMgkyMwojZGVmaW5lIFZBX01fU0VHMgkoMHgzRkY8PFZBX1ZfU0VHMikKI2RlZmluZSBWQV9WX1NFRzMJMTMKI2RlZmluZSBWQV9NX1NFRzMJKDB4M0ZGPDxWQV9WX1NFRzMpCiNkZWZpbmUgVkFfVl9PRkZTRVQJMAojZGVmaW5lIFZBX01fT0ZGU0VUCTB4MUZGRgoKLyoKKiogIFZpcnR1YWwgQWRkcmVzcyBPcHRpb25zOiA4SyBieXRlIHBhZ2Ugc2l6ZQoqLwoKI2RlZmluZQlWQV9TX1NJWkUJNDMKI2RlZmluZQlWQV9TX09GRgkxMwojZGVmaW5lIFZBX1NfU0VHCTEwCiNkZWZpbmUgVkFfU19QQUdFX1NJWkUJODE5MgoKLyoKKiogIFBhZ2UgVGFibGUgRW50cnkgKFBURSkgRm9ybWF0CioqCioqCSBFeHRlbnQJU2l6ZQlOYW1lCUZ1bmN0aW9uCioqCSAtLS0tLS0JLS0tLQktLS0tCS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoqKgk8NjM6MzI+CSAgMzIJUEZOCVBhZ2UgRnJhbWUgTnVtYmVyCioqCTwzMToxNj4JICAxNglTVwlSZXNlcnZlZCBmb3Igc29mdHdhcmUKKioJPDE1OjE0PgkgICAyCVJTVjAJUmVzZXJ2ZWQgZm9yIGhhcmR3YXJlIFNCWgoqKgkgICA8MTM+CSAgIDEJVVdFCVVzZXIgV3JpdGUgRW5hYmxlCioqCSAgIDwxMj4JICAgMQlLV0UJS2VybmVsIFdyaXRlIEVuYWJsZQoqKgk8MTE6MTA+CSAgIDIJUlNWMQlSZXNlcnZlZCBmb3IgaGFyZHdhcmUgU0JaCioqCSAgICA8OT4JICAgMQlVUkUJVXNlciBSZWFkIEVuYWJsZQoqKgkgICAgPDg+CSAgIDEJS1JFCUtlcm5lbCBSZWFkIEVuYWJsZQoqKgkgICAgPDc+CSAgIDEJUlNWMglSZXNlcnZlZCBmb3IgaGFyZHdhcmUgU0JaCioqCSAgPDY6NT4JICAgMglHSAlHcmFudWxhcml0eSBIaW50CioqCSAgICA8ND4JICAgMQlBU00JQWRkcmVzcyBTcGFjZSBNYXRjaAoqKgkgICAgPDM+CSAgIDEJRk9FCUZhdWx0IE9uIEV4ZWN1dGUKKioJICAgIDwyPgkgICAxCUZPVwlGYXVsdCBPbiBXcml0ZQoqKgkgICAgPDE+CSAgIDEJRk9SCUZhdWx0IE9uIFJlYWQKKioJICAgIDwwPgkgICAxCVYJVmFsaWQKKi8KCiNkZWZpbmUJUFRFX1ZfUEZOCTMyCiNkZWZpbmUgUFRFX01fUEZOCTB4RkZGRkZGRkYwMDAwMDAwMAojZGVmaW5lIFBURV9WX1NXCTE2CiNkZWZpbmUgUFRFX01fU1cJMHgwMDAwMDAwMEZGRkYwMDAwCiNkZWZpbmUgUFRFX1ZfVVdFCTEzCiNkZWZpbmUgUFRFX01fVVdFCSgxPDxQVEVfVl9VV0UpCiNkZWZpbmUgUFRFX1ZfS1dFCTEyCiNkZWZpbmUgUFRFX01fS1dFCSgxPDxQVEVfVl9LV0UpCiNkZWZpbmUgUFRFX1ZfVVJFCTkKI2RlZmluZSBQVEVfTV9VUkUJKDE8PFBURV9WX1VSRSkKI2RlZmluZSBQVEVfVl9LUkUJOAojZGVmaW5lIFBURV9NX0tSRQkoMTw8UFRFX1ZfS1JFKQojZGVmaW5lIFBURV9WX0dICTUKI2RlZmluZSBQVEVfTV9HSAkoMzw8UFRFX1ZfR0gpCiNkZWZpbmUgUFRFX1ZfQVNNCTQKI2RlZmluZSBQVEVfTV9BU00JKDE8PFBURV9WX0FTTSkKI2RlZmluZSBQVEVfVl9GT0UJMwojZGVmaW5lIFBURV9NX0ZPRQkoMTw8UFRFX1ZfRk9FKQojZGVmaW5lIFBURV9WX0ZPVwkyCiNkZWZpbmUgUFRFX01fRk9XCSgxPDxQVEVfVl9GT1cpCiNkZWZpbmUgUFRFX1ZfRk9SCTEKI2RlZmluZSBQVEVfTV9GT1IJKDE8PFBURV9WX0ZPUikKI2RlZmluZSBQVEVfVl9WQUxJRAkwCiNkZWZpbmUgUFRFX01fVkFMSUQJKDE8PFBURV9WX1ZBTElEKQoKI2RlZmluZSBQVEVfTV9LU0VHCTB4MTExMQojZGVmaW5lIFBURV9NX1BST1QJMHgzMzAwCgovKgoqKiAgU3lzdGVtIEVudHJ5IEluc3RydWN0aW9uIEZhdWx0IChlbnRJRikgQ29uc3RhbnRzOgoqLwoKI2RlZmluZSBJRl9LX0JQVCAgICAgICAgMHgwCiNkZWZpbmUgSUZfS19CVUdDSEsgICAgIDB4MQojZGVmaW5lIElGX0tfR0VOVFJBUCAgICAweDIKI2RlZmluZSBJRl9LX0ZFTiAgICAgICAgMHgzCiNkZWZpbmUgSUZfS19PUENERUMgICAgIDB4NAoKLyoKKiogIFN5c3RlbSBFbnRyeSBIYXJkd2FyZSBJbnRlcnJ1cHQgKGVudEludCkgQ29uc3RhbnRzOgoqLwoKI2RlZmluZSBJTlRfS19JUAkweDAKI2RlZmluZSBJTlRfS19DTEsJMHgxCiNkZWZpbmUgSU5UX0tfTUNISwkweDIKI2RlZmluZSBJTlRfS19ERVYJMHgzCiNkZWZpbmUgSU5UX0tfUEVSRgkweDQKCi8qCioqICBTeXN0ZW0gRW50cnkgTU0gRmF1bHQgKGVudE1NKSBDb25zdGFudHM6CiovCgojZGVmaW5lCU1NX0tfVE5WCTB4MAojZGVmaW5lIE1NX0tfQUNWCTB4MQojZGVmaW5lIE1NX0tfRk9SCTB4MgojZGVmaW5lIE1NX0tfRk9FCTB4MwojZGVmaW5lIE1NX0tfRk9XCTB4NAoKLyoKKiogIFByb2Nlc3MgQ29udHJvbCBCbG9jayAoUENCKSBPZmZzZXRzOgoqLwoKI2RlZmluZSBQQ0JfUV9LU1AJMHgwMDAwCiNkZWZpbmUgUENCX1FfVVNQCTB4MDAwOAojZGVmaW5lIFBDQl9RX1BUQlIJMHgwMDEwCiNkZWZpbmUgUENCX0xfUENDCTB4MDAxOAojZGVmaW5lIFBDQl9MX0FTTgkweDAwMUMKI2RlZmluZSBQQ0JfUV9VTklRVUUJMHgwMDIwCiNkZWZpbmUgUENCX1FfRkVOCTB4MDAyOAojZGVmaW5lIFBDQl9RX1JTVjAJMHgwMDMwCiNkZWZpbmUgUENCX1FfUlNWMQkweDAwMzgKCi8qCioqICBQcm9jZXNzb3IgU3RhdHVzIFJlZ2lzdGVyIChQUykgQml0IFN1bW1hcnkKKioKKioJRXh0ZW50CVNpemUJTmFtZQlGdW5jdGlvbgoqKgktLS0tLS0JLS0tLQktLS0tCS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoqKgkgIDwzPgkgMQlDTQlDdXJyZW50IE1vZGUKKioJPDI6MD4JIDMJSVBMCUludGVycnVwdCBQcmlvcml0eSBMZXZlbAoqKi8KCiNkZWZpbmUJUFNfVl9DTQkJMwojZGVmaW5lIFBTX01fQ00JCSgxPDxQU19WX0NNKQojZGVmaW5lCVBTX1ZfSVBMCTAKI2RlZmluZQlQU19NX0lQTAkoNzw8UFNfVl9JUEwpCgojZGVmaW5lCVBTX0tfS0VSTgkoMDw8UFNfVl9DTSkKI2RlZmluZSBQU19LX1VTRVIJKDE8PFBTX1ZfQ00pCgojZGVmaW5lCUlQTF9LX1pFUk8JMHgwCiNkZWZpbmUgSVBMX0tfU1cwCTB4MQojZGVmaW5lIElQTF9LX1NXMQkweDIKI2RlZmluZSBJUExfS19ERVYwCTB4MwojZGVmaW5lIElQTF9LX0RFVjEJMHg0CiNkZWZpbmUgSVBMX0tfQ0xLCTB4NQojZGVmaW5lIElQTF9LX0lQCTB4NgojZGVmaW5lIElQTF9LX1JUCTB4NgojZGVmaW5lIElQTF9LX1BFUkYgICAgICAweDYKI2RlZmluZSBJUExfS19QRkFJTCAgICAgMHg2CiNkZWZpbmUgSVBMX0tfTUNISwkweDcKCiNkZWZpbmUgSVBMX0tfTE9XCTB4MAojZGVmaW5lIElQTF9LX0hJR0gJMHg3CgovKgoqKiAgU0NCIE9mZnNldCBEZWZpbml0aW9uczoKKi8KCiNkZWZpbmUgU0NCX1FfRkVOCSAgICAJMHgwMDEwCiNkZWZpbmUgU0NCX1FfQUNWCQkweDAwODAKI2RlZmluZSBTQ0JfUV9UTlYJCTB4MDA5MAojZGVmaW5lIFNDQl9RX0ZPUgkJMHgwMEEwCiNkZWZpbmUgU0NCX1FfRk9XCQkweDAwQjAKI2RlZmluZSBTQ0JfUV9GT0UJCTB4MDBDMAojZGVmaW5lIFNDQl9RX0FSSVRICQkweDAyMDAKI2RlZmluZSBTQ0JfUV9LQVNUCQkweDAyNDAKI2RlZmluZSBTQ0JfUV9FQVNUCQkweDAyNTAKI2RlZmluZSBTQ0JfUV9TQVNUCQkweDAyNjAKI2RlZmluZSBTQ0JfUV9VQVNUCQkweDAyNzAKI2RlZmluZSBTQ0JfUV9VTkFMSUdOCQkweDAyODAKI2RlZmluZSBTQ0JfUV9CUFQJCTB4MDQwMAojZGVmaW5lIFNDQl9RX0JVR0NISwkJMHgwNDEwCiNkZWZpbmUgU0NCX1FfT1BDREVDCQkweDA0MjAKI2RlZmluZSBTQ0JfUV9JTExQQUwJCTB4MDQzMAojZGVmaW5lIFNDQl9RX1RSQVAJCTB4MDQ0MAojZGVmaW5lIFNDQl9RX0NITUsJCTB4MDQ4MAojZGVmaW5lIFNDQl9RX0NITUUJCTB4MDQ5MAojZGVmaW5lIFNDQl9RX0NITVMJCTB4MDRBMAojZGVmaW5lIFNDQl9RX0NITVUJCTB4MDRCMAojZGVmaW5lIFNDQl9RX1NXMAkJMHgwNTAwCiNkZWZpbmUgU0NCX1FfU1cxCQkweDA1MTAKI2RlZmluZSBTQ0JfUV9TVzIJCTB4MDUyMAojZGVmaW5lIFNDQl9RX1NXMwkJMHgwNTMwCiNkZWZpbmUJU0NCX1FfU1c0CQkweDA1NDAKI2RlZmluZSBTQ0JfUV9TVzUJCTB4MDU1MAojZGVmaW5lIFNDQl9RX1NXNgkJMHgwNTYwCiNkZWZpbmUgU0NCX1FfU1c3CQkweDA1NzAKI2RlZmluZSBTQ0JfUV9TVzgJCTB4MDU4MAojZGVmaW5lIFNDQl9RX1NXOQkJMHgwNTkwCiNkZWZpbmUgU0NCX1FfU1cxMAkJMHgwNUEwCiNkZWZpbmUgU0NCX1FfU1cxMQkJMHgwNUIwCiNkZWZpbmUgU0NCX1FfU1cxMgkJMHgwNUMwCiNkZWZpbmUgU0NCX1FfU1cxMwkJMHgwNUQwCiNkZWZpbmUgU0NCX1FfU1cxNAkJMHgwNUUwCiNkZWZpbmUgU0NCX1FfU1cxNQkJMHgwNUYwCiNkZWZpbmUgU0NCX1FfQ0xPQ0sJCTB4MDYwMAojZGVmaW5lIFNDQl9RX0lOVEVSCQkweDA2MTAKI2RlZmluZSBTQ0JfUV9TWVNFUlIgICAgICAgIAkweDA2MjAKI2RlZmluZSBTQ0JfUV9QUk9DRVJSCQkweDA2MzAKI2RlZmluZSBTQ0JfUV9QV1JGQUlMCQkweDA2NDAKI2RlZmluZSBTQ0JfUV9QRVJGTU9OCQkweDA2NTAKI2RlZmluZSBTQ0JfUV9TWVNNQ0hLCQkweDA2NjAKI2RlZmluZSBTQ0JfUV9QUk9DTUNISyAgICAgIAkweDA2NzAKI2RlZmluZSBTQ0JfUV9QQVNTUkVMCQkweDA2ODAKCi8qCioqICBTdGFjayBGcmFtZSAoRlJNKSBPZmZzZXRzOgoqKgoqKiAgVGhlcmUgYXJlIHR3byB0eXBlcyBvZiBzeXN0ZW0gZW50cmllcyBmb3IgT1NGLzEgLSB0aG9zZSBmb3IgdGhlCioqICBjYWxsc3lzIENBTExfUEFMIGZ1bmN0aW9uIGFuZCB0aG9zZSBmb3IgZXhjZXB0aW9ucyBhbmQgaW50ZXJydXB0cy4KKiogIEJvdGggZW50cnkgdHlwZXMgdXNlIHRoZSBzYW1lIHN0YWNrIGZyYW1lIGxheW91dC4gIFRoZSBzdGFjayBmcmFtZQoqKiAgY29udGFpbnMgc3BhY2UgZm9yIHRoZSBQQywgdGhlIFBTLCB0aGUgc2F2ZWQgR1AsIGFuZCB0aGUgc2F2ZWQKKiogIGFyZ3VtZW50IHJlZ2lzdGVycyBhMCwgYTEsIGFuZCBhMi4gIE9uIGVudHJ5LCBTUCBwb2ludHMgdG8gdGhlCioqICBzYXZlZCBQUy4KKi8KCiNkZWZpbmUJRlJNX1FfUFMJMHgwMDAwCiNkZWZpbmUgRlJNX1FfUEMJMHgwMDA4CiNkZWZpbmUgRlJNX1FfR1AJMHgwMDEwCiNkZWZpbmUgRlJNX1FfQTAJMHgwMDE4CiNkZWZpbmUgRlJNX1FfQTEJMHgwMDIwCiNkZWZpbmUgRlJNX1FfQTIJMHgwMDI4CgojZGVmaW5lIEZSTV9LX1NJWkUJNDgKCi8qCioqICBIYWx0IENvZGVzOgoqLwoKI2RlZmluZSBITFRfS19SRVNFVAkgICAgMHgwMDAwCiNkZWZpbmUgSExUX0tfSFdfSEFMVAkgICAgMHgwMDAxCiNkZWZpbmUgSExUX0tfS1NQX0lOVkFMCSAgICAweDAwMDIKI2RlZmluZSBITFRfS19TQ0JCX0lOVkFMICAgIDB4MDAwMwojZGVmaW5lIEhMVF9LX1BUQlJfSU5WQUwgICAgMHgwMDA0CiNkZWZpbmUgSExUX0tfU1dfSEFMVAkgICAgMHgwMDA1CiNkZWZpbmUgSExUX0tfREJMX01DSEsJICAgIDB4MDAwNgojZGVmaW5lIEhMVF9LX01DSEtfRlJPTV9QQUwgMHgwMDA3CgovKgoqKiAgTWFjaGluZSBDaGVjayBDb2RlczoKKi8KCiNkZWZpbmUgTUNIS19LX1RQRVJSCSAgICAweDAwODAKI2RlZmluZSBNQ0hLX0tfVENQRVJSCSAgICAweDAwODIKI2RlZmluZSBNQ0hLX0tfSEVSUgkgICAgMHgwMDg0CiNkZWZpbmUgTUNIS19LX0VDQ19DCSAgICAweDAwODYKI2RlZmluZSBNQ0hLX0tfRUNDX05DCSAgICAweDAwODgKI2RlZmluZSBNQ0hLX0tfVU5LTk9XTgkgICAgMHgwMDhBCiNkZWZpbmUgTUNIS19LX0NBQ0tTT0ZUCSAgICAweDAwOEMKI2RlZmluZSBNQ0hLX0tfQlVHQ0hFQ0sJICAgIDB4MDA4RQojZGVmaW5lIE1DSEtfS19PU19CVUdDSEVDSyAgMHgwMDkwCiNkZWZpbmUgTUNIS19LX0RDUEVSUgkgICAgMHgwMDkyCiNkZWZpbmUgTUNIS19LX0lDUEVSUgkgICAgMHgwMDk0CiNkZWZpbmUgTUNIS19LX1JFVFJZX0lSRCAgICAweDAwOTYKI2RlZmluZSBNQ0hLX0tfUFJPQ19IRVJSICAgIDB4MDA5OAoKLyoKKiogU3lzdGVtIE1hY2hpbmUgQ2hlY2sgQ29kZXM6CiovCgojZGVmaW5lIE1DSEtfS19SRUFEX05YTSAgICAgMHgwMjAwCiNkZWZpbmUgTUNIS19LX1NZU19IRVJSICAgICAweDAyMDIKI2RlZmluZSBNQ0hLX0tfU1lTX05PTUVNICAgIDB4MDIwNwoKLyoKKiogIE1hY2hpbmUgQ2hlY2sgRXJyb3IgU3RhdHVzIFN1bW1hcnkgKE1DRVMpIFJlZ2lzdGVyIEZvcm1hdAoqKgoqKgkgRXh0ZW50CVNpemUJTmFtZQlGdW5jdGlvbgoqKgkgLS0tLS0tCS0tLS0JLS0tLQktLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKioJICA8MD4JICAxCU1JUAlNYWNoaW5lIGNoZWNrIGluIHByb2dyZXNzCioqCSAgPDE+CSAgMQlTQ0UJU3lzdGVtIGNvcnJlY3RhYmxlIGVycm9yIGluIHByb2dyZXNzCioqCSAgPDI+CSAgMQlQQ0UJUHJvY2Vzc29yIGNvcnJlY3RhYmxlIGVycm9yIGluIHByb2dyZXNzCioqCSAgPDM+CSAgMQlEUEMJRGlzYWJsZSBQQ0UgZXJyb3IgcmVwb3J0aW5nCioqCSAgPDQ+CSAgMQlEU0MJRGlzYWJsZSBTQ0UgZXJyb3IgcmVwb3J0aW5nCiovCgojZGVmaW5lIE1DRVNfVl9NSVAJMAojZGVmaW5lIE1DRVNfTV9NSVAJKDE8PE1DRVNfVl9NSVApCiNkZWZpbmUgTUNFU19WX1NDRQkxCiNkZWZpbmUgTUNFU19NX1NDRQkoMTw8TUNFU19WX1NDRSkKI2RlZmluZSBNQ0VTX1ZfUENFCTIKI2RlZmluZSBNQ0VTX01fUENFCSgxPDxNQ0VTX1ZfUENFKQojZGVmaW5lIE1DRVNfVl9EUEMJMwojZGVmaW5lIE1DRVNfTV9EUEMJKDE8PE1DRVNfVl9EUEMpCiNkZWZpbmUgTUNFU19WX0RTQwk0CiNkZWZpbmUgTUNFU19NX0RTQwkoMTw8TUNFU19WX0RTQykKCiNkZWZpbmUgTUNFU19NX0FMTCAgICAgIChNQ0VTX01fTUlQIHwgTUNFU19NX1NDRSB8IE1DRVNfTV9QQ0UgfCBNQ0VTX01fRFBDIFwKICAgICAgICAgICAgICAgICAgICAgICAgIHwgTUNFU19NX0RTQykKCi8qCioqICBXaG8tQW0tSSAoV0hBTUkpIFJlZ2lzdGVyIEZvcm1hdAoqKgoqKgkgRXh0ZW50CVNpemUJTmFtZQlGdW5jdGlvbgoqKgkgLS0tLS0tCS0tLS0JLS0tLQktLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKioJICA8NzowPgkgIDgJSUQJV2hvLUFtLUkgaWRlbnRpZmllcgoqKgkgIDwxNTo4PiAgIDEJU1dBUAlTd2FwIFBBTGNvZGUgZmxhZyAtIGNoYXJhY3RlciAnUycKKi8KCiNkZWZpbmUgV0hBTUlfVl9TV0FQCTgKI2RlZmluZSBXSEFNSV9NX1NXQVAJKDE8PFdIQU1JX1ZfU1dBUCkKI2RlZmluZSBXSEFNSV9WX0lECTAKI2RlZmluZSBXSEFNSV9NX0lECTB4RkYKCiNkZWZpbmUgV0hBTUlfS19TV0FQICAgIDB4NTMgICAgLyogQ2hhcmFjdGVyICdTJyAqLwoKLyoKICogT1NGLzEgUEFMLWNvZGUtaW1wb3NlZCBwYWdlIHRhYmxlIGJpdHMKICovCiNkZWZpbmUgX1BBR0VfVkFMSUQgICAgIDB4MDAwMQojZGVmaW5lIF9QQUdFX0ZPUiAgICAgICAweDAwMDIgIC8qIHVzZWQgZm9yIHBhZ2UgcHJvdGVjdGlvbiAoZmF1bHQgb24gcmVhZCkgKi8KI2RlZmluZSBfUEFHRV9GT1cgICAgICAgMHgwMDA0ICAvKiB1c2VkIGZvciBwYWdlIHByb3RlY3Rpb24gKGZhdWx0IG9uIHdyaXRlKSAqLwojZGVmaW5lIF9QQUdFX0ZPRSAgICAgICAweDAwMDggIC8qIHVzZWQgZm9yIHBhZ2UgcHJvdGVjdGlvbiAoZmF1bHQgb24gZXhlYykgKi8KI2RlZmluZSBfUEFHRV9BU00gICAgICAgMHgwMDEwCiNkZWZpbmUgX1BBR0VfS1JFICAgICAgIDB4MDEwMCAgLyogeHh4IC0gc2VlIGJlbG93IG9uIHRoZSAiYWNjZXNzZWQiIGJpdCAqLwojZGVmaW5lIF9QQUdFX1VSRSAgICAgICAweDAyMDAgIC8qIHh4eCAqLwojZGVmaW5lIF9QQUdFX0tXRSAgICAgICAweDEwMDAgIC8qIHVzZWQgdG8gZG8gdGhlIGRpcnR5IGJpdCBpbiBzb2Z0d2FyZSAqLwojZGVmaW5lIF9QQUdFX1VXRSAgICAgICAweDIwMDAgIC8qIHVzZWQgdG8gZG8gdGhlIGRpcnR5IGJpdCBpbiBzb2Z0d2FyZSAqLwo=