From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tianyang Chen Subject: Re: [PATCH v6][RFC]xen: sched: convert RTDS from time to event driven model Date: Fri, 26 Feb 2016 12:28:48 -0500 Message-ID: <56D08B50.5090301@seas.upenn.edu> References: <1456430736-4606-1-git-send-email-tiche@seas.upenn.edu> <1456443078.2959.85.camel@citrix.com> <56CFDF85.504@seas.upenn.edu> <1456477891.2959.132.camel@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta5.messagelabs.com ([195.245.231.135]) by lists.xen.org with esmtp (Exim 4.84) (envelope-from ) id 1aZMDd-0005ne-G3 for xen-devel@lists.xenproject.org; Fri, 26 Feb 2016 17:30:21 +0000 In-Reply-To: <1456477891.2959.132.camel@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Dario Faggioli , xen-devel@lists.xenproject.org Cc: george.dunlap@citrix.com, Dagaen Golomb , Meng Xu List-Id: xen-devel@lists.xenproject.org CgpPbiAyLzI2LzIwMTYgNDoxMSBBTSwgRGFyaW8gRmFnZ2lvbGkgd3JvdGU6Cj4+IEl0IGxvb2tz IGxpa2UgdGhlIGN1cnJlbnQgY29kZSBkb2Vzbid0IGFkZCBhIHZjcHUgdG8gdGhlCj4+IHJlcGxl bmlzaG1lbnQKPj4gcXVldWUgd2hlbiB2Y3B1X2luc2VydCgpIGlzIGNhbGxlZC4gV2hlbiB0aGUg c2NoZWR1bGVyIGlzCj4+IGluaXRpYWxpemVkLAo+PiBhbGwgdGhlIHZjcHVzIGFyZSBhZGRlZCB0 byB0aGUgcmVwbGVuaXNobWVudCBxdWV1ZSBhZnRlciB3YWtpbmcgdXAKPj4gZnJvbQo+PiBzbGVl cC4gVGhpcyBuZWVkcyB0byBiZSBjaGFuZ2VkIChhZGQgdmNwdSB0byByZXBscSBpbiB2Y3B1X2lu c2VydCgpKQo+PiB0bwo+PiBtYWtlIGl0IGNvbnNpc3RlbnQgaW4gYSBzZW5zZSB0aGF0IHdoZW4g cnRfdmNwdV9pbnNlcnQoKSBpcyBjYWxsZWQsCj4+IGl0Cj4+IG5lZWRzIHRvIGhhdmUgYSBjb3Jy ZXNwb25kaW5nIHJlcGxlbmlzaG1lbnQgZXZlbnQgcXVldWVkLgo+Pgo+PiBUaGlzIHdheSB0aGUg QVNTRVJUKCkgaXMgZm9yIGJvdGggY2FzZXMgaW4gX19ydW5xX2luc2VydCgpIHRvCj4+IGVuZm9y Y2UKPj4gdGhlIGZhY3QgdGhhdCAid2hlbiBhIHZjcHUgaXMgaW5zZXJ0ZWQgdG8gcnVucS9kZXBs ZXRlZHEsIGEKPj4gcmVwbGVuaXNobWVudCBldmVudCBpcyB3YWl0aW5nIGZvciBpdCIuCj4+Cj4g SSBhbSBvayB3aXRoIHRoaXMgKGNhbGxpbmcgcmVwbHFfaW5zZXJ0KCkgaW4gcnRfdmNwdV9pbnNl cnQoKSkuIE5vdAo+IGp1c3QgZG9pbmcgdGhhdCB1bmNvbmRpdGlvbmFsbHkgdGhvdWdoLCBhcyBh IHZjcHUgY2FuLCBlLmcuLCBiZSBwYXVzZWQKPiB3aGVuIHRoZSBpbnNlcnRfdmNwdSBob29rIGlz IGNhbGxlZCwgYW5kIGluIHRoYXQgY2FzZSwgSSBkb24ndCB0aGluayB3ZQo+IHdhbnQgdG8gZW5x dWV1ZSB0aGUgcmVwbGVuaXNobWVudCBldmVudCwgZG8gd2U/Cj4KClllcy4KCj4+PiBzdGF0aWMg dm9pZAo+Pj4gcnRfY29udGV4dF9zYXZlZChjb25zdCBzdHJ1Y3Qgc2NoZWR1bGVyICpvcHMsIHN0 cnVjdCB2Y3B1ICp2YykKPj4+IHsKPj4+ICAgICAgIHN0cnVjdCBydF92Y3B1ICpzdmMgPSBydF92 Y3B1KHZjKTsKPj4+ICAgICAgIHNwaW5sb2NrX3QgKmxvY2sgPSB2Y3B1X3NjaGVkdWxlX2xvY2tf aXJxKHZjKTsKPj4+Cj4+PiAgICAgICBjbGVhcl9iaXQoX19SVERTX3NjaGVkdWxlZCwgJnN2Yy0+ ZmxhZ3MpOwo+Pj4gICAgICAgLyogbm90IGluc2VydCBpZGxlIHZjcHUgdG8gcnVucSAqLwo+Pj4g ICAgICAgaWYgKCBpc19pZGxlX3ZjcHUodmMpICkKPj4+ICAgICAgICAgICBnb3RvIG91dDsKPj4+ Cj4+PiAgICAgICBpZiAoIHRlc3RfYW5kX2NsZWFyX2JpdChfX1JURFNfZGVsYXllZF9ydW5xX2Fk ZCwgJnN2Yy0+ZmxhZ3MpCj4+PiAmJgo+Pj4gICAgICAgICAgICBsaWtlbHkodmNwdV9ydW5uYWJs ZSh2YykpICkKPj4+ICAgICAgIHsKPj4+ICAgICAgICAgICBfX3J1bnFfaW5zZXJ0KG9wcywgc3Zj KTsKPj4+ICAgICAgICAgICBydW5xX3RpY2tsZShvcHMsIHNuZXh0KTsKPj4+ICAgICAgIH0KPj4+ ICAgICAgIGVsc2UKPj4+ICAgICAgICAgICBfX3JlcGxxX3JlbW92ZShvcHMsIHN2Yyk7Cj4+PiBv dXQ6Cj4+PiAgICAgICB2Y3B1X3NjaGVkdWxlX3VubG9ja19pcnEobG9jaywgdmMpOwo+Pj4gfQo+ Pj4KPj4+IEFuZCwgYXMgc2FpZCBhYm92ZSwgaWYgeW91IGRvIHRoaXMsIHRyeSBhbHNvIHJlbW92 aW5nIHRoZQo+Pj4gX19yZXBscV9yZW1vdmUoKSBjYWxsIGZyb20gcnRfdmNwdV9zbGVlcCgpLCB0 aGlzIG9uZSBzaG91bGQgY292ZXIKPj4+IGZvcgo+Pj4gdGhhdCAoYW5kLCBhY3R1YWxseSwgbW9y ZSB0aGFuIGp1c3QgdGhhdCEpLgo+Pj4KPj4+IEFmdGVyIGFsbCB0aGlzLCBjaGVjayB3aGV0aGVy IHlvdSBzdGlsbCBoYXZlIHRoZSBhc3NlcnQgaW4KPj4+IF9fcmVwbHFfaW5zZXJ0KCkgdHJpZ2dl cmluZyBhbmQgbGV0IG1lIGtub3cKPj4gU28gYWZ0ZXIgbW92aW5nIHRoZSBfX3JlcGxxX3JlbW92 ZSgpIHRvIHJ0X2NvbnRleHRfc2F2ZWQoKSwgdGhlCj4+IGFzc2VydAo+PiBpbiBfX3JlcGxxX2lu c2VydCgpIHN0aWxsIGZhaWxzIHdoZW4gZG9tMCBib290cyB1cC4KPj4KPiBXZWxsLCBtYXliZSBy ZW1vdmluZyBfX3JlcGxxX3JlbW92ZSgpIGZyb20gcnRfdmNwdV9zbGVlcCgpIGlzIG5vdAo+IGVu dGlyZWx5IG9rLCBhcyBpZiB3ZSBkbyB0aGF0IHdlIGZhaWwgdG8gZGVhbCB3aXRoIHRoZSBjYXNl IG9mIHdoZW4KPiAoc3RpbGwgaW4gcnRfdmNwdV9zbGVlcCgpKSwgX192Y3B1X29uX3Eoc3ZjKSBp cyB0cnVlLgo+Cj4gU28sIEknZCBzYXksIGRvIGFzIEkgc2FpZCBhYm92ZSB3cnQgcnRfY29udGV4 dF9zYXZlZCgpLiBGb3IKPiBydF92Y3B1X3NsZWVwKCksIHlvdSBjYW4gdHJ5IHNvbWV0aGluZyBs aWtlIHRoaXM6Cj4KPiBzdGF0aWMgdm9pZAo+IHJ0X3ZjcHVfc2xlZXAoY29uc3Qgc3RydWN0IHNj aGVkdWxlciAqb3BzLCBzdHJ1Y3QgdmNwdSAqdmMpCj4gewo+ICAgICAgc3RydWN0IHJ0X3ZjcHUg KiBjb25zdCBzdmMgPSBydF92Y3B1KHZjKTsKPgo+ICAgICAgQlVHX09OKCBpc19pZGxlX3ZjcHUo dmMpICk7Cj4gICAgICBTQ0hFRF9TVEFUX0NSQU5LKHZjcHVfc2xlZXApOwo+Cj4gICAgICBpZiAo IGN1cnJfb25fY3B1KHZjLT5wcm9jZXNzb3IpID09IHZjICkKPiAgICAgICAgICBjcHVfcmFpc2Vf c29mdGlycSh2Yy0+cHJvY2Vzc29yLCBTQ0hFRFVMRV9TT0ZUSVJRKTsKPiAgICAgIGVsc2UgaWYg KCBfX3ZjcHVfb25fcShzdmMpICkKPiAgICAgIHsKPiAgICAgICAgICBfX3FfcmVtb3ZlKHN2Yyk7 Cj4gICAgICAgICAgX19yZXBscV9yZW1vdmUoc3ZjKTsgIDw9PT0gKioqIExPT0sgSEVSRSAqKioK PiAgICAgIH0KPiAgICAgIGVsc2UgaWYgKCBzdmMtPmZsYWdzICYgUlREU19kZWxheWVkX3J1bnFf YWRkICkKPiAgICAgICAgICBjbGVhcl9iaXQoX19SVERTX2RlbGF5ZWRfcnVucV9hZGQsICZzdmMt PmZsYWdzKTsKPiB9Cj4KPiBJbiBmYWN0LCBpbiBib3RoIHRoZSBmaXJzdCBhbmQgdGhlIHRoaXJk IGNhc2UsIHdlIGdvIHdpbGwgYXQgc29tZSBwb2ludAo+IHBhc3MgdGhyb3VnaCBydF9jb250ZXh0 X3N3aXRjaCgpLCBhbmQgaGl0IHRoZSBfX3JlcGxxX3JlbW92ZSgpIHRoYXQgSQo+IG1hZGUgeW91 IHB1dCB0aGVyZS4KPgo+IEluIHRoZSBjYXNlIGluIHRoZSBtaWRkbGUsIGFzIHRoZSB2Y3B1IHdh cyBqdXN0IHF1ZXVlZCwgYW5kIGZvciBtYWtpbmcKPiBpdCBnbyB0byBzbGVlcCwgaXQgaXMgZW5v dWdoIHRvIHJlbW92ZSBpdCBmcm9tIHRoZSBydW5xIChvciBkZXBsZXRlZHEsCj4gaW4gdGhlIGNh c2Ugb2YgdGhpcyBzY2hlZHVsZXIpLCB3ZSB3b24ndCBnbyB0aHJvdWdoCj4gcnRfc2NoZWR1bGUo KS0tPnJ0X2NvbnRleHRfc2F2ZWQoKSwgYW5kIGhlbmNlIHRoZSBfX3JlcGxxX3JlbW92ZSgpCj4g d29uJ3QgYmUgY2FsbGVkLgo+Cj4gU29ycnkgZm9yIHRoZSBvdmVybG9vaywgY2FuIHlvdSB0cnkg dGhpcy4KPgo+IFRoYXQgYmVpbmcgc2FpZC4uLgo+Cj4+IChYRU4pIEFzc2VydGlvbiAnIXZjcHVf b25fcmVwbHEoc3ZjKScgZmFpbGVkIGF0IHNjaGVkX3J0LmM6NTI0Cj4+IChYRU4pIC0tLS1bIFhl bi00LjctdW5zdGFibGUgIHg4Nl82NCAgZGVidWc9eSAgVGFpbnRlZDogICAgQyBdLS0tLQo+Pgo+ PiAoWEVOKSBYZW4gY2FsbCB0cmFjZToKPj4gKFhFTikgICAgWzxmZmZmODJkMDgwMTI4YzA3Pl0g c2NoZWRfcnQuYyNfX3JlcGxxX2luc2VydCsweDJiLzB4NjQKPj4gKFhFTikgICAgWzxmZmZmODJk MDgwMTJhMDcyPl0gc2NoZWRfcnQuYyNydF92Y3B1X3dha2UrMHhmMi8weDEyYwo+PiAoWEVOKSAg ICBbPGZmZmY4MmQwODAxMmJlMmM+XSB2Y3B1X3dha2UrMHgyMTMvMHgzZDQKPj4gKFhFTikgICAg WzxmZmZmODJkMDgwMTJjMzQ3Pl0gdmNwdV91bmJsb2NrKzB4NGIvMHg0ZAo+PiAoWEVOKSAgICBb PGZmZmY4MmQwODAxNjljZWE+XSB2Y3B1X2tpY2srMHgyMC8weDZmCj4+IChYRU4pICAgIFs8ZmZm ZjgyZDA4MDE2OWQ2NT5dIHZjcHVfbWFya19ldmVudHNfcGVuZGluZysweDJjLzB4MmYKPj4gKFhF TikgICAgWzxmZmZmODJkMDgwMTA3NjJhPl0KPj4gZXZlbnRfMmwuYyNldnRjaG5fMmxfc2V0X3Bl bmRpbmcrMHhhOS8weGI5Cj4+IChYRU4pICAgIFs8ZmZmZjgyZDA4MDEwODIyYT5dIGV2dGNobl9z ZW5kKzB4MTU4LzB4MTgzCj4+IChYRU4pICAgIFs8ZmZmZjgyZDA4MDEwOTZmYz5dIGRvX2V2ZW50 X2NoYW5uZWxfb3ArMHhlMjEvMHgxNDdkCj4+IChYRU4pICAgIFs8ZmZmZjgyZDA4MDI0MzllMj5d IGxzdGFyX2VudGVyKzB4ZTIvMHgxM2MKPj4gKFhFTikKPj4KPiAuLi4gVGhpcyBzYXlzIHRoYXQg dGhlIHdlIGNhbGwgX19yZXBscV9pbnNlcnQoKSBmcm9tIHJ0X3ZjcHVfd2FrZSgpIGFuZAo+IGZp bmQgb3V0IGluIHRoZXJlIHRoYXQgdmNwdV9vbl9yZXBscSgpIGlzIHRydWUuCj4KPiBIb3dldmVy LCBpbiB2NiBjb2RlIGZvciBydF92Y3B1X3dha2UoKSwgSSBjYW4gc2VlIHRoaXM6Cj4KPiArICAg IGlmKCAhX192Y3B1X29uX3JlcGxxKHN2YykgKQo+ICsgICAgewo+ICsgICAgICAgIF9fcmVwbHFf aW5zZXJ0KG9wcywgc3ZjKTsKPiArICAgICAgICBBU1NFUlQoIHZjcHVfcnVubmFibGUodmMpICk7 Cj4gKyAgICB9Cj4KPiB3aGljaCB3b3VsZCBtYWtlIG1lIHRoaW5rIHRoYXQsIGlmIHZjcHVfb25f cmVwbHEoKSBpcyB0cnVlLCB3ZQo+IHNob3VsZG4ndCBiZSBjYWxsaW5nIF9fcmVwbHFfaW5zZXJ0 KCkgaW4gdGhlIGZpcnN0IHBsYWNlLgo+Cj4gU28sIGhhdmUgeW91IG1hZGUgb3RoZXIgY2hhbmdl cyB3cnQgdjYgd2hlbiB0cnlpbmcgdGhpcz8KClRoZSB2NiBkb2Vzbid0IGhhdmUgdGhlIGlmIHN0 YXRlbWVudCBjb21tZW50ZWQgb3V0IHdoZW4gSSBzdWJtaXR0ZWQgaXQuIApCdXQgSSB0cmllZCBj b21tZW50aW5nIGl0IG91dCwgdGhlIGFzc2VydGlvbiBmYWlsZWQuCgpJdCBmYWlscyBpbiBWNiB3 aXRoOgpydF92Y3B1X3NsZWVwKCk6IHJlbW92aW5nIHJlcGxlbmlzaG1lbnQgZXZlbnQgZm9yIGFs bCBjYXNlcwpydF9jb250ZXh0X3NhdmVkKCk6IG5vdCByZW1vdmluZyByZXBsZW5pc2htZW50IGV2 ZW50cwpydF92Y3B1X3dha2UoKTogbm90IGNoZWNraW5nIGlmIHRoZSBldmVudCBpcyBhbHJlYWR5 IHF1ZXVlZC4KCm9yIHdpdGg6CnJ0X3ZjcHVfc2xlZXAoKTogbm90IHJlbW92aW5nIHJlcGxlbmlz aG1lbnQgZXZlbnQgYXQgYWxsCnJ0X2NvbnRleHRfc2F2ZWQoKTogcmVtb3ZpbmcgcmVwbGVuaXNo bWVudCBldmVudHMgaWYgbm90IHJ1bm5hYmxlCnJ0X3ZjcHVfd2FrZSgpOiBub3QgY2hlY2tpbmcg aWYgdGhlIGV2ZW50IGlzIGFscmVhZHkgcXVldWVkLgoKQWxzbyB3aXRoOgpydF92Y3B1X3NsZWVw KCk6IHJlbW92aW5nIHJlcGxlbmlzaG1lbnQgZXZlbnQgaWYgdGhlIHZjcHUgaXMgb24gCnJ1bnEv ZGVwbGV0ZWRxCnJ0X2NvbnRleHRfc2F2ZWQoKTogcmVtb3ZpbmcgcmVwbGVuaXNobWVudCBldmVu dHMgaWYgbm90IHJ1bm5hYmxlCnJ0X3ZjcHVfd2FrZSgpOiBub3QgY2hlY2tpbmcgaWYgdGhlIGV2 ZW50IGlzIGFscmVhZHkgcXVldWVkLgoKSSBhZGRlZCBkZWJ1ZyBwcmludHMgaW4gYWxsIHRoZXNl IGZ1bmN0aW9ucyBhbmQgbm90aWNlZCB0aGF0IGl0IGNvdWxkIGJlIApjYXVzZWQgYnkgcmFjaW5n IGJldHdlZW4gc3B1cmlvdXMgd2FrZXVwcyBhbmQgY29udGV4dCBzd2l0Y2hpbmcuIFNlZSB0aGUg CmZvbGxvd2luZyBldmVudHMgZm9yIHRoZSBsYXN0IG1vZGlmaWNhdGlvbiBhYm92ZToKCihYRU4p IGNwdTEgcGlja2VkIGlkbGUKKFhFTikgZDAgYXR0ZW1wdGVkIHRvIGNoYW5nZSBkMHYxJ3MgQ1I0 IGZsYWdzIDAwMDAwNjIwIC0+IDAwMDQwNjYwCihYRU4pIGNwdTIgcGlja2VkIGlkbGUKKFhFTikg dmNwdTEgc2xlZXBzIG9uIGNwdQooWEVOKSBjcHUwIHBpY2tlZCBpZGxlCihYRU4pIHZjcHUxIGNv bnRleHQgc2F2ZWQgbm90IHJ1bm5hYmxlCihYRU4pIHZjcHUxIHdha2VzIHVwIG5vd2hlcmUKKFhF TikgY3B1MCBwaWNrZWQgdmNwdTEKKFhFTikgdmNwdTEgc2xlZXBzIG9uIGNwdQooWEVOKSBjcHUw IHBpY2tlZCBpZGxlCihYRU4pIHZjcHUxIGNvbnRleHQgc2F2ZWQgbm90IHJ1bm5hYmxlCihYRU4p IHZjcHUxIHdha2VzIHVwIG5vd2hlcmUKKFhFTikgY3B1MCBwaWNrZWQgdmNwdTEKKFhFTikgY3B1 MCBwaWNrZWQgaWRsZQooWEVOKSB2Y3B1MSBjb250ZXh0IHNhdmVkIG5vdCBydW5uYWJsZQooWEVO KSBjcHUwIHBpY2tlZCB2Y3B1MAooWEVOKSB2Y3B1MSB3YWtlcyB1cCBub3doZXJlCihYRU4pIGNw dTEgcGlja2VkIHZjcHUxICAgICAqKiogdmNwdTEgaXMgb24gYSBjcHUKKFhFTikgY3B1MSBwaWNr ZWQgaWRsZSAgICAgICoqKiB2Y3B1MSBpcyB3YWl0aW5nIHRvIGJlIGNvbnRleHQgc3dpdGNoZWQK KFhFTikgdmNwdTIgd2FrZXMgdXAgbm93aGVyZQooWEVOKSBjcHUwIHBpY2tlZCB2Y3B1MAooWEVO KSBjcHUyIHBpY2tlZCB2Y3B1MgooWEVOKSBjcHUwIHBpY2tlZCB2Y3B1MAooWEVOKSBjcHUwIHBp Y2tlZCB2Y3B1MAooWEVOKSBkMCBhdHRlbXB0ZWQgdG8gY2hhbmdlIGQwdjIncyBDUjQgZmxhZ3Mg MDAwMDA2MjAgLT4gMDAwNDA2NjAKKFhFTikgY3B1MCBwaWNrZWQgdmNwdTAKKFhFTikgdmNwdTIg c2xlZXBzIG9uIGNwdQooWEVOKSB2Y3B1MSB3YWtlcyB1cCBub3doZXJlICAgICAgKioqIHZjcHUx IHdha2VzIHVwIHdpdGhvdXQgc2xlZXA/CgooWEVOKSBBc3NlcnRpb24gJyFfX3ZjcHVfb25fcmVw bHEoc3ZjKScgZmFpbGVkIGF0IHNjaGVkX3J0LmM6NTI2CihYRU4pIC0tLS1bIFhlbi00LjctdW5z dGFibGUgIHg4Nl82NCAgZGVidWc9eSAgVGFpbnRlZDogICAgQyBdLS0tLQooWEVOKSBDUFU6ICAg IDAKKFhFTikgUklQOiAgICBlMDA4Ols8ZmZmZjgyZDA4MDEyYTE1MT5dIHNjaGVkX3J0LmMjcnRf dmNwdV93YWtlKzB4MTFmLzB4MTdiCi4uLgooWEVOKSBYZW4gY2FsbCB0cmFjZToKKFhFTikgICAg WzxmZmZmODJkMDgwMTJhMTUxPl0gc2NoZWRfcnQuYyNydF92Y3B1X3dha2UrMHgxMWYvMHgxN2IK KFhFTikgICAgWzxmZmZmODJkMDgwMTJiZjJjPl0gdmNwdV93YWtlKzB4MjEzLzB4M2Q0CihYRU4p ICAgIFs8ZmZmZjgyZDA4MDEyYzQ0Nz5dIHZjcHVfdW5ibG9jaysweDRiLzB4NGQKKFhFTikgICAg WzxmZmZmODJkMDgwMTY5Y2VhPl0gdmNwdV9raWNrKzB4MjAvMHg2ZgooWEVOKSAgICBbPGZmZmY4 MmQwODAxNjlkNjU+XSB2Y3B1X21hcmtfZXZlbnRzX3BlbmRpbmcrMHgyYy8weDJmCihYRU4pICAg IFs8ZmZmZjgyZDA4MDEwNzYyYT5dIGV2ZW50XzJsLmMjZXZ0Y2huXzJsX3NldF9wZW5kaW5nKzB4 YTkvMHhiOQooWEVOKSAgICBbPGZmZmY4MmQwODAxMDgzMTI+XSBzZW5kX2d1ZXN0X3ZjcHVfdmly cSsweDlkLzB4YmEKKFhFTikgICAgWzxmZmZmODJkMDgwMTk2Y2JlPl0gc2VuZF90aW1lcl9ldmVu dCsweGUvMHgxMAooWEVOKSAgICBbPGZmZmY4MmQwODAxMmE3YjU+XSBzY2hlZHVsZS5jI3ZjcHVf c2luZ2xlc2hvdF90aW1lcl9mbisweDkvMHhiCihYRU4pICAgIFs8ZmZmZjgyZDA4MDEzMTk3OD5d IHRpbWVyLmMjZXhlY3V0ZV90aW1lcisweDRlLzB4NmMKKFhFTikgICAgWzxmZmZmODJkMDgwMTMx YWI5Pl0gdGltZXIuYyN0aW1lcl9zb2Z0aXJxX2FjdGlvbisweGRkLzB4MjEzCihYRU4pICAgIFs8 ZmZmZjgyZDA4MDEyZGYzMj5dIHNvZnRpcnEuYyNfX2RvX3NvZnRpcnErMHg4Mi8weDhkCihYRU4p ICAgIFs8ZmZmZjgyZDA4MDEyZGY4YT5dIGRvX3NvZnRpcnErMHgxMy8weDE1CihYRU4pICAgIFs8 ZmZmZjgyZDA4MDI0M2FkMT5dIGNwdWZyZXEuYyNwcm9jZXNzX3NvZnRpcnFzKzB4MjEvMHgzMAoK ClNvLCBpdCBsb29rcyBsaWtlIHNwdXJpb3VzIHdha2V1cCBmb3IgdmNwdTEgaGFwcGVucyBiZWZv cmUgaXQgd2FzIApjb21wbGV0ZWx5IGNvbnRleHQgc3dpdGNoZWQgb2ZmIGEgY3B1LiBCdXQgcnRf dmNwdV93YWtlKCkgZGlkbid0IHNlZSBpdCAKb24gY3B1IHdpdGggY3Vycl9vbl9jcHUoKSBzbyBp dCBmZWxsIHRocm91Z2ggdGhlIGZpcnN0IHR3byBSRVRVUk5zLgoKSSBndWVzcyB0aGUgcmVwbGVu aXNobWVudCBxdWV1ZSBjaGVjayBpcyBuZWNlc3NhcnkgZm9yIHRoaXMgc2l0dWF0aW9uPwoKVGhh bmtzLApUaWFueWFuZwoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRw Oi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK