From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtpbgau1.qq.com (smtpbgau1.qq.com [54.206.16.166]) by sourceware.org (Postfix) with ESMTPS id 48C183858D28 for ; Sat, 23 Sep 2023 01:39:44 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 48C183858D28 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: bizesmtp70t1695433178tzhd10bb Received: from TABLET-POE6JQHH ( [36.36.17.183]) by bizesmtp.qq.com (ESMTP) with id ; Sat, 23 Sep 2023 09:39:37 +0800 (CST) X-QQ-SSF: 01400000000000G0V000000A0000000 X-QQ-FEAT: WNfQQyd2QYzYefZmdzmMEP7l7/3bxk4HZwYsry9zTMW/+IJ/J1bLPEs+49HBu 9++FGt1Fe56OdJmb3iQXY81/Zzz9xV/qTzNyeAK9IbOEzdANZiwxvQBQZ4mvOjrJdnz7y2O nK3TX9bRDL6WwCjbyFnMr/I8gqASCyN8V6ThX8S4tfHx/6FENJNBq8dcUjxm7Z1fo7F11cm 1rKCS63R161z6b8EjDVUNNGl36lzLRdS84Vg7YOzK08isW1adoQ+/fIC15QZLj77i2G6WPm 9Dpky//vLsg5AjMzGxNWZ6KLlYAvMiMcixBw8S4Ff0GYj7AY5VY/tXWXtrtJA76EzH3Fgnc uXAb55Ei0Elv/DHIeVjgjZWhvHc96pHYVk8JZ4rMjgZWfcxtARPRf5Mi/EcJzpRMwNMiw/N hOiaqhlqmrBE6gnXo34nSA== X-QQ-GoodBg: 2 X-BIZMAIL-ID: 17192781300295123585 Date: Sat, 23 Sep 2023 09:39:38 +0800 From: =?GB2312?B?1tO+09Xc?= To: pan2.li , gcc-patches Cc: pan2.li , yanzhang.wang , kito.cheng Subject: Re: [PATCH v3] RISC-V: Suport FP floor auto-vectorization References: <20230922062306.1220795-1-pan2.li@intel.com>, <20230923011937.334748-1-pan2.li@intel.com> X-Priority: 3 X-GUID: 71E4DB9F-223C-44E3-AF19-7EED35A18217 X-Has-Attach: no X-Mailer: Foxmail 7.2.23.121[cn] Mime-Version: 1.0 Message-ID: <049A07A19257F3CD+2023092309393782970317@rivai.ai> Content-Type: multipart/alternative; boundary="----=_001_NextPart208304384677_=----" X-QQ-SENDSIZE: 520 Feedback-ID: bizesmtp:rivai.ai:qybglogicsvrgz:qybglogicsvrgz7a-one-0 X-Spam-Status: No, score=-8.7 required=5.0 tests=BAYES_00,CHARSET_FARAWAY_HEADER,GIT_PATCH_0,HTML_MESSAGE,KAM_DMARC_STATUS,KAM_SHORT,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,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_NextPart208304384677_=---- Content-Type: text/plain; charset="GB2312" Content-Transfer-Encoding: base64 TEdUTS4NCg0KDQoNCmp1emhlLnpob25nQHJpdmFpLmFpDQogDQpGcm9tOiBw YW4yLmxpDQpEYXRlOiAyMDIzLTA5LTIzIDA5OjE5DQpUbzogZ2NjLXBhdGNo ZXMNCkNDOiBqdXpoZS56aG9uZzsgcGFuMi5saTsgeWFuemhhbmcud2FuZzsg a2l0by5jaGVuZw0KU3ViamVjdDogW1BBVENIIHYzXSBSSVNDLVY6IFN1cG9y dCBGUCBmbG9vciBhdXRvLXZlY3Rvcml6YXRpb24NCkZyb206IFBhbiBMaSA8 cGFuMi5saUBpbnRlbC5jb20+DQogDQpUaGlzIHBhdGNoIHdvdWxkIGxpa2Ug dG8gc3VwcG9ydCBhdXRvLXZlY3Rvcml6YXRpb24gZm9yIHRoZQ0KZmxvb3Ig QVBJIGluIG1hdGguaC4gSXQgZGVwZW5kcyBvbiB0aGUgLWZmYXN0LW1hdGgg b3B0aW9uLg0KIA0KV2hlbiB3ZSB3b3VsZCBsaWtlIHRvIGNhbGwgZmxvb3Iv Zmxvb3JmIGxpa2UgdjIgPSBmbG9vciAodjEpLCB3ZSB3aWxsDQpjb252ZXJ0 IGl0IGludG8gYmVsb3cgaW5zbnMgKHJlZmVyZW5jZSB0aGUgaW1wbGVtZW50 YXRpb24gb2YgbGx2bSkuDQogDQoqIHZmY3Z0LnguZiB2MywgdjEsIFJETg0K KiB2ZmN2dC5mLnggdjIsIHYzDQogDQpIb3dldmVyLCB0aGUgZmxvYXRpbmcg cG9pbnQgdmFsdWUgbWF5IG5vdCBuZWVkIHRoZSBjdnQgYXMgYWJvdmUgaWYN Cml0cyBtYW50aXNzYSBpcyB6ZXJvLiBGb3IgZXhhbXBsZSBzaW5nbGUgcHJl Y2lzaW9uIGZsb2F0aW5nIHBvaW50IGJlbG93Lg0KIA0KICArLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rDQogIHwgcmF3IGZs b2F0IHwgYmluYXJ5IGxheW91dCB8IGFmdGVyIGZsb29yIHwNCiAgKy0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKw0KICB8IDgz ODg2MDcuNSB8IDB4NGFmZmZmZmYgICAgfCA4Mzg4NjA3LjAgICB8DQogIHwg ODM4ODYwOC4wIHwgMHg0YjAwMDAwMCAgICB8IDgzODg2MDguMCAgIHwNCiAg fCA4Mzg4NjA5LjAgfCAweDRiMDAwMDAxICAgIHwgODM4ODYwOS4wICAgfA0K ICArLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0r DQogDQpBbGwgc2luZ2xlIGZsb2F0aW5nIHBvaW50IGdsdGUgODM4ODYwOC4w IHdpbGwgaGF2ZSBhbGwgemVybyBtYW50aXNhYS4NCldlIGxldmVyYWdlIHZt Zmx0IGFuZCBtYXNrIHRvIGZpbHRlciB0aGVtIG91dCBpbiB2ZWN0b3IgYW5k IG9ubHkgZG8gdGhlDQpjdnQgb24gbWFzay4NCiANCkJlZm9yIHRoaXMgcGF0 Y2g6DQptYXRoLWZsb29yLTEuYzoyMToxOiBtaXNzZWQ6IGNvdWxkbid0IHZl Y3Rvcml6ZSBsb29wDQogIC4uLg0KLkwzOg0KICBmbHcgICAgIGZhMCwwKHMw KQ0KICBhZGRpICAgIHMwLHMwLDQNCiAgYWRkaSAgICBzMSxzMSw0DQogIGNh bGwgICAgY2VpbGYNCiAgZnN3ICAgICBmYTAsLTQoczEpDQogIGJuZSAgICAg czAsczIsLkwzDQogDQpBZnRlciB0aGlzIHBhdGNoOg0KICAuLi4NCiAgZnNy bWkgICAgICAgMiAgIC8vIFJvdW5kaW5nIERvd24NCi5MNDoNCiAgdmZhYnMu diAgICAgdjEsdjINCiAgdm1mbHQudmYgICAgdjAsdjEsZmE1DQogIHZmY3Z0 LnguZi52IHYzLHYyLHYwLnQNCiAgdmZjdnQuZi54LnYgdjEsdjMsdjAudA0K ICB2ZnNnbmoudnYgICB2MSx2MSx2Mg0KICBibmUgICAgICAgICAuTDQNCi5M MTQ6DQogIGZzcm0gICAgICAgIGE2DQogIHJldA0KIA0KUGxlYXNlIG5vdGUg VkxTIG1vZGUgaXMgYWxzbyBpbnZvbHZlZCBpbiB0aGlzIHBhdGNoIGFuZCBj b3ZlcmVkIGJ5IHRoZQ0KdGVzdCBjYXNlcy4NCiANCmdjYy9DaGFuZ2VMb2c6 DQogDQoqIGNvbmZpZy9yaXNjdi9hdXRvdmVjLm1kIChmbG9vcjxtb2RlPjIp OiBOZXcgcGF0dGVybi4NCiogY29uZmlnL3Jpc2N2L3Jpc2N2LXByb3Rvcy5o IChlbnVtIGluc25fZmxhZ3MpOiBOZXcgZW51bSB0eXBlLg0KKGVudW0gaW5z bl90eXBlKTogRGl0dG8uDQooZXhwYW5kX3ZlY19mbG9vcik6IE5ldyBmdW5j dGlvbiBkZWNsLg0KKiBjb25maWcvcmlzY3YvcmlzY3Ytdi5jYyAoZ2VuX2Zs b29yX2NvbnN0X2ZwKTogTmV3IGZ1bmN0aW9uIGltcGwuDQooZXhwYW5kX3Zl Y19mbG9vcik6IERpdHRvLg0KIA0KZ2NjL3Rlc3RzdWl0ZS9DaGFuZ2VMb2c6 DQogDQoqIGdjYy50YXJnZXQvcmlzY3YvcnZ2L2F1dG92ZWMvdW5vcC9tYXRo LWZsb29yLTAuYzogTmV3IHRlc3QuDQoqIGdjYy50YXJnZXQvcmlzY3YvcnZ2 L2F1dG92ZWMvdW5vcC9tYXRoLWZsb29yLTEuYzogTmV3IHRlc3QuDQoqIGdj Yy50YXJnZXQvcmlzY3YvcnZ2L2F1dG92ZWMvdW5vcC9tYXRoLWZsb29yLTIu YzogTmV3IHRlc3QuDQoqIGdjYy50YXJnZXQvcmlzY3YvcnZ2L2F1dG92ZWMv dW5vcC9tYXRoLWZsb29yLTMuYzogTmV3IHRlc3QuDQoqIGdjYy50YXJnZXQv cmlzY3YvcnZ2L2F1dG92ZWMvdW5vcC9tYXRoLWZsb29yLXJ1bi0xLmM6IE5l dyB0ZXN0Lg0KKiBnY2MudGFyZ2V0L3Jpc2N2L3J2di9hdXRvdmVjL3Vub3Av bWF0aC1mbG9vci1ydW4tMi5jOiBOZXcgdGVzdC4NCiogZ2NjLnRhcmdldC9y aXNjdi9ydnYvYXV0b3ZlYy92bHMvbWF0aC1mbG9vci0xLmM6IE5ldyB0ZXN0 Lg0KIA0KU2lnbmVkLW9mZi1ieTogUGFuIExpIDxwYW4yLmxpQGludGVsLmNv bT4NCi0tLQ0KZ2NjL2NvbmZpZy9yaXNjdi9hdXRvdmVjLm1kICAgICAgICAg ICAgICAgICAgIHwgMTEgKysrKw0KZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi1w cm90b3MuaCAgICAgICAgICAgICAgIHwgIDUgKysNCmdjYy9jb25maWcvcmlz Y3YvcmlzY3Ytdi5jYyAgICAgICAgICAgICAgICAgICB8IDM1ICsrKysrKysr KysrLQ0KLi4uL3Jpc2N2L3J2di9hdXRvdmVjL3Vub3AvbWF0aC1mbG9vci0w LmMgICAgIHwgMjMgKysrKysrKysNCi4uLi9yaXNjdi9ydnYvYXV0b3ZlYy91 bm9wL21hdGgtZmxvb3ItMS5jICAgICB8IDIzICsrKysrKysrDQouLi4vcmlz Y3YvcnZ2L2F1dG92ZWMvdW5vcC9tYXRoLWZsb29yLTIuYyAgICAgfCAyMyAr KysrKysrKw0KLi4uL3Jpc2N2L3J2di9hdXRvdmVjL3Vub3AvbWF0aC1mbG9v ci0zLmMgICAgIHwgMjUgKysrKysrKysrDQouLi4vcmlzY3YvcnZ2L2F1dG92 ZWMvdW5vcC9tYXRoLWZsb29yLXJ1bi0xLmMgfCAzOSArKysrKysrKysrKysr DQouLi4vcmlzY3YvcnZ2L2F1dG92ZWMvdW5vcC9tYXRoLWZsb29yLXJ1bi0y LmMgfCAzOSArKysrKysrKysrKysrDQouLi4vcmlzY3YvcnZ2L2F1dG92ZWMv dmxzL21hdGgtZmxvb3ItMS5jICAgICAgfCA1NiArKysrKysrKysrKysrKysr KysrDQoxMCBmaWxlcyBjaGFuZ2VkLCAyNzcgaW5zZXJ0aW9ucygrKSwgMiBk ZWxldGlvbnMoLSkNCmNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRl L2djYy50YXJnZXQvcmlzY3YvcnZ2L2F1dG92ZWMvdW5vcC9tYXRoLWZsb29y LTAuYw0KY3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3VpdGUvZ2NjLnRh cmdldC9yaXNjdi9ydnYvYXV0b3ZlYy91bm9wL21hdGgtZmxvb3ItMS5jDQpj cmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jp c2N2L3J2di9hdXRvdmVjL3Vub3AvbWF0aC1mbG9vci0yLmMNCmNyZWF0ZSBt b2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcnZ2 L2F1dG92ZWMvdW5vcC9tYXRoLWZsb29yLTMuYw0KY3JlYXRlIG1vZGUgMTAw NjQ0IGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9ydnYvYXV0b3Zl Yy91bm9wL21hdGgtZmxvb3ItcnVuLTEuYw0KY3JlYXRlIG1vZGUgMTAwNjQ0 IGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9ydnYvYXV0b3ZlYy91 bm9wL21hdGgtZmxvb3ItcnVuLTIuYw0KY3JlYXRlIG1vZGUgMTAwNjQ0IGdj Yy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9ydnYvYXV0b3ZlYy92bHMv bWF0aC1mbG9vci0xLmMNCiANCmRpZmYgLS1naXQgYS9nY2MvY29uZmlnL3Jp c2N2L2F1dG92ZWMubWQgYi9nY2MvY29uZmlnL3Jpc2N2L2F1dG92ZWMubWQN CmluZGV4IDZmMzVmYjFiZDllLi5hMDA1ZTE3NDU3ZSAxMDA2NDQNCi0tLSBh L2djYy9jb25maWcvcmlzY3YvYXV0b3ZlYy5tZA0KKysrIGIvZ2NjL2NvbmZp Zy9yaXNjdi9hdXRvdmVjLm1kDQpAQCAtMjIwOSw2ICsyMjA5LDcgQEAgKGRl ZmluZV9leHBhbmQgIjx1PmF2Zzx2X2RvdWJsZV90cnVuYz4zX2NlaWwiDQo7 OyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo7OyBJbmNsdWRlczoN Cjs7IC0gY2VpbC9jZWlsZg0KKzs7IC0gZmxvb3IvZmxvb3JmDQo7OyAtLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQooZGVmaW5lX2V4cGFuZCAiY2Vp bDxtb2RlPjIiDQogICBbKG1hdGNoX29wZXJhbmQ6Vl9WTFNGIDAgInJlZ2lz dGVyX29wZXJhbmQiKQ0KQEAgLTIyMTksMyArMjIyMCwxMyBAQCAoZGVmaW5l X2V4cGFuZCAiY2VpbDxtb2RlPjIiDQogICAgIERPTkU7DQogICB9DQopDQor DQorKGRlZmluZV9leHBhbmQgImZsb29yPG1vZGU+MiINCisgIFsobWF0Y2hf b3BlcmFuZDpWX1ZMU0YgMCAicmVnaXN0ZXJfb3BlcmFuZCIpDQorICAgKG1h dGNoX29wZXJhbmQ6Vl9WTFNGIDEgInJlZ2lzdGVyX29wZXJhbmQiKV0NCisg ICJUQVJHRVRfVkVDVE9SICYmICFmbGFnX3RyYXBwaW5nX21hdGggJiYgIWZs YWdfcm91bmRpbmdfbWF0aCINCisgIHsNCisgICAgcmlzY3ZfdmVjdG9yOjpl eHBhbmRfdmVjX2Zsb29yIChvcGVyYW5kc1swXSwgb3BlcmFuZHNbMV0sIDxN T0RFPm1vZGUsIDxWQ09OVkVSVD5tb2RlKTsNCisgICAgRE9ORTsNCisgIH0N CispDQpkaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi1wcm90 b3MuaCBiL2djYy9jb25maWcvcmlzY3YvcmlzY3YtcHJvdG9zLmgNCmluZGV4 IDM0YmVjZmJhYmE4Li42M2ViMjQ3NTcwNSAxMDA2NDQNCi0tLSBhL2djYy9j b25maWcvcmlzY3YvcmlzY3YtcHJvdG9zLmgNCisrKyBiL2djYy9jb25maWcv cmlzY3YvcmlzY3YtcHJvdG9zLmgNCkBAIC0yNTMsNiArMjUzLDkgQEAgZW51 bSBpbnNuX2ZsYWdzIDogdW5zaWduZWQgaW50DQogICAvKiBNZWFucyBJTlNO IGhhcyBGUk0gb3BlcmFuZCBhbmQgdGhlIHZhbHVlIGlzIEZSTV9SVVAuICAq Lw0KICAgRlJNX1JVUF9QID0gMSA8PCAxNiwNCisNCisgIC8qIE1lYW5zIElO U04gaGFzIEZSTSBvcGVyYW5kIGFuZCB0aGUgdmFsdWUgaXMgRlJNX1JETi4g ICovDQorICBGUk1fUkROX1AgPSAxIDw8IDE3LA0KfTsNCmVudW0gaW5zbl90 eXBlIDogdW5zaWduZWQgaW50DQpAQCAtMjk0LDYgKzI5Nyw3IEBAIGVudW0g aW5zbl90eXBlIDogdW5zaWduZWQgaW50DQogICBVTkFSWV9PUF9UQU1VID0g X19NQVNLX09QX1RBTVUgfCBVTkFSWV9PUF9QLA0KICAgVU5BUllfT1BfRlJN X0RZTiA9IFVOQVJZX09QIHwgRlJNX0RZTl9QLA0KICAgVU5BUllfT1BfVEFN VV9GUk1fUlVQID0gVU5BUllfT1BfVEFNVSB8IEZSTV9SVVBfUCwNCisgIFVO QVJZX09QX1RBTVVfRlJNX1JETiA9IFVOQVJZX09QX1RBTVUgfCBGUk1fUkRO X1AsDQogICAvKiBCaW5hcnkgb3BlcmF0b3IuICAqLw0KICAgQklOQVJZX09Q ID0gX19OT1JNQUxfT1AgfCBCSU5BUllfT1BfUCwNCkBAIC00NTUsNiArNDU5 LDcgQEAgdm9pZCBleHBhbmRfY29uZF9sZW5fdW5vcCAodW5zaWduZWQsIHJ0 eCAqKTsNCnZvaWQgZXhwYW5kX2NvbmRfbGVuX2Jpbm9wICh1bnNpZ25lZCwg cnR4ICopOw0Kdm9pZCBleHBhbmRfcmVkdWN0aW9uICh1bnNpZ25lZCwgdW5z aWduZWQsIHJ0eCAqLCBydHgpOw0Kdm9pZCBleHBhbmRfdmVjX2NlaWwgKHJ0 eCwgcnR4LCBtYWNoaW5lX21vZGUsIG1hY2hpbmVfbW9kZSk7DQordm9pZCBl eHBhbmRfdmVjX2Zsb29yIChydHgsIHJ0eCwgbWFjaGluZV9tb2RlLCBtYWNo aW5lX21vZGUpOw0KI2VuZGlmDQpib29sIHNldzY0X3NjYWxhcl9oZWxwZXIg KHJ0eCAqLCBydHggKiwgcnR4LCBtYWNoaW5lX21vZGUsDQogIGJvb2wsIHZv aWQgKCopKHJ0eCAqLCBydHgpKTsNCmRpZmYgLS1naXQgYS9nY2MvY29uZmln L3Jpc2N2L3Jpc2N2LXYuY2MgYi9nY2MvY29uZmlnL3Jpc2N2L3Jpc2N2LXYu Y2MNCmluZGV4IDI1MWQ4MjdkOTczLi5jMjQ2NmIxMzU0ZiAxMDA2NDQNCi0t LSBhL2djYy9jb25maWcvcmlzY3YvcmlzY3Ytdi5jYw0KKysrIGIvZ2NjL2Nv bmZpZy9yaXNjdi9yaXNjdi12LmNjDQpAQCAtMzI2LDggKzMyNiwxMCBAQCBw dWJsaWM6DQogICAgIC8qIEFkZCByb3VuZGluZyBtb2RlIG9wZXJhbmQuICAq Lw0KICAgICBpZiAobV9pbnNuX2ZsYWdzICYgRlJNX0RZTl9QKQ0KICAgICAg IGFkZF9yb3VuZGluZ19tb2RlX29wZXJhbmQgKEZSTV9EWU4pOw0KLSAgICBp ZiAobV9pbnNuX2ZsYWdzICYgRlJNX1JVUF9QKQ0KKyAgICBlbHNlIGlmICht X2luc25fZmxhZ3MgJiBGUk1fUlVQX1ApDQogICAgICAgYWRkX3JvdW5kaW5n X21vZGVfb3BlcmFuZCAoRlJNX1JVUCk7DQorICAgIGVsc2UgaWYgKG1faW5z bl9mbGFncyAmIEZSTV9SRE5fUCkNCisgICAgICBhZGRfcm91bmRpbmdfbW9k ZV9vcGVyYW5kIChGUk1fUkROKTsNCiAgICAgZ2NjX2Fzc2VydCAoaW5zbl9k YXRhWyhpbnQpIGljb2RlXS5uX29wZXJhbmRzID09IG1fb3Bubyk7DQogICAg IGV4cGFuZCAoaWNvZGUsIGFueV9tZW1fcCk7DQpAQCAtMzU1Niw2ICszNTU4 LDEzIEBAIGdlbl9jZWlsX2NvbnN0X2ZwIChtYWNoaW5lX21vZGUgaW5uZXJf bW9kZSkNCiAgIHJldHVybiBjb25zdF9kb3VibGVfZnJvbV9yZWFsX3ZhbHVl IChyZWFsLCBpbm5lcl9tb2RlKTsNCn0NCitzdGF0aWMgcnR4DQorZ2VuX2Zs b29yX2NvbnN0X2ZwIChtYWNoaW5lX21vZGUgaW5uZXJfbW9kZSkNCit7DQor ICAvKiBUaGUgZmxvb3IgbmVlZHMgdGhlIHNhbWUgZmxvYXRpbmcgcG9pbnQg Y29uc3QgYXMgY2VpbC4gICovDQorICByZXR1cm4gZ2VuX2NlaWxfY29uc3Rf ZnAgKGlubmVyX21vZGUpOw0KK30NCisNCnN0YXRpYyBydHgNCmVtaXRfdmVj X2Zsb2F0X2NtcF9tYXNrIChydHggZnBfdmVjdG9yLCBydHhfY29kZSBjb2Rl LCBydHggZnBfc2NhbGFyLA0KbWFjaGluZV9tb2RlIHZlY19mcF9tb2RlKQ0K QEAgLTM2MzUsNyArMzY0NCwyOSBAQCBleHBhbmRfdmVjX2NlaWwgKHJ0eCBv cF8wLCBydHggb3BfMSwgbWFjaGluZV9tb2RlIHZlY19mcF9tb2RlLA0KICAg ICAgdG8gaW50IGNvbnZlcnNpb24uICAqLw0KICAgZW1pdF92ZWNfY3Z0X2Zf eCAob3BfMCwgdG1wLCBtYXNrLCBVTkFSWV9PUF9UQU1VX0ZSTV9SVVAsIHZl Y19mcF9tb2RlKTsNCi0gIC8qIFN0ZXAtNTogUmV0cmlldmUgdGhlIHNpZ24g Yml0LiAgKi8NCisgIC8qIFN0ZXAtNTogUmV0cmlldmUgdGhlIHNpZ24gYml0 IGZvciAtMC4wLiAgKi8NCisgIGVtaXRfdmVjX2NvcHlzaWduIChvcF8wLCBv cF8wLCBvcF8xLCB2ZWNfZnBfbW9kZSk7DQorfQ0KKw0KK3ZvaWQNCitleHBh bmRfdmVjX2Zsb29yIChydHggb3BfMCwgcnR4IG9wXzEsIG1hY2hpbmVfbW9k ZSB2ZWNfZnBfbW9kZSwNCisgICBtYWNoaW5lX21vZGUgdmVjX2ludF9tb2Rl KQ0KK3sNCisgIC8qIFN0ZXAtMTogR2V0IHRoZSBhYnMgZmxvYXQgdmFsdWUg Zm9yIG1hc2sgZ2VuZXJhdGlvbi4gICovDQorICBlbWl0X3ZlY19hYnMgKG9w XzAsIG9wXzEsIHZlY19mcF9tb2RlKTsNCisNCisgIC8qIFN0ZXAtMjogR2Vu ZXJhdGUgdGhlIG1hc2sgb24gY29uc3QgZnAuICAqLw0KKyAgcnR4IGNvbnN0 X2ZwID0gZ2VuX2Zsb29yX2NvbnN0X2ZwIChHRVRfTU9ERV9JTk5FUiAodmVj X2ZwX21vZGUpKTsNCisgIHJ0eCBtYXNrID0gZW1pdF92ZWNfZmxvYXRfY21w X21hc2sgKG9wXzAsIExULCBjb25zdF9mcCwgdmVjX2ZwX21vZGUpOw0KKw0K KyAgLyogU3RlcC0zOiBDb252ZXJ0IHRvIGludGVnZXIgb24gbWFzaywgd2l0 aCByb3VuZGluZyBkb3duIChha2EgZmxvb3IpLiAgKi8NCisgIHJ0eCB0bXAg PSBnZW5fcmVnX3J0eCAodmVjX2ludF9tb2RlKTsNCisgIGVtaXRfdmVjX2N2 dF94X2YgKHRtcCwgb3BfMSwgbWFzaywgVU5BUllfT1BfVEFNVV9GUk1fUkRO LCB2ZWNfZnBfbW9kZSk7DQorDQorICAvKiBTdGVwLTQ6IENvbnZlcnQgdG8g ZmxvYXRpbmctcG9pbnQgb24gbWFzayBmb3IgdGhlIGZsb29yIHJlc3VsdC4g ICovDQorICBlbWl0X3ZlY19jdnRfZl94IChvcF8wLCB0bXAsIG1hc2ssIFVO QVJZX09QX1RBTVVfRlJNX1JETiwgdmVjX2ZwX21vZGUpOw0KKw0KKyAgLyog U3RlcC01OiBSZXRyaWV2ZSB0aGUgc2lnbiBiaXQgZm9yIC0wLjAuICAqLw0K ICAgZW1pdF92ZWNfY29weXNpZ24gKG9wXzAsIG9wXzAsIG9wXzEsIHZlY19m cF9tb2RlKTsNCn0NCmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy50 YXJnZXQvcmlzY3YvcnZ2L2F1dG92ZWMvdW5vcC9tYXRoLWZsb29yLTAuYyBi L2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9ydnYvYXV0b3ZlYy91 bm9wL21hdGgtZmxvb3ItMC5jDQpuZXcgZmlsZSBtb2RlIDEwMDY0NA0KaW5k ZXggMDAwMDAwMDAwMDAuLjMzYjE2OTM5NWJmDQotLS0gL2Rldi9udWxsDQor KysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcnZ2L2F1dG92 ZWMvdW5vcC9tYXRoLWZsb29yLTAuYw0KQEAgLTAsMCArMSwyMyBAQA0KKy8q IHsgZGctZG8gY29tcGlsZSB9ICovDQorLyogeyBkZy1vcHRpb25zICItbWFy Y2g9cnY2NGdjdl96dmZoIC1tYWJpPWxwNjRkIC1PMyAtZnRyZWUtdmVjdG9y aXplIC1mbm8tdmVjdC1jb3N0LW1vZGVsIC1mZmFzdC1tYXRoIC1mbm8tc2No ZWR1bGUtaW5zbnMgLWZuby1zY2hlZHVsZS1pbnNuczIiIH0gKi8NCisvKiB7 IGRnLWZpbmFsIHsgY2hlY2stZnVuY3Rpb24tYm9kaWVzICIqKiIgIiIgfSB9 ICovDQorDQorI2luY2x1ZGUgInRlc3QtbWF0aC5oIg0KKw0KKy8qDQorKiog dGVzdF9fRmxvYXQxNl9fX2J1aWx0aW5fZmxvb3JmMTY6DQorKiogICBmcnJt XHMrW2F0eF1bMC05XSsNCisqKiAgIC4uLg0KKyoqICAgZnNybWlccysyDQor KiogICAuLi4NCisqKiAgIHZzZXR2bGlccytbYXR4XVswLTldKyxccyp6ZXJv LFxzKmUxNixccyptMSxccyp0YSxccyptdQ0KKyoqICAgdmZhYnNcLnZccyt2 WzAtOV0rLFxzKnZbMC05XSsNCisqKiAgIHZtZmx0XC52ZlxzK3YwLFxzKnZb MC05XSssXHMqW2ZhXStbMC05XSsNCisqKiAgIHZmY3Z0XC54XC5mXC52XHMr dlswLTldKyxccyp2WzAtOV0rLFxzKnYwXC50DQorKiogICB2ZmN2dFwuZlwu eFwudlxzK3ZbMC05XSssXHMqdlswLTldKyxccyp2MFwudA0KKyoqICAgdmZz Z25qXC52dlxzK3ZbMC05XSssdlswLTldKyx2WzAtOV0rDQorKiogICAuLi4N CisqKiAgIGZzcm1ccytbYXR4XVswLTldKw0KKyoqICAgLi4uDQorKi8NCitU RVNUX1VOQVJZX0NBTEwgKF9GbG9hdDE2LCBfX2J1aWx0aW5fZmxvb3JmMTYp DQpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2 L3J2di9hdXRvdmVjL3Vub3AvbWF0aC1mbG9vci0xLmMgYi9nY2MvdGVzdHN1 aXRlL2djYy50YXJnZXQvcmlzY3YvcnZ2L2F1dG92ZWMvdW5vcC9tYXRoLWZs b29yLTEuYw0KbmV3IGZpbGUgbW9kZSAxMDA2NDQNCmluZGV4IDAwMDAwMDAw MDAwLi41YzQ2MmM0MjRkZg0KLS0tIC9kZXYvbnVsbA0KKysrIGIvZ2NjL3Rl c3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2di9hdXRvdmVjL3Vub3AvbWF0 aC1mbG9vci0xLmMNCkBAIC0wLDAgKzEsMjMgQEANCisvKiB7IGRnLWRvIGNv bXBpbGUgfSAqLw0KKy8qIHsgZGctb3B0aW9ucyAiLW1hcmNoPXJ2NjRnY3Yg LW1hYmk9bHA2NGQgLU8zIC1mdHJlZS12ZWN0b3JpemUgLWZuby12ZWN0LWNv c3QtbW9kZWwgLWZmYXN0LW1hdGggLWZuby1zY2hlZHVsZS1pbnNucyAtZm5v LXNjaGVkdWxlLWluc25zMiIgfSAqLw0KKy8qIHsgZGctZmluYWwgeyBjaGVj ay1mdW5jdGlvbi1ib2RpZXMgIioqIiAiIiB9IH0gKi8NCisNCisjaW5jbHVk ZSAidGVzdC1tYXRoLmgiDQorDQorLyoNCisqKiB0ZXN0X2Zsb2F0X19fYnVp bHRpbl9mbG9vcmY6DQorKiogICBmcnJtXHMrW2F0eF1bMC05XSsNCisqKiAg IC4uLg0KKyoqICAgZnNybWlccysyDQorKiogICAuLi4NCisqKiAgIHZzZXR2 bGlccytbYXR4XVswLTldKyxccyp6ZXJvLFxzKmUzMixccyptMSxccyp0YSxc cyptdQ0KKyoqICAgdmZhYnNcLnZccyt2WzAtOV0rLFxzKnZbMC05XSsNCisq KiAgIHZtZmx0XC52ZlxzK3YwLFxzKnZbMC05XSssXHMqW2ZhXStbMC05XSsN CisqKiAgIHZmY3Z0XC54XC5mXC52XHMrdlswLTldKyxccyp2WzAtOV0rLFxz KnYwXC50DQorKiogICB2ZmN2dFwuZlwueFwudlxzK3ZbMC05XSssXHMqdlsw LTldKyxccyp2MFwudA0KKyoqICAgdmZzZ25qXC52dlxzK3ZbMC05XSssdlsw LTldKyx2WzAtOV0rDQorKiogICAuLi4NCisqKiAgIGZzcm1ccytbYXR4XVsw LTldKw0KKyoqICAgLi4uDQorKi8NCitURVNUX1VOQVJZX0NBTEwgKGZsb2F0 LCBfX2J1aWx0aW5fZmxvb3JmKQ0KZGlmZiAtLWdpdCBhL2djYy90ZXN0c3Vp dGUvZ2NjLnRhcmdldC9yaXNjdi9ydnYvYXV0b3ZlYy91bm9wL21hdGgtZmxv b3ItMi5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2di9h dXRvdmVjL3Vub3AvbWF0aC1mbG9vci0yLmMNCm5ldyBmaWxlIG1vZGUgMTAw NjQ0DQppbmRleCAwMDAwMDAwMDAwMC4uNmYwN2FkZDEwMDQNCi0tLSAvZGV2 L251bGwNCisrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9y dnYvYXV0b3ZlYy91bm9wL21hdGgtZmxvb3ItMi5jDQpAQCAtMCwwICsxLDIz IEBADQorLyogeyBkZy1kbyBjb21waWxlIH0gKi8NCisvKiB7IGRnLW9wdGlv bnMgIi1tYXJjaD1ydjY0Z2N2IC1tYWJpPWxwNjRkIC1PMyAtZnRyZWUtdmVj dG9yaXplIC1mbm8tdmVjdC1jb3N0LW1vZGVsIC1mZmFzdC1tYXRoIC1mbm8t c2NoZWR1bGUtaW5zbnMgLWZuby1zY2hlZHVsZS1pbnNuczIiIH0gKi8NCisv KiB7IGRnLWZpbmFsIHsgY2hlY2stZnVuY3Rpb24tYm9kaWVzICIqKiIgIiIg fSB9ICovDQorDQorI2luY2x1ZGUgInRlc3QtbWF0aC5oIg0KKw0KKy8qDQor KiogdGVzdF9kb3VibGVfX19idWlsdGluX2Zsb29yOg0KKyoqICAgZnJybVxz K1thdHhdWzAtOV0rDQorKiogICAuLi4NCisqKiAgIGZzcm1pXHMrMg0KKyoq ICAgLi4uDQorKiogICB2c2V0dmxpXHMrW2F0eF1bMC05XSssXHMqemVybyxc cyplNjQsXHMqbTEsXHMqdGEsXHMqbXUNCisqKiAgIHZmYWJzXC52XHMrdlsw LTldKyxccyp2WzAtOV0rDQorKiogICB2bWZsdFwudmZccyt2MCxccyp2WzAt OV0rLFxzKltmYV0rWzAtOV0rDQorKiogICB2ZmN2dFwueFwuZlwudlxzK3Zb MC05XSssXHMqdlswLTldKyxccyp2MFwudA0KKyoqICAgdmZjdnRcLmZcLnhc LnZccyt2WzAtOV0rLFxzKnZbMC05XSssXHMqdjBcLnQNCisqKiAgIHZmc2du alwudnZccyt2WzAtOV0rLHZbMC05XSssdlswLTldKw0KKyoqICAgLi4uDQor KiogICBmc3JtXHMrW2F0eF1bMC05XSsNCisqKiAgIC4uLg0KKyovDQorVEVT VF9VTkFSWV9DQUxMIChkb3VibGUsIF9fYnVpbHRpbl9mbG9vcikNCmRpZmYg LS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcnZ2L2F1 dG92ZWMvdW5vcC9tYXRoLWZsb29yLTMuYyBiL2djYy90ZXN0c3VpdGUvZ2Nj LnRhcmdldC9yaXNjdi9ydnYvYXV0b3ZlYy91bm9wL21hdGgtZmxvb3ItMy5j DQpuZXcgZmlsZSBtb2RlIDEwMDY0NA0KaW5kZXggMDAwMDAwMDAwMDAuLmEw OTFmZmRhYjUwDQotLS0gL2Rldi9udWxsDQorKysgYi9nY2MvdGVzdHN1aXRl L2djYy50YXJnZXQvcmlzY3YvcnZ2L2F1dG92ZWMvdW5vcC9tYXRoLWZsb29y LTMuYw0KQEAgLTAsMCArMSwyNSBAQA0KKy8qIHsgZGctZG8gY29tcGlsZSB9 ICovDQorLyogeyBkZy1vcHRpb25zICItbWFyY2g9cnY2NGdjdiAtbWFiaT1s cDY0ZCAtTzMgLWZ0cmVlLXZlY3Rvcml6ZSAtZm5vLXZlY3QtY29zdC1tb2Rl bCAtZmZhc3QtbWF0aCAtZm5vLXNjaGVkdWxlLWluc25zIC1mbm8tc2NoZWR1 bGUtaW5zbnMyIiB9ICovDQorLyogeyBkZy1maW5hbCB7IGNoZWNrLWZ1bmN0 aW9uLWJvZGllcyAiKioiICIiIH0gfSAqLw0KKw0KKyNpbmNsdWRlICJ0ZXN0 LW1hdGguaCINCisNCisvKg0KKyoqIHRlc3RfZmxvYXRfX19idWlsdGluX2Zs b29yZjoNCisqKiAgIGZycm1ccytbYXR4XVswLTldKw0KKyoqICAgLi4uDQor KiogICBmc3JtaVxzKzINCisqKiAgIC4uLg0KKyoqICAgdnNldHZsaVxzK1th dHhdWzAtOV0rLFxzKnplcm8sXHMqZTMyLFxzKm0xLFxzKnRhLFxzKm11DQor KiogICB2ZmFic1wudlxzK3ZbMC05XSssXHMqdlswLTldKw0KKyoqICAgdm1m bHRcLnZmXHMrdjAsXHMqdlswLTldKyxccypbZmFdK1swLTldKw0KKyoqICAg dmZjdnRcLnhcLmZcLnZccyt2WzAtOV0rLFxzKnZbMC05XSssXHMqdjBcLnQN CisqKiAgIHZmY3Z0XC5mXC54XC52XHMrdlswLTldKyxccyp2WzAtOV0rLFxz KnYwXC50DQorKiogICB2ZnNnbmpcLnZ2XHMrdlswLTldKyx2WzAtOV0rLHZb MC05XSsNCisqKiAgIC4uLg0KKyoqICAgdm1lcmdlXC52dm1ccyt2WzAtOV0r LFxzKnZbMC05XSssXHMqdlswLTldKyxccyp2MA0KKyoqICAgLi4uDQorKiog ICBmc3JtXHMrW2F0eF1bMC05XSsNCisqKiAgIC4uLg0KKyovDQorVEVTVF9D T05EX1VOQVJZX0NBTEwgKGZsb2F0LCBfX2J1aWx0aW5fZmxvb3JmKQ0KZGlm ZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9ydnYv YXV0b3ZlYy91bm9wL21hdGgtZmxvb3ItcnVuLTEuYyBiL2djYy90ZXN0c3Vp dGUvZ2NjLnRhcmdldC9yaXNjdi9ydnYvYXV0b3ZlYy91bm9wL21hdGgtZmxv b3ItcnVuLTEuYw0KbmV3IGZpbGUgbW9kZSAxMDA2NDQNCmluZGV4IDAwMDAw MDAwMDAwLi5kNjY5MDVkNDIzMA0KLS0tIC9kZXYvbnVsbA0KKysrIGIvZ2Nj L3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2di9hdXRvdmVjL3Vub3Av bWF0aC1mbG9vci1ydW4tMS5jDQpAQCAtMCwwICsxLDM5IEBADQorLyogeyBk Zy1kbyBydW4geyB0YXJnZXQgeyByaXNjdl92ZWN0b3IgfSB9IH0gKi8NCisv KiB7IGRnLWFkZGl0aW9uYWwtb3B0aW9ucyAiLXN0ZD1jOTkgLU8zIC1mdHJl ZS12ZWN0b3JpemUgLWZuby12ZWN0LWNvc3QtbW9kZWwgLWZmYXN0LW1hdGgi IH0gKi8NCisNCisjaW5jbHVkZSAidGVzdC1tYXRoLmgiDQorDQorI2RlZmlu ZSBBUlJBWV9TSVpFIDEyOA0KKw0KK2Zsb2F0IGluW0FSUkFZX1NJWkVdOw0K K2Zsb2F0IG91dFtBUlJBWV9TSVpFXTsNCitmbG9hdCByZWZbQVJSQVlfU0la RV07DQorDQorVEVTVF9VTkFSWV9DQUxMIChmbG9hdCwgX19idWlsdGluX2Zs b29yZikNCitURVNUX0FTU0VSVCAoZmxvYXQpDQorDQorVEVTVF9JTklUIChm bG9hdCwgMS4yLCAxLjAsIDEpDQorVEVTVF9JTklUIChmbG9hdCwgLTEuMiwg LTIuMCwgMikNCitURVNUX0lOSVQgKGZsb2F0LCAzLjAsIDMuMCwgMykNCitU RVNUX0lOSVQgKGZsb2F0LCA4Mzg4NjA3LjUsIDgzODg2MDcuMCwgNCkNCitU RVNUX0lOSVQgKGZsb2F0LCA4Mzg4NjA5LjAsIDgzODg2MDkuMCwgNSkNCitU RVNUX0lOSVQgKGZsb2F0LCAwLjAsIDAuMCwgNikNCitURVNUX0lOSVQgKGZs b2F0LCAtMC4wLCAtMC4wLCA3KQ0KK1RFU1RfSU5JVCAoZmxvYXQsIC04Mzg4 NjA3LjUsIC04Mzg4NjA4LjAsIDgpDQorVEVTVF9JTklUIChmbG9hdCwgLTgz ODg2MDguMCwgLTgzODg2MDguMCwgOSkNCisNCitpbnQNCittYWluICgpDQor ew0KKyAgUlVOX1RFU1QgKGZsb2F0LCAxLCBfX2J1aWx0aW5fZmxvb3JmLCBp biwgb3V0LCByZWYsIEFSUkFZX1NJWkUpOw0KKyAgUlVOX1RFU1QgKGZsb2F0 LCAyLCBfX2J1aWx0aW5fZmxvb3JmLCBpbiwgb3V0LCByZWYsIEFSUkFZX1NJ WkUpOw0KKyAgUlVOX1RFU1QgKGZsb2F0LCAzLCBfX2J1aWx0aW5fZmxvb3Jm LCBpbiwgb3V0LCByZWYsIEFSUkFZX1NJWkUpOw0KKyAgUlVOX1RFU1QgKGZs b2F0LCA0LCBfX2J1aWx0aW5fZmxvb3JmLCBpbiwgb3V0LCByZWYsIEFSUkFZ X1NJWkUpOw0KKyAgUlVOX1RFU1QgKGZsb2F0LCA1LCBfX2J1aWx0aW5fZmxv b3JmLCBpbiwgb3V0LCByZWYsIEFSUkFZX1NJWkUpOw0KKyAgUlVOX1RFU1Qg KGZsb2F0LCA2LCBfX2J1aWx0aW5fZmxvb3JmLCBpbiwgb3V0LCByZWYsIEFS UkFZX1NJWkUpOw0KKyAgUlVOX1RFU1QgKGZsb2F0LCA3LCBfX2J1aWx0aW5f Zmxvb3JmLCBpbiwgb3V0LCByZWYsIEFSUkFZX1NJWkUpOw0KKyAgUlVOX1RF U1QgKGZsb2F0LCA4LCBfX2J1aWx0aW5fZmxvb3JmLCBpbiwgb3V0LCByZWYs IEFSUkFZX1NJWkUpOw0KKyAgUlVOX1RFU1QgKGZsb2F0LCA5LCBfX2J1aWx0 aW5fZmxvb3JmLCBpbiwgb3V0LCByZWYsIEFSUkFZX1NJWkUpOw0KKw0KKyAg cmV0dXJuIDA7DQorfQ0KZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2Nj LnRhcmdldC9yaXNjdi9ydnYvYXV0b3ZlYy91bm9wL21hdGgtZmxvb3ItcnVu LTIuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9ydnYvYXV0 b3ZlYy91bm9wL21hdGgtZmxvb3ItcnVuLTIuYw0KbmV3IGZpbGUgbW9kZSAx MDA2NDQNCmluZGV4IDAwMDAwMDAwMDAwLi4zNjdhMTZkZDcxNA0KLS0tIC9k ZXYvbnVsbA0KKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2 L3J2di9hdXRvdmVjL3Vub3AvbWF0aC1mbG9vci1ydW4tMi5jDQpAQCAtMCww ICsxLDM5IEBADQorLyogeyBkZy1kbyBydW4geyB0YXJnZXQgeyByaXNjdl92 ZWN0b3IgfSB9IH0gKi8NCisvKiB7IGRnLWFkZGl0aW9uYWwtb3B0aW9ucyAi LXN0ZD1jOTkgLU8zIC1mdHJlZS12ZWN0b3JpemUgLWZuby12ZWN0LWNvc3Qt bW9kZWwgLWZmYXN0LW1hdGgiIH0gKi8NCisNCisjaW5jbHVkZSAidGVzdC1t YXRoLmgiDQorDQorI2RlZmluZSBBUlJBWV9TSVpFIDEyOA0KKw0KK2RvdWJs ZSBpbltBUlJBWV9TSVpFXTsNCitkb3VibGUgb3V0W0FSUkFZX1NJWkVdOw0K K2RvdWJsZSByZWZbQVJSQVlfU0laRV07DQorDQorVEVTVF9VTkFSWV9DQUxM IChkb3VibGUsIF9fYnVpbHRpbl9mbG9vcikNCitURVNUX0FTU0VSVCAoZG91 YmxlKQ0KKw0KK1RFU1RfSU5JVCAoZG91YmxlLCAxLjIsIDEuMCwgMSkNCitU RVNUX0lOSVQgKGRvdWJsZSwgLTEuMiwgLTIuMCwgMikNCitURVNUX0lOSVQg KGRvdWJsZSwgMy4wLCAzLjAsIDMpDQorVEVTVF9JTklUIChkb3VibGUsIDQ1 MDM1OTk2MjczNzA0OTUuNSwgNDUwMzU5OTYyNzM3MDQ5NS4wLCA0KQ0KK1RF U1RfSU5JVCAoZG91YmxlLCA0NTAzNTk5NjI3MzcwNDk3LjAsIDQ1MDM1OTk2 MjczNzA0OTcuMCwgNSkNCitURVNUX0lOSVQgKGRvdWJsZSwgMC4wLCAwLjAs IDYpDQorVEVTVF9JTklUIChkb3VibGUsIC0wLjAsIC0wLjAsIDcpDQorVEVT VF9JTklUIChkb3VibGUsIC00NTAzNTk5NjI3MzcwNDk1LjUsIC00NTAzNTk5 NjI3MzcwNDk2LjAsIDgpDQorVEVTVF9JTklUIChkb3VibGUsIC00NTAzNTk5 NjI3MzcwNDk2LjAsIC00NTAzNTk5NjI3MzcwNDk2LjAsIDkpDQorDQoraW50 DQorbWFpbiAoKQ0KK3sNCisgIFJVTl9URVNUIChkb3VibGUsIDEsIF9fYnVp bHRpbl9mbG9vciwgaW4sIG91dCwgcmVmLCBBUlJBWV9TSVpFKTsNCisgIFJV Tl9URVNUIChkb3VibGUsIDIsIF9fYnVpbHRpbl9mbG9vciwgaW4sIG91dCwg cmVmLCBBUlJBWV9TSVpFKTsNCisgIFJVTl9URVNUIChkb3VibGUsIDMsIF9f YnVpbHRpbl9mbG9vciwgaW4sIG91dCwgcmVmLCBBUlJBWV9TSVpFKTsNCisg IFJVTl9URVNUIChkb3VibGUsIDQsIF9fYnVpbHRpbl9mbG9vciwgaW4sIG91 dCwgcmVmLCBBUlJBWV9TSVpFKTsNCisgIFJVTl9URVNUIChkb3VibGUsIDUs IF9fYnVpbHRpbl9mbG9vciwgaW4sIG91dCwgcmVmLCBBUlJBWV9TSVpFKTsN CisgIFJVTl9URVNUIChkb3VibGUsIDYsIF9fYnVpbHRpbl9mbG9vciwgaW4s IG91dCwgcmVmLCBBUlJBWV9TSVpFKTsNCisgIFJVTl9URVNUIChkb3VibGUs IDcsIF9fYnVpbHRpbl9mbG9vciwgaW4sIG91dCwgcmVmLCBBUlJBWV9TSVpF KTsNCisgIFJVTl9URVNUIChkb3VibGUsIDgsIF9fYnVpbHRpbl9mbG9vciwg aW4sIG91dCwgcmVmLCBBUlJBWV9TSVpFKTsNCisgIFJVTl9URVNUIChkb3Vi bGUsIDksIF9fYnVpbHRpbl9mbG9vciwgaW4sIG91dCwgcmVmLCBBUlJBWV9T SVpFKTsNCisNCisgIHJldHVybiAwOw0KK30NCmRpZmYgLS1naXQgYS9nY2Mv dGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcnZ2L2F1dG92ZWMvdmxzL21h dGgtZmxvb3ItMS5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2 L3J2di9hdXRvdmVjL3Zscy9tYXRoLWZsb29yLTEuYw0KbmV3IGZpbGUgbW9k ZSAxMDA2NDQNCmluZGV4IDAwMDAwMDAwMDAwLi4wNzY1ODBlNmE1OA0KLS0t IC9kZXYvbnVsbA0KKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jp c2N2L3J2di9hdXRvdmVjL3Zscy9tYXRoLWZsb29yLTEuYw0KQEAgLTAsMCAr MSw1NiBAQA0KKy8qIHsgZGctZG8gY29tcGlsZSB9ICovDQorLyogeyBkZy1v cHRpb25zICItbWFyY2g9cnY2NGdjdl96dmZoX3p2bDQwOTZiIC1tYWJpPWxw NjRkIC1PMyAtLXBhcmFtPXJpc2N2LWF1dG92ZWMtbG11bD1tOCAtZmZhc3Qt bWF0aCAtZmR1bXAtdHJlZS1vcHRpbWl6ZWQiIH0gKi8NCisNCisjaW5jbHVk ZSAiZGVmLmgiDQorDQorREVGX09QX1YgKGZsb29yZjE2LCAxLCBfRmxvYXQx NiwgX19idWlsdGluX2Zsb29yZjE2KQ0KK0RFRl9PUF9WIChmbG9vcmYxNiwg MiwgX0Zsb2F0MTYsIF9fYnVpbHRpbl9mbG9vcmYxNikNCitERUZfT1BfViAo Zmxvb3JmMTYsIDQsIF9GbG9hdDE2LCBfX2J1aWx0aW5fZmxvb3JmMTYpDQor REVGX09QX1YgKGZsb29yZjE2LCA4LCBfRmxvYXQxNiwgX19idWlsdGluX2Zs b29yZjE2KQ0KK0RFRl9PUF9WIChmbG9vcmYxNiwgMTYsIF9GbG9hdDE2LCBf X2J1aWx0aW5fZmxvb3JmMTYpDQorREVGX09QX1YgKGZsb29yZjE2LCAzMiwg X0Zsb2F0MTYsIF9fYnVpbHRpbl9mbG9vcmYxNikNCitERUZfT1BfViAoZmxv b3JmMTYsIDY0LCBfRmxvYXQxNiwgX19idWlsdGluX2Zsb29yZjE2KQ0KK0RF Rl9PUF9WIChmbG9vcmYxNiwgMTI4LCBfRmxvYXQxNiwgX19idWlsdGluX2Zs b29yZjE2KQ0KK0RFRl9PUF9WIChmbG9vcmYxNiwgMjU2LCBfRmxvYXQxNiwg X19idWlsdGluX2Zsb29yZjE2KQ0KK0RFRl9PUF9WIChmbG9vcmYxNiwgNTEy LCBfRmxvYXQxNiwgX19idWlsdGluX2Zsb29yZjE2KQ0KK0RFRl9PUF9WIChm bG9vcmYxNiwgMTAyNCwgX0Zsb2F0MTYsIF9fYnVpbHRpbl9mbG9vcmYxNikN CitERUZfT1BfViAoZmxvb3JmMTYsIDIwNDgsIF9GbG9hdDE2LCBfX2J1aWx0 aW5fZmxvb3JmMTYpDQorDQorREVGX09QX1YgKGZsb29yZiwgMSwgZmxvYXQs IF9fYnVpbHRpbl9mbG9vcmYpDQorREVGX09QX1YgKGZsb29yZiwgMiwgZmxv YXQsIF9fYnVpbHRpbl9mbG9vcmYpDQorREVGX09QX1YgKGZsb29yZiwgNCwg ZmxvYXQsIF9fYnVpbHRpbl9mbG9vcmYpDQorREVGX09QX1YgKGZsb29yZiwg OCwgZmxvYXQsIF9fYnVpbHRpbl9mbG9vcmYpDQorREVGX09QX1YgKGZsb29y ZiwgMTYsIGZsb2F0LCBfX2J1aWx0aW5fZmxvb3JmKQ0KK0RFRl9PUF9WIChm bG9vcmYsIDMyLCBmbG9hdCwgX19idWlsdGluX2Zsb29yZikNCitERUZfT1Bf ViAoZmxvb3JmLCA2NCwgZmxvYXQsIF9fYnVpbHRpbl9mbG9vcmYpDQorREVG X09QX1YgKGZsb29yZiwgMTI4LCBmbG9hdCwgX19idWlsdGluX2Zsb29yZikN CitERUZfT1BfViAoZmxvb3JmLCAyNTYsIGZsb2F0LCBfX2J1aWx0aW5fZmxv b3JmKQ0KK0RFRl9PUF9WIChmbG9vcmYsIDUxMiwgZmxvYXQsIF9fYnVpbHRp bl9mbG9vcmYpDQorREVGX09QX1YgKGZsb29yZiwgMTAyNCwgZmxvYXQsIF9f YnVpbHRpbl9mbG9vcmYpDQorDQorREVGX09QX1YgKGZsb29yLCAxLCBkb3Vi bGUsIF9fYnVpbHRpbl9mbG9vcikNCitERUZfT1BfViAoZmxvb3IsIDIsIGRv dWJsZSwgX19idWlsdGluX2Zsb29yKQ0KK0RFRl9PUF9WIChmbG9vciwgNCwg ZG91YmxlLCBfX2J1aWx0aW5fZmxvb3IpDQorREVGX09QX1YgKGZsb29yLCA4 LCBkb3VibGUsIF9fYnVpbHRpbl9mbG9vcikNCitERUZfT1BfViAoZmxvb3Is IDE2LCBkb3VibGUsIF9fYnVpbHRpbl9mbG9vcikNCitERUZfT1BfViAoZmxv b3IsIDMyLCBkb3VibGUsIF9fYnVpbHRpbl9mbG9vcikNCitERUZfT1BfViAo Zmxvb3IsIDY0LCBkb3VibGUsIF9fYnVpbHRpbl9mbG9vcikNCitERUZfT1Bf ViAoZmxvb3IsIDEyOCwgZG91YmxlLCBfX2J1aWx0aW5fZmxvb3IpDQorREVG X09QX1YgKGZsb29yLCAyNTYsIGRvdWJsZSwgX19idWlsdGluX2Zsb29yKQ0K K0RFRl9PUF9WIChmbG9vciwgNTEyLCBkb3VibGUsIF9fYnVpbHRpbl9mbG9v cikNCisNCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItbm90IHtj c3JyfSB9IH0gKi8NCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi10cmVlLWR1bXAt bm90ICIxLDEiICJvcHRpbWl6ZWQiIH0gfSAqLw0KKy8qIHsgZGctZmluYWwg eyBzY2FuLXRyZWUtZHVtcC1ub3QgIjIsMiIgIm9wdGltaXplZCIgfSB9ICov DQorLyogeyBkZy1maW5hbCB7IHNjYW4tdHJlZS1kdW1wLW5vdCAiNCw0IiAi b3B0aW1pemVkIiB9IH0gKi8NCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi10cmVl LWR1bXAtbm90ICIxNiwxNiIgIm9wdGltaXplZCIgfSB9ICovDQorLyogeyBk Zy1maW5hbCB7IHNjYW4tdHJlZS1kdW1wLW5vdCAiMzIsMzIiICJvcHRpbWl6 ZWQiIH0gfSAqLw0KKy8qIHsgZGctZmluYWwgeyBzY2FuLXRyZWUtZHVtcC1u b3QgIjY0LDY0IiAib3B0aW1pemVkIiB9IH0gKi8NCisvKiB7IGRnLWZpbmFs IHsgc2Nhbi10cmVlLWR1bXAtbm90ICIxMjgsMTI4IiAib3B0aW1pemVkIiB9 IH0gKi8NCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi10cmVlLWR1bXAtbm90ICIy NTYsMjU2IiAib3B0aW1pemVkIiB9IH0gKi8NCisvKiB7IGRnLWZpbmFsIHsg c2Nhbi10cmVlLWR1bXAtbm90ICI1MTIsNTEyIiAib3B0aW1pemVkIiB9IH0g Ki8NCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi10cmVlLWR1bXAtbm90ICIxMDI0 LDEwMjQiICJvcHRpbWl6ZWQiIH0gfSAqLw0KKy8qIHsgZGctZmluYWwgeyBz Y2FuLXRyZWUtZHVtcC1ub3QgIjIwNDgsMjA0OCIgIm9wdGltaXplZCIgfSB9 ICovDQorLyogeyBkZy1maW5hbCB7IHNjYW4tdHJlZS1kdW1wLW5vdCAiNDA5 Niw0MDk2IiAib3B0aW1pemVkIiB9IH0gKi8NCisvKiB7IGRnLWZpbmFsIHsg c2Nhbi1hc3NlbWJsZXItdGltZXMge3ZmY3Z0XC54XC5mXC52XHMrdlswLTld Kyxccyp2WzAtOV0rLFxzKnYwXC50fSAzMCB9IH0gKi8NCisvKiB7IGRnLWZp bmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3ZmY3Z0XC5mXC54XC52XHMr dlswLTldKyxccyp2WzAtOV0rLFxzKnYwXC50fSAzMCB9IH0gKi8NCi0tIA0K Mi4zNC4xDQogDQogDQo= ------=_001_NextPart208304384677_=------