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gwQAXAIAfQMAfQAAcTkAdAQAfAMAfAAAZAIAGWQFAB98AQB8AABkBQAfgwQAXAIAfQMAfQAAcTkAV3wDAHwAAGYCAFMoBwAAAHNABQAAZ2V0b3B0KGFyZ3MsIG9wdGlvbnNbLCBsb25nX29wdGlvbnNdKSAtPiBvcHRzLCBhcmdzCgogICAgUGFyc2VzIGNvbW1hbmQgbGluZSBvcHRpb25zIGFuZCBwYXJhbWV0ZXIgbGlzdC4gIGFyZ3MgaXMgdGhlCiAgICBhcmd1bWVudCBsaXN0IHRvIGJlIHBhcnNlZCwgd2l0aG91dCB0aGUgbGVhZGluZyByZWZlcmVuY2UgdG8gdGhlCiAgICBydW5uaW5nIHByb2dyYW0uICBUeXBpY2FsbHksIHRoaXMgbWVhbnMgInN5cy5hcmd2WzE6XSIuICBzaG9ydG9wdHMKICAgIGlzIHRoZSBzdHJpbmcgb2Ygb3B0aW9uIGxldHRlcnMgdGhhdCB0aGUgc2NyaXB0IHdhbnRzIHRvCiAgICByZWNvZ25pemUsIHdpdGggb3B0aW9ucyB0aGF0IHJlcXVpcmUgYW4gYXJndW1lbnQgZm9sbG93ZWQgYnkgYQogICAgY29sb24gKGkuZS4sIHRoZSBzYW1lIGZvcm1hdCB0aGF0IFVuaXggZ2V0b3B0KCkgdXNlcykuICBJZgogICAgc3BlY2lmaWVkLCBsb25nb3B0cyBpcyBhIGxpc3Qgb2Ygc3RyaW5ncyB3aXRoIHRoZSBuYW1lcyBvZiB0aGUKICAgIGxvbmcgb3B0aW9ucyB3aGljaCBzaG91bGQgYmUgc3VwcG9ydGVkLiAgVGhlIGxlYWRpbmcgJy0tJwogICAgY2hhcmFjdGVycyBzaG91bGQgbm90IGJlIGluY2x1ZGVkIGluIHRoZSBvcHRpb24gbmFtZS4gIE9wdGlvbnMKICAgIHdoaWNoIHJlcXVpcmUgYW4gYXJndW1lbnQgc2hvdWxkIGJlIGZvbGxvd2VkIGJ5IGFuIGVxdWFsIHNpZ24KICAgICgnPScpLgoKICAgIFRoZSByZXR1cm4gdmFsdWUgY29uc2lzdHMgb2YgdHdvIGVsZW1lbnRzOiB0aGUgZmlyc3QgaXMgYSBsaXN0IG9mCiAgICAob3B0aW9uLCB2YWx1ZSkgcGFpcnM7IHRo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