ZGlmZiAtLWdpdCBhL2RvYy9LVVJTL0xQQy1LVVJTMi9jaGFwdGVyMSBiL2RvYy9LVVJTL0xQQy1LVVJTMi9jaGFwdGVyMQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42YzQ1OWNkCi0tLSAvZGV2L251bGwKKysrIGIvZG9jL0tVUlMvTFBDLUtVUlMyL2NoYXB0ZXIxCkBAIC0wLDAgKzEsMTQzIEBACitJbnRlcm1lZGlhdGUgTFBDCitEZXNjYXJ0ZXMgb2YgQm9yZworTm92ZXJtYmVyIDE5OTMKKworICAgICAgICAgICAgICAgICAgICAgICAgIENoYXB0ZXIgMTogSW50cm9kdWN0aW9uCisKKzEuMSBMUEMgQmFzaWNzCitBbnlvbmUgcmVhZGluZyB0aGlzIHRleHRib29rIHNob3VsZCBlaXRoZXIgaGF2ZSByZWFkIHRoZSB0ZXh0Ym9vayBMUEMKK0Jhc2ljcyBvciBiZSBmYW1pbGlhciBlbm91Z2ggd2l0aCBtdWQgcmVhbG0gY29kaW5nIHN1Y2ggdGhhdCBub3Qgb25seSBhcmUKK3RoZXkgY2FwYWJsZSBvZiBidWlsZGluZyByb29tcyBhbmQgb3RoZXIgc3VjaCBvYmplY3RzIGludm9sdmVkIGluIGFyZWEKK2NvZGluZywgYnV0IHRoZXkgYWxzbyBoYXZlIGEgZ29vZCBpZGVhIG9mIHdoYXQgaXMgZ29pbmcgb24gd2hlbiB0aGUgY29kZQordGhleSB3cml0ZSBpcyBleGVjdXRpbmcuICBJZiB5b3UgZG8gbm90IGZlZWwgeW91IGFyZSBhdCB0aGlzIHBvaW50LCB0aGVuIGdvCitiYWNrIGFuZCByZWFkIExQQyBCYXNpY3MgYmVmb3JlIGNvbnRpbnVpbmcuICBJZiB5b3UgZG8gc28sIHlvdSB3aWxsIGZpbmQKK3RoYXQgd2hhdCB5b3UgcmVhZCBoZXJlIHdpbGwgYmUgbXVjaCBtb3JlIG1lYW5pbmdmdWwgdG8geW91LgorCisxLjIgR29hbHMgb2YgVGhpcyBUZXh0Ym9vaworVGhlIGludHJvZHVjdG9yeSB0ZXh0Ym9vayB3YXMgbWVhbnQgdG8gdGFrZSBwZW9wbGUgbmV3IHRvIExQQyBmcm9tCitrbm93aW5nIG5vdGhpbmcgdG8gYmVpbmcgYWJsZSB0byBjb2RlIGEgbmljZSByZWFsbSBvbiBhbnkgTFBNdWQuICBUaGVyZQoraXMgbmF0dXJhbGx5IG11Y2ggbW9yZSB0byBMUEMgYW5kIHRvIExQTXVkIGJ1aWxkaW5nLCBob3dldmVyLCB0aGFuCitidWlsZGluZyByb29tcywgYXJtb3VycywgbW9uc3RlcnMsIGFuZCB3ZWFwb25zLiAgQXMgeW91IGdldCBpbnRvIG1vcmUKK2NvbXBsaWNhdGVkIGNvbmNlcHRzIGxpa2UgZ3VpbGRzLCBvciBkZXNpcmUgdG8gZG8gbW9yZSBpbnZvbHZlZCB0aGluZ3Mgd2l0aAoreW91ciByZWFsbSwgeW91IHdpbGwgZmluZCB0aGUgY29uY2VwdHMgZGV0YWlsZWQgaW4gTFBDIEJhc2ljcyB0byBiZSBsYWNraW5nCitpbiBzdXBwb3J0IGZvciB0aGVzZSBwcm9qZWN0cy4gIEludGVybWVkaWF0ZSBMUEMgaXMgZGVzaWduZWQgdG8gdGFrZSB5b3UKK2JleW9uZCB0aGUgc2ltcGxlIHJlYWxtIGJ1aWxkaW5nIHByb2Nlc3MgaW50byBhIGZ1bGwga25vd2xlZGdlIG9mIExQQyBmb3IKK2Z1bmN0aW9uaW5nIGFzIGEgcmVhbG0gYnVpbGRlciBvbiBhbiBMUE11ZC4gIFRoZSB0YXNrIG9mIG11ZGxpYiBidWlsZGluZworaXRzZWxmIGlzIGxlZnQgdG8gYSBsYXRlciB0ZXh0LiAgQWZ0ZXIgcmVhZGluZyB0aGlzIHRleHRib29rIGFuZCB3b3JraW5nIHRocm91Z2gKK2l0IGJ5IGV4cGVyaW1lbnRpbmcgd2l0aCBhY3R1YWwgY29kZSwgdGhlIHJlYWRlciBzaG91bGQgYmUgYWJsZSB0byBjb2RlIGdhbWUKK29iamVjdHMgdG8gZml0IGFueSBkZXNpZ24gb3IgaWRlYSB0aGV5IGhhdmUgaW4gbWluZCwgc28gbG9uZyBhcyBJIGhhdmUgYmVlbgorc3VjY2Vzc2Z1bC4KKworMS4zIEFuIE92ZXJ2aWV3CitXaGF0IG1vcmUgaXMgdGhlcmU/ICBXZWxsIG1hbnkgb2YgeW91IGFyZSBxdWl0ZSBhd2FyZSB0aGF0IExQQyBzdXBwb3J0cworbWFwcGluZ3MgYW5kIGFycmF5cyBhbmQgaGF2ZSBiZWVuIGFza2luZyBtZSB3aHkgdGhvc2Ugd2VyZSBub3QgZGV0YWlsZWQKK2luIExQQyBCYXNpY3MuICBJIGZlbHQgdGhhdCB0aG9zZSBjb25jZXB0cyB3ZXJlIGJleW9uZCB0aGUgc2NvcGUgb2Ygd2hhdCBJCit3YXMgdHJ5aW5nIHRvIGRvIHdpdGggdGhhdCB0ZXh0Ym9vayBhbmQgd2VyZSBtb3JlIGZpdHRpbmcgdG8gdGhpcyB0ZXh0Ym9vay4gCitCdXQgbmV3IHRvb2xzIGFyZSBhbGwgZmluZSBhbmQgZGFuZHksIHdoYXQgbWF0dGVycywgaG93ZXZlciwgaXMgd2hhdCB5b3UKK2NhbiBkbyB3aXRoIHRob3NlIHRvb2xzLiAgVGhlIGdvYWwgb2YgTFBDIEJhc2ljcyB3YXMgdG8gZ2V0IHlvdSB0byBidWlsZGluZworcXVhbGl0eSBMUE11ZCByZWFsbXMuICBNYXBwaW5ncyBhbmQgYXJyYXlzIGFyZSBub3QgbmVjZXNzYXJ5IHRvIGRvIHRoYXQuIAorVGhlIGdvYWwgb2YgdGhpcyBib29rIGlzIHRvIGFsbG93IHlvdSB0byBjb2RlIGFueSBpZGVhIHlvdSBtaWdodCB3YW50IHRvCitjb2RlIGluIHlvdXIgYXJlYS4gIFRoYXQgYWJpbGl0eSByZXF1aXJlcyB0aGUga25vd2xlZGdlIG9mIG1hcHBpbmdzIGFuZAorYXJyYXlzLgorCitBbnkgaWRlYSB5b3Ugd2FudCB0byBjb2RlIGluIGFuIExQTXVkIGlzIHBvc3NpYmxlLiAgTFBDIGlzIGEgbGFuZ3VhZ2UKK3doaWNoIGlzIGFtYXppbmdseSB3ZWxsIHN1aXRlZCB0byB0aGlzIHRhc2suICBBbGwgdGhhdCBwcmV2ZW50cyB5b3UgZnJvbQorY29kaW5nIHlvdXIgaWRlYXMgaXMgeW91ciBrbm93bGVkZ2Ugb2YgTFBDIG9yIGFuIGluYWRlcXVhdGUgbXVkbGliIG9yCit5b3VyIG11ZNVzIHRoZW1lIG9yIGFkbWluaXN0cmF0aXZlIHBvbGljaWVzLiAgVGhpcyB0ZXh0Ym9vayBjYW5ub3QgbWFrZQordGhlIG11ZGxpYiB5b3UgYXJlIHdvcmtpbmcgd2l0aCBhbnkgYmV0dGVyLCBhbmQgaXQgY2Fubm90IGNoYW5nZSB0aGUgbXVkCit0aGVtZSBvciB0aGUgbXVk1XMgYWRtaW5pc3RyYXRpdmUgcG9saWNpZXMuICBOZXZlciBvbmNlIHRoaW5rIHRoYXQgTFBDIGlzCitpbmNhcGFibGUgb2YgZG9pbmcgd2hhdCB5b3Ugd2FudCB0byBkby4gIElmIHlvdXIgaWRlYSBpcyBwcmV2ZW50ZWQgYnkKK2FkbWluaXN0cmF0aXZlIHBvbGljaWVzIG9yIHRoZW1lcywgdGhlbiBpdCBpcyBzaW1wbHkgbm90IGFuIGlkZWEgZm9yIHlvdXIKK2N1cnJlbnQgbXVkLiAgSWYgdGhlIG11ZGxpYiBpcyBpbmFkZXF1YXRlLCB0YWxrIHRvIHRoZSBwZW9wbGUgaW4gY2hhcmdlIG9mCit5b3VyIG11ZGxpYiBhYm91dCB3aGF0IGNhbiBiZSBkb25lIGF0IHRoZSBtdWRsaWIgbGV2ZWwgdG8gZmFjaWxpdGF0ZSBpdC4gIFlvdQord291bGQgYmUgc3VycHJpc2VkIGJ5IHdoYXQgaXMgYWN0dWFsbHkgaW4gdGhlIG11ZGxpYiB5b3UgZGlkIG5vdCBrbm93CithYm91dC4gIE1vcmUgaW1wb3J0YW50LCBhZnRlciByZWFkaW5nIHRoaXMgdGV4dGJvb2ssIHlvdSBzaG91bGQgYmUgYWJsZSB0bworcmVhZCBhbGwgb2YgdGhlIG11ZGxpYiBjb2RlIGluIHlvdXIgbXVk1XMgbXVkbGliIGFuZCB1bmRlcnN0YW5kIHdoYXQgaXMKK2dvaW5nIG9uIGF0IGVhY2ggbGluZSBpbiB0aGUgbXVkbGliIGNvZGUuICBZb3UgbWF5IG5vdCBhcyB5ZXQgYmUgYWJsZSB0bworcmVwcm9kdWNlIHRoYXQgY29kZSBvbiB5b3VyIG93biwgYnV0IGF0IGxlYXN0IHlvdSBjYW4gdW5kZXJzdGFuZCB3aGF0IGlzCitnb2luZyBvbiBhdCB0aGUgbXVkbGliIGxldmVsLgorCitUaGlzIHRleHRib29rIHN0YXJ0cyBvdXQgd2l0aCBhIGRpc2N1c3Npb24gYWJvdXQgd2hhdCB0aGUgTFBNdWQgZHJpdmVyIGlzCitkb2luZy4gIE9uZSBuaWNlIHRoaW5nIGFib3V0IHRoaXMgdGV4dGJvb2ssIGluIGdlbmVyYWwgaXQgaXMgY29tcGxldGVseSBkcml2ZXIKK2FuZCBtdWRsaWIgaW5kZXBlbmRlbnQgKGV4Y2VwdGluZyBmb3IgdGhlIER3b3JraW4gR2FtZSBEcml2ZXIpLiAgVGhlCitjaGFwdGVyIG9uIHRoZSBnYW1lIGRyaXZlciBkb2VzIG5vdCBnZXQgaW50byBhY3R1YWwgaW1wbGVtZW50YXRpb24sIGJ1dAoraW5zdGVhZCBkZWFscyB3aXRoIHdoYXQgYWxsIGdhbWUgZHJpdmVycyBiYXNpY2FsbHkgZG8gaW4gb3JkZXIgdG8gcnVuIHRoZQorbXVkLgorCitOZXh0IEkgZGlzY3VzcyB0aG9zZSBtYWdpYyB0b3BpY3MgZXZlcnlvbmUgd2FudHMgdG8ga25vdyBtb3JlIGFib3V0LAorYXJyYXlzIGFuZCBtYXBwaW5ncy4gIE1hcHBpbmdzIG1heSBiZSBzaW11bHRhbmVvdXNseSB0aGUgZWFzaWVzdCBhbmQKK21vc3QgZGlmZmljdWx0IGRhdGEgdHlwZSB0byB1bmRlcnN0YW5kLiAgU2luY2UgdGhleSBhcmUgc29ydCBvZiBjb21wbGV4IGFycmF5cworaW4gYSBsb29zZSBzZW5zZSwgeW91IHJlYWxseSBuZWVkIHRvIHVuZGVyc3RhbmQgYXJyYXlzIGJlZm9yZSBkaXNjdXNzaW5nCit0aGVtLiAgQWxsIHRoZSBzYW1lLCBvbmNlIHlvdSB1bmRlcnN0YW5kIHRoZW0sIHRoZXkgYXJlIG11Y2ggZWFzaWVyIHRoYW4KK2FycmF5cyB0byB1c2UgaW4gcmVhbCBzaXR1YXRpb25zLiAgQXQgYW55IHJhdGUsIHNwZW5kIG1vc3Qgb2YgeW91ciB0aW1lCit3b3JraW5nIHdpdGggdGhhdCBjaGFwdGVyLCBiZWNhdXNlIGl0IGlzIHByb2JhYmx5IHRoZSBtb3N0IGRpZmZpY3VsdCwgeWV0IG1vc3QKK3VzZWZ1bCBjaGFwdGVyIGluIHRoZSBib29rLgorCitBZnRlciB0aGF0IGZvbGxvd3MgYSBicmllZiBjaGFwdGVyIG9uIHRoZSBMUEMgcHJlLWNvbXBpbGVyLCBhIHRvb2wgeW91IGNhbgordXNlIGZvciBzb3J0aW5nIG91dCBob3cgeW91ciBjb2RlIHdpbGwgbG9vayBiZWZvcmUgaXQgZ2V0cyBzZW50IHRvIHRoZQorY29tcGlsZXIuICBEZXNwaXRlIG15IGhvcnJpZCBpbnRybyB0byBpdCBoZXJlLCB0aGlzIGNoYXB0ZXIgaXMgcGVyaGFwcyB0aGUKK2Vhc2llc3QgY2hhcHRlciBpbiB0aGUgdGV4dGJvb2suICBJIHB1dCBpdCBhZnRlciB0aGUgbWFwcGluZ3MgYW5kIGFycmF5cworY2hhcHRlciBmb3IgZXhhY3RseSB0aGF0IHJlYXNvbi4KKworU3RyaW5ncyBhcmUgcmUtaW50cm9kdWNlZCBuZXh0LCBnb2luZyBpbnRvIG1vcmUgZGV0YWlsIHdpdGggaG93IHlvdSBjYW4gZG8KK3N1Y2ggdGhpbmdzIGFzIGFkdmFuY2VkIGNvbW1hbmQgaGFuZGxpbmcgYnkgYnJlYWtpbmcgdXAgc3RyaW5ncy4gIE9uY2UKK3lvdSB1bmRlcnN0YW5kIGFycmF5cyBmYWlybHkgd2VsbCwgdGhpcyBjaGFwdGVyIHNob3VsZCBiZSByZWFsbHkgc2ltcGxlLgorCitUaGUgbmV4dCBjaGFwdGVyIGlzIHRoZSBzZWNvbmQgbW9zdCBpbXBvcnRhbnQgaW4gdGhlIGJvb2suICBJdCBtYXkgYmUgdGhlCittb3N0IGltcG9ydGFudCBpZiB5b3UgZXZlciBpbnRlbmQgdG8gZ28gYmV5b25kIHRoZSBpbnRlcm1lZGlhdGUgc3RhZ2UgYW5kCitkaXZlIGludG8gbXVkbGliIGNvZGluZy4gIFRoYXQgY2hhcHRlciBpbnZvbHZlcyB0aGUgY29tcGxleCBpZGVhcyBiZWhpbmQKK0xQQyBpbmhlcml0YW5jZS4gIFNpbmNlIHRoZSBnb2FsIG9mIHRoaXMgdGV4dGJvb2sgaXMgbm90IHRvIHRlYWNoIG11ZGxpYgorcHJvZ3JhbW1pbmcsIHRoZSBjaGFwdGVyIGlzIG5vdCBhIGRldGFpbGVkIGRpc2N1c3Npb24gb24gb2JqZWN0IG9yaWVudGVkCitwcm9ncmFtbWluZy4gIFVuZGVyc3RhbmRpbmcgdGhpcyBjaGFwdGVyLCBob3dldmVyLCB3aWxsIGdpdmUgeW91IHNvbWUKK2dvb2QgaW5zaWdodHMgaW50byB3aGF0IGlzIGludm9sdmVkIHdpdGggb2JqZWN0IG9yaWVudGVkIHByb2dyYW1taW5nLCBhcword2VsbCBhcyBhbGxvdyB5b3UgdG8gYnVpbGQgbW9yZSBjb21wbGV4IG9iamVjdHMgYnkgb3ZlcnJpZGluZyBmdW5jdGlvbnMKK2FuZCBkZWZpbmluZyB5b3VyIG93biBiYXNlIGNsYXNzZXMuCisKK0ZpbmFsbHksIHRoZSB0ZXh0Ym9vayBlbmRzIHdpdGggYSBzaW1wbGUgZGlzY3Vzc2lvbiBvZiBjb2RlIGRlYnVnZ2luZy4gCitUaGlzIGlzIG5vdCBhbiBlc3NlbnRpYWwgY2hhcHRlciwgYnV0IGluc3RlYWQgaXQgaXMgbWVhbnQgYXMgbW9yZSBvZiBhbgorYXV4aWxpYXJ5IHN1cHBsZW1lbnQgdG8gd2hhdCB0aGUga25vd2xlZGdlIHlvdSBoYXZlIGFjY3VtdWxhdGVkIHNvIGZhci4KKworMS40IE5vdCBBcHBlYXJpbmcgaW4gVGhpcyBUZXh0Ym9vaworUGVyaGFwcyB3aGF0IG1pZ2h0IGFwcGVhciB0byBzb21lIGFzIHRoZSBtb3N0IGdsYXJpbmcgb21pc3Npb24gb2YgdGhpcwordGV4dGJvb2sgaXMgbGFyZ2VseSBhIHBvbGl0aWNhbCBvbWlzc2lvbiwgc2hhZG93cy4gIE5ldmVyIGhhdmUgSSBldmVyCitlbmNvdW50ZXJlZCBhbiBleGFtcGxlIG9mIHdoZXJlIGEgc2hhZG93IHdhcyBlaXRoZXIgdGhlIGJlc3Qgb3IgbW9zdAorZWZmZWNpZW50IG1hbm5lciBvZiBkb2luZyBhbnl0aGluZy4gIEl0IGRvZXMgbm90IGZvbGxvdyBmcm9tIHRoYXQsIGhvd2V2ZXIsCit0aGF0IHRoZXJlIGFyZSBubyB1c2VzIGZvciBzaGFkb3dzLiAgTXkgcmVhc29uaW5nIGZvciBvbWl0dGluZyBzaGFkb3dzCitmcm9tIHRoaXMgdGV4dGJvb2sgaXMgdGhhdCB0aGUgbGVhcm5lciBpcyBiZXN0IHNlcnZlZCBieSBsZWFybmluZyB0aGUgY29uY2VwdHMKK2luIHRoaXMgdGV4dGJvb2sgZmlyc3QgYW5kIGhhdmluZyBzcGVudCB0aW1lIHdpdGggdGhlbSBiZWZvcmUgZGVhbGluZyB3aXRoCit0aGUgc3ViamVjdCBvZiBzaGFkb3dzLiAgSW4gdGhhdCB3YXksIEkgZmVlbCB0aGUgcGVyc29uIGxlYXJuaW5nIExQQyB3aWxsIGJlCitiZXR0ZXIgY2FwYWJsZSBvZiBqdWRnaW5nIHRoZSBtZXJpdHMgb2YgdXNpbmcgYSBzaGFkb3cgZG93biB0aGUgcm9hZC4gIEkKK3dpbGwgZGlzY3VzcyBzaGFkb3dzIGluIGEgZnV0dXJlIHRleHRib29rLgorCitJZiB5b3UgYXJlIHNvbWVvbmUgd2hvIHVzZXMgc2hhZG93cyBzb21lIG9yIGEgbG90LCBwbGVhc2UgZG8gbm90IHRha2UgdGhlCithYm92ZSBwYXJhZ3JhcGggYXMgYSBwZXJzb25hbCBhdHRhY2suICBUaGVyZSBtYXkgYmUgc29tZSBwZXJmZWN0bHkgdmFsaWQKK3VzZXMgZm9yIHNoYWRvd3Mgc29tZXdoZXJlIHdoaWNoIEkgaGF2ZSB5ZXQgdG8gZW5jb3VudGVyLiAgTmV2ZXJ0aGVsZXNzLAordGhleSBhcmUgbm90IHRoZSBpZGVhbCB3YXkgdG8gYWNjb21wbGlzaCBhbnkgZ2l2ZW4gdGFzaywgYW5kIHRoZXJlZm9yZSB0aGV5CithcmUgbm90IGNvbnNpZGVyZWQgZm9yIHRoZSBwdXJwb3NlcyBvZiB0aGlzIHRleHRib29rIGFuIGludGVybWVkaWF0ZSBjb2RpbmcKK3Rvb2wuCisKK0kgaGF2ZSBhbHNvIG9taXR0ZWQgZGlzY3Vzc2lvbnMgb2Ygc2VjdXJpdHkgYW5kIG9iamVjdCBvcmllbnRlZAorcHJvZ3JhbW1pbmcuICBCb3RoIGFyZSBxdWl0ZSBvYnZpb3VzbHkgbXVkbGliIGlzc3Vlcy4gIE1hbnkgcGVvcGxlLAoraG93ZXZlciwgbWlnaHQgdGFrZSBleGNlcHRpb24gd2l0aCBteSBsZWF2aW5nIG91dCBhIGRpc2N1c3Npb24gb2Ygb2JqZWN0CitvcmllbnRlZCBwcm9ncmFtbWluZy4gIEkgY2hvc2UgdG8gbGVhdmUgdGhhdCBmb3IgYSBsYXRlciB0ZXh0LCBzaW5jZSBtb3N0IGFyZWEKK2J1aWxkZXJzIGNvZGUgZm9yIHRoZSBjcmVhdGl2aXR5LCBub3QgZm9yIHRoZSBjb21wdXRlciBzY2llbmNlIHRoZW9yeS4gIEluIGJvdGgKK3RoZSBpbnRlcm1lZGlhdGUgYW5kIGJlZ2lubmVyIHRleHRib29rcywgSSBoYXZlIGNob3NlbiBvbmx5IHRvIGRpc2N1c3MKK3RoZW9yeSB3aGVyZSBpdCBpcyBkaXJlY3RseSBhcHBsaWNhYmxlIHRvIHByYWN0aWNhbCBMUEMgcHJvZ3JhbW1pbmcuICBGb3IKK3Blb3BsZSB3aG8gYXJlIHN0YXJ0aW5nIG91dCBncmVlbiBpbiBMUEMgYW5kIHdhbnQgdG8gY29kZSB0aGUgbmV4dCBncmVhdAorbXVkbGliLCBwZXJoYXBzIHRoZW9yeSB3b3VsZCBiZSBtb3JlIHVzZWZ1bC4gIEJ1dCBmb3IgdGhlIHB1cnBvc2VzIG9mIHRoaXMKK2Jvb2ssIGEgZGlzY3Vzc2lvbiBvZiBvYmplY3Qgb3JpZW50ZWQgcHJvZ3JhbW1pbmcgaXMgc2ltcGx5IGEgc25vb3plci4gIEkKK2RvIHBsYW4gdG8gZ2V0IGhlYXZ5IGludG8gdGhlb3J5IHdpdGggdGhlIG5leHQgdGV4dGJvb2suCisKKzEuNSBTdW1tYXJ5CitMUEMgaXMgbm90IGRpZmZpY3VsdCB0byBsZWFybi4gIEl0IGlzIGEgbGFuZ3VhZ2Ugd2hpY2gsIGFsdGhvdWdoIHBhdGhldGljCitjb21wYXJlZCB0byBhbnkgb3RoZXIgbGFuZ3VhZ2UgZm9yIHBlcmZvcm1pbmcgbW9zdCBjb21wdXRlciBsYW5ndWFnZQordGFza3MsIGlzIGluY3JlZGlibHkgcG93ZXJmdWwgYW5kIHVuZXF1YWxsZWQgZm9yIHRoZSB0YXNrcyBvZiBidWlsZGluZyBhbgorYXJlYSBpbiBNVUQgdHlwZSBnYW1lcy4gIEZvciB0aGUgYmVnaW5uZXIsIGl0IGFsbG93cyB5b3UgdG8gZWFzaWx5IGp1bXAgaW4KK2FuZCBjb2RlIHVzZWZ1bCBvYmplY3RzIHdpdGhvdXQgZXZlbiBrbm93aW5nIHdoYXQgeW91IGFyZSBkb2luZy4gIEZvciB0aGUKK2ludGVybWVkaWF0ZSBwZXJzb24sIGl0IGFsbG93cyB5b3UgdG8gdHVybiBhbnkgaWRlYSB5b3UgaGF2ZSBpbnRvIHRleHR1YWwKK3ZpcnR1YWwgcmVhbGl0eS4gIEFuZCBmb3IgdGhlIGFkdmFuY2VkIHBlcnNvbiwgaXTVcyBvYmplY3Qgb3JpZW50ZWQgZmVhdHVyZXMKK2NhbiBhbGxvdyB5b3UgdG8gYnVpbGQgb25lIG9mIHRoZSBtb3N0IHBvcHVsYXIgZ2FtZXMgb24gdGhlIGludGVybmV0LiAgV2hhdAoreW91IGNhbiBkbyBpcyBzaW1wbHkgbGltaXRlZCBieSBob3cgbXVjaCB5b3Uga25vdy4gIEFuZCBsZWFybmluZyBtb3JlCitkb2VzIG5vdCByZXF1aXJlIGEgY29tcHV0ZXIgc2NpZW5jZSBkZWdyZWUuCisKK0NvcHlyaWdodCAoYykgR2VvcmdlIFJlZXNlIDE5OTMK