From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtpbgeu2.qq.com (smtpbgeu2.qq.com [18.194.254.142]) by sourceware.org (Postfix) with ESMTPS id 431463858D1E for ; Tue, 7 Feb 2023 06:23:41 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 431463858D1E Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=rivai.ai Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=rivai.ai X-QQ-mid: bizesmtp91t1675751017t2d988d3 Received: from LAPTOP-EPITNQBU ( [58.60.1.3]) by bizesmtp.qq.com (ESMTP) with id ; Tue, 07 Feb 2023 14:23:36 +0800 (CST) X-QQ-SSF: 01400000000000E0L000000A0000000 X-QQ-FEAT: j86OQQvu8eQiigagu3M6JD2CImH7QlcoTAXUbahmp6Gje5vZM/yBqsHxjB/yp 94wEH8KpXlbBxl/dwx3cU9iIG4PnkzLgyDcSKw1vcUsVKj6Xmw6EF2aIOKqvxQet/ss1GnO gboNgd9aH9qaLqVCXpaB4sJbWbZB0XYi+Ox0SwB4nfDafIsVzalhULOpZEZnI/g0i3ilQIz dWeeUxpo7X1Q19F+uHWTHSqnTMOjUEuXPHwO6T4lFC+/qtceS3hwcAatuBzln1xyuAGsArh rxXxyMIaqqUrJLCECrtCVwHmJ3dEMyj7OLIraYb7M6ldo3ZcZ37SKU+H6o4k9LkS+NrRnBS E1Je9Kf1MQ6blL2CYlto/l/cILGVYSiCEUEVF1RVDAS2H2M/wft7bDM56mtmi0AjflY9TDI 3+y4SUwZIrMoUDz4w3dWWQ== X-QQ-GoodBg: 2 Date: Tue, 7 Feb 2023 14:23:36 +0800 From: "juzhe.zhong@rivai.ai" To: =?GB2312?B?1tO+09Xc?= , gcc-patches Cc: kito.cheng Subject: Re: [PATCH] RISC-V: Add vwsubu.wx C API tests References: <20230207061712.33613-1-juzhe.zhong@rivai.ai> X-Priority: 3 X-GUID: 7C21BDCA-92F7-43FA-BA94-160D4F9BCF0B X-Has-Attach: no X-Mailer: Foxmail 7.2.16.188[cn] Mime-Version: 1.0 Message-ID: Content-Type: multipart/alternative; boundary="----=_001_NextPart505005108212_=----" X-QQ-SENDSIZE: 520 Feedback-ID: bizesmtp:rivai.ai:qybglogicsvr:qybglogicsvr7 X-Spam-Status: No, score=-10.9 required=5.0 tests=BAYES_00,GIT_PATCH_0,HTML_MESSAGE,KAM_DMARC_STATUS,KAM_SHORT,RCVD_IN_BARRACUDACENTRAL,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_PASS,TXREP,T_SPF_HELO_TEMPERROR autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: This is a multi-part message in MIME format. ------=_001_NextPart505005108212_=---- Content-Type: text/plain; charset="GB2312" Content-Transfer-Encoding: base64 U29ycnkgZm9yIHRoZSB3cm9uZyB0aXRsZSwgaXQgc2hvdWxkIGJlIGFkZCB2 d3N1YnUud3YgQyBBUEkgdGVzdHMNCg0KDQoNCmp1emhlLnpob25nQHJpdmFp LmFpDQogDQpGcm9tOiBqdXpoZS56aG9uZw0KRGF0ZTogMjAyMy0wMi0wNyAx NDoxNw0KVG86IGdjYy1wYXRjaGVzDQpDQzoga2l0by5jaGVuZzsgSnUtWmhl IFpob25nDQpTdWJqZWN0OiBbUEFUQ0hdIFJJU0MtVjogQWRkIHZ3c3VidS53 eCBDIEFQSSB0ZXN0cw0KRnJvbTogSnUtWmhlIFpob25nIDxqdXpoZS56aG9u Z0ByaXZhaS5haT4NCiANCmdjYy90ZXN0c3VpdGUvQ2hhbmdlTG9nOg0KIA0K ICAgICAgICAqIGdjYy50YXJnZXQvcmlzY3YvcnZ2L2Jhc2UvdndzdWJ1X3d2 LTEuYzogTmV3IHRlc3QuDQogICAgICAgICogZ2NjLnRhcmdldC9yaXNjdi9y dnYvYmFzZS92d3N1YnVfd3YtMi5jOiBOZXcgdGVzdC4NCiAgICAgICAgKiBn Y2MudGFyZ2V0L3Jpc2N2L3J2di9iYXNlL3Z3c3VidV93di0zLmM6IE5ldyB0 ZXN0Lg0KICAgICAgICAqIGdjYy50YXJnZXQvcmlzY3YvcnZ2L2Jhc2Uvdndz dWJ1X3d2X20tMS5jOiBOZXcgdGVzdC4NCiAgICAgICAgKiBnY2MudGFyZ2V0 L3Jpc2N2L3J2di9iYXNlL3Z3c3VidV93dl9tLTIuYzogTmV3IHRlc3QuDQog ICAgICAgICogZ2NjLnRhcmdldC9yaXNjdi9ydnYvYmFzZS92d3N1YnVfd3Zf bS0zLmM6IE5ldyB0ZXN0Lg0KICAgICAgICAqIGdjYy50YXJnZXQvcmlzY3Yv cnZ2L2Jhc2UvdndzdWJ1X3d2X211LTEuYzogTmV3IHRlc3QuDQogICAgICAg ICogZ2NjLnRhcmdldC9yaXNjdi9ydnYvYmFzZS92d3N1YnVfd3ZfbXUtMi5j OiBOZXcgdGVzdC4NCiAgICAgICAgKiBnY2MudGFyZ2V0L3Jpc2N2L3J2di9i YXNlL3Z3c3VidV93dl9tdS0zLmM6IE5ldyB0ZXN0Lg0KICAgICAgICAqIGdj Yy50YXJnZXQvcmlzY3YvcnZ2L2Jhc2UvdndzdWJ1X3d2X3R1LTEuYzogTmV3 IHRlc3QuDQogICAgICAgICogZ2NjLnRhcmdldC9yaXNjdi9ydnYvYmFzZS92 d3N1YnVfd3ZfdHUtMi5jOiBOZXcgdGVzdC4NCiAgICAgICAgKiBnY2MudGFy Z2V0L3Jpc2N2L3J2di9iYXNlL3Z3c3VidV93dl90dS0zLmM6IE5ldyB0ZXN0 Lg0KICAgICAgICAqIGdjYy50YXJnZXQvcmlzY3YvcnZ2L2Jhc2UvdndzdWJ1 X3d2X3R1bS0xLmM6IE5ldyB0ZXN0Lg0KICAgICAgICAqIGdjYy50YXJnZXQv cmlzY3YvcnZ2L2Jhc2UvdndzdWJ1X3d2X3R1bS0yLmM6IE5ldyB0ZXN0Lg0K ICAgICAgICAqIGdjYy50YXJnZXQvcmlzY3YvcnZ2L2Jhc2UvdndzdWJ1X3d2 X3R1bS0zLmM6IE5ldyB0ZXN0Lg0KICAgICAgICAqIGdjYy50YXJnZXQvcmlz Y3YvcnZ2L2Jhc2UvdndzdWJ1X3d2X3R1bXUtMS5jOiBOZXcgdGVzdC4NCiAg ICAgICAgKiBnY2MudGFyZ2V0L3Jpc2N2L3J2di9iYXNlL3Z3c3VidV93dl90 dW11LTIuYzogTmV3IHRlc3QuDQogICAgICAgICogZ2NjLnRhcmdldC9yaXNj di9ydnYvYmFzZS92d3N1YnVfd3ZfdHVtdS0zLmM6IE5ldyB0ZXN0Lg0KIA0K LS0tDQouLi4vZ2NjLnRhcmdldC9yaXNjdi9ydnYvYmFzZS92d3N1YnVfd3Yt MS5jICAgfCAxMTEgKysrKysrKysrKysrKysrKysrDQouLi4vZ2NjLnRhcmdl dC9yaXNjdi9ydnYvYmFzZS92d3N1YnVfd3YtMi5jICAgfCAxMTEgKysrKysr KysrKysrKysrKysrDQouLi4vZ2NjLnRhcmdldC9yaXNjdi9ydnYvYmFzZS92 d3N1YnVfd3YtMy5jICAgfCAxMTEgKysrKysrKysrKysrKysrKysrDQouLi4v Z2NjLnRhcmdldC9yaXNjdi9ydnYvYmFzZS92d3N1YnVfd3ZfbS0xLmMgfCAx MTEgKysrKysrKysrKysrKysrKysrDQouLi4vZ2NjLnRhcmdldC9yaXNjdi9y dnYvYmFzZS92d3N1YnVfd3ZfbS0yLmMgfCAxMTEgKysrKysrKysrKysrKysr KysrDQouLi4vZ2NjLnRhcmdldC9yaXNjdi9ydnYvYmFzZS92d3N1YnVfd3Zf bS0zLmMgfCAxMTEgKysrKysrKysrKysrKysrKysrDQouLi4vcmlzY3YvcnZ2 L2Jhc2UvdndzdWJ1X3d2X211LTEuYyAgICAgICAgICAgfCAxMTEgKysrKysr KysrKysrKysrKysrDQouLi4vcmlzY3YvcnZ2L2Jhc2UvdndzdWJ1X3d2X211 LTIuYyAgICAgICAgICAgfCAxMTEgKysrKysrKysrKysrKysrKysrDQouLi4v cmlzY3YvcnZ2L2Jhc2UvdndzdWJ1X3d2X211LTMuYyAgICAgICAgICAgfCAx MTEgKysrKysrKysrKysrKysrKysrDQouLi4vcmlzY3YvcnZ2L2Jhc2Uvdndz dWJ1X3d2X3R1LTEuYyAgICAgICAgICAgfCAxMTEgKysrKysrKysrKysrKysr KysrDQouLi4vcmlzY3YvcnZ2L2Jhc2UvdndzdWJ1X3d2X3R1LTIuYyAgICAg ICAgICAgfCAxMTEgKysrKysrKysrKysrKysrKysrDQouLi4vcmlzY3YvcnZ2 L2Jhc2UvdndzdWJ1X3d2X3R1LTMuYyAgICAgICAgICAgfCAxMTEgKysrKysr KysrKysrKysrKysrDQouLi4vcmlzY3YvcnZ2L2Jhc2UvdndzdWJ1X3d2X3R1 bS0xLmMgICAgICAgICAgfCAxMTEgKysrKysrKysrKysrKysrKysrDQouLi4v cmlzY3YvcnZ2L2Jhc2UvdndzdWJ1X3d2X3R1bS0yLmMgICAgICAgICAgfCAx MTEgKysrKysrKysrKysrKysrKysrDQouLi4vcmlzY3YvcnZ2L2Jhc2Uvdndz dWJ1X3d2X3R1bS0zLmMgICAgICAgICAgfCAxMTEgKysrKysrKysrKysrKysr KysrDQouLi4vcmlzY3YvcnZ2L2Jhc2UvdndzdWJ1X3d2X3R1bXUtMS5jICAg ICAgICAgfCAxMTEgKysrKysrKysrKysrKysrKysrDQouLi4vcmlzY3YvcnZ2 L2Jhc2UvdndzdWJ1X3d2X3R1bXUtMi5jICAgICAgICAgfCAxMTEgKysrKysr KysrKysrKysrKysrDQouLi4vcmlzY3YvcnZ2L2Jhc2UvdndzdWJ1X3d2X3R1 bXUtMy5jICAgICAgICAgfCAxMTEgKysrKysrKysrKysrKysrKysrDQoxOCBm aWxlcyBjaGFuZ2VkLCAxOTk4IGluc2VydGlvbnMoKykNCmNyZWF0ZSBtb2Rl IDEwMDY0NCBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcnZ2L2Jh c2UvdndzdWJ1X3d2LTEuYw0KY3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0 c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9ydnYvYmFzZS92d3N1YnVfd3YtMi5j DQpjcmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0 L3Jpc2N2L3J2di9iYXNlL3Z3c3VidV93di0zLmMNCmNyZWF0ZSBtb2RlIDEw MDY0NCBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcnZ2L2Jhc2Uv dndzdWJ1X3d2X20tMS5jDQpjcmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3Rz dWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2di9iYXNlL3Z3c3VidV93dl9tLTIu Yw0KY3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdl dC9yaXNjdi9ydnYvYmFzZS92d3N1YnVfd3ZfbS0zLmMNCmNyZWF0ZSBtb2Rl IDEwMDY0NCBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcnZ2L2Jh c2UvdndzdWJ1X3d2X211LTEuYw0KY3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90 ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9ydnYvYmFzZS92d3N1YnVfd3Zf bXUtMi5jDQpjcmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0ZS9nY2Mu dGFyZ2V0L3Jpc2N2L3J2di9iYXNlL3Z3c3VidV93dl9tdS0zLmMNCmNyZWF0 ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3Yv cnZ2L2Jhc2UvdndzdWJ1X3d2X3R1LTEuYw0KY3JlYXRlIG1vZGUgMTAwNjQ0 IGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9ydnYvYmFzZS92d3N1 YnVfd3ZfdHUtMi5jDQpjcmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0 ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2di9iYXNlL3Z3c3VidV93dl90dS0zLmMN CmNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQv cmlzY3YvcnZ2L2Jhc2UvdndzdWJ1X3d2X3R1bS0xLmMNCmNyZWF0ZSBtb2Rl IDEwMDY0NCBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcnZ2L2Jh c2UvdndzdWJ1X3d2X3R1bS0yLmMNCmNyZWF0ZSBtb2RlIDEwMDY0NCBnY2Mv dGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcnZ2L2Jhc2UvdndzdWJ1X3d2 X3R1bS0zLmMNCmNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2dj Yy50YXJnZXQvcmlzY3YvcnZ2L2Jhc2UvdndzdWJ1X3d2X3R1bXUtMS5jDQpj cmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jp c2N2L3J2di9iYXNlL3Z3c3VidV93dl90dW11LTIuYw0KY3JlYXRlIG1vZGUg MTAwNjQ0IGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9ydnYvYmFz ZS92d3N1YnVfd3ZfdHVtdS0zLmMNCiANCmRpZmYgLS1naXQgYS9nY2MvdGVz dHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcnZ2L2Jhc2UvdndzdWJ1X3d2LTEu YyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9ydnYvYmFzZS92 d3N1YnVfd3YtMS5jDQpuZXcgZmlsZSBtb2RlIDEwMDY0NA0KaW5kZXggMDAw MDAwMDAwMDAuLjczZDI2MWNjNzhiDQotLS0gL2Rldi9udWxsDQorKysgYi9n Y2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcnZ2L2Jhc2UvdndzdWJ1 X3d2LTEuYw0KQEAgLTAsMCArMSwxMTEgQEANCisvKiB7IGRnLWRvIGNvbXBp bGUgfSAqLw0KKy8qIHsgZGctb3B0aW9ucyAiLW1hcmNoPXJ2NjRnY3YgLW1h Ymk9bHA2NGQgLU8zIC1mbm8tc2NoZWR1bGUtaW5zbnMgLWZuby1zY2hlZHVs ZS1pbnNuczIiIH0gKi8NCisNCisjaW5jbHVkZSAicmlzY3ZfdmVjdG9yLmgi DQorDQordnVpbnQxNm1mNF90IHRlc3RfX19yaXNjdl92d3N1YnVfd3ZfdTE2 bWY0KHZ1aW50MTZtZjRfdCBvcDEsdnVpbnQ4bWY4X3Qgb3AyLHNpemVfdCB2 bCkNCit7DQorICAgIHJldHVybiBfX3Jpc2N2X3Z3c3VidV93dl91MTZtZjQo b3AxLG9wMix2bCk7DQorfQ0KKw0KKw0KK3Z1aW50MTZtZjJfdCB0ZXN0X19f cmlzY3ZfdndzdWJ1X3d2X3UxNm1mMih2dWludDE2bWYyX3Qgb3AxLHZ1aW50 OG1mNF90IG9wMixzaXplX3QgdmwpDQorew0KKyAgICByZXR1cm4gX19yaXNj dl92d3N1YnVfd3ZfdTE2bWYyKG9wMSxvcDIsdmwpOw0KK30NCisNCisNCit2 dWludDE2bTFfdCB0ZXN0X19fcmlzY3ZfdndzdWJ1X3d2X3UxNm0xKHZ1aW50 MTZtMV90IG9wMSx2dWludDhtZjJfdCBvcDIsc2l6ZV90IHZsKQ0KK3sNCisg ICAgcmV0dXJuIF9fcmlzY3ZfdndzdWJ1X3d2X3UxNm0xKG9wMSxvcDIsdmwp Ow0KK30NCisNCisNCit2dWludDE2bTJfdCB0ZXN0X19fcmlzY3ZfdndzdWJ1 X3d2X3UxNm0yKHZ1aW50MTZtMl90IG9wMSx2dWludDhtMV90IG9wMixzaXpl X3QgdmwpDQorew0KKyAgICByZXR1cm4gX19yaXNjdl92d3N1YnVfd3ZfdTE2 bTIob3AxLG9wMix2bCk7DQorfQ0KKw0KKw0KK3Z1aW50MTZtNF90IHRlc3Rf X19yaXNjdl92d3N1YnVfd3ZfdTE2bTQodnVpbnQxNm00X3Qgb3AxLHZ1aW50 OG0yX3Qgb3AyLHNpemVfdCB2bCkNCit7DQorICAgIHJldHVybiBfX3Jpc2N2 X3Z3c3VidV93dl91MTZtNChvcDEsb3AyLHZsKTsNCit9DQorDQorDQordnVp bnQxNm04X3QgdGVzdF9fX3Jpc2N2X3Z3c3VidV93dl91MTZtOCh2dWludDE2 bThfdCBvcDEsdnVpbnQ4bTRfdCBvcDIsc2l6ZV90IHZsKQ0KK3sNCisgICAg cmV0dXJuIF9fcmlzY3ZfdndzdWJ1X3d2X3UxNm04KG9wMSxvcDIsdmwpOw0K K30NCisNCisNCit2dWludDMybWYyX3QgdGVzdF9fX3Jpc2N2X3Z3c3VidV93 dl91MzJtZjIodnVpbnQzMm1mMl90IG9wMSx2dWludDE2bWY0X3Qgb3AyLHNp emVfdCB2bCkNCit7DQorICAgIHJldHVybiBfX3Jpc2N2X3Z3c3VidV93dl91 MzJtZjIob3AxLG9wMix2bCk7DQorfQ0KKw0KKw0KK3Z1aW50MzJtMV90IHRl c3RfX19yaXNjdl92d3N1YnVfd3ZfdTMybTEodnVpbnQzMm0xX3Qgb3AxLHZ1 aW50MTZtZjJfdCBvcDIsc2l6ZV90IHZsKQ0KK3sNCisgICAgcmV0dXJuIF9f cmlzY3ZfdndzdWJ1X3d2X3UzMm0xKG9wMSxvcDIsdmwpOw0KK30NCisNCisN Cit2dWludDMybTJfdCB0ZXN0X19fcmlzY3ZfdndzdWJ1X3d2X3UzMm0yKHZ1 aW50MzJtMl90IG9wMSx2dWludDE2bTFfdCBvcDIsc2l6ZV90IHZsKQ0KK3sN CisgICAgcmV0dXJuIF9fcmlzY3ZfdndzdWJ1X3d2X3UzMm0yKG9wMSxvcDIs dmwpOw0KK30NCisNCisNCit2dWludDMybTRfdCB0ZXN0X19fcmlzY3Zfdndz dWJ1X3d2X3UzMm00KHZ1aW50MzJtNF90IG9wMSx2dWludDE2bTJfdCBvcDIs c2l6ZV90IHZsKQ0KK3sNCisgICAgcmV0dXJuIF9fcmlzY3ZfdndzdWJ1X3d2 X3UzMm00KG9wMSxvcDIsdmwpOw0KK30NCisNCisNCit2dWludDMybThfdCB0 ZXN0X19fcmlzY3ZfdndzdWJ1X3d2X3UzMm04KHZ1aW50MzJtOF90IG9wMSx2 dWludDE2bTRfdCBvcDIsc2l6ZV90IHZsKQ0KK3sNCisgICAgcmV0dXJuIF9f cmlzY3ZfdndzdWJ1X3d2X3UzMm04KG9wMSxvcDIsdmwpOw0KK30NCisNCisN Cit2dWludDY0bTFfdCB0ZXN0X19fcmlzY3ZfdndzdWJ1X3d2X3U2NG0xKHZ1 aW50NjRtMV90IG9wMSx2dWludDMybWYyX3Qgb3AyLHNpemVfdCB2bCkNCit7 DQorICAgIHJldHVybiBfX3Jpc2N2X3Z3c3VidV93dl91NjRtMShvcDEsb3Ay LHZsKTsNCit9DQorDQorDQordnVpbnQ2NG0yX3QgdGVzdF9fX3Jpc2N2X3Z3 c3VidV93dl91NjRtMih2dWludDY0bTJfdCBvcDEsdnVpbnQzMm0xX3Qgb3Ay LHNpemVfdCB2bCkNCit7DQorICAgIHJldHVybiBfX3Jpc2N2X3Z3c3VidV93 dl91NjRtMihvcDEsb3AyLHZsKTsNCit9DQorDQorDQordnVpbnQ2NG00X3Qg dGVzdF9fX3Jpc2N2X3Z3c3VidV93dl91NjRtNCh2dWludDY0bTRfdCBvcDEs dnVpbnQzMm0yX3Qgb3AyLHNpemVfdCB2bCkNCit7DQorICAgIHJldHVybiBf X3Jpc2N2X3Z3c3VidV93dl91NjRtNChvcDEsb3AyLHZsKTsNCit9DQorDQor DQordnVpbnQ2NG04X3QgdGVzdF9fX3Jpc2N2X3Z3c3VidV93dl91NjRtOCh2 dWludDY0bThfdCBvcDEsdnVpbnQzMm00X3Qgb3AyLHNpemVfdCB2bCkNCit7 DQorICAgIHJldHVybiBfX3Jpc2N2X3Z3c3VidV93dl91NjRtOChvcDEsb3Ay LHZsKTsNCit9DQorDQorDQorDQorLyogeyBkZy1maW5hbCB7IHNjYW4tYXNz ZW1ibGVyLXRpbWVzIHt2c2V0dmxpXHMremVybyxccypbYS14MC05XSssXHMq ZTgsXHMqbWY4LFxzKnRbYXVdLFxzKm1bYXVdXHMrdndzdWJ1XC53dlxzK3Zb MC05XSssXHMqdlswLTldKyxccyp2WzAtOV0rfSAxIH0gfSAqLw0KKy8qIHsg ZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNldHZsaVxzK3pl cm8sXHMqW2EteDAtOV0rLFxzKmU4LFxzKm1mNCxccyp0W2F1XSxccyptW2F1 XVxzK3Z3c3VidVwud3Zccyt2WzAtOV0rLFxzKnZbMC05XSssXHMqdlswLTld K30gMSB9IH0gKi8NCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXIt dGltZXMge3ZzZXR2bGlccyt6ZXJvLFxzKlthLXgwLTldKyxccyplOCxccypt ZjIsXHMqdFthdV0sXHMqbVthdV1ccyt2d3N1YnVcLnd2XHMrdlswLTldKyxc cyp2WzAtOV0rLFxzKnZbMC05XSt9IDEgfSB9ICovDQorLyogeyBkZy1maW5h bCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2c2V0dmxpXHMremVybyxccypb YS14MC05XSssXHMqZTgsXHMqbTEsXHMqdFthdV0sXHMqbVthdV1ccyt2d3N1 YnVcLnd2XHMrdlswLTldKyxccyp2WzAtOV0rLFxzKnZbMC05XSt9IDEgfSB9 ICovDQorLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2 c2V0dmxpXHMremVybyxccypbYS14MC05XSssXHMqZTgsXHMqbTIsXHMqdFth dV0sXHMqbVthdV1ccyt2d3N1YnVcLnd2XHMrdlswLTldKyxccyp2WzAtOV0r LFxzKnZbMC05XSt9IDEgfSB9ICovDQorLyogeyBkZy1maW5hbCB7IHNjYW4t YXNzZW1ibGVyLXRpbWVzIHt2c2V0dmxpXHMremVybyxccypbYS14MC05XSss XHMqZTgsXHMqbTQsXHMqdFthdV0sXHMqbVthdV1ccyt2d3N1YnVcLnd2XHMr dlswLTldKyxccyp2WzAtOV0rLFxzKnZbMC05XSt9IDEgfSB9ICovDQorLyog eyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2c2V0dmxpXHMr emVybyxccypbYS14MC05XSssXHMqZTE2LFxzKm1mNCxccyp0W2F1XSxccypt W2F1XVxzK3Z3c3VidVwud3Zccyt2WzAtOV0rLFxzKnZbMC05XSssXHMqdlsw LTldK30gMSB9IH0gKi8NCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJs ZXItdGltZXMge3ZzZXR2bGlccyt6ZXJvLFxzKlthLXgwLTldKyxccyplMTYs XHMqbWYyLFxzKnRbYXVdLFxzKm1bYXVdXHMrdndzdWJ1XC53dlxzK3ZbMC05 XSssXHMqdlswLTldKyxccyp2WzAtOV0rfSAxIH0gfSAqLw0KKy8qIHsgZGct ZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNldHZsaVxzK3plcm8s XHMqW2EteDAtOV0rLFxzKmUxNixccyptMSxccyp0W2F1XSxccyptW2F1XVxz K3Z3c3VidVwud3Zccyt2WzAtOV0rLFxzKnZbMC05XSssXHMqdlswLTldK30g MSB9IH0gKi8NCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGlt ZXMge3ZzZXR2bGlccyt6ZXJvLFxzKlthLXgwLTldKyxccyplMTYsXHMqbTIs XHMqdFthdV0sXHMqbVthdV1ccyt2d3N1YnVcLnd2XHMrdlswLTldKyxccyp2 WzAtOV0rLFxzKnZbMC05XSt9IDEgfSB9ICovDQorLyogeyBkZy1maW5hbCB7 IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2c2V0dmxpXHMremVybyxccypbYS14 MC05XSssXHMqZTE2LFxzKm00LFxzKnRbYXVdLFxzKm1bYXVdXHMrdndzdWJ1 XC53dlxzK3ZbMC05XSssXHMqdlswLTldKyxccyp2WzAtOV0rfSAxIH0gfSAq Lw0KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNl dHZsaVxzK3plcm8sXHMqW2EteDAtOV0rLFxzKmUzMixccyptZjIsXHMqdFth dV0sXHMqbVthdV1ccyt2d3N1YnVcLnd2XHMrdlswLTldKyxccyp2WzAtOV0r LFxzKnZbMC05XSt9IDEgfSB9ICovDQorLyogeyBkZy1maW5hbCB7IHNjYW4t YXNzZW1ibGVyLXRpbWVzIHt2c2V0dmxpXHMremVybyxccypbYS14MC05XSss XHMqZTMyLFxzKm0xLFxzKnRbYXVdLFxzKm1bYXVdXHMrdndzdWJ1XC53dlxz K3ZbMC05XSssXHMqdlswLTldKyxccyp2WzAtOV0rfSAxIH0gfSAqLw0KKy8q IHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNldHZsaVxz K3plcm8sXHMqW2EteDAtOV0rLFxzKmUzMixccyptMixccyp0W2F1XSxccypt W2F1XVxzK3Z3c3VidVwud3Zccyt2WzAtOV0rLFxzKnZbMC05XSssXHMqdlsw LTldK30gMSB9IH0gKi8NCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJs ZXItdGltZXMge3ZzZXR2bGlccyt6ZXJvLFxzKlthLXgwLTldKyxccyplMzIs XHMqbTQsXHMqdFthdV0sXHMqbVthdV1ccyt2d3N1YnVcLnd2XHMrdlswLTld Kyxccyp2WzAtOV0rLFxzKnZbMC05XSt9IDEgfSB9ICovDQpkaWZmIC0tZ2l0 IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2di9iYXNlL3Z3 c3VidV93di0yLmMgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3Yv cnZ2L2Jhc2UvdndzdWJ1X3d2LTIuYw0KbmV3IGZpbGUgbW9kZSAxMDA2NDQN CmluZGV4IDAwMDAwMDAwMDAwLi45ODY2YjliMTUzMw0KLS0tIC9kZXYvbnVs bA0KKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2di9i YXNlL3Z3c3VidV93di0yLmMNCkBAIC0wLDAgKzEsMTExIEBADQorLyogeyBk Zy1kbyBjb21waWxlIH0gKi8NCisvKiB7IGRnLW9wdGlvbnMgIi1tYXJjaD1y djY0Z2N2IC1tYWJpPWxwNjRkIC1PMyAtZm5vLXNjaGVkdWxlLWluc25zIC1m bm8tc2NoZWR1bGUtaW5zbnMyIiB9ICovDQorDQorI2luY2x1ZGUgInJpc2N2 X3ZlY3Rvci5oIg0KKw0KK3Z1aW50MTZtZjRfdCB0ZXN0X19fcmlzY3Zfdndz dWJ1X3d2X3UxNm1mNCh2dWludDE2bWY0X3Qgb3AxLHZ1aW50OG1mOF90IG9w MixzaXplX3QgdmwpDQorew0KKyAgICByZXR1cm4gX19yaXNjdl92d3N1YnVf d3ZfdTE2bWY0KG9wMSxvcDIsMzEpOw0KK30NCisNCisNCit2dWludDE2bWYy X3QgdGVzdF9fX3Jpc2N2X3Z3c3VidV93dl91MTZtZjIodnVpbnQxNm1mMl90 IG9wMSx2dWludDhtZjRfdCBvcDIsc2l6ZV90IHZsKQ0KK3sNCisgICAgcmV0 dXJuIF9fcmlzY3ZfdndzdWJ1X3d2X3UxNm1mMihvcDEsb3AyLDMxKTsNCit9 DQorDQorDQordnVpbnQxNm0xX3QgdGVzdF9fX3Jpc2N2X3Z3c3VidV93dl91 MTZtMSh2dWludDE2bTFfdCBvcDEsdnVpbnQ4bWYyX3Qgb3AyLHNpemVfdCB2 bCkNCit7DQorICAgIHJldHVybiBfX3Jpc2N2X3Z3c3VidV93dl91MTZtMShv cDEsb3AyLDMxKTsNCit9DQorDQorDQordnVpbnQxNm0yX3QgdGVzdF9fX3Jp c2N2X3Z3c3VidV93dl91MTZtMih2dWludDE2bTJfdCBvcDEsdnVpbnQ4bTFf dCBvcDIsc2l6ZV90IHZsKQ0KK3sNCisgICAgcmV0dXJuIF9fcmlzY3Zfdndz dWJ1X3d2X3UxNm0yKG9wMSxvcDIsMzEpOw0KK30NCisNCisNCit2dWludDE2 bTRfdCB0ZXN0X19fcmlzY3ZfdndzdWJ1X3d2X3UxNm00KHZ1aW50MTZtNF90 IG9wMSx2dWludDhtMl90IG9wMixzaXplX3QgdmwpDQorew0KKyAgICByZXR1 cm4gX19yaXNjdl92d3N1YnVfd3ZfdTE2bTQob3AxLG9wMiwzMSk7DQorfQ0K Kw0KKw0KK3Z1aW50MTZtOF90IHRlc3RfX19yaXNjdl92d3N1YnVfd3ZfdTE2 bTgodnVpbnQxNm04X3Qgb3AxLHZ1aW50OG00X3Qgb3AyLHNpemVfdCB2bCkN Cit7DQorICAgIHJldHVybiBfX3Jpc2N2X3Z3c3VidV93dl91MTZtOChvcDEs b3AyLDMxKTsNCit9DQorDQorDQordnVpbnQzMm1mMl90IHRlc3RfX19yaXNj dl92d3N1YnVfd3ZfdTMybWYyKHZ1aW50MzJtZjJfdCBvcDEsdnVpbnQxNm1m NF90IG9wMixzaXplX3QgdmwpDQorew0KKyAgICByZXR1cm4gX19yaXNjdl92 d3N1YnVfd3ZfdTMybWYyKG9wMSxvcDIsMzEpOw0KK30NCisNCisNCit2dWlu dDMybTFfdCB0ZXN0X19fcmlzY3ZfdndzdWJ1X3d2X3UzMm0xKHZ1aW50MzJt MV90IG9wMSx2dWludDE2bWYyX3Qgb3AyLHNpemVfdCB2bCkNCit7DQorICAg IHJldHVybiBfX3Jpc2N2X3Z3c3VidV93dl91MzJtMShvcDEsb3AyLDMxKTsN Cit9DQorDQorDQordnVpbnQzMm0yX3QgdGVzdF9fX3Jpc2N2X3Z3c3VidV93 dl91MzJtMih2dWludDMybTJfdCBvcDEsdnVpbnQxNm0xX3Qgb3AyLHNpemVf dCB2bCkNCit7DQorICAgIHJldHVybiBfX3Jpc2N2X3Z3c3VidV93dl91MzJt MihvcDEsb3AyLDMxKTsNCit9DQorDQorDQordnVpbnQzMm00X3QgdGVzdF9f X3Jpc2N2X3Z3c3VidV93dl91MzJtNCh2dWludDMybTRfdCBvcDEsdnVpbnQx Nm0yX3Qgb3AyLHNpemVfdCB2bCkNCit7DQorICAgIHJldHVybiBfX3Jpc2N2 X3Z3c3VidV93dl91MzJtNChvcDEsb3AyLDMxKTsNCit9DQorDQorDQordnVp bnQzMm04X3QgdGVzdF9fX3Jpc2N2X3Z3c3VidV93dl91MzJtOCh2dWludDMy bThfdCBvcDEsdnVpbnQxNm00X3Qgb3AyLHNpemVfdCB2bCkNCit7DQorICAg IHJldHVybiBfX3Jpc2N2X3Z3c3VidV93dl91MzJtOChvcDEsb3AyLDMxKTsN Cit9DQorDQorDQordnVpbnQ2NG0xX3QgdGVzdF9fX3Jpc2N2X3Z3c3VidV93 dl91NjRtMSh2dWludDY0bTFfdCBvcDEsdnVpbnQzMm1mMl90IG9wMixzaXpl X3QgdmwpDQorew0KKyAgICByZXR1cm4gX19yaXNjdl92d3N1YnVfd3ZfdTY0 bTEob3AxLG9wMiwzMSk7DQorfQ0KKw0KKw0KK3Z1aW50NjRtMl90IHRlc3Rf X19yaXNjdl92d3N1YnVfd3ZfdTY0bTIodnVpbnQ2NG0yX3Qgb3AxLHZ1aW50 MzJtMV90IG9wMixzaXplX3QgdmwpDQorew0KKyAgICByZXR1cm4gX19yaXNj dl92d3N1YnVfd3ZfdTY0bTIob3AxLG9wMiwzMSk7DQorfQ0KKw0KKw0KK3Z1 aW50NjRtNF90IHRlc3RfX19yaXNjdl92d3N1YnVfd3ZfdTY0bTQodnVpbnQ2 NG00X3Qgb3AxLHZ1aW50MzJtMl90IG9wMixzaXplX3QgdmwpDQorew0KKyAg ICByZXR1cm4gX19yaXNjdl92d3N1YnVfd3ZfdTY0bTQob3AxLG9wMiwzMSk7 DQorfQ0KKw0KKw0KK3Z1aW50NjRtOF90IHRlc3RfX19yaXNjdl92d3N1YnVf d3ZfdTY0bTgodnVpbnQ2NG04X3Qgb3AxLHZ1aW50MzJtNF90IG9wMixzaXpl X3QgdmwpDQorew0KKyAgICByZXR1cm4gX19yaXNjdl92d3N1YnVfd3ZfdTY0 bTgob3AxLG9wMiwzMSk7DQorfQ0KKw0KKw0KKw0KKy8qIHsgZGctZmluYWwg eyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNldGl2bGlccyt6ZXJvLFxzKjMx LFxzKmU4LFxzKm1mOCxccyp0W2F1XSxccyptW2F1XVxzK3Z3c3VidVwud3Zc cyt2WzAtOV0rLFxzKnZbMC05XSssXHMqdlswLTldK30gMSB9IH0gKi8NCisv KiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3ZzZXRpdmxp XHMremVybyxccyozMSxccyplOCxccyptZjQsXHMqdFthdV0sXHMqbVthdV1c cyt2d3N1YnVcLnd2XHMrdlswLTldKyxccyp2WzAtOV0rLFxzKnZbMC05XSt9 IDEgfSB9ICovDQorLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRp bWVzIHt2c2V0aXZsaVxzK3plcm8sXHMqMzEsXHMqZTgsXHMqbWYyLFxzKnRb YXVdLFxzKm1bYXVdXHMrdndzdWJ1XC53dlxzK3ZbMC05XSssXHMqdlswLTld Kyxccyp2WzAtOV0rfSAxIH0gfSAqLw0KKy8qIHsgZGctZmluYWwgeyBzY2Fu LWFzc2VtYmxlci10aW1lcyB7dnNldGl2bGlccyt6ZXJvLFxzKjMxLFxzKmU4 LFxzKm0xLFxzKnRbYXVdLFxzKm1bYXVdXHMrdndzdWJ1XC53dlxzK3ZbMC05 XSssXHMqdlswLTldKyxccyp2WzAtOV0rfSAxIH0gfSAqLw0KKy8qIHsgZGct ZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNldGl2bGlccyt6ZXJv LFxzKjMxLFxzKmU4LFxzKm0yLFxzKnRbYXVdLFxzKm1bYXVdXHMrdndzdWJ1 XC53dlxzK3ZbMC05XSssXHMqdlswLTldKyxccyp2WzAtOV0rfSAxIH0gfSAq Lw0KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNl dGl2bGlccyt6ZXJvLFxzKjMxLFxzKmU4LFxzKm00LFxzKnRbYXVdLFxzKm1b YXVdXHMrdndzdWJ1XC53dlxzK3ZbMC05XSssXHMqdlswLTldKyxccyp2WzAt OV0rfSAxIH0gfSAqLw0KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxl ci10aW1lcyB7dnNldGl2bGlccyt6ZXJvLFxzKjMxLFxzKmUxNixccyptZjQs XHMqdFthdV0sXHMqbVthdV1ccyt2d3N1YnVcLnd2XHMrdlswLTldKyxccyp2 WzAtOV0rLFxzKnZbMC05XSt9IDEgfSB9ICovDQorLyogeyBkZy1maW5hbCB7 IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2c2V0aXZsaVxzK3plcm8sXHMqMzEs XHMqZTE2LFxzKm1mMixccyp0W2F1XSxccyptW2F1XVxzK3Z3c3VidVwud3Zc cyt2WzAtOV0rLFxzKnZbMC05XSssXHMqdlswLTldK30gMSB9IH0gKi8NCisv KiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3ZzZXRpdmxp XHMremVybyxccyozMSxccyplMTYsXHMqbTEsXHMqdFthdV0sXHMqbVthdV1c cyt2d3N1YnVcLnd2XHMrdlswLTldKyxccyp2WzAtOV0rLFxzKnZbMC05XSt9 IDEgfSB9ICovDQorLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRp bWVzIHt2c2V0aXZsaVxzK3plcm8sXHMqMzEsXHMqZTE2LFxzKm0yLFxzKnRb YXVdLFxzKm1bYXVdXHMrdndzdWJ1XC53dlxzK3ZbMC05XSssXHMqdlswLTld Kyxccyp2WzAtOV0rfSAxIH0gfSAqLw0KKy8qIHsgZGctZmluYWwgeyBzY2Fu LWFzc2VtYmxlci10aW1lcyB7dnNldGl2bGlccyt6ZXJvLFxzKjMxLFxzKmUx NixccyptNCxccyp0W2F1XSxccyptW2F1XVxzK3Z3c3VidVwud3Zccyt2WzAt OV0rLFxzKnZbMC05XSssXHMqdlswLTldK30gMSB9IH0gKi8NCisvKiB7IGRn LWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3ZzZXRpdmxpXHMremVy byxccyozMSxccyplMzIsXHMqbWYyLFxzKnRbYXVdLFxzKm1bYXVdXHMrdndz dWJ1XC53dlxzK3ZbMC05XSssXHMqdlswLTldKyxccyp2WzAtOV0rfSAxIH0g fSAqLw0KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7 dnNldGl2bGlccyt6ZXJvLFxzKjMxLFxzKmUzMixccyptMSxccyp0W2F1XSxc cyptW2F1XVxzK3Z3c3VidVwud3Zccyt2WzAtOV0rLFxzKnZbMC05XSssXHMq dlswLTldK30gMSB9IH0gKi8NCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3Nl bWJsZXItdGltZXMge3ZzZXRpdmxpXHMremVybyxccyozMSxccyplMzIsXHMq bTIsXHMqdFthdV0sXHMqbVthdV1ccyt2d3N1YnVcLnd2XHMrdlswLTldKyxc cyp2WzAtOV0rLFxzKnZbMC05XSt9IDEgfSB9ICovDQorLyogeyBkZy1maW5h bCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2c2V0aXZsaVxzK3plcm8sXHMq MzEsXHMqZTMyLFxzKm00LFxzKnRbYXVdLFxzKm1bYXVdXHMrdndzdWJ1XC53 dlxzK3ZbMC05XSssXHMqdlswLTldKyxccyp2WzAtOV0rfSAxIH0gfSAqLw0K ZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9y dnYvYmFzZS92d3N1YnVfd3YtMy5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFy Z2V0L3Jpc2N2L3J2di9iYXNlL3Z3c3VidV93di0zLmMNCm5ldyBmaWxlIG1v ZGUgMTAwNjQ0DQppbmRleCAwMDAwMDAwMDAwMC4uYTRkYjI4NmVkOTcNCi0t LSAvZGV2L251bGwNCisrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9y aXNjdi9ydnYvYmFzZS92d3N1YnVfd3YtMy5jDQpAQCAtMCwwICsxLDExMSBA QA0KKy8qIHsgZGctZG8gY29tcGlsZSB9ICovDQorLyogeyBkZy1vcHRpb25z ICItbWFyY2g9cnY2NGdjdiAtbWFiaT1scDY0ZCAtTzMgLWZuby1zY2hlZHVs ZS1pbnNucyAtZm5vLXNjaGVkdWxlLWluc25zMiIgfSAqLw0KKw0KKyNpbmNs dWRlICJyaXNjdl92ZWN0b3IuaCINCisNCit2dWludDE2bWY0X3QgdGVzdF9f X3Jpc2N2X3Z3c3VidV93dl91MTZtZjQodnVpbnQxNm1mNF90IG9wMSx2dWlu dDhtZjhfdCBvcDIsc2l6ZV90IHZsKQ0KK3sNCisgICAgcmV0dXJuIF9fcmlz Y3ZfdndzdWJ1X3d2X3UxNm1mNChvcDEsb3AyLDMyKTsNCit9DQorDQorDQor dnVpbnQxNm1mMl90IHRlc3RfX19yaXNjdl92d3N1YnVfd3ZfdTE2bWYyKHZ1 aW50MTZtZjJfdCBvcDEsdnVpbnQ4bWY0X3Qgb3AyLHNpemVfdCB2bCkNCit7 DQorICAgIHJldHVybiBfX3Jpc2N2X3Z3c3VidV93dl91MTZtZjIob3AxLG9w MiwzMik7DQorfQ0KKw0KKw0KK3Z1aW50MTZtMV90IHRlc3RfX19yaXNjdl92 d3N1YnVfd3ZfdTE2bTEodnVpbnQxNm0xX3Qgb3AxLHZ1aW50OG1mMl90IG9w MixzaXplX3QgdmwpDQorew0KKyAgICByZXR1cm4gX19yaXNjdl92d3N1YnVf d3ZfdTE2bTEob3AxLG9wMiwzMik7DQorfQ0KKw0KKw0KK3Z1aW50MTZtMl90 IHRlc3RfX19yaXNjdl92d3N1YnVfd3ZfdTE2bTIodnVpbnQxNm0yX3Qgb3Ax LHZ1aW50OG0xX3Qgb3AyLHNpemVfdCB2bCkNCit7DQorICAgIHJldHVybiBf X3Jpc2N2X3Z3c3VidV93dl91MTZtMihvcDEsb3AyLDMyKTsNCit9DQorDQor DQordnVpbnQxNm00X3QgdGVzdF9fX3Jpc2N2X3Z3c3VidV93dl91MTZtNCh2 dWludDE2bTRfdCBvcDEsdnVpbnQ4bTJfdCBvcDIsc2l6ZV90IHZsKQ0KK3sN CisgICAgcmV0dXJuIF9fcmlzY3ZfdndzdWJ1X3d2X3UxNm00KG9wMSxvcDIs MzIpOw0KK30NCisNCisNCit2dWludDE2bThfdCB0ZXN0X19fcmlzY3Zfdndz dWJ1X3d2X3UxNm04KHZ1aW50MTZtOF90IG9wMSx2dWludDhtNF90IG9wMixz aXplX3QgdmwpDQorew0KKyAgICByZXR1cm4gX19yaXNjdl92d3N1YnVfd3Zf dTE2bTgob3AxLG9wMiwzMik7DQorfQ0KKw0KKw0KK3Z1aW50MzJtZjJfdCB0 ZXN0X19fcmlzY3ZfdndzdWJ1X3d2X3UzMm1mMih2dWludDMybWYyX3Qgb3Ax LHZ1aW50MTZtZjRfdCBvcDIsc2l6ZV90IHZsKQ0KK3sNCisgICAgcmV0dXJu IF9fcmlzY3ZfdndzdWJ1X3d2X3UzMm1mMihvcDEsb3AyLDMyKTsNCit9DQor DQorDQordnVpbnQzMm0xX3QgdGVzdF9fX3Jpc2N2X3Z3c3VidV93dl91MzJt MSh2dWludDMybTFfdCBvcDEsdnVpbnQxNm1mMl90IG9wMixzaXplX3Qgdmwp DQorew0KKyAgICByZXR1cm4gX19yaXNjdl92d3N1YnVfd3ZfdTMybTEob3Ax LG9wMiwzMik7DQorfQ0KKw0KKw0KK3Z1aW50MzJtMl90IHRlc3RfX19yaXNj dl92d3N1YnVfd3ZfdTMybTIodnVpbnQzMm0yX3Qgb3AxLHZ1aW50MTZtMV90 IG9wMixzaXplX3QgdmwpDQorew0KKyAgICByZXR1cm4gX19yaXNjdl92d3N1 YnVfd3ZfdTMybTIob3AxLG9wMiwzMik7DQorfQ0KKw0KKw0KK3Z1aW50MzJt NF90IHRlc3RfX19yaXNjdl92d3N1YnVfd3ZfdTMybTQodnVpbnQzMm00X3Qg b3AxLHZ1aW50MTZtMl90IG9wMixzaXplX3QgdmwpDQorew0KKyAgICByZXR1 cm4gX19yaXNjdl92d3N1YnVfd3ZfdTMybTQob3AxLG9wMiwzMik7DQorfQ0K Kw0KKw0KK3Z1aW50MzJtOF90IHRlc3RfX19yaXNjdl92d3N1YnVfd3ZfdTMy bTgodnVpbnQzMm04X3Qgb3AxLHZ1aW50MTZtNF90IG9wMixzaXplX3Qgdmwp DQorew0KKyAgICByZXR1cm4gX19yaXNjdl92d3N1YnVfd3ZfdTMybTgob3Ax LG9wMiwzMik7DQorfQ0KKw0KKw0KK3Z1aW50NjRtMV90IHRlc3RfX19yaXNj dl92d3N1YnVfd3ZfdTY0bTEodnVpbnQ2NG0xX3Qgb3AxLHZ1aW50MzJtZjJf dCBvcDIsc2l6ZV90IHZsKQ0KK3sNCisgICAgcmV0dXJuIF9fcmlzY3Zfdndz dWJ1X3d2X3U2NG0xKG9wMSxvcDIsMzIpOw0KK30NCisNCisNCit2dWludDY0 bTJfdCB0ZXN0X19fcmlzY3ZfdndzdWJ1X3d2X3U2NG0yKHZ1aW50NjRtMl90 IG9wMSx2dWludDMybTFfdCBvcDIsc2l6ZV90IHZsKQ0KK3sNCisgICAgcmV0 dXJuIF9fcmlzY3ZfdndzdWJ1X3d2X3U2NG0yKG9wMSxvcDIsMzIpOw0KK30N CisNCisNCit2dWludDY0bTRfdCB0ZXN0X19fcmlzY3ZfdndzdWJ1X3d2X3U2 NG00KHZ1aW50NjRtNF90IG9wMSx2dWludDMybTJfdCBvcDIsc2l6ZV90IHZs KQ0KK3sNCisgICAgcmV0dXJuIF9fcmlzY3ZfdndzdWJ1X3d2X3U2NG00KG9w MSxvcDIsMzIpOw0KK30NCisNCisNCit2dWludDY0bThfdCB0ZXN0X19fcmlz Y3ZfdndzdWJ1X3d2X3U2NG04KHZ1aW50NjRtOF90IG9wMSx2dWludDMybTRf dCBvcDIsc2l6ZV90IHZsKQ0KK3sNCisgICAgcmV0dXJuIF9fcmlzY3Zfdndz dWJ1X3d2X3U2NG04KG9wMSxvcDIsMzIpOw0KK30NCisNCisNCisNCisvKiB7 IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3ZzZXR2bGlccyt6 ZXJvLFxzKlthLXgwLTldKyxccyplOCxccyptZjgsXHMqdFthdV0sXHMqbVth dV1ccyt2d3N1YnVcLnd2XHMrdlswLTldKyxccyp2WzAtOV0rLFxzKnZbMC05 XSt9IDEgfSB9ICovDQorLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVy LXRpbWVzIHt2c2V0dmxpXHMremVybyxccypbYS14MC05XSssXHMqZTgsXHMq bWY0LFxzKnRbYXVdLFxzKm1bYXVdXHMrdndzdWJ1XC53dlxzK3ZbMC05XSss XHMqdlswLTldKyxccyp2WzAtOV0rfSAxIH0gfSAqLw0KKy8qIHsgZGctZmlu YWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNldHZsaVxzK3plcm8sXHMq W2EteDAtOV0rLFxzKmU4LFxzKm1mMixccyp0W2F1XSxccyptW2F1XVxzK3Z3 c3VidVwud3Zccyt2WzAtOV0rLFxzKnZbMC05XSssXHMqdlswLTldK30gMSB9 IH0gKi8NCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMg e3ZzZXR2bGlccyt6ZXJvLFxzKlthLXgwLTldKyxccyplOCxccyptMSxccyp0 W2F1XSxccyptW2F1XVxzK3Z3c3VidVwud3Zccyt2WzAtOV0rLFxzKnZbMC05 XSssXHMqdlswLTldK30gMSB9IH0gKi8NCisvKiB7IGRnLWZpbmFsIHsgc2Nh bi1hc3NlbWJsZXItdGltZXMge3ZzZXR2bGlccyt6ZXJvLFxzKlthLXgwLTld KyxccyplOCxccyptMixccyp0W2F1XSxccyptW2F1XVxzK3Z3c3VidVwud3Zc cyt2WzAtOV0rLFxzKnZbMC05XSssXHMqdlswLTldK30gMSB9IH0gKi8NCisv KiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3ZzZXR2bGlc cyt6ZXJvLFxzKlthLXgwLTldKyxccyplOCxccyptNCxccyp0W2F1XSxccypt W2F1XVxzK3Z3c3VidVwud3Zccyt2WzAtOV0rLFxzKnZbMC05XSssXHMqdlsw LTldK30gMSB9IH0gKi8NCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJs ZXItdGltZXMge3ZzZXR2bGlccyt6ZXJvLFxzKlthLXgwLTldKyxccyplMTYs XHMqbWY0LFxzKnRbYXVdLFxzKm1bYXVdXHMrdndzdWJ1XC53dlxzK3ZbMC05 XSssXHMqdlswLTldKyxccyp2WzAtOV0rfSAxIH0gfSAqLw0KKy8qIHsgZGct ZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNldHZsaVxzK3plcm8s XHMqW2EteDAtOV0rLFxzKmUxNixccyptZjIsXHMqdFthdV0sXHMqbVthdV1c cyt2d3N1YnVcLnd2XHMrdlswLTldKyxccyp2WzAtOV0rLFxzKnZbMC05XSt9 IDEgfSB9ICovDQorLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRp bWVzIHt2c2V0dmxpXHMremVybyxccypbYS14MC05XSssXHMqZTE2LFxzKm0x LFxzKnRbYXVdLFxzKm1bYXVdXHMrdndzdWJ1XC53dlxzK3ZbMC05XSssXHMq dlswLTldKyxccyp2WzAtOV0rfSAxIH0gfSAqLw0KKy8qIHsgZGctZmluYWwg eyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNldHZsaVxzK3plcm8sXHMqW2Et eDAtOV0rLFxzKmUxNixccyptMixccyp0W2F1XSxccyptW2F1XVxzK3Z3c3Vi dVwud3Zccyt2WzAtOV0rLFxzKnZbMC05XSssXHMqdlswLTldK30gMSB9IH0g Ki8NCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3Zz ZXR2bGlccyt6ZXJvLFxzKlthLXgwLTldKyxccyplMTYsXHMqbTQsXHMqdFth dV0sXHMqbVthdV1ccyt2d3N1YnVcLnd2XHMrdlswLTldKyxccyp2WzAtOV0r LFxzKnZbMC05XSt9IDEgfSB9ICovDQorLyogeyBkZy1maW5hbCB7IHNjYW4t YXNzZW1ibGVyLXRpbWVzIHt2c2V0dmxpXHMremVybyxccypbYS14MC05XSss XHMqZTMyLFxzKm1mMixccyp0W2F1XSxccyptW2F1XVxzK3Z3c3VidVwud3Zc cyt2WzAtOV0rLFxzKnZbMC05XSssXHMqdlswLTldK30gMSB9IH0gKi8NCisv KiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3ZzZXR2bGlc cyt6ZXJvLFxzKlthLXgwLTldKyxccyplMzIsXHMqbTEsXHMqdFthdV0sXHMq bVthdV1ccyt2d3N1YnVcLnd2XHMrdlswLTldKyxccyp2WzAtOV0rLFxzKnZb MC05XSt9IDEgfSB9ICovDQorLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1i bGVyLXRpbWVzIHt2c2V0dmxpXHMremVybyxccypbYS14MC05XSssXHMqZTMy LFxzKm0yLFxzKnRbYXVdLFxzKm1bYXVdXHMrdndzdWJ1XC53dlxzK3ZbMC05 XSssXHMqdlswLTldKyxccyp2WzAtOV0rfSAxIH0gfSAqLw0KKy8qIHsgZGct ZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNldHZsaVxzK3plcm8s XHMqW2EteDAtOV0rLFxzKmUzMixccyptNCxccyp0W2F1XSxccyptW2F1XVxz K3Z3c3VidVwud3Zccyt2WzAtOV0rLFxzKnZbMC05XSssXHMqdlswLTldK30g MSB9IH0gKi8NCmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy50YXJn ZXQvcmlzY3YvcnZ2L2Jhc2UvdndzdWJ1X3d2X20tMS5jIGIvZ2NjL3Rlc3Rz dWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2di9iYXNlL3Z3c3VidV93dl9tLTEu Yw0KbmV3IGZpbGUgbW9kZSAxMDA2NDQNCmluZGV4IDAwMDAwMDAwMDAwLi4z NGRjMjRhYWRiMQ0KLS0tIC9kZXYvbnVsbA0KKysrIGIvZ2NjL3Rlc3RzdWl0 ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2di9iYXNlL3Z3c3VidV93dl9tLTEuYw0K QEAgLTAsMCArMSwxMTEgQEANCisvKiB7IGRnLWRvIGNvbXBpbGUgfSAqLw0K Ky8qIHsgZGctb3B0aW9ucyAiLW1hcmNoPXJ2NjRnY3YgLW1hYmk9bHA2NGQg LU8zIC1mbm8tc2NoZWR1bGUtaW5zbnMgLWZuby1zY2hlZHVsZS1pbnNuczIi IH0gKi8NCisNCisjaW5jbHVkZSAicmlzY3ZfdmVjdG9yLmgiDQorDQordnVp bnQxNm1mNF90IHRlc3RfX19yaXNjdl92d3N1YnVfd3ZfdTE2bWY0X20odmJv b2w2NF90IG1hc2ssdnVpbnQxNm1mNF90IG9wMSx2dWludDhtZjhfdCBvcDIs c2l6ZV90IHZsKQ0KK3sNCisgICAgcmV0dXJuIF9fcmlzY3ZfdndzdWJ1X3d2 X3UxNm1mNF9tKG1hc2ssb3AxLG9wMix2bCk7DQorfQ0KKw0KKw0KK3Z1aW50 MTZtZjJfdCB0ZXN0X19fcmlzY3ZfdndzdWJ1X3d2X3UxNm1mMl9tKHZib29s MzJfdCBtYXNrLHZ1aW50MTZtZjJfdCBvcDEsdnVpbnQ4bWY0X3Qgb3AyLHNp emVfdCB2bCkNCit7DQorICAgIHJldHVybiBfX3Jpc2N2X3Z3c3VidV93dl91 MTZtZjJfbShtYXNrLG9wMSxvcDIsdmwpOw0KK30NCisNCisNCit2dWludDE2 bTFfdCB0ZXN0X19fcmlzY3ZfdndzdWJ1X3d2X3UxNm0xX20odmJvb2wxNl90 IG1hc2ssdnVpbnQxNm0xX3Qgb3AxLHZ1aW50OG1mMl90IG9wMixzaXplX3Qg dmwpDQorew0KKyAgICByZXR1cm4gX19yaXNjdl92d3N1YnVfd3ZfdTE2bTFf bShtYXNrLG9wMSxvcDIsdmwpOw0KK30NCisNCisNCit2dWludDE2bTJfdCB0 ZXN0X19fcmlzY3ZfdndzdWJ1X3d2X3UxNm0yX20odmJvb2w4X3QgbWFzayx2 dWludDE2bTJfdCBvcDEsdnVpbnQ4bTFfdCBvcDIsc2l6ZV90IHZsKQ0KK3sN CisgICAgcmV0dXJuIF9fcmlzY3ZfdndzdWJ1X3d2X3UxNm0yX20obWFzayxv cDEsb3AyLHZsKTsNCit9DQorDQorDQordnVpbnQxNm00X3QgdGVzdF9fX3Jp c2N2X3Z3c3VidV93dl91MTZtNF9tKHZib29sNF90IG1hc2ssdnVpbnQxNm00 X3Qgb3AxLHZ1aW50OG0yX3Qgb3AyLHNpemVfdCB2bCkNCit7DQorICAgIHJl dHVybiBfX3Jpc2N2X3Z3c3VidV93dl91MTZtNF9tKG1hc2ssb3AxLG9wMix2 bCk7DQorfQ0KKw0KKw0KK3Z1aW50MTZtOF90IHRlc3RfX19yaXNjdl92d3N1 YnVfd3ZfdTE2bThfbSh2Ym9vbDJfdCBtYXNrLHZ1aW50MTZtOF90IG9wMSx2 dWludDhtNF90IG9wMixzaXplX3QgdmwpDQorew0KKyAgICByZXR1cm4gX19y aXNjdl92d3N1YnVfd3ZfdTE2bThfbShtYXNrLG9wMSxvcDIsdmwpOw0KK30N CisNCisNCit2dWludDMybWYyX3QgdGVzdF9fX3Jpc2N2X3Z3c3VidV93dl91 MzJtZjJfbSh2Ym9vbDY0X3QgbWFzayx2dWludDMybWYyX3Qgb3AxLHZ1aW50 MTZtZjRfdCBvcDIsc2l6ZV90IHZsKQ0KK3sNCisgICAgcmV0dXJuIF9fcmlz Y3ZfdndzdWJ1X3d2X3UzMm1mMl9tKG1hc2ssb3AxLG9wMix2bCk7DQorfQ0K Kw0KKw0KK3Z1aW50MzJtMV90IHRlc3RfX19yaXNjdl92d3N1YnVfd3ZfdTMy bTFfbSh2Ym9vbDMyX3QgbWFzayx2dWludDMybTFfdCBvcDEsdnVpbnQxNm1m Ml90IG9wMixzaXplX3QgdmwpDQorew0KKyAgICByZXR1cm4gX19yaXNjdl92 d3N1YnVfd3ZfdTMybTFfbShtYXNrLG9wMSxvcDIsdmwpOw0KK30NCisNCisN Cit2dWludDMybTJfdCB0ZXN0X19fcmlzY3ZfdndzdWJ1X3d2X3UzMm0yX20o dmJvb2wxNl90IG1hc2ssdnVpbnQzMm0yX3Qgb3AxLHZ1aW50MTZtMV90IG9w MixzaXplX3QgdmwpDQorew0KKyAgICByZXR1cm4gX19yaXNjdl92d3N1YnVf d3ZfdTMybTJfbShtYXNrLG9wMSxvcDIsdmwpOw0KK30NCisNCisNCit2dWlu dDMybTRfdCB0ZXN0X19fcmlzY3ZfdndzdWJ1X3d2X3UzMm00X20odmJvb2w4 X3QgbWFzayx2dWludDMybTRfdCBvcDEsdnVpbnQxNm0yX3Qgb3AyLHNpemVf dCB2bCkNCit7DQorICAgIHJldHVybiBfX3Jpc2N2X3Z3c3VidV93dl91MzJt NF9tKG1hc2ssb3AxLG9wMix2bCk7DQorfQ0KKw0KKw0KK3Z1aW50MzJtOF90 IHRlc3RfX19yaXNjdl92d3N1YnVfd3ZfdTMybThfbSh2Ym9vbDRfdCBtYXNr LHZ1aW50MzJtOF90IG9wMSx2dWludDE2bTRfdCBvcDIsc2l6ZV90IHZsKQ0K K3sNCisgICAgcmV0dXJuIF9fcmlzY3ZfdndzdWJ1X3d2X3UzMm04X20obWFz ayxvcDEsb3AyLHZsKTsNCit9DQorDQorDQordnVpbnQ2NG0xX3QgdGVzdF9f X3Jpc2N2X3Z3c3VidV93dl91NjRtMV9tKHZib29sNjRfdCBtYXNrLHZ1aW50 NjRtMV90IG9wMSx2dWludDMybWYyX3Qgb3AyLHNpemVfdCB2bCkNCit7DQor ICAgIHJldHVybiBfX3Jpc2N2X3Z3c3VidV93dl91NjRtMV9tKG1hc2ssb3Ax LG9wMix2bCk7DQorfQ0KKw0KKw0KK3Z1aW50NjRtMl90IHRlc3RfX19yaXNj dl92d3N1YnVfd3ZfdTY0bTJfbSh2Ym9vbDMyX3QgbWFzayx2dWludDY0bTJf dCBvcDEsdnVpbnQzMm0xX3Qgb3AyLHNpemVfdCB2bCkNCit7DQorICAgIHJl dHVybiBfX3Jpc2N2X3Z3c3VidV93dl91NjRtMl9tKG1hc2ssb3AxLG9wMix2 bCk7DQorfQ0KKw0KKw0KK3Z1aW50NjRtNF90IHRlc3RfX19yaXNjdl92d3N1 YnVfd3ZfdTY0bTRfbSh2Ym9vbDE2X3QgbWFzayx2dWludDY0bTRfdCBvcDEs dnVpbnQzMm0yX3Qgb3AyLHNpemVfdCB2bCkNCit7DQorICAgIHJldHVybiBf X3Jpc2N2X3Z3c3VidV93dl91NjRtNF9tKG1hc2ssb3AxLG9wMix2bCk7DQor fQ0KKw0KKw0KK3Z1aW50NjRtOF90IHRlc3RfX19yaXNjdl92d3N1YnVfd3Zf dTY0bThfbSh2Ym9vbDhfdCBtYXNrLHZ1aW50NjRtOF90IG9wMSx2dWludDMy bTRfdCBvcDIsc2l6ZV90IHZsKQ0KK3sNCisgICAgcmV0dXJuIF9fcmlzY3Zf dndzdWJ1X3d2X3U2NG04X20obWFzayxvcDEsb3AyLHZsKTsNCit9DQorDQor DQorDQorLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2 c2V0dmxpXHMremVybyxccypbYS14MC05XSssXHMqZTgsXHMqbWY4LFxzKnRb YXVdLFxzKm1bYXVdXHMrdndzdWJ1XC53dlxzK3ZbMC05XSssXHMqdlswLTld Kyxccyp2WzAtOV0rLFxzKnYwLnR9IDEgfSB9ICovDQorLyogeyBkZy1maW5h bCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2c2V0dmxpXHMremVybyxccypb YS14MC05XSssXHMqZTgsXHMqbWY0LFxzKnRbYXVdLFxzKm1bYXVdXHMrdndz dWJ1XC53dlxzK3ZbMC05XSssXHMqdlswLTldKyxccyp2WzAtOV0rLFxzKnYw LnR9IDEgfSB9ICovDQorLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVy LXRpbWVzIHt2c2V0dmxpXHMremVybyxccypbYS14MC05XSssXHMqZTgsXHMq bWYyLFxzKnRbYXVdLFxzKm1bYXVdXHMrdndzdWJ1XC53dlxzK3ZbMC05XSss XHMqdlswLTldKyxccyp2WzAtOV0rLFxzKnYwLnR9IDEgfSB9ICovDQorLyog eyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2c2V0dmxpXHMr emVybyxccypbYS14MC05XSssXHMqZTgsXHMqbTEsXHMqdFthdV0sXHMqbVth dV1ccyt2d3N1YnVcLnd2XHMrdlswLTldKyxccyp2WzAtOV0rLFxzKnZbMC05 XSssXHMqdjAudH0gMSB9IH0gKi8NCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1h c3NlbWJsZXItdGltZXMge3ZzZXR2bGlccyt6ZXJvLFxzKlthLXgwLTldKyxc cyplOCxccyptMixccyp0W2F1XSxccyptW2F1XVxzK3Z3c3VidVwud3Zccyt2 WzAtOV0rLFxzKnZbMC05XSssXHMqdlswLTldKyxccyp2MC50fSAxIH0gfSAq Lw0KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNl dHZsaVxzK3plcm8sXHMqW2EteDAtOV0rLFxzKmU4LFxzKm00LFxzKnRbYXVd LFxzKm1bYXVdXHMrdndzdWJ1XC53dlxzK3ZbMC05XSssXHMqdlswLTldKyxc cyp2WzAtOV0rLFxzKnYwLnR9IDEgfSB9ICovDQorLyogeyBkZy1maW5hbCB7 IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2c2V0dmxpXHMremVybyxccypbYS14 MC05XSssXHMqZTE2LFxzKm1mNCxccyp0W2F1XSxccyptW2F1XVxzK3Z3c3Vi dVwud3Zccyt2WzAtOV0rLFxzKnZbMC05XSssXHMqdlswLTldKyxccyp2MC50 fSAxIH0gfSAqLw0KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10 aW1lcyB7dnNldHZsaVxzK3plcm8sXHMqW2EteDAtOV0rLFxzKmUxNixccypt ZjIsXHMqdFthdV0sXHMqbVthdV1ccyt2d3N1YnVcLnd2XHMrdlswLTldKyxc cyp2WzAtOV0rLFxzKnZbMC05XSssXHMqdjAudH0gMSB9IH0gKi8NCisvKiB7 IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3ZzZXR2bGlccyt6 ZXJvLFxzKlthLXgwLTldKyxccyplMTYsXHMqbTEsXHMqdFthdV0sXHMqbVth dV1ccyt2d3N1YnVcLnd2XHMrdlswLTldKyxccyp2WzAtOV0rLFxzKnZbMC05 XSssXHMqdjAudH0gMSB9IH0gKi8NCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1h c3NlbWJsZXItdGltZXMge3ZzZXR2bGlccyt6ZXJvLFxzKlthLXgwLTldKyxc cyplMTYsXHMqbTIsXHMqdFthdV0sXHMqbVthdV1ccyt2d3N1YnVcLnd2XHMr dlswLTldKyxccyp2WzAtOV0rLFxzKnZbMC05XSssXHMqdjAudH0gMSB9IH0g Ki8NCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3Zz ZXR2bGlccyt6ZXJvLFxzKlthLXgwLTldKyxccyplMTYsXHMqbTQsXHMqdFth dV0sXHMqbVthdV1ccyt2d3N1YnVcLnd2XHMrdlswLTldKyxccyp2WzAtOV0r LFxzKnZbMC05XSssXHMqdjAudH0gMSB9IH0gKi8NCisvKiB7IGRnLWZpbmFs IHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3ZzZXR2bGlccyt6ZXJvLFxzKlth LXgwLTldKyxccyplMzIsXHMqbWYyLFxzKnRbYXVdLFxzKm1bYXVdXHMrdndz dWJ1XC53dlxzK3ZbMC05XSssXHMqdlswLTldKyxccyp2WzAtOV0rLFxzKnYw LnR9IDEgfSB9ICovDQorLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVy LXRpbWVzIHt2c2V0dmxpXHMremVybyxccypbYS14MC05XSssXHMqZTMyLFxz Km0xLFxzKnRbYXVdLFxzKm1bYXVdXHMrdndzdWJ1XC53dlxzK3ZbMC05XSss XHMqdlswLTldKyxccyp2WzAtOV0rLFxzKnYwLnR9IDEgfSB9ICovDQorLyog eyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2c2V0dmxpXHMr emVybyxccypbYS14MC05XSssXHMqZTMyLFxzKm0yLFxzKnRbYXVdLFxzKm1b YXVdXHMrdndzdWJ1XC53dlxzK3ZbMC05XSssXHMqdlswLTldKyxccyp2WzAt OV0rLFxzKnYwLnR9IDEgfSB9ICovDQorLyogeyBkZy1maW5hbCB7IHNjYW4t YXNzZW1ibGVyLXRpbWVzIHt2c2V0dmxpXHMremVybyxccypbYS14MC05XSss XHMqZTMyLFxzKm00LFxzKnRbYXVdLFxzKm1bYXVdXHMrdndzdWJ1XC53dlxz K3ZbMC05XSssXHMqdlswLTldKyxccyp2WzAtOV0rLFxzKnYwLnR9IDEgfSB9 ICovDQpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jp c2N2L3J2di9iYXNlL3Z3c3VidV93dl9tLTIuYyBiL2djYy90ZXN0c3VpdGUv Z2NjLnRhcmdldC9yaXNjdi9ydnYvYmFzZS92d3N1YnVfd3ZfbS0yLmMNCm5l dyBmaWxlIG1vZGUgMTAwNjQ0DQppbmRleCAwMDAwMDAwMDAwMC4uYWJjZmM0 YjdjNjQNCi0tLSAvZGV2L251bGwNCisrKyBiL2djYy90ZXN0c3VpdGUvZ2Nj LnRhcmdldC9yaXNjdi9ydnYvYmFzZS92d3N1YnVfd3ZfbS0yLmMNCkBAIC0w LDAgKzEsMTExIEBADQorLyogeyBkZy1kbyBjb21waWxlIH0gKi8NCisvKiB7 IGRnLW9wdGlvbnMgIi1tYXJjaD1ydjY0Z2N2IC1tYWJpPWxwNjRkIC1PMyAt Zm5vLXNjaGVkdWxlLWluc25zIC1mbm8tc2NoZWR1bGUtaW5zbnMyIiB9ICov DQorDQorI2luY2x1ZGUgInJpc2N2X3ZlY3Rvci5oIg0KKw0KK3Z1aW50MTZt ZjRfdCB0ZXN0X19fcmlzY3ZfdndzdWJ1X3d2X3UxNm1mNF9tKHZib29sNjRf dCBtYXNrLHZ1aW50MTZtZjRfdCBvcDEsdnVpbnQ4bWY4X3Qgb3AyLHNpemVf dCB2bCkNCit7DQorICAgIHJldHVybiBfX3Jpc2N2X3Z3c3VidV93dl91MTZt ZjRfbShtYXNrLG9wMSxvcDIsMzEpOw0KK30NCisNCisNCit2dWludDE2bWYy X3QgdGVzdF9fX3Jpc2N2X3Z3c3VidV93dl91MTZtZjJfbSh2Ym9vbDMyX3Qg bWFzayx2dWludDE2bWYyX3Qgb3AxLHZ1aW50OG1mNF90IG9wMixzaXplX3Qg dmwpDQorew0KKyAgICByZXR1cm4gX19yaXNjdl92d3N1YnVfd3ZfdTE2bWYy X20obWFzayxvcDEsb3AyLDMxKTsNCit9DQorDQorDQordnVpbnQxNm0xX3Qg dGVzdF9fX3Jpc2N2X3Z3c3VidV93dl91MTZtMV9tKHZib29sMTZfdCBtYXNr LHZ1aW50MTZtMV90IG9wMSx2dWludDhtZjJfdCBvcDIsc2l6ZV90IHZsKQ0K K3sNCisgICAgcmV0dXJuIF9fcmlzY3ZfdndzdWJ1X3d2X3UxNm0xX20obWFz ayxvcDEsb3AyLDMxKTsNCit9DQorDQorDQordnVpbnQxNm0yX3QgdGVzdF9f X3Jpc2N2X3Z3c3VidV93dl91MTZtMl9tKHZib29sOF90IG1hc2ssdnVpbnQx Nm0yX3Qgb3AxLHZ1aW50OG0xX3Qgb3AyLHNpemVfdCB2bCkNCit7DQorICAg IHJldHVybiBfX3Jpc2N2X3Z3c3VidV93dl91MTZtMl9tKG1hc2ssb3AxLG9w MiwzMSk7DQorfQ0KKw0KKw0KK3Z1aW50MTZtNF90IHRlc3RfX19yaXNjdl92 d3N1YnVfd3ZfdTE2bTRfbSh2Ym9vbDRfdCBtYXNrLHZ1aW50MTZtNF90IG9w MSx2dWludDhtMl90IG9wMixzaXplX3QgdmwpDQorew0KKyAgICByZXR1cm4g X19yaXNjdl92d3N1YnVfd3ZfdTE2bTRfbShtYXNrLG9wMSxvcDIsMzEpOw0K K30NCisNCisNCit2dWludDE2bThfdCB0ZXN0X19fcmlzY3ZfdndzdWJ1X3d2 X3UxNm04X20odmJvb2wyX3QgbWFzayx2dWludDE2bThfdCBvcDEsdnVpbnQ4 bTRfdCBvcDIsc2l6ZV90IHZsKQ0KK3sNCisgICAgcmV0dXJuIF9fcmlzY3Zf dndzdWJ1X3d2X3UxNm04X20obWFzayxvcDEsb3AyLDMxKTsNCit9DQorDQor DQordnVpbnQzMm1mMl90IHRlc3RfX19yaXNjdl92d3N1YnVfd3ZfdTMybWYy X20odmJvb2w2NF90IG1hc2ssdnVpbnQzMm1mMl90IG9wMSx2dWludDE2bWY0 X3Qgb3AyLHNpemVfdCB2bCkNCit7DQorICAgIHJldHVybiBfX3Jpc2N2X3Z3 c3VidV93dl91MzJtZjJfbShtYXNrLG9wMSxvcDIsMzEpOw0KK30NCisNCisN Cit2dWludDMybTFfdCB0ZXN0X19fcmlzY3ZfdndzdWJ1X3d2X3UzMm0xX20o dmJvb2wzMl90IG1hc2ssdnVpbnQzMm0xX3Qgb3AxLHZ1aW50MTZtZjJfdCBv cDIsc2l6ZV90IHZsKQ0KK3sNCisgICAgcmV0dXJuIF9fcmlzY3ZfdndzdWJ1 X3d2X3UzMm0xX20obWFzayxvcDEsb3AyLDMxKTsNCit9DQorDQorDQordnVp bnQzMm0yX3QgdGVzdF9fX3Jpc2N2X3Z3c3VidV93dl91MzJtMl9tKHZib29s MTZfdCBtYXNrLHZ1aW50MzJtMl90IG9wMSx2dWludDE2bTFfdCBvcDIsc2l6 ZV90IHZsKQ0KK3sNCisgICAgcmV0dXJuIF9fcmlzY3ZfdndzdWJ1X3d2X3Uz Mm0yX20obWFzayxvcDEsb3AyLDMxKTsNCit9DQorDQorDQordnVpbnQzMm00 X3QgdGVzdF9fX3Jpc2N2X3Z3c3VidV93dl91MzJtNF9tKHZib29sOF90IG1h c2ssdnVpbnQzMm00X3Qgb3AxLHZ1aW50MTZtMl90IG9wMixzaXplX3Qgdmwp DQorew0KKyAgICByZXR1cm4gX19yaXNjdl92d3N1YnVfd3ZfdTMybTRfbSht YXNrLG9wMSxvcDIsMzEpOw0KK30NCisNCisNCit2dWludDMybThfdCB0ZXN0 X19fcmlzY3ZfdndzdWJ1X3d2X3UzMm04X20odmJvb2w0X3QgbWFzayx2dWlu dDMybThfdCBvcDEsdnVpbnQxNm00X3Qgb3AyLHNpemVfdCB2bCkNCit7DQor ICAgIHJldHVybiBfX3Jpc2N2X3Z3c3VidV93dl91MzJtOF9tKG1hc2ssb3Ax LG9wMiwzMSk7DQorfQ0KKw0KKw0KK3Z1aW50NjRtMV90IHRlc3RfX19yaXNj dl92d3N1YnVfd3ZfdTY0bTFfbSh2Ym9vbDY0X3QgbWFzayx2dWludDY0bTFf dCBvcDEsdnVpbnQzMm1mMl90IG9wMixzaXplX3QgdmwpDQorew0KKyAgICBy ZXR1cm4gX19yaXNjdl92d3N1YnVfd3ZfdTY0bTFfbShtYXNrLG9wMSxvcDIs MzEpOw0KK30NCisNCisNCit2dWludDY0bTJfdCB0ZXN0X19fcmlzY3Zfdndz dWJ1X3d2X3U2NG0yX20odmJvb2wzMl90IG1hc2ssdnVpbnQ2NG0yX3Qgb3Ax LHZ1aW50MzJtMV90IG9wMixzaXplX3QgdmwpDQorew0KKyAgICByZXR1cm4g X19yaXNjdl92d3N1YnVfd3ZfdTY0bTJfbShtYXNrLG9wMSxvcDIsMzEpOw0K K30NCisNCisNCit2dWludDY0bTRfdCB0ZXN0X19fcmlzY3ZfdndzdWJ1X3d2 X3U2NG00X20odmJvb2wxNl90IG1hc2ssdnVpbnQ2NG00X3Qgb3AxLHZ1aW50 MzJtMl90IG9wMixzaXplX3QgdmwpDQorew0KKyAgICByZXR1cm4gX19yaXNj dl92d3N1YnVfd3ZfdTY0bTRfbShtYXNrLG9wMSxvcDIsMzEpOw0KK30NCisN CisNCit2dWludDY0bThfdCB0ZXN0X19fcmlzY3ZfdndzdWJ1X3d2X3U2NG04 X20odmJvb2w4X3QgbWFzayx2dWludDY0bThfdCBvcDEsdnVpbnQzMm00X3Qg b3AyLHNpemVfdCB2bCkNCit7DQorICAgIHJldHVybiBfX3Jpc2N2X3Z3c3Vi dV93dl91NjRtOF9tKG1hc2ssb3AxLG9wMiwzMSk7DQorfQ0KKw0KKw0KKw0K Ky8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNldGl2 bGlccyt6ZXJvLFxzKjMxLFxzKmU4LFxzKm1mOCxccyp0W2F1XSxccyptW2F1 XVxzK3Z3c3VidVwud3Zccyt2WzAtOV0rLFxzKnZbMC05XSssXHMqdlswLTld Kyxccyp2MC50fSAxIH0gfSAqLw0KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFz c2VtYmxlci10aW1lcyB7dnNldGl2bGlccyt6ZXJvLFxzKjMxLFxzKmU4LFxz Km1mNCxccyp0W2F1XSxccyptW2F1XVxzK3Z3c3VidVwud3Zccyt2WzAtOV0r LFxzKnZbMC05XSssXHMqdlswLTldKyxccyp2MC50fSAxIH0gfSAqLw0KKy8q IHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNldGl2bGlc cyt6ZXJvLFxzKjMxLFxzKmU4LFxzKm1mMixccyp0W2F1XSxccyptW2F1XVxz K3Z3c3VidVwud3Zccyt2WzAtOV0rLFxzKnZbMC05XSssXHMqdlswLTldKyxc cyp2MC50fSAxIH0gfSAqLw0KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2Vt Ymxlci10aW1lcyB7dnNldGl2bGlccyt6ZXJvLFxzKjMxLFxzKmU4LFxzKm0x LFxzKnRbYXVdLFxzKm1bYXVdXHMrdndzdWJ1XC53dlxzK3ZbMC05XSssXHMq dlswLTldKyxccyp2WzAtOV0rLFxzKnYwLnR9IDEgfSB9ICovDQorLyogeyBk Zy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2c2V0aXZsaVxzK3pl cm8sXHMqMzEsXHMqZTgsXHMqbTIsXHMqdFthdV0sXHMqbVthdV1ccyt2d3N1 YnVcLnd2XHMrdlswLTldKyxccyp2WzAtOV0rLFxzKnZbMC05XSssXHMqdjAu dH0gMSB9IH0gKi8NCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXIt dGltZXMge3ZzZXRpdmxpXHMremVybyxccyozMSxccyplOCxccyptNCxccyp0 W2F1XSxccyptW2F1XVxzK3Z3c3VidVwud3Zccyt2WzAtOV0rLFxzKnZbMC05 XSssXHMqdlswLTldKyxccyp2MC50fSAxIH0gfSAqLw0KKy8qIHsgZGctZmlu YWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNldGl2bGlccyt6ZXJvLFxz KjMxLFxzKmUxNixccyptZjQsXHMqdFthdV0sXHMqbVthdV1ccyt2d3N1YnVc Lnd2XHMrdlswLTldKyxccyp2WzAtOV0rLFxzKnZbMC05XSssXHMqdjAudH0g MSB9IH0gKi8NCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGlt ZXMge3ZzZXRpdmxpXHMremVybyxccyozMSxccyplMTYsXHMqbWYyLFxzKnRb YXVdLFxzKm1bYXVdXHMrdndzdWJ1XC53dlxzK3ZbMC05XSssXHMqdlswLTld Kyxccyp2WzAtOV0rLFxzKnYwLnR9IDEgfSB9ICovDQorLyogeyBkZy1maW5h bCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2c2V0aXZsaVxzK3plcm8sXHMq MzEsXHMqZTE2LFxzKm0xLFxzKnRbYXVdLFxzKm1bYXVdXHMrdndzdWJ1XC53 dlxzK3ZbMC05XSssXHMqdlswLTldKyxccyp2WzAtOV0rLFxzKnYwLnR9IDEg fSB9ICovDQorLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVz IHt2c2V0aXZsaVxzK3plcm8sXHMqMzEsXHMqZTE2LFxzKm0yLFxzKnRbYXVd LFxzKm1bYXVdXHMrdndzdWJ1XC53dlxzK3ZbMC05XSssXHMqdlswLTldKyxc cyp2WzAtOV0rLFxzKnYwLnR9IDEgfSB9ICovDQorLyogeyBkZy1maW5hbCB7 IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2c2V0aXZsaVxzK3plcm8sXHMqMzEs XHMqZTE2LFxzKm00LFxzKnRbYXVdLFxzKm1bYXVdXHMrdndzdWJ1XC53dlxz K3ZbMC05XSssXHMqdlswLTldKyxccyp2WzAtOV0rLFxzKnYwLnR9IDEgfSB9 ICovDQorLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2 c2V0aXZsaVxzK3plcm8sXHMqMzEsXHMqZTMyLFxzKm1mMixccyp0W2F1XSxc cyptW2F1XVxzK3Z3c3VidVwud3Zccyt2WzAtOV0rLFxzKnZbMC05XSssXHMq dlswLTldKyxccyp2MC50fSAxIH0gfSAqLw0KKy8qIHsgZGctZmluYWwgeyBz Y2FuLWFzc2VtYmxlci10aW1lcyB7dnNldGl2bGlccyt6ZXJvLFxzKjMxLFxz KmUzMixccyptMSxccyp0W2F1XSxccyptW2F1XVxzK3Z3c3VidVwud3Zccyt2 WzAtOV0rLFxzKnZbMC05XSssXHMqdlswLTldKyxccyp2MC50fSAxIH0gfSAq Lw0KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNl dGl2bGlccyt6ZXJvLFxzKjMxLFxzKmUzMixccyptMixccyp0W2F1XSxccypt W2F1XVxzK3Z3c3VidVwud3Zccyt2WzAtOV0rLFxzKnZbMC05XSssXHMqdlsw LTldKyxccyp2MC50fSAxIH0gfSAqLw0KKy8qIHsgZGctZmluYWwgeyBzY2Fu LWFzc2VtYmxlci10aW1lcyB7dnNldGl2bGlccyt6ZXJvLFxzKjMxLFxzKmUz MixccyptNCxccyp0W2F1XSxccyptW2F1XVxzK3Z3c3VidVwud3Zccyt2WzAt OV0rLFxzKnZbMC05XSssXHMqdlswLTldKyxccyp2MC50fSAxIH0gfSAqLw0K ZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9y dnYvYmFzZS92d3N1YnVfd3ZfbS0zLmMgYi9nY2MvdGVzdHN1aXRlL2djYy50 YXJnZXQvcmlzY3YvcnZ2L2Jhc2UvdndzdWJ1X3d2X20tMy5jDQpuZXcgZmls ZSBtb2RlIDEwMDY0NA0KaW5kZXggMDAwMDAwMDAwMDAuLjI4ZDM4YTgxYWVj DQotLS0gL2Rldi9udWxsDQorKysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJn ZXQvcmlzY3YvcnZ2L2Jhc2UvdndzdWJ1X3d2X20tMy5jDQpAQCAtMCwwICsx LDExMSBAQA0KKy8qIHsgZGctZG8gY29tcGlsZSB9ICovDQorLyogeyBkZy1v cHRpb25zICItbWFyY2g9cnY2NGdjdiAtbWFiaT1scDY0ZCAtTzMgLWZuby1z Y2hlZHVsZS1pbnNucyAtZm5vLXNjaGVkdWxlLWluc25zMiIgfSAqLw0KKw0K KyNpbmNsdWRlICJyaXNjdl92ZWN0b3IuaCINCisNCit2dWludDE2bWY0X3Qg dGVzdF9fX3Jpc2N2X3Z3c3VidV93dl91MTZtZjRfbSh2Ym9vbDY0X3QgbWFz ayx2dWludDE2bWY0X3Qgb3AxLHZ1aW50OG1mOF90IG9wMixzaXplX3Qgdmwp DQorew0KKyAgICByZXR1cm4gX19yaXNjdl92d3N1YnVfd3ZfdTE2bWY0X20o bWFzayxvcDEsb3AyLDMyKTsNCit9DQorDQorDQordnVpbnQxNm1mMl90IHRl c3RfX19yaXNjdl92d3N1YnVfd3ZfdTE2bWYyX20odmJvb2wzMl90IG1hc2ss dnVpbnQxNm1mMl90IG9wMSx2dWludDhtZjRfdCBvcDIsc2l6ZV90IHZsKQ0K K3sNCisgICAgcmV0dXJuIF9fcmlzY3ZfdndzdWJ1X3d2X3UxNm1mMl9tKG1h c2ssb3AxLG9wMiwzMik7DQorfQ0KKw0KKw0KK3Z1aW50MTZtMV90IHRlc3Rf X19yaXNjdl92d3N1YnVfd3ZfdTE2bTFfbSh2Ym9vbDE2X3QgbWFzayx2dWlu dDE2bTFfdCBvcDEsdnVpbnQ4bWYyX3Qgb3AyLHNpemVfdCB2bCkNCit7DQor ICAgIHJldHVybiBfX3Jpc2N2X3Z3c3VidV93dl91MTZtMV9tKG1hc2ssb3Ax LG9wMiwzMik7DQorfQ0KKw0KKw0KK3Z1aW50MTZtMl90IHRlc3RfX19yaXNj dl92d3N1YnVfd3ZfdTE2bTJfbSh2Ym9vbDhfdCBtYXNrLHZ1aW50MTZtMl90 IG9wMSx2dWludDhtMV90IG9wMixzaXplX3QgdmwpDQorew0KKyAgICByZXR1 cm4gX19yaXNjdl92d3N1YnVfd3ZfdTE2bTJfbShtYXNrLG9wMSxvcDIsMzIp Ow0KK30NCisNCisNCit2dWludDE2bTRfdCB0ZXN0X19fcmlzY3ZfdndzdWJ1 X3d2X3UxNm00X20odmJvb2w0X3QgbWFzayx2dWludDE2bTRfdCBvcDEsdnVp bnQ4bTJfdCBvcDIsc2l6ZV90IHZsKQ0KK3sNCisgICAgcmV0dXJuIF9fcmlz Y3ZfdndzdWJ1X3d2X3UxNm00X20obWFzayxvcDEsb3AyLDMyKTsNCit9DQor DQorDQordnVpbnQxNm04X3QgdGVzdF9fX3Jpc2N2X3Z3c3VidV93dl91MTZt OF9tKHZib29sMl90IG1hc2ssdnVpbnQxNm04X3Qgb3AxLHZ1aW50OG00X3Qg b3AyLHNpemVfdCB2bCkNCit7DQorICAgIHJldHVybiBfX3Jpc2N2X3Z3c3Vi dV93dl91MTZtOF9tKG1hc2ssb3AxLG9wMiwzMik7DQorfQ0KKw0KKw0KK3Z1 aW50MzJtZjJfdCB0ZXN0X19fcmlzY3ZfdndzdWJ1X3d2X3UzMm1mMl9tKHZi b29sNjRfdCBtYXNrLHZ1aW50MzJtZjJfdCBvcDEsdnVpbnQxNm1mNF90IG9w MixzaXplX3QgdmwpDQorew0KKyAgICByZXR1cm4gX19yaXNjdl92d3N1YnVf d3ZfdTMybWYyX20obWFzayxvcDEsb3AyLDMyKTsNCit9DQorDQorDQordnVp bnQzMm0xX3QgdGVzdF9fX3Jpc2N2X3Z3c3VidV93dl91MzJtMV9tKHZib29s MzJfdCBtYXNrLHZ1aW50MzJtMV90IG9wMSx2dWludDE2bWYyX3Qgb3AyLHNp emVfdCB2bCkNCit7DQorICAgIHJldHVybiBfX3Jpc2N2X3Z3c3VidV93dl91 MzJtMV9tKG1hc2ssb3AxLG9wMiwzMik7DQorfQ0KKw0KKw0KK3Z1aW50MzJt Ml90IHRlc3RfX19yaXNjdl92d3N1YnVfd3ZfdTMybTJfbSh2Ym9vbDE2X3Qg bWFzayx2dWludDMybTJfdCBvcDEsdnVpbnQxNm0xX3Qgb3AyLHNpemVfdCB2 bCkNCit7DQorICAgIHJldHVybiBfX3Jpc2N2X3Z3c3VidV93dl91MzJtMl9t KG1hc2ssb3AxLG9wMiwzMik7DQorfQ0KKw0KKw0KK3Z1aW50MzJtNF90IHRl c3RfX19yaXNjdl92d3N1YnVfd3ZfdTMybTRfbSh2Ym9vbDhfdCBtYXNrLHZ1 aW50MzJtNF90IG9wMSx2dWludDE2bTJfdCBvcDIsc2l6ZV90IHZsKQ0KK3sN CisgICAgcmV0dXJuIF9fcmlzY3ZfdndzdWJ1X3d2X3UzMm00X20obWFzayxv cDEsb3AyLDMyKTsNCit9DQorDQorDQordnVpbnQzMm04X3QgdGVzdF9fX3Jp c2N2X3Z3c3VidV93dl91MzJtOF9tKHZib29sNF90IG1hc2ssdnVpbnQzMm04 X3Qgb3AxLHZ1aW50MTZtNF90IG9wMixzaXplX3QgdmwpDQorew0KKyAgICBy ZXR1cm4gX19yaXNjdl92d3N1YnVfd3ZfdTMybThfbShtYXNrLG9wMSxvcDIs MzIpOw0KK30NCisNCisNCit2dWludDY0bTFfdCB0ZXN0X19fcmlzY3Zfdndz dWJ1X3d2X3U2NG0xX20odmJvb2w2NF90IG1hc2ssdnVpbnQ2NG0xX3Qgb3Ax LHZ1aW50MzJtZjJfdCBvcDIsc2l6ZV90IHZsKQ0KK3sNCisgICAgcmV0dXJu IF9fcmlzY3ZfdndzdWJ1X3d2X3U2NG0xX20obWFzayxvcDEsb3AyLDMyKTsN Cit9DQorDQorDQordnVpbnQ2NG0yX3QgdGVzdF9fX3Jpc2N2X3Z3c3VidV93 dl91NjRtMl9tKHZib29sMzJfdCBtYXNrLHZ1aW50NjRtMl90IG9wMSx2dWlu dDMybTFfdCBvcDIsc2l6ZV90IHZsKQ0KK3sNCisgICAgcmV0dXJuIF9fcmlz Y3ZfdndzdWJ1X3d2X3U2NG0yX20obWFzayxvcDEsb3AyLDMyKTsNCit9DQor DQorDQordnVpbnQ2NG00X3QgdGVzdF9fX3Jpc2N2X3Z3c3VidV93dl91NjRt NF9tKHZib29sMTZfdCBtYXNrLHZ1aW50NjRtNF90IG9wMSx2dWludDMybTJf dCBvcDIsc2l6ZV90IHZsKQ0KK3sNCisgICAgcmV0dXJuIF9fcmlzY3Zfdndz dWJ1X3d2X3U2NG00X20obWFzayxvcDEsb3AyLDMyKTsNCit9DQorDQorDQor dnVpbnQ2NG04X3QgdGVzdF9fX3Jpc2N2X3Z3c3VidV93dl91NjRtOF9tKHZi b29sOF90IG1hc2ssdnVpbnQ2NG04X3Qgb3AxLHZ1aW50MzJtNF90IG9wMixz aXplX3QgdmwpDQorew0KKyAgICByZXR1cm4gX19yaXNjdl92d3N1YnVfd3Zf dTY0bThfbShtYXNrLG9wMSxvcDIsMzIpOw0KK30NCisNCisNCisNCisvKiB7 IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3ZzZXR2bGlccyt6 ZXJvLFxzKlthLXgwLTldKyxccyplOCxccyptZjgsXHMqdFthdV0sXHMqbVth dV1ccyt2d3N1YnVcLnd2XHMrdlswLTldKyxccyp2WzAtOV0rLFxzKnZbMC05 XSssXHMqdjAudH0gMSB9IH0gKi8NCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1h c3NlbWJsZXItdGltZXMge3ZzZXR2bGlccyt6ZXJvLFxzKlthLXgwLTldKyxc cyplOCxccyptZjQsXHMqdFthdV0sXHMqbVthdV1ccyt2d3N1YnVcLnd2XHMr dlswLTldKyxccyp2WzAtOV0rLFxzKnZbMC05XSssXHMqdjAudH0gMSB9IH0g Ki8NCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3Zz ZXR2bGlccyt6ZXJvLFxzKlthLXgwLTldKyxccyplOCxccyptZjIsXHMqdFth dV0sXHMqbVthdV1ccyt2d3N1YnVcLnd2XHMrdlswLTldKyxccyp2WzAtOV0r LFxzKnZbMC05XSssXHMqdjAudH0gMSB9IH0gKi8NCisvKiB7IGRnLWZpbmFs IHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3ZzZXR2bGlccyt6ZXJvLFxzKlth LXgwLTldKyxccyplOCxccyptMSxccyp0W2F1XSxccyptW2F1XVxzK3Z3c3Vi dVwud3Zccyt2WzAtOV0rLFxzKnZbMC05XSssXHMqdlswLTldKyxccyp2MC50 fSAxIH0gfSAqLw0KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10 aW1lcyB7dnNldHZsaVxzK3plcm8sXHMqW2EteDAtOV0rLFxzKmU4LFxzKm0y LFxzKnRbYXVdLFxzKm1bYXVdXHMrdndzdWJ1XC53dlxzK3ZbMC05XSssXHMq dlswLTldKyxccyp2WzAtOV0rLFxzKnYwLnR9IDEgfSB9ICovDQorLyogeyBk Zy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2c2V0dmxpXHMremVy byxccypbYS14MC05XSssXHMqZTgsXHMqbTQsXHMqdFthdV0sXHMqbVthdV1c cyt2d3N1YnVcLnd2XHMrdlswLTldKyxccyp2WzAtOV0rLFxzKnZbMC05XSss XHMqdjAudH0gMSB9IH0gKi8NCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3Nl bWJsZXItdGltZXMge3ZzZXR2bGlccyt6ZXJvLFxzKlthLXgwLTldKyxccypl MTYsXHMqbWY0LFxzKnRbYXVdLFxzKm1bYXVdXHMrdndzdWJ1XC53dlxzK3Zb MC05XSssXHMqdlswLTldKyxccyp2WzAtOV0rLFxzKnYwLnR9IDEgfSB9ICov DQorLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2c2V0 dmxpXHMremVybyxccypbYS14MC05XSssXHMqZTE2LFxzKm1mMixccyp0W2F1 XSxccyptW2F1XVxzK3Z3c3VidVwud3Zccyt2WzAtOV0rLFxzKnZbMC05XSss XHMqdlswLTldKyxccyp2MC50fSAxIH0gfSAqLw0KKy8qIHsgZGctZmluYWwg eyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNldHZsaVxzK3plcm8sXHMqW2Et eDAtOV0rLFxzKmUxNixccyptMSxccyp0W2F1XSxccyptW2F1XVxzK3Z3c3Vi dVwud3Zccyt2WzAtOV0rLFxzKnZbMC05XSssXHMqdlswLTldKyxccyp2MC50 fSAxIH0gfSAqLw0KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10 aW1lcyB7dnNldHZsaVxzK3plcm8sXHMqW2EteDAtOV0rLFxzKmUxNixccypt Mixccyp0W2F1XSxccyptW2F1XVxzK3Z3c3VidVwud3Zccyt2WzAtOV0rLFxz KnZbMC05XSssXHMqdlswLTldKyxccyp2MC50fSAxIH0gfSAqLw0KKy8qIHsg ZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNldHZsaVxzK3pl cm8sXHMqW2EteDAtOV0rLFxzKmUxNixccyptNCxccyp0W2F1XSxccyptW2F1 XVxzK3Z3c3VidVwud3Zccyt2WzAtOV0rLFxzKnZbMC05XSssXHMqdlswLTld Kyxccyp2MC50fSAxIH0gfSAqLw0KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFz c2VtYmxlci10aW1lcyB7dnNldHZsaVxzK3plcm8sXHMqW2EteDAtOV0rLFxz KmUzMixccyptZjIsXHMqdFthdV0sXHMqbVthdV1ccyt2d3N1YnVcLnd2XHMr dlswLTldKyxccyp2WzAtOV0rLFxzKnZbMC05XSssXHMqdjAudH0gMSB9IH0g Ki8NCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3Zz ZXR2bGlccyt6ZXJvLFxzKlthLXgwLTldKyxccyplMzIsXHMqbTEsXHMqdFth dV0sXHMqbVthdV1ccyt2d3N1YnVcLnd2XHMrdlswLTldKyxccyp2WzAtOV0r LFxzKnZbMC05XSssXHMqdjAudH0gMSB9IH0gKi8NCisvKiB7IGRnLWZpbmFs IHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3ZzZXR2bGlccyt6ZXJvLFxzKlth LXgwLTldKyxccyplMzIsXHMqbTIsXHMqdFthdV0sXHMqbVthdV1ccyt2d3N1 YnVcLnd2XHMrdlswLTldKyxccyp2WzAtOV0rLFxzKnZbMC05XSssXHMqdjAu dH0gMSB9IH0gKi8NCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXIt dGltZXMge3ZzZXR2bGlccyt6ZXJvLFxzKlthLXgwLTldKyxccyplMzIsXHMq bTQsXHMqdFthdV0sXHMqbVthdV1ccyt2d3N1YnVcLnd2XHMrdlswLTldKyxc cyp2WzAtOV0rLFxzKnZbMC05XSssXHMqdjAudH0gMSB9IH0gKi8NCmRpZmYg LS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcnZ2L2Jh c2UvdndzdWJ1X3d2X211LTEuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdl dC9yaXNjdi9ydnYvYmFzZS92d3N1YnVfd3ZfbXUtMS5jDQpuZXcgZmlsZSBt b2RlIDEwMDY0NA0KaW5kZXggMDAwMDAwMDAwMDAuLmFkMDI2MTNkNGRjDQot LS0gL2Rldi9udWxsDQorKysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQv cmlzY3YvcnZ2L2Jhc2UvdndzdWJ1X3d2X211LTEuYw0KQEAgLTAsMCArMSwx MTEgQEANCisvKiB7IGRnLWRvIGNvbXBpbGUgfSAqLw0KKy8qIHsgZGctb3B0 aW9ucyAiLW1hcmNoPXJ2NjRnY3YgLW1hYmk9bHA2NGQgLU8zIC1mbm8tc2No ZWR1bGUtaW5zbnMgLWZuby1zY2hlZHVsZS1pbnNuczIiIH0gKi8NCisNCisj aW5jbHVkZSAicmlzY3ZfdmVjdG9yLmgiDQorDQordnVpbnQxNm1mNF90IHRl c3RfX19yaXNjdl92d3N1YnVfd3ZfdTE2bWY0X211KHZib29sNjRfdCBtYXNr LHZ1aW50MTZtZjRfdCBtZXJnZSx2dWludDE2bWY0X3Qgb3AxLHZ1aW50OG1m OF90IG9wMixzaXplX3QgdmwpDQorew0KKyAgICByZXR1cm4gX19yaXNjdl92 d3N1YnVfd3ZfdTE2bWY0X211KG1hc2ssbWVyZ2Usb3AxLG9wMix2bCk7DQor fQ0KKw0KKw0KK3Z1aW50MTZtZjJfdCB0ZXN0X19fcmlzY3ZfdndzdWJ1X3d2 X3UxNm1mMl9tdSh2Ym9vbDMyX3QgbWFzayx2dWludDE2bWYyX3QgbWVyZ2Us dnVpbnQxNm1mMl90IG9wMSx2dWludDhtZjRfdCBvcDIsc2l6ZV90IHZsKQ0K K3sNCisgICAgcmV0dXJuIF9fcmlzY3ZfdndzdWJ1X3d2X3UxNm1mMl9tdSht YXNrLG1lcmdlLG9wMSxvcDIsdmwpOw0KK30NCisNCisNCit2dWludDE2bTFf dCB0ZXN0X19fcmlzY3ZfdndzdWJ1X3d2X3UxNm0xX211KHZib29sMTZfdCBt YXNrLHZ1aW50MTZtMV90IG1lcmdlLHZ1aW50MTZtMV90IG9wMSx2dWludDht ZjJfdCBvcDIsc2l6ZV90IHZsKQ0KK3sNCisgICAgcmV0dXJuIF9fcmlzY3Zf dndzdWJ1X3d2X3UxNm0xX211KG1hc2ssbWVyZ2Usb3AxLG9wMix2bCk7DQor fQ0KKw0KKw0KK3Z1aW50MTZtMl90IHRlc3RfX19yaXNjdl92d3N1YnVfd3Zf dTE2bTJfbXUodmJvb2w4X3QgbWFzayx2dWludDE2bTJfdCBtZXJnZSx2dWlu dDE2bTJfdCBvcDEsdnVpbnQ4bTFfdCBvcDIsc2l6ZV90IHZsKQ0KK3sNCisg ICAgcmV0dXJuIF9fcmlzY3ZfdndzdWJ1X3d2X3UxNm0yX211KG1hc2ssbWVy Z2Usb3AxLG9wMix2bCk7DQorfQ0KKw0KKw0KK3Z1aW50MTZtNF90IHRlc3Rf X19yaXNjdl92d3N1YnVfd3ZfdTE2bTRfbXUodmJvb2w0X3QgbWFzayx2dWlu dDE2bTRfdCBtZXJnZSx2dWludDE2bTRfdCBvcDEsdnVpbnQ4bTJfdCBvcDIs c2l6ZV90IHZsKQ0KK3sNCisgICAgcmV0dXJuIF9fcmlzY3ZfdndzdWJ1X3d2 X3UxNm00X211KG1hc2ssbWVyZ2Usb3AxLG9wMix2bCk7DQorfQ0KKw0KKw0K K3Z1aW50MTZtOF90IHRlc3RfX19yaXNjdl92d3N1YnVfd3ZfdTE2bThfbXUo dmJvb2wyX3QgbWFzayx2dWludDE2bThfdCBtZXJnZSx2dWludDE2bThfdCBv cDEsdnVpbnQ4bTRfdCBvcDIsc2l6ZV90IHZsKQ0KK3sNCisgICAgcmV0dXJu IF9fcmlzY3ZfdndzdWJ1X3d2X3UxNm04X211KG1hc2ssbWVyZ2Usb3AxLG9w Mix2bCk7DQorfQ0KKw0KKw0KK3Z1aW50MzJtZjJfdCB0ZXN0X19fcmlzY3Zf dndzdWJ1X3d2X3UzMm1mMl9tdSh2Ym9vbDY0X3QgbWFzayx2dWludDMybWYy X3QgbWVyZ2UsdnVpbnQzMm1mMl90IG9wMSx2dWludDE2bWY0X3Qgb3AyLHNp emVfdCB2bCkNCit7DQorICAgIHJldHVybiBfX3Jpc2N2X3Z3c3VidV93dl91 MzJtZjJfbXUobWFzayxtZXJnZSxvcDEsb3AyLHZsKTsNCit9DQorDQorDQor dnVpbnQzMm0xX3QgdGVzdF9fX3Jpc2N2X3Z3c3VidV93dl91MzJtMV9tdSh2 Ym9vbDMyX3QgbWFzayx2dWludDMybTFfdCBtZXJnZSx2dWludDMybTFfdCBv cDEsdnVpbnQxNm1mMl90IG9wMixzaXplX3QgdmwpDQorew0KKyAgICByZXR1 cm4gX19yaXNjdl92d3N1YnVfd3ZfdTMybTFfbXUobWFzayxtZXJnZSxvcDEs b3AyLHZsKTsNCit9DQorDQorDQordnVpbnQzMm0yX3QgdGVzdF9fX3Jpc2N2 X3Z3c3VidV93dl91MzJtMl9tdSh2Ym9vbDE2X3QgbWFzayx2dWludDMybTJf dCBtZXJnZSx2dWludDMybTJfdCBvcDEsdnVpbnQxNm0xX3Qgb3AyLHNpemVf dCB2bCkNCit7DQorICAgIHJldHVybiBfX3Jpc2N2X3Z3c3VidV93dl91MzJt Ml9tdShtYXNrLG1lcmdlLG9wMSxvcDIsdmwpOw0KK30NCisNCisNCit2dWlu dDMybTRfdCB0ZXN0X19fcmlzY3ZfdndzdWJ1X3d2X3UzMm00X211KHZib29s OF90IG1hc2ssdnVpbnQzMm00X3QgbWVyZ2UsdnVpbnQzMm00X3Qgb3AxLHZ1 aW50MTZtMl90IG9wMixzaXplX3QgdmwpDQorew0KKyAgICByZXR1cm4gX19y aXNjdl92d3N1YnVfd3ZfdTMybTRfbXUobWFzayxtZXJnZSxvcDEsb3AyLHZs KTsNCit9DQorDQorDQordnVpbnQzMm04X3QgdGVzdF9fX3Jpc2N2X3Z3c3Vi dV93dl91MzJtOF9tdSh2Ym9vbDRfdCBtYXNrLHZ1aW50MzJtOF90IG1lcmdl LHZ1aW50MzJtOF90IG9wMSx2dWludDE2bTRfdCBvcDIsc2l6ZV90IHZsKQ0K K3sNCisgICAgcmV0dXJuIF9fcmlzY3ZfdndzdWJ1X3d2X3UzMm04X211KG1h c2ssbWVyZ2Usb3AxLG9wMix2bCk7DQorfQ0KKw0KKw0KK3Z1aW50NjRtMV90 IHRlc3RfX19yaXNjdl92d3N1YnVfd3ZfdTY0bTFfbXUodmJvb2w2NF90IG1h c2ssdnVpbnQ2NG0xX3QgbWVyZ2UsdnVpbnQ2NG0xX3Qgb3AxLHZ1aW50MzJt ZjJfdCBvcDIsc2l6ZV90IHZsKQ0KK3sNCisgICAgcmV0dXJuIF9fcmlzY3Zf dndzdWJ1X3d2X3U2NG0xX211KG1hc2ssbWVyZ2Usb3AxLG9wMix2bCk7DQor fQ0KKw0KKw0KK3Z1aW50NjRtMl90IHRlc3RfX19yaXNjdl92d3N1YnVfd3Zf dTY0bTJfbXUodmJvb2wzMl90IG1hc2ssdnVpbnQ2NG0yX3QgbWVyZ2UsdnVp bnQ2NG0yX3Qgb3AxLHZ1aW50MzJtMV90IG9wMixzaXplX3QgdmwpDQorew0K KyAgICByZXR1cm4gX19yaXNjdl92d3N1YnVfd3ZfdTY0bTJfbXUobWFzayxt ZXJnZSxvcDEsb3AyLHZsKTsNCit9DQorDQorDQordnVpbnQ2NG00X3QgdGVz dF9fX3Jpc2N2X3Z3c3VidV93dl91NjRtNF9tdSh2Ym9vbDE2X3QgbWFzayx2 dWludDY0bTRfdCBtZXJnZSx2dWludDY0bTRfdCBvcDEsdnVpbnQzMm0yX3Qg b3AyLHNpemVfdCB2bCkNCit7DQorICAgIHJldHVybiBfX3Jpc2N2X3Z3c3Vi dV93dl91NjRtNF9tdShtYXNrLG1lcmdlLG9wMSxvcDIsdmwpOw0KK30NCisN CisNCit2dWludDY0bThfdCB0ZXN0X19fcmlzY3ZfdndzdWJ1X3d2X3U2NG04 X211KHZib29sOF90IG1hc2ssdnVpbnQ2NG04X3QgbWVyZ2UsdnVpbnQ2NG04 X3Qgb3AxLHZ1aW50MzJtNF90IG9wMixzaXplX3QgdmwpDQorew0KKyAgICBy ZXR1cm4gX19yaXNjdl92d3N1YnVfd3ZfdTY0bThfbXUobWFzayxtZXJnZSxv cDEsb3AyLHZsKTsNCit9DQorDQorDQorDQorLyogeyBkZy1maW5hbCB7IHNj YW4tYXNzZW1ibGVyLXRpbWVzIHt2c2V0dmxpXHMremVybyxccypbYS14MC05 XSssXHMqZTgsXHMqbWY4LFxzKnRbYXVdLFxzKm11XHMrdndzdWJ1XC53dlxz K3ZbMC05XSssXHMqdlswLTldKyxccyp2WzAtOV0rLFxzKnYwLnR9IDEgfSB9 ICovDQorLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2 c2V0dmxpXHMremVybyxccypbYS14MC05XSssXHMqZTgsXHMqbWY0LFxzKnRb YXVdLFxzKm11XHMrdndzdWJ1XC53dlxzK3ZbMC05XSssXHMqdlswLTldKyxc cyp2WzAtOV0rLFxzKnYwLnR9IDEgfSB9ICovDQorLyogeyBkZy1maW5hbCB7 IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2c2V0dmxpXHMremVybyxccypbYS14 MC05XSssXHMqZTgsXHMqbWYyLFxzKnRbYXVdLFxzKm11XHMrdndzdWJ1XC53 dlxzK3ZbMC05XSssXHMqdlswLTldKyxccyp2WzAtOV0rLFxzKnYwLnR9IDEg fSB9ICovDQorLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVz IHt2c2V0dmxpXHMremVybyxccypbYS14MC05XSssXHMqZTgsXHMqbTEsXHMq dFthdV0sXHMqbXVccyt2d3N1YnVcLnd2XHMrdlswLTldKyxccyp2WzAtOV0r LFxzKnZbMC05XSssXHMqdjAudH0gMSB9IH0gKi8NCisvKiB7IGRnLWZpbmFs IHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3ZzZXR2bGlccyt6ZXJvLFxzKlth LXgwLTldKyxccyplOCxccyptMixccyp0W2F1XSxccyptdVxzK3Z3c3VidVwu d3Zccyt2WzAtOV0rLFxzKnZbMC05XSssXHMqdlswLTldKyxccyp2MC50fSAx IH0gfSAqLw0KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1l cyB7dnNldHZsaVxzK3plcm8sXHMqW2EteDAtOV0rLFxzKmU4LFxzKm00LFxz KnRbYXVdLFxzKm11XHMrdndzdWJ1XC53dlxzK3ZbMC05XSssXHMqdlswLTld Kyxccyp2WzAtOV0rLFxzKnYwLnR9IDEgfSB9ICovDQorLyogeyBkZy1maW5h bCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2c2V0dmxpXHMremVybyxccypb YS14MC05XSssXHMqZTE2LFxzKm1mNCxccyp0W2F1XSxccyptdVxzK3Z3c3Vi dVwud3Zccyt2WzAtOV0rLFxzKnZbMC05XSssXHMqdlswLTldKyxccyp2MC50 fSAxIH0gfSAqLw0KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10 aW1lcyB7dnNldHZsaVxzK3plcm8sXHMqW2EteDAtOV0rLFxzKmUxNixccypt ZjIsXHMqdFthdV0sXHMqbXVccyt2d3N1YnVcLnd2XHMrdlswLTldKyxccyp2 WzAtOV0rLFxzKnZbMC05XSssXHMqdjAudH0gMSB9IH0gKi8NCisvKiB7IGRn LWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3ZzZXR2bGlccyt6ZXJv LFxzKlthLXgwLTldKyxccyplMTYsXHMqbTEsXHMqdFthdV0sXHMqbXVccyt2 d3N1YnVcLnd2XHMrdlswLTldKyxccyp2WzAtOV0rLFxzKnZbMC05XSssXHMq djAudH0gMSB9IH0gKi8NCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJs ZXItdGltZXMge3ZzZXR2bGlccyt6ZXJvLFxzKlthLXgwLTldKyxccyplMTYs XHMqbTIsXHMqdFthdV0sXHMqbXVccyt2d3N1YnVcLnd2XHMrdlswLTldKyxc cyp2WzAtOV0rLFxzKnZbMC05XSssXHMqdjAudH0gMSB9IH0gKi8NCisvKiB7 IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3ZzZXR2bGlccyt6 ZXJvLFxzKlthLXgwLTldKyxccyplMTYsXHMqbTQsXHMqdFthdV0sXHMqbXVc cyt2d3N1YnVcLnd2XHMrdlswLTldKyxccyp2WzAtOV0rLFxzKnZbMC05XSss XHMqdjAudH0gMSB9IH0gKi8NCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3Nl bWJsZXItdGltZXMge3ZzZXR2bGlccyt6ZXJvLFxzKlthLXgwLTldKyxccypl MzIsXHMqbWYyLFxzKnRbYXVdLFxzKm11XHMrdndzdWJ1XC53dlxzK3ZbMC05 XSssXHMqdlswLTldKyxccyp2WzAtOV0rLFxzKnYwLnR9IDEgfSB9ICovDQor LyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2c2V0dmxp XHMremVybyxccypbYS14MC05XSssXHMqZTMyLFxzKm0xLFxzKnRbYXVdLFxz Km11XHMrdndzdWJ1XC53dlxzK3ZbMC05XSssXHMqdlswLTldKyxccyp2WzAt OV0rLFxzKnYwLnR9IDEgfSB9ICovDQorLyogeyBkZy1maW5hbCB7IHNjYW4t YXNzZW1ibGVyLXRpbWVzIHt2c2V0dmxpXHMremVybyxccypbYS14MC05XSss XHMqZTMyLFxzKm0yLFxzKnRbYXVdLFxzKm11XHMrdndzdWJ1XC53dlxzK3Zb MC05XSssXHMqdlswLTldKyxccyp2WzAtOV0rLFxzKnYwLnR9IDEgfSB9ICov DQorLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2c2V0 dmxpXHMremVybyxccypbYS14MC05XSssXHMqZTMyLFxzKm00LFxzKnRbYXVd LFxzKm11XHMrdndzdWJ1XC53dlxzK3ZbMC05XSssXHMqdlswLTldKyxccyp2 WzAtOV0rLFxzKnYwLnR9IDEgfSB9ICovDQpkaWZmIC0tZ2l0IGEvZ2NjL3Rl c3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2di9iYXNlL3Z3c3VidV93dl9t dS0yLmMgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcnZ2L2Jh c2UvdndzdWJ1X3d2X211LTIuYw0KbmV3IGZpbGUgbW9kZSAxMDA2NDQNCmlu ZGV4IDAwMDAwMDAwMDAwLi5mNjNiNTdkNWQyMw0KLS0tIC9kZXYvbnVsbA0K KysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2di9iYXNl L3Z3c3VidV93dl9tdS0yLmMNCkBAIC0wLDAgKzEsMTExIEBADQorLyogeyBk Zy1kbyBjb21waWxlIH0gKi8NCisvKiB7IGRnLW9wdGlvbnMgIi1tYXJjaD1y djY0Z2N2IC1tYWJpPWxwNjRkIC1PMyAtZm5vLXNjaGVkdWxlLWluc25zIC1m bm8tc2NoZWR1bGUtaW5zbnMyIiB9ICovDQorDQorI2luY2x1ZGUgInJpc2N2 X3ZlY3Rvci5oIg0KKw0KK3Z1aW50MTZtZjRfdCB0ZXN0X19fcmlzY3Zfdndz dWJ1X3d2X3UxNm1mNF9tdSh2Ym9vbDY0X3QgbWFzayx2dWludDE2bWY0X3Qg bWVyZ2UsdnVpbnQxNm1mNF90IG9wMSx2dWludDhtZjhfdCBvcDIsc2l6ZV90 IHZsKQ0KK3sNCisgICAgcmV0dXJuIF9fcmlzY3ZfdndzdWJ1X3d2X3UxNm1m NF9tdShtYXNrLG1lcmdlLG9wMSxvcDIsMzEpOw0KK30NCisNCisNCit2dWlu dDE2bWYyX3QgdGVzdF9fX3Jpc2N2X3Z3c3VidV93dl91MTZtZjJfbXUodmJv b2wzMl90IG1hc2ssdnVpbnQxNm1mMl90IG1lcmdlLHZ1aW50MTZtZjJfdCBv cDEsdnVpbnQ4bWY0X3Qgb3AyLHNpemVfdCB2bCkNCit7DQorICAgIHJldHVy biBfX3Jpc2N2X3Z3c3VidV93dl91MTZtZjJfbXUobWFzayxtZXJnZSxvcDEs b3AyLDMxKTsNCit9DQorDQorDQordnVpbnQxNm0xX3QgdGVzdF9fX3Jpc2N2 X3Z3c3VidV93dl91MTZtMV9tdSh2Ym9vbDE2X3QgbWFzayx2dWludDE2bTFf dCBtZXJnZSx2dWludDE2bTFfdCBvcDEsdnVpbnQ4bWYyX3Qgb3AyLHNpemVf dCB2bCkNCit7DQorICAgIHJldHVybiBfX3Jpc2N2X3Z3c3VidV93dl91MTZt MV9tdShtYXNrLG1lcmdlLG9wMSxvcDIsMzEpOw0KK30NCisNCisNCit2dWlu dDE2bTJfdCB0ZXN0X19fcmlzY3ZfdndzdWJ1X3d2X3UxNm0yX211KHZib29s OF90IG1hc2ssdnVpbnQxNm0yX3QgbWVyZ2UsdnVpbnQxNm0yX3Qgb3AxLHZ1 aW50OG0xX3Qgb3AyLHNpemVfdCB2bCkNCit7DQorICAgIHJldHVybiBfX3Jp c2N2X3Z3c3VidV93dl91MTZtMl9tdShtYXNrLG1lcmdlLG9wMSxvcDIsMzEp Ow0KK30NCisNCisNCit2dWludDE2bTRfdCB0ZXN0X19fcmlzY3ZfdndzdWJ1 X3d2X3UxNm00X211KHZib29sNF90IG1hc2ssdnVpbnQxNm00X3QgbWVyZ2Us dnVpbnQxNm00X3Qgb3AxLHZ1aW50OG0yX3Qgb3AyLHNpemVfdCB2bCkNCit7 DQorICAgIHJldHVybiBfX3Jpc2N2X3Z3c3VidV93dl91MTZtNF9tdShtYXNr LG1lcmdlLG9wMSxvcDIsMzEpOw0KK30NCisNCisNCit2dWludDE2bThfdCB0 ZXN0X19fcmlzY3ZfdndzdWJ1X3d2X3UxNm04X211KHZib29sMl90IG1hc2ss dnVpbnQxNm04X3QgbWVyZ2UsdnVpbnQxNm04X3Qgb3AxLHZ1aW50OG00X3Qg b3AyLHNpemVfdCB2bCkNCit7DQorICAgIHJldHVybiBfX3Jpc2N2X3Z3c3Vi dV93dl91MTZtOF9tdShtYXNrLG1lcmdlLG9wMSxvcDIsMzEpOw0KK30NCisN CisNCit2dWludDMybWYyX3QgdGVzdF9fX3Jpc2N2X3Z3c3VidV93dl91MzJt ZjJfbXUodmJvb2w2NF90IG1hc2ssdnVpbnQzMm1mMl90IG1lcmdlLHZ1aW50 MzJtZjJfdCBvcDEsdnVpbnQxNm1mNF90IG9wMixzaXplX3QgdmwpDQorew0K KyAgICByZXR1cm4gX19yaXNjdl92d3N1YnVfd3ZfdTMybWYyX211KG1hc2ss bWVyZ2Usb3AxLG9wMiwzMSk7DQorfQ0KKw0KKw0KK3Z1aW50MzJtMV90IHRl c3RfX19yaXNjdl92d3N1YnVfd3ZfdTMybTFfbXUodmJvb2wzMl90IG1hc2ss dnVpbnQzMm0xX3QgbWVyZ2UsdnVpbnQzMm0xX3Qgb3AxLHZ1aW50MTZtZjJf dCBvcDIsc2l6ZV90IHZsKQ0KK3sNCisgICAgcmV0dXJuIF9fcmlzY3Zfdndz dWJ1X3d2X3UzMm0xX211KG1hc2ssbWVyZ2Usb3AxLG9wMiwzMSk7DQorfQ0K Kw0KKw0KK3Z1aW50MzJtMl90IHRlc3RfX19yaXNjdl92d3N1YnVfd3ZfdTMy bTJfbXUodmJvb2wxNl90IG1hc2ssdnVpbnQzMm0yX3QgbWVyZ2UsdnVpbnQz Mm0yX3Qgb3AxLHZ1aW50MTZtMV90IG9wMixzaXplX3QgdmwpDQorew0KKyAg ICByZXR1cm4gX19yaXNjdl92d3N1YnVfd3ZfdTMybTJfbXUobWFzayxtZXJn ZSxvcDEsb3AyLDMxKTsNCit9DQorDQorDQordnVpbnQzMm00X3QgdGVzdF9f X3Jpc2N2X3Z3c3VidV93dl91MzJtNF9tdSh2Ym9vbDhfdCBtYXNrLHZ1aW50 MzJtNF90IG1lcmdlLHZ1aW50MzJtNF90IG9wMSx2dWludDE2bTJfdCBvcDIs c2l6ZV90IHZsKQ0KK3sNCisgICAgcmV0dXJuIF9fcmlzY3ZfdndzdWJ1X3d2 X3UzMm00X211KG1hc2ssbWVyZ2Usb3AxLG9wMiwzMSk7DQorfQ0KKw0KKw0K K3Z1aW50MzJtOF90IHRlc3RfX19yaXNjdl92d3N1YnVfd3ZfdTMybThfbXUo dmJvb2w0X3QgbWFzayx2dWludDMybThfdCBtZXJnZSx2dWludDMybThfdCBv cDEsdnVpbnQxNm00X3Qgb3AyLHNpemVfdCB2bCkNCit7DQorICAgIHJldHVy biBfX3Jpc2N2X3Z3c3VidV93dl91MzJtOF9tdShtYXNrLG1lcmdlLG9wMSxv cDIsMzEpOw0KK30NCisNCisNCit2dWludDY0bTFfdCB0ZXN0X19fcmlzY3Zf dndzdWJ1X3d2X3U2NG0xX211KHZib29sNjRfdCBtYXNrLHZ1aW50NjRtMV90 IG1lcmdlLHZ1aW50NjRtMV90IG9wMSx2dWludDMybWYyX3Qgb3AyLHNpemVf dCB2bCkNCit7DQorICAgIHJldHVybiBfX3Jpc2N2X3Z3c3VidV93dl91NjRt MV9tdShtYXNrLG1lcmdlLG9wMSxvcDIsMzEpOw0KK30NCisNCisNCit2dWlu dDY0bTJfdCB0ZXN0X19fcmlzY3ZfdndzdWJ1X3d2X3U2NG0yX211KHZib29s MzJfdCBtYXNrLHZ1aW50NjRtMl90IG1lcmdlLHZ1aW50NjRtMl90IG9wMSx2 dWludDMybTFfdCBvcDIsc2l6ZV90IHZsKQ0KK3sNCisgICAgcmV0dXJuIF9f cmlzY3ZfdndzdWJ1X3d2X3U2NG0yX211KG1hc2ssbWVyZ2Usb3AxLG9wMiwz MSk7DQorfQ0KKw0KKw0KK3Z1aW50NjRtNF90IHRlc3RfX19yaXNjdl92d3N1 YnVfd3ZfdTY0bTRfbXUodmJvb2wxNl90IG1hc2ssdnVpbnQ2NG00X3QgbWVy Z2UsdnVpbnQ2NG00X3Qgb3AxLHZ1aW50MzJtMl90IG9wMixzaXplX3Qgdmwp DQorew0KKyAgICByZXR1cm4gX19yaXNjdl92d3N1YnVfd3ZfdTY0bTRfbXUo bWFzayxtZXJnZSxvcDEsb3AyLDMxKTsNCit9DQorDQorDQordnVpbnQ2NG04 X3QgdGVzdF9fX3Jpc2N2X3Z3c3VidV93dl91NjRtOF9tdSh2Ym9vbDhfdCBt YXNrLHZ1aW50NjRtOF90IG1lcmdlLHZ1aW50NjRtOF90IG9wMSx2dWludDMy bTRfdCBvcDIsc2l6ZV90IHZsKQ0KK3sNCisgICAgcmV0dXJuIF9fcmlzY3Zf dndzdWJ1X3d2X3U2NG04X211KG1hc2ssbWVyZ2Usb3AxLG9wMiwzMSk7DQor fQ0KKw0KKw0KKw0KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10 aW1lcyB7dnNldGl2bGlccyt6ZXJvLFxzKjMxLFxzKmU4LFxzKm1mOCxccyp0 W2F1XSxccyptdVxzK3Z3c3VidVwud3Zccyt2WzAtOV0rLFxzKnZbMC05XSss XHMqdlswLTldKyxccyp2MC50fSAxIH0gfSAqLw0KKy8qIHsgZGctZmluYWwg eyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNldGl2bGlccyt6ZXJvLFxzKjMx LFxzKmU4LFxzKm1mNCxccyp0W2F1XSxccyptdVxzK3Z3c3VidVwud3Zccyt2 WzAtOV0rLFxzKnZbMC05XSssXHMqdlswLTldKyxccyp2MC50fSAxIH0gfSAq Lw0KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNl dGl2bGlccyt6ZXJvLFxzKjMxLFxzKmU4LFxzKm1mMixccyp0W2F1XSxccypt dVxzK3Z3c3VidVwud3Zccyt2WzAtOV0rLFxzKnZbMC05XSssXHMqdlswLTld Kyxccyp2MC50fSAxIH0gfSAqLw0KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFz c2VtYmxlci10aW1lcyB7dnNldGl2bGlccyt6ZXJvLFxzKjMxLFxzKmU4LFxz Km0xLFxzKnRbYXVdLFxzKm11XHMrdndzdWJ1XC53dlxzK3ZbMC05XSssXHMq dlswLTldKyxccyp2WzAtOV0rLFxzKnYwLnR9IDEgfSB9ICovDQorLyogeyBk Zy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2c2V0aXZsaVxzK3pl cm8sXHMqMzEsXHMqZTgsXHMqbTIsXHMqdFthdV0sXHMqbXVccyt2d3N1YnVc Lnd2XHMrdlswLTldKyxccyp2WzAtOV0rLFxzKnZbMC05XSssXHMqdjAudH0g MSB9IH0gKi8NCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGlt ZXMge3ZzZXRpdmxpXHMremVybyxccyozMSxccyplOCxccyptNCxccyp0W2F1 XSxccyptdVxzK3Z3c3VidVwud3Zccyt2WzAtOV0rLFxzKnZbMC05XSssXHMq dlswLTldKyxccyp2MC50fSAxIH0gfSAqLw0KKy8qIHsgZGctZmluYWwgeyBz Y2FuLWFzc2VtYmxlci10aW1lcyB7dnNldGl2bGlccyt6ZXJvLFxzKjMxLFxz KmUxNixccyptZjQsXHMqdFthdV0sXHMqbXVccyt2d3N1YnVcLnd2XHMrdlsw LTldKyxccyp2WzAtOV0rLFxzKnZbMC05XSssXHMqdjAudH0gMSB9IH0gKi8N CisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3ZzZXRp dmxpXHMremVybyxccyozMSxccyplMTYsXHMqbWYyLFxzKnRbYXVdLFxzKm11 XHMrdndzdWJ1XC53dlxzK3ZbMC05XSssXHMqdlswLTldKyxccyp2WzAtOV0r LFxzKnYwLnR9IDEgfSB9ICovDQorLyogeyBkZy1maW5hbCB7IHNjYW4tYXNz ZW1ibGVyLXRpbWVzIHt2c2V0aXZsaVxzK3plcm8sXHMqMzEsXHMqZTE2LFxz Km0xLFxzKnRbYXVdLFxzKm11XHMrdndzdWJ1XC53dlxzK3ZbMC05XSssXHMq dlswLTldKyxccyp2WzAtOV0rLFxzKnYwLnR9IDEgfSB9ICovDQorLyogeyBk Zy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2c2V0aXZsaVxzK3pl cm8sXHMqMzEsXHMqZTE2LFxzKm0yLFxzKnRbYXVdLFxzKm11XHMrdndzdWJ1 XC53dlxzK3ZbMC05XSssXHMqdlswLTldKyxccyp2WzAtOV0rLFxzKnYwLnR9 IDEgfSB9ICovDQorLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRp bWVzIHt2c2V0aXZsaVxzK3plcm8sXHMqMzEsXHMqZTE2LFxzKm00LFxzKnRb YXVdLFxzKm11XHMrdndzdWJ1XC53dlxzK3ZbMC05XSssXHMqdlswLTldKyxc cyp2WzAtOV0rLFxzKnYwLnR9IDEgfSB9ICovDQorLyogeyBkZy1maW5hbCB7 IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2c2V0aXZsaVxzK3plcm8sXHMqMzEs XHMqZTMyLFxzKm1mMixccyp0W2F1XSxccyptdVxzK3Z3c3VidVwud3Zccyt2 WzAtOV0rLFxzKnZbMC05XSssXHMqdlswLTldKyxccyp2MC50fSAxIH0gfSAq Lw0KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNl dGl2bGlccyt6ZXJvLFxzKjMxLFxzKmUzMixccyptMSxccyp0W2F1XSxccypt dVxzK3Z3c3VidVwud3Zccyt2WzAtOV0rLFxzKnZbMC05XSssXHMqdlswLTld Kyxccyp2MC50fSAxIH0gfSAqLw0KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFz c2VtYmxlci10aW1lcyB7dnNldGl2bGlccyt6ZXJvLFxzKjMxLFxzKmUzMixc cyptMixccyp0W2F1XSxccyptdVxzK3Z3c3VidVwud3Zccyt2WzAtOV0rLFxz KnZbMC05XSssXHMqdlswLTldKyxccyp2MC50fSAxIH0gfSAqLw0KKy8qIHsg ZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNldGl2bGlccyt6 ZXJvLFxzKjMxLFxzKmUzMixccyptNCxccyp0W2F1XSxccyptdVxzK3Z3c3Vi dVwud3Zccyt2WzAtOV0rLFxzKnZbMC05XSssXHMqdlswLTldKyxccyp2MC50 fSAxIH0gfSAqLw0KZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRh cmdldC9yaXNjdi9ydnYvYmFzZS92d3N1YnVfd3ZfbXUtMy5jIGIvZ2NjL3Rl c3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2di9iYXNlL3Z3c3VidV93dl9t dS0zLmMNCm5ldyBmaWxlIG1vZGUgMTAwNjQ0DQppbmRleCAwMDAwMDAwMDAw MC4uNGM2MmU3MjE0MWINCi0tLSAvZGV2L251bGwNCisrKyBiL2djYy90ZXN0 c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9ydnYvYmFzZS92d3N1YnVfd3ZfbXUt My5jDQpAQCAtMCwwICsxLDExMSBAQA0KKy8qIHsgZGctZG8gY29tcGlsZSB9 ICovDQorLyogeyBkZy1vcHRpb25zICItbWFyY2g9cnY2NGdjdiAtbWFiaT1s cDY0ZCAtTzMgLWZuby1zY2hlZHVsZS1pbnNucyAtZm5vLXNjaGVkdWxlLWlu c25zMiIgfSAqLw0KKw0KKyNpbmNsdWRlICJyaXNjdl92ZWN0b3IuaCINCisN Cit2dWludDE2bWY0X3QgdGVzdF9fX3Jpc2N2X3Z3c3VidV93dl91MTZtZjRf bXUodmJvb2w2NF90IG1hc2ssdnVpbnQxNm1mNF90IG1lcmdlLHZ1aW50MTZt ZjRfdCBvcDEsdnVpbnQ4bWY4X3Qgb3AyLHNpemVfdCB2bCkNCit7DQorICAg IHJldHVybiBfX3Jpc2N2X3Z3c3VidV93dl91MTZtZjRfbXUobWFzayxtZXJn ZSxvcDEsb3AyLDMyKTsNCit9DQorDQorDQordnVpbnQxNm1mMl90IHRlc3Rf X19yaXNjdl92d3N1YnVfd3ZfdTE2bWYyX211KHZib29sMzJfdCBtYXNrLHZ1 aW50MTZtZjJfdCBtZXJnZSx2dWludDE2bWYyX3Qgb3AxLHZ1aW50OG1mNF90 IG9wMixzaXplX3QgdmwpDQorew0KKyAgICByZXR1cm4gX19yaXNjdl92d3N1 YnVfd3ZfdTE2bWYyX211KG1hc2ssbWVyZ2Usb3AxLG9wMiwzMik7DQorfQ0K Kw0KKw0KK3Z1aW50MTZtMV90IHRlc3RfX19yaXNjdl92d3N1YnVfd3ZfdTE2 bTFfbXUodmJvb2wxNl90IG1hc2ssdnVpbnQxNm0xX3QgbWVyZ2UsdnVpbnQx Nm0xX3Qgb3AxLHZ1aW50OG1mMl90IG9wMixzaXplX3QgdmwpDQorew0KKyAg ICByZXR1cm4gX19yaXNjdl92d3N1YnVfd3ZfdTE2bTFfbXUobWFzayxtZXJn ZSxvcDEsb3AyLDMyKTsNCit9DQorDQorDQordnVpbnQxNm0yX3QgdGVzdF9f X3Jpc2N2X3Z3c3VidV93dl91MTZtMl9tdSh2Ym9vbDhfdCBtYXNrLHZ1aW50 MTZtMl90IG1lcmdlLHZ1aW50MTZtMl90IG9wMSx2dWludDhtMV90IG9wMixz aXplX3QgdmwpDQorew0KKyAgICByZXR1cm4gX19yaXNjdl92d3N1YnVfd3Zf dTE2bTJfbXUobWFzayxtZXJnZSxvcDEsb3AyLDMyKTsNCit9DQorDQorDQor dnVpbnQxNm00X3QgdGVzdF9fX3Jpc2N2X3Z3c3VidV93dl91MTZtNF9tdSh2 Ym9vbDRfdCBtYXNrLHZ1aW50MTZtNF90IG1lcmdlLHZ1aW50MTZtNF90IG9w MSx2dWludDhtMl90IG9wMixzaXplX3QgdmwpDQorew0KKyAgICByZXR1cm4g X19yaXNjdl92d3N1YnVfd3ZfdTE2bTRfbXUobWFzayxtZXJnZSxvcDEsb3Ay LDMyKTsNCit9DQorDQorDQordnVpbnQxNm04X3QgdGVzdF9fX3Jpc2N2X3Z3 c3VidV93dl91MTZtOF9tdSh2Ym9vbDJfdCBtYXNrLHZ1aW50MTZtOF90IG1l cmdlLHZ1aW50MTZtOF90IG9wMSx2dWludDhtNF90IG9wMixzaXplX3Qgdmwp DQorew0KKyAgICByZXR1cm4gX19yaXNjdl92d3N1YnVfd3ZfdTE2bThfbXUo bWFzayxtZXJnZSxvcDEsb3AyLDMyKTsNCit9DQorDQorDQordnVpbnQzMm1m Ml90IHRlc3RfX19yaXNjdl92d3N1YnVfd3ZfdTMybWYyX211KHZib29sNjRf dCBtYXNrLHZ1aW50MzJtZjJfdCBtZXJnZSx2dWludDMybWYyX3Qgb3AxLHZ1 aW50MTZtZjRfdCBvcDIsc2l6ZV90IHZsKQ0KK3sNCisgICAgcmV0dXJuIF9f cmlzY3ZfdndzdWJ1X3d2X3UzMm1mMl9tdShtYXNrLG1lcmdlLG9wMSxvcDIs MzIpOw0KK30NCisNCisNCit2dWludDMybTFfdCB0ZXN0X19fcmlzY3Zfdndz dWJ1X3d2X3UzMm0xX211KHZib29sMzJfdCBtYXNrLHZ1aW50MzJtMV90IG1l cmdlLHZ1aW50MzJtMV90IG9wMSx2dWludDE2bWYyX3Qgb3AyLHNpemVfdCB2 bCkNCit7DQorICAgIHJldHVybiBfX3Jpc2N2X3Z3c3VidV93dl91MzJtMV9t dShtYXNrLG1lcmdlLG9wMSxvcDIsMzIpOw0KK30NCisNCisNCit2dWludDMy bTJfdCB0ZXN0X19fcmlzY3ZfdndzdWJ1X3d2X3UzMm0yX211KHZib29sMTZf dCBtYXNrLHZ1aW50MzJtMl90IG1lcmdlLHZ1aW50MzJtMl90IG9wMSx2dWlu dDE2bTFfdCBvcDIsc2l6ZV90IHZsKQ0KK3sNCisgICAgcmV0dXJuIF9fcmlz Y3ZfdndzdWJ1X3d2X3UzMm0yX211KG1hc2ssbWVyZ2Usb3AxLG9wMiwzMik7 DQorfQ0KKw0KKw0KK3Z1aW50MzJtNF90IHRlc3RfX19yaXNjdl92d3N1YnVf d3ZfdTMybTRfbXUodmJvb2w4X3QgbWFzayx2dWludDMybTRfdCBtZXJnZSx2 dWludDMybTRfdCBvcDEsdnVpbnQxNm0yX3Qgb3AyLHNpemVfdCB2bCkNCit7 DQorICAgIHJldHVybiBfX3Jpc2N2X3Z3c3VidV93dl91MzJtNF9tdShtYXNr LG1lcmdlLG9wMSxvcDIsMzIpOw0KK30NCisNCisNCit2dWludDMybThfdCB0 ZXN0X19fcmlzY3ZfdndzdWJ1X3d2X3UzMm04X211KHZib29sNF90IG1hc2ss dnVpbnQzMm04X3QgbWVyZ2UsdnVpbnQzMm04X3Qgb3AxLHZ1aW50MTZtNF90 IG9wMixzaXplX3QgdmwpDQorew0KKyAgICByZXR1cm4gX19yaXNjdl92d3N1 YnVfd3ZfdTMybThfbXUobWFzayxtZXJnZSxvcDEsb3AyLDMyKTsNCit9DQor DQorDQordnVpbnQ2NG0xX3QgdGVzdF9fX3Jpc2N2X3Z3c3VidV93dl91NjRt MV9tdSh2Ym9vbDY0X3QgbWFzayx2dWludDY0bTFfdCBtZXJnZSx2dWludDY0 bTFfdCBvcDEsdnVpbnQzMm1mMl90IG9wMixzaXplX3QgdmwpDQorew0KKyAg ICByZXR1cm4gX19yaXNjdl92d3N1YnVfd3ZfdTY0bTFfbXUobWFzayxtZXJn ZSxvcDEsb3AyLDMyKTsNCit9DQorDQorDQordnVpbnQ2NG0yX3QgdGVzdF9f X3Jpc2N2X3Z3c3VidV93dl91NjRtMl9tdSh2Ym9vbDMyX3QgbWFzayx2dWlu dDY0bTJfdCBtZXJnZSx2dWludDY0bTJfdCBvcDEsdnVpbnQzMm0xX3Qgb3Ay LHNpemVfdCB2bCkNCit7DQorICAgIHJldHVybiBfX3Jpc2N2X3Z3c3VidV93 dl91NjRtMl9tdShtYXNrLG1lcmdlLG9wMSxvcDIsMzIpOw0KK30NCisNCisN Cit2dWludDY0bTRfdCB0ZXN0X19fcmlzY3ZfdndzdWJ1X3d2X3U2NG00X211 KHZib29sMTZfdCBtYXNrLHZ1aW50NjRtNF90IG1lcmdlLHZ1aW50NjRtNF90 IG9wMSx2dWludDMybTJfdCBvcDIsc2l6ZV90IHZsKQ0KK3sNCisgICAgcmV0 dXJuIF9fcmlzY3ZfdndzdWJ1X3d2X3U2NG00X211KG1hc2ssbWVyZ2Usb3Ax LG9wMiwzMik7DQorfQ0KKw0KKw0KK3Z1aW50NjRtOF90IHRlc3RfX19yaXNj dl92d3N1YnVfd3ZfdTY0bThfbXUodmJvb2w4X3QgbWFzayx2dWludDY0bThf dCBtZXJnZSx2dWludDY0bThfdCBvcDEsdnVpbnQzMm00X3Qgb3AyLHNpemVf dCB2bCkNCit7DQorICAgIHJldHVybiBfX3Jpc2N2X3Z3c3VidV93dl91NjRt OF9tdShtYXNrLG1lcmdlLG9wMSxvcDIsMzIpOw0KK30NCisNCisNCisNCisv KiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3ZzZXR2bGlc cyt6ZXJvLFxzKlthLXgwLTldKyxccyplOCxccyptZjgsXHMqdFthdV0sXHMq bXVccyt2d3N1YnVcLnd2XHMrdlswLTldKyxccyp2WzAtOV0rLFxzKnZbMC05 XSssXHMqdjAudH0gMSB9IH0gKi8NCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1h c3NlbWJsZXItdGltZXMge3ZzZXR2bGlccyt6ZXJvLFxzKlthLXgwLTldKyxc cyplOCxccyptZjQsXHMqdFthdV0sXHMqbXVccyt2d3N1YnVcLnd2XHMrdlsw LTldKyxccyp2WzAtOV0rLFxzKnZbMC05XSssXHMqdjAudH0gMSB9IH0gKi8N CisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3ZzZXR2 bGlccyt6ZXJvLFxzKlthLXgwLTldKyxccyplOCxccyptZjIsXHMqdFthdV0s XHMqbXVccyt2d3N1YnVcLnd2XHMrdlswLTldKyxccyp2WzAtOV0rLFxzKnZb MC05XSssXHMqdjAudH0gMSB9IH0gKi8NCisvKiB7IGRnLWZpbmFsIHsgc2Nh bi1hc3NlbWJsZXItdGltZXMge3ZzZXR2bGlccyt6ZXJvLFxzKlthLXgwLTld KyxccyplOCxccyptMSxccyp0W2F1XSxccyptdVxzK3Z3c3VidVwud3Zccyt2 WzAtOV0rLFxzKnZbMC05XSssXHMqdlswLTldKyxccyp2MC50fSAxIH0gfSAq Lw0KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNl dHZsaVxzK3plcm8sXHMqW2EteDAtOV0rLFxzKmU4LFxzKm0yLFxzKnRbYXVd LFxzKm11XHMrdndzdWJ1XC53dlxzK3ZbMC05XSssXHMqdlswLTldKyxccyp2 WzAtOV0rLFxzKnYwLnR9IDEgfSB9ICovDQorLyogeyBkZy1maW5hbCB7IHNj YW4tYXNzZW1ibGVyLXRpbWVzIHt2c2V0dmxpXHMremVybyxccypbYS14MC05 XSssXHMqZTgsXHMqbTQsXHMqdFthdV0sXHMqbXVccyt2d3N1YnVcLnd2XHMr dlswLTldKyxccyp2WzAtOV0rLFxzKnZbMC05XSssXHMqdjAudH0gMSB9IH0g Ki8NCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3Zz ZXR2bGlccyt6ZXJvLFxzKlthLXgwLTldKyxccyplMTYsXHMqbWY0LFxzKnRb YXVdLFxzKm11XHMrdndzdWJ1XC53dlxzK3ZbMC05XSssXHMqdlswLTldKyxc cyp2WzAtOV0rLFxzKnYwLnR9IDEgfSB9ICovDQorLyogeyBkZy1maW5hbCB7 IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2c2V0dmxpXHMremVybyxccypbYS14 MC05XSssXHMqZTE2LFxzKm1mMixccyp0W2F1XSxccyptdVxzK3Z3c3VidVwu d3Zccyt2WzAtOV0rLFxzKnZbMC05XSssXHMqdlswLTldKyxccyp2MC50fSAx IH0gfSAqLw0KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1l cyB7dnNldHZsaVxzK3plcm8sXHMqW2EteDAtOV0rLFxzKmUxNixccyptMSxc cyp0W2F1XSxccyptdVxzK3Z3c3VidVwud3Zccyt2WzAtOV0rLFxzKnZbMC05 XSssXHMqdlswLTldKyxccyp2MC50fSAxIH0gfSAqLw0KKy8qIHsgZGctZmlu YWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNldHZsaVxzK3plcm8sXHMq W2EteDAtOV0rLFxzKmUxNixccyptMixccyp0W2F1XSxccyptdVxzK3Z3c3Vi dVwud3Zccyt2WzAtOV0rLFxzKnZbMC05XSssXHMqdlswLTldKyxccyp2MC50 fSAxIH0gfSAqLw0KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10 aW1lcyB7dnNldHZsaVxzK3plcm8sXHMqW2EteDAtOV0rLFxzKmUxNixccypt NCxccyp0W2F1XSxccyptdVxzK3Z3c3VidVwud3Zccyt2WzAtOV0rLFxzKnZb MC05XSssXHMqdlswLTldKyxccyp2MC50fSAxIH0gfSAqLw0KKy8qIHsgZGct ZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNldHZsaVxzK3plcm8s XHMqW2EteDAtOV0rLFxzKmUzMixccyptZjIsXHMqdFthdV0sXHMqbXVccyt2 d3N1YnVcLnd2XHMrdlswLTldKyxccyp2WzAtOV0rLFxzKnZbMC05XSssXHMq djAudH0gMSB9IH0gKi8NCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJs ZXItdGltZXMge3ZzZXR2bGlccyt6ZXJvLFxzKlthLXgwLTldKyxccyplMzIs XHMqbTEsXHMqdFthdV0sXHMqbXVccyt2d3N1YnVcLnd2XHMrdlswLTldKyxc cyp2WzAtOV0rLFxzKnZbMC05XSssXHMqdjAudH0gMSB9IH0gKi8NCisvKiB7 IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3ZzZXR2bGlccyt6 ZXJvLFxzKlthLXgwLTldKyxccyplMzIsXHMqbTIsXHMqdFthdV0sXHMqbXVc cyt2d3N1YnVcLnd2XHMrdlswLTldKyxccyp2WzAtOV0rLFxzKnZbMC05XSss XHMqdjAudH0gMSB9IH0gKi8NCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3Nl bWJsZXItdGltZXMge3ZzZXR2bGlccyt6ZXJvLFxzKlthLXgwLTldKyxccypl MzIsXHMqbTQsXHMqdFthdV0sXHMqbXVccyt2d3N1YnVcLnd2XHMrdlswLTld Kyxccyp2WzAtOV0rLFxzKnZbMC05XSssXHMqdjAudH0gMSB9IH0gKi8NCmRp ZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcnZ2 L2Jhc2UvdndzdWJ1X3d2X3R1LTEuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRh cmdldC9yaXNjdi9ydnYvYmFzZS92d3N1YnVfd3ZfdHUtMS5jDQpuZXcgZmls ZSBtb2RlIDEwMDY0NA0KaW5kZXggMDAwMDAwMDAwMDAuLjViZDM2ZjEwOWRj DQotLS0gL2Rldi9udWxsDQorKysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJn ZXQvcmlzY3YvcnZ2L2Jhc2UvdndzdWJ1X3d2X3R1LTEuYw0KQEAgLTAsMCAr MSwxMTEgQEANCisvKiB7IGRnLWRvIGNvbXBpbGUgfSAqLw0KKy8qIHsgZGct b3B0aW9ucyAiLW1hcmNoPXJ2NjRnY3YgLW1hYmk9bHA2NGQgLU8zIC1mbm8t c2NoZWR1bGUtaW5zbnMgLWZuby1zY2hlZHVsZS1pbnNuczIiIH0gKi8NCisN CisjaW5jbHVkZSAicmlzY3ZfdmVjdG9yLmgiDQorDQordnVpbnQxNm1mNF90 IHRlc3RfX19yaXNjdl92d3N1YnVfd3ZfdTE2bWY0X3R1KHZ1aW50MTZtZjRf dCBtZXJnZSx2dWludDE2bWY0X3Qgb3AxLHZ1aW50OG1mOF90IG9wMixzaXpl X3QgdmwpDQorew0KKyAgICByZXR1cm4gX19yaXNjdl92d3N1YnVfd3ZfdTE2 bWY0X3R1KG1lcmdlLG9wMSxvcDIsdmwpOw0KK30NCisNCisNCit2dWludDE2 bWYyX3QgdGVzdF9fX3Jpc2N2X3Z3c3VidV93dl91MTZtZjJfdHUodnVpbnQx Nm1mMl90IG1lcmdlLHZ1aW50MTZtZjJfdCBvcDEsdnVpbnQ4bWY0X3Qgb3Ay LHNpemVfdCB2bCkNCit7DQorICAgIHJldHVybiBfX3Jpc2N2X3Z3c3VidV93 dl91MTZtZjJfdHUobWVyZ2Usb3AxLG9wMix2bCk7DQorfQ0KKw0KKw0KK3Z1 aW50MTZtMV90IHRlc3RfX19yaXNjdl92d3N1YnVfd3ZfdTE2bTFfdHUodnVp bnQxNm0xX3QgbWVyZ2UsdnVpbnQxNm0xX3Qgb3AxLHZ1aW50OG1mMl90IG9w MixzaXplX3QgdmwpDQorew0KKyAgICByZXR1cm4gX19yaXNjdl92d3N1YnVf d3ZfdTE2bTFfdHUobWVyZ2Usb3AxLG9wMix2bCk7DQorfQ0KKw0KKw0KK3Z1 aW50MTZtMl90IHRlc3RfX19yaXNjdl92d3N1YnVfd3ZfdTE2bTJfdHUodnVp bnQxNm0yX3QgbWVyZ2UsdnVpbnQxNm0yX3Qgb3AxLHZ1aW50OG0xX3Qgb3Ay LHNpemVfdCB2bCkNCit7DQorICAgIHJldHVybiBfX3Jpc2N2X3Z3c3VidV93 dl91MTZtMl90dShtZXJnZSxvcDEsb3AyLHZsKTsNCit9DQorDQorDQordnVp bnQxNm00X3QgdGVzdF9fX3Jpc2N2X3Z3c3VidV93dl91MTZtNF90dSh2dWlu dDE2bTRfdCBtZXJnZSx2dWludDE2bTRfdCBvcDEsdnVpbnQ4bTJfdCBvcDIs c2l6ZV90IHZsKQ0KK3sNCisgICAgcmV0dXJuIF9fcmlzY3ZfdndzdWJ1X3d2 X3UxNm00X3R1KG1lcmdlLG9wMSxvcDIsdmwpOw0KK30NCisNCisNCit2dWlu dDE2bThfdCB0ZXN0X19fcmlzY3ZfdndzdWJ1X3d2X3UxNm04X3R1KHZ1aW50 MTZtOF90IG1lcmdlLHZ1aW50MTZtOF90IG9wMSx2dWludDhtNF90IG9wMixz aXplX3QgdmwpDQorew0KKyAgICByZXR1cm4gX19yaXNjdl92d3N1YnVfd3Zf dTE2bThfdHUobWVyZ2Usb3AxLG9wMix2bCk7DQorfQ0KKw0KKw0KK3Z1aW50 MzJtZjJfdCB0ZXN0X19fcmlzY3ZfdndzdWJ1X3d2X3UzMm1mMl90dSh2dWlu dDMybWYyX3QgbWVyZ2UsdnVpbnQzMm1mMl90IG9wMSx2dWludDE2bWY0X3Qg b3AyLHNpemVfdCB2bCkNCit7DQorICAgIHJldHVybiBfX3Jpc2N2X3Z3c3Vi dV93dl91MzJtZjJfdHUobWVyZ2Usb3AxLG9wMix2bCk7DQorfQ0KKw0KKw0K K3Z1aW50MzJtMV90IHRlc3RfX19yaXNjdl92d3N1YnVfd3ZfdTMybTFfdHUo dnVpbnQzMm0xX3QgbWVyZ2UsdnVpbnQzMm0xX3Qgb3AxLHZ1aW50MTZtZjJf dCBvcDIsc2l6ZV90IHZsKQ0KK3sNCisgICAgcmV0dXJuIF9fcmlzY3Zfdndz dWJ1X3d2X3UzMm0xX3R1KG1lcmdlLG9wMSxvcDIsdmwpOw0KK30NCisNCisN Cit2dWludDMybTJfdCB0ZXN0X19fcmlzY3ZfdndzdWJ1X3d2X3UzMm0yX3R1 KHZ1aW50MzJtMl90IG1lcmdlLHZ1aW50MzJtMl90IG9wMSx2dWludDE2bTFf dCBvcDIsc2l6ZV90IHZsKQ0KK3sNCisgICAgcmV0dXJuIF9fcmlzY3Zfdndz dWJ1X3d2X3UzMm0yX3R1KG1lcmdlLG9wMSxvcDIsdmwpOw0KK30NCisNCisN Cit2dWludDMybTRfdCB0ZXN0X19fcmlzY3ZfdndzdWJ1X3d2X3UzMm00X3R1 KHZ1aW50MzJtNF90IG1lcmdlLHZ1aW50MzJtNF90IG9wMSx2dWludDE2bTJf dCBvcDIsc2l6ZV90IHZsKQ0KK3sNCisgICAgcmV0dXJuIF9fcmlzY3Zfdndz dWJ1X3d2X3UzMm00X3R1KG1lcmdlLG9wMSxvcDIsdmwpOw0KK30NCisNCisN Cit2dWludDMybThfdCB0ZXN0X19fcmlzY3ZfdndzdWJ1X3d2X3UzMm04X3R1 KHZ1aW50MzJtOF90IG1lcmdlLHZ1aW50MzJtOF90IG9wMSx2dWludDE2bTRf dCBvcDIsc2l6ZV90IHZsKQ0KK3sNCisgICAgcmV0dXJuIF9fcmlzY3Zfdndz dWJ1X3d2X3UzMm04X3R1KG1lcmdlLG9wMSxvcDIsdmwpOw0KK30NCisNCisN Cit2dWludDY0bTFfdCB0ZXN0X19fcmlzY3ZfdndzdWJ1X3d2X3U2NG0xX3R1 KHZ1aW50NjRtMV90IG1lcmdlLHZ1aW50NjRtMV90IG9wMSx2dWludDMybWYy X3Qgb3AyLHNpemVfdCB2bCkNCit7DQorICAgIHJldHVybiBfX3Jpc2N2X3Z3 c3VidV93dl91NjRtMV90dShtZXJnZSxvcDEsb3AyLHZsKTsNCit9DQorDQor DQordnVpbnQ2NG0yX3QgdGVzdF9fX3Jpc2N2X3Z3c3VidV93dl91NjRtMl90 dSh2dWludDY0bTJfdCBtZXJnZSx2dWludDY0bTJfdCBvcDEsdnVpbnQzMm0x X3Qgb3AyLHNpemVfdCB2bCkNCit7DQorICAgIHJldHVybiBfX3Jpc2N2X3Z3 c3VidV93dl91NjRtMl90dShtZXJnZSxvcDEsb3AyLHZsKTsNCit9DQorDQor DQordnVpbnQ2NG00X3QgdGVzdF9fX3Jpc2N2X3Z3c3VidV93dl91NjRtNF90 dSh2dWludDY0bTRfdCBtZXJnZSx2dWludDY0bTRfdCBvcDEsdnVpbnQzMm0y X3Qgb3AyLHNpemVfdCB2bCkNCit7DQorICAgIHJldHVybiBfX3Jpc2N2X3Z3 c3VidV93dl91NjRtNF90dShtZXJnZSxvcDEsb3AyLHZsKTsNCit9DQorDQor DQordnVpbnQ2NG04X3QgdGVzdF9fX3Jpc2N2X3Z3c3VidV93dl91NjRtOF90 dSh2dWludDY0bThfdCBtZXJnZSx2dWludDY0bThfdCBvcDEsdnVpbnQzMm00 X3Qgb3AyLHNpemVfdCB2bCkNCit7DQorICAgIHJldHVybiBfX3Jpc2N2X3Z3 c3VidV93dl91NjRtOF90dShtZXJnZSxvcDEsb3AyLHZsKTsNCit9DQorDQor DQorDQorLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2 c2V0dmxpXHMremVybyxccypbYS14MC05XSssXHMqZTgsXHMqbWY4LFxzKnR1 LFxzKm1bYXVdXHMrdndzdWJ1XC53dlxzK3ZbMC05XSssXHMqdlswLTldKyxc cyp2WzAtOV0rfSAxIH0gfSAqLw0KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFz c2VtYmxlci10aW1lcyB7dnNldHZsaVxzK3plcm8sXHMqW2EteDAtOV0rLFxz KmU4LFxzKm1mNCxccyp0dSxccyptW2F1XVxzK3Z3c3VidVwud3Zccyt2WzAt OV0rLFxzKnZbMC05XSssXHMqdlswLTldK30gMSB9IH0gKi8NCisvKiB7IGRn LWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3ZzZXR2bGlccyt6ZXJv LFxzKlthLXgwLTldKyxccyplOCxccyptZjIsXHMqdHUsXHMqbVthdV1ccyt2 d3N1YnVcLnd2XHMrdlswLTldKyxccyp2WzAtOV0rLFxzKnZbMC05XSt9IDEg fSB9ICovDQorLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVz IHt2c2V0dmxpXHMremVybyxccypbYS14MC05XSssXHMqZTgsXHMqbTEsXHMq dHUsXHMqbVthdV1ccyt2d3N1YnVcLnd2XHMrdlswLTldKyxccyp2WzAtOV0r LFxzKnZbMC05XSt9IDEgfSB9ICovDQorLyogeyBkZy1maW5hbCB7IHNjYW4t YXNzZW1ibGVyLXRpbWVzIHt2c2V0dmxpXHMremVybyxccypbYS14MC05XSss XHMqZTgsXHMqbTIsXHMqdHUsXHMqbVthdV1ccyt2d3N1YnVcLnd2XHMrdlsw LTldKyxccyp2WzAtOV0rLFxzKnZbMC05XSt9IDEgfSB9ICovDQorLyogeyBk Zy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2c2V0dmxpXHMremVy byxccypbYS14MC05XSssXHMqZTgsXHMqbTQsXHMqdHUsXHMqbVthdV1ccyt2 d3N1YnVcLnd2XHMrdlswLTldKyxccyp2WzAtOV0rLFxzKnZbMC05XSt9IDEg fSB9ICovDQorLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVz IHt2c2V0dmxpXHMremVybyxccypbYS14MC05XSssXHMqZTE2LFxzKm1mNCxc cyp0dSxccyptW2F1XVxzK3Z3c3VidVwud3Zccyt2WzAtOV0rLFxzKnZbMC05 XSssXHMqdlswLTldK30gMSB9IH0gKi8NCisvKiB7IGRnLWZpbmFsIHsgc2Nh bi1hc3NlbWJsZXItdGltZXMge3ZzZXR2bGlccyt6ZXJvLFxzKlthLXgwLTld KyxccyplMTYsXHMqbWYyLFxzKnR1LFxzKm1bYXVdXHMrdndzdWJ1XC53dlxz K3ZbMC05XSssXHMqdlswLTldKyxccyp2WzAtOV0rfSAxIH0gfSAqLw0KKy8q IHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNldHZsaVxz K3plcm8sXHMqW2EteDAtOV0rLFxzKmUxNixccyptMSxccyp0dSxccyptW2F1 XVxzK3Z3c3VidVwud3Zccyt2WzAtOV0rLFxzKnZbMC05XSssXHMqdlswLTld K30gMSB9IH0gKi8NCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXIt dGltZXMge3ZzZXR2bGlccyt6ZXJvLFxzKlthLXgwLTldKyxccyplMTYsXHMq bTIsXHMqdHUsXHMqbVthdV1ccyt2d3N1YnVcLnd2XHMrdlswLTldKyxccyp2 WzAtOV0rLFxzKnZbMC05XSt9IDEgfSB9ICovDQorLyogeyBkZy1maW5hbCB7 IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2c2V0dmxpXHMremVybyxccypbYS14 MC05XSssXHMqZTE2LFxzKm00LFxzKnR1LFxzKm1bYXVdXHMrdndzdWJ1XC53 dlxzK3ZbMC05XSssXHMqdlswLTldKyxccyp2WzAtOV0rfSAxIH0gfSAqLw0K Ky8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNldHZs aVxzK3plcm8sXHMqW2EteDAtOV0rLFxzKmUzMixccyptZjIsXHMqdHUsXHMq bVthdV1ccyt2d3N1YnVcLnd2XHMrdlswLTldKyxccyp2WzAtOV0rLFxzKnZb MC05XSt9IDEgfSB9ICovDQorLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1i bGVyLXRpbWVzIHt2c2V0dmxpXHMremVybyxccypbYS14MC05XSssXHMqZTMy LFxzKm0xLFxzKnR1LFxzKm1bYXVdXHMrdndzdWJ1XC53dlxzK3ZbMC05XSss XHMqdlswLTldKyxccyp2WzAtOV0rfSAxIH0gfSAqLw0KKy8qIHsgZGctZmlu YWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNldHZsaVxzK3plcm8sXHMq W2EteDAtOV0rLFxzKmUzMixccyptMixccyp0dSxccyptW2F1XVxzK3Z3c3Vi dVwud3Zccyt2WzAtOV0rLFxzKnZbMC05XSssXHMqdlswLTldK30gMSB9IH0g Ki8NCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3Zz ZXR2bGlccyt6ZXJvLFxzKlthLXgwLTldKyxccyplMzIsXHMqbTQsXHMqdHUs XHMqbVthdV1ccyt2d3N1YnVcLnd2XHMrdlswLTldKyxccyp2WzAtOV0rLFxz KnZbMC05XSt9IDEgfSB9ICovDQpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0 ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2di9iYXNlL3Z3c3VidV93dl90dS0yLmMg Yi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcnZ2L2Jhc2Uvdndz dWJ1X3d2X3R1LTIuYw0KbmV3IGZpbGUgbW9kZSAxMDA2NDQNCmluZGV4IDAw MDAwMDAwMDAwLi42YjE5YzI3ODRmNw0KLS0tIC9kZXYvbnVsbA0KKysrIGIv Z2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2di9iYXNlL3Z3c3Vi dV93dl90dS0yLmMNCkBAIC0wLDAgKzEsMTExIEBADQorLyogeyBkZy1kbyBj b21waWxlIH0gKi8NCisvKiB7IGRnLW9wdGlvbnMgIi1tYXJjaD1ydjY0Z2N2 IC1tYWJpPWxwNjRkIC1PMyAtZm5vLXNjaGVkdWxlLWluc25zIC1mbm8tc2No ZWR1bGUtaW5zbnMyIiB9ICovDQorDQorI2luY2x1ZGUgInJpc2N2X3ZlY3Rv ci5oIg0KKw0KK3Z1aW50MTZtZjRfdCB0ZXN0X19fcmlzY3ZfdndzdWJ1X3d2 X3UxNm1mNF90dSh2dWludDE2bWY0X3QgbWVyZ2UsdnVpbnQxNm1mNF90IG9w MSx2dWludDhtZjhfdCBvcDIsc2l6ZV90IHZsKQ0KK3sNCisgICAgcmV0dXJu IF9fcmlzY3ZfdndzdWJ1X3d2X3UxNm1mNF90dShtZXJnZSxvcDEsb3AyLDMx KTsNCit9DQorDQorDQordnVpbnQxNm1mMl90IHRlc3RfX19yaXNjdl92d3N1 YnVfd3ZfdTE2bWYyX3R1KHZ1aW50MTZtZjJfdCBtZXJnZSx2dWludDE2bWYy X3Qgb3AxLHZ1aW50OG1mNF90IG9wMixzaXplX3QgdmwpDQorew0KKyAgICBy ZXR1cm4gX19yaXNjdl92d3N1YnVfd3ZfdTE2bWYyX3R1KG1lcmdlLG9wMSxv cDIsMzEpOw0KK30NCisNCisNCit2dWludDE2bTFfdCB0ZXN0X19fcmlzY3Zf dndzdWJ1X3d2X3UxNm0xX3R1KHZ1aW50MTZtMV90IG1lcmdlLHZ1aW50MTZt MV90IG9wMSx2dWludDhtZjJfdCBvcDIsc2l6ZV90IHZsKQ0KK3sNCisgICAg cmV0dXJuIF9fcmlzY3ZfdndzdWJ1X3d2X3UxNm0xX3R1KG1lcmdlLG9wMSxv cDIsMzEpOw0KK30NCisNCisNCit2dWludDE2bTJfdCB0ZXN0X19fcmlzY3Zf dndzdWJ1X3d2X3UxNm0yX3R1KHZ1aW50MTZtMl90IG1lcmdlLHZ1aW50MTZt Ml90IG9wMSx2dWludDhtMV90IG9wMixzaXplX3QgdmwpDQorew0KKyAgICBy ZXR1cm4gX19yaXNjdl92d3N1YnVfd3ZfdTE2bTJfdHUobWVyZ2Usb3AxLG9w MiwzMSk7DQorfQ0KKw0KKw0KK3Z1aW50MTZtNF90IHRlc3RfX19yaXNjdl92 d3N1YnVfd3ZfdTE2bTRfdHUodnVpbnQxNm00X3QgbWVyZ2UsdnVpbnQxNm00 X3Qgb3AxLHZ1aW50OG0yX3Qgb3AyLHNpemVfdCB2bCkNCit7DQorICAgIHJl dHVybiBfX3Jpc2N2X3Z3c3VidV93dl91MTZtNF90dShtZXJnZSxvcDEsb3Ay LDMxKTsNCit9DQorDQorDQordnVpbnQxNm04X3QgdGVzdF9fX3Jpc2N2X3Z3 c3VidV93dl91MTZtOF90dSh2dWludDE2bThfdCBtZXJnZSx2dWludDE2bThf dCBvcDEsdnVpbnQ4bTRfdCBvcDIsc2l6ZV90IHZsKQ0KK3sNCisgICAgcmV0 dXJuIF9fcmlzY3ZfdndzdWJ1X3d2X3UxNm04X3R1KG1lcmdlLG9wMSxvcDIs MzEpOw0KK30NCisNCisNCit2dWludDMybWYyX3QgdGVzdF9fX3Jpc2N2X3Z3 c3VidV93dl91MzJtZjJfdHUodnVpbnQzMm1mMl90IG1lcmdlLHZ1aW50MzJt ZjJfdCBvcDEsdnVpbnQxNm1mNF90IG9wMixzaXplX3QgdmwpDQorew0KKyAg ICByZXR1cm4gX19yaXNjdl92d3N1YnVfd3ZfdTMybWYyX3R1KG1lcmdlLG9w MSxvcDIsMzEpOw0KK30NCisNCisNCit2dWludDMybTFfdCB0ZXN0X19fcmlz Y3ZfdndzdWJ1X3d2X3UzMm0xX3R1KHZ1aW50MzJtMV90IG1lcmdlLHZ1aW50 MzJtMV90IG9wMSx2dWludDE2bWYyX3Qgb3AyLHNpemVfdCB2bCkNCit7DQor ICAgIHJldHVybiBfX3Jpc2N2X3Z3c3VidV93dl91MzJtMV90dShtZXJnZSxv cDEsb3AyLDMxKTsNCit9DQorDQorDQordnVpbnQzMm0yX3QgdGVzdF9fX3Jp c2N2X3Z3c3VidV93dl91MzJtMl90dSh2dWludDMybTJfdCBtZXJnZSx2dWlu dDMybTJfdCBvcDEsdnVpbnQxNm0xX3Qgb3AyLHNpemVfdCB2bCkNCit7DQor ICAgIHJldHVybiBfX3Jpc2N2X3Z3c3VidV93dl91MzJtMl90dShtZXJnZSxv cDEsb3AyLDMxKTsNCit9DQorDQorDQordnVpbnQzMm00X3QgdGVzdF9fX3Jp c2N2X3Z3c3VidV93dl91MzJtNF90dSh2dWludDMybTRfdCBtZXJnZSx2dWlu dDMybTRfdCBvcDEsdnVpbnQxNm0yX3Qgb3AyLHNpemVfdCB2bCkNCit7DQor ICAgIHJldHVybiBfX3Jpc2N2X3Z3c3VidV93dl91MzJtNF90dShtZXJnZSxv cDEsb3AyLDMxKTsNCit9DQorDQorDQordnVpbnQzMm04X3QgdGVzdF9fX3Jp c2N2X3Z3c3VidV93dl91MzJtOF90dSh2dWludDMybThfdCBtZXJnZSx2dWlu dDMybThfdCBvcDEsdnVpbnQxNm00X3Qgb3AyLHNpemVfdCB2bCkNCit7DQor ICAgIHJldHVybiBfX3Jpc2N2X3Z3c3VidV93dl91MzJtOF90dShtZXJnZSxv cDEsb3AyLDMxKTsNCit9DQorDQorDQordnVpbnQ2NG0xX3QgdGVzdF9fX3Jp c2N2X3Z3c3VidV93dl91NjRtMV90dSh2dWludDY0bTFfdCBtZXJnZSx2dWlu dDY0bTFfdCBvcDEsdnVpbnQzMm1mMl90IG9wMixzaXplX3QgdmwpDQorew0K KyAgICByZXR1cm4gX19yaXNjdl92d3N1YnVfd3ZfdTY0bTFfdHUobWVyZ2Us b3AxLG9wMiwzMSk7DQorfQ0KKw0KKw0KK3Z1aW50NjRtMl90IHRlc3RfX19y aXNjdl92d3N1YnVfd3ZfdTY0bTJfdHUodnVpbnQ2NG0yX3QgbWVyZ2UsdnVp bnQ2NG0yX3Qgb3AxLHZ1aW50MzJtMV90IG9wMixzaXplX3QgdmwpDQorew0K KyAgICByZXR1cm4gX19yaXNjdl92d3N1YnVfd3ZfdTY0bTJfdHUobWVyZ2Us b3AxLG9wMiwzMSk7DQorfQ0KKw0KKw0KK3Z1aW50NjRtNF90IHRlc3RfX19y aXNjdl92d3N1YnVfd3ZfdTY0bTRfdHUodnVpbnQ2NG00X3QgbWVyZ2UsdnVp bnQ2NG00X3Qgb3AxLHZ1aW50MzJtMl90IG9wMixzaXplX3QgdmwpDQorew0K KyAgICByZXR1cm4gX19yaXNjdl92d3N1YnVfd3ZfdTY0bTRfdHUobWVyZ2Us b3AxLG9wMiwzMSk7DQorfQ0KKw0KKw0KK3Z1aW50NjRtOF90IHRlc3RfX19y aXNjdl92d3N1YnVfd3ZfdTY0bThfdHUodnVpbnQ2NG04X3QgbWVyZ2UsdnVp bnQ2NG04X3Qgb3AxLHZ1aW50MzJtNF90IG9wMixzaXplX3QgdmwpDQorew0K KyAgICByZXR1cm4gX19yaXNjdl92d3N1YnVfd3ZfdTY0bThfdHUobWVyZ2Us b3AxLG9wMiwzMSk7DQorfQ0KKw0KKw0KKw0KKy8qIHsgZGctZmluYWwgeyBz Y2FuLWFzc2VtYmxlci10aW1lcyB7dnNldGl2bGlccyt6ZXJvLFxzKjMxLFxz KmU4LFxzKm1mOCxccyp0dSxccyptW2F1XVxzK3Z3c3VidVwud3Zccyt2WzAt OV0rLFxzKnZbMC05XSssXHMqdlswLTldK30gMSB9IH0gKi8NCisvKiB7IGRn LWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3ZzZXRpdmxpXHMremVy byxccyozMSxccyplOCxccyptZjQsXHMqdHUsXHMqbVthdV1ccyt2d3N1YnVc Lnd2XHMrdlswLTldKyxccyp2WzAtOV0rLFxzKnZbMC05XSt9IDEgfSB9ICov DQorLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2c2V0 aXZsaVxzK3plcm8sXHMqMzEsXHMqZTgsXHMqbWYyLFxzKnR1LFxzKm1bYXVd XHMrdndzdWJ1XC53dlxzK3ZbMC05XSssXHMqdlswLTldKyxccyp2WzAtOV0r fSAxIH0gfSAqLw0KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10 aW1lcyB7dnNldGl2bGlccyt6ZXJvLFxzKjMxLFxzKmU4LFxzKm0xLFxzKnR1 LFxzKm1bYXVdXHMrdndzdWJ1XC53dlxzK3ZbMC05XSssXHMqdlswLTldKyxc cyp2WzAtOV0rfSAxIH0gfSAqLw0KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFz c2VtYmxlci10aW1lcyB7dnNldGl2bGlccyt6ZXJvLFxzKjMxLFxzKmU4LFxz Km0yLFxzKnR1LFxzKm1bYXVdXHMrdndzdWJ1XC53dlxzK3ZbMC05XSssXHMq dlswLTldKyxccyp2WzAtOV0rfSAxIH0gfSAqLw0KKy8qIHsgZGctZmluYWwg eyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNldGl2bGlccyt6ZXJvLFxzKjMx LFxzKmU4LFxzKm00LFxzKnR1LFxzKm1bYXVdXHMrdndzdWJ1XC53dlxzK3Zb MC05XSssXHMqdlswLTldKyxccyp2WzAtOV0rfSAxIH0gfSAqLw0KKy8qIHsg ZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNldGl2bGlccyt6 ZXJvLFxzKjMxLFxzKmUxNixccyptZjQsXHMqdHUsXHMqbVthdV1ccyt2d3N1 YnVcLnd2XHMrdlswLTldKyxccyp2WzAtOV0rLFxzKnZbMC05XSt9IDEgfSB9 ICovDQorLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2 c2V0aXZsaVxzK3plcm8sXHMqMzEsXHMqZTE2LFxzKm1mMixccyp0dSxccypt W2F1XVxzK3Z3c3VidVwud3Zccyt2WzAtOV0rLFxzKnZbMC05XSssXHMqdlsw LTldK30gMSB9IH0gKi8NCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJs ZXItdGltZXMge3ZzZXRpdmxpXHMremVybyxccyozMSxccyplMTYsXHMqbTEs XHMqdHUsXHMqbVthdV1ccyt2d3N1YnVcLnd2XHMrdlswLTldKyxccyp2WzAt OV0rLFxzKnZbMC05XSt9IDEgfSB9ICovDQorLyogeyBkZy1maW5hbCB7IHNj YW4tYXNzZW1ibGVyLXRpbWVzIHt2c2V0aXZsaVxzK3plcm8sXHMqMzEsXHMq ZTE2LFxzKm0yLFxzKnR1LFxzKm1bYXVdXHMrdndzdWJ1XC53dlxzK3ZbMC05 XSssXHMqdlswLTldKyxccyp2WzAtOV0rfSAxIH0gfSAqLw0KKy8qIHsgZGct ZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNldGl2bGlccyt6ZXJv LFxzKjMxLFxzKmUxNixccyptNCxccyp0dSxccyptW2F1XVxzK3Z3c3VidVwu d3Zccyt2WzAtOV0rLFxzKnZbMC05XSssXHMqdlswLTldK30gMSB9IH0gKi8N CisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3ZzZXRp dmxpXHMremVybyxccyozMSxccyplMzIsXHMqbWYyLFxzKnR1LFxzKm1bYXVd XHMrdndzdWJ1XC53dlxzK3ZbMC05XSssXHMqdlswLTldKyxccyp2WzAtOV0r fSAxIH0gfSAqLw0KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10 aW1lcyB7dnNldGl2bGlccyt6ZXJvLFxzKjMxLFxzKmUzMixccyptMSxccyp0 dSxccyptW2F1XVxzK3Z3c3VidVwud3Zccyt2WzAtOV0rLFxzKnZbMC05XSss XHMqdlswLTldK30gMSB9IH0gKi8NCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1h c3NlbWJsZXItdGltZXMge3ZzZXRpdmxpXHMremVybyxccyozMSxccyplMzIs XHMqbTIsXHMqdHUsXHMqbVthdV1ccyt2d3N1YnVcLnd2XHMrdlswLTldKyxc cyp2WzAtOV0rLFxzKnZbMC05XSt9IDEgfSB9ICovDQorLyogeyBkZy1maW5h bCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2c2V0aXZsaVxzK3plcm8sXHMq MzEsXHMqZTMyLFxzKm00LFxzKnR1LFxzKm1bYXVdXHMrdndzdWJ1XC53dlxz K3ZbMC05XSssXHMqdlswLTldKyxccyp2WzAtOV0rfSAxIH0gfSAqLw0KZGlm ZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9ydnYv YmFzZS92d3N1YnVfd3ZfdHUtMy5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFy Z2V0L3Jpc2N2L3J2di9iYXNlL3Z3c3VidV93dl90dS0zLmMNCm5ldyBmaWxl IG1vZGUgMTAwNjQ0DQppbmRleCAwMDAwMDAwMDAwMC4uMGMyMzc4Mzg0ZTcN Ci0tLSAvZGV2L251bGwNCisrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdl dC9yaXNjdi9ydnYvYmFzZS92d3N1YnVfd3ZfdHUtMy5jDQpAQCAtMCwwICsx LDExMSBAQA0KKy8qIHsgZGctZG8gY29tcGlsZSB9ICovDQorLyogeyBkZy1v cHRpb25zICItbWFyY2g9cnY2NGdjdiAtbWFiaT1scDY0ZCAtTzMgLWZuby1z Y2hlZHVsZS1pbnNucyAtZm5vLXNjaGVkdWxlLWluc25zMiIgfSAqLw0KKw0K KyNpbmNsdWRlICJyaXNjdl92ZWN0b3IuaCINCisNCit2dWludDE2bWY0X3Qg dGVzdF9fX3Jpc2N2X3Z3c3VidV93dl91MTZtZjRfdHUodnVpbnQxNm1mNF90 IG1lcmdlLHZ1aW50MTZtZjRfdCBvcDEsdnVpbnQ4bWY4X3Qgb3AyLHNpemVf dCB2bCkNCit7DQorICAgIHJldHVybiBfX3Jpc2N2X3Z3c3VidV93dl91MTZt ZjRfdHUobWVyZ2Usb3AxLG9wMiwzMik7DQorfQ0KKw0KKw0KK3Z1aW50MTZt ZjJfdCB0ZXN0X19fcmlzY3ZfdndzdWJ1X3d2X3UxNm1mMl90dSh2dWludDE2 bWYyX3QgbWVyZ2UsdnVpbnQxNm1mMl90IG9wMSx2dWludDhtZjRfdCBvcDIs c2l6ZV90IHZsKQ0KK3sNCisgICAgcmV0dXJuIF9fcmlzY3ZfdndzdWJ1X3d2 X3UxNm1mMl90dShtZXJnZSxvcDEsb3AyLDMyKTsNCit9DQorDQorDQordnVp bnQxNm0xX3QgdGVzdF9fX3Jpc2N2X3Z3c3VidV93dl91MTZtMV90dSh2dWlu dDE2bTFfdCBtZXJnZSx2dWludDE2bTFfdCBvcDEsdnVpbnQ4bWYyX3Qgb3Ay LHNpemVfdCB2bCkNCit7DQorICAgIHJldHVybiBfX3Jpc2N2X3Z3c3VidV93 dl91MTZtMV90dShtZXJnZSxvcDEsb3AyLDMyKTsNCit9DQorDQorDQordnVp bnQxNm0yX3QgdGVzdF9fX3Jpc2N2X3Z3c3VidV93dl91MTZtMl90dSh2dWlu dDE2bTJfdCBtZXJnZSx2dWludDE2bTJfdCBvcDEsdnVpbnQ4bTFfdCBvcDIs c2l6ZV90IHZsKQ0KK3sNCisgICAgcmV0dXJuIF9fcmlzY3ZfdndzdWJ1X3d2 X3UxNm0yX3R1KG1lcmdlLG9wMSxvcDIsMzIpOw0KK30NCisNCisNCit2dWlu dDE2bTRfdCB0ZXN0X19fcmlzY3ZfdndzdWJ1X3d2X3UxNm00X3R1KHZ1aW50 MTZtNF90IG1lcmdlLHZ1aW50MTZtNF90IG9wMSx2dWludDhtMl90IG9wMixz aXplX3QgdmwpDQorew0KKyAgICByZXR1cm4gX19yaXNjdl92d3N1YnVfd3Zf dTE2bTRfdHUobWVyZ2Usb3AxLG9wMiwzMik7DQorfQ0KKw0KKw0KK3Z1aW50 MTZtOF90IHRlc3RfX19yaXNjdl92d3N1YnVfd3ZfdTE2bThfdHUodnVpbnQx Nm04X3QgbWVyZ2UsdnVpbnQxNm04X3Qgb3AxLHZ1aW50OG00X3Qgb3AyLHNp emVfdCB2bCkNCit7DQorICAgIHJldHVybiBfX3Jpc2N2X3Z3c3VidV93dl91 MTZtOF90dShtZXJnZSxvcDEsb3AyLDMyKTsNCit9DQorDQorDQordnVpbnQz Mm1mMl90IHRlc3RfX19yaXNjdl92d3N1YnVfd3ZfdTMybWYyX3R1KHZ1aW50 MzJtZjJfdCBtZXJnZSx2dWludDMybWYyX3Qgb3AxLHZ1aW50MTZtZjRfdCBv cDIsc2l6ZV90IHZsKQ0KK3sNCisgICAgcmV0dXJuIF9fcmlzY3ZfdndzdWJ1 X3d2X3UzMm1mMl90dShtZXJnZSxvcDEsb3AyLDMyKTsNCit9DQorDQorDQor dnVpbnQzMm0xX3QgdGVzdF9fX3Jpc2N2X3Z3c3VidV93dl91MzJtMV90dSh2 dWludDMybTFfdCBtZXJnZSx2dWludDMybTFfdCBvcDEsdnVpbnQxNm1mMl90 IG9wMixzaXplX3QgdmwpDQorew0KKyAgICByZXR1cm4gX19yaXNjdl92d3N1 YnVfd3ZfdTMybTFfdHUobWVyZ2Usb3AxLG9wMiwzMik7DQorfQ0KKw0KKw0K K3Z1aW50MzJtMl90IHRlc3RfX19yaXNjdl92d3N1YnVfd3ZfdTMybTJfdHUo dnVpbnQzMm0yX3QgbWVyZ2UsdnVpbnQzMm0yX3Qgb3AxLHZ1aW50MTZtMV90 IG9wMixzaXplX3QgdmwpDQorew0KKyAgICByZXR1cm4gX19yaXNjdl92d3N1 YnVfd3ZfdTMybTJfdHUobWVyZ2Usb3AxLG9wMiwzMik7DQorfQ0KKw0KKw0K K3Z1aW50MzJtNF90IHRlc3RfX19yaXNjdl92d3N1YnVfd3ZfdTMybTRfdHUo dnVpbnQzMm00X3QgbWVyZ2UsdnVpbnQzMm00X3Qgb3AxLHZ1aW50MTZtMl90 IG9wMixzaXplX3QgdmwpDQorew0KKyAgICByZXR1cm4gX19yaXNjdl92d3N1 YnVfd3ZfdTMybTRfdHUobWVyZ2Usb3AxLG9wMiwzMik7DQorfQ0KKw0KKw0K K3Z1aW50MzJtOF90IHRlc3RfX19yaXNjdl92d3N1YnVfd3ZfdTMybThfdHUo dnVpbnQzMm04X3QgbWVyZ2UsdnVpbnQzMm04X3Qgb3AxLHZ1aW50MTZtNF90 IG9wMixzaXplX3QgdmwpDQorew0KKyAgICByZXR1cm4gX19yaXNjdl92d3N1 YnVfd3ZfdTMybThfdHUobWVyZ2Usb3AxLG9wMiwzMik7DQorfQ0KKw0KKw0K K3Z1aW50NjRtMV90IHRlc3RfX19yaXNjdl92d3N1YnVfd3ZfdTY0bTFfdHUo dnVpbnQ2NG0xX3QgbWVyZ2UsdnVpbnQ2NG0xX3Qgb3AxLHZ1aW50MzJtZjJf dCBvcDIsc2l6ZV90IHZsKQ0KK3sNCisgICAgcmV0dXJuIF9fcmlzY3Zfdndz dWJ1X3d2X3U2NG0xX3R1KG1lcmdlLG9wMSxvcDIsMzIpOw0KK30NCisNCisN Cit2dWludDY0bTJfdCB0ZXN0X19fcmlzY3ZfdndzdWJ1X3d2X3U2NG0yX3R1 KHZ1aW50NjRtMl90IG1lcmdlLHZ1aW50NjRtMl90IG9wMSx2dWludDMybTFf dCBvcDIsc2l6ZV90IHZsKQ0KK3sNCisgICAgcmV0dXJuIF9fcmlzY3Zfdndz dWJ1X3d2X3U2NG0yX3R1KG1lcmdlLG9wMSxvcDIsMzIpOw0KK30NCisNCisN Cit2dWludDY0bTRfdCB0ZXN0X19fcmlzY3ZfdndzdWJ1X3d2X3U2NG00X3R1 KHZ1aW50NjRtNF90IG1lcmdlLHZ1aW50NjRtNF90IG9wMSx2dWludDMybTJf dCBvcDIsc2l6ZV90IHZsKQ0KK3sNCisgICAgcmV0dXJuIF9fcmlzY3Zfdndz dWJ1X3d2X3U2NG00X3R1KG1lcmdlLG9wMSxvcDIsMzIpOw0KK30NCisNCisN Cit2dWludDY0bThfdCB0ZXN0X19fcmlzY3ZfdndzdWJ1X3d2X3U2NG04X3R1 KHZ1aW50NjRtOF90IG1lcmdlLHZ1aW50NjRtOF90IG9wMSx2dWludDMybTRf dCBvcDIsc2l6ZV90IHZsKQ0KK3sNCisgICAgcmV0dXJuIF9fcmlzY3Zfdndz dWJ1X3d2X3U2NG04X3R1KG1lcmdlLG9wMSxvcDIsMzIpOw0KK30NCisNCisN CisNCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3Zz ZXR2bGlccyt6ZXJvLFxzKlthLXgwLTldKyxccyplOCxccyptZjgsXHMqdHUs XHMqbVthdV1ccyt2d3N1YnVcLnd2XHMrdlswLTldKyxccyp2WzAtOV0rLFxz KnZbMC05XSt9IDEgfSB9ICovDQorLyogeyBkZy1maW5hbCB7IHNjYW4tYXNz ZW1ibGVyLXRpbWVzIHt2c2V0dmxpXHMremVybyxccypbYS14MC05XSssXHMq ZTgsXHMqbWY0LFxzKnR1LFxzKm1bYXVdXHMrdndzdWJ1XC53dlxzK3ZbMC05 XSssXHMqdlswLTldKyxccyp2WzAtOV0rfSAxIH0gfSAqLw0KKy8qIHsgZGct ZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNldHZsaVxzK3plcm8s XHMqW2EteDAtOV0rLFxzKmU4LFxzKm1mMixccyp0dSxccyptW2F1XVxzK3Z3 c3VidVwud3Zccyt2WzAtOV0rLFxzKnZbMC05XSssXHMqdlswLTldK30gMSB9 IH0gKi8NCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMg e3ZzZXR2bGlccyt6ZXJvLFxzKlthLXgwLTldKyxccyplOCxccyptMSxccyp0 dSxccyptW2F1XVxzK3Z3c3VidVwud3Zccyt2WzAtOV0rLFxzKnZbMC05XSss XHMqdlswLTldK30gMSB9IH0gKi8NCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1h c3NlbWJsZXItdGltZXMge3ZzZXR2bGlccyt6ZXJvLFxzKlthLXgwLTldKyxc cyplOCxccyptMixccyp0dSxccyptW2F1XVxzK3Z3c3VidVwud3Zccyt2WzAt OV0rLFxzKnZbMC05XSssXHMqdlswLTldK30gMSB9IH0gKi8NCisvKiB7IGRn LWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3ZzZXR2bGlccyt6ZXJv LFxzKlthLXgwLTldKyxccyplOCxccyptNCxccyp0dSxccyptW2F1XVxzK3Z3 c3VidVwud3Zccyt2WzAtOV0rLFxzKnZbMC05XSssXHMqdlswLTldK30gMSB9 IH0gKi8NCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMg e3ZzZXR2bGlccyt6ZXJvLFxzKlthLXgwLTldKyxccyplMTYsXHMqbWY0LFxz KnR1LFxzKm1bYXVdXHMrdndzdWJ1XC53dlxzK3ZbMC05XSssXHMqdlswLTld Kyxccyp2WzAtOV0rfSAxIH0gfSAqLw0KKy8qIHsgZGctZmluYWwgeyBzY2Fu LWFzc2VtYmxlci10aW1lcyB7dnNldHZsaVxzK3plcm8sXHMqW2EteDAtOV0r LFxzKmUxNixccyptZjIsXHMqdHUsXHMqbVthdV1ccyt2d3N1YnVcLnd2XHMr dlswLTldKyxccyp2WzAtOV0rLFxzKnZbMC05XSt9IDEgfSB9ICovDQorLyog eyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2c2V0dmxpXHMr emVybyxccypbYS14MC05XSssXHMqZTE2LFxzKm0xLFxzKnR1LFxzKm1bYXVd XHMrdndzdWJ1XC53dlxzK3ZbMC05XSssXHMqdlswLTldKyxccyp2WzAtOV0r fSAxIH0gfSAqLw0KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10 aW1lcyB7dnNldHZsaVxzK3plcm8sXHMqW2EteDAtOV0rLFxzKmUxNixccypt Mixccyp0dSxccyptW2F1XVxzK3Z3c3VidVwud3Zccyt2WzAtOV0rLFxzKnZb MC05XSssXHMqdlswLTldK30gMSB9IH0gKi8NCisvKiB7IGRnLWZpbmFsIHsg c2Nhbi1hc3NlbWJsZXItdGltZXMge3ZzZXR2bGlccyt6ZXJvLFxzKlthLXgw LTldKyxccyplMTYsXHMqbTQsXHMqdHUsXHMqbVthdV1ccyt2d3N1YnVcLnd2 XHMrdlswLTldKyxccyp2WzAtOV0rLFxzKnZbMC05XSt9IDEgfSB9ICovDQor LyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2c2V0dmxp XHMremVybyxccypbYS14MC05XSssXHMqZTMyLFxzKm1mMixccyp0dSxccypt W2F1XVxzK3Z3c3VidVwud3Zccyt2WzAtOV0rLFxzKnZbMC05XSssXHMqdlsw LTldK30gMSB9IH0gKi8NCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJs ZXItdGltZXMge3ZzZXR2bGlccyt6ZXJvLFxzKlthLXgwLTldKyxccyplMzIs XHMqbTEsXHMqdHUsXHMqbVthdV1ccyt2d3N1YnVcLnd2XHMrdlswLTldKyxc cyp2WzAtOV0rLFxzKnZbMC05XSt9IDEgfSB9ICovDQorLyogeyBkZy1maW5h bCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2c2V0dmxpXHMremVybyxccypb YS14MC05XSssXHMqZTMyLFxzKm0yLFxzKnR1LFxzKm1bYXVdXHMrdndzdWJ1 XC53dlxzK3ZbMC05XSssXHMqdlswLTldKyxccyp2WzAtOV0rfSAxIH0gfSAq Lw0KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNl dHZsaVxzK3plcm8sXHMqW2EteDAtOV0rLFxzKmUzMixccyptNCxccyp0dSxc cyptW2F1XVxzK3Z3c3VidVwud3Zccyt2WzAtOV0rLFxzKnZbMC05XSssXHMq dlswLTldK30gMSB9IH0gKi8NCmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRl L2djYy50YXJnZXQvcmlzY3YvcnZ2L2Jhc2UvdndzdWJ1X3d2X3R1bS0xLmMg Yi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcnZ2L2Jhc2Uvdndz dWJ1X3d2X3R1bS0xLmMNCm5ldyBmaWxlIG1vZGUgMTAwNjQ0DQppbmRleCAw MDAwMDAwMDAwMC4uNjY0NWU3MGFhYzYNCi0tLSAvZGV2L251bGwNCisrKyBi L2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9ydnYvYmFzZS92d3N1 YnVfd3ZfdHVtLTEuYw0KQEAgLTAsMCArMSwxMTEgQEANCisvKiB7IGRnLWRv IGNvbXBpbGUgfSAqLw0KKy8qIHsgZGctb3B0aW9ucyAiLW1hcmNoPXJ2NjRn Y3YgLW1hYmk9bHA2NGQgLU8zIC1mbm8tc2NoZWR1bGUtaW5zbnMgLWZuby1z Y2hlZHVsZS1pbnNuczIiIH0gKi8NCisNCisjaW5jbHVkZSAicmlzY3ZfdmVj dG9yLmgiDQorDQordnVpbnQxNm1mNF90IHRlc3RfX19yaXNjdl92d3N1YnVf d3ZfdTE2bWY0X3R1bSh2Ym9vbDY0X3QgbWFzayx2dWludDE2bWY0X3QgbWVy Z2UsdnVpbnQxNm1mNF90IG9wMSx2dWludDhtZjhfdCBvcDIsc2l6ZV90IHZs KQ0KK3sNCisgICAgcmV0dXJuIF9fcmlzY3ZfdndzdWJ1X3d2X3UxNm1mNF90 dW0obWFzayxtZXJnZSxvcDEsb3AyLHZsKTsNCit9DQorDQorDQordnVpbnQx Nm1mMl90IHRlc3RfX19yaXNjdl92d3N1YnVfd3ZfdTE2bWYyX3R1bSh2Ym9v bDMyX3QgbWFzayx2dWludDE2bWYyX3QgbWVyZ2UsdnVpbnQxNm1mMl90IG9w MSx2dWludDhtZjRfdCBvcDIsc2l6ZV90IHZsKQ0KK3sNCisgICAgcmV0dXJu IF9fcmlzY3ZfdndzdWJ1X3d2X3UxNm1mMl90dW0obWFzayxtZXJnZSxvcDEs b3AyLHZsKTsNCit9DQorDQorDQordnVpbnQxNm0xX3QgdGVzdF9fX3Jpc2N2 X3Z3c3VidV93dl91MTZtMV90dW0odmJvb2wxNl90IG1hc2ssdnVpbnQxNm0x X3QgbWVyZ2UsdnVpbnQxNm0xX3Qgb3AxLHZ1aW50OG1mMl90IG9wMixzaXpl X3QgdmwpDQorew0KKyAgICByZXR1cm4gX19yaXNjdl92d3N1YnVfd3ZfdTE2 bTFfdHVtKG1hc2ssbWVyZ2Usb3AxLG9wMix2bCk7DQorfQ0KKw0KKw0KK3Z1 aW50MTZtMl90IHRlc3RfX19yaXNjdl92d3N1YnVfd3ZfdTE2bTJfdHVtKHZi b29sOF90IG1hc2ssdnVpbnQxNm0yX3QgbWVyZ2UsdnVpbnQxNm0yX3Qgb3Ax LHZ1aW50OG0xX3Qgb3AyLHNpemVfdCB2bCkNCit7DQorICAgIHJldHVybiBf X3Jpc2N2X3Z3c3VidV93dl91MTZtMl90dW0obWFzayxtZXJnZSxvcDEsb3Ay LHZsKTsNCit9DQorDQorDQordnVpbnQxNm00X3QgdGVzdF9fX3Jpc2N2X3Z3 c3VidV93dl91MTZtNF90dW0odmJvb2w0X3QgbWFzayx2dWludDE2bTRfdCBt ZXJnZSx2dWludDE2bTRfdCBvcDEsdnVpbnQ4bTJfdCBvcDIsc2l6ZV90IHZs KQ0KK3sNCisgICAgcmV0dXJuIF9fcmlzY3ZfdndzdWJ1X3d2X3UxNm00X3R1 bShtYXNrLG1lcmdlLG9wMSxvcDIsdmwpOw0KK30NCisNCisNCit2dWludDE2 bThfdCB0ZXN0X19fcmlzY3ZfdndzdWJ1X3d2X3UxNm04X3R1bSh2Ym9vbDJf dCBtYXNrLHZ1aW50MTZtOF90IG1lcmdlLHZ1aW50MTZtOF90IG9wMSx2dWlu dDhtNF90IG9wMixzaXplX3QgdmwpDQorew0KKyAgICByZXR1cm4gX19yaXNj dl92d3N1YnVfd3ZfdTE2bThfdHVtKG1hc2ssbWVyZ2Usb3AxLG9wMix2bCk7 DQorfQ0KKw0KKw0KK3Z1aW50MzJtZjJfdCB0ZXN0X19fcmlzY3ZfdndzdWJ1 X3d2X3UzMm1mMl90dW0odmJvb2w2NF90IG1hc2ssdnVpbnQzMm1mMl90IG1l cmdlLHZ1aW50MzJtZjJfdCBvcDEsdnVpbnQxNm1mNF90IG9wMixzaXplX3Qg dmwpDQorew0KKyAgICByZXR1cm4gX19yaXNjdl92d3N1YnVfd3ZfdTMybWYy X3R1bShtYXNrLG1lcmdlLG9wMSxvcDIsdmwpOw0KK30NCisNCisNCit2dWlu dDMybTFfdCB0ZXN0X19fcmlzY3ZfdndzdWJ1X3d2X3UzMm0xX3R1bSh2Ym9v bDMyX3QgbWFzayx2dWludDMybTFfdCBtZXJnZSx2dWludDMybTFfdCBvcDEs dnVpbnQxNm1mMl90IG9wMixzaXplX3QgdmwpDQorew0KKyAgICByZXR1cm4g X19yaXNjdl92d3N1YnVfd3ZfdTMybTFfdHVtKG1hc2ssbWVyZ2Usb3AxLG9w Mix2bCk7DQorfQ0KKw0KKw0KK3Z1aW50MzJtMl90IHRlc3RfX19yaXNjdl92 d3N1YnVfd3ZfdTMybTJfdHVtKHZib29sMTZfdCBtYXNrLHZ1aW50MzJtMl90 IG1lcmdlLHZ1aW50MzJtMl90IG9wMSx2dWludDE2bTFfdCBvcDIsc2l6ZV90 IHZsKQ0KK3sNCisgICAgcmV0dXJuIF9fcmlzY3ZfdndzdWJ1X3d2X3UzMm0y X3R1bShtYXNrLG1lcmdlLG9wMSxvcDIsdmwpOw0KK30NCisNCisNCit2dWlu dDMybTRfdCB0ZXN0X19fcmlzY3ZfdndzdWJ1X3d2X3UzMm00X3R1bSh2Ym9v bDhfdCBtYXNrLHZ1aW50MzJtNF90IG1lcmdlLHZ1aW50MzJtNF90IG9wMSx2 dWludDE2bTJfdCBvcDIsc2l6ZV90IHZsKQ0KK3sNCisgICAgcmV0dXJuIF9f cmlzY3ZfdndzdWJ1X3d2X3UzMm00X3R1bShtYXNrLG1lcmdlLG9wMSxvcDIs dmwpOw0KK30NCisNCisNCit2dWludDMybThfdCB0ZXN0X19fcmlzY3Zfdndz dWJ1X3d2X3UzMm04X3R1bSh2Ym9vbDRfdCBtYXNrLHZ1aW50MzJtOF90IG1l cmdlLHZ1aW50MzJtOF90IG9wMSx2dWludDE2bTRfdCBvcDIsc2l6ZV90IHZs KQ0KK3sNCisgICAgcmV0dXJuIF9fcmlzY3ZfdndzdWJ1X3d2X3UzMm04X3R1 bShtYXNrLG1lcmdlLG9wMSxvcDIsdmwpOw0KK30NCisNCisNCit2dWludDY0 bTFfdCB0ZXN0X19fcmlzY3ZfdndzdWJ1X3d2X3U2NG0xX3R1bSh2Ym9vbDY0 X3QgbWFzayx2dWludDY0bTFfdCBtZXJnZSx2dWludDY0bTFfdCBvcDEsdnVp bnQzMm1mMl90IG9wMixzaXplX3QgdmwpDQorew0KKyAgICByZXR1cm4gX19y aXNjdl92d3N1YnVfd3ZfdTY0bTFfdHVtKG1hc2ssbWVyZ2Usb3AxLG9wMix2 bCk7DQorfQ0KKw0KKw0KK3Z1aW50NjRtMl90IHRlc3RfX19yaXNjdl92d3N1 YnVfd3ZfdTY0bTJfdHVtKHZib29sMzJfdCBtYXNrLHZ1aW50NjRtMl90IG1l cmdlLHZ1aW50NjRtMl90IG9wMSx2dWludDMybTFfdCBvcDIsc2l6ZV90IHZs KQ0KK3sNCisgICAgcmV0dXJuIF9fcmlzY3ZfdndzdWJ1X3d2X3U2NG0yX3R1 bShtYXNrLG1lcmdlLG9wMSxvcDIsdmwpOw0KK30NCisNCisNCit2dWludDY0 bTRfdCB0ZXN0X19fcmlzY3ZfdndzdWJ1X3d2X3U2NG00X3R1bSh2Ym9vbDE2 X3QgbWFzayx2dWludDY0bTRfdCBtZXJnZSx2dWludDY0bTRfdCBvcDEsdnVp bnQzMm0yX3Qgb3AyLHNpemVfdCB2bCkNCit7DQorICAgIHJldHVybiBfX3Jp c2N2X3Z3c3VidV93dl91NjRtNF90dW0obWFzayxtZXJnZSxvcDEsb3AyLHZs KTsNCit9DQorDQorDQordnVpbnQ2NG04X3QgdGVzdF9fX3Jpc2N2X3Z3c3Vi dV93dl91NjRtOF90dW0odmJvb2w4X3QgbWFzayx2dWludDY0bThfdCBtZXJn ZSx2dWludDY0bThfdCBvcDEsdnVpbnQzMm00X3Qgb3AyLHNpemVfdCB2bCkN Cit7DQorICAgIHJldHVybiBfX3Jpc2N2X3Z3c3VidV93dl91NjRtOF90dW0o bWFzayxtZXJnZSxvcDEsb3AyLHZsKTsNCit9DQorDQorDQorDQorLyogeyBk Zy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2c2V0dmxpXHMremVy byxccypbYS14MC05XSssXHMqZTgsXHMqbWY4LFxzKnR1LFxzKm1bYXVdXHMr dndzdWJ1XC53dlxzK3ZbMC05XSssXHMqdlswLTldKyxccyp2WzAtOV0rLFxz KnYwLnR9IDEgfSB9ICovDQorLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1i bGVyLXRpbWVzIHt2c2V0dmxpXHMremVybyxccypbYS14MC05XSssXHMqZTgs XHMqbWY0LFxzKnR1LFxzKm1bYXVdXHMrdndzdWJ1XC53dlxzK3ZbMC05XSss XHMqdlswLTldKyxccyp2WzAtOV0rLFxzKnYwLnR9IDEgfSB9ICovDQorLyog eyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2c2V0dmxpXHMr emVybyxccypbYS14MC05XSssXHMqZTgsXHMqbWYyLFxzKnR1LFxzKm1bYXVd XHMrdndzdWJ1XC53dlxzK3ZbMC05XSssXHMqdlswLTldKyxccyp2WzAtOV0r LFxzKnYwLnR9IDEgfSB9ICovDQorLyogeyBkZy1maW5hbCB7IHNjYW4tYXNz ZW1ibGVyLXRpbWVzIHt2c2V0dmxpXHMremVybyxccypbYS14MC05XSssXHMq ZTgsXHMqbTEsXHMqdHUsXHMqbVthdV1ccyt2d3N1YnVcLnd2XHMrdlswLTld Kyxccyp2WzAtOV0rLFxzKnZbMC05XSssXHMqdjAudH0gMSB9IH0gKi8NCisv KiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3ZzZXR2bGlc cyt6ZXJvLFxzKlthLXgwLTldKyxccyplOCxccyptMixccyp0dSxccyptW2F1 XVxzK3Z3c3VidVwud3Zccyt2WzAtOV0rLFxzKnZbMC05XSssXHMqdlswLTld Kyxccyp2MC50fSAxIH0gfSAqLw0KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFz c2VtYmxlci10aW1lcyB7dnNldHZsaVxzK3plcm8sXHMqW2EteDAtOV0rLFxz KmU4LFxzKm00LFxzKnR1LFxzKm1bYXVdXHMrdndzdWJ1XC53dlxzK3ZbMC05 XSssXHMqdlswLTldKyxccyp2WzAtOV0rLFxzKnYwLnR9IDEgfSB9ICovDQor LyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2c2V0dmxp XHMremVybyxccypbYS14MC05XSssXHMqZTE2LFxzKm1mNCxccyp0dSxccypt W2F1XVxzK3Z3c3VidVwud3Zccyt2WzAtOV0rLFxzKnZbMC05XSssXHMqdlsw LTldKyxccyp2MC50fSAxIH0gfSAqLw0KKy8qIHsgZGctZmluYWwgeyBzY2Fu LWFzc2VtYmxlci10aW1lcyB7dnNldHZsaVxzK3plcm8sXHMqW2EteDAtOV0r LFxzKmUxNixccyptZjIsXHMqdHUsXHMqbVthdV1ccyt2d3N1YnVcLnd2XHMr dlswLTldKyxccyp2WzAtOV0rLFxzKnZbMC05XSssXHMqdjAudH0gMSB9IH0g Ki8NCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3Zz ZXR2bGlccyt6ZXJvLFxzKlthLXgwLTldKyxccyplMTYsXHMqbTEsXHMqdHUs XHMqbVthdV1ccyt2d3N1YnVcLnd2XHMrdlswLTldKyxccyp2WzAtOV0rLFxz KnZbMC05XSssXHMqdjAudH0gMSB9IH0gKi8NCisvKiB7IGRnLWZpbmFsIHsg c2Nhbi1hc3NlbWJsZXItdGltZXMge3ZzZXR2bGlccyt6ZXJvLFxzKlthLXgw LTldKyxccyplMTYsXHMqbTIsXHMqdHUsXHMqbVthdV1ccyt2d3N1YnVcLnd2 XHMrdlswLTldKyxccyp2WzAtOV0rLFxzKnZbMC05XSssXHMqdjAudH0gMSB9 IH0gKi8NCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMg e3ZzZXR2bGlccyt6ZXJvLFxzKlthLXgwLTldKyxccyplMTYsXHMqbTQsXHMq dHUsXHMqbVthdV1ccyt2d3N1YnVcLnd2XHMrdlswLTldKyxccyp2WzAtOV0r LFxzKnZbMC05XSssXHMqdjAudH0gMSB9IH0gKi8NCisvKiB7IGRnLWZpbmFs IHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3ZzZXR2bGlccyt6ZXJvLFxzKlth LXgwLTldKyxccyplMzIsXHMqbWYyLFxzKnR1LFxzKm1bYXVdXHMrdndzdWJ1 XC53dlxzK3ZbMC05XSssXHMqdlswLTldKyxccyp2WzAtOV0rLFxzKnYwLnR9 IDEgfSB9ICovDQorLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRp bWVzIHt2c2V0dmxpXHMremVybyxccypbYS14MC05XSssXHMqZTMyLFxzKm0x LFxzKnR1LFxzKm1bYXVdXHMrdndzdWJ1XC53dlxzK3ZbMC05XSssXHMqdlsw LTldKyxccyp2WzAtOV0rLFxzKnYwLnR9IDEgfSB9ICovDQorLyogeyBkZy1m aW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2c2V0dmxpXHMremVybyxc cypbYS14MC05XSssXHMqZTMyLFxzKm0yLFxzKnR1LFxzKm1bYXVdXHMrdndz dWJ1XC53dlxzK3ZbMC05XSssXHMqdlswLTldKyxccyp2WzAtOV0rLFxzKnYw LnR9IDEgfSB9ICovDQorLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVy LXRpbWVzIHt2c2V0dmxpXHMremVybyxccypbYS14MC05XSssXHMqZTMyLFxz Km00LFxzKnR1LFxzKm1bYXVdXHMrdndzdWJ1XC53dlxzK3ZbMC05XSssXHMq dlswLTldKyxccyp2WzAtOV0rLFxzKnYwLnR9IDEgfSB9ICovDQpkaWZmIC0t Z2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2di9iYXNl L3Z3c3VidV93dl90dW0tMi5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0 L3Jpc2N2L3J2di9iYXNlL3Z3c3VidV93dl90dW0tMi5jDQpuZXcgZmlsZSBt b2RlIDEwMDY0NA0KaW5kZXggMDAwMDAwMDAwMDAuLjJmMzlmZGEwZTMxDQot LS0gL2Rldi9udWxsDQorKysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQv cmlzY3YvcnZ2L2Jhc2UvdndzdWJ1X3d2X3R1bS0yLmMNCkBAIC0wLDAgKzEs MTExIEBADQorLyogeyBkZy1kbyBjb21waWxlIH0gKi8NCisvKiB7IGRnLW9w dGlvbnMgIi1tYXJjaD1ydjY0Z2N2IC1tYWJpPWxwNjRkIC1PMyAtZm5vLXNj aGVkdWxlLWluc25zIC1mbm8tc2NoZWR1bGUtaW5zbnMyIiB9ICovDQorDQor I2luY2x1ZGUgInJpc2N2X3ZlY3Rvci5oIg0KKw0KK3Z1aW50MTZtZjRfdCB0 ZXN0X19fcmlzY3ZfdndzdWJ1X3d2X3UxNm1mNF90dW0odmJvb2w2NF90IG1h c2ssdnVpbnQxNm1mNF90IG1lcmdlLHZ1aW50MTZtZjRfdCBvcDEsdnVpbnQ4 bWY4X3Qgb3AyLHNpemVfdCB2bCkNCit7DQorICAgIHJldHVybiBfX3Jpc2N2 X3Z3c3VidV93dl91MTZtZjRfdHVtKG1hc2ssbWVyZ2Usb3AxLG9wMiwzMSk7 DQorfQ0KKw0KKw0KK3Z1aW50MTZtZjJfdCB0ZXN0X19fcmlzY3ZfdndzdWJ1 X3d2X3UxNm1mMl90dW0odmJvb2wzMl90IG1hc2ssdnVpbnQxNm1mMl90IG1l cmdlLHZ1aW50MTZtZjJfdCBvcDEsdnVpbnQ4bWY0X3Qgb3AyLHNpemVfdCB2 bCkNCit7DQorICAgIHJldHVybiBfX3Jpc2N2X3Z3c3VidV93dl91MTZtZjJf dHVtKG1hc2ssbWVyZ2Usb3AxLG9wMiwzMSk7DQorfQ0KKw0KKw0KK3Z1aW50 MTZtMV90IHRlc3RfX19yaXNjdl92d3N1YnVfd3ZfdTE2bTFfdHVtKHZib29s MTZfdCBtYXNrLHZ1aW50MTZtMV90IG1lcmdlLHZ1aW50MTZtMV90IG9wMSx2 dWludDhtZjJfdCBvcDIsc2l6ZV90IHZsKQ0KK3sNCisgICAgcmV0dXJuIF9f cmlzY3ZfdndzdWJ1X3d2X3UxNm0xX3R1bShtYXNrLG1lcmdlLG9wMSxvcDIs MzEpOw0KK30NCisNCisNCit2dWludDE2bTJfdCB0ZXN0X19fcmlzY3Zfdndz dWJ1X3d2X3UxNm0yX3R1bSh2Ym9vbDhfdCBtYXNrLHZ1aW50MTZtMl90IG1l cmdlLHZ1aW50MTZtMl90IG9wMSx2dWludDhtMV90IG9wMixzaXplX3Qgdmwp DQorew0KKyAgICByZXR1cm4gX19yaXNjdl92d3N1YnVfd3ZfdTE2bTJfdHVt KG1hc2ssbWVyZ2Usb3AxLG9wMiwzMSk7DQorfQ0KKw0KKw0KK3Z1aW50MTZt NF90IHRlc3RfX19yaXNjdl92d3N1YnVfd3ZfdTE2bTRfdHVtKHZib29sNF90 IG1hc2ssdnVpbnQxNm00X3QgbWVyZ2UsdnVpbnQxNm00X3Qgb3AxLHZ1aW50 OG0yX3Qgb3AyLHNpemVfdCB2bCkNCit7DQorICAgIHJldHVybiBfX3Jpc2N2 X3Z3c3VidV93dl91MTZtNF90dW0obWFzayxtZXJnZSxvcDEsb3AyLDMxKTsN Cit9DQorDQorDQordnVpbnQxNm04X3QgdGVzdF9fX3Jpc2N2X3Z3c3VidV93 dl91MTZtOF90dW0odmJvb2wyX3QgbWFzayx2dWludDE2bThfdCBtZXJnZSx2 dWludDE2bThfdCBvcDEsdnVpbnQ4bTRfdCBvcDIsc2l6ZV90IHZsKQ0KK3sN CisgICAgcmV0dXJuIF9fcmlzY3ZfdndzdWJ1X3d2X3UxNm04X3R1bShtYXNr LG1lcmdlLG9wMSxvcDIsMzEpOw0KK30NCisNCisNCit2dWludDMybWYyX3Qg dGVzdF9fX3Jpc2N2X3Z3c3VidV93dl91MzJtZjJfdHVtKHZib29sNjRfdCBt YXNrLHZ1aW50MzJtZjJfdCBtZXJnZSx2dWludDMybWYyX3Qgb3AxLHZ1aW50 MTZtZjRfdCBvcDIsc2l6ZV90IHZsKQ0KK3sNCisgICAgcmV0dXJuIF9fcmlz Y3ZfdndzdWJ1X3d2X3UzMm1mMl90dW0obWFzayxtZXJnZSxvcDEsb3AyLDMx KTsNCit9DQorDQorDQordnVpbnQzMm0xX3QgdGVzdF9fX3Jpc2N2X3Z3c3Vi dV93dl91MzJtMV90dW0odmJvb2wzMl90IG1hc2ssdnVpbnQzMm0xX3QgbWVy Z2UsdnVpbnQzMm0xX3Qgb3AxLHZ1aW50MTZtZjJfdCBvcDIsc2l6ZV90IHZs KQ0KK3sNCisgICAgcmV0dXJuIF9fcmlzY3ZfdndzdWJ1X3d2X3UzMm0xX3R1 bShtYXNrLG1lcmdlLG9wMSxvcDIsMzEpOw0KK30NCisNCisNCit2dWludDMy bTJfdCB0ZXN0X19fcmlzY3ZfdndzdWJ1X3d2X3UzMm0yX3R1bSh2Ym9vbDE2 X3QgbWFzayx2dWludDMybTJfdCBtZXJnZSx2dWludDMybTJfdCBvcDEsdnVp bnQxNm0xX3Qgb3AyLHNpemVfdCB2bCkNCit7DQorICAgIHJldHVybiBfX3Jp c2N2X3Z3c3VidV93dl91MzJtMl90dW0obWFzayxtZXJnZSxvcDEsb3AyLDMx KTsNCit9DQorDQorDQordnVpbnQzMm00X3QgdGVzdF9fX3Jpc2N2X3Z3c3Vi dV93dl91MzJtNF90dW0odmJvb2w4X3QgbWFzayx2dWludDMybTRfdCBtZXJn ZSx2dWludDMybTRfdCBvcDEsdnVpbnQxNm0yX3Qgb3AyLHNpemVfdCB2bCkN Cit7DQorICAgIHJldHVybiBfX3Jpc2N2X3Z3c3VidV93dl91MzJtNF90dW0o bWFzayxtZXJnZSxvcDEsb3AyLDMxKTsNCit9DQorDQorDQordnVpbnQzMm04 X3QgdGVzdF9fX3Jpc2N2X3Z3c3VidV93dl91MzJtOF90dW0odmJvb2w0X3Qg bWFzayx2dWludDMybThfdCBtZXJnZSx2dWludDMybThfdCBvcDEsdnVpbnQx Nm00X3Qgb3AyLHNpemVfdCB2bCkNCit7DQorICAgIHJldHVybiBfX3Jpc2N2 X3Z3c3VidV93dl91MzJtOF90dW0obWFzayxtZXJnZSxvcDEsb3AyLDMxKTsN Cit9DQorDQorDQordnVpbnQ2NG0xX3QgdGVzdF9fX3Jpc2N2X3Z3c3VidV93 dl91NjRtMV90dW0odmJvb2w2NF90IG1hc2ssdnVpbnQ2NG0xX3QgbWVyZ2Us dnVpbnQ2NG0xX3Qgb3AxLHZ1aW50MzJtZjJfdCBvcDIsc2l6ZV90IHZsKQ0K K3sNCisgICAgcmV0dXJuIF9fcmlzY3ZfdndzdWJ1X3d2X3U2NG0xX3R1bSht YXNrLG1lcmdlLG9wMSxvcDIsMzEpOw0KK30NCisNCisNCit2dWludDY0bTJf dCB0ZXN0X19fcmlzY3ZfdndzdWJ1X3d2X3U2NG0yX3R1bSh2Ym9vbDMyX3Qg bWFzayx2dWludDY0bTJfdCBtZXJnZSx2dWludDY0bTJfdCBvcDEsdnVpbnQz Mm0xX3Qgb3AyLHNpemVfdCB2bCkNCit7DQorICAgIHJldHVybiBfX3Jpc2N2 X3Z3c3VidV93dl91NjRtMl90dW0obWFzayxtZXJnZSxvcDEsb3AyLDMxKTsN Cit9DQorDQorDQordnVpbnQ2NG00X3QgdGVzdF9fX3Jpc2N2X3Z3c3VidV93 dl91NjRtNF90dW0odmJvb2wxNl90IG1hc2ssdnVpbnQ2NG00X3QgbWVyZ2Us dnVpbnQ2NG00X3Qgb3AxLHZ1aW50MzJtMl90IG9wMixzaXplX3QgdmwpDQor ew0KKyAgICByZXR1cm4gX19yaXNjdl92d3N1YnVfd3ZfdTY0bTRfdHVtKG1h c2ssbWVyZ2Usb3AxLG9wMiwzMSk7DQorfQ0KKw0KKw0KK3Z1aW50NjRtOF90 IHRlc3RfX19yaXNjdl92d3N1YnVfd3ZfdTY0bThfdHVtKHZib29sOF90IG1h c2ssdnVpbnQ2NG04X3QgbWVyZ2UsdnVpbnQ2NG04X3Qgb3AxLHZ1aW50MzJt NF90IG9wMixzaXplX3QgdmwpDQorew0KKyAgICByZXR1cm4gX19yaXNjdl92 d3N1YnVfd3ZfdTY0bThfdHVtKG1hc2ssbWVyZ2Usb3AxLG9wMiwzMSk7DQor fQ0KKw0KKw0KKw0KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10 aW1lcyB7dnNldGl2bGlccyt6ZXJvLFxzKjMxLFxzKmU4LFxzKm1mOCxccyp0 dSxccyptW2F1XVxzK3Z3c3VidVwud3Zccyt2WzAtOV0rLFxzKnZbMC05XSss XHMqdlswLTldKyxccyp2MC50fSAxIH0gfSAqLw0KKy8qIHsgZGctZmluYWwg eyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNldGl2bGlccyt6ZXJvLFxzKjMx LFxzKmU4LFxzKm1mNCxccyp0dSxccyptW2F1XVxzK3Z3c3VidVwud3Zccyt2 WzAtOV0rLFxzKnZbMC05XSssXHMqdlswLTldKyxccyp2MC50fSAxIH0gfSAq Lw0KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNl dGl2bGlccyt6ZXJvLFxzKjMxLFxzKmU4LFxzKm1mMixccyp0dSxccyptW2F1 XVxzK3Z3c3VidVwud3Zccyt2WzAtOV0rLFxzKnZbMC05XSssXHMqdlswLTld Kyxccyp2MC50fSAxIH0gfSAqLw0KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFz c2VtYmxlci10aW1lcyB7dnNldGl2bGlccyt6ZXJvLFxzKjMxLFxzKmU4LFxz Km0xLFxzKnR1LFxzKm1bYXVdXHMrdndzdWJ1XC53dlxzK3ZbMC05XSssXHMq dlswLTldKyxccyp2WzAtOV0rLFxzKnYwLnR9IDEgfSB9ICovDQorLyogeyBk Zy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2c2V0aXZsaVxzK3pl cm8sXHMqMzEsXHMqZTgsXHMqbTIsXHMqdHUsXHMqbVthdV1ccyt2d3N1YnVc Lnd2XHMrdlswLTldKyxccyp2WzAtOV0rLFxzKnZbMC05XSssXHMqdjAudH0g MSB9IH0gKi8NCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGlt ZXMge3ZzZXRpdmxpXHMremVybyxccyozMSxccyplOCxccyptNCxccyp0dSxc cyptW2F1XVxzK3Z3c3VidVwud3Zccyt2WzAtOV0rLFxzKnZbMC05XSssXHMq dlswLTldKyxccyp2MC50fSAxIH0gfSAqLw0KKy8qIHsgZGctZmluYWwgeyBz Y2FuLWFzc2VtYmxlci10aW1lcyB7dnNldGl2bGlccyt6ZXJvLFxzKjMxLFxz KmUxNixccyptZjQsXHMqdHUsXHMqbVthdV1ccyt2d3N1YnVcLnd2XHMrdlsw LTldKyxccyp2WzAtOV0rLFxzKnZbMC05XSssXHMqdjAudH0gMSB9IH0gKi8N CisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3ZzZXRp dmxpXHMremVybyxccyozMSxccyplMTYsXHMqbWYyLFxzKnR1LFxzKm1bYXVd XHMrdndzdWJ1XC53dlxzK3ZbMC05XSssXHMqdlswLTldKyxccyp2WzAtOV0r LFxzKnYwLnR9IDEgfSB9ICovDQorLyogeyBkZy1maW5hbCB7IHNjYW4tYXNz ZW1ibGVyLXRpbWVzIHt2c2V0aXZsaVxzK3plcm8sXHMqMzEsXHMqZTE2LFxz Km0xLFxzKnR1LFxzKm1bYXVdXHMrdndzdWJ1XC53dlxzK3ZbMC05XSssXHMq dlswLTldKyxccyp2WzAtOV0rLFxzKnYwLnR9IDEgfSB9ICovDQorLyogeyBk Zy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2c2V0aXZsaVxzK3pl cm8sXHMqMzEsXHMqZTE2LFxzKm0yLFxzKnR1LFxzKm1bYXVdXHMrdndzdWJ1 XC53dlxzK3ZbMC05XSssXHMqdlswLTldKyxccyp2WzAtOV0rLFxzKnYwLnR9 IDEgfSB9ICovDQorLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRp bWVzIHt2c2V0aXZsaVxzK3plcm8sXHMqMzEsXHMqZTE2LFxzKm00LFxzKnR1 LFxzKm1bYXVdXHMrdndzdWJ1XC53dlxzK3ZbMC05XSssXHMqdlswLTldKyxc cyp2WzAtOV0rLFxzKnYwLnR9IDEgfSB9ICovDQorLyogeyBkZy1maW5hbCB7 IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2c2V0aXZsaVxzK3plcm8sXHMqMzEs XHMqZTMyLFxzKm1mMixccyp0dSxccyptW2F1XVxzK3Z3c3VidVwud3Zccyt2 WzAtOV0rLFxzKnZbMC05XSssXHMqdlswLTldKyxccyp2MC50fSAxIH0gfSAq Lw0KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNl dGl2bGlccyt6ZXJvLFxzKjMxLFxzKmUzMixccyptMSxccyp0dSxccyptW2F1 XVxzK3Z3c3VidVwud3Zccyt2WzAtOV0rLFxzKnZbMC05XSssXHMqdlswLTld Kyxccyp2MC50fSAxIH0gfSAqLw0KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFz c2VtYmxlci10aW1lcyB7dnNldGl2bGlccyt6ZXJvLFxzKjMxLFxzKmUzMixc cyptMixccyp0dSxccyptW2F1XVxzK3Z3c3VidVwud3Zccyt2WzAtOV0rLFxz KnZbMC05XSssXHMqdlswLTldKyxccyp2MC50fSAxIH0gfSAqLw0KKy8qIHsg ZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNldGl2bGlccyt6 ZXJvLFxzKjMxLFxzKmUzMixccyptNCxccyp0dSxccyptW2F1XVxzK3Z3c3Vi dVwud3Zccyt2WzAtOV0rLFxzKnZbMC05XSssXHMqdlswLTldKyxccyp2MC50 fSAxIH0gfSAqLw0KZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRh cmdldC9yaXNjdi9ydnYvYmFzZS92d3N1YnVfd3ZfdHVtLTMuYyBiL2djYy90 ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9ydnYvYmFzZS92d3N1YnVfd3Zf dHVtLTMuYw0KbmV3IGZpbGUgbW9kZSAxMDA2NDQNCmluZGV4IDAwMDAwMDAw MDAwLi41Y2RlYzg2OWRkNA0KLS0tIC9kZXYvbnVsbA0KKysrIGIvZ2NjL3Rl c3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2di9iYXNlL3Z3c3VidV93dl90 dW0tMy5jDQpAQCAtMCwwICsxLDExMSBAQA0KKy8qIHsgZGctZG8gY29tcGls ZSB9ICovDQorLyogeyBkZy1vcHRpb25zICItbWFyY2g9cnY2NGdjdiAtbWFi aT1scDY0ZCAtTzMgLWZuby1zY2hlZHVsZS1pbnNucyAtZm5vLXNjaGVkdWxl LWluc25zMiIgfSAqLw0KKw0KKyNpbmNsdWRlICJyaXNjdl92ZWN0b3IuaCIN CisNCit2dWludDE2bWY0X3QgdGVzdF9fX3Jpc2N2X3Z3c3VidV93dl91MTZt ZjRfdHVtKHZib29sNjRfdCBtYXNrLHZ1aW50MTZtZjRfdCBtZXJnZSx2dWlu dDE2bWY0X3Qgb3AxLHZ1aW50OG1mOF90IG9wMixzaXplX3QgdmwpDQorew0K KyAgICByZXR1cm4gX19yaXNjdl92d3N1YnVfd3ZfdTE2bWY0X3R1bShtYXNr LG1lcmdlLG9wMSxvcDIsMzIpOw0KK30NCisNCisNCit2dWludDE2bWYyX3Qg dGVzdF9fX3Jpc2N2X3Z3c3VidV93dl91MTZtZjJfdHVtKHZib29sMzJfdCBt YXNrLHZ1aW50MTZtZjJfdCBtZXJnZSx2dWludDE2bWYyX3Qgb3AxLHZ1aW50 OG1mNF90IG9wMixzaXplX3QgdmwpDQorew0KKyAgICByZXR1cm4gX19yaXNj dl92d3N1YnVfd3ZfdTE2bWYyX3R1bShtYXNrLG1lcmdlLG9wMSxvcDIsMzIp Ow0KK30NCisNCisNCit2dWludDE2bTFfdCB0ZXN0X19fcmlzY3ZfdndzdWJ1 X3d2X3UxNm0xX3R1bSh2Ym9vbDE2X3QgbWFzayx2dWludDE2bTFfdCBtZXJn ZSx2dWludDE2bTFfdCBvcDEsdnVpbnQ4bWYyX3Qgb3AyLHNpemVfdCB2bCkN Cit7DQorICAgIHJldHVybiBfX3Jpc2N2X3Z3c3VidV93dl91MTZtMV90dW0o bWFzayxtZXJnZSxvcDEsb3AyLDMyKTsNCit9DQorDQorDQordnVpbnQxNm0y X3QgdGVzdF9fX3Jpc2N2X3Z3c3VidV93dl91MTZtMl90dW0odmJvb2w4X3Qg bWFzayx2dWludDE2bTJfdCBtZXJnZSx2dWludDE2bTJfdCBvcDEsdnVpbnQ4 bTFfdCBvcDIsc2l6ZV90IHZsKQ0KK3sNCisgICAgcmV0dXJuIF9fcmlzY3Zf dndzdWJ1X3d2X3UxNm0yX3R1bShtYXNrLG1lcmdlLG9wMSxvcDIsMzIpOw0K K30NCisNCisNCit2dWludDE2bTRfdCB0ZXN0X19fcmlzY3ZfdndzdWJ1X3d2 X3UxNm00X3R1bSh2Ym9vbDRfdCBtYXNrLHZ1aW50MTZtNF90IG1lcmdlLHZ1 aW50MTZtNF90IG9wMSx2dWludDhtMl90IG9wMixzaXplX3QgdmwpDQorew0K KyAgICByZXR1cm4gX19yaXNjdl92d3N1YnVfd3ZfdTE2bTRfdHVtKG1hc2ss bWVyZ2Usb3AxLG9wMiwzMik7DQorfQ0KKw0KKw0KK3Z1aW50MTZtOF90IHRl c3RfX19yaXNjdl92d3N1YnVfd3ZfdTE2bThfdHVtKHZib29sMl90IG1hc2ss dnVpbnQxNm04X3QgbWVyZ2UsdnVpbnQxNm04X3Qgb3AxLHZ1aW50OG00X3Qg b3AyLHNpemVfdCB2bCkNCit7DQorICAgIHJldHVybiBfX3Jpc2N2X3Z3c3Vi dV93dl91MTZtOF90dW0obWFzayxtZXJnZSxvcDEsb3AyLDMyKTsNCit9DQor DQorDQordnVpbnQzMm1mMl90IHRlc3RfX19yaXNjdl92d3N1YnVfd3ZfdTMy bWYyX3R1bSh2Ym9vbDY0X3QgbWFzayx2dWludDMybWYyX3QgbWVyZ2UsdnVp bnQzMm1mMl90IG9wMSx2dWludDE2bWY0X3Qgb3AyLHNpemVfdCB2bCkNCit7 DQorICAgIHJldHVybiBfX3Jpc2N2X3Z3c3VidV93dl91MzJtZjJfdHVtKG1h c2ssbWVyZ2Usb3AxLG9wMiwzMik7DQorfQ0KKw0KKw0KK3Z1aW50MzJtMV90 IHRlc3RfX19yaXNjdl92d3N1YnVfd3ZfdTMybTFfdHVtKHZib29sMzJfdCBt YXNrLHZ1aW50MzJtMV90IG1lcmdlLHZ1aW50MzJtMV90IG9wMSx2dWludDE2 bWYyX3Qgb3AyLHNpemVfdCB2bCkNCit7DQorICAgIHJldHVybiBfX3Jpc2N2 X3Z3c3VidV93dl91MzJtMV90dW0obWFzayxtZXJnZSxvcDEsb3AyLDMyKTsN Cit9DQorDQorDQordnVpbnQzMm0yX3QgdGVzdF9fX3Jpc2N2X3Z3c3VidV93 dl91MzJtMl90dW0odmJvb2wxNl90IG1hc2ssdnVpbnQzMm0yX3QgbWVyZ2Us dnVpbnQzMm0yX3Qgb3AxLHZ1aW50MTZtMV90IG9wMixzaXplX3QgdmwpDQor ew0KKyAgICByZXR1cm4gX19yaXNjdl92d3N1YnVfd3ZfdTMybTJfdHVtKG1h c2ssbWVyZ2Usb3AxLG9wMiwzMik7DQorfQ0KKw0KKw0KK3Z1aW50MzJtNF90 IHRlc3RfX19yaXNjdl92d3N1YnVfd3ZfdTMybTRfdHVtKHZib29sOF90IG1h c2ssdnVpbnQzMm00X3QgbWVyZ2UsdnVpbnQzMm00X3Qgb3AxLHZ1aW50MTZt Ml90IG9wMixzaXplX3QgdmwpDQorew0KKyAgICByZXR1cm4gX19yaXNjdl92 d3N1YnVfd3ZfdTMybTRfdHVtKG1hc2ssbWVyZ2Usb3AxLG9wMiwzMik7DQor fQ0KKw0KKw0KK3Z1aW50MzJtOF90IHRlc3RfX19yaXNjdl92d3N1YnVfd3Zf dTMybThfdHVtKHZib29sNF90IG1hc2ssdnVpbnQzMm04X3QgbWVyZ2UsdnVp bnQzMm04X3Qgb3AxLHZ1aW50MTZtNF90IG9wMixzaXplX3QgdmwpDQorew0K KyAgICByZXR1cm4gX19yaXNjdl92d3N1YnVfd3ZfdTMybThfdHVtKG1hc2ss bWVyZ2Usb3AxLG9wMiwzMik7DQorfQ0KKw0KKw0KK3Z1aW50NjRtMV90IHRl c3RfX19yaXNjdl92d3N1YnVfd3ZfdTY0bTFfdHVtKHZib29sNjRfdCBtYXNr LHZ1aW50NjRtMV90IG1lcmdlLHZ1aW50NjRtMV90IG9wMSx2dWludDMybWYy X3Qgb3AyLHNpemVfdCB2bCkNCit7DQorICAgIHJldHVybiBfX3Jpc2N2X3Z3 c3VidV93dl91NjRtMV90dW0obWFzayxtZXJnZSxvcDEsb3AyLDMyKTsNCit9 DQorDQorDQordnVpbnQ2NG0yX3QgdGVzdF9fX3Jpc2N2X3Z3c3VidV93dl91 NjRtMl90dW0odmJvb2wzMl90IG1hc2ssdnVpbnQ2NG0yX3QgbWVyZ2UsdnVp bnQ2NG0yX3Qgb3AxLHZ1aW50MzJtMV90IG9wMixzaXplX3QgdmwpDQorew0K KyAgICByZXR1cm4gX19yaXNjdl92d3N1YnVfd3ZfdTY0bTJfdHVtKG1hc2ss bWVyZ2Usb3AxLG9wMiwzMik7DQorfQ0KKw0KKw0KK3Z1aW50NjRtNF90IHRl c3RfX19yaXNjdl92d3N1YnVfd3ZfdTY0bTRfdHVtKHZib29sMTZfdCBtYXNr LHZ1aW50NjRtNF90IG1lcmdlLHZ1aW50NjRtNF90IG9wMSx2dWludDMybTJf dCBvcDIsc2l6ZV90IHZsKQ0KK3sNCisgICAgcmV0dXJuIF9fcmlzY3Zfdndz dWJ1X3d2X3U2NG00X3R1bShtYXNrLG1lcmdlLG9wMSxvcDIsMzIpOw0KK30N CisNCisNCit2dWludDY0bThfdCB0ZXN0X19fcmlzY3ZfdndzdWJ1X3d2X3U2 NG04X3R1bSh2Ym9vbDhfdCBtYXNrLHZ1aW50NjRtOF90IG1lcmdlLHZ1aW50 NjRtOF90IG9wMSx2dWludDMybTRfdCBvcDIsc2l6ZV90IHZsKQ0KK3sNCisg ICAgcmV0dXJuIF9fcmlzY3ZfdndzdWJ1X3d2X3U2NG04X3R1bShtYXNrLG1l cmdlLG9wMSxvcDIsMzIpOw0KK30NCisNCisNCisNCisvKiB7IGRnLWZpbmFs IHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3ZzZXR2bGlccyt6ZXJvLFxzKlth LXgwLTldKyxccyplOCxccyptZjgsXHMqdHUsXHMqbVthdV1ccyt2d3N1YnVc Lnd2XHMrdlswLTldKyxccyp2WzAtOV0rLFxzKnZbMC05XSssXHMqdjAudH0g MSB9IH0gKi8NCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGlt ZXMge3ZzZXR2bGlccyt6ZXJvLFxzKlthLXgwLTldKyxccyplOCxccyptZjQs XHMqdHUsXHMqbVthdV1ccyt2d3N1YnVcLnd2XHMrdlswLTldKyxccyp2WzAt OV0rLFxzKnZbMC05XSssXHMqdjAudH0gMSB9IH0gKi8NCisvKiB7IGRnLWZp bmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3ZzZXR2bGlccyt6ZXJvLFxz KlthLXgwLTldKyxccyplOCxccyptZjIsXHMqdHUsXHMqbVthdV1ccyt2d3N1 YnVcLnd2XHMrdlswLTldKyxccyp2WzAtOV0rLFxzKnZbMC05XSssXHMqdjAu dH0gMSB9IH0gKi8NCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXIt dGltZXMge3ZzZXR2bGlccyt6ZXJvLFxzKlthLXgwLTldKyxccyplOCxccypt MSxccyp0dSxccyptW2F1XVxzK3Z3c3VidVwud3Zccyt2WzAtOV0rLFxzKnZb MC05XSssXHMqdlswLTldKyxccyp2MC50fSAxIH0gfSAqLw0KKy8qIHsgZGct ZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNldHZsaVxzK3plcm8s XHMqW2EteDAtOV0rLFxzKmU4LFxzKm0yLFxzKnR1LFxzKm1bYXVdXHMrdndz dWJ1XC53dlxzK3ZbMC05XSssXHMqdlswLTldKyxccyp2WzAtOV0rLFxzKnYw LnR9IDEgfSB9ICovDQorLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVy LXRpbWVzIHt2c2V0dmxpXHMremVybyxccypbYS14MC05XSssXHMqZTgsXHMq bTQsXHMqdHUsXHMqbVthdV1ccyt2d3N1YnVcLnd2XHMrdlswLTldKyxccyp2 WzAtOV0rLFxzKnZbMC05XSssXHMqdjAudH0gMSB9IH0gKi8NCisvKiB7IGRn LWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3ZzZXR2bGlccyt6ZXJv LFxzKlthLXgwLTldKyxccyplMTYsXHMqbWY0LFxzKnR1LFxzKm1bYXVdXHMr dndzdWJ1XC53dlxzK3ZbMC05XSssXHMqdlswLTldKyxccyp2WzAtOV0rLFxz KnYwLnR9IDEgfSB9ICovDQorLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1i bGVyLXRpbWVzIHt2c2V0dmxpXHMremVybyxccypbYS14MC05XSssXHMqZTE2 LFxzKm1mMixccyp0dSxccyptW2F1XVxzK3Z3c3VidVwud3Zccyt2WzAtOV0r LFxzKnZbMC05XSssXHMqdlswLTldKyxccyp2MC50fSAxIH0gfSAqLw0KKy8q IHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNldHZsaVxz K3plcm8sXHMqW2EteDAtOV0rLFxzKmUxNixccyptMSxccyp0dSxccyptW2F1 XVxzK3Z3c3VidVwud3Zccyt2WzAtOV0rLFxzKnZbMC05XSssXHMqdlswLTld Kyxccyp2MC50fSAxIH0gfSAqLw0KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFz c2VtYmxlci10aW1lcyB7dnNldHZsaVxzK3plcm8sXHMqW2EteDAtOV0rLFxz KmUxNixccyptMixccyp0dSxccyptW2F1XVxzK3Z3c3VidVwud3Zccyt2WzAt OV0rLFxzKnZbMC05XSssXHMqdlswLTldKyxccyp2MC50fSAxIH0gfSAqLw0K Ky8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNldHZs aVxzK3plcm8sXHMqW2EteDAtOV0rLFxzKmUxNixccyptNCxccyp0dSxccypt W2F1XVxzK3Z3c3VidVwud3Zccyt2WzAtOV0rLFxzKnZbMC05XSssXHMqdlsw LTldKyxccyp2MC50fSAxIH0gfSAqLw0KKy8qIHsgZGctZmluYWwgeyBzY2Fu LWFzc2VtYmxlci10aW1lcyB7dnNldHZsaVxzK3plcm8sXHMqW2EteDAtOV0r LFxzKmUzMixccyptZjIsXHMqdHUsXHMqbVthdV1ccyt2d3N1YnVcLnd2XHMr dlswLTldKyxccyp2WzAtOV0rLFxzKnZbMC05XSssXHMqdjAudH0gMSB9IH0g Ki8NCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3Zz ZXR2bGlccyt6ZXJvLFxzKlthLXgwLTldKyxccyplMzIsXHMqbTEsXHMqdHUs XHMqbVthdV1ccyt2d3N1YnVcLnd2XHMrdlswLTldKyxccyp2WzAtOV0rLFxz KnZbMC05XSssXHMqdjAudH0gMSB9IH0gKi8NCisvKiB7IGRnLWZpbmFsIHsg c2Nhbi1hc3NlbWJsZXItdGltZXMge3ZzZXR2bGlccyt6ZXJvLFxzKlthLXgw LTldKyxccyplMzIsXHMqbTIsXHMqdHUsXHMqbVthdV1ccyt2d3N1YnVcLnd2 XHMrdlswLTldKyxccyp2WzAtOV0rLFxzKnZbMC05XSssXHMqdjAudH0gMSB9 IH0gKi8NCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMg e3ZzZXR2bGlccyt6ZXJvLFxzKlthLXgwLTldKyxccyplMzIsXHMqbTQsXHMq dHUsXHMqbVthdV1ccyt2d3N1YnVcLnd2XHMrdlswLTldKyxccyp2WzAtOV0r LFxzKnZbMC05XSssXHMqdjAudH0gMSB9IH0gKi8NCmRpZmYgLS1naXQgYS9n Y2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcnZ2L2Jhc2UvdndzdWJ1 X3d2X3R1bXUtMS5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2 L3J2di9iYXNlL3Z3c3VidV93dl90dW11LTEuYw0KbmV3IGZpbGUgbW9kZSAx MDA2NDQNCmluZGV4IDAwMDAwMDAwMDAwLi42OTg1MWIwYTQ4YQ0KLS0tIC9k ZXYvbnVsbA0KKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2 L3J2di9iYXNlL3Z3c3VidV93dl90dW11LTEuYw0KQEAgLTAsMCArMSwxMTEg QEANCisvKiB7IGRnLWRvIGNvbXBpbGUgfSAqLw0KKy8qIHsgZGctb3B0aW9u cyAiLW1hcmNoPXJ2NjRnY3YgLW1hYmk9bHA2NGQgLU8zIC1mbm8tc2NoZWR1 bGUtaW5zbnMgLWZuby1zY2hlZHVsZS1pbnNuczIiIH0gKi8NCisNCisjaW5j bHVkZSAicmlzY3ZfdmVjdG9yLmgiDQorDQordnVpbnQxNm1mNF90IHRlc3Rf X19yaXNjdl92d3N1YnVfd3ZfdTE2bWY0X3R1bXUodmJvb2w2NF90IG1hc2ss dnVpbnQxNm1mNF90IG1lcmdlLHZ1aW50MTZtZjRfdCBvcDEsdnVpbnQ4bWY4 X3Qgb3AyLHNpemVfdCB2bCkNCit7DQorICAgIHJldHVybiBfX3Jpc2N2X3Z3 c3VidV93dl91MTZtZjRfdHVtdShtYXNrLG1lcmdlLG9wMSxvcDIsdmwpOw0K K30NCisNCisNCit2dWludDE2bWYyX3QgdGVzdF9fX3Jpc2N2X3Z3c3VidV93 dl91MTZtZjJfdHVtdSh2Ym9vbDMyX3QgbWFzayx2dWludDE2bWYyX3QgbWVy Z2UsdnVpbnQxNm1mMl90IG9wMSx2dWludDhtZjRfdCBvcDIsc2l6ZV90IHZs KQ0KK3sNCisgICAgcmV0dXJuIF9fcmlzY3ZfdndzdWJ1X3d2X3UxNm1mMl90 dW11KG1hc2ssbWVyZ2Usb3AxLG9wMix2bCk7DQorfQ0KKw0KKw0KK3Z1aW50 MTZtMV90IHRlc3RfX19yaXNjdl92d3N1YnVfd3ZfdTE2bTFfdHVtdSh2Ym9v bDE2X3QgbWFzayx2dWludDE2bTFfdCBtZXJnZSx2dWludDE2bTFfdCBvcDEs dnVpbnQ4bWYyX3Qgb3AyLHNpemVfdCB2bCkNCit7DQorICAgIHJldHVybiBf X3Jpc2N2X3Z3c3VidV93dl91MTZtMV90dW11KG1hc2ssbWVyZ2Usb3AxLG9w Mix2bCk7DQorfQ0KKw0KKw0KK3Z1aW50MTZtMl90IHRlc3RfX19yaXNjdl92 d3N1YnVfd3ZfdTE2bTJfdHVtdSh2Ym9vbDhfdCBtYXNrLHZ1aW50MTZtMl90 IG1lcmdlLHZ1aW50MTZtMl90IG9wMSx2dWludDhtMV90IG9wMixzaXplX3Qg dmwpDQorew0KKyAgICByZXR1cm4gX19yaXNjdl92d3N1YnVfd3ZfdTE2bTJf dHVtdShtYXNrLG1lcmdlLG9wMSxvcDIsdmwpOw0KK30NCisNCisNCit2dWlu dDE2bTRfdCB0ZXN0X19fcmlzY3ZfdndzdWJ1X3d2X3UxNm00X3R1bXUodmJv b2w0X3QgbWFzayx2dWludDE2bTRfdCBtZXJnZSx2dWludDE2bTRfdCBvcDEs dnVpbnQ4bTJfdCBvcDIsc2l6ZV90IHZsKQ0KK3sNCisgICAgcmV0dXJuIF9f cmlzY3ZfdndzdWJ1X3d2X3UxNm00X3R1bXUobWFzayxtZXJnZSxvcDEsb3Ay LHZsKTsNCit9DQorDQorDQordnVpbnQxNm04X3QgdGVzdF9fX3Jpc2N2X3Z3 c3VidV93dl91MTZtOF90dW11KHZib29sMl90IG1hc2ssdnVpbnQxNm04X3Qg bWVyZ2UsdnVpbnQxNm04X3Qgb3AxLHZ1aW50OG00X3Qgb3AyLHNpemVfdCB2 bCkNCit7DQorICAgIHJldHVybiBfX3Jpc2N2X3Z3c3VidV93dl91MTZtOF90 dW11KG1hc2ssbWVyZ2Usb3AxLG9wMix2bCk7DQorfQ0KKw0KKw0KK3Z1aW50 MzJtZjJfdCB0ZXN0X19fcmlzY3ZfdndzdWJ1X3d2X3UzMm1mMl90dW11KHZi b29sNjRfdCBtYXNrLHZ1aW50MzJtZjJfdCBtZXJnZSx2dWludDMybWYyX3Qg b3AxLHZ1aW50MTZtZjRfdCBvcDIsc2l6ZV90IHZsKQ0KK3sNCisgICAgcmV0 dXJuIF9fcmlzY3ZfdndzdWJ1X3d2X3UzMm1mMl90dW11KG1hc2ssbWVyZ2Us b3AxLG9wMix2bCk7DQorfQ0KKw0KKw0KK3Z1aW50MzJtMV90IHRlc3RfX19y aXNjdl92d3N1YnVfd3ZfdTMybTFfdHVtdSh2Ym9vbDMyX3QgbWFzayx2dWlu dDMybTFfdCBtZXJnZSx2dWludDMybTFfdCBvcDEsdnVpbnQxNm1mMl90IG9w MixzaXplX3QgdmwpDQorew0KKyAgICByZXR1cm4gX19yaXNjdl92d3N1YnVf d3ZfdTMybTFfdHVtdShtYXNrLG1lcmdlLG9wMSxvcDIsdmwpOw0KK30NCisN CisNCit2dWludDMybTJfdCB0ZXN0X19fcmlzY3ZfdndzdWJ1X3d2X3UzMm0y X3R1bXUodmJvb2wxNl90IG1hc2ssdnVpbnQzMm0yX3QgbWVyZ2UsdnVpbnQz Mm0yX3Qgb3AxLHZ1aW50MTZtMV90IG9wMixzaXplX3QgdmwpDQorew0KKyAg ICByZXR1cm4gX19yaXNjdl92d3N1YnVfd3ZfdTMybTJfdHVtdShtYXNrLG1l cmdlLG9wMSxvcDIsdmwpOw0KK30NCisNCisNCit2dWludDMybTRfdCB0ZXN0 X19fcmlzY3ZfdndzdWJ1X3d2X3UzMm00X3R1bXUodmJvb2w4X3QgbWFzayx2 dWludDMybTRfdCBtZXJnZSx2dWludDMybTRfdCBvcDEsdnVpbnQxNm0yX3Qg b3AyLHNpemVfdCB2bCkNCit7DQorICAgIHJldHVybiBfX3Jpc2N2X3Z3c3Vi dV93dl91MzJtNF90dW11KG1hc2ssbWVyZ2Usb3AxLG9wMix2bCk7DQorfQ0K Kw0KKw0KK3Z1aW50MzJtOF90IHRlc3RfX19yaXNjdl92d3N1YnVfd3ZfdTMy bThfdHVtdSh2Ym9vbDRfdCBtYXNrLHZ1aW50MzJtOF90IG1lcmdlLHZ1aW50 MzJtOF90IG9wMSx2dWludDE2bTRfdCBvcDIsc2l6ZV90IHZsKQ0KK3sNCisg ICAgcmV0dXJuIF9fcmlzY3ZfdndzdWJ1X3d2X3UzMm04X3R1bXUobWFzayxt ZXJnZSxvcDEsb3AyLHZsKTsNCit9DQorDQorDQordnVpbnQ2NG0xX3QgdGVz dF9fX3Jpc2N2X3Z3c3VidV93dl91NjRtMV90dW11KHZib29sNjRfdCBtYXNr LHZ1aW50NjRtMV90IG1lcmdlLHZ1aW50NjRtMV90IG9wMSx2dWludDMybWYy X3Qgb3AyLHNpemVfdCB2bCkNCit7DQorICAgIHJldHVybiBfX3Jpc2N2X3Z3 c3VidV93dl91NjRtMV90dW11KG1hc2ssbWVyZ2Usb3AxLG9wMix2bCk7DQor fQ0KKw0KKw0KK3Z1aW50NjRtMl90IHRlc3RfX19yaXNjdl92d3N1YnVfd3Zf dTY0bTJfdHVtdSh2Ym9vbDMyX3QgbWFzayx2dWludDY0bTJfdCBtZXJnZSx2 dWludDY0bTJfdCBvcDEsdnVpbnQzMm0xX3Qgb3AyLHNpemVfdCB2bCkNCit7 DQorICAgIHJldHVybiBfX3Jpc2N2X3Z3c3VidV93dl91NjRtMl90dW11KG1h c2ssbWVyZ2Usb3AxLG9wMix2bCk7DQorfQ0KKw0KKw0KK3Z1aW50NjRtNF90 IHRlc3RfX19yaXNjdl92d3N1YnVfd3ZfdTY0bTRfdHVtdSh2Ym9vbDE2X3Qg bWFzayx2dWludDY0bTRfdCBtZXJnZSx2dWludDY0bTRfdCBvcDEsdnVpbnQz Mm0yX3Qgb3AyLHNpemVfdCB2bCkNCit7DQorICAgIHJldHVybiBfX3Jpc2N2 X3Z3c3VidV93dl91NjRtNF90dW11KG1hc2ssbWVyZ2Usb3AxLG9wMix2bCk7 DQorfQ0KKw0KKw0KK3Z1aW50NjRtOF90IHRlc3RfX19yaXNjdl92d3N1YnVf d3ZfdTY0bThfdHVtdSh2Ym9vbDhfdCBtYXNrLHZ1aW50NjRtOF90IG1lcmdl LHZ1aW50NjRtOF90IG9wMSx2dWludDMybTRfdCBvcDIsc2l6ZV90IHZsKQ0K K3sNCisgICAgcmV0dXJuIF9fcmlzY3ZfdndzdWJ1X3d2X3U2NG04X3R1bXUo bWFzayxtZXJnZSxvcDEsb3AyLHZsKTsNCit9DQorDQorDQorDQorLyogeyBk Zy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2c2V0dmxpXHMremVy byxccypbYS14MC05XSssXHMqZTgsXHMqbWY4LFxzKnR1LFxzKm11XHMrdndz dWJ1XC53dlxzK3ZbMC05XSssXHMqdlswLTldKyxccyp2WzAtOV0rLFxzKnYw LnR9IDEgfSB9ICovDQorLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVy LXRpbWVzIHt2c2V0dmxpXHMremVybyxccypbYS14MC05XSssXHMqZTgsXHMq bWY0LFxzKnR1LFxzKm11XHMrdndzdWJ1XC53dlxzK3ZbMC05XSssXHMqdlsw LTldKyxccyp2WzAtOV0rLFxzKnYwLnR9IDEgfSB9ICovDQorLyogeyBkZy1m aW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2c2V0dmxpXHMremVybyxc cypbYS14MC05XSssXHMqZTgsXHMqbWYyLFxzKnR1LFxzKm11XHMrdndzdWJ1 XC53dlxzK3ZbMC05XSssXHMqdlswLTldKyxccyp2WzAtOV0rLFxzKnYwLnR9 IDEgfSB9ICovDQorLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRp bWVzIHt2c2V0dmxpXHMremVybyxccypbYS14MC05XSssXHMqZTgsXHMqbTEs XHMqdHUsXHMqbXVccyt2d3N1YnVcLnd2XHMrdlswLTldKyxccyp2WzAtOV0r LFxzKnZbMC05XSssXHMqdjAudH0gMSB9IH0gKi8NCisvKiB7IGRnLWZpbmFs IHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3ZzZXR2bGlccyt6ZXJvLFxzKlth LXgwLTldKyxccyplOCxccyptMixccyp0dSxccyptdVxzK3Z3c3VidVwud3Zc cyt2WzAtOV0rLFxzKnZbMC05XSssXHMqdlswLTldKyxccyp2MC50fSAxIH0g fSAqLw0KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7 dnNldHZsaVxzK3plcm8sXHMqW2EteDAtOV0rLFxzKmU4LFxzKm00LFxzKnR1 LFxzKm11XHMrdndzdWJ1XC53dlxzK3ZbMC05XSssXHMqdlswLTldKyxccyp2 WzAtOV0rLFxzKnYwLnR9IDEgfSB9ICovDQorLyogeyBkZy1maW5hbCB7IHNj YW4tYXNzZW1ibGVyLXRpbWVzIHt2c2V0dmxpXHMremVybyxccypbYS14MC05 XSssXHMqZTE2LFxzKm1mNCxccyp0dSxccyptdVxzK3Z3c3VidVwud3Zccyt2 WzAtOV0rLFxzKnZbMC05XSssXHMqdlswLTldKyxccyp2MC50fSAxIH0gfSAq Lw0KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNl dHZsaVxzK3plcm8sXHMqW2EteDAtOV0rLFxzKmUxNixccyptZjIsXHMqdHUs XHMqbXVccyt2d3N1YnVcLnd2XHMrdlswLTldKyxccyp2WzAtOV0rLFxzKnZb MC05XSssXHMqdjAudH0gMSB9IH0gKi8NCisvKiB7IGRnLWZpbmFsIHsgc2Nh bi1hc3NlbWJsZXItdGltZXMge3ZzZXR2bGlccyt6ZXJvLFxzKlthLXgwLTld KyxccyplMTYsXHMqbTEsXHMqdHUsXHMqbXVccyt2d3N1YnVcLnd2XHMrdlsw LTldKyxccyp2WzAtOV0rLFxzKnZbMC05XSssXHMqdjAudH0gMSB9IH0gKi8N CisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3ZzZXR2 bGlccyt6ZXJvLFxzKlthLXgwLTldKyxccyplMTYsXHMqbTIsXHMqdHUsXHMq bXVccyt2d3N1YnVcLnd2XHMrdlswLTldKyxccyp2WzAtOV0rLFxzKnZbMC05 XSssXHMqdjAudH0gMSB9IH0gKi8NCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1h c3NlbWJsZXItdGltZXMge3ZzZXR2bGlccyt6ZXJvLFxzKlthLXgwLTldKyxc cyplMTYsXHMqbTQsXHMqdHUsXHMqbXVccyt2d3N1YnVcLnd2XHMrdlswLTld Kyxccyp2WzAtOV0rLFxzKnZbMC05XSssXHMqdjAudH0gMSB9IH0gKi8NCisv KiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3ZzZXR2bGlc cyt6ZXJvLFxzKlthLXgwLTldKyxccyplMzIsXHMqbWYyLFxzKnR1LFxzKm11 XHMrdndzdWJ1XC53dlxzK3ZbMC05XSssXHMqdlswLTldKyxccyp2WzAtOV0r LFxzKnYwLnR9IDEgfSB9ICovDQorLyogeyBkZy1maW5hbCB7IHNjYW4tYXNz ZW1ibGVyLXRpbWVzIHt2c2V0dmxpXHMremVybyxccypbYS14MC05XSssXHMq ZTMyLFxzKm0xLFxzKnR1LFxzKm11XHMrdndzdWJ1XC53dlxzK3ZbMC05XSss XHMqdlswLTldKyxccyp2WzAtOV0rLFxzKnYwLnR9IDEgfSB9ICovDQorLyog eyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2c2V0dmxpXHMr emVybyxccypbYS14MC05XSssXHMqZTMyLFxzKm0yLFxzKnR1LFxzKm11XHMr dndzdWJ1XC53dlxzK3ZbMC05XSssXHMqdlswLTldKyxccyp2WzAtOV0rLFxz KnYwLnR9IDEgfSB9ICovDQorLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1i bGVyLXRpbWVzIHt2c2V0dmxpXHMremVybyxccypbYS14MC05XSssXHMqZTMy LFxzKm00LFxzKnR1LFxzKm11XHMrdndzdWJ1XC53dlxzK3ZbMC05XSssXHMq dlswLTldKyxccyp2WzAtOV0rLFxzKnYwLnR9IDEgfSB9ICovDQpkaWZmIC0t Z2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2di9iYXNl L3Z3c3VidV93dl90dW11LTIuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdl dC9yaXNjdi9ydnYvYmFzZS92d3N1YnVfd3ZfdHVtdS0yLmMNCm5ldyBmaWxl IG1vZGUgMTAwNjQ0DQppbmRleCAwMDAwMDAwMDAwMC4uMjg1YTg0YzFhZDcN Ci0tLSAvZGV2L251bGwNCisrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdl dC9yaXNjdi9ydnYvYmFzZS92d3N1YnVfd3ZfdHVtdS0yLmMNCkBAIC0wLDAg KzEsMTExIEBADQorLyogeyBkZy1kbyBjb21waWxlIH0gKi8NCisvKiB7IGRn LW9wdGlvbnMgIi1tYXJjaD1ydjY0Z2N2IC1tYWJpPWxwNjRkIC1PMyAtZm5v LXNjaGVkdWxlLWluc25zIC1mbm8tc2NoZWR1bGUtaW5zbnMyIiB9ICovDQor DQorI2luY2x1ZGUgInJpc2N2X3ZlY3Rvci5oIg0KKw0KK3Z1aW50MTZtZjRf dCB0ZXN0X19fcmlzY3ZfdndzdWJ1X3d2X3UxNm1mNF90dW11KHZib29sNjRf dCBtYXNrLHZ1aW50MTZtZjRfdCBtZXJnZSx2dWludDE2bWY0X3Qgb3AxLHZ1 aW50OG1mOF90IG9wMixzaXplX3QgdmwpDQorew0KKyAgICByZXR1cm4gX19y aXNjdl92d3N1YnVfd3ZfdTE2bWY0X3R1bXUobWFzayxtZXJnZSxvcDEsb3Ay LDMxKTsNCit9DQorDQorDQordnVpbnQxNm1mMl90IHRlc3RfX19yaXNjdl92 d3N1YnVfd3ZfdTE2bWYyX3R1bXUodmJvb2wzMl90IG1hc2ssdnVpbnQxNm1m Ml90IG1lcmdlLHZ1aW50MTZtZjJfdCBvcDEsdnVpbnQ4bWY0X3Qgb3AyLHNp emVfdCB2bCkNCit7DQorICAgIHJldHVybiBfX3Jpc2N2X3Z3c3VidV93dl91 MTZtZjJfdHVtdShtYXNrLG1lcmdlLG9wMSxvcDIsMzEpOw0KK30NCisNCisN Cit2dWludDE2bTFfdCB0ZXN0X19fcmlzY3ZfdndzdWJ1X3d2X3UxNm0xX3R1 bXUodmJvb2wxNl90IG1hc2ssdnVpbnQxNm0xX3QgbWVyZ2UsdnVpbnQxNm0x X3Qgb3AxLHZ1aW50OG1mMl90IG9wMixzaXplX3QgdmwpDQorew0KKyAgICBy ZXR1cm4gX19yaXNjdl92d3N1YnVfd3ZfdTE2bTFfdHVtdShtYXNrLG1lcmdl LG9wMSxvcDIsMzEpOw0KK30NCisNCisNCit2dWludDE2bTJfdCB0ZXN0X19f cmlzY3ZfdndzdWJ1X3d2X3UxNm0yX3R1bXUodmJvb2w4X3QgbWFzayx2dWlu dDE2bTJfdCBtZXJnZSx2dWludDE2bTJfdCBvcDEsdnVpbnQ4bTFfdCBvcDIs c2l6ZV90IHZsKQ0KK3sNCisgICAgcmV0dXJuIF9fcmlzY3ZfdndzdWJ1X3d2 X3UxNm0yX3R1bXUobWFzayxtZXJnZSxvcDEsb3AyLDMxKTsNCit9DQorDQor DQordnVpbnQxNm00X3QgdGVzdF9fX3Jpc2N2X3Z3c3VidV93dl91MTZtNF90 dW11KHZib29sNF90IG1hc2ssdnVpbnQxNm00X3QgbWVyZ2UsdnVpbnQxNm00 X3Qgb3AxLHZ1aW50OG0yX3Qgb3AyLHNpemVfdCB2bCkNCit7DQorICAgIHJl dHVybiBfX3Jpc2N2X3Z3c3VidV93dl91MTZtNF90dW11KG1hc2ssbWVyZ2Us b3AxLG9wMiwzMSk7DQorfQ0KKw0KKw0KK3Z1aW50MTZtOF90IHRlc3RfX19y aXNjdl92d3N1YnVfd3ZfdTE2bThfdHVtdSh2Ym9vbDJfdCBtYXNrLHZ1aW50 MTZtOF90IG1lcmdlLHZ1aW50MTZtOF90IG9wMSx2dWludDhtNF90IG9wMixz aXplX3QgdmwpDQorew0KKyAgICByZXR1cm4gX19yaXNjdl92d3N1YnVfd3Zf dTE2bThfdHVtdShtYXNrLG1lcmdlLG9wMSxvcDIsMzEpOw0KK30NCisNCisN Cit2dWludDMybWYyX3QgdGVzdF9fX3Jpc2N2X3Z3c3VidV93dl91MzJtZjJf dHVtdSh2Ym9vbDY0X3QgbWFzayx2dWludDMybWYyX3QgbWVyZ2UsdnVpbnQz Mm1mMl90IG9wMSx2dWludDE2bWY0X3Qgb3AyLHNpemVfdCB2bCkNCit7DQor ICAgIHJldHVybiBfX3Jpc2N2X3Z3c3VidV93dl91MzJtZjJfdHVtdShtYXNr LG1lcmdlLG9wMSxvcDIsMzEpOw0KK30NCisNCisNCit2dWludDMybTFfdCB0 ZXN0X19fcmlzY3ZfdndzdWJ1X3d2X3UzMm0xX3R1bXUodmJvb2wzMl90IG1h c2ssdnVpbnQzMm0xX3QgbWVyZ2UsdnVpbnQzMm0xX3Qgb3AxLHZ1aW50MTZt ZjJfdCBvcDIsc2l6ZV90IHZsKQ0KK3sNCisgICAgcmV0dXJuIF9fcmlzY3Zf dndzdWJ1X3d2X3UzMm0xX3R1bXUobWFzayxtZXJnZSxvcDEsb3AyLDMxKTsN Cit9DQorDQorDQordnVpbnQzMm0yX3QgdGVzdF9fX3Jpc2N2X3Z3c3VidV93 dl91MzJtMl90dW11KHZib29sMTZfdCBtYXNrLHZ1aW50MzJtMl90IG1lcmdl LHZ1aW50MzJtMl90IG9wMSx2dWludDE2bTFfdCBvcDIsc2l6ZV90IHZsKQ0K K3sNCisgICAgcmV0dXJuIF9fcmlzY3ZfdndzdWJ1X3d2X3UzMm0yX3R1bXUo bWFzayxtZXJnZSxvcDEsb3AyLDMxKTsNCit9DQorDQorDQordnVpbnQzMm00 X3QgdGVzdF9fX3Jpc2N2X3Z3c3VidV93dl91MzJtNF90dW11KHZib29sOF90 IG1hc2ssdnVpbnQzMm00X3QgbWVyZ2UsdnVpbnQzMm00X3Qgb3AxLHZ1aW50 MTZtMl90IG9wMixzaXplX3QgdmwpDQorew0KKyAgICByZXR1cm4gX19yaXNj dl92d3N1YnVfd3ZfdTMybTRfdHVtdShtYXNrLG1lcmdlLG9wMSxvcDIsMzEp Ow0KK30NCisNCisNCit2dWludDMybThfdCB0ZXN0X19fcmlzY3ZfdndzdWJ1 X3d2X3UzMm04X3R1bXUodmJvb2w0X3QgbWFzayx2dWludDMybThfdCBtZXJn ZSx2dWludDMybThfdCBvcDEsdnVpbnQxNm00X3Qgb3AyLHNpemVfdCB2bCkN Cit7DQorICAgIHJldHVybiBfX3Jpc2N2X3Z3c3VidV93dl91MzJtOF90dW11 KG1hc2ssbWVyZ2Usb3AxLG9wMiwzMSk7DQorfQ0KKw0KKw0KK3Z1aW50NjRt MV90IHRlc3RfX19yaXNjdl92d3N1YnVfd3ZfdTY0bTFfdHVtdSh2Ym9vbDY0 X3QgbWFzayx2dWludDY0bTFfdCBtZXJnZSx2dWludDY0bTFfdCBvcDEsdnVp bnQzMm1mMl90IG9wMixzaXplX3QgdmwpDQorew0KKyAgICByZXR1cm4gX19y aXNjdl92d3N1YnVfd3ZfdTY0bTFfdHVtdShtYXNrLG1lcmdlLG9wMSxvcDIs MzEpOw0KK30NCisNCisNCit2dWludDY0bTJfdCB0ZXN0X19fcmlzY3Zfdndz dWJ1X3d2X3U2NG0yX3R1bXUodmJvb2wzMl90IG1hc2ssdnVpbnQ2NG0yX3Qg bWVyZ2UsdnVpbnQ2NG0yX3Qgb3AxLHZ1aW50MzJtMV90IG9wMixzaXplX3Qg dmwpDQorew0KKyAgICByZXR1cm4gX19yaXNjdl92d3N1YnVfd3ZfdTY0bTJf dHVtdShtYXNrLG1lcmdlLG9wMSxvcDIsMzEpOw0KK30NCisNCisNCit2dWlu dDY0bTRfdCB0ZXN0X19fcmlzY3ZfdndzdWJ1X3d2X3U2NG00X3R1bXUodmJv b2wxNl90IG1hc2ssdnVpbnQ2NG00X3QgbWVyZ2UsdnVpbnQ2NG00X3Qgb3Ax LHZ1aW50MzJtMl90IG9wMixzaXplX3QgdmwpDQorew0KKyAgICByZXR1cm4g X19yaXNjdl92d3N1YnVfd3ZfdTY0bTRfdHVtdShtYXNrLG1lcmdlLG9wMSxv cDIsMzEpOw0KK30NCisNCisNCit2dWludDY0bThfdCB0ZXN0X19fcmlzY3Zf dndzdWJ1X3d2X3U2NG04X3R1bXUodmJvb2w4X3QgbWFzayx2dWludDY0bThf dCBtZXJnZSx2dWludDY0bThfdCBvcDEsdnVpbnQzMm00X3Qgb3AyLHNpemVf dCB2bCkNCit7DQorICAgIHJldHVybiBfX3Jpc2N2X3Z3c3VidV93dl91NjRt OF90dW11KG1hc2ssbWVyZ2Usb3AxLG9wMiwzMSk7DQorfQ0KKw0KKw0KKw0K Ky8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNldGl2 bGlccyt6ZXJvLFxzKjMxLFxzKmU4LFxzKm1mOCxccyp0dSxccyptdVxzK3Z3 c3VidVwud3Zccyt2WzAtOV0rLFxzKnZbMC05XSssXHMqdlswLTldKyxccyp2 MC50fSAxIH0gfSAqLw0KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxl ci10aW1lcyB7dnNldGl2bGlccyt6ZXJvLFxzKjMxLFxzKmU4LFxzKm1mNCxc cyp0dSxccyptdVxzK3Z3c3VidVwud3Zccyt2WzAtOV0rLFxzKnZbMC05XSss XHMqdlswLTldKyxccyp2MC50fSAxIH0gfSAqLw0KKy8qIHsgZGctZmluYWwg eyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNldGl2bGlccyt6ZXJvLFxzKjMx LFxzKmU4LFxzKm1mMixccyp0dSxccyptdVxzK3Z3c3VidVwud3Zccyt2WzAt OV0rLFxzKnZbMC05XSssXHMqdlswLTldKyxccyp2MC50fSAxIH0gfSAqLw0K Ky8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNldGl2 bGlccyt6ZXJvLFxzKjMxLFxzKmU4LFxzKm0xLFxzKnR1LFxzKm11XHMrdndz dWJ1XC53dlxzK3ZbMC05XSssXHMqdlswLTldKyxccyp2WzAtOV0rLFxzKnYw LnR9IDEgfSB9ICovDQorLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVy LXRpbWVzIHt2c2V0aXZsaVxzK3plcm8sXHMqMzEsXHMqZTgsXHMqbTIsXHMq dHUsXHMqbXVccyt2d3N1YnVcLnd2XHMrdlswLTldKyxccyp2WzAtOV0rLFxz KnZbMC05XSssXHMqdjAudH0gMSB9IH0gKi8NCisvKiB7IGRnLWZpbmFsIHsg c2Nhbi1hc3NlbWJsZXItdGltZXMge3ZzZXRpdmxpXHMremVybyxccyozMSxc cyplOCxccyptNCxccyp0dSxccyptdVxzK3Z3c3VidVwud3Zccyt2WzAtOV0r LFxzKnZbMC05XSssXHMqdlswLTldKyxccyp2MC50fSAxIH0gfSAqLw0KKy8q IHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNldGl2bGlc cyt6ZXJvLFxzKjMxLFxzKmUxNixccyptZjQsXHMqdHUsXHMqbXVccyt2d3N1 YnVcLnd2XHMrdlswLTldKyxccyp2WzAtOV0rLFxzKnZbMC05XSssXHMqdjAu dH0gMSB9IH0gKi8NCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXIt dGltZXMge3ZzZXRpdmxpXHMremVybyxccyozMSxccyplMTYsXHMqbWYyLFxz KnR1LFxzKm11XHMrdndzdWJ1XC53dlxzK3ZbMC05XSssXHMqdlswLTldKyxc cyp2WzAtOV0rLFxzKnYwLnR9IDEgfSB9ICovDQorLyogeyBkZy1maW5hbCB7 IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2c2V0aXZsaVxzK3plcm8sXHMqMzEs XHMqZTE2LFxzKm0xLFxzKnR1LFxzKm11XHMrdndzdWJ1XC53dlxzK3ZbMC05 XSssXHMqdlswLTldKyxccyp2WzAtOV0rLFxzKnYwLnR9IDEgfSB9ICovDQor LyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2c2V0aXZs aVxzK3plcm8sXHMqMzEsXHMqZTE2LFxzKm0yLFxzKnR1LFxzKm11XHMrdndz dWJ1XC53dlxzK3ZbMC05XSssXHMqdlswLTldKyxccyp2WzAtOV0rLFxzKnYw LnR9IDEgfSB9ICovDQorLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVy LXRpbWVzIHt2c2V0aXZsaVxzK3plcm8sXHMqMzEsXHMqZTE2LFxzKm00LFxz KnR1LFxzKm11XHMrdndzdWJ1XC53dlxzK3ZbMC05XSssXHMqdlswLTldKyxc cyp2WzAtOV0rLFxzKnYwLnR9IDEgfSB9ICovDQorLyogeyBkZy1maW5hbCB7 IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2c2V0aXZsaVxzK3plcm8sXHMqMzEs XHMqZTMyLFxzKm1mMixccyp0dSxccyptdVxzK3Z3c3VidVwud3Zccyt2WzAt OV0rLFxzKnZbMC05XSssXHMqdlswLTldKyxccyp2MC50fSAxIH0gfSAqLw0K Ky8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNldGl2 bGlccyt6ZXJvLFxzKjMxLFxzKmUzMixccyptMSxccyp0dSxccyptdVxzK3Z3 c3VidVwud3Zccyt2WzAtOV0rLFxzKnZbMC05XSssXHMqdlswLTldKyxccyp2 MC50fSAxIH0gfSAqLw0KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxl ci10aW1lcyB7dnNldGl2bGlccyt6ZXJvLFxzKjMxLFxzKmUzMixccyptMixc cyp0dSxccyptdVxzK3Z3c3VidVwud3Zccyt2WzAtOV0rLFxzKnZbMC05XSss XHMqdlswLTldKyxccyp2MC50fSAxIH0gfSAqLw0KKy8qIHsgZGctZmluYWwg eyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNldGl2bGlccyt6ZXJvLFxzKjMx LFxzKmUzMixccyptNCxccyp0dSxccyptdVxzK3Z3c3VidVwud3Zccyt2WzAt OV0rLFxzKnZbMC05XSssXHMqdlswLTldKyxccyp2MC50fSAxIH0gfSAqLw0K ZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9y dnYvYmFzZS92d3N1YnVfd3ZfdHVtdS0zLmMgYi9nY2MvdGVzdHN1aXRlL2dj Yy50YXJnZXQvcmlzY3YvcnZ2L2Jhc2UvdndzdWJ1X3d2X3R1bXUtMy5jDQpu ZXcgZmlsZSBtb2RlIDEwMDY0NA0KaW5kZXggMDAwMDAwMDAwMDAuLjFjNjEw NDVlM2M2DQotLS0gL2Rldi9udWxsDQorKysgYi9nY2MvdGVzdHN1aXRlL2dj Yy50YXJnZXQvcmlzY3YvcnZ2L2Jhc2UvdndzdWJ1X3d2X3R1bXUtMy5jDQpA QCAtMCwwICsxLDExMSBAQA0KKy8qIHsgZGctZG8gY29tcGlsZSB9ICovDQor LyogeyBkZy1vcHRpb25zICItbWFyY2g9cnY2NGdjdiAtbWFiaT1scDY0ZCAt TzMgLWZuby1zY2hlZHVsZS1pbnNucyAtZm5vLXNjaGVkdWxlLWluc25zMiIg fSAqLw0KKw0KKyNpbmNsdWRlICJyaXNjdl92ZWN0b3IuaCINCisNCit2dWlu dDE2bWY0X3QgdGVzdF9fX3Jpc2N2X3Z3c3VidV93dl91MTZtZjRfdHVtdSh2 Ym9vbDY0X3QgbWFzayx2dWludDE2bWY0X3QgbWVyZ2UsdnVpbnQxNm1mNF90 IG9wMSx2dWludDhtZjhfdCBvcDIsc2l6ZV90IHZsKQ0KK3sNCisgICAgcmV0 dXJuIF9fcmlzY3ZfdndzdWJ1X3d2X3UxNm1mNF90dW11KG1hc2ssbWVyZ2Us b3AxLG9wMiwzMik7DQorfQ0KKw0KKw0KK3Z1aW50MTZtZjJfdCB0ZXN0X19f cmlzY3ZfdndzdWJ1X3d2X3UxNm1mMl90dW11KHZib29sMzJfdCBtYXNrLHZ1 aW50MTZtZjJfdCBtZXJnZSx2dWludDE2bWYyX3Qgb3AxLHZ1aW50OG1mNF90 IG9wMixzaXplX3QgdmwpDQorew0KKyAgICByZXR1cm4gX19yaXNjdl92d3N1 YnVfd3ZfdTE2bWYyX3R1bXUobWFzayxtZXJnZSxvcDEsb3AyLDMyKTsNCit9 DQorDQorDQordnVpbnQxNm0xX3QgdGVzdF9fX3Jpc2N2X3Z3c3VidV93dl91 MTZtMV90dW11KHZib29sMTZfdCBtYXNrLHZ1aW50MTZtMV90IG1lcmdlLHZ1 aW50MTZtMV90IG9wMSx2dWludDhtZjJfdCBvcDIsc2l6ZV90IHZsKQ0KK3sN CisgICAgcmV0dXJuIF9fcmlzY3ZfdndzdWJ1X3d2X3UxNm0xX3R1bXUobWFz ayxtZXJnZSxvcDEsb3AyLDMyKTsNCit9DQorDQorDQordnVpbnQxNm0yX3Qg dGVzdF9fX3Jpc2N2X3Z3c3VidV93dl91MTZtMl90dW11KHZib29sOF90IG1h c2ssdnVpbnQxNm0yX3QgbWVyZ2UsdnVpbnQxNm0yX3Qgb3AxLHZ1aW50OG0x X3Qgb3AyLHNpemVfdCB2bCkNCit7DQorICAgIHJldHVybiBfX3Jpc2N2X3Z3 c3VidV93dl91MTZtMl90dW11KG1hc2ssbWVyZ2Usb3AxLG9wMiwzMik7DQor fQ0KKw0KKw0KK3Z1aW50MTZtNF90IHRlc3RfX19yaXNjdl92d3N1YnVfd3Zf dTE2bTRfdHVtdSh2Ym9vbDRfdCBtYXNrLHZ1aW50MTZtNF90IG1lcmdlLHZ1 aW50MTZtNF90IG9wMSx2dWludDhtMl90IG9wMixzaXplX3QgdmwpDQorew0K KyAgICByZXR1cm4gX19yaXNjdl92d3N1YnVfd3ZfdTE2bTRfdHVtdShtYXNr LG1lcmdlLG9wMSxvcDIsMzIpOw0KK30NCisNCisNCit2dWludDE2bThfdCB0 ZXN0X19fcmlzY3ZfdndzdWJ1X3d2X3UxNm04X3R1bXUodmJvb2wyX3QgbWFz ayx2dWludDE2bThfdCBtZXJnZSx2dWludDE2bThfdCBvcDEsdnVpbnQ4bTRf dCBvcDIsc2l6ZV90IHZsKQ0KK3sNCisgICAgcmV0dXJuIF9fcmlzY3Zfdndz dWJ1X3d2X3UxNm04X3R1bXUobWFzayxtZXJnZSxvcDEsb3AyLDMyKTsNCit9 DQorDQorDQordnVpbnQzMm1mMl90IHRlc3RfX19yaXNjdl92d3N1YnVfd3Zf dTMybWYyX3R1bXUodmJvb2w2NF90IG1hc2ssdnVpbnQzMm1mMl90IG1lcmdl LHZ1aW50MzJtZjJfdCBvcDEsdnVpbnQxNm1mNF90IG9wMixzaXplX3Qgdmwp DQorew0KKyAgICByZXR1cm4gX19yaXNjdl92d3N1YnVfd3ZfdTMybWYyX3R1 bXUobWFzayxtZXJnZSxvcDEsb3AyLDMyKTsNCit9DQorDQorDQordnVpbnQz Mm0xX3QgdGVzdF9fX3Jpc2N2X3Z3c3VidV93dl91MzJtMV90dW11KHZib29s MzJfdCBtYXNrLHZ1aW50MzJtMV90IG1lcmdlLHZ1aW50MzJtMV90IG9wMSx2 dWludDE2bWYyX3Qgb3AyLHNpemVfdCB2bCkNCit7DQorICAgIHJldHVybiBf X3Jpc2N2X3Z3c3VidV93dl91MzJtMV90dW11KG1hc2ssbWVyZ2Usb3AxLG9w MiwzMik7DQorfQ0KKw0KKw0KK3Z1aW50MzJtMl90IHRlc3RfX19yaXNjdl92 d3N1YnVfd3ZfdTMybTJfdHVtdSh2Ym9vbDE2X3QgbWFzayx2dWludDMybTJf dCBtZXJnZSx2dWludDMybTJfdCBvcDEsdnVpbnQxNm0xX3Qgb3AyLHNpemVf dCB2bCkNCit7DQorICAgIHJldHVybiBfX3Jpc2N2X3Z3c3VidV93dl91MzJt Ml90dW11KG1hc2ssbWVyZ2Usb3AxLG9wMiwzMik7DQorfQ0KKw0KKw0KK3Z1 aW50MzJtNF90IHRlc3RfX19yaXNjdl92d3N1YnVfd3ZfdTMybTRfdHVtdSh2 Ym9vbDhfdCBtYXNrLHZ1aW50MzJtNF90IG1lcmdlLHZ1aW50MzJtNF90IG9w MSx2dWludDE2bTJfdCBvcDIsc2l6ZV90IHZsKQ0KK3sNCisgICAgcmV0dXJu IF9fcmlzY3ZfdndzdWJ1X3d2X3UzMm00X3R1bXUobWFzayxtZXJnZSxvcDEs b3AyLDMyKTsNCit9DQorDQorDQordnVpbnQzMm04X3QgdGVzdF9fX3Jpc2N2 X3Z3c3VidV93dl91MzJtOF90dW11KHZib29sNF90IG1hc2ssdnVpbnQzMm04 X3QgbWVyZ2UsdnVpbnQzMm04X3Qgb3AxLHZ1aW50MTZtNF90IG9wMixzaXpl X3QgdmwpDQorew0KKyAgICByZXR1cm4gX19yaXNjdl92d3N1YnVfd3ZfdTMy bThfdHVtdShtYXNrLG1lcmdlLG9wMSxvcDIsMzIpOw0KK30NCisNCisNCit2 dWludDY0bTFfdCB0ZXN0X19fcmlzY3ZfdndzdWJ1X3d2X3U2NG0xX3R1bXUo dmJvb2w2NF90IG1hc2ssdnVpbnQ2NG0xX3QgbWVyZ2UsdnVpbnQ2NG0xX3Qg b3AxLHZ1aW50MzJtZjJfdCBvcDIsc2l6ZV90IHZsKQ0KK3sNCisgICAgcmV0 dXJuIF9fcmlzY3ZfdndzdWJ1X3d2X3U2NG0xX3R1bXUobWFzayxtZXJnZSxv cDEsb3AyLDMyKTsNCit9DQorDQorDQordnVpbnQ2NG0yX3QgdGVzdF9fX3Jp c2N2X3Z3c3VidV93dl91NjRtMl90dW11KHZib29sMzJfdCBtYXNrLHZ1aW50 NjRtMl90IG1lcmdlLHZ1aW50NjRtMl90IG9wMSx2dWludDMybTFfdCBvcDIs c2l6ZV90IHZsKQ0KK3sNCisgICAgcmV0dXJuIF9fcmlzY3ZfdndzdWJ1X3d2 X3U2NG0yX3R1bXUobWFzayxtZXJnZSxvcDEsb3AyLDMyKTsNCit9DQorDQor DQordnVpbnQ2NG00X3QgdGVzdF9fX3Jpc2N2X3Z3c3VidV93dl91NjRtNF90 dW11KHZib29sMTZfdCBtYXNrLHZ1aW50NjRtNF90IG1lcmdlLHZ1aW50NjRt NF90IG9wMSx2dWludDMybTJfdCBvcDIsc2l6ZV90IHZsKQ0KK3sNCisgICAg cmV0dXJuIF9fcmlzY3ZfdndzdWJ1X3d2X3U2NG00X3R1bXUobWFzayxtZXJn ZSxvcDEsb3AyLDMyKTsNCit9DQorDQorDQordnVpbnQ2NG04X3QgdGVzdF9f X3Jpc2N2X3Z3c3VidV93dl91NjRtOF90dW11KHZib29sOF90IG1hc2ssdnVp bnQ2NG04X3QgbWVyZ2UsdnVpbnQ2NG04X3Qgb3AxLHZ1aW50MzJtNF90IG9w MixzaXplX3QgdmwpDQorew0KKyAgICByZXR1cm4gX19yaXNjdl92d3N1YnVf d3ZfdTY0bThfdHVtdShtYXNrLG1lcmdlLG9wMSxvcDIsMzIpOw0KK30NCisN CisNCisNCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMg e3ZzZXR2bGlccyt6ZXJvLFxzKlthLXgwLTldKyxccyplOCxccyptZjgsXHMq dHUsXHMqbXVccyt2d3N1YnVcLnd2XHMrdlswLTldKyxccyp2WzAtOV0rLFxz KnZbMC05XSssXHMqdjAudH0gMSB9IH0gKi8NCisvKiB7IGRnLWZpbmFsIHsg c2Nhbi1hc3NlbWJsZXItdGltZXMge3ZzZXR2bGlccyt6ZXJvLFxzKlthLXgw LTldKyxccyplOCxccyptZjQsXHMqdHUsXHMqbXVccyt2d3N1YnVcLnd2XHMr dlswLTldKyxccyp2WzAtOV0rLFxzKnZbMC05XSssXHMqdjAudH0gMSB9IH0g Ki8NCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3Zz ZXR2bGlccyt6ZXJvLFxzKlthLXgwLTldKyxccyplOCxccyptZjIsXHMqdHUs XHMqbXVccyt2d3N1YnVcLnd2XHMrdlswLTldKyxccyp2WzAtOV0rLFxzKnZb MC05XSssXHMqdjAudH0gMSB9IH0gKi8NCisvKiB7IGRnLWZpbmFsIHsgc2Nh bi1hc3NlbWJsZXItdGltZXMge3ZzZXR2bGlccyt6ZXJvLFxzKlthLXgwLTld KyxccyplOCxccyptMSxccyp0dSxccyptdVxzK3Z3c3VidVwud3Zccyt2WzAt OV0rLFxzKnZbMC05XSssXHMqdlswLTldKyxccyp2MC50fSAxIH0gfSAqLw0K Ky8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNldHZs aVxzK3plcm8sXHMqW2EteDAtOV0rLFxzKmU4LFxzKm0yLFxzKnR1LFxzKm11 XHMrdndzdWJ1XC53dlxzK3ZbMC05XSssXHMqdlswLTldKyxccyp2WzAtOV0r LFxzKnYwLnR9IDEgfSB9ICovDQorLyogeyBkZy1maW5hbCB7IHNjYW4tYXNz ZW1ibGVyLXRpbWVzIHt2c2V0dmxpXHMremVybyxccypbYS14MC05XSssXHMq ZTgsXHMqbTQsXHMqdHUsXHMqbXVccyt2d3N1YnVcLnd2XHMrdlswLTldKyxc cyp2WzAtOV0rLFxzKnZbMC05XSssXHMqdjAudH0gMSB9IH0gKi8NCisvKiB7 IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3ZzZXR2bGlccyt6 ZXJvLFxzKlthLXgwLTldKyxccyplMTYsXHMqbWY0LFxzKnR1LFxzKm11XHMr dndzdWJ1XC53dlxzK3ZbMC05XSssXHMqdlswLTldKyxccyp2WzAtOV0rLFxz KnYwLnR9IDEgfSB9ICovDQorLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1i bGVyLXRpbWVzIHt2c2V0dmxpXHMremVybyxccypbYS14MC05XSssXHMqZTE2 LFxzKm1mMixccyp0dSxccyptdVxzK3Z3c3VidVwud3Zccyt2WzAtOV0rLFxz KnZbMC05XSssXHMqdlswLTldKyxccyp2MC50fSAxIH0gfSAqLw0KKy8qIHsg ZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNldHZsaVxzK3pl cm8sXHMqW2EteDAtOV0rLFxzKmUxNixccyptMSxccyp0dSxccyptdVxzK3Z3 c3VidVwud3Zccyt2WzAtOV0rLFxzKnZbMC05XSssXHMqdlswLTldKyxccyp2 MC50fSAxIH0gfSAqLw0KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxl ci10aW1lcyB7dnNldHZsaVxzK3plcm8sXHMqW2EteDAtOV0rLFxzKmUxNixc cyptMixccyp0dSxccyptdVxzK3Z3c3VidVwud3Zccyt2WzAtOV0rLFxzKnZb MC05XSssXHMqdlswLTldKyxccyp2MC50fSAxIH0gfSAqLw0KKy8qIHsgZGct ZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNldHZsaVxzK3plcm8s XHMqW2EteDAtOV0rLFxzKmUxNixccyptNCxccyp0dSxccyptdVxzK3Z3c3Vi dVwud3Zccyt2WzAtOV0rLFxzKnZbMC05XSssXHMqdlswLTldKyxccyp2MC50 fSAxIH0gfSAqLw0KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10 aW1lcyB7dnNldHZsaVxzK3plcm8sXHMqW2EteDAtOV0rLFxzKmUzMixccypt ZjIsXHMqdHUsXHMqbXVccyt2d3N1YnVcLnd2XHMrdlswLTldKyxccyp2WzAt OV0rLFxzKnZbMC05XSssXHMqdjAudH0gMSB9IH0gKi8NCisvKiB7IGRnLWZp bmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3ZzZXR2bGlccyt6ZXJvLFxz KlthLXgwLTldKyxccyplMzIsXHMqbTEsXHMqdHUsXHMqbXVccyt2d3N1YnVc Lnd2XHMrdlswLTldKyxccyp2WzAtOV0rLFxzKnZbMC05XSssXHMqdjAudH0g MSB9IH0gKi8NCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGlt ZXMge3ZzZXR2bGlccyt6ZXJvLFxzKlthLXgwLTldKyxccyplMzIsXHMqbTIs XHMqdHUsXHMqbXVccyt2d3N1YnVcLnd2XHMrdlswLTldKyxccyp2WzAtOV0r LFxzKnZbMC05XSssXHMqdjAudH0gMSB9IH0gKi8NCisvKiB7IGRnLWZpbmFs IHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3ZzZXR2bGlccyt6ZXJvLFxzKlth LXgwLTldKyxccyplMzIsXHMqbTQsXHMqdHUsXHMqbXVccyt2d3N1YnVcLnd2 XHMrdlswLTldKyxccyp2WzAtOV0rLFxzKnZbMC05XSssXHMqdjAudH0gMSB9 IH0gKi8NCi0tIA0KMi4zNi4xDQogDQo= ------=_001_NextPart505005108212_=------