U29tZXRoaW5ncyBuYWdnaW5nID8/PwoKSG93IGFib3V0IGNvbm5lY3RpbmcgdGhlIGlubmVyIHRy YWNrcyB0byBncm91bmQsIHRoYXQgd2lsbCBjdXQgdGhlIGNyb3NzdGFsayBiZXR3ZWVuIHRoZSBv dXRlciBsYXllcnMuCgoKLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0KRnJvbTogcGljbGlzdC1i b3VuY2VzQG1pdC5lZHUgW21haWx0bzpwaWNsaXN0LWJvdW5jZXNAbWl0LmVkdV0gT24gQmVoYWxm IE9mIFZhbiBIb3JuLCBEYXZpZApTZW50OiAxOSBNYXJjaCAyMDE4IDE3OjExClRvOiBsb3VpanBA Z21haWwuY29tOyBNaWNyb2NvbnRyb2xsZXIgZGlzY3Vzc2lvbiBsaXN0IC0gUHVibGljLiA8cGlj bGlzdEBtaXQuZWR1PgpTdWJqZWN0OiBSRTogW0VFXSBtaW5pbWl6aW5nIGNhcGFjaXRhbmNlIGJl dHdlZW4gdHJhY2tzCgpSaWdodC4gIElmIEkgYXNzdW1lIHRoZSBtaWRkbGUgcGxhdGUgaXMgZXF1 aWRpc3RhbnQgKHByb2JhYmx5IG5vdCB0cnVlIGluIHJlYWwgbGlmZSkgdGhlbiB3ZSBnZXQgMkMg aW4gc2VyaWVzIHdpdGggMkMgZm9yIHRoZSBzYW1lIHZhbHVlLgpIb3dldmVyLCB0aGVyZSBhcmUg ZnJpbmdpbmcgZWZmZWN0cyBhdCB0aGUgZWRnZXMgb2YgYWxsIHRoZSBwbGF0ZXMsIGFuZCB0aGF0 IGNyZWF0ZXMgc29tZSBhZGRpdGlvbmFsIEMuClNvbWV0aGluZ+KAmXMgbmFnZ2luZyBhdCBtZSB0 aGF0IHRoZXJl4oCZcyBhIHdheSB0byByZWR1Y2UgdGhlIHRvdGFsIEMgYmV0d2VlbiB0aGUgb3V0 ZXIgcGxhdGVzLgoKSSBhbHNvIGhhdmUgdGhlIG9wdGlvbiBvZiB1c2luZyBhIGdyaWQgb2YgZG90 cyBhcyB0aGUgbWlkZGxlIOKAnHBsYXRl4oCdLgoKCkZyb206IGxvdWlqcEBnbWFpbC5jb20gPGxv dWlqcEBnbWFpbC5jb20+ClNlbnQ6IE1vbmRheSwgTWFyY2ggMTksIDIwMTggMTE6MDcgQU0KVG86 IE1pY3JvY29udHJvbGxlciBkaXNjdXNzaW9uIGxpc3QgLSBQdWJsaWMuIDxwaWNsaXN0QG1pdC5l ZHU+OyBWYW4gSG9ybiwgRGF2aWQgPGRhdmlkLnZhbmhvcm5AYmFja2NvdW50cnlhY2Nlc3MuY29t PjsgTWljcm9jb250cm9sbGVyIGRpc2N1c3Npb24gbGlzdCAtIFB1YmxpYy4gPHBpY2xpc3RAbWl0 LmVkdT4KU3ViamVjdDogUmU6IFtFRV0gbWluaW1pemluZyBjYXBhY2l0YW5jZSBiZXR3ZWVuIHRy YWNrcwoKRGF2aWQsClRoZSBmbG9hdGluZyBsYXllciBpcyBsaWtlIHR3byBjYXBhY2l0b3JzIGVs ZWN0cm9kZXMgY29ubmVjdGVkIGluIHNlcmllcy4gU28gbm93IHlvdSBnZXQgdHdvIGxhcmdlciBj YXBhY2l0b3JzIGluIHNlcmllcyBpbnN0ZWFkIG9mIGEgc2luZ2xlIG9uZS4KCk15ICQwLjAyCkpl YW4tUGF1bApOMUpQTApTZW50IGZyb20gWWFob28gTWFpbCBvbiBBbmRyb2lkPGh0dHBzOi8vb3Zl cnZpZXcubWFpbC55YWhvby5jb20vbW9iaWxlLz8uc3JjPUFuZHJvaWQ+CgpPbiBNb24sIE1hciAx OSwgMjAxOCBhdCAxMjo1MSBQTSwgVmFuIEhvcm4sIERhdmlkIDxkYXZpZC52YW5ob3JuQGJhY2tj b3VudHJ5YWNjZXNzLmNvbTxtYWlsdG86ZGF2aWQudmFuaG9ybkBiYWNrY291bnRyeWFjY2Vzcy5j b20+PiB3cm90ZToKCkEgZnVuIHRob3VnaHQ6CgpJIGhhdmUgYSBQQ0Igd2l0aCBzaXggbGF5ZXJz LiAgSSBhbSBsb29raW5nIGZvciB3YXlzIHRvIG1pbmltaXplIGNhcGFjaXRpdmUgY291cGxpbmcg YmV0d2VlbiB0cmFja3Mgb24gdGhlIHRvcCBhbmQgdHJhY2tzIG9uIHRoZSBib3R0b20uCgpJZiBJ IHRoaW5rIG9mIHRoZSB0cmFja3MgYXMgcGFyYWxsZWwgcGxhdGVzLCBhbmQgdGhlIFBDQiBhcyB0 aGUgZGllbGVjdHJpYywgdGhlbiB0aGF0IGdpdmVzIG1lIGEgY2VydGFpbiBDLCBhIGJpdCBiaWdn ZXIgdGhhbiBzdWdnZXN0ZWQgYnkgdGhlIGRpcmVjdGx5IG92ZXJsYXBwaW5nIGFyZWEuCgpOb3cg d2hhdCBoYXBwZW5zIGlmIEkgcHV0IGEgc21hbGwgY29wcGVyIGRvdCwgZmxvYXRpbmcsIGluIGxh eWVyIDMgb3IgND8gIEl0IHNlZW1zIGxpa2UgdGhpcyBzaG91bGQgY3JlYXRlIGEgc2VyaWVzIHBh aXIgb2YgY2FwYWNpdG9ycyBvZiBhYm91dCB0d2ljZSB0aGUgdmFsdWUsIGFuZCBubyBuZXQgY2hh bmdlLCBidXQgSSBrZWVwIHRoaW5raW5nIHRoYXQgdGhlIGVuZCByZXN1bHQgaGFzIHRvIGJlIGEg bGl0dGxlIGxlc3MgQyB0aGFuIHRoZSBmaXJzdCBjYXNlLgoKSXMgdGhlcmUgc29tZXRoaW5nIGZy ZWV3YXJlLWlzaCB0aGF0IEkgY2FuIHVzZSB0byBtb2RlbCBhIHRocmVlIChvciBtb3JlKSBwbGF0 ZSBjYXBhY2l0b3Igd2hlcmUgdGhlIG1pZGRsZSBwbGF0ZXMgYXJlIGZsb2F0aW5nPwoKCi0tCkRh dmlkIFZhbkhvcm4KTGVhZCBIYXJkd2FyZSBFbmdpbmVlcgoKQmFja2NvdW50cnkgQWNjZXNzLCBJ bmMuCjI4MjAgV2lsZGVybmVzcyBQbCwgVW5pdCBICkJvdWxkZXIsIENPICA4MDMwMSBVU0EKcGhv bmU6IDMwMy00MTctMTM0NSAgeDExMAplbWFpbDogZGF2aWQudmFuaG9ybkBiYWNrY291bnRyeWFj Y2Vzcy5jb208bWFpbHRvOmRhdmlkLnZhbmhvcm5AYmFja2NvdW50cnlhY2Nlc3MuY29tPjxtYWls dG86ZGF2aWQudmFuaG9ybkBiYWNrY291bnRyeWFjY2Vzcy5jb208bWFpbHRvOmRhdmlkLnZhbmhv cm5AYmFja2NvdW50cnlhY2Nlc3MuY29tPj4KCi0tCmh0dHA6Ly93d3cucGljbGlzdC5jb20vdGVj aHJlZi9waWNsaXN0IDxodHRwOi8vd3d3LnBpY2xpc3QuY29tL3RlY2hyZWYvcGljbGlzdCUyMD4g UElDL1NYIEZBUSAmIGxpc3QgYXJjaGl2ZSBWaWV3L2NoYW5nZSB5b3VyIG1lbWJlcnNoaXAgb3B0 aW9ucyBhdCBodHRwOi8vbWFpbG1hbi5taXQuZWR1L21haWxtYW4vbGlzdGluZm8vcGljbGlzdAot LQpodHRwOi8vd3d3LnBpY2xpc3QuY29tL3RlY2hyZWYvcGljbGlzdCBQSUMvU1ggRkFRICYgbGlz dCBhcmNoaXZlIFZpZXcvY2hhbmdlIHlvdXIgbWVtYmVyc2hpcCBvcHRpb25zIGF0IGh0dHA6Ly9t YWlsbWFuLm1pdC5lZHUvbWFpbG1hbi9saXN0aW5mby9waWNsaXN0CgotLSAKaHR0cDovL3d3dy5w aWNsaXN0LmNvbS90ZWNocmVmL3BpY2xpc3QgUElDL1NYIEZBUSAmIGxpc3QgYXJjaGl2ZQpWaWV3 L2NoYW5nZSB5b3VyIG1lbWJlcnNoaXAgb3B0aW9ucyBhdApodHRwOi8vbWFpbG1hbi5taXQuZWR1 L21haWxtYW4vbGlzdGluZm8vcGljbGlzdAo= .