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ZMYAZJsANmTHAGSeADZaIwBSUyjIAAAAc7sOAABIVFRQIHJlcXVlc3QgaGFuZGxlciBiYXNlIGNsYXNzLgoKICAgIFRoZSBmb2xsb3dpbmcgZXhwbGFuYXRpb24gb2YgSFRUUCBzZXJ2ZXMgdG8gZ3VpZGUgeW91IHRocm91Z2ggdGhlCiAgICBjb2RlIGFzIHdlbGwgYXMgdG8gZXhwb3NlIGFueSBtaXN1bmRlcnN0YW5kaW5ncyBJIG1heSBoYXZlIGFib3V0CiAgICBIVFRQIChzbyB5b3UgZG9uJ3QgbmVlZCB0byByZWFkIHRoZSBjb2RlIHRvIGZpZ3VyZSBvdXQgSSdtIHdyb25nCiAgICA6LSkuCgogICAgSFRUUCAoSHlwZXJUZXh0IFRyYW5zZmVyIFByb3RvY29sKSBpcyBhbiBleHRlbnNpYmxlIHByb3RvY29sIG9uCiAgICB0b3Agb2YgYSByZWxpYWJsZSBzdHJlYW0gdHJhbnNwb3J0IChlLmcuIFRDUC9JUCkuICBUaGUgcHJvdG9jb2wKICAgIHJlY29nbml6ZXMgdGhyZWUgcGFydHMgdG8gYSByZXF1ZXN0OgoKICAgIDEuIE9uZSBsaW5lIGlkZW50aWZ5aW5nIHRoZSByZXF1ZXN0IHR5cGUgYW5kIHBhdGgKICAgIDIuIEFuIG9wdGlvbmFsIHNldCBvZiBSRkMtODIyLXN0eWxlIGhlYWRlcnMKICAgIDMuIEFuIG9wdGlvbmFsIGRhdGEgcGFydAoKICAgIFRoZSBoZWFkZXJzIGFuZCBkYXRhIGFyZSBzZXBhcmF0ZWQgYnkgYSBibGFuayBsaW5lLgoKICAgIFRoZSBmaXJzdCBsaW5lIG9mIHRoZSByZXF1ZXN0IGhhcyB0aGUgZm9ybQoKICAgIDxjb21tYW5kPiA8cGF0aD4gPHZlcnNpb24+CgogICAgd2hlcmUgPGNvbW1hbmQ+IGlzIGEgKGNhc2Utc2Vuc2l0aXZlKSBrZXl3b3JkIHN1Y2ggYXMgR0VUIG9yIFBPU1QsCiAgICA8cGF0aD4gaXMgYSBzdHJpbmcgY29udGFpbmluZyBwYXRoIGluZm9ybWF0aW9uIGZvciB0aGUgcmVxdWVzdCwKICAgIGFuZCA8dmVyc2lvbj4gc2hvdWxkIGJlIHRoZSBzdHJpbmcgIkhUVFAvMS4wIiBvciAiSFRUUC8xLjEiLgogICAgPHBhdGg+IGlzIGVuY29kZWQgdXNpbmcgdGhlIFVSTCBlbmNvZGluZyBzY2hlbWUgKHVzaW5nICV4eCB0byBzaWduaWZ5CiAgICB0aGUgQVNDSUkgY2hhcmFjdGVyIHdpdGggaGV4IGNvZGUgeHgpLgoKICAgIFRoZSBzcGVjaWZpY2F0aW9uIHNwZWNpZmllcyB0aGF0IGxpbmVzIGFyZSBzZXBhcmF0ZWQgYnkgQ1JMRiBidXQKICAgIGZvciBjb21wYXRpYmlsaXR5IHdpdGggdGhlIHdpZGVzdCByYW5nZSBvZiBjbGllbnRzIHJlY29tbWVuZHMKICAgIHNlcnZlcnMgYWxzbyBoYW5kbGUgTEYuICBTaW1pbGFybHksIHdoaXRlc3BhY2UgaW4gdGhlIHJlcXVlc3QgbGluZQogICAgaXMgdHJlYXRlZCBzZW5zaWJseSAoYWxsb3dpbmcgbXVsdGlwbGUgc3BhY2VzIGJldHdlZW4gY29tcG9uZW50cwogICAgYW5kIGFsbG93aW5nIHRyYWlsaW5nIHdoaXRlc3BhY2UpLgoKICAgIFNpbWlsYXJseSwgZm9yIG91dHB1dCwgbGluZXMgb3VnaHQgdG8gYmUgc2VwYXJhdGVkIGJ5IENSTEYgcGFpcnMKICAgIGJ1dCBtb3N0IGNsaWVudHMgZ3JvayBMRiBjaGFyYWN0ZXJzIGp1c3QgZmluZS4KCiAgICBJZiB0aGUgZmlyc3QgbGluZSBvZiB0aGUgcmVxdWVzdCBoYXMgdGhlIGZvcm0KCiAgICA8Y29tbWFuZD4gPHBhdGg+CgogICAgKGkuZS4gPHZlcnNpb24+IGlzIGxlZnQgb3V0KSB0aGVuIHRoaXMgaXMgYXNzdW1lZCB0byBiZSBhbiBIVFRQCiAgICAwLjkgcmVxdWVzdDsgdGhpcyBmb3JtIGhhcyBubyBvcHRpb25hbCBoZWFkZXJzIGFuZCBkYXRhIHBhcnQgYW5kCiAgICB0aGUgcmVwbHkgY29uc2lzdHMgb2YganVzdCB0aGUgZGF0YS4KCiAgICBUaGUgcmVwbHkgZm9ybSBvZiB0aGUgSFRUUCAxLnggcHJvdG9jb2wgYWdhaW4gaGFzIHRocmVlIHBhcnRzOgoKICAgIDEuIE9uZSBsaW5lIGdpdmluZyB0aGUgcmVzcG9uc2UgY29kZQogICAgMi4gQW4gb3B0aW9uYWwgc2V0IG9mIFJGQy04MjItc3R5bGUgaGVhZGVycwogICAgMy4gVGhlIGRhdGEKCiAgICBBZ2FpbiwgdGhlIGhlYWRlcnMgYW5kIGRhdGEgYXJlIHNlcGFyYXRlZCBieSBhIGJsYW5rIGxpbmUuCgogICAgVGhlIHJlc3BvbnNlIGNvZGUgbGluZSBoYXMgdGhlIGZvcm0KCiAgICA8dmVyc2lvbj4gPHJlc3BvbnNlY29kZT4gPHJlc3BvbnNlc3RyaW5nPgoKICAgIHdoZXJlIDx2ZXJzaW9uPiBpcyB0aGUgcHJvdG9jb2wgdmVyc2lvbiAoIkhUVFAvMS4wIiBvciAiSFRUUC8xLjEiKSwKICAgIDxyZXNwb25zZWNvZGU+IGlzIGEgMy1kaWdpdCByZXNwb25zZSBjb2RlIGluZGljYXRpbmcgc3VjY2VzcyBvcgogICAgZmFpbHVyZSBvZiB0aGUgcmVxdWVzdCwgYW5kIDxyZXNwb25zZXN0cmluZz4gaXMgYW4gb3B0aW9uYWwKICAgIGh1bWFuLXJlYWRhYmxlIHN0cmluZyBleHBsYWluaW5nIHdoYXQgdGhlIHJlc3BvbnNlIGNvZGUgbWVhbnMuCgogICAgVGhpcyBzZXJ2ZXIgcGFyc2VzIHRoZSByZXF1ZXN0IGFuZCB0aGUgaGVhZGVycywgYW5kIHRoZW4gY2FsbHMgYQogICAgZnVuY3Rpb24gc3BlY2lmaWMgdG8gdGhlIHJlcXVlc3QgdHlwZSAoPGNvbW1hbmQ+KS4gIFNwZWNpZmljYWxseSwKICAgIGEgcmVxdWVzdCBTUEFNIHdpbGwgYmUgaGFuZGxlZCBieSBhIG1ldGhvZCBkb19TUEFNKCkuICBJZiBubwogICAgc3VjaCBtZXRob2QgZXhpc3RzIHRoZSBzZXJ2ZXIgc2VuZHMgYW4gZXJyb3IgcmVzcG9uc2UgdG8gdGhlCiAgICBjbGllbnQuICBJZiBpdCBleGlzdHMsIGl0IGlzIGNhbGxlZCB3aXRoIG5vIGFyZ3VtZW50czoKCiAgICBkb19TUEFNKCkKCiAgICBOb3RlIHRoYXQgdGhlIHJlcXVlc3QgbmFtZSBpcyBjYXNlIHNlbnNpdGl2ZSAoaS5lLiBTUEFNIGFuZCBzcGFtCiAgICBhcmUgZGlmZmVyZW50IHJlcXVlc3RzKS4KCiAgICBUaGUgdmFyaW91cyByZXF1ZXN0IGRldGFpbHMgYXJlIHN0b3JlZCBpbiBpbnN0YW5jZSB2YXJpYWJsZXM6CgogICAgLSBjbGllbnRfYWRkcmVzcyBpcyB0aGUgY2xpZW50IElQIGFkZHJlc3MgaW4gdGhlIGZvcm0gKGhvc3QsCiAgICBwb3J0KTsKCiAgICAtIGNvbW1hbmQsIHBhdGggYW5kIHZlcnNpb24gYXJlIHRoZSBicm9rZW4tZG93biByZXF1ZXN0IGxpbmU7CgogICAgLSBoZWFkZXJzIGlzIGFuIGluc3RhbmNlIG9mIG1pbWV0b29scy5NZXNzYWdlIChvciBhIGRlcml2ZWQKICAgIGNsYXNzKSBjb250YWluaW5nIHRoZSBoZWFkZXIgaW5mb3JtYXRpb247CgogICAgLSByZmlsZSBpcyBhIGZpbGUgb2JqZWN0IG9wZW4gZm9yIHJlYWRpbmcgcG9zaXRpb25lZCBhdCB0aGUKICAgIHN0YXJ0IG9mIHRoZSBvcHRpb25hbCBpbnB1dCBkYXRhIHBhcnQ7CgogICAgLSB3ZmlsZSBpcyBhIGZpbGUgb2JqZWN0IG9wZW4gZm9yIHdyaXRpbmcuCgogICAgSVQgSVMgSU1QT1JUQU5UIFRPIEFESEVSRSBUTyBUSEUgUFJPVE9DT0wgRk9SIFdSSVRJTkchCgogICAgVGhlIGZpcnN0IHRoaW5nIHRvIGJlIHdyaXR0ZW4gbXVzdCBiZSB0aGUgcmVzcG9uc2UgbGluZS4gIFRoZW4KICAgIGZvbGxvdyAwIG9yIG1vcmUgaGVhZGVyIGxpbmVzLCB0aGVuIGEgYmxhbmsgbGluZSwgYW5kIHRoZW4gdGhlCiAgICBhY3R1YWwgZGF0YSAoaWYgYW55KS4gIFRoZSBtZWFuaW5nIG9mIHRoZSBoZWFkZXIgbGluZXMgZGVwZW5kcyBvbgogICAgdGhlIGNvbW1hbmQgZXhlY3V0ZWQgYnkgdGhlIHNlcnZlcjsgaW4gbW9zdCBjYXNlcywgd2hlbiBkYXRhIGlzCiAgICByZXR1cm5lZCwgdGhlcmUgc2hvdWxkIGJlIGF0IGxlYXN0IG9uZSBoZWFkZXIgbGluZSBvZiB0aGUgZm9ybQoKICAgIENvbnRlbnQtdHlwZTogPHR5cGU+LzxzdWJ0eXBlPgoKICAgIHdoZXJlIDx0eXBlPiBhbmQgPHN1YnR5cGU+IHNob3VsZCBiZSByZWdpc3RlcmVkIE1JTUUgdHlwZXMsCiAgICBlLmcuICJ0ZXh0L2h0bWwiIG9yICJ0ZXh0L3BsYWluIi4KCiAgICBzBwAAAFB5dGhvbi9pAAAAAHMJAAAAQmFzZUhUVFAvcwgAAABIVFRQLzAuOWMBAAAACQAAAAYAAABDAAAAc4ICAABkFgB8AABfAQB8AABqAgAEfAAAXwMAfQEAZAEAfAAAXwQAfAAAagUAfQIAfAIAagYAZAIAgwEAfQIAfAIAfAAAXwcAfAIAaggAgwAAfQMAdAkAfAMAgwEAZAMAawIAcnkBfAMAXAMAfQQAfQUAfQEAfAEAZAQAIGQFAGsDAHKYAHwAAGoKAGQGAGQHAHwBABaDAgABdAsAU3lkAHwBAGoIAGQIAGQBAIMCAGQBABl9BgB8BgBqCABkCQCDAQB9BwB0CQB8BwCDAQBkCgBrAwBy2wB0DACCAQBuAAB0DQB8BwBkCwAZgwEAdA0AfAcAZAEAGYMBAGYCAH0HAFduLAAEdAwAdA4AZgIAawoAcioBAQEBfAAAagoAZAYAZAcAfAEAFoMCAAF0CwBTWHwHAGQXAGsFAHJSAXwAAGoPAGQMAGsFAHJSAWQLAHwAAF8EAG4AAHwHAGQYAGsFAHLpAXwAAGoKAGQNAGQOAHwGABaDAgABdAsAU25wAHQJAHwDAIMBAGQKAGsCAHLHAXwDAFwCAH0EAH0FAGQBAHwAAF8EAHwEAGQPAGsDAHLpAXwAAGoKAGQGAGQQAHwEABaDAgABdAsAU24iAHwDAHPRAXQLAFN8AABqCgBkBgBkEQB8AgAWgwIAAXQLAFN8BAB8BQB8AQADAnwAAF8BAHwAAF8QAHwAAF8DAHwAAGoRAHwAAGoSAGQLAIMCAHwAAF8TAHwAAGoTAGoUAGQSAGQTAIMCAH0IAHwIAGoVAIMAAGQUAGsCAHJRAmQBAHwAAF8EAG4tAHwIAGoVAIMAAGQVAGsCAHJ+AnwAAGoPAGQMAGsFAHJ+AmQLAHwAAF8EAG4AAHQWAFMoGQAAAHMnAQAAUGFyc2UgYSByZXF1ZXN0IChpbnRlcm5hbCkuCgogICAgICAgIFRoZSByZXF1ZXN0IHNob3VsZCBiZSBzdG9yZWQgaW4gc2VsZi5yYXdfcmVxdWVzdGxpbmU7IHRoZSByZXN1bHRzCiAgICAgICAgYXJlIGluIHNlbGYuY29tbWFuZCwgc2VsZi5wYXRoLCBzZWxmLnJlcXVlc3RfdmVyc2lvbiBhbmQKICAgICAgICBzZWxmLmhlYWRlcnMuCgogICAgICAgIFJldHVybiBUcnVlIGZvciBzdWNjZXNzLCBGYWxzZSBmb3IgZmFpbHVyZTsgb24gZmFpbHVyZSwgYW4KICAgICAgICBlcnJvciBpcyBzZW50IGJhY2suCgogICAgICAgIGkBAAAAcwIAAAANCmkDAAAAaQUAAABzBQAAAEhUVFAvaZABAABzGAAAAEJhZCByZXF1ZXN0IHZlcnNpb24gKCVyKXQBAAAAL3QBAAAALmkCAAAAaQAAAABzCAAAAEhUVFAvMS4xafkBAABzGQAAAEludmFsaWQgSFRUUCBWZXJzaW9uICglcyl0AwAAAEdFVHMeAAAAQmFkIEhUVFAvMC45IHJlcXVlc3QgdHlwZSAoJXIpcxcAAABCYWQgcmVxdWVzdCBzeW50YXggKCVyKXQKAAAAQ29ubmVjdGlvbnQAAAAAdAUAAABjbG9zZXMKAAAAa2VlcC1hbGl2ZU4oAgAAAGkBAAAAaQEAAAAoAgAAAGkCAAAAaQAAAAAoFwAAAHQEAAAATm9uZXQHAAAAY29tbWFuZHQXAAAAZGVmYXVsdF9yZXF1ZXN0X3ZlcnNpb250DwAAAHJlcXVlc3RfdmVyc2lvbnQQAAAAY2xvc2VfY29ubmVjdGlvbnQPAAAAcmF3X3JlcXVlc3RsaW5ldAYAAAByc3RyaXB0CwAAAHJlcXVlc3RsaW5ldAUAAABzcGxpdHQDAAAAbGVudAoAAABzZW5kX2Vycm9ydAUAAABGYWxzZXQKAAAAVmFsdWVFcnJvcnQDAAAAaW50dAoAAABJbmRleEVycm9ydBAAAABwcm90b2NvbF92ZXJzaW9udAQAAABwYXRodAwAAABNZXNzYWdlQ2xhc3N0BQAAAHJmaWxldAcAAABoZWFkZXJzdAMAAABnZXR0BQAA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AwAAAE5vdnQDAAAARGVjYwEAAAADAAAAAgAAAEMAAABzIAAAAHwAAGoAAGQBACBcAgB9AQB9AgB0AQBqAgB8AQCDAQBTKAIAAABzwwAAAFJldHVybiB0aGUgY2xpZW50IGFkZHJlc3MgZm9ybWF0dGVkIGZvciBsb2dnaW5nLgoKICAgICAgICBUaGlzIHZlcnNpb24gbG9va3MgdXAgdGhlIGZ1bGwgaG9zdG5hbWUgdXNpbmcgZ2V0aG9zdGJ5YWRkcigpLAogICAgICAgIGFuZCB0cmllcyB0byBmaW5kIGEgbmFtZSB0aGF0IGNvbnRhaW5zIGF0IGxlYXN0IG9uZSBkb3QuCgogICAgICAgIGkCAAAAKAMAAABSaAAAAFIOAAAAUhAAAAAoAwAAAFITAAAAUhQAAABSFQAAACgAAAAAKAAAAABzVQAAAC9idWlsZGJvdC90bXAvYnVpbGRob3N0L2luc3RhbGwvcHJlYnVpbHQvbGludXgteDg2XzY0L2xpYi9weXRob24yLjcvQmFzZUhUVFBTZXJ2ZXIucHl0DgAAAGFkZHJlc3Nfc3RyaW5n6QEAAHMEAAAAAAgTAXMIAAAASFRUUC8xLjB0CAAAAENvbnRpbnVlcyEAAABSZXF1ZXN0IHJlY2VpdmVkLCBwbGVhc2UgY29udGludWVpZAAAAHMTAAAAU3dpdGNoaW5nIFByb3RvY29sc3MuAAAAU3dpdGNoaW5nIHRvIG5ldyBwcm90b2NvbDsgb2JleSBVcGdyYWRlIGhlYWRlcmllAAAAdAIAAABPS3MjAAAAUmVxdWVzdCBmdWxmaWxsZWQsIGRvY3VtZW50IGZvbGxvd3NpyAAAAHQHAAAAQ3JlYXRlZHMdAAAARG9jdW1lbnQgY3JlYXRlZCwgVVJMIGZvbGxvd3NpyQAAAHQIAAAAQWNjZXB0ZWRzLwAAAFJlcXVlc3QgYWNjZXB0ZWQsIHByb2Nlc3NpbmcgY29udGludWVzIG9mZi1saW5lacoAAABzHQAAAE5vbi1BdXRob3JpdGF0aXZlIEluZm9ybWF0aW9ucxwAAABSZXF1ZXN0IGZ1bGZpbGxlZCBmcm9tIGNhY2hlacsAAABzCgAAAE5vIENvbnRlbnRzIgAAAFJlcXVlc3QgZnVsZmlsbGVkLCBub3RoaW5nIGZvbGxvd3NpzAAAAHMNAAAAUmVzZXQgQ29udGVudHMjAAAAQ2xlYXIgaW5wdXQgZm9ybSBmb3IgZnVydGhlciBpbnB1dC5pzQAAAHMPAAAAUGFydGlhbCBDb250ZW50cxgAAABQYXJ0aWFsIGNvbnRlbnQgZm9sbG93cy5pzgAAAHMQAAAATXVsdGlwbGUgQ2hvaWNlc3MsAAAAT2JqZWN0IGhhcyBzZXZlcmFsIHJlc291cmNlcyAtLSBzZWUgVVJJIGxpc3RpLAEAAHMRAAAATW92ZWQgUGVybWFuZW50bHlzKAAAAE9iamVjdCBtb3ZlZCBwZXJtYW5lbnRseSAtLSBzZWUgVVJJIGxpc3RpLQEAAHQFAAAARm91bmRzKAAAAE9iamVjdCBtb3ZlZCB0ZW1wb3JhcmlseSAtLSBzZWUgVVJJIGxpc3RpLgEAAHMJAAAAU2VlIE90aGVycycAAABPYmplY3QgbW92ZWQgLS0gc2VlIE1ldGhvZCBhbmQgVVJMIGxpc3RpLwEAAHMMAAAATm90IE1vZGlmaWVkcykAAABEb2N1bWVudCBoYXMgbm90IGNoYW5nZWQgc2luY2UgZ2l2ZW4gdGltZWkwAQAAcwkAAABVc2UgUHJveHlzQQAAAFlvdSBtdXN0IHVzZSBwcm94eSBzcGVjaWZpZWQgaW4gTG9jYXRpb24gdG8gYWNjZXNzIHRoaXMgcmVzb3VyY2UuaTEBAABzEgAAAFRlbXBvcmFyeSBSZWRpcmVjdGkzAQAAcwsAAABCYWQgUmVxdWVzdHMoAAAAQmFkIHJlcXVlc3Qgc3ludGF4IG9yIHVuc3VwcG9ydGVkIG1ldGhvZGmQAQAAdAwAAABVbmF1dGhvcml6ZWRzKgAAAE5vIHBlcm1pc3Npb24gLS0gc2VlIGF1dGhvcml6YXRpb24gc2NoZW1lc2mRAQAAcxAAAABQYXltZW50IFJlcXVpcmVkcyIAAABObyBwYXltZW50IC0tIHNlZSBjaGFyZ2luZyBzY2hlbWVzaZIBAAB0CQAAAEZvcmJpZGRlbnMwAAAAUmVxdWVzdCBmb3JiaWRkZW4gLS0gYXV0aG9yaXphdGlvbiB3aWxsIG5vdCBoZWxwaZMBAABzCQAAAE5vdCBGb3VuZHMdAAAATm90aGluZyBtYXRjaGVzIHRoZSBnaXZlbiBVUklplAEAAHMSAAAATWV0aG9kIE5vdCBBbGxvd2Vkcy4AAABTcGVjaWZpZWQgbWV0aG9kIGlzIGludmFsaWQgZm9yIHRoaXMgcmVzb3VyY2UuaZUBAABzDgAAAE5vdCBBY2NlcHRhYmxlcyYAAABVUkkgbm90IGF2YWlsYWJsZSBpbiBwcmVmZXJyZWQgZm9ybWF0LmmWAQAAcx0AAABQcm94eSBBdXRoZW50aWNhdGlvbiBSZXF1aXJlZHM4AAAAWW91IG11c3QgYXV0aGVudGljYXRlIHdpdGggdGhpcyBwcm94eSBiZWZvcmUgcHJvY2VlZGluZy5plwEAAHMPAAAAUmVxdWVzdCBUaW1lb3V0cyMAAABSZXF1ZXN0IHRpbWVkIG91dDsgdHJ5IGFnYWluIGxhdGVyLmmYAQAAdAgAAABDb25mbGljdHMRAAAAUmVxdWVzdCBjb25mbGljdC5pmQEAAHQEAAAAR29uZXM2AAAAVVJJIG5vIGxvbmdlciBleGlzdHMgYW5kIGhhcyBiZWVuIHBlcm1hbmVudGx5IHJlbW92ZWQuaZoBAABzDwAAAExlbmd0aCBSZXF1aXJlZHMjAAAAQ2xpZW50IG11c3Qgc3BlY2lmeSBDb250ZW50LUxlbmd0aC5pmwEAAHMTAAAAUHJlY29uZGl0aW9uIEZhaWxlZHMhAAAAUHJlY29uZGl0aW9uIGluIGhlYWRlcnMgaXMgZmFsc2UuaZwBAABzGAAAAFJlcXVlc3QgRW50aXR5IFRvbyBMYXJnZXMUAAAARW50aXR5IGlzIHRvbyBsYXJnZS5pnQEAAHMUAAAAUmVxdWVzdC1VUkkgVG9vIExvbmdzEAAAAFVSSSBpcyB0b28gbG9uZy5pngEAAHMWAAAAVW5zdXBwb3J0ZWQgTWVkaWEgVHlwZXMiAAAARW50aXR5IGJvZHkgaW4gdW5zdXBwb3J0ZWQgZm9ybWF0LmmfAQAAcx8AAABSZXF1ZXN0ZWQgUmFuZ2UgTm90IFNhdGlzZmlhYmxlcx0AAABDYW5ub3Qgc2F0aXNmeSByZXF1ZXN0IHJhbmdlLmmgAQAAcxIAAABFeHBlY3RhdGlvbiBGYWlsZWRzKAAAAEV4cGVjdCBjb25kaXRpb24gY291bGQgbm90IGJlIHNhdGlzZmllZC5poQEAAHMVAAAASW50ZXJuYWwgU2VydmVyIEVycm9ycxwAAABTZXJ2ZXIgZ290IGl0c2VsZiBpbiB0cm91YmxlafQBAABzDwAAAE5vdCBJbXBsZW1lbnRlZHMmAAAAU2VydmVyIGRvZXMgbm90IHN1cHBvcnQgdGhpcyBvcGVyYXRpb25p9QEAAHMLAAAAQmFkIEdhdGV3YXlzLAAAAEludmFsaWQgcmVzcG9uc2VzIGZyb20gYW5vdGhlciBzZXJ2ZXIvcHJveHkuafYBAABzEwAAAFNlcnZpY2UgVW5hdmFpbGFibGVzOAAAAFRoZSBzZXJ2ZXIgY2Fubm90IHByb2Nlc3MgdGhlIHJlcXVlc3QgZHVlIHRvIGEgaGlnaCBsb2FkafcBAABzDwAAAEdhdGV3YXkgVGltZW91dHM0AAAAVGhlIGdhdGV3YXkgc2VydmVyIGRpZCBub3QgcmVjZWl2ZSBhIHRpbWVseSByZXNwb25zZWn4AQAAcxoAAABIVFRQIFZlcnNpb24gTm90IFN1cHBvcnRlZHMXAAAAQ2Fubm90IGZ1bGZpbGwgcmVxdWVzdC5p+QEAAE4oAgAAAFKTAAAAcyEAAABSZXF1ZXN0IHJlY2VpdmVkLCBwbGVhc2UgY29udGludWUoAgAAAHMTAAAAU3dpdGNoaW5nIFByb3RvY29sc3MuAAAAU3dpdGNoaW5nIHRvIG5ldyBwcm90b2NvbDsgb2JleSBVcGdyYWRlIGhlYWRlcigCAAAAUpQAAABzIwAAAFJlcXVlc3QgZnVsZmlsbGVkLCBkb2N1bWVudCBmb2xsb3dzKAIAAABSlQAAAHMdAAAARG9jdW1lbnQgY3JlYXRlZCwgVVJMIGZvbGxvd3MoAgAAAFKWAAAAcy8AAABSZXF1ZXN0IGFjY2VwdGVkLCBwcm9jZXNzaW5nIGNvbnRpbnVlcyBvZmYtbGluZSgCAAAAcx0AAABOb24tQXV0aG9yaXRhdGl2ZSBJbmZvcm1hdGlvbnMcAAAAUmVxdWVzdCBmdWxmaWxsZWQgZnJvbSBjYWNoZSgCAAAAcwoAAABObyBDb250ZW50cyIAAABSZXF1ZXN0IGZ1bGZpbGxlZCwgbm90aGluZyBmb2xsb3dzKAIAAABzDQAAAFJlc2V0IENvbnRlbnRzIwAAAENsZWFyIGlucHV0IGZvcm0gZm9yIGZ1cnRoZXIgaW5wdXQuKAIAAABzDwAAAFBhcnRpYWwgQ29udGVudHMYAAAAUGFydGlhbCBjb250ZW50IGZvbGxvd3MuKAIAAABzEAAAAE11bHRpcGxlIENob2ljZXNzLAAAAE9iamVjdCBoYXMgc2V2ZXJhbCByZXNvdXJjZXMgLS0gc2VlIFVSSSBsaXN0KAIAAABzEQAAAE1vdmVkIFBlcm1hbmVudGx5cygAAABPYmplY3QgbW92ZWQgcGVybWFuZW50bHkgLS0gc2VlIFVSSSBsaXN0KAIAAABSlwAAAHMoAAAAT2JqZWN0IG1vdmVkIHRlbXBvcmFyaWx5IC0tIHNlZSBVUkkgbGlzdCgCAAAAcwkAAABTZWUgT3RoZXJzJwAAAE9iamVjdCBtb3ZlZCAtLSBzZWUgTWV0aG9kIGFuZCBVUkwgbGlzdCgCAAAAcwwAAABOb3QgTW9kaWZpZWRzKQAAAERvY3VtZW50IGhhcyBub3QgY2hhbmdlZCBzaW5jZSBnaXZlbiB0aW1lKAIAAABzCQAAAFVzZSBQcm94eXNBAAAAWW91IG11c3QgdXNlIHByb3h5IHNwZWNpZmllZCBpbiBMb2NhdGlvbiB0byBhY2Nlc3MgdGhpcyByZXNvdXJjZS4oAgAAAHMSAAAAVGVtcG9yYXJ5IFJlZGlyZWN0cygAAABPYmplY3QgbW92ZWQgdGVtcG9yYXJpbHkgLS0gc2VlIFVSSSBsaXN0KAIAAABzCwAAAEJhZCBSZXF1ZXN0cygAAABCYWQgcmVxdWVzdCBzeW50YXggb3IgdW5zdXBwb3J0ZWQgbWV0aG9kKAIAAABSmAAAAHMqAAAATm8gcGVybWlzc2lvbiAtLSBzZWUgYXV0aG9yaXphdGlvbiBzY2hlbWVzKAIAAABzEAAAAFBheW1lbnQgUmVxdWlyZWRzIgAAAE5vIHBheW1lbnQgLS0gc2VlIGNoYXJnaW5nIHNjaGVtZXMoAgAAAFKZAAAAczAAAABSZXF1ZXN0IGZvcmJpZGRlbiAtLSBhdXRob3JpemF0aW9uIHdpbGwgbm90IGhlbHAoAgAAAHMJAAAATm90IEZvdW5kcx0AAABOb3RoaW5nIG1hdGNoZXMgdGhlIGdpdmVuIFVSSSgCAAAAcxIAAABNZXRob2QgTm90IEFsbG93ZWRzLgAAAFNwZWNpZmllZCBtZXRob2QgaXMgaW52YWxpZCBmb3IgdGhpcyByZXNvdXJjZS4oAgAAAHMOAAAATm90IEFjY2VwdGFibGVzJgAAAFVSSSBub3QgYXZhaWxhYmxlIGluIHByZWZlcnJlZCBmb3JtYXQuKAIAAABzHQAAAFByb3h5IEF1dGhlbnRpY2F0aW9uIFJlcXVpcmVkczgAAABZb3UgbXVzdCBhdXRoZW50aWNhdGUgd2l0aCB0aGlzIHByb3h5IGJlZm9yZSBwcm9jZWVkaW5nLigCAAAAcw8AAABSZXF1ZXN0IFRpbWVvdXRzIwAAAFJlcXVlc3QgdGltZWQgb3V0OyB0cnkgYWdhaW4gbGF0ZXIuKAIAAABSmgAAAHMRAAAAUmVxdWVzdCBjb25mbGljdC4oAgAAAFKbAAAAczYAAABVUkkgbm8gbG9uZ2VyIGV4aXN0cyBhbmQgaGFzIGJlZW4gcGVybWFuZW50bHkgcmVtb3ZlZC4oAgAAAHMPAAAATGVuZ3RoIFJlcXVpcmVkcyMAAABDbGllbnQgbXVzdCBzcGVjaWZ5IENvbnRlbnQtTGVuZ3RoLigCAAAAcxMAAABQcmVjb25kaXRpb24gRmFpbGVkcyEAAABQcmVjb25kaXRpb24gaW4gaGVhZGVycyBpcyBmYWxzZS4oAgAAAHMYAAAAUmVxdWVzdCBFbnRpdHkgVG9vIExhcmdlcxQAAABFbnRpdHkgaXMgdG9vIGxhcmdlLigCAAAAcxQAAABSZXF1ZXN0LVVSSSBUb28gTG9uZ3MQAAAAVVJJIGlzIHRvbyBsb25nLigCAAAAcxYAAABVbnN1cHBvcnRlZCBNZWRpYSBUeXBlcyIAAABFbnRpdHkgYm9keSBpbiB1bnN1cHBvcnRlZCBmb3JtYXQuKAIAAABzHwAAAFJlcXVlc3RlZCBSYW5nZSBOb3QgU2F0aXNmaWFibGVzHQAAAENhbm5vdCBzYXRpc2Z5IHJlcXVlc3QgcmFuZ2UuKAIAAABzEgAAAEV4cGVjdGF0aW9uIEZhaWxlZHMoAAAARXhwZWN0IGNvbmRpdGlvbiBjb3VsZCBub3QgYmUgc2F0aXNmaWVkLigCAAAAcxUAAABJbnRlcm5hbCBTZXJ2ZXIgRXJyb3JzHAAAAFNlcnZlciBnb3QgaXRzZWxmIGluIHRyb3VibGUoAgAAAHMP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