From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtpbgeu2.qq.com (smtpbgeu2.qq.com [18.194.254.142]) by sourceware.org (Postfix) with ESMTPS id 11E743858D20 for ; Wed, 15 Nov 2023 05:04:18 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 11E743858D20 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 11E743858D20 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=18.194.254.142 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1700024667; cv=none; b=wltbMEIxhABByvoD8kPPomjHYWdfNN9Y5CIV9OnnxA41dppnhlqC9SdGrHdFzsiXov2t7f60aYZQeWf0i20VFTt02oGSFxV7pvS7p/ZnPkaCNHkOjZOd7dNwWPnmxobjO258fKoh9n0F4VZVAhzmjT15ksQ65X+J84KStE+X/h4= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1700024667; c=relaxed/simple; bh=UJXIcTkiB7RDxdaJsYHvz6V6f8bE3+QkR96L0+x21Yo=; h=Date:From:To:Subject:Mime-Version:Message-ID; b=xB+ahJcgVxScAWvpLBZorhYieZy8YBraes5A4YJIrBucwlzv/WQY+gzodUZgcGqGmEmH4eQmxf3lDzyIIqlE+r3tHjP/oDqgYMbgkINny6Z9aJG5ngV8jbPMQXACsYbrXKJJC28E52YDQ0wAh+73WCc7NI9lzeyGAQYXXIksQf8= ARC-Authentication-Results: i=1; server2.sourceware.org X-QQ-mid: bizesmtp80t1700024653taxabqkg Received: from LAPTOP-EPITNQBU ( [121.35.182.237]) by bizesmtp.qq.com (ESMTP) with id ; Wed, 15 Nov 2023 13:04:12 +0800 (CST) X-QQ-SSF: 01400000000000G0V000000A0000000 X-QQ-FEAT: dTO4TNSkGg4gWSV8mXz4FCL1AjGBa2hr58TmHSzGRP6KwlxQ13p32pfE0i7f1 i2scknyAhjY6O7nsZQKi0u/VrKCL7teb99N5p/7aWrKeA9kWeH5G13vhQhhdTRpiAazzzEt CfcG73CQaMNn89k/7wb5Hv+IeH/Bp/fw5hVwJcuj0KgQ+W164bHiKTcnvQnQimrWKYHXdbr sw4bFsS1RuMH+c2XK3CfZiCKyLq5ioRFrJrGXkW8IJZZVm9PVlGA8yvO6JYqmmwwWwTdII5 /1CNMdQAnxHVurO6J1wIEsZ1Hbuq9n3L/rJ+65hUJpB6tK1aSmv1aYoEO3/Le9xofINK60D ypfN6kAKuTN3mOW9c5Yuc6+QlYj1DT6ctL7S70cDBrB3giAW1q9JeIk8OMD3Sy+H1e4YwFa DGpiIclX+Ro= X-QQ-GoodBg: 2 X-BIZMAIL-ID: 10809953322165911002 Date: Wed, 15 Nov 2023 13:04:13 +0800 From: "juzhe.zhong@rivai.ai" To: pan2.li , gcc-patches Cc: pan2.li , yanzhang.wang , kito.cheng Subject: Re: [PATCH v1] RISC-V: Refine the mask generation for vec_init case 2 References: <20231115034801.979185-1-pan2.li@intel.com> X-Priority: 3 X-GUID: 0B56CBB8-CA7E-47F3-996F-AEBCC39AFC83 X-Has-Attach: no X-Mailer: Foxmail 7.2.16.188[cn] Mime-Version: 1.0 Message-ID: Content-Type: multipart/alternative; boundary="----=_001_NextPart611016300461_=----" X-QQ-SENDSIZE: 520 Feedback-ID: bizesmtp:rivai.ai:qybglogicsvrgz:qybglogicsvrgz7a-one-0 X-Spam-Status: No, score=-8.0 required=5.0 tests=BAYES_00,GIT_PATCH_0,HTML_MESSAGE,KAM_DMARC_STATUS,KAM_NUMSUBJECT,KAM_SHORT,MIME_BASE64_TEXT,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SCC_10_SHORT_WORD_LINES,SCC_5_SHORT_WORD_LINES,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE,T_SPF_HELO_TEMPERROR 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_NextPart611016300461_=---- Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: base64 Q291bGQgeW91IHRlc3QgaXQgIHY0MDk2cWkgPw0KQWxzbywgVkxTIG1vZGVz IG5lZWQgdG8gYmUgdGVzdGVkLg0KDQoNCg0KanV6aGUuemhvbmdAcml2YWku YWkNCiANCkZyb206IHBhbjIubGkNCkRhdGU6IDIwMjMtMTEtMTUgMTE6NDgN ClRvOiBnY2MtcGF0Y2hlcw0KQ0M6IGp1emhlLnpob25nOyBwYW4yLmxpOyB5 YW56aGFuZy53YW5nOyBraXRvLmNoZW5nDQpTdWJqZWN0OiBbUEFUQ0ggdjFd IFJJU0MtVjogUmVmaW5lIHRoZSBtYXNrIGdlbmVyYXRpb24gZm9yIHZlY19p bml0IGNhc2UgMg0KRnJvbTogUGFuIExpIDxwYW4yLmxpQGludGVsLmNvbT4N CiANCldlIHRha2UgdmVjX2luaXQgZWxlbWVudCBpbnQgbW9kZSB3aGVuIGdl bmVyYXRlIHRoZSBtYXNrIGZvcg0KY2FzZSAyLiBCdXQgYWN0dWFsbHkgd2Ug ZG9uJ3QgbmVlZCBhcyBtYW55IGJpdHMgYXMgdGhlIGVsZW1lbnQuDQpUaGUg ZXh0cmEgYmlnZ2VyIG1vZGUgbWF5IGludHJvZHVjZSBzb21lIHVubmVjZXNz YXJ5IGluc25zLg0KRm9yIGV4YW1wbGUgYXMgYmVsb3cgY29kZToNCiANCnR5 cGVkZWYgaW50NjRfdCB2MTZkaSBfX2F0dHJpYnV0ZV9fICgodmVjdG9yX3Np emUgKDE2ICogOCkpKTsNCiANCnZvaWQgX19hdHRyaWJ1dGVfXyAoKG5vaW5s aW5lLCBub2Nsb25lKSkNCiAgZm9vIChpbnQ2NF90ICpvdXQsIGludDY0X3Qg eCwgaW50NjRfdCB5KQ0Kew0KICB2MTZkaSB2ID0ge3ksIHgsIHksIHgsIHks IHgsIHksIHgsIHksIHgsIHksIHgsIHksIHgsIHksIHh9Ow0KICAqKHYxNmRp ICopIG91dCA9IHY7DQp9DQogDQpXZSB3aWxsIGhhdmUgVkRJbW9kZSB3aGVu IGdlbmVyYXRlIHRoZSAwYjAxMDEwMTAxMDEwMTAxMDEgbWFzayBidXQNCmFj dHVhbGx5IFZISW1vZGUgaXMgZ29vZCBlbm91Z2ggaGVyZS4gVGhpcyBwYXRj aCB3b3VsZCBsaWtlIHRvDQpyZWZpbmUgdGhlIG1hc2sgZ2VuZXJhdGlvbiB0 byBhdm9pZDoNCjEuIFVubmVjZXNzYXJ5IHNjYWxhciB0byBnZW5lcmF0ZSBi aWcgY29uc3RhbnQgbWFzay4NCjIuIFVubmVjZXNzYXJ5IHZlY3RvciBpbnNu IHRvIHYwIG1hc2suDQogDQpCZWZvcmUgdGhpcyBwYXRjaDoNCmZvbzoNCiAg bGkgICAgICBhNSwtMTQzMTY1NDQwMA0KICBsaSAgICAgIGE0LC0xNDMxNjU0 NDAwICAgICAgICAgICAgICAgPD09IHVubmVjZXNzYXJ5IGluc24NCiAgYWRk aSAgICBhNSxhNSwtMTM2NSAgICAgICAgICAgICAgICAgIDw9PSB1bm5lY2Vz c2FyeSBpbnNuDQogIGFkZGkgICAgYTQsYTQsLTEzNjYNCiAgc2xsaSAgICBh NSxhNSwzMiAgICAgICAgICAgICAgICAgICAgIDw9PSB1bm5lY2Vzc2FyeSBp bnNuDQogIGFkZCAgICAgYTUsYTUsYTQgICAgICAgICAgICAgICAgICAgICA8 PT0gdW5uZWNlc3NhcnkgaW5zbg0KICB2c2V0aXZsaSAgICAgICAgemVybywx NixlNjQsbTgsdGEsbWENCiAgdm12LnYueCB2OCxhMg0KICB2bXYucy54IHYx NixhNQ0KICB2bXYxci52IHYwLHYxNiAgICAgICAgICAgICAgICAgICAgICAg PD09IHVubmVjZXNzYXJ5IGluc24NCiAgdm1lcmdlLnZ4bSAgICAgIHY4LHY4 LGExLHYwDQogIHZzZTY0LnYgdjgsMChhMCkNCiAgcmV0DQogDQpBZnRlciB0 aGlzIHBhdGNoOg0KZm9vOg0KICBsaSAgICAgIGE1LC0yMDQ4MA0KICBhZGRp dyAgIGE1LGE1LC0xMzY2DQogIHZzZXRpdmxpICAgICAgICB6ZXJvLDE2LGU2 NCxtOCx0YSxtYQ0KICB2bXYucy54IHYwLGE1DQogIHZtdi52LnggdjgsYTIN CiAgdm1lcmdlLnZ4bSAgICAgIHY4LHY4LGExLHYwDQogIHZzOHIudiAgdjgs MChhMCkNCiAgcmV0DQogDQpnY2MvQ2hhbmdlTG9nOg0KIA0KKiBjb25maWcv cmlzY3YvcmlzY3Ytdi5jYyAocnZ2X2J1aWxkZXI6OmdldF9tZXJnZV9zY2Fs YXJfbWFzayk6DQpBZGQgaW5uZXJfbW9kZSBtYXNrIGFyZyBmb3IgbWFzayBp bnQgbW9kZS4NCihnZXRfcmVwZWF0aW5nX3NlcXVlbmNlX2R1cF9tYWNoaW5l X21vZGUpOiBBZGQgbWFza19iaXRfbW9kZSBhcmcNCnRvIGdldCB0aGUgZ29v ZCBlbm91Z2ggdmVjdG9yIGludCBtb2RlIG9uIHByZWNpc2lvbi4NCihleHBh bmRfdmVjdG9yX2luaXRfbWVyZ2VfcmVwZWF0aW5nX3NlcXVlbmNlKTogUGFz cyByZXF1aXJlZCBhcmdzDQp0byBhYm92ZSBmdW5jLg0KIA0KZ2NjL3Rlc3Rz dWl0ZS9DaGFuZ2VMb2c6DQogDQoqIGdjYy50YXJnZXQvcmlzY3YvcnZ2L2F1 dG92ZWMvdmxzLXZsbWF4L2luaXQtcmVwZWF0LXNlcXVlbmNlLTEwLmM6IE5l dyB0ZXN0Lg0KKiBnY2MudGFyZ2V0L3Jpc2N2L3J2di9hdXRvdmVjL3Zscy12 bG1heC9pbml0LXJlcGVhdC1zZXF1ZW5jZS0xMS5jOiBOZXcgdGVzdC4NCiog Z2NjLnRhcmdldC9yaXNjdi9ydnYvYXV0b3ZlYy92bHMtdmxtYXgvaW5pdC1y ZXBlYXQtc2VxdWVuY2UtNi5jOiBOZXcgdGVzdC4NCiogZ2NjLnRhcmdldC9y aXNjdi9ydnYvYXV0b3ZlYy92bHMtdmxtYXgvaW5pdC1yZXBlYXQtc2VxdWVu Y2UtNy5jOiBOZXcgdGVzdC4NCiogZ2NjLnRhcmdldC9yaXNjdi9ydnYvYXV0 b3ZlYy92bHMtdmxtYXgvaW5pdC1yZXBlYXQtc2VxdWVuY2UtOC5jOiBOZXcg dGVzdC4NCiogZ2NjLnRhcmdldC9yaXNjdi9ydnYvYXV0b3ZlYy92bHMtdmxt YXgvaW5pdC1yZXBlYXQtc2VxdWVuY2UtOS5jOiBOZXcgdGVzdC4NCiANClNp Z25lZC1vZmYtYnk6IFBhbiBMaSA8cGFuMi5saUBpbnRlbC5jb20+DQotLS0N CmdjYy9jb25maWcvcmlzY3YvcmlzY3Ytdi5jYyAgICAgICAgICAgICAgICAg ICB8IDU0ICsrKysrKysrKysrKysrLS0tLS0NCi4uLi92bHMtdmxtYXgvaW5p dC1yZXBlYXQtc2VxdWVuY2UtMTAuYyAgICAgICB8IDI4ICsrKysrKysrKysN Ci4uLi92bHMtdmxtYXgvaW5pdC1yZXBlYXQtc2VxdWVuY2UtMTEuYyAgICAg ICB8IDI2ICsrKysrKysrKw0KLi4uL3Zscy12bG1heC9pbml0LXJlcGVhdC1z ZXF1ZW5jZS02LmMgICAgICAgIHwgMjcgKysrKysrKysrKw0KLi4uL3Zscy12 bG1heC9pbml0LXJlcGVhdC1zZXF1ZW5jZS03LmMgICAgICAgIHwgMjUgKysr KysrKysrDQouLi4vdmxzLXZsbWF4L2luaXQtcmVwZWF0LXNlcXVlbmNlLTgu YyAgICAgICAgfCAyNyArKysrKysrKysrDQouLi4vdmxzLXZsbWF4L2luaXQt cmVwZWF0LXNlcXVlbmNlLTkuYyAgICAgICAgfCAyNSArKysrKysrKysNCjcg ZmlsZXMgY2hhbmdlZCwgMjAwIGluc2VydGlvbnMoKyksIDEyIGRlbGV0aW9u cygtKQ0KY3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3VpdGUvZ2NjLnRh cmdldC9yaXNjdi9ydnYvYXV0b3ZlYy92bHMtdmxtYXgvaW5pdC1yZXBlYXQt c2VxdWVuY2UtMTAuYw0KY3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3Vp dGUvZ2NjLnRhcmdldC9yaXNjdi9ydnYvYXV0b3ZlYy92bHMtdmxtYXgvaW5p dC1yZXBlYXQtc2VxdWVuY2UtMTEuYw0KY3JlYXRlIG1vZGUgMTAwNjQ0IGdj Yy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9ydnYvYXV0b3ZlYy92bHMt dmxtYXgvaW5pdC1yZXBlYXQtc2VxdWVuY2UtNi5jDQpjcmVhdGUgbW9kZSAx MDA2NDQgZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2di9hdXRv dmVjL3Zscy12bG1heC9pbml0LXJlcGVhdC1zZXF1ZW5jZS03LmMNCmNyZWF0 ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3Yv cnZ2L2F1dG92ZWMvdmxzLXZsbWF4L2luaXQtcmVwZWF0LXNlcXVlbmNlLTgu Yw0KY3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdl dC9yaXNjdi9ydnYvYXV0b3ZlYy92bHMtdmxtYXgvaW5pdC1yZXBlYXQtc2Vx dWVuY2UtOS5jDQogDQpkaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9yaXNjdi9y aXNjdi12LmNjIGIvZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi12LmNjDQppbmRl eCAyNjVhMjk4ZjQ0Ny4uZmZiNjQ1ZWNjZjMgMTAwNjQ0DQotLS0gYS9nY2Mv Y29uZmlnL3Jpc2N2L3Jpc2N2LXYuY2MNCisrKyBiL2djYy9jb25maWcvcmlz Y3YvcmlzY3Ytdi5jYw0KQEAgLTQxNiw3ICs0MTYsNyBAQCBwdWJsaWM6DQog ICBib29sIHJlcGVhdGluZ19zZXF1ZW5jZV91c2VfbWVyZ2VfcHJvZml0YWJs ZV9wICgpOw0KICAgYm9vbCBjb21iaW5lX3NlcXVlbmNlX3VzZV9zbGlkZXVw X3Byb2ZpdGFibGVfcCAoKTsNCiAgIGJvb2wgY29tYmluZV9zZXF1ZW5jZV91 c2VfbWVyZ2VfcHJvZml0YWJsZV9wICgpOw0KLSAgcnR4IGdldF9tZXJnZV9z Y2FsYXJfbWFzayAodW5zaWduZWQgaW50KSBjb25zdDsNCisgIHJ0eCBnZXRf bWVyZ2Vfc2NhbGFyX21hc2sgKHVuc2lnbmVkIGludCwgbWFjaGluZV9tb2Rl KSBjb25zdDsNCiAgIGJvb2wgc2luZ2xlX3N0ZXBfbnBhdHRlcm5zX3AgKCkg Y29uc3Q7DQogICBib29sIG5wYXR0ZXJuc19hbGxfZXF1YWxfcCAoKSBjb25z dDsNCkBAIC01OTIsNyArNTkyLDggQEAgcnZ2X2J1aWxkZXI6OmdldF9tZXJn ZWRfcmVwZWF0aW5nX3NlcXVlbmNlICgpDQogICAgVG8gbWVyZ2UgImIiLCB0 aGUgbWFzayBzaG91bGQgYmUgMDEwMS4uLi4NCiovDQpydHgNCi1ydnZfYnVp bGRlcjo6Z2V0X21lcmdlX3NjYWxhcl9tYXNrICh1bnNpZ25lZCBpbnQgaW5k ZXhfaW5fcGF0dGVybikgY29uc3QNCitydnZfYnVpbGRlcjo6Z2V0X21lcmdl X3NjYWxhcl9tYXNrICh1bnNpZ25lZCBpbnQgaW5kZXhfaW5fcGF0dGVybiwN CisgICAgIG1hY2hpbmVfbW9kZSBpbm5lcl9tb2RlKSBjb25zdA0Kew0KICAg dW5zaWduZWQgSE9TVF9XSURFX0lOVCBtYXNrID0gMDsNCiAgIHVuc2lnbmVk IEhPU1RfV0lERV9JTlQgYmFzZV9tYXNrID0gKDFVTEwgPDwgaW5kZXhfaW5f cGF0dGVybik7DQpAQCAtNjExLDcgKzYxMiw3IEBAIHJ2dl9idWlsZGVyOjpn ZXRfbWVyZ2Vfc2NhbGFyX21hc2sgKHVuc2lnbmVkIGludCBpbmRleF9pbl9w YXR0ZXJuKSBjb25zdA0KICAgZm9yIChpbnQgaSA9IDA7IGkgPCBsaW1pdDsg aSsrKQ0KICAgICBtYXNrIHw9IGJhc2VfbWFzayA8PCAoaSAqIG5wYXR0ZXJu cyAoKSk7DQotICByZXR1cm4gZ2VuX2ludF9tb2RlIChtYXNrLCBpbm5lcl9p bnRfbW9kZSAoKSk7DQorICByZXR1cm4gZ2VuX2ludF9tb2RlIChtYXNrLCBp bm5lcl9tb2RlKTsNCn0NCi8qIFJldHVybiB0cnVlIGlmIHRoZSB2YXJpYWJs ZS1sZW5ndGggdmVjdG9yIGlzIHNpbmdsZSBzdGVwLg0KQEAgLTkxOSwxNyAr OTIwLDQ1IEBAIGVtaXRfdmxtYXhfZGVjb21wcmVzc19pbnNuIChydHggdGFy Z2V0LCBydHggb3AwLCBydHggb3AxLCBydHggbWFzaykNCi8qIEVtaXQgbWVy Z2UgaW5zdHJ1Y3Rpb24uICAqLw0Kc3RhdGljIG1hY2hpbmVfbW9kZQ0KLWdl dF9yZXBlYXRpbmdfc2VxdWVuY2VfZHVwX21hY2hpbmVfbW9kZSAoY29uc3Qg cnZ2X2J1aWxkZXIgJmJ1aWxkZXIpDQorZ2V0X3JlcGVhdGluZ19zZXF1ZW5j ZV9kdXBfbWFjaGluZV9tb2RlIChjb25zdCBydnZfYnVpbGRlciAmYnVpbGRl ciwNCisgbWFjaGluZV9tb2RlIG1hc2tfYml0X21vZGUpDQp7DQotICBwb2x5 X3VpbnQ2NCBkdXBfbnVuaXRzID0gR0VUX01PREVfTlVOSVRTIChidWlsZGVy Lm1vZGUgKCkpOw0KKyAgdW5zaWduZWQgbWFza19wcmVjaXNpb24gPSBHRVRf TU9ERV9QUkVDSVNJT04gKG1hc2tfYml0X21vZGUpLnRvX2NvbnN0YW50ICgp Ow0KKyAgdW5zaWduZWQgbWFza19zY2FsYXJfc2l6ZSA9IG1hc2tfcHJlY2lz aW9uID4gYnVpbGRlci5pbm5lcl9iaXRzX3NpemUgKCkNCisgICAgPyBidWls ZGVyLmlubmVyX2JpdHNfc2l6ZSAoKSA6IG1hc2tfcHJlY2lzaW9uOw0KLSAg aWYgKGtub3duX2dlIChHRVRfTU9ERV9TSVpFIChidWlsZGVyLm1vZGUgKCkp LCBCWVRFU19QRVJfUklTQ1ZfVkVDVE9SKSkNCisgIHNjYWxhcl9tb2RlIGlu bmVyX21vZGU7DQorICB1bnNpZ25lZCBtaW5pbWFsX2JpdHNfc2l6ZTsNCisN CisgIHN3aXRjaCAobWFza19zY2FsYXJfc2l6ZSkNCiAgICAgew0KLSAgICAg IGR1cF9udW5pdHMgPSBleGFjdF9kaXYgKEJZVEVTX1BFUl9SSVNDVl9WRUNU T1IsDQotIGJ1aWxkZXIuaW5uZXJfYnl0ZXNfc2l6ZSAoKSk7DQorICAgICAg Y2FzZSA4Og0KKyBpbm5lcl9tb2RlID0gUUltb2RlOw0KKyBtaW5pbWFsX2Jp dHNfc2l6ZSA9IFRBUkdFVF9NSU5fVkxFTiAvIDg7IC8qIEFLQSBSVlZNRjgu ICAqLw0KKyBicmVhazsNCisgICAgICBjYXNlIDE2Og0KKyBpbm5lcl9tb2Rl ID0gSEltb2RlOw0KKyBtaW5pbWFsX2JpdHNfc2l6ZSA9IFRBUkdFVF9NSU5f VkxFTiAvIDQ7IC8qIEFLQSBSVlZNRjQuICAqLw0KKyBicmVhazsNCisgICAg ICBjYXNlIDMyOg0KKyBpbm5lcl9tb2RlID0gU0ltb2RlOw0KKyBtaW5pbWFs X2JpdHNfc2l6ZSA9IFRBUkdFVF9NSU5fVkxFTiAvIDI7IC8qIEFLQSBSVlZN RjIuICAqLw0KKyBicmVhazsNCisgICAgICBjYXNlIDY0Og0KKyBpbm5lcl9t b2RlID0gREltb2RlOw0KKyBtaW5pbWFsX2JpdHNfc2l6ZSA9IFRBUkdFVF9N SU5fVkxFTiAvIDE7IC8qIEFLQSBSVlZNMS4gICovDQorIGJyZWFrOw0KKyAg ICAgIGRlZmF1bHQ6DQorIGdjY191bnJlYWNoYWJsZSAoKTsNCisgYnJlYWs7 DQogICAgIH0NCi0gIHJldHVybiBnZXRfdmVjdG9yX21vZGUgKGJ1aWxkZXIu aW5uZXJfaW50X21vZGUgKCksIGR1cF9udW5pdHMpLnJlcXVpcmUgKCk7DQor ICBnY2NfYXNzZXJ0IChtYXNrX3ByZWNpc2lvbiAlIG1hc2tfc2NhbGFyX3Np emUgPT0gMCk7DQorDQorICB1aW50NjRfdCBkdXBfbnVuaXQgPSBtYXNrX3By ZWNpc2lvbiA+IG1hc2tfc2NhbGFyX3NpemUNCisgICAgPyBtYXNrX3ByZWNp c2lvbiAvIG1hc2tfc2NhbGFyX3NpemUgOiBtaW5pbWFsX2JpdHNfc2l6ZSAv IG1hc2tfc2NhbGFyX3NpemU7DQorDQorICByZXR1cm4gZ2V0X3ZlY3Rvcl9t b2RlIChpbm5lcl9tb2RlLCBkdXBfbnVuaXQpLnJlcXVpcmUgKCk7DQp9DQov KiBFeHBhbmQgc2VyaWVzIGNvbnN0IHZlY3Rvci4gICovDQpAQCAtMjEzMCw5 ICsyMTU5LDkgQEAgZXhwYW5kX3ZlY3Rvcl9pbml0X21lcmdlX3JlcGVhdGlu Z19zZXF1ZW5jZSAocnR4IHRhcmdldCwNCiAgICAgIHNpbmNlIHdlIGRvbid0 IGhhdmUgc3VjaCBpbnN0cnVjdGlvbiBpbiBSVlYuDQogICAgICBJbnN0ZWFk LCB3ZSBzaG91bGQgdXNlIElOVCBtb2RlIChRSS9ISS9TSS9ESSkgd2l0aCBp bnRlZ2VyIG1vdmUNCiAgICAgIGluc3RydWN0aW9uIHRvIGdlbmVyYXRlIHRo ZSBtYXNrIGRhdGEgd2Ugd2FudC4gICovDQotICBtYWNoaW5lX21vZGUgbWFz a19pbnRfbW9kZQ0KLSAgICA9IGdldF9yZXBlYXRpbmdfc2VxdWVuY2VfZHVw X21hY2hpbmVfbW9kZSAoYnVpbGRlcik7DQogICBtYWNoaW5lX21vZGUgbWFz a19iaXRfbW9kZSA9IGdldF9tYXNrX21vZGUgKGJ1aWxkZXIubW9kZSAoKSk7 DQorICBtYWNoaW5lX21vZGUgbWFza19pbnRfbW9kZQ0KKyAgICA9IGdldF9y ZXBlYXRpbmdfc2VxdWVuY2VfZHVwX21hY2hpbmVfbW9kZSAoYnVpbGRlciwg bWFza19iaXRfbW9kZSk7DQogICB1aW50NjRfdCBmdWxsX25lbHRzID0gYnVp bGRlci5mdWxsX25lbHRzICgpLnRvX2NvbnN0YW50ICgpOw0KICAgLyogU3Rl cCAxOiBCcm9hZGNhc3QgdGhlIGZpcnN0IHBhdHRlcm4uICAqLw0KQEAgLTIx NDMsNyArMjE3Miw4IEBAIGV4cGFuZF92ZWN0b3JfaW5pdF9tZXJnZV9yZXBl YXRpbmdfc2VxdWVuY2UgKHJ0eCB0YXJnZXQsDQogICBmb3IgKHVuc2lnbmVk IGludCBpID0gMTsgaSA8IGJ1aWxkZXIubnBhdHRlcm5zICgpOyBpKyspDQog ICAgIHsNCiAgICAgICAvKiBTdGVwIDItMTogR2VuZXJhdGUgbWFzayByZWdp c3RlciB2MCBmb3IgZWFjaCBtZXJnZS4gICovDQotICAgICAgcnR4IG1lcmdl X21hc2sgPSBidWlsZGVyLmdldF9tZXJnZV9zY2FsYXJfbWFzayAoaSk7DQor ICAgICAgcnR4IG1lcmdlX21hc2sNCisgPSBidWlsZGVyLmdldF9tZXJnZV9z Y2FsYXJfbWFzayAoaSwgR0VUX01PREVfSU5ORVIgKG1hc2tfaW50X21vZGUp KTsNCiAgICAgICBydHggbWFzayA9IGdlbl9yZWdfcnR4IChtYXNrX2JpdF9t b2RlKTsNCiAgICAgICBydHggZHVwID0gZ2VuX3JlZ19ydHggKG1hc2tfaW50 X21vZGUpOw0KZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdl dC9yaXNjdi9ydnYvYXV0b3ZlYy92bHMtdmxtYXgvaW5pdC1yZXBlYXQtc2Vx dWVuY2UtMTAuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9y dnYvYXV0b3ZlYy92bHMtdmxtYXgvaW5pdC1yZXBlYXQtc2VxdWVuY2UtMTAu Yw0KbmV3IGZpbGUgbW9kZSAxMDA2NDQNCmluZGV4IDAwMDAwMDAwMDAwLi5j Y2NlNTA1MmRjMg0KLS0tIC9kZXYvbnVsbA0KKysrIGIvZ2NjL3Rlc3RzdWl0 ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2di9hdXRvdmVjL3Zscy12bG1heC9pbml0 LXJlcGVhdC1zZXF1ZW5jZS0xMC5jDQpAQCAtMCwwICsxLDI4IEBADQorLyog eyBkZy1kbyBjb21waWxlIH0gKi8NCisvKiB7IGRnLWFkZGl0aW9uYWwtb3B0 aW9ucyAiLW1hcmNoPXJ2NjRnY3ZfenZsMTAyNGIgLW1hYmk9bHA2NGQgLWZu by1zY2hlZHVsZS1pbnNucyAtZm5vLXNjaGVkdWxlLWluc25zMiIgfSAqLw0K Ky8qIHsgZGctZmluYWwgeyBjaGVjay1mdW5jdGlvbi1ib2RpZXMgIioqIiAi IiB9IH0gKi8NCisNCisjaW5jbHVkZSA8c3RkaW50LWdjYy5oPg0KKw0KK3R5 cGVkZWYgaW50NjRfdCB2bngzMmRpIF9fYXR0cmlidXRlX18gKCh2ZWN0b3Jf c2l6ZSAoMzIgKiA4KSkpOw0KKw0KKy8qDQorKiogZl92bngzMmRpOg0KKyoq ICAgdnNldHZsaVxzK1theHRdWzAtOV0rLFxzKnplcm8sXHMqZTY0LFxzKm0y LFxzKnRhLFxzKm1hDQorKiogICAuLi4NCisqKiAgIHZtdlwudlwueFxzK3Zb MC05XSssXHMqW2F4dF1bMC05XSsNCisqKiAgIC4uLg0KKyoqICAgdm12XC5z XC54XHMrdjAsXHMqW2F4dF1bMC05XSsNCisqKiAgIHZtZXJnZVwudnhtXHMr dlswLTldKyxccyp2WzAtOV0rLFxzKltheHRdWzAtOV0rLFxzKnYwDQorKiog ICB2czJyXC52XHMrdlswLTldKyxccyowXChbYXh0XVswLTldK1wpDQorKiog ICByZXQNCisqLw0KK19fYXR0cmlidXRlX18gKChub2lwYSkpIHZvaWQNCitm X3ZueDMyZGkgKGludDY0X3QgYSwgaW50NjRfdCBiLCBpbnQ2NF90ICpvdXQp DQorew0KKyAgdm54MzJkaSB2ID0gew0KKyAgICBhLCBiLCBhLCBiLCBhLCBi LCBhLCBiLCBhLCBiLCBhLCBiLCBhLCBiLCBhLCBiLA0KKyAgICBhLCBiLCBh LCBiLCBhLCBiLCBhLCBiLCBhLCBiLCBhLCBiLCBhLCBiLCBhLCBiLA0KKyAg fTsNCisgICoodm54MzJkaSAqKSBvdXQgPSB2Ow0KK30NCmRpZmYgLS1naXQg YS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcnZ2L2F1dG92ZWMv dmxzLXZsbWF4L2luaXQtcmVwZWF0LXNlcXVlbmNlLTExLmMgYi9nY2MvdGVz dHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcnZ2L2F1dG92ZWMvdmxzLXZsbWF4 L2luaXQtcmVwZWF0LXNlcXVlbmNlLTExLmMNCm5ldyBmaWxlIG1vZGUgMTAw NjQ0DQppbmRleCAwMDAwMDAwMDAwMC4uYTYyZWVlOGE1YWUNCi0tLSAvZGV2 L251bGwNCisrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9y dnYvYXV0b3ZlYy92bHMtdmxtYXgvaW5pdC1yZXBlYXQtc2VxdWVuY2UtMTEu Yw0KQEAgLTAsMCArMSwyNiBAQA0KKy8qIHsgZGctZG8gY29tcGlsZSB9ICov DQorLyogeyBkZy1hZGRpdGlvbmFsLW9wdGlvbnMgIi1tYXJjaD1ydjY0Z2N2 X3p2bDEwMjRiIC1tYWJpPWxwNjRkIC1mbm8tc2NoZWR1bGUtaW5zbnMgLWZu by1zY2hlZHVsZS1pbnNuczIiIH0gKi8NCisvKiB7IGRnLWZpbmFsIHsgY2hl Y2stZnVuY3Rpb24tYm9kaWVzICIqKiIgIiIgfSB9ICovDQorDQordHlwZWRl ZiBkb3VibGUgdm54MzJkZiBfX2F0dHJpYnV0ZV9fICgodmVjdG9yX3NpemUg KDMyICogOCkpKTsNCisNCisvKg0KKyoqIGZfdm54MzJkZjoNCisqKiAgIHZz ZXR2bGlccytbYXh0XVswLTldK1xzKix6ZXJvLFxzKmU2NCxccyptMixccyp0 YSxccyptYQ0KKyoqICAgLi4uDQorKiogICB2Zm12XC52XC5mXHMrdlswLTld KyxccypbYWZdK1swLTldKw0KKyoqICAgLi4uDQorKiogICB2bXZcLnNcLnhc cyt2MCxccypbYXh0XVswLTldKw0KKyoqICAgdmZtZXJnZVwudmZtXHMrdlsw LTldKyxccyp2WzAtOV0rLFxzKlthZl0rWzAtOV0rLFxzKnYwDQorKiogICB2 czJyXC52XHMrdlswLTldKyxccyowXChbYXh0XVswLTldK1wpDQorKiogICBy ZXQNCisqLw0KK19fYXR0cmlidXRlX18gKChub2lwYSkpIHZvaWQNCitmX3Zu eDMyZGYgKGRvdWJsZSBhLCBkb3VibGUgYiwgZG91YmxlICpvdXQpDQorew0K KyAgdm54MzJkZiB2ID0gew0KKyAgICBhLCBiLCBhLCBiLCBhLCBiLCBhLCBi LCBhLCBiLCBhLCBiLCBhLCBiLCBhLCBiLA0KKyAgICBhLCBiLCBhLCBiLCBh LCBiLCBhLCBiLCBhLCBiLCBhLCBiLCBhLCBiLCBhLCBiLA0KKyAgfTsNCisg ICoodm54MzJkZiAqKSBvdXQgPSB2Ow0KK30NCmRpZmYgLS1naXQgYS9nY2Mv dGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcnZ2L2F1dG92ZWMvdmxzLXZs bWF4L2luaXQtcmVwZWF0LXNlcXVlbmNlLTYuYyBiL2djYy90ZXN0c3VpdGUv Z2NjLnRhcmdldC9yaXNjdi9ydnYvYXV0b3ZlYy92bHMtdmxtYXgvaW5pdC1y ZXBlYXQtc2VxdWVuY2UtNi5jDQpuZXcgZmlsZSBtb2RlIDEwMDY0NA0KaW5k ZXggMDAwMDAwMDAwMDAuLjRmOGE3OGIzMTYxDQotLS0gL2Rldi9udWxsDQor KysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcnZ2L2F1dG92 ZWMvdmxzLXZsbWF4L2luaXQtcmVwZWF0LXNlcXVlbmNlLTYuYw0KQEAgLTAs MCArMSwyNyBAQA0KKy8qIHsgZGctZG8gY29tcGlsZSB9ICovDQorLyogeyBk Zy1hZGRpdGlvbmFsLW9wdGlvbnMgIi1tYXJjaD1ydjY0Z2N2IC1tYWJpPWxw NjRkIC1mbm8tc2NoZWR1bGUtaW5zbnMgLWZuby1zY2hlZHVsZS1pbnNuczIi IH0gKi8NCisvKiB7IGRnLWZpbmFsIHsgY2hlY2stZnVuY3Rpb24tYm9kaWVz ICIqKiIgIiIgfSB9ICovDQorDQorI2luY2x1ZGUgPHN0ZGludC1nY2MuaD4N CisNCit0eXBlZGVmIGludDY0X3Qgdm54MTZkaSBfX2F0dHJpYnV0ZV9fICgo dmVjdG9yX3NpemUgKDE2ICogOCkpKTsNCisNCisvKg0KKyoqIGZfdm54MTZk aToNCisqKiAgIHZzZXRpdmxpXHMremVybyxccyoxNixccyplNjQsXHMqbTgs XHMqdGEsXHMqbWENCisqKiAgIC4uLg0KKyoqICAgdm12XC52XC54XHMrdlsw LTldKyxccypbYXh0XVswLTldKw0KKyoqICAgLi4uDQorKiogICB2bXZcLnNc Lnhccyt2MCxccypbYXh0XVswLTldKw0KKyoqICAgdm1lcmdlXC52eG1ccyt2 WzAtOV0rLFxzKnZbMC05XSssXHMqW2F4dF1bMC05XSssXHMqdjANCisqKiAg IHZzOHJcLnZccyt2WzAtOV0rLFxzKjBcKFtheHRdWzAtOV0rXCkNCisqKiAg IHJldA0KKyovDQorX19hdHRyaWJ1dGVfXyAoKG5vaXBhKSkgdm9pZA0KK2Zf dm54MTZkaSAoaW50NjRfdCBhLCBpbnQ2NF90IGIsIGludDY0X3QgKm91dCkN Cit7DQorICB2bngxNmRpIHYgPSB7DQorICAgIGEsIGIsIGEsIGIsIGEsIGIs IGEsIGIsIGEsIGIsIGEsIGIsIGEsIGIsIGEsIGIsDQorICB9Ow0KKyAgKih2 bngxNmRpICopIG91dCA9IHY7DQorfQ0KZGlmZiAtLWdpdCBhL2djYy90ZXN0 c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9ydnYvYXV0b3ZlYy92bHMtdmxtYXgv aW5pdC1yZXBlYXQtc2VxdWVuY2UtNy5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2Mu dGFyZ2V0L3Jpc2N2L3J2di9hdXRvdmVjL3Zscy12bG1heC9pbml0LXJlcGVh dC1zZXF1ZW5jZS03LmMNCm5ldyBmaWxlIG1vZGUgMTAwNjQ0DQppbmRleCAw MDAwMDAwMDAwMC4uZjBkMTRkYjhmYTgNCi0tLSAvZGV2L251bGwNCisrKyBi L2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9ydnYvYXV0b3ZlYy92 bHMtdmxtYXgvaW5pdC1yZXBlYXQtc2VxdWVuY2UtNy5jDQpAQCAtMCwwICsx LDI1IEBADQorLyogeyBkZy1kbyBjb21waWxlIH0gKi8NCisvKiB7IGRnLWFk ZGl0aW9uYWwtb3B0aW9ucyAiLW1hcmNoPXJ2NjRnY3YgLW1hYmk9bHA2NGQg LWZuby1zY2hlZHVsZS1pbnNucyAtZm5vLXNjaGVkdWxlLWluc25zMiIgfSAq Lw0KKy8qIHsgZGctZmluYWwgeyBjaGVjay1mdW5jdGlvbi1ib2RpZXMgIioq IiAiIiB9IH0gKi8NCisNCit0eXBlZGVmIGRvdWJsZSB2bngxNmRmIF9fYXR0 cmlidXRlX18gKCh2ZWN0b3Jfc2l6ZSAoMTYgKiA4KSkpOw0KKw0KKy8qDQor KiogZl92bngxNmRmOg0KKyoqICAgdnNldGl2bGlccyt6ZXJvLFxzKjE2LFxz KmU2NCxccyptOCxccyp0YSxccyptYQ0KKyoqICAgLi4uDQorKiogICB2Zm12 XC52XC5mXHMrdlswLTldKyxccypbYWZdK1swLTldKw0KKyoqICAgLi4uDQor KiogICB2bXZcLnNcLnhccyt2MCxccypbYXh0XVswLTldKw0KKyoqICAgdmZt ZXJnZVwudmZtXHMrdlswLTldKyxccyp2WzAtOV0rLFxzKlthZl0rWzAtOV0r LFxzKnYwDQorKiogICB2czhyXC52XHMrdlswLTldKyxccyowXChbYXh0XVsw LTldK1wpDQorKiogICByZXQNCisqLw0KK19fYXR0cmlidXRlX18gKChub2lw YSkpIHZvaWQNCitmX3ZueDE2ZGYgKGRvdWJsZSBhLCBkb3VibGUgYiwgZG91 YmxlICpvdXQpDQorew0KKyAgdm54MTZkZiB2ID0gew0KKyAgICBhLCBiLCBh LCBiLCBhLCBiLCBhLCBiLCBhLCBiLCBhLCBiLCBhLCBiLCBhLCBiLA0KKyAg fTsNCisgICoodm54MTZkZiAqKSBvdXQgPSB2Ow0KK30NCmRpZmYgLS1naXQg YS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcnZ2L2F1dG92ZWMv dmxzLXZsbWF4L2luaXQtcmVwZWF0LXNlcXVlbmNlLTguYyBiL2djYy90ZXN0 c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9ydnYvYXV0b3ZlYy92bHMtdmxtYXgv aW5pdC1yZXBlYXQtc2VxdWVuY2UtOC5jDQpuZXcgZmlsZSBtb2RlIDEwMDY0 NA0KaW5kZXggMDAwMDAwMDAwMDAuLmZkOTg2ZTZiNjQ5DQotLS0gL2Rldi9u dWxsDQorKysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcnZ2 L2F1dG92ZWMvdmxzLXZsbWF4L2luaXQtcmVwZWF0LXNlcXVlbmNlLTguYw0K QEAgLTAsMCArMSwyNyBAQA0KKy8qIHsgZGctZG8gY29tcGlsZSB9ICovDQor LyogeyBkZy1hZGRpdGlvbmFsLW9wdGlvbnMgIi1tYXJjaD1ydjY0Z2N2X3p2 bDEwMjRiIC1tYWJpPWxwNjRkIC1mbm8tc2NoZWR1bGUtaW5zbnMgLWZuby1z Y2hlZHVsZS1pbnNuczIiIH0gKi8NCisvKiB7IGRnLWZpbmFsIHsgY2hlY2st ZnVuY3Rpb24tYm9kaWVzICIqKiIgIiIgfSB9ICovDQorDQorI2luY2x1ZGUg PHN0ZGludC1nY2MuaD4NCisNCit0eXBlZGVmIGludDY0X3Qgdm54MTZkaSBf X2F0dHJpYnV0ZV9fICgodmVjdG9yX3NpemUgKDE2ICogOCkpKTsNCisNCisv Kg0KKyoqIGZfdm54MTZkaToNCisqKiAgIHZzZXRpdmxpXHMremVybyxccyox NixccyplNjQsXHMqbTEsXHMqdGEsXHMqbWENCisqKiAgIC4uLg0KKyoqICAg dm12XC52XC54XHMrdlswLTldKyxccypbYXh0XVswLTldKw0KKyoqICAgLi4u DQorKiogICB2bXZcLnNcLnhccyt2MCxccypbYXh0XVswLTldKw0KKyoqICAg dm1lcmdlXC52eG1ccyt2WzAtOV0rLFxzKnZbMC05XSssXHMqW2F4dF1bMC05 XSssXHMqdjANCisqKiAgIHZzMXJcLnZccyt2WzAtOV0rLFxzKjBcKFtheHRd WzAtOV0rXCkNCisqKiAgIHJldA0KKyovDQorX19hdHRyaWJ1dGVfXyAoKG5v aXBhKSkgdm9pZA0KK2Zfdm54MTZkaSAoaW50NjRfdCBhLCBpbnQ2NF90IGIs IGludDY0X3QgKm91dCkNCit7DQorICB2bngxNmRpIHYgPSB7DQorICAgIGEs IGIsIGEsIGIsIGEsIGIsIGEsIGIsIGEsIGIsIGEsIGIsIGEsIGIsIGEsIGIs DQorICB9Ow0KKyAgKih2bngxNmRpICopIG91dCA9IHY7DQorfQ0KZGlmZiAt LWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9ydnYvYXV0 b3ZlYy92bHMtdmxtYXgvaW5pdC1yZXBlYXQtc2VxdWVuY2UtOS5jIGIvZ2Nj L3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2di9hdXRvdmVjL3Zscy12 bG1heC9pbml0LXJlcGVhdC1zZXF1ZW5jZS05LmMNCm5ldyBmaWxlIG1vZGUg MTAwNjQ0DQppbmRleCAwMDAwMDAwMDAwMC4uNzUzMjIxZmZkYmYNCi0tLSAv ZGV2L251bGwNCisrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNj di9ydnYvYXV0b3ZlYy92bHMtdmxtYXgvaW5pdC1yZXBlYXQtc2VxdWVuY2Ut OS5jDQpAQCAtMCwwICsxLDI1IEBADQorLyogeyBkZy1kbyBjb21waWxlIH0g Ki8NCisvKiB7IGRnLWFkZGl0aW9uYWwtb3B0aW9ucyAiLW1hcmNoPXJ2NjRn Y3ZfenZsMTAyNGIgLW1hYmk9bHA2NGQgLWZuby1zY2hlZHVsZS1pbnNucyAt Zm5vLXNjaGVkdWxlLWluc25zMiIgfSAqLw0KKy8qIHsgZGctZmluYWwgeyBj aGVjay1mdW5jdGlvbi1ib2RpZXMgIioqIiAiIiB9IH0gKi8NCisNCit0eXBl ZGVmIGRvdWJsZSB2bngxNmRmIF9fYXR0cmlidXRlX18gKCh2ZWN0b3Jfc2l6 ZSAoMTYgKiA4KSkpOw0KKw0KKy8qDQorKiogZl92bngxNmRmOg0KKyoqICAg dnNldGl2bGlccyt6ZXJvLFxzKjE2LFxzKmU2NCxccyptMSxccyp0YSxccypt YQ0KKyoqICAgLi4uDQorKiogICB2Zm12XC52XC5mXHMrdlswLTldKyxccypb YWZdK1swLTldKw0KKyoqICAgLi4uDQorKiogICB2bXZcLnNcLnhccyt2MCxc cypbYXh0XVswLTldKw0KKyoqICAgdmZtZXJnZVwudmZtXHMrdlswLTldKyxc cyp2WzAtOV0rLFxzKlthZl0rWzAtOV0rLFxzKnYwDQorKiogICB2czFyXC52 XHMrdlswLTldKyxccyowXChbYXh0XVswLTldK1wpDQorKiogICByZXQNCisq Lw0KK19fYXR0cmlidXRlX18gKChub2lwYSkpIHZvaWQNCitmX3ZueDE2ZGYg KGRvdWJsZSBhLCBkb3VibGUgYiwgZG91YmxlICpvdXQpDQorew0KKyAgdm54 MTZkZiB2ID0gew0KKyAgICBhLCBiLCBhLCBiLCBhLCBiLCBhLCBiLCBhLCBi LCBhLCBiLCBhLCBiLCBhLCBiLA0KKyAgfTsNCisgICoodm54MTZkZiAqKSBv dXQgPSB2Ow0KK30NCi0tIA0KMi4zNC4xDQogDQogDQo= ------=_001_NextPart611016300461_=------