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AgAAAHsgcwgAAAA7IH0gMj4mMXQBAAAAcmkAAAAAcwEAAAAKKAUAAAB0AgAAAG9zdAUAAABwb3BlbnQEAAAAcmVhZHQFAAAAY2xvc2V0BAAAAE5vbmUoBQAAAFIKAAAAUgwAAAB0BAAAAHBpcGV0BAAAAHRleHR0AwAAAHN0cygAAAAAKAAAAABzcwAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvY29tbWFuZHMucHlSAgAAADgAAABzEgAAAAACDAEaAQwBDAEMAAkBEAANAWMCAAAAAwAAAAQAAABDAAAAcyUAAABkAQBkAABsAAB9AgB0AQB8AgBqAgBqAwB8AAB8AQCDAgCDAQBTKAIAAABOaf////8oBAAAAFIMAAAAUggAAAB0BAAAAHBhdGh0BAAAAGpvaW4oAwAAAHQEAAAAaGVhZHQBAAAAeFIMAAAAKAAAAAAoAAAAAHNzAAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9jb21tYW5kcy5weXQGAAAAbWsyYXJnRQAAAHMEAAAAAAEMAWMBAAAAAwAAAAMAAABDAAAAc2AAAABkAQB8AABrBwByGABkAgB8AAAXZAEAF1NkAwB9AQB4MQB8AABEXSkAfQIAfAIAZAQAawYAckQAfAEAZAUAF30BAG4AAHwBAHwCABd9AQBxJQBXfAEAZAYAF30BAHwBAFMoBwAAAE5zAQAAACdzAgAAACAncwIAAAAgInMEAAAAXCQiYHMBAAAAXHQBAAAAIigAAAAAKAMAAABSFwAAAHQBAAAAc3QBAAAAYygAAAAAKAAAAABzcwAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvY29tbWFuZHMucHlSCAAAAFEAAABzEgAAAAABDAEMAQYBDQEMAQ0BDgEKAU4oCQAAAHQHAAAAX19kb2NfX1IFAAAAUgAAAAB0BwAAAF9fYWxsX19SBAAAAFIDAAAAUgIAAABSGAAAAFIIAAAAKAAAAAAoAAAAACgAAAAAc3MAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2NvbW1hbmRzLnB5dAgAAAA8bW9kdWxlPhQAAABzFAAAAAYBEAEJAQcBAwIPCwkLCQgJDQkM