diff --git a/manifests/bucketeer/charts/web/values.yaml b/manifests/bucketeer/charts/web/values.yaml index f731d86d5..860dd7dc3 100644 --- a/manifests/bucketeer/charts/web/values.yaml +++ b/manifests/bucketeer/charts/web/values.yaml @@ -114,13 +114,13 @@ envoy: featureDescriptor: CscDChpwcm90by9mZWF0dXJlL2NsYXVzZS5wcm90bxIRYnVja2V0ZWVyLmZlYXR1cmUi2gIKBkNsYXVzZRIOCgJpZBgBIAEoCVICaWQSHAoJYXR0cmlidXRlGAIgASgJUglhdHRyaWJ1dGUSPgoIb3BlcmF0b3IYAyABKA4yIi5idWNrZXRlZXIuZmVhdHVyZS5DbGF1c2UuT3BlcmF0b3JSCG9wZXJhdG9yEhYKBnZhbHVlcxgEIAMoCVIGdmFsdWVzIskBCghPcGVyYXRvchIKCgZFUVVBTFMQABIGCgJJThABEg0KCUVORFNfV0lUSBACEg8KC1NUQVJUU19XSVRIEAMSCwoHU0VHTUVOVBAEEgsKB0dSRUFURVIQBRIUChBHUkVBVEVSX09SX0VRVUFMEAYSCAoETEVTUxAHEhEKDUxFU1NfT1JfRVFVQUwQCBIKCgZCRUZPUkUQCRIJCgVBRlRFUhAKEhAKDEZFQVRVUkVfRkxBRxALEhMKD1BBUlRJQUxMWV9NQVRDSBAMQjFaL2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9mZWF0dXJlYgZwcm90bzMK5AEKGWdvb2dsZS9wcm90b2J1Zi9hbnkucHJvdG8SD2dvb2dsZS5wcm90b2J1ZiI2CgNBbnkSGQoIdHlwZV91cmwYASABKAlSB3R5cGVVcmwSFAoFdmFsdWUYAiABKAxSBXZhbHVlQnYKE2NvbS5nb29nbGUucHJvdG9idWZCCEFueVByb3RvUAFaLGdvb2dsZS5nb2xhbmcub3JnL3Byb3RvYnVmL3R5cGVzL2tub3duL2FueXBiogIDR1BCqgIeR29vZ2xlLlByb3RvYnVmLldlbGxLbm93blR5cGVzYgZwcm90bzMKhgQKHmdvb2dsZS9wcm90b2J1Zi93cmFwcGVycy5wcm90bxIPZ29vZ2xlLnByb3RvYnVmIiMKC0RvdWJsZVZhbHVlEhQKBXZhbHVlGAEgASgBUgV2YWx1ZSIiCgpGbG9hdFZhbHVlEhQKBXZhbHVlGAEgASgCUgV2YWx1ZSIiCgpJbnQ2NFZhbHVlEhQKBXZhbHVlGAEgASgDUgV2YWx1ZSIjCgtVSW50NjRWYWx1ZRIUCgV2YWx1ZRgBIAEoBFIFdmFsdWUiIgoKSW50MzJWYWx1ZRIUCgV2YWx1ZRgBIAEoBVIFdmFsdWUiIwoLVUludDMyVmFsdWUSFAoFdmFsdWUYASABKA1SBXZhbHVlIiEKCUJvb2xWYWx1ZRIUCgV2YWx1ZRgBIAEoCFIFdmFsdWUiIwoLU3RyaW5nVmFsdWUSFAoFdmFsdWUYASABKAlSBXZhbHVlIiIKCkJ5dGVzVmFsdWUSFAoFdmFsdWUYASABKAxSBXZhbHVlQoMBChNjb20uZ29vZ2xlLnByb3RvYnVmQg1XcmFwcGVyc1Byb3RvUAFaMWdvb2dsZS5nb2xhbmcub3JnL3Byb3RvYnVmL3R5cGVzL2tub3duL3dyYXBwZXJzcGL4AQGiAgNHUEKqAh5Hb29nbGUuUHJvdG9idWYuV2VsbEtub3duVHlwZXNiBnByb3RvMwq7BAoccHJvdG8vZmVhdHVyZS9zdHJhdGVneS5wcm90bxIRYnVja2V0ZWVyLmZlYXR1cmUiLQoNRml4ZWRTdHJhdGVneRIcCgl2YXJpYXRpb24YASABKAlSCXZhcmlhdGlvbiKiAQoPUm9sbG91dFN0cmF0ZWd5EkwKCnZhcmlhdGlvbnMYASADKAsyLC5idWNrZXRlZXIuZmVhdHVyZS5Sb2xsb3V0U3RyYXRlZ3kuVmFyaWF0aW9uUgp2YXJpYXRpb25zGkEKCVZhcmlhdGlvbhIcCgl2YXJpYXRpb24YASABKAlSCXZhcmlhdGlvbhIWCgZ3ZWlnaHQYAiABKAVSBndlaWdodCL4AQoIU3RyYXRlZ3kSNAoEdHlwZRgBIAEoDjIgLmJ1Y2tldGVlci5mZWF0dXJlLlN0cmF0ZWd5LlR5cGVSBHR5cGUSRwoOZml4ZWRfc3RyYXRlZ3kYAiABKAsyIC5idWNrZXRlZXIuZmVhdHVyZS5GaXhlZFN0cmF0ZWd5Ug1maXhlZFN0cmF0ZWd5Ek0KEHJvbGxvdXRfc3RyYXRlZ3kYAyABKAsyIi5idWNrZXRlZXIuZmVhdHVyZS5Sb2xsb3V0U3RyYXRlZ3lSD3JvbGxvdXRTdHJhdGVneSIeCgRUeXBlEgkKBUZJWEVEEAASCwoHUk9MTE9VVBABQjFaL2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9mZWF0dXJlYgZwcm90bzMKqQIKGHByb3RvL2ZlYXR1cmUvcnVsZS5wcm90bxIRYnVja2V0ZWVyLmZlYXR1cmUaGnByb3RvL2ZlYXR1cmUvY2xhdXNlLnByb3RvGhxwcm90by9mZWF0dXJlL3N0cmF0ZWd5LnByb3RvIoQBCgRSdWxlEg4KAmlkGAEgASgJUgJpZBI3CghzdHJhdGVneRgCIAEoCzIbLmJ1Y2tldGVlci5mZWF0dXJlLlN0cmF0ZWd5UghzdHJhdGVneRIzCgdjbGF1c2VzGAMgAygLMhkuYnVja2V0ZWVyLmZlYXR1cmUuQ2xhdXNlUgdjbGF1c2VzQjFaL2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9mZWF0dXJlYgZwcm90bzMKqAEKGnByb3RvL2ZlYXR1cmUvdGFyZ2V0LnByb3RvEhFidWNrZXRlZXIuZmVhdHVyZSI8CgZUYXJnZXQSHAoJdmFyaWF0aW9uGAEgASgJUgl2YXJpYXRpb24SFAoFdXNlcnMYAiADKAlSBXVzZXJzQjFaL2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9mZWF0dXJlYgZwcm90bzMK1gEKHXByb3RvL2ZlYXR1cmUvdmFyaWF0aW9uLnByb3RvEhFidWNrZXRlZXIuZmVhdHVyZSJnCglWYXJpYXRpb24SDgoCaWQYASABKAlSAmlkEhQKBXZhbHVlGAIgASgJUgV2YWx1ZRISCgRuYW1lGAMgASgJUgRuYW1lEiAKC2Rlc2NyaXB0aW9uGAQgASgJUgtkZXNjcmlwdGlvbkIxWi9naXRodWIuY29tL2J1Y2tldGVlci1pby9idWNrZXRlZXIvcHJvdG8vZmVhdHVyZWIGcHJvdG8zCvQCCipwcm90by9mZWF0dXJlL2ZlYXR1cmVfbGFzdF91c2VkX2luZm8ucHJvdG8SEWJ1Y2tldGVlci5mZWF0dXJlIvcBChNGZWF0dXJlTGFzdFVzZWRJbmZvEh0KCmZlYXR1cmVfaWQYASABKAlSCWZlYXR1cmVJZBIYCgd2ZXJzaW9uGAIgASgFUgd2ZXJzaW9uEiAKDGxhc3RfdXNlZF9hdBgDIAEoA1IKbGFzdFVzZWRBdBIdCgpjcmVhdGVkX2F0GAQgASgDUgljcmVhdGVkQXQSMgoVY2xpZW50X29sZGVzdF92ZXJzaW9uGAUgASgJUhNjbGllbnRPbGRlc3RWZXJzaW9uEjIKFWNsaWVudF9sYXRlc3RfdmVyc2lvbhgGIAEoCVITY2xpZW50TGF0ZXN0VmVyc2lvbkIxWi9naXRodWIuY29tL2J1Y2tldGVlci1pby9idWNrZXRlZXIvcHJvdG8vZmVhdHVyZWIGcHJvdG8zCsIBCiBwcm90by9mZWF0dXJlL3ByZXJlcXVpc2l0ZS5wcm90bxIRYnVja2V0ZWVyLmZlYXR1cmUiUAoMUHJlcmVxdWlzaXRlEh0KCmZlYXR1cmVfaWQYASABKAlSCWZlYXR1cmVJZBIhCgx2YXJpYXRpb25faWQYAiABKAlSC3ZhcmlhdGlvbklkQjFaL2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9mZWF0dXJlYgZwcm90bzMKswwKG3Byb3RvL2ZlYXR1cmUvZmVhdHVyZS5wcm90bxIRYnVja2V0ZWVyLmZlYXR1cmUaGHByb3RvL2ZlYXR1cmUvcnVsZS5wcm90bxoacHJvdG8vZmVhdHVyZS90YXJnZXQucHJvdG8aHXByb3RvL2ZlYXR1cmUvdmFyaWF0aW9uLnByb3RvGhxwcm90by9mZWF0dXJlL3N0cmF0ZWd5LnByb3RvGipwcm90by9mZWF0dXJlL2ZlYXR1cmVfbGFzdF91c2VkX2luZm8ucHJvdG8aIHByb3RvL2ZlYXR1cmUvcHJlcmVxdWlzaXRlLnByb3RvItIHCgdGZWF0dXJlEg4KAmlkGAEgASgJUgJpZBISCgRuYW1lGAIgASgJUgRuYW1lEiAKC2Rlc2NyaXB0aW9uGAMgASgJUgtkZXNjcmlwdGlvbhIYCgdlbmFibGVkGAQgASgIUgdlbmFibGVkEhgKB2RlbGV0ZWQYBSABKAhSB2RlbGV0ZWQSOQoWZXZhbHVhdGlvbl91bmRlbGF5YWJsZRgGIAEoCEICGAFSFWV2YWx1YXRpb25VbmRlbGF5YWJsZRIQCgN0dGwYByABKAVSA3R0bBIYCgd2ZXJzaW9uGAggASgFUgd2ZXJzaW9uEh0KCmNyZWF0ZWRfYXQYCSABKANSCWNyZWF0ZWRBdBIdCgp1cGRhdGVkX2F0GAogASgDUgl1cGRhdGVkQXQSPAoKdmFyaWF0aW9ucxgLIAMoCzIcLmJ1Y2tldGVlci5mZWF0dXJlLlZhcmlhdGlvblIKdmFyaWF0aW9ucxIzCgd0YXJnZXRzGAwgAygLMhkuYnVja2V0ZWVyLmZlYXR1cmUuVGFyZ2V0Ugd0YXJnZXRzEi0KBXJ1bGVzGA0gAygLMhcuYnVja2V0ZWVyLmZlYXR1cmUuUnVsZVIFcnVsZXMSRgoQZGVmYXVsdF9zdHJhdGVneRgOIAEoCzIbLmJ1Y2tldGVlci5mZWF0dXJlLlN0cmF0ZWd5Ug9kZWZhdWx0U3RyYXRlZ3kSIwoNb2ZmX3ZhcmlhdGlvbhgPIAEoCVIMb2ZmVmFyaWF0aW9uEhIKBHRhZ3MYECADKAlSBHRhZ3MSTAoObGFzdF91c2VkX2luZm8YESABKAsyJi5idWNrZXRlZXIuZmVhdHVyZS5GZWF0dXJlTGFzdFVzZWRJbmZvUgxsYXN0VXNlZEluZm8SHgoKbWFpbnRhaW5lchgSIAEoCVIKbWFpbnRhaW5lchJPCg52YXJpYXRpb25fdHlwZRgTIAEoDjIoLmJ1Y2tldGVlci5mZWF0dXJlLkZlYXR1cmUuVmFyaWF0aW9uVHlwZVINdmFyaWF0aW9uVHlwZRIaCghhcmNoaXZlZBgUIAEoCFIIYXJjaGl2ZWQSRQoNcHJlcmVxdWlzaXRlcxgVIAMoCzIfLmJ1Y2tldGVlci5mZWF0dXJlLlByZXJlcXVpc2l0ZVINcHJlcmVxdWlzaXRlcxIjCg1zYW1wbGluZ19zZWVkGBYgASgJUgxzYW1wbGluZ1NlZWQiPgoNVmFyaWF0aW9uVHlwZRIKCgZTVFJJTkcQABILCgdCT09MRUFOEAESCgoGTlVNQkVSEAISCAoESlNPThADIlIKCEZlYXR1cmVzEjYKCGZlYXR1cmVzGAEgAygLMhouYnVja2V0ZWVyLmZlYXR1cmUuRmVhdHVyZVIIZmVhdHVyZXMSDgoCaWQYAiABKAlSAmlkInMKEkVudmlyb25tZW50RmVhdHVyZRIlCg5lbnZpcm9ubWVudF9pZBgBIAEoCVINZW52aXJvbm1lbnRJZBI2CghmZWF0dXJlcxgCIAMoCzIaLmJ1Y2tldGVlci5mZWF0dXJlLkZlYXR1cmVSCGZlYXR1cmVzImcKA1RhZxIOCgJpZBgBIAEoCVICaWQSHQoKY3JlYXRlZF9hdBgCIAEoA1IJY3JlYXRlZEF0Eh0KCnVwZGF0ZWRfYXQYAyABKANSCXVwZGF0ZWRBdBISCgRuYW1lGAQgASgJUgRuYW1lQjFaL2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9mZWF0dXJlYgZwcm90bzMKtQgKG3Byb3RvL2ZlYXR1cmUvc2VnbWVudC5wcm90bxIRYnVja2V0ZWVyLmZlYXR1cmUaGHByb3RvL2ZlYXR1cmUvcnVsZS5wcm90bxobcHJvdG8vZmVhdHVyZS9mZWF0dXJlLnByb3RvIrQECgdTZWdtZW50Eg4KAmlkGAEgASgJUgJpZBISCgRuYW1lGAIgASgJUgRuYW1lEiAKC2Rlc2NyaXB0aW9uGAMgASgJUgtkZXNjcmlwdGlvbhItCgVydWxlcxgEIAMoCzIXLmJ1Y2tldGVlci5mZWF0dXJlLlJ1bGVSBXJ1bGVzEh0KCmNyZWF0ZWRfYXQYBSABKANSCWNyZWF0ZWRBdBIdCgp1cGRhdGVkX2F0GAYgASgDUgl1cGRhdGVkQXQSHAoHdmVyc2lvbhgHIAEoA0ICGAFSB3ZlcnNpb24SGAoHZGVsZXRlZBgIIAEoCFIHZGVsZXRlZBIuChNpbmNsdWRlZF91c2VyX2NvdW50GAkgASgDUhFpbmNsdWRlZFVzZXJDb3VudBIyChNleGNsdWRlZF91c2VyX2NvdW50GAogASgDQgIYAVIRZXhjbHVkZWRVc2VyQ291bnQSOQoGc3RhdHVzGAsgASgOMiEuYnVja2V0ZWVyLmZlYXR1cmUuU2VnbWVudC5TdGF0dXNSBnN0YXR1cxInChBpc19pbl91c2Vfc3RhdHVzGAwgASgIUg1pc0luVXNlU3RhdHVzEjYKCGZlYXR1cmVzGA0gAygLMhouYnVja2V0ZWVyLmZlYXR1cmUuRmVhdHVyZVIIZmVhdHVyZXMiPgoGU3RhdHVzEgsKB0lOSVRJQUwQABINCglVUExPQURJTkcQARIMCghTVUNFRURFRBACEgoKBkZBSUxFRBADItQBCgtTZWdtZW50VXNlchIOCgJpZBgBIAEoCVICaWQSHQoKc2VnbWVudF9pZBgCIAEoCVIJc2VnbWVudElkEhcKB3VzZXJfaWQYAyABKAlSBnVzZXJJZBI6CgVzdGF0ZRgEIAEoDjIkLmJ1Y2tldGVlci5mZWF0dXJlLlNlZ21lbnRVc2VyLlN0YXRlUgVzdGF0ZRIYCgdkZWxldGVkGAUgASgIUgdkZWxldGVkIicKBVN0YXRlEgwKCElOQ0xVREVEEAASEAoIRVhDTFVERUQQARoCCAEiggEKDFNlZ21lbnRVc2VycxIdCgpzZWdtZW50X2lkGAEgASgJUglzZWdtZW50SWQSNAoFdXNlcnMYAiADKAsyHi5idWNrZXRlZXIuZmVhdHVyZS5TZWdtZW50VXNlclIFdXNlcnMSHQoKdXBkYXRlZF9hdBgDIAEoA1IJdXBkYXRlZEF0QjFaL2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9mZWF0dXJlYgZwcm90bzMKoAUKIHByb3RvL2ZlYXR1cmUvZmxhZ190cmlnZ2VyLnByb3RvEhFidWNrZXRlZXIuZmVhdHVyZSKtBAoLRmxhZ1RyaWdnZXISDgoCaWQYASABKAlSAmlkEh0KCmZlYXR1cmVfaWQYAiABKAlSCWZlYXR1cmVJZBI3CgR0eXBlGAQgASgOMiMuYnVja2V0ZWVyLmZlYXR1cmUuRmxhZ1RyaWdnZXIuVHlwZVIEdHlwZRI9CgZhY3Rpb24YBSABKA4yJS5idWNrZXRlZXIuZmVhdHVyZS5GbGFnVHJpZ2dlci5BY3Rpb25SBmFjdGlvbhIgCgtkZXNjcmlwdGlvbhgGIAEoCVILZGVzY3JpcHRpb24SIwoNdHJpZ2dlcl9jb3VudBgHIAEoBVIMdHJpZ2dlckNvdW50EioKEWxhc3RfdHJpZ2dlcmVkX2F0GAggASgDUg9sYXN0VHJpZ2dlcmVkQXQSFAoFdG9rZW4YCSABKAlSBXRva2VuEhoKCGRpc2FibGVkGAogASgIUghkaXNhYmxlZBIdCgpjcmVhdGVkX2F0GAsgASgDUgljcmVhdGVkQXQSHQoKdXBkYXRlZF9hdBgMIAEoA1IJdXBkYXRlZEF0EiUKDmVudmlyb25tZW50X2lkGA0gASgJUg1lbnZpcm9ubWVudElkIioKBFR5cGUSEAoMVHlwZV9VTktOT1dOEAASEAoMVHlwZV9XRUJIT09LEAEiOwoGQWN0aW9uEhIKDkFjdGlvbl9VTktOT1dOEAASDQoJQWN0aW9uX09OEAESDgoKQWN0aW9uX09GRhACSgQIAxAEQjFaL2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9mZWF0dXJlYgZwcm90bzMKwCMKG3Byb3RvL2ZlYXR1cmUvY29tbWFuZC5wcm90bxIRYnVja2V0ZWVyLmZlYXR1cmUaGWdvb2dsZS9wcm90b2J1Zi9hbnkucHJvdG8aHmdvb2dsZS9wcm90b2J1Zi93cmFwcGVycy5wcm90bxoacHJvdG8vZmVhdHVyZS9jbGF1c2UucHJvdG8aG3Byb3RvL2ZlYXR1cmUvZmVhdHVyZS5wcm90bxoYcHJvdG8vZmVhdHVyZS9ydWxlLnByb3RvGh1wcm90by9mZWF0dXJlL3ZhcmlhdGlvbi5wcm90bxoccHJvdG8vZmVhdHVyZS9zdHJhdGVneS5wcm90bxobcHJvdG8vZmVhdHVyZS9zZWdtZW50LnByb3RvGiBwcm90by9mZWF0dXJlL3ByZXJlcXVpc2l0ZS5wcm90bxogcHJvdG8vZmVhdHVyZS9mbGFnX3RyaWdnZXIucHJvdG8iOQoHQ29tbWFuZBIuCgdjb21tYW5kGAEgASgLMhQuZ29vZ2xlLnByb3RvYnVmLkFueVIHY29tbWFuZCK1AwoUQ3JlYXRlRmVhdHVyZUNvbW1hbmQSDgoCaWQYASABKAlSAmlkEhIKBG5hbWUYAiABKAlSBG5hbWUSIAoLZGVzY3JpcHRpb24YAyABKAlSC2Rlc2NyaXB0aW9uEjwKCnZhcmlhdGlvbnMYBCADKAsyHC5idWNrZXRlZXIuZmVhdHVyZS5WYXJpYXRpb25SCnZhcmlhdGlvbnMSEgoEdGFncxgFIAMoCVIEdGFncxJYChpkZWZhdWx0X29uX3ZhcmlhdGlvbl9pbmRleBgGIAEoCzIbLmdvb2dsZS5wcm90b2J1Zi5JbnQzMlZhbHVlUhdkZWZhdWx0T25WYXJpYXRpb25JbmRleBJaChtkZWZhdWx0X29mZl92YXJpYXRpb25faW5kZXgYByABKAsyGy5nb29nbGUucHJvdG9idWYuSW50MzJWYWx1ZVIYZGVmYXVsdE9mZlZhcmlhdGlvbkluZGV4Ek8KDnZhcmlhdGlvbl90eXBlGAggASgOMiguYnVja2V0ZWVyLmZlYXR1cmUuRmVhdHVyZS5WYXJpYXRpb25UeXBlUg12YXJpYXRpb25UeXBlIhcKFUFyY2hpdmVGZWF0dXJlQ29tbWFuZCIZChdVbmFyY2hpdmVGZWF0dXJlQ29tbWFuZCIWChREZWxldGVGZWF0dXJlQ29tbWFuZCIqChRSZW5hbWVGZWF0dXJlQ29tbWFuZBISCgRuYW1lGAEgASgJUgRuYW1lIjwKGENoYW5nZURlc2NyaXB0aW9uQ29tbWFuZBIgCgtkZXNjcmlwdGlvbhgBIAEoCVILZGVzY3JpcHRpb24iuAEKKUNoYW5nZUJ1bGtVcGxvYWRTZWdtZW50VXNlcnNTdGF0dXNDb21tYW5kEjkKBnN0YXR1cxgBIAEoDjIhLmJ1Y2tldGVlci5mZWF0dXJlLlNlZ21lbnQuU3RhdHVzUgZzdGF0dXMSOgoFc3RhdGUYAiABKA4yJC5idWNrZXRlZXIuZmVhdHVyZS5TZWdtZW50VXNlci5TdGF0ZVIFc3RhdGUSFAoFY291bnQYAyABKANSBWNvdW50IiEKDUFkZFRhZ0NvbW1hbmQSEAoDdGFnGAEgASgJUgN0YWciJAoQUmVtb3ZlVGFnQ29tbWFuZBIQCgN0YWcYASABKAlSA3RhZyIWChRFbmFibGVGZWF0dXJlQ29tbWFuZCIXChVEaXNhYmxlRmVhdHVyZUNvbW1hbmQiYQoTQWRkVmFyaWF0aW9uQ29tbWFuZBIUCgV2YWx1ZRgBIAEoCVIFdmFsdWUSEgoEbmFtZRgCIAEoCVIEbmFtZRIgCgtkZXNjcmlwdGlvbhgDIAEoCVILZGVzY3JpcHRpb24iKAoWUmVtb3ZlVmFyaWF0aW9uQ29tbWFuZBIOCgJpZBgBIAEoCVICaWQiQwobQ2hhbmdlVmFyaWF0aW9uVmFsdWVDb21tYW5kEg4KAmlkGAEgASgJUgJpZBIUCgV2YWx1ZRgCIAEoCVIFdmFsdWUiQAoaQ2hhbmdlVmFyaWF0aW9uTmFtZUNvbW1hbmQSDgoCaWQYASABKAlSAmlkEhIKBG5hbWUYAiABKAlSBG5hbWUiVQohQ2hhbmdlVmFyaWF0aW9uRGVzY3JpcHRpb25Db21tYW5kEg4KAmlkGAEgASgJUgJpZBIgCgtkZXNjcmlwdGlvbhgCIAEoCVILZGVzY3JpcHRpb24iKwoZQ2hhbmdlT2ZmVmFyaWF0aW9uQ29tbWFuZBIOCgJpZBgBIAEoCVICaWQiPwoZQWRkVXNlclRvVmFyaWF0aW9uQ29tbWFuZBIOCgJpZBgBIAEoCVICaWQSEgoEdXNlchgCIAEoCVIEdXNlciJECh5SZW1vdmVVc2VyRnJvbVZhcmlhdGlvbkNvbW1hbmQSDgoCaWQYASABKAlSAmlkEhIKBHVzZXIYAiABKAlSBHVzZXIiVwocQ2hhbmdlRGVmYXVsdFN0cmF0ZWd5Q29tbWFuZBI3CghzdHJhdGVneRgBIAEoCzIbLmJ1Y2tldGVlci5mZWF0dXJlLlN0cmF0ZWd5UghzdHJhdGVneSI9Cg5BZGRSdWxlQ29tbWFuZBIrCgRydWxlGAEgASgLMhcuYnVja2V0ZWVyLmZlYXR1cmUuUnVsZVIEcnVsZSJ9ChlDaGFuZ2VSdWxlU3RyYXRlZ3lDb21tYW5kEg4KAmlkGAEgASgJUgJpZBIXCgdydWxlX2lkGAIgASgJUgZydWxlSWQSNwoIc3RyYXRlZ3kYAyABKAsyGy5idWNrZXRlZXIuZmVhdHVyZS5TdHJhdGVneVIIc3RyYXRlZ3kiNAoXQ2hhbmdlUnVsZXNPcmRlckNvbW1hbmQSGQoIcnVsZV9pZHMYAiADKAlSB3J1bGVJZHMiIwoRRGVsZXRlUnVsZUNvbW1hbmQSDgoCaWQYASABKAlSAmlkIl4KEEFkZENsYXVzZUNvbW1hbmQSFwoHcnVsZV9pZBgBIAEoCVIGcnVsZUlkEjEKBmNsYXVzZRgCIAEoCzIZLmJ1Y2tldGVlci5mZWF0dXJlLkNsYXVzZVIGY2xhdXNlIj4KE0RlbGV0ZUNsYXVzZUNvbW1hbmQSDgoCaWQYASABKAlSAmlkEhcKB3J1bGVfaWQYAiABKAlSBnJ1bGVJZCJlChxDaGFuZ2VDbGF1c2VBdHRyaWJ1dGVDb21tYW5kEg4KAmlkGAEgASgJUgJpZBIXCgdydWxlX2lkGAIgASgJUgZydWxlSWQSHAoJYXR0cmlidXRlGAMgASgJUglhdHRyaWJ1dGUihgEKG0NoYW5nZUNsYXVzZU9wZXJhdG9yQ29tbWFuZBIOCgJpZBgBIAEoCVICaWQSFwoHcnVsZV9pZBgCIAEoCVIGcnVsZUlkEj4KCG9wZXJhdG9yGAMgASgOMiIuYnVja2V0ZWVyLmZlYXR1cmUuQ2xhdXNlLk9wZXJhdG9yUghvcGVyYXRvciJWChVBZGRDbGF1c2VWYWx1ZUNvbW1hbmQSDgoCaWQYASABKAlSAmlkEhcKB3J1bGVfaWQYAiABKAlSBnJ1bGVJZBIUCgV2YWx1ZRgDIAEoCVIFdmFsdWUiWQoYUmVtb3ZlQ2xhdXNlVmFsdWVDb21tYW5kEg4KAmlkGAEgASgJUgJpZBIXCgdydWxlX2lkGAIgASgJUgZydWxlSWQSFAoFdmFsdWUYAyABKAlSBXZhbHVlIoMBChpDaGFuZ2VGaXhlZFN0cmF0ZWd5Q29tbWFuZBIOCgJpZBgBIAEoCVICaWQSFwoHcnVsZV9pZBgCIAEoCVIGcnVsZUlkEjwKCHN0cmF0ZWd5GAMgASgLMiAuYnVja2V0ZWVyLmZlYXR1cmUuRml4ZWRTdHJhdGVneVIIc3RyYXRlZ3kihwEKHENoYW5nZVJvbGxvdXRTdHJhdGVneUNvbW1hbmQSDgoCaWQYASABKAlSAmlkEhcKB3J1bGVfaWQYAiABKAlSBnJ1bGVJZBI+CghzdHJhdGVneRgDIAEoCzIiLmJ1Y2tldGVlci5mZWF0dXJlLlJvbGxvdXRTdHJhdGVneVIIc3RyYXRlZ3kiTAoUQ3JlYXRlU2VnbWVudENvbW1hbmQSEgoEbmFtZRgBIAEoCVIEbmFtZRIgCgtkZXNjcmlwdGlvbhgCIAEoCVILZGVzY3JpcHRpb24iFgoURGVsZXRlU2VnbWVudENvbW1hbmQiLgoYQ2hhbmdlU2VnbWVudE5hbWVDb21tYW5kEhIKBG5hbWUYASABKAlSBG5hbWUiQwofQ2hhbmdlU2VnbWVudERlc2NyaXB0aW9uQ29tbWFuZBIgCgtkZXNjcmlwdGlvbhgBIAEoCVILZGVzY3JpcHRpb24ibgoVQWRkU2VnbWVudFVzZXJDb21tYW5kEhkKCHVzZXJfaWRzGAEgAygJUgd1c2VySWRzEjoKBXN0YXRlGAIgASgOMiQuYnVja2V0ZWVyLmZlYXR1cmUuU2VnbWVudFVzZXIuU3RhdGVSBXN0YXRlInEKGERlbGV0ZVNlZ21lbnRVc2VyQ29tbWFuZBIZCgh1c2VyX2lkcxgBIAMoCVIHdXNlcklkcxI6CgVzdGF0ZRgCIAEoDjIkLmJ1Y2tldGVlci5mZWF0dXJlLlNlZ21lbnRVc2VyLlN0YXRlUgVzdGF0ZSJvCh1CdWxrVXBsb2FkU2VnbWVudFVzZXJzQ29tbWFuZBISCgRkYXRhGAEgASgMUgRkYXRhEjoKBXN0YXRlGAIgASgOMiQuYnVja2V0ZWVyLmZlYXR1cmUuU2VnbWVudFVzZXIuU3RhdGVSBXN0YXRlIiAKHkluY3JlbWVudEZlYXR1cmVWZXJzaW9uQ29tbWFuZCJCChNDbG9uZUZlYXR1cmVDb21tYW5kEiUKDmVudmlyb25tZW50X2lkGAIgASgJUg1lbnZpcm9ubWVudElkSgQIARACIhoKGFJlc2V0U2FtcGxpbmdTZWVkQ29tbWFuZCJdChZBZGRQcmVyZXF1aXNpdGVDb21tYW5kEkMKDHByZXJlcXVpc2l0ZRgBIAEoCzIfLmJ1Y2tldGVlci5mZWF0dXJlLlByZXJlcXVpc2l0ZVIMcHJlcmVxdWlzaXRlIjoKGVJlbW92ZVByZXJlcXVpc2l0ZUNvbW1hbmQSHQoKZmVhdHVyZV9pZBgBIAEoCVIJZmVhdHVyZUlkImkKIkNoYW5nZVByZXJlcXVpc2l0ZVZhcmlhdGlvbkNvbW1hbmQSQwoMcHJlcmVxdWlzaXRlGAEgASgLMh8uYnVja2V0ZWVyLmZlYXR1cmUuUHJlcmVxdWlzaXRlUgxwcmVyZXF1aXNpdGUi0wEKGENyZWF0ZUZsYWdUcmlnZ2VyQ29tbWFuZBIdCgpmZWF0dXJlX2lkGAEgASgJUglmZWF0dXJlSWQSNwoEdHlwZRgCIAEoDjIjLmJ1Y2tldGVlci5mZWF0dXJlLkZsYWdUcmlnZ2VyLlR5cGVSBHR5cGUSPQoGYWN0aW9uGAMgASgOMiUuYnVja2V0ZWVyLmZlYXR1cmUuRmxhZ1RyaWdnZXIuQWN0aW9uUgZhY3Rpb24SIAoLZGVzY3JpcHRpb24YBCABKAlSC2Rlc2NyaXB0aW9uIhkKF1Jlc2V0RmxhZ1RyaWdnZXJDb21tYW5kIkcKI0NoYW5nZUZsYWdUcmlnZ2VyRGVzY3JpcHRpb25Db21tYW5kEiAKC2Rlc2NyaXB0aW9uGAEgASgJUgtkZXNjcmlwdGlvbiIaChhFbmFibGVGbGFnVHJpZ2dlckNvbW1hbmQiGwoZRGlzYWJsZUZsYWdUcmlnZ2VyQ29tbWFuZCIaChhEZWxldGVGbGFnVHJpZ2dlckNvbW1hbmQiHwodVXBkYXRlRmxhZ1RyaWdnZXJVc2FnZUNvbW1hbmRCMVovZ2l0aHViLmNvbS9idWNrZXRlZXItaW8vYnVja2V0ZWVyL3Byb3RvL2ZlYXR1cmViBnByb3RvMwqeAgoacHJvdG8vZmVhdHVyZS9yZWFzb24ucHJvdG8SEWJ1Y2tldGVlci5mZWF0dXJlIrEBCgZSZWFzb24SMgoEdHlwZRgBIAEoDjIeLmJ1Y2tldGVlci5mZWF0dXJlLlJlYXNvbi5UeXBlUgR0eXBlEhcKB3J1bGVfaWQYAiABKAlSBnJ1bGVJZCJaCgRUeXBlEgoKBlRBUkdFVBAAEggKBFJVTEUQARILCgdERUZBVUxUEAMSCgoGQ0xJRU5UEAQSEQoNT0ZGX1ZBUklBVElPThAFEhAKDFBSRVJFUVVJU0lURRAGQjFaL2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9mZWF0dXJlYgZwcm90bzMKmAYKHnByb3RvL2ZlYXR1cmUvZXZhbHVhdGlvbi5wcm90bxIRYnVja2V0ZWVyLmZlYXR1cmUaHXByb3RvL2ZlYXR1cmUvdmFyaWF0aW9uLnByb3RvGhpwcm90by9mZWF0dXJlL3JlYXNvbi5wcm90byLjAgoKRXZhbHVhdGlvbhIOCgJpZBgBIAEoCVICaWQSHQoKZmVhdHVyZV9pZBgCIAEoCVIJZmVhdHVyZUlkEicKD2ZlYXR1cmVfdmVyc2lvbhgDIAEoBVIOZmVhdHVyZVZlcnNpb24SFwoHdXNlcl9pZBgEIAEoCVIGdXNlcklkEiEKDHZhcmlhdGlvbl9pZBgFIAEoCVILdmFyaWF0aW9uSWQSPgoJdmFyaWF0aW9uGAYgASgLMhwuYnVja2V0ZWVyLmZlYXR1cmUuVmFyaWF0aW9uQgIYAVIJdmFyaWF0aW9uEjEKBnJlYXNvbhgHIAEoCzIZLmJ1Y2tldGVlci5mZWF0dXJlLlJlYXNvblIGcmVhc29uEicKD3ZhcmlhdGlvbl92YWx1ZRgIIAEoCVIOdmFyaWF0aW9uVmFsdWUSJQoOdmFyaWF0aW9uX25hbWUYCSABKAlSDXZhcmlhdGlvbk5hbWUihgIKD1VzZXJFdmFsdWF0aW9ucxISCgJpZBgBIAEoCUICGAFSAmlkEj8KC2V2YWx1YXRpb25zGAIgAygLMh0uYnVja2V0ZWVyLmZlYXR1cmUuRXZhbHVhdGlvblILZXZhbHVhdGlvbnMSHQoKY3JlYXRlZF9hdBgDIAEoA1IJY3JlYXRlZEF0EjAKFGFyY2hpdmVkX2ZlYXR1cmVfaWRzGAQgAygJUhJhcmNoaXZlZEZlYXR1cmVJZHMSIQoMZm9yY2VfdXBkYXRlGAUgASgIUgtmb3JjZVVwZGF0ZSIqCgVTdGF0ZRIKCgZRVUVVRUQQABILCgdQQVJUSUFMEAESCAoERlVMTBACQjFaL2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9mZWF0dXJlYgZwcm90bzMKhwUKFWdvb2dsZS9hcGkvaHR0cC5wcm90bxIKZ29vZ2xlLmFwaSJ5CgRIdHRwEioKBXJ1bGVzGAEgAygLMhQuZ29vZ2xlLmFwaS5IdHRwUnVsZVIFcnVsZXMSRQofZnVsbHlfZGVjb2RlX3Jlc2VydmVkX2V4cGFuc2lvbhgCIAEoCFIcZnVsbHlEZWNvZGVSZXNlcnZlZEV4cGFuc2lvbiK1AgoISHR0cFJ1bGUSGgoIc2VsZWN0b3IYASABKAlSCHNlbGVjdG9yEhIKA2dldBgCIAEoCUgAUgNnZXQSEgoDcHV0GAMgASgJSABSA3B1dBIUCgRwb3N0GAQgASgJSABSBHBvc3QSGAoGZGVsZXRlGAUgASgJSABSBmRlbGV0ZRIWCgVwYXRjaBgGIAEoCUgAUgVwYXRjaBI3CgZjdXN0b20YCCABKAsyHS5nb29nbGUuYXBpLkN1c3RvbUh0dHBQYXR0ZXJuSABSBmN1c3RvbRISCgRib2R5GAcgASgJUgRib2R5EkUKE2FkZGl0aW9uYWxfYmluZGluZ3MYCyADKAsyFC5nb29nbGUuYXBpLkh0dHBSdWxlUhJhZGRpdGlvbmFsQmluZGluZ3NCCQoHcGF0dGVybiI7ChFDdXN0b21IdHRwUGF0dGVybhISCgRraW5kGAEgASgJUgRraW5kEhIKBHBhdGgYAiABKAlSBHBhdGhCagoOY29tLmdvb2dsZS5hcGlCCUh0dHBQcm90b1ABWkFnb29nbGUuZ29sYW5nLm9yZy9nZW5wcm90by9nb29nbGVhcGlzL2FwaS9hbm5vdGF0aW9uczthbm5vdGF0aW9uc/gBAaICBEdBUEliBnByb3RvMwrhRgogZ29vZ2xlL3Byb3RvYnVmL2Rlc2NyaXB0b3IucHJvdG8SD2dvb2dsZS5wcm90b2J1ZiJNChFGaWxlRGVzY3JpcHRvclNldBI4CgRmaWxlGAEgAygLMiQuZ29vZ2xlLnByb3RvYnVmLkZpbGVEZXNjcmlwdG9yUHJvdG9SBGZpbGUi/gQKE0ZpbGVEZXNjcmlwdG9yUHJvdG8SEgoEbmFtZRgBIAEoCVIEbmFtZRIYCgdwYWNrYWdlGAIgASgJUgdwYWNrYWdlEh4KCmRlcGVuZGVuY3kYAyADKAlSCmRlcGVuZGVuY3kSKwoRcHVibGljX2RlcGVuZGVuY3kYCiADKAVSEHB1YmxpY0RlcGVuZGVuY3kSJwoPd2Vha19kZXBlbmRlbmN5GAsgAygFUg53ZWFrRGVwZW5kZW5jeRJDCgxtZXNzYWdlX3R5cGUYBCADKAsyIC5nb29nbGUucHJvdG9idWYuRGVzY3JpcHRvclByb3RvUgttZXNzYWdlVHlwZRJBCgllbnVtX3R5cGUYBSADKAsyJC5nb29nbGUucHJvdG9idWYuRW51bURlc2NyaXB0b3JQcm90b1IIZW51bVR5cGUSQQoHc2VydmljZRgGIAMoCzInLmdvb2dsZS5wcm90b2J1Zi5TZXJ2aWNlRGVzY3JpcHRvclByb3RvUgdzZXJ2aWNlEkMKCWV4dGVuc2lvbhgHIAMoCzIlLmdvb2dsZS5wcm90b2J1Zi5GaWVsZERlc2NyaXB0b3JQcm90b1IJZXh0ZW5zaW9uEjYKB29wdGlvbnMYCCABKAsyHC5nb29nbGUucHJvdG9idWYuRmlsZU9wdGlvbnNSB29wdGlvbnMSSQoQc291cmNlX2NvZGVfaW5mbxgJIAEoCzIfLmdvb2dsZS5wcm90b2J1Zi5Tb3VyY2VDb2RlSW5mb1IOc291cmNlQ29kZUluZm8SFgoGc3ludGF4GAwgASgJUgZzeW50YXgSGAoHZWRpdGlvbhgNIAEoCVIHZWRpdGlvbiK5BgoPRGVzY3JpcHRvclByb3RvEhIKBG5hbWUYASABKAlSBG5hbWUSOwoFZmllbGQYAiADKAsyJS5nb29nbGUucHJvdG9idWYuRmllbGREZXNjcmlwdG9yUHJvdG9SBWZpZWxkEkMKCWV4dGVuc2lvbhgGIAMoCzIlLmdvb2dsZS5wcm90b2J1Zi5GaWVsZERlc2NyaXB0b3JQcm90b1IJZXh0ZW5zaW9uEkEKC25lc3RlZF90eXBlGAMgAygLMiAuZ29vZ2xlLnByb3RvYnVmLkRlc2NyaXB0b3JQcm90b1IKbmVzdGVkVHlwZRJBCgllbnVtX3R5cGUYBCADKAsyJC5nb29nbGUucHJvdG9idWYuRW51bURlc2NyaXB0b3JQcm90b1IIZW51bVR5cGUSWAoPZXh0ZW5zaW9uX3JhbmdlGAUgAygLMi8uZ29vZ2xlLnByb3RvYnVmLkRlc2NyaXB0b3JQcm90by5FeHRlbnNpb25SYW5nZVIOZXh0ZW5zaW9uUmFuZ2USRAoKb25lb2ZfZGVjbBgIIAMoCzIlLmdvb2dsZS5wcm90b2J1Zi5PbmVvZkRlc2NyaXB0b3JQcm90b1IJb25lb2ZEZWNsEjkKB29wdGlvbnMYByABKAsyHy5nb29nbGUucHJvdG9idWYuTWVzc2FnZU9wdGlvbnNSB29wdGlvbnMSVQoOcmVzZXJ2ZWRfcmFuZ2UYCSADKAsyLi5nb29nbGUucHJvdG9idWYuRGVzY3JpcHRvclByb3RvLlJlc2VydmVkUmFuZ2VSDXJlc2VydmVkUmFuZ2USIwoNcmVzZXJ2ZWRfbmFtZRgKIAMoCVIMcmVzZXJ2ZWROYW1lGnoKDkV4dGVuc2lvblJhbmdlEhQKBXN0YXJ0GAEgASgFUgVzdGFydBIQCgNlbmQYAiABKAVSA2VuZBJACgdvcHRpb25zGAMgASgLMiYuZ29vZ2xlLnByb3RvYnVmLkV4dGVuc2lvblJhbmdlT3B0aW9uc1IHb3B0aW9ucxo3Cg1SZXNlcnZlZFJhbmdlEhQKBXN0YXJ0GAEgASgFUgVzdGFydBIQCgNlbmQYAiABKAVSA2VuZCKtBAoVRXh0ZW5zaW9uUmFuZ2VPcHRpb25zElgKFHVuaW50ZXJwcmV0ZWRfb3B0aW9uGOcHIAMoCzIkLmdvb2dsZS5wcm90b2J1Zi5VbmludGVycHJldGVkT3B0aW9uUhN1bmludGVycHJldGVkT3B0aW9uElkKC2RlY2xhcmF0aW9uGAIgAygLMjIuZ29vZ2xlLnByb3RvYnVmLkV4dGVuc2lvblJhbmdlT3B0aW9ucy5EZWNsYXJhdGlvbkIDiAECUgtkZWNsYXJhdGlvbhJoCgx2ZXJpZmljYXRpb24YAyABKA4yOC5nb29nbGUucHJvdG9idWYuRXh0ZW5zaW9uUmFuZ2VPcHRpb25zLlZlcmlmaWNhdGlvblN0YXRlOgpVTlZFUklGSUVEUgx2ZXJpZmljYXRpb24aswEKC0RlY2xhcmF0aW9uEhYKBm51bWJlchgBIAEoBVIGbnVtYmVyEhsKCWZ1bGxfbmFtZRgCIAEoCVIIZnVsbE5hbWUSEgoEdHlwZRgDIAEoCVIEdHlwZRIjCgtpc19yZXBlYXRlZBgEIAEoCEICGAFSCmlzUmVwZWF0ZWQSGgoIcmVzZXJ2ZWQYBSABKAhSCHJlc2VydmVkEhoKCHJlcGVhdGVkGAYgASgIUghyZXBlYXRlZCI0ChFWZXJpZmljYXRpb25TdGF0ZRIPCgtERUNMQVJBVElPThAAEg4KClVOVkVSSUZJRUQQASoJCOgHEICAgIACIsEGChRGaWVsZERlc2NyaXB0b3JQcm90bxISCgRuYW1lGAEgASgJUgRuYW1lEhYKBm51bWJlchgDIAEoBVIGbnVtYmVyEkEKBWxhYmVsGAQgASgOMisuZ29vZ2xlLnByb3RvYnVmLkZpZWxkRGVzY3JpcHRvclByb3RvLkxhYmVsUgVsYWJlbBI+CgR0eXBlGAUgASgOMiouZ29vZ2xlLnByb3RvYnVmLkZpZWxkRGVzY3JpcHRvclByb3RvLlR5cGVSBHR5cGUSGwoJdHlwZV9uYW1lGAYgASgJUgh0eXBlTmFtZRIaCghleHRlbmRlZRgCIAEoCVIIZXh0ZW5kZWUSIwoNZGVmYXVsdF92YWx1ZRgHIAEoCVIMZGVmYXVsdFZhbHVlEh8KC29uZW9mX2luZGV4GAkgASgFUgpvbmVvZkluZGV4EhsKCWpzb25fbmFtZRgKIAEoCVIIanNvbk5hbWUSNwoHb3B0aW9ucxgIIAEoCzIdLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE9wdGlvbnNSB29wdGlvbnMSJwoPcHJvdG8zX29wdGlvbmFsGBEgASgIUg5wcm90bzNPcHRpb25hbCK2AgoEVHlwZRIPCgtUWVBFX0RPVUJMRRABEg4KClRZUEVfRkxPQVQQAhIOCgpUWVBFX0lOVDY0EAMSDwoLVFlQRV9VSU5UNjQQBBIOCgpUWVBFX0lOVDMyEAUSEAoMVFlQRV9GSVhFRDY0EAYSEAoMVFlQRV9GSVhFRDMyEAcSDQoJVFlQRV9CT09MEAgSDwoLVFlQRV9TVFJJTkcQCRIOCgpUWVBFX0dST1VQEAoSEAoMVFlQRV9NRVNTQUdFEAsSDgoKVFlQRV9CWVRFUxAMEg8KC1RZUEVfVUlOVDMyEA0SDQoJVFlQRV9FTlVNEA4SEQoNVFlQRV9TRklYRUQzMhAPEhEKDVRZUEVfU0ZJWEVENjQQEBIPCgtUWVBFX1NJTlQzMhAREg8KC1RZUEVfU0lOVDY0EBIiQwoFTGFiZWwSEgoOTEFCRUxfT1BUSU9OQUwQARISCg5MQUJFTF9SRVFVSVJFRBACEhIKDkxBQkVMX1JFUEVBVEVEEAMiYwoUT25lb2ZEZXNjcmlwdG9yUHJvdG8SEgoEbmFtZRgBIAEoCVIEbmFtZRI3CgdvcHRpb25zGAIgASgLMh0uZ29vZ2xlLnByb3RvYnVmLk9uZW9mT3B0aW9uc1IHb3B0aW9ucyLjAgoTRW51bURlc2NyaXB0b3JQcm90bxISCgRuYW1lGAEgASgJUgRuYW1lEj8KBXZhbHVlGAIgAygLMikuZ29vZ2xlLnByb3RvYnVmLkVudW1WYWx1ZURlc2NyaXB0b3JQcm90b1IFdmFsdWUSNgoHb3B0aW9ucxgDIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5FbnVtT3B0aW9uc1IHb3B0aW9ucxJdCg5yZXNlcnZlZF9yYW5nZRgEIAMoCzI2Lmdvb2dsZS5wcm90b2J1Zi5FbnVtRGVzY3JpcHRvclByb3RvLkVudW1SZXNlcnZlZFJhbmdlUg1yZXNlcnZlZFJhbmdlEiMKDXJlc2VydmVkX25hbWUYBSADKAlSDHJlc2VydmVkTmFtZRo7ChFFbnVtUmVzZXJ2ZWRSYW5nZRIUCgVzdGFydBgBIAEoBVIFc3RhcnQSEAoDZW5kGAIgASgFUgNlbmQigwEKGEVudW1WYWx1ZURlc2NyaXB0b3JQcm90bxISCgRuYW1lGAEgASgJUgRuYW1lEhYKBm51bWJlchgCIAEoBVIGbnVtYmVyEjsKB29wdGlvbnMYAyABKAsyIS5nb29nbGUucHJvdG9idWYuRW51bVZhbHVlT3B0aW9uc1IHb3B0aW9ucyKnAQoWU2VydmljZURlc2NyaXB0b3JQcm90bxISCgRuYW1lGAEgASgJUgRuYW1lEj4KBm1ldGhvZBgCIAMoCzImLmdvb2dsZS5wcm90b2J1Zi5NZXRob2REZXNjcmlwdG9yUHJvdG9SBm1ldGhvZBI5CgdvcHRpb25zGAMgASgLMh8uZ29vZ2xlLnByb3RvYnVmLlNlcnZpY2VPcHRpb25zUgdvcHRpb25zIokCChVNZXRob2REZXNjcmlwdG9yUHJvdG8SEgoEbmFtZRgBIAEoCVIEbmFtZRIdCgppbnB1dF90eXBlGAIgASgJUglpbnB1dFR5cGUSHwoLb3V0cHV0X3R5cGUYAyABKAlSCm91dHB1dFR5cGUSOAoHb3B0aW9ucxgEIAEoCzIeLmdvb2dsZS5wcm90b2J1Zi5NZXRob2RPcHRpb25zUgdvcHRpb25zEjAKEGNsaWVudF9zdHJlYW1pbmcYBSABKAg6BWZhbHNlUg9jbGllbnRTdHJlYW1pbmcSMAoQc2VydmVyX3N0cmVhbWluZxgGIAEoCDoFZmFsc2VSD3NlcnZlclN0cmVhbWluZyKRCQoLRmlsZU9wdGlvbnMSIQoMamF2YV9wYWNrYWdlGAEgASgJUgtqYXZhUGFja2FnZRIwChRqYXZhX291dGVyX2NsYXNzbmFtZRgIIAEoCVISamF2YU91dGVyQ2xhc3NuYW1lEjUKE2phdmFfbXVsdGlwbGVfZmlsZXMYCiABKAg6BWZhbHNlUhFqYXZhTXVsdGlwbGVGaWxlcxJECh1qYXZhX2dlbmVyYXRlX2VxdWFsc19hbmRfaGFzaBgUIAEoCEICGAFSGWphdmFHZW5lcmF0ZUVxdWFsc0FuZEhhc2gSOgoWamF2YV9zdHJpbmdfY2hlY2tfdXRmOBgbIAEoCDoFZmFsc2VSE2phdmFTdHJpbmdDaGVja1V0ZjgSUwoMb3B0aW1pemVfZm9yGAkgASgOMikuZ29vZ2xlLnByb3RvYnVmLkZpbGVPcHRpb25zLk9wdGltaXplTW9kZToFU1BFRURSC29wdGltaXplRm9yEh0KCmdvX3BhY2thZ2UYCyABKAlSCWdvUGFja2FnZRI1ChNjY19nZW5lcmljX3NlcnZpY2VzGBAgASgIOgVmYWxzZVIRY2NHZW5lcmljU2VydmljZXMSOQoVamF2YV9nZW5lcmljX3NlcnZpY2VzGBEgASgIOgVmYWxzZVITamF2YUdlbmVyaWNTZXJ2aWNlcxI1ChNweV9nZW5lcmljX3NlcnZpY2VzGBIgASgIOgVmYWxzZVIRcHlHZW5lcmljU2VydmljZXMSNwoUcGhwX2dlbmVyaWNfc2VydmljZXMYKiABKAg6BWZhbHNlUhJwaHBHZW5lcmljU2VydmljZXMSJQoKZGVwcmVjYXRlZBgXIAEoCDoFZmFsc2VSCmRlcHJlY2F0ZWQSLgoQY2NfZW5hYmxlX2FyZW5hcxgfIAEoCDoEdHJ1ZVIOY2NFbmFibGVBcmVuYXMSKgoRb2JqY19jbGFzc19wcmVmaXgYJCABKAlSD29iamNDbGFzc1ByZWZpeBIpChBjc2hhcnBfbmFtZXNwYWNlGCUgASgJUg9jc2hhcnBOYW1lc3BhY2USIQoMc3dpZnRfcHJlZml4GCcgASgJUgtzd2lmdFByZWZpeBIoChBwaHBfY2xhc3NfcHJlZml4GCggASgJUg5waHBDbGFzc1ByZWZpeBIjCg1waHBfbmFtZXNwYWNlGCkgASgJUgxwaHBOYW1lc3BhY2USNAoWcGhwX21ldGFkYXRhX25hbWVzcGFjZRgsIAEoCVIUcGhwTWV0YWRhdGFOYW1lc3BhY2USIQoMcnVieV9wYWNrYWdlGC0gASgJUgtydWJ5UGFja2FnZRJYChR1bmludGVycHJldGVkX29wdGlvbhjnByADKAsyJC5nb29nbGUucHJvdG9idWYuVW5pbnRlcnByZXRlZE9wdGlvblITdW5pbnRlcnByZXRlZE9wdGlvbiI6CgxPcHRpbWl6ZU1vZGUSCQoFU1BFRUQQARINCglDT0RFX1NJWkUQAhIQCgxMSVRFX1JVTlRJTUUQAyoJCOgHEICAgIACSgQIJhAnIrsDCg5NZXNzYWdlT3B0aW9ucxI8ChdtZXNzYWdlX3NldF93aXJlX2Zvcm1hdBgBIAEoCDoFZmFsc2VSFG1lc3NhZ2VTZXRXaXJlRm9ybWF0EkwKH25vX3N0YW5kYXJkX2Rlc2NyaXB0b3JfYWNjZXNzb3IYAiABKAg6BWZhbHNlUhxub1N0YW5kYXJkRGVzY3JpcHRvckFjY2Vzc29yEiUKCmRlcHJlY2F0ZWQYAyABKAg6BWZhbHNlUgpkZXByZWNhdGVkEhsKCW1hcF9lbnRyeRgHIAEoCFIIbWFwRW50cnkSVgomZGVwcmVjYXRlZF9sZWdhY3lfanNvbl9maWVsZF9jb25mbGljdHMYCyABKAhCAhgBUiJkZXByZWNhdGVkTGVnYWN5SnNvbkZpZWxkQ29uZmxpY3RzElgKFHVuaW50ZXJwcmV0ZWRfb3B0aW9uGOcHIAMoCzIkLmdvb2dsZS5wcm90b2J1Zi5VbmludGVycHJldGVkT3B0aW9uUhN1bmludGVycHJldGVkT3B0aW9uKgkI6AcQgICAgAJKBAgEEAVKBAgFEAZKBAgGEAdKBAgIEAlKBAgJEAoihQkKDEZpZWxkT3B0aW9ucxJBCgVjdHlwZRgBIAEoDjIjLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE9wdGlvbnMuQ1R5cGU6BlNUUklOR1IFY3R5cGUSFgoGcGFja2VkGAIgASgIUgZwYWNrZWQSRwoGanN0eXBlGAYgASgOMiQuZ29vZ2xlLnByb3RvYnVmLkZpZWxkT3B0aW9ucy5KU1R5cGU6CUpTX05PUk1BTFIGanN0eXBlEhkKBGxhenkYBSABKAg6BWZhbHNlUgRsYXp5Ei4KD3VudmVyaWZpZWRfbGF6eRgPIAEoCDoFZmFsc2VSDnVudmVyaWZpZWRMYXp5EiUKCmRlcHJlY2F0ZWQYAyABKAg6BWZhbHNlUgpkZXByZWNhdGVkEhkKBHdlYWsYCiABKAg6BWZhbHNlUgR3ZWFrEigKDGRlYnVnX3JlZGFjdBgQIAEoCDoFZmFsc2VSC2RlYnVnUmVkYWN0EksKCXJldGVudGlvbhgRIAEoDjItLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE9wdGlvbnMuT3B0aW9uUmV0ZW50aW9uUglyZXRlbnRpb24SSgoGdGFyZ2V0GBIgASgOMi4uZ29vZ2xlLnByb3RvYnVmLkZpZWxkT3B0aW9ucy5PcHRpb25UYXJnZXRUeXBlQgIYAVIGdGFyZ2V0EkgKB3RhcmdldHMYEyADKA4yLi5nb29nbGUucHJvdG9idWYuRmllbGRPcHRpb25zLk9wdGlvblRhcmdldFR5cGVSB3RhcmdldHMSWAoUdW5pbnRlcnByZXRlZF9vcHRpb24Y5wcgAygLMiQuZ29vZ2xlLnByb3RvYnVmLlVuaW50ZXJwcmV0ZWRPcHRpb25SE3VuaW50ZXJwcmV0ZWRPcHRpb24iLwoFQ1R5cGUSCgoGU1RSSU5HEAASCAoEQ09SRBABEhAKDFNUUklOR19QSUVDRRACIjUKBkpTVHlwZRINCglKU19OT1JNQUwQABINCglKU19TVFJJTkcQARINCglKU19OVU1CRVIQAiJVCg9PcHRpb25SZXRlbnRpb24SFQoRUkVURU5USU9OX1VOS05PV04QABIVChFSRVRFTlRJT05fUlVOVElNRRABEhQKEFJFVEVOVElPTl9TT1VSQ0UQAiKMAgoQT3B0aW9uVGFyZ2V0VHlwZRIXChNUQVJHRVRfVFlQRV9VTktOT1dOEAASFAoQVEFSR0VUX1RZUEVfRklMRRABEh8KG1RBUkdFVF9UWVBFX0VYVEVOU0lPTl9SQU5HRRACEhcKE1RBUkdFVF9UWVBFX01FU1NBR0UQAxIVChFUQVJHRVRfVFlQRV9GSUVMRBAEEhUKEVRBUkdFVF9UWVBFX09ORU9GEAUSFAoQVEFSR0VUX1RZUEVfRU5VTRAGEhoKFlRBUkdFVF9UWVBFX0VOVU1fRU5UUlkQBxIXChNUQVJHRVRfVFlQRV9TRVJWSUNFEAgSFgoSVEFSR0VUX1RZUEVfTUVUSE9EEAkqCQjoBxCAgICAAkoECAQQBSJzCgxPbmVvZk9wdGlvbnMSWAoUdW5pbnRlcnByZXRlZF9vcHRpb24Y5wcgAygLMiQuZ29vZ2xlLnByb3RvYnVmLlVuaW50ZXJwcmV0ZWRPcHRpb25SE3VuaW50ZXJwcmV0ZWRPcHRpb24qCQjoBxCAgICAAiKYAgoLRW51bU9wdGlvbnMSHwoLYWxsb3dfYWxpYXMYAiABKAhSCmFsbG93QWxpYXMSJQoKZGVwcmVjYXRlZBgDIAEoCDoFZmFsc2VSCmRlcHJlY2F0ZWQSVgomZGVwcmVjYXRlZF9sZWdhY3lfanNvbl9maWVsZF9jb25mbGljdHMYBiABKAhCAhgBUiJkZXByZWNhdGVkTGVnYWN5SnNvbkZpZWxkQ29uZmxpY3RzElgKFHVuaW50ZXJwcmV0ZWRfb3B0aW9uGOcHIAMoCzIkLmdvb2dsZS5wcm90b2J1Zi5VbmludGVycHJldGVkT3B0aW9uUhN1bmludGVycHJldGVkT3B0aW9uKgkI6AcQgICAgAJKBAgFEAYingEKEEVudW1WYWx1ZU9wdGlvbnMSJQoKZGVwcmVjYXRlZBgBIAEoCDoFZmFsc2VSCmRlcHJlY2F0ZWQSWAoUdW5pbnRlcnByZXRlZF9vcHRpb24Y5wcgAygLMiQuZ29vZ2xlLnByb3RvYnVmLlVuaW50ZXJwcmV0ZWRPcHRpb25SE3VuaW50ZXJwcmV0ZWRPcHRpb24qCQjoBxCAgICAAiKcAQoOU2VydmljZU9wdGlvbnMSJQoKZGVwcmVjYXRlZBghIAEoCDoFZmFsc2VSCmRlcHJlY2F0ZWQSWAoUdW5pbnRlcnByZXRlZF9vcHRpb24Y5wcgAygLMiQuZ29vZ2xlLnByb3RvYnVmLlVuaW50ZXJwcmV0ZWRPcHRpb25SE3VuaW50ZXJwcmV0ZWRPcHRpb24qCQjoBxCAgICAAiLgAgoNTWV0aG9kT3B0aW9ucxIlCgpkZXByZWNhdGVkGCEgASgIOgVmYWxzZVIKZGVwcmVjYXRlZBJxChFpZGVtcG90ZW5jeV9sZXZlbBgiIAEoDjIvLmdvb2dsZS5wcm90b2J1Zi5NZXRob2RPcHRpb25zLklkZW1wb3RlbmN5TGV2ZWw6E0lERU1QT1RFTkNZX1VOS05PV05SEGlkZW1wb3RlbmN5TGV2ZWwSWAoUdW5pbnRlcnByZXRlZF9vcHRpb24Y5wcgAygLMiQuZ29vZ2xlLnByb3RvYnVmLlVuaW50ZXJwcmV0ZWRPcHRpb25SE3VuaW50ZXJwcmV0ZWRPcHRpb24iUAoQSWRlbXBvdGVuY3lMZXZlbBIXChNJREVNUE9URU5DWV9VTktOT1dOEAASEwoPTk9fU0lERV9FRkZFQ1RTEAESDgoKSURFTVBPVEVOVBACKgkI6AcQgICAgAIimgMKE1VuaW50ZXJwcmV0ZWRPcHRpb24SQQoEbmFtZRgCIAMoCzItLmdvb2dsZS5wcm90b2J1Zi5VbmludGVycHJldGVkT3B0aW9uLk5hbWVQYXJ0UgRuYW1lEikKEGlkZW50aWZpZXJfdmFsdWUYAyABKAlSD2lkZW50aWZpZXJWYWx1ZRIsChJwb3NpdGl2ZV9pbnRfdmFsdWUYBCABKARSEHBvc2l0aXZlSW50VmFsdWUSLAoSbmVnYXRpdmVfaW50X3ZhbHVlGAUgASgDUhBuZWdhdGl2ZUludFZhbHVlEiEKDGRvdWJsZV92YWx1ZRgGIAEoAVILZG91YmxlVmFsdWUSIQoMc3RyaW5nX3ZhbHVlGAcgASgMUgtzdHJpbmdWYWx1ZRInCg9hZ2dyZWdhdGVfdmFsdWUYCCABKAlSDmFnZ3JlZ2F0ZVZhbHVlGkoKCE5hbWVQYXJ0EhsKCW5hbWVfcGFydBgBIAIoCVIIbmFtZVBhcnQSIQoMaXNfZXh0ZW5zaW9uGAIgAigIUgtpc0V4dGVuc2lvbiKnAgoOU291cmNlQ29kZUluZm8SRAoIbG9jYXRpb24YASADKAsyKC5nb29nbGUucHJvdG9idWYuU291cmNlQ29kZUluZm8uTG9jYXRpb25SCGxvY2F0aW9uGs4BCghMb2NhdGlvbhIWCgRwYXRoGAEgAygFQgIQAVIEcGF0aBIWCgRzcGFuGAIgAygFQgIQAVIEc3BhbhIpChBsZWFkaW5nX2NvbW1lbnRzGAMgASgJUg9sZWFkaW5nQ29tbWVudHMSKwoRdHJhaWxpbmdfY29tbWVudHMYBCABKAlSEHRyYWlsaW5nQ29tbWVudHMSOgoZbGVhZGluZ19kZXRhY2hlZF9jb21tZW50cxgGIAMoCVIXbGVhZGluZ0RldGFjaGVkQ29tbWVudHMi0AIKEUdlbmVyYXRlZENvZGVJbmZvEk0KCmFubm90YXRpb24YASADKAsyLS5nb29nbGUucHJvdG9idWYuR2VuZXJhdGVkQ29kZUluZm8uQW5ub3RhdGlvblIKYW5ub3RhdGlvbhrrAQoKQW5ub3RhdGlvbhIWCgRwYXRoGAEgAygFQgIQAVIEcGF0aBIfCgtzb3VyY2VfZmlsZRgCIAEoCVIKc291cmNlRmlsZRIUCgViZWdpbhgDIAEoBVIFYmVnaW4SEAoDZW5kGAQgASgFUgNlbmQSUgoIc2VtYW50aWMYBSABKA4yNi5nb29nbGUucHJvdG9idWYuR2VuZXJhdGVkQ29kZUluZm8uQW5ub3RhdGlvbi5TZW1hbnRpY1IIc2VtYW50aWMiKAoIU2VtYW50aWMSCAoETk9ORRAAEgcKA1NFVBABEgkKBUFMSUFTEAJCfgoTY29tLmdvb2dsZS5wcm90b2J1ZkIQRGVzY3JpcHRvclByb3Rvc0gBWi1nb29nbGUuZ29sYW5nLm9yZy9wcm90b2J1Zi90eXBlcy9kZXNjcmlwdG9ycGL4AQGiAgNHUEKqAhpHb29nbGUuUHJvdG9idWYuUmVmbGVjdGlvbgqoAgocZ29vZ2xlL2FwaS9hbm5vdGF0aW9ucy5wcm90bxIKZ29vZ2xlLmFwaRoVZ29vZ2xlL2FwaS9odHRwLnByb3RvGiBnb29nbGUvcHJvdG9idWYvZGVzY3JpcHRvci5wcm90bzpLCgRodHRwEh4uZ29vZ2xlLnByb3RvYnVmLk1ldGhvZE9wdGlvbnMYsMq8IiABKAsyFC5nb29nbGUuYXBpLkh0dHBSdWxlUgRodHRwQm4KDmNvbS5nb29nbGUuYXBpQhBBbm5vdGF0aW9uc1Byb3RvUAFaQWdvb2dsZS5nb2xhbmcub3JnL2dlbnByb3RvL2dvb2dsZWFwaXMvYXBpL2Fubm90YXRpb25zO2Fubm90YXRpb25zogIER0FQSWIGcHJvdG8zCugDCh9nb29nbGUvYXBpL2ZpZWxkX2JlaGF2aW9yLnByb3RvEgpnb29nbGUuYXBpGiBnb29nbGUvcHJvdG9idWYvZGVzY3JpcHRvci5wcm90byq2AQoNRmllbGRCZWhhdmlvchIeChpGSUVMRF9CRUhBVklPUl9VTlNQRUNJRklFRBAAEgwKCE9QVElPTkFMEAESDAoIUkVRVUlSRUQQAhIPCgtPVVRQVVRfT05MWRADEg4KCklOUFVUX09OTFkQBBINCglJTU1VVEFCTEUQBRISCg5VTk9SREVSRURfTElTVBAGEhUKEU5PTl9FTVBUWV9ERUZBVUxUEAcSDgoKSURFTlRJRklFUhAIOmQKDmZpZWxkX2JlaGF2aW9yEh0uZ29vZ2xlLnByb3RvYnVmLkZpZWxkT3B0aW9ucxicCCADKA4yGS5nb29nbGUuYXBpLkZpZWxkQmVoYXZpb3JCAhAAUg1maWVsZEJlaGF2aW9yQnAKDmNvbS5nb29nbGUuYXBpQhJGaWVsZEJlaGF2aW9yUHJvdG9QAVpBZ29vZ2xlLmdvbGFuZy5vcmcvZ2VucHJvdG8vZ29vZ2xlYXBpcy9hcGkvYW5ub3RhdGlvbnM7YW5ub3RhdGlvbnOiAgRHQVBJYgZwcm90bzMK4gUKHGdvb2dsZS9wcm90b2J1Zi9zdHJ1Y3QucHJvdG8SD2dvb2dsZS5wcm90b2J1ZiKYAQoGU3RydWN0EjsKBmZpZWxkcxgBIAMoCzIjLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QuRmllbGRzRW50cnlSBmZpZWxkcxpRCgtGaWVsZHNFbnRyeRIQCgNrZXkYASABKAlSA2tleRIsCgV2YWx1ZRgCIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZVIFdmFsdWU6AjgBIrICCgVWYWx1ZRI7CgpudWxsX3ZhbHVlGAEgASgOMhouZ29vZ2xlLnByb3RvYnVmLk51bGxWYWx1ZUgAUgludWxsVmFsdWUSIwoMbnVtYmVyX3ZhbHVlGAIgASgBSABSC251bWJlclZhbHVlEiMKDHN0cmluZ192YWx1ZRgDIAEoCUgAUgtzdHJpbmdWYWx1ZRIfCgpib29sX3ZhbHVlGAQgASgISABSCWJvb2xWYWx1ZRI8CgxzdHJ1Y3RfdmFsdWUYBSABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SABSC3N0cnVjdFZhbHVlEjsKCmxpc3RfdmFsdWUYBiABKAsyGi5nb29nbGUucHJvdG9idWYuTGlzdFZhbHVlSABSCWxpc3RWYWx1ZUIGCgRraW5kIjsKCUxpc3RWYWx1ZRIuCgZ2YWx1ZXMYASADKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWVSBnZhbHVlcyobCglOdWxsVmFsdWUSDgoKTlVMTF9WQUxVRRAAQn8KE2NvbS5nb29nbGUucHJvdG9idWZCC1N0cnVjdFByb3RvUAFaL2dvb2dsZS5nb2xhbmcub3JnL3Byb3RvYnVmL3R5cGVzL2tub3duL3N0cnVjdHBi+AEBogIDR1BCqgIeR29vZ2xlLlByb3RvYnVmLldlbGxLbm93blR5cGVzYgZwcm90bzMKpj4KLHByb3RvYy1nZW4tb3BlbmFwaXYyL29wdGlvbnMvb3BlbmFwaXYyLnByb3RvEilncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucxocZ29vZ2xlL3Byb3RvYnVmL3N0cnVjdC5wcm90byKzCAoHU3dhZ2dlchIYCgdzd2FnZ2VyGAEgASgJUgdzd2FnZ2VyEkMKBGluZm8YAiABKAsyLy5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5JbmZvUgRpbmZvEhIKBGhvc3QYAyABKAlSBGhvc3QSGwoJYmFzZV9wYXRoGAQgASgJUghiYXNlUGF0aBJLCgdzY2hlbWVzGAUgAygOMjEuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuU2NoZW1lUgdzY2hlbWVzEhoKCGNvbnN1bWVzGAYgAygJUghjb25zdW1lcxIaCghwcm9kdWNlcxgHIAMoCVIIcHJvZHVjZXMSXwoJcmVzcG9uc2VzGAogAygLMkEuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuU3dhZ2dlci5SZXNwb25zZXNFbnRyeVIJcmVzcG9uc2VzEnEKFHNlY3VyaXR5X2RlZmluaXRpb25zGAsgASgLMj4uZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuU2VjdXJpdHlEZWZpbml0aW9uc1ITc2VjdXJpdHlEZWZpbml0aW9ucxJaCghzZWN1cml0eRgMIAMoCzI+LmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlNlY3VyaXR5UmVxdWlyZW1lbnRSCHNlY3VyaXR5EkIKBHRhZ3MYDSADKAsyLi5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5UYWdSBHRhZ3MSZQoNZXh0ZXJuYWxfZG9jcxgOIAEoCzJALmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLkV4dGVybmFsRG9jdW1lbnRhdGlvblIMZXh0ZXJuYWxEb2NzEmIKCmV4dGVuc2lvbnMYDyADKAsyQi5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5Td2FnZ2VyLkV4dGVuc2lvbnNFbnRyeVIKZXh0ZW5zaW9ucxpxCg5SZXNwb25zZXNFbnRyeRIQCgNrZXkYASABKAlSA2tleRJJCgV2YWx1ZRgCIAEoCzIzLmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlJlc3BvbnNlUgV2YWx1ZToCOAEaVQoPRXh0ZW5zaW9uc0VudHJ5EhAKA2tleRgBIAEoCVIDa2V5EiwKBXZhbHVlGAIgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlUgV2YWx1ZToCOAFKBAgIEAlKBAgJEAoi1gcKCU9wZXJhdGlvbhISCgR0YWdzGAEgAygJUgR0YWdzEhgKB3N1bW1hcnkYAiABKAlSB3N1bW1hcnkSIAoLZGVzY3JpcHRpb24YAyABKAlSC2Rlc2NyaXB0aW9uEmUKDWV4dGVybmFsX2RvY3MYBCABKAsyQC5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5FeHRlcm5hbERvY3VtZW50YXRpb25SDGV4dGVybmFsRG9jcxIhCgxvcGVyYXRpb25faWQYBSABKAlSC29wZXJhdGlvbklkEhoKCGNvbnN1bWVzGAYgAygJUghjb25zdW1lcxIaCghwcm9kdWNlcxgHIAMoCVIIcHJvZHVjZXMSYQoJcmVzcG9uc2VzGAkgAygLMkMuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuT3BlcmF0aW9uLlJlc3BvbnNlc0VudHJ5UglyZXNwb25zZXMSSwoHc2NoZW1lcxgKIAMoDjIxLmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlNjaGVtZVIHc2NoZW1lcxIeCgpkZXByZWNhdGVkGAsgASgIUgpkZXByZWNhdGVkEloKCHNlY3VyaXR5GAwgAygLMj4uZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuU2VjdXJpdHlSZXF1aXJlbWVudFIIc2VjdXJpdHkSZAoKZXh0ZW5zaW9ucxgNIAMoCzJELmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLk9wZXJhdGlvbi5FeHRlbnNpb25zRW50cnlSCmV4dGVuc2lvbnMSVQoKcGFyYW1ldGVycxgOIAEoCzI1LmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlBhcmFtZXRlcnNSCnBhcmFtZXRlcnMacQoOUmVzcG9uc2VzRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSSQoFdmFsdWUYAiABKAsyMy5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5SZXNwb25zZVIFdmFsdWU6AjgBGlUKD0V4dGVuc2lvbnNFbnRyeRIQCgNrZXkYASABKAlSA2tleRIsCgV2YWx1ZRgCIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZVIFdmFsdWU6AjgBSgQICBAJImIKClBhcmFtZXRlcnMSVAoHaGVhZGVycxgBIAMoCzI6LmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLkhlYWRlclBhcmFtZXRlclIHaGVhZGVycyKjAgoPSGVhZGVyUGFyYW1ldGVyEhIKBG5hbWUYASABKAlSBG5hbWUSIAoLZGVzY3JpcHRpb24YAiABKAlSC2Rlc2NyaXB0aW9uElMKBHR5cGUYAyABKA4yPy5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5IZWFkZXJQYXJhbWV0ZXIuVHlwZVIEdHlwZRIWCgZmb3JtYXQYBCABKAlSBmZvcm1hdBIaCghyZXF1aXJlZBgFIAEoCFIIcmVxdWlyZWQiRQoEVHlwZRILCgdVTktOT1dOEAASCgoGU1RSSU5HEAESCgoGTlVNQkVSEAISCwoHSU5URUdFUhADEgsKB0JPT0xFQU4QBEoECAYQB0oECAcQCCLYAQoGSGVhZGVyEiAKC2Rlc2NyaXB0aW9uGAEgASgJUgtkZXNjcmlwdGlvbhISCgR0eXBlGAIgASgJUgR0eXBlEhYKBmZvcm1hdBgDIAEoCVIGZm9ybWF0EhgKB2RlZmF1bHQYBiABKAlSB2RlZmF1bHQSGAoHcGF0dGVybhgNIAEoCVIHcGF0dGVybkoECAQQBUoECAUQBkoECAcQCEoECAgQCUoECAkQCkoECAoQC0oECAsQDEoECAwQDUoECA4QD0oECA8QEEoECBAQEUoECBEQEkoECBIQEyKaBQoIUmVzcG9uc2USIAoLZGVzY3JpcHRpb24YASABKAlSC2Rlc2NyaXB0aW9uEkkKBnNjaGVtYRgCIAEoCzIxLmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlNjaGVtYVIGc2NoZW1hEloKB2hlYWRlcnMYAyADKAsyQC5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5SZXNwb25zZS5IZWFkZXJzRW50cnlSB2hlYWRlcnMSXQoIZXhhbXBsZXMYBCADKAsyQS5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5SZXNwb25zZS5FeGFtcGxlc0VudHJ5UghleGFtcGxlcxJjCgpleHRlbnNpb25zGAUgAygLMkMuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuUmVzcG9uc2UuRXh0ZW5zaW9uc0VudHJ5UgpleHRlbnNpb25zGm0KDEhlYWRlcnNFbnRyeRIQCgNrZXkYASABKAlSA2tleRJHCgV2YWx1ZRgCIAEoCzIxLmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLkhlYWRlclIFdmFsdWU6AjgBGjsKDUV4YW1wbGVzRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSFAoFdmFsdWUYAiABKAlSBXZhbHVlOgI4ARpVCg9FeHRlbnNpb25zRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSLAoFdmFsdWUYAiABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWVSBXZhbHVlOgI4ASLWAwoESW5mbxIUCgV0aXRsZRgBIAEoCVIFdGl0bGUSIAoLZGVzY3JpcHRpb24YAiABKAlSC2Rlc2NyaXB0aW9uEigKEHRlcm1zX29mX3NlcnZpY2UYAyABKAlSDnRlcm1zT2ZTZXJ2aWNlEkwKB2NvbnRhY3QYBCABKAsyMi5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5Db250YWN0Ugdjb250YWN0EkwKB2xpY2Vuc2UYBSABKAsyMi5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5MaWNlbnNlUgdsaWNlbnNlEhgKB3ZlcnNpb24YBiABKAlSB3ZlcnNpb24SXwoKZXh0ZW5zaW9ucxgHIAMoCzI/LmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLkluZm8uRXh0ZW5zaW9uc0VudHJ5UgpleHRlbnNpb25zGlUKD0V4dGVuc2lvbnNFbnRyeRIQCgNrZXkYASABKAlSA2tleRIsCgV2YWx1ZRgCIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZVIFdmFsdWU6AjgBIkUKB0NvbnRhY3QSEgoEbmFtZRgBIAEoCVIEbmFtZRIQCgN1cmwYAiABKAlSA3VybBIUCgVlbWFpbBgDIAEoCVIFZW1haWwiLwoHTGljZW5zZRISCgRuYW1lGAEgASgJUgRuYW1lEhAKA3VybBgCIAEoCVIDdXJsIksKFUV4dGVybmFsRG9jdW1lbnRhdGlvbhIgCgtkZXNjcmlwdGlvbhgBIAEoCVILZGVzY3JpcHRpb24SEAoDdXJsGAIgASgJUgN1cmwiqgIKBlNjaGVtYRJWCgtqc29uX3NjaGVtYRgBIAEoCzI1LmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLkpTT05TY2hlbWFSCmpzb25TY2hlbWESJAoNZGlzY3JpbWluYXRvchgCIAEoCVINZGlzY3JpbWluYXRvchIbCglyZWFkX29ubHkYAyABKAhSCHJlYWRPbmx5EmUKDWV4dGVybmFsX2RvY3MYBSABKAsyQC5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5FeHRlcm5hbERvY3VtZW50YXRpb25SDGV4dGVybmFsRG9jcxIYCgdleGFtcGxlGAYgASgJUgdleGFtcGxlSgQIBBAFItcKCgpKU09OU2NoZW1hEhAKA3JlZhgDIAEoCVIDcmVmEhQKBXRpdGxlGAUgASgJUgV0aXRsZRIgCgtkZXNjcmlwdGlvbhgGIAEoCVILZGVzY3JpcHRpb24SGAoHZGVmYXVsdBgHIAEoCVIHZGVmYXVsdBIbCglyZWFkX29ubHkYCCABKAhSCHJlYWRPbmx5EhgKB2V4YW1wbGUYCSABKAlSB2V4YW1wbGUSHwoLbXVsdGlwbGVfb2YYCiABKAFSCm11bHRpcGxlT2YSGAoHbWF4aW11bRgLIAEoAVIHbWF4aW11bRIrChFleGNsdXNpdmVfbWF4aW11bRgMIAEoCFIQZXhjbHVzaXZlTWF4aW11bRIYCgdtaW5pbXVtGA0gASgBUgdtaW5pbXVtEisKEWV4Y2x1c2l2ZV9taW5pbXVtGA4gASgIUhBleGNsdXNpdmVNaW5pbXVtEh0KCm1heF9sZW5ndGgYDyABKARSCW1heExlbmd0aBIdCgptaW5fbGVuZ3RoGBAgASgEUgltaW5MZW5ndGgSGAoHcGF0dGVybhgRIAEoCVIHcGF0dGVybhIbCgltYXhfaXRlbXMYFCABKARSCG1heEl0ZW1zEhsKCW1pbl9pdGVtcxgVIAEoBFIIbWluSXRlbXMSIQoMdW5pcXVlX2l0ZW1zGBYgASgIUgt1bmlxdWVJdGVtcxIlCg5tYXhfcHJvcGVydGllcxgYIAEoBFINbWF4UHJvcGVydGllcxIlCg5taW5fcHJvcGVydGllcxgZIAEoBFINbWluUHJvcGVydGllcxIaCghyZXF1aXJlZBgaIAMoCVIIcmVxdWlyZWQSFAoFYXJyYXkYIiADKAlSBWFycmF5El8KBHR5cGUYIyADKA4ySy5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5KU09OU2NoZW1hLkpTT05TY2hlbWFTaW1wbGVUeXBlc1IEdHlwZRIWCgZmb3JtYXQYJCABKAlSBmZvcm1hdBISCgRlbnVtGC4gAygJUgRlbnVtEnoKE2ZpZWxkX2NvbmZpZ3VyYXRpb24Y6QcgASgLMkguZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuSlNPTlNjaGVtYS5GaWVsZENvbmZpZ3VyYXRpb25SEmZpZWxkQ29uZmlndXJhdGlvbhJlCgpleHRlbnNpb25zGDAgAygLMkUuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuSlNPTlNjaGVtYS5FeHRlbnNpb25zRW50cnlSCmV4dGVuc2lvbnMaPAoSRmllbGRDb25maWd1cmF0aW9uEiYKD3BhdGhfcGFyYW1fbmFtZRgvIAEoCVINcGF0aFBhcmFtTmFtZRpVCg9FeHRlbnNpb25zRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSLAoFdmFsdWUYAiABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWVSBXZhbHVlOgI4ASJ3ChVKU09OU2NoZW1hU2ltcGxlVHlwZXMSCwoHVU5LTk9XThAAEgkKBUFSUkFZEAESCwoHQk9PTEVBThACEgsKB0lOVEVHRVIQAxIICgROVUxMEAQSCgoGTlVNQkVSEAUSCgoGT0JKRUNUEAYSCgoGU1RSSU5HEAdKBAgBEAJKBAgCEANKBAgEEAVKBAgSEBNKBAgTEBRKBAgXEBhKBAgbEBxKBAgcEB1KBAgdEB5KBAgeECJKBAglECpKBAgqECtKBAgrEC4i2QIKA1RhZxISCgRuYW1lGAEgASgJUgRuYW1lEiAKC2Rlc2NyaXB0aW9uGAIgASgJUgtkZXNjcmlwdGlvbhJlCg1leHRlcm5hbF9kb2NzGAMgASgLMkAuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuRXh0ZXJuYWxEb2N1bWVudGF0aW9uUgxleHRlcm5hbERvY3MSXgoKZXh0ZW5zaW9ucxgEIAMoCzI+LmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlRhZy5FeHRlbnNpb25zRW50cnlSCmV4dGVuc2lvbnMaVQoPRXh0ZW5zaW9uc0VudHJ5EhAKA2tleRgBIAEoCVIDa2V5EiwKBXZhbHVlGAIgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlUgV2YWx1ZToCOAEi9wEKE1NlY3VyaXR5RGVmaW5pdGlvbnMSaAoIc2VjdXJpdHkYASADKAsyTC5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5TZWN1cml0eURlZmluaXRpb25zLlNlY3VyaXR5RW50cnlSCHNlY3VyaXR5GnYKDVNlY3VyaXR5RW50cnkSEAoDa2V5GAEgASgJUgNrZXkSTwoFdmFsdWUYAiABKAsyOS5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5TZWN1cml0eVNjaGVtZVIFdmFsdWU6AjgBIv8GCg5TZWN1cml0eVNjaGVtZRJSCgR0eXBlGAEgASgOMj4uZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuU2VjdXJpdHlTY2hlbWUuVHlwZVIEdHlwZRIgCgtkZXNjcmlwdGlvbhgCIAEoCVILZGVzY3JpcHRpb24SEgoEbmFtZRgDIAEoCVIEbmFtZRJMCgJpbhgEIAEoDjI8LmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlNlY3VyaXR5U2NoZW1lLkluUgJpbhJSCgRmbG93GAUgASgOMj4uZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuU2VjdXJpdHlTY2hlbWUuRmxvd1IEZmxvdxIrChFhdXRob3JpemF0aW9uX3VybBgGIAEoCVIQYXV0aG9yaXphdGlvblVybBIbCgl0b2tlbl91cmwYByABKAlSCHRva2VuVXJsEkkKBnNjb3BlcxgIIAEoCzIxLmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlNjb3Blc1IGc2NvcGVzEmkKCmV4dGVuc2lvbnMYCSADKAsySS5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5TZWN1cml0eVNjaGVtZS5FeHRlbnNpb25zRW50cnlSCmV4dGVuc2lvbnMaVQoPRXh0ZW5zaW9uc0VudHJ5EhAKA2tleRgBIAEoCVIDa2V5EiwKBXZhbHVlGAIgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlUgV2YWx1ZToCOAEiSwoEVHlwZRIQCgxUWVBFX0lOVkFMSUQQABIOCgpUWVBFX0JBU0lDEAESEAoMVFlQRV9BUElfS0VZEAISDwoLVFlQRV9PQVVUSDIQAyIxCgJJbhIOCgpJTl9JTlZBTElEEAASDAoISU5fUVVFUlkQARINCglJTl9IRUFERVIQAiJqCgRGbG93EhAKDEZMT1dfSU5WQUxJRBAAEhEKDUZMT1dfSU1QTElDSVQQARIRCg1GTE9XX1BBU1NXT1JEEAISFAoQRkxPV19BUFBMSUNBVElPThADEhQKEEZMT1dfQUNDRVNTX0NPREUQBCL2AgoTU2VjdXJpdHlSZXF1aXJlbWVudBKKAQoUc2VjdXJpdHlfcmVxdWlyZW1lbnQYASADKAsyVy5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5TZWN1cml0eVJlcXVpcmVtZW50LlNlY3VyaXR5UmVxdWlyZW1lbnRFbnRyeVITc2VjdXJpdHlSZXF1aXJlbWVudBowChhTZWN1cml0eVJlcXVpcmVtZW50VmFsdWUSFAoFc2NvcGUYASADKAlSBXNjb3BlGp8BChhTZWN1cml0eVJlcXVpcmVtZW50RW50cnkSEAoDa2V5GAEgASgJUgNrZXkSbQoFdmFsdWUYAiABKAsyVy5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5TZWN1cml0eVJlcXVpcmVtZW50LlNlY3VyaXR5UmVxdWlyZW1lbnRWYWx1ZVIFdmFsdWU6AjgBIpYBCgZTY29wZXMSUgoFc2NvcGUYASADKAsyPC5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5TY29wZXMuU2NvcGVFbnRyeVIFc2NvcGUaOAoKU2NvcGVFbnRyeRIQCgNrZXkYASABKAlSA2tleRIUCgV2YWx1ZRgCIAEoCVIFdmFsdWU6AjgBKjsKBlNjaGVtZRILCgdVTktOT1dOEAASCAoESFRUUBABEgkKBUhUVFBTEAISBgoCV1MQAxIHCgNXU1MQBEJIWkZnaXRodWIuY29tL2dycGMtZWNvc3lzdGVtL2dycGMtZ2F0ZXdheS92Mi9wcm90b2MtZ2VuLW9wZW5hcGl2Mi9vcHRpb25zYgZwcm90bzMK/QYKLnByb3RvYy1nZW4tb3BlbmFwaXYyL29wdGlvbnMvYW5ub3RhdGlvbnMucHJvdG8SKWdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zGiBnb29nbGUvcHJvdG9idWYvZGVzY3JpcHRvci5wcm90bxoscHJvdG9jLWdlbi1vcGVuYXBpdjIvb3B0aW9ucy9vcGVuYXBpdjIucHJvdG86fgoRb3BlbmFwaXYyX3N3YWdnZXISHC5nb29nbGUucHJvdG9idWYuRmlsZU9wdGlvbnMYkgggASgLMjIuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuU3dhZ2dlclIQb3BlbmFwaXYyU3dhZ2dlcjqGAQoTb3BlbmFwaXYyX29wZXJhdGlvbhIeLmdvb2dsZS5wcm90b2J1Zi5NZXRob2RPcHRpb25zGJIIIAEoCzI0LmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLk9wZXJhdGlvblISb3BlbmFwaXYyT3BlcmF0aW9uOn4KEG9wZW5hcGl2Ml9zY2hlbWESHy5nb29nbGUucHJvdG9idWYuTWVzc2FnZU9wdGlvbnMYkgggASgLMjEuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuU2NoZW1hUg9vcGVuYXBpdjJTY2hlbWE6dQoNb3BlbmFwaXYyX3RhZxIfLmdvb2dsZS5wcm90b2J1Zi5TZXJ2aWNlT3B0aW9ucxiSCCABKAsyLi5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5UYWdSDG9wZW5hcGl2MlRhZzp+Cg9vcGVuYXBpdjJfZmllbGQSHS5nb29nbGUucHJvdG9idWYuRmllbGRPcHRpb25zGJIIIAEoCzI1LmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLkpTT05TY2hlbWFSDm9wZW5hcGl2MkZpZWxkQkhaRmdpdGh1Yi5jb20vZ3JwYy1lY29zeXN0ZW0vZ3JwYy1nYXRld2F5L3YyL3Byb3RvYy1nZW4tb3BlbmFwaXYyL29wdGlvbnNiBnByb3RvMwrABAoVcHJvdG8vdXNlci91c2VyLnByb3RvEg5idWNrZXRlZXIudXNlciLeAwoEVXNlchIOCgJpZBgBIAEoCVICaWQSMgoEZGF0YRgCIAMoCzIeLmJ1Y2tldGVlci51c2VyLlVzZXIuRGF0YUVudHJ5UgRkYXRhEkUKC3RhZ2dlZF9kYXRhGAMgAygLMiQuYnVja2V0ZWVyLnVzZXIuVXNlci5UYWdnZWREYXRhRW50cnlSCnRhZ2dlZERhdGESGwoJbGFzdF9zZWVuGAQgASgDUghsYXN0U2VlbhIdCgpjcmVhdGVkX2F0GAUgASgDUgljcmVhdGVkQXQafAoERGF0YRI6CgV2YWx1ZRgBIAMoCzIkLmJ1Y2tldGVlci51c2VyLlVzZXIuRGF0YS5WYWx1ZUVudHJ5UgV2YWx1ZRo4CgpWYWx1ZUVudHJ5EhAKA2tleRgBIAEoCVIDa2V5EhQKBXZhbHVlGAIgASgJUgV2YWx1ZToCOAEaNwoJRGF0YUVudHJ5EhAKA2tleRgBIAEoCVIDa2V5EhQKBXZhbHVlGAIgASgJUgV2YWx1ZToCOAEaWAoPVGFnZ2VkRGF0YUVudHJ5EhAKA2tleRgBIAEoCVIDa2V5Ei8KBXZhbHVlGAIgASgLMhkuYnVja2V0ZWVyLnVzZXIuVXNlci5EYXRhUgV2YWx1ZToCOAFCLlosZ2l0aHViLmNvbS9idWNrZXRlZXItaW8vYnVja2V0ZWVyL3Byb3RvL3VzZXJiBnByb3RvMwqslwEKG3Byb3RvL2ZlYXR1cmUvc2VydmljZS5wcm90bxIRYnVja2V0ZWVyLmZlYXR1cmUaHGdvb2dsZS9hcGkvYW5ub3RhdGlvbnMucHJvdG8aH2dvb2dsZS9hcGkvZmllbGRfYmVoYXZpb3IucHJvdG8aHmdvb2dsZS9wcm90b2J1Zi93cmFwcGVycy5wcm90bxoucHJvdG9jLWdlbi1vcGVuYXBpdjIvb3B0aW9ucy9hbm5vdGF0aW9ucy5wcm90bxobcHJvdG8vZmVhdHVyZS9jb21tYW5kLnByb3RvGhtwcm90by9mZWF0dXJlL2ZlYXR1cmUucHJvdG8aHnByb3RvL2ZlYXR1cmUvZXZhbHVhdGlvbi5wcm90bxoVcHJvdG8vdXNlci91c2VyLnByb3RvGhtwcm90by9mZWF0dXJlL3NlZ21lbnQucHJvdG8aIHByb3RvL2ZlYXR1cmUvZmxhZ190cmlnZ2VyLnByb3RvGh1wcm90by9mZWF0dXJlL3ZhcmlhdGlvbi5wcm90bxogcHJvdG8vZmVhdHVyZS9wcmVyZXF1aXNpdGUucHJvdG8aGHByb3RvL2ZlYXR1cmUvcnVsZS5wcm90bxoccHJvdG8vZmVhdHVyZS9zdHJhdGVneS5wcm90bxoacHJvdG8vZmVhdHVyZS90YXJnZXQucHJvdG8iUAoRR2V0RmVhdHVyZVJlcXVlc3QSDgoCaWQYASABKAlSAmlkEiUKDmVudmlyb25tZW50X2lkGAMgASgJUg1lbnZpcm9ubWVudElkSgQIAhADIkoKEkdldEZlYXR1cmVSZXNwb25zZRI0CgdmZWF0dXJlGAEgASgLMhouYnVja2V0ZWVyLmZlYXR1cmUuRmVhdHVyZVIHZmVhdHVyZSJTChJHZXRGZWF0dXJlc1JlcXVlc3QSEAoDaWRzGAIgAygJUgNpZHMSJQoOZW52aXJvbm1lbnRfaWQYAyABKAlSDWVudmlyb25tZW50SWRKBAgBEAIiTQoTR2V0RmVhdHVyZXNSZXNwb25zZRI2CghmZWF0dXJlcxgBIAMoCzIaLmJ1Y2tldGVlci5mZWF0dXJlLkZlYXR1cmVSCGZlYXR1cmVzIvUFChNMaXN0RmVhdHVyZXNSZXF1ZXN0EhsKCXBhZ2Vfc2l6ZRgBIAEoA1IIcGFnZVNpemUSFgoGY3Vyc29yGAIgASgJUgZjdXJzb3ISEgoEdGFncxgDIAMoCVIEdGFncxJJCghvcmRlcl9ieRgEIAEoDjIuLmJ1Y2tldGVlci5mZWF0dXJlLkxpc3RGZWF0dXJlc1JlcXVlc3QuT3JkZXJCeVIHb3JkZXJCeRJeCg9vcmRlcl9kaXJlY3Rpb24YBSABKA4yNS5idWNrZXRlZXIuZmVhdHVyZS5MaXN0RmVhdHVyZXNSZXF1ZXN0Lk9yZGVyRGlyZWN0aW9uUg5vcmRlckRpcmVjdGlvbhIeCgptYWludGFpbmVyGAcgASgJUgptYWludGFpbmVyEjQKB2VuYWJsZWQYCCABKAsyGi5nb29nbGUucHJvdG9idWYuQm9vbFZhbHVlUgdlbmFibGVkEkEKDmhhc19leHBlcmltZW50GAkgASgLMhouZ29vZ2xlLnByb3RvYnVmLkJvb2xWYWx1ZVINaGFzRXhwZXJpbWVudBIlCg5zZWFyY2hfa2V5d29yZBgKIAEoCVINc2VhcmNoS2V5d29yZBI2CghhcmNoaXZlZBgLIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5Cb29sVmFsdWVSCGFyY2hpdmVkEkcKEWhhc19wcmVyZXF1aXNpdGVzGAwgASgLMhouZ29vZ2xlLnByb3RvYnVmLkJvb2xWYWx1ZVIQaGFzUHJlcmVxdWlzaXRlcxIlCg5lbnZpcm9ubWVudF9pZBgNIAEoCVINZW52aXJvbm1lbnRJZCJXCgdPcmRlckJ5EgsKB0RFRkFVTFQQABIICgROQU1FEAESDgoKQ1JFQVRFRF9BVBACEg4KClVQREFURURfQVQQAxIICgRUQUdTEAQSCwoHRU5BQkxFRBAFIiMKDk9yZGVyRGlyZWN0aW9uEgcKA0FTQxAAEggKBERFU0MQAUoECAYQByKHAQoUTGlzdEZlYXR1cmVzUmVzcG9uc2USNgoIZmVhdHVyZXMYASADKAsyGi5idWNrZXRlZXIuZmVhdHVyZS5GZWF0dXJlUghmZWF0dXJlcxIWCgZjdXJzb3IYAiABKAlSBmN1cnNvchIfCgt0b3RhbF9jb3VudBgDIAEoA1IKdG90YWxDb3VudCKSAQoaTGlzdEVuYWJsZWRGZWF0dXJlc1JlcXVlc3QSGwoJcGFnZV9zaXplGAEgASgDUghwYWdlU2l6ZRIWCgZjdXJzb3IYAiABKAlSBmN1cnNvchISCgR0YWdzGAMgAygJUgR0YWdzEiUKDmVudmlyb25tZW50X2lkGAUgASgJUg1lbnZpcm9ubWVudElkSgQIBBAFIm0KG0xpc3RFbmFibGVkRmVhdHVyZXNSZXNwb25zZRI2CghmZWF0dXJlcxgBIAMoCzIaLmJ1Y2tldGVlci5mZWF0dXJlLkZlYXR1cmVSCGZlYXR1cmVzEhYKBmN1cnNvchgCIAEoCVIGY3Vyc29yIoYBChRDcmVhdGVGZWF0dXJlUmVxdWVzdBJBCgdjb21tYW5kGAEgASgLMicuYnVja2V0ZWVyLmZlYXR1cmUuQ3JlYXRlRmVhdHVyZUNvbW1hbmRSB2NvbW1hbmQSJQoOZW52aXJvbm1lbnRfaWQYAyABKAlSDWVudmlyb25tZW50SWRKBAgCEAMiTQoVQ3JlYXRlRmVhdHVyZVJlc3BvbnNlEjQKB2ZlYXR1cmUYASABKAsyGi5idWNrZXRlZXIuZmVhdHVyZS5GZWF0dXJlUgdmZWF0dXJlIs8FChRVcGRhdGVGZWF0dXJlUmVxdWVzdBIYCgdjb21tZW50GAEgASgJUgdjb21tZW50EiUKDmVudmlyb25tZW50X2lkGAIgASgJUg1lbnZpcm9ubWVudElkEg4KAmlkGAMgASgJUgJpZBIwCgRuYW1lGAQgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlUgRuYW1lEj4KC2Rlc2NyaXB0aW9uGAUgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlUgtkZXNjcmlwdGlvbhISCgR0YWdzGAYgAygJUgR0YWdzEjQKB2VuYWJsZWQYByABKAsyGi5nb29nbGUucHJvdG9idWYuQm9vbFZhbHVlUgdlbmFibGVkEjYKCGFyY2hpdmVkGAggASgLMhouZ29vZ2xlLnByb3RvYnVmLkJvb2xWYWx1ZVIIYXJjaGl2ZWQSPAoKdmFyaWF0aW9ucxgJIAMoCzIcLmJ1Y2tldGVlci5mZWF0dXJlLlZhcmlhdGlvblIKdmFyaWF0aW9ucxJFCg1wcmVyZXF1aXNpdGVzGAogAygLMh8uYnVja2V0ZWVyLmZlYXR1cmUuUHJlcmVxdWlzaXRlUg1wcmVyZXF1aXNpdGVzEjMKB3RhcmdldHMYCyADKAsyGS5idWNrZXRlZXIuZmVhdHVyZS5UYXJnZXRSB3RhcmdldHMSLQoFcnVsZXMYDCADKAsyFy5idWNrZXRlZXIuZmVhdHVyZS5SdWxlUgVydWxlcxJGChBkZWZhdWx0X3N0cmF0ZWd5GA0gASgLMhsuYnVja2V0ZWVyLmZlYXR1cmUuU3RyYXRlZ3lSD2RlZmF1bHRTdHJhdGVneRJBCg1vZmZfdmFyaWF0aW9uGA4gASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlUgxvZmZWYXJpYXRpb24iTQoVVXBkYXRlRmVhdHVyZVJlc3BvbnNlEjQKB2ZlYXR1cmUYASABKAsyGi5idWNrZXRlZXIuZmVhdHVyZS5GZWF0dXJlUgdmZWF0dXJlIrABChRFbmFibGVGZWF0dXJlUmVxdWVzdBIOCgJpZBgBIAEoCVICaWQSQQoHY29tbWFuZBgCIAEoCzInLmJ1Y2tldGVlci5mZWF0dXJlLkVuYWJsZUZlYXR1cmVDb21tYW5kUgdjb21tYW5kEhgKB2NvbW1lbnQYBCABKAlSB2NvbW1lbnQSJQoOZW52aXJvbm1lbnRfaWQYBSABKAlSDWVudmlyb25tZW50SWRKBAgDEAQiFwoVRW5hYmxlRmVhdHVyZVJlc3BvbnNlIrIBChVEaXNhYmxlRmVhdHVyZVJlcXVlc3QSDgoCaWQYASABKAlSAmlkEkIKB2NvbW1hbmQYAiABKAsyKC5idWNrZXRlZXIuZmVhdHVyZS5EaXNhYmxlRmVhdHVyZUNvbW1hbmRSB2NvbW1hbmQSGAoHY29tbWVudBgEIAEoCVIHY29tbWVudBIlCg5lbnZpcm9ubWVudF9pZBgFIAEoCVINZW52aXJvbm1lbnRJZEoECAMQBCIYChZEaXNhYmxlRmVhdHVyZVJlc3BvbnNlIrIBChVBcmNoaXZlRmVhdHVyZVJlcXVlc3QSDgoCaWQYASABKAlSAmlkEkIKB2NvbW1hbmQYAiABKAsyKC5idWNrZXRlZXIuZmVhdHVyZS5BcmNoaXZlRmVhdHVyZUNvbW1hbmRSB2NvbW1hbmQSGAoHY29tbWVudBgEIAEoCVIHY29tbWVudBIlCg5lbnZpcm9ubWVudF9pZBgFIAEoCVINZW52aXJvbm1lbnRJZEoECAMQBCIYChZBcmNoaXZlRmVhdHVyZVJlc3BvbnNlIrYBChdVbmFyY2hpdmVGZWF0dXJlUmVxdWVzdBIOCgJpZBgBIAEoCVICaWQSRAoHY29tbWFuZBgCIAEoCzIqLmJ1Y2tldGVlci5mZWF0dXJlLlVuYXJjaGl2ZUZlYXR1cmVDb21tYW5kUgdjb21tYW5kEhgKB2NvbW1lbnQYBCABKAlSB2NvbW1lbnQSJQoOZW52aXJvbm1lbnRfaWQYBSABKAlSDWVudmlyb25tZW50SWRKBAgDEAQiGgoYVW5hcmNoaXZlRmVhdHVyZVJlc3BvbnNlIrABChREZWxldGVGZWF0dXJlUmVxdWVzdBIOCgJpZBgBIAEoCVICaWQSQQoHY29tbWFuZBgCIAEoCzInLmJ1Y2tldGVlci5mZWF0dXJlLkRlbGV0ZUZlYXR1cmVDb21tYW5kUgdjb21tYW5kEhgKB2NvbW1lbnQYBCABKAlSB2NvbW1lbnQSJQoOZW52aXJvbm1lbnRfaWQYBSABKAlSDWVudmlyb25tZW50SWRKBAgDEAQiFwoVRGVsZXRlRmVhdHVyZVJlc3BvbnNlIt8DChtVcGRhdGVGZWF0dXJlRGV0YWlsc1JlcXVlc3QSDgoCaWQYASABKAlSAmlkEl0KFnJlbmFtZV9mZWF0dXJlX2NvbW1hbmQYAiABKAsyJy5idWNrZXRlZXIuZmVhdHVyZS5SZW5hbWVGZWF0dXJlQ29tbWFuZFIUcmVuYW1lRmVhdHVyZUNvbW1hbmQSaQoaY2hhbmdlX2Rlc2NyaXB0aW9uX2NvbW1hbmQYAyABKAsyKy5idWNrZXRlZXIuZmVhdHVyZS5DaGFuZ2VEZXNjcmlwdGlvbkNvbW1hbmRSGGNoYW5nZURlc2NyaXB0aW9uQ29tbWFuZBJKChBhZGRfdGFnX2NvbW1hbmRzGAQgAygLMiAuYnVja2V0ZWVyLmZlYXR1cmUuQWRkVGFnQ29tbWFuZFIOYWRkVGFnQ29tbWFuZHMSUwoTcmVtb3ZlX3RhZ19jb21tYW5kcxgFIAMoCzIjLmJ1Y2tldGVlci5mZWF0dXJlLlJlbW92ZVRhZ0NvbW1hbmRSEXJlbW92ZVRhZ0NvbW1hbmRzEhgKB2NvbW1lbnQYByABKAlSB2NvbW1lbnQSJQoOZW52aXJvbm1lbnRfaWQYCCABKAlSDWVudmlyb25tZW50SWRKBAgGEAciHgocVXBkYXRlRmVhdHVyZURldGFpbHNSZXNwb25zZSKvAQoeVXBkYXRlRmVhdHVyZVZhcmlhdGlvbnNSZXF1ZXN0Eg4KAmlkGAEgASgJUgJpZBI2Cghjb21tYW5kcxgCIAMoCzIaLmJ1Y2tldGVlci5mZWF0dXJlLkNvbW1hbmRSCGNvbW1hbmRzEhgKB2NvbW1lbnQYBCABKAlSB2NvbW1lbnQSJQoOZW52aXJvbm1lbnRfaWQYBSABKAlSDWVudmlyb25tZW50SWRKBAgDEAQiIQofVXBkYXRlRmVhdHVyZVZhcmlhdGlvbnNSZXNwb25zZSKhAgodVXBkYXRlRmVhdHVyZVRhcmdldGluZ1JlcXVlc3QSDgoCaWQYASABKAlSAmlkEjYKCGNvbW1hbmRzGAIgAygLMhouYnVja2V0ZWVyLmZlYXR1cmUuQ29tbWFuZFIIY29tbWFuZHMSGAoHY29tbWVudBgEIAEoCVIHY29tbWVudBJJCgRmcm9tGAUgASgOMjUuYnVja2V0ZWVyLmZlYXR1cmUuVXBkYXRlRmVhdHVyZVRhcmdldGluZ1JlcXVlc3QuRnJvbVIEZnJvbRIlCg5lbnZpcm9ubWVudF9pZBgGIAEoCVINZW52aXJvbm1lbnRJZCImCgRGcm9tEgsKB1VOS05PV04QABIICgRVU0VSEAESBwoDT1BTEAJKBAgDEAQiIAoeVXBkYXRlRmVhdHVyZVRhcmdldGluZ1Jlc3BvbnNlIpQBChNDbG9uZUZlYXR1cmVSZXF1ZXN0Eg4KAmlkGAEgASgJUgJpZBJACgdjb21tYW5kGAIgASgLMiYuYnVja2V0ZWVyLmZlYXR1cmUuQ2xvbmVGZWF0dXJlQ29tbWFuZFIHY29tbWFuZBIlCg5lbnZpcm9ubWVudF9pZBgEIAEoCVINZW52aXJvbm1lbnRJZEoECAMQBCIWChRDbG9uZUZlYXR1cmVSZXNwb25zZSLZAQoUQ3JlYXRlU2VnbWVudFJlcXVlc3QSVAoHY29tbWFuZBgBIAEoCzInLmJ1Y2tldGVlci5mZWF0dXJlLkNyZWF0ZVNlZ21lbnRDb21tYW5kQhEYAZJBDDIKZGVwcmVjYXRlZFIHY29tbWFuZBIXCgRuYW1lGAMgASgJQgPgQQJSBG5hbWUSKgoOZW52aXJvbm1lbnRfaWQYBCABKAlCA+BBAlINZW52aXJvbm1lbnRJZBIgCgtkZXNjcmlwdGlvbhgFIAEoCVILZGVzY3JpcHRpb25KBAgCEAMiTQoVQ3JlYXRlU2VnbWVudFJlc3BvbnNlEjQKB3NlZ21lbnQYASABKAsyGi5idWNrZXRlZXIuZmVhdHVyZS5TZWdtZW50UgdzZWdtZW50IloKEUdldFNlZ21lbnRSZXF1ZXN0EhMKAmlkGAEgASgJQgPgQQJSAmlkEioKDmVudmlyb25tZW50X2lkGAMgASgJQgPgQQJSDWVudmlyb25tZW50SWRKBAgCEAMiSgoSR2V0U2VnbWVudFJlc3BvbnNlEjQKB3NlZ21lbnQYASABKAsyGi5idWNrZXRlZXIuZmVhdHVyZS5TZWdtZW50UgdzZWdtZW50IssEChNMaXN0U2VnbWVudHNSZXF1ZXN0EhsKCXBhZ2Vfc2l6ZRgBIAEoA1IIcGFnZVNpemUSFgoGY3Vyc29yGAIgASgJUgZjdXJzb3ISSQoIb3JkZXJfYnkYBCABKA4yLi5idWNrZXRlZXIuZmVhdHVyZS5MaXN0U2VnbWVudHNSZXF1ZXN0Lk9yZGVyQnlSB29yZGVyQnkSXgoPb3JkZXJfZGlyZWN0aW9uGAUgASgOMjUuYnVja2V0ZWVyLmZlYXR1cmUuTGlzdFNlZ21lbnRzUmVxdWVzdC5PcmRlckRpcmVjdGlvblIOb3JkZXJEaXJlY3Rpb24SJQoOc2VhcmNoX2tleXdvcmQYBiABKAlSDXNlYXJjaEtleXdvcmQSMwoGc3RhdHVzGAcgASgLMhsuZ29vZ2xlLnByb3RvYnVmLkludDMyVmFsdWVSBnN0YXR1cxJDChBpc19pbl91c2Vfc3RhdHVzGAggASgLMhouZ29vZ2xlLnByb3RvYnVmLkJvb2xWYWx1ZVINaXNJblVzZVN0YXR1cxIqCg5lbnZpcm9ubWVudF9pZBgJIAEoCUID4EECUg1lbnZpcm9ubWVudElkIlwKB09yZGVyQnkSCwoHREVGQVVMVBAAEggKBE5BTUUQARIOCgpDUkVBVEVEX0FUEAISDgoKVVBEQVRFRF9BVBADEg8KC0NPTk5FQ1RJT05TEAQSCQoFVVNFUlMQBSIjCg5PcmRlckRpcmVjdGlvbhIHCgNBU0MQABIICgRERVNDEAFKBAgDEAQihwEKFExpc3RTZWdtZW50c1Jlc3BvbnNlEjYKCHNlZ21lbnRzGAEgAygLMhouYnVja2V0ZWVyLmZlYXR1cmUuU2VnbWVudFIIc2VnbWVudHMSFgoGY3Vyc29yGAIgASgJUgZjdXJzb3ISHwoLdG90YWxfY291bnQYAyABKANSCnRvdGFsQ291bnQiqQEKFERlbGV0ZVNlZ21lbnRSZXF1ZXN0Eg4KAmlkGAEgASgJUgJpZBJUCgdjb21tYW5kGAIgASgLMicuYnVja2V0ZWVyLmZlYXR1cmUuRGVsZXRlU2VnbWVudENvbW1hbmRCERgBkkEMMgpkZXByZWNhdGVkUgdjb21tYW5kEiUKDmVudmlyb25tZW50X2lkGAQgASgJUg1lbnZpcm9ubWVudElkSgQIAxAEIhcKFURlbGV0ZVNlZ21lbnRSZXNwb25zZSKVAgoUVXBkYXRlU2VnbWVudFJlcXVlc3QSDgoCaWQYASABKAlSAmlkEkkKCGNvbW1hbmRzGAIgAygLMhouYnVja2V0ZWVyLmZlYXR1cmUuQ29tbWFuZEIRGAGSQQwyCmRlcHJlY2F0ZWRSCGNvbW1hbmRzEioKDmVudmlyb25tZW50X2lkGAQgASgJQgPgQQJSDWVudmlyb25tZW50SWQSMAoEbmFtZRgFIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZVIEbmFtZRI+CgtkZXNjcmlwdGlvbhgGIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZVILZGVzY3JpcHRpb25KBAgDEAQiTQoVVXBkYXRlU2VnbWVudFJlc3BvbnNlEjQKB3NlZ21lbnQYASABKAsyGi5idWNrZXRlZXIuZmVhdHVyZS5TZWdtZW50UgdzZWdtZW50IpgBChVBZGRTZWdtZW50VXNlclJlcXVlc3QSDgoCaWQYASABKAlSAmlkEkIKB2NvbW1hbmQYAiABKAsyKC5idWNrZXRlZXIuZmVhdHVyZS5BZGRTZWdtZW50VXNlckNvbW1hbmRSB2NvbW1hbmQSJQoOZW52aXJvbm1lbnRfaWQYBCABKAlSDWVudmlyb25tZW50SWRKBAgDEAQiGAoWQWRkU2VnbWVudFVzZXJSZXNwb25zZSKeAQoYRGVsZXRlU2VnbWVudFVzZXJSZXF1ZXN0Eg4KAmlkGAEgASgJUgJpZBJFCgdjb21tYW5kGAIgASgLMisuYnVja2V0ZWVyLmZlYXR1cmUuRGVsZXRlU2VnbWVudFVzZXJDb21tYW5kUgdjb21tYW5kEiUKDmVudmlyb25tZW50X2lkGAQgASgJUg1lbnZpcm9ubWVudElkSgQIAxAEIhsKGURlbGV0ZVNlZ21lbnRVc2VyUmVzcG9uc2UiuAEKFUdldFNlZ21lbnRVc2VyUmVxdWVzdBIdCgpzZWdtZW50X2lkGAEgASgJUglzZWdtZW50SWQSFwoHdXNlcl9pZBgCIAEoCVIGdXNlcklkEjoKBXN0YXRlGAMgASgOMiQuYnVja2V0ZWVyLmZlYXR1cmUuU2VnbWVudFVzZXIuU3RhdGVSBXN0YXRlEiUKDmVudmlyb25tZW50X2lkGAUgASgJUg1lbnZpcm9ubWVudElkSgQIBBAFIkwKFkdldFNlZ21lbnRVc2VyUmVzcG9uc2USMgoEdXNlchgBIAEoCzIeLmJ1Y2tldGVlci5mZWF0dXJlLlNlZ21lbnRVc2VyUgR1c2VyIuYBChdMaXN0U2VnbWVudFVzZXJzUmVxdWVzdBIbCglwYWdlX3NpemUYASABKANSCHBhZ2VTaXplEhYKBmN1cnNvchgCIAEoCVIGY3Vyc29yEh0KCnNlZ21lbnRfaWQYAyABKAlSCXNlZ21lbnRJZBIxCgVzdGF0ZRgEIAEoCzIbLmdvb2dsZS5wcm90b2J1Zi5JbnQzMlZhbHVlUgVzdGF0ZRIXCgd1c2VyX2lkGAUgASgJUgZ1c2VySWQSJQoOZW52aXJvbm1lbnRfaWQYByABKAlSDWVudmlyb25tZW50SWRKBAgGEAciaAoYTGlzdFNlZ21lbnRVc2Vyc1Jlc3BvbnNlEjQKBXVzZXJzGAEgAygLMh4uYnVja2V0ZWVyLmZlYXR1cmUuU2VnbWVudFVzZXJSBXVzZXJzEhYKBmN1cnNvchgCIAEoCVIGY3Vyc29yItACCh1CdWxrVXBsb2FkU2VnbWVudFVzZXJzUmVxdWVzdBIdCgpzZWdtZW50X2lkGAIgASgJUglzZWdtZW50SWQSXQoHY29tbWFuZBgDIAEoCzIwLmJ1Y2tldGVlci5mZWF0dXJlLkJ1bGtVcGxvYWRTZWdtZW50VXNlcnNDb21tYW5kQhEYAZJBDDIKZGVwcmVjYXRlZFIHY29tbWFuZBIlCg5lbnZpcm9ubWVudF9pZBgEIAEoCVINZW52aXJvbm1lbnRJZBJICgRkYXRhGAUgASgMQjSSQTEyL3NlZ21lbnQgdXNlciBpZHMgc2VwYXJhdGVkIGJ5IGNvbW1hIG9yIG5ldyBsaW5lUgRkYXRhEjoKBXN0YXRlGAYgASgOMiQuYnVja2V0ZWVyLmZlYXR1cmUuU2VnbWVudFVzZXIuU3RhdGVSBXN0YXRlSgQIARACIiAKHkJ1bGtVcGxvYWRTZWdtZW50VXNlcnNSZXNwb25zZSKzAQofQnVsa0Rvd25sb2FkU2VnbWVudFVzZXJzUmVxdWVzdBIiCgpzZWdtZW50X2lkGAIgASgJQgPgQQJSCXNlZ21lbnRJZBI6CgVzdGF0ZRgDIAEoDjIkLmJ1Y2tldGVlci5mZWF0dXJlLlNlZ21lbnRVc2VyLlN0YXRlUgVzdGF0ZRIqCg5lbnZpcm9ubWVudF9pZBgEIAEoCUID4EECUg1lbnZpcm9ubWVudElkSgQIARACIjYKIEJ1bGtEb3dubG9hZFNlZ21lbnRVc2Vyc1Jlc3BvbnNlEhIKBGRhdGEYASABKAxSBGRhdGEioQEKF0V2YWx1YXRlRmVhdHVyZXNSZXF1ZXN0EigKBHVzZXIYASABKAsyFC5idWNrZXRlZXIudXNlci5Vc2VyUgR1c2VyEhAKA3RhZxgDIAEoCVIDdGFnEh0KCmZlYXR1cmVfaWQYBCABKAlSCWZlYXR1cmVJZBIlCg5lbnZpcm9ubWVudF9pZBgFIAEoCVINZW52aXJvbm1lbnRJZEoECAIQAyJpChhFdmFsdWF0ZUZlYXR1cmVzUmVzcG9uc2USTQoQdXNlcl9ldmFsdWF0aW9ucxgBIAEoCzIiLmJ1Y2tldGVlci5mZWF0dXJlLlVzZXJFdmFsdWF0aW9uc1IPdXNlckV2YWx1YXRpb25zIqwDCg9MaXN0VGFnc1JlcXVlc3QSGwoJcGFnZV9zaXplGAIgASgDUghwYWdlU2l6ZRIWCgZjdXJzb3IYAyABKAlSBmN1cnNvchJFCghvcmRlcl9ieRgEIAEoDjIqLmJ1Y2tldGVlci5mZWF0dXJlLkxpc3RUYWdzUmVxdWVzdC5PcmRlckJ5UgdvcmRlckJ5EloKD29yZGVyX2RpcmVjdGlvbhgFIAEoDjIxLmJ1Y2tldGVlci5mZWF0dXJlLkxpc3RUYWdzUmVxdWVzdC5PcmRlckRpcmVjdGlvblIOb3JkZXJEaXJlY3Rpb24SJQoOc2VhcmNoX2tleXdvcmQYBiABKAlSDXNlYXJjaEtleXdvcmQSJQoOZW52aXJvbm1lbnRfaWQYByABKAlSDWVudmlyb25tZW50SWQiSAoHT3JkZXJCeRILCgdERUZBVUxUEAASBgoCSUQQARIOCgpDUkVBVEVEX0FUEAISDgoKVVBEQVRFRF9BVBADEggKBE5BTUUQBCIjCg5PcmRlckRpcmVjdGlvbhIHCgNBU0MQABIICgRERVNDEAFKBAgBEAIidwoQTGlzdFRhZ3NSZXNwb25zZRIqCgR0YWdzGAEgAygLMhYuYnVja2V0ZWVyLmZlYXR1cmUuVGFnUgR0YWdzEhYKBmN1cnNvchgCIAEoCVIGY3Vyc29yEh8KC3RvdGFsX2NvdW50GAMgASgDUgp0b3RhbENvdW50IrMBChhDcmVhdGVGbGFnVHJpZ2dlclJlcXVlc3QSagobY3JlYXRlX2ZsYWdfdHJpZ2dlcl9jb21tYW5kGAIgASgLMisuYnVja2V0ZWVyLmZlYXR1cmUuQ3JlYXRlRmxhZ1RyaWdnZXJDb21tYW5kUhhjcmVhdGVGbGFnVHJpZ2dlckNvbW1hbmQSJQoOZW52aXJvbm1lbnRfaWQYAyABKAlSDWVudmlyb25tZW50SWRKBAgBEAIicAoZQ3JlYXRlRmxhZ1RyaWdnZXJSZXNwb25zZRJBCgxmbGFnX3RyaWdnZXIYASABKAsyHi5idWNrZXRlZXIuZmVhdHVyZS5GbGFnVHJpZ2dlclILZmxhZ1RyaWdnZXISEAoDdXJsGAIgASgJUgN1cmwiwwEKGERlbGV0ZUZsYWdUcmlnZ2VyUmVxdWVzdBIOCgJpZBgBIAEoCVICaWQSagobZGVsZXRlX2ZsYWdfdHJpZ2dlcl9jb21tYW5kGAMgASgLMisuYnVja2V0ZWVyLmZlYXR1cmUuRGVsZXRlRmxhZ1RyaWdnZXJDb21tYW5kUhhkZWxldGVGbGFnVHJpZ2dlckNvbW1hbmQSJQoOZW52aXJvbm1lbnRfaWQYBCABKAlSDWVudmlyb25tZW50SWRKBAgCEAMiGwoZRGVsZXRlRmxhZ1RyaWdnZXJSZXNwb25zZSLmAQoYVXBkYXRlRmxhZ1RyaWdnZXJSZXF1ZXN0Eg4KAmlkGAEgASgJUgJpZBKMAQonY2hhbmdlX2ZsYWdfdHJpZ2dlcl9kZXNjcmlwdGlvbl9jb21tYW5kGAMgASgLMjYuYnVja2V0ZWVyLmZlYXR1cmUuQ2hhbmdlRmxhZ1RyaWdnZXJEZXNjcmlwdGlvbkNvbW1hbmRSI2NoYW5nZUZsYWdUcmlnZ2VyRGVzY3JpcHRpb25Db21tYW5kEiUKDmVudmlyb25tZW50X2lkGAQgASgJUg1lbnZpcm9ubWVudElkSgQIAhADIhsKGVVwZGF0ZUZsYWdUcmlnZ2VyUmVzcG9uc2UiwwEKGEVuYWJsZUZsYWdUcmlnZ2VyUmVxdWVzdBIOCgJpZBgBIAEoCVICaWQSagobZW5hYmxlX2ZsYWdfdHJpZ2dlcl9jb21tYW5kGAMgASgLMisuYnVja2V0ZWVyLmZlYXR1cmUuRW5hYmxlRmxhZ1RyaWdnZXJDb21tYW5kUhhlbmFibGVGbGFnVHJpZ2dlckNvbW1hbmQSJQoOZW52aXJvbm1lbnRfaWQYBCABKAlSDWVudmlyb25tZW50SWRKBAgCEAMiGwoZRW5hYmxlRmxhZ1RyaWdnZXJSZXNwb25zZSLHAQoZRGlzYWJsZUZsYWdUcmlnZ2VyUmVxdWVzdBIOCgJpZBgBIAEoCVICaWQSbQocZGlzYWJsZV9mbGFnX3RyaWdnZXJfY29tbWFuZBgDIAEoCzIsLmJ1Y2tldGVlci5mZWF0dXJlLkRpc2FibGVGbGFnVHJpZ2dlckNvbW1hbmRSGWRpc2FibGVGbGFnVHJpZ2dlckNvbW1hbmQSJQoOZW52aXJvbm1lbnRfaWQYBCABKAlSDWVudmlyb25tZW50SWRKBAgCEAMiHAoaRGlzYWJsZUZsYWdUcmlnZ2VyUmVzcG9uc2UivwEKF1Jlc2V0RmxhZ1RyaWdnZXJSZXF1ZXN0Eg4KAmlkGAEgASgJUgJpZBJnChpyZXNldF9mbGFnX3RyaWdnZXJfY29tbWFuZBgDIAEoCzIqLmJ1Y2tldGVlci5mZWF0dXJlLlJlc2V0RmxhZ1RyaWdnZXJDb21tYW5kUhdyZXNldEZsYWdUcmlnZ2VyQ29tbWFuZBIlCg5lbnZpcm9ubWVudF9pZBgEIAEoCVINZW52aXJvbm1lbnRJZEoECAIQAyJvChhSZXNldEZsYWdUcmlnZ2VyUmVzcG9uc2USQQoMZmxhZ190cmlnZ2VyGAEgASgLMh4uYnVja2V0ZWVyLmZlYXR1cmUuRmxhZ1RyaWdnZXJSC2ZsYWdUcmlnZ2VyEhAKA3VybBgCIAEoCVIDdXJsIlQKFUdldEZsYWdUcmlnZ2VyUmVxdWVzdBIOCgJpZBgBIAEoCVICaWQSJQoOZW52aXJvbm1lbnRfaWQYAyABKAlSDWVudmlyb25tZW50SWRKBAgCEAMibQoWR2V0RmxhZ1RyaWdnZXJSZXNwb25zZRJBCgxmbGFnX3RyaWdnZXIYASABKAsyHi5idWNrZXRlZXIuZmVhdHVyZS5GbGFnVHJpZ2dlclILZmxhZ1RyaWdnZXISEAoDdXJsGAIgASgJUgN1cmwiqgMKF0xpc3RGbGFnVHJpZ2dlcnNSZXF1ZXN0Eh0KCmZlYXR1cmVfaWQYASABKAlSCWZlYXR1cmVJZBIWCgZjdXJzb3IYAyABKAlSBmN1cnNvchIbCglwYWdlX3NpemUYBCABKAVSCHBhZ2VTaXplEk0KCG9yZGVyX2J5GAUgASgOMjIuYnVja2V0ZWVyLmZlYXR1cmUuTGlzdEZsYWdUcmlnZ2Vyc1JlcXVlc3QuT3JkZXJCeVIHb3JkZXJCeRJiCg9vcmRlcl9kaXJlY3Rpb24YBiABKA4yOS5idWNrZXRlZXIuZmVhdHVyZS5MaXN0RmxhZ1RyaWdnZXJzUmVxdWVzdC5PcmRlckRpcmVjdGlvblIOb3JkZXJEaXJlY3Rpb24SJQoOZW52aXJvbm1lbnRfaWQYByABKAlSDWVudmlyb25tZW50SWQiNgoHT3JkZXJCeRILCgdERUZBVUxUEAASDgoKQ1JFQVRFRF9BVBABEg4KClVQREFURURfQVQQAiIjCg5PcmRlckRpcmVjdGlvbhIHCgNBU0MQABIICgRERVNDEAFKBAgCEAMiowIKGExpc3RGbGFnVHJpZ2dlcnNSZXNwb25zZRJjCg1mbGFnX3RyaWdnZXJzGAEgAygLMj4uYnVja2V0ZWVyLmZlYXR1cmUuTGlzdEZsYWdUcmlnZ2Vyc1Jlc3BvbnNlLkZsYWdUcmlnZ2VyV2l0aFVybFIMZmxhZ1RyaWdnZXJzEhYKBmN1cnNvchgCIAEoCVIGY3Vyc29yEh8KC3RvdGFsX2NvdW50GAMgASgDUgp0b3RhbENvdW50GmkKEkZsYWdUcmlnZ2VyV2l0aFVybBJBCgxmbGFnX3RyaWdnZXIYASABKAsyHi5idWNrZXRlZXIuZmVhdHVyZS5GbGFnVHJpZ2dlclILZmxhZ1RyaWdnZXISEAoDdXJsGAIgASgJUgN1cmwiMQoZRmxhZ1RyaWdnZXJXZWJob29rUmVxdWVzdBIUCgV0b2tlbhgBIAEoCVIFdG9rZW4iHAoaRmxhZ1RyaWdnZXJXZWJob29rUmVzcG9uc2UymjkKDkZlYXR1cmVTZXJ2aWNlElsKCkdldEZlYXR1cmUSJC5idWNrZXRlZXIuZmVhdHVyZS5HZXRGZWF0dXJlUmVxdWVzdBolLmJ1Y2tldGVlci5mZWF0dXJlLkdldEZlYXR1cmVSZXNwb25zZSIAEl4KC0dldEZlYXR1cmVzEiUuYnVja2V0ZWVyLmZlYXR1cmUuR2V0RmVhdHVyZXNSZXF1ZXN0GiYuYnVja2V0ZWVyLmZlYXR1cmUuR2V0RmVhdHVyZXNSZXNwb25zZSIAEmEKDExpc3RGZWF0dXJlcxImLmJ1Y2tldGVlci5mZWF0dXJlLkxpc3RGZWF0dXJlc1JlcXVlc3QaJy5idWNrZXRlZXIuZmVhdHVyZS5MaXN0RmVhdHVyZXNSZXNwb25zZSIAEnYKE0xpc3RFbmFibGVkRmVhdHVyZXMSLS5idWNrZXRlZXIuZmVhdHVyZS5MaXN0RW5hYmxlZEZlYXR1cmVzUmVxdWVzdBouLmJ1Y2tldGVlci5mZWF0dXJlLkxpc3RFbmFibGVkRmVhdHVyZXNSZXNwb25zZSIAEmQKDUNyZWF0ZUZlYXR1cmUSJy5idWNrZXRlZXIuZmVhdHVyZS5DcmVhdGVGZWF0dXJlUmVxdWVzdBooLmJ1Y2tldGVlci5mZWF0dXJlLkNyZWF0ZUZlYXR1cmVSZXNwb25zZSIAEmQKDVVwZGF0ZUZlYXR1cmUSJy5idWNrZXRlZXIuZmVhdHVyZS5VcGRhdGVGZWF0dXJlUmVxdWVzdBooLmJ1Y2tldGVlci5mZWF0dXJlLlVwZGF0ZUZlYXR1cmVSZXNwb25zZSIAEmcKDUVuYWJsZUZlYXR1cmUSJy5idWNrZXRlZXIuZmVhdHVyZS5FbmFibGVGZWF0dXJlUmVxdWVzdBooLmJ1Y2tldGVlci5mZWF0dXJlLkVuYWJsZUZlYXR1cmVSZXNwb25zZSIDiAIBEmoKDkRpc2FibGVGZWF0dXJlEiguYnVja2V0ZWVyLmZlYXR1cmUuRGlzYWJsZUZlYXR1cmVSZXF1ZXN0GikuYnVja2V0ZWVyLmZlYXR1cmUuRGlzYWJsZUZlYXR1cmVSZXNwb25zZSIDiAIBEmcKDkFyY2hpdmVGZWF0dXJlEiguYnVja2V0ZWVyLmZlYXR1cmUuQXJjaGl2ZUZlYXR1cmVSZXF1ZXN0GikuYnVja2V0ZWVyLmZlYXR1cmUuQXJjaGl2ZUZlYXR1cmVSZXNwb25zZSIAEm0KEFVuYXJjaGl2ZUZlYXR1cmUSKi5idWNrZXRlZXIuZmVhdHVyZS5VbmFyY2hpdmVGZWF0dXJlUmVxdWVzdBorLmJ1Y2tldGVlci5mZWF0dXJlLlVuYXJjaGl2ZUZlYXR1cmVSZXNwb25zZSIAEmQKDURlbGV0ZUZlYXR1cmUSJy5idWNrZXRlZXIuZmVhdHVyZS5EZWxldGVGZWF0dXJlUmVxdWVzdBooLmJ1Y2tldGVlci5mZWF0dXJlLkRlbGV0ZUZlYXR1cmVSZXNwb25zZSIAEnkKFFVwZGF0ZUZlYXR1cmVEZXRhaWxzEi4uYnVja2V0ZWVyLmZlYXR1cmUuVXBkYXRlRmVhdHVyZURldGFpbHNSZXF1ZXN0Gi8uYnVja2V0ZWVyLmZlYXR1cmUuVXBkYXRlRmVhdHVyZURldGFpbHNSZXNwb25zZSIAEoIBChdVcGRhdGVGZWF0dXJlVmFyaWF0aW9ucxIxLmJ1Y2tldGVlci5mZWF0dXJlLlVwZGF0ZUZlYXR1cmVWYXJpYXRpb25zUmVxdWVzdBoyLmJ1Y2tldGVlci5mZWF0dXJlLlVwZGF0ZUZlYXR1cmVWYXJpYXRpb25zUmVzcG9uc2UiABJ/ChZVcGRhdGVGZWF0dXJlVGFyZ2V0aW5nEjAuYnVja2V0ZWVyLmZlYXR1cmUuVXBkYXRlRmVhdHVyZVRhcmdldGluZ1JlcXVlc3QaMS5idWNrZXRlZXIuZmVhdHVyZS5VcGRhdGVGZWF0dXJlVGFyZ2V0aW5nUmVzcG9uc2UiABJhCgxDbG9uZUZlYXR1cmUSJi5idWNrZXRlZXIuZmVhdHVyZS5DbG9uZUZlYXR1cmVSZXF1ZXN0GicuYnVja2V0ZWVyLmZlYXR1cmUuQ2xvbmVGZWF0dXJlUmVzcG9uc2UiABKmBAoNQ3JlYXRlU2VnbWVudBInLmJ1Y2tldGVlci5mZWF0dXJlLkNyZWF0ZVNlZ21lbnRSZXF1ZXN0GiguYnVja2V0ZWVyLmZlYXR1cmUuQ3JlYXRlU2VnbWVudFJlc3BvbnNlIsEDkkGnAwoHc2VnbWVudBIGQ3JlYXRlGhFDcmVhdGUgYSBzZWdtZW50LioVd2ViLnYxLnNlZ21lbnQuY3JlYXRlSrQBCgM0MDASrAEKOlJldHVybmVkIGZvciBiYWQgcmVxdWVzdHMgdGhhdCBtYXkgaGF2ZSBmYWlsZWQgdmFsaWRhdGlvbi4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiVgoQYXBwbGljYXRpb24vanNvbhJCeyAiY29kZSI6IDMsICJtZXNzYWdlIjogImludmFsaWQgYXJndW1lbnRzIGVycm9yIiwgImRldGFpbHMiOiBbXSB9SrIBCgM0MDESqgEKPVJlcXVlc3QgY291bGQgbm90IGJlIGF1dGhlbnRpY2F0ZWQgKGF1dGhlbnRpY2F0aW9uIHJlcXVpcmVkKS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiUQoQYXBwbGljYXRpb24vanNvbhI9eyAiY29kZSI6IDE2LCAibWVzc2FnZSI6ICJub3QgYXV0aGVudGljYXRlZCIsICJkZXRhaWxzIjogW10gfYLT5JMCECILL3YxL3NlZ21lbnQ6ASoSkQQKCkdldFNlZ21lbnQSJC5idWNrZXRlZXIuZmVhdHVyZS5HZXRTZWdtZW50UmVxdWVzdBolLmJ1Y2tldGVlci5mZWF0dXJlLkdldFNlZ21lbnRSZXNwb25zZSK1A5JBngMKB3NlZ21lbnQSA0dldBoOR2V0IGEgc2VnbWVudC4qEndlYi52MS5zZWdtZW50LmdldEq0AQoDNDAwEqwBCjpSZXR1cm5lZCBmb3IgYmFkIHJlcXVlc3RzIHRoYXQgbWF5IGhhdmUgZmFpbGVkIHZhbGlkYXRpb24uEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlYKEGFwcGxpY2F0aW9uL2pzb24SQnsgImNvZGUiOiAzLCAibWVzc2FnZSI6ICJpbnZhbGlkIGFyZ3VtZW50cyBlcnJvciIsICJkZXRhaWxzIjogW10gfUqyAQoDNDAxEqoBCj1SZXF1ZXN0IGNvdWxkIG5vdCBiZSBhdXRoZW50aWNhdGVkIChhdXRoZW50aWNhdGlvbiByZXF1aXJlZCkuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlEKEGFwcGxpY2F0aW9uL2pzb24SPXsgImNvZGUiOiAxNiwgIm1lc3NhZ2UiOiAibm90IGF1dGhlbnRpY2F0ZWQiLCAiZGV0YWlscyI6IFtdIH2C0+STAg0SCy92MS9zZWdtZW50EpoECgxMaXN0U2VnbWVudHMSJi5idWNrZXRlZXIuZmVhdHVyZS5MaXN0U2VnbWVudHNSZXF1ZXN0GicuYnVja2V0ZWVyLmZlYXR1cmUuTGlzdFNlZ21lbnRzUmVzcG9uc2UiuAOSQaADCgdzZWdtZW50EgRMaXN0Gg5MaXN0IHNlZ21lbnRzLioTd2ViLnYxLnNlZ21lbnQubGlzdEq0AQoDNDAwEqwBCjpSZXR1cm5lZCBmb3IgYmFkIHJlcXVlc3RzIHRoYXQgbWF5IGhhdmUgZmFpbGVkIHZhbGlkYXRpb24uEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlYKEGFwcGxpY2F0aW9uL2pzb24SQnsgImNvZGUiOiAzLCAibWVzc2FnZSI6ICJpbnZhbGlkIGFyZ3VtZW50cyBlcnJvciIsICJkZXRhaWxzIjogW10gfUqyAQoDNDAxEqoBCj1SZXF1ZXN0IGNvdWxkIG5vdCBiZSBhdXRoZW50aWNhdGVkIChhdXRoZW50aWNhdGlvbiByZXF1aXJlZCkuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlEKEGFwcGxpY2F0aW9uL2pzb24SPXsgImNvZGUiOiAxNiwgIm1lc3NhZ2UiOiAibm90IGF1dGhlbnRpY2F0ZWQiLCAiZGV0YWlscyI6IFtdIH2C0+STAg4SDC92MS9zZWdtZW50cxKjBAoNRGVsZXRlU2VnbWVudBInLmJ1Y2tldGVlci5mZWF0dXJlLkRlbGV0ZVNlZ21lbnRSZXF1ZXN0GiguYnVja2V0ZWVyLmZlYXR1cmUuRGVsZXRlU2VnbWVudFJlc3BvbnNlIr4DkkGnAwoHc2VnbWVudBIGRGVsZXRlGhFEZWxldGUgYSBzZWdtZW50LioVd2ViLnYxLnNlZ21lbnQuZGVsZXRlSrQBCgM0MDASrAEKOlJldHVybmVkIGZvciBiYWQgcmVxdWVzdHMgdGhhdCBtYXkgaGF2ZSBmYWlsZWQgdmFsaWRhdGlvbi4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiVgoQYXBwbGljYXRpb24vanNvbhJCeyAiY29kZSI6IDMsICJtZXNzYWdlIjogImludmFsaWQgYXJndW1lbnRzIGVycm9yIiwgImRldGFpbHMiOiBbXSB9SrIBCgM0MDESqgEKPVJlcXVlc3QgY291bGQgbm90IGJlIGF1dGhlbnRpY2F0ZWQgKGF1dGhlbnRpY2F0aW9uIHJlcXVpcmVkKS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiUQoQYXBwbGljYXRpb24vanNvbhI9eyAiY29kZSI6IDE2LCAibWVzc2FnZSI6ICJub3QgYXV0aGVudGljYXRlZCIsICJkZXRhaWxzIjogW10gfYLT5JMCDSoLL3YxL3NlZ21lbnQSpgQKDVVwZGF0ZVNlZ21lbnQSJy5idWNrZXRlZXIuZmVhdHVyZS5VcGRhdGVTZWdtZW50UmVxdWVzdBooLmJ1Y2tldGVlci5mZWF0dXJlLlVwZGF0ZVNlZ21lbnRSZXNwb25zZSLBA5JBpwMKB3NlZ21lbnQSBlVwZGF0ZRoRVXBkYXRlIGEgc2VnbWVudC4qFXdlYi52MS5zZWdtZW50LnVwZGF0ZUq0AQoDNDAwEqwBCjpSZXR1cm5lZCBmb3IgYmFkIHJlcXVlc3RzIHRoYXQgbWF5IGhhdmUgZmFpbGVkIHZhbGlkYXRpb24uEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlYKEGFwcGxpY2F0aW9uL2pzb24SQnsgImNvZGUiOiAzLCAibWVzc2FnZSI6ICJpbnZhbGlkIGFyZ3VtZW50cyBlcnJvciIsICJkZXRhaWxzIjogW10gfUqyAQoDNDAxEqoBCj1SZXF1ZXN0IGNvdWxkIG5vdCBiZSBhdXRoZW50aWNhdGVkIChhdXRoZW50aWNhdGlvbiByZXF1aXJlZCkuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlEKEGFwcGxpY2F0aW9uL2pzb24SPXsgImNvZGUiOiAxNiwgIm1lc3NhZ2UiOiAibm90IGF1dGhlbnRpY2F0ZWQiLCAiZGV0YWlscyI6IFtdIH2C0+STAhAyCy92MS9zZWdtZW50OgEqEmoKDkFkZFNlZ21lbnRVc2VyEiguYnVja2V0ZWVyLmZlYXR1cmUuQWRkU2VnbWVudFVzZXJSZXF1ZXN0GikuYnVja2V0ZWVyLmZlYXR1cmUuQWRkU2VnbWVudFVzZXJSZXNwb25zZSIDiAIBEnMKEURlbGV0ZVNlZ21lbnRVc2VyEisuYnVja2V0ZWVyLmZlYXR1cmUuRGVsZXRlU2VnbWVudFVzZXJSZXF1ZXN0GiwuYnVja2V0ZWVyLmZlYXR1cmUuRGVsZXRlU2VnbWVudFVzZXJSZXNwb25zZSIDiAIBEmoKDkdldFNlZ21lbnRVc2VyEiguYnVja2V0ZWVyLmZlYXR1cmUuR2V0U2VnbWVudFVzZXJSZXF1ZXN0GikuYnVja2V0ZWVyLmZlYXR1cmUuR2V0U2VnbWVudFVzZXJSZXNwb25zZSIDiAIBEm0KEExpc3RTZWdtZW50VXNlcnMSKi5idWNrZXRlZXIuZmVhdHVyZS5MaXN0U2VnbWVudFVzZXJzUmVxdWVzdBorLmJ1Y2tldGVlci5mZWF0dXJlLkxpc3RTZWdtZW50VXNlcnNSZXNwb25zZSIAEuwEChZCdWxrVXBsb2FkU2VnbWVudFVzZXJzEjAuYnVja2V0ZWVyLmZlYXR1cmUuQnVsa1VwbG9hZFNlZ21lbnRVc2Vyc1JlcXVlc3QaMS5idWNrZXRlZXIuZmVhdHVyZS5CdWxrVXBsb2FkU2VnbWVudFVzZXJzUmVzcG9uc2Ui7AOSQcADCgdzZWdtZW50EgtCdWxrIHVwbG9hZBoaQnVsayB1cGxvYWQgc2VnbWVudCB1c2Vycy4qIHdlYi52MS5zZWdtZW50X3VzZXJzLmJ1bGtfdXBsb2FkSrQBCgM0MDASrAEKOlJldHVybmVkIGZvciBiYWQgcmVxdWVzdHMgdGhhdCBtYXkgaGF2ZSBmYWlsZWQgdmFsaWRhdGlvbi4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiVgoQYXBwbGljYXRpb24vanNvbhJCeyAiY29kZSI6IDMsICJtZXNzYWdlIjogImludmFsaWQgYXJndW1lbnRzIGVycm9yIiwgImRldGFpbHMiOiBbXSB9SrIBCgM0MDESqgEKPVJlcXVlc3QgY291bGQgbm90IGJlIGF1dGhlbnRpY2F0ZWQgKGF1dGhlbnRpY2F0aW9uIHJlcXVpcmVkKS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiUQoQYXBwbGljYXRpb24vanNvbhI9eyAiY29kZSI6IDE2LCAibWVzc2FnZSI6ICJub3QgYXV0aGVudGljYXRlZCIsICJkZXRhaWxzIjogW10gfYLT5JMCIiIdL3YxL3NlZ21lbnRfdXNlcnMvYnVsa191cGxvYWQ6ASoS9wQKGEJ1bGtEb3dubG9hZFNlZ21lbnRVc2VycxIyLmJ1Y2tldGVlci5mZWF0dXJlLkJ1bGtEb3dubG9hZFNlZ21lbnRVc2Vyc1JlcXVlc3QaMy5idWNrZXRlZXIuZmVhdHVyZS5CdWxrRG93bmxvYWRTZWdtZW50VXNlcnNSZXNwb25zZSLxA5JBxgMKB3NlZ21lbnQSDUJ1bGsgZG93bmxvYWQaHEJ1bGsgZG93bmxvYWQgc2VnbWVudCB1c2Vycy4qIndlYi52MS5zZWdtZW50X3VzZXJzLmJ1bGtfZG93bmxvYWRKtAEKAzQwMBKsAQo6UmV0dXJuZWQgZm9yIGJhZCByZXF1ZXN0cyB0aGF0IG1heSBoYXZlIGZhaWxlZCB2YWxpZGF0aW9uLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJWChBhcHBsaWNhdGlvbi9qc29uEkJ7ICJjb2RlIjogMywgIm1lc3NhZ2UiOiAiaW52YWxpZCBhcmd1bWVudHMgZXJyb3IiLCAiZGV0YWlscyI6IFtdIH1KsgEKAzQwMRKqAQo9UmVxdWVzdCBjb3VsZCBub3QgYmUgYXV0aGVudGljYXRlZCAoYXV0aGVudGljYXRpb24gcmVxdWlyZWQpLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJRChBhcHBsaWNhdGlvbi9qc29uEj17ICJjb2RlIjogMTYsICJtZXNzYWdlIjogIm5vdCBhdXRoZW50aWNhdGVkIiwgImRldGFpbHMiOiBbXSB9gtPkkwIhEh8vdjEvc2VnbWVudF91c2Vycy9idWxrX2Rvd25sb2FkEm0KEEV2YWx1YXRlRmVhdHVyZXMSKi5idWNrZXRlZXIuZmVhdHVyZS5FdmFsdWF0ZUZlYXR1cmVzUmVxdWVzdBorLmJ1Y2tldGVlci5mZWF0dXJlLkV2YWx1YXRlRmVhdHVyZXNSZXNwb25zZSIAElUKCExpc3RUYWdzEiIuYnVja2V0ZWVyLmZlYXR1cmUuTGlzdFRhZ3NSZXF1ZXN0GiMuYnVja2V0ZWVyLmZlYXR1cmUuTGlzdFRhZ3NSZXNwb25zZSIAEnAKEUNyZWF0ZUZsYWdUcmlnZ2VyEisuYnVja2V0ZWVyLmZlYXR1cmUuQ3JlYXRlRmxhZ1RyaWdnZXJSZXF1ZXN0GiwuYnVja2V0ZWVyLmZlYXR1cmUuQ3JlYXRlRmxhZ1RyaWdnZXJSZXNwb25zZSIAEnAKEVVwZGF0ZUZsYWdUcmlnZ2VyEisuYnVja2V0ZWVyLmZlYXR1cmUuVXBkYXRlRmxhZ1RyaWdnZXJSZXF1ZXN0GiwuYnVja2V0ZWVyLmZlYXR1cmUuVXBkYXRlRmxhZ1RyaWdnZXJSZXNwb25zZSIAEnAKEUVuYWJsZUZsYWdUcmlnZ2VyEisuYnVja2V0ZWVyLmZlYXR1cmUuRW5hYmxlRmxhZ1RyaWdnZXJSZXF1ZXN0GiwuYnVja2V0ZWVyLmZlYXR1cmUuRW5hYmxlRmxhZ1RyaWdnZXJSZXNwb25zZSIAEnMKEkRpc2FibGVGbGFnVHJpZ2dlchIsLmJ1Y2tldGVlci5mZWF0dXJlLkRpc2FibGVGbGFnVHJpZ2dlclJlcXVlc3QaLS5idWNrZXRlZXIuZmVhdHVyZS5EaXNhYmxlRmxhZ1RyaWdnZXJSZXNwb25zZSIAEm0KEFJlc2V0RmxhZ1RyaWdnZXISKi5idWNrZXRlZXIuZmVhdHVyZS5SZXNldEZsYWdUcmlnZ2VyUmVxdWVzdBorLmJ1Y2tldGVlci5mZWF0dXJlLlJlc2V0RmxhZ1RyaWdnZXJSZXNwb25zZSIAEnAKEURlbGV0ZUZsYWdUcmlnZ2VyEisuYnVja2V0ZWVyLmZlYXR1cmUuRGVsZXRlRmxhZ1RyaWdnZXJSZXF1ZXN0GiwuYnVja2V0ZWVyLmZlYXR1cmUuRGVsZXRlRmxhZ1RyaWdnZXJSZXNwb25zZSIAEmcKDkdldEZsYWdUcmlnZ2VyEiguYnVja2V0ZWVyLmZlYXR1cmUuR2V0RmxhZ1RyaWdnZXJSZXF1ZXN0GikuYnVja2V0ZWVyLmZlYXR1cmUuR2V0RmxhZ1RyaWdnZXJSZXNwb25zZSIAEm0KEExpc3RGbGFnVHJpZ2dlcnMSKi5idWNrZXRlZXIuZmVhdHVyZS5MaXN0RmxhZ1RyaWdnZXJzUmVxdWVzdBorLmJ1Y2tldGVlci5mZWF0dXJlLkxpc3RGbGFnVHJpZ2dlcnNSZXNwb25zZSIAEpQBChJGbGFnVHJpZ2dlcldlYmhvb2sSLC5idWNrZXRlZXIuZmVhdHVyZS5GbGFnVHJpZ2dlcldlYmhvb2tSZXF1ZXN0Gi0uYnVja2V0ZWVyLmZlYXR1cmUuRmxhZ1RyaWdnZXJXZWJob29rUmVzcG9uc2UiIYLT5JMCGyIZL3dlYmhvb2svdHJpZ2dlcnMve3Rva2VufUIxWi9naXRodWIuY29tL2J1Y2tldGVlci1pby9idWNrZXRlZXIvcHJvdG8vZmVhdHVyZWIGcHJvdG8z accountDescriptor: CucDCiNwcm90by9lbnZpcm9ubWVudC9lbnZpcm9ubWVudC5wcm90bxIVYnVja2V0ZWVyLmVudmlyb25tZW50IukCCg1FbnZpcm9ubWVudFYyEg4KAmlkGAEgASgJUgJpZBISCgRuYW1lGAIgASgJUgRuYW1lEhkKCHVybF9jb2RlGAMgASgJUgd1cmxDb2RlEiAKC2Rlc2NyaXB0aW9uGAQgASgJUgtkZXNjcmlwdGlvbhIdCgpwcm9qZWN0X2lkGAUgASgJUglwcm9qZWN0SWQSGgoIYXJjaGl2ZWQYBiABKAhSCGFyY2hpdmVkEh0KCmNyZWF0ZWRfYXQYByABKANSCWNyZWF0ZWRBdBIdCgp1cGRhdGVkX2F0GAggASgDUgl1cGRhdGVkQXQSJwoPb3JnYW5pemF0aW9uX2lkGAkgASgJUg5vcmdhbml6YXRpb25JZBInCg9yZXF1aXJlX2NvbW1lbnQYCiABKAhSDnJlcXVpcmVDb21tZW50EiwKEmZlYXR1cmVfZmxhZ19jb3VudBgLIAEoBVIQZmVhdHVyZUZsYWdDb3VudEI1WjNnaXRodWIuY29tL2J1Y2tldGVlci1pby9idWNrZXRlZXIvcHJvdG8vZW52aXJvbm1lbnRiBnByb3RvMwr9AwofcHJvdG8vZW52aXJvbm1lbnQvcHJvamVjdC5wcm90bxIVYnVja2V0ZWVyLmVudmlyb25tZW50IoMDCgdQcm9qZWN0Eg4KAmlkGAEgASgJUgJpZBIgCgtkZXNjcmlwdGlvbhgCIAEoCVILZGVzY3JpcHRpb24SGgoIZGlzYWJsZWQYAyABKAhSCGRpc2FibGVkEhQKBXRyaWFsGAQgASgIUgV0cmlhbBIjCg1jcmVhdG9yX2VtYWlsGAUgASgJUgxjcmVhdG9yRW1haWwSHQoKY3JlYXRlZF9hdBgGIAEoA1IJY3JlYXRlZEF0Eh0KCnVwZGF0ZWRfYXQYByABKANSCXVwZGF0ZWRBdBISCgRuYW1lGAggASgJUgRuYW1lEhkKCHVybF9jb2RlGAkgASgJUgd1cmxDb2RlEicKD29yZ2FuaXphdGlvbl9pZBgKIAEoCVIOb3JnYW5pemF0aW9uSWQSKwoRZW52aXJvbm1lbnRfY291bnQYCyABKAVSEGVudmlyb25tZW50Q291bnQSLAoSZmVhdHVyZV9mbGFnX2NvdW50GAwgASgFUhBmZWF0dXJlRmxhZ0NvdW50QjVaM2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9lbnZpcm9ubWVudGIGcHJvdG8zCq8ECiRwcm90by9lbnZpcm9ubWVudC9vcmdhbml6YXRpb24ucHJvdG8SFWJ1Y2tldGVlci5lbnZpcm9ubWVudCKwAwoMT3JnYW5pemF0aW9uEg4KAmlkGAEgASgJUgJpZBISCgRuYW1lGAIgASgJUgRuYW1lEhkKCHVybF9jb2RlGAMgASgJUgd1cmxDb2RlEiAKC2Rlc2NyaXB0aW9uGAQgASgJUgtkZXNjcmlwdGlvbhIaCghkaXNhYmxlZBgFIAEoCFIIZGlzYWJsZWQSGgoIYXJjaGl2ZWQYBiABKAhSCGFyY2hpdmVkEhQKBXRyaWFsGAcgASgIUgV0cmlhbBIdCgpjcmVhdGVkX2F0GAggASgDUgljcmVhdGVkQXQSHQoKdXBkYXRlZF9hdBgJIAEoA1IJdXBkYXRlZEF0EiEKDHN5c3RlbV9hZG1pbhgKIAEoCFILc3lzdGVtQWRtaW4SIwoNcHJvamVjdF9jb3VudBgLIAEoBVIMcHJvamVjdENvdW50EisKEWVudmlyb25tZW50X2NvdW50GAwgASgFUhBlbnZpcm9ubWVudENvdW50Eh0KCnVzZXJfY291bnQYDSABKAVSCXVzZXJDb3VudBIfCgtvd25lcl9lbWFpbBgOIAEoCVIKb3duZXJFbWFpbEI1WjNnaXRodWIuY29tL2J1Y2tldGVlci1pby9idWNrZXRlZXIvcHJvdG8vZW52aXJvbm1lbnRiBnByb3RvMwqQAwohcHJvdG8vYWNjb3VudC9zZWFyY2hfZmlsdGVyLnByb3RvEhFidWNrZXRlZXIuYWNjb3VudCLpAQoMU2VhcmNoRmlsdGVyEg4KAmlkGAEgASgJUgJpZBISCgRuYW1lGAIgASgJUgRuYW1lEhQKBXF1ZXJ5GAMgASgJUgVxdWVyeRJRChJmaWx0ZXJfdGFyZ2V0X3R5cGUYBCABKA4yIy5idWNrZXRlZXIuYWNjb3VudC5GaWx0ZXJUYXJnZXRUeXBlUhBmaWx0ZXJUYXJnZXRUeXBlEiUKDmVudmlyb25tZW50X2lkGAUgASgJUg1lbnZpcm9ubWVudElkEiUKDmRlZmF1bHRfZmlsdGVyGAYgASgIUg1kZWZhdWx0RmlsdGVyKjEKEEZpbHRlclRhcmdldFR5cGUSCwoHVU5LTk9XThAAEhAKDEZFQVRVUkVfRkxBRxABQjFaL2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9hY2NvdW50YgZwcm90bzMK1BMKG3Byb3RvL2FjY291bnQvYWNjb3VudC5wcm90bxIRYnVja2V0ZWVyLmFjY291bnQaI3Byb3RvL2Vudmlyb25tZW50L2Vudmlyb25tZW50LnByb3RvGh9wcm90by9lbnZpcm9ubWVudC9wcm9qZWN0LnByb3RvGiRwcm90by9lbnZpcm9ubWVudC9vcmdhbml6YXRpb24ucHJvdG8aIXByb3RvL2FjY291bnQvc2VhcmNoX2ZpbHRlci5wcm90byKrAgoHQWNjb3VudBIOCgJpZBgBIAEoCVICaWQSFAoFZW1haWwYAiABKAlSBWVtYWlsEhIKBG5hbWUYAyABKAlSBG5hbWUSMwoEcm9sZRgEIAEoDjIfLmJ1Y2tldGVlci5hY2NvdW50LkFjY291bnQuUm9sZVIEcm9sZRIaCghkaXNhYmxlZBgFIAEoCFIIZGlzYWJsZWQSHQoKY3JlYXRlZF9hdBgGIAEoA1IJY3JlYXRlZEF0Eh0KCnVwZGF0ZWRfYXQYByABKANSCXVwZGF0ZWRBdBIYCgdkZWxldGVkGAggASgIUgdkZWxldGVkIjkKBFJvbGUSCgoGVklFV0VSEAASCgoGRURJVE9SEAESCQoFT1dORVIQAhIOCgpVTkFTU0lHTkVEEGM6AhgBIrwICglBY2NvdW50VjISFAoFZW1haWwYASABKAlSBWVtYWlsEhIKBG5hbWUYAiABKAlSBG5hbWUSKAoQYXZhdGFyX2ltYWdlX3VybBgDIAEoCVIOYXZhdGFySW1hZ2VVcmwSJwoPb3JnYW5pemF0aW9uX2lkGAQgASgJUg5vcmdhbml6YXRpb25JZBJbChFvcmdhbml6YXRpb25fcm9sZRgFIAEoDjIuLmJ1Y2tldGVlci5hY2NvdW50LkFjY291bnRWMi5Sb2xlLk9yZ2FuaXphdGlvblIQb3JnYW5pemF0aW9uUm9sZRJZChFlbnZpcm9ubWVudF9yb2xlcxgGIAMoCzIsLmJ1Y2tldGVlci5hY2NvdW50LkFjY291bnRWMi5FbnZpcm9ubWVudFJvbGVSEGVudmlyb25tZW50Um9sZXMSGgoIZGlzYWJsZWQYByABKAhSCGRpc2FibGVkEh0KCmNyZWF0ZWRfYXQYCCABKANSCWNyZWF0ZWRBdBIdCgp1cGRhdGVkX2F0GAkgASgDUgl1cGRhdGVkQXQSRgoOc2VhcmNoX2ZpbHRlcnMYCiADKAsyHy5idWNrZXRlZXIuYWNjb3VudC5TZWFyY2hGaWx0ZXJSDXNlYXJjaEZpbHRlcnMSHQoKZmlyc3RfbmFtZRgLIAEoCVIJZmlyc3ROYW1lEhsKCWxhc3RfbmFtZRgMIAEoCVIIbGFzdE5hbWUSGgoIbGFuZ3VhZ2UYDSABKAlSCGxhbmd1YWdlEhsKCWxhc3Rfc2VlbhgOIAEoA1IIbGFzdFNlZW4SKAoQYXZhdGFyX2ZpbGVfdHlwZRgPIAEoCVIOYXZhdGFyRmlsZVR5cGUSIQoMYXZhdGFyX2ltYWdlGBAgASgMUgthdmF0YXJJbWFnZRIrChFlbnZpcm9ubWVudF9jb3VudBgRIAEoBVIQZW52aXJvbm1lbnRDb3VudBISCgR0YWdzGBIgAygJUgR0YWdzGtcBCgRSb2xlIlkKC0Vudmlyb25tZW50EhoKFkVudmlyb25tZW50X1VOQVNTSUdORUQQABIWChJFbnZpcm9ubWVudF9WSUVXRVIQARIWChJFbnZpcm9ubWVudF9FRElUT1IQAiJ0CgxPcmdhbml6YXRpb24SGwoXT3JnYW5pemF0aW9uX1VOQVNTSUdORUQQABIXChNPcmdhbml6YXRpb25fTUVNQkVSEAESFgoST3JnYW5pemF0aW9uX0FETUlOEAISFgoST3JnYW5pemF0aW9uX09XTkVSEAMaewoPRW52aXJvbm1lbnRSb2xlEiUKDmVudmlyb25tZW50X2lkGAEgASgJUg1lbnZpcm9ubWVudElkEkEKBHJvbGUYAiABKA4yLS5idWNrZXRlZXIuYWNjb3VudC5BY2NvdW50VjIuUm9sZS5FbnZpcm9ubWVudFIEcm9sZSLqBgoOQ29uc29sZUFjY291bnQSFAoFZW1haWwYASABKAlSBWVtYWlsEhIKBG5hbWUYAiABKAlSBG5hbWUSHQoKYXZhdGFyX3VybBgDIAEoCVIJYXZhdGFyVXJsEiYKD2lzX3N5c3RlbV9hZG1pbhgEIAEoCFINaXNTeXN0ZW1BZG1pbhJHCgxvcmdhbml6YXRpb24YBSABKAsyIy5idWNrZXRlZXIuZW52aXJvbm1lbnQuT3JnYW5pemF0aW9uUgxvcmdhbml6YXRpb24SWwoRb3JnYW5pemF0aW9uX3JvbGUYBiABKA4yLi5idWNrZXRlZXIuYWNjb3VudC5BY2NvdW50VjIuUm9sZS5Pcmdhbml6YXRpb25SEG9yZ2FuaXphdGlvblJvbGUSXgoRZW52aXJvbm1lbnRfcm9sZXMYByADKAsyMS5idWNrZXRlZXIuYWNjb3VudC5Db25zb2xlQWNjb3VudC5FbnZpcm9ubWVudFJvbGVSEGVudmlyb25tZW50Um9sZXMSRgoOc2VhcmNoX2ZpbHRlcnMYCCADKAsyHy5idWNrZXRlZXIuYWNjb3VudC5TZWFyY2hGaWx0ZXJSDXNlYXJjaEZpbHRlcnMSHQoKZmlyc3RfbmFtZRgJIAEoCVIJZmlyc3ROYW1lEhsKCWxhc3RfbmFtZRgKIAEoCVIIbGFzdE5hbWUSGgoIbGFuZ3VhZ2UYCyABKAlSCGxhbmd1YWdlEigKEGF2YXRhcl9maWxlX3R5cGUYDCABKAlSDmF2YXRhckZpbGVUeXBlEiEKDGF2YXRhcl9pbWFnZRgNIAEoDFILYXZhdGFySW1hZ2USGwoJbGFzdF9zZWVuGA4gASgDUghsYXN0U2VlbhrWAQoPRW52aXJvbm1lbnRSb2xlEkYKC2Vudmlyb25tZW50GAEgASgLMiQuYnVja2V0ZWVyLmVudmlyb25tZW50LkVudmlyb25tZW50VjJSC2Vudmlyb25tZW50EjgKB3Byb2plY3QYAiABKAsyHi5idWNrZXRlZXIuZW52aXJvbm1lbnQuUHJvamVjdFIHcHJvamVjdBJBCgRyb2xlGAMgASgOMi0uYnVja2V0ZWVyLmFjY291bnQuQWNjb3VudFYyLlJvbGUuRW52aXJvbm1lbnRSBHJvbGVCMVovZ2l0aHViLmNvbS9idWNrZXRlZXItaW8vYnVja2V0ZWVyL3Byb3RvL2FjY291bnRiBnByb3RvMwrmBgobcHJvdG8vYWNjb3VudC9hcGlfa2V5LnByb3RvEhFidWNrZXRlZXIuYWNjb3VudBojcHJvdG8vZW52aXJvbm1lbnQvZW52aXJvbm1lbnQucHJvdG8iuwMKBkFQSUtleRIOCgJpZBgBIAEoCVICaWQSEgoEbmFtZRgCIAEoCVIEbmFtZRIyCgRyb2xlGAMgASgOMh4uYnVja2V0ZWVyLmFjY291bnQuQVBJS2V5LlJvbGVSBHJvbGUSGgoIZGlzYWJsZWQYBCABKAhSCGRpc2FibGVkEh0KCmNyZWF0ZWRfYXQYBSABKANSCWNyZWF0ZWRBdBIdCgp1cGRhdGVkX2F0GAYgASgDUgl1cGRhdGVkQXQSHgoKbWFpbnRhaW5lchgHIAEoCVIKbWFpbnRhaW5lchIXCgdhcGlfa2V5GAggASgJUgZhcGlLZXkSIAoLZGVzY3JpcHRpb24YCSABKAlSC2Rlc2NyaXB0aW9uEikKEGVudmlyb25tZW50X25hbWUYCiABKAlSD2Vudmlyb25tZW50TmFtZSJ5CgRSb2xlEgsKB1VOS05PV04QABIOCgpTREtfQ0xJRU5UEAESDgoKU0RLX1NFUlZFUhACEhgKFFBVQkxJQ19BUElfUkVBRF9PTkxZEAMSFAoQUFVCTElDX0FQSV9XUklURRAEEhQKEFBVQkxJQ19BUElfQURNSU4QBSKVAgoRRW52aXJvbm1lbnRBUElLZXkSMgoHYXBpX2tleRgCIAEoCzIZLmJ1Y2tldGVlci5hY2NvdW50LkFQSUtleVIGYXBpS2V5EjEKFGVudmlyb25tZW50X2Rpc2FibGVkGAMgASgIUhNlbnZpcm9ubWVudERpc2FibGVkEiEKCnByb2plY3RfaWQYBCABKAlCAhgBUglwcm9qZWN0SWQSRgoLZW52aXJvbm1lbnQYBSABKAsyJC5idWNrZXRlZXIuZW52aXJvbm1lbnQuRW52aXJvbm1lbnRWMlILZW52aXJvbm1lbnQSKAoQcHJvamVjdF91cmxfY29kZRgGIAEoCVIOcHJvamVjdFVybENvZGVKBAgBEAJCMVovZ2l0aHViLmNvbS9idWNrZXRlZXItaW8vYnVja2V0ZWVyL3Byb3RvL2FjY291bnRiBnByb3RvMwqcEgobcHJvdG8vYWNjb3VudC9jb21tYW5kLnByb3RvEhFidWNrZXRlZXIuYWNjb3VudBobcHJvdG8vYWNjb3VudC9hY2NvdW50LnByb3RvGhtwcm90by9hY2NvdW50L2FwaV9rZXkucHJvdG8aIXByb3RvL2FjY291bnQvc2VhcmNoX2ZpbHRlci5wcm90byKQAwoWQ3JlYXRlQWNjb3VudFYyQ29tbWFuZBIUCgVlbWFpbBgBIAEoCVIFZW1haWwSEgoEbmFtZRgCIAEoCVIEbmFtZRIoChBhdmF0YXJfaW1hZ2VfdXJsGAMgASgJUg5hdmF0YXJJbWFnZVVybBJbChFvcmdhbml6YXRpb25fcm9sZRgEIAEoDjIuLmJ1Y2tldGVlci5hY2NvdW50LkFjY291bnRWMi5Sb2xlLk9yZ2FuaXphdGlvblIQb3JnYW5pemF0aW9uUm9sZRJZChFlbnZpcm9ubWVudF9yb2xlcxgFIAMoCzIsLmJ1Y2tldGVlci5hY2NvdW50LkFjY291bnRWMi5FbnZpcm9ubWVudFJvbGVSEGVudmlyb25tZW50Um9sZXMSHQoKZmlyc3RfbmFtZRgGIAEoCVIJZmlyc3ROYW1lEhsKCWxhc3RfbmFtZRgHIAEoCVIIbGFzdE5hbWUSGgoIbGFuZ3VhZ2UYCCABKAlSCGxhbmd1YWdlEhIKBHRhZ3MYCSADKAlSBHRhZ3MiMAoaQ2hhbmdlQWNjb3VudFYyTmFtZUNvbW1hbmQSEgoEbmFtZRgBIAEoCVIEbmFtZSJACh9DaGFuZ2VBY2NvdW50VjJGaXJzdE5hbWVDb21tYW5kEh0KCmZpcnN0X25hbWUYASABKAlSCWZpcnN0TmFtZSI9Ch5DaGFuZ2VBY2NvdW50VjJMYXN0TmFtZUNvbW1hbmQSGwoJbGFzdF9uYW1lGAEgASgJUghsYXN0TmFtZSI8Ch5DaGFuZ2VBY2NvdW50VjJMYW5ndWFnZUNvbW1hbmQSGgoIbGFuZ3VhZ2UYASABKAlSCGxhbmd1YWdlIlAKJENoYW5nZUFjY291bnRWMkF2YXRhckltYWdlVXJsQ29tbWFuZBIoChBhdmF0YXJfaW1hZ2VfdXJsGAEgASgJUg5hdmF0YXJJbWFnZVVybCJrChxDaGFuZ2VBY2NvdW50VjJBdmF0YXJDb21tYW5kEiEKDGF2YXRhcl9pbWFnZRgBIAEoDFILYXZhdGFySW1hZ2USKAoQYXZhdGFyX2ZpbGVfdHlwZRgCIAEoCVIOYXZhdGFyRmlsZVR5cGUiMAoaQ2hhbmdlQWNjb3VudFYyVGFnc0NvbW1hbmQSEgoEdGFncxgBIAMoCVIEdGFncyI9Ch5DaGFuZ2VBY2NvdW50VjJMYXN0U2VlbkNvbW1hbmQSGwoJbGFzdF9zZWVuGAEgASgDUghsYXN0U2VlbiJsCiZDaGFuZ2VBY2NvdW50VjJPcmdhbml6YXRpb25Sb2xlQ29tbWFuZBJCCgRyb2xlGAEgASgOMi4uYnVja2V0ZWVyLmFjY291bnQuQWNjb3VudFYyLlJvbGUuT3JnYW5pemF0aW9uUgRyb2xlIqUCCiZDaGFuZ2VBY2NvdW50VjJFbnZpcm9ubWVudFJvbGVzQ29tbWFuZBJCCgVyb2xlcxgBIAMoCzIsLmJ1Y2tldGVlci5hY2NvdW50LkFjY291bnRWMi5FbnZpcm9ubWVudFJvbGVSBXJvbGVzEmIKCndyaXRlX3R5cGUYAiABKA4yQy5idWNrZXRlZXIuYWNjb3VudC5DaGFuZ2VBY2NvdW50VjJFbnZpcm9ubWVudFJvbGVzQ29tbWFuZC5Xcml0ZVR5cGVSCXdyaXRlVHlwZSJTCglXcml0ZVR5cGUSGQoVV3JpdGVUeXBlX1VOU1BFQ0lGSUVEEAASFgoSV3JpdGVUeXBlX09WRVJSSURFEAESEwoPV3JpdGVUeXBlX1BBVENIEAIiGAoWRW5hYmxlQWNjb3VudFYyQ29tbWFuZCIZChdEaXNhYmxlQWNjb3VudFYyQ29tbWFuZCIYChZEZWxldGVBY2NvdW50VjJDb21tYW5kIl0KE0NyZWF0ZUFQSUtleUNvbW1hbmQSEgoEbmFtZRgBIAEoCVIEbmFtZRIyCgRyb2xlGAIgASgOMh4uYnVja2V0ZWVyLmFjY291bnQuQVBJS2V5LlJvbGVSBHJvbGUiLQoXQ2hhbmdlQVBJS2V5TmFtZUNvbW1hbmQSEgoEbmFtZRgBIAEoCVIEbmFtZSIVChNFbmFibGVBUElLZXlDb21tYW5kIhYKFERpc2FibGVBUElLZXlDb21tYW5kIuYBChlDcmVhdGVTZWFyY2hGaWx0ZXJDb21tYW5kEhIKBG5hbWUYASABKAlSBG5hbWUSFAoFcXVlcnkYAiABKAlSBXF1ZXJ5ElEKEmZpbHRlcl90YXJnZXRfdHlwZRgDIAEoDjIjLmJ1Y2tldGVlci5hY2NvdW50LkZpbHRlclRhcmdldFR5cGVSEGZpbHRlclRhcmdldFR5cGUSJQoOZW52aXJvbm1lbnRfaWQYBCABKAlSDWVudmlyb25tZW50SWQSJQoOZGVmYXVsdF9maWx0ZXIYBSABKAhSDWRlZmF1bHRGaWx0ZXIiQwodQ2hhbmdlU2VhcmNoRmlsdGVyTmFtZUNvbW1hbmQSDgoCaWQYASABKAlSAmlkEhIKBG5hbWUYAiABKAlSBG5hbWUiRgoeQ2hhbmdlU2VhcmNoRmlsdGVyUXVlcnlDb21tYW5kEg4KAmlkGAEgASgJUgJpZBIUCgVxdWVyeRgCIAEoCVIFcXVlcnkiWQogQ2hhbmdlRGVmYXVsdFNlYXJjaEZpbHRlckNvbW1hbmQSDgoCaWQYASABKAlSAmlkEiUKDmRlZmF1bHRfZmlsdGVyGAIgASgIUg1kZWZhdWx0RmlsdGVyIisKGURlbGV0ZVNlYXJjaEZpbHRlckNvbW1hbmQSDgoCaWQYASABKAlSAmlkQjFaL2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9hY2NvdW50YgZwcm90bzMKhgQKHmdvb2dsZS9wcm90b2J1Zi93cmFwcGVycy5wcm90bxIPZ29vZ2xlLnByb3RvYnVmIiMKC0RvdWJsZVZhbHVlEhQKBXZhbHVlGAEgASgBUgV2YWx1ZSIiCgpGbG9hdFZhbHVlEhQKBXZhbHVlGAEgASgCUgV2YWx1ZSIiCgpJbnQ2NFZhbHVlEhQKBXZhbHVlGAEgASgDUgV2YWx1ZSIjCgtVSW50NjRWYWx1ZRIUCgV2YWx1ZRgBIAEoBFIFdmFsdWUiIgoKSW50MzJWYWx1ZRIUCgV2YWx1ZRgBIAEoBVIFdmFsdWUiIwoLVUludDMyVmFsdWUSFAoFdmFsdWUYASABKA1SBXZhbHVlIiEKCUJvb2xWYWx1ZRIUCgV2YWx1ZRgBIAEoCFIFdmFsdWUiIwoLU3RyaW5nVmFsdWUSFAoFdmFsdWUYASABKAlSBXZhbHVlIiIKCkJ5dGVzVmFsdWUSFAoFdmFsdWUYASABKAxSBXZhbHVlQoMBChNjb20uZ29vZ2xlLnByb3RvYnVmQg1XcmFwcGVyc1Byb3RvUAFaMWdvb2dsZS5nb2xhbmcub3JnL3Byb3RvYnVmL3R5cGVzL2tub3duL3dyYXBwZXJzcGL4AQGiAgNHUEKqAh5Hb29nbGUuUHJvdG9idWYuV2VsbEtub3duVHlwZXNiBnByb3RvMwqHBQoVZ29vZ2xlL2FwaS9odHRwLnByb3RvEgpnb29nbGUuYXBpInkKBEh0dHASKgoFcnVsZXMYASADKAsyFC5nb29nbGUuYXBpLkh0dHBSdWxlUgVydWxlcxJFCh9mdWxseV9kZWNvZGVfcmVzZXJ2ZWRfZXhwYW5zaW9uGAIgASgIUhxmdWxseURlY29kZVJlc2VydmVkRXhwYW5zaW9uIrUCCghIdHRwUnVsZRIaCghzZWxlY3RvchgBIAEoCVIIc2VsZWN0b3ISEgoDZ2V0GAIgASgJSABSA2dldBISCgNwdXQYAyABKAlIAFIDcHV0EhQKBHBvc3QYBCABKAlIAFIEcG9zdBIYCgZkZWxldGUYBSABKAlIAFIGZGVsZXRlEhYKBXBhdGNoGAYgASgJSABSBXBhdGNoEjcKBmN1c3RvbRgIIAEoCzIdLmdvb2dsZS5hcGkuQ3VzdG9tSHR0cFBhdHRlcm5IAFIGY3VzdG9tEhIKBGJvZHkYByABKAlSBGJvZHkSRQoTYWRkaXRpb25hbF9iaW5kaW5ncxgLIAMoCzIULmdvb2dsZS5hcGkuSHR0cFJ1bGVSEmFkZGl0aW9uYWxCaW5kaW5nc0IJCgdwYXR0ZXJuIjsKEUN1c3RvbUh0dHBQYXR0ZXJuEhIKBGtpbmQYASABKAlSBGtpbmQSEgoEcGF0aBgCIAEoCVIEcGF0aEJqCg5jb20uZ29vZ2xlLmFwaUIJSHR0cFByb3RvUAFaQWdvb2dsZS5nb2xhbmcub3JnL2dlbnByb3RvL2dvb2dsZWFwaXMvYXBpL2Fubm90YXRpb25zO2Fubm90YXRpb25z+AEBogIER0FQSWIGcHJvdG8zCuFGCiBnb29nbGUvcHJvdG9idWYvZGVzY3JpcHRvci5wcm90bxIPZ29vZ2xlLnByb3RvYnVmIk0KEUZpbGVEZXNjcmlwdG9yU2V0EjgKBGZpbGUYASADKAsyJC5nb29nbGUucHJvdG9idWYuRmlsZURlc2NyaXB0b3JQcm90b1IEZmlsZSL+BAoTRmlsZURlc2NyaXB0b3JQcm90bxISCgRuYW1lGAEgASgJUgRuYW1lEhgKB3BhY2thZ2UYAiABKAlSB3BhY2thZ2USHgoKZGVwZW5kZW5jeRgDIAMoCVIKZGVwZW5kZW5jeRIrChFwdWJsaWNfZGVwZW5kZW5jeRgKIAMoBVIQcHVibGljRGVwZW5kZW5jeRInCg93ZWFrX2RlcGVuZGVuY3kYCyADKAVSDndlYWtEZXBlbmRlbmN5EkMKDG1lc3NhZ2VfdHlwZRgEIAMoCzIgLmdvb2dsZS5wcm90b2J1Zi5EZXNjcmlwdG9yUHJvdG9SC21lc3NhZ2VUeXBlEkEKCWVudW1fdHlwZRgFIAMoCzIkLmdvb2dsZS5wcm90b2J1Zi5FbnVtRGVzY3JpcHRvclByb3RvUghlbnVtVHlwZRJBCgdzZXJ2aWNlGAYgAygLMicuZ29vZ2xlLnByb3RvYnVmLlNlcnZpY2VEZXNjcmlwdG9yUHJvdG9SB3NlcnZpY2USQwoJZXh0ZW5zaW9uGAcgAygLMiUuZ29vZ2xlLnByb3RvYnVmLkZpZWxkRGVzY3JpcHRvclByb3RvUglleHRlbnNpb24SNgoHb3B0aW9ucxgIIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5GaWxlT3B0aW9uc1IHb3B0aW9ucxJJChBzb3VyY2VfY29kZV9pbmZvGAkgASgLMh8uZ29vZ2xlLnByb3RvYnVmLlNvdXJjZUNvZGVJbmZvUg5zb3VyY2VDb2RlSW5mbxIWCgZzeW50YXgYDCABKAlSBnN5bnRheBIYCgdlZGl0aW9uGA0gASgJUgdlZGl0aW9uIrkGCg9EZXNjcmlwdG9yUHJvdG8SEgoEbmFtZRgBIAEoCVIEbmFtZRI7CgVmaWVsZBgCIAMoCzIlLmdvb2dsZS5wcm90b2J1Zi5GaWVsZERlc2NyaXB0b3JQcm90b1IFZmllbGQSQwoJZXh0ZW5zaW9uGAYgAygLMiUuZ29vZ2xlLnByb3RvYnVmLkZpZWxkRGVzY3JpcHRvclByb3RvUglleHRlbnNpb24SQQoLbmVzdGVkX3R5cGUYAyADKAsyIC5nb29nbGUucHJvdG9idWYuRGVzY3JpcHRvclByb3RvUgpuZXN0ZWRUeXBlEkEKCWVudW1fdHlwZRgEIAMoCzIkLmdvb2dsZS5wcm90b2J1Zi5FbnVtRGVzY3JpcHRvclByb3RvUghlbnVtVHlwZRJYCg9leHRlbnNpb25fcmFuZ2UYBSADKAsyLy5nb29nbGUucHJvdG9idWYuRGVzY3JpcHRvclByb3RvLkV4dGVuc2lvblJhbmdlUg5leHRlbnNpb25SYW5nZRJECgpvbmVvZl9kZWNsGAggAygLMiUuZ29vZ2xlLnByb3RvYnVmLk9uZW9mRGVzY3JpcHRvclByb3RvUglvbmVvZkRlY2wSOQoHb3B0aW9ucxgHIAEoCzIfLmdvb2dsZS5wcm90b2J1Zi5NZXNzYWdlT3B0aW9uc1IHb3B0aW9ucxJVCg5yZXNlcnZlZF9yYW5nZRgJIAMoCzIuLmdvb2dsZS5wcm90b2J1Zi5EZXNjcmlwdG9yUHJvdG8uUmVzZXJ2ZWRSYW5nZVINcmVzZXJ2ZWRSYW5nZRIjCg1yZXNlcnZlZF9uYW1lGAogAygJUgxyZXNlcnZlZE5hbWUaegoORXh0ZW5zaW9uUmFuZ2USFAoFc3RhcnQYASABKAVSBXN0YXJ0EhAKA2VuZBgCIAEoBVIDZW5kEkAKB29wdGlvbnMYAyABKAsyJi5nb29nbGUucHJvdG9idWYuRXh0ZW5zaW9uUmFuZ2VPcHRpb25zUgdvcHRpb25zGjcKDVJlc2VydmVkUmFuZ2USFAoFc3RhcnQYASABKAVSBXN0YXJ0EhAKA2VuZBgCIAEoBVIDZW5kIq0EChVFeHRlbnNpb25SYW5nZU9wdGlvbnMSWAoUdW5pbnRlcnByZXRlZF9vcHRpb24Y5wcgAygLMiQuZ29vZ2xlLnByb3RvYnVmLlVuaW50ZXJwcmV0ZWRPcHRpb25SE3VuaW50ZXJwcmV0ZWRPcHRpb24SWQoLZGVjbGFyYXRpb24YAiADKAsyMi5nb29nbGUucHJvdG9idWYuRXh0ZW5zaW9uUmFuZ2VPcHRpb25zLkRlY2xhcmF0aW9uQgOIAQJSC2RlY2xhcmF0aW9uEmgKDHZlcmlmaWNhdGlvbhgDIAEoDjI4Lmdvb2dsZS5wcm90b2J1Zi5FeHRlbnNpb25SYW5nZU9wdGlvbnMuVmVyaWZpY2F0aW9uU3RhdGU6ClVOVkVSSUZJRURSDHZlcmlmaWNhdGlvbhqzAQoLRGVjbGFyYXRpb24SFgoGbnVtYmVyGAEgASgFUgZudW1iZXISGwoJZnVsbF9uYW1lGAIgASgJUghmdWxsTmFtZRISCgR0eXBlGAMgASgJUgR0eXBlEiMKC2lzX3JlcGVhdGVkGAQgASgIQgIYAVIKaXNSZXBlYXRlZBIaCghyZXNlcnZlZBgFIAEoCFIIcmVzZXJ2ZWQSGgoIcmVwZWF0ZWQYBiABKAhSCHJlcGVhdGVkIjQKEVZlcmlmaWNhdGlvblN0YXRlEg8KC0RFQ0xBUkFUSU9OEAASDgoKVU5WRVJJRklFRBABKgkI6AcQgICAgAIiwQYKFEZpZWxkRGVzY3JpcHRvclByb3RvEhIKBG5hbWUYASABKAlSBG5hbWUSFgoGbnVtYmVyGAMgASgFUgZudW1iZXISQQoFbGFiZWwYBCABKA4yKy5nb29nbGUucHJvdG9idWYuRmllbGREZXNjcmlwdG9yUHJvdG8uTGFiZWxSBWxhYmVsEj4KBHR5cGUYBSABKA4yKi5nb29nbGUucHJvdG9idWYuRmllbGREZXNjcmlwdG9yUHJvdG8uVHlwZVIEdHlwZRIbCgl0eXBlX25hbWUYBiABKAlSCHR5cGVOYW1lEhoKCGV4dGVuZGVlGAIgASgJUghleHRlbmRlZRIjCg1kZWZhdWx0X3ZhbHVlGAcgASgJUgxkZWZhdWx0VmFsdWUSHwoLb25lb2ZfaW5kZXgYCSABKAVSCm9uZW9mSW5kZXgSGwoJanNvbl9uYW1lGAogASgJUghqc29uTmFtZRI3CgdvcHRpb25zGAggASgLMh0uZ29vZ2xlLnByb3RvYnVmLkZpZWxkT3B0aW9uc1IHb3B0aW9ucxInCg9wcm90bzNfb3B0aW9uYWwYESABKAhSDnByb3RvM09wdGlvbmFsIrYCCgRUeXBlEg8KC1RZUEVfRE9VQkxFEAESDgoKVFlQRV9GTE9BVBACEg4KClRZUEVfSU5UNjQQAxIPCgtUWVBFX1VJTlQ2NBAEEg4KClRZUEVfSU5UMzIQBRIQCgxUWVBFX0ZJWEVENjQQBhIQCgxUWVBFX0ZJWEVEMzIQBxINCglUWVBFX0JPT0wQCBIPCgtUWVBFX1NUUklORxAJEg4KClRZUEVfR1JPVVAQChIQCgxUWVBFX01FU1NBR0UQCxIOCgpUWVBFX0JZVEVTEAwSDwoLVFlQRV9VSU5UMzIQDRINCglUWVBFX0VOVU0QDhIRCg1UWVBFX1NGSVhFRDMyEA8SEQoNVFlQRV9TRklYRUQ2NBAQEg8KC1RZUEVfU0lOVDMyEBESDwoLVFlQRV9TSU5UNjQQEiJDCgVMYWJlbBISCg5MQUJFTF9PUFRJT05BTBABEhIKDkxBQkVMX1JFUVVJUkVEEAISEgoOTEFCRUxfUkVQRUFURUQQAyJjChRPbmVvZkRlc2NyaXB0b3JQcm90bxISCgRuYW1lGAEgASgJUgRuYW1lEjcKB29wdGlvbnMYAiABKAsyHS5nb29nbGUucHJvdG9idWYuT25lb2ZPcHRpb25zUgdvcHRpb25zIuMCChNFbnVtRGVzY3JpcHRvclByb3RvEhIKBG5hbWUYASABKAlSBG5hbWUSPwoFdmFsdWUYAiADKAsyKS5nb29nbGUucHJvdG9idWYuRW51bVZhbHVlRGVzY3JpcHRvclByb3RvUgV2YWx1ZRI2CgdvcHRpb25zGAMgASgLMhwuZ29vZ2xlLnByb3RvYnVmLkVudW1PcHRpb25zUgdvcHRpb25zEl0KDnJlc2VydmVkX3JhbmdlGAQgAygLMjYuZ29vZ2xlLnByb3RvYnVmLkVudW1EZXNjcmlwdG9yUHJvdG8uRW51bVJlc2VydmVkUmFuZ2VSDXJlc2VydmVkUmFuZ2USIwoNcmVzZXJ2ZWRfbmFtZRgFIAMoCVIMcmVzZXJ2ZWROYW1lGjsKEUVudW1SZXNlcnZlZFJhbmdlEhQKBXN0YXJ0GAEgASgFUgVzdGFydBIQCgNlbmQYAiABKAVSA2VuZCKDAQoYRW51bVZhbHVlRGVzY3JpcHRvclByb3RvEhIKBG5hbWUYASABKAlSBG5hbWUSFgoGbnVtYmVyGAIgASgFUgZudW1iZXISOwoHb3B0aW9ucxgDIAEoCzIhLmdvb2dsZS5wcm90b2J1Zi5FbnVtVmFsdWVPcHRpb25zUgdvcHRpb25zIqcBChZTZXJ2aWNlRGVzY3JpcHRvclByb3RvEhIKBG5hbWUYASABKAlSBG5hbWUSPgoGbWV0aG9kGAIgAygLMiYuZ29vZ2xlLnByb3RvYnVmLk1ldGhvZERlc2NyaXB0b3JQcm90b1IGbWV0aG9kEjkKB29wdGlvbnMYAyABKAsyHy5nb29nbGUucHJvdG9idWYuU2VydmljZU9wdGlvbnNSB29wdGlvbnMiiQIKFU1ldGhvZERlc2NyaXB0b3JQcm90bxISCgRuYW1lGAEgASgJUgRuYW1lEh0KCmlucHV0X3R5cGUYAiABKAlSCWlucHV0VHlwZRIfCgtvdXRwdXRfdHlwZRgDIAEoCVIKb3V0cHV0VHlwZRI4CgdvcHRpb25zGAQgASgLMh4uZ29vZ2xlLnByb3RvYnVmLk1ldGhvZE9wdGlvbnNSB29wdGlvbnMSMAoQY2xpZW50X3N0cmVhbWluZxgFIAEoCDoFZmFsc2VSD2NsaWVudFN0cmVhbWluZxIwChBzZXJ2ZXJfc3RyZWFtaW5nGAYgASgIOgVmYWxzZVIPc2VydmVyU3RyZWFtaW5nIpEJCgtGaWxlT3B0aW9ucxIhCgxqYXZhX3BhY2thZ2UYASABKAlSC2phdmFQYWNrYWdlEjAKFGphdmFfb3V0ZXJfY2xhc3NuYW1lGAggASgJUhJqYXZhT3V0ZXJDbGFzc25hbWUSNQoTamF2YV9tdWx0aXBsZV9maWxlcxgKIAEoCDoFZmFsc2VSEWphdmFNdWx0aXBsZUZpbGVzEkQKHWphdmFfZ2VuZXJhdGVfZXF1YWxzX2FuZF9oYXNoGBQgASgIQgIYAVIZamF2YUdlbmVyYXRlRXF1YWxzQW5kSGFzaBI6ChZqYXZhX3N0cmluZ19jaGVja191dGY4GBsgASgIOgVmYWxzZVITamF2YVN0cmluZ0NoZWNrVXRmOBJTCgxvcHRpbWl6ZV9mb3IYCSABKA4yKS5nb29nbGUucHJvdG9idWYuRmlsZU9wdGlvbnMuT3B0aW1pemVNb2RlOgVTUEVFRFILb3B0aW1pemVGb3ISHQoKZ29fcGFja2FnZRgLIAEoCVIJZ29QYWNrYWdlEjUKE2NjX2dlbmVyaWNfc2VydmljZXMYECABKAg6BWZhbHNlUhFjY0dlbmVyaWNTZXJ2aWNlcxI5ChVqYXZhX2dlbmVyaWNfc2VydmljZXMYESABKAg6BWZhbHNlUhNqYXZhR2VuZXJpY1NlcnZpY2VzEjUKE3B5X2dlbmVyaWNfc2VydmljZXMYEiABKAg6BWZhbHNlUhFweUdlbmVyaWNTZXJ2aWNlcxI3ChRwaHBfZ2VuZXJpY19zZXJ2aWNlcxgqIAEoCDoFZmFsc2VSEnBocEdlbmVyaWNTZXJ2aWNlcxIlCgpkZXByZWNhdGVkGBcgASgIOgVmYWxzZVIKZGVwcmVjYXRlZBIuChBjY19lbmFibGVfYXJlbmFzGB8gASgIOgR0cnVlUg5jY0VuYWJsZUFyZW5hcxIqChFvYmpjX2NsYXNzX3ByZWZpeBgkIAEoCVIPb2JqY0NsYXNzUHJlZml4EikKEGNzaGFycF9uYW1lc3BhY2UYJSABKAlSD2NzaGFycE5hbWVzcGFjZRIhCgxzd2lmdF9wcmVmaXgYJyABKAlSC3N3aWZ0UHJlZml4EigKEHBocF9jbGFzc19wcmVmaXgYKCABKAlSDnBocENsYXNzUHJlZml4EiMKDXBocF9uYW1lc3BhY2UYKSABKAlSDHBocE5hbWVzcGFjZRI0ChZwaHBfbWV0YWRhdGFfbmFtZXNwYWNlGCwgASgJUhRwaHBNZXRhZGF0YU5hbWVzcGFjZRIhCgxydWJ5X3BhY2thZ2UYLSABKAlSC3J1YnlQYWNrYWdlElgKFHVuaW50ZXJwcmV0ZWRfb3B0aW9uGOcHIAMoCzIkLmdvb2dsZS5wcm90b2J1Zi5VbmludGVycHJldGVkT3B0aW9uUhN1bmludGVycHJldGVkT3B0aW9uIjoKDE9wdGltaXplTW9kZRIJCgVTUEVFRBABEg0KCUNPREVfU0laRRACEhAKDExJVEVfUlVOVElNRRADKgkI6AcQgICAgAJKBAgmECciuwMKDk1lc3NhZ2VPcHRpb25zEjwKF21lc3NhZ2Vfc2V0X3dpcmVfZm9ybWF0GAEgASgIOgVmYWxzZVIUbWVzc2FnZVNldFdpcmVGb3JtYXQSTAofbm9fc3RhbmRhcmRfZGVzY3JpcHRvcl9hY2Nlc3NvchgCIAEoCDoFZmFsc2VSHG5vU3RhbmRhcmREZXNjcmlwdG9yQWNjZXNzb3ISJQoKZGVwcmVjYXRlZBgDIAEoCDoFZmFsc2VSCmRlcHJlY2F0ZWQSGwoJbWFwX2VudHJ5GAcgASgIUghtYXBFbnRyeRJWCiZkZXByZWNhdGVkX2xlZ2FjeV9qc29uX2ZpZWxkX2NvbmZsaWN0cxgLIAEoCEICGAFSImRlcHJlY2F0ZWRMZWdhY3lKc29uRmllbGRDb25mbGljdHMSWAoUdW5pbnRlcnByZXRlZF9vcHRpb24Y5wcgAygLMiQuZ29vZ2xlLnByb3RvYnVmLlVuaW50ZXJwcmV0ZWRPcHRpb25SE3VuaW50ZXJwcmV0ZWRPcHRpb24qCQjoBxCAgICAAkoECAQQBUoECAUQBkoECAYQB0oECAgQCUoECAkQCiKFCQoMRmllbGRPcHRpb25zEkEKBWN0eXBlGAEgASgOMiMuZ29vZ2xlLnByb3RvYnVmLkZpZWxkT3B0aW9ucy5DVHlwZToGU1RSSU5HUgVjdHlwZRIWCgZwYWNrZWQYAiABKAhSBnBhY2tlZBJHCgZqc3R5cGUYBiABKA4yJC5nb29nbGUucHJvdG9idWYuRmllbGRPcHRpb25zLkpTVHlwZToJSlNfTk9STUFMUgZqc3R5cGUSGQoEbGF6eRgFIAEoCDoFZmFsc2VSBGxhenkSLgoPdW52ZXJpZmllZF9sYXp5GA8gASgIOgVmYWxzZVIOdW52ZXJpZmllZExhenkSJQoKZGVwcmVjYXRlZBgDIAEoCDoFZmFsc2VSCmRlcHJlY2F0ZWQSGQoEd2VhaxgKIAEoCDoFZmFsc2VSBHdlYWsSKAoMZGVidWdfcmVkYWN0GBAgASgIOgVmYWxzZVILZGVidWdSZWRhY3QSSwoJcmV0ZW50aW9uGBEgASgOMi0uZ29vZ2xlLnByb3RvYnVmLkZpZWxkT3B0aW9ucy5PcHRpb25SZXRlbnRpb25SCXJldGVudGlvbhJKCgZ0YXJnZXQYEiABKA4yLi5nb29nbGUucHJvdG9idWYuRmllbGRPcHRpb25zLk9wdGlvblRhcmdldFR5cGVCAhgBUgZ0YXJnZXQSSAoHdGFyZ2V0cxgTIAMoDjIuLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE9wdGlvbnMuT3B0aW9uVGFyZ2V0VHlwZVIHdGFyZ2V0cxJYChR1bmludGVycHJldGVkX29wdGlvbhjnByADKAsyJC5nb29nbGUucHJvdG9idWYuVW5pbnRlcnByZXRlZE9wdGlvblITdW5pbnRlcnByZXRlZE9wdGlvbiIvCgVDVHlwZRIKCgZTVFJJTkcQABIICgRDT1JEEAESEAoMU1RSSU5HX1BJRUNFEAIiNQoGSlNUeXBlEg0KCUpTX05PUk1BTBAAEg0KCUpTX1NUUklORxABEg0KCUpTX05VTUJFUhACIlUKD09wdGlvblJldGVudGlvbhIVChFSRVRFTlRJT05fVU5LTk9XThAAEhUKEVJFVEVOVElPTl9SVU5USU1FEAESFAoQUkVURU5USU9OX1NPVVJDRRACIowCChBPcHRpb25UYXJnZXRUeXBlEhcKE1RBUkdFVF9UWVBFX1VOS05PV04QABIUChBUQVJHRVRfVFlQRV9GSUxFEAESHwobVEFSR0VUX1RZUEVfRVhURU5TSU9OX1JBTkdFEAISFwoTVEFSR0VUX1RZUEVfTUVTU0FHRRADEhUKEVRBUkdFVF9UWVBFX0ZJRUxEEAQSFQoRVEFSR0VUX1RZUEVfT05FT0YQBRIUChBUQVJHRVRfVFlQRV9FTlVNEAYSGgoWVEFSR0VUX1RZUEVfRU5VTV9FTlRSWRAHEhcKE1RBUkdFVF9UWVBFX1NFUlZJQ0UQCBIWChJUQVJHRVRfVFlQRV9NRVRIT0QQCSoJCOgHEICAgIACSgQIBBAFInMKDE9uZW9mT3B0aW9ucxJYChR1bmludGVycHJldGVkX29wdGlvbhjnByADKAsyJC5nb29nbGUucHJvdG9idWYuVW5pbnRlcnByZXRlZE9wdGlvblITdW5pbnRlcnByZXRlZE9wdGlvbioJCOgHEICAgIACIpgCCgtFbnVtT3B0aW9ucxIfCgthbGxvd19hbGlhcxgCIAEoCFIKYWxsb3dBbGlhcxIlCgpkZXByZWNhdGVkGAMgASgIOgVmYWxzZVIKZGVwcmVjYXRlZBJWCiZkZXByZWNhdGVkX2xlZ2FjeV9qc29uX2ZpZWxkX2NvbmZsaWN0cxgGIAEoCEICGAFSImRlcHJlY2F0ZWRMZWdhY3lKc29uRmllbGRDb25mbGljdHMSWAoUdW5pbnRlcnByZXRlZF9vcHRpb24Y5wcgAygLMiQuZ29vZ2xlLnByb3RvYnVmLlVuaW50ZXJwcmV0ZWRPcHRpb25SE3VuaW50ZXJwcmV0ZWRPcHRpb24qCQjoBxCAgICAAkoECAUQBiKeAQoQRW51bVZhbHVlT3B0aW9ucxIlCgpkZXByZWNhdGVkGAEgASgIOgVmYWxzZVIKZGVwcmVjYXRlZBJYChR1bmludGVycHJldGVkX29wdGlvbhjnByADKAsyJC5nb29nbGUucHJvdG9idWYuVW5pbnRlcnByZXRlZE9wdGlvblITdW5pbnRlcnByZXRlZE9wdGlvbioJCOgHEICAgIACIpwBCg5TZXJ2aWNlT3B0aW9ucxIlCgpkZXByZWNhdGVkGCEgASgIOgVmYWxzZVIKZGVwcmVjYXRlZBJYChR1bmludGVycHJldGVkX29wdGlvbhjnByADKAsyJC5nb29nbGUucHJvdG9idWYuVW5pbnRlcnByZXRlZE9wdGlvblITdW5pbnRlcnByZXRlZE9wdGlvbioJCOgHEICAgIACIuACCg1NZXRob2RPcHRpb25zEiUKCmRlcHJlY2F0ZWQYISABKAg6BWZhbHNlUgpkZXByZWNhdGVkEnEKEWlkZW1wb3RlbmN5X2xldmVsGCIgASgOMi8uZ29vZ2xlLnByb3RvYnVmLk1ldGhvZE9wdGlvbnMuSWRlbXBvdGVuY3lMZXZlbDoTSURFTVBPVEVOQ1lfVU5LTk9XTlIQaWRlbXBvdGVuY3lMZXZlbBJYChR1bmludGVycHJldGVkX29wdGlvbhjnByADKAsyJC5nb29nbGUucHJvdG9idWYuVW5pbnRlcnByZXRlZE9wdGlvblITdW5pbnRlcnByZXRlZE9wdGlvbiJQChBJZGVtcG90ZW5jeUxldmVsEhcKE0lERU1QT1RFTkNZX1VOS05PV04QABITCg9OT19TSURFX0VGRkVDVFMQARIOCgpJREVNUE9URU5UEAIqCQjoBxCAgICAAiKaAwoTVW5pbnRlcnByZXRlZE9wdGlvbhJBCgRuYW1lGAIgAygLMi0uZ29vZ2xlLnByb3RvYnVmLlVuaW50ZXJwcmV0ZWRPcHRpb24uTmFtZVBhcnRSBG5hbWUSKQoQaWRlbnRpZmllcl92YWx1ZRgDIAEoCVIPaWRlbnRpZmllclZhbHVlEiwKEnBvc2l0aXZlX2ludF92YWx1ZRgEIAEoBFIQcG9zaXRpdmVJbnRWYWx1ZRIsChJuZWdhdGl2ZV9pbnRfdmFsdWUYBSABKANSEG5lZ2F0aXZlSW50VmFsdWUSIQoMZG91YmxlX3ZhbHVlGAYgASgBUgtkb3VibGVWYWx1ZRIhCgxzdHJpbmdfdmFsdWUYByABKAxSC3N0cmluZ1ZhbHVlEicKD2FnZ3JlZ2F0ZV92YWx1ZRgIIAEoCVIOYWdncmVnYXRlVmFsdWUaSgoITmFtZVBhcnQSGwoJbmFtZV9wYXJ0GAEgAigJUghuYW1lUGFydBIhCgxpc19leHRlbnNpb24YAiACKAhSC2lzRXh0ZW5zaW9uIqcCCg5Tb3VyY2VDb2RlSW5mbxJECghsb2NhdGlvbhgBIAMoCzIoLmdvb2dsZS5wcm90b2J1Zi5Tb3VyY2VDb2RlSW5mby5Mb2NhdGlvblIIbG9jYXRpb24azgEKCExvY2F0aW9uEhYKBHBhdGgYASADKAVCAhABUgRwYXRoEhYKBHNwYW4YAiADKAVCAhABUgRzcGFuEikKEGxlYWRpbmdfY29tbWVudHMYAyABKAlSD2xlYWRpbmdDb21tZW50cxIrChF0cmFpbGluZ19jb21tZW50cxgEIAEoCVIQdHJhaWxpbmdDb21tZW50cxI6ChlsZWFkaW5nX2RldGFjaGVkX2NvbW1lbnRzGAYgAygJUhdsZWFkaW5nRGV0YWNoZWRDb21tZW50cyLQAgoRR2VuZXJhdGVkQ29kZUluZm8STQoKYW5ub3RhdGlvbhgBIAMoCzItLmdvb2dsZS5wcm90b2J1Zi5HZW5lcmF0ZWRDb2RlSW5mby5Bbm5vdGF0aW9uUgphbm5vdGF0aW9uGusBCgpBbm5vdGF0aW9uEhYKBHBhdGgYASADKAVCAhABUgRwYXRoEh8KC3NvdXJjZV9maWxlGAIgASgJUgpzb3VyY2VGaWxlEhQKBWJlZ2luGAMgASgFUgViZWdpbhIQCgNlbmQYBCABKAVSA2VuZBJSCghzZW1hbnRpYxgFIAEoDjI2Lmdvb2dsZS5wcm90b2J1Zi5HZW5lcmF0ZWRDb2RlSW5mby5Bbm5vdGF0aW9uLlNlbWFudGljUghzZW1hbnRpYyIoCghTZW1hbnRpYxIICgROT05FEAASBwoDU0VUEAESCQoFQUxJQVMQAkJ+ChNjb20uZ29vZ2xlLnByb3RvYnVmQhBEZXNjcmlwdG9yUHJvdG9zSAFaLWdvb2dsZS5nb2xhbmcub3JnL3Byb3RvYnVmL3R5cGVzL2Rlc2NyaXB0b3JwYvgBAaICA0dQQqoCGkdvb2dsZS5Qcm90b2J1Zi5SZWZsZWN0aW9uCqgCChxnb29nbGUvYXBpL2Fubm90YXRpb25zLnByb3RvEgpnb29nbGUuYXBpGhVnb29nbGUvYXBpL2h0dHAucHJvdG8aIGdvb2dsZS9wcm90b2J1Zi9kZXNjcmlwdG9yLnByb3RvOksKBGh0dHASHi5nb29nbGUucHJvdG9idWYuTWV0aG9kT3B0aW9ucxiwyrwiIAEoCzIULmdvb2dsZS5hcGkuSHR0cFJ1bGVSBGh0dHBCbgoOY29tLmdvb2dsZS5hcGlCEEFubm90YXRpb25zUHJvdG9QAVpBZ29vZ2xlLmdvbGFuZy5vcmcvZ2VucHJvdG8vZ29vZ2xlYXBpcy9hcGkvYW5ub3RhdGlvbnM7YW5ub3RhdGlvbnOiAgRHQVBJYgZwcm90bzMK6AMKH2dvb2dsZS9hcGkvZmllbGRfYmVoYXZpb3IucHJvdG8SCmdvb2dsZS5hcGkaIGdvb2dsZS9wcm90b2J1Zi9kZXNjcmlwdG9yLnByb3RvKrYBCg1GaWVsZEJlaGF2aW9yEh4KGkZJRUxEX0JFSEFWSU9SX1VOU1BFQ0lGSUVEEAASDAoIT1BUSU9OQUwQARIMCghSRVFVSVJFRBACEg8KC09VVFBVVF9PTkxZEAMSDgoKSU5QVVRfT05MWRAEEg0KCUlNTVVUQUJMRRAFEhIKDlVOT1JERVJFRF9MSVNUEAYSFQoRTk9OX0VNUFRZX0RFRkFVTFQQBxIOCgpJREVOVElGSUVSEAg6ZAoOZmllbGRfYmVoYXZpb3ISHS5nb29nbGUucHJvdG9idWYuRmllbGRPcHRpb25zGJwIIAMoDjIZLmdvb2dsZS5hcGkuRmllbGRCZWhhdmlvckICEABSDWZpZWxkQmVoYXZpb3JCcAoOY29tLmdvb2dsZS5hcGlCEkZpZWxkQmVoYXZpb3JQcm90b1ABWkFnb29nbGUuZ29sYW5nLm9yZy9nZW5wcm90by9nb29nbGVhcGlzL2FwaS9hbm5vdGF0aW9uczthbm5vdGF0aW9uc6ICBEdBUEliBnByb3RvMwriBQocZ29vZ2xlL3Byb3RvYnVmL3N0cnVjdC5wcm90bxIPZ29vZ2xlLnByb3RvYnVmIpgBCgZTdHJ1Y3QSOwoGZmllbGRzGAEgAygLMiMuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdC5GaWVsZHNFbnRyeVIGZmllbGRzGlEKC0ZpZWxkc0VudHJ5EhAKA2tleRgBIAEoCVIDa2V5EiwKBXZhbHVlGAIgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlUgV2YWx1ZToCOAEisgIKBVZhbHVlEjsKCm51bGxfdmFsdWUYASABKA4yGi5nb29nbGUucHJvdG9idWYuTnVsbFZhbHVlSABSCW51bGxWYWx1ZRIjCgxudW1iZXJfdmFsdWUYAiABKAFIAFILbnVtYmVyVmFsdWUSIwoMc3RyaW5nX3ZhbHVlGAMgASgJSABSC3N0cmluZ1ZhbHVlEh8KCmJvb2xfdmFsdWUYBCABKAhIAFIJYm9vbFZhbHVlEjwKDHN0cnVjdF92YWx1ZRgFIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAFILc3RydWN0VmFsdWUSOwoKbGlzdF92YWx1ZRgGIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5MaXN0VmFsdWVIAFIJbGlzdFZhbHVlQgYKBGtpbmQiOwoJTGlzdFZhbHVlEi4KBnZhbHVlcxgBIAMoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZVIGdmFsdWVzKhsKCU51bGxWYWx1ZRIOCgpOVUxMX1ZBTFVFEABCfwoTY29tLmdvb2dsZS5wcm90b2J1ZkILU3RydWN0UHJvdG9QAVovZ29vZ2xlLmdvbGFuZy5vcmcvcHJvdG9idWYvdHlwZXMva25vd24vc3RydWN0cGL4AQGiAgNHUEKqAh5Hb29nbGUuUHJvdG9idWYuV2VsbEtub3duVHlwZXNiBnByb3RvMwqmPgoscHJvdG9jLWdlbi1vcGVuYXBpdjIvb3B0aW9ucy9vcGVuYXBpdjIucHJvdG8SKWdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zGhxnb29nbGUvcHJvdG9idWYvc3RydWN0LnByb3RvIrMICgdTd2FnZ2VyEhgKB3N3YWdnZXIYASABKAlSB3N3YWdnZXISQwoEaW5mbxgCIAEoCzIvLmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLkluZm9SBGluZm8SEgoEaG9zdBgDIAEoCVIEaG9zdBIbCgliYXNlX3BhdGgYBCABKAlSCGJhc2VQYXRoEksKB3NjaGVtZXMYBSADKA4yMS5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5TY2hlbWVSB3NjaGVtZXMSGgoIY29uc3VtZXMYBiADKAlSCGNvbnN1bWVzEhoKCHByb2R1Y2VzGAcgAygJUghwcm9kdWNlcxJfCglyZXNwb25zZXMYCiADKAsyQS5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5Td2FnZ2VyLlJlc3BvbnNlc0VudHJ5UglyZXNwb25zZXMScQoUc2VjdXJpdHlfZGVmaW5pdGlvbnMYCyABKAsyPi5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5TZWN1cml0eURlZmluaXRpb25zUhNzZWN1cml0eURlZmluaXRpb25zEloKCHNlY3VyaXR5GAwgAygLMj4uZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuU2VjdXJpdHlSZXF1aXJlbWVudFIIc2VjdXJpdHkSQgoEdGFncxgNIAMoCzIuLmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlRhZ1IEdGFncxJlCg1leHRlcm5hbF9kb2NzGA4gASgLMkAuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuRXh0ZXJuYWxEb2N1bWVudGF0aW9uUgxleHRlcm5hbERvY3MSYgoKZXh0ZW5zaW9ucxgPIAMoCzJCLmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlN3YWdnZXIuRXh0ZW5zaW9uc0VudHJ5UgpleHRlbnNpb25zGnEKDlJlc3BvbnNlc0VudHJ5EhAKA2tleRgBIAEoCVIDa2V5EkkKBXZhbHVlGAIgASgLMjMuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuUmVzcG9uc2VSBXZhbHVlOgI4ARpVCg9FeHRlbnNpb25zRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSLAoFdmFsdWUYAiABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWVSBXZhbHVlOgI4AUoECAgQCUoECAkQCiLWBwoJT3BlcmF0aW9uEhIKBHRhZ3MYASADKAlSBHRhZ3MSGAoHc3VtbWFyeRgCIAEoCVIHc3VtbWFyeRIgCgtkZXNjcmlwdGlvbhgDIAEoCVILZGVzY3JpcHRpb24SZQoNZXh0ZXJuYWxfZG9jcxgEIAEoCzJALmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLkV4dGVybmFsRG9jdW1lbnRhdGlvblIMZXh0ZXJuYWxEb2NzEiEKDG9wZXJhdGlvbl9pZBgFIAEoCVILb3BlcmF0aW9uSWQSGgoIY29uc3VtZXMYBiADKAlSCGNvbnN1bWVzEhoKCHByb2R1Y2VzGAcgAygJUghwcm9kdWNlcxJhCglyZXNwb25zZXMYCSADKAsyQy5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5PcGVyYXRpb24uUmVzcG9uc2VzRW50cnlSCXJlc3BvbnNlcxJLCgdzY2hlbWVzGAogAygOMjEuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuU2NoZW1lUgdzY2hlbWVzEh4KCmRlcHJlY2F0ZWQYCyABKAhSCmRlcHJlY2F0ZWQSWgoIc2VjdXJpdHkYDCADKAsyPi5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5TZWN1cml0eVJlcXVpcmVtZW50UghzZWN1cml0eRJkCgpleHRlbnNpb25zGA0gAygLMkQuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuT3BlcmF0aW9uLkV4dGVuc2lvbnNFbnRyeVIKZXh0ZW5zaW9ucxJVCgpwYXJhbWV0ZXJzGA4gASgLMjUuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuUGFyYW1ldGVyc1IKcGFyYW1ldGVycxpxCg5SZXNwb25zZXNFbnRyeRIQCgNrZXkYASABKAlSA2tleRJJCgV2YWx1ZRgCIAEoCzIzLmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlJlc3BvbnNlUgV2YWx1ZToCOAEaVQoPRXh0ZW5zaW9uc0VudHJ5EhAKA2tleRgBIAEoCVIDa2V5EiwKBXZhbHVlGAIgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlUgV2YWx1ZToCOAFKBAgIEAkiYgoKUGFyYW1ldGVycxJUCgdoZWFkZXJzGAEgAygLMjouZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuSGVhZGVyUGFyYW1ldGVyUgdoZWFkZXJzIqMCCg9IZWFkZXJQYXJhbWV0ZXISEgoEbmFtZRgBIAEoCVIEbmFtZRIgCgtkZXNjcmlwdGlvbhgCIAEoCVILZGVzY3JpcHRpb24SUwoEdHlwZRgDIAEoDjI/LmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLkhlYWRlclBhcmFtZXRlci5UeXBlUgR0eXBlEhYKBmZvcm1hdBgEIAEoCVIGZm9ybWF0EhoKCHJlcXVpcmVkGAUgASgIUghyZXF1aXJlZCJFCgRUeXBlEgsKB1VOS05PV04QABIKCgZTVFJJTkcQARIKCgZOVU1CRVIQAhILCgdJTlRFR0VSEAMSCwoHQk9PTEVBThAESgQIBhAHSgQIBxAIItgBCgZIZWFkZXISIAoLZGVzY3JpcHRpb24YASABKAlSC2Rlc2NyaXB0aW9uEhIKBHR5cGUYAiABKAlSBHR5cGUSFgoGZm9ybWF0GAMgASgJUgZmb3JtYXQSGAoHZGVmYXVsdBgGIAEoCVIHZGVmYXVsdBIYCgdwYXR0ZXJuGA0gASgJUgdwYXR0ZXJuSgQIBBAFSgQIBRAGSgQIBxAISgQICBAJSgQICRAKSgQIChALSgQICxAMSgQIDBANSgQIDhAPSgQIDxAQSgQIEBARSgQIERASSgQIEhATIpoFCghSZXNwb25zZRIgCgtkZXNjcmlwdGlvbhgBIAEoCVILZGVzY3JpcHRpb24SSQoGc2NoZW1hGAIgASgLMjEuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuU2NoZW1hUgZzY2hlbWESWgoHaGVhZGVycxgDIAMoCzJALmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlJlc3BvbnNlLkhlYWRlcnNFbnRyeVIHaGVhZGVycxJdCghleGFtcGxlcxgEIAMoCzJBLmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlJlc3BvbnNlLkV4YW1wbGVzRW50cnlSCGV4YW1wbGVzEmMKCmV4dGVuc2lvbnMYBSADKAsyQy5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5SZXNwb25zZS5FeHRlbnNpb25zRW50cnlSCmV4dGVuc2lvbnMabQoMSGVhZGVyc0VudHJ5EhAKA2tleRgBIAEoCVIDa2V5EkcKBXZhbHVlGAIgASgLMjEuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuSGVhZGVyUgV2YWx1ZToCOAEaOwoNRXhhbXBsZXNFbnRyeRIQCgNrZXkYASABKAlSA2tleRIUCgV2YWx1ZRgCIAEoCVIFdmFsdWU6AjgBGlUKD0V4dGVuc2lvbnNFbnRyeRIQCgNrZXkYASABKAlSA2tleRIsCgV2YWx1ZRgCIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZVIFdmFsdWU6AjgBItYDCgRJbmZvEhQKBXRpdGxlGAEgASgJUgV0aXRsZRIgCgtkZXNjcmlwdGlvbhgCIAEoCVILZGVzY3JpcHRpb24SKAoQdGVybXNfb2Zfc2VydmljZRgDIAEoCVIOdGVybXNPZlNlcnZpY2USTAoHY29udGFjdBgEIAEoCzIyLmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLkNvbnRhY3RSB2NvbnRhY3QSTAoHbGljZW5zZRgFIAEoCzIyLmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLkxpY2Vuc2VSB2xpY2Vuc2USGAoHdmVyc2lvbhgGIAEoCVIHdmVyc2lvbhJfCgpleHRlbnNpb25zGAcgAygLMj8uZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuSW5mby5FeHRlbnNpb25zRW50cnlSCmV4dGVuc2lvbnMaVQoPRXh0ZW5zaW9uc0VudHJ5EhAKA2tleRgBIAEoCVIDa2V5EiwKBXZhbHVlGAIgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlUgV2YWx1ZToCOAEiRQoHQ29udGFjdBISCgRuYW1lGAEgASgJUgRuYW1lEhAKA3VybBgCIAEoCVIDdXJsEhQKBWVtYWlsGAMgASgJUgVlbWFpbCIvCgdMaWNlbnNlEhIKBG5hbWUYASABKAlSBG5hbWUSEAoDdXJsGAIgASgJUgN1cmwiSwoVRXh0ZXJuYWxEb2N1bWVudGF0aW9uEiAKC2Rlc2NyaXB0aW9uGAEgASgJUgtkZXNjcmlwdGlvbhIQCgN1cmwYAiABKAlSA3VybCKqAgoGU2NoZW1hElYKC2pzb25fc2NoZW1hGAEgASgLMjUuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuSlNPTlNjaGVtYVIKanNvblNjaGVtYRIkCg1kaXNjcmltaW5hdG9yGAIgASgJUg1kaXNjcmltaW5hdG9yEhsKCXJlYWRfb25seRgDIAEoCFIIcmVhZE9ubHkSZQoNZXh0ZXJuYWxfZG9jcxgFIAEoCzJALmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLkV4dGVybmFsRG9jdW1lbnRhdGlvblIMZXh0ZXJuYWxEb2NzEhgKB2V4YW1wbGUYBiABKAlSB2V4YW1wbGVKBAgEEAUi1woKCkpTT05TY2hlbWESEAoDcmVmGAMgASgJUgNyZWYSFAoFdGl0bGUYBSABKAlSBXRpdGxlEiAKC2Rlc2NyaXB0aW9uGAYgASgJUgtkZXNjcmlwdGlvbhIYCgdkZWZhdWx0GAcgASgJUgdkZWZhdWx0EhsKCXJlYWRfb25seRgIIAEoCFIIcmVhZE9ubHkSGAoHZXhhbXBsZRgJIAEoCVIHZXhhbXBsZRIfCgttdWx0aXBsZV9vZhgKIAEoAVIKbXVsdGlwbGVPZhIYCgdtYXhpbXVtGAsgASgBUgdtYXhpbXVtEisKEWV4Y2x1c2l2ZV9tYXhpbXVtGAwgASgIUhBleGNsdXNpdmVNYXhpbXVtEhgKB21pbmltdW0YDSABKAFSB21pbmltdW0SKwoRZXhjbHVzaXZlX21pbmltdW0YDiABKAhSEGV4Y2x1c2l2ZU1pbmltdW0SHQoKbWF4X2xlbmd0aBgPIAEoBFIJbWF4TGVuZ3RoEh0KCm1pbl9sZW5ndGgYECABKARSCW1pbkxlbmd0aBIYCgdwYXR0ZXJuGBEgASgJUgdwYXR0ZXJuEhsKCW1heF9pdGVtcxgUIAEoBFIIbWF4SXRlbXMSGwoJbWluX2l0ZW1zGBUgASgEUghtaW5JdGVtcxIhCgx1bmlxdWVfaXRlbXMYFiABKAhSC3VuaXF1ZUl0ZW1zEiUKDm1heF9wcm9wZXJ0aWVzGBggASgEUg1tYXhQcm9wZXJ0aWVzEiUKDm1pbl9wcm9wZXJ0aWVzGBkgASgEUg1taW5Qcm9wZXJ0aWVzEhoKCHJlcXVpcmVkGBogAygJUghyZXF1aXJlZBIUCgVhcnJheRgiIAMoCVIFYXJyYXkSXwoEdHlwZRgjIAMoDjJLLmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLkpTT05TY2hlbWEuSlNPTlNjaGVtYVNpbXBsZVR5cGVzUgR0eXBlEhYKBmZvcm1hdBgkIAEoCVIGZm9ybWF0EhIKBGVudW0YLiADKAlSBGVudW0SegoTZmllbGRfY29uZmlndXJhdGlvbhjpByABKAsySC5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5KU09OU2NoZW1hLkZpZWxkQ29uZmlndXJhdGlvblISZmllbGRDb25maWd1cmF0aW9uEmUKCmV4dGVuc2lvbnMYMCADKAsyRS5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5KU09OU2NoZW1hLkV4dGVuc2lvbnNFbnRyeVIKZXh0ZW5zaW9ucxo8ChJGaWVsZENvbmZpZ3VyYXRpb24SJgoPcGF0aF9wYXJhbV9uYW1lGC8gASgJUg1wYXRoUGFyYW1OYW1lGlUKD0V4dGVuc2lvbnNFbnRyeRIQCgNrZXkYASABKAlSA2tleRIsCgV2YWx1ZRgCIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZVIFdmFsdWU6AjgBIncKFUpTT05TY2hlbWFTaW1wbGVUeXBlcxILCgdVTktOT1dOEAASCQoFQVJSQVkQARILCgdCT09MRUFOEAISCwoHSU5URUdFUhADEggKBE5VTEwQBBIKCgZOVU1CRVIQBRIKCgZPQkpFQ1QQBhIKCgZTVFJJTkcQB0oECAEQAkoECAIQA0oECAQQBUoECBIQE0oECBMQFEoECBcQGEoECBsQHEoECBwQHUoECB0QHkoECB4QIkoECCUQKkoECCoQK0oECCsQLiLZAgoDVGFnEhIKBG5hbWUYASABKAlSBG5hbWUSIAoLZGVzY3JpcHRpb24YAiABKAlSC2Rlc2NyaXB0aW9uEmUKDWV4dGVybmFsX2RvY3MYAyABKAsyQC5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5FeHRlcm5hbERvY3VtZW50YXRpb25SDGV4dGVybmFsRG9jcxJeCgpleHRlbnNpb25zGAQgAygLMj4uZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuVGFnLkV4dGVuc2lvbnNFbnRyeVIKZXh0ZW5zaW9ucxpVCg9FeHRlbnNpb25zRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSLAoFdmFsdWUYAiABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWVSBXZhbHVlOgI4ASL3AQoTU2VjdXJpdHlEZWZpbml0aW9ucxJoCghzZWN1cml0eRgBIAMoCzJMLmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlNlY3VyaXR5RGVmaW5pdGlvbnMuU2VjdXJpdHlFbnRyeVIIc2VjdXJpdHkadgoNU2VjdXJpdHlFbnRyeRIQCgNrZXkYASABKAlSA2tleRJPCgV2YWx1ZRgCIAEoCzI5LmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlNlY3VyaXR5U2NoZW1lUgV2YWx1ZToCOAEi/wYKDlNlY3VyaXR5U2NoZW1lElIKBHR5cGUYASABKA4yPi5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5TZWN1cml0eVNjaGVtZS5UeXBlUgR0eXBlEiAKC2Rlc2NyaXB0aW9uGAIgASgJUgtkZXNjcmlwdGlvbhISCgRuYW1lGAMgASgJUgRuYW1lEkwKAmluGAQgASgOMjwuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuU2VjdXJpdHlTY2hlbWUuSW5SAmluElIKBGZsb3cYBSABKA4yPi5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5TZWN1cml0eVNjaGVtZS5GbG93UgRmbG93EisKEWF1dGhvcml6YXRpb25fdXJsGAYgASgJUhBhdXRob3JpemF0aW9uVXJsEhsKCXRva2VuX3VybBgHIAEoCVIIdG9rZW5VcmwSSQoGc2NvcGVzGAggASgLMjEuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuU2NvcGVzUgZzY29wZXMSaQoKZXh0ZW5zaW9ucxgJIAMoCzJJLmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlNlY3VyaXR5U2NoZW1lLkV4dGVuc2lvbnNFbnRyeVIKZXh0ZW5zaW9ucxpVCg9FeHRlbnNpb25zRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSLAoFdmFsdWUYAiABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWVSBXZhbHVlOgI4ASJLCgRUeXBlEhAKDFRZUEVfSU5WQUxJRBAAEg4KClRZUEVfQkFTSUMQARIQCgxUWVBFX0FQSV9LRVkQAhIPCgtUWVBFX09BVVRIMhADIjEKAkluEg4KCklOX0lOVkFMSUQQABIMCghJTl9RVUVSWRABEg0KCUlOX0hFQURFUhACImoKBEZsb3cSEAoMRkxPV19JTlZBTElEEAASEQoNRkxPV19JTVBMSUNJVBABEhEKDUZMT1dfUEFTU1dPUkQQAhIUChBGTE9XX0FQUExJQ0FUSU9OEAMSFAoQRkxPV19BQ0NFU1NfQ09ERRAEIvYCChNTZWN1cml0eVJlcXVpcmVtZW50EooBChRzZWN1cml0eV9yZXF1aXJlbWVudBgBIAMoCzJXLmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlNlY3VyaXR5UmVxdWlyZW1lbnQuU2VjdXJpdHlSZXF1aXJlbWVudEVudHJ5UhNzZWN1cml0eVJlcXVpcmVtZW50GjAKGFNlY3VyaXR5UmVxdWlyZW1lbnRWYWx1ZRIUCgVzY29wZRgBIAMoCVIFc2NvcGUanwEKGFNlY3VyaXR5UmVxdWlyZW1lbnRFbnRyeRIQCgNrZXkYASABKAlSA2tleRJtCgV2YWx1ZRgCIAEoCzJXLmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlNlY3VyaXR5UmVxdWlyZW1lbnQuU2VjdXJpdHlSZXF1aXJlbWVudFZhbHVlUgV2YWx1ZToCOAEilgEKBlNjb3BlcxJSCgVzY29wZRgBIAMoCzI8LmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlNjb3Blcy5TY29wZUVudHJ5UgVzY29wZRo4CgpTY29wZUVudHJ5EhAKA2tleRgBIAEoCVIDa2V5EhQKBXZhbHVlGAIgASgJUgV2YWx1ZToCOAEqOwoGU2NoZW1lEgsKB1VOS05PV04QABIICgRIVFRQEAESCQoFSFRUUFMQAhIGCgJXUxADEgcKA1dTUxAEQkhaRmdpdGh1Yi5jb20vZ3JwYy1lY29zeXN0ZW0vZ3JwYy1nYXRld2F5L3YyL3Byb3RvYy1nZW4tb3BlbmFwaXYyL29wdGlvbnNiBnByb3RvMwr9BgoucHJvdG9jLWdlbi1vcGVuYXBpdjIvb3B0aW9ucy9hbm5vdGF0aW9ucy5wcm90bxIpZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMaIGdvb2dsZS9wcm90b2J1Zi9kZXNjcmlwdG9yLnByb3RvGixwcm90b2MtZ2VuLW9wZW5hcGl2Mi9vcHRpb25zL29wZW5hcGl2Mi5wcm90bzp+ChFvcGVuYXBpdjJfc3dhZ2dlchIcLmdvb2dsZS5wcm90b2J1Zi5GaWxlT3B0aW9ucxiSCCABKAsyMi5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5Td2FnZ2VyUhBvcGVuYXBpdjJTd2FnZ2VyOoYBChNvcGVuYXBpdjJfb3BlcmF0aW9uEh4uZ29vZ2xlLnByb3RvYnVmLk1ldGhvZE9wdGlvbnMYkgggASgLMjQuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuT3BlcmF0aW9uUhJvcGVuYXBpdjJPcGVyYXRpb246fgoQb3BlbmFwaXYyX3NjaGVtYRIfLmdvb2dsZS5wcm90b2J1Zi5NZXNzYWdlT3B0aW9ucxiSCCABKAsyMS5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5TY2hlbWFSD29wZW5hcGl2MlNjaGVtYTp1Cg1vcGVuYXBpdjJfdGFnEh8uZ29vZ2xlLnByb3RvYnVmLlNlcnZpY2VPcHRpb25zGJIIIAEoCzIuLmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlRhZ1IMb3BlbmFwaXYyVGFnOn4KD29wZW5hcGl2Ml9maWVsZBIdLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE9wdGlvbnMYkgggASgLMjUuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuSlNPTlNjaGVtYVIOb3BlbmFwaXYyRmllbGRCSFpGZ2l0aHViLmNvbS9ncnBjLWVjb3N5c3RlbS9ncnBjLWdhdGV3YXkvdjIvcHJvdG9jLWdlbi1vcGVuYXBpdjIvb3B0aW9uc2IGcHJvdG8zCta/AQobcHJvdG8vYWNjb3VudC9zZXJ2aWNlLnByb3RvEhFidWNrZXRlZXIuYWNjb3VudBoeZ29vZ2xlL3Byb3RvYnVmL3dyYXBwZXJzLnByb3RvGhxnb29nbGUvYXBpL2Fubm90YXRpb25zLnByb3RvGh9nb29nbGUvYXBpL2ZpZWxkX2JlaGF2aW9yLnByb3RvGi5wcm90b2MtZ2VuLW9wZW5hcGl2Mi9vcHRpb25zL2Fubm90YXRpb25zLnByb3RvGhtwcm90by9hY2NvdW50L2FjY291bnQucHJvdG8aG3Byb3RvL2FjY291bnQvYXBpX2tleS5wcm90bxobcHJvdG8vYWNjb3VudC9jb21tYW5kLnByb3RvGiRwcm90by9lbnZpcm9ubWVudC9vcmdhbml6YXRpb24ucHJvdG8iNwoMR2V0TWVSZXF1ZXN0EicKD29yZ2FuaXphdGlvbl9pZBgBIAEoCVIOb3JnYW5pemF0aW9uSWQiTAoNR2V0TWVSZXNwb25zZRI7CgdhY2NvdW50GAEgASgLMiEuYnVja2V0ZWVyLmFjY291bnQuQ29uc29sZUFjY291bnRSB2FjY291bnQiGwoZR2V0TXlPcmdhbml6YXRpb25zUmVxdWVzdCI4CiBHZXRNeU9yZ2FuaXphdGlvbnNCeUVtYWlsUmVxdWVzdBIUCgVlbWFpbBgBIAEoCVIFZW1haWwiZwoaR2V0TXlPcmdhbml6YXRpb25zUmVzcG9uc2USSQoNb3JnYW5pemF0aW9ucxgBIAMoCzIjLmJ1Y2tldGVlci5lbnZpcm9ubWVudC5Pcmdhbml6YXRpb25SDW9yZ2FuaXphdGlvbnMiggQKFkNyZWF0ZUFjY291bnRWMlJlcXVlc3QSJwoPb3JnYW5pemF0aW9uX2lkGAEgASgJUg5vcmdhbml6YXRpb25JZBJHCgdjb21tYW5kGAIgASgLMikuYnVja2V0ZWVyLmFjY291bnQuQ3JlYXRlQWNjb3VudFYyQ29tbWFuZEICGAFSB2NvbW1hbmQSFAoFZW1haWwYAyABKAlSBWVtYWlsEhIKBG5hbWUYBCABKAlSBG5hbWUSKAoQYXZhdGFyX2ltYWdlX3VybBgFIAEoCVIOYXZhdGFySW1hZ2VVcmwSWwoRb3JnYW5pemF0aW9uX3JvbGUYBiABKA4yLi5idWNrZXRlZXIuYWNjb3VudC5BY2NvdW50VjIuUm9sZS5Pcmdhbml6YXRpb25SEG9yZ2FuaXphdGlvblJvbGUSWQoRZW52aXJvbm1lbnRfcm9sZXMYByADKAsyLC5idWNrZXRlZXIuYWNjb3VudC5BY2NvdW50VjIuRW52aXJvbm1lbnRSb2xlUhBlbnZpcm9ubWVudFJvbGVzEh0KCmZpcnN0X25hbWUYCCABKAlSCWZpcnN0TmFtZRIbCglsYXN0X25hbWUYCSABKAlSCGxhc3ROYW1lEhoKCGxhbmd1YWdlGAogASgJUghsYW5ndWFnZRISCgR0YWdzGAsgAygJUgR0YWdzIlEKF0NyZWF0ZUFjY291bnRWMlJlc3BvbnNlEjYKB2FjY291bnQYASABKAsyHC5idWNrZXRlZXIuYWNjb3VudC5BY2NvdW50VjJSB2FjY291bnQioAEKFkVuYWJsZUFjY291bnRWMlJlcXVlc3QSFAoFZW1haWwYASABKAlSBWVtYWlsEicKD29yZ2FuaXphdGlvbl9pZBgCIAEoCVIOb3JnYW5pemF0aW9uSWQSRwoHY29tbWFuZBgDIAEoCzIpLmJ1Y2tldGVlci5hY2NvdW50LkVuYWJsZUFjY291bnRWMkNvbW1hbmRCAhgBUgdjb21tYW5kIlEKF0VuYWJsZUFjY291bnRWMlJlc3BvbnNlEjYKB2FjY291bnQYASABKAsyHC5idWNrZXRlZXIuYWNjb3VudC5BY2NvdW50VjJSB2FjY291bnQiogEKF0Rpc2FibGVBY2NvdW50VjJSZXF1ZXN0EhQKBWVtYWlsGAEgASgJUgVlbWFpbBInCg9vcmdhbml6YXRpb25faWQYAiABKAlSDm9yZ2FuaXphdGlvbklkEkgKB2NvbW1hbmQYAyABKAsyKi5idWNrZXRlZXIuYWNjb3VudC5EaXNhYmxlQWNjb3VudFYyQ29tbWFuZEICGAFSB2NvbW1hbmQiUgoYRGlzYWJsZUFjY291bnRWMlJlc3BvbnNlEjYKB2FjY291bnQYASABKAsyHC5idWNrZXRlZXIuYWNjb3VudC5BY2NvdW50VjJSB2FjY291bnQioAEKFkRlbGV0ZUFjY291bnRWMlJlcXVlc3QSFAoFZW1haWwYASABKAlSBWVtYWlsEicKD29yZ2FuaXphdGlvbl9pZBgCIAEoCVIOb3JnYW5pemF0aW9uSWQSRwoHY29tbWFuZBgDIAEoCzIpLmJ1Y2tldGVlci5hY2NvdW50LkRlbGV0ZUFjY291bnRWMkNvbW1hbmRCAhgBUgdjb21tYW5kIhkKF0RlbGV0ZUFjY291bnRWMlJlc3BvbnNlIt0QChZVcGRhdGVBY2NvdW50VjJSZXF1ZXN0EhQKBWVtYWlsGAEgASgJUgVlbWFpbBInCg9vcmdhbml6YXRpb25faWQYAiABKAlSDm9yZ2FuaXphdGlvbklkEmEKE2NoYW5nZV9uYW1lX2NvbW1hbmQYAyABKAsyLS5idWNrZXRlZXIuYWNjb3VudC5DaGFuZ2VBY2NvdW50VjJOYW1lQ29tbWFuZEICGAFSEWNoYW5nZU5hbWVDb21tYW5kEnYKGWNoYW5nZV9hdmF0YXJfdXJsX2NvbW1hbmQYBCABKAsyNy5idWNrZXRlZXIuYWNjb3VudC5DaGFuZ2VBY2NvdW50VjJBdmF0YXJJbWFnZVVybENvbW1hbmRCAhgBUhZjaGFuZ2VBdmF0YXJVcmxDb21tYW5kEoYBCiBjaGFuZ2Vfb3JnYW5pemF0aW9uX3JvbGVfY29tbWFuZBgFIAEoCzI5LmJ1Y2tldGVlci5hY2NvdW50LkNoYW5nZUFjY291bnRWMk9yZ2FuaXphdGlvblJvbGVDb21tYW5kQgIYAVIdY2hhbmdlT3JnYW5pemF0aW9uUm9sZUNvbW1hbmQShgEKIGNoYW5nZV9lbnZpcm9ubWVudF9yb2xlc19jb21tYW5kGAYgASgLMjkuYnVja2V0ZWVyLmFjY291bnQuQ2hhbmdlQWNjb3VudFYyRW52aXJvbm1lbnRSb2xlc0NvbW1hbmRCAhgBUh1jaGFuZ2VFbnZpcm9ubWVudFJvbGVzQ29tbWFuZBJxChljaGFuZ2VfZmlyc3RfbmFtZV9jb21tYW5kGAcgASgLMjIuYnVja2V0ZWVyLmFjY291bnQuQ2hhbmdlQWNjb3VudFYyRmlyc3ROYW1lQ29tbWFuZEICGAFSFmNoYW5nZUZpcnN0TmFtZUNvbW1hbmQSbgoYY2hhbmdlX2xhc3RfbmFtZV9jb21tYW5kGAggASgLMjEuYnVja2V0ZWVyLmFjY291bnQuQ2hhbmdlQWNjb3VudFYyTGFzdE5hbWVDb21tYW5kQgIYAVIVY2hhbmdlTGFzdE5hbWVDb21tYW5kEm0KF2NoYW5nZV9sYW5ndWFnZV9jb21tYW5kGAkgASgLMjEuYnVja2V0ZWVyLmFjY291bnQuQ2hhbmdlQWNjb3VudFYyTGFuZ3VhZ2VDb21tYW5kQgIYAVIVY2hhbmdlTGFuZ3VhZ2VDb21tYW5kEm4KGGNoYW5nZV9sYXN0X3NlZW5fY29tbWFuZBgKIAEoCzIxLmJ1Y2tldGVlci5hY2NvdW50LkNoYW5nZUFjY291bnRWMkxhc3RTZWVuQ29tbWFuZEICGAFSFWNoYW5nZUxhc3RTZWVuQ29tbWFuZBJnChVjaGFuZ2VfYXZhdGFyX2NvbW1hbmQYCyABKAsyLy5idWNrZXRlZXIuYWNjb3VudC5DaGFuZ2VBY2NvdW50VjJBdmF0YXJDb21tYW5kQgIYAVITY2hhbmdlQXZhdGFyQ29tbWFuZBIwCgRuYW1lGAwgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlUgRuYW1lEkYKEGF2YXRhcl9pbWFnZV91cmwYDSABKAsyHC5nb29nbGUucHJvdG9idWYuU3RyaW5nVmFsdWVSDmF2YXRhckltYWdlVXJsEmwKEW9yZ2FuaXphdGlvbl9yb2xlGA4gASgLMj8uYnVja2V0ZWVyLmFjY291bnQuVXBkYXRlQWNjb3VudFYyUmVxdWVzdC5Pcmdhbml6YXRpb25Sb2xlVmFsdWVSEG9yZ2FuaXphdGlvblJvbGUSWQoRZW52aXJvbm1lbnRfcm9sZXMYDyADKAsyLC5idWNrZXRlZXIuYWNjb3VudC5BY2NvdW50VjIuRW52aXJvbm1lbnRSb2xlUhBlbnZpcm9ubWVudFJvbGVzEjsKCmZpcnN0X25hbWUYECABKAsyHC5nb29nbGUucHJvdG9idWYuU3RyaW5nVmFsdWVSCWZpcnN0TmFtZRI5CglsYXN0X25hbWUYESABKAsyHC5nb29nbGUucHJvdG9idWYuU3RyaW5nVmFsdWVSCGxhc3ROYW1lEjgKCGxhbmd1YWdlGBIgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlUghsYW5ndWFnZRI4CglsYXN0X3NlZW4YEyABKAsyGy5nb29nbGUucHJvdG9idWYuSW50NjRWYWx1ZVIIbGFzdFNlZW4SUQoGYXZhdGFyGBQgASgLMjkuYnVja2V0ZWVyLmFjY291bnQuVXBkYXRlQWNjb3VudFYyUmVxdWVzdC5BY2NvdW50VjJBdmF0YXJSBmF2YXRhchI2CghkaXNhYmxlZBgVIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5Cb29sVmFsdWVSCGRpc2FibGVkEhIKBHRhZ3MYFiADKAlSBHRhZ3MSYQoTY2hhbmdlX3RhZ3NfY29tbWFuZBgXIAEoCzItLmJ1Y2tldGVlci5hY2NvdW50LkNoYW5nZUFjY291bnRWMlRhZ3NDb21tYW5kQgIYAVIRY2hhbmdlVGFnc0NvbW1hbmQaXgoPQWNjb3VudFYyQXZhdGFyEiEKDGF2YXRhcl9pbWFnZRgBIAEoDFILYXZhdGFySW1hZ2USKAoQYXZhdGFyX2ZpbGVfdHlwZRgCIAEoCVIOYXZhdGFyRmlsZVR5cGUaWwoVT3JnYW5pemF0aW9uUm9sZVZhbHVlEkIKBHJvbGUYASABKA4yLi5idWNrZXRlZXIuYWNjb3VudC5BY2NvdW50VjIuUm9sZS5Pcmdhbml6YXRpb25SBHJvbGUiUQoXVXBkYXRlQWNjb3VudFYyUmVzcG9uc2USNgoHYWNjb3VudBgBIAEoCzIcLmJ1Y2tldGVlci5hY2NvdW50LkFjY291bnRWMlIHYWNjb3VudCJUChNHZXRBY2NvdW50VjJSZXF1ZXN0EhQKBWVtYWlsGAEgASgJUgVlbWFpbBInCg9vcmdhbml6YXRpb25faWQYAiABKAlSDm9yZ2FuaXphdGlvbklkIk4KFEdldEFjY291bnRWMlJlc3BvbnNlEjYKB2FjY291bnQYASABKAsyHC5idWNrZXRlZXIuYWNjb3VudC5BY2NvdW50VjJSB2FjY291bnQiYQoiR2V0QWNjb3VudFYyQnlFbnZpcm9ubWVudElEUmVxdWVzdBIUCgVlbWFpbBgBIAEoCVIFZW1haWwSJQoOZW52aXJvbm1lbnRfaWQYAiABKAlSDWVudmlyb25tZW50SWQiXQojR2V0QWNjb3VudFYyQnlFbnZpcm9ubWVudElEUmVzcG9uc2USNgoHYWNjb3VudBgBIAEoCzIcLmJ1Y2tldGVlci5hY2NvdW50LkFjY291bnRWMlIHYWNjb3VudCKpBgoVTGlzdEFjY291bnRzVjJSZXF1ZXN0EhsKCXBhZ2Vfc2l6ZRgBIAEoA1IIcGFnZVNpemUSFgoGY3Vyc29yGAIgASgJUgZjdXJzb3ISJwoPb3JnYW5pemF0aW9uX2lkGAMgASgJUg5vcmdhbml6YXRpb25JZBJLCghvcmRlcl9ieRgEIAEoDjIwLmJ1Y2tldGVlci5hY2NvdW50Lkxpc3RBY2NvdW50c1YyUmVxdWVzdC5PcmRlckJ5UgdvcmRlckJ5EmAKD29yZGVyX2RpcmVjdGlvbhgFIAEoDjI3LmJ1Y2tldGVlci5hY2NvdW50Lkxpc3RBY2NvdW50c1YyUmVxdWVzdC5PcmRlckRpcmVjdGlvblIOb3JkZXJEaXJlY3Rpb24SJQoOc2VhcmNoX2tleXdvcmQYBiABKAlSDXNlYXJjaEtleXdvcmQSNgoIZGlzYWJsZWQYByABKAsyGi5nb29nbGUucHJvdG9idWYuQm9vbFZhbHVlUghkaXNhYmxlZBJIChFvcmdhbml6YXRpb25fcm9sZRgIIAEoCzIbLmdvb2dsZS5wcm90b2J1Zi5JbnQzMlZhbHVlUhBvcmdhbml6YXRpb25Sb2xlEkMKDmVudmlyb25tZW50X2lkGAkgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlUg1lbnZpcm9ubWVudElkEkYKEGVudmlyb25tZW50X3JvbGUYCiABKAsyGy5nb29nbGUucHJvdG9idWYuSW50MzJWYWx1ZVIPZW52aXJvbm1lbnRSb2xlEhIKBHRhZ3MYCyADKAlSBHRhZ3MikwEKB09yZGVyQnkSCwoHREVGQVVMVBAAEgkKBUVNQUlMEAESDgoKQ1JFQVRFRF9BVBACEg4KClVQREFURURfQVQQAxIVChFPUkdBTklaQVRJT05fUk9MRRAEEhUKEUVOVklST05NRU5UX0NPVU5UEAUSDQoJTEFTVF9TRUVOEAYSCQoFU1RBVEUQBxIICgRUQUdTEAgiIwoOT3JkZXJEaXJlY3Rpb24SBwoDQVNDEAASCAoEREVTQxABIosBChZMaXN0QWNjb3VudHNWMlJlc3BvbnNlEjgKCGFjY291bnRzGAEgAygLMhwuYnVja2V0ZWVyLmFjY291bnQuQWNjb3VudFYyUghhY2NvdW50cxIWCgZjdXJzb3IYAiABKAlSBmN1cnNvchIfCgt0b3RhbF9jb3VudBgDIAEoA1IKdG90YWxDb3VudCKSAgoTQ3JlYXRlQVBJS2V5UmVxdWVzdBJECgdjb21tYW5kGAEgASgLMiYuYnVja2V0ZWVyLmFjY291bnQuQ3JlYXRlQVBJS2V5Q29tbWFuZEICGAFSB2NvbW1hbmQSJQoOZW52aXJvbm1lbnRfaWQYAyABKAlSDWVudmlyb25tZW50SWQSEgoEbmFtZRgEIAEoCVIEbmFtZRIyCgRyb2xlGAUgASgOMh4uYnVja2V0ZWVyLmFjY291bnQuQVBJS2V5LlJvbGVSBHJvbGUSHgoKbWFpbnRhaW5lchgGIAEoCVIKbWFpbnRhaW5lchIgCgtkZXNjcmlwdGlvbhgHIAEoCVILZGVzY3JpcHRpb25KBAgCEAMiSgoUQ3JlYXRlQVBJS2V5UmVzcG9uc2USMgoHYXBpX2tleRgBIAEoCzIZLmJ1Y2tldGVlci5hY2NvdW50LkFQSUtleVIGYXBpS2V5IpwBChdDaGFuZ2VBUElLZXlOYW1lUmVxdWVzdBIOCgJpZBgBIAEoCVICaWQSRAoHY29tbWFuZBgCIAEoCzIqLmJ1Y2tldGVlci5hY2NvdW50LkNoYW5nZUFQSUtleU5hbWVDb21tYW5kUgdjb21tYW5kEiUKDmVudmlyb25tZW50X2lkGAQgASgJUg1lbnZpcm9ubWVudElkSgQIAxAEIhoKGENoYW5nZUFQSUtleU5hbWVSZXNwb25zZSKUAQoTRW5hYmxlQVBJS2V5UmVxdWVzdBIOCgJpZBgBIAEoCVICaWQSQAoHY29tbWFuZBgCIAEoCzImLmJ1Y2tldGVlci5hY2NvdW50LkVuYWJsZUFQSUtleUNvbW1hbmRSB2NvbW1hbmQSJQoOZW52aXJvbm1lbnRfaWQYBCABKAlSDWVudmlyb25tZW50SWRKBAgDEAQiFgoURW5hYmxlQVBJS2V5UmVzcG9uc2UilgEKFERpc2FibGVBUElLZXlSZXF1ZXN0Eg4KAmlkGAEgASgJUgJpZBJBCgdjb21tYW5kGAIgASgLMicuYnVja2V0ZWVyLmFjY291bnQuRGlzYWJsZUFQSUtleUNvbW1hbmRSB2NvbW1hbmQSJQoOZW52aXJvbm1lbnRfaWQYBCABKAlSDWVudmlyb25tZW50SWRKBAgDEAQiFwoVRGlzYWJsZUFQSUtleVJlc3BvbnNlIk8KEEdldEFQSUtleVJlcXVlc3QSDgoCaWQYASABKAlSAmlkEiUKDmVudmlyb25tZW50X2lkGAMgASgJUg1lbnZpcm9ubWVudElkSgQIAhADIkcKEUdldEFQSUtleVJlc3BvbnNlEjIKB2FwaV9rZXkYASABKAsyGS5idWNrZXRlZXIuYWNjb3VudC5BUElLZXlSBmFwaUtleSLmBAoSTGlzdEFQSUtleXNSZXF1ZXN0EhsKCXBhZ2Vfc2l6ZRgBIAEoA1IIcGFnZVNpemUSFgoGY3Vyc29yGAIgASgJUgZjdXJzb3ISSAoIb3JkZXJfYnkYBCABKA4yLS5idWNrZXRlZXIuYWNjb3VudC5MaXN0QVBJS2V5c1JlcXVlc3QuT3JkZXJCeVIHb3JkZXJCeRJdCg9vcmRlcl9kaXJlY3Rpb24YBSABKA4yNC5idWNrZXRlZXIuYWNjb3VudC5MaXN0QVBJS2V5c1JlcXVlc3QuT3JkZXJEaXJlY3Rpb25SDm9yZGVyRGlyZWN0aW9uEiUKDnNlYXJjaF9rZXl3b3JkGAYgASgJUg1zZWFyY2hLZXl3b3JkEjYKCGRpc2FibGVkGAcgASgLMhouZ29vZ2xlLnByb3RvYnVmLkJvb2xWYWx1ZVIIZGlzYWJsZWQSKQoOZW52aXJvbm1lbnRfaWQYCCABKAlCAhgBUg1lbnZpcm9ubWVudElkEicKD2Vudmlyb25tZW50X2lkcxgJIAMoCVIOZW52aXJvbm1lbnRJZHMSLAoPb3JnYW5pemF0aW9uX2lkGAogASgJQgPgQQJSDm9yZ2FuaXphdGlvbklkImYKB09yZGVyQnkSCwoHREVGQVVMVBAAEggKBE5BTUUQARIOCgpDUkVBVEVEX0FUEAISDgoKVVBEQVRFRF9BVBADEggKBFJPTEUQBBIPCgtFTlZJUk9OTUVOVBAFEgkKBVNUQVRFEAYiIwoOT3JkZXJEaXJlY3Rpb24SBwoDQVNDEAASCAoEREVTQxABSgQIAxAEIoQBChNMaXN0QVBJS2V5c1Jlc3BvbnNlEjQKCGFwaV9rZXlzGAEgAygLMhkuYnVja2V0ZWVyLmFjY291bnQuQVBJS2V5UgdhcGlLZXlzEhYKBmN1cnNvchgCIAEoCVIGY3Vyc29yEh8KC3RvdGFsX2NvdW50GAMgASgDUgp0b3RhbENvdW50IjYKG0dldEVudmlyb25tZW50QVBJS2V5UmVxdWVzdBIXCgdhcGlfa2V5GAIgASgJUgZhcGlLZXkidAocR2V0RW52aXJvbm1lbnRBUElLZXlSZXNwb25zZRJUChNlbnZpcm9ubWVudF9hcGlfa2V5GAEgASgLMiQuYnVja2V0ZWVyLmFjY291bnQuRW52aXJvbm1lbnRBUElLZXlSEWVudmlyb25tZW50QXBpS2V5IskBChlDcmVhdGVTZWFyY2hGaWx0ZXJSZXF1ZXN0EhQKBWVtYWlsGAEgASgJUgVlbWFpbBInCg9vcmdhbml6YXRpb25faWQYAiABKAlSDm9yZ2FuaXphdGlvbklkEiUKDmVudmlyb25tZW50X2lkGAMgASgJUg1lbnZpcm9ubWVudElkEkYKB2NvbW1hbmQYBCABKAsyLC5idWNrZXRlZXIuYWNjb3VudC5DcmVhdGVTZWFyY2hGaWx0ZXJDb21tYW5kUgdjb21tYW5kIhwKGkNyZWF0ZVNlYXJjaEZpbHRlclJlc3BvbnNlIsADChlVcGRhdGVTZWFyY2hGaWx0ZXJSZXF1ZXN0EhQKBWVtYWlsGAEgASgJUgVlbWFpbBInCg9vcmdhbml6YXRpb25faWQYAiABKAlSDm9yZ2FuaXphdGlvbklkEiUKDmVudmlyb25tZW50X2lkGAMgASgJUg1lbnZpcm9ubWVudElkEmAKE2NoYW5nZV9uYW1lX2NvbW1hbmQYBCABKAsyMC5idWNrZXRlZXIuYWNjb3VudC5DaGFuZ2VTZWFyY2hGaWx0ZXJOYW1lQ29tbWFuZFIRY2hhbmdlTmFtZUNvbW1hbmQSYwoUY2hhbmdlX3F1ZXJ5X2NvbW1hbmQYBSABKAsyMS5idWNrZXRlZXIuYWNjb3VudC5DaGFuZ2VTZWFyY2hGaWx0ZXJRdWVyeUNvbW1hbmRSEmNoYW5nZVF1ZXJ5Q29tbWFuZBJ2Ch1jaGFuZ2VfZGVmYXVsdF9maWx0ZXJfY29tbWFuZBgGIAEoCzIzLmJ1Y2tldGVlci5hY2NvdW50LkNoYW5nZURlZmF1bHRTZWFyY2hGaWx0ZXJDb21tYW5kUhpjaGFuZ2VEZWZhdWx0RmlsdGVyQ29tbWFuZCIcChpVcGRhdGVTZWFyY2hGaWx0ZXJSZXNwb25zZSLJAQoZRGVsZXRlU2VhcmNoRmlsdGVyUmVxdWVzdBIUCgVlbWFpbBgBIAEoCVIFZW1haWwSJwoPb3JnYW5pemF0aW9uX2lkGAIgASgJUg5vcmdhbml6YXRpb25JZBIlCg5lbnZpcm9ubWVudF9pZBgDIAEoCVINZW52aXJvbm1lbnRJZBJGCgdjb21tYW5kGAQgASgLMiwuYnVja2V0ZWVyLmFjY291bnQuRGVsZXRlU2VhcmNoRmlsdGVyQ29tbWFuZFIHY29tbWFuZCIcChpEZWxldGVTZWFyY2hGaWx0ZXJSZXNwb25zZSLoAgoTVXBkYXRlQVBJS2V5UmVxdWVzdBIOCgJpZBgBIAEoCVICaWQSJQoOZW52aXJvbm1lbnRfaWQYAiABKAlSDWVudmlyb25tZW50SWQSMAoEbmFtZRgDIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZVIEbmFtZRI+CgtkZXNjcmlwdGlvbhgEIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZVILZGVzY3JpcHRpb24SMgoEcm9sZRgFIAEoDjIeLmJ1Y2tldGVlci5hY2NvdW50LkFQSUtleS5Sb2xlUgRyb2xlEjYKCGRpc2FibGVkGAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLkJvb2xWYWx1ZVIIZGlzYWJsZWQSPAoKbWFpbnRhaW5lchgHIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZVIKbWFpbnRhaW5lciIWChRVcGRhdGVBUElLZXlSZXNwb25zZTLOegoOQWNjb3VudFNlcnZpY2USngQKBUdldE1lEh8uYnVja2V0ZWVyLmFjY291bnQuR2V0TWVSZXF1ZXN0GiAuYnVja2V0ZWVyLmFjY291bnQuR2V0TWVSZXNwb25zZSLRA5JBswMKB0FjY291bnQSBkdldCBNZRodR2V0IHRoZSB1c2VyIGNvbnNvbGUgYWNjb3VudC4qFXdlYi52MS5hY2NvdW50LmdldF9tZUq0AQoDNDAwEqwBCjpSZXR1cm5lZCBmb3IgYmFkIHJlcXVlc3RzIHRoYXQgbWF5IGhhdmUgZmFpbGVkIHZhbGlkYXRpb24uEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlYKEGFwcGxpY2F0aW9uL2pzb24SQnsgImNvZGUiOiAzLCAibWVzc2FnZSI6ICJpbnZhbGlkIGFyZ3VtZW50cyBlcnJvciIsICJkZXRhaWxzIjogW10gfUqyAQoDNDAxEqoBCj1SZXF1ZXN0IGNvdWxkIG5vdCBiZSBhdXRoZW50aWNhdGVkIChhdXRoZW50aWNhdGlvbiByZXF1aXJlZCkuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlEKEGFwcGxpY2F0aW9uL2pzb24SPXsgImNvZGUiOiAxNiwgIm1lc3NhZ2UiOiAibm90IGF1dGhlbnRpY2F0ZWQiLCAiZGV0YWlscyI6IFtdIH2C0+STAhQSEi92MS9hY2NvdW50L2dldF9tZRL4BAoSR2V0TXlPcmdhbml6YXRpb25zEiwuYnVja2V0ZWVyLmFjY291bnQuR2V0TXlPcmdhbml6YXRpb25zUmVxdWVzdBotLmJ1Y2tldGVlci5hY2NvdW50LkdldE15T3JnYW5pemF0aW9uc1Jlc3BvbnNlIoQEkkHcAwoHQWNjb3VudBIUR2V0IE15IE9yZ2FuaXphdGlvbnMaLkdldCBhbGwgdGhlIG9yZ2FuaXphdGlvbnMgZm9yIGEgc3BlY2lmaWMgdXNlci4qH3dlYi52MS5hY2NvdW50Lm15X29yZ2FuaXphdGlvbnNKtAEKAzQwMBKsAQo6UmV0dXJuZWQgZm9yIGJhZCByZXF1ZXN0cyB0aGF0IG1heSBoYXZlIGZhaWxlZCB2YWxpZGF0aW9uLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJWChBhcHBsaWNhdGlvbi9qc29uEkJ7ICJjb2RlIjogMywgIm1lc3NhZ2UiOiAiaW52YWxpZCBhcmd1bWVudHMgZXJyb3IiLCAiZGV0YWlscyI6IFtdIH1KsgEKAzQwMRKqAQo9UmVxdWVzdCBjb3VsZCBub3QgYmUgYXV0aGVudGljYXRlZCAoYXV0aGVudGljYXRpb24gcmVxdWlyZWQpLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJRChBhcHBsaWNhdGlvbi9qc29uEj17ICJjb2RlIjogMTYsICJtZXNzYWdlIjogIm5vdCBhdXRoZW50aWNhdGVkIiwgImRldGFpbHMiOiBbXSB9gtPkkwIeEhwvdjEvYWNjb3VudC9teV9vcmdhbml6YXRpb25zEpYFChlHZXRNeU9yZ2FuaXphdGlvbnNCeUVtYWlsEjMuYnVja2V0ZWVyLmFjY291bnQuR2V0TXlPcmdhbml6YXRpb25zQnlFbWFpbFJlcXVlc3QaLS5idWNrZXRlZXIuYWNjb3VudC5HZXRNeU9yZ2FuaXphdGlvbnNSZXNwb25zZSKUBJJB4wMKB0FjY291bnQSHUdldCBNeSBPcmdhbml6YXRpb25zIEJ5IEVtYWlsGiNHZXQgYWxsIHRoZSBvcmdhbml6YXRpb25zIGJ5IGVtYWlsLiood2ViLnYxLmFjY291bnQubXlfb3JnYW5pemF0aW9uc19ieV9lbWFpbEq0AQoDNDAwEqwBCjpSZXR1cm5lZCBmb3IgYmFkIHJlcXVlc3RzIHRoYXQgbWF5IGhhdmUgZmFpbGVkIHZhbGlkYXRpb24uEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlYKEGFwcGxpY2F0aW9uL2pzb24SQnsgImNvZGUiOiAzLCAibWVzc2FnZSI6ICJpbnZhbGlkIGFyZ3VtZW50cyBlcnJvciIsICJkZXRhaWxzIjogW10gfUqyAQoDNDAxEqoBCj1SZXF1ZXN0IGNvdWxkIG5vdCBiZSBhdXRoZW50aWNhdGVkIChhdXRoZW50aWNhdGlvbiByZXF1aXJlZCkuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlEKEGFwcGxpY2F0aW9uL2pzb24SPXsgImNvZGUiOiAxNiwgIm1lc3NhZ2UiOiAibm90IGF1dGhlbnRpY2F0ZWQiLCAiZGV0YWlscyI6IFtdIH2C0+STAicSJS92MS9hY2NvdW50L215X29yZ2FuaXphdGlvbnNfYnlfZW1haWwSugYKD0NyZWF0ZUFjY291bnRWMhIpLmJ1Y2tldGVlci5hY2NvdW50LkNyZWF0ZUFjY291bnRWMlJlcXVlc3QaKi5idWNrZXRlZXIuYWNjb3VudC5DcmVhdGVBY2NvdW50VjJSZXNwb25zZSLPBZJBpgUKB0FjY291bnQSBkNyZWF0ZRpcQ3JlYXRlIGFuIGFjY291bnQgdG8gaGF2ZSBhY2Nlc3MgdG8gdGhlIGNvbnNvbGUuIFRvIGNhbGwgdGhpcyBBUEksIHlvdSBuZWVkIGFuIGBBRE1JTmAgcm9sZS4qHXdlYi52MS5hY2NvdW50LmNyZWF0ZV9hY2NvdW50SrQBCgM0MDASrAEKOlJldHVybmVkIGZvciBiYWQgcmVxdWVzdHMgdGhhdCBtYXkgaGF2ZSBmYWlsZWQgdmFsaWRhdGlvbi4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiVgoQYXBwbGljYXRpb24vanNvbhJCeyAiY29kZSI6IDMsICJtZXNzYWdlIjogImludmFsaWQgYXJndW1lbnRzIGVycm9yIiwgImRldGFpbHMiOiBbXSB9SrIBCgM0MDESqgEKPVJlcXVlc3QgY291bGQgbm90IGJlIGF1dGhlbnRpY2F0ZWQgKGF1dGhlbnRpY2F0aW9uIHJlcXVpcmVkKS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiUQoQYXBwbGljYXRpb24vanNvbhI9eyAiY29kZSI6IDE2LCAibWVzc2FnZSI6ICJub3QgYXV0aGVudGljYXRlZCIsICJkZXRhaWxzIjogW10gfUqpAQoDNDAzEqEBCjhSZXF1ZXN0IGRvZXMgbm90IGhhdmUgcGVybWlzc2lvbiB0byBhY2Nlc3MgdGhlIHJlc291cmNlLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJNChBhcHBsaWNhdGlvbi9qc29uEjl7ICJjb2RlIjogNywgIm1lc3NhZ2UiOiAibm90IGF1dGhvcml6ZWQiLCAiZGV0YWlscyI6IFtdIH2C0+STAh8iGi92MS9hY2NvdW50L2NyZWF0ZV9hY2NvdW50OgEqEs4DCg9FbmFibGVBY2NvdW50VjISKS5idWNrZXRlZXIuYWNjb3VudC5FbmFibGVBY2NvdW50VjJSZXF1ZXN0GiouYnVja2V0ZWVyLmFjY291bnQuRW5hYmxlQWNjb3VudFYyUmVzcG9uc2Ui4wKSQboCCgdBY2NvdW50EgZFbmFibGUaXEVuYWJsZSBhbiBhY2NvdW50IHRvIGhhdmUgYWNjZXNzIHRvIHRoZSBjb25zb2xlLiBUbyBjYWxsIHRoaXMgQVBJLCB5b3UgbmVlZCBhbiBgQURNSU5gIHJvbGUuKh13ZWIudjEuYWNjb3VudC5lbmFibGVfYWNjb3VudEqpAQoDNDAzEqEBCjhSZXF1ZXN0IGRvZXMgbm90IGhhdmUgcGVybWlzc2lvbiB0byBhY2Nlc3MgdGhlIHJlc291cmNlLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJNChBhcHBsaWNhdGlvbi9qc29uEjl7ICJjb2RlIjogNywgIm1lc3NhZ2UiOiAibm90IGF1dGhvcml6ZWQiLCAiZGV0YWlscyI6IFtdIH2C0+STAh8iGi92MS9hY2NvdW50L2VuYWJsZV9hY2NvdW50OgEqEsIGChBEaXNhYmxlQWNjb3VudFYyEiouYnVja2V0ZWVyLmFjY291bnQuRGlzYWJsZUFjY291bnRWMlJlcXVlc3QaKy5idWNrZXRlZXIuYWNjb3VudC5EaXNhYmxlQWNjb3VudFYyUmVzcG9uc2Ui1AWSQaoFCgdBY2NvdW50EgdEaXNhYmxlGl5EaXNhYmxlIGFuIGFjY291bnQgdG8gYmxvY2sgYWNjZXNzIHRvIHRoZSBjb25zb2xlLiBUbyBjYWxsIHRoaXMgQVBJLCB5b3UgbmVlZCBhbiBgQURNSU5gIHJvbGUuKh53ZWIudjEuYWNjb3VudC5kaXNhYmxlX2FjY291bnRKtAEKAzQwMBKsAQo6UmV0dXJuZWQgZm9yIGJhZCByZXF1ZXN0cyB0aGF0IG1heSBoYXZlIGZhaWxlZCB2YWxpZGF0aW9uLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJWChBhcHBsaWNhdGlvbi9qc29uEkJ7ICJjb2RlIjogMywgIm1lc3NhZ2UiOiAiaW52YWxpZCBhcmd1bWVudHMgZXJyb3IiLCAiZGV0YWlscyI6IFtdIH1KsgEKAzQwMRKqAQo9UmVxdWVzdCBjb3VsZCBub3QgYmUgYXV0aGVudGljYXRlZCAoYXV0aGVudGljYXRpb24gcmVxdWlyZWQpLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJRChBhcHBsaWNhdGlvbi9qc29uEj17ICJjb2RlIjogMTYsICJtZXNzYWdlIjogIm5vdCBhdXRoZW50aWNhdGVkIiwgImRldGFpbHMiOiBbXSB9SqkBCgM0MDMSoQEKOFJlcXVlc3QgZG9lcyBub3QgaGF2ZSBwZXJtaXNzaW9uIHRvIGFjY2VzcyB0aGUgcmVzb3VyY2UuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIk0KEGFwcGxpY2F0aW9uL2pzb24SOXsgImNvZGUiOiA3LCAibWVzc2FnZSI6ICJub3QgYXV0aG9yaXplZCIsICJkZXRhaWxzIjogW10gfYLT5JMCICIbL3YxL2FjY291bnQvZGlzYWJsZV9hY2NvdW50OgEqEpwGCg9VcGRhdGVBY2NvdW50VjISKS5idWNrZXRlZXIuYWNjb3VudC5VcGRhdGVBY2NvdW50VjJSZXF1ZXN0GiouYnVja2V0ZWVyLmFjY291bnQuVXBkYXRlQWNjb3VudFYyUmVzcG9uc2UisQWSQYgFCgdBY2NvdW50EgZVcGRhdGUaPlVwZGF0ZSBhbiBhY2NvdW50LiBUbyBjYWxsIHRoaXMgQVBJLCB5b3UgbmVlZCBhbiBgQURNSU5gIHJvbGUuKh13ZWIudjEuYWNjb3VudC51cGRhdGVfYWNjb3VudEq0AQoDNDAwEqwBCjpSZXR1cm5lZCBmb3IgYmFkIHJlcXVlc3RzIHRoYXQgbWF5IGhhdmUgZmFpbGVkIHZhbGlkYXRpb24uEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlYKEGFwcGxpY2F0aW9uL2pzb24SQnsgImNvZGUiOiAzLCAibWVzc2FnZSI6ICJpbnZhbGlkIGFyZ3VtZW50cyBlcnJvciIsICJkZXRhaWxzIjogW10gfUqyAQoDNDAxEqoBCj1SZXF1ZXN0IGNvdWxkIG5vdCBiZSBhdXRoZW50aWNhdGVkIChhdXRoZW50aWNhdGlvbiByZXF1aXJlZCkuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlEKEGFwcGxpY2F0aW9uL2pzb24SPXsgImNvZGUiOiAxNiwgIm1lc3NhZ2UiOiAibm90IGF1dGhlbnRpY2F0ZWQiLCAiZGV0YWlscyI6IFtdIH1KqQEKAzQwMxKhAQo4UmVxdWVzdCBkb2VzIG5vdCBoYXZlIHBlcm1pc3Npb24gdG8gYWNjZXNzIHRoZSByZXNvdXJjZS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiTQoQYXBwbGljYXRpb24vanNvbhI5eyAiY29kZSI6IDcsICJtZXNzYWdlIjogIm5vdCBhdXRob3JpemVkIiwgImRldGFpbHMiOiBbXSB9gtPkkwIfIhovdjEvYWNjb3VudC91cGRhdGVfYWNjb3VudDoBKhKcBgoPRGVsZXRlQWNjb3VudFYyEikuYnVja2V0ZWVyLmFjY291bnQuRGVsZXRlQWNjb3VudFYyUmVxdWVzdBoqLmJ1Y2tldGVlci5hY2NvdW50LkRlbGV0ZUFjY291bnRWMlJlc3BvbnNlIrEFkkGIBQoHQWNjb3VudBIGRGVsZXRlGj5EZWxldGUgYW4gYWNjb3VudC4gVG8gY2FsbCB0aGlzIEFQSSwgeW91IG5lZWQgYW4gYEFETUlOYCByb2xlLiodd2ViLnYxLmFjY291bnQuZGVsZXRlX2FjY291bnRKtAEKAzQwMBKsAQo6UmV0dXJuZWQgZm9yIGJhZCByZXF1ZXN0cyB0aGF0IG1heSBoYXZlIGZhaWxlZCB2YWxpZGF0aW9uLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJWChBhcHBsaWNhdGlvbi9qc29uEkJ7ICJjb2RlIjogMywgIm1lc3NhZ2UiOiAiaW52YWxpZCBhcmd1bWVudHMgZXJyb3IiLCAiZGV0YWlscyI6IFtdIH1KsgEKAzQwMRKqAQo9UmVxdWVzdCBjb3VsZCBub3QgYmUgYXV0aGVudGljYXRlZCAoYXV0aGVudGljYXRpb24gcmVxdWlyZWQpLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJRChBhcHBsaWNhdGlvbi9qc29uEj17ICJjb2RlIjogMTYsICJtZXNzYWdlIjogIm5vdCBhdXRoZW50aWNhdGVkIiwgImRldGFpbHMiOiBbXSB9SqkBCgM0MDMSoQEKOFJlcXVlc3QgZG9lcyBub3QgaGF2ZSBwZXJtaXNzaW9uIHRvIGFjY2VzcyB0aGUgcmVzb3VyY2UuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIk0KEGFwcGxpY2F0aW9uL2pzb24SOXsgImNvZGUiOiA3LCAibWVzc2FnZSI6ICJub3QgYXV0aG9yaXplZCIsICJkZXRhaWxzIjogW10gfYLT5JMCHyIaL3YxL2FjY291bnQvZGVsZXRlX2FjY291bnQ6ASoSrAQKDEdldEFjY291bnRWMhImLmJ1Y2tldGVlci5hY2NvdW50LkdldEFjY291bnRWMlJlcXVlc3QaJy5idWNrZXRlZXIuYWNjb3VudC5HZXRBY2NvdW50VjJSZXNwb25zZSLKA5JBpwMKB0FjY291bnQSA0dldBoPR2V0IGFuIGFjY291bnQuKhp3ZWIudjEuYWNjb3VudC5nZXRfYWNjb3VudEq0AQoDNDAwEqwBCjpSZXR1cm5lZCBmb3IgYmFkIHJlcXVlc3RzIHRoYXQgbWF5IGhhdmUgZmFpbGVkIHZhbGlkYXRpb24uEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlYKEGFwcGxpY2F0aW9uL2pzb24SQnsgImNvZGUiOiAzLCAibWVzc2FnZSI6ICJpbnZhbGlkIGFyZ3VtZW50cyBlcnJvciIsICJkZXRhaWxzIjogW10gfUqyAQoDNDAxEqoBCj1SZXF1ZXN0IGNvdWxkIG5vdCBiZSBhdXRoZW50aWNhdGVkIChhdXRoZW50aWNhdGlvbiByZXF1aXJlZCkuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlEKEGFwcGxpY2F0aW9uL2pzb24SPXsgImNvZGUiOiAxNiwgIm1lc3NhZ2UiOiAibm90IGF1dGhlbnRpY2F0ZWQiLCAiZGV0YWlscyI6IFtdIH2C0+STAhkSFy92MS9hY2NvdW50L2dldF9hY2NvdW50Ep0FChtHZXRBY2NvdW50VjJCeUVudmlyb25tZW50SUQSNS5idWNrZXRlZXIuYWNjb3VudC5HZXRBY2NvdW50VjJCeUVudmlyb25tZW50SURSZXF1ZXN0GjYuYnVja2V0ZWVyLmFjY291bnQuR2V0QWNjb3VudFYyQnlFbnZpcm9ubWVudElEUmVzcG9uc2UijgSSQdwDCgdBY2NvdW50EhpHZXQgQWNjb3VudCBCeSBFbnZpcm9ubWVudBoeR2V0IGFuIGFjY291bnQgYnkgZW52aXJvbm1lbnQuKil3ZWIudjEuYWNjb3VudC5nZXRfYWNjb3VudF9ieV9lbnZpcm9ubWVudEq0AQoDNDAwEqwBCjpSZXR1cm5lZCBmb3IgYmFkIHJlcXVlc3RzIHRoYXQgbWF5IGhhdmUgZmFpbGVkIHZhbGlkYXRpb24uEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlYKEGFwcGxpY2F0aW9uL2pzb24SQnsgImNvZGUiOiAzLCAibWVzc2FnZSI6ICJpbnZhbGlkIGFyZ3VtZW50cyBlcnJvciIsICJkZXRhaWxzIjogW10gfUqyAQoDNDAxEqoBCj1SZXF1ZXN0IGNvdWxkIG5vdCBiZSBhdXRoZW50aWNhdGVkIChhdXRoZW50aWNhdGlvbiByZXF1aXJlZCkuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlEKEGFwcGxpY2F0aW9uL2pzb24SPXsgImNvZGUiOiAxNiwgIm1lc3NhZ2UiOiAibm90IGF1dGhlbnRpY2F0ZWQiLCAiZGV0YWlscyI6IFtdIH2C0+STAigSJi92MS9hY2NvdW50L2dldF9hY2NvdW50X2J5X2Vudmlyb25tZW50ErYECg5MaXN0QWNjb3VudHNWMhIoLmJ1Y2tldGVlci5hY2NvdW50Lkxpc3RBY2NvdW50c1YyUmVxdWVzdBopLmJ1Y2tldGVlci5hY2NvdW50Lkxpc3RBY2NvdW50c1YyUmVzcG9uc2UizgOSQakDCgdBY2NvdW50EgRMaXN0Gg5MaXN0IGFjY291bnRzLiocd2ViLnYxLmFjY291bnQubGlzdF9hY2NvdW50c0q0AQoDNDAwEqwBCjpSZXR1cm5lZCBmb3IgYmFkIHJlcXVlc3RzIHRoYXQgbWF5IGhhdmUgZmFpbGVkIHZhbGlkYXRpb24uEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlYKEGFwcGxpY2F0aW9uL2pzb24SQnsgImNvZGUiOiAzLCAibWVzc2FnZSI6ICJpbnZhbGlkIGFyZ3VtZW50cyBlcnJvciIsICJkZXRhaWxzIjogW10gfUqyAQoDNDAxEqoBCj1SZXF1ZXN0IGNvdWxkIG5vdCBiZSBhdXRoZW50aWNhdGVkIChhdXRoZW50aWNhdGlvbiByZXF1aXJlZCkuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlEKEGFwcGxpY2F0aW9uL2pzb24SPXsgImNvZGUiOiAxNiwgIm1lc3NhZ2UiOiAibm90IGF1dGhlbnRpY2F0ZWQiLCAiZGV0YWlscyI6IFtdIH2C0+STAhsSGS92MS9hY2NvdW50L2xpc3RfYWNjb3VudHMSsAYKDENyZWF0ZUFQSUtleRImLmJ1Y2tldGVlci5hY2NvdW50LkNyZWF0ZUFQSUtleVJlcXVlc3QaJy5idWNrZXRlZXIuYWNjb3VudC5DcmVhdGVBUElLZXlSZXNwb25zZSLOBZJBpQUKB0FQSSBLZXkSBkNyZWF0ZRpbQ3JlYXRlIGFuIEFQSSBrZXkgdG8gYmUgdXNlZCBvbiB0aGUgY2xpZW50IFNESy4gVG8gY2FsbCB0aGlzIEFQSSwgeW91IG5lZWQgYW4gYEFETUlOYCByb2xlLiodd2ViLnYxLmFjY291bnQuY3JlYXRlX2FwaV9rZXlKtAEKAzQwMBKsAQo6UmV0dXJuZWQgZm9yIGJhZCByZXF1ZXN0cyB0aGF0IG1heSBoYXZlIGZhaWxlZCB2YWxpZGF0aW9uLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJWChBhcHBsaWNhdGlvbi9qc29uEkJ7ICJjb2RlIjogMywgIm1lc3NhZ2UiOiAiaW52YWxpZCBhcmd1bWVudHMgZXJyb3IiLCAiZGV0YWlscyI6IFtdIH1KsgEKAzQwMRKqAQo9UmVxdWVzdCBjb3VsZCBub3QgYmUgYXV0aGVudGljYXRlZCAoYXV0aGVudGljYXRpb24gcmVxdWlyZWQpLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJRChBhcHBsaWNhdGlvbi9qc29uEj17ICJjb2RlIjogMTYsICJtZXNzYWdlIjogIm5vdCBhdXRoZW50aWNhdGVkIiwgImRldGFpbHMiOiBbXSB9SqkBCgM0MDMSoQEKOFJlcXVlc3QgZG9lcyBub3QgaGF2ZSBwZXJtaXNzaW9uIHRvIGFjY2VzcyB0aGUgcmVzb3VyY2UuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIk0KEGFwcGxpY2F0aW9uL2pzb24SOXsgImNvZGUiOiA3LCAibWVzc2FnZSI6ICJub3QgYXV0aG9yaXplZCIsICJkZXRhaWxzIjogW10gfYLT5JMCHyIaL3YxL2FjY291bnQvY3JlYXRlX2FwaV9rZXk6ASoSvAYKEENoYW5nZUFQSUtleU5hbWUSKi5idWNrZXRlZXIuYWNjb3VudC5DaGFuZ2VBUElLZXlOYW1lUmVxdWVzdBorLmJ1Y2tldGVlci5hY2NvdW50LkNoYW5nZUFQSUtleU5hbWVSZXNwb25zZSLOBZJBoAUKB0FQSSBLZXkSE0NoYW5nZSBBUEkgS2V5IE5hbWUaRENoYW5nZSB0aGUgQVBJIEtleSBOYW1lLiBUbyBjYWxsIHRoaXMgQVBJLCB5b3UgbmVlZCBhbiBgQURNSU5gIHJvbGUuKiJ3ZWIudjEuYWNjb3VudC5jaGFuZ2VfYXBpX2tleV9uYW1lSrQBCgM0MDASrAEKOlJldHVybmVkIGZvciBiYWQgcmVxdWVzdHMgdGhhdCBtYXkgaGF2ZSBmYWlsZWQgdmFsaWRhdGlvbi4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiVgoQYXBwbGljYXRpb24vanNvbhJCeyAiY29kZSI6IDMsICJtZXNzYWdlIjogImludmFsaWQgYXJndW1lbnRzIGVycm9yIiwgImRldGFpbHMiOiBbXSB9SrIBCgM0MDESqgEKPVJlcXVlc3QgY291bGQgbm90IGJlIGF1dGhlbnRpY2F0ZWQgKGF1dGhlbnRpY2F0aW9uIHJlcXVpcmVkKS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiUQoQYXBwbGljYXRpb24vanNvbhI9eyAiY29kZSI6IDE2LCAibWVzc2FnZSI6ICJub3QgYXV0aGVudGljYXRlZCIsICJkZXRhaWxzIjogW10gfUqpAQoDNDAzEqEBCjhSZXF1ZXN0IGRvZXMgbm90IGhhdmUgcGVybWlzc2lvbiB0byBhY2Nlc3MgdGhlIHJlc291cmNlLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJNChBhcHBsaWNhdGlvbi9qc29uEjl7ICJjb2RlIjogNywgIm1lc3NhZ2UiOiAibm90IGF1dGhvcml6ZWQiLCAiZGV0YWlscyI6IFtdIH2C0+STAiQiHy92MS9hY2NvdW50L2NoYW5nZV9hcGlfa2V5X25hbWU6ASoSkwYKDEVuYWJsZUFQSUtleRImLmJ1Y2tldGVlci5hY2NvdW50LkVuYWJsZUFQSUtleVJlcXVlc3QaJy5idWNrZXRlZXIuYWNjb3VudC5FbmFibGVBUElLZXlSZXNwb25zZSKxBZJBiAUKB0FQSSBLZXkSBkVuYWJsZRo+RW5hYmxlIGFuIEFQSSBLZXkuIFRvIGNhbGwgdGhpcyBBUEksIHlvdSBuZWVkIGFuIGBBRE1JTmAgcm9sZS4qHXdlYi52MS5hY2NvdW50LmVuYWJsZV9hcGlfa2V5SrQBCgM0MDASrAEKOlJldHVybmVkIGZvciBiYWQgcmVxdWVzdHMgdGhhdCBtYXkgaGF2ZSBmYWlsZWQgdmFsaWRhdGlvbi4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiVgoQYXBwbGljYXRpb24vanNvbhJCeyAiY29kZSI6IDMsICJtZXNzYWdlIjogImludmFsaWQgYXJndW1lbnRzIGVycm9yIiwgImRldGFpbHMiOiBbXSB9SrIBCgM0MDESqgEKPVJlcXVlc3QgY291bGQgbm90IGJlIGF1dGhlbnRpY2F0ZWQgKGF1dGhlbnRpY2F0aW9uIHJlcXVpcmVkKS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiUQoQYXBwbGljYXRpb24vanNvbhI9eyAiY29kZSI6IDE2LCAibWVzc2FnZSI6ICJub3QgYXV0aGVudGljYXRlZCIsICJkZXRhaWxzIjogW10gfUqpAQoDNDAzEqEBCjhSZXF1ZXN0IGRvZXMgbm90IGhhdmUgcGVybWlzc2lvbiB0byBhY2Nlc3MgdGhlIHJlc291cmNlLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJNChBhcHBsaWNhdGlvbi9qc29uEjl7ICJjb2RlIjogNywgIm1lc3NhZ2UiOiAibm90IGF1dGhvcml6ZWQiLCAiZGV0YWlscyI6IFtdIH2C0+STAh8iGi92MS9hY2NvdW50L2VuYWJsZV9hcGlfa2V5OgEqEpoGCg1EaXNhYmxlQVBJS2V5EicuYnVja2V0ZWVyLmFjY291bnQuRGlzYWJsZUFQSUtleVJlcXVlc3QaKC5idWNrZXRlZXIuYWNjb3VudC5EaXNhYmxlQVBJS2V5UmVzcG9uc2UitQWSQYsFCgdBUEkgS2V5EgdEaXNhYmxlGj9EaXNhYmxlIGFuIEFQSSBLZXkuIFRvIGNhbGwgdGhpcyBBUEksIHlvdSBuZWVkIGFuIGBBRE1JTmAgcm9sZS4qHndlYi52MS5hY2NvdW50LmRpc2FibGVfYXBpX2tleUq0AQoDNDAwEqwBCjpSZXR1cm5lZCBmb3IgYmFkIHJlcXVlc3RzIHRoYXQgbWF5IGhhdmUgZmFpbGVkIHZhbGlkYXRpb24uEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlYKEGFwcGxpY2F0aW9uL2pzb24SQnsgImNvZGUiOiAzLCAibWVzc2FnZSI6ICJpbnZhbGlkIGFyZ3VtZW50cyBlcnJvciIsICJkZXRhaWxzIjogW10gfUqyAQoDNDAxEqoBCj1SZXF1ZXN0IGNvdWxkIG5vdCBiZSBhdXRoZW50aWNhdGVkIChhdXRoZW50aWNhdGlvbiByZXF1aXJlZCkuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlEKEGFwcGxpY2F0aW9uL2pzb24SPXsgImNvZGUiOiAxNiwgIm1lc3NhZ2UiOiAibm90IGF1dGhlbnRpY2F0ZWQiLCAiZGV0YWlscyI6IFtdIH1KqQEKAzQwMxKhAQo4UmVxdWVzdCBkb2VzIG5vdCBoYXZlIHBlcm1pc3Npb24gdG8gYWNjZXNzIHRoZSByZXNvdXJjZS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiTQoQYXBwbGljYXRpb24vanNvbhI5eyAiY29kZSI6IDcsICJtZXNzYWdlIjogIm5vdCBhdXRob3JpemVkIiwgImRldGFpbHMiOiBbXSB9gtPkkwIgIhsvdjEvYWNjb3VudC9kaXNhYmxlX2FwaV9rZXk6ASoSowQKCUdldEFQSUtleRIjLmJ1Y2tldGVlci5hY2NvdW50LkdldEFQSUtleVJlcXVlc3QaJC5idWNrZXRlZXIuYWNjb3VudC5HZXRBUElLZXlSZXNwb25zZSLKA5JBpwMKB0FQSSBLZXkSA0dldBoPR2V0IGFuIEFQSSBLZXkuKhp3ZWIudjEuYWNjb3VudC5nZXRfYXBpX2tleUq0AQoDNDAwEqwBCjpSZXR1cm5lZCBmb3IgYmFkIHJlcXVlc3RzIHRoYXQgbWF5IGhhdmUgZmFpbGVkIHZhbGlkYXRpb24uEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlYKEGFwcGxpY2F0aW9uL2pzb24SQnsgImNvZGUiOiAzLCAibWVzc2FnZSI6ICJpbnZhbGlkIGFyZ3VtZW50cyBlcnJvciIsICJkZXRhaWxzIjogW10gfUqyAQoDNDAxEqoBCj1SZXF1ZXN0IGNvdWxkIG5vdCBiZSBhdXRoZW50aWNhdGVkIChhdXRoZW50aWNhdGlvbiByZXF1aXJlZCkuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlEKEGFwcGxpY2F0aW9uL2pzb24SPXsgImNvZGUiOiAxNiwgIm1lc3NhZ2UiOiAibm90IGF1dGhlbnRpY2F0ZWQiLCAiZGV0YWlscyI6IFtdIH2C0+STAhkSFy92MS9hY2NvdW50L2dldF9hcGlfa2V5Eq0ECgtMaXN0QVBJS2V5cxIlLmJ1Y2tldGVlci5hY2NvdW50Lkxpc3RBUElLZXlzUmVxdWVzdBomLmJ1Y2tldGVlci5hY2NvdW50Lkxpc3RBUElLZXlzUmVzcG9uc2UizgOSQakDCgdBUEkgS2V5EgRMaXN0Gg5MaXN0IEFQSSBLZXlzLiocd2ViLnYxLmFjY291bnQubGlzdF9hcGlfa2V5c0q0AQoDNDAwEqwBCjpSZXR1cm5lZCBmb3IgYmFkIHJlcXVlc3RzIHRoYXQgbWF5IGhhdmUgZmFpbGVkIHZhbGlkYXRpb24uEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlYKEGFwcGxpY2F0aW9uL2pzb24SQnsgImNvZGUiOiAzLCAibWVzc2FnZSI6ICJpbnZhbGlkIGFyZ3VtZW50cyBlcnJvciIsICJkZXRhaWxzIjogW10gfUqyAQoDNDAxEqoBCj1SZXF1ZXN0IGNvdWxkIG5vdCBiZSBhdXRoZW50aWNhdGVkIChhdXRoZW50aWNhdGlvbiByZXF1aXJlZCkuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlEKEGFwcGxpY2F0aW9uL2pzb24SPXsgImNvZGUiOiAxNiwgIm1lc3NhZ2UiOiAibm90IGF1dGhlbnRpY2F0ZWQiLCAiZGV0YWlscyI6IFtdIH2C0+STAhsSGS92MS9hY2NvdW50L2xpc3RfYXBpX2tleXMS/AQKFEdldEVudmlyb25tZW50QVBJS2V5Ei4uYnVja2V0ZWVyLmFjY291bnQuR2V0RW52aXJvbm1lbnRBUElLZXlSZXF1ZXN0Gi8uYnVja2V0ZWVyLmFjY291bnQuR2V0RW52aXJvbm1lbnRBUElLZXlSZXNwb25zZSKCBJJB0wMKB0FQSSBLZXkSF0dldCBFbnZpcm9ubWVudCBBUEkgS2V5GhtHZXQgYW4gZW52aXJvbm1lbnQgQVBJIEtleS4qJndlYi52MS5hY2NvdW50LmdldF9lbnZpcm9ubWVudF9hcGlfa2V5SrQBCgM0MDASrAEKOlJldHVybmVkIGZvciBiYWQgcmVxdWVzdHMgdGhhdCBtYXkgaGF2ZSBmYWlsZWQgdmFsaWRhdGlvbi4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiVgoQYXBwbGljYXRpb24vanNvbhJCeyAiY29kZSI6IDMsICJtZXNzYWdlIjogImludmFsaWQgYXJndW1lbnRzIGVycm9yIiwgImRldGFpbHMiOiBbXSB9SrIBCgM0MDESqgEKPVJlcXVlc3QgY291bGQgbm90IGJlIGF1dGhlbnRpY2F0ZWQgKGF1dGhlbnRpY2F0aW9uIHJlcXVpcmVkKS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiUQoQYXBwbGljYXRpb24vanNvbhI9eyAiY29kZSI6IDE2LCAibWVzc2FnZSI6ICJub3QgYXV0aGVudGljYXRlZCIsICJkZXRhaWxzIjogW10gfYLT5JMCJRIjL3YxL2FjY291bnQvZ2V0X2Vudmlyb25tZW50X2FwaV9rZXkSxQYKEkNyZWF0ZVNlYXJjaEZpbHRlchIsLmJ1Y2tldGVlci5hY2NvdW50LkNyZWF0ZVNlYXJjaEZpbHRlclJlcXVlc3QaLS5idWNrZXRlZXIuYWNjb3VudC5DcmVhdGVTZWFyY2hGaWx0ZXJSZXNwb25zZSLRBZJBogUKB0FjY291bnQSFENyZWF0ZSBTZWFyY2ggRmlsdGVyGkRDcmVhdGUgYSBzZWFyY2ggZmlsdGVyLiBUbyBjYWxsIHRoaXMgQVBJLCB5b3UgbmVlZCBhbiBgVklFV0VSYCByb2xlLiojd2ViLnYxLmFjY291bnQuY3JlYXRlX3NlYXJjaF9maWx0ZXJKtAEKAzQwMBKsAQo6UmV0dXJuZWQgZm9yIGJhZCByZXF1ZXN0cyB0aGF0IG1heSBoYXZlIGZhaWxlZCB2YWxpZGF0aW9uLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJWChBhcHBsaWNhdGlvbi9qc29uEkJ7ICJjb2RlIjogMywgIm1lc3NhZ2UiOiAiaW52YWxpZCBhcmd1bWVudHMgZXJyb3IiLCAiZGV0YWlscyI6IFtdIH1KsgEKAzQwMRKqAQo9UmVxdWVzdCBjb3VsZCBub3QgYmUgYXV0aGVudGljYXRlZCAoYXV0aGVudGljYXRpb24gcmVxdWlyZWQpLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJRChBhcHBsaWNhdGlvbi9qc29uEj17ICJjb2RlIjogMTYsICJtZXNzYWdlIjogIm5vdCBhdXRoZW50aWNhdGVkIiwgImRldGFpbHMiOiBbXSB9SqkBCgM0MDMSoQEKOFJlcXVlc3QgZG9lcyBub3QgaGF2ZSBwZXJtaXNzaW9uIHRvIGFjY2VzcyB0aGUgcmVzb3VyY2UuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIk0KEGFwcGxpY2F0aW9uL2pzb24SOXsgImNvZGUiOiA3LCAibWVzc2FnZSI6ICJub3QgYXV0aG9yaXplZCIsICJkZXRhaWxzIjogW10gfYLT5JMCJSIgL3YxL2FjY291bnQvY3JlYXRlX3NlYXJjaF9maWx0ZXI6ASoSxQYKElVwZGF0ZVNlYXJjaEZpbHRlchIsLmJ1Y2tldGVlci5hY2NvdW50LlVwZGF0ZVNlYXJjaEZpbHRlclJlcXVlc3QaLS5idWNrZXRlZXIuYWNjb3VudC5VcGRhdGVTZWFyY2hGaWx0ZXJSZXNwb25zZSLRBZJBogUKB0FjY291bnQSFFVwZGF0ZSBTZWFyY2ggRmlsdGVyGkRVcGRhdGUgYSBzZWFyY2ggZmlsdGVyLiBUbyBjYWxsIHRoaXMgQVBJLCB5b3UgbmVlZCBhbiBgVklFV0VSYCByb2xlLiojd2ViLnYxLmFjY291bnQudXBkYXRlX3NlYXJjaF9maWx0ZXJKtAEKAzQwMBKsAQo6UmV0dXJuZWQgZm9yIGJhZCByZXF1ZXN0cyB0aGF0IG1heSBoYXZlIGZhaWxlZCB2YWxpZGF0aW9uLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJWChBhcHBsaWNhdGlvbi9qc29uEkJ7ICJjb2RlIjogMywgIm1lc3NhZ2UiOiAiaW52YWxpZCBhcmd1bWVudHMgZXJyb3IiLCAiZGV0YWlscyI6IFtdIH1KsgEKAzQwMRKqAQo9UmVxdWVzdCBjb3VsZCBub3QgYmUgYXV0aGVudGljYXRlZCAoYXV0aGVudGljYXRpb24gcmVxdWlyZWQpLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJRChBhcHBsaWNhdGlvbi9qc29uEj17ICJjb2RlIjogMTYsICJtZXNzYWdlIjogIm5vdCBhdXRoZW50aWNhdGVkIiwgImRldGFpbHMiOiBbXSB9SqkBCgM0MDMSoQEKOFJlcXVlc3QgZG9lcyBub3QgaGF2ZSBwZXJtaXNzaW9uIHRvIGFjY2VzcyB0aGUgcmVzb3VyY2UuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIk0KEGFwcGxpY2F0aW9uL2pzb24SOXsgImNvZGUiOiA3LCAibWVzc2FnZSI6ICJub3QgYXV0aG9yaXplZCIsICJkZXRhaWxzIjogW10gfYLT5JMCJSIgL3YxL2FjY291bnQvdXBkYXRlX3NlYXJjaF9maWx0ZXI6ASoSxQYKEkRlbGV0ZVNlYXJjaEZpbHRlchIsLmJ1Y2tldGVlci5hY2NvdW50LkRlbGV0ZVNlYXJjaEZpbHRlclJlcXVlc3QaLS5idWNrZXRlZXIuYWNjb3VudC5EZWxldGVTZWFyY2hGaWx0ZXJSZXNwb25zZSLRBZJBogUKB0FjY291bnQSFERlbGV0ZSBTZWFyY2ggRmlsdGVyGkREZWxldGUgYSBzZWFyY2ggZmlsdGVyLiBUbyBjYWxsIHRoaXMgQVBJLCB5b3UgbmVlZCBhbiBgVklFV0VSYCByb2xlLiojd2ViLnYxLmFjY291bnQuZGVsZXRlX3NlYXJjaF9maWx0ZXJKtAEKAzQwMBKsAQo6UmV0dXJuZWQgZm9yIGJhZCByZXF1ZXN0cyB0aGF0IG1heSBoYXZlIGZhaWxlZCB2YWxpZGF0aW9uLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJWChBhcHBsaWNhdGlvbi9qc29uEkJ7ICJjb2RlIjogMywgIm1lc3NhZ2UiOiAiaW52YWxpZCBhcmd1bWVudHMgZXJyb3IiLCAiZGV0YWlscyI6IFtdIH1KsgEKAzQwMRKqAQo9UmVxdWVzdCBjb3VsZCBub3QgYmUgYXV0aGVudGljYXRlZCAoYXV0aGVudGljYXRpb24gcmVxdWlyZWQpLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJRChBhcHBsaWNhdGlvbi9qc29uEj17ICJjb2RlIjogMTYsICJtZXNzYWdlIjogIm5vdCBhdXRoZW50aWNhdGVkIiwgImRldGFpbHMiOiBbXSB9SqkBCgM0MDMSoQEKOFJlcXVlc3QgZG9lcyBub3QgaGF2ZSBwZXJtaXNzaW9uIHRvIGFjY2VzcyB0aGUgcmVzb3VyY2UuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIk0KEGFwcGxpY2F0aW9uL2pzb24SOXsgImNvZGUiOiA3LCAibWVzc2FnZSI6ICJub3QgYXV0aG9yaXplZCIsICJkZXRhaWxzIjogW10gfYLT5JMCJSIgL3YxL2FjY291bnQvZGVsZXRlX3NlYXJjaF9maWx0ZXI6ASoSmwYKDFVwZGF0ZUFQSUtleRImLmJ1Y2tldGVlci5hY2NvdW50LlVwZGF0ZUFQSUtleVJlcXVlc3QaJy5idWNrZXRlZXIuYWNjb3VudC5VcGRhdGVBUElLZXlSZXNwb25zZSK5BZJBkAUKB0FQSSBLZXkSDlVwZGF0ZSBBUEkgS2V5Gj5VcGRhdGUgYW4gQVBJIEtleS4gVG8gY2FsbCB0aGlzIEFQSSwgeW91IG5lZWQgYW4gYEFETUlOYCByb2xlLiodd2ViLnYxLmFjY291bnQudXBkYXRlX2FwaV9rZXlKtAEKAzQwMBKsAQo6UmV0dXJuZWQgZm9yIGJhZCByZXF1ZXN0cyB0aGF0IG1heSBoYXZlIGZhaWxlZCB2YWxpZGF0aW9uLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJWChBhcHBsaWNhdGlvbi9qc29uEkJ7ICJjb2RlIjogMywgIm1lc3NhZ2UiOiAiaW52YWxpZCBhcmd1bWVudHMgZXJyb3IiLCAiZGV0YWlscyI6IFtdIH1KsgEKAzQwMRKqAQo9UmVxdWVzdCBjb3VsZCBub3QgYmUgYXV0aGVudGljYXRlZCAoYXV0aGVudGljYXRpb24gcmVxdWlyZWQpLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJRChBhcHBsaWNhdGlvbi9qc29uEj17ICJjb2RlIjogMTYsICJtZXNzYWdlIjogIm5vdCBhdXRoZW50aWNhdGVkIiwgImRldGFpbHMiOiBbXSB9SqkBCgM0MDMSoQEKOFJlcXVlc3QgZG9lcyBub3QgaGF2ZSBwZXJtaXNzaW9uIHRvIGFjY2VzcyB0aGUgcmVzb3VyY2UuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIk0KEGFwcGxpY2F0aW9uL2pzb24SOXsgImNvZGUiOiA3LCAibWVzc2FnZSI6ICJub3QgYXV0aG9yaXplZCIsICJkZXRhaWxzIjogW10gfYLT5JMCHzIaL3YxL2FjY291bnQvdXBkYXRlX2FwaV9rZXk6ASpCMVovZ2l0aHViLmNvbS9idWNrZXRlZXItaW8vYnVja2V0ZWVyL3Byb3RvL2FjY291bnRiBnByb3RvMw== experimentcalculatorDescriptor: CtYBCh1wcm90by9mZWF0dXJlL3ZhcmlhdGlvbi5wcm90bxIRYnVja2V0ZWVyLmZlYXR1cmUiZwoJVmFyaWF0aW9uEg4KAmlkGAEgASgJUgJpZBIUCgV2YWx1ZRgCIAEoCVIFdmFsdWUSEgoEbmFtZRgDIAEoCVIEbmFtZRIgCgtkZXNjcmlwdGlvbhgEIAEoCVILZGVzY3JpcHRpb25CMVovZ2l0aHViLmNvbS9idWNrZXRlZXItaW8vYnVja2V0ZWVyL3Byb3RvL2ZlYXR1cmViBnByb3RvMwq8BwohcHJvdG8vZXhwZXJpbWVudC9leHBlcmltZW50LnByb3RvEhRidWNrZXRlZXIuZXhwZXJpbWVudBodcHJvdG8vZmVhdHVyZS92YXJpYXRpb24ucHJvdG8i0AUKCkV4cGVyaW1lbnQSDgoCaWQYASABKAlSAmlkEhsKB2dvYWxfaWQYAiABKAlCAhgBUgZnb2FsSWQSHQoKZmVhdHVyZV9pZBgDIAEoCVIJZmVhdHVyZUlkEicKD2ZlYXR1cmVfdmVyc2lvbhgEIAEoBVIOZmVhdHVyZVZlcnNpb24SPAoKdmFyaWF0aW9ucxgFIAMoCzIcLmJ1Y2tldGVlci5mZWF0dXJlLlZhcmlhdGlvblIKdmFyaWF0aW9ucxIZCghzdGFydF9hdBgGIAEoA1IHc3RhcnRBdBIXCgdzdG9wX2F0GAcgASgDUgZzdG9wQXQSHAoHc3RvcHBlZBgIIAEoCEICGAFSB3N0b3BwZWQSIQoKc3RvcHBlZF9hdBgJIAEoA0ICMAFSCXN0b3BwZWRBdBIdCgpjcmVhdGVkX2F0GAogASgDUgljcmVhdGVkQXQSHQoKdXBkYXRlZF9hdBgLIAEoA1IJdXBkYXRlZEF0EhgKB2RlbGV0ZWQYDCABKAhSB2RlbGV0ZWQSGQoIZ29hbF9pZHMYDSADKAlSB2dvYWxJZHMSEgoEbmFtZRgOIAEoCVIEbmFtZRIgCgtkZXNjcmlwdGlvbhgPIAEoCVILZGVzY3JpcHRpb24SKgoRYmFzZV92YXJpYXRpb25faWQYECABKAlSD2Jhc2VWYXJpYXRpb25JZBI/CgZzdGF0dXMYEiABKA4yJy5idWNrZXRlZXIuZXhwZXJpbWVudC5FeHBlcmltZW50LlN0YXR1c1IGc3RhdHVzEh4KCm1haW50YWluZXIYEyABKAlSCm1haW50YWluZXISGgoIYXJjaGl2ZWQYFCABKAhSCGFyY2hpdmVkIkIKBlN0YXR1cxILCgdXQUlUSU5HEAASCwoHUlVOTklORxABEgsKB1NUT1BQRUQQAhIRCg1GT1JDRV9TVE9QUEVEEANKBAgREBIiUQoLRXhwZXJpbWVudHMSQgoLZXhwZXJpbWVudHMYASADKAsyIC5idWNrZXRlZXIuZXhwZXJpbWVudC5FeHBlcmltZW50UgtleHBlcmltZW50c0I0WjJnaXRodWIuY29tL2J1Y2tldGVlci1pby9idWNrZXRlZXIvcHJvdG8vZXhwZXJpbWVudGIGcHJvdG8zCuADCihwcm90by9leHBlcmltZW50Y2FsY3VsYXRvci9zZXJ2aWNlLnByb3RvEh5idWNrZXRlZXIuZXhwZXJpbWVudGNhbGN1bGF0b3IaIXByb3RvL2V4cGVyaW1lbnQvZXhwZXJpbWVudC5wcm90byJ7ChBCYXRjaENhbGNSZXF1ZXN0EiUKDmVudmlyb25tZW50X2lkGAEgASgJUg1lbnZpcm9ubWVudElkEkAKCmV4cGVyaW1lbnQYAiABKAsyIC5idWNrZXRlZXIuZXhwZXJpbWVudC5FeHBlcmltZW50UgpleHBlcmltZW50IhMKEUJhdGNoQ2FsY1Jlc3BvbnNlMpYBChtFeHBlcmltZW50Q2FsY3VsYXRvclNlcnZpY2USdwoOQ2FsY0V4cGVyaW1lbnQSMC5idWNrZXRlZXIuZXhwZXJpbWVudGNhbGN1bGF0b3IuQmF0Y2hDYWxjUmVxdWVzdBoxLmJ1Y2tldGVlci5leHBlcmltZW50Y2FsY3VsYXRvci5CYXRjaENhbGNSZXNwb25zZSIAQj5aPGdpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9leHBlcmltZW50Y2FsY3VsYXRvcmIGcHJvdG8z - auditlogDescriptor: CuQBChlnb29nbGUvcHJvdG9idWYvYW55LnByb3RvEg9nb29nbGUucHJvdG9idWYiNgoDQW55EhkKCHR5cGVfdXJsGAEgASgJUgd0eXBlVXJsEhQKBXZhbHVlGAIgASgMUgV2YWx1ZUJ2ChNjb20uZ29vZ2xlLnByb3RvYnVmQghBbnlQcm90b1ABWixnb29nbGUuZ29sYW5nLm9yZy9wcm90b2J1Zi90eXBlcy9rbm93bi9hbnlwYqICA0dQQqoCHkdvb2dsZS5Qcm90b2J1Zi5XZWxsS25vd25UeXBlc2IGcHJvdG8zCoYECh5nb29nbGUvcHJvdG9idWYvd3JhcHBlcnMucHJvdG8SD2dvb2dsZS5wcm90b2J1ZiIjCgtEb3VibGVWYWx1ZRIUCgV2YWx1ZRgBIAEoAVIFdmFsdWUiIgoKRmxvYXRWYWx1ZRIUCgV2YWx1ZRgBIAEoAlIFdmFsdWUiIgoKSW50NjRWYWx1ZRIUCgV2YWx1ZRgBIAEoA1IFdmFsdWUiIwoLVUludDY0VmFsdWUSFAoFdmFsdWUYASABKARSBXZhbHVlIiIKCkludDMyVmFsdWUSFAoFdmFsdWUYASABKAVSBXZhbHVlIiMKC1VJbnQzMlZhbHVlEhQKBXZhbHVlGAEgASgNUgV2YWx1ZSIhCglCb29sVmFsdWUSFAoFdmFsdWUYASABKAhSBXZhbHVlIiMKC1N0cmluZ1ZhbHVlEhQKBXZhbHVlGAEgASgJUgV2YWx1ZSIiCgpCeXRlc1ZhbHVlEhQKBXZhbHVlGAEgASgMUgV2YWx1ZUKDAQoTY29tLmdvb2dsZS5wcm90b2J1ZkINV3JhcHBlcnNQcm90b1ABWjFnb29nbGUuZ29sYW5nLm9yZy9wcm90b2J1Zi90eXBlcy9rbm93bi93cmFwcGVyc3Bi+AEBogIDR1BCqgIeR29vZ2xlLlByb3RvYnVmLldlbGxLbm93blR5cGVzYgZwcm90bzMKxwMKGnByb3RvL2ZlYXR1cmUvY2xhdXNlLnByb3RvEhFidWNrZXRlZXIuZmVhdHVyZSLaAgoGQ2xhdXNlEg4KAmlkGAEgASgJUgJpZBIcCglhdHRyaWJ1dGUYAiABKAlSCWF0dHJpYnV0ZRI+CghvcGVyYXRvchgDIAEoDjIiLmJ1Y2tldGVlci5mZWF0dXJlLkNsYXVzZS5PcGVyYXRvclIIb3BlcmF0b3ISFgoGdmFsdWVzGAQgAygJUgZ2YWx1ZXMiyQEKCE9wZXJhdG9yEgoKBkVRVUFMUxAAEgYKAklOEAESDQoJRU5EU19XSVRIEAISDwoLU1RBUlRTX1dJVEgQAxILCgdTRUdNRU5UEAQSCwoHR1JFQVRFUhAFEhQKEEdSRUFURVJfT1JfRVFVQUwQBhIICgRMRVNTEAcSEQoNTEVTU19PUl9FUVVBTBAIEgoKBkJFRk9SRRAJEgkKBUFGVEVSEAoSEAoMRkVBVFVSRV9GTEFHEAsSEwoPUEFSVElBTExZX01BVENIEAxCMVovZ2l0aHViLmNvbS9idWNrZXRlZXItaW8vYnVja2V0ZWVyL3Byb3RvL2ZlYXR1cmViBnByb3RvMwq7BAoccHJvdG8vZmVhdHVyZS9zdHJhdGVneS5wcm90bxIRYnVja2V0ZWVyLmZlYXR1cmUiLQoNRml4ZWRTdHJhdGVneRIcCgl2YXJpYXRpb24YASABKAlSCXZhcmlhdGlvbiKiAQoPUm9sbG91dFN0cmF0ZWd5EkwKCnZhcmlhdGlvbnMYASADKAsyLC5idWNrZXRlZXIuZmVhdHVyZS5Sb2xsb3V0U3RyYXRlZ3kuVmFyaWF0aW9uUgp2YXJpYXRpb25zGkEKCVZhcmlhdGlvbhIcCgl2YXJpYXRpb24YASABKAlSCXZhcmlhdGlvbhIWCgZ3ZWlnaHQYAiABKAVSBndlaWdodCL4AQoIU3RyYXRlZ3kSNAoEdHlwZRgBIAEoDjIgLmJ1Y2tldGVlci5mZWF0dXJlLlN0cmF0ZWd5LlR5cGVSBHR5cGUSRwoOZml4ZWRfc3RyYXRlZ3kYAiABKAsyIC5idWNrZXRlZXIuZmVhdHVyZS5GaXhlZFN0cmF0ZWd5Ug1maXhlZFN0cmF0ZWd5Ek0KEHJvbGxvdXRfc3RyYXRlZ3kYAyABKAsyIi5idWNrZXRlZXIuZmVhdHVyZS5Sb2xsb3V0U3RyYXRlZ3lSD3JvbGxvdXRTdHJhdGVneSIeCgRUeXBlEgkKBUZJWEVEEAASCwoHUk9MTE9VVBABQjFaL2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9mZWF0dXJlYgZwcm90bzMKqQIKGHByb3RvL2ZlYXR1cmUvcnVsZS5wcm90bxIRYnVja2V0ZWVyLmZlYXR1cmUaGnByb3RvL2ZlYXR1cmUvY2xhdXNlLnByb3RvGhxwcm90by9mZWF0dXJlL3N0cmF0ZWd5LnByb3RvIoQBCgRSdWxlEg4KAmlkGAEgASgJUgJpZBI3CghzdHJhdGVneRgCIAEoCzIbLmJ1Y2tldGVlci5mZWF0dXJlLlN0cmF0ZWd5UghzdHJhdGVneRIzCgdjbGF1c2VzGAMgAygLMhkuYnVja2V0ZWVyLmZlYXR1cmUuQ2xhdXNlUgdjbGF1c2VzQjFaL2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9mZWF0dXJlYgZwcm90bzMKqAEKGnByb3RvL2ZlYXR1cmUvdGFyZ2V0LnByb3RvEhFidWNrZXRlZXIuZmVhdHVyZSI8CgZUYXJnZXQSHAoJdmFyaWF0aW9uGAEgASgJUgl2YXJpYXRpb24SFAoFdXNlcnMYAiADKAlSBXVzZXJzQjFaL2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9mZWF0dXJlYgZwcm90bzMK1gEKHXByb3RvL2ZlYXR1cmUvdmFyaWF0aW9uLnByb3RvEhFidWNrZXRlZXIuZmVhdHVyZSJnCglWYXJpYXRpb24SDgoCaWQYASABKAlSAmlkEhQKBXZhbHVlGAIgASgJUgV2YWx1ZRISCgRuYW1lGAMgASgJUgRuYW1lEiAKC2Rlc2NyaXB0aW9uGAQgASgJUgtkZXNjcmlwdGlvbkIxWi9naXRodWIuY29tL2J1Y2tldGVlci1pby9idWNrZXRlZXIvcHJvdG8vZmVhdHVyZWIGcHJvdG8zCvQCCipwcm90by9mZWF0dXJlL2ZlYXR1cmVfbGFzdF91c2VkX2luZm8ucHJvdG8SEWJ1Y2tldGVlci5mZWF0dXJlIvcBChNGZWF0dXJlTGFzdFVzZWRJbmZvEh0KCmZlYXR1cmVfaWQYASABKAlSCWZlYXR1cmVJZBIYCgd2ZXJzaW9uGAIgASgFUgd2ZXJzaW9uEiAKDGxhc3RfdXNlZF9hdBgDIAEoA1IKbGFzdFVzZWRBdBIdCgpjcmVhdGVkX2F0GAQgASgDUgljcmVhdGVkQXQSMgoVY2xpZW50X29sZGVzdF92ZXJzaW9uGAUgASgJUhNjbGllbnRPbGRlc3RWZXJzaW9uEjIKFWNsaWVudF9sYXRlc3RfdmVyc2lvbhgGIAEoCVITY2xpZW50TGF0ZXN0VmVyc2lvbkIxWi9naXRodWIuY29tL2J1Y2tldGVlci1pby9idWNrZXRlZXIvcHJvdG8vZmVhdHVyZWIGcHJvdG8zCsIBCiBwcm90by9mZWF0dXJlL3ByZXJlcXVpc2l0ZS5wcm90bxIRYnVja2V0ZWVyLmZlYXR1cmUiUAoMUHJlcmVxdWlzaXRlEh0KCmZlYXR1cmVfaWQYASABKAlSCWZlYXR1cmVJZBIhCgx2YXJpYXRpb25faWQYAiABKAlSC3ZhcmlhdGlvbklkQjFaL2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9mZWF0dXJlYgZwcm90bzMKswwKG3Byb3RvL2ZlYXR1cmUvZmVhdHVyZS5wcm90bxIRYnVja2V0ZWVyLmZlYXR1cmUaGHByb3RvL2ZlYXR1cmUvcnVsZS5wcm90bxoacHJvdG8vZmVhdHVyZS90YXJnZXQucHJvdG8aHXByb3RvL2ZlYXR1cmUvdmFyaWF0aW9uLnByb3RvGhxwcm90by9mZWF0dXJlL3N0cmF0ZWd5LnByb3RvGipwcm90by9mZWF0dXJlL2ZlYXR1cmVfbGFzdF91c2VkX2luZm8ucHJvdG8aIHByb3RvL2ZlYXR1cmUvcHJlcmVxdWlzaXRlLnByb3RvItIHCgdGZWF0dXJlEg4KAmlkGAEgASgJUgJpZBISCgRuYW1lGAIgASgJUgRuYW1lEiAKC2Rlc2NyaXB0aW9uGAMgASgJUgtkZXNjcmlwdGlvbhIYCgdlbmFibGVkGAQgASgIUgdlbmFibGVkEhgKB2RlbGV0ZWQYBSABKAhSB2RlbGV0ZWQSOQoWZXZhbHVhdGlvbl91bmRlbGF5YWJsZRgGIAEoCEICGAFSFWV2YWx1YXRpb25VbmRlbGF5YWJsZRIQCgN0dGwYByABKAVSA3R0bBIYCgd2ZXJzaW9uGAggASgFUgd2ZXJzaW9uEh0KCmNyZWF0ZWRfYXQYCSABKANSCWNyZWF0ZWRBdBIdCgp1cGRhdGVkX2F0GAogASgDUgl1cGRhdGVkQXQSPAoKdmFyaWF0aW9ucxgLIAMoCzIcLmJ1Y2tldGVlci5mZWF0dXJlLlZhcmlhdGlvblIKdmFyaWF0aW9ucxIzCgd0YXJnZXRzGAwgAygLMhkuYnVja2V0ZWVyLmZlYXR1cmUuVGFyZ2V0Ugd0YXJnZXRzEi0KBXJ1bGVzGA0gAygLMhcuYnVja2V0ZWVyLmZlYXR1cmUuUnVsZVIFcnVsZXMSRgoQZGVmYXVsdF9zdHJhdGVneRgOIAEoCzIbLmJ1Y2tldGVlci5mZWF0dXJlLlN0cmF0ZWd5Ug9kZWZhdWx0U3RyYXRlZ3kSIwoNb2ZmX3ZhcmlhdGlvbhgPIAEoCVIMb2ZmVmFyaWF0aW9uEhIKBHRhZ3MYECADKAlSBHRhZ3MSTAoObGFzdF91c2VkX2luZm8YESABKAsyJi5idWNrZXRlZXIuZmVhdHVyZS5GZWF0dXJlTGFzdFVzZWRJbmZvUgxsYXN0VXNlZEluZm8SHgoKbWFpbnRhaW5lchgSIAEoCVIKbWFpbnRhaW5lchJPCg52YXJpYXRpb25fdHlwZRgTIAEoDjIoLmJ1Y2tldGVlci5mZWF0dXJlLkZlYXR1cmUuVmFyaWF0aW9uVHlwZVINdmFyaWF0aW9uVHlwZRIaCghhcmNoaXZlZBgUIAEoCFIIYXJjaGl2ZWQSRQoNcHJlcmVxdWlzaXRlcxgVIAMoCzIfLmJ1Y2tldGVlci5mZWF0dXJlLlByZXJlcXVpc2l0ZVINcHJlcmVxdWlzaXRlcxIjCg1zYW1wbGluZ19zZWVkGBYgASgJUgxzYW1wbGluZ1NlZWQiPgoNVmFyaWF0aW9uVHlwZRIKCgZTVFJJTkcQABILCgdCT09MRUFOEAESCgoGTlVNQkVSEAISCAoESlNPThADIlIKCEZlYXR1cmVzEjYKCGZlYXR1cmVzGAEgAygLMhouYnVja2V0ZWVyLmZlYXR1cmUuRmVhdHVyZVIIZmVhdHVyZXMSDgoCaWQYAiABKAlSAmlkInMKEkVudmlyb25tZW50RmVhdHVyZRIlCg5lbnZpcm9ubWVudF9pZBgBIAEoCVINZW52aXJvbm1lbnRJZBI2CghmZWF0dXJlcxgCIAMoCzIaLmJ1Y2tldGVlci5mZWF0dXJlLkZlYXR1cmVSCGZlYXR1cmVzImcKA1RhZxIOCgJpZBgBIAEoCVICaWQSHQoKY3JlYXRlZF9hdBgCIAEoA1IJY3JlYXRlZEF0Eh0KCnVwZGF0ZWRfYXQYAyABKANSCXVwZGF0ZWRBdBISCgRuYW1lGAQgASgJUgRuYW1lQjFaL2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9mZWF0dXJlYgZwcm90bzMKtQgKG3Byb3RvL2ZlYXR1cmUvc2VnbWVudC5wcm90bxIRYnVja2V0ZWVyLmZlYXR1cmUaGHByb3RvL2ZlYXR1cmUvcnVsZS5wcm90bxobcHJvdG8vZmVhdHVyZS9mZWF0dXJlLnByb3RvIrQECgdTZWdtZW50Eg4KAmlkGAEgASgJUgJpZBISCgRuYW1lGAIgASgJUgRuYW1lEiAKC2Rlc2NyaXB0aW9uGAMgASgJUgtkZXNjcmlwdGlvbhItCgVydWxlcxgEIAMoCzIXLmJ1Y2tldGVlci5mZWF0dXJlLlJ1bGVSBXJ1bGVzEh0KCmNyZWF0ZWRfYXQYBSABKANSCWNyZWF0ZWRBdBIdCgp1cGRhdGVkX2F0GAYgASgDUgl1cGRhdGVkQXQSHAoHdmVyc2lvbhgHIAEoA0ICGAFSB3ZlcnNpb24SGAoHZGVsZXRlZBgIIAEoCFIHZGVsZXRlZBIuChNpbmNsdWRlZF91c2VyX2NvdW50GAkgASgDUhFpbmNsdWRlZFVzZXJDb3VudBIyChNleGNsdWRlZF91c2VyX2NvdW50GAogASgDQgIYAVIRZXhjbHVkZWRVc2VyQ291bnQSOQoGc3RhdHVzGAsgASgOMiEuYnVja2V0ZWVyLmZlYXR1cmUuU2VnbWVudC5TdGF0dXNSBnN0YXR1cxInChBpc19pbl91c2Vfc3RhdHVzGAwgASgIUg1pc0luVXNlU3RhdHVzEjYKCGZlYXR1cmVzGA0gAygLMhouYnVja2V0ZWVyLmZlYXR1cmUuRmVhdHVyZVIIZmVhdHVyZXMiPgoGU3RhdHVzEgsKB0lOSVRJQUwQABINCglVUExPQURJTkcQARIMCghTVUNFRURFRBACEgoKBkZBSUxFRBADItQBCgtTZWdtZW50VXNlchIOCgJpZBgBIAEoCVICaWQSHQoKc2VnbWVudF9pZBgCIAEoCVIJc2VnbWVudElkEhcKB3VzZXJfaWQYAyABKAlSBnVzZXJJZBI6CgVzdGF0ZRgEIAEoDjIkLmJ1Y2tldGVlci5mZWF0dXJlLlNlZ21lbnRVc2VyLlN0YXRlUgVzdGF0ZRIYCgdkZWxldGVkGAUgASgIUgdkZWxldGVkIicKBVN0YXRlEgwKCElOQ0xVREVEEAASEAoIRVhDTFVERUQQARoCCAEiggEKDFNlZ21lbnRVc2VycxIdCgpzZWdtZW50X2lkGAEgASgJUglzZWdtZW50SWQSNAoFdXNlcnMYAiADKAsyHi5idWNrZXRlZXIuZmVhdHVyZS5TZWdtZW50VXNlclIFdXNlcnMSHQoKdXBkYXRlZF9hdBgDIAEoA1IJdXBkYXRlZEF0QjFaL2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9mZWF0dXJlYgZwcm90bzMK5wMKI3Byb3RvL2Vudmlyb25tZW50L2Vudmlyb25tZW50LnByb3RvEhVidWNrZXRlZXIuZW52aXJvbm1lbnQi6QIKDUVudmlyb25tZW50VjISDgoCaWQYASABKAlSAmlkEhIKBG5hbWUYAiABKAlSBG5hbWUSGQoIdXJsX2NvZGUYAyABKAlSB3VybENvZGUSIAoLZGVzY3JpcHRpb24YBCABKAlSC2Rlc2NyaXB0aW9uEh0KCnByb2plY3RfaWQYBSABKAlSCXByb2plY3RJZBIaCghhcmNoaXZlZBgGIAEoCFIIYXJjaGl2ZWQSHQoKY3JlYXRlZF9hdBgHIAEoA1IJY3JlYXRlZEF0Eh0KCnVwZGF0ZWRfYXQYCCABKANSCXVwZGF0ZWRBdBInCg9vcmdhbml6YXRpb25faWQYCSABKAlSDm9yZ2FuaXphdGlvbklkEicKD3JlcXVpcmVfY29tbWVudBgKIAEoCFIOcmVxdWlyZUNvbW1lbnQSLAoSZmVhdHVyZV9mbGFnX2NvdW50GAsgASgFUhBmZWF0dXJlRmxhZ0NvdW50QjVaM2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9lbnZpcm9ubWVudGIGcHJvdG8zCv0DCh9wcm90by9lbnZpcm9ubWVudC9wcm9qZWN0LnByb3RvEhVidWNrZXRlZXIuZW52aXJvbm1lbnQigwMKB1Byb2plY3QSDgoCaWQYASABKAlSAmlkEiAKC2Rlc2NyaXB0aW9uGAIgASgJUgtkZXNjcmlwdGlvbhIaCghkaXNhYmxlZBgDIAEoCFIIZGlzYWJsZWQSFAoFdHJpYWwYBCABKAhSBXRyaWFsEiMKDWNyZWF0b3JfZW1haWwYBSABKAlSDGNyZWF0b3JFbWFpbBIdCgpjcmVhdGVkX2F0GAYgASgDUgljcmVhdGVkQXQSHQoKdXBkYXRlZF9hdBgHIAEoA1IJdXBkYXRlZEF0EhIKBG5hbWUYCCABKAlSBG5hbWUSGQoIdXJsX2NvZGUYCSABKAlSB3VybENvZGUSJwoPb3JnYW5pemF0aW9uX2lkGAogASgJUg5vcmdhbml6YXRpb25JZBIrChFlbnZpcm9ubWVudF9jb3VudBgLIAEoBVIQZW52aXJvbm1lbnRDb3VudBIsChJmZWF0dXJlX2ZsYWdfY291bnQYDCABKAVSEGZlYXR1cmVGbGFnQ291bnRCNVozZ2l0aHViLmNvbS9idWNrZXRlZXItaW8vYnVja2V0ZWVyL3Byb3RvL2Vudmlyb25tZW50YgZwcm90bzMKrwQKJHByb3RvL2Vudmlyb25tZW50L29yZ2FuaXphdGlvbi5wcm90bxIVYnVja2V0ZWVyLmVudmlyb25tZW50IrADCgxPcmdhbml6YXRpb24SDgoCaWQYASABKAlSAmlkEhIKBG5hbWUYAiABKAlSBG5hbWUSGQoIdXJsX2NvZGUYAyABKAlSB3VybENvZGUSIAoLZGVzY3JpcHRpb24YBCABKAlSC2Rlc2NyaXB0aW9uEhoKCGRpc2FibGVkGAUgASgIUghkaXNhYmxlZBIaCghhcmNoaXZlZBgGIAEoCFIIYXJjaGl2ZWQSFAoFdHJpYWwYByABKAhSBXRyaWFsEh0KCmNyZWF0ZWRfYXQYCCABKANSCWNyZWF0ZWRBdBIdCgp1cGRhdGVkX2F0GAkgASgDUgl1cGRhdGVkQXQSIQoMc3lzdGVtX2FkbWluGAogASgIUgtzeXN0ZW1BZG1pbhIjCg1wcm9qZWN0X2NvdW50GAsgASgFUgxwcm9qZWN0Q291bnQSKwoRZW52aXJvbm1lbnRfY291bnQYDCABKAVSEGVudmlyb25tZW50Q291bnQSHQoKdXNlcl9jb3VudBgNIAEoBVIJdXNlckNvdW50Eh8KC293bmVyX2VtYWlsGA4gASgJUgpvd25lckVtYWlsQjVaM2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9lbnZpcm9ubWVudGIGcHJvdG8zCpADCiFwcm90by9hY2NvdW50L3NlYXJjaF9maWx0ZXIucHJvdG8SEWJ1Y2tldGVlci5hY2NvdW50IukBCgxTZWFyY2hGaWx0ZXISDgoCaWQYASABKAlSAmlkEhIKBG5hbWUYAiABKAlSBG5hbWUSFAoFcXVlcnkYAyABKAlSBXF1ZXJ5ElEKEmZpbHRlcl90YXJnZXRfdHlwZRgEIAEoDjIjLmJ1Y2tldGVlci5hY2NvdW50LkZpbHRlclRhcmdldFR5cGVSEGZpbHRlclRhcmdldFR5cGUSJQoOZW52aXJvbm1lbnRfaWQYBSABKAlSDWVudmlyb25tZW50SWQSJQoOZGVmYXVsdF9maWx0ZXIYBiABKAhSDWRlZmF1bHRGaWx0ZXIqMQoQRmlsdGVyVGFyZ2V0VHlwZRILCgdVTktOT1dOEAASEAoMRkVBVFVSRV9GTEFHEAFCMVovZ2l0aHViLmNvbS9idWNrZXRlZXItaW8vYnVja2V0ZWVyL3Byb3RvL2FjY291bnRiBnByb3RvMwrUEwobcHJvdG8vYWNjb3VudC9hY2NvdW50LnByb3RvEhFidWNrZXRlZXIuYWNjb3VudBojcHJvdG8vZW52aXJvbm1lbnQvZW52aXJvbm1lbnQucHJvdG8aH3Byb3RvL2Vudmlyb25tZW50L3Byb2plY3QucHJvdG8aJHByb3RvL2Vudmlyb25tZW50L29yZ2FuaXphdGlvbi5wcm90bxohcHJvdG8vYWNjb3VudC9zZWFyY2hfZmlsdGVyLnByb3RvIqsCCgdBY2NvdW50Eg4KAmlkGAEgASgJUgJpZBIUCgVlbWFpbBgCIAEoCVIFZW1haWwSEgoEbmFtZRgDIAEoCVIEbmFtZRIzCgRyb2xlGAQgASgOMh8uYnVja2V0ZWVyLmFjY291bnQuQWNjb3VudC5Sb2xlUgRyb2xlEhoKCGRpc2FibGVkGAUgASgIUghkaXNhYmxlZBIdCgpjcmVhdGVkX2F0GAYgASgDUgljcmVhdGVkQXQSHQoKdXBkYXRlZF9hdBgHIAEoA1IJdXBkYXRlZEF0EhgKB2RlbGV0ZWQYCCABKAhSB2RlbGV0ZWQiOQoEUm9sZRIKCgZWSUVXRVIQABIKCgZFRElUT1IQARIJCgVPV05FUhACEg4KClVOQVNTSUdORUQQYzoCGAEivAgKCUFjY291bnRWMhIUCgVlbWFpbBgBIAEoCVIFZW1haWwSEgoEbmFtZRgCIAEoCVIEbmFtZRIoChBhdmF0YXJfaW1hZ2VfdXJsGAMgASgJUg5hdmF0YXJJbWFnZVVybBInCg9vcmdhbml6YXRpb25faWQYBCABKAlSDm9yZ2FuaXphdGlvbklkElsKEW9yZ2FuaXphdGlvbl9yb2xlGAUgASgOMi4uYnVja2V0ZWVyLmFjY291bnQuQWNjb3VudFYyLlJvbGUuT3JnYW5pemF0aW9uUhBvcmdhbml6YXRpb25Sb2xlElkKEWVudmlyb25tZW50X3JvbGVzGAYgAygLMiwuYnVja2V0ZWVyLmFjY291bnQuQWNjb3VudFYyLkVudmlyb25tZW50Um9sZVIQZW52aXJvbm1lbnRSb2xlcxIaCghkaXNhYmxlZBgHIAEoCFIIZGlzYWJsZWQSHQoKY3JlYXRlZF9hdBgIIAEoA1IJY3JlYXRlZEF0Eh0KCnVwZGF0ZWRfYXQYCSABKANSCXVwZGF0ZWRBdBJGCg5zZWFyY2hfZmlsdGVycxgKIAMoCzIfLmJ1Y2tldGVlci5hY2NvdW50LlNlYXJjaEZpbHRlclINc2VhcmNoRmlsdGVycxIdCgpmaXJzdF9uYW1lGAsgASgJUglmaXJzdE5hbWUSGwoJbGFzdF9uYW1lGAwgASgJUghsYXN0TmFtZRIaCghsYW5ndWFnZRgNIAEoCVIIbGFuZ3VhZ2USGwoJbGFzdF9zZWVuGA4gASgDUghsYXN0U2VlbhIoChBhdmF0YXJfZmlsZV90eXBlGA8gASgJUg5hdmF0YXJGaWxlVHlwZRIhCgxhdmF0YXJfaW1hZ2UYECABKAxSC2F2YXRhckltYWdlEisKEWVudmlyb25tZW50X2NvdW50GBEgASgFUhBlbnZpcm9ubWVudENvdW50EhIKBHRhZ3MYEiADKAlSBHRhZ3Ma1wEKBFJvbGUiWQoLRW52aXJvbm1lbnQSGgoWRW52aXJvbm1lbnRfVU5BU1NJR05FRBAAEhYKEkVudmlyb25tZW50X1ZJRVdFUhABEhYKEkVudmlyb25tZW50X0VESVRPUhACInQKDE9yZ2FuaXphdGlvbhIbChdPcmdhbml6YXRpb25fVU5BU1NJR05FRBAAEhcKE09yZ2FuaXphdGlvbl9NRU1CRVIQARIWChJPcmdhbml6YXRpb25fQURNSU4QAhIWChJPcmdhbml6YXRpb25fT1dORVIQAxp7Cg9FbnZpcm9ubWVudFJvbGUSJQoOZW52aXJvbm1lbnRfaWQYASABKAlSDWVudmlyb25tZW50SWQSQQoEcm9sZRgCIAEoDjItLmJ1Y2tldGVlci5hY2NvdW50LkFjY291bnRWMi5Sb2xlLkVudmlyb25tZW50UgRyb2xlIuoGCg5Db25zb2xlQWNjb3VudBIUCgVlbWFpbBgBIAEoCVIFZW1haWwSEgoEbmFtZRgCIAEoCVIEbmFtZRIdCgphdmF0YXJfdXJsGAMgASgJUglhdmF0YXJVcmwSJgoPaXNfc3lzdGVtX2FkbWluGAQgASgIUg1pc1N5c3RlbUFkbWluEkcKDG9yZ2FuaXphdGlvbhgFIAEoCzIjLmJ1Y2tldGVlci5lbnZpcm9ubWVudC5Pcmdhbml6YXRpb25SDG9yZ2FuaXphdGlvbhJbChFvcmdhbml6YXRpb25fcm9sZRgGIAEoDjIuLmJ1Y2tldGVlci5hY2NvdW50LkFjY291bnRWMi5Sb2xlLk9yZ2FuaXphdGlvblIQb3JnYW5pemF0aW9uUm9sZRJeChFlbnZpcm9ubWVudF9yb2xlcxgHIAMoCzIxLmJ1Y2tldGVlci5hY2NvdW50LkNvbnNvbGVBY2NvdW50LkVudmlyb25tZW50Um9sZVIQZW52aXJvbm1lbnRSb2xlcxJGCg5zZWFyY2hfZmlsdGVycxgIIAMoCzIfLmJ1Y2tldGVlci5hY2NvdW50LlNlYXJjaEZpbHRlclINc2VhcmNoRmlsdGVycxIdCgpmaXJzdF9uYW1lGAkgASgJUglmaXJzdE5hbWUSGwoJbGFzdF9uYW1lGAogASgJUghsYXN0TmFtZRIaCghsYW5ndWFnZRgLIAEoCVIIbGFuZ3VhZ2USKAoQYXZhdGFyX2ZpbGVfdHlwZRgMIAEoCVIOYXZhdGFyRmlsZVR5cGUSIQoMYXZhdGFyX2ltYWdlGA0gASgMUgthdmF0YXJJbWFnZRIbCglsYXN0X3NlZW4YDiABKANSCGxhc3RTZWVuGtYBCg9FbnZpcm9ubWVudFJvbGUSRgoLZW52aXJvbm1lbnQYASABKAsyJC5idWNrZXRlZXIuZW52aXJvbm1lbnQuRW52aXJvbm1lbnRWMlILZW52aXJvbm1lbnQSOAoHcHJvamVjdBgCIAEoCzIeLmJ1Y2tldGVlci5lbnZpcm9ubWVudC5Qcm9qZWN0Ugdwcm9qZWN0EkEKBHJvbGUYAyABKA4yLS5idWNrZXRlZXIuYWNjb3VudC5BY2NvdW50VjIuUm9sZS5FbnZpcm9ubWVudFIEcm9sZUIxWi9naXRodWIuY29tL2J1Y2tldGVlci1pby9idWNrZXRlZXIvcHJvdG8vYWNjb3VudGIGcHJvdG8zCuYGChtwcm90by9hY2NvdW50L2FwaV9rZXkucHJvdG8SEWJ1Y2tldGVlci5hY2NvdW50GiNwcm90by9lbnZpcm9ubWVudC9lbnZpcm9ubWVudC5wcm90byK7AwoGQVBJS2V5Eg4KAmlkGAEgASgJUgJpZBISCgRuYW1lGAIgASgJUgRuYW1lEjIKBHJvbGUYAyABKA4yHi5idWNrZXRlZXIuYWNjb3VudC5BUElLZXkuUm9sZVIEcm9sZRIaCghkaXNhYmxlZBgEIAEoCFIIZGlzYWJsZWQSHQoKY3JlYXRlZF9hdBgFIAEoA1IJY3JlYXRlZEF0Eh0KCnVwZGF0ZWRfYXQYBiABKANSCXVwZGF0ZWRBdBIeCgptYWludGFpbmVyGAcgASgJUgptYWludGFpbmVyEhcKB2FwaV9rZXkYCCABKAlSBmFwaUtleRIgCgtkZXNjcmlwdGlvbhgJIAEoCVILZGVzY3JpcHRpb24SKQoQZW52aXJvbm1lbnRfbmFtZRgKIAEoCVIPZW52aXJvbm1lbnROYW1lInkKBFJvbGUSCwoHVU5LTk9XThAAEg4KClNES19DTElFTlQQARIOCgpTREtfU0VSVkVSEAISGAoUUFVCTElDX0FQSV9SRUFEX09OTFkQAxIUChBQVUJMSUNfQVBJX1dSSVRFEAQSFAoQUFVCTElDX0FQSV9BRE1JThAFIpUCChFFbnZpcm9ubWVudEFQSUtleRIyCgdhcGlfa2V5GAIgASgLMhkuYnVja2V0ZWVyLmFjY291bnQuQVBJS2V5UgZhcGlLZXkSMQoUZW52aXJvbm1lbnRfZGlzYWJsZWQYAyABKAhSE2Vudmlyb25tZW50RGlzYWJsZWQSIQoKcHJvamVjdF9pZBgEIAEoCUICGAFSCXByb2plY3RJZBJGCgtlbnZpcm9ubWVudBgFIAEoCzIkLmJ1Y2tldGVlci5lbnZpcm9ubWVudC5FbnZpcm9ubWVudFYyUgtlbnZpcm9ubWVudBIoChBwcm9qZWN0X3VybF9jb2RlGAYgASgJUg5wcm9qZWN0VXJsQ29kZUoECAEQAkIxWi9naXRodWIuY29tL2J1Y2tldGVlci1pby9idWNrZXRlZXIvcHJvdG8vYWNjb3VudGIGcHJvdG8zCpoLChpwcm90by9hdXRvb3BzL2NsYXVzZS5wcm90bxIRYnVja2V0ZWVyLmF1dG9vcHMaGWdvb2dsZS9wcm90b2J1Zi9hbnkucHJvdG8ihgEKBkNsYXVzZRIOCgJpZBgBIAEoCVICaWQSLAoGY2xhdXNlGAIgASgLMhQuZ29vZ2xlLnByb3RvYnVmLkFueVIGY2xhdXNlEj4KC2FjdGlvbl90eXBlGAMgASgOMh0uYnVja2V0ZWVyLmF1dG9vcHMuQWN0aW9uVHlwZVIKYWN0aW9uVHlwZSLfAgoST3BzRXZlbnRSYXRlQ2xhdXNlEiEKDHZhcmlhdGlvbl9pZBgCIAEoCVILdmFyaWF0aW9uSWQSFwoHZ29hbF9pZBgDIAEoCVIGZ29hbElkEhsKCW1pbl9jb3VudBgEIAEoA1IIbWluQ291bnQSKQoQdGhyZWFkc2hvbGRfcmF0ZRgFIAEoAVIPdGhyZWFkc2hvbGRSYXRlEkoKCG9wZXJhdG9yGAYgASgOMi4uYnVja2V0ZWVyLmF1dG9vcHMuT3BzRXZlbnRSYXRlQ2xhdXNlLk9wZXJhdG9yUghvcGVyYXRvchI+CgthY3Rpb25fdHlwZRgHIAEoDjIdLmJ1Y2tldGVlci5hdXRvb3BzLkFjdGlvblR5cGVSCmFjdGlvblR5cGUiMwoIT3BlcmF0b3ISFAoQR1JFQVRFUl9PUl9FUVVBTBAAEhEKDUxFU1NfT1JfRVFVQUwQAUoECAEQAiJkCg5EYXRldGltZUNsYXVzZRISCgR0aW1lGAEgASgDUgR0aW1lEj4KC2FjdGlvbl90eXBlGAIgASgOMh0uYnVja2V0ZWVyLmF1dG9vcHMuQWN0aW9uVHlwZVIKYWN0aW9uVHlwZSKXAQoaUHJvZ3Jlc3NpdmVSb2xsb3V0U2NoZWR1bGUSHwoLc2NoZWR1bGVfaWQYASABKAlSCnNjaGVkdWxlSWQSHQoKZXhlY3V0ZV9hdBgCIAEoA1IJZXhlY3V0ZUF0EhYKBndlaWdodBgDIAEoBVIGd2VpZ2h0EiEKDHRyaWdnZXJlZF9hdBgEIAEoA1ILdHJpZ2dlcmVkQXQimAEKJlByb2dyZXNzaXZlUm9sbG91dE1hbnVhbFNjaGVkdWxlQ2xhdXNlEksKCXNjaGVkdWxlcxgBIAMoCzItLmJ1Y2tldGVlci5hdXRvb3BzLlByb2dyZXNzaXZlUm9sbG91dFNjaGVkdWxlUglzY2hlZHVsZXMSIQoMdmFyaWF0aW9uX2lkGAIgASgJUgt2YXJpYXRpb25JZCLYAgooUHJvZ3Jlc3NpdmVSb2xsb3V0VGVtcGxhdGVTY2hlZHVsZUNsYXVzZRJLCglzY2hlZHVsZXMYASADKAsyLS5idWNrZXRlZXIuYXV0b29wcy5Qcm9ncmVzc2l2ZVJvbGxvdXRTY2hlZHVsZVIJc2NoZWR1bGVzEmAKCGludGVydmFsGAIgASgOMkQuYnVja2V0ZWVyLmF1dG9vcHMuUHJvZ3Jlc3NpdmVSb2xsb3V0VGVtcGxhdGVTY2hlZHVsZUNsYXVzZS5JbnRlcnZhbFIIaW50ZXJ2YWwSHgoKaW5jcmVtZW50cxgDIAEoA1IKaW5jcmVtZW50cxIhCgx2YXJpYXRpb25faWQYBCABKAlSC3ZhcmlhdGlvbklkIjoKCEludGVydmFsEgsKB1VOS05PV04QABIKCgZIT1VSTFkQARIJCgVEQUlMWRACEgoKBldFRUtMWRADKjIKCkFjdGlvblR5cGUSCwoHVU5LTk9XThAAEgoKBkVOQUJMRRABEgsKB0RJU0FCTEUQAkIxWi9naXRodWIuY29tL2J1Y2tldGVlci1pby9idWNrZXRlZXIvcHJvdG8vYXV0b29wc2IGcHJvdG8zCr0FCiFwcm90by9hdXRvb3BzL2F1dG9fb3BzX3J1bGUucHJvdG8SEWJ1Y2tldGVlci5hdXRvb3BzGhpwcm90by9hdXRvb3BzL2NsYXVzZS5wcm90byLQAgoLQXV0b09wc1J1bGUSDgoCaWQYASABKAlSAmlkEh0KCmZlYXR1cmVfaWQYAiABKAlSCWZlYXR1cmVJZBI1CghvcHNfdHlwZRgDIAEoDjIaLmJ1Y2tldGVlci5hdXRvb3BzLk9wc1R5cGVSB29wc1R5cGUSMwoHY2xhdXNlcxgEIAMoCzIZLmJ1Y2tldGVlci5hdXRvb3BzLkNsYXVzZVIHY2xhdXNlcxIdCgpjcmVhdGVkX2F0GAcgASgDUgljcmVhdGVkQXQSHQoKdXBkYXRlZF9hdBgIIAEoA1IJdXBkYXRlZEF0EhgKB2RlbGV0ZWQYCSABKAhSB2RlbGV0ZWQSSAoPYXV0b19vcHNfc3RhdHVzGAogASgOMiAuYnVja2V0ZWVyLmF1dG9vcHMuQXV0b09wc1N0YXR1c1INYXV0b09wc1N0YXR1c0oECAYQByJUCgxBdXRvT3BzUnVsZXMSRAoOYXV0b19vcHNfcnVsZXMYASADKAsyHi5idWNrZXRlZXIuYXV0b29wcy5BdXRvT3BzUnVsZVIMYXV0b09wc1J1bGVzKj8KB09wc1R5cGUSEAoMVFlQRV9VTktOT1dOEAASDAoIU0NIRURVTEUQAhIOCgpFVkVOVF9SQVRFEAMiBAgBEAEqRAoNQXV0b09wc1N0YXR1cxILCgdXQUlUSU5HEAASCwoHUlVOTklORxABEgwKCEZJTklTSEVEEAISCwoHU1RPUFBFRBADQjFaL2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9hdXRvb3BzYgZwcm90bzMK8AMKInByb3RvL25vdGlmaWNhdGlvbi9yZWNpcGllbnQucHJvdG8SFmJ1Y2tldGVlci5ub3RpZmljYXRpb24itwIKCVJlY2lwaWVudBI6CgR0eXBlGAEgASgOMiYuYnVja2V0ZWVyLm5vdGlmaWNhdGlvbi5SZWNpcGllbnQuVHlwZVIEdHlwZRJlChdzbGFja19jaGFubmVsX3JlY2lwaWVudBgCIAEoCzItLmJ1Y2tldGVlci5ub3RpZmljYXRpb24uU2xhY2tDaGFubmVsUmVjaXBpZW50UhVzbGFja0NoYW5uZWxSZWNpcGllbnQSRgoIbGFuZ3VhZ2UYAyABKA4yKi5idWNrZXRlZXIubm90aWZpY2F0aW9uLlJlY2lwaWVudC5MYW5ndWFnZVIIbGFuZ3VhZ2UiGAoEVHlwZRIQCgxTbGFja0NoYW5uZWwQACIlCghMYW5ndWFnZRILCgdFTkdMSVNIEAASDAoISkFQQU5FU0UQASI4ChVTbGFja0NoYW5uZWxSZWNpcGllbnQSHwoLd2ViaG9va191cmwYASABKAlSCndlYmhvb2tVcmxCNlo0Z2l0aHViLmNvbS9idWNrZXRlZXItaW8vYnVja2V0ZWVyL3Byb3RvL25vdGlmaWNhdGlvbmIGcHJvdG8zCuUICiVwcm90by9ub3RpZmljYXRpb24vc3Vic2NyaXB0aW9uLnByb3RvEhZidWNrZXRlZXIubm90aWZpY2F0aW9uGiJwcm90by9ub3RpZmljYXRpb24vcmVjaXBpZW50LnByb3RvIr8HCgxTdWJzY3JpcHRpb24SDgoCaWQYASABKAlSAmlkEh0KCmNyZWF0ZWRfYXQYAiABKANSCWNyZWF0ZWRBdBIdCgp1cGRhdGVkX2F0GAMgASgDUgl1cGRhdGVkQXQSGgoIZGlzYWJsZWQYBCABKAhSCGRpc2FibGVkElIKDHNvdXJjZV90eXBlcxgFIAMoDjIvLmJ1Y2tldGVlci5ub3RpZmljYXRpb24uU3Vic2NyaXB0aW9uLlNvdXJjZVR5cGVSC3NvdXJjZVR5cGVzEj8KCXJlY2lwaWVudBgGIAEoCzIhLmJ1Y2tldGVlci5ub3RpZmljYXRpb24uUmVjaXBpZW50UglyZWNpcGllbnQSEgoEbmFtZRgHIAEoCVIEbmFtZRIlCg5lbnZpcm9ubWVudF9pZBgIIAEoCVINZW52aXJvbm1lbnRJZBIpChBlbnZpcm9ubWVudF9uYW1lGAkgASgJUg9lbnZpcm9ubWVudE5hbWUiyQQKClNvdXJjZVR5cGUSGAoURE9NQUlOX0VWRU5UX0ZFQVRVUkUQABIVChFET01BSU5fRVZFTlRfR09BTBABEhsKF0RPTUFJTl9FVkVOVF9FWFBFUklNRU5UEAISGAoURE9NQUlOX0VWRU5UX0FDQ09VTlQQAxIXChNET01BSU5fRVZFTlRfQVBJS0VZEAQSGAoURE9NQUlOX0VWRU5UX1NFR01FTlQQBRIcChhET01BSU5fRVZFTlRfRU5WSVJPTk1FTlQQBhIeChpET01BSU5fRVZFTlRfQURNSU5fQUNDT1VOVBAHEh0KGURPTUFJTl9FVkVOVF9BVVRPT1BTX1JVTEUQCBIVChFET01BSU5fRVZFTlRfUFVTSBAJEh0KGURPTUFJTl9FVkVOVF9TVUJTQ1JJUFRJT04QChIjCh9ET01BSU5fRVZFTlRfQURNSU5fU1VCU0NSSVBUSU9OEAsSGAoURE9NQUlOX0VWRU5UX1BST0pFQ1QQDBIYChRET01BSU5fRVZFTlRfV0VCSE9PSxANEiQKIERPTUFJTl9FVkVOVF9QUk9HUkVTU0lWRV9ST0xMT1VUEA4SHQoZRE9NQUlOX0VWRU5UX09SR0FOSVpBVElPThAPEh0KGURPTUFJTl9FVkVOVF9GTEFHX1RSSUdHRVIQEBIUChBET01BSU5fRVZFTlRfVEFHEBESEQoNRkVBVFVSRV9TVEFMRRBkEhcKEkVYUEVSSU1FTlRfUlVOTklORxDIARIOCglNQVVfQ09VTlQQrAJCNlo0Z2l0aHViLmNvbS9idWNrZXRlZXItaW8vYnVja2V0ZWVyL3Byb3RvL25vdGlmaWNhdGlvbmIGcHJvdG8zCvcFCidwcm90by9hdXRvb3BzL3Byb2dyZXNzaXZlX3JvbGxvdXQucHJvdG8SEWJ1Y2tldGVlci5hdXRvb3BzGhlnb29nbGUvcHJvdG9idWYvYW55LnByb3RvIuIEChJQcm9ncmVzc2l2ZVJvbGxvdXQSDgoCaWQYASABKAlSAmlkEh0KCmZlYXR1cmVfaWQYAiABKAlSCWZlYXR1cmVJZBIsCgZjbGF1c2UYAyABKAsyFC5nb29nbGUucHJvdG9idWYuQW55UgZjbGF1c2USRAoGc3RhdHVzGAQgASgOMiwuYnVja2V0ZWVyLmF1dG9vcHMuUHJvZ3Jlc3NpdmVSb2xsb3V0LlN0YXR1c1IGc3RhdHVzEh0KCmNyZWF0ZWRfYXQYBSABKANSCWNyZWF0ZWRBdBIdCgp1cGRhdGVkX2F0GAYgASgDUgl1cGRhdGVkQXQSPgoEdHlwZRgHIAEoDjIqLmJ1Y2tldGVlci5hdXRvb3BzLlByb2dyZXNzaXZlUm9sbG91dC5UeXBlUgR0eXBlEk4KCnN0b3BwZWRfYnkYCCABKA4yLy5idWNrZXRlZXIuYXV0b29wcy5Qcm9ncmVzc2l2ZVJvbGxvdXQuU3RvcHBlZEJ5UglzdG9wcGVkQnkSHQoKc3RvcHBlZF9hdBgJIAEoA1IJc3RvcHBlZEF0IjIKBFR5cGUSEwoPTUFOVUFMX1NDSEVEVUxFEAASFQoRVEVNUExBVEVfU0NIRURVTEUQASI9CgZTdGF0dXMSCwoHV0FJVElORxAAEgsKB1JVTk5JTkcQARIMCghGSU5JU0hFRBACEgsKB1NUT1BQRUQQAyJJCglTdG9wcGVkQnkSCwoHVU5LTk9XThAAEggKBFVTRVIQARIQCgxPUFNfU0NIRURVTEUQAhITCg9PUFNfS0lMTF9TV0lUQ0gQA0IxWi9naXRodWIuY29tL2J1Y2tldGVlci1pby9idWNrZXRlZXIvcHJvdG8vYXV0b29wc2IGcHJvdG8zCqAFCiBwcm90by9mZWF0dXJlL2ZsYWdfdHJpZ2dlci5wcm90bxIRYnVja2V0ZWVyLmZlYXR1cmUirQQKC0ZsYWdUcmlnZ2VyEg4KAmlkGAEgASgJUgJpZBIdCgpmZWF0dXJlX2lkGAIgASgJUglmZWF0dXJlSWQSNwoEdHlwZRgEIAEoDjIjLmJ1Y2tldGVlci5mZWF0dXJlLkZsYWdUcmlnZ2VyLlR5cGVSBHR5cGUSPQoGYWN0aW9uGAUgASgOMiUuYnVja2V0ZWVyLmZlYXR1cmUuRmxhZ1RyaWdnZXIuQWN0aW9uUgZhY3Rpb24SIAoLZGVzY3JpcHRpb24YBiABKAlSC2Rlc2NyaXB0aW9uEiMKDXRyaWdnZXJfY291bnQYByABKAVSDHRyaWdnZXJDb3VudBIqChFsYXN0X3RyaWdnZXJlZF9hdBgIIAEoA1IPbGFzdFRyaWdnZXJlZEF0EhQKBXRva2VuGAkgASgJUgV0b2tlbhIaCghkaXNhYmxlZBgKIAEoCFIIZGlzYWJsZWQSHQoKY3JlYXRlZF9hdBgLIAEoA1IJY3JlYXRlZEF0Eh0KCnVwZGF0ZWRfYXQYDCABKANSCXVwZGF0ZWRBdBIlCg5lbnZpcm9ubWVudF9pZBgNIAEoCVINZW52aXJvbm1lbnRJZCIqCgRUeXBlEhAKDFR5cGVfVU5LTk9XThAAEhAKDFR5cGVfV0VCSE9PSxABIjsKBkFjdGlvbhISCg5BY3Rpb25fVU5LTk9XThAAEg0KCUFjdGlvbl9PThABEg4KCkFjdGlvbl9PRkYQAkoECAMQBEIxWi9naXRodWIuY29tL2J1Y2tldGVlci1pby9idWNrZXRlZXIvcHJvdG8vZmVhdHVyZWIGcHJvdG8zCuYCChNwcm90by90YWcvdGFnLnByb3RvEg1idWNrZXRlZXIudGFnIogCCgNUYWcSDgoCaWQYASABKAlSAmlkEhIKBG5hbWUYAiABKAlSBG5hbWUSHQoKY3JlYXRlZF9hdBgDIAEoA1IJY3JlYXRlZEF0Eh0KCnVwZGF0ZWRfYXQYBCABKANSCXVwZGF0ZWRBdBI+CgtlbnRpdHlfdHlwZRgFIAEoDjIdLmJ1Y2tldGVlci50YWcuVGFnLkVudGl0eVR5cGVSCmVudGl0eVR5cGUSJQoOZW52aXJvbm1lbnRfaWQYBiABKAlSDWVudmlyb25tZW50SWQiOAoKRW50aXR5VHlwZRILCgdVTktOT1dOEAASEAoMRkVBVFVSRV9GTEFHEAESCwoHQUNDT1VOVBACQi1aK2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by90YWdiBnByb3RvMwq8BwohcHJvdG8vZXhwZXJpbWVudC9leHBlcmltZW50LnByb3RvEhRidWNrZXRlZXIuZXhwZXJpbWVudBodcHJvdG8vZmVhdHVyZS92YXJpYXRpb24ucHJvdG8i0AUKCkV4cGVyaW1lbnQSDgoCaWQYASABKAlSAmlkEhsKB2dvYWxfaWQYAiABKAlCAhgBUgZnb2FsSWQSHQoKZmVhdHVyZV9pZBgDIAEoCVIJZmVhdHVyZUlkEicKD2ZlYXR1cmVfdmVyc2lvbhgEIAEoBVIOZmVhdHVyZVZlcnNpb24SPAoKdmFyaWF0aW9ucxgFIAMoCzIcLmJ1Y2tldGVlci5mZWF0dXJlLlZhcmlhdGlvblIKdmFyaWF0aW9ucxIZCghzdGFydF9hdBgGIAEoA1IHc3RhcnRBdBIXCgdzdG9wX2F0GAcgASgDUgZzdG9wQXQSHAoHc3RvcHBlZBgIIAEoCEICGAFSB3N0b3BwZWQSIQoKc3RvcHBlZF9hdBgJIAEoA0ICMAFSCXN0b3BwZWRBdBIdCgpjcmVhdGVkX2F0GAogASgDUgljcmVhdGVkQXQSHQoKdXBkYXRlZF9hdBgLIAEoA1IJdXBkYXRlZEF0EhgKB2RlbGV0ZWQYDCABKAhSB2RlbGV0ZWQSGQoIZ29hbF9pZHMYDSADKAlSB2dvYWxJZHMSEgoEbmFtZRgOIAEoCVIEbmFtZRIgCgtkZXNjcmlwdGlvbhgPIAEoCVILZGVzY3JpcHRpb24SKgoRYmFzZV92YXJpYXRpb25faWQYECABKAlSD2Jhc2VWYXJpYXRpb25JZBI/CgZzdGF0dXMYEiABKA4yJy5idWNrZXRlZXIuZXhwZXJpbWVudC5FeHBlcmltZW50LlN0YXR1c1IGc3RhdHVzEh4KCm1haW50YWluZXIYEyABKAlSCm1haW50YWluZXISGgoIYXJjaGl2ZWQYFCABKAhSCGFyY2hpdmVkIkIKBlN0YXR1cxILCgdXQUlUSU5HEAASCwoHUlVOTklORxABEgsKB1NUT1BQRUQQAhIRCg1GT1JDRV9TVE9QUEVEEANKBAgREBIiUQoLRXhwZXJpbWVudHMSQgoLZXhwZXJpbWVudHMYASADKAsyIC5idWNrZXRlZXIuZXhwZXJpbWVudC5FeHBlcmltZW50UgtleHBlcmltZW50c0I0WjJnaXRodWIuY29tL2J1Y2tldGVlci1pby9idWNrZXRlZXIvcHJvdG8vZXhwZXJpbWVudGIGcHJvdG8zCr8FChtwcm90by9leHBlcmltZW50L2dvYWwucHJvdG8SFGJ1Y2tldGVlci5leHBlcmltZW50GiFwcm90by9leHBlcmltZW50L2V4cGVyaW1lbnQucHJvdG8aIXByb3RvL2F1dG9vcHMvYXV0b19vcHNfcnVsZS5wcm90byKFBAoER29hbBIOCgJpZBgBIAEoCVICaWQSEgoEbmFtZRgCIAEoCVIEbmFtZRIgCgtkZXNjcmlwdGlvbhgDIAEoCVILZGVzY3JpcHRpb24SGAoHZGVsZXRlZBgEIAEoCFIHZGVsZXRlZBIdCgpjcmVhdGVkX2F0GAUgASgDUgljcmVhdGVkQXQSHQoKdXBkYXRlZF9hdBgGIAEoA1IJdXBkYXRlZEF0EicKEGlzX2luX3VzZV9zdGF0dXMYByABKAhSDWlzSW5Vc2VTdGF0dXMSGgoIYXJjaGl2ZWQYCCABKAhSCGFyY2hpdmVkElIKD2Nvbm5lY3Rpb25fdHlwZRgJIAEoDjIpLmJ1Y2tldGVlci5leHBlcmltZW50LkdvYWwuQ29ubmVjdGlvblR5cGVSDmNvbm5lY3Rpb25UeXBlEkIKC2V4cGVyaW1lbnRzGAogAygLMiAuYnVja2V0ZWVyLmV4cGVyaW1lbnQuRXhwZXJpbWVudFILZXhwZXJpbWVudHMSRAoOYXV0b19vcHNfcnVsZXMYCyADKAsyHi5idWNrZXRlZXIuYXV0b29wcy5BdXRvT3BzUnVsZVIMYXV0b09wc1J1bGVzIjwKDkNvbm5lY3Rpb25UeXBlEgsKB1VOS05PV04QABIOCgpFWFBFUklNRU5UEAESDQoJT1BFUkFUSU9OEAJCNFoyZ2l0aHViLmNvbS9idWNrZXRlZXItaW8vYnVja2V0ZWVyL3Byb3RvL2V4cGVyaW1lbnRiBnByb3RvMwqDzgEKHnByb3RvL2V2ZW50L2RvbWFpbi9ldmVudC5wcm90bxIWYnVja2V0ZWVyLmV2ZW50LmRvbWFpbhoZZ29vZ2xlL3Byb3RvYnVmL2FueS5wcm90bxoeZ29vZ2xlL3Byb3RvYnVmL3dyYXBwZXJzLnByb3RvGhpwcm90by9mZWF0dXJlL2NsYXVzZS5wcm90bxobcHJvdG8vZmVhdHVyZS9mZWF0dXJlLnByb3RvGhhwcm90by9mZWF0dXJlL3J1bGUucHJvdG8aHXByb3RvL2ZlYXR1cmUvdmFyaWF0aW9uLnByb3RvGhxwcm90by9mZWF0dXJlL3N0cmF0ZWd5LnByb3RvGhtwcm90by9mZWF0dXJlL3NlZ21lbnQucHJvdG8aGnByb3RvL2ZlYXR1cmUvdGFyZ2V0LnByb3RvGhtwcm90by9hY2NvdW50L2FjY291bnQucHJvdG8aG3Byb3RvL2FjY291bnQvYXBpX2tleS5wcm90bxohcHJvdG8vYXV0b29wcy9hdXRvX29wc19ydWxlLnByb3RvGhpwcm90by9hdXRvb3BzL2NsYXVzZS5wcm90bxolcHJvdG8vbm90aWZpY2F0aW9uL3N1YnNjcmlwdGlvbi5wcm90bxoicHJvdG8vbm90aWZpY2F0aW9uL3JlY2lwaWVudC5wcm90bxogcHJvdG8vZmVhdHVyZS9wcmVyZXF1aXNpdGUucHJvdG8aJ3Byb3RvL2F1dG9vcHMvcHJvZ3Jlc3NpdmVfcm9sbG91dC5wcm90bxogcHJvdG8vZmVhdHVyZS9mbGFnX3RyaWdnZXIucHJvdG8aIXByb3RvL2FjY291bnQvc2VhcmNoX2ZpbHRlci5wcm90bxoTcHJvdG8vdGFnL3RhZy5wcm90bxobcHJvdG8vZXhwZXJpbWVudC9nb2FsLnByb3RvIpIvCgVFdmVudBIOCgJpZBgBIAEoCVICaWQSHAoJdGltZXN0YW1wGAIgASgDUgl0aW1lc3RhbXASSQoLZW50aXR5X3R5cGUYAyABKA4yKC5idWNrZXRlZXIuZXZlbnQuZG9tYWluLkV2ZW50LkVudGl0eVR5cGVSCmVudGl0eVR5cGUSGwoJZW50aXR5X2lkGAQgASgJUghlbnRpdHlJZBI2CgR0eXBlGAUgASgOMiIuYnVja2V0ZWVyLmV2ZW50LmRvbWFpbi5FdmVudC5UeXBlUgR0eXBlEjYKBmVkaXRvchgGIAEoCzIeLmJ1Y2tldGVlci5ldmVudC5kb21haW4uRWRpdG9yUgZlZGl0b3ISKAoEZGF0YRgHIAEoCzIULmdvb2dsZS5wcm90b2J1Zi5BbnlSBGRhdGESJAoOaXNfYWRtaW5fZXZlbnQYCSABKAhSDGlzQWRtaW5FdmVudBI5CgdvcHRpb25zGAogASgLMh8uYnVja2V0ZWVyLmV2ZW50LmRvbWFpbi5PcHRpb25zUgdvcHRpb25zEh8KC2VudGl0eV9kYXRhGAsgASgJUgplbnRpdHlEYXRhEjAKFHByZXZpb3VzX2VudGl0eV9kYXRhGAwgASgJUhJwcmV2aW91c0VudGl0eURhdGESJQoOZW52aXJvbm1lbnRfaWQYDSABKAlSDWVudmlyb25tZW50SWQinAIKCkVudGl0eVR5cGUSCwoHRkVBVFVSRRAAEggKBEdPQUwQARIOCgpFWFBFUklNRU5UEAISCwoHQUNDT1VOVBADEgoKBkFQSUtFWRAEEgsKB1NFR01FTlQQBRIPCgtFTlZJUk9OTUVOVBAGEhEKDUFETUlOX0FDQ09VTlQQBxIQCgxBVVRPT1BTX1JVTEUQCBIICgRQVVNIEAkSEAoMU1VCU0NSSVBUSU9OEAoSFgoSQURNSU5fU1VCU0NSSVBUSU9OEAsSCwoHUFJPSkVDVBAMEhcKE1BST0dSRVNTSVZFX1JPTExPVVQQDhIQCgxPUkdBTklaQVRJT04QDxIQCgxGTEFHX1RSSUdHRVIQEBIHCgNUQUcQESIECA0QDSLYKAoEVHlwZRILCgdVTktOT1dOEAASEwoPRkVBVFVSRV9DUkVBVEVEEAESEwoPRkVBVFVSRV9SRU5BTUVEEAISEwoPRkVBVFVSRV9FTkFCTEVEEAMSFAoQRkVBVFVSRV9ESVNBQkxFRBAEEhMKD0ZFQVRVUkVfREVMRVRFRBAFEh8KG0ZFQVRVUkVfREVTQ1JJUFRJT05fQ0hBTkdFRBAIEhsKF0ZFQVRVUkVfVkFSSUFUSU9OX0FEREVEEAkSHQoZRkVBVFVSRV9WQVJJQVRJT05fUkVNT1ZFRBAKEiEKHUZFQVRVUkVfT0ZGX1ZBUklBVElPTl9DSEFOR0VEEAsSGwoXVkFSSUFUSU9OX1ZBTFVFX0NIQU5HRUQQDBIaChZWQVJJQVRJT05fTkFNRV9DSEFOR0VEEA0SIQodVkFSSUFUSU9OX0RFU0NSSVBUSU9OX0NIQU5HRUQQDhIYChRWQVJJQVRJT05fVVNFUl9BRERFRBAPEhoKFlZBUklBVElPTl9VU0VSX1JFTU9WRUQQEBIWChJGRUFUVVJFX1JVTEVfQURERUQQERIhCh1GRUFUVVJFX1JVTEVfU1RSQVRFR1lfQ0hBTkdFRBASEhgKFEZFQVRVUkVfUlVMRV9ERUxFVEVEEBMSFQoRUlVMRV9DTEFVU0VfQURERUQQFBIXChNSVUxFX0NMQVVTRV9ERUxFVEVEEBUSHwobUlVMRV9GSVhFRF9TVFJBVEVHWV9DSEFOR0VEEBYSIQodUlVMRV9ST0xMT1VUX1NUUkFURUdZX0NIQU5HRUQQFxIcChhDTEFVU0VfQVRUUklCVVRFX0NIQU5HRUQQGBIbChdDTEFVU0VfT1BFUkFUT1JfQ0hBTkdFRBAZEhYKEkNMQVVTRV9WQUxVRV9BRERFRBAaEhgKFENMQVVTRV9WQUxVRV9SRU1PVkVEEBsSJAogRkVBVFVSRV9ERUZBVUxUX1NUUkFURUdZX0NIQU5HRUQQHBIVChFGRUFUVVJFX1RBR19BRERFRBAdEhcKE0ZFQVRVUkVfVEFHX1JFTU9WRUQQHhIfChtGRUFUVVJFX1ZFUlNJT05fSU5DUkVNRU5URUQQHxIUChBGRUFUVVJFX0FSQ0hJVkVEECASEgoORkVBVFVSRV9DTE9ORUQQIRIWChJGRUFUVVJFX1VOQVJDSElWRUQQIxIXChNTQU1QTElOR19TRUVEX1JFU0VUECISFgoSUFJFUkVRVUlTSVRFX0FEREVEECQSGAoUUFJFUkVRVUlTSVRFX1JFTU9WRUQQJRIiCh5QUkVSRVFVSVNJVEVfVkFSSUFUSU9OX0NIQU5HRUQQJhIfChtGRUFUVVJFX1JVTEVTX09SREVSX0NIQU5HRUQQJxITCg9GRUFUVVJFX1VQREFURUQQKBIQCgxHT0FMX0NSRUFURUQQZBIQCgxHT0FMX1JFTkFNRUQQZRIcChhHT0FMX0RFU0NSSVBUSU9OX0NIQU5HRUQQZhIQCgxHT0FMX0RFTEVURUQQZxIRCg1HT0FMX0FSQ0hJVkVEEGgSEAoMR09BTF9VUERBVEVEEGkSFwoSRVhQRVJJTUVOVF9DUkVBVEVEEMgBEhcKEkVYUEVSSU1FTlRfU1RPUFBFRBDJARIgChtFWFBFUklNRU5UX1NUQVJUX0FUX0NIQU5HRUQQygESHwoaRVhQRVJJTUVOVF9TVE9QX0FUX0NIQU5HRUQQywESFwoSRVhQRVJJTUVOVF9ERUxFVEVEEMwBEh4KGUVYUEVSSU1FTlRfUEVSSU9EX0NIQU5HRUQQzQESHAoXRVhQRVJJTUVOVF9OQU1FX0NIQU5HRUQQzgESIwoeRVhQRVJJTUVOVF9ERVNDUklQVElPTl9DSEFOR0VEEM8BEhcKEkVYUEVSSU1FTlRfU1RBUlRFRBDQARIYChNFWFBFUklNRU5UX0ZJTklTSEVEENEBEhgKE0VYUEVSSU1FTlRfQVJDSElWRUQQ0gESGAoPQUNDT1VOVF9DUkVBVEVEEKwCGgIIARIdChRBQ0NPVU5UX1JPTEVfQ0hBTkdFRBCtAhoCCAESGAoPQUNDT1VOVF9FTkFCTEVEEK4CGgIIARIZChBBQ0NPVU5UX0RJU0FCTEVEEK8CGgIIARIYCg9BQ0NPVU5UX0RFTEVURUQQsAIaAggBEhcKEkFDQ09VTlRfVjJfQ1JFQVRFRBCxAhIcChdBQ0NPVU5UX1YyX05BTUVfQ0hBTkdFRBCyAhIoCiNBQ0NPVU5UX1YyX0FWQVRBUl9JTUFHRV9VUkxfQ0hBTkdFRBCzAhIpCiRBQ0NPVU5UX1YyX09SR0FOSVpBVElPTl9ST0xFX0NIQU5HRUQQtAISKQokQUNDT1VOVF9WMl9FTlZJUk9OTUVOVF9ST0xFU19DSEFOR0VEELUCEhcKEkFDQ09VTlRfVjJfRU5BQkxFRBC2AhIYChNBQ0NPVU5UX1YyX0RJU0FCTEVEELcCEhcKEkFDQ09VTlRfVjJfREVMRVRFRBC4AhIlCiBBQ0NPVU5UX1YyX0NSRUFURURfU0VBUkNIX0ZJTFRFUhC5AhIqCiVBQ0NPVU5UX1YyX1NFQVJDSF9GSUxURVJfTkFORV9DSEFOR0VEELoCEisKJkFDQ09VTlRfVjJfU0VBUkNIX0ZJTFRFUl9RVUVSWV9DSEFOR0VEELsCEi0KKEFDQ09VTlRfVjJfU0VBUkNIX0ZJTFRFUl9ERUZBVUxUX0NIQU5HRUQQvAISJQogQUNDT1VOVF9WMl9TRUFSQ0hfRklMVEVSX0RFTEVURUQQvQISIgodQUNDT1VOVF9WMl9GSVJTVF9OQU1FX0NIQU5HRUQQvgISIQocQUNDT1VOVF9WMl9MQVNUX05BTUVfQ0hBTkdFRBC/AhIgChtBQ0NPVU5UX1YyX0xBTkdVQUdFX0NIQU5HRUQQwAISFwoSQUNDT1VOVF9WMl9VUERBVEVEEMECEhwKF0FDQ09VTlRfVjJfVEFHU19DSEFOR0VEEMICEhMKDkFQSUtFWV9DUkVBVEVEEJADEhgKE0FQSUtFWV9OQU1FX0NIQU5HRUQQkQMSEwoOQVBJS0VZX0VOQUJMRUQQkgMSFAoPQVBJS0VZX0RJU0FCTEVEEJMDEhMKDkFQSUtFWV9DSEFOR0VEEJQDEhQKD1NFR01FTlRfQ1JFQVRFRBD0AxIUCg9TRUdNRU5UX0RFTEVURUQQ9QMSGQoUU0VHTUVOVF9OQU1FX0NIQU5HRUQQ9gMSIAobU0VHTUVOVF9ERVNDUklQVElPTl9DSEFOR0VEEPcDEhcKElNFR01FTlRfUlVMRV9BRERFRBD4AxIZChRTRUdNRU5UX1JVTEVfREVMRVRFRBD5AxIeChlTRUdNRU5UX1JVTEVfQ0xBVVNFX0FEREVEEPoDEiAKG1NFR01FTlRfUlVMRV9DTEFVU0VfREVMRVRFRBD7AxIlCiBTRUdNRU5UX0NMQVVTRV9BVFRSSUJVVEVfQ0hBTkdFRBD8AxIkCh9TRUdNRU5UX0NMQVVTRV9PUEVSQVRPUl9DSEFOR0VEEP0DEh8KGlNFR01FTlRfQ0xBVVNFX1ZBTFVFX0FEREVEEP4DEiEKHFNFR01FTlRfQ0xBVVNFX1ZBTFVFX1JFTU9WRUQQ/wMSFwoSU0VHTUVOVF9VU0VSX0FEREVEEIAEEhkKFFNFR01FTlRfVVNFUl9ERUxFVEVEEIEEEh4KGVNFR01FTlRfQlVMS19VUExPQURfVVNFUlMQggQSLQooU0VHTUVOVF9CVUxLX1VQTE9BRF9VU0VSU19TVEFUVVNfQ0hBTkdFRBCDBBIUCg9TRUdNRU5UX1VQREFURUQQhAQSGAoTRU5WSVJPTk1FTlRfQ1JFQVRFRBDYBBIYChNFTlZJUk9OTUVOVF9SRU5BTUVEENkEEiQKH0VOVklST05NRU5UX0RFU0NSSVBUSU9OX0NIQU5HRUQQ2gQSGAoTRU5WSVJPTk1FTlRfREVMRVRFRBDbBBIbChZFTlZJUk9OTUVOVF9WMl9DUkVBVEVEENwEEhsKFkVOVklST05NRU5UX1YyX1JFTkFNRUQQ3QQSJwoiRU5WSVJPTk1FTlRfVjJfREVTQ1JJUFRJT05fQ0hBTkdFRBDeBBIcChdFTlZJUk9OTUVOVF9WMl9BUkNISVZFRBDfBBIeChlFTlZJUk9OTUVOVF9WMl9VTkFSQ0hJVkVEEOAEEisKJkVOVklST05NRU5UX1YyX1JFUVVJUkVfQ09NTUVOVF9DSEFOR0VEEOEEEh4KFUFETUlOX0FDQ09VTlRfQ1JFQVRFRBC8BRoCCAESHgoVQURNSU5fQUNDT1VOVF9FTkFCTEVEEL4FGgIIARIfChZBRE1JTl9BQ0NPVU5UX0RJU0FCTEVEEL8FGgIIARIZChRBVVRPT1BTX1JVTEVfQ1JFQVRFRBCgBhIZChRBVVRPT1BTX1JVTEVfREVMRVRFRBChBhIiCh1BVVRPT1BTX1JVTEVfT1BTX1RZUEVfQ0hBTkdFRBCiBhIgChtBVVRPT1BTX1JVTEVfQ0xBVVNFX0RFTEVURUQQowYSKgohQVVUT09QU19SVUxFX1RSSUdHRVJFRF9BVF9DSEFOR0VEEKQGGgIIARIgChtPUFNfRVZFTlRfUkFURV9DTEFVU0VfQURERUQQpQYSIgodT1BTX0VWRU5UX1JBVEVfQ0xBVVNFX0NIQU5HRUQQpgYSGgoVREFURVRJTUVfQ0xBVVNFX0FEREVEEKcGEhwKF0RBVEVUSU1FX0NMQVVTRV9DSEFOR0VEEKgGEhkKFEFVVE9PUFNfUlVMRV9TVE9QUEVEEKkGEiQKH0FVVE9PUFNfUlVMRV9PUFNfU1RBVFVTX0NIQU5HRUQQqgYSEQoMUFVTSF9DUkVBVEVEEIQHEhEKDFBVU0hfREVMRVRFRBCFBxIUCg9QVVNIX1RBR1NfQURERUQQhgcSFgoRUFVTSF9UQUdTX0RFTEVURUQQhwcSEQoMUFVTSF9SRU5BTUVEEIgHEhEKDFBVU0hfVVBEQVRFRBCJBxIZChRTVUJTQ1JJUFRJT05fQ1JFQVRFRBDoBxIZChRTVUJTQ1JJUFRJT05fREVMRVRFRBDpBxIZChRTVUJTQ1JJUFRJT05fRU5BQkxFRBDqBxIaChVTVUJTQ1JJUFRJT05fRElTQUJMRUQQ6wcSIwoeU1VCU0NSSVBUSU9OX1NPVVJDRV9UWVBFX0FEREVEEOwHEiUKIFNVQlNDUklQVElPTl9TT1VSQ0VfVFlQRV9ERUxFVEVEEO0HEhkKFFNVQlNDUklQVElPTl9SRU5BTUVEEO4HEhkKFFNVQlNDUklQVElPTl9VUERBVEVEEO8HEh8KGkFETUlOX1NVQlNDUklQVElPTl9DUkVBVEVEEMwIEh8KGkFETUlOX1NVQlNDUklQVElPTl9ERUxFVEVEEM0IEh8KGkFETUlOX1NVQlNDUklQVElPTl9FTkFCTEVEEM4IEiAKG0FETUlOX1NVQlNDUklQVElPTl9ESVNBQkxFRBDPCBIpCiRBRE1JTl9TVUJTQ1JJUFRJT05fU09VUkNFX1RZUEVfQURERUQQ0AgSKwomQURNSU5fU1VCU0NSSVBUSU9OX1NPVVJDRV9UWVBFX0RFTEVURUQQ0QgSHwoaQURNSU5fU1VCU0NSSVBUSU9OX1JFTkFNRUQQ0ggSFAoPUFJPSkVDVF9DUkVBVEVEELAJEiAKG1BST0pFQ1RfREVTQ1JJUFRJT05fQ0hBTkdFRBCxCRIUCg9QUk9KRUNUX0VOQUJMRUQQsgkSFQoQUFJPSkVDVF9ESVNBQkxFRBCzCRIaChVQUk9KRUNUX1RSSUFMX0NSRUFURUQQtAkSHAoXUFJPSkVDVF9UUklBTF9DT05WRVJURUQQtQkSFAoPUFJPSkVDVF9SRU5BTUVEELYJEiAKG1BST0dSRVNTSVZFX1JPTExPVVRfQ1JFQVRFRBD4ChIgChtQUk9HUkVTU0lWRV9ST0xMT1VUX0RFTEVURUQQ+QoSNgoxUFJPR1JFU1NJVkVfUk9MTE9VVF9TQ0hFRFVMRV9UUklHR0VSRURfQVRfQ0hBTkdFRBD6ChIgChtQUk9HUkVTU0lWRV9ST0xMT1VUX1NUT1BQRUQQ+woSGQoUT1JHQU5JWkFUSU9OX0NSRUFURUQQ3AsSHgoZT1JHQU5JWkFUSU9OX05BTUVfQ0hBTkdFRBDdCxIlCiBPUkdBTklaQVRJT05fREVTQ1JJUFRJT05fQ0hBTkdFRBDeCxIZChRPUkdBTklaQVRJT05fRU5BQkxFRBDfCxIaChVPUkdBTklaQVRJT05fRElTQUJMRUQQ4AsSGgoVT1JHQU5JWkFUSU9OX0FSQ0hJVkVEEOELEhwKF09SR0FOSVpBVElPTl9VTkFSQ0hJVkVEEOILEiEKHE9SR0FOSVpBVElPTl9UUklBTF9DT05WRVJURUQQ4wsSJQogT1JHQU5JWkFUSU9OX09XTkVSX0VNQUlMX0NIQU5HRUQQ5AsSGQoURkxBR19UUklHR0VSX0NSRUFURUQQwQwSFwoSRkxBR19UUklHR0VSX1JFU0VUEMIMEiUKIEZMQUdfVFJJR0dFUl9ERVNDUklQVElPTl9DSEFOR0VEEMMMEhoKFUZMQUdfVFJJR0dFUl9ESVNBQkxFRBDEDBIZChRGTEFHX1RSSUdHRVJfRU5BQkxFRBDFDBIZChRGTEFHX1RSSUdHRVJfREVMRVRFRBDGDBIfChpGTEFHX1RSSUdHRVJfVVNBR0VfVVBEQVRFRBDHDBIQCgtUQUdfQ1JFQVRFRBClDRIQCgtUQUdfREVMRVRFRBCmDSIGCJQKEJQKIgYIlQoQlQoiBgiWChCWCiIGCJcKEJcKIgYImAoQmAoiBgiZChCZCkoECAgQCSKMAgoGRWRpdG9yEhQKBWVtYWlsGAEgASgJUgVlbWFpbBIZCghpc19hZG1pbhgDIAEoCFIHaXNBZG1pbhISCgRuYW1lGAQgASgJUgRuYW1lEloKEXB1YmxpY19hcGlfZWRpdG9yGAUgASgLMi4uYnVja2V0ZWVyLmV2ZW50LmRvbWFpbi5FZGl0b3IuUHVibGljQVBJRWRpdG9yUg9wdWJsaWNBcGlFZGl0b3IaWwoPUHVibGljQVBJRWRpdG9yEhQKBXRva2VuGAEgASgJUgV0b2tlbhIeCgptYWludGFpbmVyGAIgASgJUgptYWludGFpbmVyEhIKBG5hbWUYAyABKAlSBG5hbWVKBAgCEAMiRAoHT3B0aW9ucxIYCgdjb21tZW50GAEgASgJUgdjb21tZW50Eh8KC25ld192ZXJzaW9uGAIgASgFUgpuZXdWZXJzaW9uIvMEChNGZWF0dXJlQ3JlYXRlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZBISCgRuYW1lGAIgASgJUgRuYW1lEiAKC2Rlc2NyaXB0aW9uGAMgASgJUgtkZXNjcmlwdGlvbhISCgR1c2VyGAQgASgJUgR1c2VyEjwKCnZhcmlhdGlvbnMYBSADKAsyHC5idWNrZXRlZXIuZmVhdHVyZS5WYXJpYXRpb25SCnZhcmlhdGlvbnMSWAoaZGVmYXVsdF9vbl92YXJpYXRpb25faW5kZXgYBiABKAsyGy5nb29nbGUucHJvdG9idWYuSW50MzJWYWx1ZVIXZGVmYXVsdE9uVmFyaWF0aW9uSW5kZXgSWgobZGVmYXVsdF9vZmZfdmFyaWF0aW9uX2luZGV4GAcgASgLMhsuZ29vZ2xlLnByb3RvYnVmLkludDMyVmFsdWVSGGRlZmF1bHRPZmZWYXJpYXRpb25JbmRleBJPCg52YXJpYXRpb25fdHlwZRgIIAEoDjIoLmJ1Y2tldGVlci5mZWF0dXJlLkZlYXR1cmUuVmFyaWF0aW9uVHlwZVINdmFyaWF0aW9uVHlwZRISCgR0YWdzGAkgAygJUgR0YWdzEkUKDXByZXJlcXVpc2l0ZXMYCiADKAsyHy5idWNrZXRlZXIuZmVhdHVyZS5QcmVyZXF1aXNpdGVSDXByZXJlcXVpc2l0ZXMSLQoFcnVsZXMYCyADKAsyFy5idWNrZXRlZXIuZmVhdHVyZS5SdWxlUgVydWxlcxIzCgd0YXJnZXRzGAwgAygLMhkuYnVja2V0ZWVyLmZlYXR1cmUuVGFyZ2V0Ugd0YXJnZXRzImYKE0ZlYXR1cmVVcGRhdGVkRXZlbnQSDgoCaWQYASABKAlSAmlkEhYKBGRhdGEYAiABKAlCAhgBUgRkYXRhEicKDXByZXZpb3VzX2RhdGEYAyABKAlCAhgBUgxwcmV2aW91c0RhdGEiJQoTRmVhdHVyZUVuYWJsZWRFdmVudBIOCgJpZBgBIAEoCVICaWQiJgoURmVhdHVyZURpc2FibGVkRXZlbnQSDgoCaWQYASABKAlSAmlkIiYKFEZlYXR1cmVBcmNoaXZlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZCIoChZGZWF0dXJlVW5hcmNoaXZlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZCIlChNGZWF0dXJlRGVsZXRlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZCItChtFdmFsdWF0aW9uRGVsYXlhYmxlU2V0RXZlbnQSDgoCaWQYASABKAlSAmlkIi8KHUV2YWx1YXRpb25VbmRlbGF5YWJsZVNldEV2ZW50Eg4KAmlkGAEgASgJUgJpZCI5ChNGZWF0dXJlUmVuYW1lZEV2ZW50Eg4KAmlkGAEgASgJUgJpZBISCgRuYW1lGAIgASgJUgRuYW1lIlIKHkZlYXR1cmVEZXNjcmlwdGlvbkNoYW5nZWRFdmVudBIOCgJpZBgBIAEoCVICaWQSIAoLZGVzY3JpcHRpb24YAiABKAlSC2Rlc2NyaXB0aW9uIlYKH0ZlYXR1cmVPZmZWYXJpYXRpb25DaGFuZ2VkRXZlbnQSDgoCaWQYASABKAlSAmlkEiMKDW9mZl92YXJpYXRpb24YAiABKAlSDG9mZlZhcmlhdGlvbiJoChpGZWF0dXJlVmFyaWF0aW9uQWRkZWRFdmVudBIOCgJpZBgBIAEoCVICaWQSOgoJdmFyaWF0aW9uGAIgASgLMhwuYnVja2V0ZWVyLmZlYXR1cmUuVmFyaWF0aW9uUgl2YXJpYXRpb24iUQocRmVhdHVyZVZhcmlhdGlvblJlbW92ZWRFdmVudBIOCgJpZBgBIAEoCVICaWQSIQoMdmFyaWF0aW9uX2lkGAIgASgJUgt2YXJpYXRpb25JZCJhChpWYXJpYXRpb25WYWx1ZUNoYW5nZWRFdmVudBIdCgpmZWF0dXJlX2lkGAEgASgJUglmZWF0dXJlSWQSDgoCaWQYAiABKAlSAmlkEhQKBXZhbHVlGAMgASgJUgV2YWx1ZSJeChlWYXJpYXRpb25OYW1lQ2hhbmdlZEV2ZW50Eh0KCmZlYXR1cmVfaWQYASABKAlSCWZlYXR1cmVJZBIOCgJpZBgCIAEoCVICaWQSEgoEbmFtZRgDIAEoCVIEbmFtZSJzCiBWYXJpYXRpb25EZXNjcmlwdGlvbkNoYW5nZWRFdmVudBIdCgpmZWF0dXJlX2lkGAEgASgJUglmZWF0dXJlSWQSDgoCaWQYAiABKAlSAmlkEiAKC2Rlc2NyaXB0aW9uGAMgASgJUgtkZXNjcmlwdGlvbiJcChdWYXJpYXRpb25Vc2VyQWRkZWRFdmVudBIdCgpmZWF0dXJlX2lkGAEgASgJUglmZWF0dXJlSWQSDgoCaWQYAiABKAlSAmlkEhIKBHVzZXIYAyABKAlSBHVzZXIiXgoZVmFyaWF0aW9uVXNlclJlbW92ZWRFdmVudBIdCgpmZWF0dXJlX2lkGAEgASgJUglmZWF0dXJlSWQSDgoCaWQYAiABKAlSAmlkEhIKBHVzZXIYAyABKAlSBHVzZXIiVAoVRmVhdHVyZVJ1bGVBZGRlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZBIrCgRydWxlGAIgASgLMhcuYnVja2V0ZWVyLmZlYXR1cmUuUnVsZVIEcnVsZSKRAQoeRmVhdHVyZUNoYW5nZVJ1bGVTdHJhdGVneUV2ZW50Eh0KCmZlYXR1cmVfaWQYASABKAlSCWZlYXR1cmVJZBIXCgdydWxlX2lkGAIgASgJUgZydWxlSWQSNwoIc3RyYXRlZ3kYAyABKAsyGy5idWNrZXRlZXIuZmVhdHVyZS5TdHJhdGVneVIIc3RyYXRlZ3kiWQodRmVhdHVyZVJ1bGVzT3JkZXJDaGFuZ2VkRXZlbnQSHQoKZmVhdHVyZV9pZBgBIAEoCVIJZmVhdHVyZUlkEhkKCHJ1bGVfaWRzGAIgAygJUgdydWxlSWRzIkIKF0ZlYXR1cmVSdWxlRGVsZXRlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZBIXCgdydWxlX2lkGAIgASgJUgZydWxlSWQimAEKIEZlYXR1cmVGaXhlZFN0cmF0ZWd5Q2hhbmdlZEV2ZW50Eh0KCmZlYXR1cmVfaWQYASABKAlSCWZlYXR1cmVJZBIXCgdydWxlX2lkGAIgASgJUgZydWxlSWQSPAoIc3RyYXRlZ3kYAyABKAsyIC5idWNrZXRlZXIuZmVhdHVyZS5GaXhlZFN0cmF0ZWd5UghzdHJhdGVneSKcAQoiRmVhdHVyZVJvbGxvdXRTdHJhdGVneUNoYW5nZWRFdmVudBIdCgpmZWF0dXJlX2lkGAEgASgJUglmZWF0dXJlSWQSFwoHcnVsZV9pZBgCIAEoCVIGcnVsZUlkEj4KCHN0cmF0ZWd5GAMgASgLMiIuYnVja2V0ZWVyLmZlYXR1cmUuUm9sbG91dFN0cmF0ZWd5UghzdHJhdGVneSKBAQoUUnVsZUNsYXVzZUFkZGVkRXZlbnQSHQoKZmVhdHVyZV9pZBgBIAEoCVIJZmVhdHVyZUlkEhcKB3J1bGVfaWQYAiABKAlSBnJ1bGVJZBIxCgZjbGF1c2UYAyABKAsyGS5idWNrZXRlZXIuZmVhdHVyZS5DbGF1c2VSBmNsYXVzZSJgChZSdWxlQ2xhdXNlRGVsZXRlZEV2ZW50Eh0KCmZlYXR1cmVfaWQYASABKAlSCWZlYXR1cmVJZBIXCgdydWxlX2lkGAIgASgJUgZydWxlSWQSDgoCaWQYAyABKAlSAmlkIoMBChtDbGF1c2VBdHRyaWJ1dGVDaGFuZ2VkRXZlbnQSHQoKZmVhdHVyZV9pZBgBIAEoCVIJZmVhdHVyZUlkEhcKB3J1bGVfaWQYAiABKAlSBnJ1bGVJZBIOCgJpZBgDIAEoCVICaWQSHAoJYXR0cmlidXRlGAQgASgJUglhdHRyaWJ1dGUipAEKGkNsYXVzZU9wZXJhdG9yQ2hhbmdlZEV2ZW50Eh0KCmZlYXR1cmVfaWQYASABKAlSCWZlYXR1cmVJZBIXCgdydWxlX2lkGAIgASgJUgZydWxlSWQSDgoCaWQYAyABKAlSAmlkEj4KCG9wZXJhdG9yGAQgASgOMiIuYnVja2V0ZWVyLmZlYXR1cmUuQ2xhdXNlLk9wZXJhdG9yUghvcGVyYXRvciJ1ChVDbGF1c2VWYWx1ZUFkZGVkRXZlbnQSHQoKZmVhdHVyZV9pZBgBIAEoCVIJZmVhdHVyZUlkEhcKB3J1bGVfaWQYAiABKAlSBnJ1bGVJZBIOCgJpZBgDIAEoCVICaWQSFAoFdmFsdWUYBCABKAlSBXZhbHVlIncKF0NsYXVzZVZhbHVlUmVtb3ZlZEV2ZW50Eh0KCmZlYXR1cmVfaWQYASABKAlSCWZlYXR1cmVJZBIXCgdydWxlX2lkGAIgASgJUgZydWxlSWQSDgoCaWQYAyABKAlSAmlkEhQKBXZhbHVlGAQgASgJUgV2YWx1ZSJtCiJGZWF0dXJlRGVmYXVsdFN0cmF0ZWd5Q2hhbmdlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZBI3CghzdHJhdGVneRgCIAEoCzIbLmJ1Y2tldGVlci5mZWF0dXJlLlN0cmF0ZWd5UghzdHJhdGVneSI4ChRGZWF0dXJlVGFnQWRkZWRFdmVudBIOCgJpZBgBIAEoCVICaWQSEAoDdGFnGAIgASgJUgN0YWciOgoWRmVhdHVyZVRhZ1JlbW92ZWRFdmVudBIOCgJpZBgBIAEoCVICaWQSEAoDdGFnGAIgASgJUgN0YWciSgoeRmVhdHVyZVZlcnNpb25JbmNyZW1lbnRlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZBIYCgd2ZXJzaW9uGAIgASgFUgd2ZXJzaW9uIrUEChJGZWF0dXJlQ2xvbmVkRXZlbnQSDgoCaWQYASABKAlSAmlkEhIKBG5hbWUYAiABKAlSBG5hbWUSIAoLZGVzY3JpcHRpb24YAyABKAlSC2Rlc2NyaXB0aW9uEjwKCnZhcmlhdGlvbnMYBCADKAsyHC5idWNrZXRlZXIuZmVhdHVyZS5WYXJpYXRpb25SCnZhcmlhdGlvbnMSMwoHdGFyZ2V0cxgFIAMoCzIZLmJ1Y2tldGVlci5mZWF0dXJlLlRhcmdldFIHdGFyZ2V0cxItCgVydWxlcxgGIAMoCzIXLmJ1Y2tldGVlci5mZWF0dXJlLlJ1bGVSBXJ1bGVzEkYKEGRlZmF1bHRfc3RyYXRlZ3kYByABKAsyGy5idWNrZXRlZXIuZmVhdHVyZS5TdHJhdGVneVIPZGVmYXVsdFN0cmF0ZWd5EiMKDW9mZl92YXJpYXRpb24YCCABKAlSDG9mZlZhcmlhdGlvbhISCgR0YWdzGAkgAygJUgR0YWdzEh4KCm1haW50YWluZXIYCiABKAlSCm1haW50YWluZXISTwoOdmFyaWF0aW9uX3R5cGUYCyABKA4yKC5idWNrZXRlZXIuZmVhdHVyZS5GZWF0dXJlLlZhcmlhdGlvblR5cGVSDXZhcmlhdGlvblR5cGUSRQoNcHJlcmVxdWlzaXRlcxgMIAMoCzIfLmJ1Y2tldGVlci5mZWF0dXJlLlByZXJlcXVpc2l0ZVINcHJlcmVxdWlzaXRlcyJECh1GZWF0dXJlU2FtcGxpbmdTZWVkUmVzZXRFdmVudBIjCg1zYW1wbGluZ19zZWVkGAEgASgJUgxzYW1wbGluZ1NlZWQihAIKEEdvYWxDcmVhdGVkRXZlbnQSDgoCaWQYASABKAlSAmlkEhIKBG5hbWUYAiABKAlSBG5hbWUSIAoLZGVzY3JpcHRpb24YAyABKAlSC2Rlc2NyaXB0aW9uEhgKB2RlbGV0ZWQYBCABKAhSB2RlbGV0ZWQSHQoKY3JlYXRlZF9hdBgFIAEoA1IJY3JlYXRlZEF0Eh0KCnVwZGF0ZWRfYXQYBiABKANSCXVwZGF0ZWRBdBJSCg9jb25uZWN0aW9uX3R5cGUYByABKA4yKS5idWNrZXRlZXIuZXhwZXJpbWVudC5Hb2FsLkNvbm5lY3Rpb25UeXBlUg5jb25uZWN0aW9uVHlwZSKUAQoQR29hbFVwZGF0ZWRFdmVudBIOCgJpZBgBIAEoCVICaWQSMAoEbmFtZRgCIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZVIEbmFtZRI+CgtkZXNjcmlwdGlvbhgDIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZVILZGVzY3JpcHRpb24iNgoQR29hbFJlbmFtZWRFdmVudBIOCgJpZBgBIAEoCVICaWQSEgoEbmFtZRgCIAEoCVIEbmFtZSJPChtHb2FsRGVzY3JpcHRpb25DaGFuZ2VkRXZlbnQSDgoCaWQYASABKAlSAmlkEiAKC2Rlc2NyaXB0aW9uGAIgASgJUgtkZXNjcmlwdGlvbiIjChFHb2FsQXJjaGl2ZWRFdmVudBIOCgJpZBgBIAEoCVICaWQiIgoQR29hbERlbGV0ZWRFdmVudBIOCgJpZBgBIAEoCVICaWQi8wMKFkV4cGVyaW1lbnRDcmVhdGVkRXZlbnQSDgoCaWQYASABKAlSAmlkEh0KCmZlYXR1cmVfaWQYAiABKAlSCWZlYXR1cmVJZBInCg9mZWF0dXJlX3ZlcnNpb24YAyABKAVSDmZlYXR1cmVWZXJzaW9uEjwKCnZhcmlhdGlvbnMYBCADKAsyHC5idWNrZXRlZXIuZmVhdHVyZS5WYXJpYXRpb25SCnZhcmlhdGlvbnMSGwoHZ29hbF9pZBgFIAEoCUICGAFSBmdvYWxJZBIZCghzdGFydF9hdBgGIAEoA1IHc3RhcnRBdBIXCgdzdG9wX2F0GAcgASgDUgZzdG9wQXQSGAoHc3RvcHBlZBgIIAEoCFIHc3RvcHBlZBIdCgpzdG9wcGVkX2F0GAkgASgDUglzdG9wcGVkQXQSHQoKY3JlYXRlZF9hdBgKIAEoA1IJY3JlYXRlZEF0Eh0KCnVwZGF0ZWRfYXQYCyABKANSCXVwZGF0ZWRBdBIZCghnb2FsX2lkcxgMIAMoCVIHZ29hbElkcxISCgRuYW1lGA0gASgJUgRuYW1lEiAKC2Rlc2NyaXB0aW9uGA4gASgJUgtkZXNjcmlwdGlvbhIqChFiYXNlX3ZhcmlhdGlvbl9pZBgPIAEoCVIPYmFzZVZhcmlhdGlvbklkIkcKFkV4cGVyaW1lbnRTdG9wcGVkRXZlbnQSDgoCaWQYASABKAlSAmlkEh0KCnN0b3BwZWRfYXQYAiABKANSCXN0b3BwZWRBdCIpChdFeHBlcmltZW50QXJjaGl2ZWRFdmVudBIOCgJpZBgBIAEoCVICaWQiKAoWRXhwZXJpbWVudERlbGV0ZWRFdmVudBIOCgJpZBgBIAEoCVICaWQiSgodRXhwZXJpbWVudFN0YXJ0QXRDaGFuZ2VkRXZlbnQSDgoCaWQYASABKAlSAmlkEhkKCHN0YXJ0X2F0GAIgASgDUgdzdGFydEF0IkcKHEV4cGVyaW1lbnRTdG9wQXRDaGFuZ2VkRXZlbnQSDgoCaWQYASABKAlSAmlkEhcKB3N0b3BfYXQYAiABKANSBnN0b3BBdCJiChxFeHBlcmltZW50UGVyaW9kQ2hhbmdlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZBIZCghzdGFydF9hdBgCIAEoA1IHc3RhcnRBdBIXCgdzdG9wX2F0GAMgASgDUgZzdG9wQXQiQAoaRXhwZXJpbWVudE5hbWVDaGFuZ2VkRXZlbnQSDgoCaWQYASABKAlSAmlkEhIKBG5hbWUYAiABKAlSBG5hbWUiVQohRXhwZXJpbWVudERlc2NyaXB0aW9uQ2hhbmdlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZBIgCgtkZXNjcmlwdGlvbhgCIAEoCVILZGVzY3JpcHRpb24iGAoWRXhwZXJpbWVudFN0YXJ0ZWRFdmVudCIZChdFeHBlcmltZW50RmluaXNoZWRFdmVudCKSBAoVQWNjb3VudFYyQ3JlYXRlZEV2ZW50EhQKBWVtYWlsGAEgASgJUgVlbWFpbBISCgRuYW1lGAIgASgJUgRuYW1lEigKEGF2YXRhcl9pbWFnZV91cmwYAyABKAlSDmF2YXRhckltYWdlVXJsEicKD29yZ2FuaXphdGlvbl9pZBgEIAEoCVIOb3JnYW5pemF0aW9uSWQSWwoRb3JnYW5pemF0aW9uX3JvbGUYBSABKA4yLi5idWNrZXRlZXIuYWNjb3VudC5BY2NvdW50VjIuUm9sZS5Pcmdhbml6YXRpb25SEG9yZ2FuaXphdGlvblJvbGUSWQoRZW52aXJvbm1lbnRfcm9sZXMYBiADKAsyLC5idWNrZXRlZXIuYWNjb3VudC5BY2NvdW50VjIuRW52aXJvbm1lbnRSb2xlUhBlbnZpcm9ubWVudFJvbGVzEhoKCGRpc2FibGVkGAcgASgIUghkaXNhYmxlZBIdCgpjcmVhdGVkX2F0GAggASgDUgljcmVhdGVkQXQSHQoKdXBkYXRlZF9hdBgJIAEoA1IJdXBkYXRlZEF0Eh0KCmZpcnN0X25hbWUYCiABKAlSCWZpcnN0TmFtZRIbCglsYXN0X25hbWUYCyABKAlSCGxhc3ROYW1lEhoKCGxhbmd1YWdlGAwgASgJUghsYW5ndWFnZRISCgR0YWdzGA0gAygJUgR0YWdzIlYKFUFjY291bnRWMlVwZGF0ZWRFdmVudBIUCgVlbWFpbBgBIAEoCVIFZW1haWwSJwoPb3JnYW5pemF0aW9uX2lkGAIgASgJUg5vcmdhbml6YXRpb25JZCJFChlBY2NvdW50VjJOYW1lQ2hhbmdlZEV2ZW50EhQKBWVtYWlsGAEgASgJUgVlbWFpbBISCgRuYW1lGAIgASgJUgRuYW1lImUKI0FjY291bnRWMkF2YXRhckltYWdlVVJMQ2hhbmdlZEV2ZW50EhQKBWVtYWlsGAEgASgJUgVlbWFpbBIoChBhdmF0YXJfaW1hZ2VfdXJsGAIgASgJUg5hdmF0YXJJbWFnZVVybCJFChlBY2NvdW50VjJUYWdzQ2hhbmdlZEV2ZW50EhQKBWVtYWlsGAEgASgJUgVlbWFpbBISCgR0YWdzGAIgAygJUgR0YWdzIpoBCiVBY2NvdW50VjJPcmdhbml6YXRpb25Sb2xlQ2hhbmdlZEV2ZW50EhQKBWVtYWlsGAEgASgJUgVlbWFpbBJbChFvcmdhbml6YXRpb25fcm9sZRgCIAEoDjIuLmJ1Y2tldGVlci5hY2NvdW50LkFjY291bnRWMi5Sb2xlLk9yZ2FuaXphdGlvblIQb3JnYW5pemF0aW9uUm9sZSKYAQolQWNjb3VudFYyRW52aXJvbm1lbnRSb2xlc0NoYW5nZWRFdmVudBIUCgVlbWFpbBgBIAEoCVIFZW1haWwSWQoRZW52aXJvbm1lbnRfcm9sZXMYAiADKAsyLC5idWNrZXRlZXIuYWNjb3VudC5BY2NvdW50VjIuRW52aXJvbm1lbnRSb2xlUhBlbnZpcm9ubWVudFJvbGVzIi0KFUFjY291bnRWMkVuYWJsZWRFdmVudBIUCgVlbWFpbBgBIAEoCVIFZW1haWwiLgoWQWNjb3VudFYyRGlzYWJsZWRFdmVudBIUCgVlbWFpbBgBIAEoCVIFZW1haWwiLQoVQWNjb3VudFYyRGVsZXRlZEV2ZW50EhQKBWVtYWlsGAEgASgJUgVlbWFpbCLXAQoYU2VhcmNoRmlsdGVyQ3JlYXRlZEV2ZW50EhIKBE5hbWUYASABKAlSBE5hbWUSFAoFUXVlcnkYAiABKAlSBVF1ZXJ5EkMKClRhcmdldFR5cGUYAyABKA4yIy5idWNrZXRlZXIuYWNjb3VudC5GaWx0ZXJUYXJnZXRUeXBlUgpUYXJnZXRUeXBlEiUKDmVudmlyb25tZW50X2lkGAQgASgJUg1lbnZpcm9ubWVudElkEiUKDmRlZmF1bHRfZmlsdGVyGAUgASgIUg1kZWZhdWx0RmlsdGVyIkIKHFNlYXJjaEZpbHRlck5hbWVDaGFuZ2VkRXZlbnQSDgoCaWQYASABKAlSAmlkEhIKBE5hbWUYAiABKAlSBE5hbWUiRQodU2VhcmNoRmlsdGVyUXVlcnlDaGFuZ2VkRXZlbnQSDgoCaWQYASABKAlSAmlkEhQKBVF1ZXJ5GAIgASgJUgVRdWVyeSJYCh9TZWFyY2hGaWx0ZXJEZWZhdWx0Q2hhbmdlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZBIlCg5kZWZhdWx0X2ZpbHRlchgCIAEoCFINZGVmYXVsdEZpbHRlciIqChhTZWFyY2hGaWx0ZXJEZWxldGVkRXZlbnQSDgoCaWQYASABKAlSAmlkIv8BChJBUElLZXlDcmVhdGVkRXZlbnQSDgoCaWQYASABKAlSAmlkEhIKBG5hbWUYAiABKAlSBG5hbWUSMgoEcm9sZRgDIAEoDjIeLmJ1Y2tldGVlci5hY2NvdW50LkFQSUtleS5Sb2xlUgRyb2xlEhoKCGRpc2FibGVkGAQgASgIUghkaXNhYmxlZBIdCgpjcmVhdGVkX2F0GAUgASgDUgljcmVhdGVkQXQSHQoKdXBkYXRlZF9hdBgGIAEoA1IJdXBkYXRlZEF0Eh4KCm1haW50YWluZXIYByABKAlSCm1haW50YWluZXISFwoHYXBpX2tleRgIIAEoCVIGYXBpS2V5IiQKEkFQSUtleUNoYW5nZWRFdmVudBIOCgJpZBgBIAEoCVICaWQiPAoWQVBJS2V5TmFtZUNoYW5nZWRFdmVudBIOCgJpZBgBIAEoCVICaWQSEgoEbmFtZRgCIAEoCVIEbmFtZSIkChJBUElLZXlFbmFibGVkRXZlbnQSDgoCaWQYASABKAlSAmlkIiUKE0FQSUtleURpc2FibGVkRXZlbnQSDgoCaWQYASABKAlSAmlkIlsKE1NlZ21lbnRDcmVhdGVkRXZlbnQSDgoCaWQYASABKAlSAmlkEhIKBG5hbWUYAiABKAlSBG5hbWUSIAoLZGVzY3JpcHRpb24YAyABKAlSC2Rlc2NyaXB0aW9uIiUKE1NlZ21lbnREZWxldGVkRXZlbnQSDgoCaWQYASABKAlSAmlkIpcBChNTZWdtZW50VXBkYXRlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZBIwCgRuYW1lGAIgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlUgRuYW1lEj4KC2Rlc2NyaXB0aW9uGAMgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlUgtkZXNjcmlwdGlvbiI9ChdTZWdtZW50TmFtZUNoYW5nZWRFdmVudBIOCgJpZBgBIAEoCVICaWQSEgoEbmFtZRgCIAEoCVIEbmFtZSJSCh5TZWdtZW50RGVzY3JpcHRpb25DaGFuZ2VkRXZlbnQSDgoCaWQYASABKAlSAmlkEiAKC2Rlc2NyaXB0aW9uGAIgASgJUgtkZXNjcmlwdGlvbiJUChVTZWdtZW50UnVsZUFkZGVkRXZlbnQSDgoCaWQYASABKAlSAmlkEisKBHJ1bGUYAiABKAsyFy5idWNrZXRlZXIuZmVhdHVyZS5SdWxlUgRydWxlIkIKF1NlZ21lbnRSdWxlRGVsZXRlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZBIXCgdydWxlX2lkGAIgASgJUgZydWxlSWQiiAEKG1NlZ21lbnRSdWxlQ2xhdXNlQWRkZWRFdmVudBIdCgpzZWdtZW50X2lkGAEgASgJUglzZWdtZW50SWQSFwoHcnVsZV9pZBgCIAEoCVIGcnVsZUlkEjEKBmNsYXVzZRgDIAEoCzIZLmJ1Y2tldGVlci5mZWF0dXJlLkNsYXVzZVIGY2xhdXNlInQKHVNlZ21lbnRSdWxlQ2xhdXNlRGVsZXRlZEV2ZW50Eh0KCnNlZ21lbnRfaWQYASABKAlSCXNlZ21lbnRJZBIXCgdydWxlX2lkGAIgASgJUgZydWxlSWQSGwoJY2xhdXNlX2lkGAMgASgJUghjbGF1c2VJZCKXAQoiU2VnbWVudENsYXVzZUF0dHJpYnV0ZUNoYW5nZWRFdmVudBIdCgpzZWdtZW50X2lkGAEgASgJUglzZWdtZW50SWQSFwoHcnVsZV9pZBgCIAEoCVIGcnVsZUlkEhsKCWNsYXVzZV9pZBgDIAEoCVIIY2xhdXNlSWQSHAoJYXR0cmlidXRlGAQgASgJUglhdHRyaWJ1dGUiuAEKIVNlZ21lbnRDbGF1c2VPcGVyYXRvckNoYW5nZWRFdmVudBIdCgpzZWdtZW50X2lkGAEgASgJUglzZWdtZW50SWQSFwoHcnVsZV9pZBgCIAEoCVIGcnVsZUlkEhsKCWNsYXVzZV9pZBgDIAEoCVIIY2xhdXNlSWQSPgoIb3BlcmF0b3IYBCABKA4yIi5idWNrZXRlZXIuZmVhdHVyZS5DbGF1c2UuT3BlcmF0b3JSCG9wZXJhdG9yIokBChxTZWdtZW50Q2xhdXNlVmFsdWVBZGRlZEV2ZW50Eh0KCnNlZ21lbnRfaWQYASABKAlSCXNlZ21lbnRJZBIXCgdydWxlX2lkGAIgASgJUgZydWxlSWQSGwoJY2xhdXNlX2lkGAMgASgJUghjbGF1c2VJZBIUCgV2YWx1ZRgEIAEoCVIFdmFsdWUiiwEKHlNlZ21lbnRDbGF1c2VWYWx1ZVJlbW92ZWRFdmVudBIdCgpzZWdtZW50X2lkGAEgASgJUglzZWdtZW50SWQSFwoHcnVsZV9pZBgCIAEoCVIGcnVsZUlkEhsKCWNsYXVzZV9pZBgDIAEoCVIIY2xhdXNlSWQSFAoFdmFsdWUYBCABKAlSBXZhbHVlIo0BChVTZWdtZW50VXNlckFkZGVkRXZlbnQSHQoKc2VnbWVudF9pZBgBIAEoCVIJc2VnbWVudElkEhkKCHVzZXJfaWRzGAIgAygJUgd1c2VySWRzEjoKBXN0YXRlGAMgASgOMiQuYnVja2V0ZWVyLmZlYXR1cmUuU2VnbWVudFVzZXIuU3RhdGVSBXN0YXRlIo8BChdTZWdtZW50VXNlckRlbGV0ZWRFdmVudBIdCgpzZWdtZW50X2lkGAEgASgJUglzZWdtZW50SWQSGQoIdXNlcl9pZHMYAiADKAlSB3VzZXJJZHMSOgoFc3RhdGUYAyABKA4yJC5idWNrZXRlZXIuZmVhdHVyZS5TZWdtZW50VXNlci5TdGF0ZVIFc3RhdGUiswEKG1NlZ21lbnRCdWxrVXBsb2FkVXNlcnNFdmVudBIdCgpzZWdtZW50X2lkGAEgASgJUglzZWdtZW50SWQSOQoGc3RhdHVzGAIgASgOMiEuYnVja2V0ZWVyLmZlYXR1cmUuU2VnbWVudC5TdGF0dXNSBnN0YXR1cxI6CgVzdGF0ZRgDIAEoDjIkLmJ1Y2tldGVlci5mZWF0dXJlLlNlZ21lbnRVc2VyLlN0YXRlUgVzdGF0ZSLWAQooU2VnbWVudEJ1bGtVcGxvYWRVc2Vyc1N0YXR1c0NoYW5nZWRFdmVudBIdCgpzZWdtZW50X2lkGAEgASgJUglzZWdtZW50SWQSOQoGc3RhdHVzGAIgASgOMiEuYnVja2V0ZWVyLmZlYXR1cmUuU2VnbWVudC5TdGF0dXNSBnN0YXR1cxI6CgVzdGF0ZRgDIAEoDjIkLmJ1Y2tldGVlci5mZWF0dXJlLlNlZ21lbnRVc2VyLlN0YXRlUgVzdGF0ZRIUCgVjb3VudBgEIAEoA1IFY291bnQi9AEKF0Vudmlyb25tZW50Q3JlYXRlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZBIcCgluYW1lc3BhY2UYAiABKAlSCW5hbWVzcGFjZRISCgRuYW1lGAMgASgJUgRuYW1lEiAKC2Rlc2NyaXB0aW9uGAQgASgJUgtkZXNjcmlwdGlvbhIYCgdkZWxldGVkGAUgASgIUgdkZWxldGVkEh0KCmNyZWF0ZWRfYXQYBiABKANSCWNyZWF0ZWRBdBIdCgp1cGRhdGVkX2F0GAcgASgDUgl1cGRhdGVkQXQSHQoKcHJvamVjdF9pZBgIIAEoCVIJcHJvamVjdElkIj0KF0Vudmlyb25tZW50UmVuYW1lZEV2ZW50Eg4KAmlkGAEgASgJUgJpZBISCgRuYW1lGAIgASgJUgRuYW1lIlYKIkVudmlyb25tZW50RGVzY3JpcHRpb25DaGFuZ2VkRXZlbnQSDgoCaWQYASABKAlSAmlkEiAKC2Rlc2NyaXB0aW9uGAIgASgJUgtkZXNjcmlwdGlvbiJHChdFbnZpcm9ubWVudERlbGV0ZWRFdmVudBIOCgJpZBgBIAEoCVICaWQSHAoJbmFtZXNwYWNlGAIgASgJUgluYW1lc3BhY2UingIKGUVudmlyb25tZW50VjJDcmVhdGVkRXZlbnQSDgoCaWQYASABKAlSAmlkEhIKBG5hbWUYAiABKAlSBG5hbWUSGQoIdXJsX2NvZGUYAyABKAlSB3VybENvZGUSIAoLZGVzY3JpcHRpb24YBCABKAlSC2Rlc2NyaXB0aW9uEh0KCnByb2plY3RfaWQYBSABKAlSCXByb2plY3RJZBIaCghhcmNoaXZlZBgGIAEoCFIIYXJjaGl2ZWQSHQoKY3JlYXRlZF9hdBgHIAEoA1IJY3JlYXRlZEF0Eh0KCnVwZGF0ZWRfYXQYCCABKANSCXVwZGF0ZWRBdBInCg9yZXF1aXJlX2NvbW1lbnQYCSABKAhSDnJlcXVpcmVDb21tZW50IoABChlFbnZpcm9ubWVudFYyUmVuYW1lZEV2ZW50Eg4KAmlkGAEgASgJUgJpZBIdCgpwcm9qZWN0X2lkGAIgASgJUglwcm9qZWN0SWQSGQoIb2xkX25hbWUYAyABKAlSB29sZE5hbWUSGQoIbmV3X25hbWUYBCABKAlSB25ld05hbWUiuwEKJEVudmlyb25tZW50VjJEZXNjcmlwdGlvbkNoYW5nZWRFdmVudBIOCgJpZBgBIAEoCVICaWQSEgoEbmFtZRgCIAEoCVIEbmFtZRIdCgpwcm9qZWN0X2lkGAMgASgJUglwcm9qZWN0SWQSJwoPb2xkX2Rlc2NyaXB0aW9uGAQgASgJUg5vbGREZXNjcmlwdGlvbhInCg9uZXdfZGVzY3JpcHRpb24YBSABKAlSDm5ld0Rlc2NyaXB0aW9uIpUBCidFbnZpcm9ubWVudFYyUmVxdWlyZUNvbW1lbnRDaGFuZ2VkRXZlbnQSDgoCaWQYASABKAlSAmlkEhIKBG5hbWUYAiABKAlSBG5hbWUSHQoKcHJvamVjdF9pZBgDIAEoCVIJcHJvamVjdElkEicKD3JlcXVpcmVfY29tbWVudBgEIAEoCFIOcmVxdWlyZUNvbW1lbnQiXwoaRW52aXJvbm1lbnRWMkFyY2hpdmVkRXZlbnQSDgoCaWQYASABKAlSAmlkEhIKBG5hbWUYAiABKAlSBG5hbWUSHQoKcHJvamVjdF9pZBgDIAEoCVIJcHJvamVjdElkImEKHEVudmlyb25tZW50VjJVbmFyY2hpdmVkRXZlbnQSDgoCaWQYASABKAlSAmlkEhIKBG5hbWUYAiABKAlSBG5hbWUSHQoKcHJvamVjdF9pZBgDIAEoCVIJcHJvamVjdElkIqkCChdBdXRvT3BzUnVsZUNyZWF0ZWRFdmVudBIdCgpmZWF0dXJlX2lkGAEgASgJUglmZWF0dXJlSWQSNQoIb3BzX3R5cGUYAiABKA4yGi5idWNrZXRlZXIuYXV0b29wcy5PcHNUeXBlUgdvcHNUeXBlEjMKB2NsYXVzZXMYAyADKAsyGS5idWNrZXRlZXIuYXV0b29wcy5DbGF1c2VSB2NsYXVzZXMSHQoKY3JlYXRlZF9hdBgFIAEoA1IJY3JlYXRlZEF0Eh0KCnVwZGF0ZWRfYXQYBiABKANSCXVwZGF0ZWRBdBI/CgpvcHNfc3RhdHVzGAcgASgOMiAuYnVja2V0ZWVyLmF1dG9vcHMuQXV0b09wc1N0YXR1c1IJb3BzU3RhdHVzSgQIBBAFIhkKF0F1dG9PcHNSdWxlU3RvcHBlZEV2ZW50IhkKF0F1dG9PcHNSdWxlRGVsZXRlZEV2ZW50IlcKHkF1dG9PcHNSdWxlT3BzVHlwZUNoYW5nZWRFdmVudBI1CghvcHNfdHlwZRgBIAEoDjIaLmJ1Y2tldGVlci5hdXRvb3BzLk9wc1R5cGVSB29wc1R5cGUiJAoiQXV0b09wc1J1bGVUcmlnZ2VyZWRBdENoYW5nZWRFdmVudCJjCiBBdXRvT3BzUnVsZU9wc1N0YXR1c0NoYW5nZWRFdmVudBI/CgpvcHNfc3RhdHVzGAEgASgOMiAuYnVja2V0ZWVyLmF1dG9vcHMuQXV0b09wc1N0YXR1c1IJb3BzU3RhdHVzIpUBChxPcHNFdmVudFJhdGVDbGF1c2VBZGRlZEV2ZW50EhsKCWNsYXVzZV9pZBgBIAEoCVIIY2xhdXNlSWQSWAoVb3BzX2V2ZW50X3JhdGVfY2xhdXNlGAIgASgLMiUuYnVja2V0ZWVyLmF1dG9vcHMuT3BzRXZlbnRSYXRlQ2xhdXNlUhJvcHNFdmVudFJhdGVDbGF1c2UilwEKHk9wc0V2ZW50UmF0ZUNsYXVzZUNoYW5nZWRFdmVudBIbCgljbGF1c2VfaWQYASABKAlSCGNsYXVzZUlkElgKFW9wc19ldmVudF9yYXRlX2NsYXVzZRgCIAEoCzIlLmJ1Y2tldGVlci5hdXRvb3BzLk9wc0V2ZW50UmF0ZUNsYXVzZVISb3BzRXZlbnRSYXRlQ2xhdXNlIjwKHUF1dG9PcHNSdWxlQ2xhdXNlRGVsZXRlZEV2ZW50EhsKCWNsYXVzZV9pZBgBIAEoCVIIY2xhdXNlSWQigwEKGERhdGV0aW1lQ2xhdXNlQWRkZWRFdmVudBIbCgljbGF1c2VfaWQYASABKAlSCGNsYXVzZUlkEkoKD2RhdGV0aW1lX2NsYXVzZRgCIAEoCzIhLmJ1Y2tldGVlci5hdXRvb3BzLkRhdGV0aW1lQ2xhdXNlUg5kYXRldGltZUNsYXVzZSKFAQoaRGF0ZXRpbWVDbGF1c2VDaGFuZ2VkRXZlbnQSGwoJY2xhdXNlX2lkGAEgASgJUghjbGF1c2VJZBJKCg9kYXRldGltZV9jbGF1c2UYAiABKAsyIS5idWNrZXRlZXIuYXV0b29wcy5EYXRldGltZUNsYXVzZVIOZGF0ZXRpbWVDbGF1c2UicAoQUHVzaENyZWF0ZWRFdmVudBIuChNmY21fc2VydmljZV9hY2NvdW50GAEgASgJUhFmY21TZXJ2aWNlQWNjb3VudBISCgR0YWdzGAMgAygJUgR0YWdzEhIKBG5hbWUYBCABKAlSBG5hbWVKBAgCEAMiEgoQUHVzaERlbGV0ZWRFdmVudCIoChJQdXNoVGFnc0FkZGVkRXZlbnQSEgoEdGFncxgCIAMoCVIEdGFncyIqChRQdXNoVGFnc0RlbGV0ZWRFdmVudBISCgR0YWdzGAIgAygJUgR0YWdzIiYKEFB1c2hSZW5hbWVkRXZlbnQSEgoEbmFtZRgCIAEoCVIEbmFtZSIqChRQdXNoVGFnc1VwZGF0ZWRFdmVudBISCgR0YWdzGAIgAygJUgR0YWdzIlgKEFB1c2hVcGRhdGVkRXZlbnQSMAoEbmFtZRgBIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZVIEbmFtZRISCgR0YWdzGAIgAygJUgR0YWdzIsMBChhTdWJzY3JpcHRpb25DcmVhdGVkRXZlbnQSUgoMc291cmNlX3R5cGVzGAEgAygOMi8uYnVja2V0ZWVyLm5vdGlmaWNhdGlvbi5TdWJzY3JpcHRpb24uU291cmNlVHlwZVILc291cmNlVHlwZXMSPwoJcmVjaXBpZW50GAIgASgLMiEuYnVja2V0ZWVyLm5vdGlmaWNhdGlvbi5SZWNpcGllbnRSCXJlY2lwaWVudBISCgRuYW1lGAMgASgJUgRuYW1lIhoKGFN1YnNjcmlwdGlvbkRlbGV0ZWRFdmVudCIaChhTdWJzY3JpcHRpb25FbmFibGVkRXZlbnQiGwoZU3Vic2NyaXB0aW9uRGlzYWJsZWRFdmVudCJ3CiFTdWJzY3JpcHRpb25Tb3VyY2VUeXBlc0FkZGVkRXZlbnQSUgoMc291cmNlX3R5cGVzGAEgAygOMi8uYnVja2V0ZWVyLm5vdGlmaWNhdGlvbi5TdWJzY3JpcHRpb24uU291cmNlVHlwZVILc291cmNlVHlwZXMieQojU3Vic2NyaXB0aW9uU291cmNlVHlwZXNEZWxldGVkRXZlbnQSUgoMc291cmNlX3R5cGVzGAEgAygOMi8uYnVja2V0ZWVyLm5vdGlmaWNhdGlvbi5TdWJzY3JpcHRpb24uU291cmNlVHlwZVILc291cmNlVHlwZXMiLgoYU3Vic2NyaXB0aW9uUmVuYW1lZEV2ZW50EhIKBG5hbWUYASABKAlSBG5hbWUi6AEKGFN1YnNjcmlwdGlvblVwZGF0ZWRFdmVudBIOCgJpZBgBIAEoCVICaWQSMAoEbmFtZRgCIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZVIEbmFtZRJSCgxzb3VyY2VfdHlwZXMYAyADKA4yLy5idWNrZXRlZXIubm90aWZpY2F0aW9uLlN1YnNjcmlwdGlvbi5Tb3VyY2VUeXBlUgtzb3VyY2VUeXBlcxI2CghkaXNhYmxlZBgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5Cb29sVmFsdWVSCGRpc2FibGVkIsgBCh1BZG1pblN1YnNjcmlwdGlvbkNyZWF0ZWRFdmVudBJSCgxzb3VyY2VfdHlwZXMYASADKA4yLy5idWNrZXRlZXIubm90aWZpY2F0aW9uLlN1YnNjcmlwdGlvbi5Tb3VyY2VUeXBlUgtzb3VyY2VUeXBlcxI/CglyZWNpcGllbnQYAiABKAsyIS5idWNrZXRlZXIubm90aWZpY2F0aW9uLlJlY2lwaWVudFIJcmVjaXBpZW50EhIKBG5hbWUYAyABKAlSBG5hbWUiHwodQWRtaW5TdWJzY3JpcHRpb25EZWxldGVkRXZlbnQiHwodQWRtaW5TdWJzY3JpcHRpb25FbmFibGVkRXZlbnQiIAoeQWRtaW5TdWJzY3JpcHRpb25EaXNhYmxlZEV2ZW50InwKJkFkbWluU3Vic2NyaXB0aW9uU291cmNlVHlwZXNBZGRlZEV2ZW50ElIKDHNvdXJjZV90eXBlcxgBIAMoDjIvLmJ1Y2tldGVlci5ub3RpZmljYXRpb24uU3Vic2NyaXB0aW9uLlNvdXJjZVR5cGVSC3NvdXJjZVR5cGVzIn4KKEFkbWluU3Vic2NyaXB0aW9uU291cmNlVHlwZXNEZWxldGVkRXZlbnQSUgoMc291cmNlX3R5cGVzGAEgAygOMi8uYnVja2V0ZWVyLm5vdGlmaWNhdGlvbi5TdWJzY3JpcHRpb24uU291cmNlVHlwZVILc291cmNlVHlwZXMiMwodQWRtaW5TdWJzY3JpcHRpb25SZW5hbWVkRXZlbnQSEgoEbmFtZRgBIAEoCVIEbmFtZSKLAgoTUHJvamVjdENyZWF0ZWRFdmVudBIOCgJpZBgBIAEoCVICaWQSIAoLZGVzY3JpcHRpb24YAiABKAlSC2Rlc2NyaXB0aW9uEhoKCGRpc2FibGVkGAMgASgIUghkaXNhYmxlZBIUCgV0cmlhbBgEIAEoCFIFdHJpYWwSIwoNY3JlYXRvcl9lbWFpbBgFIAEoCVIMY3JlYXRvckVtYWlsEh0KCmNyZWF0ZWRfYXQYBiABKANSCWNyZWF0ZWRBdBIdCgp1cGRhdGVkX2F0GAcgASgDUgl1cGRhdGVkQXQSEgoEbmFtZRgIIAEoCVIEbmFtZRIZCgh1cmxfY29kZRgJIAEoCVIHdXJsQ29kZSJSCh5Qcm9qZWN0RGVzY3JpcHRpb25DaGFuZ2VkRXZlbnQSDgoCaWQYASABKAlSAmlkEiAKC2Rlc2NyaXB0aW9uGAIgASgJUgtkZXNjcmlwdGlvbiI5ChNQcm9qZWN0UmVuYW1lZEV2ZW50Eg4KAmlkGAEgASgJUgJpZBISCgRuYW1lGAIgASgJUgRuYW1lIiUKE1Byb2plY3RFbmFibGVkRXZlbnQSDgoCaWQYASABKAlSAmlkIiYKFFByb2plY3REaXNhYmxlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZCKQAgoYUHJvamVjdFRyaWFsQ3JlYXRlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZBIgCgtkZXNjcmlwdGlvbhgCIAEoCVILZGVzY3JpcHRpb24SGgoIZGlzYWJsZWQYAyABKAhSCGRpc2FibGVkEhQKBXRyaWFsGAQgASgIUgV0cmlhbBIjCg1jcmVhdG9yX2VtYWlsGAUgASgJUgxjcmVhdG9yRW1haWwSHQoKY3JlYXRlZF9hdBgGIAEoA1IJY3JlYXRlZEF0Eh0KCnVwZGF0ZWRfYXQYByABKANSCXVwZGF0ZWRBdBISCgRuYW1lGAggASgJUgRuYW1lEhkKCHVybF9jb2RlGAkgASgJUgd1cmxDb2RlIiwKGlByb2plY3RUcmlhbENvbnZlcnRlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZCJdChZQcmVyZXF1aXNpdGVBZGRlZEV2ZW50EkMKDHByZXJlcXVpc2l0ZRgBIAEoCzIfLmJ1Y2tldGVlci5mZWF0dXJlLlByZXJlcXVpc2l0ZVIMcHJlcmVxdWlzaXRlImgKIVByZXJlcXVpc2l0ZVZhcmlhdGlvbkNoYW5nZWRFdmVudBJDCgxwcmVyZXF1aXNpdGUYASABKAsyHy5idWNrZXRlZXIuZmVhdHVyZS5QcmVyZXF1aXNpdGVSDHByZXJlcXVpc2l0ZSI5ChhQcmVyZXF1aXNpdGVSZW1vdmVkRXZlbnQSHQoKZmVhdHVyZV9pZBgBIAEoCVIJZmVhdHVyZUlkIvsBCh5Qcm9ncmVzc2l2ZVJvbGxvdXRDcmVhdGVkRXZlbnQSDgoCaWQYASABKAlSAmlkEh0KCmZlYXR1cmVfaWQYAiABKAlSCWZlYXR1cmVJZBIsCgZjbGF1c2UYAyABKAsyFC5nb29nbGUucHJvdG9idWYuQW55UgZjbGF1c2USHQoKY3JlYXRlZF9hdBgEIAEoA1IJY3JlYXRlZEF0Eh0KCnVwZGF0ZWRfYXQYBSABKANSCXVwZGF0ZWRBdBI+CgR0eXBlGAYgASgOMiouYnVja2V0ZWVyLmF1dG9vcHMuUHJvZ3Jlc3NpdmVSb2xsb3V0LlR5cGVSBHR5cGUi5QEKHlByb2dyZXNzaXZlUm9sbG91dFN0b3BwZWRFdmVudBIOCgJpZBgBIAEoCVICaWQSRAoGc3RhdHVzGAIgASgOMiwuYnVja2V0ZWVyLmF1dG9vcHMuUHJvZ3Jlc3NpdmVSb2xsb3V0LlN0YXR1c1IGc3RhdHVzEk4KCnN0b3BwZWRfYnkYAyABKA4yLy5idWNrZXRlZXIuYXV0b29wcy5Qcm9ncmVzc2l2ZVJvbGxvdXQuU3RvcHBlZEJ5UglzdG9wcGVkQnkSHQoKc3RvcHBlZF9hdBgEIAEoA1IJc3RvcHBlZEF0IjAKHlByb2dyZXNzaXZlUm9sbG91dERlbGV0ZWRFdmVudBIOCgJpZBgBIAEoCVICaWQiVAoxUHJvZ3Jlc3NpdmVSb2xsb3V0U2NoZWR1bGVUcmlnZ2VyZWRBdENoYW5nZWRFdmVudBIfCgtzY2hlZHVsZV9pZBgBIAEoCVIKc2NoZWR1bGVJZCKoAgoYT3JnYW5pemF0aW9uQ3JlYXRlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZBISCgRuYW1lGAIgASgJUgRuYW1lEhkKCHVybF9jb2RlGAMgASgJUgd1cmxDb2RlEiAKC2Rlc2NyaXB0aW9uGAQgASgJUgtkZXNjcmlwdGlvbhIaCghkaXNhYmxlZBgFIAEoCFIIZGlzYWJsZWQSGgoIYXJjaGl2ZWQYBiABKAhSCGFyY2hpdmVkEhQKBXRyaWFsGAcgASgIUgV0cmlhbBIdCgpjcmVhdGVkX2F0GAggASgDUgljcmVhdGVkQXQSHQoKdXBkYXRlZF9hdBgJIAEoA1IJdXBkYXRlZEF0Eh8KC293bmVyX2VtYWlsGAogASgJUgpvd25lckVtYWlsIlcKI09yZ2FuaXphdGlvbkRlc2NyaXB0aW9uQ2hhbmdlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZBIgCgtkZXNjcmlwdGlvbhgCIAEoCVILZGVzY3JpcHRpb24iVQoiT3JnYW5pemF0aW9uT3duZXJFbWFpbENoYW5nZWRFdmVudBIOCgJpZBgBIAEoCVICaWQSHwoLb3duZXJfZW1haWwYAiABKAlSCm93bmVyRW1haWwiQgocT3JnYW5pemF0aW9uTmFtZUNoYW5nZWRFdmVudBIOCgJpZBgBIAEoCVICaWQSEgoEbmFtZRgCIAEoCVIEbmFtZSIqChhPcmdhbml6YXRpb25FbmFibGVkRXZlbnQSDgoCaWQYASABKAlSAmlkIisKGU9yZ2FuaXphdGlvbkRpc2FibGVkRXZlbnQSDgoCaWQYASABKAlSAmlkIisKGU9yZ2FuaXphdGlvbkFyY2hpdmVkRXZlbnQSDgoCaWQYASABKAlSAmlkIi0KG09yZ2FuaXphdGlvblVuYXJjaGl2ZWRFdmVudBIOCgJpZBgBIAEoCVICaWQiMQofT3JnYW5pemF0aW9uVHJpYWxDb252ZXJ0ZWRFdmVudBIOCgJpZBgBIAEoCVICaWQi4wIKF0ZsYWdUcmlnZ2VyQ3JlYXRlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZBIdCgpmZWF0dXJlX2lkGAIgASgJUglmZWF0dXJlSWQSNwoEdHlwZRgEIAEoDjIjLmJ1Y2tldGVlci5mZWF0dXJlLkZsYWdUcmlnZ2VyLlR5cGVSBHR5cGUSPQoGYWN0aW9uGAUgASgOMiUuYnVja2V0ZWVyLmZlYXR1cmUuRmxhZ1RyaWdnZXIuQWN0aW9uUgZhY3Rpb24SIAoLZGVzY3JpcHRpb24YBiABKAlSC2Rlc2NyaXB0aW9uEhQKBXRva2VuGAcgASgJUgV0b2tlbhIdCgpjcmVhdGVkX2F0GAggASgDUgljcmVhdGVkQXQSHQoKdXBkYXRlZF9hdBgJIAEoA1IJdXBkYXRlZEF0EiUKDmVudmlyb25tZW50X2lkGAogASgJUg1lbnZpcm9ubWVudElkSgQIAxAEIokBChVGbGFnVHJpZ2dlclJlc2V0RXZlbnQSDgoCaWQYASABKAlSAmlkEh0KCmZlYXR1cmVfaWQYAiABKAlSCWZlYXR1cmVJZBIUCgV0b2tlbhgEIAEoCVIFdG9rZW4SJQoOZW52aXJvbm1lbnRfaWQYBSABKAlSDWVudmlyb25tZW50SWRKBAgDEAQiogEKIkZsYWdUcmlnZ2VyRGVzY3JpcHRpb25DaGFuZ2VkRXZlbnQSDgoCaWQYASABKAlSAmlkEh0KCmZlYXR1cmVfaWQYAiABKAlSCWZlYXR1cmVJZBIgCgtkZXNjcmlwdGlvbhgEIAEoCVILZGVzY3JpcHRpb24SJQoOZW52aXJvbm1lbnRfaWQYBSABKAlSDWVudmlyb25tZW50SWRKBAgDEAQidgoYRmxhZ1RyaWdnZXJEaXNhYmxlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZBIdCgpmZWF0dXJlX2lkGAIgASgJUglmZWF0dXJlSWQSJQoOZW52aXJvbm1lbnRfaWQYBCABKAlSDWVudmlyb25tZW50SWRKBAgDEAQidQoXRmxhZ1RyaWdnZXJFbmFibGVkRXZlbnQSDgoCaWQYASABKAlSAmlkEh0KCmZlYXR1cmVfaWQYAiABKAlSCWZlYXR1cmVJZBIlCg5lbnZpcm9ubWVudF9pZBgEIAEoCVINZW52aXJvbm1lbnRJZEoECAMQBCJ1ChdGbGFnVHJpZ2dlckRlbGV0ZWRFdmVudBIOCgJpZBgBIAEoCVICaWQSHQoKZmVhdHVyZV9pZBgCIAEoCVIJZmVhdHVyZUlkEiUKDmVudmlyb25tZW50X2lkGAQgASgJUg1lbnZpcm9ubWVudElkSgQIAxAEIssBChxGbGFnVHJpZ2dlclVzYWdlVXBkYXRlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZBIdCgpmZWF0dXJlX2lkGAIgASgJUglmZWF0dXJlSWQSKgoRbGFzdF90cmlnZ2VyZWRfYXQYBCABKANSD2xhc3RUcmlnZ2VyZWRBdBIjCg10cmlnZ2VyX3RpbWVzGAUgASgFUgx0cmlnZ2VyVGltZXMSJQoOZW52aXJvbm1lbnRfaWQYBiABKAlSDWVudmlyb25tZW50SWRKBAgDEAQiVQoeQWNjb3VudFYyRmlyc3ROYW1lQ2hhbmdlZEV2ZW50EhQKBWVtYWlsGAEgASgJUgVlbWFpbBIdCgpmaXJzdF9uYW1lGAIgASgJUglmaXJzdE5hbWUiUgodQWNjb3VudFYyTGFzdE5hbWVDaGFuZ2VkRXZlbnQSFAoFZW1haWwYASABKAlSBWVtYWlsEhsKCWxhc3RfbmFtZRgCIAEoCVIIbGFzdE5hbWUiUQodQWNjb3VudFYyTGFuZ3VhZ2VDaGFuZ2VkRXZlbnQSFAoFZW1haWwYASABKAlSBWVtYWlsEhoKCGxhbmd1YWdlGAIgASgJUghsYW5ndWFnZSLaAQoPVGFnQ3JlYXRlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZBISCgRuYW1lGAIgASgJUgRuYW1lEh0KCmNyZWF0ZWRfYXQYAyABKANSCWNyZWF0ZWRBdBIdCgp1cGRhdGVkX2F0GAQgASgDUgl1cGRhdGVkQXQSPgoLZW50aXR5X3R5cGUYBSABKA4yHS5idWNrZXRlZXIudGFnLlRhZy5FbnRpdHlUeXBlUgplbnRpdHlUeXBlEiUKDmVudmlyb25tZW50X2lkGAYgASgJUg1lbnZpcm9ubWVudElkIkgKD1RhZ0RlbGV0ZWRFdmVudBIOCgJpZBgBIAEoCVICaWQSJQoOZW52aXJvbm1lbnRfaWQYBiABKAlSDWVudmlyb25tZW50SWRCNlo0Z2l0aHViLmNvbS9idWNrZXRlZXItaW8vYnVja2V0ZWVyL3Byb3RvL2V2ZW50L2RvbWFpbmIGcHJvdG8zCsoBCipwcm90by9ldmVudC9kb21haW4vbG9jYWxpemVkX21lc3NhZ2UucHJvdG8SFmJ1Y2tldGVlci5ldmVudC5kb21haW4iRAoQTG9jYWxpemVkTWVzc2FnZRIWCgZsb2NhbGUYASABKAlSBmxvY2FsZRIYCgdtZXNzYWdlGAIgASgJUgdtZXNzYWdlQjZaNGdpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9ldmVudC9kb21haW5iBnByb3RvMwr6BQodcHJvdG8vYXVkaXRsb2cvYXVkaXRsb2cucHJvdG8SEmJ1Y2tldGVlci5hdWRpdGxvZxoZZ29vZ2xlL3Byb3RvYnVmL2FueS5wcm90bxoecHJvdG8vZXZlbnQvZG9tYWluL2V2ZW50LnByb3RvGipwcm90by9ldmVudC9kb21haW4vbG9jYWxpemVkX21lc3NhZ2UucHJvdG8ioQQKCEF1ZGl0TG9nEg4KAmlkGAEgASgJUgJpZBIcCgl0aW1lc3RhbXAYAiABKANSCXRpbWVzdGFtcBJJCgtlbnRpdHlfdHlwZRgDIAEoDjIoLmJ1Y2tldGVlci5ldmVudC5kb21haW4uRXZlbnQuRW50aXR5VHlwZVIKZW50aXR5VHlwZRIbCgllbnRpdHlfaWQYBCABKAlSCGVudGl0eUlkEjYKBHR5cGUYBSABKA4yIi5idWNrZXRlZXIuZXZlbnQuZG9tYWluLkV2ZW50LlR5cGVSBHR5cGUSKgoFZXZlbnQYBiABKAsyFC5nb29nbGUucHJvdG9idWYuQW55UgVldmVudBI2CgZlZGl0b3IYByABKAsyHi5idWNrZXRlZXIuZXZlbnQuZG9tYWluLkVkaXRvclIGZWRpdG9yEjkKB29wdGlvbnMYCCABKAsyHy5idWNrZXRlZXIuZXZlbnQuZG9tYWluLk9wdGlvbnNSB29wdGlvbnMSVQoRbG9jYWxpemVkX21lc3NhZ2UYCSABKAsyKC5idWNrZXRlZXIuZXZlbnQuZG9tYWluLkxvY2FsaXplZE1lc3NhZ2VSEGxvY2FsaXplZE1lc3NhZ2USHwoLZW50aXR5X2RhdGEYCiABKAlSCmVudGl0eURhdGESMAoUcHJldmlvdXNfZW50aXR5X2RhdGEYCyABKAlSEnByZXZpb3VzRW50aXR5RGF0YUIyWjBnaXRodWIuY29tL2J1Y2tldGVlci1pby9idWNrZXRlZXIvcHJvdG8vYXVkaXRsb2diBnByb3RvMwqgEwoccHJvdG8vYXVkaXRsb2cvc2VydmljZS5wcm90bxISYnVja2V0ZWVyLmF1ZGl0bG9nGh5nb29nbGUvcHJvdG9idWYvd3JhcHBlcnMucHJvdG8aHXByb3RvL2F1ZGl0bG9nL2F1ZGl0bG9nLnByb3RvIvwDChRMaXN0QXVkaXRMb2dzUmVxdWVzdBIbCglwYWdlX3NpemUYASABKANSCHBhZ2VTaXplEhYKBmN1cnNvchgCIAEoCVIGY3Vyc29yEksKCG9yZGVyX2J5GAQgASgOMjAuYnVja2V0ZWVyLmF1ZGl0bG9nLkxpc3RBdWRpdExvZ3NSZXF1ZXN0Lk9yZGVyQnlSB29yZGVyQnkSYAoPb3JkZXJfZGlyZWN0aW9uGAUgASgOMjcuYnVja2V0ZWVyLmF1ZGl0bG9nLkxpc3RBdWRpdExvZ3NSZXF1ZXN0Lk9yZGVyRGlyZWN0aW9uUg5vcmRlckRpcmVjdGlvbhIlCg5zZWFyY2hfa2V5d29yZBgGIAEoCVINc2VhcmNoS2V5d29yZBISCgRmcm9tGAcgASgDUgRmcm9tEg4KAnRvGAggASgDUgJ0bxI8CgtlbnRpdHlfdHlwZRgJIAEoCzIbLmdvb2dsZS5wcm90b2J1Zi5JbnQzMlZhbHVlUgplbnRpdHlUeXBlEiUKDmVudmlyb25tZW50X2lkGAogASgJUg1lbnZpcm9ubWVudElkIiUKB09yZGVyQnkSCwoHREVGQVVMVBAAEg0KCVRJTUVTVEFNUBABIiMKDk9yZGVyRGlyZWN0aW9uEggKBERFU0MQABIHCgNBU0MQAUoECAMQBCKNAQoVTGlzdEF1ZGl0TG9nc1Jlc3BvbnNlEjsKCmF1ZGl0X2xvZ3MYASADKAsyHC5idWNrZXRlZXIuYXVkaXRsb2cuQXVkaXRMb2dSCWF1ZGl0TG9ncxIWCgZjdXJzb3IYAiABKAlSBmN1cnNvchIfCgt0b3RhbF9jb3VudBgDIAEoA1IKdG90YWxDb3VudCLeAwoZTGlzdEFkbWluQXVkaXRMb2dzUmVxdWVzdBIbCglwYWdlX3NpemUYASABKANSCHBhZ2VTaXplEhYKBmN1cnNvchgCIAEoCVIGY3Vyc29yElAKCG9yZGVyX2J5GAMgASgOMjUuYnVja2V0ZWVyLmF1ZGl0bG9nLkxpc3RBZG1pbkF1ZGl0TG9nc1JlcXVlc3QuT3JkZXJCeVIHb3JkZXJCeRJlCg9vcmRlcl9kaXJlY3Rpb24YBCABKA4yPC5idWNrZXRlZXIuYXVkaXRsb2cuTGlzdEFkbWluQXVkaXRMb2dzUmVxdWVzdC5PcmRlckRpcmVjdGlvblIOb3JkZXJEaXJlY3Rpb24SJQoOc2VhcmNoX2tleXdvcmQYBSABKAlSDXNlYXJjaEtleXdvcmQSEgoEZnJvbRgGIAEoA1IEZnJvbRIOCgJ0bxgHIAEoA1ICdG8SPAoLZW50aXR5X3R5cGUYCCABKAsyGy5nb29nbGUucHJvdG9idWYuSW50MzJWYWx1ZVIKZW50aXR5VHlwZSIlCgdPcmRlckJ5EgsKB0RFRkFVTFQQABINCglUSU1FU1RBTVAQASIjCg5PcmRlckRpcmVjdGlvbhIICgRERVNDEAASBwoDQVNDEAEikgEKGkxpc3RBZG1pbkF1ZGl0TG9nc1Jlc3BvbnNlEjsKCmF1ZGl0X2xvZ3MYASADKAsyHC5idWNrZXRlZXIuYXVkaXRsb2cuQXVkaXRMb2dSCWF1ZGl0TG9ncxIWCgZjdXJzb3IYAiABKAlSBmN1cnNvchIfCgt0b3RhbF9jb3VudBgDIAEoA1IKdG90YWxDb3VudCLsAwoZTGlzdEZlYXR1cmVIaXN0b3J5UmVxdWVzdBIdCgpmZWF0dXJlX2lkGAEgASgJUglmZWF0dXJlSWQSGwoJcGFnZV9zaXplGAIgASgDUghwYWdlU2l6ZRIWCgZjdXJzb3IYAyABKAlSBmN1cnNvchJQCghvcmRlcl9ieRgFIAEoDjI1LmJ1Y2tldGVlci5hdWRpdGxvZy5MaXN0RmVhdHVyZUhpc3RvcnlSZXF1ZXN0Lk9yZGVyQnlSB29yZGVyQnkSZQoPb3JkZXJfZGlyZWN0aW9uGAYgASgOMjwuYnVja2V0ZWVyLmF1ZGl0bG9nLkxpc3RGZWF0dXJlSGlzdG9yeVJlcXVlc3QuT3JkZXJEaXJlY3Rpb25SDm9yZGVyRGlyZWN0aW9uEiUKDnNlYXJjaF9rZXl3b3JkGAcgASgJUg1zZWFyY2hLZXl3b3JkEhIKBGZyb20YCCABKANSBGZyb20SDgoCdG8YCSABKANSAnRvEiUKDmVudmlyb25tZW50X2lkGAogASgJUg1lbnZpcm9ubWVudElkIiUKB09yZGVyQnkSCwoHREVGQVVMVBAAEg0KCVRJTUVTVEFNUBABIiMKDk9yZGVyRGlyZWN0aW9uEggKBERFU0MQABIHCgNBU0MQAUoECAQQBSKSAQoaTGlzdEZlYXR1cmVIaXN0b3J5UmVzcG9uc2USOwoKYXVkaXRfbG9ncxgBIAMoCzIcLmJ1Y2tldGVlci5hdWRpdGxvZy5BdWRpdExvZ1IJYXVkaXRMb2dzEhYKBmN1cnNvchgCIAEoCVIGY3Vyc29yEh8KC3RvdGFsX2NvdW50GAMgASgDUgp0b3RhbENvdW50MucCCg9BdWRpdExvZ1NlcnZpY2USZgoNTGlzdEF1ZGl0TG9ncxIoLmJ1Y2tldGVlci5hdWRpdGxvZy5MaXN0QXVkaXRMb2dzUmVxdWVzdBopLmJ1Y2tldGVlci5hdWRpdGxvZy5MaXN0QXVkaXRMb2dzUmVzcG9uc2UiABJ1ChJMaXN0QWRtaW5BdWRpdExvZ3MSLS5idWNrZXRlZXIuYXVkaXRsb2cuTGlzdEFkbWluQXVkaXRMb2dzUmVxdWVzdBouLmJ1Y2tldGVlci5hdWRpdGxvZy5MaXN0QWRtaW5BdWRpdExvZ3NSZXNwb25zZSIAEnUKEkxpc3RGZWF0dXJlSGlzdG9yeRItLmJ1Y2tldGVlci5hdWRpdGxvZy5MaXN0RmVhdHVyZUhpc3RvcnlSZXF1ZXN0Gi4uYnVja2V0ZWVyLmF1ZGl0bG9nLkxpc3RGZWF0dXJlSGlzdG9yeVJlc3BvbnNlIgBCMlowZ2l0aHViLmNvbS9idWNrZXRlZXItaW8vYnVja2V0ZWVyL3Byb3RvL2F1ZGl0bG9nYgZwcm90bzM= + auditlogDescriptor: CuQBChlnb29nbGUvcHJvdG9idWYvYW55LnByb3RvEg9nb29nbGUucHJvdG9idWYiNgoDQW55EhkKCHR5cGVfdXJsGAEgASgJUgd0eXBlVXJsEhQKBXZhbHVlGAIgASgMUgV2YWx1ZUJ2ChNjb20uZ29vZ2xlLnByb3RvYnVmQghBbnlQcm90b1ABWixnb29nbGUuZ29sYW5nLm9yZy9wcm90b2J1Zi90eXBlcy9rbm93bi9hbnlwYqICA0dQQqoCHkdvb2dsZS5Qcm90b2J1Zi5XZWxsS25vd25UeXBlc2IGcHJvdG8zCoYECh5nb29nbGUvcHJvdG9idWYvd3JhcHBlcnMucHJvdG8SD2dvb2dsZS5wcm90b2J1ZiIjCgtEb3VibGVWYWx1ZRIUCgV2YWx1ZRgBIAEoAVIFdmFsdWUiIgoKRmxvYXRWYWx1ZRIUCgV2YWx1ZRgBIAEoAlIFdmFsdWUiIgoKSW50NjRWYWx1ZRIUCgV2YWx1ZRgBIAEoA1IFdmFsdWUiIwoLVUludDY0VmFsdWUSFAoFdmFsdWUYASABKARSBXZhbHVlIiIKCkludDMyVmFsdWUSFAoFdmFsdWUYASABKAVSBXZhbHVlIiMKC1VJbnQzMlZhbHVlEhQKBXZhbHVlGAEgASgNUgV2YWx1ZSIhCglCb29sVmFsdWUSFAoFdmFsdWUYASABKAhSBXZhbHVlIiMKC1N0cmluZ1ZhbHVlEhQKBXZhbHVlGAEgASgJUgV2YWx1ZSIiCgpCeXRlc1ZhbHVlEhQKBXZhbHVlGAEgASgMUgV2YWx1ZUKDAQoTY29tLmdvb2dsZS5wcm90b2J1ZkINV3JhcHBlcnNQcm90b1ABWjFnb29nbGUuZ29sYW5nLm9yZy9wcm90b2J1Zi90eXBlcy9rbm93bi93cmFwcGVyc3Bi+AEBogIDR1BCqgIeR29vZ2xlLlByb3RvYnVmLldlbGxLbm93blR5cGVzYgZwcm90bzMKxwMKGnByb3RvL2ZlYXR1cmUvY2xhdXNlLnByb3RvEhFidWNrZXRlZXIuZmVhdHVyZSLaAgoGQ2xhdXNlEg4KAmlkGAEgASgJUgJpZBIcCglhdHRyaWJ1dGUYAiABKAlSCWF0dHJpYnV0ZRI+CghvcGVyYXRvchgDIAEoDjIiLmJ1Y2tldGVlci5mZWF0dXJlLkNsYXVzZS5PcGVyYXRvclIIb3BlcmF0b3ISFgoGdmFsdWVzGAQgAygJUgZ2YWx1ZXMiyQEKCE9wZXJhdG9yEgoKBkVRVUFMUxAAEgYKAklOEAESDQoJRU5EU19XSVRIEAISDwoLU1RBUlRTX1dJVEgQAxILCgdTRUdNRU5UEAQSCwoHR1JFQVRFUhAFEhQKEEdSRUFURVJfT1JfRVFVQUwQBhIICgRMRVNTEAcSEQoNTEVTU19PUl9FUVVBTBAIEgoKBkJFRk9SRRAJEgkKBUFGVEVSEAoSEAoMRkVBVFVSRV9GTEFHEAsSEwoPUEFSVElBTExZX01BVENIEAxCMVovZ2l0aHViLmNvbS9idWNrZXRlZXItaW8vYnVja2V0ZWVyL3Byb3RvL2ZlYXR1cmViBnByb3RvMwq7BAoccHJvdG8vZmVhdHVyZS9zdHJhdGVneS5wcm90bxIRYnVja2V0ZWVyLmZlYXR1cmUiLQoNRml4ZWRTdHJhdGVneRIcCgl2YXJpYXRpb24YASABKAlSCXZhcmlhdGlvbiKiAQoPUm9sbG91dFN0cmF0ZWd5EkwKCnZhcmlhdGlvbnMYASADKAsyLC5idWNrZXRlZXIuZmVhdHVyZS5Sb2xsb3V0U3RyYXRlZ3kuVmFyaWF0aW9uUgp2YXJpYXRpb25zGkEKCVZhcmlhdGlvbhIcCgl2YXJpYXRpb24YASABKAlSCXZhcmlhdGlvbhIWCgZ3ZWlnaHQYAiABKAVSBndlaWdodCL4AQoIU3RyYXRlZ3kSNAoEdHlwZRgBIAEoDjIgLmJ1Y2tldGVlci5mZWF0dXJlLlN0cmF0ZWd5LlR5cGVSBHR5cGUSRwoOZml4ZWRfc3RyYXRlZ3kYAiABKAsyIC5idWNrZXRlZXIuZmVhdHVyZS5GaXhlZFN0cmF0ZWd5Ug1maXhlZFN0cmF0ZWd5Ek0KEHJvbGxvdXRfc3RyYXRlZ3kYAyABKAsyIi5idWNrZXRlZXIuZmVhdHVyZS5Sb2xsb3V0U3RyYXRlZ3lSD3JvbGxvdXRTdHJhdGVneSIeCgRUeXBlEgkKBUZJWEVEEAASCwoHUk9MTE9VVBABQjFaL2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9mZWF0dXJlYgZwcm90bzMKqQIKGHByb3RvL2ZlYXR1cmUvcnVsZS5wcm90bxIRYnVja2V0ZWVyLmZlYXR1cmUaGnByb3RvL2ZlYXR1cmUvY2xhdXNlLnByb3RvGhxwcm90by9mZWF0dXJlL3N0cmF0ZWd5LnByb3RvIoQBCgRSdWxlEg4KAmlkGAEgASgJUgJpZBI3CghzdHJhdGVneRgCIAEoCzIbLmJ1Y2tldGVlci5mZWF0dXJlLlN0cmF0ZWd5UghzdHJhdGVneRIzCgdjbGF1c2VzGAMgAygLMhkuYnVja2V0ZWVyLmZlYXR1cmUuQ2xhdXNlUgdjbGF1c2VzQjFaL2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9mZWF0dXJlYgZwcm90bzMKqAEKGnByb3RvL2ZlYXR1cmUvdGFyZ2V0LnByb3RvEhFidWNrZXRlZXIuZmVhdHVyZSI8CgZUYXJnZXQSHAoJdmFyaWF0aW9uGAEgASgJUgl2YXJpYXRpb24SFAoFdXNlcnMYAiADKAlSBXVzZXJzQjFaL2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9mZWF0dXJlYgZwcm90bzMK1gEKHXByb3RvL2ZlYXR1cmUvdmFyaWF0aW9uLnByb3RvEhFidWNrZXRlZXIuZmVhdHVyZSJnCglWYXJpYXRpb24SDgoCaWQYASABKAlSAmlkEhQKBXZhbHVlGAIgASgJUgV2YWx1ZRISCgRuYW1lGAMgASgJUgRuYW1lEiAKC2Rlc2NyaXB0aW9uGAQgASgJUgtkZXNjcmlwdGlvbkIxWi9naXRodWIuY29tL2J1Y2tldGVlci1pby9idWNrZXRlZXIvcHJvdG8vZmVhdHVyZWIGcHJvdG8zCvQCCipwcm90by9mZWF0dXJlL2ZlYXR1cmVfbGFzdF91c2VkX2luZm8ucHJvdG8SEWJ1Y2tldGVlci5mZWF0dXJlIvcBChNGZWF0dXJlTGFzdFVzZWRJbmZvEh0KCmZlYXR1cmVfaWQYASABKAlSCWZlYXR1cmVJZBIYCgd2ZXJzaW9uGAIgASgFUgd2ZXJzaW9uEiAKDGxhc3RfdXNlZF9hdBgDIAEoA1IKbGFzdFVzZWRBdBIdCgpjcmVhdGVkX2F0GAQgASgDUgljcmVhdGVkQXQSMgoVY2xpZW50X29sZGVzdF92ZXJzaW9uGAUgASgJUhNjbGllbnRPbGRlc3RWZXJzaW9uEjIKFWNsaWVudF9sYXRlc3RfdmVyc2lvbhgGIAEoCVITY2xpZW50TGF0ZXN0VmVyc2lvbkIxWi9naXRodWIuY29tL2J1Y2tldGVlci1pby9idWNrZXRlZXIvcHJvdG8vZmVhdHVyZWIGcHJvdG8zCsIBCiBwcm90by9mZWF0dXJlL3ByZXJlcXVpc2l0ZS5wcm90bxIRYnVja2V0ZWVyLmZlYXR1cmUiUAoMUHJlcmVxdWlzaXRlEh0KCmZlYXR1cmVfaWQYASABKAlSCWZlYXR1cmVJZBIhCgx2YXJpYXRpb25faWQYAiABKAlSC3ZhcmlhdGlvbklkQjFaL2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9mZWF0dXJlYgZwcm90bzMKswwKG3Byb3RvL2ZlYXR1cmUvZmVhdHVyZS5wcm90bxIRYnVja2V0ZWVyLmZlYXR1cmUaGHByb3RvL2ZlYXR1cmUvcnVsZS5wcm90bxoacHJvdG8vZmVhdHVyZS90YXJnZXQucHJvdG8aHXByb3RvL2ZlYXR1cmUvdmFyaWF0aW9uLnByb3RvGhxwcm90by9mZWF0dXJlL3N0cmF0ZWd5LnByb3RvGipwcm90by9mZWF0dXJlL2ZlYXR1cmVfbGFzdF91c2VkX2luZm8ucHJvdG8aIHByb3RvL2ZlYXR1cmUvcHJlcmVxdWlzaXRlLnByb3RvItIHCgdGZWF0dXJlEg4KAmlkGAEgASgJUgJpZBISCgRuYW1lGAIgASgJUgRuYW1lEiAKC2Rlc2NyaXB0aW9uGAMgASgJUgtkZXNjcmlwdGlvbhIYCgdlbmFibGVkGAQgASgIUgdlbmFibGVkEhgKB2RlbGV0ZWQYBSABKAhSB2RlbGV0ZWQSOQoWZXZhbHVhdGlvbl91bmRlbGF5YWJsZRgGIAEoCEICGAFSFWV2YWx1YXRpb25VbmRlbGF5YWJsZRIQCgN0dGwYByABKAVSA3R0bBIYCgd2ZXJzaW9uGAggASgFUgd2ZXJzaW9uEh0KCmNyZWF0ZWRfYXQYCSABKANSCWNyZWF0ZWRBdBIdCgp1cGRhdGVkX2F0GAogASgDUgl1cGRhdGVkQXQSPAoKdmFyaWF0aW9ucxgLIAMoCzIcLmJ1Y2tldGVlci5mZWF0dXJlLlZhcmlhdGlvblIKdmFyaWF0aW9ucxIzCgd0YXJnZXRzGAwgAygLMhkuYnVja2V0ZWVyLmZlYXR1cmUuVGFyZ2V0Ugd0YXJnZXRzEi0KBXJ1bGVzGA0gAygLMhcuYnVja2V0ZWVyLmZlYXR1cmUuUnVsZVIFcnVsZXMSRgoQZGVmYXVsdF9zdHJhdGVneRgOIAEoCzIbLmJ1Y2tldGVlci5mZWF0dXJlLlN0cmF0ZWd5Ug9kZWZhdWx0U3RyYXRlZ3kSIwoNb2ZmX3ZhcmlhdGlvbhgPIAEoCVIMb2ZmVmFyaWF0aW9uEhIKBHRhZ3MYECADKAlSBHRhZ3MSTAoObGFzdF91c2VkX2luZm8YESABKAsyJi5idWNrZXRlZXIuZmVhdHVyZS5GZWF0dXJlTGFzdFVzZWRJbmZvUgxsYXN0VXNlZEluZm8SHgoKbWFpbnRhaW5lchgSIAEoCVIKbWFpbnRhaW5lchJPCg52YXJpYXRpb25fdHlwZRgTIAEoDjIoLmJ1Y2tldGVlci5mZWF0dXJlLkZlYXR1cmUuVmFyaWF0aW9uVHlwZVINdmFyaWF0aW9uVHlwZRIaCghhcmNoaXZlZBgUIAEoCFIIYXJjaGl2ZWQSRQoNcHJlcmVxdWlzaXRlcxgVIAMoCzIfLmJ1Y2tldGVlci5mZWF0dXJlLlByZXJlcXVpc2l0ZVINcHJlcmVxdWlzaXRlcxIjCg1zYW1wbGluZ19zZWVkGBYgASgJUgxzYW1wbGluZ1NlZWQiPgoNVmFyaWF0aW9uVHlwZRIKCgZTVFJJTkcQABILCgdCT09MRUFOEAESCgoGTlVNQkVSEAISCAoESlNPThADIlIKCEZlYXR1cmVzEjYKCGZlYXR1cmVzGAEgAygLMhouYnVja2V0ZWVyLmZlYXR1cmUuRmVhdHVyZVIIZmVhdHVyZXMSDgoCaWQYAiABKAlSAmlkInMKEkVudmlyb25tZW50RmVhdHVyZRIlCg5lbnZpcm9ubWVudF9pZBgBIAEoCVINZW52aXJvbm1lbnRJZBI2CghmZWF0dXJlcxgCIAMoCzIaLmJ1Y2tldGVlci5mZWF0dXJlLkZlYXR1cmVSCGZlYXR1cmVzImcKA1RhZxIOCgJpZBgBIAEoCVICaWQSHQoKY3JlYXRlZF9hdBgCIAEoA1IJY3JlYXRlZEF0Eh0KCnVwZGF0ZWRfYXQYAyABKANSCXVwZGF0ZWRBdBISCgRuYW1lGAQgASgJUgRuYW1lQjFaL2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9mZWF0dXJlYgZwcm90bzMKtQgKG3Byb3RvL2ZlYXR1cmUvc2VnbWVudC5wcm90bxIRYnVja2V0ZWVyLmZlYXR1cmUaGHByb3RvL2ZlYXR1cmUvcnVsZS5wcm90bxobcHJvdG8vZmVhdHVyZS9mZWF0dXJlLnByb3RvIrQECgdTZWdtZW50Eg4KAmlkGAEgASgJUgJpZBISCgRuYW1lGAIgASgJUgRuYW1lEiAKC2Rlc2NyaXB0aW9uGAMgASgJUgtkZXNjcmlwdGlvbhItCgVydWxlcxgEIAMoCzIXLmJ1Y2tldGVlci5mZWF0dXJlLlJ1bGVSBXJ1bGVzEh0KCmNyZWF0ZWRfYXQYBSABKANSCWNyZWF0ZWRBdBIdCgp1cGRhdGVkX2F0GAYgASgDUgl1cGRhdGVkQXQSHAoHdmVyc2lvbhgHIAEoA0ICGAFSB3ZlcnNpb24SGAoHZGVsZXRlZBgIIAEoCFIHZGVsZXRlZBIuChNpbmNsdWRlZF91c2VyX2NvdW50GAkgASgDUhFpbmNsdWRlZFVzZXJDb3VudBIyChNleGNsdWRlZF91c2VyX2NvdW50GAogASgDQgIYAVIRZXhjbHVkZWRVc2VyQ291bnQSOQoGc3RhdHVzGAsgASgOMiEuYnVja2V0ZWVyLmZlYXR1cmUuU2VnbWVudC5TdGF0dXNSBnN0YXR1cxInChBpc19pbl91c2Vfc3RhdHVzGAwgASgIUg1pc0luVXNlU3RhdHVzEjYKCGZlYXR1cmVzGA0gAygLMhouYnVja2V0ZWVyLmZlYXR1cmUuRmVhdHVyZVIIZmVhdHVyZXMiPgoGU3RhdHVzEgsKB0lOSVRJQUwQABINCglVUExPQURJTkcQARIMCghTVUNFRURFRBACEgoKBkZBSUxFRBADItQBCgtTZWdtZW50VXNlchIOCgJpZBgBIAEoCVICaWQSHQoKc2VnbWVudF9pZBgCIAEoCVIJc2VnbWVudElkEhcKB3VzZXJfaWQYAyABKAlSBnVzZXJJZBI6CgVzdGF0ZRgEIAEoDjIkLmJ1Y2tldGVlci5mZWF0dXJlLlNlZ21lbnRVc2VyLlN0YXRlUgVzdGF0ZRIYCgdkZWxldGVkGAUgASgIUgdkZWxldGVkIicKBVN0YXRlEgwKCElOQ0xVREVEEAASEAoIRVhDTFVERUQQARoCCAEiggEKDFNlZ21lbnRVc2VycxIdCgpzZWdtZW50X2lkGAEgASgJUglzZWdtZW50SWQSNAoFdXNlcnMYAiADKAsyHi5idWNrZXRlZXIuZmVhdHVyZS5TZWdtZW50VXNlclIFdXNlcnMSHQoKdXBkYXRlZF9hdBgDIAEoA1IJdXBkYXRlZEF0QjFaL2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9mZWF0dXJlYgZwcm90bzMK5wMKI3Byb3RvL2Vudmlyb25tZW50L2Vudmlyb25tZW50LnByb3RvEhVidWNrZXRlZXIuZW52aXJvbm1lbnQi6QIKDUVudmlyb25tZW50VjISDgoCaWQYASABKAlSAmlkEhIKBG5hbWUYAiABKAlSBG5hbWUSGQoIdXJsX2NvZGUYAyABKAlSB3VybENvZGUSIAoLZGVzY3JpcHRpb24YBCABKAlSC2Rlc2NyaXB0aW9uEh0KCnByb2plY3RfaWQYBSABKAlSCXByb2plY3RJZBIaCghhcmNoaXZlZBgGIAEoCFIIYXJjaGl2ZWQSHQoKY3JlYXRlZF9hdBgHIAEoA1IJY3JlYXRlZEF0Eh0KCnVwZGF0ZWRfYXQYCCABKANSCXVwZGF0ZWRBdBInCg9vcmdhbml6YXRpb25faWQYCSABKAlSDm9yZ2FuaXphdGlvbklkEicKD3JlcXVpcmVfY29tbWVudBgKIAEoCFIOcmVxdWlyZUNvbW1lbnQSLAoSZmVhdHVyZV9mbGFnX2NvdW50GAsgASgFUhBmZWF0dXJlRmxhZ0NvdW50QjVaM2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9lbnZpcm9ubWVudGIGcHJvdG8zCv0DCh9wcm90by9lbnZpcm9ubWVudC9wcm9qZWN0LnByb3RvEhVidWNrZXRlZXIuZW52aXJvbm1lbnQigwMKB1Byb2plY3QSDgoCaWQYASABKAlSAmlkEiAKC2Rlc2NyaXB0aW9uGAIgASgJUgtkZXNjcmlwdGlvbhIaCghkaXNhYmxlZBgDIAEoCFIIZGlzYWJsZWQSFAoFdHJpYWwYBCABKAhSBXRyaWFsEiMKDWNyZWF0b3JfZW1haWwYBSABKAlSDGNyZWF0b3JFbWFpbBIdCgpjcmVhdGVkX2F0GAYgASgDUgljcmVhdGVkQXQSHQoKdXBkYXRlZF9hdBgHIAEoA1IJdXBkYXRlZEF0EhIKBG5hbWUYCCABKAlSBG5hbWUSGQoIdXJsX2NvZGUYCSABKAlSB3VybENvZGUSJwoPb3JnYW5pemF0aW9uX2lkGAogASgJUg5vcmdhbml6YXRpb25JZBIrChFlbnZpcm9ubWVudF9jb3VudBgLIAEoBVIQZW52aXJvbm1lbnRDb3VudBIsChJmZWF0dXJlX2ZsYWdfY291bnQYDCABKAVSEGZlYXR1cmVGbGFnQ291bnRCNVozZ2l0aHViLmNvbS9idWNrZXRlZXItaW8vYnVja2V0ZWVyL3Byb3RvL2Vudmlyb25tZW50YgZwcm90bzMKrwQKJHByb3RvL2Vudmlyb25tZW50L29yZ2FuaXphdGlvbi5wcm90bxIVYnVja2V0ZWVyLmVudmlyb25tZW50IrADCgxPcmdhbml6YXRpb24SDgoCaWQYASABKAlSAmlkEhIKBG5hbWUYAiABKAlSBG5hbWUSGQoIdXJsX2NvZGUYAyABKAlSB3VybENvZGUSIAoLZGVzY3JpcHRpb24YBCABKAlSC2Rlc2NyaXB0aW9uEhoKCGRpc2FibGVkGAUgASgIUghkaXNhYmxlZBIaCghhcmNoaXZlZBgGIAEoCFIIYXJjaGl2ZWQSFAoFdHJpYWwYByABKAhSBXRyaWFsEh0KCmNyZWF0ZWRfYXQYCCABKANSCWNyZWF0ZWRBdBIdCgp1cGRhdGVkX2F0GAkgASgDUgl1cGRhdGVkQXQSIQoMc3lzdGVtX2FkbWluGAogASgIUgtzeXN0ZW1BZG1pbhIjCg1wcm9qZWN0X2NvdW50GAsgASgFUgxwcm9qZWN0Q291bnQSKwoRZW52aXJvbm1lbnRfY291bnQYDCABKAVSEGVudmlyb25tZW50Q291bnQSHQoKdXNlcl9jb3VudBgNIAEoBVIJdXNlckNvdW50Eh8KC293bmVyX2VtYWlsGA4gASgJUgpvd25lckVtYWlsQjVaM2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9lbnZpcm9ubWVudGIGcHJvdG8zCpADCiFwcm90by9hY2NvdW50L3NlYXJjaF9maWx0ZXIucHJvdG8SEWJ1Y2tldGVlci5hY2NvdW50IukBCgxTZWFyY2hGaWx0ZXISDgoCaWQYASABKAlSAmlkEhIKBG5hbWUYAiABKAlSBG5hbWUSFAoFcXVlcnkYAyABKAlSBXF1ZXJ5ElEKEmZpbHRlcl90YXJnZXRfdHlwZRgEIAEoDjIjLmJ1Y2tldGVlci5hY2NvdW50LkZpbHRlclRhcmdldFR5cGVSEGZpbHRlclRhcmdldFR5cGUSJQoOZW52aXJvbm1lbnRfaWQYBSABKAlSDWVudmlyb25tZW50SWQSJQoOZGVmYXVsdF9maWx0ZXIYBiABKAhSDWRlZmF1bHRGaWx0ZXIqMQoQRmlsdGVyVGFyZ2V0VHlwZRILCgdVTktOT1dOEAASEAoMRkVBVFVSRV9GTEFHEAFCMVovZ2l0aHViLmNvbS9idWNrZXRlZXItaW8vYnVja2V0ZWVyL3Byb3RvL2FjY291bnRiBnByb3RvMwrUEwobcHJvdG8vYWNjb3VudC9hY2NvdW50LnByb3RvEhFidWNrZXRlZXIuYWNjb3VudBojcHJvdG8vZW52aXJvbm1lbnQvZW52aXJvbm1lbnQucHJvdG8aH3Byb3RvL2Vudmlyb25tZW50L3Byb2plY3QucHJvdG8aJHByb3RvL2Vudmlyb25tZW50L29yZ2FuaXphdGlvbi5wcm90bxohcHJvdG8vYWNjb3VudC9zZWFyY2hfZmlsdGVyLnByb3RvIqsCCgdBY2NvdW50Eg4KAmlkGAEgASgJUgJpZBIUCgVlbWFpbBgCIAEoCVIFZW1haWwSEgoEbmFtZRgDIAEoCVIEbmFtZRIzCgRyb2xlGAQgASgOMh8uYnVja2V0ZWVyLmFjY291bnQuQWNjb3VudC5Sb2xlUgRyb2xlEhoKCGRpc2FibGVkGAUgASgIUghkaXNhYmxlZBIdCgpjcmVhdGVkX2F0GAYgASgDUgljcmVhdGVkQXQSHQoKdXBkYXRlZF9hdBgHIAEoA1IJdXBkYXRlZEF0EhgKB2RlbGV0ZWQYCCABKAhSB2RlbGV0ZWQiOQoEUm9sZRIKCgZWSUVXRVIQABIKCgZFRElUT1IQARIJCgVPV05FUhACEg4KClVOQVNTSUdORUQQYzoCGAEivAgKCUFjY291bnRWMhIUCgVlbWFpbBgBIAEoCVIFZW1haWwSEgoEbmFtZRgCIAEoCVIEbmFtZRIoChBhdmF0YXJfaW1hZ2VfdXJsGAMgASgJUg5hdmF0YXJJbWFnZVVybBInCg9vcmdhbml6YXRpb25faWQYBCABKAlSDm9yZ2FuaXphdGlvbklkElsKEW9yZ2FuaXphdGlvbl9yb2xlGAUgASgOMi4uYnVja2V0ZWVyLmFjY291bnQuQWNjb3VudFYyLlJvbGUuT3JnYW5pemF0aW9uUhBvcmdhbml6YXRpb25Sb2xlElkKEWVudmlyb25tZW50X3JvbGVzGAYgAygLMiwuYnVja2V0ZWVyLmFjY291bnQuQWNjb3VudFYyLkVudmlyb25tZW50Um9sZVIQZW52aXJvbm1lbnRSb2xlcxIaCghkaXNhYmxlZBgHIAEoCFIIZGlzYWJsZWQSHQoKY3JlYXRlZF9hdBgIIAEoA1IJY3JlYXRlZEF0Eh0KCnVwZGF0ZWRfYXQYCSABKANSCXVwZGF0ZWRBdBJGCg5zZWFyY2hfZmlsdGVycxgKIAMoCzIfLmJ1Y2tldGVlci5hY2NvdW50LlNlYXJjaEZpbHRlclINc2VhcmNoRmlsdGVycxIdCgpmaXJzdF9uYW1lGAsgASgJUglmaXJzdE5hbWUSGwoJbGFzdF9uYW1lGAwgASgJUghsYXN0TmFtZRIaCghsYW5ndWFnZRgNIAEoCVIIbGFuZ3VhZ2USGwoJbGFzdF9zZWVuGA4gASgDUghsYXN0U2VlbhIoChBhdmF0YXJfZmlsZV90eXBlGA8gASgJUg5hdmF0YXJGaWxlVHlwZRIhCgxhdmF0YXJfaW1hZ2UYECABKAxSC2F2YXRhckltYWdlEisKEWVudmlyb25tZW50X2NvdW50GBEgASgFUhBlbnZpcm9ubWVudENvdW50EhIKBHRhZ3MYEiADKAlSBHRhZ3Ma1wEKBFJvbGUiWQoLRW52aXJvbm1lbnQSGgoWRW52aXJvbm1lbnRfVU5BU1NJR05FRBAAEhYKEkVudmlyb25tZW50X1ZJRVdFUhABEhYKEkVudmlyb25tZW50X0VESVRPUhACInQKDE9yZ2FuaXphdGlvbhIbChdPcmdhbml6YXRpb25fVU5BU1NJR05FRBAAEhcKE09yZ2FuaXphdGlvbl9NRU1CRVIQARIWChJPcmdhbml6YXRpb25fQURNSU4QAhIWChJPcmdhbml6YXRpb25fT1dORVIQAxp7Cg9FbnZpcm9ubWVudFJvbGUSJQoOZW52aXJvbm1lbnRfaWQYASABKAlSDWVudmlyb25tZW50SWQSQQoEcm9sZRgCIAEoDjItLmJ1Y2tldGVlci5hY2NvdW50LkFjY291bnRWMi5Sb2xlLkVudmlyb25tZW50UgRyb2xlIuoGCg5Db25zb2xlQWNjb3VudBIUCgVlbWFpbBgBIAEoCVIFZW1haWwSEgoEbmFtZRgCIAEoCVIEbmFtZRIdCgphdmF0YXJfdXJsGAMgASgJUglhdmF0YXJVcmwSJgoPaXNfc3lzdGVtX2FkbWluGAQgASgIUg1pc1N5c3RlbUFkbWluEkcKDG9yZ2FuaXphdGlvbhgFIAEoCzIjLmJ1Y2tldGVlci5lbnZpcm9ubWVudC5Pcmdhbml6YXRpb25SDG9yZ2FuaXphdGlvbhJbChFvcmdhbml6YXRpb25fcm9sZRgGIAEoDjIuLmJ1Y2tldGVlci5hY2NvdW50LkFjY291bnRWMi5Sb2xlLk9yZ2FuaXphdGlvblIQb3JnYW5pemF0aW9uUm9sZRJeChFlbnZpcm9ubWVudF9yb2xlcxgHIAMoCzIxLmJ1Y2tldGVlci5hY2NvdW50LkNvbnNvbGVBY2NvdW50LkVudmlyb25tZW50Um9sZVIQZW52aXJvbm1lbnRSb2xlcxJGCg5zZWFyY2hfZmlsdGVycxgIIAMoCzIfLmJ1Y2tldGVlci5hY2NvdW50LlNlYXJjaEZpbHRlclINc2VhcmNoRmlsdGVycxIdCgpmaXJzdF9uYW1lGAkgASgJUglmaXJzdE5hbWUSGwoJbGFzdF9uYW1lGAogASgJUghsYXN0TmFtZRIaCghsYW5ndWFnZRgLIAEoCVIIbGFuZ3VhZ2USKAoQYXZhdGFyX2ZpbGVfdHlwZRgMIAEoCVIOYXZhdGFyRmlsZVR5cGUSIQoMYXZhdGFyX2ltYWdlGA0gASgMUgthdmF0YXJJbWFnZRIbCglsYXN0X3NlZW4YDiABKANSCGxhc3RTZWVuGtYBCg9FbnZpcm9ubWVudFJvbGUSRgoLZW52aXJvbm1lbnQYASABKAsyJC5idWNrZXRlZXIuZW52aXJvbm1lbnQuRW52aXJvbm1lbnRWMlILZW52aXJvbm1lbnQSOAoHcHJvamVjdBgCIAEoCzIeLmJ1Y2tldGVlci5lbnZpcm9ubWVudC5Qcm9qZWN0Ugdwcm9qZWN0EkEKBHJvbGUYAyABKA4yLS5idWNrZXRlZXIuYWNjb3VudC5BY2NvdW50VjIuUm9sZS5FbnZpcm9ubWVudFIEcm9sZUIxWi9naXRodWIuY29tL2J1Y2tldGVlci1pby9idWNrZXRlZXIvcHJvdG8vYWNjb3VudGIGcHJvdG8zCuYGChtwcm90by9hY2NvdW50L2FwaV9rZXkucHJvdG8SEWJ1Y2tldGVlci5hY2NvdW50GiNwcm90by9lbnZpcm9ubWVudC9lbnZpcm9ubWVudC5wcm90byK7AwoGQVBJS2V5Eg4KAmlkGAEgASgJUgJpZBISCgRuYW1lGAIgASgJUgRuYW1lEjIKBHJvbGUYAyABKA4yHi5idWNrZXRlZXIuYWNjb3VudC5BUElLZXkuUm9sZVIEcm9sZRIaCghkaXNhYmxlZBgEIAEoCFIIZGlzYWJsZWQSHQoKY3JlYXRlZF9hdBgFIAEoA1IJY3JlYXRlZEF0Eh0KCnVwZGF0ZWRfYXQYBiABKANSCXVwZGF0ZWRBdBIeCgptYWludGFpbmVyGAcgASgJUgptYWludGFpbmVyEhcKB2FwaV9rZXkYCCABKAlSBmFwaUtleRIgCgtkZXNjcmlwdGlvbhgJIAEoCVILZGVzY3JpcHRpb24SKQoQZW52aXJvbm1lbnRfbmFtZRgKIAEoCVIPZW52aXJvbm1lbnROYW1lInkKBFJvbGUSCwoHVU5LTk9XThAAEg4KClNES19DTElFTlQQARIOCgpTREtfU0VSVkVSEAISGAoUUFVCTElDX0FQSV9SRUFEX09OTFkQAxIUChBQVUJMSUNfQVBJX1dSSVRFEAQSFAoQUFVCTElDX0FQSV9BRE1JThAFIpUCChFFbnZpcm9ubWVudEFQSUtleRIyCgdhcGlfa2V5GAIgASgLMhkuYnVja2V0ZWVyLmFjY291bnQuQVBJS2V5UgZhcGlLZXkSMQoUZW52aXJvbm1lbnRfZGlzYWJsZWQYAyABKAhSE2Vudmlyb25tZW50RGlzYWJsZWQSIQoKcHJvamVjdF9pZBgEIAEoCUICGAFSCXByb2plY3RJZBJGCgtlbnZpcm9ubWVudBgFIAEoCzIkLmJ1Y2tldGVlci5lbnZpcm9ubWVudC5FbnZpcm9ubWVudFYyUgtlbnZpcm9ubWVudBIoChBwcm9qZWN0X3VybF9jb2RlGAYgASgJUg5wcm9qZWN0VXJsQ29kZUoECAEQAkIxWi9naXRodWIuY29tL2J1Y2tldGVlci1pby9idWNrZXRlZXIvcHJvdG8vYWNjb3VudGIGcHJvdG8zCpoLChpwcm90by9hdXRvb3BzL2NsYXVzZS5wcm90bxIRYnVja2V0ZWVyLmF1dG9vcHMaGWdvb2dsZS9wcm90b2J1Zi9hbnkucHJvdG8ihgEKBkNsYXVzZRIOCgJpZBgBIAEoCVICaWQSLAoGY2xhdXNlGAIgASgLMhQuZ29vZ2xlLnByb3RvYnVmLkFueVIGY2xhdXNlEj4KC2FjdGlvbl90eXBlGAMgASgOMh0uYnVja2V0ZWVyLmF1dG9vcHMuQWN0aW9uVHlwZVIKYWN0aW9uVHlwZSLfAgoST3BzRXZlbnRSYXRlQ2xhdXNlEiEKDHZhcmlhdGlvbl9pZBgCIAEoCVILdmFyaWF0aW9uSWQSFwoHZ29hbF9pZBgDIAEoCVIGZ29hbElkEhsKCW1pbl9jb3VudBgEIAEoA1IIbWluQ291bnQSKQoQdGhyZWFkc2hvbGRfcmF0ZRgFIAEoAVIPdGhyZWFkc2hvbGRSYXRlEkoKCG9wZXJhdG9yGAYgASgOMi4uYnVja2V0ZWVyLmF1dG9vcHMuT3BzRXZlbnRSYXRlQ2xhdXNlLk9wZXJhdG9yUghvcGVyYXRvchI+CgthY3Rpb25fdHlwZRgHIAEoDjIdLmJ1Y2tldGVlci5hdXRvb3BzLkFjdGlvblR5cGVSCmFjdGlvblR5cGUiMwoIT3BlcmF0b3ISFAoQR1JFQVRFUl9PUl9FUVVBTBAAEhEKDUxFU1NfT1JfRVFVQUwQAUoECAEQAiJkCg5EYXRldGltZUNsYXVzZRISCgR0aW1lGAEgASgDUgR0aW1lEj4KC2FjdGlvbl90eXBlGAIgASgOMh0uYnVja2V0ZWVyLmF1dG9vcHMuQWN0aW9uVHlwZVIKYWN0aW9uVHlwZSKXAQoaUHJvZ3Jlc3NpdmVSb2xsb3V0U2NoZWR1bGUSHwoLc2NoZWR1bGVfaWQYASABKAlSCnNjaGVkdWxlSWQSHQoKZXhlY3V0ZV9hdBgCIAEoA1IJZXhlY3V0ZUF0EhYKBndlaWdodBgDIAEoBVIGd2VpZ2h0EiEKDHRyaWdnZXJlZF9hdBgEIAEoA1ILdHJpZ2dlcmVkQXQimAEKJlByb2dyZXNzaXZlUm9sbG91dE1hbnVhbFNjaGVkdWxlQ2xhdXNlEksKCXNjaGVkdWxlcxgBIAMoCzItLmJ1Y2tldGVlci5hdXRvb3BzLlByb2dyZXNzaXZlUm9sbG91dFNjaGVkdWxlUglzY2hlZHVsZXMSIQoMdmFyaWF0aW9uX2lkGAIgASgJUgt2YXJpYXRpb25JZCLYAgooUHJvZ3Jlc3NpdmVSb2xsb3V0VGVtcGxhdGVTY2hlZHVsZUNsYXVzZRJLCglzY2hlZHVsZXMYASADKAsyLS5idWNrZXRlZXIuYXV0b29wcy5Qcm9ncmVzc2l2ZVJvbGxvdXRTY2hlZHVsZVIJc2NoZWR1bGVzEmAKCGludGVydmFsGAIgASgOMkQuYnVja2V0ZWVyLmF1dG9vcHMuUHJvZ3Jlc3NpdmVSb2xsb3V0VGVtcGxhdGVTY2hlZHVsZUNsYXVzZS5JbnRlcnZhbFIIaW50ZXJ2YWwSHgoKaW5jcmVtZW50cxgDIAEoA1IKaW5jcmVtZW50cxIhCgx2YXJpYXRpb25faWQYBCABKAlSC3ZhcmlhdGlvbklkIjoKCEludGVydmFsEgsKB1VOS05PV04QABIKCgZIT1VSTFkQARIJCgVEQUlMWRACEgoKBldFRUtMWRADKjIKCkFjdGlvblR5cGUSCwoHVU5LTk9XThAAEgoKBkVOQUJMRRABEgsKB0RJU0FCTEUQAkIxWi9naXRodWIuY29tL2J1Y2tldGVlci1pby9idWNrZXRlZXIvcHJvdG8vYXV0b29wc2IGcHJvdG8zCr0FCiFwcm90by9hdXRvb3BzL2F1dG9fb3BzX3J1bGUucHJvdG8SEWJ1Y2tldGVlci5hdXRvb3BzGhpwcm90by9hdXRvb3BzL2NsYXVzZS5wcm90byLQAgoLQXV0b09wc1J1bGUSDgoCaWQYASABKAlSAmlkEh0KCmZlYXR1cmVfaWQYAiABKAlSCWZlYXR1cmVJZBI1CghvcHNfdHlwZRgDIAEoDjIaLmJ1Y2tldGVlci5hdXRvb3BzLk9wc1R5cGVSB29wc1R5cGUSMwoHY2xhdXNlcxgEIAMoCzIZLmJ1Y2tldGVlci5hdXRvb3BzLkNsYXVzZVIHY2xhdXNlcxIdCgpjcmVhdGVkX2F0GAcgASgDUgljcmVhdGVkQXQSHQoKdXBkYXRlZF9hdBgIIAEoA1IJdXBkYXRlZEF0EhgKB2RlbGV0ZWQYCSABKAhSB2RlbGV0ZWQSSAoPYXV0b19vcHNfc3RhdHVzGAogASgOMiAuYnVja2V0ZWVyLmF1dG9vcHMuQXV0b09wc1N0YXR1c1INYXV0b09wc1N0YXR1c0oECAYQByJUCgxBdXRvT3BzUnVsZXMSRAoOYXV0b19vcHNfcnVsZXMYASADKAsyHi5idWNrZXRlZXIuYXV0b29wcy5BdXRvT3BzUnVsZVIMYXV0b09wc1J1bGVzKj8KB09wc1R5cGUSEAoMVFlQRV9VTktOT1dOEAASDAoIU0NIRURVTEUQAhIOCgpFVkVOVF9SQVRFEAMiBAgBEAEqRAoNQXV0b09wc1N0YXR1cxILCgdXQUlUSU5HEAASCwoHUlVOTklORxABEgwKCEZJTklTSEVEEAISCwoHU1RPUFBFRBADQjFaL2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9hdXRvb3BzYgZwcm90bzMK8AMKInByb3RvL25vdGlmaWNhdGlvbi9yZWNpcGllbnQucHJvdG8SFmJ1Y2tldGVlci5ub3RpZmljYXRpb24itwIKCVJlY2lwaWVudBI6CgR0eXBlGAEgASgOMiYuYnVja2V0ZWVyLm5vdGlmaWNhdGlvbi5SZWNpcGllbnQuVHlwZVIEdHlwZRJlChdzbGFja19jaGFubmVsX3JlY2lwaWVudBgCIAEoCzItLmJ1Y2tldGVlci5ub3RpZmljYXRpb24uU2xhY2tDaGFubmVsUmVjaXBpZW50UhVzbGFja0NoYW5uZWxSZWNpcGllbnQSRgoIbGFuZ3VhZ2UYAyABKA4yKi5idWNrZXRlZXIubm90aWZpY2F0aW9uLlJlY2lwaWVudC5MYW5ndWFnZVIIbGFuZ3VhZ2UiGAoEVHlwZRIQCgxTbGFja0NoYW5uZWwQACIlCghMYW5ndWFnZRILCgdFTkdMSVNIEAASDAoISkFQQU5FU0UQASI4ChVTbGFja0NoYW5uZWxSZWNpcGllbnQSHwoLd2ViaG9va191cmwYASABKAlSCndlYmhvb2tVcmxCNlo0Z2l0aHViLmNvbS9idWNrZXRlZXItaW8vYnVja2V0ZWVyL3Byb3RvL25vdGlmaWNhdGlvbmIGcHJvdG8zCuUICiVwcm90by9ub3RpZmljYXRpb24vc3Vic2NyaXB0aW9uLnByb3RvEhZidWNrZXRlZXIubm90aWZpY2F0aW9uGiJwcm90by9ub3RpZmljYXRpb24vcmVjaXBpZW50LnByb3RvIr8HCgxTdWJzY3JpcHRpb24SDgoCaWQYASABKAlSAmlkEh0KCmNyZWF0ZWRfYXQYAiABKANSCWNyZWF0ZWRBdBIdCgp1cGRhdGVkX2F0GAMgASgDUgl1cGRhdGVkQXQSGgoIZGlzYWJsZWQYBCABKAhSCGRpc2FibGVkElIKDHNvdXJjZV90eXBlcxgFIAMoDjIvLmJ1Y2tldGVlci5ub3RpZmljYXRpb24uU3Vic2NyaXB0aW9uLlNvdXJjZVR5cGVSC3NvdXJjZVR5cGVzEj8KCXJlY2lwaWVudBgGIAEoCzIhLmJ1Y2tldGVlci5ub3RpZmljYXRpb24uUmVjaXBpZW50UglyZWNpcGllbnQSEgoEbmFtZRgHIAEoCVIEbmFtZRIlCg5lbnZpcm9ubWVudF9pZBgIIAEoCVINZW52aXJvbm1lbnRJZBIpChBlbnZpcm9ubWVudF9uYW1lGAkgASgJUg9lbnZpcm9ubWVudE5hbWUiyQQKClNvdXJjZVR5cGUSGAoURE9NQUlOX0VWRU5UX0ZFQVRVUkUQABIVChFET01BSU5fRVZFTlRfR09BTBABEhsKF0RPTUFJTl9FVkVOVF9FWFBFUklNRU5UEAISGAoURE9NQUlOX0VWRU5UX0FDQ09VTlQQAxIXChNET01BSU5fRVZFTlRfQVBJS0VZEAQSGAoURE9NQUlOX0VWRU5UX1NFR01FTlQQBRIcChhET01BSU5fRVZFTlRfRU5WSVJPTk1FTlQQBhIeChpET01BSU5fRVZFTlRfQURNSU5fQUNDT1VOVBAHEh0KGURPTUFJTl9FVkVOVF9BVVRPT1BTX1JVTEUQCBIVChFET01BSU5fRVZFTlRfUFVTSBAJEh0KGURPTUFJTl9FVkVOVF9TVUJTQ1JJUFRJT04QChIjCh9ET01BSU5fRVZFTlRfQURNSU5fU1VCU0NSSVBUSU9OEAsSGAoURE9NQUlOX0VWRU5UX1BST0pFQ1QQDBIYChRET01BSU5fRVZFTlRfV0VCSE9PSxANEiQKIERPTUFJTl9FVkVOVF9QUk9HUkVTU0lWRV9ST0xMT1VUEA4SHQoZRE9NQUlOX0VWRU5UX09SR0FOSVpBVElPThAPEh0KGURPTUFJTl9FVkVOVF9GTEFHX1RSSUdHRVIQEBIUChBET01BSU5fRVZFTlRfVEFHEBESEQoNRkVBVFVSRV9TVEFMRRBkEhcKEkVYUEVSSU1FTlRfUlVOTklORxDIARIOCglNQVVfQ09VTlQQrAJCNlo0Z2l0aHViLmNvbS9idWNrZXRlZXItaW8vYnVja2V0ZWVyL3Byb3RvL25vdGlmaWNhdGlvbmIGcHJvdG8zCvcFCidwcm90by9hdXRvb3BzL3Byb2dyZXNzaXZlX3JvbGxvdXQucHJvdG8SEWJ1Y2tldGVlci5hdXRvb3BzGhlnb29nbGUvcHJvdG9idWYvYW55LnByb3RvIuIEChJQcm9ncmVzc2l2ZVJvbGxvdXQSDgoCaWQYASABKAlSAmlkEh0KCmZlYXR1cmVfaWQYAiABKAlSCWZlYXR1cmVJZBIsCgZjbGF1c2UYAyABKAsyFC5nb29nbGUucHJvdG9idWYuQW55UgZjbGF1c2USRAoGc3RhdHVzGAQgASgOMiwuYnVja2V0ZWVyLmF1dG9vcHMuUHJvZ3Jlc3NpdmVSb2xsb3V0LlN0YXR1c1IGc3RhdHVzEh0KCmNyZWF0ZWRfYXQYBSABKANSCWNyZWF0ZWRBdBIdCgp1cGRhdGVkX2F0GAYgASgDUgl1cGRhdGVkQXQSPgoEdHlwZRgHIAEoDjIqLmJ1Y2tldGVlci5hdXRvb3BzLlByb2dyZXNzaXZlUm9sbG91dC5UeXBlUgR0eXBlEk4KCnN0b3BwZWRfYnkYCCABKA4yLy5idWNrZXRlZXIuYXV0b29wcy5Qcm9ncmVzc2l2ZVJvbGxvdXQuU3RvcHBlZEJ5UglzdG9wcGVkQnkSHQoKc3RvcHBlZF9hdBgJIAEoA1IJc3RvcHBlZEF0IjIKBFR5cGUSEwoPTUFOVUFMX1NDSEVEVUxFEAASFQoRVEVNUExBVEVfU0NIRURVTEUQASI9CgZTdGF0dXMSCwoHV0FJVElORxAAEgsKB1JVTk5JTkcQARIMCghGSU5JU0hFRBACEgsKB1NUT1BQRUQQAyJJCglTdG9wcGVkQnkSCwoHVU5LTk9XThAAEggKBFVTRVIQARIQCgxPUFNfU0NIRURVTEUQAhITCg9PUFNfS0lMTF9TV0lUQ0gQA0IxWi9naXRodWIuY29tL2J1Y2tldGVlci1pby9idWNrZXRlZXIvcHJvdG8vYXV0b29wc2IGcHJvdG8zCqAFCiBwcm90by9mZWF0dXJlL2ZsYWdfdHJpZ2dlci5wcm90bxIRYnVja2V0ZWVyLmZlYXR1cmUirQQKC0ZsYWdUcmlnZ2VyEg4KAmlkGAEgASgJUgJpZBIdCgpmZWF0dXJlX2lkGAIgASgJUglmZWF0dXJlSWQSNwoEdHlwZRgEIAEoDjIjLmJ1Y2tldGVlci5mZWF0dXJlLkZsYWdUcmlnZ2VyLlR5cGVSBHR5cGUSPQoGYWN0aW9uGAUgASgOMiUuYnVja2V0ZWVyLmZlYXR1cmUuRmxhZ1RyaWdnZXIuQWN0aW9uUgZhY3Rpb24SIAoLZGVzY3JpcHRpb24YBiABKAlSC2Rlc2NyaXB0aW9uEiMKDXRyaWdnZXJfY291bnQYByABKAVSDHRyaWdnZXJDb3VudBIqChFsYXN0X3RyaWdnZXJlZF9hdBgIIAEoA1IPbGFzdFRyaWdnZXJlZEF0EhQKBXRva2VuGAkgASgJUgV0b2tlbhIaCghkaXNhYmxlZBgKIAEoCFIIZGlzYWJsZWQSHQoKY3JlYXRlZF9hdBgLIAEoA1IJY3JlYXRlZEF0Eh0KCnVwZGF0ZWRfYXQYDCABKANSCXVwZGF0ZWRBdBIlCg5lbnZpcm9ubWVudF9pZBgNIAEoCVINZW52aXJvbm1lbnRJZCIqCgRUeXBlEhAKDFR5cGVfVU5LTk9XThAAEhAKDFR5cGVfV0VCSE9PSxABIjsKBkFjdGlvbhISCg5BY3Rpb25fVU5LTk9XThAAEg0KCUFjdGlvbl9PThABEg4KCkFjdGlvbl9PRkYQAkoECAMQBEIxWi9naXRodWIuY29tL2J1Y2tldGVlci1pby9idWNrZXRlZXIvcHJvdG8vZmVhdHVyZWIGcHJvdG8zCscDChNwcm90by90YWcvdGFnLnByb3RvEg1idWNrZXRlZXIudGFnIogCCgNUYWcSDgoCaWQYASABKAlSAmlkEhIKBG5hbWUYAiABKAlSBG5hbWUSHQoKY3JlYXRlZF9hdBgDIAEoA1IJY3JlYXRlZEF0Eh0KCnVwZGF0ZWRfYXQYBCABKANSCXVwZGF0ZWRBdBI+CgtlbnRpdHlfdHlwZRgFIAEoDjIdLmJ1Y2tldGVlci50YWcuVGFnLkVudGl0eVR5cGVSCmVudGl0eVR5cGUSJQoOZW52aXJvbm1lbnRfaWQYBiABKAlSDWVudmlyb25tZW50SWQiOAoKRW50aXR5VHlwZRILCgdVTktOT1dOEAASEAoMRkVBVFVSRV9GTEFHEAESCwoHQUNDT1VOVBACIl8KDkVudmlyb25tZW50VGFnEiUKDmVudmlyb25tZW50X2lkGAEgASgJUg1lbnZpcm9ubWVudElkEiYKBHRhZ3MYAiADKAsyEi5idWNrZXRlZXIudGFnLlRhZ1IEdGFnc0ItWitnaXRodWIuY29tL2J1Y2tldGVlci1pby9idWNrZXRlZXIvcHJvdG8vdGFnYgZwcm90bzMKvAcKIXByb3RvL2V4cGVyaW1lbnQvZXhwZXJpbWVudC5wcm90bxIUYnVja2V0ZWVyLmV4cGVyaW1lbnQaHXByb3RvL2ZlYXR1cmUvdmFyaWF0aW9uLnByb3RvItAFCgpFeHBlcmltZW50Eg4KAmlkGAEgASgJUgJpZBIbCgdnb2FsX2lkGAIgASgJQgIYAVIGZ29hbElkEh0KCmZlYXR1cmVfaWQYAyABKAlSCWZlYXR1cmVJZBInCg9mZWF0dXJlX3ZlcnNpb24YBCABKAVSDmZlYXR1cmVWZXJzaW9uEjwKCnZhcmlhdGlvbnMYBSADKAsyHC5idWNrZXRlZXIuZmVhdHVyZS5WYXJpYXRpb25SCnZhcmlhdGlvbnMSGQoIc3RhcnRfYXQYBiABKANSB3N0YXJ0QXQSFwoHc3RvcF9hdBgHIAEoA1IGc3RvcEF0EhwKB3N0b3BwZWQYCCABKAhCAhgBUgdzdG9wcGVkEiEKCnN0b3BwZWRfYXQYCSABKANCAjABUglzdG9wcGVkQXQSHQoKY3JlYXRlZF9hdBgKIAEoA1IJY3JlYXRlZEF0Eh0KCnVwZGF0ZWRfYXQYCyABKANSCXVwZGF0ZWRBdBIYCgdkZWxldGVkGAwgASgIUgdkZWxldGVkEhkKCGdvYWxfaWRzGA0gAygJUgdnb2FsSWRzEhIKBG5hbWUYDiABKAlSBG5hbWUSIAoLZGVzY3JpcHRpb24YDyABKAlSC2Rlc2NyaXB0aW9uEioKEWJhc2VfdmFyaWF0aW9uX2lkGBAgASgJUg9iYXNlVmFyaWF0aW9uSWQSPwoGc3RhdHVzGBIgASgOMicuYnVja2V0ZWVyLmV4cGVyaW1lbnQuRXhwZXJpbWVudC5TdGF0dXNSBnN0YXR1cxIeCgptYWludGFpbmVyGBMgASgJUgptYWludGFpbmVyEhoKCGFyY2hpdmVkGBQgASgIUghhcmNoaXZlZCJCCgZTdGF0dXMSCwoHV0FJVElORxAAEgsKB1JVTk5JTkcQARILCgdTVE9QUEVEEAISEQoNRk9SQ0VfU1RPUFBFRBADSgQIERASIlEKC0V4cGVyaW1lbnRzEkIKC2V4cGVyaW1lbnRzGAEgAygLMiAuYnVja2V0ZWVyLmV4cGVyaW1lbnQuRXhwZXJpbWVudFILZXhwZXJpbWVudHNCNFoyZ2l0aHViLmNvbS9idWNrZXRlZXItaW8vYnVja2V0ZWVyL3Byb3RvL2V4cGVyaW1lbnRiBnByb3RvMwq/BQobcHJvdG8vZXhwZXJpbWVudC9nb2FsLnByb3RvEhRidWNrZXRlZXIuZXhwZXJpbWVudBohcHJvdG8vZXhwZXJpbWVudC9leHBlcmltZW50LnByb3RvGiFwcm90by9hdXRvb3BzL2F1dG9fb3BzX3J1bGUucHJvdG8ihQQKBEdvYWwSDgoCaWQYASABKAlSAmlkEhIKBG5hbWUYAiABKAlSBG5hbWUSIAoLZGVzY3JpcHRpb24YAyABKAlSC2Rlc2NyaXB0aW9uEhgKB2RlbGV0ZWQYBCABKAhSB2RlbGV0ZWQSHQoKY3JlYXRlZF9hdBgFIAEoA1IJY3JlYXRlZEF0Eh0KCnVwZGF0ZWRfYXQYBiABKANSCXVwZGF0ZWRBdBInChBpc19pbl91c2Vfc3RhdHVzGAcgASgIUg1pc0luVXNlU3RhdHVzEhoKCGFyY2hpdmVkGAggASgIUghhcmNoaXZlZBJSCg9jb25uZWN0aW9uX3R5cGUYCSABKA4yKS5idWNrZXRlZXIuZXhwZXJpbWVudC5Hb2FsLkNvbm5lY3Rpb25UeXBlUg5jb25uZWN0aW9uVHlwZRJCCgtleHBlcmltZW50cxgKIAMoCzIgLmJ1Y2tldGVlci5leHBlcmltZW50LkV4cGVyaW1lbnRSC2V4cGVyaW1lbnRzEkQKDmF1dG9fb3BzX3J1bGVzGAsgAygLMh4uYnVja2V0ZWVyLmF1dG9vcHMuQXV0b09wc1J1bGVSDGF1dG9PcHNSdWxlcyI8Cg5Db25uZWN0aW9uVHlwZRILCgdVTktOT1dOEAASDgoKRVhQRVJJTUVOVBABEg0KCU9QRVJBVElPThACQjRaMmdpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9leHBlcmltZW50YgZwcm90bzMKg84BCh5wcm90by9ldmVudC9kb21haW4vZXZlbnQucHJvdG8SFmJ1Y2tldGVlci5ldmVudC5kb21haW4aGWdvb2dsZS9wcm90b2J1Zi9hbnkucHJvdG8aHmdvb2dsZS9wcm90b2J1Zi93cmFwcGVycy5wcm90bxoacHJvdG8vZmVhdHVyZS9jbGF1c2UucHJvdG8aG3Byb3RvL2ZlYXR1cmUvZmVhdHVyZS5wcm90bxoYcHJvdG8vZmVhdHVyZS9ydWxlLnByb3RvGh1wcm90by9mZWF0dXJlL3ZhcmlhdGlvbi5wcm90bxoccHJvdG8vZmVhdHVyZS9zdHJhdGVneS5wcm90bxobcHJvdG8vZmVhdHVyZS9zZWdtZW50LnByb3RvGhpwcm90by9mZWF0dXJlL3RhcmdldC5wcm90bxobcHJvdG8vYWNjb3VudC9hY2NvdW50LnByb3RvGhtwcm90by9hY2NvdW50L2FwaV9rZXkucHJvdG8aIXByb3RvL2F1dG9vcHMvYXV0b19vcHNfcnVsZS5wcm90bxoacHJvdG8vYXV0b29wcy9jbGF1c2UucHJvdG8aJXByb3RvL25vdGlmaWNhdGlvbi9zdWJzY3JpcHRpb24ucHJvdG8aInByb3RvL25vdGlmaWNhdGlvbi9yZWNpcGllbnQucHJvdG8aIHByb3RvL2ZlYXR1cmUvcHJlcmVxdWlzaXRlLnByb3RvGidwcm90by9hdXRvb3BzL3Byb2dyZXNzaXZlX3JvbGxvdXQucHJvdG8aIHByb3RvL2ZlYXR1cmUvZmxhZ190cmlnZ2VyLnByb3RvGiFwcm90by9hY2NvdW50L3NlYXJjaF9maWx0ZXIucHJvdG8aE3Byb3RvL3RhZy90YWcucHJvdG8aG3Byb3RvL2V4cGVyaW1lbnQvZ29hbC5wcm90byKSLwoFRXZlbnQSDgoCaWQYASABKAlSAmlkEhwKCXRpbWVzdGFtcBgCIAEoA1IJdGltZXN0YW1wEkkKC2VudGl0eV90eXBlGAMgASgOMiguYnVja2V0ZWVyLmV2ZW50LmRvbWFpbi5FdmVudC5FbnRpdHlUeXBlUgplbnRpdHlUeXBlEhsKCWVudGl0eV9pZBgEIAEoCVIIZW50aXR5SWQSNgoEdHlwZRgFIAEoDjIiLmJ1Y2tldGVlci5ldmVudC5kb21haW4uRXZlbnQuVHlwZVIEdHlwZRI2CgZlZGl0b3IYBiABKAsyHi5idWNrZXRlZXIuZXZlbnQuZG9tYWluLkVkaXRvclIGZWRpdG9yEigKBGRhdGEYByABKAsyFC5nb29nbGUucHJvdG9idWYuQW55UgRkYXRhEiQKDmlzX2FkbWluX2V2ZW50GAkgASgIUgxpc0FkbWluRXZlbnQSOQoHb3B0aW9ucxgKIAEoCzIfLmJ1Y2tldGVlci5ldmVudC5kb21haW4uT3B0aW9uc1IHb3B0aW9ucxIfCgtlbnRpdHlfZGF0YRgLIAEoCVIKZW50aXR5RGF0YRIwChRwcmV2aW91c19lbnRpdHlfZGF0YRgMIAEoCVIScHJldmlvdXNFbnRpdHlEYXRhEiUKDmVudmlyb25tZW50X2lkGA0gASgJUg1lbnZpcm9ubWVudElkIpwCCgpFbnRpdHlUeXBlEgsKB0ZFQVRVUkUQABIICgRHT0FMEAESDgoKRVhQRVJJTUVOVBACEgsKB0FDQ09VTlQQAxIKCgZBUElLRVkQBBILCgdTRUdNRU5UEAUSDwoLRU5WSVJPTk1FTlQQBhIRCg1BRE1JTl9BQ0NPVU5UEAcSEAoMQVVUT09QU19SVUxFEAgSCAoEUFVTSBAJEhAKDFNVQlNDUklQVElPThAKEhYKEkFETUlOX1NVQlNDUklQVElPThALEgsKB1BST0pFQ1QQDBIXChNQUk9HUkVTU0lWRV9ST0xMT1VUEA4SEAoMT1JHQU5JWkFUSU9OEA8SEAoMRkxBR19UUklHR0VSEBASBwoDVEFHEBEiBAgNEA0i2CgKBFR5cGUSCwoHVU5LTk9XThAAEhMKD0ZFQVRVUkVfQ1JFQVRFRBABEhMKD0ZFQVRVUkVfUkVOQU1FRBACEhMKD0ZFQVRVUkVfRU5BQkxFRBADEhQKEEZFQVRVUkVfRElTQUJMRUQQBBITCg9GRUFUVVJFX0RFTEVURUQQBRIfChtGRUFUVVJFX0RFU0NSSVBUSU9OX0NIQU5HRUQQCBIbChdGRUFUVVJFX1ZBUklBVElPTl9BRERFRBAJEh0KGUZFQVRVUkVfVkFSSUFUSU9OX1JFTU9WRUQQChIhCh1GRUFUVVJFX09GRl9WQVJJQVRJT05fQ0hBTkdFRBALEhsKF1ZBUklBVElPTl9WQUxVRV9DSEFOR0VEEAwSGgoWVkFSSUFUSU9OX05BTUVfQ0hBTkdFRBANEiEKHVZBUklBVElPTl9ERVNDUklQVElPTl9DSEFOR0VEEA4SGAoUVkFSSUFUSU9OX1VTRVJfQURERUQQDxIaChZWQVJJQVRJT05fVVNFUl9SRU1PVkVEEBASFgoSRkVBVFVSRV9SVUxFX0FEREVEEBESIQodRkVBVFVSRV9SVUxFX1NUUkFURUdZX0NIQU5HRUQQEhIYChRGRUFUVVJFX1JVTEVfREVMRVRFRBATEhUKEVJVTEVfQ0xBVVNFX0FEREVEEBQSFwoTUlVMRV9DTEFVU0VfREVMRVRFRBAVEh8KG1JVTEVfRklYRURfU1RSQVRFR1lfQ0hBTkdFRBAWEiEKHVJVTEVfUk9MTE9VVF9TVFJBVEVHWV9DSEFOR0VEEBcSHAoYQ0xBVVNFX0FUVFJJQlVURV9DSEFOR0VEEBgSGwoXQ0xBVVNFX09QRVJBVE9SX0NIQU5HRUQQGRIWChJDTEFVU0VfVkFMVUVfQURERUQQGhIYChRDTEFVU0VfVkFMVUVfUkVNT1ZFRBAbEiQKIEZFQVRVUkVfREVGQVVMVF9TVFJBVEVHWV9DSEFOR0VEEBwSFQoRRkVBVFVSRV9UQUdfQURERUQQHRIXChNGRUFUVVJFX1RBR19SRU1PVkVEEB4SHwobRkVBVFVSRV9WRVJTSU9OX0lOQ1JFTUVOVEVEEB8SFAoQRkVBVFVSRV9BUkNISVZFRBAgEhIKDkZFQVRVUkVfQ0xPTkVEECESFgoSRkVBVFVSRV9VTkFSQ0hJVkVEECMSFwoTU0FNUExJTkdfU0VFRF9SRVNFVBAiEhYKElBSRVJFUVVJU0lURV9BRERFRBAkEhgKFFBSRVJFUVVJU0lURV9SRU1PVkVEECUSIgoeUFJFUkVRVUlTSVRFX1ZBUklBVElPTl9DSEFOR0VEECYSHwobRkVBVFVSRV9SVUxFU19PUkRFUl9DSEFOR0VEECcSEwoPRkVBVFVSRV9VUERBVEVEECgSEAoMR09BTF9DUkVBVEVEEGQSEAoMR09BTF9SRU5BTUVEEGUSHAoYR09BTF9ERVNDUklQVElPTl9DSEFOR0VEEGYSEAoMR09BTF9ERUxFVEVEEGcSEQoNR09BTF9BUkNISVZFRBBoEhAKDEdPQUxfVVBEQVRFRBBpEhcKEkVYUEVSSU1FTlRfQ1JFQVRFRBDIARIXChJFWFBFUklNRU5UX1NUT1BQRUQQyQESIAobRVhQRVJJTUVOVF9TVEFSVF9BVF9DSEFOR0VEEMoBEh8KGkVYUEVSSU1FTlRfU1RPUF9BVF9DSEFOR0VEEMsBEhcKEkVYUEVSSU1FTlRfREVMRVRFRBDMARIeChlFWFBFUklNRU5UX1BFUklPRF9DSEFOR0VEEM0BEhwKF0VYUEVSSU1FTlRfTkFNRV9DSEFOR0VEEM4BEiMKHkVYUEVSSU1FTlRfREVTQ1JJUFRJT05fQ0hBTkdFRBDPARIXChJFWFBFUklNRU5UX1NUQVJURUQQ0AESGAoTRVhQRVJJTUVOVF9GSU5JU0hFRBDRARIYChNFWFBFUklNRU5UX0FSQ0hJVkVEENIBEhgKD0FDQ09VTlRfQ1JFQVRFRBCsAhoCCAESHQoUQUNDT1VOVF9ST0xFX0NIQU5HRUQQrQIaAggBEhgKD0FDQ09VTlRfRU5BQkxFRBCuAhoCCAESGQoQQUNDT1VOVF9ESVNBQkxFRBCvAhoCCAESGAoPQUNDT1VOVF9ERUxFVEVEELACGgIIARIXChJBQ0NPVU5UX1YyX0NSRUFURUQQsQISHAoXQUNDT1VOVF9WMl9OQU1FX0NIQU5HRUQQsgISKAojQUNDT1VOVF9WMl9BVkFUQVJfSU1BR0VfVVJMX0NIQU5HRUQQswISKQokQUNDT1VOVF9WMl9PUkdBTklaQVRJT05fUk9MRV9DSEFOR0VEELQCEikKJEFDQ09VTlRfVjJfRU5WSVJPTk1FTlRfUk9MRVNfQ0hBTkdFRBC1AhIXChJBQ0NPVU5UX1YyX0VOQUJMRUQQtgISGAoTQUNDT1VOVF9WMl9ESVNBQkxFRBC3AhIXChJBQ0NPVU5UX1YyX0RFTEVURUQQuAISJQogQUNDT1VOVF9WMl9DUkVBVEVEX1NFQVJDSF9GSUxURVIQuQISKgolQUNDT1VOVF9WMl9TRUFSQ0hfRklMVEVSX05BTkVfQ0hBTkdFRBC6AhIrCiZBQ0NPVU5UX1YyX1NFQVJDSF9GSUxURVJfUVVFUllfQ0hBTkdFRBC7AhItCihBQ0NPVU5UX1YyX1NFQVJDSF9GSUxURVJfREVGQVVMVF9DSEFOR0VEELwCEiUKIEFDQ09VTlRfVjJfU0VBUkNIX0ZJTFRFUl9ERUxFVEVEEL0CEiIKHUFDQ09VTlRfVjJfRklSU1RfTkFNRV9DSEFOR0VEEL4CEiEKHEFDQ09VTlRfVjJfTEFTVF9OQU1FX0NIQU5HRUQQvwISIAobQUNDT1VOVF9WMl9MQU5HVUFHRV9DSEFOR0VEEMACEhcKEkFDQ09VTlRfVjJfVVBEQVRFRBDBAhIcChdBQ0NPVU5UX1YyX1RBR1NfQ0hBTkdFRBDCAhITCg5BUElLRVlfQ1JFQVRFRBCQAxIYChNBUElLRVlfTkFNRV9DSEFOR0VEEJEDEhMKDkFQSUtFWV9FTkFCTEVEEJIDEhQKD0FQSUtFWV9ESVNBQkxFRBCTAxITCg5BUElLRVlfQ0hBTkdFRBCUAxIUCg9TRUdNRU5UX0NSRUFURUQQ9AMSFAoPU0VHTUVOVF9ERUxFVEVEEPUDEhkKFFNFR01FTlRfTkFNRV9DSEFOR0VEEPYDEiAKG1NFR01FTlRfREVTQ1JJUFRJT05fQ0hBTkdFRBD3AxIXChJTRUdNRU5UX1JVTEVfQURERUQQ+AMSGQoUU0VHTUVOVF9SVUxFX0RFTEVURUQQ+QMSHgoZU0VHTUVOVF9SVUxFX0NMQVVTRV9BRERFRBD6AxIgChtTRUdNRU5UX1JVTEVfQ0xBVVNFX0RFTEVURUQQ+wMSJQogU0VHTUVOVF9DTEFVU0VfQVRUUklCVVRFX0NIQU5HRUQQ/AMSJAofU0VHTUVOVF9DTEFVU0VfT1BFUkFUT1JfQ0hBTkdFRBD9AxIfChpTRUdNRU5UX0NMQVVTRV9WQUxVRV9BRERFRBD+AxIhChxTRUdNRU5UX0NMQVVTRV9WQUxVRV9SRU1PVkVEEP8DEhcKElNFR01FTlRfVVNFUl9BRERFRBCABBIZChRTRUdNRU5UX1VTRVJfREVMRVRFRBCBBBIeChlTRUdNRU5UX0JVTEtfVVBMT0FEX1VTRVJTEIIEEi0KKFNFR01FTlRfQlVMS19VUExPQURfVVNFUlNfU1RBVFVTX0NIQU5HRUQQgwQSFAoPU0VHTUVOVF9VUERBVEVEEIQEEhgKE0VOVklST05NRU5UX0NSRUFURUQQ2AQSGAoTRU5WSVJPTk1FTlRfUkVOQU1FRBDZBBIkCh9FTlZJUk9OTUVOVF9ERVNDUklQVElPTl9DSEFOR0VEENoEEhgKE0VOVklST05NRU5UX0RFTEVURUQQ2wQSGwoWRU5WSVJPTk1FTlRfVjJfQ1JFQVRFRBDcBBIbChZFTlZJUk9OTUVOVF9WMl9SRU5BTUVEEN0EEicKIkVOVklST05NRU5UX1YyX0RFU0NSSVBUSU9OX0NIQU5HRUQQ3gQSHAoXRU5WSVJPTk1FTlRfVjJfQVJDSElWRUQQ3wQSHgoZRU5WSVJPTk1FTlRfVjJfVU5BUkNISVZFRBDgBBIrCiZFTlZJUk9OTUVOVF9WMl9SRVFVSVJFX0NPTU1FTlRfQ0hBTkdFRBDhBBIeChVBRE1JTl9BQ0NPVU5UX0NSRUFURUQQvAUaAggBEh4KFUFETUlOX0FDQ09VTlRfRU5BQkxFRBC+BRoCCAESHwoWQURNSU5fQUNDT1VOVF9ESVNBQkxFRBC/BRoCCAESGQoUQVVUT09QU19SVUxFX0NSRUFURUQQoAYSGQoUQVVUT09QU19SVUxFX0RFTEVURUQQoQYSIgodQVVUT09QU19SVUxFX09QU19UWVBFX0NIQU5HRUQQogYSIAobQVVUT09QU19SVUxFX0NMQVVTRV9ERUxFVEVEEKMGEioKIUFVVE9PUFNfUlVMRV9UUklHR0VSRURfQVRfQ0hBTkdFRBCkBhoCCAESIAobT1BTX0VWRU5UX1JBVEVfQ0xBVVNFX0FEREVEEKUGEiIKHU9QU19FVkVOVF9SQVRFX0NMQVVTRV9DSEFOR0VEEKYGEhoKFURBVEVUSU1FX0NMQVVTRV9BRERFRBCnBhIcChdEQVRFVElNRV9DTEFVU0VfQ0hBTkdFRBCoBhIZChRBVVRPT1BTX1JVTEVfU1RPUFBFRBCpBhIkCh9BVVRPT1BTX1JVTEVfT1BTX1NUQVRVU19DSEFOR0VEEKoGEhEKDFBVU0hfQ1JFQVRFRBCEBxIRCgxQVVNIX0RFTEVURUQQhQcSFAoPUFVTSF9UQUdTX0FEREVEEIYHEhYKEVBVU0hfVEFHU19ERUxFVEVEEIcHEhEKDFBVU0hfUkVOQU1FRBCIBxIRCgxQVVNIX1VQREFURUQQiQcSGQoUU1VCU0NSSVBUSU9OX0NSRUFURUQQ6AcSGQoUU1VCU0NSSVBUSU9OX0RFTEVURUQQ6QcSGQoUU1VCU0NSSVBUSU9OX0VOQUJMRUQQ6gcSGgoVU1VCU0NSSVBUSU9OX0RJU0FCTEVEEOsHEiMKHlNVQlNDUklQVElPTl9TT1VSQ0VfVFlQRV9BRERFRBDsBxIlCiBTVUJTQ1JJUFRJT05fU09VUkNFX1RZUEVfREVMRVRFRBDtBxIZChRTVUJTQ1JJUFRJT05fUkVOQU1FRBDuBxIZChRTVUJTQ1JJUFRJT05fVVBEQVRFRBDvBxIfChpBRE1JTl9TVUJTQ1JJUFRJT05fQ1JFQVRFRBDMCBIfChpBRE1JTl9TVUJTQ1JJUFRJT05fREVMRVRFRBDNCBIfChpBRE1JTl9TVUJTQ1JJUFRJT05fRU5BQkxFRBDOCBIgChtBRE1JTl9TVUJTQ1JJUFRJT05fRElTQUJMRUQQzwgSKQokQURNSU5fU1VCU0NSSVBUSU9OX1NPVVJDRV9UWVBFX0FEREVEENAIEisKJkFETUlOX1NVQlNDUklQVElPTl9TT1VSQ0VfVFlQRV9ERUxFVEVEENEIEh8KGkFETUlOX1NVQlNDUklQVElPTl9SRU5BTUVEENIIEhQKD1BST0pFQ1RfQ1JFQVRFRBCwCRIgChtQUk9KRUNUX0RFU0NSSVBUSU9OX0NIQU5HRUQQsQkSFAoPUFJPSkVDVF9FTkFCTEVEELIJEhUKEFBST0pFQ1RfRElTQUJMRUQQswkSGgoVUFJPSkVDVF9UUklBTF9DUkVBVEVEELQJEhwKF1BST0pFQ1RfVFJJQUxfQ09OVkVSVEVEELUJEhQKD1BST0pFQ1RfUkVOQU1FRBC2CRIgChtQUk9HUkVTU0lWRV9ST0xMT1VUX0NSRUFURUQQ+AoSIAobUFJPR1JFU1NJVkVfUk9MTE9VVF9ERUxFVEVEEPkKEjYKMVBST0dSRVNTSVZFX1JPTExPVVRfU0NIRURVTEVfVFJJR0dFUkVEX0FUX0NIQU5HRUQQ+goSIAobUFJPR1JFU1NJVkVfUk9MTE9VVF9TVE9QUEVEEPsKEhkKFE9SR0FOSVpBVElPTl9DUkVBVEVEENwLEh4KGU9SR0FOSVpBVElPTl9OQU1FX0NIQU5HRUQQ3QsSJQogT1JHQU5JWkFUSU9OX0RFU0NSSVBUSU9OX0NIQU5HRUQQ3gsSGQoUT1JHQU5JWkFUSU9OX0VOQUJMRUQQ3wsSGgoVT1JHQU5JWkFUSU9OX0RJU0FCTEVEEOALEhoKFU9SR0FOSVpBVElPTl9BUkNISVZFRBDhCxIcChdPUkdBTklaQVRJT05fVU5BUkNISVZFRBDiCxIhChxPUkdBTklaQVRJT05fVFJJQUxfQ09OVkVSVEVEEOMLEiUKIE9SR0FOSVpBVElPTl9PV05FUl9FTUFJTF9DSEFOR0VEEOQLEhkKFEZMQUdfVFJJR0dFUl9DUkVBVEVEEMEMEhcKEkZMQUdfVFJJR0dFUl9SRVNFVBDCDBIlCiBGTEFHX1RSSUdHRVJfREVTQ1JJUFRJT05fQ0hBTkdFRBDDDBIaChVGTEFHX1RSSUdHRVJfRElTQUJMRUQQxAwSGQoURkxBR19UUklHR0VSX0VOQUJMRUQQxQwSGQoURkxBR19UUklHR0VSX0RFTEVURUQQxgwSHwoaRkxBR19UUklHR0VSX1VTQUdFX1VQREFURUQQxwwSEAoLVEFHX0NSRUFURUQQpQ0SEAoLVEFHX0RFTEVURUQQpg0iBgiUChCUCiIGCJUKEJUKIgYIlgoQlgoiBgiXChCXCiIGCJgKEJgKIgYImQoQmQpKBAgIEAkijAIKBkVkaXRvchIUCgVlbWFpbBgBIAEoCVIFZW1haWwSGQoIaXNfYWRtaW4YAyABKAhSB2lzQWRtaW4SEgoEbmFtZRgEIAEoCVIEbmFtZRJaChFwdWJsaWNfYXBpX2VkaXRvchgFIAEoCzIuLmJ1Y2tldGVlci5ldmVudC5kb21haW4uRWRpdG9yLlB1YmxpY0FQSUVkaXRvclIPcHVibGljQXBpRWRpdG9yGlsKD1B1YmxpY0FQSUVkaXRvchIUCgV0b2tlbhgBIAEoCVIFdG9rZW4SHgoKbWFpbnRhaW5lchgCIAEoCVIKbWFpbnRhaW5lchISCgRuYW1lGAMgASgJUgRuYW1lSgQIAhADIkQKB09wdGlvbnMSGAoHY29tbWVudBgBIAEoCVIHY29tbWVudBIfCgtuZXdfdmVyc2lvbhgCIAEoBVIKbmV3VmVyc2lvbiLzBAoTRmVhdHVyZUNyZWF0ZWRFdmVudBIOCgJpZBgBIAEoCVICaWQSEgoEbmFtZRgCIAEoCVIEbmFtZRIgCgtkZXNjcmlwdGlvbhgDIAEoCVILZGVzY3JpcHRpb24SEgoEdXNlchgEIAEoCVIEdXNlchI8Cgp2YXJpYXRpb25zGAUgAygLMhwuYnVja2V0ZWVyLmZlYXR1cmUuVmFyaWF0aW9uUgp2YXJpYXRpb25zElgKGmRlZmF1bHRfb25fdmFyaWF0aW9uX2luZGV4GAYgASgLMhsuZ29vZ2xlLnByb3RvYnVmLkludDMyVmFsdWVSF2RlZmF1bHRPblZhcmlhdGlvbkluZGV4EloKG2RlZmF1bHRfb2ZmX3ZhcmlhdGlvbl9pbmRleBgHIAEoCzIbLmdvb2dsZS5wcm90b2J1Zi5JbnQzMlZhbHVlUhhkZWZhdWx0T2ZmVmFyaWF0aW9uSW5kZXgSTwoOdmFyaWF0aW9uX3R5cGUYCCABKA4yKC5idWNrZXRlZXIuZmVhdHVyZS5GZWF0dXJlLlZhcmlhdGlvblR5cGVSDXZhcmlhdGlvblR5cGUSEgoEdGFncxgJIAMoCVIEdGFncxJFCg1wcmVyZXF1aXNpdGVzGAogAygLMh8uYnVja2V0ZWVyLmZlYXR1cmUuUHJlcmVxdWlzaXRlUg1wcmVyZXF1aXNpdGVzEi0KBXJ1bGVzGAsgAygLMhcuYnVja2V0ZWVyLmZlYXR1cmUuUnVsZVIFcnVsZXMSMwoHdGFyZ2V0cxgMIAMoCzIZLmJ1Y2tldGVlci5mZWF0dXJlLlRhcmdldFIHdGFyZ2V0cyJmChNGZWF0dXJlVXBkYXRlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZBIWCgRkYXRhGAIgASgJQgIYAVIEZGF0YRInCg1wcmV2aW91c19kYXRhGAMgASgJQgIYAVIMcHJldmlvdXNEYXRhIiUKE0ZlYXR1cmVFbmFibGVkRXZlbnQSDgoCaWQYASABKAlSAmlkIiYKFEZlYXR1cmVEaXNhYmxlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZCImChRGZWF0dXJlQXJjaGl2ZWRFdmVudBIOCgJpZBgBIAEoCVICaWQiKAoWRmVhdHVyZVVuYXJjaGl2ZWRFdmVudBIOCgJpZBgBIAEoCVICaWQiJQoTRmVhdHVyZURlbGV0ZWRFdmVudBIOCgJpZBgBIAEoCVICaWQiLQobRXZhbHVhdGlvbkRlbGF5YWJsZVNldEV2ZW50Eg4KAmlkGAEgASgJUgJpZCIvCh1FdmFsdWF0aW9uVW5kZWxheWFibGVTZXRFdmVudBIOCgJpZBgBIAEoCVICaWQiOQoTRmVhdHVyZVJlbmFtZWRFdmVudBIOCgJpZBgBIAEoCVICaWQSEgoEbmFtZRgCIAEoCVIEbmFtZSJSCh5GZWF0dXJlRGVzY3JpcHRpb25DaGFuZ2VkRXZlbnQSDgoCaWQYASABKAlSAmlkEiAKC2Rlc2NyaXB0aW9uGAIgASgJUgtkZXNjcmlwdGlvbiJWCh9GZWF0dXJlT2ZmVmFyaWF0aW9uQ2hhbmdlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZBIjCg1vZmZfdmFyaWF0aW9uGAIgASgJUgxvZmZWYXJpYXRpb24iaAoaRmVhdHVyZVZhcmlhdGlvbkFkZGVkRXZlbnQSDgoCaWQYASABKAlSAmlkEjoKCXZhcmlhdGlvbhgCIAEoCzIcLmJ1Y2tldGVlci5mZWF0dXJlLlZhcmlhdGlvblIJdmFyaWF0aW9uIlEKHEZlYXR1cmVWYXJpYXRpb25SZW1vdmVkRXZlbnQSDgoCaWQYASABKAlSAmlkEiEKDHZhcmlhdGlvbl9pZBgCIAEoCVILdmFyaWF0aW9uSWQiYQoaVmFyaWF0aW9uVmFsdWVDaGFuZ2VkRXZlbnQSHQoKZmVhdHVyZV9pZBgBIAEoCVIJZmVhdHVyZUlkEg4KAmlkGAIgASgJUgJpZBIUCgV2YWx1ZRgDIAEoCVIFdmFsdWUiXgoZVmFyaWF0aW9uTmFtZUNoYW5nZWRFdmVudBIdCgpmZWF0dXJlX2lkGAEgASgJUglmZWF0dXJlSWQSDgoCaWQYAiABKAlSAmlkEhIKBG5hbWUYAyABKAlSBG5hbWUicwogVmFyaWF0aW9uRGVzY3JpcHRpb25DaGFuZ2VkRXZlbnQSHQoKZmVhdHVyZV9pZBgBIAEoCVIJZmVhdHVyZUlkEg4KAmlkGAIgASgJUgJpZBIgCgtkZXNjcmlwdGlvbhgDIAEoCVILZGVzY3JpcHRpb24iXAoXVmFyaWF0aW9uVXNlckFkZGVkRXZlbnQSHQoKZmVhdHVyZV9pZBgBIAEoCVIJZmVhdHVyZUlkEg4KAmlkGAIgASgJUgJpZBISCgR1c2VyGAMgASgJUgR1c2VyIl4KGVZhcmlhdGlvblVzZXJSZW1vdmVkRXZlbnQSHQoKZmVhdHVyZV9pZBgBIAEoCVIJZmVhdHVyZUlkEg4KAmlkGAIgASgJUgJpZBISCgR1c2VyGAMgASgJUgR1c2VyIlQKFUZlYXR1cmVSdWxlQWRkZWRFdmVudBIOCgJpZBgBIAEoCVICaWQSKwoEcnVsZRgCIAEoCzIXLmJ1Y2tldGVlci5mZWF0dXJlLlJ1bGVSBHJ1bGUikQEKHkZlYXR1cmVDaGFuZ2VSdWxlU3RyYXRlZ3lFdmVudBIdCgpmZWF0dXJlX2lkGAEgASgJUglmZWF0dXJlSWQSFwoHcnVsZV9pZBgCIAEoCVIGcnVsZUlkEjcKCHN0cmF0ZWd5GAMgASgLMhsuYnVja2V0ZWVyLmZlYXR1cmUuU3RyYXRlZ3lSCHN0cmF0ZWd5IlkKHUZlYXR1cmVSdWxlc09yZGVyQ2hhbmdlZEV2ZW50Eh0KCmZlYXR1cmVfaWQYASABKAlSCWZlYXR1cmVJZBIZCghydWxlX2lkcxgCIAMoCVIHcnVsZUlkcyJCChdGZWF0dXJlUnVsZURlbGV0ZWRFdmVudBIOCgJpZBgBIAEoCVICaWQSFwoHcnVsZV9pZBgCIAEoCVIGcnVsZUlkIpgBCiBGZWF0dXJlRml4ZWRTdHJhdGVneUNoYW5nZWRFdmVudBIdCgpmZWF0dXJlX2lkGAEgASgJUglmZWF0dXJlSWQSFwoHcnVsZV9pZBgCIAEoCVIGcnVsZUlkEjwKCHN0cmF0ZWd5GAMgASgLMiAuYnVja2V0ZWVyLmZlYXR1cmUuRml4ZWRTdHJhdGVneVIIc3RyYXRlZ3kinAEKIkZlYXR1cmVSb2xsb3V0U3RyYXRlZ3lDaGFuZ2VkRXZlbnQSHQoKZmVhdHVyZV9pZBgBIAEoCVIJZmVhdHVyZUlkEhcKB3J1bGVfaWQYAiABKAlSBnJ1bGVJZBI+CghzdHJhdGVneRgDIAEoCzIiLmJ1Y2tldGVlci5mZWF0dXJlLlJvbGxvdXRTdHJhdGVneVIIc3RyYXRlZ3kigQEKFFJ1bGVDbGF1c2VBZGRlZEV2ZW50Eh0KCmZlYXR1cmVfaWQYASABKAlSCWZlYXR1cmVJZBIXCgdydWxlX2lkGAIgASgJUgZydWxlSWQSMQoGY2xhdXNlGAMgASgLMhkuYnVja2V0ZWVyLmZlYXR1cmUuQ2xhdXNlUgZjbGF1c2UiYAoWUnVsZUNsYXVzZURlbGV0ZWRFdmVudBIdCgpmZWF0dXJlX2lkGAEgASgJUglmZWF0dXJlSWQSFwoHcnVsZV9pZBgCIAEoCVIGcnVsZUlkEg4KAmlkGAMgASgJUgJpZCKDAQobQ2xhdXNlQXR0cmlidXRlQ2hhbmdlZEV2ZW50Eh0KCmZlYXR1cmVfaWQYASABKAlSCWZlYXR1cmVJZBIXCgdydWxlX2lkGAIgASgJUgZydWxlSWQSDgoCaWQYAyABKAlSAmlkEhwKCWF0dHJpYnV0ZRgEIAEoCVIJYXR0cmlidXRlIqQBChpDbGF1c2VPcGVyYXRvckNoYW5nZWRFdmVudBIdCgpmZWF0dXJlX2lkGAEgASgJUglmZWF0dXJlSWQSFwoHcnVsZV9pZBgCIAEoCVIGcnVsZUlkEg4KAmlkGAMgASgJUgJpZBI+CghvcGVyYXRvchgEIAEoDjIiLmJ1Y2tldGVlci5mZWF0dXJlLkNsYXVzZS5PcGVyYXRvclIIb3BlcmF0b3IidQoVQ2xhdXNlVmFsdWVBZGRlZEV2ZW50Eh0KCmZlYXR1cmVfaWQYASABKAlSCWZlYXR1cmVJZBIXCgdydWxlX2lkGAIgASgJUgZydWxlSWQSDgoCaWQYAyABKAlSAmlkEhQKBXZhbHVlGAQgASgJUgV2YWx1ZSJ3ChdDbGF1c2VWYWx1ZVJlbW92ZWRFdmVudBIdCgpmZWF0dXJlX2lkGAEgASgJUglmZWF0dXJlSWQSFwoHcnVsZV9pZBgCIAEoCVIGcnVsZUlkEg4KAmlkGAMgASgJUgJpZBIUCgV2YWx1ZRgEIAEoCVIFdmFsdWUibQoiRmVhdHVyZURlZmF1bHRTdHJhdGVneUNoYW5nZWRFdmVudBIOCgJpZBgBIAEoCVICaWQSNwoIc3RyYXRlZ3kYAiABKAsyGy5idWNrZXRlZXIuZmVhdHVyZS5TdHJhdGVneVIIc3RyYXRlZ3kiOAoURmVhdHVyZVRhZ0FkZGVkRXZlbnQSDgoCaWQYASABKAlSAmlkEhAKA3RhZxgCIAEoCVIDdGFnIjoKFkZlYXR1cmVUYWdSZW1vdmVkRXZlbnQSDgoCaWQYASABKAlSAmlkEhAKA3RhZxgCIAEoCVIDdGFnIkoKHkZlYXR1cmVWZXJzaW9uSW5jcmVtZW50ZWRFdmVudBIOCgJpZBgBIAEoCVICaWQSGAoHdmVyc2lvbhgCIAEoBVIHdmVyc2lvbiK1BAoSRmVhdHVyZUNsb25lZEV2ZW50Eg4KAmlkGAEgASgJUgJpZBISCgRuYW1lGAIgASgJUgRuYW1lEiAKC2Rlc2NyaXB0aW9uGAMgASgJUgtkZXNjcmlwdGlvbhI8Cgp2YXJpYXRpb25zGAQgAygLMhwuYnVja2V0ZWVyLmZlYXR1cmUuVmFyaWF0aW9uUgp2YXJpYXRpb25zEjMKB3RhcmdldHMYBSADKAsyGS5idWNrZXRlZXIuZmVhdHVyZS5UYXJnZXRSB3RhcmdldHMSLQoFcnVsZXMYBiADKAsyFy5idWNrZXRlZXIuZmVhdHVyZS5SdWxlUgVydWxlcxJGChBkZWZhdWx0X3N0cmF0ZWd5GAcgASgLMhsuYnVja2V0ZWVyLmZlYXR1cmUuU3RyYXRlZ3lSD2RlZmF1bHRTdHJhdGVneRIjCg1vZmZfdmFyaWF0aW9uGAggASgJUgxvZmZWYXJpYXRpb24SEgoEdGFncxgJIAMoCVIEdGFncxIeCgptYWludGFpbmVyGAogASgJUgptYWludGFpbmVyEk8KDnZhcmlhdGlvbl90eXBlGAsgASgOMiguYnVja2V0ZWVyLmZlYXR1cmUuRmVhdHVyZS5WYXJpYXRpb25UeXBlUg12YXJpYXRpb25UeXBlEkUKDXByZXJlcXVpc2l0ZXMYDCADKAsyHy5idWNrZXRlZXIuZmVhdHVyZS5QcmVyZXF1aXNpdGVSDXByZXJlcXVpc2l0ZXMiRAodRmVhdHVyZVNhbXBsaW5nU2VlZFJlc2V0RXZlbnQSIwoNc2FtcGxpbmdfc2VlZBgBIAEoCVIMc2FtcGxpbmdTZWVkIoQCChBHb2FsQ3JlYXRlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZBISCgRuYW1lGAIgASgJUgRuYW1lEiAKC2Rlc2NyaXB0aW9uGAMgASgJUgtkZXNjcmlwdGlvbhIYCgdkZWxldGVkGAQgASgIUgdkZWxldGVkEh0KCmNyZWF0ZWRfYXQYBSABKANSCWNyZWF0ZWRBdBIdCgp1cGRhdGVkX2F0GAYgASgDUgl1cGRhdGVkQXQSUgoPY29ubmVjdGlvbl90eXBlGAcgASgOMikuYnVja2V0ZWVyLmV4cGVyaW1lbnQuR29hbC5Db25uZWN0aW9uVHlwZVIOY29ubmVjdGlvblR5cGUilAEKEEdvYWxVcGRhdGVkRXZlbnQSDgoCaWQYASABKAlSAmlkEjAKBG5hbWUYAiABKAsyHC5nb29nbGUucHJvdG9idWYuU3RyaW5nVmFsdWVSBG5hbWUSPgoLZGVzY3JpcHRpb24YAyABKAsyHC5nb29nbGUucHJvdG9idWYuU3RyaW5nVmFsdWVSC2Rlc2NyaXB0aW9uIjYKEEdvYWxSZW5hbWVkRXZlbnQSDgoCaWQYASABKAlSAmlkEhIKBG5hbWUYAiABKAlSBG5hbWUiTwobR29hbERlc2NyaXB0aW9uQ2hhbmdlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZBIgCgtkZXNjcmlwdGlvbhgCIAEoCVILZGVzY3JpcHRpb24iIwoRR29hbEFyY2hpdmVkRXZlbnQSDgoCaWQYASABKAlSAmlkIiIKEEdvYWxEZWxldGVkRXZlbnQSDgoCaWQYASABKAlSAmlkIvMDChZFeHBlcmltZW50Q3JlYXRlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZBIdCgpmZWF0dXJlX2lkGAIgASgJUglmZWF0dXJlSWQSJwoPZmVhdHVyZV92ZXJzaW9uGAMgASgFUg5mZWF0dXJlVmVyc2lvbhI8Cgp2YXJpYXRpb25zGAQgAygLMhwuYnVja2V0ZWVyLmZlYXR1cmUuVmFyaWF0aW9uUgp2YXJpYXRpb25zEhsKB2dvYWxfaWQYBSABKAlCAhgBUgZnb2FsSWQSGQoIc3RhcnRfYXQYBiABKANSB3N0YXJ0QXQSFwoHc3RvcF9hdBgHIAEoA1IGc3RvcEF0EhgKB3N0b3BwZWQYCCABKAhSB3N0b3BwZWQSHQoKc3RvcHBlZF9hdBgJIAEoA1IJc3RvcHBlZEF0Eh0KCmNyZWF0ZWRfYXQYCiABKANSCWNyZWF0ZWRBdBIdCgp1cGRhdGVkX2F0GAsgASgDUgl1cGRhdGVkQXQSGQoIZ29hbF9pZHMYDCADKAlSB2dvYWxJZHMSEgoEbmFtZRgNIAEoCVIEbmFtZRIgCgtkZXNjcmlwdGlvbhgOIAEoCVILZGVzY3JpcHRpb24SKgoRYmFzZV92YXJpYXRpb25faWQYDyABKAlSD2Jhc2VWYXJpYXRpb25JZCJHChZFeHBlcmltZW50U3RvcHBlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZBIdCgpzdG9wcGVkX2F0GAIgASgDUglzdG9wcGVkQXQiKQoXRXhwZXJpbWVudEFyY2hpdmVkRXZlbnQSDgoCaWQYASABKAlSAmlkIigKFkV4cGVyaW1lbnREZWxldGVkRXZlbnQSDgoCaWQYASABKAlSAmlkIkoKHUV4cGVyaW1lbnRTdGFydEF0Q2hhbmdlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZBIZCghzdGFydF9hdBgCIAEoA1IHc3RhcnRBdCJHChxFeHBlcmltZW50U3RvcEF0Q2hhbmdlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZBIXCgdzdG9wX2F0GAIgASgDUgZzdG9wQXQiYgocRXhwZXJpbWVudFBlcmlvZENoYW5nZWRFdmVudBIOCgJpZBgBIAEoCVICaWQSGQoIc3RhcnRfYXQYAiABKANSB3N0YXJ0QXQSFwoHc3RvcF9hdBgDIAEoA1IGc3RvcEF0IkAKGkV4cGVyaW1lbnROYW1lQ2hhbmdlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZBISCgRuYW1lGAIgASgJUgRuYW1lIlUKIUV4cGVyaW1lbnREZXNjcmlwdGlvbkNoYW5nZWRFdmVudBIOCgJpZBgBIAEoCVICaWQSIAoLZGVzY3JpcHRpb24YAiABKAlSC2Rlc2NyaXB0aW9uIhgKFkV4cGVyaW1lbnRTdGFydGVkRXZlbnQiGQoXRXhwZXJpbWVudEZpbmlzaGVkRXZlbnQikgQKFUFjY291bnRWMkNyZWF0ZWRFdmVudBIUCgVlbWFpbBgBIAEoCVIFZW1haWwSEgoEbmFtZRgCIAEoCVIEbmFtZRIoChBhdmF0YXJfaW1hZ2VfdXJsGAMgASgJUg5hdmF0YXJJbWFnZVVybBInCg9vcmdhbml6YXRpb25faWQYBCABKAlSDm9yZ2FuaXphdGlvbklkElsKEW9yZ2FuaXphdGlvbl9yb2xlGAUgASgOMi4uYnVja2V0ZWVyLmFjY291bnQuQWNjb3VudFYyLlJvbGUuT3JnYW5pemF0aW9uUhBvcmdhbml6YXRpb25Sb2xlElkKEWVudmlyb25tZW50X3JvbGVzGAYgAygLMiwuYnVja2V0ZWVyLmFjY291bnQuQWNjb3VudFYyLkVudmlyb25tZW50Um9sZVIQZW52aXJvbm1lbnRSb2xlcxIaCghkaXNhYmxlZBgHIAEoCFIIZGlzYWJsZWQSHQoKY3JlYXRlZF9hdBgIIAEoA1IJY3JlYXRlZEF0Eh0KCnVwZGF0ZWRfYXQYCSABKANSCXVwZGF0ZWRBdBIdCgpmaXJzdF9uYW1lGAogASgJUglmaXJzdE5hbWUSGwoJbGFzdF9uYW1lGAsgASgJUghsYXN0TmFtZRIaCghsYW5ndWFnZRgMIAEoCVIIbGFuZ3VhZ2USEgoEdGFncxgNIAMoCVIEdGFncyJWChVBY2NvdW50VjJVcGRhdGVkRXZlbnQSFAoFZW1haWwYASABKAlSBWVtYWlsEicKD29yZ2FuaXphdGlvbl9pZBgCIAEoCVIOb3JnYW5pemF0aW9uSWQiRQoZQWNjb3VudFYyTmFtZUNoYW5nZWRFdmVudBIUCgVlbWFpbBgBIAEoCVIFZW1haWwSEgoEbmFtZRgCIAEoCVIEbmFtZSJlCiNBY2NvdW50VjJBdmF0YXJJbWFnZVVSTENoYW5nZWRFdmVudBIUCgVlbWFpbBgBIAEoCVIFZW1haWwSKAoQYXZhdGFyX2ltYWdlX3VybBgCIAEoCVIOYXZhdGFySW1hZ2VVcmwiRQoZQWNjb3VudFYyVGFnc0NoYW5nZWRFdmVudBIUCgVlbWFpbBgBIAEoCVIFZW1haWwSEgoEdGFncxgCIAMoCVIEdGFncyKaAQolQWNjb3VudFYyT3JnYW5pemF0aW9uUm9sZUNoYW5nZWRFdmVudBIUCgVlbWFpbBgBIAEoCVIFZW1haWwSWwoRb3JnYW5pemF0aW9uX3JvbGUYAiABKA4yLi5idWNrZXRlZXIuYWNjb3VudC5BY2NvdW50VjIuUm9sZS5Pcmdhbml6YXRpb25SEG9yZ2FuaXphdGlvblJvbGUimAEKJUFjY291bnRWMkVudmlyb25tZW50Um9sZXNDaGFuZ2VkRXZlbnQSFAoFZW1haWwYASABKAlSBWVtYWlsElkKEWVudmlyb25tZW50X3JvbGVzGAIgAygLMiwuYnVja2V0ZWVyLmFjY291bnQuQWNjb3VudFYyLkVudmlyb25tZW50Um9sZVIQZW52aXJvbm1lbnRSb2xlcyItChVBY2NvdW50VjJFbmFibGVkRXZlbnQSFAoFZW1haWwYASABKAlSBWVtYWlsIi4KFkFjY291bnRWMkRpc2FibGVkRXZlbnQSFAoFZW1haWwYASABKAlSBWVtYWlsIi0KFUFjY291bnRWMkRlbGV0ZWRFdmVudBIUCgVlbWFpbBgBIAEoCVIFZW1haWwi1wEKGFNlYXJjaEZpbHRlckNyZWF0ZWRFdmVudBISCgROYW1lGAEgASgJUgROYW1lEhQKBVF1ZXJ5GAIgASgJUgVRdWVyeRJDCgpUYXJnZXRUeXBlGAMgASgOMiMuYnVja2V0ZWVyLmFjY291bnQuRmlsdGVyVGFyZ2V0VHlwZVIKVGFyZ2V0VHlwZRIlCg5lbnZpcm9ubWVudF9pZBgEIAEoCVINZW52aXJvbm1lbnRJZBIlCg5kZWZhdWx0X2ZpbHRlchgFIAEoCFINZGVmYXVsdEZpbHRlciJCChxTZWFyY2hGaWx0ZXJOYW1lQ2hhbmdlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZBISCgROYW1lGAIgASgJUgROYW1lIkUKHVNlYXJjaEZpbHRlclF1ZXJ5Q2hhbmdlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZBIUCgVRdWVyeRgCIAEoCVIFUXVlcnkiWAofU2VhcmNoRmlsdGVyRGVmYXVsdENoYW5nZWRFdmVudBIOCgJpZBgBIAEoCVICaWQSJQoOZGVmYXVsdF9maWx0ZXIYAiABKAhSDWRlZmF1bHRGaWx0ZXIiKgoYU2VhcmNoRmlsdGVyRGVsZXRlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZCL/AQoSQVBJS2V5Q3JlYXRlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZBISCgRuYW1lGAIgASgJUgRuYW1lEjIKBHJvbGUYAyABKA4yHi5idWNrZXRlZXIuYWNjb3VudC5BUElLZXkuUm9sZVIEcm9sZRIaCghkaXNhYmxlZBgEIAEoCFIIZGlzYWJsZWQSHQoKY3JlYXRlZF9hdBgFIAEoA1IJY3JlYXRlZEF0Eh0KCnVwZGF0ZWRfYXQYBiABKANSCXVwZGF0ZWRBdBIeCgptYWludGFpbmVyGAcgASgJUgptYWludGFpbmVyEhcKB2FwaV9rZXkYCCABKAlSBmFwaUtleSIkChJBUElLZXlDaGFuZ2VkRXZlbnQSDgoCaWQYASABKAlSAmlkIjwKFkFQSUtleU5hbWVDaGFuZ2VkRXZlbnQSDgoCaWQYASABKAlSAmlkEhIKBG5hbWUYAiABKAlSBG5hbWUiJAoSQVBJS2V5RW5hYmxlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZCIlChNBUElLZXlEaXNhYmxlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZCJbChNTZWdtZW50Q3JlYXRlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZBISCgRuYW1lGAIgASgJUgRuYW1lEiAKC2Rlc2NyaXB0aW9uGAMgASgJUgtkZXNjcmlwdGlvbiIlChNTZWdtZW50RGVsZXRlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZCKXAQoTU2VnbWVudFVwZGF0ZWRFdmVudBIOCgJpZBgBIAEoCVICaWQSMAoEbmFtZRgCIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZVIEbmFtZRI+CgtkZXNjcmlwdGlvbhgDIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZVILZGVzY3JpcHRpb24iPQoXU2VnbWVudE5hbWVDaGFuZ2VkRXZlbnQSDgoCaWQYASABKAlSAmlkEhIKBG5hbWUYAiABKAlSBG5hbWUiUgoeU2VnbWVudERlc2NyaXB0aW9uQ2hhbmdlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZBIgCgtkZXNjcmlwdGlvbhgCIAEoCVILZGVzY3JpcHRpb24iVAoVU2VnbWVudFJ1bGVBZGRlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZBIrCgRydWxlGAIgASgLMhcuYnVja2V0ZWVyLmZlYXR1cmUuUnVsZVIEcnVsZSJCChdTZWdtZW50UnVsZURlbGV0ZWRFdmVudBIOCgJpZBgBIAEoCVICaWQSFwoHcnVsZV9pZBgCIAEoCVIGcnVsZUlkIogBChtTZWdtZW50UnVsZUNsYXVzZUFkZGVkRXZlbnQSHQoKc2VnbWVudF9pZBgBIAEoCVIJc2VnbWVudElkEhcKB3J1bGVfaWQYAiABKAlSBnJ1bGVJZBIxCgZjbGF1c2UYAyABKAsyGS5idWNrZXRlZXIuZmVhdHVyZS5DbGF1c2VSBmNsYXVzZSJ0Ch1TZWdtZW50UnVsZUNsYXVzZURlbGV0ZWRFdmVudBIdCgpzZWdtZW50X2lkGAEgASgJUglzZWdtZW50SWQSFwoHcnVsZV9pZBgCIAEoCVIGcnVsZUlkEhsKCWNsYXVzZV9pZBgDIAEoCVIIY2xhdXNlSWQilwEKIlNlZ21lbnRDbGF1c2VBdHRyaWJ1dGVDaGFuZ2VkRXZlbnQSHQoKc2VnbWVudF9pZBgBIAEoCVIJc2VnbWVudElkEhcKB3J1bGVfaWQYAiABKAlSBnJ1bGVJZBIbCgljbGF1c2VfaWQYAyABKAlSCGNsYXVzZUlkEhwKCWF0dHJpYnV0ZRgEIAEoCVIJYXR0cmlidXRlIrgBCiFTZWdtZW50Q2xhdXNlT3BlcmF0b3JDaGFuZ2VkRXZlbnQSHQoKc2VnbWVudF9pZBgBIAEoCVIJc2VnbWVudElkEhcKB3J1bGVfaWQYAiABKAlSBnJ1bGVJZBIbCgljbGF1c2VfaWQYAyABKAlSCGNsYXVzZUlkEj4KCG9wZXJhdG9yGAQgASgOMiIuYnVja2V0ZWVyLmZlYXR1cmUuQ2xhdXNlLk9wZXJhdG9yUghvcGVyYXRvciKJAQocU2VnbWVudENsYXVzZVZhbHVlQWRkZWRFdmVudBIdCgpzZWdtZW50X2lkGAEgASgJUglzZWdtZW50SWQSFwoHcnVsZV9pZBgCIAEoCVIGcnVsZUlkEhsKCWNsYXVzZV9pZBgDIAEoCVIIY2xhdXNlSWQSFAoFdmFsdWUYBCABKAlSBXZhbHVlIosBCh5TZWdtZW50Q2xhdXNlVmFsdWVSZW1vdmVkRXZlbnQSHQoKc2VnbWVudF9pZBgBIAEoCVIJc2VnbWVudElkEhcKB3J1bGVfaWQYAiABKAlSBnJ1bGVJZBIbCgljbGF1c2VfaWQYAyABKAlSCGNsYXVzZUlkEhQKBXZhbHVlGAQgASgJUgV2YWx1ZSKNAQoVU2VnbWVudFVzZXJBZGRlZEV2ZW50Eh0KCnNlZ21lbnRfaWQYASABKAlSCXNlZ21lbnRJZBIZCgh1c2VyX2lkcxgCIAMoCVIHdXNlcklkcxI6CgVzdGF0ZRgDIAEoDjIkLmJ1Y2tldGVlci5mZWF0dXJlLlNlZ21lbnRVc2VyLlN0YXRlUgVzdGF0ZSKPAQoXU2VnbWVudFVzZXJEZWxldGVkRXZlbnQSHQoKc2VnbWVudF9pZBgBIAEoCVIJc2VnbWVudElkEhkKCHVzZXJfaWRzGAIgAygJUgd1c2VySWRzEjoKBXN0YXRlGAMgASgOMiQuYnVja2V0ZWVyLmZlYXR1cmUuU2VnbWVudFVzZXIuU3RhdGVSBXN0YXRlIrMBChtTZWdtZW50QnVsa1VwbG9hZFVzZXJzRXZlbnQSHQoKc2VnbWVudF9pZBgBIAEoCVIJc2VnbWVudElkEjkKBnN0YXR1cxgCIAEoDjIhLmJ1Y2tldGVlci5mZWF0dXJlLlNlZ21lbnQuU3RhdHVzUgZzdGF0dXMSOgoFc3RhdGUYAyABKA4yJC5idWNrZXRlZXIuZmVhdHVyZS5TZWdtZW50VXNlci5TdGF0ZVIFc3RhdGUi1gEKKFNlZ21lbnRCdWxrVXBsb2FkVXNlcnNTdGF0dXNDaGFuZ2VkRXZlbnQSHQoKc2VnbWVudF9pZBgBIAEoCVIJc2VnbWVudElkEjkKBnN0YXR1cxgCIAEoDjIhLmJ1Y2tldGVlci5mZWF0dXJlLlNlZ21lbnQuU3RhdHVzUgZzdGF0dXMSOgoFc3RhdGUYAyABKA4yJC5idWNrZXRlZXIuZmVhdHVyZS5TZWdtZW50VXNlci5TdGF0ZVIFc3RhdGUSFAoFY291bnQYBCABKANSBWNvdW50IvQBChdFbnZpcm9ubWVudENyZWF0ZWRFdmVudBIOCgJpZBgBIAEoCVICaWQSHAoJbmFtZXNwYWNlGAIgASgJUgluYW1lc3BhY2USEgoEbmFtZRgDIAEoCVIEbmFtZRIgCgtkZXNjcmlwdGlvbhgEIAEoCVILZGVzY3JpcHRpb24SGAoHZGVsZXRlZBgFIAEoCFIHZGVsZXRlZBIdCgpjcmVhdGVkX2F0GAYgASgDUgljcmVhdGVkQXQSHQoKdXBkYXRlZF9hdBgHIAEoA1IJdXBkYXRlZEF0Eh0KCnByb2plY3RfaWQYCCABKAlSCXByb2plY3RJZCI9ChdFbnZpcm9ubWVudFJlbmFtZWRFdmVudBIOCgJpZBgBIAEoCVICaWQSEgoEbmFtZRgCIAEoCVIEbmFtZSJWCiJFbnZpcm9ubWVudERlc2NyaXB0aW9uQ2hhbmdlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZBIgCgtkZXNjcmlwdGlvbhgCIAEoCVILZGVzY3JpcHRpb24iRwoXRW52aXJvbm1lbnREZWxldGVkRXZlbnQSDgoCaWQYASABKAlSAmlkEhwKCW5hbWVzcGFjZRgCIAEoCVIJbmFtZXNwYWNlIp4CChlFbnZpcm9ubWVudFYyQ3JlYXRlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZBISCgRuYW1lGAIgASgJUgRuYW1lEhkKCHVybF9jb2RlGAMgASgJUgd1cmxDb2RlEiAKC2Rlc2NyaXB0aW9uGAQgASgJUgtkZXNjcmlwdGlvbhIdCgpwcm9qZWN0X2lkGAUgASgJUglwcm9qZWN0SWQSGgoIYXJjaGl2ZWQYBiABKAhSCGFyY2hpdmVkEh0KCmNyZWF0ZWRfYXQYByABKANSCWNyZWF0ZWRBdBIdCgp1cGRhdGVkX2F0GAggASgDUgl1cGRhdGVkQXQSJwoPcmVxdWlyZV9jb21tZW50GAkgASgIUg5yZXF1aXJlQ29tbWVudCKAAQoZRW52aXJvbm1lbnRWMlJlbmFtZWRFdmVudBIOCgJpZBgBIAEoCVICaWQSHQoKcHJvamVjdF9pZBgCIAEoCVIJcHJvamVjdElkEhkKCG9sZF9uYW1lGAMgASgJUgdvbGROYW1lEhkKCG5ld19uYW1lGAQgASgJUgduZXdOYW1lIrsBCiRFbnZpcm9ubWVudFYyRGVzY3JpcHRpb25DaGFuZ2VkRXZlbnQSDgoCaWQYASABKAlSAmlkEhIKBG5hbWUYAiABKAlSBG5hbWUSHQoKcHJvamVjdF9pZBgDIAEoCVIJcHJvamVjdElkEicKD29sZF9kZXNjcmlwdGlvbhgEIAEoCVIOb2xkRGVzY3JpcHRpb24SJwoPbmV3X2Rlc2NyaXB0aW9uGAUgASgJUg5uZXdEZXNjcmlwdGlvbiKVAQonRW52aXJvbm1lbnRWMlJlcXVpcmVDb21tZW50Q2hhbmdlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZBISCgRuYW1lGAIgASgJUgRuYW1lEh0KCnByb2plY3RfaWQYAyABKAlSCXByb2plY3RJZBInCg9yZXF1aXJlX2NvbW1lbnQYBCABKAhSDnJlcXVpcmVDb21tZW50Il8KGkVudmlyb25tZW50VjJBcmNoaXZlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZBISCgRuYW1lGAIgASgJUgRuYW1lEh0KCnByb2plY3RfaWQYAyABKAlSCXByb2plY3RJZCJhChxFbnZpcm9ubWVudFYyVW5hcmNoaXZlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZBISCgRuYW1lGAIgASgJUgRuYW1lEh0KCnByb2plY3RfaWQYAyABKAlSCXByb2plY3RJZCKpAgoXQXV0b09wc1J1bGVDcmVhdGVkRXZlbnQSHQoKZmVhdHVyZV9pZBgBIAEoCVIJZmVhdHVyZUlkEjUKCG9wc190eXBlGAIgASgOMhouYnVja2V0ZWVyLmF1dG9vcHMuT3BzVHlwZVIHb3BzVHlwZRIzCgdjbGF1c2VzGAMgAygLMhkuYnVja2V0ZWVyLmF1dG9vcHMuQ2xhdXNlUgdjbGF1c2VzEh0KCmNyZWF0ZWRfYXQYBSABKANSCWNyZWF0ZWRBdBIdCgp1cGRhdGVkX2F0GAYgASgDUgl1cGRhdGVkQXQSPwoKb3BzX3N0YXR1cxgHIAEoDjIgLmJ1Y2tldGVlci5hdXRvb3BzLkF1dG9PcHNTdGF0dXNSCW9wc1N0YXR1c0oECAQQBSIZChdBdXRvT3BzUnVsZVN0b3BwZWRFdmVudCIZChdBdXRvT3BzUnVsZURlbGV0ZWRFdmVudCJXCh5BdXRvT3BzUnVsZU9wc1R5cGVDaGFuZ2VkRXZlbnQSNQoIb3BzX3R5cGUYASABKA4yGi5idWNrZXRlZXIuYXV0b29wcy5PcHNUeXBlUgdvcHNUeXBlIiQKIkF1dG9PcHNSdWxlVHJpZ2dlcmVkQXRDaGFuZ2VkRXZlbnQiYwogQXV0b09wc1J1bGVPcHNTdGF0dXNDaGFuZ2VkRXZlbnQSPwoKb3BzX3N0YXR1cxgBIAEoDjIgLmJ1Y2tldGVlci5hdXRvb3BzLkF1dG9PcHNTdGF0dXNSCW9wc1N0YXR1cyKVAQocT3BzRXZlbnRSYXRlQ2xhdXNlQWRkZWRFdmVudBIbCgljbGF1c2VfaWQYASABKAlSCGNsYXVzZUlkElgKFW9wc19ldmVudF9yYXRlX2NsYXVzZRgCIAEoCzIlLmJ1Y2tldGVlci5hdXRvb3BzLk9wc0V2ZW50UmF0ZUNsYXVzZVISb3BzRXZlbnRSYXRlQ2xhdXNlIpcBCh5PcHNFdmVudFJhdGVDbGF1c2VDaGFuZ2VkRXZlbnQSGwoJY2xhdXNlX2lkGAEgASgJUghjbGF1c2VJZBJYChVvcHNfZXZlbnRfcmF0ZV9jbGF1c2UYAiABKAsyJS5idWNrZXRlZXIuYXV0b29wcy5PcHNFdmVudFJhdGVDbGF1c2VSEm9wc0V2ZW50UmF0ZUNsYXVzZSI8Ch1BdXRvT3BzUnVsZUNsYXVzZURlbGV0ZWRFdmVudBIbCgljbGF1c2VfaWQYASABKAlSCGNsYXVzZUlkIoMBChhEYXRldGltZUNsYXVzZUFkZGVkRXZlbnQSGwoJY2xhdXNlX2lkGAEgASgJUghjbGF1c2VJZBJKCg9kYXRldGltZV9jbGF1c2UYAiABKAsyIS5idWNrZXRlZXIuYXV0b29wcy5EYXRldGltZUNsYXVzZVIOZGF0ZXRpbWVDbGF1c2UihQEKGkRhdGV0aW1lQ2xhdXNlQ2hhbmdlZEV2ZW50EhsKCWNsYXVzZV9pZBgBIAEoCVIIY2xhdXNlSWQSSgoPZGF0ZXRpbWVfY2xhdXNlGAIgASgLMiEuYnVja2V0ZWVyLmF1dG9vcHMuRGF0ZXRpbWVDbGF1c2VSDmRhdGV0aW1lQ2xhdXNlInAKEFB1c2hDcmVhdGVkRXZlbnQSLgoTZmNtX3NlcnZpY2VfYWNjb3VudBgBIAEoCVIRZmNtU2VydmljZUFjY291bnQSEgoEdGFncxgDIAMoCVIEdGFncxISCgRuYW1lGAQgASgJUgRuYW1lSgQIAhADIhIKEFB1c2hEZWxldGVkRXZlbnQiKAoSUHVzaFRhZ3NBZGRlZEV2ZW50EhIKBHRhZ3MYAiADKAlSBHRhZ3MiKgoUUHVzaFRhZ3NEZWxldGVkRXZlbnQSEgoEdGFncxgCIAMoCVIEdGFncyImChBQdXNoUmVuYW1lZEV2ZW50EhIKBG5hbWUYAiABKAlSBG5hbWUiKgoUUHVzaFRhZ3NVcGRhdGVkRXZlbnQSEgoEdGFncxgCIAMoCVIEdGFncyJYChBQdXNoVXBkYXRlZEV2ZW50EjAKBG5hbWUYASABKAsyHC5nb29nbGUucHJvdG9idWYuU3RyaW5nVmFsdWVSBG5hbWUSEgoEdGFncxgCIAMoCVIEdGFncyLDAQoYU3Vic2NyaXB0aW9uQ3JlYXRlZEV2ZW50ElIKDHNvdXJjZV90eXBlcxgBIAMoDjIvLmJ1Y2tldGVlci5ub3RpZmljYXRpb24uU3Vic2NyaXB0aW9uLlNvdXJjZVR5cGVSC3NvdXJjZVR5cGVzEj8KCXJlY2lwaWVudBgCIAEoCzIhLmJ1Y2tldGVlci5ub3RpZmljYXRpb24uUmVjaXBpZW50UglyZWNpcGllbnQSEgoEbmFtZRgDIAEoCVIEbmFtZSIaChhTdWJzY3JpcHRpb25EZWxldGVkRXZlbnQiGgoYU3Vic2NyaXB0aW9uRW5hYmxlZEV2ZW50IhsKGVN1YnNjcmlwdGlvbkRpc2FibGVkRXZlbnQidwohU3Vic2NyaXB0aW9uU291cmNlVHlwZXNBZGRlZEV2ZW50ElIKDHNvdXJjZV90eXBlcxgBIAMoDjIvLmJ1Y2tldGVlci5ub3RpZmljYXRpb24uU3Vic2NyaXB0aW9uLlNvdXJjZVR5cGVSC3NvdXJjZVR5cGVzInkKI1N1YnNjcmlwdGlvblNvdXJjZVR5cGVzRGVsZXRlZEV2ZW50ElIKDHNvdXJjZV90eXBlcxgBIAMoDjIvLmJ1Y2tldGVlci5ub3RpZmljYXRpb24uU3Vic2NyaXB0aW9uLlNvdXJjZVR5cGVSC3NvdXJjZVR5cGVzIi4KGFN1YnNjcmlwdGlvblJlbmFtZWRFdmVudBISCgRuYW1lGAEgASgJUgRuYW1lIugBChhTdWJzY3JpcHRpb25VcGRhdGVkRXZlbnQSDgoCaWQYASABKAlSAmlkEjAKBG5hbWUYAiABKAsyHC5nb29nbGUucHJvdG9idWYuU3RyaW5nVmFsdWVSBG5hbWUSUgoMc291cmNlX3R5cGVzGAMgAygOMi8uYnVja2V0ZWVyLm5vdGlmaWNhdGlvbi5TdWJzY3JpcHRpb24uU291cmNlVHlwZVILc291cmNlVHlwZXMSNgoIZGlzYWJsZWQYBCABKAsyGi5nb29nbGUucHJvdG9idWYuQm9vbFZhbHVlUghkaXNhYmxlZCLIAQodQWRtaW5TdWJzY3JpcHRpb25DcmVhdGVkRXZlbnQSUgoMc291cmNlX3R5cGVzGAEgAygOMi8uYnVja2V0ZWVyLm5vdGlmaWNhdGlvbi5TdWJzY3JpcHRpb24uU291cmNlVHlwZVILc291cmNlVHlwZXMSPwoJcmVjaXBpZW50GAIgASgLMiEuYnVja2V0ZWVyLm5vdGlmaWNhdGlvbi5SZWNpcGllbnRSCXJlY2lwaWVudBISCgRuYW1lGAMgASgJUgRuYW1lIh8KHUFkbWluU3Vic2NyaXB0aW9uRGVsZXRlZEV2ZW50Ih8KHUFkbWluU3Vic2NyaXB0aW9uRW5hYmxlZEV2ZW50IiAKHkFkbWluU3Vic2NyaXB0aW9uRGlzYWJsZWRFdmVudCJ8CiZBZG1pblN1YnNjcmlwdGlvblNvdXJjZVR5cGVzQWRkZWRFdmVudBJSCgxzb3VyY2VfdHlwZXMYASADKA4yLy5idWNrZXRlZXIubm90aWZpY2F0aW9uLlN1YnNjcmlwdGlvbi5Tb3VyY2VUeXBlUgtzb3VyY2VUeXBlcyJ+CihBZG1pblN1YnNjcmlwdGlvblNvdXJjZVR5cGVzRGVsZXRlZEV2ZW50ElIKDHNvdXJjZV90eXBlcxgBIAMoDjIvLmJ1Y2tldGVlci5ub3RpZmljYXRpb24uU3Vic2NyaXB0aW9uLlNvdXJjZVR5cGVSC3NvdXJjZVR5cGVzIjMKHUFkbWluU3Vic2NyaXB0aW9uUmVuYW1lZEV2ZW50EhIKBG5hbWUYASABKAlSBG5hbWUiiwIKE1Byb2plY3RDcmVhdGVkRXZlbnQSDgoCaWQYASABKAlSAmlkEiAKC2Rlc2NyaXB0aW9uGAIgASgJUgtkZXNjcmlwdGlvbhIaCghkaXNhYmxlZBgDIAEoCFIIZGlzYWJsZWQSFAoFdHJpYWwYBCABKAhSBXRyaWFsEiMKDWNyZWF0b3JfZW1haWwYBSABKAlSDGNyZWF0b3JFbWFpbBIdCgpjcmVhdGVkX2F0GAYgASgDUgljcmVhdGVkQXQSHQoKdXBkYXRlZF9hdBgHIAEoA1IJdXBkYXRlZEF0EhIKBG5hbWUYCCABKAlSBG5hbWUSGQoIdXJsX2NvZGUYCSABKAlSB3VybENvZGUiUgoeUHJvamVjdERlc2NyaXB0aW9uQ2hhbmdlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZBIgCgtkZXNjcmlwdGlvbhgCIAEoCVILZGVzY3JpcHRpb24iOQoTUHJvamVjdFJlbmFtZWRFdmVudBIOCgJpZBgBIAEoCVICaWQSEgoEbmFtZRgCIAEoCVIEbmFtZSIlChNQcm9qZWN0RW5hYmxlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZCImChRQcm9qZWN0RGlzYWJsZWRFdmVudBIOCgJpZBgBIAEoCVICaWQikAIKGFByb2plY3RUcmlhbENyZWF0ZWRFdmVudBIOCgJpZBgBIAEoCVICaWQSIAoLZGVzY3JpcHRpb24YAiABKAlSC2Rlc2NyaXB0aW9uEhoKCGRpc2FibGVkGAMgASgIUghkaXNhYmxlZBIUCgV0cmlhbBgEIAEoCFIFdHJpYWwSIwoNY3JlYXRvcl9lbWFpbBgFIAEoCVIMY3JlYXRvckVtYWlsEh0KCmNyZWF0ZWRfYXQYBiABKANSCWNyZWF0ZWRBdBIdCgp1cGRhdGVkX2F0GAcgASgDUgl1cGRhdGVkQXQSEgoEbmFtZRgIIAEoCVIEbmFtZRIZCgh1cmxfY29kZRgJIAEoCVIHdXJsQ29kZSIsChpQcm9qZWN0VHJpYWxDb252ZXJ0ZWRFdmVudBIOCgJpZBgBIAEoCVICaWQiXQoWUHJlcmVxdWlzaXRlQWRkZWRFdmVudBJDCgxwcmVyZXF1aXNpdGUYASABKAsyHy5idWNrZXRlZXIuZmVhdHVyZS5QcmVyZXF1aXNpdGVSDHByZXJlcXVpc2l0ZSJoCiFQcmVyZXF1aXNpdGVWYXJpYXRpb25DaGFuZ2VkRXZlbnQSQwoMcHJlcmVxdWlzaXRlGAEgASgLMh8uYnVja2V0ZWVyLmZlYXR1cmUuUHJlcmVxdWlzaXRlUgxwcmVyZXF1aXNpdGUiOQoYUHJlcmVxdWlzaXRlUmVtb3ZlZEV2ZW50Eh0KCmZlYXR1cmVfaWQYASABKAlSCWZlYXR1cmVJZCL7AQoeUHJvZ3Jlc3NpdmVSb2xsb3V0Q3JlYXRlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZBIdCgpmZWF0dXJlX2lkGAIgASgJUglmZWF0dXJlSWQSLAoGY2xhdXNlGAMgASgLMhQuZ29vZ2xlLnByb3RvYnVmLkFueVIGY2xhdXNlEh0KCmNyZWF0ZWRfYXQYBCABKANSCWNyZWF0ZWRBdBIdCgp1cGRhdGVkX2F0GAUgASgDUgl1cGRhdGVkQXQSPgoEdHlwZRgGIAEoDjIqLmJ1Y2tldGVlci5hdXRvb3BzLlByb2dyZXNzaXZlUm9sbG91dC5UeXBlUgR0eXBlIuUBCh5Qcm9ncmVzc2l2ZVJvbGxvdXRTdG9wcGVkRXZlbnQSDgoCaWQYASABKAlSAmlkEkQKBnN0YXR1cxgCIAEoDjIsLmJ1Y2tldGVlci5hdXRvb3BzLlByb2dyZXNzaXZlUm9sbG91dC5TdGF0dXNSBnN0YXR1cxJOCgpzdG9wcGVkX2J5GAMgASgOMi8uYnVja2V0ZWVyLmF1dG9vcHMuUHJvZ3Jlc3NpdmVSb2xsb3V0LlN0b3BwZWRCeVIJc3RvcHBlZEJ5Eh0KCnN0b3BwZWRfYXQYBCABKANSCXN0b3BwZWRBdCIwCh5Qcm9ncmVzc2l2ZVJvbGxvdXREZWxldGVkRXZlbnQSDgoCaWQYASABKAlSAmlkIlQKMVByb2dyZXNzaXZlUm9sbG91dFNjaGVkdWxlVHJpZ2dlcmVkQXRDaGFuZ2VkRXZlbnQSHwoLc2NoZWR1bGVfaWQYASABKAlSCnNjaGVkdWxlSWQiqAIKGE9yZ2FuaXphdGlvbkNyZWF0ZWRFdmVudBIOCgJpZBgBIAEoCVICaWQSEgoEbmFtZRgCIAEoCVIEbmFtZRIZCgh1cmxfY29kZRgDIAEoCVIHdXJsQ29kZRIgCgtkZXNjcmlwdGlvbhgEIAEoCVILZGVzY3JpcHRpb24SGgoIZGlzYWJsZWQYBSABKAhSCGRpc2FibGVkEhoKCGFyY2hpdmVkGAYgASgIUghhcmNoaXZlZBIUCgV0cmlhbBgHIAEoCFIFdHJpYWwSHQoKY3JlYXRlZF9hdBgIIAEoA1IJY3JlYXRlZEF0Eh0KCnVwZGF0ZWRfYXQYCSABKANSCXVwZGF0ZWRBdBIfCgtvd25lcl9lbWFpbBgKIAEoCVIKb3duZXJFbWFpbCJXCiNPcmdhbml6YXRpb25EZXNjcmlwdGlvbkNoYW5nZWRFdmVudBIOCgJpZBgBIAEoCVICaWQSIAoLZGVzY3JpcHRpb24YAiABKAlSC2Rlc2NyaXB0aW9uIlUKIk9yZ2FuaXphdGlvbk93bmVyRW1haWxDaGFuZ2VkRXZlbnQSDgoCaWQYASABKAlSAmlkEh8KC293bmVyX2VtYWlsGAIgASgJUgpvd25lckVtYWlsIkIKHE9yZ2FuaXphdGlvbk5hbWVDaGFuZ2VkRXZlbnQSDgoCaWQYASABKAlSAmlkEhIKBG5hbWUYAiABKAlSBG5hbWUiKgoYT3JnYW5pemF0aW9uRW5hYmxlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZCIrChlPcmdhbml6YXRpb25EaXNhYmxlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZCIrChlPcmdhbml6YXRpb25BcmNoaXZlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZCItChtPcmdhbml6YXRpb25VbmFyY2hpdmVkRXZlbnQSDgoCaWQYASABKAlSAmlkIjEKH09yZ2FuaXphdGlvblRyaWFsQ29udmVydGVkRXZlbnQSDgoCaWQYASABKAlSAmlkIuMCChdGbGFnVHJpZ2dlckNyZWF0ZWRFdmVudBIOCgJpZBgBIAEoCVICaWQSHQoKZmVhdHVyZV9pZBgCIAEoCVIJZmVhdHVyZUlkEjcKBHR5cGUYBCABKA4yIy5idWNrZXRlZXIuZmVhdHVyZS5GbGFnVHJpZ2dlci5UeXBlUgR0eXBlEj0KBmFjdGlvbhgFIAEoDjIlLmJ1Y2tldGVlci5mZWF0dXJlLkZsYWdUcmlnZ2VyLkFjdGlvblIGYWN0aW9uEiAKC2Rlc2NyaXB0aW9uGAYgASgJUgtkZXNjcmlwdGlvbhIUCgV0b2tlbhgHIAEoCVIFdG9rZW4SHQoKY3JlYXRlZF9hdBgIIAEoA1IJY3JlYXRlZEF0Eh0KCnVwZGF0ZWRfYXQYCSABKANSCXVwZGF0ZWRBdBIlCg5lbnZpcm9ubWVudF9pZBgKIAEoCVINZW52aXJvbm1lbnRJZEoECAMQBCKJAQoVRmxhZ1RyaWdnZXJSZXNldEV2ZW50Eg4KAmlkGAEgASgJUgJpZBIdCgpmZWF0dXJlX2lkGAIgASgJUglmZWF0dXJlSWQSFAoFdG9rZW4YBCABKAlSBXRva2VuEiUKDmVudmlyb25tZW50X2lkGAUgASgJUg1lbnZpcm9ubWVudElkSgQIAxAEIqIBCiJGbGFnVHJpZ2dlckRlc2NyaXB0aW9uQ2hhbmdlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZBIdCgpmZWF0dXJlX2lkGAIgASgJUglmZWF0dXJlSWQSIAoLZGVzY3JpcHRpb24YBCABKAlSC2Rlc2NyaXB0aW9uEiUKDmVudmlyb25tZW50X2lkGAUgASgJUg1lbnZpcm9ubWVudElkSgQIAxAEInYKGEZsYWdUcmlnZ2VyRGlzYWJsZWRFdmVudBIOCgJpZBgBIAEoCVICaWQSHQoKZmVhdHVyZV9pZBgCIAEoCVIJZmVhdHVyZUlkEiUKDmVudmlyb25tZW50X2lkGAQgASgJUg1lbnZpcm9ubWVudElkSgQIAxAEInUKF0ZsYWdUcmlnZ2VyRW5hYmxlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZBIdCgpmZWF0dXJlX2lkGAIgASgJUglmZWF0dXJlSWQSJQoOZW52aXJvbm1lbnRfaWQYBCABKAlSDWVudmlyb25tZW50SWRKBAgDEAQidQoXRmxhZ1RyaWdnZXJEZWxldGVkRXZlbnQSDgoCaWQYASABKAlSAmlkEh0KCmZlYXR1cmVfaWQYAiABKAlSCWZlYXR1cmVJZBIlCg5lbnZpcm9ubWVudF9pZBgEIAEoCVINZW52aXJvbm1lbnRJZEoECAMQBCLLAQocRmxhZ1RyaWdnZXJVc2FnZVVwZGF0ZWRFdmVudBIOCgJpZBgBIAEoCVICaWQSHQoKZmVhdHVyZV9pZBgCIAEoCVIJZmVhdHVyZUlkEioKEWxhc3RfdHJpZ2dlcmVkX2F0GAQgASgDUg9sYXN0VHJpZ2dlcmVkQXQSIwoNdHJpZ2dlcl90aW1lcxgFIAEoBVIMdHJpZ2dlclRpbWVzEiUKDmVudmlyb25tZW50X2lkGAYgASgJUg1lbnZpcm9ubWVudElkSgQIAxAEIlUKHkFjY291bnRWMkZpcnN0TmFtZUNoYW5nZWRFdmVudBIUCgVlbWFpbBgBIAEoCVIFZW1haWwSHQoKZmlyc3RfbmFtZRgCIAEoCVIJZmlyc3ROYW1lIlIKHUFjY291bnRWMkxhc3ROYW1lQ2hhbmdlZEV2ZW50EhQKBWVtYWlsGAEgASgJUgVlbWFpbBIbCglsYXN0X25hbWUYAiABKAlSCGxhc3ROYW1lIlEKHUFjY291bnRWMkxhbmd1YWdlQ2hhbmdlZEV2ZW50EhQKBWVtYWlsGAEgASgJUgVlbWFpbBIaCghsYW5ndWFnZRgCIAEoCVIIbGFuZ3VhZ2Ui2gEKD1RhZ0NyZWF0ZWRFdmVudBIOCgJpZBgBIAEoCVICaWQSEgoEbmFtZRgCIAEoCVIEbmFtZRIdCgpjcmVhdGVkX2F0GAMgASgDUgljcmVhdGVkQXQSHQoKdXBkYXRlZF9hdBgEIAEoA1IJdXBkYXRlZEF0Ej4KC2VudGl0eV90eXBlGAUgASgOMh0uYnVja2V0ZWVyLnRhZy5UYWcuRW50aXR5VHlwZVIKZW50aXR5VHlwZRIlCg5lbnZpcm9ubWVudF9pZBgGIAEoCVINZW52aXJvbm1lbnRJZCJICg9UYWdEZWxldGVkRXZlbnQSDgoCaWQYASABKAlSAmlkEiUKDmVudmlyb25tZW50X2lkGAYgASgJUg1lbnZpcm9ubWVudElkQjZaNGdpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9ldmVudC9kb21haW5iBnByb3RvMwrKAQoqcHJvdG8vZXZlbnQvZG9tYWluL2xvY2FsaXplZF9tZXNzYWdlLnByb3RvEhZidWNrZXRlZXIuZXZlbnQuZG9tYWluIkQKEExvY2FsaXplZE1lc3NhZ2USFgoGbG9jYWxlGAEgASgJUgZsb2NhbGUSGAoHbWVzc2FnZRgCIAEoCVIHbWVzc2FnZUI2WjRnaXRodWIuY29tL2J1Y2tldGVlci1pby9idWNrZXRlZXIvcHJvdG8vZXZlbnQvZG9tYWluYgZwcm90bzMK+gUKHXByb3RvL2F1ZGl0bG9nL2F1ZGl0bG9nLnByb3RvEhJidWNrZXRlZXIuYXVkaXRsb2caGWdvb2dsZS9wcm90b2J1Zi9hbnkucHJvdG8aHnByb3RvL2V2ZW50L2RvbWFpbi9ldmVudC5wcm90bxoqcHJvdG8vZXZlbnQvZG9tYWluL2xvY2FsaXplZF9tZXNzYWdlLnByb3RvIqEECghBdWRpdExvZxIOCgJpZBgBIAEoCVICaWQSHAoJdGltZXN0YW1wGAIgASgDUgl0aW1lc3RhbXASSQoLZW50aXR5X3R5cGUYAyABKA4yKC5idWNrZXRlZXIuZXZlbnQuZG9tYWluLkV2ZW50LkVudGl0eVR5cGVSCmVudGl0eVR5cGUSGwoJZW50aXR5X2lkGAQgASgJUghlbnRpdHlJZBI2CgR0eXBlGAUgASgOMiIuYnVja2V0ZWVyLmV2ZW50LmRvbWFpbi5FdmVudC5UeXBlUgR0eXBlEioKBWV2ZW50GAYgASgLMhQuZ29vZ2xlLnByb3RvYnVmLkFueVIFZXZlbnQSNgoGZWRpdG9yGAcgASgLMh4uYnVja2V0ZWVyLmV2ZW50LmRvbWFpbi5FZGl0b3JSBmVkaXRvchI5CgdvcHRpb25zGAggASgLMh8uYnVja2V0ZWVyLmV2ZW50LmRvbWFpbi5PcHRpb25zUgdvcHRpb25zElUKEWxvY2FsaXplZF9tZXNzYWdlGAkgASgLMiguYnVja2V0ZWVyLmV2ZW50LmRvbWFpbi5Mb2NhbGl6ZWRNZXNzYWdlUhBsb2NhbGl6ZWRNZXNzYWdlEh8KC2VudGl0eV9kYXRhGAogASgJUgplbnRpdHlEYXRhEjAKFHByZXZpb3VzX2VudGl0eV9kYXRhGAsgASgJUhJwcmV2aW91c0VudGl0eURhdGFCMlowZ2l0aHViLmNvbS9idWNrZXRlZXItaW8vYnVja2V0ZWVyL3Byb3RvL2F1ZGl0bG9nYgZwcm90bzMKoBMKHHByb3RvL2F1ZGl0bG9nL3NlcnZpY2UucHJvdG8SEmJ1Y2tldGVlci5hdWRpdGxvZxoeZ29vZ2xlL3Byb3RvYnVmL3dyYXBwZXJzLnByb3RvGh1wcm90by9hdWRpdGxvZy9hdWRpdGxvZy5wcm90byL8AwoUTGlzdEF1ZGl0TG9nc1JlcXVlc3QSGwoJcGFnZV9zaXplGAEgASgDUghwYWdlU2l6ZRIWCgZjdXJzb3IYAiABKAlSBmN1cnNvchJLCghvcmRlcl9ieRgEIAEoDjIwLmJ1Y2tldGVlci5hdWRpdGxvZy5MaXN0QXVkaXRMb2dzUmVxdWVzdC5PcmRlckJ5UgdvcmRlckJ5EmAKD29yZGVyX2RpcmVjdGlvbhgFIAEoDjI3LmJ1Y2tldGVlci5hdWRpdGxvZy5MaXN0QXVkaXRMb2dzUmVxdWVzdC5PcmRlckRpcmVjdGlvblIOb3JkZXJEaXJlY3Rpb24SJQoOc2VhcmNoX2tleXdvcmQYBiABKAlSDXNlYXJjaEtleXdvcmQSEgoEZnJvbRgHIAEoA1IEZnJvbRIOCgJ0bxgIIAEoA1ICdG8SPAoLZW50aXR5X3R5cGUYCSABKAsyGy5nb29nbGUucHJvdG9idWYuSW50MzJWYWx1ZVIKZW50aXR5VHlwZRIlCg5lbnZpcm9ubWVudF9pZBgKIAEoCVINZW52aXJvbm1lbnRJZCIlCgdPcmRlckJ5EgsKB0RFRkFVTFQQABINCglUSU1FU1RBTVAQASIjCg5PcmRlckRpcmVjdGlvbhIICgRERVNDEAASBwoDQVNDEAFKBAgDEAQijQEKFUxpc3RBdWRpdExvZ3NSZXNwb25zZRI7CgphdWRpdF9sb2dzGAEgAygLMhwuYnVja2V0ZWVyLmF1ZGl0bG9nLkF1ZGl0TG9nUglhdWRpdExvZ3MSFgoGY3Vyc29yGAIgASgJUgZjdXJzb3ISHwoLdG90YWxfY291bnQYAyABKANSCnRvdGFsQ291bnQi3gMKGUxpc3RBZG1pbkF1ZGl0TG9nc1JlcXVlc3QSGwoJcGFnZV9zaXplGAEgASgDUghwYWdlU2l6ZRIWCgZjdXJzb3IYAiABKAlSBmN1cnNvchJQCghvcmRlcl9ieRgDIAEoDjI1LmJ1Y2tldGVlci5hdWRpdGxvZy5MaXN0QWRtaW5BdWRpdExvZ3NSZXF1ZXN0Lk9yZGVyQnlSB29yZGVyQnkSZQoPb3JkZXJfZGlyZWN0aW9uGAQgASgOMjwuYnVja2V0ZWVyLmF1ZGl0bG9nLkxpc3RBZG1pbkF1ZGl0TG9nc1JlcXVlc3QuT3JkZXJEaXJlY3Rpb25SDm9yZGVyRGlyZWN0aW9uEiUKDnNlYXJjaF9rZXl3b3JkGAUgASgJUg1zZWFyY2hLZXl3b3JkEhIKBGZyb20YBiABKANSBGZyb20SDgoCdG8YByABKANSAnRvEjwKC2VudGl0eV90eXBlGAggASgLMhsuZ29vZ2xlLnByb3RvYnVmLkludDMyVmFsdWVSCmVudGl0eVR5cGUiJQoHT3JkZXJCeRILCgdERUZBVUxUEAASDQoJVElNRVNUQU1QEAEiIwoOT3JkZXJEaXJlY3Rpb24SCAoEREVTQxAAEgcKA0FTQxABIpIBChpMaXN0QWRtaW5BdWRpdExvZ3NSZXNwb25zZRI7CgphdWRpdF9sb2dzGAEgAygLMhwuYnVja2V0ZWVyLmF1ZGl0bG9nLkF1ZGl0TG9nUglhdWRpdExvZ3MSFgoGY3Vyc29yGAIgASgJUgZjdXJzb3ISHwoLdG90YWxfY291bnQYAyABKANSCnRvdGFsQ291bnQi7AMKGUxpc3RGZWF0dXJlSGlzdG9yeVJlcXVlc3QSHQoKZmVhdHVyZV9pZBgBIAEoCVIJZmVhdHVyZUlkEhsKCXBhZ2Vfc2l6ZRgCIAEoA1IIcGFnZVNpemUSFgoGY3Vyc29yGAMgASgJUgZjdXJzb3ISUAoIb3JkZXJfYnkYBSABKA4yNS5idWNrZXRlZXIuYXVkaXRsb2cuTGlzdEZlYXR1cmVIaXN0b3J5UmVxdWVzdC5PcmRlckJ5UgdvcmRlckJ5EmUKD29yZGVyX2RpcmVjdGlvbhgGIAEoDjI8LmJ1Y2tldGVlci5hdWRpdGxvZy5MaXN0RmVhdHVyZUhpc3RvcnlSZXF1ZXN0Lk9yZGVyRGlyZWN0aW9uUg5vcmRlckRpcmVjdGlvbhIlCg5zZWFyY2hfa2V5d29yZBgHIAEoCVINc2VhcmNoS2V5d29yZBISCgRmcm9tGAggASgDUgRmcm9tEg4KAnRvGAkgASgDUgJ0bxIlCg5lbnZpcm9ubWVudF9pZBgKIAEoCVINZW52aXJvbm1lbnRJZCIlCgdPcmRlckJ5EgsKB0RFRkFVTFQQABINCglUSU1FU1RBTVAQASIjCg5PcmRlckRpcmVjdGlvbhIICgRERVNDEAASBwoDQVNDEAFKBAgEEAUikgEKGkxpc3RGZWF0dXJlSGlzdG9yeVJlc3BvbnNlEjsKCmF1ZGl0X2xvZ3MYASADKAsyHC5idWNrZXRlZXIuYXVkaXRsb2cuQXVkaXRMb2dSCWF1ZGl0TG9ncxIWCgZjdXJzb3IYAiABKAlSBmN1cnNvchIfCgt0b3RhbF9jb3VudBgDIAEoA1IKdG90YWxDb3VudDLnAgoPQXVkaXRMb2dTZXJ2aWNlEmYKDUxpc3RBdWRpdExvZ3MSKC5idWNrZXRlZXIuYXVkaXRsb2cuTGlzdEF1ZGl0TG9nc1JlcXVlc3QaKS5idWNrZXRlZXIuYXVkaXRsb2cuTGlzdEF1ZGl0TG9nc1Jlc3BvbnNlIgASdQoSTGlzdEFkbWluQXVkaXRMb2dzEi0uYnVja2V0ZWVyLmF1ZGl0bG9nLkxpc3RBZG1pbkF1ZGl0TG9nc1JlcXVlc3QaLi5idWNrZXRlZXIuYXVkaXRsb2cuTGlzdEFkbWluQXVkaXRMb2dzUmVzcG9uc2UiABJ1ChJMaXN0RmVhdHVyZUhpc3RvcnkSLS5idWNrZXRlZXIuYXVkaXRsb2cuTGlzdEZlYXR1cmVIaXN0b3J5UmVxdWVzdBouLmJ1Y2tldGVlci5hdWRpdGxvZy5MaXN0RmVhdHVyZUhpc3RvcnlSZXNwb25zZSIAQjJaMGdpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9hdWRpdGxvZ2IGcHJvdG8z config: grpcPort: 9000 httpPort: 9003 adminPort: 8001 resources: {} - tagDescriptor: CocFChVnb29nbGUvYXBpL2h0dHAucHJvdG8SCmdvb2dsZS5hcGkieQoESHR0cBIqCgVydWxlcxgBIAMoCzIULmdvb2dsZS5hcGkuSHR0cFJ1bGVSBXJ1bGVzEkUKH2Z1bGx5X2RlY29kZV9yZXNlcnZlZF9leHBhbnNpb24YAiABKAhSHGZ1bGx5RGVjb2RlUmVzZXJ2ZWRFeHBhbnNpb24itQIKCEh0dHBSdWxlEhoKCHNlbGVjdG9yGAEgASgJUghzZWxlY3RvchISCgNnZXQYAiABKAlIAFIDZ2V0EhIKA3B1dBgDIAEoCUgAUgNwdXQSFAoEcG9zdBgEIAEoCUgAUgRwb3N0EhgKBmRlbGV0ZRgFIAEoCUgAUgZkZWxldGUSFgoFcGF0Y2gYBiABKAlIAFIFcGF0Y2gSNwoGY3VzdG9tGAggASgLMh0uZ29vZ2xlLmFwaS5DdXN0b21IdHRwUGF0dGVybkgAUgZjdXN0b20SEgoEYm9keRgHIAEoCVIEYm9keRJFChNhZGRpdGlvbmFsX2JpbmRpbmdzGAsgAygLMhQuZ29vZ2xlLmFwaS5IdHRwUnVsZVISYWRkaXRpb25hbEJpbmRpbmdzQgkKB3BhdHRlcm4iOwoRQ3VzdG9tSHR0cFBhdHRlcm4SEgoEa2luZBgBIAEoCVIEa2luZBISCgRwYXRoGAIgASgJUgRwYXRoQmoKDmNvbS5nb29nbGUuYXBpQglIdHRwUHJvdG9QAVpBZ29vZ2xlLmdvbGFuZy5vcmcvZ2VucHJvdG8vZ29vZ2xlYXBpcy9hcGkvYW5ub3RhdGlvbnM7YW5ub3RhdGlvbnP4AQGiAgRHQVBJYgZwcm90bzMK4UYKIGdvb2dsZS9wcm90b2J1Zi9kZXNjcmlwdG9yLnByb3RvEg9nb29nbGUucHJvdG9idWYiTQoRRmlsZURlc2NyaXB0b3JTZXQSOAoEZmlsZRgBIAMoCzIkLmdvb2dsZS5wcm90b2J1Zi5GaWxlRGVzY3JpcHRvclByb3RvUgRmaWxlIv4EChNGaWxlRGVzY3JpcHRvclByb3RvEhIKBG5hbWUYASABKAlSBG5hbWUSGAoHcGFja2FnZRgCIAEoCVIHcGFja2FnZRIeCgpkZXBlbmRlbmN5GAMgAygJUgpkZXBlbmRlbmN5EisKEXB1YmxpY19kZXBlbmRlbmN5GAogAygFUhBwdWJsaWNEZXBlbmRlbmN5EicKD3dlYWtfZGVwZW5kZW5jeRgLIAMoBVIOd2Vha0RlcGVuZGVuY3kSQwoMbWVzc2FnZV90eXBlGAQgAygLMiAuZ29vZ2xlLnByb3RvYnVmLkRlc2NyaXB0b3JQcm90b1ILbWVzc2FnZVR5cGUSQQoJZW51bV90eXBlGAUgAygLMiQuZ29vZ2xlLnByb3RvYnVmLkVudW1EZXNjcmlwdG9yUHJvdG9SCGVudW1UeXBlEkEKB3NlcnZpY2UYBiADKAsyJy5nb29nbGUucHJvdG9idWYuU2VydmljZURlc2NyaXB0b3JQcm90b1IHc2VydmljZRJDCglleHRlbnNpb24YByADKAsyJS5nb29nbGUucHJvdG9idWYuRmllbGREZXNjcmlwdG9yUHJvdG9SCWV4dGVuc2lvbhI2CgdvcHRpb25zGAggASgLMhwuZ29vZ2xlLnByb3RvYnVmLkZpbGVPcHRpb25zUgdvcHRpb25zEkkKEHNvdXJjZV9jb2RlX2luZm8YCSABKAsyHy5nb29nbGUucHJvdG9idWYuU291cmNlQ29kZUluZm9SDnNvdXJjZUNvZGVJbmZvEhYKBnN5bnRheBgMIAEoCVIGc3ludGF4EhgKB2VkaXRpb24YDSABKAlSB2VkaXRpb24iuQYKD0Rlc2NyaXB0b3JQcm90bxISCgRuYW1lGAEgASgJUgRuYW1lEjsKBWZpZWxkGAIgAygLMiUuZ29vZ2xlLnByb3RvYnVmLkZpZWxkRGVzY3JpcHRvclByb3RvUgVmaWVsZBJDCglleHRlbnNpb24YBiADKAsyJS5nb29nbGUucHJvdG9idWYuRmllbGREZXNjcmlwdG9yUHJvdG9SCWV4dGVuc2lvbhJBCgtuZXN0ZWRfdHlwZRgDIAMoCzIgLmdvb2dsZS5wcm90b2J1Zi5EZXNjcmlwdG9yUHJvdG9SCm5lc3RlZFR5cGUSQQoJZW51bV90eXBlGAQgAygLMiQuZ29vZ2xlLnByb3RvYnVmLkVudW1EZXNjcmlwdG9yUHJvdG9SCGVudW1UeXBlElgKD2V4dGVuc2lvbl9yYW5nZRgFIAMoCzIvLmdvb2dsZS5wcm90b2J1Zi5EZXNjcmlwdG9yUHJvdG8uRXh0ZW5zaW9uUmFuZ2VSDmV4dGVuc2lvblJhbmdlEkQKCm9uZW9mX2RlY2wYCCADKAsyJS5nb29nbGUucHJvdG9idWYuT25lb2ZEZXNjcmlwdG9yUHJvdG9SCW9uZW9mRGVjbBI5CgdvcHRpb25zGAcgASgLMh8uZ29vZ2xlLnByb3RvYnVmLk1lc3NhZ2VPcHRpb25zUgdvcHRpb25zElUKDnJlc2VydmVkX3JhbmdlGAkgAygLMi4uZ29vZ2xlLnByb3RvYnVmLkRlc2NyaXB0b3JQcm90by5SZXNlcnZlZFJhbmdlUg1yZXNlcnZlZFJhbmdlEiMKDXJlc2VydmVkX25hbWUYCiADKAlSDHJlc2VydmVkTmFtZRp6Cg5FeHRlbnNpb25SYW5nZRIUCgVzdGFydBgBIAEoBVIFc3RhcnQSEAoDZW5kGAIgASgFUgNlbmQSQAoHb3B0aW9ucxgDIAEoCzImLmdvb2dsZS5wcm90b2J1Zi5FeHRlbnNpb25SYW5nZU9wdGlvbnNSB29wdGlvbnMaNwoNUmVzZXJ2ZWRSYW5nZRIUCgVzdGFydBgBIAEoBVIFc3RhcnQSEAoDZW5kGAIgASgFUgNlbmQirQQKFUV4dGVuc2lvblJhbmdlT3B0aW9ucxJYChR1bmludGVycHJldGVkX29wdGlvbhjnByADKAsyJC5nb29nbGUucHJvdG9idWYuVW5pbnRlcnByZXRlZE9wdGlvblITdW5pbnRlcnByZXRlZE9wdGlvbhJZCgtkZWNsYXJhdGlvbhgCIAMoCzIyLmdvb2dsZS5wcm90b2J1Zi5FeHRlbnNpb25SYW5nZU9wdGlvbnMuRGVjbGFyYXRpb25CA4gBAlILZGVjbGFyYXRpb24SaAoMdmVyaWZpY2F0aW9uGAMgASgOMjguZ29vZ2xlLnByb3RvYnVmLkV4dGVuc2lvblJhbmdlT3B0aW9ucy5WZXJpZmljYXRpb25TdGF0ZToKVU5WRVJJRklFRFIMdmVyaWZpY2F0aW9uGrMBCgtEZWNsYXJhdGlvbhIWCgZudW1iZXIYASABKAVSBm51bWJlchIbCglmdWxsX25hbWUYAiABKAlSCGZ1bGxOYW1lEhIKBHR5cGUYAyABKAlSBHR5cGUSIwoLaXNfcmVwZWF0ZWQYBCABKAhCAhgBUgppc1JlcGVhdGVkEhoKCHJlc2VydmVkGAUgASgIUghyZXNlcnZlZBIaCghyZXBlYXRlZBgGIAEoCFIIcmVwZWF0ZWQiNAoRVmVyaWZpY2F0aW9uU3RhdGUSDwoLREVDTEFSQVRJT04QABIOCgpVTlZFUklGSUVEEAEqCQjoBxCAgICAAiLBBgoURmllbGREZXNjcmlwdG9yUHJvdG8SEgoEbmFtZRgBIAEoCVIEbmFtZRIWCgZudW1iZXIYAyABKAVSBm51bWJlchJBCgVsYWJlbBgEIAEoDjIrLmdvb2dsZS5wcm90b2J1Zi5GaWVsZERlc2NyaXB0b3JQcm90by5MYWJlbFIFbGFiZWwSPgoEdHlwZRgFIAEoDjIqLmdvb2dsZS5wcm90b2J1Zi5GaWVsZERlc2NyaXB0b3JQcm90by5UeXBlUgR0eXBlEhsKCXR5cGVfbmFtZRgGIAEoCVIIdHlwZU5hbWUSGgoIZXh0ZW5kZWUYAiABKAlSCGV4dGVuZGVlEiMKDWRlZmF1bHRfdmFsdWUYByABKAlSDGRlZmF1bHRWYWx1ZRIfCgtvbmVvZl9pbmRleBgJIAEoBVIKb25lb2ZJbmRleBIbCglqc29uX25hbWUYCiABKAlSCGpzb25OYW1lEjcKB29wdGlvbnMYCCABKAsyHS5nb29nbGUucHJvdG9idWYuRmllbGRPcHRpb25zUgdvcHRpb25zEicKD3Byb3RvM19vcHRpb25hbBgRIAEoCFIOcHJvdG8zT3B0aW9uYWwitgIKBFR5cGUSDwoLVFlQRV9ET1VCTEUQARIOCgpUWVBFX0ZMT0FUEAISDgoKVFlQRV9JTlQ2NBADEg8KC1RZUEVfVUlOVDY0EAQSDgoKVFlQRV9JTlQzMhAFEhAKDFRZUEVfRklYRUQ2NBAGEhAKDFRZUEVfRklYRUQzMhAHEg0KCVRZUEVfQk9PTBAIEg8KC1RZUEVfU1RSSU5HEAkSDgoKVFlQRV9HUk9VUBAKEhAKDFRZUEVfTUVTU0FHRRALEg4KClRZUEVfQllURVMQDBIPCgtUWVBFX1VJTlQzMhANEg0KCVRZUEVfRU5VTRAOEhEKDVRZUEVfU0ZJWEVEMzIQDxIRCg1UWVBFX1NGSVhFRDY0EBASDwoLVFlQRV9TSU5UMzIQERIPCgtUWVBFX1NJTlQ2NBASIkMKBUxhYmVsEhIKDkxBQkVMX09QVElPTkFMEAESEgoOTEFCRUxfUkVRVUlSRUQQAhISCg5MQUJFTF9SRVBFQVRFRBADImMKFE9uZW9mRGVzY3JpcHRvclByb3RvEhIKBG5hbWUYASABKAlSBG5hbWUSNwoHb3B0aW9ucxgCIAEoCzIdLmdvb2dsZS5wcm90b2J1Zi5PbmVvZk9wdGlvbnNSB29wdGlvbnMi4wIKE0VudW1EZXNjcmlwdG9yUHJvdG8SEgoEbmFtZRgBIAEoCVIEbmFtZRI/CgV2YWx1ZRgCIAMoCzIpLmdvb2dsZS5wcm90b2J1Zi5FbnVtVmFsdWVEZXNjcmlwdG9yUHJvdG9SBXZhbHVlEjYKB29wdGlvbnMYAyABKAsyHC5nb29nbGUucHJvdG9idWYuRW51bU9wdGlvbnNSB29wdGlvbnMSXQoOcmVzZXJ2ZWRfcmFuZ2UYBCADKAsyNi5nb29nbGUucHJvdG9idWYuRW51bURlc2NyaXB0b3JQcm90by5FbnVtUmVzZXJ2ZWRSYW5nZVINcmVzZXJ2ZWRSYW5nZRIjCg1yZXNlcnZlZF9uYW1lGAUgAygJUgxyZXNlcnZlZE5hbWUaOwoRRW51bVJlc2VydmVkUmFuZ2USFAoFc3RhcnQYASABKAVSBXN0YXJ0EhAKA2VuZBgCIAEoBVIDZW5kIoMBChhFbnVtVmFsdWVEZXNjcmlwdG9yUHJvdG8SEgoEbmFtZRgBIAEoCVIEbmFtZRIWCgZudW1iZXIYAiABKAVSBm51bWJlchI7CgdvcHRpb25zGAMgASgLMiEuZ29vZ2xlLnByb3RvYnVmLkVudW1WYWx1ZU9wdGlvbnNSB29wdGlvbnMipwEKFlNlcnZpY2VEZXNjcmlwdG9yUHJvdG8SEgoEbmFtZRgBIAEoCVIEbmFtZRI+CgZtZXRob2QYAiADKAsyJi5nb29nbGUucHJvdG9idWYuTWV0aG9kRGVzY3JpcHRvclByb3RvUgZtZXRob2QSOQoHb3B0aW9ucxgDIAEoCzIfLmdvb2dsZS5wcm90b2J1Zi5TZXJ2aWNlT3B0aW9uc1IHb3B0aW9ucyKJAgoVTWV0aG9kRGVzY3JpcHRvclByb3RvEhIKBG5hbWUYASABKAlSBG5hbWUSHQoKaW5wdXRfdHlwZRgCIAEoCVIJaW5wdXRUeXBlEh8KC291dHB1dF90eXBlGAMgASgJUgpvdXRwdXRUeXBlEjgKB29wdGlvbnMYBCABKAsyHi5nb29nbGUucHJvdG9idWYuTWV0aG9kT3B0aW9uc1IHb3B0aW9ucxIwChBjbGllbnRfc3RyZWFtaW5nGAUgASgIOgVmYWxzZVIPY2xpZW50U3RyZWFtaW5nEjAKEHNlcnZlcl9zdHJlYW1pbmcYBiABKAg6BWZhbHNlUg9zZXJ2ZXJTdHJlYW1pbmcikQkKC0ZpbGVPcHRpb25zEiEKDGphdmFfcGFja2FnZRgBIAEoCVILamF2YVBhY2thZ2USMAoUamF2YV9vdXRlcl9jbGFzc25hbWUYCCABKAlSEmphdmFPdXRlckNsYXNzbmFtZRI1ChNqYXZhX211bHRpcGxlX2ZpbGVzGAogASgIOgVmYWxzZVIRamF2YU11bHRpcGxlRmlsZXMSRAodamF2YV9nZW5lcmF0ZV9lcXVhbHNfYW5kX2hhc2gYFCABKAhCAhgBUhlqYXZhR2VuZXJhdGVFcXVhbHNBbmRIYXNoEjoKFmphdmFfc3RyaW5nX2NoZWNrX3V0ZjgYGyABKAg6BWZhbHNlUhNqYXZhU3RyaW5nQ2hlY2tVdGY4ElMKDG9wdGltaXplX2ZvchgJIAEoDjIpLmdvb2dsZS5wcm90b2J1Zi5GaWxlT3B0aW9ucy5PcHRpbWl6ZU1vZGU6BVNQRUVEUgtvcHRpbWl6ZUZvchIdCgpnb19wYWNrYWdlGAsgASgJUglnb1BhY2thZ2USNQoTY2NfZ2VuZXJpY19zZXJ2aWNlcxgQIAEoCDoFZmFsc2VSEWNjR2VuZXJpY1NlcnZpY2VzEjkKFWphdmFfZ2VuZXJpY19zZXJ2aWNlcxgRIAEoCDoFZmFsc2VSE2phdmFHZW5lcmljU2VydmljZXMSNQoTcHlfZ2VuZXJpY19zZXJ2aWNlcxgSIAEoCDoFZmFsc2VSEXB5R2VuZXJpY1NlcnZpY2VzEjcKFHBocF9nZW5lcmljX3NlcnZpY2VzGCogASgIOgVmYWxzZVIScGhwR2VuZXJpY1NlcnZpY2VzEiUKCmRlcHJlY2F0ZWQYFyABKAg6BWZhbHNlUgpkZXByZWNhdGVkEi4KEGNjX2VuYWJsZV9hcmVuYXMYHyABKAg6BHRydWVSDmNjRW5hYmxlQXJlbmFzEioKEW9iamNfY2xhc3NfcHJlZml4GCQgASgJUg9vYmpjQ2xhc3NQcmVmaXgSKQoQY3NoYXJwX25hbWVzcGFjZRglIAEoCVIPY3NoYXJwTmFtZXNwYWNlEiEKDHN3aWZ0X3ByZWZpeBgnIAEoCVILc3dpZnRQcmVmaXgSKAoQcGhwX2NsYXNzX3ByZWZpeBgoIAEoCVIOcGhwQ2xhc3NQcmVmaXgSIwoNcGhwX25hbWVzcGFjZRgpIAEoCVIMcGhwTmFtZXNwYWNlEjQKFnBocF9tZXRhZGF0YV9uYW1lc3BhY2UYLCABKAlSFHBocE1ldGFkYXRhTmFtZXNwYWNlEiEKDHJ1YnlfcGFja2FnZRgtIAEoCVILcnVieVBhY2thZ2USWAoUdW5pbnRlcnByZXRlZF9vcHRpb24Y5wcgAygLMiQuZ29vZ2xlLnByb3RvYnVmLlVuaW50ZXJwcmV0ZWRPcHRpb25SE3VuaW50ZXJwcmV0ZWRPcHRpb24iOgoMT3B0aW1pemVNb2RlEgkKBVNQRUVEEAESDQoJQ09ERV9TSVpFEAISEAoMTElURV9SVU5USU1FEAMqCQjoBxCAgICAAkoECCYQJyK7AwoOTWVzc2FnZU9wdGlvbnMSPAoXbWVzc2FnZV9zZXRfd2lyZV9mb3JtYXQYASABKAg6BWZhbHNlUhRtZXNzYWdlU2V0V2lyZUZvcm1hdBJMCh9ub19zdGFuZGFyZF9kZXNjcmlwdG9yX2FjY2Vzc29yGAIgASgIOgVmYWxzZVIcbm9TdGFuZGFyZERlc2NyaXB0b3JBY2Nlc3NvchIlCgpkZXByZWNhdGVkGAMgASgIOgVmYWxzZVIKZGVwcmVjYXRlZBIbCgltYXBfZW50cnkYByABKAhSCG1hcEVudHJ5ElYKJmRlcHJlY2F0ZWRfbGVnYWN5X2pzb25fZmllbGRfY29uZmxpY3RzGAsgASgIQgIYAVIiZGVwcmVjYXRlZExlZ2FjeUpzb25GaWVsZENvbmZsaWN0cxJYChR1bmludGVycHJldGVkX29wdGlvbhjnByADKAsyJC5nb29nbGUucHJvdG9idWYuVW5pbnRlcnByZXRlZE9wdGlvblITdW5pbnRlcnByZXRlZE9wdGlvbioJCOgHEICAgIACSgQIBBAFSgQIBRAGSgQIBhAHSgQICBAJSgQICRAKIoUJCgxGaWVsZE9wdGlvbnMSQQoFY3R5cGUYASABKA4yIy5nb29nbGUucHJvdG9idWYuRmllbGRPcHRpb25zLkNUeXBlOgZTVFJJTkdSBWN0eXBlEhYKBnBhY2tlZBgCIAEoCFIGcGFja2VkEkcKBmpzdHlwZRgGIAEoDjIkLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE9wdGlvbnMuSlNUeXBlOglKU19OT1JNQUxSBmpzdHlwZRIZCgRsYXp5GAUgASgIOgVmYWxzZVIEbGF6eRIuCg91bnZlcmlmaWVkX2xhenkYDyABKAg6BWZhbHNlUg51bnZlcmlmaWVkTGF6eRIlCgpkZXByZWNhdGVkGAMgASgIOgVmYWxzZVIKZGVwcmVjYXRlZBIZCgR3ZWFrGAogASgIOgVmYWxzZVIEd2VhaxIoCgxkZWJ1Z19yZWRhY3QYECABKAg6BWZhbHNlUgtkZWJ1Z1JlZGFjdBJLCglyZXRlbnRpb24YESABKA4yLS5nb29nbGUucHJvdG9idWYuRmllbGRPcHRpb25zLk9wdGlvblJldGVudGlvblIJcmV0ZW50aW9uEkoKBnRhcmdldBgSIAEoDjIuLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE9wdGlvbnMuT3B0aW9uVGFyZ2V0VHlwZUICGAFSBnRhcmdldBJICgd0YXJnZXRzGBMgAygOMi4uZ29vZ2xlLnByb3RvYnVmLkZpZWxkT3B0aW9ucy5PcHRpb25UYXJnZXRUeXBlUgd0YXJnZXRzElgKFHVuaW50ZXJwcmV0ZWRfb3B0aW9uGOcHIAMoCzIkLmdvb2dsZS5wcm90b2J1Zi5VbmludGVycHJldGVkT3B0aW9uUhN1bmludGVycHJldGVkT3B0aW9uIi8KBUNUeXBlEgoKBlNUUklORxAAEggKBENPUkQQARIQCgxTVFJJTkdfUElFQ0UQAiI1CgZKU1R5cGUSDQoJSlNfTk9STUFMEAASDQoJSlNfU1RSSU5HEAESDQoJSlNfTlVNQkVSEAIiVQoPT3B0aW9uUmV0ZW50aW9uEhUKEVJFVEVOVElPTl9VTktOT1dOEAASFQoRUkVURU5USU9OX1JVTlRJTUUQARIUChBSRVRFTlRJT05fU09VUkNFEAIijAIKEE9wdGlvblRhcmdldFR5cGUSFwoTVEFSR0VUX1RZUEVfVU5LTk9XThAAEhQKEFRBUkdFVF9UWVBFX0ZJTEUQARIfChtUQVJHRVRfVFlQRV9FWFRFTlNJT05fUkFOR0UQAhIXChNUQVJHRVRfVFlQRV9NRVNTQUdFEAMSFQoRVEFSR0VUX1RZUEVfRklFTEQQBBIVChFUQVJHRVRfVFlQRV9PTkVPRhAFEhQKEFRBUkdFVF9UWVBFX0VOVU0QBhIaChZUQVJHRVRfVFlQRV9FTlVNX0VOVFJZEAcSFwoTVEFSR0VUX1RZUEVfU0VSVklDRRAIEhYKElRBUkdFVF9UWVBFX01FVEhPRBAJKgkI6AcQgICAgAJKBAgEEAUicwoMT25lb2ZPcHRpb25zElgKFHVuaW50ZXJwcmV0ZWRfb3B0aW9uGOcHIAMoCzIkLmdvb2dsZS5wcm90b2J1Zi5VbmludGVycHJldGVkT3B0aW9uUhN1bmludGVycHJldGVkT3B0aW9uKgkI6AcQgICAgAIimAIKC0VudW1PcHRpb25zEh8KC2FsbG93X2FsaWFzGAIgASgIUgphbGxvd0FsaWFzEiUKCmRlcHJlY2F0ZWQYAyABKAg6BWZhbHNlUgpkZXByZWNhdGVkElYKJmRlcHJlY2F0ZWRfbGVnYWN5X2pzb25fZmllbGRfY29uZmxpY3RzGAYgASgIQgIYAVIiZGVwcmVjYXRlZExlZ2FjeUpzb25GaWVsZENvbmZsaWN0cxJYChR1bmludGVycHJldGVkX29wdGlvbhjnByADKAsyJC5nb29nbGUucHJvdG9idWYuVW5pbnRlcnByZXRlZE9wdGlvblITdW5pbnRlcnByZXRlZE9wdGlvbioJCOgHEICAgIACSgQIBRAGIp4BChBFbnVtVmFsdWVPcHRpb25zEiUKCmRlcHJlY2F0ZWQYASABKAg6BWZhbHNlUgpkZXByZWNhdGVkElgKFHVuaW50ZXJwcmV0ZWRfb3B0aW9uGOcHIAMoCzIkLmdvb2dsZS5wcm90b2J1Zi5VbmludGVycHJldGVkT3B0aW9uUhN1bmludGVycHJldGVkT3B0aW9uKgkI6AcQgICAgAIinAEKDlNlcnZpY2VPcHRpb25zEiUKCmRlcHJlY2F0ZWQYISABKAg6BWZhbHNlUgpkZXByZWNhdGVkElgKFHVuaW50ZXJwcmV0ZWRfb3B0aW9uGOcHIAMoCzIkLmdvb2dsZS5wcm90b2J1Zi5VbmludGVycHJldGVkT3B0aW9uUhN1bmludGVycHJldGVkT3B0aW9uKgkI6AcQgICAgAIi4AIKDU1ldGhvZE9wdGlvbnMSJQoKZGVwcmVjYXRlZBghIAEoCDoFZmFsc2VSCmRlcHJlY2F0ZWQScQoRaWRlbXBvdGVuY3lfbGV2ZWwYIiABKA4yLy5nb29nbGUucHJvdG9idWYuTWV0aG9kT3B0aW9ucy5JZGVtcG90ZW5jeUxldmVsOhNJREVNUE9URU5DWV9VTktOT1dOUhBpZGVtcG90ZW5jeUxldmVsElgKFHVuaW50ZXJwcmV0ZWRfb3B0aW9uGOcHIAMoCzIkLmdvb2dsZS5wcm90b2J1Zi5VbmludGVycHJldGVkT3B0aW9uUhN1bmludGVycHJldGVkT3B0aW9uIlAKEElkZW1wb3RlbmN5TGV2ZWwSFwoTSURFTVBPVEVOQ1lfVU5LTk9XThAAEhMKD05PX1NJREVfRUZGRUNUUxABEg4KCklERU1QT1RFTlQQAioJCOgHEICAgIACIpoDChNVbmludGVycHJldGVkT3B0aW9uEkEKBG5hbWUYAiADKAsyLS5nb29nbGUucHJvdG9idWYuVW5pbnRlcnByZXRlZE9wdGlvbi5OYW1lUGFydFIEbmFtZRIpChBpZGVudGlmaWVyX3ZhbHVlGAMgASgJUg9pZGVudGlmaWVyVmFsdWUSLAoScG9zaXRpdmVfaW50X3ZhbHVlGAQgASgEUhBwb3NpdGl2ZUludFZhbHVlEiwKEm5lZ2F0aXZlX2ludF92YWx1ZRgFIAEoA1IQbmVnYXRpdmVJbnRWYWx1ZRIhCgxkb3VibGVfdmFsdWUYBiABKAFSC2RvdWJsZVZhbHVlEiEKDHN0cmluZ192YWx1ZRgHIAEoDFILc3RyaW5nVmFsdWUSJwoPYWdncmVnYXRlX3ZhbHVlGAggASgJUg5hZ2dyZWdhdGVWYWx1ZRpKCghOYW1lUGFydBIbCgluYW1lX3BhcnQYASACKAlSCG5hbWVQYXJ0EiEKDGlzX2V4dGVuc2lvbhgCIAIoCFILaXNFeHRlbnNpb24ipwIKDlNvdXJjZUNvZGVJbmZvEkQKCGxvY2F0aW9uGAEgAygLMiguZ29vZ2xlLnByb3RvYnVmLlNvdXJjZUNvZGVJbmZvLkxvY2F0aW9uUghsb2NhdGlvbhrOAQoITG9jYXRpb24SFgoEcGF0aBgBIAMoBUICEAFSBHBhdGgSFgoEc3BhbhgCIAMoBUICEAFSBHNwYW4SKQoQbGVhZGluZ19jb21tZW50cxgDIAEoCVIPbGVhZGluZ0NvbW1lbnRzEisKEXRyYWlsaW5nX2NvbW1lbnRzGAQgASgJUhB0cmFpbGluZ0NvbW1lbnRzEjoKGWxlYWRpbmdfZGV0YWNoZWRfY29tbWVudHMYBiADKAlSF2xlYWRpbmdEZXRhY2hlZENvbW1lbnRzItACChFHZW5lcmF0ZWRDb2RlSW5mbxJNCgphbm5vdGF0aW9uGAEgAygLMi0uZ29vZ2xlLnByb3RvYnVmLkdlbmVyYXRlZENvZGVJbmZvLkFubm90YXRpb25SCmFubm90YXRpb24a6wEKCkFubm90YXRpb24SFgoEcGF0aBgBIAMoBUICEAFSBHBhdGgSHwoLc291cmNlX2ZpbGUYAiABKAlSCnNvdXJjZUZpbGUSFAoFYmVnaW4YAyABKAVSBWJlZ2luEhAKA2VuZBgEIAEoBVIDZW5kElIKCHNlbWFudGljGAUgASgOMjYuZ29vZ2xlLnByb3RvYnVmLkdlbmVyYXRlZENvZGVJbmZvLkFubm90YXRpb24uU2VtYW50aWNSCHNlbWFudGljIigKCFNlbWFudGljEggKBE5PTkUQABIHCgNTRVQQARIJCgVBTElBUxACQn4KE2NvbS5nb29nbGUucHJvdG9idWZCEERlc2NyaXB0b3JQcm90b3NIAVotZ29vZ2xlLmdvbGFuZy5vcmcvcHJvdG9idWYvdHlwZXMvZGVzY3JpcHRvcnBi+AEBogIDR1BCqgIaR29vZ2xlLlByb3RvYnVmLlJlZmxlY3Rpb24KqAIKHGdvb2dsZS9hcGkvYW5ub3RhdGlvbnMucHJvdG8SCmdvb2dsZS5hcGkaFWdvb2dsZS9hcGkvaHR0cC5wcm90bxogZ29vZ2xlL3Byb3RvYnVmL2Rlc2NyaXB0b3IucHJvdG86SwoEaHR0cBIeLmdvb2dsZS5wcm90b2J1Zi5NZXRob2RPcHRpb25zGLDKvCIgASgLMhQuZ29vZ2xlLmFwaS5IdHRwUnVsZVIEaHR0cEJuCg5jb20uZ29vZ2xlLmFwaUIQQW5ub3RhdGlvbnNQcm90b1ABWkFnb29nbGUuZ29sYW5nLm9yZy9nZW5wcm90by9nb29nbGVhcGlzL2FwaS9hbm5vdGF0aW9uczthbm5vdGF0aW9uc6ICBEdBUEliBnByb3RvMwroAwofZ29vZ2xlL2FwaS9maWVsZF9iZWhhdmlvci5wcm90bxIKZ29vZ2xlLmFwaRogZ29vZ2xlL3Byb3RvYnVmL2Rlc2NyaXB0b3IucHJvdG8qtgEKDUZpZWxkQmVoYXZpb3ISHgoaRklFTERfQkVIQVZJT1JfVU5TUEVDSUZJRUQQABIMCghPUFRJT05BTBABEgwKCFJFUVVJUkVEEAISDwoLT1VUUFVUX09OTFkQAxIOCgpJTlBVVF9PTkxZEAQSDQoJSU1NVVRBQkxFEAUSEgoOVU5PUkRFUkVEX0xJU1QQBhIVChFOT05fRU1QVFlfREVGQVVMVBAHEg4KCklERU5USUZJRVIQCDpkCg5maWVsZF9iZWhhdmlvchIdLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE9wdGlvbnMYnAggAygOMhkuZ29vZ2xlLmFwaS5GaWVsZEJlaGF2aW9yQgIQAFINZmllbGRCZWhhdmlvckJwCg5jb20uZ29vZ2xlLmFwaUISRmllbGRCZWhhdmlvclByb3RvUAFaQWdvb2dsZS5nb2xhbmcub3JnL2dlbnByb3RvL2dvb2dsZWFwaXMvYXBpL2Fubm90YXRpb25zO2Fubm90YXRpb25zogIER0FQSWIGcHJvdG8zCuIFChxnb29nbGUvcHJvdG9idWYvc3RydWN0LnByb3RvEg9nb29nbGUucHJvdG9idWYimAEKBlN0cnVjdBI7CgZmaWVsZHMYASADKAsyIy5nb29nbGUucHJvdG9idWYuU3RydWN0LkZpZWxkc0VudHJ5UgZmaWVsZHMaUQoLRmllbGRzRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSLAoFdmFsdWUYAiABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWVSBXZhbHVlOgI4ASKyAgoFVmFsdWUSOwoKbnVsbF92YWx1ZRgBIAEoDjIaLmdvb2dsZS5wcm90b2J1Zi5OdWxsVmFsdWVIAFIJbnVsbFZhbHVlEiMKDG51bWJlcl92YWx1ZRgCIAEoAUgAUgtudW1iZXJWYWx1ZRIjCgxzdHJpbmdfdmFsdWUYAyABKAlIAFILc3RyaW5nVmFsdWUSHwoKYm9vbF92YWx1ZRgEIAEoCEgAUglib29sVmFsdWUSPAoMc3RydWN0X3ZhbHVlGAUgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgAUgtzdHJ1Y3RWYWx1ZRI7CgpsaXN0X3ZhbHVlGAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLkxpc3RWYWx1ZUgAUglsaXN0VmFsdWVCBgoEa2luZCI7CglMaXN0VmFsdWUSLgoGdmFsdWVzGAEgAygLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlUgZ2YWx1ZXMqGwoJTnVsbFZhbHVlEg4KCk5VTExfVkFMVUUQAEJ/ChNjb20uZ29vZ2xlLnByb3RvYnVmQgtTdHJ1Y3RQcm90b1ABWi9nb29nbGUuZ29sYW5nLm9yZy9wcm90b2J1Zi90eXBlcy9rbm93bi9zdHJ1Y3RwYvgBAaICA0dQQqoCHkdvb2dsZS5Qcm90b2J1Zi5XZWxsS25vd25UeXBlc2IGcHJvdG8zCqY+Cixwcm90b2MtZ2VuLW9wZW5hcGl2Mi9vcHRpb25zL29wZW5hcGl2Mi5wcm90bxIpZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMaHGdvb2dsZS9wcm90b2J1Zi9zdHJ1Y3QucHJvdG8iswgKB1N3YWdnZXISGAoHc3dhZ2dlchgBIAEoCVIHc3dhZ2dlchJDCgRpbmZvGAIgASgLMi8uZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuSW5mb1IEaW5mbxISCgRob3N0GAMgASgJUgRob3N0EhsKCWJhc2VfcGF0aBgEIAEoCVIIYmFzZVBhdGgSSwoHc2NoZW1lcxgFIAMoDjIxLmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlNjaGVtZVIHc2NoZW1lcxIaCghjb25zdW1lcxgGIAMoCVIIY29uc3VtZXMSGgoIcHJvZHVjZXMYByADKAlSCHByb2R1Y2VzEl8KCXJlc3BvbnNlcxgKIAMoCzJBLmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlN3YWdnZXIuUmVzcG9uc2VzRW50cnlSCXJlc3BvbnNlcxJxChRzZWN1cml0eV9kZWZpbml0aW9ucxgLIAEoCzI+LmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlNlY3VyaXR5RGVmaW5pdGlvbnNSE3NlY3VyaXR5RGVmaW5pdGlvbnMSWgoIc2VjdXJpdHkYDCADKAsyPi5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5TZWN1cml0eVJlcXVpcmVtZW50UghzZWN1cml0eRJCCgR0YWdzGA0gAygLMi4uZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuVGFnUgR0YWdzEmUKDWV4dGVybmFsX2RvY3MYDiABKAsyQC5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5FeHRlcm5hbERvY3VtZW50YXRpb25SDGV4dGVybmFsRG9jcxJiCgpleHRlbnNpb25zGA8gAygLMkIuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuU3dhZ2dlci5FeHRlbnNpb25zRW50cnlSCmV4dGVuc2lvbnMacQoOUmVzcG9uc2VzRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSSQoFdmFsdWUYAiABKAsyMy5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5SZXNwb25zZVIFdmFsdWU6AjgBGlUKD0V4dGVuc2lvbnNFbnRyeRIQCgNrZXkYASABKAlSA2tleRIsCgV2YWx1ZRgCIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZVIFdmFsdWU6AjgBSgQICBAJSgQICRAKItYHCglPcGVyYXRpb24SEgoEdGFncxgBIAMoCVIEdGFncxIYCgdzdW1tYXJ5GAIgASgJUgdzdW1tYXJ5EiAKC2Rlc2NyaXB0aW9uGAMgASgJUgtkZXNjcmlwdGlvbhJlCg1leHRlcm5hbF9kb2NzGAQgASgLMkAuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuRXh0ZXJuYWxEb2N1bWVudGF0aW9uUgxleHRlcm5hbERvY3MSIQoMb3BlcmF0aW9uX2lkGAUgASgJUgtvcGVyYXRpb25JZBIaCghjb25zdW1lcxgGIAMoCVIIY29uc3VtZXMSGgoIcHJvZHVjZXMYByADKAlSCHByb2R1Y2VzEmEKCXJlc3BvbnNlcxgJIAMoCzJDLmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLk9wZXJhdGlvbi5SZXNwb25zZXNFbnRyeVIJcmVzcG9uc2VzEksKB3NjaGVtZXMYCiADKA4yMS5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5TY2hlbWVSB3NjaGVtZXMSHgoKZGVwcmVjYXRlZBgLIAEoCFIKZGVwcmVjYXRlZBJaCghzZWN1cml0eRgMIAMoCzI+LmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlNlY3VyaXR5UmVxdWlyZW1lbnRSCHNlY3VyaXR5EmQKCmV4dGVuc2lvbnMYDSADKAsyRC5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5PcGVyYXRpb24uRXh0ZW5zaW9uc0VudHJ5UgpleHRlbnNpb25zElUKCnBhcmFtZXRlcnMYDiABKAsyNS5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5QYXJhbWV0ZXJzUgpwYXJhbWV0ZXJzGnEKDlJlc3BvbnNlc0VudHJ5EhAKA2tleRgBIAEoCVIDa2V5EkkKBXZhbHVlGAIgASgLMjMuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuUmVzcG9uc2VSBXZhbHVlOgI4ARpVCg9FeHRlbnNpb25zRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSLAoFdmFsdWUYAiABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWVSBXZhbHVlOgI4AUoECAgQCSJiCgpQYXJhbWV0ZXJzElQKB2hlYWRlcnMYASADKAsyOi5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5IZWFkZXJQYXJhbWV0ZXJSB2hlYWRlcnMiowIKD0hlYWRlclBhcmFtZXRlchISCgRuYW1lGAEgASgJUgRuYW1lEiAKC2Rlc2NyaXB0aW9uGAIgASgJUgtkZXNjcmlwdGlvbhJTCgR0eXBlGAMgASgOMj8uZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuSGVhZGVyUGFyYW1ldGVyLlR5cGVSBHR5cGUSFgoGZm9ybWF0GAQgASgJUgZmb3JtYXQSGgoIcmVxdWlyZWQYBSABKAhSCHJlcXVpcmVkIkUKBFR5cGUSCwoHVU5LTk9XThAAEgoKBlNUUklORxABEgoKBk5VTUJFUhACEgsKB0lOVEVHRVIQAxILCgdCT09MRUFOEARKBAgGEAdKBAgHEAgi2AEKBkhlYWRlchIgCgtkZXNjcmlwdGlvbhgBIAEoCVILZGVzY3JpcHRpb24SEgoEdHlwZRgCIAEoCVIEdHlwZRIWCgZmb3JtYXQYAyABKAlSBmZvcm1hdBIYCgdkZWZhdWx0GAYgASgJUgdkZWZhdWx0EhgKB3BhdHRlcm4YDSABKAlSB3BhdHRlcm5KBAgEEAVKBAgFEAZKBAgHEAhKBAgIEAlKBAgJEApKBAgKEAtKBAgLEAxKBAgMEA1KBAgOEA9KBAgPEBBKBAgQEBFKBAgREBJKBAgSEBMimgUKCFJlc3BvbnNlEiAKC2Rlc2NyaXB0aW9uGAEgASgJUgtkZXNjcmlwdGlvbhJJCgZzY2hlbWEYAiABKAsyMS5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5TY2hlbWFSBnNjaGVtYRJaCgdoZWFkZXJzGAMgAygLMkAuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuUmVzcG9uc2UuSGVhZGVyc0VudHJ5UgdoZWFkZXJzEl0KCGV4YW1wbGVzGAQgAygLMkEuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuUmVzcG9uc2UuRXhhbXBsZXNFbnRyeVIIZXhhbXBsZXMSYwoKZXh0ZW5zaW9ucxgFIAMoCzJDLmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlJlc3BvbnNlLkV4dGVuc2lvbnNFbnRyeVIKZXh0ZW5zaW9ucxptCgxIZWFkZXJzRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSRwoFdmFsdWUYAiABKAsyMS5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5IZWFkZXJSBXZhbHVlOgI4ARo7Cg1FeGFtcGxlc0VudHJ5EhAKA2tleRgBIAEoCVIDa2V5EhQKBXZhbHVlGAIgASgJUgV2YWx1ZToCOAEaVQoPRXh0ZW5zaW9uc0VudHJ5EhAKA2tleRgBIAEoCVIDa2V5EiwKBXZhbHVlGAIgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlUgV2YWx1ZToCOAEi1gMKBEluZm8SFAoFdGl0bGUYASABKAlSBXRpdGxlEiAKC2Rlc2NyaXB0aW9uGAIgASgJUgtkZXNjcmlwdGlvbhIoChB0ZXJtc19vZl9zZXJ2aWNlGAMgASgJUg50ZXJtc09mU2VydmljZRJMCgdjb250YWN0GAQgASgLMjIuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuQ29udGFjdFIHY29udGFjdBJMCgdsaWNlbnNlGAUgASgLMjIuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuTGljZW5zZVIHbGljZW5zZRIYCgd2ZXJzaW9uGAYgASgJUgd2ZXJzaW9uEl8KCmV4dGVuc2lvbnMYByADKAsyPy5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5JbmZvLkV4dGVuc2lvbnNFbnRyeVIKZXh0ZW5zaW9ucxpVCg9FeHRlbnNpb25zRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSLAoFdmFsdWUYAiABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWVSBXZhbHVlOgI4ASJFCgdDb250YWN0EhIKBG5hbWUYASABKAlSBG5hbWUSEAoDdXJsGAIgASgJUgN1cmwSFAoFZW1haWwYAyABKAlSBWVtYWlsIi8KB0xpY2Vuc2USEgoEbmFtZRgBIAEoCVIEbmFtZRIQCgN1cmwYAiABKAlSA3VybCJLChVFeHRlcm5hbERvY3VtZW50YXRpb24SIAoLZGVzY3JpcHRpb24YASABKAlSC2Rlc2NyaXB0aW9uEhAKA3VybBgCIAEoCVIDdXJsIqoCCgZTY2hlbWESVgoLanNvbl9zY2hlbWEYASABKAsyNS5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5KU09OU2NoZW1hUgpqc29uU2NoZW1hEiQKDWRpc2NyaW1pbmF0b3IYAiABKAlSDWRpc2NyaW1pbmF0b3ISGwoJcmVhZF9vbmx5GAMgASgIUghyZWFkT25seRJlCg1leHRlcm5hbF9kb2NzGAUgASgLMkAuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuRXh0ZXJuYWxEb2N1bWVudGF0aW9uUgxleHRlcm5hbERvY3MSGAoHZXhhbXBsZRgGIAEoCVIHZXhhbXBsZUoECAQQBSLXCgoKSlNPTlNjaGVtYRIQCgNyZWYYAyABKAlSA3JlZhIUCgV0aXRsZRgFIAEoCVIFdGl0bGUSIAoLZGVzY3JpcHRpb24YBiABKAlSC2Rlc2NyaXB0aW9uEhgKB2RlZmF1bHQYByABKAlSB2RlZmF1bHQSGwoJcmVhZF9vbmx5GAggASgIUghyZWFkT25seRIYCgdleGFtcGxlGAkgASgJUgdleGFtcGxlEh8KC211bHRpcGxlX29mGAogASgBUgptdWx0aXBsZU9mEhgKB21heGltdW0YCyABKAFSB21heGltdW0SKwoRZXhjbHVzaXZlX21heGltdW0YDCABKAhSEGV4Y2x1c2l2ZU1heGltdW0SGAoHbWluaW11bRgNIAEoAVIHbWluaW11bRIrChFleGNsdXNpdmVfbWluaW11bRgOIAEoCFIQZXhjbHVzaXZlTWluaW11bRIdCgptYXhfbGVuZ3RoGA8gASgEUgltYXhMZW5ndGgSHQoKbWluX2xlbmd0aBgQIAEoBFIJbWluTGVuZ3RoEhgKB3BhdHRlcm4YESABKAlSB3BhdHRlcm4SGwoJbWF4X2l0ZW1zGBQgASgEUghtYXhJdGVtcxIbCgltaW5faXRlbXMYFSABKARSCG1pbkl0ZW1zEiEKDHVuaXF1ZV9pdGVtcxgWIAEoCFILdW5pcXVlSXRlbXMSJQoObWF4X3Byb3BlcnRpZXMYGCABKARSDW1heFByb3BlcnRpZXMSJQoObWluX3Byb3BlcnRpZXMYGSABKARSDW1pblByb3BlcnRpZXMSGgoIcmVxdWlyZWQYGiADKAlSCHJlcXVpcmVkEhQKBWFycmF5GCIgAygJUgVhcnJheRJfCgR0eXBlGCMgAygOMksuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuSlNPTlNjaGVtYS5KU09OU2NoZW1hU2ltcGxlVHlwZXNSBHR5cGUSFgoGZm9ybWF0GCQgASgJUgZmb3JtYXQSEgoEZW51bRguIAMoCVIEZW51bRJ6ChNmaWVsZF9jb25maWd1cmF0aW9uGOkHIAEoCzJILmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLkpTT05TY2hlbWEuRmllbGRDb25maWd1cmF0aW9uUhJmaWVsZENvbmZpZ3VyYXRpb24SZQoKZXh0ZW5zaW9ucxgwIAMoCzJFLmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLkpTT05TY2hlbWEuRXh0ZW5zaW9uc0VudHJ5UgpleHRlbnNpb25zGjwKEkZpZWxkQ29uZmlndXJhdGlvbhImCg9wYXRoX3BhcmFtX25hbWUYLyABKAlSDXBhdGhQYXJhbU5hbWUaVQoPRXh0ZW5zaW9uc0VudHJ5EhAKA2tleRgBIAEoCVIDa2V5EiwKBXZhbHVlGAIgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlUgV2YWx1ZToCOAEidwoVSlNPTlNjaGVtYVNpbXBsZVR5cGVzEgsKB1VOS05PV04QABIJCgVBUlJBWRABEgsKB0JPT0xFQU4QAhILCgdJTlRFR0VSEAMSCAoETlVMTBAEEgoKBk5VTUJFUhAFEgoKBk9CSkVDVBAGEgoKBlNUUklORxAHSgQIARACSgQIAhADSgQIBBAFSgQIEhATSgQIExAUSgQIFxAYSgQIGxAcSgQIHBAdSgQIHRAeSgQIHhAiSgQIJRAqSgQIKhArSgQIKxAuItkCCgNUYWcSEgoEbmFtZRgBIAEoCVIEbmFtZRIgCgtkZXNjcmlwdGlvbhgCIAEoCVILZGVzY3JpcHRpb24SZQoNZXh0ZXJuYWxfZG9jcxgDIAEoCzJALmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLkV4dGVybmFsRG9jdW1lbnRhdGlvblIMZXh0ZXJuYWxEb2NzEl4KCmV4dGVuc2lvbnMYBCADKAsyPi5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5UYWcuRXh0ZW5zaW9uc0VudHJ5UgpleHRlbnNpb25zGlUKD0V4dGVuc2lvbnNFbnRyeRIQCgNrZXkYASABKAlSA2tleRIsCgV2YWx1ZRgCIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZVIFdmFsdWU6AjgBIvcBChNTZWN1cml0eURlZmluaXRpb25zEmgKCHNlY3VyaXR5GAEgAygLMkwuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuU2VjdXJpdHlEZWZpbml0aW9ucy5TZWN1cml0eUVudHJ5UghzZWN1cml0eRp2Cg1TZWN1cml0eUVudHJ5EhAKA2tleRgBIAEoCVIDa2V5Ek8KBXZhbHVlGAIgASgLMjkuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuU2VjdXJpdHlTY2hlbWVSBXZhbHVlOgI4ASL/BgoOU2VjdXJpdHlTY2hlbWUSUgoEdHlwZRgBIAEoDjI+LmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlNlY3VyaXR5U2NoZW1lLlR5cGVSBHR5cGUSIAoLZGVzY3JpcHRpb24YAiABKAlSC2Rlc2NyaXB0aW9uEhIKBG5hbWUYAyABKAlSBG5hbWUSTAoCaW4YBCABKA4yPC5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5TZWN1cml0eVNjaGVtZS5JblICaW4SUgoEZmxvdxgFIAEoDjI+LmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlNlY3VyaXR5U2NoZW1lLkZsb3dSBGZsb3cSKwoRYXV0aG9yaXphdGlvbl91cmwYBiABKAlSEGF1dGhvcml6YXRpb25VcmwSGwoJdG9rZW5fdXJsGAcgASgJUgh0b2tlblVybBJJCgZzY29wZXMYCCABKAsyMS5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5TY29wZXNSBnNjb3BlcxJpCgpleHRlbnNpb25zGAkgAygLMkkuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuU2VjdXJpdHlTY2hlbWUuRXh0ZW5zaW9uc0VudHJ5UgpleHRlbnNpb25zGlUKD0V4dGVuc2lvbnNFbnRyeRIQCgNrZXkYASABKAlSA2tleRIsCgV2YWx1ZRgCIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZVIFdmFsdWU6AjgBIksKBFR5cGUSEAoMVFlQRV9JTlZBTElEEAASDgoKVFlQRV9CQVNJQxABEhAKDFRZUEVfQVBJX0tFWRACEg8KC1RZUEVfT0FVVEgyEAMiMQoCSW4SDgoKSU5fSU5WQUxJRBAAEgwKCElOX1FVRVJZEAESDQoJSU5fSEVBREVSEAIiagoERmxvdxIQCgxGTE9XX0lOVkFMSUQQABIRCg1GTE9XX0lNUExJQ0lUEAESEQoNRkxPV19QQVNTV09SRBACEhQKEEZMT1dfQVBQTElDQVRJT04QAxIUChBGTE9XX0FDQ0VTU19DT0RFEAQi9gIKE1NlY3VyaXR5UmVxdWlyZW1lbnQSigEKFHNlY3VyaXR5X3JlcXVpcmVtZW50GAEgAygLMlcuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuU2VjdXJpdHlSZXF1aXJlbWVudC5TZWN1cml0eVJlcXVpcmVtZW50RW50cnlSE3NlY3VyaXR5UmVxdWlyZW1lbnQaMAoYU2VjdXJpdHlSZXF1aXJlbWVudFZhbHVlEhQKBXNjb3BlGAEgAygJUgVzY29wZRqfAQoYU2VjdXJpdHlSZXF1aXJlbWVudEVudHJ5EhAKA2tleRgBIAEoCVIDa2V5Em0KBXZhbHVlGAIgASgLMlcuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuU2VjdXJpdHlSZXF1aXJlbWVudC5TZWN1cml0eVJlcXVpcmVtZW50VmFsdWVSBXZhbHVlOgI4ASKWAQoGU2NvcGVzElIKBXNjb3BlGAEgAygLMjwuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuU2NvcGVzLlNjb3BlRW50cnlSBXNjb3BlGjgKClNjb3BlRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSFAoFdmFsdWUYAiABKAlSBXZhbHVlOgI4ASo7CgZTY2hlbWUSCwoHVU5LTk9XThAAEggKBEhUVFAQARIJCgVIVFRQUxACEgYKAldTEAMSBwoDV1NTEARCSFpGZ2l0aHViLmNvbS9ncnBjLWVjb3N5c3RlbS9ncnBjLWdhdGV3YXkvdjIvcHJvdG9jLWdlbi1vcGVuYXBpdjIvb3B0aW9uc2IGcHJvdG8zCv0GCi5wcm90b2MtZ2VuLW9wZW5hcGl2Mi9vcHRpb25zL2Fubm90YXRpb25zLnByb3RvEilncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucxogZ29vZ2xlL3Byb3RvYnVmL2Rlc2NyaXB0b3IucHJvdG8aLHByb3RvYy1nZW4tb3BlbmFwaXYyL29wdGlvbnMvb3BlbmFwaXYyLnByb3RvOn4KEW9wZW5hcGl2Ml9zd2FnZ2VyEhwuZ29vZ2xlLnByb3RvYnVmLkZpbGVPcHRpb25zGJIIIAEoCzIyLmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlN3YWdnZXJSEG9wZW5hcGl2MlN3YWdnZXI6hgEKE29wZW5hcGl2Ml9vcGVyYXRpb24SHi5nb29nbGUucHJvdG9idWYuTWV0aG9kT3B0aW9ucxiSCCABKAsyNC5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5PcGVyYXRpb25SEm9wZW5hcGl2Mk9wZXJhdGlvbjp+ChBvcGVuYXBpdjJfc2NoZW1hEh8uZ29vZ2xlLnByb3RvYnVmLk1lc3NhZ2VPcHRpb25zGJIIIAEoCzIxLmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlNjaGVtYVIPb3BlbmFwaXYyU2NoZW1hOnUKDW9wZW5hcGl2Ml90YWcSHy5nb29nbGUucHJvdG9idWYuU2VydmljZU9wdGlvbnMYkgggASgLMi4uZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuVGFnUgxvcGVuYXBpdjJUYWc6fgoPb3BlbmFwaXYyX2ZpZWxkEh0uZ29vZ2xlLnByb3RvYnVmLkZpZWxkT3B0aW9ucxiSCCABKAsyNS5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5KU09OU2NoZW1hUg5vcGVuYXBpdjJGaWVsZEJIWkZnaXRodWIuY29tL2dycGMtZWNvc3lzdGVtL2dycGMtZ2F0ZXdheS92Mi9wcm90b2MtZ2VuLW9wZW5hcGl2Mi9vcHRpb25zYgZwcm90bzMK5gIKE3Byb3RvL3RhZy90YWcucHJvdG8SDWJ1Y2tldGVlci50YWciiAIKA1RhZxIOCgJpZBgBIAEoCVICaWQSEgoEbmFtZRgCIAEoCVIEbmFtZRIdCgpjcmVhdGVkX2F0GAMgASgDUgljcmVhdGVkQXQSHQoKdXBkYXRlZF9hdBgEIAEoA1IJdXBkYXRlZEF0Ej4KC2VudGl0eV90eXBlGAUgASgOMh0uYnVja2V0ZWVyLnRhZy5UYWcuRW50aXR5VHlwZVIKZW50aXR5VHlwZRIlCg5lbnZpcm9ubWVudF9pZBgGIAEoCVINZW52aXJvbm1lbnRJZCI4CgpFbnRpdHlUeXBlEgsKB1VOS05PV04QABIQCgxGRUFUVVJFX0ZMQUcQARILCgdBQ0NPVU5UEAJCLVorZ2l0aHViLmNvbS9idWNrZXRlZXItaW8vYnVja2V0ZWVyL3Byb3RvL3RhZ2IGcHJvdG8zCpUVChdwcm90by90YWcvc2VydmljZS5wcm90bxINYnVja2V0ZWVyLnRhZxocZ29vZ2xlL2FwaS9hbm5vdGF0aW9ucy5wcm90bxofZ29vZ2xlL2FwaS9maWVsZF9iZWhhdmlvci5wcm90bxoucHJvdG9jLWdlbi1vcGVuYXBpdjIvb3B0aW9ucy9hbm5vdGF0aW9ucy5wcm90bxoTcHJvdG8vdGFnL3RhZy5wcm90byKcAQoQQ3JlYXRlVGFnUmVxdWVzdBIXCgRuYW1lGAEgASgJQgPgQQJSBG5hbWUSQwoLZW50aXR5X3R5cGUYAiABKA4yHS5idWNrZXRlZXIudGFnLlRhZy5FbnRpdHlUeXBlQgPgQQJSCmVudGl0eVR5cGUSKgoOZW52aXJvbm1lbnRfaWQYAyABKAlCA+BBAlINZW52aXJvbm1lbnRJZCI5ChFDcmVhdGVUYWdSZXNwb25zZRIkCgN0YWcYASABKAsyEi5idWNrZXRlZXIudGFnLlRhZ1IDdGFnIlMKEERlbGV0ZVRhZ1JlcXVlc3QSEwoCaWQYASABKAlCA+BBAlICaWQSKgoOZW52aXJvbm1lbnRfaWQYAiABKAlCA+BBAlINZW52aXJvbm1lbnRJZCITChFEZWxldGVUYWdSZXNwb25zZSLnAwoPTGlzdFRhZ3NSZXF1ZXN0EhsKCXBhZ2Vfc2l6ZRgCIAEoA1IIcGFnZVNpemUSFgoGY3Vyc29yGAMgASgJUgZjdXJzb3ISQQoIb3JkZXJfYnkYBCABKA4yJi5idWNrZXRlZXIudGFnLkxpc3RUYWdzUmVxdWVzdC5PcmRlckJ5UgdvcmRlckJ5ElYKD29yZGVyX2RpcmVjdGlvbhgFIAEoDjItLmJ1Y2tldGVlci50YWcuTGlzdFRhZ3NSZXF1ZXN0Lk9yZGVyRGlyZWN0aW9uUg5vcmRlckRpcmVjdGlvbhIlCg5zZWFyY2hfa2V5d29yZBgGIAEoCVINc2VhcmNoS2V5d29yZBIlCg5lbnZpcm9ubWVudF9pZBgHIAEoCVINZW52aXJvbm1lbnRJZBInCg9vcmdhbml6YXRpb25faWQYCCABKAlSDm9yZ2FuaXphdGlvbklkImIKB09yZGVyQnkSCwoHREVGQVVMVBAAEggKBE5BTUUQARIOCgpDUkVBVEVEX0FUEAISDgoKVVBEQVRFRF9BVBADEg8KC0VOVElUWV9UWVBFEAQSDwoLRU5WSVJPTk1FTlQQBSIjCg5PcmRlckRpcmVjdGlvbhIHCgNBU0MQABIICgRERVNDEAFKBAgBEAIicwoQTGlzdFRhZ3NSZXNwb25zZRImCgR0YWdzGAEgAygLMhIuYnVja2V0ZWVyLnRhZy5UYWdSBHRhZ3MSFgoGY3Vyc29yGAIgASgJUgZjdXJzb3ISHwoLdG90YWxfY291bnQYAyABKANSCnRvdGFsQ291bnQyjAwKClRhZ1NlcnZpY2US9gMKCExpc3RUYWdzEh4uYnVja2V0ZWVyLnRhZy5MaXN0VGFnc1JlcXVlc3QaHy5idWNrZXRlZXIudGFnLkxpc3RUYWdzUmVzcG9uc2UiqAOSQZQDCgN0YWcSBExpc3QaCkxpc3QgdGFncy4qD3dlYi52MS50YWcubGlzdEq0AQoDNDAwEqwBCjpSZXR1cm5lZCBmb3IgYmFkIHJlcXVlc3RzIHRoYXQgbWF5IGhhdmUgZmFpbGVkIHZhbGlkYXRpb24uEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlYKEGFwcGxpY2F0aW9uL2pzb24SQnsgImNvZGUiOiAzLCAibWVzc2FnZSI6ICJpbnZhbGlkIGFyZ3VtZW50cyBlcnJvciIsICJkZXRhaWxzIjogW10gfUqyAQoDNDAxEqoBCj1SZXF1ZXN0IGNvdWxkIG5vdCBiZSBhdXRoZW50aWNhdGVkIChhdXRoZW50aWNhdGlvbiByZXF1aXJlZCkuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlEKEGFwcGxpY2F0aW9uL2pzb24SPXsgImNvZGUiOiAxNiwgIm1lc3NhZ2UiOiAibm90IGF1dGhlbnRpY2F0ZWQiLCAiZGV0YWlscyI6IFtdIH2C0+STAgoSCC92MS90YWdzEoIECglDcmVhdGVUYWcSHy5idWNrZXRlZXIudGFnLkNyZWF0ZVRhZ1JlcXVlc3QaIC5idWNrZXRlZXIudGFnLkNyZWF0ZVRhZ1Jlc3BvbnNlIrEDkkGbAwoDdGFnEgZDcmVhdGUaDUNyZWF0ZSBhIHRhZy4qEXdlYi52MS50YWcuY3JlYXRlSrQBCgM0MDASrAEKOlJldHVybmVkIGZvciBiYWQgcmVxdWVzdHMgdGhhdCBtYXkgaGF2ZSBmYWlsZWQgdmFsaWRhdGlvbi4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiVgoQYXBwbGljYXRpb24vanNvbhJCeyAiY29kZSI6IDMsICJtZXNzYWdlIjogImludmFsaWQgYXJndW1lbnRzIGVycm9yIiwgImRldGFpbHMiOiBbXSB9SrIBCgM0MDESqgEKPVJlcXVlc3QgY291bGQgbm90IGJlIGF1dGhlbnRpY2F0ZWQgKGF1dGhlbnRpY2F0aW9uIHJlcXVpcmVkKS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiUQoQYXBwbGljYXRpb24vanNvbhI9eyAiY29kZSI6IDE2LCAibWVzc2FnZSI6ICJub3QgYXV0aGVudGljYXRlZCIsICJkZXRhaWxzIjogW10gfYLT5JMCDCIHL3YxL3RhZzoBKhL/AwoJRGVsZXRlVGFnEh8uYnVja2V0ZWVyLnRhZy5EZWxldGVUYWdSZXF1ZXN0GiAuYnVja2V0ZWVyLnRhZy5EZWxldGVUYWdSZXNwb25zZSKuA5JBmwMKA3RhZxIGRGVsZXRlGg1EZWxldGUgYSB0YWcuKhF3ZWIudjEudGFnLmRlbGV0ZUq0AQoDNDAwEqwBCjpSZXR1cm5lZCBmb3IgYmFkIHJlcXVlc3RzIHRoYXQgbWF5IGhhdmUgZmFpbGVkIHZhbGlkYXRpb24uEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlYKEGFwcGxpY2F0aW9uL2pzb24SQnsgImNvZGUiOiAzLCAibWVzc2FnZSI6ICJpbnZhbGlkIGFyZ3VtZW50cyBlcnJvciIsICJkZXRhaWxzIjogW10gfUqyAQoDNDAxEqoBCj1SZXF1ZXN0IGNvdWxkIG5vdCBiZSBhdXRoZW50aWNhdGVkIChhdXRoZW50aWNhdGlvbiByZXF1aXJlZCkuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlEKEGFwcGxpY2F0aW9uL2pzb24SPXsgImNvZGUiOiAxNiwgIm1lc3NhZ2UiOiAibm90IGF1dGhlbnRpY2F0ZWQiLCAiZGV0YWlscyI6IFtdIH2C0+STAgkqBy92MS90YWdCLVorZ2l0aHViLmNvbS9idWNrZXRlZXItaW8vYnVja2V0ZWVyL3Byb3RvL3RhZ2IGcHJvdG8z + tagDescriptor: CocFChVnb29nbGUvYXBpL2h0dHAucHJvdG8SCmdvb2dsZS5hcGkieQoESHR0cBIqCgVydWxlcxgBIAMoCzIULmdvb2dsZS5hcGkuSHR0cFJ1bGVSBXJ1bGVzEkUKH2Z1bGx5X2RlY29kZV9yZXNlcnZlZF9leHBhbnNpb24YAiABKAhSHGZ1bGx5RGVjb2RlUmVzZXJ2ZWRFeHBhbnNpb24itQIKCEh0dHBSdWxlEhoKCHNlbGVjdG9yGAEgASgJUghzZWxlY3RvchISCgNnZXQYAiABKAlIAFIDZ2V0EhIKA3B1dBgDIAEoCUgAUgNwdXQSFAoEcG9zdBgEIAEoCUgAUgRwb3N0EhgKBmRlbGV0ZRgFIAEoCUgAUgZkZWxldGUSFgoFcGF0Y2gYBiABKAlIAFIFcGF0Y2gSNwoGY3VzdG9tGAggASgLMh0uZ29vZ2xlLmFwaS5DdXN0b21IdHRwUGF0dGVybkgAUgZjdXN0b20SEgoEYm9keRgHIAEoCVIEYm9keRJFChNhZGRpdGlvbmFsX2JpbmRpbmdzGAsgAygLMhQuZ29vZ2xlLmFwaS5IdHRwUnVsZVISYWRkaXRpb25hbEJpbmRpbmdzQgkKB3BhdHRlcm4iOwoRQ3VzdG9tSHR0cFBhdHRlcm4SEgoEa2luZBgBIAEoCVIEa2luZBISCgRwYXRoGAIgASgJUgRwYXRoQmoKDmNvbS5nb29nbGUuYXBpQglIdHRwUHJvdG9QAVpBZ29vZ2xlLmdvbGFuZy5vcmcvZ2VucHJvdG8vZ29vZ2xlYXBpcy9hcGkvYW5ub3RhdGlvbnM7YW5ub3RhdGlvbnP4AQGiAgRHQVBJYgZwcm90bzMK4UYKIGdvb2dsZS9wcm90b2J1Zi9kZXNjcmlwdG9yLnByb3RvEg9nb29nbGUucHJvdG9idWYiTQoRRmlsZURlc2NyaXB0b3JTZXQSOAoEZmlsZRgBIAMoCzIkLmdvb2dsZS5wcm90b2J1Zi5GaWxlRGVzY3JpcHRvclByb3RvUgRmaWxlIv4EChNGaWxlRGVzY3JpcHRvclByb3RvEhIKBG5hbWUYASABKAlSBG5hbWUSGAoHcGFja2FnZRgCIAEoCVIHcGFja2FnZRIeCgpkZXBlbmRlbmN5GAMgAygJUgpkZXBlbmRlbmN5EisKEXB1YmxpY19kZXBlbmRlbmN5GAogAygFUhBwdWJsaWNEZXBlbmRlbmN5EicKD3dlYWtfZGVwZW5kZW5jeRgLIAMoBVIOd2Vha0RlcGVuZGVuY3kSQwoMbWVzc2FnZV90eXBlGAQgAygLMiAuZ29vZ2xlLnByb3RvYnVmLkRlc2NyaXB0b3JQcm90b1ILbWVzc2FnZVR5cGUSQQoJZW51bV90eXBlGAUgAygLMiQuZ29vZ2xlLnByb3RvYnVmLkVudW1EZXNjcmlwdG9yUHJvdG9SCGVudW1UeXBlEkEKB3NlcnZpY2UYBiADKAsyJy5nb29nbGUucHJvdG9idWYuU2VydmljZURlc2NyaXB0b3JQcm90b1IHc2VydmljZRJDCglleHRlbnNpb24YByADKAsyJS5nb29nbGUucHJvdG9idWYuRmllbGREZXNjcmlwdG9yUHJvdG9SCWV4dGVuc2lvbhI2CgdvcHRpb25zGAggASgLMhwuZ29vZ2xlLnByb3RvYnVmLkZpbGVPcHRpb25zUgdvcHRpb25zEkkKEHNvdXJjZV9jb2RlX2luZm8YCSABKAsyHy5nb29nbGUucHJvdG9idWYuU291cmNlQ29kZUluZm9SDnNvdXJjZUNvZGVJbmZvEhYKBnN5bnRheBgMIAEoCVIGc3ludGF4EhgKB2VkaXRpb24YDSABKAlSB2VkaXRpb24iuQYKD0Rlc2NyaXB0b3JQcm90bxISCgRuYW1lGAEgASgJUgRuYW1lEjsKBWZpZWxkGAIgAygLMiUuZ29vZ2xlLnByb3RvYnVmLkZpZWxkRGVzY3JpcHRvclByb3RvUgVmaWVsZBJDCglleHRlbnNpb24YBiADKAsyJS5nb29nbGUucHJvdG9idWYuRmllbGREZXNjcmlwdG9yUHJvdG9SCWV4dGVuc2lvbhJBCgtuZXN0ZWRfdHlwZRgDIAMoCzIgLmdvb2dsZS5wcm90b2J1Zi5EZXNjcmlwdG9yUHJvdG9SCm5lc3RlZFR5cGUSQQoJZW51bV90eXBlGAQgAygLMiQuZ29vZ2xlLnByb3RvYnVmLkVudW1EZXNjcmlwdG9yUHJvdG9SCGVudW1UeXBlElgKD2V4dGVuc2lvbl9yYW5nZRgFIAMoCzIvLmdvb2dsZS5wcm90b2J1Zi5EZXNjcmlwdG9yUHJvdG8uRXh0ZW5zaW9uUmFuZ2VSDmV4dGVuc2lvblJhbmdlEkQKCm9uZW9mX2RlY2wYCCADKAsyJS5nb29nbGUucHJvdG9idWYuT25lb2ZEZXNjcmlwdG9yUHJvdG9SCW9uZW9mRGVjbBI5CgdvcHRpb25zGAcgASgLMh8uZ29vZ2xlLnByb3RvYnVmLk1lc3NhZ2VPcHRpb25zUgdvcHRpb25zElUKDnJlc2VydmVkX3JhbmdlGAkgAygLMi4uZ29vZ2xlLnByb3RvYnVmLkRlc2NyaXB0b3JQcm90by5SZXNlcnZlZFJhbmdlUg1yZXNlcnZlZFJhbmdlEiMKDXJlc2VydmVkX25hbWUYCiADKAlSDHJlc2VydmVkTmFtZRp6Cg5FeHRlbnNpb25SYW5nZRIUCgVzdGFydBgBIAEoBVIFc3RhcnQSEAoDZW5kGAIgASgFUgNlbmQSQAoHb3B0aW9ucxgDIAEoCzImLmdvb2dsZS5wcm90b2J1Zi5FeHRlbnNpb25SYW5nZU9wdGlvbnNSB29wdGlvbnMaNwoNUmVzZXJ2ZWRSYW5nZRIUCgVzdGFydBgBIAEoBVIFc3RhcnQSEAoDZW5kGAIgASgFUgNlbmQirQQKFUV4dGVuc2lvblJhbmdlT3B0aW9ucxJYChR1bmludGVycHJldGVkX29wdGlvbhjnByADKAsyJC5nb29nbGUucHJvdG9idWYuVW5pbnRlcnByZXRlZE9wdGlvblITdW5pbnRlcnByZXRlZE9wdGlvbhJZCgtkZWNsYXJhdGlvbhgCIAMoCzIyLmdvb2dsZS5wcm90b2J1Zi5FeHRlbnNpb25SYW5nZU9wdGlvbnMuRGVjbGFyYXRpb25CA4gBAlILZGVjbGFyYXRpb24SaAoMdmVyaWZpY2F0aW9uGAMgASgOMjguZ29vZ2xlLnByb3RvYnVmLkV4dGVuc2lvblJhbmdlT3B0aW9ucy5WZXJpZmljYXRpb25TdGF0ZToKVU5WRVJJRklFRFIMdmVyaWZpY2F0aW9uGrMBCgtEZWNsYXJhdGlvbhIWCgZudW1iZXIYASABKAVSBm51bWJlchIbCglmdWxsX25hbWUYAiABKAlSCGZ1bGxOYW1lEhIKBHR5cGUYAyABKAlSBHR5cGUSIwoLaXNfcmVwZWF0ZWQYBCABKAhCAhgBUgppc1JlcGVhdGVkEhoKCHJlc2VydmVkGAUgASgIUghyZXNlcnZlZBIaCghyZXBlYXRlZBgGIAEoCFIIcmVwZWF0ZWQiNAoRVmVyaWZpY2F0aW9uU3RhdGUSDwoLREVDTEFSQVRJT04QABIOCgpVTlZFUklGSUVEEAEqCQjoBxCAgICAAiLBBgoURmllbGREZXNjcmlwdG9yUHJvdG8SEgoEbmFtZRgBIAEoCVIEbmFtZRIWCgZudW1iZXIYAyABKAVSBm51bWJlchJBCgVsYWJlbBgEIAEoDjIrLmdvb2dsZS5wcm90b2J1Zi5GaWVsZERlc2NyaXB0b3JQcm90by5MYWJlbFIFbGFiZWwSPgoEdHlwZRgFIAEoDjIqLmdvb2dsZS5wcm90b2J1Zi5GaWVsZERlc2NyaXB0b3JQcm90by5UeXBlUgR0eXBlEhsKCXR5cGVfbmFtZRgGIAEoCVIIdHlwZU5hbWUSGgoIZXh0ZW5kZWUYAiABKAlSCGV4dGVuZGVlEiMKDWRlZmF1bHRfdmFsdWUYByABKAlSDGRlZmF1bHRWYWx1ZRIfCgtvbmVvZl9pbmRleBgJIAEoBVIKb25lb2ZJbmRleBIbCglqc29uX25hbWUYCiABKAlSCGpzb25OYW1lEjcKB29wdGlvbnMYCCABKAsyHS5nb29nbGUucHJvdG9idWYuRmllbGRPcHRpb25zUgdvcHRpb25zEicKD3Byb3RvM19vcHRpb25hbBgRIAEoCFIOcHJvdG8zT3B0aW9uYWwitgIKBFR5cGUSDwoLVFlQRV9ET1VCTEUQARIOCgpUWVBFX0ZMT0FUEAISDgoKVFlQRV9JTlQ2NBADEg8KC1RZUEVfVUlOVDY0EAQSDgoKVFlQRV9JTlQzMhAFEhAKDFRZUEVfRklYRUQ2NBAGEhAKDFRZUEVfRklYRUQzMhAHEg0KCVRZUEVfQk9PTBAIEg8KC1RZUEVfU1RSSU5HEAkSDgoKVFlQRV9HUk9VUBAKEhAKDFRZUEVfTUVTU0FHRRALEg4KClRZUEVfQllURVMQDBIPCgtUWVBFX1VJTlQzMhANEg0KCVRZUEVfRU5VTRAOEhEKDVRZUEVfU0ZJWEVEMzIQDxIRCg1UWVBFX1NGSVhFRDY0EBASDwoLVFlQRV9TSU5UMzIQERIPCgtUWVBFX1NJTlQ2NBASIkMKBUxhYmVsEhIKDkxBQkVMX09QVElPTkFMEAESEgoOTEFCRUxfUkVRVUlSRUQQAhISCg5MQUJFTF9SRVBFQVRFRBADImMKFE9uZW9mRGVzY3JpcHRvclByb3RvEhIKBG5hbWUYASABKAlSBG5hbWUSNwoHb3B0aW9ucxgCIAEoCzIdLmdvb2dsZS5wcm90b2J1Zi5PbmVvZk9wdGlvbnNSB29wdGlvbnMi4wIKE0VudW1EZXNjcmlwdG9yUHJvdG8SEgoEbmFtZRgBIAEoCVIEbmFtZRI/CgV2YWx1ZRgCIAMoCzIpLmdvb2dsZS5wcm90b2J1Zi5FbnVtVmFsdWVEZXNjcmlwdG9yUHJvdG9SBXZhbHVlEjYKB29wdGlvbnMYAyABKAsyHC5nb29nbGUucHJvdG9idWYuRW51bU9wdGlvbnNSB29wdGlvbnMSXQoOcmVzZXJ2ZWRfcmFuZ2UYBCADKAsyNi5nb29nbGUucHJvdG9idWYuRW51bURlc2NyaXB0b3JQcm90by5FbnVtUmVzZXJ2ZWRSYW5nZVINcmVzZXJ2ZWRSYW5nZRIjCg1yZXNlcnZlZF9uYW1lGAUgAygJUgxyZXNlcnZlZE5hbWUaOwoRRW51bVJlc2VydmVkUmFuZ2USFAoFc3RhcnQYASABKAVSBXN0YXJ0EhAKA2VuZBgCIAEoBVIDZW5kIoMBChhFbnVtVmFsdWVEZXNjcmlwdG9yUHJvdG8SEgoEbmFtZRgBIAEoCVIEbmFtZRIWCgZudW1iZXIYAiABKAVSBm51bWJlchI7CgdvcHRpb25zGAMgASgLMiEuZ29vZ2xlLnByb3RvYnVmLkVudW1WYWx1ZU9wdGlvbnNSB29wdGlvbnMipwEKFlNlcnZpY2VEZXNjcmlwdG9yUHJvdG8SEgoEbmFtZRgBIAEoCVIEbmFtZRI+CgZtZXRob2QYAiADKAsyJi5nb29nbGUucHJvdG9idWYuTWV0aG9kRGVzY3JpcHRvclByb3RvUgZtZXRob2QSOQoHb3B0aW9ucxgDIAEoCzIfLmdvb2dsZS5wcm90b2J1Zi5TZXJ2aWNlT3B0aW9uc1IHb3B0aW9ucyKJAgoVTWV0aG9kRGVzY3JpcHRvclByb3RvEhIKBG5hbWUYASABKAlSBG5hbWUSHQoKaW5wdXRfdHlwZRgCIAEoCVIJaW5wdXRUeXBlEh8KC291dHB1dF90eXBlGAMgASgJUgpvdXRwdXRUeXBlEjgKB29wdGlvbnMYBCABKAsyHi5nb29nbGUucHJvdG9idWYuTWV0aG9kT3B0aW9uc1IHb3B0aW9ucxIwChBjbGllbnRfc3RyZWFtaW5nGAUgASgIOgVmYWxzZVIPY2xpZW50U3RyZWFtaW5nEjAKEHNlcnZlcl9zdHJlYW1pbmcYBiABKAg6BWZhbHNlUg9zZXJ2ZXJTdHJlYW1pbmcikQkKC0ZpbGVPcHRpb25zEiEKDGphdmFfcGFja2FnZRgBIAEoCVILamF2YVBhY2thZ2USMAoUamF2YV9vdXRlcl9jbGFzc25hbWUYCCABKAlSEmphdmFPdXRlckNsYXNzbmFtZRI1ChNqYXZhX211bHRpcGxlX2ZpbGVzGAogASgIOgVmYWxzZVIRamF2YU11bHRpcGxlRmlsZXMSRAodamF2YV9nZW5lcmF0ZV9lcXVhbHNfYW5kX2hhc2gYFCABKAhCAhgBUhlqYXZhR2VuZXJhdGVFcXVhbHNBbmRIYXNoEjoKFmphdmFfc3RyaW5nX2NoZWNrX3V0ZjgYGyABKAg6BWZhbHNlUhNqYXZhU3RyaW5nQ2hlY2tVdGY4ElMKDG9wdGltaXplX2ZvchgJIAEoDjIpLmdvb2dsZS5wcm90b2J1Zi5GaWxlT3B0aW9ucy5PcHRpbWl6ZU1vZGU6BVNQRUVEUgtvcHRpbWl6ZUZvchIdCgpnb19wYWNrYWdlGAsgASgJUglnb1BhY2thZ2USNQoTY2NfZ2VuZXJpY19zZXJ2aWNlcxgQIAEoCDoFZmFsc2VSEWNjR2VuZXJpY1NlcnZpY2VzEjkKFWphdmFfZ2VuZXJpY19zZXJ2aWNlcxgRIAEoCDoFZmFsc2VSE2phdmFHZW5lcmljU2VydmljZXMSNQoTcHlfZ2VuZXJpY19zZXJ2aWNlcxgSIAEoCDoFZmFsc2VSEXB5R2VuZXJpY1NlcnZpY2VzEjcKFHBocF9nZW5lcmljX3NlcnZpY2VzGCogASgIOgVmYWxzZVIScGhwR2VuZXJpY1NlcnZpY2VzEiUKCmRlcHJlY2F0ZWQYFyABKAg6BWZhbHNlUgpkZXByZWNhdGVkEi4KEGNjX2VuYWJsZV9hcmVuYXMYHyABKAg6BHRydWVSDmNjRW5hYmxlQXJlbmFzEioKEW9iamNfY2xhc3NfcHJlZml4GCQgASgJUg9vYmpjQ2xhc3NQcmVmaXgSKQoQY3NoYXJwX25hbWVzcGFjZRglIAEoCVIPY3NoYXJwTmFtZXNwYWNlEiEKDHN3aWZ0X3ByZWZpeBgnIAEoCVILc3dpZnRQcmVmaXgSKAoQcGhwX2NsYXNzX3ByZWZpeBgoIAEoCVIOcGhwQ2xhc3NQcmVmaXgSIwoNcGhwX25hbWVzcGFjZRgpIAEoCVIMcGhwTmFtZXNwYWNlEjQKFnBocF9tZXRhZGF0YV9uYW1lc3BhY2UYLCABKAlSFHBocE1ldGFkYXRhTmFtZXNwYWNlEiEKDHJ1YnlfcGFja2FnZRgtIAEoCVILcnVieVBhY2thZ2USWAoUdW5pbnRlcnByZXRlZF9vcHRpb24Y5wcgAygLMiQuZ29vZ2xlLnByb3RvYnVmLlVuaW50ZXJwcmV0ZWRPcHRpb25SE3VuaW50ZXJwcmV0ZWRPcHRpb24iOgoMT3B0aW1pemVNb2RlEgkKBVNQRUVEEAESDQoJQ09ERV9TSVpFEAISEAoMTElURV9SVU5USU1FEAMqCQjoBxCAgICAAkoECCYQJyK7AwoOTWVzc2FnZU9wdGlvbnMSPAoXbWVzc2FnZV9zZXRfd2lyZV9mb3JtYXQYASABKAg6BWZhbHNlUhRtZXNzYWdlU2V0V2lyZUZvcm1hdBJMCh9ub19zdGFuZGFyZF9kZXNjcmlwdG9yX2FjY2Vzc29yGAIgASgIOgVmYWxzZVIcbm9TdGFuZGFyZERlc2NyaXB0b3JBY2Nlc3NvchIlCgpkZXByZWNhdGVkGAMgASgIOgVmYWxzZVIKZGVwcmVjYXRlZBIbCgltYXBfZW50cnkYByABKAhSCG1hcEVudHJ5ElYKJmRlcHJlY2F0ZWRfbGVnYWN5X2pzb25fZmllbGRfY29uZmxpY3RzGAsgASgIQgIYAVIiZGVwcmVjYXRlZExlZ2FjeUpzb25GaWVsZENvbmZsaWN0cxJYChR1bmludGVycHJldGVkX29wdGlvbhjnByADKAsyJC5nb29nbGUucHJvdG9idWYuVW5pbnRlcnByZXRlZE9wdGlvblITdW5pbnRlcnByZXRlZE9wdGlvbioJCOgHEICAgIACSgQIBBAFSgQIBRAGSgQIBhAHSgQICBAJSgQICRAKIoUJCgxGaWVsZE9wdGlvbnMSQQoFY3R5cGUYASABKA4yIy5nb29nbGUucHJvdG9idWYuRmllbGRPcHRpb25zLkNUeXBlOgZTVFJJTkdSBWN0eXBlEhYKBnBhY2tlZBgCIAEoCFIGcGFja2VkEkcKBmpzdHlwZRgGIAEoDjIkLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE9wdGlvbnMuSlNUeXBlOglKU19OT1JNQUxSBmpzdHlwZRIZCgRsYXp5GAUgASgIOgVmYWxzZVIEbGF6eRIuCg91bnZlcmlmaWVkX2xhenkYDyABKAg6BWZhbHNlUg51bnZlcmlmaWVkTGF6eRIlCgpkZXByZWNhdGVkGAMgASgIOgVmYWxzZVIKZGVwcmVjYXRlZBIZCgR3ZWFrGAogASgIOgVmYWxzZVIEd2VhaxIoCgxkZWJ1Z19yZWRhY3QYECABKAg6BWZhbHNlUgtkZWJ1Z1JlZGFjdBJLCglyZXRlbnRpb24YESABKA4yLS5nb29nbGUucHJvdG9idWYuRmllbGRPcHRpb25zLk9wdGlvblJldGVudGlvblIJcmV0ZW50aW9uEkoKBnRhcmdldBgSIAEoDjIuLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE9wdGlvbnMuT3B0aW9uVGFyZ2V0VHlwZUICGAFSBnRhcmdldBJICgd0YXJnZXRzGBMgAygOMi4uZ29vZ2xlLnByb3RvYnVmLkZpZWxkT3B0aW9ucy5PcHRpb25UYXJnZXRUeXBlUgd0YXJnZXRzElgKFHVuaW50ZXJwcmV0ZWRfb3B0aW9uGOcHIAMoCzIkLmdvb2dsZS5wcm90b2J1Zi5VbmludGVycHJldGVkT3B0aW9uUhN1bmludGVycHJldGVkT3B0aW9uIi8KBUNUeXBlEgoKBlNUUklORxAAEggKBENPUkQQARIQCgxTVFJJTkdfUElFQ0UQAiI1CgZKU1R5cGUSDQoJSlNfTk9STUFMEAASDQoJSlNfU1RSSU5HEAESDQoJSlNfTlVNQkVSEAIiVQoPT3B0aW9uUmV0ZW50aW9uEhUKEVJFVEVOVElPTl9VTktOT1dOEAASFQoRUkVURU5USU9OX1JVTlRJTUUQARIUChBSRVRFTlRJT05fU09VUkNFEAIijAIKEE9wdGlvblRhcmdldFR5cGUSFwoTVEFSR0VUX1RZUEVfVU5LTk9XThAAEhQKEFRBUkdFVF9UWVBFX0ZJTEUQARIfChtUQVJHRVRfVFlQRV9FWFRFTlNJT05fUkFOR0UQAhIXChNUQVJHRVRfVFlQRV9NRVNTQUdFEAMSFQoRVEFSR0VUX1RZUEVfRklFTEQQBBIVChFUQVJHRVRfVFlQRV9PTkVPRhAFEhQKEFRBUkdFVF9UWVBFX0VOVU0QBhIaChZUQVJHRVRfVFlQRV9FTlVNX0VOVFJZEAcSFwoTVEFSR0VUX1RZUEVfU0VSVklDRRAIEhYKElRBUkdFVF9UWVBFX01FVEhPRBAJKgkI6AcQgICAgAJKBAgEEAUicwoMT25lb2ZPcHRpb25zElgKFHVuaW50ZXJwcmV0ZWRfb3B0aW9uGOcHIAMoCzIkLmdvb2dsZS5wcm90b2J1Zi5VbmludGVycHJldGVkT3B0aW9uUhN1bmludGVycHJldGVkT3B0aW9uKgkI6AcQgICAgAIimAIKC0VudW1PcHRpb25zEh8KC2FsbG93X2FsaWFzGAIgASgIUgphbGxvd0FsaWFzEiUKCmRlcHJlY2F0ZWQYAyABKAg6BWZhbHNlUgpkZXByZWNhdGVkElYKJmRlcHJlY2F0ZWRfbGVnYWN5X2pzb25fZmllbGRfY29uZmxpY3RzGAYgASgIQgIYAVIiZGVwcmVjYXRlZExlZ2FjeUpzb25GaWVsZENvbmZsaWN0cxJYChR1bmludGVycHJldGVkX29wdGlvbhjnByADKAsyJC5nb29nbGUucHJvdG9idWYuVW5pbnRlcnByZXRlZE9wdGlvblITdW5pbnRlcnByZXRlZE9wdGlvbioJCOgHEICAgIACSgQIBRAGIp4BChBFbnVtVmFsdWVPcHRpb25zEiUKCmRlcHJlY2F0ZWQYASABKAg6BWZhbHNlUgpkZXByZWNhdGVkElgKFHVuaW50ZXJwcmV0ZWRfb3B0aW9uGOcHIAMoCzIkLmdvb2dsZS5wcm90b2J1Zi5VbmludGVycHJldGVkT3B0aW9uUhN1bmludGVycHJldGVkT3B0aW9uKgkI6AcQgICAgAIinAEKDlNlcnZpY2VPcHRpb25zEiUKCmRlcHJlY2F0ZWQYISABKAg6BWZhbHNlUgpkZXByZWNhdGVkElgKFHVuaW50ZXJwcmV0ZWRfb3B0aW9uGOcHIAMoCzIkLmdvb2dsZS5wcm90b2J1Zi5VbmludGVycHJldGVkT3B0aW9uUhN1bmludGVycHJldGVkT3B0aW9uKgkI6AcQgICAgAIi4AIKDU1ldGhvZE9wdGlvbnMSJQoKZGVwcmVjYXRlZBghIAEoCDoFZmFsc2VSCmRlcHJlY2F0ZWQScQoRaWRlbXBvdGVuY3lfbGV2ZWwYIiABKA4yLy5nb29nbGUucHJvdG9idWYuTWV0aG9kT3B0aW9ucy5JZGVtcG90ZW5jeUxldmVsOhNJREVNUE9URU5DWV9VTktOT1dOUhBpZGVtcG90ZW5jeUxldmVsElgKFHVuaW50ZXJwcmV0ZWRfb3B0aW9uGOcHIAMoCzIkLmdvb2dsZS5wcm90b2J1Zi5VbmludGVycHJldGVkT3B0aW9uUhN1bmludGVycHJldGVkT3B0aW9uIlAKEElkZW1wb3RlbmN5TGV2ZWwSFwoTSURFTVBPVEVOQ1lfVU5LTk9XThAAEhMKD05PX1NJREVfRUZGRUNUUxABEg4KCklERU1QT1RFTlQQAioJCOgHEICAgIACIpoDChNVbmludGVycHJldGVkT3B0aW9uEkEKBG5hbWUYAiADKAsyLS5nb29nbGUucHJvdG9idWYuVW5pbnRlcnByZXRlZE9wdGlvbi5OYW1lUGFydFIEbmFtZRIpChBpZGVudGlmaWVyX3ZhbHVlGAMgASgJUg9pZGVudGlmaWVyVmFsdWUSLAoScG9zaXRpdmVfaW50X3ZhbHVlGAQgASgEUhBwb3NpdGl2ZUludFZhbHVlEiwKEm5lZ2F0aXZlX2ludF92YWx1ZRgFIAEoA1IQbmVnYXRpdmVJbnRWYWx1ZRIhCgxkb3VibGVfdmFsdWUYBiABKAFSC2RvdWJsZVZhbHVlEiEKDHN0cmluZ192YWx1ZRgHIAEoDFILc3RyaW5nVmFsdWUSJwoPYWdncmVnYXRlX3ZhbHVlGAggASgJUg5hZ2dyZWdhdGVWYWx1ZRpKCghOYW1lUGFydBIbCgluYW1lX3BhcnQYASACKAlSCG5hbWVQYXJ0EiEKDGlzX2V4dGVuc2lvbhgCIAIoCFILaXNFeHRlbnNpb24ipwIKDlNvdXJjZUNvZGVJbmZvEkQKCGxvY2F0aW9uGAEgAygLMiguZ29vZ2xlLnByb3RvYnVmLlNvdXJjZUNvZGVJbmZvLkxvY2F0aW9uUghsb2NhdGlvbhrOAQoITG9jYXRpb24SFgoEcGF0aBgBIAMoBUICEAFSBHBhdGgSFgoEc3BhbhgCIAMoBUICEAFSBHNwYW4SKQoQbGVhZGluZ19jb21tZW50cxgDIAEoCVIPbGVhZGluZ0NvbW1lbnRzEisKEXRyYWlsaW5nX2NvbW1lbnRzGAQgASgJUhB0cmFpbGluZ0NvbW1lbnRzEjoKGWxlYWRpbmdfZGV0YWNoZWRfY29tbWVudHMYBiADKAlSF2xlYWRpbmdEZXRhY2hlZENvbW1lbnRzItACChFHZW5lcmF0ZWRDb2RlSW5mbxJNCgphbm5vdGF0aW9uGAEgAygLMi0uZ29vZ2xlLnByb3RvYnVmLkdlbmVyYXRlZENvZGVJbmZvLkFubm90YXRpb25SCmFubm90YXRpb24a6wEKCkFubm90YXRpb24SFgoEcGF0aBgBIAMoBUICEAFSBHBhdGgSHwoLc291cmNlX2ZpbGUYAiABKAlSCnNvdXJjZUZpbGUSFAoFYmVnaW4YAyABKAVSBWJlZ2luEhAKA2VuZBgEIAEoBVIDZW5kElIKCHNlbWFudGljGAUgASgOMjYuZ29vZ2xlLnByb3RvYnVmLkdlbmVyYXRlZENvZGVJbmZvLkFubm90YXRpb24uU2VtYW50aWNSCHNlbWFudGljIigKCFNlbWFudGljEggKBE5PTkUQABIHCgNTRVQQARIJCgVBTElBUxACQn4KE2NvbS5nb29nbGUucHJvdG9idWZCEERlc2NyaXB0b3JQcm90b3NIAVotZ29vZ2xlLmdvbGFuZy5vcmcvcHJvdG9idWYvdHlwZXMvZGVzY3JpcHRvcnBi+AEBogIDR1BCqgIaR29vZ2xlLlByb3RvYnVmLlJlZmxlY3Rpb24KqAIKHGdvb2dsZS9hcGkvYW5ub3RhdGlvbnMucHJvdG8SCmdvb2dsZS5hcGkaFWdvb2dsZS9hcGkvaHR0cC5wcm90bxogZ29vZ2xlL3Byb3RvYnVmL2Rlc2NyaXB0b3IucHJvdG86SwoEaHR0cBIeLmdvb2dsZS5wcm90b2J1Zi5NZXRob2RPcHRpb25zGLDKvCIgASgLMhQuZ29vZ2xlLmFwaS5IdHRwUnVsZVIEaHR0cEJuCg5jb20uZ29vZ2xlLmFwaUIQQW5ub3RhdGlvbnNQcm90b1ABWkFnb29nbGUuZ29sYW5nLm9yZy9nZW5wcm90by9nb29nbGVhcGlzL2FwaS9hbm5vdGF0aW9uczthbm5vdGF0aW9uc6ICBEdBUEliBnByb3RvMwroAwofZ29vZ2xlL2FwaS9maWVsZF9iZWhhdmlvci5wcm90bxIKZ29vZ2xlLmFwaRogZ29vZ2xlL3Byb3RvYnVmL2Rlc2NyaXB0b3IucHJvdG8qtgEKDUZpZWxkQmVoYXZpb3ISHgoaRklFTERfQkVIQVZJT1JfVU5TUEVDSUZJRUQQABIMCghPUFRJT05BTBABEgwKCFJFUVVJUkVEEAISDwoLT1VUUFVUX09OTFkQAxIOCgpJTlBVVF9PTkxZEAQSDQoJSU1NVVRBQkxFEAUSEgoOVU5PUkRFUkVEX0xJU1QQBhIVChFOT05fRU1QVFlfREVGQVVMVBAHEg4KCklERU5USUZJRVIQCDpkCg5maWVsZF9iZWhhdmlvchIdLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE9wdGlvbnMYnAggAygOMhkuZ29vZ2xlLmFwaS5GaWVsZEJlaGF2aW9yQgIQAFINZmllbGRCZWhhdmlvckJwCg5jb20uZ29vZ2xlLmFwaUISRmllbGRCZWhhdmlvclByb3RvUAFaQWdvb2dsZS5nb2xhbmcub3JnL2dlbnByb3RvL2dvb2dsZWFwaXMvYXBpL2Fubm90YXRpb25zO2Fubm90YXRpb25zogIER0FQSWIGcHJvdG8zCuIFChxnb29nbGUvcHJvdG9idWYvc3RydWN0LnByb3RvEg9nb29nbGUucHJvdG9idWYimAEKBlN0cnVjdBI7CgZmaWVsZHMYASADKAsyIy5nb29nbGUucHJvdG9idWYuU3RydWN0LkZpZWxkc0VudHJ5UgZmaWVsZHMaUQoLRmllbGRzRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSLAoFdmFsdWUYAiABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWVSBXZhbHVlOgI4ASKyAgoFVmFsdWUSOwoKbnVsbF92YWx1ZRgBIAEoDjIaLmdvb2dsZS5wcm90b2J1Zi5OdWxsVmFsdWVIAFIJbnVsbFZhbHVlEiMKDG51bWJlcl92YWx1ZRgCIAEoAUgAUgtudW1iZXJWYWx1ZRIjCgxzdHJpbmdfdmFsdWUYAyABKAlIAFILc3RyaW5nVmFsdWUSHwoKYm9vbF92YWx1ZRgEIAEoCEgAUglib29sVmFsdWUSPAoMc3RydWN0X3ZhbHVlGAUgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgAUgtzdHJ1Y3RWYWx1ZRI7CgpsaXN0X3ZhbHVlGAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLkxpc3RWYWx1ZUgAUglsaXN0VmFsdWVCBgoEa2luZCI7CglMaXN0VmFsdWUSLgoGdmFsdWVzGAEgAygLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlUgZ2YWx1ZXMqGwoJTnVsbFZhbHVlEg4KCk5VTExfVkFMVUUQAEJ/ChNjb20uZ29vZ2xlLnByb3RvYnVmQgtTdHJ1Y3RQcm90b1ABWi9nb29nbGUuZ29sYW5nLm9yZy9wcm90b2J1Zi90eXBlcy9rbm93bi9zdHJ1Y3RwYvgBAaICA0dQQqoCHkdvb2dsZS5Qcm90b2J1Zi5XZWxsS25vd25UeXBlc2IGcHJvdG8zCqY+Cixwcm90b2MtZ2VuLW9wZW5hcGl2Mi9vcHRpb25zL29wZW5hcGl2Mi5wcm90bxIpZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMaHGdvb2dsZS9wcm90b2J1Zi9zdHJ1Y3QucHJvdG8iswgKB1N3YWdnZXISGAoHc3dhZ2dlchgBIAEoCVIHc3dhZ2dlchJDCgRpbmZvGAIgASgLMi8uZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuSW5mb1IEaW5mbxISCgRob3N0GAMgASgJUgRob3N0EhsKCWJhc2VfcGF0aBgEIAEoCVIIYmFzZVBhdGgSSwoHc2NoZW1lcxgFIAMoDjIxLmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlNjaGVtZVIHc2NoZW1lcxIaCghjb25zdW1lcxgGIAMoCVIIY29uc3VtZXMSGgoIcHJvZHVjZXMYByADKAlSCHByb2R1Y2VzEl8KCXJlc3BvbnNlcxgKIAMoCzJBLmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlN3YWdnZXIuUmVzcG9uc2VzRW50cnlSCXJlc3BvbnNlcxJxChRzZWN1cml0eV9kZWZpbml0aW9ucxgLIAEoCzI+LmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlNlY3VyaXR5RGVmaW5pdGlvbnNSE3NlY3VyaXR5RGVmaW5pdGlvbnMSWgoIc2VjdXJpdHkYDCADKAsyPi5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5TZWN1cml0eVJlcXVpcmVtZW50UghzZWN1cml0eRJCCgR0YWdzGA0gAygLMi4uZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuVGFnUgR0YWdzEmUKDWV4dGVybmFsX2RvY3MYDiABKAsyQC5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5FeHRlcm5hbERvY3VtZW50YXRpb25SDGV4dGVybmFsRG9jcxJiCgpleHRlbnNpb25zGA8gAygLMkIuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuU3dhZ2dlci5FeHRlbnNpb25zRW50cnlSCmV4dGVuc2lvbnMacQoOUmVzcG9uc2VzRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSSQoFdmFsdWUYAiABKAsyMy5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5SZXNwb25zZVIFdmFsdWU6AjgBGlUKD0V4dGVuc2lvbnNFbnRyeRIQCgNrZXkYASABKAlSA2tleRIsCgV2YWx1ZRgCIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZVIFdmFsdWU6AjgBSgQICBAJSgQICRAKItYHCglPcGVyYXRpb24SEgoEdGFncxgBIAMoCVIEdGFncxIYCgdzdW1tYXJ5GAIgASgJUgdzdW1tYXJ5EiAKC2Rlc2NyaXB0aW9uGAMgASgJUgtkZXNjcmlwdGlvbhJlCg1leHRlcm5hbF9kb2NzGAQgASgLMkAuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuRXh0ZXJuYWxEb2N1bWVudGF0aW9uUgxleHRlcm5hbERvY3MSIQoMb3BlcmF0aW9uX2lkGAUgASgJUgtvcGVyYXRpb25JZBIaCghjb25zdW1lcxgGIAMoCVIIY29uc3VtZXMSGgoIcHJvZHVjZXMYByADKAlSCHByb2R1Y2VzEmEKCXJlc3BvbnNlcxgJIAMoCzJDLmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLk9wZXJhdGlvbi5SZXNwb25zZXNFbnRyeVIJcmVzcG9uc2VzEksKB3NjaGVtZXMYCiADKA4yMS5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5TY2hlbWVSB3NjaGVtZXMSHgoKZGVwcmVjYXRlZBgLIAEoCFIKZGVwcmVjYXRlZBJaCghzZWN1cml0eRgMIAMoCzI+LmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlNlY3VyaXR5UmVxdWlyZW1lbnRSCHNlY3VyaXR5EmQKCmV4dGVuc2lvbnMYDSADKAsyRC5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5PcGVyYXRpb24uRXh0ZW5zaW9uc0VudHJ5UgpleHRlbnNpb25zElUKCnBhcmFtZXRlcnMYDiABKAsyNS5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5QYXJhbWV0ZXJzUgpwYXJhbWV0ZXJzGnEKDlJlc3BvbnNlc0VudHJ5EhAKA2tleRgBIAEoCVIDa2V5EkkKBXZhbHVlGAIgASgLMjMuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuUmVzcG9uc2VSBXZhbHVlOgI4ARpVCg9FeHRlbnNpb25zRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSLAoFdmFsdWUYAiABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWVSBXZhbHVlOgI4AUoECAgQCSJiCgpQYXJhbWV0ZXJzElQKB2hlYWRlcnMYASADKAsyOi5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5IZWFkZXJQYXJhbWV0ZXJSB2hlYWRlcnMiowIKD0hlYWRlclBhcmFtZXRlchISCgRuYW1lGAEgASgJUgRuYW1lEiAKC2Rlc2NyaXB0aW9uGAIgASgJUgtkZXNjcmlwdGlvbhJTCgR0eXBlGAMgASgOMj8uZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuSGVhZGVyUGFyYW1ldGVyLlR5cGVSBHR5cGUSFgoGZm9ybWF0GAQgASgJUgZmb3JtYXQSGgoIcmVxdWlyZWQYBSABKAhSCHJlcXVpcmVkIkUKBFR5cGUSCwoHVU5LTk9XThAAEgoKBlNUUklORxABEgoKBk5VTUJFUhACEgsKB0lOVEVHRVIQAxILCgdCT09MRUFOEARKBAgGEAdKBAgHEAgi2AEKBkhlYWRlchIgCgtkZXNjcmlwdGlvbhgBIAEoCVILZGVzY3JpcHRpb24SEgoEdHlwZRgCIAEoCVIEdHlwZRIWCgZmb3JtYXQYAyABKAlSBmZvcm1hdBIYCgdkZWZhdWx0GAYgASgJUgdkZWZhdWx0EhgKB3BhdHRlcm4YDSABKAlSB3BhdHRlcm5KBAgEEAVKBAgFEAZKBAgHEAhKBAgIEAlKBAgJEApKBAgKEAtKBAgLEAxKBAgMEA1KBAgOEA9KBAgPEBBKBAgQEBFKBAgREBJKBAgSEBMimgUKCFJlc3BvbnNlEiAKC2Rlc2NyaXB0aW9uGAEgASgJUgtkZXNjcmlwdGlvbhJJCgZzY2hlbWEYAiABKAsyMS5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5TY2hlbWFSBnNjaGVtYRJaCgdoZWFkZXJzGAMgAygLMkAuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuUmVzcG9uc2UuSGVhZGVyc0VudHJ5UgdoZWFkZXJzEl0KCGV4YW1wbGVzGAQgAygLMkEuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuUmVzcG9uc2UuRXhhbXBsZXNFbnRyeVIIZXhhbXBsZXMSYwoKZXh0ZW5zaW9ucxgFIAMoCzJDLmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlJlc3BvbnNlLkV4dGVuc2lvbnNFbnRyeVIKZXh0ZW5zaW9ucxptCgxIZWFkZXJzRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSRwoFdmFsdWUYAiABKAsyMS5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5IZWFkZXJSBXZhbHVlOgI4ARo7Cg1FeGFtcGxlc0VudHJ5EhAKA2tleRgBIAEoCVIDa2V5EhQKBXZhbHVlGAIgASgJUgV2YWx1ZToCOAEaVQoPRXh0ZW5zaW9uc0VudHJ5EhAKA2tleRgBIAEoCVIDa2V5EiwKBXZhbHVlGAIgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlUgV2YWx1ZToCOAEi1gMKBEluZm8SFAoFdGl0bGUYASABKAlSBXRpdGxlEiAKC2Rlc2NyaXB0aW9uGAIgASgJUgtkZXNjcmlwdGlvbhIoChB0ZXJtc19vZl9zZXJ2aWNlGAMgASgJUg50ZXJtc09mU2VydmljZRJMCgdjb250YWN0GAQgASgLMjIuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuQ29udGFjdFIHY29udGFjdBJMCgdsaWNlbnNlGAUgASgLMjIuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuTGljZW5zZVIHbGljZW5zZRIYCgd2ZXJzaW9uGAYgASgJUgd2ZXJzaW9uEl8KCmV4dGVuc2lvbnMYByADKAsyPy5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5JbmZvLkV4dGVuc2lvbnNFbnRyeVIKZXh0ZW5zaW9ucxpVCg9FeHRlbnNpb25zRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSLAoFdmFsdWUYAiABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWVSBXZhbHVlOgI4ASJFCgdDb250YWN0EhIKBG5hbWUYASABKAlSBG5hbWUSEAoDdXJsGAIgASgJUgN1cmwSFAoFZW1haWwYAyABKAlSBWVtYWlsIi8KB0xpY2Vuc2USEgoEbmFtZRgBIAEoCVIEbmFtZRIQCgN1cmwYAiABKAlSA3VybCJLChVFeHRlcm5hbERvY3VtZW50YXRpb24SIAoLZGVzY3JpcHRpb24YASABKAlSC2Rlc2NyaXB0aW9uEhAKA3VybBgCIAEoCVIDdXJsIqoCCgZTY2hlbWESVgoLanNvbl9zY2hlbWEYASABKAsyNS5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5KU09OU2NoZW1hUgpqc29uU2NoZW1hEiQKDWRpc2NyaW1pbmF0b3IYAiABKAlSDWRpc2NyaW1pbmF0b3ISGwoJcmVhZF9vbmx5GAMgASgIUghyZWFkT25seRJlCg1leHRlcm5hbF9kb2NzGAUgASgLMkAuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuRXh0ZXJuYWxEb2N1bWVudGF0aW9uUgxleHRlcm5hbERvY3MSGAoHZXhhbXBsZRgGIAEoCVIHZXhhbXBsZUoECAQQBSLXCgoKSlNPTlNjaGVtYRIQCgNyZWYYAyABKAlSA3JlZhIUCgV0aXRsZRgFIAEoCVIFdGl0bGUSIAoLZGVzY3JpcHRpb24YBiABKAlSC2Rlc2NyaXB0aW9uEhgKB2RlZmF1bHQYByABKAlSB2RlZmF1bHQSGwoJcmVhZF9vbmx5GAggASgIUghyZWFkT25seRIYCgdleGFtcGxlGAkgASgJUgdleGFtcGxlEh8KC211bHRpcGxlX29mGAogASgBUgptdWx0aXBsZU9mEhgKB21heGltdW0YCyABKAFSB21heGltdW0SKwoRZXhjbHVzaXZlX21heGltdW0YDCABKAhSEGV4Y2x1c2l2ZU1heGltdW0SGAoHbWluaW11bRgNIAEoAVIHbWluaW11bRIrChFleGNsdXNpdmVfbWluaW11bRgOIAEoCFIQZXhjbHVzaXZlTWluaW11bRIdCgptYXhfbGVuZ3RoGA8gASgEUgltYXhMZW5ndGgSHQoKbWluX2xlbmd0aBgQIAEoBFIJbWluTGVuZ3RoEhgKB3BhdHRlcm4YESABKAlSB3BhdHRlcm4SGwoJbWF4X2l0ZW1zGBQgASgEUghtYXhJdGVtcxIbCgltaW5faXRlbXMYFSABKARSCG1pbkl0ZW1zEiEKDHVuaXF1ZV9pdGVtcxgWIAEoCFILdW5pcXVlSXRlbXMSJQoObWF4X3Byb3BlcnRpZXMYGCABKARSDW1heFByb3BlcnRpZXMSJQoObWluX3Byb3BlcnRpZXMYGSABKARSDW1pblByb3BlcnRpZXMSGgoIcmVxdWlyZWQYGiADKAlSCHJlcXVpcmVkEhQKBWFycmF5GCIgAygJUgVhcnJheRJfCgR0eXBlGCMgAygOMksuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuSlNPTlNjaGVtYS5KU09OU2NoZW1hU2ltcGxlVHlwZXNSBHR5cGUSFgoGZm9ybWF0GCQgASgJUgZmb3JtYXQSEgoEZW51bRguIAMoCVIEZW51bRJ6ChNmaWVsZF9jb25maWd1cmF0aW9uGOkHIAEoCzJILmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLkpTT05TY2hlbWEuRmllbGRDb25maWd1cmF0aW9uUhJmaWVsZENvbmZpZ3VyYXRpb24SZQoKZXh0ZW5zaW9ucxgwIAMoCzJFLmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLkpTT05TY2hlbWEuRXh0ZW5zaW9uc0VudHJ5UgpleHRlbnNpb25zGjwKEkZpZWxkQ29uZmlndXJhdGlvbhImCg9wYXRoX3BhcmFtX25hbWUYLyABKAlSDXBhdGhQYXJhbU5hbWUaVQoPRXh0ZW5zaW9uc0VudHJ5EhAKA2tleRgBIAEoCVIDa2V5EiwKBXZhbHVlGAIgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlUgV2YWx1ZToCOAEidwoVSlNPTlNjaGVtYVNpbXBsZVR5cGVzEgsKB1VOS05PV04QABIJCgVBUlJBWRABEgsKB0JPT0xFQU4QAhILCgdJTlRFR0VSEAMSCAoETlVMTBAEEgoKBk5VTUJFUhAFEgoKBk9CSkVDVBAGEgoKBlNUUklORxAHSgQIARACSgQIAhADSgQIBBAFSgQIEhATSgQIExAUSgQIFxAYSgQIGxAcSgQIHBAdSgQIHRAeSgQIHhAiSgQIJRAqSgQIKhArSgQIKxAuItkCCgNUYWcSEgoEbmFtZRgBIAEoCVIEbmFtZRIgCgtkZXNjcmlwdGlvbhgCIAEoCVILZGVzY3JpcHRpb24SZQoNZXh0ZXJuYWxfZG9jcxgDIAEoCzJALmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLkV4dGVybmFsRG9jdW1lbnRhdGlvblIMZXh0ZXJuYWxEb2NzEl4KCmV4dGVuc2lvbnMYBCADKAsyPi5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5UYWcuRXh0ZW5zaW9uc0VudHJ5UgpleHRlbnNpb25zGlUKD0V4dGVuc2lvbnNFbnRyeRIQCgNrZXkYASABKAlSA2tleRIsCgV2YWx1ZRgCIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZVIFdmFsdWU6AjgBIvcBChNTZWN1cml0eURlZmluaXRpb25zEmgKCHNlY3VyaXR5GAEgAygLMkwuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuU2VjdXJpdHlEZWZpbml0aW9ucy5TZWN1cml0eUVudHJ5UghzZWN1cml0eRp2Cg1TZWN1cml0eUVudHJ5EhAKA2tleRgBIAEoCVIDa2V5Ek8KBXZhbHVlGAIgASgLMjkuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuU2VjdXJpdHlTY2hlbWVSBXZhbHVlOgI4ASL/BgoOU2VjdXJpdHlTY2hlbWUSUgoEdHlwZRgBIAEoDjI+LmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlNlY3VyaXR5U2NoZW1lLlR5cGVSBHR5cGUSIAoLZGVzY3JpcHRpb24YAiABKAlSC2Rlc2NyaXB0aW9uEhIKBG5hbWUYAyABKAlSBG5hbWUSTAoCaW4YBCABKA4yPC5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5TZWN1cml0eVNjaGVtZS5JblICaW4SUgoEZmxvdxgFIAEoDjI+LmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlNlY3VyaXR5U2NoZW1lLkZsb3dSBGZsb3cSKwoRYXV0aG9yaXphdGlvbl91cmwYBiABKAlSEGF1dGhvcml6YXRpb25VcmwSGwoJdG9rZW5fdXJsGAcgASgJUgh0b2tlblVybBJJCgZzY29wZXMYCCABKAsyMS5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5TY29wZXNSBnNjb3BlcxJpCgpleHRlbnNpb25zGAkgAygLMkkuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuU2VjdXJpdHlTY2hlbWUuRXh0ZW5zaW9uc0VudHJ5UgpleHRlbnNpb25zGlUKD0V4dGVuc2lvbnNFbnRyeRIQCgNrZXkYASABKAlSA2tleRIsCgV2YWx1ZRgCIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZVIFdmFsdWU6AjgBIksKBFR5cGUSEAoMVFlQRV9JTlZBTElEEAASDgoKVFlQRV9CQVNJQxABEhAKDFRZUEVfQVBJX0tFWRACEg8KC1RZUEVfT0FVVEgyEAMiMQoCSW4SDgoKSU5fSU5WQUxJRBAAEgwKCElOX1FVRVJZEAESDQoJSU5fSEVBREVSEAIiagoERmxvdxIQCgxGTE9XX0lOVkFMSUQQABIRCg1GTE9XX0lNUExJQ0lUEAESEQoNRkxPV19QQVNTV09SRBACEhQKEEZMT1dfQVBQTElDQVRJT04QAxIUChBGTE9XX0FDQ0VTU19DT0RFEAQi9gIKE1NlY3VyaXR5UmVxdWlyZW1lbnQSigEKFHNlY3VyaXR5X3JlcXVpcmVtZW50GAEgAygLMlcuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuU2VjdXJpdHlSZXF1aXJlbWVudC5TZWN1cml0eVJlcXVpcmVtZW50RW50cnlSE3NlY3VyaXR5UmVxdWlyZW1lbnQaMAoYU2VjdXJpdHlSZXF1aXJlbWVudFZhbHVlEhQKBXNjb3BlGAEgAygJUgVzY29wZRqfAQoYU2VjdXJpdHlSZXF1aXJlbWVudEVudHJ5EhAKA2tleRgBIAEoCVIDa2V5Em0KBXZhbHVlGAIgASgLMlcuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuU2VjdXJpdHlSZXF1aXJlbWVudC5TZWN1cml0eVJlcXVpcmVtZW50VmFsdWVSBXZhbHVlOgI4ASKWAQoGU2NvcGVzElIKBXNjb3BlGAEgAygLMjwuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuU2NvcGVzLlNjb3BlRW50cnlSBXNjb3BlGjgKClNjb3BlRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSFAoFdmFsdWUYAiABKAlSBXZhbHVlOgI4ASo7CgZTY2hlbWUSCwoHVU5LTk9XThAAEggKBEhUVFAQARIJCgVIVFRQUxACEgYKAldTEAMSBwoDV1NTEARCSFpGZ2l0aHViLmNvbS9ncnBjLWVjb3N5c3RlbS9ncnBjLWdhdGV3YXkvdjIvcHJvdG9jLWdlbi1vcGVuYXBpdjIvb3B0aW9uc2IGcHJvdG8zCv0GCi5wcm90b2MtZ2VuLW9wZW5hcGl2Mi9vcHRpb25zL2Fubm90YXRpb25zLnByb3RvEilncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucxogZ29vZ2xlL3Byb3RvYnVmL2Rlc2NyaXB0b3IucHJvdG8aLHByb3RvYy1nZW4tb3BlbmFwaXYyL29wdGlvbnMvb3BlbmFwaXYyLnByb3RvOn4KEW9wZW5hcGl2Ml9zd2FnZ2VyEhwuZ29vZ2xlLnByb3RvYnVmLkZpbGVPcHRpb25zGJIIIAEoCzIyLmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlN3YWdnZXJSEG9wZW5hcGl2MlN3YWdnZXI6hgEKE29wZW5hcGl2Ml9vcGVyYXRpb24SHi5nb29nbGUucHJvdG9idWYuTWV0aG9kT3B0aW9ucxiSCCABKAsyNC5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5PcGVyYXRpb25SEm9wZW5hcGl2Mk9wZXJhdGlvbjp+ChBvcGVuYXBpdjJfc2NoZW1hEh8uZ29vZ2xlLnByb3RvYnVmLk1lc3NhZ2VPcHRpb25zGJIIIAEoCzIxLmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlNjaGVtYVIPb3BlbmFwaXYyU2NoZW1hOnUKDW9wZW5hcGl2Ml90YWcSHy5nb29nbGUucHJvdG9idWYuU2VydmljZU9wdGlvbnMYkgggASgLMi4uZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuVGFnUgxvcGVuYXBpdjJUYWc6fgoPb3BlbmFwaXYyX2ZpZWxkEh0uZ29vZ2xlLnByb3RvYnVmLkZpZWxkT3B0aW9ucxiSCCABKAsyNS5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5KU09OU2NoZW1hUg5vcGVuYXBpdjJGaWVsZEJIWkZnaXRodWIuY29tL2dycGMtZWNvc3lzdGVtL2dycGMtZ2F0ZXdheS92Mi9wcm90b2MtZ2VuLW9wZW5hcGl2Mi9vcHRpb25zYgZwcm90bzMKxwMKE3Byb3RvL3RhZy90YWcucHJvdG8SDWJ1Y2tldGVlci50YWciiAIKA1RhZxIOCgJpZBgBIAEoCVICaWQSEgoEbmFtZRgCIAEoCVIEbmFtZRIdCgpjcmVhdGVkX2F0GAMgASgDUgljcmVhdGVkQXQSHQoKdXBkYXRlZF9hdBgEIAEoA1IJdXBkYXRlZEF0Ej4KC2VudGl0eV90eXBlGAUgASgOMh0uYnVja2V0ZWVyLnRhZy5UYWcuRW50aXR5VHlwZVIKZW50aXR5VHlwZRIlCg5lbnZpcm9ubWVudF9pZBgGIAEoCVINZW52aXJvbm1lbnRJZCI4CgpFbnRpdHlUeXBlEgsKB1VOS05PV04QABIQCgxGRUFUVVJFX0ZMQUcQARILCgdBQ0NPVU5UEAIiXwoORW52aXJvbm1lbnRUYWcSJQoOZW52aXJvbm1lbnRfaWQYASABKAlSDWVudmlyb25tZW50SWQSJgoEdGFncxgCIAMoCzISLmJ1Y2tldGVlci50YWcuVGFnUgR0YWdzQi1aK2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by90YWdiBnByb3RvMwqVFQoXcHJvdG8vdGFnL3NlcnZpY2UucHJvdG8SDWJ1Y2tldGVlci50YWcaHGdvb2dsZS9hcGkvYW5ub3RhdGlvbnMucHJvdG8aH2dvb2dsZS9hcGkvZmllbGRfYmVoYXZpb3IucHJvdG8aLnByb3RvYy1nZW4tb3BlbmFwaXYyL29wdGlvbnMvYW5ub3RhdGlvbnMucHJvdG8aE3Byb3RvL3RhZy90YWcucHJvdG8inAEKEENyZWF0ZVRhZ1JlcXVlc3QSFwoEbmFtZRgBIAEoCUID4EECUgRuYW1lEkMKC2VudGl0eV90eXBlGAIgASgOMh0uYnVja2V0ZWVyLnRhZy5UYWcuRW50aXR5VHlwZUID4EECUgplbnRpdHlUeXBlEioKDmVudmlyb25tZW50X2lkGAMgASgJQgPgQQJSDWVudmlyb25tZW50SWQiOQoRQ3JlYXRlVGFnUmVzcG9uc2USJAoDdGFnGAEgASgLMhIuYnVja2V0ZWVyLnRhZy5UYWdSA3RhZyJTChBEZWxldGVUYWdSZXF1ZXN0EhMKAmlkGAEgASgJQgPgQQJSAmlkEioKDmVudmlyb25tZW50X2lkGAIgASgJQgPgQQJSDWVudmlyb25tZW50SWQiEwoRRGVsZXRlVGFnUmVzcG9uc2Ui5wMKD0xpc3RUYWdzUmVxdWVzdBIbCglwYWdlX3NpemUYAiABKANSCHBhZ2VTaXplEhYKBmN1cnNvchgDIAEoCVIGY3Vyc29yEkEKCG9yZGVyX2J5GAQgASgOMiYuYnVja2V0ZWVyLnRhZy5MaXN0VGFnc1JlcXVlc3QuT3JkZXJCeVIHb3JkZXJCeRJWCg9vcmRlcl9kaXJlY3Rpb24YBSABKA4yLS5idWNrZXRlZXIudGFnLkxpc3RUYWdzUmVxdWVzdC5PcmRlckRpcmVjdGlvblIOb3JkZXJEaXJlY3Rpb24SJQoOc2VhcmNoX2tleXdvcmQYBiABKAlSDXNlYXJjaEtleXdvcmQSJQoOZW52aXJvbm1lbnRfaWQYByABKAlSDWVudmlyb25tZW50SWQSJwoPb3JnYW5pemF0aW9uX2lkGAggASgJUg5vcmdhbml6YXRpb25JZCJiCgdPcmRlckJ5EgsKB0RFRkFVTFQQABIICgROQU1FEAESDgoKQ1JFQVRFRF9BVBACEg4KClVQREFURURfQVQQAxIPCgtFTlRJVFlfVFlQRRAEEg8KC0VOVklST05NRU5UEAUiIwoOT3JkZXJEaXJlY3Rpb24SBwoDQVNDEAASCAoEREVTQxABSgQIARACInMKEExpc3RUYWdzUmVzcG9uc2USJgoEdGFncxgBIAMoCzISLmJ1Y2tldGVlci50YWcuVGFnUgR0YWdzEhYKBmN1cnNvchgCIAEoCVIGY3Vyc29yEh8KC3RvdGFsX2NvdW50GAMgASgDUgp0b3RhbENvdW50MowMCgpUYWdTZXJ2aWNlEvYDCghMaXN0VGFncxIeLmJ1Y2tldGVlci50YWcuTGlzdFRhZ3NSZXF1ZXN0Gh8uYnVja2V0ZWVyLnRhZy5MaXN0VGFnc1Jlc3BvbnNlIqgDkkGUAwoDdGFnEgRMaXN0GgpMaXN0IHRhZ3MuKg93ZWIudjEudGFnLmxpc3RKtAEKAzQwMBKsAQo6UmV0dXJuZWQgZm9yIGJhZCByZXF1ZXN0cyB0aGF0IG1heSBoYXZlIGZhaWxlZCB2YWxpZGF0aW9uLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJWChBhcHBsaWNhdGlvbi9qc29uEkJ7ICJjb2RlIjogMywgIm1lc3NhZ2UiOiAiaW52YWxpZCBhcmd1bWVudHMgZXJyb3IiLCAiZGV0YWlscyI6IFtdIH1KsgEKAzQwMRKqAQo9UmVxdWVzdCBjb3VsZCBub3QgYmUgYXV0aGVudGljYXRlZCAoYXV0aGVudGljYXRpb24gcmVxdWlyZWQpLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJRChBhcHBsaWNhdGlvbi9qc29uEj17ICJjb2RlIjogMTYsICJtZXNzYWdlIjogIm5vdCBhdXRoZW50aWNhdGVkIiwgImRldGFpbHMiOiBbXSB9gtPkkwIKEggvdjEvdGFncxKCBAoJQ3JlYXRlVGFnEh8uYnVja2V0ZWVyLnRhZy5DcmVhdGVUYWdSZXF1ZXN0GiAuYnVja2V0ZWVyLnRhZy5DcmVhdGVUYWdSZXNwb25zZSKxA5JBmwMKA3RhZxIGQ3JlYXRlGg1DcmVhdGUgYSB0YWcuKhF3ZWIudjEudGFnLmNyZWF0ZUq0AQoDNDAwEqwBCjpSZXR1cm5lZCBmb3IgYmFkIHJlcXVlc3RzIHRoYXQgbWF5IGhhdmUgZmFpbGVkIHZhbGlkYXRpb24uEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlYKEGFwcGxpY2F0aW9uL2pzb24SQnsgImNvZGUiOiAzLCAibWVzc2FnZSI6ICJpbnZhbGlkIGFyZ3VtZW50cyBlcnJvciIsICJkZXRhaWxzIjogW10gfUqyAQoDNDAxEqoBCj1SZXF1ZXN0IGNvdWxkIG5vdCBiZSBhdXRoZW50aWNhdGVkIChhdXRoZW50aWNhdGlvbiByZXF1aXJlZCkuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlEKEGFwcGxpY2F0aW9uL2pzb24SPXsgImNvZGUiOiAxNiwgIm1lc3NhZ2UiOiAibm90IGF1dGhlbnRpY2F0ZWQiLCAiZGV0YWlscyI6IFtdIH2C0+STAgwiBy92MS90YWc6ASoS/wMKCURlbGV0ZVRhZxIfLmJ1Y2tldGVlci50YWcuRGVsZXRlVGFnUmVxdWVzdBogLmJ1Y2tldGVlci50YWcuRGVsZXRlVGFnUmVzcG9uc2UirgOSQZsDCgN0YWcSBkRlbGV0ZRoNRGVsZXRlIGEgdGFnLioRd2ViLnYxLnRhZy5kZWxldGVKtAEKAzQwMBKsAQo6UmV0dXJuZWQgZm9yIGJhZCByZXF1ZXN0cyB0aGF0IG1heSBoYXZlIGZhaWxlZCB2YWxpZGF0aW9uLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJWChBhcHBsaWNhdGlvbi9qc29uEkJ7ICJjb2RlIjogMywgIm1lc3NhZ2UiOiAiaW52YWxpZCBhcmd1bWVudHMgZXJyb3IiLCAiZGV0YWlscyI6IFtdIH1KsgEKAzQwMRKqAQo9UmVxdWVzdCBjb3VsZCBub3QgYmUgYXV0aGVudGljYXRlZCAoYXV0aGVudGljYXRpb24gcmVxdWlyZWQpLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJRChBhcHBsaWNhdGlvbi9qc29uEj17ICJjb2RlIjogMTYsICJtZXNzYWdlIjogIm5vdCBhdXRoZW50aWNhdGVkIiwgImRldGFpbHMiOiBbXSB9gtPkkwIJKgcvdjEvdGFnQi1aK2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by90YWdiBnByb3RvMw== service: type: ClusterIP grpcPort: 9000 diff --git a/pkg/tag/storage/mock/tag.go b/pkg/tag/storage/mock/tag.go index 691958a83..7f21bc54d 100644 --- a/pkg/tag/storage/mock/tag.go +++ b/pkg/tag/storage/mock/tag.go @@ -72,6 +72,21 @@ func (mr *MockTagStorageMockRecorder) GetTag(ctx, id, environmentId any) *gomock return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetTag", reflect.TypeOf((*MockTagStorage)(nil).GetTag), ctx, id, environmentId) } +// ListAllEnvironmentTags mocks base method. +func (m *MockTagStorage) ListAllEnvironmentTags(ctx context.Context) ([]*tag.EnvironmentTag, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ListAllEnvironmentTags", ctx) + ret0, _ := ret[0].([]*tag.EnvironmentTag) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListAllEnvironmentTags indicates an expected call of ListAllEnvironmentTags. +func (mr *MockTagStorageMockRecorder) ListAllEnvironmentTags(ctx any) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListAllEnvironmentTags", reflect.TypeOf((*MockTagStorage)(nil).ListAllEnvironmentTags), ctx) +} + // ListTags mocks base method. func (m *MockTagStorage) ListTags(ctx context.Context, whereParts []mysql.WherePart, orders []*mysql.Order, limit, offset int) ([]*tag.Tag, int, int64, error) { m.ctrl.T.Helper() diff --git a/pkg/tag/storage/sql/select_all_environment_tags.sql b/pkg/tag/storage/sql/select_all_environment_tags.sql new file mode 100644 index 000000000..92b24c9d6 --- /dev/null +++ b/pkg/tag/storage/sql/select_all_environment_tags.sql @@ -0,0 +1,11 @@ +SELECT + env.id AS environment_id, + tag.id, + tag.name, + tag.created_at, + tag.updated_at, + tag.entity_type, + tag.environment_id +FROM tag +JOIN environment_v2 env ON tag.environment_id = env.id +ORDER BY env.id, tag.name; diff --git a/pkg/tag/storage/tag.go b/pkg/tag/storage/tag.go index d69fc2fc2..b3fde123f 100644 --- a/pkg/tag/storage/tag.go +++ b/pkg/tag/storage/tag.go @@ -36,6 +36,8 @@ var ( selectTagSQL string //go:embed sql/select_tags.sql selectTagsSQL string + //go:embed sql/select_all_environment_tags.sql + selectAllEnvironmentTagsSQL string //go:embed sql/count_tags.sql countTagsSQL string //go:embed sql/delete_tag.sql @@ -51,6 +53,7 @@ type TagStorage interface { orders []*mysql.Order, limit, offset int, ) ([]*proto.Tag, int, int64, error) + ListAllEnvironmentTags(ctx context.Context) ([]*proto.EnvironmentTag, error) DeleteTag(ctx context.Context, id, environmentId string) error } @@ -151,6 +154,46 @@ func (s *tagStorage) ListTags( return tags, nextOffset, totalCount, nil } +func (s *tagStorage) ListAllEnvironmentTags(ctx context.Context) ([]*proto.EnvironmentTag, error) { + rows, err := s.qe.QueryContext(ctx, selectAllEnvironmentTagsSQL) + if err != nil { + return nil, err + } + defer rows.Close() + envTags := map[string][]*proto.Tag{} + for rows.Next() { + var entityType int32 + var envID string + tag := proto.Tag{} + err := rows.Scan( + &envID, + &tag.Id, + &tag.Name, + &tag.CreatedAt, + &tag.UpdatedAt, + &entityType, + &tag.EnvironmentId, + ) + if err != nil { + return nil, err + } + tag.EntityType = proto.Tag_EntityType(entityType) + envTags[envID] = append(envTags[envID], &tag) + } + if rows.Err() != nil { + return nil, err + } + environmentTags := make([]*proto.EnvironmentTag, 0, len(envTags)) + for key, tags := range envTags { + envTag := &proto.EnvironmentTag{ + EnvironmentId: key, + Tags: tags, + } + environmentTags = append(environmentTags, envTag) + } + return environmentTags, nil +} + func (s *tagStorage) DeleteTag(ctx context.Context, id, environmentId string) error { result, err := s.qe.ExecContext(ctx, deleteTagSQL, id) if err != nil { diff --git a/proto/auditlog/proto_descriptor.pb b/proto/auditlog/proto_descriptor.pb index 40baa3742..9a02c02b5 100644 Binary files a/proto/auditlog/proto_descriptor.pb and b/proto/auditlog/proto_descriptor.pb differ diff --git a/proto/proto.lock b/proto/proto.lock index a471002d5..dc84ba02a 100644 --- a/proto/proto.lock +++ b/proto/proto.lock @@ -33066,6 +33066,22 @@ "type": "string" } ] + }, + { + "name": "EnvironmentTag", + "fields": [ + { + "id": 1, + "name": "environment_id", + "type": "string" + }, + { + "id": 2, + "name": "tags", + "type": "Tag", + "is_repeated": true + } + ] } ], "package": { diff --git a/proto/tag/proto_descriptor.pb b/proto/tag/proto_descriptor.pb index 88716c49d..107f6e9f7 100644 Binary files a/proto/tag/proto_descriptor.pb and b/proto/tag/proto_descriptor.pb differ diff --git a/proto/tag/tag.pb.go b/proto/tag/tag.pb.go index cbbdf5db3..632cd32b1 100644 --- a/proto/tag/tag.pb.go +++ b/proto/tag/tag.pb.go @@ -170,6 +170,61 @@ func (x *Tag) GetEnvironmentId() string { return "" } +type EnvironmentTag struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + EnvironmentId string `protobuf:"bytes,1,opt,name=environment_id,json=environmentId,proto3" json:"environment_id"` + Tags []*Tag `protobuf:"bytes,2,rep,name=tags,proto3" json:"tags"` +} + +func (x *EnvironmentTag) Reset() { + *x = EnvironmentTag{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_tag_tag_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EnvironmentTag) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EnvironmentTag) ProtoMessage() {} + +func (x *EnvironmentTag) ProtoReflect() protoreflect.Message { + mi := &file_proto_tag_tag_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EnvironmentTag.ProtoReflect.Descriptor instead. +func (*EnvironmentTag) Descriptor() ([]byte, []int) { + return file_proto_tag_tag_proto_rawDescGZIP(), []int{1} +} + +func (x *EnvironmentTag) GetEnvironmentId() string { + if x != nil { + return x.EnvironmentId + } + return "" +} + +func (x *EnvironmentTag) GetTags() []*Tag { + if x != nil { + return x.Tags + } + return nil +} + var File_proto_tag_tag_proto protoreflect.FileDescriptor var file_proto_tag_tag_proto_rawDesc = []byte{ @@ -191,11 +246,17 @@ var file_proto_tag_tag_proto_rawDesc = []byte{ 0x65, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x38, 0x0a, 0x0a, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x46, 0x45, 0x41, 0x54, 0x55, 0x52, 0x45, 0x5f, 0x46, 0x4c, 0x41, 0x47, - 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x41, 0x43, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x10, 0x02, 0x42, - 0x2d, 0x5a, 0x2b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x62, 0x75, - 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2d, 0x69, 0x6f, 0x2f, 0x62, 0x75, 0x63, 0x6b, 0x65, - 0x74, 0x65, 0x65, 0x72, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x74, 0x61, 0x67, 0x62, 0x06, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x41, 0x43, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x10, 0x02, 0x22, + 0x5f, 0x0a, 0x0e, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x61, + 0x67, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x6e, 0x76, 0x69, 0x72, + 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, + 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, + 0x65, 0x72, 0x2e, 0x74, 0x61, 0x67, 0x2e, 0x54, 0x61, 0x67, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, + 0x42, 0x2d, 0x5a, 0x2b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x62, + 0x75, 0x63, 0x6b, 0x65, 0x74, 0x65, 0x65, 0x72, 0x2d, 0x69, 0x6f, 0x2f, 0x62, 0x75, 0x63, 0x6b, + 0x65, 0x74, 0x65, 0x65, 0x72, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x74, 0x61, 0x67, 0x62, + 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -211,18 +272,20 @@ func file_proto_tag_tag_proto_rawDescGZIP() []byte { } var file_proto_tag_tag_proto_enumTypes = make([]protoimpl.EnumInfo, 1) -var file_proto_tag_tag_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_proto_tag_tag_proto_msgTypes = make([]protoimpl.MessageInfo, 2) var file_proto_tag_tag_proto_goTypes = []interface{}{ - (Tag_EntityType)(0), // 0: bucketeer.tag.Tag.EntityType - (*Tag)(nil), // 1: bucketeer.tag.Tag + (Tag_EntityType)(0), // 0: bucketeer.tag.Tag.EntityType + (*Tag)(nil), // 1: bucketeer.tag.Tag + (*EnvironmentTag)(nil), // 2: bucketeer.tag.EnvironmentTag } var file_proto_tag_tag_proto_depIdxs = []int32{ 0, // 0: bucketeer.tag.Tag.entity_type:type_name -> bucketeer.tag.Tag.EntityType - 1, // [1:1] is the sub-list for method output_type - 1, // [1:1] is the sub-list for method input_type - 1, // [1:1] is the sub-list for extension type_name - 1, // [1:1] is the sub-list for extension extendee - 0, // [0:1] is the sub-list for field type_name + 1, // 1: bucketeer.tag.EnvironmentTag.tags:type_name -> bucketeer.tag.Tag + 2, // [2:2] is the sub-list for method output_type + 2, // [2:2] is the sub-list for method input_type + 2, // [2:2] is the sub-list for extension type_name + 2, // [2:2] is the sub-list for extension extendee + 0, // [0:2] is the sub-list for field type_name } func init() { file_proto_tag_tag_proto_init() } @@ -243,6 +306,18 @@ func file_proto_tag_tag_proto_init() { return nil } } + file_proto_tag_tag_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EnvironmentTag); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } type x struct{} out := protoimpl.TypeBuilder{ @@ -250,7 +325,7 @@ func file_proto_tag_tag_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_proto_tag_tag_proto_rawDesc, NumEnums: 1, - NumMessages: 1, + NumMessages: 2, NumExtensions: 0, NumServices: 0, }, diff --git a/proto/tag/tag.proto b/proto/tag/tag.proto index 272599d9b..40ab843e7 100644 --- a/proto/tag/tag.proto +++ b/proto/tag/tag.proto @@ -30,3 +30,8 @@ message Tag { EntityType entity_type = 5; string environment_id = 6; } + +message EnvironmentTag { + string environment_id = 1; + repeated Tag tags = 2; +} diff --git a/ui/web-v2/src/proto/tag/tag_pb.d.ts b/ui/web-v2/src/proto/tag/tag_pb.d.ts index 58fa82654..285ec27d8 100644 --- a/ui/web-v2/src/proto/tag/tag_pb.d.ts +++ b/ui/web-v2/src/proto/tag/tag_pb.d.ts @@ -55,3 +55,40 @@ export namespace Tag { export const EntityType: EntityTypeMap; } + +export class EnvironmentTag extends jspb.Message { + getEnvironmentId(): string; + setEnvironmentId(value: string): void; + + clearTagsList(): void; + getTagsList(): Array; + setTagsList(value: Array): void; + addTags(value?: Tag, index?: number): Tag; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): EnvironmentTag.AsObject; + static toObject( + includeInstance: boolean, + msg: EnvironmentTag + ): EnvironmentTag.AsObject; + static extensions: { [key: number]: jspb.ExtensionFieldInfo }; + static extensionsBinary: { + [key: number]: jspb.ExtensionFieldBinaryInfo; + }; + static serializeBinaryToWriter( + message: EnvironmentTag, + writer: jspb.BinaryWriter + ): void; + static deserializeBinary(bytes: Uint8Array): EnvironmentTag; + static deserializeBinaryFromReader( + message: EnvironmentTag, + reader: jspb.BinaryReader + ): EnvironmentTag; +} + +export namespace EnvironmentTag { + export type AsObject = { + environmentId: string; + tagsList: Array; + }; +} diff --git a/ui/web-v2/src/proto/tag/tag_pb.js b/ui/web-v2/src/proto/tag/tag_pb.js index 2346b9bcb..c723baf73 100644 --- a/ui/web-v2/src/proto/tag/tag_pb.js +++ b/ui/web-v2/src/proto/tag/tag_pb.js @@ -23,6 +23,7 @@ var global = }.call(null) || Function('return this')(); +goog.exportSymbol('proto.bucketeer.tag.EnvironmentTag', null, global); goog.exportSymbol('proto.bucketeer.tag.Tag', null, global); goog.exportSymbol('proto.bucketeer.tag.Tag.EntityType', null, global); /** @@ -46,6 +47,35 @@ if (goog.DEBUG && !COMPILED) { */ proto.bucketeer.tag.Tag.displayName = 'proto.bucketeer.tag.Tag'; } +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.bucketeer.tag.EnvironmentTag = function (opt_data) { + jspb.Message.initialize( + this, + opt_data, + 0, + -1, + proto.bucketeer.tag.EnvironmentTag.repeatedFields_, + null + ); +}; +goog.inherits(proto.bucketeer.tag.EnvironmentTag, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.bucketeer.tag.EnvironmentTag.displayName = + 'proto.bucketeer.tag.EnvironmentTag'; +} if (jspb.Message.GENERATE_TO_OBJECT) { /** @@ -302,4 +332,212 @@ proto.bucketeer.tag.Tag.prototype.setEnvironmentId = function (value) { return jspb.Message.setProto3StringField(this, 6, value); }; +/** + * List of repeated fields within this message type. + * @private {!Array} + * @const + */ +proto.bucketeer.tag.EnvironmentTag.repeatedFields_ = [2]; + +if (jspb.Message.GENERATE_TO_OBJECT) { + /** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ + proto.bucketeer.tag.EnvironmentTag.prototype.toObject = function ( + opt_includeInstance + ) { + return proto.bucketeer.tag.EnvironmentTag.toObject( + opt_includeInstance, + this + ); + }; + + /** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.bucketeer.tag.EnvironmentTag} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ + proto.bucketeer.tag.EnvironmentTag.toObject = function ( + includeInstance, + msg + ) { + var f, + obj = { + environmentId: jspb.Message.getFieldWithDefault(msg, 1, ''), + tagsList: jspb.Message.toObjectList( + msg.getTagsList(), + proto.bucketeer.tag.Tag.toObject, + includeInstance + ) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; + }; +} + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.bucketeer.tag.EnvironmentTag} + */ +proto.bucketeer.tag.EnvironmentTag.deserializeBinary = function (bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.bucketeer.tag.EnvironmentTag(); + return proto.bucketeer.tag.EnvironmentTag.deserializeBinaryFromReader( + msg, + reader + ); +}; + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.bucketeer.tag.EnvironmentTag} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.bucketeer.tag.EnvironmentTag} + */ +proto.bucketeer.tag.EnvironmentTag.deserializeBinaryFromReader = function ( + msg, + reader +) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = /** @type {string} */ (reader.readString()); + msg.setEnvironmentId(value); + break; + case 2: + var value = new proto.bucketeer.tag.Tag(); + reader.readMessage( + value, + proto.bucketeer.tag.Tag.deserializeBinaryFromReader + ); + msg.addTags(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.bucketeer.tag.EnvironmentTag.prototype.serializeBinary = function () { + var writer = new jspb.BinaryWriter(); + proto.bucketeer.tag.EnvironmentTag.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.bucketeer.tag.EnvironmentTag} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.bucketeer.tag.EnvironmentTag.serializeBinaryToWriter = function ( + message, + writer +) { + var f = undefined; + f = message.getEnvironmentId(); + if (f.length > 0) { + writer.writeString(1, f); + } + f = message.getTagsList(); + if (f.length > 0) { + writer.writeRepeatedMessage( + 2, + f, + proto.bucketeer.tag.Tag.serializeBinaryToWriter + ); + } +}; + +/** + * optional string environment_id = 1; + * @return {string} + */ +proto.bucketeer.tag.EnvironmentTag.prototype.getEnvironmentId = function () { + return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, '')); +}; + +/** + * @param {string} value + * @return {!proto.bucketeer.tag.EnvironmentTag} returns this + */ +proto.bucketeer.tag.EnvironmentTag.prototype.setEnvironmentId = function ( + value +) { + return jspb.Message.setProto3StringField(this, 1, value); +}; + +/** + * repeated Tag tags = 2; + * @return {!Array} + */ +proto.bucketeer.tag.EnvironmentTag.prototype.getTagsList = function () { + return /** @type{!Array} */ ( + jspb.Message.getRepeatedWrapperField(this, proto.bucketeer.tag.Tag, 2) + ); +}; + +/** + * @param {!Array} value + * @return {!proto.bucketeer.tag.EnvironmentTag} returns this + */ +proto.bucketeer.tag.EnvironmentTag.prototype.setTagsList = function (value) { + return jspb.Message.setRepeatedWrapperField(this, 2, value); +}; + +/** + * @param {!proto.bucketeer.tag.Tag=} opt_value + * @param {number=} opt_index + * @return {!proto.bucketeer.tag.Tag} + */ +proto.bucketeer.tag.EnvironmentTag.prototype.addTags = function ( + opt_value, + opt_index +) { + return jspb.Message.addToRepeatedWrapperField( + this, + 2, + opt_value, + proto.bucketeer.tag.Tag, + opt_index + ); +}; + +/** + * Clears the list making it empty but non-null. + * @return {!proto.bucketeer.tag.EnvironmentTag} returns this + */ +proto.bucketeer.tag.EnvironmentTag.prototype.clearTagsList = function () { + return this.setTagsList([]); +}; + goog.object.extend(exports, proto.bucketeer.tag);