VGhlIGZvbGxvd2luZyBwZW9wbGUgKGluIGFscGhhYmV0aWNhbCBvcmRlcikgaGF2ZSBjb250cmlidXRlZCB0byB0aGUKZGV2ZWxvcG1lbnQgYW5kIHBvcnRzIG9mIHRoZSBYTUw0QyBzb3VyY2UgY29kZSwgd2hpY2ggd2FzIHN1Ym1pdHRlZCB0bwp0aGUgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24uCgoKTmFkYXYgQWhhcm9uaQpDdXJ0IEFybm9sZApFZHdhcmQgQXZpcwpBbnVwYW0gQmFnY2hpClRvcmJq9nJuIELkY2tzdHL2bQpBYmUgQmFja3VzCkZyYW5rIEJhbGx1ZmZpCk1hdHRoZXcgQmFrZXIKRGV2aW4gQmFybmhhcnQKSmFtZXMgQmVycnkKRGF2aWQgQmVydG9uaQpKb2huIEJlbGxhcmRvCkFydW5kaGF0aSBCaG93bWljawpFZHdhcmQgQm9ydG5lcgpTZWFuIEJyaWdodApQaGlsIEJyb3duClJvYmVydCBCdWNrClN1bWl0IENoYXdsYQpOaWNrIENoaWFuZwpDaGloIEhzaWFuZyBDaG91ClJhZG92YW4gQ2h5dHJhY2VrCkhpcmFtIENsYXdzb24KSm9obiBDbGF5dG9uCk5hdGhhbiBDb2RkaW5nClRvZGQgQ29sbGlucwpNaWNoYWVsIENyYXdmb3JkCk11cnJheSBDdW1taW5nClplaWQgRGVyaGFsbHkKSmFtZXMgRGV2cmllcwpBaWxpYW4gRGluZwpIZWxtdXQgRWlrZW4KTWFyayBFdmVybGluZQpTaW1vbiBGZWxsClBhdWwgRmVyZ3Vzb24KUGllcnBhb2xvIEZ1bWFnYWxsaQpHdWlkbyBHYWdsaWFyZGkKR2FyeSBHYWxlCk5hdGFsaWUgR29yZGVuCk1heCBHb3RsaWIKUGV0ciBHb3R0aGFyZApOZWlsIEdyYWhhbQpTdXNhbiBIYXJkZW5icm9vawpKZWZmIEhhcnJlbGwKQW5kcmV3IEhlZmZvcmQKQW5keSBIZW5pbmdlcgpXaWxsaWFtIEwuIEhvcHBlcgpNaWNoYWVsIEh1ZWRlcG9obApSYWh1bCBKYWluClRvbSBKb3JkYWhsCkNocmlzdG9waGVyIEp1c3QKTWFydGluIEthbGVuCkpvZSBLZXNzZWxtYW4KQXJ0dXIgS2xhdXNlcgpCb2IgS2xpbmUKUmljaGFyZCBLbwpQYXVsIEtyYW1lcgpWb2xrZXIgS3JhdXNlCkJlcmluIExhdXRlbmJhY2gKQXJuYXVkIExlSG9ycwpBbmR5IExldmluZQpKZWZmIExld2lzClBlZHJvIExvcGVzCk1hdHQgTG92ZXR0ClNlYW4gTWFjUm9pYmVhaXJkCkFsYmVydG8gTWFzc2FyaQpEb24gTWFzdHJvdml0bwpEYXZpZCBNY0NyZWVkeQpVcnMgTXVmZgpKb3JkYW4gTmFmdG9saW4KVGlubnkgTmcKRGF2aWQgTmlja2Vyc29uCktoYWxlZCBOb2FtYW4KTWljaGFlbCBPdHRhdGkKS2V2aW4gUGhpbGlwcwpNaWtlIFBvZ3VlCkpvZSBQb2xhc3RyZQpKb2huIFBvbnpvClNoZW5na2FpIFF1CkdhcmV0aCBSZWFrZXMKSmltIFJlaXR6CkNhcm9saW5lIFJpb3V4CkRlYW4gUm9kZGV5CkpvaG4gUm9wZXIKU3RldmVuIFJvc2VudGhhbApFcmlrIFJ5ZGdyZW4KQmlsbCBTY2hpbmRsZXIKRXJpayBTY2hyb2VkZXIKQ2hyaXN0aWFuIFNjaHVoZWdnZXIKSm9obiBTbWlybApBbmRyZWkgU21pcm5vdgpHZXJlb24gU3RlZmZlbnMKSmFzb24gU3Rld2FydApSaWNrIEouIFN0ZXZlbnMKUm9tYW4gU3Vsemh5awpWYXNpbHkgVGNoZWthbGtpbgpMaW5kYSBNLiBTd2FuClBpZXRlciBWYW4tRHljawpDdXJ0aXMgV2Fsa2VyClRvbSBXYXRzb24KSm9obiBXYXJyaWVyCk1hcmsgV2VhdmVyClJvZ2VyIFdlYnN0ZXIKUm9iZXJ0IFdlaXIKQ2Fyb2x5biBXZWlzcwpLYXJpIFdoaXRjb21iCkRpZXRyaWNoIFdvbGYKS2lyayBXeWxpZQpQZXRlciBBLiBWb2xjaGVrCkdyYWNlIFlhbgpIaXJhbWF0c3UgWW9zaGlmdW1pClBlaVlvbmcgWmhhbmcKSGVucnkgWm9uZ2Fybwo=