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bWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYjJ0bzMvcHl0cmVlLnB5UhAAAAAyAAAAcwQAAAAAAhgBYwIAAAACAAAAAgAAAEMAAABzIwAAAHwAAGoAAHwBAGoAAGsJAHIWAHQBAFN8AABqAgB8AQCDAQBTKAEAAABzVwAAAAogICAgICAgIENvbXBhcmUgdHdvIG5vZGVzIGZvciBlcXVhbGl0eS4KCiAgICAgICAgVGhpcyBjYWxscyB0aGUgbWV0aG9kIF9lcSgpLgogICAgICAgICgDAAAAdAkAAABfX2NsYXNzX190DgAAAE5vdEltcGxlbWVudGVkdAMAAABfZXEoAgAAAHQEAAAAc2VsZnQFAAAAb3RoZXIoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYjJ0bzMvcHl0cmVlLnB5dAYAAABfX2VxX183AAAAcwYAAAAABhIBBAFjAgAAAAIAAAACAAAAQwAAAHMkAAAAfAAAagAAfAEAagAAawkAchYAdAEAU3wAAGoCAHwBAIMBAAxTKAEAAABzWQAAAAogICAgICAgIENvbXBhcmUgdHdvIG5vZGVzIGZvciBpbmVxdWFsaXR5LgoKICAgICAgICBUaGlzIGNhbGxzIHRoZSBtZXRob2QgX2VxKCkuCiAgICAgICAgKAMAAABSFAAAAFIVAAAAUhYAAAAoAgAAAFIXAAAAUhgAAAAoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYjJ0bzMvcHl0cmVlLnB5dAYAAABfX25lX19DAAAAcwYAAAAABhIBBAFjAgAAAAIAAAABAAAAQwAAAHMKAAAAdAAAggEAZAEAUygCAAAAc18BAAAKICAgICAgICBDb21wYXJlIHR3byBub2RlcyBmb3IgZXF1YWxpdHkuCgogICAgICAgIFRoaXMgaXMgY2FsbGVkIGJ5IF9fZXFfXyBhbmQgX19uZV9fLiAgSXQgaXMgb25seSBjYWxsZWQgaWYgdGhlIHR3byBub2RlcwogICAgICAgIGhhdmUgdGhlIHNhbWUgdHlwZS4gIFRoaXMgbXVzdCBiZSBpbXBsZW1lbnRlZCBieSB0aGUgY29uY3JldGUgc3ViY2xhc3MuCiAgICAgICAgTm9kZXMgc2hvdWxkIGJlIGNvbnNpZGVyZWQgZXF1YWwgaWYgdGhleSBoYXZlIHRoZSBzYW1lIHN0cnVjdHVyZSwKICAgICAgICBpZ25vcmluZyB0aGUgcHJlZml4IHN0cmluZyBhbmQgb3RoZXIgY29udGV4dCBpbmZvcm1hdGlvbi4KICAgICAgICBOKAEAAAB0EwAAAE5vdEltcGxlbWVudGVkRXJyb3IoAgAAAFIXAAAAUhgAAAAoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYjJ0bzMvcHl0cmVlLnB5UhYAAABNAAAAcwIAAAAACWMBAAAAAQAAAAEAAABDAAAAcwoAAAB0AACCAQBkAQBTKAIAAABzcgAAAAogICAgICAgIFJldHVybiBhIGNsb25lZCAoZGVlcCkgY29weSBvZiBzZWxmLgoKICAgICAgICBUaGlzIG11c3QgYmUgaW1wbGVtZW50ZWQgYnkgdGhlIGNvbmNyZXRlIHN1YmNsYXNzLgogICAgICAgIE4oAQAAAFIbAAAAKAEAAABSFwAAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliMnRvMy9weXRyZWUucHl0BQAAAGNsb25lWAAAAHMCAAAAAAZjAQAAAAEAAAABAAAAQwAAAHMKAAAAdAAAggEAZAEAUygCAAAAc3gAAAAKICAgICAgICBSZXR1cm4gYSBwb3N0LW9yZGVyIGl0ZXJhdG9yIGZvciB0aGUgdHJlZS4KCiAgICAgICAgVGhpcyBtdXN0IGJlIGltcGxlbWVudGVkIGJ5IHRoZSBjb25jcmV0ZSBzdWJjbGFzcy4KICAgICAgICBOKAEAAABSGwAAACgBAAAAUhcAAAAoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYjJ0bzMvcHl0cmVlLnB5dAoAAABwb3N0X29yZGVyYAAAAHMCAAAAAAZjAQAAAAEAAAABAAAAQwAAAHMKAAAAdAAAggEAZAEAUygCAAAAc3cAAAAKICAgICAgICBSZXR1cm4gYSBwcmUtb3JkZXIgaXRlcmF0b3IgZm9yIHRoZSB0cmVlLgoKICAgICAgICBUaGlzIG11c3QgYmUgaW1wbGVtZW50ZWQgYnkgdGhlIGNvbmNyZXRlIHN1YmNsYXNzLgogICAgICAgIE4oAQAAAFIbAAAAKAEAAABSFwAAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliMnRvMy9weXRyZWUucHl0CQAAAHByZV9vcmRlcmgAAABzAgAAAAAGYwIAAAACAAAABQAAAEMAAABzIwAAAHQAAGoBAGQBAHQCAGQCAGQDAIMCAQF8AQB8AABfAwBkBABTKAUAAABzdgAAAAogICAgICAgIFNldCB0aGUgcHJlZml4IGZvciB0aGUgbm9kZSAoc2VlIExlYWYgY2xhc3MpLgoKICAgICAgICBERVBSRUNBVEVEOyB1c2UgdGhlIHByZWZpeCBwcm9wZXJ0eSBkaXJlY3RseS4KICAgICAgICBzMwAAAHNldF9wcmVmaXgoKSBpcyBkZXByZWNhdGVkOyB1c2UgdGhl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L2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYjJ0bzMvcHl0cmVlLnB5dAwAAABwcmV2X3NpYmxpbmfHAAAAcw4AAAAABg8BBAMfAQwBDAEEAWMBAAAAAwAAAAMAAABjAAAAczQAAAB4LQB8AABqAABEXSIAfQEAeBkAfAEAagEAgwAARF0LAH0CAHwCAFYBcR0AV3EKAFdkAABTKAEAAABOKAIAAABSLAAAAHQGAAAAbGVhdmVzKAMAAABSFwAAAFJAAAAAUjUAAAAoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYjJ0bzMvcHl0cmVlLnB5UkMAAADXAAAAcwYAAAAAARABEwFjAQAAAAEAAAACAAAAQwAAAHMkAAAAfAAAagAAZAAAawgAchMAZAEAU2QCAHwAAGoAAGoCAIMAABdTKAMAAABOaQAAAABpAQAAACgDAAAAUiYAAABSJwAAAHQFAAAAZGVwdGgoAQAAAFIXAAAAKAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWIydG8zL3B5dHJlZS5weVJEAAAA3AAAAHMGAAAAAAEPAQQBYwEAAAACAAAAAgAAAEMAAABzIAAAAHwAAGoAAH0BAHwBAGQCAGsIAHIZAGQBAFN8AQBqAgBTKAMAAABzjwAAAAogICAgICAgIFJldHVybiB0aGUgc3RyaW5nIGltbWVkaWF0ZWx5IGZvbGxvd2luZyB0aGUgaW52b2NhbnQgbm9kZS4gVGhpcyBpcwogICAgICAgIGVmZmVjdGl2ZWx5IGVxdWl2YWxlbnQgdG8gbm9kZS5uZXh0X3NpYmxpbmcucHJlZml4CiAgICAgICAgdQAAAABOKAMAAABSQQAAAFInAAAAUiMAAAAoAgAAAFIXAAAAdAgAAABuZXh0X3NpYigAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliMnRvMy9weXRyZWUucHl0CgAAAGdldF9zdWZmaXjhAAAAcwgAAAAABQkBDAEEAWkDAAAAaQAAAABjAQAAAAEAAAACAAAAQwAAAHMTAAAAdAAAfAAAgwEAagEAZAEAgwEAUygCAAAATnQFAAAAYXNjaWkoAgAAAHQHAAAAdW5pY29kZXQGAAAAZW5jb2RlKAEAAABSFwAAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliMnRvMy9weXRyZWUucHl0BwAAAF9fc3RyX1/sAAAAcwIAAAAAAU4oAAAAACgCAAAAaQMAAABpAAAAACghAAAAdAgAAABfX25hbWVfX3QKAAAAX19tb2R1bGVfX3QHAAAAX19kb2NfX1InAAAAUgYAAABSJgAAAFIsAAAAUisAAABSOwAAAHQLAAAAd2FzX2NoZWNrZWRSEAAAAFIZAAAAdAgAAABfX2hhc2hfX1IaAAAAUhYAAABSHAAAAFIdAAAAUh4AAABSJAAAAFIlAAAAUjYAAABSOgAAAFIwAAAAUj4AAAB0CAAAAHByb3BlcnR5UkEAAABSQgAAAFJDAAAAUkQAAABSRgAAAHQDAAAAc3lzdAwAAAB2ZXJzaW9uX2luZm9SSgAAACgAAAAAKAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWIydG8zL3B5dHJlZS5weVINAAAAIAAAAHM2AAAABgkGAwYBBgEGAQYBBgIJBQkKBgIJCgkLCQgJCAkICQoJCgkXCQkJBQkNDxEPEAkFCQUJCg8BdAQAAABOb2RlYwAAAAAAAAAABAAAAEIAAABzqgAAAGUAAFoBAGQAAFoCAGQPAGQPAGQPAGQBAIQDAFoEAGQCAIQAAFoFAGQDAIQAAFoGAGUHAGoIAGQQAGsEAHJIAGUGAFoJAG4AAGQGAIQAAFoKAGQHAIQAAFoLAGQIAIQAAFoMAGQJAIQAAFoNAGQKAIQAAFoOAGQLAIQAAFoPAGUQAGUOAGUPAIMCAFoRAGQMAIQAAFoSAGQNAIQAAFoTAGQOAIQAAFoUAFJTKBEAAABzKwAAAENvbmNyZXRlIGltcGxlbWVudGF0aW9uIGZvciBpbnRlcmlvciBub2Rlcy5jBgAAAAcAAAAEAAAAQwAAAHOmAAAAfAEAZAEAawUAcxgAdAAAfAEAgwEAggEAfAEAfAAAXwEAdAIAfAIAgwEAfAAAXwMAeDsAfAAAagMARF0wAH0GAHwGAGoEAGQCAGsIAHNhAHQAAHQGAHwGAIMBAIMBAIIBAHwAAHwGAF8EAHE6AFd8BABkAgBrCQByhgB8BAB8AABfBwBuAAB8BQBymQB8BQAefAAAXwgAbgkAZAIAfAAAXwgAZAIAUygDAAAAc/AAAAAKICAgICAgICBJbml0aWFsaXplci4KCiAgICAgICAgVGFrZXMgYSB0eXBlIGNvbnN0YW50IChhIHN5bWJvbCBudW1iZXIgPj0gMjU2KSwgYSBzZXF1ZW5jZSBvZgogICAgICAgIGNoaWxkIG5vZGVzLCBhbmQgYW4gb3B0aW9uYWwgY29udGV4dCBrZXl3b3JkIGFyZ3VtZW50LgoKICAgICAgICBBcyBhIHNpZGUgZWZmZWN0LCB0aGUgcGFyZW50IHBvaW50ZXJzIG9mIHRoZSBjaGlsZHJlbiBhcmUgdXBkYXRlZC4KICAgICAgICBpAAEAAE4oCQAAAFIOAAAAUgYAAABSKgAAAFIsAAAAUiYAAABSJwAAAHQEAAAAcmVwclIjAAAAdA4AAABmaXhlcnNfYXBwbGllZCgHAAAAUhcAAABSBgAAAFIsAAAAdAcAAABjb250ZXh0UiMAAABSVQAAAFI0AAAAKAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWIydG8zL3B5dHJlZS5weXQIAAAAX19pbml0X1/zAAAAcxYAAAAADBgBCQEPARABIQENAQwBDAEGAQ0CYwEAAAABAAAABAAAAEMAAABzIwAAAGQBAHwAAGoAAGoBAHQCAHwAAGoDAIMBAHwAAGoEAGYDABZTKAIAAABzKQAAAFJldHVybiBhIGNhbm9uaWNhbCBzdHJpbmcgcmVwcmVzZW50YXRpb24ucwoAAAAlcyglcywgJXIpKAUAAABSFAAAAFJLAAAAUgwAAABSBgAAAFIsAAAAKAEAAABSFwAAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliMnRvMy9weXRyZWUucHl0CAAAAF9fcmVwcl9fDAEAAHMGAAAAAAIMAQwBYwEAAAABAAAABAAAAEMAAABzGQAAAGQBAGoAAHQBAHQCAHwAAGoDAIMCAIMBAFMoAgAAAHNrAAAACiAgICAgICAgUmV0dXJuIGEgcHJldHR5IHN0cmluZyByZXByZXNlbnRhdGlvbi4KCiAgICAgICAgVGhpcyByZXByb2R1Y2VzIHRoZSBpbnB1dCBzb3VyY2UgZXhhY3RseS4KICAgICAgICB1AAAAACgEAAAAdAQAAABqb2ludAMAAABtYXBSSAAAAFIsAAAAKAEAAABSFwAAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliMnRvMy9weXRyZWUucHl0CwAAAF9fdW5pY29kZV9fEgEAAHMCAAAAAAZpAwAAAGkAAAAAYwIAAAACAAAAAwAAAEMAAABzIgAAAHwAAGoAAHwAAGoBAGYCAHwBAGoAAHwBAGoBAGYCAGsCAFMoAQAAAHMfAAAAQ29tcGFyZSB0d28gbm9kZXMgZm9yIGVxdWFsaXR5LigCAAAAUgYAAABSLAAAACgCAAAAUhcAAABSGAAAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliMnRvMy9weXRyZWUucHlSFgAAAB0BAABzAgAAAAACYwEAAAACAAAABQAAAEMAAABzNQAAAHQAAHwAAGoBAGcAAHwAAGoCAERdEgB9AQB8AQBqAwCDAABeAgBxEwBkAQB8AABqBACDAgFTKAIAAABzJAAAAFJldHVybiBhIGNsb25lZCAoZGVlcCkgY29weSBvZiBzZWxmLlJVAAAAKAUAAABSUwAAAFIGAAAAUiwAAABSHAAAAFJVAAAAKAIAAABSFwAAAFI0AAAAKAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWIydG8zL3B5dHJlZS5weVIcAAAAIQEAAHMEAAAAAAIrAWMBAAAAAwAAAAMAAABjAAAAczkAAAB4LQB8AABqAABEXSIAfQEAeBkAfAEAagEAgwAARF0LAH0CAHwCAFYBcR0AV3EKAFd8AABWAWQBAFMoAgAAAHMqAAAAUmV0dXJuIGEgcG9zdC1vcmRlciBpdGVyYXRvciBmb3IgdGhlIHRyZWUuTigCAAAAUiwAAABSHQAAACgDAAAAUhcAAABSQAAAAFI5AAAAKAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWIydG8zL3B5dHJlZS5weVIdAAAAJgEAAHMIAAAAAAIQARMBDQFjAQAAAAMAAAADAAAAYwAAAHM5AAAAfAAAVgF4LQB8AABqAABEXSIAfQEAeBkAfAEAagEAgwAARF0LAH0CAHwCAFYBcSIAV3EPAFdkAQBTKAIAAABzKQAAAFJldHVybiBhIHByZS1vcmRlciBpdGVyYXRvciBmb3IgdGhlIHRyZWUuTigCAAAAUiwAAABSHgAAACgDAAAAUhcAAABSQAAAAFI5AAAAKAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWIydG8zL3B5dHJlZS5weVIeAAAALQEAAHMIAAAAAAIFARABEwFjAQAAAAEAAAACAAAAQwAAAHMbAAAAfAAAagAAcw0AZAEAU3wAAGoAAGQCABlqAQBTKAMAAABzTwAAAAogICAgICAgIFRoZSB3aGl0ZXNwYWNlIGFuZCBjb21tZW50cyBwcmVjZWRpbmcgdGhpcyBub2RlIGluIHRoZSBpbnB1dC4KICAgICAgICB0AAAAAGkAAAAAKAIAAABSLAAAAFIjAAAAKAEAAABSFwAAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliMnRvMy9weXRyZWUucHl0DgAAAF9wcmVmaXhfZ2V0dGVyNAEAAHMGAAAAAAQJAQQBYwIAAAACAAAAAwAAAEMAAABzIAAAAHwAAGoAAHIcAHwBAHwAAGoAAGQBABlfAQBuAABkAABTKAIAAABOaQAAAAAoAgAAAFIsAAAAUiMAAAAoAgAAAFIXAAAAUiMAAAAoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYjJ0bzMvcHl0cmVlLnB5dA4AAABfcHJlZml4X3NldHRlcjwBAABzBAAAAAABCQFjAwAAAAMA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b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWIydG8zL3B5dHJlZS5weVIcAAAAkAEAAHMGAAAAAAIPARsBYwEAAAABAAAAAQAAAGMAAABzCQAAAHwAAFYBZAAAUygBAAAATigAAAAAKAEAAABSFwAAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliMnRvMy9weXRyZWUucHlSQwAAAJYBAABzAgAAAAABYwEAAAABAAAAAQAAAGMAAABzCQAAAHwAAFYBZAEAUygCAAAAcyoAAABSZXR1cm4gYSBwb3N0LW9yZGVyIGl0ZXJhdG9yIGZvciB0aGUgdHJlZS5OKAAAAAAoAQAAAFIXAAAAKAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWIydG8zL3B5dHJlZS5weVIdAAAAmQEAAHMCAAAAAAJjAQAAAAEAAAABAAAAYwAAAHMJAAAAfAAAVgFkAQBTKAIAAABzKQAAAFJldHVybiBhIHByZS1vcmRlciBpdGVyYXRvciBmb3IgdGhlIHRyZWUuTigAAAAAKAEAAABSFwAAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliMnRvMy9weXRyZWUucHlSHgAAAJ0BAABzAgAAAAACYwEAAAABAAAAAQAAAEMAAABzBwAAAHwAAGoAAFMoAQAAAHNQAAAACiAgICAgICAgVGhlIHdoaXRlc3BhY2UgYW5kIGNvbW1lbnRzIHByZWNlZGluZyB0aGlzIHRva2VuIGluIHRoZSBpbnB1dC4KICAgICAgICAoAQAAAFJjAAAAKAEAAABSFwAAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliMnRvMy9weXRyZWUucHlSXQAAAKEBAABzAgAAAAAEYwIAAAACAAAAAgAAAEMAAABzFwAAAHwAAGoAAIMAAAF8AQB8AABfAQBkAABTKAEAAABOKAIAAABSMAAAAFJjAAAAKAIAAABSFwAAAFIjAAAAKAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWIydG8zL3B5dHJlZS5weVJeAAAApwEAAHMEAAAAAAEKAU4oAgAAAGkDAAAAaQAAAAAoFgAAAFJLAAAAUkwAAABSTQAAAFJjAAAAUjgAAABSZAAAAFInAAAAUlcAAABSWAAAAFJbAAAAUlEAAABSUgAAAFJKAAAAUhYAAABSHAAAAFJDAAAAUh0AAABSHgAAAFJdAAAAUl4AAABSUAAAAFIjAAAAKAAAAAAoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYjJ0bzMvcHl0cmVlLnB5UjcAAABfAQAAcyYAAAAGAgYDBgEGAQYDAwEDAQwQCQYJCA8BCQIJBAkGCQMJBAkECQYJBGMCAAAABgAAAAYAAABDAAAAc2sAAAB8AQBcBAB9AgB9AwB9BAB9BQB8BQBzJwB8AgB8AABqAABrBgByVAB0AQB8BQCDAQBkAQBrAgByQQB8BQBkAgAZU3QCAHwCAHwFAGQDAHwEAIMCAVN0AwB8AgB8AwBkAwB8BACDAgFTZAQAUygFAAAAc/UAAAAKICAgIENvbnZlcnQgcmF3IG5vZGUgaW5mb3JtYXRpb24gdG8gYSBOb2RlIG9yIExlYWYgaW5zdGFuY2UuCgogICAgVGhpcyBpcyBwYXNzZWQgdG8gdGhlIHBhcnNlciBkcml2ZXIgd2hpY2ggY2FsbHMgaXQgd2hlbmV2ZXIgYSByZWR1Y3Rpb24gb2YgYQogICAgZ3JhbW1hciBydWxlIHByb2R1Y2VzIGEgbmV3IGNvbXBsZXRlIG5vZGUsIHNvIHRoYXQgdGhlIHRyZWUgaXMgYnVpbGQKICAgIHN0cmljdGx5IGJvdHRvbS11cC4KICAgIGkBAAAAaQAAAABSVgAAAE4oBAAAAHQNAAAAbnVtYmVyMnN5bWJvbHQDAAAAbGVuUlMAAABSNwAAACgGAAAAdAIAAABncnQIAAAAcmF3X25vZGVSBgAAAFJlAAAAUlYAAABSLAAAACgAAAAAKAAAAABzeQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliMnRvMy9weXRyZWUucHl0BwAAAGNvbnZlcnStAQAAcwwAAAAACBIBFQMSAQgBEwJ0CwAAAEJhc2VQYXR0ZXJuYwAAAAAAAAAAAgAAAEIAAABzXAAAAGUAAFoBAGQAAFoCAGQHAFoEAGQHAFoFAGQHAFoGAGQBAIQAAFoHAGQCAIQAAFoIAGQDAIQAAFoJAGQHAGQEAIQBAFoKAGQHAGQFAIQBAFoLAGQGAIQAAFoMAFJTKAgAAABzlAEAAAogICAgQSBwYXR0ZXJuIGlzIGEgdHJlZSBtYXRjaGluZyBwYXR0ZXJuLgoKICAgIEl0IGxvb2tzIGZvciBhIHNwZWNpZmljIG5vZGUgdHlwZSAodG9rZW4gb3Igc3ltYm9sKSwgYW5kCiAgICBvcHRpb25hbGx5IGZvciBhIHNwZWNpZmljIGNvbnRlbnQuCgogICAgVGhpcyBpcyBhbiBhYnN0cmFjdCBiYXNlIGNsYXNzLiAgVGhlcmUgYXJlIHRocmVlIGNvbmNyZXRlCiAgICBzdWJjbGFzc2VzOgoKICAgIC0gTGVhZlBhdHRlcm4gbWF0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AHwFAIMBAHN/AHQBAHQGAHwFAIMBAIMBAIIBAHF/AFduAAB8AQB8AABfBwB8AgB8AABfCAB8AwB8AABfCQB8BAB8AABfCgBkAgBTKAMAAABzzwMAAAogICAgICAgIEluaXRpYWxpemVyLgoKICAgICAgICBBcmdzOgogICAgICAgICAgICBjb250ZW50OiBvcHRpb25hbCBzZXF1ZW5jZSBvZiBzdWJzZXF1ZW5jZXMgb2YgcGF0dGVybnM7CiAgICAgICAgICAgICAgICAgICAgIGlmIGFic2VudCwgbWF0Y2hlcyBvbmUgbm9kZTsKICAgICAgICAgICAgICAgICAgICAgaWYgcHJlc2VudCwgZWFjaCBzdWJzZXF1ZW5jZSBpcyBhbiBhbHRlcm5hdGl2ZSBbKl0KICAgICAgICAgICAgbWluOiBvcHRpb25hbCBtaW5pbXVtIG51bWJlciBvZiB0aW1lcyB0byBtYXRjaCwgZGVmYXVsdCAwCiAgICAgICAgICAgIG1heDogb3B0aW9uYWwgbWF4aW11bSBudW1iZXIgb2YgdGltZXMgdG8gbWF0Y2gsIGRlZmF1bHQgSFVHRQogICAgICAgICAgICBuYW1lOiBvcHRpb25hbCBuYW1lIGFzc2lnbmVkIHRvIHRoaXMgbWF0Y2gKCiAgICAgICAgWypdIFRodXMsIGlmIGNvbnRlbnQgaXMgW1thLCBiLCBjXSwgW2QsIGVdLCBbZiwgZywgaF1dIHRoaXMgaXMKICAgICAgICAgICAgZXF1aXZhbGVudCB0byAoYSBiIGMgfCBkIGUgfCBmIGcgaCk7IGlmIGNvbnRlbnQgaXMgTm9uZSwKICAgICAgICAgICAgdGhpcyBpcyBlcXVpdmFsZW50IHRvICcuJyBpbiByZWd1bGFyIGV4cHJlc3Npb24gdGVybXMuCiAgICAgICAgICAgIFRoZSBtaW4gYW5kIG1heCBwYXJhbWV0ZXJzIHdvcmsgYXMgZm9sbG93czoKICAgICAgICAgICAgICAgIG1pbj0wLCBtYXg9bWF4aW50OiAuKgogICAgICAgICAgICAgICAgbWluPTEsIG1heD1tYXhpbnQ6IC4rCiAgICAgICAgICAgICAgICBtaW49MCwgbWF4PTE6IC4/CiAgICAgICAgICAgICAgICBt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IGRpY3QgY29udGFpbmluZyBuYW1lZCBzdWJtYXRjaGVzLgogICAgICAgIGkAAAAAaQEAAABOKAIAAABSdQAAAFJvAAAAKAkAAAB0CAAAAHBhdHRlcm5zUnMAAAB0AQAAAHB0BAAAAHJlc3RSkQAAAFKSAAAAUpMAAABSlAAAAFJxAAAAKAAAAAAoAAAAAHN5AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWIydG8zL3B5dHJlZS5weVJ1AAAAXgMAAHMWAAAAAA0GAQ4CFQEcAQYBDgIgAQYBDQENASgTAAAAUk0AAAB0CgAAAF9fYXV0aG9yX19SUQAAAFIgAAAAUgAAAABSfwAAAFICAAAAUgwAAABSDwAAAFINAAAAUlMAAABSNwAAAFJqAAAAUmsAAABSdgAAAFJ4AAAAUnkAAABSlwAAAFJ1AAAAKAAAAAAoAAAAACgAAAAAc3kAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYjJ0bzMvcHl0cmVlLnB5dAgAAAA8bW9kdWxlPgsAAABzIgAAAAYCBgIMAQwBEAIGAgYBCQoWzxZwFk4JExZWFiwWPRa8FiM=