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