@alphauspkgs/blue-sdk-ts 1.0.18 → 1.0.19

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
@@ -14,7 +14,7 @@ import type { JsonObject, Message } from "@bufbuild/protobuf";
14
14
  * Describes the file gc/v1/gc.proto.
15
15
  */
16
16
  export const file_gc_v1_gc: GenFile = /*@__PURE__*/
17
- fileDesc("Cg5nYy92MS9nYy5wcm90bxINYmx1ZWFwaS5nYy52MSIRCg9MaXN0T3Jnc1JlcXVlc3QiMQofR2V0Q29tbWl0bWVudFBsYW5EZXRhaWxzUmVxdWVzdBIOCgZwbGFuSWQYASABKAkiLAoaQ29tbWl0bWVudFBsYW5BcHBseVJlcXVlc3QSDgoGcGxhbklkGAEgASgJIk4KIUxpc3REZWZhdWx0Q29tbWl0bWVudFBsYW5zUmVxdWVzdBIpCghwcm92aWRlchgBIAEoDjIXLmJsdWVhcGkuZ2MudjEuUHJvdmlkZXIiUAojR2V0UmVjb21tZW5kZWRDb21taXRtZW50UGxhblJlcXVlc3QSKQoIcHJvdmlkZXIYASABKA4yFy5ibHVlYXBpLmdjLnYxLlByb3ZpZGVyIqABCiJMaXN0Q29tbWl0bWVudFBsYW5MaW5lSXRlbXNSZXF1ZXN0Eg4KBnBsYW5JZBgBIAEoCRIPCgdvcmRlckJ5GAIgASgJEgwKBGRlc2MYAyABKAgSEQoJc2VnbWVudElkGAQgASgJEhgKEHJlc291cmNlTWF0Y2hJZHMYBSADKAkSDAoEcGFnZRgGIAEoBRIQCghwYWdlU2l6ZRgHIAEoBSKyAQooTGlzdENvbW1pdG1lbnRQbGFuUmVzb3VyY2VNYXRjaGVzUmVxdWVzdBIOCgZwbGFuSWQYASABKAkSDwoHb3JkZXJCeRgCIAEoCRIMCgRkZXNjGAMgASgIEhEKCXN0YXJ0RGF0ZRgEIAEoCRIPCgdlbmREYXRlGAUgASgJEhMKC2xpbmVJdGVtSWRzGAYgAygJEgwKBHBhZ2UYByABKAUSEAoIcGFnZVNpemUYCCABKAUiGAoWTGlzdENvbW1pdG1lbnRzUmVxdWVzdCJnChpHZXRDb21taXRtZW50c0NoYXJ0UmVxdWVzdBIUCgxjb21taXRtZW50SWQYASABKAkSDwoHZ3JvdXBCeRgCIAEoCRIRCglzdGFydERhdGUYAyABKAkSDwoHZW5kRGF0ZRgEIAEoCSI4CiBHZXRDb21taXRtZW50c1V0aWxpemF0aW9uUmVxdWVzdBIUCgxjb21taXRtZW50SWQYASABKAkiPgoRR2V0TWV0cmljc1JlcXVlc3QSKQoIcHJvdmlkZXIYASABKA4yFy5ibHVlYXBpLmdjLnYxLlByb3ZpZGVyIqMBChRMaXN0UmVzb3VyY2VzUmVxdWVzdBIpCghwcm92aWRlchgBIAEoDjIXLmJsdWVhcGkuZ2MudjEuUHJvdmlkZXISEQoJc2VnbWVudElkGAIgASgJEg4KBnNlYXJjaBgDIAEoCRIMCgRkZXNjGAQgASgIEg8KB29yZGVyQnkYBSABKAkSDAoEcGFnZRgGIAEoBRIQCghwYWdlU2l6ZRgHIAEoBSKMAQocR2V0UmVzb3VyY2VEYWlseVVzYWdlUmVxdWVzdBISCgpyZXNvdXJjZUlkGAEgASgJEhEKCXN0YXJ0RGF0ZRgCIAEoCRIPCgdlbmREYXRlGAMgASgJEhQKDGNhdGFsb2dTa3VJZBgEIAEoCRIMCgRwYWdlGAUgASgFEhAKCHBhZ2VTaXplGAYgASgFIkAKE0xpc3RTZWdtZW50c1JlcXVlc3QSKQoIcHJvdmlkZXIYASABKA4yFy5ibHVlYXBpLmdjLnYxLlByb3ZpZGVyIi0KGEdldFNlZ21lbnREZXRhaWxzUmVxdWVzdBIRCglzZWdtZW50SWQYASABKAkiIwohTGlzdFB1cmNoYXNlUGxhbnNCeVNlZ21lbnRSZXF1ZXN0IiYKB09yZ1VzZXISDQoFZW1haWwYASABKAkSDAoEcm9sZRgCIAEoCSIsCgpNZW1iZXJzaGlwEgwKBHJvbGUYASABKAkSEAoIdXNlcm5hbWUYAiABKAkiYgoHQWRkcmVzcxINCgVsaW5lMRgBIAEoCRIMCgRjaXR5GAIgASgJEg0KBXN0YXRlGAMgASgJEgsKA3ppcBgEIAEoCRIPCgdjb3VudHJ5GAUgASgJEg0KBWxpbmUyGAYgASgJIlQKDkF3c0V4aXN0aW5nQ3VyEg4KBnJlZ2lvbhgBIAEoCRIOCgZidWNrZXQYAiABKAkSDgoGcHJlZml4GAMgASgJEhIKCnJlcG9ydE5hbWUYBCABKAkirQIKElJlZ2lzdGVyT3JnUmVxdWVzdBINCgVtc3BJZBgBIAEoCRIRCgliaWxsaW5nSWQYAiABKAkSDAoEbmFtZRgDIAEoCRIbChNsYWJyYVN1YnNjcmlwdGlvbklkGAQgASgJEiUKBXVzZXJzGAUgAygLMhYuYmx1ZWFwaS5nYy52MS5PcmdVc2VyEg4KBmRvbWFpbhgGIAEoCRIuCg5wcmltYXJ5QWRkcmVzcxgHIAEoCzIWLmJsdWVhcGkuZ2MudjEuQWRkcmVzcxIfChdhd3NNYXJrZXRwbGFjZU9mZmVyTGluaxgIIAEoCRIhChlhenVyZU1hcmtldHBsYWNlT2ZmZXJMaW5rGAkgASgJEh8KF2djcE1hcmtldHBsYWNlT2ZmZXJMaW5rGAogASgJIlcKGVN0YXJ0QXdzT25ib2FyZGluZ1JlcXVlc3QSFgoOYmlsbGluZ0dyb3VwSWQYASABKAkSEQoJY29tcGFueUlkGAIgASgJEg8KB2djT3JnSWQYAyABKAkiYQojR2V0QXdzQ2xvdWRGb3JtYXRpb25UZW1wbGF0ZVJlcXVlc3QSFgoOYmlsbGluZ0dyb3VwSWQYASABKAkSEQoJY29tcGFueUlkGAIgASgJEg8KB2djT3JnSWQYAyABKAkiWQobR2V0QXdzTGF1bmNoU3RhY2tVcmxSZXF1ZXN0EhYKDmJpbGxpbmdHcm91cElkGAEgASgJEhEKCWNvbXBhbnlJZBgCIAEoCRIPCgdnY09yZ0lkGAMgASgJIrUBChpWZXJpZnlBd3NPbmJvYXJkaW5nUmVxdWVzdBIWCg5iaWxsaW5nR3JvdXBJZBgBIAEoCRIRCgljb21wYW55SWQYAiABKAkSDwoHZ2NPcmdJZBgDIAEoCRIUCgxvbmJvYXJkaW5nSWQYBCABKAkSEQoJYWNjb3VudElkGAUgASgJEjIKC2V4aXN0aW5nQ3VyGAYgASgLMh0uYmx1ZWFwaS5nYy52MS5Bd3NFeGlzdGluZ0N1ciJHChpHZXRPbmJvYXJkaW5nU3RhdHVzUmVxdWVzdBIWCg5iaWxsaW5nR3JvdXBJZBgBIAEoCRIRCgljb21wYW55SWQYAiABKAkiGgoYTGlzdFBheWVyQWNjb3VudHNSZXF1ZXN0IkMKHVNldFBheWVyQWNjb3VudEVuYWJsZWRSZXF1ZXN0EhEKCWNvbXBhbnlJZBgBIAEoCRIPCgdlbmFibGVkGAIgASgIIh4KHEdldFBheWVyQWNjb3VudFN0YXR1c1JlcXVlc3QiwgcKIVNhdmVDb21taXRtZW50c1BsYW5Bc0RyYWZ0UmVxdWVzdBIOCgZwbGFuSWQYASABKAkSFgoOcmVzZXJ2YXRpb25JZHMYAiADKAkSEwoLcmVzb3VyY2VJZHMYAyADKAkSFgoObWF4VXBmcm9udENvc3QYBCABKAESKQoIcHJvdmlkZXIYBSABKA4yFy5ibHVlYXBpLmdjLnYxLlByb3ZpZGVyEg8KB2VuZERhdGUYBiABKAkSEQoJc3RhcnREYXRlGAcgASgJEhEKCXNlZ21lbnRJZBgIIAEoCRIOCgZzdGF0dXMYCSABKAkSEwoLZGVzY3JpcHRpb24YCiABKAkSDAoEbmFtZRgLIAEoCRIeChZwcmVmZXJyZWRQYXltZW50T3B0aW9uGAwgASgJEh0KFWluY2x1ZGVkQ29udHJhY3RUZXJtcxgNIAMoCRI6ChVpbmNsdWRlZENvbnRyYWN0U3BlY3MYDiADKAsyGy5ibHVlYXBpLmdjLnYxLkNvbnRyYWN0U3BlYxIqCgpjb3ZlcmFnZUlkGA8gASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEhEKCWNyZWF0ZWRBdBgQIAEoCRIpCgljcmVhdGVkQnkYESABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSEgoKZGF0YVNvdXJjZRgSIAEoCRIvCg9leGVjdXRpb25Qb2xpY3kYEyABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSFgoOZmxhZ2dlZEFjdGlvbnMYFCADKAkSCgoCaWQYFSABKAkSFQoNaXNDYWxjdWxhdGluZxgWIAEoCBIRCglpc0RlZmF1bHQYFyABKAgSEAoIaXNMb2NrZWQYGCABKAgSFQoNaXNSZWNvbW1lbmRlZBgZIAEoCBIRCglpc1JlbmV3YWwYGiABKAgSDwoHaXNTYXZlZBgbIAEoCBIUCgxsYXN0TW9kaWZpZWQYHCABKAkSEgoKbWV0YVBsYW5JZBgdIAEoCRI6ChptaW5pbXVtVXBmcm9udEludGVyZXN0UmF0ZRgeIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRINCgVvcmdJZBgfIAEoCRIQCghwbGFuVHlwZRggIAEoCRI+Ch5yZWNvbW1lbmRXaXRoaW5Db3ZlcmVkQWNjb3VudHMYISABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSJwoHc2VnbWVudBgiIAEoCzIWLmJsdWVhcGkuZ2MudjEuU2VnbWVudCIfCh1MaXN0RHJhZnRQdXJjaGFzZVBsYW5zUmVxdWVzdCIwCh5EZWxldGVEcmFmdFB1cmNoYXNlUGxhblJlcXVlc3QSDgoGcGxhbklkGAEgASgJIjEKA09yZxINCgVvcmdJZBgBIAEoCRIMCgRuYW1lGAIgASgJEg0KBWVtYWlsGAMgASgJIvMEChVDb21taXRtZW50UGxhbkRldGFpbHMSCgoCaWQYASABKAkSDAoEbmFtZRgCIAEoCRITCgtkZXNjcmlwdGlvbhgDIAEoCRINCgVvcmdJZBgEIAEoCRIRCgljcmVhdGVkQXQYBSABKAkSFQoNaXNDYWxjdWxhdGluZxgGIAEoCBIOCgZzdGF0dXMYByABKAkSDwoHbWF4VGVybRgIIAEoCRIhChljb3ZlcmVkT25kZW1hbmRDb3N0SG91cmx5GAkgASgBEiAKGGJlZm9yZU9uZGVtYW5kQ29zdEhvdXJseRgKIAEoARIgChhiZWZvcmVSZXNlcnZlZENvc3RIb3VybHkYCyABKAESGwoTYW1vcnRpemVkQ29zdEhvdXJseRgMIAEoARIbChNyZWN1cnJpbmdDb3N0SG91cmx5GA0gASgBEhkKEXVwZnJvbnRDb3N0SG91cmx5GA4gASgBEhgKEGJlZm9yZUNvc3RIb3VybHkYDyABKAESFwoPYWZ0ZXJDb3N0SG91cmx5GBAgASgBEhcKD3RvdGFsQ29zdEhvdXJseRgRIAEoARIVCg1zYXZpbmdzSG91cmx5GBIgASgBEhEKCWZlZUhvdXJseRgTIAEoARIaChJjb21taXRtZW50Q292ZXJhZ2UYFCABKAESHQoVbWluaW11bUNvbW1pdG1lbnRDb3N0GBUgASgBEhYKDmJyZWFrZXZlbkhvdXJzGBYgASgBEhQKDHRvdGFsU2F2aW5ncxgXIAEoARIWCg5tb250aGx5U2F2aW5ncxgYIAEoARIeChZ0b3RhbE1vbnRobHlCZWZvcmVDb3N0GBkgASgBIlkKIkxpc3REZWZhdWx0Q29tbWl0bWVudFBsYW5zUmVzcG9uc2USMwoFcGxhbnMYASADKAsyJC5ibHVlYXBpLmdjLnYxLkNvbW1pdG1lbnRQbGFuRGV0YWlscyLpBQoWQ29tbWl0bWVudFBsYW5MaW5lSXRlbRIKCgJpZBgBIAEoCRIOCgZwbGFuSWQYAiABKAkSDwoHb2ZmZXJJZBgDIAEoCRIXCg9sZWFzZU1lbnVJdGVtSWQYBCABKAkSEQoJYWNjb3VudElkGAUgASgJEhsKE3JlY29tbWVuZGVkUXVhbnRpdHkYBiABKAESGAoQc2VsZWN0ZWRRdWFudGl0eRgHIAEoARIdChVyZWNvbW1lbmRlZENvbW1pdG1lbnQYCCABKAESGgoSc2VsZWN0ZWRDb21taXRtZW50GAkgASgBEhIKCmlzU2VsZWN0ZWQYCiABKAgSGgoSYWZ0ZXJBbW9ydGl6ZWRDb3N0GAsgASgBEhMKC3VwZnJvbnRDb3N0GAwgASgBEhUKDXJlY3VycmluZ0Nvc3QYDSABKAESEgoKYmVmb3JlQ29zdBgOIAEoARIaChJiZWZvcmVPbmRlbWFuZENvc3QYDyABKAESGgoSYmVmb3JlUmVzZXJ2ZWRDb3N0GBAgASgBEhsKE2NvdmVyZWRPbmRlbWFuZENvc3QYESABKAESGQoRYWZ0ZXJDb3ZlcmVkVW5pdHMYEiABKAESEQoJdG90YWxDb3N0GBMgASgBEhMKC21vbnRobHlDb3N0GBQgASgBEg8KB3NhdmluZ3MYFSABKAESFgoObW9udGhseVNhdmluZ3MYFiABKAESFAoMdG90YWxTYXZpbmdzGBcgASgBEgsKA2ZlZRgYIAEoARIUCgxkaXNjb3VudFJhdGUYGSABKAESFgoOYnJlYWtldmVuSG91cnMYGiABKAESFAoMY29udHJhY3RUZXJtGBsgASgJEhUKDXBheW1lbnRPcHRpb24YHCABKAkSLQoMY29udHJhY3RTcGVjGB0gASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBImCgVvZmZlchgeIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QiXwojTGlzdENvbW1pdG1lbnRQbGFuTGluZUl0ZW1zUmVzcG9uc2USOAoJbGluZUl0ZW1zGAEgAygLMiUuYmx1ZWFwaS5nYy52MS5Db21taXRtZW50UGxhbkxpbmVJdGVtIvcEChtDb21taXRtZW50UGxhblJlc291cmNlTWF0Y2gSCgoCaWQYASABKAkSEgoKdG90YWxVbml0cxgCIAEoARIcChRiZWZvcmVVbmNvdmVyZWRVbml0cxgDIAEoARIZChFhZnRlckNvdmVyZWRVbml0cxgEIAEoARIbChNhZnRlclVuY292ZXJlZFVuaXRzGAUgASgBEhUKDW9uZGVtYW5kUHJpY2UYBiABKAESGQoRaWZBbGxPbmRlbWFuZENvc3QYByABKAESGgoSYmVmb3JlT25kZW1hbmRDb3N0GAggASgBEhkKEWFmdGVyT25kZW1hbmRDb3N0GAkgASgBEhsKE2NvdmVyZWRPbmRlbWFuZENvc3QYCiABKAESGgoSYmVmb3JlUmVzZXJ2ZWRDb3N0GAsgASgBEhkKEWFmdGVyUmVzZXJ2ZWRDb3N0GAwgASgBEhIKCmJlZm9yZUNvc3QYDSABKAESEQoJYWZ0ZXJDb3N0GA4gASgBEhkKEW1vbnRobHlCZWZvcmVDb3N0GA8gASgBEhgKEG1vbnRobHlBZnRlckNvc3QYECABKAESIAoYbW9udGhseUFmdGVyUmVzZXJ2ZWRDb3N0GBEgASgBEiAKGG1vbnRobHlBZnRlck9uZGVtYW5kQ29zdBgSIAEoARIWCg5hdmVyYWdlU2F2aW5ncxgTIAEoARIdChVhdmVyYWdlTW9udGhseVNhdmluZ3MYFCABKAESEQoJdXNhZ2VUeXBlGBUgASgJEhAKCGNvdmVyYWdlGBYgASgBEikKCHJlc291cmNlGBcgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCJwCilMaXN0Q29tbWl0bWVudFBsYW5SZXNvdXJjZU1hdGNoZXNSZXNwb25zZRJDCg9yZXNvdXJjZU1hdGNoZXMYASADKAsyKi5ibHVlYXBpLmdjLnYxLkNvbW1pdG1lbnRQbGFuUmVzb3VyY2VNYXRjaCLuAQoFTGVhc2USCgoCaWQYASABKAkSDQoFb3JnSWQYAiABKAkSHQoVcHJvdmlkZXJSZXNlcnZhdGlvbklkGAMgASgJEhEKCWFjY291bnRJZBgEIAEoCRIOCgZzdGF0dXMYBSABKAkSEQoJc3RhcnREYXRlGAYgASgJEg8KB2VuZERhdGUYByABKAkSEgoKbG9ja2luRGF0ZRgIIAEoCRITCgt1cGZyb250Q29zdBgJIAEoARIVCg1yZWN1cnJpbmdDb3N0GAogASgBEhEKCWNyZWF0ZWRBdBgLIAEoCRIRCgl1cGRhdGVkQXQYDCABKAkiSQoQRGFpbHlVdGlsaXphdGlvbhIMCgRkYXRlGAEgASgJEhMKC3V0aWxpemF0aW9uGAIgASgBEhIKCm5ldFNhdmluZ3MYAyABKAEi0AcKCkNvbW1pdG1lbnQSCgoCaWQYASABKAkSEQoJYWNjb3VudElkGAIgASgJEhUKDWFtb3J0aXplZENvc3QYAyABKAESGAoQYmlsbGluZ0FjY291bnRJZBgEIAEoCRIRCgljYW5SZWJhdGUYBSABKAgSFAoMY29udHJhY3RUZXJtGAYgASgJEhMKC2Rpc3BsYXlOYW1lGAcgASgJEhcKD2R1cmF0aW9uU2Vjb25kcxgIIAEoARIeChZlZmZlY3RpdmVJbnN0YW5jZUNvdW50GAkgASgDEg8KB2VuZERhdGUYCiABKAkSFQoNaW5zdGFuY2VDb3VudBgLIAEoAxIWCg5pbnN0YW5jZUZhbWlseRgMIAEoCRIUCgxpbnN0YW5jZVR5cGUYDSABKAkSEAoIaXNBY3RpdmUYDiABKAgSEgoKaXNGbGV4aWJsZRgPIAEoCBIQCghpc0xlYXNlZBgQIAEoCBIRCglpc011bHRpQXoYESABKAgSFwoPbGVhc2VMb2NraW5EYXRlGBIgASgJEhIKCmxlYXNlU3RhcnQYEyABKAkSGQoRbGVhc2VkRGlzcGxheU5hbWUYFCABKAkSEwoLbW9udGhseUNvc3QYFSABKAESFgoObW9udGhseVNhdmluZ3MYFiABKAESDAoEbmFtZRgXIAEoCRISCgpuZXRTYXZpbmdzGBggASgBEhIKCm9mZmVyaW5nSWQYGSABKAkSFQoNcGF5bWVudE9wdGlvbhgaIAEoCRIYChBwb3RlbnRpYWxTYXZpbmdzGBsgASgBEhoKEnByb2R1Y3REZXNjcmlwdGlvbhgcIAEoCRIQCghwcm92aWRlchgdIAEoCRIeChZwcm92aWRlclJlc2VydmF0aW9uX2lkGB4gASgJEhUKDXJlY3VycmluZ0Nvc3QYHyABKAESDgoGcmVnaW9uGCAgASgJEhMKC3JlbmV3YWxQbGFuGCEgASgJEhYKDnJlc2VydmF0aW9uRW5kGCIgASgJEhgKEHJlc2VydmF0aW9uU3RhcnQYIyABKAkSFAoMcnVubmluZ0hvdXJzGCQgASgBEg8KB3NhdmluZ3MYJSABKAESEQoJc3RhcnREYXRlGCYgASgJEg4KBnN0YXR1cxgnIAEoCRIeChZ0cmFuc2ZlclJlc2VydmF0aW9uRW5kGCggASgJEiAKGHRyYW5zZmVyUmVzZXJ2YXRpb25TdGFydBgpIAEoCRIMCgR0eXBlGCogASgJEhMKC3VwZnJvbnRDb3N0GCsgASgBEhMKC3V0aWxpemF0aW9uGCwgASgBIkkKF0xpc3RDb21taXRtZW50c1Jlc3BvbnNlEi4KC2NvbW1pdG1lbnRzGAEgAygLMhkuYmx1ZWFwaS5nYy52MS5Db21taXRtZW50IkoKFENvbW1pdG1lbnRzQ2hhcnREYXRhEgwKBGRhdGUYASABKAkSEAoIY2hhcnRLZXkYAiABKAkSEgoKY2hhcnRWYWx1ZRgDIAEoASJNChhDb21taXRtZW50c0NoYXJ0UmVzcG9uc2USMQoEZGF0YRgBIAMoCzIjLmJsdWVhcGkuZ2MudjEuQ29tbWl0bWVudHNDaGFydERhdGEi/AEKGkNvbW1pdG1lbnRzVXRpbGl6YXRpb25EYXRhEhcKD3V0aWxpemF0aW9uRGF0ZRgBIAEoCRIMCgRjb3N0GAIgASgBEhMKC2NvdmVyZWRDb3N0GAMgASgBEg8KB2dyaUZlZXMYBCABKAESEgoKbmV0U2F2aW5ncxgFIAEoARIYChBwb3RlbnRpYWxTYXZpbmdzGAYgASgBEh4KFnJlc2VydmF0aW9uVXRpbGl6YXRpb24YByABKAESFAoMcnVubmluZ0hvdXJzGAggASgBEg8KB3NhdmluZ3MYCSABKAESHAoUdW51dGlsaXplZENvbW1pdG1lbnQYCiABKAEiWQoeQ29tbWl0bWVudHNVdGlsaXphdGlvblJlc3BvbnNlEjcKBGRhdGEYASADKAsyKS5ibHVlYXBpLmdjLnYxLkNvbW1pdG1lbnRzVXRpbGl6YXRpb25EYXRhIs0DCg9NZXRyaWNzUmVzcG9uc2USFwoPbGlmZXRpbWVTYXZpbmdzGAEgASgBEhIKCm10ZFNhdmluZ3MYAiABKAESIQoZcHVyY2hhc2VBdXRvbWF0aW9uRW5hYmxlZBgDIAEoCBIgChhidXliYWNrQXV0b21hdGlvbkVuYWJsZWQYBCABKAgSFwoPaGFzQWN0aW9uZWRQbGFuGAUgASgIEhkKEWhhc1BlbmRpbmdBY3Rpb25zGAYgASgIEhsKE2xhdGVzdEV4ZWN1dGlvbkRhdGUYByABKAkSHQoVcHVyY2hhc2VNaXNzZWRTYXZpbmdzGAggASgBEhwKFGJ1eWJhY2tNaXNzZWRTYXZpbmdzGAkgASgBEh8KF3RvdGFsRGFpbHlNaXNzZWRTYXZpbmdzGAogASgBEhsKE2hvdXJseU1pc3NlZFNhdmluZ3MYCyABKAESHgoWbWlzc2VkU2F2aW5nc1N0YXJ0RGF0ZRgMIAEoCRIcChRtaXNzZWRTYXZpbmdzRW5kRGF0ZRgNIAEoCRIXCg9leHBpcmluZ1NhdmluZ3MYDiABKAESEAoIY292ZXJhZ2UYDyABKAESEwoLdXRpbGl6YXRpb24YECABKAEiiAgKCFJlc291cmNlEgoKAmlkGAEgASgJEhIKCnJlc291cmNlSWQYAiABKAkSKQoIcHJvdmlkZXIYAyABKA4yFy5ibHVlYXBpLmdjLnYxLlByb3ZpZGVyEhoKEnByb3ZpZGVyUmVzb3VyY2VJZBgEIAEoCRIOCgZpc1Nwb3QYBSABKAgSDAoEbmFtZRgGIAEoCRIVCg1yZXNvdXJjZUdyb3VwGAcgASgJEhAKCHVzYWdlRW5kGAggASgJEhIKCnVzYWdlU3RhcnQYCSABKAkSJQoEdGFncxgKIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSEQoJY3JlYXRlZEF0GAsgASgJEhEKCXVwZGF0ZWRBdBgMIAEoCRISCgppbnN0YW5jZUlkGA0gASgJEhgKEGJpbGxpbmdBY2NvdW50SWQYDiABKAkSFAoMc3ViQWNjb3VudElkGA8gASgJEhsKE21hbmFnZW1lbnRBY2NvdW50SWQYECABKAkSFgoOb3duZXJBY2NvdW50SWQYESABKAkSEAoIc2t1VGl0bGUYEiABKAkSDwoHc2t1TmFtZRgTIAEoCRIYChBhdmFpbGFiaWxpdHlab25lGBQgASgJEhMKC2NhY2hlRW5naW5lGBUgASgJEhYKDmRhdGFiYXNlRW5naW5lGBYgASgJEhMKC2Rlc2NyaXB0aW9uGBcgASgJEg4KBmZhbWlseRgYIAEoCRIWCg5mdWxsUmVnaW9uTmFtZRgZIAEoCRIYChBoYXNPbmRlbWFuZFRlcm1zGBogASgIEhQKDGluc3RhbmNlVHlwZRgbIAEoCRIaChJpbnN0YW5jZVR5cGVGYW1pbHkYHCABKAkSFAoMaXNSZXNlcnZhYmxlGB0gASgIEhQKDGxpY2Vuc2VNb2RlbBgeIAEoCRIUCgxsb2NhdGlvblR5cGUYHyABKAkSHwoXbm9ybWFsaXphdGlvblNpemVGYWN0b3IYICABKAkSFwoPb3BlcmF0aW5nU3lzdGVtGCEgASgJEhYKDnByZUluc3RhbGxlZFN3GCIgASgJEhUKDXByaWNlQ3VycmVuY3kYIyABKAkSFwoPcHJvdmlkZXJTZXJ2aWNlGCQgASgJEhUKDXByb3ZpZGVyU2t1SWQYJSABKAkSFwoPcHVibGljYXRpb25EYXRlGCYgASgJEg4KBnJlZ2lvbhgnIAEoCRIPCgdzZXJ2aWNlGCggASgJEg8KB3RlbmFuY3kYKSABKAkSEQoJdXNhZ2VUeXBlGCogASgJEg8KB3ZlcnNpb24YKyABKAkSHAoUdnBjTmV0d29ya2luZ1N1cHBvcnQYLCABKAgSGQoRb25kZW1hbmRVc2FnZVVuaXQYLSABKAkiQwoVTGlzdFJlc291cmNlc1Jlc3BvbnNlEioKCXJlc291cmNlcxgBIAMoCzIXLmJsdWVhcGkuZ2MudjEuUmVzb3VyY2Ui1AIKElJlc291cmNlRGFpbHlVc2FnZRIMCgRkYXRlGAEgASgJEhYKDnVzYWdlQWNjb3VudElkGAIgASgJEhQKDHN1YkFjY291bnRJZBgDIAEoCRINCgV1c2FnZRgEIAEoARIYChByZXNlcnZhdGlvblVzYWdlGAUgASgBEhUKDWZyZWVUaWVyVXNhZ2UYBiABKAESFAoMb25kZW1hbmRDb3N0GAcgASgBEhQKDHJlc2VydmVkQ29zdBgIIAEoARIZChFpZkFsbE9uZGVtYW5kQ29zdBgJIAEoARIQCghzcG90Q29zdBgKIAEoARIXCg9mcmVlVGllclNhdmluZ3MYCyABKAESEQoJdXNhZ2VUeXBlGAwgASgJEhcKD2NvbW1vblVzYWdlVHlwZRgNIAEoCRIUCgxjb3ZlcmVkVXNhZ2UYDiABKAESDgoGdXB0aW1lGA8gASgBIlYKHUdldFJlc291cmNlRGFpbHlVc2FnZVJlc3BvbnNlEjUKCmRhaWx5VXNhZ2UYASADKAsyIS5ibHVlYXBpLmdjLnYxLlJlc291cmNlRGFpbHlVc2FnZSJ0CgdTZWdtZW50EgoKAmlkGAEgASgJEgwKBG5hbWUYAiABKAkSKQoIcHJvdmlkZXIYAyABKA4yFy5ibHVlYXBpLmdjLnYxLlByb3ZpZGVyEhEKCWlzRGVmYXVsdBgEIAEoCBIRCgljcmVhdGVkQXQYBSABKAkiQAoUTGlzdFNlZ21lbnRzUmVzcG9uc2USKAoIc2VnbWVudHMYASADKAsyFi5ibHVlYXBpLmdjLnYxLlNlZ21lbnQiQAoOU2VnbWVudENyZWF0b3ISCgoCaWQYASABKAkSEAoIdXNlcm5hbWUYAiABKAkSEAoIZnVsbE5hbWUYAyABKAkiSwoMUHVyY2hhc2VQbGFuEgoKAmlkGAEgASgJEgwKBG5hbWUYAiABKAkSDgoGc3RhdHVzGAMgASgJEhEKCWlzUmVuZXdhbBgEIAEoCCKlBQoOU2VnbWVudERldGFpbHMSCgoCaWQYASABKAkSDAoEbmFtZRgCIAEoCRITCgtkZXNjcmlwdGlvbhgDIAEoCRIpCghwcm92aWRlchgEIAEoDjIXLmJsdWVhcGkuZ2MudjEuUHJvdmlkZXISFgoOY2xvdWRQcm92aWRlcnMYBSADKAkSEQoJaXNEZWZhdWx0GAYgASgIEhEKCWNyZWF0ZWRBdBgHIAEoCRIwCgljcmVhdGVkQnkYCCABKAsyHS5ibHVlYXBpLmdjLnYxLlNlZ21lbnRDcmVhdG9yEhAKCHBhcmVudElkGAkgASgJEg4KBnN0YXR1cxgKIAEoCRIUCgxzZWdtZW50Q2xhc3MYCyABKAkSJwoGcGFyYW1zGAwgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBITCgttb250aGx5Q29zdBgNIAEoARIWCg5tb250aGx5TmV0Q29zdBgOIAEoARIgChhtb250aGx5SWZBbGxPbmRlbWFuZENvc3QYDyABKAESGwoTbW9udGhseU9uZGVtYW5kQ29zdBgQIAEoARIbChNtb250aGx5UmVzZXJ2ZWRDb3N0GBEgASgBEhcKD21vbnRobHlTcG90Q29zdBgSIAEoARIWCg5tb250aGx5U2F2aW5ncxgTIAEoARIVCg1tb250aGx5QnVkZ2V0GBQgASgBEhAKCGNvdmVyYWdlGBUgASgBEhsKE3JlY29tbWVuZGVkQ292ZXJhZ2UYFiABKAESFgoOdGFyZ2V0Q292ZXJhZ2UYFyABKAESHAoUbW9udGhseVJlc291cmNlQ291bnQYGCABKAUSMgoNcHVyY2hhc2VQbGFucxgZIAMoCzIbLmJsdWVhcGkuZ2MudjEuUHVyY2hhc2VQbGFuIngKDENvbnRyYWN0U3BlYxIWCg5jb21taXRtZW50VHlwZRgBIAEoCRIVCg1wYXltZW50T3B0aW9uGAIgASgJEgwKBHRlcm0YAyABKAkSKwoKcHJvcGVydGllcxgEIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3Qi3gIKC1BsYW5TdW1tYXJ5EgsKA2tleRgBIAEoCRIQCghwcm92aWRlchgCIAEoCRIWCg5udW1Db21taXRtZW50cxgDIAEoBRIVCg1taW5Db21taXRtZW50GAQgASgBEhkKEW1vbnRobHlDb21taXRtZW50GAUgASgBEhMKC3VwZnJvbnRDb3N0GAYgASgBEhIKCm1pblNhdmluZ3MYByABKAESEgoKbWF4U2F2aW5ncxgIIAEoARIWCg5tb250aGx5U2F2aW5ncxgJIAEoARIUCgxtaW5UZXJtSG91cnMYCiABKAUSFAoMbWF4VGVybUhvdXJzGAsgASgFEhMKC2dyaVByZW1pdW1zGAwgASgBEhoKEmJlZm9yZU9uZGVtYW5kQ29zdBgNIAEoARIZChFhZnRlck9uZGVtYW5kQ29zdBgOIAEoARIZChFpZkFsbE9uZGVtYW5kQ29zdBgPIAEoASLlAgoOU2VydmljZVN1bW1hcnkSCwoDa2V5GAEgASgJEgwKBG5hbWUYAiABKAkSEwoLc2VydmljZU5hbWUYAyABKAkSEAoIcHJvdmlkZXIYBCABKAkSFgoObnVtQ29tbWl0bWVudHMYBSABKAUSFwoPY3VycmVudENvdmVyYWdlGAYgASgBEhkKEXBvdGVudGlhbENvdmVyYWdlGAcgASgBEhUKDW1pbkNvbW1pdG1lbnQYCCABKAESGQoRbW9udGhseUNvbW1pdG1lbnQYCSABKAESEwoLdXBmcm9udENvc3QYCiABKAESEgoKbWluU2F2aW5ncxgLIAEoARISCgptYXhTYXZpbmdzGAwgASgBEhYKDm1vbnRobHlTYXZpbmdzGA0gASgBEhQKDG1pblRlcm1Ib3VycxgOIAEoBRIUCgxtYXhUZXJtSG91cnMYDyABKAUSEgoKZ3JpUHJlbWl1bRgQIAEoASLaAQoQQWdncmVnYXRlTWV0cmljcxIXCg9jdXJyZW50Q292ZXJhZ2UYASABKAESGQoRcG90ZW50aWFsQ292ZXJhZ2UYAiABKAESQQoJc3VtbWFyaWVzGAMgAygLMi4uYmx1ZWFwaS5nYy52MS5BZ2dyZWdhdGVNZXRyaWNzLlN1bW1hcmllc0VudHJ5Gk8KDlN1bW1hcmllc0VudHJ5EgsKA2tleRgBIAEoCRIsCgV2YWx1ZRgCIAEoCzIdLmJsdWVhcGkuZ2MudjEuU2VydmljZVN1bW1hcnk6AjgBItUKChNEZWZhdWx0UHVyY2hhc2VQbGFuEgoKAmlkGAEgASgJEgwKBG5hbWUYAiABKAkSEwoLZGVzY3JpcHRpb24YAyABKAkSDQoFb3JnSWQYBCABKAkSEQoJc2VnbWVudElkGAUgASgJEicKB3NlZ21lbnQYBiABKAsyFi5ibHVlYXBpLmdjLnYxLlNlZ21lbnQSDgoGc3RhdHVzGAcgASgJEhAKCHBsYW5UeXBlGAggASgJEhEKCWNyZWF0ZWRBdBgJIAEoCRIUCgxsYXN0TW9kaWZpZWQYCiABKAkSKQoJY3JlYXRlZEJ5GAsgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEi8KD2V4ZWN1dGlvblBvbGljeRgMIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRIRCglpc0RlZmF1bHQYDSABKAgSFQoNaXNSZWNvbW1lbmRlZBgOIAEoCBIRCglpc1JlbmV3YWwYDyABKAgSFQoNaXNDYWxjdWxhdGluZxgQIAEoCBIQCghpc0xvY2tlZBgRIAEoCBIPCgdpc1NhdmVkGBIgASgIEjoKFWluY2x1ZGVkQ29udHJhY3RTcGVjcxgTIAMoCzIbLmJsdWVhcGkuZ2MudjEuQ29udHJhY3RTcGVjEh0KFWluY2x1ZGVkQ29udHJhY3RUZXJtcxgUIAMoCRIPCgdtYXhUZXJtGBUgASgJEh4KFnByZWZlcnJlZFBheW1lbnRPcHRpb24YFiABKAkSFgoObWF4VXBmcm9udENvc3QYFyABKAESIgoabWluaW11bVVwZnJvbnRJbnRlcmVzdFJhdGUYGCABKAESPgoecmVjb21tZW5kV2l0aGluQ292ZXJlZEFjY291bnRzGBkgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEhEKCXN0YXJ0RGF0ZRgaIAEoCRIPCgdlbmREYXRlGBsgASgJEhIKCmRhdGFTb3VyY2UYHCABKAkSEgoKYmVmb3JlQ29zdBgdIAEoARIRCglhZnRlckNvc3QYHiABKAESGgoSYmVmb3JlT25kZW1hbmRDb3N0GB8gASgBEhoKEmJlZm9yZVJlc2VydmVkQ29zdBggIAEoARIbChNjb3ZlcmVkT25kZW1hbmRDb3N0GCEgASgBEhUKDWFtb3J0aXplZENvc3QYIiABKAESFQoNcmVjdXJyaW5nQ29zdBgjIAEoARITCgt1cGZyb250Q29zdBgkIAEoARIRCgl0b3RhbENvc3QYJSABKAESHgoWdG90YWxNb250aGx5QmVmb3JlQ29zdBgmIAEoARIPCgdzYXZpbmdzGCcgASgBEhYKDm1vbnRobHlTYXZpbmdzGCggASgBEhQKDHRvdGFsU2F2aW5ncxgpIAEoARILCgNmZWUYKiABKAESGgoSY29tbWl0bWVudENvdmVyYWdlGCsgASgBEh0KFW1pbmltdW1Db21taXRtZW50Q29zdBgsIAEoARIWCg5icmVha2V2ZW5Ib3VycxgtIAEoARI5ChBhZ2dyZWdhdGVNZXRyaWNzGC4gASgLMh8uYmx1ZWFwaS5nYy52MS5BZ2dyZWdhdGVNZXRyaWNzEi0KCXN1bW1hcmllcxgvIAMoCzIaLmJsdWVhcGkuZ2MudjEuUGxhblN1bW1hcnkSFgoOcmVzZXJ2YXRpb25JZHMYMCADKAkSEwoLcmVzb3VyY2VJZHMYMSADKAkSFgoOZmxhZ2dlZEFjdGlvbnMYMiADKAkSEgoKbWV0YVBsYW5JZBgzIAEoCRISCgpjb3ZlcmFnZUlkGDQgASgJIlcKIkxpc3RQdXJjaGFzZVBsYW5zQnlTZWdtZW50UmVzcG9uc2USMQoFcGxhbnMYASADKAsyIi5ibHVlYXBpLmdjLnYxLkRlZmF1bHRQdXJjaGFzZVBsYW4ihAIKE1JlZ2lzdGVyT3JnUmVzcG9uc2USCgoCaWQYASABKAkSDAoEbmFtZRgCIAEoCRIuCgttZW1iZXJzaGlwcxgDIAMoCzIZLmJsdWVhcGkuZ2MudjEuTWVtYmVyc2hpcBIOCgZkb21haW4YBCABKAkSLgoOcHJpbWFyeUFkZHJlc3MYBSABKAsyFi5ibHVlYXBpLmdjLnYxLkFkZHJlc3MSHwoXYXdzTWFya2V0cGxhY2VPZmZlckxpbmsYBiABKAkSIQoZYXp1cmVNYXJrZXRwbGFjZU9mZmVyTGluaxgHIAEoCRIfChdnY3BNYXJrZXRwbGFjZU9mZmVyTGluaxgIIAEoCSIyChpTdGFydEF3c09uYm9hcmRpbmdSZXNwb25zZRIUCgxvbmJvYXJkaW5nSWQYASABKAkiUQokR2V0QXdzQ2xvdWRGb3JtYXRpb25UZW1wbGF0ZVJlc3BvbnNlEikKCHRlbXBsYXRlGAEgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCIrChxHZXRBd3NMYXVuY2hTdGFja1VybFJlc3BvbnNlEgsKA3VybBgBIAEoCSKPBAobVmVyaWZ5QXdzT25ib2FyZGluZ1Jlc3BvbnNlElQKBmNoZWNrcxgBIAMoCzJELmJsdWVhcGkuZ2MudjEuVmVyaWZ5QXdzT25ib2FyZGluZ1Jlc3BvbnNlLkF3c09uYm9hcmRpbmdGZWF0dXJlQ2hlY2samQMKGUF3c09uYm9hcmRpbmdGZWF0dXJlQ2hlY2sSDwoHZmVhdHVyZRgBIAEoCRJvCgZzdGF0dXMYAiABKA4yXy5ibHVlYXBpLmdjLnYxLlZlcmlmeUF3c09uYm9hcmRpbmdSZXNwb25zZS5Bd3NPbmJvYXJkaW5nRmVhdHVyZUNoZWNrLkF3c09uYm9hcmRpbmdGZWF0dXJlU3RhdHVzIvkBChpBd3NPbmJvYXJkaW5nRmVhdHVyZVN0YXR1cxItCilBV1NfT05CT0FSRElOR19GRUFUVVJFX1NUQVRVU19VTlNQRUNJRklFRBAAEisKJ0FXU19PTkJPQVJESU5HX0ZFQVRVUkVfU1RBVFVTX0FWQUlMQUJMRRABEikKJUFXU19PTkJPQVJESU5HX0ZFQVRVUkVfU1RBVFVTX1dBUk5JTkcQAhIpCiVBV1NfT05CT0FSRElOR19GRUFUVVJFX1NUQVRVU19NSVNTSU5HEAMSKQolQVdTX09OQk9BUkRJTkdfRkVBVFVSRV9TVEFUVVNfVU5LTk9XThAEIpwFChtHZXRPbmJvYXJkaW5nU3RhdHVzUmVzcG9uc2USDQoFZm91bmQYASABKAgSDQoFaXNNc3AYAiABKAgSKQoIcHJvdmlkZXIYAyABKA4yFy5ibHVlYXBpLmdjLnYxLlByb3ZpZGVyEg8KB2djT3JnSWQYBCABKAkSFAoMb25ib2FyZGluZ0lkGAUgASgJElUKEG9uYm9hcmRpbmdTdGF0dXMYBiABKA4yOy5ibHVlYXBpLmdjLnYxLkdldE9uYm9hcmRpbmdTdGF0dXNSZXNwb25zZS5PbmJvYXJkaW5nU3RhdHVzEhEKCWFjY291bnRJZBgHIAEoCRIWCg5iaWxsaW5nR3JvdXBJZBgIIAEoCRIRCgljb21wYW55SWQYCSABKAkSYAoSdmVyaWZpY2F0aW9uQ2hlY2tzGAogAygLMkQuYmx1ZWFwaS5nYy52MS5WZXJpZnlBd3NPbmJvYXJkaW5nUmVzcG9uc2UuQXdzT25ib2FyZGluZ0ZlYXR1cmVDaGVjayKVAgoQT25ib2FyZGluZ1N0YXR1cxIhCh1PTkJPQVJESU5HX1NUQVRVU19VTlNQRUNJRklFRBAAEiQKIE9OQk9BUkRJTkdfU1RBVFVTX05PVF9SRUdJU1RFUkVEEAESIAocT05CT0FSRElOR19TVEFUVVNfUkVHSVNURVJFRBACEigKJE9OQk9BUkRJTkdfU1RBVFVTX09OQk9BUkRJTkdfU1RBUlRFRBADEh4KGk9OQk9BUkRJTkdfU1RBVFVTX1ZFUklGSUVEEAQSJwojT05CT0FSRElOR19TVEFUVVNfVkVSSUZZX0lOQ09NUExFVEUQBRIjCh9PTkJPQVJESU5HX1NUQVRVU19WRVJJRllfRkFJTEVEEAYikAQKGUxpc3RQYXllckFjY291bnRzUmVzcG9uc2USTAoNcGF5ZXJBY2NvdW50cxgBIAMoCzI1LmJsdWVhcGkuZ2MudjEuTGlzdFBheWVyQWNjb3VudHNSZXNwb25zZS5QYXllckFjY291bnQaowIKDFBheWVyQWNjb3VudBIRCglhY2NvdW50SWQYASABKAkSEwoLYWNjb3VudE5hbWUYAiABKAkSFgoOYmlsbGluZ0dyb3VwSWQYAyABKAkSEQoJc2VnbWVudElkGAQgASgJEksKBnN0YXR1cxgFIAEoDjI7LmJsdWVhcGkuZ2MudjEuTGlzdFBheWVyQWNjb3VudHNSZXNwb25zZS5QYXllckFjY291bnRTdGF0dXMSEQoJY29tcGFueUlkGAYgASgJEmAKEnZlcmlmaWNhdGlvbkNoZWNrcxgHIAMoCzJELmJsdWVhcGkuZ2MudjEuVmVyaWZ5QXdzT25ib2FyZGluZ1Jlc3BvbnNlLkF3c09uYm9hcmRpbmdGZWF0dXJlQ2hlY2sifwoSUGF5ZXJBY2NvdW50U3RhdHVzEiQKIFBBWUVSX0FDQ09VTlRfU1RBVFVTX1VOU1BFQ0lGSUVEEAASIAocUEFZRVJfQUNDT1VOVF9TVEFUVVNfRU5BQkxFRBABEiEKHVBBWUVSX0FDQ09VTlRfU1RBVFVTX0RJU0FCTEVEEAIibQoeU2V0UGF5ZXJBY2NvdW50RW5hYmxlZFJlc3BvbnNlEksKDHBheWVyQWNjb3VudBgBIAEoCzI1LmJsdWVhcGkuZ2MudjEuTGlzdFBheWVyQWNjb3VudHNSZXNwb25zZS5QYXllckFjY291bnQibAodR2V0UGF5ZXJBY2NvdW50U3RhdHVzUmVzcG9uc2USSwoMcGF5ZXJBY2NvdW50GAEgASgLMjUuYmx1ZWFwaS5nYy52MS5MaXN0UGF5ZXJBY2NvdW50c1Jlc3BvbnNlLlBheWVyQWNjb3VudCJTCh5MaXN0RHJhZnRQdXJjaGFzZVBsYW5zUmVzcG9uc2USMQoFcGxhbnMYASADKAsyIi5ibHVlYXBpLmdjLnYxLkRlZmF1bHRQdXJjaGFzZVBsYW4iQgofRGVsZXRlRHJhZnRQdXJjaGFzZVBsYW5SZXNwb25zZRIOCgZwbGFuSWQYASABKAkSDwoHc3VjY2VzcxgCIAEoCCpeCghQcm92aWRlchIYChRQUk9WSURFUl9VTlNQRUNJRklFRBAAEgcKA0FXUxABEgkKBUFaVVJFEAISBwoDR0NQEAMSDgoKS1VCRVJORVRFUxAEEgsKB1VOS05PV04QBSqYAQoQQ29tbWl0bWVudFN0YXR1cxIhCh1DT01NSVRNRU5UX1NUQVRVU19VTlNQRUNJRklFRBAAEgcKA05FVxABEgwKCFJFVklFV0VEEAISDQoJU0NIRURVTEVEEAMSDQoJQ09NUExFVEVEEAQSCQoFRFJBRlQQBRIQCgxORUVEU19SRVZJRVcQBhIPCgtJTl9QUk9HUkVTUxAHKooBChlDb21taXRtZW50SW52ZW50b3J5U3RhdHVzEisKJ0NPTU1JVE1FTlRfSU5WRU5UT1JZX1NUQVRVU19VTlNQRUNJRklFRBAAEgoKBkFDVElWRRABEgsKB1JFVElSRUQQAhITCg9QQVlNRU5UX1BFTkRJTkcQAxISCg5QQVlNRU5UX0ZBSUxFRBAEKkMKBVNjb3BlEhUKEVNDT1BFX1VOU1BFQ0lGSUVEEAASCgoGU0hBUkVEEAESDAoIUkVHSU9OQUwQAhIJCgVaT05BTBADKkEKCVVzYWdlVHlwZRIaChZVU0FHRV9UWVBFX1VOU1BFQ0lGSUVEEAASCwoHUlVOTklORxABEgsKB1NUT1BQRUQQAjKHIQoVR3VhcmFudGVlZENvbW1pdG1lbnRzEmMKCExpc3RPcmdzEh4uYmx1ZWFwaS5nYy52MS5MaXN0T3Jnc1JlcXVlc3QaEi5ibHVlYXBpLmdjLnYxLk9yZyIhgtPkkwIbOgEqIhYvdjEvb3JnYW5pemF0aW9uczpyZWFkMAESmAEKGUdldENvbW1pdG1lbnRzUGxhbkRldGFpbHMSLi5ibHVlYXBpLmdjLnYxLkdldENvbW1pdG1lbnRQbGFuRGV0YWlsc1JlcXVlc3QaJC5ibHVlYXBpLmdjLnYxLkNvbW1pdG1lbnRQbGFuRGV0YWlscyIlgtPkkwIfEh0vdjEvY29tbWl0bWVudHMvcGxhbi97cGxhbklkfRKXAQoUQ29tbWl0bWVudHNQbGFuQXBwbHkSKS5ibHVlYXBpLmdjLnYxLkNvbW1pdG1lbnRQbGFuQXBwbHlSZXF1ZXN0GiQuYmx1ZWFwaS5nYy52MS5Db21taXRtZW50UGxhbkRldGFpbHMiLoLT5JMCKDoBKiIjL3YxL2NvbW1pdG1lbnRzL3BsYW4ve3BsYW5JZH0vYXBwbHkSpwEKGkxpc3REZWZhdWx0Q29tbWl0bWVudHNQbGFuEjAuYmx1ZWFwaS5nYy52MS5MaXN0RGVmYXVsdENvbW1pdG1lbnRQbGFuc1JlcXVlc3QaMS5ibHVlYXBpLmdjLnYxLkxpc3REZWZhdWx0Q29tbWl0bWVudFBsYW5zUmVzcG9uc2UiJILT5JMCHhIcL3YxL2NvbW1pdG1lbnRzL3BsYW4vZGVmYXVsdBKjAQodR2V0UmVjb21tZW5kZWRDb21taXRtZW50c1BsYW4SMi5ibHVlYXBpLmdjLnYxLkdldFJlY29tbWVuZGVkQ29tbWl0bWVudFBsYW5SZXF1ZXN0GiQuYmx1ZWFwaS5nYy52MS5Db21taXRtZW50UGxhbkRldGFpbHMiKILT5JMCIhIgL3YxL2NvbW1pdG1lbnRzL3BsYW4vcmVjb21tZW5kZWQStgEKHExpc3RDb21taXRtZW50c1BsYW5MaW5lSXRlbXMSMS5ibHVlYXBpLmdjLnYxLkxpc3RDb21taXRtZW50UGxhbkxpbmVJdGVtc1JlcXVlc3QaMi5ibHVlYXBpLmdjLnYxLkxpc3RDb21taXRtZW50UGxhbkxpbmVJdGVtc1Jlc3BvbnNlIi+C0+STAikSJy92MS9jb21taXRtZW50cy9wbGFuL3twbGFuSWR9L2xpbmVpdGVtcxLOAQoiTGlzdENvbW1pdG1lbnRzUGxhblJlc291cmNlTWF0Y2hlcxI3LmJsdWVhcGkuZ2MudjEuTGlzdENvbW1pdG1lbnRQbGFuUmVzb3VyY2VNYXRjaGVzUmVxdWVzdBo4LmJsdWVhcGkuZ2MudjEuTGlzdENvbW1pdG1lbnRQbGFuUmVzb3VyY2VNYXRjaGVzUmVzcG9uc2UiNYLT5JMCLxItL3YxL2NvbW1pdG1lbnRzL3BsYW4ve3BsYW5JZH0vcmVzb3VyY2VtYXRjaGVzEnkKD0xpc3RDb21taXRtZW50cxIlLmJsdWVhcGkuZ2MudjEuTGlzdENvbW1pdG1lbnRzUmVxdWVzdBomLmJsdWVhcGkuZ2MudjEuTGlzdENvbW1pdG1lbnRzUmVzcG9uc2UiF4LT5JMCERIPL3YxL2NvbW1pdG1lbnRzEpcBChNHZXRDb21taXRtZW50c0NoYXJ0EikuYmx1ZWFwaS5nYy52MS5HZXRDb21taXRtZW50c0NoYXJ0UmVxdWVzdBonLmJsdWVhcGkuZ2MudjEuQ29tbWl0bWVudHNDaGFydFJlc3BvbnNlIiyC0+STAiYSJC92MS9jb21taXRtZW50cy97Y29tbWl0bWVudElkfS9jaGFydBKvAQoZR2V0Q29tbWl0bWVudHNVdGlsaXphdGlvbhIvLmJsdWVhcGkuZ2MudjEuR2V0Q29tbWl0bWVudHNVdGlsaXphdGlvblJlcXVlc3QaLS5ibHVlYXBpLmdjLnYxLkNvbW1pdG1lbnRzVXRpbGl6YXRpb25SZXNwb25zZSIygtPkkwIsEiovdjEvY29tbWl0bWVudHMve2NvbW1pdG1lbnRJZH0vdXRpbGl6YXRpb24SYwoKR2V0TWV0cmljcxIgLmJsdWVhcGkuZ2MudjEuR2V0TWV0cmljc1JlcXVlc3QaHi5ibHVlYXBpLmdjLnYxLk1ldHJpY3NSZXNwb25zZSITgtPkkwINEgsvdjEvbWV0cmljcxJxCg1MaXN0UmVzb3VyY2VzEiMuYmx1ZWFwaS5nYy52MS5MaXN0UmVzb3VyY2VzUmVxdWVzdBokLmJsdWVhcGkuZ2MudjEuTGlzdFJlc291cmNlc1Jlc3BvbnNlIhWC0+STAg8SDS92MS9yZXNvdXJjZXMSoQEKFUdldFJlc291cmNlRGFpbHlVc2FnZRIrLmJsdWVhcGkuZ2MudjEuR2V0UmVzb3VyY2VEYWlseVVzYWdlUmVxdWVzdBosLmJsdWVhcGkuZ2MudjEuR2V0UmVzb3VyY2VEYWlseVVzYWdlUmVzcG9uc2UiLYLT5JMCJxIlL3YxL3Jlc291cmNlcy97cmVzb3VyY2VJZH0vZGFpbHl1c2FnZRKnAQoaTGlzdFB1cmNoYXNlUGxhbnNCeVNlZ21lbnQSMC5ibHVlYXBpLmdjLnYxLkxpc3RQdXJjaGFzZVBsYW5zQnlTZWdtZW50UmVxdWVzdBoxLmJsdWVhcGkuZ2MudjEuTGlzdFB1cmNoYXNlUGxhbnNCeVNlZ21lbnRSZXNwb25zZSIkgtPkkwIeEhwvdjEvY29tbWl0bWVudHMvcHVyY2hhc2VwbGFuEqoBChpTYXZlQ29tbWl0bWVudHNQbGFuQXNEcmFmdBIwLmJsdWVhcGkuZ2MudjEuU2F2ZUNvbW1pdG1lbnRzUGxhbkFzRHJhZnRSZXF1ZXN0GiIuYmx1ZWFwaS5nYy52MS5EZWZhdWx0UHVyY2hhc2VQbGFuIjaC0+STAjA6ASoiKy92MS9jb21taXRtZW50cy9wdXJjaGFzZXBsYW4ve3BsYW5JZH0vZHJhZnQSoQEKFkxpc3REcmFmdFB1cmNoYXNlUGxhbnMSLC5ibHVlYXBpLmdjLnYxLkxpc3REcmFmdFB1cmNoYXNlUGxhbnNSZXF1ZXN0Gi0uYmx1ZWFwaS5nYy52MS5MaXN0RHJhZnRQdXJjaGFzZVBsYW5zUmVzcG9uc2UiKoLT5JMCJBIiL3YxL2NvbW1pdG1lbnRzL3B1cmNoYXNlcGxhbi9kcmFmdBKtAQoXRGVsZXRlRHJhZnRQdXJjaGFzZVBsYW4SLS5ibHVlYXBpLmdjLnYxLkRlbGV0ZURyYWZ0UHVyY2hhc2VQbGFuUmVxdWVzdBouLmJsdWVhcGkuZ2MudjEuRGVsZXRlRHJhZnRQdXJjaGFzZVBsYW5SZXNwb25zZSIzgtPkkwItKisvdjEvY29tbWl0bWVudHMvcHVyY2hhc2VwbGFuL3twbGFuSWR9L2RyYWZ0Em8KC1JlZ2lzdGVyT3JnEiEuYmx1ZWFwaS5nYy52MS5SZWdpc3Rlck9yZ1JlcXVlc3QaIi5ibHVlYXBpLmdjLnYxLlJlZ2lzdGVyT3JnUmVzcG9uc2UiGYLT5JMCEzoBKiIOL3YxL29uYm9hcmRpbmcSjgEKElN0YXJ0QXdzT25ib2FyZGluZxIoLmJsdWVhcGkuZ2MudjEuU3RhcnRBd3NPbmJvYXJkaW5nUmVxdWVzdBopLmJsdWVhcGkuZ2MudjEuU3RhcnRBd3NPbmJvYXJkaW5nUmVzcG9uc2UiI4LT5JMCHToBKiIYL3YxL29uYm9hcmRpbmcvYXdzL3N0YXJ0ErsBChxHZXRBd3NDbG91ZEZvcm1hdGlvblRlbXBsYXRlEjIuYmx1ZWFwaS5nYy52MS5HZXRBd3NDbG91ZEZvcm1hdGlvblRlbXBsYXRlUmVxdWVzdBozLmJsdWVhcGkuZ2MudjEuR2V0QXdzQ2xvdWRGb3JtYXRpb25UZW1wbGF0ZVJlc3BvbnNlIjKC0+STAiwSKi92MS9vbmJvYXJkaW5nL2F3cy9jbG91ZGZvcm1hdGlvbi90ZW1wbGF0ZRKpAQoUR2V0QXdzTGF1bmNoU3RhY2tVcmwSKi5ibHVlYXBpLmdjLnYxLkdldEF3c0xhdW5jaFN0YWNrVXJsUmVxdWVzdBorLmJsdWVhcGkuZ2MudjEuR2V0QXdzTGF1bmNoU3RhY2tVcmxSZXNwb25zZSI4gtPkkwIyEjAvdjEvb25ib2FyZGluZy9hd3MvY2xvdWRmb3JtYXRpb24vbGF1bmNoc3RhY2t1cmwSkgEKE1ZlcmlmeUF3c09uYm9hcmRpbmcSKS5ibHVlYXBpLmdjLnYxLlZlcmlmeUF3c09uYm9hcmRpbmdSZXF1ZXN0GiouYmx1ZWFwaS5nYy52MS5WZXJpZnlBd3NPbmJvYXJkaW5nUmVzcG9uc2UiJILT5JMCHjoBKiIZL3YxL29uYm9hcmRpbmcvYXdzL3ZlcmlmeRKTAQoTR2V0T25ib2FyZGluZ1N0YXR1cxIpLmJsdWVhcGkuZ2MudjEuR2V0T25ib2FyZGluZ1N0YXR1c1JlcXVlc3QaKi5ibHVlYXBpLmdjLnYxLkdldE9uYm9hcmRpbmdTdGF0dXNSZXNwb25zZSIlgtPkkwIfOgEqIhovdjEvb25ib2FyZGluZy9zdGF0dXM6cmVhZBKIAQoRTGlzdFBheWVyQWNjb3VudHMSJy5ibHVlYXBpLmdjLnYxLkxpc3RQYXllckFjY291bnRzUmVxdWVzdBooLmJsdWVhcGkuZ2MudjEuTGlzdFBheWVyQWNjb3VudHNSZXNwb25zZSIggtPkkwIaEhgvdjEvbWFuYWdlbWVudHMvYWNjb3VudHMSpgEKFlNldFBheWVyQWNjb3VudEVuYWJsZWQSLC5ibHVlYXBpLmdjLnYxLlNldFBheWVyQWNjb3VudEVuYWJsZWRSZXF1ZXN0Gi0uYmx1ZWFwaS5nYy52MS5TZXRQYXllckFjY291bnRFbmFibGVkUmVzcG9uc2UiL4LT5JMCKToBKiIkL3YxL21hbmFnZW1lbnRzL2FjY291bnRzL3tjb21wYW55SWR9EpsBChVHZXRQYXllckFjY291bnRTdGF0dXMSKy5ibHVlYXBpLmdjLnYxLkdldFBheWVyQWNjb3VudFN0YXR1c1JlcXVlc3QaLC5ibHVlYXBpLmdjLnYxLkdldFBheWVyQWNjb3VudFN0YXR1c1Jlc3BvbnNlIieC0+STAiESHy92MS9tYW5hZ2VtZW50cy9hY2NvdW50cy9zdGF0dXMaogGSQZ4BElAoQWxwaGEpIEd1YXJhbnRlZWRDb21taXRtZW50cyBBUEkuIEJhc2UgVVJMOiBodHRwczovL2FwaS5hbHBoYXVzLmNsb3VkL20vYmx1ZS9nYxpKChJTZXJ2aWNlIGRlZmluaXRpb24SNGh0dHBzOi8vZ2l0aHViLmNvbS9hbHBoYXVzbGFicy9ibHVlYXBpL3RyZWUvbWFpbi9nYy9CVQoUY2xvdWQuYWxwaGF1cy5hcGkuZ2NCGkd1YXJhbnRlZWRDb21taXRtZW50c1Byb3RvWiFnaXRodWIuY29tL2FscGhhdXNsYWJzL2JsdWVhcGkvZ2NiBnByb3RvMw", [file_google_api_annotations, file_google_protobuf_struct, file_protoc_gen_openapiv2_options_annotations]);
17
+ fileDesc("Cg5nYy92MS9nYy5wcm90bxINYmx1ZWFwaS5nYy52MSIRCg9MaXN0T3Jnc1JlcXVlc3QiMQofR2V0Q29tbWl0bWVudFBsYW5EZXRhaWxzUmVxdWVzdBIOCgZwbGFuSWQYASABKAkiLAoaQ29tbWl0bWVudFBsYW5BcHBseVJlcXVlc3QSDgoGcGxhbklkGAEgASgJIk4KIUxpc3REZWZhdWx0Q29tbWl0bWVudFBsYW5zUmVxdWVzdBIpCghwcm92aWRlchgBIAEoDjIXLmJsdWVhcGkuZ2MudjEuUHJvdmlkZXIiUAojR2V0UmVjb21tZW5kZWRDb21taXRtZW50UGxhblJlcXVlc3QSKQoIcHJvdmlkZXIYASABKA4yFy5ibHVlYXBpLmdjLnYxLlByb3ZpZGVyIqABCiJMaXN0Q29tbWl0bWVudFBsYW5MaW5lSXRlbXNSZXF1ZXN0Eg4KBnBsYW5JZBgBIAEoCRIPCgdvcmRlckJ5GAIgASgJEgwKBGRlc2MYAyABKAgSEQoJc2VnbWVudElkGAQgASgJEhgKEHJlc291cmNlTWF0Y2hJZHMYBSADKAkSDAoEcGFnZRgGIAEoBRIQCghwYWdlU2l6ZRgHIAEoBSKyAQooTGlzdENvbW1pdG1lbnRQbGFuUmVzb3VyY2VNYXRjaGVzUmVxdWVzdBIOCgZwbGFuSWQYASABKAkSDwoHb3JkZXJCeRgCIAEoCRIMCgRkZXNjGAMgASgIEhEKCXN0YXJ0RGF0ZRgEIAEoCRIPCgdlbmREYXRlGAUgASgJEhMKC2xpbmVJdGVtSWRzGAYgAygJEgwKBHBhZ2UYByABKAUSEAoIcGFnZVNpemUYCCABKAUiGAoWTGlzdENvbW1pdG1lbnRzUmVxdWVzdCJnChpHZXRDb21taXRtZW50c0NoYXJ0UmVxdWVzdBIUCgxjb21taXRtZW50SWQYASABKAkSDwoHZ3JvdXBCeRgCIAEoCRIRCglzdGFydERhdGUYAyABKAkSDwoHZW5kRGF0ZRgEIAEoCSI4CiBHZXRDb21taXRtZW50c1V0aWxpemF0aW9uUmVxdWVzdBIUCgxjb21taXRtZW50SWQYASABKAkiPgoRR2V0TWV0cmljc1JlcXVlc3QSKQoIcHJvdmlkZXIYASABKA4yFy5ibHVlYXBpLmdjLnYxLlByb3ZpZGVyIqMBChRMaXN0UmVzb3VyY2VzUmVxdWVzdBIpCghwcm92aWRlchgBIAEoDjIXLmJsdWVhcGkuZ2MudjEuUHJvdmlkZXISEQoJc2VnbWVudElkGAIgASgJEg4KBnNlYXJjaBgDIAEoCRIMCgRkZXNjGAQgASgIEg8KB29yZGVyQnkYBSABKAkSDAoEcGFnZRgGIAEoBRIQCghwYWdlU2l6ZRgHIAEoBSKMAQocR2V0UmVzb3VyY2VEYWlseVVzYWdlUmVxdWVzdBISCgpyZXNvdXJjZUlkGAEgASgJEhEKCXN0YXJ0RGF0ZRgCIAEoCRIPCgdlbmREYXRlGAMgASgJEhQKDGNhdGFsb2dTa3VJZBgEIAEoCRIMCgRwYWdlGAUgASgFEhAKCHBhZ2VTaXplGAYgASgFIkAKE0xpc3RTZWdtZW50c1JlcXVlc3QSKQoIcHJvdmlkZXIYASABKA4yFy5ibHVlYXBpLmdjLnYxLlByb3ZpZGVyIi0KGEdldFNlZ21lbnREZXRhaWxzUmVxdWVzdBIRCglzZWdtZW50SWQYASABKAkiIwohTGlzdFB1cmNoYXNlUGxhbnNCeVNlZ21lbnRSZXF1ZXN0IiYKB09yZ1VzZXISDQoFZW1haWwYASABKAkSDAoEcm9sZRgCIAEoCSIsCgpNZW1iZXJzaGlwEgwKBHJvbGUYASABKAkSEAoIdXNlcm5hbWUYAiABKAkiYgoHQWRkcmVzcxINCgVsaW5lMRgBIAEoCRIMCgRjaXR5GAIgASgJEg0KBXN0YXRlGAMgASgJEgsKA3ppcBgEIAEoCRIPCgdjb3VudHJ5GAUgASgJEg0KBWxpbmUyGAYgASgJIlQKDkF3c0V4aXN0aW5nQ3VyEg4KBnJlZ2lvbhgBIAEoCRIOCgZidWNrZXQYAiABKAkSDgoGcHJlZml4GAMgASgJEhIKCnJlcG9ydE5hbWUYBCABKAkirQIKElJlZ2lzdGVyT3JnUmVxdWVzdBINCgVtc3BJZBgBIAEoCRIRCgliaWxsaW5nSWQYAiABKAkSDAoEbmFtZRgDIAEoCRIbChNsYWJyYVN1YnNjcmlwdGlvbklkGAQgASgJEiUKBXVzZXJzGAUgAygLMhYuYmx1ZWFwaS5nYy52MS5PcmdVc2VyEg4KBmRvbWFpbhgGIAEoCRIuCg5wcmltYXJ5QWRkcmVzcxgHIAEoCzIWLmJsdWVhcGkuZ2MudjEuQWRkcmVzcxIfChdhd3NNYXJrZXRwbGFjZU9mZmVyTGluaxgIIAEoCRIhChlhenVyZU1hcmtldHBsYWNlT2ZmZXJMaW5rGAkgASgJEh8KF2djcE1hcmtldHBsYWNlT2ZmZXJMaW5rGAogASgJIlcKGVN0YXJ0QXdzT25ib2FyZGluZ1JlcXVlc3QSFgoOYmlsbGluZ0dyb3VwSWQYASABKAkSEQoJY29tcGFueUlkGAIgASgJEg8KB2djT3JnSWQYAyABKAkiYQojR2V0QXdzQ2xvdWRGb3JtYXRpb25UZW1wbGF0ZVJlcXVlc3QSFgoOYmlsbGluZ0dyb3VwSWQYASABKAkSEQoJY29tcGFueUlkGAIgASgJEg8KB2djT3JnSWQYAyABKAkiWQobR2V0QXdzTGF1bmNoU3RhY2tVcmxSZXF1ZXN0EhYKDmJpbGxpbmdHcm91cElkGAEgASgJEhEKCWNvbXBhbnlJZBgCIAEoCRIPCgdnY09yZ0lkGAMgASgJIrUBChpWZXJpZnlBd3NPbmJvYXJkaW5nUmVxdWVzdBIWCg5iaWxsaW5nR3JvdXBJZBgBIAEoCRIRCgljb21wYW55SWQYAiABKAkSDwoHZ2NPcmdJZBgDIAEoCRIUCgxvbmJvYXJkaW5nSWQYBCABKAkSEQoJYWNjb3VudElkGAUgASgJEjIKC2V4aXN0aW5nQ3VyGAYgASgLMh0uYmx1ZWFwaS5nYy52MS5Bd3NFeGlzdGluZ0N1ciJHChpHZXRPbmJvYXJkaW5nU3RhdHVzUmVxdWVzdBIWCg5iaWxsaW5nR3JvdXBJZBgBIAEoCRIRCgljb21wYW55SWQYAiABKAkiGgoYTGlzdFBheWVyQWNjb3VudHNSZXF1ZXN0IkMKHVNldFBheWVyQWNjb3VudEVuYWJsZWRSZXF1ZXN0EhEKCWNvbXBhbnlJZBgBIAEoCRIPCgdlbmFibGVkGAIgASgIIh4KHEdldFBheWVyQWNjb3VudFN0YXR1c1JlcXVlc3QiMAobVmFsaWRhdGVCaWxsaW5nR3JvdXBSZXF1ZXN0EhEKCWNvbXBhbnlJZBgBIAEoCSLCBwohU2F2ZUNvbW1pdG1lbnRzUGxhbkFzRHJhZnRSZXF1ZXN0Eg4KBnBsYW5JZBgBIAEoCRIWCg5yZXNlcnZhdGlvbklkcxgCIAMoCRITCgtyZXNvdXJjZUlkcxgDIAMoCRIWCg5tYXhVcGZyb250Q29zdBgEIAEoARIpCghwcm92aWRlchgFIAEoDjIXLmJsdWVhcGkuZ2MudjEuUHJvdmlkZXISDwoHZW5kRGF0ZRgGIAEoCRIRCglzdGFydERhdGUYByABKAkSEQoJc2VnbWVudElkGAggASgJEg4KBnN0YXR1cxgJIAEoCRITCgtkZXNjcmlwdGlvbhgKIAEoCRIMCgRuYW1lGAsgASgJEh4KFnByZWZlcnJlZFBheW1lbnRPcHRpb24YDCABKAkSHQoVaW5jbHVkZWRDb250cmFjdFRlcm1zGA0gAygJEjoKFWluY2x1ZGVkQ29udHJhY3RTcGVjcxgOIAMoCzIbLmJsdWVhcGkuZ2MudjEuQ29udHJhY3RTcGVjEioKCmNvdmVyYWdlSWQYDyABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSEQoJY3JlYXRlZEF0GBAgASgJEikKCWNyZWF0ZWRCeRgRIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRISCgpkYXRhU291cmNlGBIgASgJEi8KD2V4ZWN1dGlvblBvbGljeRgTIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRIWCg5mbGFnZ2VkQWN0aW9ucxgUIAMoCRIKCgJpZBgVIAEoCRIVCg1pc0NhbGN1bGF0aW5nGBYgASgIEhEKCWlzRGVmYXVsdBgXIAEoCBIQCghpc0xvY2tlZBgYIAEoCBIVCg1pc1JlY29tbWVuZGVkGBkgASgIEhEKCWlzUmVuZXdhbBgaIAEoCBIPCgdpc1NhdmVkGBsgASgIEhQKDGxhc3RNb2RpZmllZBgcIAEoCRISCgptZXRhUGxhbklkGB0gASgJEjoKGm1pbmltdW1VcGZyb250SW50ZXJlc3RSYXRlGB4gASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEg0KBW9yZ0lkGB8gASgJEhAKCHBsYW5UeXBlGCAgASgJEj4KHnJlY29tbWVuZFdpdGhpbkNvdmVyZWRBY2NvdW50cxghIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRInCgdzZWdtZW50GCIgASgLMhYuYmx1ZWFwaS5nYy52MS5TZWdtZW50Ih8KHUxpc3REcmFmdFB1cmNoYXNlUGxhbnNSZXF1ZXN0IjAKHkRlbGV0ZURyYWZ0UHVyY2hhc2VQbGFuUmVxdWVzdBIOCgZwbGFuSWQYASABKAkiMQoDT3JnEg0KBW9yZ0lkGAEgASgJEgwKBG5hbWUYAiABKAkSDQoFZW1haWwYAyABKAki8wQKFUNvbW1pdG1lbnRQbGFuRGV0YWlscxIKCgJpZBgBIAEoCRIMCgRuYW1lGAIgASgJEhMKC2Rlc2NyaXB0aW9uGAMgASgJEg0KBW9yZ0lkGAQgASgJEhEKCWNyZWF0ZWRBdBgFIAEoCRIVCg1pc0NhbGN1bGF0aW5nGAYgASgIEg4KBnN0YXR1cxgHIAEoCRIPCgdtYXhUZXJtGAggASgJEiEKGWNvdmVyZWRPbmRlbWFuZENvc3RIb3VybHkYCSABKAESIAoYYmVmb3JlT25kZW1hbmRDb3N0SG91cmx5GAogASgBEiAKGGJlZm9yZVJlc2VydmVkQ29zdEhvdXJseRgLIAEoARIbChNhbW9ydGl6ZWRDb3N0SG91cmx5GAwgASgBEhsKE3JlY3VycmluZ0Nvc3RIb3VybHkYDSABKAESGQoRdXBmcm9udENvc3RIb3VybHkYDiABKAESGAoQYmVmb3JlQ29zdEhvdXJseRgPIAEoARIXCg9hZnRlckNvc3RIb3VybHkYECABKAESFwoPdG90YWxDb3N0SG91cmx5GBEgASgBEhUKDXNhdmluZ3NIb3VybHkYEiABKAESEQoJZmVlSG91cmx5GBMgASgBEhoKEmNvbW1pdG1lbnRDb3ZlcmFnZRgUIAEoARIdChVtaW5pbXVtQ29tbWl0bWVudENvc3QYFSABKAESFgoOYnJlYWtldmVuSG91cnMYFiABKAESFAoMdG90YWxTYXZpbmdzGBcgASgBEhYKDm1vbnRobHlTYXZpbmdzGBggASgBEh4KFnRvdGFsTW9udGhseUJlZm9yZUNvc3QYGSABKAEiWQoiTGlzdERlZmF1bHRDb21taXRtZW50UGxhbnNSZXNwb25zZRIzCgVwbGFucxgBIAMoCzIkLmJsdWVhcGkuZ2MudjEuQ29tbWl0bWVudFBsYW5EZXRhaWxzIukFChZDb21taXRtZW50UGxhbkxpbmVJdGVtEgoKAmlkGAEgASgJEg4KBnBsYW5JZBgCIAEoCRIPCgdvZmZlcklkGAMgASgJEhcKD2xlYXNlTWVudUl0ZW1JZBgEIAEoCRIRCglhY2NvdW50SWQYBSABKAkSGwoTcmVjb21tZW5kZWRRdWFudGl0eRgGIAEoARIYChBzZWxlY3RlZFF1YW50aXR5GAcgASgBEh0KFXJlY29tbWVuZGVkQ29tbWl0bWVudBgIIAEoARIaChJzZWxlY3RlZENvbW1pdG1lbnQYCSABKAESEgoKaXNTZWxlY3RlZBgKIAEoCBIaChJhZnRlckFtb3J0aXplZENvc3QYCyABKAESEwoLdXBmcm9udENvc3QYDCABKAESFQoNcmVjdXJyaW5nQ29zdBgNIAEoARISCgpiZWZvcmVDb3N0GA4gASgBEhoKEmJlZm9yZU9uZGVtYW5kQ29zdBgPIAEoARIaChJiZWZvcmVSZXNlcnZlZENvc3QYECABKAESGwoTY292ZXJlZE9uZGVtYW5kQ29zdBgRIAEoARIZChFhZnRlckNvdmVyZWRVbml0cxgSIAEoARIRCgl0b3RhbENvc3QYEyABKAESEwoLbW9udGhseUNvc3QYFCABKAESDwoHc2F2aW5ncxgVIAEoARIWCg5tb250aGx5U2F2aW5ncxgWIAEoARIUCgx0b3RhbFNhdmluZ3MYFyABKAESCwoDZmVlGBggASgBEhQKDGRpc2NvdW50UmF0ZRgZIAEoARIWCg5icmVha2V2ZW5Ib3VycxgaIAEoARIUCgxjb250cmFjdFRlcm0YGyABKAkSFQoNcGF5bWVudE9wdGlvbhgcIAEoCRItCgxjb250cmFjdFNwZWMYHSABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EiYKBW9mZmVyGB4gASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCJfCiNMaXN0Q29tbWl0bWVudFBsYW5MaW5lSXRlbXNSZXNwb25zZRI4CglsaW5lSXRlbXMYASADKAsyJS5ibHVlYXBpLmdjLnYxLkNvbW1pdG1lbnRQbGFuTGluZUl0ZW0i9wQKG0NvbW1pdG1lbnRQbGFuUmVzb3VyY2VNYXRjaBIKCgJpZBgBIAEoCRISCgp0b3RhbFVuaXRzGAIgASgBEhwKFGJlZm9yZVVuY292ZXJlZFVuaXRzGAMgASgBEhkKEWFmdGVyQ292ZXJlZFVuaXRzGAQgASgBEhsKE2FmdGVyVW5jb3ZlcmVkVW5pdHMYBSABKAESFQoNb25kZW1hbmRQcmljZRgGIAEoARIZChFpZkFsbE9uZGVtYW5kQ29zdBgHIAEoARIaChJiZWZvcmVPbmRlbWFuZENvc3QYCCABKAESGQoRYWZ0ZXJPbmRlbWFuZENvc3QYCSABKAESGwoTY292ZXJlZE9uZGVtYW5kQ29zdBgKIAEoARIaChJiZWZvcmVSZXNlcnZlZENvc3QYCyABKAESGQoRYWZ0ZXJSZXNlcnZlZENvc3QYDCABKAESEgoKYmVmb3JlQ29zdBgNIAEoARIRCglhZnRlckNvc3QYDiABKAESGQoRbW9udGhseUJlZm9yZUNvc3QYDyABKAESGAoQbW9udGhseUFmdGVyQ29zdBgQIAEoARIgChhtb250aGx5QWZ0ZXJSZXNlcnZlZENvc3QYESABKAESIAoYbW9udGhseUFmdGVyT25kZW1hbmRDb3N0GBIgASgBEhYKDmF2ZXJhZ2VTYXZpbmdzGBMgASgBEh0KFWF2ZXJhZ2VNb250aGx5U2F2aW5ncxgUIAEoARIRCgl1c2FnZVR5cGUYFSABKAkSEAoIY292ZXJhZ2UYFiABKAESKQoIcmVzb3VyY2UYFyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0InAKKUxpc3RDb21taXRtZW50UGxhblJlc291cmNlTWF0Y2hlc1Jlc3BvbnNlEkMKD3Jlc291cmNlTWF0Y2hlcxgBIAMoCzIqLmJsdWVhcGkuZ2MudjEuQ29tbWl0bWVudFBsYW5SZXNvdXJjZU1hdGNoIu4BCgVMZWFzZRIKCgJpZBgBIAEoCRINCgVvcmdJZBgCIAEoCRIdChVwcm92aWRlclJlc2VydmF0aW9uSWQYAyABKAkSEQoJYWNjb3VudElkGAQgASgJEg4KBnN0YXR1cxgFIAEoCRIRCglzdGFydERhdGUYBiABKAkSDwoHZW5kRGF0ZRgHIAEoCRISCgpsb2NraW5EYXRlGAggASgJEhMKC3VwZnJvbnRDb3N0GAkgASgBEhUKDXJlY3VycmluZ0Nvc3QYCiABKAESEQoJY3JlYXRlZEF0GAsgASgJEhEKCXVwZGF0ZWRBdBgMIAEoCSJJChBEYWlseVV0aWxpemF0aW9uEgwKBGRhdGUYASABKAkSEwoLdXRpbGl6YXRpb24YAiABKAESEgoKbmV0U2F2aW5ncxgDIAEoASLQBwoKQ29tbWl0bWVudBIKCgJpZBgBIAEoCRIRCglhY2NvdW50SWQYAiABKAkSFQoNYW1vcnRpemVkQ29zdBgDIAEoARIYChBiaWxsaW5nQWNjb3VudElkGAQgASgJEhEKCWNhblJlYmF0ZRgFIAEoCBIUCgxjb250cmFjdFRlcm0YBiABKAkSEwoLZGlzcGxheU5hbWUYByABKAkSFwoPZHVyYXRpb25TZWNvbmRzGAggASgBEh4KFmVmZmVjdGl2ZUluc3RhbmNlQ291bnQYCSABKAMSDwoHZW5kRGF0ZRgKIAEoCRIVCg1pbnN0YW5jZUNvdW50GAsgASgDEhYKDmluc3RhbmNlRmFtaWx5GAwgASgJEhQKDGluc3RhbmNlVHlwZRgNIAEoCRIQCghpc0FjdGl2ZRgOIAEoCBISCgppc0ZsZXhpYmxlGA8gASgIEhAKCGlzTGVhc2VkGBAgASgIEhEKCWlzTXVsdGlBehgRIAEoCBIXCg9sZWFzZUxvY2tpbkRhdGUYEiABKAkSEgoKbGVhc2VTdGFydBgTIAEoCRIZChFsZWFzZWREaXNwbGF5TmFtZRgUIAEoCRITCgttb250aGx5Q29zdBgVIAEoARIWCg5tb250aGx5U2F2aW5ncxgWIAEoARIMCgRuYW1lGBcgASgJEhIKCm5ldFNhdmluZ3MYGCABKAESEgoKb2ZmZXJpbmdJZBgZIAEoCRIVCg1wYXltZW50T3B0aW9uGBogASgJEhgKEHBvdGVudGlhbFNhdmluZ3MYGyABKAESGgoScHJvZHVjdERlc2NyaXB0aW9uGBwgASgJEhAKCHByb3ZpZGVyGB0gASgJEh4KFnByb3ZpZGVyUmVzZXJ2YXRpb25faWQYHiABKAkSFQoNcmVjdXJyaW5nQ29zdBgfIAEoARIOCgZyZWdpb24YICABKAkSEwoLcmVuZXdhbFBsYW4YISABKAkSFgoOcmVzZXJ2YXRpb25FbmQYIiABKAkSGAoQcmVzZXJ2YXRpb25TdGFydBgjIAEoCRIUCgxydW5uaW5nSG91cnMYJCABKAESDwoHc2F2aW5ncxglIAEoARIRCglzdGFydERhdGUYJiABKAkSDgoGc3RhdHVzGCcgASgJEh4KFnRyYW5zZmVyUmVzZXJ2YXRpb25FbmQYKCABKAkSIAoYdHJhbnNmZXJSZXNlcnZhdGlvblN0YXJ0GCkgASgJEgwKBHR5cGUYKiABKAkSEwoLdXBmcm9udENvc3QYKyABKAESEwoLdXRpbGl6YXRpb24YLCABKAEiSQoXTGlzdENvbW1pdG1lbnRzUmVzcG9uc2USLgoLY29tbWl0bWVudHMYASADKAsyGS5ibHVlYXBpLmdjLnYxLkNvbW1pdG1lbnQiSgoUQ29tbWl0bWVudHNDaGFydERhdGESDAoEZGF0ZRgBIAEoCRIQCghjaGFydEtleRgCIAEoCRISCgpjaGFydFZhbHVlGAMgASgBIk0KGENvbW1pdG1lbnRzQ2hhcnRSZXNwb25zZRIxCgRkYXRhGAEgAygLMiMuYmx1ZWFwaS5nYy52MS5Db21taXRtZW50c0NoYXJ0RGF0YSL8AQoaQ29tbWl0bWVudHNVdGlsaXphdGlvbkRhdGESFwoPdXRpbGl6YXRpb25EYXRlGAEgASgJEgwKBGNvc3QYAiABKAESEwoLY292ZXJlZENvc3QYAyABKAESDwoHZ3JpRmVlcxgEIAEoARISCgpuZXRTYXZpbmdzGAUgASgBEhgKEHBvdGVudGlhbFNhdmluZ3MYBiABKAESHgoWcmVzZXJ2YXRpb25VdGlsaXphdGlvbhgHIAEoARIUCgxydW5uaW5nSG91cnMYCCABKAESDwoHc2F2aW5ncxgJIAEoARIcChR1bnV0aWxpemVkQ29tbWl0bWVudBgKIAEoASJZCh5Db21taXRtZW50c1V0aWxpemF0aW9uUmVzcG9uc2USNwoEZGF0YRgBIAMoCzIpLmJsdWVhcGkuZ2MudjEuQ29tbWl0bWVudHNVdGlsaXphdGlvbkRhdGEizQMKD01ldHJpY3NSZXNwb25zZRIXCg9saWZldGltZVNhdmluZ3MYASABKAESEgoKbXRkU2F2aW5ncxgCIAEoARIhChlwdXJjaGFzZUF1dG9tYXRpb25FbmFibGVkGAMgASgIEiAKGGJ1eWJhY2tBdXRvbWF0aW9uRW5hYmxlZBgEIAEoCBIXCg9oYXNBY3Rpb25lZFBsYW4YBSABKAgSGQoRaGFzUGVuZGluZ0FjdGlvbnMYBiABKAgSGwoTbGF0ZXN0RXhlY3V0aW9uRGF0ZRgHIAEoCRIdChVwdXJjaGFzZU1pc3NlZFNhdmluZ3MYCCABKAESHAoUYnV5YmFja01pc3NlZFNhdmluZ3MYCSABKAESHwoXdG90YWxEYWlseU1pc3NlZFNhdmluZ3MYCiABKAESGwoTaG91cmx5TWlzc2VkU2F2aW5ncxgLIAEoARIeChZtaXNzZWRTYXZpbmdzU3RhcnREYXRlGAwgASgJEhwKFG1pc3NlZFNhdmluZ3NFbmREYXRlGA0gASgJEhcKD2V4cGlyaW5nU2F2aW5ncxgOIAEoARIQCghjb3ZlcmFnZRgPIAEoARITCgt1dGlsaXphdGlvbhgQIAEoASKICAoIUmVzb3VyY2USCgoCaWQYASABKAkSEgoKcmVzb3VyY2VJZBgCIAEoCRIpCghwcm92aWRlchgDIAEoDjIXLmJsdWVhcGkuZ2MudjEuUHJvdmlkZXISGgoScHJvdmlkZXJSZXNvdXJjZUlkGAQgASgJEg4KBmlzU3BvdBgFIAEoCBIMCgRuYW1lGAYgASgJEhUKDXJlc291cmNlR3JvdXAYByABKAkSEAoIdXNhZ2VFbmQYCCABKAkSEgoKdXNhZ2VTdGFydBgJIAEoCRIlCgR0YWdzGAogASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIRCgljcmVhdGVkQXQYCyABKAkSEQoJdXBkYXRlZEF0GAwgASgJEhIKCmluc3RhbmNlSWQYDSABKAkSGAoQYmlsbGluZ0FjY291bnRJZBgOIAEoCRIUCgxzdWJBY2NvdW50SWQYDyABKAkSGwoTbWFuYWdlbWVudEFjY291bnRJZBgQIAEoCRIWCg5vd25lckFjY291bnRJZBgRIAEoCRIQCghza3VUaXRsZRgSIAEoCRIPCgdza3VOYW1lGBMgASgJEhgKEGF2YWlsYWJpbGl0eVpvbmUYFCABKAkSEwoLY2FjaGVFbmdpbmUYFSABKAkSFgoOZGF0YWJhc2VFbmdpbmUYFiABKAkSEwoLZGVzY3JpcHRpb24YFyABKAkSDgoGZmFtaWx5GBggASgJEhYKDmZ1bGxSZWdpb25OYW1lGBkgASgJEhgKEGhhc09uZGVtYW5kVGVybXMYGiABKAgSFAoMaW5zdGFuY2VUeXBlGBsgASgJEhoKEmluc3RhbmNlVHlwZUZhbWlseRgcIAEoCRIUCgxpc1Jlc2VydmFibGUYHSABKAgSFAoMbGljZW5zZU1vZGVsGB4gASgJEhQKDGxvY2F0aW9uVHlwZRgfIAEoCRIfChdub3JtYWxpemF0aW9uU2l6ZUZhY3RvchggIAEoCRIXCg9vcGVyYXRpbmdTeXN0ZW0YISABKAkSFgoOcHJlSW5zdGFsbGVkU3cYIiABKAkSFQoNcHJpY2VDdXJyZW5jeRgjIAEoCRIXCg9wcm92aWRlclNlcnZpY2UYJCABKAkSFQoNcHJvdmlkZXJTa3VJZBglIAEoCRIXCg9wdWJsaWNhdGlvbkRhdGUYJiABKAkSDgoGcmVnaW9uGCcgASgJEg8KB3NlcnZpY2UYKCABKAkSDwoHdGVuYW5jeRgpIAEoCRIRCgl1c2FnZVR5cGUYKiABKAkSDwoHdmVyc2lvbhgrIAEoCRIcChR2cGNOZXR3b3JraW5nU3VwcG9ydBgsIAEoCBIZChFvbmRlbWFuZFVzYWdlVW5pdBgtIAEoCSJDChVMaXN0UmVzb3VyY2VzUmVzcG9uc2USKgoJcmVzb3VyY2VzGAEgAygLMhcuYmx1ZWFwaS5nYy52MS5SZXNvdXJjZSLUAgoSUmVzb3VyY2VEYWlseVVzYWdlEgwKBGRhdGUYASABKAkSFgoOdXNhZ2VBY2NvdW50SWQYAiABKAkSFAoMc3ViQWNjb3VudElkGAMgASgJEg0KBXVzYWdlGAQgASgBEhgKEHJlc2VydmF0aW9uVXNhZ2UYBSABKAESFQoNZnJlZVRpZXJVc2FnZRgGIAEoARIUCgxvbmRlbWFuZENvc3QYByABKAESFAoMcmVzZXJ2ZWRDb3N0GAggASgBEhkKEWlmQWxsT25kZW1hbmRDb3N0GAkgASgBEhAKCHNwb3RDb3N0GAogASgBEhcKD2ZyZWVUaWVyU2F2aW5ncxgLIAEoARIRCgl1c2FnZVR5cGUYDCABKAkSFwoPY29tbW9uVXNhZ2VUeXBlGA0gASgJEhQKDGNvdmVyZWRVc2FnZRgOIAEoARIOCgZ1cHRpbWUYDyABKAEiVgodR2V0UmVzb3VyY2VEYWlseVVzYWdlUmVzcG9uc2USNQoKZGFpbHlVc2FnZRgBIAMoCzIhLmJsdWVhcGkuZ2MudjEuUmVzb3VyY2VEYWlseVVzYWdlInQKB1NlZ21lbnQSCgoCaWQYASABKAkSDAoEbmFtZRgCIAEoCRIpCghwcm92aWRlchgDIAEoDjIXLmJsdWVhcGkuZ2MudjEuUHJvdmlkZXISEQoJaXNEZWZhdWx0GAQgASgIEhEKCWNyZWF0ZWRBdBgFIAEoCSJAChRMaXN0U2VnbWVudHNSZXNwb25zZRIoCghzZWdtZW50cxgBIAMoCzIWLmJsdWVhcGkuZ2MudjEuU2VnbWVudCJACg5TZWdtZW50Q3JlYXRvchIKCgJpZBgBIAEoCRIQCgh1c2VybmFtZRgCIAEoCRIQCghmdWxsTmFtZRgDIAEoCSJLCgxQdXJjaGFzZVBsYW4SCgoCaWQYASABKAkSDAoEbmFtZRgCIAEoCRIOCgZzdGF0dXMYAyABKAkSEQoJaXNSZW5ld2FsGAQgASgIIqUFCg5TZWdtZW50RGV0YWlscxIKCgJpZBgBIAEoCRIMCgRuYW1lGAIgASgJEhMKC2Rlc2NyaXB0aW9uGAMgASgJEikKCHByb3ZpZGVyGAQgASgOMhcuYmx1ZWFwaS5nYy52MS5Qcm92aWRlchIWCg5jbG91ZFByb3ZpZGVycxgFIAMoCRIRCglpc0RlZmF1bHQYBiABKAgSEQoJY3JlYXRlZEF0GAcgASgJEjAKCWNyZWF0ZWRCeRgIIAEoCzIdLmJsdWVhcGkuZ2MudjEuU2VnbWVudENyZWF0b3ISEAoIcGFyZW50SWQYCSABKAkSDgoGc3RhdHVzGAogASgJEhQKDHNlZ21lbnRDbGFzcxgLIAEoCRInCgZwYXJhbXMYDCABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EhMKC21vbnRobHlDb3N0GA0gASgBEhYKDm1vbnRobHlOZXRDb3N0GA4gASgBEiAKGG1vbnRobHlJZkFsbE9uZGVtYW5kQ29zdBgPIAEoARIbChNtb250aGx5T25kZW1hbmRDb3N0GBAgASgBEhsKE21vbnRobHlSZXNlcnZlZENvc3QYESABKAESFwoPbW9udGhseVNwb3RDb3N0GBIgASgBEhYKDm1vbnRobHlTYXZpbmdzGBMgASgBEhUKDW1vbnRobHlCdWRnZXQYFCABKAESEAoIY292ZXJhZ2UYFSABKAESGwoTcmVjb21tZW5kZWRDb3ZlcmFnZRgWIAEoARIWCg50YXJnZXRDb3ZlcmFnZRgXIAEoARIcChRtb250aGx5UmVzb3VyY2VDb3VudBgYIAEoBRIyCg1wdXJjaGFzZVBsYW5zGBkgAygLMhsuYmx1ZWFwaS5nYy52MS5QdXJjaGFzZVBsYW4ieAoMQ29udHJhY3RTcGVjEhYKDmNvbW1pdG1lbnRUeXBlGAEgASgJEhUKDXBheW1lbnRPcHRpb24YAiABKAkSDAoEdGVybRgDIAEoCRIrCgpwcm9wZXJ0aWVzGAQgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCLeAgoLUGxhblN1bW1hcnkSCwoDa2V5GAEgASgJEhAKCHByb3ZpZGVyGAIgASgJEhYKDm51bUNvbW1pdG1lbnRzGAMgASgFEhUKDW1pbkNvbW1pdG1lbnQYBCABKAESGQoRbW9udGhseUNvbW1pdG1lbnQYBSABKAESEwoLdXBmcm9udENvc3QYBiABKAESEgoKbWluU2F2aW5ncxgHIAEoARISCgptYXhTYXZpbmdzGAggASgBEhYKDm1vbnRobHlTYXZpbmdzGAkgASgBEhQKDG1pblRlcm1Ib3VycxgKIAEoBRIUCgxtYXhUZXJtSG91cnMYCyABKAUSEwoLZ3JpUHJlbWl1bXMYDCABKAESGgoSYmVmb3JlT25kZW1hbmRDb3N0GA0gASgBEhkKEWFmdGVyT25kZW1hbmRDb3N0GA4gASgBEhkKEWlmQWxsT25kZW1hbmRDb3N0GA8gASgBIuUCCg5TZXJ2aWNlU3VtbWFyeRILCgNrZXkYASABKAkSDAoEbmFtZRgCIAEoCRITCgtzZXJ2aWNlTmFtZRgDIAEoCRIQCghwcm92aWRlchgEIAEoCRIWCg5udW1Db21taXRtZW50cxgFIAEoBRIXCg9jdXJyZW50Q292ZXJhZ2UYBiABKAESGQoRcG90ZW50aWFsQ292ZXJhZ2UYByABKAESFQoNbWluQ29tbWl0bWVudBgIIAEoARIZChFtb250aGx5Q29tbWl0bWVudBgJIAEoARITCgt1cGZyb250Q29zdBgKIAEoARISCgptaW5TYXZpbmdzGAsgASgBEhIKCm1heFNhdmluZ3MYDCABKAESFgoObW9udGhseVNhdmluZ3MYDSABKAESFAoMbWluVGVybUhvdXJzGA4gASgFEhQKDG1heFRlcm1Ib3VycxgPIAEoBRISCgpncmlQcmVtaXVtGBAgASgBItoBChBBZ2dyZWdhdGVNZXRyaWNzEhcKD2N1cnJlbnRDb3ZlcmFnZRgBIAEoARIZChFwb3RlbnRpYWxDb3ZlcmFnZRgCIAEoARJBCglzdW1tYXJpZXMYAyADKAsyLi5ibHVlYXBpLmdjLnYxLkFnZ3JlZ2F0ZU1ldHJpY3MuU3VtbWFyaWVzRW50cnkaTwoOU3VtbWFyaWVzRW50cnkSCwoDa2V5GAEgASgJEiwKBXZhbHVlGAIgASgLMh0uYmx1ZWFwaS5nYy52MS5TZXJ2aWNlU3VtbWFyeToCOAEi1QoKE0RlZmF1bHRQdXJjaGFzZVBsYW4SCgoCaWQYASABKAkSDAoEbmFtZRgCIAEoCRITCgtkZXNjcmlwdGlvbhgDIAEoCRINCgVvcmdJZBgEIAEoCRIRCglzZWdtZW50SWQYBSABKAkSJwoHc2VnbWVudBgGIAEoCzIWLmJsdWVhcGkuZ2MudjEuU2VnbWVudBIOCgZzdGF0dXMYByABKAkSEAoIcGxhblR5cGUYCCABKAkSEQoJY3JlYXRlZEF0GAkgASgJEhQKDGxhc3RNb2RpZmllZBgKIAEoCRIpCgljcmVhdGVkQnkYCyABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSLwoPZXhlY3V0aW9uUG9saWN5GAwgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEhEKCWlzRGVmYXVsdBgNIAEoCBIVCg1pc1JlY29tbWVuZGVkGA4gASgIEhEKCWlzUmVuZXdhbBgPIAEoCBIVCg1pc0NhbGN1bGF0aW5nGBAgASgIEhAKCGlzTG9ja2VkGBEgASgIEg8KB2lzU2F2ZWQYEiABKAgSOgoVaW5jbHVkZWRDb250cmFjdFNwZWNzGBMgAygLMhsuYmx1ZWFwaS5nYy52MS5Db250cmFjdFNwZWMSHQoVaW5jbHVkZWRDb250cmFjdFRlcm1zGBQgAygJEg8KB21heFRlcm0YFSABKAkSHgoWcHJlZmVycmVkUGF5bWVudE9wdGlvbhgWIAEoCRIWCg5tYXhVcGZyb250Q29zdBgXIAEoARIiChptaW5pbXVtVXBmcm9udEludGVyZXN0UmF0ZRgYIAEoARI+Ch5yZWNvbW1lbmRXaXRoaW5Db3ZlcmVkQWNjb3VudHMYGSABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSEQoJc3RhcnREYXRlGBogASgJEg8KB2VuZERhdGUYGyABKAkSEgoKZGF0YVNvdXJjZRgcIAEoCRISCgpiZWZvcmVDb3N0GB0gASgBEhEKCWFmdGVyQ29zdBgeIAEoARIaChJiZWZvcmVPbmRlbWFuZENvc3QYHyABKAESGgoSYmVmb3JlUmVzZXJ2ZWRDb3N0GCAgASgBEhsKE2NvdmVyZWRPbmRlbWFuZENvc3QYISABKAESFQoNYW1vcnRpemVkQ29zdBgiIAEoARIVCg1yZWN1cnJpbmdDb3N0GCMgASgBEhMKC3VwZnJvbnRDb3N0GCQgASgBEhEKCXRvdGFsQ29zdBglIAEoARIeChZ0b3RhbE1vbnRobHlCZWZvcmVDb3N0GCYgASgBEg8KB3NhdmluZ3MYJyABKAESFgoObW9udGhseVNhdmluZ3MYKCABKAESFAoMdG90YWxTYXZpbmdzGCkgASgBEgsKA2ZlZRgqIAEoARIaChJjb21taXRtZW50Q292ZXJhZ2UYKyABKAESHQoVbWluaW11bUNvbW1pdG1lbnRDb3N0GCwgASgBEhYKDmJyZWFrZXZlbkhvdXJzGC0gASgBEjkKEGFnZ3JlZ2F0ZU1ldHJpY3MYLiABKAsyHy5ibHVlYXBpLmdjLnYxLkFnZ3JlZ2F0ZU1ldHJpY3MSLQoJc3VtbWFyaWVzGC8gAygLMhouYmx1ZWFwaS5nYy52MS5QbGFuU3VtbWFyeRIWCg5yZXNlcnZhdGlvbklkcxgwIAMoCRITCgtyZXNvdXJjZUlkcxgxIAMoCRIWCg5mbGFnZ2VkQWN0aW9ucxgyIAMoCRISCgptZXRhUGxhbklkGDMgASgJEhIKCmNvdmVyYWdlSWQYNCABKAkiVwoiTGlzdFB1cmNoYXNlUGxhbnNCeVNlZ21lbnRSZXNwb25zZRIxCgVwbGFucxgBIAMoCzIiLmJsdWVhcGkuZ2MudjEuRGVmYXVsdFB1cmNoYXNlUGxhbiKEAgoTUmVnaXN0ZXJPcmdSZXNwb25zZRIKCgJpZBgBIAEoCRIMCgRuYW1lGAIgASgJEi4KC21lbWJlcnNoaXBzGAMgAygLMhkuYmx1ZWFwaS5nYy52MS5NZW1iZXJzaGlwEg4KBmRvbWFpbhgEIAEoCRIuCg5wcmltYXJ5QWRkcmVzcxgFIAEoCzIWLmJsdWVhcGkuZ2MudjEuQWRkcmVzcxIfChdhd3NNYXJrZXRwbGFjZU9mZmVyTGluaxgGIAEoCRIhChlhenVyZU1hcmtldHBsYWNlT2ZmZXJMaW5rGAcgASgJEh8KF2djcE1hcmtldHBsYWNlT2ZmZXJMaW5rGAggASgJIjIKGlN0YXJ0QXdzT25ib2FyZGluZ1Jlc3BvbnNlEhQKDG9uYm9hcmRpbmdJZBgBIAEoCSJRCiRHZXRBd3NDbG91ZEZvcm1hdGlvblRlbXBsYXRlUmVzcG9uc2USKQoIdGVtcGxhdGUYASABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0IisKHEdldEF3c0xhdW5jaFN0YWNrVXJsUmVzcG9uc2USCwoDdXJsGAEgASgJIo8EChtWZXJpZnlBd3NPbmJvYXJkaW5nUmVzcG9uc2USVAoGY2hlY2tzGAEgAygLMkQuYmx1ZWFwaS5nYy52MS5WZXJpZnlBd3NPbmJvYXJkaW5nUmVzcG9uc2UuQXdzT25ib2FyZGluZ0ZlYXR1cmVDaGVjaxqZAwoZQXdzT25ib2FyZGluZ0ZlYXR1cmVDaGVjaxIPCgdmZWF0dXJlGAEgASgJEm8KBnN0YXR1cxgCIAEoDjJfLmJsdWVhcGkuZ2MudjEuVmVyaWZ5QXdzT25ib2FyZGluZ1Jlc3BvbnNlLkF3c09uYm9hcmRpbmdGZWF0dXJlQ2hlY2suQXdzT25ib2FyZGluZ0ZlYXR1cmVTdGF0dXMi+QEKGkF3c09uYm9hcmRpbmdGZWF0dXJlU3RhdHVzEi0KKUFXU19PTkJPQVJESU5HX0ZFQVRVUkVfU1RBVFVTX1VOU1BFQ0lGSUVEEAASKwonQVdTX09OQk9BUkRJTkdfRkVBVFVSRV9TVEFUVVNfQVZBSUxBQkxFEAESKQolQVdTX09OQk9BUkRJTkdfRkVBVFVSRV9TVEFUVVNfV0FSTklORxACEikKJUFXU19PTkJPQVJESU5HX0ZFQVRVUkVfU1RBVFVTX01JU1NJTkcQAxIpCiVBV1NfT05CT0FSRElOR19GRUFUVVJFX1NUQVRVU19VTktOT1dOEAQinAUKG0dldE9uYm9hcmRpbmdTdGF0dXNSZXNwb25zZRINCgVmb3VuZBgBIAEoCBINCgVpc01zcBgCIAEoCBIpCghwcm92aWRlchgDIAEoDjIXLmJsdWVhcGkuZ2MudjEuUHJvdmlkZXISDwoHZ2NPcmdJZBgEIAEoCRIUCgxvbmJvYXJkaW5nSWQYBSABKAkSVQoQb25ib2FyZGluZ1N0YXR1cxgGIAEoDjI7LmJsdWVhcGkuZ2MudjEuR2V0T25ib2FyZGluZ1N0YXR1c1Jlc3BvbnNlLk9uYm9hcmRpbmdTdGF0dXMSEQoJYWNjb3VudElkGAcgASgJEhYKDmJpbGxpbmdHcm91cElkGAggASgJEhEKCWNvbXBhbnlJZBgJIAEoCRJgChJ2ZXJpZmljYXRpb25DaGVja3MYCiADKAsyRC5ibHVlYXBpLmdjLnYxLlZlcmlmeUF3c09uYm9hcmRpbmdSZXNwb25zZS5Bd3NPbmJvYXJkaW5nRmVhdHVyZUNoZWNrIpUCChBPbmJvYXJkaW5nU3RhdHVzEiEKHU9OQk9BUkRJTkdfU1RBVFVTX1VOU1BFQ0lGSUVEEAASJAogT05CT0FSRElOR19TVEFUVVNfTk9UX1JFR0lTVEVSRUQQARIgChxPTkJPQVJESU5HX1NUQVRVU19SRUdJU1RFUkVEEAISKAokT05CT0FSRElOR19TVEFUVVNfT05CT0FSRElOR19TVEFSVEVEEAMSHgoaT05CT0FSRElOR19TVEFUVVNfVkVSSUZJRUQQBBInCiNPTkJPQVJESU5HX1NUQVRVU19WRVJJRllfSU5DT01QTEVURRAFEiMKH09OQk9BUkRJTkdfU1RBVFVTX1ZFUklGWV9GQUlMRUQQBiLnBAoZTGlzdFBheWVyQWNjb3VudHNSZXNwb25zZRJMCg1wYXllckFjY291bnRzGAEgAygLMjUuYmx1ZWFwaS5nYy52MS5MaXN0UGF5ZXJBY2NvdW50c1Jlc3BvbnNlLlBheWVyQWNjb3VudBr6AgoMUGF5ZXJBY2NvdW50EhEKCWFjY291bnRJZBgBIAEoCRITCgthY2NvdW50TmFtZRgCIAEoCRIWCg5iaWxsaW5nR3JvdXBJZBgDIAEoCRIRCglzZWdtZW50SWQYBCABKAkSSwoGc3RhdHVzGAUgASgOMjsuYmx1ZWFwaS5nYy52MS5MaXN0UGF5ZXJBY2NvdW50c1Jlc3BvbnNlLlBheWVyQWNjb3VudFN0YXR1cxIRCgljb21wYW55SWQYBiABKAkSVQoQb25ib2FyZGluZ1N0YXR1cxgHIAEoDjI7LmJsdWVhcGkuZ2MudjEuR2V0T25ib2FyZGluZ1N0YXR1c1Jlc3BvbnNlLk9uYm9hcmRpbmdTdGF0dXMSYAoSdmVyaWZpY2F0aW9uQ2hlY2tzGAggAygLMkQuYmx1ZWFwaS5nYy52MS5WZXJpZnlBd3NPbmJvYXJkaW5nUmVzcG9uc2UuQXdzT25ib2FyZGluZ0ZlYXR1cmVDaGVjayJ/ChJQYXllckFjY291bnRTdGF0dXMSJAogUEFZRVJfQUNDT1VOVF9TVEFUVVNfVU5TUEVDSUZJRUQQABIgChxQQVlFUl9BQ0NPVU5UX1NUQVRVU19FTkFCTEVEEAESIQodUEFZRVJfQUNDT1VOVF9TVEFUVVNfRElTQUJMRUQQAiJtCh5TZXRQYXllckFjY291bnRFbmFibGVkUmVzcG9uc2USSwoMcGF5ZXJBY2NvdW50GAEgASgLMjUuYmx1ZWFwaS5nYy52MS5MaXN0UGF5ZXJBY2NvdW50c1Jlc3BvbnNlLlBheWVyQWNjb3VudCJsCh1HZXRQYXllckFjY291bnRTdGF0dXNSZXNwb25zZRJLCgxwYXllckFjY291bnQYASABKAsyNS5ibHVlYXBpLmdjLnYxLkxpc3RQYXllckFjY291bnRzUmVzcG9uc2UuUGF5ZXJBY2NvdW50IjsKHFZhbGlkYXRlQmlsbGluZ0dyb3VwUmVzcG9uc2USCgoCb2sYASABKAgSDwoHbWVzc2FnZRgCIAEoCSJTCh5MaXN0RHJhZnRQdXJjaGFzZVBsYW5zUmVzcG9uc2USMQoFcGxhbnMYASADKAsyIi5ibHVlYXBpLmdjLnYxLkRlZmF1bHRQdXJjaGFzZVBsYW4iQgofRGVsZXRlRHJhZnRQdXJjaGFzZVBsYW5SZXNwb25zZRIOCgZwbGFuSWQYASABKAkSDwoHc3VjY2VzcxgCIAEoCCpeCghQcm92aWRlchIYChRQUk9WSURFUl9VTlNQRUNJRklFRBAAEgcKA0FXUxABEgkKBUFaVVJFEAISBwoDR0NQEAMSDgoKS1VCRVJORVRFUxAEEgsKB1VOS05PV04QBSqYAQoQQ29tbWl0bWVudFN0YXR1cxIhCh1DT01NSVRNRU5UX1NUQVRVU19VTlNQRUNJRklFRBAAEgcKA05FVxABEgwKCFJFVklFV0VEEAISDQoJU0NIRURVTEVEEAMSDQoJQ09NUExFVEVEEAQSCQoFRFJBRlQQBRIQCgxORUVEU19SRVZJRVcQBhIPCgtJTl9QUk9HUkVTUxAHKooBChlDb21taXRtZW50SW52ZW50b3J5U3RhdHVzEisKJ0NPTU1JVE1FTlRfSU5WRU5UT1JZX1NUQVRVU19VTlNQRUNJRklFRBAAEgoKBkFDVElWRRABEgsKB1JFVElSRUQQAhITCg9QQVlNRU5UX1BFTkRJTkcQAxISCg5QQVlNRU5UX0ZBSUxFRBAEKkMKBVNjb3BlEhUKEVNDT1BFX1VOU1BFQ0lGSUVEEAASCgoGU0hBUkVEEAESDAoIUkVHSU9OQUwQAhIJCgVaT05BTBADKkEKCVVzYWdlVHlwZRIaChZVU0FHRV9UWVBFX1VOU1BFQ0lGSUVEEAASCwoHUlVOTklORxABEgsKB1NUT1BQRUQQAjKqIgoVR3VhcmFudGVlZENvbW1pdG1lbnRzEmMKCExpc3RPcmdzEh4uYmx1ZWFwaS5nYy52MS5MaXN0T3Jnc1JlcXVlc3QaEi5ibHVlYXBpLmdjLnYxLk9yZyIhgtPkkwIbOgEqIhYvdjEvb3JnYW5pemF0aW9uczpyZWFkMAESmAEKGUdldENvbW1pdG1lbnRzUGxhbkRldGFpbHMSLi5ibHVlYXBpLmdjLnYxLkdldENvbW1pdG1lbnRQbGFuRGV0YWlsc1JlcXVlc3QaJC5ibHVlYXBpLmdjLnYxLkNvbW1pdG1lbnRQbGFuRGV0YWlscyIlgtPkkwIfEh0vdjEvY29tbWl0bWVudHMvcGxhbi97cGxhbklkfRKXAQoUQ29tbWl0bWVudHNQbGFuQXBwbHkSKS5ibHVlYXBpLmdjLnYxLkNvbW1pdG1lbnRQbGFuQXBwbHlSZXF1ZXN0GiQuYmx1ZWFwaS5nYy52MS5Db21taXRtZW50UGxhbkRldGFpbHMiLoLT5JMCKDoBKiIjL3YxL2NvbW1pdG1lbnRzL3BsYW4ve3BsYW5JZH0vYXBwbHkSpwEKGkxpc3REZWZhdWx0Q29tbWl0bWVudHNQbGFuEjAuYmx1ZWFwaS5nYy52MS5MaXN0RGVmYXVsdENvbW1pdG1lbnRQbGFuc1JlcXVlc3QaMS5ibHVlYXBpLmdjLnYxLkxpc3REZWZhdWx0Q29tbWl0bWVudFBsYW5zUmVzcG9uc2UiJILT5JMCHhIcL3YxL2NvbW1pdG1lbnRzL3BsYW4vZGVmYXVsdBKjAQodR2V0UmVjb21tZW5kZWRDb21taXRtZW50c1BsYW4SMi5ibHVlYXBpLmdjLnYxLkdldFJlY29tbWVuZGVkQ29tbWl0bWVudFBsYW5SZXF1ZXN0GiQuYmx1ZWFwaS5nYy52MS5Db21taXRtZW50UGxhbkRldGFpbHMiKILT5JMCIhIgL3YxL2NvbW1pdG1lbnRzL3BsYW4vcmVjb21tZW5kZWQStgEKHExpc3RDb21taXRtZW50c1BsYW5MaW5lSXRlbXMSMS5ibHVlYXBpLmdjLnYxLkxpc3RDb21taXRtZW50UGxhbkxpbmVJdGVtc1JlcXVlc3QaMi5ibHVlYXBpLmdjLnYxLkxpc3RDb21taXRtZW50UGxhbkxpbmVJdGVtc1Jlc3BvbnNlIi+C0+STAikSJy92MS9jb21taXRtZW50cy9wbGFuL3twbGFuSWR9L2xpbmVpdGVtcxLOAQoiTGlzdENvbW1pdG1lbnRzUGxhblJlc291cmNlTWF0Y2hlcxI3LmJsdWVhcGkuZ2MudjEuTGlzdENvbW1pdG1lbnRQbGFuUmVzb3VyY2VNYXRjaGVzUmVxdWVzdBo4LmJsdWVhcGkuZ2MudjEuTGlzdENvbW1pdG1lbnRQbGFuUmVzb3VyY2VNYXRjaGVzUmVzcG9uc2UiNYLT5JMCLxItL3YxL2NvbW1pdG1lbnRzL3BsYW4ve3BsYW5JZH0vcmVzb3VyY2VtYXRjaGVzEnkKD0xpc3RDb21taXRtZW50cxIlLmJsdWVhcGkuZ2MudjEuTGlzdENvbW1pdG1lbnRzUmVxdWVzdBomLmJsdWVhcGkuZ2MudjEuTGlzdENvbW1pdG1lbnRzUmVzcG9uc2UiF4LT5JMCERIPL3YxL2NvbW1pdG1lbnRzEpcBChNHZXRDb21taXRtZW50c0NoYXJ0EikuYmx1ZWFwaS5nYy52MS5HZXRDb21taXRtZW50c0NoYXJ0UmVxdWVzdBonLmJsdWVhcGkuZ2MudjEuQ29tbWl0bWVudHNDaGFydFJlc3BvbnNlIiyC0+STAiYSJC92MS9jb21taXRtZW50cy97Y29tbWl0bWVudElkfS9jaGFydBKvAQoZR2V0Q29tbWl0bWVudHNVdGlsaXphdGlvbhIvLmJsdWVhcGkuZ2MudjEuR2V0Q29tbWl0bWVudHNVdGlsaXphdGlvblJlcXVlc3QaLS5ibHVlYXBpLmdjLnYxLkNvbW1pdG1lbnRzVXRpbGl6YXRpb25SZXNwb25zZSIygtPkkwIsEiovdjEvY29tbWl0bWVudHMve2NvbW1pdG1lbnRJZH0vdXRpbGl6YXRpb24SYwoKR2V0TWV0cmljcxIgLmJsdWVhcGkuZ2MudjEuR2V0TWV0cmljc1JlcXVlc3QaHi5ibHVlYXBpLmdjLnYxLk1ldHJpY3NSZXNwb25zZSITgtPkkwINEgsvdjEvbWV0cmljcxJxCg1MaXN0UmVzb3VyY2VzEiMuYmx1ZWFwaS5nYy52MS5MaXN0UmVzb3VyY2VzUmVxdWVzdBokLmJsdWVhcGkuZ2MudjEuTGlzdFJlc291cmNlc1Jlc3BvbnNlIhWC0+STAg8SDS92MS9yZXNvdXJjZXMSoQEKFUdldFJlc291cmNlRGFpbHlVc2FnZRIrLmJsdWVhcGkuZ2MudjEuR2V0UmVzb3VyY2VEYWlseVVzYWdlUmVxdWVzdBosLmJsdWVhcGkuZ2MudjEuR2V0UmVzb3VyY2VEYWlseVVzYWdlUmVzcG9uc2UiLYLT5JMCJxIlL3YxL3Jlc291cmNlcy97cmVzb3VyY2VJZH0vZGFpbHl1c2FnZRKnAQoaTGlzdFB1cmNoYXNlUGxhbnNCeVNlZ21lbnQSMC5ibHVlYXBpLmdjLnYxLkxpc3RQdXJjaGFzZVBsYW5zQnlTZWdtZW50UmVxdWVzdBoxLmJsdWVhcGkuZ2MudjEuTGlzdFB1cmNoYXNlUGxhbnNCeVNlZ21lbnRSZXNwb25zZSIkgtPkkwIeEhwvdjEvY29tbWl0bWVudHMvcHVyY2hhc2VwbGFuEqoBChpTYXZlQ29tbWl0bWVudHNQbGFuQXNEcmFmdBIwLmJsdWVhcGkuZ2MudjEuU2F2ZUNvbW1pdG1lbnRzUGxhbkFzRHJhZnRSZXF1ZXN0GiIuYmx1ZWFwaS5nYy52MS5EZWZhdWx0UHVyY2hhc2VQbGFuIjaC0+STAjA6ASoiKy92MS9jb21taXRtZW50cy9wdXJjaGFzZXBsYW4ve3BsYW5JZH0vZHJhZnQSoQEKFkxpc3REcmFmdFB1cmNoYXNlUGxhbnMSLC5ibHVlYXBpLmdjLnYxLkxpc3REcmFmdFB1cmNoYXNlUGxhbnNSZXF1ZXN0Gi0uYmx1ZWFwaS5nYy52MS5MaXN0RHJhZnRQdXJjaGFzZVBsYW5zUmVzcG9uc2UiKoLT5JMCJBIiL3YxL2NvbW1pdG1lbnRzL3B1cmNoYXNlcGxhbi9kcmFmdBKtAQoXRGVsZXRlRHJhZnRQdXJjaGFzZVBsYW4SLS5ibHVlYXBpLmdjLnYxLkRlbGV0ZURyYWZ0UHVyY2hhc2VQbGFuUmVxdWVzdBouLmJsdWVhcGkuZ2MudjEuRGVsZXRlRHJhZnRQdXJjaGFzZVBsYW5SZXNwb25zZSIzgtPkkwItKisvdjEvY29tbWl0bWVudHMvcHVyY2hhc2VwbGFuL3twbGFuSWR9L2RyYWZ0Em8KC1JlZ2lzdGVyT3JnEiEuYmx1ZWFwaS5nYy52MS5SZWdpc3Rlck9yZ1JlcXVlc3QaIi5ibHVlYXBpLmdjLnYxLlJlZ2lzdGVyT3JnUmVzcG9uc2UiGYLT5JMCEzoBKiIOL3YxL29uYm9hcmRpbmcSjgEKElN0YXJ0QXdzT25ib2FyZGluZxIoLmJsdWVhcGkuZ2MudjEuU3RhcnRBd3NPbmJvYXJkaW5nUmVxdWVzdBopLmJsdWVhcGkuZ2MudjEuU3RhcnRBd3NPbmJvYXJkaW5nUmVzcG9uc2UiI4LT5JMCHToBKiIYL3YxL29uYm9hcmRpbmcvYXdzL3N0YXJ0ErsBChxHZXRBd3NDbG91ZEZvcm1hdGlvblRlbXBsYXRlEjIuYmx1ZWFwaS5nYy52MS5HZXRBd3NDbG91ZEZvcm1hdGlvblRlbXBsYXRlUmVxdWVzdBozLmJsdWVhcGkuZ2MudjEuR2V0QXdzQ2xvdWRGb3JtYXRpb25UZW1wbGF0ZVJlc3BvbnNlIjKC0+STAiwSKi92MS9vbmJvYXJkaW5nL2F3cy9jbG91ZGZvcm1hdGlvbi90ZW1wbGF0ZRKpAQoUR2V0QXdzTGF1bmNoU3RhY2tVcmwSKi5ibHVlYXBpLmdjLnYxLkdldEF3c0xhdW5jaFN0YWNrVXJsUmVxdWVzdBorLmJsdWVhcGkuZ2MudjEuR2V0QXdzTGF1bmNoU3RhY2tVcmxSZXNwb25zZSI4gtPkkwIyEjAvdjEvb25ib2FyZGluZy9hd3MvY2xvdWRmb3JtYXRpb24vbGF1bmNoc3RhY2t1cmwSkgEKE1ZlcmlmeUF3c09uYm9hcmRpbmcSKS5ibHVlYXBpLmdjLnYxLlZlcmlmeUF3c09uYm9hcmRpbmdSZXF1ZXN0GiouYmx1ZWFwaS5nYy52MS5WZXJpZnlBd3NPbmJvYXJkaW5nUmVzcG9uc2UiJILT5JMCHjoBKiIZL3YxL29uYm9hcmRpbmcvYXdzL3ZlcmlmeRKTAQoTR2V0T25ib2FyZGluZ1N0YXR1cxIpLmJsdWVhcGkuZ2MudjEuR2V0T25ib2FyZGluZ1N0YXR1c1JlcXVlc3QaKi5ibHVlYXBpLmdjLnYxLkdldE9uYm9hcmRpbmdTdGF0dXNSZXNwb25zZSIlgtPkkwIfOgEqIhovdjEvb25ib2FyZGluZy9zdGF0dXM6cmVhZBKIAQoRTGlzdFBheWVyQWNjb3VudHMSJy5ibHVlYXBpLmdjLnYxLkxpc3RQYXllckFjY291bnRzUmVxdWVzdBooLmJsdWVhcGkuZ2MudjEuTGlzdFBheWVyQWNjb3VudHNSZXNwb25zZSIggtPkkwIaEhgvdjEvbWFuYWdlbWVudHMvYWNjb3VudHMSpgEKFlNldFBheWVyQWNjb3VudEVuYWJsZWQSLC5ibHVlYXBpLmdjLnYxLlNldFBheWVyQWNjb3VudEVuYWJsZWRSZXF1ZXN0Gi0uYmx1ZWFwaS5nYy52MS5TZXRQYXllckFjY291bnRFbmFibGVkUmVzcG9uc2UiL4LT5JMCKToBKiIkL3YxL21hbmFnZW1lbnRzL2FjY291bnRzL3tjb21wYW55SWR9EpsBChVHZXRQYXllckFjY291bnRTdGF0dXMSKy5ibHVlYXBpLmdjLnYxLkdldFBheWVyQWNjb3VudFN0YXR1c1JlcXVlc3QaLC5ibHVlYXBpLmdjLnYxLkdldFBheWVyQWNjb3VudFN0YXR1c1Jlc3BvbnNlIieC0+STAiESHy92MS9tYW5hZ2VtZW50cy9hY2NvdW50cy9zdGF0dXMSoAEKFFZhbGlkYXRlQmlsbGluZ0dyb3VwEiouYmx1ZWFwaS5nYy52MS5WYWxpZGF0ZUJpbGxpbmdHcm91cFJlcXVlc3QaKy5ibHVlYXBpLmdjLnYxLlZhbGlkYXRlQmlsbGluZ0dyb3VwUmVzcG9uc2UiL4LT5JMCKToBKiIkL3YxL29uYm9hcmRpbmcvYmlsbGluZ2dyb3VwOnZhbGlkYXRlGqIBkkGeARJQKEFscGhhKSBHdWFyYW50ZWVkQ29tbWl0bWVudHMgQVBJLiBCYXNlIFVSTDogaHR0cHM6Ly9hcGkuYWxwaGF1cy5jbG91ZC9tL2JsdWUvZ2MaSgoSU2VydmljZSBkZWZpbml0aW9uEjRodHRwczovL2dpdGh1Yi5jb20vYWxwaGF1c2xhYnMvYmx1ZWFwaS90cmVlL21haW4vZ2MvQlUKFGNsb3VkLmFscGhhdXMuYXBpLmdjQhpHdWFyYW50ZWVkQ29tbWl0bWVudHNQcm90b1ohZ2l0aHViLmNvbS9hbHBoYXVzbGFicy9ibHVlYXBpL2djYgZwcm90bzM", [file_google_api_annotations, file_google_protobuf_struct, file_protoc_gen_openapiv2_options_annotations]);
18
18
 
19
19
  /**
20
20
  * @generated from message blueapi.gc.v1.ListOrgsRequest
@@ -841,6 +841,25 @@ export type GetPayerAccountStatusRequest = Message<"blueapi.gc.v1.GetPayerAccoun
841
841
  export const GetPayerAccountStatusRequestSchema: GenMessage<GetPayerAccountStatusRequest> = /*@__PURE__*/
842
842
  messageDesc(file_gc_v1_gc, 28);
843
843
 
844
+ /**
845
+ * @generated from message blueapi.gc.v1.ValidateBillingGroupRequest
846
+ */
847
+ export type ValidateBillingGroupRequest = Message<"blueapi.gc.v1.ValidateBillingGroupRequest"> & {
848
+ /**
849
+ * Required. Company identifier.
850
+ *
851
+ * @generated from field: string companyId = 1;
852
+ */
853
+ companyId: string;
854
+ };
855
+
856
+ /**
857
+ * Describes the message blueapi.gc.v1.ValidateBillingGroupRequest.
858
+ * Use `create(ValidateBillingGroupRequestSchema)` to create a new message.
859
+ */
860
+ export const ValidateBillingGroupRequestSchema: GenMessage<ValidateBillingGroupRequest> = /*@__PURE__*/
861
+ messageDesc(file_gc_v1_gc, 29);
862
+
844
863
  /**
845
864
  * @generated from message blueapi.gc.v1.SaveCommitmentsPlanAsDraftRequest
846
865
  */
@@ -1021,7 +1040,7 @@ export type SaveCommitmentsPlanAsDraftRequest = Message<"blueapi.gc.v1.SaveCommi
1021
1040
  * Use `create(SaveCommitmentsPlanAsDraftRequestSchema)` to create a new message.
1022
1041
  */
1023
1042
  export const SaveCommitmentsPlanAsDraftRequestSchema: GenMessage<SaveCommitmentsPlanAsDraftRequest> = /*@__PURE__*/
1024
- messageDesc(file_gc_v1_gc, 29);
1043
+ messageDesc(file_gc_v1_gc, 30);
1025
1044
 
1026
1045
  /**
1027
1046
  * @generated from message blueapi.gc.v1.ListDraftPurchasePlansRequest
@@ -1034,7 +1053,7 @@ export type ListDraftPurchasePlansRequest = Message<"blueapi.gc.v1.ListDraftPurc
1034
1053
  * Use `create(ListDraftPurchasePlansRequestSchema)` to create a new message.
1035
1054
  */
1036
1055
  export const ListDraftPurchasePlansRequestSchema: GenMessage<ListDraftPurchasePlansRequest> = /*@__PURE__*/
1037
- messageDesc(file_gc_v1_gc, 30);
1056
+ messageDesc(file_gc_v1_gc, 31);
1038
1057
 
1039
1058
  /**
1040
1059
  * @generated from message blueapi.gc.v1.DeleteDraftPurchasePlanRequest
@@ -1053,7 +1072,7 @@ export type DeleteDraftPurchasePlanRequest = Message<"blueapi.gc.v1.DeleteDraftP
1053
1072
  * Use `create(DeleteDraftPurchasePlanRequestSchema)` to create a new message.
1054
1073
  */
1055
1074
  export const DeleteDraftPurchasePlanRequestSchema: GenMessage<DeleteDraftPurchasePlanRequest> = /*@__PURE__*/
1056
- messageDesc(file_gc_v1_gc, 31);
1075
+ messageDesc(file_gc_v1_gc, 32);
1057
1076
 
1058
1077
  /**
1059
1078
  * @generated from message blueapi.gc.v1.Org
@@ -1080,7 +1099,7 @@ export type Org = Message<"blueapi.gc.v1.Org"> & {
1080
1099
  * Use `create(OrgSchema)` to create a new message.
1081
1100
  */
1082
1101
  export const OrgSchema: GenMessage<Org> = /*@__PURE__*/
1083
- messageDesc(file_gc_v1_gc, 32);
1102
+ messageDesc(file_gc_v1_gc, 33);
1084
1103
 
1085
1104
  /**
1086
1105
  * @generated from message blueapi.gc.v1.CommitmentPlanDetails
@@ -1217,7 +1236,7 @@ export type CommitmentPlanDetails = Message<"blueapi.gc.v1.CommitmentPlanDetails
1217
1236
  * Use `create(CommitmentPlanDetailsSchema)` to create a new message.
1218
1237
  */
1219
1238
  export const CommitmentPlanDetailsSchema: GenMessage<CommitmentPlanDetails> = /*@__PURE__*/
1220
- messageDesc(file_gc_v1_gc, 33);
1239
+ messageDesc(file_gc_v1_gc, 34);
1221
1240
 
1222
1241
  /**
1223
1242
  * @generated from message blueapi.gc.v1.ListDefaultCommitmentPlansResponse
@@ -1234,7 +1253,7 @@ export type ListDefaultCommitmentPlansResponse = Message<"blueapi.gc.v1.ListDefa
1234
1253
  * Use `create(ListDefaultCommitmentPlansResponseSchema)` to create a new message.
1235
1254
  */
1236
1255
  export const ListDefaultCommitmentPlansResponseSchema: GenMessage<ListDefaultCommitmentPlansResponse> = /*@__PURE__*/
1237
- messageDesc(file_gc_v1_gc, 34);
1256
+ messageDesc(file_gc_v1_gc, 35);
1238
1257
 
1239
1258
  /**
1240
1259
  * @generated from message blueapi.gc.v1.CommitmentPlanLineItem
@@ -1396,7 +1415,7 @@ export type CommitmentPlanLineItem = Message<"blueapi.gc.v1.CommitmentPlanLineIt
1396
1415
  * Use `create(CommitmentPlanLineItemSchema)` to create a new message.
1397
1416
  */
1398
1417
  export const CommitmentPlanLineItemSchema: GenMessage<CommitmentPlanLineItem> = /*@__PURE__*/
1399
- messageDesc(file_gc_v1_gc, 35);
1418
+ messageDesc(file_gc_v1_gc, 36);
1400
1419
 
1401
1420
  /**
1402
1421
  * @generated from message blueapi.gc.v1.ListCommitmentPlanLineItemsResponse
@@ -1413,7 +1432,7 @@ export type ListCommitmentPlanLineItemsResponse = Message<"blueapi.gc.v1.ListCom
1413
1432
  * Use `create(ListCommitmentPlanLineItemsResponseSchema)` to create a new message.
1414
1433
  */
1415
1434
  export const ListCommitmentPlanLineItemsResponseSchema: GenMessage<ListCommitmentPlanLineItemsResponse> = /*@__PURE__*/
1416
- messageDesc(file_gc_v1_gc, 36);
1435
+ messageDesc(file_gc_v1_gc, 37);
1417
1436
 
1418
1437
  /**
1419
1438
  * @generated from message blueapi.gc.v1.CommitmentPlanResourceMatch
@@ -1540,7 +1559,7 @@ export type CommitmentPlanResourceMatch = Message<"blueapi.gc.v1.CommitmentPlanR
1540
1559
  * Use `create(CommitmentPlanResourceMatchSchema)` to create a new message.
1541
1560
  */
1542
1561
  export const CommitmentPlanResourceMatchSchema: GenMessage<CommitmentPlanResourceMatch> = /*@__PURE__*/
1543
- messageDesc(file_gc_v1_gc, 37);
1562
+ messageDesc(file_gc_v1_gc, 38);
1544
1563
 
1545
1564
  /**
1546
1565
  * @generated from message blueapi.gc.v1.ListCommitmentPlanResourceMatchesResponse
@@ -1557,7 +1576,7 @@ export type ListCommitmentPlanResourceMatchesResponse = Message<"blueapi.gc.v1.L
1557
1576
  * Use `create(ListCommitmentPlanResourceMatchesResponseSchema)` to create a new message.
1558
1577
  */
1559
1578
  export const ListCommitmentPlanResourceMatchesResponseSchema: GenMessage<ListCommitmentPlanResourceMatchesResponse> = /*@__PURE__*/
1560
- messageDesc(file_gc_v1_gc, 38);
1579
+ messageDesc(file_gc_v1_gc, 39);
1561
1580
 
1562
1581
  /**
1563
1582
  * @generated from message blueapi.gc.v1.Lease
@@ -1629,7 +1648,7 @@ export type Lease = Message<"blueapi.gc.v1.Lease"> & {
1629
1648
  * Use `create(LeaseSchema)` to create a new message.
1630
1649
  */
1631
1650
  export const LeaseSchema: GenMessage<Lease> = /*@__PURE__*/
1632
- messageDesc(file_gc_v1_gc, 39);
1651
+ messageDesc(file_gc_v1_gc, 40);
1633
1652
 
1634
1653
  /**
1635
1654
  * @generated from message blueapi.gc.v1.DailyUtilization
@@ -1656,7 +1675,7 @@ export type DailyUtilization = Message<"blueapi.gc.v1.DailyUtilization"> & {
1656
1675
  * Use `create(DailyUtilizationSchema)` to create a new message.
1657
1676
  */
1658
1677
  export const DailyUtilizationSchema: GenMessage<DailyUtilization> = /*@__PURE__*/
1659
- messageDesc(file_gc_v1_gc, 40);
1678
+ messageDesc(file_gc_v1_gc, 41);
1660
1679
 
1661
1680
  /**
1662
1681
  * @generated from message blueapi.gc.v1.Commitment
@@ -1888,7 +1907,7 @@ export type Commitment = Message<"blueapi.gc.v1.Commitment"> & {
1888
1907
  * Use `create(CommitmentSchema)` to create a new message.
1889
1908
  */
1890
1909
  export const CommitmentSchema: GenMessage<Commitment> = /*@__PURE__*/
1891
- messageDesc(file_gc_v1_gc, 41);
1910
+ messageDesc(file_gc_v1_gc, 42);
1892
1911
 
1893
1912
  /**
1894
1913
  * @generated from message blueapi.gc.v1.ListCommitmentsResponse
@@ -1905,7 +1924,7 @@ export type ListCommitmentsResponse = Message<"blueapi.gc.v1.ListCommitmentsResp
1905
1924
  * Use `create(ListCommitmentsResponseSchema)` to create a new message.
1906
1925
  */
1907
1926
  export const ListCommitmentsResponseSchema: GenMessage<ListCommitmentsResponse> = /*@__PURE__*/
1908
- messageDesc(file_gc_v1_gc, 42);
1927
+ messageDesc(file_gc_v1_gc, 43);
1909
1928
 
1910
1929
  /**
1911
1930
  * @generated from message blueapi.gc.v1.CommitmentsChartData
@@ -1932,7 +1951,7 @@ export type CommitmentsChartData = Message<"blueapi.gc.v1.CommitmentsChartData">
1932
1951
  * Use `create(CommitmentsChartDataSchema)` to create a new message.
1933
1952
  */
1934
1953
  export const CommitmentsChartDataSchema: GenMessage<CommitmentsChartData> = /*@__PURE__*/
1935
- messageDesc(file_gc_v1_gc, 43);
1954
+ messageDesc(file_gc_v1_gc, 44);
1936
1955
 
1937
1956
  /**
1938
1957
  * @generated from message blueapi.gc.v1.CommitmentsChartResponse
@@ -1949,7 +1968,7 @@ export type CommitmentsChartResponse = Message<"blueapi.gc.v1.CommitmentsChartRe
1949
1968
  * Use `create(CommitmentsChartResponseSchema)` to create a new message.
1950
1969
  */
1951
1970
  export const CommitmentsChartResponseSchema: GenMessage<CommitmentsChartResponse> = /*@__PURE__*/
1952
- messageDesc(file_gc_v1_gc, 44);
1971
+ messageDesc(file_gc_v1_gc, 45);
1953
1972
 
1954
1973
  /**
1955
1974
  * @generated from message blueapi.gc.v1.CommitmentsUtilizationData
@@ -2011,7 +2030,7 @@ export type CommitmentsUtilizationData = Message<"blueapi.gc.v1.CommitmentsUtili
2011
2030
  * Use `create(CommitmentsUtilizationDataSchema)` to create a new message.
2012
2031
  */
2013
2032
  export const CommitmentsUtilizationDataSchema: GenMessage<CommitmentsUtilizationData> = /*@__PURE__*/
2014
- messageDesc(file_gc_v1_gc, 45);
2033
+ messageDesc(file_gc_v1_gc, 46);
2015
2034
 
2016
2035
  /**
2017
2036
  * @generated from message blueapi.gc.v1.CommitmentsUtilizationResponse
@@ -2028,7 +2047,7 @@ export type CommitmentsUtilizationResponse = Message<"blueapi.gc.v1.CommitmentsU
2028
2047
  * Use `create(CommitmentsUtilizationResponseSchema)` to create a new message.
2029
2048
  */
2030
2049
  export const CommitmentsUtilizationResponseSchema: GenMessage<CommitmentsUtilizationResponse> = /*@__PURE__*/
2031
- messageDesc(file_gc_v1_gc, 46);
2050
+ messageDesc(file_gc_v1_gc, 47);
2032
2051
 
2033
2052
  /**
2034
2053
  * @generated from message blueapi.gc.v1.MetricsResponse
@@ -2120,7 +2139,7 @@ export type MetricsResponse = Message<"blueapi.gc.v1.MetricsResponse"> & {
2120
2139
  * Use `create(MetricsResponseSchema)` to create a new message.
2121
2140
  */
2122
2141
  export const MetricsResponseSchema: GenMessage<MetricsResponse> = /*@__PURE__*/
2123
- messageDesc(file_gc_v1_gc, 47);
2142
+ messageDesc(file_gc_v1_gc, 48);
2124
2143
 
2125
2144
  /**
2126
2145
  * @generated from message blueapi.gc.v1.Resource
@@ -2357,7 +2376,7 @@ export type Resource = Message<"blueapi.gc.v1.Resource"> & {
2357
2376
  * Use `create(ResourceSchema)` to create a new message.
2358
2377
  */
2359
2378
  export const ResourceSchema: GenMessage<Resource> = /*@__PURE__*/
2360
- messageDesc(file_gc_v1_gc, 48);
2379
+ messageDesc(file_gc_v1_gc, 49);
2361
2380
 
2362
2381
  /**
2363
2382
  * @generated from message blueapi.gc.v1.ListResourcesResponse
@@ -2374,7 +2393,7 @@ export type ListResourcesResponse = Message<"blueapi.gc.v1.ListResourcesResponse
2374
2393
  * Use `create(ListResourcesResponseSchema)` to create a new message.
2375
2394
  */
2376
2395
  export const ListResourcesResponseSchema: GenMessage<ListResourcesResponse> = /*@__PURE__*/
2377
- messageDesc(file_gc_v1_gc, 49);
2396
+ messageDesc(file_gc_v1_gc, 50);
2378
2397
 
2379
2398
  /**
2380
2399
  * @generated from message blueapi.gc.v1.ResourceDailyUsage
@@ -2461,7 +2480,7 @@ export type ResourceDailyUsage = Message<"blueapi.gc.v1.ResourceDailyUsage"> & {
2461
2480
  * Use `create(ResourceDailyUsageSchema)` to create a new message.
2462
2481
  */
2463
2482
  export const ResourceDailyUsageSchema: GenMessage<ResourceDailyUsage> = /*@__PURE__*/
2464
- messageDesc(file_gc_v1_gc, 50);
2483
+ messageDesc(file_gc_v1_gc, 51);
2465
2484
 
2466
2485
  /**
2467
2486
  * @generated from message blueapi.gc.v1.GetResourceDailyUsageResponse
@@ -2478,7 +2497,7 @@ export type GetResourceDailyUsageResponse = Message<"blueapi.gc.v1.GetResourceDa
2478
2497
  * Use `create(GetResourceDailyUsageResponseSchema)` to create a new message.
2479
2498
  */
2480
2499
  export const GetResourceDailyUsageResponseSchema: GenMessage<GetResourceDailyUsageResponse> = /*@__PURE__*/
2481
- messageDesc(file_gc_v1_gc, 51);
2500
+ messageDesc(file_gc_v1_gc, 52);
2482
2501
 
2483
2502
  /**
2484
2503
  * @generated from message blueapi.gc.v1.Segment
@@ -2515,7 +2534,7 @@ export type Segment = Message<"blueapi.gc.v1.Segment"> & {
2515
2534
  * Use `create(SegmentSchema)` to create a new message.
2516
2535
  */
2517
2536
  export const SegmentSchema: GenMessage<Segment> = /*@__PURE__*/
2518
- messageDesc(file_gc_v1_gc, 52);
2537
+ messageDesc(file_gc_v1_gc, 53);
2519
2538
 
2520
2539
  /**
2521
2540
  * @generated from message blueapi.gc.v1.ListSegmentsResponse
@@ -2532,7 +2551,7 @@ export type ListSegmentsResponse = Message<"blueapi.gc.v1.ListSegmentsResponse">
2532
2551
  * Use `create(ListSegmentsResponseSchema)` to create a new message.
2533
2552
  */
2534
2553
  export const ListSegmentsResponseSchema: GenMessage<ListSegmentsResponse> = /*@__PURE__*/
2535
- messageDesc(file_gc_v1_gc, 53);
2554
+ messageDesc(file_gc_v1_gc, 54);
2536
2555
 
2537
2556
  /**
2538
2557
  * @generated from message blueapi.gc.v1.SegmentCreator
@@ -2559,7 +2578,7 @@ export type SegmentCreator = Message<"blueapi.gc.v1.SegmentCreator"> & {
2559
2578
  * Use `create(SegmentCreatorSchema)` to create a new message.
2560
2579
  */
2561
2580
  export const SegmentCreatorSchema: GenMessage<SegmentCreator> = /*@__PURE__*/
2562
- messageDesc(file_gc_v1_gc, 54);
2581
+ messageDesc(file_gc_v1_gc, 55);
2563
2582
 
2564
2583
  /**
2565
2584
  * @generated from message blueapi.gc.v1.PurchasePlan
@@ -2591,7 +2610,7 @@ export type PurchasePlan = Message<"blueapi.gc.v1.PurchasePlan"> & {
2591
2610
  * Use `create(PurchasePlanSchema)` to create a new message.
2592
2611
  */
2593
2612
  export const PurchasePlanSchema: GenMessage<PurchasePlan> = /*@__PURE__*/
2594
- messageDesc(file_gc_v1_gc, 55);
2613
+ messageDesc(file_gc_v1_gc, 56);
2595
2614
 
2596
2615
  /**
2597
2616
  * @generated from message blueapi.gc.v1.SegmentDetails
@@ -2736,7 +2755,7 @@ export type SegmentDetails = Message<"blueapi.gc.v1.SegmentDetails"> & {
2736
2755
  * Use `create(SegmentDetailsSchema)` to create a new message.
2737
2756
  */
2738
2757
  export const SegmentDetailsSchema: GenMessage<SegmentDetails> = /*@__PURE__*/
2739
- messageDesc(file_gc_v1_gc, 56);
2758
+ messageDesc(file_gc_v1_gc, 57);
2740
2759
 
2741
2760
  /**
2742
2761
  * @generated from message blueapi.gc.v1.ContractSpec
@@ -2768,7 +2787,7 @@ export type ContractSpec = Message<"blueapi.gc.v1.ContractSpec"> & {
2768
2787
  * Use `create(ContractSpecSchema)` to create a new message.
2769
2788
  */
2770
2789
  export const ContractSpecSchema: GenMessage<ContractSpec> = /*@__PURE__*/
2771
- messageDesc(file_gc_v1_gc, 57);
2790
+ messageDesc(file_gc_v1_gc, 58);
2772
2791
 
2773
2792
  /**
2774
2793
  * @generated from message blueapi.gc.v1.PlanSummary
@@ -2855,7 +2874,7 @@ export type PlanSummary = Message<"blueapi.gc.v1.PlanSummary"> & {
2855
2874
  * Use `create(PlanSummarySchema)` to create a new message.
2856
2875
  */
2857
2876
  export const PlanSummarySchema: GenMessage<PlanSummary> = /*@__PURE__*/
2858
- messageDesc(file_gc_v1_gc, 58);
2877
+ messageDesc(file_gc_v1_gc, 59);
2859
2878
 
2860
2879
  /**
2861
2880
  * @generated from message blueapi.gc.v1.ServiceSummary
@@ -2947,7 +2966,7 @@ export type ServiceSummary = Message<"blueapi.gc.v1.ServiceSummary"> & {
2947
2966
  * Use `create(ServiceSummarySchema)` to create a new message.
2948
2967
  */
2949
2968
  export const ServiceSummarySchema: GenMessage<ServiceSummary> = /*@__PURE__*/
2950
- messageDesc(file_gc_v1_gc, 59);
2969
+ messageDesc(file_gc_v1_gc, 60);
2951
2970
 
2952
2971
  /**
2953
2972
  * @generated from message blueapi.gc.v1.AggregateMetrics
@@ -2974,7 +2993,7 @@ export type AggregateMetrics = Message<"blueapi.gc.v1.AggregateMetrics"> & {
2974
2993
  * Use `create(AggregateMetricsSchema)` to create a new message.
2975
2994
  */
2976
2995
  export const AggregateMetricsSchema: GenMessage<AggregateMetrics> = /*@__PURE__*/
2977
- messageDesc(file_gc_v1_gc, 60);
2996
+ messageDesc(file_gc_v1_gc, 61);
2978
2997
 
2979
2998
  /**
2980
2999
  * @generated from message blueapi.gc.v1.DefaultPurchasePlan
@@ -3262,7 +3281,7 @@ export type DefaultPurchasePlan = Message<"blueapi.gc.v1.DefaultPurchasePlan"> &
3262
3281
  * Use `create(DefaultPurchasePlanSchema)` to create a new message.
3263
3282
  */
3264
3283
  export const DefaultPurchasePlanSchema: GenMessage<DefaultPurchasePlan> = /*@__PURE__*/
3265
- messageDesc(file_gc_v1_gc, 61);
3284
+ messageDesc(file_gc_v1_gc, 62);
3266
3285
 
3267
3286
  /**
3268
3287
  * @generated from message blueapi.gc.v1.ListPurchasePlansBySegmentResponse
@@ -3279,7 +3298,7 @@ export type ListPurchasePlansBySegmentResponse = Message<"blueapi.gc.v1.ListPurc
3279
3298
  * Use `create(ListPurchasePlansBySegmentResponseSchema)` to create a new message.
3280
3299
  */
3281
3300
  export const ListPurchasePlansBySegmentResponseSchema: GenMessage<ListPurchasePlansBySegmentResponse> = /*@__PURE__*/
3282
- messageDesc(file_gc_v1_gc, 62);
3301
+ messageDesc(file_gc_v1_gc, 63);
3283
3302
 
3284
3303
  /**
3285
3304
  * @generated from message blueapi.gc.v1.RegisterOrgResponse
@@ -3333,7 +3352,7 @@ export type RegisterOrgResponse = Message<"blueapi.gc.v1.RegisterOrgResponse"> &
3333
3352
  * Use `create(RegisterOrgResponseSchema)` to create a new message.
3334
3353
  */
3335
3354
  export const RegisterOrgResponseSchema: GenMessage<RegisterOrgResponse> = /*@__PURE__*/
3336
- messageDesc(file_gc_v1_gc, 63);
3355
+ messageDesc(file_gc_v1_gc, 64);
3337
3356
 
3338
3357
  /**
3339
3358
  * @generated from message blueapi.gc.v1.StartAwsOnboardingResponse
@@ -3350,7 +3369,7 @@ export type StartAwsOnboardingResponse = Message<"blueapi.gc.v1.StartAwsOnboardi
3350
3369
  * Use `create(StartAwsOnboardingResponseSchema)` to create a new message.
3351
3370
  */
3352
3371
  export const StartAwsOnboardingResponseSchema: GenMessage<StartAwsOnboardingResponse> = /*@__PURE__*/
3353
- messageDesc(file_gc_v1_gc, 64);
3372
+ messageDesc(file_gc_v1_gc, 65);
3354
3373
 
3355
3374
  /**
3356
3375
  * @generated from message blueapi.gc.v1.GetAwsCloudFormationTemplateResponse
@@ -3369,7 +3388,7 @@ export type GetAwsCloudFormationTemplateResponse = Message<"blueapi.gc.v1.GetAws
3369
3388
  * Use `create(GetAwsCloudFormationTemplateResponseSchema)` to create a new message.
3370
3389
  */
3371
3390
  export const GetAwsCloudFormationTemplateResponseSchema: GenMessage<GetAwsCloudFormationTemplateResponse> = /*@__PURE__*/
3372
- messageDesc(file_gc_v1_gc, 65);
3391
+ messageDesc(file_gc_v1_gc, 66);
3373
3392
 
3374
3393
  /**
3375
3394
  * @generated from message blueapi.gc.v1.GetAwsLaunchStackUrlResponse
@@ -3386,7 +3405,7 @@ export type GetAwsLaunchStackUrlResponse = Message<"blueapi.gc.v1.GetAwsLaunchSt
3386
3405
  * Use `create(GetAwsLaunchStackUrlResponseSchema)` to create a new message.
3387
3406
  */
3388
3407
  export const GetAwsLaunchStackUrlResponseSchema: GenMessage<GetAwsLaunchStackUrlResponse> = /*@__PURE__*/
3389
- messageDesc(file_gc_v1_gc, 66);
3408
+ messageDesc(file_gc_v1_gc, 67);
3390
3409
 
3391
3410
  /**
3392
3411
  * @generated from message blueapi.gc.v1.VerifyAwsOnboardingResponse
@@ -3403,7 +3422,7 @@ export type VerifyAwsOnboardingResponse = Message<"blueapi.gc.v1.VerifyAwsOnboar
3403
3422
  * Use `create(VerifyAwsOnboardingResponseSchema)` to create a new message.
3404
3423
  */
3405
3424
  export const VerifyAwsOnboardingResponseSchema: GenMessage<VerifyAwsOnboardingResponse> = /*@__PURE__*/
3406
- messageDesc(file_gc_v1_gc, 67);
3425
+ messageDesc(file_gc_v1_gc, 68);
3407
3426
 
3408
3427
  /**
3409
3428
  * @generated from message blueapi.gc.v1.VerifyAwsOnboardingResponse.AwsOnboardingFeatureCheck
@@ -3425,7 +3444,7 @@ export type VerifyAwsOnboardingResponse_AwsOnboardingFeatureCheck = Message<"blu
3425
3444
  * Use `create(VerifyAwsOnboardingResponse_AwsOnboardingFeatureCheckSchema)` to create a new message.
3426
3445
  */
3427
3446
  export const VerifyAwsOnboardingResponse_AwsOnboardingFeatureCheckSchema: GenMessage<VerifyAwsOnboardingResponse_AwsOnboardingFeatureCheck> = /*@__PURE__*/
3428
- messageDesc(file_gc_v1_gc, 67, 0);
3447
+ messageDesc(file_gc_v1_gc, 68, 0);
3429
3448
 
3430
3449
  /**
3431
3450
  * @generated from enum blueapi.gc.v1.VerifyAwsOnboardingResponse.AwsOnboardingFeatureCheck.AwsOnboardingFeatureStatus
@@ -3461,7 +3480,7 @@ export enum VerifyAwsOnboardingResponse_AwsOnboardingFeatureCheck_AwsOnboardingF
3461
3480
  * Describes the enum blueapi.gc.v1.VerifyAwsOnboardingResponse.AwsOnboardingFeatureCheck.AwsOnboardingFeatureStatus.
3462
3481
  */
3463
3482
  export const VerifyAwsOnboardingResponse_AwsOnboardingFeatureCheck_AwsOnboardingFeatureStatusSchema: GenEnum<VerifyAwsOnboardingResponse_AwsOnboardingFeatureCheck_AwsOnboardingFeatureStatus> = /*@__PURE__*/
3464
- enumDesc(file_gc_v1_gc, 67, 0, 0);
3483
+ enumDesc(file_gc_v1_gc, 68, 0, 0);
3465
3484
 
3466
3485
  /**
3467
3486
  * @generated from message blueapi.gc.v1.GetOnboardingStatusResponse
@@ -3544,7 +3563,7 @@ export type GetOnboardingStatusResponse = Message<"blueapi.gc.v1.GetOnboardingSt
3544
3563
  * Use `create(GetOnboardingStatusResponseSchema)` to create a new message.
3545
3564
  */
3546
3565
  export const GetOnboardingStatusResponseSchema: GenMessage<GetOnboardingStatusResponse> = /*@__PURE__*/
3547
- messageDesc(file_gc_v1_gc, 68);
3566
+ messageDesc(file_gc_v1_gc, 69);
3548
3567
 
3549
3568
  /**
3550
3569
  * @generated from enum blueapi.gc.v1.GetOnboardingStatusResponse.OnboardingStatus
@@ -3594,7 +3613,7 @@ export enum GetOnboardingStatusResponse_OnboardingStatus {
3594
3613
  * Describes the enum blueapi.gc.v1.GetOnboardingStatusResponse.OnboardingStatus.
3595
3614
  */
3596
3615
  export const GetOnboardingStatusResponse_OnboardingStatusSchema: GenEnum<GetOnboardingStatusResponse_OnboardingStatus> = /*@__PURE__*/
3597
- enumDesc(file_gc_v1_gc, 68, 0);
3616
+ enumDesc(file_gc_v1_gc, 69, 0);
3598
3617
 
3599
3618
  /**
3600
3619
  * @generated from message blueapi.gc.v1.ListPayerAccountsResponse
@@ -3611,7 +3630,7 @@ export type ListPayerAccountsResponse = Message<"blueapi.gc.v1.ListPayerAccounts
3611
3630
  * Use `create(ListPayerAccountsResponseSchema)` to create a new message.
3612
3631
  */
3613
3632
  export const ListPayerAccountsResponseSchema: GenMessage<ListPayerAccountsResponse> = /*@__PURE__*/
3614
- messageDesc(file_gc_v1_gc, 69);
3633
+ messageDesc(file_gc_v1_gc, 70);
3615
3634
 
3616
3635
  /**
3617
3636
  * @generated from message blueapi.gc.v1.ListPayerAccountsResponse.PayerAccount
@@ -3647,13 +3666,20 @@ export type ListPayerAccountsResponse_PayerAccount = Message<"blueapi.gc.v1.List
3647
3666
  */
3648
3667
  companyId: string;
3649
3668
 
3669
+ /**
3670
+ * Latest persisted onboarding status for this payer account (if any)
3671
+ *
3672
+ * @generated from field: blueapi.gc.v1.GetOnboardingStatusResponse.OnboardingStatus onboardingStatus = 7;
3673
+ */
3674
+ onboardingStatus: GetOnboardingStatusResponse_OnboardingStatus;
3675
+
3650
3676
  /**
3651
3677
  * Detailed AWS verification results (best-effort) returned from the last VerifyAwsOnboarding call.
3652
3678
  * This is used by the UI to "resume" the onboarding flow and show which verification checks
3653
3679
  * passed/failed when a user comes back later (e.g., after stopping at verification).
3654
3680
  * Empty when verification hasn't been attempted yet or when no checks were persisted.
3655
3681
  *
3656
- * @generated from field: repeated blueapi.gc.v1.VerifyAwsOnboardingResponse.AwsOnboardingFeatureCheck verificationChecks = 7;
3682
+ * @generated from field: repeated blueapi.gc.v1.VerifyAwsOnboardingResponse.AwsOnboardingFeatureCheck verificationChecks = 8;
3657
3683
  */
3658
3684
  verificationChecks: VerifyAwsOnboardingResponse_AwsOnboardingFeatureCheck[];
3659
3685
  };
@@ -3663,7 +3689,7 @@ export type ListPayerAccountsResponse_PayerAccount = Message<"blueapi.gc.v1.List
3663
3689
  * Use `create(ListPayerAccountsResponse_PayerAccountSchema)` to create a new message.
3664
3690
  */
3665
3691
  export const ListPayerAccountsResponse_PayerAccountSchema: GenMessage<ListPayerAccountsResponse_PayerAccount> = /*@__PURE__*/
3666
- messageDesc(file_gc_v1_gc, 69, 0);
3692
+ messageDesc(file_gc_v1_gc, 70, 0);
3667
3693
 
3668
3694
  /**
3669
3695
  * @generated from enum blueapi.gc.v1.ListPayerAccountsResponse.PayerAccountStatus
@@ -3689,7 +3715,7 @@ export enum ListPayerAccountsResponse_PayerAccountStatus {
3689
3715
  * Describes the enum blueapi.gc.v1.ListPayerAccountsResponse.PayerAccountStatus.
3690
3716
  */
3691
3717
  export const ListPayerAccountsResponse_PayerAccountStatusSchema: GenEnum<ListPayerAccountsResponse_PayerAccountStatus> = /*@__PURE__*/
3692
- enumDesc(file_gc_v1_gc, 69, 0);
3718
+ enumDesc(file_gc_v1_gc, 70, 0);
3693
3719
 
3694
3720
  /**
3695
3721
  * @generated from message blueapi.gc.v1.SetPayerAccountEnabledResponse
@@ -3708,7 +3734,7 @@ export type SetPayerAccountEnabledResponse = Message<"blueapi.gc.v1.SetPayerAcco
3708
3734
  * Use `create(SetPayerAccountEnabledResponseSchema)` to create a new message.
3709
3735
  */
3710
3736
  export const SetPayerAccountEnabledResponseSchema: GenMessage<SetPayerAccountEnabledResponse> = /*@__PURE__*/
3711
- messageDesc(file_gc_v1_gc, 70);
3737
+ messageDesc(file_gc_v1_gc, 71);
3712
3738
 
3713
3739
  /**
3714
3740
  * @generated from message blueapi.gc.v1.GetPayerAccountStatusResponse
@@ -3725,7 +3751,33 @@ export type GetPayerAccountStatusResponse = Message<"blueapi.gc.v1.GetPayerAccou
3725
3751
  * Use `create(GetPayerAccountStatusResponseSchema)` to create a new message.
3726
3752
  */
3727
3753
  export const GetPayerAccountStatusResponseSchema: GenMessage<GetPayerAccountStatusResponse> = /*@__PURE__*/
3728
- messageDesc(file_gc_v1_gc, 71);
3754
+ messageDesc(file_gc_v1_gc, 72);
3755
+
3756
+ /**
3757
+ * @generated from message blueapi.gc.v1.ValidateBillingGroupResponse
3758
+ */
3759
+ export type ValidateBillingGroupResponse = Message<"blueapi.gc.v1.ValidateBillingGroupResponse"> & {
3760
+ /**
3761
+ * True if the company is allowed to proceed with onboarding; false otherwise.
3762
+ *
3763
+ * @generated from field: bool ok = 1;
3764
+ */
3765
+ ok: boolean;
3766
+
3767
+ /**
3768
+ * Optional human-readable reason when ok=false.
3769
+ *
3770
+ * @generated from field: string message = 2;
3771
+ */
3772
+ message: string;
3773
+ };
3774
+
3775
+ /**
3776
+ * Describes the message blueapi.gc.v1.ValidateBillingGroupResponse.
3777
+ * Use `create(ValidateBillingGroupResponseSchema)` to create a new message.
3778
+ */
3779
+ export const ValidateBillingGroupResponseSchema: GenMessage<ValidateBillingGroupResponse> = /*@__PURE__*/
3780
+ messageDesc(file_gc_v1_gc, 73);
3729
3781
 
3730
3782
  /**
3731
3783
  * @generated from message blueapi.gc.v1.ListDraftPurchasePlansResponse
@@ -3742,7 +3794,7 @@ export type ListDraftPurchasePlansResponse = Message<"blueapi.gc.v1.ListDraftPur
3742
3794
  * Use `create(ListDraftPurchasePlansResponseSchema)` to create a new message.
3743
3795
  */
3744
3796
  export const ListDraftPurchasePlansResponseSchema: GenMessage<ListDraftPurchasePlansResponse> = /*@__PURE__*/
3745
- messageDesc(file_gc_v1_gc, 72);
3797
+ messageDesc(file_gc_v1_gc, 74);
3746
3798
 
3747
3799
  /**
3748
3800
  * @generated from message blueapi.gc.v1.DeleteDraftPurchasePlanResponse
@@ -3768,7 +3820,7 @@ export type DeleteDraftPurchasePlanResponse = Message<"blueapi.gc.v1.DeleteDraft
3768
3820
  * Use `create(DeleteDraftPurchasePlanResponseSchema)` to create a new message.
3769
3821
  */
3770
3822
  export const DeleteDraftPurchasePlanResponseSchema: GenMessage<DeleteDraftPurchasePlanResponse> = /*@__PURE__*/
3771
- messageDesc(file_gc_v1_gc, 73);
3823
+ messageDesc(file_gc_v1_gc, 75);
3772
3824
 
3773
3825
  /**
3774
3826
  * @generated from enum blueapi.gc.v1.Provider
@@ -4225,6 +4277,14 @@ export const GuaranteedCommitments: GenService<{
4225
4277
  input: typeof GetPayerAccountStatusRequestSchema;
4226
4278
  output: typeof GetPayerAccountStatusResponseSchema;
4227
4279
  },
4280
+ /**
4281
+ * @generated from rpc blueapi.gc.v1.GuaranteedCommitments.ValidateBillingGroup
4282
+ */
4283
+ validateBillingGroup: {
4284
+ methodKind: "unary";
4285
+ input: typeof ValidateBillingGroupRequestSchema;
4286
+ output: typeof ValidateBillingGroupResponseSchema;
4287
+ },
4228
4288
  }> = /*@__PURE__*/
4229
4289
  serviceDesc(file_gc_v1_gc, 0);
4230
4290