Received: by 10.213.65.68 with SMTP id h4csp313284imn; Fri, 23 Mar 2018 05:20:52 -0700 (PDT) X-Google-Smtp-Source: AG47ELuBQtl4b+mM/HD4Rf1L7b/Frtt7K/+DIGTH/wIrbQD/4xvTfG+NkfmeByl6c2UB2sl3aAi9 X-Received: by 2002:a17:902:b901:: with SMTP id bf1-v6mr28733678plb.175.1521807652213; Fri, 23 Mar 2018 05:20:52 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1521807652; cv=none; d=google.com; s=arc-20160816; b=OeLxSQu3NQCMSsnd6Lmn+hpFOu4I3cWeUUpujzOlA5Y0nnWHCUZrjDUs+qc+mgNyH5 TGKVA0Yp/jeCqxRlmoGdVRo1PxnvjgJnzr/hV82ElppeU9D3XopgOeckOFUA+4q1T8SL gtSJ6O/WYu39wVcTq8rKUCVbpBp9rHZpnfWlqtwAVYTLJxDHy0UGq30cAnc7M4vI3/UU YdkxiG4ZYA0VYPY2y9P5BmESBUXnqCbPdE3OsQY/FjRgrTnqDkFVR3nZ/XDO6dkHN/Sq 2dkIxRuQGiA7dK/25Q4SSjhAI8R44U7A/ahEZbjcyY651kF8sCPHQvhgcQsv1Bl3j6zm j+lw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:content-transfer-encoding :content-language:accept-language:in-reply-to:references:message-id :date:thread-index:thread-topic:subject:cc:to:from :arc-authentication-results; bh=cw10t8MoCXvgEWF2HJFGEL9PjOP+H4lCWi3vlGKaAB8=; b=rZFD+Ba2+WHWvQk0SuIXfuUust16cRGjeIHFtumxRlYF6rIZRKOphZbggbd1sXE+mD xKHyaM2UIYUYgcWNWkSxuT52pwClv33k8LRpHQXu8lr0xoRocDUJLnMcUWRQMqtGY7L0 mcWaBJ0BMilORQ93ASS+XunnTIcPuaeWKuFGSa0szB6+Qs43UOMnXYuPqlnyjSkl5ROY +6dCTz0Fl8OEFDEZx/9m/viSjaa2PqrrS8sd/p0aEVRNxzKUH7CWrxt/czfXo30DwI6a Wq7yiyU3MOSOVWg9bdmHUCcRiHcnTRQuTDt+Y4JJtUr69RLgrrKZgDrG/78gIPbb3Ats e97w== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id t71si5997501pgb.70.2018.03.23.05.20.37; Fri, 23 Mar 2018 05:20:52 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752881AbeCWMTt (ORCPT + 99 others); Fri, 23 Mar 2018 08:19:49 -0400 Received: from mx21.baidu.com ([220.181.3.85]:48467 "EHLO baidu.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752440AbeCWMTk (ORCPT ); Fri, 23 Mar 2018 08:19:40 -0400 X-Greylist: delayed 914 seconds by postgrey-1.27 at vger.kernel.org; Fri, 23 Mar 2018 08:19:38 EDT Received: from BC-MAIL-HUB05.internal.baidu.com (unknown [172.31.56.23]) by Forcepoint Email with ESMTPS id B2788388C27A9; Fri, 23 Mar 2018 20:04:16 +0800 (CST) Received: from BC-MAIL-M28.internal.baidu.com ([169.254.4.53]) by BC-MAIL-HUB05.internal.baidu.com ([172.31.56.23]) with mapi id 14.03.0382.000; Fri, 23 Mar 2018 20:04:16 +0800 From: "Li,Rongqing" To: Michal Hocko CC: "linux-kernel@vger.kernel.org" , "linux-mm@kvack.org" , "cgroups@vger.kernel.org" , "hannes@cmpxchg.org" , "Andrey Ryabinin" Subject: =?utf-8?B?562U5aSNOiDnrZTlpI06IOetlOWkjTogW1BBVENIXSBtbS9tZW1jb250cm9s?= =?utf-8?Q?.c:_speed_up_to_force_empty_a_memory_cgroup?= Thread-Topic: =?utf-8?B?562U5aSNOiDnrZTlpI06IFtQQVRDSF0gbW0vbWVtY29udHJvbC5jOiBzcGVl?= =?utf-8?Q?d_up_to_force_empty_a_memory_cgroup?= Thread-Index: AQHTv1/VbuxxIhYpnkemi1IzBVlLeqPXTxaA//+IvQCAAIne0IAEx0wggADv+oCAAKRkYA== Date: Fri, 23 Mar 2018 12:04:16 +0000 Message-ID: <2AD939572F25A448A3AE3CAEA61328C2374EC73E@BC-MAIL-M28.internal.baidu.com> References: <1521448170-19482-1-git-send-email-lirongqing@baidu.com> <20180319085355.GQ23100@dhcp22.suse.cz> <2AD939572F25A448A3AE3CAEA61328C23745764B@BC-MAIL-M28.internal.baidu.com> <20180319103756.GV23100@dhcp22.suse.cz> <2AD939572F25A448A3AE3CAEA61328C2374589DC@BC-MAIL-M28.internal.baidu.com> <2AD939572F25A448A3AE3CAEA61328C2374832C1@BC-MAIL-M28.internal.baidu.com> <20180323100839.GO23100@dhcp22.suse.cz> In-Reply-To: <20180323100839.GO23100@dhcp22.suse.cz> Accept-Language: zh-CN, en-US Content-Language: zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [172.31.62.14] x-baidu-bdmsfe-datecheck: 1_BC-MAIL-HUB05_2018-03-23 20:04:18:427 x-baidu-bdmsfe-viruscheck: BC-MAIL-HUB05_GRAY_Inside_WithoutAtta_2018-03-23 20:04:16:618 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org DQoNCj4gLS0tLS3pgq7ku7bljp/ku7YtLS0tLQ0KPiDlj5Hku7bkuro6IE1pY2hhbCBIb2NrbyBb bWFpbHRvOm1ob2Nrb0BrZXJuZWwub3JnXQ0KPiDlj5HpgIHml7bpl7Q6IDIwMTjlubQz5pyIMjPm l6UgMTg6MDkNCj4g5pS25Lu25Lq6OiBMaSxSb25ncWluZyA8bGlyb25ncWluZ0BiYWlkdS5jb20+ DQo+IOaKhOmAgTogbGludXgta2VybmVsQHZnZXIua2VybmVsLm9yZzsgbGludXgtbW1Aa3ZhY2su b3JnOw0KPiBjZ3JvdXBzQHZnZXIua2VybmVsLm9yZzsgaGFubmVzQGNtcHhjaGcub3JnOyBBbmRy ZXkgUnlhYmluaW4NCj4gPGFyeWFiaW5pbkB2aXJ0dW96em8uY29tPg0KPiDkuLvpopg6IFJlOiDn rZTlpI06IOetlOWkjTogW1BBVENIXSBtbS9tZW1jb250cm9sLmM6IHNwZWVkIHVwIHRvIGZvcmNl IGVtcHR5DQo+IGEgbWVtb3J5IGNncm91cA0KPiANCj4gT24gRnJpIDIzLTAzLTE4IDAyOjU4OjM2 LCBMaSxSb25ncWluZyB3cm90ZToNCj4gPg0KPiA+DQo+ID4gPiAtLS0tLemCruS7tuWOn+S7ti0t LS0tDQo+ID4gPiDlj5Hku7bkuro6IGxpbnV4LWtlcm5lbC1vd25lckB2Z2VyLmtlcm5lbC5vcmcN Cj4gPiA+IFttYWlsdG86bGludXgta2VybmVsLW93bmVyQHZnZXIua2VybmVsLm9yZ10g5Luj6KGo IExpLFJvbmdxaW5nDQo+ID4gPiDlj5HpgIHml7bpl7Q6IDIwMTjlubQz5pyIMTnml6UgMTg6NTIN Cj4gPiA+IOaUtuS7tuS6ujogTWljaGFsIEhvY2tvIDxtaG9ja29Aa2VybmVsLm9yZz4NCj4gPiA+ IOaKhOmAgTogbGludXgta2VybmVsQHZnZXIua2VybmVsLm9yZzsgbGludXgtbW1Aa3ZhY2sub3Jn Ow0KPiA+ID4gY2dyb3Vwc0B2Z2VyLmtlcm5lbC5vcmc7IGhhbm5lc0BjbXB4Y2hnLm9yZzsgQW5k cmV5IFJ5YWJpbmluDQo+ID4gPiA8YXJ5YWJpbmluQHZpcnR1b3p6by5jb20+DQo+ID4gPiDkuLvp opg6IOetlOWkjTog562U5aSNOiBbUEFUQ0hdIG1tL21lbWNvbnRyb2wuYzogc3BlZWQgdXAgdG8g Zm9yY2UNCj4gZW1wdHkgYQ0KPiA+ID4gbWVtb3J5IGNncm91cA0KPiA+ID4NCj4gPiA+DQo+ID4g Pg0KPiA+ID4gPiAtLS0tLemCruS7tuWOn+S7ti0tLS0tDQo+ID4gPiA+IOWPkeS7tuS6ujogTWlj aGFsIEhvY2tvIFttYWlsdG86bWhvY2tvQGtlcm5lbC5vcmddDQo+ID4gPiA+IOWPkemAgeaXtumX tDogMjAxOOW5tDPmnIgxOeaXpSAxODozOA0KPiA+ID4gPiDmlLbku7bkuro6IExpLFJvbmdxaW5n IDxsaXJvbmdxaW5nQGJhaWR1LmNvbT4NCj4gPiA+ID4g5oqE6YCBOiBsaW51eC1rZXJuZWxAdmdl ci5rZXJuZWwub3JnOyBsaW51eC1tbUBrdmFjay5vcmc7DQo+ID4gPiA+IGNncm91cHNAdmdlci5r ZXJuZWwub3JnOyBoYW5uZXNAY21weGNoZy5vcmc7IEFuZHJleSBSeWFiaW5pbg0KPiA+ID4gPiA8 YXJ5YWJpbmluQHZpcnR1b3p6by5jb20+DQo+ID4gPiA+IOS4u+mimDogUmU6IOetlOWkjTogW1BB VENIXSBtbS9tZW1jb250cm9sLmM6IHNwZWVkIHVwIHRvIGZvcmNlIGVtcHR5DQo+IGENCj4gPiA+ IG1lbW9yeQ0KPiA+ID4gPiBjZ3JvdXANCj4gPiA+ID4NCj4gPiA+ID4gT24gTW9uIDE5LTAzLTE4 IDEwOjAwOjQxLCBMaSxSb25ncWluZyB3cm90ZToNCj4gPiA+ID4gPg0KPiA+ID4gPiA+DQo+ID4g PiA+ID4gPiAtLS0tLemCruS7tuWOn+S7ti0tLS0tDQo+ID4gPiA+ID4gPiDlj5Hku7bkuro6IE1p Y2hhbCBIb2NrbyBbbWFpbHRvOm1ob2Nrb0BrZXJuZWwub3JnXQ0KPiA+ID4gPiA+ID4g5Y+R6YCB 5pe26Ze0OiAyMDE45bm0M+aciDE55pelIDE2OjU0DQo+ID4gPiA+ID4gPiDmlLbku7bkuro6IExp LFJvbmdxaW5nIDxsaXJvbmdxaW5nQGJhaWR1LmNvbT4NCj4gPiA+ID4gPiA+IOaKhOmAgTogbGlu dXgta2VybmVsQHZnZXIua2VybmVsLm9yZzsgbGludXgtbW1Aa3ZhY2sub3JnOw0KPiA+ID4gPiA+ ID4gY2dyb3Vwc0B2Z2VyLmtlcm5lbC5vcmc7IGhhbm5lc0BjbXB4Y2hnLm9yZzsgQW5kcmV5IFJ5 YWJpbmluDQo+ID4gPiA+ID4gPiA8YXJ5YWJpbmluQHZpcnR1b3p6by5jb20+DQo+ID4gPiA+ID4g PiDkuLvpopg6IFJlOiBbUEFUQ0hdIG1tL21lbWNvbnRyb2wuYzogc3BlZWQgdXAgdG8gZm9yY2Ug ZW1wdHkgYQ0KPiA+ID4gPiBtZW1vcnkNCj4gPiA+ID4gPiA+IGNncm91cA0KPiA+ID4gPiA+ID4N Cj4gPiA+ID4gPiA+IE9uIE1vbiAxOS0wMy0xOCAxNjoyOTozMCwgTGkgUm9uZ1Fpbmcgd3JvdGU6 DQo+ID4gPiA+ID4gPiA+IG1lbV9jZ3JvdXBfZm9yY2VfZW1wdHkoKSB0cmllcyB0byBmcmVlIG9u bHkgMzINCj4gPiA+ID4gKFNXQVBfQ0xVU1RFUl9NQVgpDQo+ID4gPiA+ID4gPiA+IHBhZ2VzIG9u IGVhY2ggaXRlcmF0aW9uLCBpZiBhIG1lbW9yeSBjZ3JvdXAgaGFzIGxvdHMgb2YgcGFnZQ0KPiA+ ID4gPiA+ID4gPiBjYWNoZSwgaXQgd2lsbCB0YWtlIG1hbnkgaXRlcmF0aW9ucyB0byBlbXB0eSBh bGwgcGFnZSBjYWNoZSwNCj4gPiA+ID4gPiA+ID4gc28gaW5jcmVhc2UgdGhlIHJlY2xhaW1lZCBu dW1iZXIgcGVyIGl0ZXJhdGlvbiB0byBzcGVlZCBpdA0KPiA+ID4gPiA+ID4gPiB1cC4gc2FtZSBh cyBpbg0KPiA+ID4gPiA+ID4gPiBtZW1fY2dyb3VwX3Jlc2l6ZV9saW1pdCgpDQo+ID4gPiA+ID4g PiA+DQo+ID4gPiA+ID4gPiA+IGEgc2ltcGxlIHRlc3Qgc2hvdzoNCj4gPiA+ID4gPiA+ID4NCj4g PiA+ID4gPiA+ID4gICAkZGQgaWY9YWFhICBvZj1iYmIgIGJzPTFrIGNvdW50PTM4ODYwODANCj4g PiA+ID4gPiA+ID4gICAkcm0gLWYgYmJiDQo+ID4gPiA+ID4gPiA+ICAgJHRpbWUgZWNobw0KPiA+ ID4gPiAxMDAwMDAwMDAgPi9jZ3JvdXAvbWVtb3J5L3Rlc3QvbWVtb3J5LmxpbWl0X2luX2J5dGVz DQo+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+IEJlZm9yZTogMG0wLjI1MnMgPT09PiBhZnRl cjogMG0wLjE3OHMNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiBBbmRyZXkgd2FzIHByb3Bvc2lu ZyBzb21ldGhpbmcgc2ltaWxhciBbMV0uIE15IG1haW4gb2JqZWN0aW9uDQo+ID4gPiA+ID4gPiB3 YXMgdGhhdCBoaXMgYXBwcm9hY2ggbWlnaHQgbGVhZCB0byBvdmVyLXJlY2xhaW0uIFlvdXINCj4g PiA+ID4gPiA+IGFwcHJvYWNoIGlzIG1vcmUgY29uc2VydmF0aXZlIGJlY2F1c2UgaXQganVzdCBp bmNyZWFzZXMgdGhlDQo+ID4gPiA+ID4gPiBiYXRjaCBzaXplLiBUaGUgc2l6ZSBpcyBzdGlsbCBy YXRoZXIgYXJiaXRyYXJ5LiBTYW1lIGFzDQo+ID4gPiA+ID4gPiBTV0FQX0NMVVNURVJfTUFYIGJ1 dCB0aGF0IG9uZSBpcyBhIGNvbW1vbmx5IHVzZWQgdW5pdCBvZg0KPiByZWNsYWltIGluIHRoZSBN TSBjb2RlLg0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+IEkgd291bGQgYmUgcmVhbGx5IGN1cmlv dXMgYWJvdXQgbW9yZSBkZXRhaWxlZCBleHBsYW5hdGlvbiB3aHkNCj4gPiA+ID4gPiA+IGhhdmlu ZyBhIGxhcmdlciBiYXRjaCB5aWVsZHMgdG8gYSBiZXR0ZXIgcGVyZm9ybWFuY2UgYmVjYXVzZQ0K PiA+ID4gPiA+ID4gd2UgYXJlIGRvaW5nZyBTV0FQX0NMVVNURVJfTUFYIGJhdGNoZXMgYXQgdGhl IGxvd2VyIHJlY2xhaW0NCj4gPiA+ID4gPiA+IGxldmVsDQo+ID4gPiBhbnl3YXkuDQo+ID4gPiA+ ID4gPg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gQWx0aG91Z2ggU1dBUF9DTFVTVEVSX01BWCBpcyB1 c2VkIGF0IHRoZSBsb3dlciBsZXZlbCwgYnV0IHRoZQ0KPiA+ID4gPiA+IGNhbGwgc3RhY2sgb2Yg dHJ5X3RvX2ZyZWVfbWVtX2Nncm91cF9wYWdlcyBpcyB0b28gbG9uZywgaW5jcmVhc2UNCj4gPiA+ ID4gPiB0aGUgbnJfdG9fcmVjbGFpbSBjYW4gcmVkdWNlIHRpbWVzIG9mIGNhbGxpbmcNCj4gPiA+ ID4gPiBmdW5jdGlvbltkb190cnlfdG9fZnJlZV9wYWdlcywgc2hyaW5rX3pvbmVzLCBocmlua19u b2RlIF0NCj4gPiA+ID4gPg0KPiA+ID4gPiA+IG1lbV9jZ3JvdXBfcmVzaXplX2xpbWl0DQo+ID4g PiA+ID4gLS0tPnRyeV90b19mcmVlX21lbV9jZ3JvdXBfcGFnZXM6ICAubnJfdG9fcmVjbGFpbSA9 IG1heCgxMDI0LA0KPiA+ID4gPiA+IC0tLT5TV0FQX0NMVVNURVJfTUFYKSwNCj4gPiA+ID4gPiAg ICAtLS0+IGRvX3RyeV90b19mcmVlX3BhZ2VzDQo+ID4gPiA+ID4gICAgICAtLS0+IHNocmlua196 b25lcw0KPiA+ID4gPiA+ICAgICAgIC0tLT5zaHJpbmtfbm9kZQ0KPiA+ID4gPiA+ICAgICAgICAt LS0+IHNocmlua19ub2RlX21lbWNnDQo+ID4gPiA+ID4gICAgICAgICAgLS0tPiBzaHJpbmtfbGlz dCAgICAgICAgICA8LS0tLS0tLWxvb3Agd2lsbCBoYXBwZW4gaW4gdGhpcw0KPiBwbGFjZQ0KPiA+ ID4gPiBbdGltZXM9MTAyNC8zMl0NCj4gPiA+ID4gPiAgICAgICAgICAgIC0tLT4gc2hyaW5rX3Bh Z2VfbGlzdA0KPiA+ID4gPg0KPiA+ID4gPiBDYW4geW91IGFjdHVhbGx5IG1lYXN1cmUgdGhpcyB0 byBiZSB0aGUgY3VscHJpdC4gQmVjYXVzZSB3ZSBzaG91bGQNCj4gPiA+ID4gcmV0aGluayBvdXIg Y2FsbCBwYXRoIGlmIGl0IGlzIHRvbyBjb21wbGljYXRlZC9kZWVwIHRvIHBlcmZvcm0gd2VsbC4N Cj4gPiA+ID4gQWRkaW5nIGFyYml0cmFyeSBiYXRjaCBzaXplcyBkb2Vzbid0IHNvdW5kIGxpa2Ug YSBnb29kIHdheSB0byBnbyB0byBtZS4NCj4gPiA+DQo+ID4gPiBPaywgSSB3aWxsIHRyeQ0KPiA+ ID4NCj4gPiBodHRwOi8vcGFzdGVkLmNvLzRlZGJjZmZmDQo+ID4NCj4gPiBUaGlzIGlzIHJlc3Vs dCBmcm9tIGZ0cmFjZSBncmFwaCwgaXQgbWF5YmUgcHJvdmUgdGhhdCB0aGUgZGVlcCBjYWxsDQo+ ID4gcGF0aCBsZWFkcyB0byBsb3cgcGVyZm9ybWFuY2UuDQo+IA0KPiBEb2VzIGl0PyBMZXQncyBo YXZlIGEgbG9vayBhdCB0aGUgY29uZGVuc2VkIG91dHB1dDoNCj4gICA2KSAgICAgICAgICAgICAg IHwgICAgdHJ5X3RvX2ZyZWVfbWVtX2Nncm91cF9wYWdlcygpIHsNCj4gICA2KSAgICAgICAgICAg ICAgIHwgICAgICBtZW1fY2dyb3VwX3NlbGVjdF92aWN0aW1fbm9kZSgpIHsNCj4gICA2KSAgIDAu MzIwIHVzICAgIHwgICAgICAgIG1lbV9jZ3JvdXBfbm9kZV9ucl9scnVfcGFnZXMoKTsNCj4gICA2 KSAgIDAuMTUxIHVzICAgIHwgICAgICAgIG1lbV9jZ3JvdXBfbm9kZV9ucl9scnVfcGFnZXMoKTsN Cj4gICA2KSAgIDIuMTkwIHVzICAgIHwgICAgICB9DQo+ICAgNikgICAgICAgICAgICAgICB8ICAg ICAgZG9fdHJ5X3RvX2ZyZWVfcGFnZXMoKSB7DQo+ICAgNikgICAgICAgICAgICAgICB8ICAgICAg ICBzaHJpbmtfbm9kZSgpIHsNCj4gICA2KSAgICAgICAgICAgICAgIHwgICAgICAgICAgc2hyaW5r X25vZGVfbWVtY2coKSB7DQo+ICAgNikgICAgICAgICAgICAgICB8ICAgICAgICAgICAgc2hyaW5r X2luYWN0aXZlX2xpc3QoKSB7DQo+ICAgNikgKyAyMy4xMzEgdXMgICB8ICAgICAgICAgICAgICBz aHJpbmtfcGFnZV9saXN0KCk7DQo+ICAgNikgKyAzMy45NjAgdXMgICB8ICAgICAgICAgICAgfQ0K PiAgIDYpICsgMzkuMjAzIHVzICAgfCAgICAgICAgICB9DQo+ICAgNikgICAgICAgICAgICAgICB8 ICAgICAgICAgIHNocmlua19zbGFiKCkgew0KPiAgIDYpICsgNzIuOTU1IHVzICAgfCAgICAgICAg ICB9DQo+ICAgNikgISAxMTYuNTI5IHVzICB8ICAgICAgICB9DQo+ICAgNikgICAgICAgICAgICAg ICB8ICAgICAgICBzaHJpbmtfbm9kZSgpIHsNCj4gICA2KSAgIDAuMDUwIHVzICAgIHwgICAgICAg ICAgbWVtX2Nncm91cF9pdGVyKCk7DQo+ICAgNikgICAwLjAzNSB1cyAgICB8ICAgICAgICAgIG1l bV9jZ3JvdXBfbG93KCk7DQo+ICAgNikgICAgICAgICAgICAgICB8ICAgICAgICAgIHNocmlua19u b2RlX21lbWNnKCkgew0KPiAgIDYpICAgMy45NTUgdXMgICAgfCAgICAgICAgICB9DQo+ICAgNikg ICAgICAgICAgICAgICB8ICAgICAgICAgIHNocmlua19zbGFiKCkgew0KPiAgIDYpICsgNTQuMjk2 IHVzICAgfCAgICAgICAgICB9DQo+ICAgNikgKyA2MS41MDIgdXMgICB8ICAgICAgICB9DQo+ICAg NikgISAxODUuMDIwIHVzICB8ICAgICAgfQ0KPiAgIDYpICEgMTg4LjE2NSB1cyAgfCAgICB9DQo+ IA0KPiB0cnlfdG9fZnJlZV9tZW1fY2dyb3VwX3BhZ2VzIGlzIHRoZSBmdWxsIG1lbWNnIHJlY2xh aW0gcGF0aCB0YWtpbmcNCj4gMTg4LDE2NSB1cy4gVGhlIHB1cmUgcmVjbGFpbSBwYXRoIGlzIHNo cmlua19ub2RlIGFuZCB0aGF0IHRvb2sgMTE2KzYxID0NCj4gMTc3IHVzLg0KPiBTbyB3ZSBoYXZl IDExdXMgc3BlbnQgb24gdGhlIHdheS4gSXMgdGhpcyByZWFsbHkgbWFraW5nIHN1Y2ggYSBkaWZm ZXJlbmNlPw0KPiBIb3cgZG9lcyB0aGUgcHJvZmlsZSBsb29rIHdoZW4gd2UgZG8gbGFyZ2VyIGJh dGNoZXM/DQo+IA0KPiA+IEFuZCB3aGVuIGluY3JlYXNlIHJlY2xhaW1pbmcgcGFnZSBpbiB0cnlf dG9fZnJlZV9tZW1fY2dyb3VwX3BhZ2VzLCBpdA0KPiA+IGNhbiByZWR1Y2UgY2FsbGluZyBvZiBz aHJpbmtfc2xhYiwgd2hpY2ggc2F2ZSB0aW1lcywgaW4gbXkgY2FzZXMsIHBhZ2UNCj4gPiBjYWNo ZXMgb2NjdXB5IG1vc3QgbWVtb3J5LCBzbGFiIGlzIGxpdHRsZSwgYnV0IHNocmlua19zbGFiIHdp bGwgYmUNCj4gPiBjYWxsZWQgZXZlcnl0aW1lDQo+IA0KPiBPSywgdGhhdCBtYWtlcyBtb3JlIHNl bnNlISBzaHJpbmtfc2xhYiBpcyBjbGVhcmx5IHZpc2libGUgaGVyZS4gSXQgaXMgbW9yZQ0KPiBl eHBlbnNpdmUgdGhhbiB0aGUgcGFnZSByZWNsYWltLiBUaGlzIGlzIHNvbWV0aGluZyB0byBsb29r IGludG8uDQo+IA0KDQogIHNocmlua19zbGFiKCkgew0KICA2KSAgIDAuMTc1IHVzICAgIHwgICAg ICAgICAgICBkb3duX3JlYWRfdHJ5bG9jaygpOw0KICA2KSAgICAgICAgICAgICAgIHwgICAgICAg ICAgICBzdXBlcl9jYWNoZV9jb3VudCgpIHsNCiAgNikgICAwLjY0MiB1cyAgICB8ICAgICAgICAg ICAgICBsaXN0X2xydV9jb3VudF9vbmUoKTsNCiAgNikgICAwLjU4NyB1cyAgICB8ICAgICAgICAg ICAgICBsaXN0X2xydV9jb3VudF9vbmUoKTsNCiAgNikgICAzLjc0MCB1cyAgICB8ICAgICAgICAg ICAgfQ0KICA2KSAgICAgICAgICAgICAgIHwgICAgICAgICAgICBzdXBlcl9jYWNoZV9jb3VudCgp IHsNCiAgNikgICAwLjYyNSB1cyAgICB8ICAgICAgICAgICAgICBsaXN0X2xydV9jb3VudF9vbmUo KTsNCiAgNikgICAwLjQ4NSB1cyAgICB8ICAgICAgICAgICAgICBsaXN0X2xydV9jb3VudF9vbmUo KTsNCiAgNikgICAyLjE0NSB1cyAgICB8ICAgICAgICAgICAgfQ0KICA2KSAgICAgICAgICAgICAg IHwgICAgICAgICAgICBzdXBlcl9jYWNoZV9jb3VudCgpIHsNCiAgNikgICAwLjMzMyB1cyAgICB8 ICAgICAgICAgICAgICBsaXN0X2xydV9jb3VudF9vbmUoKTsNCiAgNikgICAwLjMzNCB1cyAgICB8 ICAgICAgICAgICAgICBsaXN0X2xydV9jb3VudF9vbmUoKTsNCiAgNikgICAyLjEwOSB1cyAgICB8 ICAgICAgICAgICAgfQ0KICA2KSAgICAgICAgICAgICAgIHwgICAgICAgICAgICBzdXBlcl9jYWNo ZV9jb3VudCgpIHsNCiAgNikgICAwLjA2MiB1cyAgICB8ICAgICAgICAgICAgICBsaXN0X2xydV9j b3VudF9vbmUoKTsNCiAgNikgICAwLjE4OCB1cyAgICB8ICAgICAgICAgICAgICBsaXN0X2xydV9j b3VudF9vbmUoKTsNCiAgNikgICAxLjIxNiB1cyAgICB8ICAgICAgICAgICAgfQ0KICA2KSAgICAg ICAgICAgICAgIHwgICAgICAgICAgICBzdXBlcl9jYWNoZV9jb3VudCgpIHsNCiAgNikgICAwLjIx NyB1cyAgICB8ICAgICAgICAgICAgICBsaXN0X2xydV9jb3VudF9vbmUoKTsNCiAgNikgICAwLjA1 NiB1cyAgICB8ICAgICAgICAgICAgICBsaXN0X2xydV9jb3VudF9vbmUoKTsNCiAgNikgICAxLjI4 MiB1cyAgICB8ICAgICAgICAgICAgfQ0KICA2KSAgICAgICAgICAgICAgIHwgICAgICAgICAgICBz dXBlcl9jYWNoZV9jb3VudCgpIHsNCiAgNikgICAwLjIwNCB1cyAgICB8ICAgICAgICAgICAgICBs aXN0X2xydV9jb3VudF9vbmUoKTsNCiAgNikgICAwLjIwNSB1cyAgICB8ICAgICAgICAgICAgICBs aXN0X2xydV9jb3VudF9vbmUoKTsNCiAgNikgICAxLjIzNyB1cyAgICB8ICAgICAgICAgICAgfQ0K ICA2KSAgICAgICAgICAgICAgIHwgICAgICAgICAgICBzdXBlcl9jYWNoZV9jb3VudCgpIHsNCiAg NikgICAwLjU5NiB1cyAgICB8ICAgICAgICAgICAgICBsaXN0X2xydV9jb3VudF9vbmUoKTsNCiAg NikgICAwLjQ5MyB1cyAgICB8ICAgICAgICAgICAgICBsaXN0X2xydV9jb3VudF9vbmUoKTsNCiAg NikgICAyLjE0MCB1cyAgICB8ICAgICAgICAgICAgfQ0KICA2KSAgICAgICAgICAgICAgIHwgICAg ICAgICAgICBzdXBlcl9jYWNoZV9jb3VudCgpIHsNCiAgNikgICAwLjEzMCB1cyAgICB8ICAgICAg ICAgICAgICBsaXN0X2xydV9jb3VudF9vbmUoKTsNCiAgNikgICAwLjA1NiB1cyAgICB8ICAgICAg ICAgICAgICBsaXN0X2xydV9jb3VudF9vbmUoKTsNCiAgNikgICAxLjI2MCB1cyAgICB8ICAgICAg ICAgICAgfQ0KICA2KSAgICAgICAgICAgICAgIHwgICAgICAgICAgICBzdXBlcl9jYWNoZV9jb3Vu dCgpIHsNCiAgNikgICAwLjM4NSB1cyAgICB8ICAgICAgICAgICAgICBsaXN0X2xydV9jb3VudF9v bmUoKTsNCiAgNikgICAwLjA1NCB1cyAgICB8ICAgICAgICAgICAgICBsaXN0X2xydV9jb3VudF9v bmUoKTsNCiAgNikgICAxLjE4NiB1cyAgICB8ICAgICAgICAgICAgfQ0KICA2KSAgICAgICAgICAg ICAgIHwgICAgICAgICAgICBzdXBlcl9jYWNoZV9jb3VudCgpIHsNCiAgNikgICAwLjMwNCB1cyAg ICB8ICAgICAgICAgICAgICBsaXN0X2xydV9jb3VudF9vbmUoKTsNCiAgNikgICAwLjI4NiB1cyAg ICB8ICAgICAgICAgICAgICBsaXN0X2xydV9jb3VudF9vbmUoKTsNCiAgNikgICAxLjU1MCB1cyAg ICB8ICAgICAgICAgICAgfQ0KICA2KSAgICAgICAgICAgICAgIHwgICAgICAgICAgICBzdXBlcl9j YWNoZV9jb3VudCgpIHsNCiAgNikgICAwLjIzMCB1cyAgICB8ICAgICAgICAgICAgICBsaXN0X2xy dV9jb3VudF9vbmUoKTsNCiAgNikgICAwLjEyOCB1cyAgICB8ICAgICAgICAgICAgICBsaXN0X2xy dV9jb3VudF9vbmUoKTsNCiAgNikgICAxLjQwOCB1cyAgICB8ICAgICAgICAgICAgfQ0KICA2KSAg ICAgICAgICAgICAgIHwgICAgICAgICAgICBzdXBlcl9jYWNoZV9jb3VudCgpIHsNCiAgNikgICAw LjM5MiB1cyAgICB8ICAgICAgICAgICAgICBsaXN0X2xydV9jb3VudF9vbmUoKTsNCiAgNikgICAw LjEzMiB1cyAgICB8ICAgICAgICAgICAgICBsaXN0X2xydV9jb3VudF9vbmUoKTsNCiAgNikgICAx LjY5NCB1cyAgICB8ICAgICAgICAgICAgfQ0KICA2KSAgICAgICAgICAgICAgIHwgICAgICAgICAg ICBzdXBlcl9jYWNoZV9jb3VudCgpIHsNCiAgNikgICAwLjI1NyB1cyAgICB8ICAgICAgICAgICAg ICBsaXN0X2xydV9jb3VudF9vbmUoKTsNCiAgNikgICAwLjI1OCB1cyAgICB8ICAgICAgICAgICAg ICBsaXN0X2xydV9jb3VudF9vbmUoKTsNCiAgNikgICAxLjUxMCB1cyAgICB8ICAgICAgICAgICAg fQ0KICA2KSAgICAgICAgICAgICAgIHwgICAgICAgICAgICBzdXBlcl9jYWNoZV9jb3VudCgpIHsN CiAgNikgICAwLjEzMiB1cyAgICB8ICAgICAgICAgICAgICBsaXN0X2xydV9jb3VudF9vbmUoKTsN CiAgNikgICAwLjEzMiB1cyAgICB8ICAgICAgICAgICAgICBsaXN0X2xydV9jb3VudF9vbmUoKTsN CiAgNikgICAxLjM2MSB1cyAgICB8ICAgICAgICAgICAgfQ0KICA2KSAgICAgICAgICAgICAgIHwg ICAgICAgICAgICBzdXBlcl9jYWNoZV9jb3VudCgpIHsNCiAgNikgICAwLjEzMCB1cyAgICB8ICAg ICAgICAgICAgICBsaXN0X2xydV9jb3VudF9vbmUoKTsNCiAgNikgICAwLjEzMCB1cyAgICB8ICAg ICAgICAgICAgICBsaXN0X2xydV9jb3VudF9vbmUoKTsNCiAgNikgICAxLjI0NiB1cyAgICB8ICAg ICAgICAgICAgfQ0KICA2KSAgICAgICAgICAgICAgIHwgICAgICAgICAgICBjb3VudF9zaGFkb3df bm9kZXMoKSB7DQogIDYpICAgMC4yMDMgdXMgICAgfCAgICAgICAgICAgICAgbGlzdF9scnVfY291 bnRfb25lKCk7DQogIDYpICAgMC4wNDIgdXMgICAgfCAgICAgICAgICAgICAgbWVtX2Nncm91cF9u b2RlX25yX2xydV9wYWdlcygpOw0KICA2KSAgIDEuMTMxIHVzICAgIHwgICAgICAgICAgICB9DQog IDYpICAgICAgICAgICAgICAgfCAgICAgICAgICAgIHN1cGVyX2NhY2hlX2NvdW50KCkgew0KICA2 KSAgIDAuMjAyIHVzICAgIHwgICAgICAgICAgICAgIGxpc3RfbHJ1X2NvdW50X29uZSgpOw0KICA2 KSAgIDAuMDU2IHVzICAgIHwgICAgICAgICAgICAgIGxpc3RfbHJ1X2NvdW50X29uZSgpOw0KICA2 KSAgIDEuMTE1IHVzICAgIHwgICAgICAgICAgICB9DQogIDYpICAgICAgICAgICAgICAgfCAgICAg ICAgICAgIHN1cGVyX2NhY2hlX2NvdW50KCkgew0KICA2KSAgIDAuMDU1IHVzICAgIHwgICAgICAg ICAgICAgIGxpc3RfbHJ1X2NvdW50X29uZSgpOw0KICA2KSAgIDAuMTA3IHVzICAgIHwgICAgICAg ICAgICAgIGxpc3RfbHJ1X2NvdW50X29uZSgpOw0KICA2KSAgIDAuOTU4IHVzICAgIHwgICAgICAg ICAgICB9DQogIDYpICAgICAgICAgICAgICAgfCAgICAgICAgICAgIHN1cGVyX2NhY2hlX2NvdW50 KCkgew0KICA2KSAgIDAuMTQ3IHVzICAgIHwgICAgICAgICAgICAgIGxpc3RfbHJ1X2NvdW50X29u ZSgpOw0KICA2KSAgIDAuMTUwIHVzICAgIHwgICAgICAgICAgICAgIGxpc3RfbHJ1X2NvdW50X29u ZSgpOw0KICA2KSAgIDEuNDc0IHVzICAgIHwgICAgICAgICAgICB9DQogIDYpICAgICAgICAgICAg ICAgfCAgICAgICAgICAgIHN1cGVyX2NhY2hlX2NvdW50KCkgew0KICA2KSAgIDAuNDkxIHVzICAg IHwgICAgICAgICAgICAgIGxpc3RfbHJ1X2NvdW50X29uZSgpOw0KICA2KSAgIDAuNDg1IHVzICAg IHwgICAgICAgICAgICAgIGxpc3RfbHJ1X2NvdW50X29uZSgpOw0KICA2KSAgIDIuNTY5IHVzICAg IHwgICAgICAgICAgICB9DQogIDYpICAgICAgICAgICAgICAgfCAgICAgICAgICAgIHN1cGVyX2Nh Y2hlX2NvdW50KCkgew0KICA2KSAgIDAuNjA1IHVzICAgIHwgICAgICAgICAgICAgIGxpc3RfbHJ1 X2NvdW50X29uZSgpOw0KICA2KSAgIDAuNTkwIHVzICAgIHwgICAgICAgICAgICAgIGxpc3RfbHJ1 X2NvdW50X29uZSgpOw0KICA2KSAgIDIuMTM2IHVzICAgIHwgICAgICAgICAgICB9DQogIDYpICAg ICAgICAgICAgICAgfCAgICAgICAgICAgIHN1cGVyX2NhY2hlX2NvdW50KCkgew0KICA2KSAgIDAu NTcyIHVzICAgIHwgICAgICAgICAgICAgIGxpc3RfbHJ1X2NvdW50X29uZSgpOw0KICA2KSAgIDAu NDE4IHVzICAgIHwgICAgICAgICAgICAgIGxpc3RfbHJ1X2NvdW50X29uZSgpOw0KICA2KSAgIDEu OTE0IHVzICAgIHwgICAgICAgICAgICB9DQogIDYpICAgICAgICAgICAgICAgfCAgICAgICAgICAg IHN1cGVyX2NhY2hlX2NvdW50KCkgew0KICA2KSAgIDAuNDI4IHVzICAgIHwgICAgICAgICAgICAg IGxpc3RfbHJ1X2NvdW50X29uZSgpOw0KICA2KSAgIDAuMzU4IHVzICAgIHwgICAgICAgICAgICAg IGxpc3RfbHJ1X2NvdW50X29uZSgpOw0KICA2KSAgIDIuMDczIHVzICAgIHwgICAgICAgICAgICB9 IC8qIHN1cGVyX2NhY2hlX2NvdW50ICovDQogIDYpICAgICAgICAgICAgICAgfCAgICAgICAgICAg IHN1cGVyX2NhY2hlX2NvdW50KCkgew0KICA2KSAgIDAuNDIyIHVzICAgIHwgICAgICAgICAgICAg IGxpc3RfbHJ1X2NvdW50X29uZSgpOw0KICA2KSAgIDAuNDMzIHVzICAgIHwgICAgICAgICAgICAg IGxpc3RfbHJ1X2NvdW50X29uZSgpOw0KICA2KSAgIDEuNjA0IHVzICAgIHwgICAgICAgICAgICB9 DQogIDYpICAgICAgICAgICAgICAgfCAgICAgICAgICAgIHN1cGVyX2NhY2hlX2NvdW50KCkgew0K ICA2KSAgIDAuNTMyIHVzICAgIHwgICAgICAgICAgICAgIGxpc3RfbHJ1X2NvdW50X29uZSgpOw0K ICA2KSAgIDAuMjgwIHVzICAgIHwgICAgICAgICAgICAgIGxpc3RfbHJ1X2NvdW50X29uZSgpOw0K ICA2KSAgIDEuNTIzIHVzICAgIHwgICAgICAgICAgICB9DQogIDYpICAgICAgICAgICAgICAgfCAg ICAgICAgICAgIHN1cGVyX2NhY2hlX2NvdW50KCkgew0KICA2KSAgIDAuNDIyIHVzICAgIHwgICAg ICAgICAgICAgIGxpc3RfbHJ1X2NvdW50X29uZSgpOw0KICA2KSAgIDAuNTc0IHVzICAgIHwgICAg ICAgICAgICAgIGxpc3RfbHJ1X2NvdW50X29uZSgpOw0KICA2KSAgIDEuNTU0IHVzICAgIHwgICAg ICAgICAgICB9DQogIDYpICAgICAgICAgICAgICAgfCAgICAgICAgICAgIHN1cGVyX2NhY2hlX2Nv dW50KCkgew0KICA2KSAgIDAuNTY1IHVzICAgIHwgICAgICAgICAgICAgIGxpc3RfbHJ1X2NvdW50 X29uZSgpOw0KICA2KSAgIDAuNTg3IHVzICAgIHwgICAgICAgICAgICAgIGxpc3RfbHJ1X2NvdW50 X29uZSgpOw0KICA2KSAgIDEuODc4IHVzICAgIHwgICAgICAgICAgICB9DQogIDYpICAgICAgICAg ICAgICAgfCAgICAgICAgICAgIHN1cGVyX2NhY2hlX2NvdW50KCkgew0KICA2KSAgIDAuNTYzIHVz ICAgIHwgICAgICAgICAgICAgIGxpc3RfbHJ1X2NvdW50X29uZSgpOw0KICA2KSAgIDAuNTU4IHVz ICAgIHwgICAgICAgICAgICAgIGxpc3RfbHJ1X2NvdW50X29uZSgpOw0KICA2KSAgIDEuOTQ5IHVz ICAgIHwgICAgICAgICAgICB9DQogIDYpICAgICAgICAgICAgICAgfCAgICAgICAgICAgIHN1cGVy X2NhY2hlX2NvdW50KCkgew0KICA2KSAgIDAuNDY4IHVzICAgIHwgICAgICAgICAgICAgIGxpc3Rf bHJ1X2NvdW50X29uZSgpOw0KICA2KSAgIDAuNDc2IHVzICAgIHwgICAgICAgICAgICAgIGxpc3Rf bHJ1X2NvdW50X29uZSgpOw0KICA2KSAgIDIuMTQ5IHVzICAgIHwgICAgICAgICAgICB9DQogIDYp ICAgICAgICAgICAgICAgfCAgICAgICAgICAgIHN1cGVyX2NhY2hlX2NvdW50KCkgew0KICA2KSAg IDAuNDQzIHVzICAgIHwgICAgICAgICAgICAgIGxpc3RfbHJ1X2NvdW50X29uZSgpOw0KICA2KSAg IDAuNDgzIHVzICAgIHwgICAgICAgICAgICAgIGxpc3RfbHJ1X2NvdW50X29uZSgpOw0KICA2KSAg IDIuMjgzIHVzICAgIHwgICAgICAgICAgICB9DQogIDYpICAgICAgICAgICAgICAgfCAgICAgICAg ICAgIHN1cGVyX2NhY2hlX2NvdW50KCkgew0KICA2KSAgIDAuMzMyIHVzICAgIHwgICAgICAgICAg ICAgIGxpc3RfbHJ1X2NvdW50X29uZSgpOw0KICA2KSAgIDAuMjI4IHVzICAgIHwgICAgICAgICAg ICAgIGxpc3RfbHJ1X2NvdW50X29uZSgpOw0KICA2KSAgIDEuMzA3IHVzICAgIHwgICAgICAgICAg ICB9DQogIDYpICAgICAgICAgICAgICAgfCAgICAgICAgICAgIHN1cGVyX2NhY2hlX2NvdW50KCkg ew0KICA2KSAgIDAuNTMyIHVzICAgIHwgICAgICAgICAgICAgIGxpc3RfbHJ1X2NvdW50X29uZSgp Ow0KICA2KSAgIDAuMzY3IHVzICAgIHwgICAgICAgICAgICAgIGxpc3RfbHJ1X2NvdW50X29uZSgp Ow0KICA2KSAgIDEuOTU2IHVzICAgIHwgICAgICAgICAgICB9DQogIDYpICAgMC4wMzYgdXMgICAg fCAgICAgICAgICAgIHVwX3JlYWQoKTsNCiAgNikgICAwLjAzOCB1cyAgICB8ICAgICAgICAgICAg X2NvbmRfcmVzY2hlZCgpOw0KICA2KSArIDcyLjk1NSB1cyAgIHwgICAgICAgICAgfQ0KDQpzaHJp bmtfc2xhYiBkb2VzIG5vdCByZWNsYWltIGFueSBtZW1vcnksIGJ1dCB0YWtlIGxvdHMgb2YgdGlt ZSB0byBjb3VudCBscnUNCg0KbWF5YmUgd2UgY2FuIHVzZSB0aGUgcmV0dXJuaW5nIG9mIHNocmlu a19zbGFiIHRvIGNvbnRyb2wgaWYgbmV4dCBzaHJpbmtfc2xhYiBzaG91bGQgYmUgY2FsbGVkPw0K DQoNCk9yIGRlZmluZSBhIHNsaWdodCBsaXN0X2xydV9lbXB0eSB0byBjaGVjayBpZiBzYi0+c19k ZW50cnlfbHJ1IGlzIGVtcHR5IGJlZm9yZSBjYWxsaW5nIGxpc3RfbHJ1X3Nocmlua19jb3VudCwg bGlrZSBiZWxvdw0KDQpkaWZmIC0tZ2l0IGEvZnMvc3VwZXIuYyBiL2ZzL3N1cGVyLmMNCmluZGV4 IDY3MjUzOGNhOTgzMS4uOTU0YzIyMzM4ODMzIDEwMDY0NA0KLS0tIGEvZnMvc3VwZXIuYw0KKysr IGIvZnMvc3VwZXIuYw0KQEAgLTEzMCw4ICsxMzAsMTAgQEAgc3RhdGljIHVuc2lnbmVkIGxvbmcg c3VwZXJfY2FjaGVfY291bnQoc3RydWN0IHNocmlua2VyICpzaHJpbmssDQogICAgICAgIGlmIChz Yi0+c19vcCAmJiBzYi0+c19vcC0+bnJfY2FjaGVkX29iamVjdHMpDQogICAgICAgICAgICAgICAg dG90YWxfb2JqZWN0cyA9IHNiLT5zX29wLT5ucl9jYWNoZWRfb2JqZWN0cyhzYiwgc2MpOw0KIA0K LSAgICAgICB0b3RhbF9vYmplY3RzICs9IGxpc3RfbHJ1X3Nocmlua19jb3VudCgmc2ItPnNfZGVu dHJ5X2xydSwgc2MpOw0KLSAgICAgICB0b3RhbF9vYmplY3RzICs9IGxpc3RfbHJ1X3Nocmlua19j b3VudCgmc2ItPnNfaW5vZGVfbHJ1LCBzYyk7DQorICAgICAgIGlmICghbGlzdF9scnVfZW1wdHko c2ItPnNfZGVudHJ5X2xydSkpDQorICAgICAgICAgICAgICAgdG90YWxfb2JqZWN0cyArPSBsaXN0 X2xydV9zaHJpbmtfY291bnQoJnNiLT5zX2RlbnRyeV9scnUsIHNjKTsNCisgICAgICAgaWYgKCFs aXN0X2xydV9lbXB0eShzYi0+c19pbm9kZV9scnUpKQ0KKyAgICAgICAgICAgICAgIHRvdGFsX29i amVjdHMgKz0gbGlzdF9scnVfc2hyaW5rX2NvdW50KCZzYi0+c19pbm9kZV9scnUsIHNjKTsNCiAN CiAgICAgICAgdG90YWxfb2JqZWN0cyA9IHZmc19wcmVzc3VyZV9yYXRpbyh0b3RhbF9vYmplY3Rz KTsNCiAgICAgICAgcmV0dXJuIHRvdGFsX29iamVjdHM7DQoNCi1Sb25nUWluZw0KDQoNCj4gVGhh bmtzIQ0KPiAtLQ0KPiBNaWNoYWwgSG9ja28NCj4gU1VTRSBMYWJzDQo=