From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lars Kurth Subject: Re: [PATCH v2 3/3] Significant changes to decision making; some new roles and minor changes Date: Tue, 20 Sep 2016 18:53:47 +0000 Message-ID: References: <1473697212-3245-1-git-send-email-lars.kurth@citrix.com> <1473697212-3245-4-git-send-email-lars.kurth@citrix.com> <22497.27522.146296.128231@mariner.uk.xensource.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 1bmQAw-0004et-NZ for xen-devel@lists.xenproject.org; Tue, 20 Sep 2016 18:53:50 +0000 In-Reply-To: <22497.27522.146296.128231@mariner.uk.xensource.com> Content-Language: en-US Content-ID: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Ian Jackson Cc: "xen-devel@lists.xenproject.org" , "committers@xenproject.org" List-Id: xen-devel@lists.xenproject.org DQoNCk9uIDIwLzA5LzIwMTYgMTg6MDEsICJJYW4gSmFja3NvbiIgPGlhbi5qYWNrc29uQGV1LmNp dHJpeC5jb20+IHdyb3RlOg0KDQo+TGFycyBLdXJ0aCB3cml0ZXMgKCJbUEFUQ0ggdjIgMy8zXSBT aWduaWZpY2FudCBjaGFuZ2VzIHRvIGRlY2lzaW9uDQo+bWFraW5nOyBzb21lIG5ldyByb2xlcyBh bmQgbWlub3IgY2hhbmdlcyIpOg0KPj4gW3Byb3Bvc2FsXQ0KPg0KPlRoYW5rcy4gIEkndmUgcmV2 aWV3ZWQgdGhpcyBhbmQgaXQgbG9va3MgZ2VuZXJhbGx5IGdvb2QgYnV0IEkgaGF2ZQ0KPnNvbWUg c3BlY2lmaWMgY29tbWVudHMuDQo+DQo+DQo+VGhyb3VnaG91dCB5b3UgdXNlICJnYWdlIiB3aGVy ZSBJIHRoaW5rIHlvdSBzaG91bGQgdXNlICJnYXVnZSIuDQo+KEFGQUlDVCBmcm9tIFdpa3Rpb25h cnkgdGhpcyBpcyBub3QgYSBVUy9VSyBzcGVsbGluZyB0aGluZy4pDQoNCldpbGwgZml4Lg0KDQoN Cj4+ICtWb3RpbmcgaXMgY29uZHVjdGVkIGluIGxpbmUgd2l0aCB0aGUgZm9sbG93aW5nIHJ1bGVz Og0KPj4gKw0KPj4gKy0gICBQcm9qZWN0IGxlYWRlcnNoaXAgdGVhbSBtZW1iZXJzIHZvdGUgZm9y ICgqKisxKiopIG9yIGFnYWluc3QNCj4+KCoqLTEqKikgYSANCj4+ICtyZXNvbHV0aW9uLiBUaGVy ZSBpcyBubyBkaWZmZXJlbnRpYXRpb24gYmV0d2VlbiAqKisxKiovICoqKzIqKiBhbmQNCj4+ICsq Ki0xKiovKiotMioqOiBpbiBvdGhlciB3b3JkcyBhICoqKzIqKiBpcyBjb3VudGVkIGFzIGEgdm90 ZSBmb3IsIGENCj4+KiotMioqIGFzIGEgDQo+PiArdm90ZSBhZ2FpbnN0IHRoZSByZXNvbHV0aW9u LiBUaGUgbnVtYmVyIG9mIHZvdGVzIGZvciBhbmQgYWdhaW5zdCBhDQo+PnJlc29sdXRpb24gDQo+ PiAraXMgY2FsbGVkICoqYWN0aXZlIHZvdGUqKi4gKiowKiogdm90ZXMgKiphcmUgbm90IGNvdW50 ZWQqKiBhcyBhbg0KPj5hY3RpdmUgdm90ZS4NCj4+ICstICAgQSAqKnF1b3J1bSBvZiBtb3JlIHRo YW4gNTAlIG9mIGFjdGl2ZSB2b3RlcyoqIGlzIHJlcXVpcmVkIGZvciBhDQo+PnJlc29sdXRpb24g DQo+PiArdG8gcGFzcy4gSW4gb3RoZXIgd29yZHMsIGlmIHRoZSBsZWFkZXJzaGlwIHRlYW0gaGFz IDcgbWVtYmVycywgYXQNCj4+bGVhc3QgNCANCj4+ICthY3RpdmUgdm90ZXMgYXJlIHJlcXVpcmVk IGZvciBhIHJlc29sdXRpb24gdG8gcGFzcy4NCj4+ICstICAgVGhlIHJlc29sdXRpb24gcGFzc2Vz LCBpZiBhIDIvMyBtYWpvcml0eSBvZiBhY3RpdmUgdm90ZXMgaXMgaW4NCj4+ZmF2b3VyIG9mIA0K Pj4gK2l0LiANCj4NCj5RdW9ydW1zIGxpa2UgdGhpcyBzaG91bGQgY291bnQgb25seSBwb3NpdGl2 ZSB2b3Rlcy4gIE90aGVyd2lzZSBzb21lb25lDQo+d2hvIG9wcG9zZXMgYSBwcm9wb3NhbCBoYXMg dG8gZ3Vlc3Mgd2hldGhlciBpdCBpcyBtb3JlIGxpa2VseSB0byBmYWlsDQo+cXVvcnVtLCBvciB0 byBmYWlsIHRoZSAyLzMgbWFqb3JpdHkuICBJZiBpdCBpcyBsaWtlbHkgdG8gZmFpbCBxdW9ydW0s DQo+dGhleSBzaG91bGQgcmVmcmFpbiBmcm9tIHZvdGluZy4NCg0KSSB0aGluayBwcm9iYWJseSB0 aGUgdGVybSBxdW9ydW0gaXMgbGVhZGluZyB0byBzb21lIGNvbmZ1c2lvbiBoZXJlIGFuZA0Kc2hv dWxkIHByb2JhYmx5IGJlIGNoYW5nZWQuIEJhc2ljYWxseSB3aGF0DQoNCistICAgQSAqKnF1b3J1 bSBvZiBtb3JlIHRoYW4gNTAlIG9mIGFjdGl2ZSB2b3RlcyoqIGlzIHJlcXVpcmVkIGZvciBhDQpy ZXNvbHV0aW9uIA0KK3RvIHBhc3MuIEluIG90aGVyIHdvcmRzLCBpZiB0aGUgbGVhZGVyc2hpcCB0 ZWFtIGhhcyA3IG1lbWJlcnMsIGF0IGxlYXN0IDQNCithY3RpdmUgdm90ZXMgYXJlIHJlcXVpcmVk IGZvciBhIHJlc29sdXRpb24gdG8gcGFzcy4NCg0KDQppcyB0cnlpbmcgdG8gZW5jb2RlIGlzIGEg dHVybm91dCB0aHJlc2hvbGQgb2YgPjUwJSAoZGlzY291bnRpbmcgc3BvaWx0DQpiYWxsb3QgcGFw ZXJzOiBpbiBvdGhlciB3b3JkcyBhICoqMCoqIHZvdGVzIHdvdWxkIGJlIHRoZSBlcXVpdmFsZW50 IG9mIGENCnNwb2lsdCBiYWxsb3QgcGFwZXIpLiBNeSB0aGlua2luZyB3YXMgdGhhdA0KQSkgVGhl IHJ1bGVzIHdvdWxkIGVuY291cmFnZSB0ZWFtIG1lbWJlcnMgdG8gdm90ZSBmb3Igb3IgYWdhaW5z dCBhDQpwcm9wb3NhbCwgcmF0aGVyIHRoYW4gYWJzdGFpbg0KQikgVGhlIG1pbmltdW0gdGhyZXNo b2xkIGlzIHRoZXJlIHRvIGVuc3VyZSB0aGF0IHdlIGRvbid0IGhhdmUgdG8gbWFuYWdlDQpkaXNh cHBlYXJpbmcgbGVhZGVyc2hpcCB0ZWFtIG1lbWJlcnMgdGlnaHRseSBhbmQgdGhhdCBkZWNpc2lv bnMgaGF2ZQ0KZW5vdWdoIGxlZ2l0aW1hY3kNCkMpIFRoZSAyLzMgbWFqb3JpdHkgd291bGQgb25s eSBhcHBseSB0byB0aGUgcGVvcGxlIHRoYXQgaGF2ZSB2b3RlZCBmb3Igb3INCmFnYWluc3QgYSBw cm9wb3NhbA0KDQo+Rm9yIGV4YW1wbGUgd2l0aCBhIHRlYW0gb2YgNiwgd2l0aCB0d28gcGVvcGxl IGhhdmluZyBhbHJlYWQgdm90ZWQgeWVzLA0KPmFuZCB0aGUgcmVtYWluaW5nIHRocmVlIGhhdmlu ZyBleHByZXNzbHkgZGVjbGluZWQgdG8gdm90ZSBiZWNhdXNlIHRoZXkNCj5kb24ndCBoYXZlIGFu IG9waW5pb24sIGEgbGVhZGVyc2hpcCB0ZWFtIG1lbWJlciB3aG8gdm90ZXMgIm5vIiB3b3VsZA0K Pm1vdmUgdGhlIG91dGNvbWUgZnJvbSAicXVvcnVtIG5vdCBtZXQgc2luY2Ugb25seSAyIG91dCBv ZiA2IGFjdGl2ZQ0KPnZvdGVycyAtIGZhaWwiIHRvICJxdW9ydW0gbWV0IHdpdGggMyBhY3RpdmUg dm90ZXJzLCAyIHZvdGVzIGluIGZhdm91ciwNCj5vbmUgYWdhaW5zdCwgMi8zIG1ham9yaXR5IG1l dCAtIHBhc3MiLg0KDQpUaGlzIGlzIHdyb25nLiBXaXRoIGEgdGVhbSBvZiA2LCBhdCBsZWFzdCA0 IHBlb3BsZSB3b3VsZCBuZWVkIHRvIHZvdGUNCiJ5ZXMiIG9yICJubyIgdG8gcGFzcyB0aGUgNTAl IHRocmVzaG9sZC4gSWYgbW9yZSB0aGFuICIyIiBkZWNsaW5lIHRvIHZvdGUsDQp0aGUgdGhyZXNo b2xkIHdvbnQgYmUgYWNoaWV2ZWQuIEFtb25nc3QgdGhlIDQgdm90ZXMsIDMgd291bGQgbmVlZCB0 byBiZSBpbg0KZmF2b3VyLg0KDQpCdXQgeW91IGFyZSByaWdodCwgdGhpcyBkb2VzIG9wZW4gdGhl IGRvb3IgdG8gdGFjdGljYWwgdm90aW5nIGluIHNvbWUNCmJvdW5kYXJ5IGNhc2VzLiBTbyBpZiB0 aGVyZSB3ZXJlIDIgYWN0aXZlICIwIiB2b3RlcyBhbmQgMyAiKzEiIHZvdGVzLCB0aGUNCmxhc3Qg dm90ZXIgY291bGQgc2hvb3QgZG93biB0aGUgcHJvcG9zYWwgYnkgdm90aW5nICIwIi4gSWYgdGhl IHZvdGUgaGFkDQpiZWVuIHNlY3JldCwgdGhhdCBwZXJzb24gd291bGQgcHJvYmFibHkgdm90ZSAi LTEiIGFuZCB0aGUgcHJvcG9zYWwgd291bGQNCnBhc3MuIFRoZSBzYW1lIGFwcGxpZXMsIGlmIHdl IHdlcmUgY2xvc2UgdG8gdGhlIHZvdGluZyBkZWFkbGluZSBhbmQgMw0KcGVvcGxlIGhhZCB2b3Rl ZCAiKzEiIGFuZCAyIGhhZCBub3QuDQoNCkkgYW0gbm90IHF1aXRlIHN1cmUgSSB1bmRlcnN0YW5k IHdoYXQgeW91IG1lYW4gYnkgIm90aGVyd2lzZSBzb21lb25lIHdobw0Kb3Bwb3NlcyBhIHByb3Bv c2FsIGhhcyB0byBndWVzcyB3aGV0aGVyIGl0IGlzIG1vcmUgbGlrZWx5IHRvIGZhaWwgcXVvcnVt LA0Kb3IgdG8gZmFpbCB0aGUgMi8zIG1ham9yaXR5IiwgYnV0IEkgZ3Vlc3MgaXQgaXMgd2hhdCBJ IG91dGxpbmVkIGFib3ZlLiBJDQpzdXBwb3NlIHRoZSB3aG9sZSBpc3N1ZSB3b3VsZCBnbyBhd2F5 LCBpZiB0aGVyZSB3YXMgYSBzZWNyZXQgdm90ZS4gQnV0DQppbnRyb2R1Y2luZyB0aGlzLCB3b3Vs ZCBiZSBhIGJpdCBoZWF2eXdlaWdodC4NCiANCj5JIHN1Z2dlc3QgY2hhbmdpbmcgdGhlIHF1b3J1 bSB0aHJlc2hvbGQgdG8gY291bnQgb25seSBleHBsaWNpdA0KPmFic3RlbnRpb25zIGFuZCB2b3Rl cyBpbiBmYXZvdXI7IGVpdGhlciAxLzMgb3IgNTAlIHdvdWxkIGRvLg0KDQpJIGFtIG5vdCBzdWdn ZXN0aW5nIHRoaXMgaXMgYSBiYWQgaWRlYSwgYnV0IEkgZG9uJ3QgdGhpbmsgSSBmdWxseQ0KdW5k ZXJzdGFuZCB3aGF0IHlvdSBtZWFuIGFuZCBob3cgeW91ciBwcm9wb3NhbCBhdm9pZHMgdGhlIGlz c3VlIGFib3ZlLg0KDQo+PiAtIyMjIENvbmZsaWN0IFJlc29sdXRpb24NCj4+ICsgICAgTGV0IG1l IGV4cHJlc3MgdGhpcyBhcyBhbiBhbGdvcml0aG0uDQo+PiAgDQo+PiAtICAgIA0KPj4tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tDQo+Pi0tLS0tLS0tLS0tLQ0KPj4gLSAgICBJU1NVRVMgVE8gQkUgQUREUkVTU0VE IExBVEVSOg0KPj4gLSAgICAtIEdlbmVyYWxpc2UgcmVmZXJlZWluZyBpbiB0ZXJtcyBvZiBQcm9q ZWN0IExlYWRlcnNoaXAgaW5zdGVhZCBvZg0KPj5zcGVjaWZpYyByb2xlcw0KPj4gLSAgICAtIEFs c28gc29tZSBleGFtcGxlcyBmb3Igc1BlY2lmaWMgc2l0dWF0aW9ucyB0aGF0IGhhdmUgaGFwcGVu ZWQgaW4NCj4+dGhlIHBhc3QgbWF5IGJlIA0KPj4gLSAgICAgIHVzZWZ1bA0KPj4gLSAgICANCj4+ LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLQ0KPj4tLS0tLS0tLS0tLS0NCj4+ICsgICAgICB0cmVzaGhvbGQ9Mi8z Ow0KPg0KPiAgICAgICAgIHRocmVzaG9sZA0KPg0KPj4gKyAgICAgIGFjdGl2ZT0nbnVtYmVyIG9m IGFjdGl2ZSBtZW1iZXJzJzsgKDcgZm9yIHRoZSBIeXBlcnZpc29yDQo+PnByb2plY3Q7IElhbkMg aXMgaW5hY3RpdmUpDQo+DQo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4NCj4gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdCB0aGUgdGltZSBvZg0KPndyaXRpbmcs IDIwMTYtMDktMjANCj4NCj4+IC0jIyMjIFJlZmVyZWVpbmcNCj4+ICsgICAgT25lIG9wZW4gcXVl c3Rpb24gaXMgd2hhdCB0byBkbyB3aXRoIDAtdm90ZXMuIFdlIGNvdWxkIGludHJvZHVjZSBhDQo+ PnJ1bGUgZGlzY291bnRpbmcgDQo+PiArICAgIDAgdm90ZXMgKGxldCdzIGNhbGwgaXQgMC1ydWxl KS4gSWYgc29tZW9uZSB2b3RlcyAwLCB3ZSBhc3N1bWUgdGhleQ0KPj5yZWFsbHkgZG9uJ3QgY2Fy ZQ0KPj4gKyAgICBhYm91dCB0aGUgb3V0Y29tZSBhbmQgYXJlIGNvbnNpZGVyZWQgaW5hY3RpdmUg Zm9yIHRoZSBwdXJwb3NlIG9mDQo+PnRoZSB2b3RlLiANCj4NCj5XaXRoIG15IHByb3Bvc2FsIHlv dSBjYW4gZGVsZXRlIHRoaXMgYmVjYXVzZSAwLXZvdGVzIGRvIG5vdCBhZmZlY3QNCj5xdW9ydW0u DQo+DQo+PiArICAgIFRoZSBvdGhlciBxdWVzdGlvbiBpcyB3aGV0aGVyIHRvIHRyZWF0IC0yLXZv dGVzIGRpZmZlcmVudCB0aGFuDQo+Pi0xLXZvdGVzLiBXZSBjb3VsZA0KPj4gKyAgICBzYXkgdGhl cmUgc2hvdWxkIG5vdCBiZSBtb3JlIHRoYW4gMjAlIC0yLXZvdGVzLiBUaGF0IHdvdWxkIG1lYW4N Cj4+dGhhdA0KPg0KPk5vLiAgRm9ybWFsIGRlY2lzb25tYWtpbmcgb2YgdGhpcyBzb3J0IHNob3Vs ZCBub3QgY291bnQgc29tZSB2b3Rlcw0KPmRvdWJsZS4NCg0KVGhpcyBlbnRpcmUgc2VjdGlvbiB3 YXMganVzdCBhbiBpbGx1c3RyYXRpb24gb2YgbXkgdGhvdWdodCBwcm9jZXNzLg0KDQo+PiArICAg IFRoZSBlbnRpcmUgbGFzdCByZXNvdXJjZSBzZWN0aW9uIGdvZXMsIGJlY2F1c2UgaXQgaXMgZXNz ZW50aWFsbHkNCj4+bm90IG5lZWRlZCBhbnkgbW9yZSwNCj4gICAgICAgICAgICAgICAgICAgICAg IF5eXl5eXl5eDQo+ICAgICAgICAgICAgICAgICAgICAgICBSZXNvcnQNCg0KQUNLLiBUaGFua3Mu DQoNCj4NCj4+ICsjIyMjIENvbW1pdHRlciwgU2VjdXJpdHkgVGVhbSBNZW1iZXIgYW5kIG90aGVy IFByb2plY3QgTGVhZGVyc2hpcA0KPj5FbGVjdGlvbnMNCj4uLi4NCj4+ICAtICAgTm9taW5hdGlv bjogQ29tbXVuaXR5IG1lbWJlcnMgc2hvdWxkIG5vbWluYXRlIGNhbmRpZGF0ZXMgYnkNCj4+cG9z dGluZyBhIA0KPj4gIHByb3Bvc2FsIHRvICphcHBvaW50bWVudHMgYXQgeGVucHJvamVjdCBkb3Qg b3JnKiBleHBsYWluaW5nIHRoZQ0KPj5jYW5kaWRhdGUncyANCj4+IEBAIC0yOTksNzQgKzYwNiwx MjMgQEAgcmV2aWV3IGFsbCBwcm9wb3NhbHMsIGNoZWNrIHdoZXRoZXIgdGhlIG5vbWluZWUNCj4+ d291bGQgYmUgd2lsbGluZyB0byBhY2NlcHQgdGhlDQo+PiAgbm9taW5hdGlvbiBhbmQgcHVibGlz aCBzdWl0YWJsZSBub21pbmF0aW9ucyBvbiB0aGUgcHJvamVjdCdzIHB1YmxpYw0KPj5tYWlsaW5n IA0KPj4gIGxpc3QgZm9yIHdpZGVyIGNvbW11bml0eSBpbnB1dC4NCj4+ICAtICAgRWxlY3Rpb246 IEEgY29tbWl0dGVyIHdpbGwgYmUgZWxlY3RlZCB1c2luZyB0aGUgZGVjaXNpb24gbWFraW5nDQo+ PnByb2Nlc3MgDQo+PiAtb3V0bGluZWQgZWFybGllci4gVm90aW5nIHdpbGwgYmUgZG9uZSBieSBj b21taXR0ZXJzIGZvciB0aGF0IHByb2plY3QNCj4+cHJpdmF0ZWx5IA0KPj4gLXVzaW5nIGEgdm90 aW5nIGZvcm0gdGhhdCBpcyBjcmVhdGVkIGJ5IHRoZSBjb21tdW5pdHkgbWFuYWdlci4gU2hvdWxk DQo+PnRoZXJlIGJlIGEgDQo+PiAtbmVnYXRpdmUgdm90ZSB0aGUgcHJvamVjdCBsZWFkIGFuZCBj b21tdW5pdHkgbWFuYWdlciB3aWxsIHRyeSBhbmQNCj4+cmVzb2x2ZSB0aGUgDQo+PiAtc2l0dWF0 aW9uIGFuZCByZWFjaCBjb25zZW5zdXMuIFJlc3VsdHMgd2lsbCBiZSBwdWJsaXNoZWQgb24gdGhl IHB1YmxpYw0KPj5tYWlsaW5nIA0KPj4gLWxpc3QuDQo+PiArb3V0bGluZWQgZWFybGllci4gSW4g b3RoZXIgd29yZHMsIHRoZSBkZWNpc2lvbiBpcyBkZWxlZ2F0ZWQgdG8gdGhlDQo+Pltwcm9qZWN0 IA0KPj4gK2xlYWRlcnNoaXAgdGVhbV0oI2xlYWRlcnNoaXApLg0KPg0KPlRoaXMgbWlzc2VzIG91 dCBhcHBvaW50bWVudHMgdG8gdGhlIHNlY3VyaXR5IHRlYW0uICBJIHN1Z2dlc3QgdGhhdA0KPnRo ZXkgc2hvdWxkIHVzdWFsbHkgYmUgbWFkZSBieSB0aGUgdGVhbSBpdHNlbGYgYWNjb3JkaW5nIHRv IGxhenkNCj5jb25zZW5zdXMuDQoNCkFncmVlZC4gV2lsbCBhZGQuDQoNCj4+ICsgIA0KPj4tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tDQo+Pi0tLS0tLS0tLS0tLS0tLS0gDQo+PiArICAqKlByb3Bvc2FsKiogICAg ICAgICAgICAgICAgICAqKldobyByZXZpZXdzPyoqICAgICAgICAgICAgICAqKldobw0KPj52b3Rl cz8qKg0KPj4gKyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0NCj4+LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4+ICsgIENy ZWF0aW5nLCBncmFkdWF0aW5nLCAgICAgICAgIE1lbWJlcnMgb2YgZGV2ZWxvcGVyIG1haWxpbmcN Cj4+TGVhZGVyc2hpcCB0ZWFtcyBvZg0KPj4gKyAgY29tcGxldGluZy9hcmNoaXZpbmcgb2YgICAg ICAgbGlzdHMgb2YgcXVhbGlmeWluZyBwcm9qZWN0cw0KPj4qKm1hdHVyZSoqIHN1Yi1wcm9qZWN0 cywNCj4+ICsgIHN1Yi1wcm9qZWN0cyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHdpdGggdGhlDQo+PmV4Y2VwdGlvbiBvZiB0aGUgDQo+PiArICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9q ZWN0DQo+PndoaWNoIGlzIGJlaW5nIA0KPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV2aWV3ZWQNCj4+KGUuZy4gZm9yIGFu IA0KPj4gKyAgICAgICAgICAgICAgIA0KPj5hcmNoaXZhdGlvbiByZXZpZXcsIHRoZQ0KPj4gKyAg ICAgICAgICAgICAgIA0KPj5sZWFkZXJzaGlwIHRlYW0gb2YgdGhlDQo+PiArICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9qZWN0 DQo+PnVuZGVyIHJldmlldywgY2Fubm90DQo+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b3RlKS4NCj4+ICsNCj4+ICsgIEds b2JhbCBQcm9jZXNzIENoYW5nZXMgICAgICAgIE1lbWJlcnMgb2YgZGV2ZWxvcGVyIG1haWxpbmcN Cj4+TGVhZGVyc2hpcCB0ZWFtcyBvZg0KPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgbGlzdHMgb2YgcXVhbGlmeWluZyBwcm9qZWN0cw0KPj4qKm1hdHVyZSoqIHN1Yi1wcm9qZWN0 cywNCj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHdpdGhpbg0KPj50aGUgc2NvcGUgZGVzY3JpYmVkDQo+PiArICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhYm92 ZS4NCj4NCj4+ICstICAgUHJvamVjdCBsZWFkZXJzaGlwIHRlYW0gbWVtYmVycyB2b3RlIGZvciBv ciBhZ2FpbnN0IGEgcHJvcG9zYWwNCj4+KHRoZXJlIGlzIG5vIA0KPj4gK2RpZmZlcmVudGlhdGlv biBiZXR3ZWVuICoqLTEqKi8qKi0yKiogYW5kICoqKzEqKi8qKisyKiopLiBBICoqMCoqIHZvdGUN Cj4+aXMgbm90IA0KPj4gK2NvdW50ZWQgYXMgYSB2YWxpZCB2b3RlLg0KPj4gKy0gICBBICoqcXVv cnVtIG9mIG1vcmUgdGhhbiA1MCUqKiBvZiBlYWNoIHByb2plY3QncyBsZWFkZXJzaGlwIHRlYW0N Cj4+bWVtYmVycyBpcyANCj4+ICtyZXF1aXJlZC4gSW4gb3RoZXIgd29yZHM6IGlmIG1vcmUgdGhh biBoYWxmIG9mIGEgcHJvamVjdCdzIGxlYWRlcnNoaXANCj4+dGVhbSANCj4+ICttZW1iZXJzIGRv IG5vdCB2b3RlIG9yIGFic3RhaW4sIHRoZSBlbnRpcmUgc3ViLXByb2plY3QncyB2b3RlIGlzIG5v dA0KPj5jb3VudGVkLiANCj4+ICtUaGlzIGF2b2lkcyBzaXR1YXRpb25zIHdoZXJlIG9ubHkgYSBt aW5vcml0eSBvZiBsZWFkZXJzaGlwIHRlYW0NCj4+bWVtYmVycyB2b3RlcywgDQo+PiArd2hpY2gg d291bGQgc2tldyB0aGUgb3ZlcmFsbCByZXN1bHQuIElmIGl0IGJlY29tZXMgY2xlYXIsIHRoYXQg YQ0KPj5zdWItcHJvamVjdCBpcyANCj4+ICtub3QgbGlrZWx5IHRvIG1lZXQgdGhlIHF1b3J1bSwg dGhlIHZvdGluZyBkZWFkbGluZSBjYW4gYmUgZXh0ZW5kZWQgYnkNCj4+dGhlIA0KPj4gK2NvbW11 bml1dHkgbWFuYWdlci4NCg0KRm9yIG15c2VsZjogY29tbXVuaXR5DQoNCj4+ICstICAgRm9yIGVh Y2ggcXVhbGlmeWluZyBwcm9qZWN0IHdpdGggYSBxdW9ydW0sIHRoZSBwZXJjZW50YWdlIG9mIHZv dGVzDQo+PmluIA0KPj4gK2Zhdm91ciBhbmQgYWdhaW5zdCBpcyBjYWxjdWxhdGVkIChlLmcuIGlm IDUgcGVvcGxlIHZvdGVkIGluIGZhdm91ciwgMg0KPj5hZ2FpbnN0IA0KPj4gK2FuZCAxIGFic3Rh aW5zLCB0aGUgc2hhcmUgaXMgNS83dGggYW5kIDIvN3RoIHJlc3BlY3RpdmVseSkuDQo+PiArLSAg IFZvdGVzIGluIGZhdm91ciBhcmUgYXZlcmFnZWQgYXMgcGVyY2VudGFnZXMgYWNyb3NzIGFsbCBw cm9qZWN0cw0KPj4oc2F5IHdlIA0KPj4gK2hhdmUgcGVyIHByb2plY3QgZmlndXJlcyBvZiA1MCUs IDgwJSwgNzAlIGluIGZhdm91ciwgdGhlbiB0aGUgdG90YWwNCj4+dm90ZSBpbiANCj4+ICtmYXZv dXIgaXMgNjYuNjclKS4NCj4+ICstICAgSWYgdGhlIHRvdGFsIHZvdGUgaXMgbW9yZSB0aGFuIDIv M3JkcyBpbiBmYXZvdXIsIHRoZSBwcm9wb3NhbA0KPj5wYXNzZXMuIA0KPj4gK090aGVyd2lzZSBp dCBmYWlscy4NCj4NCj5UaGlzIGlzIGEgcmF0aGVyIGNvbXBsZXggYXBwcm9hY2ggYnV0IEkgZG9u J3QgaGF2ZSBhIGNsZWFybHkgYmV0dGVyDQo+cHJvcG9zYWwuDQoNCkkga25vdy4gSSBoYXZlIGJl ZW4gdGhpbmtpbmcgYWJvdXQgdGhpcyBmb3IgYWdlcyBhbmQgY291bGRuJ3QgY29tZSB1cCB3aXRo DQpzb21ldGhpbmcgYmV0dGVyLiBXZSBtYXkgaGF2ZSB0byBjaGFuZ2UgdGhlIDUwJSBxdW9ydW0g dG8gYmUgaW4gbGluZSB3aXRoDQp5b3VyIHByb3Bvc2FsIG9yIHRvIGltcHJvdmUgdGhlIGxhbmd1 YWdlLg0KDQpMYXJzIA0KDQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0 dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK