From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTP id E7C3144D1E for ; Mon, 19 Dec 2022 06:50:30 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 2285C6806F5; Mon, 19 Dec 2022 08:50:27 +0200 (EET) Received: from szxga02-in.huawei.com (szxga02-in.huawei.com [45.249.212.188]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 04A92688127 for ; Mon, 19 Dec 2022 08:50:19 +0200 (EET) Received: from kwepemm600005.china.huawei.com (unknown [172.30.72.56]) by szxga02-in.huawei.com (SkyGuard) with ESMTP id 4Nb9Kc0DNhzRphm for ; Mon, 19 Dec 2022 14:49:08 +0800 (CST) Received: from kwepemi500014.china.huawei.com (7.221.188.232) by kwepemm600005.china.huawei.com (7.193.23.191) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Mon, 19 Dec 2022 14:50:15 +0800 Received: from kwepemi500014.china.huawei.com ([7.221.188.232]) by kwepemi500014.china.huawei.com ([7.221.188.232]) with mapi id 15.01.2375.034; Mon, 19 Dec 2022 14:50:15 +0800 From: "Wujian(Chin)" To: FFmpeg development discussions and patches Thread-Topic: [FFmpeg-devel] [PATCH] fftools/ffmpeg_ffplay_ffprobe_cmdutils: add -safe to replace the user name and password in the protocol address Thread-Index: AdkR6kCaPiIZsC5wR7GatfIhHllSDQBLYvgAABETSyA= Date: Mon, 19 Dec 2022 06:50:15 +0000 Message-ID: <8bdf9456d1904119a59ddd5c7127690b@huawei.com> References: <1f01a2a041ba4e809ec8d9175fde8d8e@huawei.com> In-Reply-To: Accept-Language: zh-CN, en-US Content-Language: zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.136.102.143] MIME-Version: 1.0 X-CFilter-Loop: Reflected Subject: [FFmpeg-devel] =?utf-8?b?562U5aSNOiAgW1BBVENIXSBmZnRvb2xzL2Zm?= =?utf-8?q?mpeg=5Fffplay=5Fffprobe=5Fcmdutils=3A_add_-safe_to_replace_the_?= =?utf-8?q?user_name_and_password_in_the_protocol_address?= X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Cc: "zhangxiong \(A\)" , "wangqinghua \(I\)" Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: DQo+PiBPbiBEZWMgMTcsIDIwMjIsIGF0IDE1OjM2LCBXdWppYW4oQ2hpbikgPHd1amlhbjJAaHVh d2VpLmNvbT4gd3JvdGU6DQo+PiANCj4+IFRoZSBQcm90b2NvbCBhZGRyZXNzIG1heSBjb250YWlu IHRoZSB1c2VyIG5hbWUgYW5kIHBhc3N3b3JkLiBUaGUgcHMgLWVmIGNvbW1hbmQgbWF5IGV4cG9z ZSB0aGUgcGxhaW50ZXh0Lg0KPj4gVGhlIC1zYWZlIHBhcmFtZXRlciBvcHRpb24gaXMgYWRkZWQg dG8gcmVwbGFjZSB0aGUgdXNlciBuYW1lIGFuZCBwYXNzd29yZCBpbiB0aGUgY29tbWFuZCBsaW5l IHdpdGggdGhlIGFzdGVyaXNrICgqKS4NCg0KPlRoZSBwYXRjaCByZWR1Y2VkIHRoZSByaXNrIHRv IGEgbG93IGxldmVsLCBidXQgSSBkb27igJl0IHRoaW5rIGl0IGZpeGVkIHRoZSBzZWN1cml0eSBp c3N1ZSB0b3RhbGx5LiBJdOKAmXMgc3RpbGwgdGhlcmUgd2l0aCBhIHNtYWxsIHRpbWUgd2luZG93 LiBUaGUgdXNlY2FzZSBpdHNlbGYgaXMgdW5zYWZlLg0KDQpJdCdzIHN0aWxsIHRoZXJlIHdpdGgg YSBzbWFsbCB0aW1lIHdpbmRvdywgdG9vIHNob3J0IGZvciBwZW9wbGUgdG8gY2FwdHVyZS4NCkRv IHlvdSBoYXZlIGFueSBvdGhlciBiZXR0ZXIgd2F5LCBpZiBub3QsIHRoaXMgd2F5IHByZXZlbnRz IDk5JSBvZiB0aGUgc2NlbmVzIGJldHRlciB0aGFuIG5vdCBkb2luZyBpdCBhdCBhbGwuDQoNCg0K PlRoZXJlIGlzIGFuIC1zYWZlIG9wdGlvbiBpbiBjb25jYXQgZGVtdXhlciwgcGxlYXNlIG1ha2Ug c3VyZSB0aGVyZSBpcyBubyBjb25mbGljdC4NCj5jb25jYXQgZGVtdXhlciBBVk9wdGlvbnM6DQo+ ICAtc2FmZSAgICAgICAgICAgICAgPGJvb2xlYW4+ICAgIC5ELi4uLi4uLi4uIGVuYWJsZSBzYWZl IG1vZGUgKGRlZmF1bHQgdHJ1ZSkNCg0KVGhlcmUgaXMgbm8gY29uZmxpY3QgYmVjYXVzZSAtc2Fm ZSBpcyBpZGVudGlmaWVkIGJ5IHRoZSBzZWNvbmQgcGFyYW1ldGVyIGFmdGVyIGZmbXBlZy9mZnBy b2JlL2ZmcGxheS4NCg0KDQo+PiBTaWduZWQtb2ZmLWJ5OiB3dWppYW5fbmFuamluZyA8d3VqaWFu MkBodWF3ZWkuY29tPg0KPj4gLS0tDQo+PiBkb2MvZmZtcGVnLnRleGkgICAgfCAgNyArKysrKysr DQo+PiBkb2MvZmZwbGF5LnRleGkgICAgfCAgOCArKysrKysrKw0KPj4gZG9jL2ZmcHJvYmUudGV4 aSAgIHwgIDcgKysrKysrKw0KPj4gZmZ0b29scy9jbWR1dGlscy5jIHwgNDcgDQo+PiArKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLQ0KPj4gZmZ0b29scy9jbWR1 dGlscy5oIHwgMTUgKysrKysrKysrKysrKysrDQo+PiBmZnRvb2xzL2ZmbXBlZy5jICAgfCAxNiAr KysrKysrKysrKysrLS0tDQo+PiBmZnRvb2xzL2ZmcGxheS5jICAgfCAxNSArKysrKysrKysrKysr LS0NCj4+IGZmdG9vbHMvZmZwcm9iZS5jICB8IDE4ICsrKysrKysrKysrKysrLS0tLQ0KPj4gOCBm aWxlcyBjaGFuZ2VkLCAxMjAgaW5zZXJ0aW9ucygrKSwgMTMgZGVsZXRpb25zKC0pDQo+PiANCj4+ IGRpZmYgLS1naXQgYS9kb2MvZmZtcGVnLnRleGkgYi9kb2MvZmZtcGVnLnRleGkgaW5kZXggMDM2 NzkzMC4uZTkwNTU0MiANCj4+IDEwMDY0NA0KPj4gLS0tIGEvZG9jL2ZmbXBlZy50ZXhpDQo+PiAr KysgYi9kb2MvZmZtcGVnLnRleGkNCj4+IEBAIC01MCw2ICs1MCwxMyBAQCBvdXRwdXQgZmlsZXMu IEFsc28gZG8gbm90IG1peCBvcHRpb25zIHdoaWNoIGJlbG9uZyANCj4+IHRvIGRpZmZlcmVudCBm aWxlcy4gQWxsIG9wdGlvbnMgYXBwbHkgT05MWSB0byB0aGUgbmV4dCBpbnB1dCBvciBvdXRwdXQg ZmlsZSBhbmQgYXJlIHJlc2V0IGJldHdlZW4gZmlsZXMuDQo+PiANCj4+IEBpdGVtaXplDQo+PiAr QGl0ZW0gLXNhZmUNCj4+ICtUaGUgUHJvdG9jb2wgYWRkcmVzcyBtYXkgY29udGFpbiB0aGUgdXNl ciBuYW1lIGFuZCBwYXNzd29yZC4gVGhlIHBzIC1lZiBjb21tYW5kIG1heSBleHBvc2UgdGhlIHBs YWludGV4dC4NCj4+ICtUaGUgLXNhZmUgcGFyYW1ldGVyIG9wdGlvbiBpcyBhZGRlZCB0byByZXBs YWNlIHRoZSB1c2VyIG5hbWUgYW5kIHBhc3N3b3JkIGluIHRoZSBjb21tYW5kIGxpbmUgd2l0aCB0 aGUgYXN0ZXJpc2sgKCopLg0KPj4gK0BleGFtcGxlDQo+PiArZmZtcGVnIC1zYWZlIC1pIHJ0c3A6 Ly91c2VybmFtZUBwYXNzd29yZC54eHh4LmNvbSBAZW5kIGV4YW1wbGUNCj4+ICsNCj4+IEBpdGVt DQo+PiBUbyBzZXQgdGhlIHZpZGVvIGJpdHJhdGUgb2YgdGhlIG91dHB1dCBmaWxlIHRvIDY0IGti aXQvczoNCj4+IEBleGFtcGxlDQo+PiBkaWZmIC0tZ2l0IGEvZG9jL2ZmcGxheS50ZXhpIGIvZG9j L2ZmcGxheS50ZXhpIGluZGV4IDVkZDg2MGIuLmY0NmNhOTEgDQo+PiAxMDA2NDQNCj4+IC0tLSBh L2RvYy9mZnBsYXkudGV4aQ0KPj4gKysrIGIvZG9jL2ZmcGxheS50ZXhpDQo+PiBAQCAtMTIyLDYg KzEyMiwxNCBAQCBSZWFkIEB2YXJ7aW5wdXRfdXJsfS4NCj4+IA0KPj4gQHNlY3Rpb24gQWR2YW5j ZWQgb3B0aW9ucw0KPj4gQHRhYmxlIEBvcHRpb24NCj4+ICsNCj4+ICtAaXRlbSAtc2FmZQ0KPj4g K1RoZSBQcm90b2NvbCBhZGRyZXNzIG1heSBjb250YWluIHRoZSB1c2VyIG5hbWUgYW5kIHBhc3N3 b3JkLiBUaGUgcHMgLWVmIGNvbW1hbmQgbWF5IGV4cG9zZSB0aGUgcGxhaW50ZXh0Lg0KPj4gK1Ro ZSAtc2FmZSBwYXJhbWV0ZXIgb3B0aW9uIGlzIGFkZGVkIHRvIHJlcGxhY2UgdGhlIHVzZXIgbmFt ZSBhbmQgcGFzc3dvcmQgaW4gdGhlIGNvbW1hbmQgbGluZSB3aXRoIHRoZSBhc3RlcmlzayAoKiku DQo+PiArQGV4YW1wbGUNCj4+ICtmZnBsYXkgLXNhZmUgLWkgcnRzcDovL3VzZXJuYW1lQHBhc3N3 b3JkLnh4eHguY29tIEBlbmQgZXhhbXBsZQ0KPj4gKw0KPj4gQGl0ZW0gLXN0YXRzDQo+PiBQcmlu dCBzZXZlcmFsIHBsYXliYWNrIHN0YXRpc3RpY3MsIGluIHBhcnRpY3VsYXIgc2hvdyB0aGUgc3Ry ZWFtIA0KPj4gZHVyYXRpb24sIHRoZSBjb2RlYyBwYXJhbWV0ZXJzLCB0aGUgY3VycmVudCBwb3Np dGlvbiBpbiB0aGUgc3RyZWFtIGFuZCANCj4+IGRpZmYgLS1naXQgYS9kb2MvZmZwcm9iZS50ZXhp IGIvZG9jL2ZmcHJvYmUudGV4aSBpbmRleCANCj4+IDRkYzlmNTcuLjkyYjEzY2YgMTAwNjQ0DQo+ PiAtLS0gYS9kb2MvZmZwcm9iZS50ZXhpDQo+PiArKysgYi9kb2MvZmZwcm9iZS50ZXhpDQo+PiBA QCAtODksNiArODksMTMgQEAgU2V0IHRoZSBvdXRwdXQgcHJpbnRpbmcgZm9ybWF0Lg0KPj4gQHZh cnt3cml0ZXJfbmFtZX0gc3BlY2lmaWVzIHRoZSBuYW1lIG9mIHRoZSB3cml0ZXIsIGFuZCANCj4+ IEB2YXJ7d3JpdGVyX29wdGlvbnN9IHNwZWNpZmllcyB0aGUgb3B0aW9ucyB0byBiZSBwYXNzZWQg dG8gdGhlIHdyaXRlci4NCj4+IA0KPj4gK0BpdGVtIC1zYWZlDQo+PiArVGhlIFByb3RvY29sIGFk ZHJlc3MgbWF5IGNvbnRhaW4gdGhlIHVzZXIgbmFtZSBhbmQgcGFzc3dvcmQuIFRoZSBwcyAtZWYg Y29tbWFuZCBtYXkgZXhwb3NlIHRoZSBwbGFpbnRleHQuDQo+PiArVGhlIC1zYWZlIHBhcmFtZXRl ciBvcHRpb24gaXMgYWRkZWQgdG8gcmVwbGFjZSB0aGUgdXNlciBuYW1lIGFuZCBwYXNzd29yZCBp biB0aGUgY29tbWFuZCBsaW5lIHdpdGggdGhlIGFzdGVyaXNrICgqKS4NCj4+ICtAZXhhbXBsZQ0K Pj4gK2ZmcHJvYmUgLXNhZmUgLWkgcnRzcDovL3VzZXJuYW1lQHBhc3N3b3JkLnh4eHguY29tIEBl bmQgZXhhbXBsZQ0KPj4gKw0KPj4gRm9yIGV4YW1wbGUgZm9yIHByaW50aW5nIHRoZSBvdXRwdXQg aW4gSlNPTiBmb3JtYXQsIHNwZWNpZnk6DQo+PiBAZXhhbXBsZQ0KPj4gLXByaW50X2Zvcm1hdCBq c29uDQo+PiBkaWZmIC0tZ2l0IGEvZmZ0b29scy9jbWR1dGlscy5jIGIvZmZ0b29scy9jbWR1dGls cy5jIGluZGV4IA0KPj4gYTFkZTYyMS4uMjI0MDdmOCAxMDA2NDQNCj4+IC0tLSBhL2ZmdG9vbHMv Y21kdXRpbHMuYw0KPj4gKysrIGIvZmZ0b29scy9jbWR1dGlscy5jDQo+PiBAQCAtNjEsNiArNjEs NDAgQEAgQVZEaWN0aW9uYXJ5ICpmb3JtYXRfb3B0cywgKmNvZGVjX29wdHM7DQo+PiANCj4+IGlu dCBoaWRlX2Jhbm5lciA9IDA7DQo+PiANCj4+ICt2b2lkIHBhcmFtX21hc2tpbmcoaW50IGFyZ2Ms IGNoYXIgKiphcmd2KSB7DQo+PiArICAgIGludCBpLCBqOw0KPj4gKyAgICBmb3IgKGkgPSAxOyBp IDwgYXJnYzsgaSsrKSB7DQo+PiArICAgICAgICBjaGFyICptYXRjaCA9IHN0cnN0cihhcmd2W2ld LCAiOi8vIik7DQo+PiArICAgICAgICBpZiAobWF0Y2gpIHsNCj4+ICsgICAgICAgICAgICBpbnQg dG90YWwgPSBzdHJsZW4oYXJndltpXSk7DQo+PiArICAgICAgICAgICAgZm9yIChqID0gMDsgaiA8 IHRvdGFsOyBqKyspIHsNCj4+ICsgICAgICAgICAgICAgICAgYXJndltpXVtqXSA9ICcqJzsNCj4+ ICsgICAgICAgICAgICB9DQo+PiArICAgICAgICB9DQo+PiArICAgIH0NCj4+ICt9DQo+PiArDQo+ PiArY2hhciAqKmNvcHlfYXJndihpbnQgYXJnYywgY2hhciAqKmFyZ3YpIHsNCj4+ICsgICAgY2hh ciAqKmFyZ3YyOw0KPj4gKyAgICBhcmd2MiA9IGF2X21hbGxvY3ooYXJnYyAqIHNpemVvZihjaGFy ICopKTsNCj4+ICsgICAgaWYgKCFhcmd2MikNCj4+ICsgICAgICAgIGV4aXRfcHJvZ3JhbSgxKTsN Cj4+ICsNCj4+ICsgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBhcmdjOyBpKyspIHsNCj4+ICsgICAg ICAgIGludCBsZW5ndGggPSBzdHJsZW4oYXJndltpXSkgKyAxOw0KPj4gKyAgICAgICAgYXJndjJb aV0gPSBhdl9tYWxsb2N6KGxlbmd0aCAqIHNpemVvZihjaGFyICopKTsNCj4+ICsgICAgICAgIGlm ICghYXJndjJbaV0pDQo+PiArICAgICAgICAgICAgZXhpdF9wcm9ncmFtKDEpOw0KPj4gKyAgICAg ICAgbWVtY3B5KGFyZ3YyW2ldLCBhcmd2W2ldLCBsZW5ndGggLSAxKTsNCj4+ICsgICAgfQ0KPj4g KyAgICByZXR1cm4gYXJndjI7DQo+PiArfQ0KPj4gKw0KPj4gK3ZvaWQgZnJlZV9wcChpbnQgYXJn YywgY2hhciAqKmFyZ3YpIHsNCj4+ICsgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBhcmdjOyBpKysp DQo+PiArICAgICAgICBhdl9mcmVlKGFyZ3ZbaV0pOw0KPj4gKyAgICBhdl9mcmVlKGFyZ3YpOw0K Pj4gK30NCj4+IHZvaWQgdW5pbml0X29wdHModm9pZCkNCj4+IHsNCj4+ICAgICBhdl9kaWN0X2Zy ZWUoJnN3cl9vcHRzKTsNCj4+IEBAIC0yMTUsMTMgKzI0OSwxMyBAQCBzdGF0aWMgdm9pZCBwcmVw YXJlX2FwcF9hcmd1bWVudHMoaW50ICphcmdjX3B0ciwgY2hhciAqKiphcmd2X3B0cikNCj4+ICAg ICBpZiAod2luMzJfYXJndl91dGY4KSB7DQo+PiAgICAgICAgICphcmdjX3B0ciA9IHdpbjMyX2Fy Z2M7DQo+PiAgICAgICAgICphcmd2X3B0ciA9IHdpbjMyX2FyZ3ZfdXRmODsNCj4+IC0gICAgICAg IHJldHVybjsNCj4+ICsgICAgICAgIGdvdG8gZW5kOw0KPj4gICAgIH0NCj4+IA0KPj4gICAgIHdp bjMyX2FyZ2MgPSAwOw0KPj4gICAgIGFyZ3ZfdyA9IENvbW1hbmRMaW5lVG9Bcmd2VyhHZXRDb21t YW5kTGluZVcoKSwgJndpbjMyX2FyZ2MpOw0KPj4gICAgIGlmICh3aW4zMl9hcmdjIDw9IDAgfHwg IWFyZ3ZfdykNCj4+IC0gICAgICAgIHJldHVybjsNCj4+ICsgICAgICAgIGdvdG8gZW5kOw0KPj4g DQo+PiAgICAgLyogZGV0ZXJtaW5lIHRoZSBVVEYtOCBidWZmZXIgc2l6ZSAoaW5jbHVkaW5nIE5V TEwtdGVybWluYXRpb24gc3ltYm9scykgKi8NCj4+ICAgICBmb3IgKGkgPSAwOyBpIDwgd2luMzJf YXJnYzsgaSsrKQ0KPj4gQEAgLTIzMiw3ICsyNjYsNyBAQCBzdGF0aWMgdm9pZCBwcmVwYXJlX2Fw cF9hcmd1bWVudHMoaW50ICphcmdjX3B0ciwgY2hhciAqKiphcmd2X3B0cikNCj4+ICAgICBhcmdz dHJfZmxhdCAgICAgPSAoY2hhciAqKXdpbjMyX2FyZ3ZfdXRmOCArIHNpemVvZihjaGFyICopICog KHdpbjMyX2FyZ2MgKyAxKTsNCj4+ICAgICBpZiAoIXdpbjMyX2FyZ3ZfdXRmOCkgew0KPj4gICAg ICAgICBMb2NhbEZyZWUoYXJndl93KTsNCj4+IC0gICAgICAgIHJldHVybjsNCj4+ICsgICAgICAg IGdvdG8gZW5kOw0KPj4gICAgIH0NCj4+IA0KPj4gICAgIGZvciAoaSA9IDA7IGkgPCB3aW4zMl9h cmdjOyBpKyspIHsgQEAgLTI0Myw5ICsyNzcsMTQgQEAgc3RhdGljIA0KPj4gdm9pZCBwcmVwYXJl X2FwcF9hcmd1bWVudHMoaW50ICphcmdjX3B0ciwgY2hhciAqKiphcmd2X3B0cikNCj4+ICAgICB9 DQo+PiAgICAgd2luMzJfYXJndl91dGY4W2ldID0gTlVMTDsNCj4+ICAgICBMb2NhbEZyZWUoYXJn dl93KTsNCj4+IC0NCj4+ICAgICAqYXJnY19wdHIgPSB3aW4zMl9hcmdjOw0KPj4gICAgICphcmd2 X3B0ciA9IHdpbjMyX2FyZ3ZfdXRmODsNCj4+ICtlbmQ6DQo+PiArICAgIGlmICgqYXJnY19wdHIg PiAxICYmICFzdHJjbXAoKCphcmd2X3B0cilbMV0sICItc2FmZSIpKSB7DQo+PiArICAgICAgICAo KmFyZ3ZfcHRyKVsxXSA9ICgqYXJndl9wdHIpWzBdOw0KPj4gKyAgICAgICAgKCphcmdjX3B0cikt LTsNCj4+ICsgICAgICAgICgqYXJndl9wdHIpKys7DQo+PiArICAgIH0NCj4+IH0NCj4+ICNlbHNl DQo+PiBzdGF0aWMgaW5saW5lIHZvaWQgcHJlcGFyZV9hcHBfYXJndW1lbnRzKGludCAqYXJnY19w dHIsIGNoYXIgDQo+PiAqKiphcmd2X3B0cikgZGlmZiAtLWdpdCBhL2ZmdG9vbHMvY21kdXRpbHMu aCBiL2ZmdG9vbHMvY21kdXRpbHMuaCANCj4+IGluZGV4IDQ0OTYyMjEuLmNlNGMxZGIgMTAwNjQ0 DQo+PiAtLS0gYS9mZnRvb2xzL2NtZHV0aWxzLmgNCj4+ICsrKyBiL2ZmdG9vbHMvY21kdXRpbHMu aA0KPj4gQEAgLTUwLDYgKzUwLDIxIEBAIGV4dGVybiBBVkRpY3Rpb25hcnkgKmZvcm1hdF9vcHRz LCAqY29kZWNfb3B0czsgDQo+PiBleHRlcm4gaW50IGhpZGVfYmFubmVyOw0KPj4gDQo+PiAvKioN Cj4+ICsgKiBVc2luZyB0byBtYXNraW5nIHNlbnNpdGl2ZSBpbmZvLg0KPj4gKyAqLw0KPj4gK3Zv aWQgcGFyYW1fbWFza2luZyhpbnQgYXJnYywgY2hhciAqKmFyZ3YpOw0KPj4gKw0KPj4gKy8qKg0K Pj4gKyAqIFVzaW5nIHRvIGNvcHkgb3JpIGFyZ3YuDQo+PiArICovDQo+PiArY2hhciAqKmNvcHlf YXJndihpbnQgYXJnYywgY2hhciAqKmFyZ3YpOw0KPj4gKw0KPj4gKy8qKg0KPj4gKyAqIEZyZWUg KioNCj4+ICsgKi8NCj4gK3ZvaWQgZnJlZV9wcChpbnQgYXJnYywgY2hhciAqKmFyZ3YpOw0KPj4+ ICsNCj4+ICsvKioNCj4+ICAqIFJlZ2lzdGVyIGEgcHJvZ3JhbS1zcGVjaWZpYyBjbGVhbnVwIHJv dXRpbmUuDQo+PiAgKi8NCj4+IHZvaWQgcmVnaXN0ZXJfZXhpdCh2b2lkICgqY2IpKGludCByZXQp KTsgZGlmZiAtLWdpdCBhL2ZmdG9vbHMvZmZtcGVnLmMgDQo+PiBiL2ZmdG9vbHMvZmZtcGVnLmMg aW5kZXggODgxZDZmMC4uZjc3ZTg1MCAxMDA2NDQNCj4+IC0tLSBhL2ZmdG9vbHMvZmZtcGVnLmMN Cj4+ICsrKyBiL2ZmdG9vbHMvZmZtcGVnLmMNCj4+IEBAIC0zODY1LDkgKzM4NjUsOSBAQCBzdGF0 aWMgaW50NjRfdCBnZXRtYXhyc3Modm9pZCkNCj4+IA0KPj4gaW50IG1haW4oaW50IGFyZ2MsIGNo YXIgKiphcmd2KQ0KPj4gew0KPj4gLSAgICBpbnQgcmV0Ow0KPj4gKyAgICBpbnQgcmV0LCBzYWZl RmxhZzsNCj4+ICAgICBCZW5jaG1hcmtUaW1lU3RhbXBzIHRpOw0KPj4gLQ0KPj4gKyAgICBjaGFy ICoqYXJndjI7DQo+PiAgICAgaW5pdF9keW5sb2FkKCk7DQo+PiANCj4+ICAgICByZWdpc3Rlcl9l eGl0KGZmbXBlZ19jbGVhbnVwKTsNCj4+IEBAIC0zODc3LDE1ICszODc3LDI1IEBAIGludCBtYWlu KGludCBhcmdjLCBjaGFyICoqYXJndikNCj4+ICAgICBhdl9sb2dfc2V0X2ZsYWdzKEFWX0xPR19T S0lQX1JFUEVBVEVEKTsNCj4+ICAgICBwYXJzZV9sb2dsZXZlbChhcmdjLCBhcmd2LCBvcHRpb25z KTsNCj4+IA0KPj4gKyAgICBzYWZlRmxhZyA9IDA7DQo+PiArICAgIGlmIChhcmdjID4gMSAmJiAh c3RyY21wKGFyZ3ZbMV0sICItc2FmZSIpKSB7DQo+PiArICAgICAgICBhcmd2WzFdID0gYXJndlsw XTsNCj4+ICsgICAgICAgIHNhZmVGbGFnID0gMTsNCj4+ICsgICAgICAgIGFyZ2MtLTsNCj4+ICsg ICAgICAgIGFyZ3YrKzsNCj4+ICsgICAgfQ0KPj4gI2lmIENPTkZJR19BVkRFVklDRQ0KPj4gICAg IGF2ZGV2aWNlX3JlZ2lzdGVyX2FsbCgpOw0KPj4gI2VuZGlmDQo+PiAgICAgYXZmb3JtYXRfbmV0 d29ya19pbml0KCk7DQo+PiANCj4+ICAgICBzaG93X2Jhbm5lcihhcmdjLCBhcmd2LCBvcHRpb25z KTsNCj4+ICsgICAgYXJndjIgPSBjb3B5X2FyZ3YoYXJnYywgYXJndik7DQo+PiArICAgIGlmIChz YWZlRmxhZykNCj4+ICsgICAgICAgIHBhcmFtX21hc2tpbmcoYXJnYywgYXJndik7DQo+PiANCj4+ ICAgICAvKiBwYXJzZSBvcHRpb25zIGFuZCBvcGVuIGFsbCBpbnB1dC9vdXRwdXQgZmlsZXMgKi8N Cj4+IC0gICAgcmV0ID0gZmZtcGVnX3BhcnNlX29wdGlvbnMoYXJnYywgYXJndik7DQo+PiArICAg IHJldCA9IGZmbXBlZ19wYXJzZV9vcHRpb25zKGFyZ2MsIGFyZ3YyKTsNCj4+ICAgICBpZiAocmV0 IDwgMCkNCj4+ICAgICAgICAgZXhpdF9wcm9ncmFtKDEpOw0KPj4gDQo+PiBkaWZmIC0tZ2l0IGEv ZmZ0b29scy9mZnBsYXkuYyBiL2ZmdG9vbHMvZmZwbGF5LmMgaW5kZXggDQo+PiBmYzdlMWMyLi5m OWU2YzkxIDEwMDY0NA0KPj4gLS0tIGEvZmZ0b29scy9mZnBsYXkuYw0KPj4gKysrIGIvZmZ0b29s cy9mZnBsYXkuYw0KPj4gQEAgLTM2NjMsMTAgKzM2NjMsMTggQEAgdm9pZCBzaG93X2hlbHBfZGVm YXVsdChjb25zdCBjaGFyICpvcHQsIGNvbnN0IA0KPj4gY2hhciAqYXJnKQ0KPj4gLyogQ2FsbGVk IGZyb20gdGhlIG1haW4gKi8NCj4+IGludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikNCj4+ IHsNCj4+IC0gICAgaW50IGZsYWdzOw0KPj4gKyAgICBpbnQgZmxhZ3MsIHNhZmVGbGFnOw0KPj4g KyAgICBjaGFyICoqYXJndjI7DQo+PiAgICAgVmlkZW9TdGF0ZSAqaXM7DQo+PiANCj4+ICAgICBp bml0X2R5bmxvYWQoKTsNCj4+ICsgICAgc2FmZUZsYWcgPSAwOw0KPj4gKyAgICBpZiAoYXJnYyA+ IDEgJiYgIXN0cmNtcChhcmd2WzFdLCAiLXNhZmUiKSkgew0KPj4gKyAgICAgICAgYXJndlsxXSA9 IGFyZ3ZbMF07DQo+PiArICAgICAgICBzYWZlRmxhZyA9IDE7DQo+PiArICAgICAgICBhcmdjLS07 DQo+PiArICAgICAgICBhcmd2Kys7DQo+PiArICAgIH0NCj4+IA0KPj4gICAgIGF2X2xvZ19zZXRf ZmxhZ3MoQVZfTE9HX1NLSVBfUkVQRUFURUQpOw0KPj4gICAgIHBhcnNlX2xvZ2xldmVsKGFyZ2Ms IGFyZ3YsIG9wdGlvbnMpOyBAQCAtMzY4Miw3ICszNjkwLDEwIEBAIGludCANCj4+IG1haW4oaW50 IGFyZ2MsIGNoYXIgKiphcmd2KQ0KPj4gDQo+PiAgICAgc2hvd19iYW5uZXIoYXJnYywgYXJndiwg b3B0aW9ucyk7DQo+PiANCj4+IC0gICAgcGFyc2Vfb3B0aW9ucyhOVUxMLCBhcmdjLCBhcmd2LCBv cHRpb25zLCBvcHRfaW5wdXRfZmlsZSk7DQo+PiArICAgIGFyZ3YyID0gY29weV9hcmd2KGFyZ2Ms IGFyZ3YpOw0KPj4gKyAgICBwYXJzZV9vcHRpb25zKE5VTEwsIGFyZ2MsIGFyZ3YyLCBvcHRpb25z LCBvcHRfaW5wdXRfZmlsZSk7DQo+PiArICAgIGlmIChzYWZlRmxhZykNCj4+ICsgICAgICAgIHBh cmFtX21hc2tpbmcoYXJnYywgYXJndik7DQo+PiANCj4+ICAgICBpZiAoIWlucHV0X2ZpbGVuYW1l KSB7DQo+PiAgICAgICAgIHNob3dfdXNhZ2UoKTsNCj4+IGRpZmYgLS1naXQgYS9mZnRvb2xzL2Zm cHJvYmUuYyBiL2ZmdG9vbHMvZmZwcm9iZS5jIGluZGV4IA0KPj4gZDJmMTI2ZC4uOGQ0ZDFlOSAx MDA2NDQNCj4+IC0tLSBhL2ZmdG9vbHMvZmZwcm9iZS5jDQo+PiArKysgYi9mZnRvb2xzL2ZmcHJv YmUuYw0KPj4gQEAgLTQwMzUsOSArNDAzNSwxNiBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAq KmFyZ3YpDQo+PiAgICAgV3JpdGVyQ29udGV4dCAqd2N0eDsNCj4+ICAgICBjaGFyICpidWY7DQo+ PiAgICAgY2hhciAqd19uYW1lID0gTlVMTCwgKndfYXJncyA9IE5VTEw7DQo+PiAtICAgIGludCBy ZXQsIGlucHV0X3JldCwgaTsNCj4+IC0NCj4+ICsgICAgaW50IHJldCwgaW5wdXRfcmV0LCBpLCBz YWZlRmxhZzsNCj4+ICsgICAgY2hhciAqKmFyZ3YyOw0KPj4gICAgIGluaXRfZHlubG9hZCgpOw0K Pj4gKyAgICBzYWZlRmxhZyA9IDA7DQo+PiArICAgIGlmIChhcmdjID4gMSAmJiAhc3RyY21wKGFy Z3ZbMV0sICItc2FmZSIpKSB7DQo+PiArICAgICAgICBhcmd2WzFdID0gYXJndlswXTsNCj4+ICsg ICAgICAgIHNhZmVGbGFnID0gMTsNCj4+ICsgICAgICAgIGFyZ2MtLTsNCj4+ICsgICAgICAgIGFy Z3YrKzsNCj4+ICsgICAgfQ0KPj4gDQo+PiAjaWYgSEFWRV9USFJFQURTDQo+PiAgICAgcmV0ID0g cHRocmVhZF9tdXRleF9pbml0KCZsb2dfbXV0ZXgsIE5VTEwpOyBAQCAtNDA1Niw4ICs0MDYzLDEw IEBAIA0KPj4gaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KSAjZW5kaWYNCj4+IA0KPj4g ICAgIHNob3dfYmFubmVyKGFyZ2MsIGFyZ3YsIG9wdGlvbnMpOw0KPj4gLSAgICBwYXJzZV9vcHRp b25zKE5VTEwsIGFyZ2MsIGFyZ3YsIG9wdGlvbnMsIG9wdF9pbnB1dF9maWxlKTsNCj4+IC0NCj4+ ICsgICAgYXJndjIgPSBjb3B5X2FyZ3YoYXJnYywgYXJndik7DQo+PiArICAgIHBhcnNlX29wdGlv bnMoTlVMTCwgYXJnYywgYXJndjIsIG9wdGlvbnMsIG9wdF9pbnB1dF9maWxlKTsNCj4+ICsgICAg aWYgKHNhZmVGbGFnKQ0KPj4gKyAgICAgICAgcGFyYW1fbWFza2luZyhhcmdjLCBhcmd2KTsNCj4+ ICAgICBpZiAoZG9fc2hvd19sb2cpDQo+PiAgICAgICAgIGF2X2xvZ19zZXRfY2FsbGJhY2sobG9n X2NhbGxiYWNrKTsNCj4+IA0KPj4gQEAgLTQxNzMsNiArNDE4Miw3IEBAIGVuZDoNCj4+ICAgICBh dl9mcmVlcCgmcHJpbnRfZm9ybWF0KTsNCj4+ICAgICBhdl9mcmVlcCgmcmVhZF9pbnRlcnZhbHMp Ow0KPj4gICAgIGF2X2hhc2hfZnJlZXAoJmhhc2gpOw0KPj4gKyAgICBmcmVlX3BwKGFyZ2MsIGFy Z3YyKTsNCj4+IA0KPj4gICAgIHVuaW5pdF9vcHRzKCk7DQo+PiAgICAgZm9yIChpID0gMDsgaSA8 IEZGX0FSUkFZX0VMRU1TKHNlY3Rpb25zKTsgaSsrKQ0KPj4gLS0NCj4+IDIuNy40DQo+PiANCj4+ IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fDQo+PiBmZm1w ZWctZGV2ZWwgbWFpbGluZyBsaXN0DQo+PiBmZm1wZWctZGV2ZWxAZmZtcGVnLm9yZw0KPj4gaHR0 cHM6Ly9mZm1wZWcub3JnL21haWxtYW4vbGlzdGluZm8vZmZtcGVnLWRldmVsDQo+PiANCj4+IFRv IHVuc3Vic2NyaWJlLCB2aXNpdCBsaW5rIGFib3ZlLCBvciBlbWFpbCANCj4+IGZmbXBlZy1kZXZl bC1yZXF1ZXN0QGZmbXBlZy5vcmcgd2l0aCBzdWJqZWN0ICJ1bnN1YnNjcmliZSIuDQoNCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fDQpmZm1wZWctZGV2ZWwg bWFpbGluZyBsaXN0DQpmZm1wZWctZGV2ZWxAZmZtcGVnLm9yZw0KaHR0cHM6Ly9mZm1wZWcub3Jn L21haWxtYW4vbGlzdGluZm8vZmZtcGVnLWRldmVsDQoNClRvIHVuc3Vic2NyaWJlLCB2aXNpdCBs aW5rIGFib3ZlLCBvciBlbWFpbCBmZm1wZWctZGV2ZWwtcmVxdWVzdEBmZm1wZWcub3JnIHdpdGgg c3ViamVjdCAidW5zdWJzY3JpYmUiLg0KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KZmZtcGVnLWRldmVsIG1haWxpbmcgbGlzdApmZm1wZWctZGV2ZWxAZmZt cGVnLm9yZwpodHRwczovL2ZmbXBlZy5vcmcvbWFpbG1hbi9saXN0aW5mby9mZm1wZWctZGV2ZWwK ClRvIHVuc3Vic2NyaWJlLCB2aXNpdCBsaW5rIGFib3ZlLCBvciBlbWFpbApmZm1wZWctZGV2ZWwt cmVxdWVzdEBmZm1wZWcub3JnIHdpdGggc3ViamVjdCAidW5zdWJzY3JpYmUiLgo=