From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lionel Landwerlin Subject: Re: [PATCH 1/3] drm/i915/trace: Describe engines as class:instance pairs Date: Tue, 5 Jun 2018 14:45:16 +0100 Message-ID: References: <20180525082642.18246-1-tvrtko.ursulin@linux.intel.com> <9e251874-b83d-5a74-f80d-1774bc90cdce@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTPS id C83626EDB5 for ; Tue, 5 Jun 2018 13:45:20 +0000 (UTC) In-Reply-To: <9e251874-b83d-5a74-f80d-1774bc90cdce@linux.intel.com> Content-Language: en-US List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Tvrtko Ursulin , Tvrtko Ursulin , Intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gMDUvMDYvMTggMTQ6NDMsIFR2cnRrbyBVcnN1bGluIHdyb3RlOgo+Cj4gT24gMDUvMDYvMjAx OCAxMDo0MSwgTGlvbmVsIExhbmR3ZXJsaW4gd3JvdGU6Cj4+IEFueSB1cGRhdGUgb24gdGhpcyBz ZXJpZXM/Cj4+Cj4+IChteSBjb21tZW50cyB3ZXJlIGEgYml0IGZ1enp5LCBidXQgSSBnYXZlIFJi IG9uIHBhdGNoIDEgJiAyKS4KPgo+IEZvcmdvdCBhYm91dCBpdCBmb3IgYSBiaXQuIEp1c3Qgc2Vu dCB1cGRhdGVkIDMvMy4KPgo+IFdhcyB5b3Ugci1iIGZvciAyLzMgZm9yIHYxIG9yIHYyIGF0IHRo ZSBlbmQ/CgpJdCB3YXMgZm9yIHYyLgoKVGhhbmtzIGEgbG90LAoKLQpMaW9uZWwKCj4KPiBSZWdh cmRzLAo+Cj4gVHZydGtvCj4KPj4KPj4gQ2hlZXJzLAo+Pgo+PiAtCj4+IExpb25lbAo+Pgo+PiBP biAyNS8wNS8xOCAwOToyNiwgVHZydGtvIFVyc3VsaW4gd3JvdGU6Cj4+PiBGcm9tOiBUdnJ0a28g VXJzdWxpbiA8dHZydGtvLnVyc3VsaW5AaW50ZWwuY29tPgo+Pj4KPj4+IEluc3RlYWQgb2YgdXNp bmcgdGhlIGVuZ2luZS0+aWQsIHVzZSB1YWJpX2NsYXNzOmluc3RhbmNlIHBhaXJzIGluIAo+Pj4g dHJhY2UtCj4+PiBwb2ludHMgaW5jbHVkaW5nIGVuZ2luZSBpbmZvLgo+Pj4KPj4+IFRoaXMgd2ls bCBiZSBtb3JlIHJlYWRhYmxlLCBtb3JlIGZ1dHVyZSBwcm9vZiBhbmQgbW9yZSBzdGFibGUgZm9y Cj4+PiB1c2Vyc3BhY2UgY29uc3VtcHRpb24uCj4+Pgo+Pj4gdjI6Cj4+PiDCoCAqIFVzZSB1MTYg Zm9yIGNsYXNzIGFuZCBpbnN0YW5jZS4gKENocmlzIFdpbHNvbikKPj4+Cj4+PiBTaWduZWQtb2Zm LWJ5OiBUdnJ0a28gVXJzdWxpbiA8dHZydGtvLnVyc3VsaW5AaW50ZWwuY29tPgo+Pj4gQ2M6IENo cmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgo+Pj4gQ2M6IHN2ZXRsYW5hLmt1 a2Fub3ZhQGludGVsLmNvbQo+Pj4gUmV2aWV3ZWQtYnk6IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hy aXMtd2lsc29uLmNvLnVrPgo+Pj4gLS0tCj4+PiDCoCBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X3RyYWNlLmggfCAxMDcgCj4+PiArKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0KPj4+IMKg IDEgZmlsZSBjaGFuZ2VkLCA2NSBpbnNlcnRpb25zKCspLCA0MiBkZWxldGlvbnMoLSkKPj4+Cj4+ PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV90cmFjZS5oIAo+Pj4gYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3RyYWNlLmgKPj4+IGluZGV4IDVkNGY3ODc2NTA4My4u N2FjZWE0MDUyNzk4IDEwMDY0NAo+Pj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV90 cmFjZS5oCj4+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3RyYWNlLmgKPj4+IEBA IC01OTEsMjEgKzU5MSwyNiBAQCBUUkFDRV9FVkVOVChpOTE1X2dlbV9yaW5nX3N5bmNfdG8sCj4+ PiDCoMKgwqDCoMKgwqDCoMKgwqAgVFBfU1RSVUNUX19lbnRyeSgKPj4+IMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBfX2ZpZWxkKHUzMiwgZGV2KQo+Pj4gLcKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgIF9fZmllbGQodTMyLCBzeW5jX2Zyb20pCj4+PiAtwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgX19maWVsZCh1MzIsIHN5bmNfdG8pCj4+PiArwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgX19maWVsZCh1MzIsIGZyb21fY2xhc3MpCj4+ PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgX19maWVsZCh1MzIsIGZyb21faW5z dGFuY2UpCj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgX19maWVsZCh1MzIs IHRvX2NsYXNzKQo+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIF9fZmllbGQo dTMyLCB0b19pbnN0YW5jZSkKPj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oCBfX2ZpZWxkKHUzMiwgc2Vxbm8pCj4+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqAgKSwKPj4+IMKgwqDCoMKgwqDCoMKgwqDCoCBUUF9mYXN0X2Fzc2lnbigKPj4+IMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIF9fZW50cnktPmRldiA9IGZyb20tPmk5MTUtPmRy bS5wcmltYXJ5LT5pbmRleDsKPj4+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIF9fZW50 cnktPnN5bmNfZnJvbSA9IGZyb20tPmVuZ2luZS0+aWQ7Cj4+PiAtwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCBfX2VudHJ5LT5zeW5jX3RvID0gdG8tPmVuZ2luZS0+aWQ7Cj4+PiArwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBfX2VudHJ5LT5mcm9tX2NsYXNzID0gZnJvbS0+ZW5naW5l LT51YWJpX2NsYXNzOwo+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgX19lbnRyeS0+ ZnJvbV9pbnN0YW5jZSA9IGZyb20tPmVuZ2luZS0+aW5zdGFuY2U7Cj4+PiArwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoCBfX2VudHJ5LT50b19jbGFzcyA9IHRvLT5lbmdpbmUtPnVhYmlfY2xh c3M7Cj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBfX2VudHJ5LT50b19pbnN0YW5j ZSA9IHRvLT5lbmdpbmUtPmluc3RhbmNlOwo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqAgX19lbnRyeS0+c2Vxbm8gPSBmcm9tLT5nbG9iYWxfc2Vxbm87Cj4+PiDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCApLAo+Pj4gLcKgwqDCoMKgwqDCoMKgIFRQX3ByaW50aygi ZGV2PSV1LCBzeW5jLWZyb209JXUsIHN5bmMtdG89JXUsIHNlcW5vPSV1IiwKPj4+ICvCoMKgwqDC oMKgwqDCoCBUUF9wcmludGsoImRldj0ldSwgc3luYy1mcm9tPSV1OiV1LCBzeW5jLXRvPSV1OiV1 LCBzZXFubz0ldSIsCj4+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgX19lbnRyeS0+ ZGV2LAo+Pj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIF9fZW50cnktPnN5bmNfZnJvbSwg X19lbnRyeS0+c3luY190bywKPj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBfX2VudHJ5 LT5mcm9tX2NsYXNzLCBfX2VudHJ5LT5mcm9tX2luc3RhbmNlLAo+Pj4gK8KgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIF9fZW50cnktPnRvX2NsYXNzLCBfX2VudHJ5LT50b19pbnN0YW5jZSwKPj4+ IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBfX2VudHJ5LT5zZXFubykKPj4+IMKgICk7 Cj4+PiBAQCAtNjE2LDcgKzYyMSw4IEBAIFRSQUNFX0VWRU5UKGk5MTVfcmVxdWVzdF9xdWV1ZSwK Pj4+IMKgwqDCoMKgwqDCoMKgwqDCoCBUUF9TVFJVQ1RfX2VudHJ5KAo+Pj4gwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIF9fZmllbGQodTMyLCBkZXYpCj4+PiDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgX19maWVsZCh1MzIsIGh3X2lkKQo+Pj4gLcKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIF9fZmllbGQodTMyLCByaW5nKQo+Pj4gK8KgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIF9fZmllbGQodTE2LCBjbGFzcykKPj4+ICvCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBfX2ZpZWxkKHUxNiwgaW5zdGFuY2UpCj4+PiDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgX19maWVsZCh1MzIsIGN0eCkKPj4+ IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBfX2ZpZWxkKHUzMiwgc2Vxbm8p Cj4+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgX19maWVsZCh1MzIsIGZs YWdzKQo+Pj4gQEAgLTYyNSwxNSArNjMxLDE3IEBAIFRSQUNFX0VWRU5UKGk5MTVfcmVxdWVzdF9x dWV1ZSwKPj4+IMKgwqDCoMKgwqDCoMKgwqDCoCBUUF9mYXN0X2Fzc2lnbigKPj4+IMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIF9fZW50cnktPmRldiA9IHJxLT5pOTE1LT5kcm0ucHJp bWFyeS0+aW5kZXg7Cj4+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBfX2VudHJ5 LT5od19pZCA9IHJxLT5nZW1fY29udGV4dC0+aHdfaWQ7Cj4+PiAtwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCBfX2VudHJ5LT5yaW5nID0gcnEtPmVuZ2luZS0+aWQ7Cj4+PiArwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoCBfX2VudHJ5LT5jbGFzcyA9IHJxLT5lbmdpbmUtPnVhYmlfY2xh c3M7Cj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBfX2VudHJ5LT5pbnN0YW5jZSA9 IHJxLT5lbmdpbmUtPmluc3RhbmNlOwo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAgX19lbnRyeS0+Y3R4ID0gcnEtPmZlbmNlLmNvbnRleHQ7Cj4+PiDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoCBfX2VudHJ5LT5zZXFubyA9IHJxLT5mZW5jZS5zZXFubzsKPj4+IMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIF9fZW50cnktPmZsYWdzID0gZmxhZ3M7Cj4+ PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCApLAo+Pj4gLcKgwqDCoMKgwqDCoMKg IFRQX3ByaW50aygiZGV2PSV1LCBod19pZD0ldSwgcmluZz0ldSwgY3R4PSV1LCBzZXFubz0ldSwg Cj4+PiBmbGFncz0weCV4IiwKPj4+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBfX2VudHJ5 LT5kZXYsIF9fZW50cnktPmh3X2lkLCBfX2VudHJ5LT5yaW5nLCAKPj4+IF9fZW50cnktPmN0eCwK Pj4+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBfX2VudHJ5LT5zZXFubywgX19lbnRyeS0+ ZmxhZ3MpCj4+PiArwqDCoMKgwqDCoMKgwqAgVFBfcHJpbnRrKCJkZXY9JXUsIGh3X2lkPSV1LCBl bmdpbmU9JXU6JXUsIGN0eD0ldSwgCj4+PiBzZXFubz0ldSwgZmxhZ3M9MHgleCIsCj4+PiArwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgX19lbnRyeS0+ZGV2LCBfX2VudHJ5LT5od19pZCwgX19l bnRyeS0+Y2xhc3MsCj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgX19lbnRyeS0+aW5z dGFuY2UsIF9fZW50cnktPmN0eCwgX19lbnRyeS0+c2Vxbm8sCj4+PiArwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqAgX19lbnRyeS0+ZmxhZ3MpCj4+PiDCoCApOwo+Pj4gwqAgREVDTEFSRV9FVkVO VF9DTEFTUyhpOTE1X3JlcXVlc3QsCj4+PiBAQCAtNjQzLDcgKzY1MSw4IEBAIERFQ0xBUkVfRVZF TlRfQ0xBU1MoaTkxNV9yZXF1ZXN0LAo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgIFRQX1NUUlVDVF9f ZW50cnkoCj4+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgX19maWVsZCh1 MzIsIGRldikKPj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBfX2ZpZWxk KHUzMiwgaHdfaWQpCj4+PiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgX19maWVs ZCh1MzIsIHJpbmcpCj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgX19maWVs ZCh1MTYsIGNsYXNzKQo+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIF9fZmll bGQodTE2LCBpbnN0YW5jZSkKPj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oCBfX2ZpZWxkKHUzMiwgY3R4KQo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgIF9fZmllbGQodTMyLCBzZXFubykKPj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoCBfX2ZpZWxkKHUzMiwgZ2xvYmFsKQo+Pj4gQEAgLTY1MiwxNSArNjYxLDE3IEBAIERF Q0xBUkVfRVZFTlRfQ0xBU1MoaTkxNV9yZXF1ZXN0LAo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgIFRQ X2Zhc3RfYXNzaWduKAo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgX19lbnRy eS0+ZGV2ID0gcnEtPmk5MTUtPmRybS5wcmltYXJ5LT5pbmRleDsKPj4+IMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIF9fZW50cnktPmh3X2lkID0gcnEtPmdlbV9jb250ZXh0LT5od19p ZDsKPj4+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIF9fZW50cnktPnJpbmcgPSBycS0+ ZW5naW5lLT5pZDsKPj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIF9fZW50cnktPmNs YXNzID0gcnEtPmVuZ2luZS0+dWFiaV9jbGFzczsKPj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgIF9fZW50cnktPmluc3RhbmNlID0gcnEtPmVuZ2luZS0+aW5zdGFuY2U7Cj4+PiDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBfX2VudHJ5LT5jdHggPSBycS0+ZmVuY2UuY29u dGV4dDsKPj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIF9fZW50cnktPnNlcW5v ID0gcnEtPmZlbmNlLnNlcW5vOwo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAg X19lbnRyeS0+Z2xvYmFsID0gcnEtPmdsb2JhbF9zZXFubzsKPj4+IMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgICksCj4+PiAtwqDCoMKgwqDCoMKgwqAgVFBfcHJpbnRrKCJkZXY9JXUs IGh3X2lkPSV1LCByaW5nPSV1LCBjdHg9JXUsIHNlcW5vPSV1LCAKPj4+IGdsb2JhbD0ldSIsCj4+ PiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgX19lbnRyeS0+ZGV2LCBfX2VudHJ5LT5od19p ZCwgX19lbnRyeS0+cmluZywgCj4+PiBfX2VudHJ5LT5jdHgsCj4+PiAtwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqAgX19lbnRyeS0+c2Vxbm8sIF9fZW50cnktPmdsb2JhbCkKPj4+ICvCoMKgwqDC oMKgwqDCoCBUUF9wcmludGsoImRldj0ldSwgaHdfaWQ9JXUsIGVuZ2luZT0ldToldSwgY3R4PSV1 LCAKPj4+IHNlcW5vPSV1LCBnbG9iYWw9JXUiLAo+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgIF9fZW50cnktPmRldiwgX19lbnRyeS0+aHdfaWQsIF9fZW50cnktPmNsYXNzLAo+Pj4gK8Kg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIF9fZW50cnktPmluc3RhbmNlLCBfX2VudHJ5LT5jdHgs IF9fZW50cnktPnNlcW5vLAo+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIF9fZW50cnkt Pmdsb2JhbCkKPj4+IMKgICk7Cj4+PiDCoCBERUZJTkVfRVZFTlQoaTkxNV9yZXF1ZXN0LCBpOTE1 X3JlcXVlc3RfYWRkLAo+Pj4gQEAgLTY4Niw3ICs2OTcsOCBAQCBUUkFDRV9FVkVOVChpOTE1X3Jl cXVlc3RfaW4sCj4+PiDCoMKgwqDCoMKgwqDCoMKgwqAgVFBfU1RSVUNUX19lbnRyeSgKPj4+IMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBfX2ZpZWxkKHUzMiwgZGV2KQo+Pj4g wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIF9fZmllbGQodTMyLCBod19pZCkK Pj4+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBfX2ZpZWxkKHUzMiwgcmluZykK Pj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBfX2ZpZWxkKHUxNiwgY2xhc3Mp Cj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgX19maWVsZCh1MTYsIGluc3Rh bmNlKQo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIF9fZmllbGQodTMy LCBjdHgpCj4+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgX19maWVsZCh1 MzIsIHNlcW5vKQo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIF9fZmll bGQodTMyLCBnbG9iYWxfc2Vxbm8pCj4+PiBAQCAtNjk3LDcgKzcwOSw4IEBAIFRSQUNFX0VWRU5U KGk5MTVfcmVxdWVzdF9pbiwKPj4+IMKgwqDCoMKgwqDCoMKgwqDCoCBUUF9mYXN0X2Fzc2lnbigK Pj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIF9fZW50cnktPmRldiA9IHJxLT5p OTE1LT5kcm0ucHJpbWFyeS0+aW5kZXg7Cj4+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCBfX2VudHJ5LT5od19pZCA9IHJxLT5nZW1fY29udGV4dC0+aHdfaWQ7Cj4+PiAtwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBfX2VudHJ5LT5yaW5nID0gcnEtPmVuZ2luZS0+aWQ7Cj4+ PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBfX2VudHJ5LT5jbGFzcyA9IHJxLT5lbmdp bmUtPnVhYmlfY2xhc3M7Cj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBfX2VudHJ5 LT5pbnN0YW5jZSA9IHJxLT5lbmdpbmUtPmluc3RhbmNlOwo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqAgX19lbnRyeS0+Y3R4ID0gcnEtPmZlbmNlLmNvbnRleHQ7Cj4+PiDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBfX2VudHJ5LT5zZXFubyA9IHJxLT5mZW5jZS5z ZXFubzsKPj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIF9fZW50cnktPmdsb2Jh bF9zZXFubyA9IHJxLT5nbG9iYWxfc2Vxbm87Cj4+PiBAQCAtNzA1LDEwICs3MTgsMTAgQEAgVFJB Q0VfRVZFTlQoaTkxNV9yZXF1ZXN0X2luLAo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqAgX19lbnRyeS0+cG9ydCA9IHBvcnQ7Cj4+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoCApLAo+Pj4gLcKgwqDCoMKgwqDCoMKgIFRQX3ByaW50aygiZGV2PSV1LCBod19pZD0l dSwgcmluZz0ldSwgY3R4PSV1LCBzZXFubz0ldSwgCj4+PiBwcmlvPSV1LCBnbG9iYWw9JXUsIHBv cnQ9JXUiLAo+Pj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIF9fZW50cnktPmRldiwgX19l bnRyeS0+aHdfaWQsIF9fZW50cnktPnJpbmcsIAo+Pj4gX19lbnRyeS0+Y3R4LAo+Pj4gLcKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgIF9fZW50cnktPnNlcW5vLCBfX2VudHJ5LT5wcmlvLCBfX2Vu dHJ5LT5nbG9iYWxfc2Vxbm8sCj4+PiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgX19lbnRy eS0+cG9ydCkKPj4+ICvCoMKgwqDCoMKgwqDCoCBUUF9wcmludGsoImRldj0ldSwgaHdfaWQ9JXUs IGVuZ2luZT0ldToldSwgY3R4PSV1LCAKPj4+IHNlcW5vPSV1LCBwcmlvPSV1LCBnbG9iYWw9JXUs IHBvcnQ9JXUiLAo+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIF9fZW50cnktPmRldiwg X19lbnRyeS0+aHdfaWQsIF9fZW50cnktPmNsYXNzLAo+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgIF9fZW50cnktPmluc3RhbmNlLCBfX2VudHJ5LT5jdHgsIF9fZW50cnktPnNlcW5vLAo+ Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIF9fZW50cnktPnByaW8sIF9fZW50cnktPmds b2JhbF9zZXFubywgX19lbnRyeS0+cG9ydCkKPj4+IMKgICk7Cj4+PiDCoCBUUkFDRV9FVkVOVChp OTE1X3JlcXVlc3Rfb3V0LAo+Pj4gQEAgLTcxOCw3ICs3MzEsOCBAQCBUUkFDRV9FVkVOVChpOTE1 X3JlcXVlc3Rfb3V0LAo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgIFRQX1NUUlVDVF9fZW50cnkoCj4+ PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgX19maWVsZCh1MzIsIGRldikK Pj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBfX2ZpZWxkKHUzMiwgaHdf aWQpCj4+PiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgX19maWVsZCh1MzIsIHJp bmcpCj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgX19maWVsZCh1MTYsIGNs YXNzKQo+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIF9fZmllbGQodTE2LCBp bnN0YW5jZSkKPj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBfX2ZpZWxk KHUzMiwgY3R4KQo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIF9fZmll bGQodTMyLCBzZXFubykKPj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBf X2ZpZWxkKHUzMiwgZ2xvYmFsX3NlcW5vKQo+Pj4gQEAgLTcyOCwxNiArNzQyLDE3IEBAIFRSQUNF X0VWRU5UKGk5MTVfcmVxdWVzdF9vdXQsCj4+PiDCoMKgwqDCoMKgwqDCoMKgwqAgVFBfZmFzdF9h c3NpZ24oCj4+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBfX2VudHJ5LT5kZXYg PSBycS0+aTkxNS0+ZHJtLnByaW1hcnktPmluZGV4Owo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqAgX19lbnRyeS0+aHdfaWQgPSBycS0+Z2VtX2NvbnRleHQtPmh3X2lkOwo+Pj4g LcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgX19lbnRyeS0+cmluZyA9IHJxLT5lbmdpbmUt PmlkOwo+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgX19lbnRyeS0+Y2xhc3MgPSBy cS0+ZW5naW5lLT51YWJpX2NsYXNzOwo+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAg X19lbnRyeS0+aW5zdGFuY2UgPSBycS0+ZW5naW5lLT5pbnN0YW5jZTsKPj4+IMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgIF9fZW50cnktPmN0eCA9IHJxLT5mZW5jZS5jb250ZXh0Owo+ Pj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgX19lbnRyeS0+c2Vxbm8gPSBycS0+ ZmVuY2Uuc2Vxbm87Cj4+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBfX2VudHJ5 LT5nbG9iYWxfc2Vxbm8gPSBycS0+Z2xvYmFsX3NlcW5vOwo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqAgX19lbnRyeS0+Y29tcGxldGVkID0gaTkxNV9yZXF1ZXN0X2NvbXBsZXRl ZChycSk7Cj4+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCApLAo+Pj4gLcKgwqDC oMKgwqDCoMKgwqDCoMKgwqAgVFBfcHJpbnRrKCJkZXY9JXUsIGh3X2lkPSV1LCByaW5nPSV1LCBj dHg9JXUsIHNlcW5vPSV1LCAKPj4+IGdsb2JhbD0ldSwgY29tcGxldGVkPz0ldSIsCj4+PiAtwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBfX2VudHJ5LT5kZXYsIF9fZW50cnktPmh3 X2lkLCBfX2VudHJ5LT5yaW5nLAo+Pj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAgX19lbnRyeS0+Y3R4LCBfX2VudHJ5LT5zZXFubywKPj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDC oMKgIFRQX3ByaW50aygiZGV2PSV1LCBod19pZD0ldSwgZW5naW5lPSV1OiV1LCBjdHg9JXUsIAo+ Pj4gc2Vxbm89JXUsIGdsb2JhbD0ldSwgY29tcGxldGVkPz0ldSIsCj4+PiArwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBfX2VudHJ5LT5kZXYsIF9fZW50cnktPmh3X2lkLCBfX2Vu dHJ5LT5jbGFzcywKPj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIF9fZW50 cnktPmluc3RhbmNlLCBfX2VudHJ5LT5jdHgsIF9fZW50cnktPnNlcW5vLAo+Pj4gwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgX19lbnRyeS0+Z2xvYmFsX3NlcW5vLCBfX2Vu dHJ5LT5jb21wbGV0ZWQpCj4+PiDCoCApOwo+Pj4gQEAgLTc3MSwyMSArNzg2LDIzIEBAIFRSQUNF X0VWRU5UKGludGVsX2VuZ2luZV9ub3RpZnksCj4+PiDCoMKgwqDCoMKgwqDCoMKgwqAgVFBfU1RS VUNUX19lbnRyeSgKPj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBfX2Zp ZWxkKHUzMiwgZGV2KQo+Pj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIF9fZmll bGQodTMyLCByaW5nKQo+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIF9fZmll bGQodTE2LCBjbGFzcykKPj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBfX2Zp ZWxkKHUxNiwgaW5zdGFuY2UpCj4+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAgX19maWVsZCh1MzIsIHNlcW5vKQo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgIF9fZmllbGQoYm9vbCwgd2FpdGVycykKPj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoCApLAo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgIFRQX2Zhc3RfYXNzaWduKAo+ Pj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgX19lbnRyeS0+ZGV2ID0gZW5naW5l LT5pOTE1LT5kcm0ucHJpbWFyeS0+aW5kZXg7Cj4+PiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCBfX2VudHJ5LT5yaW5nID0gZW5naW5lLT5pZDsKPj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgIF9fZW50cnktPmNsYXNzID0gZW5naW5lLT51YWJpX2NsYXNzOwo+Pj4gK8KgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgX19lbnRyeS0+aW5zdGFuY2UgPSBlbmdpbmUtPmluc3Rh bmNlOwo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgX19lbnRyeS0+c2Vxbm8g PSBpbnRlbF9lbmdpbmVfZ2V0X3NlcW5vKGVuZ2luZSk7Cj4+PiDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoCBfX2VudHJ5LT53YWl0ZXJzID0gd2FpdGVyczsKPj4+IMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgICksCj4+PiAtwqDCoMKgwqDCoMKgwqAgVFBfcHJpbnRrKCJk ZXY9JXUsIHJpbmc9JXUsIHNlcW5vPSV1LCB3YWl0ZXJzPSV1IiwKPj4+IC3CoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoCBfX2VudHJ5LT5kZXYsIF9fZW50cnktPnJpbmcsIF9fZW50cnktPnNlcW5v LAo+Pj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIF9fZW50cnktPndhaXRlcnMpCj4+PiAr wqDCoMKgwqDCoMKgwqAgVFBfcHJpbnRrKCJkZXY9JXUsIGVuZ2luZT0ldToldSwgc2Vxbm89JXUs IHdhaXRlcnM9JXUiLAo+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIF9fZW50cnktPmRl diwgX19lbnRyeS0+Y2xhc3MsIF9fZW50cnktPmluc3RhbmNlLAo+Pj4gK8KgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIF9fZW50cnktPnNlcW5vLCBfX2VudHJ5LT53YWl0ZXJzKQo+Pj4gwqAgKTsK Pj4+IMKgIERFRklORV9FVkVOVChpOTE1X3JlcXVlc3QsIGk5MTVfcmVxdWVzdF9yZXRpcmUsCj4+ PiBAQCAtODAwLDcgKzgxNyw4IEBAIFRSQUNFX0VWRU5UKGk5MTVfcmVxdWVzdF93YWl0X2JlZ2lu LAo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgIFRQX1NUUlVDVF9fZW50cnkoCj4+PiDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgX19maWVsZCh1MzIsIGRldikKPj4+IMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBfX2ZpZWxkKHUzMiwgaHdfaWQpCj4+PiAtwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgX19maWVsZCh1MzIsIHJpbmcpCj4+PiArwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgX19maWVsZCh1MTYsIGNsYXNzKQo+Pj4gK8Kg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIF9fZmllbGQodTE2LCBpbnN0YW5jZSkKPj4+ IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBfX2ZpZWxkKHUzMiwgY3R4KQo+ Pj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIF9fZmllbGQodTMyLCBzZXFu bykKPj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBfX2ZpZWxkKHUzMiwg Z2xvYmFsKQo+Pj4gQEAgLTgxNiwxNyArODM0LDE5IEBAIFRSQUNFX0VWRU5UKGk5MTVfcmVxdWVz dF93YWl0X2JlZ2luLAo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgIFRQX2Zhc3RfYXNzaWduKAo+Pj4g wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgX19lbnRyeS0+ZGV2ID0gcnEtPmk5MTUt PmRybS5wcmltYXJ5LT5pbmRleDsKPj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg IF9fZW50cnktPmh3X2lkID0gcnEtPmdlbV9jb250ZXh0LT5od19pZDsKPj4+IC3CoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIF9fZW50cnktPnJpbmcgPSBycS0+ZW5naW5lLT5pZDsKPj4+ICvC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIF9fZW50cnktPmNsYXNzID0gcnEtPmVuZ2luZS0+ dWFiaV9jbGFzczsKPj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIF9fZW50cnktPmlu c3RhbmNlID0gcnEtPmVuZ2luZS0+aW5zdGFuY2U7Cj4+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCBfX2VudHJ5LT5jdHggPSBycS0+ZmVuY2UuY29udGV4dDsKPj4+IMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIF9fZW50cnktPnNlcW5vID0gcnEtPmZlbmNlLnNlcW5v Owo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgX19lbnRyeS0+Z2xvYmFsID0g cnEtPmdsb2JhbF9zZXFubzsKPj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIF9f ZW50cnktPmZsYWdzID0gZmxhZ3M7Cj4+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oCApLAo+Pj4gLcKgwqDCoMKgwqDCoMKgIFRQX3ByaW50aygiZGV2PSV1LCBod19pZD0ldSwgcmlu Zz0ldSwgY3R4PSV1LCBzZXFubz0ldSwgCj4+PiBnbG9iYWw9JXUsIGJsb2NraW5nPSV1LCBmbGFn cz0weCV4IiwKPj4+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBfX2VudHJ5LT5kZXYsIF9f ZW50cnktPmh3X2lkLCBfX2VudHJ5LT5yaW5nLCAKPj4+IF9fZW50cnktPmN0eCwKPj4+IC3CoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBfX2VudHJ5LT5zZXFubywgX19lbnRyeS0+Z2xvYmFsLAo+ Pj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICEhKF9fZW50cnktPmZsYWdzICYgSTkxNV9X QUlUX0xPQ0tFRCksIF9fZW50cnktPmZsYWdzKQo+Pj4gK8KgwqDCoMKgwqDCoMKgIFRQX3ByaW50 aygiZGV2PSV1LCBod19pZD0ldSwgZW5naW5lPSV1OiV1LCBjdHg9JXUsIAo+Pj4gc2Vxbm89JXUs IGdsb2JhbD0ldSwgYmxvY2tpbmc9JXUsIGZsYWdzPTB4JXgiLAo+Pj4gK8KgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIF9fZW50cnktPmRldiwgX19lbnRyeS0+aHdfaWQsIF9fZW50cnktPmNsYXNz LAo+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIF9fZW50cnktPmluc3RhbmNlLCBfX2Vu dHJ5LT5jdHgsIF9fZW50cnktPnNlcW5vLAo+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg IF9fZW50cnktPmdsb2JhbCwgISEoX19lbnRyeS0+ZmxhZ3MgJiBJOTE1X1dBSVRfTE9DS0VEKSwK Pj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBfX2VudHJ5LT5mbGFncykKPj4+IMKgICk7 Cj4+PiDCoCBERUZJTkVfRVZFTlQoaTkxNV9yZXF1ZXN0LCBpOTE1X3JlcXVlc3Rfd2FpdF9lbmQs Cj4+PiBAQCAtOTY2LDIxICs5ODYsMjQgQEAgVFJBQ0VfRVZFTlQoc3dpdGNoX21tLAo+Pj4gwqDC oMKgwqDCoCBUUF9BUkdTKGVuZ2luZSwgdG8pLAo+Pj4gwqDCoMKgwqDCoCBUUF9TVFJVQ1RfX2Vu dHJ5KAo+Pj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgX19maWVsZCh1MzIsIHJpbmcpCj4+PiAr wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBfX2ZpZWxkKHUxNiwgY2xhc3MpCj4+PiArwqDCoMKgwqDC oMKgwqDCoMKgwqDCoCBfX2ZpZWxkKHUxNiwgaW5zdGFuY2UpCj4+PiDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCBfX2ZpZWxkKHN0cnVjdCBpOTE1X2dlbV9jb250ZXh0ICosIHRvKQo+Pj4gwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgX19maWVsZChzdHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNl ICosIHZtKQo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgX19maWVsZCh1MzIsIGRldikK Pj4+IMKgwqDCoMKgwqAgKSwKPj4+IMKgwqDCoMKgwqAgVFBfZmFzdF9hc3NpZ24oCj4+PiAtwqDC oMKgwqDCoMKgwqDCoMKgwqDCoCBfX2VudHJ5LT5yaW5nID0gZW5naW5lLT5pZDsKPj4+ICvCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIF9fZW50cnktPmNsYXNzID0gZW5naW5lLT51YWJpX2NsYXNzOwo+ Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgX19lbnRyeS0+aW5zdGFuY2UgPSBlbmdpbmUtPmlu c3RhbmNlOwo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgX19lbnRyeS0+dG8gPSB0bzsK Pj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIF9fZW50cnktPnZtID0gdG8tPnBwZ3R0PyAm dG8tPnBwZ3R0LT5iYXNlIDogTlVMTDsKPj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIF9f ZW50cnktPmRldiA9IGVuZ2luZS0+aTkxNS0+ZHJtLnByaW1hcnktPmluZGV4Owo+Pj4gwqDCoMKg wqDCoCApLAo+Pj4gLcKgwqDCoCBUUF9wcmludGsoImRldj0ldSwgcmluZz0ldSwgY3R4PSVwLCBj dHhfdm09JXAiLAo+Pj4gLcKgwqDCoMKgwqDCoMKgwqDCoCBfX2VudHJ5LT5kZXYsIF9fZW50cnkt PnJpbmcsIF9fZW50cnktPnRvLCBfX2VudHJ5LT52bSkKPj4+ICvCoMKgwqAgVFBfcHJpbnRrKCJk ZXY9JXUsIGVuZ2luZT0ldToldSwgY3R4PSVwLCBjdHhfdm09JXAiLAo+Pj4gK8KgwqDCoMKgwqDC oMKgwqDCoCBfX2VudHJ5LT5kZXYsIF9fZW50cnktPmNsYXNzLCBfX2VudHJ5LT5pbnN0YW5jZSwg Cj4+PiBfX2VudHJ5LT50bywKPj4+ICvCoMKgwqDCoMKgwqDCoMKgwqAgX19lbnRyeS0+dm0pCj4+ PiDCoCApOwo+Pj4gwqAgI2VuZGlmIC8qIF9JOTE1X1RSQUNFX0hfICovCj4+Cj4+Cj4+IF9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4+IEludGVsLWdmeCBt YWlsaW5nIGxpc3QKPj4gSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+PiBodHRwczov L2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo+CgpfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFp bGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5m cmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK