From mboxrd@z Thu Jan 1 00:00:00 1970 From: Julien Grall Subject: Re: [RFC 0/5] xen/arm: support big.little SoC Date: Wed, 21 Sep 2016 20:21:40 +0100 Message-ID: <9ebbdf10-0c36-3314-eef8-351d1a4f75c2@arm.com> References: <20160919083619.GA16854@linux-7smt.suse> <97d77bdb-2f4e-e89a-95b9-8aacb56eebc0@suse.com> <1474305482.4393.42.camel@citrix.com> <1474325742.4393.78.camel@citrix.com> <1474332846.4393.153.camel@citrix.com> <20160920100331.GB8084@linux-u7w5.ap.freescale.net> <4c52141f-a6a4-a0b1-dced-f799b592481e@arm.com> <61196660-df7c-7324-2fb6-cfb11f44ea1e@arm.com> <39623498-bb30-4ff7-f075-219487a5afbb@arm.com> <6bd7d587-f9ba-c3bf-db96-46a2958d9e5b@arm.com> <1ae3ca04-2fdd-531f-7cb1-0b3ab80feccb@arm.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1ae3ca04-2fdd-531f-7cb1-0b3ab80feccb@arm.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Stefano Stabellini Cc: Juergen Gross , Peng Fan , Steve Capper , George Dunlap , Andrew Cooper , Dario Faggioli , Punit Agrawal , George Dunlap , "xen-devel@lists.xen.org" , Jan Beulich , Peng Fan List-Id: xen-devel@lists.xenproject.org CgpPbiAyMS8wOS8yMDE2IDIwOjExLCBKdWxpZW4gR3JhbGwgd3JvdGU6Cj4gSGkgU3RlZmFubywK Pgo+IE9uIDIxLzA5LzIwMTYgMTk6MTMsIFN0ZWZhbm8gU3RhYmVsbGluaSB3cm90ZToKPj4gT24g V2VkLCAyMSBTZXAgMjAxNiwgSnVsaWVuIEdyYWxsIHdyb3RlOgo+Pj4gKENDIGEgY291cGxlIG9m IEFSTSBmb2xrcykKPj4+Cj4+PiBPbiAyMS8wOS8xNiAxMToyMiwgR2VvcmdlIER1bmxhcCB3cm90 ZToKPj4+PiBPbiAyMS8wOS8xNiAxMTowOSwgSnVsaWVuIEdyYWxsIHdyb3RlOgo+Pj4+Pgo+Pj4+ Pgo+Pj4+PiBPbiAyMC8wOS8xNiAyMToxNywgU3RlZmFubyBTdGFiZWxsaW5pIHdyb3RlOgo+Pj4+ Pj4gT24gVHVlLCAyMCBTZXAgMjAxNiwgSnVsaWVuIEdyYWxsIHdyb3RlOgo+Pj4+Pj4+IEhpIFN0 ZWZhbm8sCj4+Pj4+Pj4KPj4+Pj4+PiBPbiAyMC8wOS8yMDE2IDIwOjA5LCBTdGVmYW5vIFN0YWJl bGxpbmkgd3JvdGU6Cj4+Pj4+Pj4+IE9uIFR1ZSwgMjAgU2VwIDIwMTYsIEp1bGllbiBHcmFsbCB3 cm90ZToKPj4+Pj4+Pj4+IEhpLAo+Pj4+Pj4+Pj4KPj4+Pj4+Pj4+IE9uIDIwLzA5LzIwMTYgMTI6 MjcsIEdlb3JnZSBEdW5sYXAgd3JvdGU6Cj4+Pj4+Pj4+Pj4gT24gVHVlLCBTZXAgMjAsIDIwMTYg YXQgMTE6MDMgQU0sIFBlbmcgRmFuCj4+Pj4+Pj4+Pj4gPHZhbi5mcmVlbml4QGdtYWlsLmNvbT4K Pj4+Pj4+Pj4+PiB3cm90ZToKPj4+Pj4+Pj4+Pj4gT24gVHVlLCBTZXAgMjAsIDIwMTYgYXQgMDI6 NTQ6MDZBTSArMDIwMCwgRGFyaW8gRmFnZ2lvbGkKPj4+Pj4+Pj4+Pj4gd3JvdGU6Cj4+Pj4+Pj4+ Pj4+PiBPbiBNb24sIDIwMTYtMDktMTkgYXQgMTc6MDEgLTA3MDAsIFN0ZWZhbm8gU3RhYmVsbGlu aSB3cm90ZToKPj4+Pj4+Pj4+Pj4+PiBPbiBUdWUsIDIwIFNlcCAyMDE2LCBEYXJpbyBGYWdnaW9s aSB3cm90ZToKPj4+Pj4+Pj4+Pj4gSSdkIGxpa2UgdG8gYWRkIGEgY29tcHV0aW5nIGNhcGFiaWxp dHkgaW4geGVuL2FybSwgbGlrZSB0aGlzOgo+Pj4+Pj4+Pj4+Pgo+Pj4+Pj4+Pj4+PiBzdHJ1Y3Qg Y29tcHV0ZV9jYXBhdGlsaWJ5Cj4+Pj4+Pj4+Pj4+IHsKPj4+Pj4+Pj4+Pj4gICAgY2hhciAqY29y ZV9uYW1lOwo+Pj4+Pj4+Pj4+PiAgICB1aW50MzJfdCByYW5rOwo+Pj4+Pj4+Pj4+PiAgICB1aW50 MzJfdCBjcHVfcGFydG51bTsKPj4+Pj4+Pj4+Pj4gfTsKPj4+Pj4+Pj4+Pj4KPj4+Pj4+Pj4+Pj4g c3RydWN0IGNvbXB1dGVfY2FwYXRpbGlieSBjYz0KPj4+Pj4+Pj4+Pj4gewo+Pj4+Pj4+Pj4+PiAg IHsiQTcyIiwgNCwgMHhkMDh9LAo+Pj4+Pj4+Pj4+PiAgIHsiQTU3IiwgMywgMHh4eHh9LAo+Pj4+ Pj4+Pj4+PiAgIHsiQTUzIiwgMiwgMHhkMDN9LAo+Pj4+Pj4+Pj4+PiAgIHsiQTM1IiwgMSwgLi4u fSwKPj4+Pj4+Pj4+Pj4gfQo+Pj4+Pj4+Pj4+Pgo+Pj4+Pj4+Pj4+PiBUaGVuIHdoZW4gaWRlbnRp ZnkgY3B1LCB3ZSBkZWNpZGUgd2hpY2ggY3B1IGlzIGJpZyBhbmQgd2hpY2gKPj4+Pj4+Pj4+Pj4g Y3B1IGlzCj4+Pj4+Pj4+Pj4+IGxpdHRsZQo+Pj4+Pj4+Pj4+PiBhY2NvcmRpbmcgdG8gdGhlIGNv bXB1dGluZyByYW5rLgo+Pj4+Pj4+Pj4+Pgo+Pj4+Pj4+Pj4+PiBBbnkgY29tbWVudHM/Cj4+Pj4+ Pj4+Pj4KPj4+Pj4+Pj4+PiBJIHRoaW5rIHdlIGRlZmluaXRlbHkgbmVlZCB0byBoYXZlIFhlbiBo YXZlIHNvbWUga2luZCBvZiBpZGVhCj4+Pj4+Pj4+Pj4gdGhlCj4+Pj4+Pj4+Pj4gb3JkZXIgYmV0 d2VlbiBwcm9jZXNzb3JzLCBzbyB0aGF0IHRoZSB1c2VyIGRvZXNuJ3QgbmVlZCB0bwo+Pj4+Pj4+ Pj4+IGZpZ3VyZSBvdXQKPj4+Pj4+Pj4+PiB3aGljaCBjbGFzcyAvIHBvb2wgaXMgYmlnIGFuZCB3 aGljaCBwb29sIGlzIExJVFRMRS4gIFdoZXRoZXIKPj4+Pj4+Pj4+PiB0aGlzCj4+Pj4+Pj4+Pj4g c29ydAo+Pj4+Pj4+Pj4+IG9mIGVudW1lcmF0aW9uIGlzIHRoZSBiZXN0IHdheSB0byBkbyB0aGF0 IEknbGwgbGV0IEp1bGllbiBhbmQKPj4+Pj4+Pj4+PiBTdGVmYW5vCj4+Pj4+Pj4+Pj4gZ2l2ZSB0 aGVpciBvcGluaW9uLgo+Pj4+Pj4+Pj4KPj4+Pj4+Pj4+IEkgZG9uJ3QgdGhpbmsgYW4gaGFyZGNv ZGVkIGxpc3Qgb2YgcHJvY2Vzc29yIGluIFhlbiBpcyB0aGUgcmlnaHQKPj4+Pj4+Pj4+IHNvbHV0 aW9uLgo+Pj4+Pj4+Pj4gVGhlcmUgYXJlIG1hbnkgZXhpc3RpbmcgcHJvY2Vzc29ycyBhbmQgY29t YmluYXRpb25zIGZvciBiaWcuTElUVExFCj4+Pj4+Pj4+PiBzbyBpdAo+Pj4+Pj4+Pj4gd2lsbAo+ Pj4+Pj4+Pj4gbmVhcmx5IGJlIGltcG9zc2libGUgdG8ga2VlcCB1cGRhdGVkLgo+Pj4+Pj4+Pj4K Pj4+Pj4+Pj4+IEkgd291bGQgZXhwZWN0IHRoZSBmaXJtd2FyZSB0YWJsZSAoZGV2aWNlIHRyZWUs IEFDUEkpIHRvIHByb3ZpZGUKPj4+Pj4+Pj4+IHJlbGV2YW50Cj4+Pj4+Pj4+PiBkYXRhCj4+Pj4+ Pj4+PiBmb3IgZWFjaCBwcm9jZXNzb3IgYW5kIGRpZmZlcmVudGlhdGUgYmlnIGZyb20gTElUVExF IGNvcmUuCj4+Pj4+Pj4+PiBOb3RlIHRoYXQgSSBoYXZlbid0IGxvb2tlZCBhdCBpdCBmb3Igbm93 LiBBIGdvb2QgcGxhY2UgdG8gc3RhcnQgaXMKPj4+Pj4+Pj4+IGxvb2tpbmcKPj4+Pj4+Pj4+IGF0 Cj4+Pj4+Pj4+PiBob3cgTGludXggZG9lcy4KPj4+Pj4+Pj4KPj4+Pj4+Pj4gVGhhdCdzIHJpZ2h0 LCBzZWUKPj4+Pj4+Pj4gRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2FybS9jcHVz LnR4dC4gSXQKPj4+Pj4+Pj4gaXMKPj4+Pj4+Pj4gdHJpdmlhbCB0byBpZGVudGlmeSB0aGUgdHdv IGRpZmZlcmVudCBDUFUgY2xhc3NlcyBhbmQgd2hpY2ggY29yZXMKPj4+Pj4+Pj4gYmVsb25nCj4+ Pj4+Pj4+IHRvIHdoaWNoIGNsYXNzLnQsIGFzCj4+Pj4+Pj4KPj4+Pj4+PiBUaGUgY2xhc3Mgb2Yg dGhlIENQVSBjYW4gYmUgZm91bmQgZnJvbSB0aGUgTUlEUiwgdGhlcmUgaXMgbm8gbmVlZCB0bwo+ Pj4+Pj4+IHVzZSB0aGUKPj4+Pj4+PiBkZXZpY2UgdHJlZS9hY3BpIGZvciB0aGF0LiBOb3RlIHRo YXQgSSBkb24ndCB0aGluayB0aGVyZSBpcyBhbiBlYXN5Cj4+Pj4+Pj4gd2F5IGluCj4+Pj4+Pj4g QUNQSSAoaS5lIG5vdCBpbiBBTUwpIHRvIGZpbmQgb3V0IHRoZSBjbGFzcy4KPj4+Pj4+Pgo+Pj4+ Pj4+PiBJdCBpcyBoYXJkZXIgdG8gZmlndXJlIG91dCB3aGljaCBvbmUgaXMgc3VwcG9zZWQgdG8g YmUKPj4+Pj4+Pj4gYmlnIGFuZCB3aGljaCBvbmUgTElUVExFLiBSZWdhcmRsZXNzLCB3ZSBjb3Vs ZCBkZWZhdWx0IHRvIHVzaW5nIHRoZQo+Pj4+Pj4+PiBmaXJzdCBjbHVzdGVyICh1c3VhbGx5IGJp ZyksIHdoaWNoIGlzIGFsc28gdGhlIGNsdXN0ZXIgb2YgdGhlIGJvb3QKPj4+Pj4+Pj4gY3B1LAo+ Pj4+Pj4+PiBhbmQgdXRpbGl6ZSB0aGUgc2Vjb25kIGNsdXN0ZXIgb25seSB3aGVuIHRoZSB1c2Vy IGRlbWFuZHMgaXQuCj4+Pj4+Pj4KPj4+Pj4+PiBXaHkgZG8geW91IHRoaW5rIHRoZSBib290IENQ VSB3aWxsIHVzdWFsbHkgYmUgYSBiaWcgb25lPyBJbiB0aGUgY2FzZQo+Pj4+Pj4+IG9mIEp1bm8K Pj4+Pj4+PiBwbGF0Zm9ybSBpdCBpcyBjb25maWd1cmFibGUsIGFuZCB0aGUgYm9vdCBDUFUgaXMg YSBsaXR0bGUgY29yZSBvbiByMgo+Pj4+Pj4+IGJ5Cj4+Pj4+Pj4gZGVmYXVsdC4KPj4+Pj4+Pgo+ Pj4+Pj4+IEluIGFueSBjYXNlLCB3aGF0IHdlIGNhcmUgYWJvdXQgaXMgZGlmZmVyZW50aWF0ZSBi ZXR3ZWVuIHR3byBzZXQgb2YKPj4+Pj4+PiBDUFVzLiBJCj4+Pj4+Pj4gZG9uJ3QgdGhpbmsgWGVu IHNob3VsZCBjYXJlIGFib3V0IG1pZ3JhdGluZyBhIGd1ZXN0IHZDUFUgYmV0d2VlbiBiaWcKPj4+ Pj4+PiBhbmQKPj4+Pj4+PiBMSVRUTEUgY3B1cy4gU28gSSBhbSBub3Qgc3VyZSB3aHkgd2Ugd291 bGQgd2FudCB0byBrbm93IHRoYXQuCj4+Pj4+Pgo+Pj4+Pj4gTm8sIGl0IGlzIG5vdCBhYm91dCBt aWdyYXRpbmcgKGF0IGxlYXN0IHlldCkuIEl0IGlzIGFib3V0IGdpdmluZwo+Pj4+Pj4gdXNlZnVs Cj4+Pj4+PiBpbmZvcm1hdGlvbiB0byB0aGUgdXNlci4gSXQgd291bGQgYmUgbmljZSBpZiB0aGUg dXNlciBoYWQgdG8gY2hvb3NlCj4+Pj4+PiBiZXR3ZWVuICJiaWciIGFuZCAiTElUVExFIiByYXRo ZXIgdGhhbiAiY2xhc3MgMHgxIiBhbmQgImNsYXNzCj4+Pj4+PiAweDEwMCIsIG9yCj4+Pj4+PiBl dmVuICJBNyIgb3IgIkExNSIuCj4+Pj4+Cj4+Pj4+IEkgZG9uJ3QgdGhpbmsgaXQgaXMgd2lzZSB0 byBhc3N1bWUgdGhhdCB3ZSBtYXkgaGF2ZSBvbmx5IDIga2luZCBvZgo+Pj4+PiBDUFVzCj4+Pj4+ IG9uIHRoZSBwbGF0Zm9ybS4gV2UgbWF5IGhhdmUgbW9yZSBpbiB0aGUgZnV0dXJlLCBpZiBzbyBo b3cgd291bGQgeW91Cj4+Pj4+IG5hbWUgdGhlbT8KPj4+Pgo+Pj4+IEkgd291bGQgc3VnZ2VzdCB0 aGF0IGludGVybmFsbHkgWGVuIHJlY29nbml6ZSBhbiBhcmJpdHJhcnkgbnVtYmVyIG9mCj4+Pj4g cHJvY2Vzc29yICJjbGFzc2VzIiwgYW5kIG9yZGVyIHRoZW0gYWNjb3JkaW5nIHRvIG1vcmUgcG93 ZXJmdWwgLT4gbGVzcwo+Pj4+IHBvd2VyZnVsLiAgVGhlbiBpZiBhdCBzb21lIHBvaW50IHNvbWVv bmUgbWFrZXMgYSBwbGF0Zm9ybSB3aXRoIHRocmVlCj4+Pj4gcHJvY2Vzc29ycywgeW91IGNhbiBz YXkgImNsYXNzIDAiLCAiY2xhc3MgMSIgb3IgImNsYXNzIDIiLiAgImJpZyIgd291bGQKPj4+PiBi ZSBhbiBhbGlhcyBmb3IgImNsYXNzIDAiIGFuZCAibGl0dGxlIiB3b3VsZCBiZSBhbiBhbGlhcyBm b3IgImNsYXNzIDEiLgo+Pj4KPj4+IEFzIG1lbnRpb25lZCBlYXJsaWVyLCB0aGVyZSBpcyBubyB1 cHN0cmVhbWVkIHlldCBkZXZpY2UgdHJlZSBiaW5kaW5ncwo+Pj4gdG8ga25vdwo+Pj4gdGhlICJw b3dlciIgb2YgYSBDUFUgKHNlZSBbMV0KPj4+Cj4+Pj4KPj4+PiBBbmQgaW4gbXkgc3VnZ2VzdGlv biwgd2UgYWxsb3cgYSByaWNoZXIgc2V0IG9mIGxhYmVscywgc28gdGhhdCB0aGUgdXNlcgo+Pj4+ IGNvdWxkIGFsc28gYmUgbW9yZSBzcGVjaWZpYyAtLSBlLmcuLCBhc2tpbmcgZm9yICJBMTUiIHNw ZWNpZmljYWxseSwgZm9yCj4+Pj4gZXhhbXBsZSwgYW5kIGZhaWxpbmcgdG8gYnVpbGQgaWYgdGhl cmUgYXJlIG5vIEExNSBjb3JlcyBwcmVzZW50LCB3aGlsZQo+Pj4+IGFsbG93aW5nIHVzZXJzIHRv IHNpbXBseSB3cml0ZSAiYmlnIiBvciAibGl0dGxlIiBpZiB0aGV5IHdhbnQKPj4+PiBzaW1wbGlj aXR5Cj4+Pj4gLyB0aGluZ3Mgd2hpY2ggd29yayBhY3Jvc3MgZGlmZmVyZW50IHBsYXRmb3Jtcy4K Pj4+Cj4+PiBXZWxsLCBiZWZvcmUgdHJ5aW5nIHRvIGRvIHNvbWV0aGluZyBjbGV2ZXIgbGlrZSB0 aGF0IChpLmUgbmFtaW5nCj4+PiAiYmlnIiBhbmQKPj4+ICJsaXR0bGUiKSwgd2UgbmVlZCB0byBo YXZlIHVwc3RyZWFtZWQgYmluZGluZ3MgYXZhaWxhYmxlIHRvCj4+PiBhY2tub3dsZWRnZSB0aGUK Pj4+IGRpZmZlcmVuY2UuIEFGQUlDVCwgaXQgaXMgbm90IHlldCB1cHN0cmVhbWVkIGZvciBEZXZp Y2UgVHJlZSAoc2VlCj4+PiBbMV0pIGFuZCBJCj4+PiBkb24ndCBrbm93IGFueSBzdGF0aWMgQUNQ SSB0YWJsZXMgcHJvdmlkaW5nIHRoZSBzaW1pbGFyIGluZm9ybWF0aW9uLgo+Pgo+PiBJIGxpa2Ug R2VvcmdlJ3MgaWRlYSB0aGF0ICJiaWciIGFuZCAibGl0dGxlIiBjb3VsZCBiZSBqdXN0IGNvbnZl bmllbmNlCj4+IGFsaWFzZXMuIE9mIGNvdXJzZSB0aGV5IGFyZSBwcmVkaWNhdGVkIG9uIHRoZSBu ZWNlc3NhcnkgZGV2aWNlIHRyZWUKPj4gYmluZGluZ3MgYmVpbmcgdXBzdHJlYW0uIFdlIGRvbid0 IG5lZWQgWzFdIHRvIGJlIHVwc3RyZWFtIGluIExpbnV4LCBqdXN0Cj4+IHRoZSBiaW5kaW5nOgo+ Pgo+PiBodHRwOi8vbWFyYy5pbmZvLz9sPWxpbnV4LWFybS1rZXJuZWwmbT0xNDczMDg1NTY3Mjk0 MjYmdz0yCj4+Cj4+IHdoaWNoIGhhcyBhbHJlYWR5IGJlZW4gYWNrZWQgYnkgdGhlIHJlbGV2YW50 IG1haW50YWluZXJzLgo+Cj4gVGhpcyBpcyBkZXZpY2UgdHJlZSBvbmx5LiBXaGF0IGFib3V0IEFD UEk/Cj4KPj4KPj4KPj4+IEkgaGFkIGZldyBkaXNjdXNzaW9ucyBhbmQgIG1vcmUgdGhvdWdodCBh Ym91dCBiaWcuTElUVExFIHN1cHBvcnQgaW4KPj4+IFhlbi4gVGhlCj4+PiBtYWluIGdvYWwgb2Yg YmlnLkxJVFRMRSBpcyBwb3dlciBlZmZpY2llbmN5IGJ5IG1vdmluZyB0YXNrIGFyb3VuZCBhbmQK Pj4+IGJlZW4KPj4+IGFibGUgdG8gaWRsZSBvbmUgY2x1c3Rlci4gQWxsIHRoZSBzb2x1dGlvbnMg c3VnZ2VzdGVkIChpbmNsdWRpbmcKPj4+IG1pbmUpIHNvIGZhciwKPj4+IGNhbiBiZSByZXBsaWNh dGVkIGJ5IGhhbmQgKGV4Y2VwdCB0aGUgVlBJRFIpIHNvIHRoZXkgYXJlIG1vc3RseSBhbgo+Pj4g YXV0b21hdGljCj4+PiB3YXkuIFRoaXMgd2lsbCBhbHNvIHJlbW92ZSB0aGUgcmVhbCBiZW5lZml0 cyBvZiBiaWcuTElUVExFIGJlY2F1c2UKPj4+IFhlbiB3aWxsCj4+PiBub3QgYmUgYWJsZSB0byBt aWdyYXRlIHZDUFUgYWNyb3NzIGNsdXN0ZXIgZm9yIHBvd2VyIGVmZmljaWVuY3kuCj4+Cj4+IFRo ZSBnb2FsIG9mIHRoZSBhcmNoaXRlY3RzIG9mIGJpZy5MSVRUTEUgbWlnaHQgaGF2ZSBiZWVuIHBv d2VyCj4+IGVmZmljaWVuY3ksIGJ1dCBvZiBjb3Vyc2Ugd2UgYXJlIGZyZWUgdG8gdXNlIGFueSBm ZWF0dXJlcyB0aGF0IHRoZQo+PiBoYXJkd2FyZSBwcm92aWRlcyBpbiB0aGUgYmVzdCB3YXkgZm9y IFhlbiBhbmQgdGhlIFhlbiBjb21tdW5pdHkuCj4KPiBUaGlzIGlzIHZlcnkgZGVwZW5kZW50IG9u IGhvdyB0aGUgYmlnLkxJVFRMRSBoYXMgYmVlbiBpbXBsZW1lbnRlZCBieSB0aGUKPiBoYXJkd2Fy ZS4gU29tZSBwbGF0Zm9ybSBjYW4gbm90IHJ1biBib3RoIGJpZyBhbmQgTElUVExFIGNvcmVzIGF0 IHRoZQo+IHNhbWUgdGltZS4gWW91IG5lZWQgYSBwcm9wZXIgc3dpdGNoIGluIHRoZSBmaXJtd2Fy ZS9oeXBlcnZpc29yLgo+Cj4+Cj4+PiBJZiB3ZSBjYXJlIGFib3V0IHBvd2VyIGVmZmljaWVuY3ks IHdlIHdvdWxkIGhhdmUgdG8gaGFuZGxlIHNlYW1sZXNzbHkKPj4+IGJpZy5MSVRUTEUgaW4gWGVu IChpLmUgYSBndWVzcyB3b3VsZCBvbmx5IHNlZSBhIGtpbmQgb2YgQ1BVKS4gVGhpcwo+Pj4gYXJp c2UgcXVpdGUKPj4+IGZldyBwcm9ibGVtLCBub3RoaW5nIGluc3VybW91bnRhYmxlLCBzaW1pbGFy IHRvIG1pZ3JhdGlvbiBhY3Jvc3MgdHdvCj4+PiBwbGF0Zm9ybXMKPj4+IHdpdGggZGlmZmVyZW50 IG1pY3JvLWFyY2hpdGVjdHVyZSAoZS5nIHByb2Nlc3NvcnMpOiBlcnJhdGEsIGZlYXR1cmVzCj4+ PiBzdXBwb3J0ZWQuLi4gVGhlIGd1ZXN0IHdvdWxkIGhhdmUgdG8ga25vdyB0aGUgdW5pb24gb2Yg YWxsIHRoZSBlcnJhdGEKPj4+ICh0aGlzIGlzCj4+PiBkb25lIHNvIGZhciB2aWEgdGhlIE1JRFIs IHNvIHdlIHdvdWxkIGEgUFYgd2F5IHRvIGRvIGl0KSwgYW5kIG9ubHkgdGhlCj4+PiBpbnRlcnNl Y3Rpb24gb2YgZmVhdHVyZXMgd291bGQgYmUgZXhwb3NlZCB0byB0aGUgZ3Vlc3QuIFRoaXMgYWxz bwo+Pj4gbWVhbnMgdGhlCj4+PiBzY2hlZHVsZXIgd291bGQgaGF2ZSB0byBiZSBtb2RpZmllZCB0 byBoYW5kbGUgcG93ZXIgZWZmaWNpZW5jeSAobm90Cj4+PiBzdHJpY3RseQo+Pj4gbmVjZXNzYXJ5 IGF0IHRoZSBiZWdpbm5pbmcpLgo+Pj4KPj4+IEkgYWdyZWUgdGhhdCBhIHN1Y2ggc29sdXRpb24g d291bGQgcmVxdWlyZSBzb21lIHdvcmsgdG8gaW1wbGVtZW50LAo+Pj4gYWx0aG91Z2gKPj4+IFhl biB3aWxsIGhhdmUgYSBiZXR0ZXIgY29udHJvbCBvZiB0aGUgZW5lcmd5IGNvbnN1bXB0aW9uIG9m IHRoZQo+Pj4gcGxhdGZvcm0uCj4+Pgo+Pj4gU28gdGhlIHF1ZXN0aW9uIGhlcmUsIGlzIHdoYXQg ZG8gd2Ugd2FudCB0byBhY2hpZXZlIHdpdGggYmlnLkxJVFRMRT8KPj4KPj4gSSBkb24ndCB0aGlu ayB0aGF0IGhhbmRsaW5nIHNlYW1sZXNzbHkgYmlnLkxJVFRMRSBpbiBYZW4gaXMgdGhlIGJlc3Qg d2F5Cj4+IHRvIGRvIGl0IGluIHRoZSBzY2VuYXJpb3Mgd2hlcmUgWGVuIG9uIEFSTSBpcyBiZWlu ZyB1c2VkIHRvZGF5LiBJCj4+IHVuZGVyc3RhbmQgdGhlIHByaW5jaXBsZXMgYmVoaW5kIGl0LCBi dXQgSSBkb24ndCB0aGluayB0aGF0IGl0IHdpbGwgbGVhZAo+PiB0byBnb29kIHJlc3VsdHMgaW4g YSB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudCwgd2hlcmUgdGhlcmUgaXMgbW9yZQo+PiBhY3Rpdml0 eSBhbmQgbW9yZSB2Y3B1cyB0aGFuIHBjcHVzLgo+Cj4gQ2FuIHlvdSBkZXRhaWwgd2h5IHlvdSBk b24ndCB0aGluayBpdCB3aWxsIGdpdmUgZ29vZCByZXN1bHRzPwo+Cj4+Cj4+IFdoYXQgd2UgZGlz Y3Vzc2VkIGluIHRoaXMgdGhyZWFkIHNvIGZhciBpcyBhY3Rpb25hYmxlLCBhbmQgZ2l2ZXMgdXMK Pj4gYmlnLkxJVFRMRSBzdXBwb3J0IGluIGEgc2hvcnQgdGltZSBmcmFtZS4gSXQgaXMgYSBnb29k IGZpdCBmb3IgWGVuIG9uCj4+IEFSTSB1c2UgY2FzZXMgYW5kIHN0aWxsIGxlYWRzIHRvIGxvd2Vy IHBvd2VyIGNvbnN1bXB0aW9uIHdpdGggYW4gd2lzZQo+PiBhbGxvY2F0aW9uIG9mIGJpZyBhbmQg TElUVExFIHZjcHVzIGFuZCBwY3B1cyB0byBndWVzdHMuCj4KPiBIb3cgdGhpcyB3b3VsZCBsZWFk IHRvIGxvd2VyIHBvd2VyIGNvbnN1bXB0aW9uPyBJZiB0aGVyZSBpcyBub3RoaW5nCj4gcnVubmlu ZyBvZiB0aGUgcHJvY2Vzc29yIHdlIHdvdWxkIGhhdmUgYSB3ZmkgbG9vcCB3aGljaCB3aWxsIG5l dmVyIHB1dAo+IHRoZSBwaHlzaWNhbCBDUFUgaW4gZGVlcCBzbGVlcC4gVGhlIG1haW4gYWR2YW50 YWdlIG9mIGJpZy5MSVRUTEUgaXMgdG9vCj4gYmUgYWJsZSB0byBzd2l0Y2ggb2ZmIGEgY2x1c3Rl ci9jcHUgd2hlbiBpdCBpcyBub3QgdXNlZC4KPgo+IFdpdGhvdXQgYW55IGtub3dsZWRnZSBpbiBY ZW4gKHN1Y2ggYXMgQ1BVIGZyZXEpLCBJIGFtIGFmcmFpZCB0aGUgdGhlCj4gcG93ZXIgY29uc3Vt cHRpb24gd2lsbCBzdGlsbCBiZSB0aGUgc2FtZS4KPgo+Pgo+PiBJIHdvdWxkIHN0YXJ0IGZyb20g dGhpcyBhcHByb2FjaCwgdGhlbiBpZiBzb21lYm9keSBjb21lcyBhbG9uZyB3aXRoIGEKPj4gcGxh biB0byBpbXBsZW1lbnQgYSBiaWcuTElUVExFIHN3aXRjaGVyIGluIFhlbiwgSSB3ZWxjb21lIGhl ciB0byBkbyBpdAo+PiBhbmQgSSB3b3VsZCBiZSBoYXBweSB0byBhY2NlcHQgdGhlIGNvZGUgaW4g WGVuLiBXZSdsbCBqdXN0IG1ha2UgaXQKPj4gb3B0aW9uYWwuCj4KPiBJIHRoaW5rIHdlIGFyZSBk aXNjdXNzaW5nIGhlcmUgYSBzaW1wbGUgZGVzaWduIGZvciBiaWcuTElUVExFLiBJIG5ldmVyCj4g YXNrZWQgUGVuZyB0byBkbyBhbGwgdGhlIHdvcmsuIEkgYW0gd29ycnkgdGhhdCBpZiB3ZSBzdGFy dCB0byBleHBvc2UgdGhlCj4gYmlnLkxJVFRMRSB0byB0aGUgdXNlcnNwYWNlIGl0IHdpbGwgYmUg aGFyZCBpbiB0aGUgZnV0dXJlIHRvIHN0ZXAgYmFjawo+IGZyb20gaXQuCgpUaGlua2luZyBhIGJp dCBtb3JlIHRvIHRoaXMsIGFmdGVyIGxvb2tpbmcgYXQgRGFyaW8ncyBtYWlsIFsxXSwgaGlzIApz dWdnZXN0aW9uIGNvdWxkIGJlIHNlZW4gYXMgYSBoaWdoIGxldmVsIHVzZSBvZiBzb2Z0L2hhcmQg YWZmaW5pdHkuCgpJIHdpbGwgYW5zd2VyIHRvIHRoaXMuCgo+Cj4gUmVnYXJkcywKPgoKWzFdIGh0 dHBzOi8vbGlzdHMueGVuLm9yZy9hcmNoaXZlcy9odG1sL3hlbi1kZXZlbC8yMDE2LTA5L21zZzAy MjkzLmh0bWwKCi0tIApKdWxpZW4gR3JhbGwKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3Rz Lnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=