A/MNCjJc/FVjAAAAAAAAAAADAAAAQAAAAHOtAAAAZAAAWgAAZAEAZAIAbAEAWgEAZQEAagIAZAMAIGQEAGsCAHI4AGQBAGQFAGwDAG0EAFoEAAFuAABbAQBkBgBlBABmAQBkBwCEAACDAABZWgUAZAgAZQUAZgEAZAkAhAAAgwAAWVoGAGQKAGUFAGYBAGQLAIQAAIMAAFlaBwBkDABlBQBmAQBkDQCEAACDAABZWggAZA4AZQgAZgEAZA8AhAAAgwAAWVoJAGQCAFMoEAAAAHMhAAAARGlmZmVyZW50IGtpbmRzIG9mIFNBWCBFeGNlcHRpb25zaf////9OaQQAAAB0BAAAAGphdmEoAQAAAHQJAAAARXhjZXB0aW9udAwAAABTQVhFeGNlcHRpb25jAAAAAAAAAAACAAAAQgAAAHM+AAAAZQAAWgEAZAAAWgIAZAYAZAEAhAEAWgQAZAIAhAAAWgUAZAMAhAAAWgYAZAQAhAAAWgcAZAUAhAAAWggAUlMoBwAAAHPWAQAARW5jYXBzdWxhdGUgYW4gWE1MIGVycm9yIG9yIHdhcm5pbmcuIFRoaXMgY2xhc3MgY2FuIGNvbnRhaW4KICAgIGJhc2ljIGVycm9yIG9yIHdhcm5pbmcgaW5mb3JtYXRpb24gZnJvbSBlaXRoZXIgdGhlIFhNTCBwYXJzZXIgb3IKICAgIHRoZSBhcHBsaWNhdGlvbjogeW91IGNhbiBzdWJjbGFzcyBpdCB0byBwcm92aWRlIGFkZGl0aW9uYWwKICAgIGZ1bmN0aW9uYWxpdHksIG9yIHRvIGFkZCBsb2NhbGl6YXRpb24uIE5vdGUgdGhhdCBhbHRob3VnaCB5b3Ugd2lsbAogICAgcmVjZWl2ZSBhIFNBWEV4Y2VwdGlvbiBhcyB0aGUgYXJndW1lbnQgdG8gdGhlIGhhbmRsZXJzIGluIHRoZQogICAgRXJyb3JIYW5kbGVyIGludGVyZmFjZSwgeW91IGFyZSBub3QgYWN0dWFsbHkgcmVxdWlyZWQgdG8gcmFpc2UKICAgIHRoZSBleGNlcHRpb247IGluc3RlYWQsIHlvdSBjYW4gc2ltcGx5IHJlYWQgdGhlIGluZm9ybWF0aW9uIGluCiAgICBpdC5jAwAAAAMAAAADAAAAQwAAAHMmAAAAfAEAfAAAXwAAfAIAfAAAXwEAdAIAagMAfAAAfAEAgwIAAWQBAFMoAgAAAHNVAAAAQ3JlYXRlcyBhbiBleGNlcHRpb24uIFRoZSBtZXNzYWdlIGlzIHJlcXVpcmVkLCBidXQgdGhlIGV4Y2VwdGlvbgogICAgICAgIGlzIG9wdGlvbmFsLk4oBAAAAHQEAAAAX21zZ3QKAAAAX2V4Y2VwdGlvblIBAAAAdAgAAABfX2luaXRfXygDAAAAdAQAAABzZWxmdAMAAABtc2d0CQAAAGV4Y2VwdGlvbigAAAAAKAAAAABzWgAAAC9idWlsZGJvdC90bXAvYnVpbGRob3N0L2luc3RhbGwvcHJlYnVpbHQvbGludXgteDg2XzY0L2xpYi9weXRob24yLjcveG1sL3NheC9fZXhjZXB0aW9ucy5weVIFAAAAEwAAAHMGAAAAAAMJAQkBYwEAAAABAAAAAQAAAEMAAABzBwAAAHwAAGoAAFMoAQAAAHMkAAAAUmV0dXJuIGEgbWVzc2FnZSBmb3IgdGhpcyBleGNlcHRpb24uKAEAAABSAwAAACgBAAAAUgYAAAAoAAAAACgAAAAAc1oAAAAvYnVpbGRib3QvdG1wL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2xpbnV4LXg4Nl82NC9saWIvcHl0aG9uMi43L3htbC9zYXgvX2V4Y2VwdGlvbnMucHl0CgAAAGdldE1lc3NhZ2UaAAAAcwIAAAAAAmMBAAAAAQAAAAEAAABDAAAAcwcAAAB8AABqAABTKAEAAABzOQAAAFJldHVybiB0aGUgZW1iZWRkZWQgZXhjZXB0aW9uLCBvciBOb25lIGlmIHRoZXJlIHdhcyBub25lLigBAAAAUgQAAAAoAQAAAFIGAAAAKAAAAAAoAAAAAHNaAAAAL2J1aWxkYm90L3RtcC9idWlsZGhvc3QvaW5zdGFsbC9wcmVidWlsdC9saW51eC14ODZfNjQvbGliL3B5dGhvbjIuNy94bWwvc2F4L19leGNlcHRpb25zLnB5dAwAAABnZXRFeGNlcHRpb24eAAAAcwIAAAAAAmMBAAAAAQAAAAEAAABDAAAAcwcAAAB8AABqAABTKAEAAABzMAAAAENyZWF0ZSBhIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiB0aGUgZXhjZXB0aW9uLigBAAAAUgMAAAAoAQAAAFIGAAAAKAAAAAAoAAAAAHNaAAAAL2J1aWxkYm90L3RtcC9idWlsZGhvc3QvaW5zdGFsbC9wcmVidWlsdC9saW51eC14ODZfNjQvbGliL3B5dGhvbjIuNy94bWwvc2F4L19leGNlcHRpb25zLnB5dAcAAABfX3N0cl9fIgAAAHMCAAAAAAJjAgAAAAIAAAACAAAAQwAAAHMQAAAAdAAAZAEAgwEAggEAZAIAUygDAAAAc3YAAABBdm9pZHMgd2VpcmQgZXJyb3IgbWVzc2FnZXMgaWYgc29tZW9uZSBkb2VzIGV4Y2VwdGlvbltpeF0gYnkKICAgICAgICBtaXN0YWtlLCBzaW5jZSBFeGNlcHRpb24gaGFzIF9fZ2V0aXRlbV9fIGRlZmluZWQudAsAAABfX2dldGl0ZW1fX04oAQAAAHQOAAAAQXR0cmlidXRlRXJyb3IoAgAAAFIGAAAAdAIAAABpeCgAAAAAKAAAAABzWgAAAC9idWlsZGJvdC90bXAvYnVpbGRob3N0L2luc3RhbGwvcHJlYnVpbHQvbGludXgteDg2XzY0L2xpYi9weXRob24yLjcveG1sL3NheC9fZXhjZXB0aW9ucy5weVIMAAAAJgAAAHMCAAAAAANOKAkAAAB0CAAAAF9fbmFtZV9fdAoAAABfX21vZHVsZV9fdAcAAABfX2RvY19fdAQAAABOb25lUgUAAABSCQAAAFIKAAAAUgsAAABSDAAAACgAAAAAKAAAAAAoAAAAAHNaAAAAL2J1aWxkYm90L3RtcC9idWlsZGhvc3QvaW5zdGFsbC9wcmVidWlsdC9saW51eC14ODZfNjQvbGliL3B5dGhvbjIuNy94bWwvc2F4L19leGNlcHRpb25zLnB5UgIAAAAJAAAAcwwAAAAGCAYCDAcJBAkECQR0EQAAAFNBWFBhcnNlRXhjZXB0aW9uYwAAAAAAAAAAAQAAAEIAAABzRAAAAGUAAFoBAGQAAFoCAGQBAIQAAFoDAGQCAIQAAFoEAGQDAIQAAFoFAGQEAIQAAFoGAGQFAIQAAFoHAGQGAIQAAFoIAFJTKAcAAABzIwIAAEVuY2Fwc3VsYXRlIGFuIFhNTCBwYXJzZSBlcnJvciBvciB3YXJuaW5nLgoKICAgIFRoaXMgZXhjZXB0aW9uIHdpbGwgaW5jbHVkZSBpbmZvcm1hdGlvbiBmb3IgbG9jYXRpbmcgdGhlIGVycm9yIGluCiAgICB0aGUgb3JpZ2luYWwgWE1MIGRvY3VtZW50LiBOb3RlIHRoYXQgYWx0aG91Z2ggdGhlIGFwcGxpY2F0aW9uIHdpbGwKICAgIHJlY2VpdmUgYSBTQVhQYXJzZUV4Y2VwdGlvbiBhcyB0aGUgYXJndW1lbnQgdG8gdGhlIGhhbmRsZXJzIGluIHRoZQogICAgRXJyb3JIYW5kbGVyIGludGVyZmFjZSwgdGhlIGFwcGxpY2F0aW9uIGlzIG5vdCBhY3R1YWxseSByZXF1aXJlZAogICAgdG8gcmFpc2UgdGhlIGV4Y2VwdGlvbjsgaW5zdGVhZCwgaXQgY2FuIHNpbXBseSByZWFkIHRoZQogICAgaW5mb3JtYXRpb24gaW4gaXQgYW5kIHRha2UgYSBkaWZmZXJlbnQgYWN0aW9uLgoKICAgIFNpbmNlIHRoaXMgZXhjZXB0aW9uIGlzIGEgc3ViY2xhc3Mgb2YgU0FYRXhjZXB0aW9uLCBpdCBpbmhlcml0cwogICAgdGhlIGFiaWxpdHkgdG8gd3JhcCBhbm90aGVyIGV4Y2VwdGlvbi5jBAAAAAQAAAAEAAAAQwAAAHNWAAAAdAAAagEAfAAAfAEAfAIAgwMAAXwDAHwAAF8CAHwAAGoCAGoDAIMAAHwAAF8EAHwAAGoCAGoFAIMAAHwAAF8GAHwAAGoCAGoHAIMAAHwAAF8IAGQBAFMoAgAAAHNFAAAAQ3JlYXRlcyB0aGUgZXhjZXB0aW9uLiBUaGUgZXhjZXB0aW9uIHBhcmFtZXRlciBpcyBhbGxvd2VkIHRvIGJlIE5vbmUuTigJAAAAUgIAAABSBQAAAHQIAAAAX2xvY2F0b3J0CwAAAGdldFN5c3RlbUlkdAkAAABfc3lzdGVtSWR0DwAAAGdldENvbHVtbk51bWJlcnQHAAAAX2NvbG51bXQNAAAAZ2V0TGluZU51bWJlcnQIAAAAX2xpbmVudW0oBAAAAFIGAAAAUgcAAABSCAAAAHQHAAAAbG9jYXRvcigAAAAAKAAAAABzWgAAAC9idWlsZGJvdC90bXAvYnVpbGRob3N0L2luc3RhbGwvcHJlYnVpbHQvbGludXgteDg2XzY0L2xpYi9weXRob24yLjcveG1sL3Nh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ciBhbiB1bnJlY29nbml6ZWQgaWRlbnRpZmllci4KCiAgICBBbiBYTUxSZWFkZXIgd2lsbCByYWlzZSB0aGlzIGV4Y2VwdGlvbiB3aGVuIGl0IGlzIGNvbmZyb250ZWQgd2l0aCBhbgogICAgdW5yZWNvZ25pemVkIGZlYXR1cmUgb3IgcHJvcGVydHkuIFNBWCBhcHBsaWNhdGlvbnMgYW5kIGV4dGVuc2lvbnMgbWF5CiAgICB1c2UgdGhpcyBjbGFzcyBmb3Igc2ltaWxhciBwdXJwb3Nlcy4oAwAAAFIPAAAAUhAAAABSEQAAACgAAAAAKAAAAAAoAAAAAHNaAAAAL2J1aWxkYm90L3RtcC9idWlsZGhvc3QvaW5zdGFsbC9wcmVidWlsdC9saW51eC14ODZfNjQvbGliL3B5dGhvbjIuNy94bWwvc2F4L19leGNlcHRpb25zLnB5UiEAAABpAAAAcwIAAAAGBXQYAAAAU0FYTm90U3VwcG9ydGVkRXhjZXB0aW9uYwAAAAAAAAAAAQAAAEIAAABzDgAAAGUAAFoBAGQAAFoCAFJTKAEAAABzBQEAAEV4Y2VwdGlvbiBjbGFzcyBmb3IgYW4gdW5zdXBwb3J0ZWQgb3BlcmF0aW9uLgoKICAgIEFuIFhNTFJlYWRlciB3aWxsIHJhaXNlIHRoaXMgZXhjZXB0aW9uIHdoZW4gYSBzZXJ2aWNlIGl0IGNhbm5vdAogICAgcGVyZm9ybSBpcyByZXF1ZXN0ZWQgKHNwZWNpZmljYWxseSBzZXR0aW5nIGEgc3RhdGUgb3IgdmFsdWUpLiBTQVgKICAgIGFwcGxpY2F0aW9ucyBhbmQgZXh0ZW5zaW9ucyBtYXkgdXNlIHRoaXMgY2xhc3MgZm9yIHNpbWlsYXIKICAgIHB1cnBvc2VzLigDAAAAUg8AAABSEAAAAFIRAAAAKAAAAAAoAAAAACgAAAAAc1oAAAAvYnVpbGRib3QvdG1wL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2xpbnV4LXg4Nl82NC9saWIvcHl0aG9uMi43L3htbC9zYXgvX2V4Y2VwdGlvbnMucHlSIgAAAHMAAABzAgAAAAYGdBUAAABTQVhSZWFkZXJOb3RBdmFpbGFibGVjAAAAAAAAAAABAAAAQgAAAHMOAAAAZQAAWgEAZAAAWgIAUlMoAQAAAHMXAQAARXhjZXB0aW9uIGNsYXNzIGZvciBhIG1pc3NpbmcgZHJpdmVyLgoKICAgIEFuIFhNTFJlYWRlciBtb2R1bGUgKGRyaXZlcikgc2hvdWxkIHJhaXNlIHRoaXMgZXhjZXB0aW9uIHdoZW4gaXQKICAgIGlzIGZpcnN0IGltcG9ydGVkLCBlLmcuIHdoZW4gYSBzdXBwb3J0IG1vZHVsZSBjYW5ub3QgYmUgaW1wb3J0ZWQuCiAgICBJdCBhbHNvIG1heSBiZSByYWlzZWQgZHVyaW5nIHBhcnNpbmcsIGUuZy4gaWYgZXhlY3V0aW5nIGFuIGV4dGVybmFsCiAgICBwcm9ncmFtIGlzIG5vdCBwZXJtaXR0ZWQuKAMAAABSDwAAAFIQAAAAUhEAAAAoAAAAACgAAAAAKAAAAABzWgAAAC9idWlsZGJvdC90bXAvYnVpbGRob3N0L2luc3RhbGwvcHJlYnVpbHQvbGludXgteDg2XzY0L2xpYi9weXRob24yLjcveG1sL3NheC9fZXhjZXB0aW9ucy5weVIjAAAAfQAAAHMCAAAABgYoCgAAAFIRAAAAdAMAAABzeXN0CAAAAHBsYXRmb3JtdAkAAABqYXZhLmxhbmdSAQAAAFICAAAAUhMAAABSIQAAAFIiAAAAUiMAAAAoAAAAACgAAAAAKAAAAABzWgAAAC9idWlsZGJvdC90bXAvYnVpbGRob3N0L2luc3RhbGwvcHJlYnVpbHQvbGludXgteDg2XzY0L2xpYi9weXRob24yLjcveG1sL3NheC9fZXhjZXB0aW9ucy5weXQIAAAAPG1vZHVsZT4BAAAAcxIAAAAGAQwBEwETAQMEFiUWOxYKFgo=