RGVhciByZWFkZXJzDQoNCg0KSSBoYXZlIHByb2dyYW1tZWQgYSBjaXJjdWxhciBidWZmZXIgKGlu cHV0L291dHB1dCkgaW4gYSBwaWMxNmY2MjhhLCB1c2luZyBhcyBtdWNoIG1lbW9yeSBhcyBwb3Nz aWJsZS4NCg0KSSBkaWQgbm90IG9wdGltaXplIGl0IHlldCwgbXkgcmVxdWVzdCBoZXJlIGlzIHRv IGdldCBhIGNvZGUgYXMgY29tcGFjdCBhcyBwb3NzaWJsZS4gVGhlIGFzc2VtYmx5IHdpbGwgZm9s bG93IGFmdGVyIHRoZSBleHBsYW5hdGlvbi4NCg0KDQpUaGUgaW5wdXQgYnl0ZSBzaG91bGQgYmUg c3RvcmVkIGluIHRoaXMgYnVmZmVyIGFuZCB0aGFuIHRoZSBpbnB1dHBvaW50ZXIgZGVjcmVtZW50 ZWQgZm9yIHRoZSBuZXh0IHNhbXBsZS4NCg0KQXQgdGhlIHNhbWUgdGltZSBhIHN0b3JlZCBieXRl IHNob3VsZCBiZSBmZXRjaGVkIGZyb20gdGhpcyBjaXJjdWxhciBidWZmZXIuIFRoZSBvZmZzZXQg b2YgdGhpcyBvdXRwdXRwb2ludGVyIGlzIG5vdCBhIGZpeGVkIHZhbHVlLCBidXQgaW4gdGhlIHJh bmdlIG9mIDAgdG8gbWF4DQoNCg0KSGVyZcK0cyB0aGUgcHJvYmxlbTogVGhlIDE2ZjYyOGEgZG9l cyBub3QgaGF2ZSBhIGNvbnNlY3V0aXZlIG1lbW9yeSByZWdpc3RlciAoUkFNKSBpdCBpcyBzcGxp dCB1cCBpbnRvIGJhbmtzLg0KDQpTbyBhIGRlY3JlbWVudGVkIHBvaW50ZXIgY291bGQgZW5kIHVw IHBvaW50aW5nIHRvIG1lbW9yeSB1c2VkIGJ5IG90aGVyIHZhcmlhYmxlcy4NCg0KTW9yZSBkZXRh aWw6DQoNCg0KYmFuazAgbWVtb3J5IGZyb20gMHgyMCB0byAoYW5kIGluY2x1c2l2ZSkgMHg2Rg0K DQpiYW5rMSBtZW1vcnkgZnJvbSAweEEwIHRvIChhbmQgaW5jbHVzaXZlKSAweEVGDQoNCg0KVGhl cmXCtHMgbW9yZSBtZW1vcnkuIDB4NzAtMHg3RiBzaGFyZWQgaW4gYWxsIGJhbmtzIGFuZCBveDEy MC0weDE0RiBpbiBiYW5rIDINCg0KSSBuZWVkIHRoZSAxNiBieXRlcyBzaGFyZWQgbWVtb3J5IGZv ciBvdGhlciB2YXJpYWJsZXMgYW5kIGFkZHJlc3NpbmcgYmFuazIgbWVtb3J5IHdvdWxkIGFkZCBt b3JlIGNvZGUgc28gSSBpZ25vcmUgdGhhdCBjaHVuay4NCg0KDQpUaGlzIGdpdmVzIG1lIDE2MCBi eXRlcyBvZiBjaXJjdWxhciBidWZmZXIuIDgwIGluIGJhbmswIGFuZCA4MCBpbiBiYW5rMQ0KDQoN CkFnYWluIEkgbmVlZCBhIGRlY3JlbWVudGluZyBwb2ludGVyIHRvIHRoZSBjaXJjdWxhciBidWZm ZXIgZnJvbSAxNTktMCAob3IgaW4gdGhlIGNhc2Ugb2YgbXkgY29kZSBmcm9tIDE2MC0xLCBidXQg dGhhdMK0cyBvcGVuKSwgYW5kIEkgbmVlZCBhIHBvaW50ZXIgdGhhdCBwb2ludHMgdG8gYSBmb3Jt ZXIgc3RvcmVkIGJ5dGUuIFRoaXMgcG9pbnRlciBpcyBvZmZzZXQgYnkgYSBjZXJ0YWluIGFtb3Vu dCAobWluIDAgbWF4IDE2MCBvYnZpb3VzbHkpIGZyb20gdGhlIGlucHV0cG9pbnRlci4NCg0KDQpN eSBzb2x1dGlvbiBpcyB0byBoYXZlIHR3byBzZXRzIG9mIHBvaW50ZXJzLCBhIHZpcnR1YWwgcG9p bnRlcl9pbiBwbHVzIHBvaW50ZXJfb2Zmc2V0LCBhbmQgYW4gYWJzb2x1dGUgcG9pbnRlciBpbiBh bmQgb3V0LiBUaGUgdmlydHVhbCBwb2ludGVycyBhcmUgYmV0d2VlbiAxLTE2MCwgdGhlIGFic29s dXRlIHBvaW50ZXJzIGFyZSBkZXJpdmVkIGZyb20gdGhlIHZpcnR1YWwgcG9pbnRlcnMgdG8gcG9p bnQgdG8gdGhlIGFjdHVhbCBieXRlIGluIHRoZSBtZW1vcnkgYmxvY2tzLg0KDQoNCkkgaG9wZSB0 aGF0IHdhcyBjbGVhci4NCg0KDQpoZXJlwrRzIG15IGNvZGUuIEkgaGF2ZSBub3Qgb3B0aW1pemVk IGl0IHlldCwgc28gaXQgaXMgY2xlYXIgd2hhdCBoYXBwZW5zLiBJIHdvdWxkIGxpa2UgaXQgdG8g YmUgKGZhcikgbW9yZSBjb21wYWN0LiBNYXliZSBzb21lb25lIGhhcyBiZXR0ZXIgaWRlYXMgaG93 IHRvIGhhbmRsZSB0aGlzPw0KDQoNCk15IGlucHV0IGlzOg0KDQp2aXJ0X3BvaW50ZXJfaW4NCg0K cG9pbnRlcl9vZmZzZXQNCg0KDQpJIHRoYW4gY2FsbCDCtGdldHBvaW50ZXJzwrQNCg0KDQphbmQg Z2V0IHJldHVybmVkOg0KDQpwb2ludGVyX2luDQoNCnBvaW50ZXJfb3V0DQoNCnZpcnRfcG9pbnRl cl9pbiAoZGVjcmVtZW50ZWQgYnkgMSBhbmQgcm90YXRlZCB0byBtYXggaWYgc21hbGxlciB0aGFu IDEpDQoNCg0KaW4gYW4gaW5jbHVkZSBmaWxlIEkgZGVmaW5lOg0KDQpDSVJDVUxBUl9CVUZGRVJf TEVOR1RIID0gMTYwICgweDEwMCkNCg0KUkFNMV9MRU5HVEggPSA4MCAoMHg1MCkNCg0KUkFNMV9T VEFSVCA9IDB4MjANCg0KDQoNCg0KDQogICAgbGlzdCAgICAgICAgcD0xNmY2MjhhICAgIDsNCg0K ICAgIGluY2x1ZGUgICAgPHAxNmY2MjhhLmluYz4gICAgICAgIDsNCiAgICBpbmNsdWRlIDxnbG9i YWwuaW5jPiAgICAgICAgOyBzZXRzIFhUQUxfRlJFUQ0KDQogICAgICAgIGxpc3QNCiAgICAgICAg ZXh0ZXJuICBwb2ludGVyX2luDQogICAgZXh0ZXJuICAgIHBvaW50ZXJfb3V0DQogICAgICAgIGV4 dGVybiAgcG9pbnRlcl9vZmZzZXQNCiAgICBleHRlcm4gICAgdmlydF9wb2ludGVyX2luDQogICAg ZXh0ZXJuICAgIHZpcnRfcG9pbnRlcl9vdXQNCg0KICAgIGdsb2JhbCAgICBnZXRwb2ludGVycw0K ICAgIENPREUNCg0KZ2V0cG9pbnRlcnMNCiAgICBkZWNmc3ogIHZpcnRfcG9pbnRlcl9pbiwgZiAg ICAgICAgOyBpZiAwIHRoZW4gcG9pbnQgdG8gdG9wIG9mIHRoZSBidWZmZXIgYWdhaW4NCiAgICBn b3RvICAgIF9zdGFydF92aXJ0X3BvaW50ZXJfaW4gICAgICAgIDsgaWYgbm90IDAgdGhlbiBnb3Rv IHRoaXMgbGFiZWwNCiAgICBtb3ZsdyAgIENJUkNVTEFSX0JVRkZFUl9MRU5HVEgNCiAgICBtb3Z3 ZiAgIHZpcnRfcG9pbnRlcl9pbiAgICAgICAgOyBzZXQgdmlydF9wb2ludGVyX2luIHRvIHRvcCBv ZiBidWZmZXINCl9zdGFydF92aXJ0X3BvaW50ZXJfaW4NCiAgICBtb3ZmICAgIHZpcnRfcG9pbnRl cl9pbiwgdyAgICAgICAgOw0KICAgIGFkZGx3ICAgaCdGRicgLSBSQU0xX0xFTkdUSCAgICAgICAg OyA8PSAweDUwPyBubyB0aGVuIGNhcnJ5IHNldA0KICAgIGJ0ZnNjICAgU1RBVFVTLCBDDQogICAg Z290byAgICBfZ29iYW5rMg0KX2dvYmFuazENCiAgICBtb3ZmICAgIHZpcnRfcG9pbnRlcl9pbiwg dw0KICAgIGFkZGx3ICAgUkFNMV9TVEFSVCAtIDEgICAgICAgIDsgYWRkIDB4MjAgKHZpcnQgYnVm ZmVyIHN0YXJ0cyBhdCAxISApDQogICAgbW92d2YgICBwb2ludGVyX2luDQogICAgZ290byAgICBf Z2V0X3BvaW50ZXJfb3V0DQpfZ29iYW5rMg0KICAgIG1vdmYgICAgdmlydF9wb2ludGVyX2luLCB3 DQogICAgYWRkbHcgICBoJzUwJyAtIDEgICAgICAgICAgICA7IHZpcnRfcG9pbnRlciA+IDB4NTAg LS0+IGFkZCAweDUwIGZvciBiYW5rMg0KICAgIG1vdndmICAgcG9pbnRlcl9pbg0KDQpfZ2V0X3Bv aW50ZXJfb3V0DQogICAgbW92ZiAgICBwb2ludGVyX29mZnNldCwgdyAgICAgICAgOw0KICAgIHN1 YndmICAgdmlydF9wb2ludGVyX2luLCB3ICAgICAgICA7IEYtVywgdmlydF9wb2ludGVyX2luIC0g b2Zmc2V0DQogICAgYnRmc3MgICBTVEFUVVMsIEMgICAgICAgICAgICA7IENhcnJ5PTAgaWYgbmVn YXRpdmUNCiAgICBhZGRsdyAgIENJUkNVTEFSX0JVRkZFUl9MRU5HVEggICAgOyBXIG5vdyBjYXJy aWVzIHRoZSB2aXJ0dWFsIG91dHB1dCBwb2ludGVyDQogICAgYnRmc2MgICBTVEFUVVMsIFogICAg ICAgICAgICA7IGFsYXMgd2UgbmVlZCBhbm90aGVyIGNvbW1hbmQgdG8gdGVzdCBmb3IgMA0KICAg IGFkZGx3ICAgQ0lSQ1VMQVJfQlVGRkVSX0xFTkdUSCAgICA7IFcgbm93IGNhcnJpZXMgdGhlIHZp cnR1YWwgb3V0cHV0IHBvaW50ZXINCiAgICBtb3Z3ZiAgIHZpcnRfcG9pbnRlcl9vdXQNCg0KICAg IGFkZGx3ICAgaCdGRicgLSBSQU0xX0xFTkdUSCAgICAgICAgOyA8PSAweDUwPyBubyB0aGVuIGNh cnJ5IHNldA0KICAgIGJ0ZnNjICAgU1RBVFVTLCBDDQogICAgZ290byAgICBfZ29fb3V0YmFuazIN Cl9nb19vdXRiYW5rMQ0KICAgIG1vdmYgICAgdmlydF9wb2ludGVyX291dCwgdw0KICAgIGFkZGx3 ICAgUkFNMV9TVEFSVCAtIDEgICAgICAgIDsgYWRkIDB4MjAgKHZpcnQgYnVmZmVyIHN0YXJ0cyBh dCAxISApDQogICAgbW92d2YgICBwb2ludGVyX291dA0KICAgIHJldHVybg0KX2dvX291dGJhbmsy DQogICAgbW92ZiAgICB2aXJ0X3BvaW50ZXJfb3V0LCB3DQogICAgYWRkbHcgICBoJzUwJyAtIDEg ICAgICAgICAgICA7IHZpcnRfcG9pbnRlciA+IDB4NTAgLS0+IGFkZCAweDUwIGZvciBiYW5rMg0K ICAgIG1vdndmICAgcG9pbnRlcl9vdXQNCiAgICByZXR1cm4NCg0KDQoNClJlZ2FyZHMNCg0KQXJq ZW4NCg0KDQpJIGtub3cgbXkgbmFtZSBpbiB0aGUgbWFpbGFkZHJlcyBpcyBjb25mdXNpbmcg8J+Y gw0KLS0gCmh0dHA6Ly93d3cucGljbGlzdC5jb20vdGVjaHJlZi9waWNsaXN0IFBJQy9TWCBGQVEg JiBsaXN0IGFyY2hpdmUKVmlldy9jaGFuZ2UgeW91ciBtZW1iZXJzaGlwIG9wdGlvbnMgYXQKaHR0 cDovL21haWxtYW4ubWl0LmVkdS9tYWlsbWFuL2xpc3RpbmZvL3BpY2xpc3QK .