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bXopbmFtZSBvZiBtYW5pZmVzdCBmaWxlIFtkZWZhdWx0OiBNQU5JRkVTVF0pA/oMdXNlLWRlZmF1bHRzTnpSaW5jbHVkZSB0aGUgZGVmYXVsdCBmaWxlIHNldCBpbiB0aGUgbWFuaWZlc3QgW2RlZmF1bHQ7IGRpc2FibGUgd2l0aCAtLW5vLWRlZmF1bHRzXSkD+gtuby1kZWZhdWx0c056ImRvbid0IGluY2x1ZGUgdGhlIGRlZmF1bHQgZmlsZSBzZXQpA9oFcHJ1bmVOeolzcGVjaWZpY2FsbHkgZXhjbHVkZSBmaWxlcy9kaXJlY3RvcmllcyB0aGF0IHNob3VsZCBub3QgYmUgZGlzdHJpYnV0ZWQgKGJ1aWxkIHRyZWUsIFJDUy9DVlMgZGlycywgZXRjLikgW2RlZmF1bHQ7IGRpc2FibGUgd2l0aCAtLW5vLXBydW5lXSkD+ghuby1wcnVuZU56JGRvbid0IGF1dG9tYXRpY2FsbHkgZXhjbHVkZSBhbnl0aGluZykD+g1tYW5pZmVzdC1vbmx52gFvekVqdXN0IHJlZ2VuZXJhdGUgdGhlIG1hbmlmZXN0IGFuZCB0aGVuIHN0b3AgKGltcGxpZXMgLS1mb3JjZS1tYW5pZmVzdCkpA/oOZm9yY2UtbWFuaWZlc3TaAWZ6a2ZvcmNpYmx5IHJlZ2VuZXJhdGUgdGhlIG1hbmlmZXN0IGFuZCBjYXJyeSBvbiBhcyB1c3VhbC4gRGVwcmVjYXRlZDogbm93IHRoZSBtYW5pZmVzdCBpcyBhbHdheXMgcmVnZW5lcmF0ZWQuKQNyEAAAAE56NmZvcm1hdHMgZm9yIHNvdXJjZSBkaXN0cmlidXRpb24gKGNvbW1hLXNlcGFyYXRlZCBsaXN0KSkD+glrZWVwLXRlbXDaAWt6QGtlZXAgdGhlIGRpc3RyaWJ1dGlvbiB0cmVlIGFyb3VuZCBhZnRlciBjcmVhdGluZyBhcmNoaXZlIGZpbGUocykpA3oJZGlzdC1kaXI92gFkekZkaXJlY3RvcnkgdG8gcHV0IHRoZSBzb3VyY2UgZGlzdHJpYnV0aW9uIGFyY2hpdmUocykgaW4gW2RlZmF1bHQ6IGRpc3RdKQP6Dm1ldGFkYXRhLWNoZWNrTnpbRW5zdXJlIHRoYXQgYWxsIHJlcXVpcmVkIGVs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BqEAAQBkAVMAKQJhOQIAAEFkZCBhbGwgdGhlIGRlZmF1bHQgZmlsZXMgdG8gc2VsZi5maWxlbGlzdDoKICAgICAgICAgIC0gUkVBRE1FIG9yIFJFQURNRS50eHQKICAgICAgICAgIC0gc2V0dXAucHkKICAgICAgICAgIC0gdGVzdC90ZXN0Ki5weQogICAgICAgICAgLSBhbGwgcHVyZSBQeXRob24gbW9kdWxlcyBtZW50aW9uZWQgaW4gc2V0dXAgc2NyaXB0CiAgICAgICAgICAtIGFsbCBmaWxlcyBwb2ludGVkIGJ5IHBhY2thZ2VfZGF0YSAoYnVpbGRfcHkpCiAgICAgICAgICAtIGFsbCBmaWxlcyBkZWZpbmVkIGluIGRhdGFfZmlsZXMuCiAgICAgICAgICAtIGFsbCBmaWxlcyBkZWZpbmVkIGFzIHNjcmlwdHMuCiAgICAgICAgICAtIGFsbCBDIHNvdXJjZXMgbGlzdGVkIGFzIHBhcnQgb2YgZXh0ZW5zaW9ucyBvciBDIGxpYnJhcmllcwogICAgICAgICAgICBpbiB0aGUgc2V0dXAgc2NyaXB0IChkb2Vzbid0IGNhdGNoIEMgaGVhZGVycyEpCiAgICAgICAgV2FybnMgaWYgKFJFQURNRSBvciBSRUFETUUudHh0KSBvciBzZXR1cC5weSBhcmUgbWlzc2luZzsgZXZlcnl0aGluZwogICAgICAgIGVsc2UgaXMgb3B0aW9uYWwuCiAgICAgICAgTikH2hdfYWRkX2RlZmF1bHRzX3N0YW5kYXJkc9oWX2FkZF9kZWZhdWx0c19vcHRpb25hbNoUX2FkZF9kZWZhdWx0c19weXRob27aGF9hZGRfZGVmYXVsdHNfZGF0YV9maWxlc9oRX2FkZF9kZWZhdWx0c19leHTaFF9hZGRfZGVmYXVsdHNfY19saWJz2hVfYWRkX2RlZmF1bHRzX3NjcmlwdHNyIAAAAHIaAAAAchoAAAByGwAAAHJdAAAA0gAAAHMOAAAACA4IAQgBCAEIAQgBDAF6EnNkaXN0LmFkZF9kZWZhdWx0c2MBAAAAAAAAAAAAAAAEAAAABAAAAEMAAABzOgAAAHQAagGgAnwAoQFzCGQBUwB0AGoBoAN8AKEBfQF0AGoBoAR8AaEBXAJ9An0DfAN0AKAFfAKh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BKEBAQB8AkQAXR59BXQFagmgCnwFoQFzPnQGoAdkCHwFoQIBAHEvdAVqCaALfAF8BaECfQZ8AGoMfAV8BnwDZAmNAwEAcS98AGoNag6gD3wBoQEBAGQFUwApCmHGAQAAQ3JlYXRlIHRoZSBkaXJlY3RvcnkgdHJlZSB0aGF0IHdpbGwgYmVjb21lIHRoZSBzb3VyY2UKICAgICAgICBkaXN0cmlidXRpb24gYXJjaGl2ZS4gIEFsbCBkaXJlY3RvcmllcyBpbXBsaWVkIGJ5IHRoZSBmaWxlbmFtZXMgaW4KICAgICAgICAnZmlsZXMnIGFyZSBjcmVhdGVkIHVuZGVyICdiYXNlX2RpcicsIGFuZCB0aGVuIHdlIGhhcmQgbGluayBvciBjb3B5CiAgICAgICAgKGlmIGhhcmQgbGlua2luZyBpcyB1bmF2YWlsYWJsZSkgdGhvc2UgZmlsZXMgaW50byBwbGFjZS4KICAgICAgICBFc3NlbnRpYWxseSwgdGhpcyBkdXBsaWNhdGVzIHRoZSBkZXZlbG9wZXIncyBzb3VyY2UgdHJlZSwgYnV0IGluIGEKICAgICAgICBkaXJlY3RvcnkgbmFtZWQgYWZ0ZXIgdGhlIGRpc3RyaWJ1dGlvbiwgY29udGFpbmluZyBvbmx5IHRoZSBmaWxlcwogICAgICAgIHRvIGJlIGRpc3RyaWJ1dGVkLgogICAgICAgIKkB2gdkcnlfcnVu2gRsaW5r2gRoYXJkehptYWtpbmcgaGFyZCBsaW5rcyBpbiAlcy4uLk56FmNvcHlpbmcgZmlsZXMgdG8gJXMuLi56KW5vIGZpbGVzIHRvIGRpc3RyaWJ1dGUgLS0gZW1wdHkgbWFuaWZlc3Q/eiMnJXMnIG5vdCBhIHJlZ3VsYXIgZmlsZSAtLSBza2lwcGluZykBcsAAAAApENoGbWtwYXRocgUAAADaC2NyZWF0ZV90cmVlcr8AAADaB2hhc2F0dHJyVgAAAHIKAAAAcgMAAABymgAAAHJXAAAAclgAAABydQAAANoJY29weV9maWxlclIAAADaCG1ldGFkYXRh2g53cml0ZV9wa2dfaW5mbykHciEAAABysAAAAHJ+AAAAcsAAAAByoQAAANoEZmlsZdoEZGVzdHIaAAAAchoAAAByGwAAANoRbWFrZV9yZWxlYXNl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