A/MNCktcrFFjAAAAAAAAAAAFAAAAQAAAAHN8AAAAZAAAWgAAeRQAZAEAZAIAbAEAbQIAWgIAAVduFwAEZQMAawoAcjMAAQEBZAMAWgIAbgEAWGQEAGcBAFoEAGQFAIQAAFoFAGQEAGQKAGQGAIQAAIMAAFlaBgBkBwCEAABaBwBlCABkCABrAgByeABlBwCDAAABbgAAZAkAUygLAAAAcwoFAABGaWxlLWxpa2Ugb2JqZWN0cyB0aGF0IHJlYWQgZnJvbSBvciB3cml0ZSB0byBhIHN0cmluZyBidWZmZXIuCgpUaGlzIGltcGxlbWVudHMgKG5lYXJseSkgYWxsIHN0ZGlvIG1ldGhvZHMuCgpmID0gU3RyaW5nSU8oKSAgICAgICMgcmVhZHkgZm9yIHdyaXRpbmcKZiA9IFN0cmluZ0lPKGJ1ZikgICAjIHJlYWR5IGZvciByZWFkaW5nCmYuY2xvc2UoKSAgICAgICAgICAgIyBleHBsaWNpdGx5IHJlbGVhc2UgcmVzb3VyY2VzIGhlbGQKZmxhZyA9IGYuaXNhdHR5KCkgICAjIGFsd2F5cyBmYWxzZQpwb3MgPSBmLnRlbGwoKSAgICAgICMgZ2V0IGN1cnJlbnQgcG9zaXRpb24KZi5zZWVrKHBvcykgICAgICAgICAjIHNldCBjdXJyZW50IHBvc2l0aW9uCmYuc2Vlayhwb3MsIG1vZGUpICAgIyBtb2RlIDA6IGFic29sdXRlOyAxOiByZWxhdGl2ZTsgMjogcmVsYXRpdmUgdG8gRU9GCmJ1ZiA9IGYucmVhZCgpICAgICAgIyByZWFkIHVudGlsIEVPRgpidWYgPSBmLnJlYWQobikgICAgICMgcmVhZCB1cCB0byBuIGJ5dGVzCmJ1ZiA9IGYucmVhZGxpbmUoKSAgIyByZWFkIHVudGlsIGVuZCBvZiBsaW5lICgnXG4nKSBvciBFT0YKbGlzdCA9IGYucmVhZGxpbmVzKCkjIGxpc3Qgb2YgZi5yZWFkbGluZSgpIHJlc3VsdHMgdW50aWwgRU9GCmYudHJ1bmNhdGUoW3NpemVdKSAgIyB0cnVuY2F0ZSBmaWxlIGF0IHRvIGF0IG1vc3Qgc2l6ZSAoZGVmYXVsdDogY3VycmVudCBwb3MpCmYud3JpdGUoYnVmKSAgICAgICAgIyB3cml0ZSBhdCBjdXJyZW50IHBvc2l0aW9uCmYud3JpdGVsaW5lcyhsaXN0KSAgIyBmb3IgbGluZSBpbiBsaXN0OiBmLndyaXRlKGxpbmUpCmYuZ2V0dmFsdWUoKSAgICAgICAgIyByZXR1cm4gd2hvbGUgZmlsZSdzIGNvbnRlbnRzIGFzIGEgc3RyaW5nCgpOb3RlczoKLSBVc2luZyBhIHJlYWwgZmlsZSBpcyBvZnRlbiBmYXN0ZXIgKGJ1dCBsZXNzIGNvbnZlbmllbnQpLgotIFRoZXJlJ3MgYWxzbyBhIG11Y2ggZmFzdGVyIGltcGxlbWVudGF0aW9uIGluIEMsIGNhbGxlZCBjU3RyaW5nSU8sIGJ1dAogIGl0J3Mgbm90IHN1YmNsYXNzYWJsZS4KLSBmaWxlbm8oKSBpcyBsZWZ0IHVuaW1wbGVtZW50ZWQgc28gdGhhdCBjb2RlIHdoaWNoIHVzZXMgaXQgdHJpZ2dlcnMKICBhbiBleGNlcHRpb24gZWFybHkuCi0gU2Vla2luZyBmYXIgYmV5b25kIEVPRiBhbmQgdGhlbiB3cml0aW5nIHdpbGwgaW5zZXJ0IHJlYWwgbnVsbAogIGJ5dGVzIHRoYXQgb2NjdXB5IHNwYWNlIGluIHRoZSBidWZmZXIuCi0gVGhlcmUncyBhIHNpbXBsZSB0ZXN0IHNldCAoc2VlIGVuZCBvZiB0aGlzIGZpbGUpLgpp/////ygBAAAAdAYAAABFSU5WQUxpFgAAAHQIAAAAU3RyaW5nSU9jAQAAAAEAAAACAAAAQwAAAHMWAAAAfAAAchIAdAAAZAEAggIAbgAAZAAAUygCAAAATnMcAAAASS9PIG9wZXJhdGlvbiBvbiBjbG9zZWQgZmlsZSgBAAAAdAoAAABWYWx1ZUVycm9yKAEAAAB0BgAAAGNsb3NlZCgAAAAAKAAAAABzUAAAAC90bXAvbmRrLVVzZXIvYnVpbGRob3N0L2luc3RhbGwvcHJlYnVpbHQvZGFyd2luLXg4Nl82NC9saWIvcHl0aG9uMi43L1N0cmluZ0lPLnB5dBIAAABfY29tcGxhaW5faWZjbG9zZWQmAAAAcwQAAAAAAQYBYwAAAAAAAAAAAgAAAEIAAABzpwAAAGUAAFoBAGQAAFoCAGQBAGQCAIQBAFoDAGQDAIQAAFoEAGQEAIQAAFoFAGQFAIQAAFoGAGQGAIQAAFoHAGQHAGQIAIQBAFoIAGQJAIQAAFoJAGQKAGQLAIQBAFoKAGQTAGQMAIQBAFoMAGQHAGQNAIQBAFoNAGQTAGQOAIQBAFoOAGQPAIQAAFoPAGQQAIQAAFoQAGQRAIQAAFoRAGQSAIQAAFoSAFJTKBQAAABz9AEAAGNsYXNzIFN0cmluZ0lPKFtidWZmZXJdKQoKICAgIFdoZW4gYSBTdHJpbmdJTyBvYmplY3QgaXMgY3JlYXRlZCwgaXQgY2FuIGJlIGluaXRpYWxpemVkIHRvIGFuIGV4aXN0aW5nCiAgICBzdHJpbmcgYnkgcGFzc2luZyB0aGUgc3RyaW5nIHRvIHRoZSBjb25zdHJ1Y3Rvci4gSWYgbm8gc3RyaW5nIGlzIGdpdmVuLAogICAgdGhlIFN0cmluZ0lPIHdpbGwgc3RhcnQgZW1wdHkuCgogICAgVGhlIFN0cmluZ0lPIG9iamVjdCBjYW4gYWNjZXB0IGVpdGhlciBVbmljb2RlIG9yIDgtYml0IHN0cmluZ3MsIGJ1dAogICAgbWl4aW5nIHRoZSB0d28gbWF5IHRha2Ugc29tZSBjYXJlLiBJZiBib3RoIGFyZSB1c2VkLCA4LWJpdCBzdHJpbmdzIHRoYXQKICAgIGNhbm5vdCBiZSBpbnRlcnByZXRlZCBhcyA3LWJpdCBBU0NJSSAodGhhdCB1c2UgdGhlIDh0aCBiaXQpIHdpbGwgY2F1c2UKICAgIGEgVW5pY29kZUVycm9yIHRvIGJlIHJhaXNlZCB3aGVuIGdldHZhbHVlKCkgaXMgY2FsbGVkLgogICAgdAAAAABjAgAAAAIAAAADAAAAQwAAAHNeAAAAdAAAfAEAdAEAgwIAcx4AdAIAfAEAgwEAfQEAbgAAfAEAfAAAXwMAdAQAfAEAgwEAfAAAXwQAZwAAfAAAXwUAZAEAfAAAXwYAdAcAfAAAXwgAZAEAfAAAXwkAZAAAUygCAAAATmkAAAAAKAoAAAB0CgAAAGlzaW5zdGFuY2V0CgAAAGJhc2VzdHJpbmd0AwAAAHN0cnQDAAAAYnVmdAMAAABsZW50BwAAAGJ1Zmxpc3R0AwAAAHBvc3QFAAAARmFsc2VSAwAAAHQJAAAAc29mdHNwYWNlKAIAAAB0BAAAAHNlbGZSCQAAACgAAAAAKAAAAABzUAAAAC90bXAvbmRrLVVzZXIvYnVpbGRob3N0L2luc3RhbGwvcHJlYnVpbHQvZGFyd2luLXg4Nl82NC9saWIvcHl0aG9uMi43L1N0cmluZ0lPLnB5dAgAAABfX2luaXRfXzYAAABzEAAAAAACDwEPAQkBDwEJAQkBCQFjAQAAAAEAAAABAAAAQwAAAHMEAAAAfAAAUygBAAAATigAAAAAKAEAAABSDwAAACgAAAAAKAAAAABzUAAAAC90bXAvbmRrLVVzZXIvYnVpbGRob3N0L2luc3RhbGwvcHJlYnVpbHQvZGFyd2luLXg4Nl82NC9saWIvcHl0aG9uMi43L1N0cmluZ0lPLnB5dAgAAABfX2l0ZXJfX0EAAABzAgAAAAABYwEAAAACAAAAAgAAAEMAAABzLAAAAHQAAHwAAGoBAIMBAAF8AABqAgCDAAB9AQB8AQBzKAB0AwCCAQBuAAB8AQBTKAEAAABzXwEAAEEgZmlsZSBvYmplY3QgaXMgaXRzIG93biBpdGVyYXRvciwgZm9yIGV4YW1wbGUgaXRlcihmKSByZXR1cm5zIGYKICAgICAgICAodW5sZXNzIGYgaXMgY2xvc2VkKS4gV2hlbiBhIGZpbGUgaXMgdXNlZCBhcyBhbiBpdGVyYXRvciwgdHlwaWNhbGx5CiAgICAgICAgaW4gYSBmb3IgbG9vcCAoZm9yIGV4YW1wbGUsIGZvciBsaW5lIGluIGY6IHByaW50IGxpbmUpLCB0aGUgbmV4dCgpCiAgICAgICAgbWV0aG9kIGlzIGNhbGxlZCByZXBlYXRlZGx5LiBUaGlzIG1ldGhvZCByZXR1cm5zIHRoZSBuZXh0IGlucHV0IGxpbmUsCiAgICAgICAgb3IgcmFpc2VzIFN0b3BJdGVyYXRpb24gd2hlbiBFT0YgaXMgaGl0LgogICAgICAgICgEAAAAUgQAAABSAwAAAHQIAAAAcmVhZGxpbmV0DQAAAFN0b3BJdGVyYXRpb24oAgAAAFIPAAAAdAEAAAByKAAAAAAoAAAAAHNQAAAAL3RtcC9uZGstVXNlci9idWlsZGhvc3QvaW5zdGFsbC9wcmVidWlsdC9kYXJ3aW4teDg2XzY0L2xpYi9weXRob24yLjcvU3RyaW5nSU8ucHl0BAAAAG5leHREAAAAcwoA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