From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-3.5 required=3.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS,URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 012BEC432C2 for ; Wed, 25 Sep 2019 16:10:42 +0000 (UTC) Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id B999F2146E for ; Wed, 25 Sep 2019 16:10:41 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=citrix.com header.i=@citrix.com header.b="XpHznkLu" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org B999F2146E Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=citrix.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=xen-devel-bounces@lists.xenproject.org Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1iD9rv-00063k-R9; Wed, 25 Sep 2019 16:10:19 +0000 Received: from all-amaz-eas1.inumbo.com ([34.197.232.57] helo=us1-amaz-eas2.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1iD9ru-00063b-5Q for xen-devel@lists.xenproject.org; Wed, 25 Sep 2019 16:10:18 +0000 X-Inumbo-ID: f6ad6bf8-dfae-11e9-9638-12813bfff9fa Received: from esa4.hc3370-68.iphmx.com (unknown [216.71.155.144]) by localhost (Halon) with ESMTPS id f6ad6bf8-dfae-11e9-9638-12813bfff9fa; Wed, 25 Sep 2019 16:10:17 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=citrix.com; s=securemail; t=1569427817; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=Jx3yrGn8/YBL5yHN0o+8HVF0oH6DJGAbic2rSRPFUJ8=; b=XpHznkLu+m5kKoAmuqSy/209FG58C3H5AeVFMSsqIAn7MEXwNJAkUIMi f05XdlijQSac98yLxjELI7042h1SvzV98D71cPZBvKPVjaUKkGxDVxoy1 1HIatzRDsDZCmlSMfdYwrQ0ozV/oDA+mlilOnVsVKJTR3dQ5DnrXAMU5g Q=; Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none; spf=None smtp.pra=Paul.Durrant@citrix.com; spf=Pass smtp.mailfrom=Paul.Durrant@citrix.com; spf=None smtp.helo=postmaster@mail.citrix.com Received-SPF: None (esa4.hc3370-68.iphmx.com: no sender authenticity information available from domain of Paul.Durrant@citrix.com) identity=pra; client-ip=162.221.158.21; receiver=esa4.hc3370-68.iphmx.com; envelope-from="Paul.Durrant@citrix.com"; x-sender="Paul.Durrant@citrix.com"; x-conformance=sidf_compatible Received-SPF: Pass (esa4.hc3370-68.iphmx.com: domain of Paul.Durrant@citrix.com designates 162.221.158.21 as permitted sender) identity=mailfrom; client-ip=162.221.158.21; receiver=esa4.hc3370-68.iphmx.com; envelope-from="Paul.Durrant@citrix.com"; x-sender="Paul.Durrant@citrix.com"; x-conformance=sidf_compatible; x-record-type="v=spf1"; x-record-text="v=spf1 ip4:209.167.231.154 ip4:178.63.86.133 ip4:195.66.111.40/30 ip4:85.115.9.32/28 ip4:199.102.83.4 ip4:192.28.146.160 ip4:192.28.146.107 ip4:216.52.6.88 ip4:216.52.6.188 ip4:162.221.158.21 ip4:162.221.156.83 ~all" Received-SPF: None (esa4.hc3370-68.iphmx.com: no sender authenticity information available from domain of postmaster@mail.citrix.com) identity=helo; client-ip=162.221.158.21; receiver=esa4.hc3370-68.iphmx.com; envelope-from="Paul.Durrant@citrix.com"; x-sender="postmaster@mail.citrix.com"; x-conformance=sidf_compatible IronPort-SDR: 8vUDQXTtFwPwY01BE7Tncez4qa2RXNDzlf4ln6UD9nVR9VE6mkhdYIiiYn6WJfi77t+D3c68Ac VlmnYQM0hMgg2v1BX7a2cqPJSeTzPc7SmTHhOksGJfYB09kyVGQtxnbs/0PCPnQLeinHsGS0H9 xzQcfOh9GqqAdTAQp5PhFE+KPaCJtjeH5bHTSiOvlq/XrPu+0+EbX6Orq84VNhABtQUIEM9e0Q t1cHSzevfcV54JiNGXRxVyzwnK6E5V6v63o99pBQjXrajHFrxV32ic9grpcA9MF+D1x8lr1NKi hU0= X-SBRS: 2.7 X-MesageID: 6397319 X-Ironport-Server: esa4.hc3370-68.iphmx.com X-Remote-IP: 162.221.158.21 X-Policy: $RELAYED X-IronPort-AV: E=Sophos;i="5.64,548,1559534400"; d="scan'208";a="6397319" From: Paul Durrant To: 'Oleksandr' , 'Jan Beulich' Thread-Topic: [Xen-devel] [PATCH v13 0/4] add per-domain IOMMU control Thread-Index: AQHVbg2Z91+gZvcE2UG2jzrPcpRppKc8HWgw///hpgCAACJVgIAAUp0AgAAmyFA= Date: Wed, 25 Sep 2019 16:10:11 +0000 Message-ID: <94de3adfac564f8e920bd04b3cf54734@AMSPEX02CL03.citrite.net> References: <20190918104113.3294-1-paul.durrant@citrix.com> <013c45a9490e413cb97abb02cef960bc@AMSPEX02CL03.citrite.net> <23dec58404634921a595653f8a5ea504@AMSPEX02CL03.citrite.net> <7d50ae35-2642-7fe5-89c7-c4ee09f263d0@gmail.com> In-Reply-To: <7d50ae35-2642-7fe5-89c7-c4ee09f263d0@gmail.com> Accept-Language: en-GB, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-exchange-transport-fromentityheader: Hosted MIME-Version: 1.0 Subject: Re: [Xen-devel] [PATCH v13 0/4] add per-domain IOMMU control X-BeenThere: xen-devel@lists.xenproject.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Cc: Petre Pircalabu , Stefano Stabellini , "xen-devel@lists.xenproject.org" , Wei Liu , KonradRzeszutek Wilk , Andrew Cooper , "Tim \(Xen.org\)" , George Dunlap , Julien Grall , Tamas K Lengyel , David Scott , Anthony Perard , Ian Jackson , Volodymyr Babchuk , Roger Pau Monne Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBPbGVrc2FuZHIgPG9sZWtzdHlz aEBnbWFpbC5jb20+DQo+IFNlbnQ6IDI1IFNlcHRlbWJlciAyMDE5IDE2OjUwDQo+IFRvOiBQYXVs IER1cnJhbnQgPFBhdWwuRHVycmFudEBjaXRyaXguY29tPjsgJ0phbiBCZXVsaWNoJyA8amJldWxp Y2hAc3VzZS5jb20+DQo+IENjOiBQZXRyZSBQaXJjYWxhYnUgPHBwaXJjYWxhYnVAYml0ZGVmZW5k ZXIuY29tPjsgU3RlZmFubyBTdGFiZWxsaW5pIDxzc3RhYmVsbGluaUBrZXJuZWwub3JnPjsgV2Vp IExpdQ0KPiA8d2xAeGVuLm9yZz47IEtvbnJhZFJ6ZXN6dXRlayBXaWxrIDxrb25yYWQud2lsa0Bv cmFjbGUuY29tPjsgQW5kcmV3IENvb3Blcg0KPiA8QW5kcmV3LkNvb3BlcjNAY2l0cml4LmNvbT47 IERhdmlkIFNjb3R0IDxkYXZlQHJlY29pbC5vcmc+OyBUaW0gKFhlbi5vcmcpIDx0aW1AeGVuLm9y Zz47IEdlb3JnZSBEdW5sYXANCj4gPEdlb3JnZS5EdW5sYXBAY2l0cml4LmNvbT47IFRhbWFzIEsg TGVuZ3llbCA8dGFtYXNAdGtsZW5neWVsLmNvbT47IElhbiBKYWNrc29uDQo+IDxJYW4uSmFja3Nv bkBjaXRyaXguY29tPjsgQW50aG9ueSBQZXJhcmQgPGFudGhvbnkucGVyYXJkQGNpdHJpeC5jb20+ OyB4ZW4tZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmc7DQo+IFZvbG9keW15ciBCYWJjaHVrIDxW b2xvZHlteXJfQmFiY2h1a0BlcGFtLmNvbT47IFJvZ2VyIFBhdSBNb25uZSA8cm9nZXIucGF1QGNp dHJpeC5jb20+OyBKdWxpZW4gR3JhbGwNCj4gPGp1bGllbi5ncmFsbEBhcm0uY29tPg0KPiBTdWJq ZWN0OiBSZTogW1hlbi1kZXZlbF0gW1BBVENIIHYxMyAwLzRdIGFkZCBwZXItZG9tYWluIElPTU1V IGNvbnRyb2wNCj4gDQo+IA0KPiBbQ0MgSnVsaWVuXQ0KPiANCj4gDQo+IEhpIFBhdWwNCj4gDQo+ IEkgbWF5IG1pc3Rha2UsIGJ1dCBsb29rcyBsaWtlDQo+IA0KPiA4MGZmM2QzMzhkYzkzMjYwYjQx ZmZlZWViYjBmODUyYzJlZGVmOWNlIGlvbW11OiB0aWR5IHVwDQo+IGlvbW11X3VzZV9oYXBfcHQo KSBhbmQgbmVlZF9pb21tdV9wdF9zeW5jKCkgbWFjcm9zDQo+IA0KPiB0cmlnZ2VycyBBU1NFUlRf VU5SRUFDSEFCTEUgb24gQXJtIGlmIG5vIElPTU1VIGhhcyBiZWVuIGZvdW5kIChJIGJ1aWx0DQo+ IHdpdGggbXkgcGxhdGZvcm0ncyBJT01NVSBkcml2ZXIgZGlzYWJsZWQ6ICMgQ09ORklHX0lQTU1V X1ZNU0EgaXMgbm90IHNldCkgLg0KPiANCj4gU28sIGlvbW11X3NldHVwKCkgY2FsbHMgY2xlYXJf aW9tbXVfaGFwX3B0X3NoYXJlKCkgd2l0aA0KPiBpb21tdV9oYXBfcHRfc2hhcmUgYmVpbmcgc2V0 IChDT05GSUdfSU9NTVVfRk9SQ0VfUFRfU0hBUkU9eSkgd2hpY2gsDQo+IGFjdHVhbGx5LCB0cmln Z2VycyBBU1NFUlQuDQo+IA0KDQpIZXJlIGEgbWluaW1hbCBwYXRjaCwgbGVhdmluZyAnZm9yY2Ug cHQgc2hhcmUnIGluIHBsYWNlLiBEb2VzIHRoaXMgYXZvaWQgdGhlIHByb2JsZW0/DQoNCi0tLTg8 LS0tDQpkaWZmIC0tZ2l0IGEveGVuL2NvbW1vbi9zeXNjdGwuYyBiL3hlbi9jb21tb24vc3lzY3Rs LmMNCmluZGV4IGU4NzYzYzdmZGYuLmY4OGEyODVlN2YgMTAwNjQ0DQotLS0gYS94ZW4vY29tbW9u L3N5c2N0bC5jDQorKysgYi94ZW4vY29tbW9uL3N5c2N0bC5jDQpAQCAtMjY4LDkgKzI2OCwxMSBA QCBsb25nIGRvX3N5c2N0bChYRU5fR1VFU1RfSEFORExFX1BBUkFNKHhlbl9zeXNjdGxfdCkgdV9z eXNjdGwpDQogICAgICAgICBwaS0+bWF4X21mbiA9IGdldF91cHBlcl9tZm5fYm91bmQoKTsNCiAg ICAgICAgIGFyY2hfZG9fcGh5c2luZm8ocGkpOw0KICAgICAgICAgaWYgKCBpb21tdV9lbmFibGVk ICkNCisgICAgICAgIHsNCiAgICAgICAgICAgICBwaS0+Y2FwYWJpbGl0aWVzIHw9IFhFTl9TWVND VExfUEhZU0NBUF9kaXJlY3RpbzsNCi0gICAgICAgIGlmICggaW9tbXVfaGFwX3B0X3NoYXJlICkN Ci0gICAgICAgICAgICBwaS0+Y2FwYWJpbGl0aWVzIHw9IFhFTl9TWVNDVExfUEhZU0NBUF9pb21t dV9oYXBfcHRfc2hhcmU7DQorICAgICAgICAgICAgaWYgKCBpb21tdV9oYXBfcHRfc2hhcmUgKQ0K KyAgICAgICAgICAgICAgICBwaS0+Y2FwYWJpbGl0aWVzIHw9IFhFTl9TWVNDVExfUEhZU0NBUF9p b21tdV9oYXBfcHRfc2hhcmU7DQorICAgICAgICB9DQoNCiAgICAgICAgIGlmICggY29weV90b19n dWVzdCh1X3N5c2N0bCwgb3AsIDEpICkNCiAgICAgICAgICAgICByZXQgPSAtRUZBVUxUOw0KZGlm ZiAtLWdpdCBhL3hlbi9pbmNsdWRlL3hlbi9pb21tdS5oIGIveGVuL2luY2x1ZGUveGVuL2lvbW11 LmgNCmluZGV4IDdjMzAwM2YzZjEuLjZhMTBhMjQxMjggMTAwNjQ0DQotLS0gYS94ZW4vaW5jbHVk ZS94ZW4vaW9tbXUuaA0KKysrIGIveGVuL2luY2x1ZGUveGVuL2lvbW11LmgNCkBAIC02OCw4ICs2 OCw2IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBjbGVhcl9pb21tdV9oYXBfcHRfc2hhcmUodm9pZCkN CiB7DQogI2lmbmRlZiBpb21tdV9oYXBfcHRfc2hhcmUNCiAgICAgaW9tbXVfaGFwX3B0X3NoYXJl ID0gZmFsc2U7DQotI2VsaWYgaW9tbXVfaGFwX3B0X3NoYXJlDQotICAgIEFTU0VSVF9VTlJFQUNI QUJMRSgpOw0KICNlbmRpZg0KIH0NCi0tLTg8LS0tDQoNCiAgUGF1bA0KDQo+IC4uLg0KPiANCj4g DQo+IChYRU4pIEFzc2VydGlvbiAndW5yZWFjaGFibGUnIGZhaWxlZCBhdA0KPiAuLi5pbGQtd29y a3NwYWNlL2J1aWxkL3hlbi94ZW4vaW5jbHVkZS94ZW4vaW9tbXUuaDo3Mg0KPiAoWEVOKSAtLS0t WyBYZW4tNC4xMy11bnN0YWJsZcKgIGFybTY0wqAgZGVidWc9ecKgwqAgTm90IHRhaW50ZWQgXS0t LS0NCj4gKFhFTikgQ1BVOsKgwqDCoCAwDQo+IChYRU4pIFBDOsKgwqDCoMKgIDAwMDAwMDAwMDAy YjNhZTAgaW9tbXVfc2V0dXArMHhhMC8weDE4Yw0KPiAoWEVOKSBMUjrCoMKgwqDCoCAwMDAwMDAw MDAwMmIzYThjDQo+IChYRU4pIFNQOsKgwqDCoMKgIDAwMDAwMDAwMDAyZjdkYzANCj4gKFhFTikg Q1BTUjrCoMKgIGEwMDAwMjQ5IE1PREU6NjQtYml0IEVMMmggKEh5cGVydmlzb3IsIGhhbmRsZXIp DQo+IChYRU4pwqDCoMKgwqDCoCBYMDogMDAwMDAwMDAwMDJhNzAwMMKgIFgxOiAwMDAwMDAwMDAw MDAwMDAwwqAgWDI6IDJjNzM2MTczNjU2ZTY1NzINCj4gKFhFTinCoMKgwqDCoMKgIFgzOiAwMDAw MDAwMDAwMDAwMDAywqAgWDQ6IDAwMDAwMDAwMDAwMDAwMDHCoCBYNTogMDAwMDAwMDAwMDAwMDAw MA0KPiAoWEVOKcKgwqDCoMKgwqAgWDY6IDAwMDAwMDAwMDAwMDAwODDCoCBYNzogMmI3MjYwNzI2 NDZkNjQ3McKgIFg4OiA3ZjdmN2Y3ZjdmN2Y3ZjdmDQo+IChYRU4pwqDCoMKgwqDCoCBYOTogZmY2 NTY4NWU2YzZmNzI3NSBYMTA6IDdmN2Y3ZjdmN2Y3ZjdmN2YgWDExOiAwMTAxMDEwMTAxMDEwMTAx DQo+IChYRU4pwqDCoMKgwqAgWDEyOiAwMDAwMDAwMDAwMDAwMDM4IFgxMzogMDAwMDAwMDAwMDI4 MDkxMCBYMTQ6IDAwMDAwMDAwMDAwMDAwMjANCj4gKFhFTinCoMKgwqDCoCBYMTU6IDAwMDAwMDAw MDAwMDAwMDAgWDE2OiAwMDAwMDAwMDAwMmE3MDAwIFgxNzogMDAwMDAwMDAwMDJhNzAwMA0KPiAo WEVOKcKgwqDCoMKgIFgxODogMDAwMDAwMDAwMDJhNzAwMCBYMTk6IDAwMDAwMDAwMDAwMDAwMDAg WDIwOiAwMDAwMDAwMGZmZmZmZmVkDQo+IChYRU4pwqDCoMKgwqAgWDIxOiAwMDAwMDAwMDAwMmE2 MzgwIFgyMjogMDAwMDAwMDAwMDMzNTQzMCBYMjM6IDAwMDAwMDAwMDAwMDAwMDINCj4gKFhFTinC oMKgwqDCoCBYMjQ6IDAwMDAwMDAwMDAyOWIxZjAgWDI1OiAwMDAwMDAwMDAwMmQ4M2QwIFgyNjog MDAwMDAwMDA0ODAwMDAwMA0KPiAoWEVOKcKgwqDCoMKgIFgyNzogMDAwMDAwMDBjMDAwMDAwMCBY Mjg6IDAwMDAwMDAwMDAwMDAwMDHCoCBGUDogMDAwMDAwMDAwMDJmN2RjMA0KPiAoWEVOKQ0KPiAo WEVOKcKgwqAgVlRDUl9FTDI6IDgwMDAwMDAwDQo+IChYRU4pwqAgVlRUQlJfRUwyOiAwMDAwMDAw MDAwMDAwMDAwDQo+IChYRU4pDQo+IChYRU4pwqAgU0NUTFJfRUwyOiAzMGNkMTgzZA0KPiAoWEVO KcKgwqDCoCBIQ1JfRUwyOiAwMDAwMDAwMDAwMDAwMDM4DQo+IChYRU4pwqAgVFRCUjBfRUwyOiAw MDAwMDAwMDc4MWI0MDAwDQo+IChYRU4pDQo+IChYRU4pwqDCoMKgIEVTUl9FTDI6IGYyMDAwMDAx DQo+IChYRU4pwqAgSFBGQVJfRUwyOiAwMDAwMDAwMDAwMDAwMDAwDQo+IChYRU4pwqDCoMKgIEZB Ul9FTDI6IDAwMDAwMDAwMDAwMDAwMDANCj4gKFhFTikNCj4gKFhFTikgWGVuIHN0YWNrIHRyYWNl IGZyb20gc3A9MDAwMDAwMDAwMDJmN2RjMDoNCj4gKFhFTinCoMKgwqAgMDAwMDAwMDAwMDJmN2Rl MCAwMDAwMDAwMDAwMmJkZDk0IDAwMDAwMDAwMDAwMDAwMDIgMDAwMDAwMDAwMDAwMDAwMg0KPiAo WEVOKcKgwqDCoCAwMDAwMDAwMGJmZTBiNjYwIDAwMDAwMDAwMDAyMDAxYjQgMDAwMDAwMDA3ODA4 MDAwMCAwMDAwMDAwMDc3ZTgwMDAwDQo+IChYRU4pwqDCoMKgIDAwMDAwMDAwNDgwMDAwMDAgMDAw MDAwMDAwMDAwMDAwMCAwMDAwMDAwMDAwNDAwMDAwIDAwMDAwMDAwMDAwMDAwMDMNCj4gKFhFTinC oMKgwqAgMDAwMDAwMDAwMDAwMDAwMSAwMDAwMDAwMDAwMDAwMDAwIDAwMDAwMDAwNzgwODAwMDAg MDAwMDAwMDA0ODA4MDA0MA0KPiAoWEVOKcKgwqDCoCAwMDAwMDAwMDAwMDAwMDAwIDAwMDAwMDAw MDAwMGYwODAgMDAwMDAwMDA0ODAwMDAwMCAwMDAwMDAwMDc4MDAwMDAwDQo+IChYRU4pwqDCoMKg IDAwMDAwMDAwMDAyZDgzYzAgMDAwMDAwMDAwMDJhYTQ0MCAwMDAwMDAwMDAwMDAwMDAwIDAwMDAw MDAwMDAwMDAwMDANCj4gKFhFTinCoMKgwqAgMDAwMDAwMDAwMDAwMDAwMCAwMDAwMDAwMzAwMDAw MDAwIDAwMDAwMDAwMDAwMDAwMDAgMDAwMDAwNDBmZmZmZmZmZg0KPiAoWEVOKcKgwqDCoCAwMDAw MDAwMDAwMDAwNDAwIDAwMDAwMDAwMDAwMDAwMDAgMDAwMDAwMDAwMDAwMDAwMCAwMDAwMDAwMDAw MDAwMDAwDQo+IChYRU4pwqDCoMKgIDAwMDAwMDAwMDAwMDAwMDAgMDAwMDAwMDAwMDAwMDAwMCAw MDAwMDAwMDAwMDAwMDAwIDAwMDAwMDAwMDAwMDAwMDANCj4gKFhFTinCoMKgwqAgMDAwMDAwMDAw MDAwMDAwMCAwMDAwMDAwMDAwMDAwMDAwIDAwMDAwMDAwMDAwMDAwMDAgMDAwMDAwMDAwMDAwMDAw MA0KPiAoWEVOKcKgwqDCoCAwMDAwMDAwMDAwMDAwMDAwIDAwMDAwMDAwMDAwMDAwMDAgMDAwMDAw MDAwMDAwMDAwMCAwMDAwMDAwMDAwMDAwMDAwDQo+IChYRU4pwqDCoMKgIDAwMDAwMDAwMDAwMDAw MDAgMDAwMDAwMDAwMDAwMDAwMCAwMDAwMDAwMDAwMDAwMDAwIDAwMDAwMDAwMDAwMDAwMDANCj4g KFhFTinCoMKgwqAgMDAwMDAwMDAwMDAwMDAwMCAwMDAwMDAwMDAwMDAwMDAwIDAwMDAwMDAwMDAw MDAwMDAgMDAwMDAwMDAwMDAwMDAwMA0KPiAoWEVOKcKgwqDCoCAwMDAwMDAwMDAwMDAwMDAwIDAw MDAwMDAwMDAwMDAwMDAgMDAwMDAwMDAwMDAwMDAwMCAwMDAwMDAwMDAwMDAwMDAwDQo+IChYRU4p wqDCoMKgIDAwMDAwMDAwMDAwMDAwMDAgMDAwMDAwMDAwMDAwMDAwMCAwMDAwMDAwMDAwMDAwMDAw IDAwMDAwMDAwMDAwMDAwMDANCj4gKFhFTinCoMKgwqAgMDAwMDAwMDAwMDAwMDAwMCAwMDAwMDAw MDAwMDAwMDAwIDAwMDAwMDAwMDAwMDAwMDAgMDAwMDAwMDAwMDAwMDAwMA0KPiAoWEVOKcKgwqDC oCAwMDAwMDAwMDAwMDAwMDAwIDAwMDAwMDAwMDAwMDAwMDAgMDAwMDAwMDAwMDAwMDAwMCAwMDAw MDAwMDAwMDAwMDAwDQo+IChYRU4pwqDCoMKgIDAwMDAwMDAwMDAwMDAwMDAgMDAwMDAwMDAwMDAw MDAwMCAwMDAwMDAwMDAwMDAwMDAwIDAwMDAwMDAwMDAwMDAwMDANCj4gKFhFTikgWGVuIGNhbGwg dHJhY2U6DQo+IChYRU4pwqDCoMKgIFs8MDAwMDAwMDAwMDJiM2FlMD5dIGlvbW11X3NldHVwKzB4 YTAvMHgxOGMgKFBDKQ0KPiAoWEVOKcKgwqDCoCBbPDAwMDAwMDAwMDAyYjNhOGM+XSBpb21tdV9z ZXR1cCsweDRjLzB4MThjIChMUikNCj4gKFhFTinCoMKgwqAgWzwwMDAwMDAwMDAwMmJkZDk0Pl0g c3RhcnRfeGVuKzB4YWEwLzB4YzdjDQo+IChYRU4pwqDCoMKgIFs8MDAwMDAwMDAwMDIwMDFiND5d IGFybTY0L2hlYWQubyNwcmltYXJ5X3N3aXRjaGVkKzB4Yy8weDJjDQo+IChYRU4pDQo+IChYRU4p DQo+IChYRU4pICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCj4gKFhF TikgUGFuaWMgb24gQ1BVIDA6DQo+IChYRU4pIEFzc2VydGlvbiAndW5yZWFjaGFibGUnIGZhaWxl ZCBhdA0KPiAuLi5pbGQtd29ya3NwYWNlL2J1aWxkL3hlbi94ZW4vaW5jbHVkZS94ZW4vaW9tbXUu aDo3Mg0KPiAoWEVOKSAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQo+ IChYRU4pDQo+IA0KPiANCj4gLS0NCj4gUmVnYXJkcywNCj4gDQo+IE9sZWtzYW5kciBUeXNoY2hl bmtvDQoNCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhl bi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBz Oi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby94ZW4tZGV2ZWw=