V2F0Y2hkb2cgaXMgYSBkYWVtb24gdGhhdCBjaGVja3MgaWYgeW91ciBzeXN0ZW0gaXMgc3RpbGwgd29ya2luZy4gSWYKcHJvZ3JhbXMgaW4gdXNlciBzcGFjZSBhcmUgbm90IGxvbmdlciBleGVjdXRlZCBpdCB3aWxsIHJlYm9vdCB0aGUgc3lzdGVtLgpIb3dldmVyLCB0aGlzIHdpbGwgbm90IGFsd2F5cyB3b3JrLgoKRnJvbSB0aGUga2VybmVsOgoKPglXYXRjaGRvZyBUaW1lciBJbnRlcmZhY2VzIEZvciBUaGUgTGludXggT3BlcmF0aW5nIFN5c3RlbQo+Cj4JCUFsYW4gQ294IDxhbGFuQGx4b3JndWsudWt1dS5vcmcudWs+Cj4KPgkgICAgQ3VzdG9tIExpbnV4IERyaXZlciBBbmQgUHJvZ3JhbSBEZXZlbG9wbWVudAo+Cj5bLi4uXQo+Cj5BbGwgZm91ciBpbnRlcmZhY2VzIHByb3ZpZGUgL2Rldi93YXRjaGRvZywgd2hpY2ggd2hlbiBvcGVuIG11c3QgYmUgd3JpdHRlbgo+dG8gd2l0aGluIGEgbWludXRlIG9yIHRoZSBtYWNoaW5lIHdpbGwgcmVib290LiBFYWNoIHdyaXRlIGRlbGF5cyB0aGUgcmVib290Cj50aW1lIGFub3RoZXIgbWludXRlLiBJbiB0aGUgY2FzZSBvZiB0aGUgc29mdHdhcmUgd2F0Y2hkb2cgdGhlIGFiaWxpdHkgdG8gCj5yZWJvb3Qgd2lsbCBkZXBlbmQgb24gdGhlIHN0YXRlIG9mIHRoZSBtYWNoaW5lcyBhbmQgaW50ZXJydXB0cy4gVGhlIGhhcmR3YXJlCj5ib2FyZHMgcGh5c2ljYWxseSBwdWxsIHRoZSBtYWNoaW5lIGRvd24gb2ZmIHRoZWlyIG93biBvbmJvYXJkIHRpbWVycyBhbmQKPndpbGwgcmVib290IGZyb20gYWxtb3N0IGFueXRoaW5nLgoKVGhpcyB0b29sIHByb3ZlZCB2ZXJ5IHVzZWZ1bCBmb3IgbWUsIGJlY2F1c2UgSSBhbHdheXMgcnVuIHRoZSBsYXRlc3Qga2VybmVsCmFuZCB0aGUgbGF0ZXN0IGxpYmMgcmVsZWFzZSwgYnV0IHJlbHkgb24gdGhlIG1hY2hpbmUgdG8gYmUgdXAgYW5kIHJ1bm5pbmcKZm9yIGVtYWlsLgoKTm90ZSwgdGhhdCB5b3UgaGF2ZSB0byBlbmFibGUgdGhlIHNvZnR3YXJlIHdhdGNoZG9nIGRyaXZlciBpbiB5b3VyIGtlcm5lbApmb3IgdGhlIHByb2dyYW0gdG8gYmUgYWJsZSB0byBoYXJkIHJlc2V0IHRoZSBzeXN0ZW0gdW5sZXNzIHlvdSBoYXZlIGEKaGFyZHdhcmUgd2F0Y2hkb2cgb2YgY291cnNlLiBNYWtlIHN1cmUgeW91IGRvbid0IGNvbXBpbGUgd2F0Y2hkb2cgd2l0aCBhCmRpZmZlcmVudCB0aW1lciBtYXJnaW4gdGhhbiB0aGUga2VybmVsIGRyaXZlci4KCkFzIG9mIHZlcnNpb24gNC4wIHdhdGNoZG9nIGlzIGFibGUgdG8gbWFrZSBpdHNlbGYgYSByZWFsLXRpbWUgYXBwbGljYXRpb24uCkl0IHdpbGwgbG9jayBhbGwgaXRzIHBhZ2VzIGluIG1lbW9yeSBhbmQgc2V0IGl0tHMgc2NoZWR1bGVyIHRvIHJvdW5kLXJvYmluLgpUaGlzIHdpbGwgdGFrZSB1cCB0byA5MDAgcGFnZXMgb2YgbWVtb3J5IGJ1dCBndWFyYW50ZWVzIHlvdSB0aGF0IHdhdGNoZG9nCndpbGwgZ2V0IGl0cyBzaGFyZSBvZiBwcm9jZXNzb3IgdGltZS4gSWYgeW91IGV2ZXIgZXhwZXJpZW5jZWQgYSBoYXJkIHJlc2V0Cmp1c3QgYmVjYXVzZSB3YXRjaGRvZyB3YXNutHQgc2NoZWR1bGVkIGZvciBhIG1pbnV0ZSwgeW91IHdpbGwgcHJvYmFibHkgaGF2ZQpubyBwcm9ibGVtIHdpdGggdGhlIDkwMCBwYWdlcyB3aGljaCBpcyBub3Qgc28gbXVjaCBhbnl3YXkuCgpPZiBjb3Vyc2UgdGhpcyBpcyBub3QgbmVlZGVkIGZvciBtYWNoaW5lcyBydW5uaW5nIG9uIGxvdyBsb2FkLgoKRG9uJ3QgYmUgc3VycHJpc2VkIGlmIHlvdSBzZWUgYW55IHpvbWJpZSBwcm9jZXNzZXMgbGF5aW5nIGFyb3VuZC4gVGhpcyBpcwpub3JtYWwuIFRoZXkgd2lsbCBiZSByZW1vdmVkIHRoZSBuZXh0IHRpbWUgd2F0Y2hkb2cgd2FrZXMgdXAuIE9mIGNvdXJzZSBhCm5ldyB6b21iaWUgaXMgY3JlYXRlZCB0aGVuLCB0b28uIFRoaXMgem9tYmllIHByb2Nlc3MgaXMgYSByZXN1bHQgb2YgdGhlCnByb2Nlc3MgdGFibGUgY2hlY2suCgpNaWNoYWVsCm1lc2tlc0BkZWJpYW4ub3JnCgo=