From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtpbguseast3.qq.com (smtpbguseast3.qq.com [54.243.244.52]) by sourceware.org (Postfix) with ESMTPS id 17E5C3858D35 for ; Fri, 16 Jun 2023 13:55:18 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 17E5C3858D35 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: bizesmtp75t1686923714t4h7nvhg Received: from TABLET-POE6JQHH ( [115.44.118.116]) by bizesmtp.qq.com (ESMTP) with id ; Fri, 16 Jun 2023 21:55:13 +0800 (CST) X-QQ-SSF: 01400000000000G0S000000A0000000 X-QQ-FEAT: zaFDuNB+epVETV3LmSHIQWwtqs/Iz7Omc2L06ldGK+DDY9W0J68i6Y79/kHqg depggnCNJHhvlN0UiDDh+RxDxvNNsVqpoTGuGHhbP2FLSIKvYicAsiaiUmGyq2t82oWNxsq Zn/stP6P1HVNK2HzkWuOI6yiXBEkMCnoAqI5COQhGrRPyfT7J7X/2or3FVGO+ZjFF3P0JO9 GCzdEMd+clCV/z9DSmuEzskKhiul4jZ31WF6Sq9AzSHvJtsrgClWvrAgr4FQKnaY8nVLjQO 2KsxVQqLfjUSAIX04/vPlzOChM+57qAw4PvQtRnaKYR8mHMzpKC1WgJkFjcsjUGLd8EOkcw eM7ndTXtR/Je7rbeQygtOZcLVhQ9yaFKEzU3y3gWPv2bmQjWyOnSPOc/GG4HaHrVEmk27KE 7LpdPXUJLQ0UypkrJf7DzA== X-QQ-GoodBg: 2 X-BIZMAIL-ID: 14477661218634700233 Date: Fri, 16 Jun 2023 21:55:13 +0800 From: =?UTF-8?B?6ZKf5bGF5ZOy?= To: rdapp.gcc , "Jeff Law" , gcc-patches , palmer , kito.cheng Cc: rdapp.gcc Subject: Re: [PATCH v2] RISC-V: Implement vec_set and vec_extract. References: , , <0f6bc554-5685-c8ad-9ac8-1a9af8612e49@gmail.com> X-Priority: 3 X-GUID: A38F67C2-C2A0-4958-8944-AA43047C4200 X-Has-Attach: no X-Mailer: Foxmail 7.2.23.121[cn] Mime-Version: 1.0 Message-ID: <5D0DB9E6E32D3B0B+2023061621551301462323@rivai.ai> Content-Type: multipart/alternative; boundary="----=_001_NextPart258342224832_=----" X-QQ-SENDSIZE: 520 Feedback-ID: bizesmtp:rivai.ai:qybglogicsvrgz:qybglogicsvrgz7a-one-0 X-Spam-Status: No, score=-11.3 required=5.0 tests=BAYES_00,GIT_PATCH_0,HTML_MESSAGE,KAM_DMARC_STATUS,KAM_SHORT,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_NextPart258342224832_=---- Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: base64 TEdUTQ0KDQoNCg0KanV6aGUuemhvbmdAcml2YWkuYWkNCiANCkZyb206IFJv YmluIERhcHANCkRhdGU6IDIwMjMtMDYtMTYgMjE6NDENClRvOiBKZWZmIExh dzsgZ2NjLXBhdGNoZXM7IHBhbG1lcjsgS2l0byBDaGVuZzsganV6aGUuemhv bmdAcml2YWkuYWkNCkNDOiByZGFwcC5nY2MNClN1YmplY3Q6IFtQQVRDSCB2 Ml0gUklTQy1WOiBJbXBsZW1lbnQgdmVjX3NldCBhbmQgdmVjX2V4dHJhY3Qu DQpIaSwNCiANCndpdGggdGhlIHJlY2VudCBjaGFuZ2VzIHRoYXQgd2UgYWxz byBwYXNzIHRoZSByZXR1cm4gdmFsdWUgdmlhDQpzdGFjayB0aGlzIGlzIGNh biBnbyBmb3J3YXJkIG5vdy4NCiANCkNoYW5nZXMgaW4gVjI6DQotIFJlbW92 ZSByZWR1bmRhbnQgZm9yY2VfcmVnLg0KLSBDaGFuZ2UgdGFyZ2V0IHNlbGVj dG9ycyB0byB0aG9zZSBpbnRyb2R1Y2VkIGluIHRoZSBiaW5vcCBwYXRjaC4N CiANClJlZ2FyZHMNClJvYmluDQogDQogDQpUaGlzIGltcGxlbWVudHMgdGhl IHZlY19zZXQgYW5kIHZlY19leHRyYWN0IHBhdHRlcm5zIGZvciBpbnRlZ2Vy IGFuZA0KZmxvYXRpbmctcG9pbnQgZGF0YSB0eXBlcy4gIEZvciB2ZWNfc2V0 IHdlIGJyb2FkY2FzdCB0aGUgaW5zZXJ0IHZhbHVlIHRvDQphIHZlY3RvciBy ZWdpc3RlciBhbmQgdGhlbiBwZXJmb3JtIGEgdnNsaWRldXAgd2l0aCBlZmZl Y3RpdmUgbGVuZ3RoIDEgdG8NCnRoZSByZXF1ZXN0ZWQgaW5kZXguDQogDQp2 ZWNfZXh0cmFjdCBpcyBkb25lIGJ5IHNsaWRpbmcgZG93biB0aGUgcmVxdWVz dGVkIGVsZW1lbnQgdG8gaW5kZXggMA0KYW5kIHYoZiltdi5beGZdLnMgdG8g YSBzY2FsYXIgcmVnaXN0ZXIuDQogDQpUaGUgcGF0Y2ggZG9lcyBub3QgaW5j bHVkZSB2ZWN0b3ItdmVjdG9yIGV4dHJhY3Rpb24gd2hpY2gNCndpbGwgYmUg ZG9uZSBhdCBhIGxhdGVyIHRpbWUuDQogDQpnY2MvQ2hhbmdlTG9nOg0KIA0K KiBjb25maWcvcmlzY3YvYXV0b3ZlYy5tZCAodmVjX3NldDxtb2RlPik6IElt cGxlbWVudC4NCih2ZWNfZXh0cmFjdDxtb2RlPjx2ZWw+KTogSW1wbGVtZW50 Lg0KKiBjb25maWcvcmlzY3YvcmlzY3YtcHJvdG9zLmggKGVudW0gaW5zbl90 eXBlKTogQWRkIHNsaWRlIGluc24uDQooZW1pdF92bG1heF9zbGlkZV9pbnNu KTogRGVjbGFyZS4NCihlbWl0X25vbnZsbWF4X3NsaWRlX3R1X2luc24pOiBE ZWNsYXJlLg0KKGVtaXRfc2NhbGFyX21vdmVfaW5zbik6IEV4cG9ydC4NCihl bWl0X25vbnZsbWF4X2ludGVnZXJfbW92ZV9pbnNuKTogRXhwb3J0Lg0KKiBj b25maWcvcmlzY3YvcmlzY3Ytdi5jYyAoZW1pdF92bG1heF9zbGlkZV9pbnNu KTogTmV3IGZ1bmN0aW9uLg0KKGVtaXRfbm9udmxtYXhfc2xpZGVfdHVfaW5z bik6IE5ldyBmdW5jdGlvbi4NCihlbWl0X3ZsbWF4X21hc2tlZF9tdV9pbnNu KTogTm8gY2hhbmdlLg0KKGVtaXRfdmxtYXhfaW50ZWdlcl9tb3ZlX2luc24p OiBFeHBvcnQuDQogDQpnY2MvdGVzdHN1aXRlL0NoYW5nZUxvZzoNCiANCiog Z2NjLnRhcmdldC9yaXNjdi9ydnYvYXV0b3ZlYy92bHMtdmxtYXgvdmVjX2V4 dHJhY3QtMS5jOiBOZXcgdGVzdC4NCiogZ2NjLnRhcmdldC9yaXNjdi9ydnYv YXV0b3ZlYy92bHMtdmxtYXgvdmVjX2V4dHJhY3QtMi5jOiBOZXcgdGVzdC4N CiogZ2NjLnRhcmdldC9yaXNjdi9ydnYvYXV0b3ZlYy92bHMtdmxtYXgvdmVj X2V4dHJhY3QtMy5jOiBOZXcgdGVzdC4NCiogZ2NjLnRhcmdldC9yaXNjdi9y dnYvYXV0b3ZlYy92bHMtdmxtYXgvdmVjX2V4dHJhY3QtNC5jOiBOZXcgdGVz dC4NCiogZ2NjLnRhcmdldC9yaXNjdi9ydnYvYXV0b3ZlYy92bHMtdmxtYXgv dmVjX2V4dHJhY3QtenZmaC1ydW4uYzoNCk5ldyB0ZXN0Lg0KKiBnY2MudGFy Z2V0L3Jpc2N2L3J2di9hdXRvdmVjL3Zscy12bG1heC92ZWNfc2V0LTEuYzog TmV3IHRlc3QuDQoqIGdjYy50YXJnZXQvcmlzY3YvcnZ2L2F1dG92ZWMvdmxz LXZsbWF4L3ZlY19zZXQtMi5jOiBOZXcgdGVzdC4NCiogZ2NjLnRhcmdldC9y aXNjdi9ydnYvYXV0b3ZlYy92bHMtdmxtYXgvdmVjX3NldC0zLmM6IE5ldyB0 ZXN0Lg0KKiBnY2MudGFyZ2V0L3Jpc2N2L3J2di9hdXRvdmVjL3Zscy12bG1h eC92ZWNfc2V0LTQuYzogTmV3IHRlc3QuDQoqIGdjYy50YXJnZXQvcmlzY3Yv cnZ2L2F1dG92ZWMvdmxzLXZsbWF4L3ZlY19zZXQtcnVuLmM6IE5ldyB0ZXN0 Lg0KKiBnY2MudGFyZ2V0L3Jpc2N2L3J2di9hdXRvdmVjL3Zscy12bG1heC92 ZWNfc2V0LXp2ZmgtcnVuLmM6DQpOZXcgdGVzdC4NCi0tLQ0KZ2NjL2NvbmZp Zy9yaXNjdi9hdXRvdmVjLm1kICAgICAgICAgICAgICAgICAgIHwgIDc5ICsr KysrKw0KZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi1wcm90b3MuaCAgICAgICAg ICAgICAgIHwgICA1ICsNCmdjYy9jb25maWcvcmlzY3YvcmlzY3Ytdi5jYyAg ICAgICAgICAgICAgICAgICB8ICA1MCArKystDQouLi4vcnZ2L2F1dG92ZWMv dmxzLXZsbWF4L3ZlY19leHRyYWN0LTEuYyAgICAgfCAgNTcgKysrKysNCi4u Li9ydnYvYXV0b3ZlYy92bHMtdmxtYXgvdmVjX2V4dHJhY3QtMi5jICAgICB8 ICA2OCArKysrKw0KLi4uL3J2di9hdXRvdmVjL3Zscy12bG1heC92ZWNfZXh0 cmFjdC0zLmMgICAgIHwgIDY5ICsrKysrDQouLi4vcnZ2L2F1dG92ZWMvdmxz LXZsbWF4L3ZlY19leHRyYWN0LTQuYyAgICAgfCAgNzIgKysrKysrDQouLi4v cnZ2L2F1dG92ZWMvdmxzLXZsbWF4L3ZlY19leHRyYWN0LXJ1bi5jICAgfCAy MzkgKysrKysrKysrKysrKysrKysNCi4uLi9hdXRvdmVjL3Zscy12bG1heC92 ZWNfZXh0cmFjdC16dmZoLXJ1bi5jICB8ICA3NyArKysrKysNCi4uLi9yaXNj di9ydnYvYXV0b3ZlYy92bHMtdmxtYXgvdmVjX3NldC0xLmMgICB8ICA2MiAr KysrKw0KLi4uL3Jpc2N2L3J2di9hdXRvdmVjL3Zscy12bG1heC92ZWNfc2V0 LTIuYyAgIHwgIDc0ICsrKysrKw0KLi4uL3Jpc2N2L3J2di9hdXRvdmVjL3Zs cy12bG1heC92ZWNfc2V0LTMuYyAgIHwgIDc2ICsrKysrKw0KLi4uL3Jpc2N2 L3J2di9hdXRvdmVjL3Zscy12bG1heC92ZWNfc2V0LTQuYyAgIHwgIDc5ICsr KysrKw0KLi4uL3Jpc2N2L3J2di9hdXRvdmVjL3Zscy12bG1heC92ZWNfc2V0 LXJ1bi5jIHwgMjQwICsrKysrKysrKysrKysrKysrKw0KLi4uL3J2di9hdXRv dmVjL3Zscy12bG1heC92ZWNfc2V0LXp2ZmgtcnVuLmMgIHwgIDc4ICsrKysr Kw0KMTUgZmlsZXMgY2hhbmdlZCwgMTMyMyBpbnNlcnRpb25zKCspLCAyIGRl bGV0aW9ucygtKQ0KY3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3VpdGUv Z2NjLnRhcmdldC9yaXNjdi9ydnYvYXV0b3ZlYy92bHMtdmxtYXgvdmVjX2V4 dHJhY3QtMS5jDQpjcmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0ZS9n Y2MudGFyZ2V0L3Jpc2N2L3J2di9hdXRvdmVjL3Zscy12bG1heC92ZWNfZXh0 cmFjdC0yLmMNCmNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2dj Yy50YXJnZXQvcmlzY3YvcnZ2L2F1dG92ZWMvdmxzLXZsbWF4L3ZlY19leHRy YWN0LTMuYw0KY3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3VpdGUvZ2Nj LnRhcmdldC9yaXNjdi9ydnYvYXV0b3ZlYy92bHMtdmxtYXgvdmVjX2V4dHJh Y3QtNC5jDQpjcmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0ZS9nY2Mu dGFyZ2V0L3Jpc2N2L3J2di9hdXRvdmVjL3Zscy12bG1heC92ZWNfZXh0cmFj dC1ydW4uYw0KY3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3VpdGUvZ2Nj LnRhcmdldC9yaXNjdi9ydnYvYXV0b3ZlYy92bHMtdmxtYXgvdmVjX2V4dHJh Y3QtenZmaC1ydW4uYw0KY3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3Vp dGUvZ2NjLnRhcmdldC9yaXNjdi9ydnYvYXV0b3ZlYy92bHMtdmxtYXgvdmVj X3NldC0xLmMNCmNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2dj Yy50YXJnZXQvcmlzY3YvcnZ2L2F1dG92ZWMvdmxzLXZsbWF4L3ZlY19zZXQt Mi5jDQpjcmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0ZS9nY2MudGFy Z2V0L3Jpc2N2L3J2di9hdXRvdmVjL3Zscy12bG1heC92ZWNfc2V0LTMuYw0K Y3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9y aXNjdi9ydnYvYXV0b3ZlYy92bHMtdmxtYXgvdmVjX3NldC00LmMNCmNyZWF0 ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3Yv cnZ2L2F1dG92ZWMvdmxzLXZsbWF4L3ZlY19zZXQtcnVuLmMNCmNyZWF0ZSBt b2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcnZ2 L2F1dG92ZWMvdmxzLXZsbWF4L3ZlY19zZXQtenZmaC1ydW4uYw0KIA0KZGlm ZiAtLWdpdCBhL2djYy9jb25maWcvcmlzY3YvYXV0b3ZlYy5tZCBiL2djYy9j b25maWcvcmlzY3YvYXV0b3ZlYy5tZA0KaW5kZXggYzIzYTYyNWFmZTEuLjk1 NjliNDIwZDQ1IDEwMDY0NA0KLS0tIGEvZ2NjL2NvbmZpZy9yaXNjdi9hdXRv dmVjLm1kDQorKysgYi9nY2MvY29uZmlnL3Jpc2N2L2F1dG92ZWMubWQNCkBA IC02NTUsMyArNjU1LDgyIEBAIChkZWZpbmVfZXhwYW5kICJzZWxlY3Rfdmw8 bW9kZT4iDQogICByaXNjdl92ZWN0b3I6OmV4cGFuZF9zZWxlY3RfdmwgKG9w ZXJhbmRzKTsNCiAgIERPTkU7DQp9KQ0KKw0KKzs7IC0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0NCis7OyAtLS0tIFtJTlQsRlBdIEluc2VydCBhIHZl Y3RvciBlbGVtZW50Lg0KKzs7IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0NCisNCisoZGVmaW5lX2V4cGFuZCAidmVjX3NldDxtb2RlPiINCisgIFso bWF0Y2hfb3BlcmFuZDpWIDAgInJlZ2lzdGVyX29wZXJhbmQiKQ0KKyAgICht YXRjaF9vcGVyYW5kOjxWRUw+IDEgInJlZ2lzdGVyX29wZXJhbmQiKQ0KKyAg IChtYXRjaF9vcGVyYW5kIDIgImltbWVkaWF0ZV9vcGVyYW5kIildDQorICAi VEFSR0VUX1ZFQ1RPUiINCit7DQorICAvKiBJZiB3ZSBzZXQgdGhlIGZpcnN0 IGVsZW1lbnQsIGVtaXQgYW4gdihmKW12LnMuW3hmXS4gICovDQorICBpZiAo b3BlcmFuZHNbMl0gPT0gY29uc3QwX3J0eCkNCisgICAgew0KKyAgICAgIHJ0 eCBvcHNbXSA9IHtvcGVyYW5kc1swXSwgcmlzY3ZfdmVjdG9yOjpnZW5fc2Nh bGFyX21vdmVfbWFzayAoPFZNPm1vZGUpLA0KKyAgICBSVlZfVlVOREVGICg8 TU9ERT5tb2RlKSwgb3BlcmFuZHNbMV19Ow0KKyAgICAgIHJpc2N2X3ZlY3Rv cjo6ZW1pdF9zY2FsYXJfbW92ZV9pbnNuDQorICAgKGNvZGVfZm9yX3ByZWRf YnJvYWRjYXN0ICg8TU9ERT5tb2RlKSwgb3BzKTsNCisgICAgfQ0KKyAgZWxz ZQ0KKyAgICB7DQorICAgICAgLyogTW92ZSB0aGUgZGVzaXJlZCB2YWx1ZSBp bnRvIGEgdmVjdG9yIHJlZ2lzdGVyIGFuZCBpbnNlcnQNCisgaXQgYXQgdGhl IHByb3BlciBwb3NpdGlvbiB1c2luZyB2c2xpZGV1cCB3aXRoIGFuDQorICJl ZmZlY3RpdmUgbGVuZ3RoIiBvZiAxIGkuZS4gYSBWTCAxIHBhc3QgdGhlIG9m ZnNldC4gICovDQorDQorICAgICAgLyogU2xpZGUgb2Zmc2V0ID0gZWxlbWVu dCBpbmRleC4gICovDQorICAgICAgaW50IG9mZnNldCA9IElOVFZBTCAob3Bl cmFuZHNbMl0pOw0KKw0KKyAgICAgIC8qIE9ubHkgaW5zZXJ0IG9uZSBlbGVt ZW50LCBpLmUuIFZMID0gb2Zmc2V0ICsgMS4gICovDQorICAgICAgcnR4IGxl bmd0aCA9IGdlbl9yZWdfcnR4IChQbW9kZSk7DQorICAgICAgZW1pdF9tb3Zl X2luc24gKGxlbmd0aCwgR0VOX0lOVCAob2Zmc2V0ICsgMSkpOw0KKw0KKyAg ICAgIC8qIE1vdmUgb3BlcmFuZHNbMV0gaW50byBhIHZlY3RvciByZWdpc3Rl ciB2aWEgdm12LnYueCB1c2luZyB0aGUgc2FtZQ0KKyBWTCB3ZSBuZWVkIGZv ciB0aGUgc2xpZGUuICAqLw0KKyAgICAgIHJ0eCB0bXAgPSBnZW5fcmVnX3J0 eCAoPE1PREU+bW9kZSk7DQorICAgICAgcnR4IG9wczFbXSA9IHt0bXAsIG9w ZXJhbmRzWzFdfTsNCisgICAgICByaXNjdl92ZWN0b3I6OmVtaXRfbm9udmxt YXhfaW50ZWdlcl9tb3ZlX2luc24NCisgKGNvZGVfZm9yX3ByZWRfYnJvYWRj YXN0ICg8TU9ERT5tb2RlKSwgb3BzMSwgbGVuZ3RoKTsNCisNCisgICAgICAv KiBTbGlkZSBleGFjdGx5IG9uZSBlbGVtZW50IHVwIGxlYXZpbmcgdGhlIHRh aWwgZWxlbWVudHMNCisgdW5jaGFuZ2VkLiAgKi8NCisgICAgICBydHggb3Bz MltdID0ge29wZXJhbmRzWzBdLCBvcGVyYW5kc1swXSwgdG1wLCBvcGVyYW5k c1syXX07DQorICAgICAgcmlzY3ZfdmVjdG9yOjplbWl0X25vbnZsbWF4X3Ns aWRlX3R1X2luc24NCisgKGNvZGVfZm9yX3ByZWRfc2xpZGUgKFVOU1BFQ19W U0xJREVVUCwgPE1PREU+bW9kZSksIG9wczIsIGxlbmd0aCk7DQorICAgIH0N CisgIERPTkU7DQorfSkNCisNCis7OyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tDQorOzsgLS0tLSBbSU5ULEZQXSBFeHRyYWN0IGEgdmVjdG9yIGVs ZW1lbnQuDQorOzsgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKyhk ZWZpbmVfZXhwYW5kICJ2ZWNfZXh0cmFjdDxtb2RlPjx2ZWw+Ig0KKyAgWyhz ZXQgKG1hdGNoX29wZXJhbmQ6PFZFTD4gICAwICJyZWdpc3Rlcl9vcGVyYW5k IikNCisgICAgICh2ZWNfc2VsZWN0OjxWRUw+DQorICAgICAgIChtYXRjaF9v cGVyYW5kOlYgICAxICJyZWdpc3Rlcl9vcGVyYW5kIikNCisgICAgICAgKHBh cmFsbGVsDQorIFsobWF0Y2hfb3BlcmFuZCAgIDIgIm5vbm1lbW9yeV9vcGVy YW5kIildKSkpXQ0KKyAgIlRBUkdFVF9WRUNUT1IiDQorew0KKyAgLyogRWxl bWVudCBleHRyYWN0aW9uIGNhbiBiZSBkb25lIGJ5IHNsaWRpbmcgZG93biB0 aGUgcmVxdWVzdGVkIGVsZW1lbnQNCisgICAgIHRvIGluZGV4IDAgYW5kIHRo ZW4gdihmKW12Llt4Zl0ucyBpdCB0byBhIHNjYWxhciByZWdpc3Rlci4gICov DQorDQorICAvKiBXaGVuIGV4dHJhY3RpbmcgYW55IG90aGVyIHRoYW4gdGhl IGZpcnN0IGVsZW1lbnQgd2UgbmVlZCB0byBzbGlkZQ0KKyAgICAgaXQgZG93 bi4gICovDQorICBydHggdG1wID0gTlVMTF9SVFg7DQorICBpZiAob3BlcmFu ZHNbMl0gIT0gY29uc3QwX3J0eCkNCisgICAgew0KKyAgICAgIC8qIEVtaXQg dGhlIHNsaWRlIGRvd24gdG8gaW5kZXggMCBpbiBhIG5ldyB2ZWN0b3IuICAq Lw0KKyAgICAgIHRtcCA9IGdlbl9yZWdfcnR4ICg8TU9ERT5tb2RlKTsNCisg ICAgICBydHggb3BzW10gPSB7dG1wLCBSVlZfVlVOREVGICg8TU9ERT5tb2Rl KSwgb3BlcmFuZHNbMV0sIG9wZXJhbmRzWzJdfTsNCisgICAgICByaXNjdl92 ZWN0b3I6OmVtaXRfdmxtYXhfc2xpZGVfaW5zbg0KKyAoY29kZV9mb3JfcHJl ZF9zbGlkZSAoVU5TUEVDX1ZTTElERURPV04sIDxNT0RFPm1vZGUpLCBvcHMp Ow0KKyAgICB9DQorDQorICAvKiBFbWl0IHYoZiltdi5beGZdLnMuICAqLw0K KyAgZW1pdF9pbnNuIChnZW5fcHJlZF9leHRyYWN0X2ZpcnN0ICg8TU9ERT5t b2RlLCBvcGVyYW5kc1swXSwNCisgICAgICB0bXAgPyB0bXAgOiBvcGVyYW5k c1sxXSkpOw0KKyAgRE9ORTsNCit9KQ0KZGlmZiAtLWdpdCBhL2djYy9jb25m aWcvcmlzY3YvcmlzY3YtcHJvdG9zLmggYi9nY2MvY29uZmlnL3Jpc2N2L3Jp c2N2LXByb3Rvcy5oDQppbmRleCBiMjNhOWMxMjQ2NS4uZjQyMmFkZjg1MjEg MTAwNjQ0DQotLS0gYS9nY2MvY29uZmlnL3Jpc2N2L3Jpc2N2LXByb3Rvcy5o DQorKysgYi9nY2MvY29uZmlnL3Jpc2N2L3Jpc2N2LXByb3Rvcy5oDQpAQCAt MTQ2LDYgKzE0Niw3IEBAIGVudW0gaW5zbl90eXBlDQogICBSVlZfVEVSTk9Q ID0gNSwNCiAgIFJWVl9XSURFTl9URVJOT1AgPSA0LA0KICAgUlZWX1NDQUxB Ul9NT1ZfT1AgPSA0LCAvKiArMSBmb3IgVlVOREVGIGFjY29yZGluZyB0byB2 ZWN0b3IubWQuICAqLw0KKyAgUlZWX1NMSURFX09QID0gNCwgICAgICAvKiBE ZXN0LCBWVU5ERUYsIHNvdXJjZSBhbmQgb2Zmc2V0LiAgKi8NCn07DQplbnVt IHZsbXVsX3R5cGUNCnsNCkBAIC0xODYsMTAgKzE4NywxNCBAQCB2b2lkIGVt aXRfaGFyZF92bG1heF92c2V0dmwgKG1hY2hpbmVfbW9kZSwgcnR4KTsNCnZv aWQgZW1pdF92bG1heF9pbnNuICh1bnNpZ25lZCwgaW50LCBydHggKiwgcnR4 ID0gMCk7DQp2b2lkIGVtaXRfdmxtYXhfdGVybmFyeV9pbnNuICh1bnNpZ25l ZCwgaW50LCBydHggKiwgcnR4ID0gMCk7DQp2b2lkIGVtaXRfbm9udmxtYXhf aW5zbiAodW5zaWduZWQsIGludCwgcnR4ICosIHJ0eCk7DQordm9pZCBlbWl0 X3ZsbWF4X3NsaWRlX2luc24gKHVuc2lnbmVkLCBydHggKik7DQordm9pZCBl bWl0X25vbnZsbWF4X3NsaWRlX3R1X2luc24gKHVuc2lnbmVkLCBydHggKiwg cnR4KTsNCnZvaWQgZW1pdF92bG1heF9tZXJnZV9pbnNuICh1bnNpZ25lZCwg aW50LCBydHggKik7DQp2b2lkIGVtaXRfdmxtYXhfY21wX2luc24gKHVuc2ln bmVkLCBydHggKik7DQp2b2lkIGVtaXRfdmxtYXhfY21wX211X2luc24gKHVu c2lnbmVkLCBydHggKik7DQp2b2lkIGVtaXRfdmxtYXhfbWFza2VkX211X2lu c24gKHVuc2lnbmVkLCBpbnQsIHJ0eCAqKTsNCit2b2lkIGVtaXRfc2NhbGFy X21vdmVfaW5zbiAodW5zaWduZWQsIHJ0eCAqKTsNCit2b2lkIGVtaXRfbm9u dmxtYXhfaW50ZWdlcl9tb3ZlX2luc24gKHVuc2lnbmVkLCBydHggKiwgcnR4 KTsNCmVudW0gdmxtdWxfdHlwZSBnZXRfdmxtdWwgKG1hY2hpbmVfbW9kZSk7 DQp1bnNpZ25lZCBpbnQgZ2V0X3JhdGlvIChtYWNoaW5lX21vZGUpOw0KdW5z aWduZWQgaW50IGdldF9uZiAobWFjaGluZV9tb2RlKTsNCmRpZmYgLS1naXQg YS9nY2MvY29uZmlnL3Jpc2N2L3Jpc2N2LXYuY2MgYi9nY2MvY29uZmlnL3Jp c2N2L3Jpc2N2LXYuY2MNCmluZGV4IGY5ZGRlZDZlOGMwLi4xYzg2Y2ZiZGNl ZSAxMDA2NDQNCi0tLSBhL2djYy9jb25maWcvcmlzY3YvcmlzY3Ytdi5jYw0K KysrIGIvZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi12LmNjDQpAQCAtNjk1LDYg KzY5NSw1MiBAQCBlbWl0X25vbnZsbWF4X2luc24gKHVuc2lnbmVkIGljb2Rl LCBpbnQgb3BfbnVtLCBydHggKm9wcywgcnR4IGF2bCkNCiAgIGUuZW1pdF9p bnNuICgoZW51bSBpbnNuX2NvZGUpIGljb2RlLCBvcHMpOw0KfQ0KKy8qIFRo aXMgZnVuY3Rpb24gZW1pdHMgYSB7Tk9OVkxNQVgsIFRBSUxfVU5ESVNUVVJC RUQsIE1BU0tfQU5ZfSB2c2V0dmxpDQorICAgZm9sbG93ZWQgYnkgYSB2c2xp ZGUgaW5zbiAod2l0aCByZWFsIG1lcmdlIG9wZXJhbmQpLiAgKi8NCit2b2lk DQorZW1pdF92bG1heF9zbGlkZV9pbnNuICh1bnNpZ25lZCBpY29kZSwgcnR4 ICpvcHMpDQorew0KKyAgbWFjaGluZV9tb2RlIGRlc3RfbW9kZSA9IEdFVF9N T0RFIChvcHNbMF0pOw0KKyAgbWFjaGluZV9tb2RlIG1hc2tfbW9kZSA9IGdl dF9tYXNrX21vZGUgKGRlc3RfbW9kZSkucmVxdWlyZSAoKTsNCisgIGluc25f ZXhwYW5kZXI8UlZWX0lOU05fT1BFUkFORFNfTUFYPiBlIChSVlZfU0xJREVf T1AsDQorICAgLyogSEFTX0RFU1RfUCAqLyB0cnVlLA0KKyAgIC8qIEZVTExZ X1VOTUFTS0VEX1AgKi8gdHJ1ZSwNCisgICAvKiBVU0VfUkVBTF9NRVJHRV9Q ICovIHRydWUsDQorICAgLyogSEFTX0FWTF9QICovIHRydWUsDQorICAgLyog VkxNQVhfUCAqLyB0cnVlLA0KKyAgIGRlc3RfbW9kZSwNCisgICBtYXNrX21v ZGUpOw0KKw0KKyAgZS5zZXRfcG9saWN5IChUQUlMX0FOWSk7DQorICBlLnNl dF9wb2xpY3kgKE1BU0tfQU5ZKTsNCisNCisgIGUuZW1pdF9pbnNuICgoZW51 bSBpbnNuX2NvZGUpIGljb2RlLCBvcHMpOw0KK30NCisNCisvKiBUaGlzIGZ1 bmN0aW9uIGVtaXRzIGEge05PTlZMTUFYLCBUQUlMX1VORElTVFVSQkVELCBN QVNLX0FOWX0gdnNldHZsaQ0KKyAgIGZvbGxvd2VkIGJ5IGEgdnNsaWRlIGlu c24gKHdpdGggcmVhbCBtZXJnZSBvcGVyYW5kKS4gICovDQordm9pZA0KK2Vt aXRfbm9udmxtYXhfc2xpZGVfdHVfaW5zbiAodW5zaWduZWQgaWNvZGUsIHJ0 eCAqb3BzLCBydHggYXZsKQ0KK3sNCisgIG1hY2hpbmVfbW9kZSBkZXN0X21v ZGUgPSBHRVRfTU9ERSAob3BzWzBdKTsNCisgIG1hY2hpbmVfbW9kZSBtYXNr X21vZGUgPSBnZXRfbWFza19tb2RlIChkZXN0X21vZGUpLnJlcXVpcmUgKCk7 DQorICBpbnNuX2V4cGFuZGVyPFJWVl9JTlNOX09QRVJBTkRTX01BWD4gZSAo UlZWX1NMSURFX09QLA0KKyAgIC8qIEhBU19ERVNUX1AgKi8gdHJ1ZSwNCisg ICAvKiBGVUxMWV9VTk1BU0tFRF9QICovIHRydWUsDQorICAgLyogVVNFX1JF QUxfTUVSR0VfUCAqLyB0cnVlLA0KKyAgIC8qIEhBU19BVkxfUCAqLyB0cnVl LA0KKyAgIC8qIFZMTUFYX1AgKi8gZmFsc2UsDQorICAgZGVzdF9tb2RlLA0K KyAgIG1hc2tfbW9kZSk7DQorDQorICBlLnNldF9wb2xpY3kgKFRBSUxfVU5E SVNUVVJCRUQpOw0KKyAgZS5zZXRfcG9saWN5IChNQVNLX0FOWSk7DQorICBl LnNldF92bCAoYXZsKTsNCisNCisgIGUuZW1pdF9pbnNuICgoZW51bSBpbnNu X2NvZGUpIGljb2RlLCBvcHMpOw0KK30NCisNCisNCi8qIFRoaXMgZnVuY3Rp b24gZW1pdHMgbWVyZ2UgaW5zdHJ1Y3Rpb24uICAqLw0Kdm9pZA0KZW1pdF92 bG1heF9tZXJnZV9pbnNuICh1bnNpZ25lZCBpY29kZSwgaW50IG9wX251bSwg cnR4ICpvcHMpDQpAQCAtNzY4LDcgKzgxNCw3IEBAIGVtaXRfdmxtYXhfbWFz a2VkX211X2luc24gKHVuc2lnbmVkIGljb2RlLCBpbnQgb3BfbnVtLCBydHgg Km9wcykNCi8qIEVtaXQgdm12LnMueCBpbnN0cnVjdGlvbi4gICovDQotc3Rh dGljIHZvaWQNCit2b2lkDQplbWl0X3NjYWxhcl9tb3ZlX2luc24gKHVuc2ln bmVkIGljb2RlLCBydHggKm9wcykNCnsNCiAgIG1hY2hpbmVfbW9kZSBkZXN0 X21vZGUgPSBHRVRfTU9ERSAob3BzWzBdKTsNCkBAIC03OTgsNyArODQ0LDcg QEAgZW1pdF92bG1heF9pbnRlZ2VyX21vdmVfaW5zbiAodW5zaWduZWQgaWNv ZGUsIHJ0eCAqb3BzLCBydHggdmwpDQovKiBFbWl0IHZtdi52LnggaW5zdHJ1 Y3Rpb24gd2l0aCBub252bG1heC4gICovDQotc3RhdGljIHZvaWQNCit2b2lk DQplbWl0X25vbnZsbWF4X2ludGVnZXJfbW92ZV9pbnNuICh1bnNpZ25lZCBp Y29kZSwgcnR4ICpvcHMsIHJ0eCBhdmwpDQp7DQogICBlbWl0X25vbnZsbWF4 X2luc24gKGljb2RlLCByaXNjdl92ZWN0b3I6OlJWVl9VTk9QLCBvcHMsIGF2 bCk7DQpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jp c2N2L3J2di9hdXRvdmVjL3Zscy12bG1heC92ZWNfZXh0cmFjdC0xLmMgYi9n Y2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcnZ2L2F1dG92ZWMvdmxz LXZsbWF4L3ZlY19leHRyYWN0LTEuYw0KbmV3IGZpbGUgbW9kZSAxMDA2NDQN CmluZGV4IDAwMDAwMDAwMDAwLi5iZGE1ODQzZThlNg0KLS0tIC9kZXYvbnVs bA0KKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2di9h dXRvdmVjL3Zscy12bG1heC92ZWNfZXh0cmFjdC0xLmMNCkBAIC0wLDAgKzEs NTcgQEANCisvKiB7IGRnLWRvIGNvbXBpbGUgfSAqLw0KKy8qIHsgZGctYWRk aXRpb25hbC1vcHRpb25zICItbWFyY2g9cnY2NGdjdl96dmZoIC1Xbm8tcGVk YW50aWMiIH0gKi8NCisNCisjaW5jbHVkZSA8c3RkaW50LWdjYy5oPg0KKw0K K3R5cGVkZWYgaW50NjRfdCB2bngyZGkgX19hdHRyaWJ1dGVfXygodmVjdG9y X3NpemUgKDE2KSkpOw0KK3R5cGVkZWYgaW50MzJfdCB2bng0c2kgX19hdHRy aWJ1dGVfXygodmVjdG9yX3NpemUgKDE2KSkpOw0KK3R5cGVkZWYgaW50MTZf dCB2bng4aGkgX19hdHRyaWJ1dGVfXygodmVjdG9yX3NpemUgKDE2KSkpOw0K K3R5cGVkZWYgaW50OF90IHZueDE2cWkgX19hdHRyaWJ1dGVfXygodmVjdG9y X3NpemUgKDE2KSkpOw0KK3R5cGVkZWYgX0Zsb2F0MTYgdm54OGhmIF9fYXR0 cmlidXRlX18oKHZlY3Rvcl9zaXplICgxNikpKTsNCit0eXBlZGVmIGZsb2F0 IHZueDRzZiBfX2F0dHJpYnV0ZV9fKCh2ZWN0b3Jfc2l6ZSAoMTYpKSk7DQor dHlwZWRlZiBkb3VibGUgdm54MmRmIF9fYXR0cmlidXRlX18oKHZlY3Rvcl9z aXplICgxNikpKTsNCisNCisNCisjZGVmaW5lIFZFQ19FWFRSQUNUKFMsVixJ RFgpIFwNCisgIFMgXA0KKyAgX19hdHRyaWJ1dGVfXygobm9pcGEpKSBcDQor ICB2ZWNfZXh0cmFjdF8jI1YjI18jI0lEWCAoViB2KSBcDQorICB7IFwNCisg ICAgcmV0dXJuIHZbSURYXTsgXA0KKyAgfQ0KKw0KKyNkZWZpbmUgVEVTVF9B TEwxKFQpIFwNCisgIFQgKF9GbG9hdDE2LCB2bng4aGYsIDApIFwNCisgIFQg KF9GbG9hdDE2LCB2bng4aGYsIDMpIFwNCisgIFQgKF9GbG9hdDE2LCB2bng4 aGYsIDcpIFwNCisgIFQgKGZsb2F0LCB2bng0c2YsIDApIFwNCisgIFQgKGZs b2F0LCB2bng0c2YsIDEpIFwNCisgIFQgKGZsb2F0LCB2bng0c2YsIDMpIFwN CisgIFQgKGRvdWJsZSwgdm54MmRmLCAwKSBcDQorICBUIChkb3VibGUsIHZu eDJkZiwgMSkgXA0KKyAgVCAoaW50NjRfdCwgdm54MmRpLCAwKSBcDQorICBU IChpbnQ2NF90LCB2bngyZGksIDEpIFwNCisgIFQgKGludDMyX3QsIHZueDRz aSwgMCkgXA0KKyAgVCAoaW50MzJfdCwgdm54NHNpLCAxKSBcDQorICBUIChp bnQzMl90LCB2bng0c2ksIDMpIFwNCisgIFQgKGludDE2X3QsIHZueDhoaSwg MCkgXA0KKyAgVCAoaW50MTZfdCwgdm54OGhpLCAyKSBcDQorICBUIChpbnQx Nl90LCB2bng4aGksIDYpIFwNCisgIFQgKGludDhfdCwgdm54MTZxaSwgMCkg XA0KKyAgVCAoaW50OF90LCB2bngxNnFpLCAxKSBcDQorICBUIChpbnQ4X3Qs IHZueDE2cWksIDcpIFwNCisgIFQgKGludDhfdCwgdm54MTZxaSwgMTEpIFwN CisgIFQgKGludDhfdCwgdm54MTZxaSwgMTUpIFwNCisNCitURVNUX0FMTDEg KFZFQ19FWFRSQUNUKQ0KKw0KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2Vt Ymxlci10aW1lcyB7dnNldFtpXSp2bGlccytbYS16MC05LF0rLFxzKmU4LFxz Km0xLFxzKnRhLFxzKm1hfSA1IH0gfSAqLw0KKy8qIHsgZGctZmluYWwgeyBz Y2FuLWFzc2VtYmxlci10aW1lcyB7dnNldFtpXSp2bGlccytbYS16MC05LF0r LFxzKmUxNixccyptMSxccyp0YSxccyptYX0gNiB9IH0gKi8NCisvKiB7IGRn LWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3ZzZXRbaV0qdmxpXHMr W2EtejAtOSxdKyxccyplMzIsXHMqbTEsXHMqdGEsXHMqbWF9IDYgfSB9ICov DQorLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2c2V0 W2ldKnZsaVxzK1thLXowLTksXSssXHMqZTY0LFxzKm0xLFxzKnRhLFxzKm1h fSA0IH0gfSAqLw0KKw0KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxl ci10aW1lcyB7XHR2c2xpZGVkb3duLnZpfSAxNCB9IH0gKi8NCisvKiB7IGRn LWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge1x0dnNsaWRlZG93bi52 eH0gMCB9IH0gKi8NCisNCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJs ZXItdGltZXMge1x0dmZtdi5mLnN9IDggfSB9ICovDQorLyogeyBkZy1maW5h bCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHtcdHZtdi54LnN9IDEzIH0gfSAq Lw0KZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNj di9ydnYvYXV0b3ZlYy92bHMtdmxtYXgvdmVjX2V4dHJhY3QtMi5jIGIvZ2Nj L3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2di9hdXRvdmVjL3Zscy12 bG1heC92ZWNfZXh0cmFjdC0yLmMNCm5ldyBmaWxlIG1vZGUgMTAwNjQ0DQpp bmRleCAwMDAwMDAwMDAwMC4uNDNhYTE1YzdkZGINCi0tLSAvZGV2L251bGwN CisrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9ydnYvYXV0 b3ZlYy92bHMtdmxtYXgvdmVjX2V4dHJhY3QtMi5jDQpAQCAtMCwwICsxLDY4 IEBADQorLyogeyBkZy1kbyBjb21waWxlIH0gKi8NCisvKiB7IGRnLWFkZGl0 aW9uYWwtb3B0aW9ucyAiLW1hcmNoPXJ2NjRnY3ZfenZmaCAtV25vLXBlZGFu dGljIiB9ICovDQorDQorI2luY2x1ZGUgPHN0ZGludC1nY2MuaD4NCisNCit0 eXBlZGVmIGludDY0X3Qgdm54NGRpIF9fYXR0cmlidXRlX18oKHZlY3Rvcl9z aXplICgzMikpKTsNCit0eXBlZGVmIGludDMyX3Qgdm54OHNpIF9fYXR0cmli dXRlX18oKHZlY3Rvcl9zaXplICgzMikpKTsNCit0eXBlZGVmIGludDE2X3Qg dm54MTZoaSBfX2F0dHJpYnV0ZV9fKCh2ZWN0b3Jfc2l6ZSAoMzIpKSk7DQor dHlwZWRlZiBpbnQ4X3Qgdm54MzJxaSBfX2F0dHJpYnV0ZV9fKCh2ZWN0b3Jf c2l6ZSAoMzIpKSk7DQordHlwZWRlZiBfRmxvYXQxNiB2bngxNmhmIF9fYXR0 cmlidXRlX18oKHZlY3Rvcl9zaXplICgzMikpKTsNCit0eXBlZGVmIGZsb2F0 IHZueDhzZiBfX2F0dHJpYnV0ZV9fKCh2ZWN0b3Jfc2l6ZSAoMzIpKSk7DQor dHlwZWRlZiBkb3VibGUgdm54NGRmIF9fYXR0cmlidXRlX18oKHZlY3Rvcl9z aXplICgzMikpKTsNCisNCisjZGVmaW5lIFZFQ19FWFRSQUNUKFMsVixJRFgp IFwNCisgIFMgXA0KKyAgX19hdHRyaWJ1dGVfXygobm9pcGEpKSBcDQorICB2 ZWNfZXh0cmFjdF8jI1YjI18jI0lEWCAoViB2KSBcDQorICB7IFwNCisgICAg cmV0dXJuIHZbSURYXTsgXA0KKyAgfQ0KKw0KKyNkZWZpbmUgVEVTVF9BTEwy KFQpIFwNCisgIFQgKF9GbG9hdDE2LCB2bngxNmhmLCAwKSBcDQorICBUIChf RmxvYXQxNiwgdm54MTZoZiwgMykgXA0KKyAgVCAoX0Zsb2F0MTYsIHZueDE2 aGYsIDcpIFwNCisgIFQgKF9GbG9hdDE2LCB2bngxNmhmLCA4KSBcDQorICBU IChfRmxvYXQxNiwgdm54MTZoZiwgMTUpIFwNCisgIFQgKGZsb2F0LCB2bng4 c2YsIDApIFwNCisgIFQgKGZsb2F0LCB2bng4c2YsIDEpIFwNCisgIFQgKGZs b2F0LCB2bng4c2YsIDMpIFwNCisgIFQgKGZsb2F0LCB2bng4c2YsIDQpIFwN CisgIFQgKGZsb2F0LCB2bng4c2YsIDcpIFwNCisgIFQgKGRvdWJsZSwgdm54 NGRmLCAwKSBcDQorICBUIChkb3VibGUsIHZueDRkZiwgMSkgXA0KKyAgVCAo ZG91YmxlLCB2bng0ZGYsIDIpIFwNCisgIFQgKGRvdWJsZSwgdm54NGRmLCAz KSBcDQorICBUIChpbnQ2NF90LCB2bng0ZGksIDApIFwNCisgIFQgKGludDY0 X3QsIHZueDRkaSwgMSkgXA0KKyAgVCAoaW50NjRfdCwgdm54NGRpLCAyKSBc DQorICBUIChpbnQ2NF90LCB2bng0ZGksIDMpIFwNCisgIFQgKGludDMyX3Qs IHZueDhzaSwgMCkgXA0KKyAgVCAoaW50MzJfdCwgdm54OHNpLCAxKSBcDQor ICBUIChpbnQzMl90LCB2bng4c2ksIDMpIFwNCisgIFQgKGludDMyX3QsIHZu eDhzaSwgNCkgXA0KKyAgVCAoaW50MzJfdCwgdm54OHNpLCA3KSBcDQorICBU IChpbnQxNl90LCB2bngxNmhpLCAwKSBcDQorICBUIChpbnQxNl90LCB2bngx NmhpLCAxKSBcDQorICBUIChpbnQxNl90LCB2bngxNmhpLCA3KSBcDQorICBU IChpbnQxNl90LCB2bngxNmhpLCA4KSBcDQorICBUIChpbnQxNl90LCB2bngx NmhpLCAxNSkgXA0KKyAgVCAoaW50OF90LCB2bngzMnFpLCAwKSBcDQorICBU IChpbnQ4X3QsIHZueDMycWksIDEpIFwNCisgIFQgKGludDhfdCwgdm54MzJx aSwgMTUpIFwNCisgIFQgKGludDhfdCwgdm54MzJxaSwgMTYpIFwNCisgIFQg KGludDhfdCwgdm54MzJxaSwgMzEpIFwNCisNCitURVNUX0FMTDIgKFZFQ19F WFRSQUNUKQ0KKw0KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10 aW1lcyB7dnNldFtpXSp2bGlccytbYS16MC05LF0rLFxzKmU4LFxzKm0yLFxz KnRhLFxzKm1hfSA1IH0gfSAqLw0KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFz c2VtYmxlci10aW1lcyB7dnNldFtpXSp2bGlccytbYS16MC05LF0rLFxzKmUx NixccyptMixccyp0YSxccyptYX0gMTAgfSB9ICovDQorLyogeyBkZy1maW5h bCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2c2V0W2ldKnZsaVxzK1thLXow LTksXSssXHMqZTMyLFxzKm0yLFxzKnRhLFxzKm1hfSAxMCB9IH0gKi8NCisv KiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3ZzZXRbaV0q dmxpXHMrW2EtejAtOSxdKyxccyplNjQsXHMqbTIsXHMqdGEsXHMqbWF9IDgg fSB9ICovDQorDQorLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRp bWVzIHtcdHZzbGlkZWRvd24udml9IDI2IH0gfSAqLw0KKy8qIHsgZGctZmlu YWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7XHR2c2xpZGVkb3duLnZ4fSAw IH0gfSAqLw0KKw0KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10 aW1lcyB7XHR2Zm12LmYuc30gMTQgfSB9ICovDQorLyogeyBkZy1maW5hbCB7 IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHtcdHZtdi54LnN9IDE5IH0gfSAqLw0K ZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9y dnYvYXV0b3ZlYy92bHMtdmxtYXgvdmVjX2V4dHJhY3QtMy5jIGIvZ2NjL3Rl c3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2di9hdXRvdmVjL3Zscy12bG1h eC92ZWNfZXh0cmFjdC0zLmMNCm5ldyBmaWxlIG1vZGUgMTAwNjQ0DQppbmRl eCAwMDAwMDAwMDAwMC4uZGEyNmVkOTcxNWYNCi0tLSAvZGV2L251bGwNCisr KyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9ydnYvYXV0b3Zl Yy92bHMtdmxtYXgvdmVjX2V4dHJhY3QtMy5jDQpAQCAtMCwwICsxLDY5IEBA DQorLyogeyBkZy1kbyBjb21waWxlIH0gKi8NCisvKiB7IGRnLWFkZGl0aW9u YWwtb3B0aW9ucyAiLW1hcmNoPXJ2NjRnY3ZfenZmaCAtV25vLXBlZGFudGlj IiB9ICovDQorDQorI2luY2x1ZGUgPHN0ZGludC1nY2MuaD4NCisNCit0eXBl ZGVmIGludDY0X3Qgdm54OGRpIF9fYXR0cmlidXRlX18oKHZlY3Rvcl9zaXpl ICg2NCkpKTsNCit0eXBlZGVmIGludDMyX3Qgdm54MTZzaSBfX2F0dHJpYnV0 ZV9fKCh2ZWN0b3Jfc2l6ZSAoNjQpKSk7DQordHlwZWRlZiBpbnQxNl90IHZu eDMyaGkgX19hdHRyaWJ1dGVfXygodmVjdG9yX3NpemUgKDY0KSkpOw0KK3R5 cGVkZWYgaW50OF90IHZueDY0cWkgX19hdHRyaWJ1dGVfXygodmVjdG9yX3Np emUgKDY0KSkpOw0KK3R5cGVkZWYgX0Zsb2F0MTYgdm54MzJoZiBfX2F0dHJp YnV0ZV9fKCh2ZWN0b3Jfc2l6ZSAoNjQpKSk7DQordHlwZWRlZiBmbG9hdCB2 bngxNnNmIF9fYXR0cmlidXRlX18oKHZlY3Rvcl9zaXplICg2NCkpKTsNCit0 eXBlZGVmIGRvdWJsZSB2bng4ZGYgX19hdHRyaWJ1dGVfXygodmVjdG9yX3Np emUgKDY0KSkpOw0KKw0KKyNkZWZpbmUgVkVDX0VYVFJBQ1QoUyxWLElEWCkg XA0KKyAgUyBcDQorICBfX2F0dHJpYnV0ZV9fKChub2lwYSkpIFwNCisgIHZl Y19leHRyYWN0XyMjViMjXyMjSURYIChWIHYpIFwNCisgIHsgXA0KKyAgICBy ZXR1cm4gdltJRFhdOyBcDQorICB9DQorDQorI2RlZmluZSBURVNUX0FMTDMo VCkgXA0KKyAgVCAoX0Zsb2F0MTYsIHZueDMyaGYsIDApIFwNCisgIFQgKF9G bG9hdDE2LCB2bngzMmhmLCAzKSBcDQorICBUIChfRmxvYXQxNiwgdm54MzJo ZiwgNykgXA0KKyAgVCAoX0Zsb2F0MTYsIHZueDMyaGYsIDgpIFwNCisgIFQg KF9GbG9hdDE2LCB2bngzMmhmLCAxNikgXA0KKyAgVCAoX0Zsb2F0MTYsIHZu eDMyaGYsIDMxKSBcDQorICBUIChmbG9hdCwgdm54MTZzZiwgMCkgXA0KKyAg VCAoZmxvYXQsIHZueDE2c2YsIDIpIFwNCisgIFQgKGZsb2F0LCB2bngxNnNm LCA2KSBcDQorICBUIChmbG9hdCwgdm54MTZzZiwgOCkgXA0KKyAgVCAoZmxv YXQsIHZueDE2c2YsIDE0KSBcDQorICBUIChkb3VibGUsIHZueDhkZiwgMCkg XA0KKyAgVCAoZG91YmxlLCB2bng4ZGYsIDIpIFwNCisgIFQgKGRvdWJsZSwg dm54OGRmLCA0KSBcDQorICBUIChkb3VibGUsIHZueDhkZiwgNikgXA0KKyAg VCAoaW50NjRfdCwgdm54OGRpLCAwKSBcDQorICBUIChpbnQ2NF90LCB2bng4 ZGksIDIpIFwNCisgIFQgKGludDY0X3QsIHZueDhkaSwgNCkgXA0KKyAgVCAo aW50NjRfdCwgdm54OGRpLCA2KSBcDQorICBUIChpbnQzMl90LCB2bngxNnNp LCAwKSBcDQorICBUIChpbnQzMl90LCB2bngxNnNpLCAyKSBcDQorICBUIChp bnQzMl90LCB2bngxNnNpLCA2KSBcDQorICBUIChpbnQzMl90LCB2bngxNnNp LCA4KSBcDQorICBUIChpbnQzMl90LCB2bngxNnNpLCAxNCkgXA0KKyAgVCAo aW50MTZfdCwgdm54MzJoaSwgMCkgXA0KKyAgVCAoaW50MTZfdCwgdm54MzJo aSwgMikgXA0KKyAgVCAoaW50MTZfdCwgdm54MzJoaSwgMTQpIFwNCisgIFQg KGludDE2X3QsIHZueDMyaGksIDE2KSBcDQorICBUIChpbnQxNl90LCB2bngz MmhpLCAzMCkgXA0KKyAgVCAoaW50OF90LCB2bng2NHFpLCAwKSBcDQorICBU IChpbnQ4X3QsIHZueDY0cWksIDIpIFwNCisgIFQgKGludDhfdCwgdm54NjRx aSwgMzApIFwNCisgIFQgKGludDhfdCwgdm54NjRxaSwgMzIpIFwNCisgIFQg KGludDhfdCwgdm54NjRxaSwgNjMpIFwNCisNCitURVNUX0FMTDMgKFZFQ19F WFRSQUNUKQ0KKw0KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10 aW1lcyB7dnNldFtpXSp2bGlccytbYS16MC05LF0rLFxzKmU4LFxzKm00LFxz KnRhLFxzKm1hfSA1IH0gfSAqLw0KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFz c2VtYmxlci10aW1lcyB7dnNldFtpXSp2bGlccytbYS16MC05LF0rLFxzKmUx NixccyptNCxccyp0YSxccyptYX0gMTEgfSB9ICovDQorLyogeyBkZy1maW5h bCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2c2V0W2ldKnZsaVxzK1thLXow LTksXSssXHMqZTMyLFxzKm00LFxzKnRhLFxzKm1hfSAxMCB9IH0gKi8NCisv KiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3ZzZXRbaV0q dmxpXHMrW2EtejAtOSxdKyxccyplNjQsXHMqbTQsXHMqdGEsXHMqbWF9IDgg fSB9ICovDQorDQorLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRp bWVzIHtcdHZzbGlkZWRvd24udml9IDI1IH0gfSAqLw0KKy8qIHsgZGctZmlu YWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7XHR2c2xpZGVkb3duLnZ4fSAy IH0gfSAqLw0KKw0KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10 aW1lcyB7XHR2Zm12LmYuc30gMTUgfSB9ICovDQorLyogeyBkZy1maW5hbCB7 IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHtcdHZtdi54LnN9IDE5IH0gfSAqLw0K ZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9y dnYvYXV0b3ZlYy92bHMtdmxtYXgvdmVjX2V4dHJhY3QtNC5jIGIvZ2NjL3Rl c3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2di9hdXRvdmVjL3Zscy12bG1h eC92ZWNfZXh0cmFjdC00LmMNCm5ldyBmaWxlIG1vZGUgMTAwNjQ0DQppbmRl eCAwMDAwMDAwMDAwMC4uMGQ3YzBlMTY1ODYNCi0tLSAvZGV2L251bGwNCisr KyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9ydnYvYXV0b3Zl Yy92bHMtdmxtYXgvdmVjX2V4dHJhY3QtNC5jDQpAQCAtMCwwICsxLDcyIEBA DQorLyogeyBkZy1kbyBjb21waWxlIH0gKi8NCisvKiB7IGRnLWFkZGl0aW9u YWwtb3B0aW9ucyAiLW1hcmNoPXJ2NjRnY3ZfenZmaCAtV25vLXBlZGFudGlj IiB9ICovDQorDQorI2luY2x1ZGUgPHN0ZGludC1nY2MuaD4NCisNCit0eXBl ZGVmIGludDY0X3Qgdm54MTZkaSBfX2F0dHJpYnV0ZV9fKCh2ZWN0b3Jfc2l6 ZSAoMTI4KSkpOw0KK3R5cGVkZWYgaW50MzJfdCB2bngzMnNpIF9fYXR0cmli dXRlX18oKHZlY3Rvcl9zaXplICgxMjgpKSk7DQordHlwZWRlZiBpbnQxNl90 IHZueDY0aGkgX19hdHRyaWJ1dGVfXygodmVjdG9yX3NpemUgKDEyOCkpKTsN Cit0eXBlZGVmIGludDhfdCB2bngxMjhxaSBfX2F0dHJpYnV0ZV9fKCh2ZWN0 b3Jfc2l6ZSAoMTI4KSkpOw0KK3R5cGVkZWYgX0Zsb2F0MTYgdm54NjRoZiBf X2F0dHJpYnV0ZV9fKCh2ZWN0b3Jfc2l6ZSAoMTI4KSkpOw0KK3R5cGVkZWYg ZmxvYXQgdm54MzJzZiBfX2F0dHJpYnV0ZV9fKCh2ZWN0b3Jfc2l6ZSAoMTI4 KSkpOw0KK3R5cGVkZWYgZG91YmxlIHZueDE2ZGYgX19hdHRyaWJ1dGVfXygo dmVjdG9yX3NpemUgKDEyOCkpKTsNCisNCisjZGVmaW5lIFZFQ19FWFRSQUNU KFMsVixJRFgpIFwNCisgIFMgXA0KKyAgX19hdHRyaWJ1dGVfXygobm9pcGEp KSBcDQorICB2ZWNfZXh0cmFjdF8jI1YjI18jI0lEWCAoViB2KSBcDQorICB7 IFwNCisgICAgcmV0dXJuIHZbSURYXTsgXA0KKyAgfQ0KKw0KKyNkZWZpbmUg VEVTVF9BTEw0KFQpIFwNCisgIFQgKF9GbG9hdDE2LCB2bng2NGhmLCAwKSBc DQorICBUIChfRmxvYXQxNiwgdm54NjRoZiwgMykgXA0KKyAgVCAoX0Zsb2F0 MTYsIHZueDY0aGYsIDcpIFwNCisgIFQgKF9GbG9hdDE2LCB2bng2NGhmLCA4 KSBcDQorICBUIChfRmxvYXQxNiwgdm54NjRoZiwgMTYpIFwNCisgIFQgKF9G bG9hdDE2LCB2bng2NGhmLCAzMSkgXA0KKyAgVCAoX0Zsb2F0MTYsIHZueDY0 aGYsIDQyKSBcDQorICBUIChfRmxvYXQxNiwgdm54NjRoZiwgNjMpIFwNCisg IFQgKGZsb2F0LCB2bngzMnNmLCAwKSBcDQorICBUIChmbG9hdCwgdm54MzJz ZiwgMykgXA0KKyAgVCAoZmxvYXQsIHZueDMyc2YsIDEyKSBcDQorICBUIChm bG9hdCwgdm54MzJzZiwgMTcpIFwNCisgIFQgKGZsb2F0LCB2bngzMnNmLCAx NCkgXA0KKyAgVCAoZG91YmxlLCB2bngxNmRmLCAwKSBcDQorICBUIChkb3Vi bGUsIHZueDE2ZGYsIDQpIFwNCisgIFQgKGRvdWJsZSwgdm54MTZkZiwgOCkg XA0KKyAgVCAoZG91YmxlLCB2bngxNmRmLCAxMikgXA0KKyAgVCAoaW50NjRf dCwgdm54MTZkaSwgMCkgXA0KKyAgVCAoaW50NjRfdCwgdm54MTZkaSwgNCkg XA0KKyAgVCAoaW50NjRfdCwgdm54MTZkaSwgOCkgXA0KKyAgVCAoaW50NjRf dCwgdm54MTZkaSwgMTIpIFwNCisgIFQgKGludDMyX3QsIHZueDMyc2ksIDAp IFwNCisgIFQgKGludDMyX3QsIHZueDMyc2ksIDQpIFwNCisgIFQgKGludDMy X3QsIHZueDMyc2ksIDEyKSBcDQorICBUIChpbnQzMl90LCB2bngzMnNpLCAx NikgXA0KKyAgVCAoaW50MzJfdCwgdm54MzJzaSwgMjgpIFwNCisgIFQgKGlu dDE2X3QsIHZueDY0aGksIDApIFwNCisgIFQgKGludDE2X3QsIHZueDY0aGks IDQpIFwNCisgIFQgKGludDE2X3QsIHZueDY0aGksIDI4KSBcDQorICBUIChp bnQxNl90LCB2bng2NGhpLCAzMikgXA0KKyAgVCAoaW50MTZfdCwgdm54NjRo aSwgNjApIFwNCisgIFQgKGludDhfdCwgdm54MTI4cWksIDApIFwNCisgIFQg KGludDhfdCwgdm54MTI4cWksIDQpIFwNCisgIFQgKGludDhfdCwgdm54MTI4 cWksIDMwKSBcDQorICBUIChpbnQ4X3QsIHZueDEyOHFpLCA2MCkgXA0KKyAg VCAoaW50OF90LCB2bngxMjhxaSwgNjQpIFwNCisgIFQgKGludDhfdCwgdm54 MTI4cWksIDEyNykgXA0KKw0KK1RFU1RfQUxMNCAoVkVDX0VYVFJBQ1QpDQor DQorLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2c2V0 W2ldKnZsaVxzK1thLXowLTksXSssXHMqZTgsXHMqbTgsXHMqdGEsXHMqbWF9 IDYgfSB9ICovDQorLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRp bWVzIHt2c2V0W2ldKnZsaVxzK1thLXowLTksXSssXHMqZTE2LFxzKm04LFxz KnRhLFxzKm1hfSAxMyB9IH0gKi8NCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1h c3NlbWJsZXItdGltZXMge3ZzZXRbaV0qdmxpXHMrW2EtejAtOSxdKyxccypl MzIsXHMqbTgsXHMqdGEsXHMqbWF9IDEwIH0gfSAqLw0KKy8qIHsgZGctZmlu YWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNldFtpXSp2bGlccytbYS16 MC05LF0rLFxzKmU2NCxccyptOCxccyp0YSxccyptYX0gOCB9IH0gKi8NCisN CisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge1x0dnNs aWRlZG93bi52aX0gMjMgfSB9ICovDQorLyogeyBkZy1maW5hbCB7IHNjYW4t YXNzZW1ibGVyLXRpbWVzIHtcdHZzbGlkZWRvd24udnh9IDcgfSB9ICovDQor DQorLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHtcdHZm bXYuZi5zfSAxNyB9IH0gKi8NCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3Nl bWJsZXItdGltZXMge1x0dm12Lnguc30gMjAgfSB9ICovDQpkaWZmIC0tZ2l0 IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2di9hdXRvdmVj L3Zscy12bG1heC92ZWNfZXh0cmFjdC1ydW4uYyBiL2djYy90ZXN0c3VpdGUv Z2NjLnRhcmdldC9yaXNjdi9ydnYvYXV0b3ZlYy92bHMtdmxtYXgvdmVjX2V4 dHJhY3QtcnVuLmMNCm5ldyBmaWxlIG1vZGUgMTAwNjQ0DQppbmRleCAwMDAw MDAwMDAwMC4uODJiZjZkNjc0ZWMNCi0tLSAvZGV2L251bGwNCisrKyBiL2dj Yy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9ydnYvYXV0b3ZlYy92bHMt dmxtYXgvdmVjX2V4dHJhY3QtcnVuLmMNCkBAIC0wLDAgKzEsMjM5IEBADQor LyogeyBkZy1kbyBydW4geyB0YXJnZXQgeyByaXNjdl92ZWN0b3IgfSB9IH0g Ki8NCisvKiB7IGRnLWFkZGl0aW9uYWwtb3B0aW9ucyAiLXN0ZD1jOTkgLW1h cmNoPXJ2NjRnY3YgLVduby1wZWRhbnRpYyIgfSAqLw0KKw0KKyNpbmNsdWRl IDxhc3NlcnQuaD4NCisNCisjaW5jbHVkZSAidmVjX2V4dHJhY3QtMS5jIg0K KyNpbmNsdWRlICJ2ZWNfZXh0cmFjdC0yLmMiDQorI2luY2x1ZGUgInZlY19l eHRyYWN0LTMuYyINCisjaW5jbHVkZSAidmVjX2V4dHJhY3QtNC5jIg0KKw0K KyNkZWZpbmUgQ0hFQ0soUywgViwgSURYKSBcDQordm9pZCBjaGVja18jI1Yj I18jI0lEWCAoKSBcDQorICB7IFwNCisgICAgViB2OyBcDQorICAgIGZvciAo aW50IGkgPSAwOyBpIDwgc2l6ZW9mIChWKSAvIHNpemVvZiAoUyk7IGkrKykg XA0KKyAgICAgIHZbaV0gPSBpOyBcDQorICAgIFMgcmVzID0gdmVjX2V4dHJh Y3RfIyNWIyNfIyNJRFggKHYpOyBcDQorICAgIGFzc2VydCAocmVzID09IHZb SURYXSk7IFwNCisgIH0NCisNCisjZGVmaW5lIENIRUNLX0FMTChUKSBcDQor ICBUIChmbG9hdCwgdm54NHNmLCAwKSBcDQorICBUIChmbG9hdCwgdm54NHNm LCAxKSBcDQorICBUIChmbG9hdCwgdm54NHNmLCAzKSBcDQorICBUIChkb3Vi bGUsIHZueDJkZiwgMCkgXA0KKyAgVCAoZG91YmxlLCB2bngyZGYsIDEpIFwN CisgIFQgKGludDY0X3QsIHZueDJkaSwgMCkgXA0KKyAgVCAoaW50NjRfdCwg dm54MmRpLCAxKSBcDQorICBUIChpbnQzMl90LCB2bng0c2ksIDApIFwNCisg IFQgKGludDMyX3QsIHZueDRzaSwgMSkgXA0KKyAgVCAoaW50MzJfdCwgdm54 NHNpLCAzKSBcDQorICBUIChpbnQxNl90LCB2bng4aGksIDApIFwNCisgIFQg KGludDE2X3QsIHZueDhoaSwgMikgXA0KKyAgVCAoaW50MTZfdCwgdm54OGhp LCA2KSBcDQorICBUIChpbnQ4X3QsIHZueDE2cWksIDApIFwNCisgIFQgKGlu dDhfdCwgdm54MTZxaSwgMSkgXA0KKyAgVCAoaW50OF90LCB2bngxNnFpLCA3 KSBcDQorICBUIChpbnQ4X3QsIHZueDE2cWksIDExKSBcDQorICBUIChpbnQ4 X3QsIHZueDE2cWksIDE1KSBcDQorICBUIChmbG9hdCwgdm54OHNmLCAwKSBc DQorICBUIChmbG9hdCwgdm54OHNmLCAxKSBcDQorICBUIChmbG9hdCwgdm54 OHNmLCAzKSBcDQorICBUIChmbG9hdCwgdm54OHNmLCA0KSBcDQorICBUIChm bG9hdCwgdm54OHNmLCA3KSBcDQorICBUIChkb3VibGUsIHZueDRkZiwgMCkg XA0KKyAgVCAoZG91YmxlLCB2bng0ZGYsIDEpIFwNCisgIFQgKGRvdWJsZSwg dm54NGRmLCAyKSBcDQorICBUIChkb3VibGUsIHZueDRkZiwgMykgXA0KKyAg VCAoaW50NjRfdCwgdm54NGRpLCAwKSBcDQorICBUIChpbnQ2NF90LCB2bng0 ZGksIDEpIFwNCisgIFQgKGludDY0X3QsIHZueDRkaSwgMikgXA0KKyAgVCAo aW50NjRfdCwgdm54NGRpLCAzKSBcDQorICBUIChpbnQzMl90LCB2bng4c2ks IDApIFwNCisgIFQgKGludDMyX3QsIHZueDhzaSwgMSkgXA0KKyAgVCAoaW50 MzJfdCwgdm54OHNpLCAzKSBcDQorICBUIChpbnQzMl90LCB2bng4c2ksIDQp IFwNCisgIFQgKGludDMyX3QsIHZueDhzaSwgNykgXA0KKyAgVCAoaW50MTZf dCwgdm54MTZoaSwgMCkgXA0KKyAgVCAoaW50MTZfdCwgdm54MTZoaSwgMSkg XA0KKyAgVCAoaW50MTZfdCwgdm54MTZoaSwgNykgXA0KKyAgVCAoaW50MTZf dCwgdm54MTZoaSwgOCkgXA0KKyAgVCAoaW50MTZfdCwgdm54MTZoaSwgMTUp IFwNCisgIFQgKGludDhfdCwgdm54MzJxaSwgMCkgXA0KKyAgVCAoaW50OF90 LCB2bngzMnFpLCAxKSBcDQorICBUIChpbnQ4X3QsIHZueDMycWksIDE1KSBc DQorICBUIChpbnQ4X3QsIHZueDMycWksIDE2KSBcDQorICBUIChpbnQ4X3Qs IHZueDMycWksIDMxKSBcDQorICBUIChmbG9hdCwgdm54MTZzZiwgMCkgXA0K KyAgVCAoZmxvYXQsIHZueDE2c2YsIDIpIFwNCisgIFQgKGZsb2F0LCB2bngx NnNmLCA2KSBcDQorICBUIChmbG9hdCwgdm54MTZzZiwgOCkgXA0KKyAgVCAo ZmxvYXQsIHZueDE2c2YsIDE0KSBcDQorICBUIChkb3VibGUsIHZueDhkZiwg MCkgXA0KKyAgVCAoZG91YmxlLCB2bng4ZGYsIDIpIFwNCisgIFQgKGRvdWJs ZSwgdm54OGRmLCA0KSBcDQorICBUIChkb3VibGUsIHZueDhkZiwgNikgXA0K KyAgVCAoaW50NjRfdCwgdm54OGRpLCAwKSBcDQorICBUIChpbnQ2NF90LCB2 bng4ZGksIDIpIFwNCisgIFQgKGludDY0X3QsIHZueDhkaSwgNCkgXA0KKyAg VCAoaW50NjRfdCwgdm54OGRpLCA2KSBcDQorICBUIChpbnQzMl90LCB2bngx NnNpLCAwKSBcDQorICBUIChpbnQzMl90LCB2bngxNnNpLCAyKSBcDQorICBU IChpbnQzMl90LCB2bngxNnNpLCA2KSBcDQorICBUIChpbnQzMl90LCB2bngx NnNpLCA4KSBcDQorICBUIChpbnQzMl90LCB2bngxNnNpLCAxNCkgXA0KKyAg VCAoaW50MTZfdCwgdm54MzJoaSwgMCkgXA0KKyAgVCAoaW50MTZfdCwgdm54 MzJoaSwgMikgXA0KKyAgVCAoaW50MTZfdCwgdm54MzJoaSwgMTQpIFwNCisg IFQgKGludDE2X3QsIHZueDMyaGksIDE2KSBcDQorICBUIChpbnQxNl90LCB2 bngzMmhpLCAzMCkgXA0KKyAgVCAoaW50OF90LCB2bng2NHFpLCAwKSBcDQor ICBUIChpbnQ4X3QsIHZueDY0cWksIDIpIFwNCisgIFQgKGludDhfdCwgdm54 NjRxaSwgMzApIFwNCisgIFQgKGludDhfdCwgdm54NjRxaSwgMzIpIFwNCisg IFQgKGludDhfdCwgdm54NjRxaSwgNjMpIFwNCisgIFQgKGZsb2F0LCB2bngz MnNmLCAwKSBcDQorICBUIChmbG9hdCwgdm54MzJzZiwgMykgXA0KKyAgVCAo ZmxvYXQsIHZueDMyc2YsIDEyKSBcDQorICBUIChmbG9hdCwgdm54MzJzZiwg MTcpIFwNCisgIFQgKGZsb2F0LCB2bngzMnNmLCAxNCkgXA0KKyAgVCAoZG91 YmxlLCB2bngxNmRmLCAwKSBcDQorICBUIChkb3VibGUsIHZueDE2ZGYsIDQp IFwNCisgIFQgKGRvdWJsZSwgdm54MTZkZiwgOCkgXA0KKyAgVCAoZG91Ymxl LCB2bngxNmRmLCAxMikgXA0KKyAgVCAoaW50NjRfdCwgdm54MTZkaSwgMCkg XA0KKyAgVCAoaW50NjRfdCwgdm54MTZkaSwgNCkgXA0KKyAgVCAoaW50NjRf dCwgdm54MTZkaSwgOCkgXA0KKyAgVCAoaW50NjRfdCwgdm54MTZkaSwgMTIp IFwNCisgIFQgKGludDMyX3QsIHZueDMyc2ksIDApIFwNCisgIFQgKGludDMy X3QsIHZueDMyc2ksIDQpIFwNCisgIFQgKGludDMyX3QsIHZueDMyc2ksIDEy KSBcDQorICBUIChpbnQzMl90LCB2bngzMnNpLCAxNikgXA0KKyAgVCAoaW50 MzJfdCwgdm54MzJzaSwgMjgpIFwNCisgIFQgKGludDE2X3QsIHZueDY0aGks IDApIFwNCisgIFQgKGludDE2X3QsIHZueDY0aGksIDQpIFwNCisgIFQgKGlu dDE2X3QsIHZueDY0aGksIDI4KSBcDQorICBUIChpbnQxNl90LCB2bng2NGhp LCAzMikgXA0KKyAgVCAoaW50MTZfdCwgdm54NjRoaSwgNjApIFwNCisgIFQg KGludDhfdCwgdm54MTI4cWksIDApIFwNCisgIFQgKGludDhfdCwgdm54MTI4 cWksIDQpIFwNCisgIFQgKGludDhfdCwgdm54MTI4cWksIDMwKSBcDQorICBU IChpbnQ4X3QsIHZueDEyOHFpLCA2MCkgXA0KKyAgVCAoaW50OF90LCB2bngx MjhxaSwgNjQpIFwNCisgIFQgKGludDhfdCwgdm54MTI4cWksIDEyNykgXA0K Kw0KK0NIRUNLX0FMTCAoQ0hFQ0spDQorDQorI2RlZmluZSBSVU4oUywgViwg SURYKSBcDQorICBjaGVja18jI1YjI18jI0lEWCAoKTsNCisNCisjZGVmaW5l IFJVTl9BTEwoVCkgXA0KKyAgVCAoZmxvYXQsIHZueDRzZiwgMCkgXA0KKyAg VCAoZmxvYXQsIHZueDRzZiwgMSkgXA0KKyAgVCAoZmxvYXQsIHZueDRzZiwg MykgXA0KKyAgVCAoZG91YmxlLCB2bngyZGYsIDApIFwNCisgIFQgKGRvdWJs ZSwgdm54MmRmLCAxKSBcDQorICBUIChpbnQ2NF90LCB2bngyZGksIDApIFwN CisgIFQgKGludDY0X3QsIHZueDJkaSwgMSkgXA0KKyAgVCAoaW50MzJfdCwg dm54NHNpLCAwKSBcDQorICBUIChpbnQzMl90LCB2bng0c2ksIDEpIFwNCisg IFQgKGludDMyX3QsIHZueDRzaSwgMykgXA0KKyAgVCAoaW50MTZfdCwgdm54 OGhpLCAwKSBcDQorICBUIChpbnQxNl90LCB2bng4aGksIDIpIFwNCisgIFQg KGludDE2X3QsIHZueDhoaSwgNikgXA0KKyAgVCAoaW50OF90LCB2bngxNnFp LCAwKSBcDQorICBUIChpbnQ4X3QsIHZueDE2cWksIDEpIFwNCisgIFQgKGlu dDhfdCwgdm54MTZxaSwgNykgXA0KKyAgVCAoaW50OF90LCB2bngxNnFpLCAx MSkgXA0KKyAgVCAoaW50OF90LCB2bngxNnFpLCAxNSkgXA0KKyAgVCAoZmxv YXQsIHZueDhzZiwgMCkgXA0KKyAgVCAoZmxvYXQsIHZueDhzZiwgMSkgXA0K KyAgVCAoZmxvYXQsIHZueDhzZiwgMykgXA0KKyAgVCAoZmxvYXQsIHZueDhz ZiwgNCkgXA0KKyAgVCAoZmxvYXQsIHZueDhzZiwgNykgXA0KKyAgVCAoZG91 YmxlLCB2bng0ZGYsIDApIFwNCisgIFQgKGRvdWJsZSwgdm54NGRmLCAxKSBc DQorICBUIChkb3VibGUsIHZueDRkZiwgMikgXA0KKyAgVCAoZG91YmxlLCB2 bng0ZGYsIDMpIFwNCisgIFQgKGludDY0X3QsIHZueDRkaSwgMCkgXA0KKyAg VCAoaW50NjRfdCwgdm54NGRpLCAxKSBcDQorICBUIChpbnQ2NF90LCB2bng0 ZGksIDIpIFwNCisgIFQgKGludDY0X3QsIHZueDRkaSwgMykgXA0KKyAgVCAo aW50MzJfdCwgdm54OHNpLCAwKSBcDQorICBUIChpbnQzMl90LCB2bng4c2ks IDEpIFwNCisgIFQgKGludDMyX3QsIHZueDhzaSwgMykgXA0KKyAgVCAoaW50 MzJfdCwgdm54OHNpLCA0KSBcDQorICBUIChpbnQzMl90LCB2bng4c2ksIDcp IFwNCisgIFQgKGludDE2X3QsIHZueDE2aGksIDApIFwNCisgIFQgKGludDE2 X3QsIHZueDE2aGksIDEpIFwNCisgIFQgKGludDE2X3QsIHZueDE2aGksIDcp IFwNCisgIFQgKGludDE2X3QsIHZueDE2aGksIDgpIFwNCisgIFQgKGludDE2 X3QsIHZueDE2aGksIDE1KSBcDQorICBUIChpbnQ4X3QsIHZueDMycWksIDAp IFwNCisgIFQgKGludDhfdCwgdm54MzJxaSwgMSkgXA0KKyAgVCAoaW50OF90 LCB2bngzMnFpLCAxNSkgXA0KKyAgVCAoaW50OF90LCB2bngzMnFpLCAxNikg XA0KKyAgVCAoaW50OF90LCB2bngzMnFpLCAzMSkgXA0KKyAgVCAoZmxvYXQs IHZueDE2c2YsIDApIFwNCisgIFQgKGZsb2F0LCB2bngxNnNmLCAyKSBcDQor ICBUIChmbG9hdCwgdm54MTZzZiwgNikgXA0KKyAgVCAoZmxvYXQsIHZueDE2 c2YsIDgpIFwNCisgIFQgKGZsb2F0LCB2bngxNnNmLCAxNCkgXA0KKyAgVCAo ZG91YmxlLCB2bng4ZGYsIDApIFwNCisgIFQgKGRvdWJsZSwgdm54OGRmLCAy KSBcDQorICBUIChkb3VibGUsIHZueDhkZiwgNCkgXA0KKyAgVCAoZG91Ymxl LCB2bng4ZGYsIDYpIFwNCisgIFQgKGludDY0X3QsIHZueDhkaSwgMCkgXA0K KyAgVCAoaW50NjRfdCwgdm54OGRpLCAyKSBcDQorICBUIChpbnQ2NF90LCB2 bng4ZGksIDQpIFwNCisgIFQgKGludDY0X3QsIHZueDhkaSwgNikgXA0KKyAg VCAoaW50MzJfdCwgdm54MTZzaSwgMCkgXA0KKyAgVCAoaW50MzJfdCwgdm54 MTZzaSwgMikgXA0KKyAgVCAoaW50MzJfdCwgdm54MTZzaSwgNikgXA0KKyAg VCAoaW50MzJfdCwgdm54MTZzaSwgOCkgXA0KKyAgVCAoaW50MzJfdCwgdm54 MTZzaSwgMTQpIFwNCisgIFQgKGludDE2X3QsIHZueDMyaGksIDApIFwNCisg IFQgKGludDE2X3QsIHZueDMyaGksIDIpIFwNCisgIFQgKGludDE2X3QsIHZu eDMyaGksIDE0KSBcDQorICBUIChpbnQxNl90LCB2bngzMmhpLCAxNikgXA0K KyAgVCAoaW50MTZfdCwgdm54MzJoaSwgMzApIFwNCisgIFQgKGludDhfdCwg dm54NjRxaSwgMCkgXA0KKyAgVCAoaW50OF90LCB2bng2NHFpLCAyKSBcDQor ICBUIChpbnQ4X3QsIHZueDY0cWksIDMwKSBcDQorICBUIChpbnQ4X3QsIHZu eDY0cWksIDMyKSBcDQorICBUIChpbnQ4X3QsIHZueDY0cWksIDYzKSBcDQor ICBUIChmbG9hdCwgdm54MzJzZiwgMCkgXA0KKyAgVCAoZmxvYXQsIHZueDMy c2YsIDMpIFwNCisgIFQgKGZsb2F0LCB2bngzMnNmLCAxMikgXA0KKyAgVCAo ZmxvYXQsIHZueDMyc2YsIDE3KSBcDQorICBUIChmbG9hdCwgdm54MzJzZiwg MTQpIFwNCisgIFQgKGRvdWJsZSwgdm54MTZkZiwgMCkgXA0KKyAgVCAoZG91 YmxlLCB2bngxNmRmLCA0KSBcDQorICBUIChkb3VibGUsIHZueDE2ZGYsIDgp IFwNCisgIFQgKGRvdWJsZSwgdm54MTZkZiwgMTIpIFwNCisgIFQgKGludDY0 X3QsIHZueDE2ZGksIDApIFwNCisgIFQgKGludDY0X3QsIHZueDE2ZGksIDQp IFwNCisgIFQgKGludDY0X3QsIHZueDE2ZGksIDgpIFwNCisgIFQgKGludDY0 X3QsIHZueDE2ZGksIDEyKSBcDQorICBUIChpbnQzMl90LCB2bngzMnNpLCAw KSBcDQorICBUIChpbnQzMl90LCB2bngzMnNpLCA0KSBcDQorICBUIChpbnQz Ml90LCB2bngzMnNpLCAxMikgXA0KKyAgVCAoaW50MzJfdCwgdm54MzJzaSwg MTYpIFwNCisgIFQgKGludDMyX3QsIHZueDMyc2ksIDI4KSBcDQorICBUIChp bnQxNl90LCB2bng2NGhpLCAwKSBcDQorICBUIChpbnQxNl90LCB2bng2NGhp LCA0KSBcDQorICBUIChpbnQxNl90LCB2bng2NGhpLCAyOCkgXA0KKyAgVCAo aW50MTZfdCwgdm54NjRoaSwgMzIpIFwNCisgIFQgKGludDE2X3QsIHZueDY0 aGksIDYwKSBcDQorICBUIChpbnQ4X3QsIHZueDEyOHFpLCAwKSBcDQorICBU IChpbnQ4X3QsIHZueDEyOHFpLCA0KSBcDQorICBUIChpbnQ4X3QsIHZueDEy OHFpLCAzMCkgXA0KKyAgVCAoaW50OF90LCB2bngxMjhxaSwgNjApIFwNCisg IFQgKGludDhfdCwgdm54MTI4cWksIDY0KSBcDQorICBUIChpbnQ4X3QsIHZu eDEyOHFpLCAxMjcpIFwNCisNCitpbnQgbWFpbiAoKQ0KK3sNCisgIFJVTl9B TEwgKFJVTik7DQorfQ0KZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2Nj LnRhcmdldC9yaXNjdi9ydnYvYXV0b3ZlYy92bHMtdmxtYXgvdmVjX2V4dHJh Y3QtenZmaC1ydW4uYyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNj di9ydnYvYXV0b3ZlYy92bHMtdmxtYXgvdmVjX2V4dHJhY3QtenZmaC1ydW4u Yw0KbmV3IGZpbGUgbW9kZSAxMDA2NDQNCmluZGV4IDAwMDAwMDAwMDAwLi5h MGIyY2Y5N2FmZQ0KLS0tIC9kZXYvbnVsbA0KKysrIGIvZ2NjL3Rlc3RzdWl0 ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2di9hdXRvdmVjL3Zscy12bG1heC92ZWNf ZXh0cmFjdC16dmZoLXJ1bi5jDQpAQCAtMCwwICsxLDc3IEBADQorLyogeyBk Zy1kbyBydW4ge3RhcmdldCB7IHJpc2N2X3p2ZmhfaHcgfSB9IH0gKi8NCisv KiB7IGRnLWFkZGl0aW9uYWwtb3B0aW9ucyAiLW1hcmNoPXJ2NjRnY3ZfenZm aCAtV25vLXBlZGFudGljIiB9ICovDQorDQorI2luY2x1ZGUgPGFzc2VydC5o Pg0KKw0KKyNpbmNsdWRlICJ2ZWNfZXh0cmFjdC0xLmMiDQorI2luY2x1ZGUg InZlY19leHRyYWN0LTIuYyINCisjaW5jbHVkZSAidmVjX2V4dHJhY3QtMy5j Ig0KKyNpbmNsdWRlICJ2ZWNfZXh0cmFjdC00LmMiDQorDQorI2RlZmluZSBD SEVDSyhTLCBWLCBJRFgpIFwNCit2b2lkIGNoZWNrXyMjViMjXyMjSURYICgp IFwNCisgIHsgXA0KKyAgICBWIHY7IFwNCisgICAgZm9yIChpbnQgaSA9IDA7 IGkgPCBzaXplb2YgKFYpIC8gc2l6ZW9mIChTKTsgaSsrKSBcDQorICAgICAg dltpXSA9IGk7IFwNCisgICAgUyByZXMgPSB2ZWNfZXh0cmFjdF8jI1YjI18j I0lEWCAodik7IFwNCisgICAgYXNzZXJ0IChyZXMgPT0gdltJRFhdKTsgXA0K KyAgfQ0KKw0KKyNkZWZpbmUgQ0hFQ0tfQUxMKFQpIFwNCisgIFQgKF9GbG9h dDE2LCB2bng4aGYsIDApIFwNCisgIFQgKF9GbG9hdDE2LCB2bng4aGYsIDMp IFwNCisgIFQgKF9GbG9hdDE2LCB2bng4aGYsIDcpIFwNCisgIFQgKF9GbG9h dDE2LCB2bngxNmhmLCAwKSBcDQorICBUIChfRmxvYXQxNiwgdm54MTZoZiwg MykgXA0KKyAgVCAoX0Zsb2F0MTYsIHZueDE2aGYsIDcpIFwNCisgIFQgKF9G bG9hdDE2LCB2bngxNmhmLCA4KSBcDQorICBUIChfRmxvYXQxNiwgdm54MTZo ZiwgMTUpIFwNCisgIFQgKF9GbG9hdDE2LCB2bngzMmhmLCAwKSBcDQorICBU IChfRmxvYXQxNiwgdm54MzJoZiwgMykgXA0KKyAgVCAoX0Zsb2F0MTYsIHZu eDMyaGYsIDcpIFwNCisgIFQgKF9GbG9hdDE2LCB2bngzMmhmLCA4KSBcDQor ICBUIChfRmxvYXQxNiwgdm54MzJoZiwgMTYpIFwNCisgIFQgKF9GbG9hdDE2 LCB2bngzMmhmLCAzMSkgXA0KKyAgVCAoX0Zsb2F0MTYsIHZueDY0aGYsIDAp IFwNCisgIFQgKF9GbG9hdDE2LCB2bng2NGhmLCAzKSBcDQorICBUIChfRmxv YXQxNiwgdm54NjRoZiwgNykgXA0KKyAgVCAoX0Zsb2F0MTYsIHZueDY0aGYs IDgpIFwNCisgIFQgKF9GbG9hdDE2LCB2bng2NGhmLCAxNikgXA0KKyAgVCAo X0Zsb2F0MTYsIHZueDY0aGYsIDMxKSBcDQorICBUIChfRmxvYXQxNiwgdm54 NjRoZiwgNDIpIFwNCisgIFQgKF9GbG9hdDE2LCB2bng2NGhmLCA2MykgXA0K Kw0KK0NIRUNLX0FMTCAoQ0hFQ0spDQorDQorI2RlZmluZSBSVU4oUywgViwg SURYKSBcDQorICBjaGVja18jI1YjI18jI0lEWCAoKTsNCisNCisjZGVmaW5l IFJVTl9BTEwoVCkgXA0KKyAgVCAoX0Zsb2F0MTYsIHZueDhoZiwgMCkgXA0K KyAgVCAoX0Zsb2F0MTYsIHZueDhoZiwgMykgXA0KKyAgVCAoX0Zsb2F0MTYs IHZueDhoZiwgNykgXA0KKyAgVCAoX0Zsb2F0MTYsIHZueDE2aGYsIDApIFwN CisgIFQgKF9GbG9hdDE2LCB2bngxNmhmLCAzKSBcDQorICBUIChfRmxvYXQx Niwgdm54MTZoZiwgNykgXA0KKyAgVCAoX0Zsb2F0MTYsIHZueDE2aGYsIDgp IFwNCisgIFQgKF9GbG9hdDE2LCB2bngxNmhmLCAxNSkgXA0KKyAgVCAoX0Zs b2F0MTYsIHZueDMyaGYsIDApIFwNCisgIFQgKF9GbG9hdDE2LCB2bngzMmhm LCAzKSBcDQorICBUIChfRmxvYXQxNiwgdm54MzJoZiwgNykgXA0KKyAgVCAo X0Zsb2F0MTYsIHZueDMyaGYsIDgpIFwNCisgIFQgKF9GbG9hdDE2LCB2bngz MmhmLCAxNikgXA0KKyAgVCAoX0Zsb2F0MTYsIHZueDMyaGYsIDMxKSBcDQor ICBUIChfRmxvYXQxNiwgdm54NjRoZiwgMCkgXA0KKyAgVCAoX0Zsb2F0MTYs IHZueDY0aGYsIDMpIFwNCisgIFQgKF9GbG9hdDE2LCB2bng2NGhmLCA3KSBc DQorICBUIChfRmxvYXQxNiwgdm54NjRoZiwgOCkgXA0KKyAgVCAoX0Zsb2F0 MTYsIHZueDY0aGYsIDE2KSBcDQorICBUIChfRmxvYXQxNiwgdm54NjRoZiwg MzEpIFwNCisgIFQgKF9GbG9hdDE2LCB2bng2NGhmLCA0MikgXA0KKyAgVCAo X0Zsb2F0MTYsIHZueDY0aGYsIDYzKSBcDQorDQoraW50IG1haW4gKCkNCit7 DQorICBSVU5fQUxMIChSVU4pOw0KK30NCmRpZmYgLS1naXQgYS9nY2MvdGVz dHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcnZ2L2F1dG92ZWMvdmxzLXZsbWF4 L3ZlY19zZXQtMS5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2 L3J2di9hdXRvdmVjL3Zscy12bG1heC92ZWNfc2V0LTEuYw0KbmV3IGZpbGUg bW9kZSAxMDA2NDQNCmluZGV4IDAwMDAwMDAwMDAwLi40ZmI0ZTgyMmI5Mw0K LS0tIC9kZXYvbnVsbA0KKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0 L3Jpc2N2L3J2di9hdXRvdmVjL3Zscy12bG1heC92ZWNfc2V0LTEuYw0KQEAg LTAsMCArMSw2MiBAQA0KKy8qIHsgZGctZG8gY29tcGlsZSB9ICovDQorLyog eyBkZy1hZGRpdGlvbmFsLW9wdGlvbnMgIi1tYXJjaD1ydjY0Z2N2X3p2Zmgg LVduby1wZWRhbnRpYyIgfSAqLw0KKw0KKyNpbmNsdWRlIDxzdGRpbnQtZ2Nj Lmg+DQorDQordHlwZWRlZiBpbnQ2NF90IHZueDJkaSBfX2F0dHJpYnV0ZV9f KCh2ZWN0b3Jfc2l6ZSAoMTYpKSk7DQordHlwZWRlZiBpbnQzMl90IHZueDRz aSBfX2F0dHJpYnV0ZV9fKCh2ZWN0b3Jfc2l6ZSAoMTYpKSk7DQordHlwZWRl ZiBpbnQxNl90IHZueDhoaSBfX2F0dHJpYnV0ZV9fKCh2ZWN0b3Jfc2l6ZSAo MTYpKSk7DQordHlwZWRlZiBpbnQ4X3Qgdm54MTZxaSBfX2F0dHJpYnV0ZV9f KCh2ZWN0b3Jfc2l6ZSAoMTYpKSk7DQordHlwZWRlZiBfRmxvYXQxNiB2bng4 aGYgX19hdHRyaWJ1dGVfXygodmVjdG9yX3NpemUgKDE2KSkpOw0KK3R5cGVk ZWYgZmxvYXQgdm54NHNmIF9fYXR0cmlidXRlX18oKHZlY3Rvcl9zaXplICgx NikpKTsNCit0eXBlZGVmIGRvdWJsZSB2bngyZGYgX19hdHRyaWJ1dGVfXygo dmVjdG9yX3NpemUgKDE2KSkpOw0KKw0KKyNkZWZpbmUgVkVDX1NFVChTLFYs SURYKSBcDQorICBWIFwNCisgIF9fYXR0cmlidXRlX18oKG5vaXBhKSkgXA0K KyAgdmVjX3NldF8jI1YjI18jI0lEWCAoViB2LCBTIHMpIFwNCisgIHsgXA0K KyAgICB2W0lEWF0gPSBzOyBcDQorICAgIHJldHVybiB2OyBcDQorICB9DQor DQorI2RlZmluZSBURVNUX0FMTDEoVCkgXA0KKyAgVCAoX0Zsb2F0MTYsIHZu eDhoZiwgMCkgXA0KKyAgVCAoX0Zsb2F0MTYsIHZueDhoZiwgMykgXA0KKyAg VCAoX0Zsb2F0MTYsIHZueDhoZiwgNykgXA0KKyAgVCAoZmxvYXQsIHZueDRz ZiwgMCkgXA0KKyAgVCAoZmxvYXQsIHZueDRzZiwgMSkgXA0KKyAgVCAoZmxv YXQsIHZueDRzZiwgMykgXA0KKyAgVCAoZG91YmxlLCB2bngyZGYsIDApIFwN CisgIFQgKGRvdWJsZSwgdm54MmRmLCAxKSBcDQorICBUIChpbnQ2NF90LCB2 bngyZGksIDApIFwNCisgIFQgKGludDY0X3QsIHZueDJkaSwgMSkgXA0KKyAg VCAoaW50MzJfdCwgdm54NHNpLCAwKSBcDQorICBUIChpbnQzMl90LCB2bng0 c2ksIDEpIFwNCisgIFQgKGludDMyX3QsIHZueDRzaSwgMykgXA0KKyAgVCAo aW50MTZfdCwgdm54OGhpLCAwKSBcDQorICBUIChpbnQxNl90LCB2bng4aGks IDIpIFwNCisgIFQgKGludDE2X3QsIHZueDhoaSwgNikgXA0KKyAgVCAoaW50 OF90LCB2bngxNnFpLCAwKSBcDQorICBUIChpbnQ4X3QsIHZueDE2cWksIDEp IFwNCisgIFQgKGludDhfdCwgdm54MTZxaSwgNykgXA0KKyAgVCAoaW50OF90 LCB2bngxNnFpLCAxMSkgXA0KKyAgVCAoaW50OF90LCB2bngxNnFpLCAxNSkg XA0KKw0KK1RFU1RfQUxMMSAoVkVDX1NFVCkNCisNCisvKiB7IGRnLWZpbmFs IHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3ZzZXRbaV0qdmxpXHMrW2EtejAt OSxdKyxccyplOCxccyptMSxccyp0YSxccyptYX0gMSB9IH0gKi8NCisvKiB7 IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3ZzZXRbaV0qdmxp XHMrW2EtejAtOSxdKyxccyplOCxccyptMSxccyp0dSxccyptYX0gNCB9IH0g Ki8NCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3Zz ZXRbaV0qdmxpXHMrW2EtejAtOSxdKyxccyplMTYsXHMqbTEsXHMqdGEsXHMq bWF9IDIgfSB9ICovDQorLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVy LXRpbWVzIHt2c2V0W2ldKnZsaVxzK1thLXowLTksXSssXHMqZTE2LFxzKm0x LFxzKnR1LFxzKm1hfSA0IH0gfSAqLw0KKy8qIHsgZGctZmluYWwgeyBzY2Fu LWFzc2VtYmxlci10aW1lcyB7dnNldFtpXSp2bGlccytbYS16MC05LF0rLFxz KmUzMixccyptMSxccyp0YSxccyptYX0gMiB9IH0gKi8NCisvKiB7IGRnLWZp bmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3ZzZXRbaV0qdmxpXHMrW2Et ejAtOSxdKyxccyplMzIsXHMqbTEsXHMqdHUsXHMqbWF9IDQgfSB9ICovDQor LyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2c2V0W2ld KnZsaVxzK1thLXowLTksXSssXHMqZTY0LFxzKm0xLFxzKnRhLFxzKm1hfSAy IH0gfSAqLw0KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1l cyB7dnNldFtpXSp2bGlccytbYS16MC05LF0rLFxzKmU2NCxccyptMSxccyp0 dSxccyptYX0gMiB9IH0gKi8NCisNCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1h c3NlbWJsZXItdGltZXMge1x0dm12LnYueH0gOSB9IH0gKi8NCisvKiB7IGRn LWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge1x0dmZtdi52LmZ9IDUg fSB9ICovDQorLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVz IHtcdHZzbGlkZXVwLnZpfSAxNCB9IH0gKi8NCisNCisvKiB7IGRnLWZpbmFs IHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge1x0dmZtdi5zLmZ9IDMgfSB9ICov DQorLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHtcdHZt di5zLnh9IDQgfSB9ICovDQpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9n Y2MudGFyZ2V0L3Jpc2N2L3J2di9hdXRvdmVjL3Zscy12bG1heC92ZWNfc2V0 LTIuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9ydnYvYXV0 b3ZlYy92bHMtdmxtYXgvdmVjX3NldC0yLmMNCm5ldyBmaWxlIG1vZGUgMTAw NjQ0DQppbmRleCAwMDAwMDAwMDAwMC4uMzc5ZTkyZjMwYmINCi0tLSAvZGV2 L251bGwNCisrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9y dnYvYXV0b3ZlYy92bHMtdmxtYXgvdmVjX3NldC0yLmMNCkBAIC0wLDAgKzEs NzQgQEANCisvKiB7IGRnLWRvIGNvbXBpbGUgfSAqLw0KKy8qIHsgZGctYWRk aXRpb25hbC1vcHRpb25zICItbWFyY2g9cnY2NGdjdl96dmZoIC1Xbm8tcGVk YW50aWMiIH0gKi8NCisNCisjaW5jbHVkZSA8c3RkaW50LWdjYy5oPg0KKw0K K3R5cGVkZWYgaW50NjRfdCB2bng0ZGkgX19hdHRyaWJ1dGVfXygodmVjdG9y X3NpemUgKDMyKSkpOw0KK3R5cGVkZWYgaW50MzJfdCB2bng4c2kgX19hdHRy aWJ1dGVfXygodmVjdG9yX3NpemUgKDMyKSkpOw0KK3R5cGVkZWYgaW50MTZf dCB2bngxNmhpIF9fYXR0cmlidXRlX18oKHZlY3Rvcl9zaXplICgzMikpKTsN Cit0eXBlZGVmIGludDhfdCB2bngzMnFpIF9fYXR0cmlidXRlX18oKHZlY3Rv cl9zaXplICgzMikpKTsNCit0eXBlZGVmIF9GbG9hdDE2IHZueDE2aGYgX19h dHRyaWJ1dGVfXygodmVjdG9yX3NpemUgKDMyKSkpOw0KK3R5cGVkZWYgZmxv YXQgdm54OHNmIF9fYXR0cmlidXRlX18oKHZlY3Rvcl9zaXplICgzMikpKTsN Cit0eXBlZGVmIGRvdWJsZSB2bng0ZGYgX19hdHRyaWJ1dGVfXygodmVjdG9y X3NpemUgKDMyKSkpOw0KKw0KKyNkZWZpbmUgVkVDX1NFVChTLFYsSURYKSBc DQorICBWIFwNCisgIF9fYXR0cmlidXRlX18oKG5vaXBhKSkgXA0KKyAgdmVj X3NldF8jI1YjI18jI0lEWCAoViB2LCBTIHMpIFwNCisgIHsgXA0KKyAgICB2 W0lEWF0gPSBzOyBcDQorICAgIHJldHVybiB2OyBcDQorICB9DQorDQorI2Rl ZmluZSBURVNUX0FMTDIoVCkgXA0KKyAgVCAoX0Zsb2F0MTYsIHZueDE2aGYs IDApIFwNCisgIFQgKF9GbG9hdDE2LCB2bngxNmhmLCAzKSBcDQorICBUIChf RmxvYXQxNiwgdm54MTZoZiwgNykgXA0KKyAgVCAoX0Zsb2F0MTYsIHZueDE2 aGYsIDgpIFwNCisgIFQgKF9GbG9hdDE2LCB2bngxNmhmLCAxNSkgXA0KKyAg VCAoZmxvYXQsIHZueDhzZiwgMCkgXA0KKyAgVCAoZmxvYXQsIHZueDhzZiwg MSkgXA0KKyAgVCAoZmxvYXQsIHZueDhzZiwgMykgXA0KKyAgVCAoZmxvYXQs IHZueDhzZiwgNCkgXA0KKyAgVCAoZmxvYXQsIHZueDhzZiwgNykgXA0KKyAg VCAoZG91YmxlLCB2bng0ZGYsIDApIFwNCisgIFQgKGRvdWJsZSwgdm54NGRm LCAxKSBcDQorICBUIChkb3VibGUsIHZueDRkZiwgMikgXA0KKyAgVCAoZG91 YmxlLCB2bng0ZGYsIDMpIFwNCisgIFQgKGludDY0X3QsIHZueDRkaSwgMCkg XA0KKyAgVCAoaW50NjRfdCwgdm54NGRpLCAxKSBcDQorICBUIChpbnQ2NF90 LCB2bng0ZGksIDIpIFwNCisgIFQgKGludDY0X3QsIHZueDRkaSwgMykgXA0K KyAgVCAoaW50MzJfdCwgdm54OHNpLCAwKSBcDQorICBUIChpbnQzMl90LCB2 bng4c2ksIDEpIFwNCisgIFQgKGludDMyX3QsIHZueDhzaSwgMykgXA0KKyAg VCAoaW50MzJfdCwgdm54OHNpLCA0KSBcDQorICBUIChpbnQzMl90LCB2bng4 c2ksIDcpIFwNCisgIFQgKGludDE2X3QsIHZueDE2aGksIDApIFwNCisgIFQg KGludDE2X3QsIHZueDE2aGksIDEpIFwNCisgIFQgKGludDE2X3QsIHZueDE2 aGksIDcpIFwNCisgIFQgKGludDE2X3QsIHZueDE2aGksIDgpIFwNCisgIFQg KGludDE2X3QsIHZueDE2aGksIDE1KSBcDQorICBUIChpbnQ4X3QsIHZueDMy cWksIDApIFwNCisgIFQgKGludDhfdCwgdm54MzJxaSwgMSkgXA0KKyAgVCAo aW50OF90LCB2bngzMnFpLCAxNSkgXA0KKyAgVCAoaW50OF90LCB2bngzMnFp LCAxNikgXA0KKyAgVCAoaW50OF90LCB2bngzMnFpLCAzMSkgXA0KKw0KK1RF U1RfQUxMMiAoVkVDX1NFVCkNCisNCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1h c3NlbWJsZXItdGltZXMge3ZzZXRbaV0qdmxpXHMrW2EtejAtOSxdKyxccypl OCxccyptMixccyp0YSxccyptYX0gMSB9IH0gKi8NCisvKiB7IGRnLWZpbmFs IHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3ZzZXRbaV0qdmxpXHMrW2EtejAt OSxdKyxccyplOCxccyptMixccyp0dSxccyptYX0gNCB9IH0gKi8NCisvKiB7 IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3ZzZXRbaV0qdmxp XHMrW2EtejAtOSxdKyxccyplMTYsXHMqbTIsXHMqdGEsXHMqbWF9IDIgfSB9 ICovDQorLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2 c2V0W2ldKnZsaVxzK1thLXowLTksXSssXHMqZTE2LFxzKm0yLFxzKnR1LFxz Km1hfSA4IH0gfSAqLw0KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxl ci10aW1lcyB7dnNldFtpXSp2bGlccytbYS16MC05LF0rLFxzKmUzMixccypt Mixccyp0YSxccyptYX0gMiB9IH0gKi8NCisvKiB7IGRnLWZpbmFsIHsgc2Nh bi1hc3NlbWJsZXItdGltZXMge3ZzZXRbaV0qdmxpXHMrW2EtejAtOSxdKyxc cyplMzIsXHMqbTIsXHMqdHUsXHMqbWF9IDggfSB9ICovDQorLyogeyBkZy1m aW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2c2V0W2ldKnZsaVxzK1th LXowLTksXSssXHMqZTY0LFxzKm0yLFxzKnRhLFxzKm1hfSAyIH0gfSAqLw0K Ky8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNldFtp XSp2bGlccytbYS16MC05LF0rLFxzKmU2NCxccyptMixccyp0dSxccyptYX0g NiB9IH0gKi8NCisNCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXIt dGltZXMge1x0dm12LnYueH0gMTUgfSB9ICovDQorLyogeyBkZy1maW5hbCB7 IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHtcdHZmbXYudi5mfSAxMSB9IH0gKi8N CisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge1x0dnNs aWRldXAudml9IDI2IH0gfSAqLw0KKw0KKy8qIHsgZGctZmluYWwgeyBzY2Fu LWFzc2VtYmxlci10aW1lcyB7XHR2Zm12LnMuZn0gMyB9IH0gKi8NCisvKiB7 IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge1x0dm12LnMueH0g NCB9IH0gKi8NCmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy50YXJn ZXQvcmlzY3YvcnZ2L2F1dG92ZWMvdmxzLXZsbWF4L3ZlY19zZXQtMy5jIGIv Z2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2di9hdXRvdmVjL3Zs cy12bG1heC92ZWNfc2V0LTMuYw0KbmV3IGZpbGUgbW9kZSAxMDA2NDQNCmlu ZGV4IDAwMDAwMDAwMDAwLi5iMWU3ODE1MGIzMA0KLS0tIC9kZXYvbnVsbA0K KysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2di9hdXRv dmVjL3Zscy12bG1heC92ZWNfc2V0LTMuYw0KQEAgLTAsMCArMSw3NiBAQA0K Ky8qIHsgZGctZG8gY29tcGlsZSB9ICovDQorLyogeyBkZy1hZGRpdGlvbmFs LW9wdGlvbnMgIi1tYXJjaD1ydjY0Z2N2X3p2ZmggLVduby1wZWRhbnRpYyIg fSAqLw0KKw0KKyNpbmNsdWRlIDxzdGRpbnQtZ2NjLmg+DQorDQordHlwZWRl ZiBpbnQ2NF90IHZueDhkaSBfX2F0dHJpYnV0ZV9fKCh2ZWN0b3Jfc2l6ZSAo NjQpKSk7DQordHlwZWRlZiBpbnQzMl90IHZueDE2c2kgX19hdHRyaWJ1dGVf XygodmVjdG9yX3NpemUgKDY0KSkpOw0KK3R5cGVkZWYgaW50MTZfdCB2bngz MmhpIF9fYXR0cmlidXRlX18oKHZlY3Rvcl9zaXplICg2NCkpKTsNCit0eXBl ZGVmIGludDhfdCB2bng2NHFpIF9fYXR0cmlidXRlX18oKHZlY3Rvcl9zaXpl ICg2NCkpKTsNCit0eXBlZGVmIF9GbG9hdDE2IHZueDMyaGYgX19hdHRyaWJ1 dGVfXygodmVjdG9yX3NpemUgKDY0KSkpOw0KK3R5cGVkZWYgZmxvYXQgdm54 MTZzZiBfX2F0dHJpYnV0ZV9fKCh2ZWN0b3Jfc2l6ZSAoNjQpKSk7DQordHlw ZWRlZiBkb3VibGUgdm54OGRmIF9fYXR0cmlidXRlX18oKHZlY3Rvcl9zaXpl ICg2NCkpKTsNCisNCisjZGVmaW5lIFZFQ19TRVQoUyxWLElEWCkgXA0KKyAg ViBcDQorICBfX2F0dHJpYnV0ZV9fKChub2lwYSkpIFwNCisgIHZlY19zZXRf IyNWIyNfIyNJRFggKFYgdiwgUyBzKSBcDQorICB7IFwNCisgICAgdltJRFhd ID0gczsgXA0KKyAgICByZXR1cm4gdjsgXA0KKyAgfQ0KKw0KKyNkZWZpbmUg VEVTVF9BTEwzKFQpIFwNCisgIFQgKF9GbG9hdDE2LCB2bngzMmhmLCAwKSBc DQorICBUIChfRmxvYXQxNiwgdm54MzJoZiwgMykgXA0KKyAgVCAoX0Zsb2F0 MTYsIHZueDMyaGYsIDcpIFwNCisgIFQgKF9GbG9hdDE2LCB2bngzMmhmLCA4 KSBcDQorICBUIChfRmxvYXQxNiwgdm54MzJoZiwgMTYpIFwNCisgIFQgKF9G bG9hdDE2LCB2bngzMmhmLCAzMSkgXA0KKyAgVCAoZmxvYXQsIHZueDE2c2Ys IDApIFwNCisgIFQgKGZsb2F0LCB2bngxNnNmLCAyKSBcDQorICBUIChmbG9h dCwgdm54MTZzZiwgNikgXA0KKyAgVCAoZmxvYXQsIHZueDE2c2YsIDgpIFwN CisgIFQgKGZsb2F0LCB2bngxNnNmLCAxNCkgXA0KKyAgVCAoZG91YmxlLCB2 bng4ZGYsIDApIFwNCisgIFQgKGRvdWJsZSwgdm54OGRmLCAyKSBcDQorICBU IChkb3VibGUsIHZueDhkZiwgNCkgXA0KKyAgVCAoZG91YmxlLCB2bng4ZGYs IDYpIFwNCisgIFQgKGludDY0X3QsIHZueDhkaSwgMCkgXA0KKyAgVCAoaW50 NjRfdCwgdm54OGRpLCAyKSBcDQorICBUIChpbnQ2NF90LCB2bng4ZGksIDQp IFwNCisgIFQgKGludDY0X3QsIHZueDhkaSwgNikgXA0KKyAgVCAoaW50MzJf dCwgdm54MTZzaSwgMCkgXA0KKyAgVCAoaW50MzJfdCwgdm54MTZzaSwgMikg XA0KKyAgVCAoaW50MzJfdCwgdm54MTZzaSwgNikgXA0KKyAgVCAoaW50MzJf dCwgdm54MTZzaSwgOCkgXA0KKyAgVCAoaW50MzJfdCwgdm54MTZzaSwgMTQp IFwNCisgIFQgKGludDE2X3QsIHZueDMyaGksIDApIFwNCisgIFQgKGludDE2 X3QsIHZueDMyaGksIDIpIFwNCisgIFQgKGludDE2X3QsIHZueDMyaGksIDE0 KSBcDQorICBUIChpbnQxNl90LCB2bngzMmhpLCAxNikgXA0KKyAgVCAoaW50 MTZfdCwgdm54MzJoaSwgMzApIFwNCisgIFQgKGludDhfdCwgdm54NjRxaSwg MCkgXA0KKyAgVCAoaW50OF90LCB2bng2NHFpLCAyKSBcDQorICBUIChpbnQ4 X3QsIHZueDY0cWksIDMwKSBcDQorICBUIChpbnQ4X3QsIHZueDY0cWksIDMy KSBcDQorICBUIChpbnQ4X3QsIHZueDY0cWksIDYzKSBcDQorDQorVEVTVF9B TEwzIChWRUNfU0VUKQ0KKw0KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2Vt Ymxlci10aW1lcyB7dnNldFtpXSp2bGlccytbYS16MC05LF0rLFxzKmU4LFxz Km00LFxzKnRhLFxzKm1hfSAxIH0gfSAqLw0KKy8qIHsgZGctZmluYWwgeyBz Y2FuLWFzc2VtYmxlci10aW1lcyB7dnNldFtpXSp2bGlccytbYS16MC05LF0r LFxzKmU4LFxzKm00LFxzKnR1LFxzKm1hfSA0IH0gfSAqLw0KKy8qIHsgZGct ZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNldFtpXSp2bGlccytb YS16MC05LF0rLFxzKmUxNixccyptNCxccyp0YSxccyptYX0gMiB9IH0gKi8N CisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3ZzZXRb aV0qdmxpXHMrW2EtejAtOSxdKyxccyplMTYsXHMqbTQsXHMqdHUsXHMqbWF9 IDkgfSB9ICovDQorLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRp bWVzIHt2c2V0W2ldKnZsaVxzK1thLXowLTksXSssXHMqZTMyLFxzKm00LFxz KnRhLFxzKm1hfSAyIH0gfSAqLw0KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFz c2VtYmxlci10aW1lcyB7dnNldFtpXSp2bGlccytbYS16MC05LF0rLFxzKmUz MixccyptNCxccyp0dSxccyptYX0gOCB9IH0gKi8NCisvKiB7IGRnLWZpbmFs IHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3ZzZXRbaV0qdmxpXHMrW2EtejAt OSxdKyxccyplNjQsXHMqbTQsXHMqdGEsXHMqbWF9IDIgfSB9ICovDQorLyog eyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2c2V0W2ldKnZs aVxzK1thLXowLTksXSssXHMqZTY0LFxzKm00LFxzKnR1LFxzKm1hfSA2IH0g fSAqLw0KKw0KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1l cyB7XHR2bXYudi54fSAxNSB9IH0gKi8NCisvKiB7IGRnLWZpbmFsIHsgc2Nh bi1hc3NlbWJsZXItdGltZXMge1x0dmZtdi52LmZ9IDEyIH0gfSAqLw0KKy8q IHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7XHR2c2xpZGV1 cC52aX0gMjUgfSB9ICovDQorLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1i bGVyLXRpbWVzIHtcdHZzbGlkZXVwLnZ4fSAyIH0gfSAqLw0KKw0KKy8qIHsg ZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7XHR2Zm12LnMuZn0g MyB9IH0gKi8NCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGlt ZXMge1x0dm12LnMueH0gNCB9IH0gKi8NCmRpZmYgLS1naXQgYS9nY2MvdGVz dHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcnZ2L2F1dG92ZWMvdmxzLXZsbWF4 L3ZlY19zZXQtNC5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2 L3J2di9hdXRvdmVjL3Zscy12bG1heC92ZWNfc2V0LTQuYw0KbmV3IGZpbGUg bW9kZSAxMDA2NDQNCmluZGV4IDAwMDAwMDAwMDAwLi4wYjdmNTNkMWNmMw0K LS0tIC9kZXYvbnVsbA0KKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0 L3Jpc2N2L3J2di9hdXRvdmVjL3Zscy12bG1heC92ZWNfc2V0LTQuYw0KQEAg LTAsMCArMSw3OSBAQA0KKy8qIHsgZGctZG8gY29tcGlsZSB9ICovDQorLyog eyBkZy1hZGRpdGlvbmFsLW9wdGlvbnMgIi1tYXJjaD1ydjY0Z2N2X3p2Zmgg LVduby1wZWRhbnRpYyIgfSAqLw0KKw0KKyNpbmNsdWRlIDxzdGRpbnQtZ2Nj Lmg+DQorDQordHlwZWRlZiBpbnQ2NF90IHZueDE2ZGkgX19hdHRyaWJ1dGVf XygodmVjdG9yX3NpemUgKDEyOCkpKTsNCit0eXBlZGVmIGludDMyX3Qgdm54 MzJzaSBfX2F0dHJpYnV0ZV9fKCh2ZWN0b3Jfc2l6ZSAoMTI4KSkpOw0KK3R5 cGVkZWYgaW50MTZfdCB2bng2NGhpIF9fYXR0cmlidXRlX18oKHZlY3Rvcl9z aXplICgxMjgpKSk7DQordHlwZWRlZiBpbnQ4X3Qgdm54MTI4cWkgX19hdHRy aWJ1dGVfXygodmVjdG9yX3NpemUgKDEyOCkpKTsNCit0eXBlZGVmIF9GbG9h dDE2IHZueDY0aGYgX19hdHRyaWJ1dGVfXygodmVjdG9yX3NpemUgKDEyOCkp KTsNCit0eXBlZGVmIGZsb2F0IHZueDMyc2YgX19hdHRyaWJ1dGVfXygodmVj dG9yX3NpemUgKDEyOCkpKTsNCit0eXBlZGVmIGRvdWJsZSB2bngxNmRmIF9f YXR0cmlidXRlX18oKHZlY3Rvcl9zaXplICgxMjgpKSk7DQorDQorI2RlZmlu ZSBWRUNfU0VUKFMsVixJRFgpIFwNCisgIFYgXA0KKyAgX19hdHRyaWJ1dGVf Xygobm9pcGEpKSBcDQorICB2ZWNfc2V0XyMjViMjXyMjSURYIChWIHYsIFMg cykgXA0KKyAgeyBcDQorICAgIHZbSURYXSA9IHM7IFwNCisgICAgcmV0dXJu IHY7IFwNCisgIH0NCisNCisjZGVmaW5lIFRFU1RfQUxMNChUKSBcDQorICBU IChfRmxvYXQxNiwgdm54NjRoZiwgMCkgXA0KKyAgVCAoX0Zsb2F0MTYsIHZu eDY0aGYsIDMpIFwNCisgIFQgKF9GbG9hdDE2LCB2bng2NGhmLCA3KSBcDQor ICBUIChfRmxvYXQxNiwgdm54NjRoZiwgOCkgXA0KKyAgVCAoX0Zsb2F0MTYs IHZueDY0aGYsIDE2KSBcDQorICBUIChfRmxvYXQxNiwgdm54NjRoZiwgMzEp IFwNCisgIFQgKF9GbG9hdDE2LCB2bng2NGhmLCA0MikgXA0KKyAgVCAoX0Zs b2F0MTYsIHZueDY0aGYsIDYzKSBcDQorICBUIChmbG9hdCwgdm54MzJzZiwg MCkgXA0KKyAgVCAoZmxvYXQsIHZueDMyc2YsIDMpIFwNCisgIFQgKGZsb2F0 LCB2bngzMnNmLCAxMikgXA0KKyAgVCAoZmxvYXQsIHZueDMyc2YsIDE3KSBc DQorICBUIChmbG9hdCwgdm54MzJzZiwgMTQpIFwNCisgIFQgKGRvdWJsZSwg dm54MTZkZiwgMCkgXA0KKyAgVCAoZG91YmxlLCB2bngxNmRmLCA0KSBcDQor ICBUIChkb3VibGUsIHZueDE2ZGYsIDgpIFwNCisgIFQgKGRvdWJsZSwgdm54 MTZkZiwgMTIpIFwNCisgIFQgKGludDY0X3QsIHZueDE2ZGksIDApIFwNCisg IFQgKGludDY0X3QsIHZueDE2ZGksIDQpIFwNCisgIFQgKGludDY0X3QsIHZu eDE2ZGksIDgpIFwNCisgIFQgKGludDY0X3QsIHZueDE2ZGksIDEyKSBcDQor ICBUIChpbnQzMl90LCB2bngzMnNpLCAwKSBcDQorICBUIChpbnQzMl90LCB2 bngzMnNpLCA0KSBcDQorICBUIChpbnQzMl90LCB2bngzMnNpLCAxMikgXA0K KyAgVCAoaW50MzJfdCwgdm54MzJzaSwgMTYpIFwNCisgIFQgKGludDMyX3Qs IHZueDMyc2ksIDI4KSBcDQorICBUIChpbnQxNl90LCB2bng2NGhpLCAwKSBc DQorICBUIChpbnQxNl90LCB2bng2NGhpLCA0KSBcDQorICBUIChpbnQxNl90 LCB2bng2NGhpLCAyOCkgXA0KKyAgVCAoaW50MTZfdCwgdm54NjRoaSwgMzIp IFwNCisgIFQgKGludDE2X3QsIHZueDY0aGksIDYwKSBcDQorICBUIChpbnQ4 X3QsIHZueDEyOHFpLCAwKSBcDQorICBUIChpbnQ4X3QsIHZueDEyOHFpLCA0 KSBcDQorICBUIChpbnQ4X3QsIHZueDEyOHFpLCAzMCkgXA0KKyAgVCAoaW50 OF90LCB2bngxMjhxaSwgNjApIFwNCisgIFQgKGludDhfdCwgdm54MTI4cWks IDY0KSBcDQorICBUIChpbnQ4X3QsIHZueDEyOHFpLCAxMjcpIFwNCisNCitU RVNUX0FMTDQgKFZFQ19TRVQpDQorDQorLyogeyBkZy1maW5hbCB7IHNjYW4t YXNzZW1ibGVyLXRpbWVzIHt2c2V0W2ldKnZsaVxzK1thLXowLTksXSssXHMq ZTgsXHMqbTgsXHMqdGEsXHMqbWF9IDEgfSB9ICovDQorLyogeyBkZy1maW5h bCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2c2V0W2ldKnZsaVxzK1thLXow LTksXSssXHMqZTgsXHMqbTgsXHMqdHUsXHMqbWF9IDUgfSB9ICovDQorLyog eyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2c2V0W2ldKnZs aVxzK1thLXowLTksXSssXHMqZTE2LFxzKm04LFxzKnRhLFxzKm1hfSAyIH0g fSAqLw0KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7 dnNldFtpXSp2bGlccytbYS16MC05LF0rLFxzKmUxNixccyptOCxccyp0dSxc cyptYX0gMTEgfSB9ICovDQorLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1i bGVyLXRpbWVzIHt2c2V0W2ldKnZsaVxzK1thLXowLTksXSssXHMqZTMyLFxz Km04LFxzKnRhLFxzKm1hfSAyIH0gfSAqLw0KKy8qIHsgZGctZmluYWwgeyBz Y2FuLWFzc2VtYmxlci10aW1lcyB7dnNldFtpXSp2bGlccytbYS16MC05LF0r LFxzKmUzMixccyptOCxccyp0dSxccyptYX0gOCB9IH0gKi8NCisvKiB7IGRn LWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3ZzZXRbaV0qdmxpXHMr W2EtejAtOSxdKyxccyplNjQsXHMqbTgsXHMqdGEsXHMqbWF9IDIgfSB9ICov DQorLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2c2V0 W2ldKnZsaVxzK1thLXowLTksXSssXHMqZTY0LFxzKm04LFxzKnR1LFxzKm1h fSA2IH0gfSAqLw0KKw0KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxl ci10aW1lcyB7XHR2bXYudi54fSAxNiB9IH0gKi8NCisvKiB7IGRnLWZpbmFs IHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge1x0dmZtdi52LmZ9IDE0IH0gfSAq Lw0KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7XHR2 c2xpZGV1cC52aX0gMjMgfSB9ICovDQorLyogeyBkZy1maW5hbCB7IHNjYW4t YXNzZW1ibGVyLXRpbWVzIHtcdHZzbGlkZXVwLnZ4fSA3IH0gfSAqLw0KKw0K Ky8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7XHR2Zm12 LnMuZn0gMyB9IH0gKi8NCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJs ZXItdGltZXMge1x0dm12LnMueH0gNCB9IH0gKi8NCmRpZmYgLS1naXQgYS9n Y2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcnZ2L2F1dG92ZWMvdmxz LXZsbWF4L3ZlY19zZXQtcnVuLmMgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJn ZXQvcmlzY3YvcnZ2L2F1dG92ZWMvdmxzLXZsbWF4L3ZlY19zZXQtcnVuLmMN Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0DQppbmRleCAwMDAwMDAwMDAwMC4uN2U1 ZTBlNjlkNTENCi0tLSAvZGV2L251bGwNCisrKyBiL2djYy90ZXN0c3VpdGUv Z2NjLnRhcmdldC9yaXNjdi9ydnYvYXV0b3ZlYy92bHMtdmxtYXgvdmVjX3Nl dC1ydW4uYw0KQEAgLTAsMCArMSwyNDAgQEANCisvKiB7IGRnLWRvIHJ1biB7 IHRhcmdldCB7IHJpc2N2X3ZlY3RvciB9IH0gfSAqLw0KKy8qIHsgZGctYWRk aXRpb25hbC1vcHRpb25zICItc3RkPWM5OSAtbWFyY2g9cnY2NGdjdiAtV25v LXBlZGFudGljIiB9ICovDQorDQorI2luY2x1ZGUgPGFzc2VydC5oPg0KKw0K KyNpbmNsdWRlICJ2ZWNfc2V0LTEuYyINCisjaW5jbHVkZSAidmVjX3NldC0y LmMiDQorI2luY2x1ZGUgInZlY19zZXQtMy5jIg0KKyNpbmNsdWRlICJ2ZWNf c2V0LTQuYyINCisNCisjZGVmaW5lIENIRUNLKFMsIFYsIElEWCkgXA0KK3Zv aWQgY2hlY2tfIyNWIyNfIyNJRFggKCkgXA0KKyAgeyBcDQorICAgIFYgdjsg XA0KKyAgICBmb3IgKGludCBpID0gMDsgaSA8IHNpemVvZiAoVikgLyBzaXpl b2YgKFMpOyBpKyspIFwNCisgICAgICB2W2ldID0gaTsgXA0KKyAgICBWIHJl cyA9IHZlY19zZXRfIyNWIyNfIyNJRFggKHYsIDc3KTsgXA0KKyAgICBmb3Ig KGludCBpID0gMDsgaSA8IHNpemVvZiAoVikgLyBzaXplb2YgKFMpOyBpKysp IFwNCisgICAgICBhc3NlcnQgKHJlc1tpXSA9PSAoaSA9PSBJRFggPyA3NyA6 IGkpKTsgXA0KKyAgfQ0KKw0KKyNkZWZpbmUgQ0hFQ0tfQUxMKFQpIFwNCisg IFQgKGZsb2F0LCB2bng0c2YsIDApIFwNCisgIFQgKGZsb2F0LCB2bng0c2Ys IDEpIFwNCisgIFQgKGZsb2F0LCB2bng0c2YsIDMpIFwNCisgIFQgKGRvdWJs ZSwgdm54MmRmLCAwKSBcDQorICBUIChkb3VibGUsIHZueDJkZiwgMSkgXA0K KyAgVCAoaW50NjRfdCwgdm54MmRpLCAwKSBcDQorICBUIChpbnQ2NF90LCB2 bngyZGksIDEpIFwNCisgIFQgKGludDMyX3QsIHZueDRzaSwgMCkgXA0KKyAg VCAoaW50MzJfdCwgdm54NHNpLCAxKSBcDQorICBUIChpbnQzMl90LCB2bng0 c2ksIDMpIFwNCisgIFQgKGludDE2X3QsIHZueDhoaSwgMCkgXA0KKyAgVCAo aW50MTZfdCwgdm54OGhpLCAyKSBcDQorICBUIChpbnQxNl90LCB2bng4aGks IDYpIFwNCisgIFQgKGludDhfdCwgdm54MTZxaSwgMCkgXA0KKyAgVCAoaW50 OF90LCB2bngxNnFpLCAxKSBcDQorICBUIChpbnQ4X3QsIHZueDE2cWksIDcp IFwNCisgIFQgKGludDhfdCwgdm54MTZxaSwgMTEpIFwNCisgIFQgKGludDhf dCwgdm54MTZxaSwgMTUpIFwNCisgIFQgKGZsb2F0LCB2bng4c2YsIDApIFwN CisgIFQgKGZsb2F0LCB2bng4c2YsIDEpIFwNCisgIFQgKGZsb2F0LCB2bng4 c2YsIDMpIFwNCisgIFQgKGZsb2F0LCB2bng4c2YsIDQpIFwNCisgIFQgKGZs b2F0LCB2bng4c2YsIDcpIFwNCisgIFQgKGRvdWJsZSwgdm54NGRmLCAwKSBc DQorICBUIChkb3VibGUsIHZueDRkZiwgMSkgXA0KKyAgVCAoZG91YmxlLCB2 bng0ZGYsIDIpIFwNCisgIFQgKGRvdWJsZSwgdm54NGRmLCAzKSBcDQorICBU IChpbnQ2NF90LCB2bng0ZGksIDApIFwNCisgIFQgKGludDY0X3QsIHZueDRk aSwgMSkgXA0KKyAgVCAoaW50NjRfdCwgdm54NGRpLCAyKSBcDQorICBUIChp bnQ2NF90LCB2bng0ZGksIDMpIFwNCisgIFQgKGludDMyX3QsIHZueDhzaSwg MCkgXA0KKyAgVCAoaW50MzJfdCwgdm54OHNpLCAxKSBcDQorICBUIChpbnQz Ml90LCB2bng4c2ksIDMpIFwNCisgIFQgKGludDMyX3QsIHZueDhzaSwgNCkg XA0KKyAgVCAoaW50MzJfdCwgdm54OHNpLCA3KSBcDQorICBUIChpbnQxNl90 LCB2bngxNmhpLCAwKSBcDQorICBUIChpbnQxNl90LCB2bngxNmhpLCAxKSBc DQorICBUIChpbnQxNl90LCB2bngxNmhpLCA3KSBcDQorICBUIChpbnQxNl90 LCB2bngxNmhpLCA4KSBcDQorICBUIChpbnQxNl90LCB2bngxNmhpLCAxNSkg XA0KKyAgVCAoaW50OF90LCB2bngzMnFpLCAwKSBcDQorICBUIChpbnQ4X3Qs IHZueDMycWksIDEpIFwNCisgIFQgKGludDhfdCwgdm54MzJxaSwgMTUpIFwN CisgIFQgKGludDhfdCwgdm54MzJxaSwgMTYpIFwNCisgIFQgKGludDhfdCwg dm54MzJxaSwgMzEpIFwNCisgIFQgKGZsb2F0LCB2bngxNnNmLCAwKSBcDQor ICBUIChmbG9hdCwgdm54MTZzZiwgMikgXA0KKyAgVCAoZmxvYXQsIHZueDE2 c2YsIDYpIFwNCisgIFQgKGZsb2F0LCB2bngxNnNmLCA4KSBcDQorICBUIChm bG9hdCwgdm54MTZzZiwgMTQpIFwNCisgIFQgKGRvdWJsZSwgdm54OGRmLCAw KSBcDQorICBUIChkb3VibGUsIHZueDhkZiwgMikgXA0KKyAgVCAoZG91Ymxl LCB2bng4ZGYsIDQpIFwNCisgIFQgKGRvdWJsZSwgdm54OGRmLCA2KSBcDQor ICBUIChpbnQ2NF90LCB2bng4ZGksIDApIFwNCisgIFQgKGludDY0X3QsIHZu eDhkaSwgMikgXA0KKyAgVCAoaW50NjRfdCwgdm54OGRpLCA0KSBcDQorICBU IChpbnQ2NF90LCB2bng4ZGksIDYpIFwNCisgIFQgKGludDMyX3QsIHZueDE2 c2ksIDApIFwNCisgIFQgKGludDMyX3QsIHZueDE2c2ksIDIpIFwNCisgIFQg KGludDMyX3QsIHZueDE2c2ksIDYpIFwNCisgIFQgKGludDMyX3QsIHZueDE2 c2ksIDgpIFwNCisgIFQgKGludDMyX3QsIHZueDE2c2ksIDE0KSBcDQorICBU IChpbnQxNl90LCB2bngzMmhpLCAwKSBcDQorICBUIChpbnQxNl90LCB2bngz MmhpLCAyKSBcDQorICBUIChpbnQxNl90LCB2bngzMmhpLCAxNCkgXA0KKyAg VCAoaW50MTZfdCwgdm54MzJoaSwgMTYpIFwNCisgIFQgKGludDE2X3QsIHZu eDMyaGksIDMwKSBcDQorICBUIChpbnQ4X3QsIHZueDY0cWksIDApIFwNCisg IFQgKGludDhfdCwgdm54NjRxaSwgMikgXA0KKyAgVCAoaW50OF90LCB2bng2 NHFpLCAzMCkgXA0KKyAgVCAoaW50OF90LCB2bng2NHFpLCAzMikgXA0KKyAg VCAoaW50OF90LCB2bng2NHFpLCA2MykgXA0KKyAgVCAoZmxvYXQsIHZueDMy c2YsIDApIFwNCisgIFQgKGZsb2F0LCB2bngzMnNmLCAzKSBcDQorICBUIChm bG9hdCwgdm54MzJzZiwgMTIpIFwNCisgIFQgKGZsb2F0LCB2bngzMnNmLCAx NykgXA0KKyAgVCAoZmxvYXQsIHZueDMyc2YsIDE0KSBcDQorICBUIChkb3Vi bGUsIHZueDE2ZGYsIDApIFwNCisgIFQgKGRvdWJsZSwgdm54MTZkZiwgNCkg XA0KKyAgVCAoZG91YmxlLCB2bngxNmRmLCA4KSBcDQorICBUIChkb3VibGUs IHZueDE2ZGYsIDEyKSBcDQorICBUIChpbnQ2NF90LCB2bngxNmRpLCAwKSBc DQorICBUIChpbnQ2NF90LCB2bngxNmRpLCA0KSBcDQorICBUIChpbnQ2NF90 LCB2bngxNmRpLCA4KSBcDQorICBUIChpbnQ2NF90LCB2bngxNmRpLCAxMikg XA0KKyAgVCAoaW50MzJfdCwgdm54MzJzaSwgMCkgXA0KKyAgVCAoaW50MzJf dCwgdm54MzJzaSwgNCkgXA0KKyAgVCAoaW50MzJfdCwgdm54MzJzaSwgMTIp IFwNCisgIFQgKGludDMyX3QsIHZueDMyc2ksIDE2KSBcDQorICBUIChpbnQz Ml90LCB2bngzMnNpLCAyOCkgXA0KKyAgVCAoaW50MTZfdCwgdm54NjRoaSwg MCkgXA0KKyAgVCAoaW50MTZfdCwgdm54NjRoaSwgNCkgXA0KKyAgVCAoaW50 MTZfdCwgdm54NjRoaSwgMjgpIFwNCisgIFQgKGludDE2X3QsIHZueDY0aGks IDMyKSBcDQorICBUIChpbnQxNl90LCB2bng2NGhpLCA2MCkgXA0KKyAgVCAo aW50OF90LCB2bngxMjhxaSwgMCkgXA0KKyAgVCAoaW50OF90LCB2bngxMjhx aSwgNCkgXA0KKyAgVCAoaW50OF90LCB2bngxMjhxaSwgMzApIFwNCisgIFQg KGludDhfdCwgdm54MTI4cWksIDYwKSBcDQorICBUIChpbnQ4X3QsIHZueDEy OHFpLCA2NCkgXA0KKyAgVCAoaW50OF90LCB2bngxMjhxaSwgMTI3KSBcDQor DQorQ0hFQ0tfQUxMIChDSEVDSykNCisNCisjZGVmaW5lIFJVTihTLCBWLCBJ RFgpIFwNCisgIGNoZWNrXyMjViMjXyMjSURYICgpOw0KKw0KKyNkZWZpbmUg UlVOX0FMTChUKSBcDQorICBUIChmbG9hdCwgdm54NHNmLCAwKSBcDQorICBU IChmbG9hdCwgdm54NHNmLCAxKSBcDQorICBUIChmbG9hdCwgdm54NHNmLCAz KSBcDQorICBUIChkb3VibGUsIHZueDJkZiwgMCkgXA0KKyAgVCAoZG91Ymxl LCB2bngyZGYsIDEpIFwNCisgIFQgKGludDY0X3QsIHZueDJkaSwgMCkgXA0K KyAgVCAoaW50NjRfdCwgdm54MmRpLCAxKSBcDQorICBUIChpbnQzMl90LCB2 bng0c2ksIDApIFwNCisgIFQgKGludDMyX3QsIHZueDRzaSwgMSkgXA0KKyAg VCAoaW50MzJfdCwgdm54NHNpLCAzKSBcDQorICBUIChpbnQxNl90LCB2bng4 aGksIDApIFwNCisgIFQgKGludDE2X3QsIHZueDhoaSwgMikgXA0KKyAgVCAo aW50MTZfdCwgdm54OGhpLCA2KSBcDQorICBUIChpbnQ4X3QsIHZueDE2cWks IDApIFwNCisgIFQgKGludDhfdCwgdm54MTZxaSwgMSkgXA0KKyAgVCAoaW50 OF90LCB2bngxNnFpLCA3KSBcDQorICBUIChpbnQ4X3QsIHZueDE2cWksIDEx KSBcDQorICBUIChpbnQ4X3QsIHZueDE2cWksIDE1KSBcDQorICBUIChmbG9h dCwgdm54OHNmLCAwKSBcDQorICBUIChmbG9hdCwgdm54OHNmLCAxKSBcDQor ICBUIChmbG9hdCwgdm54OHNmLCAzKSBcDQorICBUIChmbG9hdCwgdm54OHNm LCA0KSBcDQorICBUIChmbG9hdCwgdm54OHNmLCA3KSBcDQorICBUIChkb3Vi bGUsIHZueDRkZiwgMCkgXA0KKyAgVCAoZG91YmxlLCB2bng0ZGYsIDEpIFwN CisgIFQgKGRvdWJsZSwgdm54NGRmLCAyKSBcDQorICBUIChkb3VibGUsIHZu eDRkZiwgMykgXA0KKyAgVCAoaW50NjRfdCwgdm54NGRpLCAwKSBcDQorICBU IChpbnQ2NF90LCB2bng0ZGksIDEpIFwNCisgIFQgKGludDY0X3QsIHZueDRk aSwgMikgXA0KKyAgVCAoaW50NjRfdCwgdm54NGRpLCAzKSBcDQorICBUIChp bnQzMl90LCB2bng4c2ksIDApIFwNCisgIFQgKGludDMyX3QsIHZueDhzaSwg MSkgXA0KKyAgVCAoaW50MzJfdCwgdm54OHNpLCAzKSBcDQorICBUIChpbnQz Ml90LCB2bng4c2ksIDQpIFwNCisgIFQgKGludDMyX3QsIHZueDhzaSwgNykg XA0KKyAgVCAoaW50MTZfdCwgdm54MTZoaSwgMCkgXA0KKyAgVCAoaW50MTZf dCwgdm54MTZoaSwgMSkgXA0KKyAgVCAoaW50MTZfdCwgdm54MTZoaSwgNykg XA0KKyAgVCAoaW50MTZfdCwgdm54MTZoaSwgOCkgXA0KKyAgVCAoaW50MTZf dCwgdm54MTZoaSwgMTUpIFwNCisgIFQgKGludDhfdCwgdm54MzJxaSwgMCkg XA0KKyAgVCAoaW50OF90LCB2bngzMnFpLCAxKSBcDQorICBUIChpbnQ4X3Qs IHZueDMycWksIDE1KSBcDQorICBUIChpbnQ4X3QsIHZueDMycWksIDE2KSBc DQorICBUIChpbnQ4X3QsIHZueDMycWksIDMxKSBcDQorICBUIChmbG9hdCwg dm54MTZzZiwgMCkgXA0KKyAgVCAoZmxvYXQsIHZueDE2c2YsIDIpIFwNCisg IFQgKGZsb2F0LCB2bngxNnNmLCA2KSBcDQorICBUIChmbG9hdCwgdm54MTZz ZiwgOCkgXA0KKyAgVCAoZmxvYXQsIHZueDE2c2YsIDE0KSBcDQorICBUIChk b3VibGUsIHZueDhkZiwgMCkgXA0KKyAgVCAoZG91YmxlLCB2bng4ZGYsIDIp IFwNCisgIFQgKGRvdWJsZSwgdm54OGRmLCA0KSBcDQorICBUIChkb3VibGUs IHZueDhkZiwgNikgXA0KKyAgVCAoaW50NjRfdCwgdm54OGRpLCAwKSBcDQor ICBUIChpbnQ2NF90LCB2bng4ZGksIDIpIFwNCisgIFQgKGludDY0X3QsIHZu eDhkaSwgNCkgXA0KKyAgVCAoaW50NjRfdCwgdm54OGRpLCA2KSBcDQorICBU IChpbnQzMl90LCB2bngxNnNpLCAwKSBcDQorICBUIChpbnQzMl90LCB2bngx NnNpLCAyKSBcDQorICBUIChpbnQzMl90LCB2bngxNnNpLCA2KSBcDQorICBU IChpbnQzMl90LCB2bngxNnNpLCA4KSBcDQorICBUIChpbnQzMl90LCB2bngx NnNpLCAxNCkgXA0KKyAgVCAoaW50MTZfdCwgdm54MzJoaSwgMCkgXA0KKyAg VCAoaW50MTZfdCwgdm54MzJoaSwgMikgXA0KKyAgVCAoaW50MTZfdCwgdm54 MzJoaSwgMTQpIFwNCisgIFQgKGludDE2X3QsIHZueDMyaGksIDE2KSBcDQor ICBUIChpbnQxNl90LCB2bngzMmhpLCAzMCkgXA0KKyAgVCAoaW50OF90LCB2 bng2NHFpLCAwKSBcDQorICBUIChpbnQ4X3QsIHZueDY0cWksIDIpIFwNCisg IFQgKGludDhfdCwgdm54NjRxaSwgMzApIFwNCisgIFQgKGludDhfdCwgdm54 NjRxaSwgMzIpIFwNCisgIFQgKGludDhfdCwgdm54NjRxaSwgNjMpIFwNCisg IFQgKGZsb2F0LCB2bngzMnNmLCAwKSBcDQorICBUIChmbG9hdCwgdm54MzJz ZiwgMykgXA0KKyAgVCAoZmxvYXQsIHZueDMyc2YsIDEyKSBcDQorICBUIChm bG9hdCwgdm54MzJzZiwgMTcpIFwNCisgIFQgKGZsb2F0LCB2bngzMnNmLCAx NCkgXA0KKyAgVCAoZG91YmxlLCB2bngxNmRmLCAwKSBcDQorICBUIChkb3Vi bGUsIHZueDE2ZGYsIDQpIFwNCisgIFQgKGRvdWJsZSwgdm54MTZkZiwgOCkg XA0KKyAgVCAoZG91YmxlLCB2bngxNmRmLCAxMikgXA0KKyAgVCAoaW50NjRf dCwgdm54MTZkaSwgMCkgXA0KKyAgVCAoaW50NjRfdCwgdm54MTZkaSwgNCkg XA0KKyAgVCAoaW50NjRfdCwgdm54MTZkaSwgOCkgXA0KKyAgVCAoaW50NjRf dCwgdm54MTZkaSwgMTIpIFwNCisgIFQgKGludDMyX3QsIHZueDMyc2ksIDAp IFwNCisgIFQgKGludDMyX3QsIHZueDMyc2ksIDQpIFwNCisgIFQgKGludDMy X3QsIHZueDMyc2ksIDEyKSBcDQorICBUIChpbnQzMl90LCB2bngzMnNpLCAx NikgXA0KKyAgVCAoaW50MzJfdCwgdm54MzJzaSwgMjgpIFwNCisgIFQgKGlu dDE2X3QsIHZueDY0aGksIDApIFwNCisgIFQgKGludDE2X3QsIHZueDY0aGks IDQpIFwNCisgIFQgKGludDE2X3QsIHZueDY0aGksIDI4KSBcDQorICBUIChp bnQxNl90LCB2bng2NGhpLCAzMikgXA0KKyAgVCAoaW50MTZfdCwgdm54NjRo aSwgNjApIFwNCisgIFQgKGludDhfdCwgdm54MTI4cWksIDApIFwNCisgIFQg KGludDhfdCwgdm54MTI4cWksIDQpIFwNCisgIFQgKGludDhfdCwgdm54MTI4 cWksIDMwKSBcDQorICBUIChpbnQ4X3QsIHZueDEyOHFpLCA2MCkgXA0KKyAg VCAoaW50OF90LCB2bngxMjhxaSwgNjQpIFwNCisgIFQgKGludDhfdCwgdm54 MTI4cWksIDEyNykgXA0KKw0KK2ludCBtYWluICgpDQorew0KKyAgUlVOX0FM TCAoUlVOKTsNCit9DQpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2Mu dGFyZ2V0L3Jpc2N2L3J2di9hdXRvdmVjL3Zscy12bG1heC92ZWNfc2V0LXp2 ZmgtcnVuLmMgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcnZ2 L2F1dG92ZWMvdmxzLXZsbWF4L3ZlY19zZXQtenZmaC1ydW4uYw0KbmV3IGZp bGUgbW9kZSAxMDA2NDQNCmluZGV4IDAwMDAwMDAwMDAwLi5iZjUxNGY5NDI2 Yg0KLS0tIC9kZXYvbnVsbA0KKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFy Z2V0L3Jpc2N2L3J2di9hdXRvdmVjL3Zscy12bG1heC92ZWNfc2V0LXp2Zmgt cnVuLmMNCkBAIC0wLDAgKzEsNzggQEANCisvKiB7IGRnLWRvIHJ1biB7IHRh cmdldCB7IHJpc2N2X3p2ZmhfaHcgfSB9IH0gKi8NCisvKiB7IGRnLWFkZGl0 aW9uYWwtb3B0aW9ucyAiLW1hcmNoPXJ2NjRnY3ZfenZmaCAtV25vLXBlZGFu dGljIiB9ICovDQorDQorI2luY2x1ZGUgPGFzc2VydC5oPg0KKw0KKyNpbmNs dWRlICJ2ZWNfc2V0LTEuYyINCisjaW5jbHVkZSAidmVjX3NldC0yLmMiDQor I2luY2x1ZGUgInZlY19zZXQtMy5jIg0KKyNpbmNsdWRlICJ2ZWNfc2V0LTQu YyINCisNCisjZGVmaW5lIENIRUNLKFMsIFYsIElEWCkgXA0KK3ZvaWQgY2hl Y2tfIyNWIyNfIyNJRFggKCkgXA0KKyAgeyBcDQorICAgIFYgdjsgXA0KKyAg ICBmb3IgKGludCBpID0gMDsgaSA8IHNpemVvZiAoVikgLyBzaXplb2YgKFMp OyBpKyspIFwNCisgICAgICB2W2ldID0gaTsgXA0KKyAgICBWIHJlcyA9IHZl Y19zZXRfIyNWIyNfIyNJRFggKHYsIDc3KTsgXA0KKyAgICBmb3IgKGludCBp ID0gMDsgaSA8IHNpemVvZiAoVikgLyBzaXplb2YgKFMpOyBpKyspIFwNCisg ICAgICBhc3NlcnQgKHJlc1tpXSA9PSAoaSA9PSBJRFggPyA3NyA6IGkpKTsg XA0KKyAgfQ0KKw0KKyNkZWZpbmUgQ0hFQ0tfQUxMKFQpIFwNCisgIFQgKF9G bG9hdDE2LCB2bng4aGYsIDApIFwNCisgIFQgKF9GbG9hdDE2LCB2bng4aGYs IDMpIFwNCisgIFQgKF9GbG9hdDE2LCB2bng4aGYsIDcpIFwNCisgIFQgKF9G bG9hdDE2LCB2bngxNmhmLCAwKSBcDQorICBUIChfRmxvYXQxNiwgdm54MTZo ZiwgMykgXA0KKyAgVCAoX0Zsb2F0MTYsIHZueDE2aGYsIDcpIFwNCisgIFQg KF9GbG9hdDE2LCB2bngxNmhmLCA4KSBcDQorICBUIChfRmxvYXQxNiwgdm54 MTZoZiwgMTUpIFwNCisgIFQgKF9GbG9hdDE2LCB2bngzMmhmLCAwKSBcDQor ICBUIChfRmxvYXQxNiwgdm54MzJoZiwgMykgXA0KKyAgVCAoX0Zsb2F0MTYs IHZueDMyaGYsIDcpIFwNCisgIFQgKF9GbG9hdDE2LCB2bngzMmhmLCA4KSBc DQorICBUIChfRmxvYXQxNiwgdm54MzJoZiwgMTYpIFwNCisgIFQgKF9GbG9h dDE2LCB2bngzMmhmLCAzMSkgXA0KKyAgVCAoX0Zsb2F0MTYsIHZueDY0aGYs IDApIFwNCisgIFQgKF9GbG9hdDE2LCB2bng2NGhmLCAzKSBcDQorICBUIChf RmxvYXQxNiwgdm54NjRoZiwgNykgXA0KKyAgVCAoX0Zsb2F0MTYsIHZueDY0 aGYsIDgpIFwNCisgIFQgKF9GbG9hdDE2LCB2bng2NGhmLCAxNikgXA0KKyAg VCAoX0Zsb2F0MTYsIHZueDY0aGYsIDMxKSBcDQorICBUIChfRmxvYXQxNiwg dm54NjRoZiwgNDIpIFwNCisgIFQgKF9GbG9hdDE2LCB2bng2NGhmLCA2Mykg XA0KKw0KK0NIRUNLX0FMTCAoQ0hFQ0spDQorDQorI2RlZmluZSBSVU4oUywg ViwgSURYKSBcDQorICBjaGVja18jI1YjI18jI0lEWCAoKTsNCisNCisjZGVm aW5lIFJVTl9BTEwoVCkgXA0KKyAgVCAoX0Zsb2F0MTYsIHZueDhoZiwgMCkg XA0KKyAgVCAoX0Zsb2F0MTYsIHZueDhoZiwgMykgXA0KKyAgVCAoX0Zsb2F0 MTYsIHZueDhoZiwgNykgXA0KKyAgVCAoX0Zsb2F0MTYsIHZueDE2aGYsIDAp IFwNCisgIFQgKF9GbG9hdDE2LCB2bngxNmhmLCAzKSBcDQorICBUIChfRmxv YXQxNiwgdm54MTZoZiwgNykgXA0KKyAgVCAoX0Zsb2F0MTYsIHZueDE2aGYs IDgpIFwNCisgIFQgKF9GbG9hdDE2LCB2bngxNmhmLCAxNSkgXA0KKyAgVCAo X0Zsb2F0MTYsIHZueDMyaGYsIDApIFwNCisgIFQgKF9GbG9hdDE2LCB2bngz MmhmLCAzKSBcDQorICBUIChfRmxvYXQxNiwgdm54MzJoZiwgNykgXA0KKyAg VCAoX0Zsb2F0MTYsIHZueDMyaGYsIDgpIFwNCisgIFQgKF9GbG9hdDE2LCB2 bngzMmhmLCAxNikgXA0KKyAgVCAoX0Zsb2F0MTYsIHZueDMyaGYsIDMxKSBc DQorICBUIChfRmxvYXQxNiwgdm54NjRoZiwgMCkgXA0KKyAgVCAoX0Zsb2F0 MTYsIHZueDY0aGYsIDMpIFwNCisgIFQgKF9GbG9hdDE2LCB2bng2NGhmLCA3 KSBcDQorICBUIChfRmxvYXQxNiwgdm54NjRoZiwgOCkgXA0KKyAgVCAoX0Zs b2F0MTYsIHZueDY0aGYsIDE2KSBcDQorICBUIChfRmxvYXQxNiwgdm54NjRo ZiwgMzEpIFwNCisgIFQgKF9GbG9hdDE2LCB2bng2NGhmLCA0MikgXA0KKyAg VCAoX0Zsb2F0MTYsIHZueDY0aGYsIDYzKSBcDQorDQoraW50IG1haW4gKCkN Cit7DQorICBSVU5fQUxMIChSVU4pOw0KK30NCi0tIA0KMi40MC4xDQogDQog DQo= ------=_001_NextPart258342224832_=------