From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtpbgau1.qq.com (smtpbgau1.qq.com [54.206.16.166]) by sourceware.org (Postfix) with ESMTPS id 532993845750 for ; Wed, 6 Dec 2023 06:45:42 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 532993845750 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=rivai.ai Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=rivai.ai ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 532993845750 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=54.206.16.166 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1701845151; cv=none; b=T3HbLEdDeYRekv6SGsrZvQ2eVo3UrO/9Nj0AIGuSbKkPlA7qQdxYuCCJwnSr7eImWcqY9r5VCLFlGqE540khGrn5w0Wv88SXJlVSygLsf93EMuABTxEFYFW83F9dsf4/CrtwUNobbIxHM5fdJ5FgQPU1u0z2Jgq5OqZJvHbHRpQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1701845151; c=relaxed/simple; bh=fENbKSvCIpCsRNzNI6LoraCFAvZW5wooh8vGjPeBvBk=; h=Date:From:To:Subject:Mime-Version:Message-ID; b=mPV2sI0Ifx/IZ0U8CtCG8h6e9ScmTnJdsQ72UrHLF6IQ9E14JnDVWOUZD6Zv76+qFXGu2k+4XcM7eyK23mHACTqybDpzyPO3lHV4KRfcPjR6JBf8b4b8Tpj6khLGNakYghGDkuh9/5ZQzKG7fSJsqjv95CqQvXuvPVMni1PTtbE= ARC-Authentication-Results: i=1; server2.sourceware.org X-QQ-mid: bizesmtp83t1701845131tymhnbvd Received: from LAPTOP-EPITNQBU ( [58.60.1.10]) by bizesmtp.qq.com (ESMTP) with id ; Wed, 06 Dec 2023 14:45:30 +0800 (CST) X-QQ-SSF: 01400000000000G0V000000A0000000 X-QQ-FEAT: UJd4nZbM1CdG/0yP+VT87LOP6sVh42QeW1udTNZ9hqgQSbJxmRbYVupu94iKl T/lS9HVlrMB5WVLGTm2O3GFYQnAG0ggkwOOhtQ5/vlr0HYtbSgkHGETsFncYBpGjErXjY9N 2wZ/gG0ddw7VdHT40OYuq1RiBZ/DIwxUU78AoCZBMm2x6gLDM3taevqmZYpFwZ6dXEQyMAM q4jvcA1I7SoxLmGMpLY2USX+U3sJuT7Zx+YJu/qoqeaqykZ12EvhBPEcjEw9BpKEK8ZEgxC vpRAwIxr9IfDKcRVemsFALswGiEgQiiQmSr9oT4Po4nhz1G98GwppCPscASxFvgrOx5H7HL XS63ItkCZo/piOtzhBtLdbcRfUQQdIQJqUvn5FaS3KYNj6xhLEb9dYtaiygJ41dT9H7rhcA Frscdky6uBzhJ0F+WhxKR58DJeDr34oV X-QQ-GoodBg: 2 X-BIZMAIL-ID: 14503141646181179241 Date: Wed, 6 Dec 2023 14:45:29 +0800 From: "juzhe.zhong@rivai.ai" To: wangfeng , gcc-patches Cc: kito.cheng , jeffreyalaw , zhusonghe , panciyan , wangfeng Subject: Re: [PATCH 2/4] RISC-V: Add crypto vector builtin function. References: <20231206024524.10792-1-wangfeng@eswincomputing.com>, <20231206024524.10792-2-wangfeng@eswincomputing.com> X-Priority: 3 X-GUID: 6D09294E-BE7B-4DD2-956B-3B2B5B4103B6 X-Has-Attach: no X-Mailer: Foxmail 7.2.16.188[cn] Mime-Version: 1.0 Message-ID: <528F3607FA32202C+202312061445291665122@rivai.ai> Content-Type: multipart/alternative; boundary="----=_001_NextPart630718743521_=----" X-QQ-SENDSIZE: 520 Feedback-ID: bizesmtp:rivai.ai:qybglogicsvrgz:qybglogicsvrgz7a-one-0 X-Spam-Status: No, score=-8.6 required=5.0 tests=BAYES_00,GIT_PATCH_0,HTML_MESSAGE,KAM_DMARC_STATUS,MIME_BASE64_TEXT,RCVD_IN_BARRACUDACENTRAL,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: This is a multi-part message in MIME format. ------=_001_NextPart630718743521_=---- Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: base64 KyAgICBpZiAoISgoc3RyY21wIChpbnN0YW5jZS5iYXNlX25hbWUsICJ2Z2hz aCIpID09IDANCisgICAgICAgICAgfHwgc3RyY21wIChpbnN0YW5jZS5iYXNl X25hbWUsICJ2Z211bCIpID09IDANCisgICAgICAgICAgfHwgc3RyY21wIChp bnN0YW5jZS5iYXNlX25hbWUsICJ2YWVzeiIpID09IDANCisgICAgICAgICAg fHwgc3RyY21wIChpbnN0YW5jZS5iYXNlX25hbWUsICJ2c2hhMm1zIikgPT0g MA0KKyAgICAgICAgICB8fCBzdHJjbXAgKGluc3RhbmNlLmJhc2VfbmFtZSwg InZzaGEyY2giKSA9PSAwDQorICAgICAgICAgIHx8IHN0cmNtcCAoaW5zdGFu Y2UuYmFzZV9uYW1lLCAidnNoYTJjbCIpID09IDANCisgICAgICAgICAgfHwg c3RyY21wIChpbnN0YW5jZS5iYXNlX25hbWUsICJ2c20zbWUiKSA9PSAwKQ0K KyAgICAgICAgICAmJiBvdmVybG9hZGVkX3ApKQ0KKyAgICAgIGIuYXBwZW5k X25hbWUgKG9wZXJhbmRfc3VmZml4ZXNbaW5zdGFuY2Uub3BfaW5mby0+b3Bd KTsNCg0KU3BsaXQgdGhlbSBpbnRvIGFub3RoZXIgc2hhcGUsIHNvIHRoYXQg eW91IGRvbid0IG5lZWQgdG8gdXNlIHN0cmNtcC4NCg0KDQoNCg0KanV6aGUu emhvbmdAcml2YWkuYWkNCiANCkZyb206IEZlbmcgV2FuZw0KRGF0ZTogMjAy My0xMi0wNiAxMDo0NQ0KVG86IGdjYy1wYXRjaGVzDQpDQzoga2l0by5jaGVu ZzsgamVmZnJleWFsYXc7IGp1emhlLnpob25nOyB6aHVzb25naGU7IHBhbmNp eWFuOyBGZW5nIFdhbmcNClN1YmplY3Q6IFtQQVRDSCAyLzRdIFJJU0MtVjog QWRkIGNyeXB0byB2ZWN0b3IgYnVpbHRpbiBmdW5jdGlvbi4NClRoaXMgcGF0 Y2ggYWRkIHRoZSBpbnRyaW5zaWMgZnVudGlvbnMgb2YgY3J5cHRvIHZlY3Rv ciBiYXNlZCBvbiB0aGUNCmludHJpbnNpYyBkb2MoaHR0cHM6Ly9naXRodWIu Y29tL3Jpc2N2LW5vbi1pc2EvcnZ2LWludHJpbnNpYy1kb2MvYmxvYg0KL2Vv cGMvdmVjdG9yLWNyeXB0by9hdXRvLWdlbmVyYXRlZC92ZWN0b3ItY3J5cHRv L2ludHJpbnNpY19mdW5jcy5tZCkuDQogDQpDby1BdXRob3JlZCBieTogU29u Z2hlIFpodSA8emh1c29uZ2hlQGVzd2luY29tcHV0aW5nLmNvbT4NCkNvLUF1 dGhvcmVkIGJ5OiBDaXlhbiBQYW4gPHBhbmNpeWFuQGVzd2luY29tcHV0aW5n LmNvbT4NCiANCmdjYy9DaGFuZ2VMb2c6DQogDQoqIGNvbmZpZy9yaXNjdi9y aXNjdi12ZWN0b3ItYnVpbHRpbnMtYmFzZXMuY2MgKGNsYXNzIHZhbmRuKToN CkFkZCBuZXcgZnVuY3Rpb25fYmFzZSBmb3IgY3J5cHRvIHZlY3Rvci4NCihj bGFzcyBiaXRtYW5pcCk6IERpdHRvLg0KKGNsYXNzIGJfcmV2ZXJzZSk6RGl0 dG8uDQooY2xhc3MgdndzbGwpOiAgICBEaXR0by4NCihjbGFzcyBjbG11bCk6 ICAgIERpdHRvLg0KKGNsYXNzIHZnX25oYWIpOiAgRGl0dG8uDQooY2xhc3Mg Y3J5cHRvX3Z2KTpEaXR0by4NCihjbGFzcyBjcnlwdG9fdmkpOkRpdHRvLg0K KGNsYXNzIHZhZXNrZjJfdnNtM2MpOkRpdHRvLg0KKGNsYXNzIHZzbTNtZSk6 RGl0dG8uDQooQkFTRSk6IEFkZCBCQVNFIGRlY2xhcmF0aW9uIGZvciBjcnlw dG8gdmVjdG9yLg0KKiBjb25maWcvcmlzY3YvcmlzY3YtdmVjdG9yLWJ1aWx0 aW5zLWJhc2VzLmg6IERpdHRvLg0KKiBjb25maWcvcmlzY3YvcmlzY3YtdmVj dG9yLWJ1aWx0aW5zLXNoYXBlcy5jYyAoc3RydWN0IGNyeXB0b192dl9kZWYp Og0KQWRkIG5ldyBmdW5jdGlvbl9zaGFwZSBmb3IgY3J5cHRvIHZlY3Rvci4N CihzdHJ1Y3QgY3J5cHRvX3ZpX2RlZik6IERpdHRvLg0KKFNIQVBFKTogQWRk IFNIQVBFIGRlY2xhcmF0aW9uIG9mIGNyeXB0byB2ZWN0b3IuDQoqIGNvbmZp Zy9yaXNjdi9yaXNjdi12ZWN0b3ItYnVpbHRpbnMtc2hhcGVzLmg6IERpdHRv Lg0KKiBjb25maWcvcmlzY3YvcmlzY3YtdmVjdG9yLWJ1aWx0aW5zLmNjIChE RUZfUlZWX0NSWVBUT19TRVczMl9PUFMpOg0KQWRkIG5ldyBkYXRhIHN0cnVj dCBmb3IgY3J5cHRvIHZlY3Rvci4NCihERUZfUlZWX0NSWVBUT19TRVc2NF9P UFMpOiBEaXR0by4NCihERUZfVkVDVE9SX0NSWVBUT19GVU5DVElPTik6IE5l dyBNQUNSTyBkZWZpbmUgb2YgY3J5cHRvIHZlY3Rvci4NCihyZWdpc3RlcmVk X2Z1bmN0aW9uOjpvdmVybG9hZGVkX2hhc2gpOiBQcm9jZXNzaW5nIHNpemVf dCB1aW1tIGZvciBDIG92ZXJsb2FkZWQgZnVuYy4NCihoYW5kbGVfcHJhZ21h X3ZlY3Rvcik6IEFkZCByZWdpc3RyYXRpb24gZm9yIGNyeXB0byB2ZWN0b3Iu DQoqIGNvbmZpZy9yaXNjdi9yaXNjdi12ZWN0b3ItYnVpbHRpbnMuZGVmICh2 aSk6IEFkZCB2aSBPUF9UWVBFLg0KKiBjb25maWcvcmlzY3YvcmlzY3YtdmVj dG9yLWJ1aWx0aW5zLmggKHN0cnVjdCBjcnlwdG9fZnVuY3Rpb25fZ3JvdXBf aW5mbyk6DQpBZGQgbmV3IHN0cnVjdCBkZWZpbml0aW9uIGZvciBjcnlwdG8g dmVjdG9yLg0KKiBjb25maWcvcmlzY3YvdC1yaXNjdjogQWRkIGJ1aWxkaW5n IGRlcGVuZGVuY3kgZmlsZXMuDQoqIGNvbmZpZy9yaXNjdi9yaXNjdi12ZWN0 b3ItY3J5cHRvLWJ1aWx0aW5zLWF2YWlsLmg6DQpOZXcgZmlsZSB0byBjb250 cm9sIGVuYWJsZS4NCiogY29uZmlnL3Jpc2N2L3Jpc2N2LXZlY3Rvci1jcnlw dG8tYnVpbHRpbnMtZnVuY3Rpb25zLmRlZjoNCk5ldyBmaWxlLiBEZWZpbml0 aW9uIG9mIGNyeXB0byB2ZWN0b3IuDQoqIGNvbmZpZy9yaXNjdi9yaXNjdi12 ZWN0b3ItY3J5cHRvLWJ1aWx0aW5zLXR5cGVzLmRlZjoNCk5ldyBmaWxlLiBO ZXcgdHlwZSBkZWZpbml0aW9uIGZvciBjcnlwdG8gdmVjdG9yLg0KLS0tDQou Li4vcmlzY3YvcmlzY3YtdmVjdG9yLWJ1aWx0aW5zLWJhc2VzLmNjICAgICAg fCAyNTkgKysrKysrKysrKysrKysrKystDQouLi4vcmlzY3YvcmlzY3YtdmVj dG9yLWJ1aWx0aW5zLWJhc2VzLmggICAgICAgfCAgMjggKysNCi4uLi9yaXNj di9yaXNjdi12ZWN0b3ItYnVpbHRpbnMtc2hhcGVzLmNjICAgICB8ICA2NiAr KysrLQ0KLi4uL3Jpc2N2L3Jpc2N2LXZlY3Rvci1idWlsdGlucy1zaGFwZXMu aCAgICAgIHwgICA0ICsNCmdjYy9jb25maWcvcmlzY3YvcmlzY3YtdmVjdG9y LWJ1aWx0aW5zLmNjICAgICB8IDE1MiArKysrKysrKystDQpnY2MvY29uZmln L3Jpc2N2L3Jpc2N2LXZlY3Rvci1idWlsdGlucy5kZWYgICAgfCAgIDEgKw0K Z2NjL2NvbmZpZy9yaXNjdi9yaXNjdi12ZWN0b3ItYnVpbHRpbnMuaCAgICAg IHwgICA4ICsNCi4uLi9yaXNjdi12ZWN0b3ItY3J5cHRvLWJ1aWx0aW5zLWF2 YWlsLmggICAgICB8ICAyNSArKw0KLi4ucmlzY3YtdmVjdG9yLWNyeXB0by1i dWlsdGlucy1mdW5jdGlvbnMuZGVmIHwgIDc4ICsrKysrKw0KLi4uL3Jpc2N2 LXZlY3Rvci1jcnlwdG8tYnVpbHRpbnMtdHlwZXMuZGVmICAgIHwgIDIxICsr DQpnY2MvY29uZmlnL3Jpc2N2L3QtcmlzY3YgICAgICAgICAgICAgICAgICAg ICAgfCAgIDIgKw0KMTEgZmlsZXMgY2hhbmdlZCwgNjQxIGluc2VydGlvbnMo KyksIDMgZGVsZXRpb25zKC0pDQpjcmVhdGUgbW9kZSAxMDA3NTUgZ2NjL2Nv bmZpZy9yaXNjdi9yaXNjdi12ZWN0b3ItY3J5cHRvLWJ1aWx0aW5zLWF2YWls LmgNCmNyZWF0ZSBtb2RlIDEwMDc1NSBnY2MvY29uZmlnL3Jpc2N2L3Jpc2N2 LXZlY3Rvci1jcnlwdG8tYnVpbHRpbnMtZnVuY3Rpb25zLmRlZg0KY3JlYXRl IG1vZGUgMTAwNzU1IGdjYy9jb25maWcvcmlzY3YvcmlzY3YtdmVjdG9yLWNy eXB0by1idWlsdGlucy10eXBlcy5kZWYNCiANCmRpZmYgLS1naXQgYS9nY2Mv Y29uZmlnL3Jpc2N2L3Jpc2N2LXZlY3Rvci1idWlsdGlucy1iYXNlcy5jYyBi L2djYy9jb25maWcvcmlzY3YvcmlzY3YtdmVjdG9yLWJ1aWx0aW5zLWJhc2Vz LmNjDQppbmRleCBkNzA0Njg1NDJlZS4uNmQ1MjIzMGU5YmEgMTAwNjQ0DQot LS0gYS9nY2MvY29uZmlnL3Jpc2N2L3Jpc2N2LXZlY3Rvci1idWlsdGlucy1i YXNlcy5jYw0KKysrIGIvZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi12ZWN0b3It YnVpbHRpbnMtYmFzZXMuY2MNCkBAIC0yMTI3LDYgKzIxMjcsMjA3IEBAIHB1 YmxpYzoNCiAgIH0NCn07DQorLyogQmVsb3cgaW1wbGVtZW50cyBhcmUgdmVj dG9yIGNyeXB0byAqLw0KKy8qIEltcGxlbWVudHMgdmFuZG4uW3Z2LHZ4XSAq Lw0KK2NsYXNzIHZhbmRuIDogcHVibGljIGZ1bmN0aW9uX2Jhc2UNCit7DQor cHVibGljOg0KKyAgcnR4IGV4cGFuZCAoZnVuY3Rpb25fZXhwYW5kZXIgJmUp IGNvbnN0IG92ZXJyaWRlDQorICB7DQorICAgIHN3aXRjaCAoZS5vcF9pbmZv LT5vcCkNCisgICAgICB7DQorICAgICAgY2FzZSBPUF9UWVBFX3Z2Og0KKyAg ICAgICAgcmV0dXJuIGUudXNlX2V4YWN0X2luc24gKGNvZGVfZm9yX3ByZWRf dmFuZG4gKGUudmVjdG9yX21vZGUgKCkpKTsNCisgICAgICBjYXNlIE9QX1RZ UEVfdng6DQorICAgICAgICByZXR1cm4gZS51c2VfZXhhY3RfaW5zbiAoY29k ZV9mb3JfcHJlZF92YW5kbl9zY2FsYXIgKGUudmVjdG9yX21vZGUgKCkpKTsN CisgICAgICBkZWZhdWx0Og0KKyAgICAgICAgZ2NjX3VucmVhY2hhYmxlICgp Ow0KKyAgICAgIH0NCisgIH0NCit9Ow0KKw0KKy8qIEltcGxlbWVudHMgdnJv bC92cm9yL2Nsei9jdHouICAqLw0KK3RlbXBsYXRlPHJ0eF9jb2RlIENPREU+ DQorY2xhc3MgYml0bWFuaXAgOiBwdWJsaWMgZnVuY3Rpb25fYmFzZQ0KK3sN CitwdWJsaWM6DQorICBib29sIGFwcGx5X3RhaWxfcG9saWN5X3AgKCkgY29u c3Qgb3ZlcnJpZGUNCisgIHsNCisgICAgcmV0dXJuIChDT0RFID09IENMWiB8 fCBDT0RFID09IENUWikgPyBmYWxzZSA6IHRydWU7DQorICB9DQorICBib29s IGFwcGx5X21hc2tfcG9saWN5X3AgKCkgY29uc3Qgb3ZlcnJpZGUNCisgIHsN CisgICAgcmV0dXJuIChDT0RFID09IENMWiB8fCBDT0RFID09IENUWikgPyBm YWxzZSA6IHRydWU7DQorICB9DQorICBib29sIGhhc19tZXJnZV9vcGVyYW5k X3AgKCkgY29uc3Qgb3ZlcnJpZGUNCisgIHsNCisgICAgcmV0dXJuIChDT0RF ID09IENMWiB8fCBDT0RFID09IENUWikgPyBmYWxzZSA6IHRydWU7DQorICB9 DQorICANCisgIHJ0eCBleHBhbmQgKGZ1bmN0aW9uX2V4cGFuZGVyICZlKSBj b25zdCBvdmVycmlkZQ0KKyAgew0KKyAgICBzd2l0Y2ggKGUub3BfaW5mby0+ b3ApDQorICAgIHsNCisgICAgICBjYXNlIE9QX1RZUEVfdjoNCisgICAgICBj YXNlIE9QX1RZUEVfdnY6DQorICAgICAgICByZXR1cm4gZS51c2VfZXhhY3Rf aW5zbiAoY29kZV9mb3JfcHJlZF92IChDT0RFLCBlLnZlY3Rvcl9tb2RlICgp KSk7DQorICAgICAgY2FzZSBPUF9UWVBFX3Z4Og0KKyAgICAgICAgcmV0dXJu IGUudXNlX2V4YWN0X2luc24gKGNvZGVfZm9yX3ByZWRfdl9zY2FsYXIgKENP REUsIGUudmVjdG9yX21vZGUgKCkpKTsNCisgICAgICBkZWZhdWx0Og0KKyAg ICAgICAgZ2NjX3VucmVhY2hhYmxlICgpOw0KKyAgICB9DQorICB9DQorfTsN CisNCisvKiBJbXBsZW1lbnRzIHZicmV2L3ZicmV2OC92cmV2OC4gICovDQor dGVtcGxhdGU8aW50IFVOU1BFQz4NCitjbGFzcyBiX3JldmVyc2UgOiBwdWJs aWMgZnVuY3Rpb25fYmFzZQ0KK3sNCitwdWJsaWM6DQorICBydHggZXhwYW5k IChmdW5jdGlvbl9leHBhbmRlciAmZSkgY29uc3Qgb3ZlcnJpZGUNCisgIHsN CisgICAgICByZXR1cm4gZS51c2VfZXhhY3RfaW5zbiAoY29kZV9mb3JfcHJl ZF92IChVTlNQRUMsIGUudmVjdG9yX21vZGUgKCkpKTsNCisgIH0NCit9Ow0K Kw0KK2NsYXNzIHZ3c2xsIDogcHVibGljIGZ1bmN0aW9uX2Jhc2UNCit7DQor cHVibGljOg0KKyAgcnR4IGV4cGFuZCAoZnVuY3Rpb25fZXhwYW5kZXIgJmUp IGNvbnN0IG92ZXJyaWRlDQorICB7DQorICAgIHN3aXRjaCAoZS5vcF9pbmZv LT5vcCkNCisgICAgICB7DQorICAgICAgY2FzZSBPUF9UWVBFX3Z2Og0KKyAg ICAgICAgcmV0dXJuIGUudXNlX2V4YWN0X2luc24gKGNvZGVfZm9yX3ByZWRf dndzbGwgKGUudmVjdG9yX21vZGUgKCkpKTsNCisgICAgICBjYXNlIE9QX1RZ UEVfdng6DQorICAgICAgICByZXR1cm4gZS51c2VfZXhhY3RfaW5zbiAoY29k ZV9mb3JfcHJlZF92d3NsbF9zY2FsYXIgKGUudmVjdG9yX21vZGUgKCkpKTsN CisgICAgICBkZWZhdWx0Og0KKyAgICAgICAgZ2NjX3VucmVhY2hhYmxlICgp Ow0KKyAgICAgIH0NCisgIH0NCit9Ow0KKw0KKy8qIEltcGxlbWVudHMgY2xt dWwgKi8NCit0ZW1wbGF0ZTxpbnQgVU5TUEVDPg0KK2NsYXNzIGNsbXVsIDog cHVibGljIGZ1bmN0aW9uX2Jhc2UNCit7DQorcHVibGljOg0KKyAgcnR4IGV4 cGFuZCAoZnVuY3Rpb25fZXhwYW5kZXIgJmUpIGNvbnN0IG92ZXJyaWRlDQor ICB7DQorICAgIHN3aXRjaCAoZS5vcF9pbmZvLT5vcCkNCisgICAgICB7DQor ICAgICAgY2FzZSBPUF9UWVBFX3Z2Og0KKyAgICAgICAgcmV0dXJuIGUudXNl X2V4YWN0X2luc24gKGNvZGVfZm9yX3ByZWRfdmNsbXVsIChVTlNQRUMsIGUu dmVjdG9yX21vZGUgKCkpKTsNCisgICAgICBjYXNlIE9QX1RZUEVfdng6DQor ICAgICAgICByZXR1cm4gZS51c2VfZXhhY3RfaW5zbiAoY29kZV9mb3JfcHJl ZF92Y2xtdWxfc2NhbGFyIChVTlNQRUMsIGUudmVjdG9yX21vZGUgKCkpKTsN CisgICAgICBkZWZhdWx0Og0KKyAgICAgICAgZ2NjX3VucmVhY2hhYmxlICgp Ow0KKyAgICAgIH0NCisgIH0NCit9Ow0KKw0KKy8qIEltcGxlbWVudHMgdmdo c2gvdnNoMm1zL3ZzaGEyY1tobF0uICovDQordGVtcGxhdGU8aW50IFVOU1BF Qz4NCitjbGFzcyB2Z19uaGFiIDogcHVibGljIGZ1bmN0aW9uX2Jhc2UNCit7 DQorcHVibGljOg0KKyAgYm9vbCBhcHBseV9tYXNrX3BvbGljeV9wICgpIGNv bnN0IG92ZXJyaWRlIHsgcmV0dXJuIGZhbHNlOyB9DQorICBib29sIHVzZV9t YXNrX3ByZWRpY2F0aW9uX3AgKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4g ZmFsc2U7IH0NCisgIGJvb2wgaGFzX21lcmdlX29wZXJhbmRfcCAoKSBjb25z dCBvdmVycmlkZSB7IHJldHVybiBmYWxzZTsgfQ0KKw0KKyAgcnR4IGV4cGFu ZCAoZnVuY3Rpb25fZXhwYW5kZXIgJmUpIGNvbnN0IG92ZXJyaWRlDQorICB7 DQorICAgIHJldHVybiBlLnVzZV9leGFjdF9pbnNuIChjb2RlX2Zvcl9wcmVk X3YgKFVOU1BFQywgZS52ZWN0b3JfbW9kZSAoKSkpOw0KKyAgfQ0KK307DQor DQorLyogSW1wbGVtZW50cyB2Z211bC92YWVzKi4gKi8NCit0ZW1wbGF0ZTxp bnQgVU5TUEVDPg0KK2NsYXNzIGNyeXB0b192diA6IHB1YmxpYyBmdW5jdGlv bl9iYXNlDQorew0KK3B1YmxpYzoNCisgIGJvb2wgYXBwbHlfbWFza19wb2xp Y3lfcCAoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBmYWxzZTsgfQ0KKyAg Ym9vbCB1c2VfbWFza19wcmVkaWNhdGlvbl9wICgpIGNvbnN0IG92ZXJyaWRl IHsgcmV0dXJuIGZhbHNlOyB9DQorICBib29sIGhhc19tZXJnZV9vcGVyYW5k X3AgKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gZmFsc2U7IH0NCisNCisg IHJ0eCBleHBhbmQgKGZ1bmN0aW9uX2V4cGFuZGVyICZlKSBjb25zdCBvdmVy cmlkZQ0KKyAgew0KKyAgICBwb2x5X3VpbnQ2NCBudW5pdHMgPSAwVTsNCisg ICAgc3dpdGNoIChlLm9wX2luZm8tPm9wKQ0KKyAgICB7DQorICAgICAgY2Fz ZSBPUF9UWVBFX3Z2Og0KKyAgICAgICAgaWYgKFVOU1BFQyA9PSBVTlNQRUNf VkdNVUwpDQorICAgICAgICAgIHJldHVybiBlLnVzZV9leGFjdF9pbnNuIChj b2RlX2Zvcl9wcmVkX2NyeXB0b192diAoVU5TUEVDLCBVTlNQRUMsIGUudmVj dG9yX21vZGUgKCkpKTsNCisgICAgICAgIGVsc2UNCisgICAgICAgICAgcmV0 dXJuIGUudXNlX2V4YWN0X2luc24gKGNvZGVfZm9yX3ByZWRfY3J5cHRvX3Z2 DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKFVOU1BFQyAr IDEsIFVOU1BFQyArIDEsIGUudmVjdG9yX21vZGUgKCkpKTsNCisgICAgICBj YXNlIE9QX1RZUEVfdnM6DQorICAgICAgICAvKiBDYWxjdWxhdGUgdGhlIHJh dGlvIGJldHdlZW4gYXJnMCBhbmQgYXJnMSovDQorICAgICAgICBtdWx0aXBs ZV9wIChHRVRfTU9ERV9CSVRTSVpFIChlLmFyZ19tb2RlICgwKSksDQorICAg ICAgICAgICAgICAgICAgICBHRVRfTU9ERV9CSVRTSVpFIChlLmFyZ19tb2Rl ICgxKSksICZudW5pdHMpOw0KKyAgICAgICAgaWYgKG1heWJlX2VxIChudW5p dHMsIDFVKSkNCisgICAgICAgICAgcmV0dXJuIGUudXNlX2V4YWN0X2luc24g KGNvZGVfZm9yX3ByZWRfY3J5cHRvX3Z2eDFfc2NhbGFyDQorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAoVU5TUEVDICsyLCBVTlNQRUMg KyAyLCBlLnZlY3Rvcl9tb2RlICgpKSk7DQorICAgICAgICBlbHNlIGlmICht YXliZV9lcSAobnVuaXRzLCAyVSkpDQorICAgICAgICAgIHJldHVybiBlLnVz ZV9leGFjdF9pbnNuIChjb2RlX2Zvcl9wcmVkX2NyeXB0b192dngyX3NjYWxh cg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKFVOU1BF QyArIDIsIFVOU1BFQyArIDIsIGUudmVjdG9yX21vZGUgKCkpKTsNCisgICAg ICAgIGVsc2UgaWYgKG1heWJlX2VxIChudW5pdHMsIDRVKSkNCisgICAgICAg ICAgcmV0dXJuIGUudXNlX2V4YWN0X2luc24gKGNvZGVfZm9yX3ByZWRfY3J5 cHRvX3Z2eDRfc2NhbGFyDQorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAoVU5TUEVDICsgMiwgVU5TUEVDICsgMiwgZS52ZWN0b3JfbW9k ZSAoKSkpOw0KKyAgICAgICAgZWxzZSBpZiAobWF5YmVfZXEgKG51bml0cywg OFUpKQ0KKyAgICAgICAgICByZXR1cm4gZS51c2VfZXhhY3RfaW5zbiAoY29k ZV9mb3JfcHJlZF9jcnlwdG9fdnZ4OF9zY2FsYXINCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIChVTlNQRUMgKyAyLCBVTlNQRUMgKyAy LCBlLnZlY3Rvcl9tb2RlICgpKSk7DQorICAgICAgICBlbHNlDQorICAgICAg ICAgIHJldHVybiBlLnVzZV9leGFjdF9pbnNuIChjb2RlX2Zvcl9wcmVkX2Ny eXB0b192dngxNl9zY2FsYXINCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIChVTlNQRUMgKyAyLCBVTlNQRUMgKyAyLCBlLnZlY3Rvcl9t b2RlICgpKSk7DQorICAgICAgZGVmYXVsdDoNCisgICAgICAgIGdjY191bnJl YWNoYWJsZSAoKTsNCisgICAgfQ0KKyAgfQ0KK307DQorDQorLyogSW1wbGVt ZW50cyB2YWVza2YxL3ZzbTRrLiAqLw0KK3RlbXBsYXRlPGludCBVTlNQRUM+ DQorY2xhc3MgY3J5cHRvX3ZpIDogcHVibGljIGZ1bmN0aW9uX2Jhc2UNCit7 DQorcHVibGljOg0KKyAgYm9vbCBhcHBseV9tYXNrX3BvbGljeV9wICgpIGNv bnN0IG92ZXJyaWRlIHsgcmV0dXJuIGZhbHNlOyB9DQorICBib29sIHVzZV9t YXNrX3ByZWRpY2F0aW9uX3AgKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4g ZmFsc2U7IH0NCisNCisgIHJ0eCBleHBhbmQgKGZ1bmN0aW9uX2V4cGFuZGVy ICZlKSBjb25zdCBvdmVycmlkZQ0KKyAgew0KKyAgICByZXR1cm4gZS51c2Vf ZXhhY3RfaW5zbiAoY29kZV9mb3JfcHJlZF9jcnlwdG9fdmlfc2NhbGFyIChV TlNQRUMsIGUudmVjdG9yX21vZGUgKCkpKTsNCisgIH0NCit9Ow0KKw0KKy8q IEltcGxlbWVudHMgdmFlc2tmMi92c20zYy4gKi8NCit0ZW1wbGF0ZTxpbnQg VU5TUEVDPg0KK2NsYXNzIHZhZXNrZjJfdnNtM2MgOiBwdWJsaWMgZnVuY3Rp b25fYmFzZQ0KK3sNCitwdWJsaWM6DQorICBib29sIGFwcGx5X21hc2tfcG9s aWN5X3AgKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gZmFsc2U7IH0NCisg IGJvb2wgdXNlX21hc2tfcHJlZGljYXRpb25fcCAoKSBjb25zdCBvdmVycmlk ZSB7IHJldHVybiBmYWxzZTsgfQ0KKyAgYm9vbCBoYXNfbWVyZ2Vfb3BlcmFu ZF9wICgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIGZhbHNlOyB9DQorDQor ICBydHggZXhwYW5kIChmdW5jdGlvbl9leHBhbmRlciAmZSkgY29uc3Qgb3Zl cnJpZGUNCisgIHsNCisgICAgcmV0dXJuIGUudXNlX2V4YWN0X2luc24gKGNv ZGVfZm9yX3ByZWRfdmlfbm9tYXNrZWRvZmZfc2NhbGFyIChVTlNQRUMsIGUu dmVjdG9yX21vZGUgKCkpKTsNCisgIH0NCit9Ow0KKw0KKy8qIEltcGxlbWVu dHMgdnNtM21lLiAqLw0KK2NsYXNzIHZzbTNtZSA6IHB1YmxpYyBmdW5jdGlv bl9iYXNlDQorew0KK3B1YmxpYzoNCisgIGJvb2wgYXBwbHlfbWFza19wb2xp Y3lfcCAoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBmYWxzZTsgfQ0KKyAg Ym9vbCB1c2VfbWFza19wcmVkaWNhdGlvbl9wICgpIGNvbnN0IG92ZXJyaWRl IHsgcmV0dXJuIGZhbHNlOyB9DQorDQorICBydHggZXhwYW5kIChmdW5jdGlv bl9leHBhbmRlciAmZSkgY29uc3Qgb3ZlcnJpZGUNCisgIHsNCisgICAgcmV0 dXJuIGUudXNlX2V4YWN0X2luc24gKGNvZGVfZm9yX3ByZWRfdnNtM21lIChl LnZlY3Rvcl9tb2RlICgpKSk7DQorICB9DQorfTsNCisNCnN0YXRpYyBDT05T VEVYUFIgY29uc3QgdnNldHZsPGZhbHNlPiB2c2V0dmxfb2JqOw0Kc3RhdGlj IENPTlNURVhQUiBjb25zdCB2c2V0dmw8dHJ1ZT4gdnNldHZsbWF4X29iajsN CnN0YXRpYyBDT05TVEVYUFIgY29uc3QgbG9hZHN0b3JlPGZhbHNlLCBMU1Rf VU5JVF9TVFJJREUsIGZhbHNlPiB2bGVfb2JqOw0KQEAgLTIzODQsNiArMjU4 NSwzNSBAQCBzdGF0aWMgQ09OU1RFWFBSIGNvbnN0IHNlZ19pbmRleGVkX3N0 b3JlPFVOU1BFQ19VTk9SREVSRUQ+IHZzdXhzZWdfb2JqOw0Kc3RhdGljIENP TlNURVhQUiBjb25zdCBzZWdfaW5kZXhlZF9zdG9yZTxVTlNQRUNfT1JERVJF RD4gdnNveHNlZ19vYmo7DQpzdGF0aWMgQ09OU1RFWFBSIGNvbnN0IHZsc2Vn ZmYgdmxzZWdmZl9vYmo7DQorLyogQ3J5cHRvIFZlY3RvciAqLw0KK3N0YXRp YyBDT05TVEVYUFIgY29uc3QgdmFuZG4gdmFuZG5fb2JqOw0KK3N0YXRpYyBD T05TVEVYUFIgY29uc3QgYml0bWFuaXA8Uk9UQVRFPiAgIHZyb2xfb2JqOw0K K3N0YXRpYyBDT05TVEVYUFIgY29uc3QgYml0bWFuaXA8Uk9UQVRFUlQ+IHZy b3Jfb2JqOw0KK3N0YXRpYyBDT05TVEVYUFIgY29uc3QgYl9yZXZlcnNlPFVO U1BFQ19WQlJFVj4gICB2YnJldl9vYmo7DQorc3RhdGljIENPTlNURVhQUiBj b25zdCBiX3JldmVyc2U8VU5TUEVDX1ZCUkVWOD4gIHZicmV2OF9vYmo7DQor c3RhdGljIENPTlNURVhQUiBjb25zdCBiX3JldmVyc2U8VU5TUEVDX1ZSRVY4 PiAgIHZyZXY4X29iajsNCitzdGF0aWMgQ09OU1RFWFBSIGNvbnN0IGJpdG1h bmlwPENMWj4gdmNsel9vYmo7DQorc3RhdGljIENPTlNURVhQUiBjb25zdCBi aXRtYW5pcDxDVFo+IHZjdHpfb2JqOw0KK3N0YXRpYyBDT05TVEVYUFIgY29u c3QgdndzbGwgdndzbGxfb2JqOw0KK3N0YXRpYyBDT05TVEVYUFIgY29uc3Qg Y2xtdWw8VU5TUEVDX1ZDTE1VTD4gICAgICB2Y2xtdWxfb2JqOw0KK3N0YXRp YyBDT05TVEVYUFIgY29uc3QgY2xtdWw8VU5TUEVDX1ZDTE1VTEg+ICAgICB2 Y2xtdWxoX29iajsNCitzdGF0aWMgQ09OU1RFWFBSIGNvbnN0IHZnX25oYWI8 VU5TUEVDX1ZHSFNIPiAgICAgdmdoc2hfb2JqOw0KK3N0YXRpYyBDT05TVEVY UFIgY29uc3QgY3J5cHRvX3Z2PFVOU1BFQ19WR01VTD4gICB2Z211bF9vYmo7 DQorc3RhdGljIENPTlNURVhQUiBjb25zdCBjcnlwdG9fdnY8VU5TUEVDX1ZB RVNFRj4gIHZhZXNlZl9vYmo7DQorc3RhdGljIENPTlNURVhQUiBjb25zdCBj cnlwdG9fdnY8VU5TUEVDX1ZBRVNFTT4gIHZhZXNlbV9vYmo7DQorc3RhdGlj IENPTlNURVhQUiBjb25zdCBjcnlwdG9fdnY8VU5TUEVDX1ZBRVNERj4gIHZh ZXNkZl9vYmo7DQorc3RhdGljIENPTlNURVhQUiBjb25zdCBjcnlwdG9fdnY8 VU5TUEVDX1ZBRVNETT4gIHZhZXNkbV9vYmo7DQorc3RhdGljIENPTlNURVhQ UiBjb25zdCBjcnlwdG9fdnY8VU5TUEVDX1ZBRVNaPiAgIHZhZXN6X29iajsN CitzdGF0aWMgQ09OU1RFWFBSIGNvbnN0IGNyeXB0b192aTxVTlNQRUNfVkFF U0tGMT4gdmFlc2tmMV9vYmo7DQorc3RhdGljIENPTlNURVhQUiBjb25zdCB2 YWVza2YyX3ZzbTNjPFVOU1BFQ19WQUVTS0YyPiB2YWVza2YyX29iajsNCitz dGF0aWMgQ09OU1RFWFBSIGNvbnN0IHZnX25oYWI8VU5TUEVDX1ZTSEEyTVM+ ICAgdnNoYTJtc19vYmo7DQorc3RhdGljIENPTlNURVhQUiBjb25zdCB2Z19u aGFiPFVOU1BFQ19WU0hBMkNIPiAgIHZzaGEyY2hfb2JqOw0KK3N0YXRpYyBD T05TVEVYUFIgY29uc3QgdmdfbmhhYjxVTlNQRUNfVlNIQTJDTD4gICB2c2hh MmNsX29iajsNCitzdGF0aWMgQ09OU1RFWFBSIGNvbnN0IGNyeXB0b192aTxV TlNQRUNfVlNNNEs+ICAgdnNtNGtfb2JqOw0KK3N0YXRpYyBDT05TVEVYUFIg Y29uc3QgY3J5cHRvX3Z2PFVOU1BFQ19WU000Uj4gICB2c200cl9vYmo7DQor c3RhdGljIENPTlNURVhQUiBjb25zdCB2c20zbWUgdnNtM21lX29iajsNCitz dGF0aWMgQ09OU1RFWFBSIGNvbnN0IHZhZXNrZjJfdnNtM2M8VU5TUEVDX1ZT TTNDPiAgIHZzbTNjX29iajsNCisNCi8qIERlY2xhcmUgdGhlIGZ1bmN0aW9u IGJhc2UgTkFNRSwgcG9pbnRpbmcgaXQgdG8gYW4gaW5zdGFuY2UNCiAgICBv ZiBjbGFzcyA8TkFNRT5fb2JqLiAgKi8NCiNkZWZpbmUgQkFTRShOQU1FKSBc DQpAQCAtMjY0NSw1ICsyODc1LDMyIEBAIEJBU0UgKHZsb3hzZWcpDQpCQVNF ICh2c3V4c2VnKQ0KQkFTRSAodnNveHNlZykNCkJBU0UgKHZsc2VnZmYpDQot DQorLyogQ3J5cHRvIHZlY3RvciAqLw0KK0JBU0UgKHZhbmRuKQ0KK0JBU0Ug KHZicmV2KQ0KK0JBU0UgKHZicmV2OCkNCitCQVNFICh2cmV2OCkNCitCQVNF ICh2Y2x6KQ0KK0JBU0UgKHZjdHopDQorQkFTRSAodnJvbCkNCitCQVNFICh2 cm9yKQ0KK0JBU0UgKHZ3c2xsKQ0KK0JBU0UgKHZjbG11bCkNCitCQVNFICh2 Y2xtdWxoKQ0KK0JBU0UgKHZnaHNoKQ0KK0JBU0UgKHZnbXVsKQ0KK0JBU0Ug KHZhZXNlZikNCitCQVNFICh2YWVzZW0pDQorQkFTRSAodmFlc2RmKQ0KK0JB U0UgKHZhZXNkbSkNCitCQVNFICh2YWVzeikNCitCQVNFICh2YWVza2YxKQ0K K0JBU0UgKHZhZXNrZjIpDQorQkFTRSAodnNoYTJtcykNCitCQVNFICh2c2hh MmNoKQ0KK0JBU0UgKHZzaGEyY2wpDQorQkFTRSAodnNtNGspDQorQkFTRSAo dnNtNHIpDQorQkFTRSAodnNtM21lKQ0KK0JBU0UgKHZzbTNjKQ0KfSAvLyBl bmQgbmFtZXNwYWNlIHJpc2N2X3ZlY3Rvcg0KZGlmZiAtLWdpdCBhL2djYy9j b25maWcvcmlzY3YvcmlzY3YtdmVjdG9yLWJ1aWx0aW5zLWJhc2VzLmggYi9n Y2MvY29uZmlnL3Jpc2N2L3Jpc2N2LXZlY3Rvci1idWlsdGlucy1iYXNlcy5o DQppbmRleCAxMzEwNDFlYTY2Zi4uNTFiNTNhM2Q0YTkgMTAwNjQ0DQotLS0g YS9nY2MvY29uZmlnL3Jpc2N2L3Jpc2N2LXZlY3Rvci1idWlsdGlucy1iYXNl cy5oDQorKysgYi9nY2MvY29uZmlnL3Jpc2N2L3Jpc2N2LXZlY3Rvci1idWls dGlucy1iYXNlcy5oDQpAQCAtMjgwLDYgKzI4MCwzNCBAQCBleHRlcm4gY29u c3QgZnVuY3Rpb25fYmFzZSAqY29uc3QgdmxveHNlZzsNCmV4dGVybiBjb25z dCBmdW5jdGlvbl9iYXNlICpjb25zdCB2c3V4c2VnOw0KZXh0ZXJuIGNvbnN0 IGZ1bmN0aW9uX2Jhc2UgKmNvbnN0IHZzb3hzZWc7DQpleHRlcm4gY29uc3Qg ZnVuY3Rpb25fYmFzZSAqY29uc3QgdmxzZWdmZjsNCisvKiBCZWxvdyBmdW5j dGlvbl9iYXNlIGFyZSBWZWN0cm8gQ3J5cHRvKi8NCitleHRlcm4gY29uc3Qg ZnVuY3Rpb25fYmFzZSAqY29uc3QgdmFuZG47DQorZXh0ZXJuIGNvbnN0IGZ1 bmN0aW9uX2Jhc2UgKmNvbnN0IHZicmV2Ow0KK2V4dGVybiBjb25zdCBmdW5j dGlvbl9iYXNlICpjb25zdCB2YnJldjg7DQorZXh0ZXJuIGNvbnN0IGZ1bmN0 aW9uX2Jhc2UgKmNvbnN0IHZyZXY4Ow0KK2V4dGVybiBjb25zdCBmdW5jdGlv bl9iYXNlICpjb25zdCB2Y2x6Ow0KK2V4dGVybiBjb25zdCBmdW5jdGlvbl9i YXNlICpjb25zdCB2Y3R6Ow0KK2V4dGVybiBjb25zdCBmdW5jdGlvbl9iYXNl ICpjb25zdCB2cm9sOw0KK2V4dGVybiBjb25zdCBmdW5jdGlvbl9iYXNlICpj b25zdCB2cm9yOw0KK2V4dGVybiBjb25zdCBmdW5jdGlvbl9iYXNlICpjb25z dCB2d3NsbDsNCitleHRlcm4gY29uc3QgZnVuY3Rpb25fYmFzZSAqY29uc3Qg dmNsbXVsOw0KK2V4dGVybiBjb25zdCBmdW5jdGlvbl9iYXNlICpjb25zdCB2 Y2xtdWxoOw0KK2V4dGVybiBjb25zdCBmdW5jdGlvbl9iYXNlICpjb25zdCB2 Z2hzaDsNCitleHRlcm4gY29uc3QgZnVuY3Rpb25fYmFzZSAqY29uc3Qgdmdt dWw7DQorZXh0ZXJuIGNvbnN0IGZ1bmN0aW9uX2Jhc2UgKmNvbnN0IHZhZXNl ZjsNCitleHRlcm4gY29uc3QgZnVuY3Rpb25fYmFzZSAqY29uc3QgdmFlc2Vt Ow0KK2V4dGVybiBjb25zdCBmdW5jdGlvbl9iYXNlICpjb25zdCB2YWVzZGY7 DQorZXh0ZXJuIGNvbnN0IGZ1bmN0aW9uX2Jhc2UgKmNvbnN0IHZhZXNkbTsN CitleHRlcm4gY29uc3QgZnVuY3Rpb25fYmFzZSAqY29uc3QgdmFlc3o7DQor ZXh0ZXJuIGNvbnN0IGZ1bmN0aW9uX2Jhc2UgKmNvbnN0IHZhZXNrZjE7DQor ZXh0ZXJuIGNvbnN0IGZ1bmN0aW9uX2Jhc2UgKmNvbnN0IHZhZXNrZjI7DQor ZXh0ZXJuIGNvbnN0IGZ1bmN0aW9uX2Jhc2UgKmNvbnN0IHZzaGEybXM7DQor ZXh0ZXJuIGNvbnN0IGZ1bmN0aW9uX2Jhc2UgKmNvbnN0IHZzaGEyY2g7DQor ZXh0ZXJuIGNvbnN0IGZ1bmN0aW9uX2Jhc2UgKmNvbnN0IHZzaGEyY2w7DQor ZXh0ZXJuIGNvbnN0IGZ1bmN0aW9uX2Jhc2UgKmNvbnN0IHZzbTRrOw0KK2V4 dGVybiBjb25zdCBmdW5jdGlvbl9iYXNlICpjb25zdCB2c200cjsNCitleHRl cm4gY29uc3QgZnVuY3Rpb25fYmFzZSAqY29uc3QgdnNtM21lOw0KK2V4dGVy biBjb25zdCBmdW5jdGlvbl9iYXNlICpjb25zdCB2c20zYzsNCn0NCn0gLy8g ZW5kIG5hbWVzcGFjZSByaXNjdl92ZWN0b3INCmRpZmYgLS1naXQgYS9nY2Mv Y29uZmlnL3Jpc2N2L3Jpc2N2LXZlY3Rvci1idWlsdGlucy1zaGFwZXMuY2Mg Yi9nY2MvY29uZmlnL3Jpc2N2L3Jpc2N2LXZlY3Rvci1idWlsdGlucy1zaGFw ZXMuY2MNCmluZGV4IDRhNzU0ZTAyMjhmLi5jNmE3NTc0YzAxOSAxMDA2NDQN Ci0tLSBhL2djYy9jb25maWcvcmlzY3YvcmlzY3YtdmVjdG9yLWJ1aWx0aW5z LXNoYXBlcy5jYw0KKysrIGIvZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi12ZWN0 b3ItYnVpbHRpbnMtc2hhcGVzLmNjDQpAQCAtOTg0LDYgKzk4NCw2OSBAQCBz dHJ1Y3Qgc2VnX2ZhdWx0X2xvYWRfZGVmIDogcHVibGljIGJ1aWxkX2Jhc2UN CiAgIH0NCn07DQorLyogdmdoc2gvdmdtdWwvdnNoYTJtcy92c2hhMmNoL3Zz aGEyY2wvdnNtM21lL3ZhZXMqIGNsYXNzLiAgKi8NCitzdHJ1Y3QgY3J5cHRv X3Z2X2RlZiA6IHB1YmxpYyBidWlsZF9iYXNlDQorew0KKyAgY2hhciAqZ2V0 X25hbWUgKGZ1bmN0aW9uX2J1aWxkZXIgJmIsIGNvbnN0IGZ1bmN0aW9uX2lu c3RhbmNlICZpbnN0YW5jZSwNCisgICAgICAgICAgICAgICAgICBib29sIG92 ZXJsb2FkZWRfcCkgY29uc3Qgb3ZlcnJpZGUNCisgIHsNCisgICAgLyogUmV0 dXJuIG51bGxwdHIgaWYgaXQgY2FuIG5vdCBiZSBvdmVybG9hZGVkLiAgKi8N CisgICAgaWYgKG92ZXJsb2FkZWRfcCAmJiAhaW5zdGFuY2UuYmFzZS0+Y2Fu X2JlX292ZXJsb2FkZWRfcCAoaW5zdGFuY2UucHJlZCkpDQorICAgICAgcmV0 dXJuIG51bGxwdHI7DQorICAgIGIuYXBwZW5kX2Jhc2VfbmFtZSAoaW5zdGFu Y2UuYmFzZV9uYW1lKTsNCisgICAgLyogVGhlcmUgaXMgbm8gb3BfdHlwZSBu YW1lIGluIHZnaHNoL3ZnbXVsL3ZhZXN6L3ZzaGEybXMvdnNoYTJjaC92c2hh MmNsLw0KKyAgICAgICB2c20zbWUgb3ZlcmxvYWRlZCBpbnRyaW5zaWMgKi8N CisgICAgaWYgKCEoKHN0cmNtcCAoaW5zdGFuY2UuYmFzZV9uYW1lLCAidmdo c2giKSA9PSAwDQorICAgICAgICAgIHx8IHN0cmNtcCAoaW5zdGFuY2UuYmFz ZV9uYW1lLCAidmdtdWwiKSA9PSAwDQorICAgICAgICAgIHx8IHN0cmNtcCAo aW5zdGFuY2UuYmFzZV9uYW1lLCAidmFlc3oiKSA9PSAwDQorICAgICAgICAg IHx8IHN0cmNtcCAoaW5zdGFuY2UuYmFzZV9uYW1lLCAidnNoYTJtcyIpID09 IDANCisgICAgICAgICAgfHwgc3RyY21wIChpbnN0YW5jZS5iYXNlX25hbWUs ICJ2c2hhMmNoIikgPT0gMA0KKyAgICAgICAgICB8fCBzdHJjbXAgKGluc3Rh bmNlLmJhc2VfbmFtZSwgInZzaGEyY2wiKSA9PSAwDQorICAgICAgICAgIHx8 IHN0cmNtcCAoaW5zdGFuY2UuYmFzZV9uYW1lLCAidnNtM21lIikgPT0gMCkN CisgICAgICAgICAgJiYgb3ZlcmxvYWRlZF9wKSkNCisgICAgICBiLmFwcGVu ZF9uYW1lIChvcGVyYW5kX3N1ZmZpeGVzW2luc3RhbmNlLm9wX2luZm8tPm9w XSk7DQorICAgIGlmICghb3ZlcmxvYWRlZF9wKQ0KKyAgICB7DQorICAgICAg aWYgKGluc3RhbmNlLm9wX2luZm8tPm9wID09IE9QX1RZUEVfdnYpDQorICAg ICAgICBiLmFwcGVuZF9uYW1lICh0eXBlX3N1ZmZpeGVzW2luc3RhbmNlLnR5 cGUuaW5kZXhdLnZlY3Rvcik7DQorICAgICAgZWxzZQ0KKyAgICAgIHsNCisg ICAgICAgIHZlY3Rvcl90eXBlX2luZGV4IGFyZzBfdHlwZV9pZHgNCisgICAg ICAgICAgPSBpbnN0YW5jZS5vcF9pbmZvLT5hcmdzWzFdLmdldF9mdW5jdGlv bl90eXBlX2luZGV4DQorICAgICAgICAgICAgKGluc3RhbmNlLnR5cGUuaW5k ZXgpOw0KKyAgICAgICAgYi5hcHBlbmRfbmFtZSAodHlwZV9zdWZmaXhlc1th cmcwX3R5cGVfaWR4XS52ZWN0b3IpOw0KKyAgICAgICAgdmVjdG9yX3R5cGVf aW5kZXggcmV0X3R5cGVfaWR4DQorICAgICAgICAgID0gaW5zdGFuY2Uub3Bf aW5mby0+cmV0LmdldF9mdW5jdGlvbl90eXBlX2luZGV4DQorICAgICAgICAg ICAgKGluc3RhbmNlLnR5cGUuaW5kZXgpOw0KKyAgICAgICAgYi5hcHBlbmRf bmFtZSAodHlwZV9zdWZmaXhlc1tyZXRfdHlwZV9pZHhdLnZlY3Rvcik7DQor ICAgICAgfQ0KKyAgICB9DQorDQorICAgIGIuYXBwZW5kX25hbWUgKHByZWRp Y2F0aW9uX3N1ZmZpeGVzW2luc3RhbmNlLnByZWRdKTsNCisgICAgcmV0dXJu IGIuZmluaXNoX25hbWUgKCk7DQorICB9DQorfTsNCisNCisvKiB2YWVza2Yx L3ZhZXNrZjIvdnNtNGsvdnNtM2MgY2xhc3MuICAqLw0KK3N0cnVjdCBjcnlw dG9fdmlfZGVmIDogcHVibGljIGJ1aWxkX2Jhc2UNCit7DQorICBjaGFyICpn ZXRfbmFtZSAoZnVuY3Rpb25fYnVpbGRlciAmYiwgY29uc3QgZnVuY3Rpb25f aW5zdGFuY2UgJmluc3RhbmNlLA0KKyAgICAgICAgICAgICAgICAgIGJvb2wg b3ZlcmxvYWRlZF9wKSBjb25zdCBvdmVycmlkZQ0KKyAgew0KKyAgICAvKiBS ZXR1cm4gbnVsbHB0ciBpZiBpdCBjYW4gbm90IGJlIG92ZXJsb2FkZWQuICAq Lw0KKyAgICBpZiAob3ZlcmxvYWRlZF9wICYmICFpbnN0YW5jZS5iYXNlLT5j YW5fYmVfb3ZlcmxvYWRlZF9wIChpbnN0YW5jZS5wcmVkKSkNCisgICAgICBy ZXR1cm4gbnVsbHB0cjsNCisgICAgYi5hcHBlbmRfYmFzZV9uYW1lIChpbnN0 YW5jZS5iYXNlX25hbWUpOw0KKyAgICBpZiAoIW92ZXJsb2FkZWRfcCkNCisg ICAgew0KKyAgICAgIGIuYXBwZW5kX25hbWUgKG9wZXJhbmRfc3VmZml4ZXNb aW5zdGFuY2Uub3BfaW5mby0+b3BdKTsNCisgICAgICBiLmFwcGVuZF9uYW1l ICh0eXBlX3N1ZmZpeGVzW2luc3RhbmNlLnR5cGUuaW5kZXhdLnZlY3Rvcik7 DQorICAgIH0NCisgICAgYi5hcHBlbmRfbmFtZSAocHJlZGljYXRpb25fc3Vm Zml4ZXNbaW5zdGFuY2UucHJlZF0pOw0KKyAgICByZXR1cm4gYi5maW5pc2hf bmFtZSAoKTsNCisgIH0NCit9Ow0KKw0KU0hBUEUodnNldHZsLCB2c2V0dmwp DQpTSEFQRSh2c2V0dmwsIHZzZXR2bG1heCkNClNIQVBFKGxvYWRzdG9yZSwg bG9hZHN0b3JlKQ0KQEAgLTEwMTIsNSArMTA3NSw2IEBAIFNIQVBFKHZsZW5i LCB2bGVuYikNClNIQVBFKHNlZ19sb2Fkc3RvcmUsIHNlZ19sb2Fkc3RvcmUp DQpTSEFQRShzZWdfaW5kZXhlZF9sb2Fkc3RvcmUsIHNlZ19pbmRleGVkX2xv YWRzdG9yZSkNClNIQVBFKHNlZ19mYXVsdF9sb2FkLCBzZWdfZmF1bHRfbG9h ZCkNCi0NCitTSEFQRShjcnlwdG9fdnYsIGNyeXB0b192dikNCitTSEFQRShj cnlwdG9fdmksIGNyeXB0b192aSkNCn0gLy8gZW5kIG5hbWVzcGFjZSByaXNj dl92ZWN0b3INCmRpZmYgLS1naXQgYS9nY2MvY29uZmlnL3Jpc2N2L3Jpc2N2 LXZlY3Rvci1idWlsdGlucy1zaGFwZXMuaCBiL2djYy9jb25maWcvcmlzY3Yv cmlzY3YtdmVjdG9yLWJ1aWx0aW5zLXNoYXBlcy5oDQppbmRleCBkZjk4ODRi YjU3Mi4uM2JiODliNTc1YWMgMTAwNjQ0DQotLS0gYS9nY2MvY29uZmlnL3Jp c2N2L3Jpc2N2LXZlY3Rvci1idWlsdGlucy1zaGFwZXMuaA0KKysrIGIvZ2Nj L2NvbmZpZy9yaXNjdi9yaXNjdi12ZWN0b3ItYnVpbHRpbnMtc2hhcGVzLmgN CkBAIC01Miw2ICs1MiwxMCBAQCBleHRlcm4gY29uc3QgZnVuY3Rpb25fc2hh cGUgKmNvbnN0IHZsZW5iOw0KZXh0ZXJuIGNvbnN0IGZ1bmN0aW9uX3NoYXBl ICpjb25zdCBzZWdfbG9hZHN0b3JlOw0KZXh0ZXJuIGNvbnN0IGZ1bmN0aW9u X3NoYXBlICpjb25zdCBzZWdfaW5kZXhlZF9sb2Fkc3RvcmU7DQpleHRlcm4g Y29uc3QgZnVuY3Rpb25fc2hhcGUgKmNvbnN0IHNlZ19mYXVsdF9sb2FkOw0K Ky8qIEJlbG93IGZ1bmN0aW9uX3NoYXBlIGFyZSBWZWN0cm8gQ3J5cHRvKi8N CitleHRlcm4gY29uc3QgZnVuY3Rpb25fc2hhcGUgKmNvbnN0IHp2YmJfenZi YzsNCitleHRlcm4gY29uc3QgZnVuY3Rpb25fc2hhcGUgKmNvbnN0IGNyeXB0 b192djsNCitleHRlcm4gY29uc3QgZnVuY3Rpb25fc2hhcGUgKmNvbnN0IGNy eXB0b192aTsNCn0NCn0gLy8gZW5kIG5hbWVzcGFjZSByaXNjdl92ZWN0b3IN CmRpZmYgLS1naXQgYS9nY2MvY29uZmlnL3Jpc2N2L3Jpc2N2LXZlY3Rvci1i dWlsdGlucy5jYyBiL2djYy9jb25maWcvcmlzY3YvcmlzY3YtdmVjdG9yLWJ1 aWx0aW5zLmNjDQppbmRleCA2MzMwYTNhNDFjMy4uZTVlOGYwZDE5YWMgMTAw NjQ0DQotLS0gYS9nY2MvY29uZmlnL3Jpc2N2L3Jpc2N2LXZlY3Rvci1idWls dGlucy5jYw0KKysrIGIvZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi12ZWN0b3It YnVpbHRpbnMuY2MNCkBAIC01MSw2ICs1MSw3IEBADQojaW5jbHVkZSAicmlz Y3YtdmVjdG9yLWJ1aWx0aW5zLmgiDQojaW5jbHVkZSAicmlzY3YtdmVjdG9y LWJ1aWx0aW5zLXNoYXBlcy5oIg0KI2luY2x1ZGUgInJpc2N2LXZlY3Rvci1i dWlsdGlucy1iYXNlcy5oIg0KKyNpbmNsdWRlICJyaXNjdi12ZWN0b3ItY3J5 cHRvLWJ1aWx0aW5zLWF2YWlsLmgiDQp1c2luZyBuYW1lc3BhY2UgcmlzY3Zf dmVjdG9yOw0KQEAgLTUyMSw2ICs1MjIsMTkgQEAgc3RhdGljIGNvbnN0IHJ2 dl90eXBlX2luZm8gdHVwbGVfb3BzW10gPSB7DQojaW5jbHVkZSAicmlzY3Yt dmVjdG9yLWJ1aWx0aW5zLXR5cGVzLmRlZiINCiAgIHtOVU1fVkVDVE9SX1RZ UEVTLCAwfX07DQorLyogQmVsb3cgdHlwZXMgd2lsbCBiZSByZWdpc3RlcmVk IGZvciB2ZWN0b3ItY3J5cHRvIGludHJpbnNpYyBmdW5jdGlvbnMqLw0KKy8q IEEgbGlzdCBvZiBzZXczMiB3aWxsIGJlIHJlZ2lzdGVyZWQgZm9yIHZlY3Rv ci1jcnlwdG8gaW50cmluc2ljIGZ1bmN0aW9ucy4gICovDQorc3RhdGljIGNv bnN0IHJ2dl90eXBlX2luZm8gY3J5cHRvX3NldzMyX29wc1tdID0gew0KKyNk ZWZpbmUgREVGX1JWVl9DUllQVE9fU0VXMzJfT1BTKFRZUEUsIFJFUVVJUkUp IHtWRUNUT1JfVFlQRV8jI1RZUEUsIFJFUVVJUkV9LA0KKyNpbmNsdWRlICJy aXNjdi12ZWN0b3ItY3J5cHRvLWJ1aWx0aW5zLXR5cGVzLmRlZiINCisgIHtO VU1fVkVDVE9SX1RZUEVTLCAwfX07DQorDQorLyogQSBsaXN0IG9mIHNldzY0 IHdpbGwgYmUgcmVnaXN0ZXJlZCBmb3IgdmVjdG9yLWNyeXB0byBpbnRyaW5z aWMgZnVuY3Rpb25zLiAgKi8NCitzdGF0aWMgY29uc3QgcnZ2X3R5cGVfaW5m byBjcnlwdG9fc2V3NjRfb3BzW10gPSB7DQorI2RlZmluZSBERUZfUlZWX0NS WVBUT19TRVc2NF9PUFMoVFlQRSwgUkVRVUlSRSkge1ZFQ1RPUl9UWVBFXyMj VFlQRSwgUkVRVUlSRX0sDQorI2luY2x1ZGUgInJpc2N2LXZlY3Rvci1jcnlw dG8tYnVpbHRpbnMtdHlwZXMuZGVmIg0KKyAge05VTV9WRUNUT1JfVFlQRVMs IDB9fTsNCisNCnN0YXRpYyBDT05TVEVYUFIgY29uc3QgcnZ2X2FyZ190eXBl X2luZm8gcnZ2X2FyZ190eXBlX2luZm9fZW5kDQogICA9IHJ2dl9hcmdfdHlw ZV9pbmZvIChOVU1fQkFTRV9UWVBFUyk7DQpAQCAtNzU0LDYgKzc2OCwxMSBA QCBzdGF0aWMgQ09OU1RFWFBSIGNvbnN0IHJ2dl9hcmdfdHlwZV9pbmZvIHZf c2l6ZV9hcmdzW10NCiAgID0ge3J2dl9hcmdfdHlwZV9pbmZvIChSVlZfQkFT RV92ZWN0b3IpLCBydnZfYXJnX3R5cGVfaW5mbyAoUlZWX0JBU0Vfc2l6ZSks DQogICAgICBydnZfYXJnX3R5cGVfaW5mb19lbmR9Ow0KKy8qIEEgbGlzdCBv ZiBhcmdzIGZvciB2ZWN0b3JfdHlwZSBmdW5jIChkb3VibGUgZGVtb3RlX3R5 cGUsIHNpemVfdCkgZnVuY3Rpb24uICAqLw0KK3N0YXRpYyBDT05TVEVYUFIg Y29uc3QgcnZ2X2FyZ190eXBlX2luZm8gd3Zfc2l6ZV9hcmdzW10NCisgID0g e3J2dl9hcmdfdHlwZV9pbmZvIChSVlZfQkFTRV9kb3VibGVfdHJ1bmNfdmVj dG9yKSwNCisgICAgcnZ2X2FyZ190eXBlX2luZm8gKFJWVl9CQVNFX3NpemUp LHJ2dl9hcmdfdHlwZV9pbmZvX2VuZH07DQorDQovKiBBIGxpc3Qgb2YgYXJn cyBmb3IgdmVjdG9yX3R5cGUgZnVuYyAodmVjdG9yX3R5cGUsIHZlY3Rvcl90 eXBlLCBzaXplKQ0KICAqIGZ1bmN0aW9uLiAgKi8NCnN0YXRpYyBDT05TVEVY UFIgY29uc3QgcnZ2X2FyZ190eXBlX2luZm8gdnZfc2l6ZV9hcmdzW10NCkBA IC0xMDQ0LDYgKzEwNjMsMTQgQEAgc3RhdGljIENPTlNURVhQUiBjb25zdCBy dnZfb3BfaW5mbyB1X3Zfb3BzDQogICAgICBydnZfYXJnX3R5cGVfaW5mbyAo UlZWX0JBU0VfdmVjdG9yKSwgLyogUmV0dXJuIHR5cGUgKi8NCiAgICAgIGVu ZF9hcmdzIC8qIEFyZ3MgKi99Ow0KKy8qIEEgc3RhdGljIG9wZXJhbmQgaW5m b3JtYXRpb24gZm9yIHZlY3Rvcl90eXBlIGZ1bmMgKHZlY3Rvcl90eXBlKQ0K KyAqIGZ1bmN0aW9uIHJlZ2lzdHJhdGlvbi4gKi8NCitzdGF0aWMgQ09OU1RF WFBSIGNvbnN0IHJ2dl9vcF9pbmZvIHVfdnZfb3BzDQorICA9IHt1X29wcywg LyogVHlwZXMgKi8NCisgICAgIE9QX1RZUEVfdiwgLyogU3VmZml4ICovDQor ICAgICBydnZfYXJnX3R5cGVfaW5mbyAoUlZWX0JBU0VfdmVjdG9yKSwgLyog UmV0dXJuIHR5cGUgKi8NCisgICAgIHZfYXJncyAvKiBBcmdzICovfTsNCisN Ci8qIEEgc3RhdGljIG9wZXJhbmQgaW5mb3JtYXRpb24gZm9yIHVuc2lnbmVk IGxvbmcgZnVuYyAodmVjdG9yX3R5cGUpDQogICogZnVuY3Rpb24gcmVnaXN0 cmF0aW9uLiAqLw0Kc3RhdGljIENPTlNURVhQUiBjb25zdCBydnZfb3BfaW5m byBiX3Vsb25nX21fb3BzDQpAQCAtMjE3NCw2ICsyMjAxLDE0IEBAIHN0YXRp YyBDT05TVEVYUFIgY29uc3QgcnZ2X29wX2luZm8gdV93dnZfb3BzDQogICAg ICBydnZfYXJnX3R5cGVfaW5mbyAoUlZWX0JBU0VfdmVjdG9yKSwgLyogUmV0 dXJuIHR5cGUgKi8NCiAgICAgIHd2dl9hcmdzIC8qIEFyZ3MgKi99Ow0KKy8q IEEgc3RhdGljIG9wZXJhbmQgaW5mb3JtYXRpb24gZm9yIHZlY3Rvcl90eXBl IGZ1bmMgKGRvdWJsZSBkZW1vdGUgdHlwZSwgc2l6ZSB0eXBlKQ0KKyAqIGZ1 bmN0aW9uIHJlZ2lzdHJhdGlvbi4gKi8NCitzdGF0aWMgQ09OU1RFWFBSIGNv bnN0IHJ2dl9vcF9pbmZvIHVfc2hpZnRfd3Z4X29wcw0KKyAgPSB7d2V4dHVf b3BzLCAgIC8qIFR5cGVzICovDQorICAgICBPUF9UWVBFX3Z4LCAgIC8qIFN1 ZmZpeCAqLw0KKyAgICAgcnZ2X2FyZ190eXBlX2luZm8gKFJWVl9CQVNFX3Zl Y3RvciksIC8qIFJldHVybiB0eXBlICovDQorICAgICB3dl9zaXplX2FyZ3Mg LyogQXJncyAqL307DQorDQovKiBBIHN0YXRpYyBvcGVyYW5kIGluZm9ybWF0 aW9uIGZvciB2ZWN0b3JfdHlwZSBmdW5jIChkb3VibGUgZGVtb3RlIHR5cGUs IGRvdWJsZQ0KICAqIGRlbW90ZSBzY2FsYXJfdHlwZSkgZnVuY3Rpb24gcmVn aXN0cmF0aW9uLiAqLw0Kc3RhdGljIENPTlNURVhQUiBjb25zdCBydnZfb3Bf aW5mbyBpX3d2eF9vcHMNCkBAIC0yNjA0LDYgKzI2MzksMTAxIEBAIHN0YXRp YyBDT05TVEVYUFIgY29uc3QgcnZ2X29wX2luZm8gYWxsX3ZfdmNyZWF0ZV9s bXVsNF94Ml9vcHMNCiAgICAgIHJ2dl9hcmdfdHlwZV9pbmZvIChSVlZfQkFT RV92bG11bF9leHRfeDIpLCAvKiBSZXR1cm4gdHlwZSAqLw0KICAgICAgZXh0 X3ZjcmVhdGVfYXJncyAvKiBBcmdzICovfTsNCisvKiBBIHN0YXRpYyBvcGVy YW5kIGluZm9ybWF0aW9uIGZvciB2ZWN0b3JfdHlwZSBmdW5jICh2ZWN0b3Jf dHlwZSkuDQorICAgU29tZSBpbnMganVzdCBzdXBwb3J0cyBTRVc9MzIsIHN1 Y2ggYXMgY3J5cHRvIHZlY3RvbCBadmtnIGV4dGVuc2lvbi4NCisgKiBmdW5j dGlvbiByZWdpc3RyYXRpb24uICAqLw0KK3N0YXRpYyBDT05TVEVYUFIgY29u c3QgcnZ2X2FyZ190eXBlX2luZm8gdnNfbG11bF94Ml9hcmdzW10NCisgID0g e3J2dl9hcmdfdHlwZV9pbmZvIChSVlZfQkFTRV92bG11bF9leHRfeDIpLA0K KyAgICAgcnZ2X2FyZ190eXBlX2luZm8gKFJWVl9CQVNFX3ZlY3RvciksIHJ2 dl9hcmdfdHlwZV9pbmZvX2VuZH07DQorDQorc3RhdGljIENPTlNURVhQUiBj b25zdCBydnZfYXJnX3R5cGVfaW5mbyB2c19sbXVsX3g0X2FyZ3NbXQ0KKyAg PSB7cnZ2X2FyZ190eXBlX2luZm8gKFJWVl9CQVNFX3ZsbXVsX2V4dF94NCks DQorICAgICBydnZfYXJnX3R5cGVfaW5mbyAoUlZWX0JBU0VfdmVjdG9yKSwg cnZ2X2FyZ190eXBlX2luZm9fZW5kfTsNCisNCitzdGF0aWMgQ09OU1RFWFBS IGNvbnN0IHJ2dl9hcmdfdHlwZV9pbmZvIHZzX2xtdWxfeDhfYXJnc1tdDQor ICA9IHtydnZfYXJnX3R5cGVfaW5mbyAoUlZWX0JBU0VfdmxtdWxfZXh0X3g4 KSwNCisgICAgIHJ2dl9hcmdfdHlwZV9pbmZvIChSVlZfQkFTRV92ZWN0b3Ip LCBydnZfYXJnX3R5cGVfaW5mb19lbmR9Ow0KKw0KK3N0YXRpYyBDT05TVEVY UFIgY29uc3QgcnZ2X2FyZ190eXBlX2luZm8gdnNfbG11bF94MTZfYXJnc1td DQorICA9IHtydnZfYXJnX3R5cGVfaW5mbyAoUlZWX0JBU0VfdmxtdWxfZXh0 X3gxNiksDQorICAgICBydnZfYXJnX3R5cGVfaW5mbyAoUlZWX0JBU0VfdmVj dG9yKSwgcnZ2X2FyZ190eXBlX2luZm9fZW5kfTsNCisNCitzdGF0aWMgQ09O U1RFWFBSIGNvbnN0IHJ2dl9vcF9pbmZvIHVfdnZ2X2NyeXB0b19zZXczMl9v cHMNCisgID0ge2NyeXB0b19zZXczMl9vcHMsICAgIC8qIFR5cGVzICovDQor ICAgICBPUF9UWVBFX3Z2LCAgICAvKiBTdWZmaXggKi8NCisgICAgIHJ2dl9h cmdfdHlwZV9pbmZvIChSVlZfQkFTRV92ZWN0b3IpLCAvKiBSZXR1cm4gdHlw ZSAqLw0KKyAgICAgdnZfYXJncyAvKiBBcmdzICovfTsNCisNCitzdGF0aWMg Q09OU1RFWFBSIGNvbnN0IHJ2dl9vcF9pbmZvIHVfdnZ2dl9jcnlwdG9fc2V3 MzJfb3BzDQorICA9IHtjcnlwdG9fc2V3MzJfb3BzLCAgICAvKiBUeXBlcyAq Lw0KKyAgICAgT1BfVFlQRV92diwgICAgLyogU3VmZml4ICovDQorICAgICBy dnZfYXJnX3R5cGVfaW5mbyAoUlZWX0JBU0VfdmVjdG9yKSwgLyogUmV0dXJu IHR5cGUgKi8NCisgICAgIHZ2dl9hcmdzIC8qIEFyZ3MgKi99Ow0KKw0KK3N0 YXRpYyBDT05TVEVYUFIgY29uc3QgcnZ2X29wX2luZm8gdV92dnZfc2l6ZV9j cnlwdG9fc2V3MzJfb3BzDQorICA9IHtjcnlwdG9fc2V3MzJfb3BzLCAgICAv KiBUeXBlcyAqLw0KKyAgICAgT1BfVFlQRV92aSwgICAgLyogU3VmZml4ICov DQorICAgICBydnZfYXJnX3R5cGVfaW5mbyAoUlZWX0JBU0VfdmVjdG9yKSwg LyogUmV0dXJuIHR5cGUgKi8NCisgICAgIHZ2X3NpemVfYXJncyAvKiBBcmdz ICovfTsNCisNCitzdGF0aWMgQ09OU1RFWFBSIGNvbnN0IHJ2dl9vcF9pbmZv IHVfdnZfc2l6ZV9jcnlwdG9fc2V3MzJfb3BzDQorICA9IHtjcnlwdG9fc2V3 MzJfb3BzLCAgICAvKiBUeXBlcyAqLw0KKyAgICAgT1BfVFlQRV92aSwgICAg LyogU3VmZml4ICovDQorICAgICBydnZfYXJnX3R5cGVfaW5mbyAoUlZWX0JB U0VfdmVjdG9yKSwgLyogUmV0dXJuIHR5cGUgKi8NCisgICAgIHZfc2l6ZV9h cmdzIC8qIEFyZ3MgKi99Ow0KKw0KK3N0YXRpYyBDT05TVEVYUFIgY29uc3Qg cnZ2X29wX2luZm8gdV92dnNfY3J5cHRvX3NldzMyX29wcw0KKyAgPSB7Y3J5 cHRvX3NldzMyX29wcywgICAgLyogVHlwZXMgKi8NCisgICAgIE9QX1RZUEVf dnMsICAgIC8qIFN1ZmZpeCAqLw0KKyAgICAgcnZ2X2FyZ190eXBlX2luZm8g KFJWVl9CQVNFX3ZlY3RvciksIC8qIFJldHVybiB0eXBlICovDQorICAgICB2 dl9hcmdzIC8qIEFyZ3MgKi99Ow0KKw0KK3N0YXRpYyBDT05TVEVYUFIgY29u c3QgcnZ2X29wX2luZm8gdV92dnNfY3J5cHRvX3NldzMyX2xtdWxfeDJfb3Bz DQorICA9IHtjcnlwdG9fc2V3MzJfb3BzLCAgICAvKiBUeXBlcyAqLw0KKyAg ICAgT1BfVFlQRV92cywgICAgLyogU3VmZml4ICovDQorICAgICBydnZfYXJn X3R5cGVfaW5mbyAoUlZWX0JBU0VfdmxtdWxfZXh0X3gyKSwgLyogUmV0dXJu IHR5cGUgKi8NCisgICAgIHZzX2xtdWxfeDJfYXJncyAvKiBBcmdzICovfTsN CisNCitzdGF0aWMgQ09OU1RFWFBSIGNvbnN0IHJ2dl9vcF9pbmZvIHVfdnZz X2NyeXB0b19zZXczMl9sbXVsX3g0X29wcw0KKyAgPSB7Y3J5cHRvX3NldzMy X29wcywgICAgLyogVHlwZXMgKi8NCisgICAgIE9QX1RZUEVfdnMsICAgIC8q IFN1ZmZpeCAqLw0KKyAgICAgcnZ2X2FyZ190eXBlX2luZm8gKFJWVl9CQVNF X3ZsbXVsX2V4dF94NCksIC8qIFJldHVybiB0eXBlICovDQorICAgICB2c19s bXVsX3g0X2FyZ3MgLyogQXJncyAqL307DQorDQorc3RhdGljIENPTlNURVhQ UiBjb25zdCBydnZfb3BfaW5mbyB1X3Z2c19jcnlwdG9fc2V3MzJfbG11bF94 OF9vcHMNCisgID0ge2NyeXB0b19zZXczMl9vcHMsICAgIC8qIFR5cGVzICov DQorICAgICBPUF9UWVBFX3ZzLCAgICAvKiBTdWZmaXggKi8NCisgICAgIHJ2 dl9hcmdfdHlwZV9pbmZvIChSVlZfQkFTRV92bG11bF9leHRfeDgpLCAvKiBS ZXR1cm4gdHlwZSAqLw0KKyAgICAgdnNfbG11bF94OF9hcmdzIC8qIEFyZ3Mg Ki99Ow0KKw0KK3N0YXRpYyBDT05TVEVYUFIgY29uc3QgcnZ2X29wX2luZm8g dV92dnNfY3J5cHRvX3NldzMyX2xtdWxfeDE2X29wcw0KKyAgPSB7Y3J5cHRv X3NldzMyX29wcywgICAgLyogVHlwZXMgKi8NCisgICAgIE9QX1RZUEVfdnMs ICAgIC8qIFN1ZmZpeCAqLw0KKyAgICAgcnZ2X2FyZ190eXBlX2luZm8gKFJW Vl9CQVNFX3ZsbXVsX2V4dF94MTYpLCAvKiBSZXR1cm4gdHlwZSAqLw0KKyAg ICAgdnNfbG11bF94MTZfYXJncyAvKiBBcmdzICovfTsNCisNCisvKiBBIHN0 YXRpYyBvcGVyYW5kIGluZm9ybWF0aW9uIGZvciB2ZWN0b3JfdHlwZSBmdW5j ICh2ZWN0b3JfdHlwZSkuDQorICAgU29tZSBpbnMganVzdCBzdXBwb3J0cyBT RVc9NjQsIHN1Y2ggYXMgY3J5cHRvIHZlY3RvbCBadmJjIGV4dGVuc2lvbg0K KyAgIHZjbG11bC52diwgdmNsbXVsLnZ4Lg0KKyAqIGZ1bmN0aW9uIHJlZ2lz dHJhdGlvbi4gICovDQorc3RhdGljIENPTlNURVhQUiBjb25zdCBydnZfb3Bf aW5mbyB1X3Z2dl9jcnlwdG9fc2V3NjRfb3BzDQorICA9IHtjcnlwdG9fc2V3 NjRfb3BzLCAgICAvKiBUeXBlcyAqLw0KKyAgICAgT1BfVFlQRV92diwgICAg LyogU3VmZml4ICovDQorICAgICBydnZfYXJnX3R5cGVfaW5mbyAoUlZWX0JB U0VfdmVjdG9yKSwgLyogUmV0dXJuIHR5cGUgKi8NCisgICAgIHZ2X2FyZ3Mg LyogQXJncyAqL307DQorDQorc3RhdGljIENPTlNURVhQUiBjb25zdCBydnZf b3BfaW5mbyB1X3Z2eF9jcnlwdG9fc2V3NjRfb3BzDQorICA9IHtjcnlwdG9f c2V3NjRfb3BzLCAgICAvKiBUeXBlcyAqLw0KKyAgICAgT1BfVFlQRV92eCwg ICAgLyogU3VmZml4ICovDQorICAgICBydnZfYXJnX3R5cGVfaW5mbyAoUlZW X0JBU0VfdmVjdG9yKSwgLyogUmV0dXJuIHR5cGUgKi8NCisgICAgIHZ4X2Fy Z3MgLyogQXJncyAqL307DQorDQorc3RhdGljIENPTlNURVhQUiBjb25zdCBy dnZfb3BfaW5mbyB1X3Z2dnZfY3J5cHRvX3NldzY0X29wcw0KKyAgPSB7Y3J5 cHRvX3NldzY0X29wcywgICAgLyogVHlwZXMgKi8NCisgICAgIE9QX1RZUEVf dnYsICAgIC8qIFN1ZmZpeCAqLw0KKyAgICAgcnZ2X2FyZ190eXBlX2luZm8g KFJWVl9CQVNFX3ZlY3RvciksIC8qIFJldHVybiB0eXBlICovDQorICAgICB2 dnZfYXJncyAvKiBBcmdzICovfTsNCisNCi8qIEEgbGlzdCBvZiBhbGwgUlZW IGJhc2UgZnVuY3Rpb24gdHlwZXMuICAqLw0Kc3RhdGljIENPTlNURVhQUiBj b25zdCBmdW5jdGlvbl90eXBlX2luZm8gZnVuY3Rpb25fdHlwZXNbXSA9IHsN CiNkZWZpbmUgREVGX1JWVl9UWVBFX0lOREVYKCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQpAQCAtMjY4 OSw2ICsyODE5LDE0IEBAIHN0YXRpYyBmdW5jdGlvbl9ncm91cF9pbmZvIGZ1 bmN0aW9uX2dyb3Vwc1tdID0gew0KI2luY2x1ZGUgInJpc2N2LXZlY3Rvci1i dWlsdGlucy1mdW5jdGlvbnMuZGVmIg0KfTsNCisvKiBBIGxpc3Qgb2YgYWxs IFZlY3RvciBDcnlwdG8gaW50cmluc2ljIGZ1bmN0aW9ucy4gICovDQorc3Rh dGljIGNyeXB0b19mdW5jdGlvbl9ncm91cF9pbmZvIGNyeW90b19mdW5jdGlv bl9ncm91cHNbXSA9IHsNCisjZGVmaW5lIERFRl9WRUNUT1JfQ1JZUFRPX0ZV TkNUSU9OKE5BTUUsIFNIQVBFLCBQUkVEUywgT1BTX0lORk8sIEFWQUlMKSBc DQorICB7I05BTUUsICZiYXNlczo6TkFNRSwgJnNoYXBlczo6U0hBUEUsIFBS RURTLCBPUFNfSU5GTyxcDQorICAgcmlzY3ZfdmVjdG9yX2NyeXB0b19hdmFp bF8gIyMgQVZBSUx9LA0KKyNpbmNsdWRlICJyaXNjdi12ZWN0b3ItY3J5cHRv LWJ1aWx0aW5zLWZ1bmN0aW9ucy5kZWYiDQorfTsNCisNCi8qIFRoZSBSVlYg dHlwZXMsIHdpdGggdGhlaXIgYnVpbHQtaW4NCiAgICAiX19ydnYuLi5fdCIg bmFtZS4gIEFsbG93IGFuIGluZGV4IG9mIE5VTV9WRUNUT1JfVFlQRVMsIHdo aWNoIGFsd2F5cw0KICAgIHlpZWxkcyBhIG51bGwgdHJlZS4gICovDQpAQCAt NDE3Niw3ICs0MzE0LDkgQEAgcmVnaXN0ZXJlZF9mdW5jdGlvbjo6b3Zlcmxv YWRlZF9oYXNoIChjb25zdCB2ZWM8dHJlZSwgdmFfZ2M+ICZhcmdsaXN0KQ0K ICAgICAgICBfX3Jpc2N2X3ZzZXQodmludDhtMl90IGRlc3QsIHNpemVfdCBp bmRleCwgdmludDhtMV90IHZhbHVlKTsgVGhlIHJlYXNvbg0KICAgICAgICBp cyB0aGUgc2FtZSBhcyBhYm92ZS4gKi8NCiAgICAgICBpZiAoKGluc3RhbmNl LmJhc2UgPT0gYmFzZXM6OnZnZXQgJiYgKGkgPT0gKGxlbiAtIDEpKSkNCi0g ICB8fCAoaW5zdGFuY2UuYmFzZSA9PSBiYXNlczo6dnNldCAmJiAoaSA9PSAo bGVuIC0gMikpKSkNCisgICB8fCAoKGluc3RhbmNlLmJhc2UgPT0gYmFzZXM6 OnZzZXQNCisgICAgICAgICAgICAgICB8fCBpbnN0YW5jZS5zaGFwZSA9PSBz aGFwZXM6OmNyeXB0b192aSkNCisgICAgICAgICAgICAgJiYgKGkgPT0gKGxl biAtIDIpKSkpDQphcmd1bWVudF90eXBlcy5zYWZlX3B1c2ggKHNpemVfdHlw ZV9ub2RlKTsNCiAgICAgICAvKiBWZWN0b3IgZml4ZWQtcG9pbnQgYXJpdGht ZXRpYyBpbnN0cnVjdGlvbnMgcmVxdWlyaW5nIGFyZ3VtZW50IHZ4cm0uDQog ICAgIEZvciBleGFtcGxlOiB2dWludDMybTRfdCBfX3Jpc2N2X3ZhYWRkdSh2 dWludDMybTRfdCB2czIsDQpAQCAtNDQxNCw2ICs0NTU0LDE2IEBAIGhhbmRs ZV9wcmFnbWFfdmVjdG9yICgpDQogICBmdW5jdGlvbl9idWlsZGVyIGJ1aWxk ZXI7DQogICBmb3IgKHVuc2lnbmVkIGludCBpID0gMDsgaSA8IEFSUkFZX1NJ WkUgKGZ1bmN0aW9uX2dyb3Vwcyk7ICsraSkNCiAgICAgYnVpbGRlci5yZWdp c3Rlcl9mdW5jdGlvbl9ncm91cCAoZnVuY3Rpb25fZ3JvdXBzW2ldKTsNCisN CisgIC8qIFNpbmNlIENyeXB0byBWZWN0b3IgaW50cmluc2ljIGZ1bmN0aW9u cyBhcmUgZGVwZW5kIG9uIHZlY3RvciBleHRlbnNpb24sDQorICAgICBzbyB0 aGUgcmVnaXN0cmF0aW9uIGlzIHBsYWNlZCBhdCBsYXN0ICovDQorICBmb3Ig KHVuc2lnbmVkIGludCBpID0gMDsgaSA8IEFSUkFZX1NJWkUgKGNyeW90b19m dW5jdGlvbl9ncm91cHMpOyArK2kpDQorICB7DQorICAgIGNyeXB0b19mdW5j dGlvbl9ncm91cF9pbmZvICpmID0gJmNyeW90b19mdW5jdGlvbl9ncm91cHNb aV07DQorICAgIGlmIChmLT5hdmFpbCAoKSkNCisgICAgICBidWlsZGVyLnJl Z2lzdGVyX2Z1bmN0aW9uX2dyb3VwXA0KKyAgICAgICAgICAgICAoY3J5b3Rv X2Z1bmN0aW9uX2dyb3Vwc1tpXS5ydnZfZnVuY3Rpb25fZ3JvdXBfaW5mbyk7 DQorICB9DQp9DQovKiBSZXR1cm4gdGhlIGZ1bmN0aW9uIGRlY2wgd2l0aCBS VlYgZnVuY3Rpb24gc3ViY29kZSBDT0RFLCBvciBlcnJvcl9tYXJrX25vZGUN CmRpZmYgLS1naXQgYS9nY2MvY29uZmlnL3Jpc2N2L3Jpc2N2LXZlY3Rvci1i dWlsdGlucy5kZWYgYi9nY2MvY29uZmlnL3Jpc2N2L3Jpc2N2LXZlY3Rvci1i dWlsdGlucy5kZWYNCmluZGV4IDY2NjE2MjlhYWQ4Li4wYzNlZTNiMjk4NiAx MDA2NDQNCi0tLSBhL2djYy9jb25maWcvcmlzY3YvcmlzY3YtdmVjdG9yLWJ1 aWx0aW5zLmRlZg0KKysrIGIvZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi12ZWN0 b3ItYnVpbHRpbnMuZGVmDQpAQCAtNTU4LDYgKzU1OCw3IEBAIERFRl9SVlZf VFlQRSAodmZsb2F0NjRtOF90LCAxNywgX19ydnZfZmxvYXQ2NG04X3QsIGRv dWJsZSwgUlZWTThERiwgX2Y2NG04LA0KREVGX1JWVl9PUF9UWVBFICh2dikN CkRFRl9SVlZfT1BfVFlQRSAodngpDQorREVGX1JWVl9PUF9UWVBFICh2aSkN CkRFRl9SVlZfT1BfVFlQRSAodikNCkRFRl9SVlZfT1BfVFlQRSAod3YpDQpE RUZfUlZWX09QX1RZUEUgKHd4KQ0KZGlmZiAtLWdpdCBhL2djYy9jb25maWcv cmlzY3YvcmlzY3YtdmVjdG9yLWJ1aWx0aW5zLmggYi9nY2MvY29uZmlnL3Jp c2N2L3Jpc2N2LXZlY3Rvci1idWlsdGlucy5oDQppbmRleCBjZDhjY2FiMTcy NC4uYTYyZThjYjQ4NDUgMTAwNjQ0DQotLS0gYS9nY2MvY29uZmlnL3Jpc2N2 L3Jpc2N2LXZlY3Rvci1idWlsdGlucy5oDQorKysgYi9nY2MvY29uZmlnL3Jp c2N2L3Jpc2N2LXZlY3Rvci1idWlsdGlucy5oDQpAQCAtMjM0LDYgKzIzNCwx NCBAQCBzdHJ1Y3QgZnVuY3Rpb25fZ3JvdXBfaW5mbw0KICAgY29uc3QgcnZ2 X29wX2luZm8gb3BzX2luZm9zOw0KfTsNCisvKiBTdGF0aWMgaW5mb3JtYXRp b24gYWJvdXQgYSBzZXQgb2YgY3J5cHRvIHZlY3RvciBmdW5jdGlvbnMuICAq Lw0KK3N0cnVjdCBjcnlwdG9fZnVuY3Rpb25fZ3JvdXBfaW5mbw0KK3sNCisg IHN0cnVjdCBmdW5jdGlvbl9ncm91cF9pbmZvIHJ2dl9mdW5jdGlvbl9ncm91 cF9pbmZvOw0KKyAgLyogV2hldGhlciB0aGUgZnVuY3Rpb24gaXMgYXZhaWxh YmxlLiAgKi8NCisgIHVuc2lnbmVkIGludCAoKmF2YWlsKSAodm9pZCk7DQor fTsNCisNCmNsYXNzIEdUWSAoKHVzZXIpKSBmdW5jdGlvbl9pbnN0YW5jZQ0K ew0KcHVibGljOg0KZGlmZiAtLWdpdCBhL2djYy9jb25maWcvcmlzY3Yvcmlz Y3YtdmVjdG9yLWNyeXB0by1idWlsdGlucy1hdmFpbC5oIGIvZ2NjL2NvbmZp Zy9yaXNjdi9yaXNjdi12ZWN0b3ItY3J5cHRvLWJ1aWx0aW5zLWF2YWlsLmgN Cm5ldyBmaWxlIG1vZGUgMTAwNzU1DQppbmRleCAwMDAwMDAwMDAwMC4uYzM2 MGMxZDc5NGYNCi0tLSAvZGV2L251bGwNCisrKyBiL2djYy9jb25maWcvcmlz Y3YvcmlzY3YtdmVjdG9yLWNyeXB0by1idWlsdGlucy1hdmFpbC5oDQpAQCAt MCwwICsxLDI1IEBADQorI2lmbmRlZiBHQ0NfUklTQ1ZfVkVDVE9SX0NSWVBU T19CVUlMVElOU19BVkFJTF9IDQorI2RlZmluZSBHQ0NfUklTQ1ZfVkVDVE9S X0NSWVBUT19CVUlMVElOU19BVkFJTF9IDQorDQorI2luY2x1ZGUgImluc24t Y29kZXMuaCINCituYW1lc3BhY2UgcmlzY3ZfdmVjdG9yIHsNCisNCisvKiBE ZWNsYXJlIGFuIGF2YWlsYWJpbGl0eSBwcmVkaWNhdGUgZm9yIGJ1aWx0LWlu IGZ1bmN0aW9ucy4gICovDQorI2RlZmluZSBBVkFJTChOQU1FLCBDT05EKSBc DQorIHN0YXRpYyB1bnNpZ25lZCBpbnQgXA0KKyByaXNjdl92ZWN0b3JfY3J5 cHRvX2F2YWlsXyMjTkFNRSAodm9pZCkgXA0KKyB7IFwNCisgICByZXR1cm4g KENPTkQpOyBcDQorIH0NCisNCitBVkFJTCAoenZiYiwgVEFSR0VUX1pWQkIp DQorQVZBSUwgKHp2YmMsIFRBUkdFVF9aVkJDKQ0KK0FWQUlMICh6dmtiX29y X3p2YmIsIFRBUkdFVF9aVktCIHx8IFRBUkdFVF9aVkJCKQ0KK0FWQUlMICh6 dmtnLCBUQVJHRVRfWlZLRykNCitBVkFJTCAoenZrbmVkLCBUQVJHRVRfWlZL TkVEKQ0KK0FWQUlMICh6dmtuaGFfb3JfenZrbmhiLCBUQVJHRVRfWlZLTkhB IHx8IFRBUkdFVF9aVktOSEIpDQorQVZBSUwgKHp2a25oYiwgVEFSR0VUX1pW S05IQikNCitBVkFJTCAoenZrc2VkLCBUQVJHRVRfWlZLU0VEKQ0KK0FWQUlM ICh6dmtzaCwgVEFSR0VUX1pWS1NIKQ0KK30NCisjZW5kaWYNCmRpZmYgLS1n aXQgYS9nY2MvY29uZmlnL3Jpc2N2L3Jpc2N2LXZlY3Rvci1jcnlwdG8tYnVp bHRpbnMtZnVuY3Rpb25zLmRlZiBiL2djYy9jb25maWcvcmlzY3YvcmlzY3Yt dmVjdG9yLWNyeXB0by1idWlsdGlucy1mdW5jdGlvbnMuZGVmDQpuZXcgZmls ZSBtb2RlIDEwMDc1NQ0KaW5kZXggMDAwMDAwMDAwMDAuLmI3ZjNmMWEwNTNh DQotLS0gL2Rldi9udWxsDQorKysgYi9nY2MvY29uZmlnL3Jpc2N2L3Jpc2N2 LXZlY3Rvci1jcnlwdG8tYnVpbHRpbnMtZnVuY3Rpb25zLmRlZg0KQEAgLTAs MCArMSw3OCBAQA0KKyNpZm5kZWYgREVGX1ZFQ1RPUl9DUllQVE9fRlVOQ1RJ T04NCisjZGVmaW5lIERFRl9WRUNUT1JfQ1JZUFRPX0ZVTkNUSU9OKE5BTUUs IFNIQVBFLCBQUkVEUywgT1BTX0lORk8sIEFWQUlMKQ0KKyNlbmRpZg0KKw0K Kw0KKy8vIFpWQkINCitERUZfVkVDVE9SX0NSWVBUT19GVU5DVElPTiAodmFu ZG4sICBhbHUsIGZ1bGxfcHJlZHMsIHVfdnZ2X29wcywgenZrYl9vcl96dmJi KQ0KK0RFRl9WRUNUT1JfQ1JZUFRPX0ZVTkNUSU9OICh2YW5kbiwgIGFsdSwg ZnVsbF9wcmVkcywgdV92dnhfb3BzLCB6dmtiX29yX3p2YmIpDQorREVGX1ZF Q1RPUl9DUllQVE9fRlVOQ1RJT04gKHZicmV2LCAgYWx1LCBmdWxsX3ByZWRz LCB1X3Z2X29wcywgIHp2YmIpDQorREVGX1ZFQ1RPUl9DUllQVE9fRlVOQ1RJ T04gKHZicmV2OCwgYWx1LCBmdWxsX3ByZWRzLCB1X3Z2X29wcywgIHp2a2Jf b3JfenZiYikNCitERUZfVkVDVE9SX0NSWVBUT19GVU5DVElPTiAodnJldjgs ICBhbHUsIGZ1bGxfcHJlZHMsIHVfdnZfb3BzLCAgenZrYl9vcl96dmJiKQ0K K0RFRl9WRUNUT1JfQ1JZUFRPX0ZVTkNUSU9OICh2Y2x6LCAgIGFsdSwgbm9u ZV9tX3ByZWRzLCB1X3Z2X29wcywgenZiYikNCitERUZfVkVDVE9SX0NSWVBU T19GVU5DVElPTiAodmN0eiwgICBhbHUsIG5vbmVfbV9wcmVkcywgdV92dl9v cHMsIHp2YmIpDQorREVGX1ZFQ1RPUl9DUllQVE9fRlVOQ1RJT04gKHZyb2ws ICAgYWx1LCBmdWxsX3ByZWRzLCB1X3Z2dl9vcHMsIHp2a2Jfb3JfenZiYikN CitERUZfVkVDVE9SX0NSWVBUT19GVU5DVElPTiAodnJvbCwgICBhbHUsIGZ1 bGxfcHJlZHMsIHVfc2hpZnRfdnZ4X29wcywgenZrYl9vcl96dmJiKQ0KK0RF Rl9WRUNUT1JfQ1JZUFRPX0ZVTkNUSU9OICh2cm9yLCAgIGFsdSwgZnVsbF9w cmVkcywgdV92dnZfb3BzLCB6dmtiX29yX3p2YmIpDQorREVGX1ZFQ1RPUl9D UllQVE9fRlVOQ1RJT04gKHZyb3IsICAgYWx1LCBmdWxsX3ByZWRzLCB1X3No aWZ0X3Z2eF9vcHMsIHp2a2Jfb3JfenZiYikNCitERUZfVkVDVE9SX0NSWVBU T19GVU5DVElPTiAodndzbGwsICBhbHUsIGZ1bGxfcHJlZHMsIHVfd3Z2X29w cywgenZiYikNCitERUZfVkVDVE9SX0NSWVBUT19GVU5DVElPTiAodndzbGws ICBhbHUsIGZ1bGxfcHJlZHMsIHVfc2hpZnRfd3Z4X29wcywgenZiYikNCisv L1pWQkMNCitERUZfVkVDVE9SX0NSWVBUT19GVU5DVElPTiAodmNsbXVsLCAg YWx1LCBmdWxsX3ByZWRzLCB1X3Z2dl9jcnlwdG9fc2V3NjRfb3BzLCB6dmJj KQ0KK0RFRl9WRUNUT1JfQ1JZUFRPX0ZVTkNUSU9OICh2Y2xtdWwsICBhbHUs IGZ1bGxfcHJlZHMsIHVfdnZ4X2NyeXB0b19zZXc2NF9vcHMsIHp2YmMpDQor REVGX1ZFQ1RPUl9DUllQVE9fRlVOQ1RJT04gKHZjbG11bGgsIGFsdSwgZnVs bF9wcmVkcywgdV92dnZfY3J5cHRvX3NldzY0X29wcywgenZiYykNCitERUZf VkVDVE9SX0NSWVBUT19GVU5DVElPTiAodmNsbXVsaCwgYWx1LCBmdWxsX3By ZWRzLCB1X3Z2eF9jcnlwdG9fc2V3NjRfb3BzLCB6dmJjKQ0KKy8vWlZLRw0K K0RFRl9WRUNUT1JfQ1JZUFRPX0ZVTkNUSU9OKHZnaHNoLCBjcnlwdG9fdnYs IG5vbmVfdHVfcHJlZHMsIHVfdnZ2dl9jcnlwdG9fc2V3MzJfb3BzLCB6dmtn KQ0KK0RFRl9WRUNUT1JfQ1JZUFRPX0ZVTkNUSU9OKHZnbXVsLCBjcnlwdG9f dnYsIG5vbmVfdHVfcHJlZHMsIHVfdnZ2X2NyeXB0b19zZXczMl9vcHMsICB6 dmtnKQ0KKy8vWlZLTkVEDQorREVGX1ZFQ1RPUl9DUllQVE9fRlVOQ1RJT04g KHZhZXNlZiwgICBjcnlwdG9fdnYsIG5vbmVfdHVfcHJlZHMsIHVfdnZ2X2Ny eXB0b19zZXczMl9vcHMsIHp2a25lZCkNCitERUZfVkVDVE9SX0NSWVBUT19G VU5DVElPTiAodmFlc2VmLCAgIGNyeXB0b192diwgbm9uZV90dV9wcmVkcywg dV92dnNfY3J5cHRvX3NldzMyX29wcywgenZrbmVkKQ0KK0RFRl9WRUNUT1Jf Q1JZUFRPX0ZVTkNUSU9OICh2YWVzZWYsICAgY3J5cHRvX3Z2LCBub25lX3R1 X3ByZWRzLCB1X3Z2c19jcnlwdG9fc2V3MzJfbG11bF94Ml9vcHMsICB6dmtu ZWQpDQorREVGX1ZFQ1RPUl9DUllQVE9fRlVOQ1RJT04gKHZhZXNlZiwgICBj cnlwdG9fdnYsIG5vbmVfdHVfcHJlZHMsIHVfdnZzX2NyeXB0b19zZXczMl9s bXVsX3g0X29wcywgIHp2a25lZCkNCitERUZfVkVDVE9SX0NSWVBUT19GVU5D VElPTiAodmFlc2VmLCAgIGNyeXB0b192diwgbm9uZV90dV9wcmVkcywgdV92 dnNfY3J5cHRvX3NldzMyX2xtdWxfeDhfb3BzLCAgenZrbmVkKQ0KK0RFRl9W RUNUT1JfQ1JZUFRPX0ZVTkNUSU9OICh2YWVzZWYsICAgY3J5cHRvX3Z2LCBu b25lX3R1X3ByZWRzLCB1X3Z2c19jcnlwdG9fc2V3MzJfbG11bF94MTZfb3Bz LCB6dmtuZWQpDQorREVGX1ZFQ1RPUl9DUllQVE9fRlVOQ1RJT04gKHZhZXNl bSwgICBjcnlwdG9fdnYsIG5vbmVfdHVfcHJlZHMsIHVfdnZ2X2NyeXB0b19z ZXczMl9vcHMsIHp2a25lZCkNCitERUZfVkVDVE9SX0NSWVBUT19GVU5DVElP TiAodmFlc2VtLCAgIGNyeXB0b192diwgbm9uZV90dV9wcmVkcywgdV92dnNf Y3J5cHRvX3NldzMyX29wcywgenZrbmVkKQ0KK0RFRl9WRUNUT1JfQ1JZUFRP X0ZVTkNUSU9OICh2YWVzZW0sICAgY3J5cHRvX3Z2LCBub25lX3R1X3ByZWRz LCB1X3Z2c19jcnlwdG9fc2V3MzJfbG11bF94Ml9vcHMsICB6dmtuZWQpDQor REVGX1ZFQ1RPUl9DUllQVE9fRlVOQ1RJT04gKHZhZXNlbSwgICBjcnlwdG9f dnYsIG5vbmVfdHVfcHJlZHMsIHVfdnZzX2NyeXB0b19zZXczMl9sbXVsX3g0 X29wcywgIHp2a25lZCkNCitERUZfVkVDVE9SX0NSWVBUT19GVU5DVElPTiAo dmFlc2VtLCAgIGNyeXB0b192diwgbm9uZV90dV9wcmVkcywgdV92dnNfY3J5 cHRvX3NldzMyX2xtdWxfeDhfb3BzLCAgenZrbmVkKQ0KK0RFRl9WRUNUT1Jf Q1JZUFRPX0ZVTkNUSU9OICh2YWVzZW0sICAgY3J5cHRvX3Z2LCBub25lX3R1 X3ByZWRzLCB1X3Z2c19jcnlwdG9fc2V3MzJfbG11bF94MTZfb3BzLCB6dmtu ZWQpDQorREVGX1ZFQ1RPUl9DUllQVE9fRlVOQ1RJT04gKHZhZXNkZiwgICBj cnlwdG9fdnYsIG5vbmVfdHVfcHJlZHMsIHVfdnZ2X2NyeXB0b19zZXczMl9v cHMsIHp2a25lZCkNCitERUZfVkVDVE9SX0NSWVBUT19GVU5DVElPTiAodmFl c2RmLCAgIGNyeXB0b192diwgbm9uZV90dV9wcmVkcywgdV92dnNfY3J5cHRv X3NldzMyX29wcywgenZrbmVkKQ0KK0RFRl9WRUNUT1JfQ1JZUFRPX0ZVTkNU SU9OICh2YWVzZGYsICAgY3J5cHRvX3Z2LCBub25lX3R1X3ByZWRzLCB1X3Z2 c19jcnlwdG9fc2V3MzJfbG11bF94Ml9vcHMsICB6dmtuZWQpDQorREVGX1ZF Q1RPUl9DUllQVE9fRlVOQ1RJT04gKHZhZXNkZiwgICBjcnlwdG9fdnYsIG5v bmVfdHVfcHJlZHMsIHVfdnZzX2NyeXB0b19zZXczMl9sbXVsX3g0X29wcywg IHp2a25lZCkNCitERUZfVkVDVE9SX0NSWVBUT19GVU5DVElPTiAodmFlc2Rm LCAgIGNyeXB0b192diwgbm9uZV90dV9wcmVkcywgdV92dnNfY3J5cHRvX3Nl dzMyX2xtdWxfeDhfb3BzLCAgenZrbmVkKQ0KK0RFRl9WRUNUT1JfQ1JZUFRP X0ZVTkNUSU9OICh2YWVzZGYsICAgY3J5cHRvX3Z2LCBub25lX3R1X3ByZWRz LCB1X3Z2c19jcnlwdG9fc2V3MzJfbG11bF94MTZfb3BzLCB6dmtuZWQpDQor REVGX1ZFQ1RPUl9DUllQVE9fRlVOQ1RJT04gKHZhZXNkbSwgICBjcnlwdG9f dnYsIG5vbmVfdHVfcHJlZHMsIHVfdnZ2X2NyeXB0b19zZXczMl9vcHMsIHp2 a25lZCkNCitERUZfVkVDVE9SX0NSWVBUT19GVU5DVElPTiAodmFlc2RtLCAg IGNyeXB0b192diwgbm9uZV90dV9wcmVkcywgdV92dnNfY3J5cHRvX3NldzMy X29wcywgenZrbmVkKQ0KK0RFRl9WRUNUT1JfQ1JZUFRPX0ZVTkNUSU9OICh2 YWVzZG0sICAgY3J5cHRvX3Z2LCBub25lX3R1X3ByZWRzLCB1X3Z2c19jcnlw dG9fc2V3MzJfbG11bF94Ml9vcHMsICB6dmtuZWQpDQorREVGX1ZFQ1RPUl9D UllQVE9fRlVOQ1RJT04gKHZhZXNkbSwgICBjcnlwdG9fdnYsIG5vbmVfdHVf cHJlZHMsIHVfdnZzX2NyeXB0b19zZXczMl9sbXVsX3g0X29wcywgIHp2a25l ZCkNCitERUZfVkVDVE9SX0NSWVBUT19GVU5DVElPTiAodmFlc2RtLCAgIGNy eXB0b192diwgbm9uZV90dV9wcmVkcywgdV92dnNfY3J5cHRvX3NldzMyX2xt dWxfeDhfb3BzLCAgenZrbmVkKQ0KK0RFRl9WRUNUT1JfQ1JZUFRPX0ZVTkNU SU9OICh2YWVzZG0sICAgY3J5cHRvX3Z2LCBub25lX3R1X3ByZWRzLCB1X3Z2 c19jcnlwdG9fc2V3MzJfbG11bF94MTZfb3BzLCB6dmtuZWQpDQorREVGX1ZF Q1RPUl9DUllQVE9fRlVOQ1RJT04gKHZhZXN6LCAgICBjcnlwdG9fdnYsIG5v bmVfdHVfcHJlZHMsIHVfdnZzX2NyeXB0b19zZXczMl9vcHMsIHp2a25lZCkN CitERUZfVkVDVE9SX0NSWVBUT19GVU5DVElPTiAodmFlc3osICAgIGNyeXB0 b192diwgbm9uZV90dV9wcmVkcywgdV92dnNfY3J5cHRvX3NldzMyX2xtdWxf eDJfb3BzLCAgenZrbmVkKQ0KK0RFRl9WRUNUT1JfQ1JZUFRPX0ZVTkNUSU9O ICh2YWVzeiwgICAgY3J5cHRvX3Z2LCBub25lX3R1X3ByZWRzLCB1X3Z2c19j cnlwdG9fc2V3MzJfbG11bF94NF9vcHMsICB6dmtuZWQpDQorREVGX1ZFQ1RP Ul9DUllQVE9fRlVOQ1RJT04gKHZhZXN6LCAgICBjcnlwdG9fdnYsIG5vbmVf dHVfcHJlZHMsIHVfdnZzX2NyeXB0b19zZXczMl9sbXVsX3g4X29wcywgIHp2 a25lZCkNCitERUZfVkVDVE9SX0NSWVBUT19GVU5DVElPTiAodmFlc3osICAg IGNyeXB0b192diwgbm9uZV90dV9wcmVkcywgdV92dnNfY3J5cHRvX3NldzMy X2xtdWxfeDE2X29wcywgenZrbmVkKQ0KK0RFRl9WRUNUT1JfQ1JZUFRPX0ZV TkNUSU9OICh2YWVza2YxLCAgY3J5cHRvX3ZpLCBub25lX3R1X3ByZWRzLCB1 X3Z2X3NpemVfY3J5cHRvX3NldzMyX29wcywgIHp2a25lZCkNCitERUZfVkVD VE9SX0NSWVBUT19GVU5DVElPTiAodmFlc2tmMiwgIGNyeXB0b192aSwgbm9u ZV90dV9wcmVkcywgdV92dnZfc2l6ZV9jcnlwdG9fc2V3MzJfb3BzLCB6dmtu ZWQpDQorLy9aVktOSEENCitERUZfVkVDVE9SX0NSWVBUT19GVU5DVElPTiAo dnNoYTJtcywgIGNyeXB0b192diwgbm9uZV90dV9wcmVkcywgdV92dnZ2X2Ny eXB0b19zZXczMl9vcHMsIHp2a25oYV9vcl96dmtuaGIpDQorREVGX1ZFQ1RP Ul9DUllQVE9fRlVOQ1RJT04gKHZzaGEyY2gsICBjcnlwdG9fdnYsIG5vbmVf dHVfcHJlZHMsIHVfdnZ2dl9jcnlwdG9fc2V3MzJfb3BzLCB6dmtuaGFfb3Jf enZrbmhiKQ0KK0RFRl9WRUNUT1JfQ1JZUFRPX0ZVTkNUSU9OICh2c2hhMmNs LCAgY3J5cHRvX3Z2LCBub25lX3R1X3ByZWRzLCB1X3Z2dnZfY3J5cHRvX3Nl dzMyX29wcywgenZrbmhhX29yX3p2a25oYikNCisvL1pWS05IQg0KK0RFRl9W RUNUT1JfQ1JZUFRPX0ZVTkNUSU9OICh2c2hhMm1zLCAgY3J5cHRvX3Z2LCBu b25lX3R1X3ByZWRzLCB1X3Z2dnZfY3J5cHRvX3NldzY0X29wcywgenZrbmhi KQ0KK0RFRl9WRUNUT1JfQ1JZUFRPX0ZVTkNUSU9OICh2c2hhMmNoLCAgY3J5 cHRvX3Z2LCBub25lX3R1X3ByZWRzLCB1X3Z2dnZfY3J5cHRvX3NldzY0X29w cywgenZrbmhiKQ0KK0RFRl9WRUNUT1JfQ1JZUFRPX0ZVTkNUSU9OICh2c2hh MmNsLCAgY3J5cHRvX3Z2LCBub25lX3R1X3ByZWRzLCB1X3Z2dnZfY3J5cHRv X3NldzY0X29wcywgenZrbmhiKQ0KKy8vWnZrc2VkDQorREVGX1ZFQ1RPUl9D UllQVE9fRlVOQ1RJT04gKHZzbTRrLCAgICBjcnlwdG9fdmksIG5vbmVfdHVf cHJlZHMsIHVfdnZfc2l6ZV9jcnlwdG9fc2V3MzJfb3BzLCB6dmtzZWQpDQor REVGX1ZFQ1RPUl9DUllQVE9fRlVOQ1RJT04gKHZzbTRyLCAgICBjcnlwdG9f dnYsIG5vbmVfdHVfcHJlZHMsIHVfdnZ2X2NyeXB0b19zZXczMl9vcHMsIHp2 a3NlZCkNCitERUZfVkVDVE9SX0NSWVBUT19GVU5DVElPTiAodnNtNHIsICAg IGNyeXB0b192diwgbm9uZV90dV9wcmVkcywgdV92dnNfY3J5cHRvX3NldzMy X29wcywgenZrc2VkKQ0KK0RFRl9WRUNUT1JfQ1JZUFRPX0ZVTkNUSU9OICh2 c200ciwgICAgY3J5cHRvX3Z2LCBub25lX3R1X3ByZWRzLCB1X3Z2c19jcnlw dG9fc2V3MzJfbG11bF94Ml9vcHMsICB6dmtzZWQpDQorREVGX1ZFQ1RPUl9D UllQVE9fRlVOQ1RJT04gKHZzbTRyLCAgICBjcnlwdG9fdnYsIG5vbmVfdHVf cHJlZHMsIHVfdnZzX2NyeXB0b19zZXczMl9sbXVsX3g0X29wcywgIHp2a3Nl ZCkNCitERUZfVkVDVE9SX0NSWVBUT19GVU5DVElPTiAodnNtNHIsICAgIGNy eXB0b192diwgbm9uZV90dV9wcmVkcywgdV92dnNfY3J5cHRvX3NldzMyX2xt dWxfeDhfb3BzLCAgenZrc2VkKQ0KK0RFRl9WRUNUT1JfQ1JZUFRPX0ZVTkNU SU9OICh2c200ciwgICAgY3J5cHRvX3Z2LCBub25lX3R1X3ByZWRzLCB1X3Z2 c19jcnlwdG9fc2V3MzJfbG11bF94MTZfb3BzLCB6dmtzZWQpDQorLy9admtz aA0KK0RFRl9WRUNUT1JfQ1JZUFRPX0ZVTkNUSU9OICh2c20zbWUsICAgY3J5 cHRvX3Z2LCBub25lX3R1X3ByZWRzLCB1X3Z2dl9jcnlwdG9fc2V3MzJfb3Bz LCAgICAgIHp2a3NoKQ0KK0RFRl9WRUNUT1JfQ1JZUFRPX0ZVTkNUSU9OICh2 c20zYywgICAgY3J5cHRvX3ZpLCBub25lX3R1X3ByZWRzLCB1X3Z2dl9zaXpl X2NyeXB0b19zZXczMl9vcHMsIHp2a3NoKQ0KXCBObyBuZXdsaW5lIGF0IGVu ZCBvZiBmaWxlDQpkaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9yaXNjdi9yaXNj di12ZWN0b3ItY3J5cHRvLWJ1aWx0aW5zLXR5cGVzLmRlZiBiL2djYy9jb25m aWcvcmlzY3YvcmlzY3YtdmVjdG9yLWNyeXB0by1idWlsdGlucy10eXBlcy5k ZWYNCm5ldyBmaWxlIG1vZGUgMTAwNzU1DQppbmRleCAwMDAwMDAwMDAwMC4u ZjQwMzY3YWUyYzMNCi0tLSAvZGV2L251bGwNCisrKyBiL2djYy9jb25maWcv cmlzY3YvcmlzY3YtdmVjdG9yLWNyeXB0by1idWlsdGlucy10eXBlcy5kZWYN CkBAIC0wLDAgKzEsMjEgQEANCisjaWZuZGVmIERFRl9SVlZfQ1JZUFRPX1NF VzMyX09QUw0KKyNkZWZpbmUgREVGX1JWVl9DUllQVE9fU0VXMzJfT1BTKFRZ UEUsIFJFUVVJUkUpDQorI2VuZGlmDQorDQorI2lmbmRlZiBERUZfUlZWX0NS WVBUT19TRVc2NF9PUFMNCisjZGVmaW5lIERFRl9SVlZfQ1JZUFRPX1NFVzY0 X09QUyhUWVBFLCBSRVFVSVJFKQ0KKyNlbmRpZg0KKw0KK0RFRl9SVlZfQ1JZ UFRPX1NFVzMyX09QUyAodnVpbnQzMm1mMl90LCBSVlZfUkVRVUlSRV9NSU5f VkxFTl82NCkNCitERUZfUlZWX0NSWVBUT19TRVczMl9PUFMgKHZ1aW50MzJt MV90LCAwKQ0KK0RFRl9SVlZfQ1JZUFRPX1NFVzMyX09QUyAodnVpbnQzMm0y X3QsIDApDQorREVGX1JWVl9DUllQVE9fU0VXMzJfT1BTICh2dWludDMybTRf dCwgMCkNCitERUZfUlZWX0NSWVBUT19TRVczMl9PUFMgKHZ1aW50MzJtOF90 LCAwKQ0KKw0KK0RFRl9SVlZfQ1JZUFRPX1NFVzY0X09QUyAodnVpbnQ2NG0x X3QsIFJWVl9SRVFVSVJFX0VMRU5fNjQpDQorREVGX1JWVl9DUllQVE9fU0VX NjRfT1BTICh2dWludDY0bTJfdCwgUlZWX1JFUVVJUkVfRUxFTl82NCkNCitE RUZfUlZWX0NSWVBUT19TRVc2NF9PUFMgKHZ1aW50NjRtNF90LCBSVlZfUkVR VUlSRV9FTEVOXzY0KQ0KK0RFRl9SVlZfQ1JZUFRPX1NFVzY0X09QUyAodnVp bnQ2NG04X3QsIFJWVl9SRVFVSVJFX0VMRU5fNjQpDQorDQorI3VuZGVmIERF Rl9SVlZfQ1JZUFRPX1NFVzMyX09QUw0KKyN1bmRlZiBERUZfUlZWX0NSWVBU T19TRVc2NF9PUFMNClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQ0KZGlm ZiAtLWdpdCBhL2djYy9jb25maWcvcmlzY3YvdC1yaXNjdiBiL2djYy9jb25m aWcvcmlzY3YvdC1yaXNjdg0KaW5kZXggM2I5Njg2ZGFhNTguLjQyOWQzNmI2 NDI1IDEwMDY0NA0KLS0tIGEvZ2NjL2NvbmZpZy9yaXNjdi90LXJpc2N2DQor KysgYi9nY2MvY29uZmlnL3Jpc2N2L3QtcmlzY3YNCkBAIC0xLDYgKzEsOCBA QA0KUklTQ1ZfQlVJTFRJTlNfSCA9ICQoc3JjZGlyKS9jb25maWcvcmlzY3Yv cmlzY3YtdmVjdG9yLWJ1aWx0aW5zLmggXA0KICAgJChzcmNkaXIpL2NvbmZp Zy9yaXNjdi9yaXNjdi12ZWN0b3ItYnVpbHRpbnMuZGVmIFwNCiAgICQoc3Jj ZGlyKS9jb25maWcvcmlzY3YvcmlzY3YtdmVjdG9yLWJ1aWx0aW5zLWZ1bmN0 aW9ucy5kZWYgXA0KKyAgICAkKHNyY2RpcikvY29uZmlnL3Jpc2N2L3Jpc2N2 LXZlY3Rvci1jcnlwdG8tYnVpbHRpbnMtYXZhaWwuaCBcDQorICAgICQoc3Jj ZGlyKS9jb25maWcvcmlzY3YvcmlzY3YtdmVjdG9yLWNyeXB0by1idWlsdGlu cy1mdW5jdGlvbnMuZGVmIFwNCiAgIHJpc2N2LXZlY3Rvci10eXBlLWluZGV4 ZXIuZ2VuLmRlZg0KcmlzY3YtYnVpbHRpbnMubzogJChzcmNkaXIpL2NvbmZp Zy9yaXNjdi9yaXNjdi1idWlsdGlucy5jYyAkKENPTkZJR19IKSBcDQotLSAN CjIuMTcuMQ0KIA0KIA0K ------=_001_NextPart630718743521_=------