From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from out30-97.freemail.mail.aliyun.com (out30-97.freemail.mail.aliyun.com [115.124.30.97]) by sourceware.org (Postfix) with ESMTPS id 968D13858CD1 for ; Mon, 8 Jan 2024 03:17:29 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 968D13858CD1 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=linux.alibaba.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=linux.alibaba.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 968D13858CD1 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=115.124.30.97 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1704683854; cv=none; b=vLQlbi4TkXflpdT2ew+vCrN2n+t1fStvmzmPbYHTSouxeVSQZpTJUaKstFmr/DvXK6+GTX48bFw7WFA8qHdTezlVRgNr2KuCNt1n+tkwVV/f663gG9feUNltub7z+PoWNrsULE8irtjugbFXsFqgE3noLqJXxJuWZKu+jwYVIP8= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1704683854; c=relaxed/simple; bh=xLhM1+624jR2bWFWmW5Tr5tqI4XpajKovkgRQlouCDU=; h=Date:From:To:Message-ID:Subject:MIME-Version; b=La825QXNB9+4gmggYoJyCZBrzwfs7f/fDqMefIfhaB/3Cs1bxoFTbONfYqoKEJQfwlPEtxxxNHYJ24IxeoW7SP599eDjPuXf3ya+yKbsqjV9rnSVKjPC7GOEgilhirCZ0Ity+ozOQIUQZI7CtTguEXkLcyKqhQO9Piy1xYzBLhU= ARC-Authentication-Results: i=1; server2.sourceware.org X-Alimail-AntiSpam:AC=PASS;BC=-1|-1;BR=01201311R151e4;CH=green;DM=||false|;DS=||;FP=0|-1|-1|-1|0|-1|-1|-1;HT=ay29a033018046049;MF=cooper.joshua@linux.alibaba.com;NM=1;PH=DW;RN=11;SR=0;TI=W4_0.2.3_v5ForWebDing_211285CC_1704683829680_o7001c12a; Received: from WS-web (cooper.joshua@linux.alibaba.com[W4_0.2.3_v5ForWebDing_211285CC_1704683829680_o7001c12a]) at Mon, 08 Jan 2024 11:17:25 +0800 Date: Mon, 08 Jan 2024 11:17:25 +0800 From: "joshua" To: "Kito Cheng" Cc: "juzhe.zhong@rivai.ai" , "jeffreyalaw" , "gcc-patches" , "Jim Wilson" , "palmer" , "andrew" , "philipp.tomsich" , "christoph.muellner" , "jinma" , "cooper.qu" Reply-To: "joshua" Message-ID: <32c05834-52b8-4e41-be07-886190217c3d.cooper.joshua@linux.alibaba.com> Subject: =?UTF-8?B?UmXvvJpSZTogW1BBVENIIHY0XSBSSVNDLVY6IEFkZHMgdGhlIHByZWZpeCAidGguIiBmb3Ig?= =?UTF-8?B?dGhlIGluc3RydWN0aW9ucyBvZiBYVGhlYWRWZWN0b3Iu?= X-Mailer: [Alimail-Mailagent][W4_0.2.3][v5ForWebDing][Chrome] MIME-Version: 1.0 x-aliyun-im-through: {"mailThroughImNew":true} References: x-aliyun-mail-creator: W4_0.2.3_v5ForWebDing_SFRTW96aWxsYS81LjAgKFdpbmRvd3MgTlQgMTAuMDsgV2luNjQ7IHg2NCkgQXBwbGVXZWJLaXQvNTM3LjM2IChLSFRNTCwgbGlrZSBHZWNrbykgQ2hyb21lLzEyMC4wLjAuMCBTYWZhcmkvNTM3LjM2IEVkZy8xMjAuMC4wLjA=Ch In-Reply-To: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: base64 X-Spam-Status: No, score=-17.9 required=5.0 tests=BAYES_00,BODY_8BITS,ENV_AND_HDR_SPF_MATCH,GIT_PATCH_0,KAM_ASCII_DIVIDERS,KAM_DMARC_STATUS,KAM_SHORT,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE,UNPARSEABLE_RELAY,URIBL_BLACK,USER_IN_DEF_SPF_WL autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: SGkgS2l0bywKClRoYW5rIHlvdSBmb3IgeW91ciBzdXBwb3J0LgpTbyBldmVuIGR1cmluZyBzdGFn ZSA0LCB3ZSBjYW7CoG1lcmdlIHRoaXMgZm9yIEdDQyAxND8KCgoKCgotLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K5Y+R5Lu2 5Lq677yaS2l0byBDaGVuZyA8a2l0by5jaGVuZ0BnbWFpbC5jb20+CuWPkemAgeaXtumXtO+8mjIw MjTlubQx5pyIOOaXpSjmmJ/mnJ/kuIApIDExOjA2CuaUtuS7tuS6uu+8mmpvc2h1YTxjb29wZXIu am9zaHVhQGxpbnV4LmFsaWJhYmEuY29tPgrmioTjgIDpgIHvvJoianV6aGUuemhvbmdAcml2YWku YWkiPGp1emhlLnpob25nQHJpdmFpLmFpPjsgamVmZnJleWFsYXc8amVmZnJleWFsYXdAZ21haWwu Y29tPjsgImdjYy1wYXRjaGVzIjxnY2MtcGF0Y2hlc0BnY2MuZ251Lm9yZz47IEppbSBXaWxzb248 amltLndpbHNvbi5nY2NAZ21haWwuY29tPjsgcGFsbWVyPHBhbG1lckBkYWJiZWx0LmNvbT47IGFu ZHJldzxhbmRyZXdAc2lmaXZlLmNvbT47ICJwaGlsaXBwLnRvbXNpY2giPHBoaWxpcHAudG9tc2lj aEB2cnVsbC5ldT47ICJjaHJpc3RvcGgubXVlbGxuZXIiPGNocmlzdG9waC5tdWVsbG5lckB2cnVs bC5ldT47IGppbm1hPGppbm1hQGxpbnV4LmFsaWJhYmEuY29tPjsgImNvb3Blci5xdSI8Y29vcGVy LnF1QGxpbnV4LmFsaWJhYmEuY29tPgrkuLvjgIDpopjvvJpSZTogUmU6IFtQQVRDSCB2NF0gUklT Qy1WOiBBZGRzIHRoZSBwcmVmaXggInRoLiIgZm9yIHRoZSBpbnN0cnVjdGlvbnMgb2YgWFRoZWFk VmVjdG9yLgoKCkkgYW0gb2sgd2l0aCBtZXJnaW5nIHRoaXMgZm9yIEdDQyAxNCwgYXMgd2UgZGlz Y3Vzc2VkIHNldmVyYWwgdGltZXMgaW4KdGhlIFJJU0MtViBHQ0Mgc3luYyB1cCBtZWV0aW5nLCBJ IHRoaW5rIGF0IGxlYXN0IHdlIHJlYWNoIGNvbnNlbnN1cwphbW9uZyBKZWZmIExhdywgUGFsbWVy IERhYmJlbHQgYW5kIG1lLgoKQnV0IHBsZWFzZSBiZSBjYXJlZnVsOiBkb24ndCBicmVhayBhbnl0 aGluZyBmb3Igc3RhbmRhcmQgdmVjdG9yIHN0dWZmLgoKT24gTW9uLCBKYW4gOCwgMjAyNCBhdCAx MDoxMSBBTSBqb3NodWEgPGNvb3Blci5qb3NodWFAbGludXguYWxpYmFiYS5jb20+IHdyb3RlOgo+ Cj4gSGkgSnV6aGUsCj4KPiBTdGFnZSAzIHdpbGwgY2xvc2UgdG9kYXkgYW5kIHRoZXJlIGFyZSBz dGlsbCBzb21lIHBhdGNoZXMgdGhhdAo+IGhhdmVuJ3QgYmVlbiByZXZpZXdlZCBsZWZ0Lgo+IFNv IGlzIGl0IHBvc3NpYmxlIHRvIGdldCB4dGhlYWR2ZWN0b3IgbWVyZ2VkIGluIEdDQy0xND8KPiBX ZSBlbWFpbGVkIEtpdG8gcmVnYXJkaW5nIHRoaXMsIGJ1dCBoYXZlbid0IGdvdCBhbnkgcmVwbHkg eWV0Lgo+Cj4gSm9zaHVhCj4KPgo+Cj4KPgo+Cj4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4g5Y+R5Lu25Lq677yaanV6 aGUuemhvbmdAcml2YWkuYWkgPGp1emhlLnpob25nQHJpdmFpLmFpPgo+IOWPkemAgeaXtumXtO+8 mjIwMjTlubQx5pyINOaXpSjmmJ/mnJ/lm5spIDE3OjE4Cj4g5pS25Lu25Lq677yaImNvb3Blci5q b3NodWEiPGNvb3Blci5qb3NodWFAbGludXguYWxpYmFiYS5jb20+OyBqZWZmcmV5YWxhdzxqZWZm cmV5YWxhd0BnbWFpbC5jb20+OyAiZ2NjLXBhdGNoZXMiPGdjYy1wYXRjaGVzQGdjYy5nbnUub3Jn Pgo+IOaKhCDpgIHvvJpKaW0gV2lsc29uPGppbS53aWxzb24uZ2NjQGdtYWlsLmNvbT47IHBhbG1l cjxwYWxtZXJAZGFiYmVsdC5jb20+OyBhbmRyZXc8YW5kcmV3QHNpZml2ZS5jb20+OyAicGhpbGlw cC50b21zaWNoIjxwaGlsaXBwLnRvbXNpY2hAdnJ1bGwuZXU+OyAiY2hyaXN0b3BoLm11ZWxsbmVy IjxjaHJpc3RvcGgubXVlbGxuZXJAdnJ1bGwuZXU+OyBqaW5tYTxqaW5tYUBsaW51eC5hbGliYWJh LmNvbT47ICJjb29wZXIucXUiPGNvb3Blci5xdUBsaW51eC5hbGliYWJhLmNvbT4KPiDkuLsg6aKY 77yaUmU6IFJlOiBbUEFUQ0ggdjRdIFJJU0MtVjogQWRkcyB0aGUgcHJlZml4ICJ0aC4iIGZvciB0 aGUgaW5zdHJ1Y3Rpb25zIG9mIFhUaGVhZFZlY3Rvci4KPgo+Cj4gXCBObyBuZXdsaW5lIGF0IGVu ZCBvZiBmaWxlCj4gRWFjaCBmaWxlIG5lZWRzIG5ld2xpbmUuCj4KPgo+IEkgYW0gbm90IGFibGUg dG8gcmV2aWV3IGFyY2ggc3R1ZmYuIFRoaXMgbmVlZHMga2l0by4KPgo+Cj4gQmVzaWRlcywgQW5k cmV3IFBpbnNraSB3YW50IHVzIGRlZmVyIHRoZWFkdmVjdG9yIHRvIEdDQy0xNS4KPgo+Cj4gSSBo YXZlIG5vIHN0cm9uZyBvcGluaW9uIGhlcmUuCj4KPgo+IGp1emhlLnpob25nQHJpdmFpLmFpCj4K Pgo+IOWPkeS7tuS6uu+8miBqb3NodWEKPiDlj5HpgIHml7bpl7TvvJogMjAyNC0wMS0wNCAxNzox NQo+IOaUtuS7tuS6uu+8miDpkp/lsYXlk7I7IEplZmYgTGF3OyBnY2MtcGF0Y2hlcwo+IOaKhOmA ge+8miBqaW0ud2lsc29uLmdjYzsgcGFsbWVyOyBhbmRyZXc7IHBoaWxpcHAudG9tc2ljaDsgQ2hy aXN0b3BoIE3DvGxsbmVyOyBqaW5tYTsgQ29vcGVyIFF1Cj4g5Li76aKY77yaIFJl77yaUmU6IFtQ QVRDSCB2NF0gUklTQy1WOiBBZGRzIHRoZSBwcmVmaXggInRoLiIgZm9yIHRoZSBpbnN0cnVjdGlv bnMgb2YgWFRoZWFkVmVjdG9yLgo+Cj4gSGkgSnV6aGUsCj4KPiBTbyBpcyB0aGUgZm9sbG93aW5n IHBhdGNoIHRoYXQgdGhpcyBwYXRjaCByZWxpZXMgb24gT0sgdG8gY29tbWl0Pwo+IGh0dHBzOi8v Z2NjLmdudS5vcmcvcGlwZXJtYWlsL2djYy1wYXRjaGVzLzIwMjMtRGVjZW1iZXIvNjQxNTMzLmh0 bWwKPgo+IEpvc2h1YQo+Cj4KPgo+Cj4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4g5Y+R5Lu25Lq677ya6ZKf5bGF5ZOy IDxqdXpoZS56aG9uZ0ByaXZhaS5haT4KPiDlj5HpgIHml7bpl7TvvJoyMDI05bm0MeaciDLml6Uo 5pif5pyf5LqMKSAwNjo1Nwo+IOaUtuS7tuS6uu+8mkplZmYgTGF3PGplZmZyZXlhbGF3QGdtYWls LmNvbT47ICJjb29wZXIuam9zaHVhIjxjb29wZXIuam9zaHVhQGxpbnV4LmFsaWJhYmEuY29tPjsg ImdjYy1wYXRjaGVzIjxnY2MtcGF0Y2hlc0BnY2MuZ251Lm9yZz4KPiDmioQg6YCB77yaImppbS53 aWxzb24uZ2NjIjxqaW0ud2lsc29uLmdjY0BnbWFpbC5jb20+OyBwYWxtZXI8cGFsbWVyQGRhYmJl bHQuY29tPjsgYW5kcmV3PGFuZHJld0BzaWZpdmUuY29tPjsgInBoaWxpcHAudG9tc2ljaCI8cGhp bGlwcC50b21zaWNoQHZydWxsLmV1PjsgIkNocmlzdG9waCBNw7xsbG5lciI8Y2hyaXN0b3BoLm11 ZWxsbmVyQHZydWxsLmV1PjsgamlubWE8amlubWFAbGludXguYWxpYmFiYS5jb20+OyBDb29wZXIg UXU8Y29vcGVyLnF1QGxpbnV4LmFsaWJhYmEuY29tPgo+IOS4uyDpopjvvJpSZTogUmU6IFtQQVRD SCB2NF0gUklTQy1WOiBBZGRzIHRoZSBwcmVmaXggInRoLiIgZm9yIHRoZSBpbnN0cnVjdGlvbnMg b2YgWFRoZWFkVmVjdG9yLgo+Cj4KPiBUaGlzIGlzIE9rIGZyb20gbXkgc2lkZS4KPiBCdXQgYmVm b3JlIGNvbW1pdCB0aGlzIHBhdGNoLCBJIHRoaW5rIHdlIG5lZWQgdGhpcyBwYXRjaCBmaXJzdDoK PiBodHRwczovL2djYy5nbnUub3JnL3BpcGVybWFpbC9nY2MtcGF0Y2hlcy8yMDIzLURlY2VtYmVy LzY0MTUzMy5odG1sCj4KPgo+IEkgd2lsbCBiZSBiYWNrIHRvIHdvcmsgc28gSSB3aWxsIHRha2Ug YSBsb29rIGF0IG90aGVyIHBhdGNoZXMgdG9kYXkuCj4ganV6aGUuemhvbmdAcml2YWkuYWkKPgo+ Cj4gRnJvbTogSmVmZiBMYXcKPiBEYXRlOiAyMDI0LTAxLTAxIDAxOjQzCj4gVG86IEp1biBTaGEg KEpvc2h1YSk7IGdjYy1wYXRjaGVzCj4gQ0M6IGppbS53aWxzb24uZ2NjOyBwYWxtZXI7IGFuZHJl dzsgcGhpbGlwcC50b21zaWNoOyBjaHJpc3RvcGgubXVlbGxuZXI7IGp1emhlLnpob25nOyBKaW4g TWE7IFhpYW5taWFvIFF1Cj4gU3ViamVjdDogUmU6IFtQQVRDSCB2NF0gUklTQy1WOiBBZGRzIHRo ZSBwcmVmaXggInRoLiIgZm9yIHRoZSBpbnN0cnVjdGlvbnMgb2YgWFRoZWFkVmVjdG9yLgo+Cj4K Pgo+IE9uIDEyLzI4LzIzIDIxOjE5LCBKdW4gU2hhIChKb3NodWEpIHdyb3RlOgo+ID4gVGhpcyBw YXRjaCBhZGRzIHRoLiBwcmVmaXggdG8gYWxsIFhUaGVhZFZlY3RvciBpbnN0cnVjdGlvbnMgYnkK PiA+IGltcGxlbWVudGluZyBuZXcgYXNzZW1ibHkgb3V0cHV0IGZ1bmN0aW9ucy4gV2Ugb25seSBj aGVjayB0aGUKPiA+IHByZWZpeCBpcyAndicsIHNvIHRoYXQgbm8gZXh0cmEgYXR0cmlidXRlIGlz IG5lZWRlZC4KPiA+Cj4gPiBnY2MvQ2hhbmdlTG9nOgo+ID4KPiA+IMKgIMKgIMKgICogY29uZmln L3Jpc2N2L3Jpc2N2LXByb3Rvcy5oIChyaXNjdl9hc21fb3V0cHV0X29wY29kZSk6Cj4gPiDCoCDC oCDCoCBOZXcgZnVuY3Rpb24gdG8gYWRkIGFzc2VtYmxlciBpbnNuIGNvZGUgcHJlZml4L3N1ZmZp eC4KPiA+IMKgIMKgIMKgICogY29uZmlnL3Jpc2N2L3Jpc2N2LmNjIChyaXNjdl9hc21fb3V0cHV0 X29wY29kZSk6IExpa2V3aXNlLgo+ID4gwqAgwqAgwqAgKiBjb25maWcvcmlzY3YvcmlzY3YuaCAo QVNNX09VVFBVVF9PUENPREUpOiBMaWtld2lzZS4KPiA+Cj4gPiBDby1hdXRob3JlZC1ieTogSmlu IE1hIDxqaW5tYUBsaW51eC5hbGliYWJhLmNvbT4KPiA+IENvLWF1dGhvcmVkLWJ5OiBYaWFubWlh byBRdSA8Y29vcGVyLnF1QGxpbnV4LmFsaWJhYmEuY29tPgo+ID4gQ28tYXV0aG9yZWQtYnk6IENo cmlzdG9waCBNw7xsbG5lciA8Y2hyaXN0b3BoLm11ZWxsbmVyQHZydWxsLmV1Pgo+ID4gLS0tCj4g PiDCoCBnY2MvY29uZmlnL3Jpc2N2L3Jpc2N2LXByb3Rvcy5owqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgfMKgIDEgKwo+ID4gwqAgZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi5jY8KgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIHwgMTQgKysrKysrKysrKysrKysKPiA+IMKg IGdjYy9jb25maWcvcmlzY3YvcmlzY3YuaCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCB8wqAgNCArKysrCj4gPiDCoCAuLi4vZ2NjLnRhcmdldC9yaXNjdi9ydnYveHRoZWFk dmVjdG9yL3ByZWZpeC5jIMKgIMKgIHwgMTIgKysrKysrKysrKysrCj4gPiDCoCA0IGZpbGVzIGNo YW5nZWQsIDMxIGluc2VydGlvbnMoKykKPiA+IMKgIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVz dHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcnZ2L3h0aGVhZHZlY3Rvci9wcmVmaXguYwo+ID4KPiA+ IGRpZmYgLS1naXQgYS9nY2MvY29uZmlnL3Jpc2N2L3Jpc2N2LXByb3Rvcy5oIGIvZ2NjL2NvbmZp Zy9yaXNjdi9yaXNjdi1wcm90b3MuaAo+ID4gaW5kZXggMzEwNDllZjc1MjMuLjVlYTU0YjQ1NzAz IDEwMDY0NAo+ID4gLS0tIGEvZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi1wcm90b3MuaAo+ID4gKysr IGIvZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi1wcm90b3MuaAo+ID4gQEAgLTEwMiw2ICsxMDIsNyBA QCBzdHJ1Y3QgcmlzY3ZfYWRkcmVzc19pbmZvIHsKPiA+IMKgIH07Cj4gPgo+ID4gwqAgLyogUm91 dGluZXMgaW1wbGVtZW50ZWQgaW4gcmlzY3YuY2MuwqAgKi8KPiA+ICtleHRlcm4gY29uc3QgY2hh ciAqcmlzY3ZfYXNtX291dHB1dF9vcGNvZGUgKEZJTEUgKmFzbV9vdXRfZmlsZSwgY29uc3QgY2hh ciAqcCk7Cj4gPiDCoCBleHRlcm4gZW51bSByaXNjdl9zeW1ib2xfdHlwZSByaXNjdl9jbGFzc2lm eV9zeW1ib2xpY19leHByZXNzaW9uIChydHgpOwo+ID4gwqAgZXh0ZXJuIGJvb2wgcmlzY3Zfc3lt Ym9saWNfY29uc3RhbnRfcCAocnR4LCBlbnVtIHJpc2N2X3N5bWJvbF90eXBlICopOwo+ID4gwqAg ZXh0ZXJuIGludCByaXNjdl9mbG9hdF9jb25zdF9ydHhfaW5kZXhfZm9yX2ZsaSAocnR4KTsKPiA+ IGRpZmYgLS1naXQgYS9nY2MvY29uZmlnL3Jpc2N2L3Jpc2N2LmNjIGIvZ2NjL2NvbmZpZy9yaXNj di9yaXNjdi5jYwo+ID4gaW5kZXggMGQxY2JjNWNiNWYuLmVhMWQ1OWQ5Y2YyIDEwMDY0NAo+ID4g LS0tIGEvZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi5jYwo+ID4gKysrIGIvZ2NjL2NvbmZpZy9yaXNj di9yaXNjdi5jYwo+ID4gQEAgLTU2MzYsNiArNTYzNiwyMCBAQCByaXNjdl9nZXRfdl9yZWdub19h bGlnbm1lbnQgKG1hY2hpbmVfbW9kZSBtb2RlKQo+ID4gwqAgwqAgcmV0dXJuIGxtdWw7Cj4gPiDC oCB9Cj4gPgo+ID4gKy8qIERlZmluZSBBU01fT1VUUFVUX09QQ09ERSB0byBkbyBhbnl0aGluZyBz cGVjaWFsIGJlZm9yZQo+ID4gKyDCoCBlbWl0dGluZyBhbiBvcGNvZGUuwqAgKi8KPiA+ICtjb25z dCBjaGFyICoKPiA+ICtyaXNjdl9hc21fb3V0cHV0X29wY29kZSAoRklMRSAqYXNtX291dF9maWxl LCBjb25zdCBjaGFyICpwKQo+ID4gK3sKPiA+ICvCoCAvKiBXZSBuZWVkIHRvIGFkZCB0aC4gcHJl Zml4IHRvIGFsbCB0aGUgeHRoZWFkdmVjdG9yCj4gPiArIMKgIMKgIGluc3R1cmN0aW9ucyBoZXJl LiovCj4gPiArwqAgaWYgKFRBUkdFVF9YVEhFQURWRUNUT1IgJiYgY3VycmVudF9vdXRwdXRfaW5z biAhPSBOVUxMX1JUWCAmJgo+ID4gK8KgIMKgIMKgIHBbMF0gPT0gJ3YnKQo+ID4gK8KgIMKgIGZw dXRzICgidGguIiwgYXNtX291dF9maWxlKTsKPiA+ICsKPiA+ICvCoCByZXR1cm4gcDsKPiBKdXN0 IGEgZm9ybWF0dGluZyBuaXQuIFRoZSBHTlUgc3RhbmRhcmRzIGJyZWFrIGxpbmVzIGJlZm9yZSB0 aGUKPiBvcGVyYXRvciwgbm90IGFmdGVyLsKgIFNvCj7CoCDCoCBpZiAoVEFSR0VUX1hUSEVBRFZF Q1RPUgo+wqAgwqAgwqAgwqAgJiYgY3VycmVudF9vdXRwdXRfaW5zbiAhPSBOVUxMCj7CoCDCoCDC oCDCoCAmJiBwWzBdID09ICd2JykKPgo+IE5vdGUgdGhhdCBjdXJyZW50X291dHB1dF9pbnNuIGlz ICJleHRlcm4gcnR4X2luc24gKiIsIHNvIHVzZSBOVUxMLCBub3QKPiBOVUxMX1JUWC4KPgo+IE5l aXRoZXIgb2YgdGhlc2Ugbml0cyByZXF1aXJlIGEgbmV3IHZlcnNpb24gZm9yIHJldmlldy7CoCBK dXN0IGZpeCB0aGVtLgo+Cj4gSWYgSnV6aGUgaXMgZmluZSB3aXRoIHRoaXMsIHNvIGFtIEkuwqAg V2UgY2FuIHJlZmluZSBpdCBpZiBuZWNlc3NhcnkgbGF0ZXIuCj4KPiBqZWZmCj4KPgo+Cj4KPg==