@alphauspkgs/blue-sdk-ts 1.0.49 → 1.0.51

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/gc/v1/gc_pb.ts CHANGED
@@ -15,7 +15,69 @@ import type { JsonObject, Message } from "@bufbuild/protobuf";
15
15
  * Describes the file gc/v1/gc.proto.
16
16
  */
17
17
  export const file_gc_v1_gc: GenFile = /*@__PURE__*/
18
- fileDesc("Cg5nYy92MS9nYy5wcm90bxINYmx1ZWFwaS5nYy52MSIRCg9MaXN0T3Jnc1JlcXVlc3QiLAoaQ29tbWl0bWVudFBsYW5BcHBseVJlcXVlc3QSDgoGcGxhbklkGAEgASgJIhgKFkxpc3RDb21taXRtZW50c1JlcXVlc3QiZwoaR2V0Q29tbWl0bWVudHNDaGFydFJlcXVlc3QSFAoMY29tbWl0bWVudElkGAEgASgJEg8KB2dyb3VwQnkYAiABKAkSEQoJc3RhcnREYXRlGAMgASgJEg8KB2VuZERhdGUYBCABKAkiOAogR2V0Q29tbWl0bWVudHNVdGlsaXphdGlvblJlcXVlc3QSFAoMY29tbWl0bWVudElkGAEgASgJIh4KHFJlYWRDb21taXRtZW50UmVwb3J0c1JlcXVlc3QiOgojUmVhZENvbW1pdG1lbnRSZXBvcnRBY2NvdW50c1JlcXVlc3QSEwoFbW9udGgYASABKAlCBOJBAQIiPgoRR2V0TWV0cmljc1JlcXVlc3QSKQoIcHJvdmlkZXIYASABKA4yFy5ibHVlYXBpLmdjLnYxLlByb3ZpZGVyIqMBChRMaXN0UmVzb3VyY2VzUmVxdWVzdBIpCghwcm92aWRlchgBIAEoDjIXLmJsdWVhcGkuZ2MudjEuUHJvdmlkZXISEQoJc2VnbWVudElkGAIgASgJEg4KBnNlYXJjaBgDIAEoCRIMCgRkZXNjGAQgASgIEg8KB29yZGVyQnkYBSABKAkSDAoEcGFnZRgGIAEoBRIQCghwYWdlU2l6ZRgHIAEoBSKMAQocR2V0UmVzb3VyY2VEYWlseVVzYWdlUmVxdWVzdBISCgpyZXNvdXJjZUlkGAEgASgJEhEKCXN0YXJ0RGF0ZRgCIAEoCRIPCgdlbmREYXRlGAMgASgJEhQKDGNhdGFsb2dTa3VJZBgEIAEoCRIMCgRwYWdlGAUgASgFEhAKCHBhZ2VTaXplGAYgASgFIjMKHkxpc3RSZXNlcnZhYmxlUmVzb3VyY2VzUmVxdWVzdBIRCgljb21wYW55SWQYASABKAkiIwohTGlzdFB1cmNoYXNlUGxhbnNCeVNlZ21lbnRSZXF1ZXN0IjAKHkdldFB1cmNoYXNlUGxhbnNEZXRhaWxzUmVxdWVzdBIOCgZwbGFuSWQYASABKAkiKQonR2V0VXBkYXRlZFB1cmNoYXNlUGxhbnNCeVNlZ21lbnRSZXF1ZXN0IiYKB09yZ1VzZXISDQoFZW1haWwYASABKAkSDAoEcm9sZRgCIAEoCSIsCgpNZW1iZXJzaGlwEgwKBHJvbGUYASABKAkSEAoIdXNlcm5hbWUYAiABKAkiYgoHQWRkcmVzcxINCgVsaW5lMRgBIAEoCRIMCgRjaXR5GAIgASgJEg0KBXN0YXRlGAMgASgJEgsKA3ppcBgEIAEoCRIPCgdjb3VudHJ5GAUgASgJEg0KBWxpbmUyGAYgASgJIlQKDkF3c0V4aXN0aW5nQ3VyEg4KBnJlZ2lvbhgBIAEoCRIOCgZidWNrZXQYAiABKAkSDgoGcHJlZml4GAMgASgJEhIKCnJlcG9ydE5hbWUYBCABKAkiSwoPVGVybXNBY2NlcHRhbmNlEhAKCGFjY2VwdGVkGAEgASgIEhIKCmFjY2VwdGVkQXQYAiABKAkSEgoKYWNjZXB0ZWRCeRgDIAEoCSKLAgoSUmVnaXN0ZXJPcmdSZXF1ZXN0EgwKBG5hbWUYASABKAkSGwoTbGFicmFTdWJzY3JpcHRpb25JZBgCIAEoCRIlCgV1c2VycxgDIAMoCzIWLmJsdWVhcGkuZ2MudjEuT3JnVXNlchIOCgZkb21haW4YBCABKAkSLgoOcHJpbWFyeUFkZHJlc3MYBSABKAsyFi5ibHVlYXBpLmdjLnYxLkFkZHJlc3MSHwoXYXdzTWFya2V0cGxhY2VPZmZlckxpbmsYBiABKAkSIQoZYXp1cmVNYXJrZXRwbGFjZU9mZmVyTGluaxgHIAEoCRIfChdnY3BNYXJrZXRwbGFjZU9mZmVyTGluaxgIIAEoCSKJAQoZU3RhcnRBd3NPbmJvYXJkaW5nUmVxdWVzdBIWCg5iaWxsaW5nR3JvdXBJZBgBIAEoCRIRCgljb21wYW55SWQYAiABKAkSDwoHZ2NPcmdJZBgDIAEoCRIWCg5wYXllckFjY291bnRJZBgEIAEoCRIYChBwYXllckFjY291bnROYW1lGAUgASgJIpMBCiNHZXRBd3NDbG91ZEZvcm1hdGlvblRlbXBsYXRlUmVxdWVzdBIWCg5iaWxsaW5nR3JvdXBJZBgBIAEoCRIRCgljb21wYW55SWQYAiABKAkSDwoHZ2NPcmdJZBgDIAEoCRIWCg5wYXllckFjY291bnRJZBgEIAEoCRIYChBwYXllckFjY291bnROYW1lGAUgASgJIosBChtHZXRBd3NMYXVuY2hTdGFja1VybFJlcXVlc3QSFgoOYmlsbGluZ0dyb3VwSWQYASABKAkSEQoJY29tcGFueUlkGAIgASgJEg8KB2djT3JnSWQYAyABKAkSFgoOcGF5ZXJBY2NvdW50SWQYBCABKAkSGAoQcGF5ZXJBY2NvdW50TmFtZRgFIAEoCSK1AQoaVmVyaWZ5QXdzT25ib2FyZGluZ1JlcXVlc3QSFgoOYmlsbGluZ0dyb3VwSWQYASABKAkSEQoJY29tcGFueUlkGAIgASgJEg8KB2djT3JnSWQYAyABKAkSFAoMb25ib2FyZGluZ0lkGAQgASgJEhEKCWFjY291bnRJZBgFIAEoCRIyCgtleGlzdGluZ0N1chgGIAEoCzIdLmJsdWVhcGkuZ2MudjEuQXdzRXhpc3RpbmdDdXIiXwoaR2V0T25ib2FyZGluZ1N0YXR1c1JlcXVlc3QSFgoOYmlsbGluZ0dyb3VwSWQYASABKAkSEQoJY29tcGFueUlkGAIgASgJEhYKDnBheWVyQWNjb3VudElkGAMgASgJIhoKGExpc3RQYXllckFjY291bnRzUmVxdWVzdCJDCh1TZXRQYXllckFjY291bnRFbmFibGVkUmVxdWVzdBIRCgljb21wYW55SWQYASABKAkSDwoHZW5hYmxlZBgCIAEoCCIeChxHZXRQYXllckFjY291bnRTdGF0dXNSZXF1ZXN0IhoKGExpc3RCaWxsaW5nR3JvdXBzUmVxdWVzdCJWChxTZXRCaWxsaW5nR3JvdXBTdGF0dXNSZXF1ZXN0EhEKCWNvbXBhbnlJZBgBIAEoCRIPCgdlbmFibGVkGAIgASgIEhIKCm5ld1ZlcnNpb24YAyABKAgiHgocR2V0QmlsbGluZ0dyb3VwU3RhdHVzUmVxdWVzdCJEChtWYWxpZGF0ZUJpbGxpbmdHcm91cFJlcXVlc3QSEQoJY29tcGFueUlkGAEgASgJEhIKCm5ld1ZlcnNpb24YAiABKAgiRQoZR2V0QXdzUHJpdmF0ZU9mZmVyUmVxdWVzdBIWCg5wYXllckFjY291bnRJZBgBIAEoCRIQCghyZWNyZWF0ZRgCIAEoCCIgCh5BY2NlcHRCaWxsaW5nR3JvdXBUZXJtc1JlcXVlc3QiwgcKIVNhdmVDb21taXRtZW50c1BsYW5Bc0RyYWZ0UmVxdWVzdBIOCgZwbGFuSWQYASABKAkSFgoOcmVzZXJ2YXRpb25JZHMYAiADKAkSEwoLcmVzb3VyY2VJZHMYAyADKAkSFgoObWF4VXBmcm9udENvc3QYBCABKAESKQoIcHJvdmlkZXIYBSABKA4yFy5ibHVlYXBpLmdjLnYxLlByb3ZpZGVyEg8KB2VuZERhdGUYBiABKAkSEQoJc3RhcnREYXRlGAcgASgJEhEKCXNlZ21lbnRJZBgIIAEoCRIOCgZzdGF0dXMYCSABKAkSEwoLZGVzY3JpcHRpb24YCiABKAkSDAoEbmFtZRgLIAEoCRIeChZwcmVmZXJyZWRQYXltZW50T3B0aW9uGAwgASgJEh0KFWluY2x1ZGVkQ29udHJhY3RUZXJtcxgNIAMoCRI6ChVpbmNsdWRlZENvbnRyYWN0U3BlY3MYDiADKAsyGy5ibHVlYXBpLmdjLnYxLkNvbnRyYWN0U3BlYxIqCgpjb3ZlcmFnZUlkGA8gASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEhEKCWNyZWF0ZWRBdBgQIAEoCRIpCgljcmVhdGVkQnkYESABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSEgoKZGF0YVNvdXJjZRgSIAEoCRIvCg9leGVjdXRpb25Qb2xpY3kYEyABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSFgoOZmxhZ2dlZEFjdGlvbnMYFCADKAkSCgoCaWQYFSABKAkSFQoNaXNDYWxjdWxhdGluZxgWIAEoCBIRCglpc0RlZmF1bHQYFyABKAgSEAoIaXNMb2NrZWQYGCABKAgSFQoNaXNSZWNvbW1lbmRlZBgZIAEoCBIRCglpc1JlbmV3YWwYGiABKAgSDwoHaXNTYXZlZBgbIAEoCBIUCgxsYXN0TW9kaWZpZWQYHCABKAkSEgoKbWV0YVBsYW5JZBgdIAEoCRI6ChptaW5pbXVtVXBmcm9udEludGVyZXN0UmF0ZRgeIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRINCgVvcmdJZBgfIAEoCRIQCghwbGFuVHlwZRggIAEoCRI+Ch5yZWNvbW1lbmRXaXRoaW5Db3ZlcmVkQWNjb3VudHMYISABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSJwoHc2VnbWVudBgiIAEoCzIWLmJsdWVhcGkuZ2MudjEuU2VnbWVudCJDCh1MaXN0RHJhZnRQdXJjaGFzZVBsYW5zUmVxdWVzdBIPCgdpc0RyYWZ0GAEgASgIEhEKCWNvbXBhbnlJZBgCIAEoCSJICh5EZWxldGVEcmFmdFB1cmNoYXNlUGxhblJlcXVlc3QSEwoLZHJhZnRQbGFuSWQYASABKAkSEQoJY29tcGFueUlkGAIgASgJIjYKIkdldEF2YWlsYWJsZUNvbW1pdG1lbnRUeXBlc1JlcXVlc3QSEAoIcHJvdmlkZXIYASABKAkiowIKIUNyZWF0ZUN1c3RvbUNvbW1pdG1lbnRQbGFuUmVxdWVzdBIQCghwcm92aWRlchgBIAEoCRIRCglzdGFydERhdGUYAiABKAkSDwoHZW5kRGF0ZRgDIAEoCRIRCgljb21wYW55SWQYBCABKAkSDgoGc3RhdHVzGAUgASgJEhMKC2Rlc2NyaXB0aW9uGAYgASgJEgwKBG5hbWUYByABKAkSOgoVaW5jbHVkZWRDb250cmFjdFNwZWNzGAggAygLMhsuYmx1ZWFwaS5nYy52MS5Db250cmFjdFNwZWMSHQoVaW5jbHVkZWRDb250cmFjdFRlcm1zGAkgAygJEhMKC3Jlc291cmNlSWRzGAogAygJEhIKCmNvbXBhbnlJZHMYCyADKAkiPwopR2V0R3VhcmFudGVlZENvbW1pdG1lbnRUZW1wbGF0ZVVybFJlcXVlc3QSEgoKZXh0ZXJuYWxJZBgBIAEoCSJNCidDcmVhdGVHdWFyYW50ZWVkQ29tbWl0bWVudEFjY2Vzc1JlcXVlc3QSDgoGdGFyZ2V0GAEgASgJEhIKCmV4dGVybmFsSWQYAiABKAkigwEKG1N0YXJ0QXp1cmVPbmJvYXJkaW5nUmVxdWVzdBIWCg5iaWxsaW5nR3JvdXBJZBgBIAEoCRIRCgljb21wYW55SWQYAiABKAkSDwoHZ2NPcmdJZBgDIAEoCRIQCgh0ZW5hbnRJZBgEIAEoCRIWCg5zdWJzY3JpcHRpb25JZBgFIAEoCSLSBQocVXBkYXRlQXp1cmVPbmJvYXJkaW5nUmVxdWVzdBIUCgxvbmJvYXJkaW5nSWQYASABKAkSDwoHZ2NPcmdJZBgCIAEoCRIWCg5iaWxsaW5nR3JvdXBJZBgDIAEoCRIRCgljb21wYW55SWQYBCABKAkSEAoIdGVuYW50SWQYBSABKAkSFgoOc3Vic2NyaXB0aW9uSWQYBiABKAkSEwoLYWNjb3VudEtpbmQYByABKAkSEgoKYWNjb3VudElkcxgIIAMoCRIVCg1ibG9iQ29udGFpbmVyGAkgASgJEhUKDXJlc291cmNlR3JvdXAYCiABKAkSFgoOc3RvcmFnZUFjY291bnQYCyABKAkSEAoIcm9sZU5hbWUYDCABKAkSMwoTcmVzb3VyY2VHcm91cFJlZ2lvbhgNIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRI0ChRzdG9yYWdlQWNjb3VudFJlZ2lvbhgOIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRIxChFyZXNvdXJjZUdyb3VwVGFncxgPIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRIyChJzdG9yYWdlQWNjb3VudFRhZ3MYECABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSEQoJY29tcGxldGVkGBEgASgIEhEKCWNyZWF0ZWRBdBgSIAEoCRI6CgljcmVhdGVkQnkYEyABKAsyJy5ibHVlYXBpLmdjLnYxLkF6dXJlT25ib2FyZGluZ0NyZWF0ZWRCeRIrCgtpbnRlZ3JhdGlvbhgUIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRIVCg1pbnRlZ3JhdGlvbklkGBUgASgJEhAKCHByb3ZpZGVyGBYgASgJEisKA29yZxgXIAEoCzIeLmJsdWVhcGkuZ2MudjEuQXp1cmVBcmNoZXJhT3JnInMKIEdldEF6dXJlT25ib2FyZGluZ0F1dGhVcmxSZXF1ZXN0EhQKDG9uYm9hcmRpbmdJZBgBIAEoCRIPCgdnY09yZ0lkGAIgASgJEhAKCHRlbmFudElkGAMgASgJEhYKDnN1YnNjcmlwdGlvbklkGAQgASgJIrcFCh5WYWxpZGF0ZUF6dXJlQXBwSW5zdGFsbFJlcXVlc3QSFAoMb25ib2FyZGluZ0lkGAEgASgJEg8KB2djT3JnSWQYAiABKAkSDAoEdHlwZRgDIAEoCRIQCgh0ZW5hbnRJZBgEIAEoCRIWCg5zdWJzY3JpcHRpb25JZBgFIAEoCRITCgthY2NvdW50S2luZBgGIAEoCRISCgphY2NvdW50SWRzGAcgAygJEhUKDWJsb2JDb250YWluZXIYCCABKAkSFQoNcmVzb3VyY2VHcm91cBgJIAEoCRIWCg5zdG9yYWdlQWNjb3VudBgKIAEoCRIQCghyb2xlTmFtZRgLIAEoCRIzChNyZXNvdXJjZUdyb3VwUmVnaW9uGAwgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEjQKFHN0b3JhZ2VBY2NvdW50UmVnaW9uGA0gASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEjEKEXJlc291cmNlR3JvdXBUYWdzGA4gASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEjIKEnN0b3JhZ2VBY2NvdW50VGFncxgPIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRIRCgljb21wbGV0ZWQYECABKAgSEQoJY3JlYXRlZEF0GBEgASgJEjoKCWNyZWF0ZWRCeRgSIAEoCzInLmJsdWVhcGkuZ2MudjEuQXp1cmVPbmJvYXJkaW5nQ3JlYXRlZEJ5EisKC2ludGVncmF0aW9uGBMgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEhUKDWludGVncmF0aW9uSWQYFCABKAkSEAoIcHJvdmlkZXIYFSABKAkSKwoDb3JnGBYgASgLMh4uYmx1ZWFwaS5nYy52MS5BenVyZUFyY2hlcmFPcmciSwoiTGlzdEF6dXJlT25ib2FyZGluZ0FjY291bnRzUmVxdWVzdBIUCgxvbmJvYXJkaW5nSWQYASABKAkSDwoHZ2NPcmdJZBgCIAEoCSKUBAodQ3JlYXRlQXp1cmVJbnRlZ3JhdGlvblJlcXVlc3QSDwoHZ2NPcmdJZBgBIAEoCRIWCg5iaWxsaW5nR3JvdXBJZBgCIAEoCRIRCgljb21wYW55SWQYAyABKAkSFgoOcGF5ZXJBY2NvdW50SWQYBCABKAkSDAoEdHlwZRgFIAEoCRIQCgh0ZW5hbnRJZBgGIAEoCRIWCg5zdWJzY3JpcHRpb25JZBgHIAEoCRIUCgxvbmJvYXJkaW5nSWQYCCABKAkSEwoLYWNjb3VudEtpbmQYCSABKAkSEgoKYWNjb3VudElkcxgKIAMoCRIVCg1ibG9iQ29udGFpbmVyGAsgASgJEhUKDXJlc291cmNlR3JvdXAYDCABKAkSFgoOc3RvcmFnZUFjY291bnQYDSABKAkSEAoIcm9sZU5hbWUYDiABKAkSMwoTcmVzb3VyY2VHcm91cFJlZ2lvbhgPIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRI0ChRzdG9yYWdlQWNjb3VudFJlZ2lvbhgQIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRIxChFyZXNvdXJjZUdyb3VwVGFncxgRIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRIyChJzdG9yYWdlQWNjb3VudFRhZ3MYEiABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUiLwocTGlzdEF6dXJlSW50ZWdyYXRpb25zUmVxdWVzdBIPCgdnY09yZ0lkGAEgASgJIjEKA09yZxINCgVvcmdJZBgBIAEoCRIMCgRuYW1lGAIgASgJEg0KBWVtYWlsGAMgASgJIvMEChVDb21taXRtZW50UGxhbkRldGFpbHMSCgoCaWQYASABKAkSDAoEbmFtZRgCIAEoCRITCgtkZXNjcmlwdGlvbhgDIAEoCRINCgVvcmdJZBgEIAEoCRIRCgljcmVhdGVkQXQYBSABKAkSFQoNaXNDYWxjdWxhdGluZxgGIAEoCBIOCgZzdGF0dXMYByABKAkSDwoHbWF4VGVybRgIIAEoCRIhChljb3ZlcmVkT25kZW1hbmRDb3N0SG91cmx5GAkgASgBEiAKGGJlZm9yZU9uZGVtYW5kQ29zdEhvdXJseRgKIAEoARIgChhiZWZvcmVSZXNlcnZlZENvc3RIb3VybHkYCyABKAESGwoTYW1vcnRpemVkQ29zdEhvdXJseRgMIAEoARIbChNyZWN1cnJpbmdDb3N0SG91cmx5GA0gASgBEhkKEXVwZnJvbnRDb3N0SG91cmx5GA4gASgBEhgKEGJlZm9yZUNvc3RIb3VybHkYDyABKAESFwoPYWZ0ZXJDb3N0SG91cmx5GBAgASgBEhcKD3RvdGFsQ29zdEhvdXJseRgRIAEoARIVCg1zYXZpbmdzSG91cmx5GBIgASgBEhEKCWZlZUhvdXJseRgTIAEoARIaChJjb21taXRtZW50Q292ZXJhZ2UYFCABKAESHQoVbWluaW11bUNvbW1pdG1lbnRDb3N0GBUgASgBEhYKDmJyZWFrZXZlbkhvdXJzGBYgASgBEhQKDHRvdGFsU2F2aW5ncxgXIAEoARIWCg5tb250aGx5U2F2aW5ncxgYIAEoARIeChZ0b3RhbE1vbnRobHlCZWZvcmVDb3N0GBkgASgBIrQGChZDb21taXRtZW50UGxhbkxpbmVJdGVtEgoKAmlkGAEgASgJEg4KBnBsYW5JZBgCIAEoCRIPCgdvZmZlcklkGAMgASgJEhcKD2xlYXNlTWVudUl0ZW1JZBgEIAEoCRIRCglhY2NvdW50SWQYBSABKAkSGwoTcmVjb21tZW5kZWRRdWFudGl0eRgGIAEoARIYChBzZWxlY3RlZFF1YW50aXR5GAcgASgBEh0KFXJlY29tbWVuZGVkQ29tbWl0bWVudBgIIAEoARIaChJzZWxlY3RlZENvbW1pdG1lbnQYCSABKAESEgoKaXNTZWxlY3RlZBgKIAEoCBIaChJhZnRlckFtb3J0aXplZENvc3QYCyABKAESEwoLdXBmcm9udENvc3QYDCABKAESFQoNcmVjdXJyaW5nQ29zdBgNIAEoARISCgpiZWZvcmVDb3N0GA4gASgBEhoKEmJlZm9yZU9uZGVtYW5kQ29zdBgPIAEoARIaChJiZWZvcmVSZXNlcnZlZENvc3QYECABKAESGwoTY292ZXJlZE9uZGVtYW5kQ29zdBgRIAEoARIZChFhZnRlckNvdmVyZWRVbml0cxgSIAEoARIRCgl0b3RhbENvc3QYEyABKAESEwoLbW9udGhseUNvc3QYFCABKAESDwoHc2F2aW5ncxgVIAEoARIWCg5tb250aGx5U2F2aW5ncxgWIAEoARIUCgx0b3RhbFNhdmluZ3MYFyABKAESCwoDZmVlGBggASgBEhQKDGRpc2NvdW50UmF0ZRgZIAEoARIWCg5icmVha2V2ZW5Ib3VycxgaIAEoARIUCgxjb250cmFjdFRlcm0YGyABKAkSFQoNcGF5bWVudE9wdGlvbhgcIAEoCRItCgxjb250cmFjdFNwZWMYHSABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EiYKBW9mZmVyGB4gASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIcChRyZW5ld2FsUmVzZXJ2YXRpb25JZBgfIAEoCRIUCgxjb3ZlcmVkVW5pdHMYICABKAESFQoNYW1vcnRpemVkQ29zdBghIAEoASLXBQobQ29tbWl0bWVudFBsYW5SZXNvdXJjZU1hdGNoEgoKAmlkGAEgASgJEhIKCnRvdGFsVW5pdHMYAiABKAESHAoUYmVmb3JlVW5jb3ZlcmVkVW5pdHMYAyABKAESGQoRYWZ0ZXJDb3ZlcmVkVW5pdHMYBCABKAESGwoTYWZ0ZXJVbmNvdmVyZWRVbml0cxgFIAEoARIVCg1vbmRlbWFuZFByaWNlGAYgASgBEhkKEWlmQWxsT25kZW1hbmRDb3N0GAcgASgBEhoKEmJlZm9yZU9uZGVtYW5kQ29zdBgIIAEoARIZChFhZnRlck9uZGVtYW5kQ29zdBgJIAEoARIbChNjb3ZlcmVkT25kZW1hbmRDb3N0GAogASgBEhoKEmJlZm9yZVJlc2VydmVkQ29zdBgLIAEoARIZChFhZnRlclJlc2VydmVkQ29zdBgMIAEoARISCgpiZWZvcmVDb3N0GA0gASgBEhEKCWFmdGVyQ29zdBgOIAEoARIZChFtb250aGx5QmVmb3JlQ29zdBgPIAEoARIYChBtb250aGx5QWZ0ZXJDb3N0GBAgASgBEiAKGG1vbnRobHlBZnRlclJlc2VydmVkQ29zdBgRIAEoARIgChhtb250aGx5QWZ0ZXJPbmRlbWFuZENvc3QYEiABKAESFgoOYXZlcmFnZVNhdmluZ3MYEyABKAESHQoVYXZlcmFnZU1vbnRobHlTYXZpbmdzGBQgASgBEhEKCXVzYWdlVHlwZRgVIAEoCRIQCghjb3ZlcmFnZRgWIAEoARIpCghyZXNvdXJjZRgXIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSFAoMY292ZXJlZFVuaXRzGBggASgBEhwKFGV4cGxhbmF0aW9uVW5tYXRjaGVkGBkgASgBEhQKDG9uZGVtYW5kQ29zdBgaIAEoARIUCgxyZXNlcnZlZENvc3QYGyABKAEi7gEKBUxlYXNlEgoKAmlkGAEgASgJEg0KBW9yZ0lkGAIgASgJEh0KFXByb3ZpZGVyUmVzZXJ2YXRpb25JZBgDIAEoCRIRCglhY2NvdW50SWQYBCABKAkSDgoGc3RhdHVzGAUgASgJEhEKCXN0YXJ0RGF0ZRgGIAEoCRIPCgdlbmREYXRlGAcgASgJEhIKCmxvY2tpbkRhdGUYCCABKAkSEwoLdXBmcm9udENvc3QYCSABKAESFQoNcmVjdXJyaW5nQ29zdBgKIAEoARIRCgljcmVhdGVkQXQYCyABKAkSEQoJdXBkYXRlZEF0GAwgASgJIkkKEERhaWx5VXRpbGl6YXRpb24SDAoEZGF0ZRgBIAEoCRITCgt1dGlsaXphdGlvbhgCIAEoARISCgpuZXRTYXZpbmdzGAMgASgBItAHCgpDb21taXRtZW50EgoKAmlkGAEgASgJEhEKCWFjY291bnRJZBgCIAEoCRIVCg1hbW9ydGl6ZWRDb3N0GAMgASgBEhgKEGJpbGxpbmdBY2NvdW50SWQYBCABKAkSEQoJY2FuUmViYXRlGAUgASgIEhQKDGNvbnRyYWN0VGVybRgGIAEoCRITCgtkaXNwbGF5TmFtZRgHIAEoCRIXCg9kdXJhdGlvblNlY29uZHMYCCABKAESHgoWZWZmZWN0aXZlSW5zdGFuY2VDb3VudBgJIAEoAxIPCgdlbmREYXRlGAogASgJEhUKDWluc3RhbmNlQ291bnQYCyABKAMSFgoOaW5zdGFuY2VGYW1pbHkYDCABKAkSFAoMaW5zdGFuY2VUeXBlGA0gASgJEhAKCGlzQWN0aXZlGA4gASgIEhIKCmlzRmxleGlibGUYDyABKAgSEAoIaXNMZWFzZWQYECABKAgSEQoJaXNNdWx0aUF6GBEgASgIEhcKD2xlYXNlTG9ja2luRGF0ZRgSIAEoCRISCgpsZWFzZVN0YXJ0GBMgASgJEhkKEWxlYXNlZERpc3BsYXlOYW1lGBQgASgJEhMKC21vbnRobHlDb3N0GBUgASgBEhYKDm1vbnRobHlTYXZpbmdzGBYgASgBEgwKBG5hbWUYFyABKAkSEgoKbmV0U2F2aW5ncxgYIAEoARISCgpvZmZlcmluZ0lkGBkgASgJEhUKDXBheW1lbnRPcHRpb24YGiABKAkSGAoQcG90ZW50aWFsU2F2aW5ncxgbIAEoARIaChJwcm9kdWN0RGVzY3JpcHRpb24YHCABKAkSEAoIcHJvdmlkZXIYHSABKAkSHgoWcHJvdmlkZXJSZXNlcnZhdGlvbl9pZBgeIAEoCRIVCg1yZWN1cnJpbmdDb3N0GB8gASgBEg4KBnJlZ2lvbhggIAEoCRITCgtyZW5ld2FsUGxhbhghIAEoCRIWCg5yZXNlcnZhdGlvbkVuZBgiIAEoCRIYChByZXNlcnZhdGlvblN0YXJ0GCMgASgJEhQKDHJ1bm5pbmdIb3VycxgkIAEoARIPCgdzYXZpbmdzGCUgASgBEhEKCXN0YXJ0RGF0ZRgmIAEoCRIOCgZzdGF0dXMYJyABKAkSHgoWdHJhbnNmZXJSZXNlcnZhdGlvbkVuZBgoIAEoCRIgChh0cmFuc2ZlclJlc2VydmF0aW9uU3RhcnQYKSABKAkSDAoEdHlwZRgqIAEoCRITCgt1cGZyb250Q29zdBgrIAEoARITCgt1dGlsaXphdGlvbhgsIAEoASJJChdMaXN0Q29tbWl0bWVudHNSZXNwb25zZRIuCgtjb21taXRtZW50cxgBIAMoCzIZLmJsdWVhcGkuZ2MudjEuQ29tbWl0bWVudCJKChRDb21taXRtZW50c0NoYXJ0RGF0YRIMCgRkYXRlGAEgASgJEhAKCGNoYXJ0S2V5GAIgASgJEhIKCmNoYXJ0VmFsdWUYAyABKAEiTQoYQ29tbWl0bWVudHNDaGFydFJlc3BvbnNlEjEKBGRhdGEYASADKAsyIy5ibHVlYXBpLmdjLnYxLkNvbW1pdG1lbnRzQ2hhcnREYXRhIvwBChpDb21taXRtZW50c1V0aWxpemF0aW9uRGF0YRIXCg91dGlsaXphdGlvbkRhdGUYASABKAkSDAoEY29zdBgCIAEoARITCgtjb3ZlcmVkQ29zdBgDIAEoARIPCgdncmlGZWVzGAQgASgBEhIKCm5ldFNhdmluZ3MYBSABKAESGAoQcG90ZW50aWFsU2F2aW5ncxgGIAEoARIeChZyZXNlcnZhdGlvblV0aWxpemF0aW9uGAcgASgBEhQKDHJ1bm5pbmdIb3VycxgIIAEoARIPCgdzYXZpbmdzGAkgASgBEhwKFHVudXRpbGl6ZWRDb21taXRtZW50GAogASgBIlkKHkNvbW1pdG1lbnRzVXRpbGl6YXRpb25SZXNwb25zZRI3CgRkYXRhGAEgAygLMikuYmx1ZWFwaS5nYy52MS5Db21taXRtZW50c1V0aWxpemF0aW9uRGF0YSLQAQoQQ29tbWl0bWVudFJlcG9ydBINCgVtb250aBgBIAEoCRIWCg5iaWxsVW5hZGp1c3RlZBgCIAEoARIVCg1iaWxsT3B0aW1pemVkGAMgASgBEhQKDGdyb3NzU2F2aW5ncxgEIAEoARITCgtyaXNrUHJlbWl1bRgFIAEoARIPCgdyZWJhdGVzGAYgASgBEhIKCm5ldFNhdmluZ3MYByABKAESFAoMcmV2ZW51ZVNoYXJlGAggASgBEhgKEHJldmVudWVTaGFyZVJhdGUYCSABKAEi6AEKF0NvbW1pdG1lbnRSZXBvcnRBY2NvdW50EhYKDmJpbGxpbmdHcm91cElkGAEgASgJEhgKEGJpbGxpbmdHcm91cE5hbWUYAiABKAkSEQoJYWNjb3VudElkGAMgASgJEhMKC2FjY291bnROYW1lGAQgASgJEg0KBWNsb3VkGAUgASgJEhQKDGdyb3NzU2F2aW5ncxgGIAEoARITCgtyaXNrUHJlbWl1bRgHIAEoARIPCgdyZWJhdGVzGAggASgBEhIKCm5ldFNhdmluZ3MYCSABKAESFAoMcmV2ZW51ZVNoYXJlGAogASgBIs0DCg9NZXRyaWNzUmVzcG9uc2USFwoPbGlmZXRpbWVTYXZpbmdzGAEgASgBEhIKCm10ZFNhdmluZ3MYAiABKAESIQoZcHVyY2hhc2VBdXRvbWF0aW9uRW5hYmxlZBgDIAEoCBIgChhidXliYWNrQXV0b21hdGlvbkVuYWJsZWQYBCABKAgSFwoPaGFzQWN0aW9uZWRQbGFuGAUgASgIEhkKEWhhc1BlbmRpbmdBY3Rpb25zGAYgASgIEhsKE2xhdGVzdEV4ZWN1dGlvbkRhdGUYByABKAkSHQoVcHVyY2hhc2VNaXNzZWRTYXZpbmdzGAggASgBEhwKFGJ1eWJhY2tNaXNzZWRTYXZpbmdzGAkgASgBEh8KF3RvdGFsRGFpbHlNaXNzZWRTYXZpbmdzGAogASgBEhsKE2hvdXJseU1pc3NlZFNhdmluZ3MYCyABKAESHgoWbWlzc2VkU2F2aW5nc1N0YXJ0RGF0ZRgMIAEoCRIcChRtaXNzZWRTYXZpbmdzRW5kRGF0ZRgNIAEoCRIXCg9leHBpcmluZ1NhdmluZ3MYDiABKAESEAoIY292ZXJhZ2UYDyABKAESEwoLdXRpbGl6YXRpb24YECABKAEiiAgKCFJlc291cmNlEgoKAmlkGAEgASgJEhIKCnJlc291cmNlSWQYAiABKAkSKQoIcHJvdmlkZXIYAyABKA4yFy5ibHVlYXBpLmdjLnYxLlByb3ZpZGVyEhoKEnByb3ZpZGVyUmVzb3VyY2VJZBgEIAEoCRIOCgZpc1Nwb3QYBSABKAgSDAoEbmFtZRgGIAEoCRIVCg1yZXNvdXJjZUdyb3VwGAcgASgJEhAKCHVzYWdlRW5kGAggASgJEhIKCnVzYWdlU3RhcnQYCSABKAkSJQoEdGFncxgKIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSEQoJY3JlYXRlZEF0GAsgASgJEhEKCXVwZGF0ZWRBdBgMIAEoCRISCgppbnN0YW5jZUlkGA0gASgJEhgKEGJpbGxpbmdBY2NvdW50SWQYDiABKAkSFAoMc3ViQWNjb3VudElkGA8gASgJEhsKE21hbmFnZW1lbnRBY2NvdW50SWQYECABKAkSFgoOb3duZXJBY2NvdW50SWQYESABKAkSEAoIc2t1VGl0bGUYEiABKAkSDwoHc2t1TmFtZRgTIAEoCRIYChBhdmFpbGFiaWxpdHlab25lGBQgASgJEhMKC2NhY2hlRW5naW5lGBUgASgJEhYKDmRhdGFiYXNlRW5naW5lGBYgASgJEhMKC2Rlc2NyaXB0aW9uGBcgASgJEg4KBmZhbWlseRgYIAEoCRIWCg5mdWxsUmVnaW9uTmFtZRgZIAEoCRIYChBoYXNPbmRlbWFuZFRlcm1zGBogASgIEhQKDGluc3RhbmNlVHlwZRgbIAEoCRIaChJpbnN0YW5jZVR5cGVGYW1pbHkYHCABKAkSFAoMaXNSZXNlcnZhYmxlGB0gASgIEhQKDGxpY2Vuc2VNb2RlbBgeIAEoCRIUCgxsb2NhdGlvblR5cGUYHyABKAkSHwoXbm9ybWFsaXphdGlvblNpemVGYWN0b3IYICABKAkSFwoPb3BlcmF0aW5nU3lzdGVtGCEgASgJEhYKDnByZUluc3RhbGxlZFN3GCIgASgJEhUKDXByaWNlQ3VycmVuY3kYIyABKAkSFwoPcHJvdmlkZXJTZXJ2aWNlGCQgASgJEhUKDXByb3ZpZGVyU2t1SWQYJSABKAkSFwoPcHVibGljYXRpb25EYXRlGCYgASgJEg4KBnJlZ2lvbhgnIAEoCRIPCgdzZXJ2aWNlGCggASgJEg8KB3RlbmFuY3kYKSABKAkSEQoJdXNhZ2VUeXBlGCogASgJEg8KB3ZlcnNpb24YKyABKAkSHAoUdnBjTmV0d29ya2luZ1N1cHBvcnQYLCABKAgSGQoRb25kZW1hbmRVc2FnZVVuaXQYLSABKAkiQwoVTGlzdFJlc291cmNlc1Jlc3BvbnNlEioKCXJlc291cmNlcxgBIAMoCzIXLmJsdWVhcGkuZ2MudjEuUmVzb3VyY2Ui7wIKElJlc291cmNlRGFpbHlVc2FnZRIMCgRkYXRlGAEgASgJEhYKDnVzYWdlQWNjb3VudElkGAIgASgJEhQKDHN1YkFjY291bnRJZBgDIAEoCRINCgV1c2FnZRgEIAEoARIYChByZXNlcnZhdGlvblVzYWdlGAUgASgBEhUKDWZyZWVUaWVyVXNhZ2UYBiABKAESFAoMb25kZW1hbmRDb3N0GAcgASgBEhQKDHJlc2VydmVkQ29zdBgIIAEoARIZChFpZkFsbE9uZGVtYW5kQ29zdBgJIAEoARIQCghzcG90Q29zdBgKIAEoARIXCg9mcmVlVGllclNhdmluZ3MYCyABKAESEQoJdXNhZ2VUeXBlGAwgASgJEhcKD2NvbW1vblVzYWdlVHlwZRgNIAEoCRIUCgxjb3ZlcmVkVXNhZ2UYDiABKAESDgoGdXB0aW1lGA8gASgBEhkKEXByb3ZpZGVyVXNhZ2VUeXBlGBAgASgJIlYKHUdldFJlc291cmNlRGFpbHlVc2FnZVJlc3BvbnNlEjUKCmRhaWx5VXNhZ2UYASADKAsyIS5ibHVlYXBpLmdjLnYxLlJlc291cmNlRGFpbHlVc2FnZSKDEAoSUmVzZXJ2YWJsZVJlc291cmNlEgoKAmlkGAEgASgJEhIKCnJlc291cmNlSWQYAiABKAkSGAoQYmlsbGluZ0FjY291bnRJZBgDIAEoCRIUCgxzdWJBY2NvdW50SWQYBCABKAkSEAoIcHJvdmlkZXIYBSABKAkSGgoScHJvdmlkZXJSZXNvdXJjZUlkGAYgASgJEhcKD3Byb3ZpZGVyU2VydmljZRgHIAEoCRIVCg1wcm92aWRlclNrdUlkGAggASgJEg4KBmlzU3BvdBgJIAEoCBIUCgxpc1Jlc2VydmFibGUYCiABKAgSJAoEbmFtZRgLIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRItCg1yZXNvdXJjZUdyb3VwGAwgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEhAKCHVzYWdlRW5kGA0gASgJEhIKCnVzYWdlU3RhcnQYDiABKAkSJQoEdGFncxgPIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSLQoMcHJvdmlkZXJUYWdzGBAgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIpCgh1c2VyVGFncxgRIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSEQoJY3JlYXRlZEF0GBIgASgJEhEKCXVwZGF0ZWRBdBgTIAEoCRISCgppbnN0YW5jZUlkGBQgASgJEjAKEGF2YWlsYWJpbGl0eVpvbmUYFSABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSKwoLY2FjaGVFbmdpbmUYFiABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSFAoMY2F0YWxvZ1NrdUlkGBcgASgJEhcKD2NhdGFsb2dTa3VPcmdJZBgYIAEoCRIgChhjbGFzc2ljTmV0d29ya2luZ1N1cHBvcnQYGSABKAgSEgoKY2xvY2tTcGVlZBgaIAEoCRIXCg9jb21tb25Vc2FnZVR5cGUYGyABKAkSFAoMY292ZXJlZFVzYWdlGBwgASgBEi4KDmRhdGFiYXNlRW5naW5lGB0gASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEh4KFmRlZGljYXRlZEVic1Rocm91Z2hwdXQYHiABKAkSKwoLZGVzY3JpcHRpb24YHyABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSCwoDZWN1GCAgASgJEiMKG2VuaGFuY2VkTmV0d29ya2luZ1N1cHBvcnRlZBghIAEoCBIOCgZmYW1pbHkYIiABKAkSFgoOZnVsbFJlZ2lvbk5hbWUYIyABKAkSGAoQaGFzT25kZW1hbmRUZXJtcxgkIAEoCBIPCgdpY29uVXJsGCUgASgJEhUKDWludGVncmF0aW9uSWQYJiABKAkSGgoSaW50ZWxBdngyQXZhaWxhYmxlGCcgASgIEhkKEWludGVsQXZ4QXZhaWxhYmxlGCggASgIEhsKE2ludGVsVHVyYm9BdmFpbGFibGUYKSABKAgSIgoCaW8YKiABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSGwoTaXNDdXJyZW50R2VuZXJhdGlvbhgrIAEoCBIpCglpc011bHRpQXoYLCABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSFAoMbGljZW5zZU1vZGVsGC0gASgJEhQKDGxvY2F0aW9uVHlwZRguIAEoCRIOCgZtZW1vcnkYLyABKAkSJwoHc2t1TmFtZRgwIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRIQCghza3VUaXRsZRgxIAEoCRIPCgduZXRDb3N0GDIgASgBEhIKCm5ldFNhdmluZ3MYMyABKAESGgoSbmV0d29ya1BlcmZvcm1hbmNlGDQgASgJEh8KF25vcm1hbGl6YXRpb25TaXplRmFjdG9yGDUgASgJEhQKDG9uZGVtYW5kQ29zdBg2IAEoARIZChFvbmRlbWFuZFVzYWdlVW5pdBg3IAEoCRIXCg9vcGVyYXRpbmdTeXN0ZW0YOCABKAkSEQoJb3BlcmF0aW9uGDkgASgJEhkKEXBoeXNpY2FsUHJvY2Vzc29yGDogASgJEhYKDnByZUluc3RhbGxlZFN3GDsgASgJEhUKDXByaWNlQ3VycmVuY3kYPCABKAkSHQoVcHJvY2Vzc29yQXJjaGl0ZWN0dXJlGD0gASgJEhkKEXByb2Nlc3NvckZlYXR1cmVzGD4gASgJEhcKD3B1YmxpY2F0aW9uRGF0ZRg/IAEoCRIOCgZyZWdpb24YQCABKAkSDwoHc2VydmljZRhBIAEoCRIOCgZzb3VyY2UYQiABKAkSDwoHc3RvcmFnZRhDIAEoCRInCgd0YXhUeXBlGEQgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEg8KB3RlbmFuY3kYRSABKAkSDgoGdXB0aW1lGEYgASgBEhEKCXVzYWdlVHlwZRhHIAEoCRIMCgR2Y3B1GEggASgJEg8KB3ZlcnNpb24YSSABKAkSHAoUdnBjTmV0d29ya2luZ1N1cHBvcnQYSiABKAgSFAoMaW5zdGFuY2VUeXBlGEsgASgJEhoKEmluc3RhbmNlVHlwZUZhbWlseRhMIAEoCRI2CgtkYWlseVVzYWdlcxhNIAMoCzIhLmJsdWVhcGkuZ2MudjEuUmVzb3VyY2VEYWlseVVzYWdlIlcKH0xpc3RSZXNlcnZhYmxlUmVzb3VyY2VzUmVzcG9uc2USNAoJcmVzb3VyY2VzGAEgAygLMiEuYmx1ZWFwaS5nYy52MS5SZXNlcnZhYmxlUmVzb3VyY2UidAoHU2VnbWVudBIKCgJpZBgBIAEoCRIMCgRuYW1lGAIgASgJEikKCHByb3ZpZGVyGAMgASgOMhcuYmx1ZWFwaS5nYy52MS5Qcm92aWRlchIRCglpc0RlZmF1bHQYBCABKAgSEQoJY3JlYXRlZEF0GAUgASgJIkAKDlNlZ21lbnRDcmVhdG9yEgoKAmlkGAEgASgJEhAKCHVzZXJuYW1lGAIgASgJEhAKCGZ1bGxOYW1lGAMgASgJIksKDFB1cmNoYXNlUGxhbhIKCgJpZBgBIAEoCRIMCgRuYW1lGAIgASgJEg4KBnN0YXR1cxgDIAEoCRIRCglpc1JlbmV3YWwYBCABKAgipQUKDlNlZ21lbnREZXRhaWxzEgoKAmlkGAEgASgJEgwKBG5hbWUYAiABKAkSEwoLZGVzY3JpcHRpb24YAyABKAkSKQoIcHJvdmlkZXIYBCABKA4yFy5ibHVlYXBpLmdjLnYxLlByb3ZpZGVyEhYKDmNsb3VkUHJvdmlkZXJzGAUgAygJEhEKCWlzRGVmYXVsdBgGIAEoCBIRCgljcmVhdGVkQXQYByABKAkSMAoJY3JlYXRlZEJ5GAggASgLMh0uYmx1ZWFwaS5nYy52MS5TZWdtZW50Q3JlYXRvchIQCghwYXJlbnRJZBgJIAEoCRIOCgZzdGF0dXMYCiABKAkSFAoMc2VnbWVudENsYXNzGAsgASgJEicKBnBhcmFtcxgMIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSEwoLbW9udGhseUNvc3QYDSABKAESFgoObW9udGhseU5ldENvc3QYDiABKAESIAoYbW9udGhseUlmQWxsT25kZW1hbmRDb3N0GA8gASgBEhsKE21vbnRobHlPbmRlbWFuZENvc3QYECABKAESGwoTbW9udGhseVJlc2VydmVkQ29zdBgRIAEoARIXCg9tb250aGx5U3BvdENvc3QYEiABKAESFgoObW9udGhseVNhdmluZ3MYEyABKAESFQoNbW9udGhseUJ1ZGdldBgUIAEoARIQCghjb3ZlcmFnZRgVIAEoARIbChNyZWNvbW1lbmRlZENvdmVyYWdlGBYgASgBEhYKDnRhcmdldENvdmVyYWdlGBcgASgBEhwKFG1vbnRobHlSZXNvdXJjZUNvdW50GBggASgFEjIKDXB1cmNoYXNlUGxhbnMYGSADKAsyGy5ibHVlYXBpLmdjLnYxLlB1cmNoYXNlUGxhbiJ4CgxDb250cmFjdFNwZWMSFgoOY29tbWl0bWVudFR5cGUYASABKAkSFQoNcGF5bWVudE9wdGlvbhgCIAEoCRIMCgR0ZXJtGAMgASgJEisKCnByb3BlcnRpZXMYBCABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0It4CCgtQbGFuU3VtbWFyeRILCgNrZXkYASABKAkSEAoIcHJvdmlkZXIYAiABKAkSFgoObnVtQ29tbWl0bWVudHMYAyABKAUSFQoNbWluQ29tbWl0bWVudBgEIAEoARIZChFtb250aGx5Q29tbWl0bWVudBgFIAEoARITCgt1cGZyb250Q29zdBgGIAEoARISCgptaW5TYXZpbmdzGAcgASgBEhIKCm1heFNhdmluZ3MYCCABKAESFgoObW9udGhseVNhdmluZ3MYCSABKAESFAoMbWluVGVybUhvdXJzGAogASgFEhQKDG1heFRlcm1Ib3VycxgLIAEoBRITCgtncmlQcmVtaXVtcxgMIAEoARIaChJiZWZvcmVPbmRlbWFuZENvc3QYDSABKAESGQoRYWZ0ZXJPbmRlbWFuZENvc3QYDiABKAESGQoRaWZBbGxPbmRlbWFuZENvc3QYDyABKAEi5QIKDlNlcnZpY2VTdW1tYXJ5EgsKA2tleRgBIAEoCRIMCgRuYW1lGAIgASgJEhMKC3NlcnZpY2VOYW1lGAMgASgJEhAKCHByb3ZpZGVyGAQgASgJEhYKDm51bUNvbW1pdG1lbnRzGAUgASgFEhcKD2N1cnJlbnRDb3ZlcmFnZRgGIAEoARIZChFwb3RlbnRpYWxDb3ZlcmFnZRgHIAEoARIVCg1taW5Db21taXRtZW50GAggASgBEhkKEW1vbnRobHlDb21taXRtZW50GAkgASgBEhMKC3VwZnJvbnRDb3N0GAogASgBEhIKCm1pblNhdmluZ3MYCyABKAESEgoKbWF4U2F2aW5ncxgMIAEoARIWCg5tb250aGx5U2F2aW5ncxgNIAEoARIUCgxtaW5UZXJtSG91cnMYDiABKAUSFAoMbWF4VGVybUhvdXJzGA8gASgFEhIKCmdyaVByZW1pdW0YECABKAEi2gEKEEFnZ3JlZ2F0ZU1ldHJpY3MSFwoPY3VycmVudENvdmVyYWdlGAEgASgBEhkKEXBvdGVudGlhbENvdmVyYWdlGAIgASgBEkEKCXN1bW1hcmllcxgDIAMoCzIuLmJsdWVhcGkuZ2MudjEuQWdncmVnYXRlTWV0cmljcy5TdW1tYXJpZXNFbnRyeRpPCg5TdW1tYXJpZXNFbnRyeRILCgNrZXkYASABKAkSLAoFdmFsdWUYAiABKAsyHS5ibHVlYXBpLmdjLnYxLlNlcnZpY2VTdW1tYXJ5OgI4ASLOCwoTRGVmYXVsdFB1cmNoYXNlUGxhbhIKCgJpZBgBIAEoCRIMCgRuYW1lGAIgASgJEhMKC2Rlc2NyaXB0aW9uGAMgASgJEg0KBW9yZ0lkGAQgASgJEhEKCXNlZ21lbnRJZBgFIAEoCRInCgdzZWdtZW50GAYgASgLMhYuYmx1ZWFwaS5nYy52MS5TZWdtZW50Eg4KBnN0YXR1cxgHIAEoCRIQCghwbGFuVHlwZRgIIAEoCRIRCgljcmVhdGVkQXQYCSABKAkSFAoMbGFzdE1vZGlmaWVkGAogASgJEikKCWNyZWF0ZWRCeRgLIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRIvCg9leGVjdXRpb25Qb2xpY3kYDCABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSEQoJaXNEZWZhdWx0GA0gASgIEhUKDWlzUmVjb21tZW5kZWQYDiABKAgSEQoJaXNSZW5ld2FsGA8gASgIEhUKDWlzQ2FsY3VsYXRpbmcYECABKAgSEAoIaXNMb2NrZWQYESABKAgSDwoHaXNTYXZlZBgSIAEoCBI6ChVpbmNsdWRlZENvbnRyYWN0U3BlY3MYEyADKAsyGy5ibHVlYXBpLmdjLnYxLkNvbnRyYWN0U3BlYxIdChVpbmNsdWRlZENvbnRyYWN0VGVybXMYFCADKAkSDwoHbWF4VGVybRgVIAEoCRIeChZwcmVmZXJyZWRQYXltZW50T3B0aW9uGBYgASgJEhYKDm1heFVwZnJvbnRDb3N0GBcgASgBEiIKGm1pbmltdW1VcGZyb250SW50ZXJlc3RSYXRlGBggASgBEj4KHnJlY29tbWVuZFdpdGhpbkNvdmVyZWRBY2NvdW50cxgZIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRIRCglzdGFydERhdGUYGiABKAkSDwoHZW5kRGF0ZRgbIAEoCRISCgpkYXRhU291cmNlGBwgASgJEhIKCmJlZm9yZUNvc3QYHSABKAESEQoJYWZ0ZXJDb3N0GB4gASgBEhoKEmJlZm9yZU9uZGVtYW5kQ29zdBgfIAEoARIaChJiZWZvcmVSZXNlcnZlZENvc3QYICABKAESGwoTY292ZXJlZE9uZGVtYW5kQ29zdBghIAEoARIVCg1hbW9ydGl6ZWRDb3N0GCIgASgBEhUKDXJlY3VycmluZ0Nvc3QYIyABKAESEwoLdXBmcm9udENvc3QYJCABKAESEQoJdG90YWxDb3N0GCUgASgBEh4KFnRvdGFsTW9udGhseUJlZm9yZUNvc3QYJiABKAESDwoHc2F2aW5ncxgnIAEoARIWCg5tb250aGx5U2F2aW5ncxgoIAEoARIUCgx0b3RhbFNhdmluZ3MYKSABKAESCwoDZmVlGCogASgBEhoKEmNvbW1pdG1lbnRDb3ZlcmFnZRgrIAEoARIdChVtaW5pbXVtQ29tbWl0bWVudENvc3QYLCABKAESFgoOYnJlYWtldmVuSG91cnMYLSABKAESOQoQYWdncmVnYXRlTWV0cmljcxguIAEoCzIfLmJsdWVhcGkuZ2MudjEuQWdncmVnYXRlTWV0cmljcxItCglzdW1tYXJpZXMYLyADKAsyGi5ibHVlYXBpLmdjLnYxLlBsYW5TdW1tYXJ5EhYKDnJlc2VydmF0aW9uSWRzGDAgAygJEhMKC3Jlc291cmNlSWRzGDEgAygJEhYKDmZsYWdnZWRBY3Rpb25zGDIgAygJEhIKCm1ldGFQbGFuSWQYMyABKAkSEgoKY292ZXJhZ2VJZBg0IAEoCRIYChBtb250aGx5QWZ0ZXJDb3N0GDUgASgBEhwKFG1vbnRobHlBbW9ydGl6ZWRDb3N0GDYgASgBEhkKEW1vbnRobHlCZWZvcmVDb3N0GDcgASgBEhIKCm1vbnRobHlGZWUYOCABKAESEAoIYWxsVGVybXMYOSADKAkiVwoiTGlzdFB1cmNoYXNlUGxhbnNCeVNlZ21lbnRSZXNwb25zZRIxCgVwbGFucxgBIAMoCzIiLmJsdWVhcGkuZ2MudjEuRGVmYXVsdFB1cmNoYXNlUGxhbiJdCihHZXRVcGRhdGVkUHVyY2hhc2VQbGFuc0J5U2VnbWVudFJlc3BvbnNlEjEKBXBsYW5zGAEgAygLMiIuYmx1ZWFwaS5nYy52MS5EZWZhdWx0UHVyY2hhc2VQbGFuIkEKD1BsYW5IaXN0b3J5VXNlchIKCgJpZBgBIAEoCRIQCgh1c2VybmFtZRgCIAEoCRIQCghmdWxsTmFtZRgDIAEoCSL3AQoQUGxhbkhpc3RvcnlFbnRyeRIKCgJpZBgBIAEoCRIPCgdtZXNzYWdlGAIgASgJEg0KBW9yZ0lkGAMgASgJEhcKD3JlbGF0ZWRPYmplY3RJZBgEIAEoCRIZChFyZWxhdGVkT2JqZWN0VHlwZRgFIAEoCRIRCgl0aW1lc3RhbXAYBiABKAkSDAoEdHlwZRgHIAEoCRIOCgZ1c2VySWQYCCABKAkSJAoEZGF0YRgJIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRIsCgR1c2VyGAogASgLMh4uYmx1ZWFwaS5nYy52MS5QbGFuSGlzdG9yeVVzZXIihAIKE1JlZ2lzdGVyT3JnUmVzcG9uc2USCgoCaWQYASABKAkSDAoEbmFtZRgCIAEoCRIuCgttZW1iZXJzaGlwcxgDIAMoCzIZLmJsdWVhcGkuZ2MudjEuTWVtYmVyc2hpcBIOCgZkb21haW4YBCABKAkSLgoOcHJpbWFyeUFkZHJlc3MYBSABKAsyFi5ibHVlYXBpLmdjLnYxLkFkZHJlc3MSHwoXYXdzTWFya2V0cGxhY2VPZmZlckxpbmsYBiABKAkSIQoZYXp1cmVNYXJrZXRwbGFjZU9mZmVyTGluaxgHIAEoCRIfChdnY3BNYXJrZXRwbGFjZU9mZmVyTGluaxgIIAEoCSIyChpTdGFydEF3c09uYm9hcmRpbmdSZXNwb25zZRIUCgxvbmJvYXJkaW5nSWQYASABKAkiUQokR2V0QXdzQ2xvdWRGb3JtYXRpb25UZW1wbGF0ZVJlc3BvbnNlEikKCHRlbXBsYXRlGAEgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCIrChxHZXRBd3NMYXVuY2hTdGFja1VybFJlc3BvbnNlEgsKA3VybBgBIAEoCSKPBAobVmVyaWZ5QXdzT25ib2FyZGluZ1Jlc3BvbnNlElQKBmNoZWNrcxgBIAMoCzJELmJsdWVhcGkuZ2MudjEuVmVyaWZ5QXdzT25ib2FyZGluZ1Jlc3BvbnNlLkF3c09uYm9hcmRpbmdGZWF0dXJlQ2hlY2samQMKGUF3c09uYm9hcmRpbmdGZWF0dXJlQ2hlY2sSDwoHZmVhdHVyZRgBIAEoCRJvCgZzdGF0dXMYAiABKA4yXy5ibHVlYXBpLmdjLnYxLlZlcmlmeUF3c09uYm9hcmRpbmdSZXNwb25zZS5Bd3NPbmJvYXJkaW5nRmVhdHVyZUNoZWNrLkF3c09uYm9hcmRpbmdGZWF0dXJlU3RhdHVzIvkBChpBd3NPbmJvYXJkaW5nRmVhdHVyZVN0YXR1cxItCilBV1NfT05CT0FSRElOR19GRUFUVVJFX1NUQVRVU19VTlNQRUNJRklFRBAAEisKJ0FXU19PTkJPQVJESU5HX0ZFQVRVUkVfU1RBVFVTX0FWQUlMQUJMRRABEikKJUFXU19PTkJPQVJESU5HX0ZFQVRVUkVfU1RBVFVTX1dBUk5JTkcQAhIpCiVBV1NfT05CT0FSRElOR19GRUFUVVJFX1NUQVRVU19NSVNTSU5HEAMSKQolQVdTX09OQk9BUkRJTkdfRkVBVFVSRV9TVEFUVVNfVU5LTk9XThAEItUFChtHZXRPbmJvYXJkaW5nU3RhdHVzUmVzcG9uc2USDQoFZm91bmQYASABKAgSDQoFaXNNc3AYAiABKAgSKQoIcHJvdmlkZXIYAyABKA4yFy5ibHVlYXBpLmdjLnYxLlByb3ZpZGVyEg8KB2djT3JnSWQYBCABKAkSFAoMb25ib2FyZGluZ0lkGAUgASgJElUKEG9uYm9hcmRpbmdTdGF0dXMYBiABKA4yOy5ibHVlYXBpLmdjLnYxLkdldE9uYm9hcmRpbmdTdGF0dXNSZXNwb25zZS5PbmJvYXJkaW5nU3RhdHVzEhEKCWFjY291bnRJZBgHIAEoCRIWCg5iaWxsaW5nR3JvdXBJZBgIIAEoCRIRCgljb21wYW55SWQYCSABKAkSYAoSdmVyaWZpY2F0aW9uQ2hlY2tzGAogAygLMkQuYmx1ZWFwaS5nYy52MS5WZXJpZnlBd3NPbmJvYXJkaW5nUmVzcG9uc2UuQXdzT25ib2FyZGluZ0ZlYXR1cmVDaGVjaxI3Cg90ZXJtc0FjY2VwdGFuY2UYCyABKAsyHi5ibHVlYXBpLmdjLnYxLlRlcm1zQWNjZXB0YW5jZSKVAgoQT25ib2FyZGluZ1N0YXR1cxIhCh1PTkJPQVJESU5HX1NUQVRVU19VTlNQRUNJRklFRBAAEiQKIE9OQk9BUkRJTkdfU1RBVFVTX05PVF9SRUdJU1RFUkVEEAESIAocT05CT0FSRElOR19TVEFUVVNfUkVHSVNURVJFRBACEigKJE9OQk9BUkRJTkdfU1RBVFVTX09OQk9BUkRJTkdfU1RBUlRFRBADEh4KGk9OQk9BUkRJTkdfU1RBVFVTX1ZFUklGSUVEEAQSJwojT05CT0FSRElOR19TVEFUVVNfVkVSSUZZX0lOQ09NUExFVEUQBRIjCh9PTkJPQVJESU5HX1NUQVRVU19WRVJJRllfRkFJTEVEEAYijgMKE1BheWVyQWNjb3VudERldGFpbHMSEQoJYWNjb3VudElkGAEgASgJEhMKC2FjY291bnROYW1lGAIgASgJEiAKGHJpcHBsZVJlZ2lzdHJhdGlvblN0YXR1cxgDIAEoCRJSCg1nY1NldHVwU3RhdHVzGAQgASgOMjsuYmx1ZWFwaS5nYy52MS5HZXRPbmJvYXJkaW5nU3RhdHVzUmVzcG9uc2UuT25ib2FyZGluZ1N0YXR1cxJgChJ2ZXJpZmljYXRpb25DaGVja3MYBSADKAsyRC5ibHVlYXBpLmdjLnYxLlZlcmlmeUF3c09uYm9hcmRpbmdSZXNwb25zZS5Bd3NPbmJvYXJkaW5nRmVhdHVyZUNoZWNrEiUKHW1hcmtldHBsYWNlUHJpdmF0ZU9mZmVyU3RhdHVzGAYgASgJEiEKGW1hcmtldHBsYWNlUHJpdmF0ZU9mZmVySWQYByABKAkSLQolbWFya2V0cGxhY2VQcml2YXRlT2ZmZXJFeHBpcmF0aW9uRGF0ZRgIIAEoCSKoBQoZTGlzdFBheWVyQWNjb3VudHNSZXNwb25zZRJMCg1wYXllckFjY291bnRzGAEgAygLMjUuYmx1ZWFwaS5nYy52MS5MaXN0UGF5ZXJBY2NvdW50c1Jlc3BvbnNlLlBheWVyQWNjb3VudBI/ChNwYXllckFjY291bnREZXRhaWxzGAIgAygLMiIuYmx1ZWFwaS5nYy52MS5QYXllckFjY291bnREZXRhaWxzGvoCCgxQYXllckFjY291bnQSEQoJYWNjb3VudElkGAEgASgJEhMKC2FjY291bnROYW1lGAIgASgJEhYKDmJpbGxpbmdHcm91cElkGAMgASgJEhEKCXNlZ21lbnRJZBgEIAEoCRJLCgZzdGF0dXMYBSABKA4yOy5ibHVlYXBpLmdjLnYxLkxpc3RQYXllckFjY291bnRzUmVzcG9uc2UuUGF5ZXJBY2NvdW50U3RhdHVzEhEKCWNvbXBhbnlJZBgGIAEoCRJVChBvbmJvYXJkaW5nU3RhdHVzGAcgASgOMjsuYmx1ZWFwaS5nYy52MS5HZXRPbmJvYXJkaW5nU3RhdHVzUmVzcG9uc2UuT25ib2FyZGluZ1N0YXR1cxJgChJ2ZXJpZmljYXRpb25DaGVja3MYCCADKAsyRC5ibHVlYXBpLmdjLnYxLlZlcmlmeUF3c09uYm9hcmRpbmdSZXNwb25zZS5Bd3NPbmJvYXJkaW5nRmVhdHVyZUNoZWNrIn8KElBheWVyQWNjb3VudFN0YXR1cxIkCiBQQVlFUl9BQ0NPVU5UX1NUQVRVU19VTlNQRUNJRklFRBAAEiAKHFBBWUVSX0FDQ09VTlRfU1RBVFVTX0VOQUJMRUQQARIhCh1QQVlFUl9BQ0NPVU5UX1NUQVRVU19ESVNBQkxFRBACIm0KHlNldFBheWVyQWNjb3VudEVuYWJsZWRSZXNwb25zZRJLCgxwYXllckFjY291bnQYASABKAsyNS5ibHVlYXBpLmdjLnYxLkxpc3RQYXllckFjY291bnRzUmVzcG9uc2UuUGF5ZXJBY2NvdW50ImwKHUdldFBheWVyQWNjb3VudFN0YXR1c1Jlc3BvbnNlEksKDHBheWVyQWNjb3VudBgBIAEoCzI1LmJsdWVhcGkuZ2MudjEuTGlzdFBheWVyQWNjb3VudHNSZXNwb25zZS5QYXllckFjY291bnQitgUKGUxpc3RCaWxsaW5nR3JvdXBzUmVzcG9uc2USTAoNYmlsbGluZ0dyb3VwcxgBIAMoCzI1LmJsdWVhcGkuZ2MudjEuTGlzdEJpbGxpbmdHcm91cHNSZXNwb25zZS5CaWxsaW5nR3JvdXAayQMKDEJpbGxpbmdHcm91cBIRCgljb21wYW55SWQYASABKAkSFgoOYmlsbGluZ0dyb3VwSWQYAiABKAkSGAoQYmlsbGluZ0dyb3VwTmFtZRgDIAEoCRITCgtjb21wYW55TmFtZRgEIAEoCRIWCg5wYXllckFjY291bnRJZBgFIAEoCRIYChBwYXllckFjY291bnROYW1lGAYgASgJEhEKCXNlZ21lbnRJZBgHIAEoCRIUCgxyZXNvdXJjZVR5cGUYCCABKAkSSwoGc3RhdHVzGAkgASgOMjsuYmx1ZWFwaS5nYy52MS5MaXN0QmlsbGluZ0dyb3Vwc1Jlc3BvbnNlLkJpbGxpbmdHcm91cFN0YXR1cxJVChBvbmJvYXJkaW5nU3RhdHVzGAogASgOMjsuYmx1ZWFwaS5nYy52MS5HZXRPbmJvYXJkaW5nU3RhdHVzUmVzcG9uc2UuT25ib2FyZGluZ1N0YXR1cxJgChJ2ZXJpZmljYXRpb25DaGVja3MYCyADKAsyRC5ibHVlYXBpLmdjLnYxLlZlcmlmeUF3c09uYm9hcmRpbmdSZXNwb25zZS5Bd3NPbmJvYXJkaW5nRmVhdHVyZUNoZWNrIn8KEkJpbGxpbmdHcm91cFN0YXR1cxIkCiBCSUxMSU5HX0dST1VQX1NUQVRVU19VTlNQRUNJRklFRBAAEiAKHEJJTExJTkdfR1JPVVBfU1RBVFVTX0VOQUJMRUQQARIhCh1CSUxMSU5HX0dST1VQX1NUQVRVU19ESVNBQkxFRBACImwKHVNldEJpbGxpbmdHcm91cFN0YXR1c1Jlc3BvbnNlEksKDGJpbGxpbmdHcm91cBgBIAEoCzI1LmJsdWVhcGkuZ2MudjEuTGlzdEJpbGxpbmdHcm91cHNSZXNwb25zZS5CaWxsaW5nR3JvdXAipQEKHUdldEJpbGxpbmdHcm91cFN0YXR1c1Jlc3BvbnNlEksKDGJpbGxpbmdHcm91cBgBIAEoCzI1LmJsdWVhcGkuZ2MudjEuTGlzdEJpbGxpbmdHcm91cHNSZXNwb25zZS5CaWxsaW5nR3JvdXASNwoPdGVybXNBY2NlcHRhbmNlGAIgASgLMh4uYmx1ZWFwaS5nYy52MS5UZXJtc0FjY2VwdGFuY2UiWgocVmFsaWRhdGVCaWxsaW5nR3JvdXBSZXNwb25zZRIKCgJvaxgBIAEoCBIPCgdtZXNzYWdlGAIgASgJEgwKBGNvZGUYAyABKAkSDwoHZGV0YWlscxgEIAMoCSLOAQoaR2V0QXdzUHJpdmF0ZU9mZmVyUmVzcG9uc2USFgoOcGF5ZXJBY2NvdW50SWQYASABKAkSDwoHb2ZmZXJJZBgCIAEoCRIRCglvZmZlck5hbWUYAyABKAkSDgoGc3RhdHVzGAQgASgJEhAKCG9mZmVyVXJsGAUgASgJEhEKCXByb2R1Y3RJZBgGIAEoCRIUCgxwcmljZVBlclVuaXQYByABKAESEQoJY3JlYXRlZEF0GAggASgJEhYKDmV4cGlyYXRpb25EYXRlGAkgASgJIloKH0FjY2VwdEJpbGxpbmdHcm91cFRlcm1zUmVzcG9uc2USNwoPdGVybXNBY2NlcHRhbmNlGAEgASgLMh4uYmx1ZWFwaS5nYy52MS5UZXJtc0FjY2VwdGFuY2UiUwoeTGlzdERyYWZ0UHVyY2hhc2VQbGFuc1Jlc3BvbnNlEjEKBXBsYW5zGAEgAygLMiIuYmx1ZWFwaS5nYy52MS5EZWZhdWx0UHVyY2hhc2VQbGFuIkIKH0RlbGV0ZURyYWZ0UHVyY2hhc2VQbGFuUmVzcG9uc2USDgoGcGxhbklkGAEgASgJEg8KB3N1Y2Nlc3MYAiABKAgiNAojR2V0QXZhaWxhYmxlQ29tbWl0bWVudFR5cGVzUmVzcG9uc2USDQoFdHlwZXMYASADKAki3QEKKkdldEd1YXJhbnRlZWRDb21taXRtZW50VGVtcGxhdGVVcmxSZXNwb25zZRIRCglsYXVuY2hVcmwYASABKAkSEwoLdGVtcGxhdGVVcmwYAiABKAkSEQoJc3RhY2tOYW1lGAMgASgJEhEKCXByaW5jaXBhbBgEIAEoCRISCgpleHRlcm5hbElkGAUgASgJEiUKHWd1YXJhbnRlZWRDb21taXRtZW50UHJpbmNpcGFsGAYgASgJEiYKHmd1YXJhbnRlZWRDb21taXRtZW50RXh0ZXJuYWxJZBgHIAEoCSK+AgooQ3JlYXRlR3VhcmFudGVlZENvbW1pdG1lbnRBY2Nlc3NSZXNwb25zZRIOCgZ0YXJnZXQYASABKAkSFQoNcmlwcGxlUm9sZUFybhgCIAEoCRIYChByaXBwbGVFeHRlcm5hbElkGAMgASgJEiMKG2d1YXJhbnRlZWRDb21taXRtZW50Um9sZUFybhgEIAEoCRImCh5ndWFyYW50ZWVkQ29tbWl0bWVudEV4dGVybmFsSWQYBSABKAkSDwoHc3RhY2tJZBgGIAEoCRITCgtzdGFja1JlZ2lvbhgHIAEoCRITCgt0ZW1wbGF0ZVVybBgIIAEoCRIOCgZzdGF0dXMYCSABKAkSEwoLbGFzdFVwZGF0ZWQYCiABKAkSJAocZ3VhcmFudGVlZENvbW1pdG1lbnRWZXJpZmllZBgLIAEoCCKEAgofR2V0UHVyY2hhc2VQbGFuc0RldGFpbHNSZXNwb25zZRIwCgRwbGFuGAEgASgLMiIuYmx1ZWFwaS5nYy52MS5EZWZhdWx0UHVyY2hhc2VQbGFuEjgKCWxpbmVJdGVtcxgCIAMoCzIlLmJsdWVhcGkuZ2MudjEuQ29tbWl0bWVudFBsYW5MaW5lSXRlbRJDCg9yZXNvdXJjZU1hdGNoZXMYAyADKAsyKi5ibHVlYXBpLmdjLnYxLkNvbW1pdG1lbnRQbGFuUmVzb3VyY2VNYXRjaBIwCgdoaXN0b3J5GAQgAygLMh8uYmx1ZWFwaS5nYy52MS5QbGFuSGlzdG9yeUVudHJ5IlcKIkNyZWF0ZUN1c3RvbUNvbW1pdG1lbnRQbGFuUmVzcG9uc2USMQoFcGxhbnMYASADKAsyIi5ibHVlYXBpLmdjLnYxLkRlZmF1bHRQdXJjaGFzZVBsYW4iegocQXp1cmVBcmNoZXJhT3JnRmVhdHVyZVN0YXR1cxImCgZkZXRhaWwYASABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSDwoHZmVhdHVyZRgCIAEoCRIOCgZzdGF0dXMYAyABKAkSEQoJdXBkYXRlZEF0GAQgASgJIlYKGkF6dXJlQXJjaGVyYU9yZ0xlYXNlQnVkZ2V0Eg4KBmJ1ZGdldBgBIAEoARIRCgljcmVhdGVkQXQYAiABKAkSFQoNbWluVGVybU1vbnRocxgDIAEoBSKeCwoPQXp1cmVBcmNoZXJhT3JnEh4KFmFwcGx5QmFsYW5jZVRvUHJlbWl1bXMYASABKAgSEwoLYXV0aFNzb09ubHkYAiABKAgSNwoXYXdzTWFya2V0cGxhY2VPZmZlckxpbmsYAyABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSOQoZYXp1cmVNYXJrZXRwbGFjZU9mZmVyTGluaxgEIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRIPCgdiYWxhbmNlGAUgASgBEhUKDWJpbGxpbmdBY3RpdmUYBiABKAgSGgoSY2hhbm5lbFBhcnRuZXJUeXBlGAcgASgJEjIKEmNoYW5uZWxQYXJ0bmVyc2hpcBgIIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRIrCgtjb250cmFjdEVuZBgJIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRIRCgljcmVhdGVkQXQYCiABKAkSKAoIY3VycmVuY3kYCyABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSFwoPZGVmYXVsdFVzZXJSb2xlGAwgASgJEiwKDGRpc2NvdW50SW5mbxgNIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRIOCgZkb21haW4YDiABKAkSLQoNZWZmZWN0aXZlRGF0ZRgPIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRJECg9mZWF0dXJlU3RhdHVzZXMYECADKAsyKy5ibHVlYXBpLmdjLnYxLkF6dXJlQXJjaGVyYU9yZ0ZlYXR1cmVTdGF0dXMSEAoIZmVhdHVyZXMYESADKAkSKgoKZnJ1Z2FsTW9kZRgSIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRI3ChdnY3BNYXJrZXRwbGFjZU9mZmVyTGluaxgTIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRITCgtoYXNEaXNjb3VudBgUIAEoCBIPCgdoYXNHcmlzGBUgASgIEiEKGWhhc1Rkc1BhY1Byb3h5Q3JlZGVudGlhbHMYFiABKAgSCgoCaWQYFyABKAkSHwoXaXNMZWFzZUJ1eWJhY2tBdXRvbWF0ZWQYGCABKAgSHAoUaXNMZWFzZVN3YXBBdXRvbWF0ZWQYGSABKAgSFQoNaXNUZHNQYWNQcm94eRgaIAEoCBI+CgtsZWFzZUJ1ZGdldBgbIAEoCzIpLmJsdWVhcGkuZ2MudjEuQXp1cmVBcmNoZXJhT3JnTGVhc2VCdWRnZXQSIAoYbGVhc2VCdXliYWNrTG9va2JhY2tEYXlzGBwgASgFEh0KFWxlYXNlU3dhcExvb2tiYWNrRGF5cxgdIAEoBRIMCgRuYW1lGB4gASgJEikKCXBhcnRuZXJJZBgfIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRIRCglwbGFuVHJpYWwYICABKAgSGAoQcGxhblRyaWFsRXhwaXJlcxghIAEoCRIWCg5wbGFuVHlwZUNob3NlbhgiIAEoCRIZChFwbGFuVHlwZUVmZmVjdGl2ZRgjIAEoCRIuCg5wcmltYXJ5QWRkcmVzcxgkIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRItCg1wcm9tb3Rpb25Db2RlGCUgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEloKFnByb3ZpZGVyUm9vdFNlZ21lbnRJZHMYJiADKAsyOi5ibHVlYXBpLmdjLnYxLkF6dXJlQXJjaGVyYU9yZy5Qcm92aWRlclJvb3RTZWdtZW50SWRzRW50cnkaPQobUHJvdmlkZXJSb290U2VnbWVudElkc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEiVAoYQXp1cmVPbmJvYXJkaW5nQ3JlYXRlZEJ5EhQKDG9uYm9hcmRpbmdJZBgBIAEoCRIQCgh1c2VybmFtZRgCIAEoCRIQCghmdWxsTmFtZRgDIAEoCSKyBwoUQXp1cmVPbmJvYXJkaW5nU3RhdGUSFAoMb25ib2FyZGluZ0lkGAEgASgJEg0KBW9yZ0lkGAIgASgJEhAKCHByb3ZpZGVyGAMgASgJEhEKCWNvbXBsZXRlZBgEIAEoCBIRCgljcmVhdGVkQXQYBSABKAkSOgoJY3JlYXRlZEJ5GAYgASgLMicuYmx1ZWFwaS5nYy52MS5BenVyZU9uYm9hcmRpbmdDcmVhdGVkQnkSKwoLaW50ZWdyYXRpb24YByABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSFQoNaW50ZWdyYXRpb25JZBgIIAEoCRIaChJhcmNoZXJhT3V0Ym91bmRJcHMYCSADKAkSEAoIdGVuYW50SWQYCiABKAkSFgoOc3Vic2NyaXB0aW9uSWQYCyABKAkSEgoKYWNjb3VudElkcxgMIAMoCRITCgthY2NvdW50S2luZBgNIAEoCRIwChBhcHBBdXRoVmFsaWRhdGVkGA4gASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEi0KDWFwcEF1dGhvcml6ZWQYDyABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSFQoNYmxvYkNvbnRhaW5lchgQIAEoCRIVCg1yZXNvdXJjZUdyb3VwGBEgASgJEhYKDnN0b3JhZ2VBY2NvdW50GBIgASgJEhAKCHJvbGVOYW1lGBMgASgJEi8KD2NyZWF0ZVJlc291cmNlcxgUIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRI0ChRtYXJrZXRwbGFjZUNvbXBsZXRlZBgVIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRIvCg9wZXJtaXNzaW9uTGV2ZWwYFiABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSMwoTcmVzb3VyY2VHcm91cFJlZ2lvbhgXIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRI0ChRzdG9yYWdlQWNjb3VudFJlZ2lvbhgYIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRIxChFyZXNvdXJjZUdyb3VwVGFncxgZIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRIyChJzdG9yYWdlQWNjb3VudFRhZ3MYGiABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSKwoDb3JnGBsgASgLMh4uYmx1ZWFwaS5nYy52MS5BenVyZUFyY2hlcmFPcmcikwEKHFN0YXJ0QXp1cmVPbmJvYXJkaW5nUmVzcG9uc2USFAoMb25ib2FyZGluZ0lkGAEgASgJEjIKBXN0YXRlGAIgASgLMiMuYmx1ZWFwaS5nYy52MS5BenVyZU9uYm9hcmRpbmdTdGF0ZRIWCg5iaWxsaW5nR3JvdXBJZBgDIAEoCRIRCgljb21wYW55SWQYBCABKAkiMAohR2V0QXp1cmVPbmJvYXJkaW5nQXV0aFVybFJlc3BvbnNlEgsKA3VybBgBIAEoCSJ2CgxBenVyZUFjY291bnQSEQoJYWNjb3VudElkGAEgASgJEhMKC2FjY291bnROYW1lGAIgASgJEhUKDWFjY291bnRTdGF0dXMYAyABKAkSEwoLYWNjb3VudFR5cGUYBCABKAkSEgoKaXNFbGlnaWJsZRgFIAEoCCJUCiNMaXN0QXp1cmVPbmJvYXJkaW5nQWNjb3VudHNSZXNwb25zZRItCghhY2NvdW50cxgBIAMoCzIbLmJsdWVhcGkuZ2MudjEuQXp1cmVBY2NvdW50IlAKHUF6dXJlSW50ZWdyYXRpb25GZWF0dXJlU3RhdHVzEg8KB2ZlYXR1cmUYASABKAkSDgoGc3RhdHVzGAIgASgJEg4KBmRldGFpbBgDIAMoCSLCAQoaQXp1cmVJbnRlZ3JhdGlvbk9uYm9hcmRpbmcSCgoCaWQYASABKAkSDQoFb3JnSWQYAiABKAkSEAoIcHJvdmlkZXIYAyABKAkSFQoNaW50ZWdyYXRpb25JZBgEIAEoCRIRCgljb21wbGV0ZWQYBSABKAgSEQoJY3JlYXRlZEF0GAYgASgJEjoKCWNyZWF0ZWRCeRgHIAEoCzInLmJsdWVhcGkuZ2MudjEuQXp1cmVPbmJvYXJkaW5nQ3JlYXRlZEJ5Iu4EChBBenVyZUludGVncmF0aW9uEgoKAmlkGAEgASgJEg4KBmFjdGl2ZRgCIAEoCBIMCgRuYW1lGAMgASgJEhAKCHByb3ZpZGVyGAQgASgJEgwKBHR5cGUYBSABKAkSDQoFb3JnSWQYBiABKAkSDgoGdXNlcklkGAcgASgJEhEKCWNyZWF0ZWRBdBgIIAEoCRIRCgl1cGRhdGVkQXQYCSABKAkSIAoYbWFuYWdlbWVudFN1YnNjcmlwdGlvbklkGAogASgJEh4KFnByb3ZpZGVyT3JnYW5pemF0aW9uSWQYCyABKAkSFQoNYmxvYkNvbnRhaW5lchgMIAEoCRIVCg1yZXNvdXJjZUdyb3VwGA0gASgJEhYKDnN0b3JhZ2VBY2NvdW50GA4gASgJEhgKEGNvc3RFeHBvcnRGb3JtYXQYDyABKAkSFwoPY3VyRWFybGllc3REYXRhGBAgASgJEhUKDWN1clJlcG9ydE5hbWUYESABKAkSEQoJY3VyVXNhYmxlGBIgASgIEhQKDGhhc0N1ckFjY2VzcxgTIAEoCBIgChhoYXNGdWxsUmVzZXJ2YXRpb25BY2Nlc3MYFCABKAgSRQoPZmVhdHVyZVN0YXR1c2VzGBUgAygLMiwuYmx1ZWFwaS5nYy52MS5BenVyZUludGVncmF0aW9uRmVhdHVyZVN0YXR1cxI+CgtvbmJvYXJkaW5ncxgWIAMoCzIpLmJsdWVhcGkuZ2MudjEuQXp1cmVJbnRlZ3JhdGlvbk9uYm9hcmRpbmcSJwoGY29uZmlnGBcgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCK0AQoeQ3JlYXRlQXp1cmVJbnRlZ3JhdGlvblJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgSEQoJZXJyb3JDb2RlGAIgASgJEhQKDGVycm9yTWVzc2FnZRgDIAEoCRIVCg1pbnRlZ3JhdGlvbklkGAQgASgJEhYKDmJpbGxpbmdHcm91cElkGAUgASgJEhEKCWNvbXBhbnlJZBgGIAEoCRIWCg5wYXllckFjY291bnRJZBgHIAEoCSJWCh1MaXN0QXp1cmVJbnRlZ3JhdGlvbnNSZXNwb25zZRI1CgxpbnRlZ3JhdGlvbnMYASADKAsyHy5ibHVlYXBpLmdjLnYxLkF6dXJlSW50ZWdyYXRpb24qXgoIUHJvdmlkZXISGAoUUFJPVklERVJfVU5TUEVDSUZJRUQQABIHCgNBV1MQARIJCgVBWlVSRRACEgcKA0dDUBADEg4KCktVQkVSTkVURVMQBBILCgdVTktOT1dOEAUqmAEKEENvbW1pdG1lbnRTdGF0dXMSIQodQ09NTUlUTUVOVF9TVEFUVVNfVU5TUEVDSUZJRUQQABIHCgNORVcQARIMCghSRVZJRVdFRBACEg0KCVNDSEVEVUxFRBADEg0KCUNPTVBMRVRFRBAEEgkKBURSQUZUEAUSEAoMTkVFRFNfUkVWSUVXEAYSDwoLSU5fUFJPR1JFU1MQByqKAQoZQ29tbWl0bWVudEludmVudG9yeVN0YXR1cxIrCidDT01NSVRNRU5UX0lOVkVOVE9SWV9TVEFUVVNfVU5TUEVDSUZJRUQQABIKCgZBQ1RJVkUQARILCgdSRVRJUkVEEAISEwoPUEFZTUVOVF9QRU5ESU5HEAMSEgoOUEFZTUVOVF9GQUlMRUQQBCpDCgVTY29wZRIVChFTQ09QRV9VTlNQRUNJRklFRBAAEgoKBlNIQVJFRBABEgwKCFJFR0lPTkFMEAISCQoFWk9OQUwQAypBCglVc2FnZVR5cGUSGgoWVVNBR0VfVFlQRV9VTlNQRUNJRklFRBAAEgsKB1JVTk5JTkcQARILCgdTVE9QUEVEEAIy9DcKFUd1YXJhbnRlZWRDb21taXRtZW50cxJjCghMaXN0T3JncxIeLmJsdWVhcGkuZ2MudjEuTGlzdE9yZ3NSZXF1ZXN0GhIuYmx1ZWFwaS5nYy52MS5PcmciIYLT5JMCGzoBKiIWL3YxL29yZ2FuaXphdGlvbnM6cmVhZDABEpcBChRDb21taXRtZW50c1BsYW5BcHBseRIpLmJsdWVhcGkuZ2MudjEuQ29tbWl0bWVudFBsYW5BcHBseVJlcXVlc3QaJC5ibHVlYXBpLmdjLnYxLkNvbW1pdG1lbnRQbGFuRGV0YWlscyIugtPkkwIoOgEqIiMvdjEvY29tbWl0bWVudHMvcGxhbi97cGxhbklkfS9hcHBseRJ5Cg9MaXN0Q29tbWl0bWVudHMSJS5ibHVlYXBpLmdjLnYxLkxpc3RDb21taXRtZW50c1JlcXVlc3QaJi5ibHVlYXBpLmdjLnYxLkxpc3RDb21taXRtZW50c1Jlc3BvbnNlIheC0+STAhESDy92MS9jb21taXRtZW50cxKXAQoTR2V0Q29tbWl0bWVudHNDaGFydBIpLmJsdWVhcGkuZ2MudjEuR2V0Q29tbWl0bWVudHNDaGFydFJlcXVlc3QaJy5ibHVlYXBpLmdjLnYxLkNvbW1pdG1lbnRzQ2hhcnRSZXNwb25zZSIsgtPkkwImEiQvdjEvY29tbWl0bWVudHMve2NvbW1pdG1lbnRJZH0vY2hhcnQSrwEKGUdldENvbW1pdG1lbnRzVXRpbGl6YXRpb24SLy5ibHVlYXBpLmdjLnYxLkdldENvbW1pdG1lbnRzVXRpbGl6YXRpb25SZXF1ZXN0Gi0uYmx1ZWFwaS5nYy52MS5Db21taXRtZW50c1V0aWxpemF0aW9uUmVzcG9uc2UiMoLT5JMCLBIqL3YxL2NvbW1pdG1lbnRzL3tjb21taXRtZW50SWR9L3V0aWxpemF0aW9uEowBChVSZWFkQ29tbWl0bWVudFJlcG9ydHMSKy5ibHVlYXBpLmdjLnYxLlJlYWRDb21taXRtZW50UmVwb3J0c1JlcXVlc3QaHy5ibHVlYXBpLmdjLnYxLkNvbW1pdG1lbnRSZXBvcnQiI4LT5JMCHToBKiIYL3YxL3JlcG9ydHMvaW52b2ljZTpyZWFkMAESsgEKHFJlYWRDb21taXRtZW50UmVwb3J0QWNjb3VudHMSMi5ibHVlYXBpLmdjLnYxLlJlYWRDb21taXRtZW50UmVwb3J0QWNjb3VudHNSZXF1ZXN0GiYuYmx1ZWFwaS5nYy52MS5Db21taXRtZW50UmVwb3J0QWNjb3VudCI0gtPkkwIuOgEqIikvdjEvcmVwb3J0cy9pbnZvaWNlL3ttb250aH0vYWNjb3VudHM6cmVhZDABEmMKCkdldE1ldHJpY3MSIC5ibHVlYXBpLmdjLnYxLkdldE1ldHJpY3NSZXF1ZXN0Gh4uYmx1ZWFwaS5nYy52MS5NZXRyaWNzUmVzcG9uc2UiE4LT5JMCDRILL3YxL21ldHJpY3MScQoNTGlzdFJlc291cmNlcxIjLmJsdWVhcGkuZ2MudjEuTGlzdFJlc291cmNlc1JlcXVlc3QaJC5ibHVlYXBpLmdjLnYxLkxpc3RSZXNvdXJjZXNSZXNwb25zZSIVgtPkkwIPEg0vdjEvcmVzb3VyY2VzEqEBChVHZXRSZXNvdXJjZURhaWx5VXNhZ2USKy5ibHVlYXBpLmdjLnYxLkdldFJlc291cmNlRGFpbHlVc2FnZVJlcXVlc3QaLC5ibHVlYXBpLmdjLnYxLkdldFJlc291cmNlRGFpbHlVc2FnZVJlc3BvbnNlIi2C0+STAicSJS92MS9yZXNvdXJjZXMve3Jlc291cmNlSWR9L2RhaWx5dXNhZ2USmwEKF0xpc3RSZXNlcnZhYmxlUmVzb3VyY2VzEi0uYmx1ZWFwaS5nYy52MS5MaXN0UmVzZXJ2YWJsZVJlc291cmNlc1JlcXVlc3QaLi5ibHVlYXBpLmdjLnYxLkxpc3RSZXNlcnZhYmxlUmVzb3VyY2VzUmVzcG9uc2UiIYLT5JMCGxIZL3YxL2NvbW1pdG1lbnRzL3Jlc291cmNlcxKoAQoaTGlzdFB1cmNoYXNlUGxhbnNCeVNlZ21lbnQSMC5ibHVlYXBpLmdjLnYxLkxpc3RQdXJjaGFzZVBsYW5zQnlTZWdtZW50UmVxdWVzdBoxLmJsdWVhcGkuZ2MudjEuTGlzdFB1cmNoYXNlUGxhbnNCeVNlZ21lbnRSZXNwb25zZSIlgtPkkwIfEh0vdjEvY29tbWl0bWVudHMvcHVyY2hhc2VwbGFucxLEAQogR2V0VXBkYXRlZFB1cmNoYXNlUGxhbnNCeVNlZ21lbnQSNi5ibHVlYXBpLmdjLnYxLkdldFVwZGF0ZWRQdXJjaGFzZVBsYW5zQnlTZWdtZW50UmVxdWVzdBo3LmJsdWVhcGkuZ2MudjEuR2V0VXBkYXRlZFB1cmNoYXNlUGxhbnNCeVNlZ21lbnRSZXNwb25zZSIvgtPkkwIpOgEqIiQvdjEvY29tbWl0bWVudHMvcHVyY2hhc2VwbGFuczp1cGRhdGUSqAEKF0dldFB1cmNoYXNlUGxhbnNEZXRhaWxzEi0uYmx1ZWFwaS5nYy52MS5HZXRQdXJjaGFzZVBsYW5zRGV0YWlsc1JlcXVlc3QaLi5ibHVlYXBpLmdjLnYxLkdldFB1cmNoYXNlUGxhbnNEZXRhaWxzUmVzcG9uc2UiLoLT5JMCKBImL3YxL2NvbW1pdG1lbnRzL3B1cmNoYXNlcGxhbnMve3BsYW5JZH0SqwEKGlNhdmVDb21taXRtZW50c1BsYW5Bc0RyYWZ0EjAuYmx1ZWFwaS5nYy52MS5TYXZlQ29tbWl0bWVudHNQbGFuQXNEcmFmdFJlcXVlc3QaIi5ibHVlYXBpLmdjLnYxLkRlZmF1bHRQdXJjaGFzZVBsYW4iN4LT5JMCMToBKiIsL3YxL2NvbW1pdG1lbnRzL3B1cmNoYXNlcGxhbnMvZHJhZnQve3BsYW5JZH0SogEKFkxpc3REcmFmdFB1cmNoYXNlUGxhbnMSLC5ibHVlYXBpLmdjLnYxLkxpc3REcmFmdFB1cmNoYXNlUGxhbnNSZXF1ZXN0Gi0uYmx1ZWFwaS5nYy52MS5MaXN0RHJhZnRQdXJjaGFzZVBsYW5zUmVzcG9uc2UiK4LT5JMCJRIjL3YxL2NvbW1pdG1lbnRzL3B1cmNoYXNlcGxhbnMvZHJhZnQSswEKF0RlbGV0ZURyYWZ0UHVyY2hhc2VQbGFuEi0uYmx1ZWFwaS5nYy52MS5EZWxldGVEcmFmdFB1cmNoYXNlUGxhblJlcXVlc3QaLi5ibHVlYXBpLmdjLnYxLkRlbGV0ZURyYWZ0UHVyY2hhc2VQbGFuUmVzcG9uc2UiOYLT5JMCMyoxL3YxL2NvbW1pdG1lbnRzL3B1cmNoYXNlcGxhbnMvZHJhZnQve2RyYWZ0UGxhbklkfRK6AQobR2V0QXZhaWxhYmxlQ29tbWl0bWVudFR5cGVzEjEuYmx1ZWFwaS5nYy52MS5HZXRBdmFpbGFibGVDb21taXRtZW50VHlwZXNSZXF1ZXN0GjIuYmx1ZWFwaS5nYy52MS5HZXRBdmFpbGFibGVDb21taXRtZW50VHlwZXNSZXNwb25zZSI0gtPkkwIuEiwvdjEvY29tbWl0bWVudHMvcHVyY2hhc2VwbGFucy9hdmFpbGFibGV0eXBlcxKyAQoaQ3JlYXRlQ3VzdG9tQ29tbWl0bWVudFBsYW4SMC5ibHVlYXBpLmdjLnYxLkNyZWF0ZUN1c3RvbUNvbW1pdG1lbnRQbGFuUmVxdWVzdBoxLmJsdWVhcGkuZ2MudjEuQ3JlYXRlQ3VzdG9tQ29tbWl0bWVudFBsYW5SZXNwb25zZSIvgtPkkwIpOgEqIiQvdjEvY29tbWl0bWVudHMvcHVyY2hhc2VwbGFucy9jdXN0b20SbwoLUmVnaXN0ZXJPcmcSIS5ibHVlYXBpLmdjLnYxLlJlZ2lzdGVyT3JnUmVxdWVzdBoiLmJsdWVhcGkuZ2MudjEuUmVnaXN0ZXJPcmdSZXNwb25zZSIZgtPkkwITOgEqIg4vdjEvb25ib2FyZGluZxKOAQoSU3RhcnRBd3NPbmJvYXJkaW5nEiguYmx1ZWFwaS5nYy52MS5TdGFydEF3c09uYm9hcmRpbmdSZXF1ZXN0GikuYmx1ZWFwaS5nYy52MS5TdGFydEF3c09uYm9hcmRpbmdSZXNwb25zZSIjgtPkkwIdOgEqIhgvdjEvb25ib2FyZGluZy9hd3Mvc3RhcnQSuwEKHEdldEF3c0Nsb3VkRm9ybWF0aW9uVGVtcGxhdGUSMi5ibHVlYXBpLmdjLnYxLkdldEF3c0Nsb3VkRm9ybWF0aW9uVGVtcGxhdGVSZXF1ZXN0GjMuYmx1ZWFwaS5nYy52MS5HZXRBd3NDbG91ZEZvcm1hdGlvblRlbXBsYXRlUmVzcG9uc2UiMoLT5JMCLBIqL3YxL29uYm9hcmRpbmcvYXdzL2Nsb3VkZm9ybWF0aW9uL3RlbXBsYXRlEqkBChRHZXRBd3NMYXVuY2hTdGFja1VybBIqLmJsdWVhcGkuZ2MudjEuR2V0QXdzTGF1bmNoU3RhY2tVcmxSZXF1ZXN0GisuYmx1ZWFwaS5nYy52MS5HZXRBd3NMYXVuY2hTdGFja1VybFJlc3BvbnNlIjiC0+STAjISMC92MS9vbmJvYXJkaW5nL2F3cy9jbG91ZGZvcm1hdGlvbi9sYXVuY2hzdGFja3VybBKSAQoTVmVyaWZ5QXdzT25ib2FyZGluZxIpLmJsdWVhcGkuZ2MudjEuVmVyaWZ5QXdzT25ib2FyZGluZ1JlcXVlc3QaKi5ibHVlYXBpLmdjLnYxLlZlcmlmeUF3c09uYm9hcmRpbmdSZXNwb25zZSIkgtPkkwIeOgEqIhkvdjEvb25ib2FyZGluZy9hd3MvdmVyaWZ5EpMBChNHZXRPbmJvYXJkaW5nU3RhdHVzEikuYmx1ZWFwaS5nYy52MS5HZXRPbmJvYXJkaW5nU3RhdHVzUmVxdWVzdBoqLmJsdWVhcGkuZ2MudjEuR2V0T25ib2FyZGluZ1N0YXR1c1Jlc3BvbnNlIiWC0+STAh86ASoiGi92MS9vbmJvYXJkaW5nL3N0YXR1czpyZWFkEogBChFMaXN0UGF5ZXJBY2NvdW50cxInLmJsdWVhcGkuZ2MudjEuTGlzdFBheWVyQWNjb3VudHNSZXF1ZXN0GiguYmx1ZWFwaS5nYy52MS5MaXN0UGF5ZXJBY2NvdW50c1Jlc3BvbnNlIiCC0+STAhoSGC92MS9tYW5hZ2VtZW50cy9hY2NvdW50cxKmAQoWU2V0UGF5ZXJBY2NvdW50RW5hYmxlZBIsLmJsdWVhcGkuZ2MudjEuU2V0UGF5ZXJBY2NvdW50RW5hYmxlZFJlcXVlc3QaLS5ibHVlYXBpLmdjLnYxLlNldFBheWVyQWNjb3VudEVuYWJsZWRSZXNwb25zZSIvgtPkkwIpOgEqIiQvdjEvbWFuYWdlbWVudHMvYWNjb3VudHMve2NvbXBhbnlJZH0SmwEKFUdldFBheWVyQWNjb3VudFN0YXR1cxIrLmJsdWVhcGkuZ2MudjEuR2V0UGF5ZXJBY2NvdW50U3RhdHVzUmVxdWVzdBosLmJsdWVhcGkuZ2MudjEuR2V0UGF5ZXJBY2NvdW50U3RhdHVzUmVzcG9uc2UiJ4LT5JMCIRIfL3YxL21hbmFnZW1lbnRzL2FjY291bnRzL3N0YXR1cxKNAQoRTGlzdEJpbGxpbmdHcm91cHMSJy5ibHVlYXBpLmdjLnYxLkxpc3RCaWxsaW5nR3JvdXBzUmVxdWVzdBooLmJsdWVhcGkuZ2MudjEuTGlzdEJpbGxpbmdHcm91cHNSZXNwb25zZSIlgtPkkwIfEh0vdjEvbWFuYWdlbWVudHMvYmlsbGluZ2dyb3VwcxKoAQoVU2V0QmlsbGluZ0dyb3VwU3RhdHVzEisuYmx1ZWFwaS5nYy52MS5TZXRCaWxsaW5nR3JvdXBTdGF0dXNSZXF1ZXN0GiwuYmx1ZWFwaS5nYy52MS5TZXRCaWxsaW5nR3JvdXBTdGF0dXNSZXNwb25zZSI0gtPkkwIuOgEqIikvdjEvbWFuYWdlbWVudHMvYmlsbGluZ2dyb3Vwcy97Y29tcGFueUlkfRKgAQoVR2V0QmlsbGluZ0dyb3VwU3RhdHVzEisuYmx1ZWFwaS5nYy52MS5HZXRCaWxsaW5nR3JvdXBTdGF0dXNSZXF1ZXN0GiwuYmx1ZWFwaS5nYy52MS5HZXRCaWxsaW5nR3JvdXBTdGF0dXNSZXNwb25zZSIsgtPkkwImEiQvdjEvbWFuYWdlbWVudHMvYmlsbGluZ2dyb3Vwcy9zdGF0dXMSoAEKFFZhbGlkYXRlQmlsbGluZ0dyb3VwEiouYmx1ZWFwaS5nYy52MS5WYWxpZGF0ZUJpbGxpbmdHcm91cFJlcXVlc3QaKy5ibHVlYXBpLmdjLnYxLlZhbGlkYXRlQmlsbGluZ0dyb3VwUmVzcG9uc2UiL4LT5JMCKToBKiIkL3YxL29uYm9hcmRpbmcvYmlsbGluZ2dyb3VwOnZhbGlkYXRlEqMBChJHZXRBd3NQcml2YXRlT2ZmZXISKC5ibHVlYXBpLmdjLnYxLkdldEF3c1ByaXZhdGVPZmZlclJlcXVlc3QaKS5ibHVlYXBpLmdjLnYxLkdldEF3c1ByaXZhdGVPZmZlclJlc3BvbnNlIjiC0+STAjISMC92MS9vbmJvYXJkaW5nL2F3cy9wcml2YXRlb2ZmZXIve3BheWVyQWNjb3VudElkfRKvAQoXQWNjZXB0QmlsbGluZ0dyb3VwVGVybXMSLS5ibHVlYXBpLmdjLnYxLkFjY2VwdEJpbGxpbmdHcm91cFRlcm1zUmVxdWVzdBouLmJsdWVhcGkuZ2MudjEuQWNjZXB0QmlsbGluZ0dyb3VwVGVybXNSZXNwb25zZSI1gtPkkwIvOgEqIiovdjEvbWFuYWdlbWVudHMvYmlsbGluZ2dyb3Vwcy90ZXJtczphY2NlcHQSzwEKIkdldEd1YXJhbnRlZWRDb21taXRtZW50VGVtcGxhdGVVcmwSOC5ibHVlYXBpLmdjLnYxLkdldEd1YXJhbnRlZWRDb21taXRtZW50VGVtcGxhdGVVcmxSZXF1ZXN0GjkuYmx1ZWFwaS5nYy52MS5HZXRHdWFyYW50ZWVkQ29tbWl0bWVudFRlbXBsYXRlVXJsUmVzcG9uc2UiNILT5JMCLhIsL3YxL29uYm9hcmRpbmcvYXdzL2NmdGVtcGxhdGUvZ3VhcmFudGVlZDp1cmwSyAEKIENyZWF0ZUd1YXJhbnRlZWRDb21taXRtZW50QWNjZXNzEjYuYmx1ZWFwaS5nYy52MS5DcmVhdGVHdWFyYW50ZWVkQ29tbWl0bWVudEFjY2Vzc1JlcXVlc3QaNy5ibHVlYXBpLmdjLnYxLkNyZWF0ZUd1YXJhbnRlZWRDb21taXRtZW50QWNjZXNzUmVzcG9uc2UiM4LT5JMCLToBKiIoL3YxL29uYm9hcmRpbmcvYXdzL2NmdGVtcGxhdGUvZ3VhcmFudGVlZBKWAQoUU3RhcnRBenVyZU9uYm9hcmRpbmcSKi5ibHVlYXBpLmdjLnYxLlN0YXJ0QXp1cmVPbmJvYXJkaW5nUmVxdWVzdBorLmJsdWVhcGkuZ2MudjEuU3RhcnRBenVyZU9uYm9hcmRpbmdSZXNwb25zZSIlgtPkkwIfOgEqIhovdjEvb25ib2FyZGluZy9henVyZS9zdGFydBKgAQoVVXBkYXRlQXp1cmVPbmJvYXJkaW5nEisuYmx1ZWFwaS5nYy52MS5VcGRhdGVBenVyZU9uYm9hcmRpbmdSZXF1ZXN0GiMuYmx1ZWFwaS5nYy52MS5BenVyZU9uYm9hcmRpbmdTdGF0ZSI1gtPkkwIvOgEqIiovdjEvb25ib2FyZGluZy9henVyZS97b25ib2FyZGluZ0lkfTp1cGRhdGUSswEKGUdldEF6dXJlT25ib2FyZGluZ0F1dGhVcmwSLy5ibHVlYXBpLmdjLnYxLkdldEF6dXJlT25ib2FyZGluZ0F1dGhVcmxSZXF1ZXN0GjAuYmx1ZWFwaS5nYy52MS5HZXRBenVyZU9uYm9hcmRpbmdBdXRoVXJsUmVzcG9uc2UiM4LT5JMCLRIrL3YxL29uYm9hcmRpbmcvYXp1cmUve29uYm9hcmRpbmdJZH0vYXV0aHVybBKmAQoXVmFsaWRhdGVBenVyZUFwcEluc3RhbGwSLS5ibHVlYXBpLmdjLnYxLlZhbGlkYXRlQXp1cmVBcHBJbnN0YWxsUmVxdWVzdBojLmJsdWVhcGkuZ2MudjEuQXp1cmVPbmJvYXJkaW5nU3RhdGUiN4LT5JMCMToBKiIsL3YxL29uYm9hcmRpbmcvYXp1cmUve29uYm9hcmRpbmdJZH0vdmFsaWRhdGUSugEKG0xpc3RBenVyZU9uYm9hcmRpbmdBY2NvdW50cxIxLmJsdWVhcGkuZ2MudjEuTGlzdEF6dXJlT25ib2FyZGluZ0FjY291bnRzUmVxdWVzdBoyLmJsdWVhcGkuZ2MudjEuTGlzdEF6dXJlT25ib2FyZGluZ0FjY291bnRzUmVzcG9uc2UiNILT5JMCLhIsL3YxL29uYm9hcmRpbmcvYXp1cmUve29uYm9hcmRpbmdJZH0vYWNjb3VudHMSogEKFkNyZWF0ZUF6dXJlSW50ZWdyYXRpb24SLC5ibHVlYXBpLmdjLnYxLkNyZWF0ZUF6dXJlSW50ZWdyYXRpb25SZXF1ZXN0Gi0uYmx1ZWFwaS5nYy52MS5DcmVhdGVBenVyZUludGVncmF0aW9uUmVzcG9uc2UiK4LT5JMCJToBKiIgL3YxL29uYm9hcmRpbmcvYXp1cmUvaW50ZWdyYXRpb24SnQEKFUxpc3RBenVyZUludGVncmF0aW9ucxIrLmJsdWVhcGkuZ2MudjEuTGlzdEF6dXJlSW50ZWdyYXRpb25zUmVxdWVzdBosLmJsdWVhcGkuZ2MudjEuTGlzdEF6dXJlSW50ZWdyYXRpb25zUmVzcG9uc2UiKYLT5JMCIxIhL3YxL29uYm9hcmRpbmcvYXp1cmUvaW50ZWdyYXRpb25zGqIBkkGeARJQKEFscGhhKSBHdWFyYW50ZWVkQ29tbWl0bWVudHMgQVBJLiBCYXNlIFVSTDogaHR0cHM6Ly9hcGkuYWxwaGF1cy5jbG91ZC9tL2JsdWUvZ2MaSgoSU2VydmljZSBkZWZpbml0aW9uEjRodHRwczovL2dpdGh1Yi5jb20vYWxwaGF1c2xhYnMvYmx1ZWFwaS90cmVlL21haW4vZ2MvQlUKFGNsb3VkLmFscGhhdXMuYXBpLmdjQhpHdWFyYW50ZWVkQ29tbWl0bWVudHNQcm90b1ohZ2l0aHViLmNvbS9hbHBoYXVzbGFicy9ibHVlYXBpL2djYgZwcm90bzM", [file_google_api_annotations, file_google_api_field_behavior, file_google_protobuf_struct, file_protoc_gen_openapiv2_options_annotations]);
18
+ fileDesc("Cg5nYy92MS9nYy5wcm90bxINYmx1ZWFwaS5nYy52MSIeChxHZXRUZXJtc0NvbnNlbnRTdGF0dXNSZXF1ZXN0IjEKF0dldFRlcm1zRG9jdW1lbnRSZXF1ZXN0EhYKCGxhbmd1YWdlGAEgASgJQgTiQQECIi0KEkFjY2VwdFRlcm1zUmVxdWVzdBIXCgl2ZXJzaW9uSWQYASABKAlCBOJBAQIiEQoPTGlzdE9yZ3NSZXF1ZXN0IiwKGkNvbW1pdG1lbnRQbGFuQXBwbHlSZXF1ZXN0Eg4KBnBsYW5JZBgBIAEoCSIYChZMaXN0Q29tbWl0bWVudHNSZXF1ZXN0ImcKGkdldENvbW1pdG1lbnRzQ2hhcnRSZXF1ZXN0EhQKDGNvbW1pdG1lbnRJZBgBIAEoCRIPCgdncm91cEJ5GAIgASgJEhEKCXN0YXJ0RGF0ZRgDIAEoCRIPCgdlbmREYXRlGAQgASgJIjgKIEdldENvbW1pdG1lbnRzVXRpbGl6YXRpb25SZXF1ZXN0EhQKDGNvbW1pdG1lbnRJZBgBIAEoCSIeChxSZWFkQ29tbWl0bWVudFJlcG9ydHNSZXF1ZXN0IjoKI1JlYWRDb21taXRtZW50UmVwb3J0QWNjb3VudHNSZXF1ZXN0EhMKBW1vbnRoGAEgASgJQgTiQQECIj4KEUdldE1ldHJpY3NSZXF1ZXN0EikKCHByb3ZpZGVyGAEgASgOMhcuYmx1ZWFwaS5nYy52MS5Qcm92aWRlciKjAQoUTGlzdFJlc291cmNlc1JlcXVlc3QSKQoIcHJvdmlkZXIYASABKA4yFy5ibHVlYXBpLmdjLnYxLlByb3ZpZGVyEhEKCXNlZ21lbnRJZBgCIAEoCRIOCgZzZWFyY2gYAyABKAkSDAoEZGVzYxgEIAEoCBIPCgdvcmRlckJ5GAUgASgJEgwKBHBhZ2UYBiABKAUSEAoIcGFnZVNpemUYByABKAUijAEKHEdldFJlc291cmNlRGFpbHlVc2FnZVJlcXVlc3QSEgoKcmVzb3VyY2VJZBgBIAEoCRIRCglzdGFydERhdGUYAiABKAkSDwoHZW5kRGF0ZRgDIAEoCRIUCgxjYXRhbG9nU2t1SWQYBCABKAkSDAoEcGFnZRgFIAEoBRIQCghwYWdlU2l6ZRgGIAEoBSIzCh5MaXN0UmVzZXJ2YWJsZVJlc291cmNlc1JlcXVlc3QSEQoJY29tcGFueUlkGAEgASgJIiMKIUxpc3RQdXJjaGFzZVBsYW5zQnlTZWdtZW50UmVxdWVzdCIwCh5HZXRQdXJjaGFzZVBsYW5zRGV0YWlsc1JlcXVlc3QSDgoGcGxhbklkGAEgASgJIikKJ0dldFVwZGF0ZWRQdXJjaGFzZVBsYW5zQnlTZWdtZW50UmVxdWVzdCImCgdPcmdVc2VyEg0KBWVtYWlsGAEgASgJEgwKBHJvbGUYAiABKAkiLAoKTWVtYmVyc2hpcBIMCgRyb2xlGAEgASgJEhAKCHVzZXJuYW1lGAIgASgJImIKB0FkZHJlc3MSDQoFbGluZTEYASABKAkSDAoEY2l0eRgCIAEoCRINCgVzdGF0ZRgDIAEoCRILCgN6aXAYBCABKAkSDwoHY291bnRyeRgFIAEoCRINCgVsaW5lMhgGIAEoCSJUCg5Bd3NFeGlzdGluZ0N1chIOCgZyZWdpb24YASABKAkSDgoGYnVja2V0GAIgASgJEg4KBnByZWZpeBgDIAEoCRISCgpyZXBvcnROYW1lGAQgASgJIksKD1Rlcm1zQWNjZXB0YW5jZRIQCghhY2NlcHRlZBgBIAEoCBISCgphY2NlcHRlZEF0GAIgASgJEhIKCmFjY2VwdGVkQnkYAyABKAkiiwIKElJlZ2lzdGVyT3JnUmVxdWVzdBIMCgRuYW1lGAEgASgJEhsKE2xhYnJhU3Vic2NyaXB0aW9uSWQYAiABKAkSJQoFdXNlcnMYAyADKAsyFi5ibHVlYXBpLmdjLnYxLk9yZ1VzZXISDgoGZG9tYWluGAQgASgJEi4KDnByaW1hcnlBZGRyZXNzGAUgASgLMhYuYmx1ZWFwaS5nYy52MS5BZGRyZXNzEh8KF2F3c01hcmtldHBsYWNlT2ZmZXJMaW5rGAYgASgJEiEKGWF6dXJlTWFya2V0cGxhY2VPZmZlckxpbmsYByABKAkSHwoXZ2NwTWFya2V0cGxhY2VPZmZlckxpbmsYCCABKAkiiQEKGVN0YXJ0QXdzT25ib2FyZGluZ1JlcXVlc3QSFgoOYmlsbGluZ0dyb3VwSWQYASABKAkSEQoJY29tcGFueUlkGAIgASgJEg8KB2djT3JnSWQYAyABKAkSFgoOcGF5ZXJBY2NvdW50SWQYBCABKAkSGAoQcGF5ZXJBY2NvdW50TmFtZRgFIAEoCSKTAQojR2V0QXdzQ2xvdWRGb3JtYXRpb25UZW1wbGF0ZVJlcXVlc3QSFgoOYmlsbGluZ0dyb3VwSWQYASABKAkSEQoJY29tcGFueUlkGAIgASgJEg8KB2djT3JnSWQYAyABKAkSFgoOcGF5ZXJBY2NvdW50SWQYBCABKAkSGAoQcGF5ZXJBY2NvdW50TmFtZRgFIAEoCSKLAQobR2V0QXdzTGF1bmNoU3RhY2tVcmxSZXF1ZXN0EhYKDmJpbGxpbmdHcm91cElkGAEgASgJEhEKCWNvbXBhbnlJZBgCIAEoCRIPCgdnY09yZ0lkGAMgASgJEhYKDnBheWVyQWNjb3VudElkGAQgASgJEhgKEHBheWVyQWNjb3VudE5hbWUYBSABKAkitQEKGlZlcmlmeUF3c09uYm9hcmRpbmdSZXF1ZXN0EhYKDmJpbGxpbmdHcm91cElkGAEgASgJEhEKCWNvbXBhbnlJZBgCIAEoCRIPCgdnY09yZ0lkGAMgASgJEhQKDG9uYm9hcmRpbmdJZBgEIAEoCRIRCglhY2NvdW50SWQYBSABKAkSMgoLZXhpc3RpbmdDdXIYBiABKAsyHS5ibHVlYXBpLmdjLnYxLkF3c0V4aXN0aW5nQ3VyIl8KGkdldE9uYm9hcmRpbmdTdGF0dXNSZXF1ZXN0EhYKDmJpbGxpbmdHcm91cElkGAEgASgJEhEKCWNvbXBhbnlJZBgCIAEoCRIWCg5wYXllckFjY291bnRJZBgDIAEoCSIaChhMaXN0UGF5ZXJBY2NvdW50c1JlcXVlc3QiQwodU2V0UGF5ZXJBY2NvdW50RW5hYmxlZFJlcXVlc3QSEQoJY29tcGFueUlkGAEgASgJEg8KB2VuYWJsZWQYAiABKAgiHgocR2V0UGF5ZXJBY2NvdW50U3RhdHVzUmVxdWVzdCIaChhMaXN0QmlsbGluZ0dyb3Vwc1JlcXVlc3QiVgocU2V0QmlsbGluZ0dyb3VwU3RhdHVzUmVxdWVzdBIRCgljb21wYW55SWQYASABKAkSDwoHZW5hYmxlZBgCIAEoCBISCgpuZXdWZXJzaW9uGAMgASgIIh4KHEdldEJpbGxpbmdHcm91cFN0YXR1c1JlcXVlc3QiRAobVmFsaWRhdGVCaWxsaW5nR3JvdXBSZXF1ZXN0EhEKCWNvbXBhbnlJZBgBIAEoCRISCgpuZXdWZXJzaW9uGAIgASgIIkUKGUdldEF3c1ByaXZhdGVPZmZlclJlcXVlc3QSFgoOcGF5ZXJBY2NvdW50SWQYASABKAkSEAoIcmVjcmVhdGUYAiABKAgiIAoeQWNjZXB0QmlsbGluZ0dyb3VwVGVybXNSZXF1ZXN0IsIHCiFTYXZlQ29tbWl0bWVudHNQbGFuQXNEcmFmdFJlcXVlc3QSDgoGcGxhbklkGAEgASgJEhYKDnJlc2VydmF0aW9uSWRzGAIgAygJEhMKC3Jlc291cmNlSWRzGAMgAygJEhYKDm1heFVwZnJvbnRDb3N0GAQgASgBEikKCHByb3ZpZGVyGAUgASgOMhcuYmx1ZWFwaS5nYy52MS5Qcm92aWRlchIPCgdlbmREYXRlGAYgASgJEhEKCXN0YXJ0RGF0ZRgHIAEoCRIRCglzZWdtZW50SWQYCCABKAkSDgoGc3RhdHVzGAkgASgJEhMKC2Rlc2NyaXB0aW9uGAogASgJEgwKBG5hbWUYCyABKAkSHgoWcHJlZmVycmVkUGF5bWVudE9wdGlvbhgMIAEoCRIdChVpbmNsdWRlZENvbnRyYWN0VGVybXMYDSADKAkSOgoVaW5jbHVkZWRDb250cmFjdFNwZWNzGA4gAygLMhsuYmx1ZWFwaS5nYy52MS5Db250cmFjdFNwZWMSKgoKY292ZXJhZ2VJZBgPIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRIRCgljcmVhdGVkQXQYECABKAkSKQoJY3JlYXRlZEJ5GBEgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEhIKCmRhdGFTb3VyY2UYEiABKAkSLwoPZXhlY3V0aW9uUG9saWN5GBMgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEhYKDmZsYWdnZWRBY3Rpb25zGBQgAygJEgoKAmlkGBUgASgJEhUKDWlzQ2FsY3VsYXRpbmcYFiABKAgSEQoJaXNEZWZhdWx0GBcgASgIEhAKCGlzTG9ja2VkGBggASgIEhUKDWlzUmVjb21tZW5kZWQYGSABKAgSEQoJaXNSZW5ld2FsGBogASgIEg8KB2lzU2F2ZWQYGyABKAgSFAoMbGFzdE1vZGlmaWVkGBwgASgJEhIKCm1ldGFQbGFuSWQYHSABKAkSOgoabWluaW11bVVwZnJvbnRJbnRlcmVzdFJhdGUYHiABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSDQoFb3JnSWQYHyABKAkSEAoIcGxhblR5cGUYICABKAkSPgoecmVjb21tZW5kV2l0aGluQ292ZXJlZEFjY291bnRzGCEgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEicKB3NlZ21lbnQYIiABKAsyFi5ibHVlYXBpLmdjLnYxLlNlZ21lbnQiQwodTGlzdERyYWZ0UHVyY2hhc2VQbGFuc1JlcXVlc3QSDwoHaXNEcmFmdBgBIAEoCBIRCgljb21wYW55SWQYAiABKAkiSAoeRGVsZXRlRHJhZnRQdXJjaGFzZVBsYW5SZXF1ZXN0EhMKC2RyYWZ0UGxhbklkGAEgASgJEhEKCWNvbXBhbnlJZBgCIAEoCSI2CiJHZXRBdmFpbGFibGVDb21taXRtZW50VHlwZXNSZXF1ZXN0EhAKCHByb3ZpZGVyGAEgASgJIqMCCiFDcmVhdGVDdXN0b21Db21taXRtZW50UGxhblJlcXVlc3QSEAoIcHJvdmlkZXIYASABKAkSEQoJc3RhcnREYXRlGAIgASgJEg8KB2VuZERhdGUYAyABKAkSEQoJY29tcGFueUlkGAQgASgJEg4KBnN0YXR1cxgFIAEoCRITCgtkZXNjcmlwdGlvbhgGIAEoCRIMCgRuYW1lGAcgASgJEjoKFWluY2x1ZGVkQ29udHJhY3RTcGVjcxgIIAMoCzIbLmJsdWVhcGkuZ2MudjEuQ29udHJhY3RTcGVjEh0KFWluY2x1ZGVkQ29udHJhY3RUZXJtcxgJIAMoCRITCgtyZXNvdXJjZUlkcxgKIAMoCRISCgpjb21wYW55SWRzGAsgAygJIj8KKUdldEd1YXJhbnRlZWRDb21taXRtZW50VGVtcGxhdGVVcmxSZXF1ZXN0EhIKCmV4dGVybmFsSWQYASABKAkiTQonQ3JlYXRlR3VhcmFudGVlZENvbW1pdG1lbnRBY2Nlc3NSZXF1ZXN0Eg4KBnRhcmdldBgBIAEoCRISCgpleHRlcm5hbElkGAIgASgJIoMBChtTdGFydEF6dXJlT25ib2FyZGluZ1JlcXVlc3QSFgoOYmlsbGluZ0dyb3VwSWQYASABKAkSEQoJY29tcGFueUlkGAIgASgJEg8KB2djT3JnSWQYAyABKAkSEAoIdGVuYW50SWQYBCABKAkSFgoOc3Vic2NyaXB0aW9uSWQYBSABKAki0gUKHFVwZGF0ZUF6dXJlT25ib2FyZGluZ1JlcXVlc3QSFAoMb25ib2FyZGluZ0lkGAEgASgJEg8KB2djT3JnSWQYAiABKAkSFgoOYmlsbGluZ0dyb3VwSWQYAyABKAkSEQoJY29tcGFueUlkGAQgASgJEhAKCHRlbmFudElkGAUgASgJEhYKDnN1YnNjcmlwdGlvbklkGAYgASgJEhMKC2FjY291bnRLaW5kGAcgASgJEhIKCmFjY291bnRJZHMYCCADKAkSFQoNYmxvYkNvbnRhaW5lchgJIAEoCRIVCg1yZXNvdXJjZUdyb3VwGAogASgJEhYKDnN0b3JhZ2VBY2NvdW50GAsgASgJEhAKCHJvbGVOYW1lGAwgASgJEjMKE3Jlc291cmNlR3JvdXBSZWdpb24YDSABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSNAoUc3RvcmFnZUFjY291bnRSZWdpb24YDiABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSMQoRcmVzb3VyY2VHcm91cFRhZ3MYDyABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSMgoSc3RvcmFnZUFjY291bnRUYWdzGBAgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEhEKCWNvbXBsZXRlZBgRIAEoCBIRCgljcmVhdGVkQXQYEiABKAkSOgoJY3JlYXRlZEJ5GBMgASgLMicuYmx1ZWFwaS5nYy52MS5BenVyZU9uYm9hcmRpbmdDcmVhdGVkQnkSKwoLaW50ZWdyYXRpb24YFCABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSFQoNaW50ZWdyYXRpb25JZBgVIAEoCRIQCghwcm92aWRlchgWIAEoCRIrCgNvcmcYFyABKAsyHi5ibHVlYXBpLmdjLnYxLkF6dXJlQXJjaGVyYU9yZyJzCiBHZXRBenVyZU9uYm9hcmRpbmdBdXRoVXJsUmVxdWVzdBIUCgxvbmJvYXJkaW5nSWQYASABKAkSDwoHZ2NPcmdJZBgCIAEoCRIQCgh0ZW5hbnRJZBgDIAEoCRIWCg5zdWJzY3JpcHRpb25JZBgEIAEoCSK3BQoeVmFsaWRhdGVBenVyZUFwcEluc3RhbGxSZXF1ZXN0EhQKDG9uYm9hcmRpbmdJZBgBIAEoCRIPCgdnY09yZ0lkGAIgASgJEgwKBHR5cGUYAyABKAkSEAoIdGVuYW50SWQYBCABKAkSFgoOc3Vic2NyaXB0aW9uSWQYBSABKAkSEwoLYWNjb3VudEtpbmQYBiABKAkSEgoKYWNjb3VudElkcxgHIAMoCRIVCg1ibG9iQ29udGFpbmVyGAggASgJEhUKDXJlc291cmNlR3JvdXAYCSABKAkSFgoOc3RvcmFnZUFjY291bnQYCiABKAkSEAoIcm9sZU5hbWUYCyABKAkSMwoTcmVzb3VyY2VHcm91cFJlZ2lvbhgMIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRI0ChRzdG9yYWdlQWNjb3VudFJlZ2lvbhgNIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRIxChFyZXNvdXJjZUdyb3VwVGFncxgOIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRIyChJzdG9yYWdlQWNjb3VudFRhZ3MYDyABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSEQoJY29tcGxldGVkGBAgASgIEhEKCWNyZWF0ZWRBdBgRIAEoCRI6CgljcmVhdGVkQnkYEiABKAsyJy5ibHVlYXBpLmdjLnYxLkF6dXJlT25ib2FyZGluZ0NyZWF0ZWRCeRIrCgtpbnRlZ3JhdGlvbhgTIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRIVCg1pbnRlZ3JhdGlvbklkGBQgASgJEhAKCHByb3ZpZGVyGBUgASgJEisKA29yZxgWIAEoCzIeLmJsdWVhcGkuZ2MudjEuQXp1cmVBcmNoZXJhT3JnIksKIkxpc3RBenVyZU9uYm9hcmRpbmdBY2NvdW50c1JlcXVlc3QSFAoMb25ib2FyZGluZ0lkGAEgASgJEg8KB2djT3JnSWQYAiABKAkilAQKHUNyZWF0ZUF6dXJlSW50ZWdyYXRpb25SZXF1ZXN0Eg8KB2djT3JnSWQYASABKAkSFgoOYmlsbGluZ0dyb3VwSWQYAiABKAkSEQoJY29tcGFueUlkGAMgASgJEhYKDnBheWVyQWNjb3VudElkGAQgASgJEgwKBHR5cGUYBSABKAkSEAoIdGVuYW50SWQYBiABKAkSFgoOc3Vic2NyaXB0aW9uSWQYByABKAkSFAoMb25ib2FyZGluZ0lkGAggASgJEhMKC2FjY291bnRLaW5kGAkgASgJEhIKCmFjY291bnRJZHMYCiADKAkSFQoNYmxvYkNvbnRhaW5lchgLIAEoCRIVCg1yZXNvdXJjZUdyb3VwGAwgASgJEhYKDnN0b3JhZ2VBY2NvdW50GA0gASgJEhAKCHJvbGVOYW1lGA4gASgJEjMKE3Jlc291cmNlR3JvdXBSZWdpb24YDyABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSNAoUc3RvcmFnZUFjY291bnRSZWdpb24YECABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSMQoRcmVzb3VyY2VHcm91cFRhZ3MYESABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSMgoSc3RvcmFnZUFjY291bnRUYWdzGBIgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlIi8KHExpc3RBenVyZUludGVncmF0aW9uc1JlcXVlc3QSDwoHZ2NPcmdJZBgBIAEoCSJ3ChVUZXJtc09mU2VydmljZVZlcnNpb24SCgoCaWQYASABKAkSDwoHcHJvZHVjdBgCIAEoCRIUCgx2ZXJzaW9uTGFiZWwYAyABKAkSFgoOY2xhc3NpZmljYXRpb24YBCABKAkSEwoLcHVibGlzaGVkQXQYBSABKAki6QEKHUdldFRlcm1zQ29uc2VudFN0YXR1c1Jlc3BvbnNlEi8KBXN0YXRlGAEgASgOMiAuYmx1ZWFwaS5nYy52MS5UZXJtc0NvbnNlbnRTdGF0ZRIVCg1hY2Nlc3NBbGxvd2VkGAIgASgIEhAKCGJsb2NraW5nGAMgASgIEhgKEHNob3dVcGRhdGVCYW5uZXIYBCABKAgSFwoPYmFubmVyRXhwaXJlc0F0GAUgASgJEjsKDWFjdGl2ZVZlcnNpb24YBiABKAsyJC5ibHVlYXBpLmdjLnYxLlRlcm1zT2ZTZXJ2aWNlVmVyc2lvbiKFAQoYR2V0VGVybXNEb2N1bWVudFJlc3BvbnNlEhEKCXZlcnNpb25JZBgBIAEoCRIPCgdwcm9kdWN0GAIgASgJEhAKCGxhbmd1YWdlGAMgASgJEhMKC2NvbnRlbnRUeXBlGAQgASgJEgsKA3VybBgFIAEoCRIRCglleHBpcmVzQXQYBiABKAkiaAoSVGVybXNDb25zZW50UmVjb3JkEg8KB3Byb2R1Y3QYASABKAkSGQoRYWNjZXB0ZWRWZXJzaW9uSWQYAiABKAkSEgoKYWNjZXB0ZWRCeRgDIAEoCRISCgphY2NlcHRlZEF0GAQgASgJIo4BChNBY2NlcHRUZXJtc1Jlc3BvbnNlEjIKB2NvbnNlbnQYASABKAsyIS5ibHVlYXBpLmdjLnYxLlRlcm1zQ29uc2VudFJlY29yZBJDCg1jb25zZW50U3RhdHVzGAIgASgLMiwuYmx1ZWFwaS5nYy52MS5HZXRUZXJtc0NvbnNlbnRTdGF0dXNSZXNwb25zZSIxCgNPcmcSDQoFb3JnSWQYASABKAkSDAoEbmFtZRgCIAEoCRINCgVlbWFpbBgDIAEoCSLzBAoVQ29tbWl0bWVudFBsYW5EZXRhaWxzEgoKAmlkGAEgASgJEgwKBG5hbWUYAiABKAkSEwoLZGVzY3JpcHRpb24YAyABKAkSDQoFb3JnSWQYBCABKAkSEQoJY3JlYXRlZEF0GAUgASgJEhUKDWlzQ2FsY3VsYXRpbmcYBiABKAgSDgoGc3RhdHVzGAcgASgJEg8KB21heFRlcm0YCCABKAkSIQoZY292ZXJlZE9uZGVtYW5kQ29zdEhvdXJseRgJIAEoARIgChhiZWZvcmVPbmRlbWFuZENvc3RIb3VybHkYCiABKAESIAoYYmVmb3JlUmVzZXJ2ZWRDb3N0SG91cmx5GAsgASgBEhsKE2Ftb3J0aXplZENvc3RIb3VybHkYDCABKAESGwoTcmVjdXJyaW5nQ29zdEhvdXJseRgNIAEoARIZChF1cGZyb250Q29zdEhvdXJseRgOIAEoARIYChBiZWZvcmVDb3N0SG91cmx5GA8gASgBEhcKD2FmdGVyQ29zdEhvdXJseRgQIAEoARIXCg90b3RhbENvc3RIb3VybHkYESABKAESFQoNc2F2aW5nc0hvdXJseRgSIAEoARIRCglmZWVIb3VybHkYEyABKAESGgoSY29tbWl0bWVudENvdmVyYWdlGBQgASgBEh0KFW1pbmltdW1Db21taXRtZW50Q29zdBgVIAEoARIWCg5icmVha2V2ZW5Ib3VycxgWIAEoARIUCgx0b3RhbFNhdmluZ3MYFyABKAESFgoObW9udGhseVNhdmluZ3MYGCABKAESHgoWdG90YWxNb250aGx5QmVmb3JlQ29zdBgZIAEoASK0BgoWQ29tbWl0bWVudFBsYW5MaW5lSXRlbRIKCgJpZBgBIAEoCRIOCgZwbGFuSWQYAiABKAkSDwoHb2ZmZXJJZBgDIAEoCRIXCg9sZWFzZU1lbnVJdGVtSWQYBCABKAkSEQoJYWNjb3VudElkGAUgASgJEhsKE3JlY29tbWVuZGVkUXVhbnRpdHkYBiABKAESGAoQc2VsZWN0ZWRRdWFudGl0eRgHIAEoARIdChVyZWNvbW1lbmRlZENvbW1pdG1lbnQYCCABKAESGgoSc2VsZWN0ZWRDb21taXRtZW50GAkgASgBEhIKCmlzU2VsZWN0ZWQYCiABKAgSGgoSYWZ0ZXJBbW9ydGl6ZWRDb3N0GAsgASgBEhMKC3VwZnJvbnRDb3N0GAwgASgBEhUKDXJlY3VycmluZ0Nvc3QYDSABKAESEgoKYmVmb3JlQ29zdBgOIAEoARIaChJiZWZvcmVPbmRlbWFuZENvc3QYDyABKAESGgoSYmVmb3JlUmVzZXJ2ZWRDb3N0GBAgASgBEhsKE2NvdmVyZWRPbmRlbWFuZENvc3QYESABKAESGQoRYWZ0ZXJDb3ZlcmVkVW5pdHMYEiABKAESEQoJdG90YWxDb3N0GBMgASgBEhMKC21vbnRobHlDb3N0GBQgASgBEg8KB3NhdmluZ3MYFSABKAESFgoObW9udGhseVNhdmluZ3MYFiABKAESFAoMdG90YWxTYXZpbmdzGBcgASgBEgsKA2ZlZRgYIAEoARIUCgxkaXNjb3VudFJhdGUYGSABKAESFgoOYnJlYWtldmVuSG91cnMYGiABKAESFAoMY29udHJhY3RUZXJtGBsgASgJEhUKDXBheW1lbnRPcHRpb24YHCABKAkSLQoMY29udHJhY3RTcGVjGB0gASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBImCgVvZmZlchgeIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSHAoUcmVuZXdhbFJlc2VydmF0aW9uSWQYHyABKAkSFAoMY292ZXJlZFVuaXRzGCAgASgBEhUKDWFtb3J0aXplZENvc3QYISABKAEi1wUKG0NvbW1pdG1lbnRQbGFuUmVzb3VyY2VNYXRjaBIKCgJpZBgBIAEoCRISCgp0b3RhbFVuaXRzGAIgASgBEhwKFGJlZm9yZVVuY292ZXJlZFVuaXRzGAMgASgBEhkKEWFmdGVyQ292ZXJlZFVuaXRzGAQgASgBEhsKE2FmdGVyVW5jb3ZlcmVkVW5pdHMYBSABKAESFQoNb25kZW1hbmRQcmljZRgGIAEoARIZChFpZkFsbE9uZGVtYW5kQ29zdBgHIAEoARIaChJiZWZvcmVPbmRlbWFuZENvc3QYCCABKAESGQoRYWZ0ZXJPbmRlbWFuZENvc3QYCSABKAESGwoTY292ZXJlZE9uZGVtYW5kQ29zdBgKIAEoARIaChJiZWZvcmVSZXNlcnZlZENvc3QYCyABKAESGQoRYWZ0ZXJSZXNlcnZlZENvc3QYDCABKAESEgoKYmVmb3JlQ29zdBgNIAEoARIRCglhZnRlckNvc3QYDiABKAESGQoRbW9udGhseUJlZm9yZUNvc3QYDyABKAESGAoQbW9udGhseUFmdGVyQ29zdBgQIAEoARIgChhtb250aGx5QWZ0ZXJSZXNlcnZlZENvc3QYESABKAESIAoYbW9udGhseUFmdGVyT25kZW1hbmRDb3N0GBIgASgBEhYKDmF2ZXJhZ2VTYXZpbmdzGBMgASgBEh0KFWF2ZXJhZ2VNb250aGx5U2F2aW5ncxgUIAEoARIRCgl1c2FnZVR5cGUYFSABKAkSEAoIY292ZXJhZ2UYFiABKAESKQoIcmVzb3VyY2UYFyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EhQKDGNvdmVyZWRVbml0cxgYIAEoARIcChRleHBsYW5hdGlvblVubWF0Y2hlZBgZIAEoARIUCgxvbmRlbWFuZENvc3QYGiABKAESFAoMcmVzZXJ2ZWRDb3N0GBsgASgBIu4BCgVMZWFzZRIKCgJpZBgBIAEoCRINCgVvcmdJZBgCIAEoCRIdChVwcm92aWRlclJlc2VydmF0aW9uSWQYAyABKAkSEQoJYWNjb3VudElkGAQgASgJEg4KBnN0YXR1cxgFIAEoCRIRCglzdGFydERhdGUYBiABKAkSDwoHZW5kRGF0ZRgHIAEoCRISCgpsb2NraW5EYXRlGAggASgJEhMKC3VwZnJvbnRDb3N0GAkgASgBEhUKDXJlY3VycmluZ0Nvc3QYCiABKAESEQoJY3JlYXRlZEF0GAsgASgJEhEKCXVwZGF0ZWRBdBgMIAEoCSJJChBEYWlseVV0aWxpemF0aW9uEgwKBGRhdGUYASABKAkSEwoLdXRpbGl6YXRpb24YAiABKAESEgoKbmV0U2F2aW5ncxgDIAEoASLQBwoKQ29tbWl0bWVudBIKCgJpZBgBIAEoCRIRCglhY2NvdW50SWQYAiABKAkSFQoNYW1vcnRpemVkQ29zdBgDIAEoARIYChBiaWxsaW5nQWNjb3VudElkGAQgASgJEhEKCWNhblJlYmF0ZRgFIAEoCBIUCgxjb250cmFjdFRlcm0YBiABKAkSEwoLZGlzcGxheU5hbWUYByABKAkSFwoPZHVyYXRpb25TZWNvbmRzGAggASgBEh4KFmVmZmVjdGl2ZUluc3RhbmNlQ291bnQYCSABKAMSDwoHZW5kRGF0ZRgKIAEoCRIVCg1pbnN0YW5jZUNvdW50GAsgASgDEhYKDmluc3RhbmNlRmFtaWx5GAwgASgJEhQKDGluc3RhbmNlVHlwZRgNIAEoCRIQCghpc0FjdGl2ZRgOIAEoCBISCgppc0ZsZXhpYmxlGA8gASgIEhAKCGlzTGVhc2VkGBAgASgIEhEKCWlzTXVsdGlBehgRIAEoCBIXCg9sZWFzZUxvY2tpbkRhdGUYEiABKAkSEgoKbGVhc2VTdGFydBgTIAEoCRIZChFsZWFzZWREaXNwbGF5TmFtZRgUIAEoCRITCgttb250aGx5Q29zdBgVIAEoARIWCg5tb250aGx5U2F2aW5ncxgWIAEoARIMCgRuYW1lGBcgASgJEhIKCm5ldFNhdmluZ3MYGCABKAESEgoKb2ZmZXJpbmdJZBgZIAEoCRIVCg1wYXltZW50T3B0aW9uGBogASgJEhgKEHBvdGVudGlhbFNhdmluZ3MYGyABKAESGgoScHJvZHVjdERlc2NyaXB0aW9uGBwgASgJEhAKCHByb3ZpZGVyGB0gASgJEh4KFnByb3ZpZGVyUmVzZXJ2YXRpb25faWQYHiABKAkSFQoNcmVjdXJyaW5nQ29zdBgfIAEoARIOCgZyZWdpb24YICABKAkSEwoLcmVuZXdhbFBsYW4YISABKAkSFgoOcmVzZXJ2YXRpb25FbmQYIiABKAkSGAoQcmVzZXJ2YXRpb25TdGFydBgjIAEoCRIUCgxydW5uaW5nSG91cnMYJCABKAESDwoHc2F2aW5ncxglIAEoARIRCglzdGFydERhdGUYJiABKAkSDgoGc3RhdHVzGCcgASgJEh4KFnRyYW5zZmVyUmVzZXJ2YXRpb25FbmQYKCABKAkSIAoYdHJhbnNmZXJSZXNlcnZhdGlvblN0YXJ0GCkgASgJEgwKBHR5cGUYKiABKAkSEwoLdXBmcm9udENvc3QYKyABKAESEwoLdXRpbGl6YXRpb24YLCABKAEiSQoXTGlzdENvbW1pdG1lbnRzUmVzcG9uc2USLgoLY29tbWl0bWVudHMYASADKAsyGS5ibHVlYXBpLmdjLnYxLkNvbW1pdG1lbnQiSgoUQ29tbWl0bWVudHNDaGFydERhdGESDAoEZGF0ZRgBIAEoCRIQCghjaGFydEtleRgCIAEoCRISCgpjaGFydFZhbHVlGAMgASgBIk0KGENvbW1pdG1lbnRzQ2hhcnRSZXNwb25zZRIxCgRkYXRhGAEgAygLMiMuYmx1ZWFwaS5nYy52MS5Db21taXRtZW50c0NoYXJ0RGF0YSL8AQoaQ29tbWl0bWVudHNVdGlsaXphdGlvbkRhdGESFwoPdXRpbGl6YXRpb25EYXRlGAEgASgJEgwKBGNvc3QYAiABKAESEwoLY292ZXJlZENvc3QYAyABKAESDwoHZ3JpRmVlcxgEIAEoARISCgpuZXRTYXZpbmdzGAUgASgBEhgKEHBvdGVudGlhbFNhdmluZ3MYBiABKAESHgoWcmVzZXJ2YXRpb25VdGlsaXphdGlvbhgHIAEoARIUCgxydW5uaW5nSG91cnMYCCABKAESDwoHc2F2aW5ncxgJIAEoARIcChR1bnV0aWxpemVkQ29tbWl0bWVudBgKIAEoASJZCh5Db21taXRtZW50c1V0aWxpemF0aW9uUmVzcG9uc2USNwoEZGF0YRgBIAMoCzIpLmJsdWVhcGkuZ2MudjEuQ29tbWl0bWVudHNVdGlsaXphdGlvbkRhdGEi0AEKEENvbW1pdG1lbnRSZXBvcnQSDQoFbW9udGgYASABKAkSFgoOYmlsbFVuYWRqdXN0ZWQYAiABKAESFQoNYmlsbE9wdGltaXplZBgDIAEoARIUCgxncm9zc1NhdmluZ3MYBCABKAESEwoLcmlza1ByZW1pdW0YBSABKAESDwoHcmViYXRlcxgGIAEoARISCgpuZXRTYXZpbmdzGAcgASgBEhQKDHJldmVudWVTaGFyZRgIIAEoARIYChByZXZlbnVlU2hhcmVSYXRlGAkgASgBIugBChdDb21taXRtZW50UmVwb3J0QWNjb3VudBIWCg5iaWxsaW5nR3JvdXBJZBgBIAEoCRIYChBiaWxsaW5nR3JvdXBOYW1lGAIgASgJEhEKCWFjY291bnRJZBgDIAEoCRITCgthY2NvdW50TmFtZRgEIAEoCRINCgVjbG91ZBgFIAEoCRIUCgxncm9zc1NhdmluZ3MYBiABKAESEwoLcmlza1ByZW1pdW0YByABKAESDwoHcmViYXRlcxgIIAEoARISCgpuZXRTYXZpbmdzGAkgASgBEhQKDHJldmVudWVTaGFyZRgKIAEoASLNAwoPTWV0cmljc1Jlc3BvbnNlEhcKD2xpZmV0aW1lU2F2aW5ncxgBIAEoARISCgptdGRTYXZpbmdzGAIgASgBEiEKGXB1cmNoYXNlQXV0b21hdGlvbkVuYWJsZWQYAyABKAgSIAoYYnV5YmFja0F1dG9tYXRpb25FbmFibGVkGAQgASgIEhcKD2hhc0FjdGlvbmVkUGxhbhgFIAEoCBIZChFoYXNQZW5kaW5nQWN0aW9ucxgGIAEoCBIbChNsYXRlc3RFeGVjdXRpb25EYXRlGAcgASgJEh0KFXB1cmNoYXNlTWlzc2VkU2F2aW5ncxgIIAEoARIcChRidXliYWNrTWlzc2VkU2F2aW5ncxgJIAEoARIfChd0b3RhbERhaWx5TWlzc2VkU2F2aW5ncxgKIAEoARIbChNob3VybHlNaXNzZWRTYXZpbmdzGAsgASgBEh4KFm1pc3NlZFNhdmluZ3NTdGFydERhdGUYDCABKAkSHAoUbWlzc2VkU2F2aW5nc0VuZERhdGUYDSABKAkSFwoPZXhwaXJpbmdTYXZpbmdzGA4gASgBEhAKCGNvdmVyYWdlGA8gASgBEhMKC3V0aWxpemF0aW9uGBAgASgBIogICghSZXNvdXJjZRIKCgJpZBgBIAEoCRISCgpyZXNvdXJjZUlkGAIgASgJEikKCHByb3ZpZGVyGAMgASgOMhcuYmx1ZWFwaS5nYy52MS5Qcm92aWRlchIaChJwcm92aWRlclJlc291cmNlSWQYBCABKAkSDgoGaXNTcG90GAUgASgIEgwKBG5hbWUYBiABKAkSFQoNcmVzb3VyY2VHcm91cBgHIAEoCRIQCgh1c2FnZUVuZBgIIAEoCRISCgp1c2FnZVN0YXJ0GAkgASgJEiUKBHRhZ3MYCiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EhEKCWNyZWF0ZWRBdBgLIAEoCRIRCgl1cGRhdGVkQXQYDCABKAkSEgoKaW5zdGFuY2VJZBgNIAEoCRIYChBiaWxsaW5nQWNjb3VudElkGA4gASgJEhQKDHN1YkFjY291bnRJZBgPIAEoCRIbChNtYW5hZ2VtZW50QWNjb3VudElkGBAgASgJEhYKDm93bmVyQWNjb3VudElkGBEgASgJEhAKCHNrdVRpdGxlGBIgASgJEg8KB3NrdU5hbWUYEyABKAkSGAoQYXZhaWxhYmlsaXR5Wm9uZRgUIAEoCRITCgtjYWNoZUVuZ2luZRgVIAEoCRIWCg5kYXRhYmFzZUVuZ2luZRgWIAEoCRITCgtkZXNjcmlwdGlvbhgXIAEoCRIOCgZmYW1pbHkYGCABKAkSFgoOZnVsbFJlZ2lvbk5hbWUYGSABKAkSGAoQaGFzT25kZW1hbmRUZXJtcxgaIAEoCBIUCgxpbnN0YW5jZVR5cGUYGyABKAkSGgoSaW5zdGFuY2VUeXBlRmFtaWx5GBwgASgJEhQKDGlzUmVzZXJ2YWJsZRgdIAEoCBIUCgxsaWNlbnNlTW9kZWwYHiABKAkSFAoMbG9jYXRpb25UeXBlGB8gASgJEh8KF25vcm1hbGl6YXRpb25TaXplRmFjdG9yGCAgASgJEhcKD29wZXJhdGluZ1N5c3RlbRghIAEoCRIWCg5wcmVJbnN0YWxsZWRTdxgiIAEoCRIVCg1wcmljZUN1cnJlbmN5GCMgASgJEhcKD3Byb3ZpZGVyU2VydmljZRgkIAEoCRIVCg1wcm92aWRlclNrdUlkGCUgASgJEhcKD3B1YmxpY2F0aW9uRGF0ZRgmIAEoCRIOCgZyZWdpb24YJyABKAkSDwoHc2VydmljZRgoIAEoCRIPCgd0ZW5hbmN5GCkgASgJEhEKCXVzYWdlVHlwZRgqIAEoCRIPCgd2ZXJzaW9uGCsgASgJEhwKFHZwY05ldHdvcmtpbmdTdXBwb3J0GCwgASgIEhkKEW9uZGVtYW5kVXNhZ2VVbml0GC0gASgJIkMKFUxpc3RSZXNvdXJjZXNSZXNwb25zZRIqCglyZXNvdXJjZXMYASADKAsyFy5ibHVlYXBpLmdjLnYxLlJlc291cmNlIu8CChJSZXNvdXJjZURhaWx5VXNhZ2USDAoEZGF0ZRgBIAEoCRIWCg51c2FnZUFjY291bnRJZBgCIAEoCRIUCgxzdWJBY2NvdW50SWQYAyABKAkSDQoFdXNhZ2UYBCABKAESGAoQcmVzZXJ2YXRpb25Vc2FnZRgFIAEoARIVCg1mcmVlVGllclVzYWdlGAYgASgBEhQKDG9uZGVtYW5kQ29zdBgHIAEoARIUCgxyZXNlcnZlZENvc3QYCCABKAESGQoRaWZBbGxPbmRlbWFuZENvc3QYCSABKAESEAoIc3BvdENvc3QYCiABKAESFwoPZnJlZVRpZXJTYXZpbmdzGAsgASgBEhEKCXVzYWdlVHlwZRgMIAEoCRIXCg9jb21tb25Vc2FnZVR5cGUYDSABKAkSFAoMY292ZXJlZFVzYWdlGA4gASgBEg4KBnVwdGltZRgPIAEoARIZChFwcm92aWRlclVzYWdlVHlwZRgQIAEoCSJWCh1HZXRSZXNvdXJjZURhaWx5VXNhZ2VSZXNwb25zZRI1CgpkYWlseVVzYWdlGAEgAygLMiEuYmx1ZWFwaS5nYy52MS5SZXNvdXJjZURhaWx5VXNhZ2UigxAKElJlc2VydmFibGVSZXNvdXJjZRIKCgJpZBgBIAEoCRISCgpyZXNvdXJjZUlkGAIgASgJEhgKEGJpbGxpbmdBY2NvdW50SWQYAyABKAkSFAoMc3ViQWNjb3VudElkGAQgASgJEhAKCHByb3ZpZGVyGAUgASgJEhoKEnByb3ZpZGVyUmVzb3VyY2VJZBgGIAEoCRIXCg9wcm92aWRlclNlcnZpY2UYByABKAkSFQoNcHJvdmlkZXJTa3VJZBgIIAEoCRIOCgZpc1Nwb3QYCSABKAgSFAoMaXNSZXNlcnZhYmxlGAogASgIEiQKBG5hbWUYCyABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSLQoNcmVzb3VyY2VHcm91cBgMIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRIQCgh1c2FnZUVuZBgNIAEoCRISCgp1c2FnZVN0YXJ0GA4gASgJEiUKBHRhZ3MYDyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Ei0KDHByb3ZpZGVyVGFncxgQIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSKQoIdXNlclRhZ3MYESABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EhEKCWNyZWF0ZWRBdBgSIAEoCRIRCgl1cGRhdGVkQXQYEyABKAkSEgoKaW5zdGFuY2VJZBgUIAEoCRIwChBhdmFpbGFiaWxpdHlab25lGBUgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEisKC2NhY2hlRW5naW5lGBYgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEhQKDGNhdGFsb2dTa3VJZBgXIAEoCRIXCg9jYXRhbG9nU2t1T3JnSWQYGCABKAkSIAoYY2xhc3NpY05ldHdvcmtpbmdTdXBwb3J0GBkgASgIEhIKCmNsb2NrU3BlZWQYGiABKAkSFwoPY29tbW9uVXNhZ2VUeXBlGBsgASgJEhQKDGNvdmVyZWRVc2FnZRgcIAEoARIuCg5kYXRhYmFzZUVuZ2luZRgdIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRIeChZkZWRpY2F0ZWRFYnNUaHJvdWdocHV0GB4gASgJEisKC2Rlc2NyaXB0aW9uGB8gASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEgsKA2VjdRggIAEoCRIjChtlbmhhbmNlZE5ldHdvcmtpbmdTdXBwb3J0ZWQYISABKAgSDgoGZmFtaWx5GCIgASgJEhYKDmZ1bGxSZWdpb25OYW1lGCMgASgJEhgKEGhhc09uZGVtYW5kVGVybXMYJCABKAgSDwoHaWNvblVybBglIAEoCRIVCg1pbnRlZ3JhdGlvbklkGCYgASgJEhoKEmludGVsQXZ4MkF2YWlsYWJsZRgnIAEoCBIZChFpbnRlbEF2eEF2YWlsYWJsZRgoIAEoCBIbChNpbnRlbFR1cmJvQXZhaWxhYmxlGCkgASgIEiIKAmlvGCogASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEhsKE2lzQ3VycmVudEdlbmVyYXRpb24YKyABKAgSKQoJaXNNdWx0aUF6GCwgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEhQKDGxpY2Vuc2VNb2RlbBgtIAEoCRIUCgxsb2NhdGlvblR5cGUYLiABKAkSDgoGbWVtb3J5GC8gASgJEicKB3NrdU5hbWUYMCABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSEAoIc2t1VGl0bGUYMSABKAkSDwoHbmV0Q29zdBgyIAEoARISCgpuZXRTYXZpbmdzGDMgASgBEhoKEm5ldHdvcmtQZXJmb3JtYW5jZRg0IAEoCRIfChdub3JtYWxpemF0aW9uU2l6ZUZhY3Rvchg1IAEoCRIUCgxvbmRlbWFuZENvc3QYNiABKAESGQoRb25kZW1hbmRVc2FnZVVuaXQYNyABKAkSFwoPb3BlcmF0aW5nU3lzdGVtGDggASgJEhEKCW9wZXJhdGlvbhg5IAEoCRIZChFwaHlzaWNhbFByb2Nlc3Nvchg6IAEoCRIWCg5wcmVJbnN0YWxsZWRTdxg7IAEoCRIVCg1wcmljZUN1cnJlbmN5GDwgASgJEh0KFXByb2Nlc3NvckFyY2hpdGVjdHVyZRg9IAEoCRIZChFwcm9jZXNzb3JGZWF0dXJlcxg+IAEoCRIXCg9wdWJsaWNhdGlvbkRhdGUYPyABKAkSDgoGcmVnaW9uGEAgASgJEg8KB3NlcnZpY2UYQSABKAkSDgoGc291cmNlGEIgASgJEg8KB3N0b3JhZ2UYQyABKAkSJwoHdGF4VHlwZRhEIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRIPCgd0ZW5hbmN5GEUgASgJEg4KBnVwdGltZRhGIAEoARIRCgl1c2FnZVR5cGUYRyABKAkSDAoEdmNwdRhIIAEoCRIPCgd2ZXJzaW9uGEkgASgJEhwKFHZwY05ldHdvcmtpbmdTdXBwb3J0GEogASgIEhQKDGluc3RhbmNlVHlwZRhLIAEoCRIaChJpbnN0YW5jZVR5cGVGYW1pbHkYTCABKAkSNgoLZGFpbHlVc2FnZXMYTSADKAsyIS5ibHVlYXBpLmdjLnYxLlJlc291cmNlRGFpbHlVc2FnZSJXCh9MaXN0UmVzZXJ2YWJsZVJlc291cmNlc1Jlc3BvbnNlEjQKCXJlc291cmNlcxgBIAMoCzIhLmJsdWVhcGkuZ2MudjEuUmVzZXJ2YWJsZVJlc291cmNlInQKB1NlZ21lbnQSCgoCaWQYASABKAkSDAoEbmFtZRgCIAEoCRIpCghwcm92aWRlchgDIAEoDjIXLmJsdWVhcGkuZ2MudjEuUHJvdmlkZXISEQoJaXNEZWZhdWx0GAQgASgIEhEKCWNyZWF0ZWRBdBgFIAEoCSJACg5TZWdtZW50Q3JlYXRvchIKCgJpZBgBIAEoCRIQCgh1c2VybmFtZRgCIAEoCRIQCghmdWxsTmFtZRgDIAEoCSJLCgxQdXJjaGFzZVBsYW4SCgoCaWQYASABKAkSDAoEbmFtZRgCIAEoCRIOCgZzdGF0dXMYAyABKAkSEQoJaXNSZW5ld2FsGAQgASgIIqUFCg5TZWdtZW50RGV0YWlscxIKCgJpZBgBIAEoCRIMCgRuYW1lGAIgASgJEhMKC2Rlc2NyaXB0aW9uGAMgASgJEikKCHByb3ZpZGVyGAQgASgOMhcuYmx1ZWFwaS5nYy52MS5Qcm92aWRlchIWCg5jbG91ZFByb3ZpZGVycxgFIAMoCRIRCglpc0RlZmF1bHQYBiABKAgSEQoJY3JlYXRlZEF0GAcgASgJEjAKCWNyZWF0ZWRCeRgIIAEoCzIdLmJsdWVhcGkuZ2MudjEuU2VnbWVudENyZWF0b3ISEAoIcGFyZW50SWQYCSABKAkSDgoGc3RhdHVzGAogASgJEhQKDHNlZ21lbnRDbGFzcxgLIAEoCRInCgZwYXJhbXMYDCABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EhMKC21vbnRobHlDb3N0GA0gASgBEhYKDm1vbnRobHlOZXRDb3N0GA4gASgBEiAKGG1vbnRobHlJZkFsbE9uZGVtYW5kQ29zdBgPIAEoARIbChNtb250aGx5T25kZW1hbmRDb3N0GBAgASgBEhsKE21vbnRobHlSZXNlcnZlZENvc3QYESABKAESFwoPbW9udGhseVNwb3RDb3N0GBIgASgBEhYKDm1vbnRobHlTYXZpbmdzGBMgASgBEhUKDW1vbnRobHlCdWRnZXQYFCABKAESEAoIY292ZXJhZ2UYFSABKAESGwoTcmVjb21tZW5kZWRDb3ZlcmFnZRgWIAEoARIWCg50YXJnZXRDb3ZlcmFnZRgXIAEoARIcChRtb250aGx5UmVzb3VyY2VDb3VudBgYIAEoBRIyCg1wdXJjaGFzZVBsYW5zGBkgAygLMhsuYmx1ZWFwaS5nYy52MS5QdXJjaGFzZVBsYW4ieAoMQ29udHJhY3RTcGVjEhYKDmNvbW1pdG1lbnRUeXBlGAEgASgJEhUKDXBheW1lbnRPcHRpb24YAiABKAkSDAoEdGVybRgDIAEoCRIrCgpwcm9wZXJ0aWVzGAQgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCLeAgoLUGxhblN1bW1hcnkSCwoDa2V5GAEgASgJEhAKCHByb3ZpZGVyGAIgASgJEhYKDm51bUNvbW1pdG1lbnRzGAMgASgFEhUKDW1pbkNvbW1pdG1lbnQYBCABKAESGQoRbW9udGhseUNvbW1pdG1lbnQYBSABKAESEwoLdXBmcm9udENvc3QYBiABKAESEgoKbWluU2F2aW5ncxgHIAEoARISCgptYXhTYXZpbmdzGAggASgBEhYKDm1vbnRobHlTYXZpbmdzGAkgASgBEhQKDG1pblRlcm1Ib3VycxgKIAEoBRIUCgxtYXhUZXJtSG91cnMYCyABKAUSEwoLZ3JpUHJlbWl1bXMYDCABKAESGgoSYmVmb3JlT25kZW1hbmRDb3N0GA0gASgBEhkKEWFmdGVyT25kZW1hbmRDb3N0GA4gASgBEhkKEWlmQWxsT25kZW1hbmRDb3N0GA8gASgBIuUCCg5TZXJ2aWNlU3VtbWFyeRILCgNrZXkYASABKAkSDAoEbmFtZRgCIAEoCRITCgtzZXJ2aWNlTmFtZRgDIAEoCRIQCghwcm92aWRlchgEIAEoCRIWCg5udW1Db21taXRtZW50cxgFIAEoBRIXCg9jdXJyZW50Q292ZXJhZ2UYBiABKAESGQoRcG90ZW50aWFsQ292ZXJhZ2UYByABKAESFQoNbWluQ29tbWl0bWVudBgIIAEoARIZChFtb250aGx5Q29tbWl0bWVudBgJIAEoARITCgt1cGZyb250Q29zdBgKIAEoARISCgptaW5TYXZpbmdzGAsgASgBEhIKCm1heFNhdmluZ3MYDCABKAESFgoObW9udGhseVNhdmluZ3MYDSABKAESFAoMbWluVGVybUhvdXJzGA4gASgFEhQKDG1heFRlcm1Ib3VycxgPIAEoBRISCgpncmlQcmVtaXVtGBAgASgBItoBChBBZ2dyZWdhdGVNZXRyaWNzEhcKD2N1cnJlbnRDb3ZlcmFnZRgBIAEoARIZChFwb3RlbnRpYWxDb3ZlcmFnZRgCIAEoARJBCglzdW1tYXJpZXMYAyADKAsyLi5ibHVlYXBpLmdjLnYxLkFnZ3JlZ2F0ZU1ldHJpY3MuU3VtbWFyaWVzRW50cnkaTwoOU3VtbWFyaWVzRW50cnkSCwoDa2V5GAEgASgJEiwKBXZhbHVlGAIgASgLMh0uYmx1ZWFwaS5nYy52MS5TZXJ2aWNlU3VtbWFyeToCOAEizgsKE0RlZmF1bHRQdXJjaGFzZVBsYW4SCgoCaWQYASABKAkSDAoEbmFtZRgCIAEoCRITCgtkZXNjcmlwdGlvbhgDIAEoCRINCgVvcmdJZBgEIAEoCRIRCglzZWdtZW50SWQYBSABKAkSJwoHc2VnbWVudBgGIAEoCzIWLmJsdWVhcGkuZ2MudjEuU2VnbWVudBIOCgZzdGF0dXMYByABKAkSEAoIcGxhblR5cGUYCCABKAkSEQoJY3JlYXRlZEF0GAkgASgJEhQKDGxhc3RNb2RpZmllZBgKIAEoCRIpCgljcmVhdGVkQnkYCyABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSLwoPZXhlY3V0aW9uUG9saWN5GAwgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEhEKCWlzRGVmYXVsdBgNIAEoCBIVCg1pc1JlY29tbWVuZGVkGA4gASgIEhEKCWlzUmVuZXdhbBgPIAEoCBIVCg1pc0NhbGN1bGF0aW5nGBAgASgIEhAKCGlzTG9ja2VkGBEgASgIEg8KB2lzU2F2ZWQYEiABKAgSOgoVaW5jbHVkZWRDb250cmFjdFNwZWNzGBMgAygLMhsuYmx1ZWFwaS5nYy52MS5Db250cmFjdFNwZWMSHQoVaW5jbHVkZWRDb250cmFjdFRlcm1zGBQgAygJEg8KB21heFRlcm0YFSABKAkSHgoWcHJlZmVycmVkUGF5bWVudE9wdGlvbhgWIAEoCRIWCg5tYXhVcGZyb250Q29zdBgXIAEoARIiChptaW5pbXVtVXBmcm9udEludGVyZXN0UmF0ZRgYIAEoARI+Ch5yZWNvbW1lbmRXaXRoaW5Db3ZlcmVkQWNjb3VudHMYGSABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSEQoJc3RhcnREYXRlGBogASgJEg8KB2VuZERhdGUYGyABKAkSEgoKZGF0YVNvdXJjZRgcIAEoCRISCgpiZWZvcmVDb3N0GB0gASgBEhEKCWFmdGVyQ29zdBgeIAEoARIaChJiZWZvcmVPbmRlbWFuZENvc3QYHyABKAESGgoSYmVmb3JlUmVzZXJ2ZWRDb3N0GCAgASgBEhsKE2NvdmVyZWRPbmRlbWFuZENvc3QYISABKAESFQoNYW1vcnRpemVkQ29zdBgiIAEoARIVCg1yZWN1cnJpbmdDb3N0GCMgASgBEhMKC3VwZnJvbnRDb3N0GCQgASgBEhEKCXRvdGFsQ29zdBglIAEoARIeChZ0b3RhbE1vbnRobHlCZWZvcmVDb3N0GCYgASgBEg8KB3NhdmluZ3MYJyABKAESFgoObW9udGhseVNhdmluZ3MYKCABKAESFAoMdG90YWxTYXZpbmdzGCkgASgBEgsKA2ZlZRgqIAEoARIaChJjb21taXRtZW50Q292ZXJhZ2UYKyABKAESHQoVbWluaW11bUNvbW1pdG1lbnRDb3N0GCwgASgBEhYKDmJyZWFrZXZlbkhvdXJzGC0gASgBEjkKEGFnZ3JlZ2F0ZU1ldHJpY3MYLiABKAsyHy5ibHVlYXBpLmdjLnYxLkFnZ3JlZ2F0ZU1ldHJpY3MSLQoJc3VtbWFyaWVzGC8gAygLMhouYmx1ZWFwaS5nYy52MS5QbGFuU3VtbWFyeRIWCg5yZXNlcnZhdGlvbklkcxgwIAMoCRITCgtyZXNvdXJjZUlkcxgxIAMoCRIWCg5mbGFnZ2VkQWN0aW9ucxgyIAMoCRISCgptZXRhUGxhbklkGDMgASgJEhIKCmNvdmVyYWdlSWQYNCABKAkSGAoQbW9udGhseUFmdGVyQ29zdBg1IAEoARIcChRtb250aGx5QW1vcnRpemVkQ29zdBg2IAEoARIZChFtb250aGx5QmVmb3JlQ29zdBg3IAEoARISCgptb250aGx5RmVlGDggASgBEhAKCGFsbFRlcm1zGDkgAygJIlcKIkxpc3RQdXJjaGFzZVBsYW5zQnlTZWdtZW50UmVzcG9uc2USMQoFcGxhbnMYASADKAsyIi5ibHVlYXBpLmdjLnYxLkRlZmF1bHRQdXJjaGFzZVBsYW4iXQooR2V0VXBkYXRlZFB1cmNoYXNlUGxhbnNCeVNlZ21lbnRSZXNwb25zZRIxCgVwbGFucxgBIAMoCzIiLmJsdWVhcGkuZ2MudjEuRGVmYXVsdFB1cmNoYXNlUGxhbiJBCg9QbGFuSGlzdG9yeVVzZXISCgoCaWQYASABKAkSEAoIdXNlcm5hbWUYAiABKAkSEAoIZnVsbE5hbWUYAyABKAki9wEKEFBsYW5IaXN0b3J5RW50cnkSCgoCaWQYASABKAkSDwoHbWVzc2FnZRgCIAEoCRINCgVvcmdJZBgDIAEoCRIXCg9yZWxhdGVkT2JqZWN0SWQYBCABKAkSGQoRcmVsYXRlZE9iamVjdFR5cGUYBSABKAkSEQoJdGltZXN0YW1wGAYgASgJEgwKBHR5cGUYByABKAkSDgoGdXNlcklkGAggASgJEiQKBGRhdGEYCSABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSLAoEdXNlchgKIAEoCzIeLmJsdWVhcGkuZ2MudjEuUGxhbkhpc3RvcnlVc2VyIoQCChNSZWdpc3Rlck9yZ1Jlc3BvbnNlEgoKAmlkGAEgASgJEgwKBG5hbWUYAiABKAkSLgoLbWVtYmVyc2hpcHMYAyADKAsyGS5ibHVlYXBpLmdjLnYxLk1lbWJlcnNoaXASDgoGZG9tYWluGAQgASgJEi4KDnByaW1hcnlBZGRyZXNzGAUgASgLMhYuYmx1ZWFwaS5nYy52MS5BZGRyZXNzEh8KF2F3c01hcmtldHBsYWNlT2ZmZXJMaW5rGAYgASgJEiEKGWF6dXJlTWFya2V0cGxhY2VPZmZlckxpbmsYByABKAkSHwoXZ2NwTWFya2V0cGxhY2VPZmZlckxpbmsYCCABKAkiMgoaU3RhcnRBd3NPbmJvYXJkaW5nUmVzcG9uc2USFAoMb25ib2FyZGluZ0lkGAEgASgJIlEKJEdldEF3c0Nsb3VkRm9ybWF0aW9uVGVtcGxhdGVSZXNwb25zZRIpCgh0ZW1wbGF0ZRgBIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QiKwocR2V0QXdzTGF1bmNoU3RhY2tVcmxSZXNwb25zZRILCgN1cmwYASABKAkijwQKG1ZlcmlmeUF3c09uYm9hcmRpbmdSZXNwb25zZRJUCgZjaGVja3MYASADKAsyRC5ibHVlYXBpLmdjLnYxLlZlcmlmeUF3c09uYm9hcmRpbmdSZXNwb25zZS5Bd3NPbmJvYXJkaW5nRmVhdHVyZUNoZWNrGpkDChlBd3NPbmJvYXJkaW5nRmVhdHVyZUNoZWNrEg8KB2ZlYXR1cmUYASABKAkSbwoGc3RhdHVzGAIgASgOMl8uYmx1ZWFwaS5nYy52MS5WZXJpZnlBd3NPbmJvYXJkaW5nUmVzcG9uc2UuQXdzT25ib2FyZGluZ0ZlYXR1cmVDaGVjay5Bd3NPbmJvYXJkaW5nRmVhdHVyZVN0YXR1cyL5AQoaQXdzT25ib2FyZGluZ0ZlYXR1cmVTdGF0dXMSLQopQVdTX09OQk9BUkRJTkdfRkVBVFVSRV9TVEFUVVNfVU5TUEVDSUZJRUQQABIrCidBV1NfT05CT0FSRElOR19GRUFUVVJFX1NUQVRVU19BVkFJTEFCTEUQARIpCiVBV1NfT05CT0FSRElOR19GRUFUVVJFX1NUQVRVU19XQVJOSU5HEAISKQolQVdTX09OQk9BUkRJTkdfRkVBVFVSRV9TVEFUVVNfTUlTU0lORxADEikKJUFXU19PTkJPQVJESU5HX0ZFQVRVUkVfU1RBVFVTX1VOS05PV04QBCLVBQobR2V0T25ib2FyZGluZ1N0YXR1c1Jlc3BvbnNlEg0KBWZvdW5kGAEgASgIEg0KBWlzTXNwGAIgASgIEikKCHByb3ZpZGVyGAMgASgOMhcuYmx1ZWFwaS5nYy52MS5Qcm92aWRlchIPCgdnY09yZ0lkGAQgASgJEhQKDG9uYm9hcmRpbmdJZBgFIAEoCRJVChBvbmJvYXJkaW5nU3RhdHVzGAYgASgOMjsuYmx1ZWFwaS5nYy52MS5HZXRPbmJvYXJkaW5nU3RhdHVzUmVzcG9uc2UuT25ib2FyZGluZ1N0YXR1cxIRCglhY2NvdW50SWQYByABKAkSFgoOYmlsbGluZ0dyb3VwSWQYCCABKAkSEQoJY29tcGFueUlkGAkgASgJEmAKEnZlcmlmaWNhdGlvbkNoZWNrcxgKIAMoCzJELmJsdWVhcGkuZ2MudjEuVmVyaWZ5QXdzT25ib2FyZGluZ1Jlc3BvbnNlLkF3c09uYm9hcmRpbmdGZWF0dXJlQ2hlY2sSNwoPdGVybXNBY2NlcHRhbmNlGAsgASgLMh4uYmx1ZWFwaS5nYy52MS5UZXJtc0FjY2VwdGFuY2UilQIKEE9uYm9hcmRpbmdTdGF0dXMSIQodT05CT0FSRElOR19TVEFUVVNfVU5TUEVDSUZJRUQQABIkCiBPTkJPQVJESU5HX1NUQVRVU19OT1RfUkVHSVNURVJFRBABEiAKHE9OQk9BUkRJTkdfU1RBVFVTX1JFR0lTVEVSRUQQAhIoCiRPTkJPQVJESU5HX1NUQVRVU19PTkJPQVJESU5HX1NUQVJURUQQAxIeChpPTkJPQVJESU5HX1NUQVRVU19WRVJJRklFRBAEEicKI09OQk9BUkRJTkdfU1RBVFVTX1ZFUklGWV9JTkNPTVBMRVRFEAUSIwofT05CT0FSRElOR19TVEFUVVNfVkVSSUZZX0ZBSUxFRBAGIo4DChNQYXllckFjY291bnREZXRhaWxzEhEKCWFjY291bnRJZBgBIAEoCRITCgthY2NvdW50TmFtZRgCIAEoCRIgChhyaXBwbGVSZWdpc3RyYXRpb25TdGF0dXMYAyABKAkSUgoNZ2NTZXR1cFN0YXR1cxgEIAEoDjI7LmJsdWVhcGkuZ2MudjEuR2V0T25ib2FyZGluZ1N0YXR1c1Jlc3BvbnNlLk9uYm9hcmRpbmdTdGF0dXMSYAoSdmVyaWZpY2F0aW9uQ2hlY2tzGAUgAygLMkQuYmx1ZWFwaS5nYy52MS5WZXJpZnlBd3NPbmJvYXJkaW5nUmVzcG9uc2UuQXdzT25ib2FyZGluZ0ZlYXR1cmVDaGVjaxIlCh1tYXJrZXRwbGFjZVByaXZhdGVPZmZlclN0YXR1cxgGIAEoCRIhChltYXJrZXRwbGFjZVByaXZhdGVPZmZlcklkGAcgASgJEi0KJW1hcmtldHBsYWNlUHJpdmF0ZU9mZmVyRXhwaXJhdGlvbkRhdGUYCCABKAkiqAUKGUxpc3RQYXllckFjY291bnRzUmVzcG9uc2USTAoNcGF5ZXJBY2NvdW50cxgBIAMoCzI1LmJsdWVhcGkuZ2MudjEuTGlzdFBheWVyQWNjb3VudHNSZXNwb25zZS5QYXllckFjY291bnQSPwoTcGF5ZXJBY2NvdW50RGV0YWlscxgCIAMoCzIiLmJsdWVhcGkuZ2MudjEuUGF5ZXJBY2NvdW50RGV0YWlscxr6AgoMUGF5ZXJBY2NvdW50EhEKCWFjY291bnRJZBgBIAEoCRITCgthY2NvdW50TmFtZRgCIAEoCRIWCg5iaWxsaW5nR3JvdXBJZBgDIAEoCRIRCglzZWdtZW50SWQYBCABKAkSSwoGc3RhdHVzGAUgASgOMjsuYmx1ZWFwaS5nYy52MS5MaXN0UGF5ZXJBY2NvdW50c1Jlc3BvbnNlLlBheWVyQWNjb3VudFN0YXR1cxIRCgljb21wYW55SWQYBiABKAkSVQoQb25ib2FyZGluZ1N0YXR1cxgHIAEoDjI7LmJsdWVhcGkuZ2MudjEuR2V0T25ib2FyZGluZ1N0YXR1c1Jlc3BvbnNlLk9uYm9hcmRpbmdTdGF0dXMSYAoSdmVyaWZpY2F0aW9uQ2hlY2tzGAggAygLMkQuYmx1ZWFwaS5nYy52MS5WZXJpZnlBd3NPbmJvYXJkaW5nUmVzcG9uc2UuQXdzT25ib2FyZGluZ0ZlYXR1cmVDaGVjayJ/ChJQYXllckFjY291bnRTdGF0dXMSJAogUEFZRVJfQUNDT1VOVF9TVEFUVVNfVU5TUEVDSUZJRUQQABIgChxQQVlFUl9BQ0NPVU5UX1NUQVRVU19FTkFCTEVEEAESIQodUEFZRVJfQUNDT1VOVF9TVEFUVVNfRElTQUJMRUQQAiJtCh5TZXRQYXllckFjY291bnRFbmFibGVkUmVzcG9uc2USSwoMcGF5ZXJBY2NvdW50GAEgASgLMjUuYmx1ZWFwaS5nYy52MS5MaXN0UGF5ZXJBY2NvdW50c1Jlc3BvbnNlLlBheWVyQWNjb3VudCJsCh1HZXRQYXllckFjY291bnRTdGF0dXNSZXNwb25zZRJLCgxwYXllckFjY291bnQYASABKAsyNS5ibHVlYXBpLmdjLnYxLkxpc3RQYXllckFjY291bnRzUmVzcG9uc2UuUGF5ZXJBY2NvdW50IrYFChlMaXN0QmlsbGluZ0dyb3Vwc1Jlc3BvbnNlEkwKDWJpbGxpbmdHcm91cHMYASADKAsyNS5ibHVlYXBpLmdjLnYxLkxpc3RCaWxsaW5nR3JvdXBzUmVzcG9uc2UuQmlsbGluZ0dyb3VwGskDCgxCaWxsaW5nR3JvdXASEQoJY29tcGFueUlkGAEgASgJEhYKDmJpbGxpbmdHcm91cElkGAIgASgJEhgKEGJpbGxpbmdHcm91cE5hbWUYAyABKAkSEwoLY29tcGFueU5hbWUYBCABKAkSFgoOcGF5ZXJBY2NvdW50SWQYBSABKAkSGAoQcGF5ZXJBY2NvdW50TmFtZRgGIAEoCRIRCglzZWdtZW50SWQYByABKAkSFAoMcmVzb3VyY2VUeXBlGAggASgJEksKBnN0YXR1cxgJIAEoDjI7LmJsdWVhcGkuZ2MudjEuTGlzdEJpbGxpbmdHcm91cHNSZXNwb25zZS5CaWxsaW5nR3JvdXBTdGF0dXMSVQoQb25ib2FyZGluZ1N0YXR1cxgKIAEoDjI7LmJsdWVhcGkuZ2MudjEuR2V0T25ib2FyZGluZ1N0YXR1c1Jlc3BvbnNlLk9uYm9hcmRpbmdTdGF0dXMSYAoSdmVyaWZpY2F0aW9uQ2hlY2tzGAsgAygLMkQuYmx1ZWFwaS5nYy52MS5WZXJpZnlBd3NPbmJvYXJkaW5nUmVzcG9uc2UuQXdzT25ib2FyZGluZ0ZlYXR1cmVDaGVjayJ/ChJCaWxsaW5nR3JvdXBTdGF0dXMSJAogQklMTElOR19HUk9VUF9TVEFUVVNfVU5TUEVDSUZJRUQQABIgChxCSUxMSU5HX0dST1VQX1NUQVRVU19FTkFCTEVEEAESIQodQklMTElOR19HUk9VUF9TVEFUVVNfRElTQUJMRUQQAiJsCh1TZXRCaWxsaW5nR3JvdXBTdGF0dXNSZXNwb25zZRJLCgxiaWxsaW5nR3JvdXAYASABKAsyNS5ibHVlYXBpLmdjLnYxLkxpc3RCaWxsaW5nR3JvdXBzUmVzcG9uc2UuQmlsbGluZ0dyb3VwIqUBCh1HZXRCaWxsaW5nR3JvdXBTdGF0dXNSZXNwb25zZRJLCgxiaWxsaW5nR3JvdXAYASABKAsyNS5ibHVlYXBpLmdjLnYxLkxpc3RCaWxsaW5nR3JvdXBzUmVzcG9uc2UuQmlsbGluZ0dyb3VwEjcKD3Rlcm1zQWNjZXB0YW5jZRgCIAEoCzIeLmJsdWVhcGkuZ2MudjEuVGVybXNBY2NlcHRhbmNlIloKHFZhbGlkYXRlQmlsbGluZ0dyb3VwUmVzcG9uc2USCgoCb2sYASABKAgSDwoHbWVzc2FnZRgCIAEoCRIMCgRjb2RlGAMgASgJEg8KB2RldGFpbHMYBCADKAkizgEKGkdldEF3c1ByaXZhdGVPZmZlclJlc3BvbnNlEhYKDnBheWVyQWNjb3VudElkGAEgASgJEg8KB29mZmVySWQYAiABKAkSEQoJb2ZmZXJOYW1lGAMgASgJEg4KBnN0YXR1cxgEIAEoCRIQCghvZmZlclVybBgFIAEoCRIRCglwcm9kdWN0SWQYBiABKAkSFAoMcHJpY2VQZXJVbml0GAcgASgBEhEKCWNyZWF0ZWRBdBgIIAEoCRIWCg5leHBpcmF0aW9uRGF0ZRgJIAEoCSJaCh9BY2NlcHRCaWxsaW5nR3JvdXBUZXJtc1Jlc3BvbnNlEjcKD3Rlcm1zQWNjZXB0YW5jZRgBIAEoCzIeLmJsdWVhcGkuZ2MudjEuVGVybXNBY2NlcHRhbmNlIlMKHkxpc3REcmFmdFB1cmNoYXNlUGxhbnNSZXNwb25zZRIxCgVwbGFucxgBIAMoCzIiLmJsdWVhcGkuZ2MudjEuRGVmYXVsdFB1cmNoYXNlUGxhbiJCCh9EZWxldGVEcmFmdFB1cmNoYXNlUGxhblJlc3BvbnNlEg4KBnBsYW5JZBgBIAEoCRIPCgdzdWNjZXNzGAIgASgIIjQKI0dldEF2YWlsYWJsZUNvbW1pdG1lbnRUeXBlc1Jlc3BvbnNlEg0KBXR5cGVzGAEgAygJIt0BCipHZXRHdWFyYW50ZWVkQ29tbWl0bWVudFRlbXBsYXRlVXJsUmVzcG9uc2USEQoJbGF1bmNoVXJsGAEgASgJEhMKC3RlbXBsYXRlVXJsGAIgASgJEhEKCXN0YWNrTmFtZRgDIAEoCRIRCglwcmluY2lwYWwYBCABKAkSEgoKZXh0ZXJuYWxJZBgFIAEoCRIlCh1ndWFyYW50ZWVkQ29tbWl0bWVudFByaW5jaXBhbBgGIAEoCRImCh5ndWFyYW50ZWVkQ29tbWl0bWVudEV4dGVybmFsSWQYByABKAkivgIKKENyZWF0ZUd1YXJhbnRlZWRDb21taXRtZW50QWNjZXNzUmVzcG9uc2USDgoGdGFyZ2V0GAEgASgJEhUKDXJpcHBsZVJvbGVBcm4YAiABKAkSGAoQcmlwcGxlRXh0ZXJuYWxJZBgDIAEoCRIjChtndWFyYW50ZWVkQ29tbWl0bWVudFJvbGVBcm4YBCABKAkSJgoeZ3VhcmFudGVlZENvbW1pdG1lbnRFeHRlcm5hbElkGAUgASgJEg8KB3N0YWNrSWQYBiABKAkSEwoLc3RhY2tSZWdpb24YByABKAkSEwoLdGVtcGxhdGVVcmwYCCABKAkSDgoGc3RhdHVzGAkgASgJEhMKC2xhc3RVcGRhdGVkGAogASgJEiQKHGd1YXJhbnRlZWRDb21taXRtZW50VmVyaWZpZWQYCyABKAgihAIKH0dldFB1cmNoYXNlUGxhbnNEZXRhaWxzUmVzcG9uc2USMAoEcGxhbhgBIAEoCzIiLmJsdWVhcGkuZ2MudjEuRGVmYXVsdFB1cmNoYXNlUGxhbhI4CglsaW5lSXRlbXMYAiADKAsyJS5ibHVlYXBpLmdjLnYxLkNvbW1pdG1lbnRQbGFuTGluZUl0ZW0SQwoPcmVzb3VyY2VNYXRjaGVzGAMgAygLMiouYmx1ZWFwaS5nYy52MS5Db21taXRtZW50UGxhblJlc291cmNlTWF0Y2gSMAoHaGlzdG9yeRgEIAMoCzIfLmJsdWVhcGkuZ2MudjEuUGxhbkhpc3RvcnlFbnRyeSJXCiJDcmVhdGVDdXN0b21Db21taXRtZW50UGxhblJlc3BvbnNlEjEKBXBsYW5zGAEgAygLMiIuYmx1ZWFwaS5nYy52MS5EZWZhdWx0UHVyY2hhc2VQbGFuInoKHEF6dXJlQXJjaGVyYU9yZ0ZlYXR1cmVTdGF0dXMSJgoGZGV0YWlsGAEgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEg8KB2ZlYXR1cmUYAiABKAkSDgoGc3RhdHVzGAMgASgJEhEKCXVwZGF0ZWRBdBgEIAEoCSJWChpBenVyZUFyY2hlcmFPcmdMZWFzZUJ1ZGdldBIOCgZidWRnZXQYASABKAESEQoJY3JlYXRlZEF0GAIgASgJEhUKDW1pblRlcm1Nb250aHMYAyABKAUingsKD0F6dXJlQXJjaGVyYU9yZxIeChZhcHBseUJhbGFuY2VUb1ByZW1pdW1zGAEgASgIEhMKC2F1dGhTc29Pbmx5GAIgASgIEjcKF2F3c01hcmtldHBsYWNlT2ZmZXJMaW5rGAMgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEjkKGWF6dXJlTWFya2V0cGxhY2VPZmZlckxpbmsYBCABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSDwoHYmFsYW5jZRgFIAEoARIVCg1iaWxsaW5nQWN0aXZlGAYgASgIEhoKEmNoYW5uZWxQYXJ0bmVyVHlwZRgHIAEoCRIyChJjaGFubmVsUGFydG5lcnNoaXAYCCABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSKwoLY29udHJhY3RFbmQYCSABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSEQoJY3JlYXRlZEF0GAogASgJEigKCGN1cnJlbmN5GAsgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEhcKD2RlZmF1bHRVc2VyUm9sZRgMIAEoCRIsCgxkaXNjb3VudEluZm8YDSABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSDgoGZG9tYWluGA4gASgJEi0KDWVmZmVjdGl2ZURhdGUYDyABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSRAoPZmVhdHVyZVN0YXR1c2VzGBAgAygLMisuYmx1ZWFwaS5nYy52MS5BenVyZUFyY2hlcmFPcmdGZWF0dXJlU3RhdHVzEhAKCGZlYXR1cmVzGBEgAygJEioKCmZydWdhbE1vZGUYEiABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSNwoXZ2NwTWFya2V0cGxhY2VPZmZlckxpbmsYEyABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSEwoLaGFzRGlzY291bnQYFCABKAgSDwoHaGFzR3JpcxgVIAEoCBIhChloYXNUZHNQYWNQcm94eUNyZWRlbnRpYWxzGBYgASgIEgoKAmlkGBcgASgJEh8KF2lzTGVhc2VCdXliYWNrQXV0b21hdGVkGBggASgIEhwKFGlzTGVhc2VTd2FwQXV0b21hdGVkGBkgASgIEhUKDWlzVGRzUGFjUHJveHkYGiABKAgSPgoLbGVhc2VCdWRnZXQYGyABKAsyKS5ibHVlYXBpLmdjLnYxLkF6dXJlQXJjaGVyYU9yZ0xlYXNlQnVkZ2V0EiAKGGxlYXNlQnV5YmFja0xvb2tiYWNrRGF5cxgcIAEoBRIdChVsZWFzZVN3YXBMb29rYmFja0RheXMYHSABKAUSDAoEbmFtZRgeIAEoCRIpCglwYXJ0bmVySWQYHyABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSEQoJcGxhblRyaWFsGCAgASgIEhgKEHBsYW5UcmlhbEV4cGlyZXMYISABKAkSFgoOcGxhblR5cGVDaG9zZW4YIiABKAkSGQoRcGxhblR5cGVFZmZlY3RpdmUYIyABKAkSLgoOcHJpbWFyeUFkZHJlc3MYJCABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSLQoNcHJvbW90aW9uQ29kZRglIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRJaChZwcm92aWRlclJvb3RTZWdtZW50SWRzGCYgAygLMjouYmx1ZWFwaS5nYy52MS5BenVyZUFyY2hlcmFPcmcuUHJvdmlkZXJSb290U2VnbWVudElkc0VudHJ5Gj0KG1Byb3ZpZGVyUm9vdFNlZ21lbnRJZHNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBIlQKGEF6dXJlT25ib2FyZGluZ0NyZWF0ZWRCeRIUCgxvbmJvYXJkaW5nSWQYASABKAkSEAoIdXNlcm5hbWUYAiABKAkSEAoIZnVsbE5hbWUYAyABKAkisgcKFEF6dXJlT25ib2FyZGluZ1N0YXRlEhQKDG9uYm9hcmRpbmdJZBgBIAEoCRINCgVvcmdJZBgCIAEoCRIQCghwcm92aWRlchgDIAEoCRIRCgljb21wbGV0ZWQYBCABKAgSEQoJY3JlYXRlZEF0GAUgASgJEjoKCWNyZWF0ZWRCeRgGIAEoCzInLmJsdWVhcGkuZ2MudjEuQXp1cmVPbmJvYXJkaW5nQ3JlYXRlZEJ5EisKC2ludGVncmF0aW9uGAcgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEhUKDWludGVncmF0aW9uSWQYCCABKAkSGgoSYXJjaGVyYU91dGJvdW5kSXBzGAkgAygJEhAKCHRlbmFudElkGAogASgJEhYKDnN1YnNjcmlwdGlvbklkGAsgASgJEhIKCmFjY291bnRJZHMYDCADKAkSEwoLYWNjb3VudEtpbmQYDSABKAkSMAoQYXBwQXV0aFZhbGlkYXRlZBgOIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRItCg1hcHBBdXRob3JpemVkGA8gASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEhUKDWJsb2JDb250YWluZXIYECABKAkSFQoNcmVzb3VyY2VHcm91cBgRIAEoCRIWCg5zdG9yYWdlQWNjb3VudBgSIAEoCRIQCghyb2xlTmFtZRgTIAEoCRIvCg9jcmVhdGVSZXNvdXJjZXMYFCABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSNAoUbWFya2V0cGxhY2VDb21wbGV0ZWQYFSABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSLwoPcGVybWlzc2lvbkxldmVsGBYgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEjMKE3Jlc291cmNlR3JvdXBSZWdpb24YFyABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSNAoUc3RvcmFnZUFjY291bnRSZWdpb24YGCABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSMQoRcmVzb3VyY2VHcm91cFRhZ3MYGSABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSMgoSc3RvcmFnZUFjY291bnRUYWdzGBogASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEisKA29yZxgbIAEoCzIeLmJsdWVhcGkuZ2MudjEuQXp1cmVBcmNoZXJhT3JnIpMBChxTdGFydEF6dXJlT25ib2FyZGluZ1Jlc3BvbnNlEhQKDG9uYm9hcmRpbmdJZBgBIAEoCRIyCgVzdGF0ZRgCIAEoCzIjLmJsdWVhcGkuZ2MudjEuQXp1cmVPbmJvYXJkaW5nU3RhdGUSFgoOYmlsbGluZ0dyb3VwSWQYAyABKAkSEQoJY29tcGFueUlkGAQgASgJIjAKIUdldEF6dXJlT25ib2FyZGluZ0F1dGhVcmxSZXNwb25zZRILCgN1cmwYASABKAkidgoMQXp1cmVBY2NvdW50EhEKCWFjY291bnRJZBgBIAEoCRITCgthY2NvdW50TmFtZRgCIAEoCRIVCg1hY2NvdW50U3RhdHVzGAMgASgJEhMKC2FjY291bnRUeXBlGAQgASgJEhIKCmlzRWxpZ2libGUYBSABKAgiVAojTGlzdEF6dXJlT25ib2FyZGluZ0FjY291bnRzUmVzcG9uc2USLQoIYWNjb3VudHMYASADKAsyGy5ibHVlYXBpLmdjLnYxLkF6dXJlQWNjb3VudCJQCh1BenVyZUludGVncmF0aW9uRmVhdHVyZVN0YXR1cxIPCgdmZWF0dXJlGAEgASgJEg4KBnN0YXR1cxgCIAEoCRIOCgZkZXRhaWwYAyADKAkiwgEKGkF6dXJlSW50ZWdyYXRpb25PbmJvYXJkaW5nEgoKAmlkGAEgASgJEg0KBW9yZ0lkGAIgASgJEhAKCHByb3ZpZGVyGAMgASgJEhUKDWludGVncmF0aW9uSWQYBCABKAkSEQoJY29tcGxldGVkGAUgASgIEhEKCWNyZWF0ZWRBdBgGIAEoCRI6CgljcmVhdGVkQnkYByABKAsyJy5ibHVlYXBpLmdjLnYxLkF6dXJlT25ib2FyZGluZ0NyZWF0ZWRCeSLuBAoQQXp1cmVJbnRlZ3JhdGlvbhIKCgJpZBgBIAEoCRIOCgZhY3RpdmUYAiABKAgSDAoEbmFtZRgDIAEoCRIQCghwcm92aWRlchgEIAEoCRIMCgR0eXBlGAUgASgJEg0KBW9yZ0lkGAYgASgJEg4KBnVzZXJJZBgHIAEoCRIRCgljcmVhdGVkQXQYCCABKAkSEQoJdXBkYXRlZEF0GAkgASgJEiAKGG1hbmFnZW1lbnRTdWJzY3JpcHRpb25JZBgKIAEoCRIeChZwcm92aWRlck9yZ2FuaXphdGlvbklkGAsgASgJEhUKDWJsb2JDb250YWluZXIYDCABKAkSFQoNcmVzb3VyY2VHcm91cBgNIAEoCRIWCg5zdG9yYWdlQWNjb3VudBgOIAEoCRIYChBjb3N0RXhwb3J0Rm9ybWF0GA8gASgJEhcKD2N1ckVhcmxpZXN0RGF0YRgQIAEoCRIVCg1jdXJSZXBvcnROYW1lGBEgASgJEhEKCWN1clVzYWJsZRgSIAEoCBIUCgxoYXNDdXJBY2Nlc3MYEyABKAgSIAoYaGFzRnVsbFJlc2VydmF0aW9uQWNjZXNzGBQgASgIEkUKD2ZlYXR1cmVTdGF0dXNlcxgVIAMoCzIsLmJsdWVhcGkuZ2MudjEuQXp1cmVJbnRlZ3JhdGlvbkZlYXR1cmVTdGF0dXMSPgoLb25ib2FyZGluZ3MYFiADKAsyKS5ibHVlYXBpLmdjLnYxLkF6dXJlSW50ZWdyYXRpb25PbmJvYXJkaW5nEicKBmNvbmZpZxgXIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QitAEKHkNyZWF0ZUF6dXJlSW50ZWdyYXRpb25SZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIEhEKCWVycm9yQ29kZRgCIAEoCRIUCgxlcnJvck1lc3NhZ2UYAyABKAkSFQoNaW50ZWdyYXRpb25JZBgEIAEoCRIWCg5iaWxsaW5nR3JvdXBJZBgFIAEoCRIRCgljb21wYW55SWQYBiABKAkSFgoOcGF5ZXJBY2NvdW50SWQYByABKAkiVgodTGlzdEF6dXJlSW50ZWdyYXRpb25zUmVzcG9uc2USNQoMaW50ZWdyYXRpb25zGAEgAygLMh8uYmx1ZWFwaS5nYy52MS5BenVyZUludGVncmF0aW9uKoICChFUZXJtc0NvbnNlbnRTdGF0ZRIjCh9URVJNU19DT05TRU5UX1NUQVRFX1VOU1BFQ0lGSUVEEAASJQohVEVSTVNfQ09OU0VOVF9TVEFURV9OT19BQ1RJVkVfVE9TEAESKAokVEVSTVNfQ09OU0VOVF9TVEFURV9DT05TRU5UX1JFUVVJUkVEEAISIQodVEVSTVNfQ09OU0VOVF9TVEFURV9DT05TRU5URUQQAxIoCiRURVJNU19DT05TRU5UX1NUQVRFX1VQREFURV9BVkFJTEFCTEUQBBIqCiZURVJNU19DT05TRU5UX1NUQVRFX1JFQ09OU0VOVF9SRVFVSVJFRBAFKl4KCFByb3ZpZGVyEhgKFFBST1ZJREVSX1VOU1BFQ0lGSUVEEAASBwoDQVdTEAESCQoFQVpVUkUQAhIHCgNHQ1AQAxIOCgpLVUJFUk5FVEVTEAQSCwoHVU5LTk9XThAFKpgBChBDb21taXRtZW50U3RhdHVzEiEKHUNPTU1JVE1FTlRfU1RBVFVTX1VOU1BFQ0lGSUVEEAASBwoDTkVXEAESDAoIUkVWSUVXRUQQAhINCglTQ0hFRFVMRUQQAxINCglDT01QTEVURUQQBBIJCgVEUkFGVBAFEhAKDE5FRURTX1JFVklFVxAGEg8KC0lOX1BST0dSRVNTEAcqigEKGUNvbW1pdG1lbnRJbnZlbnRvcnlTdGF0dXMSKwonQ09NTUlUTUVOVF9JTlZFTlRPUllfU1RBVFVTX1VOU1BFQ0lGSUVEEAASCgoGQUNUSVZFEAESCwoHUkVUSVJFRBACEhMKD1BBWU1FTlRfUEVORElORxADEhIKDlBBWU1FTlRfRkFJTEVEEAQqQwoFU2NvcGUSFQoRU0NPUEVfVU5TUEVDSUZJRUQQABIKCgZTSEFSRUQQARIMCghSRUdJT05BTBACEgkKBVpPTkFMEAMqQQoJVXNhZ2VUeXBlEhoKFlVTQUdFX1RZUEVfVU5TUEVDSUZJRUQQABILCgdSVU5OSU5HEAESCwoHU1RPUFBFRBACMoM7ChVHdWFyYW50ZWVkQ29tbWl0bWVudHMSYwoITGlzdE9yZ3MSHi5ibHVlYXBpLmdjLnYxLkxpc3RPcmdzUmVxdWVzdBoSLmJsdWVhcGkuZ2MudjEuT3JnIiGC0+STAhs6ASoiFi92MS9vcmdhbml6YXRpb25zOnJlYWQwARKXAQoUQ29tbWl0bWVudHNQbGFuQXBwbHkSKS5ibHVlYXBpLmdjLnYxLkNvbW1pdG1lbnRQbGFuQXBwbHlSZXF1ZXN0GiQuYmx1ZWFwaS5nYy52MS5Db21taXRtZW50UGxhbkRldGFpbHMiLoLT5JMCKDoBKiIjL3YxL2NvbW1pdG1lbnRzL3BsYW4ve3BsYW5JZH0vYXBwbHkSeQoPTGlzdENvbW1pdG1lbnRzEiUuYmx1ZWFwaS5nYy52MS5MaXN0Q29tbWl0bWVudHNSZXF1ZXN0GiYuYmx1ZWFwaS5nYy52MS5MaXN0Q29tbWl0bWVudHNSZXNwb25zZSIXgtPkkwIREg8vdjEvY29tbWl0bWVudHMSlwEKE0dldENvbW1pdG1lbnRzQ2hhcnQSKS5ibHVlYXBpLmdjLnYxLkdldENvbW1pdG1lbnRzQ2hhcnRSZXF1ZXN0GicuYmx1ZWFwaS5nYy52MS5Db21taXRtZW50c0NoYXJ0UmVzcG9uc2UiLILT5JMCJhIkL3YxL2NvbW1pdG1lbnRzL3tjb21taXRtZW50SWR9L2NoYXJ0Eq8BChlHZXRDb21taXRtZW50c1V0aWxpemF0aW9uEi8uYmx1ZWFwaS5nYy52MS5HZXRDb21taXRtZW50c1V0aWxpemF0aW9uUmVxdWVzdBotLmJsdWVhcGkuZ2MudjEuQ29tbWl0bWVudHNVdGlsaXphdGlvblJlc3BvbnNlIjKC0+STAiwSKi92MS9jb21taXRtZW50cy97Y29tbWl0bWVudElkfS91dGlsaXphdGlvbhKMAQoVUmVhZENvbW1pdG1lbnRSZXBvcnRzEisuYmx1ZWFwaS5nYy52MS5SZWFkQ29tbWl0bWVudFJlcG9ydHNSZXF1ZXN0Gh8uYmx1ZWFwaS5nYy52MS5Db21taXRtZW50UmVwb3J0IiOC0+STAh06ASoiGC92MS9yZXBvcnRzL2ludm9pY2U6cmVhZDABErIBChxSZWFkQ29tbWl0bWVudFJlcG9ydEFjY291bnRzEjIuYmx1ZWFwaS5nYy52MS5SZWFkQ29tbWl0bWVudFJlcG9ydEFjY291bnRzUmVxdWVzdBomLmJsdWVhcGkuZ2MudjEuQ29tbWl0bWVudFJlcG9ydEFjY291bnQiNILT5JMCLjoBKiIpL3YxL3JlcG9ydHMvaW52b2ljZS97bW9udGh9L2FjY291bnRzOnJlYWQwARJjCgpHZXRNZXRyaWNzEiAuYmx1ZWFwaS5nYy52MS5HZXRNZXRyaWNzUmVxdWVzdBoeLmJsdWVhcGkuZ2MudjEuTWV0cmljc1Jlc3BvbnNlIhOC0+STAg0SCy92MS9tZXRyaWNzEnEKDUxpc3RSZXNvdXJjZXMSIy5ibHVlYXBpLmdjLnYxLkxpc3RSZXNvdXJjZXNSZXF1ZXN0GiQuYmx1ZWFwaS5nYy52MS5MaXN0UmVzb3VyY2VzUmVzcG9uc2UiFYLT5JMCDxINL3YxL3Jlc291cmNlcxKhAQoVR2V0UmVzb3VyY2VEYWlseVVzYWdlEisuYmx1ZWFwaS5nYy52MS5HZXRSZXNvdXJjZURhaWx5VXNhZ2VSZXF1ZXN0GiwuYmx1ZWFwaS5nYy52MS5HZXRSZXNvdXJjZURhaWx5VXNhZ2VSZXNwb25zZSItgtPkkwInEiUvdjEvcmVzb3VyY2VzL3tyZXNvdXJjZUlkfS9kYWlseXVzYWdlEpsBChdMaXN0UmVzZXJ2YWJsZVJlc291cmNlcxItLmJsdWVhcGkuZ2MudjEuTGlzdFJlc2VydmFibGVSZXNvdXJjZXNSZXF1ZXN0Gi4uYmx1ZWFwaS5nYy52MS5MaXN0UmVzZXJ2YWJsZVJlc291cmNlc1Jlc3BvbnNlIiGC0+STAhsSGS92MS9jb21taXRtZW50cy9yZXNvdXJjZXMSqAEKGkxpc3RQdXJjaGFzZVBsYW5zQnlTZWdtZW50EjAuYmx1ZWFwaS5nYy52MS5MaXN0UHVyY2hhc2VQbGFuc0J5U2VnbWVudFJlcXVlc3QaMS5ibHVlYXBpLmdjLnYxLkxpc3RQdXJjaGFzZVBsYW5zQnlTZWdtZW50UmVzcG9uc2UiJYLT5JMCHxIdL3YxL2NvbW1pdG1lbnRzL3B1cmNoYXNlcGxhbnMSxAEKIEdldFVwZGF0ZWRQdXJjaGFzZVBsYW5zQnlTZWdtZW50EjYuYmx1ZWFwaS5nYy52MS5HZXRVcGRhdGVkUHVyY2hhc2VQbGFuc0J5U2VnbWVudFJlcXVlc3QaNy5ibHVlYXBpLmdjLnYxLkdldFVwZGF0ZWRQdXJjaGFzZVBsYW5zQnlTZWdtZW50UmVzcG9uc2UiL4LT5JMCKToBKiIkL3YxL2NvbW1pdG1lbnRzL3B1cmNoYXNlcGxhbnM6dXBkYXRlEqgBChdHZXRQdXJjaGFzZVBsYW5zRGV0YWlscxItLmJsdWVhcGkuZ2MudjEuR2V0UHVyY2hhc2VQbGFuc0RldGFpbHNSZXF1ZXN0Gi4uYmx1ZWFwaS5nYy52MS5HZXRQdXJjaGFzZVBsYW5zRGV0YWlsc1Jlc3BvbnNlIi6C0+STAigSJi92MS9jb21taXRtZW50cy9wdXJjaGFzZXBsYW5zL3twbGFuSWR9EqsBChpTYXZlQ29tbWl0bWVudHNQbGFuQXNEcmFmdBIwLmJsdWVhcGkuZ2MudjEuU2F2ZUNvbW1pdG1lbnRzUGxhbkFzRHJhZnRSZXF1ZXN0GiIuYmx1ZWFwaS5nYy52MS5EZWZhdWx0UHVyY2hhc2VQbGFuIjeC0+STAjE6ASoiLC92MS9jb21taXRtZW50cy9wdXJjaGFzZXBsYW5zL2RyYWZ0L3twbGFuSWR9EqIBChZMaXN0RHJhZnRQdXJjaGFzZVBsYW5zEiwuYmx1ZWFwaS5nYy52MS5MaXN0RHJhZnRQdXJjaGFzZVBsYW5zUmVxdWVzdBotLmJsdWVhcGkuZ2MudjEuTGlzdERyYWZ0UHVyY2hhc2VQbGFuc1Jlc3BvbnNlIiuC0+STAiUSIy92MS9jb21taXRtZW50cy9wdXJjaGFzZXBsYW5zL2RyYWZ0ErMBChdEZWxldGVEcmFmdFB1cmNoYXNlUGxhbhItLmJsdWVhcGkuZ2MudjEuRGVsZXRlRHJhZnRQdXJjaGFzZVBsYW5SZXF1ZXN0Gi4uYmx1ZWFwaS5nYy52MS5EZWxldGVEcmFmdFB1cmNoYXNlUGxhblJlc3BvbnNlIjmC0+STAjMqMS92MS9jb21taXRtZW50cy9wdXJjaGFzZXBsYW5zL2RyYWZ0L3tkcmFmdFBsYW5JZH0SugEKG0dldEF2YWlsYWJsZUNvbW1pdG1lbnRUeXBlcxIxLmJsdWVhcGkuZ2MudjEuR2V0QXZhaWxhYmxlQ29tbWl0bWVudFR5cGVzUmVxdWVzdBoyLmJsdWVhcGkuZ2MudjEuR2V0QXZhaWxhYmxlQ29tbWl0bWVudFR5cGVzUmVzcG9uc2UiNILT5JMCLhIsL3YxL2NvbW1pdG1lbnRzL3B1cmNoYXNlcGxhbnMvYXZhaWxhYmxldHlwZXMSsgEKGkNyZWF0ZUN1c3RvbUNvbW1pdG1lbnRQbGFuEjAuYmx1ZWFwaS5nYy52MS5DcmVhdGVDdXN0b21Db21taXRtZW50UGxhblJlcXVlc3QaMS5ibHVlYXBpLmdjLnYxLkNyZWF0ZUN1c3RvbUNvbW1pdG1lbnRQbGFuUmVzcG9uc2UiL4LT5JMCKToBKiIkL3YxL2NvbW1pdG1lbnRzL3B1cmNoYXNlcGxhbnMvY3VzdG9tEm8KC1JlZ2lzdGVyT3JnEiEuYmx1ZWFwaS5nYy52MS5SZWdpc3Rlck9yZ1JlcXVlc3QaIi5ibHVlYXBpLmdjLnYxLlJlZ2lzdGVyT3JnUmVzcG9uc2UiGYLT5JMCEzoBKiIOL3YxL29uYm9hcmRpbmcSjgEKElN0YXJ0QXdzT25ib2FyZGluZxIoLmJsdWVhcGkuZ2MudjEuU3RhcnRBd3NPbmJvYXJkaW5nUmVxdWVzdBopLmJsdWVhcGkuZ2MudjEuU3RhcnRBd3NPbmJvYXJkaW5nUmVzcG9uc2UiI4LT5JMCHToBKiIYL3YxL29uYm9hcmRpbmcvYXdzL3N0YXJ0ErsBChxHZXRBd3NDbG91ZEZvcm1hdGlvblRlbXBsYXRlEjIuYmx1ZWFwaS5nYy52MS5HZXRBd3NDbG91ZEZvcm1hdGlvblRlbXBsYXRlUmVxdWVzdBozLmJsdWVhcGkuZ2MudjEuR2V0QXdzQ2xvdWRGb3JtYXRpb25UZW1wbGF0ZVJlc3BvbnNlIjKC0+STAiwSKi92MS9vbmJvYXJkaW5nL2F3cy9jbG91ZGZvcm1hdGlvbi90ZW1wbGF0ZRKpAQoUR2V0QXdzTGF1bmNoU3RhY2tVcmwSKi5ibHVlYXBpLmdjLnYxLkdldEF3c0xhdW5jaFN0YWNrVXJsUmVxdWVzdBorLmJsdWVhcGkuZ2MudjEuR2V0QXdzTGF1bmNoU3RhY2tVcmxSZXNwb25zZSI4gtPkkwIyEjAvdjEvb25ib2FyZGluZy9hd3MvY2xvdWRmb3JtYXRpb24vbGF1bmNoc3RhY2t1cmwSkgEKE1ZlcmlmeUF3c09uYm9hcmRpbmcSKS5ibHVlYXBpLmdjLnYxLlZlcmlmeUF3c09uYm9hcmRpbmdSZXF1ZXN0GiouYmx1ZWFwaS5nYy52MS5WZXJpZnlBd3NPbmJvYXJkaW5nUmVzcG9uc2UiJILT5JMCHjoBKiIZL3YxL29uYm9hcmRpbmcvYXdzL3ZlcmlmeRKTAQoTR2V0T25ib2FyZGluZ1N0YXR1cxIpLmJsdWVhcGkuZ2MudjEuR2V0T25ib2FyZGluZ1N0YXR1c1JlcXVlc3QaKi5ibHVlYXBpLmdjLnYxLkdldE9uYm9hcmRpbmdTdGF0dXNSZXNwb25zZSIlgtPkkwIfOgEqIhovdjEvb25ib2FyZGluZy9zdGF0dXM6cmVhZBKIAQoRTGlzdFBheWVyQWNjb3VudHMSJy5ibHVlYXBpLmdjLnYxLkxpc3RQYXllckFjY291bnRzUmVxdWVzdBooLmJsdWVhcGkuZ2MudjEuTGlzdFBheWVyQWNjb3VudHNSZXNwb25zZSIggtPkkwIaEhgvdjEvbWFuYWdlbWVudHMvYWNjb3VudHMSpgEKFlNldFBheWVyQWNjb3VudEVuYWJsZWQSLC5ibHVlYXBpLmdjLnYxLlNldFBheWVyQWNjb3VudEVuYWJsZWRSZXF1ZXN0Gi0uYmx1ZWFwaS5nYy52MS5TZXRQYXllckFjY291bnRFbmFibGVkUmVzcG9uc2UiL4LT5JMCKToBKiIkL3YxL21hbmFnZW1lbnRzL2FjY291bnRzL3tjb21wYW55SWR9EpsBChVHZXRQYXllckFjY291bnRTdGF0dXMSKy5ibHVlYXBpLmdjLnYxLkdldFBheWVyQWNjb3VudFN0YXR1c1JlcXVlc3QaLC5ibHVlYXBpLmdjLnYxLkdldFBheWVyQWNjb3VudFN0YXR1c1Jlc3BvbnNlIieC0+STAiESHy92MS9tYW5hZ2VtZW50cy9hY2NvdW50cy9zdGF0dXMSjQEKEUxpc3RCaWxsaW5nR3JvdXBzEicuYmx1ZWFwaS5nYy52MS5MaXN0QmlsbGluZ0dyb3Vwc1JlcXVlc3QaKC5ibHVlYXBpLmdjLnYxLkxpc3RCaWxsaW5nR3JvdXBzUmVzcG9uc2UiJYLT5JMCHxIdL3YxL21hbmFnZW1lbnRzL2JpbGxpbmdncm91cHMSqAEKFVNldEJpbGxpbmdHcm91cFN0YXR1cxIrLmJsdWVhcGkuZ2MudjEuU2V0QmlsbGluZ0dyb3VwU3RhdHVzUmVxdWVzdBosLmJsdWVhcGkuZ2MudjEuU2V0QmlsbGluZ0dyb3VwU3RhdHVzUmVzcG9uc2UiNILT5JMCLjoBKiIpL3YxL21hbmFnZW1lbnRzL2JpbGxpbmdncm91cHMve2NvbXBhbnlJZH0SoAEKFUdldEJpbGxpbmdHcm91cFN0YXR1cxIrLmJsdWVhcGkuZ2MudjEuR2V0QmlsbGluZ0dyb3VwU3RhdHVzUmVxdWVzdBosLmJsdWVhcGkuZ2MudjEuR2V0QmlsbGluZ0dyb3VwU3RhdHVzUmVzcG9uc2UiLILT5JMCJhIkL3YxL21hbmFnZW1lbnRzL2JpbGxpbmdncm91cHMvc3RhdHVzEqABChRWYWxpZGF0ZUJpbGxpbmdHcm91cBIqLmJsdWVhcGkuZ2MudjEuVmFsaWRhdGVCaWxsaW5nR3JvdXBSZXF1ZXN0GisuYmx1ZWFwaS5nYy52MS5WYWxpZGF0ZUJpbGxpbmdHcm91cFJlc3BvbnNlIi+C0+STAik6ASoiJC92MS9vbmJvYXJkaW5nL2JpbGxpbmdncm91cDp2YWxpZGF0ZRKjAQoSR2V0QXdzUHJpdmF0ZU9mZmVyEiguYmx1ZWFwaS5nYy52MS5HZXRBd3NQcml2YXRlT2ZmZXJSZXF1ZXN0GikuYmx1ZWFwaS5nYy52MS5HZXRBd3NQcml2YXRlT2ZmZXJSZXNwb25zZSI4gtPkkwIyEjAvdjEvb25ib2FyZGluZy9hd3MvcHJpdmF0ZW9mZmVyL3twYXllckFjY291bnRJZH0SrwEKF0FjY2VwdEJpbGxpbmdHcm91cFRlcm1zEi0uYmx1ZWFwaS5nYy52MS5BY2NlcHRCaWxsaW5nR3JvdXBUZXJtc1JlcXVlc3QaLi5ibHVlYXBpLmdjLnYxLkFjY2VwdEJpbGxpbmdHcm91cFRlcm1zUmVzcG9uc2UiNYLT5JMCLzoBKiIqL3YxL21hbmFnZW1lbnRzL2JpbGxpbmdncm91cHMvdGVybXM6YWNjZXB0Es8BCiJHZXRHdWFyYW50ZWVkQ29tbWl0bWVudFRlbXBsYXRlVXJsEjguYmx1ZWFwaS5nYy52MS5HZXRHdWFyYW50ZWVkQ29tbWl0bWVudFRlbXBsYXRlVXJsUmVxdWVzdBo5LmJsdWVhcGkuZ2MudjEuR2V0R3VhcmFudGVlZENvbW1pdG1lbnRUZW1wbGF0ZVVybFJlc3BvbnNlIjSC0+STAi4SLC92MS9vbmJvYXJkaW5nL2F3cy9jZnRlbXBsYXRlL2d1YXJhbnRlZWQ6dXJsEsgBCiBDcmVhdGVHdWFyYW50ZWVkQ29tbWl0bWVudEFjY2VzcxI2LmJsdWVhcGkuZ2MudjEuQ3JlYXRlR3VhcmFudGVlZENvbW1pdG1lbnRBY2Nlc3NSZXF1ZXN0GjcuYmx1ZWFwaS5nYy52MS5DcmVhdGVHdWFyYW50ZWVkQ29tbWl0bWVudEFjY2Vzc1Jlc3BvbnNlIjOC0+STAi06ASoiKC92MS9vbmJvYXJkaW5nL2F3cy9jZnRlbXBsYXRlL2d1YXJhbnRlZWQSlgEKFFN0YXJ0QXp1cmVPbmJvYXJkaW5nEiouYmx1ZWFwaS5nYy52MS5TdGFydEF6dXJlT25ib2FyZGluZ1JlcXVlc3QaKy5ibHVlYXBpLmdjLnYxLlN0YXJ0QXp1cmVPbmJvYXJkaW5nUmVzcG9uc2UiJYLT5JMCHzoBKiIaL3YxL29uYm9hcmRpbmcvYXp1cmUvc3RhcnQSoAEKFVVwZGF0ZUF6dXJlT25ib2FyZGluZxIrLmJsdWVhcGkuZ2MudjEuVXBkYXRlQXp1cmVPbmJvYXJkaW5nUmVxdWVzdBojLmJsdWVhcGkuZ2MudjEuQXp1cmVPbmJvYXJkaW5nU3RhdGUiNYLT5JMCLzoBKiIqL3YxL29uYm9hcmRpbmcvYXp1cmUve29uYm9hcmRpbmdJZH06dXBkYXRlErMBChlHZXRBenVyZU9uYm9hcmRpbmdBdXRoVXJsEi8uYmx1ZWFwaS5nYy52MS5HZXRBenVyZU9uYm9hcmRpbmdBdXRoVXJsUmVxdWVzdBowLmJsdWVhcGkuZ2MudjEuR2V0QXp1cmVPbmJvYXJkaW5nQXV0aFVybFJlc3BvbnNlIjOC0+STAi0SKy92MS9vbmJvYXJkaW5nL2F6dXJlL3tvbmJvYXJkaW5nSWR9L2F1dGh1cmwSpgEKF1ZhbGlkYXRlQXp1cmVBcHBJbnN0YWxsEi0uYmx1ZWFwaS5nYy52MS5WYWxpZGF0ZUF6dXJlQXBwSW5zdGFsbFJlcXVlc3QaIy5ibHVlYXBpLmdjLnYxLkF6dXJlT25ib2FyZGluZ1N0YXRlIjeC0+STAjE6ASoiLC92MS9vbmJvYXJkaW5nL2F6dXJlL3tvbmJvYXJkaW5nSWR9L3ZhbGlkYXRlEroBChtMaXN0QXp1cmVPbmJvYXJkaW5nQWNjb3VudHMSMS5ibHVlYXBpLmdjLnYxLkxpc3RBenVyZU9uYm9hcmRpbmdBY2NvdW50c1JlcXVlc3QaMi5ibHVlYXBpLmdjLnYxLkxpc3RBenVyZU9uYm9hcmRpbmdBY2NvdW50c1Jlc3BvbnNlIjSC0+STAi4SLC92MS9vbmJvYXJkaW5nL2F6dXJlL3tvbmJvYXJkaW5nSWR9L2FjY291bnRzEqIBChZDcmVhdGVBenVyZUludGVncmF0aW9uEiwuYmx1ZWFwaS5nYy52MS5DcmVhdGVBenVyZUludGVncmF0aW9uUmVxdWVzdBotLmJsdWVhcGkuZ2MudjEuQ3JlYXRlQXp1cmVJbnRlZ3JhdGlvblJlc3BvbnNlIiuC0+STAiU6ASoiIC92MS9vbmJvYXJkaW5nL2F6dXJlL2ludGVncmF0aW9uEp0BChVMaXN0QXp1cmVJbnRlZ3JhdGlvbnMSKy5ibHVlYXBpLmdjLnYxLkxpc3RBenVyZUludGVncmF0aW9uc1JlcXVlc3QaLC5ibHVlYXBpLmdjLnYxLkxpc3RBenVyZUludGVncmF0aW9uc1Jlc3BvbnNlIimC0+STAiMSIS92MS9vbmJvYXJkaW5nL2F6dXJlL2ludGVncmF0aW9ucxKMAQoVR2V0VGVybXNDb25zZW50U3RhdHVzEisuYmx1ZWFwaS5nYy52MS5HZXRUZXJtc0NvbnNlbnRTdGF0dXNSZXF1ZXN0GiwuYmx1ZWFwaS5nYy52MS5HZXRUZXJtc0NvbnNlbnRTdGF0dXNSZXNwb25zZSIYgtPkkwISEhAvdjEvdGVybXMvc3RhdHVzEooBChBHZXRUZXJtc0RvY3VtZW50EiYuYmx1ZWFwaS5nYy52MS5HZXRUZXJtc0RvY3VtZW50UmVxdWVzdBonLmJsdWVhcGkuZ2MudjEuR2V0VGVybXNEb2N1bWVudFJlc3BvbnNlIiWC0+STAh8SHS92MS90ZXJtcy9kb2N1bWVudC97bGFuZ3VhZ2V9EnEKC0FjY2VwdFRlcm1zEiEuYmx1ZWFwaS5nYy52MS5BY2NlcHRUZXJtc1JlcXVlc3QaIi5ibHVlYXBpLmdjLnYxLkFjY2VwdFRlcm1zUmVzcG9uc2UiG4LT5JMCFToBKiIQL3YxL3Rlcm1zOmFjY2VwdBqiAZJBngESUChBbHBoYSkgR3VhcmFudGVlZENvbW1pdG1lbnRzIEFQSS4gQmFzZSBVUkw6IGh0dHBzOi8vYXBpLmFscGhhdXMuY2xvdWQvbS9ibHVlL2djGkoKElNlcnZpY2UgZGVmaW5pdGlvbhI0aHR0cHM6Ly9naXRodWIuY29tL2FscGhhdXNsYWJzL2JsdWVhcGkvdHJlZS9tYWluL2djL0JVChRjbG91ZC5hbHBoYXVzLmFwaS5nY0IaR3VhcmFudGVlZENvbW1pdG1lbnRzUHJvdG9aIWdpdGh1Yi5jb20vYWxwaGF1c2xhYnMvYmx1ZWFwaS9nY2IGcHJvdG8z", [file_google_api_annotations, file_google_api_field_behavior, file_google_protobuf_struct, file_protoc_gen_openapiv2_options_annotations]);
19
+
20
+ /**
21
+ * Product and consent scope are derived from authenticated request context.
22
+ *
23
+ * @generated from message blueapi.gc.v1.GetTermsConsentStatusRequest
24
+ */
25
+ export type GetTermsConsentStatusRequest = Message<"blueapi.gc.v1.GetTermsConsentStatusRequest"> & {
26
+ };
27
+
28
+ /**
29
+ * Describes the message blueapi.gc.v1.GetTermsConsentStatusRequest.
30
+ * Use `create(GetTermsConsentStatusRequestSchema)` to create a new message.
31
+ */
32
+ export const GetTermsConsentStatusRequestSchema: GenMessage<GetTermsConsentStatusRequest> = /*@__PURE__*/
33
+ messageDesc(file_gc_v1_gc, 0);
34
+
35
+ /**
36
+ * Selects one language representation of the active Terms of Service.
37
+ *
38
+ * Supported values:
39
+ * - "en": English
40
+ * - "ja": Japanese
41
+ *
42
+ * Product and version are derived from authenticated request context.
43
+ *
44
+ * @generated from message blueapi.gc.v1.GetTermsDocumentRequest
45
+ */
46
+ export type GetTermsDocumentRequest = Message<"blueapi.gc.v1.GetTermsDocumentRequest"> & {
47
+ /**
48
+ * @generated from field: string language = 1;
49
+ */
50
+ language: string;
51
+ };
52
+
53
+ /**
54
+ * Describes the message blueapi.gc.v1.GetTermsDocumentRequest.
55
+ * Use `create(GetTermsDocumentRequestSchema)` to create a new message.
56
+ */
57
+ export const GetTermsDocumentRequestSchema: GenMessage<GetTermsDocumentRequest> = /*@__PURE__*/
58
+ messageDesc(file_gc_v1_gc, 1);
59
+
60
+ /**
61
+ * Identifies the active Terms of Service version displayed to the user.
62
+ *
63
+ * The backend verifies that this version is still active before recording
64
+ * consent. Product and scope are derived from authenticated request context.
65
+ *
66
+ * @generated from message blueapi.gc.v1.AcceptTermsRequest
67
+ */
68
+ export type AcceptTermsRequest = Message<"blueapi.gc.v1.AcceptTermsRequest"> & {
69
+ /**
70
+ * @generated from field: string versionId = 1;
71
+ */
72
+ versionId: string;
73
+ };
74
+
75
+ /**
76
+ * Describes the message blueapi.gc.v1.AcceptTermsRequest.
77
+ * Use `create(AcceptTermsRequestSchema)` to create a new message.
78
+ */
79
+ export const AcceptTermsRequestSchema: GenMessage<AcceptTermsRequest> = /*@__PURE__*/
80
+ messageDesc(file_gc_v1_gc, 2);
19
81
 
20
82
  /**
21
83
  * @generated from message blueapi.gc.v1.ListOrgsRequest
@@ -28,7 +90,7 @@ export type ListOrgsRequest = Message<"blueapi.gc.v1.ListOrgsRequest"> & {
28
90
  * Use `create(ListOrgsRequestSchema)` to create a new message.
29
91
  */
30
92
  export const ListOrgsRequestSchema: GenMessage<ListOrgsRequest> = /*@__PURE__*/
31
- messageDesc(file_gc_v1_gc, 0);
93
+ messageDesc(file_gc_v1_gc, 3);
32
94
 
33
95
  /**
34
96
  * @generated from message blueapi.gc.v1.CommitmentPlanApplyRequest
@@ -45,7 +107,7 @@ export type CommitmentPlanApplyRequest = Message<"blueapi.gc.v1.CommitmentPlanAp
45
107
  * Use `create(CommitmentPlanApplyRequestSchema)` to create a new message.
46
108
  */
47
109
  export const CommitmentPlanApplyRequestSchema: GenMessage<CommitmentPlanApplyRequest> = /*@__PURE__*/
48
- messageDesc(file_gc_v1_gc, 1);
110
+ messageDesc(file_gc_v1_gc, 4);
49
111
 
50
112
  /**
51
113
  * @generated from message blueapi.gc.v1.ListCommitmentsRequest
@@ -58,7 +120,7 @@ export type ListCommitmentsRequest = Message<"blueapi.gc.v1.ListCommitmentsReque
58
120
  * Use `create(ListCommitmentsRequestSchema)` to create a new message.
59
121
  */
60
122
  export const ListCommitmentsRequestSchema: GenMessage<ListCommitmentsRequest> = /*@__PURE__*/
61
- messageDesc(file_gc_v1_gc, 2);
123
+ messageDesc(file_gc_v1_gc, 5);
62
124
 
63
125
  /**
64
126
  * @generated from message blueapi.gc.v1.GetCommitmentsChartRequest
@@ -94,7 +156,7 @@ export type GetCommitmentsChartRequest = Message<"blueapi.gc.v1.GetCommitmentsCh
94
156
  * Use `create(GetCommitmentsChartRequestSchema)` to create a new message.
95
157
  */
96
158
  export const GetCommitmentsChartRequestSchema: GenMessage<GetCommitmentsChartRequest> = /*@__PURE__*/
97
- messageDesc(file_gc_v1_gc, 3);
159
+ messageDesc(file_gc_v1_gc, 6);
98
160
 
99
161
  /**
100
162
  * @generated from message blueapi.gc.v1.GetCommitmentsUtilizationRequest
@@ -113,7 +175,7 @@ export type GetCommitmentsUtilizationRequest = Message<"blueapi.gc.v1.GetCommitm
113
175
  * Use `create(GetCommitmentsUtilizationRequestSchema)` to create a new message.
114
176
  */
115
177
  export const GetCommitmentsUtilizationRequestSchema: GenMessage<GetCommitmentsUtilizationRequest> = /*@__PURE__*/
116
- messageDesc(file_gc_v1_gc, 4);
178
+ messageDesc(file_gc_v1_gc, 7);
117
179
 
118
180
  /**
119
181
  * @generated from message blueapi.gc.v1.ReadCommitmentReportsRequest
@@ -126,7 +188,7 @@ export type ReadCommitmentReportsRequest = Message<"blueapi.gc.v1.ReadCommitment
126
188
  * Use `create(ReadCommitmentReportsRequestSchema)` to create a new message.
127
189
  */
128
190
  export const ReadCommitmentReportsRequestSchema: GenMessage<ReadCommitmentReportsRequest> = /*@__PURE__*/
129
- messageDesc(file_gc_v1_gc, 5);
191
+ messageDesc(file_gc_v1_gc, 8);
130
192
 
131
193
  /**
132
194
  * @generated from message blueapi.gc.v1.ReadCommitmentReportAccountsRequest
@@ -145,7 +207,7 @@ export type ReadCommitmentReportAccountsRequest = Message<"blueapi.gc.v1.ReadCom
145
207
  * Use `create(ReadCommitmentReportAccountsRequestSchema)` to create a new message.
146
208
  */
147
209
  export const ReadCommitmentReportAccountsRequestSchema: GenMessage<ReadCommitmentReportAccountsRequest> = /*@__PURE__*/
148
- messageDesc(file_gc_v1_gc, 6);
210
+ messageDesc(file_gc_v1_gc, 9);
149
211
 
150
212
  /**
151
213
  * @generated from message blueapi.gc.v1.GetMetricsRequest
@@ -162,7 +224,7 @@ export type GetMetricsRequest = Message<"blueapi.gc.v1.GetMetricsRequest"> & {
162
224
  * Use `create(GetMetricsRequestSchema)` to create a new message.
163
225
  */
164
226
  export const GetMetricsRequestSchema: GenMessage<GetMetricsRequest> = /*@__PURE__*/
165
- messageDesc(file_gc_v1_gc, 7);
227
+ messageDesc(file_gc_v1_gc, 10);
166
228
 
167
229
  /**
168
230
  * @generated from message blueapi.gc.v1.ListResourcesRequest
@@ -209,7 +271,7 @@ export type ListResourcesRequest = Message<"blueapi.gc.v1.ListResourcesRequest">
209
271
  * Use `create(ListResourcesRequestSchema)` to create a new message.
210
272
  */
211
273
  export const ListResourcesRequestSchema: GenMessage<ListResourcesRequest> = /*@__PURE__*/
212
- messageDesc(file_gc_v1_gc, 8);
274
+ messageDesc(file_gc_v1_gc, 11);
213
275
 
214
276
  /**
215
277
  * @generated from message blueapi.gc.v1.GetResourceDailyUsageRequest
@@ -251,7 +313,7 @@ export type GetResourceDailyUsageRequest = Message<"blueapi.gc.v1.GetResourceDai
251
313
  * Use `create(GetResourceDailyUsageRequestSchema)` to create a new message.
252
314
  */
253
315
  export const GetResourceDailyUsageRequestSchema: GenMessage<GetResourceDailyUsageRequest> = /*@__PURE__*/
254
- messageDesc(file_gc_v1_gc, 9);
316
+ messageDesc(file_gc_v1_gc, 12);
255
317
 
256
318
  /**
257
319
  * @generated from message blueapi.gc.v1.ListReservableResourcesRequest
@@ -286,7 +348,7 @@ export type ListReservableResourcesRequest = Message<"blueapi.gc.v1.ListReservab
286
348
  * Use `create(ListReservableResourcesRequestSchema)` to create a new message.
287
349
  */
288
350
  export const ListReservableResourcesRequestSchema: GenMessage<ListReservableResourcesRequest> = /*@__PURE__*/
289
- messageDesc(file_gc_v1_gc, 10);
351
+ messageDesc(file_gc_v1_gc, 13);
290
352
 
291
353
  /**
292
354
  * @generated from message blueapi.gc.v1.ListPurchasePlansBySegmentRequest
@@ -299,7 +361,7 @@ export type ListPurchasePlansBySegmentRequest = Message<"blueapi.gc.v1.ListPurch
299
361
  * Use `create(ListPurchasePlansBySegmentRequestSchema)` to create a new message.
300
362
  */
301
363
  export const ListPurchasePlansBySegmentRequestSchema: GenMessage<ListPurchasePlansBySegmentRequest> = /*@__PURE__*/
302
- messageDesc(file_gc_v1_gc, 11);
364
+ messageDesc(file_gc_v1_gc, 14);
303
365
 
304
366
  /**
305
367
  * @generated from message blueapi.gc.v1.GetPurchasePlansDetailsRequest
@@ -316,7 +378,7 @@ export type GetPurchasePlansDetailsRequest = Message<"blueapi.gc.v1.GetPurchaseP
316
378
  * Use `create(GetPurchasePlansDetailsRequestSchema)` to create a new message.
317
379
  */
318
380
  export const GetPurchasePlansDetailsRequestSchema: GenMessage<GetPurchasePlansDetailsRequest> = /*@__PURE__*/
319
- messageDesc(file_gc_v1_gc, 12);
381
+ messageDesc(file_gc_v1_gc, 15);
320
382
 
321
383
  /**
322
384
  * @generated from message blueapi.gc.v1.GetUpdatedPurchasePlansBySegmentRequest
@@ -329,7 +391,7 @@ export type GetUpdatedPurchasePlansBySegmentRequest = Message<"blueapi.gc.v1.Get
329
391
  * Use `create(GetUpdatedPurchasePlansBySegmentRequestSchema)` to create a new message.
330
392
  */
331
393
  export const GetUpdatedPurchasePlansBySegmentRequestSchema: GenMessage<GetUpdatedPurchasePlansBySegmentRequest> = /*@__PURE__*/
332
- messageDesc(file_gc_v1_gc, 13);
394
+ messageDesc(file_gc_v1_gc, 16);
333
395
 
334
396
  /**
335
397
  * @generated from message blueapi.gc.v1.OrgUser
@@ -351,7 +413,7 @@ export type OrgUser = Message<"blueapi.gc.v1.OrgUser"> & {
351
413
  * Use `create(OrgUserSchema)` to create a new message.
352
414
  */
353
415
  export const OrgUserSchema: GenMessage<OrgUser> = /*@__PURE__*/
354
- messageDesc(file_gc_v1_gc, 14);
416
+ messageDesc(file_gc_v1_gc, 17);
355
417
 
356
418
  /**
357
419
  * @generated from message blueapi.gc.v1.Membership
@@ -373,7 +435,7 @@ export type Membership = Message<"blueapi.gc.v1.Membership"> & {
373
435
  * Use `create(MembershipSchema)` to create a new message.
374
436
  */
375
437
  export const MembershipSchema: GenMessage<Membership> = /*@__PURE__*/
376
- messageDesc(file_gc_v1_gc, 15);
438
+ messageDesc(file_gc_v1_gc, 18);
377
439
 
378
440
  /**
379
441
  * @generated from message blueapi.gc.v1.Address
@@ -427,7 +489,7 @@ export type Address = Message<"blueapi.gc.v1.Address"> & {
427
489
  * Use `create(AddressSchema)` to create a new message.
428
490
  */
429
491
  export const AddressSchema: GenMessage<Address> = /*@__PURE__*/
430
- messageDesc(file_gc_v1_gc, 16);
492
+ messageDesc(file_gc_v1_gc, 19);
431
493
 
432
494
  /**
433
495
  * @generated from message blueapi.gc.v1.AwsExistingCur
@@ -469,7 +531,7 @@ export type AwsExistingCur = Message<"blueapi.gc.v1.AwsExistingCur"> & {
469
531
  * Use `create(AwsExistingCurSchema)` to create a new message.
470
532
  */
471
533
  export const AwsExistingCurSchema: GenMessage<AwsExistingCur> = /*@__PURE__*/
472
- messageDesc(file_gc_v1_gc, 17);
534
+ messageDesc(file_gc_v1_gc, 20);
473
535
 
474
536
  /**
475
537
  * TermsAcceptance represents the current terms acceptance state for an entity.
@@ -498,7 +560,7 @@ export type TermsAcceptance = Message<"blueapi.gc.v1.TermsAcceptance"> & {
498
560
  * Use `create(TermsAcceptanceSchema)` to create a new message.
499
561
  */
500
562
  export const TermsAcceptanceSchema: GenMessage<TermsAcceptance> = /*@__PURE__*/
501
- messageDesc(file_gc_v1_gc, 18);
563
+ messageDesc(file_gc_v1_gc, 21);
502
564
 
503
565
  /**
504
566
  * @generated from message blueapi.gc.v1.RegisterOrgRequest
@@ -550,7 +612,7 @@ export type RegisterOrgRequest = Message<"blueapi.gc.v1.RegisterOrgRequest"> & {
550
612
  * Use `create(RegisterOrgRequestSchema)` to create a new message.
551
613
  */
552
614
  export const RegisterOrgRequestSchema: GenMessage<RegisterOrgRequest> = /*@__PURE__*/
553
- messageDesc(file_gc_v1_gc, 19);
615
+ messageDesc(file_gc_v1_gc, 22);
554
616
 
555
617
  /**
556
618
  * @generated from message blueapi.gc.v1.StartAwsOnboardingRequest
@@ -589,7 +651,7 @@ export type StartAwsOnboardingRequest = Message<"blueapi.gc.v1.StartAwsOnboardin
589
651
  * Use `create(StartAwsOnboardingRequestSchema)` to create a new message.
590
652
  */
591
653
  export const StartAwsOnboardingRequestSchema: GenMessage<StartAwsOnboardingRequest> = /*@__PURE__*/
592
- messageDesc(file_gc_v1_gc, 20);
654
+ messageDesc(file_gc_v1_gc, 23);
593
655
 
594
656
  /**
595
657
  * @generated from message blueapi.gc.v1.GetAwsCloudFormationTemplateRequest
@@ -628,7 +690,7 @@ export type GetAwsCloudFormationTemplateRequest = Message<"blueapi.gc.v1.GetAwsC
628
690
  * Use `create(GetAwsCloudFormationTemplateRequestSchema)` to create a new message.
629
691
  */
630
692
  export const GetAwsCloudFormationTemplateRequestSchema: GenMessage<GetAwsCloudFormationTemplateRequest> = /*@__PURE__*/
631
- messageDesc(file_gc_v1_gc, 21);
693
+ messageDesc(file_gc_v1_gc, 24);
632
694
 
633
695
  /**
634
696
  * @generated from message blueapi.gc.v1.GetAwsLaunchStackUrlRequest
@@ -667,7 +729,7 @@ export type GetAwsLaunchStackUrlRequest = Message<"blueapi.gc.v1.GetAwsLaunchSta
667
729
  * Use `create(GetAwsLaunchStackUrlRequestSchema)` to create a new message.
668
730
  */
669
731
  export const GetAwsLaunchStackUrlRequestSchema: GenMessage<GetAwsLaunchStackUrlRequest> = /*@__PURE__*/
670
- messageDesc(file_gc_v1_gc, 22);
732
+ messageDesc(file_gc_v1_gc, 25);
671
733
 
672
734
  /**
673
735
  * @generated from message blueapi.gc.v1.VerifyAwsOnboardingRequest
@@ -717,7 +779,7 @@ export type VerifyAwsOnboardingRequest = Message<"blueapi.gc.v1.VerifyAwsOnboard
717
779
  * Use `create(VerifyAwsOnboardingRequestSchema)` to create a new message.
718
780
  */
719
781
  export const VerifyAwsOnboardingRequestSchema: GenMessage<VerifyAwsOnboardingRequest> = /*@__PURE__*/
720
- messageDesc(file_gc_v1_gc, 23);
782
+ messageDesc(file_gc_v1_gc, 26);
721
783
 
722
784
  /**
723
785
  * @generated from message blueapi.gc.v1.GetOnboardingStatusRequest
@@ -750,7 +812,7 @@ export type GetOnboardingStatusRequest = Message<"blueapi.gc.v1.GetOnboardingSta
750
812
  * Use `create(GetOnboardingStatusRequestSchema)` to create a new message.
751
813
  */
752
814
  export const GetOnboardingStatusRequestSchema: GenMessage<GetOnboardingStatusRequest> = /*@__PURE__*/
753
- messageDesc(file_gc_v1_gc, 24);
815
+ messageDesc(file_gc_v1_gc, 27);
754
816
 
755
817
  /**
756
818
  * @generated from message blueapi.gc.v1.ListPayerAccountsRequest
@@ -763,7 +825,7 @@ export type ListPayerAccountsRequest = Message<"blueapi.gc.v1.ListPayerAccountsR
763
825
  * Use `create(ListPayerAccountsRequestSchema)` to create a new message.
764
826
  */
765
827
  export const ListPayerAccountsRequestSchema: GenMessage<ListPayerAccountsRequest> = /*@__PURE__*/
766
- messageDesc(file_gc_v1_gc, 25);
828
+ messageDesc(file_gc_v1_gc, 28);
767
829
 
768
830
  /**
769
831
  * @generated from message blueapi.gc.v1.SetPayerAccountEnabledRequest
@@ -785,7 +847,7 @@ export type SetPayerAccountEnabledRequest = Message<"blueapi.gc.v1.SetPayerAccou
785
847
  * Use `create(SetPayerAccountEnabledRequestSchema)` to create a new message.
786
848
  */
787
849
  export const SetPayerAccountEnabledRequestSchema: GenMessage<SetPayerAccountEnabledRequest> = /*@__PURE__*/
788
- messageDesc(file_gc_v1_gc, 26);
850
+ messageDesc(file_gc_v1_gc, 29);
789
851
 
790
852
  /**
791
853
  * @generated from message blueapi.gc.v1.GetPayerAccountStatusRequest
@@ -798,7 +860,7 @@ export type GetPayerAccountStatusRequest = Message<"blueapi.gc.v1.GetPayerAccoun
798
860
  * Use `create(GetPayerAccountStatusRequestSchema)` to create a new message.
799
861
  */
800
862
  export const GetPayerAccountStatusRequestSchema: GenMessage<GetPayerAccountStatusRequest> = /*@__PURE__*/
801
- messageDesc(file_gc_v1_gc, 27);
863
+ messageDesc(file_gc_v1_gc, 30);
802
864
 
803
865
  /**
804
866
  * @generated from message blueapi.gc.v1.ListBillingGroupsRequest
@@ -811,7 +873,7 @@ export type ListBillingGroupsRequest = Message<"blueapi.gc.v1.ListBillingGroupsR
811
873
  * Use `create(ListBillingGroupsRequestSchema)` to create a new message.
812
874
  */
813
875
  export const ListBillingGroupsRequestSchema: GenMessage<ListBillingGroupsRequest> = /*@__PURE__*/
814
- messageDesc(file_gc_v1_gc, 28);
876
+ messageDesc(file_gc_v1_gc, 31);
815
877
 
816
878
  /**
817
879
  * @generated from message blueapi.gc.v1.SetBillingGroupStatusRequest
@@ -842,7 +904,7 @@ export type SetBillingGroupStatusRequest = Message<"blueapi.gc.v1.SetBillingGrou
842
904
  * Use `create(SetBillingGroupStatusRequestSchema)` to create a new message.
843
905
  */
844
906
  export const SetBillingGroupStatusRequestSchema: GenMessage<SetBillingGroupStatusRequest> = /*@__PURE__*/
845
- messageDesc(file_gc_v1_gc, 29);
907
+ messageDesc(file_gc_v1_gc, 32);
846
908
 
847
909
  /**
848
910
  * @generated from message blueapi.gc.v1.GetBillingGroupStatusRequest
@@ -855,7 +917,7 @@ export type GetBillingGroupStatusRequest = Message<"blueapi.gc.v1.GetBillingGrou
855
917
  * Use `create(GetBillingGroupStatusRequestSchema)` to create a new message.
856
918
  */
857
919
  export const GetBillingGroupStatusRequestSchema: GenMessage<GetBillingGroupStatusRequest> = /*@__PURE__*/
858
- messageDesc(file_gc_v1_gc, 30);
920
+ messageDesc(file_gc_v1_gc, 33);
859
921
 
860
922
  /**
861
923
  * @generated from message blueapi.gc.v1.ValidateBillingGroupRequest
@@ -883,7 +945,7 @@ export type ValidateBillingGroupRequest = Message<"blueapi.gc.v1.ValidateBilling
883
945
  * Use `create(ValidateBillingGroupRequestSchema)` to create a new message.
884
946
  */
885
947
  export const ValidateBillingGroupRequestSchema: GenMessage<ValidateBillingGroupRequest> = /*@__PURE__*/
886
- messageDesc(file_gc_v1_gc, 31);
948
+ messageDesc(file_gc_v1_gc, 34);
887
949
 
888
950
  /**
889
951
  * @generated from message blueapi.gc.v1.GetAwsPrivateOfferRequest
@@ -911,7 +973,7 @@ export type GetAwsPrivateOfferRequest = Message<"blueapi.gc.v1.GetAwsPrivateOffe
911
973
  * Use `create(GetAwsPrivateOfferRequestSchema)` to create a new message.
912
974
  */
913
975
  export const GetAwsPrivateOfferRequestSchema: GenMessage<GetAwsPrivateOfferRequest> = /*@__PURE__*/
914
- messageDesc(file_gc_v1_gc, 32);
976
+ messageDesc(file_gc_v1_gc, 35);
915
977
 
916
978
  /**
917
979
  * @generated from message blueapi.gc.v1.AcceptBillingGroupTermsRequest
@@ -924,7 +986,7 @@ export type AcceptBillingGroupTermsRequest = Message<"blueapi.gc.v1.AcceptBillin
924
986
  * Use `create(AcceptBillingGroupTermsRequestSchema)` to create a new message.
925
987
  */
926
988
  export const AcceptBillingGroupTermsRequestSchema: GenMessage<AcceptBillingGroupTermsRequest> = /*@__PURE__*/
927
- messageDesc(file_gc_v1_gc, 33);
989
+ messageDesc(file_gc_v1_gc, 36);
928
990
 
929
991
  /**
930
992
  * @generated from message blueapi.gc.v1.SaveCommitmentsPlanAsDraftRequest
@@ -1114,7 +1176,7 @@ export type SaveCommitmentsPlanAsDraftRequest = Message<"blueapi.gc.v1.SaveCommi
1114
1176
  * Use `create(SaveCommitmentsPlanAsDraftRequestSchema)` to create a new message.
1115
1177
  */
1116
1178
  export const SaveCommitmentsPlanAsDraftRequestSchema: GenMessage<SaveCommitmentsPlanAsDraftRequest> = /*@__PURE__*/
1117
- messageDesc(file_gc_v1_gc, 34);
1179
+ messageDesc(file_gc_v1_gc, 37);
1118
1180
 
1119
1181
  /**
1120
1182
  * @generated from message blueapi.gc.v1.ListDraftPurchasePlansRequest
@@ -1138,7 +1200,7 @@ export type ListDraftPurchasePlansRequest = Message<"blueapi.gc.v1.ListDraftPurc
1138
1200
  * Use `create(ListDraftPurchasePlansRequestSchema)` to create a new message.
1139
1201
  */
1140
1202
  export const ListDraftPurchasePlansRequestSchema: GenMessage<ListDraftPurchasePlansRequest> = /*@__PURE__*/
1141
- messageDesc(file_gc_v1_gc, 35);
1203
+ messageDesc(file_gc_v1_gc, 38);
1142
1204
 
1143
1205
  /**
1144
1206
  * @generated from message blueapi.gc.v1.DeleteDraftPurchasePlanRequest
@@ -1162,7 +1224,7 @@ export type DeleteDraftPurchasePlanRequest = Message<"blueapi.gc.v1.DeleteDraftP
1162
1224
  * Use `create(DeleteDraftPurchasePlanRequestSchema)` to create a new message.
1163
1225
  */
1164
1226
  export const DeleteDraftPurchasePlanRequestSchema: GenMessage<DeleteDraftPurchasePlanRequest> = /*@__PURE__*/
1165
- messageDesc(file_gc_v1_gc, 36);
1227
+ messageDesc(file_gc_v1_gc, 39);
1166
1228
 
1167
1229
  /**
1168
1230
  * @generated from message blueapi.gc.v1.GetAvailableCommitmentTypesRequest
@@ -1182,7 +1244,7 @@ export type GetAvailableCommitmentTypesRequest = Message<"blueapi.gc.v1.GetAvail
1182
1244
  * Use `create(GetAvailableCommitmentTypesRequestSchema)` to create a new message.
1183
1245
  */
1184
1246
  export const GetAvailableCommitmentTypesRequestSchema: GenMessage<GetAvailableCommitmentTypesRequest> = /*@__PURE__*/
1185
- messageDesc(file_gc_v1_gc, 37);
1247
+ messageDesc(file_gc_v1_gc, 40);
1186
1248
 
1187
1249
  /**
1188
1250
  * CreateCustomCommitmentPlanRequest creates a new top-down custom commitment plan.
@@ -1298,7 +1360,7 @@ export type CreateCustomCommitmentPlanRequest = Message<"blueapi.gc.v1.CreateCus
1298
1360
  * Use `create(CreateCustomCommitmentPlanRequestSchema)` to create a new message.
1299
1361
  */
1300
1362
  export const CreateCustomCommitmentPlanRequestSchema: GenMessage<CreateCustomCommitmentPlanRequest> = /*@__PURE__*/
1301
- messageDesc(file_gc_v1_gc, 38);
1363
+ messageDesc(file_gc_v1_gc, 41);
1302
1364
 
1303
1365
  /**
1304
1366
  * @generated from message blueapi.gc.v1.GetGuaranteedCommitmentTemplateUrlRequest
@@ -1317,7 +1379,7 @@ export type GetGuaranteedCommitmentTemplateUrlRequest = Message<"blueapi.gc.v1.G
1317
1379
  * Use `create(GetGuaranteedCommitmentTemplateUrlRequestSchema)` to create a new message.
1318
1380
  */
1319
1381
  export const GetGuaranteedCommitmentTemplateUrlRequestSchema: GenMessage<GetGuaranteedCommitmentTemplateUrlRequest> = /*@__PURE__*/
1320
- messageDesc(file_gc_v1_gc, 39);
1382
+ messageDesc(file_gc_v1_gc, 42);
1321
1383
 
1322
1384
  /**
1323
1385
  * @generated from message blueapi.gc.v1.CreateGuaranteedCommitmentAccessRequest
@@ -1343,7 +1405,7 @@ export type CreateGuaranteedCommitmentAccessRequest = Message<"blueapi.gc.v1.Cre
1343
1405
  * Use `create(CreateGuaranteedCommitmentAccessRequestSchema)` to create a new message.
1344
1406
  */
1345
1407
  export const CreateGuaranteedCommitmentAccessRequestSchema: GenMessage<CreateGuaranteedCommitmentAccessRequest> = /*@__PURE__*/
1346
- messageDesc(file_gc_v1_gc, 40);
1408
+ messageDesc(file_gc_v1_gc, 43);
1347
1409
 
1348
1410
  /**
1349
1411
  * StartAzureOnboardingRequest initiates Azure onboarding (Step 1).
@@ -1394,7 +1456,7 @@ export type StartAzureOnboardingRequest = Message<"blueapi.gc.v1.StartAzureOnboa
1394
1456
  * Use `create(StartAzureOnboardingRequestSchema)` to create a new message.
1395
1457
  */
1396
1458
  export const StartAzureOnboardingRequestSchema: GenMessage<StartAzureOnboardingRequest> = /*@__PURE__*/
1397
- messageDesc(file_gc_v1_gc, 41);
1459
+ messageDesc(file_gc_v1_gc, 44);
1398
1460
 
1399
1461
  /**
1400
1462
  * @generated from message blueapi.gc.v1.UpdateAzureOnboardingRequest
@@ -1542,7 +1604,7 @@ export type UpdateAzureOnboardingRequest = Message<"blueapi.gc.v1.UpdateAzureOnb
1542
1604
  * Use `create(UpdateAzureOnboardingRequestSchema)` to create a new message.
1543
1605
  */
1544
1606
  export const UpdateAzureOnboardingRequestSchema: GenMessage<UpdateAzureOnboardingRequest> = /*@__PURE__*/
1545
- messageDesc(file_gc_v1_gc, 42);
1607
+ messageDesc(file_gc_v1_gc, 45);
1546
1608
 
1547
1609
  /**
1548
1610
  * GetAzureOnboardingAuthUrlRequest fetches the OAuth authorization URL (Step 4).
@@ -1584,7 +1646,7 @@ export type GetAzureOnboardingAuthUrlRequest = Message<"blueapi.gc.v1.GetAzureOn
1584
1646
  * Use `create(GetAzureOnboardingAuthUrlRequestSchema)` to create a new message.
1585
1647
  */
1586
1648
  export const GetAzureOnboardingAuthUrlRequestSchema: GenMessage<GetAzureOnboardingAuthUrlRequest> = /*@__PURE__*/
1587
- messageDesc(file_gc_v1_gc, 43);
1649
+ messageDesc(file_gc_v1_gc, 46);
1588
1650
 
1589
1651
  /**
1590
1652
  * @generated from message blueapi.gc.v1.ValidateAzureAppInstallRequest
@@ -1722,7 +1784,7 @@ export type ValidateAzureAppInstallRequest = Message<"blueapi.gc.v1.ValidateAzur
1722
1784
  * Use `create(ValidateAzureAppInstallRequestSchema)` to create a new message.
1723
1785
  */
1724
1786
  export const ValidateAzureAppInstallRequestSchema: GenMessage<ValidateAzureAppInstallRequest> = /*@__PURE__*/
1725
- messageDesc(file_gc_v1_gc, 44);
1787
+ messageDesc(file_gc_v1_gc, 47);
1726
1788
 
1727
1789
  /**
1728
1790
  * ListAzureOnboardingAccountsRequest lists available Azure accounts (Step 6).
@@ -1750,7 +1812,7 @@ export type ListAzureOnboardingAccountsRequest = Message<"blueapi.gc.v1.ListAzur
1750
1812
  * Use `create(ListAzureOnboardingAccountsRequestSchema)` to create a new message.
1751
1813
  */
1752
1814
  export const ListAzureOnboardingAccountsRequestSchema: GenMessage<ListAzureOnboardingAccountsRequest> = /*@__PURE__*/
1753
- messageDesc(file_gc_v1_gc, 45);
1815
+ messageDesc(file_gc_v1_gc, 48);
1754
1816
 
1755
1817
  /**
1756
1818
  * CreateAzureIntegrationRequest creates the final Azure integration (Step 8).
@@ -1868,7 +1930,7 @@ export type CreateAzureIntegrationRequest = Message<"blueapi.gc.v1.CreateAzureIn
1868
1930
  * Use `create(CreateAzureIntegrationRequestSchema)` to create a new message.
1869
1931
  */
1870
1932
  export const CreateAzureIntegrationRequestSchema: GenMessage<CreateAzureIntegrationRequest> = /*@__PURE__*/
1871
- messageDesc(file_gc_v1_gc, 46);
1933
+ messageDesc(file_gc_v1_gc, 49);
1872
1934
 
1873
1935
  /**
1874
1936
  * ListAzureIntegrationsRequest lists integrations to verify completion (Step 9).
@@ -1889,7 +1951,235 @@ export type ListAzureIntegrationsRequest = Message<"blueapi.gc.v1.ListAzureInteg
1889
1951
  * Use `create(ListAzureIntegrationsRequestSchema)` to create a new message.
1890
1952
  */
1891
1953
  export const ListAzureIntegrationsRequestSchema: GenMessage<ListAzureIntegrationsRequest> = /*@__PURE__*/
1892
- messageDesc(file_gc_v1_gc, 47);
1954
+ messageDesc(file_gc_v1_gc, 50);
1955
+
1956
+ /**
1957
+ * Active published Terms of Service version metadata.
1958
+ *
1959
+ * @generated from message blueapi.gc.v1.TermsOfServiceVersion
1960
+ */
1961
+ export type TermsOfServiceVersion = Message<"blueapi.gc.v1.TermsOfServiceVersion"> & {
1962
+ /**
1963
+ * Internal version UUID.
1964
+ *
1965
+ * @generated from field: string id = 1;
1966
+ */
1967
+ id: string;
1968
+
1969
+ /**
1970
+ * "ripple" or "wavepro".
1971
+ *
1972
+ * @generated from field: string product = 2;
1973
+ */
1974
+ product: string;
1975
+
1976
+ /**
1977
+ * Administrator-defined version label.
1978
+ *
1979
+ * @generated from field: string versionLabel = 3;
1980
+ */
1981
+ versionLabel: string;
1982
+
1983
+ /**
1984
+ * "NORMAL" or "RECONSENT".
1985
+ *
1986
+ * @generated from field: string classification = 4;
1987
+ */
1988
+ classification: string;
1989
+
1990
+ /**
1991
+ * Original publication timestamp in RFC 3339 format.
1992
+ *
1993
+ * @generated from field: string publishedAt = 5;
1994
+ */
1995
+ publishedAt: string;
1996
+ };
1997
+
1998
+ /**
1999
+ * Describes the message blueapi.gc.v1.TermsOfServiceVersion.
2000
+ * Use `create(TermsOfServiceVersionSchema)` to create a new message.
2001
+ */
2002
+ export const TermsOfServiceVersionSchema: GenMessage<TermsOfServiceVersion> = /*@__PURE__*/
2003
+ messageDesc(file_gc_v1_gc, 51);
2004
+
2005
+ /**
2006
+ * Evaluated consent status used by the Ripple and WavePro frontends.
2007
+ *
2008
+ * @generated from message blueapi.gc.v1.GetTermsConsentStatusResponse
2009
+ */
2010
+ export type GetTermsConsentStatusResponse = Message<"blueapi.gc.v1.GetTermsConsentStatusResponse"> & {
2011
+ /**
2012
+ * @generated from field: blueapi.gc.v1.TermsConsentState state = 1;
2013
+ */
2014
+ state: TermsConsentState;
2015
+
2016
+ /**
2017
+ * Whether GC screen interaction is permitted.
2018
+ *
2019
+ * @generated from field: bool accessAllowed = 2;
2020
+ */
2021
+ accessAllowed: boolean;
2022
+
2023
+ /**
2024
+ * Whether the frontend must display a blocking consent modal.
2025
+ *
2026
+ * @generated from field: bool blocking = 3;
2027
+ */
2028
+ blocking: boolean;
2029
+
2030
+ /**
2031
+ * Whether the frontend must display the normal-update banner.
2032
+ *
2033
+ * @generated from field: bool showUpdateBanner = 4;
2034
+ */
2035
+ showUpdateBanner: boolean;
2036
+
2037
+ /**
2038
+ * Empty unless showUpdateBanner is true.
2039
+ *
2040
+ * @generated from field: string bannerExpiresAt = 5;
2041
+ */
2042
+ bannerExpiresAt: string;
2043
+
2044
+ /**
2045
+ * Absent when no active Terms of Service version exists.
2046
+ *
2047
+ * @generated from field: blueapi.gc.v1.TermsOfServiceVersion activeVersion = 6;
2048
+ */
2049
+ activeVersion?: TermsOfServiceVersion;
2050
+ };
2051
+
2052
+ /**
2053
+ * Describes the message blueapi.gc.v1.GetTermsConsentStatusResponse.
2054
+ * Use `create(GetTermsConsentStatusResponseSchema)` to create a new message.
2055
+ */
2056
+ export const GetTermsConsentStatusResponseSchema: GenMessage<GetTermsConsentStatusResponse> = /*@__PURE__*/
2057
+ messageDesc(file_gc_v1_gc, 52);
2058
+
2059
+ /**
2060
+ * Contains temporary read access to one language document of the current
2061
+ * active Terms of Service version.
2062
+ *
2063
+ * @generated from message blueapi.gc.v1.GetTermsDocumentResponse
2064
+ */
2065
+ export type GetTermsDocumentResponse = Message<"blueapi.gc.v1.GetTermsDocumentResponse"> & {
2066
+ /**
2067
+ * Internal UUID of the active Terms of Service version.
2068
+ *
2069
+ * @generated from field: string versionId = 1;
2070
+ */
2071
+ versionId: string;
2072
+
2073
+ /**
2074
+ * "ripple" or "wavepro".
2075
+ *
2076
+ * @generated from field: string product = 2;
2077
+ */
2078
+ product: string;
2079
+
2080
+ /**
2081
+ * "en" or "ja".
2082
+ *
2083
+ * @generated from field: string language = 3;
2084
+ */
2085
+ language: string;
2086
+
2087
+ /**
2088
+ * Currently always "application/pdf".
2089
+ *
2090
+ * @generated from field: string contentType = 4;
2091
+ */
2092
+ contentType: string;
2093
+
2094
+ /**
2095
+ * Short-lived signed URL for viewing the private PDF.
2096
+ *
2097
+ * @generated from field: string url = 5;
2098
+ */
2099
+ url: string;
2100
+
2101
+ /**
2102
+ * Signed URL expiration time in RFC 3339 format.
2103
+ *
2104
+ * @generated from field: string expiresAt = 6;
2105
+ */
2106
+ expiresAt: string;
2107
+ };
2108
+
2109
+ /**
2110
+ * Describes the message blueapi.gc.v1.GetTermsDocumentResponse.
2111
+ * Use `create(GetTermsDocumentResponseSchema)` to create a new message.
2112
+ */
2113
+ export const GetTermsDocumentResponseSchema: GenMessage<GetTermsDocumentResponse> = /*@__PURE__*/
2114
+ messageDesc(file_gc_v1_gc, 53);
2115
+
2116
+ /**
2117
+ * Recorded acceptance of one Terms of Service version.
2118
+ *
2119
+ * @generated from message blueapi.gc.v1.TermsConsentRecord
2120
+ */
2121
+ export type TermsConsentRecord = Message<"blueapi.gc.v1.TermsConsentRecord"> & {
2122
+ /**
2123
+ * "ripple" or "wavepro".
2124
+ *
2125
+ * @generated from field: string product = 1;
2126
+ */
2127
+ product: string;
2128
+
2129
+ /**
2130
+ * Accepted Terms of Service version UUID.
2131
+ *
2132
+ * @generated from field: string acceptedVersionId = 2;
2133
+ */
2134
+ acceptedVersionId: string;
2135
+
2136
+ /**
2137
+ * Authenticated user who accepted the version.
2138
+ *
2139
+ * @generated from field: string acceptedBy = 3;
2140
+ */
2141
+ acceptedBy: string;
2142
+
2143
+ /**
2144
+ * Acceptance timestamp in RFC 3339 format.
2145
+ *
2146
+ * @generated from field: string acceptedAt = 4;
2147
+ */
2148
+ acceptedAt: string;
2149
+ };
2150
+
2151
+ /**
2152
+ * Describes the message blueapi.gc.v1.TermsConsentRecord.
2153
+ * Use `create(TermsConsentRecordSchema)` to create a new message.
2154
+ */
2155
+ export const TermsConsentRecordSchema: GenMessage<TermsConsentRecord> = /*@__PURE__*/
2156
+ messageDesc(file_gc_v1_gc, 54);
2157
+
2158
+ /**
2159
+ * Contains the saved consent and updated consent state.
2160
+ *
2161
+ * @generated from message blueapi.gc.v1.AcceptTermsResponse
2162
+ */
2163
+ export type AcceptTermsResponse = Message<"blueapi.gc.v1.AcceptTermsResponse"> & {
2164
+ /**
2165
+ * @generated from field: blueapi.gc.v1.TermsConsentRecord consent = 1;
2166
+ */
2167
+ consent?: TermsConsentRecord;
2168
+
2169
+ /**
2170
+ * Normally returns TERMS_CONSENT_STATE_CONSENTED after success.
2171
+ *
2172
+ * @generated from field: blueapi.gc.v1.GetTermsConsentStatusResponse consentStatus = 2;
2173
+ */
2174
+ consentStatus?: GetTermsConsentStatusResponse;
2175
+ };
2176
+
2177
+ /**
2178
+ * Describes the message blueapi.gc.v1.AcceptTermsResponse.
2179
+ * Use `create(AcceptTermsResponseSchema)` to create a new message.
2180
+ */
2181
+ export const AcceptTermsResponseSchema: GenMessage<AcceptTermsResponse> = /*@__PURE__*/
2182
+ messageDesc(file_gc_v1_gc, 55);
1893
2183
 
1894
2184
  /**
1895
2185
  * @generated from message blueapi.gc.v1.Org
@@ -1916,7 +2206,7 @@ export type Org = Message<"blueapi.gc.v1.Org"> & {
1916
2206
  * Use `create(OrgSchema)` to create a new message.
1917
2207
  */
1918
2208
  export const OrgSchema: GenMessage<Org> = /*@__PURE__*/
1919
- messageDesc(file_gc_v1_gc, 48);
2209
+ messageDesc(file_gc_v1_gc, 56);
1920
2210
 
1921
2211
  /**
1922
2212
  * @generated from message blueapi.gc.v1.CommitmentPlanDetails
@@ -2053,7 +2343,7 @@ export type CommitmentPlanDetails = Message<"blueapi.gc.v1.CommitmentPlanDetails
2053
2343
  * Use `create(CommitmentPlanDetailsSchema)` to create a new message.
2054
2344
  */
2055
2345
  export const CommitmentPlanDetailsSchema: GenMessage<CommitmentPlanDetails> = /*@__PURE__*/
2056
- messageDesc(file_gc_v1_gc, 49);
2346
+ messageDesc(file_gc_v1_gc, 57);
2057
2347
 
2058
2348
  /**
2059
2349
  * @generated from message blueapi.gc.v1.CommitmentPlanLineItem
@@ -2230,7 +2520,7 @@ export type CommitmentPlanLineItem = Message<"blueapi.gc.v1.CommitmentPlanLineIt
2230
2520
  * Use `create(CommitmentPlanLineItemSchema)` to create a new message.
2231
2521
  */
2232
2522
  export const CommitmentPlanLineItemSchema: GenMessage<CommitmentPlanLineItem> = /*@__PURE__*/
2233
- messageDesc(file_gc_v1_gc, 50);
2523
+ messageDesc(file_gc_v1_gc, 58);
2234
2524
 
2235
2525
  /**
2236
2526
  * @generated from message blueapi.gc.v1.CommitmentPlanResourceMatch
@@ -2377,7 +2667,7 @@ export type CommitmentPlanResourceMatch = Message<"blueapi.gc.v1.CommitmentPlanR
2377
2667
  * Use `create(CommitmentPlanResourceMatchSchema)` to create a new message.
2378
2668
  */
2379
2669
  export const CommitmentPlanResourceMatchSchema: GenMessage<CommitmentPlanResourceMatch> = /*@__PURE__*/
2380
- messageDesc(file_gc_v1_gc, 51);
2670
+ messageDesc(file_gc_v1_gc, 59);
2381
2671
 
2382
2672
  /**
2383
2673
  * @generated from message blueapi.gc.v1.Lease
@@ -2449,7 +2739,7 @@ export type Lease = Message<"blueapi.gc.v1.Lease"> & {
2449
2739
  * Use `create(LeaseSchema)` to create a new message.
2450
2740
  */
2451
2741
  export const LeaseSchema: GenMessage<Lease> = /*@__PURE__*/
2452
- messageDesc(file_gc_v1_gc, 52);
2742
+ messageDesc(file_gc_v1_gc, 60);
2453
2743
 
2454
2744
  /**
2455
2745
  * @generated from message blueapi.gc.v1.DailyUtilization
@@ -2476,7 +2766,7 @@ export type DailyUtilization = Message<"blueapi.gc.v1.DailyUtilization"> & {
2476
2766
  * Use `create(DailyUtilizationSchema)` to create a new message.
2477
2767
  */
2478
2768
  export const DailyUtilizationSchema: GenMessage<DailyUtilization> = /*@__PURE__*/
2479
- messageDesc(file_gc_v1_gc, 53);
2769
+ messageDesc(file_gc_v1_gc, 61);
2480
2770
 
2481
2771
  /**
2482
2772
  * @generated from message blueapi.gc.v1.Commitment
@@ -2708,7 +2998,7 @@ export type Commitment = Message<"blueapi.gc.v1.Commitment"> & {
2708
2998
  * Use `create(CommitmentSchema)` to create a new message.
2709
2999
  */
2710
3000
  export const CommitmentSchema: GenMessage<Commitment> = /*@__PURE__*/
2711
- messageDesc(file_gc_v1_gc, 54);
3001
+ messageDesc(file_gc_v1_gc, 62);
2712
3002
 
2713
3003
  /**
2714
3004
  * @generated from message blueapi.gc.v1.ListCommitmentsResponse
@@ -2725,7 +3015,7 @@ export type ListCommitmentsResponse = Message<"blueapi.gc.v1.ListCommitmentsResp
2725
3015
  * Use `create(ListCommitmentsResponseSchema)` to create a new message.
2726
3016
  */
2727
3017
  export const ListCommitmentsResponseSchema: GenMessage<ListCommitmentsResponse> = /*@__PURE__*/
2728
- messageDesc(file_gc_v1_gc, 55);
3018
+ messageDesc(file_gc_v1_gc, 63);
2729
3019
 
2730
3020
  /**
2731
3021
  * @generated from message blueapi.gc.v1.CommitmentsChartData
@@ -2752,7 +3042,7 @@ export type CommitmentsChartData = Message<"blueapi.gc.v1.CommitmentsChartData">
2752
3042
  * Use `create(CommitmentsChartDataSchema)` to create a new message.
2753
3043
  */
2754
3044
  export const CommitmentsChartDataSchema: GenMessage<CommitmentsChartData> = /*@__PURE__*/
2755
- messageDesc(file_gc_v1_gc, 56);
3045
+ messageDesc(file_gc_v1_gc, 64);
2756
3046
 
2757
3047
  /**
2758
3048
  * @generated from message blueapi.gc.v1.CommitmentsChartResponse
@@ -2769,7 +3059,7 @@ export type CommitmentsChartResponse = Message<"blueapi.gc.v1.CommitmentsChartRe
2769
3059
  * Use `create(CommitmentsChartResponseSchema)` to create a new message.
2770
3060
  */
2771
3061
  export const CommitmentsChartResponseSchema: GenMessage<CommitmentsChartResponse> = /*@__PURE__*/
2772
- messageDesc(file_gc_v1_gc, 57);
3062
+ messageDesc(file_gc_v1_gc, 65);
2773
3063
 
2774
3064
  /**
2775
3065
  * @generated from message blueapi.gc.v1.CommitmentsUtilizationData
@@ -2831,7 +3121,7 @@ export type CommitmentsUtilizationData = Message<"blueapi.gc.v1.CommitmentsUtili
2831
3121
  * Use `create(CommitmentsUtilizationDataSchema)` to create a new message.
2832
3122
  */
2833
3123
  export const CommitmentsUtilizationDataSchema: GenMessage<CommitmentsUtilizationData> = /*@__PURE__*/
2834
- messageDesc(file_gc_v1_gc, 58);
3124
+ messageDesc(file_gc_v1_gc, 66);
2835
3125
 
2836
3126
  /**
2837
3127
  * @generated from message blueapi.gc.v1.CommitmentsUtilizationResponse
@@ -2848,7 +3138,7 @@ export type CommitmentsUtilizationResponse = Message<"blueapi.gc.v1.CommitmentsU
2848
3138
  * Use `create(CommitmentsUtilizationResponseSchema)` to create a new message.
2849
3139
  */
2850
3140
  export const CommitmentsUtilizationResponseSchema: GenMessage<CommitmentsUtilizationResponse> = /*@__PURE__*/
2851
- messageDesc(file_gc_v1_gc, 59);
3141
+ messageDesc(file_gc_v1_gc, 67);
2852
3142
 
2853
3143
  /**
2854
3144
  * @generated from message blueapi.gc.v1.CommitmentReport
@@ -2905,7 +3195,7 @@ export type CommitmentReport = Message<"blueapi.gc.v1.CommitmentReport"> & {
2905
3195
  * Use `create(CommitmentReportSchema)` to create a new message.
2906
3196
  */
2907
3197
  export const CommitmentReportSchema: GenMessage<CommitmentReport> = /*@__PURE__*/
2908
- messageDesc(file_gc_v1_gc, 60);
3198
+ messageDesc(file_gc_v1_gc, 68);
2909
3199
 
2910
3200
  /**
2911
3201
  * @generated from message blueapi.gc.v1.CommitmentReportAccount
@@ -2967,7 +3257,7 @@ export type CommitmentReportAccount = Message<"blueapi.gc.v1.CommitmentReportAcc
2967
3257
  * Use `create(CommitmentReportAccountSchema)` to create a new message.
2968
3258
  */
2969
3259
  export const CommitmentReportAccountSchema: GenMessage<CommitmentReportAccount> = /*@__PURE__*/
2970
- messageDesc(file_gc_v1_gc, 61);
3260
+ messageDesc(file_gc_v1_gc, 69);
2971
3261
 
2972
3262
  /**
2973
3263
  * @generated from message blueapi.gc.v1.MetricsResponse
@@ -3059,7 +3349,7 @@ export type MetricsResponse = Message<"blueapi.gc.v1.MetricsResponse"> & {
3059
3349
  * Use `create(MetricsResponseSchema)` to create a new message.
3060
3350
  */
3061
3351
  export const MetricsResponseSchema: GenMessage<MetricsResponse> = /*@__PURE__*/
3062
- messageDesc(file_gc_v1_gc, 62);
3352
+ messageDesc(file_gc_v1_gc, 70);
3063
3353
 
3064
3354
  /**
3065
3355
  * @generated from message blueapi.gc.v1.Resource
@@ -3296,7 +3586,7 @@ export type Resource = Message<"blueapi.gc.v1.Resource"> & {
3296
3586
  * Use `create(ResourceSchema)` to create a new message.
3297
3587
  */
3298
3588
  export const ResourceSchema: GenMessage<Resource> = /*@__PURE__*/
3299
- messageDesc(file_gc_v1_gc, 63);
3589
+ messageDesc(file_gc_v1_gc, 71);
3300
3590
 
3301
3591
  /**
3302
3592
  * @generated from message blueapi.gc.v1.ListResourcesResponse
@@ -3313,7 +3603,7 @@ export type ListResourcesResponse = Message<"blueapi.gc.v1.ListResourcesResponse
3313
3603
  * Use `create(ListResourcesResponseSchema)` to create a new message.
3314
3604
  */
3315
3605
  export const ListResourcesResponseSchema: GenMessage<ListResourcesResponse> = /*@__PURE__*/
3316
- messageDesc(file_gc_v1_gc, 64);
3606
+ messageDesc(file_gc_v1_gc, 72);
3317
3607
 
3318
3608
  /**
3319
3609
  * @generated from message blueapi.gc.v1.ResourceDailyUsage
@@ -3407,7 +3697,7 @@ export type ResourceDailyUsage = Message<"blueapi.gc.v1.ResourceDailyUsage"> & {
3407
3697
  * Use `create(ResourceDailyUsageSchema)` to create a new message.
3408
3698
  */
3409
3699
  export const ResourceDailyUsageSchema: GenMessage<ResourceDailyUsage> = /*@__PURE__*/
3410
- messageDesc(file_gc_v1_gc, 65);
3700
+ messageDesc(file_gc_v1_gc, 73);
3411
3701
 
3412
3702
  /**
3413
3703
  * @generated from message blueapi.gc.v1.GetResourceDailyUsageResponse
@@ -3424,7 +3714,7 @@ export type GetResourceDailyUsageResponse = Message<"blueapi.gc.v1.GetResourceDa
3424
3714
  * Use `create(GetResourceDailyUsageResponseSchema)` to create a new message.
3425
3715
  */
3426
3716
  export const GetResourceDailyUsageResponseSchema: GenMessage<GetResourceDailyUsageResponse> = /*@__PURE__*/
3427
- messageDesc(file_gc_v1_gc, 66);
3717
+ messageDesc(file_gc_v1_gc, 74);
3428
3718
 
3429
3719
  /**
3430
3720
  * ReservableResource is a fully-detailed infrastructure resource returned by ListReservableResources.
@@ -3860,7 +4150,7 @@ export type ReservableResource = Message<"blueapi.gc.v1.ReservableResource"> & {
3860
4150
  * Use `create(ReservableResourceSchema)` to create a new message.
3861
4151
  */
3862
4152
  export const ReservableResourceSchema: GenMessage<ReservableResource> = /*@__PURE__*/
3863
- messageDesc(file_gc_v1_gc, 67);
4153
+ messageDesc(file_gc_v1_gc, 75);
3864
4154
 
3865
4155
  /**
3866
4156
  * @generated from message blueapi.gc.v1.ListReservableResourcesResponse
@@ -3877,7 +4167,7 @@ export type ListReservableResourcesResponse = Message<"blueapi.gc.v1.ListReserva
3877
4167
  * Use `create(ListReservableResourcesResponseSchema)` to create a new message.
3878
4168
  */
3879
4169
  export const ListReservableResourcesResponseSchema: GenMessage<ListReservableResourcesResponse> = /*@__PURE__*/
3880
- messageDesc(file_gc_v1_gc, 68);
4170
+ messageDesc(file_gc_v1_gc, 76);
3881
4171
 
3882
4172
  /**
3883
4173
  * @generated from message blueapi.gc.v1.Segment
@@ -3914,7 +4204,7 @@ export type Segment = Message<"blueapi.gc.v1.Segment"> & {
3914
4204
  * Use `create(SegmentSchema)` to create a new message.
3915
4205
  */
3916
4206
  export const SegmentSchema: GenMessage<Segment> = /*@__PURE__*/
3917
- messageDesc(file_gc_v1_gc, 69);
4207
+ messageDesc(file_gc_v1_gc, 77);
3918
4208
 
3919
4209
  /**
3920
4210
  * @generated from message blueapi.gc.v1.SegmentCreator
@@ -3941,7 +4231,7 @@ export type SegmentCreator = Message<"blueapi.gc.v1.SegmentCreator"> & {
3941
4231
  * Use `create(SegmentCreatorSchema)` to create a new message.
3942
4232
  */
3943
4233
  export const SegmentCreatorSchema: GenMessage<SegmentCreator> = /*@__PURE__*/
3944
- messageDesc(file_gc_v1_gc, 70);
4234
+ messageDesc(file_gc_v1_gc, 78);
3945
4235
 
3946
4236
  /**
3947
4237
  * @generated from message blueapi.gc.v1.PurchasePlan
@@ -3973,7 +4263,7 @@ export type PurchasePlan = Message<"blueapi.gc.v1.PurchasePlan"> & {
3973
4263
  * Use `create(PurchasePlanSchema)` to create a new message.
3974
4264
  */
3975
4265
  export const PurchasePlanSchema: GenMessage<PurchasePlan> = /*@__PURE__*/
3976
- messageDesc(file_gc_v1_gc, 71);
4266
+ messageDesc(file_gc_v1_gc, 79);
3977
4267
 
3978
4268
  /**
3979
4269
  * @generated from message blueapi.gc.v1.SegmentDetails
@@ -4118,7 +4408,7 @@ export type SegmentDetails = Message<"blueapi.gc.v1.SegmentDetails"> & {
4118
4408
  * Use `create(SegmentDetailsSchema)` to create a new message.
4119
4409
  */
4120
4410
  export const SegmentDetailsSchema: GenMessage<SegmentDetails> = /*@__PURE__*/
4121
- messageDesc(file_gc_v1_gc, 72);
4411
+ messageDesc(file_gc_v1_gc, 80);
4122
4412
 
4123
4413
  /**
4124
4414
  * @generated from message blueapi.gc.v1.ContractSpec
@@ -4150,7 +4440,7 @@ export type ContractSpec = Message<"blueapi.gc.v1.ContractSpec"> & {
4150
4440
  * Use `create(ContractSpecSchema)` to create a new message.
4151
4441
  */
4152
4442
  export const ContractSpecSchema: GenMessage<ContractSpec> = /*@__PURE__*/
4153
- messageDesc(file_gc_v1_gc, 73);
4443
+ messageDesc(file_gc_v1_gc, 81);
4154
4444
 
4155
4445
  /**
4156
4446
  * @generated from message blueapi.gc.v1.PlanSummary
@@ -4237,7 +4527,7 @@ export type PlanSummary = Message<"blueapi.gc.v1.PlanSummary"> & {
4237
4527
  * Use `create(PlanSummarySchema)` to create a new message.
4238
4528
  */
4239
4529
  export const PlanSummarySchema: GenMessage<PlanSummary> = /*@__PURE__*/
4240
- messageDesc(file_gc_v1_gc, 74);
4530
+ messageDesc(file_gc_v1_gc, 82);
4241
4531
 
4242
4532
  /**
4243
4533
  * @generated from message blueapi.gc.v1.ServiceSummary
@@ -4329,7 +4619,7 @@ export type ServiceSummary = Message<"blueapi.gc.v1.ServiceSummary"> & {
4329
4619
  * Use `create(ServiceSummarySchema)` to create a new message.
4330
4620
  */
4331
4621
  export const ServiceSummarySchema: GenMessage<ServiceSummary> = /*@__PURE__*/
4332
- messageDesc(file_gc_v1_gc, 75);
4622
+ messageDesc(file_gc_v1_gc, 83);
4333
4623
 
4334
4624
  /**
4335
4625
  * @generated from message blueapi.gc.v1.AggregateMetrics
@@ -4356,7 +4646,7 @@ export type AggregateMetrics = Message<"blueapi.gc.v1.AggregateMetrics"> & {
4356
4646
  * Use `create(AggregateMetricsSchema)` to create a new message.
4357
4647
  */
4358
4648
  export const AggregateMetricsSchema: GenMessage<AggregateMetrics> = /*@__PURE__*/
4359
- messageDesc(file_gc_v1_gc, 76);
4649
+ messageDesc(file_gc_v1_gc, 84);
4360
4650
 
4361
4651
  /**
4362
4652
  * @generated from message blueapi.gc.v1.DefaultPurchasePlan
@@ -4673,7 +4963,7 @@ export type DefaultPurchasePlan = Message<"blueapi.gc.v1.DefaultPurchasePlan"> &
4673
4963
  * Use `create(DefaultPurchasePlanSchema)` to create a new message.
4674
4964
  */
4675
4965
  export const DefaultPurchasePlanSchema: GenMessage<DefaultPurchasePlan> = /*@__PURE__*/
4676
- messageDesc(file_gc_v1_gc, 77);
4966
+ messageDesc(file_gc_v1_gc, 85);
4677
4967
 
4678
4968
  /**
4679
4969
  * @generated from message blueapi.gc.v1.ListPurchasePlansBySegmentResponse
@@ -4690,7 +4980,7 @@ export type ListPurchasePlansBySegmentResponse = Message<"blueapi.gc.v1.ListPurc
4690
4980
  * Use `create(ListPurchasePlansBySegmentResponseSchema)` to create a new message.
4691
4981
  */
4692
4982
  export const ListPurchasePlansBySegmentResponseSchema: GenMessage<ListPurchasePlansBySegmentResponse> = /*@__PURE__*/
4693
- messageDesc(file_gc_v1_gc, 78);
4983
+ messageDesc(file_gc_v1_gc, 86);
4694
4984
 
4695
4985
  /**
4696
4986
  * @generated from message blueapi.gc.v1.GetUpdatedPurchasePlansBySegmentResponse
@@ -4707,7 +4997,7 @@ export type GetUpdatedPurchasePlansBySegmentResponse = Message<"blueapi.gc.v1.Ge
4707
4997
  * Use `create(GetUpdatedPurchasePlansBySegmentResponseSchema)` to create a new message.
4708
4998
  */
4709
4999
  export const GetUpdatedPurchasePlansBySegmentResponseSchema: GenMessage<GetUpdatedPurchasePlansBySegmentResponse> = /*@__PURE__*/
4710
- messageDesc(file_gc_v1_gc, 79);
5000
+ messageDesc(file_gc_v1_gc, 87);
4711
5001
 
4712
5002
  /**
4713
5003
  * @generated from message blueapi.gc.v1.PlanHistoryUser
@@ -4734,7 +5024,7 @@ export type PlanHistoryUser = Message<"blueapi.gc.v1.PlanHistoryUser"> & {
4734
5024
  * Use `create(PlanHistoryUserSchema)` to create a new message.
4735
5025
  */
4736
5026
  export const PlanHistoryUserSchema: GenMessage<PlanHistoryUser> = /*@__PURE__*/
4737
- messageDesc(file_gc_v1_gc, 80);
5027
+ messageDesc(file_gc_v1_gc, 88);
4738
5028
 
4739
5029
  /**
4740
5030
  * @generated from message blueapi.gc.v1.PlanHistoryEntry
@@ -4796,7 +5086,7 @@ export type PlanHistoryEntry = Message<"blueapi.gc.v1.PlanHistoryEntry"> & {
4796
5086
  * Use `create(PlanHistoryEntrySchema)` to create a new message.
4797
5087
  */
4798
5088
  export const PlanHistoryEntrySchema: GenMessage<PlanHistoryEntry> = /*@__PURE__*/
4799
- messageDesc(file_gc_v1_gc, 81);
5089
+ messageDesc(file_gc_v1_gc, 89);
4800
5090
 
4801
5091
  /**
4802
5092
  * @generated from message blueapi.gc.v1.RegisterOrgResponse
@@ -4850,7 +5140,7 @@ export type RegisterOrgResponse = Message<"blueapi.gc.v1.RegisterOrgResponse"> &
4850
5140
  * Use `create(RegisterOrgResponseSchema)` to create a new message.
4851
5141
  */
4852
5142
  export const RegisterOrgResponseSchema: GenMessage<RegisterOrgResponse> = /*@__PURE__*/
4853
- messageDesc(file_gc_v1_gc, 82);
5143
+ messageDesc(file_gc_v1_gc, 90);
4854
5144
 
4855
5145
  /**
4856
5146
  * @generated from message blueapi.gc.v1.StartAwsOnboardingResponse
@@ -4867,7 +5157,7 @@ export type StartAwsOnboardingResponse = Message<"blueapi.gc.v1.StartAwsOnboardi
4867
5157
  * Use `create(StartAwsOnboardingResponseSchema)` to create a new message.
4868
5158
  */
4869
5159
  export const StartAwsOnboardingResponseSchema: GenMessage<StartAwsOnboardingResponse> = /*@__PURE__*/
4870
- messageDesc(file_gc_v1_gc, 83);
5160
+ messageDesc(file_gc_v1_gc, 91);
4871
5161
 
4872
5162
  /**
4873
5163
  * @generated from message blueapi.gc.v1.GetAwsCloudFormationTemplateResponse
@@ -4886,7 +5176,7 @@ export type GetAwsCloudFormationTemplateResponse = Message<"blueapi.gc.v1.GetAws
4886
5176
  * Use `create(GetAwsCloudFormationTemplateResponseSchema)` to create a new message.
4887
5177
  */
4888
5178
  export const GetAwsCloudFormationTemplateResponseSchema: GenMessage<GetAwsCloudFormationTemplateResponse> = /*@__PURE__*/
4889
- messageDesc(file_gc_v1_gc, 84);
5179
+ messageDesc(file_gc_v1_gc, 92);
4890
5180
 
4891
5181
  /**
4892
5182
  * @generated from message blueapi.gc.v1.GetAwsLaunchStackUrlResponse
@@ -4903,7 +5193,7 @@ export type GetAwsLaunchStackUrlResponse = Message<"blueapi.gc.v1.GetAwsLaunchSt
4903
5193
  * Use `create(GetAwsLaunchStackUrlResponseSchema)` to create a new message.
4904
5194
  */
4905
5195
  export const GetAwsLaunchStackUrlResponseSchema: GenMessage<GetAwsLaunchStackUrlResponse> = /*@__PURE__*/
4906
- messageDesc(file_gc_v1_gc, 85);
5196
+ messageDesc(file_gc_v1_gc, 93);
4907
5197
 
4908
5198
  /**
4909
5199
  * @generated from message blueapi.gc.v1.VerifyAwsOnboardingResponse
@@ -4920,7 +5210,7 @@ export type VerifyAwsOnboardingResponse = Message<"blueapi.gc.v1.VerifyAwsOnboar
4920
5210
  * Use `create(VerifyAwsOnboardingResponseSchema)` to create a new message.
4921
5211
  */
4922
5212
  export const VerifyAwsOnboardingResponseSchema: GenMessage<VerifyAwsOnboardingResponse> = /*@__PURE__*/
4923
- messageDesc(file_gc_v1_gc, 86);
5213
+ messageDesc(file_gc_v1_gc, 94);
4924
5214
 
4925
5215
  /**
4926
5216
  * @generated from message blueapi.gc.v1.VerifyAwsOnboardingResponse.AwsOnboardingFeatureCheck
@@ -4942,7 +5232,7 @@ export type VerifyAwsOnboardingResponse_AwsOnboardingFeatureCheck = Message<"blu
4942
5232
  * Use `create(VerifyAwsOnboardingResponse_AwsOnboardingFeatureCheckSchema)` to create a new message.
4943
5233
  */
4944
5234
  export const VerifyAwsOnboardingResponse_AwsOnboardingFeatureCheckSchema: GenMessage<VerifyAwsOnboardingResponse_AwsOnboardingFeatureCheck> = /*@__PURE__*/
4945
- messageDesc(file_gc_v1_gc, 86, 0);
5235
+ messageDesc(file_gc_v1_gc, 94, 0);
4946
5236
 
4947
5237
  /**
4948
5238
  * @generated from enum blueapi.gc.v1.VerifyAwsOnboardingResponse.AwsOnboardingFeatureCheck.AwsOnboardingFeatureStatus
@@ -4978,7 +5268,7 @@ export enum VerifyAwsOnboardingResponse_AwsOnboardingFeatureCheck_AwsOnboardingF
4978
5268
  * Describes the enum blueapi.gc.v1.VerifyAwsOnboardingResponse.AwsOnboardingFeatureCheck.AwsOnboardingFeatureStatus.
4979
5269
  */
4980
5270
  export const VerifyAwsOnboardingResponse_AwsOnboardingFeatureCheck_AwsOnboardingFeatureStatusSchema: GenEnum<VerifyAwsOnboardingResponse_AwsOnboardingFeatureCheck_AwsOnboardingFeatureStatus> = /*@__PURE__*/
4981
- enumDesc(file_gc_v1_gc, 86, 0, 0);
5271
+ enumDesc(file_gc_v1_gc, 94, 0, 0);
4982
5272
 
4983
5273
  /**
4984
5274
  * @generated from message blueapi.gc.v1.GetOnboardingStatusResponse
@@ -5066,7 +5356,7 @@ export type GetOnboardingStatusResponse = Message<"blueapi.gc.v1.GetOnboardingSt
5066
5356
  * Use `create(GetOnboardingStatusResponseSchema)` to create a new message.
5067
5357
  */
5068
5358
  export const GetOnboardingStatusResponseSchema: GenMessage<GetOnboardingStatusResponse> = /*@__PURE__*/
5069
- messageDesc(file_gc_v1_gc, 87);
5359
+ messageDesc(file_gc_v1_gc, 95);
5070
5360
 
5071
5361
  /**
5072
5362
  * @generated from enum blueapi.gc.v1.GetOnboardingStatusResponse.OnboardingStatus
@@ -5116,7 +5406,7 @@ export enum GetOnboardingStatusResponse_OnboardingStatus {
5116
5406
  * Describes the enum blueapi.gc.v1.GetOnboardingStatusResponse.OnboardingStatus.
5117
5407
  */
5118
5408
  export const GetOnboardingStatusResponse_OnboardingStatusSchema: GenEnum<GetOnboardingStatusResponse_OnboardingStatus> = /*@__PURE__*/
5119
- enumDesc(file_gc_v1_gc, 87, 0);
5409
+ enumDesc(file_gc_v1_gc, 95, 0);
5120
5410
 
5121
5411
  /**
5122
5412
  * @generated from message blueapi.gc.v1.PayerAccountDetails
@@ -5182,7 +5472,7 @@ export type PayerAccountDetails = Message<"blueapi.gc.v1.PayerAccountDetails"> &
5182
5472
  * Use `create(PayerAccountDetailsSchema)` to create a new message.
5183
5473
  */
5184
5474
  export const PayerAccountDetailsSchema: GenMessage<PayerAccountDetails> = /*@__PURE__*/
5185
- messageDesc(file_gc_v1_gc, 88);
5475
+ messageDesc(file_gc_v1_gc, 96);
5186
5476
 
5187
5477
  /**
5188
5478
  * @generated from message blueapi.gc.v1.ListPayerAccountsResponse
@@ -5204,7 +5494,7 @@ export type ListPayerAccountsResponse = Message<"blueapi.gc.v1.ListPayerAccounts
5204
5494
  * Use `create(ListPayerAccountsResponseSchema)` to create a new message.
5205
5495
  */
5206
5496
  export const ListPayerAccountsResponseSchema: GenMessage<ListPayerAccountsResponse> = /*@__PURE__*/
5207
- messageDesc(file_gc_v1_gc, 89);
5497
+ messageDesc(file_gc_v1_gc, 97);
5208
5498
 
5209
5499
  /**
5210
5500
  * @generated from message blueapi.gc.v1.ListPayerAccountsResponse.PayerAccount
@@ -5263,7 +5553,7 @@ export type ListPayerAccountsResponse_PayerAccount = Message<"blueapi.gc.v1.List
5263
5553
  * Use `create(ListPayerAccountsResponse_PayerAccountSchema)` to create a new message.
5264
5554
  */
5265
5555
  export const ListPayerAccountsResponse_PayerAccountSchema: GenMessage<ListPayerAccountsResponse_PayerAccount> = /*@__PURE__*/
5266
- messageDesc(file_gc_v1_gc, 89, 0);
5556
+ messageDesc(file_gc_v1_gc, 97, 0);
5267
5557
 
5268
5558
  /**
5269
5559
  * @generated from enum blueapi.gc.v1.ListPayerAccountsResponse.PayerAccountStatus
@@ -5289,7 +5579,7 @@ export enum ListPayerAccountsResponse_PayerAccountStatus {
5289
5579
  * Describes the enum blueapi.gc.v1.ListPayerAccountsResponse.PayerAccountStatus.
5290
5580
  */
5291
5581
  export const ListPayerAccountsResponse_PayerAccountStatusSchema: GenEnum<ListPayerAccountsResponse_PayerAccountStatus> = /*@__PURE__*/
5292
- enumDesc(file_gc_v1_gc, 89, 0);
5582
+ enumDesc(file_gc_v1_gc, 97, 0);
5293
5583
 
5294
5584
  /**
5295
5585
  * @generated from message blueapi.gc.v1.SetPayerAccountEnabledResponse
@@ -5308,7 +5598,7 @@ export type SetPayerAccountEnabledResponse = Message<"blueapi.gc.v1.SetPayerAcco
5308
5598
  * Use `create(SetPayerAccountEnabledResponseSchema)` to create a new message.
5309
5599
  */
5310
5600
  export const SetPayerAccountEnabledResponseSchema: GenMessage<SetPayerAccountEnabledResponse> = /*@__PURE__*/
5311
- messageDesc(file_gc_v1_gc, 90);
5601
+ messageDesc(file_gc_v1_gc, 98);
5312
5602
 
5313
5603
  /**
5314
5604
  * @generated from message blueapi.gc.v1.GetPayerAccountStatusResponse
@@ -5325,7 +5615,7 @@ export type GetPayerAccountStatusResponse = Message<"blueapi.gc.v1.GetPayerAccou
5325
5615
  * Use `create(GetPayerAccountStatusResponseSchema)` to create a new message.
5326
5616
  */
5327
5617
  export const GetPayerAccountStatusResponseSchema: GenMessage<GetPayerAccountStatusResponse> = /*@__PURE__*/
5328
- messageDesc(file_gc_v1_gc, 91);
5618
+ messageDesc(file_gc_v1_gc, 99);
5329
5619
 
5330
5620
  /**
5331
5621
  * @generated from message blueapi.gc.v1.ListBillingGroupsResponse
@@ -5342,7 +5632,7 @@ export type ListBillingGroupsResponse = Message<"blueapi.gc.v1.ListBillingGroups
5342
5632
  * Use `create(ListBillingGroupsResponseSchema)` to create a new message.
5343
5633
  */
5344
5634
  export const ListBillingGroupsResponseSchema: GenMessage<ListBillingGroupsResponse> = /*@__PURE__*/
5345
- messageDesc(file_gc_v1_gc, 92);
5635
+ messageDesc(file_gc_v1_gc, 100);
5346
5636
 
5347
5637
  /**
5348
5638
  * @generated from message blueapi.gc.v1.ListBillingGroupsResponse.BillingGroup
@@ -5409,7 +5699,7 @@ export type ListBillingGroupsResponse_BillingGroup = Message<"blueapi.gc.v1.List
5409
5699
  * Use `create(ListBillingGroupsResponse_BillingGroupSchema)` to create a new message.
5410
5700
  */
5411
5701
  export const ListBillingGroupsResponse_BillingGroupSchema: GenMessage<ListBillingGroupsResponse_BillingGroup> = /*@__PURE__*/
5412
- messageDesc(file_gc_v1_gc, 92, 0);
5702
+ messageDesc(file_gc_v1_gc, 100, 0);
5413
5703
 
5414
5704
  /**
5415
5705
  * @generated from enum blueapi.gc.v1.ListBillingGroupsResponse.BillingGroupStatus
@@ -5435,7 +5725,7 @@ export enum ListBillingGroupsResponse_BillingGroupStatus {
5435
5725
  * Describes the enum blueapi.gc.v1.ListBillingGroupsResponse.BillingGroupStatus.
5436
5726
  */
5437
5727
  export const ListBillingGroupsResponse_BillingGroupStatusSchema: GenEnum<ListBillingGroupsResponse_BillingGroupStatus> = /*@__PURE__*/
5438
- enumDesc(file_gc_v1_gc, 92, 0);
5728
+ enumDesc(file_gc_v1_gc, 100, 0);
5439
5729
 
5440
5730
  /**
5441
5731
  * @generated from message blueapi.gc.v1.SetBillingGroupStatusResponse
@@ -5452,7 +5742,7 @@ export type SetBillingGroupStatusResponse = Message<"blueapi.gc.v1.SetBillingGro
5452
5742
  * Use `create(SetBillingGroupStatusResponseSchema)` to create a new message.
5453
5743
  */
5454
5744
  export const SetBillingGroupStatusResponseSchema: GenMessage<SetBillingGroupStatusResponse> = /*@__PURE__*/
5455
- messageDesc(file_gc_v1_gc, 93);
5745
+ messageDesc(file_gc_v1_gc, 101);
5456
5746
 
5457
5747
  /**
5458
5748
  * @generated from message blueapi.gc.v1.GetBillingGroupStatusResponse
@@ -5474,7 +5764,7 @@ export type GetBillingGroupStatusResponse = Message<"blueapi.gc.v1.GetBillingGro
5474
5764
  * Use `create(GetBillingGroupStatusResponseSchema)` to create a new message.
5475
5765
  */
5476
5766
  export const GetBillingGroupStatusResponseSchema: GenMessage<GetBillingGroupStatusResponse> = /*@__PURE__*/
5477
- messageDesc(file_gc_v1_gc, 94);
5767
+ messageDesc(file_gc_v1_gc, 102);
5478
5768
 
5479
5769
  /**
5480
5770
  * @generated from message blueapi.gc.v1.ValidateBillingGroupResponse
@@ -5514,7 +5804,7 @@ export type ValidateBillingGroupResponse = Message<"blueapi.gc.v1.ValidateBillin
5514
5804
  * Use `create(ValidateBillingGroupResponseSchema)` to create a new message.
5515
5805
  */
5516
5806
  export const ValidateBillingGroupResponseSchema: GenMessage<ValidateBillingGroupResponse> = /*@__PURE__*/
5517
- messageDesc(file_gc_v1_gc, 95);
5807
+ messageDesc(file_gc_v1_gc, 103);
5518
5808
 
5519
5809
  /**
5520
5810
  * @generated from message blueapi.gc.v1.GetAwsPrivateOfferResponse
@@ -5577,7 +5867,7 @@ export type GetAwsPrivateOfferResponse = Message<"blueapi.gc.v1.GetAwsPrivateOff
5577
5867
  * Use `create(GetAwsPrivateOfferResponseSchema)` to create a new message.
5578
5868
  */
5579
5869
  export const GetAwsPrivateOfferResponseSchema: GenMessage<GetAwsPrivateOfferResponse> = /*@__PURE__*/
5580
- messageDesc(file_gc_v1_gc, 96);
5870
+ messageDesc(file_gc_v1_gc, 104);
5581
5871
 
5582
5872
  /**
5583
5873
  * @generated from message blueapi.gc.v1.AcceptBillingGroupTermsResponse
@@ -5594,7 +5884,7 @@ export type AcceptBillingGroupTermsResponse = Message<"blueapi.gc.v1.AcceptBilli
5594
5884
  * Use `create(AcceptBillingGroupTermsResponseSchema)` to create a new message.
5595
5885
  */
5596
5886
  export const AcceptBillingGroupTermsResponseSchema: GenMessage<AcceptBillingGroupTermsResponse> = /*@__PURE__*/
5597
- messageDesc(file_gc_v1_gc, 97);
5887
+ messageDesc(file_gc_v1_gc, 105);
5598
5888
 
5599
5889
  /**
5600
5890
  * @generated from message blueapi.gc.v1.ListDraftPurchasePlansResponse
@@ -5611,7 +5901,7 @@ export type ListDraftPurchasePlansResponse = Message<"blueapi.gc.v1.ListDraftPur
5611
5901
  * Use `create(ListDraftPurchasePlansResponseSchema)` to create a new message.
5612
5902
  */
5613
5903
  export const ListDraftPurchasePlansResponseSchema: GenMessage<ListDraftPurchasePlansResponse> = /*@__PURE__*/
5614
- messageDesc(file_gc_v1_gc, 98);
5904
+ messageDesc(file_gc_v1_gc, 106);
5615
5905
 
5616
5906
  /**
5617
5907
  * @generated from message blueapi.gc.v1.DeleteDraftPurchasePlanResponse
@@ -5637,7 +5927,7 @@ export type DeleteDraftPurchasePlanResponse = Message<"blueapi.gc.v1.DeleteDraft
5637
5927
  * Use `create(DeleteDraftPurchasePlanResponseSchema)` to create a new message.
5638
5928
  */
5639
5929
  export const DeleteDraftPurchasePlanResponseSchema: GenMessage<DeleteDraftPurchasePlanResponse> = /*@__PURE__*/
5640
- messageDesc(file_gc_v1_gc, 99);
5930
+ messageDesc(file_gc_v1_gc, 107);
5641
5931
 
5642
5932
  /**
5643
5933
  * @generated from message blueapi.gc.v1.GetAvailableCommitmentTypesResponse
@@ -5658,7 +5948,7 @@ export type GetAvailableCommitmentTypesResponse = Message<"blueapi.gc.v1.GetAvai
5658
5948
  * Use `create(GetAvailableCommitmentTypesResponseSchema)` to create a new message.
5659
5949
  */
5660
5950
  export const GetAvailableCommitmentTypesResponseSchema: GenMessage<GetAvailableCommitmentTypesResponse> = /*@__PURE__*/
5661
- messageDesc(file_gc_v1_gc, 100);
5951
+ messageDesc(file_gc_v1_gc, 108);
5662
5952
 
5663
5953
  /**
5664
5954
  * @generated from message blueapi.gc.v1.GetGuaranteedCommitmentTemplateUrlResponse
@@ -5719,7 +6009,7 @@ export type GetGuaranteedCommitmentTemplateUrlResponse = Message<"blueapi.gc.v1.
5719
6009
  * Use `create(GetGuaranteedCommitmentTemplateUrlResponseSchema)` to create a new message.
5720
6010
  */
5721
6011
  export const GetGuaranteedCommitmentTemplateUrlResponseSchema: GenMessage<GetGuaranteedCommitmentTemplateUrlResponse> = /*@__PURE__*/
5722
- messageDesc(file_gc_v1_gc, 101);
6012
+ messageDesc(file_gc_v1_gc, 109);
5723
6013
 
5724
6014
  /**
5725
6015
  * @generated from message blueapi.gc.v1.CreateGuaranteedCommitmentAccessResponse
@@ -5808,7 +6098,7 @@ export type CreateGuaranteedCommitmentAccessResponse = Message<"blueapi.gc.v1.Cr
5808
6098
  * Use `create(CreateGuaranteedCommitmentAccessResponseSchema)` to create a new message.
5809
6099
  */
5810
6100
  export const CreateGuaranteedCommitmentAccessResponseSchema: GenMessage<CreateGuaranteedCommitmentAccessResponse> = /*@__PURE__*/
5811
- messageDesc(file_gc_v1_gc, 102);
6101
+ messageDesc(file_gc_v1_gc, 110);
5812
6102
 
5813
6103
  /**
5814
6104
  * @generated from message blueapi.gc.v1.GetPurchasePlansDetailsResponse
@@ -5848,7 +6138,7 @@ export type GetPurchasePlansDetailsResponse = Message<"blueapi.gc.v1.GetPurchase
5848
6138
  * Use `create(GetPurchasePlansDetailsResponseSchema)` to create a new message.
5849
6139
  */
5850
6140
  export const GetPurchasePlansDetailsResponseSchema: GenMessage<GetPurchasePlansDetailsResponse> = /*@__PURE__*/
5851
- messageDesc(file_gc_v1_gc, 103);
6141
+ messageDesc(file_gc_v1_gc, 111);
5852
6142
 
5853
6143
  /**
5854
6144
  * @generated from message blueapi.gc.v1.CreateCustomCommitmentPlanResponse
@@ -5865,7 +6155,7 @@ export type CreateCustomCommitmentPlanResponse = Message<"blueapi.gc.v1.CreateCu
5865
6155
  * Use `create(CreateCustomCommitmentPlanResponseSchema)` to create a new message.
5866
6156
  */
5867
6157
  export const CreateCustomCommitmentPlanResponseSchema: GenMessage<CreateCustomCommitmentPlanResponse> = /*@__PURE__*/
5868
- messageDesc(file_gc_v1_gc, 104);
6158
+ messageDesc(file_gc_v1_gc, 112);
5869
6159
 
5870
6160
  /**
5871
6161
  * AzureArcheraOrgFeatureStatus is a single feature status entry within the Archera org object.
@@ -5899,7 +6189,7 @@ export type AzureArcheraOrgFeatureStatus = Message<"blueapi.gc.v1.AzureArcheraOr
5899
6189
  * Use `create(AzureArcheraOrgFeatureStatusSchema)` to create a new message.
5900
6190
  */
5901
6191
  export const AzureArcheraOrgFeatureStatusSchema: GenMessage<AzureArcheraOrgFeatureStatus> = /*@__PURE__*/
5902
- messageDesc(file_gc_v1_gc, 105);
6192
+ messageDesc(file_gc_v1_gc, 113);
5903
6193
 
5904
6194
  /**
5905
6195
  * AzureArcheraOrgLeaseBudget is the lease budget config within the Archera org object.
@@ -5928,7 +6218,7 @@ export type AzureArcheraOrgLeaseBudget = Message<"blueapi.gc.v1.AzureArcheraOrgL
5928
6218
  * Use `create(AzureArcheraOrgLeaseBudgetSchema)` to create a new message.
5929
6219
  */
5930
6220
  export const AzureArcheraOrgLeaseBudgetSchema: GenMessage<AzureArcheraOrgLeaseBudget> = /*@__PURE__*/
5931
- messageDesc(file_gc_v1_gc, 106);
6221
+ messageDesc(file_gc_v1_gc, 114);
5932
6222
 
5933
6223
  /**
5934
6224
  * AzureArcheraOrg is the full Archera org object.
@@ -6136,7 +6426,7 @@ export type AzureArcheraOrg = Message<"blueapi.gc.v1.AzureArcheraOrg"> & {
6136
6426
  * Use `create(AzureArcheraOrgSchema)` to create a new message.
6137
6427
  */
6138
6428
  export const AzureArcheraOrgSchema: GenMessage<AzureArcheraOrg> = /*@__PURE__*/
6139
- messageDesc(file_gc_v1_gc, 107);
6429
+ messageDesc(file_gc_v1_gc, 115);
6140
6430
 
6141
6431
  /**
6142
6432
  * AzureOnboardingCreatedBy identifies who triggered the onboarding.
@@ -6165,7 +6455,7 @@ export type AzureOnboardingCreatedBy = Message<"blueapi.gc.v1.AzureOnboardingCre
6165
6455
  * Use `create(AzureOnboardingCreatedBySchema)` to create a new message.
6166
6456
  */
6167
6457
  export const AzureOnboardingCreatedBySchema: GenMessage<AzureOnboardingCreatedBy> = /*@__PURE__*/
6168
- messageDesc(file_gc_v1_gc, 108);
6458
+ messageDesc(file_gc_v1_gc, 116);
6169
6459
 
6170
6460
  /**
6171
6461
  * AzureOnboardingState is the full Archera onboarding record state.
@@ -6334,7 +6624,7 @@ export type AzureOnboardingState = Message<"blueapi.gc.v1.AzureOnboardingState">
6334
6624
  * Use `create(AzureOnboardingStateSchema)` to create a new message.
6335
6625
  */
6336
6626
  export const AzureOnboardingStateSchema: GenMessage<AzureOnboardingState> = /*@__PURE__*/
6337
- messageDesc(file_gc_v1_gc, 109);
6627
+ messageDesc(file_gc_v1_gc, 117);
6338
6628
 
6339
6629
  /**
6340
6630
  * StartAzureOnboardingResponse is returned from StartAzureOnboarding.
@@ -6376,7 +6666,7 @@ export type StartAzureOnboardingResponse = Message<"blueapi.gc.v1.StartAzureOnbo
6376
6666
  * Use `create(StartAzureOnboardingResponseSchema)` to create a new message.
6377
6667
  */
6378
6668
  export const StartAzureOnboardingResponseSchema: GenMessage<StartAzureOnboardingResponse> = /*@__PURE__*/
6379
- messageDesc(file_gc_v1_gc, 110);
6669
+ messageDesc(file_gc_v1_gc, 118);
6380
6670
 
6381
6671
  /**
6382
6672
  * GetAzureOnboardingAuthUrlResponse contains the OAuth URL (Step 4).
@@ -6397,7 +6687,7 @@ export type GetAzureOnboardingAuthUrlResponse = Message<"blueapi.gc.v1.GetAzureO
6397
6687
  * Use `create(GetAzureOnboardingAuthUrlResponseSchema)` to create a new message.
6398
6688
  */
6399
6689
  export const GetAzureOnboardingAuthUrlResponseSchema: GenMessage<GetAzureOnboardingAuthUrlResponse> = /*@__PURE__*/
6400
- messageDesc(file_gc_v1_gc, 111);
6690
+ messageDesc(file_gc_v1_gc, 119);
6401
6691
 
6402
6692
  /**
6403
6693
  * AzureAccount is one available subscription or billing account (Step 6).
@@ -6440,7 +6730,7 @@ export type AzureAccount = Message<"blueapi.gc.v1.AzureAccount"> & {
6440
6730
  * Use `create(AzureAccountSchema)` to create a new message.
6441
6731
  */
6442
6732
  export const AzureAccountSchema: GenMessage<AzureAccount> = /*@__PURE__*/
6443
- messageDesc(file_gc_v1_gc, 112);
6733
+ messageDesc(file_gc_v1_gc, 120);
6444
6734
 
6445
6735
  /**
6446
6736
  * ListAzureOnboardingAccountsResponse returns accounts the user can select.
@@ -6459,7 +6749,7 @@ export type ListAzureOnboardingAccountsResponse = Message<"blueapi.gc.v1.ListAzu
6459
6749
  * Use `create(ListAzureOnboardingAccountsResponseSchema)` to create a new message.
6460
6750
  */
6461
6751
  export const ListAzureOnboardingAccountsResponseSchema: GenMessage<ListAzureOnboardingAccountsResponse> = /*@__PURE__*/
6462
- messageDesc(file_gc_v1_gc, 113);
6752
+ messageDesc(file_gc_v1_gc, 121);
6463
6753
 
6464
6754
  /**
6465
6755
  * AzureIntegrationFeatureStatus is a single feature check for an Azure integration (Step 9).
@@ -6492,7 +6782,7 @@ export type AzureIntegrationFeatureStatus = Message<"blueapi.gc.v1.AzureIntegrat
6492
6782
  * Use `create(AzureIntegrationFeatureStatusSchema)` to create a new message.
6493
6783
  */
6494
6784
  export const AzureIntegrationFeatureStatusSchema: GenMessage<AzureIntegrationFeatureStatus> = /*@__PURE__*/
6495
- messageDesc(file_gc_v1_gc, 114);
6785
+ messageDesc(file_gc_v1_gc, 122);
6496
6786
 
6497
6787
  /**
6498
6788
  * AzureIntegrationOnboarding is a summary of the onboarding linked to an integration.
@@ -6541,7 +6831,7 @@ export type AzureIntegrationOnboarding = Message<"blueapi.gc.v1.AzureIntegration
6541
6831
  * Use `create(AzureIntegrationOnboardingSchema)` to create a new message.
6542
6832
  */
6543
6833
  export const AzureIntegrationOnboardingSchema: GenMessage<AzureIntegrationOnboarding> = /*@__PURE__*/
6544
- messageDesc(file_gc_v1_gc, 115);
6834
+ messageDesc(file_gc_v1_gc, 123);
6545
6835
 
6546
6836
  /**
6547
6837
  * AzureIntegration is the full Azure cloud integration record from Archera.
@@ -6686,7 +6976,7 @@ export type AzureIntegration = Message<"blueapi.gc.v1.AzureIntegration"> & {
6686
6976
  * Use `create(AzureIntegrationSchema)` to create a new message.
6687
6977
  */
6688
6978
  export const AzureIntegrationSchema: GenMessage<AzureIntegration> = /*@__PURE__*/
6689
- messageDesc(file_gc_v1_gc, 116);
6979
+ messageDesc(file_gc_v1_gc, 124);
6690
6980
 
6691
6981
  /**
6692
6982
  * CreateAzureIntegrationResponse is returned after creating the Azure integration (Step 8).
@@ -6749,7 +7039,7 @@ export type CreateAzureIntegrationResponse = Message<"blueapi.gc.v1.CreateAzureI
6749
7039
  * Use `create(CreateAzureIntegrationResponseSchema)` to create a new message.
6750
7040
  */
6751
7041
  export const CreateAzureIntegrationResponseSchema: GenMessage<CreateAzureIntegrationResponse> = /*@__PURE__*/
6752
- messageDesc(file_gc_v1_gc, 117);
7042
+ messageDesc(file_gc_v1_gc, 125);
6753
7043
 
6754
7044
  /**
6755
7045
  * ListAzureIntegrationsResponse contains all Azure integrations for the org (Step 9).
@@ -6768,7 +7058,62 @@ export type ListAzureIntegrationsResponse = Message<"blueapi.gc.v1.ListAzureInte
6768
7058
  * Use `create(ListAzureIntegrationsResponseSchema)` to create a new message.
6769
7059
  */
6770
7060
  export const ListAzureIntegrationsResponseSchema: GenMessage<ListAzureIntegrationsResponse> = /*@__PURE__*/
6771
- messageDesc(file_gc_v1_gc, 118);
7061
+ messageDesc(file_gc_v1_gc, 126);
7062
+
7063
+ /**
7064
+ * TermsConsentState describes the evaluated user-facing consent state for the
7065
+ * current product and organizational consent scope.
7066
+ *
7067
+ * @generated from enum blueapi.gc.v1.TermsConsentState
7068
+ */
7069
+ export enum TermsConsentState {
7070
+ /**
7071
+ * @generated from enum value: TERMS_CONSENT_STATE_UNSPECIFIED = 0;
7072
+ */
7073
+ UNSPECIFIED = 0,
7074
+
7075
+ /**
7076
+ * No active published Terms of Service version exists.
7077
+ *
7078
+ * @generated from enum value: TERMS_CONSENT_STATE_NO_ACTIVE_TOS = 1;
7079
+ */
7080
+ NO_ACTIVE_TOS = 1,
7081
+
7082
+ /**
7083
+ * An active version exists, but no version has been accepted for the
7084
+ * applicable product and consent scope.
7085
+ *
7086
+ * @generated from enum value: TERMS_CONSENT_STATE_CONSENT_REQUIRED = 2;
7087
+ */
7088
+ CONSENT_REQUIRED = 2,
7089
+
7090
+ /**
7091
+ * The applicable scope has sufficient consent.
7092
+ *
7093
+ * @generated from enum value: TERMS_CONSENT_STATE_CONSENTED = 3;
7094
+ */
7095
+ CONSENTED = 3,
7096
+
7097
+ /**
7098
+ * A normal update is available and its 14-day banner period is active.
7099
+ *
7100
+ * @generated from enum value: TERMS_CONSENT_STATE_UPDATE_AVAILABLE = 4;
7101
+ */
7102
+ UPDATE_AVAILABLE = 4,
7103
+
7104
+ /**
7105
+ * The active version requires explicit re-consent.
7106
+ *
7107
+ * @generated from enum value: TERMS_CONSENT_STATE_RECONSENT_REQUIRED = 5;
7108
+ */
7109
+ RECONSENT_REQUIRED = 5,
7110
+ }
7111
+
7112
+ /**
7113
+ * Describes the enum blueapi.gc.v1.TermsConsentState.
7114
+ */
7115
+ export const TermsConsentStateSchema: GenEnum<TermsConsentState> = /*@__PURE__*/
7116
+ enumDesc(file_gc_v1_gc, 0);
6772
7117
 
6773
7118
  /**
6774
7119
  * @generated from enum blueapi.gc.v1.Provider
@@ -6809,7 +7154,7 @@ export enum Provider {
6809
7154
  * Describes the enum blueapi.gc.v1.Provider.
6810
7155
  */
6811
7156
  export const ProviderSchema: GenEnum<Provider> = /*@__PURE__*/
6812
- enumDesc(file_gc_v1_gc, 0);
7157
+ enumDesc(file_gc_v1_gc, 1);
6813
7158
 
6814
7159
  /**
6815
7160
  * @generated from enum blueapi.gc.v1.CommitmentStatus
@@ -6860,7 +7205,7 @@ export enum CommitmentStatus {
6860
7205
  * Describes the enum blueapi.gc.v1.CommitmentStatus.
6861
7206
  */
6862
7207
  export const CommitmentStatusSchema: GenEnum<CommitmentStatus> = /*@__PURE__*/
6863
- enumDesc(file_gc_v1_gc, 1);
7208
+ enumDesc(file_gc_v1_gc, 2);
6864
7209
 
6865
7210
  /**
6866
7211
  * @generated from enum blueapi.gc.v1.CommitmentInventoryStatus
@@ -6896,7 +7241,7 @@ export enum CommitmentInventoryStatus {
6896
7241
  * Describes the enum blueapi.gc.v1.CommitmentInventoryStatus.
6897
7242
  */
6898
7243
  export const CommitmentInventoryStatusSchema: GenEnum<CommitmentInventoryStatus> = /*@__PURE__*/
6899
- enumDesc(file_gc_v1_gc, 2);
7244
+ enumDesc(file_gc_v1_gc, 3);
6900
7245
 
6901
7246
  /**
6902
7247
  * @generated from enum blueapi.gc.v1.Scope
@@ -6927,7 +7272,7 @@ export enum Scope {
6927
7272
  * Describes the enum blueapi.gc.v1.Scope.
6928
7273
  */
6929
7274
  export const ScopeSchema: GenEnum<Scope> = /*@__PURE__*/
6930
- enumDesc(file_gc_v1_gc, 3);
7275
+ enumDesc(file_gc_v1_gc, 4);
6931
7276
 
6932
7277
  /**
6933
7278
  * @generated from enum blueapi.gc.v1.UsageType
@@ -6953,7 +7298,7 @@ export enum UsageType {
6953
7298
  * Describes the enum blueapi.gc.v1.UsageType.
6954
7299
  */
6955
7300
  export const UsageTypeSchema: GenEnum<UsageType> = /*@__PURE__*/
6956
- enumDesc(file_gc_v1_gc, 4);
7301
+ enumDesc(file_gc_v1_gc, 5);
6957
7302
 
6958
7303
  /**
6959
7304
  * GuaranteedCommitments service definition.
@@ -7394,6 +7739,50 @@ export const GuaranteedCommitments: GenService<{
7394
7739
  input: typeof ListAzureIntegrationsRequestSchema;
7395
7740
  output: typeof ListAzureIntegrationsResponseSchema;
7396
7741
  },
7742
+ /**
7743
+ * Returns the evaluated Terms of Service consent status for the authenticated
7744
+ * Ripple MSP or WavePro root customer.
7745
+ *
7746
+ * The backend derives the product and consent scope from trusted authentication
7747
+ * context. The frontend does not provide product or consent-scope identifiers.
7748
+ *
7749
+ * @generated from rpc blueapi.gc.v1.GuaranteedCommitments.GetTermsConsentStatus
7750
+ */
7751
+ getTermsConsentStatus: {
7752
+ methodKind: "unary";
7753
+ input: typeof GetTermsConsentStatusRequestSchema;
7754
+ output: typeof GetTermsConsentStatusResponseSchema;
7755
+ },
7756
+ /**
7757
+ * Returns temporary read access to the active Terms of Service PDF for the
7758
+ * authenticated Ripple or WavePro product.
7759
+ *
7760
+ * The backend derives the product and active version from trusted
7761
+ * authentication context. The language path parameter selects the English
7762
+ * or Japanese document for that active version.
7763
+ *
7764
+ * @generated from rpc blueapi.gc.v1.GuaranteedCommitments.GetTermsDocument
7765
+ */
7766
+ getTermsDocument: {
7767
+ methodKind: "unary";
7768
+ input: typeof GetTermsDocumentRequestSchema;
7769
+ output: typeof GetTermsDocumentResponseSchema;
7770
+ },
7771
+ /**
7772
+ * Records explicit acceptance of the currently active Terms of Service version
7773
+ * for the authenticated Ripple MSP or WavePro root customer.
7774
+ *
7775
+ * The frontend submits the version it displayed to the user. The backend
7776
+ * derives the product, consent scope, accepting user, and acceptance time from
7777
+ * trusted request context.
7778
+ *
7779
+ * @generated from rpc blueapi.gc.v1.GuaranteedCommitments.AcceptTerms
7780
+ */
7781
+ acceptTerms: {
7782
+ methodKind: "unary";
7783
+ input: typeof AcceptTermsRequestSchema;
7784
+ output: typeof AcceptTermsResponseSchema;
7785
+ },
7397
7786
  }> = /*@__PURE__*/
7398
7787
  serviceDesc(file_gc_v1_gc, 0);
7399
7788