ZGlmZiAtLWdpdCBhL01hYy9td2Vya3MvcHJvamVjdHMvUkVBRE1FLVByb2plY3RmaWxlcyBiL01hYy9td2Vya3MvcHJvamVjdHMvUkVBRE1FLVByb2plY3RmaWxlcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMmQ2ZjhjMS4uMDAwMDAwMAotLS0gYS9NYWMvbXdlcmtzL3Byb2plY3RzL1JFQURNRS1Qcm9qZWN0ZmlsZXMKKysrIC9kZXYvbnVsbApAQCAtMSw1MiArMCwwIEBACi1UaGlzIGRpcmVjdG9yeSBjb250YWlucyB0aGUgQ29kZVdhcnJpb3IgOSBwcm9qZWN0cy4gSGVyZSBpcyB3aGF0IHRoZXkKLWFyZSBmb3IgYW5kIHdoZXJlIHRvIHB1dCB0aGVtICh3ZWxsLCB3aGVyZSAqSSogcHV0IHRoZW0sIGF0IGxlYXN0KSwKLWFuZCBzb21lIGluZm8gb24gdGhlIG5hbWluZyBjb252ZW50aW9uIHVzZWQuCi0KLVB5dGhvbjY4Sy61Ci0JTm9uLXNoYXJlZCA2OEsgcHl0aG9uLCBmdWxsIGNvbXBsZW1lbnQgb2YgbW9kdWxlcy4gUHV0IGluCi0JYnVpbGQubWFjNjhrLnN0YW5kLiBVc2VzIG13ZXJrc19ub25zaGFyZWRfY29uZmlnLmguCi0KLQotUHl0aG9uQ29yZVBQQy61Ci0JUFBDIHNoYXJlZCBsaWJyYXJ5IHdpdGggY29yZSBmdW5jdGlvbmFsaXR5LiBQdXQgaW4KLQlidWlsZC5tYWNwcGMuc2hhcmVkLiBVc2VzIG13ZXJrc19zaGFyZWRfY29uZmlnLmguCi1NV0NQeXRob25Db3JlUnVudGltZS61Ci0JQSBzcGVjaWFsIHJ1bnRpbWUgbGlicmFyeSBuZWVkZWQgZm9yIFB5dGhvbkNvcmVQUEMuIFB1dCBpbgotCWJ1aWxkLm1hY3BwYy5zaGFyZWQuCi1QeXRob25QUEMutQotCVBQQyBzaGFyZWQgYXBwbGljYXRpb24uIFB1dCBpbiBidWlsZC5tYWNwcGMuc2hhcmVkLgotUHl0aG9uQXBwbGV0UFBDLrUKLQlQUEMgYXBwbGV0IHRlbXBsYXRlLiBQdXQgaW4gYnVpbGQubWFjcHBjLnNoYXJlZC4KLQotUHl0aG9uQ29yZUNGTTY4Sy61Ci0JQ0ZNNjhLIHNoYXJlZCBsaWJyYXJ5IHdpdGggY29yZSBmdW5jdGlvbmFsaXR5LiBQdXQgaW4KLQlidWlsZC5tYWM2OGsuc2hhcmVkLiBVc2VzIG13ZXJrc19zaGFyZWRfY29uZmlnLmguCi1QeXRob25Db3JlQ0ZNNjhLLrUuZXhwCi0JRXhwb3J0cyBmb3IgZm9yIFB5dGhvbkNvcmVDRk02OEsuIFB1dCBpbiBidWlsZC5tYWM2OGsuc2hhcmVkLgotUHl0aG9uQ0ZNNjhLLrUKLQlDRk02OEsgc2hhcmVkIGFwcGxpY2F0aW9uLiBQdXQgaW4gYnVpbGQubWFjNjhrLnNoYXJlZC4KLVB5dGhvbkFwcGxldENGTTY4Sy61Ci0JQ0ZNNjhLIGFwcGxldCB0ZW1wbGF0ZS4gUHV0IGluIGJ1aWxkLm1hYzY4ay5zaGFyZWQuCi0KLVB5dGhvblBQQ3N0YW5kYWxvbmUutQotCU5vbi1zaGFyZWQgUFBDIHB5dGhvbi4gSWYgeW91IG5lZWQgaXQsIHB1dCBpdCBpbiBidWlsZC5tYWNwcGMuc3RhbmQuCi0JCi1UaGUgcmVzdCBvZiB0aGUgZmlsZXMgYXJlIGZvciBjcmVhdGluZyBkeW5hbWljYWxseSBsb2FkYWJsZSBwbHVnaW4KLW1vZHVsZXMsIHRoZXNlIHNob3VsZCBiZSBwdXQgaW50byB0aGUgUGx1Z0lucyBmb2xkZXIuCi0KLUFzIGFuIGV4YW1wbGUsIGN0Yi5wcGMubXUgYW5kIGN0Yi5wcGMubXUuZXhwIGFyZSB1c2VkIHRvIGJ1aWxkIHRoZSBQUEMKLXBsdWdpbiBtb2R1bGUgY3RiLnBwYy5zbGIuCi0KLVNpbWlsYXJseSwgY3RiLkNGTTY4Sy5tdSBhbmQgY3RiLkNGTTY4Sy5tdS5leHAgYXJlIHVzZWQgdG8gYnVpbGQgdGhlCi1DRk02OEsgcGx1Z2luIG1vZHVsZSBjdGIuQ0ZNNjhLLnNsYi4KLQotVGhlIHByb2plY3RzIHdpdGggIm1vZHVsZXMiIGluIHRoZWlyIG5hbWUgYXJlIHNvbWV3aGF0IHNwZWNpYWw6IHRoZXNlCi1idWlsZCBzaGFyZWQgbGlicmFyaWVzIHRoYXQgY29udGFpbiBtb3JlIHRoYW4gb25lIG1vZHVsZSAodXN1YWxseQotcmVsYXRlZCkuIFRoZSBNa1BsdWdpbkFsaWFzZXMucHkgc2NyaXB0IChmcm9tIE1hYy9zY3JpcHRzKSBrbm93cyBhYm91dAotYWxsIG1vZHVsZXMgdGhhdCBsaXZlIHRvZ2V0aGVyLCBhbmQgd2lsbCBjcmVhdGUgdGhlIG5lY2Vzc2FyeSBhbGlhc2VzCi10byBtYWtlIGl0IGFsbCB3b3JrLgotCi1BbGwgcGx1Z2luIG1vZHVsZXMgdXNlIG13ZXJrc19wbHVnaW5fY29uZmlnLmggYXMgdGhlaXIgaGVhZGVyIGZpbGUsCi13aXRoIHRoZSBleGNlcHRpb24gb2YgdGhlIF90a2ludGVyIHBsdWdpbnMsIHdoaWNoIHVzZQotbXdlcmtzX3RrcGx1Z2luX2NvbmZpZy5oLgotCmRpZmYgLS1naXQgYS9NYWMvbXdlcmtzL3Byb2plY3RzL2J1aWxkLm1hY2ZyZWV6ZS9mcm96ZW4ucHJqIGIvTWFjL213ZXJrcy9wcm9qZWN0cy9idWlsZC5tYWNmcmVlemUvZnJvemVuLnByagpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTg0MDI4ZS4uMDAwMDAwMAotLS0gYS9NYWMvbXdlcmtzL3Byb2plY3RzL2J1aWxkLm1hY2ZyZWV6ZS9mcm96ZW4ucHJqCisrKyAvZGV2L251bGwKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvTWFjL213ZXJrcy9wcm9qZWN0cy9idWlsZC5tYWNmcmVlemUvZnJvemVuYnVuZGxlLnJzcmMgYi9NYWMvbXdlcmtzL3Byb2plY3RzL2J1aWxkLm1hY2ZyZWV6ZS9mcm96ZW5idW5kbGUucnNyYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZmEyYzAyYS4uMDAwMDAwMAotLS0gYS9NYWMvbXdlcmtzL3Byb2plY3RzL2J1aWxkLm1hY2ZyZWV6ZS9mcm96ZW5idW5kbGUucnNyYworKysgL2Rldi9udWxsCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL01hYy9td2Vya3MvcHJvamVjdHMvYnVpbGQubWFjZnJlZXplL3RlbXBsYXRlZnJvemVuY29uZmlnLmMgYi9NYWMvbXdlcmtzL3Byb2plY3RzL2J1aWxkLm1hY2ZyZWV6ZS90ZW1wbGF0ZWZyb3plbmNvbmZpZy5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxOTI0MTM2Li4wMDAwMDAwCi0tLSBhL01hYy9td2Vya3MvcHJvamVjdHMvYnVpbGQubWFjZnJlZXplL3RlbXBsYXRlZnJvemVuY29uZmlnLmMKKysrIC9kZXYvbnVsbApAQCAtMSw2NSArMCwwIEBACi0vKiBHZW5lcmF0ZWQgYXV0b21hdGljYWxseSBmcm9tIC91ZnMvamFjay9zcmMvcHl0aG9uL2J1aWxkLmlyaXg2L3RtcC9saWIvcHl0aG9uMS41L2NvbmZpZy9jb25maWcuYy5pbiBieSBtYWtlc2V0dXAuICovCi0vKiAtKi0gQyAtKi0gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLUNvcHlyaWdodCAxOTkxLTE5OTUgYnkgU3RpY2h0aW5nIE1hdGhlbWF0aXNjaCBDZW50cnVtLCBBbXN0ZXJkYW0sCi1UaGUgTmV0aGVybGFuZHMuCi0KLSAgICAgICAgICAgICAgICAgICAgICAgIEFsbCBSaWdodHMgUmVzZXJ2ZWQKLQotUGVybWlzc2lvbiB0byB1c2UsIGNvcHksIG1vZGlmeSwgYW5kIGRpc3RyaWJ1dGUgdGhpcyBzb2Z0d2FyZSBhbmQgaXRzCi1kb2N1bWVudGF0aW9uIGZvciBhbnkgcHVycG9zZSBhbmQgd2l0aG91dCBmZWUgaXMgaGVyZWJ5IGdyYW50ZWQsCi1wcm92aWRlZCB0aGF0IHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFwcGVhciBpbiBhbGwgY29waWVzIGFuZCB0aGF0Ci1ib3RoIHRoYXQgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBhcHBlYXIgaW4KLXN1cHBvcnRpbmcgZG9jdW1lbnRhdGlvbiwgYW5kIHRoYXQgdGhlIG5hbWVzIG9mIFN0aWNodGluZyBNYXRoZW1hdGlzY2gKLUNlbnRydW0gb3IgQ1dJIG9yIENvcnBvcmF0aW9uIGZvciBOYXRpb25hbCBSZXNlYXJjaCBJbml0aWF0aXZlcyBvcgotQ05SSSBub3QgYmUgdXNlZCBpbiBhZHZlcnRpc2luZyBvciBwdWJsaWNpdHkgcGVydGFpbmluZyB0bwotZGlzdHJpYnV0aW9uIG9mIHRoZSBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljLCB3cml0dGVuIHByaW9yCi1wZXJtaXNzaW9uLgotCi1XaGlsZSBDV0kgaXMgdGhlIGluaXRpYWwgc291cmNlIGZvciB0aGlzIHNvZnR3YXJlLCBhIG1vZGlmaWVkIHZlcnNpb24KLWlzIG1hZGUgYXZhaWxhYmxlIGJ5IHRoZSBDb3Jwb3JhdGlvbiBmb3IgTmF0aW9uYWwgUmVzZWFyY2ggSW5pdGlhdGl2ZXMKLShDTlJJKSBhdCB0aGUgSW50ZXJuZXQgYWRkcmVzcyBmdHA6Ly9mdHAucHl0aG9uLm9yZy4KLQotU1RJQ0hUSU5HIE1BVEhFTUFUSVNDSCBDRU5UUlVNIEFORCBDTlJJIERJU0NMQUlNIEFMTCBXQVJSQU5USUVTIFdJVEgKLVJFR0FSRCBUTyBUSElTIFNPRlRXQVJFLCBJTkNMVURJTkcgQUxMIElNUExJRUQgV0FSUkFOVElFUyBPRgotTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTLCBJTiBOTyBFVkVOVCBTSEFMTCBTVElDSFRJTkcgTUFUSEVNQVRJU0NICi1DRU5UUlVNIE9SIENOUkkgQkUgTElBQkxFIEZPUiBBTlkgU1BFQ0lBTCwgSU5ESVJFQ1QgT1IgQ09OU0VRVUVOVElBTAotREFNQUdFUyBPUiBBTlkgREFNQUdFUyBXSEFUU09FVkVSIFJFU1VMVElORyBGUk9NIExPU1MgT0YgVVNFLCBEQVRBIE9SCi1QUk9GSVRTLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgTkVHTElHRU5DRSBPUiBPVEhFUgotVE9SVElPVVMgQUNUSU9OLCBBUklTSU5HIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFVTRSBPUgotUEVSRk9STUFOQ0UgT0YgVEhJUyBTT0ZUV0FSRS4KLQotKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwotCi0vKiBNb2R1bGUgY29uZmlndXJhdGlvbiAqLwotCi0vKiAhISEgISEhICEhISBUaGlzIGZpbGUgaXMgZWRpdGVkIGJ5IHRoZSBtYWtlc2V0dXAgc2NyaXB0ICEhISAhISEgISEhICovCi0KLS8qIFRoaXMgZmlsZSBjb250YWlucyB0aGUgdGFibGUgb2YgYnVpbHQtaW4gbW9kdWxlcy4KLSAgIFNlZSBpbml0X2J1aWx0aW4oKSBpbiBpbXBvcnQuYy4gKi8KLQotI2luY2x1ZGUgIlB5dGhvbi5oIgotCi0KLS8qIC0tIEFERE1PRFVMRSBNQVJLRVIgMSAtLSAqLwotCi1leHRlcm4gdm9pZCBQeU1hcnNoYWxfSW5pdCgpOwotZXh0ZXJuIHZvaWQgaW5pdGltcCgpOwotCi1zdHJ1Y3QgX2luaXR0YWIgX1B5SW1wb3J0X0luaXR0YWJbXSA9IHsKLQotLyogLS0gQURETU9EVUxFIE1BUktFUiAyIC0tICovCi0KLQkvKiBUaGlzIG1vZHVsZSAibGl2ZXMgaW4iIHdpdGggbWFyc2hhbC5jICovCi0JeyJtYXJzaGFsIiwgUHlNYXJzaGFsX0luaXR9LAotCi0JLyogVGhpcyBsaXZlcyBpdCB3aXRoIGltcG9ydC5jICovCi0JeyJpbXAiLCBpbml0aW1wfSwKLQotCS8qIFRoZXNlIGVudHJpZXMgYXJlIGhlcmUgZm9yIHN5cy5idWlsdGluX21vZHVsZV9uYW1lcyAqLwotCXsiX19tYWluX18iLCBOVUxMfSwKLQl7Il9fYnVpbHRpbl9fIiwgTlVMTH0sCi0JeyJzeXMiLCBOVUxMfSwKLQotCS8qIFNlbnRpbmVsICovCi0JezAsIDB9Ci19Owo=