From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtpbguseast1.qq.com (smtpbguseast1.qq.com [54.204.34.129]) by sourceware.org (Postfix) with ESMTPS id 3C8BF3858C54 for ; Mon, 31 Jul 2023 06:59:07 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 3C8BF3858C54 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=rivai.ai Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=rivai.ai X-QQ-mid: bizesmtp76t1690786738tx8gg85j Received: from LAPTOP-EPITNQBU ( [121.35.182.224]) by bizesmtp.qq.com (ESMTP) with id ; Mon, 31 Jul 2023 14:58:57 +0800 (CST) X-QQ-SSF: 01400000000000G0V000000A0000000 X-QQ-FEAT: xQoAiglG4R7WIHohMc96cvgwEqewYu8kgX/upUOpq5Xyjtq4FFNvaKPOgz+4p xtb0a9qbXw8nRyt5mLffTq/GbktKrqH6UnHPR+cGi1s8X4CFAzSTNECMMjBOCtz4n4/j6Rf wPPuQk/S/ls44winnC5E/NyQRf9fziS0EsoGKhz/lX/1GrugNNN0WDfQQ0/8S6xHTbCZfNh WSjsUcZhV9bsS8xGwSjjfGjeMgsmRDa1sqt9T7oybyrrAq8B2j1qkEUhbSXVZRx7pQ0e4ox fvmqHETjFxBYnk+RlQsPKsCF+9uW/jJ8u+hhtH39J/Gcz6h2TJpO8ee80kxfsK6dPen7lUs 7GsAqd0w8tFiytXmYAcIP1xORkc1YghPQR+ABOhGHAa/5g7hc38lhsFCPHazhg6cidm4+7s 3kkfxQLc4v0H9+/Z9rItDs8N3WlC9BwB X-QQ-GoodBg: 2 X-BIZMAIL-ID: 5079522450053467997 Date: Mon, 31 Jul 2023 14:58:57 +0800 From: "juzhe.zhong@rivai.ai" To: Kito.cheng , gcc-patches , kito.cheng , "Robin Dapp" , pan2.li Cc: Kito.cheng Subject: Re: [PATCH] RISC-V: Return machine_mode rather than opt_machine_mode for get_mask_mode, NFC References: <20230731065228.69779-1-kito.cheng@sifive.com> X-Priority: 3 X-GUID: 73E73899-4BC9-4ADB-9539-9EB0D31C35AB X-Has-Attach: no X-Mailer: Foxmail 7.2.16.188[cn] Mime-Version: 1.0 Message-ID: Content-Type: multipart/alternative; boundary="----=_001_NextPart288221754528_=----" X-QQ-SENDSIZE: 520 Feedback-ID: bizesmtp:rivai.ai:qybglogicsvrgz:qybglogicsvrgz7a-one-0 X-Spam-Status: No, score=-8.5 required=5.0 tests=BAYES_00,GIT_PATCH_0,HTML_MESSAGE,KAM_DMARC_STATUS,MIME_BASE64_TEXT,RCVD_IN_BARRACUDACENTRAL,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H4,RCVD_IN_MSPIKE_WL,SPF_HELO_PASS,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE 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_NextPart288221754528_=---- Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: base64 b2sNCg0KDQoNCmp1emhlLnpob25nQHJpdmFpLmFpDQogDQpGcm9tOiBLaXRv IENoZW5nDQpEYXRlOiAyMDIzLTA3LTMxIDE0OjUyDQpUbzogZ2NjLXBhdGNo ZXM7IGtpdG8uY2hlbmc7IGp1emhlLnpob25nOyByZGFwcC5nY2M7IHBhbjIu bGkNCkNDOiBLaXRvIENoZW5nDQpTdWJqZWN0OiBbUEFUQ0hdIFJJU0MtVjog UmV0dXJuIG1hY2hpbmVfbW9kZSByYXRoZXIgdGhhbiBvcHRfbWFjaGluZV9t b2RlIGZvciBnZXRfbWFza19tb2RlLCBORkMNCldlIGFsd2F5cyB3YW50IGdl dF9tYXNrX21vZGUgcmV0dXJuIGEgdmFsaWQgbW9kZSwgaXQncyBzb21ldGhp bmcgd3JvbmcNCmlmIGl0IGZhaWxlZCwgc28gSSB0aGluayB3ZSBjb3VsZCBq dXN0IG1vdmUgdGhlIGAucmVxdWlyZSAoKWAgaW50bw0KZ2V0X21hc2tfbW9k ZSwgaW5zdGVhZCBvZiBjYWxsaW5nIHRoYXQgZXZlcnkgY2FsbC1zaXRlLg0K IA0KVGhlIG9ubHkgZXhjZXB0aW9uIGlzIHJpc2N2X2dldF9tYXNrX21vZGUs IGl0IG1pZ2h0IHB1dCBzdXBwb3J0ZWQgbW9kZQ0KaW50byBnZXRfbWFza19t b2RlLCBzbyBhZGRlZCBhIGNoZWNrIHdpdGggcmlzY3Zfdl9leHRfbW9kZV9w IHRvIG1ha2UNCnN1cmUgb25seSB2YWxpZCB2ZWN0b3IgbW9kZSB3aWxsIGFz ayBnZXRfbWFza19tb2RlLg0KIA0KZ2NjL0NoYW5nZUxvZzoNCiANCiogY29u ZmlnL3Jpc2N2L2F1dG92ZWMubWQgKGFiczxtb2RlPjIpOiBSZW1vdmUgYC5y ZXF1aXJlICgpYC4NCiogY29uZmlnL3Jpc2N2L3Jpc2N2LXByb3Rvcy5oIChn ZXRfbWFza19tb2RlKTogVXBkYXRlIHJldHVybg0KdHlwZS4NCiogY29uZmln L3Jpc2N2L3Jpc2N2LXYuY2MgKHJ2dl9idWlsZGVyOjpydnZfYnVpbGRlcik6 IFJlbW92ZQ0KYC5yZXF1aXJlICgpYC4NCihlbWl0X3ZsbWF4X2luc24pOiBE aXR0by4NCihlbWl0X3ZsbWF4X2ZwX2luc24pOiBEaXR0by4NCihlbWl0X3Zs bWF4X3Rlcm5hcnlfaW5zbik6IERpdHRvLg0KKGVtaXRfdmxtYXhfZnBfdGVy bmFyeV9pbnNuKTogRGl0dG8uDQooZW1pdF9ub252bG1heF9mcF90ZXJuYXJ5 X3R1X2luc24pOiBEaXR0by4NCihlbWl0X25vbnZsbWF4X2luc24pOiBEaXR0 by4NCihlbWl0X3ZsbWF4X3NsaWRlX2luc24pOiBEaXR0by4NCihlbWl0X25v bnZsbWF4X3NsaWRlX3R1X2luc24pOiBEaXR0by4NCihlbWl0X3ZsbWF4X21l cmdlX2luc24pOiBEaXR0by4NCihlbWl0X3ZsbWF4X21hc2tlZF9pbnNuKTog RGl0dG8uDQooZW1pdF9ub252bG1heF9tYXNrZWRfaW5zbik6IERpdHRvLg0K KGVtaXRfdmxtYXhfbWFza2VkX3N0b3JlX2luc24pOiBEaXR0by4NCihlbWl0 X25vbnZsbWF4X21hc2tlZF9zdG9yZV9pbnNuKTogRGl0dG8uDQooZW1pdF92 bG1heF9tYXNrZWRfbXVfaW5zbik6IERpdHRvLg0KKGVtaXRfbm9udmxtYXhf dHVfaW5zbik6IERpdHRvLg0KKGVtaXRfbm9udmxtYXhfZnBfdHVfaW5zbik6 IERpdHRvLg0KKGVtaXRfc2NhbGFyX21vdmVfaW5zbik6IERpdHRvLg0KKGVt aXRfdmxtYXhfY29tcHJlc3NfaW5zbik6IERpdHRvLg0KKGVtaXRfdmxtYXhf cmVkdWN0aW9uX2luc24pOiBEaXR0by4NCihlbWl0X3ZsbWF4X2ZwX3JlZHVj dGlvbl9pbnNuKTogRGl0dG8uDQooZW1pdF9ub252bG1heF9mcF9yZWR1Y3Rp b25faW5zbik6IERpdHRvLg0KKGV4cGFuZF92ZWNfc2VyaWVzKTogRGl0dG8u DQooZXhwYW5kX3ZlY3Rvcl9pbml0X21lcmdlX3JlcGVhdGluZ19zZXF1ZW5j ZSk6IERpdHRvLg0KKGV4cGFuZF92ZWNfcGVybSk6IERpdHRvLg0KKHNodWZm bGVfbWVyZ2VfcGF0dGVybnMpOiBEaXR0by4NCihzaHVmZmxlX2NvbXByZXNz X3BhdHRlcm5zKTogRGl0dG8uDQooc2h1ZmZsZV9kZWNvbXByZXNzX3BhdHRl cm5zKTogRGl0dG8uDQooZXhwYW5kX3JlZHVjdGlvbik6IERpdHRvLg0KKGdl dF9tYXNrX21vZGUpOiBVcGRhdGUgcmV0dXJuIHR5cGUuDQoqIGNvbmZpZy9y aXNjdi9yaXNjdi5jYyAocmlzY3ZfZ2V0X21hc2tfbW9kZSk6IENoZWNrIHZl Y3RvciB0eXBlDQppcyB2YWxpZCwgYW5kIHVzZSBuZXcgZ2V0X21hc2tfbW9k ZSBpbnRlcmZhY2UuDQotLS0NCmdjYy9jb25maWcvcmlzY3YvYXV0b3ZlYy5t ZCAgICAgfCAgMiArLQ0KZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi1wcm90b3Mu aCB8ICAyICstDQpnY2MvY29uZmlnL3Jpc2N2L3Jpc2N2LXYuY2MgICAgIHwg NjggKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tDQpnY2MvY29u ZmlnL3Jpc2N2L3Jpc2N2LmNjICAgICAgIHwgIDUgKy0tDQo0IGZpbGVzIGNo YW5nZWQsIDM3IGluc2VydGlvbnMoKyksIDQwIGRlbGV0aW9ucygtKQ0KIA0K ZGlmZiAtLWdpdCBhL2djYy9jb25maWcvcmlzY3YvYXV0b3ZlYy5tZCBiL2dj Yy9jb25maWcvcmlzY3YvYXV0b3ZlYy5tZA0KaW5kZXggYjdlYTMxMDFmNWEu LmZkN2VjOTExZTg3IDEwMDY0NA0KLS0tIGEvZ2NjL2NvbmZpZy9yaXNjdi9h dXRvdmVjLm1kDQorKysgYi9nY2MvY29uZmlnL3Jpc2N2L2F1dG92ZWMubWQN CkBAIC05MTIsNyArOTEyLDcgQEAgKGRlZmluZV9leHBhbmQgImFiczxtb2Rl PjIiDQogICAiVEFSR0VUX1ZFQ1RPUiINCnsNCiAgIHJ0eCB6ZXJvID0gZ2Vu X2NvbnN0X3ZlY19kdXBsaWNhdGUgKDxNT0RFPm1vZGUsIEdFTl9JTlQgKDAp KTsNCi0gIG1hY2hpbmVfbW9kZSBtYXNrX21vZGUgPSByaXNjdl92ZWN0b3I6 OmdldF9tYXNrX21vZGUgKDxNT0RFPm1vZGUpLnJlcXVpcmUgKCk7DQorICBt YWNoaW5lX21vZGUgbWFza19tb2RlID0gcmlzY3ZfdmVjdG9yOjpnZXRfbWFz a19tb2RlICg8TU9ERT5tb2RlKTsNCiAgIHJ0eCBtYXNrID0gZ2VuX3JlZ19y dHggKG1hc2tfbW9kZSk7DQogICByaXNjdl92ZWN0b3I6OmV4cGFuZF92ZWNf Y21wIChtYXNrLCBMVCwgb3BlcmFuZHNbMV0sIHplcm8pOw0KZGlmZiAtLWdp dCBhL2djYy9jb25maWcvcmlzY3YvcmlzY3YtcHJvdG9zLmggYi9nY2MvY29u ZmlnL3Jpc2N2L3Jpc2N2LXByb3Rvcy5oDQppbmRleCA3ZDhiZjJiODFmOC4u MzI0OTkxZTI2MTkgMTAwNjQ0DQotLS0gYS9nY2MvY29uZmlnL3Jpc2N2L3Jp c2N2LXByb3Rvcy5oDQorKysgYi9nY2MvY29uZmlnL3Jpc2N2L3Jpc2N2LXBy b3Rvcy5oDQpAQCAtMzEyLDcgKzMxMiw3IEBAIGJvb2wgc2xpZGUxX3NldzY0 X2hlbHBlciAoaW50LCBtYWNoaW5lX21vZGUsIG1hY2hpbmVfbW9kZSwNCnJ0 eCBnZW5fYXZsX2Zvcl9zY2FsYXJfbW92ZSAocnR4KTsNCnZvaWQgZXhwYW5k X3R1cGxlX21vdmUgKHJ0eCAqKTsNCm1hY2hpbmVfbW9kZSBwcmVmZXJyZWRf c2ltZF9tb2RlIChzY2FsYXJfbW9kZSk7DQotb3B0X21hY2hpbmVfbW9kZSBn ZXRfbWFza19tb2RlIChtYWNoaW5lX21vZGUpOw0KK21hY2hpbmVfbW9kZSBn ZXRfbWFza19tb2RlIChtYWNoaW5lX21vZGUpOw0Kdm9pZCBleHBhbmRfdmVj X3NlcmllcyAocnR4LCBydHgsIHJ0eCk7DQp2b2lkIGV4cGFuZF92ZWNfaW5p dCAocnR4LCBydHgpOw0Kdm9pZCBleHBhbmRfdmVjX3Blcm0gKHJ0eCwgcnR4 LCBydHgsIHJ0eCk7DQpkaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9yaXNjdi9y aXNjdi12LmNjIGIvZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi12LmNjDQppbmRl eCAwYTM1NWViM2M3YS4uNWFiNzQ5ZjQzNDMgMTAwNjQ0DQotLS0gYS9nY2Mv Y29uZmlnL3Jpc2N2L3Jpc2N2LXYuY2MNCisrKyBiL2djYy9jb25maWcvcmlz Y3YvcmlzY3Ytdi5jYw0KQEAgLTI4NSw3ICsyODUsNyBAQCBwdWJsaWM6DQog ICAgIG1faW5uZXJfbW9kZSA9IEdFVF9NT0RFX0lOTkVSIChtb2RlKTsNCiAg ICAgbV9pbm5lcl9iaXRzX3NpemUgPSBHRVRfTU9ERV9CSVRTSVpFIChtX2lu bmVyX21vZGUpOw0KICAgICBtX2lubmVyX2J5dGVzX3NpemUgPSBHRVRfTU9E RV9TSVpFIChtX2lubmVyX21vZGUpOw0KLSAgICBtX21hc2tfbW9kZSA9IGdl dF9tYXNrX21vZGUgKG1vZGUpLnJlcXVpcmUgKCk7DQorICAgIG1fbWFza19t b2RlID0gZ2V0X21hc2tfbW9kZSAobW9kZSk7DQogICAgIGdjY19hc3NlcnQg KA0KICAgICAgIGludF9tb2RlX2Zvcl9zaXplIChpbm5lcl9iaXRzX3NpemUg KCksIDApLmV4aXN0cyAoJm1faW5uZXJfaW50X21vZGUpKTsNCkBAIC02NzYs NyArNjc2LDcgQEAgdm9pZA0KZW1pdF92bG1heF9pbnNuICh1bnNpZ25lZCBp Y29kZSwgaW50IG9wX251bSwgcnR4ICpvcHMsIHJ0eCB2bCkNCnsNCiAgIG1h Y2hpbmVfbW9kZSBkZXN0X21vZGUgPSBHRVRfTU9ERSAob3BzWzBdKTsNCi0g IG1hY2hpbmVfbW9kZSBtYXNrX21vZGUgPSBnZXRfbWFza19tb2RlIChkZXN0 X21vZGUpLnJlcXVpcmUgKCk7DQorICBtYWNoaW5lX21vZGUgbWFza19tb2Rl ID0gZ2V0X21hc2tfbW9kZSAoZGVzdF9tb2RlKTsNCiAgIGluc25fZXhwYW5k ZXI8UlZWX0lOU05fT1BFUkFORFNfTUFYPiBlIChvcF9udW0sDQogIC8qIEhB U19ERVNUX1AgKi8gdHJ1ZSwNCiAgLyogRlVMTFlfVU5NQVNLRURfUCAqLyB0 cnVlLA0KQEAgLTY5OCw3ICs2OTgsNyBAQCB2b2lkDQplbWl0X3ZsbWF4X2Zw X2luc24gKHVuc2lnbmVkIGljb2RlLCBpbnQgb3BfbnVtLCBydHggKm9wcywg cnR4IHZsKQ0Kew0KICAgbWFjaGluZV9tb2RlIGRlc3RfbW9kZSA9IEdFVF9N T0RFIChvcHNbMF0pOw0KLSAgbWFjaGluZV9tb2RlIG1hc2tfbW9kZSA9IGdl dF9tYXNrX21vZGUgKGRlc3RfbW9kZSkucmVxdWlyZSAoKTsNCisgIG1hY2hp bmVfbW9kZSBtYXNrX21vZGUgPSBnZXRfbWFza19tb2RlIChkZXN0X21vZGUp Ow0KICAgaW5zbl9leHBhbmRlcjxSVlZfSU5TTl9PUEVSQU5EU19NQVg+IGUg KG9wX251bSwNCiAgLyogSEFTX0RFU1RfUCAqLyB0cnVlLA0KICAvKiBGVUxM WV9VTk1BU0tFRF9QICovIHRydWUsDQpAQCAtNzIxLDcgKzcyMSw3IEBAIHZv aWQNCmVtaXRfdmxtYXhfdGVybmFyeV9pbnNuICh1bnNpZ25lZCBpY29kZSwg aW50IG9wX251bSwgcnR4ICpvcHMsIHJ0eCB2bCkNCnsNCiAgIG1hY2hpbmVf bW9kZSBkZXN0X21vZGUgPSBHRVRfTU9ERSAob3BzWzBdKTsNCi0gIG1hY2hp bmVfbW9kZSBtYXNrX21vZGUgPSBnZXRfbWFza19tb2RlIChkZXN0X21vZGUp LnJlcXVpcmUgKCk7DQorICBtYWNoaW5lX21vZGUgbWFza19tb2RlID0gZ2V0 X21hc2tfbW9kZSAoZGVzdF9tb2RlKTsNCiAgIGluc25fZXhwYW5kZXI8UlZW X0lOU05fT1BFUkFORFNfTUFYPiBlICgvKk9QX05VTSovIG9wX251bSwNCiAg LypIQVNfREVTVF9QKi8gdHJ1ZSwNCiAgLypGVUxMWV9VTk1BU0tFRF9QKi8g dHJ1ZSwNCkBAIC03NDIsNyArNzQyLDcgQEAgdm9pZA0KZW1pdF92bG1heF9m cF90ZXJuYXJ5X2luc24gKHVuc2lnbmVkIGljb2RlLCBpbnQgb3BfbnVtLCBy dHggKm9wcywgcnR4IHZsKQ0Kew0KICAgbWFjaGluZV9tb2RlIGRlc3RfbW9k ZSA9IEdFVF9NT0RFIChvcHNbMF0pOw0KLSAgbWFjaGluZV9tb2RlIG1hc2tf bW9kZSA9IGdldF9tYXNrX21vZGUgKGRlc3RfbW9kZSkucmVxdWlyZSAoKTsN CisgIG1hY2hpbmVfbW9kZSBtYXNrX21vZGUgPSBnZXRfbWFza19tb2RlIChk ZXN0X21vZGUpOw0KICAgaW5zbl9leHBhbmRlcjxSVlZfSU5TTl9PUEVSQU5E U19NQVg+IGUgKC8qT1BfTlVNKi8gb3BfbnVtLA0KICAvKkhBU19ERVNUX1Aq LyB0cnVlLA0KICAvKkZVTExZX1VOTUFTS0VEX1AqLyB0cnVlLA0KQEAgLTc2 NCw3ICs3NjQsNyBAQCBzdGF0aWMgdm9pZA0KZW1pdF9ub252bG1heF9mcF90 ZXJuYXJ5X3R1X2luc24gKHVuc2lnbmVkIGljb2RlLCBpbnQgb3BfbnVtLCBy dHggKm9wcywgcnR4IHZsKQ0Kew0KICAgbWFjaGluZV9tb2RlIGRlc3RfbW9k ZSA9IEdFVF9NT0RFIChvcHNbMF0pOw0KLSAgbWFjaGluZV9tb2RlIG1hc2tf bW9kZSA9IGdldF9tYXNrX21vZGUgKGRlc3RfbW9kZSkucmVxdWlyZSAoKTsN CisgIG1hY2hpbmVfbW9kZSBtYXNrX21vZGUgPSBnZXRfbWFza19tb2RlIChk ZXN0X21vZGUpOw0KICAgaW5zbl9leHBhbmRlcjxSVlZfSU5TTl9PUEVSQU5E U19NQVg+IGUgKC8qT1BfTlVNKi8gb3BfbnVtLA0KICAvKkhBU19ERVNUX1Aq LyB0cnVlLA0KICAvKkZVTExZX1VOTUFTS0VEX1AqLyBmYWxzZSwNCkBAIC03 ODYsNyArNzg2LDcgQEAgdm9pZA0KZW1pdF9ub252bG1heF9pbnNuICh1bnNp Z25lZCBpY29kZSwgaW50IG9wX251bSwgcnR4ICpvcHMsIHJ0eCBhdmwpDQp7 DQogICBtYWNoaW5lX21vZGUgZGVzdF9tb2RlID0gR0VUX01PREUgKG9wc1sw XSk7DQotICBtYWNoaW5lX21vZGUgbWFza19tb2RlID0gZ2V0X21hc2tfbW9k ZSAoZGVzdF9tb2RlKS5yZXF1aXJlICgpOw0KKyAgbWFjaGluZV9tb2RlIG1h c2tfbW9kZSA9IGdldF9tYXNrX21vZGUgKGRlc3RfbW9kZSk7DQogICBpbnNu X2V4cGFuZGVyPFJWVl9JTlNOX09QRVJBTkRTX01BWD4gZSAob3BfbnVtLA0K ICAvKiBIQVNfREVTVF9QICovIHRydWUsDQogIC8qIEZVTExZX1VOTUFTS0VE X1AgKi8gdHJ1ZSwNCkBAIC04MDgsNyArODA4LDcgQEAgdm9pZA0KZW1pdF92 bG1heF9zbGlkZV9pbnNuICh1bnNpZ25lZCBpY29kZSwgcnR4ICpvcHMpDQp7 DQogICBtYWNoaW5lX21vZGUgZGVzdF9tb2RlID0gR0VUX01PREUgKG9wc1sw XSk7DQotICBtYWNoaW5lX21vZGUgbWFza19tb2RlID0gZ2V0X21hc2tfbW9k ZSAoZGVzdF9tb2RlKS5yZXF1aXJlICgpOw0KKyAgbWFjaGluZV9tb2RlIG1h c2tfbW9kZSA9IGdldF9tYXNrX21vZGUgKGRlc3RfbW9kZSk7DQogICBpbnNu X2V4cGFuZGVyPFJWVl9JTlNOX09QRVJBTkRTX01BWD4gZSAoUlZWX1NMSURF X09QLA0KICAvKiBIQVNfREVTVF9QICovIHRydWUsDQogIC8qIEZVTExZX1VO TUFTS0VEX1AgKi8gdHJ1ZSwNCkBAIC04MzAsNyArODMwLDcgQEAgdm9pZA0K ZW1pdF9ub252bG1heF9zbGlkZV90dV9pbnNuICh1bnNpZ25lZCBpY29kZSwg cnR4ICpvcHMsIHJ0eCBhdmwpDQp7DQogICBtYWNoaW5lX21vZGUgZGVzdF9t b2RlID0gR0VUX01PREUgKG9wc1swXSk7DQotICBtYWNoaW5lX21vZGUgbWFz a19tb2RlID0gZ2V0X21hc2tfbW9kZSAoZGVzdF9tb2RlKS5yZXF1aXJlICgp Ow0KKyAgbWFjaGluZV9tb2RlIG1hc2tfbW9kZSA9IGdldF9tYXNrX21vZGUg KGRlc3RfbW9kZSk7DQogICBpbnNuX2V4cGFuZGVyPFJWVl9JTlNOX09QRVJB TkRTX01BWD4gZSAoUlZWX1NMSURFX09QLA0KICAvKiBIQVNfREVTVF9QICov IHRydWUsDQogIC8qIEZVTExZX1VOTUFTS0VEX1AgKi8gdHJ1ZSwNCkBAIC04 NTMsNyArODUzLDcgQEAgdm9pZA0KZW1pdF92bG1heF9tZXJnZV9pbnNuICh1 bnNpZ25lZCBpY29kZSwgaW50IG9wX251bSwgcnR4ICpvcHMpDQp7DQogICBt YWNoaW5lX21vZGUgZGVzdF9tb2RlID0gR0VUX01PREUgKG9wc1swXSk7DQot ICBtYWNoaW5lX21vZGUgbWFza19tb2RlID0gZ2V0X21hc2tfbW9kZSAoZGVz dF9tb2RlKS5yZXF1aXJlICgpOw0KKyAgbWFjaGluZV9tb2RlIG1hc2tfbW9k ZSA9IGdldF9tYXNrX21vZGUgKGRlc3RfbW9kZSk7DQogICBpbnNuX2V4cGFu ZGVyPFJWVl9JTlNOX09QRVJBTkRTX01BWD4gZSAob3BfbnVtLA0KICAvKiBI QVNfREVTVF9QICovIHRydWUsDQogIC8qIEZVTExZX1VOTUFTS0VEX1AgKi8g ZmFsc2UsDQpAQCAtOTA4LDcgKzkwOCw3IEBAIHN0YXRpYyB2b2lkDQplbWl0 X3ZsbWF4X21hc2tlZF9pbnNuICh1bnNpZ25lZCBpY29kZSwgaW50IG9wX251 bSwgcnR4ICpvcHMpDQp7DQogICBtYWNoaW5lX21vZGUgZGVzdF9tb2RlID0g R0VUX01PREUgKG9wc1swXSk7DQotICBtYWNoaW5lX21vZGUgbWFza19tb2Rl ID0gZ2V0X21hc2tfbW9kZSAoZGVzdF9tb2RlKS5yZXF1aXJlICgpOw0KKyAg bWFjaGluZV9tb2RlIG1hc2tfbW9kZSA9IGdldF9tYXNrX21vZGUgKGRlc3Rf bW9kZSk7DQogICBpbnNuX2V4cGFuZGVyPFJWVl9JTlNOX09QRVJBTkRTX01B WD4gZSAoLypPUF9OVU0qLyBvcF9udW0sDQogIC8qSEFTX0RFU1RfUCovIHRy dWUsDQogIC8qRlVMTFlfVU5NQVNLRURfUCovIGZhbHNlLA0KQEAgLTkyNiw3 ICs5MjYsNyBAQCBzdGF0aWMgdm9pZA0KZW1pdF9ub252bG1heF9tYXNrZWRf aW5zbiAodW5zaWduZWQgaWNvZGUsIGludCBvcF9udW0sIHJ0eCAqb3BzLCBy dHggYXZsKQ0Kew0KICAgbWFjaGluZV9tb2RlIGRlc3RfbW9kZSA9IEdFVF9N T0RFIChvcHNbMF0pOw0KLSAgbWFjaGluZV9tb2RlIG1hc2tfbW9kZSA9IGdl dF9tYXNrX21vZGUgKGRlc3RfbW9kZSkucmVxdWlyZSAoKTsNCisgIG1hY2hp bmVfbW9kZSBtYXNrX21vZGUgPSBnZXRfbWFza19tb2RlIChkZXN0X21vZGUp Ow0KICAgaW5zbl9leHBhbmRlcjxSVlZfSU5TTl9PUEVSQU5EU19NQVg+IGUg KC8qT1BfTlVNKi8gb3BfbnVtLA0KICAvKkhBU19ERVNUX1AqLyB0cnVlLA0K ICAvKkZVTExZX1VOTUFTS0VEX1AqLyBmYWxzZSwNCkBAIC05NDUsNyArOTQ1 LDcgQEAgc3RhdGljIHZvaWQNCmVtaXRfdmxtYXhfbWFza2VkX3N0b3JlX2lu c24gKHVuc2lnbmVkIGljb2RlLCBpbnQgb3BfbnVtLCBydHggKm9wcykNCnsN CiAgIG1hY2hpbmVfbW9kZSBkZXN0X21vZGUgPSBHRVRfTU9ERSAob3BzWzBd KTsNCi0gIG1hY2hpbmVfbW9kZSBtYXNrX21vZGUgPSBnZXRfbWFza19tb2Rl IChkZXN0X21vZGUpLnJlcXVpcmUgKCk7DQorICBtYWNoaW5lX21vZGUgbWFz a19tb2RlID0gZ2V0X21hc2tfbW9kZSAoZGVzdF9tb2RlKTsNCiAgIGluc25f ZXhwYW5kZXI8UlZWX0lOU05fT1BFUkFORFNfTUFYPiBlICgvKk9QX05VTSov IG9wX251bSwNCiAgLypIQVNfREVTVF9QKi8gZmFsc2UsDQogIC8qRlVMTFlf VU5NQVNLRURfUCovIGZhbHNlLA0KQEAgLTk2MSw3ICs5NjEsNyBAQCBzdGF0 aWMgdm9pZA0KZW1pdF9ub252bG1heF9tYXNrZWRfc3RvcmVfaW5zbiAodW5z aWduZWQgaWNvZGUsIGludCBvcF9udW0sIHJ0eCAqb3BzLCBydHggYXZsKQ0K ew0KICAgbWFjaGluZV9tb2RlIGRlc3RfbW9kZSA9IEdFVF9NT0RFIChvcHNb MF0pOw0KLSAgbWFjaGluZV9tb2RlIG1hc2tfbW9kZSA9IGdldF9tYXNrX21v ZGUgKGRlc3RfbW9kZSkucmVxdWlyZSAoKTsNCisgIG1hY2hpbmVfbW9kZSBt YXNrX21vZGUgPSBnZXRfbWFza19tb2RlIChkZXN0X21vZGUpOw0KICAgaW5z bl9leHBhbmRlcjxSVlZfSU5TTl9PUEVSQU5EU19NQVg+IGUgKC8qT1BfTlVN Ki8gb3BfbnVtLA0KICAvKkhBU19ERVNUX1AqLyBmYWxzZSwNCiAgLypGVUxM WV9VTk1BU0tFRF9QKi8gZmFsc2UsDQpAQCAtOTc4LDcgKzk3OCw3IEBAIHZv aWQNCmVtaXRfdmxtYXhfbWFza2VkX211X2luc24gKHVuc2lnbmVkIGljb2Rl LCBpbnQgb3BfbnVtLCBydHggKm9wcykNCnsNCiAgIG1hY2hpbmVfbW9kZSBk ZXN0X21vZGUgPSBHRVRfTU9ERSAob3BzWzBdKTsNCi0gIG1hY2hpbmVfbW9k ZSBtYXNrX21vZGUgPSBnZXRfbWFza19tb2RlIChkZXN0X21vZGUpLnJlcXVp cmUgKCk7DQorICBtYWNoaW5lX21vZGUgbWFza19tb2RlID0gZ2V0X21hc2tf bW9kZSAoZGVzdF9tb2RlKTsNCiAgIGluc25fZXhwYW5kZXI8UlZWX0lOU05f T1BFUkFORFNfTUFYPiBlICgvKk9QX05VTSovIG9wX251bSwNCiAgLypIQVNf REVTVF9QKi8gdHJ1ZSwNCiAgLypGVUxMWV9VTk1BU0tFRF9QKi8gZmFsc2Us DQpAQCAtOTk2LDcgKzk5Niw3IEBAIHN0YXRpYyB2b2lkDQplbWl0X25vbnZs bWF4X3R1X2luc24gKHVuc2lnbmVkIGljb2RlLCBpbnQgb3BfbnVtLCBydHgg Km9wcywgcnR4IGF2bCkNCnsNCiAgIG1hY2hpbmVfbW9kZSBkZXN0X21vZGUg PSBHRVRfTU9ERSAob3BzWzBdKTsNCi0gIG1hY2hpbmVfbW9kZSBtYXNrX21v ZGUgPSBnZXRfbWFza19tb2RlIChkZXN0X21vZGUpLnJlcXVpcmUgKCk7DQor ICBtYWNoaW5lX21vZGUgbWFza19tb2RlID0gZ2V0X21hc2tfbW9kZSAoZGVz dF9tb2RlKTsNCiAgIGluc25fZXhwYW5kZXI8UlZWX0lOU05fT1BFUkFORFNf TUFYPiBlICgvKk9QX05VTSovIG9wX251bSwNCiAgLypIQVNfREVTVF9QKi8g dHJ1ZSwNCiAgLypGVUxMWV9VTk1BU0tFRF9QKi8gZmFsc2UsDQpAQCAtMTAx NSw3ICsxMDE1LDcgQEAgc3RhdGljIHZvaWQNCmVtaXRfbm9udmxtYXhfZnBf dHVfaW5zbiAodW5zaWduZWQgaWNvZGUsIGludCBvcF9udW0sIHJ0eCAqb3Bz LCBydHggYXZsKQ0Kew0KICAgbWFjaGluZV9tb2RlIGRlc3RfbW9kZSA9IEdF VF9NT0RFIChvcHNbMF0pOw0KLSAgbWFjaGluZV9tb2RlIG1hc2tfbW9kZSA9 IGdldF9tYXNrX21vZGUgKGRlc3RfbW9kZSkucmVxdWlyZSAoKTsNCisgIG1h Y2hpbmVfbW9kZSBtYXNrX21vZGUgPSBnZXRfbWFza19tb2RlIChkZXN0X21v ZGUpOw0KICAgaW5zbl9leHBhbmRlcjxSVlZfSU5TTl9PUEVSQU5EU19NQVg+ IGUgKC8qT1BfTlVNKi8gb3BfbnVtLA0KICAvKkhBU19ERVNUX1AqLyB0cnVl LA0KICAvKkZVTExZX1VOTUFTS0VEX1AqLyBmYWxzZSwNCkBAIC0xMDM2LDcg KzEwMzYsNyBAQCB2b2lkDQplbWl0X3NjYWxhcl9tb3ZlX2luc24gKHVuc2ln bmVkIGljb2RlLCBydHggKm9wcywgcnR4IGxlbikNCnsNCiAgIG1hY2hpbmVf bW9kZSBkZXN0X21vZGUgPSBHRVRfTU9ERSAob3BzWzBdKTsNCi0gIG1hY2hp bmVfbW9kZSBtYXNrX21vZGUgPSBnZXRfbWFza19tb2RlIChkZXN0X21vZGUp LnJlcXVpcmUgKCk7DQorICBtYWNoaW5lX21vZGUgbWFza19tb2RlID0gZ2V0 X21hc2tfbW9kZSAoZGVzdF9tb2RlKTsNCiAgIGluc25fZXhwYW5kZXI8UlZW X0lOU05fT1BFUkFORFNfTUFYPiBlIChSVlZfU0NBTEFSX01PVl9PUCwNCiAg LyogSEFTX0RFU1RfUCAqLyB0cnVlLA0KICAvKiBGVUxMWV9VTk1BU0tFRF9Q ICovIGZhbHNlLA0KQEAgLTExNTYsNyArMTE1Niw3IEBAIHN0YXRpYyB2b2lk DQplbWl0X3ZsbWF4X2NvbXByZXNzX2luc24gKHVuc2lnbmVkIGljb2RlLCBy dHggKm9wcykNCnsNCiAgIG1hY2hpbmVfbW9kZSBkZXN0X21vZGUgPSBHRVRf TU9ERSAob3BzWzBdKTsNCi0gIG1hY2hpbmVfbW9kZSBtYXNrX21vZGUgPSBn ZXRfbWFza19tb2RlIChkZXN0X21vZGUpLnJlcXVpcmUgKCk7DQorICBtYWNo aW5lX21vZGUgbWFza19tb2RlID0gZ2V0X21hc2tfbW9kZSAoZGVzdF9tb2Rl KTsNCiAgIGluc25fZXhwYW5kZXI8UlZWX0lOU05fT1BFUkFORFNfTUFYPiBl IChSVlZfQ09NUFJFU1NfT1AsDQogIC8qIEhBU19ERVNUX1AgKi8gdHJ1ZSwN CiAgLyogRlVMTFlfVU5NQVNLRURfUCAqLyBmYWxzZSwNCkBAIC0xMTc0LDcg KzExNzQsNyBAQCBzdGF0aWMgdm9pZA0KZW1pdF92bG1heF9yZWR1Y3Rpb25f aW5zbiAodW5zaWduZWQgaWNvZGUsIGludCBvcF9udW0sIHJ0eCAqb3BzKQ0K ew0KICAgbWFjaGluZV9tb2RlIGRlc3RfbW9kZSA9IEdFVF9NT0RFIChvcHNb MF0pOw0KLSAgbWFjaGluZV9tb2RlIG1hc2tfbW9kZSA9IGdldF9tYXNrX21v ZGUgKEdFVF9NT0RFIChvcHNbMV0pKS5yZXF1aXJlICgpOw0KKyAgbWFjaGlu ZV9tb2RlIG1hc2tfbW9kZSA9IGdldF9tYXNrX21vZGUgKEdFVF9NT0RFIChv cHNbMV0pKTsNCiAgIGluc25fZXhwYW5kZXI8UlZWX0lOU05fT1BFUkFORFNf TUFYPiBlIChvcF9udW0sDQogIC8qIEhBU19ERVNUX1AgKi8gdHJ1ZSwNCiAg LyogRlVMTFlfVU5NQVNLRURfUCAqLyB0cnVlLA0KQEAgLTExOTIsNyArMTE5 Miw3IEBAIHN0YXRpYyB2b2lkDQplbWl0X3ZsbWF4X2ZwX3JlZHVjdGlvbl9p bnNuICh1bnNpZ25lZCBpY29kZSwgaW50IG9wX251bSwgcnR4ICpvcHMpDQp7 DQogICBtYWNoaW5lX21vZGUgZGVzdF9tb2RlID0gR0VUX01PREUgKG9wc1sw XSk7DQotICBtYWNoaW5lX21vZGUgbWFza19tb2RlID0gZ2V0X21hc2tfbW9k ZSAoR0VUX01PREUgKG9wc1sxXSkpLnJlcXVpcmUgKCk7DQorICBtYWNoaW5l X21vZGUgbWFza19tb2RlID0gZ2V0X21hc2tfbW9kZSAoR0VUX01PREUgKG9w c1sxXSkpOw0KICAgaW5zbl9leHBhbmRlcjxSVlZfSU5TTl9PUEVSQU5EU19N QVg+IGUgKG9wX251bSwNCiAgLyogSEFTX0RFU1RfUCAqLyB0cnVlLA0KICAv KiBGVUxMWV9VTk1BU0tFRF9QICovIHRydWUsDQpAQCAtMTIxMSw3ICsxMjEx LDcgQEAgc3RhdGljIHZvaWQNCmVtaXRfbm9udmxtYXhfZnBfcmVkdWN0aW9u X2luc24gKHVuc2lnbmVkIGljb2RlLCBpbnQgb3BfbnVtLCBydHggKm9wcywg cnR4IHZsKQ0Kew0KICAgbWFjaGluZV9tb2RlIGRlc3RfbW9kZSA9IEdFVF9N T0RFIChvcHNbMF0pOw0KLSAgbWFjaGluZV9tb2RlIG1hc2tfbW9kZSA9IGdl dF9tYXNrX21vZGUgKEdFVF9NT0RFIChvcHNbMV0pKS5yZXF1aXJlICgpOw0K KyAgbWFjaGluZV9tb2RlIG1hc2tfbW9kZSA9IGdldF9tYXNrX21vZGUgKEdF VF9NT0RFIChvcHNbMV0pKTsNCiAgIGluc25fZXhwYW5kZXI8UlZWX0lOU05f T1BFUkFORFNfTUFYPiBlIChvcF9udW0sDQogIC8qIEhBU19ERVNUX1AgKi8g dHJ1ZSwNCiAgLyogRlVMTFlfVU5NQVNLRURfUCAqLyBmYWxzZSwNCkBAIC0x MjQ4LDggKzEyNDgsNyBAQCB2b2lkDQpleHBhbmRfdmVjX3NlcmllcyAocnR4 IGRlc3QsIHJ0eCBiYXNlLCBydHggc3RlcCkNCnsNCiAgIG1hY2hpbmVfbW9k ZSBtb2RlID0gR0VUX01PREUgKGRlc3QpOw0KLSAgbWFjaGluZV9tb2RlIG1h c2tfbW9kZTsNCi0gIGdjY19hc3NlcnQgKGdldF9tYXNrX21vZGUgKG1vZGUp LmV4aXN0cyAoJm1hc2tfbW9kZSkpOw0KKyAgbWFjaGluZV9tb2RlIG1hc2tf bW9kZSA9IGdldF9tYXNrX21vZGUgKG1vZGUpOw0KICAgcG9seV9pbnQ2NCBu dW5pdHNfbTEgPSBHRVRfTU9ERV9OVU5JVFMgKG1vZGUpIC0gMTsNCiAgIHBv bHlfaW50NjQgdmFsdWU7DQpAQCAtMTc4OSwxMCArMTc4OCwxMCBAQCBnZXRf YXZsX3R5cGVfcnR4IChlbnVtIGF2bF90eXBlIHR5cGUpDQovKiBSZXR1cm4g dGhlIGFwcHJvcHJpYXRlIG1hc2sgbW9kZSBmb3IgTU9ERS4gICovDQotb3B0 X21hY2hpbmVfbW9kZQ0KK21hY2hpbmVfbW9kZQ0KZ2V0X21hc2tfbW9kZSAo bWFjaGluZV9tb2RlIG1vZGUpDQp7DQotICByZXR1cm4gZ2V0X3ZlY3Rvcl9t b2RlIChCSW1vZGUsIEdFVF9NT0RFX05VTklUUyAobW9kZSkpOw0KKyAgcmV0 dXJuIGdldF92ZWN0b3JfbW9kZSAoQkltb2RlLCBHRVRfTU9ERV9OVU5JVFMg KG1vZGUpKS5yZXF1aXJlKCk7DQp9DQovKiBSZXR1cm4gdGhlIGFwcHJvcHJp YXRlIE0xIG1vZGUgZm9yIE1PREUuICAqLw0KQEAgLTIzMTgsOCArMjMxNyw3 IEBAIGV4cGFuZF92ZWN0b3JfaW5pdF9pbnNlcnRfZWxlbXMgKHJ0eCB0YXJn ZXQsIGNvbnN0IHJ2dl9idWlsZGVyICZidWlsZGVyLA0KaW50IG5lbHRzX3Jl cWQpDQp7DQogICBtYWNoaW5lX21vZGUgbW9kZSA9IEdFVF9NT0RFICh0YXJn ZXQpOw0KLSAgbWFjaGluZV9tb2RlIG1hc2tfbW9kZTsNCi0gIGdjY19hc3Nl cnQgKGdldF9tYXNrX21vZGUgKG1vZGUpLmV4aXN0cyAoJm1hc2tfbW9kZSkp Ow0KKyAgbWFjaGluZV9tb2RlIG1hc2tfbW9kZSA9IGdldF9tYXNrX21vZGUg KG1vZGUpOw0KICAgcnR4IGR1cCA9IGV4cGFuZF92ZWN0b3JfYnJvYWRjYXN0 IChtb2RlLCBidWlsZGVyLmVsdCAoMCkpOw0KICAgZW1pdF9tb3ZlX2luc24g KHRhcmdldCwgZHVwKTsNCiAgIGludCBuZHVwcyA9IGJ1aWxkZXIuY291bnRf ZHVwcyAoMCwgbmVsdHNfcmVxZCAtIDEsIDEpOw0KQEAgLTIzNDUsOCArMjM0 Myw4IEBAIGV4cGFuZF92ZWN0b3JfaW5pdF9tZXJnZV9yZXBlYXRpbmdfc2Vx dWVuY2UgKHJ0eCB0YXJnZXQsDQogICAgIGNvbnN0IHJ2dl9idWlsZGVyICZi dWlsZGVyKQ0Kew0KICAgbWFjaGluZV9tb2RlIGR1cF9tb2RlID0gZ2V0X3Jl cGVhdGluZ19zZXF1ZW5jZV9kdXBfbWFjaGluZV9tb2RlIChidWlsZGVyKTsN Ci0gIG1hY2hpbmVfbW9kZSBkdXBfbWFza19tb2RlID0gZ2V0X21hc2tfbW9k ZSAoZHVwX21vZGUpLnJlcXVpcmUgKCk7DQotICBtYWNoaW5lX21vZGUgbWFz a19tb2RlID0gZ2V0X21hc2tfbW9kZSAoYnVpbGRlci5tb2RlICgpKS5yZXF1 aXJlICgpOw0KKyAgbWFjaGluZV9tb2RlIGR1cF9tYXNrX21vZGUgPSBnZXRf bWFza19tb2RlIChkdXBfbW9kZSk7DQorICBtYWNoaW5lX21vZGUgbWFza19t b2RlID0gZ2V0X21hc2tfbW9kZSAoYnVpbGRlci5tb2RlICgpKTsNCiAgIHVp bnQ2NF90IGZ1bGxfbmVsdHMgPSBidWlsZGVyLmZ1bGxfbmVsdHMgKCkudG9f Y29uc3RhbnQgKCk7DQogICAvKiBTdGVwIDE6IEJyb2FkY2FzdCB0aGUgZmly c3QgcGF0dGVybi4gICovDQpAQCAtMjc5Niw3ICsyNzk0LDcgQEAgZXhwYW5k X3ZlY19wZXJtIChydHggdGFyZ2V0LCBydHggb3AwLCBydHggb3AxLCBydHgg c2VsKQ0KICAgICAgX19idWlsdGluX3NodWZmbGV2ZWN0b3IgKHZlYzEsIHZl YzIsIGluZGV4Li4uKSwgdGhlIGluZGV4IGNhbiBiZSBhbnkNCiAgICAgIHZh bHVlIGluIHJhbmdlIG9mIFswLCAyICogbnVuaXRzIC0gMV0uICAqLw0KICAg bWFjaGluZV9tb2RlIG1hc2tfbW9kZTsNCi0gIG1hc2tfbW9kZSA9IGdldF9t YXNrX21vZGUgKGRhdGFfbW9kZSkucmVxdWlyZSAoKTsNCisgIG1hc2tfbW9k ZSA9IGdldF9tYXNrX21vZGUgKGRhdGFfbW9kZSk7DQogICBydHggbWFzayA9 IGdlbl9yZWdfcnR4IChtYXNrX21vZGUpOw0KICAgbWF4X3NlbCA9IGdlbl9j b25zdF92ZWN0b3JfZHVwIChzZWxfbW9kZSwgbnVuaXRzKTsNCkBAIC0yODY4 LDcgKzI4NjYsNyBAQCBzaHVmZmxlX21lcmdlX3BhdHRlcm5zIChzdHJ1Y3Qg ZXhwYW5kX3ZlY19wZXJtX2QgKmQpDQogICBpZiAoZC0+dGVzdGluZ19wKQ0K ICAgICByZXR1cm4gdHJ1ZTsNCi0gIG1hY2hpbmVfbW9kZSBtYXNrX21vZGUg PSBnZXRfbWFza19tb2RlICh2bW9kZSkucmVxdWlyZSAoKTsNCisgIG1hY2hp bmVfbW9kZSBtYXNrX21vZGUgPSBnZXRfbWFza19tb2RlICh2bW9kZSk7DQog ICBydHggbWFzayA9IGdlbl9yZWdfcnR4IChtYXNrX21vZGUpOw0KICAgcnR4 IHNlbCA9IHZlY19wZXJtX2luZGljZXNfdG9fcnR4IChzZWxfbW9kZSwgZC0+ cGVybSk7DQpAQCAtMjk4OCw3ICsyOTg2LDcgQEAgc2h1ZmZsZV9jb21wcmVz c19wYXR0ZXJucyAoc3RydWN0IGV4cGFuZF92ZWNfcGVybV9kICpkKQ0KICAg ICByZXR1cm4gZmFsc2U7DQogICAvKiBCdWlsZCBhIG1hc2sgdGhhdCBpcyB0 cnVlIHdoZW4gc2VsZWN0b3IgZWxlbWVudCBpcyB0cnVlLiAgKi8NCi0gIG1h Y2hpbmVfbW9kZSBtYXNrX21vZGUgPSBnZXRfbWFza19tb2RlICh2bW9kZSku cmVxdWlyZSAoKTsNCisgIG1hY2hpbmVfbW9kZSBtYXNrX21vZGUgPSBnZXRf bWFza19tb2RlICh2bW9kZSk7DQogICBydnZfYnVpbGRlciBidWlsZGVyICht YXNrX21vZGUsIHZsZW4sIDEpOw0KICAgZm9yIChpbnQgaSA9IDA7IGkgPCB2 bGVuOyBpKyspDQogICAgIHsNCkBAIC0zMDQwLDcgKzMwMzgsNyBAQCBzdGF0 aWMgYm9vbA0Kc2h1ZmZsZV9kZWNvbXByZXNzX3BhdHRlcm5zIChzdHJ1Y3Qg ZXhwYW5kX3ZlY19wZXJtX2QgKmQpDQp7DQogICBwb2x5X3VpbnQ2NCBuZWx0 ID0gZC0+cGVybS5sZW5ndGggKCk7DQotICBtYWNoaW5lX21vZGUgbWFza19t b2RlID0gZ2V0X21hc2tfbW9kZSAoZC0+dm1vZGUpLnJlcXVpcmUgKCk7DQor ICBtYWNoaW5lX21vZGUgbWFza19tb2RlID0gZ2V0X21hc2tfbW9kZSAoZC0+ dm1vZGUpOw0KICAgLyogRm9yIGNvbnN0YW50IHNpemUgaW5kaWNlcywgd2Ug ZG9udCd0IG5lZWQgdG8gaGFuZGxlIGl0IGhlcmUuDQogICAgICBKdXN0IGxl YXZlIGl0IHRvIHZlY19wZXJtPG1vZGU+LiAgKi8NCkBAIC0zNDk4LDcgKzM0 OTYsNyBAQCBleHBhbmRfcmVkdWN0aW9uIChydHhfY29kZSBjb2RlLCBydHgg Km9wcywgcnR4IGluaXQsIHJlZHVjdGlvbl90eXBlIHR5cGUpDQogICBydHgg dmVjdG9yID0gdHlwZSA9PSByZWR1Y3Rpb25fdHlwZTo6VU5PUkRFUkVEID8g b3BzWzFdIDogb3BzWzJdOw0KICAgbWFjaGluZV9tb2RlIHZtb2RlID0gR0VU X01PREUgKHZlY3Rvcik7DQogICBtYWNoaW5lX21vZGUgbTFfbW9kZSA9IGdl dF9tMV9tb2RlICh2bW9kZSkucmVxdWlyZSAoKTsNCi0gIG1hY2hpbmVfbW9k ZSBtMV9tbW9kZSA9IGdldF9tYXNrX21vZGUgKG0xX21vZGUpLnJlcXVpcmUg KCk7DQorICBtYWNoaW5lX21vZGUgbTFfbW1vZGUgPSBnZXRfbWFza19tb2Rl IChtMV9tb2RlKTsNCiAgIHJ0eCBtMV90bXAgPSBnZW5fcmVnX3J0eCAobTFf bW9kZSk7DQogICBydHggbTFfbWFzayA9IGdlbl9zY2FsYXJfbW92ZV9tYXNr IChtMV9tbW9kZSk7DQpkaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9yaXNjdi9y aXNjdi5jYyBiL2djYy9jb25maWcvcmlzY3YvcmlzY3YuY2MNCmluZGV4IGRj NzhmNGNmOTc3Li4xZWFjY2EwNmI1YyAxMDA2NDQNCi0tLSBhL2djYy9jb25m aWcvcmlzY3YvcmlzY3YuY2MNCisrKyBiL2djYy9jb25maWcvcmlzY3Yvcmlz Y3YuY2MNCkBAIC03NTQxLDkgKzc1NDEsOCBAQCByaXNjdl9zdXBwb3J0X3Zl Y3Rvcl9taXNhbGlnbm1lbnQgKG1hY2hpbmVfbW9kZSBtb2RlLA0Kc3RhdGlj IG9wdF9tYWNoaW5lX21vZGUNCnJpc2N2X2dldF9tYXNrX21vZGUgKG1hY2hp bmVfbW9kZSBtb2RlKQ0Kew0KLSAgbWFjaGluZV9tb2RlIG1hc2tfbW9kZSA9 IFZPSURtb2RlOw0KLSAgaWYgKFRBUkdFVF9WRUNUT1IgJiYgcmlzY3ZfdmVj dG9yOjpnZXRfbWFza19tb2RlIChtb2RlKS5leGlzdHMgKCZtYXNrX21vZGUp KQ0KLSAgICByZXR1cm4gbWFza19tb2RlOw0KKyAgaWYgKFRBUkdFVF9WRUNU T1IgJiYgcmlzY3Zfdl9leHRfbW9kZV9wIChtb2RlKSkNCisgICAgcmV0dXJu IHJpc2N2X3ZlY3Rvcjo6Z2V0X21hc2tfbW9kZSAobW9kZSk7DQogICByZXR1 cm4gZGVmYXVsdF9nZXRfbWFza19tb2RlIChtb2RlKTsNCn0NCi0tIA0KMi40 MC4xDQogDQogDQo= ------=_001_NextPart288221754528_=------