From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 9418 invoked by alias); 18 Jan 2019 04:02:14 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Received: (qmail 9374 invoked by uid 89); 18 Jan 2019 04:02:13 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-1.9 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_NONE,SPF_PASS autolearn=ham version=3.3.2 spammy=kugan, sve-acle-branch, sveaclebranch, Kugan X-HELO: mail-lj1-f181.google.com Received: from mail-lj1-f181.google.com (HELO mail-lj1-f181.google.com) (209.85.208.181) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Fri, 18 Jan 2019 04:02:11 +0000 Received: by mail-lj1-f181.google.com with SMTP id v1-v6so10500599ljd.0 for ; Thu, 17 Jan 2019 20:02:10 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=mime-version:from:date:message-id:subject:to:cc; bh=CXcdJukLqDxnP+5O4lNgrWSxLKSIRTKpytJrtIUlXjg=; b=U2u8Amwfk7iJ9iId4eI8bSAAM2NJD9r8NPVpq3hdasXc0E01vX7nba9Nwg786QiL5G I+3iwu2CLhNahbRKsMXwz1ladwssUmrLHbZH9enNnKK9lAJkE7yOor37oZ0a0P0R9ARV KCeGY+5qyOjInFm4PZwHO/yEUdcd/VIakisYQ= MIME-Version: 1.0 From: Kugan Vivekanandarajah Date: Fri, 18 Jan 2019 04:02:00 -0000 Message-ID: Subject: [SVE ACLE] Implements svdiv and svdivr To: GCC Patches Cc: richard.sandiford@arm.com, Prathamesh Kulkarni Content-Type: multipart/mixed; boundary="0000000000001f3da3057fb39343" X-IsSubscribed: yes X-SW-Source: 2019-01/txt/msg01044.txt.bz2 --0000000000001f3da3057fb39343 Content-Type: text/plain; charset="UTF-8" Content-length: 117 I committed the following patch which implements svdiv and svdivr to aarch64/sve-acle-branch. branch Thanks, Kugan --0000000000001f3da3057fb39343 Content-Type: application/x-patch; name="0001-SVE-ACLE-Implements-svdiv-and-svdivr.patch" Content-Disposition: attachment; filename="0001-SVE-ACLE-Implements-svdiv-and-svdivr.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_jr1i8pkg0 Content-length: 168478 RnJvbSA5OTM5MzAyNDgwNDUyY2YxNzlhN2ZkMzE3NmMzYjQxMWI4MGQzYWQ5 IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBLdWdhbiBWaXZla2Fu YW5kYXJhamFoIDxrdWdhbi52aXZla2FuYW5kYXJhamFoQGxpbmFyby5vcmc+ CkRhdGU6IFRodSwgMTcgSmFuIDIwMTkgMjM6MDk6NTggKzExMDAKU3ViamVj dDogW1BBVENIXSBbU1ZFIEFDTEVdIEltcGxlbWVudHMgc3ZkaXYgYW5kIHN2 ZGl2cgoKQ2hhbmdlLUlkOiBJNGJjOGZhNWZjMDAxNWJlMGQ3NzNkZjc3NzEy ZDY3NzAxMDM2MWVjZgotLS0KIGdjYy9jb25maWcvYWFyY2g2NC9hYXJjaDY0 LXN2ZS1idWlsdGlucy5jICAgICAgICAgIHwgIDUwICsrLQogZ2NjL2NvbmZp Zy9hYXJjaDY0L2FhcmNoNjQtc3ZlLWJ1aWx0aW5zLmRlZiAgICAgICAgfCAg IDIgKwogZ2NjL2NvbmZpZy9hYXJjaDY0L2FhcmNoNjQtc3ZlLm1kICAgICAg ICAgICAgICAgICAgfCAxMDQgKystLS0KIC4uLi9nY2MudGFyZ2V0L2FhcmNo NjQvc3ZlLWFjbGUvYXNtL2Rpdl9mMTYuYyAgICAgIHwgNDE0ICsrKysrKysr KysrKysrKysrKysrCiAuLi4vZ2NjLnRhcmdldC9hYXJjaDY0L3N2ZS1hY2xl L2FzbS9kaXZfZjMyLmMgICAgICB8IDQxNCArKysrKysrKysrKysrKysrKysr KwogLi4uL2djYy50YXJnZXQvYWFyY2g2NC9zdmUtYWNsZS9hc20vZGl2X2Y2 NC5jICAgICAgfCA0MTQgKysrKysrKysrKysrKysrKysrKysKIC4uLi9nY2Mu dGFyZ2V0L2FhcmNoNjQvc3ZlLWFjbGUvYXNtL2Rpdl9zMzIuYyAgICAgIHwg MjU0ICsrKysrKysrKysrKwogLi4uL2djYy50YXJnZXQvYWFyY2g2NC9zdmUt YWNsZS9hc20vZGl2X3M2NC5jICAgICAgfCAyNTQgKysrKysrKysrKysrCiAu Li4vZ2NjLnRhcmdldC9hYXJjaDY0L3N2ZS1hY2xlL2FzbS9kaXZfdTMyLmMg ICAgICB8IDI1NCArKysrKysrKysrKysKIC4uLi9nY2MudGFyZ2V0L2FhcmNo NjQvc3ZlLWFjbGUvYXNtL2Rpdl91NjQuYyAgICAgIHwgMjU0ICsrKysrKysr KysrKwogLi4uL2djYy50YXJnZXQvYWFyY2g2NC9zdmUtYWNsZS9hc20vZGl2 cl9mMTYuYyAgICAgfCA0MjUgKysrKysrKysrKysrKysrKysrKysrCiAuLi4v Z2NjLnRhcmdldC9hYXJjaDY0L3N2ZS1hY2xlL2FzbS9kaXZyX2YzMi5jICAg ICB8IDQyNSArKysrKysrKysrKysrKysrKysrKysKIC4uLi9nY2MudGFyZ2V0 L2FhcmNoNjQvc3ZlLWFjbGUvYXNtL2RpdnJfZjY0LmMgICAgIHwgNDI1ICsr KysrKysrKysrKysrKysrKysrKwogLi4uL2djYy50YXJnZXQvYWFyY2g2NC9z dmUtYWNsZS9hc20vZGl2cl9zMzIuYyAgICAgfCAyNjQgKysrKysrKysrKysr KwogLi4uL2djYy50YXJnZXQvYWFyY2g2NC9zdmUtYWNsZS9hc20vZGl2cl9z NjQuYyAgICAgfCAyNjQgKysrKysrKysrKysrKwogLi4uL2djYy50YXJnZXQv YWFyY2g2NC9zdmUtYWNsZS9hc20vZGl2cl91MzIuYyAgICAgfCAyNjQgKysr KysrKysrKysrKwogLi4uL2djYy50YXJnZXQvYWFyY2g2NC9zdmUtYWNsZS9h c20vZGl2cl91NjQuYyAgICAgfCAyNjQgKysrKysrKysrKysrKwogMTcgZmls ZXMgY2hhbmdlZCwgNDY2OSBpbnNlcnRpb25zKCspLCA3NiBkZWxldGlvbnMo LSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2djYy50YXJn ZXQvYWFyY2g2NC9zdmUtYWNsZS9hc20vZGl2X2YxNi5jCiBjcmVhdGUgbW9k ZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2FhcmNoNjQvc3Zl LWFjbGUvYXNtL2Rpdl9mMzIuYwogY3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90 ZXN0c3VpdGUvZ2NjLnRhcmdldC9hYXJjaDY0L3N2ZS1hY2xlL2FzbS9kaXZf ZjY0LmMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2djYy50 YXJnZXQvYWFyY2g2NC9zdmUtYWNsZS9hc20vZGl2X3MzMi5jCiBjcmVhdGUg bW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2FhcmNoNjQv c3ZlLWFjbGUvYXNtL2Rpdl9zNjQuYwogY3JlYXRlIG1vZGUgMTAwNjQ0IGdj Yy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9hYXJjaDY0L3N2ZS1hY2xlL2FzbS9k aXZfdTMyLmMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2dj Yy50YXJnZXQvYWFyY2g2NC9zdmUtYWNsZS9hc20vZGl2X3U2NC5jCiBjcmVh dGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2FhcmNo NjQvc3ZlLWFjbGUvYXNtL2RpdnJfZjE2LmMKIGNyZWF0ZSBtb2RlIDEwMDY0 NCBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvYWFyY2g2NC9zdmUtYWNsZS9h c20vZGl2cl9mMzIuYwogY3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3Vp dGUvZ2NjLnRhcmdldC9hYXJjaDY0L3N2ZS1hY2xlL2FzbS9kaXZyX2Y2NC5j CiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0 L2FhcmNoNjQvc3ZlLWFjbGUvYXNtL2RpdnJfczMyLmMKIGNyZWF0ZSBtb2Rl IDEwMDY0NCBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvYWFyY2g2NC9zdmUt YWNsZS9hc20vZGl2cl9zNjQuYwogY3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90 ZXN0c3VpdGUvZ2NjLnRhcmdldC9hYXJjaDY0L3N2ZS1hY2xlL2FzbS9kaXZy X3UzMi5jCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0ZS9nY2Mu dGFyZ2V0L2FhcmNoNjQvc3ZlLWFjbGUvYXNtL2RpdnJfdTY0LmMKCmRpZmYg LS1naXQgYS9nY2MvY29uZmlnL2FhcmNoNjQvYWFyY2g2NC1zdmUtYnVpbHRp bnMuYyBiL2djYy9jb25maWcvYWFyY2g2NC9hYXJjaDY0LXN2ZS1idWlsdGlu cy5jCmluZGV4IGQ2NjNkZTQuLmMwMzljZWIgMTAwNjQ0Ci0tLSBhL2djYy9j b25maWcvYWFyY2g2NC9hYXJjaDY0LXN2ZS1idWlsdGlucy5jCisrKyBiL2dj Yy9jb25maWcvYWFyY2g2NC9hYXJjaDY0LXN2ZS1idWlsdGlucy5jCkBAIC0x NTgsNiArMTU4LDggQEAgZW51bSBmdW5jdGlvbiB7CiAgIEZVTkNfc3ZhYmQs CiAgIEZVTkNfc3ZhZGQsCiAgIEZVTkNfc3Zhc3JkLAorICBGVU5DX3N2ZGl2 LAorICBGVU5DX3N2ZGl2ciwKICAgRlVOQ19zdmR1cCwKICAgRlVOQ19zdmlu ZGV4LAogICBGVU5DX3N2bWF4LApAQCAtNDUxLDYgKzQ1Myw3IEBAIHByaXZh dGU6CiAgIHJ0eCBleHBhbmRfYWJzICgpOwogICBydHggZXhwYW5kX2FkZCAo dW5zaWduZWQgaW50KTsKICAgcnR4IGV4cGFuZF9hc3JkICgpOworICBydHgg ZXhwYW5kX2RpdiAoYm9vbCk7CiAgIHJ0eCBleHBhbmRfZHVwICgpOwogICBy dHggZXhwYW5kX2luZGV4ICgpOwogICBydHggZXhwYW5kX21heCAoKTsKQEAg LTQ2OSw3ICs0NzIsOCBAQCBwcml2YXRlOgogICBydHggZXhwYW5kX3N1YiAo Ym9vbCk7CiAKICAgcnR4IGV4cGFuZF9wcmVkX29wIChydHhfY29kZSwgaW50 KTsKLSAgcnR4IGV4cGFuZF9zaWduZWRfcHJlZF9vcCAocnR4X2NvZGUsIHJ0 eF9jb2RlLCBpbnQpOworICBydHggZXhwYW5kX3NpZ25lZF9wcmVkX29wIChy dHhfY29kZSwgcnR4X2NvZGUsIGludCwKKwkJCSAgICAgdW5zaWduZWQgaW50 ID0gREVGQVVMVF9NRVJHRV9BUkdOTyk7CiAgIHJ0eCBleHBhbmRfc2lnbmVk X3ByZWRfb3AgKGludCwgaW50LCBpbnQpOwogICBydHggZXhwYW5kX3ZpYV91 bnByZWRfZGlyZWN0X29wdGFiIChvcHRhYik7CiAgIHJ0eCBleHBhbmRfdmlh X3VucHJlZF9pbnNuIChpbnNuX2NvZGUpOwpAQCAtNTYzLDEyICs1NjcsMjIg QEAgc3RhdGljIGNvbnN0IHR5cGVfc3VmZml4X2luZm8gdHlwZV9zdWZmaXhl c1tOVU1fVFlQRV9TVUZGSVhFUyArIDFdID0gewogI2RlZmluZSBUWVBFU19h bGxfaW50ZWdlcihTLCBEKSBcCiAgIFRZUEVTX2FsbF9zaWduZWQgKFMsIEQp LCBUWVBFU19hbGxfdW5zaWduZWQgKFMsIEQpCiAKKy8qIF91MzIsIF91NjQg X3MzMiBfczY0LiAgKi8KKyNkZWZpbmUgVFlQRVNfc2RpKFMsIEQpIFwKKyAg UyAodTMyKSwgUyAodTY0KSwgUyAoczMyKSwgUyAoczY0KQorCiAvKiAgICAg X2YxNiBfZjMyIF9mNjQKICAgIF91OCBfdTE2IF91MzIgX3U2NAogICAgX3M4 IF9zMTYgX3MzMiBfczY0LiAgKi8KICNkZWZpbmUgVFlQRVNfYWxsX2RhdGEo UywgRCkgXAogICBUWVBFU19hbGxfZmxvYXQgKFMsIEQpLCBUWVBFU19hbGxf aW50ZWdlciAoUywgRCkKIAorLyogX2YxNiBfZjMyIF9mNjQKKyAgICAgICAg X3UzMiBfdTY0CisgICAgICAgIF9zMzIgX3M2NC4gICovCisjZGVmaW5lIFRZ UEVTX2FsbF9zZGlfYW5kX2Zsb2F0KFMsIEQpIFwKKyAgVFlQRVNfYWxsX2Zs b2F0IChTLCBEKSwgVFlQRVNfc2RpIChTLCBEKQorCiAvKiAgICAgX2YxNiBf ZjMyIF9mNjQKICAgIF9zOCBfczE2IF9zMzIgX3M2NC4gICovCiAjZGVmaW5l IFRZUEVTX2FsbF9zaWduZWRfYW5kX2Zsb2F0KFMsIEQpIFwKQEAgLTU5NCw2 ICs2MDgsNyBAQCBERUZfU1ZFX1RZUEVTX0FSUkFZIChhbGxfc2lnbmVkKTsK IERFRl9TVkVfVFlQRVNfQVJSQVkgKGFsbF9mbG9hdCk7CiBERUZfU1ZFX1RZ UEVTX0FSUkFZIChhbGxfaW50ZWdlcik7CiBERUZfU1ZFX1RZUEVTX0FSUkFZ IChhbGxfZGF0YSk7CitERUZfU1ZFX1RZUEVTX0FSUkFZIChhbGxfc2RpX2Fu ZF9mbG9hdCk7CiBERUZfU1ZFX1RZUEVTX0FSUkFZIChhbGxfc2lnbmVkX2Fu ZF9mbG9hdCk7CiAKIC8qIFVzZWQgYnkgZnVuY3Rpb25zIGluIGFhcmNoNjQt c3ZlLWJ1aWx0aW5zLmRlZiB0aGF0IGhhdmUgbm8gZ292ZXJuaW5nCkBAIC0x MDYyLDYgKzEwNzcsOCBAQCBhcm1fc3ZlX2hfYnVpbGRlcjo6Z2V0X2F0dHJp YnV0ZXMgKGNvbnN0IGZ1bmN0aW9uX2luc3RhbmNlICZpbnN0YW5jZSkKICAg ICBjYXNlIEZVTkNfc3ZhYnM6CiAgICAgY2FzZSBGVU5DX3N2YWRkOgogICAg IGNhc2UgRlVOQ19zdmFzcmQ6CisgICAgY2FzZSBGVU5DX3N2ZGl2OgorICAg IGNhc2UgRlVOQ19zdmRpdnI6CiAgICAgY2FzZSBGVU5DX3N2ZHVwOgogICAg IGNhc2UgRlVOQ19zdmluZGV4OgogICAgIGNhc2UgRlVOQ19zdm1heDoKQEAg LTE2NzIsNiArMTY4OSw4IEBAIGdpbXBsZV9mb2xkZXI6OmZvbGQgKCkKICAg ICBjYXNlIEZVTkNfc3ZhYnM6CiAgICAgY2FzZSBGVU5DX3N2YWRkOgogICAg IGNhc2UgRlVOQ19zdmFzcmQ6CisgICAgY2FzZSBGVU5DX3N2ZGl2OgorICAg IGNhc2UgRlVOQ19zdmRpdnI6CiAgICAgY2FzZSBGVU5DX3N2ZHVwOgogICAg IGNhc2UgRlVOQ19zdmluZGV4OgogICAgIGNhc2UgRlVOQ19zdm1heDoKQEAg LTE3NTYsNiArMTc3NSwxMiBAQCBmdW5jdGlvbl9leHBhbmRlcjo6ZXhwYW5k ICgpCiAgICAgY2FzZSBGVU5DX3N2YXNyZDoKICAgICAgIHJldHVybiBleHBh bmRfYXNyZCAoKTsKIAorICAgIGNhc2UgRlVOQ19zdmRpdjoKKyAgICAgIHJl dHVybiBleHBhbmRfZGl2IChmYWxzZSk7CisKKyAgICBjYXNlIEZVTkNfc3Zk aXZyOgorICAgICAgcmV0dXJuIGV4cGFuZF9kaXYgKHRydWUpOworCiAgICAg Y2FzZSBGVU5DX3N2ZHVwOgogICAgICAgcmV0dXJuIGV4cGFuZF9kdXAgKCk7 CiAKQEAgLTE4NTMsNiArMTg3OCwyMCBAQCBmdW5jdGlvbl9leHBhbmRlcjo6 ZXhwYW5kX2FzcmQgKCkKICAgcmV0dXJuIGV4cGFuZF9wcmVkX3NoaWZ0X3Jp Z2h0X2ltbSAoY29kZV9mb3JfY29uZF9hc3JkIChnZXRfbW9kZSAoMCkpKTsK IH0KIAorLyogRXhwYW5kIGEgY2FsbCB0byBzdmRpdi4gICovCitydHgKK2Z1 bmN0aW9uX2V4cGFuZGVyOjpleHBhbmRfZGl2IChib29sIHJldmVyc2VkX3Ap Cit7CisgIHVuc2lnbmVkIGludCBtZXJnZV9hcmdubyA9IDE7CisgIGlmIChy ZXZlcnNlZF9wKQorICAgIHsKKyAgICAgIHN0ZDo6c3dhcCAobV9hcmdzWzFd LCBtX2FyZ3NbMl0pOworICAgICAgbWVyZ2VfYXJnbm8gPSAyOworICAgIH0K KworICByZXR1cm4gZXhwYW5kX3NpZ25lZF9wcmVkX29wIChESVYsIFVESVYs IFVOU1BFQ19DT05EX0RJViwgbWVyZ2VfYXJnbm8pOworfQorCiAvKiBFeHBh bmQgYSBjYWxsIHRvIHN2ZHVwLiAgKi8KIHJ0eAogZnVuY3Rpb25fZXhwYW5k ZXI6OmV4cGFuZF9kdXAgKCkKQEAgLTIyMTMsMTEgKzIyNTIsMTQgQEAgZnVu Y3Rpb25fZXhwYW5kZXI6OmV4cGFuZF9wcmVkX29wIChydHhfY29kZSBjb2Rl LCBpbnQgdW5zcGVjX2NvbmQpCiAgICB0aGUgZmxvYXRpbmctcG9pbnQgaW5z dHJ1Y3Rpb25zIGFyZSBwYXJhbWV0ZXJpemVkIGJ5IGFuIHVuc3BlYyBjb2Rl LgogICAgQ09ERV9GT1JfU0lOVCBpcyB0aGUgcnR4X2NvZGUgZm9yIHNpZ25l ZCBpbnRlZ2VyIG9wZXJhdGlvbnMsCiAgICBDT0RFX0ZPUl9VSU5UIGlzIHRo ZSBydHhfY29kZSBmb3IgdW5zaWduZWQgaW50ZWdlciBvcGVyYXRpb25zCi0g ICBhbmQgVU5TUEVDX0NPTkQgaXMgdGhlIHVuc3BlYyBjb2RlIGZvciBmbG9h dGluZy1wb2ludCBvcGVyYXRpb25zLiAgKi8KKyAgIGFuZCBVTlNQRUNfQ09O RCBpcyB0aGUgdW5zcGVjIGNvZGUgZm9yIGZsb2F0aW5nLXBvaW50IG9wZXJh dGlvbnMuCisgICBNRVJHRV9BUkdOTyBpcyB0aGUgYXJndW1lbnQgdGhhdCBz aG91bGQgYmUgdXNlZCBhcyB0aGUgZmFsbGJhY2sKKyAgIHZhbHVlIGluIGEg bWVyZ2luZyBvcGVyYXRpb24uICAqLwogcnR4CiBmdW5jdGlvbl9leHBhbmRl cjo6ZXhwYW5kX3NpZ25lZF9wcmVkX29wIChydHhfY29kZSBjb2RlX2Zvcl9z aW50LAogCQkJCQkgIHJ0eF9jb2RlIGNvZGVfZm9yX3VpbnQsCi0JCQkJCSAg aW50IHVuc3BlY19jb25kKQorCQkJCQkgIGludCB1bnNwZWNfY29uZCwKKwkJ CQkJICB1bnNpZ25lZCBpbnQgbWVyZ2VfYXJnbm8pCiB7CiAgIGluc25fY29k ZSBpY29kZTsKIApAQCAtMjI0NSw3ICsyMjg3LDcgQEAgZnVuY3Rpb25fZXhw YW5kZXI6OmV4cGFuZF9zaWduZWRfcHJlZF9vcCAocnR4X2NvZGUgY29kZV9m b3Jfc2ludCwKIAl9CiAgICAgICBlbHNlCiAJaWNvZGUgPSBjb2RlX2Zvcl9j b25kICh1bnNwZWNfY29uZCwgZ2V0X21vZGUgKDApKTsKLSAgICAgIHJldHVy biBleHBhbmRfdmlhX3ByZWRfaW5zbiAoaWNvZGUpOworICAgICAgcmV0dXJu IGV4cGFuZF92aWFfcHJlZF9pbnNuIChpY29kZSwgbWVyZ2VfYXJnbm8pOwog ICAgIH0KIH0KIApkaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9hYXJjaDY0L2Fh cmNoNjQtc3ZlLWJ1aWx0aW5zLmRlZiBiL2djYy9jb25maWcvYWFyY2g2NC9h YXJjaDY0LXN2ZS1idWlsdGlucy5kZWYKaW5kZXggODNkYzhlNS4uMmQ4NDBk YSAxMDA2NDQKLS0tIGEvZ2NjL2NvbmZpZy9hYXJjaDY0L2FhcmNoNjQtc3Zl LWJ1aWx0aW5zLmRlZgorKysgYi9nY2MvY29uZmlnL2FhcmNoNjQvYWFyY2g2 NC1zdmUtYnVpbHRpbnMuZGVmCkBAIC02NCw2ICs2NCw4IEBAIERFRl9TVkVf RlVOQ1RJT04gKHN2YWJkLCBiaW5hcnlfb3B0X24sIGFsbF9kYXRhLCBteHop CiBERUZfU1ZFX0ZVTkNUSU9OIChzdmFicywgdW5hcnksIGFsbF9zaWduZWRf YW5kX2Zsb2F0LCBteHopCiBERUZfU1ZFX0ZVTkNUSU9OIChzdmFkZCwgYmlu YXJ5X29wdF9uLCBhbGxfZGF0YSwgbXh6KQogREVGX1NWRV9GVU5DVElPTiAo c3Zhc3JkLCBzaGlmdF9yaWdodF9pbW0sIGFsbF9zaWduZWQsIG14eikKK0RF Rl9TVkVfRlVOQ1RJT04gKHN2ZGl2LCBiaW5hcnlfb3B0X24sIGFsbF9zZGlf YW5kX2Zsb2F0LCBteHopCitERUZfU1ZFX0ZVTkNUSU9OIChzdmRpdnIsIGJp bmFyeV9vcHRfbiwgYWxsX3NkaV9hbmRfZmxvYXQsIG14eikKIERFRl9TVkVf RlVOQ1RJT04gKHN2ZHVwLCB1bmFyeV9uLCBhbGxfZGF0YSwgbXh6bm9uZSkK IERFRl9TVkVfRlVOQ1RJT04gKHN2aW5kZXgsIGJpbmFyeV9zY2FsYXIsIGFs bF9kYXRhLCBub25lKQogREVGX1NWRV9GVU5DVElPTiAoc3ZtYXgsIGJpbmFy eV9vcHRfbiwgYWxsX2RhdGEsIG14eikKZGlmZiAtLWdpdCBhL2djYy9jb25m aWcvYWFyY2g2NC9hYXJjaDY0LXN2ZS5tZCBiL2djYy9jb25maWcvYWFyY2g2 NC9hYXJjaDY0LXN2ZS5tZAppbmRleCBkOGVjNGFkLi45NDRkZTgyIDEwMDY0 NAotLS0gYS9nY2MvY29uZmlnL2FhcmNoNjQvYWFyY2g2NC1zdmUubWQKKysr IGIvZ2NjL2NvbmZpZy9hYXJjaDY0L2FhcmNoNjQtc3ZlLm1kCkBAIC0xMjQx LDEzICsxMjQxLDEzIEBACiApCiAKIDs7IERpdmlzaW9uIHByZWRpY2F0ZWQg d2l0aCBhIFBUUlVFLgotKGRlZmluZV9pbnNuICIqPG9wdGFiPjxtb2RlPjMi CisoZGVmaW5lX2luc24gIkBhYXJjaDY0X3ByZWRfPG9wdGFiPjxtb2RlPiIK ICAgWyhzZXQgKG1hdGNoX29wZXJhbmQ6U1ZFX1NESSAwICJyZWdpc3Rlcl9v cGVyYW5kIiAiPXcsIHcsID8mdyIpCiAJKHVuc3BlYzpTVkVfU0RJCiAJICBb KG1hdGNoX29wZXJhbmQ6PFZQUkVEPiAxICJyZWdpc3Rlcl9vcGVyYW5kIiAi VXBsLCBVcGwsIFVwbCIpCiAJICAgKFNWRV9JTlRfQklOQVJZX1NEOlNWRV9T REkKIAkgICAgIChtYXRjaF9vcGVyYW5kOlNWRV9TREkgMiAicmVnaXN0ZXJf b3BlcmFuZCIgIjAsIHcsIHciKQotCSAgICAgKG1hdGNoX29wZXJhbmQ6U1ZF X1NESSAzICJhYXJjaDY0X3N2ZV9tdWxfb3BlcmFuZCIgIncsIDAsIHciKSld CisJICAgICAobWF0Y2hfb3BlcmFuZDpTVkVfU0RJIDMgInJlZ2lzdGVyX29w ZXJhbmQiICJ3LCAwLCB3IikpXQogCSAgVU5TUEVDX01FUkdFX1BUUlVFKSld CiAgICJUQVJHRVRfU1ZFIgogICAiQApAQCAtMjAxNSw2MyArMjAxNSw1MCBA QAogKQogCiA7OyBVbnByZWRpY2F0ZWQgZmxvYXRpbmctcG9pbnQgTUlOL01B WC4KLShkZWZpbmVfZXhwYW5kICI8c3U+PG1heG1pbj48bW9kZT4zIgorKGRl ZmluZV9leHBhbmQgIjxtYXhtaW5fdW5zPjxtb2RlPjMiCiAgIFsoc2V0ICht YXRjaF9vcGVyYW5kOlNWRV9GIDAgInJlZ2lzdGVyX29wZXJhbmQiKQogCSh1 bnNwZWM6U1ZFX0YKIAkgIFsobWF0Y2hfZHVwIDMpCi0JICAgKEZNQVhNSU46 U1ZFX0YgKG1hdGNoX29wZXJhbmQ6U1ZFX0YgMSAicmVnaXN0ZXJfb3BlcmFu ZCIpCi0JCQkgIChtYXRjaF9vcGVyYW5kOlNWRV9GIDIgInJlZ2lzdGVyX29w ZXJhbmQiKSldCi0JICBVTlNQRUNfTUVSR0VfUFRSVUUpKV0KKwkgICAoY29u c3RfaW50IFNWRV9BTExPV19ORVdfRkFVTFRTKQorCSAgIChtYXRjaF9vcGVy YW5kOlNWRV9GIDEgInJlZ2lzdGVyX29wZXJhbmQiKQorCSAgIChtYXRjaF9v cGVyYW5kOlNWRV9GIDIgInJlZ2lzdGVyX29wZXJhbmQiKV0KKwkgIFNWRV9D T05EX01BWE1JTikpXQogICAiVEFSR0VUX1NWRSIKICAgewogICAgIG9wZXJh bmRzWzNdID0gZm9yY2VfcmVnICg8VlBSRUQ+bW9kZSwgQ09OU1RNMV9SVFgg KDxWUFJFRD5tb2RlKSk7CiAgIH0KICkKIAotOzsgRmxvYXRpbmctcG9pbnQg TUlOL01BWCBwcmVkaWNhdGVkIHdpdGggYSBQVFJVRS4KLShkZWZpbmVfaW5z biAiKjxzdT48bWF4bWluPjxtb2RlPjMiCi0gIFsoc2V0IChtYXRjaF9vcGVy YW5kOlNWRV9GIDAgInJlZ2lzdGVyX29wZXJhbmQiICI9dywgPyZ3IikKLQko dW5zcGVjOlNWRV9GCi0JICBbKG1hdGNoX29wZXJhbmQ6PFZQUkVEPiAxICJy ZWdpc3Rlcl9vcGVyYW5kIiAiVXBsLCBVcGwiKQotCSAgIChGTUFYTUlOOlNW RV9GIChtYXRjaF9vcGVyYW5kOlNWRV9GIDIgInJlZ2lzdGVyX29wZXJhbmQi ICIlMCwgdyIpCi0JCQkgIChtYXRjaF9vcGVyYW5kOlNWRV9GIDMgInJlZ2lz dGVyX29wZXJhbmQiICJ3LCB3IikpXQotCSAgVU5TUEVDX01FUkdFX1BUUlVF KSldCi0gICJUQVJHRVRfU1ZFIgotICAiQAotICAgZjxtYXhtaW4+bm1cdCUw LjxWZXR5cGU+LCAlMS9tLCAlMC48VmV0eXBlPiwgJTMuPFZldHlwZT4KLSAg IG1vdnByZnhcdCUwLCAlMlw7ZjxtYXhtaW4+bm1cdCUwLjxWZXR5cGU+LCAl MS9tLCAlMC48VmV0eXBlPiwgJTMuPFZldHlwZT4iCi0gIFsoc2V0X2F0dHIg Im1vdnByZngiICIqLHllcyIpXQotKQotCi07OyBVbnByZWRpY2F0ZWQgZm1p bi9mbWF4LgotKGRlZmluZV9leHBhbmQgIjxtYXhtaW5fdW5zPjxtb2RlPjMi Cis7OyBVbnByZWRpY2F0ZWQgZmxvYXRpbmctcG9pbnQgYmluYXJ5IG9wZXJh dGlvbnMgdGhhdCBoYXZlIG5vIGltbWVkaWF0ZSBmb3Jtcy4KKyhkZWZpbmVf ZXhwYW5kICI8b3B0YWI+PG1vZGU+MyIKICAgWyhzZXQgKG1hdGNoX29wZXJh bmQ6U1ZFX0YgMCAicmVnaXN0ZXJfb3BlcmFuZCIpCiAJKHVuc3BlYzpTVkVf RgogCSAgWyhtYXRjaF9kdXAgMykKIAkgICAoY29uc3RfaW50IFNWRV9BTExP V19ORVdfRkFVTFRTKQogCSAgIChtYXRjaF9vcGVyYW5kOlNWRV9GIDEgInJl Z2lzdGVyX29wZXJhbmQiKQogCSAgIChtYXRjaF9vcGVyYW5kOlNWRV9GIDIg InJlZ2lzdGVyX29wZXJhbmQiKV0KLQkgIFNWRV9DT05EX01BWE1JTikpXQor CSAgU1ZFX0NPTkRfRlBfQklOQVJZKSldCiAgICJUQVJHRVRfU1ZFIgogICB7 CiAgICAgb3BlcmFuZHNbM10gPSBmb3JjZV9yZWcgKDxWUFJFRD5tb2RlLCBD T05TVE0xX1JUWCAoPFZQUkVEPm1vZGUpKTsKICAgfQogKQogCi07OyBQcmVk aWNhdGVkIEZNSU4sIEZNQVgsIEZNSU5OTSBhbmQgRk1BWE5NLgotKGRlZmlu ZV9pbnNuICJAYWFyY2g2NF9wcmVkXzxtYXhtaW5fdW5zPjxtb2RlPiIKLSAg WyhzZXQgKG1hdGNoX29wZXJhbmQ6U1ZFX0YgMCAicmVnaXN0ZXJfb3BlcmFu ZCIgIj13LCA/JnciKQorOzsgUHJlZGljYXRlZCBmbG9hdGluZy1wb2ludCBi aW5hcnkgb3BlcmF0aW9ucyB0aGF0IGhhdmUgbm8gaW1tZWRpYXRlIGZvcm1z LgorKGRlZmluZV9pbnNuICJAYWFyY2g2NF9wcmVkXzxvcHRhYj48bW9kZT4i CisgIFsoc2V0IChtYXRjaF9vcGVyYW5kOlNWRV9GIDAgInJlZ2lzdGVyX29w ZXJhbmQiICI9dywgdywgPyZ3IikKIAkodW5zcGVjOlNWRV9GCi0JICBbKG1h dGNoX29wZXJhbmQ6PFZQUkVEPiAxICJyZWdpc3Rlcl9vcGVyYW5kIiAiVXBs LCBVcGwiKQotCSAgIChtYXRjaF9vcGVyYW5kOlNJIDQgImNvbnN0X2ludF9v cGVyYW5kIiAiaSwgaSIpCi0JICAgKG1hdGNoX29wZXJhbmQ6U1ZFX0YgMiAi cmVnaXN0ZXJfb3BlcmFuZCIgIiUwLCB3IikKLQkgICAobWF0Y2hfb3BlcmFu ZDpTVkVfRiAzICJyZWdpc3Rlcl9vcGVyYW5kIiAidywgdyIpXQotCSAgU1ZF X0NPTkRfTUFYTUlOKSldCisJICBbKG1hdGNoX29wZXJhbmQ6PFZQUkVEPiAx ICJyZWdpc3Rlcl9vcGVyYW5kIiAiVXBsLCBVcGwsIFVwbCIpCisJICAgKG1h dGNoX29wZXJhbmQ6U0kgNCAiY29uc3RfaW50X29wZXJhbmQiICJpLCBpLCBp IikKKwkgICAobWF0Y2hfb3BlcmFuZDpTVkVfRiAyICJyZWdpc3Rlcl9vcGVy YW5kIiAiMCwgdywgdyIpCisJICAgKG1hdGNoX29wZXJhbmQ6U1ZFX0YgMyAi cmVnaXN0ZXJfb3BlcmFuZCIgIncsIDAsIHciKV0KKwkgIFNWRV9DT05EX0ZQ X0JJTkFSWSkpXQogICAiVEFSR0VUX1NWRSIKICAgIkAKLSAgIDxtYXhtaW5f dW5zX29wPlx0JTAuPFZldHlwZT4sICUxL20sICUwLjxWZXR5cGU+LCAlMy48 VmV0eXBlPgotICAgbW92cHJmeFx0JTAsICUyXDs8bWF4bWluX3Vuc19vcD5c dCUwLjxWZXR5cGU+LCAlMS9tLCAlMC48VmV0eXBlPiwgJTMuPFZldHlwZT4i Ci0gIFsoc2V0X2F0dHIgIm1vdnByZngiICIqLHllcyIpXQorICAgPHN2ZV9m cF9vcD5cdCUwLjxWZXR5cGU+LCAlMS9tLCAlMC48VmV0eXBlPiwgJTMuPFZl dHlwZT4KKyAgIDxzdmVfZnBfb3BfcmV2Plx0JTAuPFZldHlwZT4sICUxL20s ICUwLjxWZXR5cGU+LCAlMi48VmV0eXBlPgorICAgbW92cHJmeFx0JTAsICUy XDs8c3ZlX2ZwX29wPlx0JTAuPFZldHlwZT4sICUxL20sICUwLjxWZXR5cGU+ LCAlMy48VmV0eXBlPiIKKyAgWyhzZXRfYXR0ciAibW92cHJmeCIgIiosKix5 ZXMiKV0KICkKIAogOzsgUHJlZGljYXRlZCBTQUJEIGFuZCBVQUJELgpAQCAt MjI1MCw3ICsyMjM3LDcgQEAKICBbKHNldF9hdHRyICJtb3ZwcmZ4IiAiKix5 ZXMsKiIpXQogKQogCi0oZGVmaW5lX2V4cGFuZCAiY29uZF88b3B0YWI+PG1v ZGU+IgorKGRlZmluZV9leHBhbmQgIkBjb25kXzxvcHRhYj48bW9kZT4iCiAg IFsoc2V0IChtYXRjaF9vcGVyYW5kOlNWRV9TREkgMCAicmVnaXN0ZXJfb3Bl cmFuZCIpCiAJKHVuc3BlYzpTVkVfU0RJCiAJICBbKG1hdGNoX29wZXJhbmQ6 PFZQUkVEPiAxICJyZWdpc3Rlcl9vcGVyYW5kIikKQEAgLTIzODIsMTYgKzIz NjksMTkgQEAKICkKIAogKGRlZmluZV9pbnNuICIqY29uZF88b3B0YWI+PG1v ZGU+X3oiCi0gIFsoc2V0IChtYXRjaF9vcGVyYW5kOlNWRV9TREkgMCAicmVn aXN0ZXJfb3BlcmFuZCIgIj0mdyx3IikKKyAgWyhzZXQgKG1hdGNoX29wZXJh bmQ6U1ZFX1NESSAwICJyZWdpc3Rlcl9vcGVyYW5kIiAiPSZ3LCZ3LCZ3IikK IAkodW5zcGVjOlNWRV9TREkKLQkgIFsobWF0Y2hfb3BlcmFuZDo8VlBSRUQ+ IDEgInJlZ2lzdGVyX29wZXJhbmQiICJVcGwsVXBsIikKKwkgIFsobWF0Y2hf b3BlcmFuZDo8VlBSRUQ+IDEgInJlZ2lzdGVyX29wZXJhbmQiICJVcGwsVXBs LFVwbCIpCiAJICAgKFNWRV9JTlRfQklOQVJZX1NEOlNWRV9TREkKLQkgICAg IChtYXRjaF9vcGVyYW5kOlNWRV9TREkgMiAicmVnaXN0ZXJfb3BlcmFuZCIg IjAsdyIpCi0JICAgICAobWF0Y2hfb3BlcmFuZDpTVkVfU0RJIDMgInJlZ2lz dGVyX29wZXJhbmQiICJ3LHciKSkKKwkgICAgIChtYXRjaF9vcGVyYW5kOlNW RV9TREkgMiAicmVnaXN0ZXJfb3BlcmFuZCIgIjAsdyx3IikKKwkgICAgICht YXRjaF9vcGVyYW5kOlNWRV9TREkgMyAicmVnaXN0ZXJfb3BlcmFuZCIgIncs MCx3IikpCiAJICAgKG1hdGNoX29wZXJhbmQ6U1ZFX1NESSA0ICJhYXJjaDY0 X3NpbWRfaW1tX3plcm8iKV0KIAkgIFVOU1BFQ19TRUwpKV0KICAgIlRBUkdF VF9TVkUiCi0gICJtb3ZwcmZ4XHQlMC48VmV0eXBlPiwgJTEveiwgJTIuPFZl dHlwZT5cOzxzdmVfaW50X29wPlx0JTAuPFZldHlwZT4sICUxL20sICUwLjxW ZXR5cGU+LCAlMy48VmV0eXBlPiIKKyAgIkAKKyAgIG1vdnByZnhcdCUwLjxW ZXR5cGU+LCAlMS96LCAlMC48VmV0eXBlPlw7PHN2ZV9pbnRfb3A+XHQlMC48 VmV0eXBlPiwgJTEvbSwgJTAuPFZldHlwZT4sICUzLjxWZXR5cGU+CisgICBt b3ZwcmZ4XHQlMC48VmV0eXBlPiwgJTEveiwgJTAuPFZldHlwZT5cOzxzdmVf aW50X29wX3Jldj5cdCUwLjxWZXR5cGU+LCAlMS9tLCAlMC48VmV0eXBlPiwg JTIuPFZldHlwZT4KKyAgIG1vdnByZnhcdCUwLjxWZXR5cGU+LCAlMS96LCAl Mi48VmV0eXBlPlw7PHN2ZV9pbnRfb3A+XHQlMC48VmV0eXBlPiwgJTEvbSwg JTAuPFZldHlwZT4sICUzLjxWZXR5cGU+IgogICBbKHNldF9hdHRyICJtb3Zw cmZ4IiAieWVzIildCiApCiAKQEAgLTI0NTksNyArMjQ0OSw3IEBACiAgIFso c2V0IChtYXRjaF9vcGVyYW5kOlNWRV9TREkgMCAicmVnaXN0ZXJfb3BlcmFu ZCIgIj0mdyIpCiAJKHVuc3BlYzpTVkVfU0RJCiAJICBbKG1hdGNoX29wZXJh bmQ6PFZQUkVEPiAxICJyZWdpc3Rlcl9vcGVyYW5kIiAiVXBsIikKLQkgICAo U1ZFX0lOVF9CSU5BUllfU0Q6U1ZFX0kKKwkgICAoU1ZFX0lOVF9CSU5BUllf U0Q6U1ZFX1NESQogCSAgICAgKG1hdGNoX29wZXJhbmQ6U1ZFX1NESSAyICJy ZWdpc3Rlcl9vcGVyYW5kIiAidyIpCiAJICAgICAobWF0Y2hfb3BlcmFuZDpT VkVfU0RJIDMgInJlZ2lzdGVyX29wZXJhbmQiICJ3IikpCiAJICAgKG1hdGNo X29wZXJhbmQ6U1ZFX1NESSA0ICJyZWdpc3Rlcl9vcGVyYW5kIiAgICJ3Iild CkBAIC0yODQ1LDM2ICsyODM1LDYgQEAKICAgWyhzZXRfYXR0ciAibW92cHJm eCIgIiosKiwqLHllcyIpXQogKQogCi07OyBVbnByZWRpY2F0ZWQgZmxvYXRp bmctcG9pbnQgZGl2aXNpb24uCi0oZGVmaW5lX2V4cGFuZCAiZGl2PG1vZGU+ MyIKLSAgWyhzZXQgKG1hdGNoX29wZXJhbmQ6U1ZFX0YgMCAicmVnaXN0ZXJf b3BlcmFuZCIpCi0JKHVuc3BlYzpTVkVfRgotCSAgWyhtYXRjaF9kdXAgMykK LQkgICAoZGl2OlNWRV9GIChtYXRjaF9vcGVyYW5kOlNWRV9GIDEgInJlZ2lz dGVyX29wZXJhbmQiKQotCQkgICAgICAobWF0Y2hfb3BlcmFuZDpTVkVfRiAy ICJyZWdpc3Rlcl9vcGVyYW5kIikpXQotCSAgVU5TUEVDX01FUkdFX1BUUlVF KSldCi0gICJUQVJHRVRfU1ZFIgotICB7Ci0gICAgb3BlcmFuZHNbM10gPSBm b3JjZV9yZWcgKDxWUFJFRD5tb2RlLCBDT05TVE0xX1JUWCAoPFZQUkVEPm1v ZGUpKTsKLSAgfQotKQotCi07OyBGbG9hdGluZy1wb2ludCBkaXZpc2lvbiBw cmVkaWNhdGVkIHdpdGggYSBQVFJVRS4KLShkZWZpbmVfaW5zbiAiKmRpdjxt b2RlPjMiCi0gIFsoc2V0IChtYXRjaF9vcGVyYW5kOlNWRV9GIDAgInJlZ2lz dGVyX29wZXJhbmQiICI9dywgdywgPyZ3IikKLQkodW5zcGVjOlNWRV9GCi0J ICBbKG1hdGNoX29wZXJhbmQ6PFZQUkVEPiAxICJyZWdpc3Rlcl9vcGVyYW5k IiAiVXBsLCBVcGwsIFVwbCIpCi0JICAgKGRpdjpTVkVfRiAobWF0Y2hfb3Bl cmFuZDpTVkVfRiAyICJyZWdpc3Rlcl9vcGVyYW5kIiAiMCwgdywgdyIpCi0J CSAgICAgIChtYXRjaF9vcGVyYW5kOlNWRV9GIDMgInJlZ2lzdGVyX29wZXJh bmQiICJ3LCAwLCB3IikpXQotCSAgVU5TUEVDX01FUkdFX1BUUlVFKSldCi0g ICJUQVJHRVRfU1ZFIgotICAiQAotICAgZmRpdlx0JTAuPFZldHlwZT4sICUx L20sICUwLjxWZXR5cGU+LCAlMy48VmV0eXBlPgotICAgZmRpdnJcdCUwLjxW ZXR5cGU+LCAlMS9tLCAlMC48VmV0eXBlPiwgJTIuPFZldHlwZT4KLSAgIG1v dnByZnhcdCUwLCAlMlw7ZmRpdlx0JTAuPFZldHlwZT4sICUxL20sICUwLjxW ZXR5cGU+LCAlMy48VmV0eXBlPiIKLSAgWyhzZXRfYXR0ciAibW92cHJmeCIg IiosKix5ZXMiKV0KLSkKLQogOzsgVW5wcmVkaWNhdGVkIEZORUcsIEZBQlMg YW5kIEZTUVJULgogKGRlZmluZV9leHBhbmQgIjxvcHRhYj48bW9kZT4yIgog ICBbKHNldCAobWF0Y2hfb3BlcmFuZDpTVkVfRiAwICJyZWdpc3Rlcl9vcGVy YW5kIikKZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9h YXJjaDY0L3N2ZS1hY2xlL2FzbS9kaXZfZjE2LmMgYi9nY2MvdGVzdHN1aXRl L2djYy50YXJnZXQvYWFyY2g2NC9zdmUtYWNsZS9hc20vZGl2X2YxNi5jCm5l dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU0ZTA5NTYKLS0t IC9kZXYvbnVsbAorKysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvYWFy Y2g2NC9zdmUtYWNsZS9hc20vZGl2X2YxNi5jCkBAIC0wLDAgKzEsNDE0IEBA CisvKiB7IGRnLWRvIGNvbXBpbGUgfSAqLworLyogeyBkZy1maW5hbCB7IGNo ZWNrLWZ1bmN0aW9uLWJvZGllcyAiKioiICIiICItRENIRUNLX0FTTSIgfSB9 ICovCisKKyNpbmNsdWRlICJ0ZXN0X3N2ZV9hY2xlLmgiCisKKy8qCisqKiBk aXZfZjE2X21fdGllZDE6CisqKglmZGl2CXowXC5oLCBwMC9tLCB6MFwuaCwg ejFcLmgKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChkaXZfZjE2X21f dGllZDEsIHN2ZmxvYXQxNl90LAorCQl6MCA9IHN2ZGl2X2YxNl9tIChwMCwg ejAsIHoxKSwKKwkJejAgPSBzdmRpdl9tIChwMCwgejAsIHoxKSkKKworLyog QmFkIFJBIGNob2ljZTogbm8gcHJlZmVycmVkIG91dHB1dCBzZXF1ZW5jZS4g ICovCitURVNUX1VOSUZPUk1fWiAoZGl2X2YxNl9tX3RpZWQyLCBzdmZsb2F0 MTZfdCwKKwkJejEgPSBzdmRpdl9mMTZfbSAocDAsIHowLCB6MSksCisJCXox ID0gc3ZkaXZfbSAocDAsIHowLCB6MSkpCisKKy8qCisqKiBkaXZfZjE2X21f dW50aWVkOgorKioJbW92cHJmeAl6MCwgejEKKyoqCWZkaXYJejBcLmgsIHAw L20sIHowXC5oLCB6MlwuaAorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1og KGRpdl9mMTZfbV91bnRpZWQsIHN2ZmxvYXQxNl90LAorCQl6MCA9IHN2ZGl2 X2YxNl9tIChwMCwgejEsIHoyKSwKKwkJejAgPSBzdmRpdl9tIChwMCwgejEs IHoyKSkKKworLyoKKyoqIGRpdl93MF9mMTZfbV90aWVkMToKKyoqCW1vdgko elswLTldK1wuaCksIHcwCisqKglmZGl2CXowXC5oLCBwMC9tLCB6MFwuaCwg XDEKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aUyAoZGl2X3cwX2YxNl9t X3RpZWQxLCBzdmZsb2F0MTZfdCwgX19mcDE2LAorCQkgejAgPSBzdmRpdl9u X2YxNl9tIChwMCwgejAsIHgwKSwKKwkJIHowID0gc3ZkaXZfbSAocDAsIHow LCB4MCkpCisKKy8qCisqKiBkaXZfdzBfZjE2X21fdW50aWVkOgorKioJbW92 CSh6WzAtOV0rXC5oKSwgdzAKKyoqCW1vdnByZngJejAsIHoxCisqKglmZGl2 CXowXC5oLCBwMC9tLCB6MFwuaCwgXDEKKyoqCXJldAorKi8KK1RFU1RfVU5J Rk9STV9aUyAoZGl2X3cwX2YxNl9tX3VudGllZCwgc3ZmbG9hdDE2X3QsIF9f ZnAxNiwKKwkJIHowID0gc3ZkaXZfbl9mMTZfbSAocDAsIHoxLCB4MCksCisJ CSB6MCA9IHN2ZGl2X20gKHAwLCB6MSwgeDApKQorCisvKgorKiogZGl2X2gw X2YxNl9tX3RpZWQxOgorKioJbW92CSh6WzAtOV0rXC5oKSwgaDAKKyoqCWZk aXYJejFcLmgsIHAwL20sIHoxXC5oLCBcMQorKioJcmV0CisqLworVEVTVF9V TklGT1JNX1pTIChkaXZfaDBfZjE2X21fdGllZDEsIHN2ZmxvYXQxNl90LCBf X2ZwMTYsCisJCSB6MSA9IHN2ZGl2X25fZjE2X20gKHAwLCB6MSwgZDApLAor CQkgejEgPSBzdmRpdl9tIChwMCwgejEsIGQwKSkKKworLyoKKyoqIGRpdl9o MF9mMTZfbV91bnRpZWQ6CisqKgltb3YJKHpbMC05XStcLmgpLCBoMAorKioJ bW92cHJmeAl6MSwgejIKKyoqCWZkaXYJejFcLmgsIHAwL20sIHoxXC5oLCBc MQorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1pTIChkaXZfaDBfZjE2X21f dW50aWVkLCBzdmZsb2F0MTZfdCwgX19mcDE2LAorCQkgejEgPSBzdmRpdl9u X2YxNl9tIChwMCwgejIsIGQwKSwKKwkJIHoxID0gc3ZkaXZfbSAocDAsIHoy LCBkMCkpCisKKy8qCisqKiBkaXZfMV9mMTZfbV90aWVkMToKKyoqCWZtb3YJ KHpbMC05XStcLmgpLCAjMS4wKGVcKzApPworKioJZmRpdgl6MFwuaCwgcDAv bSwgejBcLmgsIFwxCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAoZGl2 XzFfZjE2X21fdGllZDEsIHN2ZmxvYXQxNl90LAorCQl6MCA9IHN2ZGl2X25f ZjE2X20gKHAwLCB6MCwgMSksCisJCXowID0gc3ZkaXZfbSAocDAsIHowLCAx KSkKKworLyoKKyoqIGRpdl8xX2YxNl9tX3VudGllZDoKKyoqCWZtb3YJKHpb MC05XStcLmgpLCAjMS4wKGVcKzApPworKioJbW92cHJmeAl6MCwgejEKKyoq CWZkaXYJejBcLmgsIHAwL20sIHowXC5oLCBcMQorKioJcmV0CisqLworVEVT VF9VTklGT1JNX1ogKGRpdl8xX2YxNl9tX3VudGllZCwgc3ZmbG9hdDE2X3Qs CisJCXowID0gc3ZkaXZfbl9mMTZfbSAocDAsIHoxLCAxKSwKKwkJejAgPSBz dmRpdl9tIChwMCwgejEsIDEpKQorCisvKgorKiogZGl2X2YxNl96X3RpZWQx OgorKioJbW92cHJmeAl6MFwuaCwgcDAveiwgejBcLmgKKyoqCWZkaXYJejBc LmgsIHAwL20sIHowXC5oLCB6MVwuaAorKioJcmV0CisqLworVEVTVF9VTklG T1JNX1ogKGRpdl9mMTZfel90aWVkMSwgc3ZmbG9hdDE2X3QsCisJCXowID0g c3ZkaXZfZjE2X3ogKHAwLCB6MCwgejEpLAorCQl6MCA9IHN2ZGl2X3ogKHAw LCB6MCwgejEpKQorCisvKgorKiogZGl2X2YxNl96X3RpZWQyOgorKioJbW92 cHJmeAl6MVwuaCwgcDAveiwgejFcLmgKKyoqCWZkaXZyCXoxXC5oLCBwMC9t LCB6MVwuaCwgejBcLmgKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChk aXZfZjE2X3pfdGllZDIsIHN2ZmxvYXQxNl90LAorCQl6MSA9IHN2ZGl2X2Yx Nl96IChwMCwgejAsIHoxKSwKKwkJejEgPSBzdmRpdl96IChwMCwgejAsIHox KSkKKworLyoKKyoqIGRpdl9mMTZfel91bnRpZWQ6CisqKgltb3ZwcmZ4CXow XC5oLCBwMC96LCB6MVwuaAorKioJZmRpdgl6MFwuaCwgcDAvbSwgejBcLmgs IHoyXC5oCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAoZGl2X2YxNl96 X3VudGllZCwgc3ZmbG9hdDE2X3QsCisJCXowID0gc3ZkaXZfZjE2X3ogKHAw LCB6MSwgejIpLAorCQl6MCA9IHN2ZGl2X3ogKHAwLCB6MSwgejIpKQorCisv KgorKiogZGl2X3cwX2YxNl96X3RpZWQxOgorKioJbW92CSh6WzAtOV0rXC5o KSwgdzAKKyoqCW1vdnByZngJejBcLmgsIHAwL3osIHowXC5oCisqKglmZGl2 CXowXC5oLCBwMC9tLCB6MFwuaCwgXDEKKyoqCXJldAorKi8KK1RFU1RfVU5J Rk9STV9aUyAoZGl2X3cwX2YxNl96X3RpZWQxLCBzdmZsb2F0MTZfdCwgX19m cDE2LAorCQkgejAgPSBzdmRpdl9uX2YxNl96IChwMCwgejAsIHgwKSwKKwkJ IHowID0gc3ZkaXZfeiAocDAsIHowLCB4MCkpCisKKy8qCisqKiBkaXZfdzBf ZjE2X3pfdW50aWVkOgorKioJbW92CSh6WzAtOV0rXC5oKSwgdzAKKyoqCW1v dnByZngJejBcLmgsIHAwL3osIHoxXC5oCisqKglmZGl2CXowXC5oLCBwMC9t LCB6MFwuaCwgXDEKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aUyAoZGl2 X3cwX2YxNl96X3VudGllZCwgc3ZmbG9hdDE2X3QsIF9fZnAxNiwKKwkJIHow ID0gc3ZkaXZfbl9mMTZfeiAocDAsIHoxLCB4MCksCisJCSB6MCA9IHN2ZGl2 X3ogKHAwLCB6MSwgeDApKQorCisvKgorKiogZGl2X2gwX2YxNl96X3RpZWQx OgorKioJbW92CSh6WzAtOV0rXC5oKSwgaDAKKyoqCW1vdnByZngJejFcLmgs IHAwL3osIHoxXC5oCisqKglmZGl2CXoxXC5oLCBwMC9tLCB6MVwuaCwgXDEK KyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aUyAoZGl2X2gwX2YxNl96X3Rp ZWQxLCBzdmZsb2F0MTZfdCwgX19mcDE2LAorCQkgejEgPSBzdmRpdl9uX2Yx Nl96IChwMCwgejEsIGQwKSwKKwkJIHoxID0gc3ZkaXZfeiAocDAsIHoxLCBk MCkpCisKKy8qCisqKiBkaXZfaDBfZjE2X3pfdW50aWVkOgorKioJbW92CSh6 WzAtOV0rXC5oKSwgaDAKKyoqCW1vdnByZngJejFcLmgsIHAwL3osIHoyXC5o CisqKglmZGl2CXoxXC5oLCBwMC9tLCB6MVwuaCwgXDEKKyoqCXJldAorKi8K K1RFU1RfVU5JRk9STV9aUyAoZGl2X2gwX2YxNl96X3VudGllZCwgc3ZmbG9h dDE2X3QsIF9fZnAxNiwKKwkJIHoxID0gc3ZkaXZfbl9mMTZfeiAocDAsIHoy LCBkMCksCisJCSB6MSA9IHN2ZGl2X3ogKHAwLCB6MiwgZDApKQorCisvKgor KiogZGl2XzFfZjE2X3pfdGllZDE6CisqKglmbW92CSh6WzAtOV0rXC5oKSwg IzEuMChlXCswKT8KKyoqCW1vdnByZngJejBcLmgsIHAwL3osIHowXC5oCisq KglmZGl2CXowXC5oLCBwMC9tLCB6MFwuaCwgXDEKKyoqCXJldAorKi8KK1RF U1RfVU5JRk9STV9aIChkaXZfMV9mMTZfel90aWVkMSwgc3ZmbG9hdDE2X3Qs CisJCXowID0gc3ZkaXZfbl9mMTZfeiAocDAsIHowLCAxKSwKKwkJejAgPSBz dmRpdl96IChwMCwgejAsIDEpKQorCisvKgorKiogZGl2XzFfZjE2X3pfdW50 aWVkOgorKioJZm1vdgkoelswLTldK1wuaCksICMxLjAoZVwrMCk/CisqKglt b3ZwcmZ4CXoxXC5oLCBwMC96LCB6MFwuaAorKioJZmRpdgl6MVwuaCwgcDAv bSwgejFcLmgsIFwxCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAoZGl2 XzFfZjE2X3pfdW50aWVkLCBzdmZsb2F0MTZfdCwKKwkJejEgPSBzdmRpdl9u X2YxNl96IChwMCwgejAsIDEpLAorCQl6MSA9IHN2ZGl2X3ogKHAwLCB6MCwg MSkpCisKKy8qCisqKiBkaXZfMHA1X2YxNl96X3VudGllZDoKKyoqCWZtb3YJ KHpbMC05XStcLmgpLCAjNS4wKGVcLTEpPworKioJbW92cHJmeAl6MFwuaCwg cDAveiwgejFcLmgKKyoqCWZkaXYJejBcLmgsIHAwL20sIHowXC5oLCBcMQor KioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKGRpdl8wcDVfZjE2X3pfdW50 aWVkLCBzdmZsb2F0MTZfdCwKKwkJejAgPSBzdmRpdl9uX2YxNl96IChwMCwg ejEsIDAuNSksCisJCXowID0gc3ZkaXZfeiAocDAsIHoxLCAwLjUpKQorCisv KgorKiogZGl2X2YxNl94X3RpZWQxOgorKioJZmRpdgl6MFwuaCwgcDAvbSwg ejBcLmgsIHoxXC5oCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAoZGl2 X2YxNl94X3RpZWQxLCBzdmZsb2F0MTZfdCwKKwkJejAgPSBzdmRpdl9mMTZf eCAocDAsIHowLCB6MSksCisJCXowID0gc3ZkaXZfeCAocDAsIHowLCB6MSkp CisKKy8qCisqKiBkaXZfZjE2X3hfdGllZDI6CisqKglmZGl2cgl6MVwuaCwg cDAvbSwgejFcLmgsIHowXC5oCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1f WiAoZGl2X2YxNl94X3RpZWQyLCBzdmZsb2F0MTZfdCwKKwkJejEgPSBzdmRp dl9mMTZfeCAocDAsIHowLCB6MSksCisJCXoxID0gc3ZkaXZfeCAocDAsIHow LCB6MSkpCisKKy8qCisqKiBkaXZfZjE2X3hfdW50aWVkOgorKioJbW92cHJm eAl6MiwgejAKKyoqCWZkaXYJejJcLmgsIHAwL20sIHoyXC5oLCB6MVwuaAor KioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKGRpdl9mMTZfeF91bnRpZWQs IHN2ZmxvYXQxNl90LAorCQl6MiA9IHN2ZGl2X2YxNl94IChwMCwgejAsIHox KSwKKwkJejIgPSBzdmRpdl94IChwMCwgejAsIHoxKSkKKworLyoKKyoqIGRp dl93MF9mMTZfeF90aWVkMToKKyoqCW1vdgkoelswLTldK1wuaCksIHcwCisq KglmZGl2CXowXC5oLCBwMC9tLCB6MFwuaCwgXDEKKyoqCXJldAorKi8KK1RF U1RfVU5JRk9STV9aUyAoZGl2X3cwX2YxNl94X3RpZWQxLCBzdmZsb2F0MTZf dCwgX19mcDE2LAorCQkgejAgPSBzdmRpdl9uX2YxNl94IChwMCwgejAsIHgw KSwKKwkJIHowID0gc3ZkaXZfeCAocDAsIHowLCB4MCkpCisKKy8qCisqKiBk aXZfdzBfZjE2X3hfdW50aWVkOgorKioJbW92CXoxXC5oLCB3MAorKioJZmRp dnIJejFcLmgsIHAwL20sIHoxXC5oLCB6MFwuaAorKioJcmV0CisqLworVEVT VF9VTklGT1JNX1pTIChkaXZfdzBfZjE2X3hfdW50aWVkLCBzdmZsb2F0MTZf dCwgX19mcDE2LAorCQkgejEgPSBzdmRpdl9uX2YxNl94IChwMCwgejAsIHgw KSwKKwkJIHoxID0gc3ZkaXZfeCAocDAsIHowLCB4MCkpCisKKy8qCisqKiBk aXZfaDBfZjE2X3hfdGllZDE6CisqKgltb3YJKHpbMC05XStcLmgpLCBoMAor KioJZmRpdgl6MVwuaCwgcDAvbSwgejFcLmgsIFwxCisqKglyZXQKKyovCitU RVNUX1VOSUZPUk1fWlMgKGRpdl9oMF9mMTZfeF90aWVkMSwgc3ZmbG9hdDE2 X3QsIF9fZnAxNiwKKwkJIHoxID0gc3ZkaXZfbl9mMTZfeCAocDAsIHoxLCBk MCksCisJCSB6MSA9IHN2ZGl2X3ggKHAwLCB6MSwgZDApKQorCisvKgorKiog ZGl2X2gwX2YxNl94X3VudGllZDoKKyoqCW1vdgl6MlwuaCwgaDAKKyoqCWZk aXZyCXoyXC5oLCBwMC9tLCB6MlwuaCwgejFcLmgKKyoqCXJldAorKi8KK1RF U1RfVU5JRk9STV9aUyAoZGl2X2gwX2YxNl94X3VudGllZCwgc3ZmbG9hdDE2 X3QsIF9fZnAxNiwKKwkJIHoyID0gc3ZkaXZfbl9mMTZfeCAocDAsIHoxLCBk MCksCisJCSB6MiA9IHN2ZGl2X3ggKHAwLCB6MSwgZDApKQorCisvKgorKiog ZGl2XzFfZjE2X3hfdGllZDE6CisqKglmbW92CSh6WzAtOV0rXC5oKSwgIzFc LjAoZVwrMCk/CisqKglmZGl2CXowXC5oLCBwMC9tLCB6MFwuaCwgXDEKKyoq CXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChkaXZfMV9mMTZfeF90aWVkMSwg c3ZmbG9hdDE2X3QsCisJCXowID0gc3ZkaXZfbl9mMTZfeCAocDAsIHowLCAx KSwKKwkJejAgPSBzdmRpdl94IChwMCwgejAsIDEpKQorCisvKgorKiogZGl2 XzFfZjE2X3hfdW50aWVkOgorKioJZm1vdgl6MFwuaCwgIzFcLjAoZVwrMCk/ CisqKglmZGl2cgl6MFwuaCwgcDAvbSwgejBcLmgsIHoxXC5oCisqKglyZXQK KyovCitURVNUX1VOSUZPUk1fWiAoZGl2XzFfZjE2X3hfdW50aWVkLCBzdmZs b2F0MTZfdCwKKwkJejAgPSBzdmRpdl9uX2YxNl94IChwMCwgejEsIDEpLAor CQl6MCA9IHN2ZGl2X3ggKHAwLCB6MSwgMSkpCisKKy8qCisqKiBwdHJ1ZV9k aXZfZjE2X3hfdGllZDE6CisqKglwdHJ1ZQkocFswLTddKVwuaFteXG5dKgor KioJZmRpdgl6MFwuaCwgXDEvbSwgejBcLmgsIHoxXC5oCisqKglyZXQKKyov CitURVNUX1VOSUZPUk1fWiAocHRydWVfZGl2X2YxNl94X3RpZWQxLCBzdmZs b2F0MTZfdCwKKwkJejAgPSBzdmRpdl9mMTZfeCAoc3ZwdHJ1ZV9iMTYgKCks IHowLCB6MSksCisJCXowID0gc3ZkaXZfeCAoc3ZwdHJ1ZV9iMTYgKCksIHow LCB6MSkpCisKKy8qCisqKiBwdHJ1ZV9kaXZfZjE2X3hfdGllZDI6CisqKglw dHJ1ZQkocFswLTddKVwuaFteXG5dKgorKioJZmRpdnIJejFcLmgsIFwxL20s IHoxXC5oLCB6MFwuaAorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKHB0 cnVlX2Rpdl9mMTZfeF90aWVkMiwgc3ZmbG9hdDE2X3QsCisJCXoxID0gc3Zk aXZfZjE2X3ggKHN2cHRydWVfYjE2ICgpLCB6MCwgejEpLAorCQl6MSA9IHN2 ZGl2X3ggKHN2cHRydWVfYjE2ICgpLCB6MCwgejEpKQorCisvKgorKiogcHRy dWVfZGl2X2YxNl94X3VudGllZDoKKyoqCXB0cnVlCShwWzAtN10pXC5oW15c bl0qCisqKgltb3ZwcmZ4CXoyLCB6MAorKioJZmRpdgl6MlwuaCwgXDEvbSwg ejJcLmgsIHoxXC5oCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAocHRy dWVfZGl2X2YxNl94X3VudGllZCwgc3ZmbG9hdDE2X3QsCisJCXoyID0gc3Zk aXZfZjE2X3ggKHN2cHRydWVfYjE2ICgpLCB6MCwgejEpLAorCQl6MiA9IHN2 ZGl2X3ggKHN2cHRydWVfYjE2ICgpLCB6MCwgejEpKQorCisvKgorKiogcHRy dWVfZGl2X3cwX2YxNl94X3RpZWQxOgorKioJcHRydWUJKHBbMC03XSlcLmhb XlxuXSoKKyoqCW1vdgkoelswLTldK1wuaCksIHcwCisqKglmZGl2CXowXC5o LCBcMS9tLCB6MFwuaCwgXDIKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9a UyAocHRydWVfZGl2X3cwX2YxNl94X3RpZWQxLCBzdmZsb2F0MTZfdCwgX19m cDE2LAorCQkgejAgPSBzdmRpdl9uX2YxNl94IChzdnB0cnVlX2IxNiAoKSwg ejAsIHgwKSwKKwkJIHowID0gc3ZkaXZfeCAoc3ZwdHJ1ZV9iMTYgKCksIHow LCB4MCkpCisKKy8qCisqKiBwdHJ1ZV9kaXZfdzBfZjE2X3hfdW50aWVkOgor KioJcHRydWUJKHBbMC03XSlcLmhbXlxuXSoKKyoqCW1vdgl6MVwuaCwgdzAK KyoqCWZkaXZyCXoxXC5oLCBcMS9tLCB6MVwuaCwgejBcLmgKKyoqCXJldAor Ki8KK1RFU1RfVU5JRk9STV9aUyAocHRydWVfZGl2X3cwX2YxNl94X3VudGll ZCwgc3ZmbG9hdDE2X3QsIF9fZnAxNiwKKwkJIHoxID0gc3ZkaXZfbl9mMTZf eCAoc3ZwdHJ1ZV9iMTYgKCksIHowLCB4MCksCisJCSB6MSA9IHN2ZGl2X3gg KHN2cHRydWVfYjE2ICgpLCB6MCwgeDApKQorCisvKgorKiogcHRydWVfZGl2 X2gwX2YxNl94X3RpZWQxOgorKioJcHRydWUJKHBbMC03XSlcLmhbXlxuXSoK KyoqCW1vdgkoelswLTldK1wuaCksIGgwCisqKglmZGl2CXoxXC5oLCBcMS9t LCB6MVwuaCwgXDIKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aUyAocHRy dWVfZGl2X2gwX2YxNl94X3RpZWQxLCBzdmZsb2F0MTZfdCwgX19mcDE2LAor CQkgejEgPSBzdmRpdl9uX2YxNl94IChzdnB0cnVlX2IxNiAoKSwgejEsIGQw KSwKKwkJIHoxID0gc3ZkaXZfeCAoc3ZwdHJ1ZV9iMTYgKCksIHoxLCBkMCkp CisKKy8qCisqKiBwdHJ1ZV9kaXZfaDBfZjE2X3hfdW50aWVkOgorKioJcHRy dWUJKHBbMC03XSlcLmhbXlxuXSoKKyoqCW1vdgl6MlwuaCwgaDAKKyoqCWZk aXZyCXoyXC5oLCBcMS9tLCB6MlwuaCwgejFcLmgKKyoqCXJldAorKi8KK1RF U1RfVU5JRk9STV9aUyAocHRydWVfZGl2X2gwX2YxNl94X3VudGllZCwgc3Zm bG9hdDE2X3QsIF9fZnAxNiwKKwkJIHoyID0gc3ZkaXZfbl9mMTZfeCAoc3Zw dHJ1ZV9iMTYgKCksIHoxLCBkMCksCisJCSB6MiA9IHN2ZGl2X3ggKHN2cHRy dWVfYjE2ICgpLCB6MSwgZDApKQorCisvKgorKiogcHRydWVfZGl2XzFfZjE2 X3hfdW50aWVkOgorKioJcHRydWUJKHBbMC03XSlcLmhbXlxuXSoKKyoqCWZt b3YJejBcLmgsICMxLjAoZVwrMCk/CisqKglmZGl2cgl6MFwuaCwgXDEvbSwg ejBcLmgsIHoxXC5oCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAocHRy dWVfZGl2XzFfZjE2X3hfdW50aWVkLCBzdmZsb2F0MTZfdCwKKwkJejAgPSBz dmRpdl9uX2YxNl94IChzdnB0cnVlX2IxNiAoKSwgejEsIDEpLAorCQl6MCA9 IHN2ZGl2X3ggKHN2cHRydWVfYjE2ICgpLCB6MSwgMSkpCisKKy8qCisqKiBw dHJ1ZV9kaXZfMV9mMTZfeF90aWVkMToKKyoqCXB0cnVlCShwWzAtN10pXC5o W15cbl0qCisqKglmbW92CSh6WzAtOV0rXC5oKSwgIzEuMChlXCswKT8KKyoq CWZkaXYJejFcLmgsIFwxL20sIHoxXC5oLCBcMgorKioJcmV0CisqLworVEVT VF9VTklGT1JNX1ogKHB0cnVlX2Rpdl8xX2YxNl94X3RpZWQxLCBzdmZsb2F0 MTZfdCwKKwkJejEgPSBzdmRpdl9uX2YxNl94IChzdnB0cnVlX2IxNiAoKSwg ejEsIDEpLAorCQl6MSA9IHN2ZGl2X3ggKHN2cHRydWVfYjE2ICgpLCB6MSwg MSkpCisKKy8qCisqKiBwdHJ1ZV9iOF9kaXZfZjE2X3hfdGllZDE6CisqKglw dHJ1ZQkocFswLTddKVwuaFteXG5dKgorKioJZmRpdgl6MFwuaCwgXDEvbSwg ejBcLmgsIHoxXC5oCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAocHRy dWVfYjhfZGl2X2YxNl94X3RpZWQxLCBzdmZsb2F0MTZfdCwKKwkJejAgPSBz dmRpdl9mMTZfeCAoc3ZwdHJ1ZV9iOCAoKSwgejAsIHoxKSwKKwkJejAgPSBz dmRpdl94IChzdnB0cnVlX2I4ICgpLCB6MCwgejEpKQorCisvKgorKiogcHRy dWVfYjhfZGl2X2YxNl94X3RpZWQyOgorKioJcHRydWUJKHBbMC03XSlcLmhb XlxuXSoKKyoqCWZkaXZyCXoxXC5oLCBcMS9tLCB6MVwuaCwgejBcLmgKKyoq CXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChwdHJ1ZV9iOF9kaXZfZjE2X3hf dGllZDIsIHN2ZmxvYXQxNl90LAorCQl6MSA9IHN2ZGl2X2YxNl94IChzdnB0 cnVlX2I4ICgpLCB6MCwgejEpLAorCQl6MSA9IHN2ZGl2X3ggKHN2cHRydWVf YjggKCksIHowLCB6MSkpCisKKy8qCisqKiBwdHJ1ZV9iOF9kaXZfZjE2X3hf dW50aWVkOgorKioJcHRydWUJKHBbMC03XSlcLmhbXlxuXSoKKyoqCW1vdnBy ZngJejIsIHowCisqKglmZGl2CXoyXC5oLCBcMS9tLCB6MlwuaCwgejFcLmgK KyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChwdHJ1ZV9iOF9kaXZfZjE2 X3hfdW50aWVkLCBzdmZsb2F0MTZfdCwKKwkJejIgPSBzdmRpdl9mMTZfeCAo c3ZwdHJ1ZV9iOCAoKSwgejAsIHoxKSwKKwkJejIgPSBzdmRpdl94IChzdnB0 cnVlX2I4ICgpLCB6MCwgejEpKQpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0 ZS9nY2MudGFyZ2V0L2FhcmNoNjQvc3ZlLWFjbGUvYXNtL2Rpdl9mMzIuYyBi L2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9hYXJjaDY0L3N2ZS1hY2xlL2Fz bS9kaXZfZjMyLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw MC4uMTc2NDYxMAotLS0gL2Rldi9udWxsCisrKyBiL2djYy90ZXN0c3VpdGUv Z2NjLnRhcmdldC9hYXJjaDY0L3N2ZS1hY2xlL2FzbS9kaXZfZjMyLmMKQEAg LTAsMCArMSw0MTQgQEAKKy8qIHsgZGctZG8gY29tcGlsZSB9ICovCisvKiB7 IGRnLWZpbmFsIHsgY2hlY2stZnVuY3Rpb24tYm9kaWVzICIqKiIgIiIgIi1E Q0hFQ0tfQVNNIiB9IH0gKi8KKworI2luY2x1ZGUgInRlc3Rfc3ZlX2FjbGUu aCIKKworLyoKKyoqIGRpdl9mMzJfbV90aWVkMToKKyoqCWZkaXYJejBcLnMs IHAwL20sIHowXC5zLCB6MVwucworKioJcmV0CisqLworVEVTVF9VTklGT1JN X1ogKGRpdl9mMzJfbV90aWVkMSwgc3ZmbG9hdDMyX3QsCisJCXowID0gc3Zk aXZfZjMyX20gKHAwLCB6MCwgejEpLAorCQl6MCA9IHN2ZGl2X20gKHAwLCB6 MCwgejEpKQorCisvKiBCYWQgUkEgY2hvaWNlOiBubyBwcmVmZXJyZWQgb3V0 cHV0IHNlcXVlbmNlLiAgKi8KK1RFU1RfVU5JRk9STV9aIChkaXZfZjMyX21f dGllZDIsIHN2ZmxvYXQzMl90LAorCQl6MSA9IHN2ZGl2X2YzMl9tIChwMCwg ejAsIHoxKSwKKwkJejEgPSBzdmRpdl9tIChwMCwgejAsIHoxKSkKKworLyoK KyoqIGRpdl9mMzJfbV91bnRpZWQ6CisqKgltb3ZwcmZ4CXowLCB6MQorKioJ ZmRpdgl6MFwucywgcDAvbSwgejBcLnMsIHoyXC5zCisqKglyZXQKKyovCitU RVNUX1VOSUZPUk1fWiAoZGl2X2YzMl9tX3VudGllZCwgc3ZmbG9hdDMyX3Qs CisJCXowID0gc3ZkaXZfZjMyX20gKHAwLCB6MSwgejIpLAorCQl6MCA9IHN2 ZGl2X20gKHAwLCB6MSwgejIpKQorCisvKgorKiogZGl2X3cwX2YzMl9tX3Rp ZWQxOgorKioJbW92CSh6WzAtOV0rXC5zKSwgdzAKKyoqCWZkaXYJejBcLnMs IHAwL20sIHowXC5zLCBcMQorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1pT IChkaXZfdzBfZjMyX21fdGllZDEsIHN2ZmxvYXQzMl90LCBmbG9hdCwKKwkJ IHowID0gc3ZkaXZfbl9mMzJfbSAocDAsIHowLCB4MCksCisJCSB6MCA9IHN2 ZGl2X20gKHAwLCB6MCwgeDApKQorCisvKgorKiogZGl2X3cwX2YzMl9tX3Vu dGllZDoKKyoqCW1vdgkoelswLTldK1wucyksIHcwCisqKgltb3ZwcmZ4CXow LCB6MQorKioJZmRpdgl6MFwucywgcDAvbSwgejBcLnMsIFwxCisqKglyZXQK KyovCitURVNUX1VOSUZPUk1fWlMgKGRpdl93MF9mMzJfbV91bnRpZWQsIHN2 ZmxvYXQzMl90LCBmbG9hdCwKKwkJIHowID0gc3ZkaXZfbl9mMzJfbSAocDAs IHoxLCB4MCksCisJCSB6MCA9IHN2ZGl2X20gKHAwLCB6MSwgeDApKQorCisv KgorKiogZGl2X3MwX2YzMl9tX3RpZWQxOgorKioJbW92CSh6WzAtOV0rXC5z KSwgczAKKyoqCWZkaXYJejFcLnMsIHAwL20sIHoxXC5zLCBcMQorKioJcmV0 CisqLworVEVTVF9VTklGT1JNX1pTIChkaXZfczBfZjMyX21fdGllZDEsIHN2 ZmxvYXQzMl90LCBmbG9hdCwKKwkJIHoxID0gc3ZkaXZfbl9mMzJfbSAocDAs IHoxLCBkMCksCisJCSB6MSA9IHN2ZGl2X20gKHAwLCB6MSwgZDApKQorCisv KgorKiogZGl2X3MwX2YzMl9tX3VudGllZDoKKyoqCW1vdgkoelswLTldK1wu cyksIHMwCisqKgltb3ZwcmZ4CXoxLCB6MgorKioJZmRpdgl6MVwucywgcDAv bSwgejFcLnMsIFwxCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWlMgKGRp dl9zMF9mMzJfbV91bnRpZWQsIHN2ZmxvYXQzMl90LCBmbG9hdCwKKwkJIHox ID0gc3ZkaXZfbl9mMzJfbSAocDAsIHoyLCBkMCksCisJCSB6MSA9IHN2ZGl2 X20gKHAwLCB6MiwgZDApKQorCisvKgorKiogZGl2XzFfZjMyX21fdGllZDE6 CisqKglmbW92CSh6WzAtOV0rXC5zKSwgIzEuMChlXCswKT8KKyoqCWZkaXYJ ejBcLnMsIHAwL20sIHowXC5zLCBcMQorKioJcmV0CisqLworVEVTVF9VTklG T1JNX1ogKGRpdl8xX2YzMl9tX3RpZWQxLCBzdmZsb2F0MzJfdCwKKwkJejAg PSBzdmRpdl9uX2YzMl9tIChwMCwgejAsIDEpLAorCQl6MCA9IHN2ZGl2X20g KHAwLCB6MCwgMSkpCisKKy8qCisqKiBkaXZfMV9mMzJfbV91bnRpZWQ6Cisq KglmbW92CSh6WzAtOV0rXC5zKSwgIzEuMChlXCswKT8KKyoqCW1vdnByZngJ ejAsIHoxCisqKglmZGl2CXowXC5zLCBwMC9tLCB6MFwucywgXDEKKyoqCXJl dAorKi8KK1RFU1RfVU5JRk9STV9aIChkaXZfMV9mMzJfbV91bnRpZWQsIHN2 ZmxvYXQzMl90LAorCQl6MCA9IHN2ZGl2X25fZjMyX20gKHAwLCB6MSwgMSks CisJCXowID0gc3ZkaXZfbSAocDAsIHoxLCAxKSkKKworLyoKKyoqIGRpdl9m MzJfel90aWVkMToKKyoqCW1vdnByZngJejBcLnMsIHAwL3osIHowXC5zCisq KglmZGl2CXowXC5zLCBwMC9tLCB6MFwucywgejFcLnMKKyoqCXJldAorKi8K K1RFU1RfVU5JRk9STV9aIChkaXZfZjMyX3pfdGllZDEsIHN2ZmxvYXQzMl90 LAorCQl6MCA9IHN2ZGl2X2YzMl96IChwMCwgejAsIHoxKSwKKwkJejAgPSBz dmRpdl96IChwMCwgejAsIHoxKSkKKworLyoKKyoqIGRpdl9mMzJfel90aWVk MjoKKyoqCW1vdnByZngJejFcLnMsIHAwL3osIHoxXC5zCisqKglmZGl2cgl6 MVwucywgcDAvbSwgejFcLnMsIHowXC5zCisqKglyZXQKKyovCitURVNUX1VO SUZPUk1fWiAoZGl2X2YzMl96X3RpZWQyLCBzdmZsb2F0MzJfdCwKKwkJejEg PSBzdmRpdl9mMzJfeiAocDAsIHowLCB6MSksCisJCXoxID0gc3ZkaXZfeiAo cDAsIHowLCB6MSkpCisKKy8qCisqKiBkaXZfZjMyX3pfdW50aWVkOgorKioJ bW92cHJmeAl6MFwucywgcDAveiwgejFcLnMKKyoqCWZkaXYJejBcLnMsIHAw L20sIHowXC5zLCB6MlwucworKioJcmV0CisqLworVEVTVF9VTklGT1JNX1og KGRpdl9mMzJfel91bnRpZWQsIHN2ZmxvYXQzMl90LAorCQl6MCA9IHN2ZGl2 X2YzMl96IChwMCwgejEsIHoyKSwKKwkJejAgPSBzdmRpdl96IChwMCwgejEs IHoyKSkKKworLyoKKyoqIGRpdl93MF9mMzJfel90aWVkMToKKyoqCW1vdgko elswLTldK1wucyksIHcwCisqKgltb3ZwcmZ4CXowXC5zLCBwMC96LCB6MFwu cworKioJZmRpdgl6MFwucywgcDAvbSwgejBcLnMsIFwxCisqKglyZXQKKyov CitURVNUX1VOSUZPUk1fWlMgKGRpdl93MF9mMzJfel90aWVkMSwgc3ZmbG9h dDMyX3QsIGZsb2F0LAorCQkgejAgPSBzdmRpdl9uX2YzMl96IChwMCwgejAs IHgwKSwKKwkJIHowID0gc3ZkaXZfeiAocDAsIHowLCB4MCkpCisKKy8qCisq KiBkaXZfdzBfZjMyX3pfdW50aWVkOgorKioJbW92CSh6WzAtOV0rXC5zKSwg dzAKKyoqCW1vdnByZngJejBcLnMsIHAwL3osIHoxXC5zCisqKglmZGl2CXow XC5zLCBwMC9tLCB6MFwucywgXDEKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9S TV9aUyAoZGl2X3cwX2YzMl96X3VudGllZCwgc3ZmbG9hdDMyX3QsIGZsb2F0 LAorCQkgejAgPSBzdmRpdl9uX2YzMl96IChwMCwgejEsIHgwKSwKKwkJIHow ID0gc3ZkaXZfeiAocDAsIHoxLCB4MCkpCisKKy8qCisqKiBkaXZfczBfZjMy X3pfdGllZDE6CisqKgltb3YJKHpbMC05XStcLnMpLCBzMAorKioJbW92cHJm eAl6MVwucywgcDAveiwgejFcLnMKKyoqCWZkaXYJejFcLnMsIHAwL20sIHox XC5zLCBcMQorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1pTIChkaXZfczBf ZjMyX3pfdGllZDEsIHN2ZmxvYXQzMl90LCBmbG9hdCwKKwkJIHoxID0gc3Zk aXZfbl9mMzJfeiAocDAsIHoxLCBkMCksCisJCSB6MSA9IHN2ZGl2X3ogKHAw LCB6MSwgZDApKQorCisvKgorKiogZGl2X3MwX2YzMl96X3VudGllZDoKKyoq CW1vdgkoelswLTldK1wucyksIHMwCisqKgltb3ZwcmZ4CXoxXC5zLCBwMC96 LCB6MlwucworKioJZmRpdgl6MVwucywgcDAvbSwgejFcLnMsIFwxCisqKgly ZXQKKyovCitURVNUX1VOSUZPUk1fWlMgKGRpdl9zMF9mMzJfel91bnRpZWQs IHN2ZmxvYXQzMl90LCBmbG9hdCwKKwkJIHoxID0gc3ZkaXZfbl9mMzJfeiAo cDAsIHoyLCBkMCksCisJCSB6MSA9IHN2ZGl2X3ogKHAwLCB6MiwgZDApKQor CisvKgorKiogZGl2XzFfZjMyX3pfdGllZDE6CisqKglmbW92CSh6WzAtOV0r XC5zKSwgIzEuMChlXCswKT8KKyoqCW1vdnByZngJejBcLnMsIHAwL3osIHow XC5zCisqKglmZGl2CXowXC5zLCBwMC9tLCB6MFwucywgXDEKKyoqCXJldAor Ki8KK1RFU1RfVU5JRk9STV9aIChkaXZfMV9mMzJfel90aWVkMSwgc3ZmbG9h dDMyX3QsCisJCXowID0gc3ZkaXZfbl9mMzJfeiAocDAsIHowLCAxKSwKKwkJ ejAgPSBzdmRpdl96IChwMCwgejAsIDEpKQorCisvKgorKiogZGl2XzFfZjMy X3pfdW50aWVkOgorKioJZm1vdgkoelswLTldK1wucyksICMxLjAoZVwrMCk/ CisqKgltb3ZwcmZ4CXoxXC5zLCBwMC96LCB6MFwucworKioJZmRpdgl6MVwu cywgcDAvbSwgejFcLnMsIFwxCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1f WiAoZGl2XzFfZjMyX3pfdW50aWVkLCBzdmZsb2F0MzJfdCwKKwkJejEgPSBz dmRpdl9uX2YzMl96IChwMCwgejAsIDEpLAorCQl6MSA9IHN2ZGl2X3ogKHAw LCB6MCwgMSkpCisKKy8qCisqKiBkaXZfMHA1X2YzMl96X3VudGllZDoKKyoq CWZtb3YJKHpbMC05XStcLnMpLCAjNS4wKGVcLTEpPworKioJbW92cHJmeAl6 MFwucywgcDAveiwgejFcLnMKKyoqCWZkaXYJejBcLnMsIHAwL20sIHowXC5z LCBcMQorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKGRpdl8wcDVfZjMy X3pfdW50aWVkLCBzdmZsb2F0MzJfdCwKKwkJejAgPSBzdmRpdl9uX2YzMl96 IChwMCwgejEsIDAuNSksCisJCXowID0gc3ZkaXZfeiAocDAsIHoxLCAwLjUp KQorCisvKgorKiogZGl2X2YzMl94X3RpZWQxOgorKioJZmRpdgl6MFwucywg cDAvbSwgejBcLnMsIHoxXC5zCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1f WiAoZGl2X2YzMl94X3RpZWQxLCBzdmZsb2F0MzJfdCwKKwkJejAgPSBzdmRp dl9mMzJfeCAocDAsIHowLCB6MSksCisJCXowID0gc3ZkaXZfeCAocDAsIHow LCB6MSkpCisKKy8qCisqKiBkaXZfZjMyX3hfdGllZDI6CisqKglmZGl2cgl6 MVwucywgcDAvbSwgejFcLnMsIHowXC5zCisqKglyZXQKKyovCitURVNUX1VO SUZPUk1fWiAoZGl2X2YzMl94X3RpZWQyLCBzdmZsb2F0MzJfdCwKKwkJejEg PSBzdmRpdl9mMzJfeCAocDAsIHowLCB6MSksCisJCXoxID0gc3ZkaXZfeCAo cDAsIHowLCB6MSkpCisKKy8qCisqKiBkaXZfZjMyX3hfdW50aWVkOgorKioJ bW92cHJmeAl6MiwgejAKKyoqCWZkaXYJejJcLnMsIHAwL20sIHoyXC5zLCB6 MVwucworKioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKGRpdl9mMzJfeF91 bnRpZWQsIHN2ZmxvYXQzMl90LAorCQl6MiA9IHN2ZGl2X2YzMl94IChwMCwg ejAsIHoxKSwKKwkJejIgPSBzdmRpdl94IChwMCwgejAsIHoxKSkKKworLyoK KyoqIGRpdl93MF9mMzJfeF90aWVkMToKKyoqCW1vdgkoelswLTldK1wucyks IHcwCisqKglmZGl2CXowXC5zLCBwMC9tLCB6MFwucywgXDEKKyoqCXJldAor Ki8KK1RFU1RfVU5JRk9STV9aUyAoZGl2X3cwX2YzMl94X3RpZWQxLCBzdmZs b2F0MzJfdCwgZmxvYXQsCisJCSB6MCA9IHN2ZGl2X25fZjMyX3ggKHAwLCB6 MCwgeDApLAorCQkgejAgPSBzdmRpdl94IChwMCwgejAsIHgwKSkKKworLyoK KyoqIGRpdl93MF9mMzJfeF91bnRpZWQ6CisqKgltb3YJejFcLnMsIHcwCisq KglmZGl2cgl6MVwucywgcDAvbSwgejFcLnMsIHowXC5zCisqKglyZXQKKyov CitURVNUX1VOSUZPUk1fWlMgKGRpdl93MF9mMzJfeF91bnRpZWQsIHN2Zmxv YXQzMl90LCBmbG9hdCwKKwkJIHoxID0gc3ZkaXZfbl9mMzJfeCAocDAsIHow LCB4MCksCisJCSB6MSA9IHN2ZGl2X3ggKHAwLCB6MCwgeDApKQorCisvKgor KiogZGl2X3MwX2YzMl94X3RpZWQxOgorKioJbW92CSh6WzAtOV0rXC5zKSwg czAKKyoqCWZkaXYJejFcLnMsIHAwL20sIHoxXC5zLCBcMQorKioJcmV0Cisq LworVEVTVF9VTklGT1JNX1pTIChkaXZfczBfZjMyX3hfdGllZDEsIHN2Zmxv YXQzMl90LCBmbG9hdCwKKwkJIHoxID0gc3ZkaXZfbl9mMzJfeCAocDAsIHox LCBkMCksCisJCSB6MSA9IHN2ZGl2X3ggKHAwLCB6MSwgZDApKQorCisvKgor KiogZGl2X3MwX2YzMl94X3VudGllZDoKKyoqCW1vdgl6MlwucywgczAKKyoq CWZkaXZyCXoyXC5zLCBwMC9tLCB6MlwucywgejFcLnMKKyoqCXJldAorKi8K K1RFU1RfVU5JRk9STV9aUyAoZGl2X3MwX2YzMl94X3VudGllZCwgc3ZmbG9h dDMyX3QsIGZsb2F0LAorCQkgejIgPSBzdmRpdl9uX2YzMl94IChwMCwgejEs IGQwKSwKKwkJIHoyID0gc3ZkaXZfeCAocDAsIHoxLCBkMCkpCisKKy8qCisq KiBkaXZfMV9mMzJfeF90aWVkMToKKyoqCWZtb3YJKHpbMC05XStcLnMpLCAj MVwuMChlXCswKT8KKyoqCWZkaXYJejBcLnMsIHAwL20sIHowXC5zLCBcMQor KioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKGRpdl8xX2YzMl94X3RpZWQx LCBzdmZsb2F0MzJfdCwKKwkJejAgPSBzdmRpdl9uX2YzMl94IChwMCwgejAs IDEpLAorCQl6MCA9IHN2ZGl2X3ggKHAwLCB6MCwgMSkpCisKKy8qCisqKiBk aXZfMV9mMzJfeF91bnRpZWQ6CisqKglmbW92CXowXC5zLCAjMVwuMChlXCsw KT8KKyoqCWZkaXZyCXowXC5zLCBwMC9tLCB6MFwucywgejFcLnMKKyoqCXJl dAorKi8KK1RFU1RfVU5JRk9STV9aIChkaXZfMV9mMzJfeF91bnRpZWQsIHN2 ZmxvYXQzMl90LAorCQl6MCA9IHN2ZGl2X25fZjMyX3ggKHAwLCB6MSwgMSks CisJCXowID0gc3ZkaXZfeCAocDAsIHoxLCAxKSkKKworLyoKKyoqIHB0cnVl X2Rpdl9mMzJfeF90aWVkMToKKyoqCXB0cnVlCShwWzAtN10pXC5zW15cbl0q CisqKglmZGl2CXowXC5zLCBcMS9tLCB6MFwucywgejFcLnMKKyoqCXJldAor Ki8KK1RFU1RfVU5JRk9STV9aIChwdHJ1ZV9kaXZfZjMyX3hfdGllZDEsIHN2 ZmxvYXQzMl90LAorCQl6MCA9IHN2ZGl2X2YzMl94IChzdnB0cnVlX2IzMiAo KSwgejAsIHoxKSwKKwkJejAgPSBzdmRpdl94IChzdnB0cnVlX2IzMiAoKSwg ejAsIHoxKSkKKworLyoKKyoqIHB0cnVlX2Rpdl9mMzJfeF90aWVkMjoKKyoq CXB0cnVlCShwWzAtN10pXC5zW15cbl0qCisqKglmZGl2cgl6MVwucywgXDEv bSwgejFcLnMsIHowXC5zCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAo cHRydWVfZGl2X2YzMl94X3RpZWQyLCBzdmZsb2F0MzJfdCwKKwkJejEgPSBz dmRpdl9mMzJfeCAoc3ZwdHJ1ZV9iMzIgKCksIHowLCB6MSksCisJCXoxID0g c3ZkaXZfeCAoc3ZwdHJ1ZV9iMzIgKCksIHowLCB6MSkpCisKKy8qCisqKiBw dHJ1ZV9kaXZfZjMyX3hfdW50aWVkOgorKioJcHRydWUJKHBbMC03XSlcLnNb XlxuXSoKKyoqCW1vdnByZngJejIsIHowCisqKglmZGl2CXoyXC5zLCBcMS9t LCB6MlwucywgejFcLnMKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChw dHJ1ZV9kaXZfZjMyX3hfdW50aWVkLCBzdmZsb2F0MzJfdCwKKwkJejIgPSBz dmRpdl9mMzJfeCAoc3ZwdHJ1ZV9iMzIgKCksIHowLCB6MSksCisJCXoyID0g c3ZkaXZfeCAoc3ZwdHJ1ZV9iMzIgKCksIHowLCB6MSkpCisKKy8qCisqKiBw dHJ1ZV9kaXZfdzBfZjMyX3hfdGllZDE6CisqKglwdHJ1ZQkocFswLTddKVwu c1teXG5dKgorKioJbW92CSh6WzAtOV0rXC5zKSwgdzAKKyoqCWZkaXYJejBc LnMsIFwxL20sIHowXC5zLCBcMgorKioJcmV0CisqLworVEVTVF9VTklGT1JN X1pTIChwdHJ1ZV9kaXZfdzBfZjMyX3hfdGllZDEsIHN2ZmxvYXQzMl90LCBm bG9hdCwKKwkJIHowID0gc3ZkaXZfbl9mMzJfeCAoc3ZwdHJ1ZV9iMzIgKCks IHowLCB4MCksCisJCSB6MCA9IHN2ZGl2X3ggKHN2cHRydWVfYjMyICgpLCB6 MCwgeDApKQorCisvKgorKiogcHRydWVfZGl2X3cwX2YzMl94X3VudGllZDoK KyoqCXB0cnVlCShwWzAtN10pXC5zW15cbl0qCisqKgltb3YJejFcLnMsIHcw CisqKglmZGl2cgl6MVwucywgXDEvbSwgejFcLnMsIHowXC5zCisqKglyZXQK KyovCitURVNUX1VOSUZPUk1fWlMgKHB0cnVlX2Rpdl93MF9mMzJfeF91bnRp ZWQsIHN2ZmxvYXQzMl90LCBmbG9hdCwKKwkJIHoxID0gc3ZkaXZfbl9mMzJf eCAoc3ZwdHJ1ZV9iMzIgKCksIHowLCB4MCksCisJCSB6MSA9IHN2ZGl2X3gg KHN2cHRydWVfYjMyICgpLCB6MCwgeDApKQorCisvKgorKiogcHRydWVfZGl2 X3MwX2YzMl94X3RpZWQxOgorKioJcHRydWUJKHBbMC03XSlcLnNbXlxuXSoK KyoqCW1vdgkoelswLTldK1wucyksIHMwCisqKglmZGl2CXoxXC5zLCBcMS9t LCB6MVwucywgXDIKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aUyAocHRy dWVfZGl2X3MwX2YzMl94X3RpZWQxLCBzdmZsb2F0MzJfdCwgZmxvYXQsCisJ CSB6MSA9IHN2ZGl2X25fZjMyX3ggKHN2cHRydWVfYjMyICgpLCB6MSwgZDAp LAorCQkgejEgPSBzdmRpdl94IChzdnB0cnVlX2IzMiAoKSwgejEsIGQwKSkK KworLyoKKyoqIHB0cnVlX2Rpdl9zMF9mMzJfeF91bnRpZWQ6CisqKglwdHJ1 ZQkocFswLTddKVwuc1teXG5dKgorKioJbW92CXoyXC5zLCBzMAorKioJZmRp dnIJejJcLnMsIFwxL20sIHoyXC5zLCB6MVwucworKioJcmV0CisqLworVEVT VF9VTklGT1JNX1pTIChwdHJ1ZV9kaXZfczBfZjMyX3hfdW50aWVkLCBzdmZs b2F0MzJfdCwgZmxvYXQsCisJCSB6MiA9IHN2ZGl2X25fZjMyX3ggKHN2cHRy dWVfYjMyICgpLCB6MSwgZDApLAorCQkgejIgPSBzdmRpdl94IChzdnB0cnVl X2IzMiAoKSwgejEsIGQwKSkKKworLyoKKyoqIHB0cnVlX2Rpdl8xX2YzMl94 X3VudGllZDoKKyoqCXB0cnVlCShwWzAtN10pXC5zW15cbl0qCisqKglmbW92 CXowXC5zLCAjMS4wKGVcKzApPworKioJZmRpdnIJejBcLnMsIFwxL20sIHow XC5zLCB6MVwucworKioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKHB0cnVl X2Rpdl8xX2YzMl94X3VudGllZCwgc3ZmbG9hdDMyX3QsCisJCXowID0gc3Zk aXZfbl9mMzJfeCAoc3ZwdHJ1ZV9iMzIgKCksIHoxLCAxKSwKKwkJejAgPSBz dmRpdl94IChzdnB0cnVlX2IzMiAoKSwgejEsIDEpKQorCisvKgorKiogcHRy dWVfZGl2XzFfZjMyX3hfdGllZDE6CisqKglwdHJ1ZQkocFswLTddKVwuc1te XG5dKgorKioJZm1vdgkoelswLTldK1wucyksICMxLjAoZVwrMCk/CisqKglm ZGl2CXoxXC5zLCBcMS9tLCB6MVwucywgXDIKKyoqCXJldAorKi8KK1RFU1Rf VU5JRk9STV9aIChwdHJ1ZV9kaXZfMV9mMzJfeF90aWVkMSwgc3ZmbG9hdDMy X3QsCisJCXoxID0gc3ZkaXZfbl9mMzJfeCAoc3ZwdHJ1ZV9iMzIgKCksIHox LCAxKSwKKwkJejEgPSBzdmRpdl94IChzdnB0cnVlX2IzMiAoKSwgejEsIDEp KQorCisvKgorKiogcHRydWVfYjhfZGl2X2YzMl94X3RpZWQxOgorKioJcHRy dWUJKHBbMC03XSlcLnNbXlxuXSoKKyoqCWZkaXYJejBcLnMsIFwxL20sIHow XC5zLCB6MVwucworKioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKHB0cnVl X2I4X2Rpdl9mMzJfeF90aWVkMSwgc3ZmbG9hdDMyX3QsCisJCXowID0gc3Zk aXZfZjMyX3ggKHN2cHRydWVfYjggKCksIHowLCB6MSksCisJCXowID0gc3Zk aXZfeCAoc3ZwdHJ1ZV9iOCAoKSwgejAsIHoxKSkKKworLyoKKyoqIHB0cnVl X2I4X2Rpdl9mMzJfeF90aWVkMjoKKyoqCXB0cnVlCShwWzAtN10pXC5zW15c bl0qCisqKglmZGl2cgl6MVwucywgXDEvbSwgejFcLnMsIHowXC5zCisqKgly ZXQKKyovCitURVNUX1VOSUZPUk1fWiAocHRydWVfYjhfZGl2X2YzMl94X3Rp ZWQyLCBzdmZsb2F0MzJfdCwKKwkJejEgPSBzdmRpdl9mMzJfeCAoc3ZwdHJ1 ZV9iOCAoKSwgejAsIHoxKSwKKwkJejEgPSBzdmRpdl94IChzdnB0cnVlX2I4 ICgpLCB6MCwgejEpKQorCisvKgorKiogcHRydWVfYjhfZGl2X2YzMl94X3Vu dGllZDoKKyoqCXB0cnVlCShwWzAtN10pXC5zW15cbl0qCisqKgltb3ZwcmZ4 CXoyLCB6MAorKioJZmRpdgl6MlwucywgXDEvbSwgejJcLnMsIHoxXC5zCisq KglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAocHRydWVfYjhfZGl2X2YzMl94 X3VudGllZCwgc3ZmbG9hdDMyX3QsCisJCXoyID0gc3ZkaXZfZjMyX3ggKHN2 cHRydWVfYjggKCksIHowLCB6MSksCisJCXoyID0gc3ZkaXZfeCAoc3ZwdHJ1 ZV9iOCAoKSwgejAsIHoxKSkKZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUv Z2NjLnRhcmdldC9hYXJjaDY0L3N2ZS1hY2xlL2FzbS9kaXZfZjY0LmMgYi9n Y2MvdGVzdHN1aXRlL2djYy50YXJnZXQvYWFyY2g2NC9zdmUtYWNsZS9hc20v ZGl2X2Y2NC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAu LmM2NzlkZDcKLS0tIC9kZXYvbnVsbAorKysgYi9nY2MvdGVzdHN1aXRlL2dj Yy50YXJnZXQvYWFyY2g2NC9zdmUtYWNsZS9hc20vZGl2X2Y2NC5jCkBAIC0w LDAgKzEsNDE0IEBACisvKiB7IGRnLWRvIGNvbXBpbGUgfSAqLworLyogeyBk Zy1maW5hbCB7IGNoZWNrLWZ1bmN0aW9uLWJvZGllcyAiKioiICIiICItRENI RUNLX0FTTSIgfSB9ICovCisKKyNpbmNsdWRlICJ0ZXN0X3N2ZV9hY2xlLmgi CisKKy8qCisqKiBkaXZfZjY0X21fdGllZDE6CisqKglmZGl2CXowXC5kLCBw MC9tLCB6MFwuZCwgejFcLmQKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9a IChkaXZfZjY0X21fdGllZDEsIHN2ZmxvYXQ2NF90LAorCQl6MCA9IHN2ZGl2 X2Y2NF9tIChwMCwgejAsIHoxKSwKKwkJejAgPSBzdmRpdl9tIChwMCwgejAs IHoxKSkKKworLyogQmFkIFJBIGNob2ljZTogbm8gcHJlZmVycmVkIG91dHB1 dCBzZXF1ZW5jZS4gICovCitURVNUX1VOSUZPUk1fWiAoZGl2X2Y2NF9tX3Rp ZWQyLCBzdmZsb2F0NjRfdCwKKwkJejEgPSBzdmRpdl9mNjRfbSAocDAsIHow LCB6MSksCisJCXoxID0gc3ZkaXZfbSAocDAsIHowLCB6MSkpCisKKy8qCisq KiBkaXZfZjY0X21fdW50aWVkOgorKioJbW92cHJmeAl6MCwgejEKKyoqCWZk aXYJejBcLmQsIHAwL20sIHowXC5kLCB6MlwuZAorKioJcmV0CisqLworVEVT VF9VTklGT1JNX1ogKGRpdl9mNjRfbV91bnRpZWQsIHN2ZmxvYXQ2NF90LAor CQl6MCA9IHN2ZGl2X2Y2NF9tIChwMCwgejEsIHoyKSwKKwkJejAgPSBzdmRp dl9tIChwMCwgejEsIHoyKSkKKworLyoKKyoqIGRpdl94MF9mNjRfbV90aWVk MToKKyoqCW1vdgkoelswLTldK1wuZCksIHgwCisqKglmZGl2CXowXC5kLCBw MC9tLCB6MFwuZCwgXDEKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aUyAo ZGl2X3gwX2Y2NF9tX3RpZWQxLCBzdmZsb2F0NjRfdCwgZG91YmxlLAorCQkg ejAgPSBzdmRpdl9uX2Y2NF9tIChwMCwgejAsIHgwKSwKKwkJIHowID0gc3Zk aXZfbSAocDAsIHowLCB4MCkpCisKKy8qCisqKiBkaXZfeDBfZjY0X21fdW50 aWVkOgorKioJbW92CSh6WzAtOV0rXC5kKSwgeDAKKyoqCW1vdnByZngJejAs IHoxCisqKglmZGl2CXowXC5kLCBwMC9tLCB6MFwuZCwgXDEKKyoqCXJldAor Ki8KK1RFU1RfVU5JRk9STV9aUyAoZGl2X3gwX2Y2NF9tX3VudGllZCwgc3Zm bG9hdDY0X3QsIGRvdWJsZSwKKwkJIHowID0gc3ZkaXZfbl9mNjRfbSAocDAs IHoxLCB4MCksCisJCSB6MCA9IHN2ZGl2X20gKHAwLCB6MSwgeDApKQorCisv KgorKiogZGl2X2QwX2Y2NF9tX3RpZWQxOgorKioJbW92CSh6WzAtOV0rXC5k KSwgZDAKKyoqCWZkaXYJejFcLmQsIHAwL20sIHoxXC5kLCBcMQorKioJcmV0 CisqLworVEVTVF9VTklGT1JNX1pTIChkaXZfZDBfZjY0X21fdGllZDEsIHN2 ZmxvYXQ2NF90LCBkb3VibGUsCisJCSB6MSA9IHN2ZGl2X25fZjY0X20gKHAw LCB6MSwgZDApLAorCQkgejEgPSBzdmRpdl9tIChwMCwgejEsIGQwKSkKKwor LyoKKyoqIGRpdl9kMF9mNjRfbV91bnRpZWQ6CisqKgltb3YJKHpbMC05XStc LmQpLCBkMAorKioJbW92cHJmeAl6MSwgejIKKyoqCWZkaXYJejFcLmQsIHAw L20sIHoxXC5kLCBcMQorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1pTIChk aXZfZDBfZjY0X21fdW50aWVkLCBzdmZsb2F0NjRfdCwgZG91YmxlLAorCQkg ejEgPSBzdmRpdl9uX2Y2NF9tIChwMCwgejIsIGQwKSwKKwkJIHoxID0gc3Zk aXZfbSAocDAsIHoyLCBkMCkpCisKKy8qCisqKiBkaXZfMV9mNjRfbV90aWVk MToKKyoqCWZtb3YJKHpbMC05XStcLmQpLCAjMS4wKGVcKzApPworKioJZmRp dgl6MFwuZCwgcDAvbSwgejBcLmQsIFwxCisqKglyZXQKKyovCitURVNUX1VO SUZPUk1fWiAoZGl2XzFfZjY0X21fdGllZDEsIHN2ZmxvYXQ2NF90LAorCQl6 MCA9IHN2ZGl2X25fZjY0X20gKHAwLCB6MCwgMSksCisJCXowID0gc3ZkaXZf bSAocDAsIHowLCAxKSkKKworLyoKKyoqIGRpdl8xX2Y2NF9tX3VudGllZDoK KyoqCWZtb3YJKHpbMC05XStcLmQpLCAjMS4wKGVcKzApPworKioJbW92cHJm eAl6MCwgejEKKyoqCWZkaXYJejBcLmQsIHAwL20sIHowXC5kLCBcMQorKioJ cmV0CisqLworVEVTVF9VTklGT1JNX1ogKGRpdl8xX2Y2NF9tX3VudGllZCwg c3ZmbG9hdDY0X3QsCisJCXowID0gc3ZkaXZfbl9mNjRfbSAocDAsIHoxLCAx KSwKKwkJejAgPSBzdmRpdl9tIChwMCwgejEsIDEpKQorCisvKgorKiogZGl2 X2Y2NF96X3RpZWQxOgorKioJbW92cHJmeAl6MFwuZCwgcDAveiwgejBcLmQK KyoqCWZkaXYJejBcLmQsIHAwL20sIHowXC5kLCB6MVwuZAorKioJcmV0Cisq LworVEVTVF9VTklGT1JNX1ogKGRpdl9mNjRfel90aWVkMSwgc3ZmbG9hdDY0 X3QsCisJCXowID0gc3ZkaXZfZjY0X3ogKHAwLCB6MCwgejEpLAorCQl6MCA9 IHN2ZGl2X3ogKHAwLCB6MCwgejEpKQorCisvKgorKiogZGl2X2Y2NF96X3Rp ZWQyOgorKioJbW92cHJmeAl6MVwuZCwgcDAveiwgejFcLmQKKyoqCWZkaXZy CXoxXC5kLCBwMC9tLCB6MVwuZCwgejBcLmQKKyoqCXJldAorKi8KK1RFU1Rf VU5JRk9STV9aIChkaXZfZjY0X3pfdGllZDIsIHN2ZmxvYXQ2NF90LAorCQl6 MSA9IHN2ZGl2X2Y2NF96IChwMCwgejAsIHoxKSwKKwkJejEgPSBzdmRpdl96 IChwMCwgejAsIHoxKSkKKworLyoKKyoqIGRpdl9mNjRfel91bnRpZWQ6Cisq Kgltb3ZwcmZ4CXowXC5kLCBwMC96LCB6MVwuZAorKioJZmRpdgl6MFwuZCwg cDAvbSwgejBcLmQsIHoyXC5kCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1f WiAoZGl2X2Y2NF96X3VudGllZCwgc3ZmbG9hdDY0X3QsCisJCXowID0gc3Zk aXZfZjY0X3ogKHAwLCB6MSwgejIpLAorCQl6MCA9IHN2ZGl2X3ogKHAwLCB6 MSwgejIpKQorCisvKgorKiogZGl2X3gwX2Y2NF96X3RpZWQxOgorKioJbW92 CSh6WzAtOV0rXC5kKSwgeDAKKyoqCW1vdnByZngJejBcLmQsIHAwL3osIHow XC5kCisqKglmZGl2CXowXC5kLCBwMC9tLCB6MFwuZCwgXDEKKyoqCXJldAor Ki8KK1RFU1RfVU5JRk9STV9aUyAoZGl2X3gwX2Y2NF96X3RpZWQxLCBzdmZs b2F0NjRfdCwgZG91YmxlLAorCQkgejAgPSBzdmRpdl9uX2Y2NF96IChwMCwg ejAsIHgwKSwKKwkJIHowID0gc3ZkaXZfeiAocDAsIHowLCB4MCkpCisKKy8q CisqKiBkaXZfeDBfZjY0X3pfdW50aWVkOgorKioJbW92CSh6WzAtOV0rXC5k KSwgeDAKKyoqCW1vdnByZngJejBcLmQsIHAwL3osIHoxXC5kCisqKglmZGl2 CXowXC5kLCBwMC9tLCB6MFwuZCwgXDEKKyoqCXJldAorKi8KK1RFU1RfVU5J Rk9STV9aUyAoZGl2X3gwX2Y2NF96X3VudGllZCwgc3ZmbG9hdDY0X3QsIGRv dWJsZSwKKwkJIHowID0gc3ZkaXZfbl9mNjRfeiAocDAsIHoxLCB4MCksCisJ CSB6MCA9IHN2ZGl2X3ogKHAwLCB6MSwgeDApKQorCisvKgorKiogZGl2X2Qw X2Y2NF96X3RpZWQxOgorKioJbW92CSh6WzAtOV0rXC5kKSwgZDAKKyoqCW1v dnByZngJejFcLmQsIHAwL3osIHoxXC5kCisqKglmZGl2CXoxXC5kLCBwMC9t LCB6MVwuZCwgXDEKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aUyAoZGl2 X2QwX2Y2NF96X3RpZWQxLCBzdmZsb2F0NjRfdCwgZG91YmxlLAorCQkgejEg PSBzdmRpdl9uX2Y2NF96IChwMCwgejEsIGQwKSwKKwkJIHoxID0gc3ZkaXZf eiAocDAsIHoxLCBkMCkpCisKKy8qCisqKiBkaXZfZDBfZjY0X3pfdW50aWVk OgorKioJbW92CSh6WzAtOV0rXC5kKSwgZDAKKyoqCW1vdnByZngJejFcLmQs IHAwL3osIHoyXC5kCisqKglmZGl2CXoxXC5kLCBwMC9tLCB6MVwuZCwgXDEK KyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aUyAoZGl2X2QwX2Y2NF96X3Vu dGllZCwgc3ZmbG9hdDY0X3QsIGRvdWJsZSwKKwkJIHoxID0gc3ZkaXZfbl9m NjRfeiAocDAsIHoyLCBkMCksCisJCSB6MSA9IHN2ZGl2X3ogKHAwLCB6Miwg ZDApKQorCisvKgorKiogZGl2XzFfZjY0X3pfdGllZDE6CisqKglmbW92CSh6 WzAtOV0rXC5kKSwgIzEuMChlXCswKT8KKyoqCW1vdnByZngJejBcLmQsIHAw L3osIHowXC5kCisqKglmZGl2CXowXC5kLCBwMC9tLCB6MFwuZCwgXDEKKyoq CXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChkaXZfMV9mNjRfel90aWVkMSwg c3ZmbG9hdDY0X3QsCisJCXowID0gc3ZkaXZfbl9mNjRfeiAocDAsIHowLCAx KSwKKwkJejAgPSBzdmRpdl96IChwMCwgejAsIDEpKQorCisvKgorKiogZGl2 XzFfZjY0X3pfdW50aWVkOgorKioJZm1vdgkoelswLTldK1wuZCksICMxLjAo ZVwrMCk/CisqKgltb3ZwcmZ4CXoxXC5kLCBwMC96LCB6MFwuZAorKioJZmRp dgl6MVwuZCwgcDAvbSwgejFcLmQsIFwxCisqKglyZXQKKyovCitURVNUX1VO SUZPUk1fWiAoZGl2XzFfZjY0X3pfdW50aWVkLCBzdmZsb2F0NjRfdCwKKwkJ ejEgPSBzdmRpdl9uX2Y2NF96IChwMCwgejAsIDEpLAorCQl6MSA9IHN2ZGl2 X3ogKHAwLCB6MCwgMSkpCisKKy8qCisqKiBkaXZfMHA1X2Y2NF96X3VudGll ZDoKKyoqCWZtb3YJKHpbMC05XStcLmQpLCAjNS4wKGVcLTEpPworKioJbW92 cHJmeAl6MFwuZCwgcDAveiwgejFcLmQKKyoqCWZkaXYJejBcLmQsIHAwL20s IHowXC5kLCBcMQorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKGRpdl8w cDVfZjY0X3pfdW50aWVkLCBzdmZsb2F0NjRfdCwKKwkJejAgPSBzdmRpdl9u X2Y2NF96IChwMCwgejEsIDAuNSksCisJCXowID0gc3ZkaXZfeiAocDAsIHox LCAwLjUpKQorCisvKgorKiogZGl2X2Y2NF94X3RpZWQxOgorKioJZmRpdgl6 MFwuZCwgcDAvbSwgejBcLmQsIHoxXC5kCisqKglyZXQKKyovCitURVNUX1VO SUZPUk1fWiAoZGl2X2Y2NF94X3RpZWQxLCBzdmZsb2F0NjRfdCwKKwkJejAg PSBzdmRpdl9mNjRfeCAocDAsIHowLCB6MSksCisJCXowID0gc3ZkaXZfeCAo cDAsIHowLCB6MSkpCisKKy8qCisqKiBkaXZfZjY0X3hfdGllZDI6CisqKglm ZGl2cgl6MVwuZCwgcDAvbSwgejFcLmQsIHowXC5kCisqKglyZXQKKyovCitU RVNUX1VOSUZPUk1fWiAoZGl2X2Y2NF94X3RpZWQyLCBzdmZsb2F0NjRfdCwK KwkJejEgPSBzdmRpdl9mNjRfeCAocDAsIHowLCB6MSksCisJCXoxID0gc3Zk aXZfeCAocDAsIHowLCB6MSkpCisKKy8qCisqKiBkaXZfZjY0X3hfdW50aWVk OgorKioJbW92cHJmeAl6MiwgejAKKyoqCWZkaXYJejJcLmQsIHAwL20sIHoy XC5kLCB6MVwuZAorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKGRpdl9m NjRfeF91bnRpZWQsIHN2ZmxvYXQ2NF90LAorCQl6MiA9IHN2ZGl2X2Y2NF94 IChwMCwgejAsIHoxKSwKKwkJejIgPSBzdmRpdl94IChwMCwgejAsIHoxKSkK KworLyoKKyoqIGRpdl94MF9mNjRfeF90aWVkMToKKyoqCW1vdgkoelswLTld K1wuZCksIHgwCisqKglmZGl2CXowXC5kLCBwMC9tLCB6MFwuZCwgXDEKKyoq CXJldAorKi8KK1RFU1RfVU5JRk9STV9aUyAoZGl2X3gwX2Y2NF94X3RpZWQx LCBzdmZsb2F0NjRfdCwgZG91YmxlLAorCQkgejAgPSBzdmRpdl9uX2Y2NF94 IChwMCwgejAsIHgwKSwKKwkJIHowID0gc3ZkaXZfeCAocDAsIHowLCB4MCkp CisKKy8qCisqKiBkaXZfeDBfZjY0X3hfdW50aWVkOgorKioJbW92CXoxXC5k LCB4MAorKioJZmRpdnIJejFcLmQsIHAwL20sIHoxXC5kLCB6MFwuZAorKioJ cmV0CisqLworVEVTVF9VTklGT1JNX1pTIChkaXZfeDBfZjY0X3hfdW50aWVk LCBzdmZsb2F0NjRfdCwgZG91YmxlLAorCQkgejEgPSBzdmRpdl9uX2Y2NF94 IChwMCwgejAsIHgwKSwKKwkJIHoxID0gc3ZkaXZfeCAocDAsIHowLCB4MCkp CisKKy8qCisqKiBkaXZfZDBfZjY0X3hfdGllZDE6CisqKgltb3YJKHpbMC05 XStcLmQpLCBkMAorKioJZmRpdgl6MVwuZCwgcDAvbSwgejFcLmQsIFwxCisq KglyZXQKKyovCitURVNUX1VOSUZPUk1fWlMgKGRpdl9kMF9mNjRfeF90aWVk MSwgc3ZmbG9hdDY0X3QsIGRvdWJsZSwKKwkJIHoxID0gc3ZkaXZfbl9mNjRf eCAocDAsIHoxLCBkMCksCisJCSB6MSA9IHN2ZGl2X3ggKHAwLCB6MSwgZDAp KQorCisvKgorKiogZGl2X2QwX2Y2NF94X3VudGllZDoKKyoqCW1vdgl6Mlwu ZCwgZDAKKyoqCWZkaXZyCXoyXC5kLCBwMC9tLCB6MlwuZCwgejFcLmQKKyoq CXJldAorKi8KK1RFU1RfVU5JRk9STV9aUyAoZGl2X2QwX2Y2NF94X3VudGll ZCwgc3ZmbG9hdDY0X3QsIGRvdWJsZSwKKwkJIHoyID0gc3ZkaXZfbl9mNjRf eCAocDAsIHoxLCBkMCksCisJCSB6MiA9IHN2ZGl2X3ggKHAwLCB6MSwgZDAp KQorCisvKgorKiogZGl2XzFfZjY0X3hfdGllZDE6CisqKglmbW92CSh6WzAt OV0rXC5kKSwgIzFcLjAoZVwrMCk/CisqKglmZGl2CXowXC5kLCBwMC9tLCB6 MFwuZCwgXDEKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChkaXZfMV9m NjRfeF90aWVkMSwgc3ZmbG9hdDY0X3QsCisJCXowID0gc3ZkaXZfbl9mNjRf eCAocDAsIHowLCAxKSwKKwkJejAgPSBzdmRpdl94IChwMCwgejAsIDEpKQor CisvKgorKiogZGl2XzFfZjY0X3hfdW50aWVkOgorKioJZm1vdgl6MFwuZCwg IzFcLjAoZVwrMCk/CisqKglmZGl2cgl6MFwuZCwgcDAvbSwgejBcLmQsIHox XC5kCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAoZGl2XzFfZjY0X3hf dW50aWVkLCBzdmZsb2F0NjRfdCwKKwkJejAgPSBzdmRpdl9uX2Y2NF94IChw MCwgejEsIDEpLAorCQl6MCA9IHN2ZGl2X3ggKHAwLCB6MSwgMSkpCisKKy8q CisqKiBwdHJ1ZV9kaXZfZjY0X3hfdGllZDE6CisqKglwdHJ1ZQkocFswLTdd KVwuZFteXG5dKgorKioJZmRpdgl6MFwuZCwgXDEvbSwgejBcLmQsIHoxXC5k CisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAocHRydWVfZGl2X2Y2NF94 X3RpZWQxLCBzdmZsb2F0NjRfdCwKKwkJejAgPSBzdmRpdl9mNjRfeCAoc3Zw dHJ1ZV9iNjQgKCksIHowLCB6MSksCisJCXowID0gc3ZkaXZfeCAoc3ZwdHJ1 ZV9iNjQgKCksIHowLCB6MSkpCisKKy8qCisqKiBwdHJ1ZV9kaXZfZjY0X3hf dGllZDI6CisqKglwdHJ1ZQkocFswLTddKVwuZFteXG5dKgorKioJZmRpdnIJ ejFcLmQsIFwxL20sIHoxXC5kLCB6MFwuZAorKioJcmV0CisqLworVEVTVF9V TklGT1JNX1ogKHB0cnVlX2Rpdl9mNjRfeF90aWVkMiwgc3ZmbG9hdDY0X3Qs CisJCXoxID0gc3ZkaXZfZjY0X3ggKHN2cHRydWVfYjY0ICgpLCB6MCwgejEp LAorCQl6MSA9IHN2ZGl2X3ggKHN2cHRydWVfYjY0ICgpLCB6MCwgejEpKQor CisvKgorKiogcHRydWVfZGl2X2Y2NF94X3VudGllZDoKKyoqCXB0cnVlCShw WzAtN10pXC5kW15cbl0qCisqKgltb3ZwcmZ4CXoyLCB6MAorKioJZmRpdgl6 MlwuZCwgXDEvbSwgejJcLmQsIHoxXC5kCisqKglyZXQKKyovCitURVNUX1VO SUZPUk1fWiAocHRydWVfZGl2X2Y2NF94X3VudGllZCwgc3ZmbG9hdDY0X3Qs CisJCXoyID0gc3ZkaXZfZjY0X3ggKHN2cHRydWVfYjY0ICgpLCB6MCwgejEp LAorCQl6MiA9IHN2ZGl2X3ggKHN2cHRydWVfYjY0ICgpLCB6MCwgejEpKQor CisvKgorKiogcHRydWVfZGl2X3gwX2Y2NF94X3RpZWQxOgorKioJcHRydWUJ KHBbMC03XSlcLmRbXlxuXSoKKyoqCW1vdgkoelswLTldK1wuZCksIHgwCisq KglmZGl2CXowXC5kLCBcMS9tLCB6MFwuZCwgXDIKKyoqCXJldAorKi8KK1RF U1RfVU5JRk9STV9aUyAocHRydWVfZGl2X3gwX2Y2NF94X3RpZWQxLCBzdmZs b2F0NjRfdCwgZG91YmxlLAorCQkgejAgPSBzdmRpdl9uX2Y2NF94IChzdnB0 cnVlX2I2NCAoKSwgejAsIHgwKSwKKwkJIHowID0gc3ZkaXZfeCAoc3ZwdHJ1 ZV9iNjQgKCksIHowLCB4MCkpCisKKy8qCisqKiBwdHJ1ZV9kaXZfeDBfZjY0 X3hfdW50aWVkOgorKioJcHRydWUJKHBbMC03XSlcLmRbXlxuXSoKKyoqCW1v dgl6MVwuZCwgeDAKKyoqCWZkaXZyCXoxXC5kLCBcMS9tLCB6MVwuZCwgejBc LmQKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aUyAocHRydWVfZGl2X3gw X2Y2NF94X3VudGllZCwgc3ZmbG9hdDY0X3QsIGRvdWJsZSwKKwkJIHoxID0g c3ZkaXZfbl9mNjRfeCAoc3ZwdHJ1ZV9iNjQgKCksIHowLCB4MCksCisJCSB6 MSA9IHN2ZGl2X3ggKHN2cHRydWVfYjY0ICgpLCB6MCwgeDApKQorCisvKgor KiogcHRydWVfZGl2X2QwX2Y2NF94X3RpZWQxOgorKioJcHRydWUJKHBbMC03 XSlcLmRbXlxuXSoKKyoqCW1vdgkoelswLTldK1wuZCksIGQwCisqKglmZGl2 CXoxXC5kLCBcMS9tLCB6MVwuZCwgXDIKKyoqCXJldAorKi8KK1RFU1RfVU5J Rk9STV9aUyAocHRydWVfZGl2X2QwX2Y2NF94X3RpZWQxLCBzdmZsb2F0NjRf dCwgZG91YmxlLAorCQkgejEgPSBzdmRpdl9uX2Y2NF94IChzdnB0cnVlX2I2 NCAoKSwgejEsIGQwKSwKKwkJIHoxID0gc3ZkaXZfeCAoc3ZwdHJ1ZV9iNjQg KCksIHoxLCBkMCkpCisKKy8qCisqKiBwdHJ1ZV9kaXZfZDBfZjY0X3hfdW50 aWVkOgorKioJcHRydWUJKHBbMC03XSlcLmRbXlxuXSoKKyoqCW1vdgl6Mlwu ZCwgZDAKKyoqCWZkaXZyCXoyXC5kLCBcMS9tLCB6MlwuZCwgejFcLmQKKyoq CXJldAorKi8KK1RFU1RfVU5JRk9STV9aUyAocHRydWVfZGl2X2QwX2Y2NF94 X3VudGllZCwgc3ZmbG9hdDY0X3QsIGRvdWJsZSwKKwkJIHoyID0gc3ZkaXZf bl9mNjRfeCAoc3ZwdHJ1ZV9iNjQgKCksIHoxLCBkMCksCisJCSB6MiA9IHN2 ZGl2X3ggKHN2cHRydWVfYjY0ICgpLCB6MSwgZDApKQorCisvKgorKiogcHRy dWVfZGl2XzFfZjY0X3hfdW50aWVkOgorKioJcHRydWUJKHBbMC03XSlcLmRb XlxuXSoKKyoqCWZtb3YJejBcLmQsICMxLjAoZVwrMCk/CisqKglmZGl2cgl6 MFwuZCwgXDEvbSwgejBcLmQsIHoxXC5kCisqKglyZXQKKyovCitURVNUX1VO SUZPUk1fWiAocHRydWVfZGl2XzFfZjY0X3hfdW50aWVkLCBzdmZsb2F0NjRf dCwKKwkJejAgPSBzdmRpdl9uX2Y2NF94IChzdnB0cnVlX2I2NCAoKSwgejEs IDEpLAorCQl6MCA9IHN2ZGl2X3ggKHN2cHRydWVfYjY0ICgpLCB6MSwgMSkp CisKKy8qCisqKiBwdHJ1ZV9kaXZfMV9mNjRfeF90aWVkMToKKyoqCXB0cnVl CShwWzAtN10pXC5kW15cbl0qCisqKglmbW92CSh6WzAtOV0rXC5kKSwgIzEu MChlXCswKT8KKyoqCWZkaXYJejFcLmQsIFwxL20sIHoxXC5kLCBcMgorKioJ cmV0CisqLworVEVTVF9VTklGT1JNX1ogKHB0cnVlX2Rpdl8xX2Y2NF94X3Rp ZWQxLCBzdmZsb2F0NjRfdCwKKwkJejEgPSBzdmRpdl9uX2Y2NF94IChzdnB0 cnVlX2I2NCAoKSwgejEsIDEpLAorCQl6MSA9IHN2ZGl2X3ggKHN2cHRydWVf YjY0ICgpLCB6MSwgMSkpCisKKy8qCisqKiBwdHJ1ZV9iOF9kaXZfZjY0X3hf dGllZDE6CisqKglwdHJ1ZQkocFswLTddKVwuZFteXG5dKgorKioJZmRpdgl6 MFwuZCwgXDEvbSwgejBcLmQsIHoxXC5kCisqKglyZXQKKyovCitURVNUX1VO SUZPUk1fWiAocHRydWVfYjhfZGl2X2Y2NF94X3RpZWQxLCBzdmZsb2F0NjRf dCwKKwkJejAgPSBzdmRpdl9mNjRfeCAoc3ZwdHJ1ZV9iOCAoKSwgejAsIHox KSwKKwkJejAgPSBzdmRpdl94IChzdnB0cnVlX2I4ICgpLCB6MCwgejEpKQor CisvKgorKiogcHRydWVfYjhfZGl2X2Y2NF94X3RpZWQyOgorKioJcHRydWUJ KHBbMC03XSlcLmRbXlxuXSoKKyoqCWZkaXZyCXoxXC5kLCBcMS9tLCB6MVwu ZCwgejBcLmQKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChwdHJ1ZV9i OF9kaXZfZjY0X3hfdGllZDIsIHN2ZmxvYXQ2NF90LAorCQl6MSA9IHN2ZGl2 X2Y2NF94IChzdnB0cnVlX2I4ICgpLCB6MCwgejEpLAorCQl6MSA9IHN2ZGl2 X3ggKHN2cHRydWVfYjggKCksIHowLCB6MSkpCisKKy8qCisqKiBwdHJ1ZV9i OF9kaXZfZjY0X3hfdW50aWVkOgorKioJcHRydWUJKHBbMC03XSlcLmRbXlxu XSoKKyoqCW1vdnByZngJejIsIHowCisqKglmZGl2CXoyXC5kLCBcMS9tLCB6 MlwuZCwgejFcLmQKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChwdHJ1 ZV9iOF9kaXZfZjY0X3hfdW50aWVkLCBzdmZsb2F0NjRfdCwKKwkJejIgPSBz dmRpdl9mNjRfeCAoc3ZwdHJ1ZV9iOCAoKSwgejAsIHoxKSwKKwkJejIgPSBz dmRpdl94IChzdnB0cnVlX2I4ICgpLCB6MCwgejEpKQpkaWZmIC0tZ2l0IGEv Z2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2FhcmNoNjQvc3ZlLWFjbGUvYXNt L2Rpdl9zMzIuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9hYXJjaDY0 L3N2ZS1hY2xlL2FzbS9kaXZfczMyLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQK aW5kZXggMDAwMDAwMC4uOGM4NDFhZQotLS0gL2Rldi9udWxsCisrKyBiL2dj Yy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9hYXJjaDY0L3N2ZS1hY2xlL2FzbS9k aXZfczMyLmMKQEAgLTAsMCArMSwyNTQgQEAKKy8qIHsgZGctZG8gY29tcGls ZSB9ICovCisvKiB7IGRnLWZpbmFsIHsgY2hlY2stZnVuY3Rpb24tYm9kaWVz ICIqKiIgIiIgIi1EQ0hFQ0tfQVNNIiB9IH0gKi8KKworI2luY2x1ZGUgInRl c3Rfc3ZlX2FjbGUuaCIKKworLyoKKyoqIGRpdl9zMzJfbV90aWVkMToKKyoq CXNkaXYJejBcLnMsIHAwL20sIHowXC5zLCB6MVwucworKioJcmV0CisqLwor VEVTVF9VTklGT1JNX1ogKGRpdl9zMzJfbV90aWVkMSwgc3ZpbnQzMl90LAor CQl6MCA9IHN2ZGl2X3MzMl9tIChwMCwgejAsIHoxKSwKKwkJejAgPSBzdmRp dl9tIChwMCwgejAsIHoxKSkKKworLyogQmFkIFJBIGNob2ljZTogbm8gcHJl ZmVycmVkIG91dHB1dCBzZXF1ZW5jZS4gICovCitURVNUX1VOSUZPUk1fWiAo ZGl2X3MzMl9tX3RpZWQyLCBzdmludDMyX3QsCisJCXoxID0gc3ZkaXZfczMy X20gKHAwLCB6MCwgejEpLAorCQl6MSA9IHN2ZGl2X20gKHAwLCB6MCwgejEp KQorCisvKgorKiogZGl2X3MzMl9tX3VudGllZDoKKyoqCW1vdnByZngJejAs IHoxCisqKglzZGl2CXowXC5zLCBwMC9tLCB6MFwucywgejJcLnMKKyoqCXJl dAorKi8KK1RFU1RfVU5JRk9STV9aIChkaXZfczMyX21fdW50aWVkLCBzdmlu dDMyX3QsCisJCXowID0gc3ZkaXZfczMyX20gKHAwLCB6MSwgejIpLAorCQl6 MCA9IHN2ZGl2X20gKHAwLCB6MSwgejIpKQorCisvKgorKiogZGl2X3cwX3Mz Ml9tX3RpZWQxOgorKioJbW92CSh6WzAtOV0rXC5zKSwgdzAKKyoqCXNkaXYJ ejBcLnMsIHAwL20sIHowXC5zLCBcMQorKioJcmV0CisqLworVEVTVF9VTklG T1JNX1pTIChkaXZfdzBfczMyX21fdGllZDEsIHN2aW50MzJfdCwgaW50MzJf dCwKKwkJIHowID0gc3ZkaXZfbl9zMzJfbSAocDAsIHowLCB4MCksCisJCSB6 MCA9IHN2ZGl2X20gKHAwLCB6MCwgeDApKQorCisvKgorKiogZGl2X3cwX3Mz Ml9tX3VudGllZDoKKyoqCW1vdgkoelswLTldK1wucyksIHcwCisqKgltb3Zw cmZ4CXowLCB6MQorKioJc2Rpdgl6MFwucywgcDAvbSwgejBcLnMsIFwxCisq KglyZXQKKyovCitURVNUX1VOSUZPUk1fWlMgKGRpdl93MF9zMzJfbV91bnRp ZWQsIHN2aW50MzJfdCwgaW50MzJfdCwKKwkJIHowID0gc3ZkaXZfbl9zMzJf bSAocDAsIHoxLCB4MCksCisJCSB6MCA9IHN2ZGl2X20gKHAwLCB6MSwgeDAp KQorCisvKgorKiogZGl2X3MwX3MzMl9tX3RpZWQxOgorKioJbW92CSh6WzAt OV0rXC5zKSwgczAKKyoqCXNkaXYJejFcLnMsIHAwL20sIHoxXC5zLCBcMQor KioJcmV0CisqLworVEVTVF9VTklGT1JNX1pTIChkaXZfczBfczMyX21fdGll ZDEsIHN2aW50MzJfdCwgaW50MzJfdCwKKwkJIHoxID0gc3ZkaXZfbl9zMzJf bSAocDAsIHoxLCBkMCksCisJCSB6MSA9IHN2ZGl2X20gKHAwLCB6MSwgZDAp KQorCisvKgorKiogZGl2X3MwX3MzMl9tX3VudGllZDoKKyoqCW1vdgkoelsw LTldK1wucyksIHMwCisqKgltb3ZwcmZ4CXoxLCB6MgorKioJc2Rpdgl6MVwu cywgcDAvbSwgejFcLnMsIFwxCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1f WlMgKGRpdl9zMF9zMzJfbV91bnRpZWQsIHN2aW50MzJfdCwgaW50MzJfdCwK KwkJIHoxID0gc3ZkaXZfbl9zMzJfbSAocDAsIHoyLCBkMCksCisJCSB6MSA9 IHN2ZGl2X20gKHAwLCB6MiwgZDApKQorCisvKgorKiogZGl2XzJfczMyX21f dGllZDE6CisqKgltb3YJKHpbMC05XStcLnMpLCAjMgorKioJc2Rpdgl6MFwu cywgcDAvbSwgejBcLnMsIFwxCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1f WiAoZGl2XzJfczMyX21fdGllZDEsIHN2aW50MzJfdCwKKwkJejAgPSBzdmRp dl9uX3MzMl9tIChwMCwgejAsIDIpLAorCQl6MCA9IHN2ZGl2X20gKHAwLCB6 MCwgMikpCisKKy8qCisqKiBkaXZfMl9zMzJfbV91bnRpZWQ6CisqKgltb3YJ KHpbMC05XStcLnMpLCAjMgorKioJbW92cHJmeAl6MCwgejEKKyoqCXNkaXYJ ejBcLnMsIHAwL20sIHowXC5zLCBcMQorKioJcmV0CisqLworVEVTVF9VTklG T1JNX1ogKGRpdl8yX3MzMl9tX3VudGllZCwgc3ZpbnQzMl90LAorCQl6MCA9 IHN2ZGl2X25fczMyX20gKHAwLCB6MSwgMiksCisJCXowID0gc3ZkaXZfbSAo cDAsIHoxLCAyKSkKKworLyoKKyoqIGRpdl9zMzJfel90aWVkMToKKyoqCW1v dnByZngJejBcLnMsIHAwL3osIHowXC5zCisqKglzZGl2CXowXC5zLCBwMC9t LCB6MFwucywgejFcLnMKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChk aXZfczMyX3pfdGllZDEsIHN2aW50MzJfdCwKKwkJejAgPSBzdmRpdl9zMzJf eiAocDAsIHowLCB6MSksCisJCXowID0gc3ZkaXZfeiAocDAsIHowLCB6MSkp CisKKy8qCisqKiBkaXZfczMyX3pfdGllZDI6CisqKgltb3ZwcmZ4CXoxXC5z LCBwMC96LCB6MVwucworKioJc2RpdnIJejFcLnMsIHAwL20sIHoxXC5zLCB6 MFwucworKioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKGRpdl9zMzJfel90 aWVkMiwgc3ZpbnQzMl90LAorCQl6MSA9IHN2ZGl2X3MzMl96IChwMCwgejAs IHoxKSwKKwkJejEgPSBzdmRpdl96IChwMCwgejAsIHoxKSkKKworLyoKKyoq IGRpdl9zMzJfel91bnRpZWQ6CisqKgltb3ZwcmZ4CXowXC5zLCBwMC96LCB6 MVwucworKioJc2Rpdgl6MFwucywgcDAvbSwgejBcLnMsIHoyXC5zCisqKgly ZXQKKyovCitURVNUX1VOSUZPUk1fWiAoZGl2X3MzMl96X3VudGllZCwgc3Zp bnQzMl90LAorCQl6MCA9IHN2ZGl2X3MzMl96IChwMCwgejEsIHoyKSwKKwkJ ejAgPSBzdmRpdl96IChwMCwgejEsIHoyKSkKKworLyoKKyoqIGRpdl93MF9z MzJfel90aWVkMToKKyoqCW1vdgkoelswLTldK1wucyksIHcwCisqKgltb3Zw cmZ4CXowXC5zLCBwMC96LCB6MFwucworKioJc2Rpdgl6MFwucywgcDAvbSwg ejBcLnMsIFwxCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWlMgKGRpdl93 MF9zMzJfel90aWVkMSwgc3ZpbnQzMl90LCBpbnQzMl90LAorCQkgejAgPSBz dmRpdl9uX3MzMl96IChwMCwgejAsIHgwKSwKKwkJIHowID0gc3ZkaXZfeiAo cDAsIHowLCB4MCkpCisKKy8qCisqKiBkaXZfdzBfczMyX3pfdW50aWVkOgor KioJbW92CSh6WzAtOV0rXC5zKSwgdzAKKyoqCW1vdnByZngJejBcLnMsIHAw L3osIHoxXC5zCisqKglzZGl2CXowXC5zLCBwMC9tLCB6MFwucywgXDEKKyoq CXJldAorKi8KK1RFU1RfVU5JRk9STV9aUyAoZGl2X3cwX3MzMl96X3VudGll ZCwgc3ZpbnQzMl90LCBpbnQzMl90LAorCQkgejAgPSBzdmRpdl9uX3MzMl96 IChwMCwgejEsIHgwKSwKKwkJIHowID0gc3ZkaXZfeiAocDAsIHoxLCB4MCkp CisKKy8qCisqKiBkaXZfczBfczMyX3pfdGllZDE6CisqKgltb3YJKHpbMC05 XStcLnMpLCBzMAorKioJbW92cHJmeAl6MVwucywgcDAveiwgejFcLnMKKyoq CXNkaXYJejFcLnMsIHAwL20sIHoxXC5zLCBcMQorKioJcmV0CisqLworVEVT VF9VTklGT1JNX1pTIChkaXZfczBfczMyX3pfdGllZDEsIHN2aW50MzJfdCwg aW50MzJfdCwKKwkJIHoxID0gc3ZkaXZfbl9zMzJfeiAocDAsIHoxLCBkMCks CisJCSB6MSA9IHN2ZGl2X3ogKHAwLCB6MSwgZDApKQorCisvKgorKiogZGl2 X3MwX3MzMl96X3VudGllZDoKKyoqCW1vdgkoelswLTldK1wucyksIHMwCisq Kgltb3ZwcmZ4CXoxXC5zLCBwMC96LCB6MlwucworKioJc2Rpdgl6MVwucywg cDAvbSwgejFcLnMsIFwxCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWlMg KGRpdl9zMF9zMzJfel91bnRpZWQsIHN2aW50MzJfdCwgaW50MzJfdCwKKwkJ IHoxID0gc3ZkaXZfbl9zMzJfeiAocDAsIHoyLCBkMCksCisJCSB6MSA9IHN2 ZGl2X3ogKHAwLCB6MiwgZDApKQorCisvKgorKiogZGl2X3MzMl94X3RpZWQx OgorKioJc2Rpdgl6MFwucywgcDAvbSwgejBcLnMsIHoxXC5zCisqKglyZXQK KyovCitURVNUX1VOSUZPUk1fWiAoZGl2X3MzMl94X3RpZWQxLCBzdmludDMy X3QsCisJCXowID0gc3ZkaXZfczMyX3ggKHAwLCB6MCwgejEpLAorCQl6MCA9 IHN2ZGl2X3ggKHAwLCB6MCwgejEpKQorCisvKgorKiogZGl2X3MzMl94X3Rp ZWQyOgorKioJc2RpdnIJejFcLnMsIHAwL20sIHoxXC5zLCB6MFwucworKioJ cmV0CisqLworVEVTVF9VTklGT1JNX1ogKGRpdl9zMzJfeF90aWVkMiwgc3Zp bnQzMl90LAorCQl6MSA9IHN2ZGl2X3MzMl94IChwMCwgejAsIHoxKSwKKwkJ ejEgPSBzdmRpdl94IChwMCwgejAsIHoxKSkKKworLyoKKyoqIGRpdl9zMzJf eF91bnRpZWQ6CisqKgltb3ZwcmZ4CXoyLCB6MAorKioJc2Rpdgl6Mlwucywg cDAvbSwgejJcLnMsIHoxXC5zCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1f WiAoZGl2X3MzMl94X3VudGllZCwgc3ZpbnQzMl90LAorCQl6MiA9IHN2ZGl2 X3MzMl94IChwMCwgejAsIHoxKSwKKwkJejIgPSBzdmRpdl94IChwMCwgejAs IHoxKSkKKworLyoKKyoqIGRpdl93MF9zMzJfeF90aWVkMToKKyoqCW1vdgko elswLTldK1wucyksIHcwCisqKglzZGl2CXowXC5zLCBwMC9tLCB6MFwucywg XDEKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aUyAoZGl2X3cwX3MzMl94 X3RpZWQxLCBzdmludDMyX3QsIGludDMyX3QsCisJCSB6MCA9IHN2ZGl2X25f czMyX3ggKHAwLCB6MCwgeDApLAorCQkgejAgPSBzdmRpdl94IChwMCwgejAs IHgwKSkKKworLyoKKyoqIGRpdl93MF9zMzJfeF91bnRpZWQ6CisqKgltb3YJ ejFcLnMsIHcwCisqKglzZGl2cgl6MVwucywgcDAvbSwgejFcLnMsIHowXC5z CisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWlMgKGRpdl93MF9zMzJfeF91 bnRpZWQsIHN2aW50MzJfdCwgaW50MzJfdCwKKwkJIHoxID0gc3ZkaXZfbl9z MzJfeCAocDAsIHowLCB4MCksCisJCSB6MSA9IHN2ZGl2X3ggKHAwLCB6MCwg eDApKQorCisvKgorKiogZGl2X3MwX3MzMl94X3RpZWQxOgorKioJbW92CSh6 WzAtOV0rXC5zKSwgczAKKyoqCXNkaXYJejFcLnMsIHAwL20sIHoxXC5zLCBc MQorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1pTIChkaXZfczBfczMyX3hf dGllZDEsIHN2aW50MzJfdCwgaW50MzJfdCwKKwkJIHoxID0gc3ZkaXZfbl9z MzJfeCAocDAsIHoxLCBkMCksCisJCSB6MSA9IHN2ZGl2X3ggKHAwLCB6MSwg ZDApKQorCisvKgorKiogZGl2X3MwX3MzMl94X3VudGllZDoKKyoqCW1vdgl6 MlwucywgczAKKyoqCXNkaXZyCXoyXC5zLCBwMC9tLCB6MlwucywgejFcLnMK KyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aUyAoZGl2X3MwX3MzMl94X3Vu dGllZCwgc3ZpbnQzMl90LCBpbnQzMl90LAorCQkgejIgPSBzdmRpdl9uX3Mz Ml94IChwMCwgejEsIGQwKSwKKwkJIHoyID0gc3ZkaXZfeCAocDAsIHoxLCBk MCkpCisKKy8qCisqKiBkaXZfMl9zMzJfeF90aWVkMToKKyoqCW1vdgkoelsw LTldK1wucyksICMyCisqKglzZGl2CXowXC5zLCBwMC9tLCB6MFwucywgXDEK KyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChkaXZfMl9zMzJfeF90aWVk MSwgc3ZpbnQzMl90LAorCQl6MCA9IHN2ZGl2X25fczMyX3ggKHAwLCB6MCwg MiksCisJCXowID0gc3ZkaXZfeCAocDAsIHowLCAyKSkKKworLyoKKyoqIGRp dl8yX3MzMl94X3VudGllZDoKKyoqCW1vdgl6MFwucywgIzIKKyoqCXNkaXZy CXowXC5zLCBwMC9tLCB6MFwucywgejFcLnMKKyoqCXJldAorKi8KK1RFU1Rf VU5JRk9STV9aIChkaXZfMl9zMzJfeF91bnRpZWQsIHN2aW50MzJfdCwKKwkJ ejAgPSBzdmRpdl9uX3MzMl94IChwMCwgejEsIDIpLAorCQl6MCA9IHN2ZGl2 X3ggKHAwLCB6MSwgMikpCisKZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUv Z2NjLnRhcmdldC9hYXJjaDY0L3N2ZS1hY2xlL2FzbS9kaXZfczY0LmMgYi9n Y2MvdGVzdHN1aXRlL2djYy50YXJnZXQvYWFyY2g2NC9zdmUtYWNsZS9hc20v ZGl2X3M2NC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAu LjhjYzJiMzEKLS0tIC9kZXYvbnVsbAorKysgYi9nY2MvdGVzdHN1aXRlL2dj Yy50YXJnZXQvYWFyY2g2NC9zdmUtYWNsZS9hc20vZGl2X3M2NC5jCkBAIC0w LDAgKzEsMjU0IEBACisvKiB7IGRnLWRvIGNvbXBpbGUgfSAqLworLyogeyBk Zy1maW5hbCB7IGNoZWNrLWZ1bmN0aW9uLWJvZGllcyAiKioiICIiICItRENI RUNLX0FTTSIgfSB9ICovCisKKyNpbmNsdWRlICJ0ZXN0X3N2ZV9hY2xlLmgi CisKKy8qCisqKiBkaXZfczY0X21fdGllZDE6CisqKglzZGl2CXowXC5kLCBw MC9tLCB6MFwuZCwgejFcLmQKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9a IChkaXZfczY0X21fdGllZDEsIHN2aW50NjRfdCwKKwkJejAgPSBzdmRpdl9z NjRfbSAocDAsIHowLCB6MSksCisJCXowID0gc3ZkaXZfbSAocDAsIHowLCB6 MSkpCisKKy8qIEJhZCBSQSBjaG9pY2U6IG5vIHByZWZlcnJlZCBvdXRwdXQg c2VxdWVuY2UuICAqLworVEVTVF9VTklGT1JNX1ogKGRpdl9zNjRfbV90aWVk Miwgc3ZpbnQ2NF90LAorCQl6MSA9IHN2ZGl2X3M2NF9tIChwMCwgejAsIHox KSwKKwkJejEgPSBzdmRpdl9tIChwMCwgejAsIHoxKSkKKworLyoKKyoqIGRp dl9zNjRfbV91bnRpZWQ6CisqKgltb3ZwcmZ4CXowLCB6MQorKioJc2Rpdgl6 MFwuZCwgcDAvbSwgejBcLmQsIHoyXC5kCisqKglyZXQKKyovCitURVNUX1VO SUZPUk1fWiAoZGl2X3M2NF9tX3VudGllZCwgc3ZpbnQ2NF90LAorCQl6MCA9 IHN2ZGl2X3M2NF9tIChwMCwgejEsIHoyKSwKKwkJejAgPSBzdmRpdl9tIChw MCwgejEsIHoyKSkKKworLyoKKyoqIGRpdl94MF9zNjRfbV90aWVkMToKKyoq CW1vdgkoelswLTldK1wuZCksIHgwCisqKglzZGl2CXowXC5kLCBwMC9tLCB6 MFwuZCwgXDEKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aUyAoZGl2X3gw X3M2NF9tX3RpZWQxLCBzdmludDY0X3QsIGludDY0X3QsCisJCSB6MCA9IHN2 ZGl2X25fczY0X20gKHAwLCB6MCwgeDApLAorCQkgejAgPSBzdmRpdl9tIChw MCwgejAsIHgwKSkKKworLyoKKyoqIGRpdl94MF9zNjRfbV91bnRpZWQ6Cisq Kgltb3YJKHpbMC05XStcLmQpLCB4MAorKioJbW92cHJmeAl6MCwgejEKKyoq CXNkaXYJejBcLmQsIHAwL20sIHowXC5kLCBcMQorKioJcmV0CisqLworVEVT VF9VTklGT1JNX1pTIChkaXZfeDBfczY0X21fdW50aWVkLCBzdmludDY0X3Qs IGludDY0X3QsCisJCSB6MCA9IHN2ZGl2X25fczY0X20gKHAwLCB6MSwgeDAp LAorCQkgejAgPSBzdmRpdl9tIChwMCwgejEsIHgwKSkKKworLyoKKyoqIGRp dl9kMF9zNjRfbV90aWVkMToKKyoqCW1vdgkoelswLTldK1wuZCksIGQwCisq KglzZGl2CXoxXC5kLCBwMC9tLCB6MVwuZCwgXDEKKyoqCXJldAorKi8KK1RF U1RfVU5JRk9STV9aUyAoZGl2X2QwX3M2NF9tX3RpZWQxLCBzdmludDY0X3Qs IGludDY0X3QsCisJCSB6MSA9IHN2ZGl2X25fczY0X20gKHAwLCB6MSwgZDAp LAorCQkgejEgPSBzdmRpdl9tIChwMCwgejEsIGQwKSkKKworLyoKKyoqIGRp dl9kMF9zNjRfbV91bnRpZWQ6CisqKgltb3YJKHpbMC05XStcLmQpLCBkMAor KioJbW92cHJmeAl6MSwgejIKKyoqCXNkaXYJejFcLmQsIHAwL20sIHoxXC5k LCBcMQorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1pTIChkaXZfZDBfczY0 X21fdW50aWVkLCBzdmludDY0X3QsIGludDY0X3QsCisJCSB6MSA9IHN2ZGl2 X25fczY0X20gKHAwLCB6MiwgZDApLAorCQkgejEgPSBzdmRpdl9tIChwMCwg ejIsIGQwKSkKKworLyoKKyoqIGRpdl8yX3M2NF9tX3RpZWQxOgorKioJbW92 CSh6WzAtOV0rXC5kKSwgIzIKKyoqCXNkaXYJejBcLmQsIHAwL20sIHowXC5k LCBcMQorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKGRpdl8yX3M2NF9t X3RpZWQxLCBzdmludDY0X3QsCisJCXowID0gc3ZkaXZfbl9zNjRfbSAocDAs IHowLCAyKSwKKwkJejAgPSBzdmRpdl9tIChwMCwgejAsIDIpKQorCisvKgor KiogZGl2XzJfczY0X21fdW50aWVkOgorKioJbW92CSh6WzAtOV0rXC5kKSwg IzIKKyoqCW1vdnByZngJejAsIHoxCisqKglzZGl2CXowXC5kLCBwMC9tLCB6 MFwuZCwgXDEKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChkaXZfMl9z NjRfbV91bnRpZWQsIHN2aW50NjRfdCwKKwkJejAgPSBzdmRpdl9uX3M2NF9t IChwMCwgejEsIDIpLAorCQl6MCA9IHN2ZGl2X20gKHAwLCB6MSwgMikpCisK Ky8qCisqKiBkaXZfczY0X3pfdGllZDE6CisqKgltb3ZwcmZ4CXowXC5kLCBw MC96LCB6MFwuZAorKioJc2Rpdgl6MFwuZCwgcDAvbSwgejBcLmQsIHoxXC5k CisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAoZGl2X3M2NF96X3RpZWQx LCBzdmludDY0X3QsCisJCXowID0gc3ZkaXZfczY0X3ogKHAwLCB6MCwgejEp LAorCQl6MCA9IHN2ZGl2X3ogKHAwLCB6MCwgejEpKQorCisvKgorKiogZGl2 X3M2NF96X3RpZWQyOgorKioJbW92cHJmeAl6MVwuZCwgcDAveiwgejFcLmQK KyoqCXNkaXZyCXoxXC5kLCBwMC9tLCB6MVwuZCwgejBcLmQKKyoqCXJldAor Ki8KK1RFU1RfVU5JRk9STV9aIChkaXZfczY0X3pfdGllZDIsIHN2aW50NjRf dCwKKwkJejEgPSBzdmRpdl9zNjRfeiAocDAsIHowLCB6MSksCisJCXoxID0g c3ZkaXZfeiAocDAsIHowLCB6MSkpCisKKy8qCisqKiBkaXZfczY0X3pfdW50 aWVkOgorKioJbW92cHJmeAl6MFwuZCwgcDAveiwgejFcLmQKKyoqCXNkaXYJ ejBcLmQsIHAwL20sIHowXC5kLCB6MlwuZAorKioJcmV0CisqLworVEVTVF9V TklGT1JNX1ogKGRpdl9zNjRfel91bnRpZWQsIHN2aW50NjRfdCwKKwkJejAg PSBzdmRpdl9zNjRfeiAocDAsIHoxLCB6MiksCisJCXowID0gc3ZkaXZfeiAo cDAsIHoxLCB6MikpCisKKy8qCisqKiBkaXZfeDBfczY0X3pfdGllZDE6Cisq Kgltb3YJKHpbMC05XStcLmQpLCB4MAorKioJbW92cHJmeAl6MFwuZCwgcDAv eiwgejBcLmQKKyoqCXNkaXYJejBcLmQsIHAwL20sIHowXC5kLCBcMQorKioJ cmV0CisqLworVEVTVF9VTklGT1JNX1pTIChkaXZfeDBfczY0X3pfdGllZDEs IHN2aW50NjRfdCwgaW50NjRfdCwKKwkJIHowID0gc3ZkaXZfbl9zNjRfeiAo cDAsIHowLCB4MCksCisJCSB6MCA9IHN2ZGl2X3ogKHAwLCB6MCwgeDApKQor CisvKgorKiogZGl2X3gwX3M2NF96X3VudGllZDoKKyoqCW1vdgkoelswLTld K1wuZCksIHgwCisqKgltb3ZwcmZ4CXowXC5kLCBwMC96LCB6MVwuZAorKioJ c2Rpdgl6MFwuZCwgcDAvbSwgejBcLmQsIFwxCisqKglyZXQKKyovCitURVNU X1VOSUZPUk1fWlMgKGRpdl94MF9zNjRfel91bnRpZWQsIHN2aW50NjRfdCwg aW50NjRfdCwKKwkJIHowID0gc3ZkaXZfbl9zNjRfeiAocDAsIHoxLCB4MCks CisJCSB6MCA9IHN2ZGl2X3ogKHAwLCB6MSwgeDApKQorCisvKgorKiogZGl2 X2QwX3M2NF96X3RpZWQxOgorKioJbW92CSh6WzAtOV0rXC5kKSwgZDAKKyoq CW1vdnByZngJejFcLmQsIHAwL3osIHoxXC5kCisqKglzZGl2CXoxXC5kLCBw MC9tLCB6MVwuZCwgXDEKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aUyAo ZGl2X2QwX3M2NF96X3RpZWQxLCBzdmludDY0X3QsIGludDY0X3QsCisJCSB6 MSA9IHN2ZGl2X25fczY0X3ogKHAwLCB6MSwgZDApLAorCQkgejEgPSBzdmRp dl96IChwMCwgejEsIGQwKSkKKworLyoKKyoqIGRpdl9kMF9zNjRfel91bnRp ZWQ6CisqKgltb3YJKHpbMC05XStcLmQpLCBkMAorKioJbW92cHJmeAl6MVwu ZCwgcDAveiwgejJcLmQKKyoqCXNkaXYJejFcLmQsIHAwL20sIHoxXC5kLCBc MQorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1pTIChkaXZfZDBfczY0X3pf dW50aWVkLCBzdmludDY0X3QsIGludDY0X3QsCisJCSB6MSA9IHN2ZGl2X25f czY0X3ogKHAwLCB6MiwgZDApLAorCQkgejEgPSBzdmRpdl96IChwMCwgejIs IGQwKSkKKworLyoKKyoqIGRpdl9zNjRfeF90aWVkMToKKyoqCXNkaXYJejBc LmQsIHAwL20sIHowXC5kLCB6MVwuZAorKioJcmV0CisqLworVEVTVF9VTklG T1JNX1ogKGRpdl9zNjRfeF90aWVkMSwgc3ZpbnQ2NF90LAorCQl6MCA9IHN2 ZGl2X3M2NF94IChwMCwgejAsIHoxKSwKKwkJejAgPSBzdmRpdl94IChwMCwg ejAsIHoxKSkKKworLyoKKyoqIGRpdl9zNjRfeF90aWVkMjoKKyoqCXNkaXZy CXoxXC5kLCBwMC9tLCB6MVwuZCwgejBcLmQKKyoqCXJldAorKi8KK1RFU1Rf VU5JRk9STV9aIChkaXZfczY0X3hfdGllZDIsIHN2aW50NjRfdCwKKwkJejEg PSBzdmRpdl9zNjRfeCAocDAsIHowLCB6MSksCisJCXoxID0gc3ZkaXZfeCAo cDAsIHowLCB6MSkpCisKKy8qCisqKiBkaXZfczY0X3hfdW50aWVkOgorKioJ bW92cHJmeAl6MiwgejAKKyoqCXNkaXYJejJcLmQsIHAwL20sIHoyXC5kLCB6 MVwuZAorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKGRpdl9zNjRfeF91 bnRpZWQsIHN2aW50NjRfdCwKKwkJejIgPSBzdmRpdl9zNjRfeCAocDAsIHow LCB6MSksCisJCXoyID0gc3ZkaXZfeCAocDAsIHowLCB6MSkpCisKKy8qCisq KiBkaXZfeDBfczY0X3hfdGllZDE6CisqKgltb3YJKHpbMC05XStcLmQpLCB4 MAorKioJc2Rpdgl6MFwuZCwgcDAvbSwgejBcLmQsIFwxCisqKglyZXQKKyov CitURVNUX1VOSUZPUk1fWlMgKGRpdl94MF9zNjRfeF90aWVkMSwgc3ZpbnQ2 NF90LCBpbnQ2NF90LAorCQkgejAgPSBzdmRpdl9uX3M2NF94IChwMCwgejAs IHgwKSwKKwkJIHowID0gc3ZkaXZfeCAocDAsIHowLCB4MCkpCisKKy8qCisq KiBkaXZfeDBfczY0X3hfdW50aWVkOgorKioJbW92CXoxXC5kLCB4MAorKioJ c2RpdnIJejFcLmQsIHAwL20sIHoxXC5kLCB6MFwuZAorKioJcmV0CisqLwor VEVTVF9VTklGT1JNX1pTIChkaXZfeDBfczY0X3hfdW50aWVkLCBzdmludDY0 X3QsIGludDY0X3QsCisJCSB6MSA9IHN2ZGl2X25fczY0X3ggKHAwLCB6MCwg eDApLAorCQkgejEgPSBzdmRpdl94IChwMCwgejAsIHgwKSkKKworLyoKKyoq IGRpdl9kMF9zNjRfeF90aWVkMToKKyoqCW1vdgkoelswLTldK1wuZCksIGQw CisqKglzZGl2CXoxXC5kLCBwMC9tLCB6MVwuZCwgXDEKKyoqCXJldAorKi8K K1RFU1RfVU5JRk9STV9aUyAoZGl2X2QwX3M2NF94X3RpZWQxLCBzdmludDY0 X3QsIGludDY0X3QsCisJCSB6MSA9IHN2ZGl2X25fczY0X3ggKHAwLCB6MSwg ZDApLAorCQkgejEgPSBzdmRpdl94IChwMCwgejEsIGQwKSkKKworLyoKKyoq IGRpdl9kMF9zNjRfeF91bnRpZWQ6CisqKgltb3YJejJcLmQsIGQwCisqKglz ZGl2cgl6MlwuZCwgcDAvbSwgejJcLmQsIHoxXC5kCisqKglyZXQKKyovCitU RVNUX1VOSUZPUk1fWlMgKGRpdl9kMF9zNjRfeF91bnRpZWQsIHN2aW50NjRf dCwgaW50NjRfdCwKKwkJIHoyID0gc3ZkaXZfbl9zNjRfeCAocDAsIHoxLCBk MCksCisJCSB6MiA9IHN2ZGl2X3ggKHAwLCB6MSwgZDApKQorCisvKgorKiog ZGl2XzJfczY0X3hfdGllZDE6CisqKgltb3YJKHpbMC05XStcLmQpLCAjMgor KioJc2Rpdgl6MFwuZCwgcDAvbSwgejBcLmQsIFwxCisqKglyZXQKKyovCitU RVNUX1VOSUZPUk1fWiAoZGl2XzJfczY0X3hfdGllZDEsIHN2aW50NjRfdCwK KwkJejAgPSBzdmRpdl9uX3M2NF94IChwMCwgejAsIDIpLAorCQl6MCA9IHN2 ZGl2X3ggKHAwLCB6MCwgMikpCisKKy8qCisqKiBkaXZfMl9zNjRfeF91bnRp ZWQ6CisqKgltb3YJejBcLmQsICMyCisqKglzZGl2cgl6MFwuZCwgcDAvbSwg ejBcLmQsIHoxXC5kCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAoZGl2 XzJfczY0X3hfdW50aWVkLCBzdmludDY0X3QsCisJCXowID0gc3ZkaXZfbl9z NjRfeCAocDAsIHoxLCAyKSwKKwkJejAgPSBzdmRpdl94IChwMCwgejEsIDIp KQorCmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvYWFy Y2g2NC9zdmUtYWNsZS9hc20vZGl2X3UzMi5jIGIvZ2NjL3Rlc3RzdWl0ZS9n Y2MudGFyZ2V0L2FhcmNoNjQvc3ZlLWFjbGUvYXNtL2Rpdl91MzIuYwpuZXcg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45NGYzNGViCi0tLSAv ZGV2L251bGwKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2FhcmNo NjQvc3ZlLWFjbGUvYXNtL2Rpdl91MzIuYwpAQCAtMCwwICsxLDI1NCBAQAor LyogeyBkZy1kbyBjb21waWxlIH0gKi8KKy8qIHsgZGctZmluYWwgeyBjaGVj ay1mdW5jdGlvbi1ib2RpZXMgIioqIiAiIiAiLURDSEVDS19BU00iIH0gfSAq LworCisjaW5jbHVkZSAidGVzdF9zdmVfYWNsZS5oIgorCisvKgorKiogZGl2 X3UzMl9tX3RpZWQxOgorKioJdWRpdgl6MFwucywgcDAvbSwgejBcLnMsIHox XC5zCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAoZGl2X3UzMl9tX3Rp ZWQxLCBzdnVpbnQzMl90LAorCQl6MCA9IHN2ZGl2X3UzMl9tIChwMCwgejAs IHoxKSwKKwkJejAgPSBzdmRpdl9tIChwMCwgejAsIHoxKSkKKworLyogQmFk IFJBIGNob2ljZTogbm8gcHJlZmVycmVkIG91dHB1dCBzZXF1ZW5jZS4gICov CitURVNUX1VOSUZPUk1fWiAoZGl2X3UzMl9tX3RpZWQyLCBzdnVpbnQzMl90 LAorCQl6MSA9IHN2ZGl2X3UzMl9tIChwMCwgejAsIHoxKSwKKwkJejEgPSBz dmRpdl9tIChwMCwgejAsIHoxKSkKKworLyoKKyoqIGRpdl91MzJfbV91bnRp ZWQ6CisqKgltb3ZwcmZ4CXowLCB6MQorKioJdWRpdgl6MFwucywgcDAvbSwg ejBcLnMsIHoyXC5zCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAoZGl2 X3UzMl9tX3VudGllZCwgc3Z1aW50MzJfdCwKKwkJejAgPSBzdmRpdl91MzJf bSAocDAsIHoxLCB6MiksCisJCXowID0gc3ZkaXZfbSAocDAsIHoxLCB6Mikp CisKKy8qCisqKiBkaXZfdzBfdTMyX21fdGllZDE6CisqKgltb3YJKHpbMC05 XStcLnMpLCB3MAorKioJdWRpdgl6MFwucywgcDAvbSwgejBcLnMsIFwxCisq KglyZXQKKyovCitURVNUX1VOSUZPUk1fWlMgKGRpdl93MF91MzJfbV90aWVk MSwgc3Z1aW50MzJfdCwgdWludDMyX3QsCisJCSB6MCA9IHN2ZGl2X25fdTMy X20gKHAwLCB6MCwgeDApLAorCQkgejAgPSBzdmRpdl9tIChwMCwgejAsIHgw KSkKKworLyoKKyoqIGRpdl93MF91MzJfbV91bnRpZWQ6CisqKgltb3YJKHpb MC05XStcLnMpLCB3MAorKioJbW92cHJmeAl6MCwgejEKKyoqCXVkaXYJejBc LnMsIHAwL20sIHowXC5zLCBcMQorKioJcmV0CisqLworVEVTVF9VTklGT1JN X1pTIChkaXZfdzBfdTMyX21fdW50aWVkLCBzdnVpbnQzMl90LCB1aW50MzJf dCwKKwkJIHowID0gc3ZkaXZfbl91MzJfbSAocDAsIHoxLCB4MCksCisJCSB6 MCA9IHN2ZGl2X20gKHAwLCB6MSwgeDApKQorCisvKgorKiogZGl2X3MwX3Uz Ml9tX3RpZWQxOgorKioJbW92CSh6WzAtOV0rXC5zKSwgczAKKyoqCXVkaXYJ ejFcLnMsIHAwL20sIHoxXC5zLCBcMQorKioJcmV0CisqLworVEVTVF9VTklG T1JNX1pTIChkaXZfczBfdTMyX21fdGllZDEsIHN2dWludDMyX3QsIHVpbnQz Ml90LAorCQkgejEgPSBzdmRpdl9uX3UzMl9tIChwMCwgejEsIGQwKSwKKwkJ IHoxID0gc3ZkaXZfbSAocDAsIHoxLCBkMCkpCisKKy8qCisqKiBkaXZfczBf dTMyX21fdW50aWVkOgorKioJbW92CSh6WzAtOV0rXC5zKSwgczAKKyoqCW1v dnByZngJejEsIHoyCisqKgl1ZGl2CXoxXC5zLCBwMC9tLCB6MVwucywgXDEK KyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aUyAoZGl2X3MwX3UzMl9tX3Vu dGllZCwgc3Z1aW50MzJfdCwgdWludDMyX3QsCisJCSB6MSA9IHN2ZGl2X25f dTMyX20gKHAwLCB6MiwgZDApLAorCQkgejEgPSBzdmRpdl9tIChwMCwgejIs IGQwKSkKKworLyoKKyoqIGRpdl8yX3UzMl9tX3RpZWQxOgorKioJbW92CSh6 WzAtOV0rXC5zKSwgIzIKKyoqCXVkaXYJejBcLnMsIHAwL20sIHowXC5zLCBc MQorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKGRpdl8yX3UzMl9tX3Rp ZWQxLCBzdnVpbnQzMl90LAorCQl6MCA9IHN2ZGl2X25fdTMyX20gKHAwLCB6 MCwgMiksCisJCXowID0gc3ZkaXZfbSAocDAsIHowLCAyKSkKKworLyoKKyoq IGRpdl8yX3UzMl9tX3VudGllZDoKKyoqCW1vdgkoelswLTldK1wucyksICMy CisqKgltb3ZwcmZ4CXowLCB6MQorKioJdWRpdgl6MFwucywgcDAvbSwgejBc LnMsIFwxCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAoZGl2XzJfdTMy X21fdW50aWVkLCBzdnVpbnQzMl90LAorCQl6MCA9IHN2ZGl2X25fdTMyX20g KHAwLCB6MSwgMiksCisJCXowID0gc3ZkaXZfbSAocDAsIHoxLCAyKSkKKwor LyoKKyoqIGRpdl91MzJfel90aWVkMToKKyoqCW1vdnByZngJejBcLnMsIHAw L3osIHowXC5zCisqKgl1ZGl2CXowXC5zLCBwMC9tLCB6MFwucywgejFcLnMK KyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChkaXZfdTMyX3pfdGllZDEs IHN2dWludDMyX3QsCisJCXowID0gc3ZkaXZfdTMyX3ogKHAwLCB6MCwgejEp LAorCQl6MCA9IHN2ZGl2X3ogKHAwLCB6MCwgejEpKQorCisvKgorKiogZGl2 X3UzMl96X3RpZWQyOgorKioJbW92cHJmeAl6MVwucywgcDAveiwgejFcLnMK KyoqCXVkaXZyCXoxXC5zLCBwMC9tLCB6MVwucywgejBcLnMKKyoqCXJldAor Ki8KK1RFU1RfVU5JRk9STV9aIChkaXZfdTMyX3pfdGllZDIsIHN2dWludDMy X3QsCisJCXoxID0gc3ZkaXZfdTMyX3ogKHAwLCB6MCwgejEpLAorCQl6MSA9 IHN2ZGl2X3ogKHAwLCB6MCwgejEpKQorCisvKgorKiogZGl2X3UzMl96X3Vu dGllZDoKKyoqCW1vdnByZngJejBcLnMsIHAwL3osIHoxXC5zCisqKgl1ZGl2 CXowXC5zLCBwMC9tLCB6MFwucywgejJcLnMKKyoqCXJldAorKi8KK1RFU1Rf VU5JRk9STV9aIChkaXZfdTMyX3pfdW50aWVkLCBzdnVpbnQzMl90LAorCQl6 MCA9IHN2ZGl2X3UzMl96IChwMCwgejEsIHoyKSwKKwkJejAgPSBzdmRpdl96 IChwMCwgejEsIHoyKSkKKworLyoKKyoqIGRpdl93MF91MzJfel90aWVkMToK KyoqCW1vdgkoelswLTldK1wucyksIHcwCisqKgltb3ZwcmZ4CXowXC5zLCBw MC96LCB6MFwucworKioJdWRpdgl6MFwucywgcDAvbSwgejBcLnMsIFwxCisq KglyZXQKKyovCitURVNUX1VOSUZPUk1fWlMgKGRpdl93MF91MzJfel90aWVk MSwgc3Z1aW50MzJfdCwgdWludDMyX3QsCisJCSB6MCA9IHN2ZGl2X25fdTMy X3ogKHAwLCB6MCwgeDApLAorCQkgejAgPSBzdmRpdl96IChwMCwgejAsIHgw KSkKKworLyoKKyoqIGRpdl93MF91MzJfel91bnRpZWQ6CisqKgltb3YJKHpb MC05XStcLnMpLCB3MAorKioJbW92cHJmeAl6MFwucywgcDAveiwgejFcLnMK KyoqCXVkaXYJejBcLnMsIHAwL20sIHowXC5zLCBcMQorKioJcmV0CisqLwor VEVTVF9VTklGT1JNX1pTIChkaXZfdzBfdTMyX3pfdW50aWVkLCBzdnVpbnQz Ml90LCB1aW50MzJfdCwKKwkJIHowID0gc3ZkaXZfbl91MzJfeiAocDAsIHox LCB4MCksCisJCSB6MCA9IHN2ZGl2X3ogKHAwLCB6MSwgeDApKQorCisvKgor KiogZGl2X3MwX3UzMl96X3RpZWQxOgorKioJbW92CSh6WzAtOV0rXC5zKSwg czAKKyoqCW1vdnByZngJejFcLnMsIHAwL3osIHoxXC5zCisqKgl1ZGl2CXox XC5zLCBwMC9tLCB6MVwucywgXDEKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9S TV9aUyAoZGl2X3MwX3UzMl96X3RpZWQxLCBzdnVpbnQzMl90LCB1aW50MzJf dCwKKwkJIHoxID0gc3ZkaXZfbl91MzJfeiAocDAsIHoxLCBkMCksCisJCSB6 MSA9IHN2ZGl2X3ogKHAwLCB6MSwgZDApKQorCisvKgorKiogZGl2X3MwX3Uz Ml96X3VudGllZDoKKyoqCW1vdgkoelswLTldK1wucyksIHMwCisqKgltb3Zw cmZ4CXoxXC5zLCBwMC96LCB6MlwucworKioJdWRpdgl6MVwucywgcDAvbSwg ejFcLnMsIFwxCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWlMgKGRpdl9z MF91MzJfel91bnRpZWQsIHN2dWludDMyX3QsIHVpbnQzMl90LAorCQkgejEg PSBzdmRpdl9uX3UzMl96IChwMCwgejIsIGQwKSwKKwkJIHoxID0gc3ZkaXZf eiAocDAsIHoyLCBkMCkpCisKKy8qCisqKiBkaXZfdTMyX3hfdGllZDE6Cisq Kgl1ZGl2CXowXC5zLCBwMC9tLCB6MFwucywgejFcLnMKKyoqCXJldAorKi8K K1RFU1RfVU5JRk9STV9aIChkaXZfdTMyX3hfdGllZDEsIHN2dWludDMyX3Qs CisJCXowID0gc3ZkaXZfdTMyX3ggKHAwLCB6MCwgejEpLAorCQl6MCA9IHN2 ZGl2X3ggKHAwLCB6MCwgejEpKQorCisvKgorKiogZGl2X3UzMl94X3RpZWQy OgorKioJdWRpdnIJejFcLnMsIHAwL20sIHoxXC5zLCB6MFwucworKioJcmV0 CisqLworVEVTVF9VTklGT1JNX1ogKGRpdl91MzJfeF90aWVkMiwgc3Z1aW50 MzJfdCwKKwkJejEgPSBzdmRpdl91MzJfeCAocDAsIHowLCB6MSksCisJCXox ID0gc3ZkaXZfeCAocDAsIHowLCB6MSkpCisKKy8qCisqKiBkaXZfdTMyX3hf dW50aWVkOgorKioJbW92cHJmeAl6MiwgejAKKyoqCXVkaXYJejJcLnMsIHAw L20sIHoyXC5zLCB6MVwucworKioJcmV0CisqLworVEVTVF9VTklGT1JNX1og KGRpdl91MzJfeF91bnRpZWQsIHN2dWludDMyX3QsCisJCXoyID0gc3ZkaXZf dTMyX3ggKHAwLCB6MCwgejEpLAorCQl6MiA9IHN2ZGl2X3ggKHAwLCB6MCwg ejEpKQorCisvKgorKiogZGl2X3cwX3UzMl94X3RpZWQxOgorKioJbW92CSh6 WzAtOV0rXC5zKSwgdzAKKyoqCXVkaXYJejBcLnMsIHAwL20sIHowXC5zLCBc MQorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1pTIChkaXZfdzBfdTMyX3hf dGllZDEsIHN2dWludDMyX3QsIHVpbnQzMl90LAorCQkgejAgPSBzdmRpdl9u X3UzMl94IChwMCwgejAsIHgwKSwKKwkJIHowID0gc3ZkaXZfeCAocDAsIHow LCB4MCkpCisKKy8qCisqKiBkaXZfdzBfdTMyX3hfdW50aWVkOgorKioJbW92 CXoxXC5zLCB3MAorKioJdWRpdnIJejFcLnMsIHAwL20sIHoxXC5zLCB6MFwu cworKioJcmV0CisqLworVEVTVF9VTklGT1JNX1pTIChkaXZfdzBfdTMyX3hf dW50aWVkLCBzdnVpbnQzMl90LCB1aW50MzJfdCwKKwkJIHoxID0gc3ZkaXZf bl91MzJfeCAocDAsIHowLCB4MCksCisJCSB6MSA9IHN2ZGl2X3ggKHAwLCB6 MCwgeDApKQorCisvKgorKiogZGl2X3MwX3UzMl94X3RpZWQxOgorKioJbW92 CSh6WzAtOV0rXC5zKSwgczAKKyoqCXVkaXYJejFcLnMsIHAwL20sIHoxXC5z LCBcMQorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1pTIChkaXZfczBfdTMy X3hfdGllZDEsIHN2dWludDMyX3QsIHVpbnQzMl90LAorCQkgejEgPSBzdmRp dl9uX3UzMl94IChwMCwgejEsIGQwKSwKKwkJIHoxID0gc3ZkaXZfeCAocDAs IHoxLCBkMCkpCisKKy8qCisqKiBkaXZfczBfdTMyX3hfdW50aWVkOgorKioJ bW92CXoyXC5zLCBzMAorKioJdWRpdnIJejJcLnMsIHAwL20sIHoyXC5zLCB6 MVwucworKioJcmV0CisqLworVEVTVF9VTklGT1JNX1pTIChkaXZfczBfdTMy X3hfdW50aWVkLCBzdnVpbnQzMl90LCB1aW50MzJfdCwKKwkJIHoyID0gc3Zk aXZfbl91MzJfeCAocDAsIHoxLCBkMCksCisJCSB6MiA9IHN2ZGl2X3ggKHAw LCB6MSwgZDApKQorCisvKgorKiogZGl2XzJfdTMyX3hfdGllZDE6CisqKglt b3YJKHpbMC05XStcLnMpLCAjMgorKioJdWRpdgl6MFwucywgcDAvbSwgejBc LnMsIFwxCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAoZGl2XzJfdTMy X3hfdGllZDEsIHN2dWludDMyX3QsCisJCXowID0gc3ZkaXZfbl91MzJfeCAo cDAsIHowLCAyKSwKKwkJejAgPSBzdmRpdl94IChwMCwgejAsIDIpKQorCisv KgorKiogZGl2XzJfdTMyX3hfdW50aWVkOgorKioJbW92CXowXC5zLCAjMgor KioJdWRpdnIJejBcLnMsIHAwL20sIHowXC5zLCB6MVwucworKioJcmV0Cisq LworVEVTVF9VTklGT1JNX1ogKGRpdl8yX3UzMl94X3VudGllZCwgc3Z1aW50 MzJfdCwKKwkJejAgPSBzdmRpdl9uX3UzMl94IChwMCwgejEsIDIpLAorCQl6 MCA9IHN2ZGl2X3ggKHAwLCB6MSwgMikpCisKZGlmZiAtLWdpdCBhL2djYy90 ZXN0c3VpdGUvZ2NjLnRhcmdldC9hYXJjaDY0L3N2ZS1hY2xlL2FzbS9kaXZf dTY0LmMgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvYWFyY2g2NC9zdmUt YWNsZS9hc20vZGl2X3U2NC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4 IDAwMDAwMDAuLmQzMjkwNjgKLS0tIC9kZXYvbnVsbAorKysgYi9nY2MvdGVz dHN1aXRlL2djYy50YXJnZXQvYWFyY2g2NC9zdmUtYWNsZS9hc20vZGl2X3U2 NC5jCkBAIC0wLDAgKzEsMjU0IEBACisvKiB7IGRnLWRvIGNvbXBpbGUgfSAq LworLyogeyBkZy1maW5hbCB7IGNoZWNrLWZ1bmN0aW9uLWJvZGllcyAiKioi ICIiICItRENIRUNLX0FTTSIgfSB9ICovCisKKyNpbmNsdWRlICJ0ZXN0X3N2 ZV9hY2xlLmgiCisKKy8qCisqKiBkaXZfdTY0X21fdGllZDE6CisqKgl1ZGl2 CXowXC5kLCBwMC9tLCB6MFwuZCwgejFcLmQKKyoqCXJldAorKi8KK1RFU1Rf VU5JRk9STV9aIChkaXZfdTY0X21fdGllZDEsIHN2dWludDY0X3QsCisJCXow ID0gc3ZkaXZfdTY0X20gKHAwLCB6MCwgejEpLAorCQl6MCA9IHN2ZGl2X20g KHAwLCB6MCwgejEpKQorCisvKiBCYWQgUkEgY2hvaWNlOiBubyBwcmVmZXJy ZWQgb3V0cHV0IHNlcXVlbmNlLiAgKi8KK1RFU1RfVU5JRk9STV9aIChkaXZf dTY0X21fdGllZDIsIHN2dWludDY0X3QsCisJCXoxID0gc3ZkaXZfdTY0X20g KHAwLCB6MCwgejEpLAorCQl6MSA9IHN2ZGl2X20gKHAwLCB6MCwgejEpKQor CisvKgorKiogZGl2X3U2NF9tX3VudGllZDoKKyoqCW1vdnByZngJejAsIHox CisqKgl1ZGl2CXowXC5kLCBwMC9tLCB6MFwuZCwgejJcLmQKKyoqCXJldAor Ki8KK1RFU1RfVU5JRk9STV9aIChkaXZfdTY0X21fdW50aWVkLCBzdnVpbnQ2 NF90LAorCQl6MCA9IHN2ZGl2X3U2NF9tIChwMCwgejEsIHoyKSwKKwkJejAg PSBzdmRpdl9tIChwMCwgejEsIHoyKSkKKworLyoKKyoqIGRpdl94MF91NjRf bV90aWVkMToKKyoqCW1vdgkoelswLTldK1wuZCksIHgwCisqKgl1ZGl2CXow XC5kLCBwMC9tLCB6MFwuZCwgXDEKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9S TV9aUyAoZGl2X3gwX3U2NF9tX3RpZWQxLCBzdnVpbnQ2NF90LCB1aW50NjRf dCwKKwkJIHowID0gc3ZkaXZfbl91NjRfbSAocDAsIHowLCB4MCksCisJCSB6 MCA9IHN2ZGl2X20gKHAwLCB6MCwgeDApKQorCisvKgorKiogZGl2X3gwX3U2 NF9tX3VudGllZDoKKyoqCW1vdgkoelswLTldK1wuZCksIHgwCisqKgltb3Zw cmZ4CXowLCB6MQorKioJdWRpdgl6MFwuZCwgcDAvbSwgejBcLmQsIFwxCisq KglyZXQKKyovCitURVNUX1VOSUZPUk1fWlMgKGRpdl94MF91NjRfbV91bnRp ZWQsIHN2dWludDY0X3QsIHVpbnQ2NF90LAorCQkgejAgPSBzdmRpdl9uX3U2 NF9tIChwMCwgejEsIHgwKSwKKwkJIHowID0gc3ZkaXZfbSAocDAsIHoxLCB4 MCkpCisKKy8qCisqKiBkaXZfZDBfdTY0X21fdGllZDE6CisqKgltb3YJKHpb MC05XStcLmQpLCBkMAorKioJdWRpdgl6MVwuZCwgcDAvbSwgejFcLmQsIFwx CisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWlMgKGRpdl9kMF91NjRfbV90 aWVkMSwgc3Z1aW50NjRfdCwgdWludDY0X3QsCisJCSB6MSA9IHN2ZGl2X25f dTY0X20gKHAwLCB6MSwgZDApLAorCQkgejEgPSBzdmRpdl9tIChwMCwgejEs IGQwKSkKKworLyoKKyoqIGRpdl9kMF91NjRfbV91bnRpZWQ6CisqKgltb3YJ KHpbMC05XStcLmQpLCBkMAorKioJbW92cHJmeAl6MSwgejIKKyoqCXVkaXYJ ejFcLmQsIHAwL20sIHoxXC5kLCBcMQorKioJcmV0CisqLworVEVTVF9VTklG T1JNX1pTIChkaXZfZDBfdTY0X21fdW50aWVkLCBzdnVpbnQ2NF90LCB1aW50 NjRfdCwKKwkJIHoxID0gc3ZkaXZfbl91NjRfbSAocDAsIHoyLCBkMCksCisJ CSB6MSA9IHN2ZGl2X20gKHAwLCB6MiwgZDApKQorCisvKgorKiogZGl2XzJf dTY0X21fdGllZDE6CisqKgltb3YJKHpbMC05XStcLmQpLCAjMgorKioJdWRp dgl6MFwuZCwgcDAvbSwgejBcLmQsIFwxCisqKglyZXQKKyovCitURVNUX1VO SUZPUk1fWiAoZGl2XzJfdTY0X21fdGllZDEsIHN2dWludDY0X3QsCisJCXow ID0gc3ZkaXZfbl91NjRfbSAocDAsIHowLCAyKSwKKwkJejAgPSBzdmRpdl9t IChwMCwgejAsIDIpKQorCisvKgorKiogZGl2XzJfdTY0X21fdW50aWVkOgor KioJbW92CSh6WzAtOV0rXC5kKSwgIzIKKyoqCW1vdnByZngJejAsIHoxCisq Kgl1ZGl2CXowXC5kLCBwMC9tLCB6MFwuZCwgXDEKKyoqCXJldAorKi8KK1RF U1RfVU5JRk9STV9aIChkaXZfMl91NjRfbV91bnRpZWQsIHN2dWludDY0X3Qs CisJCXowID0gc3ZkaXZfbl91NjRfbSAocDAsIHoxLCAyKSwKKwkJejAgPSBz dmRpdl9tIChwMCwgejEsIDIpKQorCisvKgorKiogZGl2X3U2NF96X3RpZWQx OgorKioJbW92cHJmeAl6MFwuZCwgcDAveiwgejBcLmQKKyoqCXVkaXYJejBc LmQsIHAwL20sIHowXC5kLCB6MVwuZAorKioJcmV0CisqLworVEVTVF9VTklG T1JNX1ogKGRpdl91NjRfel90aWVkMSwgc3Z1aW50NjRfdCwKKwkJejAgPSBz dmRpdl91NjRfeiAocDAsIHowLCB6MSksCisJCXowID0gc3ZkaXZfeiAocDAs IHowLCB6MSkpCisKKy8qCisqKiBkaXZfdTY0X3pfdGllZDI6CisqKgltb3Zw cmZ4CXoxXC5kLCBwMC96LCB6MVwuZAorKioJdWRpdnIJejFcLmQsIHAwL20s IHoxXC5kLCB6MFwuZAorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKGRp dl91NjRfel90aWVkMiwgc3Z1aW50NjRfdCwKKwkJejEgPSBzdmRpdl91NjRf eiAocDAsIHowLCB6MSksCisJCXoxID0gc3ZkaXZfeiAocDAsIHowLCB6MSkp CisKKy8qCisqKiBkaXZfdTY0X3pfdW50aWVkOgorKioJbW92cHJmeAl6MFwu ZCwgcDAveiwgejFcLmQKKyoqCXVkaXYJejBcLmQsIHAwL20sIHowXC5kLCB6 MlwuZAorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKGRpdl91NjRfel91 bnRpZWQsIHN2dWludDY0X3QsCisJCXowID0gc3ZkaXZfdTY0X3ogKHAwLCB6 MSwgejIpLAorCQl6MCA9IHN2ZGl2X3ogKHAwLCB6MSwgejIpKQorCisvKgor KiogZGl2X3gwX3U2NF96X3RpZWQxOgorKioJbW92CSh6WzAtOV0rXC5kKSwg eDAKKyoqCW1vdnByZngJejBcLmQsIHAwL3osIHowXC5kCisqKgl1ZGl2CXow XC5kLCBwMC9tLCB6MFwuZCwgXDEKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9S TV9aUyAoZGl2X3gwX3U2NF96X3RpZWQxLCBzdnVpbnQ2NF90LCB1aW50NjRf dCwKKwkJIHowID0gc3ZkaXZfbl91NjRfeiAocDAsIHowLCB4MCksCisJCSB6 MCA9IHN2ZGl2X3ogKHAwLCB6MCwgeDApKQorCisvKgorKiogZGl2X3gwX3U2 NF96X3VudGllZDoKKyoqCW1vdgkoelswLTldK1wuZCksIHgwCisqKgltb3Zw cmZ4CXowXC5kLCBwMC96LCB6MVwuZAorKioJdWRpdgl6MFwuZCwgcDAvbSwg ejBcLmQsIFwxCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWlMgKGRpdl94 MF91NjRfel91bnRpZWQsIHN2dWludDY0X3QsIHVpbnQ2NF90LAorCQkgejAg PSBzdmRpdl9uX3U2NF96IChwMCwgejEsIHgwKSwKKwkJIHowID0gc3ZkaXZf eiAocDAsIHoxLCB4MCkpCisKKy8qCisqKiBkaXZfZDBfdTY0X3pfdGllZDE6 CisqKgltb3YJKHpbMC05XStcLmQpLCBkMAorKioJbW92cHJmeAl6MVwuZCwg cDAveiwgejFcLmQKKyoqCXVkaXYJejFcLmQsIHAwL20sIHoxXC5kLCBcMQor KioJcmV0CisqLworVEVTVF9VTklGT1JNX1pTIChkaXZfZDBfdTY0X3pfdGll ZDEsIHN2dWludDY0X3QsIHVpbnQ2NF90LAorCQkgejEgPSBzdmRpdl9uX3U2 NF96IChwMCwgejEsIGQwKSwKKwkJIHoxID0gc3ZkaXZfeiAocDAsIHoxLCBk MCkpCisKKy8qCisqKiBkaXZfZDBfdTY0X3pfdW50aWVkOgorKioJbW92CSh6 WzAtOV0rXC5kKSwgZDAKKyoqCW1vdnByZngJejFcLmQsIHAwL3osIHoyXC5k CisqKgl1ZGl2CXoxXC5kLCBwMC9tLCB6MVwuZCwgXDEKKyoqCXJldAorKi8K K1RFU1RfVU5JRk9STV9aUyAoZGl2X2QwX3U2NF96X3VudGllZCwgc3Z1aW50 NjRfdCwgdWludDY0X3QsCisJCSB6MSA9IHN2ZGl2X25fdTY0X3ogKHAwLCB6 MiwgZDApLAorCQkgejEgPSBzdmRpdl96IChwMCwgejIsIGQwKSkKKworLyoK KyoqIGRpdl91NjRfeF90aWVkMToKKyoqCXVkaXYJejBcLmQsIHAwL20sIHow XC5kLCB6MVwuZAorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKGRpdl91 NjRfeF90aWVkMSwgc3Z1aW50NjRfdCwKKwkJejAgPSBzdmRpdl91NjRfeCAo cDAsIHowLCB6MSksCisJCXowID0gc3ZkaXZfeCAocDAsIHowLCB6MSkpCisK Ky8qCisqKiBkaXZfdTY0X3hfdGllZDI6CisqKgl1ZGl2cgl6MVwuZCwgcDAv bSwgejFcLmQsIHowXC5kCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAo ZGl2X3U2NF94X3RpZWQyLCBzdnVpbnQ2NF90LAorCQl6MSA9IHN2ZGl2X3U2 NF94IChwMCwgejAsIHoxKSwKKwkJejEgPSBzdmRpdl94IChwMCwgejAsIHox KSkKKworLyoKKyoqIGRpdl91NjRfeF91bnRpZWQ6CisqKgltb3ZwcmZ4CXoy LCB6MAorKioJdWRpdgl6MlwuZCwgcDAvbSwgejJcLmQsIHoxXC5kCisqKgly ZXQKKyovCitURVNUX1VOSUZPUk1fWiAoZGl2X3U2NF94X3VudGllZCwgc3Z1 aW50NjRfdCwKKwkJejIgPSBzdmRpdl91NjRfeCAocDAsIHowLCB6MSksCisJ CXoyID0gc3ZkaXZfeCAocDAsIHowLCB6MSkpCisKKy8qCisqKiBkaXZfeDBf dTY0X3hfdGllZDE6CisqKgltb3YJKHpbMC05XStcLmQpLCB4MAorKioJdWRp dgl6MFwuZCwgcDAvbSwgejBcLmQsIFwxCisqKglyZXQKKyovCitURVNUX1VO SUZPUk1fWlMgKGRpdl94MF91NjRfeF90aWVkMSwgc3Z1aW50NjRfdCwgdWlu dDY0X3QsCisJCSB6MCA9IHN2ZGl2X25fdTY0X3ggKHAwLCB6MCwgeDApLAor CQkgejAgPSBzdmRpdl94IChwMCwgejAsIHgwKSkKKworLyoKKyoqIGRpdl94 MF91NjRfeF91bnRpZWQ6CisqKgltb3YJejFcLmQsIHgwCisqKgl1ZGl2cgl6 MVwuZCwgcDAvbSwgejFcLmQsIHowXC5kCisqKglyZXQKKyovCitURVNUX1VO SUZPUk1fWlMgKGRpdl94MF91NjRfeF91bnRpZWQsIHN2dWludDY0X3QsIHVp bnQ2NF90LAorCQkgejEgPSBzdmRpdl9uX3U2NF94IChwMCwgejAsIHgwKSwK KwkJIHoxID0gc3ZkaXZfeCAocDAsIHowLCB4MCkpCisKKy8qCisqKiBkaXZf ZDBfdTY0X3hfdGllZDE6CisqKgltb3YJKHpbMC05XStcLmQpLCBkMAorKioJ dWRpdgl6MVwuZCwgcDAvbSwgejFcLmQsIFwxCisqKglyZXQKKyovCitURVNU X1VOSUZPUk1fWlMgKGRpdl9kMF91NjRfeF90aWVkMSwgc3Z1aW50NjRfdCwg dWludDY0X3QsCisJCSB6MSA9IHN2ZGl2X25fdTY0X3ggKHAwLCB6MSwgZDAp LAorCQkgejEgPSBzdmRpdl94IChwMCwgejEsIGQwKSkKKworLyoKKyoqIGRp dl9kMF91NjRfeF91bnRpZWQ6CisqKgltb3YJejJcLmQsIGQwCisqKgl1ZGl2 cgl6MlwuZCwgcDAvbSwgejJcLmQsIHoxXC5kCisqKglyZXQKKyovCitURVNU X1VOSUZPUk1fWlMgKGRpdl9kMF91NjRfeF91bnRpZWQsIHN2dWludDY0X3Qs IHVpbnQ2NF90LAorCQkgejIgPSBzdmRpdl9uX3U2NF94IChwMCwgejEsIGQw KSwKKwkJIHoyID0gc3ZkaXZfeCAocDAsIHoxLCBkMCkpCisKKy8qCisqKiBk aXZfMl91NjRfeF90aWVkMToKKyoqCW1vdgkoelswLTldK1wuZCksICMyCisq Kgl1ZGl2CXowXC5kLCBwMC9tLCB6MFwuZCwgXDEKKyoqCXJldAorKi8KK1RF U1RfVU5JRk9STV9aIChkaXZfMl91NjRfeF90aWVkMSwgc3Z1aW50NjRfdCwK KwkJejAgPSBzdmRpdl9uX3U2NF94IChwMCwgejAsIDIpLAorCQl6MCA9IHN2 ZGl2X3ggKHAwLCB6MCwgMikpCisKKy8qCisqKiBkaXZfMl91NjRfeF91bnRp ZWQ6CisqKgltb3YJejBcLmQsICMyCisqKgl1ZGl2cgl6MFwuZCwgcDAvbSwg ejBcLmQsIHoxXC5kCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAoZGl2 XzJfdTY0X3hfdW50aWVkLCBzdnVpbnQ2NF90LAorCQl6MCA9IHN2ZGl2X25f dTY0X3ggKHAwLCB6MSwgMiksCisJCXowID0gc3ZkaXZfeCAocDAsIHoxLCAy KSkKKwpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2Fh cmNoNjQvc3ZlLWFjbGUvYXNtL2RpdnJfZjE2LmMgYi9nY2MvdGVzdHN1aXRl L2djYy50YXJnZXQvYWFyY2g2NC9zdmUtYWNsZS9hc20vZGl2cl9mMTYuYwpu ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iZDAxNTY0Ci0t LSAvZGV2L251bGwKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2Fh cmNoNjQvc3ZlLWFjbGUvYXNtL2RpdnJfZjE2LmMKQEAgLTAsMCArMSw0MjUg QEAKKy8qIHsgZGctZG8gY29tcGlsZSB9ICovCisvKiB7IGRnLWZpbmFsIHsg Y2hlY2stZnVuY3Rpb24tYm9kaWVzICIqKiIgIiIgIi1EQ0hFQ0tfQVNNIiB9 IH0gKi8KKworI2luY2x1ZGUgInRlc3Rfc3ZlX2FjbGUuaCIKKworLyoKKyoq IGRpdnJfZjE2X21fdGllZDE6CisqKglmZGl2cgl6MFwuaCwgcDAvbSwgejBc LmgsIHoxXC5oCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAoZGl2cl9m MTZfbV90aWVkMSwgc3ZmbG9hdDE2X3QsCisJCXowID0gc3ZkaXZyX2YxNl9t IChwMCwgejAsIHoxKSwKKwkJejAgPSBzdmRpdnJfbSAocDAsIHowLCB6MSkp CisKKy8qIEJhZCBSQSBjaG9pY2U6IG5vIHByZWZlcnJlZCBvdXRwdXQgc2Vx dWVuY2UuICAqLworVEVTVF9VTklGT1JNX1ogKGRpdnJfZjE2X21fdGllZDIs IHN2ZmxvYXQxNl90LAorCQl6MSA9IHN2ZGl2cl9mMTZfbSAocDAsIHowLCB6 MSksCisJCXoxID0gc3ZkaXZyX20gKHAwLCB6MCwgejEpKQorCisvKgorKiog ZGl2cl9mMTZfbV91bnRpZWQ6CisqKgltb3ZwcmZ4CXowLCB6MQorKioJZmRp dnIJejBcLmgsIHAwL20sIHowXC5oLCB6MlwuaAorKioJcmV0CisqLworVEVT VF9VTklGT1JNX1ogKGRpdnJfZjE2X21fdW50aWVkLCBzdmZsb2F0MTZfdCwK KwkJejAgPSBzdmRpdnJfZjE2X20gKHAwLCB6MSwgejIpLAorCQl6MCA9IHN2 ZGl2cl9tIChwMCwgejEsIHoyKSkKKworLyoKKyoqIGRpdnJfdzBfZjE2X21f dGllZDE6CisqKgltb3YJKHpbMC05XStcLmgpLCB3MAorKioJZmRpdnIJejBc LmgsIHAwL20sIHowXC5oLCBcMQorKioJcmV0CisqLworVEVTVF9VTklGT1JN X1pTIChkaXZyX3cwX2YxNl9tX3RpZWQxLCBzdmZsb2F0MTZfdCwgX19mcDE2 LAorCQkgejAgPSBzdmRpdnJfbl9mMTZfbSAocDAsIHowLCB4MCksCisJCSB6 MCA9IHN2ZGl2cl9tIChwMCwgejAsIHgwKSkKKworLyoKKyoqIGRpdnJfdzBf ZjE2X21fdW50aWVkOgorKioJbW92CSh6WzAtOV0rXC5oKSwgdzAKKyoqCW1v dnByZngJejAsIHoxCisqKglmZGl2cgl6MFwuaCwgcDAvbSwgejBcLmgsIFwx CisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWlMgKGRpdnJfdzBfZjE2X21f dW50aWVkLCBzdmZsb2F0MTZfdCwgX19mcDE2LAorCQkgejAgPSBzdmRpdnJf bl9mMTZfbSAocDAsIHoxLCB4MCksCisJCSB6MCA9IHN2ZGl2cl9tIChwMCwg ejEsIHgwKSkKKworLyoKKyoqIGRpdnJfaDBfZjE2X21fdGllZDE6CisqKglt b3YJKHpbMC05XStcLmgpLCBoMAorKioJZmRpdnIJejFcLmgsIHAwL20sIHox XC5oLCBcMQorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1pTIChkaXZyX2gw X2YxNl9tX3RpZWQxLCBzdmZsb2F0MTZfdCwgX19mcDE2LAorCQkgejEgPSBz dmRpdnJfbl9mMTZfbSAocDAsIHoxLCBkMCksCisJCSB6MSA9IHN2ZGl2cl9t IChwMCwgejEsIGQwKSkKKworLyoKKyoqIGRpdnJfaDBfZjE2X21fdW50aWVk OgorKioJbW92CSh6WzAtOV0rXC5oKSwgaDAKKyoqCW1vdnByZngJejEsIHoy CisqKglmZGl2cgl6MVwuaCwgcDAvbSwgejFcLmgsIFwxCisqKglyZXQKKyov CitURVNUX1VOSUZPUk1fWlMgKGRpdnJfaDBfZjE2X21fdW50aWVkLCBzdmZs b2F0MTZfdCwgX19mcDE2LAorCQkgejEgPSBzdmRpdnJfbl9mMTZfbSAocDAs IHoyLCBkMCksCisJCSB6MSA9IHN2ZGl2cl9tIChwMCwgejIsIGQwKSkKKwor LyoKKyoqIGRpdnJfMV9mMTZfbV90aWVkMToKKyoqCWZtb3YJKHpbMC05XStc LmgpLCAjMS4wKGVcKzApPworKioJZmRpdnIJejBcLmgsIHAwL20sIHowXC5o LCBcMQorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKGRpdnJfMV9mMTZf bV90aWVkMSwgc3ZmbG9hdDE2X3QsCisJCXowID0gc3ZkaXZyX25fZjE2X20g KHAwLCB6MCwgMSksCisJCXowID0gc3ZkaXZyX20gKHAwLCB6MCwgMSkpCisK Ky8qCisqKiBkaXZyXzFfZjE2X21fdW50aWVkOgorKioJZm1vdgkoelswLTld K1wuaCksICMxLjAoZVwrMCk/CisqKgltb3ZwcmZ4CXowLCB6MQorKioJZmRp dnIJejBcLmgsIHAwL20sIHowXC5oLCBcMQorKioJcmV0CisqLworVEVTVF9V TklGT1JNX1ogKGRpdnJfMV9mMTZfbV91bnRpZWQsIHN2ZmxvYXQxNl90LAor CQl6MCA9IHN2ZGl2cl9uX2YxNl9tIChwMCwgejEsIDEpLAorCQl6MCA9IHN2 ZGl2cl9tIChwMCwgejEsIDEpKQorCisvKgorKiogZGl2cl8wcDVfZjE2X21f dGllZDE6CisqKglmbW92CSh6WzAtOV0rXC5oKSwgIzUuMChlXC0xKT8KKyoq CWZkaXZyCXowXC5oLCBwMC9tLCB6MFwuaCwgXDEKKyoqCXJldAorKi8KK1RF U1RfVU5JRk9STV9aIChkaXZyXzBwNV9mMTZfbV90aWVkMSwgc3ZmbG9hdDE2 X3QsCisJCXowID0gc3ZkaXZyX25fZjE2X20gKHAwLCB6MCwgMC41KSwKKwkJ ejAgPSBzdmRpdnJfbSAocDAsIHowLCAwLjUpKQorCisvKgorKiogZGl2cl8w cDVfZjE2X21fdW50aWVkOgorKioJZm1vdgkoelswLTldK1wuaCksICM1LjAo ZVwtMSk/CisqKgltb3ZwcmZ4CXowLCB6MQorKioJZmRpdnIJejBcLmgsIHAw L20sIHowXC5oLCBcMQorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKGRp dnJfMHA1X2YxNl9tX3VudGllZCwgc3ZmbG9hdDE2X3QsCisJCXowID0gc3Zk aXZyX25fZjE2X20gKHAwLCB6MSwgMC41KSwKKwkJejAgPSBzdmRpdnJfbSAo cDAsIHoxLCAwLjUpKQorCisKKy8qCisqKiBkaXZyX2YxNl96X3RpZWQxOgor KioJbW92cHJmeAl6MFwuaCwgcDAveiwgejBcLmgKKyoqCWZkaXZyCXowXC5o LCBwMC9tLCB6MFwuaCwgejFcLmgKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9S TV9aIChkaXZyX2YxNl96X3RpZWQxLCBzdmZsb2F0MTZfdCwKKwkJejAgPSBz dmRpdnJfZjE2X3ogKHAwLCB6MCwgejEpLAorCQl6MCA9IHN2ZGl2cl96IChw MCwgejAsIHoxKSkKKworLyoKKyoqIGRpdnJfZjE2X3pfdGllZDI6CisqKglt b3ZwcmZ4CXoxXC5oLCBwMC96LCB6MVwuaAorKioJZmRpdgl6MVwuaCwgcDAv bSwgejFcLmgsIHowXC5oCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAo ZGl2cl9mMTZfel90aWVkMiwgc3ZmbG9hdDE2X3QsCisJCXoxID0gc3ZkaXZy X2YxNl96IChwMCwgejAsIHoxKSwKKwkJejEgPSBzdmRpdnJfeiAocDAsIHow LCB6MSkpCisKKy8qCisqKiBkaXZyX2YxNl96X3VudGllZDoKKyoqCW1vdnBy ZngJejBcLmgsIHAwL3osIHoyXC5oCisqKglmZGl2CXowXC5oLCBwMC9tLCB6 MFwuaCwgejFcLmgKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChkaXZy X2YxNl96X3VudGllZCwgc3ZmbG9hdDE2X3QsCisJCXowID0gc3ZkaXZyX2Yx Nl96IChwMCwgejEsIHoyKSwKKwkJejAgPSBzdmRpdnJfeiAocDAsIHoxLCB6 MikpCisKKy8qCisqKiBkaXZyX3cwX2YxNl96X3RpZWQxOgorKioJbW92CSh6 WzAtOV0rXC5oKSwgdzAKKyoqCW1vdnByZngJejBcLmgsIHAwL3osIHowXC5o CisqKglmZGl2cgl6MFwuaCwgcDAvbSwgejBcLmgsIFwxCisqKglyZXQKKyov CitURVNUX1VOSUZPUk1fWlMgKGRpdnJfdzBfZjE2X3pfdGllZDEsIHN2Zmxv YXQxNl90LCBfX2ZwMTYsCisJCSB6MCA9IHN2ZGl2cl9uX2YxNl96IChwMCwg ejAsIHgwKSwKKwkJIHowID0gc3ZkaXZyX3ogKHAwLCB6MCwgeDApKQorCisv KgorKiogZGl2cl93MF9mMTZfel91bnRpZWQ6CisqKgltb3YJKHpbMC05XStc LmgpLCB3MAorKioJbW92cHJmeAl6MFwuaCwgcDAveiwgXDEKKyoqCWZkaXYJ ejBcLmgsIHAwL20sIHowXC5oLCB6MVwuaAorKioJcmV0CisqLworVEVTVF9V TklGT1JNX1pTIChkaXZyX3cwX2YxNl96X3VudGllZCwgc3ZmbG9hdDE2X3Qs IF9fZnAxNiwKKwkJIHowID0gc3ZkaXZyX25fZjE2X3ogKHAwLCB6MSwgeDAp LAorCQkgejAgPSBzdmRpdnJfeiAocDAsIHoxLCB4MCkpCisKKy8qCisqKiBk aXZyX2gwX2YxNl96X3RpZWQxOgorKioJbW92CSh6WzAtOV0rXC5oKSwgaDAK KyoqCW1vdnByZngJejFcLmgsIHAwL3osIHoxXC5oCisqKglmZGl2cgl6MVwu aCwgcDAvbSwgejFcLmgsIFwxCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1f WlMgKGRpdnJfaDBfZjE2X3pfdGllZDEsIHN2ZmxvYXQxNl90LCBfX2ZwMTYs CisJCSB6MSA9IHN2ZGl2cl9uX2YxNl96IChwMCwgejEsIGQwKSwKKwkJIHox ID0gc3ZkaXZyX3ogKHAwLCB6MSwgZDApKQorCisvKgorKiogZGl2cl9oMF9m MTZfel91bnRpZWQ6CisqKgltb3YJKHpbMC05XStcLmgpLCBoMAorKioJbW92 cHJmeAl6MVwuaCwgcDAveiwgXDEKKyoqCWZkaXYJejFcLmgsIHAwL20sIHox XC5oLCB6MlwuaAorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1pTIChkaXZy X2gwX2YxNl96X3VudGllZCwgc3ZmbG9hdDE2X3QsIF9fZnAxNiwKKwkJIHox ID0gc3ZkaXZyX25fZjE2X3ogKHAwLCB6MiwgZDApLAorCQkgejEgPSBzdmRp dnJfeiAocDAsIHoyLCBkMCkpCisKKy8qCisqKiBkaXZyXzFfZjE2X3pfdGll ZDE6CisqKglmbW92CSh6WzAtOV0rXC5oKSwgIzEuMChlXCswKT8KKyoqCW1v dnByZngJejBcLmgsIHAwL3osIHowXC5oCisqKglmZGl2cgl6MFwuaCwgcDAv bSwgejBcLmgsIFwxCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAoZGl2 cl8xX2YxNl96X3RpZWQxLCBzdmZsb2F0MTZfdCwKKwkJejAgPSBzdmRpdnJf bl9mMTZfeiAocDAsIHowLCAxKSwKKwkJejAgPSBzdmRpdnJfeiAocDAsIHow LCAxKSkKKworLyoKKyoqIGRpdnJfMHA1X2YxNl96X3RpZWQxOgorKioJZm1v dgkoelswLTldK1wuaCksICM1LjAoZVwtMSk/CisqKgltb3ZwcmZ4CXowXC5o LCBwMC96LCB6MFwuaAorKioJZmRpdnIJejBcLmgsIHAwL20sIHowXC5oLCBc MQorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKGRpdnJfMHA1X2YxNl96 X3RpZWQxLCBzdmZsb2F0MTZfdCwKKwkJejAgPSBzdmRpdnJfbl9mMTZfeiAo cDAsIHowLCAwLjUpLAorCQl6MCA9IHN2ZGl2cl96IChwMCwgejAsIDAuNSkp CisKKy8qCisqKiBkaXZyXzBwNV9mMTZfel91bnRpZWQ6CisqKglmbW92CSh6 WzAtOV0rXC5oKSwgIzUuMChlXC0xKT8KKyoqCW1vdnByZngJejBcLmgsIHAw L3osIFwxCisqKglmZGl2CXowXC5oLCBwMC9tLCB6MFwuaCwgejFcLmgKKyoq CXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChkaXZyXzBwNV9mMTZfel91bnRp ZWQsIHN2ZmxvYXQxNl90LAorCQl6MCA9IHN2ZGl2cl9uX2YxNl96IChwMCwg ejEsIDAuNSksCisJCXowID0gc3ZkaXZyX3ogKHAwLCB6MSwgMC41KSkKKwor LyoKKyoqIGRpdnJfZjE2X3hfdGllZDE6CisqKglmZGl2cgl6MFwuaCwgcDAv bSwgejBcLmgsIHoxXC5oCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAo ZGl2cl9mMTZfeF90aWVkMSwgc3ZmbG9hdDE2X3QsCisJCXowID0gc3ZkaXZy X2YxNl94IChwMCwgejAsIHoxKSwKKwkJejAgPSBzdmRpdnJfeCAocDAsIHow LCB6MSkpCisKKy8qCisqKiBkaXZyX2YxNl94X3RpZWQyOgorKioJZmRpdgl6 MVwuaCwgcDAvbSwgejFcLmgsIHowXC5oCisqKglyZXQKKyovCitURVNUX1VO SUZPUk1fWiAoZGl2cl9mMTZfeF90aWVkMiwgc3ZmbG9hdDE2X3QsCisJCXox ID0gc3ZkaXZyX2YxNl94IChwMCwgejAsIHoxKSwKKwkJejEgPSBzdmRpdnJf eCAocDAsIHowLCB6MSkpCisKKy8qCisqKiBkaXZyX2YxNl94X3VudGllZDoK KyoqCW1vdnByZngJejIsIHoxCisqKglmZGl2CXoyXC5oLCBwMC9tLCB6Mlwu aCwgejBcLmgKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChkaXZyX2Yx Nl94X3VudGllZCwgc3ZmbG9hdDE2X3QsCisJCXoyID0gc3ZkaXZyX2YxNl94 IChwMCwgejAsIHoxKSwKKwkJejIgPSBzdmRpdnJfeCAocDAsIHowLCB6MSkp CisKKy8qCisqKiBkaXZyX3cwX2YxNl94X3RpZWQxOgorKioJbW92CSh6WzAt OV0rXC5oKSwgdzAKKyoqCWZkaXZyCXowXC5oLCBwMC9tLCB6MFwuaCwgXDEK KyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aUyAoZGl2cl93MF9mMTZfeF90 aWVkMSwgc3ZmbG9hdDE2X3QsIF9fZnAxNiwKKwkJIHowID0gc3ZkaXZyX25f ZjE2X3ggKHAwLCB6MCwgeDApLAorCQkgejAgPSBzdmRpdnJfeCAocDAsIHow LCB4MCkpCisKKy8qCisqKiBkaXZyX3cwX2YxNl94X3VudGllZDoKKyoqCW1v dgl6MVwuaCwgdzAKKyoqCWZkaXYJejFcLmgsIHAwL20sIHoxXC5oLCB6MFwu aAorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1pTIChkaXZyX3cwX2YxNl94 X3VudGllZCwgc3ZmbG9hdDE2X3QsIF9fZnAxNiwKKwkJIHoxID0gc3ZkaXZy X25fZjE2X3ggKHAwLCB6MCwgeDApLAorCQkgejEgPSBzdmRpdnJfeCAocDAs IHowLCB4MCkpCisKKy8qCisqKiBkaXZyX2gwX2YxNl94X3RpZWQxOgorKioJ bW92CSh6WzAtOV0rXC5oKSwgaDAKKyoqCWZkaXZyCXoxXC5oLCBwMC9tLCB6 MVwuaCwgXDEKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aUyAoZGl2cl9o MF9mMTZfeF90aWVkMSwgc3ZmbG9hdDE2X3QsIF9fZnAxNiwKKwkJIHoxID0g c3ZkaXZyX25fZjE2X3ggKHAwLCB6MSwgZDApLAorCQkgejEgPSBzdmRpdnJf eCAocDAsIHoxLCBkMCkpCisKKy8qCisqKiBkaXZyX2gwX2YxNl94X3VudGll ZDoKKyoqCW1vdgl6MlwuaCwgaDAKKyoqCWZkaXYJejJcLmgsIHAwL20sIHoy XC5oLCB6MVwuaAorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1pTIChkaXZy X2gwX2YxNl94X3VudGllZCwgc3ZmbG9hdDE2X3QsIF9fZnAxNiwKKwkJIHoy ID0gc3ZkaXZyX25fZjE2X3ggKHAwLCB6MSwgZDApLAorCQkgejIgPSBzdmRp dnJfeCAocDAsIHoxLCBkMCkpCisKKy8qCisqKiBkaXZyXzFfZjE2X3hfdGll ZDE6CisqKglmbW92CSh6WzAtOV0rXC5oKSwgIzFcLjAoZVwrMCk/CisqKglm ZGl2cgl6MFwuaCwgcDAvbSwgejBcLmgsIFwxCisqKglyZXQKKyovCitURVNU X1VOSUZPUk1fWiAoZGl2cl8xX2YxNl94X3RpZWQxLCBzdmZsb2F0MTZfdCwK KwkJejAgPSBzdmRpdnJfbl9mMTZfeCAocDAsIHowLCAxKSwKKwkJejAgPSBz dmRpdnJfeCAocDAsIHowLCAxKSkKKworLyoKKyoqIGRpdnJfMV9mMTZfeF91 bnRpZWQ6CisqKglmbW92CXowXC5oLCAjMVwuMChlXCswKT8KKyoqCWZkaXYJ ejBcLmgsIHAwL20sIHowXC5oLCB6MVwuaAorKioJcmV0CisqLworVEVTVF9V TklGT1JNX1ogKGRpdnJfMV9mMTZfeF91bnRpZWQsIHN2ZmxvYXQxNl90LAor CQl6MCA9IHN2ZGl2cl9uX2YxNl94IChwMCwgejEsIDEpLAorCQl6MCA9IHN2 ZGl2cl94IChwMCwgejEsIDEpKQorCisvKgorKiogcHRydWVfZGl2cl9mMTZf eF90aWVkMToKKyoqCXB0cnVlCShwWzAtN10pXC5oW15cbl0qCisqKglmZGl2 cgl6MFwuaCwgXDEvbSwgejBcLmgsIHoxXC5oCisqKglyZXQKKyovCitURVNU X1VOSUZPUk1fWiAocHRydWVfZGl2cl9mMTZfeF90aWVkMSwgc3ZmbG9hdDE2 X3QsCisJCXowID0gc3ZkaXZyX2YxNl94IChzdnB0cnVlX2IxNiAoKSwgejAs IHoxKSwKKwkJejAgPSBzdmRpdnJfeCAoc3ZwdHJ1ZV9iMTYgKCksIHowLCB6 MSkpCisKKy8qCisqKiBwdHJ1ZV9kaXZyX2YxNl94X3RpZWQyOgorKioJcHRy dWUJKHBbMC03XSlcLmhbXlxuXSoKKyoqCWZkaXYJejFcLmgsIFwxL20sIHox XC5oLCB6MFwuaAorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKHB0cnVl X2RpdnJfZjE2X3hfdGllZDIsIHN2ZmxvYXQxNl90LAorCQl6MSA9IHN2ZGl2 cl9mMTZfeCAoc3ZwdHJ1ZV9iMTYgKCksIHowLCB6MSksCisJCXoxID0gc3Zk aXZyX3ggKHN2cHRydWVfYjE2ICgpLCB6MCwgejEpKQorCisvKgorKiogcHRy dWVfZGl2cl9mMTZfeF91bnRpZWQ6CisqKglwdHJ1ZQkocFswLTddKVwuaFte XG5dKgorKioJbW92cHJmeAl6MiwgejEKKyoqCWZkaXYJejJcLmgsIFwxL20s IHoyXC5oLCB6MFwuaAorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKHB0 cnVlX2RpdnJfZjE2X3hfdW50aWVkLCBzdmZsb2F0MTZfdCwKKwkJejIgPSBz dmRpdnJfZjE2X3ggKHN2cHRydWVfYjE2ICgpLCB6MCwgejEpLAorCQl6MiA9 IHN2ZGl2cl94IChzdnB0cnVlX2IxNiAoKSwgejAsIHoxKSkKKworLyoKKyoq IHB0cnVlX2RpdnJfdzBfZjE2X3hfdGllZDE6CisqKglwdHJ1ZQkocFswLTdd KVwuaFteXG5dKgorKioJbW92CSh6WzAtOV0rXC5oKSwgdzAKKyoqCWZkaXZy CXowXC5oLCBcMS9tLCB6MFwuaCwgXDIKKyoqCXJldAorKi8KK1RFU1RfVU5J Rk9STV9aUyAocHRydWVfZGl2cl93MF9mMTZfeF90aWVkMSwgc3ZmbG9hdDE2 X3QsIF9fZnAxNiwKKwkJIHowID0gc3ZkaXZyX25fZjE2X3ggKHN2cHRydWVf YjE2ICgpLCB6MCwgeDApLAorCQkgejAgPSBzdmRpdnJfeCAoc3ZwdHJ1ZV9i MTYgKCksIHowLCB4MCkpCisKKy8qCisqKiBwdHJ1ZV9kaXZyX3cwX2YxNl94 X3VudGllZDoKKyoqCXB0cnVlCShwWzAtN10pXC5oW15cbl0qCisqKgltb3YJ ejFcLmgsIHcwCisqKglmZGl2CXoxXC5oLCBcMS9tLCB6MVwuaCwgejBcLmgK KyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aUyAocHRydWVfZGl2cl93MF9m MTZfeF91bnRpZWQsIHN2ZmxvYXQxNl90LCBfX2ZwMTYsCisJCSB6MSA9IHN2 ZGl2cl9uX2YxNl94IChzdnB0cnVlX2IxNiAoKSwgejAsIHgwKSwKKwkJIHox ID0gc3ZkaXZyX3ggKHN2cHRydWVfYjE2ICgpLCB6MCwgeDApKQorCisvKgor KiogcHRydWVfZGl2cl9oMF9mMTZfeF90aWVkMToKKyoqCXB0cnVlCShwWzAt N10pXC5oW15cbl0qCisqKgltb3YJKHpbMC05XStcLmgpLCBoMAorKioJZmRp dnIJejFcLmgsIFwxL20sIHoxXC5oLCBcMgorKioJcmV0CisqLworVEVTVF9V TklGT1JNX1pTIChwdHJ1ZV9kaXZyX2gwX2YxNl94X3RpZWQxLCBzdmZsb2F0 MTZfdCwgX19mcDE2LAorCQkgejEgPSBzdmRpdnJfbl9mMTZfeCAoc3ZwdHJ1 ZV9iMTYgKCksIHoxLCBkMCksCisJCSB6MSA9IHN2ZGl2cl94IChzdnB0cnVl X2IxNiAoKSwgejEsIGQwKSkKKworLyoKKyoqIHB0cnVlX2RpdnJfaDBfZjE2 X3hfdW50aWVkOgorKioJcHRydWUJKHBbMC03XSlcLmhbXlxuXSoKKyoqCW1v dgl6MlwuaCwgaDAKKyoqCWZkaXYJejJcLmgsIFwxL20sIHoyXC5oLCB6MVwu aAorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1pTIChwdHJ1ZV9kaXZyX2gw X2YxNl94X3VudGllZCwgc3ZmbG9hdDE2X3QsIF9fZnAxNiwKKwkJIHoyID0g c3ZkaXZyX25fZjE2X3ggKHN2cHRydWVfYjE2ICgpLCB6MSwgZDApLAorCQkg ejIgPSBzdmRpdnJfeCAoc3ZwdHJ1ZV9iMTYgKCksIHoxLCBkMCkpCisKKy8q CisqKiBwdHJ1ZV9kaXZyXzFfZjE2X3hfdW50aWVkOgorKioJcHRydWUJKHBb MC03XSlcLmhbXlxuXSoKKyoqCWZtb3YJejBcLmgsICMxLjAoZVwrMCk/Cisq KglmZGl2CXowXC5oLCBcMS9tLCB6MFwuaCwgejFcLmgKKyoqCXJldAorKi8K K1RFU1RfVU5JRk9STV9aIChwdHJ1ZV9kaXZyXzFfZjE2X3hfdW50aWVkLCBz dmZsb2F0MTZfdCwKKwkJejAgPSBzdmRpdnJfbl9mMTZfeCAoc3ZwdHJ1ZV9i MTYgKCksIHoxLCAxKSwKKwkJejAgPSBzdmRpdnJfeCAoc3ZwdHJ1ZV9iMTYg KCksIHoxLCAxKSkKKworLyoKKyoqIHB0cnVlX2I4X2RpdnJfZjE2X3hfdGll ZDE6CisqKglwdHJ1ZQkocFswLTddKVwuaFteXG5dKgorKioJZmRpdnIJejBc LmgsIFwxL20sIHowXC5oLCB6MVwuaAorKioJcmV0CisqLworVEVTVF9VTklG T1JNX1ogKHB0cnVlX2I4X2RpdnJfZjE2X3hfdGllZDEsIHN2ZmxvYXQxNl90 LAorCQl6MCA9IHN2ZGl2cl9mMTZfeCAoc3ZwdHJ1ZV9iOCAoKSwgejAsIHox KSwKKwkJejAgPSBzdmRpdnJfeCAoc3ZwdHJ1ZV9iOCAoKSwgejAsIHoxKSkK KworLyoKKyoqIHB0cnVlX2I4X2RpdnJfZjE2X3hfdGllZDI6CisqKglwdHJ1 ZQkocFswLTddKVwuaFteXG5dKgorKioJZmRpdgl6MVwuaCwgXDEvbSwgejFc LmgsIHowXC5oCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAocHRydWVf YjhfZGl2cl9mMTZfeF90aWVkMiwgc3ZmbG9hdDE2X3QsCisJCXoxID0gc3Zk aXZyX2YxNl94IChzdnB0cnVlX2I4ICgpLCB6MCwgejEpLAorCQl6MSA9IHN2 ZGl2cl94IChzdnB0cnVlX2I4ICgpLCB6MCwgejEpKQorCisvKgorKiogcHRy dWVfYjhfZGl2cl9mMTZfeF91bnRpZWQ6CisqKglwdHJ1ZQkocFswLTddKVwu aFteXG5dKgorKioJbW92cHJmeAl6MiwgejEKKyoqCWZkaXYJejJcLmgsIFwx L20sIHoyXC5oLCB6MFwuaAorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1og KHB0cnVlX2I4X2RpdnJfZjE2X3hfdW50aWVkLCBzdmZsb2F0MTZfdCwKKwkJ ejIgPSBzdmRpdnJfZjE2X3ggKHN2cHRydWVfYjggKCksIHowLCB6MSksCisJ CXoyID0gc3ZkaXZyX3ggKHN2cHRydWVfYjggKCksIHowLCB6MSkpCmRpZmYg LS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvYWFyY2g2NC9zdmUt YWNsZS9hc20vZGl2cl9mMzIuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdl dC9hYXJjaDY0L3N2ZS1hY2xlL2FzbS9kaXZyX2YzMi5jCm5ldyBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBkODRmYmYKLS0tIC9kZXYvbnVs bAorKysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvYWFyY2g2NC9zdmUt YWNsZS9hc20vZGl2cl9mMzIuYwpAQCAtMCwwICsxLDQyNSBAQAorLyogeyBk Zy1kbyBjb21waWxlIH0gKi8KKy8qIHsgZGctZmluYWwgeyBjaGVjay1mdW5j dGlvbi1ib2RpZXMgIioqIiAiIiAiLURDSEVDS19BU00iIH0gfSAqLworCisj aW5jbHVkZSAidGVzdF9zdmVfYWNsZS5oIgorCisvKgorKiogZGl2cl9mMzJf bV90aWVkMToKKyoqCWZkaXZyCXowXC5zLCBwMC9tLCB6MFwucywgejFcLnMK KyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChkaXZyX2YzMl9tX3RpZWQx LCBzdmZsb2F0MzJfdCwKKwkJejAgPSBzdmRpdnJfZjMyX20gKHAwLCB6MCwg ejEpLAorCQl6MCA9IHN2ZGl2cl9tIChwMCwgejAsIHoxKSkKKworLyogQmFk IFJBIGNob2ljZTogbm8gcHJlZmVycmVkIG91dHB1dCBzZXF1ZW5jZS4gICov CitURVNUX1VOSUZPUk1fWiAoZGl2cl9mMzJfbV90aWVkMiwgc3ZmbG9hdDMy X3QsCisJCXoxID0gc3ZkaXZyX2YzMl9tIChwMCwgejAsIHoxKSwKKwkJejEg PSBzdmRpdnJfbSAocDAsIHowLCB6MSkpCisKKy8qCisqKiBkaXZyX2YzMl9t X3VudGllZDoKKyoqCW1vdnByZngJejAsIHoxCisqKglmZGl2cgl6MFwucywg cDAvbSwgejBcLnMsIHoyXC5zCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1f WiAoZGl2cl9mMzJfbV91bnRpZWQsIHN2ZmxvYXQzMl90LAorCQl6MCA9IHN2 ZGl2cl9mMzJfbSAocDAsIHoxLCB6MiksCisJCXowID0gc3ZkaXZyX20gKHAw LCB6MSwgejIpKQorCisvKgorKiogZGl2cl93MF9mMzJfbV90aWVkMToKKyoq CW1vdgkoelswLTldK1wucyksIHcwCisqKglmZGl2cgl6MFwucywgcDAvbSwg ejBcLnMsIFwxCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWlMgKGRpdnJf dzBfZjMyX21fdGllZDEsIHN2ZmxvYXQzMl90LCBmbG9hdCwKKwkJIHowID0g c3ZkaXZyX25fZjMyX20gKHAwLCB6MCwgeDApLAorCQkgejAgPSBzdmRpdnJf bSAocDAsIHowLCB4MCkpCisKKy8qCisqKiBkaXZyX3cwX2YzMl9tX3VudGll ZDoKKyoqCW1vdgkoelswLTldK1wucyksIHcwCisqKgltb3ZwcmZ4CXowLCB6 MQorKioJZmRpdnIJejBcLnMsIHAwL20sIHowXC5zLCBcMQorKioJcmV0Cisq LworVEVTVF9VTklGT1JNX1pTIChkaXZyX3cwX2YzMl9tX3VudGllZCwgc3Zm bG9hdDMyX3QsIGZsb2F0LAorCQkgejAgPSBzdmRpdnJfbl9mMzJfbSAocDAs IHoxLCB4MCksCisJCSB6MCA9IHN2ZGl2cl9tIChwMCwgejEsIHgwKSkKKwor LyoKKyoqIGRpdnJfczBfZjMyX21fdGllZDE6CisqKgltb3YJKHpbMC05XStc LnMpLCBzMAorKioJZmRpdnIJejFcLnMsIHAwL20sIHoxXC5zLCBcMQorKioJ cmV0CisqLworVEVTVF9VTklGT1JNX1pTIChkaXZyX3MwX2YzMl9tX3RpZWQx LCBzdmZsb2F0MzJfdCwgZmxvYXQsCisJCSB6MSA9IHN2ZGl2cl9uX2YzMl9t IChwMCwgejEsIGQwKSwKKwkJIHoxID0gc3ZkaXZyX20gKHAwLCB6MSwgZDAp KQorCisvKgorKiogZGl2cl9zMF9mMzJfbV91bnRpZWQ6CisqKgltb3YJKHpb MC05XStcLnMpLCBzMAorKioJbW92cHJmeAl6MSwgejIKKyoqCWZkaXZyCXox XC5zLCBwMC9tLCB6MVwucywgXDEKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9S TV9aUyAoZGl2cl9zMF9mMzJfbV91bnRpZWQsIHN2ZmxvYXQzMl90LCBmbG9h dCwKKwkJIHoxID0gc3ZkaXZyX25fZjMyX20gKHAwLCB6MiwgZDApLAorCQkg ejEgPSBzdmRpdnJfbSAocDAsIHoyLCBkMCkpCisKKy8qCisqKiBkaXZyXzFf ZjMyX21fdGllZDE6CisqKglmbW92CSh6WzAtOV0rXC5zKSwgIzEuMChlXCsw KT8KKyoqCWZkaXZyCXowXC5zLCBwMC9tLCB6MFwucywgXDEKKyoqCXJldAor Ki8KK1RFU1RfVU5JRk9STV9aIChkaXZyXzFfZjMyX21fdGllZDEsIHN2Zmxv YXQzMl90LAorCQl6MCA9IHN2ZGl2cl9uX2YzMl9tIChwMCwgejAsIDEpLAor CQl6MCA9IHN2ZGl2cl9tIChwMCwgejAsIDEpKQorCisvKgorKiogZGl2cl8x X2YzMl9tX3VudGllZDoKKyoqCWZtb3YJKHpbMC05XStcLnMpLCAjMS4wKGVc KzApPworKioJbW92cHJmeAl6MCwgejEKKyoqCWZkaXZyCXowXC5zLCBwMC9t LCB6MFwucywgXDEKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChkaXZy XzFfZjMyX21fdW50aWVkLCBzdmZsb2F0MzJfdCwKKwkJejAgPSBzdmRpdnJf bl9mMzJfbSAocDAsIHoxLCAxKSwKKwkJejAgPSBzdmRpdnJfbSAocDAsIHox LCAxKSkKKworLyoKKyoqIGRpdnJfMHA1X2YzMl9tX3RpZWQxOgorKioJZm1v dgkoelswLTldK1wucyksICM1LjAoZVwtMSk/CisqKglmZGl2cgl6MFwucywg cDAvbSwgejBcLnMsIFwxCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAo ZGl2cl8wcDVfZjMyX21fdGllZDEsIHN2ZmxvYXQzMl90LAorCQl6MCA9IHN2 ZGl2cl9uX2YzMl9tIChwMCwgejAsIDAuNSksCisJCXowID0gc3ZkaXZyX20g KHAwLCB6MCwgMC41KSkKKworLyoKKyoqIGRpdnJfMHA1X2YzMl9tX3VudGll ZDoKKyoqCWZtb3YJKHpbMC05XStcLnMpLCAjNS4wKGVcLTEpPworKioJbW92 cHJmeAl6MCwgejEKKyoqCWZkaXZyCXowXC5zLCBwMC9tLCB6MFwucywgXDEK KyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChkaXZyXzBwNV9mMzJfbV91 bnRpZWQsIHN2ZmxvYXQzMl90LAorCQl6MCA9IHN2ZGl2cl9uX2YzMl9tIChw MCwgejEsIDAuNSksCisJCXowID0gc3ZkaXZyX20gKHAwLCB6MSwgMC41KSkK KworCisvKgorKiogZGl2cl9mMzJfel90aWVkMToKKyoqCW1vdnByZngJejBc LnMsIHAwL3osIHowXC5zCisqKglmZGl2cgl6MFwucywgcDAvbSwgejBcLnMs IHoxXC5zCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAoZGl2cl9mMzJf el90aWVkMSwgc3ZmbG9hdDMyX3QsCisJCXowID0gc3ZkaXZyX2YzMl96IChw MCwgejAsIHoxKSwKKwkJejAgPSBzdmRpdnJfeiAocDAsIHowLCB6MSkpCisK Ky8qCisqKiBkaXZyX2YzMl96X3RpZWQyOgorKioJbW92cHJmeAl6MVwucywg cDAveiwgejFcLnMKKyoqCWZkaXYJejFcLnMsIHAwL20sIHoxXC5zLCB6MFwu cworKioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKGRpdnJfZjMyX3pfdGll ZDIsIHN2ZmxvYXQzMl90LAorCQl6MSA9IHN2ZGl2cl9mMzJfeiAocDAsIHow LCB6MSksCisJCXoxID0gc3ZkaXZyX3ogKHAwLCB6MCwgejEpKQorCisvKgor KiogZGl2cl9mMzJfel91bnRpZWQ6CisqKgltb3ZwcmZ4CXowXC5zLCBwMC96 LCB6MlwucworKioJZmRpdgl6MFwucywgcDAvbSwgejBcLnMsIHoxXC5zCisq KglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAoZGl2cl9mMzJfel91bnRpZWQs IHN2ZmxvYXQzMl90LAorCQl6MCA9IHN2ZGl2cl9mMzJfeiAocDAsIHoxLCB6 MiksCisJCXowID0gc3ZkaXZyX3ogKHAwLCB6MSwgejIpKQorCisvKgorKiog ZGl2cl93MF9mMzJfel90aWVkMToKKyoqCW1vdgkoelswLTldK1wucyksIHcw CisqKgltb3ZwcmZ4CXowXC5zLCBwMC96LCB6MFwucworKioJZmRpdnIJejBc LnMsIHAwL20sIHowXC5zLCBcMQorKioJcmV0CisqLworVEVTVF9VTklGT1JN X1pTIChkaXZyX3cwX2YzMl96X3RpZWQxLCBzdmZsb2F0MzJfdCwgZmxvYXQs CisJCSB6MCA9IHN2ZGl2cl9uX2YzMl96IChwMCwgejAsIHgwKSwKKwkJIHow ID0gc3ZkaXZyX3ogKHAwLCB6MCwgeDApKQorCisvKgorKiogZGl2cl93MF9m MzJfel91bnRpZWQ6CisqKgltb3YJKHpbMC05XStcLnMpLCB3MAorKioJbW92 cHJmeAl6MFwucywgcDAveiwgXDEKKyoqCWZkaXYJejBcLnMsIHAwL20sIHow XC5zLCB6MVwucworKioJcmV0CisqLworVEVTVF9VTklGT1JNX1pTIChkaXZy X3cwX2YzMl96X3VudGllZCwgc3ZmbG9hdDMyX3QsIGZsb2F0LAorCQkgejAg PSBzdmRpdnJfbl9mMzJfeiAocDAsIHoxLCB4MCksCisJCSB6MCA9IHN2ZGl2 cl96IChwMCwgejEsIHgwKSkKKworLyoKKyoqIGRpdnJfczBfZjMyX3pfdGll ZDE6CisqKgltb3YJKHpbMC05XStcLnMpLCBzMAorKioJbW92cHJmeAl6MVwu cywgcDAveiwgejFcLnMKKyoqCWZkaXZyCXoxXC5zLCBwMC9tLCB6MVwucywg XDEKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aUyAoZGl2cl9zMF9mMzJf el90aWVkMSwgc3ZmbG9hdDMyX3QsIGZsb2F0LAorCQkgejEgPSBzdmRpdnJf bl9mMzJfeiAocDAsIHoxLCBkMCksCisJCSB6MSA9IHN2ZGl2cl96IChwMCwg ejEsIGQwKSkKKworLyoKKyoqIGRpdnJfczBfZjMyX3pfdW50aWVkOgorKioJ bW92CSh6WzAtOV0rXC5zKSwgczAKKyoqCW1vdnByZngJejFcLnMsIHAwL3os IFwxCisqKglmZGl2CXoxXC5zLCBwMC9tLCB6MVwucywgejJcLnMKKyoqCXJl dAorKi8KK1RFU1RfVU5JRk9STV9aUyAoZGl2cl9zMF9mMzJfel91bnRpZWQs IHN2ZmxvYXQzMl90LCBmbG9hdCwKKwkJIHoxID0gc3ZkaXZyX25fZjMyX3og KHAwLCB6MiwgZDApLAorCQkgejEgPSBzdmRpdnJfeiAocDAsIHoyLCBkMCkp CisKKy8qCisqKiBkaXZyXzFfZjMyX3pfdGllZDE6CisqKglmbW92CSh6WzAt OV0rXC5zKSwgIzEuMChlXCswKT8KKyoqCW1vdnByZngJejBcLnMsIHAwL3os IHowXC5zCisqKglmZGl2cgl6MFwucywgcDAvbSwgejBcLnMsIFwxCisqKgly ZXQKKyovCitURVNUX1VOSUZPUk1fWiAoZGl2cl8xX2YzMl96X3RpZWQxLCBz dmZsb2F0MzJfdCwKKwkJejAgPSBzdmRpdnJfbl9mMzJfeiAocDAsIHowLCAx KSwKKwkJejAgPSBzdmRpdnJfeiAocDAsIHowLCAxKSkKKworLyoKKyoqIGRp dnJfMHA1X2YzMl96X3RpZWQxOgorKioJZm1vdgkoelswLTldK1wucyksICM1 LjAoZVwtMSk/CisqKgltb3ZwcmZ4CXowXC5zLCBwMC96LCB6MFwucworKioJ ZmRpdnIJejBcLnMsIHAwL20sIHowXC5zLCBcMQorKioJcmV0CisqLworVEVT VF9VTklGT1JNX1ogKGRpdnJfMHA1X2YzMl96X3RpZWQxLCBzdmZsb2F0MzJf dCwKKwkJejAgPSBzdmRpdnJfbl9mMzJfeiAocDAsIHowLCAwLjUpLAorCQl6 MCA9IHN2ZGl2cl96IChwMCwgejAsIDAuNSkpCisKKy8qCisqKiBkaXZyXzBw NV9mMzJfel91bnRpZWQ6CisqKglmbW92CSh6WzAtOV0rXC5zKSwgIzUuMChl XC0xKT8KKyoqCW1vdnByZngJejBcLnMsIHAwL3osIFwxCisqKglmZGl2CXow XC5zLCBwMC9tLCB6MFwucywgejFcLnMKKyoqCXJldAorKi8KK1RFU1RfVU5J Rk9STV9aIChkaXZyXzBwNV9mMzJfel91bnRpZWQsIHN2ZmxvYXQzMl90LAor CQl6MCA9IHN2ZGl2cl9uX2YzMl96IChwMCwgejEsIDAuNSksCisJCXowID0g c3ZkaXZyX3ogKHAwLCB6MSwgMC41KSkKKworLyoKKyoqIGRpdnJfZjMyX3hf dGllZDE6CisqKglmZGl2cgl6MFwucywgcDAvbSwgejBcLnMsIHoxXC5zCisq KglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAoZGl2cl9mMzJfeF90aWVkMSwg c3ZmbG9hdDMyX3QsCisJCXowID0gc3ZkaXZyX2YzMl94IChwMCwgejAsIHox KSwKKwkJejAgPSBzdmRpdnJfeCAocDAsIHowLCB6MSkpCisKKy8qCisqKiBk aXZyX2YzMl94X3RpZWQyOgorKioJZmRpdgl6MVwucywgcDAvbSwgejFcLnMs IHowXC5zCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAoZGl2cl9mMzJf eF90aWVkMiwgc3ZmbG9hdDMyX3QsCisJCXoxID0gc3ZkaXZyX2YzMl94IChw MCwgejAsIHoxKSwKKwkJejEgPSBzdmRpdnJfeCAocDAsIHowLCB6MSkpCisK Ky8qCisqKiBkaXZyX2YzMl94X3VudGllZDoKKyoqCW1vdnByZngJejIsIHox CisqKglmZGl2CXoyXC5zLCBwMC9tLCB6MlwucywgejBcLnMKKyoqCXJldAor Ki8KK1RFU1RfVU5JRk9STV9aIChkaXZyX2YzMl94X3VudGllZCwgc3ZmbG9h dDMyX3QsCisJCXoyID0gc3ZkaXZyX2YzMl94IChwMCwgejAsIHoxKSwKKwkJ ejIgPSBzdmRpdnJfeCAocDAsIHowLCB6MSkpCisKKy8qCisqKiBkaXZyX3cw X2YzMl94X3RpZWQxOgorKioJbW92CSh6WzAtOV0rXC5zKSwgdzAKKyoqCWZk aXZyCXowXC5zLCBwMC9tLCB6MFwucywgXDEKKyoqCXJldAorKi8KK1RFU1Rf VU5JRk9STV9aUyAoZGl2cl93MF9mMzJfeF90aWVkMSwgc3ZmbG9hdDMyX3Qs IGZsb2F0LAorCQkgejAgPSBzdmRpdnJfbl9mMzJfeCAocDAsIHowLCB4MCks CisJCSB6MCA9IHN2ZGl2cl94IChwMCwgejAsIHgwKSkKKworLyoKKyoqIGRp dnJfdzBfZjMyX3hfdW50aWVkOgorKioJbW92CXoxXC5zLCB3MAorKioJZmRp dgl6MVwucywgcDAvbSwgejFcLnMsIHowXC5zCisqKglyZXQKKyovCitURVNU X1VOSUZPUk1fWlMgKGRpdnJfdzBfZjMyX3hfdW50aWVkLCBzdmZsb2F0MzJf dCwgZmxvYXQsCisJCSB6MSA9IHN2ZGl2cl9uX2YzMl94IChwMCwgejAsIHgw KSwKKwkJIHoxID0gc3ZkaXZyX3ggKHAwLCB6MCwgeDApKQorCisvKgorKiog ZGl2cl9zMF9mMzJfeF90aWVkMToKKyoqCW1vdgkoelswLTldK1wucyksIHMw CisqKglmZGl2cgl6MVwucywgcDAvbSwgejFcLnMsIFwxCisqKglyZXQKKyov CitURVNUX1VOSUZPUk1fWlMgKGRpdnJfczBfZjMyX3hfdGllZDEsIHN2Zmxv YXQzMl90LCBmbG9hdCwKKwkJIHoxID0gc3ZkaXZyX25fZjMyX3ggKHAwLCB6 MSwgZDApLAorCQkgejEgPSBzdmRpdnJfeCAocDAsIHoxLCBkMCkpCisKKy8q CisqKiBkaXZyX3MwX2YzMl94X3VudGllZDoKKyoqCW1vdgl6MlwucywgczAK KyoqCWZkaXYJejJcLnMsIHAwL20sIHoyXC5zLCB6MVwucworKioJcmV0Cisq LworVEVTVF9VTklGT1JNX1pTIChkaXZyX3MwX2YzMl94X3VudGllZCwgc3Zm bG9hdDMyX3QsIGZsb2F0LAorCQkgejIgPSBzdmRpdnJfbl9mMzJfeCAocDAs IHoxLCBkMCksCisJCSB6MiA9IHN2ZGl2cl94IChwMCwgejEsIGQwKSkKKwor LyoKKyoqIGRpdnJfMV9mMzJfeF90aWVkMToKKyoqCWZtb3YJKHpbMC05XStc LnMpLCAjMVwuMChlXCswKT8KKyoqCWZkaXZyCXowXC5zLCBwMC9tLCB6MFwu cywgXDEKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChkaXZyXzFfZjMy X3hfdGllZDEsIHN2ZmxvYXQzMl90LAorCQl6MCA9IHN2ZGl2cl9uX2YzMl94 IChwMCwgejAsIDEpLAorCQl6MCA9IHN2ZGl2cl94IChwMCwgejAsIDEpKQor CisvKgorKiogZGl2cl8xX2YzMl94X3VudGllZDoKKyoqCWZtb3YJejBcLnMs ICMxXC4wKGVcKzApPworKioJZmRpdgl6MFwucywgcDAvbSwgejBcLnMsIHox XC5zCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAoZGl2cl8xX2YzMl94 X3VudGllZCwgc3ZmbG9hdDMyX3QsCisJCXowID0gc3ZkaXZyX25fZjMyX3gg KHAwLCB6MSwgMSksCisJCXowID0gc3ZkaXZyX3ggKHAwLCB6MSwgMSkpCisK Ky8qCisqKiBwdHJ1ZV9kaXZyX2YzMl94X3RpZWQxOgorKioJcHRydWUJKHBb MC03XSlcLnNbXlxuXSoKKyoqCWZkaXZyCXowXC5zLCBcMS9tLCB6MFwucywg ejFcLnMKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChwdHJ1ZV9kaXZy X2YzMl94X3RpZWQxLCBzdmZsb2F0MzJfdCwKKwkJejAgPSBzdmRpdnJfZjMy X3ggKHN2cHRydWVfYjMyICgpLCB6MCwgejEpLAorCQl6MCA9IHN2ZGl2cl94 IChzdnB0cnVlX2IzMiAoKSwgejAsIHoxKSkKKworLyoKKyoqIHB0cnVlX2Rp dnJfZjMyX3hfdGllZDI6CisqKglwdHJ1ZQkocFswLTddKVwuc1teXG5dKgor KioJZmRpdgl6MVwucywgXDEvbSwgejFcLnMsIHowXC5zCisqKglyZXQKKyov CitURVNUX1VOSUZPUk1fWiAocHRydWVfZGl2cl9mMzJfeF90aWVkMiwgc3Zm bG9hdDMyX3QsCisJCXoxID0gc3ZkaXZyX2YzMl94IChzdnB0cnVlX2IzMiAo KSwgejAsIHoxKSwKKwkJejEgPSBzdmRpdnJfeCAoc3ZwdHJ1ZV9iMzIgKCks IHowLCB6MSkpCisKKy8qCisqKiBwdHJ1ZV9kaXZyX2YzMl94X3VudGllZDoK KyoqCXB0cnVlCShwWzAtN10pXC5zW15cbl0qCisqKgltb3ZwcmZ4CXoyLCB6 MQorKioJZmRpdgl6MlwucywgXDEvbSwgejJcLnMsIHowXC5zCisqKglyZXQK KyovCitURVNUX1VOSUZPUk1fWiAocHRydWVfZGl2cl9mMzJfeF91bnRpZWQs IHN2ZmxvYXQzMl90LAorCQl6MiA9IHN2ZGl2cl9mMzJfeCAoc3ZwdHJ1ZV9i MzIgKCksIHowLCB6MSksCisJCXoyID0gc3ZkaXZyX3ggKHN2cHRydWVfYjMy ICgpLCB6MCwgejEpKQorCisvKgorKiogcHRydWVfZGl2cl93MF9mMzJfeF90 aWVkMToKKyoqCXB0cnVlCShwWzAtN10pXC5zW15cbl0qCisqKgltb3YJKHpb MC05XStcLnMpLCB3MAorKioJZmRpdnIJejBcLnMsIFwxL20sIHowXC5zLCBc MgorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1pTIChwdHJ1ZV9kaXZyX3cw X2YzMl94X3RpZWQxLCBzdmZsb2F0MzJfdCwgZmxvYXQsCisJCSB6MCA9IHN2 ZGl2cl9uX2YzMl94IChzdnB0cnVlX2IzMiAoKSwgejAsIHgwKSwKKwkJIHow ID0gc3ZkaXZyX3ggKHN2cHRydWVfYjMyICgpLCB6MCwgeDApKQorCisvKgor KiogcHRydWVfZGl2cl93MF9mMzJfeF91bnRpZWQ6CisqKglwdHJ1ZQkocFsw LTddKVwuc1teXG5dKgorKioJbW92CXoxXC5zLCB3MAorKioJZmRpdgl6MVwu cywgXDEvbSwgejFcLnMsIHowXC5zCisqKglyZXQKKyovCitURVNUX1VOSUZP Uk1fWlMgKHB0cnVlX2RpdnJfdzBfZjMyX3hfdW50aWVkLCBzdmZsb2F0MzJf dCwgZmxvYXQsCisJCSB6MSA9IHN2ZGl2cl9uX2YzMl94IChzdnB0cnVlX2Iz MiAoKSwgejAsIHgwKSwKKwkJIHoxID0gc3ZkaXZyX3ggKHN2cHRydWVfYjMy ICgpLCB6MCwgeDApKQorCisvKgorKiogcHRydWVfZGl2cl9zMF9mMzJfeF90 aWVkMToKKyoqCXB0cnVlCShwWzAtN10pXC5zW15cbl0qCisqKgltb3YJKHpb MC05XStcLnMpLCBzMAorKioJZmRpdnIJejFcLnMsIFwxL20sIHoxXC5zLCBc MgorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1pTIChwdHJ1ZV9kaXZyX3Mw X2YzMl94X3RpZWQxLCBzdmZsb2F0MzJfdCwgZmxvYXQsCisJCSB6MSA9IHN2 ZGl2cl9uX2YzMl94IChzdnB0cnVlX2IzMiAoKSwgejEsIGQwKSwKKwkJIHox ID0gc3ZkaXZyX3ggKHN2cHRydWVfYjMyICgpLCB6MSwgZDApKQorCisvKgor KiogcHRydWVfZGl2cl9zMF9mMzJfeF91bnRpZWQ6CisqKglwdHJ1ZQkocFsw LTddKVwuc1teXG5dKgorKioJbW92CXoyXC5zLCBzMAorKioJZmRpdgl6Mlwu cywgXDEvbSwgejJcLnMsIHoxXC5zCisqKglyZXQKKyovCitURVNUX1VOSUZP Uk1fWlMgKHB0cnVlX2RpdnJfczBfZjMyX3hfdW50aWVkLCBzdmZsb2F0MzJf dCwgZmxvYXQsCisJCSB6MiA9IHN2ZGl2cl9uX2YzMl94IChzdnB0cnVlX2Iz MiAoKSwgejEsIGQwKSwKKwkJIHoyID0gc3ZkaXZyX3ggKHN2cHRydWVfYjMy ICgpLCB6MSwgZDApKQorCisvKgorKiogcHRydWVfZGl2cl8xX2YzMl94X3Vu dGllZDoKKyoqCXB0cnVlCShwWzAtN10pXC5zW15cbl0qCisqKglmbW92CXow XC5zLCAjMS4wKGVcKzApPworKioJZmRpdgl6MFwucywgXDEvbSwgejBcLnMs IHoxXC5zCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAocHRydWVfZGl2 cl8xX2YzMl94X3VudGllZCwgc3ZmbG9hdDMyX3QsCisJCXowID0gc3ZkaXZy X25fZjMyX3ggKHN2cHRydWVfYjMyICgpLCB6MSwgMSksCisJCXowID0gc3Zk aXZyX3ggKHN2cHRydWVfYjMyICgpLCB6MSwgMSkpCisKKy8qCisqKiBwdHJ1 ZV9iOF9kaXZyX2YzMl94X3RpZWQxOgorKioJcHRydWUJKHBbMC03XSlcLnNb XlxuXSoKKyoqCWZkaXZyCXowXC5zLCBcMS9tLCB6MFwucywgejFcLnMKKyoq CXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChwdHJ1ZV9iOF9kaXZyX2YzMl94 X3RpZWQxLCBzdmZsb2F0MzJfdCwKKwkJejAgPSBzdmRpdnJfZjMyX3ggKHN2 cHRydWVfYjggKCksIHowLCB6MSksCisJCXowID0gc3ZkaXZyX3ggKHN2cHRy dWVfYjggKCksIHowLCB6MSkpCisKKy8qCisqKiBwdHJ1ZV9iOF9kaXZyX2Yz Ml94X3RpZWQyOgorKioJcHRydWUJKHBbMC03XSlcLnNbXlxuXSoKKyoqCWZk aXYJejFcLnMsIFwxL20sIHoxXC5zLCB6MFwucworKioJcmV0CisqLworVEVT VF9VTklGT1JNX1ogKHB0cnVlX2I4X2RpdnJfZjMyX3hfdGllZDIsIHN2Zmxv YXQzMl90LAorCQl6MSA9IHN2ZGl2cl9mMzJfeCAoc3ZwdHJ1ZV9iOCAoKSwg ejAsIHoxKSwKKwkJejEgPSBzdmRpdnJfeCAoc3ZwdHJ1ZV9iOCAoKSwgejAs IHoxKSkKKworLyoKKyoqIHB0cnVlX2I4X2RpdnJfZjMyX3hfdW50aWVkOgor KioJcHRydWUJKHBbMC03XSlcLnNbXlxuXSoKKyoqCW1vdnByZngJejIsIHox CisqKglmZGl2CXoyXC5zLCBcMS9tLCB6MlwucywgejBcLnMKKyoqCXJldAor Ki8KK1RFU1RfVU5JRk9STV9aIChwdHJ1ZV9iOF9kaXZyX2YzMl94X3VudGll ZCwgc3ZmbG9hdDMyX3QsCisJCXoyID0gc3ZkaXZyX2YzMl94IChzdnB0cnVl X2I4ICgpLCB6MCwgejEpLAorCQl6MiA9IHN2ZGl2cl94IChzdnB0cnVlX2I4 ICgpLCB6MCwgejEpKQpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2Mu dGFyZ2V0L2FhcmNoNjQvc3ZlLWFjbGUvYXNtL2RpdnJfZjY0LmMgYi9nY2Mv dGVzdHN1aXRlL2djYy50YXJnZXQvYWFyY2g2NC9zdmUtYWNsZS9hc20vZGl2 cl9mNjQuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4y M2YyZWFjCi0tLSAvZGV2L251bGwKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2Mu dGFyZ2V0L2FhcmNoNjQvc3ZlLWFjbGUvYXNtL2RpdnJfZjY0LmMKQEAgLTAs MCArMSw0MjUgQEAKKy8qIHsgZGctZG8gY29tcGlsZSB9ICovCisvKiB7IGRn LWZpbmFsIHsgY2hlY2stZnVuY3Rpb24tYm9kaWVzICIqKiIgIiIgIi1EQ0hF Q0tfQVNNIiB9IH0gKi8KKworI2luY2x1ZGUgInRlc3Rfc3ZlX2FjbGUuaCIK KworLyoKKyoqIGRpdnJfZjY0X21fdGllZDE6CisqKglmZGl2cgl6MFwuZCwg cDAvbSwgejBcLmQsIHoxXC5kCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1f WiAoZGl2cl9mNjRfbV90aWVkMSwgc3ZmbG9hdDY0X3QsCisJCXowID0gc3Zk aXZyX2Y2NF9tIChwMCwgejAsIHoxKSwKKwkJejAgPSBzdmRpdnJfbSAocDAs IHowLCB6MSkpCisKKy8qIEJhZCBSQSBjaG9pY2U6IG5vIHByZWZlcnJlZCBv dXRwdXQgc2VxdWVuY2UuICAqLworVEVTVF9VTklGT1JNX1ogKGRpdnJfZjY0 X21fdGllZDIsIHN2ZmxvYXQ2NF90LAorCQl6MSA9IHN2ZGl2cl9mNjRfbSAo cDAsIHowLCB6MSksCisJCXoxID0gc3ZkaXZyX20gKHAwLCB6MCwgejEpKQor CisvKgorKiogZGl2cl9mNjRfbV91bnRpZWQ6CisqKgltb3ZwcmZ4CXowLCB6 MQorKioJZmRpdnIJejBcLmQsIHAwL20sIHowXC5kLCB6MlwuZAorKioJcmV0 CisqLworVEVTVF9VTklGT1JNX1ogKGRpdnJfZjY0X21fdW50aWVkLCBzdmZs b2F0NjRfdCwKKwkJejAgPSBzdmRpdnJfZjY0X20gKHAwLCB6MSwgejIpLAor CQl6MCA9IHN2ZGl2cl9tIChwMCwgejEsIHoyKSkKKworLyoKKyoqIGRpdnJf eDBfZjY0X21fdGllZDE6CisqKgltb3YJKHpbMC05XStcLmQpLCB4MAorKioJ ZmRpdnIJejBcLmQsIHAwL20sIHowXC5kLCBcMQorKioJcmV0CisqLworVEVT VF9VTklGT1JNX1pTIChkaXZyX3gwX2Y2NF9tX3RpZWQxLCBzdmZsb2F0NjRf dCwgZG91YmxlLAorCQkgejAgPSBzdmRpdnJfbl9mNjRfbSAocDAsIHowLCB4 MCksCisJCSB6MCA9IHN2ZGl2cl9tIChwMCwgejAsIHgwKSkKKworLyoKKyoq IGRpdnJfeDBfZjY0X21fdW50aWVkOgorKioJbW92CSh6WzAtOV0rXC5kKSwg eDAKKyoqCW1vdnByZngJejAsIHoxCisqKglmZGl2cgl6MFwuZCwgcDAvbSwg ejBcLmQsIFwxCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWlMgKGRpdnJf eDBfZjY0X21fdW50aWVkLCBzdmZsb2F0NjRfdCwgZG91YmxlLAorCQkgejAg PSBzdmRpdnJfbl9mNjRfbSAocDAsIHoxLCB4MCksCisJCSB6MCA9IHN2ZGl2 cl9tIChwMCwgejEsIHgwKSkKKworLyoKKyoqIGRpdnJfZDBfZjY0X21fdGll ZDE6CisqKgltb3YJKHpbMC05XStcLmQpLCBkMAorKioJZmRpdnIJejFcLmQs IHAwL20sIHoxXC5kLCBcMQorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1pT IChkaXZyX2QwX2Y2NF9tX3RpZWQxLCBzdmZsb2F0NjRfdCwgZG91YmxlLAor CQkgejEgPSBzdmRpdnJfbl9mNjRfbSAocDAsIHoxLCBkMCksCisJCSB6MSA9 IHN2ZGl2cl9tIChwMCwgejEsIGQwKSkKKworLyoKKyoqIGRpdnJfZDBfZjY0 X21fdW50aWVkOgorKioJbW92CSh6WzAtOV0rXC5kKSwgZDAKKyoqCW1vdnBy ZngJejEsIHoyCisqKglmZGl2cgl6MVwuZCwgcDAvbSwgejFcLmQsIFwxCisq KglyZXQKKyovCitURVNUX1VOSUZPUk1fWlMgKGRpdnJfZDBfZjY0X21fdW50 aWVkLCBzdmZsb2F0NjRfdCwgZG91YmxlLAorCQkgejEgPSBzdmRpdnJfbl9m NjRfbSAocDAsIHoyLCBkMCksCisJCSB6MSA9IHN2ZGl2cl9tIChwMCwgejIs IGQwKSkKKworLyoKKyoqIGRpdnJfMV9mNjRfbV90aWVkMToKKyoqCWZtb3YJ KHpbMC05XStcLmQpLCAjMS4wKGVcKzApPworKioJZmRpdnIJejBcLmQsIHAw L20sIHowXC5kLCBcMQorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKGRp dnJfMV9mNjRfbV90aWVkMSwgc3ZmbG9hdDY0X3QsCisJCXowID0gc3ZkaXZy X25fZjY0X20gKHAwLCB6MCwgMSksCisJCXowID0gc3ZkaXZyX20gKHAwLCB6 MCwgMSkpCisKKy8qCisqKiBkaXZyXzFfZjY0X21fdW50aWVkOgorKioJZm1v dgkoelswLTldK1wuZCksICMxLjAoZVwrMCk/CisqKgltb3ZwcmZ4CXowLCB6 MQorKioJZmRpdnIJejBcLmQsIHAwL20sIHowXC5kLCBcMQorKioJcmV0Cisq LworVEVTVF9VTklGT1JNX1ogKGRpdnJfMV9mNjRfbV91bnRpZWQsIHN2Zmxv YXQ2NF90LAorCQl6MCA9IHN2ZGl2cl9uX2Y2NF9tIChwMCwgejEsIDEpLAor CQl6MCA9IHN2ZGl2cl9tIChwMCwgejEsIDEpKQorCisvKgorKiogZGl2cl8w cDVfZjY0X21fdGllZDE6CisqKglmbW92CSh6WzAtOV0rXC5kKSwgIzUuMChl XC0xKT8KKyoqCWZkaXZyCXowXC5kLCBwMC9tLCB6MFwuZCwgXDEKKyoqCXJl dAorKi8KK1RFU1RfVU5JRk9STV9aIChkaXZyXzBwNV9mNjRfbV90aWVkMSwg c3ZmbG9hdDY0X3QsCisJCXowID0gc3ZkaXZyX25fZjY0X20gKHAwLCB6MCwg MC41KSwKKwkJejAgPSBzdmRpdnJfbSAocDAsIHowLCAwLjUpKQorCisvKgor KiogZGl2cl8wcDVfZjY0X21fdW50aWVkOgorKioJZm1vdgkoelswLTldK1wu ZCksICM1LjAoZVwtMSk/CisqKgltb3ZwcmZ4CXowLCB6MQorKioJZmRpdnIJ ejBcLmQsIHAwL20sIHowXC5kLCBcMQorKioJcmV0CisqLworVEVTVF9VTklG T1JNX1ogKGRpdnJfMHA1X2Y2NF9tX3VudGllZCwgc3ZmbG9hdDY0X3QsCisJ CXowID0gc3ZkaXZyX25fZjY0X20gKHAwLCB6MSwgMC41KSwKKwkJejAgPSBz dmRpdnJfbSAocDAsIHoxLCAwLjUpKQorCisKKy8qCisqKiBkaXZyX2Y2NF96 X3RpZWQxOgorKioJbW92cHJmeAl6MFwuZCwgcDAveiwgejBcLmQKKyoqCWZk aXZyCXowXC5kLCBwMC9tLCB6MFwuZCwgejFcLmQKKyoqCXJldAorKi8KK1RF U1RfVU5JRk9STV9aIChkaXZyX2Y2NF96X3RpZWQxLCBzdmZsb2F0NjRfdCwK KwkJejAgPSBzdmRpdnJfZjY0X3ogKHAwLCB6MCwgejEpLAorCQl6MCA9IHN2 ZGl2cl96IChwMCwgejAsIHoxKSkKKworLyoKKyoqIGRpdnJfZjY0X3pfdGll ZDI6CisqKgltb3ZwcmZ4CXoxXC5kLCBwMC96LCB6MVwuZAorKioJZmRpdgl6 MVwuZCwgcDAvbSwgejFcLmQsIHowXC5kCisqKglyZXQKKyovCitURVNUX1VO SUZPUk1fWiAoZGl2cl9mNjRfel90aWVkMiwgc3ZmbG9hdDY0X3QsCisJCXox ID0gc3ZkaXZyX2Y2NF96IChwMCwgejAsIHoxKSwKKwkJejEgPSBzdmRpdnJf eiAocDAsIHowLCB6MSkpCisKKy8qCisqKiBkaXZyX2Y2NF96X3VudGllZDoK KyoqCW1vdnByZngJejBcLmQsIHAwL3osIHoyXC5kCisqKglmZGl2CXowXC5k LCBwMC9tLCB6MFwuZCwgejFcLmQKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9S TV9aIChkaXZyX2Y2NF96X3VudGllZCwgc3ZmbG9hdDY0X3QsCisJCXowID0g c3ZkaXZyX2Y2NF96IChwMCwgejEsIHoyKSwKKwkJejAgPSBzdmRpdnJfeiAo cDAsIHoxLCB6MikpCisKKy8qCisqKiBkaXZyX3gwX2Y2NF96X3RpZWQxOgor KioJbW92CSh6WzAtOV0rXC5kKSwgeDAKKyoqCW1vdnByZngJejBcLmQsIHAw L3osIHowXC5kCisqKglmZGl2cgl6MFwuZCwgcDAvbSwgejBcLmQsIFwxCisq KglyZXQKKyovCitURVNUX1VOSUZPUk1fWlMgKGRpdnJfeDBfZjY0X3pfdGll ZDEsIHN2ZmxvYXQ2NF90LCBkb3VibGUsCisJCSB6MCA9IHN2ZGl2cl9uX2Y2 NF96IChwMCwgejAsIHgwKSwKKwkJIHowID0gc3ZkaXZyX3ogKHAwLCB6MCwg eDApKQorCisvKgorKiogZGl2cl94MF9mNjRfel91bnRpZWQ6CisqKgltb3YJ KHpbMC05XStcLmQpLCB4MAorKioJbW92cHJmeAl6MFwuZCwgcDAveiwgXDEK KyoqCWZkaXYJejBcLmQsIHAwL20sIHowXC5kLCB6MVwuZAorKioJcmV0Cisq LworVEVTVF9VTklGT1JNX1pTIChkaXZyX3gwX2Y2NF96X3VudGllZCwgc3Zm bG9hdDY0X3QsIGRvdWJsZSwKKwkJIHowID0gc3ZkaXZyX25fZjY0X3ogKHAw LCB6MSwgeDApLAorCQkgejAgPSBzdmRpdnJfeiAocDAsIHoxLCB4MCkpCisK Ky8qCisqKiBkaXZyX2QwX2Y2NF96X3RpZWQxOgorKioJbW92CSh6WzAtOV0r XC5kKSwgZDAKKyoqCW1vdnByZngJejFcLmQsIHAwL3osIHoxXC5kCisqKglm ZGl2cgl6MVwuZCwgcDAvbSwgejFcLmQsIFwxCisqKglyZXQKKyovCitURVNU X1VOSUZPUk1fWlMgKGRpdnJfZDBfZjY0X3pfdGllZDEsIHN2ZmxvYXQ2NF90 LCBkb3VibGUsCisJCSB6MSA9IHN2ZGl2cl9uX2Y2NF96IChwMCwgejEsIGQw KSwKKwkJIHoxID0gc3ZkaXZyX3ogKHAwLCB6MSwgZDApKQorCisvKgorKiog ZGl2cl9kMF9mNjRfel91bnRpZWQ6CisqKgltb3YJKHpbMC05XStcLmQpLCBk MAorKioJbW92cHJmeAl6MVwuZCwgcDAveiwgXDEKKyoqCWZkaXYJejFcLmQs IHAwL20sIHoxXC5kLCB6MlwuZAorKioJcmV0CisqLworVEVTVF9VTklGT1JN X1pTIChkaXZyX2QwX2Y2NF96X3VudGllZCwgc3ZmbG9hdDY0X3QsIGRvdWJs ZSwKKwkJIHoxID0gc3ZkaXZyX25fZjY0X3ogKHAwLCB6MiwgZDApLAorCQkg ejEgPSBzdmRpdnJfeiAocDAsIHoyLCBkMCkpCisKKy8qCisqKiBkaXZyXzFf ZjY0X3pfdGllZDE6CisqKglmbW92CSh6WzAtOV0rXC5kKSwgIzEuMChlXCsw KT8KKyoqCW1vdnByZngJejBcLmQsIHAwL3osIHowXC5kCisqKglmZGl2cgl6 MFwuZCwgcDAvbSwgejBcLmQsIFwxCisqKglyZXQKKyovCitURVNUX1VOSUZP Uk1fWiAoZGl2cl8xX2Y2NF96X3RpZWQxLCBzdmZsb2F0NjRfdCwKKwkJejAg PSBzdmRpdnJfbl9mNjRfeiAocDAsIHowLCAxKSwKKwkJejAgPSBzdmRpdnJf eiAocDAsIHowLCAxKSkKKworLyoKKyoqIGRpdnJfMHA1X2Y2NF96X3RpZWQx OgorKioJZm1vdgkoelswLTldK1wuZCksICM1LjAoZVwtMSk/CisqKgltb3Zw cmZ4CXowXC5kLCBwMC96LCB6MFwuZAorKioJZmRpdnIJejBcLmQsIHAwL20s IHowXC5kLCBcMQorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKGRpdnJf MHA1X2Y2NF96X3RpZWQxLCBzdmZsb2F0NjRfdCwKKwkJejAgPSBzdmRpdnJf bl9mNjRfeiAocDAsIHowLCAwLjUpLAorCQl6MCA9IHN2ZGl2cl96IChwMCwg ejAsIDAuNSkpCisKKy8qCisqKiBkaXZyXzBwNV9mNjRfel91bnRpZWQ6Cisq KglmbW92CSh6WzAtOV0rXC5kKSwgIzUuMChlXC0xKT8KKyoqCW1vdnByZngJ ejBcLmQsIHAwL3osIFwxCisqKglmZGl2CXowXC5kLCBwMC9tLCB6MFwuZCwg ejFcLmQKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChkaXZyXzBwNV9m NjRfel91bnRpZWQsIHN2ZmxvYXQ2NF90LAorCQl6MCA9IHN2ZGl2cl9uX2Y2 NF96IChwMCwgejEsIDAuNSksCisJCXowID0gc3ZkaXZyX3ogKHAwLCB6MSwg MC41KSkKKworLyoKKyoqIGRpdnJfZjY0X3hfdGllZDE6CisqKglmZGl2cgl6 MFwuZCwgcDAvbSwgejBcLmQsIHoxXC5kCisqKglyZXQKKyovCitURVNUX1VO SUZPUk1fWiAoZGl2cl9mNjRfeF90aWVkMSwgc3ZmbG9hdDY0X3QsCisJCXow ID0gc3ZkaXZyX2Y2NF94IChwMCwgejAsIHoxKSwKKwkJejAgPSBzdmRpdnJf eCAocDAsIHowLCB6MSkpCisKKy8qCisqKiBkaXZyX2Y2NF94X3RpZWQyOgor KioJZmRpdgl6MVwuZCwgcDAvbSwgejFcLmQsIHowXC5kCisqKglyZXQKKyov CitURVNUX1VOSUZPUk1fWiAoZGl2cl9mNjRfeF90aWVkMiwgc3ZmbG9hdDY0 X3QsCisJCXoxID0gc3ZkaXZyX2Y2NF94IChwMCwgejAsIHoxKSwKKwkJejEg PSBzdmRpdnJfeCAocDAsIHowLCB6MSkpCisKKy8qCisqKiBkaXZyX2Y2NF94 X3VudGllZDoKKyoqCW1vdnByZngJejIsIHoxCisqKglmZGl2CXoyXC5kLCBw MC9tLCB6MlwuZCwgejBcLmQKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9a IChkaXZyX2Y2NF94X3VudGllZCwgc3ZmbG9hdDY0X3QsCisJCXoyID0gc3Zk aXZyX2Y2NF94IChwMCwgejAsIHoxKSwKKwkJejIgPSBzdmRpdnJfeCAocDAs IHowLCB6MSkpCisKKy8qCisqKiBkaXZyX3gwX2Y2NF94X3RpZWQxOgorKioJ bW92CSh6WzAtOV0rXC5kKSwgeDAKKyoqCWZkaXZyCXowXC5kLCBwMC9tLCB6 MFwuZCwgXDEKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aUyAoZGl2cl94 MF9mNjRfeF90aWVkMSwgc3ZmbG9hdDY0X3QsIGRvdWJsZSwKKwkJIHowID0g c3ZkaXZyX25fZjY0X3ggKHAwLCB6MCwgeDApLAorCQkgejAgPSBzdmRpdnJf eCAocDAsIHowLCB4MCkpCisKKy8qCisqKiBkaXZyX3gwX2Y2NF94X3VudGll ZDoKKyoqCW1vdgl6MVwuZCwgeDAKKyoqCWZkaXYJejFcLmQsIHAwL20sIHox XC5kLCB6MFwuZAorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1pTIChkaXZy X3gwX2Y2NF94X3VudGllZCwgc3ZmbG9hdDY0X3QsIGRvdWJsZSwKKwkJIHox ID0gc3ZkaXZyX25fZjY0X3ggKHAwLCB6MCwgeDApLAorCQkgejEgPSBzdmRp dnJfeCAocDAsIHowLCB4MCkpCisKKy8qCisqKiBkaXZyX2QwX2Y2NF94X3Rp ZWQxOgorKioJbW92CSh6WzAtOV0rXC5kKSwgZDAKKyoqCWZkaXZyCXoxXC5k LCBwMC9tLCB6MVwuZCwgXDEKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9a UyAoZGl2cl9kMF9mNjRfeF90aWVkMSwgc3ZmbG9hdDY0X3QsIGRvdWJsZSwK KwkJIHoxID0gc3ZkaXZyX25fZjY0X3ggKHAwLCB6MSwgZDApLAorCQkgejEg PSBzdmRpdnJfeCAocDAsIHoxLCBkMCkpCisKKy8qCisqKiBkaXZyX2QwX2Y2 NF94X3VudGllZDoKKyoqCW1vdgl6MlwuZCwgZDAKKyoqCWZkaXYJejJcLmQs IHAwL20sIHoyXC5kLCB6MVwuZAorKioJcmV0CisqLworVEVTVF9VTklGT1JN X1pTIChkaXZyX2QwX2Y2NF94X3VudGllZCwgc3ZmbG9hdDY0X3QsIGRvdWJs ZSwKKwkJIHoyID0gc3ZkaXZyX25fZjY0X3ggKHAwLCB6MSwgZDApLAorCQkg ejIgPSBzdmRpdnJfeCAocDAsIHoxLCBkMCkpCisKKy8qCisqKiBkaXZyXzFf ZjY0X3hfdGllZDE6CisqKglmbW92CSh6WzAtOV0rXC5kKSwgIzFcLjAoZVwr MCk/CisqKglmZGl2cgl6MFwuZCwgcDAvbSwgejBcLmQsIFwxCisqKglyZXQK KyovCitURVNUX1VOSUZPUk1fWiAoZGl2cl8xX2Y2NF94X3RpZWQxLCBzdmZs b2F0NjRfdCwKKwkJejAgPSBzdmRpdnJfbl9mNjRfeCAocDAsIHowLCAxKSwK KwkJejAgPSBzdmRpdnJfeCAocDAsIHowLCAxKSkKKworLyoKKyoqIGRpdnJf MV9mNjRfeF91bnRpZWQ6CisqKglmbW92CXowXC5kLCAjMVwuMChlXCswKT8K KyoqCWZkaXYJejBcLmQsIHAwL20sIHowXC5kLCB6MVwuZAorKioJcmV0Cisq LworVEVTVF9VTklGT1JNX1ogKGRpdnJfMV9mNjRfeF91bnRpZWQsIHN2Zmxv YXQ2NF90LAorCQl6MCA9IHN2ZGl2cl9uX2Y2NF94IChwMCwgejEsIDEpLAor CQl6MCA9IHN2ZGl2cl94IChwMCwgejEsIDEpKQorCisvKgorKiogcHRydWVf ZGl2cl9mNjRfeF90aWVkMToKKyoqCXB0cnVlCShwWzAtN10pXC5kW15cbl0q CisqKglmZGl2cgl6MFwuZCwgXDEvbSwgejBcLmQsIHoxXC5kCisqKglyZXQK KyovCitURVNUX1VOSUZPUk1fWiAocHRydWVfZGl2cl9mNjRfeF90aWVkMSwg c3ZmbG9hdDY0X3QsCisJCXowID0gc3ZkaXZyX2Y2NF94IChzdnB0cnVlX2I2 NCAoKSwgejAsIHoxKSwKKwkJejAgPSBzdmRpdnJfeCAoc3ZwdHJ1ZV9iNjQg KCksIHowLCB6MSkpCisKKy8qCisqKiBwdHJ1ZV9kaXZyX2Y2NF94X3RpZWQy OgorKioJcHRydWUJKHBbMC03XSlcLmRbXlxuXSoKKyoqCWZkaXYJejFcLmQs IFwxL20sIHoxXC5kLCB6MFwuZAorKioJcmV0CisqLworVEVTVF9VTklGT1JN X1ogKHB0cnVlX2RpdnJfZjY0X3hfdGllZDIsIHN2ZmxvYXQ2NF90LAorCQl6 MSA9IHN2ZGl2cl9mNjRfeCAoc3ZwdHJ1ZV9iNjQgKCksIHowLCB6MSksCisJ CXoxID0gc3ZkaXZyX3ggKHN2cHRydWVfYjY0ICgpLCB6MCwgejEpKQorCisv KgorKiogcHRydWVfZGl2cl9mNjRfeF91bnRpZWQ6CisqKglwdHJ1ZQkocFsw LTddKVwuZFteXG5dKgorKioJbW92cHJmeAl6MiwgejEKKyoqCWZkaXYJejJc LmQsIFwxL20sIHoyXC5kLCB6MFwuZAorKioJcmV0CisqLworVEVTVF9VTklG T1JNX1ogKHB0cnVlX2RpdnJfZjY0X3hfdW50aWVkLCBzdmZsb2F0NjRfdCwK KwkJejIgPSBzdmRpdnJfZjY0X3ggKHN2cHRydWVfYjY0ICgpLCB6MCwgejEp LAorCQl6MiA9IHN2ZGl2cl94IChzdnB0cnVlX2I2NCAoKSwgejAsIHoxKSkK KworLyoKKyoqIHB0cnVlX2RpdnJfeDBfZjY0X3hfdGllZDE6CisqKglwdHJ1 ZQkocFswLTddKVwuZFteXG5dKgorKioJbW92CSh6WzAtOV0rXC5kKSwgeDAK KyoqCWZkaXZyCXowXC5kLCBcMS9tLCB6MFwuZCwgXDIKKyoqCXJldAorKi8K K1RFU1RfVU5JRk9STV9aUyAocHRydWVfZGl2cl94MF9mNjRfeF90aWVkMSwg c3ZmbG9hdDY0X3QsIGRvdWJsZSwKKwkJIHowID0gc3ZkaXZyX25fZjY0X3gg KHN2cHRydWVfYjY0ICgpLCB6MCwgeDApLAorCQkgejAgPSBzdmRpdnJfeCAo c3ZwdHJ1ZV9iNjQgKCksIHowLCB4MCkpCisKKy8qCisqKiBwdHJ1ZV9kaXZy X3gwX2Y2NF94X3VudGllZDoKKyoqCXB0cnVlCShwWzAtN10pXC5kW15cbl0q CisqKgltb3YJejFcLmQsIHgwCisqKglmZGl2CXoxXC5kLCBcMS9tLCB6MVwu ZCwgejBcLmQKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aUyAocHRydWVf ZGl2cl94MF9mNjRfeF91bnRpZWQsIHN2ZmxvYXQ2NF90LCBkb3VibGUsCisJ CSB6MSA9IHN2ZGl2cl9uX2Y2NF94IChzdnB0cnVlX2I2NCAoKSwgejAsIHgw KSwKKwkJIHoxID0gc3ZkaXZyX3ggKHN2cHRydWVfYjY0ICgpLCB6MCwgeDAp KQorCisvKgorKiogcHRydWVfZGl2cl9kMF9mNjRfeF90aWVkMToKKyoqCXB0 cnVlCShwWzAtN10pXC5kW15cbl0qCisqKgltb3YJKHpbMC05XStcLmQpLCBk MAorKioJZmRpdnIJejFcLmQsIFwxL20sIHoxXC5kLCBcMgorKioJcmV0Cisq LworVEVTVF9VTklGT1JNX1pTIChwdHJ1ZV9kaXZyX2QwX2Y2NF94X3RpZWQx LCBzdmZsb2F0NjRfdCwgZG91YmxlLAorCQkgejEgPSBzdmRpdnJfbl9mNjRf eCAoc3ZwdHJ1ZV9iNjQgKCksIHoxLCBkMCksCisJCSB6MSA9IHN2ZGl2cl94 IChzdnB0cnVlX2I2NCAoKSwgejEsIGQwKSkKKworLyoKKyoqIHB0cnVlX2Rp dnJfZDBfZjY0X3hfdW50aWVkOgorKioJcHRydWUJKHBbMC03XSlcLmRbXlxu XSoKKyoqCW1vdgl6MlwuZCwgZDAKKyoqCWZkaXYJejJcLmQsIFwxL20sIHoy XC5kLCB6MVwuZAorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1pTIChwdHJ1 ZV9kaXZyX2QwX2Y2NF94X3VudGllZCwgc3ZmbG9hdDY0X3QsIGRvdWJsZSwK KwkJIHoyID0gc3ZkaXZyX25fZjY0X3ggKHN2cHRydWVfYjY0ICgpLCB6MSwg ZDApLAorCQkgejIgPSBzdmRpdnJfeCAoc3ZwdHJ1ZV9iNjQgKCksIHoxLCBk MCkpCisKKy8qCisqKiBwdHJ1ZV9kaXZyXzFfZjY0X3hfdW50aWVkOgorKioJ cHRydWUJKHBbMC03XSlcLmRbXlxuXSoKKyoqCWZtb3YJejBcLmQsICMxLjAo ZVwrMCk/CisqKglmZGl2CXowXC5kLCBcMS9tLCB6MFwuZCwgejFcLmQKKyoq CXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChwdHJ1ZV9kaXZyXzFfZjY0X3hf dW50aWVkLCBzdmZsb2F0NjRfdCwKKwkJejAgPSBzdmRpdnJfbl9mNjRfeCAo c3ZwdHJ1ZV9iNjQgKCksIHoxLCAxKSwKKwkJejAgPSBzdmRpdnJfeCAoc3Zw dHJ1ZV9iNjQgKCksIHoxLCAxKSkKKworLyoKKyoqIHB0cnVlX2I4X2RpdnJf ZjY0X3hfdGllZDE6CisqKglwdHJ1ZQkocFswLTddKVwuZFteXG5dKgorKioJ ZmRpdnIJejBcLmQsIFwxL20sIHowXC5kLCB6MVwuZAorKioJcmV0CisqLwor VEVTVF9VTklGT1JNX1ogKHB0cnVlX2I4X2RpdnJfZjY0X3hfdGllZDEsIHN2 ZmxvYXQ2NF90LAorCQl6MCA9IHN2ZGl2cl9mNjRfeCAoc3ZwdHJ1ZV9iOCAo KSwgejAsIHoxKSwKKwkJejAgPSBzdmRpdnJfeCAoc3ZwdHJ1ZV9iOCAoKSwg ejAsIHoxKSkKKworLyoKKyoqIHB0cnVlX2I4X2RpdnJfZjY0X3hfdGllZDI6 CisqKglwdHJ1ZQkocFswLTddKVwuZFteXG5dKgorKioJZmRpdgl6MVwuZCwg XDEvbSwgejFcLmQsIHowXC5kCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1f WiAocHRydWVfYjhfZGl2cl9mNjRfeF90aWVkMiwgc3ZmbG9hdDY0X3QsCisJ CXoxID0gc3ZkaXZyX2Y2NF94IChzdnB0cnVlX2I4ICgpLCB6MCwgejEpLAor CQl6MSA9IHN2ZGl2cl94IChzdnB0cnVlX2I4ICgpLCB6MCwgejEpKQorCisv KgorKiogcHRydWVfYjhfZGl2cl9mNjRfeF91bnRpZWQ6CisqKglwdHJ1ZQko cFswLTddKVwuZFteXG5dKgorKioJbW92cHJmeAl6MiwgejEKKyoqCWZkaXYJ ejJcLmQsIFwxL20sIHoyXC5kLCB6MFwuZAorKioJcmV0CisqLworVEVTVF9V TklGT1JNX1ogKHB0cnVlX2I4X2RpdnJfZjY0X3hfdW50aWVkLCBzdmZsb2F0 NjRfdCwKKwkJejIgPSBzdmRpdnJfZjY0X3ggKHN2cHRydWVfYjggKCksIHow LCB6MSksCisJCXoyID0gc3ZkaXZyX3ggKHN2cHRydWVfYjggKCksIHowLCB6 MSkpCmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvYWFy Y2g2NC9zdmUtYWNsZS9hc20vZGl2cl9zMzIuYyBiL2djYy90ZXN0c3VpdGUv Z2NjLnRhcmdldC9hYXJjaDY0L3N2ZS1hY2xlL2FzbS9kaXZyX3MzMi5jCm5l dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgzNGU0NTcKLS0t IC9kZXYvbnVsbAorKysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvYWFy Y2g2NC9zdmUtYWNsZS9hc20vZGl2cl9zMzIuYwpAQCAtMCwwICsxLDI2NCBA QAorLyogeyBkZy1kbyBjb21waWxlIH0gKi8KKy8qIHsgZGctZmluYWwgeyBj aGVjay1mdW5jdGlvbi1ib2RpZXMgIioqIiAiIiAiLURDSEVDS19BU00iIH0g fSAqLworCisjaW5jbHVkZSAidGVzdF9zdmVfYWNsZS5oIgorCisvKgorKiog ZGl2cl9zMzJfbV90aWVkMToKKyoqCXNkaXZyCXowXC5zLCBwMC9tLCB6MFwu cywgejFcLnMKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChkaXZyX3Mz Ml9tX3RpZWQxLCBzdmludDMyX3QsCisJCXowID0gc3ZkaXZyX3MzMl9tIChw MCwgejAsIHoxKSwKKwkJejAgPSBzdmRpdnJfbSAocDAsIHowLCB6MSkpCisK Ky8qIEJhZCBSQSBjaG9pY2U6IG5vIHByZWZlcnJlZCBvdXRwdXQgc2VxdWVu Y2UuICAqLworVEVTVF9VTklGT1JNX1ogKGRpdnJfczMyX21fdGllZDIsIHN2 aW50MzJfdCwKKwkJejEgPSBzdmRpdnJfczMyX20gKHAwLCB6MCwgejEpLAor CQl6MSA9IHN2ZGl2cl9tIChwMCwgejAsIHoxKSkKKworLyoKKyoqIGRpdnJf czMyX21fdW50aWVkOgorKioJbW92cHJmeAl6MCwgejEKKyoqCXNkaXZyCXow XC5zLCBwMC9tLCB6MFwucywgejJcLnMKKyoqCXJldAorKi8KK1RFU1RfVU5J Rk9STV9aIChkaXZyX3MzMl9tX3VudGllZCwgc3ZpbnQzMl90LAorCQl6MCA9 IHN2ZGl2cl9zMzJfbSAocDAsIHoxLCB6MiksCisJCXowID0gc3ZkaXZyX20g KHAwLCB6MSwgejIpKQorCisvKgorKiogZGl2cl93MF9zMzJfbV90aWVkMToK KyoqCW1vdgkoelswLTldK1wucyksIHcwCisqKglzZGl2cgl6MFwucywgcDAv bSwgejBcLnMsIFwxCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWlMgKGRp dnJfdzBfczMyX21fdGllZDEsIHN2aW50MzJfdCwgaW50MzJfdCwKKwkJIHow ID0gc3ZkaXZyX25fczMyX20gKHAwLCB6MCwgeDApLAorCQkgejAgPSBzdmRp dnJfbSAocDAsIHowLCB4MCkpCisKKy8qCisqKiBkaXZyX3cwX3MzMl9tX3Vu dGllZDoKKyoqCW1vdgkoelswLTldK1wucyksIHcwCisqKgltb3ZwcmZ4CXow LCB6MQorKioJc2RpdnIJejBcLnMsIHAwL20sIHowXC5zLCBcMQorKioJcmV0 CisqLworVEVTVF9VTklGT1JNX1pTIChkaXZyX3cwX3MzMl9tX3VudGllZCwg c3ZpbnQzMl90LCBpbnQzMl90LAorCQkgejAgPSBzdmRpdnJfbl9zMzJfbSAo cDAsIHoxLCB4MCksCisJCSB6MCA9IHN2ZGl2cl9tIChwMCwgejEsIHgwKSkK KworLyoKKyoqIGRpdnJfczBfczMyX21fdGllZDE6CisqKgltb3YJKHpbMC05 XStcLnMpLCBzMAorKioJc2RpdnIJejFcLnMsIHAwL20sIHoxXC5zLCBcMQor KioJcmV0CisqLworVEVTVF9VTklGT1JNX1pTIChkaXZyX3MwX3MzMl9tX3Rp ZWQxLCBzdmludDMyX3QsIGludDMyX3QsCisJCSB6MSA9IHN2ZGl2cl9uX3Mz Ml9tIChwMCwgejEsIGQwKSwKKwkJIHoxID0gc3ZkaXZyX20gKHAwLCB6MSwg ZDApKQorCisvKgorKiogZGl2cl9zMF9zMzJfbV91bnRpZWQ6CisqKgltb3YJ KHpbMC05XStcLnMpLCBzMAorKioJbW92cHJmeAl6MSwgejIKKyoqCXNkaXZy CXoxXC5zLCBwMC9tLCB6MVwucywgXDEKKyoqCXJldAorKi8KK1RFU1RfVU5J Rk9STV9aUyAoZGl2cl9zMF9zMzJfbV91bnRpZWQsIHN2aW50MzJfdCwgaW50 MzJfdCwKKwkJIHoxID0gc3ZkaXZyX25fczMyX20gKHAwLCB6MiwgZDApLAor CQkgejEgPSBzdmRpdnJfbSAocDAsIHoyLCBkMCkpCisKKy8qCisqKiBkaXZy XzJfczMyX21fdGllZDE6CisqKgltb3YJKHpbMC05XStcLnMpLCAjMgorKioJ c2RpdnIJejBcLnMsIHAwL20sIHowXC5zLCBcMQorKioJcmV0CisqLworVEVT VF9VTklGT1JNX1ogKGRpdnJfMl9zMzJfbV90aWVkMSwgc3ZpbnQzMl90LAor CQl6MCA9IHN2ZGl2cl9uX3MzMl9tIChwMCwgejAsIDIpLAorCQl6MCA9IHN2 ZGl2cl9tIChwMCwgejAsIDIpKQorCisvKgorKiogZGl2cl8yX3MzMl9tX3Vu dGllZDoKKyoqCW1vdgkoelswLTldK1wucyksICMyCisqKgltb3ZwcmZ4CXow LCB6MQorKioJc2RpdnIJejBcLnMsIHAwL20sIHowXC5zLCBcMQorKioJcmV0 CisqLworVEVTVF9VTklGT1JNX1ogKGRpdnJfMl9zMzJfbV91bnRpZWQsIHN2 aW50MzJfdCwKKwkJejAgPSBzdmRpdnJfbl9zMzJfbSAocDAsIHoxLCAyKSwK KwkJejAgPSBzdmRpdnJfbSAocDAsIHoxLCAyKSkKKworLyoKKyoqIGRpdnJf bTFfczMyX206CisqKgltb3YJKHpbMC05XSspXC5iLCAjKC0xfDI1NSkKKyoq CXNkaXZyCXowXC5zLCBwMC9tLCB6MFwucywgXDFcLnMKKyoqCXJldAorKi8K K1RFU1RfVU5JRk9STV9aIChkaXZyX20xX3MzMl9tLCBzdmludDMyX3QsCisJ CXowID0gc3ZkaXZyX25fczMyX20gKHAwLCB6MCwgLTEpLAorCQl6MCA9IHN2 ZGl2cl9tIChwMCwgejAsIC0xKSkKKworLyoKKyoqIGRpdnJfczMyX3pfdGll ZDE6CisqKgltb3ZwcmZ4CXowXC5zLCBwMC96LCB6MFwucworKioJc2RpdnIJ ejBcLnMsIHAwL20sIHowXC5zLCB6MVwucworKioJcmV0CisqLworVEVTVF9V TklGT1JNX1ogKGRpdnJfczMyX3pfdGllZDEsIHN2aW50MzJfdCwKKwkJejAg PSBzdmRpdnJfczMyX3ogKHAwLCB6MCwgejEpLAorCQl6MCA9IHN2ZGl2cl96 IChwMCwgejAsIHoxKSkKKworLyoKKyoqIGRpdnJfczMyX3pfdGllZDI6Cisq Kgltb3ZwcmZ4CXoxXC5zLCBwMC96LCB6MVwucworKioJc2Rpdgl6MVwucywg cDAvbSwgejFcLnMsIHowXC5zCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1f WiAoZGl2cl9zMzJfel90aWVkMiwgc3ZpbnQzMl90LAorCQl6MSA9IHN2ZGl2 cl9zMzJfeiAocDAsIHowLCB6MSksCisJCXoxID0gc3ZkaXZyX3ogKHAwLCB6 MCwgejEpKQorCisvKgorKiogZGl2cl9zMzJfel91bnRpZWQ6CisqKgltb3Zw cmZ4CXowXC5zLCBwMC96LCB6MlwucworKioJc2Rpdgl6MFwucywgcDAvbSwg ejBcLnMsIHoxXC5zCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAoZGl2 cl9zMzJfel91bnRpZWQsIHN2aW50MzJfdCwKKwkJejAgPSBzdmRpdnJfczMy X3ogKHAwLCB6MSwgejIpLAorCQl6MCA9IHN2ZGl2cl96IChwMCwgejEsIHoy KSkKKworLyoKKyoqIGRpdnJfdzBfczMyX3pfdGllZDE6CisqKgltb3YJKHpb MC05XStcLnMpLCB3MAorKioJbW92cHJmeAl6MFwucywgcDAveiwgejBcLnMK KyoqCXNkaXZyCXowXC5zLCBwMC9tLCB6MFwucywgXDEKKyoqCXJldAorKi8K K1RFU1RfVU5JRk9STV9aUyAoZGl2cl93MF9zMzJfel90aWVkMSwgc3ZpbnQz Ml90LCBpbnQzMl90LAorCQkgejAgPSBzdmRpdnJfbl9zMzJfeiAocDAsIHow LCB4MCksCisJCSB6MCA9IHN2ZGl2cl96IChwMCwgejAsIHgwKSkKKworLyoK KyoqIGRpdnJfdzBfczMyX3pfdW50aWVkOgorKioJbW92CSh6WzAtOV0rXC5z KSwgdzAKKyoqCW1vdnByZngJejBcLnMsIHAwL3osIFwxCisqKglzZGl2CXow XC5zLCBwMC9tLCB6MFwucywgejFcLnMKKyoqCXJldAorKi8KK1RFU1RfVU5J Rk9STV9aUyAoZGl2cl93MF9zMzJfel91bnRpZWQsIHN2aW50MzJfdCwgaW50 MzJfdCwKKwkJIHowID0gc3ZkaXZyX25fczMyX3ogKHAwLCB6MSwgeDApLAor CQkgejAgPSBzdmRpdnJfeiAocDAsIHoxLCB4MCkpCisKKy8qCisqKiBkaXZy X3MwX3MzMl96X3RpZWQxOgorKioJbW92CSh6WzAtOV0rXC5zKSwgczAKKyoq CW1vdnByZngJejFcLnMsIHAwL3osIHoxXC5zCisqKglzZGl2cgl6MVwucywg cDAvbSwgejFcLnMsIFwxCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWlMg KGRpdnJfczBfczMyX3pfdGllZDEsIHN2aW50MzJfdCwgaW50MzJfdCwKKwkJ IHoxID0gc3ZkaXZyX25fczMyX3ogKHAwLCB6MSwgZDApLAorCQkgejEgPSBz dmRpdnJfeiAocDAsIHoxLCBkMCkpCisKKy8qCisqKiBkaXZyX3MwX3MzMl96 X3VudGllZDoKKyoqCW1vdgkoelswLTldK1wucyksIHMwCisqKgltb3ZwcmZ4 CXoxXC5zLCBwMC96LCBcMQorKioJc2Rpdgl6MVwucywgcDAvbSwgejFcLnMs IHoyXC5zCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWlMgKGRpdnJfczBf czMyX3pfdW50aWVkLCBzdmludDMyX3QsIGludDMyX3QsCisJCSB6MSA9IHN2 ZGl2cl9uX3MzMl96IChwMCwgejIsIGQwKSwKKwkJIHoxID0gc3ZkaXZyX3og KHAwLCB6MiwgZDApKQorCisvKgorKiogZGl2cl9zMzJfeF90aWVkMToKKyoq CXNkaXZyCXowXC5zLCBwMC9tLCB6MFwucywgejFcLnMKKyoqCXJldAorKi8K K1RFU1RfVU5JRk9STV9aIChkaXZyX3MzMl94X3RpZWQxLCBzdmludDMyX3Qs CisJCXowID0gc3ZkaXZyX3MzMl94IChwMCwgejAsIHoxKSwKKwkJejAgPSBz dmRpdnJfeCAocDAsIHowLCB6MSkpCisKKy8qCisqKiBkaXZyX3MzMl94X3Rp ZWQyOgorKioJc2Rpdgl6MVwucywgcDAvbSwgejFcLnMsIHowXC5zCisqKgly ZXQKKyovCitURVNUX1VOSUZPUk1fWiAoZGl2cl9zMzJfeF90aWVkMiwgc3Zp bnQzMl90LAorCQl6MSA9IHN2ZGl2cl9zMzJfeCAocDAsIHowLCB6MSksCisJ CXoxID0gc3ZkaXZyX3ggKHAwLCB6MCwgejEpKQorCisvKgorKiogZGl2cl9z MzJfeF91bnRpZWQ6CisqKgltb3ZwcmZ4CXoyLCB6MQorKioJc2Rpdgl6Mlwu cywgcDAvbSwgejJcLnMsIHowXC5zCisqKglyZXQKKyovCitURVNUX1VOSUZP Uk1fWiAoZGl2cl9zMzJfeF91bnRpZWQsIHN2aW50MzJfdCwKKwkJejIgPSBz dmRpdnJfczMyX3ggKHAwLCB6MCwgejEpLAorCQl6MiA9IHN2ZGl2cl94IChw MCwgejAsIHoxKSkKKworLyoKKyoqIGRpdnJfdzBfczMyX3hfdGllZDE6Cisq Kgltb3YJKHpbMC05XStcLnMpLCB3MAorKioJc2RpdnIJejBcLnMsIHAwL20s IHowXC5zLCBcMQorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1pTIChkaXZy X3cwX3MzMl94X3RpZWQxLCBzdmludDMyX3QsIGludDMyX3QsCisJCSB6MCA9 IHN2ZGl2cl9uX3MzMl94IChwMCwgejAsIHgwKSwKKwkJIHowID0gc3ZkaXZy X3ggKHAwLCB6MCwgeDApKQorCisvKgorKiogZGl2cl93MF9zMzJfeF91bnRp ZWQ6CisqKgltb3YJejFcLnMsIHcwCisqKglzZGl2CXoxXC5zLCBwMC9tLCB6 MVwucywgejBcLnMKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aUyAoZGl2 cl93MF9zMzJfeF91bnRpZWQsIHN2aW50MzJfdCwgaW50MzJfdCwKKwkJIHox ID0gc3ZkaXZyX25fczMyX3ggKHAwLCB6MCwgeDApLAorCQkgejEgPSBzdmRp dnJfeCAocDAsIHowLCB4MCkpCisKKy8qCisqKiBkaXZyX3MwX3MzMl94X3Rp ZWQxOgorKioJbW92CSh6WzAtOV0rXC5zKSwgczAKKyoqCXNkaXZyCXoxXC5z LCBwMC9tLCB6MVwucywgXDEKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9a UyAoZGl2cl9zMF9zMzJfeF90aWVkMSwgc3ZpbnQzMl90LCBpbnQzMl90LAor CQkgejEgPSBzdmRpdnJfbl9zMzJfeCAocDAsIHoxLCBkMCksCisJCSB6MSA9 IHN2ZGl2cl94IChwMCwgejEsIGQwKSkKKworLyoKKyoqIGRpdnJfczBfczMy X3hfdW50aWVkOgorKioJbW92CXoyXC5zLCBzMAorKioJc2Rpdgl6Mlwucywg cDAvbSwgejJcLnMsIHoxXC5zCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1f WlMgKGRpdnJfczBfczMyX3hfdW50aWVkLCBzdmludDMyX3QsIGludDMyX3Qs CisJCSB6MiA9IHN2ZGl2cl9uX3MzMl94IChwMCwgejEsIGQwKSwKKwkJIHoy ID0gc3ZkaXZyX3ggKHAwLCB6MSwgZDApKQorCisvKgorKiogZGl2cl8yX3Mz Ml94X3RpZWQxOgorKioJbW92CSh6WzAtOV0rXC5zKSwgIzIKKyoqCXNkaXZy CXowXC5zLCBwMC9tLCB6MFwucywgXDEKKyoqCXJldAorKi8KK1RFU1RfVU5J Rk9STV9aIChkaXZyXzJfczMyX3hfdGllZDEsIHN2aW50MzJfdCwKKwkJejAg PSBzdmRpdnJfbl9zMzJfeCAocDAsIHowLCAyKSwKKwkJejAgPSBzdmRpdnJf eCAocDAsIHowLCAyKSkKKworLyoKKyoqIGRpdnJfMl9zMzJfeF91bnRpZWQ6 CisqKgltb3YJejBcLnMsICMyCisqKglzZGl2CXowXC5zLCBwMC9tLCB6MFwu cywgejFcLnMKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChkaXZyXzJf czMyX3hfdW50aWVkLCBzdmludDMyX3QsCisJCXowID0gc3ZkaXZyX25fczMy X3ggKHAwLCB6MSwgMiksCisJCXowID0gc3ZkaXZyX3ggKHAwLCB6MSwgMikp CisKZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9hYXJj aDY0L3N2ZS1hY2xlL2FzbS9kaXZyX3M2NC5jIGIvZ2NjL3Rlc3RzdWl0ZS9n Y2MudGFyZ2V0L2FhcmNoNjQvc3ZlLWFjbGUvYXNtL2RpdnJfczY0LmMKbmV3 IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjU0YTExOQotLS0g L2Rldi9udWxsCisrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9hYXJj aDY0L3N2ZS1hY2xlL2FzbS9kaXZyX3M2NC5jCkBAIC0wLDAgKzEsMjY0IEBA CisvKiB7IGRnLWRvIGNvbXBpbGUgfSAqLworLyogeyBkZy1maW5hbCB7IGNo ZWNrLWZ1bmN0aW9uLWJvZGllcyAiKioiICIiICItRENIRUNLX0FTTSIgfSB9 ICovCisKKyNpbmNsdWRlICJ0ZXN0X3N2ZV9hY2xlLmgiCisKKy8qCisqKiBk aXZyX3M2NF9tX3RpZWQxOgorKioJc2RpdnIJejBcLmQsIHAwL20sIHowXC5k LCB6MVwuZAorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKGRpdnJfczY0 X21fdGllZDEsIHN2aW50NjRfdCwKKwkJejAgPSBzdmRpdnJfczY0X20gKHAw LCB6MCwgejEpLAorCQl6MCA9IHN2ZGl2cl9tIChwMCwgejAsIHoxKSkKKwor LyogQmFkIFJBIGNob2ljZTogbm8gcHJlZmVycmVkIG91dHB1dCBzZXF1ZW5j ZS4gICovCitURVNUX1VOSUZPUk1fWiAoZGl2cl9zNjRfbV90aWVkMiwgc3Zp bnQ2NF90LAorCQl6MSA9IHN2ZGl2cl9zNjRfbSAocDAsIHowLCB6MSksCisJ CXoxID0gc3ZkaXZyX20gKHAwLCB6MCwgejEpKQorCisvKgorKiogZGl2cl9z NjRfbV91bnRpZWQ6CisqKgltb3ZwcmZ4CXowLCB6MQorKioJc2RpdnIJejBc LmQsIHAwL20sIHowXC5kLCB6MlwuZAorKioJcmV0CisqLworVEVTVF9VTklG T1JNX1ogKGRpdnJfczY0X21fdW50aWVkLCBzdmludDY0X3QsCisJCXowID0g c3ZkaXZyX3M2NF9tIChwMCwgejEsIHoyKSwKKwkJejAgPSBzdmRpdnJfbSAo cDAsIHoxLCB6MikpCisKKy8qCisqKiBkaXZyX3gwX3M2NF9tX3RpZWQxOgor KioJbW92CSh6WzAtOV0rXC5kKSwgeDAKKyoqCXNkaXZyCXowXC5kLCBwMC9t LCB6MFwuZCwgXDEKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aUyAoZGl2 cl94MF9zNjRfbV90aWVkMSwgc3ZpbnQ2NF90LCBpbnQ2NF90LAorCQkgejAg PSBzdmRpdnJfbl9zNjRfbSAocDAsIHowLCB4MCksCisJCSB6MCA9IHN2ZGl2 cl9tIChwMCwgejAsIHgwKSkKKworLyoKKyoqIGRpdnJfeDBfczY0X21fdW50 aWVkOgorKioJbW92CSh6WzAtOV0rXC5kKSwgeDAKKyoqCW1vdnByZngJejAs IHoxCisqKglzZGl2cgl6MFwuZCwgcDAvbSwgejBcLmQsIFwxCisqKglyZXQK KyovCitURVNUX1VOSUZPUk1fWlMgKGRpdnJfeDBfczY0X21fdW50aWVkLCBz dmludDY0X3QsIGludDY0X3QsCisJCSB6MCA9IHN2ZGl2cl9uX3M2NF9tIChw MCwgejEsIHgwKSwKKwkJIHowID0gc3ZkaXZyX20gKHAwLCB6MSwgeDApKQor CisvKgorKiogZGl2cl9kMF9zNjRfbV90aWVkMToKKyoqCW1vdgkoelswLTld K1wuZCksIGQwCisqKglzZGl2cgl6MVwuZCwgcDAvbSwgejFcLmQsIFwxCisq KglyZXQKKyovCitURVNUX1VOSUZPUk1fWlMgKGRpdnJfZDBfczY0X21fdGll ZDEsIHN2aW50NjRfdCwgaW50NjRfdCwKKwkJIHoxID0gc3ZkaXZyX25fczY0 X20gKHAwLCB6MSwgZDApLAorCQkgejEgPSBzdmRpdnJfbSAocDAsIHoxLCBk MCkpCisKKy8qCisqKiBkaXZyX2QwX3M2NF9tX3VudGllZDoKKyoqCW1vdgko elswLTldK1wuZCksIGQwCisqKgltb3ZwcmZ4CXoxLCB6MgorKioJc2RpdnIJ ejFcLmQsIHAwL20sIHoxXC5kLCBcMQorKioJcmV0CisqLworVEVTVF9VTklG T1JNX1pTIChkaXZyX2QwX3M2NF9tX3VudGllZCwgc3ZpbnQ2NF90LCBpbnQ2 NF90LAorCQkgejEgPSBzdmRpdnJfbl9zNjRfbSAocDAsIHoyLCBkMCksCisJ CSB6MSA9IHN2ZGl2cl9tIChwMCwgejIsIGQwKSkKKworLyoKKyoqIGRpdnJf Ml9zNjRfbV90aWVkMToKKyoqCW1vdgkoelswLTldK1wuZCksICMyCisqKglz ZGl2cgl6MFwuZCwgcDAvbSwgejBcLmQsIFwxCisqKglyZXQKKyovCitURVNU X1VOSUZPUk1fWiAoZGl2cl8yX3M2NF9tX3RpZWQxLCBzdmludDY0X3QsCisJ CXowID0gc3ZkaXZyX25fczY0X20gKHAwLCB6MCwgMiksCisJCXowID0gc3Zk aXZyX20gKHAwLCB6MCwgMikpCisKKy8qCisqKiBkaXZyXzJfczY0X21fdW50 aWVkOgorKioJbW92CSh6WzAtOV0rXC5kKSwgIzIKKyoqCW1vdnByZngJejAs IHoxCisqKglzZGl2cgl6MFwuZCwgcDAvbSwgejBcLmQsIFwxCisqKglyZXQK KyovCitURVNUX1VOSUZPUk1fWiAoZGl2cl8yX3M2NF9tX3VudGllZCwgc3Zp bnQ2NF90LAorCQl6MCA9IHN2ZGl2cl9uX3M2NF9tIChwMCwgejEsIDIpLAor CQl6MCA9IHN2ZGl2cl9tIChwMCwgejEsIDIpKQorCisvKgorKiogZGl2cl9t MV9zNjRfbToKKyoqCW1vdgkoelswLTldKylcLmIsICMoLTF8MjU1KQorKioJ c2RpdnIJejBcLmQsIHAwL20sIHowXC5kLCBcMVwuZAorKioJcmV0CisqLwor VEVTVF9VTklGT1JNX1ogKGRpdnJfbTFfczY0X20sIHN2aW50NjRfdCwKKwkJ ejAgPSBzdmRpdnJfbl9zNjRfbSAocDAsIHowLCAtMSksCisJCXowID0gc3Zk aXZyX20gKHAwLCB6MCwgLTEpKQorCisvKgorKiogZGl2cl9zNjRfel90aWVk MToKKyoqCW1vdnByZngJejBcLmQsIHAwL3osIHowXC5kCisqKglzZGl2cgl6 MFwuZCwgcDAvbSwgejBcLmQsIHoxXC5kCisqKglyZXQKKyovCitURVNUX1VO SUZPUk1fWiAoZGl2cl9zNjRfel90aWVkMSwgc3ZpbnQ2NF90LAorCQl6MCA9 IHN2ZGl2cl9zNjRfeiAocDAsIHowLCB6MSksCisJCXowID0gc3ZkaXZyX3og KHAwLCB6MCwgejEpKQorCisvKgorKiogZGl2cl9zNjRfel90aWVkMjoKKyoq CW1vdnByZngJejFcLmQsIHAwL3osIHoxXC5kCisqKglzZGl2CXoxXC5kLCBw MC9tLCB6MVwuZCwgejBcLmQKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9a IChkaXZyX3M2NF96X3RpZWQyLCBzdmludDY0X3QsCisJCXoxID0gc3ZkaXZy X3M2NF96IChwMCwgejAsIHoxKSwKKwkJejEgPSBzdmRpdnJfeiAocDAsIHow LCB6MSkpCisKKy8qCisqKiBkaXZyX3M2NF96X3VudGllZDoKKyoqCW1vdnBy ZngJejBcLmQsIHAwL3osIHoyXC5kCisqKglzZGl2CXowXC5kLCBwMC9tLCB6 MFwuZCwgejFcLmQKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChkaXZy X3M2NF96X3VudGllZCwgc3ZpbnQ2NF90LAorCQl6MCA9IHN2ZGl2cl9zNjRf eiAocDAsIHoxLCB6MiksCisJCXowID0gc3ZkaXZyX3ogKHAwLCB6MSwgejIp KQorCisvKgorKiogZGl2cl94MF9zNjRfel90aWVkMToKKyoqCW1vdgkoelsw LTldK1wuZCksIHgwCisqKgltb3ZwcmZ4CXowXC5kLCBwMC96LCB6MFwuZAor KioJc2RpdnIJejBcLmQsIHAwL20sIHowXC5kLCBcMQorKioJcmV0CisqLwor VEVTVF9VTklGT1JNX1pTIChkaXZyX3gwX3M2NF96X3RpZWQxLCBzdmludDY0 X3QsIGludDY0X3QsCisJCSB6MCA9IHN2ZGl2cl9uX3M2NF96IChwMCwgejAs IHgwKSwKKwkJIHowID0gc3ZkaXZyX3ogKHAwLCB6MCwgeDApKQorCisvKgor KiogZGl2cl94MF9zNjRfel91bnRpZWQ6CisqKgltb3YJKHpbMC05XStcLmQp LCB4MAorKioJbW92cHJmeAl6MFwuZCwgcDAveiwgXDEKKyoqCXNkaXYJejBc LmQsIHAwL20sIHowXC5kLCB6MVwuZAorKioJcmV0CisqLworVEVTVF9VTklG T1JNX1pTIChkaXZyX3gwX3M2NF96X3VudGllZCwgc3ZpbnQ2NF90LCBpbnQ2 NF90LAorCQkgejAgPSBzdmRpdnJfbl9zNjRfeiAocDAsIHoxLCB4MCksCisJ CSB6MCA9IHN2ZGl2cl96IChwMCwgejEsIHgwKSkKKworLyoKKyoqIGRpdnJf ZDBfczY0X3pfdGllZDE6CisqKgltb3YJKHpbMC05XStcLmQpLCBkMAorKioJ bW92cHJmeAl6MVwuZCwgcDAveiwgejFcLmQKKyoqCXNkaXZyCXoxXC5kLCBw MC9tLCB6MVwuZCwgXDEKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aUyAo ZGl2cl9kMF9zNjRfel90aWVkMSwgc3ZpbnQ2NF90LCBpbnQ2NF90LAorCQkg ejEgPSBzdmRpdnJfbl9zNjRfeiAocDAsIHoxLCBkMCksCisJCSB6MSA9IHN2 ZGl2cl96IChwMCwgejEsIGQwKSkKKworLyoKKyoqIGRpdnJfZDBfczY0X3pf dW50aWVkOgorKioJbW92CSh6WzAtOV0rXC5kKSwgZDAKKyoqCW1vdnByZngJ ejFcLmQsIHAwL3osIFwxCisqKglzZGl2CXoxXC5kLCBwMC9tLCB6MVwuZCwg ejJcLmQKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aUyAoZGl2cl9kMF9z NjRfel91bnRpZWQsIHN2aW50NjRfdCwgaW50NjRfdCwKKwkJIHoxID0gc3Zk aXZyX25fczY0X3ogKHAwLCB6MiwgZDApLAorCQkgejEgPSBzdmRpdnJfeiAo cDAsIHoyLCBkMCkpCisKKy8qCisqKiBkaXZyX3M2NF94X3RpZWQxOgorKioJ c2RpdnIJejBcLmQsIHAwL20sIHowXC5kLCB6MVwuZAorKioJcmV0CisqLwor VEVTVF9VTklGT1JNX1ogKGRpdnJfczY0X3hfdGllZDEsIHN2aW50NjRfdCwK KwkJejAgPSBzdmRpdnJfczY0X3ggKHAwLCB6MCwgejEpLAorCQl6MCA9IHN2 ZGl2cl94IChwMCwgejAsIHoxKSkKKworLyoKKyoqIGRpdnJfczY0X3hfdGll ZDI6CisqKglzZGl2CXoxXC5kLCBwMC9tLCB6MVwuZCwgejBcLmQKKyoqCXJl dAorKi8KK1RFU1RfVU5JRk9STV9aIChkaXZyX3M2NF94X3RpZWQyLCBzdmlu dDY0X3QsCisJCXoxID0gc3ZkaXZyX3M2NF94IChwMCwgejAsIHoxKSwKKwkJ ejEgPSBzdmRpdnJfeCAocDAsIHowLCB6MSkpCisKKy8qCisqKiBkaXZyX3M2 NF94X3VudGllZDoKKyoqCW1vdnByZngJejIsIHoxCisqKglzZGl2CXoyXC5k LCBwMC9tLCB6MlwuZCwgejBcLmQKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9S TV9aIChkaXZyX3M2NF94X3VudGllZCwgc3ZpbnQ2NF90LAorCQl6MiA9IHN2 ZGl2cl9zNjRfeCAocDAsIHowLCB6MSksCisJCXoyID0gc3ZkaXZyX3ggKHAw LCB6MCwgejEpKQorCisvKgorKiogZGl2cl94MF9zNjRfeF90aWVkMToKKyoq CW1vdgkoelswLTldK1wuZCksIHgwCisqKglzZGl2cgl6MFwuZCwgcDAvbSwg ejBcLmQsIFwxCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWlMgKGRpdnJf eDBfczY0X3hfdGllZDEsIHN2aW50NjRfdCwgaW50NjRfdCwKKwkJIHowID0g c3ZkaXZyX25fczY0X3ggKHAwLCB6MCwgeDApLAorCQkgejAgPSBzdmRpdnJf eCAocDAsIHowLCB4MCkpCisKKy8qCisqKiBkaXZyX3gwX3M2NF94X3VudGll ZDoKKyoqCW1vdgl6MVwuZCwgeDAKKyoqCXNkaXYJejFcLmQsIHAwL20sIHox XC5kLCB6MFwuZAorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1pTIChkaXZy X3gwX3M2NF94X3VudGllZCwgc3ZpbnQ2NF90LCBpbnQ2NF90LAorCQkgejEg PSBzdmRpdnJfbl9zNjRfeCAocDAsIHowLCB4MCksCisJCSB6MSA9IHN2ZGl2 cl94IChwMCwgejAsIHgwKSkKKworLyoKKyoqIGRpdnJfZDBfczY0X3hfdGll ZDE6CisqKgltb3YJKHpbMC05XStcLmQpLCBkMAorKioJc2RpdnIJejFcLmQs IHAwL20sIHoxXC5kLCBcMQorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1pT IChkaXZyX2QwX3M2NF94X3RpZWQxLCBzdmludDY0X3QsIGludDY0X3QsCisJ CSB6MSA9IHN2ZGl2cl9uX3M2NF94IChwMCwgejEsIGQwKSwKKwkJIHoxID0g c3ZkaXZyX3ggKHAwLCB6MSwgZDApKQorCisvKgorKiogZGl2cl9kMF9zNjRf eF91bnRpZWQ6CisqKgltb3YJejJcLmQsIGQwCisqKglzZGl2CXoyXC5kLCBw MC9tLCB6MlwuZCwgejFcLmQKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9a UyAoZGl2cl9kMF9zNjRfeF91bnRpZWQsIHN2aW50NjRfdCwgaW50NjRfdCwK KwkJIHoyID0gc3ZkaXZyX25fczY0X3ggKHAwLCB6MSwgZDApLAorCQkgejIg PSBzdmRpdnJfeCAocDAsIHoxLCBkMCkpCisKKy8qCisqKiBkaXZyXzJfczY0 X3hfdGllZDE6CisqKgltb3YJKHpbMC05XStcLmQpLCAjMgorKioJc2RpdnIJ ejBcLmQsIHAwL20sIHowXC5kLCBcMQorKioJcmV0CisqLworVEVTVF9VTklG T1JNX1ogKGRpdnJfMl9zNjRfeF90aWVkMSwgc3ZpbnQ2NF90LAorCQl6MCA9 IHN2ZGl2cl9uX3M2NF94IChwMCwgejAsIDIpLAorCQl6MCA9IHN2ZGl2cl94 IChwMCwgejAsIDIpKQorCisvKgorKiogZGl2cl8yX3M2NF94X3VudGllZDoK KyoqCW1vdgl6MFwuZCwgIzIKKyoqCXNkaXYJejBcLmQsIHAwL20sIHowXC5k LCB6MVwuZAorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKGRpdnJfMl9z NjRfeF91bnRpZWQsIHN2aW50NjRfdCwKKwkJejAgPSBzdmRpdnJfbl9zNjRf eCAocDAsIHoxLCAyKSwKKwkJejAgPSBzdmRpdnJfeCAocDAsIHoxLCAyKSkK KwpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2FhcmNo NjQvc3ZlLWFjbGUvYXNtL2RpdnJfdTMyLmMgYi9nY2MvdGVzdHN1aXRlL2dj Yy50YXJnZXQvYWFyY2g2NC9zdmUtYWNsZS9hc20vZGl2cl91MzIuYwpuZXcg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lZmFlMGZkCi0tLSAv ZGV2L251bGwKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2FhcmNo NjQvc3ZlLWFjbGUvYXNtL2RpdnJfdTMyLmMKQEAgLTAsMCArMSwyNjQgQEAK Ky8qIHsgZGctZG8gY29tcGlsZSB9ICovCisvKiB7IGRnLWZpbmFsIHsgY2hl Y2stZnVuY3Rpb24tYm9kaWVzICIqKiIgIiIgIi1EQ0hFQ0tfQVNNIiB9IH0g Ki8KKworI2luY2x1ZGUgInRlc3Rfc3ZlX2FjbGUuaCIKKworLyoKKyoqIGRp dnJfdTMyX21fdGllZDE6CisqKgl1ZGl2cgl6MFwucywgcDAvbSwgejBcLnMs IHoxXC5zCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAoZGl2cl91MzJf bV90aWVkMSwgc3Z1aW50MzJfdCwKKwkJejAgPSBzdmRpdnJfdTMyX20gKHAw LCB6MCwgejEpLAorCQl6MCA9IHN2ZGl2cl9tIChwMCwgejAsIHoxKSkKKwor LyogQmFkIFJBIGNob2ljZTogbm8gcHJlZmVycmVkIG91dHB1dCBzZXF1ZW5j ZS4gICovCitURVNUX1VOSUZPUk1fWiAoZGl2cl91MzJfbV90aWVkMiwgc3Z1 aW50MzJfdCwKKwkJejEgPSBzdmRpdnJfdTMyX20gKHAwLCB6MCwgejEpLAor CQl6MSA9IHN2ZGl2cl9tIChwMCwgejAsIHoxKSkKKworLyoKKyoqIGRpdnJf dTMyX21fdW50aWVkOgorKioJbW92cHJmeAl6MCwgejEKKyoqCXVkaXZyCXow XC5zLCBwMC9tLCB6MFwucywgejJcLnMKKyoqCXJldAorKi8KK1RFU1RfVU5J Rk9STV9aIChkaXZyX3UzMl9tX3VudGllZCwgc3Z1aW50MzJfdCwKKwkJejAg PSBzdmRpdnJfdTMyX20gKHAwLCB6MSwgejIpLAorCQl6MCA9IHN2ZGl2cl9t IChwMCwgejEsIHoyKSkKKworLyoKKyoqIGRpdnJfdzBfdTMyX21fdGllZDE6 CisqKgltb3YJKHpbMC05XStcLnMpLCB3MAorKioJdWRpdnIJejBcLnMsIHAw L20sIHowXC5zLCBcMQorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1pTIChk aXZyX3cwX3UzMl9tX3RpZWQxLCBzdnVpbnQzMl90LCB1aW50MzJfdCwKKwkJ IHowID0gc3ZkaXZyX25fdTMyX20gKHAwLCB6MCwgeDApLAorCQkgejAgPSBz dmRpdnJfbSAocDAsIHowLCB4MCkpCisKKy8qCisqKiBkaXZyX3cwX3UzMl9t X3VudGllZDoKKyoqCW1vdgkoelswLTldK1wucyksIHcwCisqKgltb3ZwcmZ4 CXowLCB6MQorKioJdWRpdnIJejBcLnMsIHAwL20sIHowXC5zLCBcMQorKioJ cmV0CisqLworVEVTVF9VTklGT1JNX1pTIChkaXZyX3cwX3UzMl9tX3VudGll ZCwgc3Z1aW50MzJfdCwgdWludDMyX3QsCisJCSB6MCA9IHN2ZGl2cl9uX3Uz Ml9tIChwMCwgejEsIHgwKSwKKwkJIHowID0gc3ZkaXZyX20gKHAwLCB6MSwg eDApKQorCisvKgorKiogZGl2cl9zMF91MzJfbV90aWVkMToKKyoqCW1vdgko elswLTldK1wucyksIHMwCisqKgl1ZGl2cgl6MVwucywgcDAvbSwgejFcLnMs IFwxCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWlMgKGRpdnJfczBfdTMy X21fdGllZDEsIHN2dWludDMyX3QsIHVpbnQzMl90LAorCQkgejEgPSBzdmRp dnJfbl91MzJfbSAocDAsIHoxLCBkMCksCisJCSB6MSA9IHN2ZGl2cl9tIChw MCwgejEsIGQwKSkKKworLyoKKyoqIGRpdnJfczBfdTMyX21fdW50aWVkOgor KioJbW92CSh6WzAtOV0rXC5zKSwgczAKKyoqCW1vdnByZngJejEsIHoyCisq Kgl1ZGl2cgl6MVwucywgcDAvbSwgejFcLnMsIFwxCisqKglyZXQKKyovCitU RVNUX1VOSUZPUk1fWlMgKGRpdnJfczBfdTMyX21fdW50aWVkLCBzdnVpbnQz Ml90LCB1aW50MzJfdCwKKwkJIHoxID0gc3ZkaXZyX25fdTMyX20gKHAwLCB6 MiwgZDApLAorCQkgejEgPSBzdmRpdnJfbSAocDAsIHoyLCBkMCkpCisKKy8q CisqKiBkaXZyXzJfdTMyX21fdGllZDE6CisqKgltb3YJKHpbMC05XStcLnMp LCAjMgorKioJdWRpdnIJejBcLnMsIHAwL20sIHowXC5zLCBcMQorKioJcmV0 CisqLworVEVTVF9VTklGT1JNX1ogKGRpdnJfMl91MzJfbV90aWVkMSwgc3Z1 aW50MzJfdCwKKwkJejAgPSBzdmRpdnJfbl91MzJfbSAocDAsIHowLCAyKSwK KwkJejAgPSBzdmRpdnJfbSAocDAsIHowLCAyKSkKKworLyoKKyoqIGRpdnJf Ml91MzJfbV91bnRpZWQ6CisqKgltb3YJKHpbMC05XStcLnMpLCAjMgorKioJ bW92cHJmeAl6MCwgejEKKyoqCXVkaXZyCXowXC5zLCBwMC9tLCB6MFwucywg XDEKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChkaXZyXzJfdTMyX21f dW50aWVkLCBzdnVpbnQzMl90LAorCQl6MCA9IHN2ZGl2cl9uX3UzMl9tIChw MCwgejEsIDIpLAorCQl6MCA9IHN2ZGl2cl9tIChwMCwgejEsIDIpKQorCisv KgorKiogZGl2cl9tMV91MzJfbToKKyoqCW1vdgkoelswLTldKylcLmIsICMo LTF8MjU1KQorKioJdWRpdnIJejBcLnMsIHAwL20sIHowXC5zLCBcMVwucwor KioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKGRpdnJfbTFfdTMyX20sIHN2 dWludDMyX3QsCisJCXowID0gc3ZkaXZyX25fdTMyX20gKHAwLCB6MCwgLTEp LAorCQl6MCA9IHN2ZGl2cl9tIChwMCwgejAsIC0xKSkKKworLyoKKyoqIGRp dnJfdTMyX3pfdGllZDE6CisqKgltb3ZwcmZ4CXowXC5zLCBwMC96LCB6MFwu cworKioJdWRpdnIJejBcLnMsIHAwL20sIHowXC5zLCB6MVwucworKioJcmV0 CisqLworVEVTVF9VTklGT1JNX1ogKGRpdnJfdTMyX3pfdGllZDEsIHN2dWlu dDMyX3QsCisJCXowID0gc3ZkaXZyX3UzMl96IChwMCwgejAsIHoxKSwKKwkJ ejAgPSBzdmRpdnJfeiAocDAsIHowLCB6MSkpCisKKy8qCisqKiBkaXZyX3Uz Ml96X3RpZWQyOgorKioJbW92cHJmeAl6MVwucywgcDAveiwgejFcLnMKKyoq CXVkaXYJejFcLnMsIHAwL20sIHoxXC5zLCB6MFwucworKioJcmV0CisqLwor VEVTVF9VTklGT1JNX1ogKGRpdnJfdTMyX3pfdGllZDIsIHN2dWludDMyX3Qs CisJCXoxID0gc3ZkaXZyX3UzMl96IChwMCwgejAsIHoxKSwKKwkJejEgPSBz dmRpdnJfeiAocDAsIHowLCB6MSkpCisKKy8qCisqKiBkaXZyX3UzMl96X3Vu dGllZDoKKyoqCW1vdnByZngJejBcLnMsIHAwL3osIHoyXC5zCisqKgl1ZGl2 CXowXC5zLCBwMC9tLCB6MFwucywgejFcLnMKKyoqCXJldAorKi8KK1RFU1Rf VU5JRk9STV9aIChkaXZyX3UzMl96X3VudGllZCwgc3Z1aW50MzJfdCwKKwkJ ejAgPSBzdmRpdnJfdTMyX3ogKHAwLCB6MSwgejIpLAorCQl6MCA9IHN2ZGl2 cl96IChwMCwgejEsIHoyKSkKKworLyoKKyoqIGRpdnJfdzBfdTMyX3pfdGll ZDE6CisqKgltb3YJKHpbMC05XStcLnMpLCB3MAorKioJbW92cHJmeAl6MFwu cywgcDAveiwgejBcLnMKKyoqCXVkaXZyCXowXC5zLCBwMC9tLCB6MFwucywg XDEKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aUyAoZGl2cl93MF91MzJf el90aWVkMSwgc3Z1aW50MzJfdCwgdWludDMyX3QsCisJCSB6MCA9IHN2ZGl2 cl9uX3UzMl96IChwMCwgejAsIHgwKSwKKwkJIHowID0gc3ZkaXZyX3ogKHAw LCB6MCwgeDApKQorCisvKgorKiogZGl2cl93MF91MzJfel91bnRpZWQ6Cisq Kgltb3YJKHpbMC05XStcLnMpLCB3MAorKioJbW92cHJmeAl6MFwucywgcDAv eiwgXDEKKyoqCXVkaXYJejBcLnMsIHAwL20sIHowXC5zLCB6MVwucworKioJ cmV0CisqLworVEVTVF9VTklGT1JNX1pTIChkaXZyX3cwX3UzMl96X3VudGll ZCwgc3Z1aW50MzJfdCwgdWludDMyX3QsCisJCSB6MCA9IHN2ZGl2cl9uX3Uz Ml96IChwMCwgejEsIHgwKSwKKwkJIHowID0gc3ZkaXZyX3ogKHAwLCB6MSwg eDApKQorCisvKgorKiogZGl2cl9zMF91MzJfel90aWVkMToKKyoqCW1vdgko elswLTldK1wucyksIHMwCisqKgltb3ZwcmZ4CXoxXC5zLCBwMC96LCB6MVwu cworKioJdWRpdnIJejFcLnMsIHAwL20sIHoxXC5zLCBcMQorKioJcmV0Cisq LworVEVTVF9VTklGT1JNX1pTIChkaXZyX3MwX3UzMl96X3RpZWQxLCBzdnVp bnQzMl90LCB1aW50MzJfdCwKKwkJIHoxID0gc3ZkaXZyX25fdTMyX3ogKHAw LCB6MSwgZDApLAorCQkgejEgPSBzdmRpdnJfeiAocDAsIHoxLCBkMCkpCisK Ky8qCisqKiBkaXZyX3MwX3UzMl96X3VudGllZDoKKyoqCW1vdgkoelswLTld K1wucyksIHMwCisqKgltb3ZwcmZ4CXoxXC5zLCBwMC96LCBcMQorKioJdWRp dgl6MVwucywgcDAvbSwgejFcLnMsIHoyXC5zCisqKglyZXQKKyovCitURVNU X1VOSUZPUk1fWlMgKGRpdnJfczBfdTMyX3pfdW50aWVkLCBzdnVpbnQzMl90 LCB1aW50MzJfdCwKKwkJIHoxID0gc3ZkaXZyX25fdTMyX3ogKHAwLCB6Miwg ZDApLAorCQkgejEgPSBzdmRpdnJfeiAocDAsIHoyLCBkMCkpCisKKy8qCisq KiBkaXZyX3UzMl94X3RpZWQxOgorKioJdWRpdnIJejBcLnMsIHAwL20sIHow XC5zLCB6MVwucworKioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKGRpdnJf dTMyX3hfdGllZDEsIHN2dWludDMyX3QsCisJCXowID0gc3ZkaXZyX3UzMl94 IChwMCwgejAsIHoxKSwKKwkJejAgPSBzdmRpdnJfeCAocDAsIHowLCB6MSkp CisKKy8qCisqKiBkaXZyX3UzMl94X3RpZWQyOgorKioJdWRpdgl6MVwucywg cDAvbSwgejFcLnMsIHowXC5zCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1f WiAoZGl2cl91MzJfeF90aWVkMiwgc3Z1aW50MzJfdCwKKwkJejEgPSBzdmRp dnJfdTMyX3ggKHAwLCB6MCwgejEpLAorCQl6MSA9IHN2ZGl2cl94IChwMCwg ejAsIHoxKSkKKworLyoKKyoqIGRpdnJfdTMyX3hfdW50aWVkOgorKioJbW92 cHJmeAl6MiwgejEKKyoqCXVkaXYJejJcLnMsIHAwL20sIHoyXC5zLCB6MFwu cworKioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKGRpdnJfdTMyX3hfdW50 aWVkLCBzdnVpbnQzMl90LAorCQl6MiA9IHN2ZGl2cl91MzJfeCAocDAsIHow LCB6MSksCisJCXoyID0gc3ZkaXZyX3ggKHAwLCB6MCwgejEpKQorCisvKgor KiogZGl2cl93MF91MzJfeF90aWVkMToKKyoqCW1vdgkoelswLTldK1wucyks IHcwCisqKgl1ZGl2cgl6MFwucywgcDAvbSwgejBcLnMsIFwxCisqKglyZXQK KyovCitURVNUX1VOSUZPUk1fWlMgKGRpdnJfdzBfdTMyX3hfdGllZDEsIHN2 dWludDMyX3QsIHVpbnQzMl90LAorCQkgejAgPSBzdmRpdnJfbl91MzJfeCAo cDAsIHowLCB4MCksCisJCSB6MCA9IHN2ZGl2cl94IChwMCwgejAsIHgwKSkK KworLyoKKyoqIGRpdnJfdzBfdTMyX3hfdW50aWVkOgorKioJbW92CXoxXC5z LCB3MAorKioJdWRpdgl6MVwucywgcDAvbSwgejFcLnMsIHowXC5zCisqKgly ZXQKKyovCitURVNUX1VOSUZPUk1fWlMgKGRpdnJfdzBfdTMyX3hfdW50aWVk LCBzdnVpbnQzMl90LCB1aW50MzJfdCwKKwkJIHoxID0gc3ZkaXZyX25fdTMy X3ggKHAwLCB6MCwgeDApLAorCQkgejEgPSBzdmRpdnJfeCAocDAsIHowLCB4 MCkpCisKKy8qCisqKiBkaXZyX3MwX3UzMl94X3RpZWQxOgorKioJbW92CSh6 WzAtOV0rXC5zKSwgczAKKyoqCXVkaXZyCXoxXC5zLCBwMC9tLCB6MVwucywg XDEKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aUyAoZGl2cl9zMF91MzJf eF90aWVkMSwgc3Z1aW50MzJfdCwgdWludDMyX3QsCisJCSB6MSA9IHN2ZGl2 cl9uX3UzMl94IChwMCwgejEsIGQwKSwKKwkJIHoxID0gc3ZkaXZyX3ggKHAw LCB6MSwgZDApKQorCisvKgorKiogZGl2cl9zMF91MzJfeF91bnRpZWQ6Cisq Kgltb3YJejJcLnMsIHMwCisqKgl1ZGl2CXoyXC5zLCBwMC9tLCB6Mlwucywg ejFcLnMKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aUyAoZGl2cl9zMF91 MzJfeF91bnRpZWQsIHN2dWludDMyX3QsIHVpbnQzMl90LAorCQkgejIgPSBz dmRpdnJfbl91MzJfeCAocDAsIHoxLCBkMCksCisJCSB6MiA9IHN2ZGl2cl94 IChwMCwgejEsIGQwKSkKKworLyoKKyoqIGRpdnJfMl91MzJfeF90aWVkMToK KyoqCW1vdgkoelswLTldK1wucyksICMyCisqKgl1ZGl2cgl6MFwucywgcDAv bSwgejBcLnMsIFwxCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAoZGl2 cl8yX3UzMl94X3RpZWQxLCBzdnVpbnQzMl90LAorCQl6MCA9IHN2ZGl2cl9u X3UzMl94IChwMCwgejAsIDIpLAorCQl6MCA9IHN2ZGl2cl94IChwMCwgejAs IDIpKQorCisvKgorKiogZGl2cl8yX3UzMl94X3VudGllZDoKKyoqCW1vdgl6 MFwucywgIzIKKyoqCXVkaXYJejBcLnMsIHAwL20sIHowXC5zLCB6MVwucwor KioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKGRpdnJfMl91MzJfeF91bnRp ZWQsIHN2dWludDMyX3QsCisJCXowID0gc3ZkaXZyX25fdTMyX3ggKHAwLCB6 MSwgMiksCisJCXowID0gc3ZkaXZyX3ggKHAwLCB6MSwgMikpCisKZGlmZiAt LWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9hYXJjaDY0L3N2ZS1h Y2xlL2FzbS9kaXZyX3U2NC5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0 L2FhcmNoNjQvc3ZlLWFjbGUvYXNtL2RpdnJfdTY0LmMKbmV3IGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDliYTQ2NQotLS0gL2Rldi9udWxs CisrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9hYXJjaDY0L3N2ZS1h Y2xlL2FzbS9kaXZyX3U2NC5jCkBAIC0wLDAgKzEsMjY0IEBACisvKiB7IGRn LWRvIGNvbXBpbGUgfSAqLworLyogeyBkZy1maW5hbCB7IGNoZWNrLWZ1bmN0 aW9uLWJvZGllcyAiKioiICIiICItRENIRUNLX0FTTSIgfSB9ICovCisKKyNp bmNsdWRlICJ0ZXN0X3N2ZV9hY2xlLmgiCisKKy8qCisqKiBkaXZyX3U2NF9t X3RpZWQxOgorKioJdWRpdnIJejBcLmQsIHAwL20sIHowXC5kLCB6MVwuZAor KioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKGRpdnJfdTY0X21fdGllZDEs IHN2dWludDY0X3QsCisJCXowID0gc3ZkaXZyX3U2NF9tIChwMCwgejAsIHox KSwKKwkJejAgPSBzdmRpdnJfbSAocDAsIHowLCB6MSkpCisKKy8qIEJhZCBS QSBjaG9pY2U6IG5vIHByZWZlcnJlZCBvdXRwdXQgc2VxdWVuY2UuICAqLwor VEVTVF9VTklGT1JNX1ogKGRpdnJfdTY0X21fdGllZDIsIHN2dWludDY0X3Qs CisJCXoxID0gc3ZkaXZyX3U2NF9tIChwMCwgejAsIHoxKSwKKwkJejEgPSBz dmRpdnJfbSAocDAsIHowLCB6MSkpCisKKy8qCisqKiBkaXZyX3U2NF9tX3Vu dGllZDoKKyoqCW1vdnByZngJejAsIHoxCisqKgl1ZGl2cgl6MFwuZCwgcDAv bSwgejBcLmQsIHoyXC5kCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1fWiAo ZGl2cl91NjRfbV91bnRpZWQsIHN2dWludDY0X3QsCisJCXowID0gc3ZkaXZy X3U2NF9tIChwMCwgejEsIHoyKSwKKwkJejAgPSBzdmRpdnJfbSAocDAsIHox LCB6MikpCisKKy8qCisqKiBkaXZyX3gwX3U2NF9tX3RpZWQxOgorKioJbW92 CSh6WzAtOV0rXC5kKSwgeDAKKyoqCXVkaXZyCXowXC5kLCBwMC9tLCB6MFwu ZCwgXDEKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aUyAoZGl2cl94MF91 NjRfbV90aWVkMSwgc3Z1aW50NjRfdCwgdWludDY0X3QsCisJCSB6MCA9IHN2 ZGl2cl9uX3U2NF9tIChwMCwgejAsIHgwKSwKKwkJIHowID0gc3ZkaXZyX20g KHAwLCB6MCwgeDApKQorCisvKgorKiogZGl2cl94MF91NjRfbV91bnRpZWQ6 CisqKgltb3YJKHpbMC05XStcLmQpLCB4MAorKioJbW92cHJmeAl6MCwgejEK KyoqCXVkaXZyCXowXC5kLCBwMC9tLCB6MFwuZCwgXDEKKyoqCXJldAorKi8K K1RFU1RfVU5JRk9STV9aUyAoZGl2cl94MF91NjRfbV91bnRpZWQsIHN2dWlu dDY0X3QsIHVpbnQ2NF90LAorCQkgejAgPSBzdmRpdnJfbl91NjRfbSAocDAs IHoxLCB4MCksCisJCSB6MCA9IHN2ZGl2cl9tIChwMCwgejEsIHgwKSkKKwor LyoKKyoqIGRpdnJfZDBfdTY0X21fdGllZDE6CisqKgltb3YJKHpbMC05XStc LmQpLCBkMAorKioJdWRpdnIJejFcLmQsIHAwL20sIHoxXC5kLCBcMQorKioJ cmV0CisqLworVEVTVF9VTklGT1JNX1pTIChkaXZyX2QwX3U2NF9tX3RpZWQx LCBzdnVpbnQ2NF90LCB1aW50NjRfdCwKKwkJIHoxID0gc3ZkaXZyX25fdTY0 X20gKHAwLCB6MSwgZDApLAorCQkgejEgPSBzdmRpdnJfbSAocDAsIHoxLCBk MCkpCisKKy8qCisqKiBkaXZyX2QwX3U2NF9tX3VudGllZDoKKyoqCW1vdgko elswLTldK1wuZCksIGQwCisqKgltb3ZwcmZ4CXoxLCB6MgorKioJdWRpdnIJ ejFcLmQsIHAwL20sIHoxXC5kLCBcMQorKioJcmV0CisqLworVEVTVF9VTklG T1JNX1pTIChkaXZyX2QwX3U2NF9tX3VudGllZCwgc3Z1aW50NjRfdCwgdWlu dDY0X3QsCisJCSB6MSA9IHN2ZGl2cl9uX3U2NF9tIChwMCwgejIsIGQwKSwK KwkJIHoxID0gc3ZkaXZyX20gKHAwLCB6MiwgZDApKQorCisvKgorKiogZGl2 cl8yX3U2NF9tX3RpZWQxOgorKioJbW92CSh6WzAtOV0rXC5kKSwgIzIKKyoq CXVkaXZyCXowXC5kLCBwMC9tLCB6MFwuZCwgXDEKKyoqCXJldAorKi8KK1RF U1RfVU5JRk9STV9aIChkaXZyXzJfdTY0X21fdGllZDEsIHN2dWludDY0X3Qs CisJCXowID0gc3ZkaXZyX25fdTY0X20gKHAwLCB6MCwgMiksCisJCXowID0g c3ZkaXZyX20gKHAwLCB6MCwgMikpCisKKy8qCisqKiBkaXZyXzJfdTY0X21f dW50aWVkOgorKioJbW92CSh6WzAtOV0rXC5kKSwgIzIKKyoqCW1vdnByZngJ ejAsIHoxCisqKgl1ZGl2cgl6MFwuZCwgcDAvbSwgejBcLmQsIFwxCisqKgly ZXQKKyovCitURVNUX1VOSUZPUk1fWiAoZGl2cl8yX3U2NF9tX3VudGllZCwg c3Z1aW50NjRfdCwKKwkJejAgPSBzdmRpdnJfbl91NjRfbSAocDAsIHoxLCAy KSwKKwkJejAgPSBzdmRpdnJfbSAocDAsIHoxLCAyKSkKKworLyoKKyoqIGRp dnJfbTFfdTY0X206CisqKgltb3YJKHpbMC05XSspXC5iLCAjKC0xfDI1NSkK KyoqCXVkaXZyCXowXC5kLCBwMC9tLCB6MFwuZCwgXDFcLmQKKyoqCXJldAor Ki8KK1RFU1RfVU5JRk9STV9aIChkaXZyX20xX3U2NF9tLCBzdnVpbnQ2NF90 LAorCQl6MCA9IHN2ZGl2cl9uX3U2NF9tIChwMCwgejAsIC0xKSwKKwkJejAg PSBzdmRpdnJfbSAocDAsIHowLCAtMSkpCisKKy8qCisqKiBkaXZyX3U2NF96 X3RpZWQxOgorKioJbW92cHJmeAl6MFwuZCwgcDAveiwgejBcLmQKKyoqCXVk aXZyCXowXC5kLCBwMC9tLCB6MFwuZCwgejFcLmQKKyoqCXJldAorKi8KK1RF U1RfVU5JRk9STV9aIChkaXZyX3U2NF96X3RpZWQxLCBzdnVpbnQ2NF90LAor CQl6MCA9IHN2ZGl2cl91NjRfeiAocDAsIHowLCB6MSksCisJCXowID0gc3Zk aXZyX3ogKHAwLCB6MCwgejEpKQorCisvKgorKiogZGl2cl91NjRfel90aWVk MjoKKyoqCW1vdnByZngJejFcLmQsIHAwL3osIHoxXC5kCisqKgl1ZGl2CXox XC5kLCBwMC9tLCB6MVwuZCwgejBcLmQKKyoqCXJldAorKi8KK1RFU1RfVU5J Rk9STV9aIChkaXZyX3U2NF96X3RpZWQyLCBzdnVpbnQ2NF90LAorCQl6MSA9 IHN2ZGl2cl91NjRfeiAocDAsIHowLCB6MSksCisJCXoxID0gc3ZkaXZyX3og KHAwLCB6MCwgejEpKQorCisvKgorKiogZGl2cl91NjRfel91bnRpZWQ6Cisq Kgltb3ZwcmZ4CXowXC5kLCBwMC96LCB6MlwuZAorKioJdWRpdgl6MFwuZCwg cDAvbSwgejBcLmQsIHoxXC5kCisqKglyZXQKKyovCitURVNUX1VOSUZPUk1f WiAoZGl2cl91NjRfel91bnRpZWQsIHN2dWludDY0X3QsCisJCXowID0gc3Zk aXZyX3U2NF96IChwMCwgejEsIHoyKSwKKwkJejAgPSBzdmRpdnJfeiAocDAs IHoxLCB6MikpCisKKy8qCisqKiBkaXZyX3gwX3U2NF96X3RpZWQxOgorKioJ bW92CSh6WzAtOV0rXC5kKSwgeDAKKyoqCW1vdnByZngJejBcLmQsIHAwL3os IHowXC5kCisqKgl1ZGl2cgl6MFwuZCwgcDAvbSwgejBcLmQsIFwxCisqKgly ZXQKKyovCitURVNUX1VOSUZPUk1fWlMgKGRpdnJfeDBfdTY0X3pfdGllZDEs IHN2dWludDY0X3QsIHVpbnQ2NF90LAorCQkgejAgPSBzdmRpdnJfbl91NjRf eiAocDAsIHowLCB4MCksCisJCSB6MCA9IHN2ZGl2cl96IChwMCwgejAsIHgw KSkKKworLyoKKyoqIGRpdnJfeDBfdTY0X3pfdW50aWVkOgorKioJbW92CSh6 WzAtOV0rXC5kKSwgeDAKKyoqCW1vdnByZngJejBcLmQsIHAwL3osIFwxCisq Kgl1ZGl2CXowXC5kLCBwMC9tLCB6MFwuZCwgejFcLmQKKyoqCXJldAorKi8K K1RFU1RfVU5JRk9STV9aUyAoZGl2cl94MF91NjRfel91bnRpZWQsIHN2dWlu dDY0X3QsIHVpbnQ2NF90LAorCQkgejAgPSBzdmRpdnJfbl91NjRfeiAocDAs IHoxLCB4MCksCisJCSB6MCA9IHN2ZGl2cl96IChwMCwgejEsIHgwKSkKKwor LyoKKyoqIGRpdnJfZDBfdTY0X3pfdGllZDE6CisqKgltb3YJKHpbMC05XStc LmQpLCBkMAorKioJbW92cHJmeAl6MVwuZCwgcDAveiwgejFcLmQKKyoqCXVk aXZyCXoxXC5kLCBwMC9tLCB6MVwuZCwgXDEKKyoqCXJldAorKi8KK1RFU1Rf VU5JRk9STV9aUyAoZGl2cl9kMF91NjRfel90aWVkMSwgc3Z1aW50NjRfdCwg dWludDY0X3QsCisJCSB6MSA9IHN2ZGl2cl9uX3U2NF96IChwMCwgejEsIGQw KSwKKwkJIHoxID0gc3ZkaXZyX3ogKHAwLCB6MSwgZDApKQorCisvKgorKiog ZGl2cl9kMF91NjRfel91bnRpZWQ6CisqKgltb3YJKHpbMC05XStcLmQpLCBk MAorKioJbW92cHJmeAl6MVwuZCwgcDAveiwgXDEKKyoqCXVkaXYJejFcLmQs IHAwL20sIHoxXC5kLCB6MlwuZAorKioJcmV0CisqLworVEVTVF9VTklGT1JN X1pTIChkaXZyX2QwX3U2NF96X3VudGllZCwgc3Z1aW50NjRfdCwgdWludDY0 X3QsCisJCSB6MSA9IHN2ZGl2cl9uX3U2NF96IChwMCwgejIsIGQwKSwKKwkJ IHoxID0gc3ZkaXZyX3ogKHAwLCB6MiwgZDApKQorCisvKgorKiogZGl2cl91 NjRfeF90aWVkMToKKyoqCXVkaXZyCXowXC5kLCBwMC9tLCB6MFwuZCwgejFc LmQKKyoqCXJldAorKi8KK1RFU1RfVU5JRk9STV9aIChkaXZyX3U2NF94X3Rp ZWQxLCBzdnVpbnQ2NF90LAorCQl6MCA9IHN2ZGl2cl91NjRfeCAocDAsIHow LCB6MSksCisJCXowID0gc3ZkaXZyX3ggKHAwLCB6MCwgejEpKQorCisvKgor KiogZGl2cl91NjRfeF90aWVkMjoKKyoqCXVkaXYJejFcLmQsIHAwL20sIHox XC5kLCB6MFwuZAorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKGRpdnJf dTY0X3hfdGllZDIsIHN2dWludDY0X3QsCisJCXoxID0gc3ZkaXZyX3U2NF94 IChwMCwgejAsIHoxKSwKKwkJejEgPSBzdmRpdnJfeCAocDAsIHowLCB6MSkp CisKKy8qCisqKiBkaXZyX3U2NF94X3VudGllZDoKKyoqCW1vdnByZngJejIs IHoxCisqKgl1ZGl2CXoyXC5kLCBwMC9tLCB6MlwuZCwgejBcLmQKKyoqCXJl dAorKi8KK1RFU1RfVU5JRk9STV9aIChkaXZyX3U2NF94X3VudGllZCwgc3Z1 aW50NjRfdCwKKwkJejIgPSBzdmRpdnJfdTY0X3ggKHAwLCB6MCwgejEpLAor CQl6MiA9IHN2ZGl2cl94IChwMCwgejAsIHoxKSkKKworLyoKKyoqIGRpdnJf eDBfdTY0X3hfdGllZDE6CisqKgltb3YJKHpbMC05XStcLmQpLCB4MAorKioJ dWRpdnIJejBcLmQsIHAwL20sIHowXC5kLCBcMQorKioJcmV0CisqLworVEVT VF9VTklGT1JNX1pTIChkaXZyX3gwX3U2NF94X3RpZWQxLCBzdnVpbnQ2NF90 LCB1aW50NjRfdCwKKwkJIHowID0gc3ZkaXZyX25fdTY0X3ggKHAwLCB6MCwg eDApLAorCQkgejAgPSBzdmRpdnJfeCAocDAsIHowLCB4MCkpCisKKy8qCisq KiBkaXZyX3gwX3U2NF94X3VudGllZDoKKyoqCW1vdgl6MVwuZCwgeDAKKyoq CXVkaXYJejFcLmQsIHAwL20sIHoxXC5kLCB6MFwuZAorKioJcmV0CisqLwor VEVTVF9VTklGT1JNX1pTIChkaXZyX3gwX3U2NF94X3VudGllZCwgc3Z1aW50 NjRfdCwgdWludDY0X3QsCisJCSB6MSA9IHN2ZGl2cl9uX3U2NF94IChwMCwg ejAsIHgwKSwKKwkJIHoxID0gc3ZkaXZyX3ggKHAwLCB6MCwgeDApKQorCisv KgorKiogZGl2cl9kMF91NjRfeF90aWVkMToKKyoqCW1vdgkoelswLTldK1wu ZCksIGQwCisqKgl1ZGl2cgl6MVwuZCwgcDAvbSwgejFcLmQsIFwxCisqKgly ZXQKKyovCitURVNUX1VOSUZPUk1fWlMgKGRpdnJfZDBfdTY0X3hfdGllZDEs IHN2dWludDY0X3QsIHVpbnQ2NF90LAorCQkgejEgPSBzdmRpdnJfbl91NjRf eCAocDAsIHoxLCBkMCksCisJCSB6MSA9IHN2ZGl2cl94IChwMCwgejEsIGQw KSkKKworLyoKKyoqIGRpdnJfZDBfdTY0X3hfdW50aWVkOgorKioJbW92CXoy XC5kLCBkMAorKioJdWRpdgl6MlwuZCwgcDAvbSwgejJcLmQsIHoxXC5kCisq KglyZXQKKyovCitURVNUX1VOSUZPUk1fWlMgKGRpdnJfZDBfdTY0X3hfdW50 aWVkLCBzdnVpbnQ2NF90LCB1aW50NjRfdCwKKwkJIHoyID0gc3ZkaXZyX25f dTY0X3ggKHAwLCB6MSwgZDApLAorCQkgejIgPSBzdmRpdnJfeCAocDAsIHox LCBkMCkpCisKKy8qCisqKiBkaXZyXzJfdTY0X3hfdGllZDE6CisqKgltb3YJ KHpbMC05XStcLmQpLCAjMgorKioJdWRpdnIJejBcLmQsIHAwL20sIHowXC5k LCBcMQorKioJcmV0CisqLworVEVTVF9VTklGT1JNX1ogKGRpdnJfMl91NjRf eF90aWVkMSwgc3Z1aW50NjRfdCwKKwkJejAgPSBzdmRpdnJfbl91NjRfeCAo cDAsIHowLCAyKSwKKwkJejAgPSBzdmRpdnJfeCAocDAsIHowLCAyKSkKKwor LyoKKyoqIGRpdnJfMl91NjRfeF91bnRpZWQ6CisqKgltb3YJejBcLmQsICMy CisqKgl1ZGl2CXowXC5kLCBwMC9tLCB6MFwuZCwgejFcLmQKKyoqCXJldAor Ki8KK1RFU1RfVU5JRk9STV9aIChkaXZyXzJfdTY0X3hfdW50aWVkLCBzdnVp bnQ2NF90LAorCQl6MCA9IHN2ZGl2cl9uX3U2NF94IChwMCwgejEsIDIpLAor CQl6MCA9IHN2ZGl2cl94IChwMCwgejEsIDIpKQorCi0tIAoyLjcuNAoK --0000000000001f3da3057fb39343--