From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtpbgbr1.qq.com (smtpbgbr1.qq.com [54.207.19.206]) by sourceware.org (Postfix) with ESMTPS id 50673384640E for ; Thu, 25 Apr 2024 09:27:23 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 50673384640E Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=rivai.ai Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=rivai.ai ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 50673384640E Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=54.207.19.206 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1714037248; cv=none; b=k9xcZvb2lOPcanzI5WlBgm9R1HYsQBa2p+02KeIEgBVYlxyQ36WQHxBVEOrJQbV3qFv/u+u+U+Ih1F4nveYRu9y/tt3oX4n6kaV+erjkRxzKFbSz4k0XESrhecmUZX547ZOrBH2S605hPy/CU3kiTh0DzzErR22x2Kt6EwS+LHM= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1714037248; c=relaxed/simple; bh=FlVDERGMoBniUmCOvDbxKpI9/EmMVmGXx92xf48akxA=; h=Date:From:To:Subject:Mime-Version:Message-ID; b=b4cEnZ4z1yAMq5v5pesHgNTcVGNAjg3R+MMvOLhJg5KH+y/8Bi8Zyi2DkhPoRw+h/CZDK8jap6NRFi5BdNDR/5dESLt2t5i99x4cUJGBHZLvqqdl2eljCdUIZEosvNsEv0eLlhgtXT/IOiT8nela9zormtj4WS4BPaZIiCvAqvU= ARC-Authentication-Results: i=1; server2.sourceware.org X-QQ-mid: bizesmtpsz7t1714037235t6zmnis X-QQ-Originating-IP: f3F8l9H0lw0pJ+JKroyKZMDb6P/vGw3xYniFQ9/zyI0= Received: from LAPTOP-EPITNQBU ( [113.104.209.113]) by bizesmtp.qq.com (ESMTP) with id ; Thu, 25 Apr 2024 17:27:14 +0800 (CST) X-QQ-SSF: 01400000000000G0V000000B0000000 X-QQ-FEAT: CRJwvrMA7IjVskzTx6qT3Jq4iHcxDzLIn7UbvBLgN/SSLUP8xcnfcQdZHeitD xcL6t+Qu/rNZ9xQ5uJWhWZ/h8v+5JmFMfCjeFtBEPIpNtaQLa81LsXtIEk5i0khjQ2jzK66 HoL1/BGOMHURLiVqMVHaRGImgX3/KYnxOxI5yQ5/Qfxs+M1uu99dDFa8N2YVUB0h9u9hLTw axAYkaeTqeUyqS+fQ64/IcEHxi6i14+RL8pcDxPJzJ7kjGrL9b2I/Ri7gJ6gQ16pjNpfZsi lJtfUvCBUwQGRwsnPJoR4Xr36XPhR7pu8eNNYmvbD4wAxjbSPxwNZa83vPaBh1OTmtmmfNF JkgEVkeJVgAv/xeGuZro5gpCOBlZ4uuw6YDXocqS1ImzsgkjSqzz60wiCGT3HDWQk7qo+4c i6mBEWxGAJAmjQAE2sdNp8ozsFcqDJ3WwdD/aDRUOSQ= X-QQ-GoodBg: 2 X-BIZMAIL-ID: 4713155230335222535 Date: Thu, 25 Apr 2024 17:27:14 +0800 From: "juzhe.zhong@rivai.ai" To: pan2.li , gcc-patches Cc: kito.cheng , "Robin Dapp" , pan2.li , Kito.cheng Subject: Re: [PATCH v1] RISC-V: Add test cases for insn does not satisfy its constraints [PR114714] References: <20240425092547.2667263-1-pan2.li@intel.com> X-Priority: 3 X-GUID: 97184F6F-46AE-4308-9B78-6C651B7C6194 X-Has-Attach: no X-Mailer: Foxmail 7.2.16.188[cn] Mime-Version: 1.0 Message-ID: <72DE79A216B36C45+202404251727136438170@rivai.ai> Content-Type: multipart/alternative; boundary="----=_001_NextPart156222247787_=----" X-QQ-SENDSIZE: 520 Feedback-ID: bizesmtpsz:rivai.ai:qybglogicsvrgz:qybglogicsvrgz7a-one-0 X-Spam-Status: No, score=-10.3 required=5.0 tests=BAYES_00,GIT_PATCH_0,HTML_MESSAGE,KAM_DMARC_STATUS,MIME_BASE64_TEXT,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H4,RCVD_IN_MSPIKE_WL,SPF_HELO_PASS,SPF_PASS,TXREP 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: This is a multi-part message in MIME format. ------=_001_NextPart156222247787_=---- Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: base64 TEdUTS4gVEhBTktTDQoNCg0KDQpqdXpoZS56aG9uZ0ByaXZhaS5haQ0KIA0K RnJvbTogcGFuMi5saQ0KRGF0ZTogMjAyNC0wNC0yNSAxNzoyNQ0KVG86IGdj Yy1wYXRjaGVzDQpDQzoganV6aGUuemhvbmc7IGtpdG8uY2hlbmc7IHJkYXBw LmdjYzsgUGFuIExpOyBLaXRvIENoZW5nDQpTdWJqZWN0OiBbUEFUQ0ggdjFd IFJJU0MtVjogQWRkIHRlc3QgY2FzZXMgZm9yIGluc24gZG9lcyBub3Qgc2F0 aXNmeSBpdHMgY29uc3RyYWludHMgW1BSMTE0NzE0XQ0KRnJvbTogUGFuIExp IDxwYW4yLmxpQGludGVsLmNvbT4NCiANCldlIGhhdmUgb25lIElDRSB3aGVu IFJWViByZWdpc3RlciBvdmVybGFwIGlzIGVuYWJsZWQuICBXZSByZXZlcnRl ZCB0aGlzDQpmZWF0dXJlIGFzIGl0IGlzIGluIHN0YWdlIDQgYW5kIHRoZXJl IGlzIG5vIG11Y2ggdGltZSB0byBmaWd1cmUgYSBiZXR0ZXINCnNvbHV0aW9u IGZvciB0aGlzLiAgVGh1cywgZm9yIG5vdyBhZGQgdGhlIHJlbGF0ZWQgdGVz dCBjYXNlcyB3aGljaCB3aWxsDQp0cmlnZ2VyIElDRSB3aGVuIHJlZ2lzdGVy IG92ZXJsYXAgZW5hYmxlZC4NCiANClRoaXMgd2lsbCBnYXRlIHRoZSBSVlYg cmVnaXN0ZXIgb3ZlcmxhcCBzdXBwb3J0IGluIEdDQy0xNS4NCiANClBSIHRh cmdldC8xMTQ3MTQNCiANCmdjYy90ZXN0c3VpdGUvQ2hhbmdlTG9nOg0KIA0K KiBnKysudGFyZ2V0L3Jpc2N2L3J2di9iYXNlL3ByMTE0NzE0LTEuQzogTmV3 IHRlc3QuDQoqIGcrKy50YXJnZXQvcmlzY3YvcnZ2L2Jhc2UvcHIxMTQ3MTQt Mi5DOiBOZXcgdGVzdC4NCiANClNpZ25lZC1vZmYtYnk6IFBhbiBMaSA8cGFu Mi5saUBpbnRlbC5jb20+DQpDby1BdXRob3JlZC1ieTogS2l0byBDaGVuZyA8 a2l0by5jaGVuZ0BzaWZpdmUuY29tPg0KLS0tDQouLi4vZysrLnRhcmdldC9y aXNjdi9ydnYvYmFzZS9wcjExNDcxNC0xLkMgICAgfCA4NSArKysrKysrKysr KysrKysrKysrDQouLi4vZysrLnRhcmdldC9yaXNjdi9ydnYvYmFzZS9wcjEx NDcxNC0yLkMgICAgfCA4NSArKysrKysrKysrKysrKysrKysrDQoyIGZpbGVz IGNoYW5nZWQsIDE3MCBpbnNlcnRpb25zKCspDQpjcmVhdGUgbW9kZSAxMDA2 NDQgZ2NjL3Rlc3RzdWl0ZS9nKysudGFyZ2V0L3Jpc2N2L3J2di9iYXNlL3By MTE0NzE0LTEuQw0KY3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3VpdGUv ZysrLnRhcmdldC9yaXNjdi9ydnYvYmFzZS9wcjExNDcxNC0yLkMNCiANCmRp ZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2crKy50YXJnZXQvcmlzY3YvcnZ2 L2Jhc2UvcHIxMTQ3MTQtMS5DIGIvZ2NjL3Rlc3RzdWl0ZS9nKysudGFyZ2V0 L3Jpc2N2L3J2di9iYXNlL3ByMTE0NzE0LTEuQw0KbmV3IGZpbGUgbW9kZSAx MDA2NDQNCmluZGV4IDAwMDAwMDAwMDAwLi5kMzIzMGY3ZjIzZQ0KLS0tIC9k ZXYvbnVsbA0KKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nKysudGFyZ2V0L3Jpc2N2 L3J2di9iYXNlL3ByMTE0NzE0LTEuQw0KQEAgLTAsMCArMSw4NSBAQA0KKy8q IFRlc3QgdGhhdCB3ZSBkbyBub3QgaGF2ZSBpY2Ugd2hlbiBjb21waWxlICov DQorLyogeyBkZy1kbyBjb21waWxlIH0gKi8NCisvKiB7IGRnLW9wdGlvbnMg Ii1tYXJjaD1ydjY0Z2N2IC1tYWJpPWxwNjRkIC1PMyAtc3RkPWMrKzE3IiB9 ICovDQorDQordHlwZWRlZiBpbnQgYTsNCit0eXBlZGVmIHNob3J0IGI7DQor dHlwZWRlZiB1bnNpZ25lZCBjOw0KK3RlbXBsYXRlIDwgdHlwZW5hbWUgPiB1 c2luZyBlID0gdW5zaWduZWQ7DQordGVtcGxhdGUgPCB0eXBlbmFtZSA+IHZv aWQgYWIoKTsNCisjcHJhZ21hIHJpc2N2IGludHJpbnNpYyAidmVjdG9yIg0K K3RlbXBsYXRlIDwgdHlwZW5hbWUgZiwgaW50LCBpbnQgYWMgPiBzdHJ1Y3Qg ZyB7DQorICB1c2luZyBpID0gZjsNCisgIHRlbXBsYXRlIDwgdHlwZW5hbWUg bSA+IHVzaW5nIGogPSBnPCBtLCAwLCBhYyA+Ow0KKyAgdXNpbmcgayA9IGc8 IGksIDEsIGFjIC0gMSA+Ow0KKyAgdXNpbmcgYWQgPSBnPCBpLCAxLCBhYyAr IDEgPjsNCit9Ow0KK25hbWVzcGFjZSBhZSB7DQorc3RydWN0IGFmIHsNCisg IHVzaW5nIGggPSBnPCBzaG9ydCwgNiwgMCA8IDMgPjsNCit9Ow0KK3N0cnVj dCBhZyB7DQorICB1c2luZyBoID0gYWY6Omg7DQorfTsNCit9IHRlbXBsYXRl IDwgdHlwZW5hbWUsIGludCA+IHVzaW5nIGFoID0gYWU6OmFnOjpoOw0KK3Rl bXBsYXRlIDwgY2xhc3MgYWkgPiB1c2luZyBhaiA9IHR5cGVuYW1lIGFpOjpp Ow0KK3RlbXBsYXRlIDwgY2xhc3MgaSwgY2xhc3MgYWkgPiB1c2luZyBqID0g dHlwZW5hbWUgYWk6Omo8IGkgPjsNCit0ZW1wbGF0ZSA8IGNsYXNzIGFpID4g dXNpbmcgYWsgPSBqPCBlPCBhaSA+LCBhaSA+Ow0KK3RlbXBsYXRlIDwgY2xh c3MgYWkgPiB1c2luZyBrID0gdHlwZW5hbWUgYWk6Oms7DQordGVtcGxhdGUg PCBjbGFzcyBhaSA+IHVzaW5nIGFkID0gdHlwZW5hbWUgYWk6OmFkOw0KK3Rl bXBsYXRlIDwgYSBhcCA+IHZ1aW50MTZtMV90IGFyKGc8IGIsIGFwLCAwID4s IGIpOw0KK3RlbXBsYXRlIDwgYSBhcCA+IHZ1aW50MTZtMl90IGFyKGc8IGIs IGFwLCAxID4sIGIpOw0KK3RlbXBsYXRlIDwgYSBhcCA+IHZ1aW50MzJtMl90 IGFyKGc8IGMsIGFwLCAxID4sIGMpOw0KK3RlbXBsYXRlIDwgYSBhcCA+IHZ1 aW50MzJtNF90IGFyKGc8IGMsIGFwLCAyID4sIGMpOw0KK3RlbXBsYXRlIDwg Y2xhc3MgYWkgPiB1c2luZyBhcyA9IGRlY2x0eXBlKGFyKGFpKCksIGFqPCBh aSA+KCkpKTsNCit0ZW1wbGF0ZSA8IGNsYXNzIGFpID4gYXM8IGFpID4gYXQo YWkpOw0KK25hbWVzcGFjZSBhZSB7DQordGVtcGxhdGUgPCBpbnQgYXAgPiB2 dWludDMybTRfdCBhdShnPCBjLCBhcCwgMSArIDEgPiwgdnVpbnQzMm0yX3Qg bCkgew0KKyAgcmV0dXJuIF9fcmlzY3ZfdmxtdWxfZXh0X3ZfdTMybTJfdTMy bTQobCk7DQorfQ0KK30gdGVtcGxhdGUgPCBpbnQgYXAgPiB2dWludDMybTJf dCBhdyhnPCBjLCBhcCwgMSA+LCB2dWludDE2bTFfdCBsKSB7DQorICByZXR1 cm4gX19yaXNjdl92emV4dF92ZjJfdTMybTIobCwgMCk7DQorfQ0KK25hbWVz cGFjZSBhZSB7DQordnVpbnQzMm00X3QgYXgodnVpbnQzMm00X3QsIHZ1aW50 MzJtNF90LCBhKTsNCit9DQordGVtcGxhdGUgPCBjbGFzcyBheSwgY2xhc3Mg YW4gPiBhczwgYXkgPiBheihheSBiYSwgYW4gYmMpIHsNCisgIGFuIGJiOw0K KyAgcmV0dXJuIGFlOjpheChhZTo6YXUoYmEsIGJjKSwgYWU6OmF1KGJhLCBi YiksIDIpOw0KK30NCit0ZW1wbGF0ZSA8IGNsYXNzIGJkID4gYXM8IGJkID4g YmUoYmQsIGFzPCBhZDwgYmQgPiA+KTsNCituYW1lc3BhY2UgYWUgew0KK3Rl bXBsYXRlIDwgY2xhc3MgYmgsIGNsYXNzIGJpID4gdm9pZCBiaihiaCBiaywg YmkgYmwpIHsNCisgIGFkPCBkZWNsdHlwZShiaykgPiBibjsNCisgIGF6KGJu LCBibCk7DQorfQ0KK30gdGVtcGxhdGUgPCBpbnQgYXAsIGludCBhYywgY2xh c3MgYnAsIGNsYXNzIGJxID4NCit2b2lkIGJyKGc8IGMsIGFwLCBhYyA+IGJr LCBicCwgYnEgYmwpIHsNCisgIGFlOjpiaihiaywgYmwpOw0KK30NCit0ZW1w bGF0ZSA8IGNsYXNzIGFpID4gdXNpbmcgYnMgPSBkZWNsdHlwZShhdChhaSgp KSk7DQorc3RydWN0IGJ0Ow0KK3RlbXBsYXRlIDwgaW50IGFjID0gMSA+IGNs YXNzIGJ1IHsNCitwdWJsaWM6DQorICB0ZW1wbGF0ZSA8IHR5cGVuYW1lIGkg PiB2b2lkIG9wZXJhdG9yKCkoaSkgew0KKyAgICBhaDwgaSwgYWMgPiBkOw0K KyAgICBidCgpKGkoKSwgZCk7DQorICB9DQorfTsNCitzdHJ1Y3QgYnQgew0K KyAgdGVtcGxhdGUgPCB0eXBlbmFtZSBidiwgY2xhc3MgYmYgPiB2b2lkIG9w ZXJhdG9yKCkoYnYsIGJmIGJ3KSB7DQorICAgIHVzaW5nIGJ4ID0gYnY7DQor ICAgIGFrPCBiZiA+IGJ5Ow0KKyAgICBrPCBiZiA+IGJ6Ow0KKyAgICB1c2lu ZyBicSA9IGJzPCBkZWNsdHlwZShieSkgPjsNCisgICAgdXNpbmcgYnAgPSBi czwgZGVjbHR5cGUoYncpID47DQorICAgIGJwIGNiOw0KKyAgICBhYjwgYngg PigpOw0KKyAgICBmb3IgKDs7KSB7DQorICAgICAgYnAgY2M7DQorICAgICAg YnEgYmwgPSBhdyhieSwgYmUoYnosIGNjKSk7DQorICAgICAgYnIoYnksIGNi LCBibCk7DQorICAgIH0NCisgIH0NCit9Ow0KK3ZvaWQgZCgpIHsgYnUoKShi KCkpOyB9DQpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nKysudGFyZ2V0 L3Jpc2N2L3J2di9iYXNlL3ByMTE0NzE0LTIuQyBiL2djYy90ZXN0c3VpdGUv ZysrLnRhcmdldC9yaXNjdi9ydnYvYmFzZS9wcjExNDcxNC0yLkMNCm5ldyBm aWxlIG1vZGUgMTAwNjQ0DQppbmRleCAwMDAwMDAwMDAwMC4uNTU2MjFlOThm ZWUNCi0tLSAvZGV2L251bGwNCisrKyBiL2djYy90ZXN0c3VpdGUvZysrLnRh cmdldC9yaXNjdi9ydnYvYmFzZS9wcjExNDcxNC0yLkMNCkBAIC0wLDAgKzEs ODUgQEANCisvKiBUZXN0IHRoYXQgd2UgZG8gbm90IGhhdmUgaWNlIHdoZW4g Y29tcGlsZSAqLw0KKy8qIHsgZGctZG8gY29tcGlsZSB9ICovDQorLyogeyBk Zy1vcHRpb25zICItbWFyY2g9cnY2NGdjdiAtbWFiaT1scDY0ZCAtTzMgLXN0 ZD1jKysxNyIgfSAqLw0KKw0KK3R5cGVkZWYgaW50IGE7DQordHlwZWRlZiBz aG9ydCBiOw0KK3R5cGVkZWYgdW5zaWduZWQgYzsNCit0ZW1wbGF0ZSA8IHR5 cGVuYW1lID4gdXNpbmcgZSA9IHVuc2lnbmVkOw0KK3RlbXBsYXRlIDwgdHlw ZW5hbWUgPiB2b2lkIGFiKCk7DQorI3ByYWdtYSByaXNjdiBpbnRyaW5zaWMg InZlY3RvciINCit0ZW1wbGF0ZSA8IHR5cGVuYW1lIGYsIGludCwgaW50IGFj ID4gc3RydWN0IGcgew0KKyAgdXNpbmcgaSA9IGY7DQorICB0ZW1wbGF0ZSA8 IHR5cGVuYW1lIG0gPiB1c2luZyBqID0gZzwgbSwgMCwgYWMgPjsNCisgIHVz aW5nIGsgPSBnPCBpLCAxLCBhYyAtIDEgPjsNCisgIHVzaW5nIGFkID0gZzwg aSwgMSwgYWMgKyAxID47DQorfTsNCituYW1lc3BhY2UgYWUgew0KK3N0cnVj dCBhZiB7DQorICB1c2luZyBoID0gZzwgc2hvcnQsIDYsIDAgPCAzID47DQor fTsNCitzdHJ1Y3QgYWcgew0KKyAgdXNpbmcgaCA9IGFmOjpoOw0KK307DQor fSB0ZW1wbGF0ZSA8IHR5cGVuYW1lLCBpbnQgPiB1c2luZyBhaCA9IGFlOjph Zzo6aDsNCit0ZW1wbGF0ZSA8IGNsYXNzIGFpID4gdXNpbmcgYWogPSB0eXBl bmFtZSBhaTo6aTsNCit0ZW1wbGF0ZSA8IGNsYXNzIGksIGNsYXNzIGFpID4g dXNpbmcgaiA9IHR5cGVuYW1lIGFpOjpqPCBpID47DQordGVtcGxhdGUgPCBj bGFzcyBhaSA+IHVzaW5nIGFrID0gajwgZTwgYWkgPiwgYWkgPjsNCit0ZW1w bGF0ZSA8IGNsYXNzIGFpID4gdXNpbmcgayA9IHR5cGVuYW1lIGFpOjprOw0K K3RlbXBsYXRlIDwgY2xhc3MgYWkgPiB1c2luZyBhZCA9IHR5cGVuYW1lIGFp OjphZDsNCit0ZW1wbGF0ZSA8IGEgYXAgPiB2dWludDE2bWYyX3QgYXIoZzwg YiwgYXAsIDAgPiwgYik7DQordGVtcGxhdGUgPCBhIGFwID4gdnVpbnQxNm0x X3QgYXIoZzwgYiwgYXAsIDEgPiwgYik7DQordGVtcGxhdGUgPCBhIGFwID4g dnVpbnQzMm0xX3QgYXIoZzwgYywgYXAsIDEgPiwgYyk7DQordGVtcGxhdGUg PCBhIGFwID4gdnVpbnQzMm0yX3QgYXIoZzwgYywgYXAsIDIgPiwgYyk7DQor dGVtcGxhdGUgPCBjbGFzcyBhaSA+IHVzaW5nIGFzID0gZGVjbHR5cGUoYXIo YWkoKSwgYWo8IGFpID4oKSkpOw0KK3RlbXBsYXRlIDwgY2xhc3MgYWkgPiBh czwgYWkgPiBhdChhaSk7DQorbmFtZXNwYWNlIGFlIHsNCit0ZW1wbGF0ZSA8 IGludCBhcCA+IHZ1aW50MzJtMl90IGF1KGc8IGMsIGFwLCAxICsgMSA+LCB2 dWludDMybTFfdCBsKSB7DQorICByZXR1cm4gX19yaXNjdl92bG11bF9leHRf dl91MzJtMV91MzJtMihsKTsNCit9DQorfSB0ZW1wbGF0ZSA8IGludCBhcCA+ IHZ1aW50MzJtMV90IGF3KGc8IGMsIGFwLCAxID4sIHZ1aW50MTZtZjJfdCBs KSB7DQorICByZXR1cm4gX19yaXNjdl92emV4dF92ZjJfdTMybTEobCwgMCk7 DQorfQ0KK25hbWVzcGFjZSBhZSB7DQordnVpbnQzMm0yX3QgYXgodnVpbnQz Mm0yX3QsIHZ1aW50MzJtMl90LCBhKTsNCit9DQordGVtcGxhdGUgPCBjbGFz cyBheSwgY2xhc3MgYW4gPiBhczwgYXkgPiBheihheSBiYSwgYW4gYmMpIHsN CisgIGFuIGJiOw0KKyAgcmV0dXJuIGFlOjpheChhZTo6YXUoYmEsIGJjKSwg YWU6OmF1KGJhLCBiYiksIDIpOw0KK30NCit0ZW1wbGF0ZSA8IGNsYXNzIGJk ID4gYXM8IGJkID4gYmUoYmQsIGFzPCBhZDwgYmQgPiA+KTsNCituYW1lc3Bh Y2UgYWUgew0KK3RlbXBsYXRlIDwgY2xhc3MgYmgsIGNsYXNzIGJpID4gdm9p ZCBiaihiaCBiaywgYmkgYmwpIHsNCisgIGFkPCBkZWNsdHlwZShiaykgPiBi bjsNCisgIGF6KGJuLCBibCk7DQorfQ0KK30gdGVtcGxhdGUgPCBpbnQgYXAs IGludCBhYywgY2xhc3MgYnAsIGNsYXNzIGJxID4NCit2b2lkIGJyKGc8IGMs IGFwLCBhYyA+IGJrLCBicCwgYnEgYmwpIHsNCisgIGFlOjpiaihiaywgYmwp Ow0KK30NCit0ZW1wbGF0ZSA8IGNsYXNzIGFpID4gdXNpbmcgYnMgPSBkZWNs dHlwZShhdChhaSgpKSk7DQorc3RydWN0IGJ0Ow0KK3RlbXBsYXRlIDwgaW50 IGFjID0gMSA+IGNsYXNzIGJ1IHsNCitwdWJsaWM6DQorICB0ZW1wbGF0ZSA8 IHR5cGVuYW1lIGkgPiB2b2lkIG9wZXJhdG9yKCkoaSkgew0KKyAgICBhaDwg aSwgYWMgPiBkOw0KKyAgICBidCgpKGkoKSwgZCk7DQorICB9DQorfTsNCitz dHJ1Y3QgYnQgew0KKyAgdGVtcGxhdGUgPCB0eXBlbmFtZSBidiwgY2xhc3Mg YmYgPiB2b2lkIG9wZXJhdG9yKCkoYnYsIGJmIGJ3KSB7DQorICAgIHVzaW5n IGJ4ID0gYnY7DQorICAgIGFrPCBiZiA+IGJ5Ow0KKyAgICBrPCBiZiA+IGJ6 Ow0KKyAgICB1c2luZyBicSA9IGJzPCBkZWNsdHlwZShieSkgPjsNCisgICAg dXNpbmcgYnAgPSBiczwgZGVjbHR5cGUoYncpID47DQorICAgIGJwIGNiOw0K KyAgICBhYjwgYnggPigpOw0KKyAgICBmb3IgKDs7KSB7DQorICAgICAgYnAg Y2M7DQorICAgICAgYnEgYmwgPSBhdyhieSwgYmUoYnosIGNjKSk7DQorICAg ICAgYnIoYnksIGNiLCBibCk7DQorICAgIH0NCisgIH0NCit9Ow0KK3ZvaWQg ZCgpIHsgYnUoKShiKCkpOyB9DQotLSANCjIuMzQuMQ0KIA0KIA0K ------=_001_NextPart156222247787_=------