From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yi Sun Subject: [RFC v2 01/12] docs: create Memory Bandwidth Allocation (MBA) feature document. Date: Thu, 20 Jul 2017 16:49:02 +0800 Message-ID: <1500540553-29199-2-git-send-email-yi.y.sun@linux.intel.com> References: <1500540553-29199-1-git-send-email-yi.y.sun@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta6.messagelabs.com ([193.109.254.103]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dY7N8-0007HG-PL for xen-devel@lists.xenproject.org; Thu, 20 Jul 2017 09:03:50 +0000 In-Reply-To: <1500540553-29199-1-git-send-email-yi.y.sun@linux.intel.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xenproject.org Cc: kevin.tian@intel.com, wei.liu2@citrix.com, andrew.cooper3@citrix.com, dario.faggioli@citrix.com, ian.jackson@eu.citrix.com, Yi Sun , julien.grall@arm.com, mengxu@cis.upenn.edu, jbeulich@suse.com, chao.p.peng@linux.intel.com, roger.pau@citrix.com List-Id: xen-devel@lists.xenproject.org VGhpcyBwYXRjaCBjcmVhdGVzIE1CQSBmZWF0dXJlIGRvY3VtZW50IGluIGRvYy9mZWF0dXJlcy8u IEl0IGRlc2NyaWJlcwprZXkgcG9pbnRzIHRvIGltcGxlbWVudCBNQkEgd2hpY2ggaXMgZGVzY3Jp YmVkIGluIGRldGFpbHMgaW4gSW50ZWwgU0RNCiJJbnRyb2R1Y3Rpb24gdG8gTWVtb3J5IEJhbmR3 aWR0aCBBbGxvY2F0aW9uIi4KClNpZ25lZC1vZmYtYnk6IFlpIFN1biA8eWkueS5zdW5AbGludXgu aW50ZWwuY29tPgotLS0KIGRvY3MvZmVhdHVyZXMvaW50ZWxfcHNyX21iYS5wYW5kb2MgfCAyNDQg KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogMSBmaWxlIGNoYW5nZWQsIDI0 NCBpbnNlcnRpb25zKCspCiBjcmVhdGUgbW9kZSAxMDA2NDQgZG9jcy9mZWF0dXJlcy9pbnRlbF9w c3JfbWJhLnBhbmRvYwoKZGlmZiAtLWdpdCBhL2RvY3MvZmVhdHVyZXMvaW50ZWxfcHNyX21iYS5w YW5kb2MgYi9kb2NzL2ZlYXR1cmVzL2ludGVsX3Bzcl9tYmEucGFuZG9jCm5ldyBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYzY2Y4MDQKLS0tIC9kZXYvbnVsbAorKysgYi9kb2NzL2Zl YXR1cmVzL2ludGVsX3Bzcl9tYmEucGFuZG9jCkBAIC0wLDAgKzEsMjQ0IEBACislIEludGVsIE1l bW9yeSBCYW5kd2lkdGggQWxsb2NhdGlvbiAoTUJBKSBGZWF0dXJlCislIFJldmlzaW9uIDEuMQor CitcY2xlYXJwYWdlCisKKyMgQmFzaWNzCisKKy0tLS0tLS0tLS0tLS0tLS0gLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICAgICAgICAgU3RhdHVz OiAqKlRlY2ggUHJldmlldyoqCisKK0FyY2hpdGVjdHVyZShzKTogSW50ZWwgeDg2CisKKyAgIENv bXBvbmVudChzKTogSHlwZXJ2aXNvciwgdG9vbHN0YWNrCisKKyAgICAgICBIYXJkd2FyZTogTUJB IGlzIHN1cHBvcnRlZCBvbiBTa3lsYWtlIFNlcnZlciBhbmQgYmV5b25kCistLS0tLS0tLS0tLS0t LS0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K KworIyBUZXJtaW5vbG9neQorCisqIENBVCAgICAgICAgIENhY2hlIEFsbG9jYXRpb24gVGVjaG5v bG9neQorKiBDQk0gICAgICAgICBDYXBhY2l0eSBCaXRNYXNrcworKiBDRFAgICAgICAgICBDb2Rl IGFuZCBEYXRhIFByaW9yaXRpemF0aW9uCisqIENPUy9DTE9TICAgIENsYXNzIG9mIFNlcnZpY2UK KyogTUJBICAgICAgICAgTWVtb3J5IEJhbmR3aWR0aCBBbGxvY2F0aW9uCisqIE1TUnMgICAgICAg IE1hY2hpbmUgU3BlY2lmaWMgUmVnaXN0ZXJzCisqIFBTUiAgICAgICAgIEludGVsIFBsYXRmb3Jt IFNoYXJlZCBSZXNvdXJjZQorKiBUSFJUTCAgICAgICBUaHJvdHRsZSB2YWx1ZSBvciBkZWxheSB2 YWx1ZQorCisjIE92ZXJ2aWV3CisKK1RoZSBNZW1vcnkgQmFuZHdpZHRoIEFsbG9jYXRpb24gKE1C QSkgZmVhdHVyZSBwcm92aWRlcyBpbmRpcmVjdCBhbmQgYXBwcm94aW1hdGUKK2NvbnRyb2wgb3Zl ciBtZW1vcnkgYmFuZHdpZHRoIGF2YWlsYWJsZSBwZXItY29yZS4gVGhpcyBmZWF0dXJlIHByb3Zp ZGVzIE9TLworaHlwZXJ2aXNvciB0aGUgYWJpbGl0eSB0byBzbG93IG1pc2JlaGF2aW5nIGFwcHMv ZG9tYWlucyBvciBjcmVhdGUgYWR2YW5jZWQKK2Nsb3NlZC1sb29wIGNvbnRyb2wgc3lzdGVtIHZp YSBleHBvc2luZyBjb250cm9sIG92ZXIgYSBjcmVkaXQtYmFzZWQgdGhyb3R0bGluZworbWVjaGFu aXNtLgorCisjIFVzZXIgZGV0YWlscworCisqIEZlYXR1cmUgRW5hYmxpbmc6CisKKyAgQWRkICJw c3I9bWJhIiB0byBib290IGxpbmUgcGFyYW1ldGVyIHRvIGVuYWJsZSBNQkEgZmVhdHVyZS4KKwor KiB4bCBpbnRlcmZhY2VzOgorCisgIDEuIGBwc3ItbWJhLXNob3cgW2RvbWFpbi1pZF1gOgorCisg ICAgIFNob3cgbWVtb3J5IGJhbmR3aWR0aCB0aHJvdHRsaW5nIGZvciBkb21haW4uCisKKyAgMi4g YHBzci1tYmEtc2V0IFtPUFRJT05TXSBkb21haW4taWQgdGhyb3R0bGluZ2A6CisKKyAgICAgU2V0 IG1lbW9yeSBiYW5kd2lkdGggdGhyb3R0bGluZyBmb3IgZG9tYWluLgorCisgICAgIE9wdGlvbnM6 CisgICAgICctcyc6IFNwZWNpZnkgdGhlIHNvY2tldCB0byBwcm9jZXNzLCBvdGhlcndpc2UgYWxs IHNvY2tldHMgYXJlIHByb2Nlc3NlZC4KKworICAgICBUaHJvdHRsaW5nIHZhbHVlIHNldCBpbiBy ZWdpc3RlciBpbXBsaWVzIG1lbW9yeSBiYW5kd2lkdGggYmxvY2tlZCwgaS5lLgorICAgICBoaWdo ZXIgdGhyb3R0bGluZyB2YWx1ZSByZXN1bHRzIGluIGxvd2VyIGJhbmR3aWR0aC4gVGhlIG1heCB0 aHJvdHRsaW5nCisgICAgIHZhbHVlIGNhbiBiZSBnb3QgdGhyb3VnaCBDUFVJRC4KKworICAgICBU aGUgcmVzcG9uc2Ugb2YgdGhlIHRocm90dGxpbmcgdmFsdWUgY291bGQgYmUgbGluZWFyIG1vZGUg b3Igbm9uLWxpbmVhcgorICAgICBtb2RlLgorCisgICAgIExpbmVhciBtb2RlOiB0aGUgaW5wdXQg cHJlY2lzaW9uIGlzIGRlZmluZWQgYXMgMTAwLShNQkFfTUFYKS4gRm9yIGluc3RhbmNlLAorICAg ICBpZiB0aGUgTUJBX01BWCB2YWx1ZSBpcyA5MCwgdGhlIGlucHV0IHByZWNpc2lvbiBpcyAxMCUu IFZhbHVlcyBub3QgYW4gZXZlbgorICAgICBtdWx0aXBsZSBvZiB0aGUgcHJlY2lzaW9uIChlLmcu LCAxMiUpIHdpbGwgYmUgcm91bmRlZCBkb3duIChlLmcuLCB0byAxMCUKKyAgICAgZGVsYXkgYXBw bGllZCkgYnkgSFcgYXV0b21hdGljYWxseS4KKworICAgICBOb24tbGluZWFyIG1vZGU6IGlucHV0 IGRlbGF5IHZhbHVlcyBhcmUgcG93ZXJzLW9mLXR3byBmcm9tIHplcm8gdG8gdGhlCisgICAgIE1C QV9NQVggdmFsdWUgZnJvbSBDUFVJRC4gSW4gdGhpcyBjYXNlIGFueSB2YWx1ZXMgbm90IGEgcG93 ZXIgb2YgdHdvIHdpbGwKKyAgICAgYmUgcm91bmRlZCBkb3duIHRoZSBuZXh0IG5lYXJlc3QgcG93 ZXIgb2YgdHdvIGJ5IEhXIGF1dG9tYXRpY2FsbHkuCisKKyMgVGVjaG5pY2FsIGRldGFpbHMKKwor TUJBIGlzIGEgbWVtYmVyIG9mIEludGVsIFBTUiBmZWF0dXJlcywgaXQgc2hhcmVzIHRoZSBiYXNl IFBTUiBpbmZyYXN0cnVjdHVyZQoraW4gWGVuLgorCisjIyBIYXJkd2FyZSBwZXJzcGVjdGl2ZQor CisgIE1CQSBkZWZpbmVzIGEgcmFuZ2Ugb2YgTVNScyB0byBzdXBwb3J0IHNwZWNpZnlpbmcgYSBk ZWxheSB2YWx1ZSAoVGhydGwpIHBlcgorICBDT1MsIHdpdGggZGV0YWlscyBiZWxvdy4KKworICBg YGAKKyAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0rCisg ICB8IE1TUiAocGVyIHNvY2tldCkgICAgICAgICAgIHwgICAgQWRkcmVzcyAgICAgfAorICAgKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLSsKKyAgIHwgSUEzMl9M Ml9RT1NfRXh0X0JXX1RocnRsXzAgfCAgICAgMHhENTAgICAgICB8CisgICArLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKworICAgfCAuLi4gICAgICAgICAgICAg ICAgICAgICAgICB8ICAuLi4gICAgICAgICAgIHwKKyAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0rCisgICB8IElBMzJfTDJfUU9TX0V4dF9CV19UaHJ0bF9u IHwgMHhENTArbiAobjw2NCkgfAorICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLSsKKyAgYGBgCisKKyAgV2hlbiBjb250ZXh0IHN3aXRjaCBoYXBwZW5zLCB0 aGUgQ09TIElEIG9mIFZDUFUgaXMgd3JpdHRlbiB0byBwZXItdGhyZWFkIE1TUgorICBgSUEzMl9Q UVJfQVNTT0NgLCBhbmQgdGhlbiBoYXJkd2FyZSBlbmZvcmNlcyBiYW5kd2lkdGggYWxsb2NhdGlv biBhY2NvcmRpbmcKKyAgdG8gdGhlIHRocm90dGxpbmcgdmFsdWUgc3RvcmVkIGluIHRoZSBDT1Mg cmVnaXN0ZXIuCisKKyMjIFRoZSByZWxhdGlvbnNoaXAgYmV0d2VlbiBNQkEgYW5kIENBVC9DRFAK KworICBHZW5lcmFsbHkgc3BlYWtpbmcsIE1CQSBpcyBjb21wbGV0ZWx5IGluZGVwZW5kZW50IG9m IENBVC9DRFAsIGFuZCBhbnkKKyAgY29tYmluYXRpb24gbWF5IGJlIGFwcGxpZWQgYXQgYW55IHRp bWUsIGUuZy4gZW5hYmxpbmcgTUJBIHdpdGggQ0FUCisgIGRpc2FibGVkLgorCisgIEJ1dCBpdCBu ZWVkcyB0byBiZSBub3RpY2VkIHRoYXQgTUJBIHNoYXJlcyBDT1MgaW5mcmFzdHJ1Y3R1cmUgd2l0 aCBDQVQsCisgIGFsdGhvdWdoIE1CQSBpcyBlbnVtZXJhdGVkIGJ5IGRpZmZlcmVudCBDUFVJRCBs ZWFmIGZyb20gQ0FUICh3aGljaAorICBpbmRpY2F0ZXMgdGhhdCB0aGUgbWF4IENPUyBvZiBNQkEg bWF5IGJlIGRpZmZlcmVudCBmcm9tIENBVCkuIEluIHNvbWUKKyAgY2FzZXMsIGEgZG9tYWluIGlz IHBlcm1pdHRlZCB0byBoYXZlIGEgQ09TIHRoYXQgaXMgYmV5b25kIG9uZSAob3IgbW9yZSkKKyAg b2YgUFNSIGZlYXR1cmVzIGJ1dCB3aXRoaW4gdGhlIG90aGVycy4gRm9yIGluc3RhbmNlLCBsZXQn cyBhc3N1bWUgdGhlIG1heAorICBDT1Mgb2YgTUJBIGlzIDggYnV0IHRoZSBtYXggQ09TIG9mIEwz IENBVCBpcyAxNiwgd2hlbiBhIGRvbWFpbiBpcyBhc3NpZ25lZAorICA5IGFzIENPUywgdGhlIEwz IENBVCBDQk0gYXNzb2NpYXRlZCB0byBDT1MgOSB3b3VsZCBiZSBlbmZvcmNlZCwgYnV0IGZvciBN QkEsCisgIHRoZSBIVyB3b3JrcyBhcyBkZWZhdWx0IHZhbHVlIGlzIHNldCBzaW5jZSBDT1MgOSBp cyBiZXlvbmQgdGhlIG1heCBDT1MgKDgpCisgIG9mIE1CQS4KKworIyMgRGVzaWduIE92ZXJ2aWV3 CisKKyogQ29yZSBDT1MvVGhydGwgYXNzb2NpYXRpb24KKworICBXaGVuIGVuZm9yY2luZyBNZW1v cnkgQmFuZHdpZHRoIEFsbG9jYXRpb24sIGFsbCBjb3JlcyBvZiBkb21haW5zIGhhdmUKKyAgdGhl IHNhbWUgZGVmYXVsdCBDT1MgKENPUzApIHdoaWNoIHN0b3JlcyB0aGUgc2FtZSBUaHJ0bCAoMCku IFRoZSBkZWZhdWx0CisgIENPUyBpcyB1c2VkIG9ubHkgaW4gaHlwZXJ2aXNvciBhbmQgaXMgdHJh bnNwYXJlbnQgdG8gdG9vbCBzdGFjayBhbmQgdXNlci4KKworICBTeXN0ZW0gYWRtaW5pc3RyYXRv ciBjYW4gY2hhbmdlIFBTUiBhbGxvY2F0aW9uIHBvbGljeSBhdCBydW50aW1lIGJ5CisgIHRvb2wg c3RhY2suIFNpbmNlIE1CQSBzaGFyZXMgQ09TIHdpdGggQ0FUL0NEUCwgYSBDT1MgY29ycmVzcG9u ZHMgdG8gYQorICAyLXR1cGxlLCBsaWtlIFtDQk0sIFRocnRsXSB3aXRoIG9ubHktQ0FUIGVuYWxi ZWQsIHdoZW4gQ0RQIGlzIGVuYWJsZWQsCisgIHRoZSBDT1MgY29ycmVzcG9uZHMgdG8gYSAzLXR1 cGxlLCBsaWtlIFtDb2RlX0NCTSwgRGF0YV9DQk0sIFRocnRsXS4gSWYKKyAgbmVpdGhlciBDQVQg bm9yIENEUCBpcyBlbmFibGVkLCB0aGluZ3Mgd291bGQgYmUgZWFzaWVyLCBvbmUgQ09TCisgIGNv cnJlc3BvbmRzIHRvIG9uZSBUaHJ0bC4KKworKiBWQ1BVIHNjaGVkdWxlCisKKyAgVGhpcyBwYXJ0 IHJldXNlcyBDQVQgQ09TIGluZnJhc3RydWN0dXJlLgorCisqIE11bHRpLXNvY2tldHMKKworICBE aWZmZXJlbnQgc29ja2V0cyBtYXkgaGF2ZSBkaWZmZXJlbnQgTUJBIGFiaWxpdHkgKGxpa2UgbWF4 IENPUykKKyAgYWx0aG91Z2ggaXQgaXMgY29uc2lzdGVudCBvbiB0aGUgc2FtZSBzb2NrZXQuIFNv IHRoZSBjYXBhYmlsaXR5CisgIG9mIHBlci1zb2NrZXQgTUJBIGlzIHNwZWNpZmllZC4KKworICBU aGlzIHBhcnQgcmV1c2VzIENBVCBDT1MgaW5mcmFzdHJ1Y3R1cmUuCisKKyMjIEltcGxlbWVudGF0 aW9uIERlc2NyaXB0aW9uCisKKyogSHlwZXJ2aXNvciBpbnRlcmZhY2VzOgorCisgIDEuIEJvb3Qg bGluZSBwYXJhbTogInBzcj1tYmEiIHRvIGVuYWJsZSB0aGUgZmVhdHVyZS4KKworICAyLiBTWVND VEw6CisgICAgICAgICAgLSBYRU5fU1lTQ1RMX1BTUl9NQkFfZ2V0X2luZm86IEdldCBzeXN0ZW0g TUJBIGluZm9ybWF0aW9uLgorCisgIDMuIERPTUNUTDoKKyAgICAgICAgICAtIFhFTl9ET01DVExf UFNSX01CQV9PUF9HRVRfVEhSVEw6IEdldCB0aHJvdHRsaW5nIGZvciBhIGRvbWFpbi4KKyAgICAg ICAgICAtIFhFTl9ET01DVExfUFNSX01CQV9PUF9TRVRfVEhSVEw6IFNldCB0aHJvdHRsaW5nIGZv ciBhIGRvbWFpbi4KKworKiB4bCBpbnRlcmZhY2VzOgorCisgIDEuIHBzci1tYmEtc2hvdyBbZG9t YWluLWlkXQorICAgICAgICAgIFNob3cgc3lzdGVtL2RvbWFpbiBydW50aW1lIE1CQSB0aHJvdHRs aW5nIHZhbHVlLgorICAgICAgICAgID0+IFhFTl9TWVNDVExfUFNSX01CQV9nZXRfaW5mby9YRU5f RE9NQ1RMX1BTUl9NQkFfT1BfR0VUX1RIUlRMCisKKyAgMi4gcHNyLW1iYS1zZXQgW09QVElPTlNd IGRvbWFpbi1pZCB0aHJvdHRsaW5nCisgICAgICAgICAgU2V0IGJhbmR3aWR0aCB0aHJvdHRsaW5n IGZvciBhIGRvbWFpbi4KKyAgICAgICAgICA9PiBYRU5fRE9NQ1RMX1BTUl9NQkFfT1BfU0VUX1RI UlRMCisKKyAgMy4gcHNyLWh3aW5mbworICAgICAgICAgIFNob3cgUFNSIEhXIGluZm9ybWF0aW9u LCBpbmNsdWRpbmcgTDMgQ0FUL0NEUC9MMiBDQVQvTUJBLgorICAgICAgICAgID0+IFhFTl9TWVND VExfUFNSX01CQV9nZXRfaW5mbworCisqIEtleSBkYXRhIHN0cnVjdHVyZToKKworICAxLiBGZWF0 dXJlIEhXIGluZm8KKworICAgICBgYGAKKyAgICAgc3RydWN0IHsKKyAgICAgICAgIHVuc2lnbmVk IGludCB0aHJ0bF9tYXg7CisgICAgICAgICB1bnNpZ25lZCBpbnQgbGluZWFyOworICAgICB9IG1i YV9pbmZvOworCisgICAgIC0gTWVtYmVyIGB0aHJ0bF9tYXhgCisKKyAgICAgICBgdGhydGxfbWF4 YCBpcyB0aGUgbWF4IHRocm90dGxpbmcgdmFsdWUgdG8gYmUgc2V0LgorCisgICAgIC0gTWVtYmVy IGBsaW5lYXJgCisKKyAgICAgICBgbGluZWFyYCBtZWFucyB0aGUgcmVzcG9uc2Ugb2YgZGVsYXkg dmFsdWUgaXMgbGluZWFyIG9yIG5vdC4KKworICAgICBBcyBtZW50aW9uZWQgYWJvdmUsIE1CQSBp cyBhIG1lbWJlciBvZiBJbnRlbCBQU1IgZmVhdHVyZXMsIGl0IHdvdWxkCisgICAgIHNoYXJlIHRo ZSBiYXNlIFBTUiBpbmZyYXN0cnVjdHVyZSBpbiBYZW4uIEZvciBleGFtcGxlLCB0aGUgJ2Nvc19t YXgnCisgICAgIGlzIGEgY29tbW9uIEhXIHByb3BlcnR5IGZvciBhbGwgZmVhdHVyZXMuIFNvLCBm b3Igb3RoZXIgZGF0YSBzdHJ1Y3R1cmUKKyAgICAgZGV0YWlscywgcGxlYXNlIHJlZmVyICdpbnRl bF9wc3JfY2F0X2NkcC5wYW5kb2MnLgorCisjIExpbWl0YXRpb25zCisKK01CQSBjYW4gb25seSB3 b3JrIG9uIEhXIHdoaWNoIGVuYWJsZXMgaXQgKGNoZWNrIGJ5IENQVUlEKS4KKworIyBUZXN0aW5n CisKK1dlIGNhbiBleGVjdXRlIHRoZXNlIGNvbW1hbmRzIHRvIHZlcmlmeSBNQkEgb24gZGlmZmVy ZW50IEhXcyBzdXBwb3J0aW5nIHRoZW0uCisKK0ZvciBleGFtcGxlOgorICAgIHJvb3RAOn4kIHhs IHBzci1od2luZm8gLS1tYmEKKyAgICBNZW1vcnkgQmFuZHdpZHRoIEFsbG9jYXRpb24gKE1CQSk6 CisgICAgU29ja2V0IElEICAgICAgIDogMAorICAgIExpbmVhciBNb2RlICAgICA6IEVuYWJsZWQK KyAgICBNYXhpbXVtIENPUyAgICAgOiA3CisgICAgTWF4aW11bSBUaHJvdHRsaW5nIFZhbHVlOiA5 MAorICAgIERlZmF1bHQgVGhyb3R0bGluZyBWYWx1ZTogMAorCisgICAgcm9vdEA6fiQgeGwgcHNy LW1iYS1zZXQgMSAweGEKKworICAgIHJvb3RAOn4kIHhsIHBzci1tYmEtc2hvdyAxCisgICAgU29j a2V0IElEICAgICAgIDogMAorICAgIERlZmF1bHQgVEhSVEwgICA6IDAKKyAgICAgICBJRCAgICAg ICAgICAgICAgICAgICAgIE5BTUUgICAgICAgICAgICBUSFJUTAorICAgICAgICAxICAgICAgICAg ICAgICAgICB1YnVudHUxNCAgICAgICAgICAgICAweGEKKworIyBBcmVhcyBmb3IgaW1wcm92ZW1l bnQKKworQSBoZXhhZGVjaW1hbCBudW1iZXIgaXMgdXNlZCB0byBzaG93IFRIUlRMIGZvciBhIGRv bWFpbiBub3cuIEl0IG1heSBub3QgYmUgdXNlci0KK2ZyaWVuZGx5LgorCitUbyBpbXByb3ZlIHRo aXMsIHRoZSBsaWJ4bCBpbnRlcmZhY2VzIGNhbiBiZSB3cmFwcGVkIGluIGxpYnZpcnQgdG8gcHJv dmlkZSBtb3JlCit1c3ItZnJpZW5kbHkgaW50ZXJmYWNlcyB0byB1c2VyLCBlLmcuIGEgcGVyY2Vu dGFnZSBudW1iZXIgdG8gc2hvdyBmb3IgbGluZWFyCittb2RlLgorCisjIEtub3duIGlzc3Vlcwor CitOL0EKKworIyBSZWZlcmVuY2VzCisKKyJJTlRFTMKuIFJFU09VUkNFIERJUkVDVE9SIFRFQ0hO T0xPR1kgKElOVEVMwq4gUkRUKSBBTExPQ0FUSU9OIEZFQVRVUkVTIiBbSW50ZWzCriA2NCBhbmQg SUEtMzIgQXJjaGl0ZWN0dXJlcyBTb2Z0d2FyZSBEZXZlbG9wZXIgTWFudWFscywgdm9sM10oaHR0 cDovL3d3dy5pbnRlbC5jb20vY29udGVudC93d3cvdXMvZW4vcHJvY2Vzc29ycy9hcmNoaXRlY3R1 cmVzLXNvZnR3YXJlLWRldmVsb3Blci1tYW51YWxzLmh0bWwpCisKKyMgSGlzdG9yeQorCistLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0KK0RhdGUgICAgICAgUmV2aXNpb24gVmVyc2lvbiAgTm90ZXMKKy0tLS0tLS0t LS0gLS0tLS0tLS0gLS0tLS0tLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLQorMjAxNy0wMS0xMCAxLjAgICAgICBYZW4gNC45ICBEZXNpZ24gZG9jdW1lbnQgd3Jp dHRlbgorMjAxNy0wNy0xMCAxLjEgICAgICBYZW4gNC4xMCBDaGFuZ2VzOgorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAxLiBNb2RpZnkgZGF0YSBzdHJ1Y3R1cmUgYWNjb3JkaW5nIHRvIGxh dGVzdAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2RlczsKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgMi4gQWRkIGNvbnRlbnQgZm9yICdBcmVhcyBmb3IgaW1wcm92ZW1l bnQnOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAzLiBPdGhlciBtaW5vciBjaGFuZ2Vz LgorLS0tLS0tLS0tLSAtLS0tLS0tLSAtLS0tLS0tLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tCi0tIAoxLjkuMQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxp c3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=